From 659d97f1a66807d90911d491629949eaafd8b659 Mon Sep 17 00:00:00 2001 From: Paul Bergeron Date: Mon, 14 Nov 2016 21:44:31 -0800 Subject: [PATCH] Update to sqlite 3.15.1 and latest emscripten --- c/sqlite3.c | 11722 +++-- c/sqlite3.h | 747 +- c/sqlite3ext.h | 24 +- js/sql-debug.js | 97649 ++++++++++++++++++++------------------ js/sql-memory-growth.js | 619 +- js/sql.js | 619 +- js/worker.sql.js | 619 +- 7 files changed, 59551 insertions(+), 52448 deletions(-) diff --git a/c/sqlite3.c b/c/sqlite3.c index e1986789..4a87906e 100644 --- a/c/sqlite3.c +++ b/c/sqlite3.c @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.13.0. By combining all the individual C code files into this +** version 3.15.1. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -9,7 +9,7 @@ ** ** This file is all you need to compile SQLite. To use SQLite in other ** programs, you need this file and the "sqlite3.h" header file that defines -** the programming interface to the SQLite library. (If you do not have +** the programming interface to the SQLite library. (If you do not have ** the "sqlite3.h" header file at hand, you will find a copy embedded within ** the text of this file. Search for "Begin file sqlite3.h" to find the start ** of the embedded sqlite3.h header file.) Additional code files may be needed @@ -37,8 +37,8 @@ ** Internal interface definitions for SQLite. ** */ -#ifndef _SQLITEINT_H_ -#define _SQLITEINT_H_ +#ifndef SQLITEINT_H +#define SQLITEINT_H /* Special Comments: ** @@ -67,6 +67,14 @@ ** asterisks and the comment text. */ +/* +** Make sure the Tcl calling convention macro is defined. This macro is +** only used by test code and Tcl integration code. +*/ +#ifndef SQLITE_TCLAPI +# define SQLITE_TCLAPI +#endif + /* ** Make sure that rand_s() is available on Windows systems with MSVC 2005 ** or higher. @@ -97,8 +105,8 @@ ** ** This file contains code that is specific to MSVC. */ -#ifndef _MSVC_H_ -#define _MSVC_H_ +#ifndef SQLITE_MSVC_H +#define SQLITE_MSVC_H #if defined(_MSC_VER) #pragma warning(disable : 4054) @@ -118,7 +126,7 @@ #pragma warning(disable : 4706) #endif /* defined(_MSC_VER) */ -#endif /* _MSVC_H_ */ +#endif /* SQLITE_MSVC_H */ /************** End of msvc.h ************************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ @@ -282,8 +290,8 @@ ** the version number) and changes its name to "sqlite3.h" as ** part of the build process. */ -#ifndef _SQLITE3_H_ -#define _SQLITE3_H_ +#ifndef SQLITE3_H +#define SQLITE3_H #include /* Needed for the definition of va_list */ /* @@ -306,8 +314,17 @@ extern "C" { #ifndef SQLITE_CDECL # define SQLITE_CDECL #endif +#ifndef SQLITE_APICALL +# define SQLITE_APICALL +#endif #ifndef SQLITE_STDCALL -# define SQLITE_STDCALL +# define SQLITE_STDCALL SQLITE_APICALL +#endif +#ifndef SQLITE_CALLBACK +# define SQLITE_CALLBACK +#endif +#ifndef SQLITE_SYSAPI +# define SQLITE_SYSAPI #endif /* @@ -351,7 +368,8 @@ extern "C" { ** be held constant and Z will be incremented or else Y will be incremented ** and Z will be reset to zero. ** -** Since version 3.6.18, SQLite source code has been stored in the +** Since [version 3.6.18] ([dateof:3.6.18]), +** SQLite source code has been stored in the ** Fossil configuration management ** system. ^The SQLITE_SOURCE_ID macro evaluates to ** a string which identifies a particular check-in of SQLite @@ -363,9 +381,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.13.0" -#define SQLITE_VERSION_NUMBER 3013000 -#define SQLITE_SOURCE_ID "2016-05-18 10:57:30 fc49f556e48970561d7ab6a2f24fdd7d9eb81ff2" +#define SQLITE_VERSION "3.15.1" +#define SQLITE_VERSION_NUMBER 3015001 +#define SQLITE_SOURCE_ID "2016-11-04 12:08:49 1136863c76576110e710dd5d69ab6bf347c65e36" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -398,9 +416,9 @@ extern "C" { ** See also: [sqlite_version()] and [sqlite_source_id()]. */ SQLITE_API const char sqlite3_version[] = SQLITE_VERSION; -SQLITE_API const char *SQLITE_STDCALL sqlite3_libversion(void); -SQLITE_API const char *SQLITE_STDCALL sqlite3_sourceid(void); -SQLITE_API int SQLITE_STDCALL sqlite3_libversion_number(void); +SQLITE_API const char *sqlite3_libversion(void); +SQLITE_API const char *sqlite3_sourceid(void); +SQLITE_API int sqlite3_libversion_number(void); /* ** CAPI3REF: Run-Time Library Compilation Options Diagnostics @@ -425,8 +443,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_libversion_number(void); ** [sqlite_compileoption_get()] and the [compile_options pragma]. */ #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS -SQLITE_API int SQLITE_STDCALL sqlite3_compileoption_used(const char *zOptName); -SQLITE_API const char *SQLITE_STDCALL sqlite3_compileoption_get(int N); +SQLITE_API int sqlite3_compileoption_used(const char *zOptName); +SQLITE_API const char *sqlite3_compileoption_get(int N); #endif /* @@ -465,7 +483,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_compileoption_get(int N); ** ** See the [threading mode] documentation for additional information. */ -SQLITE_API int SQLITE_STDCALL sqlite3_threadsafe(void); +SQLITE_API int sqlite3_threadsafe(void); /* ** CAPI3REF: Database Connection Handle @@ -562,8 +580,8 @@ typedef sqlite_uint64 sqlite3_uint64; ** ^Calling sqlite3_close() or sqlite3_close_v2() with a NULL pointer ** argument is a harmless no-op. */ -SQLITE_API int SQLITE_STDCALL sqlite3_close(sqlite3*); -SQLITE_API int SQLITE_STDCALL sqlite3_close_v2(sqlite3*); +SQLITE_API int sqlite3_close(sqlite3*); +SQLITE_API int sqlite3_close_v2(sqlite3*); /* ** The type for a callback function. @@ -634,7 +652,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**); ** the 2nd parameter of sqlite3_exec() while sqlite3_exec() is running. ** */ -SQLITE_API int SQLITE_STDCALL sqlite3_exec( +SQLITE_API int sqlite3_exec( sqlite3*, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ @@ -695,7 +713,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_exec( ** [result codes]. However, experience has shown that many of ** these result codes are too coarse-grained. They do not provide as ** much information about problems as programmers might like. In an effort to -** address this, newer versions of SQLite (version 3.3.8 and later) include +** address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8] +** and later) include ** support for additional result codes that provide more detailed information ** about errors. These [extended result codes] are enabled or disabled ** on a per database connection basis using the @@ -758,6 +777,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_exec( #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) #define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) #define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) +#define SQLITE_OK_LOAD_PERMANENTLY (SQLITE_OK | (1<<8)) /* ** CAPI3REF: Flags For File Open Operations @@ -1218,6 +1238,12 @@ struct sqlite3_io_methods { ** on whether or not the file has been renamed, moved, or deleted since it ** was first opened. ** +**
  • [[SQLITE_FCNTL_WIN32_GET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_GET_HANDLE] opcode can be used to obtain the +** underlying native file handle associated with a file handle. This file +** control interprets its argument as a pointer to a native file handle and +** writes the resulting value there. +** **
  • [[SQLITE_FCNTL_WIN32_SET_HANDLE]] ** The [SQLITE_FCNTL_WIN32_SET_HANDLE] opcode is used for debugging. This ** opcode causes the xFileControl method to swap the file handle with the one @@ -1268,6 +1294,7 @@ struct sqlite3_io_methods { #define SQLITE_FCNTL_RBU 26 #define SQLITE_FCNTL_VFS_POINTER 27 #define SQLITE_FCNTL_JOURNAL_POINTER 28 +#define SQLITE_FCNTL_WIN32_GET_HANDLE 29 /* deprecated names */ #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE @@ -1287,6 +1314,16 @@ struct sqlite3_io_methods { */ typedef struct sqlite3_mutex sqlite3_mutex; +/* +** CAPI3REF: Loadable Extension Thunk +** +** A pointer to the opaque sqlite3_api_routines structure is passed as +** the third parameter to entry points of [loadable extensions]. This +** structure must be typedefed in order to work around compiler warnings +** on some platforms. +*/ +typedef struct sqlite3_api_routines sqlite3_api_routines; + /* ** CAPI3REF: OS Interface Object ** @@ -1622,10 +1659,10 @@ struct sqlite3_vfs { ** must return [SQLITE_OK] on success and some other [error code] upon ** failure. */ -SQLITE_API int SQLITE_STDCALL sqlite3_initialize(void); -SQLITE_API int SQLITE_STDCALL sqlite3_shutdown(void); -SQLITE_API int SQLITE_STDCALL sqlite3_os_init(void); -SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void); +SQLITE_API int sqlite3_initialize(void); +SQLITE_API int sqlite3_shutdown(void); +SQLITE_API int sqlite3_os_init(void); +SQLITE_API int sqlite3_os_end(void); /* ** CAPI3REF: Configuring The SQLite Library @@ -1658,7 +1695,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void); ** ^If the option is unknown or SQLite is unable to set the option ** then this routine returns a non-zero [error code]. */ -SQLITE_API int SQLITE_CDECL sqlite3_config(int, ...); +SQLITE_API int sqlite3_config(int, ...); /* ** CAPI3REF: Configure database connections @@ -1677,7 +1714,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_config(int, ...); ** ^Calls to sqlite3_db_config() return SQLITE_OK if and only if ** the call is considered successful. */ -SQLITE_API int SQLITE_CDECL sqlite3_db_config(sqlite3*, int op, ...); +SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...); /* ** CAPI3REF: Memory Allocation Routines @@ -2191,7 +2228,7 @@ struct sqlite3_mem_methods { ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. ** There should be two additional arguments. ** When the first argument to this interface is 1, then only the C-API is -** enabled and the SQL function remains disabled. If the first argment to +** enabled and the SQL function remains disabled. If the first argument to ** this interface is 0, then both the C-API and the SQL function are disabled. ** If the first argument is -1, then no changes are made to state of either the ** C-API or the SQL function. @@ -2201,8 +2238,18 @@ struct sqlite3_mem_methods { ** be a NULL pointer, in which case the new setting is not reported back. ** ** +**
    SQLITE_DBCONFIG_MAINDBNAME
    +**
    ^This option is used to change the name of the "main" database +** schema. ^The sole argument is a pointer to a constant UTF8 string +** which will become the new schema name in place of "main". ^SQLite +** does not make a copy of the new main schema name string, so the application +** must ensure that the argument passed into this DBCONFIG option is unchanged +** until after the database connection closes. +**
    +** ** */ +#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ #define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ @@ -2218,7 +2265,7 @@ struct sqlite3_mem_methods { ** [extended result codes] feature of SQLite. ^The extended result ** codes are disabled by default for historical compatibility. */ -SQLITE_API int SQLITE_STDCALL sqlite3_extended_result_codes(sqlite3*, int onoff); +SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); /* ** CAPI3REF: Last Insert Rowid @@ -2270,7 +2317,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_extended_result_codes(sqlite3*, int onoff) ** unpredictable and might not equal either the old or the new ** last insert [rowid]. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_last_insert_rowid(sqlite3*); +SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*); /* ** CAPI3REF: Count The Number Of Rows Modified @@ -2323,7 +2370,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_last_insert_rowid(sqlite3*); ** while [sqlite3_changes()] is running then the value returned ** is unpredictable and not meaningful. */ -SQLITE_API int SQLITE_STDCALL sqlite3_changes(sqlite3*); +SQLITE_API int sqlite3_changes(sqlite3*); /* ** CAPI3REF: Total Number Of Rows Modified @@ -2347,7 +2394,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_changes(sqlite3*); ** while [sqlite3_total_changes()] is running then the value ** returned is unpredictable and not meaningful. */ -SQLITE_API int SQLITE_STDCALL sqlite3_total_changes(sqlite3*); +SQLITE_API int sqlite3_total_changes(sqlite3*); /* ** CAPI3REF: Interrupt A Long-Running Query @@ -2387,7 +2434,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_total_changes(sqlite3*); ** If the database connection closes while [sqlite3_interrupt()] ** is running then bad things will likely happen. */ -SQLITE_API void SQLITE_STDCALL sqlite3_interrupt(sqlite3*); +SQLITE_API void sqlite3_interrupt(sqlite3*); /* ** CAPI3REF: Determine If An SQL Statement Is Complete @@ -2422,8 +2469,8 @@ SQLITE_API void SQLITE_STDCALL sqlite3_interrupt(sqlite3*); ** The input to [sqlite3_complete16()] must be a zero-terminated ** UTF-16 string in native byte order. */ -SQLITE_API int SQLITE_STDCALL sqlite3_complete(const char *sql); -SQLITE_API int SQLITE_STDCALL sqlite3_complete16(const void *sql); +SQLITE_API int sqlite3_complete(const char *sql); +SQLITE_API int sqlite3_complete16(const void *sql); /* ** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors @@ -2484,7 +2531,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_complete16(const void *sql); ** A busy handler must not close the database connection ** or [prepared statement] that invoked the busy handler. */ -SQLITE_API int SQLITE_STDCALL sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*); +SQLITE_API int sqlite3_busy_handler(sqlite3*,int(*)(void*,int),void*); /* ** CAPI3REF: Set A Busy Timeout @@ -2507,7 +2554,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_busy_handler(sqlite3*, int(*)(void*,int), ** ** See also: [PRAGMA busy_timeout] */ -SQLITE_API int SQLITE_STDCALL sqlite3_busy_timeout(sqlite3*, int ms); +SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms); /* ** CAPI3REF: Convenience Routines For Running Queries @@ -2582,7 +2629,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_busy_timeout(sqlite3*, int ms); ** reflected in subsequent calls to [sqlite3_errcode()] or ** [sqlite3_errmsg()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_get_table( +SQLITE_API int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ @@ -2590,7 +2637,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_table( int *pnColumn, /* Number of result columns written here */ char **pzErrmsg /* Error msg written here */ ); -SQLITE_API void SQLITE_STDCALL sqlite3_free_table(char **result); +SQLITE_API void sqlite3_free_table(char **result); /* ** CAPI3REF: Formatted String Printing Functions @@ -2696,10 +2743,10 @@ SQLITE_API void SQLITE_STDCALL sqlite3_free_table(char **result); ** addition that after the string has been read and copied into ** the result, [sqlite3_free()] is called on the input string.)^ */ -SQLITE_API char *SQLITE_CDECL sqlite3_mprintf(const char*,...); -SQLITE_API char *SQLITE_STDCALL sqlite3_vmprintf(const char*, va_list); -SQLITE_API char *SQLITE_CDECL sqlite3_snprintf(int,char*,const char*, ...); -SQLITE_API char *SQLITE_STDCALL sqlite3_vsnprintf(int,char*,const char*, va_list); +SQLITE_API char *sqlite3_mprintf(const char*,...); +SQLITE_API char *sqlite3_vmprintf(const char*, va_list); +SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...); +SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); /* ** CAPI3REF: Memory Allocation Subsystem @@ -2789,12 +2836,12 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_vsnprintf(int,char*,const char*, va_list ** a block of memory after it has been released using ** [sqlite3_free()] or [sqlite3_realloc()]. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_malloc(int); -SQLITE_API void *SQLITE_STDCALL sqlite3_malloc64(sqlite3_uint64); -SQLITE_API void *SQLITE_STDCALL sqlite3_realloc(void*, int); -SQLITE_API void *SQLITE_STDCALL sqlite3_realloc64(void*, sqlite3_uint64); -SQLITE_API void SQLITE_STDCALL sqlite3_free(void*); -SQLITE_API sqlite3_uint64 SQLITE_STDCALL sqlite3_msize(void*); +SQLITE_API void *sqlite3_malloc(int); +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64); +SQLITE_API void *sqlite3_realloc(void*, int); +SQLITE_API void *sqlite3_realloc64(void*, sqlite3_uint64); +SQLITE_API void sqlite3_free(void*); +SQLITE_API sqlite3_uint64 sqlite3_msize(void*); /* ** CAPI3REF: Memory Allocator Statistics @@ -2819,8 +2866,8 @@ SQLITE_API sqlite3_uint64 SQLITE_STDCALL sqlite3_msize(void*); ** by [sqlite3_memory_highwater(1)] is the high-water mark ** prior to the reset. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_used(void); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_highwater(int resetFlag); +SQLITE_API sqlite3_int64 sqlite3_memory_used(void); +SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag); /* ** CAPI3REF: Pseudo-Random Number Generator @@ -2843,7 +2890,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_highwater(int resetFlag); ** internally and without recourse to the [sqlite3_vfs] xRandomness ** method. */ -SQLITE_API void SQLITE_STDCALL sqlite3_randomness(int N, void *P); +SQLITE_API void sqlite3_randomness(int N, void *P); /* ** CAPI3REF: Compile-Time Authorization Callbacks @@ -2926,7 +2973,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_randomness(int N, void *P); ** as stated in the previous paragraph, sqlite3_step() invokes ** sqlite3_prepare_v2() to reprepare a statement after a schema change. */ -SQLITE_API int SQLITE_STDCALL sqlite3_set_authorizer( +SQLITE_API int sqlite3_set_authorizer( sqlite3*, int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), void *pUserData @@ -3006,6 +3053,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_set_authorizer( ** CAPI3REF: Tracing And Profiling Functions ** METHOD: sqlite3 ** +** These routines are deprecated. Use the [sqlite3_trace_v2()] interface +** instead of the routines described here. +** ** These routines register callback functions that can be used for ** tracing and profiling the execution of SQL statements. ** @@ -3031,10 +3081,104 @@ SQLITE_API int SQLITE_STDCALL sqlite3_set_authorizer( ** sqlite3_profile() function is considered experimental and is ** subject to change in future versions of SQLite. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); -SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_profile(sqlite3*, +SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*, + void(*xTrace)(void*,const char*), void*); +SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*, void(*xProfile)(void*,const char*,sqlite3_uint64), void*); +/* +** CAPI3REF: SQL Trace Event Codes +** KEYWORDS: SQLITE_TRACE +** +** These constants identify classes of events that can be monitored +** using the [sqlite3_trace_v2()] tracing logic. The third argument +** to [sqlite3_trace_v2()] is an OR-ed combination of one or more of +** the following constants. ^The first argument to the trace callback +** is one of the following constants. +** +** New tracing constants may be added in future releases. +** +** ^A trace callback has four arguments: xCallback(T,C,P,X). +** ^The T argument is one of the integer type codes above. +** ^The C argument is a copy of the context pointer passed in as the +** fourth argument to [sqlite3_trace_v2()]. +** The P and X arguments are pointers whose meanings depend on T. +** +**
    +** [[SQLITE_TRACE_STMT]]
    SQLITE_TRACE_STMT
    +**
    ^An SQLITE_TRACE_STMT callback is invoked when a prepared statement +** first begins running and possibly at other times during the +** execution of the prepared statement, such as at the start of each +** trigger subprogram. ^The P argument is a pointer to the +** [prepared statement]. ^The X argument is a pointer to a string which +** is the unexpanded SQL text of the prepared statement or an SQL comment +** that indicates the invocation of a trigger. ^The callback can compute +** the same text that would have been returned by the legacy [sqlite3_trace()] +** interface by using the X argument when X begins with "--" and invoking +** [sqlite3_expanded_sql(P)] otherwise. +** +** [[SQLITE_TRACE_PROFILE]]
    SQLITE_TRACE_PROFILE
    +**
    ^An SQLITE_TRACE_PROFILE callback provides approximately the same +** information as is provided by the [sqlite3_profile()] callback. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument points to a 64-bit integer which is the estimated of +** the number of nanosecond that the prepared statement took to run. +** ^The SQLITE_TRACE_PROFILE callback is invoked when the statement finishes. +** +** [[SQLITE_TRACE_ROW]]
    SQLITE_TRACE_ROW
    +**
    ^An SQLITE_TRACE_ROW callback is invoked whenever a prepared +** statement generates a single row of result. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument is unused. +** +** [[SQLITE_TRACE_CLOSE]]
    SQLITE_TRACE_CLOSE
    +**
    ^An SQLITE_TRACE_CLOSE callback is invoked when a database +** connection closes. +** ^The P argument is a pointer to the [database connection] object +** and the X argument is unused. +**
    +*/ +#define SQLITE_TRACE_STMT 0x01 +#define SQLITE_TRACE_PROFILE 0x02 +#define SQLITE_TRACE_ROW 0x04 +#define SQLITE_TRACE_CLOSE 0x08 + +/* +** CAPI3REF: SQL Trace Hook +** METHOD: sqlite3 +** +** ^The sqlite3_trace_v2(D,M,X,P) interface registers a trace callback +** function X against [database connection] D, using property mask M +** and context pointer P. ^If the X callback is +** NULL or if the M mask is zero, then tracing is disabled. The +** M argument should be the bitwise OR-ed combination of +** zero or more [SQLITE_TRACE] constants. +** +** ^Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides +** (cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2(). +** +** ^The X callback is invoked whenever any of the events identified by +** mask M occur. ^The integer return value from the callback is currently +** ignored, though this may change in future releases. Callback +** implementations should return zero to ensure future compatibility. +** +** ^A trace callback is invoked with four arguments: callback(T,C,P,X). +** ^The T argument is one of the [SQLITE_TRACE] +** constants to indicate why the callback was invoked. +** ^The C argument is a copy of the context pointer. +** The P and X arguments are pointers whose meanings depend on T. +** +** The sqlite3_trace_v2() interface is intended to replace the legacy +** interfaces [sqlite3_trace()] and [sqlite3_profile()], both of which +** are deprecated. +*/ +SQLITE_API int sqlite3_trace_v2( + sqlite3*, + unsigned uMask, + int(*xCallback)(unsigned,void*,void*,void*), + void *pCtx +); + /* ** CAPI3REF: Query Progress Callbacks ** METHOD: sqlite3 @@ -3067,7 +3211,7 @@ SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_profile(sqlite3*, ** database connections for the meaning of "modify" in this paragraph. ** */ -SQLITE_API void SQLITE_STDCALL sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); +SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); /* ** CAPI3REF: Opening A New Database Connection @@ -3296,15 +3440,15 @@ SQLITE_API void SQLITE_STDCALL sqlite3_progress_handler(sqlite3*, int, int(*)(vo ** ** See also: [sqlite3_temp_directory] */ -SQLITE_API int SQLITE_STDCALL sqlite3_open( +SQLITE_API int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_open16( +SQLITE_API int sqlite3_open16( const void *filename, /* Database filename (UTF-16) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_open_v2( +SQLITE_API int sqlite3_open_v2( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb, /* OUT: SQLite db handle */ int flags, /* Flags */ @@ -3350,9 +3494,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_open_v2( ** VFS method, then the behavior of this routine is undefined and probably ** undesirable. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_uri_parameter(const char *zFilename, const char *zParam); -SQLITE_API int SQLITE_STDCALL sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_uri_int64(const char*, const char*, sqlite3_int64); +SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam); +SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); +SQLITE_API sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int64); /* @@ -3396,11 +3540,11 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_uri_int64(const char*, const cha ** was invoked incorrectly by the application. In that case, the ** error code and message may or may not be set. */ -SQLITE_API int SQLITE_STDCALL sqlite3_errcode(sqlite3 *db); -SQLITE_API int SQLITE_STDCALL sqlite3_extended_errcode(sqlite3 *db); -SQLITE_API const char *SQLITE_STDCALL sqlite3_errmsg(sqlite3*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_errmsg16(sqlite3*); -SQLITE_API const char *SQLITE_STDCALL sqlite3_errstr(int); +SQLITE_API int sqlite3_errcode(sqlite3 *db); +SQLITE_API int sqlite3_extended_errcode(sqlite3 *db); +SQLITE_API const char *sqlite3_errmsg(sqlite3*); +SQLITE_API const void *sqlite3_errmsg16(sqlite3*); +SQLITE_API const char *sqlite3_errstr(int); /* ** CAPI3REF: Prepared Statement Object @@ -3468,7 +3612,7 @@ typedef struct sqlite3_stmt sqlite3_stmt; ** ** New run-time limit categories may be added in future releases. */ -SQLITE_API int SQLITE_STDCALL sqlite3_limit(sqlite3*, int id, int newVal); +SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); /* ** CAPI3REF: Run-Time Limit Categories @@ -3620,28 +3764,28 @@ SQLITE_API int SQLITE_STDCALL sqlite3_limit(sqlite3*, int id, int newVal); **
  • ** */ -SQLITE_API int SQLITE_STDCALL sqlite3_prepare( +SQLITE_API int sqlite3_prepare( sqlite3 *db, /* Database handle */ const char *zSql, /* SQL statement, UTF-8 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const char **pzTail /* OUT: Pointer to unused portion of zSql */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_prepare_v2( +SQLITE_API int sqlite3_prepare_v2( sqlite3 *db, /* Database handle */ const char *zSql, /* SQL statement, UTF-8 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const char **pzTail /* OUT: Pointer to unused portion of zSql */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_prepare16( +SQLITE_API int sqlite3_prepare16( sqlite3 *db, /* Database handle */ const void *zSql, /* SQL statement, UTF-16 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const void **pzTail /* OUT: Pointer to unused portion of zSql */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_prepare16_v2( +SQLITE_API int sqlite3_prepare16_v2( sqlite3 *db, /* Database handle */ const void *zSql, /* SQL statement, UTF-16 encoded */ int nByte, /* Maximum length of zSql in bytes. */ @@ -3653,11 +3797,35 @@ SQLITE_API int SQLITE_STDCALL sqlite3_prepare16_v2( ** CAPI3REF: Retrieving Statement SQL ** METHOD: sqlite3_stmt ** -** ^This interface can be used to retrieve a saved copy of the original -** SQL text used to create a [prepared statement] if that statement was -** compiled using either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()]. +** ^The sqlite3_sql(P) interface returns a pointer to a copy of the UTF-8 +** SQL text used to create [prepared statement] P if P was +** created by either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()]. +** ^The sqlite3_expanded_sql(P) interface returns a pointer to a UTF-8 +** string containing the SQL text of prepared statement P with +** [bound parameters] expanded. +** +** ^(For example, if a prepared statement is created using the SQL +** text "SELECT $abc,:xyz" and if parameter $abc is bound to integer 2345 +** and parameter :xyz is unbound, then sqlite3_sql() will return +** the original string, "SELECT $abc,:xyz" but sqlite3_expanded_sql() +** will return "SELECT 2345,NULL".)^ +** +** ^The sqlite3_expanded_sql() interface returns NULL if insufficient memory +** is available to hold the result, or if the result would exceed the +** the maximum string length determined by the [SQLITE_LIMIT_LENGTH]. +** +** ^The [SQLITE_TRACE_SIZE_LIMIT] compile-time option limits the size of +** bound parameter expansions. ^The [SQLITE_OMIT_TRACE] compile-time +** option causes sqlite3_expanded_sql() to always return NULL. +** +** ^The string returned by sqlite3_sql(P) is managed by SQLite and is +** automatically freed when the prepared statement is finalized. +** ^The string returned by sqlite3_expanded_sql(P), on the other hand, +** is obtained from [sqlite3_malloc()] and must be free by the application +** by passing it to [sqlite3_free()]. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_sql(sqlite3_stmt *pStmt); +SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); +SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); /* ** CAPI3REF: Determine If An SQL Statement Writes The Database @@ -3689,7 +3857,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_sql(sqlite3_stmt *pStmt); ** change the configuration of a database connection, they do not make ** changes to the content of the database files on disk. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_readonly(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); /* ** CAPI3REF: Determine If A Prepared Statement Has Been Reset @@ -3710,7 +3878,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_stmt_readonly(sqlite3_stmt *pStmt); ** for example, in diagnostic routines to search for prepared ** statements that are holding a transaction open. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_busy(sqlite3_stmt*); +SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*); /* ** CAPI3REF: Dynamically Typed Value Object @@ -3874,20 +4042,20 @@ typedef struct sqlite3_context sqlite3_context; ** See also: [sqlite3_bind_parameter_count()], ** [sqlite3_bind_parameter_name()], and [sqlite3_bind_parameter_index()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, +SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_double(sqlite3_stmt*, int, double); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_int(sqlite3_stmt*, int, int); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_null(sqlite3_stmt*, int); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, +SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double); +SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int); +SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); +SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int); +SQLITE_API int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); +SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); +SQLITE_API int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, void(*)(void*), unsigned char encoding); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64); +SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); +SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); +SQLITE_API int sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64); /* ** CAPI3REF: Number Of SQL Parameters @@ -3908,7 +4076,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite ** [sqlite3_bind_parameter_name()], and ** [sqlite3_bind_parameter_index()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_count(sqlite3_stmt*); +SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*); /* ** CAPI3REF: Name Of A Host Parameter @@ -3936,7 +4104,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_count(sqlite3_stmt*); ** [sqlite3_bind_parameter_count()], and ** [sqlite3_bind_parameter_index()]. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_bind_parameter_name(sqlite3_stmt*, int); +SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); /* ** CAPI3REF: Index Of A Parameter With A Given Name @@ -3953,7 +4121,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_bind_parameter_name(sqlite3_stmt*, ** [sqlite3_bind_parameter_count()], and ** [sqlite3_bind_parameter_name()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); +SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); /* ** CAPI3REF: Reset All Bindings On A Prepared Statement @@ -3963,7 +4131,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_index(sqlite3_stmt*, const ** the [sqlite3_bind_blob | bindings] on a [prepared statement]. ** ^Use this routine to reset all host parameters to NULL. */ -SQLITE_API int SQLITE_STDCALL sqlite3_clear_bindings(sqlite3_stmt*); +SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*); /* ** CAPI3REF: Number Of Columns In A Result Set @@ -3975,7 +4143,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_clear_bindings(sqlite3_stmt*); ** ** See also: [sqlite3_data_count()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_column_count(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt); /* ** CAPI3REF: Column Names In A Result Set @@ -4004,8 +4172,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_column_count(sqlite3_stmt *pStmt); ** then the name of the column is unspecified and may change from ** one release of SQLite to the next. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_name(sqlite3_stmt*, int N); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_name16(sqlite3_stmt*, int N); +SQLITE_API const char *sqlite3_column_name(sqlite3_stmt*, int N); +SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N); /* ** CAPI3REF: Source Of Data In A Query Result @@ -4053,12 +4221,12 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_name16(sqlite3_stmt*, int N ** for the same [prepared statement] and result column ** at the same time then the results are undefined. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_database_name(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_database_name16(sqlite3_stmt*,int); -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_table_name(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_table_name16(sqlite3_stmt*,int); -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_origin_name(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_origin_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt*,int); /* ** CAPI3REF: Declared Datatype Of A Query Result @@ -4090,8 +4258,8 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_origin_name16(sqlite3_stmt* ** is associated with individual values, not with the containers ** used to hold those values. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_decltype(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); /* ** CAPI3REF: Evaluate An SQL Statement @@ -4152,7 +4320,8 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt*,in ** other than [SQLITE_ROW] before any subsequent invocation of ** sqlite3_step(). Failure to reset the prepared statement using ** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from -** sqlite3_step(). But after version 3.6.23.1, sqlite3_step() began +** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1], +** sqlite3_step() began ** calling [sqlite3_reset()] automatically in this circumstance rather ** than returning [SQLITE_MISUSE]. This is not considered a compatibility ** break because any application that ever receives an SQLITE_MISUSE error @@ -4171,7 +4340,7 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt*,in ** then the more specific [error codes] are returned directly ** by sqlite3_step(). The use of the "v2" interface is recommended. */ -SQLITE_API int SQLITE_STDCALL sqlite3_step(sqlite3_stmt*); +SQLITE_API int sqlite3_step(sqlite3_stmt*); /* ** CAPI3REF: Number of columns in a result set @@ -4192,7 +4361,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_step(sqlite3_stmt*); ** ** See also: [sqlite3_column_count()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_data_count(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); /* ** CAPI3REF: Fundamental Datatypes @@ -4382,16 +4551,16 @@ SQLITE_API int SQLITE_STDCALL sqlite3_data_count(sqlite3_stmt *pStmt); ** pointer. Subsequent calls to [sqlite3_errcode()] will return ** [SQLITE_NOMEM].)^ */ -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_blob(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_bytes(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_bytes16(sqlite3_stmt*, int iCol); -SQLITE_API double SQLITE_STDCALL sqlite3_column_double(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_int(sqlite3_stmt*, int iCol); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_column_int64(sqlite3_stmt*, int iCol); -SQLITE_API const unsigned char *SQLITE_STDCALL sqlite3_column_text(sqlite3_stmt*, int iCol); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_text16(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_type(sqlite3_stmt*, int iCol); -SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_column_value(sqlite3_stmt*, int iCol); +SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes16(sqlite3_stmt*, int iCol); +SQLITE_API double sqlite3_column_double(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_int(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); +SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); +SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol); /* ** CAPI3REF: Destroy A Prepared Statement Object @@ -4419,7 +4588,7 @@ SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_column_value(sqlite3_stmt*, int ** statement after it has been finalized can result in undefined and ** undesirable behavior such as segfaults and heap corruption. */ -SQLITE_API int SQLITE_STDCALL sqlite3_finalize(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt); /* ** CAPI3REF: Reset A Prepared Statement Object @@ -4446,7 +4615,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_finalize(sqlite3_stmt *pStmt); ** ^The [sqlite3_reset(S)] interface does not change the values ** of any [sqlite3_bind_blob|bindings] on the [prepared statement] S. */ -SQLITE_API int SQLITE_STDCALL sqlite3_reset(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); /* ** CAPI3REF: Create Or Redefine SQL Functions @@ -4546,7 +4715,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_reset(sqlite3_stmt *pStmt); ** close the database connection nor finalize or reset the prepared ** statement in which the function is running. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_function( +SQLITE_API int sqlite3_create_function( sqlite3 *db, const char *zFunctionName, int nArg, @@ -4556,7 +4725,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function( void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( +SQLITE_API int sqlite3_create_function16( sqlite3 *db, const void *zFunctionName, int nArg, @@ -4566,7 +4735,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( +SQLITE_API int sqlite3_create_function_v2( sqlite3 *db, const char *zFunctionName, int nArg, @@ -4612,12 +4781,12 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( ** these functions, we will not explain what they do. */ #ifndef SQLITE_OMIT_DEPRECATED -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_aggregate_count(sqlite3_context*); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_expired(sqlite3_stmt*); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_global_recover(void); -SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_thread_cleanup(void); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int), +SQLITE_API SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_global_recover(void); +SQLITE_API SQLITE_DEPRECATED void sqlite3_thread_cleanup(void); +SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int), void*,sqlite3_int64); #endif @@ -4667,18 +4836,18 @@ SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_memory_alarm(void(*)(voi ** These routines must be called from the same thread as ** the SQL function that supplied the [sqlite3_value*] parameters. */ -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_blob(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_bytes(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_bytes16(sqlite3_value*); -SQLITE_API double SQLITE_STDCALL sqlite3_value_double(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_int(sqlite3_value*); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_value_int64(sqlite3_value*); -SQLITE_API const unsigned char *SQLITE_STDCALL sqlite3_value_text(sqlite3_value*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16(sqlite3_value*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16le(sqlite3_value*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16be(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_type(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_numeric_type(sqlite3_value*); +SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); +SQLITE_API double sqlite3_value_double(sqlite3_value*); +SQLITE_API int sqlite3_value_int(sqlite3_value*); +SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*); +SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*); +SQLITE_API int sqlite3_value_type(sqlite3_value*); +SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); /* ** CAPI3REF: Finding The Subtype Of SQL Values @@ -4694,7 +4863,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_value_numeric_type(sqlite3_value*); ** from the result of one [application-defined SQL function] into the ** input of another. */ -SQLITE_API unsigned int SQLITE_STDCALL sqlite3_value_subtype(sqlite3_value*); +SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*); /* ** CAPI3REF: Copy And Free SQL Values @@ -4710,8 +4879,8 @@ SQLITE_API unsigned int SQLITE_STDCALL sqlite3_value_subtype(sqlite3_value*); ** previously obtained from [sqlite3_value_dup()]. ^If V is a NULL pointer ** then sqlite3_value_free(V) is a harmless no-op. */ -SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_value_dup(const sqlite3_value*); -SQLITE_API void SQLITE_STDCALL sqlite3_value_free(sqlite3_value*); +SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value*); +SQLITE_API void sqlite3_value_free(sqlite3_value*); /* ** CAPI3REF: Obtain Aggregate Function Context @@ -4756,7 +4925,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_value_free(sqlite3_value*); ** This routine must be called from the same thread in which ** the aggregate SQL function is running. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_aggregate_context(sqlite3_context*, int nBytes); +SQLITE_API void *sqlite3_aggregate_context(sqlite3_context*, int nBytes); /* ** CAPI3REF: User Data For Functions @@ -4771,7 +4940,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_aggregate_context(sqlite3_context*, int ** This routine must be called from the same thread in which ** the application-defined function is running. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_user_data(sqlite3_context*); +SQLITE_API void *sqlite3_user_data(sqlite3_context*); /* ** CAPI3REF: Database Connection For Functions @@ -4783,7 +4952,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_user_data(sqlite3_context*); ** and [sqlite3_create_function16()] routines that originally ** registered the application defined function. */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_context_db_handle(sqlite3_context*); +SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); /* ** CAPI3REF: Function Auxiliary Data @@ -4815,12 +4984,13 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_context_db_handle(sqlite3_context*); ** SQLite will invoke the destructor function X with parameter P exactly ** once, when the metadata is discarded. ** SQLite is free to discard the metadata at any time, including: )^ +**
  • ^(when the corresponding function parameter changes)^, or +**
  • ^(when [sqlite3_reset()] or [sqlite3_finalize()] is called for the +** SQL statement)^, or +**
  • ^(when sqlite3_set_auxdata() is invoked again on the same +** parameter)^, or +**
  • ^(during the original sqlite3_set_auxdata() call when a memory +** allocation error occurs.)^ ** ** Note the last bullet in particular. The destructor X in ** sqlite3_set_auxdata(C,N,P,X) might be called immediately, before the @@ -4836,8 +5006,8 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_context_db_handle(sqlite3_context*); ** These routines must be called from the same thread in which ** the SQL function is running. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_get_auxdata(sqlite3_context*, int N); -SQLITE_API void SQLITE_STDCALL sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*)); +SQLITE_API void *sqlite3_get_auxdata(sqlite3_context*, int N); +SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*)); /* @@ -4973,27 +5143,27 @@ typedef void (*sqlite3_destructor_type)(void*); ** than the one containing the application-defined function that received ** the [sqlite3_context] pointer, the results are undefined. */ -SQLITE_API void SQLITE_STDCALL sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_blob64(sqlite3_context*,const void*, +SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_blob64(sqlite3_context*,const void*, sqlite3_uint64,void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_double(sqlite3_context*, double); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error(sqlite3_context*, const char*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error16(sqlite3_context*, const void*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_toobig(sqlite3_context*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_nomem(sqlite3_context*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_code(sqlite3_context*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_int(sqlite3_context*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_int64(sqlite3_context*, sqlite3_int64); -SQLITE_API void SQLITE_STDCALL sqlite3_result_null(sqlite3_context*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, +SQLITE_API void sqlite3_result_double(sqlite3_context*, double); +SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int); +SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int); +SQLITE_API void sqlite3_result_error_toobig(sqlite3_context*); +SQLITE_API void sqlite3_result_error_nomem(sqlite3_context*); +SQLITE_API void sqlite3_result_error_code(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); +SQLITE_API void sqlite3_result_null(sqlite3_context*); +SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, void(*)(void*), unsigned char encoding); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_value(sqlite3_context*, sqlite3_value*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_zeroblob(sqlite3_context*, int n); -SQLITE_API int SQLITE_STDCALL sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n); +SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_value(sqlite3_context*, sqlite3_value*); +SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n); +SQLITE_API int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n); /* @@ -5008,7 +5178,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_result_zeroblob64(sqlite3_context*, sqlite ** The number of subtype bytes preserved by SQLite might increase ** in future releases of SQLite. */ -SQLITE_API void SQLITE_STDCALL sqlite3_result_subtype(sqlite3_context*,unsigned int); +SQLITE_API void sqlite3_result_subtype(sqlite3_context*,unsigned int); /* ** CAPI3REF: Define New Collating Sequences @@ -5090,14 +5260,14 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_subtype(sqlite3_context*,unsigned ** ** See also: [sqlite3_collation_needed()] and [sqlite3_collation_needed16()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation( +SQLITE_API int sqlite3_create_collation( sqlite3*, const char *zName, int eTextRep, void *pArg, int(*xCompare)(void*,int,const void*,int,const void*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation_v2( +SQLITE_API int sqlite3_create_collation_v2( sqlite3*, const char *zName, int eTextRep, @@ -5105,7 +5275,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_collation_v2( int(*xCompare)(void*,int,const void*,int,const void*), void(*xDestroy)(void*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation16( +SQLITE_API int sqlite3_create_collation16( sqlite3*, const void *zName, int eTextRep, @@ -5140,12 +5310,12 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_collation16( ** [sqlite3_create_collation()], [sqlite3_create_collation16()], or ** [sqlite3_create_collation_v2()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed( +SQLITE_API int sqlite3_collation_needed( sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const char*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed16( +SQLITE_API int sqlite3_collation_needed16( sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const void*) @@ -5159,11 +5329,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed16( ** The code to implement this API is not available in the public release ** of SQLite. */ -SQLITE_API int SQLITE_STDCALL sqlite3_key( +SQLITE_API int sqlite3_key( sqlite3 *db, /* Database to be rekeyed */ const void *pKey, int nKey /* The key */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_key_v2( +SQLITE_API int sqlite3_key_v2( sqlite3 *db, /* Database to be rekeyed */ const char *zDbName, /* Name of the database */ const void *pKey, int nKey /* The key */ @@ -5177,11 +5347,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_key_v2( ** The code to implement this API is not available in the public release ** of SQLite. */ -SQLITE_API int SQLITE_STDCALL sqlite3_rekey( +SQLITE_API int sqlite3_rekey( sqlite3 *db, /* Database to be rekeyed */ const void *pKey, int nKey /* The new key */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_rekey_v2( +SQLITE_API int sqlite3_rekey_v2( sqlite3 *db, /* Database to be rekeyed */ const char *zDbName, /* Name of the database */ const void *pKey, int nKey /* The new key */ @@ -5191,7 +5361,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_rekey_v2( ** Specify the activation key for a SEE database. Unless ** activated, none of the SEE routines will work. */ -SQLITE_API void SQLITE_STDCALL sqlite3_activate_see( +SQLITE_API void sqlite3_activate_see( const char *zPassPhrase /* Activation phrase */ ); #endif @@ -5201,7 +5371,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_activate_see( ** Specify the activation key for a CEROD database. Unless ** activated, none of the CEROD routines will work. */ -SQLITE_API void SQLITE_STDCALL sqlite3_activate_cerod( +SQLITE_API void sqlite3_activate_cerod( const char *zPassPhrase /* Activation phrase */ ); #endif @@ -5223,7 +5393,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_activate_cerod( ** all, then the behavior of sqlite3_sleep() may deviate from the description ** in the previous paragraphs. */ -SQLITE_API int SQLITE_STDCALL sqlite3_sleep(int); +SQLITE_API int sqlite3_sleep(int); /* ** CAPI3REF: Name Of The Folder Holding Temporary Files @@ -5342,7 +5512,7 @@ SQLITE_API char *sqlite3_data_directory; ** connection while this routine is running, then the return value ** is undefined. */ -SQLITE_API int SQLITE_STDCALL sqlite3_get_autocommit(sqlite3*); +SQLITE_API int sqlite3_get_autocommit(sqlite3*); /* ** CAPI3REF: Find The Database Handle Of A Prepared Statement @@ -5355,7 +5525,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_autocommit(sqlite3*); ** to the [sqlite3_prepare_v2()] call (or its variants) that was used to ** create the statement in the first place. */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_db_handle(sqlite3_stmt*); +SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); /* ** CAPI3REF: Return The Filename For A Database Connection @@ -5372,7 +5542,7 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_db_handle(sqlite3_stmt*); ** will be an absolute pathname, even if the filename used ** to open the database originally was a URI or relative pathname. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_db_filename(sqlite3 *db, const char *zDbName); +SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName); /* ** CAPI3REF: Determine if a database is read-only @@ -5382,7 +5552,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_db_filename(sqlite3 *db, const cha ** of connection D is read-only, 0 if it is read/write, or -1 if N is not ** the name of a database on connection D. */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_readonly(sqlite3 *db, const char *zDbName); +SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName); /* ** CAPI3REF: Find the next prepared statement @@ -5398,7 +5568,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_readonly(sqlite3 *db, const char *zDbNa ** [sqlite3_next_stmt(D,S)] must refer to an open database ** connection and in particular must not be a NULL pointer. */ -SQLITE_API sqlite3_stmt *SQLITE_STDCALL sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); +SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); /* ** CAPI3REF: Commit And Rollback Notification Callbacks @@ -5447,8 +5617,8 @@ SQLITE_API sqlite3_stmt *SQLITE_STDCALL sqlite3_next_stmt(sqlite3 *pDb, sqlite3_ ** ** See also the [sqlite3_update_hook()] interface. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); -SQLITE_API void *SQLITE_STDCALL sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); +SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); +SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); /* ** CAPI3REF: Data Change Notification Callbacks @@ -5499,7 +5669,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_rollback_hook(sqlite3*, void(*)(void *), ** See also the [sqlite3_commit_hook()], [sqlite3_rollback_hook()], ** and [sqlite3_preupdate_hook()] interfaces. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( +SQLITE_API void *sqlite3_update_hook( sqlite3*, void(*)(void *,int ,char const *,char const *,sqlite3_int64), void* @@ -5514,7 +5684,8 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( ** and disabled if the argument is false.)^ ** ** ^Cache sharing is enabled and disabled for an entire process. -** This is a change as of SQLite version 3.5.0. In prior versions of SQLite, +** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]). +** In prior versions of SQLite, ** sharing was enabled or disabled for each thread separately. ** ** ^(The cache sharing mode set by this interface effects all subsequent @@ -5539,7 +5710,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( ** ** See Also: [SQLite Shared-Cache Mode] */ -SQLITE_API int SQLITE_STDCALL sqlite3_enable_shared_cache(int); +SQLITE_API int sqlite3_enable_shared_cache(int); /* ** CAPI3REF: Attempt To Free Heap Memory @@ -5555,7 +5726,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_enable_shared_cache(int); ** ** See also: [sqlite3_db_release_memory()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_release_memory(int); +SQLITE_API int sqlite3_release_memory(int); /* ** CAPI3REF: Free Memory Used By A Database Connection @@ -5569,7 +5740,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_release_memory(int); ** ** See also: [sqlite3_release_memory()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3*); +SQLITE_API int sqlite3_db_release_memory(sqlite3*); /* ** CAPI3REF: Impose A Limit On Heap Size @@ -5608,7 +5779,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3*); ** from the heap. ** )^ ** -** Beginning with SQLite version 3.7.3, the soft heap limit is enforced +** Beginning with SQLite [version 3.7.3] ([dateof:3.7.3]), +** the soft heap limit is enforced ** regardless of whether or not the [SQLITE_ENABLE_MEMORY_MANAGEMENT] ** compile-time option is invoked. With [SQLITE_ENABLE_MEMORY_MANAGEMENT], ** the soft heap limit is enforced on every memory allocation. Without @@ -5621,7 +5793,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3*); ** The circumstances under which SQLite will enforce the soft heap limit may ** changes in future releases of SQLite. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_soft_heap_limit64(sqlite3_int64 N); +SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N); /* ** CAPI3REF: Deprecated Soft Heap Limit Interface @@ -5632,7 +5804,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_soft_heap_limit64(sqlite3_int64 ** only. All new applications should use the ** [sqlite3_soft_heap_limit64()] interface rather than this one. */ -SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_soft_heap_limit(int N); +SQLITE_API SQLITE_DEPRECATED void sqlite3_soft_heap_limit(int N); /* @@ -5647,7 +5819,7 @@ SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_soft_heap_limit(int N); ** column exists. ^The sqlite3_table_column_metadata() interface returns ** SQLITE_ERROR and if the specified column does not exist. ** ^If the column-name parameter to sqlite3_table_column_metadata() is a -** NULL pointer, then this routine simply checks for the existance of the +** NULL pointer, then this routine simply checks for the existence of the ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it ** does not. ** @@ -5702,7 +5874,7 @@ SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_soft_heap_limit(int N); ** parsed, if that has not already been done, and returns an error if ** any errors are encountered while loading the schema. */ -SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata( +SQLITE_API int sqlite3_table_column_metadata( sqlite3 *db, /* Connection handle */ const char *zDbName, /* Database name or NULL */ const char *zTableName, /* Table name */ @@ -5758,7 +5930,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata( ** ** See also the [load_extension() SQL function]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_load_extension( +SQLITE_API int sqlite3_load_extension( sqlite3 *db, /* Load the extension into this database connection */ const char *zFile, /* Name of the shared library containing extension */ const char *zProc, /* Entry point. Derived from zFile if 0 */ @@ -5781,8 +5953,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_load_extension( ** ** ^This interface enables or disables both the C-API ** [sqlite3_load_extension()] and the SQL function [load_extension()]. -** Use [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],..) -** to enable or disable only the C-API. +** ^(Use [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],..) +** to enable or disable only the C-API.)^ ** ** Security warning: It is recommended that extension loading ** be disabled using the [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method @@ -5790,7 +5962,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_load_extension( ** remains disabled. This will prevent SQL injections from giving attackers ** access to extension loading capabilities. */ -SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int onoff); +SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff); /* ** CAPI3REF: Automatically Load Statically Linked Extensions @@ -5802,7 +5974,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int ono ** ** ^(Even though the function prototype shows that xEntryPoint() takes ** no arguments and returns void, SQLite invokes xEntryPoint() with three -** arguments and expects and integer result as if the signature of the +** arguments and expects an integer result as if the signature of the ** entry point where as follows: ** **
    @@ -5828,7 +6000,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int ono
     ** See also: [sqlite3_reset_auto_extension()]
     ** and [sqlite3_cancel_auto_extension()]
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_auto_extension(void (*xEntryPoint)(void));
    +SQLITE_API int sqlite3_auto_extension(void(*xEntryPoint)(void));
     
     /*
     ** CAPI3REF: Cancel Automatic Extension Loading
    @@ -5840,7 +6012,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_auto_extension(void (*xEntryPoint)(void));
     ** unregistered and it returns 0 if X was not on the list of initialization
     ** routines.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_cancel_auto_extension(void (*xEntryPoint)(void));
    +SQLITE_API int sqlite3_cancel_auto_extension(void(*xEntryPoint)(void));
     
     /*
     ** CAPI3REF: Reset Automatic Extension Loading
    @@ -5848,7 +6020,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_cancel_auto_extension(void (*xEntryPoint)(
     ** ^This interface disables all automatic extensions previously
     ** registered using [sqlite3_auto_extension()].
     */
    -SQLITE_API void SQLITE_STDCALL sqlite3_reset_auto_extension(void);
    +SQLITE_API void sqlite3_reset_auto_extension(void);
     
     /*
     ** The interface to the virtual-table mechanism is currently considered
    @@ -6002,13 +6174,15 @@ struct sqlite3_module {
     ** the xUpdate method are automatically rolled back by SQLite.
     **
     ** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
    -** structure for SQLite version 3.8.2. If a virtual table extension is
    +** structure for SQLite [version 3.8.2] ([dateof:3.8.2]). 
    +** If a virtual table extension is
     ** used with an SQLite version earlier than 3.8.2, the results of attempting 
     ** to read or write the estimatedRows field are undefined (but are likely 
     ** to included crashing the application). The estimatedRows field should
     ** therefore only be used if [sqlite3_libversion_number()] returns a
     ** value greater than or equal to 3008002. Similarly, the idxFlags field
    -** was added for version 3.9.0. It may therefore only be used if
    +** was added for [version 3.9.0] ([dateof:3.9.0]). 
    +** It may therefore only be used if
     ** sqlite3_libversion_number() returns a value greater than or equal to
     ** 3009000.
     */
    @@ -6093,13 +6267,13 @@ struct sqlite3_index_info {
     ** interface is equivalent to sqlite3_create_module_v2() with a NULL
     ** destructor.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_create_module(
    +SQLITE_API int sqlite3_create_module(
       sqlite3 *db,               /* SQLite connection to register module with */
       const char *zName,         /* Name of the module */
       const sqlite3_module *p,   /* Methods for the module */
       void *pClientData          /* Client data for xCreate/xConnect */
     );
    -SQLITE_API int SQLITE_STDCALL sqlite3_create_module_v2(
    +SQLITE_API int sqlite3_create_module_v2(
       sqlite3 *db,               /* SQLite connection to register module with */
       const char *zName,         /* Name of the module */
       const sqlite3_module *p,   /* Methods for the module */
    @@ -6162,7 +6336,7 @@ struct sqlite3_vtab_cursor {
     ** to declare the format (the names and datatypes of the columns) of
     ** the virtual tables they implement.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_declare_vtab(sqlite3*, const char *zSQL);
    +SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
     
     /*
     ** CAPI3REF: Overload A Function For A Virtual Table
    @@ -6181,7 +6355,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_declare_vtab(sqlite3*, const char *zSQL);
     ** purpose is to be a placeholder function that can be overloaded
     ** by a [virtual table].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
    +SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
     
     /*
     ** The interface to the virtual-table mechanism defined above (back up
    @@ -6280,7 +6454,7 @@ typedef struct sqlite3_blob sqlite3_blob;
     ** To avoid a resource leak, every open [BLOB handle] should eventually
     ** be released by a call to [sqlite3_blob_close()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_open(
    +SQLITE_API int sqlite3_blob_open(
       sqlite3*,
       const char *zDb,
       const char *zTable,
    @@ -6313,7 +6487,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_open(
     **
     ** ^This function sets the database handle error code and message.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
    +SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
     
     /*
     ** CAPI3REF: Close A BLOB Handle
    @@ -6336,7 +6510,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64)
     ** is passed a valid open blob handle, the values returned by the 
     ** sqlite3_errcode() and sqlite3_errmsg() functions are set before returning.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_close(sqlite3_blob *);
    +SQLITE_API int sqlite3_blob_close(sqlite3_blob *);
     
     /*
     ** CAPI3REF: Return The Size Of An Open BLOB
    @@ -6352,7 +6526,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_close(sqlite3_blob *);
     ** been closed by [sqlite3_blob_close()].  Passing any other pointer in
     ** to this routine results in undefined and probably undesirable behavior.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_bytes(sqlite3_blob *);
    +SQLITE_API int sqlite3_blob_bytes(sqlite3_blob *);
     
     /*
     ** CAPI3REF: Read Data From A BLOB Incrementally
    @@ -6381,7 +6555,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_bytes(sqlite3_blob *);
     **
     ** See also: [sqlite3_blob_write()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
    +SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
     
     /*
     ** CAPI3REF: Write Data Into A BLOB Incrementally
    @@ -6423,7 +6597,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_read(sqlite3_blob *, void *Z, int N,
     **
     ** See also: [sqlite3_blob_read()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
    +SQLITE_API int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
     
     /*
     ** CAPI3REF: Virtual File System Objects
    @@ -6454,9 +6628,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_write(sqlite3_blob *, const void *z,
     ** ^(If the default VFS is unregistered, another VFS is chosen as
     ** the default.  The choice for the new VFS is arbitrary.)^
     */
    -SQLITE_API sqlite3_vfs *SQLITE_STDCALL sqlite3_vfs_find(const char *zVfsName);
    -SQLITE_API int SQLITE_STDCALL sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
    -SQLITE_API int SQLITE_STDCALL sqlite3_vfs_unregister(sqlite3_vfs*);
    +SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
    +SQLITE_API int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
    +SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
     
     /*
     ** CAPI3REF: Mutexes
    @@ -6572,11 +6746,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_vfs_unregister(sqlite3_vfs*);
     **
     ** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()].
     */
    -SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_mutex_alloc(int);
    -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_free(sqlite3_mutex*);
    -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_enter(sqlite3_mutex*);
    -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_try(sqlite3_mutex*);
    -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_leave(sqlite3_mutex*);
    +SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(int);
    +SQLITE_API void sqlite3_mutex_free(sqlite3_mutex*);
    +SQLITE_API void sqlite3_mutex_enter(sqlite3_mutex*);
    +SQLITE_API int sqlite3_mutex_try(sqlite3_mutex*);
    +SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*);
     
     /*
     ** CAPI3REF: Mutex Methods Object
    @@ -6686,8 +6860,8 @@ struct sqlite3_mutex_methods {
     ** interface should also return 1 when given a NULL pointer.
     */
     #ifndef NDEBUG
    -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_held(sqlite3_mutex*);
    -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_notheld(sqlite3_mutex*);
    +SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*);
    +SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
     #endif
     
     /*
    @@ -6706,7 +6880,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_mutex_notheld(sqlite3_mutex*);
     #define SQLITE_MUTEX_STATIC_MEM       3  /* sqlite3_malloc() */
     #define SQLITE_MUTEX_STATIC_MEM2      4  /* NOT USED */
     #define SQLITE_MUTEX_STATIC_OPEN      4  /* sqlite3BtreeOpen() */
    -#define SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_random() */
    +#define SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_randomness() */
     #define SQLITE_MUTEX_STATIC_LRU       6  /* lru page list */
     #define SQLITE_MUTEX_STATIC_LRU2      7  /* NOT USED */
     #define SQLITE_MUTEX_STATIC_PMEM      7  /* sqlite3PageMalloc() */
    @@ -6727,7 +6901,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_mutex_notheld(sqlite3_mutex*);
     ** ^If the [threading mode] is Single-thread or Multi-thread then this
     ** routine returns a NULL pointer.
     */
    -SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_db_mutex(sqlite3*);
    +SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
     
     /*
     ** CAPI3REF: Low-Level Control Of Database Files
    @@ -6762,7 +6936,7 @@ SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_db_mutex(sqlite3*);
     **
     ** See also: [SQLITE_FCNTL_LOCKSTATE]
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
    +SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
     
     /*
     ** CAPI3REF: Testing Interface
    @@ -6781,7 +6955,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_file_control(sqlite3*, const char *zDbName
     ** Unlike most of the SQLite API, this function is not guaranteed to
     ** operate consistently from one release to the next.
     */
    -SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...);
    +SQLITE_API int sqlite3_test_control(int op, ...);
     
     /*
     ** CAPI3REF: Testing Interface Operation Codes
    @@ -6810,6 +6984,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...);
     #define SQLITE_TESTCTRL_SCRATCHMALLOC           17
     #define SQLITE_TESTCTRL_LOCALTIME_FAULT         18
     #define SQLITE_TESTCTRL_EXPLAIN_STMT            19  /* NOT USED */
    +#define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD    19
     #define SQLITE_TESTCTRL_NEVER_CORRUPT           20
     #define SQLITE_TESTCTRL_VDBE_COVERAGE           21
     #define SQLITE_TESTCTRL_BYTEORDER               22
    @@ -6844,8 +7019,8 @@ SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...);
     **
     ** See also: [sqlite3_db_status()]
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
    -SQLITE_API int SQLITE_STDCALL sqlite3_status64(
    +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
    +SQLITE_API int sqlite3_status64(
       int op,
       sqlite3_int64 *pCurrent,
       sqlite3_int64 *pHighwater,
    @@ -6970,7 +7145,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_status64(
     **
     ** See also: [sqlite3_status()] and [sqlite3_stmt_status()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
    +SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
     
     /*
     ** CAPI3REF: Status Parameters for database connections
    @@ -7016,6 +7191,18 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int
     ** memory used by all pager caches associated with the database connection.)^
     ** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.
     **
    +** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]] 
    +** ^(
    SQLITE_DBSTATUS_CACHE_USED_SHARED
    +**
    This parameter is similar to DBSTATUS_CACHE_USED, except that if a +** pager cache is shared between two or more connections the bytes of heap +** memory used by that pager cache is divided evenly between the attached +** connections.)^ In other words, if none of the pager caches associated +** with the database connection are shared, this request returns the same +** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are +** shared, the value returned by this call will be smaller than that returned +** by DBSTATUS_CACHE_USED. ^The highwater mark associated with +** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. +** ** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(
    SQLITE_DBSTATUS_SCHEMA_USED
    **
    This parameter returns the approximate number of bytes of heap ** memory used to store the schema for all databases associated @@ -7073,7 +7260,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int #define SQLITE_DBSTATUS_CACHE_MISS 8 #define SQLITE_DBSTATUS_CACHE_WRITE 9 #define SQLITE_DBSTATUS_DEFERRED_FKS 10 -#define SQLITE_DBSTATUS_MAX 10 /* Largest defined DBSTATUS */ +#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 +#define SQLITE_DBSTATUS_MAX 11 /* Largest defined DBSTATUS */ /* @@ -7100,7 +7288,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int ** ** See also: [sqlite3_status()] and [sqlite3_db_status()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); +SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); /* ** CAPI3REF: Status Parameters for prepared statements @@ -7569,16 +7757,16 @@ typedef struct sqlite3_backup sqlite3_backup; ** same time as another thread is invoking sqlite3_backup_step() it is ** possible that they return invalid values. */ -SQLITE_API sqlite3_backup *SQLITE_STDCALL sqlite3_backup_init( +SQLITE_API sqlite3_backup *sqlite3_backup_init( sqlite3 *pDest, /* Destination database handle */ const char *zDestName, /* Destination database name */ sqlite3 *pSource, /* Source database handle */ const char *zSourceName /* Source database name */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_step(sqlite3_backup *p, int nPage); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_finish(sqlite3_backup *p); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_remaining(sqlite3_backup *p); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_pagecount(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage); +SQLITE_API int sqlite3_backup_finish(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_remaining(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); /* ** CAPI3REF: Unlock Notification @@ -7695,7 +7883,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_pagecount(sqlite3_backup *p); ** the special "DROP TABLE/INDEX" case, the extended error code is just ** SQLITE_LOCKED.)^ */ -SQLITE_API int SQLITE_STDCALL sqlite3_unlock_notify( +SQLITE_API int sqlite3_unlock_notify( sqlite3 *pBlocked, /* Waiting connection */ void (*xNotify)(void **apArg, int nArg), /* Callback function to invoke */ void *pNotifyArg /* Argument to pass to xNotify */ @@ -7710,8 +7898,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_unlock_notify( ** strings in a case-independent fashion, using the same definition of "case ** independence" that SQLite uses internally when comparing identifiers. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stricmp(const char *, const char *); -SQLITE_API int SQLITE_STDCALL sqlite3_strnicmp(const char *, const char *, int); +SQLITE_API int sqlite3_stricmp(const char *, const char *); +SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); /* ** CAPI3REF: String Globbing @@ -7728,7 +7916,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_strnicmp(const char *, const char *, int); ** ** See also: [sqlite3_strlike()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_strglob(const char *zGlob, const char *zStr); +SQLITE_API int sqlite3_strglob(const char *zGlob, const char *zStr); /* ** CAPI3REF: String LIKE Matching @@ -7751,7 +7939,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_strglob(const char *zGlob, const char *zSt ** ** See also: [sqlite3_strglob()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc); +SQLITE_API int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc); /* ** CAPI3REF: Error Logging Interface @@ -7774,7 +7962,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_strlike(const char *zGlob, const char *zSt ** a few hundred characters, it will be truncated to the length of the ** buffer. */ -SQLITE_API void SQLITE_CDECL sqlite3_log(int iErrCode, const char *zFormat, ...); +SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); /* ** CAPI3REF: Write-Ahead Log Commit Hook @@ -7810,7 +7998,7 @@ SQLITE_API void SQLITE_CDECL sqlite3_log(int iErrCode, const char *zFormat, ...) ** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will ** overwrite any prior [sqlite3_wal_hook()] settings. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( +SQLITE_API void *sqlite3_wal_hook( sqlite3*, int(*)(void *,sqlite3*,const char*,int), void* @@ -7845,7 +8033,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( ** is only necessary if the default setting is found to be suboptimal ** for a particular application. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_autocheckpoint(sqlite3 *db, int N); +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N); /* ** CAPI3REF: Checkpoint a database @@ -7867,7 +8055,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_autocheckpoint(sqlite3 *db, int N); ** start a callback but which do not need the full power (and corresponding ** complication) of [sqlite3_wal_checkpoint_v2()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); /* ** CAPI3REF: Checkpoint a database @@ -7961,7 +8149,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint(sqlite3 *db, const char *zD ** ^The [PRAGMA wal_checkpoint] command can be used to invoke this interface ** from SQL. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint_v2( +SQLITE_API int sqlite3_wal_checkpoint_v2( sqlite3 *db, /* Database handle */ const char *zDb, /* Name of attached database (or NULL) */ int eMode, /* SQLITE_CHECKPOINT_* value */ @@ -7997,7 +8185,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint_v2( ** this function. (See [SQLITE_VTAB_CONSTRAINT_SUPPORT].) Further options ** may be added in the future. */ -SQLITE_API int SQLITE_CDECL sqlite3_vtab_config(sqlite3*, int op, ...); +SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); /* ** CAPI3REF: Virtual Table Configuration Options @@ -8050,7 +8238,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_vtab_config(sqlite3*, int op, ...); ** of the SQL statement that triggered the call to the [xUpdate] method of the ** [virtual table]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_vtab_on_conflict(sqlite3 *); +SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *); /* ** CAPI3REF: Conflict resolution modes @@ -8155,7 +8343,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_vtab_on_conflict(sqlite3 *); ** ** See also: [sqlite3_stmt_scanstatus_reset()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_scanstatus( +SQLITE_API int sqlite3_stmt_scanstatus( sqlite3_stmt *pStmt, /* Prepared statement for which info desired */ int idx, /* Index of loop to report on */ int iScanStatusOp, /* Information desired. SQLITE_SCANSTAT_* */ @@ -8171,7 +8359,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_stmt_scanstatus( ** This API is only available if the library is built with pre-processor ** symbol [SQLITE_ENABLE_STMT_SCANSTATUS] defined. */ -SQLITE_API void SQLITE_STDCALL sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); +SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); /* ** CAPI3REF: Flush caches to disk mid-transaction @@ -8203,7 +8391,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); ** ^This function does not set the database handle error code or message ** returned by the [sqlite3_errcode()] and [sqlite3_errmsg()] functions. */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); +SQLITE_API int sqlite3_db_cacheflush(sqlite3*); /* ** CAPI3REF: The pre-update hook. @@ -8229,7 +8417,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); ** ^The second parameter to the preupdate callback is a pointer to ** the [database connection] that registered the preupdate hook. ** ^The third parameter to the preupdate callback is one of the constants -** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to indentify the +** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the ** kind of update operation that is about to occur. ** ^(The fourth parameter to the preupdate callback is the name of the ** database within the database connection that is being modified. This @@ -8283,7 +8471,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); ** ** See also: [sqlite3_update_hook()] */ -SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_preupdate_hook( +SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_preupdate_hook( sqlite3 *db, void(*xPreUpdate)( void *pCtx, /* Copy of third arg to preupdate_hook() */ @@ -8296,10 +8484,10 @@ SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_preupdate_hook( ), void* ); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_count(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_depth(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_count(sqlite3 *); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_depth(sqlite3 *); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); /* ** CAPI3REF: Low-level system error code @@ -8311,7 +8499,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 ** called to get back the underlying "errno" that caused the problem, such ** as ENOSPC, EAUTH, EISDIR, and so forth. */ -SQLITE_API int SQLITE_STDCALL sqlite3_system_errno(sqlite3*); +SQLITE_API int sqlite3_system_errno(sqlite3*); /* ** CAPI3REF: Database Snapshot @@ -8361,7 +8549,7 @@ typedef struct sqlite3_snapshot sqlite3_snapshot; ** The [sqlite3_snapshot_get()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. */ -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_get( +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get( sqlite3 *db, const char *zSchema, sqlite3_snapshot **ppSnapshot @@ -8399,7 +8587,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_get( ** The [sqlite3_snapshot_open()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. */ -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_open( +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open( sqlite3 *db, const char *zSchema, sqlite3_snapshot *pSnapshot @@ -8416,7 +8604,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_open( ** The [sqlite3_snapshot_free()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. */ -SQLITE_API SQLITE_EXPERIMENTAL void SQLITE_STDCALL sqlite3_snapshot_free(sqlite3_snapshot*); +SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*); /* ** CAPI3REF: Compare the ages of two snapshot handles. @@ -8440,7 +8628,7 @@ SQLITE_API SQLITE_EXPERIMENTAL void SQLITE_STDCALL sqlite3_snapshot_free(sqlite3 ** snapshot than P2, zero if the two handles refer to the same database ** snapshot, and a positive value if P1 is a newer snapshot than P2. */ -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_cmp( +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( sqlite3_snapshot *p1, sqlite3_snapshot *p2 ); @@ -8456,7 +8644,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_cmp( #if 0 } /* End of the 'extern "C"' block */ #endif -#endif /* _SQLITE3_H_ */ +#endif /* SQLITE3_H */ /******** Begin file sqlite3rtree.h *********/ /* @@ -8498,7 +8686,7 @@ typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info; ** ** SELECT ... FROM WHERE MATCH $zGeom(... params ...) */ -SQLITE_API int SQLITE_STDCALL sqlite3_rtree_geometry_callback( +SQLITE_API int sqlite3_rtree_geometry_callback( sqlite3 *db, const char *zGeom, int (*xGeom)(sqlite3_rtree_geometry*, int, sqlite3_rtree_dbl*,int*), @@ -8524,7 +8712,7 @@ struct sqlite3_rtree_geometry { ** ** SELECT ... FROM WHERE MATCH $zQueryFunc(... params ...) */ -SQLITE_API int SQLITE_STDCALL sqlite3_rtree_query_callback( +SQLITE_API int sqlite3_rtree_query_callback( sqlite3 *db, const char *zQueryFunc, int (*xQueryFunc)(sqlite3_rtree_query_info*), @@ -8736,7 +8924,7 @@ int sqlite3session_attach( ** CAPI3REF: Set a table filter on a Session Object. ** ** The second argument (xFilter) is the "filter callback". For changes to rows -** in tables that are not attached to the Session oject, the filter is called +** in tables that are not attached to the Session object, the filter is called ** to determine whether changes to the table's rows should be tracked or not. ** If xFilter returns 0, changes is not tracked. Note that once a table is ** attached, xFilter will not be called again. @@ -9002,7 +9190,7 @@ int sqlite3session_isempty(sqlite3_session *pSession); ** [sqlite3changeset_invert()] functions, all changes within the changeset ** that apply to a single table are grouped together. This means that when ** an application iterates through a changeset using an iterator created by -** this function, all changes that relate to a single table are visted +** this function, all changes that relate to a single table are visited ** consecutively. There is no chance that the iterator will visit a change ** the applies to table X, then one for table Y, and then later on visit ** another change for table X. @@ -9089,7 +9277,7 @@ int sqlite3changeset_op( ** 0x01 if the corresponding column is part of the tables primary key, or ** 0x00 if it is not. ** -** If argumet pnCol is not NULL, then *pnCol is set to the number of columns +** If argument pnCol is not NULL, then *pnCol is set to the number of columns ** in the table. ** ** If this function is called when the iterator does not point to a valid @@ -9306,12 +9494,12 @@ int sqlite3changeset_concat( /* -** Changegroup handle. +** CAPI3REF: Changegroup Handle */ typedef struct sqlite3_changegroup sqlite3_changegroup; /* -** CAPI3REF: Combine two or more changesets into a single changeset. +** CAPI3REF: Create A New Changegroup Object ** ** An sqlite3_changegroup object is used to combine two or more changesets ** (or patchsets) into a single changeset (or patchset). A single changegroup @@ -9348,6 +9536,8 @@ typedef struct sqlite3_changegroup sqlite3_changegroup; int sqlite3changegroup_new(sqlite3_changegroup **pp); /* +** CAPI3REF: Add A Changeset To A Changegroup +** ** Add all changes within the changeset (or patchset) in buffer pData (size ** nData bytes) to the changegroup. ** @@ -9362,7 +9552,7 @@ int sqlite3changegroup_new(sqlite3_changegroup **pp); ** apply to the same row as a change already present in the changegroup if ** the two rows have the same primary key. ** -** Changes to rows that that do not already appear in the changegroup are +** Changes to rows that do not already appear in the changegroup are ** simply copied into it. Or, if both the new changeset and the changegroup ** contain changes that apply to a single row, the final contents of the ** changegroup depends on the type of each change, as follows: @@ -9423,6 +9613,8 @@ int sqlite3changegroup_new(sqlite3_changegroup **pp); int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); /* +** CAPI3REF: Obtain A Composite Changeset From A Changegroup +** ** Obtain a buffer containing a changeset (or patchset) representing the ** current contents of the changegroup. If the inputs to the changegroup ** were themselves changesets, the output is a changeset. Or, if the @@ -9451,7 +9643,7 @@ int sqlite3changegroup_output( ); /* -** Delete a changegroup object. +** CAPI3REF: Delete A Changegroup Object */ void sqlite3changegroup_delete(sqlite3_changegroup*); @@ -10176,7 +10368,7 @@ struct Fts5ExtensionApi { ** behaviour. The structure methods are expected to function as follows: ** ** xCreate: -** This function is used to allocate and inititalize a tokenizer instance. +** This function is used to allocate and initialize a tokenizer instance. ** A tokenizer instance is required to actually tokenize text. ** ** The first argument passed to this function is a copy of the (void*) @@ -10436,7 +10628,6 @@ struct fts5_api { #endif /* _FTS5_H */ - /******** End of fts5.h *********/ /************** End of sqlite3.h *********************************************/ @@ -10734,7 +10925,7 @@ struct fts5_api { ** the SQLITE_DISABLE_INTRINSIC define. */ #if !defined(SQLITE_DISABLE_INTRINSIC) -# if defined(_MSC_VER) && _MSC_VER>=1300 +# if defined(_MSC_VER) && _MSC_VER>=1400 # if !defined(_WIN32_WCE) # include # pragma intrinsic(_byteswap_ushort) @@ -11011,8 +11202,8 @@ SQLITE_PRIVATE void sqlite3Coverage(int); ** This is the header file for the generic hash-table implementation ** used in SQLite. */ -#ifndef _SQLITE_HASH_H_ -#define _SQLITE_HASH_H_ +#ifndef SQLITE_HASH_H +#define SQLITE_HASH_H /* Forward declarations of structures. */ typedef struct Hash Hash; @@ -11092,7 +11283,7 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); */ /* #define sqliteHashCount(H) ((H)->count) // NOT USED */ -#endif /* _SQLITE_HASH_H_ */ +#endif /* SQLITE_HASH_H */ /************** End of hash.h ************************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ @@ -11229,9 +11420,9 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define TK_LIMIT 129 #define TK_WHERE 130 #define TK_INTO 131 -#define TK_INTEGER 132 -#define TK_FLOAT 133 -#define TK_BLOB 134 +#define TK_FLOAT 132 +#define TK_BLOB 133 +#define TK_INTEGER 134 #define TK_VARIABLE 135 #define TK_CASE 136 #define TK_WHEN 137 @@ -11255,10 +11446,12 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define TK_UMINUS 155 #define TK_UPLUS 156 #define TK_REGISTER 157 -#define TK_ASTERISK 158 -#define TK_SPAN 159 -#define TK_SPACE 160 -#define TK_ILLEGAL 161 +#define TK_VECTOR 158 +#define TK_SELECT_COLUMN 159 +#define TK_ASTERISK 160 +#define TK_SPAN 161 +#define TK_SPACE 162 +#define TK_ILLEGAL 163 /* The token codes above must all fit in 8 bits */ #define TKFLG_MASK 0xff @@ -11740,8 +11933,8 @@ struct BusyHandler { #define SQLITE_WSD const #define GLOBAL(t,v) (*(t*)sqlite3_wsd_find((void*)&(v), sizeof(v))) #define sqlite3GlobalConfig GLOBAL(struct Sqlite3Config, sqlite3Config) -SQLITE_API int SQLITE_STDCALL sqlite3_wsd_init(int N, int J); -SQLITE_API void *SQLITE_STDCALL sqlite3_wsd_find(void *K, int L); +SQLITE_API int sqlite3_wsd_init(int N, int J); +SQLITE_API void *sqlite3_wsd_find(void *K, int L); #else #define SQLITE_WSD #define GLOBAL(t,v) v @@ -11840,8 +12033,8 @@ typedef struct With With; ** subsystem. See comments in the source code for a detailed description ** of what each interface routine does. */ -#ifndef _BTREE_H_ -#define _BTREE_H_ +#ifndef SQLITE_BTREE_H +#define SQLITE_BTREE_H /* TODO: This definition is just included so other modules compile. It ** needs to be revisited. @@ -11866,6 +12059,7 @@ typedef struct With With; typedef struct Btree Btree; typedef struct BtCursor BtCursor; typedef struct BtShared BtShared; +typedef struct BtreePayload BtreePayload; SQLITE_PRIVATE int sqlite3BtreeOpen( @@ -11916,7 +12110,9 @@ SQLITE_PRIVATE int sqlite3BtreeIsInReadTrans(Btree*); SQLITE_PRIVATE int sqlite3BtreeIsInBackup(Btree*); SQLITE_PRIVATE void *sqlite3BtreeSchema(Btree *, int, void(*)(void *)); SQLITE_PRIVATE int sqlite3BtreeSchemaLocked(Btree *pBtree); +#ifndef SQLITE_OMIT_SHARED_CACHE SQLITE_PRIVATE int sqlite3BtreeLockTable(Btree *pBtree, int iTab, u8 isWriteLock); +#endif SQLITE_PRIVATE int sqlite3BtreeSavepoint(Btree *, int, int); SQLITE_PRIVATE const char *sqlite3BtreeGetFilename(Btree *); @@ -12077,26 +12273,52 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor*, u8 flags); #define BTREE_SAVEPOSITION 0x02 /* Leave cursor pointing at NEXT or PREV */ #define BTREE_AUXDELETE 0x04 /* not the primary delete operation */ -SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const void *pKey, i64 nKey, - const void *pData, int nData, - int nZero, int bias, int seekResult); +/* An instance of the BtreePayload object describes the content of a single +** entry in either an index or table btree. +** +** Index btrees (used for indexes and also WITHOUT ROWID tables) contain +** an arbitrary key and no data. These btrees have pKey,nKey set to their +** key and pData,nData,nZero set to zero. +** +** Table btrees (used for rowid tables) contain an integer rowid used as +** the key and passed in the nKey field. The pKey field is zero. +** pData,nData hold the content of the new entry. nZero extra zero bytes +** are appended to the end of the content when constructing the entry. +** +** This object is used to pass information into sqlite3BtreeInsert(). The +** same information used to be passed as five separate parameters. But placing +** the information into this object helps to keep the interface more +** organized and understandable, and it also helps the resulting code to +** run a little faster by using fewer registers for parameter passing. +*/ +struct BtreePayload { + const void *pKey; /* Key content for indexes. NULL for tables */ + sqlite3_int64 nKey; /* Size of pKey for indexes. PRIMARY KEY for tabs */ + const void *pData; /* Data for tables. NULL for indexes */ + int nData; /* Size of pData. 0 if none. */ + int nZero; /* Extra zero data appended after pData,nData */ +}; + +SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const BtreePayload *pPayload, + int bias, int seekResult); SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor*, int *pRes); SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor*, int *pRes); SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor*, int *pRes); SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor*); SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor*, int *pRes); -SQLITE_PRIVATE int sqlite3BtreeKeySize(BtCursor*, i64 *pSize); +SQLITE_PRIVATE i64 sqlite3BtreeIntegerKey(BtCursor*); SQLITE_PRIVATE int sqlite3BtreeKey(BtCursor*, u32 offset, u32 amt, void*); -SQLITE_PRIVATE const void *sqlite3BtreeKeyFetch(BtCursor*, u32 *pAmt); -SQLITE_PRIVATE const void *sqlite3BtreeDataFetch(BtCursor*, u32 *pAmt); -SQLITE_PRIVATE int sqlite3BtreeDataSize(BtCursor*, u32 *pSize); +SQLITE_PRIVATE const void *sqlite3BtreePayloadFetch(BtCursor*, u32 *pAmt); +SQLITE_PRIVATE u32 sqlite3BtreePayloadSize(BtCursor*); SQLITE_PRIVATE int sqlite3BtreeData(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck(Btree*, int *aRoot, int nRoot, int, int*); SQLITE_PRIVATE struct Pager *sqlite3BtreePager(Btree*); +#ifndef SQLITE_OMIT_INCRBLOB SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE void sqlite3BtreeIncrblobCursor(BtCursor *); +#endif SQLITE_PRIVATE void sqlite3BtreeClearCursor(BtCursor *); SQLITE_PRIVATE int sqlite3BtreeSetVersion(Btree *pBt, int iVersion); SQLITE_PRIVATE int sqlite3BtreeCursorHasHint(BtCursor*, unsigned int mask); @@ -12130,11 +12352,13 @@ SQLITE_PRIVATE void sqlite3BtreeEnter(Btree*); SQLITE_PRIVATE void sqlite3BtreeEnterAll(sqlite3*); SQLITE_PRIVATE int sqlite3BtreeSharable(Btree*); SQLITE_PRIVATE void sqlite3BtreeEnterCursor(BtCursor*); +SQLITE_PRIVATE int sqlite3BtreeConnectionCount(Btree*); #else # define sqlite3BtreeEnter(X) # define sqlite3BtreeEnterAll(X) # define sqlite3BtreeSharable(X) 0 # define sqlite3BtreeEnterCursor(X) +# define sqlite3BtreeConnectionCount(X) 1 #endif #if !defined(SQLITE_OMIT_SHARED_CACHE) && SQLITE_THREADSAFE @@ -12159,7 +12383,7 @@ SQLITE_PRIVATE int sqlite3SchemaMutexHeld(sqlite3*,int,Schema*); #endif -#endif /* _BTREE_H_ */ +#endif /* SQLITE_BTREE_H */ /************** End of btree.h ***********************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ @@ -12182,8 +12406,8 @@ SQLITE_PRIVATE int sqlite3SchemaMutexHeld(sqlite3*,int,Schema*); ** or VDBE. The VDBE implements an abstract machine that runs a ** simple program to access and modify the underlying database. */ -#ifndef _SQLITE_VDBE_H_ -#define _SQLITE_VDBE_H_ +#ifndef SQLITE_VDBE_H +#define SQLITE_VDBE_H /* #include */ /* @@ -12255,7 +12479,6 @@ struct SubProgram { int nOp; /* Elements in aOp[] */ int nMem; /* Number of memory cells required */ int nCsr; /* Number of cursors required */ - int nOnce; /* Number of OP_Once instructions */ void *token; /* id that may be used to recursive triggers */ SubProgram *pNext; /* Next sub-program already visited */ }; @@ -12368,17 +12591,17 @@ typedef struct VdbeOpList VdbeOpList; #define OP_NoConflict 29 /* synopsis: key=r[P3@P4] */ #define OP_NotFound 30 /* synopsis: key=r[P3@P4] */ #define OP_Found 31 /* synopsis: key=r[P3@P4] */ -#define OP_NotExists 32 /* synopsis: intkey=r[P3] */ -#define OP_Last 33 +#define OP_SeekRowid 32 /* synopsis: intkey=r[P3] */ +#define OP_NotExists 33 /* synopsis: intkey=r[P3] */ #define OP_IsNull 34 /* same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ #define OP_NotNull 35 /* same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ -#define OP_Ne 36 /* same as TK_NE, synopsis: if r[P1]!=r[P3] goto P2 */ -#define OP_Eq 37 /* same as TK_EQ, synopsis: if r[P1]==r[P3] goto P2 */ -#define OP_Gt 38 /* same as TK_GT, synopsis: if r[P1]>r[P3] goto P2 */ -#define OP_Le 39 /* same as TK_LE, synopsis: if r[P1]<=r[P3] goto P2 */ -#define OP_Lt 40 /* same as TK_LT, synopsis: if r[P1]=r[P3] goto P2 */ -#define OP_SorterSort 42 +#define OP_Ne 36 /* same as TK_NE, synopsis: IF r[P3]!=r[P1] */ +#define OP_Eq 37 /* same as TK_EQ, synopsis: IF r[P3]==r[P1] */ +#define OP_Gt 38 /* same as TK_GT, synopsis: IF r[P3]>r[P1] */ +#define OP_Le 39 /* same as TK_LE, synopsis: IF r[P3]<=r[P1] */ +#define OP_Lt 40 /* same as TK_LT, synopsis: IF r[P3]=r[P1] */ +#define OP_ElseNotEq 42 /* same as TK_ESCAPE */ #define OP_BitAnd 43 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ #define OP_BitOr 44 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ #define OP_ShiftLeft 45 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<0 then r[P1]-=P3, goto P2 */ -#define OP_IfNotZero 65 /* synopsis: if r[P1]!=0 then r[P1]-=P3, goto P2 */ -#define OP_DecrJumpZero 66 /* synopsis: if (--r[P1])==0 goto P2 */ -#define OP_IncrVacuum 67 -#define OP_VNext 68 -#define OP_Init 69 /* synopsis: Start at P2 */ -#define OP_Return 70 -#define OP_EndCoroutine 71 -#define OP_HaltIfNull 72 /* synopsis: if r[P3]=null halt */ -#define OP_Halt 73 -#define OP_Integer 74 /* synopsis: r[P2]=P1 */ -#define OP_Int64 75 /* synopsis: r[P2]=P4 */ -#define OP_String 76 /* synopsis: r[P2]='P4' (len=P1) */ -#define OP_Null 77 /* synopsis: r[P2..P3]=NULL */ -#define OP_SoftNull 78 /* synopsis: r[P1]=NULL */ -#define OP_Blob 79 /* synopsis: r[P2]=P4 (len=P1) */ -#define OP_Variable 80 /* synopsis: r[P2]=parameter(P1,P4) */ -#define OP_Move 81 /* synopsis: r[P2@P3]=r[P1@P3] */ -#define OP_Copy 82 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ -#define OP_SCopy 83 /* synopsis: r[P2]=r[P1] */ -#define OP_IntCopy 84 /* synopsis: r[P2]=r[P1] */ -#define OP_ResultRow 85 /* synopsis: output=r[P1@P2] */ -#define OP_CollSeq 86 -#define OP_Function0 87 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_Function 88 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_AddImm 89 /* synopsis: r[P1]=r[P1]+P2 */ -#define OP_RealAffinity 90 -#define OP_Cast 91 /* synopsis: affinity(r[P1]) */ -#define OP_Permutation 92 -#define OP_Compare 93 /* synopsis: r[P1@P3] <-> r[P2@P3] */ -#define OP_Column 94 /* synopsis: r[P3]=PX */ -#define OP_Affinity 95 /* synopsis: affinity(r[P1@P2]) */ -#define OP_MakeRecord 96 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ +#define OP_SorterSort 55 +#define OP_Sort 56 +#define OP_Rewind 57 +#define OP_IdxLE 58 /* synopsis: key=r[P3@P4] */ +#define OP_IdxGT 59 /* synopsis: key=r[P3@P4] */ +#define OP_IdxLT 60 /* synopsis: key=r[P3@P4] */ +#define OP_IdxGE 61 /* synopsis: key=r[P3@P4] */ +#define OP_RowSetRead 62 /* synopsis: r[P3]=rowset(P1) */ +#define OP_RowSetTest 63 /* synopsis: if r[P3] in rowset(P1) goto P2 */ +#define OP_Program 64 +#define OP_FkIfZero 65 /* synopsis: if fkctr[P1]==0 goto P2 */ +#define OP_IfPos 66 /* synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */ +#define OP_IfNotZero 67 /* synopsis: if r[P1]!=0 then r[P1]-=P3, goto P2 */ +#define OP_DecrJumpZero 68 /* synopsis: if (--r[P1])==0 goto P2 */ +#define OP_IncrVacuum 69 +#define OP_VNext 70 +#define OP_Init 71 /* synopsis: Start at P2 */ +#define OP_Return 72 +#define OP_EndCoroutine 73 +#define OP_HaltIfNull 74 /* synopsis: if r[P3]=null halt */ +#define OP_Halt 75 +#define OP_Integer 76 /* synopsis: r[P2]=P1 */ +#define OP_Int64 77 /* synopsis: r[P2]=P4 */ +#define OP_String 78 /* synopsis: r[P2]='P4' (len=P1) */ +#define OP_Null 79 /* synopsis: r[P2..P3]=NULL */ +#define OP_SoftNull 80 /* synopsis: r[P1]=NULL */ +#define OP_Blob 81 /* synopsis: r[P2]=P4 (len=P1) */ +#define OP_Variable 82 /* synopsis: r[P2]=parameter(P1,P4) */ +#define OP_Move 83 /* synopsis: r[P2@P3]=r[P1@P3] */ +#define OP_Copy 84 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ +#define OP_SCopy 85 /* synopsis: r[P2]=r[P1] */ +#define OP_IntCopy 86 /* synopsis: r[P2]=r[P1] */ +#define OP_ResultRow 87 /* synopsis: output=r[P1@P2] */ +#define OP_CollSeq 88 +#define OP_Function0 89 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_Function 90 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_AddImm 91 /* synopsis: r[P1]=r[P1]+P2 */ +#define OP_RealAffinity 92 +#define OP_Cast 93 /* synopsis: affinity(r[P1]) */ +#define OP_Permutation 94 +#define OP_Compare 95 /* synopsis: r[P1@P3] <-> r[P2@P3] */ +#define OP_Column 96 /* synopsis: r[P3]=PX */ #define OP_String8 97 /* same as TK_STRING, synopsis: r[P2]='P4' */ -#define OP_Count 98 /* synopsis: r[P2]=count() */ -#define OP_ReadCookie 99 -#define OP_SetCookie 100 -#define OP_ReopenIdx 101 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenRead 102 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenWrite 103 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenAutoindex 104 /* synopsis: nColumn=P2 */ -#define OP_OpenEphemeral 105 /* synopsis: nColumn=P2 */ -#define OP_SorterOpen 106 -#define OP_SequenceTest 107 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ -#define OP_OpenPseudo 108 /* synopsis: P3 columns in r[P2] */ -#define OP_Close 109 -#define OP_ColumnsUsed 110 -#define OP_Sequence 111 /* synopsis: r[P2]=cursor[P1].ctr++ */ -#define OP_NewRowid 112 /* synopsis: r[P2]=rowid */ -#define OP_Insert 113 /* synopsis: intkey=r[P3] data=r[P2] */ -#define OP_InsertInt 114 /* synopsis: intkey=P3 data=r[P2] */ -#define OP_Delete 115 -#define OP_ResetCount 116 -#define OP_SorterCompare 117 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ -#define OP_SorterData 118 /* synopsis: r[P2]=data */ -#define OP_RowKey 119 /* synopsis: r[P2]=key */ -#define OP_RowData 120 /* synopsis: r[P2]=data */ -#define OP_Rowid 121 /* synopsis: r[P2]=rowid */ -#define OP_NullRow 122 -#define OP_SorterInsert 123 -#define OP_IdxInsert 124 /* synopsis: key=r[P2] */ -#define OP_IdxDelete 125 /* synopsis: key=r[P2@P3] */ -#define OP_Seek 126 /* synopsis: Move P3 to P1.rowid */ -#define OP_IdxRowid 127 /* synopsis: r[P2]=rowid */ -#define OP_Destroy 128 -#define OP_Clear 129 -#define OP_ResetSorter 130 -#define OP_CreateIndex 131 /* synopsis: r[P2]=root iDb=P1 */ -#define OP_CreateTable 132 /* synopsis: r[P2]=root iDb=P1 */ -#define OP_Real 133 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ -#define OP_ParseSchema 134 -#define OP_LoadAnalysis 135 -#define OP_DropTable 136 -#define OP_DropIndex 137 -#define OP_DropTrigger 138 -#define OP_IntegrityCk 139 -#define OP_RowSetAdd 140 /* synopsis: rowset(P1)=r[P2] */ -#define OP_Param 141 -#define OP_FkCounter 142 /* synopsis: fkctr[P1]+=P2 */ -#define OP_MemMax 143 /* synopsis: r[P1]=max(r[P1],r[P2]) */ -#define OP_OffsetLimit 144 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ -#define OP_AggStep0 145 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggStep 146 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggFinal 147 /* synopsis: accum=r[P1] N=P2 */ -#define OP_Expire 148 -#define OP_TableLock 149 /* synopsis: iDb=P1 root=P2 write=P3 */ -#define OP_VBegin 150 -#define OP_VCreate 151 -#define OP_VDestroy 152 -#define OP_VOpen 153 -#define OP_VColumn 154 /* synopsis: r[P3]=vcolumn(P2) */ -#define OP_VRename 155 -#define OP_Pagecount 156 -#define OP_MaxPgcnt 157 -#define OP_CursorHint 158 -#define OP_Noop 159 -#define OP_Explain 160 +#define OP_Affinity 98 /* synopsis: affinity(r[P1@P2]) */ +#define OP_MakeRecord 99 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ +#define OP_Count 100 /* synopsis: r[P2]=count() */ +#define OP_ReadCookie 101 +#define OP_SetCookie 102 +#define OP_ReopenIdx 103 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenRead 104 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenWrite 105 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenAutoindex 106 /* synopsis: nColumn=P2 */ +#define OP_OpenEphemeral 107 /* synopsis: nColumn=P2 */ +#define OP_SorterOpen 108 +#define OP_SequenceTest 109 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ +#define OP_OpenPseudo 110 /* synopsis: P3 columns in r[P2] */ +#define OP_Close 111 +#define OP_ColumnsUsed 112 +#define OP_Sequence 113 /* synopsis: r[P2]=cursor[P1].ctr++ */ +#define OP_NewRowid 114 /* synopsis: r[P2]=rowid */ +#define OP_Insert 115 /* synopsis: intkey=r[P3] data=r[P2] */ +#define OP_InsertInt 116 /* synopsis: intkey=P3 data=r[P2] */ +#define OP_Delete 117 +#define OP_ResetCount 118 +#define OP_SorterCompare 119 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ +#define OP_SorterData 120 /* synopsis: r[P2]=data */ +#define OP_RowKey 121 /* synopsis: r[P2]=key */ +#define OP_RowData 122 /* synopsis: r[P2]=data */ +#define OP_Rowid 123 /* synopsis: r[P2]=rowid */ +#define OP_NullRow 124 +#define OP_SorterInsert 125 +#define OP_IdxInsert 126 /* synopsis: key=r[P2] */ +#define OP_IdxDelete 127 /* synopsis: key=r[P2@P3] */ +#define OP_Seek 128 /* synopsis: Move P3 to P1.rowid */ +#define OP_IdxRowid 129 /* synopsis: r[P2]=rowid */ +#define OP_Destroy 130 +#define OP_Clear 131 +#define OP_Real 132 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ +#define OP_ResetSorter 133 +#define OP_CreateIndex 134 /* synopsis: r[P2]=root iDb=P1 */ +#define OP_CreateTable 135 /* synopsis: r[P2]=root iDb=P1 */ +#define OP_ParseSchema 136 +#define OP_LoadAnalysis 137 +#define OP_DropTable 138 +#define OP_DropIndex 139 +#define OP_DropTrigger 140 +#define OP_IntegrityCk 141 +#define OP_RowSetAdd 142 /* synopsis: rowset(P1)=r[P2] */ +#define OP_Param 143 +#define OP_FkCounter 144 /* synopsis: fkctr[P1]+=P2 */ +#define OP_MemMax 145 /* synopsis: r[P1]=max(r[P1],r[P2]) */ +#define OP_OffsetLimit 146 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ +#define OP_AggStep0 147 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggStep 148 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggFinal 149 /* synopsis: accum=r[P1] N=P2 */ +#define OP_Expire 150 +#define OP_TableLock 151 /* synopsis: iDb=P1 root=P2 write=P3 */ +#define OP_VBegin 152 +#define OP_VCreate 153 +#define OP_VDestroy 154 +#define OP_VOpen 155 +#define OP_VColumn 156 /* synopsis: r[P3]=vcolumn(P2) */ +#define OP_VRename 157 +#define OP_Pagecount 158 +#define OP_MaxPgcnt 159 +#define OP_CursorHint 160 +#define OP_Noop 161 +#define OP_Explain 162 /* Properties such as "out2" or "jump" that are specified in ** comments following the "case" for each opcode in the vdbe.c @@ -12513,23 +12738,23 @@ typedef struct VdbeOpList VdbeOpList; /* 8 */ 0x00, 0x10, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01,\ /* 16 */ 0x03, 0x03, 0x01, 0x12, 0x01, 0x03, 0x03, 0x09,\ /* 24 */ 0x09, 0x09, 0x09, 0x26, 0x26, 0x09, 0x09, 0x09,\ -/* 32 */ 0x09, 0x01, 0x03, 0x03, 0x0b, 0x0b, 0x0b, 0x0b,\ +/* 32 */ 0x09, 0x09, 0x03, 0x03, 0x0b, 0x0b, 0x0b, 0x0b,\ /* 40 */ 0x0b, 0x0b, 0x01, 0x26, 0x26, 0x26, 0x26, 0x26,\ /* 48 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x01, 0x12, 0x01,\ -/* 56 */ 0x01, 0x01, 0x01, 0x01, 0x23, 0x0b, 0x01, 0x01,\ -/* 64 */ 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x02, 0x02,\ -/* 72 */ 0x08, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10,\ -/* 80 */ 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00,\ -/* 88 */ 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,\ -/* 96 */ 0x00, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,\ -/* 104 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\ -/* 112 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 120 */ 0x00, 0x10, 0x00, 0x04, 0x04, 0x00, 0x00, 0x10,\ -/* 128 */ 0x10, 0x00, 0x00, 0x10, 0x10, 0x10, 0x00, 0x00,\ -/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x00, 0x04,\ -/* 144 */ 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 152 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ -/* 160 */ 0x00,} +/* 56 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x23, 0x0b,\ +/* 64 */ 0x01, 0x01, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01,\ +/* 72 */ 0x02, 0x02, 0x08, 0x00, 0x10, 0x10, 0x10, 0x10,\ +/* 80 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00,\ +/* 88 */ 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00,\ +/* 96 */ 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ +/* 104 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 112 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 120 */ 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x04, 0x00,\ +/* 128 */ 0x00, 0x10, 0x10, 0x00, 0x10, 0x00, 0x10, 0x10,\ +/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10,\ +/* 144 */ 0x00, 0x04, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 152 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,\ +/* 160 */ 0x00, 0x00, 0x00,} /* The sqlite3P2Values() routine is able to run faster if it knows ** the value of the largest JUMP opcode. The smaller the maximum @@ -12537,7 +12762,7 @@ typedef struct VdbeOpList VdbeOpList; ** generated this include file strives to group all JUMP opcodes ** together near the beginning of the list. */ -#define SQLITE_MX_JUMP_OPCODE 69 /* Maximum JUMP opcode */ +#define SQLITE_MX_JUMP_OPCODE 71 /* Maximum JUMP opcode */ /************** End of opcodes.h *********************************************/ /************** Continuing where we left off in vdbe.h ***********************/ @@ -12684,7 +12909,7 @@ SQLITE_PRIVATE void sqlite3VdbeScanStatus(Vdbe*, int, int, int, LogEst, const ch # define sqlite3VdbeScanStatus(a,b,c,d,e) #endif -#endif +#endif /* SQLITE_VDBE_H */ /************** End of vdbe.h ************************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ @@ -12706,8 +12931,8 @@ SQLITE_PRIVATE void sqlite3VdbeScanStatus(Vdbe*, int, int, int, LogEst, const ch ** at a time and provides a journal for rollback. */ -#ifndef _PAGER_H_ -#define _PAGER_H_ +#ifndef SQLITE_PAGER_H +#define SQLITE_PAGER_H /* ** Default maximum size for persistent journal files. A negative @@ -12870,10 +13095,13 @@ SQLITE_PRIVATE int sqlite3PagerWalSupported(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerWalCallback(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerOpenWal(Pager *pPager, int *pisOpen); SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerUseWal(Pager *pPager); # ifdef SQLITE_ENABLE_SNAPSHOT SQLITE_PRIVATE int sqlite3PagerSnapshotGet(Pager *pPager, sqlite3_snapshot **ppSnapshot); SQLITE_PRIVATE int sqlite3PagerSnapshotOpen(Pager *pPager, sqlite3_snapshot *pSnapshot); # endif +#else +# define sqlite3PagerUseWal(x) 0 #endif #ifdef SQLITE_ENABLE_ZIPVFS @@ -12895,7 +13123,7 @@ SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager*); SQLITE_PRIVATE void *sqlite3PagerTempSpace(Pager*); SQLITE_PRIVATE int sqlite3PagerIsMemdb(Pager*); SQLITE_PRIVATE void sqlite3PagerCacheStat(Pager *, int, int, int *); -SQLITE_PRIVATE void sqlite3PagerClearCache(Pager *); +SQLITE_PRIVATE void sqlite3PagerClearCache(Pager*); SQLITE_PRIVATE int sqlite3SectorSize(sqlite3_file *); /* Functions used to truncate the database file. */ @@ -12922,7 +13150,7 @@ SQLITE_PRIVATE void sqlite3PagerRefdump(Pager*); # define enable_simulated_io_errors() #endif -#endif /* _PAGER_H_ */ +#endif /* SQLITE_PAGER_H */ /************** End of pager.h ***********************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ @@ -13160,8 +13388,8 @@ SQLITE_PRIVATE int sqlite3PCachePercentDirty(PCache*); ** This file contains pre-processor directives related to operating system ** detection and/or setup. */ -#ifndef _OS_SETUP_H_ -#define _OS_SETUP_H_ +#ifndef SQLITE_OS_SETUP_H +#define SQLITE_OS_SETUP_H /* ** Figure out if we are dealing with Unix, Windows, or some other operating @@ -13201,7 +13429,7 @@ SQLITE_PRIVATE int sqlite3PCachePercentDirty(PCache*); # endif #endif -#endif /* _OS_SETUP_H_ */ +#endif /* SQLITE_OS_SETUP_H */ /************** End of os_setup.h ********************************************/ /************** Continuing where we left off in os.h *************************/ @@ -13506,7 +13734,7 @@ SQLITE_PRIVATE void sqlite3OsCloseFree(sqlite3_file *); ** databases may be attached. */ struct Db { - char *zName; /* Name of this database */ + char *zDbSName; /* Name of this database. (schema name, not filename) */ Btree *pBt; /* The B*Tree structure for this database file */ u8 safety_level; /* How aggressive at syncing data to disk */ u8 bSyncSet; /* True if "PRAGMA synchronous=N" has been run */ @@ -13658,6 +13886,15 @@ SQLITE_PRIVATE void sqlite3CryptFunc(sqlite3_context*,int,sqlite3_value**); const char*); #endif +#ifndef SQLITE_OMIT_DEPRECATED +/* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing +** in the style of sqlite3_trace() +*/ +#define SQLITE_TRACE_LEGACY 0x80 +#else +#define SQLITE_TRACE_LEGACY 0 +#endif /* SQLITE_OMIT_DEPRECATED */ + /* ** Each database connection is an instance of the following structure. @@ -13687,6 +13924,7 @@ struct sqlite3 { u8 suppressErr; /* Do not issue error messages if true */ u8 vtabOnConflict; /* Value to return for s3_vtab_on_conflict() */ u8 isTransactionSavepoint; /* True if the outermost savepoint is a TS */ + u8 mTrace; /* zero or more SQLITE_TRACE flags */ int nextPagesize; /* Pagesize after VACUUM if >0 */ u32 magic; /* Magic number for detect library misuse */ int nChange; /* Value returned by sqlite3_changes() */ @@ -13707,7 +13945,7 @@ struct sqlite3 { int nVDestroy; /* Number of active OP_VDestroy operations */ int nExtension; /* Number of loaded extensions */ void **aExtension; /* Array of shared library handles */ - void (*xTrace)(void*,const char*); /* Trace function */ + int (*xTrace)(u32,void*,void*,void*); /* Trace function */ void *pTraceArg; /* Argument to the trace function */ void (*xProfile)(void*,const char*,u64); /* Profiling function */ void *pProfileArg; /* Argument to profile function */ @@ -14132,6 +14370,7 @@ struct CollSeq { ** operator is NULL. It is added to certain comparison operators to ** prove that the operands are always NOT NULL. */ +#define SQLITE_KEEPNULL 0x08 /* Used by vector == or <> */ #define SQLITE_JUMPIFNULL 0x10 /* jumps if either operand is NULL */ #define SQLITE_STOREP2 0x20 /* Store result in reg[P2] rather than jump */ #define SQLITE_NULLEQ 0x80 /* NULL=NULL */ @@ -14696,9 +14935,11 @@ struct Expr { int iTable; /* TK_COLUMN: cursor number of table holding column ** TK_REGISTER: register number ** TK_TRIGGER: 1 -> new, 0 -> old - ** EP_Unlikely: 134217728 times likelihood */ + ** EP_Unlikely: 134217728 times likelihood + ** TK_SELECT: 1st register of result vector */ ynVar iColumn; /* TK_COLUMN: column index. -1 for rowid. - ** TK_VARIABLE: variable number (always >= 1). */ + ** TK_VARIABLE: variable number (always >= 1). + ** TK_SELECT_COLUMN: column of the result vector */ i16 iAgg; /* Which entry in pAggInfo->aCol[] or ->aFunc[] */ i16 iRightJoinTable; /* If EP_FromJoin, the right table of the join */ u8 op2; /* TK_REGISTER: original value of Expr.op @@ -14734,6 +14975,7 @@ struct Expr { #define EP_CanBeNull 0x100000 /* Can be null despite NOT NULL constraint */ #define EP_Subquery 0x200000 /* Tree contains a TK_SELECT operator */ #define EP_Alias 0x400000 /* Is an alias for a result set column */ +#define EP_Leaf 0x800000 /* Expr.pLeft, .pRight, .u.pSelect all NULL */ /* ** Combinations of two or more EP_* flags @@ -14902,7 +15144,7 @@ struct SrcList { int regReturn; /* Register holding return address of addrFillSub */ int regResult; /* Registers holding results of a co-routine */ struct { - u8 jointype; /* Type of join between this able and the previous */ + u8 jointype; /* Type of join between this table and the previous */ unsigned notIndexed :1; /* True if there is a NOT INDEXED clause */ unsigned isIndexedBy :1; /* True if there is an INDEXED BY clause */ unsigned isTabFunc :1; /* True if table-valued-function syntax */ @@ -14948,19 +15190,20 @@ struct SrcList { #define WHERE_ORDERBY_MIN 0x0001 /* ORDER BY processing for min() func */ #define WHERE_ORDERBY_MAX 0x0002 /* ORDER BY processing for max() func */ #define WHERE_ONEPASS_DESIRED 0x0004 /* Want to do one-pass UPDATE/DELETE */ -#define WHERE_DUPLICATES_OK 0x0008 /* Ok to return a row more than once */ -#define WHERE_OMIT_OPEN_CLOSE 0x0010 /* Table cursors are already open */ -#define WHERE_FORCE_TABLE 0x0020 /* Do not use an index-only search */ -#define WHERE_ONETABLE_ONLY 0x0040 /* Only code the 1st table in pTabList */ -#define WHERE_NO_AUTOINDEX 0x0080 /* Disallow automatic indexes */ -#define WHERE_GROUPBY 0x0100 /* pOrderBy is really a GROUP BY */ -#define WHERE_DISTINCTBY 0x0200 /* pOrderby is really a DISTINCT clause */ -#define WHERE_WANT_DISTINCT 0x0400 /* All output needs to be distinct */ -#define WHERE_SORTBYGROUP 0x0800 /* Support sqlite3WhereIsSorted() */ -#define WHERE_REOPEN_IDX 0x1000 /* Try to use OP_ReopenIdx */ -#define WHERE_ONEPASS_MULTIROW 0x2000 /* ONEPASS is ok with multiple rows */ -#define WHERE_USE_LIMIT 0x4000 /* There is a constant LIMIT clause */ -#define WHERE_SEEK_TABLE 0x8000 /* Do not defer seeks on main table */ +#define WHERE_ONEPASS_MULTIROW 0x0008 /* ONEPASS is ok with multiple rows */ +#define WHERE_DUPLICATES_OK 0x0010 /* Ok to return a row more than once */ +#define WHERE_OR_SUBCLAUSE 0x0020 /* Processing a sub-WHERE as part of + ** the OR optimization */ +#define WHERE_GROUPBY 0x0040 /* pOrderBy is really a GROUP BY */ +#define WHERE_DISTINCTBY 0x0080 /* pOrderby is really a DISTINCT clause */ +#define WHERE_WANT_DISTINCT 0x0100 /* All output needs to be distinct */ +#define WHERE_SORTBYGROUP 0x0200 /* Support sqlite3WhereIsSorted() */ +#define WHERE_SEEK_TABLE 0x0400 /* Do not defer seeks on main table */ +#define WHERE_ORDERBY_LIMIT 0x0800 /* ORDERBY+LIMIT on the inner loop */ + /* 0x1000 not currently used */ + /* 0x2000 not currently used */ +#define WHERE_USE_LIMIT 0x4000 /* Use the LIMIT in cost estimates */ + /* 0x8000 not currently used */ /* Allowed return values from sqlite3WhereIsDistinct() */ @@ -15178,7 +15421,7 @@ struct Select { */ struct SelectDest { u8 eDest; /* How to dispose of the results. On of SRT_* above. */ - char affSdst; /* Affinity used when eDest==SRT_Set */ + char *zAffSdst; /* Affinity used when eDest==SRT_Set */ int iSDParm; /* A parameter used by the eDest disposal method */ int iSdst; /* Base register where results are written */ int nSdst; /* Number of registers allocated */ @@ -15284,36 +15527,23 @@ struct Parse { u8 okConstFactor; /* OK to factor out constants */ u8 disableLookaside; /* Number of times lookaside has been disabled */ u8 nColCache; /* Number of entries in aColCache[] */ - int aTempReg[8]; /* Holding area for temporary registers */ int nRangeReg; /* Size of the temporary register block */ int iRangeReg; /* First register in temporary register block */ int nErr; /* Number of errors seen */ int nTab; /* Number of previously allocated VDBE cursors */ int nMem; /* Number of memory cells used so far */ - int nSet; /* Number of sets used so far */ - int nOnce; /* Number of OP_Once instructions so far */ int nOpAlloc; /* Number of slots allocated for Vdbe.aOp[] */ int szOpAlloc; /* Bytes of memory space allocated for Vdbe.aOp[] */ - int iFixedOp; /* Never back out opcodes iFixedOp-1 or earlier */ int ckBase; /* Base register of data during check constraints */ int iSelfTab; /* Table of an index whose exprs are being coded */ int iCacheLevel; /* ColCache valid when aColCache[].iLevel<=iCacheLevel */ int iCacheCnt; /* Counter used to generate aColCache[].lru values */ int nLabel; /* Number of labels used */ int *aLabel; /* Space to hold the labels */ - struct yColCache { - int iTable; /* Table cursor number */ - i16 iColumn; /* Table column number */ - u8 tempReg; /* iReg is a temp register that needs to be freed */ - int iLevel; /* Nesting level */ - int iReg; /* Reg with value of this column. 0 means none. */ - int lru; /* Least recently used entry has the smallest value */ - } aColCache[SQLITE_N_COLCACHE]; /* One for each column cache entry */ ExprList *pConstExpr;/* Constant expressions */ Token constraintName;/* Name of the constraint currently being parsed */ yDbMask writeMask; /* Start a write transaction on these databases */ yDbMask cookieMask; /* Bitmask of schema verified databases */ - int cookieValue[SQLITE_MAX_ATTACHED+2]; /* Values of cookies to verify */ int regRowid; /* Register holding rowid of CREATE TABLE entry */ int regRoot; /* Register holding root page number for new objects */ int nMaxArg; /* Max args passed to user function by sub-program */ @@ -15326,8 +15556,6 @@ struct Parse { TableLock *aTableLock; /* Required table locks for shared-cache mode */ #endif AutoincInfo *pAinc; /* Information about AUTOINCREMENT counters */ - - /* Information used while coding trigger programs. */ Parse *pToplevel; /* Parse structure for main program (or NULL) */ Table *pTriggerTab; /* Table triggers are being coded for */ int addrCrTab; /* Address of OP_CreateTable opcode on CREATE TABLE */ @@ -15338,6 +15566,25 @@ struct Parse { u8 eOrconf; /* Default ON CONFLICT policy for trigger steps */ u8 disableTriggers; /* True to disable triggers */ + /************************************************************************** + ** Fields above must be initialized to zero. The fields that follow, + ** down to the beginning of the recursive section, do not need to be + ** initialized as they will be set before being used. The boundary is + ** determined by offsetof(Parse,aColCache). + **************************************************************************/ + + struct yColCache { + int iTable; /* Table cursor number */ + i16 iColumn; /* Table column number */ + u8 tempReg; /* iReg is a temp register that needs to be freed */ + int iLevel; /* Nesting level */ + int iReg; /* Reg with value of this column. 0 means none. */ + int lru; /* Least recently used entry has the smallest value */ + } aColCache[SQLITE_N_COLCACHE]; /* One for each column cache entry */ + int aTempReg[8]; /* Holding area for temporary registers */ + Token sNameToken; /* Token with unqualified schema object name */ + Token sLastToken; /* The last token parsed */ + /************************************************************************ ** Above is constant between recursions. Below is reset before and after ** each recursion. The boundary between these two regions is determined @@ -15353,7 +15600,6 @@ struct Parse { u8 declareVtab; /* True if inside sqlite3_declare_vtab() */ int nVtabLock; /* Number of virtual tables to lock */ #endif - int nAlias; /* Number of aliased result set columns */ int nHeight; /* Expression tree height of current sub-select */ #ifndef SQLITE_OMIT_EXPLAIN int iSelectId; /* ID of current select for EXPLAIN output */ @@ -15365,8 +15611,6 @@ struct Parse { Table *pNewTable; /* A table being constructed by CREATE TABLE */ Trigger *pNewTrigger; /* Trigger under construct by a CREATE TRIGGER */ const char *zAuthContext; /* The 6th parameter to db->xAuth callbacks */ - Token sNameToken; /* Token with unqualified schema object name */ - Token sLastToken; /* The last token parsed */ #ifndef SQLITE_OMIT_VIRTUALTABLE Token sArg; /* Complete text of a module argument */ Table **apVtabLock; /* Pointer to virtual tables needing locking */ @@ -15377,6 +15621,14 @@ struct Parse { With *pWithToFree; /* Free this WITH object at the end of the parse */ }; +/* +** Sizes and pointers of various parts of the Parse object. +*/ +#define PARSE_HDR_SZ offsetof(Parse,aColCache) /* Recursive part w/o aColCache*/ +#define PARSE_RECURSE_SZ offsetof(Parse,nVar) /* Recursive part */ +#define PARSE_TAIL_SZ (sizeof(Parse)-PARSE_RECURSE_SZ) /* Non-recursive part */ +#define PARSE_TAIL(X) (((char*)(X))+PARSE_RECURSE_SZ) /* Pointer to tail */ + /* ** Return true if currently inside an sqlite3_declare_vtab() call. */ @@ -15625,6 +15877,7 @@ struct Sqlite3Config { int (*xTestCallback)(int); /* Invoked by sqlite3FaultSim() */ #endif int bLocaltimeFault; /* True to fail localtime() calls */ + int iOnceResetThreshold; /* When to reset OP_Once counters */ }; /* @@ -15663,6 +15916,7 @@ struct Walker { struct SrcCount *pSrcCount; /* Counting column references */ struct CCurHint *pCCurHint; /* Used by codeCursorHint() */ int *aiCol; /* array of column indexes */ + struct IdxCover *pIdxCover; /* Check for index coverage */ } u; }; @@ -15846,11 +16100,15 @@ SQLITE_PRIVATE int sqlite3HeapNearlyFull(void); # define sqlite3StackFree(D,P) sqlite3DbFree(D,P) #endif -#ifdef SQLITE_ENABLE_MEMSYS3 -SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys3(void); -#endif +/* Do not allow both MEMSYS5 and MEMSYS3 to be defined together. If they +** are, disable MEMSYS3 +*/ #ifdef SQLITE_ENABLE_MEMSYS5 SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys5(void); +#undef SQLITE_ENABLE_MEMSYS3 +#endif +#ifdef SQLITE_ENABLE_MEMSYS3 +SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys3(void); #endif @@ -15905,6 +16163,7 @@ SQLITE_PRIVATE void *sqlite3TestTextToPtr(const char*); #if defined(SQLITE_DEBUG) SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView*, const Expr*, u8); +SQLITE_PRIVATE void sqlite3TreeViewBareExprList(TreeView*, const ExprList*, const char*); SQLITE_PRIVATE void sqlite3TreeViewExprList(TreeView*, const ExprList*, u8, const char*); SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView*, const Select*, u8); SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView*, const With*, u8); @@ -15933,9 +16192,10 @@ SQLITE_PRIVATE Expr *sqlite3PExpr(Parse*, int, Expr*, Expr*, const Token*); SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse*, Expr*, Select*); SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3*,Expr*, Expr*); SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, Token*); -SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse*, Expr*); +SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse*, Expr*, u32); SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3*, Expr*); SQLITE_PRIVATE ExprList *sqlite3ExprListAppend(Parse*,ExprList*,Expr*); +SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector(Parse*,ExprList*,IdList*,Expr*); SQLITE_PRIVATE void sqlite3ExprListSetSortOrder(ExprList*,int); SQLITE_PRIVATE void sqlite3ExprListSetName(Parse*,ExprList*,Token*,int); SQLITE_PRIVATE void sqlite3ExprListSetSpan(Parse*,ExprList*,ExprSpan*); @@ -15971,7 +16231,6 @@ SQLITE_PRIVATE void sqlite3EndTable(Parse*,Token*,Token*,u8,Select*); SQLITE_PRIVATE int sqlite3ParseUri(const char*,const char*,unsigned int*, sqlite3_vfs**,char**,char **); SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3*,const char*); -SQLITE_PRIVATE int sqlite3CodeOnce(Parse *); #ifdef SQLITE_OMIT_BUILTIN_TEST # define sqlite3FaultSim(X) SQLITE_OK @@ -16033,8 +16292,8 @@ SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse*, SrcList*); SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3*, IdList*); SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3*, SrcList*); SQLITE_PRIVATE Index *sqlite3AllocateIndexObject(sqlite3*,i16,int,char**); -SQLITE_PRIVATE Index *sqlite3CreateIndex(Parse*,Token*,Token*,SrcList*,ExprList*,int,Token*, - Expr*, int, int); +SQLITE_PRIVATE void sqlite3CreateIndex(Parse*,Token*,Token*,SrcList*,ExprList*,int,Token*, + Expr*, int, int, u8); SQLITE_PRIVATE void sqlite3DropIndex(Parse*, SrcList*, int); SQLITE_PRIVATE int sqlite3Select(Parse*, Select*, SelectDest*); SQLITE_PRIVATE Select *sqlite3SelectNew(Parse*,ExprList*,SrcList*,Expr*,ExprList*, @@ -16053,6 +16312,7 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo*); SQLITE_PRIVATE LogEst sqlite3WhereOutputRowCount(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsDistinct(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsOrdered(WhereInfo*); +SQLITE_PRIVATE int sqlite3WhereOrderedInnerLoop(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsSorted(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereContinueLabel(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereBreakLabel(WhereInfo*); @@ -16086,19 +16346,22 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse*, Expr*, int, int); SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse*, Expr*, int, int); SQLITE_PRIVATE void sqlite3ExprIfFalseDup(Parse*, Expr*, int, int); SQLITE_PRIVATE Table *sqlite3FindTable(sqlite3*,const char*, const char*); -SQLITE_PRIVATE Table *sqlite3LocateTable(Parse*,int isView,const char*, const char*); -SQLITE_PRIVATE Table *sqlite3LocateTableItem(Parse*,int isView,struct SrcList_item *); +#define LOCATE_VIEW 0x01 +#define LOCATE_NOERR 0x02 +SQLITE_PRIVATE Table *sqlite3LocateTable(Parse*,u32 flags,const char*, const char*); +SQLITE_PRIVATE Table *sqlite3LocateTableItem(Parse*,u32 flags,struct SrcList_item *); SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3*,const char*, const char*); SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTable(sqlite3*,int,const char*); SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3*,int,const char*); -SQLITE_PRIVATE void sqlite3Vacuum(Parse*); -SQLITE_PRIVATE int sqlite3RunVacuum(char**, sqlite3*); +SQLITE_PRIVATE void sqlite3Vacuum(Parse*,Token*); +SQLITE_PRIVATE int sqlite3RunVacuum(char**, sqlite3*, int); SQLITE_PRIVATE char *sqlite3NameFromToken(sqlite3*, Token*); SQLITE_PRIVATE int sqlite3ExprCompare(Expr*, Expr*, int); SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList*, ExprList*, int); SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Expr*, Expr*, int); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); +SQLITE_PRIVATE int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx); SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr*, SrcList*); SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse*); #ifndef SQLITE_OMIT_BUILTIN_TEST @@ -16267,6 +16530,7 @@ SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(sqlite3*, Index*); SQLITE_PRIVATE void sqlite3TableAffinity(Vdbe*, Table*, int); SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2); SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity); +SQLITE_PRIVATE char sqlite3TableColumnAffinity(Table*,int); SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr); SQLITE_PRIVATE int sqlite3Atoi64(const char*, i64*, int, u8); SQLITE_PRIVATE int sqlite3DecOrHexToI64(const char*, i64*); @@ -16332,7 +16596,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable(Parse*, SrcList*, Token*); SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *, int *); SQLITE_PRIVATE void sqlite3NestedParse(Parse*, const char*, ...); SQLITE_PRIVATE void sqlite3ExpirePreparedStatements(sqlite3*); -SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *, Expr *, int, int); +SQLITE_PRIVATE int sqlite3CodeSubselect(Parse*, Expr *, int, int); SQLITE_PRIVATE void sqlite3SelectPrep(Parse*, Select*, NameContext*); SQLITE_PRIVATE void sqlite3SelectWrongNumTermsError(Parse *pParse, Select *p); SQLITE_PRIVATE int sqlite3MatchSpanName(const char*, const char*, const char*, const char*); @@ -16387,12 +16651,20 @@ SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *, SrcList *, int, int); SQLITE_PRIVATE void sqlite3BackupRestart(sqlite3_backup *); SQLITE_PRIVATE void sqlite3BackupUpdate(sqlite3_backup *, Pgno, const u8 *); +#ifndef SQLITE_OMIT_SUBQUERY +SQLITE_PRIVATE int sqlite3ExprCheckIN(Parse*, Expr*); +#else +# define sqlite3ExprCheckIN(x,y) SQLITE_OK +#endif + #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 SQLITE_PRIVATE void sqlite3AnalyzeFunctions(void); -SQLITE_PRIVATE int sqlite3Stat4ProbeSetValue(Parse*,Index*,UnpackedRecord**,Expr*,u8,int,int*); +SQLITE_PRIVATE int sqlite3Stat4ProbeSetValue( + Parse*,Index*,UnpackedRecord**,Expr*,int,int,int*); SQLITE_PRIVATE int sqlite3Stat4ValueFromExpr(Parse*, Expr*, u8, sqlite3_value**); SQLITE_PRIVATE void sqlite3Stat4ProbeFree(UnpackedRecord*); SQLITE_PRIVATE int sqlite3Stat4Column(sqlite3*, const void*, int, int, sqlite3_value**); +SQLITE_PRIVATE char sqlite3IndexColumnAffinity(sqlite3*, Index*, int); #endif /* @@ -16545,7 +16817,7 @@ SQLITE_PRIVATE void sqlite3EndBenignMalloc(void); #define IN_INDEX_NOOP_OK 0x0001 /* OK to return IN_INDEX_NOOP */ #define IN_INDEX_MEMBERSHIP 0x0002 /* IN operator used for membership test */ #define IN_INDEX_LOOP 0x0004 /* IN operator used as a loop */ -SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, u32, int*); +SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, u32, int*, int*); SQLITE_PRIVATE int sqlite3JournalOpen(sqlite3_vfs *, const char *, sqlite3_file *, int, int); SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *); @@ -16650,7 +16922,12 @@ SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread*, void**); SQLITE_PRIVATE int sqlite3DbstatRegister(sqlite3*); #endif -#endif /* _SQLITEINT_H_ */ +SQLITE_PRIVATE int sqlite3ExprVectorSize(Expr *pExpr); +SQLITE_PRIVATE int sqlite3ExprIsVector(Expr *pExpr); +SQLITE_PRIVATE Expr *sqlite3VectorFieldSubexpr(Expr*, int); +SQLITE_PRIVATE Expr *sqlite3ExprForVectorField(Parse*,Expr*,int); + +#endif /* SQLITEINT_H */ /************** End of sqliteInt.h *******************************************/ /************** Begin file global.c ******************************************/ @@ -16735,16 +17012,13 @@ SQLITE_PRIVATE const unsigned char sqlite3UpperToLower[] = { ** ** (x & ~(map[x]&0x20)) ** -** Standard function tolower() is implemented using the sqlite3UpperToLower[] +** The equivalent of tolower() is implemented using the sqlite3UpperToLower[] ** array. tolower() is used more often than toupper() by SQLite. ** -** Bit 0x40 is set if the character non-alphanumeric and can be used in an +** Bit 0x40 is set if the character is non-alphanumeric and can be used in an ** SQLite identifier. Identifiers are alphanumerics, "_", "$", and any ** non-ASCII UTF character. Hence the test for whether or not a character is ** part of an identifier is 0x46. -** -** SQLite's versions are identical to the standard versions assuming a -** locale of "C". They are implemented as macros in sqliteInt.h. */ #ifdef SQLITE_ASCII SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { @@ -16817,7 +17091,7 @@ SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { #endif /* Statement journals spill to disk when their size exceeds the following -** threashold (in bytes). 0 means that statement journals are created and +** threshold (in bytes). 0 means that statement journals are created and ** written to disk immediately (the default behavior for SQLite versions ** before 3.12.0). -1 means always keep the entire statement journal in ** memory. (The statement journal is also always held entirely in memory @@ -16881,7 +17155,8 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { #ifndef SQLITE_OMIT_BUILTIN_TEST 0, /* xTestCallback */ #endif - 0 /* bLocaltimeFault */ + 0, /* bLocaltimeFault */ + 0x7ffffffe /* iOnceResetThreshold */ }; /* @@ -16904,7 +17179,7 @@ SQLITE_PRIVATE const Token sqlite3IntTokens[] = { ** The value of the "pending" byte must be 0x40000000 (1 byte past the ** 1-gibabyte boundary) in a compatible database. SQLite never uses ** the database page that contains the pending byte. It never attempts -** to read or write that page. The pending byte page is set assign +** to read or write that page. The pending byte page is set aside ** for use by the VFS layers as space for managing file locks. ** ** During testing, it is often desirable to move the pending byte to @@ -16985,6 +17260,15 @@ static const char * const azCompileOpt[] = { #if SQLITE_CHECK_PAGES "CHECK_PAGES", #endif +#if defined(__clang__) && defined(__clang_major__) + "COMPILER=clang-" CTIMEOPT_VAL(__clang_major__) "." + CTIMEOPT_VAL(__clang_minor__) "." + CTIMEOPT_VAL(__clang_patchlevel__), +#elif defined(_MSC_VER) + "COMPILER=msvc-" CTIMEOPT_VAL(_MSC_VER), +#elif defined(__GNUC__) && defined(__VERSION__) + "COMPILER=gcc-" __VERSION__, +#endif #if SQLITE_COVERAGE_TEST "COVERAGE_TEST", #endif @@ -17004,7 +17288,7 @@ static const char * const azCompileOpt[] = { "DISABLE_LFS", #endif #if SQLITE_ENABLE_8_3_NAMES - "ENABLE_8_3_NAMES", + "ENABLE_8_3_NAMES=" CTIMEOPT_VAL(SQLITE_ENABLE_8_3_NAMES), #endif #if SQLITE_ENABLE_API_ARMOR "ENABLE_API_ARMOR", @@ -17344,7 +17628,7 @@ static const char * const azCompileOpt[] = { ** The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix ** is not required for a match. */ -SQLITE_API int SQLITE_STDCALL sqlite3_compileoption_used(const char *zOptName){ +SQLITE_API int sqlite3_compileoption_used(const char *zOptName){ int i, n; #if SQLITE_ENABLE_API_ARMOR @@ -17372,7 +17656,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_compileoption_used(const char *zOptName){ ** Return the N-th compile-time option string. If N is out of range, ** return a NULL pointer. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_compileoption_get(int N){ +SQLITE_API const char *sqlite3_compileoption_get(int N){ if( N>=0 && NaDb[] entries referenced */ yDbMask lockMask; /* Subset of btreeMask that requires a lock */ - int iStatement; /* Statement number (or 0 if has not opened stmt) */ u32 aCounter[5]; /* Counters used by sqlite3_stmt_status() */ -#ifndef SQLITE_OMIT_TRACE - i64 startTime; /* Time when query started - used for profiling */ -#endif - i64 iCurrentTime; /* Value of julianday('now') for this statement */ - i64 nFkConstraint; /* Number of imm. FK constraints this VM */ - i64 nStmtDefCons; /* Number of def. constraints when stmt started */ - i64 nStmtDefImmCons; /* Number of def. imm constraints when stmt started */ char *zSql; /* Text of the SQL statement that generated this */ void *pFree; /* Free this when deleting the vdbe */ VdbeFrame *pFrame; /* Parent frame */ @@ -17813,8 +18085,6 @@ struct Vdbe { int nFrame; /* Number of frames in pFrame list */ u32 expmask; /* Binding to these vars invalidates VM */ SubProgram *pProgram; /* Linked list of all sub-programs used by VM */ - int nOnceFlag; /* Size of array aOnceFlag[] */ - u8 *aOnceFlag; /* Flags for OP_Once */ AuxData *pAuxData; /* Linked list of auxdata allocations */ #ifdef SQLITE_ENABLE_STMT_SCANSTATUS i64 *anExec; /* Number of times each op has been executed */ @@ -17826,10 +18096,11 @@ struct Vdbe { /* ** The following are allowed values for Vdbe.magic */ -#define VDBE_MAGIC_INIT 0x26bceaa5 /* Building a VDBE program */ -#define VDBE_MAGIC_RUN 0xbdf20da3 /* VDBE is ready to execute */ -#define VDBE_MAGIC_HALT 0x519c2973 /* VDBE has completed execution */ -#define VDBE_MAGIC_DEAD 0xb606c3c8 /* The VDBE has been deallocated */ +#define VDBE_MAGIC_INIT 0x16bceaa5 /* Building a VDBE program */ +#define VDBE_MAGIC_RUN 0x2df20da3 /* VDBE is ready to execute */ +#define VDBE_MAGIC_HALT 0x319c2973 /* VDBE has completed execution */ +#define VDBE_MAGIC_RESET 0x48fa9f76 /* Reset and ready to run again */ +#define VDBE_MAGIC_DEAD 0x5606c3c8 /* The VDBE has been deallocated */ /* ** Structure used to store the context required by the @@ -17846,8 +18117,8 @@ struct PreUpdate { int iNewReg; /* Register for new.* values */ i64 iKey1; /* First key value passed to hook */ i64 iKey2; /* Second key value passed to hook */ - int iPKey; /* If not negative index of IPK column */ Mem *aNew; /* Array of new.* values */ + Table *pTab; /* Schema object being upated */ }; /* @@ -17961,7 +18232,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *); #define ExpandBlob(P) SQLITE_OK #endif -#endif /* !defined(_VDBEINT_H_) */ +#endif /* !defined(SQLITE_VDBEINT_H) */ /************** End of vdbeInt.h *********************************************/ /************** Continuing where we left off in status.c *********************/ @@ -18082,7 +18353,7 @@ SQLITE_PRIVATE void sqlite3StatusHighwater(int op, int X){ /* ** Query status information. */ -SQLITE_API int SQLITE_STDCALL sqlite3_status64( +SQLITE_API int sqlite3_status64( int op, sqlite3_int64 *pCurrent, sqlite3_int64 *pHighwater, @@ -18107,8 +18378,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_status64( (void)pMutex; /* Prevent warning when SQLITE_THREADSAFE=0 */ return SQLITE_OK; } -SQLITE_API int SQLITE_STDCALL sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag){ - sqlite3_int64 iCur, iHwtr; +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag){ + sqlite3_int64 iCur = 0, iHwtr = 0; int rc; #ifdef SQLITE_ENABLE_API_ARMOR if( pCurrent==0 || pHighwater==0 ) return SQLITE_MISUSE_BKPT; @@ -18124,7 +18395,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_status(int op, int *pCurrent, int *pHighwa /* ** Query status information for a single database connection */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_status( +SQLITE_API int sqlite3_db_status( sqlite3 *db, /* The database connection whose status is desired */ int op, /* Status verb */ int *pCurrent, /* Write current value here */ @@ -18169,6 +18440,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status( ** by all pagers associated with the given database connection. The ** highwater mark is meaningless and is returned as zero. */ + case SQLITE_DBSTATUS_CACHE_USED_SHARED: case SQLITE_DBSTATUS_CACHE_USED: { int totalUsed = 0; int i; @@ -18177,7 +18449,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status( Btree *pBt = db->aDb[i].pBt; if( pBt ){ Pager *pPager = sqlite3BtreePager(pBt); - totalUsed += sqlite3PagerMemUsed(pPager); + int nByte = sqlite3PagerMemUsed(pPager); + if( op==SQLITE_DBSTATUS_CACHE_USED_SHARED ){ + nByte = nByte / sqlite3BtreeConnectionCount(pBt); + } + totalUsed += nByte; } } sqlite3BtreeLeaveAll(db); @@ -19411,7 +19687,6 @@ static void currentTimeFunc( ){ time_t t; char *zFormat = (char *)sqlite3_user_data(context); - sqlite3 *db; sqlite3_int64 iT; struct tm *pTm; struct tm sNow; @@ -19480,9 +19755,7 @@ SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void){ ** This file contains OS interface code that is common to all ** architectures. */ -#define _SQLITE_OS_C_ 1 /* #include "sqliteInt.h" */ -#undef _SQLITE_OS_C_ /* ** If we compile with the SQLITE_TEST macro set, then the following block @@ -19799,7 +20072,7 @@ static sqlite3_vfs * SQLITE_WSD vfsList = 0; ** Locate a VFS by name. If no name is given, simply return the ** first VFS on the list. */ -SQLITE_API sqlite3_vfs *SQLITE_STDCALL sqlite3_vfs_find(const char *zVfs){ +SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfs){ sqlite3_vfs *pVfs = 0; #if SQLITE_THREADSAFE sqlite3_mutex *mutex; @@ -19845,7 +20118,7 @@ static void vfsUnlink(sqlite3_vfs *pVfs){ ** VFS multiple times. The new VFS becomes the default if makeDflt is ** true. */ -SQLITE_API int SQLITE_STDCALL sqlite3_vfs_register(sqlite3_vfs *pVfs, int makeDflt){ +SQLITE_API int sqlite3_vfs_register(sqlite3_vfs *pVfs, int makeDflt){ MUTEX_LOGIC(sqlite3_mutex *mutex;) #ifndef SQLITE_OMIT_AUTOINIT int rc = sqlite3_initialize(); @@ -19873,7 +20146,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_vfs_register(sqlite3_vfs *pVfs, int makeDf /* ** Unregister a VFS so that it is no longer accessible. */ -SQLITE_API int SQLITE_STDCALL sqlite3_vfs_unregister(sqlite3_vfs *pVfs){ +SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs *pVfs){ #if SQLITE_THREADSAFE sqlite3_mutex *mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER); #endif @@ -22224,7 +22497,7 @@ SQLITE_PRIVATE int sqlite3MutexEnd(void){ /* ** Retrieve a pointer to a static mutex or allocate a new dynamic one. */ -SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_mutex_alloc(int id){ +SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(int id){ #ifndef SQLITE_OMIT_AUTOINIT if( id<=SQLITE_MUTEX_RECURSIVE && sqlite3_initialize() ) return 0; if( id>SQLITE_MUTEX_RECURSIVE && sqlite3MutexInit() ) return 0; @@ -22245,7 +22518,7 @@ SQLITE_PRIVATE sqlite3_mutex *sqlite3MutexAlloc(int id){ /* ** Free a dynamic mutex. */ -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_free(sqlite3_mutex *p){ +SQLITE_API void sqlite3_mutex_free(sqlite3_mutex *p){ if( p ){ assert( sqlite3GlobalConfig.mutex.xMutexFree ); sqlite3GlobalConfig.mutex.xMutexFree(p); @@ -22256,7 +22529,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_mutex_free(sqlite3_mutex *p){ ** Obtain the mutex p. If some other thread already has the mutex, block ** until it can be obtained. */ -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_enter(sqlite3_mutex *p){ +SQLITE_API void sqlite3_mutex_enter(sqlite3_mutex *p){ if( p ){ assert( sqlite3GlobalConfig.mutex.xMutexEnter ); sqlite3GlobalConfig.mutex.xMutexEnter(p); @@ -22267,7 +22540,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_mutex_enter(sqlite3_mutex *p){ ** Obtain the mutex p. If successful, return SQLITE_OK. Otherwise, if another ** thread holds the mutex and it cannot be obtained, return SQLITE_BUSY. */ -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_try(sqlite3_mutex *p){ +SQLITE_API int sqlite3_mutex_try(sqlite3_mutex *p){ int rc = SQLITE_OK; if( p ){ assert( sqlite3GlobalConfig.mutex.xMutexTry ); @@ -22282,7 +22555,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_mutex_try(sqlite3_mutex *p){ ** is not currently entered. If a NULL pointer is passed as an argument ** this function is a no-op. */ -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_leave(sqlite3_mutex *p){ +SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex *p){ if( p ){ assert( sqlite3GlobalConfig.mutex.xMutexLeave ); sqlite3GlobalConfig.mutex.xMutexLeave(p); @@ -22294,11 +22567,11 @@ SQLITE_API void SQLITE_STDCALL sqlite3_mutex_leave(sqlite3_mutex *p){ ** The sqlite3_mutex_held() and sqlite3_mutex_notheld() routine are ** intended for use inside assert() statements. */ -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_held(sqlite3_mutex *p){ +SQLITE_API int sqlite3_mutex_held(sqlite3_mutex *p){ assert( p==0 || sqlite3GlobalConfig.mutex.xMutexHeld ); return p==0 || sqlite3GlobalConfig.mutex.xMutexHeld(p); } -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_notheld(sqlite3_mutex *p){ +SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){ assert( p==0 || sqlite3GlobalConfig.mutex.xMutexNotheld ); return p==0 || sqlite3GlobalConfig.mutex.xMutexNotheld(p); } @@ -22995,8 +23268,8 @@ SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. */ -#ifndef _HWTIME_H_ -#define _HWTIME_H_ +#ifndef SQLITE_HWTIME_H +#define SQLITE_HWTIME_H /* ** The following routine only works on pentium-class (or newer) processors. @@ -23064,7 +23337,7 @@ SQLITE_PRIVATE sqlite_uint64 sqlite3Hwtime(void){ return ((sqlite_uint64)0); } #endif -#endif /* !defined(_HWTIME_H_) */ +#endif /* !defined(SQLITE_HWTIME_H) */ /************** End of hwtime.h **********************************************/ /************** Continuing where we left off in os_common.h ******************/ @@ -23154,8 +23427,8 @@ SQLITE_API extern int sqlite3_open_file_count; ** ** This file contains code that is specific to Windows. */ -#ifndef _OS_WIN_H_ -#define _OS_WIN_H_ +#ifndef SQLITE_OS_WIN_H +#define SQLITE_OS_WIN_H /* ** Include the primary Windows SDK header file. @@ -23227,7 +23500,7 @@ SQLITE_API extern int sqlite3_open_file_count; # define SQLITE_OS_WIN_THREADS 0 #endif -#endif /* _OS_WIN_H_ */ +#endif /* SQLITE_OS_WIN_H */ /************** End of os_win.h **********************************************/ /************** Continuing where we left off in mutex_w32.c ******************/ @@ -23330,8 +23603,8 @@ static int winMutex_isNt = -1; /* <0 means "need to query" */ */ static LONG SQLITE_WIN32_VOLATILE winMutex_lock = 0; -SQLITE_API int SQLITE_STDCALL sqlite3_win32_is_nt(void); /* os_win.c */ -SQLITE_API void SQLITE_STDCALL sqlite3_win32_sleep(DWORD milliseconds); /* os_win.c */ +SQLITE_API int sqlite3_win32_is_nt(void); /* os_win.c */ +SQLITE_API void sqlite3_win32_sleep(DWORD milliseconds); /* os_win.c */ static int winMutexInit(void){ /* The first to increment to 1 does actual initialization */ @@ -23631,7 +23904,7 @@ SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){ ** held by SQLite. An example of non-essential memory is memory used to ** cache database pages that are not currently in use. */ -SQLITE_API int SQLITE_STDCALL sqlite3_release_memory(int n){ +SQLITE_API int sqlite3_release_memory(int n){ #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT return sqlite3PcacheReleaseMemory(n); #else @@ -23690,7 +23963,7 @@ SQLITE_PRIVATE sqlite3_mutex *sqlite3MallocMutex(void){ ** that was invoked when memory usage grew too large. Now it is a ** no-op. */ -SQLITE_API int SQLITE_STDCALL sqlite3_memory_alarm( +SQLITE_API int sqlite3_memory_alarm( void(*xCallback)(void *pArg, sqlite3_int64 used,int N), void *pArg, sqlite3_int64 iThreshold @@ -23706,7 +23979,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_memory_alarm( ** Set the soft heap-size limit for the library. Passing a zero or ** negative value indicates no limit. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_soft_heap_limit64(sqlite3_int64 n){ +SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 n){ sqlite3_int64 priorLimit; sqlite3_int64 excess; sqlite3_int64 nUsed; @@ -23728,7 +24001,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_soft_heap_limit64(sqlite3_int64 if( excess>0 ) sqlite3_release_memory((int)(excess & 0x7fffffff)); return priorLimit; } -SQLITE_API void SQLITE_STDCALL sqlite3_soft_heap_limit(int n){ +SQLITE_API void sqlite3_soft_heap_limit(int n){ if( n<0 ) n = 0; sqlite3_soft_heap_limit64(n); } @@ -23797,7 +24070,7 @@ SQLITE_PRIVATE void sqlite3MallocEnd(void){ /* ** Return the amount of memory currently checked out. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_used(void){ +SQLITE_API sqlite3_int64 sqlite3_memory_used(void){ sqlite3_int64 res, mx; sqlite3_status64(SQLITE_STATUS_MEMORY_USED, &res, &mx, 0); return res; @@ -23808,7 +24081,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_used(void){ ** checked out since either the beginning of this process ** or since the most recent reset. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_highwater(int resetFlag){ +SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag){ sqlite3_int64 res, mx; sqlite3_status64(SQLITE_STATUS_MEMORY_USED, &res, &mx, resetFlag); return mx; @@ -23888,13 +24161,13 @@ SQLITE_PRIVATE void *sqlite3Malloc(u64 n){ ** First make sure the memory subsystem is initialized, then do the ** allocation. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_malloc(int n){ +SQLITE_API void *sqlite3_malloc(int n){ #ifndef SQLITE_OMIT_AUTOINIT if( sqlite3_initialize() ) return 0; #endif return n<=0 ? 0 : sqlite3Malloc(n); } -SQLITE_API void *SQLITE_STDCALL sqlite3_malloc64(sqlite3_uint64 n){ +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64 n){ #ifndef SQLITE_OMIT_AUTOINIT if( sqlite3_initialize() ) return 0; #endif @@ -24037,7 +24310,7 @@ SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3 *db, void *p){ return db->lookaside.sz; } } -SQLITE_API sqlite3_uint64 SQLITE_STDCALL sqlite3_msize(void *p){ +SQLITE_API sqlite3_uint64 sqlite3_msize(void *p){ assert( sqlite3MemdebugNoType(p, (u8)~MEMTYPE_HEAP) ); assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); return p ? sqlite3GlobalConfig.m.xSize(p) : 0; @@ -24046,7 +24319,7 @@ SQLITE_API sqlite3_uint64 SQLITE_STDCALL sqlite3_msize(void *p){ /* ** Free memory previously obtained from sqlite3Malloc(). */ -SQLITE_API void SQLITE_STDCALL sqlite3_free(void *p){ +SQLITE_API void sqlite3_free(void *p){ if( p==0 ) return; /* IMP: R-49053-54554 */ assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); assert( sqlite3MemdebugNoType(p, (u8)~MEMTYPE_HEAP) ); @@ -24155,14 +24428,14 @@ SQLITE_PRIVATE void *sqlite3Realloc(void *pOld, u64 nBytes){ ** The public interface to sqlite3Realloc. Make sure that the memory ** subsystem is initialized prior to invoking sqliteRealloc. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_realloc(void *pOld, int n){ +SQLITE_API void *sqlite3_realloc(void *pOld, int n){ #ifndef SQLITE_OMIT_AUTOINIT if( sqlite3_initialize() ) return 0; #endif if( n<0 ) n = 0; /* IMP: R-26507-47431 */ return sqlite3Realloc(pOld, n); } -SQLITE_API void *SQLITE_STDCALL sqlite3_realloc64(void *pOld, sqlite3_uint64 n){ +SQLITE_API void *sqlite3_realloc64(void *pOld, sqlite3_uint64 n){ #ifndef SQLITE_OMIT_AUTOINIT if( sqlite3_initialize() ) return 0; #endif @@ -25389,7 +25662,7 @@ SQLITE_PRIVATE char *sqlite3MPrintf(sqlite3 *db, const char *zFormat, ...){ ** Print into memory obtained from sqlite3_malloc(). Omit the internal ** %-conversion extensions. */ -SQLITE_API char *SQLITE_STDCALL sqlite3_vmprintf(const char *zFormat, va_list ap){ +SQLITE_API char *sqlite3_vmprintf(const char *zFormat, va_list ap){ char *z; char zBase[SQLITE_PRINT_BUF_SIZE]; StrAccum acc; @@ -25413,7 +25686,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_vmprintf(const char *zFormat, va_list ap ** Print into memory obtained from sqlite3_malloc()(). Omit the internal ** %-conversion extensions. */ -SQLITE_API char *SQLITE_CDECL sqlite3_mprintf(const char *zFormat, ...){ +SQLITE_API char *sqlite3_mprintf(const char *zFormat, ...){ va_list ap; char *z; #ifndef SQLITE_OMIT_AUTOINIT @@ -25438,7 +25711,7 @@ SQLITE_API char *SQLITE_CDECL sqlite3_mprintf(const char *zFormat, ...){ ** ** sqlite3_vsnprintf() is the varargs version. */ -SQLITE_API char *SQLITE_STDCALL sqlite3_vsnprintf(int n, char *zBuf, const char *zFormat, va_list ap){ +SQLITE_API char *sqlite3_vsnprintf(int n, char *zBuf, const char *zFormat, va_list ap){ StrAccum acc; if( n<=0 ) return zBuf; #ifdef SQLITE_ENABLE_API_ARMOR @@ -25452,7 +25725,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_vsnprintf(int n, char *zBuf, const char sqlite3VXPrintf(&acc, zFormat, ap); return sqlite3StrAccumFinish(&acc); } -SQLITE_API char *SQLITE_CDECL sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){ +SQLITE_API char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){ char *z; va_list ap; va_start(ap,zFormat); @@ -25488,7 +25761,7 @@ static void renderLogMsg(int iErrCode, const char *zFormat, va_list ap){ /* ** Format and write a message to the log if logging is enabled. */ -SQLITE_API void SQLITE_CDECL sqlite3_log(int iErrCode, const char *zFormat, ...){ +SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...){ va_list ap; /* Vararg list */ if( sqlite3GlobalConfig.xLog ){ va_start(ap, zFormat); @@ -25653,7 +25926,7 @@ SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView *pView, const With *pWith, u8 m /* -** Generate a human-readable description of a the Select object. +** Generate a human-readable description of a Select object. */ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 moreToFollow){ int n = 0; @@ -25978,6 +26251,21 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m break; } #endif + case TK_MATCH: { + sqlite3TreeViewLine(pView, "MATCH {%d:%d}%s", + pExpr->iTable, pExpr->iColumn, zFlgs); + sqlite3TreeViewExpr(pView, pExpr->pRight, 0); + break; + } + case TK_VECTOR: { + sqlite3TreeViewBareExprList(pView, pExpr->x.pList, "VECTOR"); + break; + } + case TK_SELECT_COLUMN: { + sqlite3TreeViewLine(pView, "SELECT-COLUMN %d", pExpr->iColumn); + sqlite3TreeViewSelect(pView, pExpr->pLeft->x.pSelect, 0); + break; + } default: { sqlite3TreeViewLine(pView, "op=%d", pExpr->op); break; @@ -25994,21 +26282,20 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m sqlite3TreeViewPop(pView); } + /* ** Generate a human-readable explanation of an expression list. */ -SQLITE_PRIVATE void sqlite3TreeViewExprList( +SQLITE_PRIVATE void sqlite3TreeViewBareExprList( TreeView *pView, const ExprList *pList, - u8 moreToFollow, const char *zLabel ){ - int i; - pView = sqlite3TreeViewPush(pView, moreToFollow); if( zLabel==0 || zLabel[0]==0 ) zLabel = "LIST"; if( pList==0 ){ sqlite3TreeViewLine(pView, "%s (empty)", zLabel); }else{ + int i; sqlite3TreeViewLine(pView, "%s", zLabel); for(i=0; inExpr; i++){ int j = pList->a[i].u.x.iOrderByCol; @@ -26020,6 +26307,15 @@ SQLITE_PRIVATE void sqlite3TreeViewExprList( if( j ) sqlite3TreeViewPop(pView); } } +} +SQLITE_PRIVATE void sqlite3TreeViewExprList( + TreeView *pView, + const ExprList *pList, + u8 moreToFollow, + const char *zLabel +){ + pView = sqlite3TreeViewPush(pView, moreToFollow); + sqlite3TreeViewBareExprList(pView, pList, zLabel); sqlite3TreeViewPop(pView); } @@ -26059,7 +26355,7 @@ static SQLITE_WSD struct sqlite3PrngType { /* ** Return N random bytes. */ -SQLITE_API void SQLITE_STDCALL sqlite3_randomness(int N, void *pBuf){ +SQLITE_API void sqlite3_randomness(int N, void *pBuf){ unsigned char t; unsigned char *zBuf = pBuf; @@ -27262,7 +27558,7 @@ SQLITE_PRIVATE void sqlite3TokenInit(Token *p, char *z){ ** case-independent fashion, using the same definition of "case ** independence" that SQLite uses internally when comparing identifiers. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stricmp(const char *zLeft, const char *zRight){ +SQLITE_API int sqlite3_stricmp(const char *zLeft, const char *zRight){ if( zLeft==0 ){ return zRight ? -1 : 0; }else if( zRight==0 ){ @@ -27283,7 +27579,7 @@ SQLITE_PRIVATE int sqlite3StrICmp(const char *zLeft, const char *zRight){ } return c; } -SQLITE_API int SQLITE_STDCALL sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){ +SQLITE_API int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){ register unsigned char *a, *b; if( zLeft==0 ){ return zRight ? -1 : 0; @@ -28281,36 +28577,21 @@ SQLITE_PRIVATE int sqlite3SubInt64(i64 *pA, i64 iB){ return sqlite3AddInt64(pA, -iB); } } -#define TWOPOWER32 (((i64)1)<<32) -#define TWOPOWER31 (((i64)1)<<31) SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){ i64 iA = *pA; - i64 iA1, iA0, iB1, iB0, r; - - iA1 = iA/TWOPOWER32; - iA0 = iA % TWOPOWER32; - iB1 = iB/TWOPOWER32; - iB0 = iB % TWOPOWER32; - if( iA1==0 ){ - if( iB1==0 ){ - *pA *= iB; - return 0; - } - r = iA0*iB1; - }else if( iB1==0 ){ - r = iA1*iB0; - }else{ - /* If both iA1 and iB1 are non-zero, overflow will result */ - return 1; - } - testcase( r==(-TWOPOWER31)-1 ); - testcase( r==(-TWOPOWER31) ); - testcase( r==TWOPOWER31 ); - testcase( r==TWOPOWER31-1 ); - if( r<(-TWOPOWER31) || r>=TWOPOWER31 ) return 1; - r *= TWOPOWER32; - if( sqlite3AddInt64(&r, iA0*iB0) ) return 1; - *pA = r; + if( iB>0 ){ + if( iA>LARGEST_INT64/iB ) return 1; + if( iA0 ){ + if( iBLARGEST_INT64/-iB ) return 1; + } + } + *pA = iA*iB; return 0; } @@ -28505,7 +28786,11 @@ static unsigned int strHash(const char *z){ unsigned int h = 0; unsigned char c; while( (c = (unsigned char)*z++)!=0 ){ /*OPTIMIZATION-IF-TRUE*/ - h = (h<<3) ^ h ^ sqlite3UpperToLower[c]; + /* Knuth multiplicative hashing. (Sorting & Searching, p. 510). + ** 0x9e3779b1 is 2654435761 which is the closest prime number to + ** (2**32)*golden_ratio, where golden_ratio = (sqrt(5) - 1)/2. */ + h += sqlite3UpperToLower[c]; + h *= 0x9e3779b1; } return h; } @@ -28761,17 +29046,17 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 29 */ "NoConflict" OpHelp("key=r[P3@P4]"), /* 30 */ "NotFound" OpHelp("key=r[P3@P4]"), /* 31 */ "Found" OpHelp("key=r[P3@P4]"), - /* 32 */ "NotExists" OpHelp("intkey=r[P3]"), - /* 33 */ "Last" OpHelp(""), + /* 32 */ "SeekRowid" OpHelp("intkey=r[P3]"), + /* 33 */ "NotExists" OpHelp("intkey=r[P3]"), /* 34 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), /* 35 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), - /* 36 */ "Ne" OpHelp("if r[P1]!=r[P3] goto P2"), - /* 37 */ "Eq" OpHelp("if r[P1]==r[P3] goto P2"), - /* 38 */ "Gt" OpHelp("if r[P1]>r[P3] goto P2"), - /* 39 */ "Le" OpHelp("if r[P1]<=r[P3] goto P2"), - /* 40 */ "Lt" OpHelp("if r[P1]=r[P3] goto P2"), - /* 42 */ "SorterSort" OpHelp(""), + /* 36 */ "Ne" OpHelp("IF r[P3]!=r[P1]"), + /* 37 */ "Eq" OpHelp("IF r[P3]==r[P1]"), + /* 38 */ "Gt" OpHelp("IF r[P3]>r[P1]"), + /* 39 */ "Le" OpHelp("IF r[P3]<=r[P1]"), + /* 40 */ "Lt" OpHelp("IF r[P3]=r[P1]"), + /* 42 */ "ElseNotEq" OpHelp(""), /* 43 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), /* 44 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), /* 45 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<0 then r[P1]-=P3, goto P2"), - /* 65 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]-=P3, goto P2"), - /* 66 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), - /* 67 */ "IncrVacuum" OpHelp(""), - /* 68 */ "VNext" OpHelp(""), - /* 69 */ "Init" OpHelp("Start at P2"), - /* 70 */ "Return" OpHelp(""), - /* 71 */ "EndCoroutine" OpHelp(""), - /* 72 */ "HaltIfNull" OpHelp("if r[P3]=null halt"), - /* 73 */ "Halt" OpHelp(""), - /* 74 */ "Integer" OpHelp("r[P2]=P1"), - /* 75 */ "Int64" OpHelp("r[P2]=P4"), - /* 76 */ "String" OpHelp("r[P2]='P4' (len=P1)"), - /* 77 */ "Null" OpHelp("r[P2..P3]=NULL"), - /* 78 */ "SoftNull" OpHelp("r[P1]=NULL"), - /* 79 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), - /* 80 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), - /* 81 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), - /* 82 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), - /* 83 */ "SCopy" OpHelp("r[P2]=r[P1]"), - /* 84 */ "IntCopy" OpHelp("r[P2]=r[P1]"), - /* 85 */ "ResultRow" OpHelp("output=r[P1@P2]"), - /* 86 */ "CollSeq" OpHelp(""), - /* 87 */ "Function0" OpHelp("r[P3]=func(r[P2@P5])"), - /* 88 */ "Function" OpHelp("r[P3]=func(r[P2@P5])"), - /* 89 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), - /* 90 */ "RealAffinity" OpHelp(""), - /* 91 */ "Cast" OpHelp("affinity(r[P1])"), - /* 92 */ "Permutation" OpHelp(""), - /* 93 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), - /* 94 */ "Column" OpHelp("r[P3]=PX"), - /* 95 */ "Affinity" OpHelp("affinity(r[P1@P2])"), - /* 96 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), + /* 55 */ "SorterSort" OpHelp(""), + /* 56 */ "Sort" OpHelp(""), + /* 57 */ "Rewind" OpHelp(""), + /* 58 */ "IdxLE" OpHelp("key=r[P3@P4]"), + /* 59 */ "IdxGT" OpHelp("key=r[P3@P4]"), + /* 60 */ "IdxLT" OpHelp("key=r[P3@P4]"), + /* 61 */ "IdxGE" OpHelp("key=r[P3@P4]"), + /* 62 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"), + /* 63 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"), + /* 64 */ "Program" OpHelp(""), + /* 65 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), + /* 66 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"), + /* 67 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]-=P3, goto P2"), + /* 68 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), + /* 69 */ "IncrVacuum" OpHelp(""), + /* 70 */ "VNext" OpHelp(""), + /* 71 */ "Init" OpHelp("Start at P2"), + /* 72 */ "Return" OpHelp(""), + /* 73 */ "EndCoroutine" OpHelp(""), + /* 74 */ "HaltIfNull" OpHelp("if r[P3]=null halt"), + /* 75 */ "Halt" OpHelp(""), + /* 76 */ "Integer" OpHelp("r[P2]=P1"), + /* 77 */ "Int64" OpHelp("r[P2]=P4"), + /* 78 */ "String" OpHelp("r[P2]='P4' (len=P1)"), + /* 79 */ "Null" OpHelp("r[P2..P3]=NULL"), + /* 80 */ "SoftNull" OpHelp("r[P1]=NULL"), + /* 81 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), + /* 82 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), + /* 83 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), + /* 84 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), + /* 85 */ "SCopy" OpHelp("r[P2]=r[P1]"), + /* 86 */ "IntCopy" OpHelp("r[P2]=r[P1]"), + /* 87 */ "ResultRow" OpHelp("output=r[P1@P2]"), + /* 88 */ "CollSeq" OpHelp(""), + /* 89 */ "Function0" OpHelp("r[P3]=func(r[P2@P5])"), + /* 90 */ "Function" OpHelp("r[P3]=func(r[P2@P5])"), + /* 91 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), + /* 92 */ "RealAffinity" OpHelp(""), + /* 93 */ "Cast" OpHelp("affinity(r[P1])"), + /* 94 */ "Permutation" OpHelp(""), + /* 95 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), + /* 96 */ "Column" OpHelp("r[P3]=PX"), /* 97 */ "String8" OpHelp("r[P2]='P4'"), - /* 98 */ "Count" OpHelp("r[P2]=count()"), - /* 99 */ "ReadCookie" OpHelp(""), - /* 100 */ "SetCookie" OpHelp(""), - /* 101 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), - /* 102 */ "OpenRead" OpHelp("root=P2 iDb=P3"), - /* 103 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), - /* 104 */ "OpenAutoindex" OpHelp("nColumn=P2"), - /* 105 */ "OpenEphemeral" OpHelp("nColumn=P2"), - /* 106 */ "SorterOpen" OpHelp(""), - /* 107 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), - /* 108 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), - /* 109 */ "Close" OpHelp(""), - /* 110 */ "ColumnsUsed" OpHelp(""), - /* 111 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), - /* 112 */ "NewRowid" OpHelp("r[P2]=rowid"), - /* 113 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), - /* 114 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), - /* 115 */ "Delete" OpHelp(""), - /* 116 */ "ResetCount" OpHelp(""), - /* 117 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), - /* 118 */ "SorterData" OpHelp("r[P2]=data"), - /* 119 */ "RowKey" OpHelp("r[P2]=key"), - /* 120 */ "RowData" OpHelp("r[P2]=data"), - /* 121 */ "Rowid" OpHelp("r[P2]=rowid"), - /* 122 */ "NullRow" OpHelp(""), - /* 123 */ "SorterInsert" OpHelp(""), - /* 124 */ "IdxInsert" OpHelp("key=r[P2]"), - /* 125 */ "IdxDelete" OpHelp("key=r[P2@P3]"), - /* 126 */ "Seek" OpHelp("Move P3 to P1.rowid"), - /* 127 */ "IdxRowid" OpHelp("r[P2]=rowid"), - /* 128 */ "Destroy" OpHelp(""), - /* 129 */ "Clear" OpHelp(""), - /* 130 */ "ResetSorter" OpHelp(""), - /* 131 */ "CreateIndex" OpHelp("r[P2]=root iDb=P1"), - /* 132 */ "CreateTable" OpHelp("r[P2]=root iDb=P1"), - /* 133 */ "Real" OpHelp("r[P2]=P4"), - /* 134 */ "ParseSchema" OpHelp(""), - /* 135 */ "LoadAnalysis" OpHelp(""), - /* 136 */ "DropTable" OpHelp(""), - /* 137 */ "DropIndex" OpHelp(""), - /* 138 */ "DropTrigger" OpHelp(""), - /* 139 */ "IntegrityCk" OpHelp(""), - /* 140 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), - /* 141 */ "Param" OpHelp(""), - /* 142 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), - /* 143 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), - /* 144 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), - /* 145 */ "AggStep0" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 146 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 147 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 148 */ "Expire" OpHelp(""), - /* 149 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), - /* 150 */ "VBegin" OpHelp(""), - /* 151 */ "VCreate" OpHelp(""), - /* 152 */ "VDestroy" OpHelp(""), - /* 153 */ "VOpen" OpHelp(""), - /* 154 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), - /* 155 */ "VRename" OpHelp(""), - /* 156 */ "Pagecount" OpHelp(""), - /* 157 */ "MaxPgcnt" OpHelp(""), - /* 158 */ "CursorHint" OpHelp(""), - /* 159 */ "Noop" OpHelp(""), - /* 160 */ "Explain" OpHelp(""), + /* 98 */ "Affinity" OpHelp("affinity(r[P1@P2])"), + /* 99 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), + /* 100 */ "Count" OpHelp("r[P2]=count()"), + /* 101 */ "ReadCookie" OpHelp(""), + /* 102 */ "SetCookie" OpHelp(""), + /* 103 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), + /* 104 */ "OpenRead" OpHelp("root=P2 iDb=P3"), + /* 105 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), + /* 106 */ "OpenAutoindex" OpHelp("nColumn=P2"), + /* 107 */ "OpenEphemeral" OpHelp("nColumn=P2"), + /* 108 */ "SorterOpen" OpHelp(""), + /* 109 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), + /* 110 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), + /* 111 */ "Close" OpHelp(""), + /* 112 */ "ColumnsUsed" OpHelp(""), + /* 113 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), + /* 114 */ "NewRowid" OpHelp("r[P2]=rowid"), + /* 115 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), + /* 116 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), + /* 117 */ "Delete" OpHelp(""), + /* 118 */ "ResetCount" OpHelp(""), + /* 119 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), + /* 120 */ "SorterData" OpHelp("r[P2]=data"), + /* 121 */ "RowKey" OpHelp("r[P2]=key"), + /* 122 */ "RowData" OpHelp("r[P2]=data"), + /* 123 */ "Rowid" OpHelp("r[P2]=rowid"), + /* 124 */ "NullRow" OpHelp(""), + /* 125 */ "SorterInsert" OpHelp(""), + /* 126 */ "IdxInsert" OpHelp("key=r[P2]"), + /* 127 */ "IdxDelete" OpHelp("key=r[P2@P3]"), + /* 128 */ "Seek" OpHelp("Move P3 to P1.rowid"), + /* 129 */ "IdxRowid" OpHelp("r[P2]=rowid"), + /* 130 */ "Destroy" OpHelp(""), + /* 131 */ "Clear" OpHelp(""), + /* 132 */ "Real" OpHelp("r[P2]=P4"), + /* 133 */ "ResetSorter" OpHelp(""), + /* 134 */ "CreateIndex" OpHelp("r[P2]=root iDb=P1"), + /* 135 */ "CreateTable" OpHelp("r[P2]=root iDb=P1"), + /* 136 */ "ParseSchema" OpHelp(""), + /* 137 */ "LoadAnalysis" OpHelp(""), + /* 138 */ "DropTable" OpHelp(""), + /* 139 */ "DropIndex" OpHelp(""), + /* 140 */ "DropTrigger" OpHelp(""), + /* 141 */ "IntegrityCk" OpHelp(""), + /* 142 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), + /* 143 */ "Param" OpHelp(""), + /* 144 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), + /* 145 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), + /* 146 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), + /* 147 */ "AggStep0" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 148 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 149 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), + /* 150 */ "Expire" OpHelp(""), + /* 151 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), + /* 152 */ "VBegin" OpHelp(""), + /* 153 */ "VCreate" OpHelp(""), + /* 154 */ "VDestroy" OpHelp(""), + /* 155 */ "VOpen" OpHelp(""), + /* 156 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), + /* 157 */ "VRename" OpHelp(""), + /* 158 */ "Pagecount" OpHelp(""), + /* 159 */ "MaxPgcnt" OpHelp(""), + /* 160 */ "CursorHint" OpHelp(""), + /* 161 */ "Noop" OpHelp(""), + /* 162 */ "Explain" OpHelp(""), }; return azName[i]; } @@ -29239,8 +29526,8 @@ static pid_t randomnessPid = 0; ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. */ -#ifndef _HWTIME_H_ -#define _HWTIME_H_ +#ifndef SQLITE_HWTIME_H +#define SQLITE_HWTIME_H /* ** The following routine only works on pentium-class (or newer) processors. @@ -29308,7 +29595,7 @@ SQLITE_PRIVATE sqlite_uint64 sqlite3Hwtime(void){ return ((sqlite_uint64)0); } #endif -#endif /* !defined(_HWTIME_H_) */ +#endif /* !defined(SQLITE_HWTIME_H) */ /************** End of hwtime.h **********************************************/ /************** Continuing where we left off in os_common.h ******************/ @@ -34626,6 +34913,27 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ return pUnused; } +/* +** Find the mode, uid and gid of file zFile. +*/ +static int getFileMode( + const char *zFile, /* File name */ + mode_t *pMode, /* OUT: Permissions of zFile */ + uid_t *pUid, /* OUT: uid of zFile. */ + gid_t *pGid /* OUT: gid of zFile. */ +){ + struct stat sStat; /* Output of stat() on database file */ + int rc = SQLITE_OK; + if( 0==osStat(zFile, &sStat) ){ + *pMode = sStat.st_mode & 0777; + *pUid = sStat.st_uid; + *pGid = sStat.st_gid; + }else{ + rc = SQLITE_IOERR_FSTAT; + } + return rc; +} + /* ** This function is called by unixOpen() to determine the unix permissions ** to create new files with. If no error occurs, then SQLITE_OK is returned @@ -34661,7 +34969,6 @@ static int findCreateFileMode( if( flags & (SQLITE_OPEN_WAL|SQLITE_OPEN_MAIN_JOURNAL) ){ char zDb[MAX_PATHNAME+1]; /* Database file path */ int nDb; /* Number of valid bytes in zDb */ - struct stat sStat; /* Output of stat() on database file */ /* zPath is a path to a WAL or journal file. The following block derives ** the path to the associated database file from zPath. This block handles @@ -34692,15 +34999,18 @@ static int findCreateFileMode( memcpy(zDb, zPath, nDb); zDb[nDb] = '\0'; - if( 0==osStat(zDb, &sStat) ){ - *pMode = sStat.st_mode & 0777; - *pUid = sStat.st_uid; - *pGid = sStat.st_gid; - }else{ - rc = SQLITE_IOERR_FSTAT; - } + rc = getFileMode(zDb, pMode, pUid, pGid); }else if( flags & SQLITE_OPEN_DELETEONCLOSE ){ *pMode = 0600; + }else if( flags & SQLITE_OPEN_URI ){ + /* If this is a main database file and the file was opened using a URI + ** filename, check for the "modeof" parameter. If present, interpret + ** its value as a filename and try to copy the mode, uid and gid from + ** that file. */ + const char *z = sqlite3_uri_parameter(zPath, "modeof"); + if( z ){ + rc = getFileMode(z, pMode, pUid, pGid); + } } return rc; } @@ -36581,7 +36891,7 @@ static int proxyClose(sqlite3_file *id) { ** necessarily been initialized when this routine is called, and so they ** should not be used. */ -SQLITE_API int SQLITE_STDCALL sqlite3_os_init(void){ +SQLITE_API int sqlite3_os_init(void){ /* ** The following macro defines an initializer for an sqlite3_vfs object. ** The name of the VFS is NAME. The pAppData is a pointer to a pointer @@ -36680,7 +36990,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_os_init(void){ ** to release dynamically allocated objects. But not on unix. ** This routine is a no-op for unix. */ -SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void){ +SQLITE_API int sqlite3_os_end(void){ return SQLITE_OK; } @@ -36768,8 +37078,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void){ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. */ -#ifndef _HWTIME_H_ -#define _HWTIME_H_ +#ifndef SQLITE_HWTIME_H +#define SQLITE_HWTIME_H /* ** The following routine only works on pentium-class (or newer) processors. @@ -36837,7 +37147,7 @@ SQLITE_PRIVATE sqlite_uint64 sqlite3Hwtime(void){ return ((sqlite_uint64)0); } #endif -#endif /* !defined(_HWTIME_H_) */ +#endif /* !defined(SQLITE_HWTIME_H) */ /************** End of hwtime.h **********************************************/ /************** Continuing where we left off in os_common.h ******************/ @@ -37178,6 +37488,17 @@ struct winFile { #endif }; +/* +** The winVfsAppData structure is used for the pAppData member for all of the +** Win32 VFS variants. +*/ +typedef struct winVfsAppData winVfsAppData; +struct winVfsAppData { + const sqlite3_io_methods *pMethod; /* The file I/O methods to use. */ + void *pAppData; /* The extra pAppData, if any. */ + BOOL bNoLock; /* Non-zero if locking is disabled. */ +}; + /* ** Allowed values for winFile.ctrlFlags */ @@ -38104,7 +38425,7 @@ static const char *winNextSystemCall(sqlite3_vfs *p, const char *zName){ ** "pnLargest" argument, if non-zero, will be used to return the size of the ** largest committed free block in the heap, in bytes. */ -SQLITE_API int SQLITE_STDCALL sqlite3_win32_compact_heap(LPUINT pnLargest){ +SQLITE_API int sqlite3_win32_compact_heap(LPUINT pnLargest){ int rc = SQLITE_OK; UINT nLargest = 0; HANDLE hHeap; @@ -38144,7 +38465,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_win32_compact_heap(LPUINT pnLargest){ ** the sqlite3_memory_used() function does not return zero, SQLITE_BUSY will ** be returned and no changes will be made to the Win32 native heap. */ -SQLITE_API int SQLITE_STDCALL sqlite3_win32_reset_heap(){ +SQLITE_API int sqlite3_win32_reset_heap(){ int rc; MUTEX_LOGIC( sqlite3_mutex *pMaster; ) /* The main static mutex */ MUTEX_LOGIC( sqlite3_mutex *pMem; ) /* The memsys static mutex */ @@ -38189,7 +38510,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_win32_reset_heap(){ ** (if available). */ -SQLITE_API void SQLITE_STDCALL sqlite3_win32_write_debug(const char *zBuf, int nBuf){ +SQLITE_API void sqlite3_win32_write_debug(const char *zBuf, int nBuf){ char zDbgBuf[SQLITE_WIN32_DBG_BUF_SIZE]; int nMin = MIN(nBuf, (SQLITE_WIN32_DBG_BUF_SIZE - 1)); /* may be negative. */ if( nMin<-1 ) nMin = -1; /* all negative values become -1. */ @@ -38235,7 +38556,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_win32_write_debug(const char *zBuf, int n static HANDLE sleepObj = NULL; #endif -SQLITE_API void SQLITE_STDCALL sqlite3_win32_sleep(DWORD milliseconds){ +SQLITE_API void sqlite3_win32_sleep(DWORD milliseconds){ #if SQLITE_OS_WINRT if ( sleepObj==NULL ){ sleepObj = osCreateEventExW(NULL, NULL, CREATE_EVENT_MANUAL_RESET, @@ -38284,7 +38605,7 @@ SQLITE_PRIVATE DWORD sqlite3Win32Wait(HANDLE hObject){ ** This function determines if the machine is running a version of Windows ** based on the NT kernel. */ -SQLITE_API int SQLITE_STDCALL sqlite3_win32_is_nt(void){ +SQLITE_API int sqlite3_win32_is_nt(void){ #if SQLITE_OS_WINRT /* ** NOTE: The WinRT sub-platform is always assumed to be based on the NT @@ -38672,7 +38993,7 @@ static char *winUtf8ToMbcs(const char *zText, int useAnsi){ /* ** This is a public wrapper for the winUtf8ToUnicode() function. */ -SQLITE_API LPWSTR SQLITE_STDCALL sqlite3_win32_utf8_to_unicode(const char *zText){ +SQLITE_API LPWSTR sqlite3_win32_utf8_to_unicode(const char *zText){ #ifdef SQLITE_ENABLE_API_ARMOR if( !zText ){ (void)SQLITE_MISUSE_BKPT; @@ -38688,7 +39009,7 @@ SQLITE_API LPWSTR SQLITE_STDCALL sqlite3_win32_utf8_to_unicode(const char *zText /* ** This is a public wrapper for the winUnicodeToUtf8() function. */ -SQLITE_API char *SQLITE_STDCALL sqlite3_win32_unicode_to_utf8(LPCWSTR zWideText){ +SQLITE_API char *sqlite3_win32_unicode_to_utf8(LPCWSTR zWideText){ #ifdef SQLITE_ENABLE_API_ARMOR if( !zWideText ){ (void)SQLITE_MISUSE_BKPT; @@ -38704,7 +39025,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_win32_unicode_to_utf8(LPCWSTR zWideText) /* ** This is a public wrapper for the winMbcsToUtf8() function. */ -SQLITE_API char *SQLITE_STDCALL sqlite3_win32_mbcs_to_utf8(const char *zText){ +SQLITE_API char *sqlite3_win32_mbcs_to_utf8(const char *zText){ #ifdef SQLITE_ENABLE_API_ARMOR if( !zText ){ (void)SQLITE_MISUSE_BKPT; @@ -38720,7 +39041,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_win32_mbcs_to_utf8(const char *zText){ /* ** This is a public wrapper for the winMbcsToUtf8() function. */ -SQLITE_API char *SQLITE_STDCALL sqlite3_win32_mbcs_to_utf8_v2(const char *zText, int useAnsi){ +SQLITE_API char *sqlite3_win32_mbcs_to_utf8_v2(const char *zText, int useAnsi){ #ifdef SQLITE_ENABLE_API_ARMOR if( !zText ){ (void)SQLITE_MISUSE_BKPT; @@ -38736,7 +39057,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_win32_mbcs_to_utf8_v2(const char *zText, /* ** This is a public wrapper for the winUtf8ToMbcs() function. */ -SQLITE_API char *SQLITE_STDCALL sqlite3_win32_utf8_to_mbcs(const char *zText){ +SQLITE_API char *sqlite3_win32_utf8_to_mbcs(const char *zText){ #ifdef SQLITE_ENABLE_API_ARMOR if( !zText ){ (void)SQLITE_MISUSE_BKPT; @@ -38752,7 +39073,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_win32_utf8_to_mbcs(const char *zText){ /* ** This is a public wrapper for the winUtf8ToMbcs() function. */ -SQLITE_API char *SQLITE_STDCALL sqlite3_win32_utf8_to_mbcs_v2(const char *zText, int useAnsi){ +SQLITE_API char *sqlite3_win32_utf8_to_mbcs_v2(const char *zText, int useAnsi){ #ifdef SQLITE_ENABLE_API_ARMOR if( !zText ){ (void)SQLITE_MISUSE_BKPT; @@ -38772,7 +39093,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_win32_utf8_to_mbcs_v2(const char *zText, ** argument is the name of the directory to use. The return value will be ** SQLITE_OK if successful. */ -SQLITE_API int SQLITE_STDCALL sqlite3_win32_set_directory(DWORD type, LPCWSTR zValue){ +SQLITE_API int sqlite3_win32_set_directory(DWORD type, LPCWSTR zValue){ char **ppDirectory = 0; #ifndef SQLITE_OMIT_AUTOINIT int rc = sqlite3_initialize(); @@ -39499,7 +39820,12 @@ static int winClose(sqlite3_file *id){ }while( rc==0 && ++cnt < MX_CLOSE_ATTEMPT && (sqlite3_win32_sleep(100), 1) ); #if SQLITE_OS_WINCE #define WINCE_DELETION_ATTEMPTS 3 - winceDestroyLock(pFile); + { + winVfsAppData *pAppData = (winVfsAppData*)pFile->pVfs->pAppData; + if( pAppData==NULL || !pAppData->bNoLock ){ + winceDestroyLock(pFile); + } + } if( pFile->zDeleteOnClose ){ int cnt = 0; while( @@ -40231,6 +40557,44 @@ static int winUnlock(sqlite3_file *id, int locktype){ return rc; } +/****************************************************************************** +****************************** No-op Locking ********************************** +** +** Of the various locking implementations available, this is by far the +** simplest: locking is ignored. No attempt is made to lock the database +** file for reading or writing. +** +** This locking mode is appropriate for use on read-only databases +** (ex: databases that are burned into CD-ROM, for example.) It can +** also be used if the application employs some external mechanism to +** prevent simultaneous access of the same database by two or more +** database connections. But there is a serious risk of database +** corruption if this locking mode is used in situations where multiple +** database connections are accessing the same database file at the same +** time and one or more of those connections are writing. +*/ + +static int winNolockLock(sqlite3_file *id, int locktype){ + UNUSED_PARAMETER(id); + UNUSED_PARAMETER(locktype); + return SQLITE_OK; +} + +static int winNolockCheckReservedLock(sqlite3_file *id, int *pResOut){ + UNUSED_PARAMETER(id); + UNUSED_PARAMETER(pResOut); + return SQLITE_OK; +} + +static int winNolockUnlock(sqlite3_file *id, int locktype){ + UNUSED_PARAMETER(id); + UNUSED_PARAMETER(locktype); + return SQLITE_OK; +} + +/******************* End of the no-op lock implementation ********************* +******************************************************************************/ + /* ** If *pArg is initially negative then this is a query. Set *pArg to ** 1 or 0 depending on whether or not bit mask of pFile->ctrlFlags is set. @@ -40322,6 +40686,12 @@ static int winFileControl(sqlite3_file *id, int op, void *pArg){ OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h)); return SQLITE_OK; } + case SQLITE_FCNTL_WIN32_GET_HANDLE: { + LPHANDLE phFile = (LPHANDLE)pArg; + *phFile = pFile->h; + OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h)); + return SQLITE_OK; + } #ifdef SQLITE_TEST case SQLITE_FCNTL_WIN32_SET_HANDLE: { LPHANDLE phFile = (LPHANDLE)pArg; @@ -40509,12 +40879,12 @@ struct winShm { /* ** Apply advisory locks for all n bytes beginning at ofst. */ -#define _SHM_UNLCK 1 -#define _SHM_RDLCK 2 -#define _SHM_WRLCK 3 +#define WINSHM_UNLCK 1 +#define WINSHM_RDLCK 2 +#define WINSHM_WRLCK 3 static int winShmSystemLock( winShmNode *pFile, /* Apply locks to this open shared-memory segment */ - int lockType, /* _SHM_UNLCK, _SHM_RDLCK, or _SHM_WRLCK */ + int lockType, /* WINSHM_UNLCK, WINSHM_RDLCK, or WINSHM_WRLCK */ int ofst, /* Offset to first byte to be locked/unlocked */ int nByte /* Number of bytes to lock or unlock */ ){ @@ -40527,12 +40897,12 @@ static int winShmSystemLock( pFile->hFile.h, lockType, ofst, nByte)); /* Release/Acquire the system-level lock */ - if( lockType==_SHM_UNLCK ){ + if( lockType==WINSHM_UNLCK ){ rc = winUnlockFile(&pFile->hFile.h, ofst, 0, nByte, 0); }else{ /* Initialize the locking parameters */ DWORD dwFlags = LOCKFILE_FAIL_IMMEDIATELY; - if( lockType == _SHM_WRLCK ) dwFlags |= LOCKFILE_EXCLUSIVE_LOCK; + if( lockType == WINSHM_WRLCK ) dwFlags |= LOCKFILE_EXCLUSIVE_LOCK; rc = winLockFile(&pFile->hFile.h, dwFlags, ofst, 0, nByte, 0); } @@ -40544,7 +40914,7 @@ static int winShmSystemLock( } OSTRACE(("SHM-LOCK file=%p, func=%s, errno=%lu, rc=%s\n", - pFile->hFile.h, (lockType == _SHM_UNLCK) ? "winUnlockFile" : + pFile->hFile.h, (lockType == WINSHM_UNLCK) ? "winUnlockFile" : "winLockFile", pFile->lastErrno, sqlite3ErrName(rc))); return rc; @@ -40672,7 +41042,7 @@ static int winOpenSharedMemory(winFile *pDbFd){ /* Check to see if another process is holding the dead-man switch. ** If not, truncate the file to zero length. */ - if( winShmSystemLock(pShmNode, _SHM_WRLCK, WIN_SHM_DMS, 1)==SQLITE_OK ){ + if( winShmSystemLock(pShmNode, WINSHM_WRLCK, WIN_SHM_DMS, 1)==SQLITE_OK ){ rc = winTruncate((sqlite3_file *)&pShmNode->hFile, 0); if( rc!=SQLITE_OK ){ rc = winLogError(SQLITE_IOERR_SHMOPEN, osGetLastError(), @@ -40680,8 +41050,8 @@ static int winOpenSharedMemory(winFile *pDbFd){ } } if( rc==SQLITE_OK ){ - winShmSystemLock(pShmNode, _SHM_UNLCK, WIN_SHM_DMS, 1); - rc = winShmSystemLock(pShmNode, _SHM_RDLCK, WIN_SHM_DMS, 1); + winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1); + rc = winShmSystemLock(pShmNode, WINSHM_RDLCK, WIN_SHM_DMS, 1); } if( rc ) goto shm_open_err; } @@ -40710,7 +41080,7 @@ static int winOpenSharedMemory(winFile *pDbFd){ /* Jump here on any error */ shm_open_err: - winShmSystemLock(pShmNode, _SHM_UNLCK, WIN_SHM_DMS, 1); + winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1); winShmPurge(pDbFd->pVfs, 0); /* This call frees pShmNode if required */ sqlite3_free(p); sqlite3_free(pNew); @@ -40799,7 +41169,7 @@ static int winShmLock( /* Unlock the system-level locks */ if( (mask & allMask)==0 ){ - rc = winShmSystemLock(pShmNode, _SHM_UNLCK, ofst+WIN_SHM_BASE, n); + rc = winShmSystemLock(pShmNode, WINSHM_UNLCK, ofst+WIN_SHM_BASE, n); }else{ rc = SQLITE_OK; } @@ -40827,7 +41197,7 @@ static int winShmLock( /* Get shared locks at the system level, if necessary */ if( rc==SQLITE_OK ){ if( (allShared & mask)==0 ){ - rc = winShmSystemLock(pShmNode, _SHM_RDLCK, ofst+WIN_SHM_BASE, n); + rc = winShmSystemLock(pShmNode, WINSHM_RDLCK, ofst+WIN_SHM_BASE, n); }else{ rc = SQLITE_OK; } @@ -40852,7 +41222,7 @@ static int winShmLock( ** also mark the local connection as being locked. */ if( rc==SQLITE_OK ){ - rc = winShmSystemLock(pShmNode, _SHM_WRLCK, ofst+WIN_SHM_BASE, n); + rc = winShmSystemLock(pShmNode, WINSHM_WRLCK, ofst+WIN_SHM_BASE, n); if( rc==SQLITE_OK ){ assert( (p->sharedMask & mask)==0 ); p->exclMask |= mask; @@ -41295,6 +41665,44 @@ static const sqlite3_io_methods winIoMethod = { winUnfetch /* xUnfetch */ }; +/* +** This vector defines all the methods that can operate on an +** sqlite3_file for win32 without performing any locking. +*/ +static const sqlite3_io_methods winIoNolockMethod = { + 3, /* iVersion */ + winClose, /* xClose */ + winRead, /* xRead */ + winWrite, /* xWrite */ + winTruncate, /* xTruncate */ + winSync, /* xSync */ + winFileSize, /* xFileSize */ + winNolockLock, /* xLock */ + winNolockUnlock, /* xUnlock */ + winNolockCheckReservedLock, /* xCheckReservedLock */ + winFileControl, /* xFileControl */ + winSectorSize, /* xSectorSize */ + winDeviceCharacteristics, /* xDeviceCharacteristics */ + winShmMap, /* xShmMap */ + winShmLock, /* xShmLock */ + winShmBarrier, /* xShmBarrier */ + winShmUnmap, /* xShmUnmap */ + winFetch, /* xFetch */ + winUnfetch /* xUnfetch */ +}; + +static winVfsAppData winAppData = { + &winIoMethod, /* pMethod */ + 0, /* pAppData */ + 0 /* bNoLock */ +}; + +static winVfsAppData winNolockAppData = { + &winIoNolockMethod, /* pMethod */ + 0, /* pAppData */ + 1 /* bNoLock */ +}; + /**************************************************************************** **************************** sqlite3_vfs methods **************************** ** @@ -41627,7 +42035,7 @@ static int winIsDir(const void *zConverted){ ** Open a file. */ static int winOpen( - sqlite3_vfs *pVfs, /* Used to get maximum path name length */ + sqlite3_vfs *pVfs, /* Used to get maximum path length and AppData */ const char *zName, /* Name of the file (UTF-8) */ sqlite3_file *id, /* Write the SQLite file handle here */ int flags, /* Open mode flags */ @@ -41642,6 +42050,7 @@ static int winOpen( #if SQLITE_OS_WINCE int isTemp = 0; #endif + winVfsAppData *pAppData; winFile *pFile = (winFile*)id; void *zConverted; /* Filename in OS encoding */ const char *zUtf8Name = zName; /* Filename in UTF-8 encoding */ @@ -41863,15 +42272,20 @@ static int winOpen( "rc=%s\n", h, zUtf8Name, dwDesiredAccess, pOutFlags, pOutFlags ? *pOutFlags : 0, (h==INVALID_HANDLE_VALUE) ? "failed" : "ok")); + pAppData = (winVfsAppData*)pVfs->pAppData; + #if SQLITE_OS_WINCE - if( isReadWrite && eType==SQLITE_OPEN_MAIN_DB - && (rc = winceCreateLock(zName, pFile))!=SQLITE_OK - ){ - osCloseHandle(h); - sqlite3_free(zConverted); - sqlite3_free(zTmpname); - OSTRACE(("OPEN-CE-LOCK name=%s, rc=%s\n", zName, sqlite3ErrName(rc))); - return rc; + { + if( isReadWrite && eType==SQLITE_OPEN_MAIN_DB + && ((pAppData==NULL) || !pAppData->bNoLock) + && (rc = winceCreateLock(zName, pFile))!=SQLITE_OK + ){ + osCloseHandle(h); + sqlite3_free(zConverted); + sqlite3_free(zTmpname); + OSTRACE(("OPEN-CE-LOCK name=%s, rc=%s\n", zName, sqlite3ErrName(rc))); + return rc; + } } if( isTemp ){ pFile->zDeleteOnClose = zConverted; @@ -41882,7 +42296,7 @@ static int winOpen( } sqlite3_free(zTmpname); - pFile->pMethod = &winIoMethod; + pFile->pMethod = pAppData ? pAppData->pMethod : &winIoMethod; pFile->pVfs = pVfs; pFile->h = h; if( isReadonly ){ @@ -42157,6 +42571,18 @@ static int winFullPathname( int nFull, /* Size of output buffer in bytes */ char *zFull /* Output buffer */ ){ +#if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && !defined(__CYGWIN__) + DWORD nByte; + void *zConverted; + char *zOut; +#endif + + /* If this path name begins with "/X:", where "X" is any alphabetic + ** character, discard the initial "/" from the pathname. + */ + if( zRelative[0]=='/' && winIsDriveLetterAndColon(zRelative+1) ){ + zRelative++; + } #if defined(__CYGWIN__) SimulateIOError( return SQLITE_ERROR ); @@ -42235,17 +42661,6 @@ static int winFullPathname( #endif #if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && !defined(__CYGWIN__) - DWORD nByte; - void *zConverted; - char *zOut; - - /* If this path name begins with "/X:", where "X" is any alphabetic - ** character, discard the initial "/" from the pathname. - */ - if( zRelative[0]=='/' && winIsDriveLetterAndColon(zRelative+1) ){ - zRelative++; - } - /* It's odd to simulate an io-error here, but really this is just ** using the io-error infrastructure to test that SQLite handles this ** function failing. This function could fail if, for example, the @@ -42602,55 +43017,105 @@ static int winGetLastError(sqlite3_vfs *pVfs, int nBuf, char *zBuf){ /* ** Initialize and deinitialize the operating system interface. */ -SQLITE_API int SQLITE_STDCALL sqlite3_os_init(void){ +SQLITE_API int sqlite3_os_init(void){ static sqlite3_vfs winVfs = { - 3, /* iVersion */ - sizeof(winFile), /* szOsFile */ + 3, /* iVersion */ + sizeof(winFile), /* szOsFile */ SQLITE_WIN32_MAX_PATH_BYTES, /* mxPathname */ - 0, /* pNext */ - "win32", /* zName */ - 0, /* pAppData */ - winOpen, /* xOpen */ - winDelete, /* xDelete */ - winAccess, /* xAccess */ - winFullPathname, /* xFullPathname */ - winDlOpen, /* xDlOpen */ - winDlError, /* xDlError */ - winDlSym, /* xDlSym */ - winDlClose, /* xDlClose */ - winRandomness, /* xRandomness */ - winSleep, /* xSleep */ - winCurrentTime, /* xCurrentTime */ - winGetLastError, /* xGetLastError */ - winCurrentTimeInt64, /* xCurrentTimeInt64 */ - winSetSystemCall, /* xSetSystemCall */ - winGetSystemCall, /* xGetSystemCall */ - winNextSystemCall, /* xNextSystemCall */ + 0, /* pNext */ + "win32", /* zName */ + &winAppData, /* pAppData */ + winOpen, /* xOpen */ + winDelete, /* xDelete */ + winAccess, /* xAccess */ + winFullPathname, /* xFullPathname */ + winDlOpen, /* xDlOpen */ + winDlError, /* xDlError */ + winDlSym, /* xDlSym */ + winDlClose, /* xDlClose */ + winRandomness, /* xRandomness */ + winSleep, /* xSleep */ + winCurrentTime, /* xCurrentTime */ + winGetLastError, /* xGetLastError */ + winCurrentTimeInt64, /* xCurrentTimeInt64 */ + winSetSystemCall, /* xSetSystemCall */ + winGetSystemCall, /* xGetSystemCall */ + winNextSystemCall, /* xNextSystemCall */ }; #if defined(SQLITE_WIN32_HAS_WIDE) static sqlite3_vfs winLongPathVfs = { - 3, /* iVersion */ - sizeof(winFile), /* szOsFile */ + 3, /* iVersion */ + sizeof(winFile), /* szOsFile */ + SQLITE_WINNT_MAX_PATH_BYTES, /* mxPathname */ + 0, /* pNext */ + "win32-longpath", /* zName */ + &winAppData, /* pAppData */ + winOpen, /* xOpen */ + winDelete, /* xDelete */ + winAccess, /* xAccess */ + winFullPathname, /* xFullPathname */ + winDlOpen, /* xDlOpen */ + winDlError, /* xDlError */ + winDlSym, /* xDlSym */ + winDlClose, /* xDlClose */ + winRandomness, /* xRandomness */ + winSleep, /* xSleep */ + winCurrentTime, /* xCurrentTime */ + winGetLastError, /* xGetLastError */ + winCurrentTimeInt64, /* xCurrentTimeInt64 */ + winSetSystemCall, /* xSetSystemCall */ + winGetSystemCall, /* xGetSystemCall */ + winNextSystemCall, /* xNextSystemCall */ + }; +#endif + static sqlite3_vfs winNolockVfs = { + 3, /* iVersion */ + sizeof(winFile), /* szOsFile */ + SQLITE_WIN32_MAX_PATH_BYTES, /* mxPathname */ + 0, /* pNext */ + "win32-none", /* zName */ + &winNolockAppData, /* pAppData */ + winOpen, /* xOpen */ + winDelete, /* xDelete */ + winAccess, /* xAccess */ + winFullPathname, /* xFullPathname */ + winDlOpen, /* xDlOpen */ + winDlError, /* xDlError */ + winDlSym, /* xDlSym */ + winDlClose, /* xDlClose */ + winRandomness, /* xRandomness */ + winSleep, /* xSleep */ + winCurrentTime, /* xCurrentTime */ + winGetLastError, /* xGetLastError */ + winCurrentTimeInt64, /* xCurrentTimeInt64 */ + winSetSystemCall, /* xSetSystemCall */ + winGetSystemCall, /* xGetSystemCall */ + winNextSystemCall, /* xNextSystemCall */ + }; +#if defined(SQLITE_WIN32_HAS_WIDE) + static sqlite3_vfs winLongPathNolockVfs = { + 3, /* iVersion */ + sizeof(winFile), /* szOsFile */ SQLITE_WINNT_MAX_PATH_BYTES, /* mxPathname */ - 0, /* pNext */ - "win32-longpath", /* zName */ - 0, /* pAppData */ - winOpen, /* xOpen */ - winDelete, /* xDelete */ - winAccess, /* xAccess */ - winFullPathname, /* xFullPathname */ - winDlOpen, /* xDlOpen */ - winDlError, /* xDlError */ - winDlSym, /* xDlSym */ - winDlClose, /* xDlClose */ - winRandomness, /* xRandomness */ - winSleep, /* xSleep */ - winCurrentTime, /* xCurrentTime */ - winGetLastError, /* xGetLastError */ - winCurrentTimeInt64, /* xCurrentTimeInt64 */ - winSetSystemCall, /* xSetSystemCall */ - winGetSystemCall, /* xGetSystemCall */ - winNextSystemCall, /* xNextSystemCall */ + 0, /* pNext */ + "win32-longpath-none", /* zName */ + &winNolockAppData, /* pAppData */ + winOpen, /* xOpen */ + winDelete, /* xDelete */ + winAccess, /* xAccess */ + winFullPathname, /* xFullPathname */ + winDlOpen, /* xDlOpen */ + winDlError, /* xDlError */ + winDlSym, /* xDlSym */ + winDlClose, /* xDlClose */ + winRandomness, /* xRandomness */ + winSleep, /* xSleep */ + winCurrentTime, /* xCurrentTime */ + winGetLastError, /* xGetLastError */ + winCurrentTimeInt64, /* xCurrentTimeInt64 */ + winSetSystemCall, /* xSetSystemCall */ + winGetSystemCall, /* xGetSystemCall */ + winNextSystemCall, /* xNextSystemCall */ }; #endif @@ -42674,10 +43139,16 @@ SQLITE_API int SQLITE_STDCALL sqlite3_os_init(void){ sqlite3_vfs_register(&winLongPathVfs, 0); #endif + sqlite3_vfs_register(&winNolockVfs, 0); + +#if defined(SQLITE_WIN32_HAS_WIDE) + sqlite3_vfs_register(&winLongPathNolockVfs, 0); +#endif + return SQLITE_OK; } -SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void){ +SQLITE_API int sqlite3_os_end(void){ #if SQLITE_OS_WINRT if( sleepObj!=NULL ){ osCloseHandle(sleepObj); @@ -43568,7 +44039,7 @@ static SQLITE_NOINLINE PgHdr *pcacheFetchFinishWithInit( assert( pPage!=0 ); pPgHdr = (PgHdr*)pPage->pExtra; assert( pPgHdr->pPage==0 ); - memset(pPgHdr, 0, sizeof(PgHdr)); + memset(&pPgHdr->pDirty, 0, sizeof(PgHdr) - offsetof(PgHdr,pDirty)); pPgHdr->pPage = pPage; pPgHdr->pData = pPage->pBuf; pPgHdr->pExtra = (void *)&pPgHdr[1]; @@ -43794,29 +44265,31 @@ SQLITE_PRIVATE void sqlite3PcacheClear(PCache *pCache){ /* ** Merge two lists of pages connected by pDirty and in pgno order. -** Do not both fixing the pDirtyPrev pointers. +** Do not bother fixing the pDirtyPrev pointers. */ static PgHdr *pcacheMergeDirtyList(PgHdr *pA, PgHdr *pB){ PgHdr result, *pTail; pTail = &result; - while( pA && pB ){ + assert( pA!=0 && pB!=0 ); + for(;;){ if( pA->pgnopgno ){ pTail->pDirty = pA; pTail = pA; pA = pA->pDirty; + if( pA==0 ){ + pTail->pDirty = pB; + break; + } }else{ pTail->pDirty = pB; pTail = pB; pB = pB->pDirty; + if( pB==0 ){ + pTail->pDirty = pA; + break; + } } } - if( pA ){ - pTail->pDirty = pA; - }else if( pB ){ - pTail->pDirty = pB; - }else{ - pTail->pDirty = 0; - } return result.pDirty; } @@ -43857,7 +44330,8 @@ static PgHdr *pcacheSortDirtyList(PgHdr *pIn){ } p = a[0]; for(i=1; i pCache->szAlloc*(i64)pCache->nMax ){ - szBulk = pCache->szAlloc*pCache->nMax; + szBulk = pCache->szAlloc*(i64)pCache->nMax; } zBulk = pCache->pBulk = sqlite3Malloc( szBulk ); sqlite3EndBenignMalloc(); @@ -44612,12 +45086,30 @@ static void pcache1TruncateUnsafe( PCache1 *pCache, /* The cache to truncate */ unsigned int iLimit /* Drop pages with this pgno or larger */ ){ - TESTONLY( unsigned int nPage = 0; ) /* To assert pCache->nPage is correct */ - unsigned int h; + TESTONLY( int nPage = 0; ) /* To assert pCache->nPage is correct */ + unsigned int h, iStop; assert( sqlite3_mutex_held(pCache->pGroup->mutex) ); - for(h=0; hnHash; h++){ - PgHdr1 **pp = &pCache->apHash[h]; + assert( pCache->iMaxKey >= iLimit ); + assert( pCache->nHash > 0 ); + if( pCache->iMaxKey - iLimit < pCache->nHash ){ + /* If we are just shaving the last few pages off the end of the + ** cache, then there is no point in scanning the entire hash table. + ** Only scan those hash slots that might contain pages that need to + ** be removed. */ + h = iLimit % pCache->nHash; + iStop = pCache->iMaxKey % pCache->nHash; + TESTONLY( nPage = -10; ) /* Disable the pCache->nPage validity check */ + }else{ + /* This is the general case where many pages are being removed. + ** It is necessary to scan the entire hash table */ + h = pCache->nHash/2; + iStop = h - 1; + } + for(;;){ + PgHdr1 **pp; PgHdr1 *pPage; + assert( hnHash ); + pp = &pCache->apHash[h]; while( (pPage = *pp)!=0 ){ if( pPage->iKey>=iLimit ){ pCache->nPage--; @@ -44626,11 +45118,13 @@ static void pcache1TruncateUnsafe( pcache1FreePage(pPage); }else{ pp = &pPage->pNext; - TESTONLY( nPage++; ) + TESTONLY( if( nPage>=0 ) nPage++; ) } } + if( h==iStop ) break; + h = (h+1) % pCache->nHash; } - assert( pCache->nPage==nPage ); + assert( nPage<0 || pCache->nPage==(unsigned)nPage ); } /******************************************************************************/ @@ -45107,7 +45601,7 @@ static void pcache1Destroy(sqlite3_pcache *p){ PGroup *pGroup = pCache->pGroup; assert( pCache->bPurgeable || (pCache->nMax==0 && pCache->nMin==0) ); pcache1EnterMutex(pGroup); - pcache1TruncateUnsafe(pCache, 0); + if( pCache->nPage ) pcache1TruncateUnsafe(pCache, 0); assert( pGroup->nMaxPage >= pCache->nMax ); pGroup->nMaxPage -= pCache->nMax; assert( pGroup->nMinPage >= pCache->nMin ); @@ -45462,28 +45956,26 @@ static struct RowSetEntry *rowSetEntryMerge( struct RowSetEntry *pTail; pTail = &head; - while( pA && pB ){ + assert( pA!=0 && pB!=0 ); + for(;;){ assert( pA->pRight==0 || pA->v<=pA->pRight->v ); assert( pB->pRight==0 || pB->v<=pB->pRight->v ); - if( pA->vv ){ - pTail->pRight = pA; + if( pA->v<=pB->v ){ + if( pA->vv ) pTail = pTail->pRight = pA; pA = pA->pRight; - pTail = pTail->pRight; - }else if( pB->vv ){ - pTail->pRight = pB; - pB = pB->pRight; - pTail = pTail->pRight; + if( pA==0 ){ + pTail->pRight = pB; + break; + } }else{ - pA = pA->pRight; + pTail = pTail->pRight = pB; + pB = pB->pRight; + if( pB==0 ){ + pTail->pRight = pA; + break; + } } } - if( pA ){ - assert( pA->pRight==0 || pA->v<=pA->pRight->v ); - pTail->pRight = pA; - }else{ - assert( pB==0 || pB->pRight==0 || pB->v<=pB->pRight->v ); - pTail->pRight = pB; - } return head.pRight; } @@ -45506,9 +45998,10 @@ static struct RowSetEntry *rowSetEntrySort(struct RowSetEntry *pIn){ aBucket[i] = pIn; pIn = pNext; } - pIn = 0; - for(i=0; ipWal!=0); } +# define pagerUseWal(x) sqlite3PagerUseWal(x) #else # define pagerUseWal(x) 0 # define pagerRollbackWal(x) 0 @@ -52528,7 +53022,11 @@ SQLITE_PRIVATE int sqlite3PagerOpenSavepoint(Pager *pPager, int nSavepoint){ ** savepoint. If no errors occur, SQLITE_OK is returned. */ SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint){ - int rc = pPager->errCode; /* Return code */ + int rc = pPager->errCode; + +#ifdef SQLITE_ENABLE_ZIPVFS + if( op==SAVEPOINT_RELEASE ) rc = SQLITE_OK; +#endif assert( op==SAVEPOINT_RELEASE || op==SAVEPOINT_ROLLBACK ); assert( iSavepoint>=0 || op==SAVEPOINT_ROLLBACK ); @@ -52569,6 +53067,20 @@ SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint){ rc = pagerPlaybackSavepoint(pPager, pSavepoint); assert(rc!=SQLITE_DONE); } + +#ifdef SQLITE_ENABLE_ZIPVFS + /* If the cache has been modified but the savepoint cannot be rolled + ** back journal_mode=off, put the pager in the error state. This way, + ** if the VFS used by this pager includes ZipVFS, the entire transaction + ** can be rolled back at the ZipVFS level. */ + else if( + pPager->journalMode==PAGER_JOURNALMODE_OFF + && pPager->eState>=PAGER_WRITER_CACHEMOD + ){ + pPager->errCode = SQLITE_ABORT; + pPager->eState = PAGER_ERROR; + } +#endif } return rc; @@ -53039,6 +53551,7 @@ SQLITE_PRIVATE void sqlite3PagerClearCache(Pager *pPager){ } #endif + #ifndef SQLITE_OMIT_WAL /* ** This function is called when the user invokes "PRAGMA wal_checkpoint", @@ -53264,7 +53777,6 @@ SQLITE_PRIVATE int sqlite3PagerWalFramesize(Pager *pPager){ } #endif - #endif /* SQLITE_OMIT_DISKIO */ /************** End of pager.c ***********************************************/ @@ -56380,16 +56892,21 @@ SQLITE_PRIVATE int sqlite3WalFrames( ** past the sector boundary is written after the sync. */ if( isCommit && (sync_flags & WAL_SYNC_TRANSACTIONS)!=0 ){ + int bSync = 1; if( pWal->padToSectorBoundary ){ int sectorSize = sqlite3SectorSize(pWal->pWalFd); w.iSyncPoint = ((iOffset+sectorSize-1)/sectorSize)*sectorSize; + bSync = (w.iSyncPoint==iOffset); + testcase( bSync ); while( iOffsetpBt->mutex); } + +/* Verify that the cursor and the BtShared agree about what is the current +** database connetion. This is important in shared-cache mode. If the database +** connection pointers get out-of-sync, it is possible for routines like +** btreeInitPage() to reference an stale connection pointer that references a +** a connection that has already closed. This routine is used inside assert() +** statements only and for the purpose of double-checking that the btree code +** does keep the database connection pointers up-to-date. +*/ static int cursorOwnsBtShared(BtCursor *p){ assert( cursorHoldsMutex(p) ); return (p->pBtree->db==p->pBt->db); @@ -58335,21 +58861,19 @@ static void btreeReleaseAllCursorPages(BtCursor *pCur){ ** the key. */ static int saveCursorKey(BtCursor *pCur){ - int rc; + int rc = SQLITE_OK; assert( CURSOR_VALID==pCur->eState ); assert( 0==pCur->pKey ); assert( cursorHoldsMutex(pCur) ); - rc = sqlite3BtreeKeySize(pCur, &pCur->nKey); - assert( rc==SQLITE_OK ); /* KeySize() cannot fail */ - - /* If this is an intKey table, then the above call to BtreeKeySize() - ** stores the integer key in pCur->nKey. In this case this value is - ** all that is required. Otherwise, if pCur is not open on an intKey - ** table, then malloc space for and store the pCur->nKey bytes of key - ** data. */ - if( 0==pCur->curIntKey ){ - void *pKey = sqlite3Malloc( pCur->nKey ); + if( pCur->curIntKey ){ + /* Only the rowid is required for a table btree */ + pCur->nKey = sqlite3BtreeIntegerKey(pCur); + }else{ + /* For an index btree, save the complete key content */ + void *pKey; + pCur->nKey = sqlite3BtreePayloadSize(pCur); + pKey = sqlite3Malloc( pCur->nKey ); if( pKey ){ rc = sqlite3BtreeKey(pCur, 0, (int)pCur->nKey, pKey); if( rc==SQLITE_OK ){ @@ -58482,7 +59006,7 @@ static int btreeMoveto( ){ int rc; /* Status code */ UnpackedRecord *pIdxKey; /* Unpacked index key */ - char aSpace[200]; /* Temp space for pIdxKey - to avoid a malloc */ + char aSpace[384]; /* Temp space for pIdxKey - to avoid a malloc */ char *pFree = 0; if( pKey ){ @@ -59324,8 +59848,11 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ if( data[iPtr+1]==0 && data[iPtr]==0 ){ iFreeBlk = 0; /* Shortcut for the case when the freelist is empty */ }else{ - while( (iFreeBlk = get2byte(&data[iPtr]))>0 && iFreeBlkiLast ) return SQLITE_CORRUPT_BKPT; @@ -60056,9 +60583,9 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( #if !defined(SQLITE_OMIT_SHARED_CACHE) && !defined(SQLITE_OMIT_DISKIO) /* Add the new BtShared object to the linked list sharable BtShareds. */ + pBt->nRef = 1; if( p->sharable ){ MUTEX_LOGIC( sqlite3_mutex *mutexShared; ) - pBt->nRef = 1; MUTEX_LOGIC( mutexShared = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER);) if( SQLITE_THREADSAFE && sqlite3GlobalConfig.bCoreMutex ){ pBt->mutex = sqlite3MutexAlloc(SQLITE_MUTEX_FAST); @@ -60129,6 +60656,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( assert( sqlite3_mutex_held(mutexOpen) ); sqlite3_mutex_leave(mutexOpen); } + assert( rc!=SQLITE_OK || sqlite3BtreeConnectionCount(*ppBtree)>0 ); return rc; } @@ -61988,46 +62516,33 @@ SQLITE_PRIVATE int sqlite3BtreeCursorIsValid(BtCursor *pCur){ #endif /* NDEBUG */ /* -** Set *pSize to the size of the buffer needed to hold the value of -** the key for the current entry. If the cursor is not pointing -** to a valid entry, *pSize is set to 0. -** -** For a table with the INTKEY flag set, this routine returns the key -** itself, not the number of bytes in the key. -** -** The caller must position the cursor prior to invoking this routine. -** -** This routine cannot fail. It always returns SQLITE_OK. +** Return the value of the integer key or "rowid" for a table btree. +** This routine is only valid for a cursor that is pointing into a +** ordinary table btree. If the cursor points to an index btree or +** is invalid, the result of this routine is undefined. */ -SQLITE_PRIVATE int sqlite3BtreeKeySize(BtCursor *pCur, i64 *pSize){ +SQLITE_PRIVATE i64 sqlite3BtreeIntegerKey(BtCursor *pCur){ assert( cursorHoldsMutex(pCur) ); assert( pCur->eState==CURSOR_VALID ); + assert( pCur->curIntKey ); getCellInfo(pCur); - *pSize = pCur->info.nKey; - return SQLITE_OK; + return pCur->info.nKey; } /* -** Set *pSize to the number of bytes of data in the entry the -** cursor currently points to. +** Return the number of bytes of payload for the entry that pCur is +** currently pointing to. For table btrees, this will be the amount +** of data. For index btrees, this will be the size of the key. ** ** The caller must guarantee that the cursor is pointing to a non-NULL ** valid entry. In other words, the calling procedure must guarantee ** that the cursor has Cursor.eState==CURSOR_VALID. -** -** Failure is not possible. This function always returns SQLITE_OK. -** It might just as well be a procedure (returning void) but we continue -** to return an integer result code for historical reasons. */ -SQLITE_PRIVATE int sqlite3BtreeDataSize(BtCursor *pCur, u32 *pSize){ - assert( cursorOwnsBtShared(pCur) ); +SQLITE_PRIVATE u32 sqlite3BtreePayloadSize(BtCursor *pCur){ + assert( cursorHoldsMutex(pCur) ); assert( pCur->eState==CURSOR_VALID ); - assert( pCur->iPage>=0 ); - assert( pCur->iPageapPage[pCur->iPage]->intKeyLeaf==1 ); getCellInfo(pCur); - *pSize = pCur->info.nPayload; - return SQLITE_OK; + return pCur->info.nPayload; } /* @@ -62329,7 +62844,7 @@ static int accessPayload( && (bEnd || a==ovflSize) /* (6) */ && pBt->inTransaction==TRANS_READ /* (4) */ && (fd = sqlite3PagerFile(pBt->pPager))->pMethods /* (3) */ - && pBt->pPage1->aData[19]==0x01 /* (5) */ + && 0==sqlite3PagerUseWal(pBt->pPager) /* (5) */ && &pBuf[-4]>=pBufStart /* (7) */ ){ u8 aSave[4]; @@ -62469,10 +62984,7 @@ static const void *fetchPayload( ** These routines is used to get quick access to key and data ** in the common case where no overflow pages are used. */ -SQLITE_PRIVATE const void *sqlite3BtreeKeyFetch(BtCursor *pCur, u32 *pAmt){ - return fetchPayload(pCur, pAmt); -} -SQLITE_PRIVATE const void *sqlite3BtreeDataFetch(BtCursor *pCur, u32 *pAmt){ +SQLITE_PRIVATE const void *sqlite3BtreePayloadFetch(BtCursor *pCur, u32 *pAmt){ return fetchPayload(pCur, pAmt); } @@ -62805,11 +63317,12 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); assert( pRes ); assert( (pIdxKey==0)==(pCur->pKeyInfo==0) ); + assert( pCur->eState!=CURSOR_VALID || (pIdxKey==0)==(pCur->curIntKey!=0) ); /* If the cursor is already positioned at the point we are trying ** to move to, then just return without doing any work */ - if( pCur->eState==CURSOR_VALID && (pCur->curFlags & BTCF_ValidNKey)!=0 - && pCur->curIntKey + if( pIdxKey==0 + && pCur->eState==CURSOR_VALID && (pCur->curFlags & BTCF_ValidNKey)!=0 ){ if( pCur->info.nKey==intKey ){ *pRes = 0; @@ -63798,9 +64311,7 @@ static int clearCell( static int fillInCell( MemPage *pPage, /* The page that contains the cell */ unsigned char *pCell, /* Complete text of the cell */ - const void *pKey, i64 nKey, /* The key */ - const void *pData,int nData, /* The data */ - int nZero, /* Extra zero bytes to append to pData */ + const BtreePayload *pX, /* Payload with which to construct the cell */ int *pnSize /* Write cell size here */ ){ int nPayload; @@ -63824,26 +64335,21 @@ static int fillInCell( /* Fill in the header. */ nHeader = pPage->childPtrSize; - nPayload = nData + nZero; - if( pPage->intKeyLeaf ){ + if( pPage->intKey ){ + nPayload = pX->nData + pX->nZero; + pSrc = pX->pData; + nSrc = pX->nData; + assert( pPage->intKeyLeaf ); /* fillInCell() only called for leaves */ nHeader += putVarint32(&pCell[nHeader], nPayload); + nHeader += putVarint(&pCell[nHeader], *(u64*)&pX->nKey); }else{ - assert( nData==0 ); - assert( nZero==0 ); + assert( pX->nKey<=0x7fffffff && pX->pKey!=0 ); + nSrc = nPayload = (int)pX->nKey; + pSrc = pX->pKey; + nHeader += putVarint32(&pCell[nHeader], nPayload); } - nHeader += putVarint(&pCell[nHeader], *(u64*)&nKey); - /* Fill in the payload size */ - if( pPage->intKey ){ - pSrc = pData; - nSrc = nData; - nData = 0; - }else{ - assert( nKey<=0x7fffffff && pKey!=0 ); - nPayload = (int)nKey; - pSrc = pKey; - nSrc = (int)nKey; - } + /* Fill in the payload */ if( nPayload<=pPage->maxLocal ){ n = nHeader + nPayload; testcase( n==3 ); @@ -63881,7 +64387,7 @@ static int fillInCell( CellInfo info; pPage->xParseCell(pPage, pCell, &info); assert( nHeader==(int)(info.pPayload - pCell) ); - assert( info.nKey==nKey ); + assert( info.nKey==pX->nKey ); assert( *pnSize == info.nSize ); assert( spaceLeft == info.nLocal ); } @@ -63966,10 +64472,6 @@ static int fillInCell( pSrc += n; nSrc -= n; spaceLeft -= n; - if( nSrc==0 ){ - nSrc = nData; - pSrc = pData; - } } releasePage(pToRelease); return SQLITE_OK; @@ -64036,6 +64538,8 @@ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ ** in pTemp or the original pCell) and also record its index. ** Allocating a new entry in pPage->aCell[] implies that ** pPage->nOverflow is incremented. +** +** *pRC must be SQLITE_OK when this routine is called. */ static void insertCell( MemPage *pPage, /* Page into which we are copying */ @@ -64051,8 +64555,7 @@ static void insertCell( u8 *data; /* The content of the whole page */ u8 *pIns; /* The point in pPage->aCellIdx[] where no cell inserted */ - if( *pRC ) return; - + assert( *pRC==SQLITE_OK ); assert( i>=0 && i<=pPage->nCell+pPage->nOverflow ); assert( MX_CELL(pPage->pBt)<=10921 ); assert( pPage->nCell<=MX_CELL(pPage->pBt) || CORRUPT_DB ); @@ -64126,7 +64629,7 @@ static void insertCell( /* ** A CellArray object contains a cache of pointers and sizes for a -** consecutive sequence of cells that might be held multiple pages. +** consecutive sequence of cells that might be held on multiple pages. */ typedef struct CellArray CellArray; struct CellArray { @@ -64558,8 +65061,10 @@ static int balance_quick(MemPage *pParent, MemPage *pPage, u8 *pSpace){ while( ((*(pOut++) = *(pCell++))&0x80) && pCellnCell, pSpace, (int)(pOut-pSpace), - 0, pPage->pgno, &rc); + if( rc==SQLITE_OK ){ + insertCell(pParent, pParent->nCell, pSpace, (int)(pOut-pSpace), + 0, pPage->pgno, &rc); + } /* Set the right-child pointer of pParent to point to the new page. */ put4byte(&pParent->aData[pParent->hdrOffset+8], pgnoNew); @@ -65079,7 +65584,7 @@ static int balance_nonroot( assert( r szLeft-(b.szCell[r]+2)) ){ + && (bBulk || szRight+b.szCell[d]+2 > szLeft-(b.szCell[r]+(i==k-1?0:2)))){ break; } szRight += b.szCell[d] + 2; @@ -65651,13 +66156,19 @@ static int balance(BtCursor *pCur){ /* -** Insert a new record into the BTree. The key is given by (pKey,nKey) -** and the data is given by (pData,nData). The cursor is used only to -** define what table the record should be inserted into. The cursor -** is left pointing at a random location. +** Insert a new record into the BTree. The content of the new record +** is described by the pX object. The pCur cursor is used only to +** define what table the record should be inserted into, and is left +** pointing at a random location. +** +** For a table btree (used for rowid tables), only the pX.nKey value of +** the key is used. The pX.pKey value must be NULL. The pX.nKey is the +** rowid or INTEGER PRIMARY KEY of the row. The pX.nData,pData,nZero fields +** hold the content of the row. ** -** For an INTKEY table, only the nKey value of the key is used. pKey is -** ignored. For a ZERODATA table, the pData and nData are both ignored. +** For an index btree (used for indexes and WITHOUT ROWID tables), the +** key is an arbitrary byte sequence stored in pX.pKey,nKey. The +** pX.pData,nData,nZero fields must be zero. ** ** If the seekResult parameter is non-zero, then a successful call to ** MovetoUnpacked() to seek cursor pCur to (pKey, nKey) has already @@ -65674,9 +66185,7 @@ static int balance(BtCursor *pCur){ */ SQLITE_PRIVATE int sqlite3BtreeInsert( BtCursor *pCur, /* Insert data into the table of this cursor */ - const void *pKey, i64 nKey, /* The key of the new record */ - const void *pData, int nData, /* The data of the new record */ - int nZero, /* Number of extra 0 bytes to append to data */ + const BtreePayload *pX, /* Content of the row to be inserted */ int appendBias, /* True if this is likely an append */ int seekResult /* Result of prior MovetoUnpacked() call */ ){ @@ -65706,7 +66215,7 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( ** keys with no associated data. If the cursor was opened expecting an ** intkey table, the caller should be inserting integer keys with a ** blob of associated data. */ - assert( (pKey==0)==(pCur->pKeyInfo==0) ); + assert( (pX->pKey==0)==(pCur->pKeyInfo==0) ); /* Save the positions of any other cursors open on this table. ** @@ -65725,38 +66234,38 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( } if( pCur->pKeyInfo==0 ){ - assert( pKey==0 ); + assert( pX->pKey==0 ); /* If this is an insert into a table b-tree, invalidate any incrblob ** cursors open on the row being replaced */ - invalidateIncrblobCursors(p, nKey, 0); + invalidateIncrblobCursors(p, pX->nKey, 0); /* If the cursor is currently on the last row and we are appending a ** new row onto the end, set the "loc" to avoid an unnecessary ** btreeMoveto() call */ - if( (pCur->curFlags&BTCF_ValidNKey)!=0 && nKey>0 - && pCur->info.nKey==nKey-1 ){ + if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey>0 + && pCur->info.nKey==pX->nKey-1 ){ loc = -1; }else if( loc==0 ){ - rc = sqlite3BtreeMovetoUnpacked(pCur, 0, nKey, appendBias, &loc); + rc = sqlite3BtreeMovetoUnpacked(pCur, 0, pX->nKey, appendBias, &loc); if( rc ) return rc; } }else if( loc==0 ){ - rc = btreeMoveto(pCur, pKey, nKey, appendBias, &loc); + rc = btreeMoveto(pCur, pX->pKey, pX->nKey, appendBias, &loc); if( rc ) return rc; } assert( pCur->eState==CURSOR_VALID || (pCur->eState==CURSOR_INVALID && loc) ); pPage = pCur->apPage[pCur->iPage]; - assert( pPage->intKey || nKey>=0 ); + assert( pPage->intKey || pX->nKey>=0 ); assert( pPage->leaf || !pPage->intKey ); TRACE(("INSERT: table=%d nkey=%lld ndata=%d page=%d %s\n", - pCur->pgnoRoot, nKey, nData, pPage->pgno, + pCur->pgnoRoot, pX->nKey, pX->nData, pPage->pgno, loc==0 ? "overwrite" : "new entry")); assert( pPage->isInit ); newCell = pBt->pTmpSpace; assert( newCell!=0 ); - rc = fillInCell(pPage, newCell, pKey, nKey, pData, nData, nZero, &szNew); + rc = fillInCell(pPage, newCell, pX, &szNew); if( rc ) goto end_insert; assert( szNew==pPage->xCellSize(pPage, newCell) ); assert( szNew <= MX_CELL_SIZE(pBt) ); @@ -65782,6 +66291,7 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( assert( pPage->leaf ); } insertCell(pPage, idx, newCell, szNew, 0, 0, &rc); + assert( pPage->nOverflow==0 || rc==SQLITE_OK ); assert( rc!=SQLITE_OK || pPage->nCell>0 || pPage->nOverflow>0 ); /* If no error has occurred and pPage has an overflow cell, call balance() @@ -65805,7 +66315,8 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( ** row without seeking the cursor. This can be a big performance boost. */ pCur->info.nSize = 0; - if( rc==SQLITE_OK && pPage->nOverflow ){ + if( pPage->nOverflow ){ + assert( rc==SQLITE_OK ); pCur->curFlags &= ~(BTCF_ValidNKey); rc = balance(pCur); @@ -65941,7 +66452,9 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ pTmp = pBt->pTmpSpace; assert( pTmp!=0 ); rc = sqlite3PagerWrite(pLeaf->pDbPage); - insertCell(pPage, iCellIdx, pCell-4, nCell+4, pTmp, n, &rc); + if( rc==SQLITE_OK ){ + insertCell(pPage, iCellIdx, pCell-4, nCell+4, pTmp, n, &rc); + } dropCell(pLeaf, pLeaf->nCell-1, nCell, &rc); if( rc ) return rc; } @@ -67430,6 +67943,16 @@ SQLITE_PRIVATE int sqlite3HeaderSizeBtree(void){ return ROUND8(sizeof(MemPage)); SQLITE_PRIVATE int sqlite3BtreeSharable(Btree *p){ return p->sharable; } + +/* +** Return the number of connections to the BtShared object accessed by +** the Btree handle passed as the only argument. For private caches +** this is always 1. For shared caches it may be 1 or greater. +*/ +SQLITE_PRIVATE int sqlite3BtreeConnectionCount(Btree *p){ + testcase( p->sharable ); + return p->pBt->nRef; +} #endif /************** End of btree.c ***********************************************/ @@ -67519,22 +68042,16 @@ static Btree *findBtree(sqlite3 *pErrorDb, sqlite3 *pDb, const char *zDb){ int i = sqlite3FindDbName(pDb, zDb); if( i==1 ){ - Parse *pParse; + Parse sParse; int rc = 0; - pParse = sqlite3StackAllocZero(pErrorDb, sizeof(*pParse)); - if( pParse==0 ){ - sqlite3ErrorWithMsg(pErrorDb, SQLITE_NOMEM, "out of memory"); - rc = SQLITE_NOMEM_BKPT; - }else{ - pParse->db = pDb; - if( sqlite3OpenTempDatabase(pParse) ){ - sqlite3ErrorWithMsg(pErrorDb, pParse->rc, "%s", pParse->zErrMsg); - rc = SQLITE_ERROR; - } - sqlite3DbFree(pErrorDb, pParse->zErrMsg); - sqlite3ParserReset(pParse); - sqlite3StackFree(pErrorDb, pParse); + memset(&sParse, 0, sizeof(sParse)); + sParse.db = pDb; + if( sqlite3OpenTempDatabase(&sParse) ){ + sqlite3ErrorWithMsg(pErrorDb, sParse.rc, "%s", sParse.zErrMsg); + rc = SQLITE_ERROR; } + sqlite3DbFree(pErrorDb, sParse.zErrMsg); + sqlite3ParserReset(&sParse); if( rc ){ return 0; } @@ -67580,7 +68097,7 @@ static int checkReadTransaction(sqlite3 *db, Btree *p){ ** If an error occurs, NULL is returned and an error code and error message ** stored in database handle pDestDb. */ -SQLITE_API sqlite3_backup *SQLITE_STDCALL sqlite3_backup_init( +SQLITE_API sqlite3_backup *sqlite3_backup_init( sqlite3* pDestDb, /* Database to write to */ const char *zDestDb, /* Name of database within pDestDb */ sqlite3* pSrcDb, /* Database connection to read from */ @@ -67632,7 +68149,6 @@ SQLITE_API sqlite3_backup *SQLITE_STDCALL sqlite3_backup_init( p->isAttached = 0; if( 0==p->pSrc || 0==p->pDest - || setDestPgsz(p)==SQLITE_NOMEM || checkReadTransaction(pDestDb, p->pDest)!=SQLITE_OK ){ /* One (or both) of the named databases did not exist or an OOM @@ -67788,7 +68304,7 @@ static void attachBackupObject(sqlite3_backup *p){ /* ** Copy nPage pages from the source b-tree to the destination. */ -SQLITE_API int SQLITE_STDCALL sqlite3_backup_step(sqlite3_backup *p, int nPage){ +SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage){ int rc; int destMode; /* Destination journal mode */ int pgszSrc = 0; /* Source page size */ @@ -67820,14 +68336,6 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_step(sqlite3_backup *p, int nPage){ rc = SQLITE_OK; } - /* Lock the destination database, if it is not locked already. */ - if( SQLITE_OK==rc && p->bDestLocked==0 - && SQLITE_OK==(rc = sqlite3BtreeBeginTrans(p->pDest, 2)) - ){ - p->bDestLocked = 1; - sqlite3BtreeGetMeta(p->pDest, BTREE_SCHEMA_VERSION, &p->iDestSchema); - } - /* If there is no open read-transaction on the source database, open ** one now. If a transaction is opened here, then it will be closed ** before this function exits. @@ -67837,6 +68345,24 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_step(sqlite3_backup *p, int nPage){ bCloseTrans = 1; } + /* If the destination database has not yet been locked (i.e. if this + ** is the first call to backup_step() for the current backup operation), + ** try to set its page size to the same as the source database. This + ** is especially important on ZipVFS systems, as in that case it is + ** not possible to create a database file that uses one page size by + ** writing to it with another. */ + if( p->bDestLocked==0 && rc==SQLITE_OK && setDestPgsz(p)==SQLITE_NOMEM ){ + rc = SQLITE_NOMEM; + } + + /* Lock the destination database, if it is not locked already. */ + if( SQLITE_OK==rc && p->bDestLocked==0 + && SQLITE_OK==(rc = sqlite3BtreeBeginTrans(p->pDest, 2)) + ){ + p->bDestLocked = 1; + sqlite3BtreeGetMeta(p->pDest, BTREE_SCHEMA_VERSION, &p->iDestSchema); + } + /* Do not allow backup if the destination database is in WAL mode ** and the page sizes are different between source and destination */ pgszSrc = sqlite3BtreeGetPageSize(p->pSrc); @@ -68032,7 +68558,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_step(sqlite3_backup *p, int nPage){ /* ** Release all resources associated with an sqlite3_backup* handle. */ -SQLITE_API int SQLITE_STDCALL sqlite3_backup_finish(sqlite3_backup *p){ +SQLITE_API int sqlite3_backup_finish(sqlite3_backup *p){ sqlite3_backup **pp; /* Ptr to head of pagers backup list */ sqlite3 *pSrcDb; /* Source database connection */ int rc; /* Value to return */ @@ -68084,7 +68610,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_finish(sqlite3_backup *p){ ** Return the number of pages still to be backed up as of the most recent ** call to sqlite3_backup_step(). */ -SQLITE_API int SQLITE_STDCALL sqlite3_backup_remaining(sqlite3_backup *p){ +SQLITE_API int sqlite3_backup_remaining(sqlite3_backup *p){ #ifdef SQLITE_ENABLE_API_ARMOR if( p==0 ){ (void)SQLITE_MISUSE_BKPT; @@ -68098,7 +68624,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_remaining(sqlite3_backup *p){ ** Return the total number of pages in the source database as of the most ** recent call to sqlite3_backup_step(). */ -SQLITE_API int SQLITE_STDCALL sqlite3_backup_pagecount(sqlite3_backup *p){ +SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p){ #ifdef SQLITE_ENABLE_API_ARMOR if( p==0 ){ (void)SQLITE_MISUSE_BKPT; @@ -68213,10 +68739,10 @@ SQLITE_PRIVATE int sqlite3BtreeCopyFile(Btree *pTo, Btree *pFrom){ ** sqlite3_backup_step(), we can guarantee that the copy finishes ** within a single call (unless an error occurs). The assert() statement ** checks this assumption - (p->rc) should be set to either SQLITE_DONE - ** or an error code. - */ + ** or an error code. */ sqlite3_backup_step(&b, 0x7FFFFFFF); assert( b.rc!=SQLITE_OK ); + rc = sqlite3_backup_finish(&b); if( rc==SQLITE_OK ){ pTo->pBt->btsFlags &= ~BTS_PAGESIZE_FIXED; @@ -68425,18 +68951,18 @@ SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int szNew){ ** Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. */ SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ - int f; assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( (pMem->flags&MEM_RowSet)==0 ); - ExpandBlob(pMem); - f = pMem->flags; - if( (f&(MEM_Str|MEM_Blob)) && (pMem->szMalloc==0 || pMem->z!=pMem->zMalloc) ){ - if( sqlite3VdbeMemGrow(pMem, pMem->n + 2, 1) ){ - return SQLITE_NOMEM_BKPT; + if( (pMem->flags & (MEM_Str|MEM_Blob))!=0 ){ + if( ExpandBlob(pMem) ) return SQLITE_NOMEM; + if( pMem->szMalloc==0 || pMem->z!=pMem->zMalloc ){ + if( sqlite3VdbeMemGrow(pMem, pMem->n + 2, 1) ){ + return SQLITE_NOMEM_BKPT; + } + pMem->z[pMem->n] = 0; + pMem->z[pMem->n+1] = 0; + pMem->flags |= MEM_Term; } - pMem->z[pMem->n] = 0; - pMem->z[pMem->n+1] = 0; - pMem->flags |= MEM_Term; } pMem->flags &= ~MEM_Ephem; #ifdef SQLITE_DEBUG @@ -68452,25 +68978,24 @@ SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ */ #ifndef SQLITE_OMIT_INCRBLOB SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ - if( pMem->flags & MEM_Zero ){ - int nByte; - assert( pMem->flags&MEM_Blob ); - assert( (pMem->flags&MEM_RowSet)==0 ); - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - - /* Set nByte to the number of bytes required to store the expanded blob. */ - nByte = pMem->n + pMem->u.nZero; - if( nByte<=0 ){ - nByte = 1; - } - if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ - return SQLITE_NOMEM_BKPT; - } + int nByte; + assert( pMem->flags & MEM_Zero ); + assert( pMem->flags&MEM_Blob ); + assert( (pMem->flags&MEM_RowSet)==0 ); + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - memset(&pMem->z[pMem->n], 0, pMem->u.nZero); - pMem->n += pMem->u.nZero; - pMem->flags &= ~(MEM_Zero|MEM_Term); + /* Set nByte to the number of bytes required to store the expanded blob. */ + nByte = pMem->n + pMem->u.nZero; + if( nByte<=0 ){ + nByte = 1; + } + if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ + return SQLITE_NOMEM_BKPT; } + + memset(&pMem->z[pMem->n], 0, pMem->u.nZero); + pMem->n += pMem->u.nZero; + pMem->flags &= ~(MEM_Zero|MEM_Term); return SQLITE_OK; } #endif @@ -68530,6 +69055,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ if( sqlite3VdbeMemClearAndResize(pMem, nByte) ){ + pMem->enc = 0; return SQLITE_NOMEM_BKPT; } @@ -68811,7 +69337,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem *pMem){ } } assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))!=0 ); - pMem->flags &= ~(MEM_Str|MEM_Blob); + pMem->flags &= ~(MEM_Str|MEM_Blob|MEM_Zero); return SQLITE_OK; } @@ -68829,7 +69355,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem *pMem, u8 aff, u8 encoding){ if( (pMem->flags & MEM_Blob)==0 ){ sqlite3ValueApplyAffinity(pMem, SQLITE_AFF_TEXT, encoding); assert( pMem->flags & MEM_Str || pMem->db->mallocFailed ); - MemSetTypeFlag(pMem, MEM_Blob); + if( pMem->flags & MEM_Str ) MemSetTypeFlag(pMem, MEM_Blob); }else{ pMem->flags &= ~(MEM_TypeMask&~MEM_Blob); } @@ -69227,11 +69753,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemFromBtree( /* Note: the calls to BtreeKeyFetch() and DataFetch() below assert() ** that both the BtShared and database handle mutexes are held. */ assert( (pMem->flags & MEM_RowSet)==0 ); - if( key ){ - zData = (char *)sqlite3BtreeKeyFetch(pCur, &available); - }else{ - zData = (char *)sqlite3BtreeDataFetch(pCur, &available); - } + zData = (char *)sqlite3BtreePayloadFetch(pCur, &available); assert( zData!=0 ); if( offset+amt<=available ){ @@ -69258,9 +69780,6 @@ static SQLITE_NOINLINE const void *valueToText(sqlite3_value* pVal, u8 enc){ assert( (pVal->flags & (MEM_Null))==0 ); if( pVal->flags & (MEM_Blob|MEM_Str) ){ pVal->flags |= MEM_Str; - if( pVal->flags & MEM_Zero ){ - sqlite3VdbeMemExpandBlob(pVal); - } if( pVal->enc != (enc & ~SQLITE_UTF16_ALIGNED) ){ sqlite3VdbeChangeEncoding(pVal, enc & ~SQLITE_UTF16_ALIGNED); } @@ -69513,10 +70032,7 @@ static int valueFromExpr( const char *zNeg = ""; int rc = SQLITE_OK; - if( !pExpr ){ - *ppVal = 0; - return SQLITE_OK; - } + assert( pExpr!=0 ); while( (op = pExpr->op)==TK_UPLUS || op==TK_SPAN ) pExpr = pExpr->pLeft; if( NEVER(op==TK_REGISTER) ) op = pExpr->op2; @@ -69640,7 +70156,7 @@ SQLITE_PRIVATE int sqlite3ValueFromExpr( u8 affinity, /* Affinity to use */ sqlite3_value **ppVal /* Write the new value here */ ){ - return valueFromExpr(db, pExpr, enc, affinity, ppVal, 0); + return pExpr ? valueFromExpr(db, pExpr, enc, affinity, ppVal, 0) : 0; } #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 @@ -69760,9 +70276,9 @@ static int stat4ValueFromExpr( ** structures intended to be compared against sample index keys stored ** in the sqlite_stat4 table. ** -** A single call to this function attempts to populates field iVal (leftmost -** is 0 etc.) of the unpacked record with a value extracted from expression -** pExpr. Extraction of values is possible if: +** A single call to this function populates zero or more fields of the +** record starting with field iVal (fields are numbered from left to +** right starting with 0). A single field is populated if: ** ** * (pExpr==0). In this case the value is assumed to be an SQL NULL, ** @@ -69771,10 +70287,14 @@ static int stat4ValueFromExpr( ** * The sqlite3ValueFromExpr() function is able to extract a value ** from the expression (i.e. the expression is a literal value). ** -** If a value can be extracted, the affinity passed as the 5th argument -** is applied to it before it is copied into the UnpackedRecord. Output -** parameter *pbOk is set to true if a value is extracted, or false -** otherwise. +** Or, if pExpr is a TK_VECTOR, one field is populated for each of the +** vector components that match either of the two latter criteria listed +** above. +** +** Before any value is appended to the record, the affinity of the +** corresponding column within index pIdx is applied to it. Before +** this function returns, output parameter *pnExtract is set to the +** number of values appended to the record. ** ** When this function is called, *ppRec must either point to an object ** allocated by an earlier call to this function, or must be NULL. If it @@ -69790,22 +70310,33 @@ SQLITE_PRIVATE int sqlite3Stat4ProbeSetValue( Index *pIdx, /* Index being probed */ UnpackedRecord **ppRec, /* IN/OUT: Probe record */ Expr *pExpr, /* The expression to extract a value from */ - u8 affinity, /* Affinity to use */ + int nElem, /* Maximum number of values to append */ int iVal, /* Array element to populate */ - int *pbOk /* OUT: True if value was extracted */ + int *pnExtract /* OUT: Values appended to the record */ ){ - int rc; - sqlite3_value *pVal = 0; - struct ValueNewStat4Ctx alloc; + int rc = SQLITE_OK; + int nExtract = 0; + + if( pExpr==0 || pExpr->op!=TK_SELECT ){ + int i; + struct ValueNewStat4Ctx alloc; - alloc.pParse = pParse; - alloc.pIdx = pIdx; - alloc.ppRec = ppRec; - alloc.iVal = iVal; + alloc.pParse = pParse; + alloc.pIdx = pIdx; + alloc.ppRec = ppRec; - rc = stat4ValueFromExpr(pParse, pExpr, affinity, &alloc, &pVal); - assert( pVal==0 || pVal->db==pParse->db ); - *pbOk = (pVal!=0); + for(i=0; idb, pIdx, iVal+i); + alloc.iVal = iVal+i; + rc = stat4ValueFromExpr(pParse, pElem, aff, &alloc, &pVal); + if( !pVal ) break; + nExtract++; + } + } + + *pnExtract = nExtract; return rc; } @@ -69968,8 +70499,9 @@ SQLITE_PRIVATE int sqlite3ValueBytes(sqlite3_value *pVal, u8 enc){ SQLITE_PRIVATE Vdbe *sqlite3VdbeCreate(Parse *pParse){ sqlite3 *db = pParse->db; Vdbe *p; - p = sqlite3DbMallocZero(db, sizeof(Vdbe) ); + p = sqlite3DbMallocRawNN(db, sizeof(Vdbe) ); if( p==0 ) return 0; + memset(&p->aOp, 0, sizeof(Vdbe)-offsetof(Vdbe,aOp)); p->db = db; if( db->pVdbe ){ db->pVdbe->pPrev = p; @@ -70011,14 +70543,6 @@ SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe *p, const char *z, int n, int isPrepa p->isPrepareV2 = (u8)isPrepareV2; } -/* -** Return the SQL associated with a prepared statement -*/ -SQLITE_API const char *SQLITE_STDCALL sqlite3_sql(sqlite3_stmt *pStmt){ - Vdbe *p = (Vdbe *)pStmt; - return p ? p->zSql : 0; -} - /* ** Swap all content between two VDBE structures. */ @@ -70139,9 +70663,8 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp3(Vdbe *p, int op, int p1, int p2, int p3){ if( p->db->flags & SQLITE_VdbeAddopTrace ){ int jj, kk; Parse *pParse = p->pParse; - for(jj=kk=0; jjnColCache; jj++){ struct yColCache *x = pParse->aColCache + jj; - if( x->iLevel>pParse->iCacheLevel || x->iReg==0 ) continue; printf(" r[%d]={%d:%d}", x->iReg, x->iTable, x->iColumn); kk++; } @@ -70329,7 +70852,6 @@ SQLITE_PRIVATE void sqlite3VdbeResolveLabel(Vdbe *v, int x){ if( p->aLabel ){ p->aLabel[j] = v->nOp; } - p->iFixedOp = v->nOp - 1; } /* @@ -70720,7 +71242,8 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe *p, u32 addr, int val){ sqlite3VdbeGetOp(p,addr)->p3 = val; } SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe *p, u8 p5){ - if( !p->db->mallocFailed ) p->aOp[p->nOp-1].p5 = p5; + assert( p->nOp>0 || p->db->mallocFailed ); + if( p->nOp>0 ) p->aOp[p->nOp-1].p5 = p5; } /* @@ -70728,7 +71251,6 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe *p, u8 p5){ ** the address of the next instruction to be coded. */ SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe *p, int addr){ - p->pParse->iFixedOp = p->nOp - 1; sqlite3VdbeChangeP2(p, addr, p->nOp); } @@ -70738,7 +71260,7 @@ SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe *p, int addr){ ** the FuncDef is not ephermal, then do nothing. */ static void freeEphemeralFunction(sqlite3 *db, FuncDef *pDef){ - if( ALWAYS(pDef) && (pDef->funcFlags & SQLITE_FUNC_EPHEM)!=0 ){ + if( (pDef->funcFlags & SQLITE_FUNC_EPHEM)!=0 ){ sqlite3DbFree(db, pDef); } } @@ -70748,12 +71270,20 @@ static void vdbeFreeOpArray(sqlite3 *, Op *, int); /* ** Delete a P4 value if necessary. */ +static SQLITE_NOINLINE void freeP4Mem(sqlite3 *db, Mem *p){ + if( p->szMalloc ) sqlite3DbFree(db, p->zMalloc); + sqlite3DbFree(db, p); +} +static SQLITE_NOINLINE void freeP4FuncCtx(sqlite3 *db, sqlite3_context *p){ + freeEphemeralFunction(db, p->pFunc); + sqlite3DbFree(db, p); +} static void freeP4(sqlite3 *db, int p4type, void *p4){ assert( db ); switch( p4type ){ case P4_FUNCCTX: { - freeEphemeralFunction(db, ((sqlite3_context*)p4)->pFunc); - /* Fall through into the next case */ + freeP4FuncCtx(db, (sqlite3_context*)p4); + break; } case P4_REAL: case P4_INT64: @@ -70784,9 +71314,7 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ if( db->pnBytesFreed==0 ){ sqlite3ValueFree((sqlite3_value*)p4); }else{ - Mem *p = (Mem*)p4; - if( p->szMalloc ) sqlite3DbFree(db, p->zMalloc); - sqlite3DbFree(db, p); + freeP4Mem(db, (Mem*)p4); } break; } @@ -70845,7 +71373,7 @@ SQLITE_PRIVATE int sqlite3VdbeChangeToNoop(Vdbe *p, int addr){ ** then remove it. Return true if and only if an opcode was removed. */ SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe *p, u8 op){ - if( (p->nOp-1)>(p->pParse->iFixedOp) && p->aOp[p->nOp-1].opcode==op ){ + if( p->nOp>0 && p->aOp[p->nOp-1].opcode==op ){ return sqlite3VdbeChangeToNoop(p, p->nOp-1); }else{ return 0; @@ -71043,12 +71571,21 @@ static int displayComment( const char *zSynopsis; int nOpName; int ii, jj; + char zAlt[50]; zOpName = sqlite3OpcodeName(pOp->opcode); nOpName = sqlite3Strlen30(zOpName); if( zOpName[nOpName+1] ){ int seenCom = 0; char c; zSynopsis = zOpName += nOpName + 1; + if( strncmp(zSynopsis,"IF ",3)==0 ){ + if( pOp->p5 & SQLITE_STOREP2 ){ + sqlite3_snprintf(sizeof(zAlt), zAlt, "r[P2] = (%s)", zSynopsis+3); + }else{ + sqlite3_snprintf(sizeof(zAlt), zAlt, "if %s goto P2", zSynopsis+3); + } + zSynopsis = zAlt; + } for(ii=jj=0; jj0 ){ + p->db = db; + p->flags = flags; + p->szMalloc = 0; +#ifdef SQLITE_DEBUG + p->pScopyFrom = 0; +#endif + p++; + } +} + /* ** Release an array of N Mem elements */ @@ -71610,6 +72162,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( pMem->flags = MEM_Str|MEM_Term; zP4 = displayP4(pOp, pMem->z, pMem->szMalloc); if( zP4!=pMem->z ){ + pMem->n = 0; sqlite3VdbeMemSetStr(pMem, zP4, -1, SQLITE_UTF8, 0); }else{ assert( pMem->z!=0 ); @@ -71752,7 +72305,7 @@ SQLITE_PRIVATE void sqlite3VdbeRewind(Vdbe *p){ int i; #endif assert( p!=0 ); - assert( p->magic==VDBE_MAGIC_INIT ); + assert( p->magic==VDBE_MAGIC_INIT || p->magic==VDBE_MAGIC_RESET ); /* There should be at least one opcode. */ @@ -71809,7 +72362,6 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( int nMem; /* Number of VM memory registers */ int nCursor; /* Number of cursors required */ int nArg; /* Number of arguments in subprograms */ - int nOnce; /* Number of OP_Once instructions */ int n; /* Loop counter */ struct ReusableSpace x; /* Reusable bulk memory */ @@ -71824,8 +72376,6 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( nMem = pParse->nMem; nCursor = pParse->nTab; nArg = pParse->nMaxArg; - nOnce = pParse->nOnce; - if( nOnce==0 ) nOnce = 1; /* Ensure at least one byte in p->aOnceFlag[] */ /* Each cursor uses a memory cell. The first cursor (cursor 0) can ** use aMem[0] which is not otherwise used by the VDBE program. Allocate @@ -71844,10 +72394,7 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( assert( EIGHT_BYTE_ALIGNMENT(x.pSpace) ); x.nFree = ROUNDDOWN8(pParse->szOpAlloc - n); /* Bytes of unused memory */ assert( x.nFree>=0 ); - if( x.nFree>0 ){ - memset(x.pSpace, 0, x.nFree); - assert( EIGHT_BYTE_ALIGNMENT(&x.pSpace[x.nFree]) ); - } + assert( EIGHT_BYTE_ALIGNMENT(&x.pSpace[x.nFree]) ); resolveP2Values(p, &nArg); p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort); @@ -71872,36 +72419,34 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( p->aVar = allocSpace(&x, p->aVar, nVar*sizeof(Mem)); p->apArg = allocSpace(&x, p->apArg, nArg*sizeof(Mem*)); p->apCsr = allocSpace(&x, p->apCsr, nCursor*sizeof(VdbeCursor*)); - p->aOnceFlag = allocSpace(&x, p->aOnceFlag, nOnce); #ifdef SQLITE_ENABLE_STMT_SCANSTATUS p->anExec = allocSpace(&x, p->anExec, p->nOp*sizeof(i64)); #endif if( x.nNeeded==0 ) break; - x.pSpace = p->pFree = sqlite3DbMallocZero(db, x.nNeeded); + x.pSpace = p->pFree = sqlite3DbMallocRawNN(db, x.nNeeded); x.nFree = x.nNeeded; }while( !db->mallocFailed ); - p->nCursor = nCursor; - p->nOnceFlag = nOnce; - if( p->aVar ){ - p->nVar = (ynVar)nVar; - for(n=0; naVar[n].flags = MEM_Null; - p->aVar[n].db = db; - } - } p->nzVar = pParse->nzVar; p->azVar = pParse->azVar; pParse->nzVar = 0; pParse->azVar = 0; - if( p->aMem ){ + p->explain = pParse->explain; + if( db->mallocFailed ){ + p->nVar = 0; + p->nCursor = 0; + p->nMem = 0; + }else{ + p->nCursor = nCursor; + p->nVar = (ynVar)nVar; + initMemArray(p->aVar, nVar, db, MEM_Null); p->nMem = nMem; - for(n=0; naMem[n].flags = MEM_Undefined; - p->aMem[n].db = db; - } + initMemArray(p->aMem, nMem, db, MEM_Undefined); + memset(p->apCsr, 0, nCursor*sizeof(VdbeCursor*)); +#ifdef SQLITE_ENABLE_STMT_SCANSTATUS + memset(p->anExec, 0, p->nOp*sizeof(i64)); +#endif } - p->explain = pParse->explain; sqlite3VdbeRewind(p); } @@ -71970,8 +72515,6 @@ SQLITE_PRIVATE int sqlite3VdbeFrameRestore(VdbeFrame *pFrame){ #ifdef SQLITE_ENABLE_STMT_SCANSTATUS v->anExec = pFrame->anExec; #endif - v->aOnceFlag = pFrame->aOnceFlag; - v->nOnceFlag = pFrame->nOnceFlag; v->aOp = pFrame->aOp; v->nOp = pFrame->nOp; v->aMem = pFrame->aMem; @@ -72055,13 +72598,9 @@ SQLITE_PRIVATE void sqlite3VdbeSetNumCols(Vdbe *p, int nResColumn){ sqlite3DbFree(db, p->aColName); n = nResColumn*COLNAME_N; p->nResColumn = (u16)nResColumn; - p->aColName = pColName = (Mem*)sqlite3DbMallocZero(db, sizeof(Mem)*n ); + p->aColName = pColName = (Mem*)sqlite3DbMallocRawNN(db, sizeof(Mem)*n ); if( p->aColName==0 ) return; - while( n-- > 0 ){ - pColName->flags = MEM_Null; - pColName->db = p->db; - pColName++; - } + initMemArray(p->aColName, n, p->db, MEM_Null); } /* @@ -72512,7 +73051,6 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ if( db->mallocFailed ){ p->rc = SQLITE_NOMEM_BKPT; } - if( p->aOnceFlag ) memset(p->aOnceFlag, 0, p->nOnceFlag); closeAllCursors(p); if( p->magic!=VDBE_MAGIC_RUN ){ return SQLITE_OK; @@ -72824,7 +73362,7 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ } #endif p->iCurrentTime = 0; - p->magic = VDBE_MAGIC_INIT; + p->magic = VDBE_MAGIC_RESET; return p->rc & db->errMask; } @@ -72888,19 +73426,21 @@ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ SubProgram *pSub, *pNext; int i; assert( p->db==0 || p->db==db ); - releaseMemArray(p->aVar, p->nVar); releaseMemArray(p->aColName, p->nResColumn*COLNAME_N); for(pSub=p->pProgram; pSub; pSub=pNext){ pNext = pSub->pNext; vdbeFreeOpArray(db, pSub->aOp, pSub->nOp); sqlite3DbFree(db, pSub); } - for(i=p->nzVar-1; i>=0; i--) sqlite3DbFree(db, p->azVar[i]); - sqlite3DbFree(db, p->azVar); + if( p->magic!=VDBE_MAGIC_INIT ){ + releaseMemArray(p->aVar, p->nVar); + for(i=p->nzVar-1; i>=0; i--) sqlite3DbFree(db, p->azVar[i]); + sqlite3DbFree(db, p->azVar); + sqlite3DbFree(db, p->pFree); + } vdbeFreeOpArray(db, p->aOp, p->nOp); sqlite3DbFree(db, p->aColName); sqlite3DbFree(db, p->zSql); - sqlite3DbFree(db, p->pFree); #ifdef SQLITE_ENABLE_STMT_SCANSTATUS for(i=0; inScan; i++){ sqlite3DbFree(db, p->aScan[i].zName); @@ -73656,15 +74196,49 @@ static int vdbeCompareMemString( } } +/* +** The input pBlob is guaranteed to be a Blob that is not marked +** with MEM_Zero. Return true if it could be a zero-blob. +*/ +static int isAllZero(const char *z, int n){ + int i; + for(i=0; iz, pB2->z, pB1->n>pB2->n ? pB2->n : pB1->n); + int c; + int n1 = pB1->n; + int n2 = pB2->n; + + /* It is possible to have a Blob value that has some non-zero content + ** followed by zero content. But that only comes up for Blobs formed + ** by the OP_MakeRecord opcode, and such Blobs never get passed into + ** sqlite3MemCompare(). */ + assert( (pB1->flags & MEM_Zero)==0 || n1==0 ); + assert( (pB2->flags & MEM_Zero)==0 || n2==0 ); + + if( (pB1->flags|pB2->flags) & MEM_Zero ){ + if( pB1->flags & pB2->flags & MEM_Zero ){ + return pB1->u.nZero - pB2->u.nZero; + }else if( pB1->flags & MEM_Zero ){ + if( !isAllZero(pB2->z, pB2->n) ) return -1; + return pB1->u.nZero - n2; + }else{ + if( !isAllZero(pB1->z, pB1->n) ) return +1; + return n1 - pB2->u.nZero; + } + } + c = memcmp(pB1->z, pB2->z, n1>n2 ? n2 : n1); if( c ) return c; - return pB1->n - pB2->n; + return n1 - n2; } /* @@ -73970,6 +74544,7 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( /* RHS is a blob */ else if( pRhs->flags & MEM_Blob ){ + assert( (pRhs->flags & MEM_Zero)==0 || pRhs->n==0 ); getVarint32(&aKey1[idx1], serial_type); testcase( serial_type==12 ); if( serial_type<12 || (serial_type & 0x01) ){ @@ -73981,6 +74556,12 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( if( (d1+nStr) > (unsigned)nKey1 ){ pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; return 0; /* Corruption */ + }else if( pRhs->flags & MEM_Zero ){ + if( !isAllZero((const char*)&aKey1[d1],nStr) ){ + rc = 1; + }else{ + rc = nStr - pRhs->u.nZero; + } }else{ int nCmp = MIN(nStr, pRhs->n); rc = memcmp(&aKey1[d1], pRhs->z, nCmp); @@ -74051,7 +74632,7 @@ static int vdbeRecordCompareInt( int res; u32 y; u64 x; - i64 v = pPKey2->aMem[0].u.i; + i64 v; i64 lhs; vdbeAssertFieldCountWithinLimits(nKey1, pKey1, pPKey2->pKeyInfo); @@ -74110,6 +74691,7 @@ static int vdbeRecordCompareInt( return sqlite3VdbeRecordCompare(nKey1, pKey1, pPKey2); } + v = pPKey2->aMem[0].u.i; if( v>lhs ){ res = pPKey2->r1; }else if( veCurType==CURTYPE_BTREE ); pCur = pC->uc.pCursor; assert( sqlite3BtreeCursorIsValid(pCur) ); - VVA_ONLY(rc =) sqlite3BtreeKeySize(pCur, &nCellKey); - assert( rc==SQLITE_OK ); /* pCur is always valid so KeySize cannot fail */ + nCellKey = sqlite3BtreePayloadSize(pCur); /* nCellKey will always be between 0 and 0xffffffff because of the way ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if( nCellKey<=0 || nCellKey>0x7fffffff ){ @@ -74515,7 +75095,7 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook( preupdate.keyinfo.aSortOrder = (u8*)&fakeSortOrder; preupdate.iKey1 = iKey1; preupdate.iKey2 = iKey2; - preupdate.iPKey = pTab->iPKey; + preupdate.pTab = pTab; db->pPreUpdate = &preupdate; db->xPreUpdateCallback(db->pPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2); @@ -74562,7 +75142,7 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook( ** collating sequences are registered or if an authorizer function is ** added or changed. */ -SQLITE_API int SQLITE_STDCALL sqlite3_expired(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_expired(sqlite3_stmt *pStmt){ Vdbe *p = (Vdbe*)pStmt; return p==0 || p->expired; } @@ -74597,12 +75177,19 @@ static int vdbeSafetyNotNull(Vdbe *p){ */ static SQLITE_NOINLINE void invokeProfileCallback(sqlite3 *db, Vdbe *p){ sqlite3_int64 iNow; + sqlite3_int64 iElapse; assert( p->startTime>0 ); - assert( db->xProfile!=0 ); + assert( db->xProfile!=0 || (db->mTrace & SQLITE_TRACE_PROFILE)!=0 ); assert( db->init.busy==0 ); assert( p->zSql!=0 ); sqlite3OsCurrentTimeInt64(db->pVfs, &iNow); - db->xProfile(db->pProfileArg, p->zSql, (iNow - p->startTime)*1000000); + iElapse = (iNow - p->startTime)*1000000; + if( db->xProfile ){ + db->xProfile(db->pProfileArg, p->zSql, iElapse); + } + if( db->mTrace & SQLITE_TRACE_PROFILE ){ + db->xTrace(SQLITE_TRACE_PROFILE, db->pTraceArg, p, (void*)&iElapse); + } p->startTime = 0; } /* @@ -74624,7 +75211,7 @@ static SQLITE_NOINLINE void invokeProfileCallback(sqlite3 *db, Vdbe *p){ ** This routine sets the error code and string returned by ** sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). */ -SQLITE_API int SQLITE_STDCALL sqlite3_finalize(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt){ int rc; if( pStmt==0 ){ /* IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -74651,7 +75238,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_finalize(sqlite3_stmt *pStmt){ ** This routine sets the error code and string returned by ** sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). */ -SQLITE_API int SQLITE_STDCALL sqlite3_reset(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt){ int rc; if( pStmt==0 ){ rc = SQLITE_OK; @@ -74672,7 +75259,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_reset(sqlite3_stmt *pStmt){ /* ** Set all the parameters in the compiled SQL statement to NULL. */ -SQLITE_API int SQLITE_STDCALL sqlite3_clear_bindings(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt *pStmt){ int i; int rc = SQLITE_OK; Vdbe *p = (Vdbe*)pStmt; @@ -74696,10 +75283,10 @@ SQLITE_API int SQLITE_STDCALL sqlite3_clear_bindings(sqlite3_stmt *pStmt){ ** The following routines extract information from a Mem or sqlite3_value ** structure. */ -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_blob(sqlite3_value *pVal){ +SQLITE_API const void *sqlite3_value_blob(sqlite3_value *pVal){ Mem *p = (Mem*)pVal; if( p->flags & (MEM_Blob|MEM_Str) ){ - if( sqlite3VdbeMemExpandBlob(p)!=SQLITE_OK ){ + if( ExpandBlob(p)!=SQLITE_OK ){ assert( p->flags==MEM_Null && p->z==0 ); return 0; } @@ -74709,36 +75296,36 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_value_blob(sqlite3_value *pVal){ return sqlite3_value_text(pVal); } } -SQLITE_API int SQLITE_STDCALL sqlite3_value_bytes(sqlite3_value *pVal){ +SQLITE_API int sqlite3_value_bytes(sqlite3_value *pVal){ return sqlite3ValueBytes(pVal, SQLITE_UTF8); } -SQLITE_API int SQLITE_STDCALL sqlite3_value_bytes16(sqlite3_value *pVal){ +SQLITE_API int sqlite3_value_bytes16(sqlite3_value *pVal){ return sqlite3ValueBytes(pVal, SQLITE_UTF16NATIVE); } -SQLITE_API double SQLITE_STDCALL sqlite3_value_double(sqlite3_value *pVal){ +SQLITE_API double sqlite3_value_double(sqlite3_value *pVal){ return sqlite3VdbeRealValue((Mem*)pVal); } -SQLITE_API int SQLITE_STDCALL sqlite3_value_int(sqlite3_value *pVal){ +SQLITE_API int sqlite3_value_int(sqlite3_value *pVal){ return (int)sqlite3VdbeIntValue((Mem*)pVal); } -SQLITE_API sqlite_int64 SQLITE_STDCALL sqlite3_value_int64(sqlite3_value *pVal){ +SQLITE_API sqlite_int64 sqlite3_value_int64(sqlite3_value *pVal){ return sqlite3VdbeIntValue((Mem*)pVal); } -SQLITE_API unsigned int SQLITE_STDCALL sqlite3_value_subtype(sqlite3_value *pVal){ +SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value *pVal){ Mem *pMem = (Mem*)pVal; return ((pMem->flags & MEM_Subtype) ? pMem->eSubtype : 0); } -SQLITE_API const unsigned char *SQLITE_STDCALL sqlite3_value_text(sqlite3_value *pVal){ +SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value *pVal){ return (const unsigned char *)sqlite3ValueText(pVal, SQLITE_UTF8); } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16(sqlite3_value* pVal){ +SQLITE_API const void *sqlite3_value_text16(sqlite3_value* pVal){ return sqlite3ValueText(pVal, SQLITE_UTF16NATIVE); } -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16be(sqlite3_value *pVal){ +SQLITE_API const void *sqlite3_value_text16be(sqlite3_value *pVal){ return sqlite3ValueText(pVal, SQLITE_UTF16BE); } -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16le(sqlite3_value *pVal){ +SQLITE_API const void *sqlite3_value_text16le(sqlite3_value *pVal){ return sqlite3ValueText(pVal, SQLITE_UTF16LE); } #endif /* SQLITE_OMIT_UTF16 */ @@ -74746,7 +75333,7 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16le(sqlite3_value *pVal ** fundamental datatypes: 64-bit signed integer 64-bit IEEE floating ** point number string BLOB NULL */ -SQLITE_API int SQLITE_STDCALL sqlite3_value_type(sqlite3_value* pVal){ +SQLITE_API int sqlite3_value_type(sqlite3_value* pVal){ static const u8 aType[] = { SQLITE_BLOB, /* 0x00 */ SQLITE_NULL, /* 0x01 */ @@ -74786,7 +75373,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_value_type(sqlite3_value* pVal){ /* Make a copy of an sqlite3_value object */ -SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_value_dup(const sqlite3_value *pOrig){ +SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value *pOrig){ sqlite3_value *pNew; if( pOrig==0 ) return 0; pNew = sqlite3_malloc( sizeof(*pNew) ); @@ -74809,7 +75396,7 @@ SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_value_dup(const sqlite3_value * /* Destroy an sqlite3_value object previously obtained from ** sqlite3_value_dup(). */ -SQLITE_API void SQLITE_STDCALL sqlite3_value_free(sqlite3_value *pOld){ +SQLITE_API void sqlite3_value_free(sqlite3_value *pOld){ sqlite3ValueFree(pOld); } @@ -74852,7 +75439,7 @@ static int invokeValueDestructor( if( pCtx ) sqlite3_result_error_toobig(pCtx); return SQLITE_TOOBIG; } -SQLITE_API void SQLITE_STDCALL sqlite3_result_blob( +SQLITE_API void sqlite3_result_blob( sqlite3_context *pCtx, const void *z, int n, @@ -74862,7 +75449,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_blob( assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, 0, xDel); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_blob64( +SQLITE_API void sqlite3_result_blob64( sqlite3_context *pCtx, const void *z, sqlite3_uint64 n, @@ -74876,43 +75463,43 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_blob64( setResultStrOrError(pCtx, z, (int)n, 0, xDel); } } -SQLITE_API void SQLITE_STDCALL sqlite3_result_double(sqlite3_context *pCtx, double rVal){ +SQLITE_API void sqlite3_result_double(sqlite3_context *pCtx, double rVal){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetDouble(pCtx->pOut, rVal); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_error(sqlite3_context *pCtx, const char *z, int n){ +SQLITE_API void sqlite3_result_error(sqlite3_context *pCtx, const char *z, int n){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_ERROR; pCtx->fErrorOrAux = 1; sqlite3VdbeMemSetStr(pCtx->pOut, z, n, SQLITE_UTF8, SQLITE_TRANSIENT); } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API void SQLITE_STDCALL sqlite3_result_error16(sqlite3_context *pCtx, const void *z, int n){ +SQLITE_API void sqlite3_result_error16(sqlite3_context *pCtx, const void *z, int n){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_ERROR; pCtx->fErrorOrAux = 1; sqlite3VdbeMemSetStr(pCtx->pOut, z, n, SQLITE_UTF16NATIVE, SQLITE_TRANSIENT); } #endif -SQLITE_API void SQLITE_STDCALL sqlite3_result_int(sqlite3_context *pCtx, int iVal){ +SQLITE_API void sqlite3_result_int(sqlite3_context *pCtx, int iVal){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetInt64(pCtx->pOut, (i64)iVal); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_int64(sqlite3_context *pCtx, i64 iVal){ +SQLITE_API void sqlite3_result_int64(sqlite3_context *pCtx, i64 iVal){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetInt64(pCtx->pOut, iVal); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_null(sqlite3_context *pCtx){ +SQLITE_API void sqlite3_result_null(sqlite3_context *pCtx){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetNull(pCtx->pOut); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_subtype(sqlite3_context *pCtx, unsigned int eSubtype){ +SQLITE_API void sqlite3_result_subtype(sqlite3_context *pCtx, unsigned int eSubtype){ Mem *pOut = pCtx->pOut; assert( sqlite3_mutex_held(pOut->db->mutex) ); pOut->eSubtype = eSubtype & 0xff; pOut->flags |= MEM_Subtype; } -SQLITE_API void SQLITE_STDCALL sqlite3_result_text( +SQLITE_API void sqlite3_result_text( sqlite3_context *pCtx, const char *z, int n, @@ -74921,7 +75508,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_text( assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, SQLITE_UTF8, xDel); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_text64( +SQLITE_API void sqlite3_result_text64( sqlite3_context *pCtx, const char *z, sqlite3_uint64 n, @@ -74938,7 +75525,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_text64( } } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16( +SQLITE_API void sqlite3_result_text16( sqlite3_context *pCtx, const void *z, int n, @@ -74947,7 +75534,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_text16( assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, SQLITE_UTF16NATIVE, xDel); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16be( +SQLITE_API void sqlite3_result_text16be( sqlite3_context *pCtx, const void *z, int n, @@ -74956,7 +75543,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_text16be( assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, SQLITE_UTF16BE, xDel); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16le( +SQLITE_API void sqlite3_result_text16le( sqlite3_context *pCtx, const void *z, int n, @@ -74966,15 +75553,15 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_text16le( setResultStrOrError(pCtx, z, n, SQLITE_UTF16LE, xDel); } #endif /* SQLITE_OMIT_UTF16 */ -SQLITE_API void SQLITE_STDCALL sqlite3_result_value(sqlite3_context *pCtx, sqlite3_value *pValue){ +SQLITE_API void sqlite3_result_value(sqlite3_context *pCtx, sqlite3_value *pValue){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemCopy(pCtx->pOut, pValue); } -SQLITE_API void SQLITE_STDCALL sqlite3_result_zeroblob(sqlite3_context *pCtx, int n){ +SQLITE_API void sqlite3_result_zeroblob(sqlite3_context *pCtx, int n){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetZeroBlob(pCtx->pOut, n); } -SQLITE_API int SQLITE_STDCALL sqlite3_result_zeroblob64(sqlite3_context *pCtx, u64 n){ +SQLITE_API int sqlite3_result_zeroblob64(sqlite3_context *pCtx, u64 n){ Mem *pOut = pCtx->pOut; assert( sqlite3_mutex_held(pOut->db->mutex) ); if( n>(u64)pOut->db->aLimit[SQLITE_LIMIT_LENGTH] ){ @@ -74983,7 +75570,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_result_zeroblob64(sqlite3_context *pCtx, u sqlite3VdbeMemSetZeroBlob(pCtx->pOut, (int)n); return SQLITE_OK; } -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_code(sqlite3_context *pCtx, int errCode){ +SQLITE_API void sqlite3_result_error_code(sqlite3_context *pCtx, int errCode){ pCtx->isError = errCode; pCtx->fErrorOrAux = 1; #ifdef SQLITE_DEBUG @@ -74996,7 +75583,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_error_code(sqlite3_context *pCtx, } /* Force an SQLITE_TOOBIG error. */ -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_toobig(sqlite3_context *pCtx){ +SQLITE_API void sqlite3_result_error_toobig(sqlite3_context *pCtx){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_TOOBIG; pCtx->fErrorOrAux = 1; @@ -75005,7 +75592,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_error_toobig(sqlite3_context *pCtx } /* An SQLITE_NOMEM error. */ -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_nomem(sqlite3_context *pCtx){ +SQLITE_API void sqlite3_result_error_nomem(sqlite3_context *pCtx){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetNull(pCtx->pOut); pCtx->isError = SQLITE_NOMEM_BKPT; @@ -75029,7 +75616,7 @@ static int doWalCallbacks(sqlite3 *db){ nEntry = sqlite3PagerWalCallback(sqlite3BtreePager(pBt)); sqlite3BtreeLeave(pBt); if( db->xWalCallback && nEntry>0 && rc==SQLITE_OK ){ - rc = db->xWalCallback(db->pWalArg, db, db->aDb[i].zName, nEntry); + rc = db->xWalCallback(db->pWalArg, db, db->aDb[i].zDbSName, nEntry); } } } @@ -75106,7 +75693,8 @@ static int sqlite3Step(Vdbe *p){ ); #ifndef SQLITE_OMIT_TRACE - if( db->xProfile && !db->init.busy && p->zSql ){ + if( (db->xProfile || (db->mTrace & SQLITE_TRACE_PROFILE)!=0) + && !db->init.busy && p->zSql ){ sqlite3OsCurrentTimeInt64(db->pVfs, &p->startTime); }else{ assert( p->startTime==0 ); @@ -75176,7 +75764,7 @@ static int sqlite3Step(Vdbe *p){ ** sqlite3Step() to do most of the work. If a schema error occurs, ** call sqlite3Reprepare() and try again. */ -SQLITE_API int SQLITE_STDCALL sqlite3_step(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_step(sqlite3_stmt *pStmt){ int rc = SQLITE_OK; /* Result from sqlite3Step() */ int rc2 = SQLITE_OK; /* Result from sqlite3Reprepare() */ Vdbe *v = (Vdbe*)pStmt; /* the prepared statement */ @@ -75227,7 +75815,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_step(sqlite3_stmt *pStmt){ ** Extract the user data from a sqlite3_context structure and return a ** pointer to it. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_user_data(sqlite3_context *p){ +SQLITE_API void *sqlite3_user_data(sqlite3_context *p){ assert( p && p->pFunc ); return p->pFunc->pUserData; } @@ -75242,7 +75830,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_user_data(sqlite3_context *p){ ** sqlite3_create_function16() routines that originally registered the ** application defined function. */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_context_db_handle(sqlite3_context *p){ +SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context *p){ assert( p && p->pOut ); return p->pOut->db; } @@ -75318,7 +75906,7 @@ static SQLITE_NOINLINE void *createAggContext(sqlite3_context *p, int nByte){ ** context is allocated on the first call. Subsequent calls return the ** same context that was returned on prior calls. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_aggregate_context(sqlite3_context *p, int nByte){ +SQLITE_API void *sqlite3_aggregate_context(sqlite3_context *p, int nByte){ assert( p && p->pFunc && p->pFunc->xFinalize ); assert( sqlite3_mutex_held(p->pOut->db->mutex) ); testcase( nByte<0 ); @@ -75333,7 +75921,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_aggregate_context(sqlite3_context *p, in ** Return the auxiliary data pointer, if any, for the iArg'th argument to ** the user-function defined by pCtx. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){ +SQLITE_API void *sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){ AuxData *pAuxData; assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); @@ -75354,7 +75942,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_get_auxdata(sqlite3_context *pCtx, int i ** argument to the user-function defined by pCtx. Any previous value is ** deleted by calling the delete function specified when it was set. */ -SQLITE_API void SQLITE_STDCALL sqlite3_set_auxdata( +SQLITE_API void sqlite3_set_auxdata( sqlite3_context *pCtx, int iArg, void *pAux, @@ -75409,7 +75997,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_set_auxdata( ** implementations should keep their own counts within their aggregate ** context. */ -SQLITE_API int SQLITE_STDCALL sqlite3_aggregate_count(sqlite3_context *p){ +SQLITE_API int sqlite3_aggregate_count(sqlite3_context *p){ assert( p && p->pMem && p->pFunc && p->pFunc->xFinalize ); return p->pMem->n; } @@ -75418,7 +76006,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_aggregate_count(sqlite3_context *p){ /* ** Return the number of columns in the result set for the statement pStmt. */ -SQLITE_API int SQLITE_STDCALL sqlite3_column_count(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt){ Vdbe *pVm = (Vdbe *)pStmt; return pVm ? pVm->nResColumn : 0; } @@ -75427,7 +76015,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_column_count(sqlite3_stmt *pStmt){ ** Return the number of values available from the current row of the ** currently executing statement pStmt. */ -SQLITE_API int SQLITE_STDCALL sqlite3_data_count(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt){ Vdbe *pVm = (Vdbe *)pStmt; if( pVm==0 || pVm->pResultSet==0 ) return 0; return pVm->nResColumn; @@ -75481,14 +76069,13 @@ static Mem *columnMem(sqlite3_stmt *pStmt, int i){ Mem *pOut; pVm = (Vdbe *)pStmt; - if( pVm && pVm->pResultSet!=0 && inResColumn && i>=0 ){ - sqlite3_mutex_enter(pVm->db->mutex); + if( pVm==0 ) return (Mem*)columnNullValue(); + assert( pVm->db ); + sqlite3_mutex_enter(pVm->db->mutex); + if( pVm->pResultSet!=0 && inResColumn && i>=0 ){ pOut = &pVm->pResultSet[i]; }else{ - if( pVm && ALWAYS(pVm->db) ){ - sqlite3_mutex_enter(pVm->db->mutex); - sqlite3Error(pVm->db, SQLITE_RANGE); - } + sqlite3Error(pVm->db, SQLITE_RANGE); pOut = (Mem*)columnNullValue(); } return pOut; @@ -75521,6 +76108,8 @@ static void columnMallocFailure(sqlite3_stmt *pStmt) */ Vdbe *p = (Vdbe *)pStmt; if( p ){ + assert( p->db!=0 ); + assert( sqlite3_mutex_held(p->db->mutex) ); p->rc = sqlite3ApiExit(p->db, p->rc); sqlite3_mutex_leave(p->db->mutex); } @@ -75530,7 +76119,7 @@ static void columnMallocFailure(sqlite3_stmt *pStmt) ** The following routines are used to access elements of the current row ** in the result set. */ -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_blob(sqlite3_stmt *pStmt, int i){ +SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt *pStmt, int i){ const void *val; val = sqlite3_value_blob( columnMem(pStmt,i) ); /* Even though there is no encoding conversion, value_blob() might @@ -75540,37 +76129,37 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_blob(sqlite3_stmt *pStmt, i columnMallocFailure(pStmt); return val; } -SQLITE_API int SQLITE_STDCALL sqlite3_column_bytes(sqlite3_stmt *pStmt, int i){ +SQLITE_API int sqlite3_column_bytes(sqlite3_stmt *pStmt, int i){ int val = sqlite3_value_bytes( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return val; } -SQLITE_API int SQLITE_STDCALL sqlite3_column_bytes16(sqlite3_stmt *pStmt, int i){ +SQLITE_API int sqlite3_column_bytes16(sqlite3_stmt *pStmt, int i){ int val = sqlite3_value_bytes16( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return val; } -SQLITE_API double SQLITE_STDCALL sqlite3_column_double(sqlite3_stmt *pStmt, int i){ +SQLITE_API double sqlite3_column_double(sqlite3_stmt *pStmt, int i){ double val = sqlite3_value_double( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return val; } -SQLITE_API int SQLITE_STDCALL sqlite3_column_int(sqlite3_stmt *pStmt, int i){ +SQLITE_API int sqlite3_column_int(sqlite3_stmt *pStmt, int i){ int val = sqlite3_value_int( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return val; } -SQLITE_API sqlite_int64 SQLITE_STDCALL sqlite3_column_int64(sqlite3_stmt *pStmt, int i){ +SQLITE_API sqlite_int64 sqlite3_column_int64(sqlite3_stmt *pStmt, int i){ sqlite_int64 val = sqlite3_value_int64( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return val; } -SQLITE_API const unsigned char *SQLITE_STDCALL sqlite3_column_text(sqlite3_stmt *pStmt, int i){ +SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt *pStmt, int i){ const unsigned char *val = sqlite3_value_text( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return val; } -SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_column_value(sqlite3_stmt *pStmt, int i){ +SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt *pStmt, int i){ Mem *pOut = columnMem(pStmt, i); if( pOut->flags&MEM_Static ){ pOut->flags &= ~MEM_Static; @@ -75580,13 +76169,13 @@ SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_column_value(sqlite3_stmt *pStm return (sqlite3_value *)pOut; } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_text16(sqlite3_stmt *pStmt, int i){ +SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt *pStmt, int i){ const void *val = sqlite3_value_text16( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return val; } #endif /* SQLITE_OMIT_UTF16 */ -SQLITE_API int SQLITE_STDCALL sqlite3_column_type(sqlite3_stmt *pStmt, int i){ +SQLITE_API int sqlite3_column_type(sqlite3_stmt *pStmt, int i){ int iType = sqlite3_value_type( columnMem(pStmt,i) ); columnMallocFailure(pStmt); return iType; @@ -75650,12 +76239,12 @@ static const void *columnName( ** Return the name of the Nth column of the result set returned by SQL ** statement pStmt. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_name(sqlite3_stmt *pStmt, int N){ +SQLITE_API const char *sqlite3_column_name(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_NAME); } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_name16(sqlite3_stmt *pStmt, int N){ +SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_NAME); } @@ -75675,12 +76264,12 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_name16(sqlite3_stmt *pStmt, ** Return the column declaration type (if applicable) of the 'i'th column ** of the result set of SQL statement pStmt. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_decltype(sqlite3_stmt *pStmt, int N){ +SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_DECLTYPE); } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){ +SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_DECLTYPE); } @@ -75693,12 +76282,12 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt *pS ** NULL is returned if the result column is an expression or constant or ** anything else which is not an unambiguous reference to a database column. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_database_name(sqlite3_stmt *pStmt, int N){ +SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_DATABASE); } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_database_name16(sqlite3_stmt *pStmt, int N){ +SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_DATABASE); } @@ -75709,12 +76298,12 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_database_name16(sqlite3_stm ** NULL is returned if the result column is an expression or constant or ** anything else which is not an unambiguous reference to a database column. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_table_name(sqlite3_stmt *pStmt, int N){ +SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_TABLE); } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){ +SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_TABLE); } @@ -75725,12 +76314,12 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_table_name16(sqlite3_stmt * ** NULL is returned if the result column is an expression or constant or ** anything else which is not an unambiguous reference to a database column. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_origin_name(sqlite3_stmt *pStmt, int N){ +SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_COLUMN); } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_origin_name16(sqlite3_stmt *pStmt, int N){ +SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_COLUMN); } @@ -75831,7 +76420,7 @@ static int bindText( /* ** Bind a blob value to an SQL statement variable. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob( +SQLITE_API int sqlite3_bind_blob( sqlite3_stmt *pStmt, int i, const void *zData, @@ -75843,7 +76432,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob( #endif return bindText(pStmt, i, zData, nData, xDel, 0); } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob64( +SQLITE_API int sqlite3_bind_blob64( sqlite3_stmt *pStmt, int i, const void *zData, @@ -75857,7 +76446,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob64( return bindText(pStmt, i, zData, (int)nData, xDel, 0); } } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_double(sqlite3_stmt *pStmt, int i, double rValue){ +SQLITE_API int sqlite3_bind_double(sqlite3_stmt *pStmt, int i, double rValue){ int rc; Vdbe *p = (Vdbe *)pStmt; rc = vdbeUnbind(p, i); @@ -75867,10 +76456,10 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_double(sqlite3_stmt *pStmt, int i, do } return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_int(sqlite3_stmt *p, int i, int iValue){ +SQLITE_API int sqlite3_bind_int(sqlite3_stmt *p, int i, int iValue){ return sqlite3_bind_int64(p, i, (i64)iValue); } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_int64(sqlite3_stmt *pStmt, int i, sqlite_int64 iValue){ +SQLITE_API int sqlite3_bind_int64(sqlite3_stmt *pStmt, int i, sqlite_int64 iValue){ int rc; Vdbe *p = (Vdbe *)pStmt; rc = vdbeUnbind(p, i); @@ -75880,7 +76469,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_int64(sqlite3_stmt *pStmt, int i, sql } return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_null(sqlite3_stmt *pStmt, int i){ +SQLITE_API int sqlite3_bind_null(sqlite3_stmt *pStmt, int i){ int rc; Vdbe *p = (Vdbe*)pStmt; rc = vdbeUnbind(p, i); @@ -75889,7 +76478,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_null(sqlite3_stmt *pStmt, int i){ } return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text( +SQLITE_API int sqlite3_bind_text( sqlite3_stmt *pStmt, int i, const char *zData, @@ -75898,7 +76487,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_text( ){ return bindText(pStmt, i, zData, nData, xDel, SQLITE_UTF8); } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text64( +SQLITE_API int sqlite3_bind_text64( sqlite3_stmt *pStmt, int i, const char *zData, @@ -75915,7 +76504,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_text64( } } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text16( +SQLITE_API int sqlite3_bind_text16( sqlite3_stmt *pStmt, int i, const void *zData, @@ -75925,7 +76514,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_text16( return bindText(pStmt, i, zData, nData, xDel, SQLITE_UTF16NATIVE); } #endif /* SQLITE_OMIT_UTF16 */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_value(sqlite3_stmt *pStmt, int i, const sqlite3_value *pValue){ +SQLITE_API int sqlite3_bind_value(sqlite3_stmt *pStmt, int i, const sqlite3_value *pValue){ int rc; switch( sqlite3_value_type((sqlite3_value*)pValue) ){ case SQLITE_INTEGER: { @@ -75956,7 +76545,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_value(sqlite3_stmt *pStmt, int i, con } return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob(sqlite3_stmt *pStmt, int i, int n){ +SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt *pStmt, int i, int n){ int rc; Vdbe *p = (Vdbe *)pStmt; rc = vdbeUnbind(p, i); @@ -75966,7 +76555,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob(sqlite3_stmt *pStmt, int i, } return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob64(sqlite3_stmt *pStmt, int i, sqlite3_uint64 n){ +SQLITE_API int sqlite3_bind_zeroblob64(sqlite3_stmt *pStmt, int i, sqlite3_uint64 n){ int rc; Vdbe *p = (Vdbe *)pStmt; sqlite3_mutex_enter(p->db->mutex); @@ -75985,7 +76574,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob64(sqlite3_stmt *pStmt, int i ** Return the number of wildcards that can be potentially bound to. ** This routine is added to support DBD::SQLite. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_count(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt *pStmt){ Vdbe *p = (Vdbe*)pStmt; return p ? p->nVar : 0; } @@ -75996,7 +76585,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_count(sqlite3_stmt *pStmt){ ** ** The result is always UTF-8. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_bind_parameter_name(sqlite3_stmt *pStmt, int i){ +SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt *pStmt, int i){ Vdbe *p = (Vdbe*)pStmt; if( p==0 || i<1 || i>p->nzVar ){ return 0; @@ -76024,7 +76613,7 @@ SQLITE_PRIVATE int sqlite3VdbeParameterIndex(Vdbe *p, const char *zName, int nNa } return 0; } -SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_index(sqlite3_stmt *pStmt, const char *zName){ +SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt *pStmt, const char *zName){ return sqlite3VdbeParameterIndex((Vdbe*)pStmt, zName, sqlite3Strlen30(zName)); } @@ -76058,7 +76647,7 @@ SQLITE_PRIVATE int sqlite3TransferBindings(sqlite3_stmt *pFromStmt, sqlite3_stmt ** an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise ** SQLITE_OK is returned. */ -SQLITE_API int SQLITE_STDCALL sqlite3_transfer_bindings(sqlite3_stmt *pFromStmt, sqlite3_stmt *pToStmt){ +SQLITE_API int sqlite3_transfer_bindings(sqlite3_stmt *pFromStmt, sqlite3_stmt *pToStmt){ Vdbe *pFrom = (Vdbe*)pFromStmt; Vdbe *pTo = (Vdbe*)pToStmt; if( pFrom->nVar!=pTo->nVar ){ @@ -76080,7 +76669,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_transfer_bindings(sqlite3_stmt *pFromStmt, ** the first argument to the sqlite3_prepare() that was used to create ** the statement in the first place. */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_db_handle(sqlite3_stmt *pStmt){ +SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt *pStmt){ return pStmt ? ((Vdbe*)pStmt)->db : 0; } @@ -76088,16 +76677,16 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_db_handle(sqlite3_stmt *pStmt){ ** Return true if the prepared statement is guaranteed to not modify the ** database. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_readonly(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt){ return pStmt ? ((Vdbe*)pStmt)->readOnly : 1; } /* ** Return true if the prepared statement is in need of being reset. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_busy(sqlite3_stmt *pStmt){ +SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt *pStmt){ Vdbe *v = (Vdbe*)pStmt; - return v!=0 && v->pc>=0 && v->magic==VDBE_MAGIC_RUN; + return v!=0 && v->magic==VDBE_MAGIC_RUN && v->pc>=0; } /* @@ -76106,7 +76695,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_stmt_busy(sqlite3_stmt *pStmt){ ** prepared statement for the database connection. Return NULL if there ** are no more. */ -SQLITE_API sqlite3_stmt *SQLITE_STDCALL sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt){ +SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt){ sqlite3_stmt *pNext; #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(pDb) ){ @@ -76127,7 +76716,7 @@ SQLITE_API sqlite3_stmt *SQLITE_STDCALL sqlite3_next_stmt(sqlite3 *pDb, sqlite3_ /* ** Return the value of a status counter for a prepared statement */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_status(sqlite3_stmt *pStmt, int op, int resetFlag){ +SQLITE_API int sqlite3_stmt_status(sqlite3_stmt *pStmt, int op, int resetFlag){ Vdbe *pVdbe = (Vdbe*)pStmt; u32 v; #ifdef SQLITE_ENABLE_API_ARMOR @@ -76141,6 +76730,39 @@ SQLITE_API int SQLITE_STDCALL sqlite3_stmt_status(sqlite3_stmt *pStmt, int op, i return (int)v; } +/* +** Return the SQL associated with a prepared statement +*/ +SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt){ + Vdbe *p = (Vdbe *)pStmt; + return p ? p->zSql : 0; +} + +/* +** Return the SQL associated with a prepared statement with +** bound parameters expanded. Space to hold the returned string is +** obtained from sqlite3_malloc(). The caller is responsible for +** freeing the returned string by passing it to sqlite3_free(). +** +** The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of +** expanded bound parameters. +*/ +SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt){ +#ifdef SQLITE_OMIT_TRACE + return 0; +#else + char *z = 0; + const char *zSql = sqlite3_sql(pStmt); + if( zSql ){ + Vdbe *p = (Vdbe *)pStmt; + sqlite3_mutex_enter(p->db->mutex); + z = sqlite3VdbeExpandSql(p, zSql); + sqlite3_mutex_leave(p->db->mutex); + } + return z; +#endif +} + #ifdef SQLITE_ENABLE_PREUPDATE_HOOK /* ** Allocate and populate an UnpackedRecord structure based on the serialized @@ -76167,7 +76789,7 @@ static UnpackedRecord *vdbeUnpackRecord( ** This function is called from within a pre-update callback to retrieve ** a field of the row currently being updated or deleted. */ -SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppValue){ +SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppValue){ PreUpdate *p = db->pPreUpdate; int rc = SQLITE_OK; @@ -76187,8 +76809,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlit u32 nRec; u8 *aRec; - rc = sqlite3BtreeDataSize(p->pCsr->uc.pCursor, &nRec); - if( rc!=SQLITE_OK ) goto preupdate_old_out; + nRec = sqlite3BtreePayloadSize(p->pCsr->uc.pCursor); aRec = sqlite3DbMallocRaw(db, nRec); if( !aRec ) goto preupdate_old_out; rc = sqlite3BtreeData(p->pCsr->uc.pCursor, 0, nRec, aRec); @@ -76206,9 +76827,14 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlit if( iIdx>=p->pUnpacked->nField ){ *ppValue = (sqlite3_value *)columnNullValue(); }else{ + Mem *pMem = *ppValue = &p->pUnpacked->aMem[iIdx]; *ppValue = &p->pUnpacked->aMem[iIdx]; - if( iIdx==p->iPKey ){ - sqlite3VdbeMemSetInt64(*ppValue, p->iKey1); + if( iIdx==p->pTab->iPKey ){ + sqlite3VdbeMemSetInt64(pMem, p->iKey1); + }else if( p->pTab->aCol[iIdx].affinity==SQLITE_AFF_REAL ){ + if( pMem->flags & MEM_Int ){ + sqlite3VdbeMemRealify(pMem); + } } } @@ -76223,7 +76849,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlit ** This function is called from within a pre-update callback to retrieve ** the number of columns in the row being updated, deleted or inserted. */ -SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_count(sqlite3 *db){ +SQLITE_API int sqlite3_preupdate_count(sqlite3 *db){ PreUpdate *p = db->pPreUpdate; return (p ? p->keyinfo.nField : 0); } @@ -76241,7 +76867,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_count(sqlite3 *db){ ** For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL ** or SET DEFAULT action is considered a trigger. */ -SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_depth(sqlite3 *db){ +SQLITE_API int sqlite3_preupdate_depth(sqlite3 *db){ PreUpdate *p = db->pPreUpdate; return (p ? p->v->nFrame : 0); } @@ -76252,7 +76878,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_depth(sqlite3 *db){ ** This function is called from within a pre-update callback to retrieve ** a field of the row currently being updated or inserted. */ -SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppValue){ +SQLITE_API int sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppValue){ PreUpdate *p = db->pPreUpdate; int rc = SQLITE_OK; Mem *pMem; @@ -76272,7 +76898,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlit UnpackedRecord *pUnpack = p->pNewUnpacked; if( !pUnpack ){ Mem *pData = &p->v->aMem[p->iNewReg]; - rc = sqlite3VdbeMemExpandBlob(pData); + rc = ExpandBlob(pData); if( rc!=SQLITE_OK ) goto preupdate_new_out; pUnpack = vdbeUnpackRecord(&p->keyinfo, pData->n, pData->z); if( !pUnpack ){ @@ -76285,7 +76911,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlit pMem = (sqlite3_value *)columnNullValue(); }else{ pMem = &pUnpack->aMem[iIdx]; - if( iIdx==p->iPKey ){ + if( iIdx==p->pTab->iPKey ){ sqlite3VdbeMemSetInt64(pMem, p->iKey2); } } @@ -76306,7 +76932,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlit assert( iIdx>=0 && iIdxpCsr->nField ); pMem = &p->aNew[iIdx]; if( pMem->flags==0 ){ - if( iIdx==p->iPKey ){ + if( iIdx==p->pTab->iPKey ){ sqlite3VdbeMemSetInt64(pMem, p->iKey2); }else{ rc = sqlite3VdbeMemCopy(pMem, &p->v->aMem[p->iNewReg+1+iIdx]); @@ -76326,7 +76952,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlit /* ** Return status data for a single loop within query pStmt. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_scanstatus( +SQLITE_API int sqlite3_stmt_scanstatus( sqlite3_stmt *pStmt, /* Prepared statement being queried */ int idx, /* Index of loop to report on */ int iScanStatusOp, /* Which metric to return */ @@ -76385,7 +77011,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_stmt_scanstatus( /* ** Zero all counters associated with the sqlite3_stmt_scanstatus() data. */ -SQLITE_API void SQLITE_STDCALL sqlite3_stmt_scanstatus_reset(sqlite3_stmt *pStmt){ +SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt *pStmt){ Vdbe *p = (Vdbe*)pStmt; memset(p->anExec, 0, p->nOp * sizeof(i64)); } @@ -76476,10 +77102,13 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( int i; /* Loop counter */ Mem *pVar; /* Value of a host parameter */ StrAccum out; /* Accumulate the output here */ +#ifndef SQLITE_OMIT_UTF16 + Mem utf8; /* Used to convert UTF16 parameters into UTF8 for display */ +#endif char zBase[100]; /* Initial working space */ db = p->db; - sqlite3StrAccumInit(&out, db, zBase, sizeof(zBase), + sqlite3StrAccumInit(&out, 0, zBase, sizeof(zBase), db->aLimit[SQLITE_LIMIT_LENGTH]); if( db->nVdbeExec>1 ){ while( *zRawSql ){ @@ -76530,12 +77159,14 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( int nOut; /* Number of bytes of the string text to include in output */ #ifndef SQLITE_OMIT_UTF16 u8 enc = ENC(db); - Mem utf8; if( enc!=SQLITE_UTF8 ){ memset(&utf8, 0, sizeof(utf8)); utf8.db = db; sqlite3VdbeMemSetStr(&utf8, pVar->z, pVar->n, enc, SQLITE_STATIC); - sqlite3VdbeChangeEncoding(&utf8, SQLITE_UTF8); + if( SQLITE_NOMEM==sqlite3VdbeChangeEncoding(&utf8, SQLITE_UTF8) ){ + out.accError = STRACCUM_NOMEM; + out.nAlloc = 0; + } pVar = &utf8; } #endif @@ -76577,6 +77208,7 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( } } } + if( out.accError ) sqlite3StrAccumReset(&out); return sqlite3StrAccumFinish(&out); } @@ -76906,7 +77538,7 @@ static void applyAffinity( ** is appropriate. But only do the conversion if it is possible without ** loss of information and return the revised type of the argument. */ -SQLITE_API int SQLITE_STDCALL sqlite3_value_numeric_type(sqlite3_value *pVal){ +SQLITE_API int sqlite3_value_numeric_type(sqlite3_value *pVal){ int eType = sqlite3_value_type(pVal); if( eType==SQLITE_TEXT ){ Mem *pMem = (Mem*)pVal; @@ -77109,8 +77741,8 @@ static void registerTrace(int iReg, Mem *p){ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. */ -#ifndef _HWTIME_H_ -#define _HWTIME_H_ +#ifndef SQLITE_HWTIME_H +#define SQLITE_HWTIME_H /* ** The following routine only works on pentium-class (or newer) processors. @@ -77178,7 +77810,7 @@ SQLITE_PRIVATE sqlite_uint64 sqlite3Hwtime(void){ return ((sqlite_uint64)0); } #endif -#endif /* !defined(_HWTIME_H_) */ +#endif /* !defined(SQLITE_HWTIME_H) */ /************** End of hwtime.h **********************************************/ /************** Continuing where we left off in vdbe.c ***********************/ @@ -77248,7 +77880,7 @@ SQLITE_PRIVATE int sqlite3VdbeExec( sqlite3 *db = p->db; /* The database */ u8 resetSchemaOnFault = 0; /* Reset schema after an error if positive */ u8 encoding = ENC(db); /* The database encoding */ - int iCompare = 0; /* Result of last OP_Compare operation */ + int iCompare = 0; /* Result of last comparison */ unsigned nVmStep = 0; /* Number of virtual machine steps */ #ifndef SQLITE_OMIT_PROGRESS_CALLBACK unsigned nProgressLimit = 0;/* Invoke xProgress() when nVmStep reaches this */ @@ -77580,7 +78212,7 @@ case OP_Yield: { /* in1, jump */ } /* Opcode: HaltIfNull P1 P2 P3 P4 P5 -** Synopsis: if r[P3]=null halt +** Synopsis: if r[P3]=null halt ** ** Check the value in register P3. If it is NULL then Halt using ** parameter P1, P2, and P4 as if this were a Halt instruction. If the @@ -77793,7 +78425,7 @@ case OP_String: { /* out2 */ } /* Opcode: Null P1 P2 P3 * * -** Synopsis: r[P2..P3]=NULL +** Synopsis: r[P2..P3]=NULL ** ** Write a NULL into registers P2. If P3 greater than P2, then also write ** NULL into register P3 and every register in between P2 and P3. If P3 @@ -77811,18 +78443,20 @@ case OP_Null: { /* out2 */ cnt = pOp->p3-pOp->p2; assert( pOp->p3<=(p->nMem+1 - p->nCursor) ); pOut->flags = nullFlag = pOp->p1 ? (MEM_Null|MEM_Cleared) : MEM_Null; + pOut->n = 0; while( cnt>0 ){ pOut++; memAboutToChange(p, pOut); sqlite3VdbeMemSetNull(pOut); pOut->flags = nullFlag; + pOut->n = 0; cnt--; } break; } /* Opcode: SoftNull P1 * * * * -** Synopsis: r[P1]=NULL +** Synopsis: r[P1]=NULL ** ** Set register P1 to have the value NULL as seen by the OP_MakeRecord ** instruction, but do not free any string or blob memory associated with @@ -77875,7 +78509,7 @@ case OP_Variable: { /* out2 */ } /* Opcode: Move P1 P2 P3 * * -** Synopsis: r[P2@P3]=r[P1@P3] +** Synopsis: r[P2@P3]=r[P1@P3] ** ** Move the P3 values in register P1..P1+P3-1 over into ** registers P2..P2+P3-1. Registers P1..P1+P3-1 are @@ -77985,7 +78619,7 @@ case OP_IntCopy: { /* out2 */ } /* Opcode: ResultRow P1 P2 * * * -** Synopsis: output=r[P1@P2] +** Synopsis: output=r[P1@P2] ** ** The registers P1 through P1+P2-1 contain a single row of ** results. This opcode causes the sqlite3_step() call to terminate @@ -78058,6 +78692,10 @@ case OP_ResultRow: { } if( db->mallocFailed ) goto no_mem; + if( db->mTrace & SQLITE_TRACE_ROW ){ + db->xTrace(SQLITE_TRACE_ROW, db->pTraceArg, p, 0); + } + /* Return SQLITE_ROW */ p->pc = (int)(pOp - aOp) + 1; @@ -78114,14 +78752,14 @@ case OP_Concat: { /* same as TK_CONCAT, in1, in2, out3 */ } /* Opcode: Add P1 P2 P3 * * -** Synopsis: r[P3]=r[P1]+r[P2] +** Synopsis: r[P3]=r[P1]+r[P2] ** ** Add the value in register P1 to the value in register P2 ** and store the result in register P3. ** If either input is NULL, the result is NULL. */ /* Opcode: Multiply P1 P2 P3 * * -** Synopsis: r[P3]=r[P1]*r[P2] +** Synopsis: r[P3]=r[P1]*r[P2] ** ** ** Multiply the value in register P1 by the value in register P2 @@ -78129,14 +78767,14 @@ case OP_Concat: { /* same as TK_CONCAT, in1, in2, out3 */ ** If either input is NULL, the result is NULL. */ /* Opcode: Subtract P1 P2 P3 * * -** Synopsis: r[P3]=r[P2]-r[P1] +** Synopsis: r[P3]=r[P2]-r[P1] ** ** Subtract the value in register P1 from the value in register P2 ** and store the result in register P3. ** If either input is NULL, the result is NULL. */ /* Opcode: Divide P1 P2 P3 * * -** Synopsis: r[P3]=r[P2]/r[P1] +** Synopsis: r[P3]=r[P2]/r[P1] ** ** Divide the value in register P1 by the value in register P2 ** and store the result in register P3 (P3=P2/P1). If the value in @@ -78144,7 +78782,7 @@ case OP_Concat: { /* same as TK_CONCAT, in1, in2, out3 */ ** NULL, the result is NULL. */ /* Opcode: Remainder P1 P2 P3 * * -** Synopsis: r[P3]=r[P2]%r[P1] +** Synopsis: r[P3]=r[P2]%r[P1] ** ** Compute the remainder after integer register P2 is divided by ** register P1 and store the result in register P3. @@ -78377,21 +79015,21 @@ case OP_Function: { } /* Opcode: BitAnd P1 P2 P3 * * -** Synopsis: r[P3]=r[P1]&r[P2] +** Synopsis: r[P3]=r[P1]&r[P2] ** ** Take the bit-wise AND of the values in register P1 and P2 and ** store the result in register P3. ** If either input is NULL, the result is NULL. */ /* Opcode: BitOr P1 P2 P3 * * -** Synopsis: r[P3]=r[P1]|r[P2] +** Synopsis: r[P3]=r[P1]|r[P2] ** ** Take the bit-wise OR of the values in register P1 and P2 and ** store the result in register P3. ** If either input is NULL, the result is NULL. */ /* Opcode: ShiftLeft P1 P2 P3 * * -** Synopsis: r[P3]=r[P2]<>r[P1] +** Synopsis: r[P3]=r[P2]>>r[P1] ** ** Shift the integer value in register P2 to the right by the ** number of bits specified by the integer in register P1. @@ -78459,7 +79097,7 @@ case OP_ShiftRight: { /* same as TK_RSHIFT, in1, in2, out3 */ } /* Opcode: AddImm P1 P2 * * * -** Synopsis: r[P1]=r[P1]+P2 +** Synopsis: r[P1]=r[P1]+P2 ** ** Add the constant P2 to the value in register P1. ** The result is always an integer. @@ -78551,14 +79189,61 @@ case OP_Cast: { /* in1 */ } #endif /* SQLITE_OMIT_CAST */ +/* Opcode: Eq P1 P2 P3 P4 P5 +** Synopsis: IF r[P3]==r[P1] +** +** Compare the values in register P1 and P3. If reg(P3)==reg(P1) then +** jump to address P2. Or if the SQLITE_STOREP2 flag is set in P5, then +** store the result of comparison in register P2. +** +** The SQLITE_AFF_MASK portion of P5 must be an affinity character - +** SQLITE_AFF_TEXT, SQLITE_AFF_INTEGER, and so forth. An attempt is made +** to coerce both inputs according to this affinity before the +** comparison is made. If the SQLITE_AFF_MASK is 0x00, then numeric +** affinity is used. Note that the affinity conversions are stored +** back into the input registers P1 and P3. So this opcode can cause +** persistent changes to registers P1 and P3. +** +** Once any conversions have taken place, and neither value is NULL, +** the values are compared. If both values are blobs then memcmp() is +** used to determine the results of the comparison. If both values +** are text, then the appropriate collating function specified in +** P4 is used to do the comparison. If P4 is not specified then +** memcmp() is used to compare text string. If both values are +** numeric, then a numeric comparison is used. If the two values +** are of different types, then numbers are considered less than +** strings and strings are considered less than blobs. +** +** If SQLITE_NULLEQ is set in P5 then the result of comparison is always either +** true or false and is never NULL. If both operands are NULL then the result +** of comparison is true. If either operand is NULL then the result is false. +** If neither operand is NULL the result is the same as it would be if +** the SQLITE_NULLEQ flag were omitted from P5. +** +** If both SQLITE_STOREP2 and SQLITE_KEEPNULL flags are set then the +** content of r[P2] is only changed if the new value is NULL or 0 (false). +** In other words, a prior r[P2] value will not be overwritten by 1 (true). +*/ +/* Opcode: Ne P1 P2 P3 P4 P5 +** Synopsis: IF r[P3]!=r[P1] +** +** This works just like the Eq opcode except that the jump is taken if +** the operands in registers P1 and P3 are not equal. See the Eq opcode for +** additional information. +** +** If both SQLITE_STOREP2 and SQLITE_KEEPNULL flags are set then the +** content of r[P2] is only changed if the new value is NULL or 1 (true). +** In other words, a prior r[P2] value will not be overwritten by 0 (false). +*/ /* Opcode: Lt P1 P2 P3 P4 P5 -** Synopsis: if r[P1]r[P3] goto P2 +** Synopsis: IF r[P3]>r[P1] ** ** This works just like the Lt opcode except that the jump is taken if ** the content of register P3 is greater than the content of ** register P1. See the Lt opcode for additional information. */ /* Opcode: Ge P1 P2 P3 P4 P5 -** Synopsis: if r[P1]>=r[P3] goto P2 +** Synopsis: IF r[P3]>=r[P1] ** ** This works just like the Lt opcode except that the jump is taken if ** the content of register P3 is greater than or equal to the content of @@ -78639,7 +79291,7 @@ case OP_Lt: /* same as TK_LT, jump, in1, in3 */ case OP_Le: /* same as TK_LE, jump, in1, in3 */ case OP_Gt: /* same as TK_GT, jump, in1, in3 */ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ - int res; /* Result of the comparison of pIn1 against pIn3 */ + int res, res2; /* Result of the comparison of pIn1 against pIn3 */ char affinity; /* Affinity to use for comparison */ u16 flags1; /* Copy of initial value of pIn1->flags */ u16 flags3; /* Copy of initial value of pIn3->flags */ @@ -78662,9 +79314,9 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ && (flags3&MEM_Null)!=0 && (flags3&MEM_Cleared)==0 ){ - res = 0; /* Results are equal */ + res = 0; /* Operands are equal */ }else{ - res = 1; /* Results are not equal */ + res = 1; /* Operands are not equal */ } }else{ /* SQLITE_NULLEQ is clear and at least one operand is NULL, @@ -78673,6 +79325,7 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ */ if( pOp->p5 & SQLITE_STOREP2 ){ pOut = &aMem[pOp->p2]; + iCompare = 1; /* Operands are not equal */ memAboutToChange(p, pOut); MemSetTypeFlag(pOut, MEM_Null); REGISTER_TRACE(pOp->p2, pOut); @@ -78691,11 +79344,21 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ if( (flags1 | flags3)&MEM_Str ){ if( (flags1 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ applyNumericAffinity(pIn1,0); + testcase( flags3!=pIn3->flags ); /* Possible if pIn1==pIn3 */ + flags3 = pIn3->flags; } if( (flags3 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ applyNumericAffinity(pIn3,0); } } + /* Handle the common case of integer comparison here, as an + ** optimization, to avoid a call to sqlite3MemCompare() */ + if( (pIn1->flags & pIn3->flags & MEM_Int)!=0 ){ + if( pIn3->u.i > pIn1->u.i ){ res = +1; goto compare_op; } + if( pIn3->u.i < pIn1->u.i ){ res = -1; goto compare_op; } + res = 0; + goto compare_op; + } }else if( affinity==SQLITE_AFF_TEXT ){ if( (flags1 & MEM_Str)==0 && (flags1 & (MEM_Int|MEM_Real))!=0 ){ testcase( pIn1->flags & MEM_Int ); @@ -78703,6 +79366,7 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ sqlite3VdbeMemStringify(pIn1, encoding, 1); testcase( (flags1&MEM_Dyn) != (pIn1->flags&MEM_Dyn) ); flags1 = (pIn1->flags & ~MEM_TypeMask) | (flags1 & MEM_TypeMask); + assert( pIn1!=pIn3 ); } if( (flags3 & MEM_Str)==0 && (flags3 & (MEM_Int|MEM_Real))!=0 ){ testcase( pIn3->flags & MEM_Int ); @@ -78713,23 +79377,16 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ } } assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 ); - if( flags1 & MEM_Zero ){ - sqlite3VdbeMemExpandBlob(pIn1); - flags1 &= ~MEM_Zero; - } - if( flags3 & MEM_Zero ){ - sqlite3VdbeMemExpandBlob(pIn3); - flags3 &= ~MEM_Zero; - } res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl); } +compare_op: switch( pOp->opcode ){ - case OP_Eq: res = res==0; break; - case OP_Ne: res = res!=0; break; - case OP_Lt: res = res<0; break; - case OP_Le: res = res<=0; break; - case OP_Gt: res = res>0; break; - default: res = res>=0; break; + case OP_Eq: res2 = res==0; break; + case OP_Ne: res2 = res; break; + case OP_Lt: res2 = res<0; break; + case OP_Le: res2 = res<=0; break; + case OP_Gt: res2 = res>0; break; + default: res2 = res>=0; break; } /* Undo any changes made by applyAffinity() to the input registers. */ @@ -78740,19 +79397,55 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ if( pOp->p5 & SQLITE_STOREP2 ){ pOut = &aMem[pOp->p2]; + iCompare = res; + res2 = res2!=0; /* For this path res2 must be exactly 0 or 1 */ + if( (pOp->p5 & SQLITE_KEEPNULL)!=0 ){ + /* The KEEPNULL flag prevents OP_Eq from overwriting a NULL with 1 + ** and prevents OP_Ne from overwriting NULL with 0. This flag + ** is only used in contexts where either: + ** (1) op==OP_Eq && (r[P2]==NULL || r[P2]==0) + ** (2) op==OP_Ne && (r[P2]==NULL || r[P2]==1) + ** Therefore it is not necessary to check the content of r[P2] for + ** NULL. */ + assert( pOp->opcode==OP_Ne || pOp->opcode==OP_Eq ); + assert( res2==0 || res2==1 ); + testcase( res2==0 && pOp->opcode==OP_Eq ); + testcase( res2==1 && pOp->opcode==OP_Eq ); + testcase( res2==0 && pOp->opcode==OP_Ne ); + testcase( res2==1 && pOp->opcode==OP_Ne ); + if( (pOp->opcode==OP_Eq)==res2 ) break; + } memAboutToChange(p, pOut); MemSetTypeFlag(pOut, MEM_Int); - pOut->u.i = res; + pOut->u.i = res2; REGISTER_TRACE(pOp->p2, pOut); }else{ VdbeBranchTaken(res!=0, (pOp->p5 & SQLITE_NULLEQ)?2:3); - if( res ){ + if( res2 ){ goto jump_to_p2; } } break; } +/* Opcode: ElseNotEq * P2 * * * +** +** This opcode must immediately follow an OP_Lt or OP_Gt comparison operator. +** If result of an OP_Eq comparison on the same two operands +** would have be NULL or false (0), then then jump to P2. +** If the result of an OP_Eq comparison on the two previous operands +** would have been true (1), then fall through. +*/ +case OP_ElseNotEq: { /* same as TK_ESCAPE, jump */ + assert( pOp>aOp ); + assert( pOp[-1].opcode==OP_Lt || pOp[-1].opcode==OP_Gt ); + assert( pOp[-1].p5 & SQLITE_STOREP2 ); + VdbeBranchTaken(iCompare!=0, 2); + if( iCompare!=0 ) goto jump_to_p2; + break; +} + + /* Opcode: Permutation * * * P4 * ** ** Set the permutation used by the OP_Compare operator to be the array @@ -78948,22 +79641,18 @@ case OP_BitNot: { /* same as TK_BITNOT, in1, out2 */ /* Opcode: Once P1 P2 * * * ** -** Check the "once" flag number P1. If it is set, jump to instruction P2. -** Otherwise, set the flag and fall through to the next instruction. -** In other words, this opcode causes all following opcodes up through P2 -** (but not including P2) to run just once and to be skipped on subsequent -** times through the loop. -** -** All "once" flags are initially cleared whenever a prepared statement -** first begins to run. +** If the P1 value is equal to the P1 value on the OP_Init opcode at +** instruction 0, then jump to P2. If the two P1 values differ, then +** set the P1 value on this opcode to equal the P1 value on the OP_Init +** and fall through. */ case OP_Once: { /* jump */ - assert( pOp->p1nOnceFlag ); - VdbeBranchTaken(p->aOnceFlag[pOp->p1]!=0, 2); - if( p->aOnceFlag[pOp->p1] ){ + assert( p->aOp[0].opcode==OP_Init ); + VdbeBranchTaken(p->aOp[0].p1==pOp->p1, 2); + if( p->aOp[0].p1==pOp->p1 ){ goto jump_to_p2; }else{ - p->aOnceFlag[pOp->p1] = 1; + pOp->p1 = p->aOp[0].p1; } break; } @@ -79002,7 +79691,7 @@ case OP_IfNot: { /* jump, in1 */ } /* Opcode: IsNull P1 P2 * * * -** Synopsis: if r[P1]==NULL goto P2 +** Synopsis: if r[P1]==NULL goto P2 ** ** Jump to P2 if the value in register P1 is NULL. */ @@ -79030,7 +79719,7 @@ case OP_NotNull: { /* same as TK_NOTNULL, jump, in1 */ } /* Opcode: Column P1 P2 P3 P4 P5 -** Synopsis: r[P3]=PX +** Synopsis: r[P3]=PX ** ** Interpret the data that cursor P1 points to as a structure built using ** the MakeRecord instruction. (See the MakeRecord opcode for additional @@ -79055,7 +79744,6 @@ case OP_NotNull: { /* same as TK_NOTNULL, jump, in1 */ ** skipped for length() and all content loading can be skipped for typeof(). */ case OP_Column: { - i64 payloadSize64; /* Number of bytes in the record */ int p2; /* column number to retrieve */ VdbeCursor *pC; /* The VDBE cursor */ BtCursor *pCrsr; /* The BTree cursor */ @@ -79078,6 +79766,7 @@ case OP_Column: { /* If the cursor cache is stale, bring it up-to-date */ rc = sqlite3VdbeCursorMoveto(&pC, &p2); + if( rc ) goto abort_due_to_error; assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); pDest = &aMem[pOp->p3]; @@ -79091,8 +79780,7 @@ case OP_Column: { assert( pC->eCurType!=CURTYPE_SORTER ); pCrsr = pC->uc.pCursor; - if( rc ) goto abort_due_to_error; - if( pC->cacheStatus!=p->cacheCtr ){ + if( pC->cacheStatus!=p->cacheCtr ){ /*OPTIMIZATION-IF-FALSE*/ if( pC->nullRow ){ if( pC->eCurType==CURTYPE_PSEUDO ){ assert( pC->uc.pseudoTableReg>0 ); @@ -79108,22 +79796,9 @@ case OP_Column: { }else{ assert( pC->eCurType==CURTYPE_BTREE ); assert( pCrsr ); - if( pC->isTable==0 ){ - assert( sqlite3BtreeCursorIsValid(pCrsr) ); - VVA_ONLY(rc =) sqlite3BtreeKeySize(pCrsr, &payloadSize64); - assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */ - /* sqlite3BtreeParseCellPtr() uses getVarint32() to extract the - ** payload size, so it is impossible for payloadSize64 to be - ** larger than 32 bits. */ - assert( (payloadSize64 & SQLITE_MAX_U32)==(u64)payloadSize64 ); - pC->aRow = sqlite3BtreeKeyFetch(pCrsr, &avail); - pC->payloadSize = (u32)payloadSize64; - }else{ - assert( sqlite3BtreeCursorIsValid(pCrsr) ); - VVA_ONLY(rc =) sqlite3BtreeDataSize(pCrsr, &pC->payloadSize); - assert( rc==SQLITE_OK ); /* DataSize() cannot fail */ - pC->aRow = sqlite3BtreeDataFetch(pCrsr, &avail); - } + assert( sqlite3BtreeCursorIsValid(pCrsr) ); + pC->payloadSize = sqlite3BtreePayloadSize(pCrsr); + pC->aRow = sqlite3BtreePayloadFetch(pCrsr, &avail); assert( avail<=65536 ); /* Maximum page size is 64KiB */ if( pC->payloadSize <= (u32)avail ){ pC->szRow = pC->payloadSize; @@ -79139,7 +79814,7 @@ case OP_Column: { aOffset[0] = offset; - if( availaRow does not have to hold the entire row, but it does at least ** need to cover the header of the record. If pC->aRow does not contain ** the complete header, then set it to zero, forcing the header to be @@ -79160,14 +79835,15 @@ case OP_Column: { rc = SQLITE_CORRUPT_BKPT; goto abort_due_to_error; } + }else if( offset>0 ){ /*OPTIMIZATION-IF-TRUE*/ + /* The following goto is an optimization. It can be omitted and + ** everything will still work. But OP_Column is measurably faster + ** by skipping the subsequent conditional, which is always true. + */ + zData = pC->aRow; + assert( pC->nHdrParsed<=p2 ); /* Conditional skipped */ + goto op_column_read_header; } - - /* The following goto is an optimization. It can be omitted and - ** everything will still work. But OP_Column is measurably faster - ** by skipping the subsequent conditional, which is always true. - */ - assert( pC->nHdrParsed<=p2 ); /* Conditional skipped */ - goto op_column_read_header; } /* Make sure at least the first p2+1 entries of the header have been @@ -79177,7 +79853,6 @@ case OP_Column: { /* If there is more header available for parsing in the record, try ** to extract additional fields up through the p2+1-th field */ - op_column_read_header: if( pC->iHdrOffsetaRow==0 ){ @@ -79190,11 +79865,11 @@ case OP_Column: { } /* Fill in pC->aType[i] and aOffset[i] values through the p2-th field. */ + op_column_read_header: i = pC->nHdrParsed; offset64 = aOffset[i]; zHdr = zData + pC->iHdrOffset; zEndHdr = zData + aOffset[0]; - assert( i<=p2 && zHdraType[i++] = t; aOffset[i] = (u32)(offset64 & 0xffffffff); }while( i<=p2 && zHdrnHdrParsed = i; - pC->iHdrOffset = (u32)(zHdr - zData); - + /* The record is corrupt if any of the following are true: ** (1) the bytes of the header extend past the declared header size ** (2) the entire header was used but not all data was used @@ -79221,8 +79894,10 @@ case OP_Column: { rc = SQLITE_CORRUPT_BKPT; goto abort_due_to_error; } - if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); + pC->nHdrParsed = i; + pC->iHdrOffset = (u32)(zHdr - zData); + if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); }else{ t = 0; } @@ -79250,9 +79925,10 @@ case OP_Column: { assert( p2nHdrParsed ); assert( rc==SQLITE_OK ); assert( sqlite3VdbeCheckMemInvariants(pDest) ); - if( VdbeMemDynamic(pDest) ) sqlite3VdbeMemSetNull(pDest); + if( VdbeMemDynamic(pDest) ){ + sqlite3VdbeMemSetNull(pDest); + } assert( t==pC->aType[p2] ); - pDest->enc = encoding; if( pC->szRow>=aOffset[p2+1] ){ /* This is the common case where the desired content fits on the original ** page - where the content is not on an overflow page */ @@ -79266,6 +79942,7 @@ case OP_Column: { */ static const u16 aFlag[] = { MEM_Blob, MEM_Str|MEM_Term }; pDest->n = len = (t-12)/2; + pDest->enc = encoding; if( pDest->szMalloc < len+2 ){ pDest->flags = MEM_Null; if( sqlite3VdbeMemGrow(pDest, len+2, 0) ) goto no_mem; @@ -79278,6 +79955,7 @@ case OP_Column: { pDest->flags = aFlag[t&1]; } }else{ + pDest->enc = encoding; /* This branch happens only when content is on overflow pages */ if( ((pOp->p5 & (OPFLAG_LENGTHARG|OPFLAG_TYPEOFARG))!=0 && ((t>=12 && (t&1)==0) || (pOp->p5 & OPFLAG_TYPEOFARG)!=0)) @@ -79807,12 +80485,12 @@ case OP_Transaction: { rc = sqlite3BtreeBeginTrans(pBt, pOp->p2); testcase( rc==SQLITE_BUSY_SNAPSHOT ); testcase( rc==SQLITE_BUSY_RECOVERY ); - if( (rc&0xff)==SQLITE_BUSY ){ - p->pc = (int)(pOp - aOp); - p->rc = rc; - goto vdbe_return; - } if( rc!=SQLITE_OK ){ + if( (rc&0xff)==SQLITE_BUSY ){ + p->pc = (int)(pOp - aOp); + p->rc = rc; + goto vdbe_return; + } goto abort_due_to_error; } @@ -79839,10 +80517,9 @@ case OP_Transaction: { } /* Gather the schema version number for checking: - ** IMPLEMENTATION-OF: R-32195-19465 The schema version is used by SQLite - ** each time a query is executed to ensure that the internal cache of the - ** schema used when compiling the SQL query matches the schema of the - ** database against which the compiled query is actually executed. + ** IMPLEMENTATION-OF: R-03189-51135 As each SQL statement runs, the schema + ** version is checked to ensure that the schema has not changed since the + ** SQL statement was prepared. */ sqlite3BtreeGetMeta(pBt, BTREE_SCHEMA_VERSION, (u32 *)&iMeta); iGen = db->aDb[pOp->p1].pSchema->iGeneration; @@ -80503,7 +81180,6 @@ case OP_SeekGT: { /* jump, in3 */ #ifdef SQLITE_DEBUG { int i; for(i=0; iuc.pCursor, &r, 0, 0, &res); if( rc!=SQLITE_OK ){ @@ -80551,7 +81227,6 @@ case OP_SeekGT: { /* jump, in3 */ } break; } - /* Opcode: Found P1 P2 P3 P4 * ** Synopsis: key=r[P3@P4] @@ -80645,13 +81320,13 @@ case OP_Found: { /* jump, in3 */ r.pKeyInfo = pC->pKeyInfo; r.nField = (u16)pOp->p4.i; r.aMem = pIn3; +#ifdef SQLITE_DEBUG for(ii=0; iip3+ii, &r.aMem[ii]); -#endif } +#endif pIdxKey = &r; }else{ pIdxKey = sqlite3VdbeAllocUnpackedRecord( @@ -80659,7 +81334,7 @@ case OP_Found: { /* jump, in3 */ ); if( pIdxKey==0 ) goto no_mem; assert( pIn3->flags & MEM_Blob ); - ExpandBlob(pIn3); + (void)ExpandBlob(pIn3); sqlite3VdbeRecordUnpack(pC->pKeyInfo, pIn3->n, pIn3->z, pIdxKey); } pIdxKey->default_rc = 0; @@ -80695,6 +81370,30 @@ case OP_Found: { /* jump, in3 */ break; } +/* Opcode: SeekRowid P1 P2 P3 * * +** Synopsis: intkey=r[P3] +** +** P1 is the index of a cursor open on an SQL table btree (with integer +** keys). If register P3 does not contain an integer or if P1 does not +** contain a record with rowid P3 then jump immediately to P2. +** Or, if P2 is 0, raise an SQLITE_CORRUPT error. If P1 does contain +** a record with rowid P3 then +** leave the cursor pointing at that record and fall through to the next +** instruction. +** +** The OP_NotExists opcode performs the same operation, but with OP_NotExists +** the P3 register must be guaranteed to contain an integer value. With this +** opcode, register P3 might not contain an integer. +** +** The OP_NotFound opcode performs the same operation on index btrees +** (with arbitrary multi-value keys). +** +** This opcode leaves the cursor in a state where it cannot be advanced +** in either direction. In other words, the Next and Prev opcodes will +** not work following this opcode. +** +** See also: Found, NotFound, NoConflict, SeekRowid +*/ /* Opcode: NotExists P1 P2 P3 * * ** Synopsis: intkey=r[P3] ** @@ -80705,6 +81404,10 @@ case OP_Found: { /* jump, in3 */ ** leave the cursor pointing at that record and fall through to the next ** instruction. ** +** The OP_SeekRowid opcode performs the same operation but also allows the +** P3 register to contain a non-integer value, in which case the jump is +** always taken. This opcode requires that P3 always contain an integer. +** ** The OP_NotFound opcode performs the same operation on index btrees ** (with arbitrary multi-value keys). ** @@ -80712,14 +81415,21 @@ case OP_Found: { /* jump, in3 */ ** in either direction. In other words, the Next and Prev opcodes will ** not work following this opcode. ** -** See also: Found, NotFound, NoConflict +** See also: Found, NotFound, NoConflict, SeekRowid */ -case OP_NotExists: { /* jump, in3 */ +case OP_SeekRowid: { /* jump, in3 */ VdbeCursor *pC; BtCursor *pCrsr; int res; u64 iKey; + pIn3 = &aMem[pOp->p3]; + if( (pIn3->flags & MEM_Int)==0 ){ + applyAffinity(pIn3, SQLITE_AFF_NUMERIC, encoding); + if( (pIn3->flags & MEM_Int)==0 ) goto jump_to_p2; + } + /* Fall through into OP_NotExists */ +case OP_NotExists: /* jump, in3 */ pIn3 = &aMem[pOp->p3]; assert( pIn3->flags & MEM_Int ); assert( pOp->p1>=0 && pOp->p1nCursor ); @@ -80838,8 +81548,7 @@ case OP_NewRowid: { /* out2 */ v = 1; /* IMP: R-61914-48074 */ }else{ assert( sqlite3BtreeCursorIsValid(pC->uc.pCursor) ); - rc = sqlite3BtreeKeySize(pC->uc.pCursor, &v); - assert( rc==SQLITE_OK ); /* Cannot fail following BtreeLast() */ + v = sqlite3BtreeIntegerKey(pC->uc.pCursor); if( v>=MAX_ROWID ){ pC->useRandomRowid = 1; }else{ @@ -80922,10 +81631,12 @@ case OP_NewRowid: { /* out2 */ ** sqlite3_last_insert_rowid() function (otherwise it is unmodified). ** ** If the OPFLAG_USESEEKRESULT flag of P5 is set and if the result of -** the last seek operation (OP_NotExists) was a success, then this +** the last seek operation (OP_NotExists or OP_SeekRowid) was a success, +** then this ** operation will not attempt to find the appropriate row before doing ** the insert but will instead overwrite the row that the cursor is -** currently pointing to. Presumably, the prior OP_NotExists opcode +** currently pointing to. Presumably, the prior OP_NotExists or +** OP_SeekRowid opcode ** has already positioned the cursor correctly. This is an optimization ** that boosts performance by avoiding redundant seeks. ** @@ -80948,7 +81659,7 @@ case OP_NewRowid: { /* out2 */ ** for indices is OP_IdxInsert. */ /* Opcode: InsertInt P1 P2 P3 P4 P5 -** Synopsis: intkey=P3 data=r[P2] +** Synopsis: intkey=P3 data=r[P2] ** ** This works exactly like OP_Insert except that the key is the ** integer value P3, not the value of the integer stored in register P3. @@ -80957,13 +81668,12 @@ case OP_Insert: case OP_InsertInt: { Mem *pData; /* MEM cell holding data for the record to be inserted */ Mem *pKey; /* MEM cell holding key for the record */ - i64 iKey; /* The integer ROWID or key for the record to be inserted */ VdbeCursor *pC; /* Cursor to table into which insert is written */ - int nZero; /* Number of zero-bytes to append */ int seekResult; /* Result of prior seek or 0 if no USESEEKRESULT flag */ const char *zDb; /* database name - used by the update hook */ Table *pTab; /* Table structure - used by update and pre-update hooks */ int op; /* Opcode for update hook: SQLITE_UPDATE or SQLITE_INSERT */ + BtreePayload x; /* Payload to be inserted */ op = 0; pData = &aMem[pOp->p2]; @@ -80982,16 +81692,16 @@ case OP_InsertInt: { assert( pKey->flags & MEM_Int ); assert( memIsValid(pKey) ); REGISTER_TRACE(pOp->p3, pKey); - iKey = pKey->u.i; + x.nKey = pKey->u.i; }else{ assert( pOp->opcode==OP_InsertInt ); - iKey = pOp->p3; + x.nKey = pOp->p3; } if( pOp->p4type==P4_TABLE && HAS_UPDATE_HOOK(db) ){ assert( pC->isTable ); assert( pC->iDb>=0 ); - zDb = db->aDb[pC->iDb].zName; + zDb = db->aDb[pC->iDb].zDbSName; pTab = pOp->p4.pTab; assert( HasRowid(pTab) ); op = ((pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT); @@ -81006,26 +81716,28 @@ case OP_InsertInt: { && pOp->p4type==P4_TABLE && !(pOp->p5 & OPFLAG_ISUPDATE) ){ - sqlite3VdbePreUpdateHook(p, pC, SQLITE_INSERT, zDb, pTab, iKey, pOp->p2); + sqlite3VdbePreUpdateHook(p, pC, SQLITE_INSERT, zDb, pTab, x.nKey, pOp->p2); } #endif if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++; - if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = lastRowid = iKey; + if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = lastRowid = x.nKey; if( pData->flags & MEM_Null ){ - pData->z = 0; - pData->n = 0; + x.pData = 0; + x.nData = 0; }else{ assert( pData->flags & (MEM_Blob|MEM_Str) ); + x.pData = pData->z; + x.nData = pData->n; } seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0); if( pData->flags & MEM_Zero ){ - nZero = pData->u.nZero; + x.nZero = pData->u.nZero; }else{ - nZero = 0; + x.nZero = 0; } - rc = sqlite3BtreeInsert(pC->uc.pCursor, 0, iKey, - pData->z, pData->n, nZero, + x.pKey = 0; + rc = sqlite3BtreeInsert(pC->uc.pCursor, &x, (pOp->p5 & OPFLAG_APPEND)!=0, seekResult ); pC->deferredMoveto = 0; @@ -81034,7 +81746,7 @@ case OP_InsertInt: { /* Invoke the update-hook if required. */ if( rc ) goto abort_due_to_error; if( db->xUpdateCallback && op ){ - db->xUpdateCallback(db->pUpdateArg, op, zDb, pTab->zName, iKey); + db->xUpdateCallback(db->pUpdateArg, op, zDb, pTab->zName, x.nKey); } break; } @@ -81063,7 +81775,7 @@ case OP_InsertInt: { ** P1 must not be pseudo-table. It has to be a real table with ** multiple rows. ** -** If P4 is not NULL then it points to a Table struture. In this case either +** If P4 is not NULL then it points to a Table object. In this case either ** the update or pre-update hook, or both, may be invoked. The P1 cursor must ** have been positioned using OP_NotFound prior to invoking this opcode in ** this case. Specifically, if one is configured, the pre-update hook is @@ -81093,8 +81805,7 @@ case OP_Delete: { /* If p5 is zero, the seek operation that positioned the cursor prior to ** OP_Delete will have also set the pC->movetoTarget field to the rowid of ** the row that is being deleted */ - i64 iKey = 0; - sqlite3BtreeKeySize(pC->uc.pCursor, &iKey); + i64 iKey = sqlite3BtreeIntegerKey(pC->uc.pCursor); assert( pC->movetoTarget==iKey ); } #endif @@ -81107,10 +81818,10 @@ case OP_Delete: { if( pOp->p4type==P4_TABLE && HAS_UPDATE_HOOK(db) ){ assert( pC->iDb>=0 ); assert( pOp->p4.pTab!=0 ); - zDb = db->aDb[pC->iDb].zName; + zDb = db->aDb[pC->iDb].zDbSName; pTab = pOp->p4.pTab; if( (pOp->p5 & OPFLAG_SAVEPOSITION)!=0 && pC->isTable ){ - sqlite3BtreeKeySize(pC->uc.pCursor, &pC->movetoTarget); + pC->movetoTarget = sqlite3BtreeIntegerKey(pC->uc.pCursor); } }else{ zDb = 0; /* Not needed. Silence a compiler warning. */ @@ -81179,7 +81890,7 @@ case OP_ResetCount: { } /* Opcode: SorterCompare P1 P2 P3 P4 -** Synopsis: if key(P1)!=trim(r[P3],P4) goto P2 +** Synopsis: if key(P1)!=trim(r[P3],P4) goto P2 ** ** P1 is a sorter cursor. This instruction compares a prefix of the ** record blob in register P3 against a prefix of the entry that @@ -81264,7 +81975,6 @@ case OP_RowData: { VdbeCursor *pC; BtCursor *pCrsr; u32 n; - i64 n64; pOut = &aMem[pOp->p2]; memAboutToChange(p, pOut); @@ -81282,8 +81992,9 @@ case OP_RowData: { pCrsr = pC->uc.pCursor; /* The OP_RowKey and OP_RowData opcodes always follow OP_NotExists or - ** OP_Rewind/Op_Next with no intervening instructions that might invalidate - ** the cursor. If this where not the case, on of the following assert()s + ** OP_SeekRowid or OP_Rewind/Op_Next with no intervening instructions + ** that might invalidate the cursor. + ** If this where not the case, on of the following assert()s ** would fail. Should this ever change (because of changes in the code ** generator) then the fix would be to insert a call to ** sqlite3VdbeCursorMoveto(). @@ -81295,20 +82006,9 @@ case OP_RowData: { if( rc!=SQLITE_OK ) goto abort_due_to_error; #endif - if( pC->isTable==0 ){ - assert( !pC->isTable ); - VVA_ONLY(rc =) sqlite3BtreeKeySize(pCrsr, &n64); - assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */ - if( n64>db->aLimit[SQLITE_LIMIT_LENGTH] ){ - goto too_big; - } - n = (u32)n64; - }else{ - VVA_ONLY(rc =) sqlite3BtreeDataSize(pCrsr, &n); - assert( rc==SQLITE_OK ); /* DataSize() cannot fail */ - if( n>(u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ - goto too_big; - } + n = sqlite3BtreePayloadSize(pCrsr); + if( n>(u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ + goto too_big; } testcase( n==0 ); if( sqlite3VdbeMemClearAndResize(pOut, MAX(n,32)) ){ @@ -81373,8 +82073,7 @@ case OP_Rowid: { /* out2 */ pOut->flags = MEM_Null; break; } - rc = sqlite3BtreeKeySize(pC->uc.pCursor, &v); - assert( rc==SQLITE_OK ); /* Always so because of CursorRestore() above */ + v = sqlite3BtreeIntegerKey(pC->uc.pCursor); } pOut->u.i = v; break; @@ -81649,8 +82348,7 @@ case OP_Next: /* jump */ case OP_SorterInsert: /* in2 */ case OP_IdxInsert: { /* in2 */ VdbeCursor *pC; - int nKey; - const char *zKey; + BtreePayload x; assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; @@ -81666,9 +82364,9 @@ case OP_IdxInsert: { /* in2 */ if( pOp->opcode==OP_SorterInsert ){ rc = sqlite3VdbeSorterWrite(pC, pIn2); }else{ - nKey = pIn2->n; - zKey = pIn2->z; - rc = sqlite3BtreeInsert(pC->uc.pCursor, zKey, nKey, "", 0, 0, pOp->p3, + x.nKey = pIn2->n; + x.pKey = pIn2->z; + rc = sqlite3BtreeInsert(pC->uc.pCursor, &x, pOp->p3, ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0) ); assert( pC->deferredMoveto==0 ); @@ -81716,7 +82414,7 @@ case OP_IdxDelete: { } /* Opcode: Seek P1 * P3 P4 * -** Synopsis: Move P3 to P1.rowid +** Synopsis: Move P3 to P1.rowid ** ** P1 is an open index cursor and P3 is a cursor on the corresponding ** table. This opcode does a deferred seek of the P3 table cursor @@ -82087,7 +82785,7 @@ case OP_ParseSchema: { initData.pzErrMsg = &p->zErrMsg; zSql = sqlite3MPrintf(db, "SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid", - db->aDb[iDb].zName, zMaster, pOp->p4.z); + db->aDb[iDb].zDbSName, zMaster, pOp->p4.z); if( zSql==0 ){ rc = SQLITE_NOMEM_BKPT; }else{ @@ -82223,7 +82921,7 @@ case OP_IntegrityCk: { #endif /* SQLITE_OMIT_INTEGRITY_CHECK */ /* Opcode: RowSetAdd P1 P2 * * * -** Synopsis: rowset(P1)=r[P2] +** Synopsis: rowset(P1)=r[P2] ** ** Insert the integer value held by register P2 into a boolean index ** held in register P1. @@ -82243,7 +82941,7 @@ case OP_RowSetAdd: { /* in1, in2 */ } /* Opcode: RowSetRead P1 P2 P3 * * -** Synopsis: r[P3]=rowset(P1) +** Synopsis: r[P3]=rowset(P1) ** ** Extract the smallest value from boolean index P1 and put that value into ** register P3. Or, if boolean index P1 is initially empty, leave P3 @@ -82392,8 +83090,7 @@ case OP_Program: { /* jump */ if( pProgram->nCsr==0 ) nMem++; nByte = ROUND8(sizeof(VdbeFrame)) + nMem * sizeof(Mem) - + pProgram->nCsr * sizeof(VdbeCursor *) - + pProgram->nOnce * sizeof(u8); + + pProgram->nCsr * sizeof(VdbeCursor *); pFrame = sqlite3DbMallocZero(db, nByte); if( !pFrame ){ goto no_mem; @@ -82413,8 +83110,6 @@ case OP_Program: { /* jump */ pFrame->aOp = p->aOp; pFrame->nOp = p->nOp; pFrame->token = pProgram->token; - pFrame->aOnceFlag = p->aOnceFlag; - pFrame->nOnceFlag = p->nOnceFlag; #ifdef SQLITE_ENABLE_STMT_SCANSTATUS pFrame->anExec = p->anExec; #endif @@ -82448,13 +83143,10 @@ case OP_Program: { /* jump */ p->apCsr = (VdbeCursor **)&aMem[p->nMem]; p->aOp = aOp = pProgram->aOp; p->nOp = pProgram->nOp; - p->aOnceFlag = (u8 *)&p->apCsr[p->nCursor]; - p->nOnceFlag = pProgram->nOnce; #ifdef SQLITE_ENABLE_STMT_SCANSTATUS p->anExec = 0; #endif pOp = &aOp[-1]; - memset(p->aOnceFlag, 0, p->nOnceFlag); break; } @@ -82916,15 +83608,14 @@ case OP_JournalMode: { /* out2 */ #endif /* SQLITE_OMIT_PRAGMA */ #if !defined(SQLITE_OMIT_VACUUM) && !defined(SQLITE_OMIT_ATTACH) -/* Opcode: Vacuum * * * * * +/* Opcode: Vacuum P1 * * * * ** -** Vacuum the entire database. This opcode will cause other virtual -** machines to be created and run. It may not be called from within -** a transaction. +** Vacuum the entire database P1. P1 is 0 for "main", and 2 or more +** for an attached database. The "temp" database may not be vacuumed. */ case OP_Vacuum: { assert( p->readOnly==0 ); - rc = sqlite3RunVacuum(&p->zErrMsg, db); + rc = sqlite3RunVacuum(&p->zErrMsg, db, pOp->p1); if( rc ) goto abort_due_to_error; break; } @@ -83422,8 +84113,8 @@ case OP_MaxPgcnt: { /* out2 */ #endif -/* Opcode: Init * P2 * P4 * -** Synopsis: Start at P2 +/* Opcode: Init P1 P2 * P4 * +** Synopsis: Start at P2 ** ** Programs contain a single instance of this opcode as the very first ** opcode. @@ -83433,27 +84124,50 @@ case OP_MaxPgcnt: { /* out2 */ ** Or if P4 is blank, use the string returned by sqlite3_sql(). ** ** If P2 is not zero, jump to instruction P2. +** +** Increment the value of P1 so that OP_Once opcodes will jump the +** first time they are evaluated for this run. */ case OP_Init: { /* jump */ char *zTrace; - char *z; + int i; + + /* If the P4 argument is not NULL, then it must be an SQL comment string. + ** The "--" string is broken up to prevent false-positives with srcck1.c. + ** + ** This assert() provides evidence for: + ** EVIDENCE-OF: R-50676-09860 The callback can compute the same text that + ** would have been returned by the legacy sqlite3_trace() interface by + ** using the X argument when X begins with "--" and invoking + ** sqlite3_expanded_sql(P) otherwise. + */ + assert( pOp->p4.z==0 || strncmp(pOp->p4.z, "-" "- ", 3)==0 ); + assert( pOp==p->aOp ); /* Always instruction 0 */ #ifndef SQLITE_OMIT_TRACE - if( db->xTrace + if( (db->mTrace & (SQLITE_TRACE_STMT|SQLITE_TRACE_LEGACY))!=0 && !p->doingRerun && (zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0 ){ - z = sqlite3VdbeExpandSql(p, zTrace); - db->xTrace(db->pTraceArg, z); - sqlite3DbFree(db, z); +#ifndef SQLITE_OMIT_DEPRECATED + if( db->mTrace & SQLITE_TRACE_LEGACY ){ + void (*x)(void*,const char*) = (void(*)(void*,const char*))db->xTrace; + char *z = sqlite3VdbeExpandSql(p, zTrace); + x(db->pTraceArg, z); + sqlite3_free(z); + }else +#endif + { + (void)db->xTrace(SQLITE_TRACE_STMT, db->pTraceArg, p, zTrace); + } } #ifdef SQLITE_USE_FCNTL_TRACE zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql); if( zTrace ){ - int i; - for(i=0; inDb; i++){ - if( DbMaskTest(p->btreeMask, i)==0 ) continue; - sqlite3_file_control(db, db->aDb[i].zName, SQLITE_FCNTL_TRACE, zTrace); + int j; + for(j=0; jnDb; j++){ + if( DbMaskTest(p->btreeMask, j)==0 ) continue; + sqlite3_file_control(db, db->aDb[j].zDbSName, SQLITE_FCNTL_TRACE, zTrace); } } #endif /* SQLITE_USE_FCNTL_TRACE */ @@ -83465,8 +84179,15 @@ case OP_Init: { /* jump */ } #endif /* SQLITE_DEBUG */ #endif /* SQLITE_OMIT_TRACE */ - if( pOp->p2 ) goto jump_to_p2; - break; + assert( pOp->p2>0 ); + if( pOp->p1>=sqlite3GlobalConfig.iOnceResetThreshold ){ + for(i=1; inOp; i++){ + if( p->aOp[i].opcode==OP_Once ) p->aOp[i].p1 = 0; + } + pOp->p1 = 0; + } + pOp->p1++; + goto jump_to_p2; } #ifdef SQLITE_ENABLE_CURSOR_HINTS @@ -83719,7 +84440,7 @@ static int blobSeekToRow(Incrblob *p, sqlite3_int64 iRow, char **pzErr){ /* ** Open a blob handle. */ -SQLITE_API int SQLITE_STDCALL sqlite3_blob_open( +SQLITE_API int sqlite3_blob_open( sqlite3* db, /* The database connection */ const char *zDb, /* The attached database containing the blob */ const char *zTable, /* The table containing the blob */ @@ -83789,7 +84510,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_open( goto blob_open_out; } pBlob->pTab = pTab; - pBlob->zDb = db->aDb[sqlite3SchemaToIndex(db, pTab->pSchema)].zName; + pBlob->zDb = db->aDb[sqlite3SchemaToIndex(db, pTab->pSchema)].zDbSName; /* Now search pTab for the exact column. */ for(iCol=0; iColnCol; iCol++) { @@ -83960,7 +84681,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_open( ** Close a blob handle that was previously created using ** sqlite3_blob_open(). */ -SQLITE_API int SQLITE_STDCALL sqlite3_blob_close(sqlite3_blob *pBlob){ +SQLITE_API int sqlite3_blob_close(sqlite3_blob *pBlob){ Incrblob *p = (Incrblob *)pBlob; int rc; sqlite3 *db; @@ -84028,7 +84749,7 @@ static int blobReadWrite( ** anyhow. */ sqlite3_int64 iKey; - sqlite3BtreeKeySize(p->pCsr, &iKey); + iKey = sqlite3BtreeIntegerKey(p->pCsr); sqlite3VdbePreUpdateHook( v, v->apCsr[0], SQLITE_DELETE, p->zDb, p->pTab, iKey, -1 ); @@ -84053,14 +84774,14 @@ static int blobReadWrite( /* ** Read data from a blob handle. */ -SQLITE_API int SQLITE_STDCALL sqlite3_blob_read(sqlite3_blob *pBlob, void *z, int n, int iOffset){ +SQLITE_API int sqlite3_blob_read(sqlite3_blob *pBlob, void *z, int n, int iOffset){ return blobReadWrite(pBlob, z, n, iOffset, sqlite3BtreeData); } /* ** Write data to a blob handle. */ -SQLITE_API int SQLITE_STDCALL sqlite3_blob_write(sqlite3_blob *pBlob, const void *z, int n, int iOffset){ +SQLITE_API int sqlite3_blob_write(sqlite3_blob *pBlob, const void *z, int n, int iOffset){ return blobReadWrite(pBlob, (void *)z, n, iOffset, sqlite3BtreePutData); } @@ -84070,7 +84791,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_write(sqlite3_blob *pBlob, const void ** The Incrblob.nByte field is fixed for the lifetime of the Incrblob ** so no mutex is required for access. */ -SQLITE_API int SQLITE_STDCALL sqlite3_blob_bytes(sqlite3_blob *pBlob){ +SQLITE_API int sqlite3_blob_bytes(sqlite3_blob *pBlob){ Incrblob *p = (Incrblob *)pBlob; return (p && p->pStmt) ? p->nByte : 0; } @@ -84085,7 +84806,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_bytes(sqlite3_blob *pBlob){ ** subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) ** immediately return SQLITE_ABORT. */ -SQLITE_API int SQLITE_STDCALL sqlite3_blob_reopen(sqlite3_blob *pBlob, sqlite3_int64 iRow){ +SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *pBlob, sqlite3_int64 iRow){ int rc; Incrblob *p = (Incrblob *)pBlob; sqlite3 *db; @@ -85463,19 +86184,18 @@ static int vdbeSortAllocUnpacked(SortSubtask *pTask){ /* ** Merge the two sorted lists p1 and p2 into a single list. -** Set *ppOut to the head of the new list. */ -static void vdbeSorterMerge( +static SorterRecord *vdbeSorterMerge( SortSubtask *pTask, /* Calling thread context */ SorterRecord *p1, /* First list to merge */ - SorterRecord *p2, /* Second list to merge */ - SorterRecord **ppOut /* OUT: Head of merged list */ + SorterRecord *p2 /* Second list to merge */ ){ SorterRecord *pFinal = 0; SorterRecord **pp = &pFinal; int bCached = 0; - while( p1 && p2 ){ + assert( p1!=0 && p2!=0 ); + for(;;){ int res; res = pTask->xCompare( pTask, &bCached, SRVAL(p1), p1->nVal, SRVAL(p2), p2->nVal @@ -85485,15 +86205,22 @@ static void vdbeSorterMerge( *pp = p1; pp = &p1->u.pNext; p1 = p1->u.pNext; + if( p1==0 ){ + *pp = p2; + break; + } }else{ *pp = p2; pp = &p2->u.pNext; p2 = p2->u.pNext; bCached = 0; + if( p2==0 ){ + *pp = p1; + break; + } } } - *pp = p1 ? p1 : p2; - *ppOut = pFinal; + return pFinal; } /* @@ -85546,7 +86273,7 @@ static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){ p->u.pNext = 0; for(i=0; aSlot[i]; i++){ - vdbeSorterMerge(pTask, p, aSlot[i], &p); + p = vdbeSorterMerge(pTask, p, aSlot[i]); aSlot[i] = 0; } aSlot[i] = p; @@ -85555,7 +86282,8 @@ static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){ p = 0; for(i=0; i<64; i++){ - vdbeSorterMerge(pTask, p, aSlot[i], &p); + if( aSlot[i]==0 ) continue; + p = p ? vdbeSorterMerge(pTask, p, aSlot[i]) : aSlot[i]; } pList->pList = p; @@ -87334,17 +88062,17 @@ static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ testcase( ExprHasProperty(pExpr, EP_TokenOnly) ); testcase( ExprHasProperty(pExpr, EP_Reduced) ); rc = pWalker->xExprCallback(pWalker, pExpr); - if( rc==WRC_Continue - && !ExprHasProperty(pExpr,EP_TokenOnly) ){ - if( sqlite3WalkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; - if( sqlite3WalkExpr(pWalker, pExpr->pRight) ) return WRC_Abort; - if( ExprHasProperty(pExpr, EP_xIsSelect) ){ - if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; - }else{ - if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; - } + if( rc || ExprHasProperty(pExpr,(EP_TokenOnly|EP_Leaf)) ){ + return rc & WRC_Abort; } - return rc & WRC_Abort; + if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; + if( pExpr->pRight && walkExpr(pWalker, pExpr->pRight) ) return WRC_Abort; + if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; + }else if( pExpr->x.pList ){ + if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; + } + return WRC_Continue; } SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){ return pExpr ? walkExpr(pWalker,pExpr) : WRC_Continue; @@ -87678,8 +88406,8 @@ static int lookupName( zDb = 0; }else{ for(i=0; inDb; i++){ - assert( db->aDb[i].zName ); - if( sqlite3StrICmp(db->aDb[i].zName,zDb)==0 ){ + assert( db->aDb[i].zDbSName ); + if( sqlite3StrICmp(db->aDb[i].zDbSName,zDb)==0 ){ pSchema = db->aDb[i].pSchema; break; } @@ -88080,7 +88808,6 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ /* if( pSrcList==0 ) break; */ notValid(pParse, pNC, "the \".\" operator", NC_IdxExpr); - /*notValid(pParse, pNC, "the \".\" operator", NC_PartIdx|NC_IsCheck, 1);*/ pRight = pExpr->pRight; if( pRight->op==TK_ID ){ zDb = 0; @@ -88103,14 +88830,12 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ int no_such_func = 0; /* True if no such function exists */ int wrong_num_args = 0; /* True if wrong number of arguments */ int is_agg = 0; /* True if is an aggregate function */ - int auth; /* Authorization to use the function */ int nId; /* Number of characters in function name */ const char *zId; /* The function name. */ FuncDef *pDef; /* Information about the function */ u8 enc = ENC(pParse->db); /* The database encoding */ assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); - notValid(pParse, pNC, "functions", NC_PartIdx); zId = pExpr->u.zToken; nId = sqlite3Strlen30(zId); pDef = sqlite3FindFunction(pParse->db, zId, n, enc, 0); @@ -88147,15 +88872,17 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ } } #ifndef SQLITE_OMIT_AUTHORIZATION - auth = sqlite3AuthCheck(pParse, SQLITE_FUNCTION, 0, pDef->zName, 0); - if( auth!=SQLITE_OK ){ - if( auth==SQLITE_DENY ){ - sqlite3ErrorMsg(pParse, "not authorized to use function: %s", - pDef->zName); - pNC->nErr++; + { + int auth = sqlite3AuthCheck(pParse, SQLITE_FUNCTION, 0,pDef->zName,0); + if( auth!=SQLITE_OK ){ + if( auth==SQLITE_DENY ){ + sqlite3ErrorMsg(pParse, "not authorized to use function: %s", + pDef->zName); + pNC->nErr++; + } + pExpr->op = TK_NULL; + return WRC_Prune; } - pExpr->op = TK_NULL; - return WRC_Prune; } #endif if( pDef->funcFlags & (SQLITE_FUNC_CONSTANT|SQLITE_FUNC_SLOCHNG) ){ @@ -88168,14 +88895,19 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ /* Date/time functions that use 'now', and other functions like ** sqlite_version() that might change over time cannot be used ** in an index. */ - notValid(pParse, pNC, "non-deterministic functions", NC_IdxExpr); + notValid(pParse, pNC, "non-deterministic functions", + NC_IdxExpr|NC_PartIdx); } } if( is_agg && (pNC->ncFlags & NC_AllowAgg)==0 ){ sqlite3ErrorMsg(pParse, "misuse of aggregate function %.*s()", nId,zId); pNC->nErr++; is_agg = 0; - }else if( no_such_func && pParse->db->init.busy==0 ){ + }else if( no_such_func && pParse->db->init.busy==0 +#ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + && pParse->explain==0 +#endif + ){ sqlite3ErrorMsg(pParse, "no such function: %.*s", nId, zId); pNC->nErr++; }else if( wrong_num_args ){ @@ -88229,6 +88961,33 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ notValid(pParse, pNC, "parameters", NC_IsCheck|NC_PartIdx|NC_IdxExpr); break; } + case TK_EQ: + case TK_NE: + case TK_LT: + case TK_LE: + case TK_GT: + case TK_GE: + case TK_IS: + case TK_ISNOT: { + int nLeft, nRight; + if( pParse->db->mallocFailed ) break; + assert( pExpr->pRight!=0 ); + assert( pExpr->pLeft!=0 ); + nLeft = sqlite3ExprVectorSize(pExpr->pLeft); + nRight = sqlite3ExprVectorSize(pExpr->pRight); + if( nLeft!=nRight ){ + testcase( pExpr->op==TK_EQ ); + testcase( pExpr->op==TK_NE ); + testcase( pExpr->op==TK_LT ); + testcase( pExpr->op==TK_LE ); + testcase( pExpr->op==TK_GT ); + testcase( pExpr->op==TK_GE ); + testcase( pExpr->op==TK_IS ); + testcase( pExpr->op==TK_ISNOT ); + sqlite3ErrorMsg(pParse, "row value misused"); + } + break; + } } return (pParse->nErr || pParse->db->mallocFailed) ? WRC_Abort : WRC_Continue; } @@ -88971,6 +89730,18 @@ SQLITE_PRIVATE void sqlite3ResolveSelfReference( */ /* #include "sqliteInt.h" */ +/* Forward declarations */ +static void exprCodeBetween(Parse*,Expr*,int,void(*)(Parse*,Expr*,int,int),int); +static int exprCodeVector(Parse *pParse, Expr *p, int *piToFree); + +/* +** Return the affinity character for a single column of a table. +*/ +SQLITE_PRIVATE char sqlite3TableColumnAffinity(Table *pTab, int iCol){ + assert( iColnCol ); + return iCol>=0 ? pTab->aCol[iCol].affinity : SQLITE_AFF_INTEGER; +} + /* ** Return the 'affinity' of the expression pExpr if any. ** @@ -88996,21 +89767,21 @@ SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){ assert( pExpr->flags&EP_xIsSelect ); return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr); } + if( op==TK_REGISTER ) op = pExpr->op2; #ifndef SQLITE_OMIT_CAST if( op==TK_CAST ){ assert( !ExprHasProperty(pExpr, EP_IntValue) ); return sqlite3AffinityType(pExpr->u.zToken, 0); } #endif - if( (op==TK_AGG_COLUMN || op==TK_COLUMN || op==TK_REGISTER) - && pExpr->pTab!=0 - ){ - /* op==TK_REGISTER && pExpr->pTab!=0 happens when pExpr was originally - ** a TK_COLUMN but was previously evaluated and cached in a register */ - int j = pExpr->iColumn; - if( j<0 ) return SQLITE_AFF_INTEGER; - assert( pExpr->pTab && jpTab->nCol ); - return pExpr->pTab->aCol[j].affinity; + if( op==TK_AGG_COLUMN || op==TK_COLUMN ){ + return sqlite3TableColumnAffinity(pExpr->pTab, pExpr->iColumn); + } + if( op==TK_SELECT_COLUMN ){ + assert( pExpr->pLeft->flags&EP_xIsSelect ); + return sqlite3ExprAffinity( + pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr + ); } return pExpr->affinity; } @@ -89176,7 +89947,7 @@ static char comparisonAffinity(Expr *pExpr){ aff = sqlite3CompareAffinity(pExpr->pRight, aff); }else if( ExprHasProperty(pExpr, EP_xIsSelect) ){ aff = sqlite3CompareAffinity(pExpr->x.pSelect->pEList->a[0].pExpr, aff); - }else if( !aff ){ + }else if( NEVER(aff==0) ){ aff = SQLITE_AFF_BLOB; } return aff; @@ -89266,6 +90037,270 @@ static int codeCompare( return addr; } +/* +** Return true if expression pExpr is a vector, or false otherwise. +** +** A vector is defined as any expression that results in two or more +** columns of result. Every TK_VECTOR node is an vector because the +** parser will not generate a TK_VECTOR with fewer than two entries. +** But a TK_SELECT might be either a vector or a scalar. It is only +** considered a vector if it has two or more result columns. +*/ +SQLITE_PRIVATE int sqlite3ExprIsVector(Expr *pExpr){ + return sqlite3ExprVectorSize(pExpr)>1; +} + +/* +** If the expression passed as the only argument is of type TK_VECTOR +** return the number of expressions in the vector. Or, if the expression +** is a sub-select, return the number of columns in the sub-select. For +** any other type of expression, return 1. +*/ +SQLITE_PRIVATE int sqlite3ExprVectorSize(Expr *pExpr){ + u8 op = pExpr->op; + if( op==TK_REGISTER ) op = pExpr->op2; + if( op==TK_VECTOR ){ + return pExpr->x.pList->nExpr; + }else if( op==TK_SELECT ){ + return pExpr->x.pSelect->pEList->nExpr; + }else{ + return 1; + } +} + +#ifndef SQLITE_OMIT_SUBQUERY +/* +** Return a pointer to a subexpression of pVector that is the i-th +** column of the vector (numbered starting with 0). The caller must +** ensure that i is within range. +** +** If pVector is really a scalar (and "scalar" here includes subqueries +** that return a single column!) then return pVector unmodified. +** +** pVector retains ownership of the returned subexpression. +** +** If the vector is a (SELECT ...) then the expression returned is +** just the expression for the i-th term of the result set, and may +** not be ready for evaluation because the table cursor has not yet +** been positioned. +*/ +SQLITE_PRIVATE Expr *sqlite3VectorFieldSubexpr(Expr *pVector, int i){ + assert( iop2==0 || pVector->op==TK_REGISTER ); + if( pVector->op==TK_SELECT || pVector->op2==TK_SELECT ){ + return pVector->x.pSelect->pEList->a[i].pExpr; + }else{ + return pVector->x.pList->a[i].pExpr; + } + } + return pVector; +} +#endif /* !defined(SQLITE_OMIT_SUBQUERY) */ + +#ifndef SQLITE_OMIT_SUBQUERY +/* +** Compute and return a new Expr object which when passed to +** sqlite3ExprCode() will generate all necessary code to compute +** the iField-th column of the vector expression pVector. +** +** It is ok for pVector to be a scalar (as long as iField==0). +** In that case, this routine works like sqlite3ExprDup(). +** +** The caller owns the returned Expr object and is responsible for +** ensuring that the returned value eventually gets freed. +** +** The caller retains ownership of pVector. If pVector is a TK_SELECT, +** then the returned object will reference pVector and so pVector must remain +** valid for the life of the returned object. If pVector is a TK_VECTOR +** or a scalar expression, then it can be deleted as soon as this routine +** returns. +** +** A trick to cause a TK_SELECT pVector to be deleted together with +** the returned Expr object is to attach the pVector to the pRight field +** of the returned TK_SELECT_COLUMN Expr object. +*/ +SQLITE_PRIVATE Expr *sqlite3ExprForVectorField( + Parse *pParse, /* Parsing context */ + Expr *pVector, /* The vector. List of expressions or a sub-SELECT */ + int iField /* Which column of the vector to return */ +){ + Expr *pRet; + if( pVector->op==TK_SELECT ){ + assert( pVector->flags & EP_xIsSelect ); + /* The TK_SELECT_COLUMN Expr node: + ** + ** pLeft: pVector containing TK_SELECT + ** pRight: not used. But recursively deleted. + ** iColumn: Index of a column in pVector + ** pLeft->iTable: First in an array of register holding result, or 0 + ** if the result is not yet computed. + ** + ** sqlite3ExprDelete() specifically skips the recursive delete of + ** pLeft on TK_SELECT_COLUMN nodes. But pRight is followed, so pVector + ** can be attached to pRight to cause this node to take ownership of + ** pVector. Typically there will be multiple TK_SELECT_COLUMN nodes + ** with the same pLeft pointer to the pVector, but only one of them + ** will own the pVector. + */ + pRet = sqlite3PExpr(pParse, TK_SELECT_COLUMN, 0, 0, 0); + if( pRet ){ + pRet->iColumn = iField; + pRet->pLeft = pVector; + } + assert( pRet==0 || pRet->iTable==0 ); + }else{ + if( pVector->op==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr; + pRet = sqlite3ExprDup(pParse->db, pVector, 0); + } + return pRet; +} +#endif /* !define(SQLITE_OMIT_SUBQUERY) */ + +/* +** If expression pExpr is of type TK_SELECT, generate code to evaluate +** it. Return the register in which the result is stored (or, if the +** sub-select returns more than one column, the first in an array +** of registers in which the result is stored). +** +** If pExpr is not a TK_SELECT expression, return 0. +*/ +static int exprCodeSubselect(Parse *pParse, Expr *pExpr){ + int reg = 0; +#ifndef SQLITE_OMIT_SUBQUERY + if( pExpr->op==TK_SELECT ){ + reg = sqlite3CodeSubselect(pParse, pExpr, 0, 0); + } +#endif + return reg; +} + +/* +** Argument pVector points to a vector expression - either a TK_VECTOR +** or TK_SELECT that returns more than one column. This function returns +** the register number of a register that contains the value of +** element iField of the vector. +** +** If pVector is a TK_SELECT expression, then code for it must have +** already been generated using the exprCodeSubselect() routine. In this +** case parameter regSelect should be the first in an array of registers +** containing the results of the sub-select. +** +** If pVector is of type TK_VECTOR, then code for the requested field +** is generated. In this case (*pRegFree) may be set to the number of +** a temporary register to be freed by the caller before returning. +** +** Before returning, output parameter (*ppExpr) is set to point to the +** Expr object corresponding to element iElem of the vector. +*/ +static int exprVectorRegister( + Parse *pParse, /* Parse context */ + Expr *pVector, /* Vector to extract element from */ + int iField, /* Field to extract from pVector */ + int regSelect, /* First in array of registers */ + Expr **ppExpr, /* OUT: Expression element */ + int *pRegFree /* OUT: Temp register to free */ +){ + u8 op = pVector->op; + assert( op==TK_VECTOR || op==TK_REGISTER || op==TK_SELECT ); + if( op==TK_REGISTER ){ + *ppExpr = sqlite3VectorFieldSubexpr(pVector, iField); + return pVector->iTable+iField; + } + if( op==TK_SELECT ){ + *ppExpr = pVector->x.pSelect->pEList->a[iField].pExpr; + return regSelect+iField; + } + *ppExpr = pVector->x.pList->a[iField].pExpr; + return sqlite3ExprCodeTemp(pParse, *ppExpr, pRegFree); +} + +/* +** Expression pExpr is a comparison between two vector values. Compute +** the result of the comparison (1, 0, or NULL) and write that +** result into register dest. +** +** The caller must satisfy the following preconditions: +** +** if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ +** if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ +** otherwise: op==pExpr->op and p5==0 +*/ +static void codeVectorCompare( + Parse *pParse, /* Code generator context */ + Expr *pExpr, /* The comparison operation */ + int dest, /* Write results into this register */ + u8 op, /* Comparison operator */ + u8 p5 /* SQLITE_NULLEQ or zero */ +){ + Vdbe *v = pParse->pVdbe; + Expr *pLeft = pExpr->pLeft; + Expr *pRight = pExpr->pRight; + int nLeft = sqlite3ExprVectorSize(pLeft); + int i; + int regLeft = 0; + int regRight = 0; + u8 opx = op; + int addrDone = sqlite3VdbeMakeLabel(v); + + assert( nLeft==sqlite3ExprVectorSize(pRight) ); + assert( pExpr->op==TK_EQ || pExpr->op==TK_NE + || pExpr->op==TK_IS || pExpr->op==TK_ISNOT + || pExpr->op==TK_LT || pExpr->op==TK_GT + || pExpr->op==TK_LE || pExpr->op==TK_GE + ); + assert( pExpr->op==op || (pExpr->op==TK_IS && op==TK_EQ) + || (pExpr->op==TK_ISNOT && op==TK_NE) ); + assert( p5==0 || pExpr->op!=op ); + assert( p5==SQLITE_NULLEQ || pExpr->op==op ); + + p5 |= SQLITE_STOREP2; + if( opx==TK_LE ) opx = TK_LT; + if( opx==TK_GE ) opx = TK_GT; + + regLeft = exprCodeSubselect(pParse, pLeft); + regRight = exprCodeSubselect(pParse, pRight); + + for(i=0; 1 /*Loop exits by "break"*/; i++){ + int regFree1 = 0, regFree2 = 0; + Expr *pL, *pR; + int r1, r2; + assert( i>=0 && i0 ) sqlite3ExprCachePush(pParse); + r1 = exprVectorRegister(pParse, pLeft, i, regLeft, &pL, ®Free1); + r2 = exprVectorRegister(pParse, pRight, i, regRight, &pR, ®Free2); + codeCompare(pParse, pL, pR, opx, r1, r2, dest, p5); + testcase(op==OP_Lt); VdbeCoverageIf(v,op==OP_Lt); + testcase(op==OP_Le); VdbeCoverageIf(v,op==OP_Le); + testcase(op==OP_Gt); VdbeCoverageIf(v,op==OP_Gt); + testcase(op==OP_Ge); VdbeCoverageIf(v,op==OP_Ge); + testcase(op==OP_Eq); VdbeCoverageIf(v,op==OP_Eq); + testcase(op==OP_Ne); VdbeCoverageIf(v,op==OP_Ne); + sqlite3ReleaseTempReg(pParse, regFree1); + sqlite3ReleaseTempReg(pParse, regFree2); + if( i>0 ) sqlite3ExprCachePop(pParse); + if( i==nLeft-1 ){ + break; + } + if( opx==TK_EQ ){ + sqlite3VdbeAddOp2(v, OP_IfNot, dest, addrDone); VdbeCoverage(v); + p5 |= SQLITE_KEEPNULL; + }else if( opx==TK_NE ){ + sqlite3VdbeAddOp2(v, OP_If, dest, addrDone); VdbeCoverage(v); + p5 |= SQLITE_KEEPNULL; + }else{ + assert( op==TK_LT || op==TK_GT || op==TK_LE || op==TK_GE ); + sqlite3VdbeAddOp2(v, OP_ElseNotEq, 0, addrDone); + VdbeCoverageIf(v, op==TK_LT); + VdbeCoverageIf(v, op==TK_GT); + VdbeCoverageIf(v, op==TK_LE); + VdbeCoverageIf(v, op==TK_GE); + if( i==nLeft-2 ) opx = op; + } + } + sqlite3VdbeResolveLabel(v, addrDone); +} + #if SQLITE_MAX_EXPR_DEPTH>0 /* ** Check that argument nHeight is less than or equal to the maximum @@ -89401,7 +90436,7 @@ SQLITE_PRIVATE void sqlite3ExprSetHeightAndFlags(Parse *pParse, Expr *p){ ** is allocated to hold the integer text and the dequote flag is ignored. */ SQLITE_PRIVATE Expr *sqlite3ExprAlloc( - sqlite3 *db, /* Handle for sqlite3DbMallocZero() (may be null) */ + sqlite3 *db, /* Handle for sqlite3DbMallocRawNN() */ int op, /* Expression opcode */ const Token *pToken, /* Token argument. Might be NULL */ int dequote /* True to dequote */ @@ -89619,7 +90654,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token * ** instance of the wildcard, the next sequential variable number is ** assigned. */ -SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ +SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr, u32 n){ sqlite3 *db = pParse->db; const char *z; @@ -89628,19 +90663,19 @@ SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ z = pExpr->u.zToken; assert( z!=0 ); assert( z[0]!=0 ); + assert( n==sqlite3Strlen30(z) ); if( z[1]==0 ){ /* Wildcard of the form "?". Assign the next variable number */ assert( z[0]=='?' ); pExpr->iColumn = (ynVar)(++pParse->nVar); }else{ - ynVar x = 0; - u32 n = sqlite3Strlen30(z); + ynVar x; if( z[0]=='?' ){ /* Wildcard of the form "?nnn". Convert "nnn" to an integer and ** use it as the variable number */ i64 i; int bOk = 0==sqlite3Atoi64(&z[1], &i, n-1, SQLITE_UTF8); - pExpr->iColumn = x = (ynVar)i; + x = (ynVar)i; testcase( i==0 ); testcase( i==1 ); testcase( i==db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER]-1 ); @@ -89648,7 +90683,7 @@ SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ if( bOk==0 || i<1 || i>db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ){ sqlite3ErrorMsg(pParse, "variable number must be between ?1 and ?%d", db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER]); - x = 0; + return; } if( i>pParse->nVar ){ pParse->nVar = (int)i; @@ -89659,33 +90694,31 @@ SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ ** has never appeared before, reuse the same variable number */ ynVar i; - for(i=0; inzVar; i++){ + for(i=x=0; inzVar; i++){ if( pParse->azVar[i] && strcmp(pParse->azVar[i],z)==0 ){ - pExpr->iColumn = x = (ynVar)i+1; + x = (ynVar)i+1; break; } } - if( x==0 ) x = pExpr->iColumn = (ynVar)(++pParse->nVar); + if( x==0 ) x = (ynVar)(++pParse->nVar); } - if( x>0 ){ - if( x>pParse->nzVar ){ - char **a; - a = sqlite3DbRealloc(db, pParse->azVar, x*sizeof(a[0])); - if( a==0 ){ - assert( db->mallocFailed ); /* Error reported through mallocFailed */ - return; - } - pParse->azVar = a; - memset(&a[pParse->nzVar], 0, (x-pParse->nzVar)*sizeof(a[0])); - pParse->nzVar = x; - } - if( z[0]!='?' || pParse->azVar[x-1]==0 ){ - sqlite3DbFree(db, pParse->azVar[x-1]); - pParse->azVar[x-1] = sqlite3DbStrNDup(db, z, n); + pExpr->iColumn = x; + if( x>pParse->nzVar ){ + char **a; + a = sqlite3DbRealloc(db, pParse->azVar, x*sizeof(a[0])); + if( a==0 ){ + assert( db->mallocFailed ); /* Error reported through mallocFailed */ + return; } + pParse->azVar = a; + memset(&a[pParse->nzVar], 0, (x-pParse->nzVar)*sizeof(a[0])); + pParse->nzVar = x; + } + if( pParse->azVar[x-1]==0 ){ + pParse->azVar[x-1] = sqlite3DbStrNDup(db, z, n); } } - if( !pParse->nErr && pParse->nVar>db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ){ + if( pParse->nVar>db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ){ sqlite3ErrorMsg(pParse, "too many SQL variables"); } } @@ -89697,18 +90730,25 @@ static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){ assert( p!=0 ); /* Sanity check: Assert that the IntValue is non-negative if it exists */ assert( !ExprHasProperty(p, EP_IntValue) || p->u.iValue>=0 ); - if( !ExprHasProperty(p, EP_TokenOnly) ){ +#ifdef SQLITE_DEBUG + if( ExprHasProperty(p, EP_Leaf) && !ExprHasProperty(p, EP_TokenOnly) ){ + assert( p->pLeft==0 ); + assert( p->pRight==0 ); + assert( p->x.pSelect==0 ); + } +#endif + if( !ExprHasProperty(p, (EP_TokenOnly|EP_Leaf)) ){ /* The Expr.x union is never used at the same time as Expr.pRight */ assert( p->x.pList==0 || p->pRight==0 ); - sqlite3ExprDelete(db, p->pLeft); + if( p->pLeft && p->op!=TK_SELECT_COLUMN ) sqlite3ExprDeleteNN(db, p->pLeft); sqlite3ExprDelete(db, p->pRight); - if( ExprHasProperty(p, EP_MemToken) ) sqlite3DbFree(db, p->u.zToken); if( ExprHasProperty(p, EP_xIsSelect) ){ sqlite3SelectDelete(db, p->x.pSelect); }else{ sqlite3ExprListDelete(db, p->x.pList); } } + if( ExprHasProperty(p, EP_MemToken) ) sqlite3DbFree(db, p->u.zToken); if( !ExprHasProperty(p, EP_Static) ){ sqlite3DbFree(db, p); } @@ -89885,7 +90925,7 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int dupFlags, u8 **pzBuffer){ memcpy(zToken, p->u.zToken, nToken); } - if( 0==((p->flags|pNew->flags) & EP_TokenOnly) ){ + if( 0==((p->flags|pNew->flags) & (EP_TokenOnly|EP_Leaf)) ){ /* Fill in the pNew->x.pSelect or pNew->x.pList member. */ if( ExprHasProperty(p, EP_xIsSelect) ){ pNew->x.pSelect = sqlite3SelectDup(db, p->x.pSelect, dupFlags); @@ -89897,7 +90937,7 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int dupFlags, u8 **pzBuffer){ /* Fill in pNew->pLeft and pNew->pRight. */ if( ExprHasProperty(pNew, EP_Reduced|EP_TokenOnly) ){ zAlloc += dupedExprNodeSize(p, dupFlags); - if( ExprHasProperty(pNew, EP_Reduced) ){ + if( !ExprHasProperty(pNew, EP_TokenOnly|EP_Leaf) ){ pNew->pLeft = p->pLeft ? exprDup(db, p->pLeft, EXPRDUP_REDUCE, &zAlloc) : 0; pNew->pRight = p->pRight ? @@ -89907,8 +90947,12 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int dupFlags, u8 **pzBuffer){ *pzBuffer = zAlloc; } }else{ - if( !ExprHasProperty(p, EP_TokenOnly) ){ - pNew->pLeft = sqlite3ExprDup(db, p->pLeft, 0); + if( !ExprHasProperty(p, EP_TokenOnly|EP_Leaf) ){ + if( pNew->op==TK_SELECT_COLUMN ){ + pNew->pLeft = p->pLeft; + }else{ + pNew->pLeft = sqlite3ExprDup(db, p->pLeft, 0); + } pNew->pRight = sqlite3ExprDup(db, p->pRight, 0); } } @@ -90149,6 +91193,60 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppend( return 0; } +/* +** pColumns and pExpr form a vector assignment which is part of the SET +** clause of an UPDATE statement. Like this: +** +** (a,b,c) = (expr1,expr2,expr3) +** Or: (a,b,c) = (SELECT x,y,z FROM ....) +** +** For each term of the vector assignment, append new entries to the +** expression list pList. In the case of a subquery on the LHS, append +** TK_SELECT_COLUMN expressions. +*/ +SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector( + Parse *pParse, /* Parsing context */ + ExprList *pList, /* List to which to append. Might be NULL */ + IdList *pColumns, /* List of names of LHS of the assignment */ + Expr *pExpr /* Vector expression to be appended. Might be NULL */ +){ + sqlite3 *db = pParse->db; + int n; + int i; + int iFirst = pList ? pList->nExpr : 0; + /* pColumns can only be NULL due to an OOM but an OOM will cause an + ** exit prior to this routine being invoked */ + if( NEVER(pColumns==0) ) goto vector_append_error; + if( pExpr==0 ) goto vector_append_error; + n = sqlite3ExprVectorSize(pExpr); + if( pColumns->nId!=n ){ + sqlite3ErrorMsg(pParse, "%d columns assigned %d values", + pColumns->nId, n); + goto vector_append_error; + } + for(i=0; inExpr==iFirst+i+1 ); + pList->a[pList->nExpr-1].zName = pColumns->a[i].zName; + pColumns->a[i].zName = 0; + } + } + if( pExpr->op==TK_SELECT ){ + if( pList && pList->a[iFirst].pExpr ){ + assert( pList->a[iFirst].pExpr->op==TK_SELECT_COLUMN ); + pList->a[iFirst].pExpr->pRight = pExpr; + pExpr = 0; + } + } + +vector_append_error: + sqlite3ExprDelete(db, pExpr); + sqlite3IdListDelete(db, pColumns); + return pList; +} + /* ** Set the sort order for the last element on the given ExprList. */ @@ -90556,8 +91654,8 @@ static Select *isCandidateForInOpt(Expr *pX){ Select *p; SrcList *pSrc; ExprList *pEList; - Expr *pRes; Table *pTab; + int i; if( !ExprHasProperty(pX, EP_xIsSelect) ) return 0; /* Not a subquery */ if( ExprHasProperty(pX, EP_VarSelect) ) return 0; /* Correlated subq */ p = pX->x.pSelect; @@ -90580,23 +91678,18 @@ static Select *isCandidateForInOpt(Expr *pX){ assert( pTab->pSelect==0 ); /* FROM clause is not a view */ if( IsVirtual(pTab) ) return 0; /* FROM clause not a virtual table */ pEList = p->pEList; - if( pEList->nExpr!=1 ) return 0; /* One column in the result set */ - pRes = pEList->a[0].pExpr; - if( pRes->op!=TK_COLUMN ) return 0; /* Result is a column */ - assert( pRes->iTable==pSrc->a[0].iCursor ); /* Not a correlated subquery */ + assert( pEList!=0 ); + /* All SELECT results must be columns. */ + for(i=0; inExpr; i++){ + Expr *pRes = pEList->a[i].pExpr; + if( pRes->op!=TK_COLUMN ) return 0; + assert( pRes->iTable==pSrc->a[0].iCursor ); /* Not a correlated subquery */ + } return p; } #endif /* SQLITE_OMIT_SUBQUERY */ -/* -** Code an OP_Once instruction and allocate space for its flag. Return the -** address of the new instruction. -*/ -SQLITE_PRIVATE int sqlite3CodeOnce(Parse *pParse){ - Vdbe *v = sqlite3GetVdbe(pParse); /* Virtual machine being coded */ - return sqlite3VdbeAddOp1(v, OP_Once, pParse->nOnce++); -} - +#ifndef SQLITE_OMIT_SUBQUERY /* ** Generate code that checks the left-most column of index table iCur to see if ** it contains any NULL entries. Cause the register at regHasNull to be set @@ -90612,6 +91705,7 @@ static void sqlite3SetHasNullFlag(Vdbe *v, int iCur, int regHasNull){ VdbeComment((v, "first_entry_in(%d)", iCur)); sqlite3VdbeJumpHere(v, addr1); } +#endif #ifndef SQLITE_OMIT_SUBQUERY @@ -90656,7 +91750,7 @@ static int sqlite3InRhsIsConstant(Expr *pIn){ ** An existing b-tree might be used if the RHS expression pX is a simple ** subquery such as: ** -** SELECT FROM +** SELECT , ... FROM
    ** ** If the RHS of the IN operator is a list or a more complex subquery, then ** an ephemeral table might need to be generated from the RHS and then @@ -90672,14 +91766,14 @@ static int sqlite3InRhsIsConstant(Expr *pIn){ ** ** When IN_INDEX_LOOP is used (and the b-tree will be used to iterate ** through the set members) then the b-tree must not contain duplicates. -** An epheremal table must be used unless the selected is guaranteed -** to be unique - either because it is an INTEGER PRIMARY KEY or it -** has a UNIQUE constraint or UNIQUE index. +** An epheremal table must be used unless the selected columns are guaranteed +** to be unique - either because it is an INTEGER PRIMARY KEY or due to +** a UNIQUE constraint or index. ** ** When IN_INDEX_MEMBERSHIP is used (and the b-tree will be used ** for fast set membership tests) then an epheremal table must -** be used unless is an INTEGER PRIMARY KEY or an index can -** be found with as its left-most column. +** be used unless is a single INTEGER PRIMARY KEY column or an +** index can be found with the specified as its left-most. ** ** If the IN_INDEX_NOOP_OK and IN_INDEX_MEMBERSHIP are both set and ** if the RHS of the IN operator is a list (not a subquery) then this @@ -90700,9 +91794,26 @@ static int sqlite3InRhsIsConstant(Expr *pIn){ ** the value in that register will be NULL if the b-tree contains one or more ** NULL values, and it will be some non-NULL value if the b-tree contains no ** NULL values. +** +** If the aiMap parameter is not NULL, it must point to an array containing +** one element for each column returned by the SELECT statement on the RHS +** of the IN(...) operator. The i'th entry of the array is populated with the +** offset of the index column that matches the i'th column returned by the +** SELECT. For example, if the expression and selected index are: +** +** (?,?,?) IN (SELECT a, b, c FROM t1) +** CREATE INDEX i1 ON t1(b, c, a); +** +** then aiMap[] is populated with {2, 0, 1}. */ #ifndef SQLITE_OMIT_SUBQUERY -SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int *prRhsHasNull){ +SQLITE_PRIVATE int sqlite3FindInIndex( + Parse *pParse, /* Parsing context */ + Expr *pX, /* The right-hand side (RHS) of the IN operator */ + u32 inFlags, /* IN_INDEX_LOOP, _MEMBERSHIP, and/or _NOOP_OK */ + int *prRhsHasNull, /* Register holding NULL status. See notes */ + int *aiMap /* Mapping from Index fields to RHS fields */ +){ Select *p; /* SELECT to the right of IN operator */ int eType = 0; /* Type of RHS table. IN_INDEX_* */ int iTab = pParse->nTab++; /* Cursor of the RHS table */ @@ -90712,36 +91823,46 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int assert( pX->op==TK_IN ); mustBeUnique = (inFlags & IN_INDEX_LOOP)!=0; + /* If the RHS of this IN(...) operator is a SELECT, and if it matters + ** whether or not the SELECT result contains NULL values, check whether + ** or not NULL is actually possible (it may not be, for example, due + ** to NOT NULL constraints in the schema). If no NULL values are possible, + ** set prRhsHasNull to 0 before continuing. */ + if( prRhsHasNull && (pX->flags & EP_xIsSelect) ){ + int i; + ExprList *pEList = pX->x.pSelect->pEList; + for(i=0; inExpr; i++){ + if( sqlite3ExprCanBeNull(pEList->a[i].pExpr) ) break; + } + if( i==pEList->nExpr ){ + prRhsHasNull = 0; + } + } + /* Check to see if an existing table or index can be used to ** satisfy the query. This is preferable to generating a new - ** ephemeral table. - */ + ** ephemeral table. */ if( pParse->nErr==0 && (p = isCandidateForInOpt(pX))!=0 ){ sqlite3 *db = pParse->db; /* Database connection */ Table *pTab; /* Table
    . */ - Expr *pExpr; /* Expression */ - i16 iCol; /* Index of column */ i16 iDb; /* Database idx for pTab */ + ExprList *pEList = p->pEList; + int nExpr = pEList->nExpr; assert( p->pEList!=0 ); /* Because of isCandidateForInOpt(p) */ assert( p->pEList->a[0].pExpr!=0 ); /* Because of isCandidateForInOpt(p) */ assert( p->pSrc!=0 ); /* Because of isCandidateForInOpt(p) */ pTab = p->pSrc->a[0].pTab; - pExpr = p->pEList->a[0].pExpr; - iCol = (i16)pExpr->iColumn; - + /* Code an OP_Transaction and OP_TableLock for
    . */ iDb = sqlite3SchemaToIndex(db, pTab->pSchema); sqlite3CodeVerifySchema(pParse, iDb); sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName); - /* This function is only called from two places. In both cases the vdbe - ** has already been allocated. So assume sqlite3GetVdbe() is always - ** successful here. - */ - assert(v); - if( iCol<0 ){ - int iAddr = sqlite3CodeOnce(pParse); + assert(v); /* sqlite3GetVdbe() has always been previously called */ + if( nExpr==1 && pEList->a[0].pExpr->iColumn<0 ){ + /* The "x IN (SELECT rowid FROM table)" case */ + int iAddr = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); sqlite3OpenTable(pParse, iTab, iDb, pTab, OP_OpenRead); @@ -90750,44 +91871,114 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int sqlite3VdbeJumpHere(v, iAddr); }else{ Index *pIdx; /* Iterator variable */ + int affinity_ok = 1; + int i; - /* The collation sequence used by the comparison. If an index is to - ** be used in place of a temp-table, it must be ordered according - ** to this collation sequence. */ - CollSeq *pReq = sqlite3BinaryCompareCollSeq(pParse, pX->pLeft, pExpr); - - /* Check that the affinity that will be used to perform the - ** comparison is the same as the affinity of the column. If - ** it is not, it is not possible to use any index. - */ - int affinity_ok = sqlite3IndexAffinityOk(pX, pTab->aCol[iCol].affinity); - - for(pIdx=pTab->pIndex; pIdx && eType==0 && affinity_ok; pIdx=pIdx->pNext){ - if( (pIdx->aiColumn[0]==iCol) - && sqlite3FindCollSeq(db, ENC(db), pIdx->azColl[0], 0)==pReq - && (!mustBeUnique || (pIdx->nKeyCol==1 && IsUniqueIndex(pIdx))) - ){ - int iAddr = sqlite3CodeOnce(pParse); VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_OpenRead, iTab, pIdx->tnum, iDb); - sqlite3VdbeSetP4KeyInfo(pParse, pIdx); - VdbeComment((v, "%s", pIdx->zName)); - assert( IN_INDEX_INDEX_DESC == IN_INDEX_INDEX_ASC+1 ); - eType = IN_INDEX_INDEX_ASC + pIdx->aSortOrder[0]; - - if( prRhsHasNull && !pTab->aCol[iCol].notNull ){ - *prRhsHasNull = ++pParse->nMem; - sqlite3SetHasNullFlag(v, iTab, *prRhsHasNull); + /* Check that the affinity that will be used to perform each + ** comparison is the same as the affinity of each column in table + ** on the RHS of the IN operator. If it not, it is not possible to + ** use any index of the RHS table. */ + for(i=0; ipLeft, i); + int iCol = pEList->a[i].pExpr->iColumn; + char idxaff = sqlite3TableColumnAffinity(pTab,iCol); /* RHS table */ + char cmpaff = sqlite3CompareAffinity(pLhs, idxaff); + testcase( cmpaff==SQLITE_AFF_BLOB ); + testcase( cmpaff==SQLITE_AFF_TEXT ); + switch( cmpaff ){ + case SQLITE_AFF_BLOB: + break; + case SQLITE_AFF_TEXT: + /* sqlite3CompareAffinity() only returns TEXT if one side or the + ** other has no affinity and the other side is TEXT. Hence, + ** the only way for cmpaff to be TEXT is for idxaff to be TEXT + ** and for the term on the LHS of the IN to have no affinity. */ + assert( idxaff==SQLITE_AFF_TEXT ); + break; + default: + affinity_ok = sqlite3IsNumericAffinity(idxaff); + } + } + + if( affinity_ok ){ + /* Search for an existing index that will work for this IN operator */ + for(pIdx=pTab->pIndex; pIdx && eType==0; pIdx=pIdx->pNext){ + Bitmask colUsed; /* Columns of the index used */ + Bitmask mCol; /* Mask for the current column */ + if( pIdx->nColumnnColumn==BMS-2 ); + testcase( pIdx->nColumn==BMS-1 ); + if( pIdx->nColumn>=BMS-1 ) continue; + if( mustBeUnique ){ + if( pIdx->nKeyCol>nExpr + ||(pIdx->nColumn>nExpr && !IsUniqueIndex(pIdx)) + ){ + continue; /* This index is not unique over the IN RHS columns */ + } } - sqlite3VdbeJumpHere(v, iAddr); - } - } - } - } + + colUsed = 0; /* Columns of index used so far */ + for(i=0; ipLeft, i); + Expr *pRhs = pEList->a[i].pExpr; + CollSeq *pReq = sqlite3BinaryCompareCollSeq(pParse, pLhs, pRhs); + int j; + + assert( pReq!=0 || pRhs->iColumn==XN_ROWID || pParse->nErr ); + for(j=0; jaiColumn[j]!=pRhs->iColumn ) continue; + assert( pIdx->azColl[j] ); + if( pReq!=0 && sqlite3StrICmp(pReq->zName, pIdx->azColl[j])!=0 ){ + continue; + } + break; + } + if( j==nExpr ) break; + mCol = MASKBIT(j); + if( mCol & colUsed ) break; /* Each column used only once */ + colUsed |= mCol; + if( aiMap ) aiMap[i] = j; + } + + assert( i==nExpr || colUsed!=(MASKBIT(nExpr)-1) ); + if( colUsed==(MASKBIT(nExpr)-1) ){ + /* If we reach this point, that means the index pIdx is usable */ + int iAddr = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); +#ifndef SQLITE_OMIT_EXPLAIN + sqlite3VdbeAddOp4(v, OP_Explain, 0, 0, 0, + sqlite3MPrintf(db, "USING INDEX %s FOR IN-OPERATOR",pIdx->zName), + P4_DYNAMIC); +#endif + sqlite3VdbeAddOp3(v, OP_OpenRead, iTab, pIdx->tnum, iDb); + sqlite3VdbeSetP4KeyInfo(pParse, pIdx); + VdbeComment((v, "%s", pIdx->zName)); + assert( IN_INDEX_INDEX_DESC == IN_INDEX_INDEX_ASC+1 ); + eType = IN_INDEX_INDEX_ASC + pIdx->aSortOrder[0]; + + if( prRhsHasNull ){ +#ifdef SQLITE_ENABLE_COLUMN_USED_MASK + i64 mask = (1<nMem; + if( nExpr==1 ){ + sqlite3SetHasNullFlag(v, iTab, *prRhsHasNull); + } + } + sqlite3VdbeJumpHere(v, iAddr); + } + } /* End loop over indexes */ + } /* End if( affinity_ok ) */ + } /* End if not an rowid index */ + } /* End attempt to optimize using an index */ /* If no preexisting index is available for the IN clause ** and IN_INDEX_NOOP is an allowed reply ** and the RHS of the IN operator is a list, not a subquery - ** and the RHS is not contant or has two or fewer terms, + ** and the RHS is not constant or has two or fewer terms, ** then it is not worth creating an ephemeral table to evaluate ** the IN operator so return IN_INDEX_NOOP. */ @@ -90798,7 +91989,6 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int ){ eType = IN_INDEX_NOOP; } - if( eType==0 ){ /* Could not find an existing table or index to use as the RHS b-tree. @@ -90820,10 +92010,63 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int }else{ pX->iTable = iTab; } + + if( aiMap && eType!=IN_INDEX_INDEX_ASC && eType!=IN_INDEX_INDEX_DESC ){ + int i, n; + n = sqlite3ExprVectorSize(pX->pLeft); + for(i=0; ipLeft; + int nVal = sqlite3ExprVectorSize(pLeft); + Select *pSelect = (pExpr->flags & EP_xIsSelect) ? pExpr->x.pSelect : 0; + char *zRet; + + assert( pExpr->op==TK_IN ); + zRet = sqlite3DbMallocZero(pParse->db, nVal+1); + if( zRet ){ + int i; + for(i=0; ipEList->a[i].pExpr, a); + }else{ + zRet[i] = a; + } + } + zRet[nVal] = '\0'; + } + return zRet; +} +#endif + +#ifndef SQLITE_OMIT_SUBQUERY +/* +** Load the Parse object passed as the first argument with an error +** message of the form: +** +** "sub-select returns N columns - expected M" +*/ +SQLITE_PRIVATE void sqlite3SubselectError(Parse *pParse, int nActual, int nExpect){ + const char *zFmt = "sub-select returns %d columns - expected %d"; + sqlite3ErrorMsg(pParse, zFmt, nActual, nExpect); +} +#endif + /* ** Generate code for scalar subqueries used as a subquery expression, EXISTS, ** or IN operators. Examples: @@ -90849,7 +92092,9 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int ** value to non-NULL if the RHS is NULL-free. ** ** For a SELECT or EXISTS operator, return the register that holds the -** result. For IN operators or if an error occurs, the return value is 0. +** result. For a multi-column SELECT, the result is stored in a contiguous +** array of registers and the return value is the register of the left-most +** result column. Return 0 for IN operators or if an error occurs. */ #ifndef SQLITE_OMIT_SUBQUERY SQLITE_PRIVATE int sqlite3CodeSubselect( @@ -90864,8 +92109,8 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( if( NEVER(v==0) ) return 0; sqlite3ExprCachePush(pParse); - /* This code must be run in its entirety every time it is encountered - ** if any of the following is true: + /* The evaluation of the IN/EXISTS/SELECT must be repeated every time it + ** is encountered if any of the following is true: ** ** * The right-hand side is a correlated subquery ** * The right-hand side is an expression list containing variables @@ -90875,7 +92120,7 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( ** save the results, and reuse the same result on subsequent invocations. */ if( !ExprHasProperty(pExpr, EP_VarSelect) ){ - jmpIfDynamic = sqlite3CodeOnce(pParse); VdbeCoverage(v); + jmpIfDynamic = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); } #ifndef SQLITE_OMIT_EXPLAIN @@ -90891,17 +92136,18 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( switch( pExpr->op ){ case TK_IN: { - char affinity; /* Affinity of the LHS of the IN */ int addr; /* Address of OP_OpenEphemeral instruction */ Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */ KeyInfo *pKeyInfo = 0; /* Key information */ - - affinity = sqlite3ExprAffinity(pLeft); + int nVal; /* Size of vector pLeft */ + + nVal = sqlite3ExprVectorSize(pLeft); + assert( !isRowid || nVal==1 ); /* Whether this is an 'x IN(SELECT...)' or an 'x IN()' ** expression it is handled the same way. An ephemeral table is - ** filled with single-field index keys representing the results - ** from the SELECT or the . + ** filled with index keys representing the results from the + ** SELECT or the . ** ** If the 'x' expression is a column value, or the SELECT... ** statement returns a column value, then the affinity of that @@ -90912,8 +92158,9 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( ** is used. */ pExpr->iTable = pParse->nTab++; - addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pExpr->iTable, !isRowid); - pKeyInfo = isRowid ? 0 : sqlite3KeyInfoAlloc(pParse->db, 1, 1); + addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, + pExpr->iTable, (isRowid?0:nVal)); + pKeyInfo = isRowid ? 0 : sqlite3KeyInfoAlloc(pParse->db, nVal, 1); if( ExprHasProperty(pExpr, EP_xIsSelect) ){ /* Case 1: expr IN (SELECT ...) @@ -90922,27 +92169,37 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( ** table allocated and opened above. */ Select *pSelect = pExpr->x.pSelect; - SelectDest dest; - ExprList *pEList; + ExprList *pEList = pSelect->pEList; assert( !isRowid ); - sqlite3SelectDestInit(&dest, SRT_Set, pExpr->iTable); - dest.affSdst = (u8)affinity; - assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable ); - pSelect->iLimit = 0; - testcase( pSelect->selFlags & SF_Distinct ); - testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */ - if( sqlite3Select(pParse, pSelect, &dest) ){ - sqlite3KeyInfoUnref(pKeyInfo); - return 0; + /* If the LHS and RHS of the IN operator do not match, that + ** error will have been caught long before we reach this point. */ + if( ALWAYS(pEList->nExpr==nVal) ){ + SelectDest dest; + int i; + sqlite3SelectDestInit(&dest, SRT_Set, pExpr->iTable); + dest.zAffSdst = exprINAffinity(pParse, pExpr); + assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable ); + pSelect->iLimit = 0; + testcase( pSelect->selFlags & SF_Distinct ); + testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */ + if( sqlite3Select(pParse, pSelect, &dest) ){ + sqlite3DbFree(pParse->db, dest.zAffSdst); + sqlite3KeyInfoUnref(pKeyInfo); + return 0; + } + sqlite3DbFree(pParse->db, dest.zAffSdst); + assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */ + assert( pEList!=0 ); + assert( pEList->nExpr>0 ); + assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); + for(i=0; iaColl[i] = sqlite3BinaryCompareCollSeq( + pParse, p, pEList->a[i].pExpr + ); + } } - pEList = pSelect->pEList; - assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */ - assert( pEList!=0 ); - assert( pEList->nExpr>0 ); - assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); - pKeyInfo->aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, - pEList->a[0].pExpr); }else if( ALWAYS(pExpr->x.pList!=0) ){ /* Case 2: expr IN (exprlist) ** @@ -90951,11 +92208,13 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( ** that columns affinity when building index keys. If is not ** a column, use numeric affinity. */ + char affinity; /* Affinity of the LHS of the IN */ int i; ExprList *pList = pExpr->x.pList; struct ExprList_item *pItem; int r1, r2, r3; + affinity = sqlite3ExprAffinity(pLeft); if( !affinity ){ affinity = SQLITE_AFF_BLOB; } @@ -91011,26 +92270,37 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( case TK_EXISTS: case TK_SELECT: default: { - /* If this has to be a scalar SELECT. Generate code to put the - ** value of this select in a memory cell and record the number - ** of the memory cell in iColumn. If this is an EXISTS, write - ** an integer 0 (not exists) or 1 (exists) into a memory cell - ** and record that memory cell in iColumn. + /* Case 3: (SELECT ... FROM ...) + ** or: EXISTS(SELECT ... FROM ...) + ** + ** For a SELECT, generate code to put the values for all columns of + ** the first row into an array of registers and return the index of + ** the first register. + ** + ** If this is an EXISTS, write an integer 0 (not exists) or 1 (exists) + ** into a register and return that register number. + ** + ** In both cases, the query is augmented with "LIMIT 1". Any + ** preexisting limit is discarded in place of the new LIMIT 1. */ Select *pSel; /* SELECT statement to encode */ - SelectDest dest; /* How to deal with SELECt result */ + SelectDest dest; /* How to deal with SELECT result */ + int nReg; /* Registers to allocate */ testcase( pExpr->op==TK_EXISTS ); testcase( pExpr->op==TK_SELECT ); assert( pExpr->op==TK_EXISTS || pExpr->op==TK_SELECT ); - assert( ExprHasProperty(pExpr, EP_xIsSelect) ); + pSel = pExpr->x.pSelect; - sqlite3SelectDestInit(&dest, 0, ++pParse->nMem); + nReg = pExpr->op==TK_SELECT ? pSel->pEList->nExpr : 1; + sqlite3SelectDestInit(&dest, 0, pParse->nMem+1); + pParse->nMem += nReg; if( pExpr->op==TK_SELECT ){ dest.eDest = SRT_Mem; dest.iSdst = dest.iSDParm; - sqlite3VdbeAddOp2(v, OP_Null, 0, dest.iSDParm); + dest.nSdst = nReg; + sqlite3VdbeAddOp3(v, OP_Null, 0, dest.iSDParm, dest.iSDParm+nReg-1); VdbeComment((v, "Init subquery result")); }else{ dest.eDest = SRT_Exists; @@ -91038,8 +92308,8 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( VdbeComment((v, "Init EXISTS result")); } sqlite3ExprDelete(pParse->db, pSel->pLimit); - pSel->pLimit = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, - &sqlite3IntTokens[1]); + pSel->pLimit = sqlite3ExprAlloc(pParse->db, TK_INTEGER, + &sqlite3IntTokens[1], 0); pSel->iLimit = 0; pSel->selFlags &= ~SF_MultiValue; if( sqlite3Select(pParse, pSel, &dest) ){ @@ -91064,6 +92334,32 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( } #endif /* SQLITE_OMIT_SUBQUERY */ +#ifndef SQLITE_OMIT_SUBQUERY +/* +** Expr pIn is an IN(...) expression. This function checks that the +** sub-select on the RHS of the IN() operator has the same number of +** columns as the vector on the LHS. Or, if the RHS of the IN() is not +** a sub-query, that the LHS is a vector of size 1. +*/ +SQLITE_PRIVATE int sqlite3ExprCheckIN(Parse *pParse, Expr *pIn){ + int nVector = sqlite3ExprVectorSize(pIn->pLeft); + if( (pIn->flags & EP_xIsSelect) ){ + if( nVector!=pIn->x.pSelect->pEList->nExpr ){ + sqlite3SubselectError(pParse, pIn->x.pSelect->pEList->nExpr, nVector); + return 1; + } + }else if( nVector!=1 ){ + if( (pIn->pLeft->flags & EP_xIsSelect) ){ + sqlite3SubselectError(pParse, nVector, 1); + }else{ + sqlite3ErrorMsg(pParse, "row value misused"); + } + return 1; + } + return 0; +} +#endif + #ifndef SQLITE_OMIT_SUBQUERY /* ** Generate code for an IN expression. @@ -91071,16 +92367,24 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( ** x IN (SELECT ...) ** x IN (value, value, ...) ** -** The left-hand side (LHS) is a scalar expression. The right-hand side (RHS) -** is an array of zero or more values. The expression is true if the LHS is -** contained within the RHS. The value of the expression is unknown (NULL) -** if the LHS is NULL or if the LHS is not contained within the RHS and the -** RHS contains one or more NULL values. +** The left-hand side (LHS) is a scalar or vector expression. The +** right-hand side (RHS) is an array of zero or more scalar values, or a +** subquery. If the RHS is a subquery, the number of result columns must +** match the number of columns in the vector on the LHS. If the RHS is +** a list of values, the LHS must be a scalar. +** +** The IN operator is true if the LHS value is contained within the RHS. +** The result is false if the LHS is definitely not in the RHS. The +** result is NULL if the presence of the LHS in the RHS cannot be +** determined due to NULLs. ** ** This routine generates code that jumps to destIfFalse if the LHS is not ** contained within the RHS. If due to NULLs we cannot determine if the LHS ** is contained in the RHS then jump to destIfNull. If the LHS is contained ** within the RHS then fall through. +** +** See the separate in-operator.md documentation file in the canonical +** SQLite source tree for additional information. */ static void sqlite3ExprCodeIN( Parse *pParse, /* Parsing and code generating context */ @@ -91089,36 +92393,83 @@ static void sqlite3ExprCodeIN( int destIfNull /* Jump here if the results are unknown due to NULLs */ ){ int rRhsHasNull = 0; /* Register that is true if RHS contains NULL values */ - char affinity; /* Comparison affinity to use */ int eType; /* Type of the RHS */ - int r1; /* Temporary use register */ + int rLhs; /* Register(s) holding the LHS values */ + int rLhsOrig; /* LHS values prior to reordering by aiMap[] */ Vdbe *v; /* Statement under construction */ + int *aiMap = 0; /* Map from vector field to index column */ + char *zAff = 0; /* Affinity string for comparisons */ + int nVector; /* Size of vectors for this IN operator */ + int iDummy; /* Dummy parameter to exprCodeVector() */ + Expr *pLeft; /* The LHS of the IN operator */ + int i; /* loop counter */ + int destStep2; /* Where to jump when NULLs seen in step 2 */ + int destStep6 = 0; /* Start of code for Step 6 */ + int addrTruthOp; /* Address of opcode that determines the IN is true */ + int destNotNull; /* Jump here if a comparison is not true in step 6 */ + int addrTop; /* Top of the step-6 loop */ + + pLeft = pExpr->pLeft; + if( sqlite3ExprCheckIN(pParse, pExpr) ) return; + zAff = exprINAffinity(pParse, pExpr); + nVector = sqlite3ExprVectorSize(pExpr->pLeft); + aiMap = (int*)sqlite3DbMallocZero( + pParse->db, nVector*(sizeof(int) + sizeof(char)) + 1 + ); + if( pParse->db->mallocFailed ) goto sqlite3ExprCodeIN_oom_error; - /* Compute the RHS. After this step, the table with cursor - ** pExpr->iTable will contains the values that make up the RHS. - */ + /* Attempt to compute the RHS. After this step, if anything other than + ** IN_INDEX_NOOP is returned, the table opened ith cursor pExpr->iTable + ** contains the values that make up the RHS. If IN_INDEX_NOOP is returned, + ** the RHS has not yet been coded. */ v = pParse->pVdbe; assert( v!=0 ); /* OOM detected prior to this routine */ VdbeNoopComment((v, "begin IN expr")); eType = sqlite3FindInIndex(pParse, pExpr, IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK, - destIfFalse==destIfNull ? 0 : &rRhsHasNull); + destIfFalse==destIfNull ? 0 : &rRhsHasNull, aiMap); - /* Figure out the affinity to use to create a key from the results - ** of the expression. affinityStr stores a static string suitable for - ** P4 of OP_MakeRecord. - */ - affinity = comparisonAffinity(pExpr); + assert( pParse->nErr || nVector==1 || eType==IN_INDEX_EPH + || eType==IN_INDEX_INDEX_ASC || eType==IN_INDEX_INDEX_DESC + ); +#ifdef SQLITE_DEBUG + /* Confirm that aiMap[] contains nVector integer values between 0 and + ** nVector-1. */ + for(i=0; i from " IN (...)". + /* Code the LHS, the from " IN (...)". If the LHS is a + ** vector, then it is stored in an array of nVector registers starting + ** at r1. + ** + ** sqlite3FindInIndex() might have reordered the fields of the LHS vector + ** so that the fields are in the same order as an existing index. The + ** aiMap[] array contains a mapping from the original LHS field order to + ** the field order that matches the RHS index. */ sqlite3ExprCachePush(pParse); - r1 = sqlite3GetTempReg(pParse); - sqlite3ExprCode(pParse, pExpr->pLeft, r1); + rLhsOrig = exprCodeVector(pParse, pLeft, &iDummy); + for(i=0; ix.pList; @@ -91130,7 +92481,7 @@ static void sqlite3ExprCodeIN( assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); if( destIfNull!=destIfFalse ){ regCkNull = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_BitAnd, r1, r1, regCkNull); + sqlite3VdbeAddOp3(v, OP_BitAnd, rLhs, rLhs, regCkNull); } for(ii=0; iinExpr; ii++){ r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree); @@ -91138,16 +92489,16 @@ static void sqlite3ExprCodeIN( sqlite3VdbeAddOp3(v, OP_BitAnd, regCkNull, r2, regCkNull); } if( iinExpr-1 || destIfNull!=destIfFalse ){ - sqlite3VdbeAddOp4(v, OP_Eq, r1, labelOk, r2, + sqlite3VdbeAddOp4(v, OP_Eq, rLhs, labelOk, r2, (void*)pColl, P4_COLLSEQ); VdbeCoverageIf(v, iinExpr-1); VdbeCoverageIf(v, ii==pList->nExpr-1); - sqlite3VdbeChangeP5(v, affinity); + sqlite3VdbeChangeP5(v, zAff[0]); }else{ assert( destIfNull==destIfFalse ); - sqlite3VdbeAddOp4(v, OP_Ne, r1, destIfFalse, r2, + sqlite3VdbeAddOp4(v, OP_Ne, rLhs, destIfFalse, r2, (void*)pColl, P4_COLLSEQ); VdbeCoverage(v); - sqlite3VdbeChangeP5(v, affinity | SQLITE_JUMPIFNULL); + sqlite3VdbeChangeP5(v, zAff[0] | SQLITE_JUMPIFNULL); } sqlite3ReleaseTempReg(pParse, regToFree); } @@ -91157,78 +92508,113 @@ static void sqlite3ExprCodeIN( } sqlite3VdbeResolveLabel(v, labelOk); sqlite3ReleaseTempReg(pParse, regCkNull); + goto sqlite3ExprCodeIN_finished; + } + + /* Step 2: Check to see if the LHS contains any NULL columns. If the + ** LHS does contain NULLs then the result must be either FALSE or NULL. + ** We will then skip the binary search of the RHS. + */ + if( destIfNull==destIfFalse ){ + destStep2 = destIfFalse; }else{ - - /* If the LHS is NULL, then the result is either false or NULL depending - ** on whether the RHS is empty or not, respectively. - */ - if( sqlite3ExprCanBeNull(pExpr->pLeft) ){ - if( destIfNull==destIfFalse ){ - /* Shortcut for the common case where the false and NULL outcomes are - ** the same. */ - sqlite3VdbeAddOp2(v, OP_IsNull, r1, destIfNull); VdbeCoverage(v); - }else{ - int addr1 = sqlite3VdbeAddOp1(v, OP_NotNull, r1); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Rewind, pExpr->iTable, destIfFalse); - VdbeCoverage(v); - sqlite3VdbeGoto(v, destIfNull); - sqlite3VdbeJumpHere(v, addr1); - } - } - - if( eType==IN_INDEX_ROWID ){ - /* In this case, the RHS is the ROWID of table b-tree - */ - sqlite3VdbeAddOp2(v, OP_MustBeInt, r1, destIfFalse); VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_NotExists, pExpr->iTable, destIfFalse, r1); + destStep2 = destStep6 = sqlite3VdbeMakeLabel(v); + } + for(i=0; ipLeft, i); + if( sqlite3ExprCanBeNull(p) ){ + sqlite3VdbeAddOp2(v, OP_IsNull, rLhs+i, destStep2); VdbeCoverage(v); - }else{ - /* In this case, the RHS is an index b-tree. - */ - sqlite3VdbeAddOp4(v, OP_Affinity, r1, 1, 0, &affinity, 1); - - /* If the set membership test fails, then the result of the - ** "x IN (...)" expression must be either 0 or NULL. If the set - ** contains no NULL values, then the result is 0. If the set - ** contains one or more NULL values, then the result of the - ** expression is also NULL. - */ - assert( destIfFalse!=destIfNull || rRhsHasNull==0 ); - if( rRhsHasNull==0 ){ - /* This branch runs if it is known at compile time that the RHS - ** cannot contain NULL values. This happens as the result - ** of a "NOT NULL" constraint in the database schema. - ** - ** Also run this branch if NULL is equivalent to FALSE - ** for this particular IN operator. - */ - sqlite3VdbeAddOp4Int(v, OP_NotFound, pExpr->iTable, destIfFalse, r1, 1); - VdbeCoverage(v); - }else{ - /* In this branch, the RHS of the IN might contain a NULL and - ** the presence of a NULL on the RHS makes a difference in the - ** outcome. - */ - int addr1; - - /* First check to see if the LHS is contained in the RHS. If so, - ** then the answer is TRUE the presence of NULLs in the RHS does - ** not matter. If the LHS is not contained in the RHS, then the - ** answer is NULL if the RHS contains NULLs and the answer is - ** FALSE if the RHS is NULL-free. - */ - addr1 = sqlite3VdbeAddOp4Int(v, OP_Found, pExpr->iTable, 0, r1, 1); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_IsNull, rRhsHasNull, destIfNull); - VdbeCoverage(v); - sqlite3VdbeGoto(v, destIfFalse); - sqlite3VdbeJumpHere(v, addr1); - } } } - sqlite3ReleaseTempReg(pParse, r1); + + /* Step 3. The LHS is now known to be non-NULL. Do the binary search + ** of the RHS using the LHS as a probe. If found, the result is + ** true. + */ + if( eType==IN_INDEX_ROWID ){ + /* In this case, the RHS is the ROWID of table b-tree and so we also + ** know that the RHS is non-NULL. Hence, we combine steps 3 and 4 + ** into a single opcode. */ + sqlite3VdbeAddOp3(v, OP_SeekRowid, pExpr->iTable, destIfFalse, rLhs); + VdbeCoverage(v); + addrTruthOp = sqlite3VdbeAddOp0(v, OP_Goto); /* Return True */ + }else{ + sqlite3VdbeAddOp4(v, OP_Affinity, rLhs, nVector, 0, zAff, nVector); + if( destIfFalse==destIfNull ){ + /* Combine Step 3 and Step 5 into a single opcode */ + sqlite3VdbeAddOp4Int(v, OP_NotFound, pExpr->iTable, destIfFalse, + rLhs, nVector); VdbeCoverage(v); + goto sqlite3ExprCodeIN_finished; + } + /* Ordinary Step 3, for the case where FALSE and NULL are distinct */ + addrTruthOp = sqlite3VdbeAddOp4Int(v, OP_Found, pExpr->iTable, 0, + rLhs, nVector); VdbeCoverage(v); + } + + /* Step 4. If the RHS is known to be non-NULL and we did not find + ** an match on the search above, then the result must be FALSE. + */ + if( rRhsHasNull && nVector==1 ){ + sqlite3VdbeAddOp2(v, OP_NotNull, rRhsHasNull, destIfFalse); + VdbeCoverage(v); + } + + /* Step 5. If we do not care about the difference between NULL and + ** FALSE, then just return false. + */ + if( destIfFalse==destIfNull ) sqlite3VdbeGoto(v, destIfFalse); + + /* Step 6: Loop through rows of the RHS. Compare each row to the LHS. + ** If any comparison is NULL, then the result is NULL. If all + ** comparisons are FALSE then the final result is FALSE. + ** + ** For a scalar LHS, it is sufficient to check just the first row + ** of the RHS. + */ + if( destStep6 ) sqlite3VdbeResolveLabel(v, destStep6); + addrTop = sqlite3VdbeAddOp2(v, OP_Rewind, pExpr->iTable, destIfFalse); + VdbeCoverage(v); + if( nVector>1 ){ + destNotNull = sqlite3VdbeMakeLabel(v); + }else{ + /* For nVector==1, combine steps 6 and 7 by immediately returning + ** FALSE if the first comparison is not NULL */ + destNotNull = destIfFalse; + } + for(i=0; iiTable, i, r3); + sqlite3VdbeAddOp4(v, OP_Ne, rLhs+i, destNotNull, r3, + (void*)pColl, P4_COLLSEQ); + VdbeCoverage(v); + sqlite3ReleaseTempReg(pParse, r3); + } + sqlite3VdbeAddOp2(v, OP_Goto, 0, destIfNull); + if( nVector>1 ){ + sqlite3VdbeResolveLabel(v, destNotNull); + sqlite3VdbeAddOp2(v, OP_Next, pExpr->iTable, addrTop+1); + VdbeCoverage(v); + + /* Step 7: If we reach this point, we know that the result must + ** be false. */ + sqlite3VdbeAddOp2(v, OP_Goto, 0, destIfFalse); + } + + /* Jumps here in order to return true. */ + sqlite3VdbeJumpHere(v, addrTruthOp); + +sqlite3ExprCodeIN_finished: + if( rLhs!=rLhsOrig ) sqlite3ReleaseTempReg(pParse, rLhs); sqlite3ExprCachePop(pParse); VdbeComment((v, "end IN expr")); +sqlite3ExprCodeIN_oom_error: + sqlite3DbFree(pParse->db, aiMap); + sqlite3DbFree(pParse->db, zAff); } #endif /* SQLITE_OMIT_SUBQUERY */ @@ -91292,32 +92678,19 @@ static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){ } } -#if defined(SQLITE_DEBUG) /* -** Verify the consistency of the column cache +** Erase column-cache entry number i */ -static int cacheIsValid(Parse *pParse){ - int i, n; - for(i=n=0; iaColCache[i].iReg>0 ) n++; - } - return n==pParse->nColCache; -} -#endif - -/* -** Clear a cache entry. -*/ -static void cacheEntryClear(Parse *pParse, struct yColCache *p){ - if( p->tempReg ){ +static void cacheEntryClear(Parse *pParse, int i){ + if( pParse->aColCache[i].tempReg ){ if( pParse->nTempRegaTempReg) ){ - pParse->aTempReg[pParse->nTempReg++] = p->iReg; + pParse->aTempReg[pParse->nTempReg++] = pParse->aColCache[i].iReg; } - p->tempReg = 0; } - p->iReg = 0; pParse->nColCache--; - assert( pParse->db->mallocFailed || cacheIsValid(pParse) ); + if( inColCache ){ + pParse->aColCache[i] = pParse->aColCache[pParse->nColCache]; + } } @@ -91347,46 +92720,33 @@ SQLITE_PRIVATE void sqlite3ExprCacheStore(Parse *pParse, int iTab, int iCol, int ** that the object will never already be in cache. Verify this guarantee. */ #ifndef NDEBUG - for(i=0, p=pParse->aColCache; iiReg==0 || p->iTable!=iTab || p->iColumn!=iCol ); + for(i=0, p=pParse->aColCache; inColCache; i++, p++){ + assert( p->iTable!=iTab || p->iColumn!=iCol ); } #endif - /* Find an empty slot and replace it */ - for(i=0, p=pParse->aColCache; iiReg==0 ){ - p->iLevel = pParse->iCacheLevel; - p->iTable = iTab; - p->iColumn = iCol; - p->iReg = iReg; - p->tempReg = 0; - p->lru = pParse->iCacheCnt++; - pParse->nColCache++; - assert( pParse->db->mallocFailed || cacheIsValid(pParse) ); - return; - } - } - - /* Replace the last recently used */ - minLru = 0x7fffffff; - idxLru = -1; - for(i=0, p=pParse->aColCache; ilrulru; + /* If the cache is already full, delete the least recently used entry */ + if( pParse->nColCache>=SQLITE_N_COLCACHE ){ + minLru = 0x7fffffff; + idxLru = -1; + for(i=0, p=pParse->aColCache; ilrulru; + } } - } - if( ALWAYS(idxLru>=0) ){ p = &pParse->aColCache[idxLru]; - p->iLevel = pParse->iCacheLevel; - p->iTable = iTab; - p->iColumn = iCol; - p->iReg = iReg; - p->tempReg = 0; - p->lru = pParse->iCacheCnt++; - assert( cacheIsValid(pParse) ); - return; + }else{ + p = &pParse->aColCache[pParse->nColCache++]; } + + /* Add the new entry to the end of the cache */ + p->iLevel = pParse->iCacheLevel; + p->iTable = iTab; + p->iColumn = iCol; + p->iReg = iReg; + p->tempReg = 0; + p->lru = pParse->iCacheCnt++; } /* @@ -91394,13 +92754,14 @@ SQLITE_PRIVATE void sqlite3ExprCacheStore(Parse *pParse, int iTab, int iCol, int ** Purge the range of registers from the column cache. */ SQLITE_PRIVATE void sqlite3ExprCacheRemove(Parse *pParse, int iReg, int nReg){ - struct yColCache *p; - if( iReg<=0 || pParse->nColCache==0 ) return; - p = &pParse->aColCache[SQLITE_N_COLCACHE-1]; - while(1){ - if( p->iReg >= iReg && p->iReg < iReg+nReg ) cacheEntryClear(pParse, p); - if( p==pParse->aColCache ) break; - p--; + int i = 0; + while( inColCache ){ + struct yColCache *p = &pParse->aColCache[i]; + if( p->iReg >= iReg && p->iReg < iReg+nReg ){ + cacheEntryClear(pParse, i); + }else{ + i++; + } } } @@ -91424,8 +92785,7 @@ SQLITE_PRIVATE void sqlite3ExprCachePush(Parse *pParse){ ** the cache to the state it was in prior the most recent Push. */ SQLITE_PRIVATE void sqlite3ExprCachePop(Parse *pParse){ - int i; - struct yColCache *p; + int i = 0; assert( pParse->iCacheLevel>=1 ); pParse->iCacheLevel--; #ifdef SQLITE_DEBUG @@ -91433,9 +92793,11 @@ SQLITE_PRIVATE void sqlite3ExprCachePop(Parse *pParse){ printf("POP to %d\n", pParse->iCacheLevel); } #endif - for(i=0, p=pParse->aColCache; iiReg && p->iLevel>pParse->iCacheLevel ){ - cacheEntryClear(pParse, p); + while( inColCache ){ + if( pParse->aColCache[i].iLevel>pParse->iCacheLevel ){ + cacheEntryClear(pParse, i); + }else{ + i++; } } } @@ -91449,7 +92811,7 @@ SQLITE_PRIVATE void sqlite3ExprCachePop(Parse *pParse){ static void sqlite3ExprCachePinRegister(Parse *pParse, int iReg){ int i; struct yColCache *p; - for(i=0, p=pParse->aColCache; iaColCache; inColCache; i++, p++){ if( p->iReg==iReg ){ p->tempReg = 0; } @@ -91493,7 +92855,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeGetColumnOfTable( }else{ int op = IsVirtual(pTab) ? OP_VColumn : OP_Column; int x = iCol; - if( !HasRowid(pTab) ){ + if( !HasRowid(pTab) && !IsVirtual(pTab) ){ x = sqlite3ColumnOfIndex(sqlite3PrimaryKeyIndex(pTab), iCol); } sqlite3VdbeAddOp3(v, op, iTabCur, x, regOut); @@ -91527,8 +92889,8 @@ SQLITE_PRIVATE int sqlite3ExprCodeGetColumn( int i; struct yColCache *p; - for(i=0, p=pParse->aColCache; iiReg>0 && p->iTable==iTable && p->iColumn==iColumn ){ + for(i=0, p=pParse->aColCache; inColCache; i++, p++){ + if( p->iTable==iTable && p->iColumn==iColumn ){ p->lru = pParse->iCacheCnt++; sqlite3ExprCachePinRegister(pParse, p->iReg); return p->iReg; @@ -91560,18 +92922,20 @@ SQLITE_PRIVATE void sqlite3ExprCodeGetColumnToReg( */ SQLITE_PRIVATE void sqlite3ExprCacheClear(Parse *pParse){ int i; - struct yColCache *p; #if SQLITE_DEBUG if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ printf("CLEAR\n"); } #endif - for(i=0, p=pParse->aColCache; iiReg ){ - cacheEntryClear(pParse, p); + for(i=0; inColCache; i++){ + if( pParse->aColCache[i].tempReg + && pParse->nTempRegaTempReg) + ){ + pParse->aTempReg[pParse->nTempReg++] = pParse->aColCache[i].iReg; } } + pParse->nColCache = 0; } /* @@ -91603,7 +92967,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeMove(Parse *pParse, int iFrom, int iTo, int n static int usedAsColumnCache(Parse *pParse, int iFrom, int iTo){ int i; struct yColCache *p; - for(i=0, p=pParse->aColCache; iaColCache; inColCache; i++, p++){ int r = p->iReg; if( r>=iFrom && r<=iTo ) return 1; /*NO_TEST*/ } @@ -91613,7 +92977,9 @@ static int usedAsColumnCache(Parse *pParse, int iFrom, int iTo){ /* -** Convert an expression node to a TK_REGISTER +** Convert a scalar expression node to a TK_REGISTER referencing +** register iReg. The caller must ensure that iReg already contains +** the correct value for the expression. */ static void exprToRegister(Expr *p, int iReg){ p->op2 = p->op; @@ -91622,6 +92988,38 @@ static void exprToRegister(Expr *p, int iReg){ ExprClearProperty(p, EP_Skip); } +/* +** Evaluate an expression (either a vector or a scalar expression) and store +** the result in continguous temporary registers. Return the index of +** the first register used to store the result. +** +** If the returned result register is a temporary scalar, then also write +** that register number into *piFreeable. If the returned result register +** is not a temporary or if the expression is a vector set *piFreeable +** to 0. +*/ +static int exprCodeVector(Parse *pParse, Expr *p, int *piFreeable){ + int iResult; + int nResult = sqlite3ExprVectorSize(p); + if( nResult==1 ){ + iResult = sqlite3ExprCodeTemp(pParse, p, piFreeable); + }else{ + *piFreeable = 0; + if( p->op==TK_SELECT ){ + iResult = sqlite3CodeSubselect(pParse, p, 0, 0); + }else{ + int i; + iResult = pParse->nMem+1; + pParse->nMem += nResult; + for(i=0; ix.pList->a[i].pExpr, i+iResult); + } + } + } + return iResult; +} + + /* ** Generate code into the current Vdbe to evaluate the given ** expression. Attempt to store the results in register "target". @@ -91639,9 +93037,9 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) int inReg = target; /* Results stored in register inReg */ int regFree1 = 0; /* If non-zero free this temporary register */ int regFree2 = 0; /* If non-zero free this temporary register */ - int r1, r2, r3, r4; /* Various register numbers */ - sqlite3 *db = pParse->db; /* The database connection */ + int r1, r2; /* Various register numbers */ Expr tempX; /* Temporary expression node */ + int p5 = 0; assert( target>0 && target<=pParse->nMem ); if( v==0 ){ @@ -91660,12 +93058,11 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) struct AggInfo_col *pCol = &pAggInfo->aCol[pExpr->iAgg]; if( !pAggInfo->directMode ){ assert( pCol->iMem>0 ); - inReg = pCol->iMem; - break; + return pCol->iMem; }else if( pAggInfo->useSortingIdx ){ sqlite3VdbeAddOp3(v, OP_Column, pAggInfo->sortingIdxPTab, pCol->iSorterColumn, target); - break; + return target; } /* Otherwise, fall thru into the TK_COLUMN case */ } @@ -91674,38 +93071,36 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) if( iTab<0 ){ if( pParse->ckBase>0 ){ /* Generating CHECK constraints or inserting into partial index */ - inReg = pExpr->iColumn + pParse->ckBase; - break; + return pExpr->iColumn + pParse->ckBase; }else{ /* Coding an expression that is part of an index where column names ** in the index refer to the table to which the index belongs */ iTab = pParse->iSelfTab; } } - inReg = sqlite3ExprCodeGetColumn(pParse, pExpr->pTab, + return sqlite3ExprCodeGetColumn(pParse, pExpr->pTab, pExpr->iColumn, iTab, target, pExpr->op2); - break; } case TK_INTEGER: { codeInteger(pParse, pExpr, 0, target); - break; + return target; } #ifndef SQLITE_OMIT_FLOATING_POINT case TK_FLOAT: { assert( !ExprHasProperty(pExpr, EP_IntValue) ); codeReal(v, pExpr->u.zToken, 0, target); - break; + return target; } #endif case TK_STRING: { assert( !ExprHasProperty(pExpr, EP_IntValue) ); sqlite3VdbeLoadString(v, target, pExpr->u.zToken); - break; + return target; } case TK_NULL: { sqlite3VdbeAddOp2(v, OP_Null, 0, target); - break; + return target; } #ifndef SQLITE_OMIT_BLOB_LITERAL case TK_BLOB: { @@ -91720,7 +93115,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) assert( z[n]=='\'' ); zBlob = sqlite3HexToBlob(sqlite3VdbeDb(v), z, n); sqlite3VdbeAddOp4(v, OP_Blob, n/2, target, 0, zBlob, P4_DYNAMIC); - break; + return target; } #endif case TK_VARIABLE: { @@ -91733,11 +93128,10 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) || strcmp(pExpr->u.zToken, pParse->azVar[pExpr->iColumn-1])==0 ); sqlite3VdbeChangeP4(v, -1, pParse->azVar[pExpr->iColumn-1], P4_STATIC); } - break; + return target; } case TK_REGISTER: { - inReg = pExpr->iTable; - break; + return pExpr->iTable; } #ifndef SQLITE_OMIT_CAST case TK_CAST: { @@ -91751,42 +93145,37 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) sqlite3AffinityType(pExpr->u.zToken, 0)); testcase( usedAsColumnCache(pParse, inReg, inReg) ); sqlite3ExprCacheAffinityChange(pParse, inReg, 1); - break; + return inReg; } #endif /* SQLITE_OMIT_CAST */ + case TK_IS: + case TK_ISNOT: + op = (op==TK_IS) ? TK_EQ : TK_NE; + p5 = SQLITE_NULLEQ; + /* fall-through */ case TK_LT: case TK_LE: case TK_GT: case TK_GE: case TK_NE: case TK_EQ: { - r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); - r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); - codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, - r1, r2, inReg, SQLITE_STOREP2); - assert(TK_LT==OP_Lt); testcase(op==OP_Lt); VdbeCoverageIf(v,op==OP_Lt); - assert(TK_LE==OP_Le); testcase(op==OP_Le); VdbeCoverageIf(v,op==OP_Le); - assert(TK_GT==OP_Gt); testcase(op==OP_Gt); VdbeCoverageIf(v,op==OP_Gt); - assert(TK_GE==OP_Ge); testcase(op==OP_Ge); VdbeCoverageIf(v,op==OP_Ge); - assert(TK_EQ==OP_Eq); testcase(op==OP_Eq); VdbeCoverageIf(v,op==OP_Eq); - assert(TK_NE==OP_Ne); testcase(op==OP_Ne); VdbeCoverageIf(v,op==OP_Ne); - testcase( regFree1==0 ); - testcase( regFree2==0 ); - break; - } - case TK_IS: - case TK_ISNOT: { - testcase( op==TK_IS ); - testcase( op==TK_ISNOT ); - r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); - r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); - op = (op==TK_IS) ? TK_EQ : TK_NE; - codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, - r1, r2, inReg, SQLITE_STOREP2 | SQLITE_NULLEQ); - VdbeCoverageIf(v, op==TK_EQ); - VdbeCoverageIf(v, op==TK_NE); - testcase( regFree1==0 ); - testcase( regFree2==0 ); + Expr *pLeft = pExpr->pLeft; + if( sqlite3ExprIsVector(pLeft) ){ + codeVectorCompare(pParse, pExpr, target, op, p5); + }else{ + r1 = sqlite3ExprCodeTemp(pParse, pLeft, ®Free1); + r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); + codeCompare(pParse, pLeft, pExpr->pRight, op, + r1, r2, inReg, SQLITE_STOREP2 | p5); + assert(TK_LT==OP_Lt); testcase(op==OP_Lt); VdbeCoverageIf(v,op==OP_Lt); + assert(TK_LE==OP_Le); testcase(op==OP_Le); VdbeCoverageIf(v,op==OP_Le); + assert(TK_GT==OP_Gt); testcase(op==OP_Gt); VdbeCoverageIf(v,op==OP_Gt); + assert(TK_GE==OP_Ge); testcase(op==OP_Ge); VdbeCoverageIf(v,op==OP_Ge); + assert(TK_EQ==OP_Eq); testcase(op==OP_Eq); VdbeCoverageIf(v,op==OP_Eq); + assert(TK_NE==OP_Ne); testcase(op==OP_Ne); VdbeCoverageIf(v,op==OP_Ne); + testcase( regFree1==0 ); + testcase( regFree2==0 ); + } break; } case TK_AND: @@ -91824,10 +93213,12 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) assert( pLeft ); if( pLeft->op==TK_INTEGER ){ codeInteger(pParse, pLeft, 1, target); + return target; #ifndef SQLITE_OMIT_FLOATING_POINT }else if( pLeft->op==TK_FLOAT ){ assert( !ExprHasProperty(pExpr, EP_IntValue) ); codeReal(v, pLeft->u.zToken, 1, target); + return target; #endif }else{ tempX.op = TK_INTEGER; @@ -91838,7 +93229,6 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) sqlite3VdbeAddOp3(v, OP_Subtract, r2, r1, target); testcase( regFree2==0 ); } - inReg = target; break; } case TK_BITNOT: @@ -91847,7 +93237,6 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) assert( TK_NOT==OP_Not ); testcase( op==TK_NOT ); r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); testcase( regFree1==0 ); - inReg = target; sqlite3VdbeAddOp2(v, op, r1, inReg); break; } @@ -91872,7 +93261,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) assert( !ExprHasProperty(pExpr, EP_IntValue) ); sqlite3ErrorMsg(pParse, "misuse of aggregate: %s()", pExpr->u.zToken); }else{ - inReg = pInfo->aFunc[pExpr->iAgg].iMem; + return pInfo->aFunc[pExpr->iAgg].iMem; } break; } @@ -91883,6 +93272,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) const char *zId; /* The function name */ u32 constMask = 0; /* Mask of function arguments that are constant */ int i; /* Loop counter */ + sqlite3 *db = pParse->db; /* The database connection */ u8 enc = ENC(db); /* The text encoding used by this database */ CollSeq *pColl = 0; /* A collating sequence */ @@ -91896,6 +93286,11 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) assert( !ExprHasProperty(pExpr, EP_IntValue) ); zId = pExpr->u.zToken; pDef = sqlite3FindFunction(db, zId, nFarg, enc, 0); +#ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + if( pDef==0 && pParse->explain ){ + pDef = sqlite3FindFunction(db, "unknown", nFarg, enc, 0); + } +#endif if( pDef==0 || pDef->xFinalize!=0 ){ sqlite3ErrorMsg(pParse, "unknown function: %s()", zId); break; @@ -91926,8 +93321,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) */ if( pDef->funcFlags & SQLITE_FUNC_UNLIKELY ){ assert( nFarg>=1 ); - inReg = sqlite3ExprCodeTarget(pParse, pFarg->a[0].pExpr, target); - break; + return sqlite3ExprCodeTarget(pParse, pFarg->a[0].pExpr, target); } for(i=0; ix.pSelect->pEList->nExpr)!=1 ){ + sqlite3SubselectError(pParse, nCol, 1); + }else{ + return sqlite3CodeSubselect(pParse, pExpr, 0, 0); + } break; } + case TK_SELECT_COLUMN: { + if( pExpr->pLeft->iTable==0 ){ + pExpr->pLeft->iTable = sqlite3CodeSubselect(pParse, pExpr->pLeft, 0, 0); + } + return pExpr->pLeft->iTable + pExpr->iColumn; + } case TK_IN: { int destIfFalse = sqlite3VdbeMakeLabel(v); int destIfNull = sqlite3VdbeMakeLabel(v); @@ -92021,7 +93426,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) sqlite3VdbeResolveLabel(v, destIfFalse); sqlite3VdbeAddOp2(v, OP_AddImm, target, 0); sqlite3VdbeResolveLabel(v, destIfNull); - break; + return target; } #endif /* SQLITE_OMIT_SUBQUERY */ @@ -92038,35 +93443,13 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) ** Z is stored in pExpr->pList->a[1].pExpr. */ case TK_BETWEEN: { - Expr *pLeft = pExpr->pLeft; - struct ExprList_item *pLItem = pExpr->x.pList->a; - Expr *pRight = pLItem->pExpr; - - r1 = sqlite3ExprCodeTemp(pParse, pLeft, ®Free1); - r2 = sqlite3ExprCodeTemp(pParse, pRight, ®Free2); - testcase( regFree1==0 ); - testcase( regFree2==0 ); - r3 = sqlite3GetTempReg(pParse); - r4 = sqlite3GetTempReg(pParse); - codeCompare(pParse, pLeft, pRight, OP_Ge, - r1, r2, r3, SQLITE_STOREP2); VdbeCoverage(v); - pLItem++; - pRight = pLItem->pExpr; - sqlite3ReleaseTempReg(pParse, regFree2); - r2 = sqlite3ExprCodeTemp(pParse, pRight, ®Free2); - testcase( regFree2==0 ); - codeCompare(pParse, pLeft, pRight, OP_Le, r1, r2, r4, SQLITE_STOREP2); - VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_And, r3, r4, target); - sqlite3ReleaseTempReg(pParse, r3); - sqlite3ReleaseTempReg(pParse, r4); - break; + exprCodeBetween(pParse, pExpr, target, 0, 0); + return target; } case TK_SPAN: case TK_COLLATE: case TK_UPLUS: { - inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); - break; + return sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); } case TK_TRIGGER: { @@ -92125,6 +93508,10 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) break; } + case TK_VECTOR: { + sqlite3ErrorMsg(pParse, "row value misused"); + break; + } /* ** Form A: @@ -92168,8 +93555,9 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) if( (pX = pExpr->pLeft)!=0 ){ tempX = *pX; testcase( pX->op==TK_COLUMN ); - exprToRegister(&tempX, sqlite3ExprCodeTemp(pParse, pX, ®Free1)); + exprToRegister(&tempX, exprCodeVector(pParse, &tempX, ®Free1)); testcase( regFree1==0 ); + memset(&opCompare, 0, sizeof(opCompare)); opCompare.op = TK_EQ; opCompare.pLeft = &tempX; pTest = &opCompare; @@ -92203,7 +93591,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) }else{ sqlite3VdbeAddOp2(v, OP_Null, 0, target); } - assert( db->mallocFailed || pParse->nErr>0 + assert( pParse->db->mallocFailed || pParse->nErr>0 || pParse->iCacheLevel==iCacheLevel ); sqlite3VdbeResolveLabel(v, endLabel); break; @@ -92448,20 +93836,33 @@ SQLITE_PRIVATE int sqlite3ExprCodeExprList( ** ** Code it as such, taking care to do the common subexpression ** elimination of x. +** +** The xJumpIf parameter determines details: +** +** NULL: Store the boolean result in reg[dest] +** sqlite3ExprIfTrue: Jump to dest if true +** sqlite3ExprIfFalse: Jump to dest if false +** +** The jumpIfNull parameter is ignored if xJumpIf is NULL. */ static void exprCodeBetween( Parse *pParse, /* Parsing and code generating context */ Expr *pExpr, /* The BETWEEN expression */ - int dest, /* Jump here if the jump is taken */ - int jumpIfTrue, /* Take the jump if the BETWEEN is true */ + int dest, /* Jump destination or storage location */ + void (*xJump)(Parse*,Expr*,int,int), /* Action to take */ int jumpIfNull /* Take the jump if the BETWEEN is NULL */ ){ - Expr exprAnd; /* The AND operator in x>=y AND x<=z */ + Expr exprAnd; /* The AND operator in x>=y AND x<=z */ Expr compLeft; /* The x>=y term */ Expr compRight; /* The x<=z term */ Expr exprX; /* The x subexpression */ int regFree1 = 0; /* Temporary use register */ + + memset(&compLeft, 0, sizeof(Expr)); + memset(&compRight, 0, sizeof(Expr)); + memset(&exprAnd, 0, sizeof(Expr)); + assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); exprX = *pExpr->pLeft; exprAnd.op = TK_AND; @@ -92473,23 +93874,25 @@ static void exprCodeBetween( compRight.op = TK_LE; compRight.pLeft = &exprX; compRight.pRight = pExpr->x.pList->a[1].pExpr; - exprToRegister(&exprX, sqlite3ExprCodeTemp(pParse, &exprX, ®Free1)); - if( jumpIfTrue ){ - sqlite3ExprIfTrue(pParse, &exprAnd, dest, jumpIfNull); + exprToRegister(&exprX, exprCodeVector(pParse, &exprX, ®Free1)); + if( xJump ){ + xJump(pParse, &exprAnd, dest, jumpIfNull); }else{ - sqlite3ExprIfFalse(pParse, &exprAnd, dest, jumpIfNull); + exprX.flags |= EP_FromJoin; + sqlite3ExprCodeTarget(pParse, &exprAnd, dest); } sqlite3ReleaseTempReg(pParse, regFree1); /* Ensure adequate test coverage */ - testcase( jumpIfTrue==0 && jumpIfNull==0 && regFree1==0 ); - testcase( jumpIfTrue==0 && jumpIfNull==0 && regFree1!=0 ); - testcase( jumpIfTrue==0 && jumpIfNull!=0 && regFree1==0 ); - testcase( jumpIfTrue==0 && jumpIfNull!=0 && regFree1!=0 ); - testcase( jumpIfTrue!=0 && jumpIfNull==0 && regFree1==0 ); - testcase( jumpIfTrue!=0 && jumpIfNull==0 && regFree1!=0 ); - testcase( jumpIfTrue!=0 && jumpIfNull!=0 && regFree1==0 ); - testcase( jumpIfTrue!=0 && jumpIfNull!=0 && regFree1!=0 ); + testcase( xJump==sqlite3ExprIfTrue && jumpIfNull==0 && regFree1==0 ); + testcase( xJump==sqlite3ExprIfTrue && jumpIfNull==0 && regFree1!=0 ); + testcase( xJump==sqlite3ExprIfTrue && jumpIfNull!=0 && regFree1==0 ); + testcase( xJump==sqlite3ExprIfTrue && jumpIfNull!=0 && regFree1!=0 ); + testcase( xJump==sqlite3ExprIfFalse && jumpIfNull==0 && regFree1==0 ); + testcase( xJump==sqlite3ExprIfFalse && jumpIfNull==0 && regFree1!=0 ); + testcase( xJump==sqlite3ExprIfFalse && jumpIfNull!=0 && regFree1==0 ); + testcase( xJump==sqlite3ExprIfFalse && jumpIfNull!=0 && regFree1!=0 ); + testcase( xJump==0 ); } /* @@ -92554,6 +93957,7 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int case TK_GE: case TK_NE: case TK_EQ: { + if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr; testcase( jumpIfNull==0 ); r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); @@ -92586,7 +93990,7 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int } case TK_BETWEEN: { testcase( jumpIfNull==0 ); - exprCodeBetween(pParse, pExpr, dest, 1, jumpIfNull); + exprCodeBetween(pParse, pExpr, dest, sqlite3ExprIfTrue, jumpIfNull); break; } #ifndef SQLITE_OMIT_SUBQUERY @@ -92600,6 +94004,7 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int } #endif default: { + default_expr: if( exprAlwaysTrue(pExpr) ){ sqlite3VdbeGoto(v, dest); }else if( exprAlwaysFalse(pExpr) ){ @@ -92706,6 +94111,7 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int case TK_GE: case TK_NE: case TK_EQ: { + if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr; testcase( jumpIfNull==0 ); r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); @@ -92736,7 +94142,7 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int } case TK_BETWEEN: { testcase( jumpIfNull==0 ); - exprCodeBetween(pParse, pExpr, dest, 0, jumpIfNull); + exprCodeBetween(pParse, pExpr, dest, sqlite3ExprIfFalse, jumpIfNull); break; } #ifndef SQLITE_OMIT_SUBQUERY @@ -92752,6 +94158,7 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int } #endif default: { + default_expr: if( exprAlwaysFalse(pExpr) ){ sqlite3VdbeGoto(v, dest); }else if( exprAlwaysTrue(pExpr) ){ @@ -92918,6 +94325,61 @@ SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Expr *pE1, Expr *pE2, int iTab){ return 0; } +/* +** An instance of the following structure is used by the tree walker +** to determine if an expression can be evaluated by reference to the +** index only, without having to do a search for the corresponding +** table entry. The IdxCover.pIdx field is the index. IdxCover.iCur +** is the cursor for the table. +*/ +struct IdxCover { + Index *pIdx; /* The index to be tested for coverage */ + int iCur; /* Cursor number for the table corresponding to the index */ +}; + +/* +** Check to see if there are references to columns in table +** pWalker->u.pIdxCover->iCur can be satisfied using the index +** pWalker->u.pIdxCover->pIdx. +*/ +static int exprIdxCover(Walker *pWalker, Expr *pExpr){ + if( pExpr->op==TK_COLUMN + && pExpr->iTable==pWalker->u.pIdxCover->iCur + && sqlite3ColumnOfIndex(pWalker->u.pIdxCover->pIdx, pExpr->iColumn)<0 + ){ + pWalker->eCode = 1; + return WRC_Abort; + } + return WRC_Continue; +} + +/* +** Determine if an index pIdx on table with cursor iCur contains will +** the expression pExpr. Return true if the index does cover the +** expression and false if the pExpr expression references table columns +** that are not found in the index pIdx. +** +** An index covering an expression means that the expression can be +** evaluated using only the index and without having to lookup the +** corresponding table entry. +*/ +SQLITE_PRIVATE int sqlite3ExprCoveredByIndex( + Expr *pExpr, /* The index to be tested */ + int iCur, /* The cursor number for the corresponding table */ + Index *pIdx /* The index that might be used for coverage */ +){ + Walker w; + struct IdxCover xcov; + memset(&w, 0, sizeof(w)); + xcov.iCur = iCur; + xcov.pIdx = pIdx; + w.xExprCallback = exprIdxCover; + w.u.pIdxCover = &xcov; + sqlite3WalkExpr(&w, pExpr); + return !w.eCode; +} + + /* ** An instance of the following structure is used by the tree walker ** to count references to table columns in the arguments of an @@ -93201,7 +94663,7 @@ SQLITE_PRIVATE void sqlite3ReleaseTempReg(Parse *pParse, int iReg){ if( iReg && pParse->nTempRegaTempReg) ){ int i; struct yColCache *p; - for(i=0, p=pParse->aColCache; iaColCache; inColCache; i++, p++){ if( p->iReg==iReg ){ p->tempReg = 1; return; @@ -93212,10 +94674,11 @@ SQLITE_PRIVATE void sqlite3ReleaseTempReg(Parse *pParse, int iReg){ } /* -** Allocate or deallocate a block of nReg consecutive registers +** Allocate or deallocate a block of nReg consecutive registers. */ SQLITE_PRIVATE int sqlite3GetTempRange(Parse *pParse, int nReg){ int i, n; + if( nReg==1 ) return sqlite3GetTempReg(pParse); i = pParse->iRangeReg; n = pParse->nRangeReg; if( nReg<=n ){ @@ -93229,6 +94692,10 @@ SQLITE_PRIVATE int sqlite3GetTempRange(Parse *pParse, int nReg){ return i; } SQLITE_PRIVATE void sqlite3ReleaseTempRange(Parse *pParse, int iReg, int nReg){ + if( nReg==1 ){ + sqlite3ReleaseTempReg(pParse, iReg); + return; + } sqlite3ExprCacheRemove(pParse, iReg, nReg); if( nReg>pParse->nRangeReg ){ pParse->nRangeReg = nReg; @@ -93684,7 +95151,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( pTab = sqlite3LocateTableItem(pParse, 0, &pSrc->a[0]); if( !pTab ) goto exit_rename_table; iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); - zDb = db->aDb[iDb].zName; + zDb = db->aDb[iDb].zDbSName; db->flags |= SQLITE_PreferBuiltin; /* Get a NULL terminated version of the new table name. */ @@ -93872,6 +95339,7 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ Expr *pDflt; /* Default value for the new column */ sqlite3 *db; /* The database connection; */ Vdbe *v = pParse->pVdbe; /* The prepared statement under construction */ + int r1; /* Temporary registers */ db = pParse->db; if( pParse->nErr || db->mallocFailed ) return; @@ -93881,7 +95349,7 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ assert( sqlite3BtreeHoldsAllMutexes(db) ); iDb = sqlite3SchemaToIndex(db, pNew->pSchema); - zDb = db->aDb[iDb].zName; + zDb = db->aDb[iDb].zDbSName; zTab = &pNew->zName[16]; /* Skip the "sqlite_altertab_" prefix on the name */ pCol = &pNew->aCol[pNew->nCol-1]; pDflt = pCol->pDflt; @@ -93966,16 +95434,18 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ db->flags = savedDbFlags; } - /* If the default value of the new column is NULL, then the file - ** format to 2. If the default value of the new column is not NULL, - ** the file format be 3. Back when this feature was first added - ** in 2006, we went to the trouble to upgrade the file format to the - ** minimum support values. But 10-years on, we can assume that all - ** extent versions of SQLite support file-format 4, so we always and - ** unconditionally upgrade to 4. + /* Make sure the schema version is at least 3. But do not upgrade + ** from less than 3 to 4, as that will corrupt any preexisting DESC + ** index. */ - sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, - SQLITE_MAX_FILE_FORMAT); + r1 = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, r1, BTREE_FILE_FORMAT); + sqlite3VdbeUsesBtree(v, iDb); + sqlite3VdbeAddOp2(v, OP_AddImm, r1, -2); + sqlite3VdbeAddOp2(v, OP_IfPos, r1, sqlite3VdbeCurrentAddr(v)+2); + VdbeCoverage(v); + sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, 3); + sqlite3ReleaseTempReg(pParse, r1); /* Reload the schema of the modified table. */ reloadTableSchema(pParse, pTab, pTab->zName); @@ -94289,14 +95759,14 @@ static void openStatTable( for(i=0; izName))==0 ){ + if( (pStat = sqlite3FindTable(db, zTab, pDb->zDbSName))==0 ){ if( aTable[i].zCols ){ /* The sqlite_statN table does not exist. Create it. Note that a ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ sqlite3NestedParse(pParse, - "CREATE TABLE %Q.%s(%s)", pDb->zName, zTab, aTable[i].zCols + "CREATE TABLE %Q.%s(%s)", pDb->zDbSName, zTab, aTable[i].zCols ); aRoot[i] = pParse->regRoot; aCreateTbl[i] = OPFLAG_P2ISREG; @@ -94311,7 +95781,7 @@ static void openStatTable( if( zWhere ){ sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE %s=%Q", - pDb->zName, zTab, zWhereType, zWhere + pDb->zDbSName, zTab, zWhereType, zWhere ); }else{ /* The sqlite_stat[134] table already exists. Delete all rows. */ @@ -95073,7 +96543,7 @@ static void analyzeOneTable( assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); #ifndef SQLITE_OMIT_AUTHORIZATION if( sqlite3AuthCheck(pParse, SQLITE_ANALYZE, pTab->zName, 0, - db->aDb[iDb].zName ) ){ + db->aDb[iDb].zDbSName ) ){ return; } #endif @@ -95463,7 +96933,7 @@ SQLITE_PRIVATE void sqlite3Analyze(Parse *pParse, Token *pName1, Token *pName2){ /* Form 3: Analyze the fully qualified table name */ iDb = sqlite3TwoPartName(pParse, pName1, pName2, &pTableName); if( iDb>=0 ){ - zDb = db->aDb[iDb].zName; + zDb = db->aDb[iDb].zDbSName; z = sqlite3NameFromToken(db, pTableName); if( z ){ if( (pIdx = sqlite3FindIndex(db, z, zDb))!=0 ){ @@ -95923,7 +97393,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ /* Load new statistics out of the sqlite_stat1 table */ sInfo.db = db; - sInfo.zDatabase = db->aDb[iDb].zName; + sInfo.zDatabase = db->aDb[iDb].zDbSName; if( sqlite3FindTable(db, "sqlite_stat1", sInfo.zDatabase)!=0 ){ zSql = sqlite3MPrintf(db, "SELECT tbl,idx,stat FROM %Q.sqlite_stat1", sInfo.zDatabase); @@ -96066,7 +97536,7 @@ static void attachFunc( goto attach_error; } for(i=0; inDb; i++){ - char *z = db->aDb[i].zName; + char *z = db->aDb[i].zDbSName; assert( z && zName ); if( sqlite3StrICmp(z, zName)==0 ){ zErrDyn = sqlite3MPrintf(db, "database %s is already in use", zName); @@ -96131,8 +97601,8 @@ static void attachFunc( sqlite3BtreeLeave(aNew->pBt); } aNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; - aNew->zName = sqlite3DbStrDup(db, zName); - if( rc==SQLITE_OK && aNew->zName==0 ){ + aNew->zDbSName = sqlite3DbStrDup(db, zName); + if( rc==SQLITE_OK && aNew->zDbSName==0 ){ rc = SQLITE_NOMEM_BKPT; } @@ -96161,7 +97631,7 @@ static void attachFunc( case SQLITE_NULL: /* No key specified. Use the key from the main database */ sqlite3CodecGetKey(db, 0, (void**)&zKey, &nKey); - if( nKey>0 || sqlite3BtreeGetOptimalReserve(db->aDb[0].pBt)>0 ){ + if( nKey || sqlite3BtreeGetOptimalReserve(db->aDb[0].pBt)>0 ){ rc = sqlite3CodecAttach(db, db->nDb-1, zKey, nKey); } break; @@ -96244,7 +97714,7 @@ static void detachFunc( for(i=0; inDb; i++){ pDb = &db->aDb[i]; if( pDb->pBt==0 ) continue; - if( sqlite3StrICmp(pDb->zName, zName)==0 ) break; + if( sqlite3StrICmp(pDb->zDbSName, zName)==0 ) break; } if( i>=db->nDb ){ @@ -96402,7 +97872,7 @@ SQLITE_PRIVATE void sqlite3FixInit( db = pParse->db; assert( db->nDb>iDb ); pFix->pParse = pParse; - pFix->zDb = db->aDb[iDb].zName; + pFix->zDb = db->aDb[iDb].zDbSName; pFix->pSchema = db->aDb[iDb].pSchema; pFix->zType = zType; pFix->pName = pName; @@ -96499,7 +97969,7 @@ SQLITE_PRIVATE int sqlite3FixExpr( return 1; } } - if( ExprHasProperty(pExpr, EP_TokenOnly) ) break; + if( ExprHasProperty(pExpr, EP_TokenOnly|EP_Leaf) ) break; if( ExprHasProperty(pExpr, EP_xIsSelect) ){ if( sqlite3FixSelect(pFix, pExpr->x.pSelect) ) return 1; }else{ @@ -96620,7 +98090,7 @@ SQLITE_PRIVATE int sqlite3FixTriggerStep( ** Setting the auth function to NULL disables this hook. The default ** setting of the auth function is NULL. */ -SQLITE_API int SQLITE_STDCALL sqlite3_set_authorizer( +SQLITE_API int sqlite3_set_authorizer( sqlite3 *db, int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), void *pArg @@ -96660,10 +98130,11 @@ SQLITE_PRIVATE int sqlite3AuthReadCol( const char *zCol, /* Column name */ int iDb /* Index of containing database. */ ){ - sqlite3 *db = pParse->db; /* Database handle */ - char *zDb = db->aDb[iDb].zName; /* Name of attached database */ - int rc; /* Auth callback return code */ + sqlite3 *db = pParse->db; /* Database handle */ + char *zDb = db->aDb[iDb].zDbSName; /* Schema name of attached database */ + int rc; /* Auth callback return code */ + if( db->init.busy ) return SQLITE_OK; rc = db->xAuth(db->pAuthArg, SQLITE_READ, zTab,zCol,zDb,pParse->zAuthContext #ifdef SQLITE_USER_AUTHENTICATION ,db->auth.zAuthUser @@ -96962,15 +98433,14 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){ assert( !pParse->isMultiWrite || sqlite3VdbeAssertMayAbort(v, pParse->mayAbort)); if( v ){ - while( sqlite3VdbeDeletePriorOpcode(v, OP_Close) ){} sqlite3VdbeAddOp0(v, OP_Halt); #if SQLITE_USER_AUTHENTICATION if( pParse->nTableLock>0 && db->init.busy==0 ){ sqlite3UserAuthInit(db); if( db->auth.authLevelrc = SQLITE_AUTH_USER; sqlite3ErrorMsg(pParse, "user not authenticated"); + pParse->rc = SQLITE_AUTH_USER; return; } } @@ -96989,14 +98459,16 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){ assert( sqlite3VdbeGetOp(v, 0)->opcode==OP_Init ); sqlite3VdbeJumpHere(v, 0); for(iDb=0; iDbnDb; iDb++){ + Schema *pSchema; if( DbMaskTest(pParse->cookieMask, iDb)==0 ) continue; sqlite3VdbeUsesBtree(v, iDb); + pSchema = db->aDb[iDb].pSchema; sqlite3VdbeAddOp4Int(v, OP_Transaction, /* Opcode */ iDb, /* P1 */ DbMaskTest(pParse->writeMask,iDb), /* P2 */ - pParse->cookieValue[iDb], /* P3 */ - db->aDb[iDb].pSchema->iGeneration /* P4 */ + pSchema->schema_cookie, /* P3 */ + pSchema->iGeneration /* P4 */ ); if( db->init.busy==0 ) sqlite3VdbeChangeP5(v, 1); VdbeComment((v, @@ -97047,16 +98519,6 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){ }else{ pParse->rc = SQLITE_ERROR; } - - /* We are done with this Parse object. There is no need to de-initialize it */ -#if 0 - pParse->colNamesSet = 0; - pParse->nTab = 0; - pParse->nMem = 0; - pParse->nSet = 0; - pParse->nVar = 0; - DbMaskZero(pParse->cookieMask); -#endif } /* @@ -97076,8 +98538,7 @@ SQLITE_PRIVATE void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){ char *zSql; char *zErrMsg = 0; sqlite3 *db = pParse->db; -# define SAVE_SZ (sizeof(Parse) - offsetof(Parse,nVar)) - char saveBuf[SAVE_SZ]; + char saveBuf[PARSE_TAIL_SZ]; if( pParse->nErr ) return; assert( pParse->nested<10 ); /* Nesting should only be of limited depth */ @@ -97088,12 +98549,12 @@ SQLITE_PRIVATE void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){ return; /* A malloc must have failed */ } pParse->nested++; - memcpy(saveBuf, &pParse->nVar, SAVE_SZ); - memset(&pParse->nVar, 0, SAVE_SZ); + memcpy(saveBuf, PARSE_TAIL(pParse), PARSE_TAIL_SZ); + memset(PARSE_TAIL(pParse), 0, PARSE_TAIL_SZ); sqlite3RunParser(pParse, zSql, &zErrMsg); sqlite3DbFree(db, zErrMsg); sqlite3DbFree(db, zSql); - memcpy(&pParse->nVar, saveBuf, SAVE_SZ); + memcpy(PARSE_TAIL(pParse), saveBuf, PARSE_TAIL_SZ); pParse->nested--; } @@ -97134,10 +98595,11 @@ SQLITE_PRIVATE Table *sqlite3FindTable(sqlite3 *db, const char *zName, const cha #endif for(i=OMIT_TEMPDB; inDb; i++){ int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ - if( zDatabase!=0 && sqlite3StrICmp(zDatabase, db->aDb[j].zName) ) continue; - assert( sqlite3SchemaMutexHeld(db, j, 0) ); - p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName); - if( p ) break; + if( zDatabase==0 || sqlite3StrICmp(zDatabase, db->aDb[j].zDbSName)==0 ){ + assert( sqlite3SchemaMutexHeld(db, j, 0) ); + p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName); + if( p ) break; + } } return p; } @@ -97154,7 +98616,7 @@ SQLITE_PRIVATE Table *sqlite3FindTable(sqlite3 *db, const char *zName, const cha */ SQLITE_PRIVATE Table *sqlite3LocateTable( Parse *pParse, /* context in which to report errors */ - int isView, /* True if looking for a VIEW rather than a TABLE */ + u32 flags, /* LOCATE_VIEW or LOCATE_NOERR */ const char *zName, /* Name of the table we are looking for */ const char *zDbase /* Name of the database. Might be NULL */ ){ @@ -97168,7 +98630,7 @@ SQLITE_PRIVATE Table *sqlite3LocateTable( p = sqlite3FindTable(pParse->db, zName, zDbase); if( p==0 ){ - const char *zMsg = isView ? "no such view" : "no such table"; + const char *zMsg = flags & LOCATE_VIEW ? "no such view" : "no such table"; #ifndef SQLITE_OMIT_VIRTUALTABLE if( sqlite3FindDbName(pParse->db, zDbase)<1 ){ /* If zName is the not the name of a table in the schema created using @@ -97180,12 +98642,14 @@ SQLITE_PRIVATE Table *sqlite3LocateTable( } } #endif - if( zDbase ){ - sqlite3ErrorMsg(pParse, "%s: %s.%s", zMsg, zDbase, zName); - }else{ - sqlite3ErrorMsg(pParse, "%s: %s", zMsg, zName); + if( (flags & LOCATE_NOERR)==0 ){ + if( zDbase ){ + sqlite3ErrorMsg(pParse, "%s: %s.%s", zMsg, zDbase, zName); + }else{ + sqlite3ErrorMsg(pParse, "%s: %s", zMsg, zName); + } + pParse->checkSchema = 1; } - pParse->checkSchema = 1; } return p; @@ -97202,18 +98666,18 @@ SQLITE_PRIVATE Table *sqlite3LocateTable( */ SQLITE_PRIVATE Table *sqlite3LocateTableItem( Parse *pParse, - int isView, + u32 flags, struct SrcList_item *p ){ const char *zDb; assert( p->pSchema==0 || p->zDatabase==0 ); if( p->pSchema ){ int iDb = sqlite3SchemaToIndex(pParse->db, p->pSchema); - zDb = pParse->db->aDb[iDb].zName; + zDb = pParse->db->aDb[iDb].zDbSName; }else{ zDb = p->zDatabase; } - return sqlite3LocateTable(pParse, isView, p->zName, zDb); + return sqlite3LocateTable(pParse, flags, p->zName, zDb); } /* @@ -97237,7 +98701,7 @@ SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3 *db, const char *zName, const cha int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ Schema *pSchema = db->aDb[j].pSchema; assert( pSchema ); - if( zDb && sqlite3StrICmp(zDb, db->aDb[j].zName) ) continue; + if( zDb && sqlite3StrICmp(zDb, db->aDb[j].zDbSName) ) continue; assert( sqlite3SchemaMutexHeld(db, j, 0) ); p = sqlite3HashFind(&pSchema->idxHash, zName); if( p ) break; @@ -97306,8 +98770,8 @@ SQLITE_PRIVATE void sqlite3CollapseDatabaseArray(sqlite3 *db){ for(i=j=2; inDb; i++){ struct Db *pDb = &db->aDb[i]; if( pDb->pBt==0 ){ - sqlite3DbFree(db, pDb->zName); - pDb->zName = 0; + sqlite3DbFree(db, pDb->zDbSName); + pDb->zDbSName = 0; continue; } if( jpIndex; pIndex; pIndex=pNext){ pNext = pIndex->pNext; - assert( pIndex->pSchema==pTable->pSchema ); - if( !db || db->pnBytesFreed==0 ){ + assert( pIndex->pSchema==pTable->pSchema + || (IsVirtual(pTable) && pIndex->idxType!=SQLITE_IDXTYPE_APPDEF) ); + if( (db==0 || db->pnBytesFreed==0) && !IsVirtual(pTable) ){ char *zName = pIndex->zName; TESTONLY ( Index *pOld = ) sqlite3HashInsert( &pIndex->pSchema->idxHash, zName, 0 @@ -97526,7 +98991,7 @@ SQLITE_PRIVATE int sqlite3FindDbName(sqlite3 *db, const char *zName){ if( zName ){ Db *pDb; for(i=(db->nDb-1), pDb=&db->aDb[i]; i>=0; i--, pDb--){ - if( 0==sqlite3StrICmp(pDb->zName, zName) ) break; + if( 0==sqlite3StrICmp(pDb->zDbSName, zName) ) break; } } return i; @@ -97585,7 +99050,7 @@ SQLITE_PRIVATE int sqlite3TwoPartName( return -1; } }else{ - assert( db->init.iDb==0 || db->init.busy ); + assert( db->init.iDb==0 || db->init.busy || (db->flags & SQLITE_Vacuum)!=0); iDb = db->init.iDb; *pUnqual = pName1; } @@ -97696,7 +99161,7 @@ SQLITE_PRIVATE void sqlite3StartTable( SQLITE_CREATE_VIEW, SQLITE_CREATE_TEMP_VIEW }; - char *zDb = db->aDb[iDb].zName; + char *zDb = db->aDb[iDb].zDbSName; if( sqlite3AuthCheck(pParse, SQLITE_INSERT, SCHEMA_TABLE(isTemp), 0, zDb) ){ goto begin_table_error; } @@ -97715,7 +99180,7 @@ SQLITE_PRIVATE void sqlite3StartTable( ** collisions. */ if( !IN_DECLARE_VTAB ){ - char *zDb = db->aDb[iDb].zName; + char *zDb = db->aDb[iDb].zDbSName; if( SQLITE_OK!=sqlite3ReadSchema(pParse) ){ goto begin_table_error; } @@ -98104,7 +99569,7 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( Column *pCol = 0; int iCol = -1, i; int nTerm; - if( pTab==0 || IN_DECLARE_VTAB ) goto primary_key_exit; + if( pTab==0 ) goto primary_key_exit; if( pTab->tabFlags & TF_HasPrimaryKey ){ sqlite3ErrorMsg(pParse, "table \"%s\" has more than one primary key", pTab->zName); @@ -98150,12 +99615,8 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( "INTEGER PRIMARY KEY"); #endif }else{ - Index *p; - p = sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0, - 0, sortOrder, 0); - if( p ){ - p->idxType = SQLITE_IDXTYPE_PRIMARYKEY; - } + sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0, + 0, sortOrder, 0, SQLITE_IDXTYPE_PRIMARYKEY); pList = 0; } @@ -98274,6 +99735,9 @@ SQLITE_PRIVATE CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char *zName){ ** set back to prior value. But schema changes are infrequent ** and the probability of hitting the same cookie value is only ** 1 chance in 2^32. So we're safe enough. +** +** IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments +** the schema-version whenever the schema changes. */ SQLITE_PRIVATE void sqlite3ChangeCookie(Parse *pParse, int iDb){ sqlite3 *db = pParse->db; @@ -98472,21 +99936,23 @@ static int hasColumn(const i16 *aiCol, int nCol, int x){ ** are appropriate for a WITHOUT ROWID table instead of a rowid table. ** Changes include: ** -** (1) Convert the OP_CreateTable into an OP_CreateIndex. There is +** (1) Set all columns of the PRIMARY KEY schema object to be NOT NULL. +** (2) Convert the OP_CreateTable into an OP_CreateIndex. There is ** no rowid btree for a WITHOUT ROWID. Instead, the canonical ** data storage is a covering index btree. -** (2) Bypass the creation of the sqlite_master table entry +** (3) Bypass the creation of the sqlite_master table entry ** for the PRIMARY KEY as the primary key index is now ** identified by the sqlite_master table entry of the table itself. -** (3) Set the Index.tnum of the PRIMARY KEY Index object in the +** (4) Set the Index.tnum of the PRIMARY KEY Index object in the ** schema to the rootpage from the main table. -** (4) Set all columns of the PRIMARY KEY schema object to be NOT NULL. ** (5) Add all table columns to the PRIMARY KEY Index object ** so that the PRIMARY KEY is a covering index. The surplus ** columns are part of KeyInfo.nXField and are not used for ** sorting or lookup or uniqueness checks. ** (6) Replace the rowid tail on all automatically generated UNIQUE ** indices with the PRIMARY KEY columns. +** +** For virtual tables, only (1) is performed. */ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ Index *pIdx; @@ -98496,6 +99962,20 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ sqlite3 *db = pParse->db; Vdbe *v = pParse->pVdbe; + /* Mark every PRIMARY KEY column as NOT NULL (except for imposter tables) + */ + if( !db->init.imposterTable ){ + for(i=0; inCol; i++){ + if( (pTab->aCol[i].colFlags & COLFLAG_PRIMKEY)!=0 ){ + pTab->aCol[i].notNull = OE_Abort; + } + } + } + + /* The remaining transformations only apply to b-tree tables, not to + ** virtual tables */ + if( IN_DECLARE_VTAB ) return; + /* Convert the OP_CreateTable opcode that would normally create the ** root-page for the table into an OP_CreateIndex opcode. The index ** created will become the PRIMARY KEY index. @@ -98517,9 +99997,10 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ if( pList==0 ) return; pList->a[0].sortOrder = pParse->iPkSortOrder; assert( pParse->pNewTable==pTab ); - pPk = sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0); - if( pPk==0 ) return; - pPk->idxType = SQLITE_IDXTYPE_PRIMARYKEY; + sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0, + SQLITE_IDXTYPE_PRIMARYKEY); + if( db->mallocFailed ) return; + pPk = sqlite3PrimaryKeyIndex(pTab); pTab->iPKey = -1; }else{ pPk = sqlite3PrimaryKeyIndex(pTab); @@ -98547,19 +100028,11 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ } pPk->nKeyCol = j; } - pPk->isCovering = 1; assert( pPk!=0 ); + pPk->isCovering = 1; + if( !db->init.imposterTable ) pPk->uniqNotNull = 1; nPk = pPk->nKeyCol; - /* Make sure every column of the PRIMARY KEY is NOT NULL. (Except, - ** do not enforce this for imposter tables.) */ - if( !db->init.imposterTable ){ - for(i=0; iaCol[pPk->aiColumn[i]].notNull = OE_Abort; - } - pPk->uniqNotNull = 1; - } - /* The root page of the PRIMARY KEY is the table root page */ pPk->tnum = pTab->tnum; @@ -98803,7 +100276,7 @@ SQLITE_PRIVATE void sqlite3EndTable( "UPDATE %Q.%s " "SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q " "WHERE rowid=#%d", - db->aDb[iDb].zName, SCHEMA_TABLE(iDb), + db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), zType, p->zName, p->zName, @@ -98818,13 +100291,13 @@ SQLITE_PRIVATE void sqlite3EndTable( /* Check to see if we need to create an sqlite_sequence table for ** keeping track of autoincrement keys. */ - if( p->tabFlags & TF_Autoincrement ){ + if( (p->tabFlags & TF_Autoincrement)!=0 ){ Db *pDb = &db->aDb[iDb]; assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); if( pDb->pSchema->pSeqTab==0 ){ sqlite3NestedParse(pParse, "CREATE TABLE %Q.sqlite_sequence(name,seq)", - pDb->zName + pDb->zDbSName ); } } @@ -98948,7 +100421,9 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ int nErr = 0; /* Number of errors encountered */ int n; /* Temporarily holds the number of cursors assigned */ sqlite3 *db = pParse->db; /* Database connection for malloc errors */ +#ifndef SQLITE_OMIT_AUTHORIZATION sqlite3_xauth xAuth; /* Saved xAuth pointer */ +#endif assert( pTable ); @@ -99138,7 +100613,7 @@ static void destroyRootPage(Parse *pParse, int iTable, int iDb){ */ sqlite3NestedParse(pParse, "UPDATE %Q.%s SET rootpage=%d WHERE #%d AND rootpage=#%d", - pParse->db->aDb[iDb].zName, SCHEMA_TABLE(iDb), iTable, r1, r1); + pParse->db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), iTable, r1, r1); #endif sqlite3ReleaseTempReg(pParse, r1); } @@ -99214,7 +100689,7 @@ static void sqlite3ClearStatTables( const char *zName /* Name of index or table */ ){ int i; - const char *zDbName = pParse->db->aDb[iDb].zName; + const char *zDbName = pParse->db->aDb[iDb].zDbSName; for(i=1; i<=4; i++){ char zTab[24]; sqlite3_snprintf(sizeof(zTab),zTab,"sqlite_stat%d",i); @@ -99267,7 +100742,7 @@ SQLITE_PRIVATE void sqlite3CodeDropTable(Parse *pParse, Table *pTab, int iDb, in if( pTab->tabFlags & TF_Autoincrement ){ sqlite3NestedParse(pParse, "DELETE FROM %Q.sqlite_sequence WHERE name=%Q", - pDb->zName, pTab->zName + pDb->zDbSName, pTab->zName ); } #endif @@ -99281,7 +100756,7 @@ SQLITE_PRIVATE void sqlite3CodeDropTable(Parse *pParse, Table *pTab, int iDb, in */ sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE tbl_name=%Q and type!='trigger'", - pDb->zName, SCHEMA_TABLE(iDb), pTab->zName); + pDb->zDbSName, SCHEMA_TABLE(iDb), pTab->zName); if( !isView && !IsVirtual(pTab) ){ destroyTable(pParse, pTab); } @@ -99314,6 +100789,7 @@ SQLITE_PRIVATE void sqlite3DropTable(Parse *pParse, SrcList *pName, int isView, assert( pName->nSrc==1 ); if( sqlite3ReadSchema(pParse) ) goto exit_drop_table; if( noErr ) db->suppressErr++; + assert( isView==0 || isView==LOCATE_VIEW ); pTab = sqlite3LocateTableItem(pParse, isView, &pName->a[0]); if( noErr ) db->suppressErr--; @@ -99334,7 +100810,7 @@ SQLITE_PRIVATE void sqlite3DropTable(Parse *pParse, SrcList *pName, int isView, { int code; const char *zTab = SCHEMA_TABLE(iDb); - const char *zDb = db->aDb[iDb].zName; + const char *zDb = db->aDb[iDb].zDbSName; const char *zArg2 = 0; if( sqlite3AuthCheck(pParse, SQLITE_DELETE, zTab, 0, zDb)){ goto exit_drop_table; @@ -99575,7 +101051,7 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ #ifndef SQLITE_OMIT_AUTHORIZATION if( sqlite3AuthCheck(pParse, SQLITE_REINDEX, pIndex->zName, 0, - db->aDb[iDb].zName ) ){ + db->aDb[iDb].zDbSName ) ){ return; } #endif @@ -99684,12 +101160,8 @@ SQLITE_PRIVATE Index *sqlite3AllocateIndexObject( ** pList is a list of columns to be indexed. pList will be NULL if this ** is a primary key or unique-constraint on the most recent column added ** to the table currently under construction. -** -** If the index is created successfully, return a pointer to the new Index -** structure. This is used by sqlite3AddPrimaryKey() to mark the index -** as the tables primary key (Index.idxType==SQLITE_IDXTYPE_PRIMARYKEY) */ -SQLITE_PRIVATE Index *sqlite3CreateIndex( +SQLITE_PRIVATE void sqlite3CreateIndex( Parse *pParse, /* All information about this parse */ Token *pName1, /* First part of index name. May be NULL */ Token *pName2, /* Second part of index name. May be NULL */ @@ -99699,9 +101171,9 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( Token *pStart, /* The CREATE token that begins this statement */ Expr *pPIWhere, /* WHERE clause for partial indices */ int sortOrder, /* Sort order of primary key when pList==NULL */ - int ifNotExist /* Omit error if index already exists */ + int ifNotExist, /* Omit error if index already exists */ + u8 idxType /* The index type */ ){ - Index *pRet = 0; /* Pointer to return */ Table *pTab = 0; /* Table to be indexed */ Index *pIndex = 0; /* The index to be created */ char *zName = 0; /* Name of the index */ @@ -99719,7 +101191,10 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( char *zExtra = 0; /* Extra space after the Index object */ Index *pPk = 0; /* PRIMARY KEY index for WITHOUT ROWID tables */ - if( db->mallocFailed || IN_DECLARE_VTAB || pParse->nErr>0 ){ + if( db->mallocFailed || pParse->nErr>0 ){ + goto exit_create_index; + } + if( IN_DECLARE_VTAB && idxType!=SQLITE_IDXTYPE_PRIMARYKEY ){ goto exit_create_index; } if( SQLITE_OK!=sqlite3ReadSchema(pParse) ){ @@ -99828,7 +101303,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( goto exit_create_index; } } - if( sqlite3FindIndex(db, zName, pDb->zName)!=0 ){ + if( sqlite3FindIndex(db, zName, pDb->zDbSName)!=0 ){ if( !ifNotExist ){ sqlite3ErrorMsg(pParse, "index %s already exists", zName); }else{ @@ -99845,13 +101320,20 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( if( zName==0 ){ goto exit_create_index; } + + /* Automatic index names generated from within sqlite3_declare_vtab() + ** must have names that are distinct from normal automatic index names. + ** The following statement converts "sqlite3_autoindex..." into + ** "sqlite3_butoindex..." in order to make the names distinct. + ** The "vtab_err.test" test demonstrates the need of this statement. */ + if( IN_DECLARE_VTAB ) zName[7]++; } /* Check for authorization to create an index. */ #ifndef SQLITE_OMIT_AUTHORIZATION { - const char *zDb = pDb->zName; + const char *zDb = pDb->zDbSName; if( sqlite3AuthCheck(pParse, SQLITE_INSERT, SCHEMA_TABLE(iDb), 0, zDb) ){ goto exit_create_index; } @@ -99908,7 +101390,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( pIndex->pTable = pTab; pIndex->onError = (u8)onError; pIndex->uniqNotNull = onError!=OE_None; - pIndex->idxType = pName ? SQLITE_IDXTYPE_APPDEF : SQLITE_IDXTYPE_UNIQUE; + pIndex->idxType = idxType; pIndex->pSchema = db->aDb[iDb].pSchema; pIndex->nKeyCol = pList->nExpr; if( pPIWhere ){ @@ -100088,7 +101570,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( pIdx->onError = pIndex->onError; } } - pRet = pIdx; + if( idxType==SQLITE_IDXTYPE_PRIMARYKEY ) pIdx->idxType = idxType; goto exit_create_index; } } @@ -100100,6 +101582,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( assert( pParse->nErr==0 ); if( db->init.busy ){ Index *p; + assert( !IN_DECLARE_VTAB ); assert( sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema) ); p = sqlite3HashInsert(&pIndex->pSchema->idxHash, pIndex->zName, pIndex); @@ -100165,7 +101648,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( */ sqlite3NestedParse(pParse, "INSERT INTO %Q.%s VALUES('index',%Q,%Q,#%d,%Q);", - db->aDb[iDb].zName, SCHEMA_TABLE(iDb), + db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), pIndex->zName, pTab->zName, iMem, @@ -100181,7 +101664,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( sqlite3ChangeCookie(pParse, iDb); sqlite3VdbeAddParseSchemaOp(v, iDb, sqlite3MPrintf(db, "name='%q' AND type='index'", pIndex->zName)); - sqlite3VdbeAddOp1(v, OP_Expire, 0); + sqlite3VdbeAddOp0(v, OP_Expire); } sqlite3VdbeJumpHere(v, pIndex->tnum); @@ -100206,7 +101689,6 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( pIndex->pNext = pOther->pNext; pOther->pNext = pIndex; } - pRet = pIndex; pIndex = 0; } @@ -100217,7 +101699,6 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( sqlite3ExprListDelete(db, pList); sqlite3SrcListDelete(db, pTblName); sqlite3DbFree(db, zName); - return pRet; } /* @@ -100246,10 +101727,11 @@ SQLITE_PRIVATE void sqlite3DefaultRowEst(Index *pIdx){ int i; /* Set the first entry (number of rows in the index) to the estimated - ** number of rows in the table. Or 10, if the estimated number of rows - ** in the table is less than that. */ + ** number of rows in the table, or half the number of rows in the table + ** for a partial index. But do not let the estimate drop below 10. */ a[0] = pIdx->pTable->nRowLogEst; - if( a[0]<33 ) a[0] = 33; assert( 33==sqlite3LogEst(10) ); + if( pIdx->pPartIdxWhere!=0 ) a[0] -= 10; assert( 10==sqlite3LogEst(2) ); + if( a[0]<33 ) a[0] = 33; assert( 33==sqlite3LogEst(10) ); /* Estimate that a[1] is 10, a[2] is 9, a[3] is 8, a[4] is 7, a[5] is ** 6 and each subsequent value (if any) is 5. */ @@ -100300,7 +101782,7 @@ SQLITE_PRIVATE void sqlite3DropIndex(Parse *pParse, SrcList *pName, int ifExists { int code = SQLITE_DROP_INDEX; Table *pTab = pIndex->pTable; - const char *zDb = db->aDb[iDb].zName; + const char *zDb = db->aDb[iDb].zDbSName; const char *zTab = SCHEMA_TABLE(iDb); if( sqlite3AuthCheck(pParse, SQLITE_DELETE, zTab, 0, zDb) ){ goto exit_drop_index; @@ -100318,7 +101800,7 @@ SQLITE_PRIVATE void sqlite3DropIndex(Parse *pParse, SrcList *pName, int ifExists sqlite3BeginWriteOperation(pParse, 1, iDb); sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE name=%Q AND type='index'", - db->aDb[iDb].zName, SCHEMA_TABLE(iDb), pIndex->zName + db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), pIndex->zName ); sqlite3ClearStatTables(pParse, iDb, "idx", pIndex->zName); sqlite3ChangeCookie(pParse, iDb); @@ -100839,15 +102321,13 @@ SQLITE_PRIVATE int sqlite3OpenTempDatabase(Parse *pParse){ */ SQLITE_PRIVATE void sqlite3CodeVerifySchema(Parse *pParse, int iDb){ Parse *pToplevel = sqlite3ParseToplevel(pParse); - sqlite3 *db = pToplevel->db; - assert( iDb>=0 && iDbnDb ); - assert( db->aDb[iDb].pBt!=0 || iDb==1 ); + assert( iDb>=0 && iDbdb->nDb ); + assert( pParse->db->aDb[iDb].pBt!=0 || iDb==1 ); assert( iDbdb, iDb, 0) ); if( DbMaskTest(pToplevel->cookieMask, iDb)==0 ){ DbMaskSet(pToplevel->cookieMask, iDb); - pToplevel->cookieValue[iDb] = db->aDb[iDb].pSchema->schema_cookie; if( !OMIT_TEMPDB && iDb==1 ){ sqlite3OpenTempDatabase(pToplevel); } @@ -100863,7 +102343,7 @@ SQLITE_PRIVATE void sqlite3CodeVerifyNamedSchema(Parse *pParse, const char *zDb) int i; for(i=0; inDb; i++){ Db *pDb = &db->aDb[i]; - if( pDb->pBt && (!zDb || 0==sqlite3StrICmp(zDb, pDb->zName)) ){ + if( pDb->pBt && (!zDb || 0==sqlite3StrICmp(zDb, pDb->zDbSName)) ){ sqlite3CodeVerifySchema(pParse, i); } } @@ -101110,7 +102590,7 @@ SQLITE_PRIVATE void sqlite3Reindex(Parse *pParse, Token *pName1, Token *pName2){ if( iDb<0 ) return; z = sqlite3NameFromToken(db, pObjName); if( z==0 ) return; - zDb = db->aDb[iDb].zName; + zDb = db->aDb[iDb].zDbSName; pTab = sqlite3FindTable(db, z, zDb); if( pTab ){ reindexTable(pParse, pTab, 0); @@ -101131,10 +102611,6 @@ SQLITE_PRIVATE void sqlite3Reindex(Parse *pParse, Token *pName1, Token *pName2){ /* ** Return a KeyInfo structure that is appropriate for the given Index. ** -** The KeyInfo structure for an index is cached in the Index object. -** So there might be multiple references to the returned pointer. The -** caller should not try to modify the KeyInfo object. -** ** The caller should invoke sqlite3KeyInfoUnref() on the returned object ** when it has finished using it. */ @@ -101828,7 +103304,7 @@ SQLITE_PRIVATE void sqlite3MaterializeView( if( pFrom ){ assert( pFrom->nSrc==1 ); pFrom->a[0].zName = sqlite3DbStrDup(db, pView->zName); - pFrom->a[0].zDatabase = sqlite3DbStrDup(db, db->aDb[iDb].zName); + pFrom->a[0].zDatabase = sqlite3DbStrDup(db, db->aDb[iDb].zDbSName); assert( pFrom->a[0].pOn==0 ); assert( pFrom->a[0].pUsing==0 ); } @@ -101938,7 +103414,6 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( ){ Vdbe *v; /* The virtual database engine */ Table *pTab; /* The table from which records will be deleted */ - const char *zDb; /* Name of database holding pTab */ int i; /* Loop counter */ WhereInfo *pWInfo; /* Information about the WHERE clause */ Index *pIdx; /* For looping over indices of the table */ @@ -102015,8 +103490,8 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( } iDb = sqlite3SchemaToIndex(db, pTab->pSchema); assert( iDbnDb ); - zDb = db->aDb[iDb].zName; - rcauth = sqlite3AuthCheck(pParse, SQLITE_DELETE, pTab->zName, 0, zDb); + rcauth = sqlite3AuthCheck(pParse, SQLITE_DELETE, pTab->zName, 0, + db->aDb[iDb].zDbSName); assert( rcauth==SQLITE_OK || rcauth==SQLITE_DENY || rcauth==SQLITE_IGNORE ); if( rcauth==SQLITE_DENY ){ goto delete_from_cleanup; @@ -102200,7 +103675,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( if( !isView ){ int iAddrOnce = 0; if( eOnePass==ONEPASS_MULTI ){ - iAddrOnce = sqlite3CodeOnce(pParse); VdbeCoverage(v); + iAddrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); } testcase( IsVirtual(pTab) ); sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, OPFLAG_FORDELETE, @@ -103366,7 +104841,7 @@ static int patternCompare( } c2 = Utf8Read(zString); if( c==c2 ) continue; - if( noCase && c<0x80 && c2<0x80 && sqlite3Tolower(c)==sqlite3Tolower(c2) ){ + if( noCase && sqlite3Tolower(c)==sqlite3Tolower(c2) && c<0x80 && c2<0x80 ){ continue; } if( c==matchOne && zPattern!=zEscaped && c2!=0 ) continue; @@ -103378,14 +104853,14 @@ static int patternCompare( /* ** The sqlite3_strglob() interface. */ -SQLITE_API int SQLITE_STDCALL sqlite3_strglob(const char *zGlobPattern, const char *zString){ +SQLITE_API int sqlite3_strglob(const char *zGlobPattern, const char *zString){ return patternCompare((u8*)zGlobPattern, (u8*)zString, &globInfo, '[')==0; } /* ** The sqlite3_strlike() interface. */ -SQLITE_API int SQLITE_STDCALL sqlite3_strlike(const char *zPattern, const char *zStr, unsigned int esc){ +SQLITE_API int sqlite3_strlike(const char *zPattern, const char *zStr, unsigned int esc){ return patternCompare((u8*)zPattern, (u8*)zStr, &likeInfoNorm, esc)==0; } @@ -103942,6 +105417,26 @@ static void trimFunc( } +#ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION +/* +** The "unknown" function is automatically substituted in place of +** any unrecognized function name when doing an EXPLAIN or EXPLAIN QUERY PLAN +** when the SQLITE_ENABLE_UNKNOWN_FUNCTION compile-time option is used. +** When the "sqlite3" command-line shell is built using this functionality, +** that allows an EXPLAIN or EXPLAIN QUERY PLAN for complex queries +** involving application-defined functions to be examined in a generic +** sqlite3 shell. +*/ +static void unknownFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + /* no-op */ +} +#endif /*SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION*/ + + /* IMP: R-25361-16150 This function is omitted from SQLite by default. It ** is only available if the SQLITE_SOUNDEX compile-time option is used ** when SQLite is built. @@ -104412,13 +105907,16 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){ AGGREGATE(group_concat, 2, 0, 0, groupConcatStep, groupConcatFinalize), LIKEFUNC(glob, 2, &globInfo, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE), - #ifdef SQLITE_CASE_SENSITIVE_LIKE +#ifdef SQLITE_CASE_SENSITIVE_LIKE LIKEFUNC(like, 2, &likeInfoAlt, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE), LIKEFUNC(like, 3, &likeInfoAlt, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE), - #else +#else LIKEFUNC(like, 2, &likeInfoNorm, SQLITE_FUNC_LIKE), LIKEFUNC(like, 3, &likeInfoNorm, SQLITE_FUNC_LIKE), - #endif +#endif +#ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + FUNCTION(unknown, -1, 0, 0, unknownFunc ), +#endif FUNCTION(coalesce, 1, 0, 0, 0 ), FUNCTION(coalesce, 0, 0, 0, 0 ), FUNCTION2(coalesce, -1, 0, 0, noopFunc, SQLITE_FUNC_COALESCE), @@ -105324,7 +106822,7 @@ SQLITE_PRIVATE void sqlite3FkCheck( if( (db->flags&SQLITE_ForeignKeys)==0 ) return; iDb = sqlite3SchemaToIndex(db, pTab->pSchema); - zDb = db->aDb[iDb].zName; + zDb = db->aDb[iDb].zDbSName; /* Loop through all the foreign key constraints for which pTab is the ** child table (the table that the foreign key definition is part of). */ @@ -105695,10 +107193,10 @@ static Trigger *fkActionTrigger( if( pDflt ){ pNew = sqlite3ExprDup(db, pDflt, 0); }else{ - pNew = sqlite3PExpr(pParse, TK_NULL, 0, 0, 0); + pNew = sqlite3ExprAlloc(db, TK_NULL, 0, 0); } }else{ - pNew = sqlite3PExpr(pParse, TK_NULL, 0, 0, 0); + pNew = sqlite3ExprAlloc(db, TK_NULL, 0, 0); } pList = sqlite3ExprListAppend(pParse, pList, pNew); sqlite3ExprListSetName(pParse, pList, &tFromCol, 0); @@ -105825,7 +107323,8 @@ SQLITE_PRIVATE void sqlite3FkDelete(sqlite3 *db, Table *pTab){ FKey *pFKey; /* Iterator variable */ FKey *pNext; /* Copy of pFKey->pNextFrom */ - assert( db==0 || sqlite3SchemaMutexHeld(db, 0, pTab->pSchema) ); + assert( db==0 || IsVirtual(pTab) + || sqlite3SchemaMutexHeld(db, 0, pTab->pSchema) ); for(pFKey=pTab->pFKey; pFKey; pFKey=pNext){ /* Remove the FK from the fkeyHash hash table. */ @@ -106063,7 +107562,9 @@ static int readsTable(Parse *p, int iDb, Table *pTab){ /* ** Locate or create an AutoincInfo structure associated with table pTab ** which is in database iDb. Return the register number for the register -** that holds the maximum rowid. +** that holds the maximum rowid. Return zero if pTab is not an AUTOINCREMENT +** table. (Also return zero when doing a VACUUM since we do not want to +** update the AUTOINCREMENT counters during a VACUUM.) ** ** There is at most one AutoincInfo structure per table even if the ** same table is autoincremented multiple times due to inserts within @@ -106086,7 +107587,9 @@ static int autoIncBegin( Table *pTab /* The table we are writing to */ ){ int memId = 0; /* Register holding maximum rowid */ - if( pTab->tabFlags & TF_Autoincrement ){ + if( (pTab->tabFlags & TF_Autoincrement)!=0 + && (pParse->db->flags & SQLITE_Vacuum)==0 + ){ Parse *pToplevel = sqlite3ParseToplevel(pParse); AutoincInfo *pInfo; @@ -106344,7 +107847,6 @@ SQLITE_PRIVATE void sqlite3Insert( sqlite3 *db; /* The main database structure */ Table *pTab; /* The table to insert into. aka TABLE */ char *zTab; /* Name of the table into which we are inserting */ - const char *zDb; /* Name of the database holding this table */ int i, j, idx; /* Loop counters */ Vdbe *v; /* Generate code into this virtual machine */ Index *pIdx; /* For looping over indices of the table */ @@ -106359,7 +107861,6 @@ SQLITE_PRIVATE void sqlite3Insert( int addrCont = 0; /* Top of insert loop. Label "C" in templates 3 and 4 */ SelectDest dest; /* Destination for SELECT on rhs of INSERT */ int iDb; /* Index of database holding TABLE */ - Db *pDb; /* The database containing table being inserted into */ u8 useTempTable = 0; /* Store SELECT results in intermediate table */ u8 appendFlag = 0; /* True if the insert is likely to be an append */ u8 withoutRowid; /* 0 for normal table. 1 for WITHOUT ROWID table */ @@ -106409,9 +107910,8 @@ SQLITE_PRIVATE void sqlite3Insert( } iDb = sqlite3SchemaToIndex(db, pTab->pSchema); assert( iDbnDb ); - pDb = &db->aDb[iDb]; - zDb = pDb->zName; - if( sqlite3AuthCheck(pParse, SQLITE_INSERT, pTab->zName, 0, zDb) ){ + if( sqlite3AuthCheck(pParse, SQLITE_INSERT, pTab->zName, 0, + db->aDb[iDb].zDbSName) ){ goto insert_cleanup; } withoutRowid = !HasRowid(pTab); @@ -107640,15 +109140,15 @@ SQLITE_PRIVATE int sqlite3OpenTableAndIndices( for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){ int iIdxCur = iBase++; assert( pIdx->pSchema==pTab->pSchema ); + if( IsPrimaryKeyIndex(pIdx) && !HasRowid(pTab) ){ + if( piDataCur ) *piDataCur = iIdxCur; + p5 = 0; + } if( aToOpen==0 || aToOpen[i+1] ){ sqlite3VdbeAddOp3(v, op, iIdxCur, pIdx->tnum, iDb); sqlite3VdbeSetP4KeyInfo(pParse, pIdx); - VdbeComment((v, "%s", pIdx->zName)); - } - if( IsPrimaryKeyIndex(pIdx) && !HasRowid(pTab) ){ - if( piDataCur ) *piDataCur = iIdxCur; - }else{ sqlite3VdbeChangeP5(v, p5); + VdbeComment((v, "%s", pIdx->zName)); } } if( iBase>pParse->nTab ) pParse->nTab = iBase; @@ -108039,6 +109539,7 @@ static int xferOptimization( sqlite3ReleaseTempReg(pParse, regRowid); sqlite3ReleaseTempReg(pParse, regData); if( emptyDestTest ){ + sqlite3AutoincrementEnd(pParse); sqlite3VdbeAddOp2(v, OP_Halt, SQLITE_OK, 0); sqlite3VdbeJumpHere(v, emptyDestTest); sqlite3VdbeAddOp2(v, OP_Close, iDest, 0); @@ -108080,7 +109581,7 @@ static int xferOptimization( ** argument to xCallback(). If xCallback=NULL then no callback ** is invoked, even for queries. */ -SQLITE_API int SQLITE_STDCALL sqlite3_exec( +SQLITE_API int sqlite3_exec( sqlite3 *db, /* The database on which the SQL executes */ const char *zSql, /* The SQL to be executed */ sqlite3_callback xCallback, /* Invoke this callback routine */ @@ -108235,12 +109736,10 @@ SQLITE_API int SQLITE_STDCALL sqlite3_exec( ** as extensions by SQLite should #include this file instead of ** sqlite3.h. */ -#ifndef _SQLITE3EXT_H_ -#define _SQLITE3EXT_H_ +#ifndef SQLITE3EXT_H +#define SQLITE3EXT_H /* #include "sqlite3.h" */ -typedef struct sqlite3_api_routines sqlite3_api_routines; - /* ** The following structure holds pointers to all of the SQLite API ** routines. @@ -108501,8 +110000,21 @@ struct sqlite3_api_routines { int (*db_cacheflush)(sqlite3*); /* Version 3.12.0 and later */ int (*system_errno)(sqlite3*); + /* Version 3.14.0 and later */ + int (*trace_v2)(sqlite3*,unsigned,int(*)(unsigned,void*,void*,void*),void*); + char *(*expanded_sql)(sqlite3_stmt*); }; +/* +** This is the function signature used for all extension entry points. It +** is also defined in the file "loadext.c". +*/ +typedef int (*sqlite3_loadext_entry)( + sqlite3 *db, /* Handle to the database. */ + char **pzErrMsg, /* Used to set error string on failure. */ + const sqlite3_api_routines *pThunk /* Extension API function pointers. */ +); + /* ** The following macros redefine the API routines so that they are ** redirected through the global sqlite3_api structure. @@ -108746,6 +110258,9 @@ struct sqlite3_api_routines { #define sqlite3_db_cacheflush sqlite3_api->db_cacheflush /* Version 3.12.0 and later */ #define sqlite3_system_errno sqlite3_api->system_errno +/* Version 3.14.0 and later */ +#define sqlite3_trace_v2 sqlite3_api->trace_v2 +#define sqlite3_expanded_sql sqlite3_api->expanded_sql #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) @@ -108763,7 +110278,7 @@ struct sqlite3_api_routines { # define SQLITE_EXTENSION_INIT3 /*no-op*/ #endif -#endif /* _SQLITE3EXT_H_ */ +#endif /* SQLITE3EXT_H */ /************** End of sqlite3ext.h ******************************************/ /************** Continuing where we left off in loadext.c ********************/ @@ -108771,7 +110286,6 @@ struct sqlite3_api_routines { /* #include */ #ifndef SQLITE_OMIT_LOAD_EXTENSION - /* ** Some API routines are omitted when various features are ** excluded from a build of SQLite. Substitute a NULL pointer @@ -108841,7 +110355,7 @@ struct sqlite3_api_routines { # define sqlite3_enable_shared_cache 0 #endif -#ifdef SQLITE_OMIT_TRACE +#if defined(SQLITE_OMIT_TRACE) || defined(SQLITE_OMIT_DEPRECATED) # define sqlite3_profile 0 # define sqlite3_trace 0 #endif @@ -108861,6 +110375,10 @@ struct sqlite3_api_routines { #define sqlite3_blob_reopen 0 #endif +#if defined(SQLITE_OMIT_TRACE) +# define sqlite3_trace_v2 0 +#endif + /* ** The following structure contains pointers to all SQLite API routines. ** A pointer to this structure is passed into extensions when they are @@ -109166,7 +110684,10 @@ static const sqlite3_api_routines sqlite3Apis = { sqlite3_strlike, sqlite3_db_cacheflush, /* Version 3.12.0 and later */ - sqlite3_system_errno + sqlite3_system_errno, + /* Version 3.14.0 and later */ + sqlite3_trace_v2, + sqlite3_expanded_sql }; /* @@ -109189,13 +110710,14 @@ static int sqlite3LoadExtension( ){ sqlite3_vfs *pVfs = db->pVfs; void *handle; - int (*xInit)(sqlite3*,char**,const sqlite3_api_routines*); + sqlite3_loadext_entry xInit; char *zErrmsg = 0; const char *zEntry; char *zAltEntry = 0; void **aHandle; u64 nMsg = 300 + sqlite3Strlen30(zFile); int ii; + int rc; /* Shared library endings to try if zFile cannot be loaded as written */ static const char *azEndings[] = { @@ -109247,8 +110769,7 @@ static int sqlite3LoadExtension( } return SQLITE_ERROR; } - xInit = (int(*)(sqlite3*,char**,const sqlite3_api_routines*)) - sqlite3OsDlSym(pVfs, handle, zEntry); + xInit = (sqlite3_loadext_entry)sqlite3OsDlSym(pVfs, handle, zEntry); /* If no entry point was specified and the default legacy ** entry point name "sqlite3_extension_init" was not found, then @@ -109280,8 +110801,7 @@ static int sqlite3LoadExtension( } memcpy(zAltEntry+iEntry, "_init", 6); zEntry = zAltEntry; - xInit = (int(*)(sqlite3*,char**,const sqlite3_api_routines*)) - sqlite3OsDlSym(pVfs, handle, zEntry); + xInit = (sqlite3_loadext_entry)sqlite3OsDlSym(pVfs, handle, zEntry); } if( xInit==0 ){ if( pzErrMsg ){ @@ -109298,7 +110818,9 @@ static int sqlite3LoadExtension( return SQLITE_ERROR; } sqlite3_free(zAltEntry); - if( xInit(db, &zErrmsg, &sqlite3Apis) ){ + rc = xInit(db, &zErrmsg, &sqlite3Apis); + if( rc ){ + if( rc==SQLITE_OK_LOAD_PERMANENTLY ) return SQLITE_OK; if( pzErrMsg ){ *pzErrMsg = sqlite3_mprintf("error during initialization: %s", zErrmsg); } @@ -109321,7 +110843,7 @@ static int sqlite3LoadExtension( db->aExtension[db->nExtension++] = handle; return SQLITE_OK; } -SQLITE_API int SQLITE_STDCALL sqlite3_load_extension( +SQLITE_API int sqlite3_load_extension( sqlite3 *db, /* Load the extension into this database connection */ const char *zFile, /* Name of the shared library containing extension */ const char *zProc, /* Entry point. Use "sqlite3_extension_init" if 0 */ @@ -109352,7 +110874,7 @@ SQLITE_PRIVATE void sqlite3CloseExtensions(sqlite3 *db){ ** Enable or disable extension loading. Extension loading is disabled by ** default so as not to open security holes in older applications. */ -SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int onoff){ +SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff){ sqlite3_mutex_enter(db->mutex); if( onoff ){ db->flags |= SQLITE_LoadExtension|SQLITE_LoadExtFunc; @@ -109363,18 +110885,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int ono return SQLITE_OK; } -#endif /* SQLITE_OMIT_LOAD_EXTENSION */ - -/* -** The auto-extension code added regardless of whether or not extension -** loading is supported. We need a dummy sqlite3Apis pointer for that -** code if regular extension loading is not available. This is that -** dummy pointer. -*/ -#ifdef SQLITE_OMIT_LOAD_EXTENSION -static const sqlite3_api_routines sqlite3Apis = { 0 }; -#endif - +#endif /* !defined(SQLITE_OMIT_LOAD_EXTENSION) */ /* ** The following object holds the list of automatically loaded @@ -109409,7 +110920,9 @@ static SQLITE_WSD struct sqlite3AutoExtList { ** Register a statically linked extension that is automatically ** loaded by every new database connection. */ -SQLITE_API int SQLITE_STDCALL sqlite3_auto_extension(void (*xInit)(void)){ +SQLITE_API int sqlite3_auto_extension( + void (*xInit)(void) +){ int rc = SQLITE_OK; #ifndef SQLITE_OMIT_AUTOINIT rc = sqlite3_initialize(); @@ -109454,7 +110967,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_auto_extension(void (*xInit)(void)){ ** Return 1 if xInit was found on the list and removed. Return 0 if xInit ** was not on the list. */ -SQLITE_API int SQLITE_STDCALL sqlite3_cancel_auto_extension(void (*xInit)(void)){ +SQLITE_API int sqlite3_cancel_auto_extension( + void (*xInit)(void) +){ #if SQLITE_THREADSAFE sqlite3_mutex *mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER); #endif @@ -109477,7 +110992,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_cancel_auto_extension(void (*xInit)(void)) /* ** Reset the automatic extension loading mechanism. */ -SQLITE_API void SQLITE_STDCALL sqlite3_reset_auto_extension(void){ +SQLITE_API void sqlite3_reset_auto_extension(void){ #ifndef SQLITE_OMIT_AUTOINIT if( sqlite3_initialize()==SQLITE_OK ) #endif @@ -109503,7 +111018,7 @@ SQLITE_PRIVATE void sqlite3AutoLoadExtensions(sqlite3 *db){ u32 i; int go = 1; int rc; - int (*xInit)(sqlite3*,char**,const sqlite3_api_routines*); + sqlite3_loadext_entry xInit; wsdAutoextInit; if( wsdAutoext.nExt==0 ){ @@ -109514,18 +111029,22 @@ SQLITE_PRIVATE void sqlite3AutoLoadExtensions(sqlite3 *db){ char *zErrmsg; #if SQLITE_THREADSAFE sqlite3_mutex *mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER); +#endif +#ifdef SQLITE_OMIT_LOAD_EXTENSION + const sqlite3_api_routines *pThunk = 0; +#else + const sqlite3_api_routines *pThunk = &sqlite3Apis; #endif sqlite3_mutex_enter(mutex); if( i>=wsdAutoext.nExt ){ xInit = 0; go = 0; }else{ - xInit = (int(*)(sqlite3*,char**,const sqlite3_api_routines*)) - wsdAutoext.aExt[i]; + xInit = (sqlite3_loadext_entry)wsdAutoext.aExt[i]; } sqlite3_mutex_leave(mutex); zErrmsg = 0; - if( xInit && (rc = xInit(db, &zErrmsg, &sqlite3Apis))!=0 ){ + if( xInit && (rc = xInit(db, &zErrmsg, pThunk))!=0 ){ sqlite3ErrorWithMsg(db, rc, "automatic extension loading failed: %s", zErrmsg); go = 0; @@ -110344,7 +111863,7 @@ SQLITE_PRIVATE void sqlite3Pragma( } assert( pId2 ); - zDb = pId2->n>0 ? pDb->zName : 0; + zDb = pId2->n>0 ? pDb->zDbSName : 0; if( sqlite3AuthCheck(pParse, SQLITE_PRAGMA, zLeft, zRight, zDb) ){ goto pragma_out; } @@ -111036,7 +112555,7 @@ SQLITE_PRIVATE void sqlite3Pragma( ** compiler (eg. count_changes). So add an opcode to expire all ** compiled SQL statements after modifying a pragma value. */ - sqlite3VdbeAddOp2(v, OP_Expire, 0, 0); + sqlite3VdbeAddOp0(v, OP_Expire); setAllPagerFlags(db); } break; @@ -111058,7 +112577,7 @@ SQLITE_PRIVATE void sqlite3Pragma( */ case PragTyp_TABLE_INFO: if( zRight ){ Table *pTab; - pTab = sqlite3FindTable(db, zRight, zDb); + pTab = sqlite3LocateTable(pParse, LOCATE_NOERR, zRight, zDb); if( pTab ){ static const char *azCol[] = { "cid", "name", "type", "notnull", "dflt_value", "pk" @@ -111197,10 +112716,10 @@ SQLITE_PRIVATE void sqlite3Pragma( setAllColumnNames(v, 3, azCol); assert( 3==ArraySize(azCol) ); for(i=0; inDb; i++){ if( db->aDb[i].pBt==0 ) continue; - assert( db->aDb[i].zName!=0 ); + assert( db->aDb[i].zDbSName!=0 ); sqlite3VdbeMultiLoad(v, 1, "iss", i, - db->aDb[i].zName, + db->aDb[i].zDbSName, sqlite3BtreeGetFilename(db->aDb[i].pBt)); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 3); } @@ -111340,12 +112859,10 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3VdbeAddOp3(v, OP_Column, 0, iKey, regRow); sqlite3ColumnDefault(v, pTab, iKey, regRow); sqlite3VdbeAddOp2(v, OP_IsNull, regRow, addrOk); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_MustBeInt, regRow, - sqlite3VdbeCurrentAddr(v)+3); VdbeCoverage(v); }else{ sqlite3VdbeAddOp2(v, OP_Rowid, 0, regRow); } - sqlite3VdbeAddOp3(v, OP_NotExists, i, 0, regRow); VdbeCoverage(v); + sqlite3VdbeAddOp3(v, OP_SeekRowid, i, 0, regRow); VdbeCoverage(v); sqlite3VdbeGoto(v, addrOk); sqlite3VdbeJumpHere(v, sqlite3VdbeCurrentAddr(v)-2); }else{ @@ -111491,7 +113008,7 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3VdbeChangeP5(v, (u8)i); addr = sqlite3VdbeAddOp1(v, OP_IsNull, 2); VdbeCoverage(v); sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, - sqlite3MPrintf(db, "*** in database %s ***\n", db->aDb[i].zName), + sqlite3MPrintf(db, "*** in database %s ***\n", db->aDb[i].zDbSName), P4_DYNAMIC); sqlite3VdbeAddOp3(v, OP_Move, 2, 4, 1); sqlite3VdbeAddOp3(v, OP_Concat, 4, 3, 2); @@ -111930,15 +113447,15 @@ SQLITE_PRIVATE void sqlite3Pragma( Btree *pBt; const char *zState = "unknown"; int j; - if( db->aDb[i].zName==0 ) continue; + if( db->aDb[i].zDbSName==0 ) continue; pBt = db->aDb[i].pBt; if( pBt==0 || sqlite3BtreePager(pBt)==0 ){ zState = "closed"; - }else if( sqlite3_file_control(db, i ? db->aDb[i].zName : 0, + }else if( sqlite3_file_control(db, i ? db->aDb[i].zDbSName : 0, SQLITE_FCNTL_LOCKSTATE, &j)==SQLITE_OK ){ zState = azLockName[j]; } - sqlite3VdbeMultiLoad(v, 1, "ss", db->aDb[i].zName, zState); + sqlite3VdbeMultiLoad(v, 1, "ss", db->aDb[i].zDbSName, zState); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 2); } break; @@ -112074,6 +113591,7 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char ** structures that describe the table, index, or view. */ int rc; + u8 saved_iDb = db->init.iDb; sqlite3_stmt *pStmt; TESTONLY(int rcp); /* Return code from sqlite3_prepare() */ @@ -112084,7 +113602,8 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char TESTONLY(rcp = ) sqlite3_prepare(db, argv[2], -1, &pStmt, 0); rc = db->errCode; assert( (rc&0xFF)==(rcp&0xFF) ); - db->init.iDb = 0; + db->init.iDb = saved_iDb; + assert( saved_iDb==0 || (db->flags & SQLITE_Vacuum)!=0 ); if( SQLITE_OK!=rc ){ if( db->init.orphanTrigger ){ assert( iDb==1 ); @@ -112108,7 +113627,7 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char ** to do here is record the root page number for that index. */ Index *pIndex; - pIndex = sqlite3FindIndex(db, argv[0], db->aDb[iDb].zName); + pIndex = sqlite3FindIndex(db, argv[0], db->aDb[iDb].zDbSName); if( pIndex==0 ){ /* This can occur if there exists an index on a TEMP table which ** has the same name as another index on a permanent index. Since @@ -112287,7 +113806,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ char *zSql; zSql = sqlite3MPrintf(db, "SELECT name, rootpage, sql FROM \"%w\".%s ORDER BY rowid", - db->aDb[iDb].zName, zMasterName); + db->aDb[iDb].zDbSName, zMasterName); #ifndef SQLITE_OMIT_AUTHORIZATION { sqlite3_xauth xAuth; @@ -112517,18 +114036,14 @@ static int sqlite3Prepare( sqlite3_stmt **ppStmt, /* OUT: A pointer to the prepared statement */ const char **pzTail /* OUT: End of parsed string */ ){ - Parse *pParse; /* Parsing context */ char *zErrMsg = 0; /* Error message */ int rc = SQLITE_OK; /* Result code */ int i; /* Loop counter */ + Parse sParse; /* Parsing context */ - /* Allocate the parsing context */ - pParse = sqlite3StackAllocZero(db, sizeof(*pParse)); - if( pParse==0 ){ - rc = SQLITE_NOMEM_BKPT; - goto end_prepare; - } - pParse->pReprepare = pReprepare; + memset(&sParse, 0, PARSE_HDR_SZ); + memset(PARSE_TAIL(&sParse), 0, PARSE_TAIL_SZ); + sParse.pReprepare = pReprepare; assert( ppStmt && *ppStmt==0 ); /* assert( !db->mallocFailed ); // not true with SQLITE_USE_ALLOCA */ assert( sqlite3_mutex_held(db->mutex) ); @@ -112562,7 +114077,7 @@ static int sqlite3Prepare( assert( sqlite3BtreeHoldsMutex(pBt) ); rc = sqlite3BtreeSchemaLocked(pBt); if( rc ){ - const char *zDb = db->aDb[i].zName; + const char *zDb = db->aDb[i].zDbSName; sqlite3ErrorWithMsg(db, rc, "database schema is locked: %s", zDb); testcase( db->flags & SQLITE_ReadUncommitted ); goto end_prepare; @@ -112572,8 +114087,7 @@ static int sqlite3Prepare( sqlite3VtabUnlockList(db); - pParse->db = db; - pParse->nQueryLoop = 0; /* Logarithmic, so 0 really means 1 */ + sParse.db = db; if( nBytes>=0 && (nBytes==0 || zSql[nBytes-1]!=0) ){ char *zSqlCopy; int mxLen = db->aLimit[SQLITE_LIMIT_SQL_LENGTH]; @@ -112586,61 +114100,61 @@ static int sqlite3Prepare( } zSqlCopy = sqlite3DbStrNDup(db, zSql, nBytes); if( zSqlCopy ){ - sqlite3RunParser(pParse, zSqlCopy, &zErrMsg); - pParse->zTail = &zSql[pParse->zTail-zSqlCopy]; + sqlite3RunParser(&sParse, zSqlCopy, &zErrMsg); + sParse.zTail = &zSql[sParse.zTail-zSqlCopy]; sqlite3DbFree(db, zSqlCopy); }else{ - pParse->zTail = &zSql[nBytes]; + sParse.zTail = &zSql[nBytes]; } }else{ - sqlite3RunParser(pParse, zSql, &zErrMsg); + sqlite3RunParser(&sParse, zSql, &zErrMsg); } - assert( 0==pParse->nQueryLoop ); + assert( 0==sParse.nQueryLoop ); - if( pParse->rc==SQLITE_DONE ) pParse->rc = SQLITE_OK; - if( pParse->checkSchema ){ - schemaIsValid(pParse); + if( sParse.rc==SQLITE_DONE ) sParse.rc = SQLITE_OK; + if( sParse.checkSchema ){ + schemaIsValid(&sParse); } if( db->mallocFailed ){ - pParse->rc = SQLITE_NOMEM_BKPT; + sParse.rc = SQLITE_NOMEM_BKPT; } if( pzTail ){ - *pzTail = pParse->zTail; + *pzTail = sParse.zTail; } - rc = pParse->rc; + rc = sParse.rc; #ifndef SQLITE_OMIT_EXPLAIN - if( rc==SQLITE_OK && pParse->pVdbe && pParse->explain ){ + if( rc==SQLITE_OK && sParse.pVdbe && sParse.explain ){ static const char * const azColName[] = { "addr", "opcode", "p1", "p2", "p3", "p4", "p5", "comment", "selectid", "order", "from", "detail" }; int iFirst, mx; - if( pParse->explain==2 ){ - sqlite3VdbeSetNumCols(pParse->pVdbe, 4); + if( sParse.explain==2 ){ + sqlite3VdbeSetNumCols(sParse.pVdbe, 4); iFirst = 8; mx = 12; }else{ - sqlite3VdbeSetNumCols(pParse->pVdbe, 8); + sqlite3VdbeSetNumCols(sParse.pVdbe, 8); iFirst = 0; mx = 8; } for(i=iFirst; ipVdbe, i-iFirst, COLNAME_NAME, + sqlite3VdbeSetColName(sParse.pVdbe, i-iFirst, COLNAME_NAME, azColName[i], SQLITE_STATIC); } } #endif if( db->init.busy==0 ){ - Vdbe *pVdbe = pParse->pVdbe; - sqlite3VdbeSetSql(pVdbe, zSql, (int)(pParse->zTail-zSql), saveSqlFlag); + Vdbe *pVdbe = sParse.pVdbe; + sqlite3VdbeSetSql(pVdbe, zSql, (int)(sParse.zTail-zSql), saveSqlFlag); } - if( pParse->pVdbe && (rc!=SQLITE_OK || db->mallocFailed) ){ - sqlite3VdbeFinalize(pParse->pVdbe); + if( sParse.pVdbe && (rc!=SQLITE_OK || db->mallocFailed) ){ + sqlite3VdbeFinalize(sParse.pVdbe); assert(!(*ppStmt)); }else{ - *ppStmt = (sqlite3_stmt*)pParse->pVdbe; + *ppStmt = (sqlite3_stmt*)sParse.pVdbe; } if( zErrMsg ){ @@ -112651,16 +114165,15 @@ static int sqlite3Prepare( } /* Delete any TriggerPrg structures allocated while parsing this statement. */ - while( pParse->pTriggerPrg ){ - TriggerPrg *pT = pParse->pTriggerPrg; - pParse->pTriggerPrg = pT->pNext; + while( sParse.pTriggerPrg ){ + TriggerPrg *pT = sParse.pTriggerPrg; + sParse.pTriggerPrg = pT->pNext; sqlite3DbFree(db, pT); } end_prepare: - sqlite3ParserReset(pParse); - sqlite3StackFree(db, pParse); + sqlite3ParserReset(&sParse); rc = sqlite3ApiExit(db, rc); assert( (rc&db->errMask)==rc ); return rc; @@ -112741,7 +114254,7 @@ SQLITE_PRIVATE int sqlite3Reprepare(Vdbe *p){ ** and the statement is automatically recompiled if an schema change ** occurs. */ -SQLITE_API int SQLITE_STDCALL sqlite3_prepare( +SQLITE_API int sqlite3_prepare( sqlite3 *db, /* Database handle. */ const char *zSql, /* UTF-8 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ @@ -112753,7 +114266,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_prepare( assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */ return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3_prepare_v2( +SQLITE_API int sqlite3_prepare_v2( sqlite3 *db, /* Database handle. */ const char *zSql, /* UTF-8 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ @@ -112829,7 +114342,7 @@ static int sqlite3Prepare16( ** and the statement is automatically recompiled if an schema change ** occurs. */ -SQLITE_API int SQLITE_STDCALL sqlite3_prepare16( +SQLITE_API int sqlite3_prepare16( sqlite3 *db, /* Database handle. */ const void *zSql, /* UTF-16 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ @@ -112841,7 +114354,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_prepare16( assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */ return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3_prepare16_v2( +SQLITE_API int sqlite3_prepare16_v2( sqlite3 *db, /* Database handle. */ const void *zSql, /* UTF-16 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ @@ -112916,6 +114429,7 @@ struct SortCtx { int addrSortIndex; /* Address of the OP_SorterOpen or OP_OpenEphemeral */ int labelDone; /* Jump here when done, ex: LIMIT reached */ u8 sortFlags; /* Zero or more SORTFLAG_* bits */ + u8 bOrderedInnerLoop; /* ORDER BY correctly sorts the inner loop */ }; #define SORTFLAG_UseSorter 0x01 /* Use SorterOpen instead of OpenEphemeral */ @@ -112947,7 +114461,7 @@ static void clearSelect(sqlite3 *db, Select *p, int bFree){ SQLITE_PRIVATE void sqlite3SelectDestInit(SelectDest *pDest, int eDest, int iParm){ pDest->eDest = (u8)eDest; pDest->iSDParm = iParm; - pDest->affSdst = 0; + pDest->zAffSdst = 0; pDest->iSdst = 0; pDest->nSdst = 0; } @@ -113449,9 +114963,30 @@ static void pushOntoSorter( sqlite3VdbeAddOp2(v, op, pSort->iECursor, regRecord); if( iLimit ){ int addr; + int r1 = 0; + /* Fill the sorter until it contains LIMIT+OFFSET entries. (The iLimit + ** register is initialized with value of LIMIT+OFFSET.) After the sorter + ** fills up, delete the least entry in the sorter after each insert. + ** Thus we never hold more than the LIMIT+OFFSET rows in memory at once */ addr = sqlite3VdbeAddOp3(v, OP_IfNotZero, iLimit, 0, 1); VdbeCoverage(v); sqlite3VdbeAddOp1(v, OP_Last, pSort->iECursor); + if( pSort->bOrderedInnerLoop ){ + r1 = ++pParse->nMem; + sqlite3VdbeAddOp3(v, OP_Column, pSort->iECursor, nExpr, r1); + VdbeComment((v, "seq")); + } sqlite3VdbeAddOp1(v, OP_Delete, pSort->iECursor); + if( pSort->bOrderedInnerLoop ){ + /* If the inner loop is driven by an index such that values from + ** the same iteration of the inner loop are in sorted order, then + ** immediately jump to the next iteration of an inner loop if the + ** entry from the current iteration does not fit into the top + ** LIMIT+OFFSET entries of the sorter. */ + int iBrk = sqlite3VdbeCurrentAddr(v) + 2; + sqlite3VdbeAddOp3(v, OP_Eq, regBase+nExpr, iBrk, r1); + sqlite3VdbeChangeP5(v, SQLITE_NULLEQ); + VdbeCoverage(v); + } sqlite3VdbeJumpHere(v, addr); } } @@ -113497,30 +115032,6 @@ static void codeDistinct( sqlite3ReleaseTempReg(pParse, r1); } -#ifndef SQLITE_OMIT_SUBQUERY -/* -** Generate an error message when a SELECT is used within a subexpression -** (example: "a IN (SELECT * FROM table)") but it has more than 1 result -** column. We do this in a subroutine because the error used to occur -** in multiple places. (The error only occurs in one place now, but we -** retain the subroutine to minimize code disruption.) -*/ -static int checkForMultiColumnSelectError( - Parse *pParse, /* Parse context. */ - SelectDest *pDest, /* Destination of SELECT results */ - int nExpr /* Number of result columns returned by SELECT */ -){ - int eDest = pDest->eDest; - if( nExpr>1 && (eDest==SRT_Mem || eDest==SRT_Set) ){ - sqlite3ErrorMsg(pParse, "only a single result allowed for " - "a SELECT that is part of an expression"); - return 1; - }else{ - return 0; - } -} -#endif - /* ** This routine generates the code for the inside of the inner loop ** of a SELECT. @@ -113730,19 +115241,19 @@ static void selectInnerLoop( ** item into the set table with bogus data. */ case SRT_Set: { - assert( nResultCol==1 ); - pDest->affSdst = - sqlite3CompareAffinity(pEList->a[0].pExpr, pDest->affSdst); if( pSort ){ /* At first glance you would think we could optimize out the ** ORDER BY in this case since the order of entries in the set ** does not matter. But there might be a LIMIT clause, in which ** case the order does matter */ - pushOntoSorter(pParse, pSort, p, regResult, regResult, 1, nPrefixReg); + pushOntoSorter( + pParse, pSort, p, regResult, regResult, nResultCol, nPrefixReg); }else{ int r1 = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp4(v, OP_MakeRecord, regResult,1,r1, &pDest->affSdst, 1); - sqlite3ExprCacheAffinityChange(pParse, regResult, 1); + assert( sqlite3Strlen30(pDest->zAffSdst)==nResultCol ); + sqlite3VdbeAddOp4(v, OP_MakeRecord, regResult, nResultCol, + r1, pDest->zAffSdst, nResultCol); + sqlite3ExprCacheAffinityChange(pParse, regResult, nResultCol); sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm, r1); sqlite3ReleaseTempReg(pParse, r1); } @@ -113758,13 +115269,14 @@ static void selectInnerLoop( } /* If this is a scalar select that is part of an expression, then - ** store the results in the appropriate memory cell and break out - ** of the scan loop. + ** store the results in the appropriate memory cell or array of + ** memory cells and break out of the scan loop. */ case SRT_Mem: { - assert( nResultCol==1 ); + assert( nResultCol==pDest->nSdst ); if( pSort ){ - pushOntoSorter(pParse, pSort, p, regResult, regResult, 1, nPrefixReg); + pushOntoSorter( + pParse, pSort, p, regResult, regResult, nResultCol, nPrefixReg); }else{ assert( regResult==iParm ); /* The LIMIT clause will jump out of the loop for us */ @@ -113866,7 +115378,7 @@ static void selectInnerLoop( */ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){ int nExtra = (N+X)*(sizeof(CollSeq*)+1); - KeyInfo *p = sqlite3Malloc(sizeof(KeyInfo) + nExtra); + KeyInfo *p = sqlite3DbMallocRawNN(db, sizeof(KeyInfo) + nExtra); if( p ){ p->aSortOrder = (u8*)&p->aColl[N+X]; p->nField = (u16)N; @@ -113888,7 +115400,7 @@ SQLITE_PRIVATE void sqlite3KeyInfoUnref(KeyInfo *p){ if( p ){ assert( p->nRef>0 ); p->nRef--; - if( p->nRef==0 ) sqlite3DbFree(0, p); + if( p->nRef==0 ) sqlite3DbFree(p->db, p); } } @@ -114079,21 +115591,21 @@ static void generateSortTail( sqlite3VdbeResolveLabel(v, pSort->labelBkOut); } iTab = pSort->iECursor; - if( eDest==SRT_Output || eDest==SRT_Coroutine ){ + if( eDest==SRT_Output || eDest==SRT_Coroutine || eDest==SRT_Mem ){ regRowid = 0; regRow = pDest->iSdst; nSortData = nColumn; }else{ regRowid = sqlite3GetTempReg(pParse); - regRow = sqlite3GetTempReg(pParse); - nSortData = 1; + regRow = sqlite3GetTempRange(pParse, nColumn); + nSortData = nColumn; } nKey = pOrderBy->nExpr - pSort->nOBSat; if( pSort->sortFlags & SORTFLAG_UseSorter ){ int regSortOut = ++pParse->nMem; iSortTab = pParse->nTab++; if( pSort->labelBkOut ){ - addrOnce = sqlite3CodeOnce(pParse); VdbeCoverage(v); + addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); } sqlite3VdbeAddOp3(v, OP_OpenPseudo, iSortTab, regSortOut, nKey+1+nSortData); if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce); @@ -114121,16 +115633,14 @@ static void generateSortTail( } #ifndef SQLITE_OMIT_SUBQUERY case SRT_Set: { - assert( nColumn==1 ); - sqlite3VdbeAddOp4(v, OP_MakeRecord, regRow, 1, regRowid, - &pDest->affSdst, 1); - sqlite3ExprCacheAffinityChange(pParse, regRow, 1); + assert( nColumn==sqlite3Strlen30(pDest->zAffSdst) ); + sqlite3VdbeAddOp4(v, OP_MakeRecord, regRow, nColumn, regRowid, + pDest->zAffSdst, nColumn); + sqlite3ExprCacheAffinityChange(pParse, regRow, nColumn); sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm, regRowid); break; } case SRT_Mem: { - assert( nColumn==1 ); - sqlite3ExprCodeMove(pParse, regRow, iParm, 1); /* The LIMIT clause will terminate the loop for us */ break; } @@ -114149,7 +115659,11 @@ static void generateSortTail( } } if( regRowid ){ - sqlite3ReleaseTempReg(pParse, regRow); + if( eDest==SRT_Set ){ + sqlite3ReleaseTempRange(pParse, regRow, nColumn); + }else{ + sqlite3ReleaseTempReg(pParse, regRow); + } sqlite3ReleaseTempReg(pParse, regRowid); } /* The bottom of the loop @@ -114296,7 +115810,7 @@ static const char *columnTypeImpl( zOrigTab = pTab->zName; if( pNC->pParse ){ int iDb = sqlite3SchemaToIndex(pNC->pParse->db, pTab->pSchema); - zOrigDb = pNC->pParse->db->aDb[iDb].zName; + zOrigDb = pNC->pParse->db->aDb[iDb].zDbSName; } #else if( iCol<0 ){ @@ -114651,7 +116165,7 @@ SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ */ static SQLITE_NOINLINE Vdbe *allocVdbe(Parse *pParse){ Vdbe *v = pParse->pVdbe = sqlite3VdbeCreate(pParse); - if( v ) sqlite3VdbeAddOp0(v, OP_Init); + if( v ) sqlite3VdbeAddOp2(v, OP_Init, 0, 1); if( pParse->pToplevel==0 && OptimizationEnabled(pParse->db,SQLITE_FactorOutConst) ){ @@ -115490,18 +117004,15 @@ static int generateOutputSubroutine( } #ifndef SQLITE_OMIT_SUBQUERY - /* If we are creating a set for an "expr IN (SELECT ...)" construct, - ** then there should be a single item on the stack. Write this - ** item into the set table with bogus data. + /* If we are creating a set for an "expr IN (SELECT ...)". */ case SRT_Set: { int r1; - assert( pIn->nSdst==1 || pParse->nErr>0 ); - pDest->affSdst = - sqlite3CompareAffinity(p->pEList->a[0].pExpr, pDest->affSdst); + testcase( pIn->nSdst>1 ); r1 = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp4(v, OP_MakeRecord, pIn->iSdst, 1, r1, &pDest->affSdst,1); - sqlite3ExprCacheAffinityChange(pParse, pIn->iSdst, 1); + sqlite3VdbeAddOp4(v, OP_MakeRecord, pIn->iSdst, pIn->nSdst, + r1, pDest->zAffSdst, pIn->nSdst); + sqlite3ExprCacheAffinityChange(pParse, pIn->iSdst, pIn->nSdst); sqlite3VdbeAddOp2(v, OP_IdxInsert, pDest->iSDParm, r1); sqlite3ReleaseTempReg(pParse, r1); break; @@ -116557,12 +118068,13 @@ static int flattenSubquery( assert( pParent->pHaving==0 ); pParent->pHaving = pParent->pWhere; pParent->pWhere = pWhere; - pParent->pHaving = sqlite3ExprAnd(db, pParent->pHaving, - sqlite3ExprDup(db, pSub->pHaving, 0)); + pParent->pHaving = sqlite3ExprAnd(db, + sqlite3ExprDup(db, pSub->pHaving, 0), pParent->pHaving + ); assert( pParent->pGroupBy==0 ); pParent->pGroupBy = sqlite3ExprListDup(db, pSub->pGroupBy, 0); }else{ - pParent->pWhere = sqlite3ExprAnd(db, pParent->pWhere, pWhere); + pParent->pWhere = sqlite3ExprAnd(db, pWhere, pParent->pWhere); } substSelect(db, pParent, iParent, pSub->pEList, 0); @@ -117252,7 +118764,7 @@ static int selectExpander(Walker *pWalker, Select *p){ continue; } iDb = sqlite3SchemaToIndex(db, pTab->pSchema); - zSchemaName = iDb>=0 ? db->aDb[iDb].zName : "*"; + zSchemaName = iDb>=0 ? db->aDb[iDb].zDbSName : "*"; } for(j=0; jnCol; j++){ char *zName = pTab->aCol[j].zName; @@ -117735,16 +119247,6 @@ SQLITE_PRIVATE int sqlite3Select( } #endif - - /* If writing to memory or generating a set - ** only a single column may be output. - */ -#ifndef SQLITE_OMIT_SUBQUERY - if( checkForMultiColumnSelectError(pParse, pDest, p->pEList->nExpr) ){ - goto select_end; - } -#endif - /* Try to flatten subqueries in the FROM clause up into the main query */ #if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) @@ -117899,7 +119401,7 @@ SQLITE_PRIVATE int sqlite3Select( /* If the subquery is not correlated and if we are not inside of ** a trigger, then we only need to compute the value of the subquery ** once. */ - onceAddr = sqlite3CodeOnce(pParse); VdbeCoverage(v); + onceAddr = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); VdbeComment((v, "materialize \"%s\"", pItem->pTab->zName)); }else{ VdbeNoopComment((v, "materialize \"%s\"", pItem->pTab->zName)); @@ -118036,6 +119538,7 @@ SQLITE_PRIVATE int sqlite3Select( } if( sSort.pOrderBy ){ sSort.nOBSat = sqlite3WhereIsOrdered(pWInfo); + sSort.bOrderedInnerLoop = sqlite3WhereOrderedInnerLoop(pWInfo); if( sSort.nOBSat==sSort.pOrderBy->nExpr ){ sSort.pOrderBy = 0; } @@ -118661,7 +120164,7 @@ static int sqlite3_get_table_cb(void *pArg, int nCol, char **argv, char **colv){ ** Instead, the entire table should be passed to sqlite3_free_table() when ** the calling procedure is finished using it. */ -SQLITE_API int SQLITE_STDCALL sqlite3_get_table( +SQLITE_API int sqlite3_get_table( sqlite3 *db, /* The database on which the SQL executes */ const char *zSql, /* The SQL to be executed */ char ***pazResult, /* Write the result table here */ @@ -118730,7 +120233,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_table( /* ** This routine frees the space the sqlite3_get_table() malloced. */ -SQLITE_API void SQLITE_STDCALL sqlite3_free_table( +SQLITE_API void sqlite3_free_table( char **azResult /* Result returned from sqlite3_get_table() */ ){ if( azResult ){ @@ -118845,7 +120348,6 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( int iDb; /* The database to store the trigger in */ Token *pName; /* The unqualified db name */ DbFixer sFix; /* State vector for the DB fixer */ - int iTabDb; /* Index of the database holding pTab */ assert( pName1!=0 ); /* pName1->z might be NULL, but not pName1 itself */ assert( pName2!=0 ); @@ -118958,13 +120460,13 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( " trigger on table: %S", pTableName, 0); goto trigger_cleanup; } - iTabDb = sqlite3SchemaToIndex(db, pTab->pSchema); #ifndef SQLITE_OMIT_AUTHORIZATION { + int iTabDb = sqlite3SchemaToIndex(db, pTab->pSchema); int code = SQLITE_CREATE_TRIGGER; - const char *zDb = db->aDb[iTabDb].zName; - const char *zDbTrig = isTemp ? db->aDb[1].zName : zDb; + const char *zDb = db->aDb[iTabDb].zDbSName; + const char *zDbTrig = isTemp ? db->aDb[1].zDbSName : zDb; if( iTabDb==1 || isTemp ) code = SQLITE_CREATE_TEMP_TRIGGER; if( sqlite3AuthCheck(pParse, code, zName, pTab->zName, zDbTrig) ){ goto trigger_cleanup; @@ -119058,7 +120560,7 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( z = sqlite3DbStrNDup(db, (char*)pAll->z, pAll->n); sqlite3NestedParse(pParse, "INSERT INTO %Q.%s VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')", - db->aDb[iDb].zName, SCHEMA_TABLE(iDb), zName, + db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), zName, pTrig->table, z); sqlite3DbFree(db, z); sqlite3ChangeCookie(pParse, iDb); @@ -119247,7 +120749,7 @@ SQLITE_PRIVATE void sqlite3DropTrigger(Parse *pParse, SrcList *pName, int noErr) assert( zDb!=0 || sqlite3BtreeHoldsAllMutexes(db) ); for(i=OMIT_TEMPDB; inDb; i++){ int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ - if( zDb && sqlite3StrICmp(db->aDb[j].zName, zDb) ) continue; + if( zDb && sqlite3StrICmp(db->aDb[j].zDbSName, zDb) ) continue; assert( sqlite3SchemaMutexHeld(db, j, 0) ); pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName); if( pTrigger ) break; @@ -119293,7 +120795,7 @@ SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){ #ifndef SQLITE_OMIT_AUTHORIZATION { int code = SQLITE_DROP_TRIGGER; - const char *zDb = db->aDb[iDb].zName; + const char *zDb = db->aDb[iDb].zDbSName; const char *zTab = SCHEMA_TABLE(iDb); if( iDb==1 ) code = SQLITE_DROP_TEMP_TRIGGER; if( sqlite3AuthCheck(pParse, code, pTrigger->zName, pTable->zName, zDb) || @@ -119309,7 +120811,7 @@ SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){ if( (v = sqlite3GetVdbe(pParse))!=0 ){ sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE name=%Q AND type='trigger'", - db->aDb[iDb].zName, SCHEMA_TABLE(iDb), pTrigger->zName + db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), pTrigger->zName ); sqlite3ChangeCookie(pParse, iDb); sqlite3VdbeAddOp4(v, OP_DropTrigger, iDb, 0, 0, pTrigger->zName, 0); @@ -119412,8 +120914,10 @@ static SrcList *targetSrcList( pSrc->a[pSrc->nSrc-1].zName = sqlite3DbStrDup(db, pStep->zTarget); iDb = sqlite3SchemaToIndex(db, pStep->pTrig->pSchema); if( iDb==0 || iDb>=2 ){ + const char *zDb; assert( iDbnDb ); - pSrc->a[pSrc->nSrc-1].zDatabase = sqlite3DbStrDup(db, db->aDb[iDb].zName); + zDb = db->aDb[iDb].zDbSName; + pSrc->a[pSrc->nSrc-1].zDatabase = sqlite3DbStrDup(db, zDb); } } return pSrc; @@ -119627,7 +121131,6 @@ static TriggerPrg *codeRowTrigger( } pProgram->nMem = pSubParse->nMem; pProgram->nCsr = pSubParse->nTab; - pProgram->nOnce = pSubParse->nOnce; pProgram->token = (void *)pTrigger; pPrg->aColmask[0] = pSubParse->oldmask; pPrg->aColmask[1] = pSubParse->newmask; @@ -120100,7 +121603,7 @@ SQLITE_PRIVATE void sqlite3Update( int rc; rc = sqlite3AuthCheck(pParse, SQLITE_UPDATE, pTab->zName, j<0 ? "ROWID" : pTab->aCol[j].zName, - db->aDb[iDb].zName); + db->aDb[iDb].zDbSName); if( rc==SQLITE_DENY ){ goto update_cleanup; }else if( rc==SQLITE_IGNORE ){ @@ -120702,57 +122205,52 @@ static void updateVirtualTable( /* #include "vdbeInt.h" */ #if !defined(SQLITE_OMIT_VACUUM) && !defined(SQLITE_OMIT_ATTACH) -/* -** Finalize a prepared statement. If there was an error, store the -** text of the error message in *pzErrMsg. Return the result code. -*/ -static int vacuumFinalize(sqlite3 *db, sqlite3_stmt *pStmt, char **pzErrMsg){ - int rc; - rc = sqlite3VdbeFinalize((Vdbe*)pStmt); - if( rc ){ - sqlite3SetString(pzErrMsg, db, sqlite3_errmsg(db)); - } - return rc; -} /* -** Execute zSql on database db. Return an error code. +** Execute zSql on database db. +** +** If zSql returns rows, then each row will have exactly one +** column. (This will only happen if zSql begins with "SELECT".) +** Take each row of result and call execSql() again recursively. +** +** The execSqlF() routine does the same thing, except it accepts +** a format string as its third argument */ static int execSql(sqlite3 *db, char **pzErrMsg, const char *zSql){ - sqlite3_stmt *pStmt; - VVA_ONLY( int rc; ) - if( !zSql ){ - return SQLITE_NOMEM_BKPT; - } - if( SQLITE_OK!=sqlite3_prepare(db, zSql, -1, &pStmt, 0) ){ - sqlite3SetString(pzErrMsg, db, sqlite3_errmsg(db)); - return sqlite3_errcode(db); - } - VVA_ONLY( rc = ) sqlite3_step(pStmt); - assert( rc!=SQLITE_ROW || (db->flags&SQLITE_CountRows) ); - return vacuumFinalize(db, pStmt, pzErrMsg); -} - -/* -** Execute zSql on database db. The statement returns exactly -** one column. Execute this as SQL on the same database. -*/ -static int execExecSql(sqlite3 *db, char **pzErrMsg, const char *zSql){ sqlite3_stmt *pStmt; int rc; - rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0); + /* printf("SQL: [%s]\n", zSql); fflush(stdout); */ + rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0); if( rc!=SQLITE_OK ) return rc; - - while( SQLITE_ROW==sqlite3_step(pStmt) ){ - rc = execSql(db, pzErrMsg, (char*)sqlite3_column_text(pStmt, 0)); - if( rc!=SQLITE_OK ){ - vacuumFinalize(db, pStmt, pzErrMsg); - return rc; + while( SQLITE_ROW==(rc = sqlite3_step(pStmt)) ){ + const char *zSubSql = (const char*)sqlite3_column_text(pStmt,0); + assert( sqlite3_strnicmp(zSql,"SELECT",6)==0 ); + if( zSubSql ){ + assert( zSubSql[0]!='S' ); + rc = execSql(db, pzErrMsg, zSubSql); + if( rc!=SQLITE_OK ) break; } } - - return vacuumFinalize(db, pStmt, pzErrMsg); + assert( rc!=SQLITE_ROW ); + if( rc==SQLITE_DONE ) rc = SQLITE_OK; + if( rc ){ + sqlite3SetString(pzErrMsg, db, sqlite3_errmsg(db)); + } + (void)sqlite3_finalize(pStmt); + return rc; +} +static int execSqlF(sqlite3 *db, char **pzErrMsg, const char *zSql, ...){ + char *z; + va_list ap; + int rc; + va_start(ap, zSql); + z = sqlite3VMPrintf(db, zSql, ap); + va_end(ap); + if( z==0 ) return SQLITE_NOMEM; + rc = execSql(db, pzErrMsg, z); + sqlite3DbFree(db, z); + return rc; } /* @@ -120785,11 +122283,12 @@ static int execExecSql(sqlite3 *db, char **pzErrMsg, const char *zSql){ ** transient would cause the database file to appear to be deleted ** following reboot. */ -SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse){ +SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse, Token *pNm){ Vdbe *v = sqlite3GetVdbe(pParse); - if( v ){ - sqlite3VdbeAddOp2(v, OP_Vacuum, 0, 0); - sqlite3VdbeUsesBtree(v, 0); + int iDb = pNm ? sqlite3TwoPartName(pParse, pNm, pNm, &pNm) : 0; + if( v && (iDb>=2 || iDb==0) ){ + sqlite3VdbeAddOp1(v, OP_Vacuum, iDb); + sqlite3VdbeUsesBtree(v, iDb); } return; } @@ -120797,19 +122296,19 @@ SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse){ /* ** This routine implements the OP_Vacuum opcode of the VDBE. */ -SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ +SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ int rc = SQLITE_OK; /* Return code from service routines */ Btree *pMain; /* The database being vacuumed */ Btree *pTemp; /* The temporary database we vacuum into */ - char *zSql = 0; /* SQL statements */ int saved_flags; /* Saved value of the db->flags */ int saved_nChange; /* Saved value of db->nChange */ int saved_nTotalChange; /* Saved value of db->nTotalChange */ - void (*saved_xTrace)(void*,const char*); /* Saved db->xTrace */ + u8 saved_mTrace; /* Saved trace settings */ Db *pDb = 0; /* Database to detach at end of vacuum */ int isMemDb; /* True if vacuuming a :memory: database */ int nRes; /* Bytes of reserved space at the end of each page */ int nDb; /* Number of attached databases */ + const char *zDbMain; /* Schema name of database to vacuum */ if( !db->autoCommit ){ sqlite3SetString(pzErrMsg, db, "cannot VACUUM from within a transaction"); @@ -120826,12 +122325,14 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ saved_flags = db->flags; saved_nChange = db->nChange; saved_nTotalChange = db->nTotalChange; - saved_xTrace = db->xTrace; - db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks | SQLITE_PreferBuiltin; - db->flags &= ~(SQLITE_ForeignKeys | SQLITE_ReverseOrder); - db->xTrace = 0; - - pMain = db->aDb[0].pBt; + saved_mTrace = db->mTrace; + db->flags |= (SQLITE_WriteSchema | SQLITE_IgnoreChecks + | SQLITE_PreferBuiltin | SQLITE_Vacuum); + db->flags &= ~(SQLITE_ForeignKeys | SQLITE_ReverseOrder | SQLITE_CountRows); + db->mTrace = 0; + + zDbMain = db->aDb[iDb].zDbSName; + pMain = db->aDb[iDb].pBt; isMemDb = sqlite3PagerIsMemdb(sqlite3BtreePager(pMain)); /* Attach the temporary database as 'vacuum_db'. The synchronous pragma @@ -120849,18 +122350,12 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ ** to write the journal header file. */ nDb = db->nDb; - if( sqlite3TempInMemory(db) ){ - zSql = "ATTACH ':memory:' AS vacuum_db;"; - }else{ - zSql = "ATTACH '' AS vacuum_db;"; - } - rc = execSql(db, pzErrMsg, zSql); - if( db->nDb>nDb ){ - pDb = &db->aDb[db->nDb-1]; - assert( strcmp(pDb->zName,"vacuum_db")==0 ); - } + rc = execSql(db, pzErrMsg, "ATTACH''AS vacuum_db"); if( rc!=SQLITE_OK ) goto end_of_vacuum; - pTemp = db->aDb[db->nDb-1].pBt; + assert( (db->nDb-1)==nDb ); + pDb = &db->aDb[nDb]; + assert( strcmp(pDb->zDbSName,"vacuum_db")==0 ); + pTemp = pDb->pBt; /* The call to execSql() to attach the temp database has left the file ** locked (as there was more than one active statement when the transaction @@ -120881,14 +122376,15 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ } #endif - rc = execSql(db, pzErrMsg, "PRAGMA vacuum_db.synchronous=OFF"); - if( rc!=SQLITE_OK ) goto end_of_vacuum; + sqlite3BtreeSetCacheSize(pTemp, db->aDb[iDb].pSchema->cache_size); + sqlite3BtreeSetSpillSize(pTemp, sqlite3BtreeSetSpillSize(pMain,0)); + sqlite3BtreeSetPagerFlags(pTemp, PAGER_SYNCHRONOUS_OFF|PAGER_CACHESPILL); /* Begin a transaction and take an exclusive lock on the main database ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = execSql(db, pzErrMsg, "BEGIN;"); + rc = execSql(db, pzErrMsg, "BEGIN"); if( rc!=SQLITE_OK ) goto end_of_vacuum; rc = sqlite3BtreeBeginTrans(pMain, 2); if( rc!=SQLITE_OK ) goto end_of_vacuum; @@ -120915,64 +122411,48 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ /* Query the schema of the main database. Create a mirror schema ** in the temporary database. */ - rc = execExecSql(db, pzErrMsg, - "SELECT 'CREATE TABLE vacuum_db.' || substr(sql,14) " - " FROM sqlite_master WHERE type='table' AND name!='sqlite_sequence'" - " AND coalesce(rootpage,1)>0" + db->init.iDb = nDb; /* force new CREATE statements into vacuum_db */ + rc = execSqlF(db, pzErrMsg, + "SELECT sql FROM \"%w\".sqlite_master" + " WHERE type='table'AND name<>'sqlite_sequence'" + " AND coalesce(rootpage,1)>0", + zDbMain ); if( rc!=SQLITE_OK ) goto end_of_vacuum; - rc = execExecSql(db, pzErrMsg, - "SELECT 'CREATE INDEX vacuum_db.' || substr(sql,14)" - " FROM sqlite_master WHERE sql LIKE 'CREATE INDEX %' "); - if( rc!=SQLITE_OK ) goto end_of_vacuum; - rc = execExecSql(db, pzErrMsg, - "SELECT 'CREATE UNIQUE INDEX vacuum_db.' || substr(sql,21) " - " FROM sqlite_master WHERE sql LIKE 'CREATE UNIQUE INDEX %'"); + rc = execSqlF(db, pzErrMsg, + "SELECT sql FROM \"%w\".sqlite_master" + " WHERE type='index' AND length(sql)>10", + zDbMain + ); if( rc!=SQLITE_OK ) goto end_of_vacuum; + db->init.iDb = 0; /* Loop through the tables in the main database. For each, do ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - assert( (db->flags & SQLITE_Vacuum)==0 ); - db->flags |= SQLITE_Vacuum; - rc = execExecSql(db, pzErrMsg, - "SELECT 'INSERT INTO vacuum_db.' || quote(name) " - "|| ' SELECT * FROM main.' || quote(name) || ';'" - "FROM main.sqlite_master " - "WHERE type = 'table' AND name!='sqlite_sequence' " - " AND coalesce(rootpage,1)>0" + rc = execSqlF(db, pzErrMsg, + "SELECT'INSERT INTO vacuum_db.'||quote(name)" + "||' SELECT*FROM\"%w\".'||quote(name)" + "FROM vacuum_db.sqlite_master " + "WHERE type='table'AND coalesce(rootpage,1)>0", + zDbMain ); assert( (db->flags & SQLITE_Vacuum)!=0 ); db->flags &= ~SQLITE_Vacuum; if( rc!=SQLITE_OK ) goto end_of_vacuum; - /* Copy over the sequence table - */ - rc = execExecSql(db, pzErrMsg, - "SELECT 'DELETE FROM vacuum_db.' || quote(name) || ';' " - "FROM vacuum_db.sqlite_master WHERE name='sqlite_sequence' " - ); - if( rc!=SQLITE_OK ) goto end_of_vacuum; - rc = execExecSql(db, pzErrMsg, - "SELECT 'INSERT INTO vacuum_db.' || quote(name) " - "|| ' SELECT * FROM main.' || quote(name) || ';' " - "FROM vacuum_db.sqlite_master WHERE name=='sqlite_sequence';" - ); - if( rc!=SQLITE_OK ) goto end_of_vacuum; - - /* Copy the triggers, views, and virtual tables from the main database ** over to the temporary database. None of these objects has any ** associated storage, so all we have to do is copy their entries ** from the SQLITE_MASTER table. */ - rc = execSql(db, pzErrMsg, - "INSERT INTO vacuum_db.sqlite_master " - " SELECT type, name, tbl_name, rootpage, sql" - " FROM main.sqlite_master" - " WHERE type='view' OR type='trigger'" - " OR (type='table' AND rootpage=0)" + rc = execSqlF(db, pzErrMsg, + "INSERT INTO vacuum_db.sqlite_master" + " SELECT*FROM \"%w\".sqlite_master" + " WHERE type IN('view','trigger')" + " OR(type='table'AND rootpage=0)", + zDbMain ); if( rc ) goto end_of_vacuum; @@ -121026,10 +122506,11 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ end_of_vacuum: /* Restore the original value of db->flags */ + db->init.iDb = 0; db->flags = saved_flags; db->nChange = saved_nChange; db->nTotalChange = saved_nTotalChange; - db->xTrace = saved_xTrace; + db->mTrace = saved_mTrace; sqlite3BtreeSetPageSize(pMain, -1, -1, 1); /* Currently there is an SQL level transaction open on the vacuum @@ -121138,7 +122619,7 @@ static int createModule( /* ** External API function used to create a new virtual-table module. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_module( +SQLITE_API int sqlite3_create_module( sqlite3 *db, /* Database in which module is registered */ const char *zName, /* Name assigned to this module */ const sqlite3_module *pModule, /* The definition of the module */ @@ -121153,7 +122634,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_module( /* ** External API function used to create a new virtual-table module. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_module_v2( +SQLITE_API int sqlite3_create_module_v2( sqlite3 *db, /* Database in which module is registered */ const char *zName, /* Name assigned to this module */ const sqlite3_module *pModule, /* The definition of the module */ @@ -121404,7 +122885,7 @@ SQLITE_PRIVATE void sqlite3VtabBeginParse( */ if( pTable->azModuleArg ){ sqlite3AuthCheck(pParse, SQLITE_CREATE_VTABLE, pTable->zName, - pTable->azModuleArg[0], pParse->db->aDb[iDb].zName); + pTable->azModuleArg[0], pParse->db->aDb[iDb].zDbSName); } #endif } @@ -121468,7 +122949,7 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){ "UPDATE %Q.%s " "SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q " "WHERE rowid=#%d", - db->aDb[iDb].zName, SCHEMA_TABLE(iDb), + db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), pTab->zName, pTab->zName, zStmt, @@ -121478,7 +122959,7 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){ v = sqlite3GetVdbe(pParse); sqlite3ChangeCookie(pParse, iDb); - sqlite3VdbeAddOp2(v, OP_Expire, 0, 0); + sqlite3VdbeAddOp0(v, OP_Expire); zWhere = sqlite3MPrintf(db, "name='%q' AND type='table'", pTab->zName); sqlite3VdbeAddParseSchemaOp(v, iDb, zWhere); @@ -121578,7 +123059,7 @@ static int vtabCallConstructor( pVTable->pMod = pMod; iDb = sqlite3SchemaToIndex(db, pTab->pSchema); - pTab->azModuleArg[1] = db->aDb[iDb].zName; + pTab->azModuleArg[1] = db->aDb[iDb].zDbSName; /* Invoke the virtual table constructor */ assert( &db->pVtabCtx ); @@ -121732,7 +123213,7 @@ static void addToVTrans(sqlite3 *db, VTable *pVTab){ ** This function is invoked by the vdbe to call the xCreate method ** of the virtual table named zTab in database iDb. ** -** If an error occurs, *pzErr is set to point an an English language +** If an error occurs, *pzErr is set to point to an English language ** description of the error and an SQLITE_XXX error code is returned. ** In this case the caller must call sqlite3DbFree(db, ) on *pzErr. */ @@ -121742,7 +123223,7 @@ SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3 *db, int iDb, const char *zTab, Module *pMod; const char *zMod; - pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zName); + pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zDbSName); assert( pTab && (pTab->tabFlags & TF_Virtual)!=0 && !pTab->pVTable ); /* Locate the required virtual table module */ @@ -121777,7 +123258,7 @@ SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3 *db, int iDb, const char *zTab, ** valid to call this function from within the xCreate() or xConnect() of a ** virtual table module. */ -SQLITE_API int SQLITE_STDCALL sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ +SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ VtabCtx *pCtx; Parse *pParse; int rc = SQLITE_OK; @@ -121814,10 +123295,24 @@ SQLITE_API int SQLITE_STDCALL sqlite3_declare_vtab(sqlite3 *db, const char *zCre && (pParse->pNewTable->tabFlags & TF_Virtual)==0 ){ if( !pTab->aCol ){ - pTab->aCol = pParse->pNewTable->aCol; - pTab->nCol = pParse->pNewTable->nCol; - pParse->pNewTable->nCol = 0; - pParse->pNewTable->aCol = 0; + Table *pNew = pParse->pNewTable; + Index *pIdx; + pTab->aCol = pNew->aCol; + pTab->nCol = pNew->nCol; + pTab->tabFlags |= pNew->tabFlags & (TF_WithoutRowid|TF_NoVisibleRowid); + pNew->nCol = 0; + pNew->aCol = 0; + assert( pTab->pIndex==0 ); + if( !HasRowid(pNew) && pCtx->pVTable->pMod->pModule->xUpdate!=0 ){ + rc = SQLITE_ERROR; + } + pIdx = pNew->pIndex; + if( pIdx ){ + assert( pIdx->pNext==0 ); + pTab->pIndex = pIdx; + pNew->pIndex = 0; + pIdx->pTable = pTab; + } } pCtx->bDeclared = 1; }else{ @@ -121852,8 +123347,8 @@ SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab int rc = SQLITE_OK; Table *pTab; - pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zName); - if( ALWAYS(pTab!=0 && pTab->pVTable!=0) ){ + pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zDbSName); + if( pTab!=0 && ALWAYS(pTab->pVTable!=0) ){ VTable *p; int (*xDestroy)(sqlite3_vtab *); for(p=pTab->pVTable; p; p=p->pNext){ @@ -121993,7 +123488,10 @@ SQLITE_PRIVATE int sqlite3VtabBegin(sqlite3 *db, VTable *pVTab){ if( rc==SQLITE_OK ){ int iSvpt = db->nStatement + db->nSavepoint; addToVTrans(db, pVTab); - if( iSvpt ) rc = sqlite3VtabSavepoint(db, SAVEPOINT_BEGIN, iSvpt-1); + if( iSvpt && pModule->xSavepoint ){ + pVTab->iSavepoint = iSvpt; + rc = pModule->xSavepoint(pVTab->pVtab, iSvpt-1); + } } } } @@ -122147,7 +123645,7 @@ SQLITE_PRIVATE void sqlite3VtabMakeWritable(Parse *pParse, Table *pTab){ } /* -** Check to see if virtual tale module pMod can be have an eponymous +** Check to see if virtual table module pMod can be have an eponymous ** virtual table instance. If it can, create one if one does not already ** exist. Return non-zero if the eponymous virtual table instance exists ** when this routine returns, and return zero if it does not exist. @@ -122164,17 +123662,18 @@ SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse *pParse, Module *pMod){ const sqlite3_module *pModule = pMod->pModule; Table *pTab; char *zErr = 0; - int nName; int rc; sqlite3 *db = pParse->db; if( pMod->pEpoTab ) return 1; if( pModule->xCreate!=0 && pModule->xCreate!=pModule->xConnect ) return 0; - nName = sqlite3Strlen30(pMod->zName) + 1; - pTab = sqlite3DbMallocZero(db, sizeof(Table) + nName); + pTab = sqlite3DbMallocZero(db, sizeof(Table)); if( pTab==0 ) return 0; + pTab->zName = sqlite3DbStrDup(db, pMod->zName); + if( pTab->zName==0 ){ + sqlite3DbFree(db, pTab); + return 0; + } pMod->pEpoTab = pTab; - pTab->zName = (char*)&pTab[1]; - memcpy(pTab->zName, pMod->zName, nName); pTab->nRef = 1; pTab->pSchema = db->aDb[0].pSchema; pTab->tabFlags |= TF_Virtual; @@ -122200,9 +123699,11 @@ SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse *pParse, Module *pMod){ SQLITE_PRIVATE void sqlite3VtabEponymousTableClear(sqlite3 *db, Module *pMod){ Table *pTab = pMod->pEpoTab; if( pTab!=0 ){ - sqlite3DeleteColumnNames(db, pTab); - sqlite3VtabClear(db, pTab); - sqlite3DbFree(db, pTab); + /* Mark the table as Ephemeral prior to deleting it, so that the + ** sqlite3DeleteTable() routine will know that it is not stored in + ** the schema. */ + pTab->tabFlags |= TF_Ephemeral; + sqlite3DeleteTable(db, pTab); pMod->pEpoTab = 0; } } @@ -122214,7 +123715,7 @@ SQLITE_PRIVATE void sqlite3VtabEponymousTableClear(sqlite3 *db, Module *pMod){ ** The results of this routine are undefined unless it is called from ** within an xUpdate method. */ -SQLITE_API int SQLITE_STDCALL sqlite3_vtab_on_conflict(sqlite3 *db){ +SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *db){ static const unsigned char aMap[] = { SQLITE_ROLLBACK, SQLITE_ABORT, SQLITE_FAIL, SQLITE_IGNORE, SQLITE_REPLACE }; @@ -122232,7 +123733,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_vtab_on_conflict(sqlite3 *db){ ** the SQLite core with additional information about the behavior ** of the virtual table being implemented. */ -SQLITE_API int SQLITE_CDECL sqlite3_vtab_config(sqlite3 *db, int op, ...){ +SQLITE_API int sqlite3_vtab_config(sqlite3 *db, int op, ...){ va_list ap; int rc = SQLITE_OK; @@ -122413,6 +123914,8 @@ struct WhereLoop { union { struct { /* Information for internal btree tables */ u16 nEq; /* Number of equality constraints */ + u16 nBtm; /* Size of BTM vector */ + u16 nTop; /* Size of TOP vector */ Index *pIndex; /* Index used, or NULL */ } btree; struct { /* Information for virtual tables */ @@ -122535,19 +124038,20 @@ struct WherePath { */ struct WhereTerm { Expr *pExpr; /* Pointer to the subexpression that is this term */ + WhereClause *pWC; /* The clause this term is part of */ + LogEst truthProb; /* Probability of truth for this expression */ + u16 wtFlags; /* TERM_xxx bit flags. See below */ + u16 eOperator; /* A WO_xx value describing */ + u8 nChild; /* Number of children that must disable us */ + u8 eMatchOp; /* Op for vtab MATCH/LIKE/GLOB/REGEXP terms */ int iParent; /* Disable pWC->a[iParent] when this term disabled */ int leftCursor; /* Cursor number of X in "X " */ + int iField; /* Field in (?,?,?) IN (SELECT...) vector */ union { int leftColumn; /* Column number of X in "X " */ WhereOrInfo *pOrInfo; /* Extra information if (eOperator & WO_OR)!=0 */ WhereAndInfo *pAndInfo; /* Extra information if (eOperator& WO_AND)!=0 */ } u; - LogEst truthProb; /* Probability of truth for this expression */ - u16 eOperator; /* A WO_xx value describing */ - u16 wtFlags; /* TERM_xxx bit flags. See below */ - u8 nChild; /* Number of children that must disable us */ - u8 eMatchOp; /* Op for vtab MATCH/LIKE/GLOB/REGEXP terms */ - WhereClause *pWC; /* The clause this term is part of */ Bitmask prereqRight; /* Bitmask of tables used by pExpr->pRight */ Bitmask prereqAll; /* Bitmask of tables referenced by pExpr */ }; @@ -122700,24 +124204,25 @@ struct WhereInfo { SrcList *pTabList; /* List of tables in the join */ ExprList *pOrderBy; /* The ORDER BY clause or NULL */ ExprList *pDistinctSet; /* DISTINCT over all these values */ - WhereLoop *pLoops; /* List of all WhereLoop objects */ - Bitmask revMask; /* Mask of ORDER BY terms that need reversing */ - LogEst nRowOut; /* Estimated number of output rows */ LogEst iLimit; /* LIMIT if wctrlFlags has WHERE_USE_LIMIT */ + int aiCurOnePass[2]; /* OP_OpenWrite cursors for the ONEPASS opt */ + int iContinue; /* Jump here to continue with next record */ + int iBreak; /* Jump here to break out of the loop */ + int savedNQueryLoop; /* pParse->nQueryLoop outside the WHERE loop */ u16 wctrlFlags; /* Flags originally passed to sqlite3WhereBegin() */ + u8 nLevel; /* Number of nested loop */ i8 nOBSat; /* Number of ORDER BY terms satisfied by indices */ u8 sorted; /* True if really sorted (not just grouped) */ u8 eOnePass; /* ONEPASS_OFF, or _SINGLE, or _MULTI */ u8 untestedTerms; /* Not all WHERE terms resolved by outer loop */ - u8 eDistinct; /* One of the WHERE_DISTINCT_* values below */ - u8 nLevel; /* Number of nested loop */ + u8 eDistinct; /* One of the WHERE_DISTINCT_* values */ + u8 bOrderedInnerLoop; /* True if only the inner-most loop is ordered */ int iTop; /* The very beginning of the WHERE loop */ - int iContinue; /* Jump here to continue with next record */ - int iBreak; /* Jump here to break out of the loop */ - int savedNQueryLoop; /* pParse->nQueryLoop outside the WHERE loop */ - int aiCurOnePass[2]; /* OP_OpenWrite cursors for the ONEPASS opt */ - WhereMaskSet sMaskSet; /* Map cursor numbers to bitmasks */ + WhereLoop *pLoops; /* List of all WhereLoop objects */ + Bitmask revMask; /* Mask of ORDER BY terms that need reversing */ + LogEst nRowOut; /* Estimated number of output rows */ WhereClause sWC; /* Decomposition of the WHERE clause */ + WhereMaskSet sMaskSet; /* Map cursor numbers to bitmasks */ WhereLevel a[1]; /* Information about each nest loop in WHERE */ }; @@ -122727,6 +124232,9 @@ struct WhereInfo { ** where.c: */ SQLITE_PRIVATE Bitmask sqlite3WhereGetMask(WhereMaskSet*,int); +#ifdef WHERETRACE_ENABLED +SQLITE_PRIVATE void sqlite3WhereClausePrint(WhereClause *pWC); +#endif SQLITE_PRIVATE WhereTerm *sqlite3WhereFindTerm( WhereClause *pWC, /* The WHERE clause to be searched */ int iCur, /* Cursor number of LHS */ @@ -122838,6 +124346,17 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs(Parse*, struct SrcList_item*, WhereC /************** Continuing where we left off in wherecode.c ******************/ #ifndef SQLITE_OMIT_EXPLAIN + +/* +** Return the name of the i-th column of the pIdx index. +*/ +static const char *explainIndexColumnName(Index *pIdx, int i){ + i = pIdx->aiColumn[i]; + if( i==XN_EXPR ) return ""; + if( i==XN_ROWID ) return "rowid"; + return pIdx->pTable->aCol[i].zName; +} + /* ** This routine is a helper for explainIndexRange() below ** @@ -122848,24 +124367,32 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs(Parse*, struct SrcList_item*, WhereC */ static void explainAppendTerm( StrAccum *pStr, /* The text expression being built */ - int iTerm, /* Index of this term. First is zero */ - const char *zColumn, /* Name of the column */ + Index *pIdx, /* Index to read column names from */ + int nTerm, /* Number of terms */ + int iTerm, /* Zero-based index of first term. */ + int bAnd, /* Non-zero to append " AND " */ const char *zOp /* Name of the operator */ ){ - if( iTerm ) sqlite3StrAccumAppend(pStr, " AND ", 5); - sqlite3StrAccumAppendAll(pStr, zColumn); + int i; + + assert( nTerm>=1 ); + if( bAnd ) sqlite3StrAccumAppend(pStr, " AND ", 5); + + if( nTerm>1 ) sqlite3StrAccumAppend(pStr, "(", 1); + for(i=0; i1 ) sqlite3StrAccumAppend(pStr, ")", 1); + sqlite3StrAccumAppend(pStr, zOp, 1); - sqlite3StrAccumAppend(pStr, "?", 1); -} -/* -** Return the name of the i-th column of the pIdx index. -*/ -static const char *explainIndexColumnName(Index *pIdx, int i){ - i = pIdx->aiColumn[i]; - if( i==XN_EXPR ) return ""; - if( i==XN_ROWID ) return "rowid"; - return pIdx->pTable->aCol[i].zName; + if( nTerm>1 ) sqlite3StrAccumAppend(pStr, "(", 1); + for(i=0; i1 ) sqlite3StrAccumAppend(pStr, ")", 1); } /* @@ -122898,12 +124425,11 @@ static void explainIndexRange(StrAccum *pStr, WhereLoop *pLoop){ j = i; if( pLoop->wsFlags&WHERE_BTM_LIMIT ){ - const char *z = explainIndexColumnName(pIndex, i); - explainAppendTerm(pStr, i++, z, ">"); + explainAppendTerm(pStr, pIndex, pLoop->u.btree.nBtm, j, i, ">"); + i = 1; } if( pLoop->wsFlags&WHERE_TOP_LIMIT ){ - const char *z = explainIndexColumnName(pIndex, j); - explainAppendTerm(pStr, i, z, "<"); + explainAppendTerm(pStr, pIndex, pLoop->u.btree.nTop, j, i, "<"); } sqlite3StrAccumAppend(pStr, ")", 1); } @@ -122943,7 +124469,7 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( pLoop = pLevel->pWLoop; flags = pLoop->wsFlags; - if( (flags&WHERE_MULTI_OR) || (wctrlFlags&WHERE_ONETABLE_ONLY) ) return 0; + if( (flags&WHERE_MULTI_OR) || (wctrlFlags&WHERE_OR_SUBCLAUSE) ) return 0; isSearch = (flags&(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT))!=0 || ((flags&WHERE_VIRTUALTABLE)==0 && (pLoop->u.btree.nEq>0)) @@ -123093,7 +124619,7 @@ SQLITE_PRIVATE void sqlite3WhereAddScanStatus( */ static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){ int nLoop = 0; - while( pTerm + while( ALWAYS(pTerm!=0) && (pTerm->wtFlags & TERM_CODED)==0 && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin)) && (pLevel->notReady & pTerm->prereqAll)==0 @@ -123149,16 +124675,45 @@ static void codeApplyAffinity(Parse *pParse, int base, int n, char *zAff){ } } +/* +** Expression pRight, which is the RHS of a comparison operation, is +** either a vector of n elements or, if n==1, a scalar expression. +** Before the comparison operation, affinity zAff is to be applied +** to the pRight values. This function modifies characters within the +** affinity string to SQLITE_AFF_BLOB if either: +** +** * the comparison will be performed with no affinity, or +** * the affinity change in zAff is guaranteed not to change the value. +*/ +static void updateRangeAffinityStr( + Expr *pRight, /* RHS of comparison */ + int n, /* Number of vector elements in comparison */ + char *zAff /* Affinity string to modify */ +){ + int i; + for(i=0; ipVdbe; int iReg; /* Register holding results */ + assert( pLevel->pWLoop->aLTerm[iEq]==pTerm ); assert( iTarget>0 ); if( pX->op==TK_EQ || pX->op==TK_IS ){ iReg = sqlite3ExprCodeTarget(pParse, pX->pRight, iTarget); @@ -123181,10 +124737,13 @@ static int codeEqualityTerm( sqlite3VdbeAddOp2(v, OP_Null, 0, iReg); #ifndef SQLITE_OMIT_SUBQUERY }else{ - int eType; + int eType = IN_INDEX_NOOP; int iTab; struct InLoop *pIn; WhereLoop *pLoop = pLevel->pWLoop; + int i; + int nEq = 0; + int *aiMap = 0; if( (pLoop->wsFlags & WHERE_VIRTUALTABLE)==0 && pLoop->u.btree.pIndex!=0 @@ -123196,7 +124755,75 @@ static int codeEqualityTerm( } assert( pX->op==TK_IN ); iReg = iTarget; - eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0); + + for(i=0; iaLTerm[i] && pLoop->aLTerm[i]->pExpr==pX ){ + disableTerm(pLevel, pTerm); + return iTarget; + } + } + for(i=iEq;inLTerm; i++){ + if( ALWAYS(pLoop->aLTerm[i]) && pLoop->aLTerm[i]->pExpr==pX ) nEq++; + } + + if( (pX->flags & EP_xIsSelect)==0 || pX->x.pSelect->pEList->nExpr==1 ){ + eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, 0); + }else{ + Select *pSelect = pX->x.pSelect; + sqlite3 *db = pParse->db; + ExprList *pOrigRhs = pSelect->pEList; + ExprList *pOrigLhs = pX->pLeft->x.pList; + ExprList *pRhs = 0; /* New Select.pEList for RHS */ + ExprList *pLhs = 0; /* New pX->pLeft vector */ + + for(i=iEq;inLTerm; i++){ + if( pLoop->aLTerm[i]->pExpr==pX ){ + int iField = pLoop->aLTerm[i]->iField - 1; + Expr *pNewRhs = sqlite3ExprDup(db, pOrigRhs->a[iField].pExpr, 0); + Expr *pNewLhs = sqlite3ExprDup(db, pOrigLhs->a[iField].pExpr, 0); + + pRhs = sqlite3ExprListAppend(pParse, pRhs, pNewRhs); + pLhs = sqlite3ExprListAppend(pParse, pLhs, pNewLhs); + } + } + if( !db->mallocFailed ){ + Expr *pLeft = pX->pLeft; + + if( pSelect->pOrderBy ){ + /* If the SELECT statement has an ORDER BY clause, zero the + ** iOrderByCol variables. These are set to non-zero when an + ** ORDER BY term exactly matches one of the terms of the + ** result-set. Since the result-set of the SELECT statement may + ** have been modified or reordered, these variables are no longer + ** set correctly. Since setting them is just an optimization, + ** it's easiest just to zero them here. */ + ExprList *pOrderBy = pSelect->pOrderBy; + for(i=0; inExpr; i++){ + pOrderBy->a[i].u.x.iOrderByCol = 0; + } + } + + /* Take care here not to generate a TK_VECTOR containing only a + ** single value. Since the parser never creates such a vector, some + ** of the subroutines do not handle this case. */ + if( pLhs->nExpr==1 ){ + pX->pLeft = pLhs->a[0].pExpr; + }else{ + pLeft->x.pList = pLhs; + aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int) * nEq); + testcase( aiMap==0 ); + } + pSelect->pEList = pRhs; + eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap); + testcase( aiMap!=0 && aiMap[0]!=0 ); + pSelect->pEList = pOrigRhs; + pLeft->x.pList = pOrigLhs; + pX->pLeft = pLeft; + } + sqlite3ExprListDelete(pParse->db, pLhs); + sqlite3ExprListDelete(pParse->db, pRhs); + } + if( eType==IN_INDEX_INDEX_DESC ){ testcase( bRev ); bRev = !bRev; @@ -123206,28 +124833,45 @@ static int codeEqualityTerm( VdbeCoverageIf(v, bRev); VdbeCoverageIf(v, !bRev); assert( (pLoop->wsFlags & WHERE_MULTI_OR)==0 ); + pLoop->wsFlags |= WHERE_IN_ABLE; if( pLevel->u.in.nIn==0 ){ pLevel->addrNxt = sqlite3VdbeMakeLabel(v); } - pLevel->u.in.nIn++; + + i = pLevel->u.in.nIn; + pLevel->u.in.nIn += nEq; pLevel->u.in.aInLoop = sqlite3DbReallocOrFree(pParse->db, pLevel->u.in.aInLoop, sizeof(pLevel->u.in.aInLoop[0])*pLevel->u.in.nIn); pIn = pLevel->u.in.aInLoop; if( pIn ){ - pIn += pLevel->u.in.nIn - 1; - pIn->iCur = iTab; - if( eType==IN_INDEX_ROWID ){ - pIn->addrInTop = sqlite3VdbeAddOp2(v, OP_Rowid, iTab, iReg); - }else{ - pIn->addrInTop = sqlite3VdbeAddOp3(v, OP_Column, iTab, 0, iReg); + int iMap = 0; /* Index in aiMap[] */ + pIn += i; + for(i=iEq;inLTerm; i++){ + if( pLoop->aLTerm[i]->pExpr==pX ){ + int iOut = iReg + i - iEq; + if( eType==IN_INDEX_ROWID ){ + testcase( nEq>1 ); /* Happens with a UNIQUE index on ROWID */ + pIn->addrInTop = sqlite3VdbeAddOp2(v, OP_Rowid, iTab, iOut); + }else{ + int iCol = aiMap ? aiMap[iMap++] : 0; + pIn->addrInTop = sqlite3VdbeAddOp3(v,OP_Column,iTab, iCol, iOut); + } + sqlite3VdbeAddOp1(v, OP_IsNull, iOut); VdbeCoverage(v); + if( i==iEq ){ + pIn->iCur = iTab; + pIn->eEndLoopOp = bRev ? OP_PrevIfOpen : OP_NextIfOpen; + }else{ + pIn->eEndLoopOp = OP_Noop; + } + pIn++; + } } - pIn->eEndLoopOp = bRev ? OP_PrevIfOpen : OP_NextIfOpen; - sqlite3VdbeAddOp1(v, OP_IsNull, iReg); VdbeCoverage(v); }else{ pLevel->u.in.nIn = 0; } + sqlite3DbFree(pParse->db, aiMap); #endif } disableTerm(pLevel, pTerm); @@ -123353,9 +124997,15 @@ static int codeAllEqualityTerms( sqlite3VdbeAddOp2(v, OP_SCopy, r1, regBase+j); } } - testcase( pTerm->eOperator & WO_ISNULL ); - testcase( pTerm->eOperator & WO_IN ); - if( (pTerm->eOperator & (WO_ISNULL|WO_IN))==0 ){ + if( pTerm->eOperator & WO_IN ){ + if( pTerm->pExpr->flags & EP_xIsSelect ){ + /* No affinity ever needs to be (or should be) applied to a value + ** from the RHS of an "? IN (SELECT ...)" expression. The + ** sqlite3FindInIndex() routine has already ensured that the + ** affinity of the comparison has been applied to the value. */ + if( zAff ) zAff[j] = SQLITE_AFF_BLOB; + } + }else if( (pTerm->eOperator & WO_ISNULL)==0 ){ Expr *pRight = pTerm->pExpr->pRight; if( (pTerm->wtFlags & TERM_IS)==0 && sqlite3ExprCanBeNull(pRight) ){ sqlite3VdbeAddOp2(v, OP_IsNull, regBase+j, pLevel->addrBrk); @@ -123386,7 +125036,7 @@ static int codeAllEqualityTerms( ** expression: "x>='ABC' AND x<'abd'". But this requires that the range ** scan loop run twice, once for strings and a second time for BLOBs. ** The OP_String opcodes on the second pass convert the upper and lower -** bound string contants to blobs. This routine makes the necessary changes +** bound string constants to blobs. This routine makes the necessary changes ** to the OP_String opcodes for that to happen. ** ** Except, of course, if SQLITE_LIKE_DOESNT_MATCH_BLOBS is defined, then @@ -123443,6 +125093,38 @@ static int codeCursorHintCheckExpr(Walker *pWalker, Expr *pExpr){ return WRC_Continue; } +/* +** Test whether or not expression pExpr, which was part of a WHERE clause, +** should be included in the cursor-hint for a table that is on the rhs +** of a LEFT JOIN. Set Walker.eCode to non-zero before returning if the +** expression is not suitable. +** +** An expression is unsuitable if it might evaluate to non NULL even if +** a TK_COLUMN node that does affect the value of the expression is set +** to NULL. For example: +** +** col IS NULL +** col IS NOT NULL +** coalesce(col, 1) +** CASE WHEN col THEN 0 ELSE 1 END +*/ +static int codeCursorHintIsOrFunction(Walker *pWalker, Expr *pExpr){ + if( pExpr->op==TK_IS + || pExpr->op==TK_ISNULL || pExpr->op==TK_ISNOT + || pExpr->op==TK_NOTNULL || pExpr->op==TK_CASE + ){ + pWalker->eCode = 1; + }else if( pExpr->op==TK_FUNCTION ){ + int d1; + char d2[3]; + if( 0==sqlite3IsLikeFunction(pWalker->pParse->db, pExpr, &d1, d2) ){ + pWalker->eCode = 1; + } + } + + return WRC_Continue; +} + /* ** This function is called on every node of an expression tree used as an @@ -123495,6 +125177,7 @@ static int codeCursorHintFixExpr(Walker *pWalker, Expr *pExpr){ ** Insert an OP_CursorHint instruction if it is appropriate to do so. */ static void codeCursorHint( + struct SrcList_item *pTabItem, /* FROM clause item */ WhereInfo *pWInfo, /* The where clause */ WhereLevel *pLevel, /* Which loop to provide hints for */ WhereTerm *pEndRange /* Hint this end-of-scan boundary term if not NULL */ @@ -123525,7 +125208,42 @@ static void codeCursorHint( pTerm = &pWC->a[i]; if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; if( pTerm->prereqAll & pLevel->notReady ) continue; - if( ExprHasProperty(pTerm->pExpr, EP_FromJoin) ) continue; + + /* Any terms specified as part of the ON(...) clause for any LEFT + ** JOIN for which the current table is not the rhs are omitted + ** from the cursor-hint. + ** + ** If this table is the rhs of a LEFT JOIN, "IS" or "IS NULL" terms + ** that were specified as part of the WHERE clause must be excluded. + ** This is to address the following: + ** + ** SELECT ... t1 LEFT JOIN t2 ON (t1.a=t2.b) WHERE t2.c IS NULL; + ** + ** Say there is a single row in t2 that matches (t1.a=t2.b), but its + ** t2.c values is not NULL. If the (t2.c IS NULL) constraint is + ** pushed down to the cursor, this row is filtered out, causing + ** SQLite to synthesize a row of NULL values. Which does match the + ** WHERE clause, and so the query returns a row. Which is incorrect. + ** + ** For the same reason, WHERE terms such as: + ** + ** WHERE 1 = (t2.c IS NULL) + ** + ** are also excluded. See codeCursorHintIsOrFunction() for details. + */ + if( pTabItem->fg.jointype & JT_LEFT ){ + Expr *pExpr = pTerm->pExpr; + if( !ExprHasProperty(pExpr, EP_FromJoin) + || pExpr->iRightJoinTable!=pTabItem->iCursor + ){ + sWalker.eCode = 0; + sWalker.xExprCallback = codeCursorHintIsOrFunction; + sqlite3WalkExpr(&sWalker, pTerm->pExpr); + if( sWalker.eCode ) continue; + } + }else{ + if( ExprHasProperty(pTerm->pExpr, EP_FromJoin) ) continue; + } /* All terms in pWLoop->aLTerm[] except pEndRange are used to initialize ** the cursor. These terms are not needed as hints for a pure range @@ -123559,7 +125277,7 @@ static void codeCursorHint( } } #else -# define codeCursorHint(A,B,C) /* No-op */ +# define codeCursorHint(A,B,C,D) /* No-op */ #endif /* SQLITE_ENABLE_CURSOR_HINTS */ /* @@ -123593,7 +125311,7 @@ static void codeDeferredSeek( assert( pIdx->aiColumn[pIdx->nColumn-1]==-1 ); sqlite3VdbeAddOp3(v, OP_Seek, iIdxCur, 0, iCur); - if( (pWInfo->wctrlFlags & WHERE_FORCE_TABLE) + if( (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE) && DbMaskAllZero(sqlite3ParseToplevel(pParse)->writeMask) ){ int i; @@ -123610,6 +125328,39 @@ static void codeDeferredSeek( } } +/* +** If the expression passed as the second argument is a vector, generate +** code to write the first nReg elements of the vector into an array +** of registers starting with iReg. +** +** If the expression is not a vector, then nReg must be passed 1. In +** this case, generate code to evaluate the expression and leave the +** result in register iReg. +*/ +static void codeExprOrVector(Parse *pParse, Expr *p, int iReg, int nReg){ + assert( nReg>0 ); + if( sqlite3ExprIsVector(p) ){ +#ifndef SQLITE_OMIT_SUBQUERY + if( (p->flags & EP_xIsSelect) ){ + Vdbe *v = pParse->pVdbe; + int iSelect = sqlite3CodeSubselect(pParse, p, 0, 0); + sqlite3VdbeAddOp3(v, OP_Copy, iSelect, iReg, nReg-1); + }else +#endif + { + int i; + ExprList *pList = p->x.pList; + assert( nReg<=pList->nExpr ); + for(i=0; ia[i].pExpr, iReg+i); + } + } + }else{ + assert( nReg==1 ); + sqlite3ExprCode(pParse, p, iReg); + } +} + /* ** Generate code for the start of the iLevel-th loop in the WHERE clause ** implementation described by pWInfo. @@ -123648,7 +125399,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pLevel->notReady = notReady & ~sqlite3WhereGetMask(&pWInfo->sMaskSet, iCur); bRev = (pWInfo->revMask>>iLevel)&1; omitTable = (pLoop->wsFlags & WHERE_IDX_ONLY)!=0 - && (pWInfo->wctrlFlags & WHERE_FORCE_TABLE)==0; + && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0; VdbeModuleComment((v, "Begin WHERE-loop%d: %s",iLevel,pTabItem->pTab->zName)); /* Create labels for the "break" and "continue" instructions @@ -123705,7 +125456,8 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( codeEqualityTerm(pParse, pTerm, pLevel, j, bRev, iTarget); addrNotFound = pLevel->addrNxt; }else{ - sqlite3ExprCode(pParse, pTerm->pExpr->pRight, iTarget); + Expr *pRight = pTerm->pExpr->pRight; + codeExprOrVector(pParse, pRight, iTarget, 1); } } sqlite3VdbeAddOp2(v, OP_Integer, pLoop->u.vtab.idxNum, iReg); @@ -123788,8 +125540,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, 0, bRev, iReleaseReg); if( iRowidReg!=iReleaseReg ) sqlite3ReleaseTempReg(pParse, iReleaseReg); addrNxt = pLevel->addrNxt; - sqlite3VdbeAddOp2(v, OP_MustBeInt, iRowidReg, addrNxt); VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_NotExists, iCur, addrNxt, iRowidReg); + sqlite3VdbeAddOp3(v, OP_SeekRowid, iCur, addrNxt, iRowidReg); VdbeCoverage(v); sqlite3ExprCacheAffinityChange(pParse, iRowidReg, 1); sqlite3ExprCacheStore(pParse, iCur, -1, iRowidReg); @@ -123816,10 +125567,11 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pStart = pEnd; pEnd = pTerm; } - codeCursorHint(pWInfo, pLevel, pEnd); + codeCursorHint(pTabItem, pWInfo, pLevel, pEnd); if( pStart ){ Expr *pX; /* The expression that defines the start bound */ int r1, rTemp; /* Registers for holding the start boundary */ + int op; /* Cursor seek operation */ /* The following constant maps TK_xx codes into corresponding ** seek opcodes. It depends on a particular ordering of TK_xx @@ -123839,8 +125591,16 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pX = pStart->pExpr; assert( pX!=0 ); testcase( pStart->leftCursor!=iCur ); /* transitive constraints */ - r1 = sqlite3ExprCodeTemp(pParse, pX->pRight, &rTemp); - sqlite3VdbeAddOp3(v, aMoveOp[pX->op-TK_GT], iCur, addrBrk, r1); + if( sqlite3ExprIsVector(pX->pRight) ){ + r1 = rTemp = sqlite3GetTempReg(pParse); + codeExprOrVector(pParse, pX->pRight, r1, 1); + op = aMoveOp[(pX->op - TK_GT) | 0x0001]; + }else{ + r1 = sqlite3ExprCodeTemp(pParse, pX->pRight, &rTemp); + disableTerm(pLevel, pStart); + op = aMoveOp[(pX->op - TK_GT)]; + } + sqlite3VdbeAddOp3(v, op, iCur, addrBrk, r1); VdbeComment((v, "pk")); VdbeCoverageIf(v, pX->op==TK_GT); VdbeCoverageIf(v, pX->op==TK_LE); @@ -123848,7 +125608,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( VdbeCoverageIf(v, pX->op==TK_GE); sqlite3ExprCacheAffinityChange(pParse, r1, 1); sqlite3ReleaseTempReg(pParse, rTemp); - disableTerm(pLevel, pStart); }else{ sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iCur, addrBrk); VdbeCoverageIf(v, bRev==0); @@ -123862,13 +125621,17 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( testcase( pEnd->leftCursor!=iCur ); /* Transitive constraints */ testcase( pEnd->wtFlags & TERM_VIRTUAL ); memEndValue = ++pParse->nMem; - sqlite3ExprCode(pParse, pX->pRight, memEndValue); - if( pX->op==TK_LT || pX->op==TK_GT ){ + codeExprOrVector(pParse, pX->pRight, memEndValue, 1); + if( 0==sqlite3ExprIsVector(pX->pRight) + && (pX->op==TK_LT || pX->op==TK_GT) + ){ testOp = bRev ? OP_Le : OP_Ge; }else{ testOp = bRev ? OP_Lt : OP_Gt; } - disableTerm(pLevel, pEnd); + if( 0==sqlite3ExprIsVector(pX->pRight) ){ + disableTerm(pLevel, pEnd); + } } start = sqlite3VdbeCurrentAddr(v); pLevel->op = bRev ? OP_Prev : OP_Next; @@ -123935,6 +125698,8 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( OP_IdxLT, /* 3: (end_constraints && bRev && endEq) */ }; u16 nEq = pLoop->u.btree.nEq; /* Number of == or IN terms */ + u16 nBtm = pLoop->u.btree.nBtm; /* Length of BTM vector */ + u16 nTop = pLoop->u.btree.nTop; /* Length of TOP vector */ int regBase; /* Base register holding constraint values */ WhereTerm *pRangeStart = 0; /* Inequality constraint at range start */ WhereTerm *pRangeEnd = 0; /* Inequality constraint at range end */ @@ -123947,7 +125712,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( int nExtraReg = 0; /* Number of extra registers needed */ int op; /* Instruction opcode */ char *zStartAff; /* Affinity for start of range constraint */ - char cEndAff = 0; /* Affinity for end of range constraint */ + char *zEndAff = 0; /* Affinity for end of range constraint */ u8 bSeekPastNull = 0; /* True to seek past initial nulls */ u8 bStopAtNull = 0; /* Add condition to terminate at NULLs */ @@ -123981,14 +125746,14 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( j = nEq; if( pLoop->wsFlags & WHERE_BTM_LIMIT ){ pRangeStart = pLoop->aLTerm[j++]; - nExtraReg = 1; + nExtraReg = MAX(nExtraReg, pLoop->u.btree.nBtm); /* Like optimization range constraints always occur in pairs */ assert( (pRangeStart->wtFlags & TERM_LIKEOPT)==0 || (pLoop->wsFlags & WHERE_TOP_LIMIT)!=0 ); } if( pLoop->wsFlags & WHERE_TOP_LIMIT ){ pRangeEnd = pLoop->aLTerm[j++]; - nExtraReg = 1; + nExtraReg = MAX(nExtraReg, pLoop->u.btree.nTop); #ifndef SQLITE_LIKE_DOESNT_MATCH_BLOBS if( (pRangeEnd->wtFlags & TERM_LIKEOPT)!=0 ){ assert( pRangeStart!=0 ); /* LIKE opt constraints */ @@ -124006,11 +125771,11 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pLevel->iLikeRepCntr |= bRev ^ (pIdx->aSortOrder[nEq]==SQLITE_SO_DESC); } #endif - if( pRangeStart==0 - && (j = pIdx->aiColumn[nEq])>=0 - && pIdx->pTable->aCol[j].notNull==0 - ){ - bSeekPastNull = 1; + if( pRangeStart==0 ){ + j = pIdx->aiColumn[nEq]; + if( (j>=0 && pIdx->pTable->aCol[j].notNull==0) || j==XN_EXPR ){ + bSeekPastNull = 1; + } } } assert( pRangeEnd==0 || (pRangeEnd->wtFlags & TERM_VNULL)==0 ); @@ -124024,16 +125789,19 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ){ SWAP(WhereTerm *, pRangeEnd, pRangeStart); SWAP(u8, bSeekPastNull, bStopAtNull); + SWAP(u8, nBtm, nTop); } /* Generate code to evaluate all constraint terms using == or IN ** and store the values of those terms in an array of registers ** starting at regBase. */ - codeCursorHint(pWInfo, pLevel, pRangeEnd); + codeCursorHint(pTabItem, pWInfo, pLevel, pRangeEnd); regBase = codeAllEqualityTerms(pParse,pLevel,bRev,nExtraReg,&zStartAff); assert( zStartAff==0 || sqlite3Strlen30(zStartAff)>=nEq ); - if( zStartAff ) cEndAff = zStartAff[nEq]; + if( zStartAff && nTop ){ + zEndAff = sqlite3DbStrDup(db, &zStartAff[nEq]); + } addrNxt = pLevel->addrNxt; testcase( pRangeStart && (pRangeStart->eOperator & WO_LE)!=0 ); @@ -124048,7 +125816,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( nConstraint = nEq; if( pRangeStart ){ Expr *pRight = pRangeStart->pExpr->pRight; - sqlite3ExprCode(pParse, pRight, regBase+nEq); + codeExprOrVector(pParse, pRight, regBase+nEq, nBtm); whereLikeOptimizationStringFixup(v, pLevel, pRangeStart); if( (pRangeStart->wtFlags & TERM_VNULL)==0 && sqlite3ExprCanBeNull(pRight) @@ -124057,18 +125825,16 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( VdbeCoverage(v); } if( zStartAff ){ - if( sqlite3CompareAffinity(pRight, zStartAff[nEq])==SQLITE_AFF_BLOB){ - /* Since the comparison is to be performed with no conversions - ** applied to the operands, set the affinity to apply to pRight to - ** SQLITE_AFF_BLOB. */ - zStartAff[nEq] = SQLITE_AFF_BLOB; - } - if( sqlite3ExprNeedsNoAffinityChange(pRight, zStartAff[nEq]) ){ - zStartAff[nEq] = SQLITE_AFF_BLOB; - } + updateRangeAffinityStr(pRight, nBtm, &zStartAff[nEq]); } - nConstraint++; + nConstraint += nBtm; testcase( pRangeStart->wtFlags & TERM_VIRTUAL ); + if( sqlite3ExprIsVector(pRight)==0 ){ + disableTerm(pLevel, pRangeStart); + }else{ + startEq = 1; + } + bSeekPastNull = 0; }else if( bSeekPastNull ){ sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); nConstraint++; @@ -124100,7 +125866,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( pRangeEnd ){ Expr *pRight = pRangeEnd->pExpr->pRight; sqlite3ExprCacheRemove(pParse, regBase+nEq, 1); - sqlite3ExprCode(pParse, pRight, regBase+nEq); + codeExprOrVector(pParse, pRight, regBase+nEq, nTop); whereLikeOptimizationStringFixup(v, pLevel, pRangeEnd); if( (pRangeEnd->wtFlags & TERM_VNULL)==0 && sqlite3ExprCanBeNull(pRight) @@ -124108,19 +125874,27 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( sqlite3VdbeAddOp2(v, OP_IsNull, regBase+nEq, addrNxt); VdbeCoverage(v); } - if( sqlite3CompareAffinity(pRight, cEndAff)!=SQLITE_AFF_BLOB - && !sqlite3ExprNeedsNoAffinityChange(pRight, cEndAff) - ){ - codeApplyAffinity(pParse, regBase+nEq, 1, &cEndAff); + if( zEndAff ){ + updateRangeAffinityStr(pRight, nTop, zEndAff); + codeApplyAffinity(pParse, regBase+nEq, nTop, zEndAff); + }else{ + assert( pParse->db->mallocFailed ); } - nConstraint++; + nConstraint += nTop; testcase( pRangeEnd->wtFlags & TERM_VIRTUAL ); + + if( sqlite3ExprIsVector(pRight)==0 ){ + disableTerm(pLevel, pRangeEnd); + }else{ + endEq = 1; + } }else if( bStopAtNull ){ sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); endEq = 0; nConstraint++; } sqlite3DbFree(db, zStartAff); + sqlite3DbFree(db, zEndAff); /* Top of the loop body */ pLevel->p2 = sqlite3VdbeCurrentAddr(v); @@ -124136,8 +125910,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } /* Seek the table cursor, if required */ - disableTerm(pLevel, pRangeStart); - disableTerm(pLevel, pRangeEnd); if( omitTable ){ /* pIdx is a covering index. No need to access the main table. */ }else if( HasRowid(pIdx->pTable) ){ @@ -124161,9 +125933,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( iRowidReg, pPk->nKeyCol); VdbeCoverage(v); } - /* Record the instruction used to terminate the loop. Disable - ** WHERE clause terms made redundant by the index range scan. - */ + /* Record the instruction used to terminate the loop. */ if( pLoop->wsFlags & WHERE_ONEROW ){ pLevel->op = OP_Noop; }else if( bRev ){ @@ -124240,7 +126010,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( u16 wctrlFlags; /* Flags for sub-WHERE clause */ Expr *pAndExpr = 0; /* An ".. AND (...)" expression */ Table *pTab = pTabItem->pTab; - + pTerm = pLoop->aLTerm[0]; assert( pTerm!=0 ); assert( pTerm->eOperator & WO_OR ); @@ -124334,11 +126104,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - wctrlFlags = WHERE_OMIT_OPEN_CLOSE - | WHERE_FORCE_TABLE - | WHERE_ONETABLE_ONLY - | WHERE_NO_AUTOINDEX - | (pWInfo->wctrlFlags & WHERE_SEEK_TABLE); + wctrlFlags = WHERE_OR_SUBCLAUSE | (pWInfo->wctrlFlags & WHERE_SEEK_TABLE); for(ii=0; iinTerm; ii++){ WhereTerm *pOrTerm = &pOrWc->a[ii]; if( pOrTerm->leftCursor==iCur || (pOrTerm->eOperator & WO_AND)!=0 ){ @@ -124446,7 +126212,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ){ assert( pSubWInfo->a[0].iIdxCur==iCovCur ); pCov = pSubLoop->u.btree.pIndex; - wctrlFlags |= WHERE_REOPEN_IDX; }else{ pCov = 0; } @@ -124483,7 +126248,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** a pseudo-cursor. No need to Rewind or Next such cursors. */ pLevel->op = OP_Noop; }else{ - codeCursorHint(pWInfo, pLevel, 0); + codeCursorHint(pTabItem, pWInfo, pLevel, 0); pLevel->op = aStep[bRev]; pLevel->p1 = iCur; pLevel->p2 = 1 + sqlite3VdbeAddOp2(v, aStart[bRev], iCur, addrBrk); @@ -124508,7 +126273,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; if( (pTerm->prereqAll & pLevel->notReady)!=0 ){ testcase( pWInfo->untestedTerms==0 - && (pWInfo->wctrlFlags & WHERE_ONETABLE_ONLY)!=0 ); + && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)!=0 ); pWInfo->untestedTerms = 1; continue; } @@ -124546,7 +126311,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** the implied "t1.a=123" constraint. */ for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ - Expr *pE, *pEAlt; + Expr *pE, sEAlt; WhereTerm *pAlt; if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; if( (pTerm->eOperator & (WO_EQ|WO_IS))==0 ) continue; @@ -124564,13 +126329,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( testcase( pAlt->eOperator & WO_IS ); testcase( pAlt->eOperator & WO_IN ); VdbeModuleComment((v, "begin transitive constraint")); - pEAlt = sqlite3StackAllocRaw(db, sizeof(*pEAlt)); - if( pEAlt ){ - *pEAlt = *pAlt->pExpr; - pEAlt->pLeft = pE->pLeft; - sqlite3ExprIfFalse(pParse, pEAlt, addrCont, SQLITE_JUMPIFNULL); - sqlite3StackFree(db, pEAlt); - } + sEAlt = *pAlt->pExpr; + sEAlt.pLeft = pE->pLeft; + sqlite3ExprIfFalse(pParse, &sEAlt, addrCont, SQLITE_JUMPIFNULL); } /* For a LEFT OUTER JOIN, generate code that will record the fact that @@ -124679,7 +126440,6 @@ static int whereClauseInsert(WhereClause *pWC, Expr *p, u16 wtFlags){ sqlite3DbFree(db, pOld); } pWC->nSlot = sqlite3DbMallocSize(db, pWC->a)/sizeof(pWC->a[0]); - memset(&pWC->a[pWC->nTerm], 0, sizeof(pWC->a[0])*(pWC->nSlot-pWC->nTerm)); } pTerm = &pWC->a[idx = pWC->nTerm++]; if( p && ExprHasProperty(p, EP_Unlikely) ){ @@ -124691,13 +126451,15 @@ static int whereClauseInsert(WhereClause *pWC, Expr *p, u16 wtFlags){ pTerm->wtFlags = wtFlags; pTerm->pWC = pWC; pTerm->iParent = -1; + memset(&pTerm->eOperator, 0, + sizeof(WhereTerm) - offsetof(WhereTerm,eOperator)); return idx; } /* ** Return TRUE if the given operator is one of the operators that is ** allowed for an indexable WHERE clause term. The allowed operators are -** "=", "<", ">", "<=", ">=", "IN", and "IS NULL" +** "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" */ static int allowedOp(int op){ assert( TK_GT>TK_EQ && TK_GTmallocFailed ){ for(j=0, pAndTerm=pAndWC->a; jnTerm; j++, pAndTerm++){ assert( pAndTerm->pExpr ); - if( allowedOp(pAndTerm->pExpr->op) ){ + if( allowedOp(pAndTerm->pExpr->op) + || pAndTerm->eOperator==WO_MATCH + ){ b |= sqlite3WhereGetMask(&pWInfo->sMaskSet, pAndTerm->leftCursor); } } @@ -125385,12 +127149,10 @@ static int termIsEquivalence(Parse *pParse, Expr *pExpr){ pColl = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pExpr->pRight); if( pColl==0 || sqlite3StrICmp(pColl->zName, "BINARY")==0 ) return 1; pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft); - /* Since pLeft and pRight are both a column references, their collating - ** sequence should always be defined. */ - zColl1 = ALWAYS(pColl) ? pColl->zName : 0; + zColl1 = pColl ? pColl->zName : 0; pColl = sqlite3ExprCollSeq(pParse, pExpr->pRight); - zColl2 = ALWAYS(pColl) ? pColl->zName : 0; - return sqlite3StrICmp(zColl1, zColl2)==0; + zColl2 = pColl ? pColl->zName : 0; + return sqlite3_stricmp(zColl1, zColl2)==0; } /* @@ -125425,7 +127187,8 @@ static Bitmask exprSelectUsage(WhereMaskSet *pMaskSet, Select *pS){ ** in any index. Return TRUE (1) if pExpr is an indexed term and return ** FALSE (0) if not. If TRUE is returned, also set *piCur to the cursor ** number of the table that is indexed and *piColumn to the column number -** of the column that is indexed, or -2 if an expression is being indexed. +** of the column that is indexed, or XN_EXPR (-2) if an expression is being +** indexed. ** ** If pExpr is a TK_COLUMN column reference, then this routine always returns ** true even if that particular column is not indexed, because the column @@ -125433,6 +127196,7 @@ static Bitmask exprSelectUsage(WhereMaskSet *pMaskSet, Select *pS){ */ static int exprMightBeIndexed( SrcList *pFrom, /* The FROM clause */ + int op, /* The specific comparison operator */ Bitmask mPrereq, /* Bitmask of FROM clause terms referenced by pExpr */ Expr *pExpr, /* An operand of a comparison operator */ int *piCur, /* Write the referenced table cursor number here */ @@ -125441,6 +127205,17 @@ static int exprMightBeIndexed( Index *pIdx; int i; int iCur; + + /* If this expression is a vector to the left or right of a + ** inequality constraint (>, <, >= or <=), perform the processing + ** on the first element of the vector. */ + assert( TK_GT+1==TK_LE && TK_GT+2==TK_LT && TK_GT+3==TK_GE ); + assert( TK_ISop==TK_VECTOR && (op>=TK_GT && ALWAYS(op<=TK_GE)) ){ + pExpr = pExpr->x.pList->a[0].pExpr; + } + if( pExpr->op==TK_COLUMN ){ *piCur = pExpr->iTable; *piColumn = pExpr->iColumn; @@ -125453,10 +127228,10 @@ static int exprMightBeIndexed( for(pIdx=pFrom->a[i].pTab->pIndex; pIdx; pIdx=pIdx->pNext){ if( pIdx->aColExpr==0 ) continue; for(i=0; inKeyCol; i++){ - if( pIdx->aiColumn[i]!=(-2) ) continue; + if( pIdx->aiColumn[i]!=XN_EXPR ) continue; if( sqlite3ExprCompare(pExpr, pIdx->aColExpr->a[i].pExpr, iCur)==0 ){ *piCur = iCur; - *piColumn = -2; + *piColumn = XN_EXPR; return 1; } } @@ -125513,6 +127288,7 @@ static void exprAnalyze( op = pExpr->op; if( op==TK_IN ){ assert( pExpr->pRight==0 ); + if( sqlite3ExprCheckIN(pParse, pExpr) ) return; if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pTerm->prereqRight = exprSelectUsage(pMaskSet, pExpr->x.pSelect); }else{ @@ -125539,18 +127315,26 @@ static void exprAnalyze( Expr *pLeft = sqlite3ExprSkipCollate(pExpr->pLeft); Expr *pRight = sqlite3ExprSkipCollate(pExpr->pRight); u16 opMask = (pTerm->prereqRight & prereqLeft)==0 ? WO_ALL : WO_EQUIV; - if( exprMightBeIndexed(pSrc, prereqLeft, pLeft, &iCur, &iColumn) ){ + + if( pTerm->iField>0 ){ + assert( op==TK_IN ); + assert( pLeft->op==TK_VECTOR ); + pLeft = pLeft->x.pList->a[pTerm->iField-1].pExpr; + } + + if( exprMightBeIndexed(pSrc, op, prereqLeft, pLeft, &iCur, &iColumn) ){ pTerm->leftCursor = iCur; pTerm->u.leftColumn = iColumn; pTerm->eOperator = operatorMask(op) & opMask; } if( op==TK_IS ) pTerm->wtFlags |= TERM_IS; if( pRight - && exprMightBeIndexed(pSrc, pTerm->prereqRight, pRight, &iCur, &iColumn) + && exprMightBeIndexed(pSrc, op, pTerm->prereqRight, pRight, &iCur,&iColumn) ){ WhereTerm *pNew; Expr *pDup; u16 eExtraOp = 0; /* Extra bits for pNew->eOperator */ + assert( pTerm->iField==0 ); if( pTerm->leftCursor>=0 ){ int idxNew; pDup = sqlite3ExprDup(db, pExpr, 0); @@ -125724,7 +127508,7 @@ static void exprAnalyze( ** virtual tables. The native query optimizer does not attempt ** to do anything with MATCH functions. */ - if( isMatchOfColumn(pExpr, &eOp2) ){ + if( pWC->op==TK_AND && isMatchOfColumn(pExpr, &eOp2) ){ int idxNew; Expr *pRight, *pLeft; WhereTerm *pNewTerm; @@ -125754,6 +127538,60 @@ static void exprAnalyze( } #endif /* SQLITE_OMIT_VIRTUALTABLE */ + /* If there is a vector == or IS term - e.g. "(a, b) == (?, ?)" - create + ** new terms for each component comparison - "a = ?" and "b = ?". The + ** new terms completely replace the original vector comparison, which is + ** no longer used. + ** + ** This is only required if at least one side of the comparison operation + ** is not a sub-select. */ + if( pWC->op==TK_AND + && (pExpr->op==TK_EQ || pExpr->op==TK_IS) + && sqlite3ExprIsVector(pExpr->pLeft) + && ( (pExpr->pLeft->flags & EP_xIsSelect)==0 + || (pExpr->pRight->flags & EP_xIsSelect)==0 + )){ + int nLeft = sqlite3ExprVectorSize(pExpr->pLeft); + int i; + assert( nLeft==sqlite3ExprVectorSize(pExpr->pRight) ); + for(i=0; ipLeft, i); + Expr *pRight = sqlite3ExprForVectorField(pParse, pExpr->pRight, i); + + pNew = sqlite3PExpr(pParse, pExpr->op, pLeft, pRight, 0); + transferJoinMarkings(pNew, pExpr); + idxNew = whereClauseInsert(pWC, pNew, TERM_DYNAMIC); + exprAnalyze(pSrc, pWC, idxNew); + } + pTerm = &pWC->a[idxTerm]; + pTerm->wtFlags = TERM_CODED|TERM_VIRTUAL; /* Disable the original */ + pTerm->eOperator = 0; + } + + /* If there is a vector IN term - e.g. "(a, b) IN (SELECT ...)" - create + ** a virtual term for each vector component. The expression object + ** used by each such virtual term is pExpr (the full vector IN(...) + ** expression). The WhereTerm.iField variable identifies the index within + ** the vector on the LHS that the virtual term represents. + ** + ** This only works if the RHS is a simple SELECT, not a compound + */ + if( pWC->op==TK_AND && pExpr->op==TK_IN && pTerm->iField==0 + && pExpr->pLeft->op==TK_VECTOR + && pExpr->x.pSelect->pPrior==0 + ){ + int i; + for(i=0; ipLeft); i++){ + int idxNew; + idxNew = whereClauseInsert(pWC, pExpr, TERM_VIRTUAL); + pWC->a[idxNew].iField = i+1; + exprAnalyze(pSrc, pWC, idxNew); + markTermAsChild(pWC, idxNew, idxTerm); + } + } + #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 /* When sqlite_stat3 histogram data is available an operator of the ** form "x IS NOT NULL" can sometimes be evaluated more efficiently @@ -125774,7 +127612,7 @@ static void exprAnalyze( pNewExpr = sqlite3PExpr(pParse, TK_GT, sqlite3ExprDup(db, pLeft, 0), - sqlite3PExpr(pParse, TK_NULL, 0, 0, 0), 0); + sqlite3ExprAlloc(db, TK_NULL, 0, 0), 0); idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC|TERM_VNULL); @@ -125877,13 +127715,14 @@ SQLITE_PRIVATE void sqlite3WhereClauseClear(WhereClause *pWC){ ** tree. */ SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ - Bitmask mask = 0; + Bitmask mask; if( p==0 ) return 0; if( p->op==TK_COLUMN ){ mask = sqlite3WhereGetMask(pMaskSet, p->iTable); return mask; } - mask = sqlite3WhereExprUsage(pMaskSet, p->pRight); + assert( !ExprHasProperty(p, EP_TokenOnly) ); + mask = p->pRight ? sqlite3WhereExprUsage(pMaskSet, p->pRight) : 0; if( p->pLeft ) mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft); if( ExprHasProperty(p, EP_xIsSelect) ){ mask |= exprSelectUsage(pMaskSet, p->x.pSelect); @@ -125951,7 +127790,7 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs( pTab->zName, j); return; } - pColRef = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); + pColRef = sqlite3ExprAlloc(pParse->db, TK_COLUMN, 0, 0); if( pColRef==0 ) return; pColRef->iTable = pItem->iCursor; pColRef->iColumn = k++; @@ -126017,6 +127856,18 @@ SQLITE_PRIVATE int sqlite3WhereIsOrdered(WhereInfo *pWInfo){ return pWInfo->nOBSat; } +/* +** Return TRUE if the innermost loop of the WHERE clause implementation +** returns rows in ORDER BY order for complete run of the inner loop. +** +** Across multiple iterations of outer loops, the output rows need not be +** sorted. As long as rows are sorted for just the innermost loop, this +** routine can return TRUE. +*/ +SQLITE_PRIVATE int sqlite3WhereOrderedInnerLoop(WhereInfo *pWInfo){ + return pWInfo->bOrderedInnerLoop; +} + /* ** Return the VDBE address or label to jump to in order to continue ** immediately with the next row of a WHERE clause. @@ -126605,7 +128456,7 @@ static void constructAutomaticIndex( ** transient index on 2nd and subsequent iterations of the loop. */ v = pParse->pVdbe; assert( v!=0 ); - addrInit = sqlite3CodeOnce(pParse); VdbeCoverage(v); + addrInit = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); /* Count the number of columns that will be added to the index ** and used to match WHERE clause constraints */ @@ -126780,7 +128631,8 @@ static sqlite3_index_info *allocateIndexInfo( WhereClause *pWC, Bitmask mUnusable, /* Ignore terms with these prereqs */ struct SrcList_item *pSrc, - ExprList *pOrderBy + ExprList *pOrderBy, + u16 *pmNoOmit /* Mask of terms not to omit */ ){ int i, j; int nTerm; @@ -126790,6 +128642,7 @@ static sqlite3_index_info *allocateIndexInfo( WhereTerm *pTerm; int nOrderBy; sqlite3_index_info *pIdxInfo; + u16 mNoOmit = 0; /* Count the number of possible WHERE clause constraints referring ** to this virtual table */ @@ -126878,6 +128731,15 @@ static sqlite3_index_info *allocateIndexInfo( assert( WO_GE==SQLITE_INDEX_CONSTRAINT_GE ); assert( WO_MATCH==SQLITE_INDEX_CONSTRAINT_MATCH ); assert( pTerm->eOperator & (WO_IN|WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH) ); + + if( op & (WO_LT|WO_LE|WO_GT|WO_GE) + && sqlite3ExprIsVector(pTerm->pExpr->pRight) + ){ + if( i<16 ) mNoOmit |= (1 << i); + if( op==WO_LT ) pIdxCons[j].op = WO_LE; + if( op==WO_GT ) pIdxCons[j].op = WO_GE; + } + j++; } for(i=0; ia[i].sortOrder; } + *pmNoOmit = mNoOmit; return pIdxInfo; } @@ -127161,7 +129024,7 @@ static LogEst whereRangeAdjust(WhereTerm *pTerm, LogEst nNew){ /* ** Return the affinity for a single column of an index. */ -static char sqlite3IndexColumnAffinity(sqlite3 *db, Index *pIdx, int iCol){ +SQLITE_PRIVATE char sqlite3IndexColumnAffinity(sqlite3 *db, Index *pIdx, int iCol){ assert( iCol>=0 && iColnColumn ); if( !pIdx->zColAff ){ if( sqlite3IndexAffinityStr(db, pIdx)==0 ) return SQLITE_AFF_BLOB; @@ -127338,7 +129201,8 @@ static int whereRangeScanEst( if( nEq==pBuilder->nRecValid ){ UnpackedRecord *pRec = pBuilder->pRec; tRowcnt a[2]; - u8 aff; + int nBtm = pLoop->u.btree.nBtm; + int nTop = pLoop->u.btree.nTop; /* Variable iLower will be set to the estimate of the number of rows in ** the index that are less than the lower bound of the range query. The @@ -127368,8 +129232,6 @@ static int whereRangeScanEst( testcase( pRec->nField!=pBuilder->nRecValid ); pRec->nField = pBuilder->nRecValid; } - aff = sqlite3IndexColumnAffinity(pParse->db, p, nEq); - assert( nEq!=p->nKeyCol || aff==SQLITE_AFF_INTEGER ); /* Determine iLower and iUpper using ($P) only. */ if( nEq==0 ){ iLower = 0; @@ -127388,17 +129250,20 @@ static int whereRangeScanEst( if( p->aSortOrder[nEq] ){ /* The roles of pLower and pUpper are swapped for a DESC index */ SWAP(WhereTerm*, pLower, pUpper); + SWAP(int, nBtm, nTop); } /* If possible, improve on the iLower estimate using ($P:$L). */ if( pLower ){ - int bOk; /* True if value is extracted from pExpr */ + int n; /* Values extracted from pExpr */ Expr *pExpr = pLower->pExpr->pRight; - rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk); - if( rc==SQLITE_OK && bOk ){ + rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nBtm, nEq, &n); + if( rc==SQLITE_OK && n ){ tRowcnt iNew; + u16 mask = WO_GT|WO_LE; + if( sqlite3ExprVectorSize(pExpr)>n ) mask = (WO_LE|WO_LT); iLwrIdx = whereKeyStats(pParse, p, pRec, 0, a); - iNew = a[0] + ((pLower->eOperator & (WO_GT|WO_LE)) ? a[1] : 0); + iNew = a[0] + ((pLower->eOperator & mask) ? a[1] : 0); if( iNew>iLower ) iLower = iNew; nOut--; pLower = 0; @@ -127407,13 +129272,15 @@ static int whereRangeScanEst( /* If possible, improve on the iUpper estimate using ($P:$U). */ if( pUpper ){ - int bOk; /* True if value is extracted from pExpr */ + int n; /* Values extracted from pExpr */ Expr *pExpr = pUpper->pExpr->pRight; - rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk); - if( rc==SQLITE_OK && bOk ){ + rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nTop, nEq, &n); + if( rc==SQLITE_OK && n ){ tRowcnt iNew; + u16 mask = WO_GT|WO_LE; + if( sqlite3ExprVectorSize(pExpr)>n ) mask = (WO_LE|WO_LT); iUprIdx = whereKeyStats(pParse, p, pRec, 1, a); - iNew = a[0] + ((pUpper->eOperator & (WO_GT|WO_LE)) ? a[1] : 0); + iNew = a[0] + ((pUpper->eOperator & mask) ? a[1] : 0); if( iNewpNew->u.btree.pIndex; int nEq = pBuilder->pNew->u.btree.nEq; UnpackedRecord *pRec = pBuilder->pRec; - u8 aff; /* Column affinity */ int rc; /* Subfunction return code */ tRowcnt a[2]; /* Statistics */ int bOk; @@ -127527,8 +129393,7 @@ static int whereEqualScanEst( return SQLITE_OK; } - aff = sqlite3IndexColumnAffinity(pParse->db, p, nEq-1); - rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq-1, &bOk); + rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, 1, nEq-1, &bOk); pBuilder->pRec = pRec; if( rc!=SQLITE_OK ) return rc; if( bOk==0 ) return SQLITE_NOTFOUND; @@ -127602,19 +129467,46 @@ static void whereTermPrint(WhereTerm *pTerm, int iTerm){ sqlite3DebugPrintf("TERM-%-3d NULL\n", iTerm); }else{ char zType[4]; + char zLeft[50]; memcpy(zType, "...", 4); if( pTerm->wtFlags & TERM_VIRTUAL ) zType[0] = 'V'; if( pTerm->eOperator & WO_EQUIV ) zType[1] = 'E'; if( ExprHasProperty(pTerm->pExpr, EP_FromJoin) ) zType[2] = 'L'; + if( pTerm->eOperator & WO_SINGLE ){ + sqlite3_snprintf(sizeof(zLeft),zLeft,"left={%d:%d}", + pTerm->leftCursor, pTerm->u.leftColumn); + }else if( (pTerm->eOperator & WO_OR)!=0 && pTerm->u.pOrInfo!=0 ){ + sqlite3_snprintf(sizeof(zLeft),zLeft,"indexable=0x%lld", + pTerm->u.pOrInfo->indexable); + }else{ + sqlite3_snprintf(sizeof(zLeft),zLeft,"left=%d", pTerm->leftCursor); + } sqlite3DebugPrintf( - "TERM-%-3d %p %s cursor=%-3d prob=%-3d op=0x%03x wtFlags=0x%04x\n", - iTerm, pTerm, zType, pTerm->leftCursor, pTerm->truthProb, + "TERM-%-3d %p %s %-12s prob=%-3d op=0x%03x wtFlags=0x%04x", + iTerm, pTerm, zType, zLeft, pTerm->truthProb, pTerm->eOperator, pTerm->wtFlags); + if( pTerm->iField ){ + sqlite3DebugPrintf(" iField=%d\n", pTerm->iField); + }else{ + sqlite3DebugPrintf("\n"); + } sqlite3TreeViewExpr(0, pTerm->pExpr, 0); } } #endif +#ifdef WHERETRACE_ENABLED +/* +** Show the complete content of a WhereClause +*/ +SQLITE_PRIVATE void sqlite3WhereClausePrint(WhereClause *pWC){ + int i; + for(i=0; inTerm; i++){ + whereTermPrint(&pWC->a[i], i); + } +} +#endif + #ifdef WHERETRACE_ENABLED /* ** Print a WhereLoop object for debugging purposes @@ -128119,6 +130011,72 @@ static void whereLoopOutputAdjust( if( pLoop->nOut > nRow-iReduce ) pLoop->nOut = nRow - iReduce; } +/* +** Term pTerm is a vector range comparison operation. The first comparison +** in the vector can be optimized using column nEq of the index. This +** function returns the total number of vector elements that can be used +** as part of the range comparison. +** +** For example, if the query is: +** +** WHERE a = ? AND (b, c, d) > (?, ?, ?) +** +** and the index: +** +** CREATE INDEX ... ON (a, b, c, d, e) +** +** then this function would be invoked with nEq=1. The value returned in +** this case is 3. +*/ +static int whereRangeVectorLen( + Parse *pParse, /* Parsing context */ + int iCur, /* Cursor open on pIdx */ + Index *pIdx, /* The index to be used for a inequality constraint */ + int nEq, /* Number of prior equality constraints on same index */ + WhereTerm *pTerm /* The vector inequality constraint */ +){ + int nCmp = sqlite3ExprVectorSize(pTerm->pExpr->pLeft); + int i; + + nCmp = MIN(nCmp, (pIdx->nColumn - nEq)); + for(i=1; ipExpr->pLeft->x.pList->a[i].pExpr; + Expr *pRhs = pTerm->pExpr->pRight; + if( pRhs->flags & EP_xIsSelect ){ + pRhs = pRhs->x.pSelect->pEList->a[i].pExpr; + }else{ + pRhs = pRhs->x.pList->a[i].pExpr; + } + + /* Check that the LHS of the comparison is a column reference to + ** the right column of the right source table. And that the sort + ** order of the index column is the same as the sort order of the + ** leftmost index column. */ + if( pLhs->op!=TK_COLUMN + || pLhs->iTable!=iCur + || pLhs->iColumn!=pIdx->aiColumn[i+nEq] + || pIdx->aSortOrder[i+nEq]!=pIdx->aSortOrder[nEq] + ){ + break; + } + + testcase( pLhs->iColumn==XN_ROWID ); + aff = sqlite3CompareAffinity(pRhs, sqlite3ExprAffinity(pLhs)); + idxaff = sqlite3TableColumnAffinity(pIdx->pTable, pLhs->iColumn); + if( aff!=idxaff ) break; + + pColl = sqlite3BinaryCompareCollSeq(pParse, pLhs, pRhs); + if( pColl==0 ) break; + if( sqlite3StrICmp(pColl->zName, pIdx->azColl[i+nEq]) ) break; + } + return i; +} + /* ** Adjust the cost C by the costMult facter T. This only occurs if ** compiled with -DSQLITE_ENABLE_COSTMULT @@ -128157,6 +130115,8 @@ static int whereLoopAddBtreeIndex( Bitmask saved_prereq; /* Original value of pNew->prereq */ u16 saved_nLTerm; /* Original value of pNew->nLTerm */ u16 saved_nEq; /* Original value of pNew->u.btree.nEq */ + u16 saved_nBtm; /* Original value of pNew->u.btree.nBtm */ + u16 saved_nTop; /* Original value of pNew->u.btree.nTop */ u16 saved_nSkip; /* Original value of pNew->nSkip */ u32 saved_wsFlags; /* Original value of pNew->wsFlags */ LogEst saved_nOut; /* Original value of pNew->nOut */ @@ -128167,12 +130127,15 @@ static int whereLoopAddBtreeIndex( pNew = pBuilder->pNew; if( db->mallocFailed ) return SQLITE_NOMEM_BKPT; + WHERETRACE(0x800, ("BEGIN addBtreeIdx(%s), nEq=%d\n", + pProbe->zName, pNew->u.btree.nEq)); assert( (pNew->wsFlags & WHERE_VIRTUALTABLE)==0 ); assert( (pNew->wsFlags & WHERE_TOP_LIMIT)==0 ); if( pNew->wsFlags & WHERE_BTM_LIMIT ){ opMask = WO_LT|WO_LE; }else{ + assert( pNew->u.btree.nBtm==0 ); opMask = WO_EQ|WO_IN|WO_GT|WO_GE|WO_LT|WO_LE|WO_ISNULL|WO_IS; } if( pProbe->bUnordered ) opMask &= ~(WO_GT|WO_GE|WO_LT|WO_LE); @@ -128180,6 +130143,8 @@ static int whereLoopAddBtreeIndex( assert( pNew->u.btree.nEqnColumn ); saved_nEq = pNew->u.btree.nEq; + saved_nBtm = pNew->u.btree.nBtm; + saved_nTop = pNew->u.btree.nTop; saved_nSkip = pNew->nSkip; saved_nLTerm = pNew->nLTerm; saved_wsFlags = pNew->wsFlags; @@ -128223,6 +130188,8 @@ static int whereLoopAddBtreeIndex( pNew->wsFlags = saved_wsFlags; pNew->u.btree.nEq = saved_nEq; + pNew->u.btree.nBtm = saved_nBtm; + pNew->u.btree.nTop = saved_nTop; pNew->nLTerm = saved_nLTerm; if( whereLoopResize(db, pNew, pNew->nLTerm+1) ) break; /* OOM */ pNew->aLTerm[pNew->nLTerm++] = pTerm; @@ -128239,14 +130206,23 @@ static int whereLoopAddBtreeIndex( pNew->wsFlags |= WHERE_COLUMN_IN; if( ExprHasProperty(pExpr, EP_xIsSelect) ){ /* "x IN (SELECT ...)": TUNING: the SELECT returns 25 rows */ + int i; nIn = 46; assert( 46==sqlite3LogEst(25) ); + + /* The expression may actually be of the form (x, y) IN (SELECT...). + ** In this case there is a separate term for each of (x) and (y). + ** However, the nIn multiplier should only be applied once, not once + ** for each such term. The following loop checks that pTerm is the + ** first such term in use, and sets nIn back to 0 if it is not. */ + for(i=0; inLTerm-1; i++){ + if( pNew->aLTerm[i] && pNew->aLTerm[i]->pExpr==pExpr ) nIn = 0; + } }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){ /* "x IN (value, value, ...)" */ nIn = sqlite3LogEst(pExpr->x.pList->nExpr); + assert( nIn>0 ); /* RHS always has 2 or more terms... The parser + ** changes "x IN (?)" into "x=?". */ } - assert( nIn>0 ); /* RHS always has 2 or more terms... The parser - ** changes "x IN (?)" into "x=?". */ - }else if( eOp & (WO_EQ|WO_IS) ){ int iCol = pProbe->aiColumn[saved_nEq]; pNew->wsFlags |= WHERE_COLUMN_EQ; @@ -128266,6 +130242,9 @@ static int whereLoopAddBtreeIndex( testcase( eOp & WO_GT ); testcase( eOp & WO_GE ); pNew->wsFlags |= WHERE_COLUMN_RANGE|WHERE_BTM_LIMIT; + pNew->u.btree.nBtm = whereRangeVectorLen( + pParse, pSrc->iCursor, pProbe, saved_nEq, pTerm + ); pBtm = pTerm; pTop = 0; if( pTerm->wtFlags & TERM_LIKEOPT ){ @@ -128278,12 +130257,16 @@ static int whereLoopAddBtreeIndex( if( whereLoopResize(db, pNew, pNew->nLTerm+1) ) break; /* OOM */ pNew->aLTerm[pNew->nLTerm++] = pTop; pNew->wsFlags |= WHERE_TOP_LIMIT; + pNew->u.btree.nTop = 1; } }else{ assert( eOp & (WO_LT|WO_LE) ); testcase( eOp & WO_LT ); testcase( eOp & WO_LE ); pNew->wsFlags |= WHERE_COLUMN_RANGE|WHERE_TOP_LIMIT; + pNew->u.btree.nTop = whereRangeVectorLen( + pParse, pSrc->iCursor, pProbe, saved_nEq, pTerm + ); pTop = pTerm; pBtm = (pNew->wsFlags & WHERE_BTM_LIMIT)!=0 ? pNew->aLTerm[pNew->nLTerm-2] : 0; @@ -128383,6 +130366,8 @@ static int whereLoopAddBtreeIndex( } pNew->prereq = saved_prereq; pNew->u.btree.nEq = saved_nEq; + pNew->u.btree.nBtm = saved_nBtm; + pNew->u.btree.nTop = saved_nTop; pNew->nSkip = saved_nSkip; pNew->wsFlags = saved_wsFlags; pNew->nOut = saved_nOut; @@ -128422,6 +130407,8 @@ static int whereLoopAddBtreeIndex( pNew->wsFlags = saved_wsFlags; } + WHERETRACE(0x800, ("END addBtreeIdx(%s), nEq=%d, rc=%d\n", + pProbe->zName, saved_nEq, rc)); return rc; } @@ -128504,7 +130491,7 @@ static int whereUsablePartialIndex(int iTab, WhereClause *pWC, Expr *pWhere){ /* ** Add all WhereLoop objects for a single table of the join where the table -** is idenfied by pBuilder->pNew->iTab. That table is guaranteed to be +** is identified by pBuilder->pNew->iTab. That table is guaranteed to be ** a b-tree table, not a virtual table. ** ** The costs (WhereLoop.rRun) of the b-tree loops added by this function @@ -128601,7 +130588,7 @@ static int whereLoopAddBtree( #ifndef SQLITE_OMIT_AUTOMATIC_INDEX /* Automatic indexes */ if( !pBuilder->pOrSet /* Not part of an OR optimization */ - && (pWInfo->wctrlFlags & WHERE_NO_AUTOINDEX)==0 + && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0 && (pWInfo->pParse->db->flags & SQLITE_AutoIndex)!=0 && pSrc->pIBIndex==0 /* Has no INDEXED BY clause */ && !pSrc->fg.notIndexed /* Has no NOT INDEXED clause */ @@ -128633,6 +130620,7 @@ static int whereLoopAddBtree( pNew->rSetup += 24; } ApplyCostMultiplier(pNew->rSetup, pTab->costMult); + if( pNew->rSetup<0 ) pNew->rSetup = 0; /* TUNING: Each index lookup yields 20 rows in the table. This ** is more than the usual guess of 10 rows, since we have no way ** of knowing how selective the index will ultimately be. It would @@ -128657,6 +130645,8 @@ static int whereLoopAddBtree( } rSize = pProbe->aiRowLogEst[0]; pNew->u.btree.nEq = 0; + pNew->u.btree.nBtm = 0; + pNew->u.btree.nTop = 0; pNew->nSkip = 0; pNew->nLTerm = 0; pNew->iSortIdx = 0; @@ -128693,6 +130683,7 @@ static int whereLoopAddBtree( /* Full scan via index */ if( b || !HasRowid(pTab) + || pProbe->pPartIdxWhere!=0 || ( m==0 && pProbe->bUnordered==0 && (pProbe->szIdxRowszTabRow) @@ -128705,11 +130696,34 @@ static int whereLoopAddBtree( /* The cost of visiting the index rows is N*K, where K is ** between 1.1 and 3.0, depending on the relative sizes of the - ** index and table rows. If this is a non-covering index scan, - ** also add the cost of visiting table rows (N*3.0). */ + ** index and table rows. */ pNew->rRun = rSize + 1 + (15*pProbe->szIdxRow)/pTab->szTabRow; if( m!=0 ){ - pNew->rRun = sqlite3LogEstAdd(pNew->rRun, rSize+16); + /* If this is a non-covering index scan, add in the cost of + ** doing table lookups. The cost will be 3x the number of + ** lookups. Take into account WHERE clause terms that can be + ** satisfied using just the index, and that do not require a + ** table lookup. */ + LogEst nLookup = rSize + 16; /* Base cost: N*3 */ + int ii; + int iCur = pSrc->iCursor; + WhereClause *pWC2 = &pWInfo->sWC; + for(ii=0; iinTerm; ii++){ + WhereTerm *pTerm = &pWC2->a[ii]; + if( !sqlite3ExprCoveredByIndex(pTerm->pExpr, iCur, pProbe) ){ + break; + } + /* pTerm can be evaluated using just the index. So reduce + ** the expected number of table lookups accordingly */ + if( pTerm->truthProb<=0 ){ + nLookup += pTerm->truthProb; + }else{ + nLookup--; + if( pTerm->eOperator & (WO_EQ|WO_IS) ) nLookup -= 19; + } + } + + pNew->rRun = sqlite3LogEstAdd(pNew->rRun, nLookup); } ApplyCostMultiplier(pNew->rRun, pTab->costMult); whereLoopOutputAdjust(pWC, pNew, rSize); @@ -128761,6 +130775,7 @@ static int whereLoopAddVirtualOne( Bitmask mUsable, /* Mask of usable tables */ u16 mExclude, /* Exclude terms using these operators */ sqlite3_index_info *pIdxInfo, /* Populated object for xBestIndex */ + u16 mNoOmit, /* Do not omit these constraints */ int *pbIn /* OUT: True if plan uses an IN(...) op */ ){ WhereClause *pWC = pBuilder->pWC; @@ -128849,6 +130864,7 @@ static int whereLoopAddVirtualOne( } } } + pNew->u.vtab.omitMask &= ~mNoOmit; pNew->nLTerm = mxTerm+1; assert( pNew->nLTerm<=pNew->nLSlot ); @@ -128922,6 +130938,7 @@ static int whereLoopAddVirtual( int bIn; /* True if plan uses IN(...) operator */ WhereLoop *pNew; Bitmask mBest; /* Tables used by best possible plan */ + u16 mNoOmit; assert( (mPrereq & mUnusable)==0 ); pWInfo = pBuilder->pWInfo; @@ -128930,7 +130947,8 @@ static int whereLoopAddVirtual( pNew = pBuilder->pNew; pSrc = &pWInfo->pTabList->a[pNew->iTab]; assert( IsVirtual(pSrc->pTab) ); - p = allocateIndexInfo(pParse, pWC, mUnusable, pSrc, pBuilder->pOrderBy); + p = allocateIndexInfo(pParse, pWC, mUnusable, pSrc, pBuilder->pOrderBy, + &mNoOmit); if( p==0 ) return SQLITE_NOMEM_BKPT; pNew->rSetup = 0; pNew->wsFlags = WHERE_VIRTUALTABLE; @@ -128944,7 +130962,7 @@ static int whereLoopAddVirtual( /* First call xBestIndex() with all constraints usable. */ WHERETRACE(0x40, (" VirtualOne: all usable\n")); - rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, 0, p, &bIn); + rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, 0, p, mNoOmit, &bIn); /* If the call to xBestIndex() with all terms enabled produced a plan ** that does not require any source tables (IOW: a plan with mBest==0), @@ -128961,7 +130979,8 @@ static int whereLoopAddVirtual( ** xBestIndex again, this time with IN(...) terms disabled. */ if( bIn ){ WHERETRACE(0x40, (" VirtualOne: all usable w/o IN\n")); - rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, WO_IN, p, &bIn); + rc = whereLoopAddVirtualOne( + pBuilder, mPrereq, ALLBITS, WO_IN, p, mNoOmit, &bIn); assert( bIn==0 ); mBestNoIn = pNew->prereq & ~mPrereq; if( mBestNoIn==0 ){ @@ -128987,7 +131006,8 @@ static int whereLoopAddVirtual( if( mNext==mBest || mNext==mBestNoIn ) continue; WHERETRACE(0x40, (" VirtualOne: mPrev=%04llx mNext=%04llx\n", (sqlite3_uint64)mPrev, (sqlite3_uint64)mNext)); - rc = whereLoopAddVirtualOne(pBuilder, mPrereq, mNext|mPrereq, 0, p, &bIn); + rc = whereLoopAddVirtualOne( + pBuilder, mPrereq, mNext|mPrereq, 0, p, mNoOmit, &bIn); if( pNew->prereq==mPrereq ){ seenZero = 1; if( bIn==0 ) seenZeroNoIN = 1; @@ -128999,7 +131019,8 @@ static int whereLoopAddVirtual( ** usable), make a call here with all source tables disabled */ if( rc==SQLITE_OK && seenZero==0 ){ WHERETRACE(0x40, (" VirtualOne: all disabled\n")); - rc = whereLoopAddVirtualOne(pBuilder, mPrereq, mPrereq, 0, p, &bIn); + rc = whereLoopAddVirtualOne( + pBuilder, mPrereq, mPrereq, 0, p, mNoOmit, &bIn); if( bIn==0 ) seenZeroNoIN = 1; } @@ -129008,7 +131029,8 @@ static int whereLoopAddVirtual( ** operator, make a final call to obtain one here. */ if( rc==SQLITE_OK && seenZeroNoIN==0 ){ WHERETRACE(0x40, (" VirtualOne: all disabled and w/o IN\n")); - rc = whereLoopAddVirtualOne(pBuilder, mPrereq, mPrereq, WO_IN, p, &bIn); + rc = whereLoopAddVirtualOne( + pBuilder, mPrereq, mPrereq, WO_IN, p, mNoOmit, &bIn); } } @@ -129078,9 +131100,7 @@ static int whereLoopAddOr( WHERETRACE(0x200, ("OR-term %d of %p has %d subterms:\n", (int)(pOrTerm-pOrWC->a), pTerm, sSubBuild.pWC->nTerm)); if( sqlite3WhereTrace & 0x400 ){ - for(i=0; inTerm; i++){ - whereTermPrint(&sSubBuild.pWC->a[i], i); - } + sqlite3WhereClausePrint(sSubBuild.pWC); } #endif #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -129173,6 +131193,7 @@ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ mPrereq = mPrior; } priorJointype = pItem->fg.jointype; +#ifndef SQLITE_OMIT_VIRTUALTABLE if( IsVirtual(pItem->pTab) ){ struct SrcList_item *p; for(p=&pItem[1]; paLoop[] */ WhereLoop *pLast, /* Add this WhereLoop to the end of pPath->aLoop[] */ Bitmask *pRevMask /* OUT: Mask of WhereLoops to run in reverse order */ @@ -129227,6 +131250,7 @@ static i8 wherePathSatisfiesOrderBy( u8 isOrderDistinct; /* All prior WhereLoops are order-distinct */ u8 distinctColumns; /* True if the loop has UNIQUE NOT NULL columns */ u8 isMatch; /* iColumn matches a term of the ORDER BY clause */ + u16 eqOpMask; /* Allowed equality operators */ u16 nKeyCol; /* Number of key columns in pIndex */ u16 nColumn; /* Total number of ordered columns in the index */ u16 nOrderBy; /* Number terms in the ORDER BY clause */ @@ -129277,9 +131301,16 @@ static i8 wherePathSatisfiesOrderBy( obDone = MASKBIT(nOrderBy)-1; orderDistinctMask = 0; ready = 0; + eqOpMask = WO_EQ | WO_IS | WO_ISNULL; + if( wctrlFlags & WHERE_ORDERBY_LIMIT ) eqOpMask |= WO_IN; for(iLoop=0; isOrderDistinct && obSat0 ) ready |= pLoop->maskSelf; - pLoop = iLoopaLoop[iLoop] : pLast; + if( iLoopaLoop[iLoop]; + if( wctrlFlags & WHERE_ORDERBY_LIMIT ) continue; + }else{ + pLoop = pLast; + } if( pLoop->wsFlags & WHERE_VIRTUALTABLE ){ if( pLoop->u.vtab.isOrdered ) obSat = obDone; break; @@ -129297,8 +131328,16 @@ static i8 wherePathSatisfiesOrderBy( if( pOBExpr->op!=TK_COLUMN ) continue; if( pOBExpr->iTable!=iCur ) continue; pTerm = sqlite3WhereFindTerm(&pWInfo->sWC, iCur, pOBExpr->iColumn, - ~ready, WO_EQ|WO_ISNULL|WO_IS, 0); + ~ready, eqOpMask, 0); if( pTerm==0 ) continue; + if( pTerm->eOperator==WO_IN ){ + /* IN terms are only valid for sorting in the ORDER BY LIMIT + ** optimization, and then only if they are actually used + ** by the query plan */ + assert( wctrlFlags & WHERE_ORDERBY_LIMIT ); + for(j=0; jnLTerm && pTerm!=pLoop->aLTerm[j]; j++){} + if( j>=pLoop->nLTerm ) continue; + } if( (pTerm->eOperator&(WO_EQ|WO_IS))!=0 && pOBExpr->iColumn>=0 ){ const char *z1, *z2; pColl = sqlite3ExprCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr); @@ -129335,18 +131374,42 @@ static i8 wherePathSatisfiesOrderBy( rev = revSet = 0; distinctColumns = 0; for(j=0; ju.btree.nEq - && pLoop->nSkip==0 - && ((i = pLoop->aLTerm[j]->eOperator) & (WO_EQ|WO_ISNULL|WO_IS))!=0 - ){ - if( i & WO_ISNULL ){ - testcase( isOrderDistinct ); - isOrderDistinct = 0; + assert( j>=pLoop->u.btree.nEq + || (pLoop->aLTerm[j]==0)==(jnSkip) + ); + if( ju.btree.nEq && j>=pLoop->nSkip ){ + u16 eOp = pLoop->aLTerm[j]->eOperator; + + /* Skip over == and IS and ISNULL terms. (Also skip IN terms when + ** doing WHERE_ORDERBY_LIMIT processing). + ** + ** If the current term is a column of an ((?,?) IN (SELECT...)) + ** expression for which the SELECT returns more than one column, + ** check that it is the only column used by this loop. Otherwise, + ** if it is one of two or more, none of the columns can be + ** considered to match an ORDER BY term. */ + if( (eOp & eqOpMask)!=0 ){ + if( eOp & WO_ISNULL ){ + testcase( isOrderDistinct ); + isOrderDistinct = 0; + } + continue; + }else if( ALWAYS(eOp & WO_IN) ){ + /* ALWAYS() justification: eOp is an equality operator due to the + ** ju.btree.nEq constraint above. Any equality other + ** than WO_IN is captured by the previous "if". So this one + ** always has to be WO_IN. */ + Expr *pX = pLoop->aLTerm[j]->pExpr; + for(i=j+1; iu.btree.nEq; i++){ + if( pLoop->aLTerm[i]->pExpr==pX ){ + assert( (pLoop->aLTerm[i]->eOperator & WO_IN) ); + bOnce = 0; + break; + } + } } - continue; } /* Get the column number in the table (iColumn) and sort order @@ -129375,7 +131438,6 @@ static i8 wherePathSatisfiesOrderBy( /* Find the ORDER BY term that corresponds to the j-th column ** of the index and mark that ORDER BY term off */ - bOnce = 1; isMatch = 0; for(i=0; bOnce && inOBSat = pFrom->isOrdered; - if( pWInfo->nOBSat<0 ) pWInfo->nOBSat = 0; pWInfo->revMask = pFrom->revLoop; + if( pWInfo->nOBSat<=0 ){ + pWInfo->nOBSat = 0; + if( nLoop>0 ){ + u32 wsFlags = pFrom->aLoop[nLoop-1]->wsFlags; + if( (wsFlags & WHERE_ONEROW)==0 + && (wsFlags&(WHERE_IPK|WHERE_COLUMN_IN))!=(WHERE_IPK|WHERE_COLUMN_IN) + ){ + Bitmask m = 0; + int rc = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pOrderBy, pFrom, + WHERE_ORDERBY_LIMIT, nLoop-1, pFrom->aLoop[nLoop-1], &m); + testcase( wsFlags & WHERE_IPK ); + testcase( wsFlags & WHERE_COLUMN_IN ); + if( rc==pWInfo->pOrderBy->nExpr ){ + pWInfo->bOrderedInnerLoop = 1; + pWInfo->revMask = m; + } + } + } + } } if( (pWInfo->wctrlFlags & WHERE_SORTBYGROUP) && pWInfo->nOBSat==pWInfo->pOrderBy->nExpr && nLoop>0 @@ -129913,7 +131993,7 @@ static int whereShortCut(WhereLoopBuilder *pBuilder){ Index *pIdx; pWInfo = pBuilder->pWInfo; - if( pWInfo->wctrlFlags & WHERE_FORCE_TABLE ) return 0; + if( pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE ) return 0; assert( pWInfo->pTabList->nSrc>=1 ); pItem = pWInfo->pTabList->a; pTab = pItem->pTab; @@ -130060,7 +132140,7 @@ static int whereShortCut(WhereLoopBuilder *pBuilder){ ** is called from an UPDATE or DELETE statement, then pOrderBy is NULL. ** ** The iIdxCur parameter is the cursor number of an index. If -** WHERE_ONETABLE_ONLY is set, iIdxCur is the cursor number of an index +** WHERE_OR_SUBCLAUSE is set, iIdxCur is the cursor number of an index ** to use for OR clause processing. The WHERE clause should use this ** specific cursor. If WHERE_ONEPASS_DESIRED is set, then iIdxCur is ** the first cursor in an array of cursors for all indices. iIdxCur should @@ -130074,7 +132154,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( ExprList *pOrderBy, /* An ORDER BY (or GROUP BY) clause, or NULL */ ExprList *pDistinctSet, /* Try not to output two rows that duplicate these */ u16 wctrlFlags, /* The WHERE_* flags defined in sqliteInt.h */ - int iAuxArg /* If WHERE_ONETABLE_ONLY is set, index cursor number + int iAuxArg /* If WHERE_OR_SUBCLAUSE is set, index cursor number ** If WHERE_USE_LIMIT, then the limit amount */ ){ int nByteWInfo; /* Num. bytes allocated for WhereInfo struct */ @@ -130093,11 +132173,11 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( assert( (wctrlFlags & WHERE_ONEPASS_MULTIROW)==0 || ( (wctrlFlags & WHERE_ONEPASS_DESIRED)!=0 - && (wctrlFlags & WHERE_OMIT_OPEN_CLOSE)==0 + && (wctrlFlags & WHERE_OR_SUBCLAUSE)==0 )); - /* Only one of WHERE_ONETABLE_ONLY or WHERE_USE_LIMIT */ - assert( (wctrlFlags & WHERE_ONETABLE_ONLY)==0 + /* Only one of WHERE_OR_SUBCLAUSE or WHERE_USE_LIMIT */ + assert( (wctrlFlags & WHERE_OR_SUBCLAUSE)==0 || (wctrlFlags & WHERE_USE_LIMIT)==0 ); /* Variable initialization */ @@ -130125,11 +132205,11 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } /* This function normally generates a nested loop for all tables in - ** pTabList. But if the WHERE_ONETABLE_ONLY flag is set, then we should + ** pTabList. But if the WHERE_OR_SUBCLAUSE flag is set, then we should ** only generate code for the first table in pTabList and assume that ** any cursors associated with subsequent tables are uninitialized. */ - nTabList = (wctrlFlags & WHERE_ONETABLE_ONLY) ? 1 : pTabList->nSrc; + nTabList = (wctrlFlags & WHERE_OR_SUBCLAUSE) ? 1 : pTabList->nSrc; /* Allocate and initialize the WhereInfo structure that will become the ** return value. A single allocation is used to store the WhereInfo @@ -130139,22 +132219,25 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( ** some architectures. Hence the ROUND8() below. */ nByteWInfo = ROUND8(sizeof(WhereInfo)+(nTabList-1)*sizeof(WhereLevel)); - pWInfo = sqlite3DbMallocZero(db, nByteWInfo + sizeof(WhereLoop)); + pWInfo = sqlite3DbMallocRawNN(db, nByteWInfo + sizeof(WhereLoop)); if( db->mallocFailed ){ sqlite3DbFree(db, pWInfo); pWInfo = 0; goto whereBeginError; } - pWInfo->aiCurOnePass[0] = pWInfo->aiCurOnePass[1] = -1; - pWInfo->nLevel = nTabList; pWInfo->pParse = pParse; pWInfo->pTabList = pTabList; pWInfo->pOrderBy = pOrderBy; pWInfo->pDistinctSet = pDistinctSet; + pWInfo->aiCurOnePass[0] = pWInfo->aiCurOnePass[1] = -1; + pWInfo->nLevel = nTabList; pWInfo->iBreak = pWInfo->iContinue = sqlite3VdbeMakeLabel(v); pWInfo->wctrlFlags = wctrlFlags; pWInfo->iLimit = iAuxArg; pWInfo->savedNQueryLoop = pParse->nQueryLoop; + memset(&pWInfo->nOBSat, 0, + offsetof(WhereInfo,sWC) - offsetof(WhereInfo,nOBSat)); + memset(&pWInfo->a[0], 0, sizeof(WhereLoop)+nTabList*sizeof(WhereLevel)); assert( pWInfo->eOnePass==ONEPASS_OFF ); /* ONEPASS defaults to OFF */ pMaskSet = &pWInfo->sMaskSet; sWLB.pWInfo = pWInfo; @@ -130205,7 +132288,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( ** Note that bitmasks are created for all pTabList->nSrc tables in ** pTabList, not just the first nTabList tables. nTabList is normally ** equal to pTabList->nSrc but might be shortened to 1 if the - ** WHERE_ONETABLE_ONLY flag is set. + ** WHERE_OR_SUBCLAUSE flag is set. */ for(ii=0; iinSrc; ii++){ createMask(pMaskSet, pTabList->a[ii].iCursor); @@ -130243,10 +132326,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( sqlite3DebugPrintf(")\n"); } if( sqlite3WhereTrace & 0x100 ){ /* Display all terms of the WHERE clause */ - int i; - for(i=0; inTerm; i++){ - whereTermPrint(&sWLB.pWC->a[i], i); - } + sqlite3WhereClausePrint(sWLB.pWC); } #endif @@ -130388,7 +132468,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( }else #endif if( (pLoop->wsFlags & WHERE_IDX_ONLY)==0 - && (wctrlFlags & WHERE_OMIT_OPEN_CLOSE)==0 ){ + && (wctrlFlags & WHERE_OR_SUBCLAUSE)==0 ){ int op = OP_OpenRead; if( pWInfo->eOnePass!=ONEPASS_OFF ){ op = OP_OpenWrite; @@ -130427,7 +132507,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( /* iAuxArg is always set if to a positive value if ONEPASS is possible */ assert( iAuxArg!=0 || (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 ); if( !HasRowid(pTab) && IsPrimaryKeyIndex(pIx) - && (wctrlFlags & WHERE_ONETABLE_ONLY)!=0 + && (wctrlFlags & WHERE_OR_SUBCLAUSE)!=0 ){ /* This is one term of an OR-optimization using the PRIMARY KEY of a ** WITHOUT ROWID table. No need for a separate index */ @@ -130443,9 +132523,9 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } op = OP_OpenWrite; pWInfo->aiCurOnePass[1] = iIndexCur; - }else if( iAuxArg && (wctrlFlags & WHERE_ONETABLE_ONLY)!=0 ){ + }else if( iAuxArg && (wctrlFlags & WHERE_OR_SUBCLAUSE)!=0 ){ iIndexCur = iAuxArg; - if( wctrlFlags & WHERE_REOPEN_IDX ) op = OP_ReopenIdx; + op = OP_ReopenIdx; }else{ iIndexCur = pParse->nTab++; } @@ -130507,7 +132587,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( pLevel->addrBody = sqlite3VdbeCurrentAddr(v); notReady = sqlite3WhereCodeOneLoopStart(pWInfo, ii, notReady); pWInfo->iContinue = pLevel->addrCont; - if( (wsFlags&WHERE_MULTI_OR)==0 && (wctrlFlags&WHERE_ONETABLE_ONLY)==0 ){ + if( (wsFlags&WHERE_MULTI_OR)==0 && (wctrlFlags&WHERE_OR_SUBCLAUSE)==0 ){ sqlite3WhereAddScanStatus(v, pTabList, pLevel, addrExplain); } } @@ -130561,10 +132641,12 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ sqlite3VdbeResolveLabel(v, pLevel->addrNxt); for(j=pLevel->u.in.nIn, pIn=&pLevel->u.in.aInLoop[j-1]; j>0; j--, pIn--){ sqlite3VdbeJumpHere(v, pIn->addrInTop+1); - sqlite3VdbeAddOp2(v, pIn->eEndLoopOp, pIn->iCur, pIn->addrInTop); - VdbeCoverage(v); - VdbeCoverageIf(v, pIn->eEndLoopOp==OP_PrevIfOpen); - VdbeCoverageIf(v, pIn->eEndLoopOp==OP_NextIfOpen); + if( pIn->eEndLoopOp!=OP_Noop ){ + sqlite3VdbeAddOp2(v, pIn->eEndLoopOp, pIn->iCur, pIn->addrInTop); + VdbeCoverage(v); + VdbeCoverageIf(v, pIn->eEndLoopOp==OP_PrevIfOpen); + VdbeCoverageIf(v, pIn->eEndLoopOp==OP_NextIfOpen); + } sqlite3VdbeJumpHere(v, pIn->addrInTop-1); } } @@ -130583,13 +132665,15 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ } #endif if( pLevel->iLeftJoin ){ + int ws = pLoop->wsFlags; addr = sqlite3VdbeAddOp1(v, OP_IfPos, pLevel->iLeftJoin); VdbeCoverage(v); - assert( (pLoop->wsFlags & WHERE_IDX_ONLY)==0 - || (pLoop->wsFlags & WHERE_INDEXED)!=0 ); - if( (pLoop->wsFlags & WHERE_IDX_ONLY)==0 ){ + assert( (ws & WHERE_IDX_ONLY)==0 || (ws & WHERE_INDEXED)!=0 ); + if( (ws & WHERE_IDX_ONLY)==0 ){ sqlite3VdbeAddOp1(v, OP_NullRow, pTabList->a[i].iCursor); } - if( pLoop->wsFlags & WHERE_INDEXED ){ + if( (ws & WHERE_INDEXED) + || ((ws & WHERE_MULTI_OR) && pLevel->u.pCovidx) + ){ sqlite3VdbeAddOp1(v, OP_NullRow, pLevel->iIdxCur); } if( pLevel->op==OP_Return ){ @@ -130630,12 +132714,12 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ /* Close all of the cursors that were opened by sqlite3WhereBegin. ** Except, do not close cursors that will be reused by the OR optimization - ** (WHERE_OMIT_OPEN_CLOSE). And do not close the OP_OpenWrite cursors + ** (WHERE_OR_SUBCLAUSE). And do not close the OP_OpenWrite cursors ** created for the ONEPASS optimization. */ if( (pTab->tabFlags & TF_Ephemeral)==0 && pTab->pSelect==0 - && (pWInfo->wctrlFlags & WHERE_OMIT_OPEN_CLOSE)==0 + && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0 ){ int ws = pLoop->wsFlags; if( pWInfo->eOnePass==ONEPASS_OFF && (ws & WHERE_IDX_ONLY)==0 ){ @@ -130766,15 +132850,6 @@ struct LimitVal { Expr *pOffset; /* The OFFSET expression. NULL if there is none */ }; -/* -** An instance of this structure is used to store the LIKE, -** GLOB, NOT LIKE, and NOT GLOB operators. -*/ -struct LikeOp { - Token eOperator; /* "like" or "glob" or "regexp" */ - int bNot; /* True if the NOT keyword is present */ -}; - /* ** An instance of the following structure describes the event of a ** TRIGGER. "a" is the event type, one of TK_UPDATE, TK_INSERT, @@ -130786,11 +132861,6 @@ struct LikeOp { */ struct TrigEvent { int a; IdList * b; }; -/* -** An instance of this structure holds the ATTACH key and the key type. -*/ -struct AttachKey { int type; Token key; }; - /* ** Disable lookaside memory allocation for objects that might be ** shared across database connections. @@ -130837,7 +132907,24 @@ static void disableLookaside(Parse *pParse){ ** that created the expression. */ static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token t){ - pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, &t); + Expr *p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)+t.n+1); + if( p ){ + memset(p, 0, sizeof(Expr)); + p->op = (u8)op; + p->flags = EP_Leaf; + p->iAgg = -1; + p->u.zToken = (char*)&p[1]; + memcpy(p->u.zToken, t.z, t.n); + p->u.zToken[t.n] = 0; + if( sqlite3Isquote(p->u.zToken[0]) ){ + if( p->u.zToken[0]=='"' ) p->flags |= EP_DblQuoted; + sqlite3Dequote(p->u.zToken); + } +#if SQLITE_MAX_EXPR_DEPTH>0 + p->nHeight = 1; +#endif + } + pOut->pExpr = p; pOut->zStart = t.z; pOut->zEnd = &t.z[t.n]; } @@ -130982,26 +133069,25 @@ static void disableLookaside(Parse *pParse){ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned char -#define YYNOCODE 251 +#define YYNOCODE 252 #define YYACTIONTYPE unsigned short int #define YYWILDCARD 96 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; - struct LimitVal yy64; - Expr* yy122; - Select* yy159; - IdList* yy180; - struct {int value; int mask;} yy207; - struct LikeOp yy318; - TriggerStep* yy327; - With* yy331; - ExprSpan yy342; - SrcList* yy347; - int yy392; - struct TrigEvent yy410; - ExprList* yy442; + Expr* yy72; + TriggerStep* yy145; + ExprList* yy148; + SrcList* yy185; + ExprSpan yy190; + int yy194; + Select* yy243; + IdList* yy254; + With* yy285; + struct TrigEvent yy332; + struct LimitVal yy354; + struct {int value; int mask;} yy497; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -131011,16 +133097,16 @@ typedef union { #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse #define sqlite3ParserARG_STORE yypParser->pParse = pParse #define YYFALLBACK 1 -#define YYNSTATE 440 -#define YYNRULE 326 -#define YY_MAX_SHIFT 439 -#define YY_MIN_SHIFTREDUCE 649 -#define YY_MAX_SHIFTREDUCE 974 -#define YY_MIN_REDUCE 975 -#define YY_MAX_REDUCE 1300 -#define YY_ERROR_ACTION 1301 -#define YY_ACCEPT_ACTION 1302 -#define YY_NO_ACTION 1303 +#define YYNSTATE 456 +#define YYNRULE 332 +#define YY_MAX_SHIFT 455 +#define YY_MIN_SHIFTREDUCE 668 +#define YY_MAX_SHIFTREDUCE 999 +#define YY_MIN_REDUCE 1000 +#define YY_MAX_REDUCE 1331 +#define YY_ERROR_ACTION 1332 +#define YY_ACCEPT_ACTION 1333 +#define YY_NO_ACTION 1334 /************* End control #defines *******************************************/ /* Define the yytestcase() macro to be a no-op if is not already defined @@ -131052,7 +133138,7 @@ typedef union { ** ** N between YY_MIN_REDUCE Reduce by rule N-YY_MIN_REDUCE ** and YY_MAX_REDUCE - +** ** N == YY_ERROR_ACTION A syntax error has occurred. ** ** N == YY_ACCEPT_ACTION The parser accepts its input. @@ -131061,16 +133147,20 @@ typedef union { ** slots in the yy_action[] table. ** ** The action table is constructed as a single large table named yy_action[]. -** Given state S and lookahead X, the action is computed as +** Given state S and lookahead X, the action is computed as either: ** -** yy_action[ yy_shift_ofst[S] + X ] +** (A) N = yy_action[ yy_shift_ofst[S] + X ] +** (B) N = yy_default[S] ** -** If the index value yy_shift_ofst[S]+X is out of range or if the value -** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S] -** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table -** and that yy_default[S] should be used instead. +** The (A) formula is preferred. The B formula is used instead if: +** (1) The yy_shift_ofst[S]+X value is out of range, or +** (2) yy_lookahead[yy_shift_ofst[S]+X] is not equal to X, or +** (3) yy_shift_ofst[S] equal YY_SHIFT_USE_DFLT. +** (Implementation note: YY_SHIFT_USE_DFLT is chosen so that +** YY_SHIFT_USE_DFLT+X will be out of range for all possible lookaheads X. +** Hence only tests (1) and (2) need to be evaluated.) ** -** The formula above is for computing the action when the lookahead is +** The formulas above are for computing the action when the lookahead is ** a terminal symbol. If the lookahead is a non-terminal (as occurs after ** a reduce action) then the yy_reduce_ofst[] array is used in place of ** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of @@ -131088,159 +133178,165 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (1501) +#define YY_ACTTAB_COUNT (1567) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 315, 810, 339, 804, 5, 194, 194, 798, 92, 93, - /* 10 */ 83, 819, 819, 831, 834, 823, 823, 90, 90, 91, - /* 20 */ 91, 91, 91, 290, 89, 89, 89, 89, 88, 88, - /* 30 */ 87, 87, 87, 86, 339, 315, 952, 952, 803, 803, - /* 40 */ 803, 922, 342, 92, 93, 83, 819, 819, 831, 834, - /* 50 */ 823, 823, 90, 90, 91, 91, 91, 91, 123, 89, - /* 60 */ 89, 89, 89, 88, 88, 87, 87, 87, 86, 339, - /* 70 */ 88, 88, 87, 87, 87, 86, 339, 772, 952, 952, - /* 80 */ 315, 87, 87, 87, 86, 339, 773, 68, 92, 93, - /* 90 */ 83, 819, 819, 831, 834, 823, 823, 90, 90, 91, - /* 100 */ 91, 91, 91, 434, 89, 89, 89, 89, 88, 88, - /* 110 */ 87, 87, 87, 86, 339, 1302, 146, 921, 2, 315, - /* 120 */ 427, 24, 679, 953, 48, 86, 339, 92, 93, 83, - /* 130 */ 819, 819, 831, 834, 823, 823, 90, 90, 91, 91, - /* 140 */ 91, 91, 94, 89, 89, 89, 89, 88, 88, 87, - /* 150 */ 87, 87, 86, 339, 933, 933, 315, 259, 412, 398, - /* 160 */ 396, 57, 733, 733, 92, 93, 83, 819, 819, 831, - /* 170 */ 834, 823, 823, 90, 90, 91, 91, 91, 91, 56, - /* 180 */ 89, 89, 89, 89, 88, 88, 87, 87, 87, 86, - /* 190 */ 339, 315, 1245, 922, 342, 268, 934, 935, 241, 92, - /* 200 */ 93, 83, 819, 819, 831, 834, 823, 823, 90, 90, - /* 210 */ 91, 91, 91, 91, 291, 89, 89, 89, 89, 88, - /* 220 */ 88, 87, 87, 87, 86, 339, 315, 913, 1295, 682, - /* 230 */ 687, 1295, 233, 397, 92, 93, 83, 819, 819, 831, - /* 240 */ 834, 823, 823, 90, 90, 91, 91, 91, 91, 326, - /* 250 */ 89, 89, 89, 89, 88, 88, 87, 87, 87, 86, - /* 260 */ 339, 315, 85, 82, 168, 680, 431, 938, 939, 92, - /* 270 */ 93, 83, 819, 819, 831, 834, 823, 823, 90, 90, - /* 280 */ 91, 91, 91, 91, 291, 89, 89, 89, 89, 88, - /* 290 */ 88, 87, 87, 87, 86, 339, 315, 319, 913, 1296, - /* 300 */ 797, 911, 1296, 681, 92, 93, 83, 819, 819, 831, - /* 310 */ 834, 823, 823, 90, 90, 91, 91, 91, 91, 335, - /* 320 */ 89, 89, 89, 89, 88, 88, 87, 87, 87, 86, - /* 330 */ 339, 315, 876, 876, 373, 85, 82, 168, 944, 92, - /* 340 */ 93, 83, 819, 819, 831, 834, 823, 823, 90, 90, - /* 350 */ 91, 91, 91, 91, 896, 89, 89, 89, 89, 88, - /* 360 */ 88, 87, 87, 87, 86, 339, 315, 370, 307, 973, - /* 370 */ 367, 1, 911, 433, 92, 93, 83, 819, 819, 831, - /* 380 */ 834, 823, 823, 90, 90, 91, 91, 91, 91, 189, - /* 390 */ 89, 89, 89, 89, 88, 88, 87, 87, 87, 86, - /* 400 */ 339, 315, 720, 948, 933, 933, 149, 718, 948, 92, - /* 410 */ 93, 83, 819, 819, 831, 834, 823, 823, 90, 90, - /* 420 */ 91, 91, 91, 91, 434, 89, 89, 89, 89, 88, - /* 430 */ 88, 87, 87, 87, 86, 339, 338, 938, 939, 947, - /* 440 */ 694, 940, 974, 315, 953, 48, 934, 935, 715, 689, - /* 450 */ 71, 92, 93, 83, 819, 819, 831, 834, 823, 823, - /* 460 */ 90, 90, 91, 91, 91, 91, 320, 89, 89, 89, - /* 470 */ 89, 88, 88, 87, 87, 87, 86, 339, 315, 412, - /* 480 */ 403, 820, 820, 832, 835, 74, 92, 81, 83, 819, - /* 490 */ 819, 831, 834, 823, 823, 90, 90, 91, 91, 91, - /* 500 */ 91, 698, 89, 89, 89, 89, 88, 88, 87, 87, - /* 510 */ 87, 86, 339, 315, 259, 654, 655, 656, 393, 111, - /* 520 */ 331, 153, 93, 83, 819, 819, 831, 834, 823, 823, - /* 530 */ 90, 90, 91, 91, 91, 91, 434, 89, 89, 89, - /* 540 */ 89, 88, 88, 87, 87, 87, 86, 339, 315, 188, - /* 550 */ 187, 186, 824, 937, 328, 219, 953, 48, 83, 819, - /* 560 */ 819, 831, 834, 823, 823, 90, 90, 91, 91, 91, - /* 570 */ 91, 956, 89, 89, 89, 89, 88, 88, 87, 87, - /* 580 */ 87, 86, 339, 79, 429, 738, 3, 1174, 955, 348, - /* 590 */ 737, 332, 792, 933, 933, 937, 79, 429, 730, 3, - /* 600 */ 203, 160, 278, 391, 273, 390, 190, 892, 434, 400, - /* 610 */ 741, 76, 77, 271, 287, 253, 353, 242, 78, 340, - /* 620 */ 340, 85, 82, 168, 76, 77, 233, 397, 953, 48, - /* 630 */ 432, 78, 340, 340, 277, 934, 935, 185, 439, 651, - /* 640 */ 388, 385, 384, 432, 234, 276, 107, 418, 349, 337, - /* 650 */ 336, 383, 893, 728, 215, 949, 123, 971, 308, 810, - /* 660 */ 418, 436, 435, 412, 394, 798, 400, 873, 894, 123, - /* 670 */ 721, 872, 810, 889, 436, 435, 215, 949, 798, 351, - /* 680 */ 722, 697, 380, 434, 771, 371, 22, 434, 400, 79, - /* 690 */ 429, 232, 3, 189, 413, 870, 803, 803, 803, 805, - /* 700 */ 18, 54, 148, 953, 48, 956, 113, 953, 9, 803, - /* 710 */ 803, 803, 805, 18, 310, 123, 748, 76, 77, 742, - /* 720 */ 123, 325, 955, 866, 78, 340, 340, 113, 350, 359, - /* 730 */ 85, 82, 168, 343, 960, 960, 432, 770, 412, 414, - /* 740 */ 407, 23, 1240, 1240, 79, 429, 357, 3, 166, 91, - /* 750 */ 91, 91, 91, 418, 89, 89, 89, 89, 88, 88, - /* 760 */ 87, 87, 87, 86, 339, 810, 434, 436, 435, 792, - /* 770 */ 320, 798, 76, 77, 789, 271, 123, 434, 360, 78, - /* 780 */ 340, 340, 864, 85, 82, 168, 953, 9, 395, 743, - /* 790 */ 360, 432, 253, 358, 252, 933, 933, 953, 30, 889, - /* 800 */ 327, 216, 803, 803, 803, 805, 18, 113, 418, 89, - /* 810 */ 89, 89, 89, 88, 88, 87, 87, 87, 86, 339, - /* 820 */ 810, 113, 436, 435, 792, 185, 798, 288, 388, 385, - /* 830 */ 384, 123, 113, 920, 2, 796, 696, 934, 935, 383, - /* 840 */ 69, 429, 434, 3, 218, 110, 738, 253, 358, 252, - /* 850 */ 434, 737, 933, 933, 892, 359, 222, 803, 803, 803, - /* 860 */ 805, 18, 953, 47, 933, 933, 933, 933, 76, 77, - /* 870 */ 953, 9, 366, 904, 217, 78, 340, 340, 677, 305, - /* 880 */ 304, 303, 206, 301, 224, 259, 664, 432, 337, 336, - /* 890 */ 434, 228, 247, 144, 934, 935, 933, 933, 667, 893, - /* 900 */ 324, 1259, 96, 434, 418, 796, 934, 935, 934, 935, - /* 910 */ 953, 48, 401, 148, 289, 894, 810, 417, 436, 435, - /* 920 */ 677, 759, 798, 953, 9, 314, 220, 162, 161, 170, - /* 930 */ 402, 239, 953, 8, 194, 683, 683, 410, 934, 935, - /* 940 */ 238, 959, 933, 933, 225, 408, 945, 365, 957, 212, - /* 950 */ 958, 172, 757, 803, 803, 803, 805, 18, 173, 365, - /* 960 */ 176, 123, 171, 113, 244, 952, 246, 434, 356, 796, - /* 970 */ 372, 365, 236, 960, 960, 810, 290, 804, 191, 165, - /* 980 */ 852, 798, 259, 316, 934, 935, 237, 953, 34, 404, - /* 990 */ 91, 91, 91, 91, 84, 89, 89, 89, 89, 88, - /* 1000 */ 88, 87, 87, 87, 86, 339, 701, 952, 434, 240, - /* 1010 */ 347, 758, 803, 803, 803, 434, 245, 1179, 434, 389, - /* 1020 */ 434, 376, 434, 895, 167, 434, 405, 702, 953, 35, - /* 1030 */ 673, 321, 221, 434, 333, 953, 11, 434, 953, 26, - /* 1040 */ 953, 36, 953, 37, 251, 953, 38, 434, 259, 434, - /* 1050 */ 757, 434, 329, 953, 27, 434, 223, 953, 28, 434, - /* 1060 */ 690, 434, 67, 434, 65, 434, 862, 953, 39, 953, - /* 1070 */ 40, 953, 41, 423, 434, 953, 10, 434, 772, 953, - /* 1080 */ 42, 953, 98, 953, 43, 953, 44, 773, 434, 346, - /* 1090 */ 434, 75, 434, 73, 953, 31, 434, 953, 45, 434, - /* 1100 */ 259, 434, 690, 434, 757, 434, 887, 434, 953, 46, - /* 1110 */ 953, 32, 953, 115, 434, 266, 953, 116, 951, 953, - /* 1120 */ 117, 953, 52, 953, 33, 953, 99, 953, 49, 726, - /* 1130 */ 434, 909, 434, 19, 953, 100, 434, 344, 434, 113, - /* 1140 */ 434, 258, 692, 434, 259, 434, 670, 434, 20, 434, - /* 1150 */ 953, 101, 953, 97, 434, 259, 953, 114, 953, 112, - /* 1160 */ 953, 105, 113, 953, 104, 953, 102, 953, 103, 953, - /* 1170 */ 51, 434, 148, 434, 953, 53, 167, 434, 259, 113, - /* 1180 */ 300, 307, 912, 363, 311, 860, 248, 261, 209, 264, - /* 1190 */ 416, 953, 50, 953, 25, 420, 727, 953, 29, 430, - /* 1200 */ 321, 424, 757, 428, 322, 124, 1269, 214, 165, 710, - /* 1210 */ 859, 908, 806, 794, 309, 158, 193, 361, 254, 723, - /* 1220 */ 364, 67, 381, 269, 735, 199, 67, 70, 113, 700, - /* 1230 */ 699, 707, 708, 884, 113, 766, 113, 855, 193, 883, - /* 1240 */ 199, 869, 869, 675, 868, 868, 109, 368, 255, 260, - /* 1250 */ 263, 280, 859, 265, 806, 974, 267, 711, 695, 272, - /* 1260 */ 764, 282, 795, 284, 150, 744, 755, 415, 292, 293, - /* 1270 */ 802, 678, 672, 661, 660, 662, 927, 6, 306, 386, - /* 1280 */ 352, 786, 243, 250, 886, 362, 163, 286, 419, 298, - /* 1290 */ 930, 159, 968, 196, 126, 903, 901, 965, 55, 58, - /* 1300 */ 323, 275, 857, 136, 147, 694, 856, 121, 65, 354, - /* 1310 */ 355, 379, 175, 61, 151, 369, 180, 871, 375, 129, - /* 1320 */ 257, 756, 210, 181, 145, 131, 132, 377, 262, 663, - /* 1330 */ 133, 134, 139, 783, 791, 182, 392, 183, 312, 330, - /* 1340 */ 714, 888, 713, 851, 692, 195, 712, 406, 686, 705, - /* 1350 */ 313, 685, 64, 839, 274, 72, 684, 334, 942, 95, - /* 1360 */ 752, 279, 281, 704, 753, 751, 422, 283, 411, 750, - /* 1370 */ 426, 66, 204, 409, 21, 285, 928, 669, 437, 205, - /* 1380 */ 207, 208, 438, 658, 657, 652, 118, 108, 119, 226, - /* 1390 */ 650, 341, 157, 235, 169, 345, 106, 734, 790, 296, - /* 1400 */ 294, 295, 120, 297, 867, 865, 127, 128, 130, 724, - /* 1410 */ 229, 174, 249, 882, 137, 230, 138, 135, 885, 231, - /* 1420 */ 59, 60, 177, 881, 7, 178, 12, 179, 256, 874, - /* 1430 */ 140, 193, 962, 374, 141, 152, 666, 378, 276, 184, - /* 1440 */ 270, 122, 142, 382, 387, 62, 13, 14, 703, 63, - /* 1450 */ 125, 317, 318, 227, 809, 808, 837, 732, 15, 164, - /* 1460 */ 736, 4, 765, 211, 399, 213, 192, 143, 760, 70, - /* 1470 */ 67, 16, 17, 838, 836, 891, 841, 890, 198, 197, - /* 1480 */ 917, 154, 421, 923, 918, 155, 200, 977, 425, 840, - /* 1490 */ 156, 201, 807, 676, 80, 302, 299, 977, 202, 1261, - /* 1500 */ 1260, + /* 0 */ 325, 832, 351, 825, 5, 203, 203, 819, 99, 100, + /* 10 */ 90, 842, 842, 854, 857, 846, 846, 97, 97, 98, + /* 20 */ 98, 98, 98, 301, 96, 96, 96, 96, 95, 95, + /* 30 */ 94, 94, 94, 93, 351, 325, 977, 977, 824, 824, + /* 40 */ 826, 947, 354, 99, 100, 90, 842, 842, 854, 857, + /* 50 */ 846, 846, 97, 97, 98, 98, 98, 98, 338, 96, + /* 60 */ 96, 96, 96, 95, 95, 94, 94, 94, 93, 351, + /* 70 */ 95, 95, 94, 94, 94, 93, 351, 791, 977, 977, + /* 80 */ 325, 94, 94, 94, 93, 351, 792, 75, 99, 100, + /* 90 */ 90, 842, 842, 854, 857, 846, 846, 97, 97, 98, + /* 100 */ 98, 98, 98, 450, 96, 96, 96, 96, 95, 95, + /* 110 */ 94, 94, 94, 93, 351, 1333, 155, 155, 2, 325, + /* 120 */ 275, 146, 132, 52, 52, 93, 351, 99, 100, 90, + /* 130 */ 842, 842, 854, 857, 846, 846, 97, 97, 98, 98, + /* 140 */ 98, 98, 101, 96, 96, 96, 96, 95, 95, 94, + /* 150 */ 94, 94, 93, 351, 958, 958, 325, 268, 428, 413, + /* 160 */ 411, 61, 752, 752, 99, 100, 90, 842, 842, 854, + /* 170 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 60, + /* 180 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, + /* 190 */ 351, 325, 270, 329, 273, 277, 959, 960, 250, 99, + /* 200 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, + /* 210 */ 98, 98, 98, 98, 301, 96, 96, 96, 96, 95, + /* 220 */ 95, 94, 94, 94, 93, 351, 325, 938, 1326, 698, + /* 230 */ 706, 1326, 242, 412, 99, 100, 90, 842, 842, 854, + /* 240 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 347, + /* 250 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, + /* 260 */ 351, 325, 938, 1327, 384, 699, 1327, 381, 379, 99, + /* 270 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, + /* 280 */ 98, 98, 98, 98, 701, 96, 96, 96, 96, 95, + /* 290 */ 95, 94, 94, 94, 93, 351, 325, 92, 89, 178, + /* 300 */ 833, 936, 373, 700, 99, 100, 90, 842, 842, 854, + /* 310 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 375, + /* 320 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, + /* 330 */ 351, 325, 1276, 947, 354, 818, 936, 739, 739, 99, + /* 340 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, + /* 350 */ 98, 98, 98, 98, 230, 96, 96, 96, 96, 95, + /* 360 */ 95, 94, 94, 94, 93, 351, 325, 969, 227, 92, + /* 370 */ 89, 178, 373, 300, 99, 100, 90, 842, 842, 854, + /* 380 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 921, + /* 390 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, + /* 400 */ 351, 325, 449, 447, 447, 447, 147, 737, 737, 99, + /* 410 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, + /* 420 */ 98, 98, 98, 98, 296, 96, 96, 96, 96, 95, + /* 430 */ 95, 94, 94, 94, 93, 351, 325, 419, 231, 958, + /* 440 */ 958, 158, 25, 422, 99, 100, 90, 842, 842, 854, + /* 450 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 450, + /* 460 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, + /* 470 */ 351, 443, 224, 224, 420, 958, 958, 962, 325, 52, + /* 480 */ 52, 959, 960, 176, 415, 78, 99, 100, 90, 842, + /* 490 */ 842, 854, 857, 846, 846, 97, 97, 98, 98, 98, + /* 500 */ 98, 379, 96, 96, 96, 96, 95, 95, 94, 94, + /* 510 */ 94, 93, 351, 325, 428, 418, 298, 959, 960, 962, + /* 520 */ 81, 99, 88, 90, 842, 842, 854, 857, 846, 846, + /* 530 */ 97, 97, 98, 98, 98, 98, 717, 96, 96, 96, + /* 540 */ 96, 95, 95, 94, 94, 94, 93, 351, 325, 843, + /* 550 */ 843, 855, 858, 996, 318, 343, 379, 100, 90, 842, + /* 560 */ 842, 854, 857, 846, 846, 97, 97, 98, 98, 98, + /* 570 */ 98, 450, 96, 96, 96, 96, 95, 95, 94, 94, + /* 580 */ 94, 93, 351, 325, 350, 350, 350, 260, 377, 340, + /* 590 */ 929, 52, 52, 90, 842, 842, 854, 857, 846, 846, + /* 600 */ 97, 97, 98, 98, 98, 98, 361, 96, 96, 96, + /* 610 */ 96, 95, 95, 94, 94, 94, 93, 351, 86, 445, + /* 620 */ 847, 3, 1203, 361, 360, 378, 344, 813, 958, 958, + /* 630 */ 1300, 86, 445, 729, 3, 212, 169, 287, 405, 282, + /* 640 */ 404, 199, 232, 450, 300, 760, 83, 84, 280, 245, + /* 650 */ 262, 365, 251, 85, 352, 352, 92, 89, 178, 83, + /* 660 */ 84, 242, 412, 52, 52, 448, 85, 352, 352, 246, + /* 670 */ 959, 960, 194, 455, 670, 402, 399, 398, 448, 243, + /* 680 */ 221, 114, 434, 776, 361, 450, 397, 268, 747, 224, + /* 690 */ 224, 132, 132, 198, 832, 434, 452, 451, 428, 427, + /* 700 */ 819, 415, 734, 713, 132, 52, 52, 832, 268, 452, + /* 710 */ 451, 734, 194, 819, 363, 402, 399, 398, 450, 1271, + /* 720 */ 1271, 23, 958, 958, 86, 445, 397, 3, 228, 429, + /* 730 */ 895, 824, 824, 826, 827, 19, 203, 720, 52, 52, + /* 740 */ 428, 408, 439, 249, 824, 824, 826, 827, 19, 229, + /* 750 */ 403, 153, 83, 84, 761, 177, 241, 450, 721, 85, + /* 760 */ 352, 352, 120, 157, 959, 960, 58, 977, 409, 355, + /* 770 */ 330, 448, 268, 428, 430, 320, 790, 32, 32, 86, + /* 780 */ 445, 776, 3, 341, 98, 98, 98, 98, 434, 96, + /* 790 */ 96, 96, 96, 95, 95, 94, 94, 94, 93, 351, + /* 800 */ 832, 120, 452, 451, 813, 887, 819, 83, 84, 977, + /* 810 */ 813, 132, 410, 920, 85, 352, 352, 132, 407, 789, + /* 820 */ 958, 958, 92, 89, 178, 917, 448, 262, 370, 261, + /* 830 */ 82, 914, 80, 262, 370, 261, 776, 824, 824, 826, + /* 840 */ 827, 19, 934, 434, 96, 96, 96, 96, 95, 95, + /* 850 */ 94, 94, 94, 93, 351, 832, 74, 452, 451, 958, + /* 860 */ 958, 819, 959, 960, 120, 92, 89, 178, 945, 2, + /* 870 */ 918, 965, 268, 1, 976, 76, 445, 762, 3, 708, + /* 880 */ 901, 901, 387, 958, 958, 757, 919, 371, 740, 778, + /* 890 */ 756, 257, 824, 824, 826, 827, 19, 417, 741, 450, + /* 900 */ 24, 959, 960, 83, 84, 369, 958, 958, 177, 226, + /* 910 */ 85, 352, 352, 885, 315, 314, 313, 215, 311, 10, + /* 920 */ 10, 683, 448, 349, 348, 959, 960, 909, 777, 157, + /* 930 */ 120, 958, 958, 337, 776, 416, 711, 310, 450, 434, + /* 940 */ 450, 321, 450, 791, 103, 200, 175, 450, 959, 960, + /* 950 */ 908, 832, 792, 452, 451, 9, 9, 819, 10, 10, + /* 960 */ 52, 52, 51, 51, 180, 716, 248, 10, 10, 171, + /* 970 */ 170, 167, 339, 959, 960, 247, 984, 702, 702, 450, + /* 980 */ 715, 233, 686, 982, 889, 983, 182, 914, 824, 824, + /* 990 */ 826, 827, 19, 183, 256, 423, 132, 181, 394, 10, + /* 1000 */ 10, 889, 891, 749, 958, 958, 917, 268, 985, 198, + /* 1010 */ 985, 349, 348, 425, 415, 299, 817, 832, 326, 825, + /* 1020 */ 120, 332, 133, 819, 268, 98, 98, 98, 98, 91, + /* 1030 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, + /* 1040 */ 351, 157, 810, 371, 382, 359, 959, 960, 358, 268, + /* 1050 */ 450, 918, 368, 324, 824, 824, 826, 450, 709, 450, + /* 1060 */ 264, 380, 889, 450, 877, 746, 253, 919, 255, 433, + /* 1070 */ 36, 36, 234, 450, 234, 120, 269, 37, 37, 12, + /* 1080 */ 12, 334, 272, 27, 27, 450, 330, 118, 450, 162, + /* 1090 */ 742, 280, 450, 38, 38, 450, 985, 356, 985, 450, + /* 1100 */ 709, 1210, 450, 132, 450, 39, 39, 450, 40, 40, + /* 1110 */ 450, 362, 41, 41, 450, 42, 42, 450, 254, 28, + /* 1120 */ 28, 450, 29, 29, 31, 31, 450, 43, 43, 450, + /* 1130 */ 44, 44, 450, 714, 45, 45, 450, 11, 11, 767, + /* 1140 */ 450, 46, 46, 450, 268, 450, 105, 105, 450, 47, + /* 1150 */ 47, 450, 48, 48, 450, 237, 33, 33, 450, 172, + /* 1160 */ 49, 49, 450, 50, 50, 34, 34, 274, 122, 122, + /* 1170 */ 450, 123, 123, 450, 124, 124, 450, 898, 56, 56, + /* 1180 */ 450, 897, 35, 35, 450, 267, 450, 817, 450, 817, + /* 1190 */ 106, 106, 450, 53, 53, 385, 107, 107, 450, 817, + /* 1200 */ 108, 108, 817, 450, 104, 104, 121, 121, 119, 119, + /* 1210 */ 450, 117, 112, 112, 450, 276, 450, 225, 111, 111, + /* 1220 */ 450, 730, 450, 109, 109, 450, 673, 674, 675, 912, + /* 1230 */ 110, 110, 317, 998, 55, 55, 57, 57, 692, 331, + /* 1240 */ 54, 54, 26, 26, 696, 30, 30, 317, 937, 197, + /* 1250 */ 196, 195, 335, 281, 336, 446, 331, 745, 689, 436, + /* 1260 */ 440, 444, 120, 72, 386, 223, 175, 345, 757, 933, + /* 1270 */ 20, 286, 319, 756, 815, 372, 374, 202, 202, 202, + /* 1280 */ 263, 395, 285, 74, 208, 21, 696, 719, 718, 884, + /* 1290 */ 120, 120, 120, 120, 120, 754, 278, 828, 77, 74, + /* 1300 */ 726, 727, 785, 783, 880, 202, 999, 208, 894, 893, + /* 1310 */ 894, 893, 694, 816, 763, 116, 774, 1290, 431, 432, + /* 1320 */ 302, 999, 390, 303, 823, 697, 691, 680, 159, 289, + /* 1330 */ 679, 884, 681, 952, 291, 218, 293, 7, 316, 828, + /* 1340 */ 173, 805, 259, 364, 252, 911, 376, 713, 295, 435, + /* 1350 */ 308, 168, 955, 993, 135, 400, 990, 284, 882, 881, + /* 1360 */ 205, 928, 926, 59, 333, 62, 144, 156, 130, 72, + /* 1370 */ 802, 366, 367, 393, 137, 185, 189, 160, 139, 383, + /* 1380 */ 67, 896, 140, 141, 142, 148, 389, 812, 775, 266, + /* 1390 */ 219, 190, 154, 391, 913, 876, 271, 406, 191, 322, + /* 1400 */ 682, 733, 192, 342, 732, 724, 731, 711, 723, 421, + /* 1410 */ 705, 71, 323, 6, 204, 771, 288, 79, 297, 346, + /* 1420 */ 772, 704, 290, 283, 703, 770, 292, 294, 967, 239, + /* 1430 */ 769, 102, 862, 438, 426, 240, 424, 442, 73, 213, + /* 1440 */ 688, 238, 22, 453, 953, 214, 217, 216, 454, 677, + /* 1450 */ 676, 671, 753, 125, 115, 235, 126, 669, 353, 166, + /* 1460 */ 127, 244, 179, 357, 306, 304, 305, 307, 113, 892, + /* 1470 */ 327, 890, 811, 328, 134, 128, 136, 138, 743, 258, + /* 1480 */ 907, 184, 143, 129, 910, 186, 63, 64, 145, 187, + /* 1490 */ 906, 65, 8, 66, 13, 188, 202, 899, 265, 149, + /* 1500 */ 987, 388, 150, 685, 161, 392, 285, 193, 279, 396, + /* 1510 */ 151, 401, 68, 14, 15, 722, 69, 236, 831, 131, + /* 1520 */ 830, 860, 70, 751, 16, 414, 755, 4, 174, 220, + /* 1530 */ 222, 784, 201, 152, 779, 77, 74, 17, 18, 875, + /* 1540 */ 861, 859, 916, 864, 915, 207, 206, 942, 163, 437, + /* 1550 */ 948, 943, 164, 209, 1002, 441, 863, 165, 210, 829, + /* 1560 */ 695, 87, 312, 211, 1292, 1291, 309, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 19, 95, 53, 97, 22, 24, 24, 101, 27, 28, @@ -131248,286 +133344,297 @@ static const YYCODETYPE yy_lookahead[] = { /* 20 */ 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, /* 30 */ 49, 50, 51, 52, 53, 19, 55, 55, 132, 133, /* 40 */ 134, 1, 2, 27, 28, 29, 30, 31, 32, 33, - /* 50 */ 34, 35, 36, 37, 38, 39, 40, 41, 92, 43, + /* 50 */ 34, 35, 36, 37, 38, 39, 40, 41, 187, 43, /* 60 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, /* 70 */ 47, 48, 49, 50, 51, 52, 53, 61, 97, 97, /* 80 */ 19, 49, 50, 51, 52, 53, 70, 26, 27, 28, /* 90 */ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, /* 100 */ 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, /* 110 */ 49, 50, 51, 52, 53, 144, 145, 146, 147, 19, - /* 120 */ 249, 22, 172, 172, 173, 52, 53, 27, 28, 29, + /* 120 */ 16, 22, 92, 172, 173, 52, 53, 27, 28, 29, /* 130 */ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, /* 140 */ 40, 41, 81, 43, 44, 45, 46, 47, 48, 49, /* 150 */ 50, 51, 52, 53, 55, 56, 19, 152, 207, 208, /* 160 */ 115, 24, 117, 118, 27, 28, 29, 30, 31, 32, /* 170 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 79, /* 180 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 190 */ 53, 19, 0, 1, 2, 23, 97, 98, 193, 27, + /* 190 */ 53, 19, 88, 157, 90, 23, 97, 98, 193, 27, /* 200 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, /* 210 */ 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, /* 220 */ 48, 49, 50, 51, 52, 53, 19, 22, 23, 172, /* 230 */ 23, 26, 119, 120, 27, 28, 29, 30, 31, 32, /* 240 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 187, /* 250 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 260 */ 53, 19, 221, 222, 223, 23, 168, 169, 170, 27, + /* 260 */ 53, 19, 22, 23, 228, 23, 26, 231, 152, 27, /* 270 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - /* 280 */ 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, - /* 290 */ 48, 49, 50, 51, 52, 53, 19, 157, 22, 23, - /* 300 */ 23, 96, 26, 172, 27, 28, 29, 30, 31, 32, - /* 310 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 187, + /* 280 */ 38, 39, 40, 41, 172, 43, 44, 45, 46, 47, + /* 290 */ 48, 49, 50, 51, 52, 53, 19, 221, 222, 223, + /* 300 */ 23, 96, 152, 172, 27, 28, 29, 30, 31, 32, + /* 310 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, /* 320 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 330 */ 53, 19, 108, 109, 110, 221, 222, 223, 185, 27, + /* 330 */ 53, 19, 0, 1, 2, 23, 96, 190, 191, 27, /* 340 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - /* 350 */ 38, 39, 40, 41, 240, 43, 44, 45, 46, 47, - /* 360 */ 48, 49, 50, 51, 52, 53, 19, 227, 22, 23, - /* 370 */ 230, 22, 96, 152, 27, 28, 29, 30, 31, 32, - /* 380 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 30, + /* 350 */ 38, 39, 40, 41, 238, 43, 44, 45, 46, 47, + /* 360 */ 48, 49, 50, 51, 52, 53, 19, 185, 218, 221, + /* 370 */ 222, 223, 152, 152, 27, 28, 29, 30, 31, 32, + /* 380 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 241, /* 390 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 400 */ 53, 19, 190, 191, 55, 56, 24, 190, 191, 27, + /* 400 */ 53, 19, 152, 168, 169, 170, 22, 190, 191, 27, /* 410 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, /* 420 */ 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, - /* 430 */ 48, 49, 50, 51, 52, 53, 168, 169, 170, 179, - /* 440 */ 180, 171, 96, 19, 172, 173, 97, 98, 188, 179, - /* 450 */ 138, 27, 28, 29, 30, 31, 32, 33, 34, 35, - /* 460 */ 36, 37, 38, 39, 40, 41, 107, 43, 44, 45, - /* 470 */ 46, 47, 48, 49, 50, 51, 52, 53, 19, 207, - /* 480 */ 208, 30, 31, 32, 33, 138, 27, 28, 29, 30, + /* 430 */ 48, 49, 50, 51, 52, 53, 19, 19, 218, 55, + /* 440 */ 56, 24, 22, 152, 27, 28, 29, 30, 31, 32, + /* 450 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, + /* 460 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + /* 470 */ 53, 250, 194, 195, 56, 55, 56, 55, 19, 172, + /* 480 */ 173, 97, 98, 152, 206, 138, 27, 28, 29, 30, /* 490 */ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - /* 500 */ 41, 181, 43, 44, 45, 46, 47, 48, 49, 50, - /* 510 */ 51, 52, 53, 19, 152, 7, 8, 9, 49, 22, - /* 520 */ 19, 24, 28, 29, 30, 31, 32, 33, 34, 35, - /* 530 */ 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, - /* 540 */ 46, 47, 48, 49, 50, 51, 52, 53, 19, 108, - /* 550 */ 109, 110, 101, 55, 53, 193, 172, 173, 29, 30, + /* 500 */ 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, + /* 510 */ 51, 52, 53, 19, 207, 208, 152, 97, 98, 97, + /* 520 */ 138, 27, 28, 29, 30, 31, 32, 33, 34, 35, + /* 530 */ 36, 37, 38, 39, 40, 41, 181, 43, 44, 45, + /* 540 */ 46, 47, 48, 49, 50, 51, 52, 53, 19, 30, + /* 550 */ 31, 32, 33, 247, 248, 19, 152, 28, 29, 30, /* 560 */ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, /* 570 */ 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, - /* 580 */ 51, 52, 53, 19, 20, 116, 22, 23, 169, 170, - /* 590 */ 121, 207, 85, 55, 56, 97, 19, 20, 195, 22, - /* 600 */ 99, 100, 101, 102, 103, 104, 105, 12, 152, 206, - /* 610 */ 210, 47, 48, 112, 152, 108, 109, 110, 54, 55, - /* 620 */ 56, 221, 222, 223, 47, 48, 119, 120, 172, 173, - /* 630 */ 66, 54, 55, 56, 101, 97, 98, 99, 148, 149, - /* 640 */ 102, 103, 104, 66, 154, 112, 156, 83, 229, 47, - /* 650 */ 48, 113, 57, 163, 194, 195, 92, 246, 247, 95, - /* 660 */ 83, 97, 98, 207, 208, 101, 206, 59, 73, 92, - /* 670 */ 75, 63, 95, 163, 97, 98, 194, 195, 101, 219, - /* 680 */ 85, 181, 19, 152, 175, 77, 196, 152, 206, 19, - /* 690 */ 20, 199, 22, 30, 163, 11, 132, 133, 134, 135, - /* 700 */ 136, 209, 152, 172, 173, 152, 196, 172, 173, 132, - /* 710 */ 133, 134, 135, 136, 164, 92, 213, 47, 48, 49, - /* 720 */ 92, 186, 169, 170, 54, 55, 56, 196, 100, 219, - /* 730 */ 221, 222, 223, 243, 132, 133, 66, 175, 207, 208, - /* 740 */ 152, 231, 119, 120, 19, 20, 236, 22, 152, 38, - /* 750 */ 39, 40, 41, 83, 43, 44, 45, 46, 47, 48, - /* 760 */ 49, 50, 51, 52, 53, 95, 152, 97, 98, 85, - /* 770 */ 107, 101, 47, 48, 163, 112, 92, 152, 152, 54, - /* 780 */ 55, 56, 229, 221, 222, 223, 172, 173, 163, 49, - /* 790 */ 152, 66, 108, 109, 110, 55, 56, 172, 173, 163, - /* 800 */ 186, 22, 132, 133, 134, 135, 136, 196, 83, 43, - /* 810 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 820 */ 95, 196, 97, 98, 85, 99, 101, 152, 102, 103, - /* 830 */ 104, 92, 196, 146, 147, 152, 181, 97, 98, 113, - /* 840 */ 19, 20, 152, 22, 218, 22, 116, 108, 109, 110, - /* 850 */ 152, 121, 55, 56, 12, 219, 218, 132, 133, 134, - /* 860 */ 135, 136, 172, 173, 55, 56, 55, 56, 47, 48, - /* 870 */ 172, 173, 236, 152, 5, 54, 55, 56, 55, 10, - /* 880 */ 11, 12, 13, 14, 186, 152, 17, 66, 47, 48, - /* 890 */ 152, 210, 16, 84, 97, 98, 55, 56, 21, 57, - /* 900 */ 217, 122, 22, 152, 83, 152, 97, 98, 97, 98, - /* 910 */ 172, 173, 152, 152, 224, 73, 95, 75, 97, 98, - /* 920 */ 97, 124, 101, 172, 173, 164, 193, 47, 48, 60, - /* 930 */ 163, 62, 172, 173, 24, 55, 56, 186, 97, 98, - /* 940 */ 71, 100, 55, 56, 183, 207, 185, 152, 107, 23, - /* 950 */ 109, 82, 26, 132, 133, 134, 135, 136, 89, 152, - /* 960 */ 26, 92, 93, 196, 88, 55, 90, 152, 91, 152, - /* 970 */ 217, 152, 152, 132, 133, 95, 152, 97, 211, 212, - /* 980 */ 103, 101, 152, 114, 97, 98, 152, 172, 173, 19, - /* 990 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - /* 1000 */ 48, 49, 50, 51, 52, 53, 65, 97, 152, 152, - /* 1010 */ 141, 124, 132, 133, 134, 152, 140, 140, 152, 78, - /* 1020 */ 152, 233, 152, 193, 98, 152, 56, 86, 172, 173, - /* 1030 */ 166, 167, 237, 152, 217, 172, 173, 152, 172, 173, - /* 1040 */ 172, 173, 172, 173, 237, 172, 173, 152, 152, 152, - /* 1050 */ 124, 152, 111, 172, 173, 152, 237, 172, 173, 152, - /* 1060 */ 55, 152, 26, 152, 130, 152, 152, 172, 173, 172, - /* 1070 */ 173, 172, 173, 249, 152, 172, 173, 152, 61, 172, - /* 1080 */ 173, 172, 173, 172, 173, 172, 173, 70, 152, 193, - /* 1090 */ 152, 137, 152, 139, 172, 173, 152, 172, 173, 152, - /* 1100 */ 152, 152, 97, 152, 26, 152, 163, 152, 172, 173, - /* 1110 */ 172, 173, 172, 173, 152, 16, 172, 173, 26, 172, - /* 1120 */ 173, 172, 173, 172, 173, 172, 173, 172, 173, 163, - /* 1130 */ 152, 152, 152, 22, 172, 173, 152, 241, 152, 196, - /* 1140 */ 152, 193, 106, 152, 152, 152, 163, 152, 37, 152, - /* 1150 */ 172, 173, 172, 173, 152, 152, 172, 173, 172, 173, - /* 1160 */ 172, 173, 196, 172, 173, 172, 173, 172, 173, 172, - /* 1170 */ 173, 152, 152, 152, 172, 173, 98, 152, 152, 196, - /* 1180 */ 160, 22, 23, 19, 164, 193, 152, 88, 232, 90, - /* 1190 */ 191, 172, 173, 172, 173, 163, 193, 172, 173, 166, - /* 1200 */ 167, 163, 124, 163, 244, 245, 23, 211, 212, 26, - /* 1210 */ 55, 23, 55, 23, 26, 123, 26, 152, 23, 193, - /* 1220 */ 56, 26, 23, 23, 23, 26, 26, 26, 196, 100, - /* 1230 */ 101, 7, 8, 152, 196, 23, 196, 23, 26, 152, - /* 1240 */ 26, 132, 133, 23, 132, 133, 26, 152, 152, 152, - /* 1250 */ 152, 210, 97, 152, 97, 96, 152, 152, 152, 152, - /* 1260 */ 152, 210, 152, 210, 197, 152, 152, 152, 152, 152, - /* 1270 */ 152, 152, 152, 152, 152, 152, 152, 198, 150, 176, - /* 1280 */ 214, 201, 214, 238, 201, 238, 184, 214, 226, 200, - /* 1290 */ 155, 198, 67, 122, 242, 159, 159, 69, 239, 239, - /* 1300 */ 159, 175, 175, 22, 220, 180, 175, 27, 130, 18, - /* 1310 */ 159, 18, 158, 137, 220, 159, 158, 235, 74, 189, - /* 1320 */ 234, 159, 159, 158, 22, 192, 192, 177, 159, 159, - /* 1330 */ 192, 192, 189, 201, 189, 158, 107, 158, 177, 76, - /* 1340 */ 174, 201, 174, 201, 106, 159, 174, 125, 174, 182, - /* 1350 */ 177, 176, 107, 159, 174, 137, 174, 53, 174, 129, - /* 1360 */ 216, 215, 215, 182, 216, 216, 177, 215, 126, 216, - /* 1370 */ 177, 128, 25, 127, 26, 215, 13, 162, 161, 153, - /* 1380 */ 153, 6, 151, 151, 151, 151, 165, 178, 165, 178, - /* 1390 */ 4, 3, 22, 142, 15, 94, 16, 205, 120, 202, - /* 1400 */ 204, 203, 165, 201, 23, 23, 131, 111, 123, 20, - /* 1410 */ 225, 125, 16, 1, 131, 228, 111, 123, 56, 228, - /* 1420 */ 37, 37, 64, 1, 5, 122, 22, 107, 140, 80, - /* 1430 */ 80, 26, 87, 72, 107, 24, 20, 19, 112, 105, - /* 1440 */ 23, 68, 22, 79, 79, 22, 22, 22, 58, 22, - /* 1450 */ 245, 248, 248, 79, 23, 23, 23, 116, 22, 122, - /* 1460 */ 23, 22, 56, 23, 26, 23, 64, 22, 124, 26, - /* 1470 */ 26, 64, 64, 23, 23, 23, 11, 23, 22, 26, - /* 1480 */ 23, 22, 24, 1, 23, 22, 26, 250, 24, 23, - /* 1490 */ 22, 122, 23, 23, 22, 15, 23, 250, 122, 122, - /* 1500 */ 122, + /* 580 */ 51, 52, 53, 19, 168, 169, 170, 238, 19, 53, + /* 590 */ 152, 172, 173, 29, 30, 31, 32, 33, 34, 35, + /* 600 */ 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, + /* 610 */ 46, 47, 48, 49, 50, 51, 52, 53, 19, 20, + /* 620 */ 101, 22, 23, 169, 170, 56, 207, 85, 55, 56, + /* 630 */ 23, 19, 20, 26, 22, 99, 100, 101, 102, 103, + /* 640 */ 104, 105, 238, 152, 152, 210, 47, 48, 112, 152, + /* 650 */ 108, 109, 110, 54, 55, 56, 221, 222, 223, 47, + /* 660 */ 48, 119, 120, 172, 173, 66, 54, 55, 56, 152, + /* 670 */ 97, 98, 99, 148, 149, 102, 103, 104, 66, 154, + /* 680 */ 23, 156, 83, 26, 230, 152, 113, 152, 163, 194, + /* 690 */ 195, 92, 92, 30, 95, 83, 97, 98, 207, 208, + /* 700 */ 101, 206, 179, 180, 92, 172, 173, 95, 152, 97, + /* 710 */ 98, 188, 99, 101, 219, 102, 103, 104, 152, 119, + /* 720 */ 120, 196, 55, 56, 19, 20, 113, 22, 193, 163, + /* 730 */ 11, 132, 133, 134, 135, 136, 24, 65, 172, 173, + /* 740 */ 207, 208, 250, 152, 132, 133, 134, 135, 136, 193, + /* 750 */ 78, 84, 47, 48, 49, 98, 199, 152, 86, 54, + /* 760 */ 55, 56, 196, 152, 97, 98, 209, 55, 163, 244, + /* 770 */ 107, 66, 152, 207, 208, 164, 175, 172, 173, 19, + /* 780 */ 20, 124, 22, 111, 38, 39, 40, 41, 83, 43, + /* 790 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + /* 800 */ 95, 196, 97, 98, 85, 152, 101, 47, 48, 97, + /* 810 */ 85, 92, 207, 193, 54, 55, 56, 92, 49, 175, + /* 820 */ 55, 56, 221, 222, 223, 12, 66, 108, 109, 110, + /* 830 */ 137, 163, 139, 108, 109, 110, 26, 132, 133, 134, + /* 840 */ 135, 136, 152, 83, 43, 44, 45, 46, 47, 48, + /* 850 */ 49, 50, 51, 52, 53, 95, 26, 97, 98, 55, + /* 860 */ 56, 101, 97, 98, 196, 221, 222, 223, 146, 147, + /* 870 */ 57, 171, 152, 22, 26, 19, 20, 49, 22, 179, + /* 880 */ 108, 109, 110, 55, 56, 116, 73, 219, 75, 124, + /* 890 */ 121, 152, 132, 133, 134, 135, 136, 163, 85, 152, + /* 900 */ 232, 97, 98, 47, 48, 237, 55, 56, 98, 5, + /* 910 */ 54, 55, 56, 193, 10, 11, 12, 13, 14, 172, + /* 920 */ 173, 17, 66, 47, 48, 97, 98, 152, 124, 152, + /* 930 */ 196, 55, 56, 186, 124, 152, 106, 160, 152, 83, + /* 940 */ 152, 164, 152, 61, 22, 211, 212, 152, 97, 98, + /* 950 */ 152, 95, 70, 97, 98, 172, 173, 101, 172, 173, + /* 960 */ 172, 173, 172, 173, 60, 181, 62, 172, 173, 47, + /* 970 */ 48, 123, 186, 97, 98, 71, 100, 55, 56, 152, + /* 980 */ 181, 186, 21, 107, 152, 109, 82, 163, 132, 133, + /* 990 */ 134, 135, 136, 89, 16, 207, 92, 93, 19, 172, + /* 1000 */ 173, 169, 170, 195, 55, 56, 12, 152, 132, 30, + /* 1010 */ 134, 47, 48, 186, 206, 225, 152, 95, 114, 97, + /* 1020 */ 196, 245, 246, 101, 152, 38, 39, 40, 41, 42, + /* 1030 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + /* 1040 */ 53, 152, 163, 219, 152, 141, 97, 98, 193, 152, + /* 1050 */ 152, 57, 91, 164, 132, 133, 134, 152, 55, 152, + /* 1060 */ 152, 237, 230, 152, 103, 193, 88, 73, 90, 75, + /* 1070 */ 172, 173, 183, 152, 185, 196, 152, 172, 173, 172, + /* 1080 */ 173, 217, 152, 172, 173, 152, 107, 22, 152, 24, + /* 1090 */ 193, 112, 152, 172, 173, 152, 132, 242, 134, 152, + /* 1100 */ 97, 140, 152, 92, 152, 172, 173, 152, 172, 173, + /* 1110 */ 152, 100, 172, 173, 152, 172, 173, 152, 140, 172, + /* 1120 */ 173, 152, 172, 173, 172, 173, 152, 172, 173, 152, + /* 1130 */ 172, 173, 152, 152, 172, 173, 152, 172, 173, 213, + /* 1140 */ 152, 172, 173, 152, 152, 152, 172, 173, 152, 172, + /* 1150 */ 173, 152, 172, 173, 152, 210, 172, 173, 152, 26, + /* 1160 */ 172, 173, 152, 172, 173, 172, 173, 152, 172, 173, + /* 1170 */ 152, 172, 173, 152, 172, 173, 152, 59, 172, 173, + /* 1180 */ 152, 63, 172, 173, 152, 193, 152, 152, 152, 152, + /* 1190 */ 172, 173, 152, 172, 173, 77, 172, 173, 152, 152, + /* 1200 */ 172, 173, 152, 152, 172, 173, 172, 173, 172, 173, + /* 1210 */ 152, 22, 172, 173, 152, 152, 152, 22, 172, 173, + /* 1220 */ 152, 152, 152, 172, 173, 152, 7, 8, 9, 163, + /* 1230 */ 172, 173, 22, 23, 172, 173, 172, 173, 166, 167, + /* 1240 */ 172, 173, 172, 173, 55, 172, 173, 22, 23, 108, + /* 1250 */ 109, 110, 217, 152, 217, 166, 167, 163, 163, 163, + /* 1260 */ 163, 163, 196, 130, 217, 211, 212, 217, 116, 23, + /* 1270 */ 22, 101, 26, 121, 23, 23, 23, 26, 26, 26, + /* 1280 */ 23, 23, 112, 26, 26, 37, 97, 100, 101, 55, + /* 1290 */ 196, 196, 196, 196, 196, 23, 23, 55, 26, 26, + /* 1300 */ 7, 8, 23, 152, 23, 26, 96, 26, 132, 132, + /* 1310 */ 134, 134, 23, 152, 152, 26, 152, 122, 152, 191, + /* 1320 */ 152, 96, 234, 152, 152, 152, 152, 152, 197, 210, + /* 1330 */ 152, 97, 152, 152, 210, 233, 210, 198, 150, 97, + /* 1340 */ 184, 201, 239, 214, 214, 201, 239, 180, 214, 227, + /* 1350 */ 200, 198, 155, 67, 243, 176, 69, 175, 175, 175, + /* 1360 */ 122, 159, 159, 240, 159, 240, 22, 220, 27, 130, + /* 1370 */ 201, 18, 159, 18, 189, 158, 158, 220, 192, 159, + /* 1380 */ 137, 236, 192, 192, 192, 189, 74, 189, 159, 235, + /* 1390 */ 159, 158, 22, 177, 201, 201, 159, 107, 158, 177, + /* 1400 */ 159, 174, 158, 76, 174, 182, 174, 106, 182, 125, + /* 1410 */ 174, 107, 177, 22, 159, 216, 215, 137, 159, 53, + /* 1420 */ 216, 176, 215, 174, 174, 216, 215, 215, 174, 229, + /* 1430 */ 216, 129, 224, 177, 126, 229, 127, 177, 128, 25, + /* 1440 */ 162, 226, 26, 161, 13, 153, 6, 153, 151, 151, + /* 1450 */ 151, 151, 205, 165, 178, 178, 165, 4, 3, 22, + /* 1460 */ 165, 142, 15, 94, 202, 204, 203, 201, 16, 23, + /* 1470 */ 249, 23, 120, 249, 246, 111, 131, 123, 20, 16, + /* 1480 */ 1, 125, 123, 111, 56, 64, 37, 37, 131, 122, + /* 1490 */ 1, 37, 5, 37, 22, 107, 26, 80, 140, 80, + /* 1500 */ 87, 72, 107, 20, 24, 19, 112, 105, 23, 79, + /* 1510 */ 22, 79, 22, 22, 22, 58, 22, 79, 23, 68, + /* 1520 */ 23, 23, 26, 116, 22, 26, 23, 22, 122, 23, + /* 1530 */ 23, 56, 64, 22, 124, 26, 26, 64, 64, 23, + /* 1540 */ 23, 23, 23, 11, 23, 22, 26, 23, 22, 24, + /* 1550 */ 1, 23, 22, 26, 251, 24, 23, 22, 122, 23, + /* 1560 */ 23, 22, 15, 122, 122, 122, 23, }; -#define YY_SHIFT_USE_DFLT (-95) -#define YY_SHIFT_COUNT (439) -#define YY_SHIFT_MIN (-94) -#define YY_SHIFT_MAX (1482) +#define YY_SHIFT_USE_DFLT (1567) +#define YY_SHIFT_COUNT (455) +#define YY_SHIFT_MIN (-94) +#define YY_SHIFT_MAX (1549) static const short yy_shift_ofst[] = { - /* 0 */ 40, 564, 869, 577, 725, 725, 725, 739, -19, 16, - /* 10 */ 16, 100, 725, 725, 725, 725, 725, 725, 725, 841, - /* 20 */ 841, 538, 507, 684, 623, 61, 137, 172, 207, 242, - /* 30 */ 277, 312, 347, 382, 424, 424, 424, 424, 424, 424, - /* 40 */ 424, 424, 424, 424, 424, 424, 424, 424, 424, 459, - /* 50 */ 424, 494, 529, 529, 670, 725, 725, 725, 725, 725, - /* 60 */ 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, - /* 70 */ 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, - /* 80 */ 725, 725, 725, 821, 725, 725, 725, 725, 725, 725, - /* 90 */ 725, 725, 725, 725, 725, 725, 725, 952, 711, 711, - /* 100 */ 711, 711, 711, 766, 23, 32, 811, 877, 663, 602, - /* 110 */ 602, 811, 73, 113, -51, -95, -95, -95, 501, 501, - /* 120 */ 501, 595, 595, 809, 205, 276, 811, 811, 811, 811, - /* 130 */ 811, 811, 811, 811, 811, 811, 811, 811, 811, 811, - /* 140 */ 811, 811, 811, 811, 811, 811, 192, 628, 498, 498, - /* 150 */ 113, -34, -34, -34, -34, -34, -34, -95, -95, -95, - /* 160 */ 880, -94, -94, 726, 740, 99, 797, 887, 349, 811, - /* 170 */ 811, 811, 811, 811, 811, 811, 811, 811, 811, 811, - /* 180 */ 811, 811, 811, 811, 811, 811, 941, 941, 941, 811, - /* 190 */ 811, 926, 811, 811, 811, -18, 811, 811, 842, 811, - /* 200 */ 811, 811, 811, 811, 811, 811, 811, 811, 811, 224, - /* 210 */ 608, 910, 910, 910, 1078, 45, 469, 508, 934, 970, - /* 220 */ 970, 1164, 934, 1164, 1036, 1183, 359, 1017, 970, 954, - /* 230 */ 1017, 1017, 1092, 730, 497, 1225, 1171, 1171, 1228, 1228, - /* 240 */ 1171, 1281, 1280, 1178, 1291, 1291, 1291, 1291, 1171, 1293, - /* 250 */ 1178, 1281, 1280, 1280, 1178, 1171, 1293, 1176, 1244, 1171, - /* 260 */ 1171, 1293, 1302, 1171, 1293, 1171, 1293, 1302, 1229, 1229, - /* 270 */ 1229, 1263, 1302, 1229, 1238, 1229, 1263, 1229, 1229, 1222, - /* 280 */ 1245, 1222, 1245, 1222, 1245, 1222, 1245, 1171, 1171, 1218, - /* 290 */ 1302, 1304, 1304, 1302, 1230, 1242, 1243, 1246, 1178, 1347, - /* 300 */ 1348, 1363, 1363, 1375, 1375, 1375, 1375, -95, -95, -95, - /* 310 */ -95, -95, -95, -95, -95, 451, 876, 346, 1159, 1099, - /* 320 */ 441, 823, 1188, 1111, 1190, 1195, 1199, 1200, 1005, 1129, - /* 330 */ 1224, 533, 1201, 1212, 1155, 1214, 1109, 1112, 1220, 1157, - /* 340 */ 779, 1386, 1388, 1370, 1251, 1379, 1301, 1380, 1381, 1382, - /* 350 */ 1278, 1275, 1296, 1285, 1389, 1286, 1396, 1412, 1294, 1283, - /* 360 */ 1383, 1384, 1305, 1362, 1358, 1303, 1422, 1419, 1404, 1320, - /* 370 */ 1288, 1349, 1405, 1350, 1345, 1361, 1327, 1411, 1416, 1418, - /* 380 */ 1326, 1334, 1420, 1364, 1423, 1424, 1417, 1425, 1365, 1390, - /* 390 */ 1427, 1374, 1373, 1431, 1432, 1433, 1341, 1436, 1437, 1439, - /* 400 */ 1438, 1337, 1440, 1442, 1406, 1402, 1445, 1344, 1443, 1407, - /* 410 */ 1444, 1408, 1443, 1450, 1451, 1452, 1453, 1454, 1456, 1465, - /* 420 */ 1457, 1459, 1458, 1460, 1461, 1463, 1464, 1460, 1466, 1468, - /* 430 */ 1469, 1470, 1472, 1369, 1376, 1377, 1378, 1473, 1480, 1482, + /* 0 */ 40, 599, 904, 612, 760, 760, 760, 760, 725, -19, + /* 10 */ 16, 16, 100, 760, 760, 760, 760, 760, 760, 760, + /* 20 */ 876, 876, 573, 542, 719, 600, 61, 137, 172, 207, + /* 30 */ 242, 277, 312, 347, 382, 417, 459, 459, 459, 459, + /* 40 */ 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + /* 50 */ 459, 459, 459, 494, 459, 529, 564, 564, 705, 760, + /* 60 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, + /* 70 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, + /* 80 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, + /* 90 */ 856, 760, 760, 760, 760, 760, 760, 760, 760, 760, + /* 100 */ 760, 760, 760, 760, 987, 746, 746, 746, 746, 746, + /* 110 */ 801, 23, 32, 949, 961, 979, 964, 964, 949, 73, + /* 120 */ 113, -51, 1567, 1567, 1567, 536, 536, 536, 99, 99, + /* 130 */ 813, 813, 667, 205, 240, 949, 949, 949, 949, 949, + /* 140 */ 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, + /* 150 */ 949, 949, 949, 949, 949, 332, 1011, 422, 422, 113, + /* 160 */ 30, 30, 30, 30, 30, 30, 1567, 1567, 1567, 922, + /* 170 */ -94, -94, 384, 613, 828, 420, 765, 804, 851, 949, + /* 180 */ 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, + /* 190 */ 949, 949, 949, 949, 949, 672, 672, 672, 949, 949, + /* 200 */ 657, 949, 949, 949, -18, 949, 949, 994, 949, 949, + /* 210 */ 949, 949, 949, 949, 949, 949, 949, 949, 772, 1118, + /* 220 */ 712, 712, 712, 810, 45, 769, 1219, 1133, 418, 418, + /* 230 */ 569, 1133, 569, 830, 607, 663, 882, 418, 693, 882, + /* 240 */ 882, 848, 1152, 1065, 1286, 1238, 1238, 1287, 1287, 1238, + /* 250 */ 1344, 1341, 1239, 1353, 1353, 1353, 1353, 1238, 1355, 1239, + /* 260 */ 1344, 1341, 1341, 1239, 1238, 1355, 1243, 1312, 1238, 1238, + /* 270 */ 1355, 1370, 1238, 1355, 1238, 1355, 1370, 1290, 1290, 1290, + /* 280 */ 1327, 1370, 1290, 1301, 1290, 1327, 1290, 1290, 1284, 1304, + /* 290 */ 1284, 1304, 1284, 1304, 1284, 1304, 1238, 1391, 1238, 1280, + /* 300 */ 1370, 1366, 1366, 1370, 1302, 1308, 1310, 1309, 1239, 1414, + /* 310 */ 1416, 1431, 1431, 1440, 1440, 1440, 1440, 1567, 1567, 1567, + /* 320 */ 1567, 1567, 1567, 1567, 1567, 519, 978, 1210, 1225, 104, + /* 330 */ 1141, 1189, 1246, 1248, 1251, 1252, 1253, 1257, 1258, 1273, + /* 340 */ 1003, 1187, 1293, 1170, 1272, 1279, 1234, 1281, 1176, 1177, + /* 350 */ 1289, 1242, 1195, 1453, 1455, 1437, 1319, 1447, 1369, 1452, + /* 360 */ 1446, 1448, 1352, 1345, 1364, 1354, 1458, 1356, 1463, 1479, + /* 370 */ 1359, 1357, 1449, 1450, 1454, 1456, 1372, 1428, 1421, 1367, + /* 380 */ 1489, 1487, 1472, 1388, 1358, 1417, 1470, 1419, 1413, 1429, + /* 390 */ 1395, 1480, 1483, 1486, 1394, 1402, 1488, 1430, 1490, 1491, + /* 400 */ 1485, 1492, 1432, 1457, 1494, 1438, 1451, 1495, 1497, 1498, + /* 410 */ 1496, 1407, 1502, 1503, 1505, 1499, 1406, 1506, 1507, 1475, + /* 420 */ 1468, 1511, 1410, 1509, 1473, 1510, 1474, 1516, 1509, 1517, + /* 430 */ 1518, 1519, 1520, 1521, 1523, 1532, 1524, 1526, 1525, 1527, + /* 440 */ 1528, 1530, 1531, 1527, 1533, 1535, 1536, 1537, 1539, 1436, + /* 450 */ 1441, 1442, 1443, 1543, 1547, 1549, }; #define YY_REDUCE_USE_DFLT (-130) -#define YY_REDUCE_COUNT (314) +#define YY_REDUCE_COUNT (324) #define YY_REDUCE_MIN (-129) -#define YY_REDUCE_MAX (1237) +#define YY_REDUCE_MAX (1300) static const short yy_reduce_ofst[] = { - /* 0 */ -29, 531, 490, 625, -49, 272, 456, 510, 400, 509, - /* 10 */ 562, 114, 535, 614, 698, 384, 738, 751, 690, 419, - /* 20 */ 553, 761, 460, 636, 767, 41, 41, 41, 41, 41, - /* 30 */ 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - /* 40 */ 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - /* 50 */ 41, 41, 41, 41, 760, 815, 856, 863, 866, 868, - /* 60 */ 870, 873, 881, 885, 895, 897, 899, 903, 907, 909, - /* 70 */ 911, 913, 922, 925, 936, 938, 940, 944, 947, 949, - /* 80 */ 951, 953, 955, 962, 978, 980, 984, 986, 988, 991, - /* 90 */ 993, 995, 997, 1002, 1019, 1021, 1025, 41, 41, 41, - /* 100 */ 41, 41, 41, 41, 41, 41, 896, 140, 260, 98, - /* 110 */ 268, 1020, 41, 482, 41, 41, 41, 41, 270, 270, - /* 120 */ 270, 212, 217, -129, 411, 411, 550, 5, 626, 362, - /* 130 */ 733, 830, 992, 1003, 1026, 795, 683, 807, 638, 819, - /* 140 */ 753, 948, 62, 817, 824, 132, 687, 611, 864, 1033, - /* 150 */ 403, 943, 966, 983, 1032, 1038, 1040, 960, 996, 492, - /* 160 */ -50, 57, 131, 153, 221, 462, 588, 596, 675, 721, - /* 170 */ 820, 834, 857, 914, 979, 1034, 1065, 1081, 1087, 1095, - /* 180 */ 1096, 1097, 1098, 1101, 1104, 1105, 320, 500, 655, 1106, - /* 190 */ 1107, 503, 1108, 1110, 1113, 681, 1114, 1115, 999, 1116, - /* 200 */ 1117, 1118, 221, 1119, 1120, 1121, 1122, 1123, 1124, 788, - /* 210 */ 956, 1041, 1051, 1053, 503, 1067, 1079, 1128, 1080, 1066, - /* 220 */ 1068, 1045, 1083, 1047, 1103, 1102, 1125, 1126, 1073, 1062, - /* 230 */ 1127, 1131, 1089, 1093, 1135, 1052, 1136, 1137, 1059, 1060, - /* 240 */ 1141, 1084, 1130, 1132, 1133, 1134, 1138, 1139, 1151, 1154, - /* 250 */ 1140, 1094, 1143, 1145, 1142, 1156, 1158, 1082, 1086, 1162, - /* 260 */ 1163, 1165, 1150, 1169, 1177, 1170, 1179, 1161, 1166, 1168, - /* 270 */ 1172, 1167, 1173, 1174, 1175, 1180, 1181, 1182, 1184, 1144, - /* 280 */ 1146, 1148, 1147, 1149, 1152, 1153, 1160, 1186, 1194, 1185, - /* 290 */ 1189, 1187, 1191, 1193, 1192, 1196, 1198, 1197, 1202, 1215, - /* 300 */ 1217, 1226, 1227, 1231, 1232, 1233, 1234, 1203, 1204, 1205, - /* 310 */ 1221, 1223, 1209, 1211, 1237, + /* 0 */ -29, 566, 525, 605, -49, 307, 491, 533, 668, 435, + /* 10 */ 601, 644, 148, 747, 786, 795, 419, 788, 827, 790, + /* 20 */ 454, 832, 889, 495, 824, 734, 76, 76, 76, 76, + /* 30 */ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + /* 40 */ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + /* 50 */ 76, 76, 76, 76, 76, 76, 76, 76, 783, 898, + /* 60 */ 905, 907, 911, 921, 933, 936, 940, 943, 947, 950, + /* 70 */ 952, 955, 958, 962, 965, 969, 974, 977, 980, 984, + /* 80 */ 988, 991, 993, 996, 999, 1002, 1006, 1010, 1018, 1021, + /* 90 */ 1024, 1028, 1032, 1034, 1036, 1040, 1046, 1051, 1058, 1062, + /* 100 */ 1064, 1068, 1070, 1073, 76, 76, 76, 76, 76, 76, + /* 110 */ 76, 76, 76, 855, 36, 523, 235, 416, 777, 76, + /* 120 */ 278, 76, 76, 76, 76, 700, 700, 700, 150, 220, + /* 130 */ 147, 217, 221, 306, 306, 611, 5, 535, 556, 620, + /* 140 */ 720, 872, 897, 116, 864, 349, 1035, 1037, 404, 1047, + /* 150 */ 992, -129, 1050, 492, 62, 722, 879, 1072, 1089, 808, + /* 160 */ 1066, 1094, 1095, 1096, 1097, 1098, 776, 1054, 557, 57, + /* 170 */ 112, 131, 167, 182, 250, 272, 291, 331, 364, 438, + /* 180 */ 497, 517, 591, 653, 690, 739, 775, 798, 892, 908, + /* 190 */ 924, 930, 1015, 1063, 1069, 355, 784, 799, 981, 1101, + /* 200 */ 926, 1151, 1161, 1162, 945, 1164, 1166, 1128, 1168, 1171, + /* 210 */ 1172, 250, 1173, 1174, 1175, 1178, 1180, 1181, 1088, 1102, + /* 220 */ 1119, 1124, 1126, 926, 1131, 1139, 1188, 1140, 1129, 1130, + /* 230 */ 1103, 1144, 1107, 1179, 1156, 1167, 1182, 1134, 1122, 1183, + /* 240 */ 1184, 1150, 1153, 1197, 1111, 1202, 1203, 1123, 1125, 1205, + /* 250 */ 1147, 1185, 1169, 1186, 1190, 1191, 1192, 1213, 1217, 1193, + /* 260 */ 1157, 1196, 1198, 1194, 1220, 1218, 1145, 1154, 1229, 1231, + /* 270 */ 1233, 1216, 1237, 1240, 1241, 1244, 1222, 1227, 1230, 1232, + /* 280 */ 1223, 1235, 1236, 1245, 1249, 1226, 1250, 1254, 1199, 1201, + /* 290 */ 1204, 1207, 1209, 1211, 1214, 1212, 1255, 1208, 1259, 1215, + /* 300 */ 1256, 1200, 1206, 1260, 1247, 1261, 1263, 1262, 1266, 1278, + /* 310 */ 1282, 1292, 1294, 1297, 1298, 1299, 1300, 1221, 1224, 1228, + /* 320 */ 1288, 1291, 1276, 1277, 1295, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1250, 1240, 1240, 1240, 1174, 1174, 1174, 1240, 1071, 1100, - /* 10 */ 1100, 1224, 1301, 1301, 1301, 1301, 1301, 1301, 1173, 1301, - /* 20 */ 1301, 1301, 1301, 1240, 1075, 1106, 1301, 1301, 1301, 1301, - /* 30 */ 1301, 1301, 1301, 1301, 1223, 1225, 1114, 1113, 1206, 1087, - /* 40 */ 1111, 1104, 1108, 1175, 1169, 1170, 1168, 1172, 1176, 1301, - /* 50 */ 1107, 1138, 1153, 1137, 1301, 1301, 1301, 1301, 1301, 1301, - /* 60 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 70 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 80 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 90 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1147, 1152, 1159, - /* 100 */ 1151, 1148, 1140, 1139, 1141, 1142, 1301, 994, 1042, 1301, - /* 110 */ 1301, 1301, 1143, 1301, 1144, 1156, 1155, 1154, 1231, 1258, - /* 120 */ 1257, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 130 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 140 */ 1301, 1301, 1301, 1301, 1301, 1301, 1250, 1240, 1000, 1000, - /* 150 */ 1301, 1240, 1240, 1240, 1240, 1240, 1240, 1236, 1075, 1066, - /* 160 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 170 */ 1228, 1226, 1301, 1187, 1301, 1301, 1301, 1301, 1301, 1301, - /* 180 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 190 */ 1301, 1301, 1301, 1301, 1301, 1071, 1301, 1301, 1301, 1301, - /* 200 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1252, 1301, - /* 210 */ 1201, 1071, 1071, 1071, 1073, 1055, 1065, 979, 1110, 1089, - /* 220 */ 1089, 1290, 1110, 1290, 1017, 1272, 1014, 1100, 1089, 1171, - /* 230 */ 1100, 1100, 1072, 1065, 1301, 1293, 1080, 1080, 1292, 1292, - /* 240 */ 1080, 1119, 1045, 1110, 1051, 1051, 1051, 1051, 1080, 991, - /* 250 */ 1110, 1119, 1045, 1045, 1110, 1080, 991, 1205, 1287, 1080, - /* 260 */ 1080, 991, 1180, 1080, 991, 1080, 991, 1180, 1043, 1043, - /* 270 */ 1043, 1032, 1180, 1043, 1017, 1043, 1032, 1043, 1043, 1093, - /* 280 */ 1088, 1093, 1088, 1093, 1088, 1093, 1088, 1080, 1080, 1301, - /* 290 */ 1180, 1184, 1184, 1180, 1105, 1094, 1103, 1101, 1110, 997, - /* 300 */ 1035, 1255, 1255, 1251, 1251, 1251, 1251, 1298, 1298, 1236, - /* 310 */ 1267, 1267, 1019, 1019, 1267, 1301, 1301, 1301, 1301, 1301, - /* 320 */ 1301, 1262, 1301, 1189, 1301, 1301, 1301, 1301, 1301, 1301, - /* 330 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 340 */ 1125, 1301, 975, 1233, 1301, 1301, 1232, 1301, 1301, 1301, - /* 350 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 360 */ 1301, 1301, 1301, 1301, 1301, 1289, 1301, 1301, 1301, 1301, - /* 370 */ 1301, 1301, 1204, 1203, 1301, 1301, 1301, 1301, 1301, 1301, - /* 380 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 390 */ 1301, 1301, 1301, 1301, 1301, 1301, 1057, 1301, 1301, 1301, - /* 400 */ 1276, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1102, 1301, - /* 410 */ 1095, 1301, 1280, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - /* 420 */ 1301, 1301, 1301, 1242, 1301, 1301, 1301, 1241, 1301, 1301, - /* 430 */ 1301, 1301, 1301, 1127, 1301, 1126, 1130, 1301, 985, 1301, + /* 0 */ 1281, 1271, 1271, 1271, 1203, 1203, 1203, 1203, 1271, 1096, + /* 10 */ 1125, 1125, 1255, 1332, 1332, 1332, 1332, 1332, 1332, 1202, + /* 20 */ 1332, 1332, 1332, 1332, 1271, 1100, 1131, 1332, 1332, 1332, + /* 30 */ 1332, 1204, 1205, 1332, 1332, 1332, 1254, 1256, 1141, 1140, + /* 40 */ 1139, 1138, 1237, 1112, 1136, 1129, 1133, 1204, 1198, 1199, + /* 50 */ 1197, 1201, 1205, 1332, 1132, 1167, 1182, 1166, 1332, 1332, + /* 60 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 70 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 80 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 90 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 100 */ 1332, 1332, 1332, 1332, 1176, 1181, 1188, 1180, 1177, 1169, + /* 110 */ 1168, 1170, 1171, 1332, 1019, 1067, 1332, 1332, 1332, 1172, + /* 120 */ 1332, 1173, 1185, 1184, 1183, 1262, 1289, 1288, 1332, 1332, + /* 130 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 140 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 150 */ 1332, 1332, 1332, 1332, 1332, 1281, 1271, 1025, 1025, 1332, + /* 160 */ 1271, 1271, 1271, 1271, 1271, 1271, 1267, 1100, 1091, 1332, + /* 170 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 180 */ 1259, 1257, 1332, 1218, 1332, 1332, 1332, 1332, 1332, 1332, + /* 190 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 200 */ 1332, 1332, 1332, 1332, 1096, 1332, 1332, 1332, 1332, 1332, + /* 210 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1283, 1332, 1232, + /* 220 */ 1096, 1096, 1096, 1098, 1080, 1090, 1004, 1135, 1114, 1114, + /* 230 */ 1321, 1135, 1321, 1042, 1303, 1039, 1125, 1114, 1200, 1125, + /* 240 */ 1125, 1097, 1090, 1332, 1324, 1105, 1105, 1323, 1323, 1105, + /* 250 */ 1146, 1070, 1135, 1076, 1076, 1076, 1076, 1105, 1016, 1135, + /* 260 */ 1146, 1070, 1070, 1135, 1105, 1016, 1236, 1318, 1105, 1105, + /* 270 */ 1016, 1211, 1105, 1016, 1105, 1016, 1211, 1068, 1068, 1068, + /* 280 */ 1057, 1211, 1068, 1042, 1068, 1057, 1068, 1068, 1118, 1113, + /* 290 */ 1118, 1113, 1118, 1113, 1118, 1113, 1105, 1206, 1105, 1332, + /* 300 */ 1211, 1215, 1215, 1211, 1130, 1119, 1128, 1126, 1135, 1022, + /* 310 */ 1060, 1286, 1286, 1282, 1282, 1282, 1282, 1329, 1329, 1267, + /* 320 */ 1298, 1298, 1044, 1044, 1298, 1332, 1332, 1332, 1332, 1332, + /* 330 */ 1332, 1293, 1332, 1220, 1332, 1332, 1332, 1332, 1332, 1332, + /* 340 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 350 */ 1332, 1332, 1152, 1332, 1000, 1264, 1332, 1332, 1263, 1332, + /* 360 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 370 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1320, + /* 380 */ 1332, 1332, 1332, 1332, 1332, 1332, 1235, 1234, 1332, 1332, + /* 390 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 400 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + /* 410 */ 1332, 1082, 1332, 1332, 1332, 1307, 1332, 1332, 1332, 1332, + /* 420 */ 1332, 1332, 1332, 1127, 1332, 1120, 1332, 1332, 1311, 1332, + /* 430 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1273, + /* 440 */ 1332, 1332, 1332, 1272, 1332, 1332, 1332, 1332, 1332, 1154, + /* 450 */ 1332, 1153, 1157, 1332, 1010, 1332, }; /********** End of lemon-generated parsing tables *****************************/ @@ -131674,9 +133781,9 @@ typedef struct yyStackEntry yyStackEntry; /* The state of the parser is completely contained in an instance of ** the following structure */ struct yyParser { - int yyidx; /* Index of top element in stack */ + yyStackEntry *yytos; /* Pointer to top element of the stack */ #ifdef YYTRACKMAXSTACKDEPTH - int yyidxMax; /* Maximum value of yyidx */ + int yyhwm; /* High-water mark of the stack */ #endif #ifndef YYNOERRORRECOVERY int yyerrcnt; /* Shifts left before out of the error */ @@ -131685,6 +133792,7 @@ struct yyParser { #if YYSTACKDEPTH<=0 int yystksz; /* Current side of the stack */ yyStackEntry *yystack; /* The parser's stack */ + yyStackEntry yystk0; /* First stack entry */ #else yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */ #endif @@ -131760,7 +133868,7 @@ static const char *const yyTokenName[] = { "VALUES", "DISTINCT", "DOT", "FROM", "JOIN", "USING", "ORDER", "GROUP", "HAVING", "LIMIT", "WHERE", "INTO", - "INTEGER", "FLOAT", "BLOB", "VARIABLE", + "FLOAT", "BLOB", "INTEGER", "VARIABLE", "CASE", "WHEN", "THEN", "ELSE", "INDEX", "ALTER", "ADD", "error", "input", "cmdlist", "ecmd", "explain", @@ -131783,13 +133891,13 @@ static const char *const yyTokenName[] = { "stl_prefix", "joinop", "indexed_opt", "on_opt", "using_opt", "idlist", "setlist", "insert_cmd", "idlist_opt", "likeop", "between_op", "in_op", - "case_operand", "case_exprlist", "case_else", "uniqueflag", - "collate", "nmnum", "trigger_decl", "trigger_cmd_list", - "trigger_time", "trigger_event", "foreach_clause", "when_clause", - "trigger_cmd", "trnm", "tridxby", "database_kw_opt", - "key_opt", "add_column_fullname", "kwcolumn_opt", "create_vtab", - "vtabarglist", "vtabarg", "vtabargtoken", "lp", - "anylist", "wqlist", + "paren_exprlist", "case_operand", "case_exprlist", "case_else", + "uniqueflag", "collate", "nmnum", "trigger_decl", + "trigger_cmd_list", "trigger_time", "trigger_event", "foreach_clause", + "when_clause", "trigger_cmd", "trnm", "tridxby", + "database_kw_opt", "key_opt", "add_column_fullname", "kwcolumn_opt", + "create_vtab", "vtabarglist", "vtabarg", "vtabargtoken", + "lp", "anylist", "wqlist", }; #endif /* NDEBUG */ @@ -131936,217 +134044,233 @@ static const char *const yyRuleName[] = { /* 136 */ "where_opt ::= WHERE expr", /* 137 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", /* 138 */ "setlist ::= setlist COMMA nm EQ expr", - /* 139 */ "setlist ::= nm EQ expr", - /* 140 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", - /* 141 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", - /* 142 */ "insert_cmd ::= INSERT orconf", - /* 143 */ "insert_cmd ::= REPLACE", - /* 144 */ "idlist_opt ::=", - /* 145 */ "idlist_opt ::= LP idlist RP", - /* 146 */ "idlist ::= idlist COMMA nm", - /* 147 */ "idlist ::= nm", - /* 148 */ "expr ::= LP expr RP", - /* 149 */ "term ::= NULL", - /* 150 */ "expr ::= ID|INDEXED", - /* 151 */ "expr ::= JOIN_KW", - /* 152 */ "expr ::= nm DOT nm", - /* 153 */ "expr ::= nm DOT nm DOT nm", - /* 154 */ "term ::= INTEGER|FLOAT|BLOB", - /* 155 */ "term ::= STRING", - /* 156 */ "expr ::= VARIABLE", - /* 157 */ "expr ::= expr COLLATE ID|STRING", - /* 158 */ "expr ::= CAST LP expr AS typetoken RP", - /* 159 */ "expr ::= ID|INDEXED LP distinct exprlist RP", - /* 160 */ "expr ::= ID|INDEXED LP STAR RP", - /* 161 */ "term ::= CTIME_KW", - /* 162 */ "expr ::= expr AND expr", - /* 163 */ "expr ::= expr OR expr", - /* 164 */ "expr ::= expr LT|GT|GE|LE expr", - /* 165 */ "expr ::= expr EQ|NE expr", - /* 166 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", - /* 167 */ "expr ::= expr PLUS|MINUS expr", - /* 168 */ "expr ::= expr STAR|SLASH|REM expr", - /* 169 */ "expr ::= expr CONCAT expr", - /* 170 */ "likeop ::= LIKE_KW|MATCH", - /* 171 */ "likeop ::= NOT LIKE_KW|MATCH", - /* 172 */ "expr ::= expr likeop expr", - /* 173 */ "expr ::= expr likeop expr ESCAPE expr", - /* 174 */ "expr ::= expr ISNULL|NOTNULL", - /* 175 */ "expr ::= expr NOT NULL", - /* 176 */ "expr ::= expr IS expr", - /* 177 */ "expr ::= expr IS NOT expr", - /* 178 */ "expr ::= NOT expr", - /* 179 */ "expr ::= BITNOT expr", - /* 180 */ "expr ::= MINUS expr", - /* 181 */ "expr ::= PLUS expr", - /* 182 */ "between_op ::= BETWEEN", - /* 183 */ "between_op ::= NOT BETWEEN", - /* 184 */ "expr ::= expr between_op expr AND expr", - /* 185 */ "in_op ::= IN", - /* 186 */ "in_op ::= NOT IN", - /* 187 */ "expr ::= expr in_op LP exprlist RP", - /* 188 */ "expr ::= LP select RP", - /* 189 */ "expr ::= expr in_op LP select RP", - /* 190 */ "expr ::= expr in_op nm dbnm", - /* 191 */ "expr ::= EXISTS LP select RP", - /* 192 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 193 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 194 */ "case_exprlist ::= WHEN expr THEN expr", - /* 195 */ "case_else ::= ELSE expr", - /* 196 */ "case_else ::=", - /* 197 */ "case_operand ::= expr", - /* 198 */ "case_operand ::=", - /* 199 */ "exprlist ::=", - /* 200 */ "nexprlist ::= nexprlist COMMA expr", - /* 201 */ "nexprlist ::= expr", - /* 202 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", - /* 203 */ "uniqueflag ::= UNIQUE", - /* 204 */ "uniqueflag ::=", - /* 205 */ "eidlist_opt ::=", - /* 206 */ "eidlist_opt ::= LP eidlist RP", - /* 207 */ "eidlist ::= eidlist COMMA nm collate sortorder", - /* 208 */ "eidlist ::= nm collate sortorder", - /* 209 */ "collate ::=", - /* 210 */ "collate ::= COLLATE ID|STRING", - /* 211 */ "cmd ::= DROP INDEX ifexists fullname", - /* 212 */ "cmd ::= VACUUM", - /* 213 */ "cmd ::= VACUUM nm", - /* 214 */ "cmd ::= PRAGMA nm dbnm", - /* 215 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 216 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 217 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 218 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 219 */ "plus_num ::= PLUS INTEGER|FLOAT", - /* 220 */ "minus_num ::= MINUS INTEGER|FLOAT", - /* 221 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", - /* 222 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 223 */ "trigger_time ::= BEFORE", - /* 224 */ "trigger_time ::= AFTER", - /* 225 */ "trigger_time ::= INSTEAD OF", - /* 226 */ "trigger_time ::=", - /* 227 */ "trigger_event ::= DELETE|INSERT", - /* 228 */ "trigger_event ::= UPDATE", - /* 229 */ "trigger_event ::= UPDATE OF idlist", - /* 230 */ "when_clause ::=", - /* 231 */ "when_clause ::= WHEN expr", - /* 232 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 233 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 234 */ "trnm ::= nm DOT nm", - /* 235 */ "tridxby ::= INDEXED BY nm", - /* 236 */ "tridxby ::= NOT INDEXED", - /* 237 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", - /* 238 */ "trigger_cmd ::= insert_cmd INTO trnm idlist_opt select", - /* 239 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", - /* 240 */ "trigger_cmd ::= select", - /* 241 */ "expr ::= RAISE LP IGNORE RP", - /* 242 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 243 */ "raisetype ::= ROLLBACK", - /* 244 */ "raisetype ::= ABORT", - /* 245 */ "raisetype ::= FAIL", - /* 246 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 247 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 248 */ "cmd ::= DETACH database_kw_opt expr", - /* 249 */ "key_opt ::=", - /* 250 */ "key_opt ::= KEY expr", - /* 251 */ "cmd ::= REINDEX", - /* 252 */ "cmd ::= REINDEX nm dbnm", - /* 253 */ "cmd ::= ANALYZE", - /* 254 */ "cmd ::= ANALYZE nm dbnm", - /* 255 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 256 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", - /* 257 */ "add_column_fullname ::= fullname", - /* 258 */ "cmd ::= create_vtab", - /* 259 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 260 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 261 */ "vtabarg ::=", - /* 262 */ "vtabargtoken ::= ANY", - /* 263 */ "vtabargtoken ::= lp anylist RP", - /* 264 */ "lp ::= LP", - /* 265 */ "with ::=", - /* 266 */ "with ::= WITH wqlist", - /* 267 */ "with ::= WITH RECURSIVE wqlist", - /* 268 */ "wqlist ::= nm eidlist_opt AS LP select RP", - /* 269 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", - /* 270 */ "input ::= cmdlist", - /* 271 */ "cmdlist ::= cmdlist ecmd", - /* 272 */ "cmdlist ::= ecmd", - /* 273 */ "ecmd ::= SEMI", - /* 274 */ "ecmd ::= explain cmdx SEMI", - /* 275 */ "explain ::=", - /* 276 */ "trans_opt ::=", - /* 277 */ "trans_opt ::= TRANSACTION", - /* 278 */ "trans_opt ::= TRANSACTION nm", - /* 279 */ "savepoint_opt ::= SAVEPOINT", - /* 280 */ "savepoint_opt ::=", - /* 281 */ "cmd ::= create_table create_table_args", - /* 282 */ "columnlist ::= columnlist COMMA columnname carglist", - /* 283 */ "columnlist ::= columnname carglist", - /* 284 */ "nm ::= ID|INDEXED", - /* 285 */ "nm ::= STRING", - /* 286 */ "nm ::= JOIN_KW", - /* 287 */ "typetoken ::= typename", - /* 288 */ "typename ::= ID|STRING", - /* 289 */ "signed ::= plus_num", - /* 290 */ "signed ::= minus_num", - /* 291 */ "carglist ::= carglist ccons", - /* 292 */ "carglist ::=", - /* 293 */ "ccons ::= NULL onconf", - /* 294 */ "conslist_opt ::= COMMA conslist", - /* 295 */ "conslist ::= conslist tconscomma tcons", - /* 296 */ "conslist ::= tcons", - /* 297 */ "tconscomma ::=", - /* 298 */ "defer_subclause_opt ::= defer_subclause", - /* 299 */ "resolvetype ::= raisetype", - /* 300 */ "selectnowith ::= oneselect", - /* 301 */ "oneselect ::= values", - /* 302 */ "sclp ::= selcollist COMMA", - /* 303 */ "as ::= ID|STRING", - /* 304 */ "expr ::= term", - /* 305 */ "exprlist ::= nexprlist", - /* 306 */ "nmnum ::= plus_num", - /* 307 */ "nmnum ::= nm", - /* 308 */ "nmnum ::= ON", - /* 309 */ "nmnum ::= DELETE", - /* 310 */ "nmnum ::= DEFAULT", - /* 311 */ "plus_num ::= INTEGER|FLOAT", - /* 312 */ "foreach_clause ::=", - /* 313 */ "foreach_clause ::= FOR EACH ROW", - /* 314 */ "trnm ::= nm", - /* 315 */ "tridxby ::=", - /* 316 */ "database_kw_opt ::= DATABASE", - /* 317 */ "database_kw_opt ::=", - /* 318 */ "kwcolumn_opt ::=", - /* 319 */ "kwcolumn_opt ::= COLUMNKW", - /* 320 */ "vtabarglist ::= vtabarg", - /* 321 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 322 */ "vtabarg ::= vtabarg vtabargtoken", - /* 323 */ "anylist ::=", - /* 324 */ "anylist ::= anylist LP anylist RP", - /* 325 */ "anylist ::= anylist ANY", + /* 139 */ "setlist ::= setlist COMMA LP idlist RP EQ expr", + /* 140 */ "setlist ::= nm EQ expr", + /* 141 */ "setlist ::= LP idlist RP EQ expr", + /* 142 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", + /* 143 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", + /* 144 */ "insert_cmd ::= INSERT orconf", + /* 145 */ "insert_cmd ::= REPLACE", + /* 146 */ "idlist_opt ::=", + /* 147 */ "idlist_opt ::= LP idlist RP", + /* 148 */ "idlist ::= idlist COMMA nm", + /* 149 */ "idlist ::= nm", + /* 150 */ "expr ::= LP expr RP", + /* 151 */ "term ::= NULL", + /* 152 */ "expr ::= ID|INDEXED", + /* 153 */ "expr ::= JOIN_KW", + /* 154 */ "expr ::= nm DOT nm", + /* 155 */ "expr ::= nm DOT nm DOT nm", + /* 156 */ "term ::= FLOAT|BLOB", + /* 157 */ "term ::= STRING", + /* 158 */ "term ::= INTEGER", + /* 159 */ "expr ::= VARIABLE", + /* 160 */ "expr ::= expr COLLATE ID|STRING", + /* 161 */ "expr ::= CAST LP expr AS typetoken RP", + /* 162 */ "expr ::= ID|INDEXED LP distinct exprlist RP", + /* 163 */ "expr ::= ID|INDEXED LP STAR RP", + /* 164 */ "term ::= CTIME_KW", + /* 165 */ "expr ::= LP nexprlist COMMA expr RP", + /* 166 */ "expr ::= expr AND expr", + /* 167 */ "expr ::= expr OR expr", + /* 168 */ "expr ::= expr LT|GT|GE|LE expr", + /* 169 */ "expr ::= expr EQ|NE expr", + /* 170 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", + /* 171 */ "expr ::= expr PLUS|MINUS expr", + /* 172 */ "expr ::= expr STAR|SLASH|REM expr", + /* 173 */ "expr ::= expr CONCAT expr", + /* 174 */ "likeop ::= LIKE_KW|MATCH", + /* 175 */ "likeop ::= NOT LIKE_KW|MATCH", + /* 176 */ "expr ::= expr likeop expr", + /* 177 */ "expr ::= expr likeop expr ESCAPE expr", + /* 178 */ "expr ::= expr ISNULL|NOTNULL", + /* 179 */ "expr ::= expr NOT NULL", + /* 180 */ "expr ::= expr IS expr", + /* 181 */ "expr ::= expr IS NOT expr", + /* 182 */ "expr ::= NOT expr", + /* 183 */ "expr ::= BITNOT expr", + /* 184 */ "expr ::= MINUS expr", + /* 185 */ "expr ::= PLUS expr", + /* 186 */ "between_op ::= BETWEEN", + /* 187 */ "between_op ::= NOT BETWEEN", + /* 188 */ "expr ::= expr between_op expr AND expr", + /* 189 */ "in_op ::= IN", + /* 190 */ "in_op ::= NOT IN", + /* 191 */ "expr ::= expr in_op LP exprlist RP", + /* 192 */ "expr ::= LP select RP", + /* 193 */ "expr ::= expr in_op LP select RP", + /* 194 */ "expr ::= expr in_op nm dbnm paren_exprlist", + /* 195 */ "expr ::= EXISTS LP select RP", + /* 196 */ "expr ::= CASE case_operand case_exprlist case_else END", + /* 197 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 198 */ "case_exprlist ::= WHEN expr THEN expr", + /* 199 */ "case_else ::= ELSE expr", + /* 200 */ "case_else ::=", + /* 201 */ "case_operand ::= expr", + /* 202 */ "case_operand ::=", + /* 203 */ "exprlist ::=", + /* 204 */ "nexprlist ::= nexprlist COMMA expr", + /* 205 */ "nexprlist ::= expr", + /* 206 */ "paren_exprlist ::=", + /* 207 */ "paren_exprlist ::= LP exprlist RP", + /* 208 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", + /* 209 */ "uniqueflag ::= UNIQUE", + /* 210 */ "uniqueflag ::=", + /* 211 */ "eidlist_opt ::=", + /* 212 */ "eidlist_opt ::= LP eidlist RP", + /* 213 */ "eidlist ::= eidlist COMMA nm collate sortorder", + /* 214 */ "eidlist ::= nm collate sortorder", + /* 215 */ "collate ::=", + /* 216 */ "collate ::= COLLATE ID|STRING", + /* 217 */ "cmd ::= DROP INDEX ifexists fullname", + /* 218 */ "cmd ::= VACUUM", + /* 219 */ "cmd ::= VACUUM nm", + /* 220 */ "cmd ::= PRAGMA nm dbnm", + /* 221 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", + /* 222 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", + /* 223 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", + /* 224 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", + /* 225 */ "plus_num ::= PLUS INTEGER|FLOAT", + /* 226 */ "minus_num ::= MINUS INTEGER|FLOAT", + /* 227 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", + /* 228 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", + /* 229 */ "trigger_time ::= BEFORE", + /* 230 */ "trigger_time ::= AFTER", + /* 231 */ "trigger_time ::= INSTEAD OF", + /* 232 */ "trigger_time ::=", + /* 233 */ "trigger_event ::= DELETE|INSERT", + /* 234 */ "trigger_event ::= UPDATE", + /* 235 */ "trigger_event ::= UPDATE OF idlist", + /* 236 */ "when_clause ::=", + /* 237 */ "when_clause ::= WHEN expr", + /* 238 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 239 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 240 */ "trnm ::= nm DOT nm", + /* 241 */ "tridxby ::= INDEXED BY nm", + /* 242 */ "tridxby ::= NOT INDEXED", + /* 243 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", + /* 244 */ "trigger_cmd ::= insert_cmd INTO trnm idlist_opt select", + /* 245 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", + /* 246 */ "trigger_cmd ::= select", + /* 247 */ "expr ::= RAISE LP IGNORE RP", + /* 248 */ "expr ::= RAISE LP raisetype COMMA nm RP", + /* 249 */ "raisetype ::= ROLLBACK", + /* 250 */ "raisetype ::= ABORT", + /* 251 */ "raisetype ::= FAIL", + /* 252 */ "cmd ::= DROP TRIGGER ifexists fullname", + /* 253 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", + /* 254 */ "cmd ::= DETACH database_kw_opt expr", + /* 255 */ "key_opt ::=", + /* 256 */ "key_opt ::= KEY expr", + /* 257 */ "cmd ::= REINDEX", + /* 258 */ "cmd ::= REINDEX nm dbnm", + /* 259 */ "cmd ::= ANALYZE", + /* 260 */ "cmd ::= ANALYZE nm dbnm", + /* 261 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 262 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", + /* 263 */ "add_column_fullname ::= fullname", + /* 264 */ "cmd ::= create_vtab", + /* 265 */ "cmd ::= create_vtab LP vtabarglist RP", + /* 266 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", + /* 267 */ "vtabarg ::=", + /* 268 */ "vtabargtoken ::= ANY", + /* 269 */ "vtabargtoken ::= lp anylist RP", + /* 270 */ "lp ::= LP", + /* 271 */ "with ::=", + /* 272 */ "with ::= WITH wqlist", + /* 273 */ "with ::= WITH RECURSIVE wqlist", + /* 274 */ "wqlist ::= nm eidlist_opt AS LP select RP", + /* 275 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", + /* 276 */ "input ::= cmdlist", + /* 277 */ "cmdlist ::= cmdlist ecmd", + /* 278 */ "cmdlist ::= ecmd", + /* 279 */ "ecmd ::= SEMI", + /* 280 */ "ecmd ::= explain cmdx SEMI", + /* 281 */ "explain ::=", + /* 282 */ "trans_opt ::=", + /* 283 */ "trans_opt ::= TRANSACTION", + /* 284 */ "trans_opt ::= TRANSACTION nm", + /* 285 */ "savepoint_opt ::= SAVEPOINT", + /* 286 */ "savepoint_opt ::=", + /* 287 */ "cmd ::= create_table create_table_args", + /* 288 */ "columnlist ::= columnlist COMMA columnname carglist", + /* 289 */ "columnlist ::= columnname carglist", + /* 290 */ "nm ::= ID|INDEXED", + /* 291 */ "nm ::= STRING", + /* 292 */ "nm ::= JOIN_KW", + /* 293 */ "typetoken ::= typename", + /* 294 */ "typename ::= ID|STRING", + /* 295 */ "signed ::= plus_num", + /* 296 */ "signed ::= minus_num", + /* 297 */ "carglist ::= carglist ccons", + /* 298 */ "carglist ::=", + /* 299 */ "ccons ::= NULL onconf", + /* 300 */ "conslist_opt ::= COMMA conslist", + /* 301 */ "conslist ::= conslist tconscomma tcons", + /* 302 */ "conslist ::= tcons", + /* 303 */ "tconscomma ::=", + /* 304 */ "defer_subclause_opt ::= defer_subclause", + /* 305 */ "resolvetype ::= raisetype", + /* 306 */ "selectnowith ::= oneselect", + /* 307 */ "oneselect ::= values", + /* 308 */ "sclp ::= selcollist COMMA", + /* 309 */ "as ::= ID|STRING", + /* 310 */ "expr ::= term", + /* 311 */ "exprlist ::= nexprlist", + /* 312 */ "nmnum ::= plus_num", + /* 313 */ "nmnum ::= nm", + /* 314 */ "nmnum ::= ON", + /* 315 */ "nmnum ::= DELETE", + /* 316 */ "nmnum ::= DEFAULT", + /* 317 */ "plus_num ::= INTEGER|FLOAT", + /* 318 */ "foreach_clause ::=", + /* 319 */ "foreach_clause ::= FOR EACH ROW", + /* 320 */ "trnm ::= nm", + /* 321 */ "tridxby ::=", + /* 322 */ "database_kw_opt ::= DATABASE", + /* 323 */ "database_kw_opt ::=", + /* 324 */ "kwcolumn_opt ::=", + /* 325 */ "kwcolumn_opt ::= COLUMNKW", + /* 326 */ "vtabarglist ::= vtabarg", + /* 327 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 328 */ "vtabarg ::= vtabarg vtabargtoken", + /* 329 */ "anylist ::=", + /* 330 */ "anylist ::= anylist LP anylist RP", + /* 331 */ "anylist ::= anylist ANY", }; #endif /* NDEBUG */ #if YYSTACKDEPTH<=0 /* -** Try to increase the size of the parser stack. +** Try to increase the size of the parser stack. Return the number +** of errors. Return 0 on success. */ -static void yyGrowStack(yyParser *p){ +static int yyGrowStack(yyParser *p){ int newSize; + int idx; yyStackEntry *pNew; newSize = p->yystksz*2 + 100; - pNew = realloc(p->yystack, newSize*sizeof(pNew[0])); + idx = p->yytos ? (int)(p->yytos - p->yystack) : 0; + if( p->yystack==&p->yystk0 ){ + pNew = malloc(newSize*sizeof(pNew[0])); + if( pNew ) pNew[0] = p->yystk0; + }else{ + pNew = realloc(p->yystack, newSize*sizeof(pNew[0])); + } if( pNew ){ p->yystack = pNew; - p->yystksz = newSize; + p->yytos = &p->yystack[idx]; #ifndef NDEBUG if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sStack grows to %d entries!\n", - yyTracePrompt, p->yystksz); + fprintf(yyTraceFILE,"%sStack grows from %d to %d entries.\n", + yyTracePrompt, p->yystksz, newSize); } #endif + p->yystksz = newSize; } + return pNew==0; } #endif @@ -132175,15 +134299,24 @@ SQLITE_PRIVATE void *sqlite3ParserAlloc(void *(*mallocProc)(YYMALLOCARGTYPE)){ yyParser *pParser; pParser = (yyParser*)(*mallocProc)( (YYMALLOCARGTYPE)sizeof(yyParser) ); if( pParser ){ - pParser->yyidx = -1; #ifdef YYTRACKMAXSTACKDEPTH - pParser->yyidxMax = 0; + pParser->yyhwm = 0; #endif #if YYSTACKDEPTH<=0 + pParser->yytos = NULL; pParser->yystack = NULL; pParser->yystksz = 0; - yyGrowStack(pParser); + if( yyGrowStack(pParser) ){ + pParser->yystack = &pParser->yystk0; + pParser->yystksz = 1; + } +#endif +#ifndef YYNOERRORRECOVERY + pParser->yyerrcnt = -1; #endif + pParser->yytos = pParser->yystack; + pParser->yystack[0].stateno = 0; + pParser->yystack[0].major = 0; } return pParser; } @@ -132218,13 +134351,13 @@ static void yy_destructor( case 195: /* oneselect */ case 206: /* values */ { -sqlite3SelectDelete(pParse->db, (yypminor->yy159)); +sqlite3SelectDelete(pParse->db, (yypminor->yy243)); } break; case 172: /* term */ case 173: /* expr */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); +sqlite3ExprDelete(pParse->db, (yypminor->yy190).pExpr); } break; case 177: /* eidlist_opt */ @@ -132237,9 +134370,10 @@ sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); case 208: /* exprlist */ case 209: /* sclp */ case 218: /* setlist */ - case 225: /* case_exprlist */ + case 224: /* paren_exprlist */ + case 226: /* case_exprlist */ { -sqlite3ExprListDelete(pParse->db, (yypminor->yy442)); +sqlite3ExprListDelete(pParse->db, (yypminor->yy148)); } break; case 193: /* fullname */ @@ -132247,42 +134381,42 @@ sqlite3ExprListDelete(pParse->db, (yypminor->yy442)); case 211: /* seltablist */ case 212: /* stl_prefix */ { -sqlite3SrcListDelete(pParse->db, (yypminor->yy347)); +sqlite3SrcListDelete(pParse->db, (yypminor->yy185)); } break; case 196: /* with */ - case 249: /* wqlist */ + case 250: /* wqlist */ { -sqlite3WithDelete(pParse->db, (yypminor->yy331)); +sqlite3WithDelete(pParse->db, (yypminor->yy285)); } break; case 201: /* where_opt */ case 203: /* having_opt */ case 215: /* on_opt */ - case 224: /* case_operand */ - case 226: /* case_else */ - case 235: /* when_clause */ - case 240: /* key_opt */ + case 225: /* case_operand */ + case 227: /* case_else */ + case 236: /* when_clause */ + case 241: /* key_opt */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy122)); +sqlite3ExprDelete(pParse->db, (yypminor->yy72)); } break; case 216: /* using_opt */ case 217: /* idlist */ case 220: /* idlist_opt */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy180)); +sqlite3IdListDelete(pParse->db, (yypminor->yy254)); } break; - case 231: /* trigger_cmd_list */ - case 236: /* trigger_cmd */ + case 232: /* trigger_cmd_list */ + case 237: /* trigger_cmd */ { -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy327)); +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy145)); } break; - case 233: /* trigger_event */ + case 234: /* trigger_event */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy410).b); +sqlite3IdListDelete(pParse->db, (yypminor->yy332).b); } break; /********* End destructor definitions *****************************************/ @@ -132298,8 +134432,9 @@ sqlite3IdListDelete(pParse->db, (yypminor->yy410).b); */ static void yy_pop_parser_stack(yyParser *pParser){ yyStackEntry *yytos; - assert( pParser->yyidx>=0 ); - yytos = &pParser->yystack[pParser->yyidx--]; + assert( pParser->yytos!=0 ); + assert( pParser->yytos > pParser->yystack ); + yytos = pParser->yytos--; #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE,"%sPopping %s\n", @@ -132326,9 +134461,9 @@ SQLITE_PRIVATE void sqlite3ParserFree( #ifndef YYPARSEFREENEVERNULL if( pParser==0 ) return; #endif - while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser); + while( pParser->yytos>pParser->yystack ) yy_pop_parser_stack(pParser); #if YYSTACKDEPTH<=0 - free(pParser->yystack); + if( pParser->yystack!=&pParser->yystk0 ) free(pParser->yystack); #endif (*freeProc)((void*)pParser); } @@ -132339,7 +134474,7 @@ SQLITE_PRIVATE void sqlite3ParserFree( #ifdef YYTRACKMAXSTACKDEPTH SQLITE_PRIVATE int sqlite3ParserStackPeak(void *p){ yyParser *pParser = (yyParser*)p; - return pParser->yyidxMax; + return pParser->yyhwm; } #endif @@ -132352,56 +134487,53 @@ static unsigned int yy_find_shift_action( YYCODETYPE iLookAhead /* The look-ahead token */ ){ int i; - int stateno = pParser->yystack[pParser->yyidx].stateno; + int stateno = pParser->yytos->stateno; if( stateno>=YY_MIN_REDUCE ) return stateno; assert( stateno <= YY_SHIFT_COUNT ); do{ i = yy_shift_ofst[stateno]; - if( i==YY_SHIFT_USE_DFLT ) return yy_default[stateno]; assert( iLookAhead!=YYNOCODE ); i += iLookAhead; if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){ - if( iLookAhead>0 ){ #ifdef YYFALLBACK - YYCODETYPE iFallback; /* Fallback token */ - if( iLookAhead %s\n", - yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); - } -#endif - assert( yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ - iLookAhead = iFallback; - continue; + if( yyTraceFILE ){ + fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", + yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); } +#endif + assert( yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ + iLookAhead = iFallback; + continue; + } #endif #ifdef YYWILDCARD - { - int j = i - iLookAhead + YYWILDCARD; - if( + { + int j = i - iLookAhead + YYWILDCARD; + if( #if YY_SHIFT_MIN+YYWILDCARD<0 - j>=0 && + j>=0 && #endif #if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT - j0 + ){ #ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", - yyTracePrompt, yyTokenName[iLookAhead], - yyTokenName[YYWILDCARD]); - } -#endif /* NDEBUG */ - return yy_action[j]; + if( yyTraceFILE ){ + fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", + yyTracePrompt, yyTokenName[iLookAhead], + yyTokenName[YYWILDCARD]); } +#endif /* NDEBUG */ + return yy_action[j]; } -#endif /* YYWILDCARD */ } +#endif /* YYWILDCARD */ return yy_default[stateno]; }else{ return yy_action[i]; @@ -132445,13 +134577,13 @@ static int yy_find_reduce_action( */ static void yyStackOverflow(yyParser *yypParser){ sqlite3ParserARG_FETCH; - yypParser->yyidx--; + yypParser->yytos--; #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); } #endif - while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); + while( yypParser->yytos>yypParser->yystack ) yy_pop_parser_stack(yypParser); /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ @@ -132469,11 +134601,11 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState){ if( yyTraceFILE ){ if( yyNewStateyystack[yypParser->yyidx].major], + yyTracePrompt,yyTokenName[yypParser->yytos->major], yyNewState); }else{ fprintf(yyTraceFILE,"%sShift '%s'\n", - yyTracePrompt,yyTokenName[yypParser->yystack[yypParser->yyidx].major]); + yyTracePrompt,yyTokenName[yypParser->yytos->major]); } } } @@ -132491,27 +134623,30 @@ static void yy_shift( sqlite3ParserTOKENTYPE yyMinor /* The minor token to shift in */ ){ yyStackEntry *yytos; - yypParser->yyidx++; + yypParser->yytos++; #ifdef YYTRACKMAXSTACKDEPTH - if( yypParser->yyidx>yypParser->yyidxMax ){ - yypParser->yyidxMax = yypParser->yyidx; + if( (int)(yypParser->yytos - yypParser->yystack)>yypParser->yyhwm ){ + yypParser->yyhwm++; + assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack) ); } #endif #if YYSTACKDEPTH>0 - if( yypParser->yyidx>=YYSTACKDEPTH ){ + if( yypParser->yytos>=&yypParser->yystack[YYSTACKDEPTH] ){ yyStackOverflow(yypParser); return; } #else - if( yypParser->yyidx>=yypParser->yystksz ){ - yyGrowStack(yypParser); - if( yypParser->yyidx>=yypParser->yystksz ){ + if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz] ){ + if( yyGrowStack(yypParser) ){ yyStackOverflow(yypParser); return; } } #endif - yytos = &yypParser->yystack[yypParser->yyidx]; + if( yyNewState > YY_MAX_SHIFT ){ + yyNewState += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; + } + yytos = yypParser->yytos; yytos->stateno = (YYACTIONTYPE)yyNewState; yytos->major = (YYCODETYPE)yyMajor; yytos->minor.yy0 = yyMinor; @@ -132664,7 +134799,9 @@ static const struct { { 201, 2 }, { 149, 8 }, { 218, 5 }, + { 218, 7 }, { 218, 3 }, + { 218, 5 }, { 149, 6 }, { 149, 7 }, { 219, 2 }, @@ -132681,12 +134818,14 @@ static const struct { { 173, 5 }, { 172, 1 }, { 172, 1 }, + { 172, 1 }, { 173, 1 }, { 173, 3 }, { 173, 6 }, { 173, 5 }, { 173, 4 }, { 172, 1 }, + { 173, 5 }, { 173, 3 }, { 173, 3 }, { 173, 3 }, @@ -132715,27 +134854,29 @@ static const struct { { 173, 5 }, { 173, 3 }, { 173, 5 }, - { 173, 4 }, + { 173, 5 }, { 173, 4 }, { 173, 5 }, - { 225, 5 }, - { 225, 4 }, - { 226, 2 }, - { 226, 0 }, - { 224, 1 }, - { 224, 0 }, + { 226, 5 }, + { 226, 4 }, + { 227, 2 }, + { 227, 0 }, + { 225, 1 }, + { 225, 0 }, { 208, 0 }, { 207, 3 }, { 207, 1 }, + { 224, 0 }, + { 224, 3 }, { 149, 12 }, - { 227, 1 }, - { 227, 0 }, + { 228, 1 }, + { 228, 0 }, { 177, 0 }, { 177, 3 }, { 187, 5 }, { 187, 3 }, - { 228, 0 }, - { 228, 2 }, + { 229, 0 }, + { 229, 2 }, { 149, 4 }, { 149, 1 }, { 149, 2 }, @@ -132747,25 +134888,25 @@ static const struct { { 169, 2 }, { 170, 2 }, { 149, 5 }, - { 230, 11 }, - { 232, 1 }, - { 232, 1 }, - { 232, 2 }, - { 232, 0 }, + { 231, 11 }, { 233, 1 }, { 233, 1 }, - { 233, 3 }, - { 235, 0 }, - { 235, 2 }, - { 231, 3 }, - { 231, 2 }, - { 237, 3 }, + { 233, 2 }, + { 233, 0 }, + { 234, 1 }, + { 234, 1 }, + { 234, 3 }, + { 236, 0 }, + { 236, 2 }, + { 232, 3 }, + { 232, 2 }, { 238, 3 }, - { 238, 2 }, - { 236, 7 }, - { 236, 5 }, - { 236, 5 }, - { 236, 1 }, + { 239, 3 }, + { 239, 2 }, + { 237, 7 }, + { 237, 5 }, + { 237, 5 }, + { 237, 1 }, { 173, 4 }, { 173, 6 }, { 191, 1 }, @@ -132774,27 +134915,27 @@ static const struct { { 149, 4 }, { 149, 6 }, { 149, 3 }, - { 240, 0 }, - { 240, 2 }, + { 241, 0 }, + { 241, 2 }, { 149, 1 }, { 149, 3 }, { 149, 1 }, { 149, 3 }, { 149, 6 }, { 149, 7 }, - { 241, 1 }, + { 242, 1 }, { 149, 1 }, { 149, 4 }, - { 243, 8 }, - { 245, 0 }, - { 246, 1 }, - { 246, 3 }, + { 244, 8 }, + { 246, 0 }, { 247, 1 }, + { 247, 3 }, + { 248, 1 }, { 196, 0 }, { 196, 2 }, { 196, 3 }, - { 249, 6 }, - { 249, 8 }, + { 250, 6 }, + { 250, 8 }, { 144, 1 }, { 145, 2 }, { 145, 1 }, @@ -132831,26 +134972,26 @@ static const struct { { 210, 1 }, { 173, 1 }, { 208, 1 }, - { 229, 1 }, - { 229, 1 }, - { 229, 1 }, - { 229, 1 }, - { 229, 1 }, + { 230, 1 }, + { 230, 1 }, + { 230, 1 }, + { 230, 1 }, + { 230, 1 }, { 169, 1 }, - { 234, 0 }, - { 234, 3 }, - { 237, 1 }, - { 238, 0 }, - { 239, 1 }, + { 235, 0 }, + { 235, 3 }, + { 238, 1 }, { 239, 0 }, - { 242, 0 }, - { 242, 1 }, - { 244, 1 }, - { 244, 3 }, - { 245, 2 }, - { 248, 0 }, - { 248, 4 }, - { 248, 2 }, + { 240, 1 }, + { 240, 0 }, + { 243, 0 }, + { 243, 1 }, + { 245, 1 }, + { 245, 3 }, + { 246, 2 }, + { 249, 0 }, + { 249, 4 }, + { 249, 2 }, }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -132868,7 +135009,7 @@ static void yy_reduce( yyStackEntry *yymsp; /* The top of the parser's stack */ int yysize; /* Amount to pop the stack */ sqlite3ParserARG_FETCH; - yymsp = &yypParser->yystack[yypParser->yyidx]; + yymsp = yypParser->yytos; #ifndef NDEBUG if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ yysize = yyRuleInfo[yyruleno].nrhs; @@ -132882,22 +135023,23 @@ static void yy_reduce( ** enough on the stack to push the LHS value */ if( yyRuleInfo[yyruleno].nrhs==0 ){ #ifdef YYTRACKMAXSTACKDEPTH - if( yypParser->yyidx>yypParser->yyidxMax ){ - yypParser->yyidxMax = yypParser->yyidx; + if( (int)(yypParser->yytos - yypParser->yystack)>yypParser->yyhwm ){ + yypParser->yyhwm++; + assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack)); } #endif #if YYSTACKDEPTH>0 - if( yypParser->yyidx>=YYSTACKDEPTH-1 ){ + if( yypParser->yytos>=&yypParser->yystack[YYSTACKDEPTH-1] ){ yyStackOverflow(yypParser); return; } #else - if( yypParser->yyidx>=yypParser->yystksz-1 ){ - yyGrowStack(yypParser); - if( yypParser->yyidx>=yypParser->yystksz-1 ){ + if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ + if( yyGrowStack(yypParser) ){ yyStackOverflow(yypParser); return; } + yymsp = yypParser->yytos; } #endif } @@ -132923,15 +135065,15 @@ static void yy_reduce( { sqlite3FinishCoding(pParse); } break; case 3: /* cmd ::= BEGIN transtype trans_opt */ -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy392);} +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy194);} break; case 4: /* transtype ::= */ -{yymsp[1].minor.yy392 = TK_DEFERRED;} +{yymsp[1].minor.yy194 = TK_DEFERRED;} break; case 5: /* transtype ::= DEFERRED */ case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); -{yymsp[0].minor.yy392 = yymsp[0].major; /*A-overwrites-X*/} +{yymsp[0].minor.yy194 = yymsp[0].major; /*A-overwrites-X*/} break; case 8: /* cmd ::= COMMIT trans_opt */ case 9: /* cmd ::= END trans_opt */ yytestcase(yyruleno==9); @@ -132957,7 +135099,7 @@ static void yy_reduce( break; case 14: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy392,0,0,yymsp[-2].minor.yy392); + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy194,0,0,yymsp[-2].minor.yy194); } break; case 15: /* createkw ::= CREATE */ @@ -132971,33 +135113,33 @@ static void yy_reduce( case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); case 76: /* ifexists ::= */ yytestcase(yyruleno==76); case 90: /* distinct ::= */ yytestcase(yyruleno==90); - case 209: /* collate ::= */ yytestcase(yyruleno==209); -{yymsp[1].minor.yy392 = 0;} + case 215: /* collate ::= */ yytestcase(yyruleno==215); +{yymsp[1].minor.yy194 = 0;} break; case 17: /* ifnotexists ::= IF NOT EXISTS */ -{yymsp[-2].minor.yy392 = 1;} +{yymsp[-2].minor.yy194 = 1;} break; case 18: /* temp ::= TEMP */ case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); -{yymsp[0].minor.yy392 = 1;} +{yymsp[0].minor.yy194 = 1;} break; case 20: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ { - sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy392,0); + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy194,0); } break; case 21: /* create_table_args ::= AS select */ { - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy159); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy243); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy243); } break; case 23: /* table_options ::= WITHOUT nm */ { if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ - yymsp[-1].minor.yy392 = TF_WithoutRowid | TF_NoVisibleRowid; + yymsp[-1].minor.yy194 = TF_WithoutRowid | TF_NoVisibleRowid; }else{ - yymsp[-1].minor.yy392 = 0; + yymsp[-1].minor.yy194 = 0; sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); } } @@ -133029,17 +135171,17 @@ static void yy_reduce( break; case 30: /* ccons ::= DEFAULT term */ case 32: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==32); -{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} +{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy190);} break; case 31: /* ccons ::= DEFAULT LP expr RP */ -{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);} +{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy190);} break; case 33: /* ccons ::= DEFAULT MINUS term */ { ExprSpan v; - v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0); + v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy190.pExpr, 0, 0); v.zStart = yymsp[-1].minor.yy0.z; - v.zEnd = yymsp[0].minor.yy342.zEnd; + v.zEnd = yymsp[0].minor.yy190.zEnd; sqlite3AddDefaultValue(pParse,&v); } break; @@ -133051,147 +135193,149 @@ static void yy_reduce( } break; case 35: /* ccons ::= NOT NULL onconf */ -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);} +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy194);} break; case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[-2].minor.yy392);} +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy194,yymsp[0].minor.yy194,yymsp[-2].minor.yy194);} break; case 37: /* ccons ::= UNIQUE onconf */ -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);} +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy194,0,0,0,0, + SQLITE_IDXTYPE_UNIQUE);} break; case 38: /* ccons ::= CHECK LP expr RP */ -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);} +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy190.pExpr);} break; case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy392);} +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy148,yymsp[0].minor.yy194);} break; case 40: /* ccons ::= defer_subclause */ -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);} +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy194);} break; case 41: /* ccons ::= COLLATE ID|STRING */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; case 44: /* refargs ::= */ -{ yymsp[1].minor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */} +{ yymsp[1].minor.yy194 = OE_None*0x0101; /* EV: R-19803-45884 */} break; case 45: /* refargs ::= refargs refarg */ -{ yymsp[-1].minor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; } +{ yymsp[-1].minor.yy194 = (yymsp[-1].minor.yy194 & ~yymsp[0].minor.yy497.mask) | yymsp[0].minor.yy497.value; } break; case 46: /* refarg ::= MATCH nm */ -{ yymsp[-1].minor.yy207.value = 0; yymsp[-1].minor.yy207.mask = 0x000000; } +{ yymsp[-1].minor.yy497.value = 0; yymsp[-1].minor.yy497.mask = 0x000000; } break; case 47: /* refarg ::= ON INSERT refact */ -{ yymsp[-2].minor.yy207.value = 0; yymsp[-2].minor.yy207.mask = 0x000000; } +{ yymsp[-2].minor.yy497.value = 0; yymsp[-2].minor.yy497.mask = 0x000000; } break; case 48: /* refarg ::= ON DELETE refact */ -{ yymsp[-2].minor.yy207.value = yymsp[0].minor.yy392; yymsp[-2].minor.yy207.mask = 0x0000ff; } +{ yymsp[-2].minor.yy497.value = yymsp[0].minor.yy194; yymsp[-2].minor.yy497.mask = 0x0000ff; } break; case 49: /* refarg ::= ON UPDATE refact */ -{ yymsp[-2].minor.yy207.value = yymsp[0].minor.yy392<<8; yymsp[-2].minor.yy207.mask = 0x00ff00; } +{ yymsp[-2].minor.yy497.value = yymsp[0].minor.yy194<<8; yymsp[-2].minor.yy497.mask = 0x00ff00; } break; case 50: /* refact ::= SET NULL */ -{ yymsp[-1].minor.yy392 = OE_SetNull; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy194 = OE_SetNull; /* EV: R-33326-45252 */} break; case 51: /* refact ::= SET DEFAULT */ -{ yymsp[-1].minor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy194 = OE_SetDflt; /* EV: R-33326-45252 */} break; case 52: /* refact ::= CASCADE */ -{ yymsp[0].minor.yy392 = OE_Cascade; /* EV: R-33326-45252 */} +{ yymsp[0].minor.yy194 = OE_Cascade; /* EV: R-33326-45252 */} break; case 53: /* refact ::= RESTRICT */ -{ yymsp[0].minor.yy392 = OE_Restrict; /* EV: R-33326-45252 */} +{ yymsp[0].minor.yy194 = OE_Restrict; /* EV: R-33326-45252 */} break; case 54: /* refact ::= NO ACTION */ -{ yymsp[-1].minor.yy392 = OE_None; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy194 = OE_None; /* EV: R-33326-45252 */} break; case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ -{yymsp[-2].minor.yy392 = 0;} +{yymsp[-2].minor.yy194 = 0;} break; case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); - case 142: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==142); -{yymsp[-1].minor.yy392 = yymsp[0].minor.yy392;} + case 144: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==144); +{yymsp[-1].minor.yy194 = yymsp[0].minor.yy194;} break; case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); - case 183: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==183); - case 186: /* in_op ::= NOT IN */ yytestcase(yyruleno==186); - case 210: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==210); -{yymsp[-1].minor.yy392 = 1;} + case 187: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==187); + case 190: /* in_op ::= NOT IN */ yytestcase(yyruleno==190); + case 216: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==216); +{yymsp[-1].minor.yy194 = 1;} break; case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ -{yymsp[-1].minor.yy392 = 0;} +{yymsp[-1].minor.yy194 = 0;} break; case 61: /* tconscomma ::= COMMA */ {pParse->constraintName.n = 0;} break; case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy148,yymsp[0].minor.yy194,yymsp[-2].minor.yy194,0);} break; case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0,0,0);} +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy148,yymsp[0].minor.yy194,0,0,0,0, + SQLITE_IDXTYPE_UNIQUE);} break; case 65: /* tcons ::= CHECK LP expr RP onconf */ -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);} +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy190.pExpr);} break; case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ { - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy392); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392); + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy148, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy148, yymsp[-1].minor.yy194); + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy194); } break; case 68: /* onconf ::= */ case 70: /* orconf ::= */ yytestcase(yyruleno==70); -{yymsp[1].minor.yy392 = OE_Default;} +{yymsp[1].minor.yy194 = OE_Default;} break; case 69: /* onconf ::= ON CONFLICT resolvetype */ -{yymsp[-2].minor.yy392 = yymsp[0].minor.yy392;} +{yymsp[-2].minor.yy194 = yymsp[0].minor.yy194;} break; case 72: /* resolvetype ::= IGNORE */ -{yymsp[0].minor.yy392 = OE_Ignore;} +{yymsp[0].minor.yy194 = OE_Ignore;} break; case 73: /* resolvetype ::= REPLACE */ - case 143: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==143); -{yymsp[0].minor.yy392 = OE_Replace;} + case 145: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==145); +{yymsp[0].minor.yy194 = OE_Replace;} break; case 74: /* cmd ::= DROP TABLE ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392); + sqlite3DropTable(pParse, yymsp[0].minor.yy185, 0, yymsp[-1].minor.yy194); } break; case 77: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ { - sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[0].minor.yy159, yymsp[-7].minor.yy392, yymsp[-5].minor.yy392); + sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy148, yymsp[0].minor.yy243, yymsp[-7].minor.yy194, yymsp[-5].minor.yy194); } break; case 78: /* cmd ::= DROP VIEW ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392); + sqlite3DropTable(pParse, yymsp[0].minor.yy185, 1, yymsp[-1].minor.yy194); } break; case 79: /* cmd ::= select */ { SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; - sqlite3Select(pParse, yymsp[0].minor.yy159, &dest); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); + sqlite3Select(pParse, yymsp[0].minor.yy243, &dest); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy243); } break; case 80: /* select ::= with selectnowith */ { - Select *p = yymsp[0].minor.yy159; + Select *p = yymsp[0].minor.yy243; if( p ){ - p->pWith = yymsp[-1].minor.yy331; + p->pWith = yymsp[-1].minor.yy285; parserDoubleLinkSelect(pParse, p); }else{ - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy331); + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy285); } - yymsp[-1].minor.yy159 = p; /*A-overwrites-W*/ + yymsp[-1].minor.yy243 = p; /*A-overwrites-W*/ } break; case 81: /* selectnowith ::= selectnowith multiselect_op oneselect */ { - Select *pRhs = yymsp[0].minor.yy159; - Select *pLhs = yymsp[-2].minor.yy159; + Select *pRhs = yymsp[0].minor.yy243; + Select *pLhs = yymsp[-2].minor.yy243; if( pRhs && pRhs->pPrior ){ SrcList *pFrom; Token x; @@ -133201,30 +135345,30 @@ static void yy_reduce( pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0,0); } if( pRhs ){ - pRhs->op = (u8)yymsp[-1].minor.yy392; + pRhs->op = (u8)yymsp[-1].minor.yy194; pRhs->pPrior = pLhs; if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; pRhs->selFlags &= ~SF_MultiValue; - if( yymsp[-1].minor.yy392!=TK_ALL ) pParse->hasCompound = 1; + if( yymsp[-1].minor.yy194!=TK_ALL ) pParse->hasCompound = 1; }else{ sqlite3SelectDelete(pParse->db, pLhs); } - yymsp[-2].minor.yy159 = pRhs; + yymsp[-2].minor.yy243 = pRhs; } break; case 82: /* multiselect_op ::= UNION */ case 84: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==84); -{yymsp[0].minor.yy392 = yymsp[0].major; /*A-overwrites-OP*/} +{yymsp[0].minor.yy194 = yymsp[0].major; /*A-overwrites-OP*/} break; case 83: /* multiselect_op ::= UNION ALL */ -{yymsp[-1].minor.yy392 = TK_ALL;} +{yymsp[-1].minor.yy194 = TK_ALL;} break; case 85: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { #if SELECTTRACE_ENABLED Token s = yymsp[-8].minor.yy0; /*A-overwrites-S*/ #endif - yymsp[-8].minor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy347,yymsp[-4].minor.yy122,yymsp[-3].minor.yy442,yymsp[-2].minor.yy122,yymsp[-1].minor.yy442,yymsp[-7].minor.yy392,yymsp[0].minor.yy64.pLimit,yymsp[0].minor.yy64.pOffset); + yymsp[-8].minor.yy243 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy148,yymsp[-5].minor.yy185,yymsp[-4].minor.yy72,yymsp[-3].minor.yy148,yymsp[-2].minor.yy72,yymsp[-1].minor.yy148,yymsp[-7].minor.yy194,yymsp[0].minor.yy354.pLimit,yymsp[0].minor.yy354.pOffset); #if SELECTTRACE_ENABLED /* Populate the Select.zSelName[] string that is used to help with ** query planner debugging, to differentiate between multiple Select @@ -133235,17 +135379,17 @@ static void yy_reduce( ** comment to be the zSelName value. Otherwise, the label is #N where ** is an integer that is incremented with each SELECT statement seen. */ - if( yymsp[-8].minor.yy159!=0 ){ + if( yymsp[-8].minor.yy243!=0 ){ const char *z = s.z+6; int i; - sqlite3_snprintf(sizeof(yymsp[-8].minor.yy159->zSelName), yymsp[-8].minor.yy159->zSelName, "#%d", + sqlite3_snprintf(sizeof(yymsp[-8].minor.yy243->zSelName), yymsp[-8].minor.yy243->zSelName, "#%d", ++pParse->nSelect); while( z[0]==' ' ) z++; if( z[0]=='/' && z[1]=='*' ){ z += 2; while( z[0]==' ' ) z++; for(i=0; sqlite3Isalnum(z[i]); i++){} - sqlite3_snprintf(sizeof(yymsp[-8].minor.yy159->zSelName), yymsp[-8].minor.yy159->zSelName, "%.*s", i, z); + sqlite3_snprintf(sizeof(yymsp[-8].minor.yy243->zSelName), yymsp[-8].minor.yy243->zSelName, "%.*s", i, z); } } #endif /* SELECTRACE_ENABLED */ @@ -133253,118 +135397,119 @@ static void yy_reduce( break; case 86: /* values ::= VALUES LP nexprlist RP */ { - yymsp[-3].minor.yy159 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values,0,0); + yymsp[-3].minor.yy243 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy148,0,0,0,0,0,SF_Values,0,0); } break; case 87: /* values ::= values COMMA LP exprlist RP */ { - Select *pRight, *pLeft = yymsp[-4].minor.yy159; - pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values|SF_MultiValue,0,0); + Select *pRight, *pLeft = yymsp[-4].minor.yy243; + pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy148,0,0,0,0,0,SF_Values|SF_MultiValue,0,0); if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; if( pRight ){ pRight->op = TK_ALL; pRight->pPrior = pLeft; - yymsp[-4].minor.yy159 = pRight; + yymsp[-4].minor.yy243 = pRight; }else{ - yymsp[-4].minor.yy159 = pLeft; + yymsp[-4].minor.yy243 = pLeft; } } break; case 88: /* distinct ::= DISTINCT */ -{yymsp[0].minor.yy392 = SF_Distinct;} +{yymsp[0].minor.yy194 = SF_Distinct;} break; case 89: /* distinct ::= ALL */ -{yymsp[0].minor.yy392 = SF_All;} +{yymsp[0].minor.yy194 = SF_All;} break; case 91: /* sclp ::= */ case 119: /* orderby_opt ::= */ yytestcase(yyruleno==119); case 126: /* groupby_opt ::= */ yytestcase(yyruleno==126); - case 199: /* exprlist ::= */ yytestcase(yyruleno==199); - case 205: /* eidlist_opt ::= */ yytestcase(yyruleno==205); -{yymsp[1].minor.yy442 = 0;} + case 203: /* exprlist ::= */ yytestcase(yyruleno==203); + case 206: /* paren_exprlist ::= */ yytestcase(yyruleno==206); + case 211: /* eidlist_opt ::= */ yytestcase(yyruleno==211); +{yymsp[1].minor.yy148 = 0;} break; case 92: /* selcollist ::= sclp expr as */ { - yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yymsp[-1].minor.yy342.pExpr); - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-2].minor.yy442, &yymsp[0].minor.yy0, 1); - sqlite3ExprListSetSpan(pParse,yymsp[-2].minor.yy442,&yymsp[-1].minor.yy342); + yymsp[-2].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy148, yymsp[-1].minor.yy190.pExpr); + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-2].minor.yy148, &yymsp[0].minor.yy0, 1); + sqlite3ExprListSetSpan(pParse,yymsp[-2].minor.yy148,&yymsp[-1].minor.yy190); } break; case 93: /* selcollist ::= sclp STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); - yymsp[-1].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p); + yymsp[-1].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy148, p); } break; case 94: /* selcollist ::= sclp nm DOT STAR */ { - Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0, &yymsp[0].minor.yy0); + Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0, 0); Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); - yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot); + yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148, pDot); } break; case 95: /* as ::= AS nm */ case 106: /* dbnm ::= DOT nm */ yytestcase(yyruleno==106); - case 219: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==219); - case 220: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==220); + case 225: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==225); + case 226: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==226); {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} break; case 97: /* from ::= */ -{yymsp[1].minor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy347));} +{yymsp[1].minor.yy185 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy185));} break; case 98: /* from ::= FROM seltablist */ { - yymsp[-1].minor.yy347 = yymsp[0].minor.yy347; - sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy347); + yymsp[-1].minor.yy185 = yymsp[0].minor.yy185; + sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy185); } break; case 99: /* stl_prefix ::= seltablist joinop */ { - if( ALWAYS(yymsp[-1].minor.yy347 && yymsp[-1].minor.yy347->nSrc>0) ) yymsp[-1].minor.yy347->a[yymsp[-1].minor.yy347->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy392; + if( ALWAYS(yymsp[-1].minor.yy185 && yymsp[-1].minor.yy185->nSrc>0) ) yymsp[-1].minor.yy185->a[yymsp[-1].minor.yy185->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy194; } break; case 100: /* stl_prefix ::= */ -{yymsp[1].minor.yy347 = 0;} +{yymsp[1].minor.yy185 = 0;} break; case 101: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ { - yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); - sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy347, &yymsp[-2].minor.yy0); + yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); + sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy185, &yymsp[-2].minor.yy0); } break; case 102: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ { - yymsp[-8].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy347,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); - sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy347, yymsp[-4].minor.yy442); + yymsp[-8].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy185,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); + sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy185, yymsp[-4].minor.yy148); } break; case 103: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ { - yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy159,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); + yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy243,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); } break; case 104: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ { - if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy122==0 && yymsp[0].minor.yy180==0 ){ - yymsp[-6].minor.yy347 = yymsp[-4].minor.yy347; - }else if( yymsp[-4].minor.yy347->nSrc==1 ){ - yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); - if( yymsp[-6].minor.yy347 ){ - struct SrcList_item *pNew = &yymsp[-6].minor.yy347->a[yymsp[-6].minor.yy347->nSrc-1]; - struct SrcList_item *pOld = yymsp[-4].minor.yy347->a; + if( yymsp[-6].minor.yy185==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy72==0 && yymsp[0].minor.yy254==0 ){ + yymsp[-6].minor.yy185 = yymsp[-4].minor.yy185; + }else if( yymsp[-4].minor.yy185->nSrc==1 ){ + yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); + if( yymsp[-6].minor.yy185 ){ + struct SrcList_item *pNew = &yymsp[-6].minor.yy185->a[yymsp[-6].minor.yy185->nSrc-1]; + struct SrcList_item *pOld = yymsp[-4].minor.yy185->a; pNew->zName = pOld->zName; pNew->zDatabase = pOld->zDatabase; pNew->pSelect = pOld->pSelect; pOld->zName = pOld->zDatabase = 0; pOld->pSelect = 0; } - sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy347); + sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy185); }else{ Select *pSubquery; - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy347); - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,SF_NestedFrom,0,0); - yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); + sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy185); + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy185,0,0,0,0,SF_NestedFrom,0,0); + yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); } } break; @@ -133373,32 +135518,32 @@ static void yy_reduce( {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} break; case 107: /* fullname ::= nm dbnm */ -{yymsp[-1].minor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} +{yymsp[-1].minor.yy185 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} break; case 108: /* joinop ::= COMMA|JOIN */ -{ yymsp[0].minor.yy392 = JT_INNER; } +{ yymsp[0].minor.yy194 = JT_INNER; } break; case 109: /* joinop ::= JOIN_KW JOIN */ -{yymsp[-1].minor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} +{yymsp[-1].minor.yy194 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} break; case 110: /* joinop ::= JOIN_KW nm JOIN */ -{yymsp[-2].minor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} +{yymsp[-2].minor.yy194 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} break; case 111: /* joinop ::= JOIN_KW nm nm JOIN */ -{yymsp[-3].minor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} +{yymsp[-3].minor.yy194 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} break; case 112: /* on_opt ::= ON expr */ case 129: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==129); case 136: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==136); - case 195: /* case_else ::= ELSE expr */ yytestcase(yyruleno==195); -{yymsp[-1].minor.yy122 = yymsp[0].minor.yy342.pExpr;} + case 199: /* case_else ::= ELSE expr */ yytestcase(yyruleno==199); +{yymsp[-1].minor.yy72 = yymsp[0].minor.yy190.pExpr;} break; case 113: /* on_opt ::= */ case 128: /* having_opt ::= */ yytestcase(yyruleno==128); case 135: /* where_opt ::= */ yytestcase(yyruleno==135); - case 196: /* case_else ::= */ yytestcase(yyruleno==196); - case 198: /* case_operand ::= */ yytestcase(yyruleno==198); -{yymsp[1].minor.yy122 = 0;} + case 200: /* case_else ::= */ yytestcase(yyruleno==200); + case 202: /* case_operand ::= */ yytestcase(yyruleno==202); +{yymsp[1].minor.yy72 = 0;} break; case 115: /* indexed_opt ::= INDEXED BY nm */ {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} @@ -133407,277 +135552,314 @@ static void yy_reduce( {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} break; case 117: /* using_opt ::= USING LP idlist RP */ -{yymsp[-3].minor.yy180 = yymsp[-1].minor.yy180;} +{yymsp[-3].minor.yy254 = yymsp[-1].minor.yy254;} break; case 118: /* using_opt ::= */ - case 144: /* idlist_opt ::= */ yytestcase(yyruleno==144); -{yymsp[1].minor.yy180 = 0;} + case 146: /* idlist_opt ::= */ yytestcase(yyruleno==146); +{yymsp[1].minor.yy254 = 0;} break; case 120: /* orderby_opt ::= ORDER BY sortlist */ case 127: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==127); -{yymsp[-2].minor.yy442 = yymsp[0].minor.yy442;} +{yymsp[-2].minor.yy148 = yymsp[0].minor.yy148;} break; case 121: /* sortlist ::= sortlist COMMA expr sortorder */ { - yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy342.pExpr); - sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy442,yymsp[0].minor.yy392); + yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148,yymsp[-1].minor.yy190.pExpr); + sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy148,yymsp[0].minor.yy194); } break; case 122: /* sortlist ::= expr sortorder */ { - yymsp[-1].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr); /*A-overwrites-Y*/ - sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy442,yymsp[0].minor.yy392); + yymsp[-1].minor.yy148 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy190.pExpr); /*A-overwrites-Y*/ + sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy148,yymsp[0].minor.yy194); } break; case 123: /* sortorder ::= ASC */ -{yymsp[0].minor.yy392 = SQLITE_SO_ASC;} +{yymsp[0].minor.yy194 = SQLITE_SO_ASC;} break; case 124: /* sortorder ::= DESC */ -{yymsp[0].minor.yy392 = SQLITE_SO_DESC;} +{yymsp[0].minor.yy194 = SQLITE_SO_DESC;} break; case 125: /* sortorder ::= */ -{yymsp[1].minor.yy392 = SQLITE_SO_UNDEFINED;} +{yymsp[1].minor.yy194 = SQLITE_SO_UNDEFINED;} break; case 130: /* limit_opt ::= */ -{yymsp[1].minor.yy64.pLimit = 0; yymsp[1].minor.yy64.pOffset = 0;} +{yymsp[1].minor.yy354.pLimit = 0; yymsp[1].minor.yy354.pOffset = 0;} break; case 131: /* limit_opt ::= LIMIT expr */ -{yymsp[-1].minor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yymsp[-1].minor.yy64.pOffset = 0;} +{yymsp[-1].minor.yy354.pLimit = yymsp[0].minor.yy190.pExpr; yymsp[-1].minor.yy354.pOffset = 0;} break; case 132: /* limit_opt ::= LIMIT expr OFFSET expr */ -{yymsp[-3].minor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yymsp[-3].minor.yy64.pOffset = yymsp[0].minor.yy342.pExpr;} +{yymsp[-3].minor.yy354.pLimit = yymsp[-2].minor.yy190.pExpr; yymsp[-3].minor.yy354.pOffset = yymsp[0].minor.yy190.pExpr;} break; case 133: /* limit_opt ::= LIMIT expr COMMA expr */ -{yymsp[-3].minor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yymsp[-3].minor.yy64.pLimit = yymsp[0].minor.yy342.pExpr;} +{yymsp[-3].minor.yy354.pOffset = yymsp[-2].minor.yy190.pExpr; yymsp[-3].minor.yy354.pLimit = yymsp[0].minor.yy190.pExpr;} break; case 134: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy331, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122); + sqlite3WithPush(pParse, yymsp[-5].minor.yy285, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy185, &yymsp[-1].minor.yy0); + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy185,yymsp[0].minor.yy72); } break; case 137: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ { - sqlite3WithPush(pParse, yymsp[-7].minor.yy331, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].minor.yy122,yymsp[-5].minor.yy392); + sqlite3WithPush(pParse, yymsp[-7].minor.yy285, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy185, &yymsp[-3].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy148,"set list"); + sqlite3Update(pParse,yymsp[-4].minor.yy185,yymsp[-1].minor.yy148,yymsp[0].minor.yy72,yymsp[-5].minor.yy194); } break; case 138: /* setlist ::= setlist COMMA nm EQ expr */ { - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr); - sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, 1); + yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy148, yymsp[0].minor.yy190.pExpr); + sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy148, &yymsp[-2].minor.yy0, 1); +} + break; + case 139: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ +{ + yymsp[-6].minor.yy148 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy148, yymsp[-3].minor.yy254, yymsp[0].minor.yy190.pExpr); +} + break; + case 140: /* setlist ::= nm EQ expr */ +{ + yylhsminor.yy148 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy190.pExpr); + sqlite3ExprListSetName(pParse, yylhsminor.yy148, &yymsp[-2].minor.yy0, 1); } + yymsp[-2].minor.yy148 = yylhsminor.yy148; break; - case 139: /* setlist ::= nm EQ expr */ + case 141: /* setlist ::= LP idlist RP EQ expr */ { - yylhsminor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExpr); - sqlite3ExprListSetName(pParse, yylhsminor.yy442, &yymsp[-2].minor.yy0, 1); + yymsp[-4].minor.yy148 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy254, yymsp[0].minor.yy190.pExpr); } - yymsp[-2].minor.yy442 = yylhsminor.yy442; break; - case 140: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ + case 142: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy331, 1); - sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy159, yymsp[-1].minor.yy180, yymsp[-4].minor.yy392); + sqlite3WithPush(pParse, yymsp[-5].minor.yy285, 1); + sqlite3Insert(pParse, yymsp[-2].minor.yy185, yymsp[0].minor.yy243, yymsp[-1].minor.yy254, yymsp[-4].minor.yy194); } break; - case 141: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ + case 143: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ { - sqlite3WithPush(pParse, yymsp[-6].minor.yy331, 1); - sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, yymsp[-2].minor.yy180, yymsp[-5].minor.yy392); + sqlite3WithPush(pParse, yymsp[-6].minor.yy285, 1); + sqlite3Insert(pParse, yymsp[-3].minor.yy185, 0, yymsp[-2].minor.yy254, yymsp[-5].minor.yy194); } break; - case 145: /* idlist_opt ::= LP idlist RP */ -{yymsp[-2].minor.yy180 = yymsp[-1].minor.yy180;} + case 147: /* idlist_opt ::= LP idlist RP */ +{yymsp[-2].minor.yy254 = yymsp[-1].minor.yy254;} break; - case 146: /* idlist ::= idlist COMMA nm */ -{yymsp[-2].minor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp[0].minor.yy0);} + case 148: /* idlist ::= idlist COMMA nm */ +{yymsp[-2].minor.yy254 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy254,&yymsp[0].minor.yy0);} break; - case 147: /* idlist ::= nm */ -{yymsp[0].minor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} + case 149: /* idlist ::= nm */ +{yymsp[0].minor.yy254 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} break; - case 148: /* expr ::= LP expr RP */ -{spanSet(&yymsp[-2].minor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ yymsp[-2].minor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr;} + case 150: /* expr ::= LP expr RP */ +{spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ yymsp[-2].minor.yy190.pExpr = yymsp[-1].minor.yy190.pExpr;} break; - case 149: /* term ::= NULL */ - case 154: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==154); - case 155: /* term ::= STRING */ yytestcase(yyruleno==155); -{spanExpr(&yymsp[0].minor.yy342,pParse,yymsp[0].major,yymsp[0].minor.yy0);/*A-overwrites-X*/} + case 151: /* term ::= NULL */ + case 156: /* term ::= FLOAT|BLOB */ yytestcase(yyruleno==156); + case 157: /* term ::= STRING */ yytestcase(yyruleno==157); +{spanExpr(&yymsp[0].minor.yy190,pParse,yymsp[0].major,yymsp[0].minor.yy0);/*A-overwrites-X*/} break; - case 150: /* expr ::= ID|INDEXED */ - case 151: /* expr ::= JOIN_KW */ yytestcase(yyruleno==151); -{spanExpr(&yymsp[0].minor.yy342,pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} + case 152: /* expr ::= ID|INDEXED */ + case 153: /* expr ::= JOIN_KW */ yytestcase(yyruleno==153); +{spanExpr(&yymsp[0].minor.yy190,pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 152: /* expr ::= nm DOT nm */ + case 154: /* expr ::= nm DOT nm */ { - Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); - Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); - spanSet(&yymsp[-2].minor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-2].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); + Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); + Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); + spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-2].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); } break; - case 153: /* expr ::= nm DOT nm DOT nm */ + case 155: /* expr ::= nm DOT nm DOT nm */ { - Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); - Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); - Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); + Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); + Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); + Expr *temp3 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); - spanSet(&yymsp[-4].minor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); + spanSet(&yymsp[-4].minor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); +} + break; + case 158: /* term ::= INTEGER */ +{ + yylhsminor.yy190.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); + yylhsminor.yy190.zStart = yymsp[0].minor.yy0.z; + yylhsminor.yy190.zEnd = yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n; + if( yylhsminor.yy190.pExpr ) yylhsminor.yy190.pExpr->flags |= EP_Leaf; } + yymsp[0].minor.yy190 = yylhsminor.yy190; break; - case 156: /* expr ::= VARIABLE */ + case 159: /* expr ::= VARIABLE */ { if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ - spanExpr(&yymsp[0].minor.yy342, pParse, TK_VARIABLE, yymsp[0].minor.yy0); - sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy342.pExpr); + u32 n = yymsp[0].minor.yy0.n; + spanExpr(&yymsp[0].minor.yy190, pParse, TK_VARIABLE, yymsp[0].minor.yy0); + sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy190.pExpr, n); }else{ /* When doing a nested parse, one can include terms in an expression ** that look like this: #1 #2 ... These terms refer to registers ** in the virtual machine. #N is the N-th register. */ Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/ assert( t.n>=2 ); - spanSet(&yymsp[0].minor.yy342, &t, &t); + spanSet(&yymsp[0].minor.yy190, &t, &t); if( pParse->nested==0 ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); - yymsp[0].minor.yy342.pExpr = 0; + yymsp[0].minor.yy190.pExpr = 0; }else{ - yymsp[0].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &t); - if( yymsp[0].minor.yy342.pExpr ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy342.pExpr->iTable); + yymsp[0].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, 0); + if( yymsp[0].minor.yy190.pExpr ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy190.pExpr->iTable); } } } break; - case 157: /* expr ::= expr COLLATE ID|STRING */ + case 160: /* expr ::= expr COLLATE ID|STRING */ { - yymsp[-2].minor.yy342.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy342.pExpr, &yymsp[0].minor.yy0, 1); - yymsp[-2].minor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yymsp[-2].minor.yy190.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy190.pExpr, &yymsp[0].minor.yy0, 1); + yymsp[-2].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 158: /* expr ::= CAST LP expr AS typetoken RP */ + case 161: /* expr ::= CAST LP expr AS typetoken RP */ { - spanSet(&yymsp[-5].minor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-5].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342.pExpr, 0, &yymsp[-1].minor.yy0); + spanSet(&yymsp[-5].minor.yy190,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-5].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy190.pExpr, 0, &yymsp[-1].minor.yy0); } break; - case 159: /* expr ::= ID|INDEXED LP distinct exprlist RP */ + case 162: /* expr ::= ID|INDEXED LP distinct exprlist RP */ { - if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ + if( yymsp[-1].minor.yy148 && yymsp[-1].minor.yy148->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); } - yylhsminor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0); - spanSet(&yylhsminor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); - if( yymsp[-2].minor.yy392==SF_Distinct && yylhsminor.yy342.pExpr ){ - yylhsminor.yy342.pExpr->flags |= EP_Distinct; + yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy148, &yymsp[-4].minor.yy0); + spanSet(&yylhsminor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); + if( yymsp[-2].minor.yy194==SF_Distinct && yylhsminor.yy190.pExpr ){ + yylhsminor.yy190.pExpr->flags |= EP_Distinct; } } - yymsp[-4].minor.yy342 = yylhsminor.yy342; + yymsp[-4].minor.yy190 = yylhsminor.yy190; break; - case 160: /* expr ::= ID|INDEXED LP STAR RP */ + case 163: /* expr ::= ID|INDEXED LP STAR RP */ { - yylhsminor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); - spanSet(&yylhsminor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); + yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); + spanSet(&yylhsminor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); } - yymsp[-3].minor.yy342 = yylhsminor.yy342; + yymsp[-3].minor.yy190 = yylhsminor.yy190; break; - case 161: /* term ::= CTIME_KW */ + case 164: /* term ::= CTIME_KW */ { - yylhsminor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); - spanSet(&yylhsminor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); + yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); + spanSet(&yylhsminor.yy190, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); +} + yymsp[0].minor.yy190 = yylhsminor.yy190; + break; + case 165: /* expr ::= LP nexprlist COMMA expr RP */ +{ + ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy148, yymsp[-1].minor.yy190.pExpr); + yylhsminor.yy190.pExpr = sqlite3PExpr(pParse, TK_VECTOR, 0, 0, 0); + if( yylhsminor.yy190.pExpr ){ + yylhsminor.yy190.pExpr->x.pList = pList; + spanSet(&yylhsminor.yy190, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0); + }else{ + sqlite3ExprListDelete(pParse->db, pList); + } } - yymsp[0].minor.yy342 = yylhsminor.yy342; + yymsp[-4].minor.yy190 = yylhsminor.yy190; break; - case 162: /* expr ::= expr AND expr */ - case 163: /* expr ::= expr OR expr */ yytestcase(yyruleno==163); - case 164: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==164); - case 165: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==165); - case 166: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==166); - case 167: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==167); - case 168: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==168); - case 169: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==169); -{spanBinaryExpr(pParse,yymsp[-1].major,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342);} + case 166: /* expr ::= expr AND expr */ + case 167: /* expr ::= expr OR expr */ yytestcase(yyruleno==167); + case 168: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==168); + case 169: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==169); + case 170: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==170); + case 171: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==171); + case 172: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==172); + case 173: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==173); +{spanBinaryExpr(pParse,yymsp[-1].major,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy190);} break; - case 170: /* likeop ::= LIKE_KW|MATCH */ -{yymsp[0].minor.yy318.eOperator = yymsp[0].minor.yy0; yymsp[0].minor.yy318.bNot = 0;/*A-overwrites-X*/} + case 174: /* likeop ::= LIKE_KW|MATCH */ +{yymsp[0].minor.yy0=yymsp[0].minor.yy0;/*A-overwrites-X*/} break; - case 171: /* likeop ::= NOT LIKE_KW|MATCH */ -{yymsp[-1].minor.yy318.eOperator = yymsp[0].minor.yy0; yymsp[-1].minor.yy318.bNot = 1;} + case 175: /* likeop ::= NOT LIKE_KW|MATCH */ +{yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} break; - case 172: /* expr ::= expr likeop expr */ + case 176: /* expr ::= expr likeop expr */ { ExprList *pList; - pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr); - yymsp[-2].minor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy318.eOperator); - exprNot(pParse, yymsp[-1].minor.yy318.bNot, &yymsp[-2].minor.yy342); - yymsp[-2].minor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; - if( yymsp[-2].minor.yy342.pExpr ) yymsp[-2].minor.yy342.pExpr->flags |= EP_InfixFunc; + int bNot = yymsp[-1].minor.yy0.n & 0x80000000; + yymsp[-1].minor.yy0.n &= 0x7fffffff; + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy190.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy190.pExpr); + yymsp[-2].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0); + exprNot(pParse, bNot, &yymsp[-2].minor.yy190); + yymsp[-2].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; + if( yymsp[-2].minor.yy190.pExpr ) yymsp[-2].minor.yy190.pExpr->flags |= EP_InfixFunc; } break; - case 173: /* expr ::= expr likeop expr ESCAPE expr */ + case 177: /* expr ::= expr likeop expr ESCAPE expr */ { ExprList *pList; - pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); - yymsp[-4].minor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy318.eOperator); - exprNot(pParse, yymsp[-3].minor.yy318.bNot, &yymsp[-4].minor.yy342); - yymsp[-4].minor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; - if( yymsp[-4].minor.yy342.pExpr ) yymsp[-4].minor.yy342.pExpr->flags |= EP_InfixFunc; + int bNot = yymsp[-3].minor.yy0.n & 0x80000000; + yymsp[-3].minor.yy0.n &= 0x7fffffff; + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy190.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy190.pExpr); + yymsp[-4].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0); + exprNot(pParse, bNot, &yymsp[-4].minor.yy190); + yymsp[-4].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; + if( yymsp[-4].minor.yy190.pExpr ) yymsp[-4].minor.yy190.pExpr->flags |= EP_InfixFunc; } break; - case 174: /* expr ::= expr ISNULL|NOTNULL */ -{spanUnaryPostfix(pParse,yymsp[0].major,&yymsp[-1].minor.yy342,&yymsp[0].minor.yy0);} + case 178: /* expr ::= expr ISNULL|NOTNULL */ +{spanUnaryPostfix(pParse,yymsp[0].major,&yymsp[-1].minor.yy190,&yymsp[0].minor.yy0);} break; - case 175: /* expr ::= expr NOT NULL */ -{spanUnaryPostfix(pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy0);} + case 179: /* expr ::= expr NOT NULL */ +{spanUnaryPostfix(pParse,TK_NOTNULL,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy0);} break; - case 176: /* expr ::= expr IS expr */ + case 180: /* expr ::= expr IS expr */ { - spanBinaryExpr(pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yymsp[-2].minor.yy342.pExpr, TK_ISNULL); + spanBinaryExpr(pParse,TK_IS,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy190); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy190.pExpr, yymsp[-2].minor.yy190.pExpr, TK_ISNULL); } break; - case 177: /* expr ::= expr IS NOT expr */ + case 181: /* expr ::= expr IS NOT expr */ { - spanBinaryExpr(pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yymsp[0].minor.yy342); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yymsp[-3].minor.yy342.pExpr, TK_NOTNULL); + spanBinaryExpr(pParse,TK_ISNOT,&yymsp[-3].minor.yy190,&yymsp[0].minor.yy190); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy190.pExpr, yymsp[-3].minor.yy190.pExpr, TK_NOTNULL); } break; - case 178: /* expr ::= NOT expr */ - case 179: /* expr ::= BITNOT expr */ yytestcase(yyruleno==179); -{spanUnaryPrefix(&yymsp[-1].minor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} + case 182: /* expr ::= NOT expr */ + case 183: /* expr ::= BITNOT expr */ yytestcase(yyruleno==183); +{spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,yymsp[-1].major,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} break; - case 180: /* expr ::= MINUS expr */ -{spanUnaryPrefix(&yymsp[-1].minor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} + case 184: /* expr ::= MINUS expr */ +{spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,TK_UMINUS,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} break; - case 181: /* expr ::= PLUS expr */ -{spanUnaryPrefix(&yymsp[-1].minor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} + case 185: /* expr ::= PLUS expr */ +{spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,TK_UPLUS,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} break; - case 182: /* between_op ::= BETWEEN */ - case 185: /* in_op ::= IN */ yytestcase(yyruleno==185); -{yymsp[0].minor.yy392 = 0;} + case 186: /* between_op ::= BETWEEN */ + case 189: /* in_op ::= IN */ yytestcase(yyruleno==189); +{yymsp[0].minor.yy194 = 0;} break; - case 184: /* expr ::= expr between_op expr AND expr */ + case 188: /* expr ::= expr between_op expr AND expr */ { - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); - yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy342.pExpr, 0, 0); - if( yymsp[-4].minor.yy342.pExpr ){ - yymsp[-4].minor.yy342.pExpr->x.pList = pList; + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy190.pExpr); + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy190.pExpr, 0, 0); + if( yymsp[-4].minor.yy190.pExpr ){ + yymsp[-4].minor.yy190.pExpr->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } - exprNot(pParse, yymsp[-3].minor.yy392, &yymsp[-4].minor.yy342); - yymsp[-4].minor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; + exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); + yymsp[-4].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; } break; - case 187: /* expr ::= expr in_op LP exprlist RP */ + case 191: /* expr ::= expr in_op LP exprlist RP */ { - if( yymsp[-1].minor.yy442==0 ){ + if( yymsp[-1].minor.yy148==0 ){ /* Expressions of the form ** ** expr1 IN () @@ -133686,9 +135868,9 @@ static void yy_reduce( ** simplify to constants 0 (false) and 1 (true), respectively, ** regardless of the value of expr1. */ - sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy342.pExpr); - yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy392]); - }else if( yymsp[-1].minor.yy442->nExpr==1 ){ + sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy190.pExpr); + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy194]); + }else if( yymsp[-1].minor.yy148->nExpr==1 ){ /* Expressions of the form: ** ** expr1 IN (?1) @@ -133705,200 +135887,204 @@ static void yy_reduce( ** affinity or the collating sequence to use for comparison. Otherwise, ** the semantics would be subtly different from IN or NOT IN. */ - Expr *pRHS = yymsp[-1].minor.yy442->a[0].pExpr; - yymsp[-1].minor.yy442->a[0].pExpr = 0; - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); + Expr *pRHS = yymsp[-1].minor.yy148->a[0].pExpr; + yymsp[-1].minor.yy148->a[0].pExpr = 0; + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy148); /* pRHS cannot be NULL because a malloc error would have been detected ** before now and control would have never reached this point */ if( ALWAYS(pRHS) ){ pRHS->flags &= ~EP_Collate; pRHS->flags |= EP_Generic; } - yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy392 ? TK_NE : TK_EQ, yymsp[-4].minor.yy342.pExpr, pRHS, 0); + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy194 ? TK_NE : TK_EQ, yymsp[-4].minor.yy190.pExpr, pRHS, 0); }else{ - yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0); - if( yymsp[-4].minor.yy342.pExpr ){ - yymsp[-4].minor.yy342.pExpr->x.pList = yymsp[-1].minor.yy442; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy342.pExpr); + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); + if( yymsp[-4].minor.yy190.pExpr ){ + yymsp[-4].minor.yy190.pExpr->x.pList = yymsp[-1].minor.yy148; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy190.pExpr); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy148); } - exprNot(pParse, yymsp[-3].minor.yy392, &yymsp[-4].minor.yy342); + exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); } - yymsp[-4].minor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yymsp[-4].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 188: /* expr ::= LP select RP */ + case 192: /* expr ::= LP select RP */ { - spanSet(&yymsp[-2].minor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ - yymsp[-2].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy342.pExpr, yymsp[-1].minor.yy159); + spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ + yymsp[-2].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); + sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy190.pExpr, yymsp[-1].minor.yy243); } break; - case 189: /* expr ::= expr in_op LP select RP */ + case 193: /* expr ::= expr in_op LP select RP */ { - yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy342.pExpr, yymsp[-1].minor.yy159); - exprNot(pParse, yymsp[-3].minor.yy392, &yymsp[-4].minor.yy342); - yymsp[-4].minor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy190.pExpr, yymsp[-1].minor.yy243); + exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); + yymsp[-4].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 190: /* expr ::= expr in_op nm dbnm */ + case 194: /* expr ::= expr in_op nm dbnm paren_exprlist */ { - SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); + SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); - yymsp[-3].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342.pExpr, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-3].minor.yy342.pExpr, pSelect); - exprNot(pParse, yymsp[-2].minor.yy392, &yymsp[-3].minor.yy342); - yymsp[-3].minor.yy342.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; + if( yymsp[0].minor.yy148 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy148); + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy190.pExpr, pSelect); + exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); + yymsp[-4].minor.yy190.zEnd = yymsp[-1].minor.yy0.z ? &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n] : &yymsp[-2].minor.yy0.z[yymsp[-2].minor.yy0.n]; } break; - case 191: /* expr ::= EXISTS LP select RP */ + case 195: /* expr ::= EXISTS LP select RP */ { Expr *p; - spanSet(&yymsp[-3].minor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ - p = yymsp[-3].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); - sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy159); + spanSet(&yymsp[-3].minor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ + p = yymsp[-3].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); + sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy243); } break; - case 192: /* expr ::= CASE case_operand case_exprlist case_else END */ + case 196: /* expr ::= CASE case_operand case_exprlist case_else END */ { - spanSet(&yymsp[-4].minor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-C*/ - yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, 0, 0); - if( yymsp[-4].minor.yy342.pExpr ){ - yymsp[-4].minor.yy342.pExpr->x.pList = yymsp[-1].minor.yy122 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[-1].minor.yy122) : yymsp[-2].minor.yy442; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy342.pExpr); + spanSet(&yymsp[-4].minor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-C*/ + yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy72, 0, 0); + if( yymsp[-4].minor.yy190.pExpr ){ + yymsp[-4].minor.yy190.pExpr->x.pList = yymsp[-1].minor.yy72 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy148,yymsp[-1].minor.yy72) : yymsp[-2].minor.yy148; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy190.pExpr); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy442); - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy122); + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy148); + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy72); } } break; - case 193: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 197: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy342.pExpr); - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr); + yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy148, yymsp[-2].minor.yy190.pExpr); + yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy148, yymsp[0].minor.yy190.pExpr); } break; - case 194: /* case_exprlist ::= WHEN expr THEN expr */ + case 198: /* case_exprlist ::= WHEN expr THEN expr */ { - yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); - yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, yymsp[0].minor.yy342.pExpr); + yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); + yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148, yymsp[0].minor.yy190.pExpr); } break; - case 197: /* case_operand ::= expr */ -{yymsp[0].minor.yy122 = yymsp[0].minor.yy342.pExpr; /*A-overwrites-X*/} + case 201: /* case_operand ::= expr */ +{yymsp[0].minor.yy72 = yymsp[0].minor.yy190.pExpr; /*A-overwrites-X*/} break; - case 200: /* nexprlist ::= nexprlist COMMA expr */ -{yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy342.pExpr);} + case 204: /* nexprlist ::= nexprlist COMMA expr */ +{yymsp[-2].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy148,yymsp[0].minor.yy190.pExpr);} break; - case 201: /* nexprlist ::= expr */ -{yymsp[0].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr); /*A-overwrites-Y*/} + case 205: /* nexprlist ::= expr */ +{yymsp[0].minor.yy148 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy190.pExpr); /*A-overwrites-Y*/} break; - case 202: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ + case 207: /* paren_exprlist ::= LP exprlist RP */ + case 212: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==212); +{yymsp[-2].minor.yy148 = yymsp[-1].minor.yy148;} + break; + case 208: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ { sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, - sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy442, yymsp[-10].minor.yy392, - &yymsp[-11].minor.yy0, yymsp[0].minor.yy122, SQLITE_SO_ASC, yymsp[-8].minor.yy392); + sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy148, yymsp[-10].minor.yy194, + &yymsp[-11].minor.yy0, yymsp[0].minor.yy72, SQLITE_SO_ASC, yymsp[-8].minor.yy194, SQLITE_IDXTYPE_APPDEF); } break; - case 203: /* uniqueflag ::= UNIQUE */ - case 244: /* raisetype ::= ABORT */ yytestcase(yyruleno==244); -{yymsp[0].minor.yy392 = OE_Abort;} - break; - case 204: /* uniqueflag ::= */ -{yymsp[1].minor.yy392 = OE_None;} + case 209: /* uniqueflag ::= UNIQUE */ + case 250: /* raisetype ::= ABORT */ yytestcase(yyruleno==250); +{yymsp[0].minor.yy194 = OE_Abort;} break; - case 206: /* eidlist_opt ::= LP eidlist RP */ -{yymsp[-2].minor.yy442 = yymsp[-1].minor.yy442;} + case 210: /* uniqueflag ::= */ +{yymsp[1].minor.yy194 = OE_None;} break; - case 207: /* eidlist ::= eidlist COMMA nm collate sortorder */ + case 213: /* eidlist ::= eidlist COMMA nm collate sortorder */ { - yymsp[-4].minor.yy442 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy392, yymsp[0].minor.yy392); + yymsp[-4].minor.yy148 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy148, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy194, yymsp[0].minor.yy194); } break; - case 208: /* eidlist ::= nm collate sortorder */ + case 214: /* eidlist ::= nm collate sortorder */ { - yymsp[-2].minor.yy442 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy392, yymsp[0].minor.yy392); /*A-overwrites-Y*/ + yymsp[-2].minor.yy148 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy194, yymsp[0].minor.yy194); /*A-overwrites-Y*/ } break; - case 211: /* cmd ::= DROP INDEX ifexists fullname */ -{sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);} + case 217: /* cmd ::= DROP INDEX ifexists fullname */ +{sqlite3DropIndex(pParse, yymsp[0].minor.yy185, yymsp[-1].minor.yy194);} break; - case 212: /* cmd ::= VACUUM */ - case 213: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==213); -{sqlite3Vacuum(pParse);} + case 218: /* cmd ::= VACUUM */ +{sqlite3Vacuum(pParse,0);} break; - case 214: /* cmd ::= PRAGMA nm dbnm */ + case 219: /* cmd ::= VACUUM nm */ +{sqlite3Vacuum(pParse,&yymsp[0].minor.yy0);} + break; + case 220: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; - case 215: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 221: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; - case 216: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 222: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; - case 217: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ + case 223: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; - case 218: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ + case 224: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} break; - case 221: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + case 227: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { Token all; all.z = yymsp[-3].minor.yy0.z; all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all); + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy145, &all); } break; - case 222: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + case 228: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ { - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy392, yymsp[-4].minor.yy410.a, yymsp[-4].minor.yy410.b, yymsp[-2].minor.yy347, yymsp[0].minor.yy122, yymsp[-10].minor.yy392, yymsp[-8].minor.yy392); + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy194, yymsp[-4].minor.yy332.a, yymsp[-4].minor.yy332.b, yymsp[-2].minor.yy185, yymsp[0].minor.yy72, yymsp[-10].minor.yy194, yymsp[-8].minor.yy194); yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ } break; - case 223: /* trigger_time ::= BEFORE */ -{ yymsp[0].minor.yy392 = TK_BEFORE; } + case 229: /* trigger_time ::= BEFORE */ +{ yymsp[0].minor.yy194 = TK_BEFORE; } break; - case 224: /* trigger_time ::= AFTER */ -{ yymsp[0].minor.yy392 = TK_AFTER; } + case 230: /* trigger_time ::= AFTER */ +{ yymsp[0].minor.yy194 = TK_AFTER; } break; - case 225: /* trigger_time ::= INSTEAD OF */ -{ yymsp[-1].minor.yy392 = TK_INSTEAD;} + case 231: /* trigger_time ::= INSTEAD OF */ +{ yymsp[-1].minor.yy194 = TK_INSTEAD;} break; - case 226: /* trigger_time ::= */ -{ yymsp[1].minor.yy392 = TK_BEFORE; } + case 232: /* trigger_time ::= */ +{ yymsp[1].minor.yy194 = TK_BEFORE; } break; - case 227: /* trigger_event ::= DELETE|INSERT */ - case 228: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==228); -{yymsp[0].minor.yy410.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy410.b = 0;} + case 233: /* trigger_event ::= DELETE|INSERT */ + case 234: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==234); +{yymsp[0].minor.yy332.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy332.b = 0;} break; - case 229: /* trigger_event ::= UPDATE OF idlist */ -{yymsp[-2].minor.yy410.a = TK_UPDATE; yymsp[-2].minor.yy410.b = yymsp[0].minor.yy180;} + case 235: /* trigger_event ::= UPDATE OF idlist */ +{yymsp[-2].minor.yy332.a = TK_UPDATE; yymsp[-2].minor.yy332.b = yymsp[0].minor.yy254;} break; - case 230: /* when_clause ::= */ - case 249: /* key_opt ::= */ yytestcase(yyruleno==249); -{ yymsp[1].minor.yy122 = 0; } + case 236: /* when_clause ::= */ + case 255: /* key_opt ::= */ yytestcase(yyruleno==255); +{ yymsp[1].minor.yy72 = 0; } break; - case 231: /* when_clause ::= WHEN expr */ - case 250: /* key_opt ::= KEY expr */ yytestcase(yyruleno==250); -{ yymsp[-1].minor.yy122 = yymsp[0].minor.yy342.pExpr; } + case 237: /* when_clause ::= WHEN expr */ + case 256: /* key_opt ::= KEY expr */ yytestcase(yyruleno==256); +{ yymsp[-1].minor.yy72 = yymsp[0].minor.yy190.pExpr; } break; - case 232: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 238: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { - assert( yymsp[-2].minor.yy327!=0 ); - yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327; - yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327; + assert( yymsp[-2].minor.yy145!=0 ); + yymsp[-2].minor.yy145->pLast->pNext = yymsp[-1].minor.yy145; + yymsp[-2].minor.yy145->pLast = yymsp[-1].minor.yy145; } break; - case 233: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 239: /* trigger_cmd_list ::= trigger_cmd SEMI */ { - assert( yymsp[-1].minor.yy327!=0 ); - yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327; + assert( yymsp[-1].minor.yy145!=0 ); + yymsp[-1].minor.yy145->pLast = yymsp[-1].minor.yy145; } break; - case 234: /* trnm ::= nm DOT nm */ + case 240: /* trnm ::= nm DOT nm */ { yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, @@ -133906,195 +136092,195 @@ static void yy_reduce( "statements within triggers"); } break; - case 235: /* tridxby ::= INDEXED BY nm */ + case 241: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 236: /* tridxby ::= NOT INDEXED */ + case 242: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 237: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ -{yymsp[-6].minor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy442, yymsp[0].minor.yy122, yymsp[-5].minor.yy392);} + case 243: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ +{yymsp[-6].minor.yy145 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy148, yymsp[0].minor.yy72, yymsp[-5].minor.yy194);} break; - case 238: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */ -{yymsp[-4].minor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, yymsp[0].minor.yy159, yymsp[-4].minor.yy392);/*A-overwrites-R*/} + case 244: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */ +{yymsp[-4].minor.yy145 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy254, yymsp[0].minor.yy243, yymsp[-4].minor.yy194);/*A-overwrites-R*/} break; - case 239: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ -{yymsp[-4].minor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy122);} + case 245: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ +{yymsp[-4].minor.yy145 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy72);} break; - case 240: /* trigger_cmd ::= select */ -{yymsp[0].minor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); /*A-overwrites-X*/} + case 246: /* trigger_cmd ::= select */ +{yymsp[0].minor.yy145 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy243); /*A-overwrites-X*/} break; - case 241: /* expr ::= RAISE LP IGNORE RP */ + case 247: /* expr ::= RAISE LP IGNORE RP */ { - spanSet(&yymsp[-3].minor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-3].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); - if( yymsp[-3].minor.yy342.pExpr ){ - yymsp[-3].minor.yy342.pExpr->affinity = OE_Ignore; + spanSet(&yymsp[-3].minor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-3].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); + if( yymsp[-3].minor.yy190.pExpr ){ + yymsp[-3].minor.yy190.pExpr->affinity = OE_Ignore; } } break; - case 242: /* expr ::= RAISE LP raisetype COMMA nm RP */ + case 248: /* expr ::= RAISE LP raisetype COMMA nm RP */ { - spanSet(&yymsp[-5].minor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-5].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); - if( yymsp[-5].minor.yy342.pExpr ) { - yymsp[-5].minor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392; + spanSet(&yymsp[-5].minor.yy190,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-5].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); + if( yymsp[-5].minor.yy190.pExpr ) { + yymsp[-5].minor.yy190.pExpr->affinity = (char)yymsp[-3].minor.yy194; } } break; - case 243: /* raisetype ::= ROLLBACK */ -{yymsp[0].minor.yy392 = OE_Rollback;} + case 249: /* raisetype ::= ROLLBACK */ +{yymsp[0].minor.yy194 = OE_Rollback;} break; - case 245: /* raisetype ::= FAIL */ -{yymsp[0].minor.yy392 = OE_Fail;} + case 251: /* raisetype ::= FAIL */ +{yymsp[0].minor.yy194 = OE_Fail;} break; - case 246: /* cmd ::= DROP TRIGGER ifexists fullname */ + case 252: /* cmd ::= DROP TRIGGER ifexists fullname */ { - sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392); + sqlite3DropTrigger(pParse,yymsp[0].minor.yy185,yymsp[-1].minor.yy194); } break; - case 247: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + case 253: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ { - sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr, yymsp[0].minor.yy122); + sqlite3Attach(pParse, yymsp[-3].minor.yy190.pExpr, yymsp[-1].minor.yy190.pExpr, yymsp[0].minor.yy72); } break; - case 248: /* cmd ::= DETACH database_kw_opt expr */ + case 254: /* cmd ::= DETACH database_kw_opt expr */ { - sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr); + sqlite3Detach(pParse, yymsp[0].minor.yy190.pExpr); } break; - case 251: /* cmd ::= REINDEX */ + case 257: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; - case 252: /* cmd ::= REINDEX nm dbnm */ + case 258: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 253: /* cmd ::= ANALYZE */ + case 259: /* cmd ::= ANALYZE */ {sqlite3Analyze(pParse, 0, 0);} break; - case 254: /* cmd ::= ANALYZE nm dbnm */ + case 260: /* cmd ::= ANALYZE nm dbnm */ {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 255: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 261: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0); + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy185,&yymsp[0].minor.yy0); } break; - case 256: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + case 262: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ { yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); } break; - case 257: /* add_column_fullname ::= fullname */ + case 263: /* add_column_fullname ::= fullname */ { disableLookaside(pParse); - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347); + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy185); } break; - case 258: /* cmd ::= create_vtab */ + case 264: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 259: /* cmd ::= create_vtab LP vtabarglist RP */ + case 265: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 260: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 266: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ { - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy392); + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy194); } break; - case 261: /* vtabarg ::= */ + case 267: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 262: /* vtabargtoken ::= ANY */ - case 263: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==263); - case 264: /* lp ::= LP */ yytestcase(yyruleno==264); + case 268: /* vtabargtoken ::= ANY */ + case 269: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==269); + case 270: /* lp ::= LP */ yytestcase(yyruleno==270); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} break; - case 265: /* with ::= */ -{yymsp[1].minor.yy331 = 0;} + case 271: /* with ::= */ +{yymsp[1].minor.yy285 = 0;} break; - case 266: /* with ::= WITH wqlist */ -{ yymsp[-1].minor.yy331 = yymsp[0].minor.yy331; } + case 272: /* with ::= WITH wqlist */ +{ yymsp[-1].minor.yy285 = yymsp[0].minor.yy285; } break; - case 267: /* with ::= WITH RECURSIVE wqlist */ -{ yymsp[-2].minor.yy331 = yymsp[0].minor.yy331; } + case 273: /* with ::= WITH RECURSIVE wqlist */ +{ yymsp[-2].minor.yy285 = yymsp[0].minor.yy285; } break; - case 268: /* wqlist ::= nm eidlist_opt AS LP select RP */ + case 274: /* wqlist ::= nm eidlist_opt AS LP select RP */ { - yymsp[-5].minor.yy331 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy159); /*A-overwrites-X*/ + yymsp[-5].minor.yy285 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy148, yymsp[-1].minor.yy243); /*A-overwrites-X*/ } break; - case 269: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + case 275: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ { - yymsp[-7].minor.yy331 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy331, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy159); + yymsp[-7].minor.yy285 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy285, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy148, yymsp[-1].minor.yy243); } break; default: - /* (270) input ::= cmdlist */ yytestcase(yyruleno==270); - /* (271) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==271); - /* (272) cmdlist ::= ecmd */ yytestcase(yyruleno==272); - /* (273) ecmd ::= SEMI */ yytestcase(yyruleno==273); - /* (274) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==274); - /* (275) explain ::= */ yytestcase(yyruleno==275); - /* (276) trans_opt ::= */ yytestcase(yyruleno==276); - /* (277) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==277); - /* (278) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==278); - /* (279) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==279); - /* (280) savepoint_opt ::= */ yytestcase(yyruleno==280); - /* (281) cmd ::= create_table create_table_args */ yytestcase(yyruleno==281); - /* (282) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==282); - /* (283) columnlist ::= columnname carglist */ yytestcase(yyruleno==283); - /* (284) nm ::= ID|INDEXED */ yytestcase(yyruleno==284); - /* (285) nm ::= STRING */ yytestcase(yyruleno==285); - /* (286) nm ::= JOIN_KW */ yytestcase(yyruleno==286); - /* (287) typetoken ::= typename */ yytestcase(yyruleno==287); - /* (288) typename ::= ID|STRING */ yytestcase(yyruleno==288); - /* (289) signed ::= plus_num */ yytestcase(yyruleno==289); - /* (290) signed ::= minus_num */ yytestcase(yyruleno==290); - /* (291) carglist ::= carglist ccons */ yytestcase(yyruleno==291); - /* (292) carglist ::= */ yytestcase(yyruleno==292); - /* (293) ccons ::= NULL onconf */ yytestcase(yyruleno==293); - /* (294) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==294); - /* (295) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==295); - /* (296) conslist ::= tcons */ yytestcase(yyruleno==296); - /* (297) tconscomma ::= */ yytestcase(yyruleno==297); - /* (298) defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==298); - /* (299) resolvetype ::= raisetype */ yytestcase(yyruleno==299); - /* (300) selectnowith ::= oneselect */ yytestcase(yyruleno==300); - /* (301) oneselect ::= values */ yytestcase(yyruleno==301); - /* (302) sclp ::= selcollist COMMA */ yytestcase(yyruleno==302); - /* (303) as ::= ID|STRING */ yytestcase(yyruleno==303); - /* (304) expr ::= term */ yytestcase(yyruleno==304); - /* (305) exprlist ::= nexprlist */ yytestcase(yyruleno==305); - /* (306) nmnum ::= plus_num */ yytestcase(yyruleno==306); - /* (307) nmnum ::= nm */ yytestcase(yyruleno==307); - /* (308) nmnum ::= ON */ yytestcase(yyruleno==308); - /* (309) nmnum ::= DELETE */ yytestcase(yyruleno==309); - /* (310) nmnum ::= DEFAULT */ yytestcase(yyruleno==310); - /* (311) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==311); - /* (312) foreach_clause ::= */ yytestcase(yyruleno==312); - /* (313) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==313); - /* (314) trnm ::= nm */ yytestcase(yyruleno==314); - /* (315) tridxby ::= */ yytestcase(yyruleno==315); - /* (316) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==316); - /* (317) database_kw_opt ::= */ yytestcase(yyruleno==317); - /* (318) kwcolumn_opt ::= */ yytestcase(yyruleno==318); - /* (319) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==319); - /* (320) vtabarglist ::= vtabarg */ yytestcase(yyruleno==320); - /* (321) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==321); - /* (322) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==322); - /* (323) anylist ::= */ yytestcase(yyruleno==323); - /* (324) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==324); - /* (325) anylist ::= anylist ANY */ yytestcase(yyruleno==325); + /* (276) input ::= cmdlist */ yytestcase(yyruleno==276); + /* (277) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==277); + /* (278) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=278); + /* (279) ecmd ::= SEMI */ yytestcase(yyruleno==279); + /* (280) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==280); + /* (281) explain ::= */ yytestcase(yyruleno==281); + /* (282) trans_opt ::= */ yytestcase(yyruleno==282); + /* (283) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==283); + /* (284) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==284); + /* (285) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==285); + /* (286) savepoint_opt ::= */ yytestcase(yyruleno==286); + /* (287) cmd ::= create_table create_table_args */ yytestcase(yyruleno==287); + /* (288) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==288); + /* (289) columnlist ::= columnname carglist */ yytestcase(yyruleno==289); + /* (290) nm ::= ID|INDEXED */ yytestcase(yyruleno==290); + /* (291) nm ::= STRING */ yytestcase(yyruleno==291); + /* (292) nm ::= JOIN_KW */ yytestcase(yyruleno==292); + /* (293) typetoken ::= typename */ yytestcase(yyruleno==293); + /* (294) typename ::= ID|STRING */ yytestcase(yyruleno==294); + /* (295) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=295); + /* (296) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=296); + /* (297) carglist ::= carglist ccons */ yytestcase(yyruleno==297); + /* (298) carglist ::= */ yytestcase(yyruleno==298); + /* (299) ccons ::= NULL onconf */ yytestcase(yyruleno==299); + /* (300) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==300); + /* (301) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==301); + /* (302) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=302); + /* (303) tconscomma ::= */ yytestcase(yyruleno==303); + /* (304) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=304); + /* (305) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=305); + /* (306) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=306); + /* (307) oneselect ::= values */ yytestcase(yyruleno==307); + /* (308) sclp ::= selcollist COMMA */ yytestcase(yyruleno==308); + /* (309) as ::= ID|STRING */ yytestcase(yyruleno==309); + /* (310) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=310); + /* (311) exprlist ::= nexprlist */ yytestcase(yyruleno==311); + /* (312) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=312); + /* (313) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=313); + /* (314) nmnum ::= ON */ yytestcase(yyruleno==314); + /* (315) nmnum ::= DELETE */ yytestcase(yyruleno==315); + /* (316) nmnum ::= DEFAULT */ yytestcase(yyruleno==316); + /* (317) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==317); + /* (318) foreach_clause ::= */ yytestcase(yyruleno==318); + /* (319) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==319); + /* (320) trnm ::= nm */ yytestcase(yyruleno==320); + /* (321) tridxby ::= */ yytestcase(yyruleno==321); + /* (322) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==322); + /* (323) database_kw_opt ::= */ yytestcase(yyruleno==323); + /* (324) kwcolumn_opt ::= */ yytestcase(yyruleno==324); + /* (325) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==325); + /* (326) vtabarglist ::= vtabarg */ yytestcase(yyruleno==326); + /* (327) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==327); + /* (328) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==328); + /* (329) anylist ::= */ yytestcase(yyruleno==329); + /* (330) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==330); + /* (331) anylist ::= anylist ANY */ yytestcase(yyruleno==331); break; /********** End reduce actions ************************************************/ }; @@ -134103,15 +136289,17 @@ static void yy_reduce( yysize = yyRuleInfo[yyruleno].nrhs; yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto); if( yyact <= YY_MAX_SHIFTREDUCE ){ - if( yyact>YY_MAX_SHIFT ) yyact += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; - yypParser->yyidx -= yysize - 1; + if( yyact>YY_MAX_SHIFT ){ + yyact += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; + } yymsp -= yysize-1; + yypParser->yytos = yymsp; yymsp->stateno = (YYACTIONTYPE)yyact; yymsp->major = (YYCODETYPE)yygoto; yyTraceShift(yypParser, yyact); }else{ assert( yyact == YY_ACCEPT_ACTION ); - yypParser->yyidx -= yysize; + yypParser->yytos -= yysize; yy_accept(yypParser); } } @@ -134129,7 +136317,7 @@ static void yy_parse_failed( fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt); } #endif - while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); + while( yypParser->yytos>yypParser->yystack ) yy_pop_parser_stack(yypParser); /* Here code is inserted which will be executed whenever the ** parser fails */ /************ Begin %parse_failure code ***************************************/ @@ -134169,7 +136357,10 @@ static void yy_accept( fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt); } #endif - while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); +#ifndef YYNOERRORRECOVERY + yypParser->yyerrcnt = -1; +#endif + assert( yypParser->yytos==yypParser->yystack ); /* Here code is inserted which will be executed whenever the ** parser accepts */ /*********** Begin %parse_accept code *****************************************/ @@ -134212,28 +136403,8 @@ SQLITE_PRIVATE void sqlite3Parser( #endif yyParser *yypParser; /* The parser */ - /* (re)initialize the parser, if necessary */ yypParser = (yyParser*)yyp; - if( yypParser->yyidx<0 ){ -#if YYSTACKDEPTH<=0 - if( yypParser->yystksz <=0 ){ - yyStackOverflow(yypParser); - return; - } -#endif - yypParser->yyidx = 0; -#ifndef YYNOERRORRECOVERY - yypParser->yyerrcnt = -1; -#endif - yypParser->yystack[0].stateno = 0; - yypParser->yystack[0].major = 0; -#ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sInitialize. Empty stack. State 0\n", - yyTracePrompt); - } -#endif - } + assert( yypParser->yytos!=0 ); #if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) yyendofinput = (yymajor==0); #endif @@ -134248,7 +136419,6 @@ SQLITE_PRIVATE void sqlite3Parser( do{ yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor); if( yyact <= YY_MAX_SHIFTREDUCE ){ - if( yyact > YY_MAX_SHIFT ) yyact += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; yy_shift(yypParser,yyact,yymajor,yyminor); #ifndef YYNOERRORRECOVERY yypParser->yyerrcnt--; @@ -134290,7 +136460,7 @@ SQLITE_PRIVATE void sqlite3Parser( if( yypParser->yyerrcnt<0 ){ yy_syntax_error(yypParser,yymajor,yyminor); } - yymx = yypParser->yystack[yypParser->yyidx].major; + yymx = yypParser->yytos->major; if( yymx==YYERRORSYMBOL || yyerrorhit ){ #ifndef NDEBUG if( yyTraceFILE ){ @@ -134301,18 +136471,20 @@ SQLITE_PRIVATE void sqlite3Parser( yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion); yymajor = YYNOCODE; }else{ - while( - yypParser->yyidx >= 0 && - yymx != YYERRORSYMBOL && - (yyact = yy_find_reduce_action( - yypParser->yystack[yypParser->yyidx].stateno, + while( yypParser->yytos >= yypParser->yystack + && yymx != YYERRORSYMBOL + && (yyact = yy_find_reduce_action( + yypParser->yytos->stateno, YYERRORSYMBOL)) >= YY_MIN_REDUCE ){ yy_pop_parser_stack(yypParser); } - if( yypParser->yyidx < 0 || yymajor==0 ){ + if( yypParser->yytos < yypParser->yystack || yymajor==0 ){ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); yy_parse_failed(yypParser); +#ifndef YYNOERRORRECOVERY + yypParser->yyerrcnt = -1; +#endif yymajor = YYNOCODE; }else if( yymx!=YYERRORSYMBOL ){ yy_shift(yypParser,yyact,YYERRORSYMBOL,yyminor); @@ -134349,18 +136521,23 @@ SQLITE_PRIVATE void sqlite3Parser( yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); if( yyendofinput ){ yy_parse_failed(yypParser); +#ifndef YYNOERRORRECOVERY + yypParser->yyerrcnt = -1; +#endif } yymajor = YYNOCODE; #endif } - }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 ); + }while( yymajor!=YYNOCODE && yypParser->yytos>yypParser->yystack ); #ifndef NDEBUG if( yyTraceFILE ){ - int i; + yyStackEntry *i; + char cDiv = '['; fprintf(yyTraceFILE,"%sReturn. Stack=",yyTracePrompt); - for(i=1; i<=yypParser->yyidx; i++) - fprintf(yyTraceFILE,"%c%s", i==1 ? '[' : ' ', - yyTokenName[yypParser->yystack[i].major]); + for(i=&yypParser->yystack[1]; i<=yypParser->yytos; i++){ + fprintf(yyTraceFILE,"%c%s", cDiv, yyTokenName[i->major]); + cDiv = ' '; + } fprintf(yyTraceFILE,"]\n"); } #endif @@ -135162,14 +137339,26 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr assert( pParse->nVar==0 ); assert( pParse->nzVar==0 ); assert( pParse->azVar==0 ); - while( zSql[i]!=0 ){ + while( 1 ){ assert( i>=0 ); - pParse->sLastToken.z = &zSql[i]; - pParse->sLastToken.n = sqlite3GetToken((unsigned char*)&zSql[i],&tokenType); - i += pParse->sLastToken.n; - if( i>mxSqlLen ){ - pParse->rc = SQLITE_TOOBIG; - break; + if( zSql[i]!=0 ){ + pParse->sLastToken.z = &zSql[i]; + pParse->sLastToken.n = sqlite3GetToken((u8*)&zSql[i],&tokenType); + i += pParse->sLastToken.n; + if( i>mxSqlLen ){ + pParse->rc = SQLITE_TOOBIG; + break; + } + }else{ + /* Upon reaching the end of input, call the parser two more times + ** with tokens TK_SEMI and 0, in that order. */ + if( lastTokenParsed==TK_SEMI ){ + tokenType = 0; + }else if( lastTokenParsed==0 ){ + break; + }else{ + tokenType = TK_SEMI; + } } if( tokenType>=TK_SPACE ){ assert( tokenType==TK_SPACE || tokenType==TK_ILLEGAL ); @@ -135190,15 +137379,6 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr } assert( nErr==0 ); pParse->zTail = &zSql[i]; - if( pParse->rc==SQLITE_OK && db->mallocFailed==0 ){ - assert( zSql[i]==0 ); - if( lastTokenParsed!=TK_SEMI ){ - sqlite3Parser(pEngine, TK_SEMI, pParse->sLastToken, pParse); - } - if( pParse->rc==SQLITE_OK && db->mallocFailed==0 ){ - sqlite3Parser(pEngine, 0, pParse->sLastToken, pParse); - } - } #ifdef YYTRACKMAXSTACKDEPTH sqlite3_mutex_enter(sqlite3MallocMutex()); sqlite3StatusHighwater(SQLITE_STATUS_PARSER_STACK, @@ -135366,7 +137546,7 @@ SQLITE_PRIVATE const char sqlite3IsEbcdicIdChar[]; ** to recognize the end of a trigger can be omitted. All we have to do ** is look for a semicolon that is not part of an string or comment. */ -SQLITE_API int SQLITE_STDCALL sqlite3_complete(const char *zSql){ +SQLITE_API int sqlite3_complete(const char *zSql){ u8 state = 0; /* Current state, using numbers defined in header comment */ u8 token; /* Value of the next token */ @@ -135531,7 +137711,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_complete(const char *zSql){ ** above, except that the parameter is required to be UTF-16 encoded, not ** UTF-8. */ -SQLITE_API int SQLITE_STDCALL sqlite3_complete16(const void *zSql){ +SQLITE_API int sqlite3_complete16(const void *zSql){ sqlite3_value *pVal; char const *zSql8; int rc; @@ -135691,24 +137871,24 @@ SQLITE_API const char sqlite3_version[] = SQLITE_VERSION; /* IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns ** a pointer to the to the sqlite3_version[] string constant. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_libversion(void){ return sqlite3_version; } +SQLITE_API const char *sqlite3_libversion(void){ return sqlite3_version; } /* IMPLEMENTATION-OF: R-63124-39300 The sqlite3_sourceid() function returns a ** pointer to a string constant whose value is the same as the ** SQLITE_SOURCE_ID C preprocessor macro. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } +SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } /* IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function ** returns an integer equal to SQLITE_VERSION_NUMBER. */ -SQLITE_API int SQLITE_STDCALL sqlite3_libversion_number(void){ return SQLITE_VERSION_NUMBER; } +SQLITE_API int sqlite3_libversion_number(void){ return SQLITE_VERSION_NUMBER; } /* IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns ** zero if and only if SQLite was compiled with mutexing code omitted due to ** the SQLITE_THREADSAFE compile-time option being set to 0. */ -SQLITE_API int SQLITE_STDCALL sqlite3_threadsafe(void){ return SQLITE_THREADSAFE; } +SQLITE_API int sqlite3_threadsafe(void){ return SQLITE_THREADSAFE; } /* ** When compiling the test fixture or with debugging enabled (on Win32), @@ -135781,7 +137961,7 @@ SQLITE_API char *sqlite3_data_directory = 0; ** * Recursive calls to this routine from thread X return immediately ** without blocking. */ -SQLITE_API int SQLITE_STDCALL sqlite3_initialize(void){ +SQLITE_API int sqlite3_initialize(void){ MUTEX_LOGIC( sqlite3_mutex *pMaster; ) /* The main static mutex */ int rc; /* Result code */ #ifdef SQLITE_EXTRA_INIT @@ -135947,7 +138127,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_initialize(void){ ** on when SQLite is already shut down. If SQLite is already shut down ** when this routine is invoked, then this routine is a harmless no-op. */ -SQLITE_API int SQLITE_STDCALL sqlite3_shutdown(void){ +SQLITE_API int sqlite3_shutdown(void){ #ifdef SQLITE_OMIT_WSD int rc = sqlite3_wsd_init(4096, 24); if( rc!=SQLITE_OK ){ @@ -136001,7 +138181,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_shutdown(void){ ** threadsafe. Failure to heed these warnings can lead to unpredictable ** behavior. */ -SQLITE_API int SQLITE_CDECL sqlite3_config(int op, ...){ +SQLITE_API int sqlite3_config(int op, ...){ va_list ap; int rc = SQLITE_OK; @@ -136366,7 +138546,7 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){ /* ** Return the mutex associated with a database connection. */ -SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_db_mutex(sqlite3 *db){ +SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3 *db){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ (void)SQLITE_MISUSE_BKPT; @@ -136380,7 +138560,7 @@ SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_db_mutex(sqlite3 *db){ ** Free up as much memory as we can from the given database ** connection. */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3 *db){ +SQLITE_API int sqlite3_db_release_memory(sqlite3 *db){ int i; #ifdef SQLITE_ENABLE_API_ARMOR @@ -136404,7 +138584,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3 *db){ ** Flush any dirty pages in the pager-cache for any attached database ** to disk. */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3 *db){ +SQLITE_API int sqlite3_db_cacheflush(sqlite3 *db){ int i; int rc = SQLITE_OK; int bSeenBusy = 0; @@ -136433,11 +138613,16 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3 *db){ /* ** Configuration settings for an individual database connection */ -SQLITE_API int SQLITE_CDECL sqlite3_db_config(sqlite3 *db, int op, ...){ +SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ va_list ap; int rc; va_start(ap, op); switch( op ){ + case SQLITE_DBCONFIG_MAINDBNAME: { + db->aDb[0].zDbSName = va_arg(ap,char*); + rc = SQLITE_OK; + break; + } case SQLITE_DBCONFIG_LOOKASIDE: { void *pBuf = va_arg(ap, void*); /* IMP: R-26835-10964 */ int sz = va_arg(ap, int); /* IMP: R-47871-25994 */ @@ -136554,7 +138739,7 @@ static int nocaseCollatingFunc( /* ** Return the ROWID of the most recent insert */ -SQLITE_API sqlite_int64 SQLITE_STDCALL sqlite3_last_insert_rowid(sqlite3 *db){ +SQLITE_API sqlite_int64 sqlite3_last_insert_rowid(sqlite3 *db){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ (void)SQLITE_MISUSE_BKPT; @@ -136567,7 +138752,7 @@ SQLITE_API sqlite_int64 SQLITE_STDCALL sqlite3_last_insert_rowid(sqlite3 *db){ /* ** Return the number of changes in the most recent call to sqlite3_exec(). */ -SQLITE_API int SQLITE_STDCALL sqlite3_changes(sqlite3 *db){ +SQLITE_API int sqlite3_changes(sqlite3 *db){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ (void)SQLITE_MISUSE_BKPT; @@ -136580,7 +138765,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_changes(sqlite3 *db){ /* ** Return the number of changes since the database handle was opened. */ -SQLITE_API int SQLITE_STDCALL sqlite3_total_changes(sqlite3 *db){ +SQLITE_API int sqlite3_total_changes(sqlite3 *db){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ (void)SQLITE_MISUSE_BKPT; @@ -136682,6 +138867,9 @@ static int sqlite3Close(sqlite3 *db, int forceZombie){ return SQLITE_MISUSE_BKPT; } sqlite3_mutex_enter(db->mutex); + if( db->mTrace & SQLITE_TRACE_CLOSE ){ + db->xTrace(SQLITE_TRACE_CLOSE, db->pTraceArg, db, 0); + } /* Force xDisconnect calls on all virtual tables */ disconnectAllVtab(db); @@ -136728,8 +138916,8 @@ static int sqlite3Close(sqlite3 *db, int forceZombie){ ** unclosed resources, and arranges for deallocation when the last ** prepare statement or sqlite3_backup closes. */ -SQLITE_API int SQLITE_STDCALL sqlite3_close(sqlite3 *db){ return sqlite3Close(db,0); } -SQLITE_API int SQLITE_STDCALL sqlite3_close_v2(sqlite3 *db){ return sqlite3Close(db,1); } +SQLITE_API int sqlite3_close(sqlite3 *db){ return sqlite3Close(db,0); } +SQLITE_API int sqlite3_close_v2(sqlite3 *db){ return sqlite3Close(db,1); } /* @@ -137136,7 +139324,7 @@ SQLITE_PRIVATE int sqlite3InvokeBusyHandler(BusyHandler *p){ ** This routine sets the busy callback for an Sqlite database to the ** given callback function with the given argument. */ -SQLITE_API int SQLITE_STDCALL sqlite3_busy_handler( +SQLITE_API int sqlite3_busy_handler( sqlite3 *db, int (*xBusy)(void*,int), void *pArg @@ -137159,7 +139347,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_busy_handler( ** given callback function with the given argument. The progress callback will ** be invoked every nOps opcodes. */ -SQLITE_API void SQLITE_STDCALL sqlite3_progress_handler( +SQLITE_API void sqlite3_progress_handler( sqlite3 *db, int nOps, int (*xProgress)(void*), @@ -137190,7 +139378,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_progress_handler( ** This routine installs a default busy handler that waits for the ** specified number of milliseconds before returning 0. */ -SQLITE_API int SQLITE_STDCALL sqlite3_busy_timeout(sqlite3 *db, int ms){ +SQLITE_API int sqlite3_busy_timeout(sqlite3 *db, int ms){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT; #endif @@ -137206,7 +139394,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_busy_timeout(sqlite3 *db, int ms){ /* ** Cause any pending operation to stop at its earliest opportunity. */ -SQLITE_API void SQLITE_STDCALL sqlite3_interrupt(sqlite3 *db){ +SQLITE_API void sqlite3_interrupt(sqlite3 *db){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ (void)SQLITE_MISUSE_BKPT; @@ -137322,7 +139510,7 @@ SQLITE_PRIVATE int sqlite3CreateFunc( /* ** Create new user functions. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_function( +SQLITE_API int sqlite3_create_function( sqlite3 *db, const char *zFunc, int nArg, @@ -137336,7 +139524,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function( xFinal, 0); } -SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( +SQLITE_API int sqlite3_create_function_v2( sqlite3 *db, const char *zFunc, int nArg, @@ -137379,7 +139567,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( } #ifndef SQLITE_OMIT_UTF16 -SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( +SQLITE_API int sqlite3_create_function16( sqlite3 *db, const void *zFunctionName, int nArg, @@ -137419,7 +139607,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( ** A global function must exist in order for name resolution to work ** properly. */ -SQLITE_API int SQLITE_STDCALL sqlite3_overload_function( +SQLITE_API int sqlite3_overload_function( sqlite3 *db, const char *zName, int nArg @@ -137450,7 +139638,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_overload_function( ** trace is a pointer to a function that is invoked at the start of each ** SQL statement. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_trace(sqlite3 *db, void (*xTrace)(void*,const char*), void *pArg){ +#ifndef SQLITE_OMIT_DEPRECATED +SQLITE_API void *sqlite3_trace(sqlite3 *db, void(*xTrace)(void*,const char*), void *pArg){ void *pOld; #ifdef SQLITE_ENABLE_API_ARMOR @@ -137461,11 +139650,38 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_trace(sqlite3 *db, void (*xTrace)(void*, #endif sqlite3_mutex_enter(db->mutex); pOld = db->pTraceArg; - db->xTrace = xTrace; + db->mTrace = xTrace ? SQLITE_TRACE_LEGACY : 0; + db->xTrace = (int(*)(u32,void*,void*,void*))xTrace; db->pTraceArg = pArg; sqlite3_mutex_leave(db->mutex); return pOld; } +#endif /* SQLITE_OMIT_DEPRECATED */ + +/* Register a trace callback using the version-2 interface. +*/ +SQLITE_API int sqlite3_trace_v2( + sqlite3 *db, /* Trace this connection */ + unsigned mTrace, /* Mask of events to be traced */ + int(*xTrace)(unsigned,void*,void*,void*), /* Callback to invoke */ + void *pArg /* Context */ +){ +#ifdef SQLITE_ENABLE_API_ARMOR + if( !sqlite3SafetyCheckOk(db) ){ + return SQLITE_MISUSE_BKPT; + } +#endif + sqlite3_mutex_enter(db->mutex); + if( mTrace==0 ) xTrace = 0; + if( xTrace==0 ) mTrace = 0; + db->mTrace = mTrace; + db->xTrace = xTrace; + db->pTraceArg = pArg; + sqlite3_mutex_leave(db->mutex); + return SQLITE_OK; +} + +#ifndef SQLITE_OMIT_DEPRECATED /* ** Register a profile function. The pArg from the previously registered ** profile function is returned. @@ -137474,7 +139690,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_trace(sqlite3 *db, void (*xTrace)(void*, ** profile is a pointer to a function that is invoked at the conclusion of ** each SQL statement that is run. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_profile( +SQLITE_API void *sqlite3_profile( sqlite3 *db, void (*xProfile)(void*,const char*,sqlite_uint64), void *pArg @@ -137494,6 +139710,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_profile( sqlite3_mutex_leave(db->mutex); return pOld; } +#endif /* SQLITE_OMIT_DEPRECATED */ #endif /* SQLITE_OMIT_TRACE */ /* @@ -137501,7 +139718,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_profile( ** If the invoked function returns non-zero, then the commit becomes a ** rollback. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_commit_hook( +SQLITE_API void *sqlite3_commit_hook( sqlite3 *db, /* Attach the hook to this database */ int (*xCallback)(void*), /* Function to invoke on each commit */ void *pArg /* Argument to the function */ @@ -137526,7 +139743,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_commit_hook( ** Register a callback to be invoked each time a row is updated, ** inserted or deleted using this database connection. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( +SQLITE_API void *sqlite3_update_hook( sqlite3 *db, /* Attach the hook to this database */ void (*xCallback)(void*,int,char const *,char const *,sqlite_int64), void *pArg /* Argument to the function */ @@ -137551,7 +139768,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( ** Register a callback to be invoked each time a transaction is rolled ** back by this database connection. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_rollback_hook( +SQLITE_API void *sqlite3_rollback_hook( sqlite3 *db, /* Attach the hook to this database */ void (*xCallback)(void*), /* Callback function */ void *pArg /* Argument to the function */ @@ -137577,7 +139794,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_rollback_hook( ** Register a callback to be invoked each time a row is updated, ** inserted or deleted using this database connection. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_preupdate_hook( +SQLITE_API void *sqlite3_preupdate_hook( sqlite3 *db, /* Attach the hook to this database */ void(*xCallback)( /* Callback function */ void*,sqlite3*,int,char const*,char const*,sqlite3_int64,sqlite3_int64), @@ -137626,7 +139843,7 @@ SQLITE_PRIVATE int sqlite3WalDefaultHook( ** using sqlite3_wal_hook() disables the automatic checkpoint mechanism ** configured by this function. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_autocheckpoint(sqlite3 *db, int nFrame){ +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int nFrame){ #ifdef SQLITE_OMIT_WAL UNUSED_PARAMETER(db); UNUSED_PARAMETER(nFrame); @@ -137647,7 +139864,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_autocheckpoint(sqlite3 *db, int nFrame ** Register a callback to be invoked each time a transaction is written ** into the write-ahead-log by this database connection. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( +SQLITE_API void *sqlite3_wal_hook( sqlite3 *db, /* Attach the hook to this db handle */ int(*xCallback)(void *, sqlite3*, const char*, int), void *pArg /* First argument passed to xCallback() */ @@ -137674,7 +139891,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( /* ** Checkpoint database zDb. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint_v2( +SQLITE_API int sqlite3_wal_checkpoint_v2( sqlite3 *db, /* Database handle */ const char *zDb, /* Name of attached database (or NULL) */ int eMode, /* SQLITE_CHECKPOINT_* value */ @@ -137729,7 +139946,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint_v2( ** to contains a zero-length string, all attached databases are ** checkpointed. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb){ +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb){ /* EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to ** sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). */ return sqlite3_wal_checkpoint_v2(db,zDb,SQLITE_CHECKPOINT_PASSIVE,0,0); @@ -137820,7 +140037,7 @@ SQLITE_PRIVATE int sqlite3TempInMemory(const sqlite3 *db){ ** Return UTF-8 encoded English language explanation of the most recent ** error. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_errmsg(sqlite3 *db){ +SQLITE_API const char *sqlite3_errmsg(sqlite3 *db){ const char *z; if( !db ){ return sqlite3ErrStr(SQLITE_NOMEM_BKPT); @@ -137848,7 +140065,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_errmsg(sqlite3 *db){ ** Return UTF-16 encoded English language explanation of the most recent ** error. */ -SQLITE_API const void *SQLITE_STDCALL sqlite3_errmsg16(sqlite3 *db){ +SQLITE_API const void *sqlite3_errmsg16(sqlite3 *db){ static const u16 outOfMem[] = { 'o', 'u', 't', ' ', 'o', 'f', ' ', 'm', 'e', 'm', 'o', 'r', 'y', 0 }; @@ -137893,7 +140110,7 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_errmsg16(sqlite3 *db){ ** Return the most recent error code generated by an SQLite routine. If NULL is ** passed to this function, we assume a malloc() failed during sqlite3_open(). */ -SQLITE_API int SQLITE_STDCALL sqlite3_errcode(sqlite3 *db){ +SQLITE_API int sqlite3_errcode(sqlite3 *db){ if( db && !sqlite3SafetyCheckSickOrOk(db) ){ return SQLITE_MISUSE_BKPT; } @@ -137902,7 +140119,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_errcode(sqlite3 *db){ } return db->errCode & db->errMask; } -SQLITE_API int SQLITE_STDCALL sqlite3_extended_errcode(sqlite3 *db){ +SQLITE_API int sqlite3_extended_errcode(sqlite3 *db){ if( db && !sqlite3SafetyCheckSickOrOk(db) ){ return SQLITE_MISUSE_BKPT; } @@ -137911,7 +140128,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_extended_errcode(sqlite3 *db){ } return db->errCode; } -SQLITE_API int SQLITE_STDCALL sqlite3_system_errno(sqlite3 *db){ +SQLITE_API int sqlite3_system_errno(sqlite3 *db){ return db ? db->iSysErrno : 0; } @@ -137920,7 +140137,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_system_errno(sqlite3 *db){ ** argument. For now, this simply calls the internal sqlite3ErrStr() ** function. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_errstr(int rc){ +SQLITE_API const char *sqlite3_errstr(int rc){ return sqlite3ErrStr(rc); } @@ -138068,7 +140285,7 @@ static const int aHardLimit[] = { ** It merely prevents new constructs that exceed the limit ** from forming. */ -SQLITE_API int SQLITE_STDCALL sqlite3_limit(sqlite3 *db, int limitId, int newLimit){ +SQLITE_API int sqlite3_limit(sqlite3 *db, int limitId, int newLimit){ int oldLimit; #ifdef SQLITE_ENABLE_API_ARMOR @@ -138551,9 +140768,9 @@ static int openDatabase( /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - db->aDb[0].zName = "main"; + db->aDb[0].zDbSName = "main"; db->aDb[0].safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; - db->aDb[1].zName = "temp"; + db->aDb[1].zDbSName = "temp"; db->aDb[1].safety_level = PAGER_SYNCHRONOUS_OFF; db->magic = SQLITE_MAGIC_OPEN; @@ -138567,11 +140784,20 @@ static int openDatabase( */ sqlite3Error(db, SQLITE_OK); sqlite3RegisterPerConnectionBuiltinFunctions(db); + rc = sqlite3_errcode(db); + +#ifdef SQLITE_ENABLE_FTS5 + /* Register any built-in FTS5 module before loading the automatic + ** extensions. This allows automatic extensions to register FTS5 + ** tokenizers and auxiliary functions. */ + if( !db->mallocFailed && rc==SQLITE_OK ){ + rc = sqlite3Fts5Init(db); + } +#endif /* Load automatic extensions - extensions that have been registered ** using the sqlite3_automatic_extension() API. */ - rc = sqlite3_errcode(db); if( rc==SQLITE_OK ){ sqlite3AutoLoadExtensions(db); rc = sqlite3_errcode(db); @@ -138600,12 +140826,6 @@ static int openDatabase( } #endif -#ifdef SQLITE_ENABLE_FTS5 - if( !db->mallocFailed && rc==SQLITE_OK ){ - rc = sqlite3Fts5Init(db); - } -#endif - #ifdef SQLITE_ENABLE_ICU if( !db->mallocFailed && rc==SQLITE_OK ){ rc = sqlite3IcuInit(db); @@ -138692,14 +140912,14 @@ static int openDatabase( /* ** Open a new database handle. */ -SQLITE_API int SQLITE_STDCALL sqlite3_open( +SQLITE_API int sqlite3_open( const char *zFilename, sqlite3 **ppDb ){ return openDatabase(zFilename, ppDb, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, 0); } -SQLITE_API int SQLITE_STDCALL sqlite3_open_v2( +SQLITE_API int sqlite3_open_v2( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb, /* OUT: SQLite db handle */ int flags, /* Flags */ @@ -138712,7 +140932,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_open_v2( /* ** Open a new database handle. */ -SQLITE_API int SQLITE_STDCALL sqlite3_open16( +SQLITE_API int sqlite3_open16( const void *zFilename, sqlite3 **ppDb ){ @@ -138751,7 +140971,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_open16( /* ** Register a new collation sequence with the database handle db. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation( +SQLITE_API int sqlite3_create_collation( sqlite3* db, const char *zName, int enc, @@ -138764,7 +140984,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_collation( /* ** Register a new collation sequence with the database handle db. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation_v2( +SQLITE_API int sqlite3_create_collation_v2( sqlite3* db, const char *zName, int enc, @@ -138789,7 +141009,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_collation_v2( /* ** Register a new collation sequence with the database handle db. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation16( +SQLITE_API int sqlite3_create_collation16( sqlite3* db, const void *zName, int enc, @@ -138819,7 +141039,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_collation16( ** Register a collation sequence factory callback with the database handle ** db. Replace any previously installed collation sequence factory. */ -SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed( +SQLITE_API int sqlite3_collation_needed( sqlite3 *db, void *pCollNeededArg, void(*xCollNeeded)(void*,sqlite3*,int eTextRep,const char*) @@ -138840,7 +141060,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed( ** Register a collation sequence factory callback with the database handle ** db. Replace any previously installed collation sequence factory. */ -SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed16( +SQLITE_API int sqlite3_collation_needed16( sqlite3 *db, void *pCollNeededArg, void(*xCollNeeded16)(void*,sqlite3*,int eTextRep,const void*) @@ -138862,7 +141082,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed16( ** This function is now an anachronism. It used to be used to recover from a ** malloc() failure, but SQLite now does this automatically. */ -SQLITE_API int SQLITE_STDCALL sqlite3_global_recover(void){ +SQLITE_API int sqlite3_global_recover(void){ return SQLITE_OK; } #endif @@ -138873,7 +141093,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_global_recover(void){ ** by default. Autocommit is disabled by a BEGIN statement and reenabled ** by the next COMMIT or ROLLBACK. */ -SQLITE_API int SQLITE_STDCALL sqlite3_get_autocommit(sqlite3 *db){ +SQLITE_API int sqlite3_get_autocommit(sqlite3 *db){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ (void)SQLITE_MISUSE_BKPT; @@ -138930,7 +141150,7 @@ SQLITE_PRIVATE int sqlite3IoerrnomemError(int lineno){ ** SQLite no longer uses thread-specific data so this routine is now a ** no-op. It is retained for historical compatibility. */ -SQLITE_API void SQLITE_STDCALL sqlite3_thread_cleanup(void){ +SQLITE_API void sqlite3_thread_cleanup(void){ } #endif @@ -138938,7 +141158,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_thread_cleanup(void){ ** Return meta information about a specific column of a database table. ** See comment in sqlite3.h (sqlite.h.in) for details. */ -SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata( +SQLITE_API int sqlite3_table_column_metadata( sqlite3 *db, /* Connection handle */ const char *zDbName, /* Database name or NULL */ const char *zTableName, /* Table name */ @@ -139056,7 +141276,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata( /* ** Sleep for a little while. Return the amount of time slept. */ -SQLITE_API int SQLITE_STDCALL sqlite3_sleep(int ms){ +SQLITE_API int sqlite3_sleep(int ms){ sqlite3_vfs *pVfs; int rc; pVfs = sqlite3_vfs_find(0); @@ -139072,7 +141292,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_sleep(int ms){ /* ** Enable or disable the extended result codes. */ -SQLITE_API int SQLITE_STDCALL sqlite3_extended_result_codes(sqlite3 *db, int onoff){ +SQLITE_API int sqlite3_extended_result_codes(sqlite3 *db, int onoff){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT; #endif @@ -139085,7 +141305,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_extended_result_codes(sqlite3 *db, int ono /* ** Invoke the xFileControl method on a particular database. */ -SQLITE_API int SQLITE_STDCALL sqlite3_file_control(sqlite3 *db, const char *zDbName, int op, void *pArg){ +SQLITE_API int sqlite3_file_control(sqlite3 *db, const char *zDbName, int op, void *pArg){ int rc = SQLITE_ERROR; Btree *pBtree; @@ -139125,7 +141345,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_file_control(sqlite3 *db, const char *zDbN /* ** Interface to the testing logic. */ -SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...){ +SQLITE_API int sqlite3_test_control(int op, ...){ int rc = 0; #ifdef SQLITE_OMIT_BUILTIN_TEST UNUSED_PARAMETER(op); @@ -139393,6 +141613,15 @@ SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...){ break; } + /* Set the threshold at which OP_Once counters reset back to zero. + ** By default this is 0x7ffffffe (over 2 billion), but that value is + ** too big to test in a reasonable amount of time, so this control is + ** provided to set a small and easily reachable reset value. + */ + case SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD: { + sqlite3GlobalConfig.iOnceResetThreshold = va_arg(ap, int); + break; + } /* sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE, xCallback, ptr); ** @@ -139470,7 +141699,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...){ ** parameter if it exists. If the parameter does not exist, this routine ** returns a NULL pointer. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_uri_parameter(const char *zFilename, const char *zParam){ +SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam){ if( zFilename==0 || zParam==0 ) return 0; zFilename += sqlite3Strlen30(zFilename) + 1; while( zFilename[0] ){ @@ -139485,7 +141714,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_uri_parameter(const char *zFilenam /* ** Return a boolean value for a query parameter. */ -SQLITE_API int SQLITE_STDCALL sqlite3_uri_boolean(const char *zFilename, const char *zParam, int bDflt){ +SQLITE_API int sqlite3_uri_boolean(const char *zFilename, const char *zParam, int bDflt){ const char *z = sqlite3_uri_parameter(zFilename, zParam); bDflt = bDflt!=0; return z ? sqlite3GetBoolean(z, bDflt) : bDflt; @@ -139494,7 +141723,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_uri_boolean(const char *zFilename, const c /* ** Return a 64-bit integer value for a query parameter. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_uri_int64( +SQLITE_API sqlite3_int64 sqlite3_uri_int64( const char *zFilename, /* Filename as passed to xOpen */ const char *zParam, /* URI parameter sought */ sqlite3_int64 bDflt /* return if parameter is missing */ @@ -139514,7 +141743,7 @@ SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3 *db, const char *zDbName){ int i; for(i=0; inDb; i++){ if( db->aDb[i].pBt - && (zDbName==0 || sqlite3StrICmp(zDbName, db->aDb[i].zName)==0) + && (zDbName==0 || sqlite3StrICmp(zDbName, db->aDb[i].zDbSName)==0) ){ return db->aDb[i].pBt; } @@ -139526,7 +141755,7 @@ SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3 *db, const char *zDbName){ ** Return the filename of the database associated with a database ** connection. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_db_filename(sqlite3 *db, const char *zDbName){ +SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName){ Btree *pBt; #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ @@ -139542,7 +141771,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_db_filename(sqlite3 *db, const cha ** Return 1 if database is read-only or 0 if read/write. Return -1 if ** no such database exists. */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_readonly(sqlite3 *db, const char *zDbName){ +SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName){ Btree *pBt; #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ @@ -139559,7 +141788,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_readonly(sqlite3 *db, const char *zDbNa ** Obtain a snapshot handle for the snapshot of database zDb currently ** being read by handle db. */ -SQLITE_API int SQLITE_STDCALL sqlite3_snapshot_get( +SQLITE_API int sqlite3_snapshot_get( sqlite3 *db, const char *zDb, sqlite3_snapshot **ppSnapshot @@ -139594,7 +141823,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_snapshot_get( /* ** Open a read-transaction on the snapshot idendified by pSnapshot. */ -SQLITE_API int SQLITE_STDCALL sqlite3_snapshot_open( +SQLITE_API int sqlite3_snapshot_open( sqlite3 *db, const char *zDb, sqlite3_snapshot *pSnapshot @@ -139631,7 +141860,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_snapshot_open( /* ** Free a snapshot handle obtained from sqlite3_snapshot_get(). */ -SQLITE_API void SQLITE_STDCALL sqlite3_snapshot_free(sqlite3_snapshot *pSnapshot){ +SQLITE_API void sqlite3_snapshot_free(sqlite3_snapshot *pSnapshot){ sqlite3_free(pSnapshot); } #endif /* SQLITE_ENABLE_SNAPSHOT */ @@ -139785,7 +142014,7 @@ static void leaveMutex(void){ ** on the same "db". If xNotify==0 then any prior callbacks are immediately ** cancelled. */ -SQLITE_API int SQLITE_STDCALL sqlite3_unlock_notify( +SQLITE_API int sqlite3_unlock_notify( sqlite3 *db, void (*xNotify)(void **, int), void *pArg @@ -146788,7 +149017,7 @@ SQLITE_PRIVATE int sqlite3Fts3Corrupt(){ #ifdef _WIN32 __declspec(dllexport) #endif -SQLITE_API int SQLITE_STDCALL sqlite3_fts3_init( +SQLITE_API int sqlite3_fts3_init( sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi @@ -149944,7 +152173,11 @@ SQLITE_PRIVATE int sqlite3Fts3InitTokenizer( #ifdef SQLITE_TEST -#include +#if defined(INCLUDE_SQLITE_TCL_H) +# include "sqlite_tcl.h" +#else +# include "tcl.h" +#endif /* #include */ /* @@ -160625,7 +162858,7 @@ static int rtreeFilter( if( idxNum==1 ){ /* Special case - lookup by rowid. */ RtreeNode *pLeaf; /* Leaf on which the required cell resides */ - RtreeSearchPoint *p; /* Search point for the the leaf */ + RtreeSearchPoint *p; /* Search point for the leaf */ i64 iRowid = sqlite3_value_int64(argv[0]); i64 iNode = 0; rc = findLeafNode(pRtree, iRowid, &pLeaf, &iNode); @@ -161883,6 +164116,53 @@ static RtreeValue rtreeValueUp(sqlite3_value *v){ } #endif /* !defined(SQLITE_RTREE_INT_ONLY) */ +/* +** A constraint has failed while inserting a row into an rtree table. +** Assuming no OOM error occurs, this function sets the error message +** (at pRtree->base.zErrMsg) to an appropriate value and returns +** SQLITE_CONSTRAINT. +** +** Parameter iCol is the index of the leftmost column involved in the +** constraint failure. If it is 0, then the constraint that failed is +** the unique constraint on the id column. Otherwise, it is the rtree +** (c1<=c2) constraint on columns iCol and iCol+1 that has failed. +** +** If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. +*/ +static int rtreeConstraintError(Rtree *pRtree, int iCol){ + sqlite3_stmt *pStmt = 0; + char *zSql; + int rc; + + assert( iCol==0 || iCol%2 ); + zSql = sqlite3_mprintf("SELECT * FROM %Q.%Q", pRtree->zDb, pRtree->zName); + if( zSql ){ + rc = sqlite3_prepare_v2(pRtree->db, zSql, -1, &pStmt, 0); + }else{ + rc = SQLITE_NOMEM; + } + sqlite3_free(zSql); + + if( rc==SQLITE_OK ){ + if( iCol==0 ){ + const char *zCol = sqlite3_column_name(pStmt, 0); + pRtree->base.zErrMsg = sqlite3_mprintf( + "UNIQUE constraint failed: %s.%s", pRtree->zName, zCol + ); + }else{ + const char *zCol1 = sqlite3_column_name(pStmt, iCol); + const char *zCol2 = sqlite3_column_name(pStmt, iCol+1); + pRtree->base.zErrMsg = sqlite3_mprintf( + "rtree constraint failed: %s.(%s<=%s)", pRtree->zName, zCol1, zCol2 + ); + } + } + + sqlite3_finalize(pStmt); + return (rc==SQLITE_OK ? SQLITE_CONSTRAINT : rc); +} + + /* ** The xUpdate method for rtree module virtual tables. @@ -161933,7 +164213,7 @@ static int rtreeUpdate( cell.aCoord[ii].f = rtreeValueDown(azData[ii+3]); cell.aCoord[ii+1].f = rtreeValueUp(azData[ii+4]); if( cell.aCoord[ii].f>cell.aCoord[ii+1].f ){ - rc = SQLITE_CONSTRAINT; + rc = rtreeConstraintError(pRtree, ii+1); goto constraint; } } @@ -161944,7 +164224,7 @@ static int rtreeUpdate( cell.aCoord[ii].i = sqlite3_value_int(azData[ii+3]); cell.aCoord[ii+1].i = sqlite3_value_int(azData[ii+4]); if( cell.aCoord[ii].i>cell.aCoord[ii+1].i ){ - rc = SQLITE_CONSTRAINT; + rc = rtreeConstraintError(pRtree, ii+1); goto constraint; } } @@ -161965,7 +164245,7 @@ static int rtreeUpdate( if( sqlite3_vtab_on_conflict(pRtree->db)==SQLITE_REPLACE ){ rc = rtreeDeleteRowid(pRtree, cell.iRowid); }else{ - rc = SQLITE_CONSTRAINT; + rc = rtreeConstraintError(pRtree, 0); goto constraint; } } @@ -162048,6 +164328,13 @@ static int rtreeQueryStat1(sqlite3 *db, Rtree *pRtree){ int rc; i64 nRow = 0; + rc = sqlite3_table_column_metadata( + db, pRtree->zDb, "sqlite_stat1",0,0,0,0,0,0 + ); + if( rc!=SQLITE_OK ){ + pRtree->nRowEst = RTREE_DEFAULT_ROWEST; + return rc==SQLITE_ERROR ? SQLITE_OK : rc; + } zSql = sqlite3_mprintf(zFmt, pRtree->zDb, pRtree->zName); if( zSql==0 ){ rc = SQLITE_NOMEM; @@ -162533,7 +164820,7 @@ static void geomCallback(sqlite3_context *ctx, int nArg, sqlite3_value **aArg){ /* ** Register a new geometry function for use with the r-tree MATCH operator. */ -SQLITE_API int SQLITE_STDCALL sqlite3_rtree_geometry_callback( +SQLITE_API int sqlite3_rtree_geometry_callback( sqlite3 *db, /* Register SQL function on this connection */ const char *zGeom, /* Name of the new SQL function */ int (*xGeom)(sqlite3_rtree_geometry*,int,RtreeDValue*,int*), /* Callback */ @@ -162557,7 +164844,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_rtree_geometry_callback( ** Register a new 2nd-generation geometry function for use with the ** r-tree MATCH operator. */ -SQLITE_API int SQLITE_STDCALL sqlite3_rtree_query_callback( +SQLITE_API int sqlite3_rtree_query_callback( sqlite3 *db, /* Register SQL function on this connection */ const char *zQueryFunc, /* Name of new SQL function */ int (*xQueryFunc)(sqlite3_rtree_query_info*), /* Callback */ @@ -162582,7 +164869,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_rtree_query_callback( #ifdef _WIN32 __declspec(dllexport) #endif -SQLITE_API int SQLITE_STDCALL sqlite3_rtree_init( +SQLITE_API int sqlite3_rtree_init( sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi @@ -162947,7 +165234,7 @@ static void icuRegexpFunc(sqlite3_context *p, int nArg, sqlite3_value **apArg){ ** of upper() or lower(). ** ** lower('I', 'en_us') -> 'i' -** lower('I', 'tr_tr') -> 'ı' (small dotless i) +** lower('I', 'tr_tr') -> '\u131' (small dotless i) ** ** http://www.icu-project.org/userguide/posix.html#case_mappings */ @@ -163133,7 +165420,7 @@ SQLITE_PRIVATE int sqlite3IcuInit(sqlite3 *db){ #ifdef _WIN32 __declspec(dllexport) #endif -SQLITE_API int SQLITE_STDCALL sqlite3_icu_init( +SQLITE_API int sqlite3_icu_init( sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi @@ -163609,7 +165896,7 @@ SQLITE_PRIVATE void sqlite3Fts3IcuTokenizerModule( ** may also be named data_, where is any sequence ** of zero or more numeric characters (0-9). This can be significant because ** tables within the RBU database are always processed in order sorted by -** name. By judicious selection of the the portion of the names +** name. By judicious selection of the portion of the names ** of the RBU tables the user can therefore control the order in which they ** are processed. This can be useful, for example, to ensure that "external ** content" FTS4 tables are updated before their underlying content tables. @@ -163813,7 +166100,7 @@ typedef struct sqlite3rbu sqlite3rbu; ** not work out of the box with zipvfs. Refer to the comment describing ** the zipvfs_create_vfs() API below for details on using RBU with zipvfs. */ -SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_open( +SQLITE_API sqlite3rbu *sqlite3rbu_open( const char *zTarget, const char *zRbu, const char *zState @@ -163824,16 +166111,22 @@ SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_open( ** An RBU vacuum is similar to SQLite's built-in VACUUM command, except ** that it can be suspended and resumed like an RBU update. ** -** The second argument to this function, which may not be NULL, identifies -** a database in which to store the state of the RBU vacuum operation if -** it is suspended. The first time sqlite3rbu_vacuum() is called, to start -** an RBU vacuum operation, the state database should either not exist or -** be empty (contain no tables). If an RBU vacuum is suspended by calling +** The second argument to this function identifies a database in which +** to store the state of the RBU vacuum operation if it is suspended. The +** first time sqlite3rbu_vacuum() is called, to start an RBU vacuum +** operation, the state database should either not exist or be empty +** (contain no tables). If an RBU vacuum is suspended by calling ** sqlite3rbu_close() on the RBU handle before sqlite3rbu_step() has ** returned SQLITE_DONE, the vacuum state is stored in the state database. ** The vacuum can be resumed by calling this function to open a new RBU ** handle specifying the same target and state databases. ** +** If the second argument passed to this function is NULL, then the +** name of the state database is "-vacuum", where +** is the name of the target database file. In this case, on UNIX, if the +** state database is not already present in the file-system, it is created +** with the same permissions as the target db is made. +** ** This function does not delete the state database after an RBU vacuum ** is completed, even if it created it. However, if the call to ** sqlite3rbu_close() returns any value other than SQLITE_OK, the contents @@ -163846,7 +166139,7 @@ SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_open( ** a description of the complications associated with using RBU with ** zipvfs databases. */ -SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_vacuum( +SQLITE_API sqlite3rbu *sqlite3rbu_vacuum( const char *zTarget, const char *zState ); @@ -163882,7 +166175,7 @@ SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_vacuum( ** Database handles returned by this function remain valid until the next ** call to any sqlite3rbu_xxx() function other than sqlite3rbu_db(). */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3rbu_db(sqlite3rbu*, int bRbu); +SQLITE_API sqlite3 *sqlite3rbu_db(sqlite3rbu*, int bRbu); /* ** Do some work towards applying the RBU update to the target db. @@ -163896,7 +166189,7 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3rbu_db(sqlite3rbu*, int bRbu); ** SQLITE_OK, all subsequent calls on the same RBU handle are no-ops ** that immediately return the same value. */ -SQLITE_API int SQLITE_STDCALL sqlite3rbu_step(sqlite3rbu *pRbu); +SQLITE_API int sqlite3rbu_step(sqlite3rbu *pRbu); /* ** Force RBU to save its state to disk. @@ -163908,7 +166201,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_step(sqlite3rbu *pRbu); ** ** SQLITE_OK is returned if successful, or an SQLite error code otherwise. */ -SQLITE_API int SQLITE_STDCALL sqlite3rbu_savestate(sqlite3rbu *pRbu); +SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *pRbu); /* ** Close an RBU handle. @@ -163928,14 +166221,14 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_savestate(sqlite3rbu *pRbu); ** update has been partially applied, or SQLITE_DONE if it has been ** completely applied. */ -SQLITE_API int SQLITE_STDCALL sqlite3rbu_close(sqlite3rbu *pRbu, char **pzErrmsg); +SQLITE_API int sqlite3rbu_close(sqlite3rbu *pRbu, char **pzErrmsg); /* ** Return the total number of key-value operations (inserts, deletes or ** updates) that have been performed on the target database since the ** current RBU update was started. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3rbu_progress(sqlite3rbu *pRbu); +SQLITE_API sqlite3_int64 sqlite3rbu_progress(sqlite3rbu *pRbu); /* ** Obtain permyriadage (permyriadage is to 10000 as percentage is to 100) @@ -163977,7 +166270,45 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3rbu_progress(sqlite3rbu *pRbu); ** table exists but is not correctly populated, the value of the *pnOne ** output variable during stage 1 is undefined. */ -SQLITE_API void SQLITE_STDCALL sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnOne, int *pnTwo); +SQLITE_API void sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnOne, int *pnTwo); + +/* +** Obtain an indication as to the current stage of an RBU update or vacuum. +** This function always returns one of the SQLITE_RBU_STATE_XXX constants +** defined in this file. Return values should be interpreted as follows: +** +** SQLITE_RBU_STATE_OAL: +** RBU is currently building a *-oal file. The next call to sqlite3rbu_step() +** may either add further data to the *-oal file, or compute data that will +** be added by a subsequent call. +** +** SQLITE_RBU_STATE_MOVE: +** RBU has finished building the *-oal file. The next call to sqlite3rbu_step() +** will move the *-oal file to the equivalent *-wal path. If the current +** operation is an RBU update, then the updated version of the database +** file will become visible to ordinary SQLite clients following the next +** call to sqlite3rbu_step(). +** +** SQLITE_RBU_STATE_CHECKPOINT: +** RBU is currently performing an incremental checkpoint. The next call to +** sqlite3rbu_step() will copy a page of data from the *-wal file into +** the target database file. +** +** SQLITE_RBU_STATE_DONE: +** The RBU operation has finished. Any subsequent calls to sqlite3rbu_step() +** will immediately return SQLITE_DONE. +** +** SQLITE_RBU_STATE_ERROR: +** An error has occurred. Any subsequent calls to sqlite3rbu_step() will +** immediately return the SQLite error code associated with the error. +*/ +#define SQLITE_RBU_STATE_OAL 1 +#define SQLITE_RBU_STATE_MOVE 2 +#define SQLITE_RBU_STATE_CHECKPOINT 3 +#define SQLITE_RBU_STATE_DONE 4 +#define SQLITE_RBU_STATE_ERROR 5 + +SQLITE_API int sqlite3rbu_state(sqlite3rbu *pRbu); /* ** Create an RBU VFS named zName that accesses the underlying file-system @@ -164021,7 +166352,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnO ** file-system via "rbu" all the time, even if it only uses RBU functionality ** occasionally. */ -SQLITE_API int SQLITE_STDCALL sqlite3rbu_create_vfs(const char *zName, const char *zParent); +SQLITE_API int sqlite3rbu_create_vfs(const char *zName, const char *zParent); /* ** Deregister and destroy an RBU vfs created by an earlier call to @@ -164031,7 +166362,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_create_vfs(const char *zName, const cha ** before all database handles that use it have been closed, the results ** are undefined. */ -SQLITE_API void SQLITE_STDCALL sqlite3rbu_destroy_vfs(const char *zName); +SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName); #if 0 } /* end of the 'extern "C"' block */ @@ -164874,12 +167205,14 @@ static int rbuObjIterFirst(sqlite3rbu *p, RbuObjIter *pIter){ int rc; memset(pIter, 0, sizeof(RbuObjIter)); - rc = prepareAndCollectError(p->dbRbu, &pIter->pTblIter, &p->zErrmsg, + rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pTblIter, &p->zErrmsg, + sqlite3_mprintf( "SELECT rbu_target_name(name, type='view') AS target, name " "FROM sqlite_master " "WHERE type IN ('table', 'view') AND target IS NOT NULL " + " %s " "ORDER BY name" - ); + , rbuIsVacuum(p) ? "AND rootpage!=0 AND rootpage IS NOT NULL" : "")); if( rc==SQLITE_OK ){ rc = prepareAndCollectError(p->dbMain, &pIter->pIdxIter, &p->zErrmsg, @@ -166285,15 +168618,18 @@ static RbuState *rbuLoadState(sqlite3rbu *p){ ** error occurs, leave an error code and message in the RBU handle. */ static void rbuOpenDatabase(sqlite3rbu *p){ - assert( p->rc==SQLITE_OK ); - assert( p->dbMain==0 && p->dbRbu==0 ); - assert( rbuIsVacuum(p) || p->zTarget!=0 ); + assert( p->rc || (p->dbMain==0 && p->dbRbu==0) ); + assert( p->rc || rbuIsVacuum(p) || p->zTarget!=0 ); /* Open the RBU database */ p->dbRbu = rbuOpenDbhandle(p, p->zRbu, 1); if( p->rc==SQLITE_OK && rbuIsVacuum(p) ){ sqlite3_file_control(p->dbRbu, "main", SQLITE_FCNTL_RBUCNT, (void*)p); + if( p->zState==0 ){ + const char *zFile = sqlite3_db_filename(p->dbRbu, "main"); + p->zState = rbuMPrintf(p, "file://%s-vacuum?modeof=%s", zFile, zFile); + } } /* If using separate RBU and state databases, attach the state database to @@ -166458,9 +168794,9 @@ static void rbuFileSuffix3(const char *zBase, char *z){ #endif { int i, sz; - sz = sqlite3Strlen30(z); + sz = (int)strlen(z)&0xffffff; for(i=sz-1; i>0 && z[i]!='/' && z[i]!='.'; i--){} - if( z[i]=='.' && ALWAYS(sz>i+4) ) memmove(&z[i+1], &z[sz-3], 4); + if( z[i]=='.' && sz>i+4 ) memmove(&z[i+1], &z[sz-3], 4); } #endif } @@ -167123,7 +169459,7 @@ static void rbuCreateTargetSchema(sqlite3rbu *p){ /* ** Step the RBU object. */ -SQLITE_API int SQLITE_STDCALL sqlite3rbu_step(sqlite3rbu *p){ +SQLITE_API int sqlite3rbu_step(sqlite3rbu *p){ if( p ){ switch( p->eStage ){ case RBU_STAGE_OAL: { @@ -167428,8 +169764,7 @@ static sqlite3rbu *openRbuHandle( sqlite3rbu *p; size_t nTarget = zTarget ? strlen(zTarget) : 0; size_t nRbu = strlen(zRbu); - size_t nState = zState ? strlen(zState) : 0; - size_t nByte = sizeof(sqlite3rbu) + nTarget+1 + nRbu+1+ nState+1; + size_t nByte = sizeof(sqlite3rbu) + nTarget+1 + nRbu+1; p = (sqlite3rbu*)sqlite3_malloc64(nByte); if( p ){ @@ -167451,8 +169786,7 @@ static sqlite3rbu *openRbuHandle( memcpy(p->zRbu, zRbu, nRbu+1); pCsr += nRbu+1; if( zState ){ - p->zState = pCsr; - memcpy(p->zState, zState, nState+1); + p->zState = rbuMPrintf(p, "%s", zState); } rbuOpenDatabase(p); } @@ -167506,30 +169840,7 @@ static sqlite3rbu *openRbuHandle( if( p->rc==SQLITE_OK ){ if( p->eStage==RBU_STAGE_OAL ){ sqlite3 *db = p->dbMain; - - if( pState->eStage==0 && rbuIsVacuum(p) ){ - rbuCopyPragma(p, "page_size"); - rbuCopyPragma(p, "auto_vacuum"); - } - - /* Open transactions both databases. The *-oal file is opened or - ** created at this point. */ - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_exec(db, "BEGIN IMMEDIATE", 0, 0, &p->zErrmsg); - } - if( p->rc==SQLITE_OK ){ - p->rc = sqlite3_exec(p->dbRbu, "BEGIN", 0, 0, &p->zErrmsg); - } - - /* Check if the main database is a zipvfs db. If it is, set the upper - ** level pager to use "journal_mode=off". This prevents it from - ** generating a large journal using a temp file. */ - if( p->rc==SQLITE_OK ){ - int frc = sqlite3_file_control(db, "main", SQLITE_FCNTL_ZIPVFS, 0); - if( frc==SQLITE_OK ){ - p->rc = sqlite3_exec(db, "PRAGMA journal_mode=off",0,0,&p->zErrmsg); - } - } + p->rc = sqlite3_exec(p->dbRbu, "BEGIN", 0, 0, &p->zErrmsg); /* Point the object iterator at the first object */ if( p->rc==SQLITE_OK ){ @@ -167540,12 +169851,34 @@ static sqlite3rbu *openRbuHandle( ** update finished. */ if( p->rc==SQLITE_OK && p->objiter.zTbl==0 ){ p->rc = SQLITE_DONE; - } + p->eStage = RBU_STAGE_DONE; + }else{ + if( p->rc==SQLITE_OK && pState->eStage==0 && rbuIsVacuum(p) ){ + rbuCopyPragma(p, "page_size"); + rbuCopyPragma(p, "auto_vacuum"); + } - if( p->rc==SQLITE_OK ){ - rbuSetupOal(p, pState); - } + /* Open transactions both databases. The *-oal file is opened or + ** created at this point. */ + if( p->rc==SQLITE_OK ){ + p->rc = sqlite3_exec(db, "BEGIN IMMEDIATE", 0, 0, &p->zErrmsg); + } + + /* Check if the main database is a zipvfs db. If it is, set the upper + ** level pager to use "journal_mode=off". This prevents it from + ** generating a large journal using a temp file. */ + if( p->rc==SQLITE_OK ){ + int frc = sqlite3_file_control(db, "main", SQLITE_FCNTL_ZIPVFS, 0); + if( frc==SQLITE_OK ){ + p->rc = sqlite3_exec( + db, "PRAGMA journal_mode=off",0,0,&p->zErrmsg); + } + } + if( p->rc==SQLITE_OK ){ + rbuSetupOal(p, pState); + } + } }else if( p->eStage==RBU_STAGE_MOVE ){ /* no-op */ }else if( p->eStage==RBU_STAGE_CKPT ){ @@ -167563,14 +169896,29 @@ static sqlite3rbu *openRbuHandle( return p; } +/* +** Allocate and return an RBU handle with all fields zeroed except for the +** error code, which is set to SQLITE_MISUSE. +*/ +static sqlite3rbu *rbuMisuseError(void){ + sqlite3rbu *pRet; + pRet = sqlite3_malloc64(sizeof(sqlite3rbu)); + if( pRet ){ + memset(pRet, 0, sizeof(sqlite3rbu)); + pRet->rc = SQLITE_MISUSE; + } + return pRet; +} + /* ** Open and return a new RBU handle. */ -SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_open( +SQLITE_API sqlite3rbu *sqlite3rbu_open( const char *zTarget, const char *zRbu, const char *zState ){ + if( zTarget==0 || zRbu==0 ){ return rbuMisuseError(); } /* TODO: Check that zTarget and zRbu are non-NULL */ return openRbuHandle(zTarget, zRbu, zState); } @@ -167578,10 +169926,11 @@ SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_open( /* ** Open a handle to begin or resume an RBU VACUUM operation. */ -SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_vacuum( +SQLITE_API sqlite3rbu *sqlite3rbu_vacuum( const char *zTarget, const char *zState ){ + if( zTarget==0 ){ return rbuMisuseError(); } /* TODO: Check that both arguments are non-NULL */ return openRbuHandle(0, zTarget, zState); } @@ -167589,7 +169938,7 @@ SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_vacuum( /* ** Return the database handle used by pRbu. */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3rbu_db(sqlite3rbu *pRbu, int bRbu){ +SQLITE_API sqlite3 *sqlite3rbu_db(sqlite3rbu *pRbu, int bRbu){ sqlite3 *db = 0; if( pRbu ){ db = (bRbu ? pRbu->dbRbu : pRbu->dbMain); @@ -167621,7 +169970,7 @@ static void rbuEditErrmsg(sqlite3rbu *p){ /* ** Close the RBU handle. */ -SQLITE_API int SQLITE_STDCALL sqlite3rbu_close(sqlite3rbu *p, char **pzErrmsg){ +SQLITE_API int sqlite3rbu_close(sqlite3rbu *p, char **pzErrmsg){ int rc; if( p ){ @@ -167659,6 +170008,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_close(sqlite3rbu *p, char **pzErrmsg){ rbuEditErrmsg(p); rc = p->rc; *pzErrmsg = p->zErrmsg; + sqlite3_free(p->zState); sqlite3_free(p); }else{ rc = SQLITE_NOMEM; @@ -167672,7 +170022,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_close(sqlite3rbu *p, char **pzErrmsg){ ** updates) that have been performed on the target database since the ** current RBU update was started. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3rbu_progress(sqlite3rbu *pRbu){ +SQLITE_API sqlite3_int64 sqlite3rbu_progress(sqlite3rbu *pRbu){ return pRbu->nProgress; } @@ -167680,7 +170030,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3rbu_progress(sqlite3rbu *pRbu){ ** Return permyriadage progress indications for the two main stages of ** an RBU update. */ -SQLITE_API void SQLITE_STDCALL sqlite3rbu_bp_progress(sqlite3rbu *p, int *pnOne, int *pnTwo){ +SQLITE_API void sqlite3rbu_bp_progress(sqlite3rbu *p, int *pnOne, int *pnTwo){ const int MAX_PROGRESS = 10000; switch( p->eStage ){ case RBU_STAGE_OAL: @@ -167712,9 +170062,39 @@ SQLITE_API void SQLITE_STDCALL sqlite3rbu_bp_progress(sqlite3rbu *p, int *pnOne, } } -SQLITE_API int SQLITE_STDCALL sqlite3rbu_savestate(sqlite3rbu *p){ +/* +** Return the current state of the RBU vacuum or update operation. +*/ +SQLITE_API int sqlite3rbu_state(sqlite3rbu *p){ + int aRes[] = { + 0, SQLITE_RBU_STATE_OAL, SQLITE_RBU_STATE_MOVE, + 0, SQLITE_RBU_STATE_CHECKPOINT, SQLITE_RBU_STATE_DONE + }; + + assert( RBU_STAGE_OAL==1 ); + assert( RBU_STAGE_MOVE==2 ); + assert( RBU_STAGE_CKPT==4 ); + assert( RBU_STAGE_DONE==5 ); + assert( aRes[RBU_STAGE_OAL]==SQLITE_RBU_STATE_OAL ); + assert( aRes[RBU_STAGE_MOVE]==SQLITE_RBU_STATE_MOVE ); + assert( aRes[RBU_STAGE_CKPT]==SQLITE_RBU_STATE_CHECKPOINT ); + assert( aRes[RBU_STAGE_DONE]==SQLITE_RBU_STATE_DONE ); + + if( p->rc!=SQLITE_OK && p->rc!=SQLITE_DONE ){ + return SQLITE_RBU_STATE_ERROR; + }else{ + assert( p->rc!=SQLITE_DONE || p->eStage==RBU_STAGE_DONE ); + assert( p->eStage==RBU_STAGE_OAL + || p->eStage==RBU_STAGE_MOVE + || p->eStage==RBU_STAGE_CKPT + || p->eStage==RBU_STAGE_DONE + ); + return aRes[p->eStage]; + } +} + +SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *p){ int rc = p->rc; - if( rc==SQLITE_DONE ) return SQLITE_OK; assert( p->eStage>=RBU_STAGE_OAL && p->eStage<=RBU_STAGE_DONE ); @@ -168540,7 +170920,7 @@ static int rbuVfsGetLastError(sqlite3_vfs *pVfs, int a, char *b){ ** Deregister and destroy an RBU vfs created by an earlier call to ** sqlite3rbu_create_vfs(). */ -SQLITE_API void SQLITE_STDCALL sqlite3rbu_destroy_vfs(const char *zName){ +SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName){ sqlite3_vfs *pVfs = sqlite3_vfs_find(zName); if( pVfs && pVfs->xOpen==rbuVfsOpen ){ sqlite3_mutex_free(((rbu_vfs*)pVfs)->mutex); @@ -168554,7 +170934,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3rbu_destroy_vfs(const char *zName){ ** via existing VFS zParent. The new object is registered as a non-default ** VFS with SQLite before returning. */ -SQLITE_API int SQLITE_STDCALL sqlite3rbu_create_vfs(const char *zName, const char *zParent){ +SQLITE_API int sqlite3rbu_create_vfs(const char *zName, const char *zParent){ /* Template for VFS */ static sqlite3_vfs vfs_template = { @@ -168696,10 +171076,10 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_create_vfs(const char *zName, const cha */ #define VTAB_SCHEMA \ "CREATE TABLE xx( " \ - " name STRING, /* Name of table or index */" \ - " path INTEGER, /* Path to page from root */" \ + " name TEXT, /* Name of table or index */" \ + " path TEXT, /* Path to page from root */" \ " pageno INTEGER, /* Page number */" \ - " pagetype STRING, /* 'internal', 'leaf' or 'overflow' */" \ + " pagetype TEXT, /* 'internal', 'leaf' or 'overflow' */" \ " ncell INTEGER, /* Cells on page (0 for overflow) */" \ " payload INTEGER, /* Bytes of payload on this page */" \ " unused INTEGER, /* Bytes of unused space on this page */" \ @@ -169240,7 +171620,7 @@ static int statFilter( " UNION ALL " "SELECT name, rootpage, type" " FROM \"%w\".%s WHERE rootpage!=0" - " ORDER BY name", pTab->db->aDb[pCsr->iDb].zName, zMaster); + " ORDER BY name", pTab->db->aDb[pCsr->iDb].zDbSName, zMaster); if( zSql==0 ){ return SQLITE_NOMEM_BKPT; }else{ @@ -169294,7 +171674,7 @@ static int statColumn( default: { /* schema */ sqlite3 *db = sqlite3_context_db_handle(ctx); int iDb = pCsr->iDb; - sqlite3_result_text(ctx, db->aDb[iDb].zName, -1, SQLITE_STATIC); + sqlite3_result_text(ctx, db->aDb[iDb].zDbSName, -1, SQLITE_STATIC); break; } } @@ -170799,7 +173179,7 @@ static int sessionDiffFindModified( return rc; } -SQLITE_API int SQLITE_STDCALL sqlite3session_diff( +SQLITE_API int sqlite3session_diff( sqlite3_session *pSession, const char *zFrom, const char *zTbl, @@ -170893,7 +173273,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3session_diff( ** Create a session object. This session object will record changes to ** database zDb attached to connection db. */ -SQLITE_API int SQLITE_STDCALL sqlite3session_create( +SQLITE_API int sqlite3session_create( sqlite3 *db, /* Database handle */ const char *zDb, /* Name of db (e.g. "main") */ sqlite3_session **ppSession /* OUT: New session object */ @@ -170955,7 +173335,7 @@ static void sessionDeleteTable(SessionTable *pList){ /* ** Delete a session object previously allocated using sqlite3session_create(). */ -SQLITE_API void SQLITE_STDCALL sqlite3session_delete(sqlite3_session *pSession){ +SQLITE_API void sqlite3session_delete(sqlite3_session *pSession){ sqlite3 *db = pSession->db; sqlite3_session *pHead; sqlite3_session **pp; @@ -170984,7 +173364,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3session_delete(sqlite3_session *pSession){ /* ** Set a table filter on a Session Object. */ -SQLITE_API void SQLITE_STDCALL sqlite3session_table_filter( +SQLITE_API void sqlite3session_table_filter( sqlite3_session *pSession, int(*xFilter)(void*, const char*), void *pCtx /* First argument passed to xFilter */ @@ -171002,7 +173382,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3session_table_filter( ** not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) ** or not. */ -SQLITE_API int SQLITE_STDCALL sqlite3session_attach( +SQLITE_API int sqlite3session_attach( sqlite3_session *pSession, /* Session object */ const char *zName /* Table name */ ){ @@ -171692,7 +174072,7 @@ static int sessionGenerateChangeset( ** It is the responsibility of the caller to eventually free the buffer ** using sqlite3_free(). */ -SQLITE_API int SQLITE_STDCALL sqlite3session_changeset( +SQLITE_API int sqlite3session_changeset( sqlite3_session *pSession, /* Session object */ int *pnChangeset, /* OUT: Size of buffer at *ppChangeset */ void **ppChangeset /* OUT: Buffer containing changeset */ @@ -171703,7 +174083,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3session_changeset( /* ** Streaming version of sqlite3session_changeset(). */ -SQLITE_API int SQLITE_STDCALL sqlite3session_changeset_strm( +SQLITE_API int sqlite3session_changeset_strm( sqlite3_session *pSession, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut @@ -171714,7 +174094,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3session_changeset_strm( /* ** Streaming version of sqlite3session_patchset(). */ -SQLITE_API int SQLITE_STDCALL sqlite3session_patchset_strm( +SQLITE_API int sqlite3session_patchset_strm( sqlite3_session *pSession, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut @@ -171729,7 +174109,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3session_patchset_strm( ** It is the responsibility of the caller to eventually free the buffer ** using sqlite3_free(). */ -SQLITE_API int SQLITE_STDCALL sqlite3session_patchset( +SQLITE_API int sqlite3session_patchset( sqlite3_session *pSession, /* Session object */ int *pnPatchset, /* OUT: Size of buffer at *ppChangeset */ void **ppPatchset /* OUT: Buffer containing changeset */ @@ -171740,7 +174120,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3session_patchset( /* ** Enable or disable the session object passed as the first argument. */ -SQLITE_API int SQLITE_STDCALL sqlite3session_enable(sqlite3_session *pSession, int bEnable){ +SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable){ int ret; sqlite3_mutex_enter(sqlite3_db_mutex(pSession->db)); if( bEnable>=0 ){ @@ -171754,7 +174134,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3session_enable(sqlite3_session *pSession, i /* ** Enable or disable the session object passed as the first argument. */ -SQLITE_API int SQLITE_STDCALL sqlite3session_indirect(sqlite3_session *pSession, int bIndirect){ +SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect){ int ret; sqlite3_mutex_enter(sqlite3_db_mutex(pSession->db)); if( bIndirect>=0 ){ @@ -171769,7 +174149,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3session_indirect(sqlite3_session *pSession, ** Return true if there have been no changes to monitored tables recorded ** by the session object passed as the only argument. */ -SQLITE_API int SQLITE_STDCALL sqlite3session_isempty(sqlite3_session *pSession){ +SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession){ int ret = 0; SessionTable *pTab; @@ -171819,7 +174199,7 @@ static int sessionChangesetStart( /* ** Create an iterator used to iterate through the contents of a changeset. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_start( +SQLITE_API int sqlite3changeset_start( sqlite3_changeset_iter **pp, /* OUT: Changeset iterator handle */ int nChangeset, /* Size of buffer pChangeset in bytes */ void *pChangeset /* Pointer to buffer containing changeset */ @@ -171830,7 +174210,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_start( /* ** Streaming version of sqlite3changeset_start(). */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_start_strm( +SQLITE_API int sqlite3changeset_start_strm( sqlite3_changeset_iter **pp, /* OUT: Changeset iterator handle */ int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn @@ -172251,7 +174631,7 @@ static int sessionChangesetNext( ** This function may not be called on iterators passed to a conflict handler ** callback by changeset_apply(). */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_next(sqlite3_changeset_iter *p){ +SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *p){ return sessionChangesetNext(p, 0, 0); } @@ -172260,7 +174640,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_next(sqlite3_changeset_iter *p){ ** from a changeset iterator. It may only be called after changeset_next() ** has returned SQLITE_ROW. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_op( +SQLITE_API int sqlite3changeset_op( sqlite3_changeset_iter *pIter, /* Iterator handle */ const char **pzTab, /* OUT: Pointer to table name */ int *pnCol, /* OUT: Number of columns in table */ @@ -172280,7 +174660,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_op( ** to. This function may only be called after changeset_next() returns ** SQLITE_ROW. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_pk( +SQLITE_API int sqlite3changeset_pk( sqlite3_changeset_iter *pIter, /* Iterator object */ unsigned char **pabPK, /* OUT: Array of boolean - true for PK cols */ int *pnCol /* OUT: Number of entries in output array */ @@ -172303,7 +174683,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_pk( ** If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is ** not modified. Otherwise, SQLITE_OK. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_old( +SQLITE_API int sqlite3changeset_old( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Index of old.* value to retrieve */ sqlite3_value **ppValue /* OUT: Old value (or NULL pointer) */ @@ -172331,7 +174711,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_old( ** If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is ** not modified. Otherwise, SQLITE_OK. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_new( +SQLITE_API int sqlite3changeset_new( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Index of new.* value to retrieve */ sqlite3_value **ppValue /* OUT: New value (or NULL pointer) */ @@ -172365,7 +174745,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_new( ** If value iVal is out-of-range or some other error occurs, an SQLite error ** code is returned. Otherwise, SQLITE_OK. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_conflict( +SQLITE_API int sqlite3changeset_conflict( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Index of conflict record value to fetch */ sqlite3_value **ppValue /* OUT: Value from conflicting row */ @@ -172388,7 +174768,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_conflict( ** ** In all other cases this function returns SQLITE_MISUSE. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_fk_conflicts( +SQLITE_API int sqlite3changeset_fk_conflicts( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int *pnOut /* OUT: Number of FK violations */ ){ @@ -172406,7 +174786,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_fk_conflicts( ** This function may not be called on iterators passed to a conflict handler ** callback by changeset_apply(). */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_finalize(sqlite3_changeset_iter *p){ +SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *p){ int rc = SQLITE_OK; if( p ){ int i; /* Used to iterate through p->apValue[] */ @@ -172580,7 +174960,7 @@ static int sessionChangesetInvert( /* ** Invert a changeset object. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_invert( +SQLITE_API int sqlite3changeset_invert( int nChangeset, /* Number of bytes in input */ const void *pChangeset, /* Input changeset */ int *pnInverted, /* OUT: Number of bytes in output changeset */ @@ -172599,7 +174979,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_invert( /* ** Streaming version of sqlite3changeset_invert(). */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_invert_strm( +SQLITE_API int sqlite3changeset_invert_strm( int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn, int (*xOutput)(void *pOut, const void *pData, int nData), @@ -173479,7 +175859,7 @@ static int sessionChangesetApply( ** attached to handle "db". Invoke the supplied conflict handler callback ** to resolve any conflicts encountered while applying the change. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_apply( +SQLITE_API int sqlite3changeset_apply( sqlite3 *db, /* Apply change to "main" db of this handle */ int nChangeset, /* Size of changeset in bytes */ void *pChangeset, /* Changeset blob */ @@ -173507,7 +175887,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_apply( ** attached to handle "db". Invoke the supplied conflict handler callback ** to resolve any conflicts encountered while applying the change. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_apply_strm( +SQLITE_API int sqlite3changeset_apply_strm( sqlite3 *db, /* Apply change to "main" db of this handle */ int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */ void *pIn, /* First arg for xInput */ @@ -173842,7 +176222,7 @@ static int sessionChangegroupOutput( /* ** Allocate a new, empty, sqlite3_changegroup. */ -SQLITE_API int SQLITE_STDCALL sqlite3changegroup_new(sqlite3_changegroup **pp){ +SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp){ int rc = SQLITE_OK; /* Return code */ sqlite3_changegroup *p; /* New object */ p = (sqlite3_changegroup*)sqlite3_malloc(sizeof(sqlite3_changegroup)); @@ -173859,7 +176239,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changegroup_new(sqlite3_changegroup **pp){ ** Add the changeset currently stored in buffer pData, size nData bytes, ** to changeset-group p. */ -SQLITE_API int SQLITE_STDCALL sqlite3changegroup_add(sqlite3_changegroup *pGrp, int nData, void *pData){ +SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup *pGrp, int nData, void *pData){ sqlite3_changeset_iter *pIter; /* Iterator opened on pData/nData */ int rc; /* Return code */ @@ -173875,7 +176255,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changegroup_add(sqlite3_changegroup *pGrp, ** Obtain a buffer containing a changeset representing the concatenation ** of all changesets added to the group so far. */ -SQLITE_API int SQLITE_STDCALL sqlite3changegroup_output( +SQLITE_API int sqlite3changegroup_output( sqlite3_changegroup *pGrp, int *pnData, void **ppData @@ -173886,7 +176266,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changegroup_output( /* ** Streaming versions of changegroup_add(). */ -SQLITE_API int SQLITE_STDCALL sqlite3changegroup_add_strm( +SQLITE_API int sqlite3changegroup_add_strm( sqlite3_changegroup *pGrp, int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn @@ -173905,7 +176285,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changegroup_add_strm( /* ** Streaming versions of changegroup_output(). */ -SQLITE_API int SQLITE_STDCALL sqlite3changegroup_output_strm( +SQLITE_API int sqlite3changegroup_output_strm( sqlite3_changegroup *pGrp, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut @@ -173916,7 +176296,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changegroup_output_strm( /* ** Delete a changegroup object. */ -SQLITE_API void SQLITE_STDCALL sqlite3changegroup_delete(sqlite3_changegroup *pGrp){ +SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup *pGrp){ if( pGrp ){ sessionDeleteTable(pGrp->pList); sqlite3_free(pGrp); @@ -173926,7 +176306,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3changegroup_delete(sqlite3_changegroup *pG /* ** Combine two changesets together. */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_concat( +SQLITE_API int sqlite3changeset_concat( int nLeft, /* Number of bytes in lhs input */ void *pLeft, /* Lhs input changeset */ int nRight /* Number of bytes in rhs input */, @@ -173955,7 +176335,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3changeset_concat( /* ** Streaming version of sqlite3changeset_concat(). */ -SQLITE_API int SQLITE_STDCALL sqlite3changeset_concat_strm( +SQLITE_API int sqlite3changeset_concat_strm( int (*xInputA)(void *pIn, void *pData, int *pnData), void *pInA, int (*xInputB)(void *pIn, void *pData, int *pnData), @@ -175198,6 +177578,26 @@ static void jsonTest1Func( ** Scalar SQL function implementations ****************************************************************************/ +/* +** Implementation of the json_QUOTE(VALUE) function. Return a JSON value +** corresponding to the SQL value input. Mostly this means putting +** double-quotes around strings and returning the unquoted string "null" +** when given a NULL input. +*/ +static void jsonQuoteFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonString jx; + UNUSED_PARAM(argc); + + jsonInit(&jx, ctx); + jsonAppendValue(&jx, argv[0]); + jsonResult(&jx); + sqlite3_result_subtype(ctx, JSON_SUBTYPE); +} + /* ** Implementation of the json_array(VALUE,...) function. Return a JSON ** array that contains all values given in arguments. Or if any argument @@ -176111,6 +178511,7 @@ SQLITE_PRIVATE int sqlite3Json1Init(sqlite3 *db){ { "json_extract", -1, 0, jsonExtractFunc }, { "json_insert", -1, 0, jsonSetFunc }, { "json_object", -1, 0, jsonObjectFunc }, + { "json_quote", 1, 0, jsonQuoteFunc }, { "json_remove", -1, 0, jsonRemoveFunc }, { "json_replace", -1, 0, jsonReplaceFunc }, { "json_set", -1, 1, jsonSetFunc }, @@ -176166,7 +178567,7 @@ SQLITE_PRIVATE int sqlite3Json1Init(sqlite3 *db){ #ifdef _WIN32 __declspec(dllexport) #endif -SQLITE_API int SQLITE_STDCALL sqlite3_json_init( +SQLITE_API int sqlite3_json_init( sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi @@ -176511,7 +178912,7 @@ struct Fts5ExtensionApi { ** behaviour. The structure methods are expected to function as follows: ** ** xCreate: -** This function is used to allocate and inititalize a tokenizer instance. +** This function is used to allocate and initialize a tokenizer instance. ** A tokenizer instance is required to actually tokenize text. ** ** The first argument passed to this function is a copy of the (void*) @@ -176771,7 +179172,6 @@ struct fts5_api { #endif /* _FTS5_H */ - /* ** 2014 May 31 ** @@ -177460,7 +179860,6 @@ static int sqlite3Fts5ExprPopulatePoslists( Fts5Config*, Fts5Expr*, Fts5PoslistPopulator*, int, const char*, int ); static void sqlite3Fts5ExprCheckPoslists(Fts5Expr*, i64); -static void sqlite3Fts5ExprClearEof(Fts5Expr*); static int sqlite3Fts5ExprClonePhrase(Fts5Expr*, int, Fts5Expr**); @@ -177512,6 +179911,7 @@ static void sqlite3Fts5ParseNodeFree(Fts5ExprNode*); static void sqlite3Fts5ParseSetDistance(Fts5Parse*, Fts5ExprNearset*, Fts5Token*); static void sqlite3Fts5ParseSetColset(Fts5Parse*, Fts5ExprNearset*, Fts5Colset*); +static Fts5Colset *sqlite3Fts5ParseColsetInvert(Fts5Parse*, Fts5Colset*); static void sqlite3Fts5ParseFinished(Fts5Parse *pParse, Fts5ExprNode *p); static void sqlite3Fts5ParseNear(Fts5Parse *pParse, Fts5Token*); @@ -177569,12 +179969,13 @@ static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic); #define FTS5_COLON 5 #define FTS5_LP 6 #define FTS5_RP 7 -#define FTS5_LCP 8 -#define FTS5_RCP 9 -#define FTS5_STRING 10 -#define FTS5_COMMA 11 -#define FTS5_PLUS 12 -#define FTS5_STAR 13 +#define FTS5_MINUS 8 +#define FTS5_LCP 9 +#define FTS5_RCP 10 +#define FTS5_STRING 11 +#define FTS5_COMMA 12 +#define FTS5_PLUS 13 +#define FTS5_STAR 14 /* ** 2000-05-29 @@ -177688,17 +180089,17 @@ static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic); #endif /************* Begin control #defines *****************************************/ #define fts5YYCODETYPE unsigned char -#define fts5YYNOCODE 27 +#define fts5YYNOCODE 28 #define fts5YYACTIONTYPE unsigned char #define sqlite3Fts5ParserFTS5TOKENTYPE Fts5Token typedef union { int fts5yyinit; sqlite3Fts5ParserFTS5TOKENTYPE fts5yy0; - Fts5Colset* fts5yy3; - Fts5ExprPhrase* fts5yy11; - Fts5ExprNode* fts5yy18; - int fts5yy20; - Fts5ExprNearset* fts5yy26; + int fts5yy4; + Fts5Colset* fts5yy11; + Fts5ExprNode* fts5yy24; + Fts5ExprNearset* fts5yy46; + Fts5ExprPhrase* fts5yy53; } fts5YYMINORTYPE; #ifndef fts5YYSTACKDEPTH #define fts5YYSTACKDEPTH 100 @@ -177707,16 +180108,16 @@ typedef union { #define sqlite3Fts5ParserARG_PDECL ,Fts5Parse *pParse #define sqlite3Fts5ParserARG_FETCH Fts5Parse *pParse = fts5yypParser->pParse #define sqlite3Fts5ParserARG_STORE fts5yypParser->pParse = pParse -#define fts5YYNSTATE 26 -#define fts5YYNRULE 24 -#define fts5YY_MAX_SHIFT 25 -#define fts5YY_MIN_SHIFTREDUCE 40 -#define fts5YY_MAX_SHIFTREDUCE 63 -#define fts5YY_MIN_REDUCE 64 -#define fts5YY_MAX_REDUCE 87 -#define fts5YY_ERROR_ACTION 88 -#define fts5YY_ACCEPT_ACTION 89 -#define fts5YY_NO_ACTION 90 +#define fts5YYNSTATE 29 +#define fts5YYNRULE 26 +#define fts5YY_MAX_SHIFT 28 +#define fts5YY_MIN_SHIFTREDUCE 45 +#define fts5YY_MAX_SHIFTREDUCE 70 +#define fts5YY_MIN_REDUCE 71 +#define fts5YY_MAX_REDUCE 96 +#define fts5YY_ERROR_ACTION 97 +#define fts5YY_ACCEPT_ACTION 98 +#define fts5YY_NO_ACTION 99 /************* End control #defines *******************************************/ /* Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -177748,7 +180149,7 @@ typedef union { ** ** N between fts5YY_MIN_REDUCE Reduce by rule N-fts5YY_MIN_REDUCE ** and fts5YY_MAX_REDUCE - +** ** N == fts5YY_ERROR_ACTION A syntax error has occurred. ** ** N == fts5YY_ACCEPT_ACTION The parser accepts its input. @@ -177757,16 +180158,20 @@ typedef union { ** slots in the fts5yy_action[] table. ** ** The action table is constructed as a single large table named fts5yy_action[]. -** Given state S and lookahead X, the action is computed as +** Given state S and lookahead X, the action is computed as either: ** -** fts5yy_action[ fts5yy_shift_ofst[S] + X ] +** (A) N = fts5yy_action[ fts5yy_shift_ofst[S] + X ] +** (B) N = fts5yy_default[S] ** -** If the index value fts5yy_shift_ofst[S]+X is out of range or if the value -** fts5yy_lookahead[fts5yy_shift_ofst[S]+X] is not equal to X or if fts5yy_shift_ofst[S] -** is equal to fts5YY_SHIFT_USE_DFLT, it means that the action is not in the table -** and that fts5yy_default[S] should be used instead. +** The (A) formula is preferred. The B formula is used instead if: +** (1) The fts5yy_shift_ofst[S]+X value is out of range, or +** (2) fts5yy_lookahead[fts5yy_shift_ofst[S]+X] is not equal to X, or +** (3) fts5yy_shift_ofst[S] equal fts5YY_SHIFT_USE_DFLT. +** (Implementation note: fts5YY_SHIFT_USE_DFLT is chosen so that +** fts5YY_SHIFT_USE_DFLT+X will be out of range for all possible lookaheads X. +** Hence only tests (1) and (2) need to be evaluated.) ** -** The formula above is for computing the action when the lookahead is +** The formulas above are for computing the action when the lookahead is ** a terminal symbol. If the lookahead is a non-terminal (as occurs after ** a reduce action) then the fts5yy_reduce_ofst[] array is used in place of ** the fts5yy_shift_ofst[] array and fts5YY_REDUCE_USE_DFLT is used in place of @@ -177784,48 +180189,50 @@ typedef union { ** fts5yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define fts5YY_ACTTAB_COUNT (78) +#define fts5YY_ACTTAB_COUNT (85) static const fts5YYACTIONTYPE fts5yy_action[] = { - /* 0 */ 89, 15, 46, 5, 48, 24, 12, 19, 23, 14, - /* 10 */ 46, 5, 48, 24, 20, 21, 23, 43, 46, 5, - /* 20 */ 48, 24, 6, 18, 23, 17, 46, 5, 48, 24, - /* 30 */ 75, 7, 23, 25, 46, 5, 48, 24, 62, 47, - /* 40 */ 23, 48, 24, 7, 11, 23, 9, 3, 4, 2, - /* 50 */ 62, 50, 52, 44, 64, 3, 4, 2, 49, 4, - /* 60 */ 2, 1, 23, 11, 16, 9, 12, 2, 10, 61, - /* 70 */ 53, 59, 62, 60, 22, 13, 55, 8, + /* 0 */ 98, 16, 51, 5, 53, 27, 83, 7, 26, 15, + /* 10 */ 51, 5, 53, 27, 13, 69, 26, 48, 51, 5, + /* 20 */ 53, 27, 19, 11, 26, 9, 20, 51, 5, 53, + /* 30 */ 27, 13, 22, 26, 28, 51, 5, 53, 27, 68, + /* 40 */ 1, 26, 19, 11, 17, 9, 52, 10, 53, 27, + /* 50 */ 23, 24, 26, 54, 3, 4, 2, 26, 6, 21, + /* 60 */ 49, 71, 3, 4, 2, 7, 56, 59, 55, 59, + /* 70 */ 4, 2, 12, 69, 58, 60, 18, 67, 62, 69, + /* 80 */ 25, 66, 8, 14, 2, }; static const fts5YYCODETYPE fts5yy_lookahead[] = { - /* 0 */ 15, 16, 17, 18, 19, 20, 10, 11, 23, 16, - /* 10 */ 17, 18, 19, 20, 23, 24, 23, 16, 17, 18, - /* 20 */ 19, 20, 22, 23, 23, 16, 17, 18, 19, 20, - /* 30 */ 5, 6, 23, 16, 17, 18, 19, 20, 13, 17, - /* 40 */ 23, 19, 20, 6, 8, 23, 10, 1, 2, 3, - /* 50 */ 13, 9, 10, 7, 0, 1, 2, 3, 19, 2, - /* 60 */ 3, 6, 23, 8, 21, 10, 10, 3, 10, 25, - /* 70 */ 10, 10, 13, 25, 12, 10, 7, 5, + /* 0 */ 16, 17, 18, 19, 20, 21, 5, 6, 24, 17, + /* 10 */ 18, 19, 20, 21, 11, 14, 24, 17, 18, 19, + /* 20 */ 20, 21, 8, 9, 24, 11, 17, 18, 19, 20, + /* 30 */ 21, 11, 12, 24, 17, 18, 19, 20, 21, 26, + /* 40 */ 6, 24, 8, 9, 22, 11, 18, 11, 20, 21, + /* 50 */ 24, 25, 24, 20, 1, 2, 3, 24, 23, 24, + /* 60 */ 7, 0, 1, 2, 3, 6, 10, 11, 10, 11, + /* 70 */ 2, 3, 9, 14, 11, 11, 22, 26, 7, 14, + /* 80 */ 13, 11, 5, 11, 3, }; -#define fts5YY_SHIFT_USE_DFLT (-5) -#define fts5YY_SHIFT_COUNT (25) -#define fts5YY_SHIFT_MIN (-4) -#define fts5YY_SHIFT_MAX (72) -static const signed char fts5yy_shift_ofst[] = { - /* 0 */ 55, 55, 55, 55, 55, 36, -4, 56, 58, 25, - /* 10 */ 37, 60, 59, 59, 46, 54, 42, 57, 62, 61, - /* 20 */ 62, 69, 65, 62, 72, 64, +#define fts5YY_SHIFT_USE_DFLT (85) +#define fts5YY_SHIFT_COUNT (28) +#define fts5YY_SHIFT_MIN (0) +#define fts5YY_SHIFT_MAX (81) +static const unsigned char fts5yy_shift_ofst[] = { + /* 0 */ 34, 34, 34, 34, 34, 14, 20, 3, 36, 1, + /* 10 */ 59, 64, 64, 65, 65, 53, 61, 56, 58, 63, + /* 20 */ 68, 67, 70, 67, 71, 72, 67, 77, 81, }; -#define fts5YY_REDUCE_USE_DFLT (-16) -#define fts5YY_REDUCE_COUNT (13) -#define fts5YY_REDUCE_MIN (-15) -#define fts5YY_REDUCE_MAX (48) +#define fts5YY_REDUCE_USE_DFLT (-17) +#define fts5YY_REDUCE_COUNT (14) +#define fts5YY_REDUCE_MIN (-16) +#define fts5YY_REDUCE_MAX (54) static const signed char fts5yy_reduce_ofst[] = { - /* 0 */ -15, -7, 1, 9, 17, 22, -9, 0, 39, 44, - /* 10 */ 44, 43, 44, 48, + /* 0 */ -16, -8, 0, 9, 17, 28, 26, 35, 33, 13, + /* 10 */ 13, 22, 54, 13, 51, }; static const fts5YYACTIONTYPE fts5yy_default[] = { - /* 0 */ 88, 88, 88, 88, 88, 69, 82, 88, 88, 87, - /* 10 */ 87, 88, 87, 87, 88, 88, 88, 66, 80, 88, - /* 20 */ 81, 88, 88, 78, 88, 65, + /* 0 */ 97, 97, 97, 97, 97, 76, 91, 97, 97, 96, + /* 10 */ 96, 97, 97, 96, 96, 97, 97, 97, 97, 97, + /* 20 */ 73, 89, 97, 90, 97, 97, 87, 97, 72, }; /********** End of lemon-generated parsing tables *****************************/ @@ -177876,9 +180283,9 @@ typedef struct fts5yyStackEntry fts5yyStackEntry; /* The state of the parser is completely contained in an instance of ** the following structure */ struct fts5yyParser { - int fts5yyidx; /* Index of top element in stack */ + fts5yyStackEntry *fts5yytos; /* Pointer to top element of the stack */ #ifdef fts5YYTRACKMAXSTACKDEPTH - int fts5yyidxMax; /* Maximum value of fts5yyidx */ + int fts5yyhwm; /* High-water mark of the stack */ #endif #ifndef fts5YYNOERRORRECOVERY int fts5yyerrcnt; /* Shifts left before out of the error */ @@ -177887,6 +180294,7 @@ struct fts5yyParser { #if fts5YYSTACKDEPTH<=0 int fts5yystksz; /* Current side of the stack */ fts5yyStackEntry *fts5yystack; /* The parser's stack */ + fts5yyStackEntry fts5yystk0; /* First stack entry */ #else fts5yyStackEntry fts5yystack[fts5YYSTACKDEPTH]; /* The parser's stack */ #endif @@ -177931,11 +180339,11 @@ static void sqlite3Fts5ParserTrace(FILE *TraceFILE, char *zTracePrompt){ static const char *const fts5yyTokenName[] = { "$", "OR", "AND", "NOT", "TERM", "COLON", "LP", "RP", - "LCP", "RCP", "STRING", "COMMA", - "PLUS", "STAR", "error", "input", - "expr", "cnearset", "exprlist", "nearset", - "colset", "colsetlist", "nearphrases", "phrase", - "neardist_opt", "star_opt", + "MINUS", "LCP", "RCP", "STRING", + "COMMA", "PLUS", "STAR", "error", + "input", "expr", "cnearset", "exprlist", + "nearset", "colset", "colsetlist", "nearphrases", + "phrase", "neardist_opt", "star_opt", }; #endif /* NDEBUG */ @@ -177953,44 +180361,56 @@ static const char *const fts5yyRuleName[] = { /* 7 */ "exprlist ::= exprlist cnearset", /* 8 */ "cnearset ::= nearset", /* 9 */ "cnearset ::= colset COLON nearset", - /* 10 */ "colset ::= LCP colsetlist RCP", - /* 11 */ "colset ::= STRING", - /* 12 */ "colsetlist ::= colsetlist STRING", - /* 13 */ "colsetlist ::= STRING", - /* 14 */ "nearset ::= phrase", - /* 15 */ "nearset ::= STRING LP nearphrases neardist_opt RP", - /* 16 */ "nearphrases ::= phrase", - /* 17 */ "nearphrases ::= nearphrases phrase", - /* 18 */ "neardist_opt ::=", - /* 19 */ "neardist_opt ::= COMMA STRING", - /* 20 */ "phrase ::= phrase PLUS STRING star_opt", - /* 21 */ "phrase ::= STRING star_opt", - /* 22 */ "star_opt ::= STAR", - /* 23 */ "star_opt ::=", + /* 10 */ "colset ::= MINUS LCP colsetlist RCP", + /* 11 */ "colset ::= LCP colsetlist RCP", + /* 12 */ "colset ::= STRING", + /* 13 */ "colset ::= MINUS STRING", + /* 14 */ "colsetlist ::= colsetlist STRING", + /* 15 */ "colsetlist ::= STRING", + /* 16 */ "nearset ::= phrase", + /* 17 */ "nearset ::= STRING LP nearphrases neardist_opt RP", + /* 18 */ "nearphrases ::= phrase", + /* 19 */ "nearphrases ::= nearphrases phrase", + /* 20 */ "neardist_opt ::=", + /* 21 */ "neardist_opt ::= COMMA STRING", + /* 22 */ "phrase ::= phrase PLUS STRING star_opt", + /* 23 */ "phrase ::= STRING star_opt", + /* 24 */ "star_opt ::= STAR", + /* 25 */ "star_opt ::=", }; #endif /* NDEBUG */ #if fts5YYSTACKDEPTH<=0 /* -** Try to increase the size of the parser stack. +** Try to increase the size of the parser stack. Return the number +** of errors. Return 0 on success. */ -static void fts5yyGrowStack(fts5yyParser *p){ +static int fts5yyGrowStack(fts5yyParser *p){ int newSize; + int idx; fts5yyStackEntry *pNew; newSize = p->fts5yystksz*2 + 100; - pNew = realloc(p->fts5yystack, newSize*sizeof(pNew[0])); + idx = p->fts5yytos ? (int)(p->fts5yytos - p->fts5yystack) : 0; + if( p->fts5yystack==&p->fts5yystk0 ){ + pNew = malloc(newSize*sizeof(pNew[0])); + if( pNew ) pNew[0] = p->fts5yystk0; + }else{ + pNew = realloc(p->fts5yystack, newSize*sizeof(pNew[0])); + } if( pNew ){ p->fts5yystack = pNew; - p->fts5yystksz = newSize; + p->fts5yytos = &p->fts5yystack[idx]; #ifndef NDEBUG if( fts5yyTraceFILE ){ - fprintf(fts5yyTraceFILE,"%sStack grows to %d entries!\n", - fts5yyTracePrompt, p->fts5yystksz); + fprintf(fts5yyTraceFILE,"%sStack grows from %d to %d entries.\n", + fts5yyTracePrompt, p->fts5yystksz, newSize); } #endif + p->fts5yystksz = newSize; } + return pNew==0; } #endif @@ -178019,15 +180439,24 @@ static void *sqlite3Fts5ParserAlloc(void *(*mallocProc)(fts5YYMALLOCARGTYPE)){ fts5yyParser *pParser; pParser = (fts5yyParser*)(*mallocProc)( (fts5YYMALLOCARGTYPE)sizeof(fts5yyParser) ); if( pParser ){ - pParser->fts5yyidx = -1; #ifdef fts5YYTRACKMAXSTACKDEPTH - pParser->fts5yyidxMax = 0; + pParser->fts5yyhwm = 0; #endif #if fts5YYSTACKDEPTH<=0 + pParser->fts5yytos = NULL; pParser->fts5yystack = NULL; pParser->fts5yystksz = 0; - fts5yyGrowStack(pParser); + if( fts5yyGrowStack(pParser) ){ + pParser->fts5yystack = &pParser->fts5yystk0; + pParser->fts5yystksz = 1; + } #endif +#ifndef fts5YYNOERRORRECOVERY + pParser->fts5yyerrcnt = -1; +#endif + pParser->fts5yytos = pParser->fts5yystack; + pParser->fts5yystack[0].stateno = 0; + pParser->fts5yystack[0].major = 0; } return pParser; } @@ -178057,33 +180486,33 @@ static void fts5yy_destructor( ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case 15: /* input */ + case 16: /* input */ { (void)pParse; } break; - case 16: /* expr */ - case 17: /* cnearset */ - case 18: /* exprlist */ + case 17: /* expr */ + case 18: /* cnearset */ + case 19: /* exprlist */ { - sqlite3Fts5ParseNodeFree((fts5yypminor->fts5yy18)); + sqlite3Fts5ParseNodeFree((fts5yypminor->fts5yy24)); } break; - case 19: /* nearset */ - case 22: /* nearphrases */ + case 20: /* nearset */ + case 23: /* nearphrases */ { - sqlite3Fts5ParseNearsetFree((fts5yypminor->fts5yy26)); + sqlite3Fts5ParseNearsetFree((fts5yypminor->fts5yy46)); } break; - case 20: /* colset */ - case 21: /* colsetlist */ + case 21: /* colset */ + case 22: /* colsetlist */ { - sqlite3_free((fts5yypminor->fts5yy3)); + sqlite3_free((fts5yypminor->fts5yy11)); } break; - case 23: /* phrase */ + case 24: /* phrase */ { - sqlite3Fts5ParsePhraseFree((fts5yypminor->fts5yy11)); + sqlite3Fts5ParsePhraseFree((fts5yypminor->fts5yy53)); } break; /********* End destructor definitions *****************************************/ @@ -178099,8 +180528,9 @@ static void fts5yy_destructor( */ static void fts5yy_pop_parser_stack(fts5yyParser *pParser){ fts5yyStackEntry *fts5yytos; - assert( pParser->fts5yyidx>=0 ); - fts5yytos = &pParser->fts5yystack[pParser->fts5yyidx--]; + assert( pParser->fts5yytos!=0 ); + assert( pParser->fts5yytos > pParser->fts5yystack ); + fts5yytos = pParser->fts5yytos--; #ifndef NDEBUG if( fts5yyTraceFILE ){ fprintf(fts5yyTraceFILE,"%sPopping %s\n", @@ -178127,9 +180557,9 @@ static void sqlite3Fts5ParserFree( #ifndef fts5YYPARSEFREENEVERNULL if( pParser==0 ) return; #endif - while( pParser->fts5yyidx>=0 ) fts5yy_pop_parser_stack(pParser); + while( pParser->fts5yytos>pParser->fts5yystack ) fts5yy_pop_parser_stack(pParser); #if fts5YYSTACKDEPTH<=0 - free(pParser->fts5yystack); + if( pParser->fts5yystack!=&pParser->fts5yystk0 ) free(pParser->fts5yystack); #endif (*freeProc)((void*)pParser); } @@ -178140,7 +180570,7 @@ static void sqlite3Fts5ParserFree( #ifdef fts5YYTRACKMAXSTACKDEPTH static int sqlite3Fts5ParserStackPeak(void *p){ fts5yyParser *pParser = (fts5yyParser*)p; - return pParser->fts5yyidxMax; + return pParser->fts5yyhwm; } #endif @@ -178153,56 +180583,53 @@ static unsigned int fts5yy_find_shift_action( fts5YYCODETYPE iLookAhead /* The look-ahead token */ ){ int i; - int stateno = pParser->fts5yystack[pParser->fts5yyidx].stateno; + int stateno = pParser->fts5yytos->stateno; if( stateno>=fts5YY_MIN_REDUCE ) return stateno; assert( stateno <= fts5YY_SHIFT_COUNT ); do{ i = fts5yy_shift_ofst[stateno]; - if( i==fts5YY_SHIFT_USE_DFLT ) return fts5yy_default[stateno]; assert( iLookAhead!=fts5YYNOCODE ); i += iLookAhead; if( i<0 || i>=fts5YY_ACTTAB_COUNT || fts5yy_lookahead[i]!=iLookAhead ){ - if( iLookAhead>0 ){ #ifdef fts5YYFALLBACK - fts5YYCODETYPE iFallback; /* Fallback token */ - if( iLookAhead %s\n", - fts5yyTracePrompt, fts5yyTokenName[iLookAhead], fts5yyTokenName[iFallback]); - } -#endif - assert( fts5yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ - iLookAhead = iFallback; - continue; + if( fts5yyTraceFILE ){ + fprintf(fts5yyTraceFILE, "%sFALLBACK %s => %s\n", + fts5yyTracePrompt, fts5yyTokenName[iLookAhead], fts5yyTokenName[iFallback]); } +#endif + assert( fts5yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ + iLookAhead = iFallback; + continue; + } #endif #ifdef fts5YYWILDCARD - { - int j = i - iLookAhead + fts5YYWILDCARD; - if( + { + int j = i - iLookAhead + fts5YYWILDCARD; + if( #if fts5YY_SHIFT_MIN+fts5YYWILDCARD<0 - j>=0 && + j>=0 && #endif #if fts5YY_SHIFT_MAX+fts5YYWILDCARD>=fts5YY_ACTTAB_COUNT - j0 + ){ #ifndef NDEBUG - if( fts5yyTraceFILE ){ - fprintf(fts5yyTraceFILE, "%sWILDCARD %s => %s\n", - fts5yyTracePrompt, fts5yyTokenName[iLookAhead], - fts5yyTokenName[fts5YYWILDCARD]); - } -#endif /* NDEBUG */ - return fts5yy_action[j]; + if( fts5yyTraceFILE ){ + fprintf(fts5yyTraceFILE, "%sWILDCARD %s => %s\n", + fts5yyTracePrompt, fts5yyTokenName[iLookAhead], + fts5yyTokenName[fts5YYWILDCARD]); } +#endif /* NDEBUG */ + return fts5yy_action[j]; } -#endif /* fts5YYWILDCARD */ } +#endif /* fts5YYWILDCARD */ return fts5yy_default[stateno]; }else{ return fts5yy_action[i]; @@ -178246,13 +180673,13 @@ static int fts5yy_find_reduce_action( */ static void fts5yyStackOverflow(fts5yyParser *fts5yypParser){ sqlite3Fts5ParserARG_FETCH; - fts5yypParser->fts5yyidx--; + fts5yypParser->fts5yytos--; #ifndef NDEBUG if( fts5yyTraceFILE ){ fprintf(fts5yyTraceFILE,"%sStack Overflow!\n",fts5yyTracePrompt); } #endif - while( fts5yypParser->fts5yyidx>=0 ) fts5yy_pop_parser_stack(fts5yypParser); + while( fts5yypParser->fts5yytos>fts5yypParser->fts5yystack ) fts5yy_pop_parser_stack(fts5yypParser); /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ @@ -178270,11 +180697,11 @@ static void fts5yyTraceShift(fts5yyParser *fts5yypParser, int fts5yyNewState){ if( fts5yyTraceFILE ){ if( fts5yyNewStatefts5yystack[fts5yypParser->fts5yyidx].major], + fts5yyTracePrompt,fts5yyTokenName[fts5yypParser->fts5yytos->major], fts5yyNewState); }else{ fprintf(fts5yyTraceFILE,"%sShift '%s'\n", - fts5yyTracePrompt,fts5yyTokenName[fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx].major]); + fts5yyTracePrompt,fts5yyTokenName[fts5yypParser->fts5yytos->major]); } } } @@ -178292,27 +180719,30 @@ static void fts5yy_shift( sqlite3Fts5ParserFTS5TOKENTYPE fts5yyMinor /* The minor token to shift in */ ){ fts5yyStackEntry *fts5yytos; - fts5yypParser->fts5yyidx++; + fts5yypParser->fts5yytos++; #ifdef fts5YYTRACKMAXSTACKDEPTH - if( fts5yypParser->fts5yyidx>fts5yypParser->fts5yyidxMax ){ - fts5yypParser->fts5yyidxMax = fts5yypParser->fts5yyidx; + if( (int)(fts5yypParser->fts5yytos - fts5yypParser->fts5yystack)>fts5yypParser->fts5yyhwm ){ + fts5yypParser->fts5yyhwm++; + assert( fts5yypParser->fts5yyhwm == (int)(fts5yypParser->fts5yytos - fts5yypParser->fts5yystack) ); } #endif #if fts5YYSTACKDEPTH>0 - if( fts5yypParser->fts5yyidx>=fts5YYSTACKDEPTH ){ + if( fts5yypParser->fts5yytos>=&fts5yypParser->fts5yystack[fts5YYSTACKDEPTH] ){ fts5yyStackOverflow(fts5yypParser); return; } #else - if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz ){ - fts5yyGrowStack(fts5yypParser); - if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz ){ + if( fts5yypParser->fts5yytos>=&fts5yypParser->fts5yystack[fts5yypParser->fts5yystksz] ){ + if( fts5yyGrowStack(fts5yypParser) ){ fts5yyStackOverflow(fts5yypParser); return; } } #endif - fts5yytos = &fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx]; + if( fts5yyNewState > fts5YY_MAX_SHIFT ){ + fts5yyNewState += fts5YY_MIN_REDUCE - fts5YY_MIN_SHIFTREDUCE; + } + fts5yytos = fts5yypParser->fts5yytos; fts5yytos->stateno = (fts5YYACTIONTYPE)fts5yyNewState; fts5yytos->major = (fts5YYCODETYPE)fts5yyMajor; fts5yytos->minor.fts5yy0 = fts5yyMinor; @@ -178326,30 +180756,32 @@ static const struct { fts5YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ unsigned char nrhs; /* Number of right-hand side symbols in the rule */ } fts5yyRuleInfo[] = { - { 15, 1 }, - { 16, 3 }, - { 16, 3 }, - { 16, 3 }, - { 16, 3 }, { 16, 1 }, - { 18, 1 }, - { 18, 2 }, - { 17, 1 }, { 17, 3 }, - { 20, 3 }, - { 20, 1 }, - { 21, 2 }, - { 21, 1 }, + { 17, 3 }, + { 17, 3 }, + { 17, 3 }, + { 17, 1 }, { 19, 1 }, - { 19, 5 }, - { 22, 1 }, + { 19, 2 }, + { 18, 1 }, + { 18, 3 }, + { 21, 4 }, + { 21, 3 }, + { 21, 1 }, + { 21, 2 }, { 22, 2 }, - { 24, 0 }, - { 24, 2 }, - { 23, 4 }, + { 22, 1 }, + { 20, 1 }, + { 20, 5 }, + { 23, 1 }, { 23, 2 }, - { 25, 1 }, { 25, 0 }, + { 25, 2 }, + { 24, 4 }, + { 24, 2 }, + { 26, 1 }, + { 26, 0 }, }; static void fts5yy_accept(fts5yyParser*); /* Forward Declaration */ @@ -178367,7 +180799,7 @@ static void fts5yy_reduce( fts5yyStackEntry *fts5yymsp; /* The top of the parser's stack */ int fts5yysize; /* Amount to pop the stack */ sqlite3Fts5ParserARG_FETCH; - fts5yymsp = &fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx]; + fts5yymsp = fts5yypParser->fts5yytos; #ifndef NDEBUG if( fts5yyTraceFILE && fts5yyruleno<(int)(sizeof(fts5yyRuleName)/sizeof(fts5yyRuleName[0])) ){ fts5yysize = fts5yyRuleInfo[fts5yyruleno].nrhs; @@ -178381,22 +180813,23 @@ static void fts5yy_reduce( ** enough on the stack to push the LHS value */ if( fts5yyRuleInfo[fts5yyruleno].nrhs==0 ){ #ifdef fts5YYTRACKMAXSTACKDEPTH - if( fts5yypParser->fts5yyidx>fts5yypParser->fts5yyidxMax ){ - fts5yypParser->fts5yyidxMax = fts5yypParser->fts5yyidx; + if( (int)(fts5yypParser->fts5yytos - fts5yypParser->fts5yystack)>fts5yypParser->fts5yyhwm ){ + fts5yypParser->fts5yyhwm++; + assert( fts5yypParser->fts5yyhwm == (int)(fts5yypParser->fts5yytos - fts5yypParser->fts5yystack)); } #endif #if fts5YYSTACKDEPTH>0 - if( fts5yypParser->fts5yyidx>=fts5YYSTACKDEPTH-1 ){ + if( fts5yypParser->fts5yytos>=&fts5yypParser->fts5yystack[fts5YYSTACKDEPTH-1] ){ fts5yyStackOverflow(fts5yypParser); return; } #else - if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz-1 ){ - fts5yyGrowStack(fts5yypParser); - if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz-1 ){ + if( fts5yypParser->fts5yytos>=&fts5yypParser->fts5yystack[fts5yypParser->fts5yystksz-1] ){ + if( fts5yyGrowStack(fts5yypParser) ){ fts5yyStackOverflow(fts5yypParser); return; } + fts5yymsp = fts5yypParser->fts5yytos; } #endif } @@ -178413,120 +180846,131 @@ static void fts5yy_reduce( /********** Begin reduce actions **********************************************/ fts5YYMINORTYPE fts5yylhsminor; case 0: /* input ::= expr */ -{ sqlite3Fts5ParseFinished(pParse, fts5yymsp[0].minor.fts5yy18); } +{ sqlite3Fts5ParseFinished(pParse, fts5yymsp[0].minor.fts5yy24); } break; case 1: /* expr ::= expr AND expr */ { - fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_AND, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); + fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_AND, fts5yymsp[-2].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24, 0); } - fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; + fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; case 2: /* expr ::= expr OR expr */ { - fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_OR, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); + fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_OR, fts5yymsp[-2].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24, 0); } - fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; + fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; case 3: /* expr ::= expr NOT expr */ { - fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_NOT, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); + fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_NOT, fts5yymsp[-2].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24, 0); } - fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; + fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; case 4: /* expr ::= LP expr RP */ -{fts5yymsp[-2].minor.fts5yy18 = fts5yymsp[-1].minor.fts5yy18;} +{fts5yymsp[-2].minor.fts5yy24 = fts5yymsp[-1].minor.fts5yy24;} break; case 5: /* expr ::= exprlist */ case 6: /* exprlist ::= cnearset */ fts5yytestcase(fts5yyruleno==6); -{fts5yylhsminor.fts5yy18 = fts5yymsp[0].minor.fts5yy18;} - fts5yymsp[0].minor.fts5yy18 = fts5yylhsminor.fts5yy18; +{fts5yylhsminor.fts5yy24 = fts5yymsp[0].minor.fts5yy24;} + fts5yymsp[0].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; case 7: /* exprlist ::= exprlist cnearset */ { - fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseImplicitAnd(pParse, fts5yymsp[-1].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18); + fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseImplicitAnd(pParse, fts5yymsp[-1].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24); } - fts5yymsp[-1].minor.fts5yy18 = fts5yylhsminor.fts5yy18; + fts5yymsp[-1].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; case 8: /* cnearset ::= nearset */ { - fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy26); + fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy46); } - fts5yymsp[0].minor.fts5yy18 = fts5yylhsminor.fts5yy18; + fts5yymsp[0].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; case 9: /* cnearset ::= colset COLON nearset */ { - sqlite3Fts5ParseSetColset(pParse, fts5yymsp[0].minor.fts5yy26, fts5yymsp[-2].minor.fts5yy3); - fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy26); + sqlite3Fts5ParseSetColset(pParse, fts5yymsp[0].minor.fts5yy46, fts5yymsp[-2].minor.fts5yy11); + fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy46); +} + fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; + break; + case 10: /* colset ::= MINUS LCP colsetlist RCP */ +{ + fts5yymsp[-3].minor.fts5yy11 = sqlite3Fts5ParseColsetInvert(pParse, fts5yymsp[-1].minor.fts5yy11); } - fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; - case 10: /* colset ::= LCP colsetlist RCP */ -{ fts5yymsp[-2].minor.fts5yy3 = fts5yymsp[-1].minor.fts5yy3; } + case 11: /* colset ::= LCP colsetlist RCP */ +{ fts5yymsp[-2].minor.fts5yy11 = fts5yymsp[-1].minor.fts5yy11; } break; - case 11: /* colset ::= STRING */ + case 12: /* colset ::= STRING */ { - fts5yylhsminor.fts5yy3 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); + fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); } - fts5yymsp[0].minor.fts5yy3 = fts5yylhsminor.fts5yy3; + fts5yymsp[0].minor.fts5yy11 = fts5yylhsminor.fts5yy11; break; - case 12: /* colsetlist ::= colsetlist STRING */ + case 13: /* colset ::= MINUS STRING */ +{ + fts5yymsp[-1].minor.fts5yy11 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); + fts5yymsp[-1].minor.fts5yy11 = sqlite3Fts5ParseColsetInvert(pParse, fts5yymsp[-1].minor.fts5yy11); +} + break; + case 14: /* colsetlist ::= colsetlist STRING */ { - fts5yylhsminor.fts5yy3 = sqlite3Fts5ParseColset(pParse, fts5yymsp[-1].minor.fts5yy3, &fts5yymsp[0].minor.fts5yy0); } - fts5yymsp[-1].minor.fts5yy3 = fts5yylhsminor.fts5yy3; + fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseColset(pParse, fts5yymsp[-1].minor.fts5yy11, &fts5yymsp[0].minor.fts5yy0); } + fts5yymsp[-1].minor.fts5yy11 = fts5yylhsminor.fts5yy11; break; - case 13: /* colsetlist ::= STRING */ + case 15: /* colsetlist ::= STRING */ { - fts5yylhsminor.fts5yy3 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); + fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); } - fts5yymsp[0].minor.fts5yy3 = fts5yylhsminor.fts5yy3; + fts5yymsp[0].minor.fts5yy11 = fts5yylhsminor.fts5yy11; break; - case 14: /* nearset ::= phrase */ -{ fts5yylhsminor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); } - fts5yymsp[0].minor.fts5yy26 = fts5yylhsminor.fts5yy26; + case 16: /* nearset ::= phrase */ +{ fts5yylhsminor.fts5yy46 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy53); } + fts5yymsp[0].minor.fts5yy46 = fts5yylhsminor.fts5yy46; break; - case 15: /* nearset ::= STRING LP nearphrases neardist_opt RP */ + case 17: /* nearset ::= STRING LP nearphrases neardist_opt RP */ { sqlite3Fts5ParseNear(pParse, &fts5yymsp[-4].minor.fts5yy0); - sqlite3Fts5ParseSetDistance(pParse, fts5yymsp[-2].minor.fts5yy26, &fts5yymsp[-1].minor.fts5yy0); - fts5yylhsminor.fts5yy26 = fts5yymsp[-2].minor.fts5yy26; + sqlite3Fts5ParseSetDistance(pParse, fts5yymsp[-2].minor.fts5yy46, &fts5yymsp[-1].minor.fts5yy0); + fts5yylhsminor.fts5yy46 = fts5yymsp[-2].minor.fts5yy46; } - fts5yymsp[-4].minor.fts5yy26 = fts5yylhsminor.fts5yy26; + fts5yymsp[-4].minor.fts5yy46 = fts5yylhsminor.fts5yy46; break; - case 16: /* nearphrases ::= phrase */ + case 18: /* nearphrases ::= phrase */ { - fts5yylhsminor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); + fts5yylhsminor.fts5yy46 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy53); } - fts5yymsp[0].minor.fts5yy26 = fts5yylhsminor.fts5yy26; + fts5yymsp[0].minor.fts5yy46 = fts5yylhsminor.fts5yy46; break; - case 17: /* nearphrases ::= nearphrases phrase */ + case 19: /* nearphrases ::= nearphrases phrase */ { - fts5yylhsminor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, fts5yymsp[-1].minor.fts5yy26, fts5yymsp[0].minor.fts5yy11); + fts5yylhsminor.fts5yy46 = sqlite3Fts5ParseNearset(pParse, fts5yymsp[-1].minor.fts5yy46, fts5yymsp[0].minor.fts5yy53); } - fts5yymsp[-1].minor.fts5yy26 = fts5yylhsminor.fts5yy26; + fts5yymsp[-1].minor.fts5yy46 = fts5yylhsminor.fts5yy46; break; - case 18: /* neardist_opt ::= */ + case 20: /* neardist_opt ::= */ { fts5yymsp[1].minor.fts5yy0.p = 0; fts5yymsp[1].minor.fts5yy0.n = 0; } break; - case 19: /* neardist_opt ::= COMMA STRING */ + case 21: /* neardist_opt ::= COMMA STRING */ { fts5yymsp[-1].minor.fts5yy0 = fts5yymsp[0].minor.fts5yy0; } break; - case 20: /* phrase ::= phrase PLUS STRING star_opt */ + case 22: /* phrase ::= phrase PLUS STRING star_opt */ { - fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, fts5yymsp[-3].minor.fts5yy11, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy20); + fts5yylhsminor.fts5yy53 = sqlite3Fts5ParseTerm(pParse, fts5yymsp[-3].minor.fts5yy53, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy4); } - fts5yymsp[-3].minor.fts5yy11 = fts5yylhsminor.fts5yy11; + fts5yymsp[-3].minor.fts5yy53 = fts5yylhsminor.fts5yy53; break; - case 21: /* phrase ::= STRING star_opt */ + case 23: /* phrase ::= STRING star_opt */ { - fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, 0, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy20); + fts5yylhsminor.fts5yy53 = sqlite3Fts5ParseTerm(pParse, 0, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy4); } - fts5yymsp[-1].minor.fts5yy11 = fts5yylhsminor.fts5yy11; + fts5yymsp[-1].minor.fts5yy53 = fts5yylhsminor.fts5yy53; break; - case 22: /* star_opt ::= STAR */ -{ fts5yymsp[0].minor.fts5yy20 = 1; } + case 24: /* star_opt ::= STAR */ +{ fts5yymsp[0].minor.fts5yy4 = 1; } break; - case 23: /* star_opt ::= */ -{ fts5yymsp[1].minor.fts5yy20 = 0; } + case 25: /* star_opt ::= */ +{ fts5yymsp[1].minor.fts5yy4 = 0; } break; default: break; @@ -178537,15 +180981,17 @@ static void fts5yy_reduce( fts5yysize = fts5yyRuleInfo[fts5yyruleno].nrhs; fts5yyact = fts5yy_find_reduce_action(fts5yymsp[-fts5yysize].stateno,(fts5YYCODETYPE)fts5yygoto); if( fts5yyact <= fts5YY_MAX_SHIFTREDUCE ){ - if( fts5yyact>fts5YY_MAX_SHIFT ) fts5yyact += fts5YY_MIN_REDUCE - fts5YY_MIN_SHIFTREDUCE; - fts5yypParser->fts5yyidx -= fts5yysize - 1; + if( fts5yyact>fts5YY_MAX_SHIFT ){ + fts5yyact += fts5YY_MIN_REDUCE - fts5YY_MIN_SHIFTREDUCE; + } fts5yymsp -= fts5yysize-1; + fts5yypParser->fts5yytos = fts5yymsp; fts5yymsp->stateno = (fts5YYACTIONTYPE)fts5yyact; fts5yymsp->major = (fts5YYCODETYPE)fts5yygoto; fts5yyTraceShift(fts5yypParser, fts5yyact); }else{ assert( fts5yyact == fts5YY_ACCEPT_ACTION ); - fts5yypParser->fts5yyidx -= fts5yysize; + fts5yypParser->fts5yytos -= fts5yysize; fts5yy_accept(fts5yypParser); } } @@ -178563,7 +181009,7 @@ static void fts5yy_parse_failed( fprintf(fts5yyTraceFILE,"%sFail!\n",fts5yyTracePrompt); } #endif - while( fts5yypParser->fts5yyidx>=0 ) fts5yy_pop_parser_stack(fts5yypParser); + while( fts5yypParser->fts5yytos>fts5yypParser->fts5yystack ) fts5yy_pop_parser_stack(fts5yypParser); /* Here code is inserted which will be executed whenever the ** parser fails */ /************ Begin %parse_failure code ***************************************/ @@ -178604,7 +181050,10 @@ static void fts5yy_accept( fprintf(fts5yyTraceFILE,"%sAccept!\n",fts5yyTracePrompt); } #endif - while( fts5yypParser->fts5yyidx>=0 ) fts5yy_pop_parser_stack(fts5yypParser); +#ifndef fts5YYNOERRORRECOVERY + fts5yypParser->fts5yyerrcnt = -1; +#endif + assert( fts5yypParser->fts5yytos==fts5yypParser->fts5yystack ); /* Here code is inserted which will be executed whenever the ** parser accepts */ /*********** Begin %parse_accept code *****************************************/ @@ -178647,28 +181096,8 @@ static void sqlite3Fts5Parser( #endif fts5yyParser *fts5yypParser; /* The parser */ - /* (re)initialize the parser, if necessary */ fts5yypParser = (fts5yyParser*)fts5yyp; - if( fts5yypParser->fts5yyidx<0 ){ -#if fts5YYSTACKDEPTH<=0 - if( fts5yypParser->fts5yystksz <=0 ){ - fts5yyStackOverflow(fts5yypParser); - return; - } -#endif - fts5yypParser->fts5yyidx = 0; -#ifndef fts5YYNOERRORRECOVERY - fts5yypParser->fts5yyerrcnt = -1; -#endif - fts5yypParser->fts5yystack[0].stateno = 0; - fts5yypParser->fts5yystack[0].major = 0; -#ifndef NDEBUG - if( fts5yyTraceFILE ){ - fprintf(fts5yyTraceFILE,"%sInitialize. Empty stack. State 0\n", - fts5yyTracePrompt); - } -#endif - } + assert( fts5yypParser->fts5yytos!=0 ); #if !defined(fts5YYERRORSYMBOL) && !defined(fts5YYNOERRORRECOVERY) fts5yyendofinput = (fts5yymajor==0); #endif @@ -178683,7 +181112,6 @@ static void sqlite3Fts5Parser( do{ fts5yyact = fts5yy_find_shift_action(fts5yypParser,(fts5YYCODETYPE)fts5yymajor); if( fts5yyact <= fts5YY_MAX_SHIFTREDUCE ){ - if( fts5yyact > fts5YY_MAX_SHIFT ) fts5yyact += fts5YY_MIN_REDUCE - fts5YY_MIN_SHIFTREDUCE; fts5yy_shift(fts5yypParser,fts5yyact,fts5yymajor,fts5yyminor); #ifndef fts5YYNOERRORRECOVERY fts5yypParser->fts5yyerrcnt--; @@ -178725,7 +181153,7 @@ static void sqlite3Fts5Parser( if( fts5yypParser->fts5yyerrcnt<0 ){ fts5yy_syntax_error(fts5yypParser,fts5yymajor,fts5yyminor); } - fts5yymx = fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx].major; + fts5yymx = fts5yypParser->fts5yytos->major; if( fts5yymx==fts5YYERRORSYMBOL || fts5yyerrorhit ){ #ifndef NDEBUG if( fts5yyTraceFILE ){ @@ -178736,18 +181164,20 @@ static void sqlite3Fts5Parser( fts5yy_destructor(fts5yypParser, (fts5YYCODETYPE)fts5yymajor, &fts5yyminorunion); fts5yymajor = fts5YYNOCODE; }else{ - while( - fts5yypParser->fts5yyidx >= 0 && - fts5yymx != fts5YYERRORSYMBOL && - (fts5yyact = fts5yy_find_reduce_action( - fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx].stateno, + while( fts5yypParser->fts5yytos >= fts5yypParser->fts5yystack + && fts5yymx != fts5YYERRORSYMBOL + && (fts5yyact = fts5yy_find_reduce_action( + fts5yypParser->fts5yytos->stateno, fts5YYERRORSYMBOL)) >= fts5YY_MIN_REDUCE ){ fts5yy_pop_parser_stack(fts5yypParser); } - if( fts5yypParser->fts5yyidx < 0 || fts5yymajor==0 ){ + if( fts5yypParser->fts5yytos < fts5yypParser->fts5yystack || fts5yymajor==0 ){ fts5yy_destructor(fts5yypParser,(fts5YYCODETYPE)fts5yymajor,&fts5yyminorunion); fts5yy_parse_failed(fts5yypParser); +#ifndef fts5YYNOERRORRECOVERY + fts5yypParser->fts5yyerrcnt = -1; +#endif fts5yymajor = fts5YYNOCODE; }else if( fts5yymx!=fts5YYERRORSYMBOL ){ fts5yy_shift(fts5yypParser,fts5yyact,fts5YYERRORSYMBOL,fts5yyminor); @@ -178784,18 +181214,23 @@ static void sqlite3Fts5Parser( fts5yy_destructor(fts5yypParser,(fts5YYCODETYPE)fts5yymajor,&fts5yyminorunion); if( fts5yyendofinput ){ fts5yy_parse_failed(fts5yypParser); +#ifndef fts5YYNOERRORRECOVERY + fts5yypParser->fts5yyerrcnt = -1; +#endif } fts5yymajor = fts5YYNOCODE; #endif } - }while( fts5yymajor!=fts5YYNOCODE && fts5yypParser->fts5yyidx>=0 ); + }while( fts5yymajor!=fts5YYNOCODE && fts5yypParser->fts5yytos>fts5yypParser->fts5yystack ); #ifndef NDEBUG if( fts5yyTraceFILE ){ - int i; + fts5yyStackEntry *i; + char cDiv = '['; fprintf(fts5yyTraceFILE,"%sReturn. Stack=",fts5yyTracePrompt); - for(i=1; i<=fts5yypParser->fts5yyidx; i++) - fprintf(fts5yyTraceFILE,"%c%s", i==1 ? '[' : ' ', - fts5yyTokenName[fts5yypParser->fts5yystack[i].major]); + for(i=&fts5yypParser->fts5yystack[1]; i<=fts5yypParser->fts5yytos; i++){ + fprintf(fts5yyTraceFILE,"%c%s", cDiv, fts5yyTokenName[i->major]); + cDiv = ' '; + } fprintf(fts5yyTraceFILE,"]\n"); } #endif @@ -178993,7 +181428,7 @@ static int fts5HighlightCb( if( p->iRangeEnd>0 && iPos==p->iRangeEnd ){ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff); p->iOff = iEndOff; - if( iPositer.iEnd ){ + if( iPos>=p->iter.iStart && iPositer.iEnd ){ fts5HighlightAppend(&rc, p, p->zClose, -1); } } @@ -179050,6 +181485,118 @@ static void fts5HighlightFunction( ** End of highlight() implementation. **************************************************************************/ +/* +** Context object passed to the fts5SentenceFinderCb() function. +*/ +typedef struct Fts5SFinder Fts5SFinder; +struct Fts5SFinder { + int iPos; /* Current token position */ + int nFirstAlloc; /* Allocated size of aFirst[] */ + int nFirst; /* Number of entries in aFirst[] */ + int *aFirst; /* Array of first token in each sentence */ + const char *zDoc; /* Document being tokenized */ +}; + +/* +** Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if +** necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an +** error occurs. +*/ +static int fts5SentenceFinderAdd(Fts5SFinder *p, int iAdd){ + if( p->nFirstAlloc==p->nFirst ){ + int nNew = p->nFirstAlloc ? p->nFirstAlloc*2 : 64; + int *aNew; + + aNew = (int*)sqlite3_realloc(p->aFirst, nNew*sizeof(int)); + if( aNew==0 ) return SQLITE_NOMEM; + p->aFirst = aNew; + p->nFirstAlloc = nNew; + } + p->aFirst[p->nFirst++] = iAdd; + return SQLITE_OK; +} + +/* +** This function is an xTokenize() callback used by the auxiliary snippet() +** function. Its job is to identify tokens that are the first in a sentence. +** For each such token, an entry is added to the SFinder.aFirst[] array. +*/ +static int fts5SentenceFinderCb( + void *pContext, /* Pointer to HighlightContext object */ + int tflags, /* Mask of FTS5_TOKEN_* flags */ + const char *pToken, /* Buffer containing token */ + int nToken, /* Size of token in bytes */ + int iStartOff, /* Start offset of token */ + int iEndOff /* End offset of token */ +){ + int rc = SQLITE_OK; + + UNUSED_PARAM2(pToken, nToken); + UNUSED_PARAM(iEndOff); + + if( (tflags & FTS5_TOKEN_COLOCATED)==0 ){ + Fts5SFinder *p = (Fts5SFinder*)pContext; + if( p->iPos>0 ){ + int i; + char c = 0; + for(i=iStartOff-1; i>=0; i--){ + c = p->zDoc[i]; + if( c!=' ' && c!='\t' && c!='\n' && c!='\r' ) break; + } + if( i!=iStartOff-1 && (c=='.' || c==':') ){ + rc = fts5SentenceFinderAdd(p, p->iPos); + } + }else{ + rc = fts5SentenceFinderAdd(p, 0); + } + p->iPos++; + } + return rc; +} + +static int fts5SnippetScore( + const Fts5ExtensionApi *pApi, /* API offered by current FTS version */ + Fts5Context *pFts, /* First arg to pass to pApi functions */ + int nDocsize, /* Size of column in tokens */ + unsigned char *aSeen, /* Array with one element per query phrase */ + int iCol, /* Column to score */ + int iPos, /* Starting offset to score */ + int nToken, /* Max tokens per snippet */ + int *pnScore, /* OUT: Score */ + int *piPos /* OUT: Adjusted offset */ +){ + int rc; + int i; + int ip = 0; + int ic = 0; + int iOff = 0; + int iFirst = -1; + int nInst; + int nScore = 0; + int iLast = 0; + + rc = pApi->xInstCount(pFts, &nInst); + for(i=0; ixInst(pFts, i, &ip, &ic, &iOff); + if( rc==SQLITE_OK && ic==iCol && iOff>=iPos && iOff<(iPos+nToken) ){ + nScore += (aSeen[ip] ? 1 : 1000); + aSeen[ip] = 1; + if( iFirst<0 ) iFirst = iOff; + iLast = iOff + pApi->xPhraseSize(pFts, ip); + } + } + + *pnScore = nScore; + if( piPos ){ + int iAdj = iFirst - (nToken - (iLast-iFirst)) / 2; + if( (iAdj+nToken)>nDocsize ) iAdj = nDocsize - nToken; + if( iAdj<0 ) iAdj = 0; + *piPos = iAdj; + } + + return rc; +} + /* ** Implementation of snippet() function. */ @@ -179071,9 +181618,10 @@ static void fts5SnippetFunction( unsigned char *aSeen; /* Array of "seen instance" flags */ int iBestCol; /* Column containing best snippet */ int iBestStart = 0; /* First token of best snippet */ - int iBestLast; /* Last token of best snippet */ int nBestScore = 0; /* Score of best snippet */ int nColSize = 0; /* Total size of iBestCol in tokens */ + Fts5SFinder sFinder; /* Used to find the beginnings of sentences */ + int nCol; if( nVal!=5 ){ const char *zErr = "wrong number of arguments to function snippet()"; @@ -179081,13 +181629,13 @@ static void fts5SnippetFunction( return; } + nCol = pApi->xColumnCount(pFts); memset(&ctx, 0, sizeof(HighlightContext)); iCol = sqlite3_value_int(apVal[0]); ctx.zOpen = (const char*)sqlite3_value_text(apVal[1]); ctx.zClose = (const char*)sqlite3_value_text(apVal[2]); zEllips = (const char*)sqlite3_value_text(apVal[3]); nToken = sqlite3_value_int(apVal[4]); - iBestLast = nToken-1; iBestCol = (iCol>=0 ? iCol : 0); nPhrase = pApi->xPhraseCount(pFts); @@ -179095,65 +181643,94 @@ static void fts5SnippetFunction( if( aSeen==0 ){ rc = SQLITE_NOMEM; } - if( rc==SQLITE_OK ){ rc = pApi->xInstCount(pFts, &nInst); } - for(i=0; rc==SQLITE_OK && ixInst(pFts, i, &ip, &iSnippetCol, &iStart); - if( rc==SQLITE_OK && (iCol<0 || iSnippetCol==iCol) ){ - int nScore = 1000; - int iLast = iStart - 1 + pApi->xPhraseSize(pFts, ip); - int j; - aSeen[ip] = 1; - for(j=i+1; rc==SQLITE_OK && jxInst(pFts, j, &ip, &ic, &io); - iFinal = io + pApi->xPhraseSize(pFts, ip) - 1; - if( rc==SQLITE_OK && ic==iSnippetCol && iLastiLast ) iLast = iFinal; + memset(&sFinder, 0, sizeof(Fts5SFinder)); + for(i=0; ixColumnText(pFts, i, &sFinder.zDoc, &nDoc); + if( rc!=SQLITE_OK ) break; + rc = pApi->xTokenize(pFts, + sFinder.zDoc, nDoc, (void*)&sFinder,fts5SentenceFinderCb + ); + if( rc!=SQLITE_OK ) break; + rc = pApi->xColumnSize(pFts, i, &nDocsize); + if( rc!=SQLITE_OK ) break; + + for(ii=0; rc==SQLITE_OK && iixInst(pFts, ii, &ip, &ic, &io); + if( ic!=i || rc!=SQLITE_OK ) continue; + memset(aSeen, 0, nPhrase); + rc = fts5SnippetScore(pApi, pFts, nDocsize, aSeen, i, + io, nToken, &nScore, &iAdj + ); + if( rc==SQLITE_OK && nScore>nBestScore ){ + nBestScore = nScore; + iBestCol = i; + iBestStart = iAdj; + nColSize = nDocsize; } - } - if( rc==SQLITE_OK && nScore>nBestScore ){ - iBestCol = iSnippetCol; - iBestStart = iStart; - iBestLast = iLast; - nBestScore = nScore; + if( rc==SQLITE_OK && sFinder.nFirst && nDocsize>nToken ){ + for(jj=0; jj<(sFinder.nFirst-1); jj++){ + if( sFinder.aFirst[jj+1]>io ) break; + } + + if( sFinder.aFirst[jj]nBestScore ){ + nBestScore = nScore; + iBestCol = i; + iBestStart = sFinder.aFirst[jj]; + nColSize = nDocsize; + } + } + } } } } - if( rc==SQLITE_OK ){ - rc = pApi->xColumnSize(pFts, iBestCol, &nColSize); - } if( rc==SQLITE_OK ){ rc = pApi->xColumnText(pFts, iBestCol, &ctx.zIn, &ctx.nIn); } + if( rc==SQLITE_OK && nColSize==0 ){ + rc = pApi->xColumnSize(pFts, iBestCol, &nColSize); + } if( ctx.zIn ){ if( rc==SQLITE_OK ){ rc = fts5CInstIterInit(pApi, pFts, iBestCol, &ctx.iter); } - if( (iBestStart+nToken-1)>iBestLast ){ - iBestStart -= (iBestStart+nToken-1-iBestLast) / 2; - } - if( iBestStart+nToken>nColSize ){ - iBestStart = nColSize - nToken; - } - if( iBestStart<0 ) iBestStart = 0; - ctx.iRangeStart = iBestStart; ctx.iRangeEnd = iBestStart + nToken - 1; if( iBestStart>0 ){ fts5HighlightAppend(&rc, &ctx, zEllips, -1); } + + /* Advance iterator ctx.iter so that it points to the first coalesced + ** phrase instance at or following position iBestStart. */ + while( ctx.iter.iStart>=0 && ctx.iter.iStartxTokenize(pFts, ctx.zIn, ctx.nIn, (void*)&ctx,fts5HighlightCb); } @@ -179162,15 +181739,15 @@ static void fts5SnippetFunction( }else{ fts5HighlightAppend(&rc, &ctx, zEllips, -1); } - - if( rc==SQLITE_OK ){ - sqlite3_result_text(pCtx, (const char*)ctx.zOut, -1, SQLITE_TRANSIENT); - }else{ - sqlite3_result_error_code(pCtx, rc); - } - sqlite3_free(ctx.zOut); } + if( rc==SQLITE_OK ){ + sqlite3_result_text(pCtx, (const char*)ctx.zOut, -1, SQLITE_TRANSIENT); + }else{ + sqlite3_result_error_code(pCtx, rc); + } + sqlite3_free(ctx.zOut); sqlite3_free(aSeen); + sqlite3_free(sFinder.aFirst); } /************************************************************************/ @@ -180889,6 +183466,7 @@ static int fts5ExprGetToken( case ',': tok = FTS5_COMMA; break; case '+': tok = FTS5_PLUS; break; case '*': tok = FTS5_STAR; break; + case '-': tok = FTS5_MINUS; break; case '\0': tok = FTS5_EOF; break; case '"': { @@ -181475,6 +184053,7 @@ static int fts5ExprNearInitAll( Fts5ExprNearset *pNear = pNode->pNear; int i, j; int rc = SQLITE_OK; + int bEof = 1; assert( pNode->bNomatch==0 ); for(i=0; rc==SQLITE_OK && inPhrase; i++){ @@ -181482,7 +184061,6 @@ static int fts5ExprNearInitAll( for(j=0; jnTerm; j++){ Fts5ExprTerm *pTerm = &pPhrase->aTerm[j]; Fts5ExprTerm *p; - int bEof = 1; for(p=pTerm; p && rc==SQLITE_OK; p=p->pSynonym){ if( p->pIter ){ @@ -181502,13 +184080,12 @@ static int fts5ExprNearInitAll( } } - if( bEof ){ - pNode->bEof = 1; - return rc; - } + if( bEof ) break; } + if( bEof ) break; } + pNode->bEof = bEof; return rc; } @@ -182359,7 +184936,6 @@ static int sqlite3Fts5ExprClonePhrase( ){ int rc = SQLITE_OK; /* Return code */ Fts5ExprPhrase *pOrig; /* The phrase extracted from pExpr */ - int i; /* Used to iterate through phrase terms */ Fts5Expr *pNew = 0; /* Expression to return via *ppNew */ TokenCtx sCtx = {0,0}; /* Context object for fts5ParseTokenize */ @@ -182380,7 +184956,7 @@ static int sqlite3Fts5ExprClonePhrase( if( rc==SQLITE_OK ){ Fts5Colset *pColsetOrig = pOrig->pNode->pNear->pColset; if( pColsetOrig ){ - int nByte = sizeof(Fts5Colset) + pColsetOrig->nCol * sizeof(int); + int nByte = sizeof(Fts5Colset) + (pColsetOrig->nCol-1) * sizeof(int); Fts5Colset *pColset = (Fts5Colset*)sqlite3Fts5MallocZero(&rc, nByte); if( pColset ){ memcpy(pColset, pColsetOrig, nByte); @@ -182389,18 +184965,25 @@ static int sqlite3Fts5ExprClonePhrase( } } - for(i=0; rc==SQLITE_OK && inTerm; i++){ - int tflags = 0; - Fts5ExprTerm *p; - for(p=&pOrig->aTerm[i]; p && rc==SQLITE_OK; p=p->pSynonym){ - const char *zTerm = p->zTerm; - rc = fts5ParseTokenize((void*)&sCtx, tflags, zTerm, (int)strlen(zTerm), - 0, 0); - tflags = FTS5_TOKEN_COLOCATED; - } - if( rc==SQLITE_OK ){ - sCtx.pPhrase->aTerm[i].bPrefix = pOrig->aTerm[i].bPrefix; + if( pOrig->nTerm ){ + int i; /* Used to iterate through phrase terms */ + for(i=0; rc==SQLITE_OK && inTerm; i++){ + int tflags = 0; + Fts5ExprTerm *p; + for(p=&pOrig->aTerm[i]; p && rc==SQLITE_OK; p=p->pSynonym){ + const char *zTerm = p->zTerm; + rc = fts5ParseTokenize((void*)&sCtx, tflags, zTerm, (int)strlen(zTerm), + 0, 0); + tflags = FTS5_TOKEN_COLOCATED; + } + if( rc==SQLITE_OK ){ + sCtx.pPhrase->aTerm[i].bPrefix = pOrig->aTerm[i].bPrefix; + } } + }else{ + /* This happens when parsing a token or quoted phrase that contains + ** no token characters at all. (e.g ... MATCH '""'). */ + sCtx.pPhrase = sqlite3Fts5MallocZero(&rc, sizeof(Fts5ExprPhrase)); } if( rc==SQLITE_OK ){ @@ -182515,6 +185098,34 @@ static Fts5Colset *fts5ParseColset( return pNew; } +/* +** Allocate and return an Fts5Colset object specifying the inverse of +** the colset passed as the second argument. Free the colset passed +** as the second argument before returning. +*/ +static Fts5Colset *sqlite3Fts5ParseColsetInvert(Fts5Parse *pParse, Fts5Colset *p){ + Fts5Colset *pRet; + int nCol = pParse->pConfig->nCol; + + pRet = (Fts5Colset*)sqlite3Fts5MallocZero(&pParse->rc, + sizeof(Fts5Colset) + sizeof(int)*nCol + ); + if( pRet ){ + int i; + int iOld = 0; + for(i=0; i=p->nCol || p->aiCol[iOld]!=i ){ + pRet->aiCol[pRet->nCol++] = i; + }else{ + iOld++; + } + } + } + + sqlite3_free(p); + return pRet; +} + static Fts5Colset *sqlite3Fts5ParseColset( Fts5Parse *pParse, /* Store SQLITE_NOMEM here if required */ Fts5Colset *pColset, /* Existing colset object */ @@ -183339,17 +185950,6 @@ static void sqlite3Fts5ExprCheckPoslists(Fts5Expr *pExpr, i64 iRowid){ fts5ExprCheckPoslists(pExpr->pRoot, iRowid); } -static void fts5ExprClearEof(Fts5ExprNode *pNode){ - int i; - for(i=0; inChild; i++){ - fts5ExprClearEof(pNode->apChild[i]); - } - pNode->bEof = 0; -} -static void sqlite3Fts5ExprClearEof(Fts5Expr *pExpr){ - fts5ExprClearEof(pExpr->pRoot); -} - /* ** This function is only called for detail=columns tables. */ @@ -184621,7 +187221,6 @@ static Fts5Data *fts5DataRead(Fts5Index *p, i64 iRowid){ return pRet; } - /* ** Release a reference to data record returned by an earlier call to ** fts5DataRead(). @@ -184630,6 +187229,18 @@ static void fts5DataRelease(Fts5Data *pData){ sqlite3_free(pData); } +static Fts5Data *fts5LeafRead(Fts5Index *p, i64 iRowid){ + Fts5Data *pRet = fts5DataRead(p, iRowid); + if( pRet ){ + if( pRet->szLeaf>pRet->nn ){ + p->rc = FTS5_CORRUPT; + fts5DataRelease(pRet); + pRet = 0; + } + } + return pRet; +} + static int fts5IndexPrepareStmt( Fts5Index *p, sqlite3_stmt **ppStmt, @@ -185438,7 +188049,7 @@ static void fts5SegIterNextPage( pIter->pLeaf = pIter->pNextLeaf; pIter->pNextLeaf = 0; }else if( pIter->iLeafPgno<=pSeg->pgnoLast ){ - pIter->pLeaf = fts5DataRead(p, + pIter->pLeaf = fts5LeafRead(p, FTS5_SEGMENT_ROWID(pSeg->iSegid, pIter->iLeafPgno) ); }else{ @@ -185941,9 +188552,8 @@ static void fts5SegIterNext( if( pLeaf->nn>pLeaf->szLeaf ){ pIter->iPgidxOff = pLeaf->szLeaf + fts5GetVarint32( &pLeaf->p[pLeaf->szLeaf], pIter->iEndofDoclist - ); + ); } - } else if( pLeaf->nn>pLeaf->szLeaf ){ pIter->iPgidxOff = pLeaf->szLeaf + fts5GetVarint32( @@ -186188,6 +188798,11 @@ static void fts5LeafSeek( iTermOff += nKeep; iOff = iTermOff; + if( iOff>=n ){ + p->rc = FTS5_CORRUPT; + return; + } + /* Read the nKeep field of the next term. */ fts5FastGetVarint32(a, iOff, nKeep); } @@ -187114,6 +189729,15 @@ static void fts5IterSetOutputs_Nocolset(Fts5Iter *pIter, Fts5SegIter *pSeg){ } } +/* +** xSetOutputs callback used when the Fts5Colset object has nCol==0 (match +** against no columns at all). +*/ +static void fts5IterSetOutputs_ZeroColset(Fts5Iter *pIter, Fts5SegIter *pSeg){ + UNUSED_PARAM(pSeg); + pIter->base.nData = 0; +} + /* ** xSetOutputs callback used by detail=col when there is a column filter ** and there are 100 or more columns. Also called as a fallback from @@ -187219,6 +189843,10 @@ static void fts5IterSetOutputCb(int *pRc, Fts5Iter *pIter){ pIter->xSetOutputs = fts5IterSetOutputs_Nocolset; } + else if( pIter->pColset->nCol==0 ){ + pIter->xSetOutputs = fts5IterSetOutputs_ZeroColset; + } + else if( pConfig->eDetail==FTS5_DETAIL_FULL ){ pIter->xSetOutputs = fts5IterSetOutputs_Full; } @@ -191567,7 +194195,6 @@ static int fts5FilterMethod( pCsr->ePlan = FTS5_PLAN_SOURCE; pCsr->pExpr = pTab->pSortCsr->pExpr; rc = fts5CursorFirst(pTab, pCsr, bDesc); - sqlite3Fts5ExprClearEof(pCsr->pExpr); }else if( pMatch ){ const char *zExpr = (const char*)sqlite3_value_text(apVal[0]); if( zExpr==0 ) zExpr = ""; @@ -192996,7 +195623,7 @@ static void fts5SourceIdFunc( ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2016-05-18 10:57:30 fc49f556e48970561d7ab6a2f24fdd7d9eb81ff2", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2016-11-04 12:08:49 1136863c76576110e710dd5d69ab6bf347c65e36", -1, SQLITE_TRANSIENT); } static int fts5Init(sqlite3 *db){ @@ -193084,7 +195711,7 @@ static int fts5Init(sqlite3 *db){ #ifdef _WIN32 __declspec(dllexport) #endif -SQLITE_API int SQLITE_STDCALL sqlite3_fts_init( +SQLITE_API int sqlite3_fts_init( sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi @@ -193097,7 +195724,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_fts_init( #ifdef _WIN32 __declspec(dllexport) #endif -SQLITE_API int SQLITE_STDCALL sqlite3_fts5_init( +SQLITE_API int sqlite3_fts5_init( sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi @@ -193361,7 +195988,11 @@ static int sqlite3Fts5CreateTable( char *zErr = 0; rc = fts5ExecPrintf(pConfig->db, &zErr, "CREATE TABLE %Q.'%q_%q'(%s)%s", - pConfig->zDb, pConfig->zName, zPost, zDefn, bWithout?" WITHOUT ROWID":"" + pConfig->zDb, pConfig->zName, zPost, zDefn, +#ifndef SQLITE_FTS5_NO_WITHOUT_ROWID + bWithout?" WITHOUT ROWID": +#endif + "" ); if( zErr ){ *pzErr = sqlite3_mprintf( @@ -196474,8 +199105,19 @@ static int fts5VocabBestIndexMethod( } } - pInfo->idxNum = idxNum; + /* This virtual table always delivers results in ascending order of + ** the "term" column (column 0). So if the user has requested this + ** specifically - "ORDER BY term" or "ORDER BY term ASC" - set the + ** sqlite3_index_info.orderByConsumed flag to tell the core the results + ** are already in sorted order. */ + if( pInfo->nOrderBy==1 + && pInfo->aOrderBy[0].iColumn==0 + && pInfo->aOrderBy[0].desc==0 + ){ + pInfo->orderByConsumed = 1; + } + pInfo->idxNum = idxNum; return SQLITE_OK; } diff --git a/c/sqlite3.h b/c/sqlite3.h index 313b5ec3..d02aeb18 100644 --- a/c/sqlite3.h +++ b/c/sqlite3.h @@ -30,8 +30,8 @@ ** the version number) and changes its name to "sqlite3.h" as ** part of the build process. */ -#ifndef _SQLITE3_H_ -#define _SQLITE3_H_ +#ifndef SQLITE3_H +#define SQLITE3_H #include /* Needed for the definition of va_list */ /* @@ -54,8 +54,17 @@ extern "C" { #ifndef SQLITE_CDECL # define SQLITE_CDECL #endif +#ifndef SQLITE_APICALL +# define SQLITE_APICALL +#endif #ifndef SQLITE_STDCALL -# define SQLITE_STDCALL +# define SQLITE_STDCALL SQLITE_APICALL +#endif +#ifndef SQLITE_CALLBACK +# define SQLITE_CALLBACK +#endif +#ifndef SQLITE_SYSAPI +# define SQLITE_SYSAPI #endif /* @@ -99,7 +108,8 @@ extern "C" { ** be held constant and Z will be incremented or else Y will be incremented ** and Z will be reset to zero. ** -** Since version 3.6.18, SQLite source code has been stored in the +** Since [version 3.6.18] ([dateof:3.6.18]), +** SQLite source code has been stored in the ** Fossil configuration management ** system. ^The SQLITE_SOURCE_ID macro evaluates to ** a string which identifies a particular check-in of SQLite @@ -111,9 +121,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.13.0" -#define SQLITE_VERSION_NUMBER 3013000 -#define SQLITE_SOURCE_ID "2016-05-18 10:57:30 fc49f556e48970561d7ab6a2f24fdd7d9eb81ff2" +#define SQLITE_VERSION "3.15.1" +#define SQLITE_VERSION_NUMBER 3015001 +#define SQLITE_SOURCE_ID "2016-11-04 12:08:49 1136863c76576110e710dd5d69ab6bf347c65e36" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -146,9 +156,9 @@ extern "C" { ** See also: [sqlite_version()] and [sqlite_source_id()]. */ SQLITE_API SQLITE_EXTERN const char sqlite3_version[]; -SQLITE_API const char *SQLITE_STDCALL sqlite3_libversion(void); -SQLITE_API const char *SQLITE_STDCALL sqlite3_sourceid(void); -SQLITE_API int SQLITE_STDCALL sqlite3_libversion_number(void); +SQLITE_API const char *sqlite3_libversion(void); +SQLITE_API const char *sqlite3_sourceid(void); +SQLITE_API int sqlite3_libversion_number(void); /* ** CAPI3REF: Run-Time Library Compilation Options Diagnostics @@ -173,8 +183,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_libversion_number(void); ** [sqlite_compileoption_get()] and the [compile_options pragma]. */ #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS -SQLITE_API int SQLITE_STDCALL sqlite3_compileoption_used(const char *zOptName); -SQLITE_API const char *SQLITE_STDCALL sqlite3_compileoption_get(int N); +SQLITE_API int sqlite3_compileoption_used(const char *zOptName); +SQLITE_API const char *sqlite3_compileoption_get(int N); #endif /* @@ -213,7 +223,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_compileoption_get(int N); ** ** See the [threading mode] documentation for additional information. */ -SQLITE_API int SQLITE_STDCALL sqlite3_threadsafe(void); +SQLITE_API int sqlite3_threadsafe(void); /* ** CAPI3REF: Database Connection Handle @@ -310,8 +320,8 @@ typedef sqlite_uint64 sqlite3_uint64; ** ^Calling sqlite3_close() or sqlite3_close_v2() with a NULL pointer ** argument is a harmless no-op. */ -SQLITE_API int SQLITE_STDCALL sqlite3_close(sqlite3*); -SQLITE_API int SQLITE_STDCALL sqlite3_close_v2(sqlite3*); +SQLITE_API int sqlite3_close(sqlite3*); +SQLITE_API int sqlite3_close_v2(sqlite3*); /* ** The type for a callback function. @@ -382,7 +392,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**); ** the 2nd parameter of sqlite3_exec() while sqlite3_exec() is running. ** */ -SQLITE_API int SQLITE_STDCALL sqlite3_exec( +SQLITE_API int sqlite3_exec( sqlite3*, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ @@ -443,7 +453,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_exec( ** [result codes]. However, experience has shown that many of ** these result codes are too coarse-grained. They do not provide as ** much information about problems as programmers might like. In an effort to -** address this, newer versions of SQLite (version 3.3.8 and later) include +** address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8] +** and later) include ** support for additional result codes that provide more detailed information ** about errors. These [extended result codes] are enabled or disabled ** on a per database connection basis using the @@ -506,6 +517,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_exec( #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) #define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) #define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) +#define SQLITE_OK_LOAD_PERMANENTLY (SQLITE_OK | (1<<8)) /* ** CAPI3REF: Flags For File Open Operations @@ -966,6 +978,12 @@ struct sqlite3_io_methods { ** on whether or not the file has been renamed, moved, or deleted since it ** was first opened. ** +**
  • [[SQLITE_FCNTL_WIN32_GET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_GET_HANDLE] opcode can be used to obtain the +** underlying native file handle associated with a file handle. This file +** control interprets its argument as a pointer to a native file handle and +** writes the resulting value there. +** **
  • [[SQLITE_FCNTL_WIN32_SET_HANDLE]] ** The [SQLITE_FCNTL_WIN32_SET_HANDLE] opcode is used for debugging. This ** opcode causes the xFileControl method to swap the file handle with the one @@ -1016,6 +1034,7 @@ struct sqlite3_io_methods { #define SQLITE_FCNTL_RBU 26 #define SQLITE_FCNTL_VFS_POINTER 27 #define SQLITE_FCNTL_JOURNAL_POINTER 28 +#define SQLITE_FCNTL_WIN32_GET_HANDLE 29 /* deprecated names */ #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE @@ -1035,6 +1054,16 @@ struct sqlite3_io_methods { */ typedef struct sqlite3_mutex sqlite3_mutex; +/* +** CAPI3REF: Loadable Extension Thunk +** +** A pointer to the opaque sqlite3_api_routines structure is passed as +** the third parameter to entry points of [loadable extensions]. This +** structure must be typedefed in order to work around compiler warnings +** on some platforms. +*/ +typedef struct sqlite3_api_routines sqlite3_api_routines; + /* ** CAPI3REF: OS Interface Object ** @@ -1370,10 +1399,10 @@ struct sqlite3_vfs { ** must return [SQLITE_OK] on success and some other [error code] upon ** failure. */ -SQLITE_API int SQLITE_STDCALL sqlite3_initialize(void); -SQLITE_API int SQLITE_STDCALL sqlite3_shutdown(void); -SQLITE_API int SQLITE_STDCALL sqlite3_os_init(void); -SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void); +SQLITE_API int sqlite3_initialize(void); +SQLITE_API int sqlite3_shutdown(void); +SQLITE_API int sqlite3_os_init(void); +SQLITE_API int sqlite3_os_end(void); /* ** CAPI3REF: Configuring The SQLite Library @@ -1406,7 +1435,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void); ** ^If the option is unknown or SQLite is unable to set the option ** then this routine returns a non-zero [error code]. */ -SQLITE_API int SQLITE_CDECL sqlite3_config(int, ...); +SQLITE_API int sqlite3_config(int, ...); /* ** CAPI3REF: Configure database connections @@ -1425,7 +1454,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_config(int, ...); ** ^Calls to sqlite3_db_config() return SQLITE_OK if and only if ** the call is considered successful. */ -SQLITE_API int SQLITE_CDECL sqlite3_db_config(sqlite3*, int op, ...); +SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...); /* ** CAPI3REF: Memory Allocation Routines @@ -1939,7 +1968,7 @@ struct sqlite3_mem_methods { ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. ** There should be two additional arguments. ** When the first argument to this interface is 1, then only the C-API is -** enabled and the SQL function remains disabled. If the first argment to +** enabled and the SQL function remains disabled. If the first argument to ** this interface is 0, then both the C-API and the SQL function are disabled. ** If the first argument is -1, then no changes are made to state of either the ** C-API or the SQL function. @@ -1949,8 +1978,18 @@ struct sqlite3_mem_methods { ** be a NULL pointer, in which case the new setting is not reported back. ** ** +**
    SQLITE_DBCONFIG_MAINDBNAME
    +**
    ^This option is used to change the name of the "main" database +** schema. ^The sole argument is a pointer to a constant UTF8 string +** which will become the new schema name in place of "main". ^SQLite +** does not make a copy of the new main schema name string, so the application +** must ensure that the argument passed into this DBCONFIG option is unchanged +** until after the database connection closes. +**
    +** ** */ +#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ #define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ @@ -1966,7 +2005,7 @@ struct sqlite3_mem_methods { ** [extended result codes] feature of SQLite. ^The extended result ** codes are disabled by default for historical compatibility. */ -SQLITE_API int SQLITE_STDCALL sqlite3_extended_result_codes(sqlite3*, int onoff); +SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); /* ** CAPI3REF: Last Insert Rowid @@ -2018,7 +2057,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_extended_result_codes(sqlite3*, int onoff) ** unpredictable and might not equal either the old or the new ** last insert [rowid]. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_last_insert_rowid(sqlite3*); +SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*); /* ** CAPI3REF: Count The Number Of Rows Modified @@ -2071,7 +2110,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_last_insert_rowid(sqlite3*); ** while [sqlite3_changes()] is running then the value returned ** is unpredictable and not meaningful. */ -SQLITE_API int SQLITE_STDCALL sqlite3_changes(sqlite3*); +SQLITE_API int sqlite3_changes(sqlite3*); /* ** CAPI3REF: Total Number Of Rows Modified @@ -2095,7 +2134,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_changes(sqlite3*); ** while [sqlite3_total_changes()] is running then the value ** returned is unpredictable and not meaningful. */ -SQLITE_API int SQLITE_STDCALL sqlite3_total_changes(sqlite3*); +SQLITE_API int sqlite3_total_changes(sqlite3*); /* ** CAPI3REF: Interrupt A Long-Running Query @@ -2135,7 +2174,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_total_changes(sqlite3*); ** If the database connection closes while [sqlite3_interrupt()] ** is running then bad things will likely happen. */ -SQLITE_API void SQLITE_STDCALL sqlite3_interrupt(sqlite3*); +SQLITE_API void sqlite3_interrupt(sqlite3*); /* ** CAPI3REF: Determine If An SQL Statement Is Complete @@ -2170,8 +2209,8 @@ SQLITE_API void SQLITE_STDCALL sqlite3_interrupt(sqlite3*); ** The input to [sqlite3_complete16()] must be a zero-terminated ** UTF-16 string in native byte order. */ -SQLITE_API int SQLITE_STDCALL sqlite3_complete(const char *sql); -SQLITE_API int SQLITE_STDCALL sqlite3_complete16(const void *sql); +SQLITE_API int sqlite3_complete(const char *sql); +SQLITE_API int sqlite3_complete16(const void *sql); /* ** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors @@ -2232,7 +2271,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_complete16(const void *sql); ** A busy handler must not close the database connection ** or [prepared statement] that invoked the busy handler. */ -SQLITE_API int SQLITE_STDCALL sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*); +SQLITE_API int sqlite3_busy_handler(sqlite3*,int(*)(void*,int),void*); /* ** CAPI3REF: Set A Busy Timeout @@ -2255,7 +2294,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_busy_handler(sqlite3*, int(*)(void*,int), ** ** See also: [PRAGMA busy_timeout] */ -SQLITE_API int SQLITE_STDCALL sqlite3_busy_timeout(sqlite3*, int ms); +SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms); /* ** CAPI3REF: Convenience Routines For Running Queries @@ -2330,7 +2369,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_busy_timeout(sqlite3*, int ms); ** reflected in subsequent calls to [sqlite3_errcode()] or ** [sqlite3_errmsg()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_get_table( +SQLITE_API int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ @@ -2338,7 +2377,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_table( int *pnColumn, /* Number of result columns written here */ char **pzErrmsg /* Error msg written here */ ); -SQLITE_API void SQLITE_STDCALL sqlite3_free_table(char **result); +SQLITE_API void sqlite3_free_table(char **result); /* ** CAPI3REF: Formatted String Printing Functions @@ -2444,10 +2483,10 @@ SQLITE_API void SQLITE_STDCALL sqlite3_free_table(char **result); ** addition that after the string has been read and copied into ** the result, [sqlite3_free()] is called on the input string.)^ */ -SQLITE_API char *SQLITE_CDECL sqlite3_mprintf(const char*,...); -SQLITE_API char *SQLITE_STDCALL sqlite3_vmprintf(const char*, va_list); -SQLITE_API char *SQLITE_CDECL sqlite3_snprintf(int,char*,const char*, ...); -SQLITE_API char *SQLITE_STDCALL sqlite3_vsnprintf(int,char*,const char*, va_list); +SQLITE_API char *sqlite3_mprintf(const char*,...); +SQLITE_API char *sqlite3_vmprintf(const char*, va_list); +SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...); +SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); /* ** CAPI3REF: Memory Allocation Subsystem @@ -2537,12 +2576,12 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_vsnprintf(int,char*,const char*, va_list ** a block of memory after it has been released using ** [sqlite3_free()] or [sqlite3_realloc()]. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_malloc(int); -SQLITE_API void *SQLITE_STDCALL sqlite3_malloc64(sqlite3_uint64); -SQLITE_API void *SQLITE_STDCALL sqlite3_realloc(void*, int); -SQLITE_API void *SQLITE_STDCALL sqlite3_realloc64(void*, sqlite3_uint64); -SQLITE_API void SQLITE_STDCALL sqlite3_free(void*); -SQLITE_API sqlite3_uint64 SQLITE_STDCALL sqlite3_msize(void*); +SQLITE_API void *sqlite3_malloc(int); +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64); +SQLITE_API void *sqlite3_realloc(void*, int); +SQLITE_API void *sqlite3_realloc64(void*, sqlite3_uint64); +SQLITE_API void sqlite3_free(void*); +SQLITE_API sqlite3_uint64 sqlite3_msize(void*); /* ** CAPI3REF: Memory Allocator Statistics @@ -2567,8 +2606,8 @@ SQLITE_API sqlite3_uint64 SQLITE_STDCALL sqlite3_msize(void*); ** by [sqlite3_memory_highwater(1)] is the high-water mark ** prior to the reset. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_used(void); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_highwater(int resetFlag); +SQLITE_API sqlite3_int64 sqlite3_memory_used(void); +SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag); /* ** CAPI3REF: Pseudo-Random Number Generator @@ -2591,7 +2630,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_memory_highwater(int resetFlag); ** internally and without recourse to the [sqlite3_vfs] xRandomness ** method. */ -SQLITE_API void SQLITE_STDCALL sqlite3_randomness(int N, void *P); +SQLITE_API void sqlite3_randomness(int N, void *P); /* ** CAPI3REF: Compile-Time Authorization Callbacks @@ -2674,7 +2713,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_randomness(int N, void *P); ** as stated in the previous paragraph, sqlite3_step() invokes ** sqlite3_prepare_v2() to reprepare a statement after a schema change. */ -SQLITE_API int SQLITE_STDCALL sqlite3_set_authorizer( +SQLITE_API int sqlite3_set_authorizer( sqlite3*, int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), void *pUserData @@ -2754,6 +2793,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_set_authorizer( ** CAPI3REF: Tracing And Profiling Functions ** METHOD: sqlite3 ** +** These routines are deprecated. Use the [sqlite3_trace_v2()] interface +** instead of the routines described here. +** ** These routines register callback functions that can be used for ** tracing and profiling the execution of SQL statements. ** @@ -2779,10 +2821,104 @@ SQLITE_API int SQLITE_STDCALL sqlite3_set_authorizer( ** sqlite3_profile() function is considered experimental and is ** subject to change in future versions of SQLite. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); -SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_profile(sqlite3*, +SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*, + void(*xTrace)(void*,const char*), void*); +SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*, void(*xProfile)(void*,const char*,sqlite3_uint64), void*); +/* +** CAPI3REF: SQL Trace Event Codes +** KEYWORDS: SQLITE_TRACE +** +** These constants identify classes of events that can be monitored +** using the [sqlite3_trace_v2()] tracing logic. The third argument +** to [sqlite3_trace_v2()] is an OR-ed combination of one or more of +** the following constants. ^The first argument to the trace callback +** is one of the following constants. +** +** New tracing constants may be added in future releases. +** +** ^A trace callback has four arguments: xCallback(T,C,P,X). +** ^The T argument is one of the integer type codes above. +** ^The C argument is a copy of the context pointer passed in as the +** fourth argument to [sqlite3_trace_v2()]. +** The P and X arguments are pointers whose meanings depend on T. +** +**
    +** [[SQLITE_TRACE_STMT]]
    SQLITE_TRACE_STMT
    +**
    ^An SQLITE_TRACE_STMT callback is invoked when a prepared statement +** first begins running and possibly at other times during the +** execution of the prepared statement, such as at the start of each +** trigger subprogram. ^The P argument is a pointer to the +** [prepared statement]. ^The X argument is a pointer to a string which +** is the unexpanded SQL text of the prepared statement or an SQL comment +** that indicates the invocation of a trigger. ^The callback can compute +** the same text that would have been returned by the legacy [sqlite3_trace()] +** interface by using the X argument when X begins with "--" and invoking +** [sqlite3_expanded_sql(P)] otherwise. +** +** [[SQLITE_TRACE_PROFILE]]
    SQLITE_TRACE_PROFILE
    +**
    ^An SQLITE_TRACE_PROFILE callback provides approximately the same +** information as is provided by the [sqlite3_profile()] callback. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument points to a 64-bit integer which is the estimated of +** the number of nanosecond that the prepared statement took to run. +** ^The SQLITE_TRACE_PROFILE callback is invoked when the statement finishes. +** +** [[SQLITE_TRACE_ROW]]
    SQLITE_TRACE_ROW
    +**
    ^An SQLITE_TRACE_ROW callback is invoked whenever a prepared +** statement generates a single row of result. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument is unused. +** +** [[SQLITE_TRACE_CLOSE]]
    SQLITE_TRACE_CLOSE
    +**
    ^An SQLITE_TRACE_CLOSE callback is invoked when a database +** connection closes. +** ^The P argument is a pointer to the [database connection] object +** and the X argument is unused. +**
    +*/ +#define SQLITE_TRACE_STMT 0x01 +#define SQLITE_TRACE_PROFILE 0x02 +#define SQLITE_TRACE_ROW 0x04 +#define SQLITE_TRACE_CLOSE 0x08 + +/* +** CAPI3REF: SQL Trace Hook +** METHOD: sqlite3 +** +** ^The sqlite3_trace_v2(D,M,X,P) interface registers a trace callback +** function X against [database connection] D, using property mask M +** and context pointer P. ^If the X callback is +** NULL or if the M mask is zero, then tracing is disabled. The +** M argument should be the bitwise OR-ed combination of +** zero or more [SQLITE_TRACE] constants. +** +** ^Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides +** (cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2(). +** +** ^The X callback is invoked whenever any of the events identified by +** mask M occur. ^The integer return value from the callback is currently +** ignored, though this may change in future releases. Callback +** implementations should return zero to ensure future compatibility. +** +** ^A trace callback is invoked with four arguments: callback(T,C,P,X). +** ^The T argument is one of the [SQLITE_TRACE] +** constants to indicate why the callback was invoked. +** ^The C argument is a copy of the context pointer. +** The P and X arguments are pointers whose meanings depend on T. +** +** The sqlite3_trace_v2() interface is intended to replace the legacy +** interfaces [sqlite3_trace()] and [sqlite3_profile()], both of which +** are deprecated. +*/ +SQLITE_API int sqlite3_trace_v2( + sqlite3*, + unsigned uMask, + int(*xCallback)(unsigned,void*,void*,void*), + void *pCtx +); + /* ** CAPI3REF: Query Progress Callbacks ** METHOD: sqlite3 @@ -2815,7 +2951,7 @@ SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_profile(sqlite3*, ** database connections for the meaning of "modify" in this paragraph. ** */ -SQLITE_API void SQLITE_STDCALL sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); +SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); /* ** CAPI3REF: Opening A New Database Connection @@ -3044,15 +3180,15 @@ SQLITE_API void SQLITE_STDCALL sqlite3_progress_handler(sqlite3*, int, int(*)(vo ** ** See also: [sqlite3_temp_directory] */ -SQLITE_API int SQLITE_STDCALL sqlite3_open( +SQLITE_API int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_open16( +SQLITE_API int sqlite3_open16( const void *filename, /* Database filename (UTF-16) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_open_v2( +SQLITE_API int sqlite3_open_v2( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb, /* OUT: SQLite db handle */ int flags, /* Flags */ @@ -3098,9 +3234,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_open_v2( ** VFS method, then the behavior of this routine is undefined and probably ** undesirable. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_uri_parameter(const char *zFilename, const char *zParam); -SQLITE_API int SQLITE_STDCALL sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_uri_int64(const char*, const char*, sqlite3_int64); +SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam); +SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); +SQLITE_API sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int64); /* @@ -3144,11 +3280,11 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_uri_int64(const char*, const cha ** was invoked incorrectly by the application. In that case, the ** error code and message may or may not be set. */ -SQLITE_API int SQLITE_STDCALL sqlite3_errcode(sqlite3 *db); -SQLITE_API int SQLITE_STDCALL sqlite3_extended_errcode(sqlite3 *db); -SQLITE_API const char *SQLITE_STDCALL sqlite3_errmsg(sqlite3*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_errmsg16(sqlite3*); -SQLITE_API const char *SQLITE_STDCALL sqlite3_errstr(int); +SQLITE_API int sqlite3_errcode(sqlite3 *db); +SQLITE_API int sqlite3_extended_errcode(sqlite3 *db); +SQLITE_API const char *sqlite3_errmsg(sqlite3*); +SQLITE_API const void *sqlite3_errmsg16(sqlite3*); +SQLITE_API const char *sqlite3_errstr(int); /* ** CAPI3REF: Prepared Statement Object @@ -3216,7 +3352,7 @@ typedef struct sqlite3_stmt sqlite3_stmt; ** ** New run-time limit categories may be added in future releases. */ -SQLITE_API int SQLITE_STDCALL sqlite3_limit(sqlite3*, int id, int newVal); +SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); /* ** CAPI3REF: Run-Time Limit Categories @@ -3368,28 +3504,28 @@ SQLITE_API int SQLITE_STDCALL sqlite3_limit(sqlite3*, int id, int newVal); **
  • ** */ -SQLITE_API int SQLITE_STDCALL sqlite3_prepare( +SQLITE_API int sqlite3_prepare( sqlite3 *db, /* Database handle */ const char *zSql, /* SQL statement, UTF-8 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const char **pzTail /* OUT: Pointer to unused portion of zSql */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_prepare_v2( +SQLITE_API int sqlite3_prepare_v2( sqlite3 *db, /* Database handle */ const char *zSql, /* SQL statement, UTF-8 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const char **pzTail /* OUT: Pointer to unused portion of zSql */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_prepare16( +SQLITE_API int sqlite3_prepare16( sqlite3 *db, /* Database handle */ const void *zSql, /* SQL statement, UTF-16 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const void **pzTail /* OUT: Pointer to unused portion of zSql */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_prepare16_v2( +SQLITE_API int sqlite3_prepare16_v2( sqlite3 *db, /* Database handle */ const void *zSql, /* SQL statement, UTF-16 encoded */ int nByte, /* Maximum length of zSql in bytes. */ @@ -3401,11 +3537,35 @@ SQLITE_API int SQLITE_STDCALL sqlite3_prepare16_v2( ** CAPI3REF: Retrieving Statement SQL ** METHOD: sqlite3_stmt ** -** ^This interface can be used to retrieve a saved copy of the original -** SQL text used to create a [prepared statement] if that statement was -** compiled using either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()]. +** ^The sqlite3_sql(P) interface returns a pointer to a copy of the UTF-8 +** SQL text used to create [prepared statement] P if P was +** created by either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()]. +** ^The sqlite3_expanded_sql(P) interface returns a pointer to a UTF-8 +** string containing the SQL text of prepared statement P with +** [bound parameters] expanded. +** +** ^(For example, if a prepared statement is created using the SQL +** text "SELECT $abc,:xyz" and if parameter $abc is bound to integer 2345 +** and parameter :xyz is unbound, then sqlite3_sql() will return +** the original string, "SELECT $abc,:xyz" but sqlite3_expanded_sql() +** will return "SELECT 2345,NULL".)^ +** +** ^The sqlite3_expanded_sql() interface returns NULL if insufficient memory +** is available to hold the result, or if the result would exceed the +** the maximum string length determined by the [SQLITE_LIMIT_LENGTH]. +** +** ^The [SQLITE_TRACE_SIZE_LIMIT] compile-time option limits the size of +** bound parameter expansions. ^The [SQLITE_OMIT_TRACE] compile-time +** option causes sqlite3_expanded_sql() to always return NULL. +** +** ^The string returned by sqlite3_sql(P) is managed by SQLite and is +** automatically freed when the prepared statement is finalized. +** ^The string returned by sqlite3_expanded_sql(P), on the other hand, +** is obtained from [sqlite3_malloc()] and must be free by the application +** by passing it to [sqlite3_free()]. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_sql(sqlite3_stmt *pStmt); +SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); +SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); /* ** CAPI3REF: Determine If An SQL Statement Writes The Database @@ -3437,7 +3597,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_sql(sqlite3_stmt *pStmt); ** change the configuration of a database connection, they do not make ** changes to the content of the database files on disk. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_readonly(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); /* ** CAPI3REF: Determine If A Prepared Statement Has Been Reset @@ -3458,7 +3618,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_stmt_readonly(sqlite3_stmt *pStmt); ** for example, in diagnostic routines to search for prepared ** statements that are holding a transaction open. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_busy(sqlite3_stmt*); +SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*); /* ** CAPI3REF: Dynamically Typed Value Object @@ -3622,20 +3782,20 @@ typedef struct sqlite3_context sqlite3_context; ** See also: [sqlite3_bind_parameter_count()], ** [sqlite3_bind_parameter_name()], and [sqlite3_bind_parameter_index()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, +SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_double(sqlite3_stmt*, int, double); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_int(sqlite3_stmt*, int, int); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_null(sqlite3_stmt*, int); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, +SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double); +SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int); +SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); +SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int); +SQLITE_API int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); +SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); +SQLITE_API int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, void(*)(void*), unsigned char encoding); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); -SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64); +SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); +SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); +SQLITE_API int sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64); /* ** CAPI3REF: Number Of SQL Parameters @@ -3656,7 +3816,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite ** [sqlite3_bind_parameter_name()], and ** [sqlite3_bind_parameter_index()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_count(sqlite3_stmt*); +SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*); /* ** CAPI3REF: Name Of A Host Parameter @@ -3684,7 +3844,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_count(sqlite3_stmt*); ** [sqlite3_bind_parameter_count()], and ** [sqlite3_bind_parameter_index()]. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_bind_parameter_name(sqlite3_stmt*, int); +SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); /* ** CAPI3REF: Index Of A Parameter With A Given Name @@ -3701,7 +3861,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_bind_parameter_name(sqlite3_stmt*, ** [sqlite3_bind_parameter_count()], and ** [sqlite3_bind_parameter_name()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); +SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); /* ** CAPI3REF: Reset All Bindings On A Prepared Statement @@ -3711,7 +3871,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_parameter_index(sqlite3_stmt*, const ** the [sqlite3_bind_blob | bindings] on a [prepared statement]. ** ^Use this routine to reset all host parameters to NULL. */ -SQLITE_API int SQLITE_STDCALL sqlite3_clear_bindings(sqlite3_stmt*); +SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*); /* ** CAPI3REF: Number Of Columns In A Result Set @@ -3723,7 +3883,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_clear_bindings(sqlite3_stmt*); ** ** See also: [sqlite3_data_count()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_column_count(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt); /* ** CAPI3REF: Column Names In A Result Set @@ -3752,8 +3912,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_column_count(sqlite3_stmt *pStmt); ** then the name of the column is unspecified and may change from ** one release of SQLite to the next. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_name(sqlite3_stmt*, int N); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_name16(sqlite3_stmt*, int N); +SQLITE_API const char *sqlite3_column_name(sqlite3_stmt*, int N); +SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N); /* ** CAPI3REF: Source Of Data In A Query Result @@ -3801,12 +3961,12 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_name16(sqlite3_stmt*, int N ** for the same [prepared statement] and result column ** at the same time then the results are undefined. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_database_name(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_database_name16(sqlite3_stmt*,int); -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_table_name(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_table_name16(sqlite3_stmt*,int); -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_origin_name(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_origin_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt*,int); /* ** CAPI3REF: Declared Datatype Of A Query Result @@ -3838,8 +3998,8 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_origin_name16(sqlite3_stmt* ** is associated with individual values, not with the containers ** used to hold those values. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_column_decltype(sqlite3_stmt*,int); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); /* ** CAPI3REF: Evaluate An SQL Statement @@ -3900,7 +4060,8 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt*,in ** other than [SQLITE_ROW] before any subsequent invocation of ** sqlite3_step(). Failure to reset the prepared statement using ** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from -** sqlite3_step(). But after version 3.6.23.1, sqlite3_step() began +** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1], +** sqlite3_step() began ** calling [sqlite3_reset()] automatically in this circumstance rather ** than returning [SQLITE_MISUSE]. This is not considered a compatibility ** break because any application that ever receives an SQLITE_MISUSE error @@ -3919,7 +4080,7 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_column_decltype16(sqlite3_stmt*,in ** then the more specific [error codes] are returned directly ** by sqlite3_step(). The use of the "v2" interface is recommended. */ -SQLITE_API int SQLITE_STDCALL sqlite3_step(sqlite3_stmt*); +SQLITE_API int sqlite3_step(sqlite3_stmt*); /* ** CAPI3REF: Number of columns in a result set @@ -3940,7 +4101,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_step(sqlite3_stmt*); ** ** See also: [sqlite3_column_count()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_data_count(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); /* ** CAPI3REF: Fundamental Datatypes @@ -4130,16 +4291,16 @@ SQLITE_API int SQLITE_STDCALL sqlite3_data_count(sqlite3_stmt *pStmt); ** pointer. Subsequent calls to [sqlite3_errcode()] will return ** [SQLITE_NOMEM].)^ */ -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_blob(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_bytes(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_bytes16(sqlite3_stmt*, int iCol); -SQLITE_API double SQLITE_STDCALL sqlite3_column_double(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_int(sqlite3_stmt*, int iCol); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_column_int64(sqlite3_stmt*, int iCol); -SQLITE_API const unsigned char *SQLITE_STDCALL sqlite3_column_text(sqlite3_stmt*, int iCol); -SQLITE_API const void *SQLITE_STDCALL sqlite3_column_text16(sqlite3_stmt*, int iCol); -SQLITE_API int SQLITE_STDCALL sqlite3_column_type(sqlite3_stmt*, int iCol); -SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_column_value(sqlite3_stmt*, int iCol); +SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes16(sqlite3_stmt*, int iCol); +SQLITE_API double sqlite3_column_double(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_int(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); +SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); +SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol); /* ** CAPI3REF: Destroy A Prepared Statement Object @@ -4167,7 +4328,7 @@ SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_column_value(sqlite3_stmt*, int ** statement after it has been finalized can result in undefined and ** undesirable behavior such as segfaults and heap corruption. */ -SQLITE_API int SQLITE_STDCALL sqlite3_finalize(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt); /* ** CAPI3REF: Reset A Prepared Statement Object @@ -4194,7 +4355,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_finalize(sqlite3_stmt *pStmt); ** ^The [sqlite3_reset(S)] interface does not change the values ** of any [sqlite3_bind_blob|bindings] on the [prepared statement] S. */ -SQLITE_API int SQLITE_STDCALL sqlite3_reset(sqlite3_stmt *pStmt); +SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); /* ** CAPI3REF: Create Or Redefine SQL Functions @@ -4294,7 +4455,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_reset(sqlite3_stmt *pStmt); ** close the database connection nor finalize or reset the prepared ** statement in which the function is running. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_function( +SQLITE_API int sqlite3_create_function( sqlite3 *db, const char *zFunctionName, int nArg, @@ -4304,7 +4465,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function( void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( +SQLITE_API int sqlite3_create_function16( sqlite3 *db, const void *zFunctionName, int nArg, @@ -4314,7 +4475,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( +SQLITE_API int sqlite3_create_function_v2( sqlite3 *db, const char *zFunctionName, int nArg, @@ -4360,12 +4521,12 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( ** these functions, we will not explain what they do. */ #ifndef SQLITE_OMIT_DEPRECATED -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_aggregate_count(sqlite3_context*); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_expired(sqlite3_stmt*); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_global_recover(void); -SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_thread_cleanup(void); -SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int), +SQLITE_API SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_global_recover(void); +SQLITE_API SQLITE_DEPRECATED void sqlite3_thread_cleanup(void); +SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int), void*,sqlite3_int64); #endif @@ -4415,18 +4576,18 @@ SQLITE_API SQLITE_DEPRECATED int SQLITE_STDCALL sqlite3_memory_alarm(void(*)(voi ** These routines must be called from the same thread as ** the SQL function that supplied the [sqlite3_value*] parameters. */ -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_blob(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_bytes(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_bytes16(sqlite3_value*); -SQLITE_API double SQLITE_STDCALL sqlite3_value_double(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_int(sqlite3_value*); -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_value_int64(sqlite3_value*); -SQLITE_API const unsigned char *SQLITE_STDCALL sqlite3_value_text(sqlite3_value*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16(sqlite3_value*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16le(sqlite3_value*); -SQLITE_API const void *SQLITE_STDCALL sqlite3_value_text16be(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_type(sqlite3_value*); -SQLITE_API int SQLITE_STDCALL sqlite3_value_numeric_type(sqlite3_value*); +SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); +SQLITE_API double sqlite3_value_double(sqlite3_value*); +SQLITE_API int sqlite3_value_int(sqlite3_value*); +SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*); +SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*); +SQLITE_API int sqlite3_value_type(sqlite3_value*); +SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); /* ** CAPI3REF: Finding The Subtype Of SQL Values @@ -4442,7 +4603,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_value_numeric_type(sqlite3_value*); ** from the result of one [application-defined SQL function] into the ** input of another. */ -SQLITE_API unsigned int SQLITE_STDCALL sqlite3_value_subtype(sqlite3_value*); +SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*); /* ** CAPI3REF: Copy And Free SQL Values @@ -4458,8 +4619,8 @@ SQLITE_API unsigned int SQLITE_STDCALL sqlite3_value_subtype(sqlite3_value*); ** previously obtained from [sqlite3_value_dup()]. ^If V is a NULL pointer ** then sqlite3_value_free(V) is a harmless no-op. */ -SQLITE_API sqlite3_value *SQLITE_STDCALL sqlite3_value_dup(const sqlite3_value*); -SQLITE_API void SQLITE_STDCALL sqlite3_value_free(sqlite3_value*); +SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value*); +SQLITE_API void sqlite3_value_free(sqlite3_value*); /* ** CAPI3REF: Obtain Aggregate Function Context @@ -4504,7 +4665,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_value_free(sqlite3_value*); ** This routine must be called from the same thread in which ** the aggregate SQL function is running. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_aggregate_context(sqlite3_context*, int nBytes); +SQLITE_API void *sqlite3_aggregate_context(sqlite3_context*, int nBytes); /* ** CAPI3REF: User Data For Functions @@ -4519,7 +4680,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_aggregate_context(sqlite3_context*, int ** This routine must be called from the same thread in which ** the application-defined function is running. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_user_data(sqlite3_context*); +SQLITE_API void *sqlite3_user_data(sqlite3_context*); /* ** CAPI3REF: Database Connection For Functions @@ -4531,7 +4692,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_user_data(sqlite3_context*); ** and [sqlite3_create_function16()] routines that originally ** registered the application defined function. */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_context_db_handle(sqlite3_context*); +SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); /* ** CAPI3REF: Function Auxiliary Data @@ -4563,12 +4724,13 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_context_db_handle(sqlite3_context*); ** SQLite will invoke the destructor function X with parameter P exactly ** once, when the metadata is discarded. ** SQLite is free to discard the metadata at any time, including:
      -**
    • when the corresponding function parameter changes, or -**
    • when [sqlite3_reset()] or [sqlite3_finalize()] is called for the -** SQL statement, or -**
    • when sqlite3_set_auxdata() is invoked again on the same parameter, or -**
    • during the original sqlite3_set_auxdata() call when a memory -** allocation error occurs.
    )^ +**
  • ^(when the corresponding function parameter changes)^, or +**
  • ^(when [sqlite3_reset()] or [sqlite3_finalize()] is called for the +** SQL statement)^, or +**
  • ^(when sqlite3_set_auxdata() is invoked again on the same +** parameter)^, or +**
  • ^(during the original sqlite3_set_auxdata() call when a memory +** allocation error occurs.)^ ** ** Note the last bullet in particular. The destructor X in ** sqlite3_set_auxdata(C,N,P,X) might be called immediately, before the @@ -4584,8 +4746,8 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_context_db_handle(sqlite3_context*); ** These routines must be called from the same thread in which ** the SQL function is running. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_get_auxdata(sqlite3_context*, int N); -SQLITE_API void SQLITE_STDCALL sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*)); +SQLITE_API void *sqlite3_get_auxdata(sqlite3_context*, int N); +SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*)); /* @@ -4721,27 +4883,27 @@ typedef void (*sqlite3_destructor_type)(void*); ** than the one containing the application-defined function that received ** the [sqlite3_context] pointer, the results are undefined. */ -SQLITE_API void SQLITE_STDCALL sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_blob64(sqlite3_context*,const void*, +SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_blob64(sqlite3_context*,const void*, sqlite3_uint64,void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_double(sqlite3_context*, double); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error(sqlite3_context*, const char*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error16(sqlite3_context*, const void*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_toobig(sqlite3_context*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_nomem(sqlite3_context*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_error_code(sqlite3_context*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_int(sqlite3_context*, int); -SQLITE_API void SQLITE_STDCALL sqlite3_result_int64(sqlite3_context*, sqlite3_int64); -SQLITE_API void SQLITE_STDCALL sqlite3_result_null(sqlite3_context*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, +SQLITE_API void sqlite3_result_double(sqlite3_context*, double); +SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int); +SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int); +SQLITE_API void sqlite3_result_error_toobig(sqlite3_context*); +SQLITE_API void sqlite3_result_error_nomem(sqlite3_context*); +SQLITE_API void sqlite3_result_error_code(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); +SQLITE_API void sqlite3_result_null(sqlite3_context*); +SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, void(*)(void*), unsigned char encoding); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); -SQLITE_API void SQLITE_STDCALL sqlite3_result_value(sqlite3_context*, sqlite3_value*); -SQLITE_API void SQLITE_STDCALL sqlite3_result_zeroblob(sqlite3_context*, int n); -SQLITE_API int SQLITE_STDCALL sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n); +SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_value(sqlite3_context*, sqlite3_value*); +SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n); +SQLITE_API int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n); /* @@ -4756,7 +4918,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_result_zeroblob64(sqlite3_context*, sqlite ** The number of subtype bytes preserved by SQLite might increase ** in future releases of SQLite. */ -SQLITE_API void SQLITE_STDCALL sqlite3_result_subtype(sqlite3_context*,unsigned int); +SQLITE_API void sqlite3_result_subtype(sqlite3_context*,unsigned int); /* ** CAPI3REF: Define New Collating Sequences @@ -4838,14 +5000,14 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_subtype(sqlite3_context*,unsigned ** ** See also: [sqlite3_collation_needed()] and [sqlite3_collation_needed16()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation( +SQLITE_API int sqlite3_create_collation( sqlite3*, const char *zName, int eTextRep, void *pArg, int(*xCompare)(void*,int,const void*,int,const void*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation_v2( +SQLITE_API int sqlite3_create_collation_v2( sqlite3*, const char *zName, int eTextRep, @@ -4853,7 +5015,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_collation_v2( int(*xCompare)(void*,int,const void*,int,const void*), void(*xDestroy)(void*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_create_collation16( +SQLITE_API int sqlite3_create_collation16( sqlite3*, const void *zName, int eTextRep, @@ -4888,12 +5050,12 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_collation16( ** [sqlite3_create_collation()], [sqlite3_create_collation16()], or ** [sqlite3_create_collation_v2()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed( +SQLITE_API int sqlite3_collation_needed( sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const char*) ); -SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed16( +SQLITE_API int sqlite3_collation_needed16( sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const void*) @@ -4907,11 +5069,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_collation_needed16( ** The code to implement this API is not available in the public release ** of SQLite. */ -SQLITE_API int SQLITE_STDCALL sqlite3_key( +SQLITE_API int sqlite3_key( sqlite3 *db, /* Database to be rekeyed */ const void *pKey, int nKey /* The key */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_key_v2( +SQLITE_API int sqlite3_key_v2( sqlite3 *db, /* Database to be rekeyed */ const char *zDbName, /* Name of the database */ const void *pKey, int nKey /* The key */ @@ -4925,11 +5087,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_key_v2( ** The code to implement this API is not available in the public release ** of SQLite. */ -SQLITE_API int SQLITE_STDCALL sqlite3_rekey( +SQLITE_API int sqlite3_rekey( sqlite3 *db, /* Database to be rekeyed */ const void *pKey, int nKey /* The new key */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_rekey_v2( +SQLITE_API int sqlite3_rekey_v2( sqlite3 *db, /* Database to be rekeyed */ const char *zDbName, /* Name of the database */ const void *pKey, int nKey /* The new key */ @@ -4939,7 +5101,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_rekey_v2( ** Specify the activation key for a SEE database. Unless ** activated, none of the SEE routines will work. */ -SQLITE_API void SQLITE_STDCALL sqlite3_activate_see( +SQLITE_API void sqlite3_activate_see( const char *zPassPhrase /* Activation phrase */ ); #endif @@ -4949,7 +5111,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_activate_see( ** Specify the activation key for a CEROD database. Unless ** activated, none of the CEROD routines will work. */ -SQLITE_API void SQLITE_STDCALL sqlite3_activate_cerod( +SQLITE_API void sqlite3_activate_cerod( const char *zPassPhrase /* Activation phrase */ ); #endif @@ -4971,7 +5133,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_activate_cerod( ** all, then the behavior of sqlite3_sleep() may deviate from the description ** in the previous paragraphs. */ -SQLITE_API int SQLITE_STDCALL sqlite3_sleep(int); +SQLITE_API int sqlite3_sleep(int); /* ** CAPI3REF: Name Of The Folder Holding Temporary Files @@ -5090,7 +5252,7 @@ SQLITE_API SQLITE_EXTERN char *sqlite3_data_directory; ** connection while this routine is running, then the return value ** is undefined. */ -SQLITE_API int SQLITE_STDCALL sqlite3_get_autocommit(sqlite3*); +SQLITE_API int sqlite3_get_autocommit(sqlite3*); /* ** CAPI3REF: Find The Database Handle Of A Prepared Statement @@ -5103,7 +5265,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_autocommit(sqlite3*); ** to the [sqlite3_prepare_v2()] call (or its variants) that was used to ** create the statement in the first place. */ -SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_db_handle(sqlite3_stmt*); +SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); /* ** CAPI3REF: Return The Filename For A Database Connection @@ -5120,7 +5282,7 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3_db_handle(sqlite3_stmt*); ** will be an absolute pathname, even if the filename used ** to open the database originally was a URI or relative pathname. */ -SQLITE_API const char *SQLITE_STDCALL sqlite3_db_filename(sqlite3 *db, const char *zDbName); +SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName); /* ** CAPI3REF: Determine if a database is read-only @@ -5130,7 +5292,7 @@ SQLITE_API const char *SQLITE_STDCALL sqlite3_db_filename(sqlite3 *db, const cha ** of connection D is read-only, 0 if it is read/write, or -1 if N is not ** the name of a database on connection D. */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_readonly(sqlite3 *db, const char *zDbName); +SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName); /* ** CAPI3REF: Find the next prepared statement @@ -5146,7 +5308,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_readonly(sqlite3 *db, const char *zDbNa ** [sqlite3_next_stmt(D,S)] must refer to an open database ** connection and in particular must not be a NULL pointer. */ -SQLITE_API sqlite3_stmt *SQLITE_STDCALL sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); +SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); /* ** CAPI3REF: Commit And Rollback Notification Callbacks @@ -5195,8 +5357,8 @@ SQLITE_API sqlite3_stmt *SQLITE_STDCALL sqlite3_next_stmt(sqlite3 *pDb, sqlite3_ ** ** See also the [sqlite3_update_hook()] interface. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); -SQLITE_API void *SQLITE_STDCALL sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); +SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); +SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); /* ** CAPI3REF: Data Change Notification Callbacks @@ -5247,7 +5409,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_rollback_hook(sqlite3*, void(*)(void *), ** See also the [sqlite3_commit_hook()], [sqlite3_rollback_hook()], ** and [sqlite3_preupdate_hook()] interfaces. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( +SQLITE_API void *sqlite3_update_hook( sqlite3*, void(*)(void *,int ,char const *,char const *,sqlite3_int64), void* @@ -5262,7 +5424,8 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( ** and disabled if the argument is false.)^ ** ** ^Cache sharing is enabled and disabled for an entire process. -** This is a change as of SQLite version 3.5.0. In prior versions of SQLite, +** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]). +** In prior versions of SQLite, ** sharing was enabled or disabled for each thread separately. ** ** ^(The cache sharing mode set by this interface effects all subsequent @@ -5287,7 +5450,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_update_hook( ** ** See Also: [SQLite Shared-Cache Mode] */ -SQLITE_API int SQLITE_STDCALL sqlite3_enable_shared_cache(int); +SQLITE_API int sqlite3_enable_shared_cache(int); /* ** CAPI3REF: Attempt To Free Heap Memory @@ -5303,7 +5466,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_enable_shared_cache(int); ** ** See also: [sqlite3_db_release_memory()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_release_memory(int); +SQLITE_API int sqlite3_release_memory(int); /* ** CAPI3REF: Free Memory Used By A Database Connection @@ -5317,7 +5480,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_release_memory(int); ** ** See also: [sqlite3_release_memory()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3*); +SQLITE_API int sqlite3_db_release_memory(sqlite3*); /* ** CAPI3REF: Impose A Limit On Heap Size @@ -5356,7 +5519,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3*); ** from the heap. ** )^ ** -** Beginning with SQLite version 3.7.3, the soft heap limit is enforced +** Beginning with SQLite [version 3.7.3] ([dateof:3.7.3]), +** the soft heap limit is enforced ** regardless of whether or not the [SQLITE_ENABLE_MEMORY_MANAGEMENT] ** compile-time option is invoked. With [SQLITE_ENABLE_MEMORY_MANAGEMENT], ** the soft heap limit is enforced on every memory allocation. Without @@ -5369,7 +5533,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_release_memory(sqlite3*); ** The circumstances under which SQLite will enforce the soft heap limit may ** changes in future releases of SQLite. */ -SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_soft_heap_limit64(sqlite3_int64 N); +SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N); /* ** CAPI3REF: Deprecated Soft Heap Limit Interface @@ -5380,7 +5544,7 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3_soft_heap_limit64(sqlite3_int64 ** only. All new applications should use the ** [sqlite3_soft_heap_limit64()] interface rather than this one. */ -SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_soft_heap_limit(int N); +SQLITE_API SQLITE_DEPRECATED void sqlite3_soft_heap_limit(int N); /* @@ -5395,7 +5559,7 @@ SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_soft_heap_limit(int N); ** column exists. ^The sqlite3_table_column_metadata() interface returns ** SQLITE_ERROR and if the specified column does not exist. ** ^If the column-name parameter to sqlite3_table_column_metadata() is a -** NULL pointer, then this routine simply checks for the existance of the +** NULL pointer, then this routine simply checks for the existence of the ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it ** does not. ** @@ -5450,7 +5614,7 @@ SQLITE_API SQLITE_DEPRECATED void SQLITE_STDCALL sqlite3_soft_heap_limit(int N); ** parsed, if that has not already been done, and returns an error if ** any errors are encountered while loading the schema. */ -SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata( +SQLITE_API int sqlite3_table_column_metadata( sqlite3 *db, /* Connection handle */ const char *zDbName, /* Database name or NULL */ const char *zTableName, /* Table name */ @@ -5506,7 +5670,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata( ** ** See also the [load_extension() SQL function]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_load_extension( +SQLITE_API int sqlite3_load_extension( sqlite3 *db, /* Load the extension into this database connection */ const char *zFile, /* Name of the shared library containing extension */ const char *zProc, /* Entry point. Derived from zFile if 0 */ @@ -5529,8 +5693,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_load_extension( ** ** ^This interface enables or disables both the C-API ** [sqlite3_load_extension()] and the SQL function [load_extension()]. -** Use [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],..) -** to enable or disable only the C-API. +** ^(Use [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],..) +** to enable or disable only the C-API.)^ ** ** Security warning: It is recommended that extension loading ** be disabled using the [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method @@ -5538,7 +5702,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_load_extension( ** remains disabled. This will prevent SQL injections from giving attackers ** access to extension loading capabilities. */ -SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int onoff); +SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff); /* ** CAPI3REF: Automatically Load Statically Linked Extensions @@ -5550,7 +5714,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int ono ** ** ^(Even though the function prototype shows that xEntryPoint() takes ** no arguments and returns void, SQLite invokes xEntryPoint() with three -** arguments and expects and integer result as if the signature of the +** arguments and expects an integer result as if the signature of the ** entry point where as follows: ** **
    @@ -5576,7 +5740,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int ono
     ** See also: [sqlite3_reset_auto_extension()]
     ** and [sqlite3_cancel_auto_extension()]
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_auto_extension(void (*xEntryPoint)(void));
    +SQLITE_API int sqlite3_auto_extension(void(*xEntryPoint)(void));
     
     /*
     ** CAPI3REF: Cancel Automatic Extension Loading
    @@ -5588,7 +5752,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_auto_extension(void (*xEntryPoint)(void));
     ** unregistered and it returns 0 if X was not on the list of initialization
     ** routines.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_cancel_auto_extension(void (*xEntryPoint)(void));
    +SQLITE_API int sqlite3_cancel_auto_extension(void(*xEntryPoint)(void));
     
     /*
     ** CAPI3REF: Reset Automatic Extension Loading
    @@ -5596,7 +5760,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_cancel_auto_extension(void (*xEntryPoint)(
     ** ^This interface disables all automatic extensions previously
     ** registered using [sqlite3_auto_extension()].
     */
    -SQLITE_API void SQLITE_STDCALL sqlite3_reset_auto_extension(void);
    +SQLITE_API void sqlite3_reset_auto_extension(void);
     
     /*
     ** The interface to the virtual-table mechanism is currently considered
    @@ -5750,13 +5914,15 @@ struct sqlite3_module {
     ** the xUpdate method are automatically rolled back by SQLite.
     **
     ** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
    -** structure for SQLite version 3.8.2. If a virtual table extension is
    +** structure for SQLite [version 3.8.2] ([dateof:3.8.2]). 
    +** If a virtual table extension is
     ** used with an SQLite version earlier than 3.8.2, the results of attempting 
     ** to read or write the estimatedRows field are undefined (but are likely 
     ** to included crashing the application). The estimatedRows field should
     ** therefore only be used if [sqlite3_libversion_number()] returns a
     ** value greater than or equal to 3008002. Similarly, the idxFlags field
    -** was added for version 3.9.0. It may therefore only be used if
    +** was added for [version 3.9.0] ([dateof:3.9.0]). 
    +** It may therefore only be used if
     ** sqlite3_libversion_number() returns a value greater than or equal to
     ** 3009000.
     */
    @@ -5841,13 +6007,13 @@ struct sqlite3_index_info {
     ** interface is equivalent to sqlite3_create_module_v2() with a NULL
     ** destructor.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_create_module(
    +SQLITE_API int sqlite3_create_module(
       sqlite3 *db,               /* SQLite connection to register module with */
       const char *zName,         /* Name of the module */
       const sqlite3_module *p,   /* Methods for the module */
       void *pClientData          /* Client data for xCreate/xConnect */
     );
    -SQLITE_API int SQLITE_STDCALL sqlite3_create_module_v2(
    +SQLITE_API int sqlite3_create_module_v2(
       sqlite3 *db,               /* SQLite connection to register module with */
       const char *zName,         /* Name of the module */
       const sqlite3_module *p,   /* Methods for the module */
    @@ -5910,7 +6076,7 @@ struct sqlite3_vtab_cursor {
     ** to declare the format (the names and datatypes of the columns) of
     ** the virtual tables they implement.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_declare_vtab(sqlite3*, const char *zSQL);
    +SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
     
     /*
     ** CAPI3REF: Overload A Function For A Virtual Table
    @@ -5929,7 +6095,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_declare_vtab(sqlite3*, const char *zSQL);
     ** purpose is to be a placeholder function that can be overloaded
     ** by a [virtual table].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
    +SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
     
     /*
     ** The interface to the virtual-table mechanism defined above (back up
    @@ -6028,7 +6194,7 @@ typedef struct sqlite3_blob sqlite3_blob;
     ** To avoid a resource leak, every open [BLOB handle] should eventually
     ** be released by a call to [sqlite3_blob_close()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_open(
    +SQLITE_API int sqlite3_blob_open(
       sqlite3*,
       const char *zDb,
       const char *zTable,
    @@ -6061,7 +6227,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_open(
     **
     ** ^This function sets the database handle error code and message.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
    +SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
     
     /*
     ** CAPI3REF: Close A BLOB Handle
    @@ -6084,7 +6250,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64)
     ** is passed a valid open blob handle, the values returned by the 
     ** sqlite3_errcode() and sqlite3_errmsg() functions are set before returning.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_close(sqlite3_blob *);
    +SQLITE_API int sqlite3_blob_close(sqlite3_blob *);
     
     /*
     ** CAPI3REF: Return The Size Of An Open BLOB
    @@ -6100,7 +6266,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_close(sqlite3_blob *);
     ** been closed by [sqlite3_blob_close()].  Passing any other pointer in
     ** to this routine results in undefined and probably undesirable behavior.
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_bytes(sqlite3_blob *);
    +SQLITE_API int sqlite3_blob_bytes(sqlite3_blob *);
     
     /*
     ** CAPI3REF: Read Data From A BLOB Incrementally
    @@ -6129,7 +6295,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_bytes(sqlite3_blob *);
     **
     ** See also: [sqlite3_blob_write()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
    +SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
     
     /*
     ** CAPI3REF: Write Data Into A BLOB Incrementally
    @@ -6171,7 +6337,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_read(sqlite3_blob *, void *Z, int N,
     **
     ** See also: [sqlite3_blob_read()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
    +SQLITE_API int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
     
     /*
     ** CAPI3REF: Virtual File System Objects
    @@ -6202,9 +6368,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_write(sqlite3_blob *, const void *z,
     ** ^(If the default VFS is unregistered, another VFS is chosen as
     ** the default.  The choice for the new VFS is arbitrary.)^
     */
    -SQLITE_API sqlite3_vfs *SQLITE_STDCALL sqlite3_vfs_find(const char *zVfsName);
    -SQLITE_API int SQLITE_STDCALL sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
    -SQLITE_API int SQLITE_STDCALL sqlite3_vfs_unregister(sqlite3_vfs*);
    +SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
    +SQLITE_API int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
    +SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
     
     /*
     ** CAPI3REF: Mutexes
    @@ -6320,11 +6486,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_vfs_unregister(sqlite3_vfs*);
     **
     ** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()].
     */
    -SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_mutex_alloc(int);
    -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_free(sqlite3_mutex*);
    -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_enter(sqlite3_mutex*);
    -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_try(sqlite3_mutex*);
    -SQLITE_API void SQLITE_STDCALL sqlite3_mutex_leave(sqlite3_mutex*);
    +SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(int);
    +SQLITE_API void sqlite3_mutex_free(sqlite3_mutex*);
    +SQLITE_API void sqlite3_mutex_enter(sqlite3_mutex*);
    +SQLITE_API int sqlite3_mutex_try(sqlite3_mutex*);
    +SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*);
     
     /*
     ** CAPI3REF: Mutex Methods Object
    @@ -6434,8 +6600,8 @@ struct sqlite3_mutex_methods {
     ** interface should also return 1 when given a NULL pointer.
     */
     #ifndef NDEBUG
    -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_held(sqlite3_mutex*);
    -SQLITE_API int SQLITE_STDCALL sqlite3_mutex_notheld(sqlite3_mutex*);
    +SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*);
    +SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
     #endif
     
     /*
    @@ -6454,7 +6620,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_mutex_notheld(sqlite3_mutex*);
     #define SQLITE_MUTEX_STATIC_MEM       3  /* sqlite3_malloc() */
     #define SQLITE_MUTEX_STATIC_MEM2      4  /* NOT USED */
     #define SQLITE_MUTEX_STATIC_OPEN      4  /* sqlite3BtreeOpen() */
    -#define SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_random() */
    +#define SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_randomness() */
     #define SQLITE_MUTEX_STATIC_LRU       6  /* lru page list */
     #define SQLITE_MUTEX_STATIC_LRU2      7  /* NOT USED */
     #define SQLITE_MUTEX_STATIC_PMEM      7  /* sqlite3PageMalloc() */
    @@ -6475,7 +6641,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_mutex_notheld(sqlite3_mutex*);
     ** ^If the [threading mode] is Single-thread or Multi-thread then this
     ** routine returns a NULL pointer.
     */
    -SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_db_mutex(sqlite3*);
    +SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
     
     /*
     ** CAPI3REF: Low-Level Control Of Database Files
    @@ -6510,7 +6676,7 @@ SQLITE_API sqlite3_mutex *SQLITE_STDCALL sqlite3_db_mutex(sqlite3*);
     **
     ** See also: [SQLITE_FCNTL_LOCKSTATE]
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
    +SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
     
     /*
     ** CAPI3REF: Testing Interface
    @@ -6529,7 +6695,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_file_control(sqlite3*, const char *zDbName
     ** Unlike most of the SQLite API, this function is not guaranteed to
     ** operate consistently from one release to the next.
     */
    -SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...);
    +SQLITE_API int sqlite3_test_control(int op, ...);
     
     /*
     ** CAPI3REF: Testing Interface Operation Codes
    @@ -6558,6 +6724,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...);
     #define SQLITE_TESTCTRL_SCRATCHMALLOC           17
     #define SQLITE_TESTCTRL_LOCALTIME_FAULT         18
     #define SQLITE_TESTCTRL_EXPLAIN_STMT            19  /* NOT USED */
    +#define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD    19
     #define SQLITE_TESTCTRL_NEVER_CORRUPT           20
     #define SQLITE_TESTCTRL_VDBE_COVERAGE           21
     #define SQLITE_TESTCTRL_BYTEORDER               22
    @@ -6592,8 +6759,8 @@ SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...);
     **
     ** See also: [sqlite3_db_status()]
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
    -SQLITE_API int SQLITE_STDCALL sqlite3_status64(
    +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
    +SQLITE_API int sqlite3_status64(
       int op,
       sqlite3_int64 *pCurrent,
       sqlite3_int64 *pHighwater,
    @@ -6718,7 +6885,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_status64(
     **
     ** See also: [sqlite3_status()] and [sqlite3_stmt_status()].
     */
    -SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
    +SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
     
     /*
     ** CAPI3REF: Status Parameters for database connections
    @@ -6764,6 +6931,18 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int
     ** memory used by all pager caches associated with the database connection.)^
     ** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.
     **
    +** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]] 
    +** ^(
    SQLITE_DBSTATUS_CACHE_USED_SHARED
    +**
    This parameter is similar to DBSTATUS_CACHE_USED, except that if a +** pager cache is shared between two or more connections the bytes of heap +** memory used by that pager cache is divided evenly between the attached +** connections.)^ In other words, if none of the pager caches associated +** with the database connection are shared, this request returns the same +** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are +** shared, the value returned by this call will be smaller than that returned +** by DBSTATUS_CACHE_USED. ^The highwater mark associated with +** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. +** ** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(
    SQLITE_DBSTATUS_SCHEMA_USED
    **
    This parameter returns the approximate number of bytes of heap ** memory used to store the schema for all databases associated @@ -6821,7 +7000,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int #define SQLITE_DBSTATUS_CACHE_MISS 8 #define SQLITE_DBSTATUS_CACHE_WRITE 9 #define SQLITE_DBSTATUS_DEFERRED_FKS 10 -#define SQLITE_DBSTATUS_MAX 10 /* Largest defined DBSTATUS */ +#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 +#define SQLITE_DBSTATUS_MAX 11 /* Largest defined DBSTATUS */ /* @@ -6848,7 +7028,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int ** ** See also: [sqlite3_status()] and [sqlite3_db_status()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); +SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); /* ** CAPI3REF: Status Parameters for prepared statements @@ -7317,16 +7497,16 @@ typedef struct sqlite3_backup sqlite3_backup; ** same time as another thread is invoking sqlite3_backup_step() it is ** possible that they return invalid values. */ -SQLITE_API sqlite3_backup *SQLITE_STDCALL sqlite3_backup_init( +SQLITE_API sqlite3_backup *sqlite3_backup_init( sqlite3 *pDest, /* Destination database handle */ const char *zDestName, /* Destination database name */ sqlite3 *pSource, /* Source database handle */ const char *zSourceName /* Source database name */ ); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_step(sqlite3_backup *p, int nPage); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_finish(sqlite3_backup *p); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_remaining(sqlite3_backup *p); -SQLITE_API int SQLITE_STDCALL sqlite3_backup_pagecount(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage); +SQLITE_API int sqlite3_backup_finish(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_remaining(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); /* ** CAPI3REF: Unlock Notification @@ -7443,7 +7623,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_pagecount(sqlite3_backup *p); ** the special "DROP TABLE/INDEX" case, the extended error code is just ** SQLITE_LOCKED.)^ */ -SQLITE_API int SQLITE_STDCALL sqlite3_unlock_notify( +SQLITE_API int sqlite3_unlock_notify( sqlite3 *pBlocked, /* Waiting connection */ void (*xNotify)(void **apArg, int nArg), /* Callback function to invoke */ void *pNotifyArg /* Argument to pass to xNotify */ @@ -7458,8 +7638,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_unlock_notify( ** strings in a case-independent fashion, using the same definition of "case ** independence" that SQLite uses internally when comparing identifiers. */ -SQLITE_API int SQLITE_STDCALL sqlite3_stricmp(const char *, const char *); -SQLITE_API int SQLITE_STDCALL sqlite3_strnicmp(const char *, const char *, int); +SQLITE_API int sqlite3_stricmp(const char *, const char *); +SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); /* ** CAPI3REF: String Globbing @@ -7476,7 +7656,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_strnicmp(const char *, const char *, int); ** ** See also: [sqlite3_strlike()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_strglob(const char *zGlob, const char *zStr); +SQLITE_API int sqlite3_strglob(const char *zGlob, const char *zStr); /* ** CAPI3REF: String LIKE Matching @@ -7499,7 +7679,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_strglob(const char *zGlob, const char *zSt ** ** See also: [sqlite3_strglob()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc); +SQLITE_API int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc); /* ** CAPI3REF: Error Logging Interface @@ -7522,7 +7702,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_strlike(const char *zGlob, const char *zSt ** a few hundred characters, it will be truncated to the length of the ** buffer. */ -SQLITE_API void SQLITE_CDECL sqlite3_log(int iErrCode, const char *zFormat, ...); +SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); /* ** CAPI3REF: Write-Ahead Log Commit Hook @@ -7558,7 +7738,7 @@ SQLITE_API void SQLITE_CDECL sqlite3_log(int iErrCode, const char *zFormat, ...) ** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will ** overwrite any prior [sqlite3_wal_hook()] settings. */ -SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( +SQLITE_API void *sqlite3_wal_hook( sqlite3*, int(*)(void *,sqlite3*,const char*,int), void* @@ -7593,7 +7773,7 @@ SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( ** is only necessary if the default setting is found to be suboptimal ** for a particular application. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_autocheckpoint(sqlite3 *db, int N); +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N); /* ** CAPI3REF: Checkpoint a database @@ -7615,7 +7795,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_autocheckpoint(sqlite3 *db, int N); ** start a callback but which do not need the full power (and corresponding ** complication) of [sqlite3_wal_checkpoint_v2()]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); /* ** CAPI3REF: Checkpoint a database @@ -7709,7 +7889,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint(sqlite3 *db, const char *zD ** ^The [PRAGMA wal_checkpoint] command can be used to invoke this interface ** from SQL. */ -SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint_v2( +SQLITE_API int sqlite3_wal_checkpoint_v2( sqlite3 *db, /* Database handle */ const char *zDb, /* Name of attached database (or NULL) */ int eMode, /* SQLITE_CHECKPOINT_* value */ @@ -7745,7 +7925,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_wal_checkpoint_v2( ** this function. (See [SQLITE_VTAB_CONSTRAINT_SUPPORT].) Further options ** may be added in the future. */ -SQLITE_API int SQLITE_CDECL sqlite3_vtab_config(sqlite3*, int op, ...); +SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); /* ** CAPI3REF: Virtual Table Configuration Options @@ -7798,7 +7978,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_vtab_config(sqlite3*, int op, ...); ** of the SQL statement that triggered the call to the [xUpdate] method of the ** [virtual table]. */ -SQLITE_API int SQLITE_STDCALL sqlite3_vtab_on_conflict(sqlite3 *); +SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *); /* ** CAPI3REF: Conflict resolution modes @@ -7903,7 +8083,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_vtab_on_conflict(sqlite3 *); ** ** See also: [sqlite3_stmt_scanstatus_reset()] */ -SQLITE_API int SQLITE_STDCALL sqlite3_stmt_scanstatus( +SQLITE_API int sqlite3_stmt_scanstatus( sqlite3_stmt *pStmt, /* Prepared statement for which info desired */ int idx, /* Index of loop to report on */ int iScanStatusOp, /* Information desired. SQLITE_SCANSTAT_* */ @@ -7919,7 +8099,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_stmt_scanstatus( ** This API is only available if the library is built with pre-processor ** symbol [SQLITE_ENABLE_STMT_SCANSTATUS] defined. */ -SQLITE_API void SQLITE_STDCALL sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); +SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); /* ** CAPI3REF: Flush caches to disk mid-transaction @@ -7951,7 +8131,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); ** ^This function does not set the database handle error code or message ** returned by the [sqlite3_errcode()] and [sqlite3_errmsg()] functions. */ -SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); +SQLITE_API int sqlite3_db_cacheflush(sqlite3*); /* ** CAPI3REF: The pre-update hook. @@ -7977,7 +8157,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); ** ^The second parameter to the preupdate callback is a pointer to ** the [database connection] that registered the preupdate hook. ** ^The third parameter to the preupdate callback is one of the constants -** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to indentify the +** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the ** kind of update operation that is about to occur. ** ^(The fourth parameter to the preupdate callback is the name of the ** database within the database connection that is being modified. This @@ -8031,7 +8211,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); ** ** See also: [sqlite3_update_hook()] */ -SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_preupdate_hook( +SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_preupdate_hook( sqlite3 *db, void(*xPreUpdate)( void *pCtx, /* Copy of third arg to preupdate_hook() */ @@ -8044,10 +8224,10 @@ SQLITE_API SQLITE_EXPERIMENTAL void *SQLITE_STDCALL sqlite3_preupdate_hook( ), void* ); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_count(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_depth(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_count(sqlite3 *); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_depth(sqlite3 *); +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); /* ** CAPI3REF: Low-level system error code @@ -8059,7 +8239,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_preupdate_new(sqlite3 ** called to get back the underlying "errno" that caused the problem, such ** as ENOSPC, EAUTH, EISDIR, and so forth. */ -SQLITE_API int SQLITE_STDCALL sqlite3_system_errno(sqlite3*); +SQLITE_API int sqlite3_system_errno(sqlite3*); /* ** CAPI3REF: Database Snapshot @@ -8109,7 +8289,7 @@ typedef struct sqlite3_snapshot sqlite3_snapshot; ** The [sqlite3_snapshot_get()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. */ -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_get( +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get( sqlite3 *db, const char *zSchema, sqlite3_snapshot **ppSnapshot @@ -8147,7 +8327,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_get( ** The [sqlite3_snapshot_open()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. */ -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_open( +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open( sqlite3 *db, const char *zSchema, sqlite3_snapshot *pSnapshot @@ -8164,7 +8344,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_open( ** The [sqlite3_snapshot_free()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. */ -SQLITE_API SQLITE_EXPERIMENTAL void SQLITE_STDCALL sqlite3_snapshot_free(sqlite3_snapshot*); +SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*); /* ** CAPI3REF: Compare the ages of two snapshot handles. @@ -8188,7 +8368,7 @@ SQLITE_API SQLITE_EXPERIMENTAL void SQLITE_STDCALL sqlite3_snapshot_free(sqlite3 ** snapshot than P2, zero if the two handles refer to the same database ** snapshot, and a positive value if P1 is a newer snapshot than P2. */ -SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_cmp( +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( sqlite3_snapshot *p1, sqlite3_snapshot *p2 ); @@ -8204,7 +8384,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_cmp( #ifdef __cplusplus } /* End of the 'extern "C"' block */ #endif -#endif /* _SQLITE3_H_ */ +#endif /* SQLITE3_H */ /******** Begin file sqlite3rtree.h *********/ /* @@ -8246,7 +8426,7 @@ typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info; ** ** SELECT ... FROM WHERE MATCH $zGeom(... params ...) */ -SQLITE_API int SQLITE_STDCALL sqlite3_rtree_geometry_callback( +SQLITE_API int sqlite3_rtree_geometry_callback( sqlite3 *db, const char *zGeom, int (*xGeom)(sqlite3_rtree_geometry*, int, sqlite3_rtree_dbl*,int*), @@ -8272,7 +8452,7 @@ struct sqlite3_rtree_geometry { ** ** SELECT ... FROM WHERE MATCH $zQueryFunc(... params ...) */ -SQLITE_API int SQLITE_STDCALL sqlite3_rtree_query_callback( +SQLITE_API int sqlite3_rtree_query_callback( sqlite3 *db, const char *zQueryFunc, int (*xQueryFunc)(sqlite3_rtree_query_info*), @@ -8484,7 +8664,7 @@ int sqlite3session_attach( ** CAPI3REF: Set a table filter on a Session Object. ** ** The second argument (xFilter) is the "filter callback". For changes to rows -** in tables that are not attached to the Session oject, the filter is called +** in tables that are not attached to the Session object, the filter is called ** to determine whether changes to the table's rows should be tracked or not. ** If xFilter returns 0, changes is not tracked. Note that once a table is ** attached, xFilter will not be called again. @@ -8750,7 +8930,7 @@ int sqlite3session_isempty(sqlite3_session *pSession); ** [sqlite3changeset_invert()] functions, all changes within the changeset ** that apply to a single table are grouped together. This means that when ** an application iterates through a changeset using an iterator created by -** this function, all changes that relate to a single table are visted +** this function, all changes that relate to a single table are visited ** consecutively. There is no chance that the iterator will visit a change ** the applies to table X, then one for table Y, and then later on visit ** another change for table X. @@ -8837,7 +9017,7 @@ int sqlite3changeset_op( ** 0x01 if the corresponding column is part of the tables primary key, or ** 0x00 if it is not. ** -** If argumet pnCol is not NULL, then *pnCol is set to the number of columns +** If argument pnCol is not NULL, then *pnCol is set to the number of columns ** in the table. ** ** If this function is called when the iterator does not point to a valid @@ -9054,12 +9234,12 @@ int sqlite3changeset_concat( /* -** Changegroup handle. +** CAPI3REF: Changegroup Handle */ typedef struct sqlite3_changegroup sqlite3_changegroup; /* -** CAPI3REF: Combine two or more changesets into a single changeset. +** CAPI3REF: Create A New Changegroup Object ** ** An sqlite3_changegroup object is used to combine two or more changesets ** (or patchsets) into a single changeset (or patchset). A single changegroup @@ -9096,6 +9276,8 @@ typedef struct sqlite3_changegroup sqlite3_changegroup; int sqlite3changegroup_new(sqlite3_changegroup **pp); /* +** CAPI3REF: Add A Changeset To A Changegroup +** ** Add all changes within the changeset (or patchset) in buffer pData (size ** nData bytes) to the changegroup. ** @@ -9110,7 +9292,7 @@ int sqlite3changegroup_new(sqlite3_changegroup **pp); ** apply to the same row as a change already present in the changegroup if ** the two rows have the same primary key. ** -** Changes to rows that that do not already appear in the changegroup are +** Changes to rows that do not already appear in the changegroup are ** simply copied into it. Or, if both the new changeset and the changegroup ** contain changes that apply to a single row, the final contents of the ** changegroup depends on the type of each change, as follows: @@ -9171,6 +9353,8 @@ int sqlite3changegroup_new(sqlite3_changegroup **pp); int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); /* +** CAPI3REF: Obtain A Composite Changeset From A Changegroup +** ** Obtain a buffer containing a changeset (or patchset) representing the ** current contents of the changegroup. If the inputs to the changegroup ** were themselves changesets, the output is a changeset. Or, if the @@ -9199,7 +9383,7 @@ int sqlite3changegroup_output( ); /* -** Delete a changegroup object. +** CAPI3REF: Delete A Changegroup Object */ void sqlite3changegroup_delete(sqlite3_changegroup*); @@ -9924,7 +10108,7 @@ struct Fts5ExtensionApi { ** behaviour. The structure methods are expected to function as follows: ** ** xCreate: -** This function is used to allocate and inititalize a tokenizer instance. +** This function is used to allocate and initialize a tokenizer instance. ** A tokenizer instance is required to actually tokenize text. ** ** The first argument passed to this function is a copy of the (void*) @@ -10184,5 +10368,4 @@ struct fts5_api { #endif /* _FTS5_H */ - /******** End of fts5.h *********/ diff --git a/c/sqlite3ext.h b/c/sqlite3ext.h index 20a2fcdf..ce87e746 100644 --- a/c/sqlite3ext.h +++ b/c/sqlite3ext.h @@ -15,12 +15,10 @@ ** as extensions by SQLite should #include this file instead of ** sqlite3.h. */ -#ifndef _SQLITE3EXT_H_ -#define _SQLITE3EXT_H_ +#ifndef SQLITE3EXT_H +#define SQLITE3EXT_H #include "sqlite3.h" -typedef struct sqlite3_api_routines sqlite3_api_routines; - /* ** The following structure holds pointers to all of the SQLite API ** routines. @@ -281,8 +279,21 @@ struct sqlite3_api_routines { int (*db_cacheflush)(sqlite3*); /* Version 3.12.0 and later */ int (*system_errno)(sqlite3*); + /* Version 3.14.0 and later */ + int (*trace_v2)(sqlite3*,unsigned,int(*)(unsigned,void*,void*,void*),void*); + char *(*expanded_sql)(sqlite3_stmt*); }; +/* +** This is the function signature used for all extension entry points. It +** is also defined in the file "loadext.c". +*/ +typedef int (*sqlite3_loadext_entry)( + sqlite3 *db, /* Handle to the database. */ + char **pzErrMsg, /* Used to set error string on failure. */ + const sqlite3_api_routines *pThunk /* Extension API function pointers. */ +); + /* ** The following macros redefine the API routines so that they are ** redirected through the global sqlite3_api structure. @@ -526,6 +537,9 @@ struct sqlite3_api_routines { #define sqlite3_db_cacheflush sqlite3_api->db_cacheflush /* Version 3.12.0 and later */ #define sqlite3_system_errno sqlite3_api->system_errno +/* Version 3.14.0 and later */ +#define sqlite3_trace_v2 sqlite3_api->trace_v2 +#define sqlite3_expanded_sql sqlite3_api->expanded_sql #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) @@ -543,4 +557,4 @@ struct sqlite3_api_routines { # define SQLITE_EXTENSION_INIT3 /*no-op*/ #endif -#endif /* _SQLITE3EXT_H_ */ +#endif /* SQLITE3EXT_H */ diff --git a/js/sql-debug.js b/js/sql-debug.js index 7b917d9f..82badeed 100644 --- a/js/sql-debug.js +++ b/js/sql-debug.js @@ -1521,15 +1521,15 @@ var ASM_CONSTS = []; STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 49760; +STATICTOP = STATIC_BASE + 48688; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,154,66,0,0,1,0,1,0,130,0,0,0,159,66,0,0,1,0,1,0,131,0,0,0,164,66,0,0,1,0,1,0,132,0,0,0,169,66,0,0,2,0,1,0,133,0,0,0,174,66,0,0,2,0,1,0,133,0,0,0,180,66,0,0,1,0,1,0,134,0,0,0,186,66,0,0,1,0,1,0,135,0,0,0,192,66,0,0,1,0,1,0,136,0,0,0,198,66,0,0,2,0,1,0,137,0,0,0,209,66,0,0,1,0,1,0,138,0,0,0,217,66,0,0,1,0,1,0,139,0,0,0,225,66,0,0,1,0,1,0,140,0,0,0,229,66,0,0,1,0,1,0,141,0,0,0,233,66,0,0,1,0,1,0,142,0,0,0,237,66,0,0,1,0,1,0,143,0,0,0,241,66,0,0,1,0,1,0,144,0,0,0,246,66,0,0,1,0,1,0,145,0,0,0,251,66,0,0,1,0,1,0,146,0,0,0,0,67,0,0,1,0,1,0,147,0,0,0,5,67,0,0,1,0,1,0,148,0,0,0,247,100,0,0,1,0,1,0,149,0,0,0,9,67,0,0,1,0,1,0,150,0,0,0,15,67,0,0,2,0,1,0,151,0,0,0,21,67,0,0,1,0,1,0,152,0,0,0,26,67,0,0,1,0,1,0,153,0,0,0,31,67,0,0,1,0,1,0,154,0,0,0,38,67,0,0,1,0,1,0,155,0,0,0,43,67,0,0,1,0,1,0,156,0,0,0,49,67,0,0,0,0,1,1,157,0,0,0,52,67,0,0,2,0,1,0,158,0,0,0,62,67,0,0,2,0,1,0,159,0,0,0,62,67,0,0,3,0,1,0,159,0,0,0,72,67,0,0,2,0,1,0,160,0,0,0,80,67,0,0,2,0,1,0,161,0,0,0,89,67,0,0,1,0,1,0,162,0,0,0,97,67,0,0,1,0,1,0,163,0,0,0,104,67,0,0,2,0,1,0,164,0,0,0,109,67,0,0,2,0,1,0,165,0,0,0,114,67,0,0,2,0,1,0,166,0,0,0,119,67,0,0,2,0,1,0,167,0,0,0,129,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,135,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,69,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,144,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0,151,67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,166,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,118,182,0,0,130,182,0,0,142,182,0,0,166,182,0,0,177,182,0,0,197,182,0,0,211,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,101,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,106,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,116,176,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,129,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,83,0,0,32,84,0,0,100,84,0,0,128,84,0,0,157,84,0,0,184,84,0,0,212,84,0,0,237,84,0,0,5,85,0,0,70,85,0,0,129,85,0,0,197,85,0,0,245,85,0,0,101,86,0,0,236,86,0,0,32,87,0,0,98,87,0,0,141,87,0,0,200,87,0,0,239,87,0,0,27,88,0,0,68,88,0,0,115,88,0,0,157,88,0,0,74,74,0,0,74,74,0,0,195,88,0,0,250,88,0,0,55,89,0,0,174,89,0,0,21,90,0,0,76,90,0,0,134,90,0,0,241,90,0,0,64,91,0,0,129,91,0,0,189,91,0,0,237,91,0,0,87,92,0,0,160,92,0,0,110,82,0,0,170,0,0,0,118,82,0,0,171,0,0,0,136,82,0,0,172,0,0,0,126,82,0,0,173,0,0,0,104,95,0,0,2,0,4,0,107,95,0,0,3,1,3,0,111,95,0,0,3,1,2,0,115,95,0,0,4,0,1,0,126,82,0,0,9,0,0,0,84,99,0,0,6,0,0,0,203,96,0,0,8,0,0,0,212,96,0,0,10,0,0,0,91,99,0,0,5,0,0,0,141,96,0,0,7,0,0,0,97,99,0,0,10,0,0,0,108,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,104,0,0,0,0,2,0,165,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,141,104,0,0,1,0,0,0,144,104,0,0,2,0,0,0,147,104,0,0,6,0,0,0,151,104,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,135,0,0,1,0,0,0,74,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,13,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,3,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,239,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,81,0,0,76,123,0,0,89,123,0,0,0,0,0,0,102,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,94,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,219,124,0,0,0,0,0,0,32,132,0,0,0,0,0,0,8,0,0,0,0,128,0,0,1,1,0,0,0,0,0,0,47,132,0,0,2,0,0,0,0,0,16,0,63,132,0,0,3,0,0,0,0,0,0,0,123,127,0,0,4,1,0,0,0,0,0,0,32,128,0,0,5,0,0,0,0,0,0,0,76,132,0,0,6,0,0,0,0,0,0,0,96,132,0,0,2,0,0,0,0,0,0,32,112,132,0,0,2,0,0,0,16,0,0,0,133,132,0,0,7,0,0,0,0,0,0,0,148,132,0,0,8,0,0,0,0,0,0,0,164,132,0,0,2,0,0,0,128,0,0,0,178,132,0,0,0,2,0,0,15,0,0,0,191,132,0,0,10,1,0,0,0,0,0,0,205,132,0,0,11,1,0,0,0,0,0,0,224,132,0,0,2,0,0,0,0,0,0,2,243,132,0,0,2,0,0,0,0,1,0,0,135,129,0,0,12,0,0,0,0,0,0,0,10,133,0,0,13,1,0,0,0,0,0,0,28,133,0,0,14,1,0,0,0,0,0,0,45,133,0,0,2,0,0,0,0,0,8,0,58,133,0,0,0,2,0,0,0,0,0,0,73,133,0,0,2,0,0,0,4,0,0,0,91,133,0,0,2,0,0,0,8,0,0,0,101,133,0,0,2,0,0,0,0,32,0,0,126,133,0,0,15,1,0,0,0,0,0,0,145,133,0,0,16,1,0,0,0,0,0,0,156,133,0,0,17,1,0,0,0,0,0,0,167,133,0,0,16,1,0,0,1,0,0,0,230,128,0,0,18,1,0,0,0,0,0,0,224,127,0,0,19,1,0,0,0,0,0,0,237,127,0,0,20,0,0,0,0,0,0,0,179,133,0,0,2,0,0,0,0,128,0,0,211,127,0,0,22,0,0,0,0,0,0,0,198,133,0,0,23,1,0,0,0,0,0,0,44,128,0,0,24,0,0,0,0,0,0,0,213,133,0,0,23,1,0,0,0,0,0,0,170,127,0,0,25,0,0,0,0,0,0,0,224,133,0,0,2,0,0,0,0,0,0,4,235,133,0,0,18,1,0,0,0,0,0,0,247,133,0,0,2,0,0,0,0,64,0,0,8,134,0,0,2,0,0,0,0,0,4,0,27,134,0,0,2,0,0,0,0,0,2,0,53,134,0,0,0,0,0,0,1,0,0,0,180,127,0,0,26,0,0,0,0,0,0,0,68,134,0,0,2,0,0,0,64,0,0,0,87,134,0,0,27,0,0,0,0,0,0,0,253,129,0,0,28,0,0,0,0,0,0,0,101,134,0,0,29,1,0,0,0,0,0,0,111,128,0,0,30,1,0,0,0,0,0,0,107,134,0,0,31,1,0,0,0,0,0,0,54,128,0,0,32,0,0,0,0,0,0,0,65,128,0,0,33,0,0,0,0,0,0,0,13,130,0,0,34,0,0,0,0,0,0,0,118,134,0,0,0,0,0,0,6,0,0,0,226,129,0,0,35,0,0,0,0,0,0,0,131,134,0,0,36,1,0,0,0,0,0,0,146,134,0,0,2,0,0,0,0,8,1,0,130,131,0,0,85,131,0,0,162,131,0,0,167,131,0,0,175,131,0,0,99,131,0,0,234,130,0,0,143,131,0,0,149,131,0,0,155,131,0,0,124,131,0,0,130,131,0,0,85,131,0,0,113,96,0,0,134,131,0,0,139,131,0,0,47,131,0,0,85,131,0,0,102,131,0,0,109,131,0,0,116,131,0,0,95,131,0,0,97,131,0,0,99,131,0,0,47,131,0,0,85,131,0,0,90,131,0,0,47,131,0,0,85,131,0,0,44,131,0,0,47,131,0,0,234,130,0,0,51,131,0,0,56,131,0,0,59,131,0,0,69,131,0,0,79,131,0,0,234,130,0,0,17,99,0,0,240,130,0,0,247,130,0,0,39,130,0,0,1,0,0,0,44,130,0,0,1,0,0,0,50,130,0,0,2,0,0,0,59,130,0,0,3,0,0,0,68,130,0,0,2,0,0,0,76,130,0,0,3,0,0,0,84,130,0,0,0,0,0,0,91,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,130,0,0,247,100,0,0,26,130,0,0,9,132,0,0,16,132,0,0,24,132,0,0,217,129,0,0,151,104,0,0,28,132,0,0,79,131,0,0,64,0,0,0,106,130,0,0,66,0,0,0,101,130,0,0,65,0,0,0,30,138,0,0,67,0,0,0,76,119,0,0,3,0,0,0,72,119,0,0,3,0,0,0,74,74,0,0,66,148,0,0,72,148,0,0,77,148,0,0,82,148,0,0,198,148,0,0,204,148,0,0,212,148,0,0,197,156,0,0,202,156,0,0,209,156,0,0,212,156,0,0,215,156,0,0,218,156,0,0,221,156,0,0,224,156,0,0,232,156,0,0,91,99,0,0,51,131,0,0,241,156,0,0,248,167,0,0,1,168,0,0,8,168,0,0,14,168,0,0,97,168,0,0,107,168,0,0,118,168,0,0,130,168,0,0,141,168,0,0,152,168,0,0,163,168,0,0,168,168,0,0,173,168,0,0,184,168,0,0,196,168,0,0,203,168,0,0,211,168,0,0,219,168,0,0,224,168,0,0,230,168,0,0,244,168,0,0,250,168,0,0,4,169,0,0,9,169,0,0,13,169,0,0,18,169,0,0,21,169,0,0,27,169,0,0,34,169,0,0,41,169,0,0,48,169,0,0,55,169,0,0,58,169,0,0,62,169,0,0,73,169,0,0,82,169,0,0,88,169,0,0,98,169,0,0,103,169,0,0,110,169,0,0,118,169,0,0,121,169,0,0,124,169,0,0,127,169,0,0,130,169,0,0,133,169,0,0,136,169,0,0,147,169,0,0,154,169,0,0,160,169,0,0,170,169,0,0,181,169,0,0,185,169,0,0,194,169,0,0,203,169,0,0,210,169,0,0,220,169,0,0,227,169,0,0,232,169,0,0,239,169,0,0,246,169,0,0,252,169,0,0,2,170,0,0,8,170,0,0,14,170,0,0,25,170,0,0,36,170,0,0,44,170,0,0,53,170,0,0,59,170,0,0,69,170,0,0,82,170,0,0,93,170,0,0,99,170,0,0,104,170,0,0,111,170,0,0,124,170,0,0,135,170,0,0,140,170,0,0,148,170,0,0,154,170,0,0,161,170,0,0,166,170,0,0,175,170,0,0,180,170,0,0,189,170,0,0,194,170,0,0,199,170,0,0,205,170,0,0,213,170,0,0,223,170,0,0,231,170,0,0,241,170,0,0,250,170,0,0,1,171,0,0,14,171,0,0,19,171,0,0,31,171,0,0,39,171,0,0,46,171,0,0,55,171,0,0,66,171,0,0,74,171,0,0,80,171,0,0,91,171,0,0,101,171,0,0,111,171,0,0,120,171,0,0,130,171,0,0,144,171,0,0,158,171,0,0,169,171,0,0,182,171,0,0,193,171,0,0,199,171,0,0,211,171,0,0,220,171,0,0,229,171,0,0,236,171,0,0,246,171,0,0,253,171,0,0,8,172,0,0,22,172,0,0,33,172,0,0,40,172,0,0,48,172,0,0,54,172,0,0,62,172,0,0,75,172,0,0,85,172,0,0,95,172,0,0,100,172,0,0,109,172,0,0,117,172,0,0,123,172,0,0,135,172,0,0,147,172,0,0,159,172,0,0,164,172,0,0,176,172,0,0,189,172,0,0,199,172,0,0,209,172,0,0,221,172,0,0,233,172,0,0,243,172,0,0,249,172,0,0,3,173,0,0,10,173,0,0,22,173,0,0,31,173,0,0,39,173,0,0,48,173,0,0,55,173,0,0,65,173,0,0,72,173,0,0,80,173,0,0,89,173,0,0,95,173,0,0,103,173,0,0,111,173,0,0,121,173,0,0,130,173,0,0,141,173,0,0,146,173,0,0,230,173,0,0,243,173,0,0,0,0,0,0,23,174,0,0,48,174,0,0,79,174,0,0,98,174,0,0,32,100,0,0,123,174,0,0,160,174,0,0,172,174,0,0,187,174,0,0,220,174,0,0,238,174,0,0,7,175,0,0,36,175,0,0,53,175,0,0,20,159,0,0,98,73,0,0,76,175,0,0,94,175,0,0,112,175,0,0,151,175,0,0,182,175,0,0,203,175,0,0,235,175,0,0,13,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,176,176,0,0,145,0,0,0,0,0,0,0,139,176,0,0,163,0,0,0,0,0,0,0,74,104,0,0,160,0,0,0,0,0,0,0,181,176,0,0,161,0,0,0,0,0,0,0,188,176,0,0,162,0,0,0,0,0,0,0,193,176,0,0,163,0,0,0,0,0,0,0,199,176,0,0,164,0,0,0,0,0,0,0,209,176,0,0,146,0,0,0,0,0,0,0,215,176,0,0,147,0,0,0,0,0,0,0,220,176,0,0,0,0,0,0,0,0,0,0,226,176,0,0,0,0,0,0,0,0,0,0,234,176,0,0,148,0,0,0,0,0,0,0,240,176,0,0,0,0,0,0,0,0,0,0,247,176,0,0,0,0,0,0,0,0,0,0,0,177,0,0,165,0,0,0,0,0,0,0,7,177,0,0,0,0,0,0,0,0,0,0,17,177,0,0,164,0,0,0,0,0,0,0,24,177,0,0,166,0,0,0,0,0,0,0,38,177,0,0,167,0,0,0,0,0,0,0,44,177,0,0,165,0,0,0,0,0,0,0,50,177,0,0,149,0,0,0,0,0,0,0,57,177,0,0,130,0,0,0,0,0,0,0,65,177,0,0,137,0,0,0,0,0,0,0,70,177,0,0,168,0,0,0,0,0,0,0,77,177,0,0,0,0,0,0,0,0,0,0,84,177,0,0,131,0,0,0,0,0,0,0,96,177,0,0,150,0,0,0,0,0,0,0,105,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,177,0,0,211,177,0,0,220,177,0,0,225,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,90,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,116,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,141,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,150,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,161,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,97,141,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,101,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,185,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,192,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,199,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,205,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,212,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,220,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,235,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,241,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,251,179,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,2,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,9,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,20,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,27,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,42,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,59,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,70,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,76,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,94,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,102,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,116,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,124,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,144,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,150,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,13,8,66,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,106,130,0,0,0,0,0,0,2,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0,0,3,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,74,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,238,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,248,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,253,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,11,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,20,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,33,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,51,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,26,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,68,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,38,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,91,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,19,2,234,1,113,2,207,255,16,1,200,1,254,1,144,1,253,1,50,2,114,0,23,2,102,2,186,2,128,1,226,2,239,2,178,2,163,1,41,2,249,2,204,1,124,2,255,2,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,248,2,47,3,88,3,95,3,98,3,100,3,102,3,105,3,113,3,117,3,127,3,129,3,131,3,135,3,139,3,141,3,143,3,145,3,154,3,157,3,168,3,170,3,172,3,176,3,179,3,181,3,183,3,185,3,187,3,194,3,210,3,212,3,216,3,218,3,220,3,223,3,225,3,227,3,229,3,234,3,251,3,253,3,1,4,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,128,3,140,0,4,1,98,0,12,1,252,3,41,0,226,1,41,0,41,0,41,0,41,0,14,1,14,1,14,1,212,0,217,0,127,255,155,1,155,1,38,2,5,0,114,2,106,1,221,2,62,3,224,3,235,3,2,4,27,3,171,2,39,3,126,2,51,3,241,2,180,3,62,0,49,3,56,3,132,0,175,2,99,2,96,3,9,4,147,1,175,3,198,3,215,3,8,4,14,4,16,4,192,3,228,3,236,1,206,255,57,0,131,0,153,0,221,0,206,1,76,2,84,2,163,2,209,2,52,3,66,3,89,3,146,3,211,3,10,4,41,4,57,4,63,4,71,4,72,4,73,4,74,4,77,4,80,4,81,4,64,1,244,1,143,2,82,4,83,4,247,1,84,4,86,4,89,4,169,2,90,4,91,4,231,3,92,4,93,4,94,4,221,0,95,4,96,4,97,4,98,4,99,4,100,4,20,3,188,3,17,4,27,4,29,4,247,1,43,4,55,4,104,4,56,4,42,4,44,4,21,4,59,4,23,4,79,4,78,4,101,4,102,4,49,4,38,4,103,4,107,4,65,4,69,4,111,4,28,4,112,4,113,4,35,4,36,4,117,4,60,4,106,4,108,4,109,4,110,4,114,4,115,4,127,4,130,4,116,4,70,4,119,4,121,4,118,4,132,4,134,4,58,4,62,4,138,4,139,4,141,4,126,4,145,4,153,4,146,4,155,4,137,4,142,4,144,4,148,4,143,4,149,4,150,4,151,4,156,4,157,4,158,4,160,4,120,4,122,4,124,4,123,4,125,4,128,4,129,4,136,4,162,4,170,4,161,4,165,4,163,4,167,4,169,4,168,4,172,4,174,4,173,4,178,4,191,4,193,4,202,4,203,4,207,4,208,4,209,4,210,4,179,4,180,4,181,4,197,4,199,4,185,4,187,4,213,4,59,1,42,3,83,1,36,3,5,0,194,0,194,0,30,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,34,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,184,3,35,3,35,3,35,3,154,3,86,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,88,0,88,0,87,0,87,0,87,0,86,0,83,1,4,3,184,3,184,3,59,1,87,0,87,0,87,0,86,0,83,1,5,3,68,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,22,5,146,0,153,3,2,0,59,1,171,1,24,0,167,2,185,3,48,0,86,0,83,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,94,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,165,3,165,3,59,1,3,1,156,1,142,1,140,1,57,0,221,2,221,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,221,4,154,3,86,1,12,1,166,3,167,3,241,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,145,3,15,5,170,2,175,2,15,5,233,0,141,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,85,0,82,0,168,0,168,2,175,1,170,3,171,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,63,1,145,3,16,5,29,3,143,3,16,5,169,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,79,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,108,3,108,3,117,1,85,0,82,0,168,0,176,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,128,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,114,1,51,1,205,3,111,1,1,0,143,3,177,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,189,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,208,2,180,3,165,3,165,3,149,0,206,2,180,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,82,1,170,3,171,3,179,3,182,2,172,3,206,3,59,1,185,3,48,0,166,3,167,3,203,2,177,2,71,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,64,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,156,1,147,1,52,3,52,3,64,3,67,3,74,0,92,0,81,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,186,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,3,1,142,2,143,2,144,2,137,1,111,0,75,1,153,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,188,0,187,0,186,0,56,3,169,3,72,1,219,0,185,3,48,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,188,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,226,2,3,0,150,4,187,3,92,1,225,2,76,1,24,3,165,3,165,3,169,3,79,0,173,1,218,2,3,0,203,0,160,0,22,1,135,1,17,1,134,1,190,0,124,3,178,1,144,1,229,2,76,0,77,0,15,1,31,1,253,0,97,1,242,0,78,0,84,1,84,1,85,0,82,0,168,0,76,0,77,0,233,0,141,1,185,3,48,0,176,1,78,0,84,1,84,1,21,1,166,3,167,3,185,0,183,1,139,2,132,1,129,1,128,1,176,1,234,0,20,1,107,0,162,1,93,1,81,1,80,1,127,1,125,3,216,2,215,0,181,3,123,0,203,3,52,1,42,3,162,1,180,1,179,1,156,1,138,1,30,3,144,1,105,3,126,3,123,0,209,2,104,3,42,3,121,3,180,1,179,1,215,0,181,3,30,3,95,1,210,2,185,2,124,1,178,1,3,3,115,1,22,0,178,1,144,1,79,0,173,1,232,0,3,0,189,0,157,1,102,3,35,3,35,3,35,3,37,3,18,0,54,0,148,0,185,3,48,0,188,3,113,0,185,3,9,0,35,3,35,3,35,3,37,3,18,0,54,1,123,0,236,2,76,0,77,0,230,2,123,0,69,1,187,3,98,3,78,0,84,1,84,1,113,0,94,1,103,1,85,0,82,0,168,0,87,1,192,3,192,3,176,1,2,3,156,1,158,1,151,1,23,0,216,4,216,4,79,0,173,1,101,1,3,0,166,0,91,0,91,0,91,0,91,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,178,1,180,1,179,1,24,3,64,1,30,3,76,0,77,0,21,3,15,1,123,0,178,1,104,1,78,0,84,1,84,1,96,3,85,0,82,0,168,0,185,3,9,0,139,1,231,2,104,1,176,1,253,0,102,1,252,0,165,3,165,3,185,3,30,0,121,3,71,1,216,0,35,3,35,3,35,3,37,3,18,0,113,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,113,0,180,1,179,1,24,3,185,0,30,3,32,1,132,1,129,1,128,1,123,0,113,0,152,3,2,0,28,3,184,2,166,3,167,3,127,1,69,0,173,1,178,1,3,0,218,0,110,0,226,2,253,0,102,1,252,0,178,1,225,2,165,3,165,3,124,3,103,1,222,0,35,3,35,3,35,3,37,3,18,0,185,3,47,0,165,3,165,3,165,3,165,3,76,0,77,0,185,3,9,0,110,1,136,3,217,0,78,0,84,1,84,1,165,2,49,1,48,1,47,1,206,0,45,1,224,0,3,1,152,2,176,1,81,1,80,1,178,1,228,0,247,0,144,0,166,3,167,3,165,3,165,3,155,2,125,3,68,1,235,4,96,0,178,1,162,1,28,3,166,3,167,3,166,3,167,3,185,3,48,0,145,1,148,0,33,1,126,3,42,3,161,1,180,1,179,1,165,2,247,2,30,3,185,3,9,0,58,1,220,0,162,0,161,0,170,0,146,1,239,0,185,3,8,0,194,0,171,2,171,2,154,1,166,3,167,3,238,0,191,3,165,3,165,3,225,0,152,1,177,3,109,1,189,3,212,0,190,3,172,0,245,2,35,3,35,3,35,3,37,3,18,0,173,0,109,1,176,0,123,0,171,0,113,0,244,0,184,3,246,0,178,1,100,1,28,3,116,1,109,1,236,0,192,3,192,3,42,3,34,1,36,3,191,0,165,0,84,3,30,3,3,1,60,1,166,3,167,3,237,0,185,3,34,0,148,1,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,189,2,184,3,178,1,240,0,91,1,246,2,35,3,35,3,35,3,178,1,245,0,155,4,178,1,133,1,178,1,120,1,178,1,127,3,167,0,178,1,149,1,190,2,185,3,35,0,161,2,65,1,221,0,178,1,77,1,185,3,11,0,178,1,185,3,26,0,185,3,36,0,185,3,37,0,251,0,185,3,38,0,178,1,3,1,178,1,245,2,178,1,73,1,185,3,27,0,178,1,223,0,185,3,28,0,178,1,178,2,178,1,67,0,178,1,65,0,178,1,94,3,185,3,39,0,185,3,40,0,185,3,41,0,167,1,178,1,185,3,10,0,178,1,4,3,185,3,42,0,185,3,98,0,185,3,43,0,185,3,44,0,5,3,178,1,90,1,178,1,75,0,178,1,73,0,185,3,31,0,178,1,185,3,45,0,178,1,3,1,178,1,178,2,178,1,245,2,178,1,119,3,178,1,185,3,46,0,185,3,32,0,185,3,115,0,178,1,10,1,185,3,116,0,183,3,185,3,117,0,185,3,52,0,185,3,33,0,185,3,99,0,185,3,49,0,214,2,178,1,141,3,178,1,19,0,185,3,100,0,178,1,88,1,178,1,113,0,178,1,2,1,180,2,178,1,3,1,178,1,158,2,178,1,20,0,178,1,185,3,101,0,185,3,97,0,178,1,3,1,185,3,114,0,185,3,112,0,185,3,105,0,113,0,185,3,104,0,185,3,102,0,185,3,103,0,185,3,51,0,178,1,148,0,178,1,185,3,53,0,167,0,178,1,3,1,113,0,44,1,51,1,144,3,107,1,55,1,92,3,248,0,5,1,209,0,8,1,160,1,185,3,50,0,185,3,25,0,164,1,215,2,185,3,29,0,174,1,65,1,168,1,245,2,172,1,66,1,124,0,245,4,214,0,165,0,198,2,91,3,140,3,38,3,26,3,53,1,158,0,193,0,105,1,254,0,211,2,108,1,67,0,125,1,13,1,223,2,199,0,67,0,70,0,113,0,188,2,187,2,195,2,196,2,116,3,113,0,254,2,113,0,87,3,193,0,115,3,199,0,101,3,101,3,163,2,100,3,100,3,109,0,112,1,255,0,4,1,7,1,24,1,91,3,9,1,38,3,206,3,11,1,199,2,183,2,16,1,252,2,26,1,27,3,28,1,150,0,232,2,243,2,159,1,36,1,37,1,34,3,166,2,160,2,149,2,148,2,150,2,159,3,6,0,50,1,130,1,96,1,18,3,243,0,250,0,118,3,106,1,163,0,30,1,163,1,42,1,162,3,159,0,200,3,196,0,126,0,135,3,133,3,197,3,55,0,58,0,67,1,19,1,89,3,136,0,147,0,182,2,88,3,121,0,65,0,98,1,99,1,123,1,175,0,61,0,151,0,113,1,180,0,103,3,119,1,129,0,1,1,244,2,210,0,181,0,145,0,131,0,132,0,121,1,6,1,151,2,133,0,134,0,139,0,15,3,23,3,182,0,136,1,183,0,56,1,74,1,202,2,120,3,201,2,83,3,180,2,195,0,200,2,150,1,174,2,193,2,57,1,173,2,64,0,71,3,18,1,72,0,172,2,78,1,174,3,95,0,240,2,23,1,25,1,192,2,241,2,239,2,166,1,27,1,155,1,238,2,170,1,66,0,204,0,153,1,21,0,29,1,160,3,157,2,181,1,205,0,207,0,208,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,235,0,169,0,89,1,106,0,222,2,22,3,40,1,38,1,39,1,120,0,41,1,99,3,97,3,127,0,128,0,130,0,212,2,229,0,174,0,249,0,114,3,137,0,230,0,138,0,135,0,117,3,231,0,59,0,60,0,177,0,113,3,7,0,178,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,152,0,154,2,122,1,20,1,184,0,14,1,122,0,142,0,126,1,131,1,62,0,13,0,14,0,191,2,63,0,125,0,61,1,62,1,227,0,41,3,40,3,69,3,220,2,15,0,164,0,224,2,4,0,253,2,211,0,143,1,213,0,192,0,143,0,248,2,70,0,67,0,16,0,17,0,70,3,68,3,123,3,73,3,122,3,198,0,197,0,149,3,154,0,165,1,155,3,150,3,155,0,200,0,209,3,169,1,72,3,156,0,201,0,39,3,164,2,80,0,46,1,43,1,209,3,202,0,237,4,236,4,16,16,2,16,40,0,52,2,101,3,65,2,213,2,213,2,213,2,227,2,237,255,16,0,16,0,100,0,213,2,213,2,213,2,213,2,213,2,213,2,213,2,73,3,73,3,26,2,251,1,172,2,111,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,203,1,168,1,238,1,17,2,17,2,158,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,53,3,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,184,3,199,2,199,2,199,2,199,2,199,2,254,2,23,0,32,0,43,3,109,3,151,2,90,2,90,2,43,3,73,0,113,0,205,255,161,255,161,255,161,255,245,1,245,1,245,1,83,2,83,2,41,3,205,0,20,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,192,0,116,2,242,1,242,1,113,0,222,255,222,255,222,255,222,255,222,255,222,255,161,255,161,255,161,255,112,3,162,255,162,255,214,2,228,2,99,0,29,3,119,3,93,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,173,3,173,3,173,3,43,3,43,3,158,3,43,3,43,3,43,3,238,255,43,3,43,3,74,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,224,0,96,2,142,3,142,3,142,3,54,4,45,0,213,1,252,1,166,3,202,3,202,3,140,4,166,3,140,4,12,4,159,4,103,1,249,3,202,3,186,3,249,3,249,3,68,4,218,2,241,1,201,4,147,4,147,4,204,4,204,4,147,4,1,5,0,5,154,4,11,5,11,5,11,5,11,5,147,4,13,5,154,4,1,5,0,5,0,5,154,4,147,4,13,5,152,4,220,4,147,4,147,4,13,5,22,5,147,4,13,5,147,4,13,5,22,5,205,4,205,4,205,4,239,4,22,5,205,4,214,4,205,4,239,4,205,4,205,4,198,4,221,4,198,4,221,4,198,4,221,4,198,4,221,4,147,4,147,4,194,4,22,5,24,5,24,5,22,5,206,4,218,4,219,4,222,4,154,4,67,5,68,5,83,5,83,5,95,5,95,5,95,5,95,5,161,255,161,255,161,255,161,255,161,255,161,255,161,255,161,255,195,1,108,3,90,1,135,4,75,4,185,1,55,3,164,4,87,4,166,4,171,4,175,4,176,4,237,3,105,4,200,4,21,2,177,4,188,4,131,4,190,4,85,4,88,4,196,4,133,4,11,3,106,5,108,5,90,5,227,4,99,5,21,5,100,5,101,5,102,5,254,4,251,4,16,5,5,5,109,5,6,5,116,5,132,5,14,5,3,5,103,5,104,5,25,5,82,5,78,5,23,5,142,5,139,5,124,5,40,5,8,5,69,5,125,5,70,5,65,5,81,5,47,5,131,5,136,5,138,5,46,5,54,5,140,5,84,5,143,5,144,5,137,5,145,5,85,5,110,5,147,5,94,5,93,5,151,5,152,5,153,5,61,5,156,5,157,5,159,5,158,5,57,5,160,5,162,5,126,5,122,5,165,5,64,5,163,5,127,5,164,5,128,5,163,5,170,5,171,5,172,5,173,5,174,5,176,5,185,5,177,5,179,5,178,5,180,5,181,5,183,5,184,5,180,5,186,5,188,5,189,5,190,5,192,5,89,5,96,5,97,5,98,5,193,5,200,5,202,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223,3,156,4,56,4,223,3,56,4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,51,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,149,0,0,0,102,0,0,0,80,1,1,0,32,0,7,1,94,0,0,1,85,1,0,0,13,0,2,0,109,0,0,0,73,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,53,45,49,56,32,49,48,58,53,55,58,51,48,32,102,99,52,57,102,53,53,54,101,52,56,57,55,48,53,54,49,100,55,97,98,54,97,50,102,50,52,102,100,100,55,100,57,101,98,56,49,102,102,50,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10350); -/* memory initializer */ allocate([101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0,240,2,149,1,149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20590); -/* memory initializer */ allocate([101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,99,0,1,3,64,1,8,0,74,0,2,0,48,1,2,1,64,1,8,0,74,0,1,0,159,0,0,0,85,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,99,0,1,4,21,1,0,0,73,0,2,0,100,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,89,1,0,0,21,1,4,0,97,0,3,0,85,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,100,0,0,0,2,0,0,0,99,0,1,0,85,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,112,0,0,0,96,0,2,0,113,0,0,0,109,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,55,33,26,23,25,24,59,57,56,58,7,6,55,33,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,1,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,0,0,16,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,0,16,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,77,0,0,0,55,0,9,0,94,0,0,0,36,0,7,0,121,0,0,0,94,0,1,0,13,0,9,0,7,0,2,0,74,0,0,0,109,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,92,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,249,22,172,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,168,169,170,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,157,22,23,23,96,26,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,221,222,223,185,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,240,43,44,45,46,47,48,49,50,51,52,53,19,227,22,23,230,22,96,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,30,43,44,45,46,47,48,49,50,51,52,53,19,190,191,55,56,24,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,168,169,170,179,180,171,96,19,172,173,97,98,188,179,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,107,43,44,45,46,47,48,49,50,51,52,53,19,207,208,30,31,32,33,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,152,7,8,9,49,22,19,24,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,101,55,53,193,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,116,22,23,169,170,121,207,85,55,56,97,19,20,195,22,99,100,101,102,103,104,105,12,152,206,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,101,97,98,99,148,149,102,103,104,66,154,112,156,83,229,47,48,113,57,163,194,195,92,246,247,95,83,97,98,207,208,101,206,59,73,92,75,63,95,163,97,98,194,195,101,219,85,181,19,152,175,77,196,152,206,19,20,199,22,30,163,11,132,133,134,135,136,209,152,172,173,152,196,172,173,132,133,134,135,136,164,92,213,47,48,49,92,186,169,170,54,55,56,196,100,219,221,222,223,243,132,133,66,175,207,208,152,231,119,120,19,20,236,22,152,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,152,97,98,85,107,101,47,48,163,112,92,152,152,54,55,56,229,221,222,223,172,173,163,49,152,66,108,109,110,55,56,172,173,163,186,22,132,133,134,135,136,196,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,99,101,152,102,103,104,92,196,146,147,152,181,97,98,113,19,20,152,22,218,22,116,108,109,110,152,121,55,56,12,219,218,132,133,134,135,136,172,173,55,56,55,56,47,48,172,173,236,152,5,54,55,56,55,10,11,12,13,14,186,152,17,66,47,48,152,210,16,84,97,98,55,56,21,57,217,122,22,152,83,152,97,98,97,98,172,173,152,152,224,73,95,75,97,98,97,124,101,172,173,164,193,47,48,60,163,62,172,173,24,55,56,186,97,98,71,100,55,56,183,207,185,152,107,23,109,82,26,132,133,134,135,136,89,152,26,92,93,196,88,55,90,152,91,152,217,152,152,132,133,95,152,97,211,212,103,101,152,114,97,98,152,172,173,19,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,65,97,152,152,141,124,132,133,134,152,140,140,152,78,152,233,152,193,98,152,56,86,172,173,166,167,237,152,217,172,173,152,172,173,172,173,172,173,237,172,173,152,152,152,124,152,111,172,173,152,237,172,173,152,55,152,26,152,130,152,152,172,173,172,173,172,173,249,152,172,173,152,61,172,173,172,173,172,173,172,173,70,152,193,152,137,152,139,172,173,152,172,173,152,152,152,97,152,26,152,163,152,172,173,172,173,172,173,152,16,172,173,26,172,173,172,173,172,173,172,173,172,173,163,152,152,152,22,172,173,152,241,152,196,152,193,106,152,152,152,163,152,37,152,172,173,172,173,152,152,172,173,172,173,172,173,196,172,173,172,173,172,173,172,173,152,152,152,172,173,98,152,152,196,160,22,23,19,164,193,152,88,232,90,191,172,173,172,173,163,193,172,173,166,167,163,124,163,244,245,23,211,212,26,55,23,55,23,26,123,26,152,23,193,56,26,23,23,23,26,26,26,196,100,101,7,8,152,196,23,196,23,26,152,26,132,133,23,132,133,26,152,152,152,152,210,97,152,97,96,152,152,152,152,152,210,152,210,197,152,152,152,152,152,152,152,152,152,152,152,152,198,150,176,214,201,214,238,201,238,184,214,226,200,155,198,67,122,242,159,159,69,239,239,159,175,175,22,220,180,175,27,130,18,159,18,158,137,220,159,158,235,74,189,234,159,159,158,22,192,192,177,159,159,192,192,189,201,189,158,107,158,177,76,174,201,174,201,106,159,174,125,174,182,177,176,107,159,174,137,174,53,174,129,216,215,215,182,216,216,177,215,126,216,177,128,25,127,26,215,13,162,161,153,153,6,151,151,151,151,165,178,165,178,4,3,22,142,15,94,16,205,120,202,204,203,165,201,23,23,131,111,123,20,225,125,16,1,131,228,111,123,56,228,37,37,64,1,5,122,22,107,140,80,80,26,87,72,107,24,20,19,112,105,23,68,22,79,79,22,22,22,58,22,245,248,248,79,23,23,23,116,22,122,23,22,56,23,26,23,64,22,124,26,26,64,64,23,23,23,11,23,22,26,23,22,24,1,23,22,26,250,24,23,22,122,23,23,22,15,23,250,122,122,122,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30830); -/* memory initializer */ allocate([101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,76,97,115,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,83,111,114,116,101,114,83,111,114,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,83,111,114,116,0,66,105,116,78,111,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,83,116,114,105,110,103,56,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,82,101,97,108,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+41070); +/* memory initializer */ allocate([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0,138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0,0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1,0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0,0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0,243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234,130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0,0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0,0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0,76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116,0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0,0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0,178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21,167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168,0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0,0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0,25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0,217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4,102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239,4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209,3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0,178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83,0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19,0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166,3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8,3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12,1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0,42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121,0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0,242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0,142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1,134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211,0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31,6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73,5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4,153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5,252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243,4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111,4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177,0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); +/* memory initializer */ allocate([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46,47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33,247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206,179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83,43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132,133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172,173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217,166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159,158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64,22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34,37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30720); +/* memory initializer */ allocate([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+40960); @@ -6594,7 +6594,7 @@ function _RegisterExtensionFunctions($db) { } HEAP32[$pArg>>2] = 0; $3 = HEAP32[$i>>2]|0; - $4 = (352 + (($3*12)|0)|0); + $4 = (360 + (($3*12)|0)|0); $5 = ((($4)) + 5|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; @@ -6613,21 +6613,21 @@ function _RegisterExtensionFunctions($db) { } $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$i>>2]|0; - $11 = (352 + (($10*12)|0)|0); + $11 = (360 + (($10*12)|0)|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$i>>2]|0; - $14 = (352 + (($13*12)|0)|0); + $14 = (360 + (($13*12)|0)|0); $15 = ((($14)) + 4|0); $16 = HEAP8[$15>>0]|0; $17 = $16 << 24 >> 24; $18 = HEAP32[$i>>2]|0; - $19 = (352 + (($18*12)|0)|0); + $19 = (360 + (($18*12)|0)|0); $20 = ((($19)) + 6|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = HEAP32[$pArg>>2]|0; $24 = HEAP32[$i>>2]|0; - $25 = (352 + (($24*12)|0)|0); + $25 = (360 + (($24*12)|0)|0); $26 = ((($25)) + 8|0); $27 = HEAP32[$26>>2]|0; (_sqlite3_create_function($9,$12,$17,$22,$23,$27,0,0)|0); @@ -6644,7 +6644,7 @@ function _RegisterExtensionFunctions($db) { } HEAP32[$pArg1>>2] = 0; $32 = HEAP32[$i>>2]|0; - $33 = (832 + ($32<<4)|0); + $33 = (840 + ($32<<4)|0); $34 = ((($33)) + 5|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; @@ -6663,20 +6663,20 @@ function _RegisterExtensionFunctions($db) { } $38 = HEAP32[$0>>2]|0; $39 = HEAP32[$i>>2]|0; - $40 = (832 + ($39<<4)|0); + $40 = (840 + ($39<<4)|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$i>>2]|0; - $43 = (832 + ($42<<4)|0); + $43 = (840 + ($42<<4)|0); $44 = ((($43)) + 4|0); $45 = HEAP8[$44>>0]|0; $46 = $45 << 24 >> 24; $47 = HEAP32[$pArg1>>2]|0; $48 = HEAP32[$i>>2]|0; - $49 = (832 + ($48<<4)|0); + $49 = (840 + ($48<<4)|0); $50 = ((($49)) + 8|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$i>>2]|0; - $53 = (832 + ($52<<4)|0); + $53 = (840 + ($52<<4)|0); $54 = ((($53)) + 12|0); $55 = HEAP32[$54>>2]|0; (_sqlite3_create_function($38,$41,$46,1,$47,0,$51,$55)|0); @@ -6706,7 +6706,7 @@ function _acosFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),378,(17374|0)); + ___assert_fail((16726|0),(16734|0),378,(16758|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6765,7 +6765,7 @@ function _asinFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),379,(17383|0)); + ___assert_fail((16726|0),(16734|0),379,(16767|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6824,7 +6824,7 @@ function _atanFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),380,(17392|0)); + ___assert_fail((16726|0),(16734|0),380,(16776|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6884,7 +6884,7 @@ function _atn2Func($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),570,(17409|0)); + ___assert_fail((16785|0),(16734|0),570,(16793|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6939,7 +6939,7 @@ function _acoshFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),394,(17418|0)); + ___assert_fail((16726|0),(16734|0),394,(16802|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6998,7 +6998,7 @@ function _asinhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),402,(17428|0)); + ___assert_fail((16726|0),(16734|0),402,(16812|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7057,7 +7057,7 @@ function _atanhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),410,(17438|0)); + ___assert_fail((16726|0),(16734|0),410,(16822|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7127,7 +7127,7 @@ function _differenceFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),1680,(17448|0)); + ___assert_fail((16785|0),(16734|0),1680,(16832|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7231,7 +7231,7 @@ function _rad2degFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),498,(17852|0)); + ___assert_fail((16726|0),(16734|0),498,(17236|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7290,7 +7290,7 @@ function _deg2radFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),499,(17864|0)); + ___assert_fail((16726|0),(16734|0),499,(17248|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7349,7 +7349,7 @@ function _cosFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),420,(17876|0)); + ___assert_fail((16726|0),(16734|0),420,(17260|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7408,7 +7408,7 @@ function _sinFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),419,(17884|0)); + ___assert_fail((16726|0),(16734|0),419,(17268|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7467,7 +7467,7 @@ function _tanFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),421,(17892|0)); + ___assert_fail((16726|0),(16734|0),421,(17276|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7526,7 +7526,7 @@ function _cotFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),422,(17900|0)); + ___assert_fail((16726|0),(16734|0),422,(17284|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7585,7 +7585,7 @@ function _coshFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),446,(17908|0)); + ___assert_fail((16726|0),(16734|0),446,(17292|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7644,7 +7644,7 @@ function _sinhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),438,(17917|0)); + ___assert_fail((16726|0),(16734|0),438,(17301|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7703,7 +7703,7 @@ function _tanhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),454,(17926|0)); + ___assert_fail((16726|0),(16734|0),454,(17310|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7762,7 +7762,7 @@ function _cothFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),456,(17935|0)); + ___assert_fail((16726|0),(16734|0),456,(17319|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7821,7 +7821,7 @@ function _expFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),474,(17944|0)); + ___assert_fail((16726|0),(16734|0),474,(17328|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7880,7 +7880,7 @@ function _logFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),472,(17952|0)); + ___assert_fail((16726|0),(16734|0),472,(17336|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7939,7 +7939,7 @@ function _log10Func($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),473,(17960|0)); + ___assert_fail((16726|0),(16734|0),473,(17344|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8001,7 +8001,7 @@ function _powerFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),546,(17970|0)); + ___assert_fail((16785|0),(16734|0),546,(17354|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8081,7 +8081,7 @@ function _signFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17342|0),(17350|0),590,(17980|0)); + ___assert_fail((16726|0),(16734|0),590,(17364|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8192,7 +8192,7 @@ function _sqrtFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),375,(17989|0)); + ___assert_fail((16726|0),(16734|0),375,(17373|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8258,7 +8258,7 @@ function _squareFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17342|0),(17350|0),514,(17998|0)); + ___assert_fail((16726|0),(16734|0),514,(17382|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8343,7 +8343,7 @@ function _ceilFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17342|0),(17350|0),620,(18009|0)); + ___assert_fail((16726|0),(16734|0),620,(17393|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8421,7 +8421,7 @@ function _floorFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17342|0),(17350|0),645,(18018|0)); + ___assert_fail((16726|0),(16734|0),645,(17402|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8552,7 +8552,7 @@ function _replicateFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18028,-1); + _sqlite3_result_error($29,17412,-1); STACKTOP = sp;return; } $30 = HEAP32[$2>>2]|0; @@ -8730,7 +8730,7 @@ function _charindexFunc($context,$argc,$argv) { $6 = ($5|0)==(2); $or$cond = $4 | $6; if (!($or$cond)) { - ___assert_fail((18041|0),(17350|0),1038,(18059|0)); + ___assert_fail((17425|0),(16734|0),1038,(17443|0)); // unreachable; } $7 = HEAP32[$2>>2]|0; @@ -8818,7 +8818,7 @@ function _leftFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),1073,(18073|0)); + ___assert_fail((16785|0),(16734|0),1073,(17457|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8946,7 +8946,7 @@ function _rightFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),1113,(18082|0)); + ___assert_fail((16785|0),(16734|0),1113,(17466|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9085,7 +9085,7 @@ function _reverseFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = (1)==($3|0); if (!($4)) { - ___assert_fail((18092|0),(17350|0),1323,(18100|0)); + ___assert_fail((17476|0),(16734|0),1323,(17484|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9202,7 +9202,7 @@ function _properFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),724,(18112|0)); + ___assert_fail((16726|0),(16734|0),724,(17496|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9307,7 +9307,7 @@ function _padlFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),771,(18123|0)); + ___assert_fail((16785|0),(16734|0),771,(17507|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9343,7 +9343,7 @@ function _padlFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18028,-1); + _sqlite3_result_error($29,17412,-1); STACKTOP = sp;return; } $30 = HEAP32[$zi>>2]|0; @@ -9496,7 +9496,7 @@ function _padrFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),825,(18160|0)); + ___assert_fail((16785|0),(16734|0),825,(17544|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9532,7 +9532,7 @@ function _padrFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18028,-1); + _sqlite3_result_error($29,17412,-1); STACKTOP = sp;return; } $30 = HEAP32[$zi>>2]|0; @@ -9706,7 +9706,7 @@ function _padcFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),880,(18169|0)); + ___assert_fail((16785|0),(16734|0),880,(17553|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9742,7 +9742,7 @@ function _padcFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18028,-1); + _sqlite3_result_error($29,17412,-1); STACKTOP = sp;return; } $30 = HEAP32[$zi>>2]|0; @@ -9952,7 +9952,7 @@ function _strfilterFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17401|0),(17350|0),939,(18178|0)); + ___assert_fail((16785|0),(16734|0),939,(17562|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -10111,7 +10111,7 @@ function _varianceStep($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17342|0),(17350|0),1395,(18192|0)); + ___assert_fail((16726|0),(16734|0),1395,(17576|0)); // unreachable; } $5 = HEAP32[$0>>2]|0; @@ -10320,7 +10320,7 @@ function _modeStep($context,$argc,$argv) { $9 = HEAP32[$1>>2]|0; $10 = ($9|0)==(1); if (!($10)) { - ___assert_fail((17342|0),(17350|0),1418,(18205|0)); + ___assert_fail((16726|0),(16734|0),1418,(17589|0)); // unreachable; } $11 = HEAP32[$2>>2]|0; @@ -10708,7 +10708,7 @@ function _node_insert($n,$cmp,$e) { $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - $6 = (_xcalloc(1,24,17333)|0); + $6 = (_xcalloc(1,24,16717)|0); HEAP32[$nn>>2] = $6; $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$nn>>2]|0; @@ -11103,7 +11103,7 @@ function _soundex($zIn,$zResult) { $22 = ($21<<24>>24)!=(0); if (!($22)) { $67 = HEAP32[$1>>2]|0; - (_strcpy($67,17591)|0); + (_strcpy($67,16975)|0); STACKTOP = sp;return; } $23 = HEAP32[$i>>2]|0; @@ -11137,7 +11137,7 @@ function _soundex($zIn,$zResult) { $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = $43 & 127; - $45 = (17463 + ($44)|0); + $45 = (16847 + ($44)|0); $46 = HEAP8[$45>>0]|0; $47 = $46&255; HEAP32[$code>>2] = $47; @@ -11194,7 +11194,7 @@ function _sqlite3ReadUtf8($z) { $4 = $3&255; HEAP32[$c>>2] = $4; $5 = HEAP32[$c>>2]|0; - $6 = (17596 + ($5)|0); + $6 = (16980 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; HEAP32[$xtra>>2] = $8; @@ -11252,13 +11252,13 @@ function _sqlite3ReadUtf8($z) { $30 = (($25) + ($29))|0; HEAP32[$c>>2] = $30; $31 = HEAP32[$xtra>>2]|0; - $32 = (928 + ($31<<2)|0); + $32 = (936 + ($31<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$c>>2]|0; $35 = (($34) - ($33))|0; HEAP32[$c>>2] = $35; $36 = HEAP32[$xtra>>2]|0; - $37 = (944 + ($36<<2)|0); + $37 = (952 + ($36<<2)|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$c>>2]|0; $40 = $38 & $39; @@ -11540,7 +11540,7 @@ function _sqlite3Utf8CharLen($z,$nByte) { $8 = HEAP32[$zTerm>>2]|0; $9 = ($7>>>0)<=($8>>>0); if (!($9)) { - ___assert_fail((18132|0),(17350|0),316,(18141|0)); + ___assert_fail((17516|0),(16734|0),316,(17525|0)); // unreachable; } while(1) { @@ -11562,7 +11562,7 @@ function _sqlite3Utf8CharLen($z,$nByte) { $17 = HEAP32[$0>>2]|0; $18 = HEAP8[$17>>0]|0; $19 = $18&255; - $20 = (17596 + ($19)|0); + $20 = (16980 + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = (($22) + 1)|0; @@ -12146,7 +12146,7 @@ function _sqlite3_compileoption_used($zOptName) { $n = sp; HEAP32[$1>>2] = $zOptName; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_strnicmp($2,18221,7)|0); + $3 = (_sqlite3_strnicmp($2,17605,7)|0); $4 = ($3|0)==(0); if ($4) { $5 = HEAP32[$1>>2]|0; @@ -12159,14 +12159,14 @@ function _sqlite3_compileoption_used($zOptName) { HEAP32[$i>>2] = 0; while(1) { $9 = HEAP32[$i>>2]|0; - $10 = ($9|0)<(7); + $10 = ($9|0)<(8); if (!($10)) { label = 9; break; } $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$i>>2]|0; - $13 = (968 + ($12<<2)|0); + $13 = (976 + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$n>>2]|0; $16 = (_sqlite3_strnicmp($11,$14,$15)|0); @@ -12174,7 +12174,7 @@ function _sqlite3_compileoption_used($zOptName) { if ($17) { $18 = HEAP32[$n>>2]|0; $19 = HEAP32[$i>>2]|0; - $20 = (968 + ($19<<2)|0); + $20 = (976 + ($19<<2)|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($18)|0); $23 = HEAP8[$22>>0]|0; @@ -12257,13 +12257,13 @@ function _sqlite3_strnicmp($zLeft,$zRight,$N) { $19 = HEAP32[$a>>2]|0; $20 = HEAP8[$19>>0]|0; $21 = $20&255; - $22 = (18229 + ($21)|0); + $22 = (17613 + ($21)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = HEAP32[$b>>2]|0; $26 = HEAP8[$25>>0]|0; $27 = $26&255; - $28 = (18229 + ($27)|0); + $28 = (17613 + ($27)|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = ($24|0)==($30|0); @@ -12285,13 +12285,13 @@ function _sqlite3_strnicmp($zLeft,$zRight,$N) { $38 = HEAP32[$a>>2]|0; $39 = HEAP8[$38>>0]|0; $40 = $39&255; - $41 = (18229 + ($40)|0); + $41 = (17613 + ($40)|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = HEAP32[$b>>2]|0; $45 = HEAP8[$44>>0]|0; $46 = $45&255; - $47 = (18229 + ($46)|0); + $47 = (17613 + ($46)|0); $48 = HEAP8[$47>>0]|0; $49 = $48&255; $50 = (($43) - ($49))|0; @@ -12312,11 +12312,11 @@ function _sqlite3_compileoption_get($N) { $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>=(0); $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)<(7); + $5 = ($4|0)<(8); $or$cond = $3 & $5; if ($or$cond) { $6 = HEAP32[$1>>2]|0; - $7 = (968 + ($6<<2)|0); + $7 = (976 + ($6<<2)|0); $8 = HEAP32[$7>>2]|0; HEAP32[$0>>2] = $8; $9 = HEAP32[$0>>2]|0; @@ -12354,13 +12354,13 @@ function _sqlite3_status64($op,$pCurrent,$pHighwater,$resetFlag) { $8 = ($7|0)>=(10); $or$cond = $6 | $8; if ($or$cond) { - $9 = (_sqlite3MisuseError(18094)|0); + $9 = (_sqlite3MisuseError(18365)|0); HEAP32[$0>>2] = $9; $41 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($41|0); } $10 = HEAP32[$1>>2]|0; - $11 = (18485 + ($10)|0); + $11 = (17869 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = $12 << 24 >> 24; $14 = ($13|0)!=(0); @@ -12373,7 +12373,7 @@ function _sqlite3_status64($op,$pCurrent,$pHighwater,$resetFlag) { } HEAP32[$pMutex>>2] = $17; $18 = HEAP32[$1>>2]|0; - $19 = (996 + ($18<<2)|0); + $19 = (1008 + ($18<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$2>>2]|0; $22 = $21; @@ -12383,7 +12383,7 @@ function _sqlite3_status64($op,$pCurrent,$pHighwater,$resetFlag) { $25 = $24; HEAP32[$25>>2] = 0; $26 = HEAP32[$1>>2]|0; - $27 = ((1036) + ($26<<2)|0); + $27 = ((1048) + ($26<<2)|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$3>>2]|0; $30 = $29; @@ -12396,10 +12396,10 @@ function _sqlite3_status64($op,$pCurrent,$pHighwater,$resetFlag) { $35 = ($34|0)!=(0); if ($35) { $36 = HEAP32[$1>>2]|0; - $37 = (996 + ($36<<2)|0); + $37 = (1008 + ($36<<2)|0); $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$1>>2]|0; - $40 = ((1036) + ($39<<2)|0); + $40 = ((1048) + ($39<<2)|0); HEAP32[$40>>2] = $38; } HEAP32[$0>>2] = 0; @@ -12427,7 +12427,7 @@ function _sqlite3_vfs_find($zVfs) { $20 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($20|0); } - $5 = HEAP32[1076>>2]|0; + $5 = HEAP32[1088>>2]|0; HEAP32[$pVfs>>2] = $5; while(1) { $6 = HEAP32[$pVfs>>2]|0; @@ -12528,7 +12528,7 @@ function _sqlite3_initialize() { $or$cond3 = $25 & $27; if ($or$cond3) { HEAP32[(240)>>2] = 1; - dest=1080; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=1092; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); _sqlite3RegisterBuiltinFunctions(); $28 = HEAP32[(252)>>2]|0; $29 = ($28|0)==(0); @@ -12594,16 +12594,16 @@ function _sqlite3_vfs_register($pVfs,$makeDflt) { _vfsUnlink($7); $8 = HEAP32[$2>>2]|0; $9 = ($8|0)!=(0); - $10 = HEAP32[1076>>2]|0; + $10 = HEAP32[1088>>2]|0; $11 = ($10|0)==(0|0); $or$cond = $9 | $11; - $12 = HEAP32[1076>>2]|0; + $12 = HEAP32[1088>>2]|0; if ($or$cond) { $13 = HEAP32[$1>>2]|0; $14 = ((($13)) + 12|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$1>>2]|0; - HEAP32[1076>>2] = $15; + HEAP32[1088>>2] = $15; } else { $16 = ((($12)) + 12|0); $17 = HEAP32[$16>>2]|0; @@ -12611,7 +12611,7 @@ function _sqlite3_vfs_register($pVfs,$makeDflt) { $19 = ((($18)) + 12|0); HEAP32[$19>>2] = $17; $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[1076>>2]|0; + $21 = HEAP32[1088>>2]|0; $22 = ((($21)) + 12|0); HEAP32[$22>>2] = $20; } @@ -12672,7 +12672,7 @@ function _sqlite3_soft_heap_limit64($0,$1) { tempRet0 = ($135); STACKTOP = sp;return ($132|0); } - $15 = (288); + $15 = (296); $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = (($15) + 4)|0; @@ -12719,7 +12719,7 @@ function _sqlite3_soft_heap_limit64($0,$1) { $45 = (($42) + 4)|0; $46 = $45; $47 = HEAP32[$46>>2]|0; - $48 = (288); + $48 = (296); $49 = $48; HEAP32[$49>>2] = $44; $50 = (($48) + 4)|0; @@ -12767,7 +12767,7 @@ function _sqlite3_soft_heap_limit64($0,$1) { $87 = 0; } $86 = $87&1; - HEAP32[(308)>>2] = $86; + HEAP32[(316)>>2] = $86; $88 = (_sqlite3_memory_used()|0); $89 = tempRet0; $90 = $3; @@ -13186,14 +13186,14 @@ function _sqlite3_randomness($N,$pBuf) { $8 = ($7|0)==(0|0); $or$cond = $6 | $8; if ($or$cond) { - HEAP8[18495>>0] = 0; + HEAP8[17879>>0] = 0; STACKTOP = sp;return; } - $9 = HEAP8[18495>>0]|0; + $9 = HEAP8[17879>>0]|0; $10 = ($9<<24>>24)!=(0); if (!($10)) { - HEAP8[(18497)>>0] = 0; - HEAP8[(18496)>>0] = 0; + HEAP8[(17881)>>0] = 0; + HEAP8[(17880)>>0] = 0; $11 = (_sqlite3_vfs_find(0)|0); (_sqlite3OsRandomness($11,256,$k)|0); HEAP32[$i>>2] = 0; @@ -13206,7 +13206,7 @@ function _sqlite3_randomness($N,$pBuf) { $14 = HEAP32[$i>>2]|0; $15 = $14&255; $16 = HEAP32[$i>>2]|0; - $17 = ((18498) + ($16)|0); + $17 = ((17882) + ($16)|0); HEAP8[$17>>0] = $15; $18 = HEAP32[$i>>2]|0; $19 = (($18) + 1)|0; @@ -13220,7 +13220,7 @@ function _sqlite3_randomness($N,$pBuf) { break; } $22 = HEAP32[$i>>2]|0; - $23 = ((18498) + ($22)|0); + $23 = ((17882) + ($22)|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; $26 = HEAP32[$i>>2]|0; @@ -13228,65 +13228,65 @@ function _sqlite3_randomness($N,$pBuf) { $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = (($25) + ($29))|0; - $31 = HEAP8[(18497)>>0]|0; + $31 = HEAP8[(17881)>>0]|0; $32 = $31&255; $33 = (($32) + ($30))|0; $34 = $33&255; - HEAP8[(18497)>>0] = $34; - $35 = HEAP8[(18497)>>0]|0; + HEAP8[(17881)>>0] = $34; + $35 = HEAP8[(17881)>>0]|0; $36 = $35&255; - $37 = ((18498) + ($36)|0); + $37 = ((17882) + ($36)|0); $38 = HEAP8[$37>>0]|0; HEAP8[$t>>0] = $38; $39 = HEAP32[$i>>2]|0; - $40 = ((18498) + ($39)|0); + $40 = ((17882) + ($39)|0); $41 = HEAP8[$40>>0]|0; - $42 = HEAP8[(18497)>>0]|0; + $42 = HEAP8[(17881)>>0]|0; $43 = $42&255; - $44 = ((18498) + ($43)|0); + $44 = ((17882) + ($43)|0); HEAP8[$44>>0] = $41; $45 = HEAP8[$t>>0]|0; $46 = HEAP32[$i>>2]|0; - $47 = ((18498) + ($46)|0); + $47 = ((17882) + ($46)|0); HEAP8[$47>>0] = $45; $48 = HEAP32[$i>>2]|0; $49 = (($48) + 1)|0; HEAP32[$i>>2] = $49; } - HEAP8[18495>>0] = 1; + HEAP8[17879>>0] = 1; } while(1) { - $50 = HEAP8[(18496)>>0]|0; + $50 = HEAP8[(17880)>>0]|0; $51 = (($50) + 1)<<24>>24; - HEAP8[(18496)>>0] = $51; - $52 = HEAP8[(18496)>>0]|0; + HEAP8[(17880)>>0] = $51; + $52 = HEAP8[(17880)>>0]|0; $53 = $52&255; - $54 = ((18498) + ($53)|0); + $54 = ((17882) + ($53)|0); $55 = HEAP8[$54>>0]|0; HEAP8[$t>>0] = $55; $56 = HEAP8[$t>>0]|0; $57 = $56&255; - $58 = HEAP8[(18497)>>0]|0; + $58 = HEAP8[(17881)>>0]|0; $59 = $58&255; $60 = (($59) + ($57))|0; $61 = $60&255; - HEAP8[(18497)>>0] = $61; - $62 = HEAP8[(18497)>>0]|0; + HEAP8[(17881)>>0] = $61; + $62 = HEAP8[(17881)>>0]|0; $63 = $62&255; - $64 = ((18498) + ($63)|0); + $64 = ((17882) + ($63)|0); $65 = HEAP8[$64>>0]|0; - $66 = HEAP8[(18496)>>0]|0; + $66 = HEAP8[(17880)>>0]|0; $67 = $66&255; - $68 = ((18498) + ($67)|0); + $68 = ((17882) + ($67)|0); HEAP8[$68>>0] = $65; $69 = HEAP8[$t>>0]|0; - $70 = HEAP8[(18497)>>0]|0; + $70 = HEAP8[(17881)>>0]|0; $71 = $70&255; - $72 = ((18498) + ($71)|0); + $72 = ((17882) + ($71)|0); HEAP8[$72>>0] = $69; - $73 = HEAP8[(18496)>>0]|0; + $73 = HEAP8[(17880)>>0]|0; $74 = $73&255; - $75 = ((18498) + ($74)|0); + $75 = ((17882) + ($74)|0); $76 = HEAP8[$75>>0]|0; $77 = $76&255; $78 = HEAP8[$t>>0]|0; @@ -13296,7 +13296,7 @@ function _sqlite3_randomness($N,$pBuf) { HEAP8[$t>>0] = $81; $82 = HEAP8[$t>>0]|0; $83 = $82&255; - $84 = ((18498) + ($83)|0); + $84 = ((17882) + ($83)|0); $85 = HEAP8[$84>>0]|0; $86 = HEAP32[$zBuf>>2]|0; $87 = ((($86)) + 1|0); @@ -13361,7 +13361,7 @@ function _sqlite3_os_init() { break; } $2 = HEAP32[$i>>2]|0; - $3 = (1172 + (($2*88)|0)|0); + $3 = (1184 + (($2*88)|0)|0); $4 = HEAP32[$i>>2]|0; $5 = ($4|0)==(0); $6 = $5&1; @@ -13392,12 +13392,12 @@ function _sqlite3_backup_step($p,$nPage) { var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bCloseTrans = 0, $destMode = 0, $iEnd = 0, $iOff = 0, $iPg = 0; - var $iSize = 0, $iSrcPg = 0, $iSrcPg2 = 0, $ii = 0, $nDestTruncate = 0, $nDstPage = 0, $nSrcPage = 0, $or$cond = 0, $or$cond4 = 0, $pDestPager = 0, $pFile = 0, $pPg = 0, $pSrcPager = 0, $pSrcPg = 0, $pSrcPg1 = 0, $pgszDest = 0, $pgszSrc = 0, $ratio = 0, $rc = 0, $zData = 0; - var label = 0, sp = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; + var $421 = 0, $422 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bCloseTrans = 0, $destMode = 0, $iEnd = 0, $iOff = 0, $iPg = 0, $iSize = 0, $iSrcPg = 0, $iSrcPg2 = 0, $ii = 0, $nDestTruncate = 0, $nDstPage = 0, $nSrcPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $pDestPager = 0; + var $pFile = 0, $pPg = 0, $pSrcPager = 0, $pSrcPg = 0, $pSrcPg1 = 0, $pgszDest = 0, $pgszSrc = 0, $ratio = 0, $rc = 0, $zData = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $0 = sp + 108|0; @@ -13441,8 +13441,8 @@ function _sqlite3_backup_step($p,$nPage) { $9 = (_isFatalError($8)|0); $10 = ($9|0)!=(0); if ($10) { - $413 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($413|0); + $422 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($422|0); } $11 = HEAP32[$0>>2]|0; $12 = ((($11)) + 24|0); @@ -13481,556 +13481,571 @@ function _sqlite3_backup_step($p,$nPage) { HEAP32[$rc>>2] = 0; } $31 = HEAP32[$rc>>2]|0; - $32 = (0)==($31|0); + $32 = ($31|0)==(0); if ($32) { $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 12|0); + $34 = ((($33)) + 24|0); $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3BtreeBeginTrans($39,2)|0); - HEAP32[$rc>>2] = $40; - $41 = (0)==($40|0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 12|0); - HEAP32[$43>>2] = 1; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 8|0); - _sqlite3BtreeGetMeta($46,1,$48); - } - } - } - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3BtreeIsInReadTrans($53)|0); - $55 = (0)==($54|0); - if ($55) { - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 24|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3BtreeBeginTrans($58,0)|0); - HEAP32[$rc>>2] = $59; + $36 = (_sqlite3BtreeIsInReadTrans($35)|0); + $37 = (0)==($36|0); + if ($37) { + $38 = HEAP32[$0>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3BtreeBeginTrans($40,0)|0); + HEAP32[$rc>>2] = $41; HEAP32[$bCloseTrans>>2] = 1; } } - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 24|0); - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3BtreeGetPageSize($62)|0); - HEAP32[$pgszSrc>>2] = $63; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 4|0); - $66 = HEAP32[$65>>2]|0; - $67 = (_sqlite3BtreeGetPageSize($66)|0); - HEAP32[$pgszDest>>2] = $67; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 4|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3BtreePager($70)|0); - $72 = (_sqlite3PagerGetJournalMode($71)|0); - HEAP32[$destMode>>2] = $72; - $73 = HEAP32[$rc>>2]|0; - $74 = (0)==($73|0); - $75 = HEAP32[$destMode>>2]|0; - $76 = ($75|0)==(5); - $or$cond = $74 & $76; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + $46 = HEAP32[$rc>>2]|0; + $47 = ($46|0)==(0); + $or$cond = $45 & $47; if ($or$cond) { - $77 = HEAP32[$pgszSrc>>2]|0; - $78 = HEAP32[$pgszDest>>2]|0; - $79 = ($77|0)!=($78|0); - if ($79) { + $48 = HEAP32[$0>>2]|0; + $49 = (_setDestPgsz($48)|0); + $50 = ($49|0)==(7); + if ($50) { + HEAP32[$rc>>2] = 7; + } + } + $51 = HEAP32[$rc>>2]|0; + $52 = (0)==($51|0); + if ($52) { + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==(0); + if ($56) { + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3BtreeBeginTrans($59,2)|0); + HEAP32[$rc>>2] = $60; + $61 = (0)==($60|0); + if ($61) { + $62 = HEAP32[$0>>2]|0; + $63 = ((($62)) + 12|0); + HEAP32[$63>>2] = 1; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$0>>2]|0; + $68 = ((($67)) + 8|0); + _sqlite3BtreeGetMeta($66,1,$68); + } + } + } + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 24|0); + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3BtreeGetPageSize($71)|0); + HEAP32[$pgszSrc>>2] = $72; + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_sqlite3BtreeGetPageSize($75)|0); + HEAP32[$pgszDest>>2] = $76; + $77 = HEAP32[$0>>2]|0; + $78 = ((($77)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = (_sqlite3BtreePager($79)|0); + $81 = (_sqlite3PagerGetJournalMode($80)|0); + HEAP32[$destMode>>2] = $81; + $82 = HEAP32[$rc>>2]|0; + $83 = (0)==($82|0); + $84 = HEAP32[$destMode>>2]|0; + $85 = ($84|0)==(5); + $or$cond3 = $83 & $85; + if ($or$cond3) { + $86 = HEAP32[$pgszSrc>>2]|0; + $87 = HEAP32[$pgszDest>>2]|0; + $88 = ($86|0)!=($87|0); + if ($88) { HEAP32[$rc>>2] = 8; } } - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 24|0); - $82 = HEAP32[$81>>2]|0; - $83 = (_sqlite3BtreeLastPage($82)|0); - HEAP32[$nSrcPage>>2] = $83; + $89 = HEAP32[$0>>2]|0; + $90 = ((($89)) + 24|0); + $91 = HEAP32[$90>>2]|0; + $92 = (_sqlite3BtreeLastPage($91)|0); + HEAP32[$nSrcPage>>2] = $92; HEAP32[$ii>>2] = 0; while(1) { - $84 = HEAP32[$1>>2]|0; - $85 = ($84|0)<(0); - if (!($85)) { - $86 = HEAP32[$ii>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = ($86|0)<($87|0); - if (!($88)) { + $93 = HEAP32[$1>>2]|0; + $94 = ($93|0)<(0); + if (!($94)) { + $95 = HEAP32[$ii>>2]|0; + $96 = HEAP32[$1>>2]|0; + $97 = ($95|0)<($96|0); + if (!($97)) { break; } } - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + 16|0); - $91 = HEAP32[$90>>2]|0; - $92 = HEAP32[$nSrcPage>>2]|0; - $93 = ($91>>>0)<=($92>>>0); - if (!($93)) { + $98 = HEAP32[$0>>2]|0; + $99 = ((($98)) + 16|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$nSrcPage>>2]|0; + $102 = ($100>>>0)<=($101>>>0); + if (!($102)) { break; } - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)!=(0); - $96 = $95 ^ 1; - if (!($96)) { + $103 = HEAP32[$rc>>2]|0; + $104 = ($103|0)!=(0); + $105 = $104 ^ 1; + if (!($105)) { break; } - $97 = HEAP32[$0>>2]|0; - $98 = ((($97)) + 16|0); - $99 = HEAP32[$98>>2]|0; - HEAP32[$iSrcPg>>2] = $99; - $100 = HEAP32[$iSrcPg>>2]|0; - $101 = HEAP32[1524>>2]|0; - $102 = HEAP32[$0>>2]|0; - $103 = ((($102)) + 24|0); - $104 = HEAP32[$103>>2]|0; - $105 = ((($104)) + 4|0); - $106 = HEAP32[$105>>2]|0; - $107 = ((($106)) + 32|0); + $106 = HEAP32[$0>>2]|0; + $107 = ((($106)) + 16|0); $108 = HEAP32[$107>>2]|0; - $109 = (($101>>>0) / ($108>>>0))&-1; - $110 = (($109) + 1)|0; - $111 = ($100|0)!=($110|0); - if ($111) { - $112 = HEAP32[$pSrcPager>>2]|0; - $113 = HEAP32[$iSrcPg>>2]|0; - $114 = (_sqlite3PagerGet($112,$113,$pSrcPg,2)|0); - HEAP32[$rc>>2] = $114; - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[$0>>2]|0; - $118 = HEAP32[$iSrcPg>>2]|0; - $119 = HEAP32[$pSrcPg>>2]|0; - $120 = (_sqlite3PagerGetData($119)|0); - $121 = (_backupOnePage($117,$118,$120,0)|0); - HEAP32[$rc>>2] = $121; - $122 = HEAP32[$pSrcPg>>2]|0; - _sqlite3PagerUnref($122); + HEAP32[$iSrcPg>>2] = $108; + $109 = HEAP32[$iSrcPg>>2]|0; + $110 = HEAP32[1536>>2]|0; + $111 = HEAP32[$0>>2]|0; + $112 = ((($111)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ((($115)) + 32|0); + $117 = HEAP32[$116>>2]|0; + $118 = (($110>>>0) / ($117>>>0))&-1; + $119 = (($118) + 1)|0; + $120 = ($109|0)!=($119|0); + if ($120) { + $121 = HEAP32[$pSrcPager>>2]|0; + $122 = HEAP32[$iSrcPg>>2]|0; + $123 = (_sqlite3PagerGet($121,$122,$pSrcPg,2)|0); + HEAP32[$rc>>2] = $123; + $124 = HEAP32[$rc>>2]|0; + $125 = ($124|0)==(0); + if ($125) { + $126 = HEAP32[$0>>2]|0; + $127 = HEAP32[$iSrcPg>>2]|0; + $128 = HEAP32[$pSrcPg>>2]|0; + $129 = (_sqlite3PagerGetData($128)|0); + $130 = (_backupOnePage($126,$127,$129,0)|0); + HEAP32[$rc>>2] = $130; + $131 = HEAP32[$pSrcPg>>2]|0; + _sqlite3PagerUnref($131); } } - $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 16|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + 1)|0; - HEAP32[$124>>2] = $126; - $127 = HEAP32[$ii>>2]|0; - $128 = (($127) + 1)|0; - HEAP32[$ii>>2] = $128; + $132 = HEAP32[$0>>2]|0; + $133 = ((($132)) + 16|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($134) + 1)|0; + HEAP32[$133>>2] = $135; + $136 = HEAP32[$ii>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[$ii>>2] = $137; } - $129 = HEAP32[$rc>>2]|0; - $130 = ($129|0)==(0); + $138 = HEAP32[$rc>>2]|0; + $139 = ($138|0)==(0); do { - if ($130) { - $131 = HEAP32[$nSrcPage>>2]|0; - $132 = HEAP32[$0>>2]|0; - $133 = ((($132)) + 36|0); - HEAP32[$133>>2] = $131; - $134 = HEAP32[$nSrcPage>>2]|0; - $135 = (($134) + 1)|0; - $136 = HEAP32[$0>>2]|0; - $137 = ((($136)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = (($135) - ($138))|0; - $140 = HEAP32[$0>>2]|0; - $141 = ((($140)) + 32|0); - HEAP32[$141>>2] = $139; - $142 = HEAP32[$0>>2]|0; - $143 = ((($142)) + 16|0); - $144 = HEAP32[$143>>2]|0; - $145 = HEAP32[$nSrcPage>>2]|0; - $146 = ($144>>>0)>($145>>>0); - if ($146) { + if ($139) { + $140 = HEAP32[$nSrcPage>>2]|0; + $141 = HEAP32[$0>>2]|0; + $142 = ((($141)) + 36|0); + HEAP32[$142>>2] = $140; + $143 = HEAP32[$nSrcPage>>2]|0; + $144 = (($143) + 1)|0; + $145 = HEAP32[$0>>2]|0; + $146 = ((($145)) + 16|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($144) - ($147))|0; + $149 = HEAP32[$0>>2]|0; + $150 = ((($149)) + 32|0); + HEAP32[$150>>2] = $148; + $151 = HEAP32[$0>>2]|0; + $152 = ((($151)) + 16|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$nSrcPage>>2]|0; + $155 = ($153>>>0)>($154>>>0); + if ($155) { HEAP32[$rc>>2] = 101; break; } - $147 = HEAP32[$0>>2]|0; - $148 = ((($147)) + 40|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)!=(0); - if (!($150)) { - $151 = HEAP32[$0>>2]|0; - _attachBackupObject($151); + $156 = HEAP32[$0>>2]|0; + $157 = ((($156)) + 40|0); + $158 = HEAP32[$157>>2]|0; + $159 = ($158|0)!=(0); + if (!($159)) { + $160 = HEAP32[$0>>2]|0; + _attachBackupObject($160); } } } while(0); - $152 = HEAP32[$rc>>2]|0; - $153 = ($152|0)==(101); - if ($153) { - $154 = HEAP32[$nSrcPage>>2]|0; - $155 = ($154|0)==(0); - if ($155) { - $156 = HEAP32[$0>>2]|0; - $157 = ((($156)) + 4|0); - $158 = HEAP32[$157>>2]|0; - $159 = (_sqlite3BtreeNewDb($158)|0); - HEAP32[$rc>>2] = $159; + $161 = HEAP32[$rc>>2]|0; + $162 = ($161|0)==(101); + if ($162) { + $163 = HEAP32[$nSrcPage>>2]|0; + $164 = ($163|0)==(0); + if ($164) { + $165 = HEAP32[$0>>2]|0; + $166 = ((($165)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = (_sqlite3BtreeNewDb($167)|0); + HEAP32[$rc>>2] = $168; HEAP32[$nSrcPage>>2] = 1; } - $160 = HEAP32[$rc>>2]|0; - $161 = ($160|0)==(0); - $162 = HEAP32[$rc>>2]|0; - $163 = ($162|0)==(101); - $or$cond4 = $161 | $163; - if ($or$cond4) { - $164 = HEAP32[$0>>2]|0; - $165 = ((($164)) + 4|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[$0>>2]|0; - $168 = ((($167)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($169) + 1)|0; - $171 = (_sqlite3BtreeUpdateMeta($166,1,$170)|0); - HEAP32[$rc>>2] = $171; - } - $172 = HEAP32[$rc>>2]|0; - $173 = ($172|0)==(0); - if ($173) { - $174 = HEAP32[$0>>2]|0; + $169 = HEAP32[$rc>>2]|0; + $170 = ($169|0)==(0); + $171 = HEAP32[$rc>>2]|0; + $172 = ($171|0)==(101); + $or$cond6 = $170 | $172; + if ($or$cond6) { + $173 = HEAP32[$0>>2]|0; + $174 = ((($173)) + 4|0); $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)!=(0|0); - if ($176) { - $177 = HEAP32[$0>>2]|0; - $178 = HEAP32[$177>>2]|0; - _sqlite3ResetAllSchemasOfConnection($178); + $176 = HEAP32[$0>>2]|0; + $177 = ((($176)) + 8|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($178) + 1)|0; + $180 = (_sqlite3BtreeUpdateMeta($175,1,$179)|0); + HEAP32[$rc>>2] = $180; + } + $181 = HEAP32[$rc>>2]|0; + $182 = ($181|0)==(0); + if ($182) { + $183 = HEAP32[$0>>2]|0; + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)!=(0|0); + if ($185) { + $186 = HEAP32[$0>>2]|0; + $187 = HEAP32[$186>>2]|0; + _sqlite3ResetAllSchemasOfConnection($187); } - $179 = HEAP32[$destMode>>2]|0; - $180 = ($179|0)==(5); - if ($180) { - $181 = HEAP32[$0>>2]|0; - $182 = ((($181)) + 4|0); - $183 = HEAP32[$182>>2]|0; - $184 = (_sqlite3BtreeSetVersion($183,2)|0); - HEAP32[$rc>>2] = $184; + $188 = HEAP32[$destMode>>2]|0; + $189 = ($188|0)==(5); + if ($189) { + $190 = HEAP32[$0>>2]|0; + $191 = ((($190)) + 4|0); + $192 = HEAP32[$191>>2]|0; + $193 = (_sqlite3BtreeSetVersion($192,2)|0); + HEAP32[$rc>>2] = $193; } } - $185 = HEAP32[$rc>>2]|0; - $186 = ($185|0)==(0); - if ($186) { - $187 = HEAP32[$pgszSrc>>2]|0; - $188 = HEAP32[$pgszDest>>2]|0; - $189 = ($187|0)<($188|0); - if ($189) { - $190 = HEAP32[$pgszDest>>2]|0; - $191 = HEAP32[$pgszSrc>>2]|0; - $192 = (($190|0) / ($191|0))&-1; - HEAP32[$ratio>>2] = $192; - $193 = HEAP32[$nSrcPage>>2]|0; - $194 = HEAP32[$ratio>>2]|0; - $195 = (($193) + ($194))|0; - $196 = (($195) - 1)|0; - $197 = HEAP32[$ratio>>2]|0; - $198 = (($196|0) / ($197|0))&-1; - HEAP32[$nDestTruncate>>2] = $198; - $199 = HEAP32[$nDestTruncate>>2]|0; - $200 = HEAP32[1524>>2]|0; - $201 = HEAP32[$0>>2]|0; - $202 = ((($201)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($203)) + 4|0); - $205 = HEAP32[$204>>2]|0; - $206 = ((($205)) + 32|0); - $207 = HEAP32[$206>>2]|0; - $208 = (($200>>>0) / ($207>>>0))&-1; - $209 = (($208) + 1)|0; - $210 = ($199|0)==($209|0); - if ($210) { - $211 = HEAP32[$nDestTruncate>>2]|0; - $212 = (($211) + -1)|0; - HEAP32[$nDestTruncate>>2] = $212; + $194 = HEAP32[$rc>>2]|0; + $195 = ($194|0)==(0); + if ($195) { + $196 = HEAP32[$pgszSrc>>2]|0; + $197 = HEAP32[$pgszDest>>2]|0; + $198 = ($196|0)<($197|0); + if ($198) { + $199 = HEAP32[$pgszDest>>2]|0; + $200 = HEAP32[$pgszSrc>>2]|0; + $201 = (($199|0) / ($200|0))&-1; + HEAP32[$ratio>>2] = $201; + $202 = HEAP32[$nSrcPage>>2]|0; + $203 = HEAP32[$ratio>>2]|0; + $204 = (($202) + ($203))|0; + $205 = (($204) - 1)|0; + $206 = HEAP32[$ratio>>2]|0; + $207 = (($205|0) / ($206|0))&-1; + HEAP32[$nDestTruncate>>2] = $207; + $208 = HEAP32[$nDestTruncate>>2]|0; + $209 = HEAP32[1536>>2]|0; + $210 = HEAP32[$0>>2]|0; + $211 = ((($210)) + 4|0); + $212 = HEAP32[$211>>2]|0; + $213 = ((($212)) + 4|0); + $214 = HEAP32[$213>>2]|0; + $215 = ((($214)) + 32|0); + $216 = HEAP32[$215>>2]|0; + $217 = (($209>>>0) / ($216>>>0))&-1; + $218 = (($217) + 1)|0; + $219 = ($208|0)==($218|0); + if ($219) { + $220 = HEAP32[$nDestTruncate>>2]|0; + $221 = (($220) + -1)|0; + HEAP32[$nDestTruncate>>2] = $221; } } else { - $213 = HEAP32[$nSrcPage>>2]|0; - $214 = HEAP32[$pgszSrc>>2]|0; - $215 = HEAP32[$pgszDest>>2]|0; - $216 = (($214|0) / ($215|0))&-1; - $217 = Math_imul($213, $216)|0; - HEAP32[$nDestTruncate>>2] = $217; - } - $218 = HEAP32[$pgszSrc>>2]|0; - $219 = HEAP32[$pgszDest>>2]|0; - $220 = ($218|0)<($219|0); - if ($220) { - $221 = HEAP32[$pgszSrc>>2]|0; - $222 = ($221|0)<(0); - $223 = $222 << 31 >> 31; - $224 = HEAP32[$nSrcPage>>2]|0; - $225 = ($224|0)<(0); - $226 = $225 << 31 >> 31; - $227 = (___muldi3(($221|0),($223|0),($224|0),($226|0))|0); - $228 = tempRet0; - $229 = $iSize; - $230 = $229; - HEAP32[$230>>2] = $227; - $231 = (($229) + 4)|0; - $232 = $231; - HEAP32[$232>>2] = $228; - $233 = HEAP32[$pDestPager>>2]|0; - $234 = (_sqlite3PagerFile($233)|0); - HEAP32[$pFile>>2] = $234; - $235 = HEAP32[$pDestPager>>2]|0; - _sqlite3PagerPagecount($235,$nDstPage); - $236 = HEAP32[$nDestTruncate>>2]|0; - HEAP32[$iPg>>2] = $236; + $222 = HEAP32[$nSrcPage>>2]|0; + $223 = HEAP32[$pgszSrc>>2]|0; + $224 = HEAP32[$pgszDest>>2]|0; + $225 = (($223|0) / ($224|0))&-1; + $226 = Math_imul($222, $225)|0; + HEAP32[$nDestTruncate>>2] = $226; + } + $227 = HEAP32[$pgszSrc>>2]|0; + $228 = HEAP32[$pgszDest>>2]|0; + $229 = ($227|0)<($228|0); + if ($229) { + $230 = HEAP32[$pgszSrc>>2]|0; + $231 = ($230|0)<(0); + $232 = $231 << 31 >> 31; + $233 = HEAP32[$nSrcPage>>2]|0; + $234 = ($233|0)<(0); + $235 = $234 << 31 >> 31; + $236 = (___muldi3(($230|0),($232|0),($233|0),($235|0))|0); + $237 = tempRet0; + $238 = $iSize; + $239 = $238; + HEAP32[$239>>2] = $236; + $240 = (($238) + 4)|0; + $241 = $240; + HEAP32[$241>>2] = $237; + $242 = HEAP32[$pDestPager>>2]|0; + $243 = (_sqlite3PagerFile($242)|0); + HEAP32[$pFile>>2] = $243; + $244 = HEAP32[$pDestPager>>2]|0; + _sqlite3PagerPagecount($244,$nDstPage); + $245 = HEAP32[$nDestTruncate>>2]|0; + HEAP32[$iPg>>2] = $245; while(1) { - $237 = HEAP32[$rc>>2]|0; - $238 = ($237|0)==(0); - if (!($238)) { + $246 = HEAP32[$rc>>2]|0; + $247 = ($246|0)==(0); + if (!($247)) { break; } - $239 = HEAP32[$iPg>>2]|0; - $240 = HEAP32[$nDstPage>>2]|0; - $241 = ($239>>>0)<=($240>>>0); - if (!($241)) { + $248 = HEAP32[$iPg>>2]|0; + $249 = HEAP32[$nDstPage>>2]|0; + $250 = ($248>>>0)<=($249>>>0); + if (!($250)) { break; } - $242 = HEAP32[$iPg>>2]|0; - $243 = HEAP32[1524>>2]|0; - $244 = HEAP32[$0>>2]|0; - $245 = ((($244)) + 4|0); - $246 = HEAP32[$245>>2]|0; - $247 = ((($246)) + 4|0); - $248 = HEAP32[$247>>2]|0; - $249 = ((($248)) + 32|0); - $250 = HEAP32[$249>>2]|0; - $251 = (($243>>>0) / ($250>>>0))&-1; - $252 = (($251) + 1)|0; - $253 = ($242|0)!=($252|0); + $251 = HEAP32[$iPg>>2]|0; + $252 = HEAP32[1536>>2]|0; + $253 = HEAP32[$0>>2]|0; + $254 = ((($253)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($255)) + 4|0); + $257 = HEAP32[$256>>2]|0; + $258 = ((($257)) + 32|0); + $259 = HEAP32[$258>>2]|0; + $260 = (($252>>>0) / ($259>>>0))&-1; + $261 = (($260) + 1)|0; + $262 = ($251|0)!=($261|0); do { - if ($253) { - $254 = HEAP32[$pDestPager>>2]|0; - $255 = HEAP32[$iPg>>2]|0; - $256 = (_sqlite3PagerGet($254,$255,$pPg,0)|0); - HEAP32[$rc>>2] = $256; - $257 = HEAP32[$rc>>2]|0; - $258 = ($257|0)==(0); - if (!($258)) { + if ($262) { + $263 = HEAP32[$pDestPager>>2]|0; + $264 = HEAP32[$iPg>>2]|0; + $265 = (_sqlite3PagerGet($263,$264,$pPg,0)|0); + HEAP32[$rc>>2] = $265; + $266 = HEAP32[$rc>>2]|0; + $267 = ($266|0)==(0); + if (!($267)) { break; } - $259 = HEAP32[$pPg>>2]|0; - $260 = (_sqlite3PagerWrite($259)|0); - HEAP32[$rc>>2] = $260; - $261 = HEAP32[$pPg>>2]|0; - _sqlite3PagerUnref($261); + $268 = HEAP32[$pPg>>2]|0; + $269 = (_sqlite3PagerWrite($268)|0); + HEAP32[$rc>>2] = $269; + $270 = HEAP32[$pPg>>2]|0; + _sqlite3PagerUnref($270); } } while(0); - $262 = HEAP32[$iPg>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$iPg>>2] = $263; - } - $264 = HEAP32[$rc>>2]|0; - $265 = ($264|0)==(0); - if ($265) { - $266 = HEAP32[$pDestPager>>2]|0; - $267 = (_sqlite3PagerCommitPhaseOne($266,0,1)|0); - HEAP32[$rc>>2] = $267; - } - $268 = HEAP32[1524>>2]|0; - $269 = HEAP32[$pgszDest>>2]|0; - $270 = (($268) + ($269))|0; - $271 = ($270|0)<(0); - $272 = $271 << 31 >> 31; - $273 = $iSize; - $274 = $273; - $275 = HEAP32[$274>>2]|0; - $276 = (($273) + 4)|0; - $277 = $276; - $278 = HEAP32[$277>>2]|0; - $279 = ($272|0)<($278|0); - $280 = ($270>>>0)<($275>>>0); - $281 = ($272|0)==($278|0); - $282 = $281 & $280; - $283 = $279 | $282; - if ($283) { - $284 = HEAP32[1524>>2]|0; - $285 = HEAP32[$pgszDest>>2]|0; - $286 = (($284) + ($285))|0; - $287 = ($286|0)<(0); - $288 = $287 << 31 >> 31; - $297 = $286;$300 = $288; - } else { - $289 = $iSize; - $290 = $289; - $291 = HEAP32[$290>>2]|0; - $292 = (($289) + 4)|0; - $293 = $292; - $294 = HEAP32[$293>>2]|0; - $297 = $291;$300 = $294; + $271 = HEAP32[$iPg>>2]|0; + $272 = (($271) + 1)|0; + HEAP32[$iPg>>2] = $272; } - $295 = $iEnd; - $296 = $295; - HEAP32[$296>>2] = $297; - $298 = (($295) + 4)|0; - $299 = $298; - HEAP32[$299>>2] = $300; - $301 = HEAP32[1524>>2]|0; - $302 = HEAP32[$pgszSrc>>2]|0; - $303 = (($301) + ($302))|0; - $304 = ($303|0)<(0); - $305 = $304 << 31 >> 31; - $306 = $iOff; - $307 = $306; - HEAP32[$307>>2] = $303; - $308 = (($306) + 4)|0; - $309 = $308; - HEAP32[$309>>2] = $305; + $273 = HEAP32[$rc>>2]|0; + $274 = ($273|0)==(0); + if ($274) { + $275 = HEAP32[$pDestPager>>2]|0; + $276 = (_sqlite3PagerCommitPhaseOne($275,0,1)|0); + HEAP32[$rc>>2] = $276; + } + $277 = HEAP32[1536>>2]|0; + $278 = HEAP32[$pgszDest>>2]|0; + $279 = (($277) + ($278))|0; + $280 = ($279|0)<(0); + $281 = $280 << 31 >> 31; + $282 = $iSize; + $283 = $282; + $284 = HEAP32[$283>>2]|0; + $285 = (($282) + 4)|0; + $286 = $285; + $287 = HEAP32[$286>>2]|0; + $288 = ($281|0)<($287|0); + $289 = ($279>>>0)<($284>>>0); + $290 = ($281|0)==($287|0); + $291 = $290 & $289; + $292 = $288 | $291; + if ($292) { + $293 = HEAP32[1536>>2]|0; + $294 = HEAP32[$pgszDest>>2]|0; + $295 = (($293) + ($294))|0; + $296 = ($295|0)<(0); + $297 = $296 << 31 >> 31; + $306 = $295;$309 = $297; + } else { + $298 = $iSize; + $299 = $298; + $300 = HEAP32[$299>>2]|0; + $301 = (($298) + 4)|0; + $302 = $301; + $303 = HEAP32[$302>>2]|0; + $306 = $300;$309 = $303; + } + $304 = $iEnd; + $305 = $304; + HEAP32[$305>>2] = $306; + $307 = (($304) + 4)|0; + $308 = $307; + HEAP32[$308>>2] = $309; + $310 = HEAP32[1536>>2]|0; + $311 = HEAP32[$pgszSrc>>2]|0; + $312 = (($310) + ($311))|0; + $313 = ($312|0)<(0); + $314 = $313 << 31 >> 31; + $315 = $iOff; + $316 = $315; + HEAP32[$316>>2] = $312; + $317 = (($315) + 4)|0; + $318 = $317; + HEAP32[$318>>2] = $314; while(1) { - $310 = HEAP32[$rc>>2]|0; - $311 = ($310|0)==(0); - if (!($311)) { + $319 = HEAP32[$rc>>2]|0; + $320 = ($319|0)==(0); + if (!($320)) { break; } - $312 = $iOff; - $313 = $312; - $314 = HEAP32[$313>>2]|0; - $315 = (($312) + 4)|0; - $316 = $315; - $317 = HEAP32[$316>>2]|0; - $318 = $iEnd; - $319 = $318; - $320 = HEAP32[$319>>2]|0; - $321 = (($318) + 4)|0; + $321 = $iOff; $322 = $321; $323 = HEAP32[$322>>2]|0; - $324 = ($317|0)<($323|0); - $325 = ($314>>>0)<($320>>>0); - $326 = ($317|0)==($323|0); - $327 = $326 & $325; - $328 = $324 | $327; - if (!($328)) { + $324 = (($321) + 4)|0; + $325 = $324; + $326 = HEAP32[$325>>2]|0; + $327 = $iEnd; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = (($327) + 4)|0; + $331 = $330; + $332 = HEAP32[$331>>2]|0; + $333 = ($326|0)<($332|0); + $334 = ($323>>>0)<($329>>>0); + $335 = ($326|0)==($332|0); + $336 = $335 & $334; + $337 = $333 | $336; + if (!($337)) { break; } HEAP32[$pSrcPg1>>2] = 0; - $329 = $iOff; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - $332 = (($329) + 4)|0; - $333 = $332; - $334 = HEAP32[$333>>2]|0; - $335 = HEAP32[$pgszSrc>>2]|0; - $336 = ($335|0)<(0); - $337 = $336 << 31 >> 31; - $338 = (___divdi3(($331|0),($334|0),($335|0),($337|0))|0); - $339 = tempRet0; - $340 = (_i64Add(($338|0),($339|0),1,0)|0); - $341 = tempRet0; - HEAP32[$iSrcPg2>>2] = $340; - $342 = HEAP32[$pSrcPager>>2]|0; - $343 = HEAP32[$iSrcPg2>>2]|0; - $344 = (_sqlite3PagerGet($342,$343,$pSrcPg1,0)|0); - HEAP32[$rc>>2] = $344; - $345 = HEAP32[$rc>>2]|0; - $346 = ($345|0)==(0); - if ($346) { - $347 = HEAP32[$pSrcPg1>>2]|0; - $348 = (_sqlite3PagerGetData($347)|0); - HEAP32[$zData>>2] = $348; - $349 = HEAP32[$pFile>>2]|0; - $350 = HEAP32[$zData>>2]|0; - $351 = HEAP32[$pgszSrc>>2]|0; - $352 = $iOff; - $353 = $352; - $354 = HEAP32[$353>>2]|0; - $355 = (($352) + 4)|0; - $356 = $355; - $357 = HEAP32[$356>>2]|0; - $358 = (_sqlite3OsWrite($349,$350,$351,$354,$357)|0); - HEAP32[$rc>>2] = $358; - } - $359 = HEAP32[$pSrcPg1>>2]|0; - _sqlite3PagerUnref($359); - $360 = HEAP32[$pgszSrc>>2]|0; - $361 = ($360|0)<(0); - $362 = $361 << 31 >> 31; - $363 = $iOff; - $364 = $363; - $365 = HEAP32[$364>>2]|0; - $366 = (($363) + 4)|0; - $367 = $366; - $368 = HEAP32[$367>>2]|0; - $369 = (_i64Add(($365|0),($368|0),($360|0),($362|0))|0); - $370 = tempRet0; - $371 = $iOff; - $372 = $371; - HEAP32[$372>>2] = $369; - $373 = (($371) + 4)|0; - $374 = $373; - HEAP32[$374>>2] = $370; - } - $375 = HEAP32[$rc>>2]|0; - $376 = ($375|0)==(0); - if ($376) { - $377 = HEAP32[$pFile>>2]|0; - $378 = $iSize; - $379 = $378; - $380 = HEAP32[$379>>2]|0; - $381 = (($378) + 4)|0; - $382 = $381; - $383 = HEAP32[$382>>2]|0; - $384 = (_backupTruncateFile($377,$380,$383)|0); - HEAP32[$rc>>2] = $384; - } - $385 = HEAP32[$rc>>2]|0; - $386 = ($385|0)==(0); - if ($386) { - $387 = HEAP32[$pDestPager>>2]|0; - $388 = (_sqlite3PagerSync($387,0)|0); - HEAP32[$rc>>2] = $388; + $338 = $iOff; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + $341 = (($338) + 4)|0; + $342 = $341; + $343 = HEAP32[$342>>2]|0; + $344 = HEAP32[$pgszSrc>>2]|0; + $345 = ($344|0)<(0); + $346 = $345 << 31 >> 31; + $347 = (___divdi3(($340|0),($343|0),($344|0),($346|0))|0); + $348 = tempRet0; + $349 = (_i64Add(($347|0),($348|0),1,0)|0); + $350 = tempRet0; + HEAP32[$iSrcPg2>>2] = $349; + $351 = HEAP32[$pSrcPager>>2]|0; + $352 = HEAP32[$iSrcPg2>>2]|0; + $353 = (_sqlite3PagerGet($351,$352,$pSrcPg1,0)|0); + HEAP32[$rc>>2] = $353; + $354 = HEAP32[$rc>>2]|0; + $355 = ($354|0)==(0); + if ($355) { + $356 = HEAP32[$pSrcPg1>>2]|0; + $357 = (_sqlite3PagerGetData($356)|0); + HEAP32[$zData>>2] = $357; + $358 = HEAP32[$pFile>>2]|0; + $359 = HEAP32[$zData>>2]|0; + $360 = HEAP32[$pgszSrc>>2]|0; + $361 = $iOff; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = (($361) + 4)|0; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (_sqlite3OsWrite($358,$359,$360,$363,$366)|0); + HEAP32[$rc>>2] = $367; + } + $368 = HEAP32[$pSrcPg1>>2]|0; + _sqlite3PagerUnref($368); + $369 = HEAP32[$pgszSrc>>2]|0; + $370 = ($369|0)<(0); + $371 = $370 << 31 >> 31; + $372 = $iOff; + $373 = $372; + $374 = HEAP32[$373>>2]|0; + $375 = (($372) + 4)|0; + $376 = $375; + $377 = HEAP32[$376>>2]|0; + $378 = (_i64Add(($374|0),($377|0),($369|0),($371|0))|0); + $379 = tempRet0; + $380 = $iOff; + $381 = $380; + HEAP32[$381>>2] = $378; + $382 = (($380) + 4)|0; + $383 = $382; + HEAP32[$383>>2] = $379; + } + $384 = HEAP32[$rc>>2]|0; + $385 = ($384|0)==(0); + if ($385) { + $386 = HEAP32[$pFile>>2]|0; + $387 = $iSize; + $388 = $387; + $389 = HEAP32[$388>>2]|0; + $390 = (($387) + 4)|0; + $391 = $390; + $392 = HEAP32[$391>>2]|0; + $393 = (_backupTruncateFile($386,$389,$392)|0); + HEAP32[$rc>>2] = $393; + } + $394 = HEAP32[$rc>>2]|0; + $395 = ($394|0)==(0); + if ($395) { + $396 = HEAP32[$pDestPager>>2]|0; + $397 = (_sqlite3PagerSync($396,0)|0); + HEAP32[$rc>>2] = $397; } } else { - $389 = HEAP32[$pDestPager>>2]|0; - $390 = HEAP32[$nDestTruncate>>2]|0; - _sqlite3PagerTruncateImage($389,$390); - $391 = HEAP32[$pDestPager>>2]|0; - $392 = (_sqlite3PagerCommitPhaseOne($391,0,0)|0); - HEAP32[$rc>>2] = $392; - } - $393 = HEAP32[$rc>>2]|0; - $394 = (0)==($393|0); - if ($394) { - $395 = HEAP32[$0>>2]|0; - $396 = ((($395)) + 4|0); - $397 = HEAP32[$396>>2]|0; - $398 = (_sqlite3BtreeCommitPhaseTwo($397,0)|0); - HEAP32[$rc>>2] = $398; - $399 = (0)==($398|0); - $$ = $399 ? 101 : $398; + $398 = HEAP32[$pDestPager>>2]|0; + $399 = HEAP32[$nDestTruncate>>2]|0; + _sqlite3PagerTruncateImage($398,$399); + $400 = HEAP32[$pDestPager>>2]|0; + $401 = (_sqlite3PagerCommitPhaseOne($400,0,0)|0); + HEAP32[$rc>>2] = $401; + } + $402 = HEAP32[$rc>>2]|0; + $403 = (0)==($402|0); + if ($403) { + $404 = HEAP32[$0>>2]|0; + $405 = ((($404)) + 4|0); + $406 = HEAP32[$405>>2]|0; + $407 = (_sqlite3BtreeCommitPhaseTwo($406,0)|0); + HEAP32[$rc>>2] = $407; + $408 = (0)==($407|0); + $$ = $408 ? 101 : $407; HEAP32[$rc>>2] = $$; } } } - $400 = HEAP32[$bCloseTrans>>2]|0; - $401 = ($400|0)!=(0); - if ($401) { - $402 = HEAP32[$0>>2]|0; - $403 = ((($402)) + 24|0); - $404 = HEAP32[$403>>2]|0; - (_sqlite3BtreeCommitPhaseOne($404,0)|0); - $405 = HEAP32[$0>>2]|0; - $406 = ((($405)) + 24|0); - $407 = HEAP32[$406>>2]|0; - (_sqlite3BtreeCommitPhaseTwo($407,0)|0); + $409 = HEAP32[$bCloseTrans>>2]|0; + $410 = ($409|0)!=(0); + if ($410) { + $411 = HEAP32[$0>>2]|0; + $412 = ((($411)) + 24|0); + $413 = HEAP32[$412>>2]|0; + (_sqlite3BtreeCommitPhaseOne($413,0)|0); + $414 = HEAP32[$0>>2]|0; + $415 = ((($414)) + 24|0); + $416 = HEAP32[$415>>2]|0; + (_sqlite3BtreeCommitPhaseTwo($416,0)|0); } - $408 = HEAP32[$rc>>2]|0; - $409 = ($408|0)==(3082); - if ($409) { + $417 = HEAP32[$rc>>2]|0; + $418 = ($417|0)==(3082); + if ($418) { HEAP32[$rc>>2] = 7; } - $410 = HEAP32[$rc>>2]|0; - $411 = HEAP32[$0>>2]|0; - $412 = ((($411)) + 28|0); - HEAP32[$412>>2] = $410; - $413 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($413|0); + $419 = HEAP32[$rc>>2]|0; + $420 = HEAP32[$0>>2]|0; + $421 = ((($420)) + 28|0); + HEAP32[$421>>2] = $419; + $422 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($422|0); } function _sqlite3_backup_finish($p) { $p = $p|0; @@ -14146,28 +14161,6 @@ function _sqlite3_backup_finish($p) { $64 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($64|0); } -function _sqlite3_sql($pStmt) { - $pStmt = $pStmt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pStmt; - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { - $7 = 0; - STACKTOP = sp;return ($7|0); - } - $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 168|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - STACKTOP = sp;return ($7|0); -} function _sqlite3_finalize($pStmt) { $pStmt = $pStmt|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; @@ -14194,7 +14187,7 @@ function _sqlite3_finalize($pStmt) { $8 = (_vdbeSafety($7)|0); $9 = ($8|0)!=(0); if ($9) { - $10 = (_sqlite3MisuseError(74636)|0); + $10 = (_sqlite3MisuseError(75223)|0); HEAP32[$0>>2] = $10; $33 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($33|0); @@ -14288,8 +14281,8 @@ function _sqlite3_reset($pStmt) { function _sqlite3_clear_bindings($pStmt) { $pStmt = $pStmt|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $rc = 0; - var label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -14304,7 +14297,7 @@ function _sqlite3_clear_bindings($pStmt) { while(1) { $2 = HEAP32[$i>>2]|0; $3 = HEAP32[$p>>2]|0; - $4 = ((($3)) + 68|0); + $4 = ((($3)) + 16|0); $5 = HEAP16[$4>>1]|0; $6 = $5 << 16 >> 16; $7 = ($2|0)<($6|0); @@ -14313,13 +14306,13 @@ function _sqlite3_clear_bindings($pStmt) { } $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 60|0); + $10 = ((($9)) + 116|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + (($8*40)|0)|0); _sqlite3VdbeMemRelease($12); $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 60|0); + $15 = ((($14)) + 116|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + (($13*40)|0)|0); $18 = ((($17)) + 8|0); @@ -14329,36 +14322,37 @@ function _sqlite3_clear_bindings($pStmt) { HEAP32[$i>>2] = $20; } $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 89|0); - $23 = HEAP8[$22>>0]|0; - $24 = ($23&255) >>> 7; - $25 = $24&255; - $26 = ($25|0)!=(0); - if (!($26)) { - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); + $22 = ((($21)) + 144|0); + $23 = HEAP16[$22>>1]|0; + $24 = ($23&65535) >>> 9; + $25 = $24 & 1; + $26 = $25&65535; + $27 = ($26|0)!=(0); + if (!($27)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 188|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0); - if (!($30)) { - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); + $28 = HEAP32[$p>>2]|0; + $29 = ((($28)) + 196|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + if (!($31)) { + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 87|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33 & -2; - $35 = $34 | 1; - HEAP8[$32>>0] = $35; - $36 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($36|0); + $32 = HEAP32[$p>>2]|0; + $33 = ((($32)) + 144|0); + $34 = HEAP16[$33>>1]|0; + $35 = $34 & -2; + $36 = $35 | 1; + HEAP16[$33>>1] = $36; + $37 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($37|0); } function _sqlite3_value_blob($pVal) { $pVal = $pVal|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -14374,42 +14368,53 @@ function _sqlite3_value_blob($pVal) { $7 = $6 & 18; $8 = ($7|0)!=(0); if (!($8)) { - $26 = HEAP32[$1>>2]|0; - $27 = (_sqlite3_value_text($26)|0); - HEAP32[$0>>2] = $27; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $33 = HEAP32[$1>>2]|0; + $34 = (_sqlite3_value_text($33)|0); + HEAP32[$0>>2] = $34; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } $9 = HEAP32[$p>>2]|0; - $10 = (_sqlite3VdbeMemExpandBlob($9)|0); - $11 = ($10|0)!=(0); - if ($11) { + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = $12 & 16384; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$p>>2]|0; + $16 = (_sqlite3VdbeMemExpandBlob($15)|0); + $18 = $16; + } else { + $18 = 0; + } + $17 = ($18|0)!=(0); + if ($17) { HEAP32[$0>>2] = 0; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15 | 16; - $17 = $16&65535; - HEAP16[$13>>1] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0); - if ($21) { - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 16|0); - $24 = HEAP32[$23>>2]|0; - $25 = $24; + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21&65535; + $23 = $22 | 16; + $24 = $23&65535; + HEAP16[$20>>1] = $24; + $25 = HEAP32[$p>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$p>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = $31; } else { - $25 = 0; + $32 = 0; } - HEAP32[$0>>2] = $25; - $28 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($28|0); + HEAP32[$0>>2] = $32; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } function _sqlite3_value_text($pVal) { $pVal = $pVal|0; @@ -14481,7 +14486,7 @@ function _sqlite3_value_type($pVal) { $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = $4 & 31; - $6 = (18754 + ($5)|0); + $6 = (18138 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; STACKTOP = sp;return ($8|0); @@ -14716,7 +14721,7 @@ function _sqlite3_result_text64($pCtx,$z,$0,$1,$xDel,$enc) { $12 = $11&255; $13 = ($12|0)==(4); if ($13) { - $14 = HEAP8[960>>0]|0; + $14 = HEAP8[968>>0]|0; $15 = $14 << 24 >> 24; $16 = ($15|0)==(0); $17 = $16 ? 3 : 2; @@ -14802,7 +14807,7 @@ function _sqlite3_result_zeroblob64($pCtx,$0,$1) { $17 = HEAP32[$pOut>>2]|0; $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 92|0); + $20 = ((($19)) + 96|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)<(0); $23 = $22 << 31 >> 31; @@ -14880,7 +14885,7 @@ function _sqlite3_result_error_toobig($pCtx) { HEAP8[$4>>0] = 1; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; - (_sqlite3VdbeMemSetStr($6,18786,-1,1,0)|0); + (_sqlite3VdbeMemSetStr($6,18170,-1,1,0)|0); STACKTOP = sp;return; } function _sqlite3_result_error_nomem($pCtx) { @@ -14933,7 +14938,7 @@ function _sqlite3_step($pStmt) { $4 = (_vdbeSafetyNotNull($3)|0); $5 = ($4|0)!=(0); if ($5) { - $6 = (_sqlite3MisuseError(75187)|0); + $6 = (_sqlite3MisuseError(75775)|0); HEAP32[$0>>2] = $6; $64 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($64|0); @@ -14942,10 +14947,10 @@ function _sqlite3_step($pStmt) { $8 = HEAP32[$7>>2]|0; HEAP32[$db>>2] = $8; $9 = HEAP32[$v>>2]|0; - $10 = ((($9)) + 87|0); - $11 = HEAP8[$10>>0]|0; + $10 = ((($9)) + 144|0); + $11 = HEAP16[$10>>1]|0; $12 = $11 & -3; - HEAP8[$10>>0] = $12; + HEAP16[$10>>1] = $12; while(1) { $13 = HEAP32[$v>>2]|0; $14 = (_sqlite3Step($13)|0); @@ -14962,7 +14967,7 @@ function _sqlite3_step($pStmt) { break; } $19 = HEAP32[$v>>2]|0; - $20 = ((($19)) + 76|0); + $20 = ((($19)) + 36|0); $21 = HEAP32[$20>>2]|0; HEAP32[$savedPc>>2] = $21; $22 = HEAP32[$v>>2]|0; @@ -14982,24 +14987,24 @@ function _sqlite3_step($pStmt) { continue; } $29 = HEAP32[$v>>2]|0; - $30 = ((($29)) + 87|0); - $31 = HEAP8[$30>>0]|0; + $30 = ((($29)) + 144|0); + $31 = HEAP16[$30>>1]|0; $32 = $31 & -3; $33 = $32 | 2; - HEAP8[$30>>0] = $33; + HEAP16[$30>>1] = $33; } $34 = HEAP32[$rc2>>2]|0; $35 = ($34|0)!=(0); do { if ($35) { $36 = HEAP32[$db>>2]|0; - $37 = ((($36)) + 240|0); + $37 = ((($36)) + 244|0); $38 = HEAP32[$37>>2]|0; $39 = (_sqlite3_value_text($38)|0); HEAP32[$zErr>>2] = $39; $40 = HEAP32[$db>>2]|0; $41 = HEAP32[$v>>2]|0; - $42 = ((($41)) + 44|0); + $42 = ((($41)) + 108|0); $43 = HEAP32[$42>>2]|0; _sqlite3DbFree($40,$43); $44 = HEAP32[$db>>2]|0; @@ -15008,11 +15013,11 @@ function _sqlite3_step($pStmt) { $47 = ($46<<24>>24)!=(0); if ($47) { $56 = HEAP32[$v>>2]|0; - $57 = ((($56)) + 44|0); + $57 = ((($56)) + 108|0); HEAP32[$57>>2] = 0; HEAP32[$rc>>2] = 7; $58 = HEAP32[$v>>2]|0; - $59 = ((($58)) + 80|0); + $59 = ((($58)) + 40|0); HEAP32[$59>>2] = 7; break; } else { @@ -15020,11 +15025,11 @@ function _sqlite3_step($pStmt) { $49 = HEAP32[$zErr>>2]|0; $50 = (_sqlite3DbStrDup($48,$49)|0); $51 = HEAP32[$v>>2]|0; - $52 = ((($51)) + 44|0); + $52 = ((($51)) + 108|0); HEAP32[$52>>2] = $50; $53 = HEAP32[$rc2>>2]|0; $54 = HEAP32[$v>>2]|0; - $55 = ((($54)) + 80|0); + $55 = ((($54)) + 40|0); HEAP32[$55>>2] = $53; break; } @@ -15121,7 +15126,7 @@ function _sqlite3_column_count($pStmt) { STACKTOP = sp;return ($8|0); } $4 = HEAP32[$pVm>>2]|0; - $5 = ((($4)) + 84|0); + $5 = ((($4)) + 140|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7; @@ -15142,12 +15147,12 @@ function _sqlite3_data_count($pStmt) { $4 = ($3|0)==(0|0); if (!($4)) { $5 = HEAP32[$pVm>>2]|0; - $6 = ((($5)) + 20|0); + $6 = ((($5)) + 104|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { $9 = HEAP32[$pVm>>2]|0; - $10 = ((($9)) + 84|0); + $10 = ((($9)) + 140|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; HEAP32[$0>>2] = $12; @@ -15439,7 +15444,7 @@ function _sqlite3_bind_double($pStmt,$i,$rValue) { $9 = HEAP32[$1>>2]|0; $10 = (($9) - 1)|0; $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 60|0); + $12 = ((($11)) + 116|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + (($10*40)|0)|0); $15 = +HEAPF64[$2>>3]; @@ -15505,7 +15510,7 @@ function _sqlite3_bind_int64($pStmt,$i,$0,$1) { $15 = HEAP32[$3>>2]|0; $16 = (($15) - 1)|0; $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 60|0); + $18 = ((($17)) + 116|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + (($16*40)|0)|0); $21 = $4; @@ -15701,7 +15706,7 @@ function _sqlite3_bind_zeroblob($pStmt,$i,$n) { $9 = HEAP32[$1>>2]|0; $10 = (($9) - 1)|0; $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 60|0); + $12 = ((($11)) + 116|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + (($10*40)|0)|0); $15 = HEAP32[$2>>2]|0; @@ -15726,7 +15731,7 @@ function _sqlite3_bind_parameter_count($pStmt) { STACKTOP = sp;return ($8|0); } $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 68|0); + $5 = ((($4)) + 16|0); $6 = HEAP16[$5>>1]|0; $7 = $6 << 16 >> 16; $8 = $7; @@ -15749,6 +15754,28 @@ function _sqlite3_bind_parameter_index($pStmt,$zName) { $6 = (_sqlite3VdbeParameterIndex($2,$3,$5)|0); STACKTOP = sp;return ($6|0); } +function _sqlite3_sql($pStmt) { + $pStmt = $pStmt|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pStmt; + $1 = HEAP32[$0>>2]|0; + HEAP32[$p>>2] = $1; + $2 = HEAP32[$p>>2]|0; + $3 = ($2|0)!=(0|0); + if (!($3)) { + $7 = 0; + STACKTOP = sp;return ($7|0); + } + $4 = HEAP32[$p>>2]|0; + $5 = ((($4)) + 176|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + STACKTOP = sp;return ($7|0); +} function _sqlite3_value_numeric_type($pVal) { $pVal = $pVal|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $pMem = 0, label = 0, sp = 0; @@ -15868,14 +15895,14 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { L1: do { if ($22) { $23 = HEAP32[$2>>2]|0; - $24 = (_sqlite3DbMallocRaw($23,544,0)|0); + $24 = (_sqlite3DbMallocRaw($23,480,0)|0); HEAP32[$pParse>>2] = $24; $25 = HEAP32[$pParse>>2]|0; $26 = ($25|0)!=(0|0); if ($26) { while(1) { $27 = HEAP32[$pParse>>2]|0; - _memset(($27|0),0,544)|0; + _memset(($27|0),0,480)|0; $28 = HEAP32[$2>>2]|0; $29 = HEAP32[$pParse>>2]|0; HEAP32[$29>>2] = $28; @@ -15904,7 +15931,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $45 = HEAP32[$pParse>>2]|0; $46 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer>>2] = $46; - _sqlite3ErrorMsg($45,18809,$vararg_buffer); + _sqlite3ErrorMsg($45,18193,$vararg_buffer); } } $47 = HEAP32[$pTab>>2]|0; @@ -15921,7 +15948,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $55 = HEAP32[$pParse>>2]|0; $56 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _sqlite3ErrorMsg($55,18839,$vararg_buffer1); + _sqlite3ErrorMsg($55,18223,$vararg_buffer1); } } $57 = HEAP32[$pTab>>2]|0; @@ -15936,7 +15963,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $63 = HEAP32[$pParse>>2]|0; $64 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer4>>2] = $64; - _sqlite3ErrorMsg($63,18875,$vararg_buffer4); + _sqlite3ErrorMsg($63,18259,$vararg_buffer4); } } $65 = HEAP32[$pTab>>2]|0; @@ -16038,7 +16065,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $143 = HEAP32[$iCol>>2]|0; $144 = ($142|0)==($143|0); if ($144) { - HEAP32[$zFault>>2] = 18917; + HEAP32[$zFault>>2] = 18301; } $145 = HEAP32[$j>>2]|0; $146 = (($145) + 1)|0; @@ -16098,7 +16125,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { } if ((label|0) == 38) { label = 0; - HEAP32[$zFault>>2] = 18929; + HEAP32[$zFault>>2] = 18313; } $178 = HEAP32[$j1>>2]|0; $179 = (($178) + 1)|0; @@ -16152,7 +16179,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $218 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($218,1); $219 = HEAP32[$v>>2]|0; - $220 = (_sqlite3VdbeAddOpList($219,9,18971,0)|0); + $220 = (_sqlite3VdbeAddOpList($219,9,18355,0)|0); HEAP32[$aOp>>2] = $220; $221 = HEAP32[$v>>2]|0; $222 = HEAP32[$iDb>>2]|0; @@ -16193,7 +16220,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { if ($248) { $249 = HEAP32[$aOp>>2]|0; $250 = ((($249)) + 20|0); - HEAP8[$250>>0] = 103; + HEAP8[$250>>0] = 105; } $251 = HEAP32[$pTab>>2]|0; $252 = ((($251)) + 28|0); @@ -16229,13 +16256,13 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $278 = ((($277)) + 8|0); HEAP32[$278>>2] = $275; $279 = HEAP32[$pParse>>2]|0; - $280 = ((($279)) + 444|0); + $280 = ((($279)) + 400|0); HEAP16[$280>>1] = 1; $281 = HEAP32[$pParse>>2]|0; - $282 = ((($281)) + 76|0); + $282 = ((($281)) + 44|0); HEAP32[$282>>2] = 1; $283 = HEAP32[$pParse>>2]|0; - $284 = ((($283)) + 72|0); + $284 = ((($283)) + 40|0); HEAP32[$284>>2] = 1; $285 = HEAP32[$v>>2]|0; $286 = HEAP32[$pParse>>2]|0; @@ -16317,7 +16344,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $118 = HEAP32[$2>>2]|0; $119 = HEAP32[$5>>2]|0; HEAP32[$vararg_buffer7>>2] = $119; - $120 = (_sqlite3MPrintf($118,18896,$vararg_buffer7)|0); + $120 = (_sqlite3MPrintf($118,18280,$vararg_buffer7)|0); HEAP32[$zErr>>2] = $120; HEAP32[$rc>>2] = 1; break; @@ -16329,7 +16356,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $187 = HEAP32[$2>>2]|0; $188 = HEAP32[$zFault>>2]|0; HEAP32[$vararg_buffer10>>2] = $188; - $189 = (_sqlite3MPrintf($187,18937,$vararg_buffer10)|0); + $189 = (_sqlite3MPrintf($187,18321,$vararg_buffer10)|0); HEAP32[$zErr>>2] = $189; HEAP32[$rc>>2] = 1; break; @@ -16353,7 +16380,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $343 = HEAP32[$rc>>2]|0; $344 = HEAP32[$zErr>>2]|0; $345 = ($344|0)!=(0|0); - $346 = $345 ? 19007 : 0; + $346 = $345 ? 18391 : 0; $347 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer13>>2] = $347; _sqlite3ErrorWithMsg($342,$343,$346,$vararg_buffer13); @@ -16394,7 +16421,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $343 = HEAP32[$rc>>2]|0; $344 = HEAP32[$zErr>>2]|0; $345 = ($344|0)!=(0|0); - $346 = $345 ? 19007 : 0; + $346 = $345 ? 18391 : 0; $347 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer13>>2] = $347; _sqlite3ErrorWithMsg($342,$343,$346,$vararg_buffer13); @@ -16531,7 +16558,7 @@ function _sqlite3_blob_reopen($pBlob,$0,$1) { $10 = HEAP32[$p>>2]|0; $11 = ($10|0)==(0|0); if ($11) { - $12 = (_sqlite3MisuseError(84093)|0); + $12 = (_sqlite3MisuseError(84814)|0); HEAP32[$2>>2] = $12; $42 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($42|0); @@ -16563,7 +16590,7 @@ function _sqlite3_blob_reopen($pBlob,$0,$1) { $31 = HEAP32[$rc>>2]|0; $32 = HEAP32[$zErr>>2]|0; $33 = ($32|0)!=(0|0); - $34 = $33 ? 19007 : 0; + $34 = $33 ? 18391 : 0; $35 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer>>2] = $35; _sqlite3ErrorWithMsg($30,$31,$34,$vararg_buffer); @@ -16593,7 +16620,7 @@ function _sqlite3_strglob($zGlobPattern,$zString) { HEAP32[$1>>2] = $zString; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (_patternCompare($2,$3,19010,91)|0); + $4 = (_patternCompare($2,$3,18394,91)|0); $5 = ($4|0)==(0); $6 = $5&1; STACKTOP = sp;return ($6|0); @@ -16614,7 +16641,7 @@ function _sqlite3_strlike($zPattern,$zStr,$esc) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$2>>2]|0; - $6 = (_patternCompare($3,$4,19014,$5)|0); + $6 = (_patternCompare($3,$4,18398,$5)|0); $7 = ($6|0)==(0); $8 = $7&1; STACKTOP = sp;return ($8|0); @@ -16663,7 +16690,7 @@ function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { $7 = (_sqlite3SafetyCheckOk($6)|0); $8 = ($7|0)!=(0); if (!($8)) { - $9 = (_sqlite3MisuseError(108096)|0); + $9 = (_sqlite3MisuseError(109597)|0); HEAP32[$0>>2] = $9; $151 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($151|0); @@ -16671,7 +16698,7 @@ function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { $10 = HEAP32[$2>>2]|0; $11 = ($10|0)==(0|0); if ($11) { - HEAP32[$2>>2] = 19018; + HEAP32[$2>>2] = 18402; } $12 = HEAP32[$1>>2]|0; _sqlite3Error($12,0); @@ -16847,7 +16874,7 @@ function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { $105 = HEAP32[$2>>2]|0; $106 = HEAP8[$105>>0]|0; $107 = $106&255; - $108 = (19019 + ($107)|0); + $108 = (18403 + ($107)|0); $109 = HEAP8[$108>>0]|0; $110 = $109&255; $111 = $110 & 1; @@ -16990,7 +17017,7 @@ function _sqlite3_errmsg($db) { $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); $7 = ($6|0)!=(0); if (!($7)) { - $8 = (_sqlite3MisuseError(137829)|0); + $8 = (_sqlite3MisuseError(140046)|0); $9 = (_sqlite3ErrStr($8)|0); HEAP32[$0>>2] = $9; $26 = HEAP32[$0>>2]|0; @@ -17005,7 +17032,7 @@ function _sqlite3_errmsg($db) { HEAP32[$z>>2] = $14; } else { $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 240|0); + $16 = ((($15)) + 244|0); $17 = HEAP32[$16>>2]|0; $18 = (_sqlite3_value_text($17)|0); HEAP32[$z>>2] = $18; @@ -17107,23 +17134,27 @@ function _sqlite3_create_module_v2($db,$zName,$pModule,$pAux,$xDestroy) { function _sqlite3_declare_vtab($db,$zCreateTable) { $db = $db|0; $zCreateTable = $zCreateTable|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pCtx = 0, $pParse = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $pCtx = 0, $pIdx = 0, $pNew = 0, $pParse = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $pCtx = sp + 20|0; - $pParse = sp + 16|0; - $rc = sp + 12|0; - $pTab = sp + 8|0; - $zErr = sp + 4|0; + $0 = sp + 40|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $pCtx = sp + 28|0; + $pParse = sp + 24|0; + $rc = sp + 20|0; + $pTab = sp + 16|0; + $zErr = sp + 12|0; + $pNew = sp + 8|0; + $pIdx = sp + 4|0; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $zCreateTable; HEAP32[$rc>>2] = 0; @@ -17145,7 +17176,7 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { $16 = HEAP32[$15>>2]|0; HEAP32[$pTab>>2] = $16; $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3DbMallocZero($17,544,0)|0); + $18 = (_sqlite3DbMallocZero($17,480,0)|0); HEAP32[$pParse>>2] = $18; $19 = HEAP32[$pParse>>2]|0; $20 = ($19|0)==(0|0); @@ -17153,13 +17184,13 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { HEAP32[$rc>>2] = 7; } else { $21 = HEAP32[$pParse>>2]|0; - $22 = ((($21)) + 454|0); + $22 = ((($21)) + 410|0); HEAP8[$22>>0] = 1; $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$pParse>>2]|0; HEAP32[$24>>2] = $23; $25 = HEAP32[$pParse>>2]|0; - $26 = ((($25)) + 428|0); + $26 = ((($25)) + 136|0); HEAP32[$26>>2] = 1; $27 = HEAP32[$pParse>>2]|0; $28 = HEAP32[$2>>2]|0; @@ -17167,7 +17198,7 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { $30 = (0)==($29|0); if ($30) { $31 = HEAP32[$pParse>>2]|0; - $32 = ((($31)) + 488|0); + $32 = ((($31)) + 440|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)!=(0|0); if ($34) { @@ -17176,19 +17207,19 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { $37 = HEAP8[$36>>0]|0; $38 = ($37<<24>>24)!=(0); if ($38) { - label = 14; + label = 18; } else { $39 = HEAP32[$pParse>>2]|0; - $40 = ((($39)) + 488|0); + $40 = ((($39)) + 440|0); $41 = HEAP32[$40>>2]|0; $42 = ((($41)) + 12|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)!=(0|0); if ($44) { - label = 14; + label = 18; } else { $45 = HEAP32[$pParse>>2]|0; - $46 = ((($45)) + 488|0); + $46 = ((($45)) + 440|0); $47 = HEAP32[$46>>2]|0; $48 = ((($47)) + 42|0); $49 = HEAP8[$48>>0]|0; @@ -17202,99 +17233,145 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { $56 = ($55|0)!=(0|0); if (!($56)) { $57 = HEAP32[$pParse>>2]|0; - $58 = ((($57)) + 488|0); + $58 = ((($57)) + 440|0); $59 = HEAP32[$58>>2]|0; - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP32[$pTab>>2]|0; - $63 = ((($62)) + 4|0); - HEAP32[$63>>2] = $61; - $64 = HEAP32[$pParse>>2]|0; - $65 = ((($64)) + 488|0); - $66 = HEAP32[$65>>2]|0; - $67 = ((($66)) + 34|0); - $68 = HEAP16[$67>>1]|0; - $69 = HEAP32[$pTab>>2]|0; - $70 = ((($69)) + 34|0); - HEAP16[$70>>1] = $68; - $71 = HEAP32[$pParse>>2]|0; - $72 = ((($71)) + 488|0); - $73 = HEAP32[$72>>2]|0; - $74 = ((($73)) + 34|0); - HEAP16[$74>>1] = 0; - $75 = HEAP32[$pParse>>2]|0; - $76 = ((($75)) + 488|0); - $77 = HEAP32[$76>>2]|0; - $78 = ((($77)) + 4|0); - HEAP32[$78>>2] = 0; + HEAP32[$pNew>>2] = $59; + $60 = HEAP32[$pNew>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$pTab>>2]|0; + $64 = ((($63)) + 4|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$pNew>>2]|0; + $66 = ((($65)) + 34|0); + $67 = HEAP16[$66>>1]|0; + $68 = HEAP32[$pTab>>2]|0; + $69 = ((($68)) + 34|0); + HEAP16[$69>>1] = $67; + $70 = HEAP32[$pNew>>2]|0; + $71 = ((($70)) + 42|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $73 & 96; + $75 = HEAP32[$pTab>>2]|0; + $76 = ((($75)) + 42|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = $78 | $74; + $80 = $79&255; + HEAP8[$76>>0] = $80; + $81 = HEAP32[$pNew>>2]|0; + $82 = ((($81)) + 34|0); + HEAP16[$82>>1] = 0; + $83 = HEAP32[$pNew>>2]|0; + $84 = ((($83)) + 4|0); + HEAP32[$84>>2] = 0; + $85 = HEAP32[$pNew>>2]|0; + $86 = ((($85)) + 42|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = $88 & 32; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[$pCtx>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = ((($92)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$94>>2]|0; + $96 = ((($95)) + 52|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)!=(0|0); + if ($98) { + HEAP32[$rc>>2] = 1; + } + } + $99 = HEAP32[$pNew>>2]|0; + $100 = ((($99)) + 8|0); + $101 = HEAP32[$100>>2]|0; + HEAP32[$pIdx>>2] = $101; + $102 = HEAP32[$pIdx>>2]|0; + $103 = ($102|0)!=(0|0); + if ($103) { + $104 = HEAP32[$pIdx>>2]|0; + $105 = HEAP32[$pTab>>2]|0; + $106 = ((($105)) + 8|0); + HEAP32[$106>>2] = $104; + $107 = HEAP32[$pNew>>2]|0; + $108 = ((($107)) + 8|0); + HEAP32[$108>>2] = 0; + $109 = HEAP32[$pTab>>2]|0; + $110 = HEAP32[$pIdx>>2]|0; + $111 = ((($110)) + 12|0); + HEAP32[$111>>2] = $109; + } } - $79 = HEAP32[$pCtx>>2]|0; - $80 = ((($79)) + 12|0); - HEAP32[$80>>2] = 1; + $112 = HEAP32[$pCtx>>2]|0; + $113 = ((($112)) + 12|0); + HEAP32[$113>>2] = 1; } else { - label = 14; + label = 18; } } } } else { - label = 14; + label = 18; } } else { - label = 14; + label = 18; } - if ((label|0) == 14) { - $81 = HEAP32[$1>>2]|0; - $82 = HEAP32[$zErr>>2]|0; - $83 = ($82|0)!=(0|0); - $84 = $83 ? 19007 : 0; - $85 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer>>2] = $85; - _sqlite3ErrorWithMsg($81,1,$84,$vararg_buffer); - $86 = HEAP32[$1>>2]|0; - $87 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($86,$87); + if ((label|0) == 18) { + $114 = HEAP32[$1>>2]|0; + $115 = HEAP32[$zErr>>2]|0; + $116 = ($115|0)!=(0|0); + $117 = $116 ? 18391 : 0; + $118 = HEAP32[$zErr>>2]|0; + HEAP32[$vararg_buffer>>2] = $118; + _sqlite3ErrorWithMsg($114,1,$117,$vararg_buffer); + $119 = HEAP32[$1>>2]|0; + $120 = HEAP32[$zErr>>2]|0; + _sqlite3DbFree($119,$120); HEAP32[$rc>>2] = 1; } - $88 = HEAP32[$pParse>>2]|0; - $89 = ((($88)) + 454|0); - HEAP8[$89>>0] = 0; - $90 = HEAP32[$pParse>>2]|0; - $91 = ((($90)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)!=(0|0); - if ($93) { - $94 = HEAP32[$pParse>>2]|0; - $95 = ((($94)) + 8|0); - $96 = HEAP32[$95>>2]|0; - (_sqlite3VdbeFinalize($96)|0); - } - $97 = HEAP32[$1>>2]|0; - $98 = HEAP32[$pParse>>2]|0; - $99 = ((($98)) + 488|0); - $100 = HEAP32[$99>>2]|0; - _sqlite3DeleteTable($97,$100); - $101 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($101); - $102 = HEAP32[$1>>2]|0; - $103 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($102,$103); + $121 = HEAP32[$pParse>>2]|0; + $122 = ((($121)) + 410|0); + HEAP8[$122>>0] = 0; + $123 = HEAP32[$pParse>>2]|0; + $124 = ((($123)) + 8|0); + $125 = HEAP32[$124>>2]|0; + $126 = ($125|0)!=(0|0); + if ($126) { + $127 = HEAP32[$pParse>>2]|0; + $128 = ((($127)) + 8|0); + $129 = HEAP32[$128>>2]|0; + (_sqlite3VdbeFinalize($129)|0); + } + $130 = HEAP32[$1>>2]|0; + $131 = HEAP32[$pParse>>2]|0; + $132 = ((($131)) + 440|0); + $133 = HEAP32[$132>>2]|0; + _sqlite3DeleteTable($130,$133); + $134 = HEAP32[$pParse>>2]|0; + _sqlite3ParserReset($134); + $135 = HEAP32[$1>>2]|0; + $136 = HEAP32[$pParse>>2]|0; + _sqlite3DbFree($135,$136); } - $104 = HEAP32[$1>>2]|0; - $105 = HEAP32[$rc>>2]|0; - $106 = (_sqlite3ApiExit($104,$105)|0); - HEAP32[$rc>>2] = $106; - $107 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $107; - $108 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($108|0); + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$rc>>2]|0; + $139 = (_sqlite3ApiExit($137,$138)|0); + HEAP32[$rc>>2] = $139; + $140 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $140; + $141 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($141|0); } } $12 = HEAP32[$1>>2]|0; _sqlite3Error($12,21); - $13 = (_sqlite3MisuseError(121797)|0); + $13 = (_sqlite3MisuseError(123278)|0); HEAP32[$0>>2] = $13; - $108 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($108|0); + $141 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($141|0); } function _sqlite3_vtab_on_conflict($db) { $db = $db|0; @@ -17308,7 +17385,7 @@ function _sqlite3_vtab_on_conflict($db) { $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = (($4) - 1)|0; - $6 = (19275 + ($5)|0); + $6 = (18659 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; STACKTOP = sp;return ($8|0); @@ -17363,12 +17440,12 @@ function _sqlite3_vtab_config($db,$op,$varargs) { HEAP8[$19>>0] = $16; break; } else { - $8 = (_sqlite3MisuseError(122248)|0); + $8 = (_sqlite3MisuseError(123749)|0); HEAP32[$rc>>2] = $8; break; } } else { - $20 = (_sqlite3MisuseError(122256)|0); + $20 = (_sqlite3MisuseError(123757)|0); HEAP32[$rc>>2] = $20; } } while(0); @@ -17387,17 +17464,17 @@ function _sqlite3_vtab_config($db,$op,$varargs) { function _sqlite3_libversion() { var label = 0, sp = 0; sp = STACKTOP; - return (18214|0); + return (17598|0); } function _sqlite3_sourceid() { var label = 0, sp = 0; sp = STACKTOP; - return (19293|0); + return (18677|0); } function _sqlite3_libversion_number() { var label = 0, sp = 0; sp = STACKTOP; - return 3013000; + return 3015001; } function _sqlite3_config($op,$varargs) { $op = $op|0; @@ -17437,7 +17514,7 @@ function _sqlite3_config($op,$varargs) { $2 = HEAP32[(236)>>2]|0; $3 = ($2|0)!=(0); if ($3) { - $4 = (_sqlite3MisuseError(136010)|0); + $4 = (_sqlite3MisuseError(138190)|0); HEAP32[$0>>2] = $4; $270 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($270|0); @@ -18042,14 +18119,14 @@ function _sqlite3_db_config($db,$op,$varargs) { $db = $db|0; $op = $op|0; $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $ap = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current2 = 0; - var $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $cnt = 0, $cond = 0, $expanded = 0, $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded16 = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded21 = 0, $expanded23 = 0; - var $expanded24 = 0, $expanded26 = 0, $expanded27 = 0, $expanded28 = 0, $expanded3 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0, $expanded35 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0, $i = 0, $oldFlags = 0, $onoff = 0, $pBuf = 0, $pRes = 0, $rc = 0; - var $sz = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ap = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current2 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $cnt = 0; + var $expanded = 0, $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded16 = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded21 = 0, $expanded23 = 0, $expanded24 = 0, $expanded26 = 0, $expanded27 = 0, $expanded28 = 0, $expanded3 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0; + var $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded40 = 0, $expanded41 = 0, $expanded42 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0, $i = 0, $oldFlags = 0, $onoff = 0, $pBuf = 0, $pRes = 0, $rc = 0, $sz = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 52|0; @@ -18067,8 +18144,8 @@ function _sqlite3_db_config($db,$op,$varargs) { HEAP32[$1>>2] = $op; HEAP32[$ap>>2] = $varargs; $2 = HEAP32[$1>>2]|0; - $cond = ($2|0)==(1001); - if ($cond) { + switch ($2|0) { + case 1000: { $arglist_current = HEAP32[$ap>>2]|0; $3 = $arglist_current; $4 = ((0) + 4|0); @@ -18084,165 +18161,195 @@ function _sqlite3_db_config($db,$op,$varargs) { $9 = HEAP32[$8>>2]|0; $arglist_next = ((($8)) + 4|0); HEAP32[$ap>>2] = $arglist_next; - HEAP32[$pBuf>>2] = $9; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 16|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$12>>2] = $9; + HEAP32[$rc>>2] = 0; + $105 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($105|0); + break; + } + case 1001: { $arglist_current2 = HEAP32[$ap>>2]|0; - $10 = $arglist_current2; - $11 = ((0) + 4|0); - $expanded10 = $11; + $13 = $arglist_current2; + $14 = ((0) + 4|0); + $expanded10 = $14; $expanded9 = (($expanded10) - 1)|0; - $12 = (($10) + ($expanded9))|0; - $13 = ((0) + 4|0); - $expanded14 = $13; + $15 = (($13) + ($expanded9))|0; + $16 = ((0) + 4|0); + $expanded14 = $16; $expanded13 = (($expanded14) - 1)|0; $expanded12 = $expanded13 ^ -1; - $14 = $12 & $expanded12; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $arglist_next3 = ((($15)) + 4|0); + $17 = $15 & $expanded12; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $arglist_next3 = ((($18)) + 4|0); HEAP32[$ap>>2] = $arglist_next3; - HEAP32[$sz>>2] = $16; + HEAP32[$pBuf>>2] = $19; $arglist_current5 = HEAP32[$ap>>2]|0; - $17 = $arglist_current5; - $18 = ((0) + 4|0); - $expanded17 = $18; + $20 = $arglist_current5; + $21 = ((0) + 4|0); + $expanded17 = $21; $expanded16 = (($expanded17) - 1)|0; - $19 = (($17) + ($expanded16))|0; - $20 = ((0) + 4|0); - $expanded21 = $20; + $22 = (($20) + ($expanded16))|0; + $23 = ((0) + 4|0); + $expanded21 = $23; $expanded20 = (($expanded21) - 1)|0; $expanded19 = $expanded20 ^ -1; - $21 = $19 & $expanded19; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $arglist_next6 = ((($22)) + 4|0); + $24 = $22 & $expanded19; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $arglist_next6 = ((($25)) + 4|0); HEAP32[$ap>>2] = $arglist_next6; - HEAP32[$cnt>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$pBuf>>2]|0; - $26 = HEAP32[$sz>>2]|0; - $27 = HEAP32[$cnt>>2]|0; - $28 = (_setupLookaside($24,$25,$26,$27)|0); - HEAP32[$rc>>2] = $28; - $95 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($95|0); + HEAP32[$sz>>2] = $26; + $arglist_current8 = HEAP32[$ap>>2]|0; + $27 = $arglist_current8; + $28 = ((0) + 4|0); + $expanded24 = $28; + $expanded23 = (($expanded24) - 1)|0; + $29 = (($27) + ($expanded23))|0; + $30 = ((0) + 4|0); + $expanded28 = $30; + $expanded27 = (($expanded28) - 1)|0; + $expanded26 = $expanded27 ^ -1; + $31 = $29 & $expanded26; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $arglist_next9 = ((($32)) + 4|0); + HEAP32[$ap>>2] = $arglist_next9; + HEAP32[$cnt>>2] = $33; + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$pBuf>>2]|0; + $36 = HEAP32[$sz>>2]|0; + $37 = HEAP32[$cnt>>2]|0; + $38 = (_setupLookaside($34,$35,$36,$37)|0); + HEAP32[$rc>>2] = $38; + $105 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($105|0); + break; } - HEAP32[$rc>>2] = 1; - HEAP32[$i>>2] = 0; - while(1) { - $29 = HEAP32[$i>>2]|0; - $30 = ($29>>>0)<(4); - if (!($30)) { - label = 16; - break; + default: { + HEAP32[$rc>>2] = 1; + HEAP32[$i>>2] = 0; + while(1) { + $39 = HEAP32[$i>>2]|0; + $40 = ($39>>>0)<(4); + if (!($40)) { + label = 17; + break; + } + $41 = HEAP32[$i>>2]|0; + $42 = (1548 + ($41<<3)|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ($43|0)==($44|0); + if ($45) { + break; + } + $103 = HEAP32[$i>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$i>>2] = $104; } - $31 = HEAP32[$i>>2]|0; - $32 = (1536 + ($31<<3)|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ($33|0)==($34|0); - if ($35) { - break; + if ((label|0) == 17) { + $105 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($105|0); } - $93 = HEAP32[$i>>2]|0; - $94 = (($93) + 1)|0; - HEAP32[$i>>2] = $94; - } - if ((label|0) == 16) { - $95 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($95|0); - } - $arglist_current8 = HEAP32[$ap>>2]|0; - $36 = $arglist_current8; - $37 = ((0) + 4|0); - $expanded24 = $37; - $expanded23 = (($expanded24) - 1)|0; - $38 = (($36) + ($expanded23))|0; - $39 = ((0) + 4|0); - $expanded28 = $39; - $expanded27 = (($expanded28) - 1)|0; - $expanded26 = $expanded27 ^ -1; - $40 = $38 & $expanded26; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $arglist_next9 = ((($41)) + 4|0); - HEAP32[$ap>>2] = $arglist_next9; - HEAP32[$onoff>>2] = $42; - $arglist_current11 = HEAP32[$ap>>2]|0; - $43 = $arglist_current11; - $44 = ((0) + 4|0); - $expanded31 = $44; - $expanded30 = (($expanded31) - 1)|0; - $45 = (($43) + ($expanded30))|0; - $46 = ((0) + 4|0); - $expanded35 = $46; - $expanded34 = (($expanded35) - 1)|0; - $expanded33 = $expanded34 ^ -1; - $47 = $45 & $expanded33; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $arglist_next12 = ((($48)) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - HEAP32[$pRes>>2] = $49; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 24|0); - $52 = HEAP32[$51>>2]|0; - HEAP32[$oldFlags>>2] = $52; - $53 = HEAP32[$onoff>>2]|0; - $54 = ($53|0)>(0); - if ($54) { - $55 = HEAP32[$i>>2]|0; - $56 = (1536 + ($55<<3)|0); - $57 = ((($56)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 24|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 | $58; - HEAP32[$60>>2] = $62; - } else { + $arglist_current11 = HEAP32[$ap>>2]|0; + $46 = $arglist_current11; + $47 = ((0) + 4|0); + $expanded31 = $47; + $expanded30 = (($expanded31) - 1)|0; + $48 = (($46) + ($expanded30))|0; + $49 = ((0) + 4|0); + $expanded35 = $49; + $expanded34 = (($expanded35) - 1)|0; + $expanded33 = $expanded34 ^ -1; + $50 = $48 & $expanded33; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $arglist_next12 = ((($51)) + 4|0); + HEAP32[$ap>>2] = $arglist_next12; + HEAP32[$onoff>>2] = $52; + $arglist_current14 = HEAP32[$ap>>2]|0; + $53 = $arglist_current14; + $54 = ((0) + 4|0); + $expanded38 = $54; + $expanded37 = (($expanded38) - 1)|0; + $55 = (($53) + ($expanded37))|0; + $56 = ((0) + 4|0); + $expanded42 = $56; + $expanded41 = (($expanded42) - 1)|0; + $expanded40 = $expanded41 ^ -1; + $57 = $55 & $expanded40; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $arglist_next15 = ((($58)) + 4|0); + HEAP32[$ap>>2] = $arglist_next15; + HEAP32[$pRes>>2] = $59; + $60 = HEAP32[$0>>2]|0; + $61 = ((($60)) + 24|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$oldFlags>>2] = $62; $63 = HEAP32[$onoff>>2]|0; - $64 = ($63|0)==(0); + $64 = ($63|0)>(0); if ($64) { $65 = HEAP32[$i>>2]|0; - $66 = (1536 + ($65<<3)|0); + $66 = (1548 + ($65<<3)|0); $67 = ((($66)) + 4|0); $68 = HEAP32[$67>>2]|0; - $69 = $68 ^ -1; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 24|0); - $72 = HEAP32[$71>>2]|0; - $73 = $72 & $69; - HEAP32[$71>>2] = $73; + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 24|0); + $71 = HEAP32[$70>>2]|0; + $72 = $71 | $68; + HEAP32[$70>>2] = $72; + } else { + $73 = HEAP32[$onoff>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = HEAP32[$i>>2]|0; + $76 = (1548 + ($75<<3)|0); + $77 = ((($76)) + 4|0); + $78 = HEAP32[$77>>2]|0; + $79 = $78 ^ -1; + $80 = HEAP32[$0>>2]|0; + $81 = ((($80)) + 24|0); + $82 = HEAP32[$81>>2]|0; + $83 = $82 & $79; + HEAP32[$81>>2] = $83; + } } + $84 = HEAP32[$oldFlags>>2]|0; + $85 = HEAP32[$0>>2]|0; + $86 = ((($85)) + 24|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($84|0)!=($87|0); + if ($88) { + $89 = HEAP32[$0>>2]|0; + _sqlite3ExpirePreparedStatements($89); + } + $90 = HEAP32[$pRes>>2]|0; + $91 = ($90|0)!=(0|0); + if ($91) { + $92 = HEAP32[$0>>2]|0; + $93 = ((($92)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$i>>2]|0; + $96 = (1548 + ($95<<3)|0); + $97 = ((($96)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = $94 & $98; + $100 = ($99|0)!=(0); + $101 = $100&1; + $102 = HEAP32[$pRes>>2]|0; + HEAP32[$102>>2] = $101; + } + HEAP32[$rc>>2] = 0; + $105 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($105|0); } - $74 = HEAP32[$oldFlags>>2]|0; - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 24|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($74|0)!=($77|0); - if ($78) { - $79 = HEAP32[$0>>2]|0; - _sqlite3ExpirePreparedStatements($79); - } - $80 = HEAP32[$pRes>>2]|0; - $81 = ($80|0)!=(0|0); - if ($81) { - $82 = HEAP32[$0>>2]|0; - $83 = ((($82)) + 24|0); - $84 = HEAP32[$83>>2]|0; - $85 = HEAP32[$i>>2]|0; - $86 = (1536 + ($85<<3)|0); - $87 = ((($86)) + 4|0); - $88 = HEAP32[$87>>2]|0; - $89 = $84 & $88; - $90 = ($89|0)!=(0); - $91 = $90&1; - $92 = HEAP32[$pRes>>2]|0; - HEAP32[$92>>2] = $91; } - HEAP32[$rc>>2] = 0; - $95 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($95|0); + return (0)|0; } function _sqlite3_last_insert_rowid($db) { $db = $db|0; @@ -18270,7 +18377,7 @@ function _sqlite3_changes($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 84|0); + $2 = ((($1)) + 88|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -18282,7 +18389,7 @@ function _sqlite3_total_changes($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 88|0); + $2 = ((($1)) + 92|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -18579,16 +18686,16 @@ function _sqlite3_wal_hook($db,$xCallback,$pArg) { HEAP32[$1>>2] = $xCallback; HEAP32[$2>>2] = $pArg; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 224|0); + $4 = ((($3)) + 228|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pRet>>2] = $5; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 220|0); + $8 = ((($7)) + 224|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$2>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 224|0); + $11 = ((($10)) + 228|0); HEAP32[$11>>2] = $9; $12 = HEAP32[$pRet>>2]|0; STACKTOP = sp;return ($12|0); @@ -18662,7 +18769,7 @@ function _sqlite3_wal_checkpoint_v2($db,$zDb,$eMode,$pnLog,$pnCkpt) { $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorWithMsg($27,1,19354,$vararg_buffer); + _sqlite3ErrorWithMsg($27,1,18738,$vararg_buffer); } else { $29 = HEAP32[$1>>2]|0; $30 = ((($29)) + 380|0); @@ -18719,7 +18826,7 @@ function _sqlite3_errcode($db) { $5 = (_sqlite3SafetyCheckSickOrOk($4)|0); $6 = ($5|0)!=(0); if (!($6)) { - $7 = (_sqlite3MisuseError(137898)|0); + $7 = (_sqlite3MisuseError(140115)|0); HEAP32[$0>>2] = $7; $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); @@ -18778,7 +18885,7 @@ function _sqlite3_limit($db,$limitId,$newLimit) { } $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 92|0); + $10 = ((($9)) + 96|0); $11 = (($10) + ($8<<2)|0); $12 = HEAP32[$11>>2]|0; HEAP32[$oldLimit>>2] = $12; @@ -18787,19 +18894,19 @@ function _sqlite3_limit($db,$limitId,$newLimit) { if ($14) { $15 = HEAP32[$3>>2]|0; $16 = HEAP32[$2>>2]|0; - $17 = (1568 + ($16<<2)|0); + $17 = (1580 + ($16<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = ($15|0)>($18|0); if ($19) { $20 = HEAP32[$2>>2]|0; - $21 = (1568 + ($20<<2)|0); + $21 = (1580 + ($20<<2)|0); $22 = HEAP32[$21>>2]|0; HEAP32[$3>>2] = $22; } $23 = HEAP32[$3>>2]|0; $24 = HEAP32[$2>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 92|0); + $26 = ((($25)) + 96|0); $27 = (($26) + ($24<<2)|0); HEAP32[$27>>2] = $23; } @@ -19056,7 +19163,7 @@ function _sqlite3IsIdChar($c) { HEAP8[$0>>0] = $c; $1 = HEAP8[$0>>0]|0; $2 = $1&255; - $3 = (19019 + ($2)|0); + $3 = (18403 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = $5 & 70; @@ -19072,19 +19179,19 @@ function _sqlite3MisuseError($lineno) { $0 = sp; HEAP32[$0>>2] = $lineno; $1 = HEAP32[$0>>2]|0; - $2 = (_reportError(21,$1,46703)|0); + $2 = (_reportError(21,$1,45606)|0); STACKTOP = sp;return ($2|0); } function _sqlite3Pcache1Mutex() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(1700)>>2]|0; + $0 = HEAP32[(1712)>>2]|0; return ($0|0); } function _sqlite3MallocMutex() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[280>>2]|0; + $0 = HEAP32[288>>2]|0; return ($0|0); } function _sqlite3BtreeEnterAll($db) { @@ -19241,7 +19348,8 @@ function _sqlite3VdbeClearObject($db,$p) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $i = 0, $pNext = 0, $pSub = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $i = 0, $pNext = 0, $pSub = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; @@ -19252,100 +19360,106 @@ function _sqlite3VdbeClearObject($db,$p) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 60|0); + $3 = ((($2)) + 100|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 68|0); + $6 = ((($5)) + 140|0); $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - _releaseMemArray($4,$8); - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 84|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15<<1; - _releaseMemArray($11,$16); - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 192|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pSub>>2] = $19; + $8 = $7&65535; + $9 = $8<<1; + _releaseMemArray($4,$9); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 200|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$pSub>>2] = $12; while(1) { - $20 = HEAP32[$pSub>>2]|0; - $21 = ($20|0)!=(0|0); - if (!($21)) { + $13 = HEAP32[$pSub>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { break; } - $22 = HEAP32[$pSub>>2]|0; - $23 = ((($22)) + 24|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pNext>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$pSub>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$pSub>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - _vdbeFreeOpArray($25,$27,$30); - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$pSub>>2]|0; - _sqlite3DbFree($31,$32); - $33 = HEAP32[$pNext>>2]|0; - HEAP32[$pSub>>2] = $33; + $15 = HEAP32[$pSub>>2]|0; + $16 = ((($15)) + 20|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$pNext>>2] = $17; + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$pSub>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$pSub>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + _vdbeFreeOpArray($18,$20,$23); + $24 = HEAP32[$0>>2]|0; + $25 = HEAP32[$pSub>>2]|0; + _sqlite3DbFree($24,$25); + $26 = HEAP32[$pNext>>2]|0; + HEAP32[$pSub>>2] = $26; } - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 70|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36 << 16 >> 16; - $38 = (($37) - 1)|0; - HEAP32[$i>>2] = $38; - while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = ($39|0)>=(0); - $41 = HEAP32[$0>>2]|0; - if (!($40)) { - break; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 20|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(381479589); + if ($30) { + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 116|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 16|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36 << 16 >> 16; + _releaseMemArray($33,$37); + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 18|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40 << 16 >> 16; + $42 = (($41) - 1)|0; + HEAP32[$i>>2] = $42; + while(1) { + $43 = HEAP32[$i>>2]|0; + $44 = ($43|0)>=(0); + $45 = HEAP32[$0>>2]|0; + if (!($44)) { + break; + } + $46 = HEAP32[$i>>2]|0; + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 120|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + ($46<<2)|0); + $51 = HEAP32[$50>>2]|0; + _sqlite3DbFree($45,$51); + $52 = HEAP32[$i>>2]|0; + $53 = (($52) + -1)|0; + HEAP32[$i>>2] = $53; } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 64|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + ($42<<2)|0); - $47 = HEAP32[$46>>2]|0; - _sqlite3DbFree($41,$47); - $48 = HEAP32[$i>>2]|0; - $49 = (($48) + -1)|0; - HEAP32[$i>>2] = $49; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 120|0); + $56 = HEAP32[$55>>2]|0; + _sqlite3DbFree($45,$56); + $57 = HEAP32[$0>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 180|0); + $60 = HEAP32[$59>>2]|0; + _sqlite3DbFree($57,$60); } - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 64|0); - $52 = HEAP32[$51>>2]|0; - _sqlite3DbFree($41,$52); - $53 = HEAP32[$0>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 32|0); - $59 = HEAP32[$58>>2]|0; - _vdbeFreeOpArray($53,$56,$59); - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 16|0); - $63 = HEAP32[$62>>2]|0; - _sqlite3DbFree($60,$63); - $64 = HEAP32[$0>>2]|0; + $61 = HEAP32[$0>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 88|0); + $64 = HEAP32[$63>>2]|0; $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 168|0); + $66 = ((($65)) + 136|0); $67 = HEAP32[$66>>2]|0; - _sqlite3DbFree($64,$67); + _vdbeFreeOpArray($61,$64,$67); $68 = HEAP32[$0>>2]|0; $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 172|0); + $70 = ((($69)) + 100|0); $71 = HEAP32[$70>>2]|0; _sqlite3DbFree($68,$71); + $72 = HEAP32[$0>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 176|0); + $75 = HEAP32[$74>>2]|0; + _sqlite3DbFree($72,$75); STACKTOP = sp;return; } function _sqlite3DbFree($db,$p) { @@ -19423,8 +19537,8 @@ function _sqlite3MallocInit() { if ($1) { _sqlite3MemSetDefault(); } - ;HEAP32[280>>2]=0|0;HEAP32[280+4>>2]=0|0;HEAP32[280+8>>2]=0|0;HEAP32[280+12>>2]=0|0;HEAP32[280+16>>2]=0|0;HEAP32[280+20>>2]=0|0;HEAP32[280+24>>2]=0|0;HEAP32[280+28>>2]=0|0; - HEAP32[280>>2] = (8); + ;HEAP32[288>>2]=0|0;HEAP32[288+4>>2]=0|0;HEAP32[288+8>>2]=0|0;HEAP32[288+12>>2]=0|0;HEAP32[288+16>>2]=0|0;HEAP32[288+20>>2]=0|0;HEAP32[288+24>>2]=0|0;HEAP32[288+28>>2]=0|0; + HEAP32[288>>2] = (8); $2 = HEAP32[(200)>>2]|0; $3 = ($2|0)!=(0|0); $4 = HEAP32[(204)>>2]|0; @@ -19444,9 +19558,9 @@ function _sqlite3MallocInit() { $12 = HEAP32[(208)>>2]|0; HEAP32[$n>>2] = $12; $13 = HEAP32[$pSlot>>2]|0; - HEAP32[(300)>>2] = $13; + HEAP32[(308)>>2] = $13; $14 = HEAP32[$n>>2]|0; - HEAP32[(304)>>2] = $14; + HEAP32[(312)>>2] = $14; HEAP32[$i>>2] = 0; while(1) { $15 = HEAP32[$i>>2]|0; @@ -19472,9 +19586,9 @@ function _sqlite3MallocInit() { HEAP32[$27>>2] = 0; $28 = HEAP32[$pSlot>>2]|0; $29 = ((($28)) + 4|0); - HEAP32[(296)>>2] = $29; + HEAP32[(304)>>2] = $29; } else { - HEAP32[(296)>>2] = 0; + HEAP32[(304)>>2] = 0; HEAP32[(200)>>2] = 0; HEAP32[(204)>>2] = 0; HEAP32[(208)>>2] = 0; @@ -19501,7 +19615,7 @@ function _sqlite3MallocInit() { $41 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($41|0); } - ;HEAP32[280>>2]=0|0;HEAP32[280+4>>2]=0|0;HEAP32[280+8>>2]=0|0;HEAP32[280+12>>2]=0|0;HEAP32[280+16>>2]=0|0;HEAP32[280+20>>2]=0|0;HEAP32[280+24>>2]=0|0;HEAP32[280+28>>2]=0|0; + ;HEAP32[288>>2]=0|0;HEAP32[288+4>>2]=0|0;HEAP32[288+8>>2]=0|0;HEAP32[288+12>>2]=0|0;HEAP32[288+16>>2]=0|0;HEAP32[288+20>>2]=0|0;HEAP32[288+24>>2]=0|0;HEAP32[288+28>>2]=0|0; $41 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($41|0); } @@ -19510,7 +19624,7 @@ function _sqlite3RegisterBuiltinFunctions() { sp = STACKTOP; _sqlite3AlterFunctions(); _sqlite3RegisterDateTimeFunctions(); - _sqlite3InsertBuiltinFuncs(7788,57); + _sqlite3InsertBuiltinFuncs(6956,57); return; } function _sqlite3PcacheInitialize() { @@ -19565,7 +19679,7 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { HEAP32[$0>>2] = $pBuf; HEAP32[$1>>2] = $sz; HEAP32[$2>>2] = $n; - $3 = HEAP32[(1668)>>2]|0; + $3 = HEAP32[(1680)>>2]|0; $4 = ($3|0)!=(0); if (!($4)) { STACKTOP = sp;return; @@ -19580,10 +19694,10 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { $8 = $7 & -8; HEAP32[$1>>2] = $8; $9 = HEAP32[$1>>2]|0; - HEAP32[(1680)>>2] = $9; + HEAP32[(1692)>>2] = $9; $10 = HEAP32[$2>>2]|0; - HEAP32[(1708)>>2] = $10; - HEAP32[(1684)>>2] = $10; + HEAP32[(1720)>>2] = $10; + HEAP32[(1696)>>2] = $10; $11 = HEAP32[$2>>2]|0; $12 = ($11|0)>(90); if ($12) { @@ -19594,11 +19708,11 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { $15 = (($14) + 1)|0; $16 = $15; } - HEAP32[(1688)>>2] = $16; + HEAP32[(1700)>>2] = $16; $17 = HEAP32[$0>>2]|0; - HEAP32[(1692)>>2] = $17; - HEAP32[(1704)>>2] = 0; - HEAP32[(1712)>>2] = 0; + HEAP32[(1704)>>2] = $17; + HEAP32[(1716)>>2] = 0; + HEAP32[(1724)>>2] = 0; while(1) { $18 = HEAP32[$2>>2]|0; $19 = (($18) + -1)|0; @@ -19609,17 +19723,17 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { break; } HEAP32[$p>>2] = $21; - $22 = HEAP32[(1704)>>2]|0; + $22 = HEAP32[(1716)>>2]|0; $23 = HEAP32[$p>>2]|0; HEAP32[$23>>2] = $22; $24 = HEAP32[$p>>2]|0; - HEAP32[(1704)>>2] = $24; + HEAP32[(1716)>>2] = $24; $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$0>>2]|0; $27 = (($26) + ($25)|0); HEAP32[$0>>2] = $27; } - HEAP32[(1696)>>2] = $21; + HEAP32[(1708)>>2] = $21; STACKTOP = sp;return; } function _vfsUnlink($pVfs) { @@ -19636,22 +19750,22 @@ function _vfsUnlink($pVfs) { if ($2) { STACKTOP = sp;return; } - $3 = HEAP32[1076>>2]|0; + $3 = HEAP32[1088>>2]|0; $4 = HEAP32[$0>>2]|0; $5 = ($3|0)==($4|0); if ($5) { $6 = HEAP32[$0>>2]|0; $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; - HEAP32[1076>>2] = $8; + HEAP32[1088>>2] = $8; STACKTOP = sp;return; } - $9 = HEAP32[1076>>2]|0; + $9 = HEAP32[1088>>2]|0; $10 = ($9|0)!=(0|0); if (!($10)) { STACKTOP = sp;return; } - $11 = HEAP32[1076>>2]|0; + $11 = HEAP32[1088>>2]|0; HEAP32[$p>>2] = $11; while(1) { $12 = HEAP32[$p>>2]|0; @@ -19697,7 +19811,7 @@ function _sqlite3StatusValue($op) { $0 = sp; HEAP32[$0>>2] = $op; $1 = HEAP32[$0>>2]|0; - $2 = (996 + ($1<<2)|0); + $2 = (1008 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; tempRet0 = (0); STACKTOP = sp;return ($3|0); @@ -19795,7 +19909,7 @@ function _sqlite3StatusDown($op,$N) { HEAP32[$1>>2] = $N; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (996 + ($3<<2)|0); + $4 = (1008 + ($3<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) - ($2))|0; HEAP32[$4>>2] = $6; @@ -19911,7 +20025,7 @@ function _sqlite3Realloc($pOld,$0,$1) { HEAP32[$nDiff>>2] = $57; $58 = (_sqlite3StatusValue(0)|0); $59 = tempRet0; - $60 = (288); + $60 = (296); $61 = $60; $62 = HEAP32[$61>>2]|0; $63 = (($60) + 4)|0; @@ -19938,7 +20052,7 @@ function _sqlite3Realloc($pOld,$0,$1) { HEAP32[$pNew>>2] = $80; $81 = HEAP32[$pNew>>2]|0; $82 = ($81|0)==(0|0); - $83 = (288); + $83 = (296); $84 = $83; $85 = HEAP32[$84>>2]|0; $86 = (($83) + 4)|0; @@ -20518,7 +20632,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { HEAP8[$flag_long>>0] = 0; } } while(0); - HEAP32[$infop>>2] = 45712; + HEAP32[$infop>>2] = 44615; HEAP8[$xtype>>0] = 16; HEAP32[$idx>>2] = 0; while(1) { @@ -20529,7 +20643,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { } $173 = HEAP32[$c>>2]|0; $174 = HEAP32[$idx>>2]|0; - $175 = (45712 + (($174*6)|0)|0); + $175 = (44615 + (($174*6)|0)|0); $176 = HEAP8[$175>>0]|0; $177 = $176 << 24 >> 24; $178 = ($173|0)==($177|0); @@ -20543,7 +20657,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { } if ((label|0) == 56) { label = 0; - $180 = (45712 + (($179*6)|0)|0); + $180 = (44615 + (($179*6)|0)|0); HEAP32[$infop>>2] = $180; $181 = HEAP8[$useIntern>>0]|0; $182 = $181&255; @@ -20678,7 +20792,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $544 = (_sqlite3IsNaN($543)|0); $545 = ($544|0)!=(0); if ($545) { - HEAP32[$bufpt>>2] = 45899; + HEAP32[$bufpt>>2] = 44802; HEAP32[$length>>2] = 3; break L79; } @@ -20780,7 +20894,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $600 = ($599|0)!=(0); $601 = $600&1; $602 = (($buf) + ($601)|0); - ;HEAP8[$602>>0]=HEAP8[45903>>0]|0;HEAP8[$602+1>>0]=HEAP8[45903+1>>0]|0;HEAP8[$602+2>>0]=HEAP8[45903+2>>0]|0;HEAP8[$602+3>>0]=HEAP8[45903+3>>0]|0; + ;HEAP8[$602>>0]=HEAP8[44806>>0]|0;HEAP8[$602+1>>0]=HEAP8[44806+1>>0]|0;HEAP8[$602+2>>0]=HEAP8[44806+2>>0]|0;HEAP8[$602+3>>0]=HEAP8[44806+3>>0]|0; $603 = HEAP8[$prefix>>0]|0; $604 = $603 << 24 >> 24; $605 = ($604|0)!=(0); @@ -21054,7 +21168,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $760 = ((($759)) + 4|0); $761 = HEAP8[$760>>0]|0; $762 = $761&255; - $763 = (45859 + ($762)|0); + $763 = (44762 + ($762)|0); $764 = HEAP8[$763>>0]|0; $765 = HEAP32[$bufpt>>2]|0; $766 = ((($765)) + 1|0); @@ -21317,7 +21431,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $903 = HEAP32[$bufpt>>2]|0; $904 = ($903|0)==(0|0); if ($904) { - HEAP32[$bufpt>>2] = 19018; + HEAP32[$bufpt>>2] = 18402; } else { $905 = HEAP8[$xtype>>0]|0; $906 = $905&255; @@ -21400,7 +21514,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $946 = HEAP8[$xtype>>0]|0; $947 = $946&255; $948 = ($947|0)==(10); - $949 = $948 ? 40184 : 45907; + $949 = $948 ? 39691 : 44810; HEAP32[$escarg>>2] = $949; } $950 = HEAP32[$precision>>2]|0; @@ -21635,7 +21749,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $1079 = HEAP32[$1078>>2]|0; _sqlite3StrAccumAppendAll($1076,$1079); $1080 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($1080,45537,1); + _sqlite3StrAccumAppend($1080,44433,1); } $1081 = HEAP32[$0>>2]|0; $1082 = HEAP32[$pItem>>2]|0; @@ -21975,7 +22089,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $387 = HEAP32[$x>>2]|0; $388 = $387<<1; $389 = (($388) + 1)|0; - $390 = (45850 + ($389)|0); + $390 = (44753 + ($389)|0); $391 = HEAP8[$390>>0]|0; $392 = HEAP32[$bufpt>>2]|0; $393 = ((($392)) + -1|0); @@ -21983,7 +22097,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { HEAP8[$393>>0] = $391; $394 = HEAP32[$x>>2]|0; $395 = $394<<1; - $396 = (45850 + ($395)|0); + $396 = (44753 + ($395)|0); $397 = HEAP8[$396>>0]|0; $398 = HEAP32[$bufpt>>2]|0; $399 = ((($398)) + -1|0); @@ -21994,7 +22108,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $401 = ((($400)) + 4|0); $402 = HEAP8[$401>>0]|0; $403 = $402&255; - $404 = (45859 + ($403)|0); + $404 = (44762 + ($403)|0); HEAP32[$cset>>2] = $404; $405 = HEAP32[$infop>>2]|0; $406 = ((($405)) + 1|0); @@ -22100,7 +22214,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $479 = ((($478)) + 5|0); $480 = HEAP8[$479>>0]|0; $481 = $480&255; - $482 = (45892 + ($481)|0); + $482 = (44795 + ($481)|0); HEAP32[$pre>>2] = $482; while(1) { $483 = HEAP32[$pre>>2]|0; @@ -22178,7 +22292,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { } if ((label|0) == 13) { $62 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($62,45710,1); + _sqlite3StrAccumAppend($62,44613,1); STACKTOP = sp;return; } else if ((label|0) == 92) { @@ -22352,13 +22466,13 @@ function _sqlite3StrICmp($zLeft,$zRight) { $4 = HEAP32[$a>>2]|0; $5 = HEAP8[$4>>0]|0; $6 = $5&255; - $7 = (18229 + ($6)|0); + $7 = (17613 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = HEAP32[$b>>2]|0; $11 = HEAP8[$10>>0]|0; $12 = $11&255; - $13 = (18229 + ($12)|0); + $13 = (17613 + ($12)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = (($9) - ($15))|0; @@ -22422,14 +22536,14 @@ function _sqlite3ErrorWithMsg($db,$err_code,$zFormat,$varargs) { _sqlite3Error($10,$11); STACKTOP = sp;return; } - $12 = ((($10)) + 240|0); + $12 = ((($10)) + 244|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0|0); if (!($14)) { $15 = HEAP32[$0>>2]|0; $16 = (_sqlite3ValueNew($15)|0); $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 240|0); + $18 = ((($17)) + 244|0); HEAP32[$18>>2] = $16; $19 = ($16|0)!=(0|0); if (!($19)) { @@ -22442,7 +22556,7 @@ function _sqlite3ErrorWithMsg($db,$err_code,$zFormat,$varargs) { $22 = (_sqlite3VMPrintf($20,$21,$ap)|0); HEAP32[$z>>2] = $22; $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 240|0); + $24 = ((($23)) + 244|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$z>>2]|0; _sqlite3ValueSetStr($25,-1,$26,1,170); @@ -22506,7 +22620,7 @@ function _sqlite3Error($db,$err_code) { $6 = ($5|0)!=(0); if (!($6)) { $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 240|0); + $8 = ((($7)) + 244|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); if (!($10)) { @@ -22557,6 +22671,21 @@ function _isFatalError($rc) { $7 = $8&1; STACKTOP = sp;return ($7|0); } +function _sqlite3BtreeIsInReadTrans($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 8|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)!=(0); + $6 = $5&1; + STACKTOP = sp;return ($6|0); +} function _sqlite3BtreeBeginTrans($p,$wrflag) { $p = $p|0; $wrflag = $wrflag|0; @@ -22939,6 +23068,26 @@ function _sqlite3BtreeBeginTrans($p,$wrflag) { $228 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($228|0); } +function _setDestPgsz($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 24|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3BtreeGetPageSize($6)|0); + $8 = (_sqlite3BtreeSetPageSize($3,$7,-1,0)|0); + HEAP32[$rc>>2] = $8; + $9 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($9|0); +} function _sqlite3BtreeGetMeta($p,$idx,$pMeta) { $p = $p|0; $idx = $idx|0; @@ -22989,21 +23138,6 @@ function _sqlite3BtreeGetMeta($p,$idx,$pMeta) { STACKTOP = sp;return; } } -function _sqlite3BtreeIsInReadTrans($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = ($4|0)!=(0); - $6 = $5&1; - STACKTOP = sp;return ($6|0); -} function _sqlite3BtreeGetPageSize($p) { $p = $p|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; @@ -23093,7 +23227,7 @@ function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { $11 = ($10|0)==(0); $or$cond = $9 & $11; if ($or$cond) { - $12 = (_sqlite3CorruptError(51210)|0); + $12 = (_sqlite3CorruptError(51704)|0); HEAP32[$0>>2] = $12; $206 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($206|0); @@ -23114,7 +23248,7 @@ function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { $21 = ($20|0)!=(0); if ($21) { $22 = HEAP32[$1>>2]|0; - $23 = (_pagerUseWal($22)|0); + $23 = (_sqlite3PagerUseWal($22)|0); $24 = ($23|0)!=(0); if ($24) { $25 = HEAP32[$1>>2]|0; @@ -23297,7 +23431,7 @@ function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { $132 = ($131>>>0)>(2147483647); if (!($132)) { $133 = HEAP32[$2>>2]|0; - $134 = HEAP32[1524>>2]|0; + $134 = HEAP32[1536>>2]|0; $135 = HEAP32[$1>>2]|0; $136 = ((($135)) + 160|0); $137 = HEAP32[$136>>2]|0; @@ -23323,7 +23457,7 @@ function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { label = 33; } else { $178 = HEAP32[$1>>2]|0; - $179 = (_pagerUseWal($178)|0); + $179 = (_sqlite3PagerUseWal($178)|0); $180 = ($179|0)!=(0); $181 = HEAP32[$bMmapOk>>2]|0; $182 = ($181|0)==(0); @@ -23404,7 +23538,7 @@ function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { STACKTOP = sp;return ($206|0); } } - $141 = (_sqlite3CorruptError(51299)|0); + $141 = (_sqlite3CorruptError(51793)|0); HEAP32[$rc>>2] = $141; } } while(0); @@ -23578,7 +23712,7 @@ function _backupOnePage($p,$iSrcPg,$zSrcData,$bUpdate) { $83 = (($81) + 1)|0; HEAP32[$iDest>>2] = $83; $84 = HEAP32[$iDest>>2]|0; - $85 = HEAP32[1524>>2]|0; + $85 = HEAP32[1536>>2]|0; $86 = HEAP32[$0>>2]|0; $87 = ((($86)) + 4|0); $88 = HEAP32[$87>>2]|0; @@ -24156,7 +24290,7 @@ function _sqlite3PagerCommitPhaseOne($pPager,$zMaster,$noSync) { $23 = HEAP32[$22>>2]|0; _sqlite3BackupRestart($23); } else { - $24 = (_pagerUseWal($21)|0); + $24 = (_sqlite3PagerUseWal($21)|0); $25 = ($24|0)!=(0); $26 = HEAP32[$1>>2]|0; if ($25) { @@ -24247,7 +24381,7 @@ function _sqlite3PagerCommitPhaseOne($pPager,$zMaster,$noSync) { $84 = HEAP32[$1>>2]|0; $85 = ((($84)) + 28|0); $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[1524>>2]|0; + $87 = HEAP32[1536>>2]|0; $88 = HEAP32[$1>>2]|0; $89 = ((($88)) + 160|0); $90 = HEAP32[$89>>2]|0; @@ -24290,7 +24424,7 @@ function _sqlite3PagerCommitPhaseOne($pPager,$zMaster,$noSync) { $107 = ($106|0)==(0); if ($107) { $108 = HEAP32[$1>>2]|0; - $109 = (_pagerUseWal($108)|0); + $109 = (_sqlite3PagerUseWal($108)|0); $110 = ($109|0)!=(0); if (!($110)) { $111 = HEAP32[$1>>2]|0; @@ -24763,7 +24897,7 @@ function _sqlite3LeaveMutexAndCloseZombie($db) { $pMod = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 80|0); + $2 = ((($1)) + 84|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(1691352191); if ($4) { @@ -24979,11 +25113,11 @@ function _sqlite3LeaveMutexAndCloseZombie($db) { $135 = HEAP32[$0>>2]|0; _sqlite3Error($135,0); $136 = HEAP32[$0>>2]|0; - $137 = ((($136)) + 240|0); + $137 = ((($136)) + 244|0); $138 = HEAP32[$137>>2]|0; _sqlite3ValueFree($138); $139 = HEAP32[$0>>2]|0; - $140 = ((($139)) + 80|0); + $140 = ((($139)) + 84|0); HEAP32[$140>>2] = -1254786768; $141 = HEAP32[$0>>2]|0; $142 = HEAP32[$0>>2]|0; @@ -24994,7 +25128,7 @@ function _sqlite3LeaveMutexAndCloseZombie($db) { $147 = HEAP32[$146>>2]|0; _sqlite3DbFree($141,$147); $148 = HEAP32[$0>>2]|0; - $149 = ((($148)) + 80|0); + $149 = ((($148)) + 84|0); HEAP32[$149>>2] = -1623446221; $150 = HEAP32[$0>>2]|0; $151 = ((($150)) + 256|0); @@ -25025,7 +25159,7 @@ function _vdbeSafety($p) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if ($4) { - _sqlite3_log(21,45108,$vararg_buffer); + _sqlite3_log(21,44004,$vararg_buffer); HEAP32[$0>>2] = 1; $5 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($5|0); @@ -25040,53 +25174,99 @@ function _invokeProfileCallback($db,$p) { $db = $db|0; $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iNow = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $iElapse = 0, $iNow = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $iNow = sp; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $iNow = sp + 8|0; + $iElapse = sp; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; (_sqlite3OsCurrentTimeInt64($3,$iNow)|0); - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 188|0); + $4 = $iNow; + $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 192|0); + $7 = (($4) + 4)|0; + $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $iNow; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; - $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 128|0); - $21 = $20; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; + $11 = ((($10)) + 128|0); + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (_i64Subtract(($6|0),($9|0),($14|0),($17|0))|0); + $19 = tempRet0; + $20 = (___muldi3(($18|0),($19|0),1000000,0)|0); + $21 = tempRet0; + $22 = $iElapse; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (_i64Subtract(($15|0),($18|0),($23|0),($26|0))|0); - $28 = tempRet0; - $29 = (___muldi3(($27|0),($28|0),1000000,0)|0); - $30 = tempRet0; - FUNCTION_TABLE_viiii[$6 & 255]($9,$12,$29,$30); - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 128|0); - $33 = $32; - $34 = $33; - HEAP32[$34>>2] = 0; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = 0; + HEAP32[$25>>2] = $21; + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 192|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 192|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 196|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 176|0); + $38 = HEAP32[$37>>2]|0; + $39 = $iElapse; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (($39) + 4)|0; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + FUNCTION_TABLE_viiii[$32 & 255]($35,$38,$41,$44); + } + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 76|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = $48 & 2; + $50 = ($49|0)!=(0); + if (!($50)) { + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 128|0); + $60 = $59; + $61 = $60; + HEAP32[$61>>2] = 0; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = 0; + STACKTOP = sp;return; + } + $51 = HEAP32[$0>>2]|0; + $52 = ((($51)) + 184|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 188|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$1>>2]|0; + (FUNCTION_TABLE_iiiii[$53 & 255](2,$56,$57,$iElapse)|0); + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 128|0); + $60 = $59; + $61 = $60; + HEAP32[$61>>2] = 0; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = 0; STACKTOP = sp;return; } function _sqlite3VdbeFinalize($p) { @@ -25099,16 +25279,16 @@ function _sqlite3VdbeFinalize($p) { HEAP32[$0>>2] = $p; HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); + $2 = ((($1)) + 20|0); $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(-1108210269); + $4 = ($3|0)==(770837923); if ($4) { label = 3; } else { $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 40|0); + $6 = ((($5)) + 20|0); $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(1369188723); + $8 = ($7|0)==(832317811); if ($8) { label = 3; } @@ -25179,7 +25359,7 @@ function _sqlite3VdbeReset($p) { $3 = HEAP32[$0>>2]|0; (_sqlite3VdbeHalt($3)|0); $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 76|0); + $5 = ((($4)) + 36|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)>=(0); $8 = HEAP32[$0>>2]|0; @@ -25187,60 +25367,60 @@ function _sqlite3VdbeReset($p) { (_sqlite3VdbeTransferError($8)|0); $9 = HEAP32[$db>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 44|0); + $11 = ((($10)) + 108|0); $12 = HEAP32[$11>>2]|0; _sqlite3DbFree($9,$12); $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 44|0); + $14 = ((($13)) + 108|0); HEAP32[$14>>2] = 0; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 89|0); - $17 = HEAP8[$16>>0]|0; - $18 = ($17&255) >>> 3; + $16 = ((($15)) + 144|0); + $17 = HEAP16[$16>>1]|0; + $18 = ($17&65535) >>> 5; $19 = $18 & 1; - $20 = $19&255; + $20 = $19&65535; $21 = ($20|0)!=(0); if ($21) { $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 87|0); - $24 = HEAP8[$23>>0]|0; + $23 = ((($22)) + 144|0); + $24 = HEAP16[$23>>1]|0; $25 = $24 & -2; $26 = $25 | 1; - HEAP8[$23>>0] = $26; + HEAP16[$23>>1] = $26; } } else { - $27 = ((($8)) + 80|0); + $27 = ((($8)) + 40|0); $28 = HEAP32[$27>>2]|0; $29 = ($28|0)!=(0); if ($29) { $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 87|0); - $32 = HEAP8[$31>>0]|0; + $31 = ((($30)) + 144|0); + $32 = HEAP16[$31>>1]|0; $33 = $32 & 1; - $34 = $33&255; + $34 = $33&65535; $35 = ($34|0)!=(0); if ($35) { $36 = HEAP32[$db>>2]|0; $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 80|0); + $38 = ((($37)) + 40|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 44|0); + $41 = ((($40)) + 108|0); $42 = HEAP32[$41>>2]|0; $43 = ($42|0)!=(0|0); - $44 = $43 ? 19007 : 0; + $44 = $43 ? 18391 : 0; $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 44|0); + $46 = ((($45)) + 108|0); $47 = HEAP32[$46>>2]|0; HEAP32[$vararg_buffer>>2] = $47; _sqlite3ErrorWithMsg($36,$39,$44,$vararg_buffer); $48 = HEAP32[$db>>2]|0; $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 44|0); + $50 = ((($49)) + 108|0); $51 = HEAP32[$50>>2]|0; _sqlite3DbFree($48,$51); $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 44|0); + $53 = ((($52)) + 108|0); HEAP32[$53>>2] = 0; } } @@ -25248,7 +25428,7 @@ function _sqlite3VdbeReset($p) { $54 = HEAP32[$0>>2]|0; _Cleanup($54); $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 136|0); + $56 = ((($55)) + 56|0); $57 = $56; $58 = $57; HEAP32[$58>>2] = 0; @@ -25256,10 +25436,10 @@ function _sqlite3VdbeReset($p) { $60 = $59; HEAP32[$60>>2] = 0; $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 40|0); - HEAP32[$62>>2] = 649915045; + $62 = ((($61)) + 20|0); + HEAP32[$62>>2] = 1224384374; $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 80|0); + $64 = ((($63)) + 40|0); $65 = HEAP32[$64>>2]|0; $66 = HEAP32[$db>>2]|0; $67 = ((($66)) + 56|0); @@ -25276,31 +25456,31 @@ function _sqlite3VdbeRewind($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); - HEAP32[$2>>2] = -1108210269; + $2 = ((($1)) + 20|0); + HEAP32[$2>>2] = 770837923; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 76|0); + $4 = ((($3)) + 36|0); HEAP32[$4>>2] = -1; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 80|0); + $6 = ((($5)) + 40|0); HEAP32[$6>>2] = 0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 86|0); + $8 = ((($7)) + 142|0); HEAP8[$8>>0] = 2; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 92|0); + $10 = ((($9)) + 44|0); HEAP32[$10>>2] = 0; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 72|0); + $12 = ((($11)) + 32|0); HEAP32[$12>>2] = 1; $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 88|0); + $14 = ((($13)) + 143|0); HEAP8[$14>>0] = -1; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 104|0); + $16 = ((($15)) + 48|0); HEAP32[$16>>2] = 0; $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 144|0); + $18 = ((($17)) + 64|0); $19 = $18; $20 = $19; HEAP32[$20>>2] = 0; @@ -25338,8 +25518,7 @@ function _sqlite3VdbeMemRelease($p) { function _sqlite3VdbeMemExpandBlob($pMem) { $pMem = $pMem|0; var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $nByte = 0, label = 0, sp = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nByte = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -25347,63 +25526,54 @@ function _sqlite3VdbeMemExpandBlob($pMem) { $nByte = sp; HEAP32[$1>>2] = $pMem; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 16384; - $7 = ($6|0)!=(0); - do { - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + ($12))|0; - HEAP32[$nByte>>2] = $13; - $14 = HEAP32[$nByte>>2]|0; - $15 = ($14|0)<=(0); - $$ = $15 ? 1 : $13; - HEAP32[$nByte>>2] = $$; - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$nByte>>2]|0; - $18 = (_sqlite3VdbeMemGrow($16,$17,1)|0); - $19 = ($18|0)!=(0); - if (!($19)) { - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($22)|0); - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$27>>2]|0; - _memset(($26|0),0,($28|0))|0; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($30))|0; - HEAP32[$32>>2] = $34; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 8|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = $38 & -16897; - $40 = $39&65535; - HEAP16[$36>>1] = $40; - break; - } - HEAP32[$0>>2] = 7; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); - } - } while(0); - HEAP32[$0>>2] = 0; - $41 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($41|0); + $3 = ((($2)) + 12|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + ($6))|0; + HEAP32[$nByte>>2] = $7; + $8 = HEAP32[$nByte>>2]|0; + $9 = ($8|0)<=(0); + $$ = $9 ? 1 : $7; + HEAP32[$nByte>>2] = $$; + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$nByte>>2]|0; + $12 = (_sqlite3VdbeMemGrow($10,$11,1)|0); + $13 = ($12|0)!=(0); + if ($13) { + HEAP32[$0>>2] = 7; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } else { + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + ($16)|0); + $21 = HEAP32[$1>>2]|0; + $22 = HEAP32[$21>>2]|0; + _memset(($20|0),0,($22|0))|0; + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($24))|0; + HEAP32[$26>>2] = $28; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31&65535; + $33 = $32 & -16897; + $34 = $33&65535; + HEAP16[$30>>1] = $34; + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + return (0)|0; } function _sqlite3ValueText($pVal,$enc) { $pVal = $pVal|0; @@ -25731,99 +25901,102 @@ function _sqlite3VdbeMemMakeWriteable($pMem) { $pMem = $pMem|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; - var $8 = 0, $9 = 0, $f = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $f = sp; + $0 = sp + 4|0; + $1 = sp; HEAP32[$1>>2] = $pMem; $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 8|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; - $6 = $5 & 16384; + $6 = $5 & 18; $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemExpandBlob($8)|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - HEAP32[$f>>2] = $12; - $13 = HEAP32[$f>>2]|0; - $14 = $13 & 18; - $15 = ($14|0)!=(0); do { - if ($15) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 24|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($22|0)!=($25|0); - if (!($26)) { + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 8|0); + $10 = HEAP16[$9>>1]|0; + $11 = $10&65535; + $12 = $11 & 16384; + $13 = ($12|0)!=(0); + if ($13) { + $14 = HEAP32[$1>>2]|0; + $15 = (_sqlite3VdbeMemExpandBlob($14)|0); + $16 = ($15|0)!=(0); + if ($16) { + HEAP32[$0>>2] = 7; + $62 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($62|0); + } + } + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 24|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if (!($20)) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 20|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)!=($26|0); + if (!($27)) { break; } } - $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + 2)|0; - $32 = (_sqlite3VdbeMemGrow($27,$31,1)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 12|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($36)|0); - HEAP8[$40>>0] = 0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 12|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($43) + 1)|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 16|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($44)|0); - HEAP8[$48>>0] = 0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - $53 = $52 | 512; - $54 = $53&65535; - HEAP16[$50>>1] = $54; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + 2)|0; + $33 = (_sqlite3VdbeMemGrow($28,$32,1)|0); + $34 = ($33|0)!=(0); + if (!($34)) { + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($40) + ($37)|0); + HEAP8[$41>>0] = 0; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) + 1)|0; + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 16|0); + $48 = HEAP32[$47>>2]|0; + $49 = (($48) + ($45)|0); + HEAP8[$49>>0] = 0; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP16[$51>>1]|0; + $53 = $52&65535; + $54 = $53 | 512; + $55 = $54&65535; + HEAP16[$51>>1] = $55; break; } HEAP32[$0>>2] = 7; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $62 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($62|0); } } while(0); - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 8|0); - $57 = HEAP16[$56>>1]|0; - $58 = $57&65535; - $59 = $58 & -4097; - $60 = $59&65535; - HEAP16[$56>>1] = $60; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = $59 & -4097; + $61 = $60&65535; + HEAP16[$57>>1] = $61; HEAP32[$0>>2] = 0; - $61 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($61|0); + $62 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($62|0); } function _sqlite3ValueFree($v) { $v = $v|0; @@ -25988,7 +26161,7 @@ function _sqlite3VdbeMemSetStr($pMem,$z,$n,$enc,$xDel) { $13 = HEAP32[$1>>2]|0; $14 = ((($13)) + 32|0); $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 92|0); + $16 = ((($15)) + 96|0); $17 = HEAP32[$16>>2]|0; HEAP32[$iLimit>>2] = $17; } else { @@ -26376,11 +26549,11 @@ function _sqlite3ErrStr($rc) { $0 = sp + 4|0; $zErr = sp; HEAP32[$0>>2] = $rc; - HEAP32[$zErr>>2] = 44482; + HEAP32[$zErr>>2] = 43378; $1 = HEAP32[$0>>2]|0; $cond = ($1|0)==(516); if ($cond) { - HEAP32[$zErr>>2] = 44496; + HEAP32[$zErr>>2] = 43392; } else { $2 = HEAP32[$0>>2]|0; $3 = $2 & 255; @@ -26392,12 +26565,12 @@ function _sqlite3ErrStr($rc) { $or$cond = $5 & $7; if ($or$cond) { $8 = HEAP32[$0>>2]|0; - $9 = (7072 + ($8<<2)|0); + $9 = (6240 + ($8<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$0>>2]|0; - $13 = (7072 + ($12<<2)|0); + $13 = (6240 + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; HEAP32[$zErr>>2] = $14; } @@ -26434,7 +26607,7 @@ function _sqlite3OomFault($db) { $12 = ((($11)) + 69|0); HEAP8[$12>>0] = 1; $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 164|0); + $14 = ((($13)) + 168|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)>(0); if ($16) { @@ -26461,7 +26634,7 @@ function _vdbeSafetyNotNull($p) { $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if ($3) { - _sqlite3_log(21,44442,$vararg_buffer); + _sqlite3_log(21,43338,$vararg_buffer); HEAP32[$0>>2] = 1; $6 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($6|0); @@ -26479,12 +26652,12 @@ function _sqlite3Step($p) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0; - var label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -26493,9 +26666,9 @@ function _sqlite3Step($p) { $rc = sp; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 40|0); + $3 = ((($2)) + 20|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(-1108210269); + $5 = ($4|0)!=(770837923); if ($5) { $6 = HEAP32[$1>>2]|0; (_sqlite3_reset($6)|0); @@ -26509,25 +26682,25 @@ function _sqlite3Step($p) { $12 = ($11<<24>>24)!=(0); $13 = HEAP32[$1>>2]|0; if ($12) { - $14 = ((($13)) + 80|0); + $14 = ((($13)) + 40|0); HEAP32[$14>>2] = 7; HEAP32[$0>>2] = 7; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $163 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($163|0); } - $15 = ((($13)) + 76|0); + $15 = ((($13)) + 36|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)<=(0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 87|0); - $20 = HEAP8[$19>>0]|0; + $19 = ((($18)) + 144|0); + $20 = HEAP16[$19>>1]|0; $21 = $20 & 1; - $22 = $21&255; + $22 = $21&65535; $23 = ($22|0)!=(0); if ($23) { $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 80|0); + $25 = ((($24)) + 40|0); HEAP32[$25>>2] = 17; HEAP32[$rc>>2] = 1; } else { @@ -26538,12 +26711,12 @@ function _sqlite3Step($p) { } if ((label|0) == 8) { $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 76|0); + $27 = ((($26)) + 36|0); $28 = HEAP32[$27>>2]|0; $29 = ($28|0)<(0); if ($29) { $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 152|0); + $31 = ((($30)) + 156|0); $32 = HEAP32[$31>>2]|0; $33 = ($32|0)==(0); if ($33) { @@ -26552,171 +26725,186 @@ function _sqlite3Step($p) { HEAP32[$35>>2] = 0; } $36 = HEAP32[$db>>2]|0; - $37 = ((($36)) + 188|0); + $37 = ((($36)) + 192|0); $38 = HEAP32[$37>>2]|0; $39 = ($38|0)!=(0|0); if ($39) { + label = 13; + } else { $40 = HEAP32[$db>>2]|0; - $41 = ((($40)) + 144|0); - $42 = ((($41)) + 5|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)!=(0); - if (!($44)) { - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 168|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)!=(0|0); - if ($48) { - $49 = HEAP32[$db>>2]|0; - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 128|0); - (_sqlite3OsCurrentTimeInt64($50,$52)|0); + $41 = ((($40)) + 76|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = $43 & 2; + $45 = ($44|0)!=(0); + if ($45) { + label = 13; + } + } + if ((label|0) == 13) { + $46 = HEAP32[$db>>2]|0; + $47 = ((($46)) + 148|0); + $48 = ((($47)) + 5|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)!=(0); + if (!($50)) { + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 176|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0|0); + if ($54) { + $55 = HEAP32[$db>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 128|0); + (_sqlite3OsCurrentTimeInt64($56,$58)|0); } } } - $53 = HEAP32[$db>>2]|0; - $54 = ((($53)) + 152|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$54>>2] = $56; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 89|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59&255) >>> 5; - $61 = $60 & 1; - $62 = $61&255; - $63 = ($62|0)==(0); - if ($63) { - $64 = HEAP32[$db>>2]|0; - $65 = ((($64)) + 160|0); - $66 = HEAP32[$65>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$65>>2] = $67; + $59 = HEAP32[$db>>2]|0; + $60 = ((($59)) + 156|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$60>>2] = $62; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 144|0); + $65 = HEAP16[$64>>1]|0; + $66 = ($65&65535) >>> 7; + $67 = $66 & 1; + $68 = $67&65535; + $69 = ($68|0)==(0); + if ($69) { + $70 = HEAP32[$db>>2]|0; + $71 = ((($70)) + 164|0); + $72 = HEAP32[$71>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$71>>2] = $73; } - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 89|0); - $70 = HEAP8[$69>>0]|0; - $71 = ($70&255) >>> 6; - $72 = $71 & 1; - $73 = $72&255; - $74 = ($73|0)!=(0); - if ($74) { - $75 = HEAP32[$db>>2]|0; - $76 = ((($75)) + 156|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + 1)|0; - HEAP32[$76>>2] = $78; + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 144|0); + $76 = HEAP16[$75>>1]|0; + $77 = ($76&65535) >>> 8; + $78 = $77 & 1; + $79 = $78&65535; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$db>>2]|0; + $82 = ((($81)) + 160|0); + $83 = HEAP32[$82>>2]|0; + $84 = (($83) + 1)|0; + HEAP32[$82>>2] = $84; } - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 76|0); - HEAP32[$80>>2] = 0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 36|0); + HEAP32[$86>>2] = 0; } - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 89|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83 & 3; - $85 = $84&255; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = (_sqlite3VdbeList($87)|0); - HEAP32[$rc>>2] = $88; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 144|0); + $89 = HEAP16[$88>>1]|0; + $90 = ($89&65535) >>> 2; + $91 = $90 & 3; + $92 = $91&65535; + $93 = ($92|0)!=(0); + if ($93) { + $94 = HEAP32[$1>>2]|0; + $95 = (_sqlite3VdbeList($94)|0); + HEAP32[$rc>>2] = $95; } else { - $89 = HEAP32[$db>>2]|0; - $90 = ((($89)) + 164|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$90>>2] = $92; - $93 = HEAP32[$1>>2]|0; - $94 = (_sqlite3VdbeExec($93)|0); - HEAP32[$rc>>2] = $94; - $95 = HEAP32[$db>>2]|0; - $96 = ((($95)) + 164|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($97) + -1)|0; - HEAP32[$96>>2] = $98; + $96 = HEAP32[$db>>2]|0; + $97 = ((($96)) + 168|0); + $98 = HEAP32[$97>>2]|0; + $99 = (($98) + 1)|0; + HEAP32[$97>>2] = $99; + $100 = HEAP32[$1>>2]|0; + $101 = (_sqlite3VdbeExec($100)|0); + HEAP32[$rc>>2] = $101; + $102 = HEAP32[$db>>2]|0; + $103 = ((($102)) + 168|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($104) + -1)|0; + HEAP32[$103>>2] = $105; } - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(100); - if ($100) { - $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 128|0); - $103 = $102; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)>(0); - $110 = ($105>>>0)>(0); - $111 = ($108|0)==(0); - $112 = $111 & $110; - $113 = $109 | $112; - if ($113) { - $114 = HEAP32[$db>>2]|0; - $115 = HEAP32[$1>>2]|0; - _invokeProfileCallback($114,$115); + $106 = HEAP32[$rc>>2]|0; + $107 = ($106|0)!=(100); + if ($107) { + $108 = HEAP32[$1>>2]|0; + $109 = ((($108)) + 128|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)>(0); + $117 = ($112>>>0)>(0); + $118 = ($115|0)==(0); + $119 = $118 & $117; + $120 = $116 | $119; + if ($120) { + $121 = HEAP32[$db>>2]|0; + $122 = HEAP32[$1>>2]|0; + _invokeProfileCallback($121,$122); } } - $116 = HEAP32[$rc>>2]|0; - $117 = ($116|0)==(101); - if ($117) { - $118 = HEAP32[$db>>2]|0; - $119 = (_doWalCallbacks($118)|0); - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 80|0); - HEAP32[$121>>2] = $119; - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 80|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($124|0)!=(0); - if ($125) { + $123 = HEAP32[$rc>>2]|0; + $124 = ($123|0)==(101); + if ($124) { + $125 = HEAP32[$db>>2]|0; + $126 = (_doWalCallbacks($125)|0); + $127 = HEAP32[$1>>2]|0; + $128 = ((($127)) + 40|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$1>>2]|0; + $130 = ((($129)) + 40|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)!=(0); + if ($132) { HEAP32[$rc>>2] = 1; } } - $126 = HEAP32[$rc>>2]|0; - $127 = HEAP32[$db>>2]|0; - $128 = ((($127)) + 52|0); - HEAP32[$128>>2] = $126; - $129 = HEAP32[$1>>2]|0; - $130 = HEAP32[$129>>2]|0; - $131 = HEAP32[$1>>2]|0; - $132 = ((($131)) + 80|0); - $133 = HEAP32[$132>>2]|0; - $134 = (_sqlite3ApiExit($130,$133)|0); - $135 = (7)==($134|0); - if ($135) { - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 80|0); - HEAP32[$137>>2] = 7; + $133 = HEAP32[$rc>>2]|0; + $134 = HEAP32[$db>>2]|0; + $135 = ((($134)) + 52|0); + HEAP32[$135>>2] = $133; + $136 = HEAP32[$1>>2]|0; + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$1>>2]|0; + $139 = ((($138)) + 40|0); + $140 = HEAP32[$139>>2]|0; + $141 = (_sqlite3ApiExit($137,$140)|0); + $142 = (7)==($141|0); + if ($142) { + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 40|0); + HEAP32[$144>>2] = 7; } } - $138 = HEAP32[$1>>2]|0; - $139 = ((($138)) + 89|0); - $140 = HEAP8[$139>>0]|0; - $141 = ($140&255) >>> 7; - $142 = $141&255; - $143 = ($142|0)!=(0); - $144 = HEAP32[$rc>>2]|0; - $145 = ($144|0)!=(100); - $or$cond = $143 & $145; - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)!=(101); - $or$cond3 = $or$cond & $147; + $145 = HEAP32[$1>>2]|0; + $146 = ((($145)) + 144|0); + $147 = HEAP16[$146>>1]|0; + $148 = ($147&65535) >>> 9; + $149 = $148 & 1; + $150 = $149&65535; + $151 = ($150|0)!=(0); + $152 = HEAP32[$rc>>2]|0; + $153 = ($152|0)!=(100); + $or$cond = $151 & $153; + $154 = HEAP32[$rc>>2]|0; + $155 = ($154|0)!=(101); + $or$cond3 = $or$cond & $155; if ($or$cond3) { - $148 = HEAP32[$1>>2]|0; - $149 = (_sqlite3VdbeTransferError($148)|0); - HEAP32[$rc>>2] = $149; + $156 = HEAP32[$1>>2]|0; + $157 = (_sqlite3VdbeTransferError($156)|0); + HEAP32[$rc>>2] = $157; } - $150 = HEAP32[$rc>>2]|0; - $151 = HEAP32[$db>>2]|0; - $152 = ((($151)) + 56|0); - $153 = HEAP32[$152>>2]|0; - $154 = $150 & $153; - HEAP32[$0>>2] = $154; - $155 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($155|0); + $158 = HEAP32[$rc>>2]|0; + $159 = HEAP32[$db>>2]|0; + $160 = ((($159)) + 56|0); + $161 = HEAP32[$160>>2]|0; + $162 = $158 & $161; + HEAP32[$0>>2] = $162; + $163 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($163|0); } function _sqlite3Reprepare($p) { $p = $p|0; @@ -26914,62 +27102,64 @@ function _columnMem($pStmt,$i) { $pStmt = $pStmt|0; $i = $i|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pOut = 0, $pVm = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pOut = 0, $pVm = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; $pVm = sp + 4|0; $pOut = sp; - HEAP32[$0>>2] = $pStmt; - HEAP32[$1>>2] = $i; - $2 = HEAP32[$0>>2]|0; - HEAP32[$pVm>>2] = $2; - $3 = HEAP32[$pVm>>2]|0; - $4 = ($3|0)!=(0|0); - if ($4) { - $5 = HEAP32[$pVm>>2]|0; - $6 = ((($5)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if ($8) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$pVm>>2]|0; - $11 = ((($10)) + 84|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = ($9|0)<($13|0); - $15 = HEAP32[$1>>2]|0; - $16 = ($15|0)>=(0); - $or$cond = $14 & $16; - if ($or$cond) { - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$pVm>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + (($17*40)|0)|0); - HEAP32[$pOut>>2] = $21; - $30 = HEAP32[$pOut>>2]|0; - STACKTOP = sp;return ($30|0); - } + HEAP32[$1>>2] = $pStmt; + HEAP32[$2>>2] = $i; + $3 = HEAP32[$1>>2]|0; + HEAP32[$pVm>>2] = $3; + $4 = HEAP32[$pVm>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $6 = (_columnNullValue()|0); + HEAP32[$0>>2] = $6; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); + } + $7 = HEAP32[$pVm>>2]|0; + $8 = ((($7)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$pVm>>2]|0; + $13 = ((($12)) + 140|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ($11|0)<($15|0); + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)>=(0); + $or$cond = $16 & $18; + if ($or$cond) { + $19 = HEAP32[$2>>2]|0; + $20 = HEAP32[$pVm>>2]|0; + $21 = ((($20)) + 104|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + (($19*40)|0)|0); + HEAP32[$pOut>>2] = $23; + } else { + label = 6; } + } else { + label = 6; } - $22 = HEAP32[$pVm>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { + if ((label|0) == 6) { $24 = HEAP32[$pVm>>2]|0; $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$pVm>>2]|0; - $28 = HEAP32[$27>>2]|0; - _sqlite3Error($28,25); - } + _sqlite3Error($25,25); + $26 = (_columnNullValue()|0); + HEAP32[$pOut>>2] = $26; } - $29 = (_columnNullValue()|0); - HEAP32[$pOut>>2] = $29; - $30 = HEAP32[$pOut>>2]|0; - STACKTOP = sp;return ($30|0); + $27 = HEAP32[$pOut>>2]|0; + HEAP32[$0>>2] = $27; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); } function _columnMallocFailure($pStmt) { $pStmt = $pStmt|0; @@ -26989,11 +27179,11 @@ function _columnMallocFailure($pStmt) { $4 = HEAP32[$p>>2]|0; $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 80|0); + $7 = ((($6)) + 40|0); $8 = HEAP32[$7>>2]|0; $9 = (_sqlite3ApiExit($5,$8)|0); $10 = HEAP32[$p>>2]|0; - $11 = ((($10)) + 80|0); + $11 = ((($10)) + 40|0); HEAP32[$11>>2] = $9; STACKTOP = sp;return; } @@ -27046,7 +27236,7 @@ function _columnName($pStmt,$N,$xFunc,$useType) { $19 = HEAP32[$2>>2]|0; $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 16|0); + $22 = ((($21)) + 100|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + (($20*40)|0)|0); $25 = (FUNCTION_TABLE_ii[$19 & 255]($24)|0); @@ -27125,7 +27315,7 @@ function _bindText($pStmt,$i,$zData,$nData,$xDel,$encoding) { $14 = HEAP32[$1>>2]|0; $15 = (($14) - 1)|0; $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 60|0); + $17 = ((($16)) + 116|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + (($15*40)|0)|0); HEAP32[$pVar>>2] = $19; @@ -27171,7 +27361,7 @@ function _vdbeUnbind($p,$i) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $pVar = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $pVar = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; @@ -27185,18 +27375,18 @@ function _vdbeUnbind($p,$i) { $4 = (_vdbeSafetyNotNull($3)|0); $5 = ($4|0)!=(0); if ($5) { - $6 = (_sqlite3MisuseError(75759)|0); + $6 = (_sqlite3MisuseError(76348)|0); HEAP32[$0>>2] = $6; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); } $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 40|0); + $8 = ((($7)) + 20|0); $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(-1108210269); + $10 = ($9|0)!=(770837923); if (!($10)) { $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 76|0); + $12 = ((($11)) + 36|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)>=(0); if (!($14)) { @@ -27205,7 +27395,7 @@ function _vdbeUnbind($p,$i) { if (!($22)) { $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 68|0); + $25 = ((($24)) + 16|0); $26 = HEAP16[$25>>1]|0; $27 = $26 << 16 >> 16; $28 = ($23|0)>($27|0); @@ -27215,7 +27405,7 @@ function _vdbeUnbind($p,$i) { HEAP32[$2>>2] = $32; $33 = HEAP32[$2>>2]|0; $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 60|0); + $35 = ((($34)) + 116|0); $36 = HEAP32[$35>>2]|0; $37 = (($36) + (($33*40)|0)|0); HEAP32[$pVar>>2] = $37; @@ -27228,71 +27418,72 @@ function _vdbeUnbind($p,$i) { $42 = HEAP32[$41>>2]|0; _sqlite3Error($42,0); $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 89|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45&255) >>> 7; - $47 = $46&255; - $48 = ($47|0)!=(0); + $44 = ((($43)) + 144|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45&65535) >>> 9; + $47 = $46 & 1; + $48 = $47&65535; + $49 = ($48|0)!=(0); do { - if ($48) { - $49 = HEAP32[$2>>2]|0; - $50 = ($49|0)<(32); - if ($50) { - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 188|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = 1 << $54; - $56 = $53 & $55; - $57 = ($56|0)!=(0); - if (!($57)) { + if ($49) { + $50 = HEAP32[$2>>2]|0; + $51 = ($50|0)<(32); + if ($51) { + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 196|0); + $54 = HEAP32[$53>>2]|0; + $55 = HEAP32[$2>>2]|0; + $56 = 1 << $55; + $57 = $54 & $56; + $58 = ($57|0)!=(0); + if (!($58)) { label = 12; } } else { label = 12; } if ((label|0) == 12) { - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 188|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(-1); - if (!($61)) { + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 196|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(-1); + if (!($62)) { break; } } - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 87|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64 & -2; - $66 = $65 | 1; - HEAP8[$63>>0] = $66; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 144|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65 & -2; + $67 = $66 | 1; + HEAP16[$64>>1] = $67; } } while(0); HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); } } $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$29>>2]|0; _sqlite3Error($30,25); HEAP32[$0>>2] = 25; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); } } $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$15>>2]|0; _sqlite3Error($16,21); $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 168|0); + $18 = ((($17)) + 176|0); $19 = HEAP32[$18>>2]|0; HEAP32[$vararg_buffer>>2] = $19; - _sqlite3_log(21,40292,$vararg_buffer); - $20 = (_sqlite3MisuseError(75767)|0); + _sqlite3_log(21,39833,$vararg_buffer); + $20 = (_sqlite3MisuseError(76356)|0); HEAP32[$0>>2] = $20; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $68 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($68|0); } function _sqlite3VdbeParameterIndex($p,$zName,$nName) { $p = $p|0; @@ -27327,7 +27518,7 @@ function _sqlite3VdbeParameterIndex($p,$zName,$nName) { while(1) { $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 70|0); + $10 = ((($9)) + 18|0); $11 = HEAP16[$10>>1]|0; $12 = $11 << 16 >> 16; $13 = ($8|0)<($12|0); @@ -27336,7 +27527,7 @@ function _sqlite3VdbeParameterIndex($p,$zName,$nName) { } $14 = HEAP32[$i>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 64|0); + $16 = ((($15)) + 120|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($14<<2)|0); $19 = HEAP32[$18>>2]|0; @@ -27398,7 +27589,7 @@ function _sqlite3TransferBindings($pFromStmt,$pToStmt) { while(1) { $4 = HEAP32[$i>>2]|0; $5 = HEAP32[$pFrom>>2]|0; - $6 = ((($5)) + 68|0); + $6 = ((($5)) + 16|0); $7 = HEAP16[$6>>1]|0; $8 = $7 << 16 >> 16; $9 = ($4|0)<($8|0); @@ -27407,12 +27598,12 @@ function _sqlite3TransferBindings($pFromStmt,$pToStmt) { } $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$pTo>>2]|0; - $12 = ((($11)) + 60|0); + $12 = ((($11)) + 116|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + (($10*40)|0)|0); $15 = HEAP32[$i>>2]|0; $16 = HEAP32[$pFrom>>2]|0; - $17 = ((($16)) + 60|0); + $17 = ((($16)) + 116|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + (($15*40)|0)|0); _sqlite3VdbeMemMove($14,$19); @@ -27422,6 +27613,329 @@ function _sqlite3TransferBindings($pFromStmt,$pToStmt) { } STACKTOP = sp;return 0; } +function _sqlite3VdbeExpandSql($p,$zRawSql) { + $p = $p|0; + $zRawSql = $zRawSql|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $enc = 0, $i = 0, $idx = 0, $n = 0, $nOut = 0, $nOut1 = 0, $nToken = 0, $nextIndex = 0, $out = 0, $pVar = 0, $utf8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var $vararg_buffer11 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $zBase = 0, $zStart = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; + $vararg_buffer11 = sp + 72|0; + $vararg_buffer8 = sp + 64|0; + $vararg_buffer4 = sp + 56|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 40|0; + $0 = sp + 148|0; + $1 = sp + 144|0; + $db = sp + 140|0; + $idx = sp + 136|0; + $nextIndex = sp + 132|0; + $n = sp + 128|0; + $nToken = sp + 124|0; + $i = sp + 120|0; + $pVar = sp + 116|0; + $out = sp + 88|0; + $utf8 = sp; + $zBase = sp + 156|0; + $zStart = sp + 84|0; + $nOut = sp + 80|0; + $enc = sp + 152|0; + $nOut1 = sp + 76|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $zRawSql; + HEAP32[$idx>>2] = 0; + HEAP32[$nextIndex>>2] = 1; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$2>>2]|0; + HEAP32[$db>>2] = $3; + $4 = HEAP32[$db>>2]|0; + $5 = ((($4)) + 96|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3StrAccumInit($out,0,$zBase,100,$6); + $7 = HEAP32[$db>>2]|0; + $8 = ((($7)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + L1: do { + if ($10) { + while(1) { + $11 = HEAP32[$1>>2]|0; + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)!=(0); + if (!($13)) { + break L1; + } + $14 = HEAP32[$1>>2]|0; + HEAP32[$zStart>>2] = $14; + while(1) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 1|0); + HEAP32[$1>>2] = $16; + $17 = HEAP8[$15>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)!=(10); + if (!($19)) { + break; + } + $20 = HEAP32[$1>>2]|0; + $21 = HEAP8[$20>>0]|0; + $22 = $21 << 24 >> 24; + $23 = ($22|0)!=(0); + if (!($23)) { + break; + } + } + _sqlite3StrAccumAppend($out,39799,3); + $24 = HEAP32[$zStart>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = HEAP32[$zStart>>2]|0; + $27 = $25; + $28 = $26; + $29 = (($27) - ($28))|0; + _sqlite3StrAccumAppend($out,$24,$29); + } + } else { + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32 << 16 >> 16; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$1>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = (_sqlite3Strlen30($36)|0); + _sqlite3StrAccumAppend($out,$35,$37); + break; + } + while(1) { + $38 = HEAP32[$1>>2]|0; + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)!=(0); + if (!($40)) { + break L1; + } + $41 = HEAP32[$1>>2]|0; + $42 = (_findNextHostParameter($41,$nToken)|0); + HEAP32[$n>>2] = $42; + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$n>>2]|0; + _sqlite3StrAccumAppend($out,$43,$44); + $45 = HEAP32[$n>>2]|0; + $46 = HEAP32[$1>>2]|0; + $47 = (($46) + ($45)|0); + HEAP32[$1>>2] = $47; + $48 = HEAP32[$nToken>>2]|0; + $49 = ($48|0)==(0); + if ($49) { + break L1; + } + $50 = HEAP32[$1>>2]|0; + $51 = HEAP8[$50>>0]|0; + $52 = $51 << 24 >> 24; + $53 = ($52|0)==(63); + do { + if ($53) { + $54 = HEAP32[$nToken>>2]|0; + $55 = ($54|0)>(1); + if ($55) { + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 1|0); + (_sqlite3GetInt32($57,$idx)|0); + break; + } else { + $58 = HEAP32[$nextIndex>>2]|0; + HEAP32[$idx>>2] = $58; + break; + } + } else { + $59 = HEAP32[$0>>2]|0; + $60 = HEAP32[$1>>2]|0; + $61 = HEAP32[$nToken>>2]|0; + $62 = (_sqlite3VdbeParameterIndex($59,$60,$61)|0); + HEAP32[$idx>>2] = $62; + } + } while(0); + $63 = HEAP32[$nToken>>2]|0; + $64 = HEAP32[$1>>2]|0; + $65 = (($64) + ($63)|0); + HEAP32[$1>>2] = $65; + $66 = HEAP32[$idx>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$nextIndex>>2] = $67; + $68 = HEAP32[$idx>>2]|0; + $69 = (($68) - 1)|0; + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 116|0); + $72 = HEAP32[$71>>2]|0; + $73 = (($72) + (($69*40)|0)|0); + HEAP32[$pVar>>2] = $73; + $74 = HEAP32[$pVar>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP16[$75>>1]|0; + $77 = $76&65535; + $78 = $77 & 1; + $79 = ($78|0)!=(0); + if ($79) { + _sqlite3StrAccumAppend($out,39691,4); + continue; + } + $80 = HEAP32[$pVar>>2]|0; + $81 = ((($80)) + 8|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 & 4; + $85 = ($84|0)!=(0); + $86 = HEAP32[$pVar>>2]|0; + if ($85) { + $87 = $86; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $vararg_buffer; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + _sqlite3XPrintf($out,28266,$vararg_buffer); + continue; + } + $97 = ((($86)) + 8|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = $99 & 8; + $101 = ($100|0)!=(0); + $102 = HEAP32[$pVar>>2]|0; + if ($101) { + $103 = +HEAPF64[$102>>3]; + HEAPF64[$vararg_buffer1>>3] = $103; + _sqlite3XPrintf($out,28271,$vararg_buffer1); + continue; + } + $104 = ((($102)) + 8|0); + $105 = HEAP16[$104>>1]|0; + $106 = $105&65535; + $107 = $106 & 2; + $108 = ($107|0)!=(0); + if ($108) { + $109 = HEAP32[$db>>2]|0; + $110 = ((($109)) + 66|0); + $111 = HEAP8[$110>>0]|0; + HEAP8[$enc>>0] = $111; + $112 = HEAP8[$enc>>0]|0; + $113 = $112&255; + $114 = ($113|0)!=(1); + if ($114) { + dest=$utf8; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $115 = HEAP32[$db>>2]|0; + $116 = ((($utf8)) + 32|0); + HEAP32[$116>>2] = $115; + $117 = HEAP32[$pVar>>2]|0; + $118 = ((($117)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$pVar>>2]|0; + $121 = ((($120)) + 12|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP8[$enc>>0]|0; + (_sqlite3VdbeMemSetStr($utf8,$119,$122,$123,0)|0); + $124 = (_sqlite3VdbeChangeEncoding($utf8,1)|0); + $125 = (7)==($124|0); + if ($125) { + $126 = ((($out)) + 24|0); + HEAP8[$126>>0] = 1; + $127 = ((($out)) + 16|0); + HEAP32[$127>>2] = 0; + } + HEAP32[$pVar>>2] = $utf8; + } + $128 = HEAP32[$pVar>>2]|0; + $129 = ((($128)) + 12|0); + $130 = HEAP32[$129>>2]|0; + HEAP32[$nOut>>2] = $130; + $131 = HEAP32[$nOut>>2]|0; + $132 = HEAP32[$pVar>>2]|0; + $133 = ((($132)) + 16|0); + $134 = HEAP32[$133>>2]|0; + HEAP32[$vararg_buffer4>>2] = $131; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $134; + _sqlite3XPrintf($out,39803,$vararg_buffer4); + $135 = HEAP8[$enc>>0]|0; + $136 = $135&255; + $137 = ($136|0)!=(1); + if (!($137)) { + continue; + } + _sqlite3VdbeMemRelease($utf8); + continue; + } else { + $138 = HEAP32[$pVar>>2]|0; + $139 = ((($138)) + 8|0); + $140 = HEAP16[$139>>1]|0; + $141 = $140&65535; + $142 = $141 & 16384; + $143 = ($142|0)!=(0); + if ($143) { + $144 = HEAP32[$pVar>>2]|0; + $145 = HEAP32[$144>>2]|0; + HEAP32[$vararg_buffer8>>2] = $145; + _sqlite3XPrintf($out,39810,$vararg_buffer8); + continue; + } + _sqlite3StrAccumAppend($out,39823,2); + $146 = HEAP32[$pVar>>2]|0; + $147 = ((($146)) + 12|0); + $148 = HEAP32[$147>>2]|0; + HEAP32[$nOut1>>2] = $148; + HEAP32[$i>>2] = 0; + while(1) { + $149 = HEAP32[$i>>2]|0; + $150 = HEAP32[$nOut1>>2]|0; + $151 = ($149|0)<($150|0); + if (!($151)) { + break; + } + $152 = HEAP32[$i>>2]|0; + $153 = HEAP32[$pVar>>2]|0; + $154 = ((($153)) + 16|0); + $155 = HEAP32[$154>>2]|0; + $156 = (($155) + ($152)|0); + $157 = HEAP8[$156>>0]|0; + $158 = $157 << 24 >> 24; + $159 = $158 & 255; + HEAP32[$vararg_buffer11>>2] = $159; + _sqlite3XPrintf($out,39826,$vararg_buffer11); + $160 = HEAP32[$i>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$i>>2] = $161; + } + _sqlite3StrAccumAppend($out,39831,1); + continue; + } + } + } + } while(0); + $162 = ((($out)) + 24|0); + $163 = HEAP8[$162>>0]|0; + $164 = ($163<<24>>24)!=(0); + if (!($164)) { + $165 = (_sqlite3StrAccumFinish($out)|0); + STACKTOP = sp;return ($165|0); + } + _sqlite3StrAccumReset($out); + $165 = (_sqlite3StrAccumFinish($out)|0); + STACKTOP = sp;return ($165|0); +} function _applyNumericAffinity($pRec,$bTryForInt) { $pRec = $pRec|0; $bTryForInt = $bTryForInt|0; @@ -27553,14 +28067,15 @@ function _sqlite3DbMallocRaw($db,$0,$1) { } return (0)|0; } -function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { +function _sqlite3LocateTable($pParse,$flags,$zName,$zDbase) { $pParse = $pParse|0; - $isView = $isView|0; + $flags = $flags|0; $zName = $zName|0; $zDbase = $zDbase|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pMod = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $zMsg = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pMod = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $zMsg = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer3 = sp + 16|0; @@ -27574,7 +28089,7 @@ function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { $zMsg = sp + 28|0; $pMod = sp + 24|0; HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $isView; + HEAP32[$2>>2] = $flags; HEAP32[$3>>2] = $zName; HEAP32[$4>>2] = $zDbase; $5 = HEAP32[$1>>2]|0; @@ -27582,8 +28097,8 @@ function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { $7 = (0)!=($6|0); if ($7) { HEAP32[$0>>2] = 0; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + $51 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($51|0); } $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$8>>2]|0; @@ -27595,66 +28110,72 @@ function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { $14 = ($13|0)==(0|0); if ($14) { $15 = HEAP32[$2>>2]|0; - $16 = ($15|0)!=(0); - $17 = $16 ? 40265 : 40278; - HEAP32[$zMsg>>2] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = (_sqlite3FindDbName($19,$20)|0); - $22 = ($21|0)<(1); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 320|0); - $26 = HEAP32[$3>>2]|0; - $27 = (_sqlite3HashFind($25,$26)|0); - HEAP32[$pMod>>2] = $27; - $28 = HEAP32[$pMod>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = HEAP32[$pMod>>2]|0; - $32 = (_sqlite3VtabEponymousTableInit($30,$31)|0); - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$pMod>>2]|0; - $35 = ((($34)) + 16|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$0>>2] = $36; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + $16 = $15 & 1; + $17 = ($16|0)!=(0); + $18 = $17 ? 39772 : 39785; + HEAP32[$zMsg>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$4>>2]|0; + $22 = (_sqlite3FindDbName($20,$21)|0); + $23 = ($22|0)<(1); + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 320|0); + $27 = HEAP32[$3>>2]|0; + $28 = (_sqlite3HashFind($26,$27)|0); + HEAP32[$pMod>>2] = $28; + $29 = HEAP32[$pMod>>2]|0; + $30 = ($29|0)!=(0|0); + if ($30) { + $31 = HEAP32[$1>>2]|0; + $32 = HEAP32[$pMod>>2]|0; + $33 = (_sqlite3VtabEponymousTableInit($31,$32)|0); + $34 = ($33|0)!=(0); + if ($34) { + $35 = HEAP32[$pMod>>2]|0; + $36 = ((($35)) + 16|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$0>>2] = $37; + $51 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($51|0); } } } - $37 = HEAP32[$4>>2]|0; - $38 = ($37|0)!=(0|0); - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$zMsg>>2]|0; - if ($38) { + $38 = HEAP32[$2>>2]|0; + $39 = $38 & 2; + $40 = ($39|0)==(0); + if ($40) { $41 = HEAP32[$4>>2]|0; - $42 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $40; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $41; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $42; - _sqlite3ErrorMsg($39,30625,$vararg_buffer); - } else { - $43 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer3>>2] = $40; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $43; - _sqlite3ErrorMsg($39,30635,$vararg_buffer3); + $42 = ($41|0)!=(0|0); + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$zMsg>>2]|0; + if ($42) { + $45 = HEAP32[$4>>2]|0; + $46 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $44; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $45; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $46; + _sqlite3ErrorMsg($43,30029,$vararg_buffer); + } else { + $47 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer3>>2] = $44; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + _sqlite3ErrorMsg($43,30039,$vararg_buffer3); + } + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 17|0); + HEAP8[$49>>0] = 1; } - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 17|0); - HEAP8[$45>>0] = 1; } - $46 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $46; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + $50 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $50; + $51 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($51|0); } function _sqlite3ErrorMsg($pParse,$zFormat,$varargs) { $pParse = $pParse|0; @@ -27690,7 +28211,7 @@ function _sqlite3ErrorMsg($pParse,$zFormat,$varargs) { STACKTOP = sp;return; } else { $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 68|0); + $14 = ((($13)) + 36|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + 1)|0; HEAP32[$14>>2] = $16; @@ -27786,7 +28307,8 @@ function _sqlite3MPrintf($db,$zFormat,$varargs) { function _sqlite3VdbeCreate($pParse) { $pParse = $pParse|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0; + var dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -27798,54 +28320,57 @@ function _sqlite3VdbeCreate($pParse) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = (_sqlite3DbMallocZero($4,208,0)|0); + $5 = (_sqlite3DbMallocRawNN($4,208,0)|0); HEAP32[$p>>2] = $5; $6 = HEAP32[$p>>2]|0; $7 = ($6|0)==(0|0); if ($7) { HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $37 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($37|0); } - $8 = HEAP32[$db>>2]|0; - $9 = HEAP32[$p>>2]|0; - HEAP32[$9>>2] = $8; + $8 = HEAP32[$p>>2]|0; + $9 = ((($8)) + 88|0); + dest=$9; stop=dest+120|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$p>>2]|0; - $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($17)) + 48|0); - HEAP32[$18>>2] = $14; + $11 = HEAP32[$p>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$db>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { + $16 = HEAP32[$p>>2]|0; + $17 = HEAP32[$db>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 4|0); + HEAP32[$20>>2] = $16; } - $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 52|0); - HEAP32[$23>>2] = $21; + $21 = HEAP32[$db>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 48|0); - HEAP32[$25>>2] = 0; + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = $23; $26 = HEAP32[$p>>2]|0; - $27 = HEAP32[$db>>2]|0; - $28 = ((($27)) + 4|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$p>>2]|0; - $30 = ((($29)) + 40|0); - HEAP32[$30>>2] = 649915045; - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 24|0); - HEAP32[$33>>2] = $31; + $27 = ((($26)) + 4|0); + HEAP32[$27>>2] = 0; + $28 = HEAP32[$p>>2]|0; + $29 = HEAP32[$db>>2]|0; + $30 = ((($29)) + 4|0); + HEAP32[$30>>2] = $28; + $31 = HEAP32[$p>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = 381479589; + $33 = HEAP32[$1>>2]|0; $34 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $34; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $35 = ((($34)) + 12|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $36; + $37 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($37|0); } function _sqlite3VdbeAddOp4Int($p,$op,$p1,$p2,$p3,$p4) { $p = $p|0; @@ -27888,7 +28413,7 @@ function _sqlite3VdbeAddOp4Int($p,$op,$p1,$p2,$p3,$p4) { function _sqlite3VdbeChangeP5($p,$p5) { $p = $p|0; $p5 = $p5|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; @@ -27896,24 +28421,23 @@ function _sqlite3VdbeChangeP5($p,$p5) { HEAP32[$0>>2] = $p; HEAP8[$1>>0] = $p5; $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 69|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if ($6) { + $3 = ((($2)) + 136|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(0); + if (!($5)) { STACKTOP = sp;return; } - $7 = HEAP8[$1>>0]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) - 1)|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + (($11*20)|0)|0); - $16 = ((($15)) + 3|0); - HEAP8[$16>>0] = $7; + $6 = HEAP8[$1>>0]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 136|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) - 1)|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 88|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + (($10*20)|0)|0); + $15 = ((($14)) + 3|0); + HEAP8[$15>>0] = $6; STACKTOP = sp;return; } function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { @@ -27941,14 +28465,14 @@ function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { HEAP32[$3>>2] = $aOp; HEAP32[$4>>2] = $iLineno; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 32|0); + $6 = ((($5)) + 136|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$2>>2]|0; $9 = (($7) + ($8))|0; $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 24|0); + $11 = ((($10)) + 12|0); $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 88|0); + $13 = ((($12)) + 48|0); $14 = HEAP32[$13>>2]|0; $15 = ($9|0)>($14|0); if ($15) { @@ -27963,10 +28487,10 @@ function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { } } $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 32|0); + $21 = ((($20)) + 136|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 4|0); + $24 = ((($23)) + 88|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + (($22*20)|0)|0); HEAP32[$pOut>>2] = $26; @@ -28000,7 +28524,7 @@ function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { $45 = HEAP32[$3>>2]|0; $46 = HEAP8[$45>>0]|0; $47 = $46&255; - $48 = (35415 + ($47)|0); + $48 = (34898 + ($47)|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 & 1; @@ -28013,7 +28537,7 @@ function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { $57 = ($56|0)>(0); if ($57) { $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 32|0); + $59 = ((($58)) + 136|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$pOut>>2]|0; $62 = ((($61)) + 8|0); @@ -28050,7 +28574,7 @@ function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { } $83 = HEAP32[$2>>2]|0; $84 = HEAP32[$1>>2]|0; - $85 = ((($84)) + 32|0); + $85 = ((($84)) + 136|0); $86 = HEAP32[$85>>2]|0; $87 = (($86) + ($83))|0; HEAP32[$85>>2] = $87; @@ -28073,7 +28597,7 @@ function _sqlite3VdbeUsesBtree($p,$i) { $2 = HEAP32[$1>>2]|0; $3 = 1 << $2; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 96|0); + $5 = ((($4)) + 148|0); $6 = HEAP32[$5>>2]|0; $7 = $6 | $3; HEAP32[$5>>2] = $7; @@ -28098,7 +28622,7 @@ function _sqlite3VdbeUsesBtree($p,$i) { $20 = HEAP32[$1>>2]|0; $21 = 1 << $20; $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 100|0); + $23 = ((($22)) + 152|0); $24 = HEAP32[$23>>2]|0; $25 = $24 | $21; HEAP32[$23>>2] = $25; @@ -28147,14 +28671,14 @@ function _sqlite3VdbeChangeP4($p,$addr,$zP4,$n) { $16 = ($15|0)<(0); if ($16) { $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 32|0); + $18 = ((($17)) + 136|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) - 1)|0; HEAP32[$1>>2] = $20; } $21 = HEAP32[$1>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 4|0); + $23 = ((($22)) + 88|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + (($21*20)|0)|0); HEAP32[$pOp>>2] = $25; @@ -28213,29 +28737,26 @@ function _sqlite3VdbeChangeP4($p,$addr,$zP4,$n) { function _sqlite3VdbeMakeReady($p,$pParse) { $p = $p|0; $pParse = $pParse|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $n = 0, $nArg = 0, $nCursor = 0, $nMem = 0, $nOnce = 0, $nVar = 0; - var $or$cond = 0, $or$cond3 = 0, $x = 0, label = 0, sp = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $n = 0, $nArg = 0, $nCursor = 0, $nMem = 0, $nVar = 0, $or$cond = 0; + var $or$cond3 = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $db = sp + 36|0; - $nVar = sp + 32|0; - $nMem = sp + 28|0; - $nCursor = sp + 24|0; - $nArg = sp + 20|0; - $nOnce = sp + 16|0; + $0 = sp + 40|0; + $1 = sp + 36|0; + $db = sp + 32|0; + $nVar = sp + 28|0; + $nMem = sp + 24|0; + $nCursor = sp + 20|0; + $nArg = sp + 16|0; $n = sp + 12|0; $x = sp; HEAP32[$0>>2] = $p; @@ -28244,329 +28765,255 @@ function _sqlite3VdbeMakeReady($p,$pParse) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 444|0); + $5 = ((($4)) + 400|0); $6 = HEAP16[$5>>1]|0; $7 = $6 << 16 >> 16; HEAP32[$nVar>>2] = $7; $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 76|0); + $9 = ((($8)) + 44|0); $10 = HEAP32[$9>>2]|0; HEAP32[$nMem>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 72|0); + $12 = ((($11)) + 40|0); $13 = HEAP32[$12>>2]|0; HEAP32[$nCursor>>2] = $13; $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 400|0); + $15 = ((($14)) + 108|0); $16 = HEAP32[$15>>2]|0; HEAP32[$nArg>>2] = $16; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 84|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$nOnce>>2] = $19; - $20 = HEAP32[$nOnce>>2]|0; + $17 = HEAP32[$nCursor>>2]|0; + $18 = HEAP32[$nMem>>2]|0; + $19 = (($18) + ($17))|0; + HEAP32[$nMem>>2] = $19; + $20 = HEAP32[$nCursor>>2]|0; $21 = ($20|0)==(0); - $$ = $21 ? 1 : $19; - HEAP32[$nOnce>>2] = $$; - $22 = HEAP32[$nCursor>>2]|0; - $23 = HEAP32[$nMem>>2]|0; - $24 = (($23) + ($22))|0; - HEAP32[$nMem>>2] = $24; - $25 = HEAP32[$nCursor>>2]|0; - $26 = ($25|0)==(0); - $27 = HEAP32[$nMem>>2]|0; - $28 = ($27|0)>(0); - $or$cond = $26 & $28; + $22 = HEAP32[$nMem>>2]|0; + $23 = ($22|0)>(0); + $or$cond = $21 & $23; if ($or$cond) { - $29 = HEAP32[$nMem>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$nMem>>2] = $30; - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33*20)|0; - $35 = (($34) + 7)|0; - $36 = $35 & -8; - HEAP32[$n>>2] = $36; - $37 = HEAP32[$n>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37)|0); - HEAP32[$x>>2] = $41; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 92|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$n>>2]|0; - $46 = (($44) - ($45))|0; - $47 = $46 & -8; - $48 = ((($x)) + 4|0); - HEAP32[$48>>2] = $47; - $49 = ((($x)) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)>(0); - if ($51) { - $52 = HEAP32[$x>>2]|0; - $53 = ((($x)) + 4|0); - $54 = HEAP32[$53>>2]|0; - _memset(($52|0),0,($54|0))|0; + $24 = HEAP32[$nMem>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$nMem>>2] = $25; } - $55 = HEAP32[$0>>2]|0; - _resolveP2Values($55,$nArg); - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 20|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ($59|0)!=(0); - if ($60) { - $61 = HEAP32[$1>>2]|0; - $62 = ((($61)) + 21|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = ($64|0)!=(0); - $67 = $65; + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 136|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28*20)|0; + $30 = (($29) + 7)|0; + $31 = $30 & -8; + HEAP32[$n>>2] = $31; + $32 = HEAP32[$n>>2]|0; + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 88|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($32)|0); + HEAP32[$x>>2] = $36; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 52|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$n>>2]|0; + $41 = (($39) - ($40))|0; + $42 = $41 & -8; + $43 = ((($x)) + 4|0); + HEAP32[$43>>2] = $42; + $44 = HEAP32[$0>>2]|0; + _resolveP2Values($44,$nArg); + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 20|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = ($48|0)!=(0); + if ($49) { + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 21|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = ($53|0)!=(0); + $56 = $54; } else { - $67 = 0; + $56 = 0; } - $66 = $67&1; - $68 = $66&255; - $69 = $68&255; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 89|0); - $72 = $69&255; - $73 = HEAP8[$71>>0]|0; - $74 = $72 & 1; - $75 = ($74 << 4)&255; - $76 = $73 & -17; - $77 = $76 | $75; - HEAP8[$71>>0] = $77; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 453|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ($81|0)!=(0); - $83 = HEAP32[$nMem>>2]|0; - $84 = ($83|0)<(10); - $or$cond3 = $82 & $84; + $55 = $56&1; + $57 = $55&255; + $58 = $57&255; + $59 = HEAP32[$0>>2]|0; + $60 = ((($59)) + 144|0); + $61 = $58&65535; + $62 = HEAP16[$60>>1]|0; + $63 = $61 & 1; + $64 = ($63 << 6)&65535; + $65 = $62 & -65; + $66 = $65 | $64; + HEAP16[$60>>1] = $66; + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 409|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ($70|0)!=(0); + $72 = HEAP32[$nMem>>2]|0; + $73 = ($72|0)<(10); + $or$cond3 = $71 & $73; if ($or$cond3) { HEAP32[$nMem>>2] = 10; } - $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 87|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87 & -2; - HEAP8[$86>>0] = $88; + $74 = HEAP32[$0>>2]|0; + $75 = ((($74)) + 144|0); + $76 = HEAP16[$75>>1]|0; + $77 = $76 & -2; + HEAP16[$75>>1] = $77; while(1) { - $89 = ((($x)) + 8|0); - HEAP32[$89>>2] = 0; - $90 = HEAP32[$0>>2]|0; - $91 = ((($90)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$nMem>>2]|0; - $94 = ($93*40)|0; - $95 = (_allocSpace($x,$92,$94)|0); - $96 = HEAP32[$0>>2]|0; - $97 = ((($96)) + 8|0); - HEAP32[$97>>2] = $95; - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 60|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[$nVar>>2]|0; - $102 = ($101*40)|0; - $103 = (_allocSpace($x,$100,$102)|0); - $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 60|0); - HEAP32[$105>>2] = $103; - $106 = HEAP32[$0>>2]|0; - $107 = ((($106)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = HEAP32[$nArg>>2]|0; - $110 = $109<<2; - $111 = (_allocSpace($x,$108,$110)|0); - $112 = HEAP32[$0>>2]|0; - $113 = ((($112)) + 12|0); - HEAP32[$113>>2] = $111; - $114 = HEAP32[$0>>2]|0; - $115 = ((($114)) + 56|0); + $78 = ((($x)) + 8|0); + HEAP32[$78>>2] = 0; + $79 = HEAP32[$0>>2]|0; + $80 = ((($79)) + 92|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP32[$nMem>>2]|0; + $83 = ($82*40)|0; + $84 = (_allocSpace($x,$81,$83)|0); + $85 = HEAP32[$0>>2]|0; + $86 = ((($85)) + 92|0); + HEAP32[$86>>2] = $84; + $87 = HEAP32[$0>>2]|0; + $88 = ((($87)) + 116|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$nVar>>2]|0; + $91 = ($90*40)|0; + $92 = (_allocSpace($x,$89,$91)|0); + $93 = HEAP32[$0>>2]|0; + $94 = ((($93)) + 116|0); + HEAP32[$94>>2] = $92; + $95 = HEAP32[$0>>2]|0; + $96 = ((($95)) + 96|0); + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$nArg>>2]|0; + $99 = $98<<2; + $100 = (_allocSpace($x,$97,$99)|0); + $101 = HEAP32[$0>>2]|0; + $102 = ((($101)) + 96|0); + HEAP32[$102>>2] = $100; + $103 = HEAP32[$0>>2]|0; + $104 = ((($103)) + 112|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$nCursor>>2]|0; + $107 = $106<<2; + $108 = (_allocSpace($x,$105,$107)|0); + $109 = HEAP32[$0>>2]|0; + $110 = ((($109)) + 112|0); + HEAP32[$110>>2] = $108; + $111 = ((($x)) + 8|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)==(0); + if ($113) { + break; + } + $114 = HEAP32[$db>>2]|0; + $115 = ((($x)) + 8|0); $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$nCursor>>2]|0; - $118 = $117<<2; - $119 = (_allocSpace($x,$116,$118)|0); + $117 = ($116|0)<(0); + $118 = $117 << 31 >> 31; + $119 = (_sqlite3DbMallocRawNN($114,$116,$118)|0); $120 = HEAP32[$0>>2]|0; - $121 = ((($120)) + 56|0); + $121 = ((($120)) + 180|0); HEAP32[$121>>2] = $119; - $122 = HEAP32[$0>>2]|0; - $123 = ((($122)) + 200|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$nOnce>>2]|0; - $126 = (_allocSpace($x,$124,$125)|0); - $127 = HEAP32[$0>>2]|0; - $128 = ((($127)) + 200|0); - HEAP32[$128>>2] = $126; - $129 = ((($x)) + 8|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($130|0)==(0); - if ($131) { - break; - } - $132 = HEAP32[$db>>2]|0; - $133 = ((($x)) + 8|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = (_sqlite3DbMallocZero($132,$134,$136)|0); - $138 = HEAP32[$0>>2]|0; - $139 = ((($138)) + 172|0); - HEAP32[$139>>2] = $137; - HEAP32[$x>>2] = $137; - $140 = ((($x)) + 8|0); - $141 = HEAP32[$140>>2]|0; - $142 = ((($x)) + 4|0); - HEAP32[$142>>2] = $141; - $143 = HEAP32[$db>>2]|0; - $144 = ((($143)) + 69|0); - $145 = HEAP8[$144>>0]|0; - $146 = ($145<<24>>24)!=(0); - $147 = $146 ^ 1; - if (!($147)) { + HEAP32[$x>>2] = $119; + $122 = ((($x)) + 8|0); + $123 = HEAP32[$122>>2]|0; + $124 = ((($x)) + 4|0); + HEAP32[$124>>2] = $123; + $125 = HEAP32[$db>>2]|0; + $126 = ((($125)) + 69|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($127<<24>>24)!=(0); + $129 = $128 ^ 1; + if (!($129)) { break; } } - $148 = HEAP32[$nCursor>>2]|0; + $130 = HEAP32[$1>>2]|0; + $131 = ((($130)) + 404|0); + $132 = HEAP32[$131>>2]|0; + $133 = $132&65535; + $134 = HEAP32[$0>>2]|0; + $135 = ((($134)) + 18|0); + HEAP16[$135>>1] = $133; + $136 = HEAP32[$1>>2]|0; + $137 = ((($136)) + 428|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$0>>2]|0; + $140 = ((($139)) + 120|0); + HEAP32[$140>>2] = $138; + $141 = HEAP32[$1>>2]|0; + $142 = ((($141)) + 404|0); + HEAP32[$142>>2] = 0; + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 428|0); + HEAP32[$144>>2] = 0; + $145 = HEAP32[$1>>2]|0; + $146 = ((($145)) + 409|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 36|0); - HEAP32[$150>>2] = $148; - $151 = HEAP32[$nOnce>>2]|0; - $152 = HEAP32[$0>>2]|0; - $153 = ((($152)) + 196|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$0>>2]|0; - $155 = ((($154)) + 60|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)!=(0|0); - L17: do { - if ($157) { - $158 = HEAP32[$nVar>>2]|0; - $159 = $158&65535; - $160 = HEAP32[$0>>2]|0; - $161 = ((($160)) + 68|0); - HEAP16[$161>>1] = $159; - HEAP32[$n>>2] = 0; - while(1) { - $162 = HEAP32[$n>>2]|0; - $163 = HEAP32[$nVar>>2]|0; - $164 = ($162|0)<($163|0); - if (!($164)) { - break L17; - } - $165 = HEAP32[$n>>2]|0; - $166 = HEAP32[$0>>2]|0; - $167 = ((($166)) + 60|0); - $168 = HEAP32[$167>>2]|0; - $169 = (($168) + (($165*40)|0)|0); - $170 = ((($169)) + 8|0); - HEAP16[$170>>1] = 1; - $171 = HEAP32[$db>>2]|0; - $172 = HEAP32[$n>>2]|0; - $173 = HEAP32[$0>>2]|0; - $174 = ((($173)) + 60|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($175) + (($172*40)|0)|0); - $177 = ((($176)) + 32|0); - HEAP32[$177>>2] = $171; - $178 = HEAP32[$n>>2]|0; - $179 = (($178) + 1)|0; - HEAP32[$n>>2] = $179; - } - } - } while(0); - $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 448|0); - $182 = HEAP32[$181>>2]|0; - $183 = $182&65535; - $184 = HEAP32[$0>>2]|0; - $185 = ((($184)) + 70|0); - HEAP16[$185>>1] = $183; - $186 = HEAP32[$1>>2]|0; - $187 = ((($186)) + 476|0); - $188 = HEAP32[$187>>2]|0; - $189 = HEAP32[$0>>2]|0; - $190 = ((($189)) + 64|0); - HEAP32[$190>>2] = $188; - $191 = HEAP32[$1>>2]|0; - $192 = ((($191)) + 448|0); - HEAP32[$192>>2] = 0; - $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 476|0); - HEAP32[$194>>2] = 0; - $195 = HEAP32[$0>>2]|0; - $196 = ((($195)) + 8|0); - $197 = HEAP32[$196>>2]|0; - $198 = ($197|0)!=(0|0); - if (!($198)) { - $220 = HEAP32[$1>>2]|0; - $221 = ((($220)) + 453|0); - $222 = HEAP8[$221>>0]|0; - $223 = $222&255; - $224 = HEAP32[$0>>2]|0; - $225 = ((($224)) + 89|0); - $226 = $223&255; - $227 = HEAP8[$225>>0]|0; - $228 = $226 & 3; - $229 = $227 & -4; - $230 = $229 | $228; - HEAP8[$225>>0] = $230; - $231 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($231); + $150 = ((($149)) + 144|0); + $151 = $148&65535; + $152 = HEAP16[$150>>1]|0; + $153 = $151 & 3; + $154 = ($153 << 2)&65535; + $155 = $152 & -13; + $156 = $155 | $154; + HEAP16[$150>>1] = $156; + $157 = HEAP32[$db>>2]|0; + $158 = ((($157)) + 69|0); + $159 = HEAP8[$158>>0]|0; + $160 = ($159<<24>>24)!=(0); + if ($160) { + $161 = HEAP32[$0>>2]|0; + $162 = ((($161)) + 16|0); + HEAP16[$162>>1] = 0; + $163 = HEAP32[$0>>2]|0; + $164 = ((($163)) + 28|0); + HEAP32[$164>>2] = 0; + $165 = HEAP32[$0>>2]|0; + $166 = ((($165)) + 24|0); + HEAP32[$166>>2] = 0; + $192 = HEAP32[$0>>2]|0; + _sqlite3VdbeRewind($192); + STACKTOP = sp;return; + } else { + $167 = HEAP32[$nCursor>>2]|0; + $168 = HEAP32[$0>>2]|0; + $169 = ((($168)) + 28|0); + HEAP32[$169>>2] = $167; + $170 = HEAP32[$nVar>>2]|0; + $171 = $170&65535; + $172 = HEAP32[$0>>2]|0; + $173 = ((($172)) + 16|0); + HEAP16[$173>>1] = $171; + $174 = HEAP32[$0>>2]|0; + $175 = ((($174)) + 116|0); + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$nVar>>2]|0; + $178 = HEAP32[$db>>2]|0; + _initMemArray($176,$177,$178,1); + $179 = HEAP32[$nMem>>2]|0; + $180 = HEAP32[$0>>2]|0; + $181 = ((($180)) + 24|0); + HEAP32[$181>>2] = $179; + $182 = HEAP32[$0>>2]|0; + $183 = ((($182)) + 92|0); + $184 = HEAP32[$183>>2]|0; + $185 = HEAP32[$nMem>>2]|0; + $186 = HEAP32[$db>>2]|0; + _initMemArray($184,$185,$186,128); + $187 = HEAP32[$0>>2]|0; + $188 = ((($187)) + 112|0); + $189 = HEAP32[$188>>2]|0; + $190 = HEAP32[$nCursor>>2]|0; + $191 = $190<<2; + _memset(($189|0),0,($191|0))|0; + $192 = HEAP32[$0>>2]|0; + _sqlite3VdbeRewind($192); STACKTOP = sp;return; } - $199 = HEAP32[$nMem>>2]|0; - $200 = HEAP32[$0>>2]|0; - $201 = ((($200)) + 28|0); - HEAP32[$201>>2] = $199; - HEAP32[$n>>2] = 0; - while(1) { - $202 = HEAP32[$n>>2]|0; - $203 = HEAP32[$nMem>>2]|0; - $204 = ($202|0)<($203|0); - if (!($204)) { - break; - } - $205 = HEAP32[$n>>2]|0; - $206 = HEAP32[$0>>2]|0; - $207 = ((($206)) + 8|0); - $208 = HEAP32[$207>>2]|0; - $209 = (($208) + (($205*40)|0)|0); - $210 = ((($209)) + 8|0); - HEAP16[$210>>1] = 128; - $211 = HEAP32[$db>>2]|0; - $212 = HEAP32[$n>>2]|0; - $213 = HEAP32[$0>>2]|0; - $214 = ((($213)) + 8|0); - $215 = HEAP32[$214>>2]|0; - $216 = (($215) + (($212*40)|0)|0); - $217 = ((($216)) + 32|0); - HEAP32[$217>>2] = $211; - $218 = HEAP32[$n>>2]|0; - $219 = (($218) + 1)|0; - HEAP32[$n>>2] = $219; - } - $220 = HEAP32[$1>>2]|0; - $221 = ((($220)) + 453|0); - $222 = HEAP8[$221>>0]|0; - $223 = $222&255; - $224 = HEAP32[$0>>2]|0; - $225 = ((($224)) + 89|0); - $226 = $223&255; - $227 = HEAP8[$225>>0]|0; - $228 = $226 & 3; - $229 = $227 & -4; - $230 = $229 | $228; - HEAP8[$225>>0] = $230; - $231 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($231); - STACKTOP = sp;return; } function _blobSeekToRow($p,$0,$1,$pzErr) { $p = $p|0; @@ -28613,7 +29060,7 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$v>>2]|0; - $19 = ((($18)) + 60|0); + $19 = ((($18)) + 116|0); $20 = HEAP32[$19>>2]|0; $21 = $20; $22 = $21; @@ -28631,7 +29078,7 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { do { if ($30) { $31 = HEAP32[$v>>2]|0; - $32 = ((($31)) + 56|0); + $32 = ((($31)) + 112|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$33>>2]|0; HEAP32[$pC>>2] = $34; @@ -28683,15 +29130,15 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { $47 = HEAP32[$type>>2]|0; $48 = ($47|0)==(0); if ($48) { - $52 = 40211; + $52 = 39718; } else { $49 = HEAP32[$type>>2]|0; $50 = ($49|0)==(7); - $51 = $50 ? 40198 : 40203; + $51 = $50 ? 39705 : 39710; $52 = $51; } HEAP32[$vararg_buffer>>2] = $52; - $53 = (_sqlite3MPrintf($46,40216,$vararg_buffer)|0); + $53 = (_sqlite3MPrintf($46,39723,$vararg_buffer)|0); HEAP32[$zErr>>2] = $53; HEAP32[$rc>>2] = 1; $54 = HEAP32[$2>>2]|0; @@ -28750,7 +29197,7 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { $109 = (($107) + 4)|0; $110 = $109; HEAP32[$110>>2] = $106; - $111 = (_sqlite3MPrintf($100,40245,$vararg_buffer1)|0); + $111 = (_sqlite3MPrintf($100,39752,$vararg_buffer1)|0); HEAP32[$zErr>>2] = $111; HEAP32[$rc>>2] = 1; $117 = HEAP32[$zErr>>2]|0; @@ -28764,7 +29211,7 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { $114 = HEAP32[$113>>2]|0; $115 = (_sqlite3_errmsg($114)|0); HEAP32[$vararg_buffer4>>2] = $115; - $116 = (_sqlite3MPrintf($100,19007,$vararg_buffer4)|0); + $116 = (_sqlite3MPrintf($100,18391,$vararg_buffer4)|0); HEAP32[$zErr>>2] = $116; $117 = HEAP32[$zErr>>2]|0; $118 = HEAP32[$4>>2]|0; @@ -28793,12 +29240,12 @@ function _sqlite3ParserReset($pParse) { HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 120|0); + $7 = ((($6)) + 76|0); $8 = HEAP32[$7>>2]|0; _sqlite3DbFree($5,$8); $9 = HEAP32[$db>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 324|0); + $11 = ((($10)) + 80|0); $12 = HEAP32[$11>>2]|0; _sqlite3ExprListDelete($9,$12); $13 = HEAP32[$db>>2]|0; @@ -28908,7 +29355,7 @@ function _blobReadWrite($pBlob,$z,$n,$iOffset,$xCall) { $7 = HEAP32[$p>>2]|0; $8 = ($7|0)==(0|0); if ($8) { - $9 = (_sqlite3MisuseError(83995)|0); + $9 = (_sqlite3MisuseError(84716)|0); HEAP32[$0>>2] = $9; $69 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($69|0); @@ -28986,7 +29433,7 @@ function _blobReadWrite($pBlob,$z,$n,$iOffset,$xCall) { } else { $60 = HEAP32[$rc>>2]|0; $61 = HEAP32[$v>>2]|0; - $62 = ((($61)) + 80|0); + $62 = ((($61)) + 40|0); HEAP32[$62>>2] = $60; break; } @@ -29027,13 +29474,13 @@ function _sqlite3ExpirePreparedStatements($db) { break; } $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 87|0); - $8 = HEAP8[$7>>0]|0; + $7 = ((($6)) + 144|0); + $8 = HEAP16[$7>>1]|0; $9 = $8 & -2; $10 = $9 | 1; - HEAP8[$7>>0] = $10; + HEAP16[$7>>1] = $10; $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 52|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; HEAP32[$p>>2] = $13; } @@ -29280,27 +29727,27 @@ function _patternCompare($zPattern,$zString,$pInfo,$matchOther) { $216 = HEAP8[$noCase>>0]|0; $217 = $216&255; $218 = ($217|0)!=(0); - $219 = HEAP32[$c>>2]|0; - $220 = ($219>>>0)<(128); - $or$cond3 = $218 & $220; - $221 = HEAP32[$c2>>2]|0; - $222 = ($221>>>0)<(128); - $or$cond5 = $or$cond3 & $222; - if ($or$cond5) { - $223 = HEAP32[$c>>2]|0; + if ($218) { + $219 = HEAP32[$c>>2]|0; + $220 = $219&255; + $221 = $220&255; + $222 = (17613 + ($221)|0); + $223 = HEAP8[$222>>0]|0; $224 = $223&255; - $225 = $224&255; - $226 = (18229 + ($225)|0); - $227 = HEAP8[$226>>0]|0; - $228 = $227&255; - $229 = HEAP32[$c2>>2]|0; + $225 = HEAP32[$c2>>2]|0; + $226 = $225&255; + $227 = $226&255; + $228 = (17613 + ($227)|0); + $229 = HEAP8[$228>>0]|0; $230 = $229&255; - $231 = $230&255; - $232 = (18229 + ($231)|0); - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = ($228|0)==($234|0); - if ($235) { + $231 = ($224|0)==($230|0); + $232 = HEAP32[$c>>2]|0; + $233 = ($232>>>0)<(128); + $or$cond3 = $231 & $233; + $234 = HEAP32[$c2>>2]|0; + $235 = ($234>>>0)<(128); + $or$cond5 = $or$cond3 & $235; + if ($or$cond5) { continue; } } @@ -29466,7 +29913,7 @@ function _patternCompare($zPattern,$zString,$pInfo,$matchOther) { $93 = HEAP32[$c>>2]|0; $94 = $93&255; $95 = $94&255; - $96 = (19019 + ($95)|0); + $96 = (18403 + ($95)|0); $97 = HEAP8[$96>>0]|0; $98 = $97&255; $99 = $98 & 32; @@ -29476,7 +29923,7 @@ function _patternCompare($zPattern,$zString,$pInfo,$matchOther) { $102 = HEAP32[$c>>2]|0; $103 = $102&255; $104 = $103&255; - $105 = (18229 + ($104)|0); + $105 = (17613 + ($104)|0); $106 = HEAP8[$105>>0]|0; $107 = $106&255; HEAP32[$c>>2] = $107; @@ -29610,11 +30057,11 @@ function _sqlite3SafetyCheckOk($db) { $3 = ($2|0)==(0|0); do { if ($3) { - _logBadConnection(40184); + _logBadConnection(39691); HEAP32[$0>>2] = 0; } else { $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 80|0); + $5 = ((($4)) + 84|0); $6 = HEAP32[$5>>2]|0; HEAP32[$magic>>2] = $6; $7 = HEAP32[$magic>>2]|0; @@ -29627,7 +30074,7 @@ function _sqlite3SafetyCheckOk($db) { $10 = (_sqlite3SafetyCheckSickOrOk($9)|0); $11 = ($10|0)!=(0); if ($11) { - _logBadConnection(40189); + _logBadConnection(39696); } HEAP32[$0>>2] = 0; } @@ -29673,7 +30120,7 @@ function _sqlite3LockAndPrepare($db,$zSql,$nBytes,$saveSqlFlag,$pOld,$ppStmt,$pz $13 = ($12|0)==(0|0); $or$cond = $11 | $13; if ($or$cond) { - $14 = (_sqlite3MisuseError(112684)|0); + $14 = (_sqlite3MisuseError(114197)|0); HEAP32[$0>>2] = $14; $37 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($37|0); @@ -29720,7 +30167,7 @@ function _sqlite3SafetyCheckSickOrOk($db) { $magic = sp; HEAP32[$1>>2] = $db; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 80|0); + $3 = ((($2)) + 84|0); $4 = HEAP32[$3>>2]|0; HEAP32[$magic>>2] = $4; $5 = HEAP32[$magic>>2]|0; @@ -29732,7 +30179,7 @@ function _sqlite3SafetyCheckSickOrOk($db) { $10 = ($9|0)!=(-264537850); $or$cond3 = $or$cond & $10; if ($or$cond3) { - _logBadConnection(40031); + _logBadConnection(39538); HEAP32[$0>>2] = 0; $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); @@ -29780,7 +30227,7 @@ function _createModule($db,$zName,$pModule,$pAux,$xDestroy) { $10 = (_sqlite3HashFind($8,$9)|0); $11 = ($10|0)!=(0|0); if ($11) { - $12 = (_sqlite3MisuseError(121109)|0); + $12 = (_sqlite3MisuseError(122590)|0); HEAP32[$rc>>2] = $12; } else { $13 = HEAP32[$0>>2]|0; @@ -29858,23 +30305,22 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { $pParse = $pParse|0; $zSql = $zSql|0; $pzErrMsg = $pzErrMsg|0; - var $$byval_copy8 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $db = 0, $i = 0, $lastTokenParsed = 0, $mxSqlLen = 0, $nErr = 0, $p = 0, $p1 = 0, $pEngine = 0, $tokenType = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $lastTokenParsed = 0; + var $mxSqlLen = 0, $nErr = 0, $p = 0, $p1 = 0, $pEngine = 0, $tokenType = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; - $$byval_copy8 = sp + 72|0; + $$byval_copy = sp + 72|0; $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; @@ -29900,12 +30346,12 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 92|0); + $7 = ((($6)) + 96|0); $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; HEAP32[$mxSqlLen>>2] = $9; $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 152|0); + $11 = ((($10)) + 156|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0); if ($13) { @@ -29918,7 +30364,7 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { HEAP32[$17>>2] = 0; $18 = HEAP32[$2>>2]|0; $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 484|0); + $20 = ((($19)) + 436|0); HEAP32[$20>>2] = $18; HEAP32[$i>>2] = 0; $21 = (_sqlite3ParserAlloc(179)|0); @@ -29929,89 +30375,103 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { $24 = HEAP32[$db>>2]|0; _sqlite3OomFault($24); HEAP32[$0>>2] = 7; - $259 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($259|0); + $235 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($235|0); } - while(1) { + L7: while(1) { $25 = HEAP32[$i>>2]|0; $26 = HEAP32[$2>>2]|0; $27 = (($26) + ($25)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($29|0)!=(0); - if (!($30)) { - break; - } - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = (($32) + ($31)|0); - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 508|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$i>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = (($37) + ($36)|0); - $39 = (_sqlite3GetToken($38,$tokenType)|0); - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 508|0); - $42 = ((($41)) + 4|0); - HEAP32[$42>>2] = $39; - $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 508|0); - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$i>>2]|0; - $48 = (($47) + ($46))|0; - HEAP32[$i>>2] = $48; - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$mxSqlLen>>2]|0; - $51 = ($49|0)>($50|0); - if ($51) { - label = 7; - break; - } - $54 = HEAP32[$tokenType>>2]|0; - $55 = ($54|0)>=(160); - if ($55) { - $56 = HEAP32[$db>>2]|0; - $57 = ((($56)) + 248|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)!=(0); - if ($59) { - label = 10; - break; + do { + if ($30) { + $31 = HEAP32[$i>>2]|0; + $32 = HEAP32[$2>>2]|0; + $33 = (($32) + ($31)|0); + $34 = HEAP32[$1>>2]|0; + $35 = ((($34)) + 392|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$i>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = (($37) + ($36)|0); + $39 = (_sqlite3GetToken($38,$tokenType)|0); + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 392|0); + $42 = ((($41)) + 4|0); + HEAP32[$42>>2] = $39; + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 392|0); + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$i>>2]|0; + $48 = (($47) + ($46))|0; + HEAP32[$i>>2] = $48; + $49 = HEAP32[$i>>2]|0; + $50 = HEAP32[$mxSqlLen>>2]|0; + $51 = ($49|0)>($50|0); + if ($51) { + label = 7; + break L7; + } + } else { + $54 = HEAP32[$lastTokenParsed>>2]|0; + $55 = ($54|0)==(1); + if ($55) { + HEAP32[$tokenType>>2] = 0; + break; + } + $56 = HEAP32[$lastTokenParsed>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + break L7; + } + HEAP32[$tokenType>>2] = 1; } - $62 = HEAP32[$tokenType>>2]|0; - $63 = ($62|0)==(161); + } while(0); + $58 = HEAP32[$tokenType>>2]|0; + $59 = ($58|0)>=(162); + if ($59) { + $60 = HEAP32[$db>>2]|0; + $61 = ((($60)) + 248|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)!=(0); if ($63) { - label = 12; + label = 14; + break; + } + $66 = HEAP32[$tokenType>>2]|0; + $67 = ($66|0)==(163); + if ($67) { + label = 16; break; } else { continue; } } else { - $67 = HEAP32[$pEngine>>2]|0; - $68 = HEAP32[$tokenType>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 508|0); - $71 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$70>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$70+4>>2]|0; - _sqlite3Parser($67,$68,$$byval_copy8,$71); + $71 = HEAP32[$pEngine>>2]|0; $72 = HEAP32[$tokenType>>2]|0; - HEAP32[$lastTokenParsed>>2] = $72; $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)!=(0); - if ($76) { + $74 = ((($73)) + 392|0); + $75 = HEAP32[$1>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$74>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$74+4>>2]|0; + _sqlite3Parser($71,$72,$$byval_copy,$75); + $76 = HEAP32[$tokenType>>2]|0; + HEAP32[$lastTokenParsed>>2] = $76; + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { break; } - $77 = HEAP32[$db>>2]|0; - $78 = ((($77)) + 69|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)!=(0); - if ($81) { + $81 = HEAP32[$db>>2]|0; + $82 = ((($81)) + 69|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = ($84|0)!=(0); + if ($85) { break; } else { continue; @@ -30023,278 +30483,236 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { $53 = ((($52)) + 12|0); HEAP32[$53>>2] = 18; } - else if ((label|0) == 10) { - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 12|0); - HEAP32[$61>>2] = 9; - } - else if ((label|0) == 12) { + else if ((label|0) == 14) { $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 508|0); - HEAP32[$vararg_buffer>>2] = $66; - _sqlite3ErrorMsg($64,27053,$vararg_buffer); + $65 = ((($64)) + 12|0); + HEAP32[$65>>2] = 9; } - $82 = HEAP32[$i>>2]|0; - $83 = HEAP32[$2>>2]|0; - $84 = (($83) + ($82)|0); - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 484|0); - HEAP32[$86>>2] = $84; - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 12|0); - $89 = HEAP32[$88>>2]|0; - $90 = ($89|0)==(0); - if ($90) { - $91 = HEAP32[$db>>2]|0; - $92 = ((($91)) + 69|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = ($94|0)==(0); - if ($95) { - $96 = HEAP32[$lastTokenParsed>>2]|0; - $97 = ($96|0)!=(1); - if ($97) { - $98 = HEAP32[$pEngine>>2]|0; - $99 = HEAP32[$1>>2]|0; - $100 = ((($99)) + 508|0); - $101 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$100>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$100+4>>2]|0; - _sqlite3Parser($98,1,$$byval_copy8,$101); - } - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$db>>2]|0; - $107 = ((($106)) + 69|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = ($109|0)==(0); - if ($110) { - $111 = HEAP32[$pEngine>>2]|0; - $112 = HEAP32[$1>>2]|0; - $113 = ((($112)) + 508|0); - $114 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$113>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$113+4>>2]|0; - _sqlite3Parser($111,0,$$byval_copy8,$114); - } + else if ((label|0) == 16) { + $68 = HEAP32[$1>>2]|0; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 392|0); + HEAP32[$vararg_buffer>>2] = $70; + _sqlite3ErrorMsg($68,26437,$vararg_buffer); + } + $86 = HEAP32[$i>>2]|0; + $87 = HEAP32[$2>>2]|0; + $88 = (($87) + ($86)|0); + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 436|0); + HEAP32[$90>>2] = $88; + $91 = HEAP32[$pEngine>>2]|0; + _sqlite3ParserFree($91,148); + $92 = HEAP32[$db>>2]|0; + $93 = ((($92)) + 69|0); + $94 = HEAP8[$93>>0]|0; + $95 = ($94<<24>>24)!=(0); + if ($95) { + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 12|0); + HEAP32[$97>>2] = 7; + } + $98 = HEAP32[$1>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)!=(0); + if ($101) { + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 12|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)!=(101); + if ($105) { + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==(0|0); + if ($109) { + $110 = HEAP32[$db>>2]|0; + $111 = HEAP32[$1>>2]|0; + $112 = ((($111)) + 12|0); + $113 = HEAP32[$112>>2]|0; + $114 = (_sqlite3ErrStr($113)|0); + HEAP32[$vararg_buffer1>>2] = $114; + $115 = (_sqlite3MPrintf($110,18391,$vararg_buffer1)|0); + $116 = HEAP32[$1>>2]|0; + $117 = ((($116)) + 4|0); + HEAP32[$117>>2] = $115; } } } - $115 = HEAP32[$pEngine>>2]|0; - _sqlite3ParserFree($115,148); - $116 = HEAP32[$db>>2]|0; - $117 = ((($116)) + 69|0); - $118 = HEAP8[$117>>0]|0; - $119 = ($118<<24>>24)!=(0); - if ($119) { - $120 = HEAP32[$1>>2]|0; - $121 = ((($120)) + 12|0); - HEAP32[$121>>2] = 7; - } - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 12|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($124|0)!=(0); - if ($125) { + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)!=(0|0); + if ($121) { + $122 = HEAP32[$1>>2]|0; + $123 = ((($122)) + 4|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$3>>2]|0; + HEAP32[$125>>2] = $124; $126 = HEAP32[$1>>2]|0; $127 = ((($126)) + 12|0); $128 = HEAP32[$127>>2]|0; - $129 = ($128|0)!=(101); - if ($129) { - $130 = HEAP32[$1>>2]|0; - $131 = ((($130)) + 4|0); - $132 = HEAP32[$131>>2]|0; - $133 = ($132|0)==(0|0); - if ($133) { - $134 = HEAP32[$db>>2]|0; - $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 12|0); - $137 = HEAP32[$136>>2]|0; - $138 = (_sqlite3ErrStr($137)|0); - HEAP32[$vararg_buffer1>>2] = $138; - $139 = (_sqlite3MPrintf($134,19007,$vararg_buffer1)|0); - $140 = HEAP32[$1>>2]|0; - $141 = ((($140)) + 4|0); - HEAP32[$141>>2] = $139; - } - } - } - $142 = HEAP32[$1>>2]|0; - $143 = ((($142)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = ($144|0)!=(0|0); - if ($145) { - $146 = HEAP32[$1>>2]|0; - $147 = ((($146)) + 4|0); - $148 = HEAP32[$147>>2]|0; - $149 = HEAP32[$3>>2]|0; - HEAP32[$149>>2] = $148; - $150 = HEAP32[$1>>2]|0; - $151 = ((($150)) + 12|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$3>>2]|0; - $154 = HEAP32[$153>>2]|0; - HEAP32[$vararg_buffer4>>2] = $154; - _sqlite3_log($152,19007,$vararg_buffer4); - $155 = HEAP32[$1>>2]|0; - $156 = ((($155)) + 4|0); - HEAP32[$156>>2] = 0; - $157 = HEAP32[$nErr>>2]|0; - $158 = (($157) + 1)|0; - HEAP32[$nErr>>2] = $158; + $129 = HEAP32[$3>>2]|0; + $130 = HEAP32[$129>>2]|0; + HEAP32[$vararg_buffer4>>2] = $130; + _sqlite3_log($128,18391,$vararg_buffer4); + $131 = HEAP32[$1>>2]|0; + $132 = ((($131)) + 4|0); + HEAP32[$132>>2] = 0; + $133 = HEAP32[$nErr>>2]|0; + $134 = (($133) + 1)|0; + HEAP32[$nErr>>2] = $134; } - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 8|0); - $161 = HEAP32[$160>>2]|0; - $162 = ($161|0)!=(0|0); - if ($162) { - $163 = HEAP32[$1>>2]|0; - $164 = ((($163)) + 68|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)>(0); - if ($166) { - $167 = HEAP32[$1>>2]|0; - $168 = ((($167)) + 18|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = ($170|0)==(0); - if ($171) { - $172 = HEAP32[$1>>2]|0; - $173 = ((($172)) + 8|0); - $174 = HEAP32[$173>>2]|0; - _sqlite3VdbeDelete($174); - $175 = HEAP32[$1>>2]|0; - $176 = ((($175)) + 8|0); - HEAP32[$176>>2] = 0; + $135 = HEAP32[$1>>2]|0; + $136 = ((($135)) + 8|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)!=(0|0); + if ($138) { + $139 = HEAP32[$1>>2]|0; + $140 = ((($139)) + 36|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)>(0); + if ($142) { + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 18|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = ($146|0)==(0); + if ($147) { + $148 = HEAP32[$1>>2]|0; + $149 = ((($148)) + 8|0); + $150 = HEAP32[$149>>2]|0; + _sqlite3VdbeDelete($150); + $151 = HEAP32[$1>>2]|0; + $152 = ((($151)) + 8|0); + HEAP32[$152>>2] = 0; } } } - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 18|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180|0)==(0); - if ($181) { - $182 = HEAP32[$db>>2]|0; - $183 = HEAP32[$1>>2]|0; - $184 = ((($183)) + 408|0); - $185 = HEAP32[$184>>2]|0; - _sqlite3DbFree($182,$185); - $186 = HEAP32[$1>>2]|0; - $187 = ((($186)) + 408|0); - HEAP32[$187>>2] = 0; - $188 = HEAP32[$1>>2]|0; - $189 = ((($188)) + 404|0); - HEAP32[$189>>2] = 0; + $153 = HEAP32[$1>>2]|0; + $154 = ((($153)) + 18|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $157 = ($156|0)==(0); + if ($157) { + $158 = HEAP32[$db>>2]|0; + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 116|0); + $161 = HEAP32[$160>>2]|0; + _sqlite3DbFree($158,$161); + $162 = HEAP32[$1>>2]|0; + $163 = ((($162)) + 116|0); + HEAP32[$163>>2] = 0; + $164 = HEAP32[$1>>2]|0; + $165 = ((($164)) + 112|0); + HEAP32[$165>>2] = 0; } - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 524|0); - $192 = HEAP32[$191>>2]|0; - _sqlite3_free($192); - $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 454|0); - $195 = HEAP8[$194>>0]|0; - $196 = ($195<<24>>24)!=(0); - if (!($196)) { - $197 = HEAP32[$db>>2]|0; - $198 = HEAP32[$1>>2]|0; - $199 = ((($198)) + 488|0); - $200 = HEAP32[$199>>2]|0; - _sqlite3DeleteTable($197,$200); + $166 = HEAP32[$1>>2]|0; + $167 = ((($166)) + 460|0); + $168 = HEAP32[$167>>2]|0; + _sqlite3_free($168); + $169 = HEAP32[$1>>2]|0; + $170 = ((($169)) + 410|0); + $171 = HEAP8[$170>>0]|0; + $172 = ($171<<24>>24)!=(0); + if (!($172)) { + $173 = HEAP32[$db>>2]|0; + $174 = HEAP32[$1>>2]|0; + $175 = ((($174)) + 440|0); + $176 = HEAP32[$175>>2]|0; + _sqlite3DeleteTable($173,$176); } - $201 = HEAP32[$1>>2]|0; - $202 = ((($201)) + 540|0); - $203 = HEAP32[$202>>2]|0; - $204 = ($203|0)!=(0|0); - if ($204) { - $205 = HEAP32[$db>>2]|0; - $206 = HEAP32[$1>>2]|0; - $207 = ((($206)) + 540|0); - $208 = HEAP32[$207>>2]|0; - _sqlite3WithDelete($205,$208); + $177 = HEAP32[$1>>2]|0; + $178 = ((($177)) + 476|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)!=(0|0); + if ($180) { + $181 = HEAP32[$db>>2]|0; + $182 = HEAP32[$1>>2]|0; + $183 = ((($182)) + 476|0); + $184 = HEAP32[$183>>2]|0; + _sqlite3WithDelete($181,$184); } - $209 = HEAP32[$db>>2]|0; - $210 = HEAP32[$1>>2]|0; - $211 = ((($210)) + 492|0); - $212 = HEAP32[$211>>2]|0; - _sqlite3DeleteTrigger($209,$212); - $213 = HEAP32[$1>>2]|0; - $214 = ((($213)) + 448|0); - $215 = HEAP32[$214>>2]|0; - $216 = (($215) - 1)|0; - HEAP32[$i>>2] = $216; + $185 = HEAP32[$db>>2]|0; + $186 = HEAP32[$1>>2]|0; + $187 = ((($186)) + 444|0); + $188 = HEAP32[$187>>2]|0; + _sqlite3DeleteTrigger($185,$188); + $189 = HEAP32[$1>>2]|0; + $190 = ((($189)) + 404|0); + $191 = HEAP32[$190>>2]|0; + $192 = (($191) - 1)|0; + HEAP32[$i>>2] = $192; while(1) { - $217 = HEAP32[$i>>2]|0; - $218 = ($217|0)>=(0); - $219 = HEAP32[$db>>2]|0; - if (!($218)) { + $193 = HEAP32[$i>>2]|0; + $194 = ($193|0)>=(0); + $195 = HEAP32[$db>>2]|0; + if (!($194)) { break; } - $220 = HEAP32[$i>>2]|0; - $221 = HEAP32[$1>>2]|0; - $222 = ((($221)) + 476|0); - $223 = HEAP32[$222>>2]|0; - $224 = (($223) + ($220<<2)|0); - $225 = HEAP32[$224>>2]|0; - _sqlite3DbFree($219,$225); - $226 = HEAP32[$i>>2]|0; - $227 = (($226) + -1)|0; - HEAP32[$i>>2] = $227; + $196 = HEAP32[$i>>2]|0; + $197 = HEAP32[$1>>2]|0; + $198 = ((($197)) + 428|0); + $199 = HEAP32[$198>>2]|0; + $200 = (($199) + ($196<<2)|0); + $201 = HEAP32[$200>>2]|0; + _sqlite3DbFree($195,$201); + $202 = HEAP32[$i>>2]|0; + $203 = (($202) + -1)|0; + HEAP32[$i>>2] = $203; } - $228 = HEAP32[$1>>2]|0; - $229 = ((($228)) + 476|0); - $230 = HEAP32[$229>>2]|0; - _sqlite3DbFree($219,$230); + $204 = HEAP32[$1>>2]|0; + $205 = ((($204)) + 428|0); + $206 = HEAP32[$205>>2]|0; + _sqlite3DbFree($195,$206); while(1) { - $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 412|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)!=(0|0); - if (!($234)) { + $207 = HEAP32[$1>>2]|0; + $208 = ((($207)) + 120|0); + $209 = HEAP32[$208>>2]|0; + $210 = ($209|0)!=(0|0); + if (!($210)) { break; } - $235 = HEAP32[$1>>2]|0; - $236 = ((($235)) + 412|0); - $237 = HEAP32[$236>>2]|0; - HEAP32[$p>>2] = $237; - $238 = HEAP32[$p>>2]|0; - $239 = HEAP32[$238>>2]|0; - $240 = HEAP32[$1>>2]|0; - $241 = ((($240)) + 412|0); - HEAP32[$241>>2] = $239; - $242 = HEAP32[$db>>2]|0; - $243 = HEAP32[$p>>2]|0; - _sqlite3DbFree($242,$243); + $211 = HEAP32[$1>>2]|0; + $212 = ((($211)) + 120|0); + $213 = HEAP32[$212>>2]|0; + HEAP32[$p>>2] = $213; + $214 = HEAP32[$p>>2]|0; + $215 = HEAP32[$214>>2]|0; + $216 = HEAP32[$1>>2]|0; + $217 = ((($216)) + 120|0); + HEAP32[$217>>2] = $215; + $218 = HEAP32[$db>>2]|0; + $219 = HEAP32[$p>>2]|0; + _sqlite3DbFree($218,$219); } while(1) { - $244 = HEAP32[$1>>2]|0; - $245 = ((($244)) + 528|0); - $246 = HEAP32[$245>>2]|0; - $247 = ($246|0)!=(0|0); - if (!($247)) { + $220 = HEAP32[$1>>2]|0; + $221 = ((($220)) + 464|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)!=(0|0); + if (!($223)) { break; } - $248 = HEAP32[$1>>2]|0; - $249 = ((($248)) + 528|0); - $250 = HEAP32[$249>>2]|0; - HEAP32[$p1>>2] = $250; - $251 = HEAP32[$p1>>2]|0; - $252 = ((($251)) + 68|0); - $253 = HEAP32[$252>>2]|0; - $254 = HEAP32[$1>>2]|0; - $255 = ((($254)) + 528|0); - HEAP32[$255>>2] = $253; - $256 = HEAP32[$db>>2]|0; - $257 = HEAP32[$p1>>2]|0; - _sqlite3DeleteTable($256,$257); - } - $258 = HEAP32[$nErr>>2]|0; - HEAP32[$0>>2] = $258; - $259 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($259|0); + $224 = HEAP32[$1>>2]|0; + $225 = ((($224)) + 464|0); + $226 = HEAP32[$225>>2]|0; + HEAP32[$p1>>2] = $226; + $227 = HEAP32[$p1>>2]|0; + $228 = ((($227)) + 68|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP32[$1>>2]|0; + $231 = ((($230)) + 464|0); + HEAP32[$231>>2] = $229; + $232 = HEAP32[$db>>2]|0; + $233 = HEAP32[$p1>>2]|0; + _sqlite3DeleteTable($232,$233); + } + $234 = HEAP32[$nErr>>2]|0; + HEAP32[$0>>2] = $234; + $235 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($235|0); } function _sqlite3ValueNew($db) { $db = $db|0; @@ -30360,7 +30778,7 @@ function _sqlite3MemSetDefault() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 5064; + HEAP32[$vararg_buffer>>2] = 4220; (_sqlite3_config(4,$vararg_buffer)|0); STACKTOP = sp;return; } @@ -30384,7 +30802,7 @@ function _sqlite3PCacheSetDefault() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 5012; + HEAP32[$vararg_buffer>>2] = 4168; (_sqlite3_config(18,$vararg_buffer)|0); STACKTOP = sp;return; } @@ -30610,8 +31028,8 @@ function _setupLookaside($db,$pBuf,$sz,$cnt) { function _sqlite3Close($db,$forceZombie) { $db = $db|0; $forceZombie = $forceZombie|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; @@ -30624,44 +31042,60 @@ function _sqlite3Close($db,$forceZombie) { $4 = ($3|0)!=(0|0); if (!($4)) { HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $33 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($33|0); } $5 = HEAP32[$1>>2]|0; $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); $7 = ($6|0)!=(0); if (!($7)) { - $8 = (_sqlite3MisuseError(136682)|0); + $8 = (_sqlite3MisuseError(138867)|0); HEAP32[$0>>2] = $8; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $33 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($33|0); } $9 = HEAP32[$1>>2]|0; - _disconnectAllVtab($9); - $10 = HEAP32[$1>>2]|0; - (_sqlite3VtabRollback($10)|0); - $11 = HEAP32[$2>>2]|0; - $12 = ($11|0)!=(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - $14 = (_connectionIsBusy($13)|0); - $15 = ($14|0)!=(0); - if ($15) { - $16 = HEAP32[$1>>2]|0; - _sqlite3ErrorWithMsg($16,5,26911,$vararg_buffer); + $10 = ((($9)) + 76|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 & 8; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 184|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 188|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$1>>2]|0; + (FUNCTION_TABLE_iiiii[$17 & 255](8,$20,$21,0)|0); + } + $22 = HEAP32[$1>>2]|0; + _disconnectAllVtab($22); + $23 = HEAP32[$1>>2]|0; + (_sqlite3VtabRollback($23)|0); + $24 = HEAP32[$2>>2]|0; + $25 = ($24|0)!=(0); + if (!($25)) { + $26 = HEAP32[$1>>2]|0; + $27 = (_connectionIsBusy($26)|0); + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$1>>2]|0; + _sqlite3ErrorWithMsg($29,5,26295,$vararg_buffer); HEAP32[$0>>2] = 5; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $33 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($33|0); } } - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 80|0); - HEAP32[$18>>2] = 1691352191; - $19 = HEAP32[$1>>2]|0; - _sqlite3LeaveMutexAndCloseZombie($19); + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 84|0); + HEAP32[$31>>2] = 1691352191; + $32 = HEAP32[$1>>2]|0; + _sqlite3LeaveMutexAndCloseZombie($32); HEAP32[$0>>2] = 0; - $20 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($20|0); + $33 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($33|0); } function _sqliteDefaultBusyCallback($ptr,$count) { $ptr = $ptr|0; @@ -30803,7 +31237,7 @@ function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xSFunc,$xS $43 = ($42|0)==(4); do { if ($43) { - $44 = HEAP8[960>>0]|0; + $44 = HEAP8[968>>0]|0; $45 = $44 << 24 >> 24; $46 = ($45|0)==(0); $47 = $46 ? 3 : 2; @@ -30879,7 +31313,7 @@ function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xSFunc,$xS $96 = ($94|0)==($95|0); if ($96) { $97 = HEAP32[$1>>2]|0; - $98 = ((($97)) + 152|0); + $98 = ((($97)) + 156|0); $99 = HEAP32[$98>>2]|0; $100 = ($99|0)!=(0); $101 = HEAP32[$1>>2]|0; @@ -30887,7 +31321,7 @@ function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xSFunc,$xS _sqlite3ExpirePreparedStatements($101); break; } - _sqlite3ErrorWithMsg($101,5,26848,$vararg_buffer); + _sqlite3ErrorWithMsg($101,5,26232,$vararg_buffer); HEAP32[$0>>2] = 5; $147 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($147|0); @@ -30964,7 +31398,7 @@ function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xSFunc,$xS } } } while(0); - $37 = (_sqlite3MisuseError(137248)|0); + $37 = (_sqlite3MisuseError(139436)|0); HEAP32[$0>>2] = $37; $147 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($147|0); @@ -31058,7 +31492,7 @@ function _sqlite3FindFunction($db,$zName,$nArg,$enc,$createFlag) { $35 = HEAP32[$2>>2]|0; $36 = HEAP8[$35>>0]|0; $37 = $36&255; - $38 = (18229 + ($37)|0); + $38 = (17613 + ($37)|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = HEAP32[$nName>>2]|0; @@ -31212,7 +31646,7 @@ function _sqlite3InvalidFunction($context,$NotUsed,$NotUsed2) { HEAP32[$zName>>2] = $7; $8 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $8; - $9 = (_sqlite3_mprintf(26797,$vararg_buffer)|0); + $9 = (_sqlite3_mprintf(26181,$vararg_buffer)|0); HEAP32[$zErr>>2] = $9; $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$zErr>>2]|0; @@ -31407,7 +31841,7 @@ function _sqlite3OomClear($db) { STACKTOP = sp;return; } $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 164|0); + $7 = ((($6)) + 168|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0); if (!($9)) { @@ -31481,7 +31915,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $13 = $12 & 70; $14 = ($13|0)==(0); if ($14) { - $15 = (_sqlite3MisuseError(138404)|0); + $15 = (_sqlite3MisuseError(140621)|0); HEAP32[$0>>2] = $15; $239 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($239|0); @@ -31561,7 +31995,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $51 = ((($50)) + 20|0); HEAP32[$51>>2] = 2; $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 80|0); + $53 = ((($52)) + 84|0); HEAP32[$53>>2] = -264537850; $54 = HEAP32[$db>>2]|0; $55 = ((($54)) + 392|0); @@ -31569,10 +32003,10 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $57 = ((($56)) + 16|0); HEAP32[$57>>2] = $55; $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 92|0); - dest=$59; src=1568; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $59 = ((($58)) + 96|0); + dest=$59; src=1580; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $60 = HEAP32[$db>>2]|0; - $61 = ((($60)) + 92|0); + $61 = ((($60)) + 96|0); $62 = ((($61)) + 44|0); HEAP32[$62>>2] = 0; $63 = HEAP32[$db>>2]|0; @@ -31596,10 +32030,10 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $78 = $77; HEAP32[$78>>2] = $72; $79 = HEAP32[$db>>2]|0; - $80 = ((($79)) + 76|0); + $80 = ((($79)) + 80|0); HEAP32[$80>>2] = 0; $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 140|0); + $82 = ((($81)) + 144|0); HEAP32[$82>>2] = 2147483647; $83 = HEAP32[$db>>2]|0; $84 = ((($83)) + 24|0); @@ -31613,22 +32047,22 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $90 = ((($89)) + 320|0); _sqlite3HashInit($90); $91 = HEAP32[$db>>2]|0; - (_createCollation($91,35351,1,0,141,0)|0); + (_createCollation($91,34834,1,0,141,0)|0); $92 = HEAP32[$db>>2]|0; - (_createCollation($92,35351,3,0,141,0)|0); + (_createCollation($92,34834,3,0,141,0)|0); $93 = HEAP32[$db>>2]|0; - (_createCollation($93,35351,2,0,141,0)|0); + (_createCollation($93,34834,2,0,141,0)|0); $94 = HEAP32[$db>>2]|0; - (_createCollation($94,21045,1,0,142,0)|0); + (_createCollation($94,20429,1,0,142,0)|0); $95 = HEAP32[$db>>2]|0; - (_createCollation($95,21052,1,(1),141,0)|0); + (_createCollation($95,20436,1,(1),141,0)|0); $96 = HEAP32[$db>>2]|0; $97 = ((($96)) + 69|0); $98 = HEAP8[$97>>0]|0; $99 = ($98<<24>>24)!=(0); if (!($99)) { $100 = HEAP32[$db>>2]|0; - $101 = (_sqlite3FindCollSeq($100,1,35351,0)|0); + $101 = (_sqlite3FindCollSeq($100,1,34834,0)|0); $102 = HEAP32[$db>>2]|0; $103 = ((($102)) + 8|0); HEAP32[$103>>2] = $101; @@ -31654,7 +32088,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $117 = HEAP32[$rc>>2]|0; $118 = HEAP32[$zErrMsg>>2]|0; $119 = ($118|0)!=(0|0); - $120 = $119 ? 19007 : 0; + $120 = $119 ? 18391 : 0; $121 = HEAP32[$zErrMsg>>2]|0; HEAP32[$vararg_buffer>>2] = $121; _sqlite3ErrorWithMsg($116,$117,$120,$vararg_buffer); @@ -31732,7 +32166,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $176 = HEAP32[$db>>2]|0; $177 = ((($176)) + 16|0); $178 = HEAP32[$177>>2]|0; - HEAP32[$178>>2] = 21058; + HEAP32[$178>>2] = 20442; $179 = HEAP32[$db>>2]|0; $180 = ((($179)) + 16|0); $181 = HEAP32[$180>>2]|0; @@ -31742,7 +32176,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $184 = ((($183)) + 16|0); $185 = HEAP32[$184>>2]|0; $186 = ((($185)) + 16|0); - HEAP32[$186>>2] = 19288; + HEAP32[$186>>2] = 18672; $187 = HEAP32[$db>>2]|0; $188 = ((($187)) + 16|0); $189 = HEAP32[$188>>2]|0; @@ -31750,7 +32184,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $191 = ((($190)) + 8|0); HEAP8[$191>>0] = 1; $192 = HEAP32[$db>>2]|0; - $193 = ((($192)) + 80|0); + $193 = ((($192)) + 84|0); HEAP32[$193>>2] = -1607883113; $194 = HEAP32[$db>>2]|0; $195 = ((($194)) + 69|0); @@ -31821,7 +32255,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $231 = ($230|0)!=(0); if ($231) { $232 = HEAP32[$db>>2]|0; - $233 = ((($232)) + 80|0); + $233 = ((($232)) + 84|0); HEAP32[$233>>2] = 1266094736; } } @@ -31879,7 +32313,7 @@ function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { $12 = ($11|0)==(8); $or$cond = $10 | $12; if ($or$cond) { - $13 = HEAP8[960>>0]|0; + $13 = HEAP8[968>>0]|0; $14 = $13 << 24 >> 24; $15 = ($14|0)==(0); $16 = $15 ? 3 : 2; @@ -31891,7 +32325,7 @@ function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { $20 = ($19|0)>(3); $or$cond3 = $18 | $20; if ($or$cond3) { - $21 = (_sqlite3MisuseError(137955)|0); + $21 = (_sqlite3MisuseError(140172)|0); HEAP32[$0>>2] = $21; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -31912,12 +32346,12 @@ function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { $32 = ($31|0)!=(0|0); if ($32) { $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 152|0); + $34 = ((($33)) + 156|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)!=(0); $37 = HEAP32[$1>>2]|0; if ($36) { - _sqlite3ErrorWithMsg($37,5,20977,$vararg_buffer); + _sqlite3ErrorWithMsg($37,5,20361,$vararg_buffer); HEAP32[$0>>2] = 5; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -32051,7 +32485,7 @@ function _sqlite3Init($db,$pzErrMsg) { HEAP32[$commit_internal>>2] = $8; HEAP32[$rc>>2] = 0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 144|0); + $10 = ((($9)) + 148|0); $11 = ((($10)) + 5|0); HEAP8[$11>>0] = 1; $12 = HEAP32[$0>>2]|0; @@ -32140,7 +32574,7 @@ function _sqlite3Init($db,$pzErrMsg) { } } $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 144|0); + $72 = ((($71)) + 148|0); $73 = ((($72)) + 5|0); HEAP8[$73>>0] = 0; $74 = HEAP32[$rc>>2]|0; @@ -32194,8 +32628,10 @@ function _sqlite3FindTable($db,$zName,$zDatabase) { $12 = $9 ? $11 : $10; HEAP32[$j>>2] = $12; $13 = HEAP32[$2>>2]|0; - $14 = ($13|0)!=(0|0); + $14 = ($13|0)==(0|0); if ($14) { + label = 5; + } else { $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$j>>2]|0; $17 = HEAP32[$0>>2]|0; @@ -32204,12 +32640,10 @@ function _sqlite3FindTable($db,$zName,$zDatabase) { $20 = (($19) + ($16<<4)|0); $21 = HEAP32[$20>>2]|0; $22 = (_sqlite3StrICmp($15,$21)|0); - $23 = ($22|0)!=(0); - if (!($23)) { + $23 = ($22|0)==(0); + if ($23) { label = 5; } - } else { - label = 5; } if ((label|0) == 5) { label = 0; @@ -32250,21 +32684,21 @@ function _sqlite3IsRowid($z) { $1 = sp; HEAP32[$1>>2] = $z; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3StrICmp($2,20503)|0); + $3 = (_sqlite3StrICmp($2,19887)|0); $4 = ($3|0)==(0); do { if ($4) { HEAP32[$0>>2] = 1; } else { $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3StrICmp($5,20511)|0); + $6 = (_sqlite3StrICmp($5,19895)|0); $7 = ($6|0)==(0); if ($7) { HEAP32[$0>>2] = 1; break; } $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3StrICmp($8,20517)|0); + $9 = (_sqlite3StrICmp($8,19901)|0); $10 = ($9|0)==(0); if ($10) { HEAP32[$0>>2] = 1; @@ -32624,21 +33058,21 @@ function _sqlite3ScratchMalloc($n) { HEAP32[$0>>2] = $n; $1 = HEAP32[$0>>2]|0; _sqlite3StatusHighwater(8,$1); - $2 = HEAP32[(304)>>2]|0; + $2 = HEAP32[(312)>>2]|0; $3 = ($2|0)!=(0); if ($3) { $4 = HEAP32[(204)>>2]|0; $5 = HEAP32[$0>>2]|0; $6 = ($4|0)>=($5|0); if ($6) { - $7 = HEAP32[(300)>>2]|0; + $7 = HEAP32[(308)>>2]|0; HEAP32[$p>>2] = $7; - $8 = HEAP32[(300)>>2]|0; + $8 = HEAP32[(308)>>2]|0; $9 = HEAP32[$8>>2]|0; - HEAP32[(300)>>2] = $9; - $10 = HEAP32[(304)>>2]|0; + HEAP32[(308)>>2] = $9; + $10 = HEAP32[(312)>>2]|0; $11 = (($10) + -1)|0; - HEAP32[(304)>>2] = $11; + HEAP32[(312)>>2] = $11; _sqlite3StatusUp(3,1); $22 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($22|0); @@ -32687,20 +33121,20 @@ function _sqlite3ScratchFree($p) { if ($7) { $8 = HEAP32[$0>>2]|0; $9 = $8; - $10 = HEAP32[(296)>>2]|0; + $10 = HEAP32[(304)>>2]|0; $11 = $10; $12 = ($9>>>0)<($11>>>0); if ($12) { $13 = HEAP32[$0>>2]|0; HEAP32[$pSlot>>2] = $13; - $14 = HEAP32[(300)>>2]|0; + $14 = HEAP32[(308)>>2]|0; $15 = HEAP32[$pSlot>>2]|0; HEAP32[$15>>2] = $14; $16 = HEAP32[$pSlot>>2]|0; - HEAP32[(300)>>2] = $16; - $17 = HEAP32[(304)>>2]|0; + HEAP32[(308)>>2] = $16; + $17 = HEAP32[(312)>>2]|0; $18 = (($17) + 1)|0; - HEAP32[(304)>>2] = $18; + HEAP32[(312)>>2] = $18; _sqlite3StatusDown(3,1); STACKTOP = sp;return; } @@ -32813,7 +33247,7 @@ function _sqlite3DecOrHexToI64($z,$pOut) { $31 = (($30) + ($29)|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; - $34 = (19019 + ($33)|0); + $34 = (18403 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = $36 & 8; @@ -32931,7 +33365,7 @@ function _sqlite3PagerFilename($pPager,$nullIfMemDb) { $7 = $6&255; $8 = ($7|0)!=(0); if ($8) { - $12 = 19018; + $12 = 18402; STACKTOP = sp;return ($12|0); } } @@ -33065,7 +33499,7 @@ function _sqlite3Atoi64($zNum,$pNum,$length,$enc) { $45 = HEAP32[$1>>2]|0; $46 = HEAP8[$45>>0]|0; $47 = $46&255; - $48 = (19019 + ($47)|0); + $48 = (18403 + ($47)|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 & 1; @@ -33311,7 +33745,7 @@ function _compare2pow63($zNum,$incr) { HEAP32[$0>>2] = $zNum; HEAP32[$1>>2] = $incr; HEAP32[$c>>2] = 0; - HEAP32[$pow63>>2] = 19383; + HEAP32[$pow63>>2] = 18767; HEAP32[$i>>2] = 0; while(1) { $2 = HEAP32[$c>>2]|0; @@ -33379,7 +33813,7 @@ function _getSafetyLevel($z,$omitFull,$dflt) { $4 = HEAP32[$1>>2]|0; $5 = HEAP8[$4>>0]|0; $6 = $5&255; - $7 = (19019 + ($6)|0); + $7 = (18403 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = $9 & 4; @@ -33403,17 +33837,17 @@ function _getSafetyLevel($z,$omitFull,$dflt) { break; } $18 = HEAP32[$i>>2]|0; - $19 = (19402 + ($18)|0); + $19 = (18786 + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = HEAP32[$n>>2]|0; $23 = ($21|0)==($22|0); if ($23) { $24 = HEAP32[$i>>2]|0; - $25 = (19410 + ($24)|0); + $25 = (18794 + ($24)|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; - $28 = (19418 + ($27)|0); + $28 = (18802 + ($27)|0); $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$n>>2]|0; $31 = (_sqlite3_strnicmp($28,$29,$30)|0); @@ -33426,7 +33860,7 @@ function _getSafetyLevel($z,$omitFull,$dflt) { break; } $35 = HEAP32[$i>>2]|0; - $36 = (19443 + ($35)|0); + $36 = (18827 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = ($38|0)<=(1); @@ -33442,7 +33876,7 @@ function _getSafetyLevel($z,$omitFull,$dflt) { } if ((label|0) == 9) { $40 = HEAP32[$i>>2]|0; - $41 = (19443 + ($40)|0); + $41 = (18827 + ($40)|0); $42 = HEAP8[$41>>0]|0; HEAP8[$0>>0] = $42; $46 = HEAP8[$0>>0]|0; @@ -33549,7 +33983,7 @@ function _sqlite3GetInt32($zNum,$pValue) { $33 = ((($32)) + 2|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; - $36 = (19019 + ($35)|0); + $36 = (18403 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 & 8; @@ -33578,7 +34012,7 @@ function _sqlite3GetInt32($zNum,$pValue) { $51 = (($50) + ($49)|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; - $54 = (19019 + ($53)|0); + $54 = (18403 + ($53)|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; $57 = $56 & 8; @@ -33612,7 +34046,7 @@ function _sqlite3GetInt32($zNum,$pValue) { $78 = (($77) + ($76)|0); $79 = HEAP8[$78>>0]|0; $80 = $79&255; - $81 = (19019 + ($80)|0); + $81 = (18403 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 & 8; @@ -33761,7 +34195,7 @@ function _sqlite3StatusHighwater($op,$X) { HEAP32[$newValue>>2] = $2; $3 = HEAP32[$newValue>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = ((1036) + ($4<<2)|0); + $5 = ((1048) + ($4<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ($3>>>0)>($6>>>0); if (!($7)) { @@ -33769,7 +34203,7 @@ function _sqlite3StatusHighwater($op,$X) { } $8 = HEAP32[$newValue>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = ((1036) + ($9<<2)|0); + $10 = ((1048) + ($9<<2)|0); HEAP32[$10>>2] = $8; STACKTOP = sp;return; } @@ -33786,25 +34220,25 @@ function _sqlite3StatusUp($op,$N) { HEAP32[$1>>2] = $N; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = (996 + ($3<<2)|0); + $4 = (1008 + ($3<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + ($2))|0; HEAP32[$4>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = (996 + ($7<<2)|0); + $8 = (1008 + ($7<<2)|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = ((1036) + ($10<<2)|0); + $11 = ((1048) + ($10<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ($9>>>0)>($12>>>0); if (!($13)) { STACKTOP = sp;return; } $14 = HEAP32[$0>>2]|0; - $15 = (996 + ($14<<2)|0); + $15 = (1008 + ($14<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$0>>2]|0; - $18 = ((1036) + ($17<<2)|0); + $18 = ((1048) + ($17<<2)|0); HEAP32[$18>>2] = $16; STACKTOP = sp;return; } @@ -33836,7 +34270,7 @@ function _keywordCode($z,$n,$pType) { $5 = HEAP32[$0>>2]|0; $6 = HEAP8[$5>>0]|0; $7 = $6&255; - $8 = (18229 + ($7)|0); + $8 = (17613 + ($7)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $10<<2; @@ -33846,7 +34280,7 @@ function _keywordCode($z,$n,$pType) { $15 = (($14) + ($13)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; - $18 = (18229 + ($17)|0); + $18 = (17613 + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20*3)|0; @@ -33856,7 +34290,7 @@ function _keywordCode($z,$n,$pType) { $25 = (($24|0) % 127)&-1; HEAP32[$i>>2] = $25; $26 = HEAP32[$i>>2]|0; - $27 = (19451 + ($26)|0); + $27 = (18835 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (($29) - 1)|0; @@ -33869,7 +34303,7 @@ function _keywordCode($z,$n,$pType) { break; } $33 = HEAP32[$i>>2]|0; - $34 = (19578 + ($33)|0); + $34 = (18962 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = HEAP32[$1>>2]|0; @@ -33877,10 +34311,10 @@ function _keywordCode($z,$n,$pType) { if (!($38)) { HEAP32[$j>>2] = 0; $39 = HEAP32[$i>>2]|0; - $40 = (10356 + ($39<<1)|0); + $40 = (9524 + ($39<<1)|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; - $43 = (19702 + ($42)|0); + $43 = (19086 + ($42)|0); HEAP32[$zKW>>2] = $43; while(1) { $44 = HEAP32[$j>>2]|0; @@ -33917,7 +34351,7 @@ function _keywordCode($z,$n,$pType) { } } $68 = HEAP32[$i>>2]|0; - $69 = (20379 + ($68)|0); + $69 = (19763 + ($68)|0); $70 = HEAP8[$69>>0]|0; $71 = $70&255; $72 = (($71) - 1)|0; @@ -33928,7 +34362,7 @@ function _keywordCode($z,$n,$pType) { STACKTOP = sp;return ($73|0); } $63 = HEAP32[$i>>2]|0; - $64 = (20255 + ($63)|0); + $64 = (19639 + ($63)|0); $65 = HEAP8[$64>>0]|0; $66 = $65&255; $67 = HEAP32[$2>>2]|0; @@ -34313,32 +34747,32 @@ function _pcache1Free($p) { } $3 = HEAP32[$0>>2]|0; $4 = $3; - $5 = HEAP32[(1692)>>2]|0; + $5 = HEAP32[(1704)>>2]|0; $6 = $5; $7 = ($4>>>0)>=($6>>>0); if ($7) { $8 = HEAP32[$0>>2]|0; $9 = $8; - $10 = HEAP32[(1696)>>2]|0; + $10 = HEAP32[(1708)>>2]|0; $11 = $10; $12 = ($9>>>0)<($11>>>0); if ($12) { _sqlite3StatusDown(1,1); $13 = HEAP32[$0>>2]|0; HEAP32[$pSlot>>2] = $13; - $14 = HEAP32[(1704)>>2]|0; + $14 = HEAP32[(1716)>>2]|0; $15 = HEAP32[$pSlot>>2]|0; HEAP32[$15>>2] = $14; $16 = HEAP32[$pSlot>>2]|0; - HEAP32[(1704)>>2] = $16; - $17 = HEAP32[(1708)>>2]|0; + HEAP32[(1716)>>2] = $16; + $17 = HEAP32[(1720)>>2]|0; $18 = (($17) + 1)|0; - HEAP32[(1708)>>2] = $18; - $19 = HEAP32[(1708)>>2]|0; - $20 = HEAP32[(1688)>>2]|0; + HEAP32[(1720)>>2] = $18; + $19 = HEAP32[(1720)>>2]|0; + $20 = HEAP32[(1700)>>2]|0; $21 = ($19|0)<($20|0); $22 = $21&1; - HEAP32[(1712)>>2] = $22; + HEAP32[(1724)>>2] = $22; STACKTOP = sp;return; } } @@ -34747,25 +35181,25 @@ function _pcache1Alloc($nByte) { HEAP32[$0>>2] = $nByte; HEAP32[$p>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[(1680)>>2]|0; + $2 = HEAP32[(1692)>>2]|0; $3 = ($1|0)<=($2|0); if ($3) { - $4 = HEAP32[(1704)>>2]|0; + $4 = HEAP32[(1716)>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; $6 = ($5|0)!=(0|0); if ($6) { - $7 = HEAP32[(1704)>>2]|0; + $7 = HEAP32[(1716)>>2]|0; $8 = HEAP32[$7>>2]|0; - HEAP32[(1704)>>2] = $8; - $9 = HEAP32[(1708)>>2]|0; + HEAP32[(1716)>>2] = $8; + $9 = HEAP32[(1720)>>2]|0; $10 = (($9) + -1)|0; - HEAP32[(1708)>>2] = $10; - $11 = HEAP32[(1708)>>2]|0; - $12 = HEAP32[(1688)>>2]|0; + HEAP32[(1720)>>2] = $10; + $11 = HEAP32[(1720)>>2]|0; + $12 = HEAP32[(1700)>>2]|0; $13 = ($11|0)<($12|0); $14 = $13&1; - HEAP32[(1712)>>2] = $14; + HEAP32[(1724)>>2] = $14; $15 = HEAP32[$0>>2]|0; _sqlite3StatusHighwater(7,$15); _sqlite3StatusUp(1,1); @@ -35605,22 +36039,23 @@ function _strHash($z) { HEAP8[$c>>0] = $3; $4 = $3&255; $5 = ($4|0)!=(0); - $6 = HEAP32[$h>>2]|0; if (!($5)) { break; } - $7 = $6 << 3; - $8 = HEAP32[$h>>2]|0; - $9 = $7 ^ $8; - $10 = HEAP8[$c>>0]|0; - $11 = $10&255; - $12 = (18229 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = $9 ^ $14; - HEAP32[$h>>2] = $15; + $6 = HEAP8[$c>>0]|0; + $7 = $6&255; + $8 = (17613 + ($7)|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = HEAP32[$h>>2]|0; + $12 = (($11) + ($10))|0; + HEAP32[$h>>2] = $12; + $13 = HEAP32[$h>>2]|0; + $14 = Math_imul($13, -1640531535)|0; + HEAP32[$h>>2] = $14; } - STACKTOP = sp;return ($6|0); + $15 = HEAP32[$h>>2]|0; + STACKTOP = sp;return ($15|0); } function _sqlite3InitOne($db,$iDb,$pzErrMsg) { $db = $db|0; @@ -35665,13 +36100,13 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP32[$openedTransaction>>2] = 0; $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(1); - $6 = $5 ? 20521 : 20540; + $6 = $5 ? 19905 : 19924; HEAP32[$zMasterName>>2] = $6; HEAP32[$azArg>>2] = $6; $7 = ((($azArg)) + 4|0); - HEAP32[$7>>2] = 20554; + HEAP32[$7>>2] = 19938; $8 = ((($azArg)) + 8|0); - HEAP32[$8>>2] = 20556; + HEAP32[$8>>2] = 19940; $9 = ((($azArg)) + 12|0); HEAP32[$9>>2] = 0; $10 = HEAP32[$1>>2]|0; @@ -35818,7 +36253,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { if ($97) { $98 = HEAP32[$3>>2]|0; $99 = HEAP32[$1>>2]|0; - _sqlite3SetString($98,$99,20632); + _sqlite3SetString($98,$99,20016); HEAP32[$rc>>2] = 1; break L16; } @@ -35908,7 +36343,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { if ($166) { $167 = HEAP32[$3>>2]|0; $168 = HEAP32[$1>>2]|0; - _sqlite3SetString($167,$168,20700); + _sqlite3SetString($167,$168,20084); HEAP32[$rc>>2] = 1; break; } @@ -35937,7 +36372,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP32[$vararg_buffer>>2] = $184; $vararg_ptr3 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr3>>2] = $185; - $186 = (_sqlite3MPrintf($178,20724,$vararg_buffer)|0); + $186 = (_sqlite3MPrintf($178,20108,$vararg_buffer)|0); HEAP32[$zSql>>2] = $186; $187 = HEAP32[$1>>2]|0; $188 = ((($187)) + 296|0); @@ -36252,12 +36687,13 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $argv = $argv|0; $NotUsed = $NotUsed|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $pData = 0, $pIndex = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $pData = 0, $pIndex = 0; + var $pStmt = 0, $rc = 0, $saved_iDb = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 40|0; @@ -36269,6 +36705,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $db = sp + 16|0; $iDb = sp + 12|0; $rc = sp + 8|0; + $saved_iDb = sp + 44|0; $pStmt = sp + 4|0; $pIndex = sp; HEAP32[$1>>2] = $pInit; @@ -36307,15 +36744,15 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $29 = HEAP32[$28>>2]|0; _corruptSchema($27,$29,0); HEAP32[$0>>2] = 1; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); + $135 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($135|0); } $30 = HEAP32[$3>>2]|0; $31 = ($30|0)==(0|0); if ($31) { HEAP32[$0>>2] = 0; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); + $135 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($135|0); } $32 = HEAP32[$3>>2]|0; $33 = ((($32)) + 4|0); @@ -36331,144 +36768,150 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $39 = HEAP32[$3>>2]|0; $40 = ((($39)) + 8|0); $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3_strnicmp($41,20866,7)|0); + $42 = (_sqlite3_strnicmp($41,20250,7)|0); $43 = ($42|0)==(0); if (!($43)) { - $92 = HEAP32[$3>>2]|0; - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); + $97 = HEAP32[$3>>2]|0; + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); do { - if (!($94)) { - $95 = HEAP32[$3>>2]|0; - $96 = ((($95)) + 8|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)!=(0|0); - if ($98) { - $99 = HEAP32[$3>>2]|0; - $100 = ((($99)) + 8|0); - $101 = HEAP32[$100>>2]|0; - $102 = HEAP8[$101>>0]|0; - $103 = $102 << 24 >> 24; - $104 = ($103|0)!=(0); - if ($104) { + if (!($99)) { + $100 = HEAP32[$3>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)!=(0|0); + if ($103) { + $104 = HEAP32[$3>>2]|0; + $105 = ((($104)) + 8|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP8[$106>>0]|0; + $108 = $107 << 24 >> 24; + $109 = ($108|0)!=(0); + if ($109) { break; } } - $108 = HEAP32[$db>>2]|0; - $109 = HEAP32[$3>>2]|0; - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$iDb>>2]|0; - $112 = HEAP32[$db>>2]|0; - $113 = ((($112)) + 16|0); - $114 = HEAP32[$113>>2]|0; - $115 = (($114) + ($111<<4)|0); - $116 = HEAP32[$115>>2]|0; - $117 = (_sqlite3FindIndex($108,$110,$116)|0); - HEAP32[$pIndex>>2] = $117; - $118 = HEAP32[$pIndex>>2]|0; - $119 = ($118|0)==(0|0); - if ($119) { + $113 = HEAP32[$db>>2]|0; + $114 = HEAP32[$3>>2]|0; + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$iDb>>2]|0; + $117 = HEAP32[$db>>2]|0; + $118 = ((($117)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = (($119) + ($116<<4)|0); + $121 = HEAP32[$120>>2]|0; + $122 = (_sqlite3FindIndex($113,$115,$121)|0); + HEAP32[$pIndex>>2] = $122; + $123 = HEAP32[$pIndex>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { break L9; } - $120 = HEAP32[$3>>2]|0; - $121 = ((($120)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = HEAP32[$pIndex>>2]|0; - $124 = ((($123)) + 44|0); - $125 = (_sqlite3GetInt32($122,$124)|0); - $126 = ($125|0)==(0); - if (!($126)) { + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$pIndex>>2]|0; + $129 = ((($128)) + 44|0); + $130 = (_sqlite3GetInt32($127,$129)|0); + $131 = ($130|0)==(0); + if (!($131)) { break L9; } - $127 = HEAP32[$pData>>2]|0; - $128 = HEAP32[$3>>2]|0; - $129 = HEAP32[$128>>2]|0; - _corruptSchema($127,$129,20874); + $132 = HEAP32[$pData>>2]|0; + $133 = HEAP32[$3>>2]|0; + $134 = HEAP32[$133>>2]|0; + _corruptSchema($132,$134,20258); break L9; } } while(0); - $105 = HEAP32[$pData>>2]|0; - $106 = HEAP32[$3>>2]|0; - $107 = HEAP32[$106>>2]|0; - _corruptSchema($105,$107,0); + $110 = HEAP32[$pData>>2]|0; + $111 = HEAP32[$3>>2]|0; + $112 = HEAP32[$111>>2]|0; + _corruptSchema($110,$112,0); break; } - $44 = HEAP32[$iDb>>2]|0; - $45 = $44&255; - $46 = HEAP32[$db>>2]|0; - $47 = ((($46)) + 144|0); - $48 = ((($47)) + 4|0); - HEAP8[$48>>0] = $45; - $49 = HEAP32[$3>>2]|0; - $50 = ((($49)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = (_sqlite3Atoi($51)|0); - $53 = HEAP32[$db>>2]|0; - $54 = ((($53)) + 144|0); - HEAP32[$54>>2] = $52; - $55 = HEAP32[$db>>2]|0; - $56 = ((($55)) + 144|0); - $57 = ((($56)) + 6|0); - HEAP8[$57>>0] = 0; - $58 = HEAP32[$db>>2]|0; - $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 8|0); - $61 = HEAP32[$60>>2]|0; - (_sqlite3_prepare($58,$61,-1,$pStmt,0)|0); + $44 = HEAP32[$db>>2]|0; + $45 = ((($44)) + 148|0); + $46 = ((($45)) + 4|0); + $47 = HEAP8[$46>>0]|0; + HEAP8[$saved_iDb>>0] = $47; + $48 = HEAP32[$iDb>>2]|0; + $49 = $48&255; + $50 = HEAP32[$db>>2]|0; + $51 = ((($50)) + 148|0); + $52 = ((($51)) + 4|0); + HEAP8[$52>>0] = $49; + $53 = HEAP32[$3>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_sqlite3Atoi($55)|0); + $57 = HEAP32[$db>>2]|0; + $58 = ((($57)) + 148|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$db>>2]|0; + $60 = ((($59)) + 148|0); + $61 = ((($60)) + 6|0); + HEAP8[$61>>0] = 0; $62 = HEAP32[$db>>2]|0; - $63 = ((($62)) + 52|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$db>>2]|0; - $66 = ((($65)) + 144|0); - $67 = ((($66)) + 4|0); - HEAP8[$67>>0] = 0; - $68 = HEAP32[$rc>>2]|0; - $69 = (0)!=($68|0); + $63 = HEAP32[$3>>2]|0; + $64 = ((($63)) + 8|0); + $65 = HEAP32[$64>>2]|0; + (_sqlite3_prepare($62,$65,-1,$pStmt,0)|0); + $66 = HEAP32[$db>>2]|0; + $67 = ((($66)) + 52|0); + $68 = HEAP32[$67>>2]|0; + HEAP32[$rc>>2] = $68; + $69 = HEAP8[$saved_iDb>>0]|0; + $70 = HEAP32[$db>>2]|0; + $71 = ((($70)) + 148|0); + $72 = ((($71)) + 4|0); + HEAP8[$72>>0] = $69; + $73 = HEAP32[$rc>>2]|0; + $74 = (0)!=($73|0); do { - if ($69) { - $70 = HEAP32[$db>>2]|0; - $71 = ((($70)) + 144|0); - $72 = ((($71)) + 6|0); - $73 = HEAP8[$72>>0]|0; - $74 = ($73<<24>>24)!=(0); - if (!($74)) { - $75 = HEAP32[$rc>>2]|0; - $76 = HEAP32[$pData>>2]|0; - $77 = ((($76)) + 12|0); - HEAP32[$77>>2] = $75; - $78 = HEAP32[$rc>>2]|0; - $79 = ($78|0)==(7); - if ($79) { - $80 = HEAP32[$db>>2]|0; - _sqlite3OomFault($80); + if ($74) { + $75 = HEAP32[$db>>2]|0; + $76 = ((($75)) + 148|0); + $77 = ((($76)) + 6|0); + $78 = HEAP8[$77>>0]|0; + $79 = ($78<<24>>24)!=(0); + if (!($79)) { + $80 = HEAP32[$rc>>2]|0; + $81 = HEAP32[$pData>>2]|0; + $82 = ((($81)) + 12|0); + HEAP32[$82>>2] = $80; + $83 = HEAP32[$rc>>2]|0; + $84 = ($83|0)==(7); + if ($84) { + $85 = HEAP32[$db>>2]|0; + _sqlite3OomFault($85); break; } - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)!=(9); - if ($82) { - $83 = HEAP32[$rc>>2]|0; - $84 = $83 & 255; - $85 = ($84|0)!=(6); - if ($85) { - $86 = HEAP32[$pData>>2]|0; - $87 = HEAP32[$3>>2]|0; - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$db>>2]|0; - $90 = (_sqlite3_errmsg($89)|0); - _corruptSchema($86,$88,$90); + $86 = HEAP32[$rc>>2]|0; + $87 = ($86|0)!=(9); + if ($87) { + $88 = HEAP32[$rc>>2]|0; + $89 = $88 & 255; + $90 = ($89|0)!=(6); + if ($90) { + $91 = HEAP32[$pData>>2]|0; + $92 = HEAP32[$3>>2]|0; + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$db>>2]|0; + $95 = (_sqlite3_errmsg($94)|0); + _corruptSchema($91,$93,$95); } } } } } while(0); - $91 = HEAP32[$pStmt>>2]|0; - (_sqlite3_finalize($91)|0); + $96 = HEAP32[$pStmt>>2]|0; + (_sqlite3_finalize($96)|0); } } while(0); HEAP32[$0>>2] = 0; - $130 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($130|0); + $135 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($135|0); } function _sqlite3SetString($pz,$db,$zNew) { $pz = $pz|0; @@ -36611,7 +37054,7 @@ function _sqlite3AnalysisLoad($db,$iDb) { $30 = HEAP32[$0>>2]|0; $31 = ((($sInfo)) + 4|0); $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3FindTable($30,20779,$32)|0); + $33 = (_sqlite3FindTable($30,20163,$32)|0); $34 = ($33|0)!=(0|0); do { if ($34) { @@ -36619,7 +37062,7 @@ function _sqlite3AnalysisLoad($db,$iDb) { $36 = ((($sInfo)) + 4|0); $37 = HEAP32[$36>>2]|0; HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3MPrintf($35,20792,$vararg_buffer)|0); + $38 = (_sqlite3MPrintf($35,20176,$vararg_buffer)|0); HEAP32[$zSql>>2] = $38; $39 = HEAP32[$zSql>>2]|0; $40 = ($39|0)==(0|0); @@ -36872,7 +37315,8 @@ function _sqlite3DefaultRowEst($pIdx) { $pIdx = $pIdx|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $aVal = 0, $i = 0, $nCopy = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; + var $8 = 0, $9 = 0, $a = 0, $aVal = 0, $i = 0, $nCopy = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 12|0; @@ -36881,7 +37325,7 @@ function _sqlite3DefaultRowEst($pIdx) { $nCopy = sp + 4|0; $i = sp; HEAP32[$0>>2] = $pIdx; - ;HEAP16[$aVal>>1]=HEAP16[10604>>1]|0;HEAP16[$aVal+2>>1]=HEAP16[10604+2>>1]|0;HEAP16[$aVal+4>>1]=HEAP16[10604+4>>1]|0;HEAP16[$aVal+6>>1]=HEAP16[10604+6>>1]|0;HEAP16[$aVal+8>>1]=HEAP16[10604+8>>1]|0; + ;HEAP16[$aVal>>1]=HEAP16[9772>>1]|0;HEAP16[$aVal+2>>1]=HEAP16[9772+2>>1]|0;HEAP16[$aVal+4>>1]=HEAP16[9772+4>>1]|0;HEAP16[$aVal+6>>1]=HEAP16[9772+6>>1]|0;HEAP16[$aVal+8>>1]=HEAP16[9772+8>>1]|0; $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; @@ -36908,55 +37352,67 @@ function _sqlite3DefaultRowEst($pIdx) { $18 = HEAP16[$17>>1]|0; $19 = HEAP32[$a>>2]|0; HEAP16[$19>>1] = $18; - $20 = HEAP32[$a>>2]|0; - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($22|0)<(33); + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 36|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)!=(0|0); if ($23) { $24 = HEAP32[$a>>2]|0; - HEAP16[$24>>1] = 33; - } - $25 = HEAP32[$a>>2]|0; - $26 = ((($25)) + 2|0); - $27 = HEAP32[$nCopy>>2]|0; - $28 = $27<<1; - _memcpy(($26|0),($aVal|0),($28|0))|0; - $29 = HEAP32[$nCopy>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[$i>>2] = $30; + $25 = HEAP16[$24>>1]|0; + $26 = $25 << 16 >> 16; + $27 = (($26) - 10)|0; + $28 = $27&65535; + HEAP16[$24>>1] = $28; + } + $29 = HEAP32[$a>>2]|0; + $30 = HEAP16[$29>>1]|0; + $31 = $30 << 16 >> 16; + $32 = ($31|0)<(33); + if ($32) { + $33 = HEAP32[$a>>2]|0; + HEAP16[$33>>1] = 33; + } + $34 = HEAP32[$a>>2]|0; + $35 = ((($34)) + 2|0); + $36 = HEAP32[$nCopy>>2]|0; + $37 = $36<<1; + _memcpy(($35|0),($aVal|0),($37|0))|0; + $38 = HEAP32[$nCopy>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$i>>2] = $39; while(1) { - $31 = HEAP32[$i>>2]|0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 50|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - $36 = ($31|0)<=($35|0); - if (!($36)) { + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 50|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43&65535; + $45 = ($40|0)<=($44|0); + if (!($45)) { break; } - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$a>>2]|0; - $39 = (($38) + ($37<<1)|0); - HEAP16[$39>>1] = 23; - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$i>>2] = $41; + $46 = HEAP32[$i>>2]|0; + $47 = HEAP32[$a>>2]|0; + $48 = (($47) + ($46<<1)|0); + HEAP16[$48>>1] = 23; + $49 = HEAP32[$i>>2]|0; + $50 = (($49) + 1)|0; + HEAP32[$i>>2] = $50; } - $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 54|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = ($45|0)!=(0); - if (!($46)) { + $51 = HEAP32[$0>>2]|0; + $52 = ((($51)) + 54|0); + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = ($54|0)!=(0); + if (!($55)) { STACKTOP = sp;return; } - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 50|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = HEAP32[$a>>2]|0; - $52 = (($51) + ($50<<1)|0); - HEAP16[$52>>1] = 0; + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 50|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = HEAP32[$a>>2]|0; + $61 = (($60) + ($59<<1)|0); + HEAP16[$61>>1] = 0; STACKTOP = sp;return; } function _sqlite3PrimaryKeyIndex($pTab) { @@ -37191,7 +37647,7 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { break; } $51 = HEAP32[$z>>2]|0; - $52 = (_sqlite3_strglob(20833,$51)|0); + $52 = (_sqlite3_strglob(20217,$51)|0); $53 = ($52|0)==(0); do { if ($53) { @@ -37203,7 +37659,7 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { HEAP8[$55>>0] = $58; } else { $59 = HEAP32[$z>>2]|0; - $60 = (_sqlite3_strglob(20844,$59)|0); + $60 = (_sqlite3_strglob(20228,$59)|0); $61 = ($60|0)==(0); $62 = HEAP32[$z>>2]|0; if ($61) { @@ -37217,7 +37673,7 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { HEAP16[$69>>1] = $67; break; } - $70 = (_sqlite3_strglob(20854,$62)|0); + $70 = (_sqlite3_strglob(20238,$62)|0); $71 = ($70|0)==(0); if ($71) { $72 = HEAP32[$4>>2]|0; @@ -37430,7 +37886,7 @@ function _sqlite3LogEst($0,$1) { $115 = $114; $116 = HEAP32[$115>>2]|0; $117 = $113 & 7; - $118 = (10614 + ($117<<1)|0); + $118 = (9782 + ($117<<1)|0); $119 = HEAP16[$118>>1]|0; $120 = $119 << 16 >> 16; $121 = HEAP16[$y>>1]|0; @@ -37518,12 +37974,12 @@ function _corruptSchema($pData,$zObj,$zExtra) { $14 = HEAP32[$1>>2]|0; $15 = ($14|0)==(0|0); if ($15) { - HEAP32[$1>>2] = 20891; + HEAP32[$1>>2] = 20275; } $16 = HEAP32[$db>>2]|0; $17 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $17; - $18 = (_sqlite3MPrintf($16,20893,$vararg_buffer)|0); + $18 = (_sqlite3MPrintf($16,20277,$vararg_buffer)|0); HEAP32[$z>>2] = $18; $19 = HEAP32[$2>>2]|0; $20 = ($19|0)!=(0|0); @@ -37534,7 +37990,7 @@ function _corruptSchema($pData,$zObj,$zExtra) { HEAP32[$vararg_buffer1>>2] = $22; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $23; - $24 = (_sqlite3MPrintf($21,20924,$vararg_buffer1)|0); + $24 = (_sqlite3MPrintf($21,20308,$vararg_buffer1)|0); HEAP32[$z>>2] = $24; } $25 = HEAP32[$db>>2]|0; @@ -37562,7 +38018,7 @@ function _corruptSchema($pData,$zObj,$zExtra) { HEAP32[$41>>2] = $42; STACKTOP = sp;return; } - $39 = (_sqlite3CorruptError(112037)|0); + $39 = (_sqlite3CorruptError(113554)|0); $42 = $39; $40 = HEAP32[$0>>2]|0; $41 = ((($40)) + 12|0); @@ -37577,7 +38033,7 @@ function _sqlite3CorruptError($lineno) { $0 = sp; HEAP32[$0>>2] = $lineno; $1 = HEAP32[$0>>2]|0; - $2 = (_reportError(11,$1,20932)|0); + $2 = (_reportError(11,$1,20316)|0); STACKTOP = sp;return ($2|0); } function _reportError($iErr,$lineno,$zType) { @@ -37604,7 +38060,7 @@ function _reportError($iErr,$lineno,$zType) { HEAP32[$vararg_ptr1>>2] = $5; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $7; - _sqlite3_log($3,20952,$vararg_buffer); + _sqlite3_log($3,20336,$vararg_buffer); $8 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($8|0); } @@ -38189,24 +38645,24 @@ function _insertElement($pH,$pEntry,$pNew) { function _sqlite3BeginBenignMalloc() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[1716>>2]|0; + $0 = HEAP32[1728>>2]|0; $1 = ($0|0)!=(0|0); if (!($1)) { return; } - $2 = HEAP32[1716>>2]|0; + $2 = HEAP32[1728>>2]|0; FUNCTION_TABLE_v[$2 & 255](); return; } function _sqlite3EndBenignMalloc() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(1720)>>2]|0; + $0 = HEAP32[(1732)>>2]|0; $1 = ($0|0)!=(0|0); if (!($1)) { return; } - $2 = HEAP32[(1720)>>2]|0; + $2 = HEAP32[(1732)>>2]|0; FUNCTION_TABLE_v[$2 & 255](); return; } @@ -38419,7 +38875,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { L1: do { if ($or$cond3) { $19 = HEAP32[$2>>2]|0; - $20 = (_memcmp($19,26639,5)|0); + $20 = (_memcmp($19,26023,5)|0); $21 = ($20|0)==(0); if ($21) { HEAP32[$iOut>>2] = 0; @@ -38533,7 +38989,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { if (!($93)) { $94 = HEAP32[$2>>2]|0; $95 = ((($94)) + 7|0); - $96 = (_memcmp(26645,$95,9)|0); + $96 = (_memcmp(26029,$95,9)|0); $97 = ($96|0)!=(0); if (!($97)) { break; @@ -38546,7 +39002,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$vararg_buffer>>2] = $99; $vararg_ptr12 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr12>>2] = $101; - $102 = (_sqlite3_mprintf(26655,$vararg_buffer)|0); + $102 = (_sqlite3_mprintf(26039,$vararg_buffer)|0); $103 = HEAP32[$6>>2]|0; HEAP32[$103>>2] = $102; HEAP32[$rc>>2] = 1; @@ -38586,7 +39042,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $120 = (($119) + ($118)|0); $121 = HEAP8[$120>>0]|0; $122 = $121&255; - $123 = (19019 + ($122)|0); + $123 = (18403 + ($122)|0); $124 = HEAP8[$123>>0]|0; $125 = $124&255; $126 = $125 & 8; @@ -38598,7 +39054,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $131 = (($130) + ($129)|0); $132 = HEAP8[$131>>0]|0; $133 = $132&255; - $134 = (19019 + ($133)|0); + $134 = (18403 + ($133)|0); $135 = HEAP8[$134>>0]|0; $136 = $135&255; $137 = $136 & 8; @@ -38869,7 +39325,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $280 = ($279|0)==(3); if ($280) { $281 = HEAP32[$zOpt>>2]|0; - $282 = (_memcmp(26683,$281,3)|0); + $282 = (_memcmp(26067,$281,3)|0); $283 = ($282|0)==(0); if ($283) { $284 = HEAP32[$zVal>>2]|0; @@ -38890,30 +39346,30 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $286 = ($285|0)==(5); if ($286) { $287 = HEAP32[$zOpt>>2]|0; - $288 = (_memcmp(26687,$287,5)|0); + $288 = (_memcmp(26071,$287,5)|0); $289 = ($288|0)==(0); if ($289) { HEAP32[$mask>>2] = 393216; - HEAP32[$aMode>>2] = 4948; + HEAP32[$aMode>>2] = 4104; $290 = HEAP32[$mask>>2]|0; HEAP32[$limit>>2] = $290; - HEAP32[$zModeType>>2] = 26687; + HEAP32[$zModeType>>2] = 26071; } } $291 = HEAP32[$nOpt>>2]|0; $292 = ($291|0)==(4); if ($292) { $293 = HEAP32[$zOpt>>2]|0; - $294 = (_memcmp(26693,$293,4)|0); + $294 = (_memcmp(26077,$293,4)|0); $295 = ($294|0)==(0); if ($295) { HEAP32[$mask>>2] = 135; - HEAP32[$aMode>>2] = 4972; + HEAP32[$aMode>>2] = 4128; $296 = HEAP32[$mask>>2]|0; $297 = HEAP32[$flags>>2]|0; $298 = $296 & $297; HEAP32[$limit>>2] = $298; - HEAP32[$zModeType>>2] = 26698; + HEAP32[$zModeType>>2] = 26082; } } $299 = HEAP32[$aMode>>2]|0; @@ -38998,7 +39454,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$vararg_buffer13>>2] = $328; $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); HEAP32[$vararg_ptr16>>2] = $329; - $330 = (_sqlite3_mprintf(26705,$vararg_buffer13)|0); + $330 = (_sqlite3_mprintf(26089,$vararg_buffer13)|0); $331 = HEAP32[$6>>2]|0; HEAP32[$331>>2] = $330; HEAP32[$rc>>2] = 1; @@ -39010,7 +39466,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$vararg_buffer17>>2] = $336; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $337; - $338 = (_sqlite3_mprintf(26725,$vararg_buffer17)|0); + $338 = (_sqlite3_mprintf(26109,$vararg_buffer17)|0); $339 = HEAP32[$6>>2]|0; HEAP32[$339>>2] = $338; HEAP32[$rc>>2] = 3; @@ -39069,7 +39525,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { if ($374) { $375 = HEAP32[$zVfs>>2]|0; HEAP32[$vararg_buffer21>>2] = $375; - $376 = (_sqlite3_mprintf(26749,$vararg_buffer21)|0); + $376 = (_sqlite3_mprintf(26133,$vararg_buffer21)|0); $377 = HEAP32[$6>>2]|0; HEAP32[$377>>2] = $376; HEAP32[$rc>>2] = 1; @@ -39171,7 +39627,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $16 = ($15|0)!=(0|0); if ($16) { $17 = HEAP32[$2>>2]|0; - $18 = (_strcmp($17,26453)|0); + $18 = (_strcmp($17,25837)|0); $19 = ($18|0)==(0); if ($19) { $29 = 1; @@ -39324,7 +39780,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { STACKTOP = sp;return ($399|0); } } - $103 = HEAP32[4868>>2]|0; + $103 = HEAP32[4024>>2]|0; HEAP32[$pBt>>2] = $103; while(1) { $104 = HEAP32[$pBt>>2]|0; @@ -39601,20 +40057,20 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $282 = HEAP32[$pBt>>2]|0; $283 = ((($282)) + 36|0); HEAP32[$283>>2] = $281; - $284 = HEAP32[$p>>2]|0; - $285 = ((($284)) + 9|0); - $286 = HEAP8[$285>>0]|0; - $287 = ($286<<24>>24)!=(0); - if ($287) { - $288 = HEAP32[$pBt>>2]|0; - $289 = ((($288)) + 64|0); - HEAP32[$289>>2] = 1; - $290 = HEAP32[4868>>2]|0; + $284 = HEAP32[$pBt>>2]|0; + $285 = ((($284)) + 64|0); + HEAP32[$285>>2] = 1; + $286 = HEAP32[$p>>2]|0; + $287 = ((($286)) + 9|0); + $288 = HEAP8[$287>>0]|0; + $289 = ($288<<24>>24)!=(0); + if ($289) { + $290 = HEAP32[4024>>2]|0; $291 = HEAP32[$pBt>>2]|0; $292 = ((($291)) + 68|0); HEAP32[$292>>2] = $290; $293 = HEAP32[$pBt>>2]|0; - HEAP32[4868>>2] = $293; + HEAP32[4024>>2] = $293; label = 56; } else { label = 56; @@ -39863,7 +40319,7 @@ function _sqlite3RegisterPerConnectionBuiltinFunctions($db) { $rc = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_overload_function($1,26447,2)|0); + $2 = (_sqlite3_overload_function($1,25831,2)|0); HEAP32[$rc>>2] = $2; $3 = HEAP32[$rc>>2]|0; $4 = ($3|0)==(7); @@ -39876,20 +40332,21 @@ function _sqlite3RegisterPerConnectionBuiltinFunctions($db) { } function _sqlite3AutoLoadExtensions($db) { $db = $db|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $go = 0, $i = 0, $rc = 0, $vararg_buffer = 0, $xInit = 0, $zErrmsg = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $go = 0, $i = 0, $pThunk = 0, $rc = 0, $vararg_buffer = 0, $xInit = 0, $zErrmsg = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 24|0; - $i = sp + 20|0; - $go = sp + 16|0; - $rc = sp + 12|0; - $xInit = sp + 8|0; - $zErrmsg = sp + 4|0; + $0 = sp + 28|0; + $i = sp + 24|0; + $go = sp + 20|0; + $rc = sp + 16|0; + $xInit = sp + 12|0; + $zErrmsg = sp + 8|0; + $pThunk = sp + 4|0; HEAP32[$0>>2] = $db; HEAP32[$go>>2] = 1; - $1 = HEAP32[1528>>2]|0; + $1 = HEAP32[1540>>2]|0; $2 = ($1|0)==(0); if ($2) { STACKTOP = sp;return; @@ -39901,15 +40358,16 @@ function _sqlite3AutoLoadExtensions($db) { if (!($4)) { break; } + HEAP32[$pThunk>>2] = 0; $5 = HEAP32[$i>>2]|0; - $6 = HEAP32[1528>>2]|0; + $6 = HEAP32[1540>>2]|0; $7 = ($5>>>0)>=($6>>>0); if ($7) { HEAP32[$xInit>>2] = 0; HEAP32[$go>>2] = 0; } else { $8 = HEAP32[$i>>2]|0; - $9 = HEAP32[(1532)>>2]|0; + $9 = HEAP32[(1544)>>2]|0; $10 = (($9) + ($8<<2)|0); $11 = HEAP32[$10>>2]|0; HEAP32[$xInit>>2] = $11; @@ -39920,23 +40378,24 @@ function _sqlite3AutoLoadExtensions($db) { if ($13) { $14 = HEAP32[$xInit>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (FUNCTION_TABLE_iiii[$14 & 255]($15,$zErrmsg,4012)|0); - HEAP32[$rc>>2] = $16; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$rc>>2]|0; - $20 = HEAP32[$zErrmsg>>2]|0; - HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorWithMsg($18,$19,26408,$vararg_buffer); + $16 = HEAP32[$pThunk>>2]|0; + $17 = (FUNCTION_TABLE_iiii[$14 & 255]($15,$zErrmsg,$16)|0); + HEAP32[$rc>>2] = $17; + $18 = ($17|0)!=(0); + if ($18) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$rc>>2]|0; + $21 = HEAP32[$zErrmsg>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + _sqlite3ErrorWithMsg($19,$20,25792,$vararg_buffer); HEAP32[$go>>2] = 0; } } - $21 = HEAP32[$zErrmsg>>2]|0; - _sqlite3_free($21); - $22 = HEAP32[$i>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[$i>>2] = $23; + $22 = HEAP32[$zErrmsg>>2]|0; + _sqlite3_free($22); + $23 = HEAP32[$i>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$i>>2] = $24; } STACKTOP = sp;return; } @@ -39991,17 +40450,17 @@ function _sqlite3Fts3Init($db) { if ($12) { $13 = HEAP32[$pHash>>2]|0; $14 = HEAP32[$pSimple>>2]|0; - $15 = (_sqlite3Fts3HashInsert($13,21063,7,$14)|0); + $15 = (_sqlite3Fts3HashInsert($13,20447,7,$14)|0); $16 = ($15|0)!=(0|0); if (!($16)) { $17 = HEAP32[$pHash>>2]|0; $18 = HEAP32[$pPorter>>2]|0; - $19 = (_sqlite3Fts3HashInsert($17,21070,7,$18)|0); + $19 = (_sqlite3Fts3HashInsert($17,20454,7,$18)|0); $20 = ($19|0)!=(0|0); if (!($20)) { $21 = HEAP32[$pHash>>2]|0; $22 = HEAP32[$pUnicode>>2]|0; - $23 = (_sqlite3Fts3HashInsert($21,21077,10,$22)|0); + $23 = (_sqlite3Fts3HashInsert($21,20461,10,$22)|0); $24 = ($23|0)!=(0|0); if (!($24)) { break; @@ -40016,45 +40475,45 @@ function _sqlite3Fts3Init($db) { if ($26) { $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$pHash>>2]|0; - $29 = (_sqlite3Fts3InitHashTable($27,$28,21087)|0); + $29 = (_sqlite3Fts3InitHashTable($27,$28,20471)|0); HEAP32[$rc>>2] = $29; $30 = (0)==($29|0); if ($30) { $31 = HEAP32[$1>>2]|0; - $32 = (_sqlite3_overload_function($31,21102,-1)|0); + $32 = (_sqlite3_overload_function($31,20486,-1)|0); HEAP32[$rc>>2] = $32; $33 = (0)==($32|0); if ($33) { $34 = HEAP32[$1>>2]|0; - $35 = (_sqlite3_overload_function($34,21110,1)|0); + $35 = (_sqlite3_overload_function($34,20494,1)|0); HEAP32[$rc>>2] = $35; $36 = (0)==($35|0); if ($36) { $37 = HEAP32[$1>>2]|0; - $38 = (_sqlite3_overload_function($37,21118,1)|0); + $38 = (_sqlite3_overload_function($37,20502,1)|0); HEAP32[$rc>>2] = $38; $39 = (0)==($38|0); if ($39) { $40 = HEAP32[$1>>2]|0; - $41 = (_sqlite3_overload_function($40,21118,2)|0); + $41 = (_sqlite3_overload_function($40,20502,2)|0); HEAP32[$rc>>2] = $41; $42 = (0)==($41|0); if ($42) { $43 = HEAP32[$1>>2]|0; - $44 = (_sqlite3_overload_function($43,21128,1)|0); + $44 = (_sqlite3_overload_function($43,20512,1)|0); HEAP32[$rc>>2] = $44; $45 = (0)==($44|0); if ($45) { $46 = HEAP32[$1>>2]|0; $47 = HEAP32[$pHash>>2]|0; - $48 = (_sqlite3_create_module_v2($46,21137,1724,$47,151)|0); + $48 = (_sqlite3_create_module_v2($46,20521,1736,$47,151)|0); HEAP32[$rc>>2] = $48; $49 = HEAP32[$rc>>2]|0; $50 = ($49|0)==(0); if ($50) { $51 = HEAP32[$1>>2]|0; $52 = HEAP32[$pHash>>2]|0; - $53 = (_sqlite3_create_module_v2($51,21142,1724,$52,0)|0); + $53 = (_sqlite3_create_module_v2($51,20526,1736,$52,0)|0); HEAP32[$rc>>2] = $53; } $54 = HEAP32[$rc>>2]|0; @@ -40097,7 +40556,7 @@ function _sqlite3Fts3UnicodeTokenizer($ppModule) { $0 = sp; HEAP32[$0>>2] = $ppModule; $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2344; + HEAP32[$1>>2] = 2356; STACKTOP = sp;return; } function _sqlite3Fts3InitAux($db) { @@ -40109,7 +40568,7 @@ function _sqlite3Fts3InitAux($db) { $rc = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_create_module($1,26059,2252,0)|0); + $2 = (_sqlite3_create_module($1,25443,2264,0)|0); HEAP32[$rc>>2] = $2; $3 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($3|0); @@ -40122,7 +40581,7 @@ function _sqlite3Fts3SimpleTokenizerModule($ppModule) { $0 = sp; HEAP32[$0>>2] = $ppModule; $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2224; + HEAP32[$1>>2] = 2236; STACKTOP = sp;return; } function _sqlite3Fts3PorterTokenizerModule($ppModule) { @@ -40133,7 +40592,7 @@ function _sqlite3Fts3PorterTokenizerModule($ppModule) { $0 = sp; HEAP32[$0>>2] = $ppModule; $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2196; + HEAP32[$1>>2] = 2208; STACKTOP = sp;return; } function _sqlite3Fts3HashInit($pNew,$keyClass,$copyKey) { @@ -40453,7 +40912,7 @@ function _sqlite3Fts3InitTok($db,$pHash) { HEAP32[$1>>2] = $pHash; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3_create_module($2,21147,1816,$3)|0); + $4 = (_sqlite3_create_module($2,20531,1828,$3)|0); HEAP32[$rc>>2] = $4; $5 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($5|0); @@ -40571,7 +41030,7 @@ function _fts3tokConnectMethod($db,$pHash,$argc,$argv,$ppVtab,$pzErr) { HEAP32[$pTok>>2] = 0; HEAP32[$azDequote>>2] = 0; $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3_declare_vtab($7,21160)|0); + $8 = (_sqlite3_declare_vtab($7,20544)|0); HEAP32[$rc>>2] = $8; $9 = HEAP32[$rc>>2]|0; $10 = ($9|0)!=(0); @@ -40595,7 +41054,7 @@ function _fts3tokConnectMethod($db,$pHash,$argc,$argv,$ppVtab,$pzErr) { $20 = HEAP32[$nDequote>>2]|0; $21 = ($20|0)<(1); if ($21) { - HEAP32[$zModule>>2] = 21063; + HEAP32[$zModule>>2] = 20447; } else { $22 = HEAP32[$azDequote>>2]|0; $23 = HEAP32[$22>>2]|0; @@ -41340,7 +41799,7 @@ function _fts3tokQueryTokenizer($pHash,$zName,$pp,$pzErr) { $14 = HEAP32[$4>>2]|0; $15 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $15; - _sqlite3Fts3ErrMsg($14,21211,$vararg_buffer); + _sqlite3Fts3ErrMsg($14,20595,$vararg_buffer); HEAP32[$0>>2] = 1; $18 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($18|0); @@ -42216,9 +42675,9 @@ function _fts3BestIndexMethod($pVTab,$pInfo) { $182 = HEAP32[$2>>2]|0; $183 = ((($182)) + 24|0); if ($181) { - HEAP32[$183>>2] = 24240; + HEAP32[$183>>2] = 23624; } else { - HEAP32[$183>>2] = 24245; + HEAP32[$183>>2] = 23629; } $184 = HEAP32[$2>>2]|0; $185 = ((($184)) + 32|0); @@ -42334,7 +42793,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer>>2] = $13; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $16; - _fts3DbExec($rc,$12,24440,$vararg_buffer); + _fts3DbExec($rc,$12,23824,$vararg_buffer); } $17 = HEAP32[$db>>2]|0; $18 = HEAP32[$zDb>>2]|0; @@ -42344,7 +42803,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer2>>2] = $18; $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); HEAP32[$vararg_ptr5>>2] = $21; - _fts3DbExec($rc,$17,24477,$vararg_buffer2); + _fts3DbExec($rc,$17,23861,$vararg_buffer2); $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$zDb>>2]|0; $24 = HEAP32[$p>>2]|0; @@ -42353,7 +42812,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer6>>2] = $23; $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = $26; - _fts3DbExec($rc,$22,24515,$vararg_buffer6); + _fts3DbExec($rc,$22,23899,$vararg_buffer6); $27 = HEAP32[$db>>2]|0; $28 = HEAP32[$zDb>>2]|0; $29 = HEAP32[$p>>2]|0; @@ -42362,7 +42821,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer10>>2] = $28; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $31; - _fts3DbExec($rc,$27,24551,$vararg_buffer10); + _fts3DbExec($rc,$27,23935,$vararg_buffer10); $32 = HEAP32[$db>>2]|0; $33 = HEAP32[$zDb>>2]|0; $34 = HEAP32[$p>>2]|0; @@ -42371,7 +42830,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer14>>2] = $33; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $36; - _fts3DbExec($rc,$32,24588,$vararg_buffer14); + _fts3DbExec($rc,$32,23972,$vararg_buffer14); $37 = HEAP32[$rc>>2]|0; $38 = ($37|0)==(0); if ($38) { @@ -42755,7 +43214,7 @@ function _fts3FilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { $184 = HEAP8[$183>>0]|0; $185 = $184&255; $186 = ($185|0)!=(0); - $187 = $186 ? 24240 : 24245; + $187 = $186 ? 23624 : 23629; HEAP32[$vararg_buffer>>2] = $165; $vararg_ptr4 = ((($vararg_buffer)) + 8|0); $188 = $vararg_ptr4; @@ -42773,18 +43232,18 @@ function _fts3FilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { HEAP32[$195>>2] = $181; $vararg_ptr6 = ((($vararg_buffer)) + 24|0); HEAP32[$vararg_ptr6>>2] = $187; - $196 = (_sqlite3_mprintf(24249,$vararg_buffer)|0); + $196 = (_sqlite3_mprintf(23633,$vararg_buffer)|0); HEAP32[$zSql>>2] = $196; } else { $197 = ((($166)) + 52|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199|0)!=(0); - $201 = $200 ? 24240 : 24245; + $201 = $200 ? 23624 : 23629; HEAP32[$vararg_buffer7>>2] = $165; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $201; - $202 = (_sqlite3_mprintf(24311,$vararg_buffer7)|0); + $202 = (_sqlite3_mprintf(23695,$vararg_buffer7)|0); HEAP32[$zSql>>2] = $202; } $203 = HEAP32[$zSql>>2]|0; @@ -43231,69 +43690,66 @@ function _fts3RollbackMethod($pVtab) { _sqlite3Fts3PendingTermsClear($2); STACKTOP = sp;return 0; } -function _fts3FindFunctionMethod($pVtab,$nArg,$zName,$pxFunc$coerce,$ppArg) { +function _fts3FindFunctionMethod($pVtab,$nArg,$zName,$pxFunc,$ppArg) { $pVtab = $pVtab|0; $nArg = $nArg|0; $zName = $zName|0; - $pxFunc$coerce = $pxFunc$coerce|0; + $pxFunc = $pxFunc|0; $ppArg = $ppArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $aOverload = 0, $i = 0, $pxFunc = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $aOverload = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $6 = sp + 40|0; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 60|0; + $1 = sp + 56|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; $aOverload = sp + 8|0; $i = sp; - HEAP32[$1>>2] = $pxFunc$coerce; - $pxFunc = HEAP32[$1>>2]|0; - HEAP32[$2>>2] = $pVtab; - HEAP32[$3>>2] = $nArg; - HEAP32[$4>>2] = $zName; - HEAP32[$5>>2] = $pxFunc; - HEAP32[$6>>2] = $ppArg; - ;HEAP32[$aOverload>>2]=HEAP32[2068>>2]|0;HEAP32[$aOverload+4>>2]=HEAP32[2068+4>>2]|0;HEAP32[$aOverload+8>>2]=HEAP32[2068+8>>2]|0;HEAP32[$aOverload+12>>2]=HEAP32[2068+12>>2]|0;HEAP32[$aOverload+16>>2]=HEAP32[2068+16>>2]|0;HEAP32[$aOverload+20>>2]=HEAP32[2068+20>>2]|0;HEAP32[$aOverload+24>>2]=HEAP32[2068+24>>2]|0;HEAP32[$aOverload+28>>2]=HEAP32[2068+28>>2]|0; + HEAP32[$1>>2] = $pVtab; + HEAP32[$2>>2] = $nArg; + HEAP32[$3>>2] = $zName; + HEAP32[$4>>2] = $pxFunc; + HEAP32[$5>>2] = $ppArg; + ;HEAP32[$aOverload>>2]=HEAP32[2080>>2]|0;HEAP32[$aOverload+4>>2]=HEAP32[2080+4>>2]|0;HEAP32[$aOverload+8>>2]=HEAP32[2080+8>>2]|0;HEAP32[$aOverload+12>>2]=HEAP32[2080+12>>2]|0;HEAP32[$aOverload+16>>2]=HEAP32[2080+16>>2]|0;HEAP32[$aOverload+20>>2]=HEAP32[2080+20>>2]|0;HEAP32[$aOverload+24>>2]=HEAP32[2080+24>>2]|0;HEAP32[$aOverload+28>>2]=HEAP32[2080+28>>2]|0; HEAP32[$i>>2] = 0; while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = ($7|0)<(4); - if (!($8)) { + $6 = HEAP32[$i>>2]|0; + $7 = ($6|0)<(4); + if (!($7)) { label = 6; break; } - $9 = HEAP32[$4>>2]|0; - $10 = HEAP32[$i>>2]|0; - $11 = (($aOverload) + ($10<<3)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_strcmp($9,$12)|0); - $14 = ($13|0)==(0); - $15 = HEAP32[$i>>2]|0; - if ($14) { + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$i>>2]|0; + $10 = (($aOverload) + ($9<<3)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_strcmp($8,$11)|0); + $13 = ($12|0)==(0); + $14 = HEAP32[$i>>2]|0; + if ($13) { label = 4; break; } - $20 = (($15) + 1)|0; - HEAP32[$i>>2] = $20; + $19 = (($14) + 1)|0; + HEAP32[$i>>2] = $19; } if ((label|0) == 4) { - $16 = (($aOverload) + ($15<<3)|0); - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$5>>2]|0; - HEAP32[$19>>2] = $18; + $15 = (($aOverload) + ($14<<3)|0); + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$4>>2]|0; + HEAP32[$18>>2] = $17; HEAP32[$0>>2] = 1; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); } else if ((label|0) == 6) { HEAP32[$0>>2] = 0; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $20 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($20|0); } return (0)|0; } @@ -43353,7 +43809,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr1>>2] = $22; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $23; - _fts3DbExec($rc,$16,21233,$vararg_buffer); + _fts3DbExec($rc,$16,20617,$vararg_buffer); } $24 = HEAP32[$p>>2]|0; $25 = ((($24)) + 230|0); @@ -43373,7 +43829,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr6>>2] = $34; $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); HEAP32[$vararg_ptr7>>2] = $35; - _fts3DbExec($rc,$28,21286,$vararg_buffer3); + _fts3DbExec($rc,$28,20670,$vararg_buffer3); } $36 = HEAP32[$p>>2]|0; $37 = ((($36)) + 229|0); @@ -43393,7 +43849,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr11>>2] = $46; $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); HEAP32[$vararg_ptr12>>2] = $47; - _fts3DbExec($rc,$40,21339,$vararg_buffer8); + _fts3DbExec($rc,$40,20723,$vararg_buffer8); } $48 = HEAP32[$db>>2]|0; $49 = HEAP32[$p>>2]|0; @@ -43408,7 +43864,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr16>>2] = $54; $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); HEAP32[$vararg_ptr17>>2] = $55; - _fts3DbExec($rc,$48,21386,$vararg_buffer13); + _fts3DbExec($rc,$48,20770,$vararg_buffer13); $56 = HEAP32[$db>>2]|0; $57 = HEAP32[$p>>2]|0; $58 = ((($57)) + 16|0); @@ -43422,7 +43878,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr21>>2] = $62; $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); HEAP32[$vararg_ptr22>>2] = $63; - _fts3DbExec($rc,$56,21440,$vararg_buffer18); + _fts3DbExec($rc,$56,20824,$vararg_buffer18); $64 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($64|0); } @@ -43578,7 +44034,7 @@ function _fts3SetHasStat($p) { $36 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($36|0); } - HEAP32[$zFmt>>2] = 23797; + HEAP32[$zFmt>>2] = 23181; $6 = HEAP32[$zFmt>>2]|0; $7 = HEAP32[$0>>2]|0; $8 = ((($7)) + 16|0); @@ -44123,7 +44579,7 @@ function _fts3SqlStmt($p,$eStmt,$pp,$apVal) { HEAP32[$1>>2] = $eStmt; HEAP32[$2>>2] = $pp; HEAP32[$3>>2] = $apVal; - _memcpy(($azSql|0),(1908|0),160)|0; + _memcpy(($azSql|0),(1920|0),160)|0; HEAP32[$rc>>2] = 0; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$0>>2]|0; @@ -47132,7 +47588,7 @@ function _fts3WriteSegdir($p,$0,$1,$iIdx,$2,$3,$4,$5,$6,$7,$8,$9,$zRoot,$nRoot) $101 = (($99) + 4)|0; $102 = $101; HEAP32[$102>>2] = $94; - $103 = (_sqlite3_mprintf(23769,$vararg_buffer)|0); + $103 = (_sqlite3_mprintf(23153,$vararg_buffer)|0); HEAP32[$zEnd>>2] = $103; $104 = HEAP32[$zEnd>>2]|0; $105 = ($104|0)!=(0|0); @@ -50439,7 +50895,7 @@ function _sqlite3Fts3ReadBlock($p,$0,$1,$paBlob,$pnBlob,$pnLoad) { $30 = ((($29)) + 20|0); $31 = HEAP32[$30>>2]|0; HEAP32[$vararg_buffer>>2] = $31; - $32 = (_sqlite3_mprintf(23779,$vararg_buffer)|0); + $32 = (_sqlite3_mprintf(23163,$vararg_buffer)|0); $33 = HEAP32[$3>>2]|0; $34 = ((($33)) + 240|0); HEAP32[$34>>2] = $32; @@ -50470,7 +50926,7 @@ function _sqlite3Fts3ReadBlock($p,$0,$1,$paBlob,$pnBlob,$pnLoad) { $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$3>>2]|0; $55 = ((($54)) + 244|0); - $56 = (_sqlite3_blob_open($41,$44,$47,23791,$50,$53,0,$55)|0); + $56 = (_sqlite3_blob_open($41,$44,$47,23175,$50,$53,0,$55)|0); HEAP32[$rc>>2] = $56; } $57 = HEAP32[$rc>>2]|0; @@ -52053,21 +52509,21 @@ function _fts3SnippetFunc($pContext,$nVal,$apVal) { HEAP32[$0>>2] = $pContext; HEAP32[$1>>2] = $nVal; HEAP32[$2>>2] = $apVal; - HEAP32[$zStart>>2] = 24043; - HEAP32[$zEnd>>2] = 24047; - HEAP32[$zEllipsis>>2] = 24052; + HEAP32[$zStart>>2] = 23427; + HEAP32[$zEnd>>2] = 23431; + HEAP32[$zEllipsis>>2] = 23436; HEAP32[$iCol>>2] = -1; HEAP32[$nToken>>2] = 15; $3 = HEAP32[$1>>2]|0; $4 = ($3|0)>(6); $5 = HEAP32[$0>>2]|0; if ($4) { - _sqlite3_result_error($5,24063,-1); + _sqlite3_result_error($5,23447,-1); STACKTOP = sp;return; } $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$6>>2]|0; - $8 = (_fts3FunctionArg($5,21102,$7,$pCsr)|0); + $8 = (_fts3FunctionArg($5,20486,$7,$pCsr)|0); $9 = ($8|0)!=(0); if ($9) { STACKTOP = sp;return; @@ -52150,7 +52606,7 @@ function _fts3SnippetFunc($pContext,$nVal,$apVal) { $39 = ($38|0)==(0); $40 = HEAP32[$0>>2]|0; if ($39) { - _sqlite3_result_text($40,19018,-1,0); + _sqlite3_result_text($40,18402,-1,0); STACKTOP = sp;return; } $41 = HEAP32[$pCsr>>2]|0; @@ -52186,7 +52642,7 @@ function _fts3OffsetsFunc($pContext,$nVal,$apVal) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,21110,$5,$pCsr)|0); + $6 = (_fts3FunctionArg($3,20494,$5,$pCsr)|0); $7 = ($6|0)!=(0); if ($7) { STACKTOP = sp;return; @@ -52223,7 +52679,7 @@ function _fts3OptimizeFunc($pContext,$nVal,$apVal) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,21128,$5,$pCursor)|0); + $6 = (_fts3FunctionArg($3,20512,$5,$pCursor)|0); $7 = ($6|0)!=(0); if ($7) { STACKTOP = sp;return; @@ -52238,13 +52694,13 @@ function _fts3OptimizeFunc($pContext,$nVal,$apVal) { switch ($12|0) { case 0: { $13 = HEAP32[$0>>2]|0; - _sqlite3_result_text($13,23947,-1,0); + _sqlite3_result_text($13,23331,-1,0); STACKTOP = sp;return; break; } case 101: { $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,23963,-1,0); + _sqlite3_result_text($14,23347,-1,0); STACKTOP = sp;return; break; } @@ -52275,7 +52731,7 @@ function _fts3MatchinfoFunc($pContext,$nVal,$apVal) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,21118,$5,$pCsr)|0); + $6 = (_fts3FunctionArg($3,20502,$5,$pCsr)|0); $7 = (0)==($6|0); if (!($7)) { STACKTOP = sp;return; @@ -52338,7 +52794,7 @@ function _fts3FunctionArg($pContext,$zFunc,$pVal,$ppCsr) { } $11 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $11; - $12 = (_sqlite3_mprintf(23918,$vararg_buffer)|0); + $12 = (_sqlite3_mprintf(23302,$vararg_buffer)|0); HEAP32[$zErr>>2] = $12; $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$zErr>>2]|0; @@ -52373,7 +52829,7 @@ function _sqlite3Fts3Matchinfo($pContext,$pCsr,$zArg) { $7 = HEAP32[$2>>2]|0; HEAP32[$zFormat>>2] = $7; } else { - HEAP32[$zFormat>>2] = 23853; + HEAP32[$zFormat>>2] = 23237; } $8 = HEAP32[$1>>2]|0; $9 = ((($8)) + 12|0); @@ -52388,7 +52844,7 @@ function _sqlite3Fts3Matchinfo($pContext,$pCsr,$zArg) { _sqlite3Fts3SegmentsClose($15); STACKTOP = sp;return; } else { - _sqlite3_result_blob($12,19018,0,0); + _sqlite3_result_blob($12,18402,0,0); STACKTOP = sp;return; } } @@ -52763,7 +53219,7 @@ function _fts3MatchinfoCheck($pTab,$cArg,$pzErr) { $47 = HEAP8[$2>>0]|0; $48 = $47 << 24 >> 24; HEAP32[$vararg_buffer>>2] = $48; - _sqlite3Fts3ErrMsg($46,23883,$vararg_buffer); + _sqlite3Fts3ErrMsg($46,23267,$vararg_buffer); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -61694,7 +62150,7 @@ function _fts3CursorSeekStmt($pCsr,$ppStmt) { $10 = ((($9)) + 216|0); $11 = HEAP32[$10>>2]|0; HEAP32[$vararg_buffer>>2] = $11; - $12 = (_sqlite3_mprintf(23857,$vararg_buffer)|0); + $12 = (_sqlite3_mprintf(23241,$vararg_buffer)|0); HEAP32[$zSql>>2] = $12; $13 = HEAP32[$zSql>>2]|0; $14 = ($13|0)!=(0|0); @@ -62870,7 +63326,7 @@ function _sqlite3Fts3Optimize($p) { $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3_exec($3,23985,0,0,0)|0); + $4 = (_sqlite3_exec($3,23369,0,0,0)|0); HEAP32[$rc>>2] = $4; $5 = HEAP32[$rc>>2]|0; $6 = ($5|0)==(0); @@ -62888,14 +63344,14 @@ function _sqlite3Fts3Optimize($p) { $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; if (!($or$cond)) { - (_sqlite3_exec($15,24013,0,0,0)|0); + (_sqlite3_exec($15,23397,0,0,0)|0); $20 = HEAP32[$0>>2]|0; $21 = ((($20)) + 12|0); $22 = HEAP32[$21>>2]|0; - (_sqlite3_exec($22,24000,0,0,0)|0); + (_sqlite3_exec($22,23384,0,0,0)|0); break; } - $16 = (_sqlite3_exec($15,24000,0,0,0)|0); + $16 = (_sqlite3_exec($15,23384,0,0,0)|0); HEAP32[$rc2>>2] = $16; $17 = HEAP32[$rc2>>2]|0; $18 = ($17|0)!=(0); @@ -63068,7 +63524,7 @@ function _sqlite3Fts3Offsets($pCtx,$pCsr) { $11 = ($10|0)!=(0|0); if (!($11)) { $12 = HEAP32[$0>>2]|0; - _sqlite3_result_text($12,19018,0,0); + _sqlite3_result_text($12,18402,0,0); STACKTOP = sp;return; } ;HEAP32[$sCtx>>2]=0|0;HEAP32[$sCtx+4>>2]=0|0;HEAP32[$sCtx+8>>2]=0|0;HEAP32[$sCtx+12>>2]=0|0;HEAP32[$sCtx+16>>2]=0|0;HEAP32[$sCtx+20>>2]=0|0;HEAP32[$sCtx+24>>2]=0|0;HEAP32[$sCtx+28>>2]=0|0; @@ -63292,7 +63748,7 @@ function _sqlite3Fts3Offsets($pCtx,$pCsr) { HEAP32[$vararg_ptr2>>2] = $148; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $151; - (_sqlite3_snprintf(64,$aBuffer,24030,$vararg_buffer)|0); + (_sqlite3_snprintf(64,$aBuffer,23414,$vararg_buffer)|0); $152 = (_fts3StringAppend($res,$aBuffer,-1)|0); HEAP32[$rc>>2] = $152; continue; @@ -63633,7 +64089,7 @@ function _sqlite3Fts3Snippet($pCtx,$pCsr,$zStart,$zEnd,$zEllipsis,$iCol,$nToken) $12 = ($11|0)!=(0|0); if (!($12)) { $13 = HEAP32[$0>>2]|0; - _sqlite3_result_text($13,19018,0,0); + _sqlite3_result_text($13,18402,0,0); STACKTOP = sp;return; } HEAP32[$nSnippet>>2] = 1; @@ -69925,7 +70381,7 @@ function _fts3SpecialInsert($p,$pVal) { $10 = ($9|0)==(8); if ($10) { $11 = HEAP32[$zVal>>2]|0; - $12 = (_sqlite3_strnicmp($11,21128,8)|0); + $12 = (_sqlite3_strnicmp($11,20512,8)|0); $13 = (0)==($12|0); if ($13) { $14 = HEAP32[$1>>2]|0; @@ -69943,7 +70399,7 @@ function _fts3SpecialInsert($p,$pVal) { $17 = ($16|0)==(7); if ($17) { $18 = HEAP32[$zVal>>2]|0; - $19 = (_sqlite3_strnicmp($18,24111,7)|0); + $19 = (_sqlite3_strnicmp($18,23495,7)|0); $20 = (0)==($19|0); if ($20) { $21 = HEAP32[$1>>2]|0; @@ -69956,7 +70412,7 @@ function _fts3SpecialInsert($p,$pVal) { $24 = ($23|0)==(15); if ($24) { $25 = HEAP32[$zVal>>2]|0; - $26 = (_sqlite3_strnicmp($25,24119,15)|0); + $26 = (_sqlite3_strnicmp($25,23503,15)|0); $27 = (0)==($26|0); if ($27) { $28 = HEAP32[$1>>2]|0; @@ -69969,7 +70425,7 @@ function _fts3SpecialInsert($p,$pVal) { $31 = ($30|0)>(6); if ($31) { $32 = HEAP32[$zVal>>2]|0; - $33 = (_sqlite3_strnicmp($32,24135,6)|0); + $33 = (_sqlite3_strnicmp($32,23519,6)|0); $34 = (0)==($33|0); if ($34) { $35 = HEAP32[$1>>2]|0; @@ -69984,7 +70440,7 @@ function _fts3SpecialInsert($p,$pVal) { $40 = ($39|0)>(10); if ($40) { $41 = HEAP32[$zVal>>2]|0; - $42 = (_sqlite3_strnicmp($41,24142,10)|0); + $42 = (_sqlite3_strnicmp($41,23526,10)|0); $43 = (0)==($42|0); if ($43) { $44 = HEAP32[$1>>2]|0; @@ -71580,7 +72036,7 @@ function _fts3DoRebuild($p) { $6 = ((($5)) + 216|0); $7 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer>>2] = $7; - $8 = (_sqlite3_mprintf(24230,$vararg_buffer)|0); + $8 = (_sqlite3_mprintf(23614,$vararg_buffer)|0); HEAP32[$zSql>>2] = $8; $9 = HEAP32[$zSql>>2]|0; $10 = ($9|0)!=(0|0); @@ -72062,7 +72518,7 @@ function _sqlite3Fts3CreateStatTable($pRc,$p) { HEAP32[$vararg_buffer>>2] = $8; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $11; - _fts3DbExec($2,$5,24153,$vararg_buffer); + _fts3DbExec($2,$5,23537,$vararg_buffer); $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(0); @@ -72243,7 +72699,7 @@ function _fts3IntegrityCheck($p,$pbOk) { $64 = ((($63)) + 216|0); $65 = HEAP32[$64>>2]|0; HEAP32[$vararg_buffer>>2] = $65; - $66 = (_sqlite3_mprintf(24230,$vararg_buffer)|0); + $66 = (_sqlite3_mprintf(23614,$vararg_buffer)|0); HEAP32[$zSql>>2] = $66; $67 = HEAP32[$zSql>>2]|0; $68 = ($67|0)!=(0|0); @@ -73422,7 +73878,7 @@ function _sqlite3Fts3ExprParse($pTokenizer,$iLangid,$azCol,$bFts4,$nCol,$iDefaul if ($38) { $39 = HEAP32[$9>>2]|0; HEAP32[$vararg_buffer>>2] = 12; - _sqlite3Fts3ErrMsg($39,24339,$vararg_buffer); + _sqlite3Fts3ErrMsg($39,23723,$vararg_buffer); HEAP32[$rc>>2] = 1; $44 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($44|0); @@ -73436,7 +73892,7 @@ function _sqlite3Fts3ExprParse($pTokenizer,$iLangid,$azCol,$bFts4,$nCol,$iDefaul $42 = HEAP32[$9>>2]|0; $43 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer1>>2] = $43; - _sqlite3Fts3ErrMsg($42,24391,$vararg_buffer1); + _sqlite3Fts3ErrMsg($42,23775,$vararg_buffer1); $44 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($44|0); } @@ -75871,7 +76327,7 @@ function _getNextNode($pParse,$z,$n,$ppExpr,$pnConsumed) { break; } $23 = HEAP32[$ii>>2]|0; - $24 = (2100 + ($23<<3)|0); + $24 = (2112 + ($23<<3)|0); HEAP32[$pKey>>2] = $24; $25 = HEAP32[$pKey>>2]|0; $26 = ((($25)) + 5|0); @@ -77379,7 +77835,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $57 = ($56>>>0)>(8); if ($57) { $58 = HEAP32[$z>>2]|0; - $59 = (_sqlite3_strnicmp($58,24622,8)|0); + $59 = (_sqlite3_strnicmp($58,24006,8)|0); $60 = (0)==($59|0); if ($60) { $61 = HEAP32[$z>>2]|0; @@ -77414,7 +77870,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $74 = (_fts3IsSpecialColumn($73,$nKey,$zVal)|0); $75 = ($74|0)!=(0); if ($75) { - dest=$aFts4Opt; src=2132; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$aFts4Opt; src=2144; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $76 = HEAP32[$zVal>>2]|0; $77 = ($76|0)!=(0|0); if (!($77)) { @@ -77460,7 +77916,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $99 = HEAP32[$6>>2]|0; $100 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $100; - _sqlite3Fts3ErrMsg($99,24631,$vararg_buffer); + _sqlite3Fts3ErrMsg($99,24015,$vararg_buffer); HEAP32[$rc>>2] = 1; } else { $101 = HEAP32[$iOpt>>2]|0; @@ -77473,7 +77929,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { label = 29; } else { $105 = HEAP32[$zVal>>2]|0; - $106 = (_sqlite3_strnicmp($105,21137,4)|0); + $106 = (_sqlite3_strnicmp($105,20521,4)|0); $107 = ($106|0)!=(0); if ($107) { label = 29; @@ -77484,7 +77940,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $108 = HEAP32[$6>>2]|0; $109 = HEAP32[$zVal>>2]|0; HEAP32[$vararg_buffer8>>2] = $109; - _sqlite3Fts3ErrMsg($108,24658,$vararg_buffer8); + _sqlite3Fts3ErrMsg($108,24042,$vararg_buffer8); HEAP32[$rc>>2] = 1; } HEAP32[$bNoDocsize>>2] = 1; @@ -77526,7 +77982,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { label = 36; } else { $119 = HEAP32[$zVal>>2]|0; - $120 = (_sqlite3_strnicmp($119,24685,3)|0); + $120 = (_sqlite3_strnicmp($119,24069,3)|0); $121 = ($120|0)!=(0); if ($121) { label = 36; @@ -77540,7 +77996,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $124 = ($123|0)!=(4); if (!($124)) { $125 = HEAP32[$zVal>>2]|0; - $126 = (_sqlite3_strnicmp($125,24689,4)|0); + $126 = (_sqlite3_strnicmp($125,24073,4)|0); $127 = ($126|0)!=(0); if (!($127)) { break; @@ -77549,7 +78005,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $128 = HEAP32[$6>>2]|0; $129 = HEAP32[$zVal>>2]|0; HEAP32[$vararg_buffer11>>2] = $129; - _sqlite3Fts3ErrMsg($128,24694,$vararg_buffer11); + _sqlite3Fts3ErrMsg($128,24078,$vararg_buffer11); HEAP32[$rc>>2] = 1; } } while(0); @@ -77721,7 +78177,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $212 = ($211|0)==(0); if ($212) { $213 = HEAP32[$aCol>>2]|0; - HEAP32[$213>>2] = 24717; + HEAP32[$213>>2] = 24101; HEAP32[$nString>>2] = 8; HEAP32[$nCol>>2] = 1; } @@ -77730,7 +78186,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { if ($215) { $216 = HEAP32[$pHash>>2]|0; $217 = HEAP32[$6>>2]|0; - $218 = (_sqlite3Fts3InitTokenizer($216,21063,$pTokenizer,$217)|0); + $218 = (_sqlite3Fts3InitTokenizer($216,20447,$pTokenizer,$217)|0); HEAP32[$rc>>2] = $218; $219 = HEAP32[$rc>>2]|0; $220 = ($219|0)!=(0); @@ -77747,7 +78203,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $225 = HEAP32[$6>>2]|0; $226 = HEAP32[$zPrefix>>2]|0; HEAP32[$vararg_buffer14>>2] = $226; - _sqlite3Fts3ErrMsg($225,24725,$vararg_buffer14); + _sqlite3Fts3ErrMsg($225,24109,$vararg_buffer14); } $227 = HEAP32[$rc>>2]|0; $228 = ($227|0)!=(0); @@ -78053,7 +78509,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $441 = (($440) + ($439<<2)|0); $442 = HEAP32[$441>>2]|0; HEAP32[$vararg_buffer17>>2] = $442; - _sqlite3Fts3ErrMsg($438,24760,$vararg_buffer17); + _sqlite3Fts3ErrMsg($438,24144,$vararg_buffer17); HEAP32[$rc>>2] = 1; } $443 = HEAP32[$i>>2]|0; @@ -78073,13 +78529,13 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { if ($453) { $454 = HEAP32[$zCompress>>2]|0; $455 = ($454|0)==(0|0); - $456 = $455 ? 24779 : 24788; + $456 = $455 ? 24163 : 24172; HEAP32[$zMiss>>2] = $456; HEAP32[$rc>>2] = 1; $457 = HEAP32[$6>>2]|0; $458 = HEAP32[$zMiss>>2]|0; HEAP32[$vararg_buffer20>>2] = $458; - _sqlite3Fts3ErrMsg($457,24799,$vararg_buffer20); + _sqlite3Fts3ErrMsg($457,24183,$vararg_buffer20); } } $459 = HEAP32[$p>>2]|0; @@ -78214,7 +78670,7 @@ function _sqlite3Fts3IsIdChar($c) { } $5 = HEAP8[$0>>0]|0; $6 = $5 << 24 >> 24; - $7 = (25481 + ($6)|0); + $7 = (24865 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8 << 24 >> 24; $10 = ($9|0)!=(0); @@ -78261,7 +78717,7 @@ function _sqlite3Fts3InitTokenizer($pHash,$zArg,$ppTok,$pzErr) { HEAP32[$n>>2] = 0; $6 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $6; - $7 = (_sqlite3_mprintf(19007,$vararg_buffer)|0); + $7 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); HEAP32[$zCopy>>2] = $7; $8 = HEAP32[$zCopy>>2]|0; $9 = ($8|0)!=(0|0); @@ -78377,7 +78833,7 @@ function _sqlite3Fts3InitTokenizer($pHash,$zArg,$ppTok,$pzErr) { $75 = ($74|0)!=(0); if ($75) { $76 = HEAP32[$4>>2]|0; - _sqlite3Fts3ErrMsg($76,25463,$vararg_buffer4); + _sqlite3Fts3ErrMsg($76,24847,$vararg_buffer4); } else { $77 = HEAP32[$m>>2]|0; $78 = HEAP32[$3>>2]|0; @@ -78390,7 +78846,7 @@ function _sqlite3Fts3InitTokenizer($pHash,$zArg,$ppTok,$pzErr) { $31 = HEAP32[$4>>2]|0; $32 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer1>>2] = $32; - _sqlite3Fts3ErrMsg($31,21211,$vararg_buffer1); + _sqlite3Fts3ErrMsg($31,20595,$vararg_buffer1); HEAP32[$rc>>2] = 1; } $81 = HEAP32[$zCopy>>2]|0; @@ -78454,7 +78910,7 @@ function _fts3IsSpecialColumn($z,$pnKey,$pzValue) { $20 = HEAP32[$zCsr>>2]|0; $21 = ((($20)) + 1|0); HEAP32[$vararg_buffer>>2] = $21; - $22 = (_sqlite3_mprintf(19007,$vararg_buffer)|0); + $22 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); HEAP32[$zValue>>2] = $22; $23 = HEAP32[$zValue>>2]|0; $24 = ($23|0)!=(0|0); @@ -78518,7 +78974,7 @@ function _fts3ContentColumns($db,$zDb,$zTbl,$pazCol,$pnCol,$pnStr,$pzErr) { HEAP32[$vararg_buffer>>2] = $7; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $8; - $9 = (_sqlite3_mprintf(25408,$vararg_buffer)|0); + $9 = (_sqlite3_mprintf(24792,$vararg_buffer)|0); HEAP32[$zSql>>2] = $9; $10 = HEAP32[$zSql>>2]|0; $11 = ($10|0)!=(0|0); @@ -78534,7 +78990,7 @@ function _fts3ContentColumns($db,$zDb,$zTbl,$pazCol,$pnCol,$pnStr,$pzErr) { $18 = HEAP32[$0>>2]|0; $19 = (_sqlite3_errmsg($18)|0); HEAP32[$vararg_buffer2>>2] = $19; - _sqlite3Fts3ErrMsg($17,19007,$vararg_buffer2); + _sqlite3Fts3ErrMsg($17,18391,$vararg_buffer2); } } else { HEAP32[$rc>>2] = 7; @@ -78972,10 +79428,10 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { HEAP32[$zFunction>>2] = $10; HEAP32[$zFree>>2] = $10; } else { - HEAP32[$zFunction>>2] = 19018; + HEAP32[$zFunction>>2] = 18402; } $11 = HEAP32[$2>>2]|0; - _fts3Appendf($11,$zRet,25326,$vararg_buffer); + _fts3Appendf($11,$zRet,24710,$vararg_buffer); HEAP32[$i>>2] = 0; while(1) { $12 = HEAP32[$i>>2]|0; @@ -79000,7 +79456,7 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { HEAP32[$vararg_ptr3>>2] = $19; $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); HEAP32[$vararg_ptr4>>2] = $25; - _fts3Appendf($17,$zRet,25332,$vararg_buffer1); + _fts3Appendf($17,$zRet,24716,$vararg_buffer1); $26 = HEAP32[$i>>2]|0; $27 = (($26) + 1)|0; HEAP32[$i>>2] = $27; @@ -79011,14 +79467,14 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $31 = ($30|0)!=(0|0); if ($31) { $32 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer5>>2] = 25354; - _fts3Appendf($32,$zRet,25347,$vararg_buffer5); + HEAP32[$vararg_buffer5>>2] = 24738; + _fts3Appendf($32,$zRet,24731,$vararg_buffer5); } $33 = HEAP32[$zFree>>2]|0; _sqlite3_free($33); } else { $34 = HEAP32[$2>>2]|0; - _fts3Appendf($34,$zRet,25361,$vararg_buffer8); + _fts3Appendf($34,$zRet,24745,$vararg_buffer8); HEAP32[$i>>2] = 0; while(1) { $35 = HEAP32[$i>>2]|0; @@ -79037,7 +79493,7 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $45 = (($44) + ($41<<2)|0); $46 = HEAP32[$45>>2]|0; HEAP32[$vararg_buffer10>>2] = $46; - _fts3Appendf($40,$zRet,25367,$vararg_buffer10); + _fts3Appendf($40,$zRet,24751,$vararg_buffer10); $47 = HEAP32[$i>>2]|0; $48 = (($47) + 1)|0; HEAP32[$i>>2] = $48; @@ -79052,7 +79508,7 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $55 = ((($54)) + 44|0); $56 = HEAP32[$55>>2]|0; HEAP32[$vararg_buffer13>>2] = $56; - _fts3Appendf($53,$zRet,25347,$vararg_buffer13); + _fts3Appendf($53,$zRet,24731,$vararg_buffer13); } } $57 = HEAP32[$2>>2]|0; @@ -79072,13 +79528,13 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $71 = ((($70)) + 40|0); $72 = HEAP32[$71>>2]|0; $73 = ($72|0)!=(0|0); - $74 = $73 ? 19018 : 25376; + $74 = $73 ? 18402 : 24760; HEAP32[$vararg_buffer16>>2] = $60; $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); HEAP32[$vararg_ptr19>>2] = $75; $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); HEAP32[$vararg_ptr20>>2] = $74; - _fts3Appendf($57,$zRet,25385,$vararg_buffer16); + _fts3Appendf($57,$zRet,24769,$vararg_buffer16); $76 = HEAP32[$zRet>>2]|0; STACKTOP = sp;return ($76|0); } else { @@ -79089,13 +79545,13 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $71 = ((($70)) + 40|0); $72 = HEAP32[$71>>2]|0; $73 = ($72|0)!=(0|0); - $74 = $73 ? 19018 : 25376; + $74 = $73 ? 18402 : 24760; HEAP32[$vararg_buffer16>>2] = $60; $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); HEAP32[$vararg_ptr19>>2] = $75; $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); HEAP32[$vararg_ptr20>>2] = $74; - _fts3Appendf($57,$zRet,25385,$vararg_buffer16); + _fts3Appendf($57,$zRet,24769,$vararg_buffer16); $76 = HEAP32[$zRet>>2]|0; STACKTOP = sp;return ($76|0); } @@ -79132,10 +79588,10 @@ function _fts3WriteExprList($p,$zFunc,$pRc) { HEAP32[$zFunction>>2] = $6; HEAP32[$zFree>>2] = $6; } else { - HEAP32[$zFunction>>2] = 19018; + HEAP32[$zFunction>>2] = 18402; } $7 = HEAP32[$2>>2]|0; - _fts3Appendf($7,$zRet,20891,$vararg_buffer); + _fts3Appendf($7,$zRet,20275,$vararg_buffer); HEAP32[$i>>2] = 0; while(1) { $8 = HEAP32[$i>>2]|0; @@ -79149,7 +79605,7 @@ function _fts3WriteExprList($p,$zFunc,$pRc) { $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$zFunction>>2]|0; HEAP32[$vararg_buffer1>>2] = $14; - _fts3Appendf($13,$zRet,25310,$vararg_buffer1); + _fts3Appendf($13,$zRet,24694,$vararg_buffer1); $15 = HEAP32[$i>>2]|0; $16 = (($15) + 1)|0; HEAP32[$i>>2] = $16; @@ -79165,7 +79621,7 @@ function _fts3WriteExprList($p,$zFunc,$pRc) { STACKTOP = sp;return ($23|0); } $21 = HEAP32[$2>>2]|0; - _fts3Appendf($21,$zRet,25317,$vararg_buffer3); + _fts3Appendf($21,$zRet,24701,$vararg_buffer3); $22 = HEAP32[$zFree>>2]|0; _sqlite3_free($22); $23 = HEAP32[$zRet>>2]|0; @@ -79210,7 +79666,7 @@ function _fts3CreateTables($p) { $9 = ((($8)) + 44|0); $10 = HEAP32[$9>>2]|0; HEAP32[$zLanguageid>>2] = $10; - $11 = (_sqlite3_mprintf(24935,$vararg_buffer)|0); + $11 = (_sqlite3_mprintf(24319,$vararg_buffer)|0); HEAP32[$zContentCols>>2] = $11; HEAP32[$i>>2] = 0; while(1) { @@ -79242,7 +79698,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_ptr4>>2] = $26; $vararg_ptr5 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr5>>2] = $27; - $28 = (_sqlite3_mprintf(24961,$vararg_buffer2)|0); + $28 = (_sqlite3_mprintf(24345,$vararg_buffer2)|0); HEAP32[$zContentCols>>2] = $28; $29 = HEAP32[$i>>2]|0; $30 = (($29) + 1)|0; @@ -79259,7 +79715,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer6>>2] = $35; $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = $36; - $37 = (_sqlite3_mprintf(24973,$vararg_buffer6)|0); + $37 = (_sqlite3_mprintf(24357,$vararg_buffer6)|0); HEAP32[$zContentCols>>2] = $37; } $38 = HEAP32[$zContentCols>>2]|0; @@ -79280,7 +79736,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_ptr13>>2] = $46; $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); HEAP32[$vararg_ptr14>>2] = $47; - _fts3DbExec($rc,$40,24984,$vararg_buffer10); + _fts3DbExec($rc,$40,24368,$vararg_buffer10); $48 = HEAP32[$zContentCols>>2]|0; _sqlite3_free($48); } @@ -79294,7 +79750,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer15>>2] = $52; $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); HEAP32[$vararg_ptr18>>2] = $55; - _fts3DbExec($rc,$49,25017,$vararg_buffer15); + _fts3DbExec($rc,$49,24401,$vararg_buffer15); $56 = HEAP32[$db>>2]|0; $57 = HEAP32[$0>>2]|0; $58 = ((($57)) + 16|0); @@ -79305,7 +79761,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer19>>2] = $59; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $62; - _fts3DbExec($rc,$56,25089,$vararg_buffer19); + _fts3DbExec($rc,$56,24473,$vararg_buffer19); $63 = HEAP32[$0>>2]|0; $64 = ((($63)) + 230|0); $65 = HEAP8[$64>>0]|0; @@ -79321,7 +79777,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer23>>2] = $70; $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); HEAP32[$vararg_ptr26>>2] = $73; - _fts3DbExec($rc,$67,25242,$vararg_buffer23); + _fts3DbExec($rc,$67,24626,$vararg_buffer23); } $74 = HEAP32[$0>>2]|0; $75 = ((($74)) + 229|0); @@ -79361,7 +79817,7 @@ function _fts3DatabasePageSize($pRc,$p) { $6 = ((($5)) + 16|0); $7 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer>>2] = $7; - $8 = (_sqlite3_mprintf(24915,$vararg_buffer)|0); + $8 = (_sqlite3_mprintf(24299,$vararg_buffer)|0); HEAP32[$zSql>>2] = $8; $9 = HEAP32[$zSql>>2]|0; $10 = ($9|0)!=(0|0); @@ -79445,7 +79901,7 @@ function _fts3DeclareVtab($pRc,$p) { $11 = HEAP32[$10>>2]|0; $12 = $11; } else { - $12 = 24840; + $12 = 24224; } HEAP32[$zLanguageid>>2] = $12; $13 = HEAP32[$1>>2]|0; @@ -79458,7 +79914,7 @@ function _fts3DeclareVtab($pRc,$p) { $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$18>>2]|0; HEAP32[$vararg_buffer2>>2] = $19; - $20 = (_sqlite3_mprintf(24849,$vararg_buffer2)|0); + $20 = (_sqlite3_mprintf(24233,$vararg_buffer2)|0); HEAP32[$zCols>>2] = $20; HEAP32[$i>>2] = 1; while(1) { @@ -79487,7 +79943,7 @@ function _fts3DeclareVtab($pRc,$p) { HEAP32[$vararg_buffer5>>2] = $28; $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); HEAP32[$vararg_ptr8>>2] = $34; - $35 = (_sqlite3_mprintf(24854,$vararg_buffer5)|0); + $35 = (_sqlite3_mprintf(24238,$vararg_buffer5)|0); HEAP32[$zCols>>2] = $35; $36 = HEAP32[$i>>2]|0; $37 = (($36) + 1)|0; @@ -79502,7 +79958,7 @@ function _fts3DeclareVtab($pRc,$p) { HEAP32[$vararg_ptr12>>2] = $40; $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); HEAP32[$vararg_ptr13>>2] = $41; - $42 = (_sqlite3_mprintf(24861,$vararg_buffer9)|0); + $42 = (_sqlite3_mprintf(24245,$vararg_buffer9)|0); HEAP32[$zSql>>2] = $42; $43 = HEAP32[$zCols>>2]|0; $44 = ($43|0)!=(0|0); @@ -79649,7 +80105,7 @@ function _fts3Appendf($pRc,$pz,$zFormat,$varargs) { HEAP32[$vararg_buffer>>2] = $14; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $15; - $16 = (_sqlite3_mprintf(25321,$vararg_buffer)|0); + $16 = (_sqlite3_mprintf(24705,$vararg_buffer)|0); HEAP32[$z2>>2] = $16; $17 = HEAP32[$z>>2]|0; _sqlite3_free($17); @@ -79794,7 +80250,7 @@ function _fts3TokenizerFunc($context,$argc,$argv) { $16 = ($15|0)!=(0); if (!($16)) { $40 = HEAP32[$0>>2]|0; - _sqlite3_result_error($40,25646,-1); + _sqlite3_result_error($40,25030,-1); STACKTOP = sp;return; } $17 = HEAP32[$2>>2]|0; @@ -79809,7 +80265,7 @@ function _fts3TokenizerFunc($context,$argc,$argv) { $or$cond = $22 | $24; if ($or$cond) { $25 = HEAP32[$0>>2]|0; - _sqlite3_result_error($25,25609,-1); + _sqlite3_result_error($25,24993,-1); STACKTOP = sp;return; } else { $26 = HEAP32[$2>>2]|0; @@ -79831,7 +80287,7 @@ function _fts3TokenizerFunc($context,$argc,$argv) { break; } $39 = HEAP32[$0>>2]|0; - _sqlite3_result_error($39,25632,-1); + _sqlite3_result_error($39,25016,-1); break; } } else { @@ -79849,7 +80305,7 @@ function _fts3TokenizerFunc($context,$argc,$argv) { if (!($48)) { $49 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $49; - $50 = (_sqlite3_mprintf(21211,$vararg_buffer)|0); + $50 = (_sqlite3_mprintf(20595,$vararg_buffer)|0); HEAP32[$zErr>>2] = $50; $51 = HEAP32[$0>>2]|0; $52 = HEAP32[$zErr>>2]|0; @@ -80422,7 +80878,7 @@ function _porterNext($pCursor,$pzToken,$pnBytes,$piStartOffset,$piEndOffset,$piP } else { $36 = HEAP32[$ch>>2]|0; $37 = (($36) - 48)|0; - $38 = (25668 + ($37)|0); + $38 = (25052 + ($37)|0); $39 = HEAP8[$38>>0]|0; $40 = ($39<<24>>24)!=(0); $41 = $40 ^ 1; @@ -80471,7 +80927,7 @@ function _porterNext($pCursor,$pzToken,$pnBytes,$piStartOffset,$piEndOffset,$piP } else { $64 = HEAP32[$ch>>2]|0; $65 = (($64) - 48)|0; - $66 = (25668 + ($65)|0); + $66 = (25052 + ($65)|0); $67 = HEAP8[$66>>0]|0; $68 = ($67<<24>>24)!=(0); $69 = $68 ^ 1; @@ -80715,13 +81171,13 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $55 = $54 << 24 >> 24; $56 = ($55|0)==(115); if ($56) { - $57 = (_stem($z,25748,25753,0)|0); + $57 = (_stem($z,25132,25137,0)|0); $58 = ($57|0)!=(0); if (!($58)) { - $59 = (_stem($z,25756,25760,0)|0); + $59 = (_stem($z,25140,25144,0)|0); $60 = ($59|0)!=(0); if (!($60)) { - $61 = (_stem($z,25753,25753,0)|0); + $61 = (_stem($z,25137,25137,0)|0); $62 = ($61|0)!=(0); if (!($62)) { $63 = HEAP32[$z>>2]|0; @@ -80733,14 +81189,14 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { } $65 = HEAP32[$z>>2]|0; HEAP32[$z2>>2] = $65; - $66 = (_stem($z,25762,25766,172)|0); + $66 = (_stem($z,25146,25150,172)|0); $67 = ($66|0)!=(0); do { if (!($67)) { - $68 = (_stem($z,25769,19018,173)|0); + $68 = (_stem($z,25153,18402,173)|0); $69 = ($68|0)!=(0); if (!($69)) { - $70 = (_stem($z,25773,19018,173)|0); + $70 = (_stem($z,25157,18402,173)|0); $71 = ($70|0)!=(0); if (!($71)) { break; @@ -80750,13 +81206,13 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $73 = HEAP32[$z2>>2]|0; $74 = ($72|0)!=($73|0); if ($74) { - $75 = (_stem($z,25776,25779,0)|0); + $75 = (_stem($z,25160,25163,0)|0); $76 = ($75|0)!=(0); if (!($76)) { - $77 = (_stem($z,25783,25786,0)|0); + $77 = (_stem($z,25167,25170,0)|0); $78 = ($77|0)!=(0); if (!($78)) { - $79 = (_stem($z,25790,25793,0)|0); + $79 = (_stem($z,25174,25177,0)|0); $80 = ($79|0)!=(0); if (!($80)) { $81 = HEAP32[$z>>2]|0; @@ -80826,43 +81282,43 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $118 = $117 << 24 >> 24; switch ($118|0) { case 97: { - $119 = (_stem($z,25797,25779,172)|0); + $119 = (_stem($z,25181,25163,172)|0); $120 = ($119|0)!=(0); if (!($120)) { - (_stem($z,25805,25812,172)|0); + (_stem($z,25189,25196,172)|0); } break; } case 99: { - $121 = (_stem($z,25817,25822,172)|0); + $121 = (_stem($z,25201,25206,172)|0); $122 = ($121|0)!=(0); if (!($122)) { - (_stem($z,25827,25832,172)|0); + (_stem($z,25211,25216,172)|0); } break; } case 101: { - (_stem($z,25837,25793,172)|0); + (_stem($z,25221,25177,172)|0); break; } case 103: { - (_stem($z,25842,25847,172)|0); + (_stem($z,25226,25231,172)|0); break; } case 108: { - $123 = (_stem($z,25851,25786,172)|0); + $123 = (_stem($z,25235,25170,172)|0); $124 = ($123|0)!=(0); if (!($124)) { - $125 = (_stem($z,25855,25860,172)|0); + $125 = (_stem($z,25239,25244,172)|0); $126 = ($125|0)!=(0); if (!($126)) { - $127 = (_stem($z,25863,25869,172)|0); + $127 = (_stem($z,25247,25253,172)|0); $128 = ($127|0)!=(0); if (!($128)) { - $129 = (_stem($z,25873,25877,172)|0); + $129 = (_stem($z,25257,25261,172)|0); $130 = ($129|0)!=(0); if (!($130)) { - (_stem($z,25879,25885,172)|0); + (_stem($z,25263,25269,172)|0); } } } @@ -80870,41 +81326,41 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { break; } case 111: { - $131 = (_stem($z,25889,25793,172)|0); + $131 = (_stem($z,25273,25177,172)|0); $132 = ($131|0)!=(0); if (!($132)) { - $133 = (_stem($z,25897,25779,172)|0); + $133 = (_stem($z,25281,25163,172)|0); $134 = ($133|0)!=(0); if (!($134)) { - (_stem($z,25903,25779,172)|0); + (_stem($z,25287,25163,172)|0); } } break; } case 115: { - $135 = (_stem($z,25908,25860,172)|0); + $135 = (_stem($z,25292,25244,172)|0); $136 = ($135|0)!=(0); if (!($136)) { - $137 = (_stem($z,25914,25922,172)|0); + $137 = (_stem($z,25298,25306,172)|0); $138 = ($137|0)!=(0); if (!($138)) { - $139 = (_stem($z,25926,25934,172)|0); + $139 = (_stem($z,25310,25318,172)|0); $140 = ($139|0)!=(0); if (!($140)) { - (_stem($z,25938,25885,172)|0); + (_stem($z,25322,25269,172)|0); } } } break; } case 116: { - $141 = (_stem($z,25946,25860,172)|0); + $141 = (_stem($z,25330,25244,172)|0); $142 = ($141|0)!=(0); if (!($142)) { - $143 = (_stem($z,25952,25922,172)|0); + $143 = (_stem($z,25336,25306,172)|0); $144 = ($143|0)!=(0); if (!($144)) { - (_stem($z,25958,25786,172)|0); + (_stem($z,25342,25170,172)|0); } } break; @@ -80917,31 +81373,31 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $147 = $146 << 24 >> 24; switch ($147|0) { case 101: { - $148 = (_stem($z,25965,25971,172)|0); + $148 = (_stem($z,25349,25355,172)|0); $149 = ($148|0)!=(0); if (!($149)) { - $150 = (_stem($z,25974,19018,172)|0); + $150 = (_stem($z,25358,18402,172)|0); $151 = ($150|0)!=(0); if (!($151)) { - (_stem($z,25980,25860,172)|0); + (_stem($z,25364,25244,172)|0); } } break; } case 105: { - (_stem($z,25986,25971,172)|0); + (_stem($z,25370,25355,172)|0); break; } case 108: { - $152 = (_stem($z,25992,25971,172)|0); + $152 = (_stem($z,25376,25355,172)|0); $153 = ($152|0)!=(0); if (!($153)) { - (_stem($z,25997,19018,172)|0); + (_stem($z,25381,18402,172)|0); } break; } case 115: { - (_stem($z,26001,19018,172)|0); + (_stem($z,25385,18402,172)|0); break; } default: { @@ -81116,13 +81572,13 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $255 = $254 << 24 >> 24; $256 = ($255|0)==(101); if ($256) { - $257 = (_stem($z,26006,19018,174)|0); + $257 = (_stem($z,25390,18402,174)|0); $258 = ($257|0)!=(0); if (!($258)) { - $259 = (_stem($z,26012,19018,174)|0); + $259 = (_stem($z,25396,18402,174)|0); $260 = ($259|0)!=(0); if (!($260)) { - (_stem($z,26017,19018,174)|0); + (_stem($z,25401,18402,174)|0); } } } @@ -81161,7 +81617,7 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { break L80; } } - (_stem($z,26021,19018,174)|0); + (_stem($z,25405,18402,174)|0); break; } case 115: { @@ -81190,10 +81646,10 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { break; } case 116: { - $295 = (_stem($z,26025,19018,174)|0); + $295 = (_stem($z,25409,18402,174)|0); $296 = ($295|0)!=(0); if (!($296)) { - (_stem($z,26029,19018,174)|0); + (_stem($z,25413,18402,174)|0); } break; } @@ -81914,7 +82370,7 @@ function _isVowel($z) { $7 = HEAP8[$x>>0]|0; $8 = $7 << 24 >> 24; $9 = (($8) - 97)|0; - $10 = (26033 + ($9)|0); + $10 = (25417 + ($9)|0); $11 = HEAP8[$10>>0]|0; $12 = $11 << 24 >> 24; HEAP32[$j>>2] = $12; @@ -81961,7 +82417,7 @@ function _isConsonant($z) { $7 = HEAP8[$x>>0]|0; $8 = $7 << 24 >> 24; $9 = (($8) - 97)|0; - $10 = (26033 + ($9)|0); + $10 = (25417 + ($9)|0); $11 = HEAP8[$10>>0]|0; $12 = $11 << 24 >> 24; HEAP32[$j>>2] = $12; @@ -82582,7 +83038,7 @@ function _fts3auxConnectMethod($db,$pUnused,$argc,$argv,$ppVtab,$pzErr) { break; } $20 = HEAP32[$zDb>>2]|0; - $21 = (_sqlite3_strnicmp(19288,$20,4)|0); + $21 = (_sqlite3_strnicmp(18672,$20,4)|0); $22 = (0)==($21|0); if (!($22)) { break; @@ -82608,7 +83064,7 @@ function _fts3auxConnectMethod($db,$pUnused,$argc,$argv,$ppVtab,$pzErr) { $35 = (_strlen($34)|0); HEAP32[$nFts3>>2] = $35; $36 = HEAP32[$1>>2]|0; - $37 = (_sqlite3_declare_vtab($36,26069)|0); + $37 = (_sqlite3_declare_vtab($36,25453)|0); HEAP32[$rc>>2] = $37; $38 = HEAP32[$rc>>2]|0; $39 = ($38|0)!=(0); @@ -82707,7 +83163,7 @@ function _fts3auxConnectMethod($db,$pUnused,$argc,$argv,$ppVtab,$pzErr) { } } while(0); $106 = HEAP32[$6>>2]|0; - _sqlite3Fts3ErrMsg($106,26138,$vararg_buffer); + _sqlite3Fts3ErrMsg($106,25522,$vararg_buffer); HEAP32[$0>>2] = 1; $107 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($107|0); @@ -83193,7 +83649,7 @@ function _fts3auxFilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { if ($65) { $66 = HEAP32[$zStr>>2]|0; HEAP32[$vararg_buffer>>2] = $66; - $67 = (_sqlite3_mprintf(19007,$vararg_buffer)|0); + $67 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); $68 = HEAP32[$pCsr>>2]|0; $69 = ((($68)) + 60|0); HEAP32[$69>>2] = $67; @@ -83224,7 +83680,7 @@ function _fts3auxFilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { $85 = HEAP32[$84>>2]|0; $86 = (_sqlite3_value_text($85)|0); HEAP32[$vararg_buffer2>>2] = $86; - $87 = (_sqlite3_mprintf(19007,$vararg_buffer2)|0); + $87 = (_sqlite3_mprintf(18391,$vararg_buffer2)|0); $88 = HEAP32[$pCsr>>2]|0; $89 = ((($88)) + 76|0); HEAP32[$89>>2] = $87; @@ -83783,7 +84239,7 @@ function _fts3auxColumnMethod($pCursor,$pCtx,$iCol) { _sqlite3_result_int($18,$22); STACKTOP = sp;return 0; } else { - _sqlite3_result_text($18,26067,-1,0); + _sqlite3_result_text($18,25451,-1,0); STACKTOP = sp;return 0; } break; @@ -83991,7 +84447,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $22 = ($21|0)==(19); if ($22) { $23 = HEAP32[$z>>2]|0; - $24 = (_memcmp(26344,$23,19)|0); + $24 = (_memcmp(25728,$23,19)|0); $25 = ($24|0)==(0); if ($25) { $26 = HEAP32[$pNew>>2]|0; @@ -84010,7 +84466,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $29 = ($28|0)==(19); if ($29) { $30 = HEAP32[$z>>2]|0; - $31 = (_memcmp(26364,$30,19)|0); + $31 = (_memcmp(25748,$30,19)|0); $32 = ($31|0)==(0); if ($32) { $33 = HEAP32[$pNew>>2]|0; @@ -84023,7 +84479,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $36 = ($35|0)>=(11); if ($36) { $37 = HEAP32[$z>>2]|0; - $38 = (_memcmp(26384,$37,11)|0); + $38 = (_memcmp(25768,$37,11)|0); $39 = ($38|0)==(0); if ($39) { $40 = HEAP32[$pNew>>2]|0; @@ -84040,7 +84496,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $47 = ($46|0)>=(11); if ($47) { $48 = HEAP32[$z>>2]|0; - $49 = (_memcmp(26396,$48,11)|0); + $49 = (_memcmp(25780,$48,11)|0); $50 = ($49|0)==(0); if ($50) { $51 = HEAP32[$pNew>>2]|0; @@ -84274,7 +84730,7 @@ function _unicodeNext($pC,$paToken,$pnToken,$piStart,$piEnd,$piPos) { if ($33) { $34 = HEAP32[$iCode>>2]|0; $35 = (($34) - 192)|0; - $36 = (26179 + ($35)|0); + $36 = (25563 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; HEAP32[$iCode>>2] = $38; @@ -84544,7 +85000,7 @@ function _unicodeNext($pC,$paToken,$pnToken,$piStart,$piEnd,$piPos) { if ($213) { $214 = HEAP32[$iCode>>2]|0; $215 = (($214) - 192)|0; - $216 = (26179 + ($215)|0); + $216 = (25563 + ($215)|0); $217 = HEAP8[$216>>0]|0; $218 = $217&255; HEAP32[$iCode>>2] = $218; @@ -84762,7 +85218,7 @@ function _sqlite3FtsUnicodeFold($c,$bRemoveDiacritic) { HEAP32[$iTest>>2] = $18; $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$iTest>>2]|0; - $21 = (10630 + ($20<<2)|0); + $21 = (9798 + ($20<<2)|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = (($19) - ($23))|0; @@ -84786,7 +85242,7 @@ function _sqlite3FtsUnicodeFold($c,$bRemoveDiacritic) { $32 = ($31|0)>=(0); if ($32) { $33 = HEAP32[$iRes>>2]|0; - $34 = (10630 + ($33<<2)|0); + $34 = (9798 + ($33<<2)|0); HEAP32[$p>>2] = $34; $35 = HEAP32[$0>>2]|0; $36 = HEAP32[$p>>2]|0; @@ -84818,7 +85274,7 @@ function _sqlite3FtsUnicodeFold($c,$bRemoveDiacritic) { $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = $61 >> 1; - $63 = (11282 + ($62<<1)|0); + $63 = (10450 + ($62<<1)|0); $64 = HEAP16[$63>>1]|0; $65 = $64&65535; $66 = (($57) + ($65))|0; @@ -84900,8 +85356,8 @@ function _remove_diacritic($c) { $iLo = sp + 4|0; $iTest = sp; HEAP32[$0>>2] = $c; - _memcpy(($aDia|0),(11436|0),202)|0; - dest=$aChar; src=26243; stop=dest+101|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + _memcpy(($aDia|0),(10604|0),202)|0; + dest=$aChar; src=25627; stop=dest+101|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $1 = HEAP32[$0>>2]|0; $2 = $1 << 3; $3 = $2 | 7; @@ -84987,7 +85443,7 @@ function _sqlite3FtsUnicodeIsalnum($c) { $4 = HEAP32[$1>>2]|0; if ($3) { $5 = $4 >> 5; - $6 = (2372 + ($5<<2)|0); + $6 = (2384 + ($5<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = $8 & 31; @@ -85026,7 +85482,7 @@ function _sqlite3FtsUnicodeIsalnum($c) { HEAP32[$iTest>>2] = $24; $25 = HEAP32[$key>>2]|0; $26 = HEAP32[$iTest>>2]|0; - $27 = (2388 + ($26<<2)|0); + $27 = (2400 + ($26<<2)|0); $28 = HEAP32[$27>>2]|0; $29 = ($25>>>0)>=($28>>>0); $30 = HEAP32[$iTest>>2]|0; @@ -85044,11 +85500,11 @@ function _sqlite3FtsUnicodeIsalnum($c) { } $34 = HEAP32[$1>>2]|0; $35 = HEAP32[$iRes>>2]|0; - $36 = (2388 + ($35<<2)|0); + $36 = (2400 + ($35<<2)|0); $37 = HEAP32[$36>>2]|0; $38 = $37 >>> 10; $39 = HEAP32[$iRes>>2]|0; - $40 = (2388 + ($39<<2)|0); + $40 = (2400 + ($39<<2)|0); $41 = HEAP32[$40>>2]|0; $42 = $41 & 1023; $43 = (($38) + ($42))|0; @@ -85197,7 +85653,7 @@ function _unicodeAddExceptions($p,$bAlnum,$zIn,$nIn) { if ($17) { $18 = HEAP32[$iCode>>2]|0; $19 = (($18) - 192)|0; - $20 = (26179 + ($19)|0); + $20 = (25563 + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; HEAP32[$iCode>>2] = $22; @@ -85309,7 +85765,7 @@ function _unicodeAddExceptions($p,$bAlnum,$zIn,$nIn) { if ($81) { $82 = HEAP32[$iCode>>2]|0; $83 = (($82) - 192)|0; - $84 = (26179 + ($83)|0); + $84 = (25563 + ($83)|0); $85 = HEAP8[$84>>0]|0; $86 = $85&255; HEAP32[$iCode>>2] = $86; @@ -85758,7 +86214,7 @@ function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$x $87 = HEAP32[$86>>2]|0; $88 = ($84|0)>($87|0); if ($88) { - $89 = (_sqlite3CantopenError(50512)|0); + $89 = (_sqlite3CantopenError(51006)|0); HEAP32[$rc>>2] = $89; } } @@ -85896,7 +86352,7 @@ function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$x $187 = ((($186)) + 180|0); $188 = HEAP32[$187>>2]|0; $189 = (($188) + ($185)|0); - dest=$189; src=26605; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=$189; src=25989; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $190 = HEAP32[$nPathname>>2]|0; $191 = (($190) + 8)|0; $192 = (($191) + 1)|0; @@ -85918,7 +86374,7 @@ function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$x $206 = ((($205)) + 220|0); $207 = HEAP32[$206>>2]|0; $208 = (($207) + ($204)|0); - ;HEAP8[$208>>0]=HEAP8[26615>>0]|0;HEAP8[$208+1>>0]=HEAP8[26615+1>>0]|0;HEAP8[$208+2>>0]=HEAP8[26615+2>>0]|0;HEAP8[$208+3>>0]=HEAP8[26615+3>>0]|0;HEAP8[$208+4>>0]=HEAP8[26615+4>>0]|0; + ;HEAP8[$208>>0]=HEAP8[25999>>0]|0;HEAP8[$208+1>>0]=HEAP8[25999+1>>0]|0;HEAP8[$208+2>>0]=HEAP8[25999+2>>0]|0;HEAP8[$208+3>>0]=HEAP8[25999+3>>0]|0;HEAP8[$208+4>>0]=HEAP8[25999+4>>0]|0; $209 = HEAP32[$zPathname>>2]|0; _sqlite3DbFree(0,$209); } @@ -85990,7 +86446,7 @@ function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$x } } while(0); $253 = HEAP32[$3>>2]|0; - $254 = (_sqlite3_uri_boolean($253,26621,0)|0); + $254 = (_sqlite3_uri_boolean($253,26005,0)|0); $255 = $254&255; $256 = HEAP32[$pPager>>2]|0; $257 = ((($256)) + 14|0); @@ -86000,7 +86456,7 @@ function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$x $260 = ($259|0)!=(0); if (!($260)) { $261 = HEAP32[$3>>2]|0; - $262 = (_sqlite3_uri_boolean($261,26628,0)|0); + $262 = (_sqlite3_uri_boolean($261,26012,0)|0); $263 = ($262|0)!=(0); if (!($263)) { break; @@ -86609,7 +87065,7 @@ function _pager_unlock($pPager) { $6 = HEAP32[$0>>2]|0; _releaseAllSavepoints($6); $7 = HEAP32[$0>>2]|0; - $8 = (_pagerUseWal($7)|0); + $8 = (_sqlite3PagerUseWal($7)|0); $9 = ($8|0)!=(0); $10 = HEAP32[$0>>2]|0; if ($9) { @@ -86954,7 +87410,7 @@ function _sqlite3PagerRollback($pPager) { STACKTOP = sp;return ($59|0); } $14 = HEAP32[$1>>2]|0; - $15 = (_pagerUseWal($14)|0); + $15 = (_sqlite3PagerUseWal($14)|0); $16 = ($15|0)!=(0); $17 = HEAP32[$1>>2]|0; do { @@ -87261,7 +87717,7 @@ function _pager_end_transaction($pPager,$hasMaster,$bCommit) { _sqlite3PcacheTruncate($138,$141); } $142 = HEAP32[$1>>2]|0; - $143 = (_pagerUseWal($142)|0); + $143 = (_sqlite3PagerUseWal($142)|0); $144 = ($143|0)!=(0); if ($144) { $145 = HEAP32[$1>>2]|0; @@ -87323,7 +87779,7 @@ function _pager_end_transaction($pPager,$hasMaster,$bCommit) { do { if (!($183)) { $184 = HEAP32[$1>>2]|0; - $185 = (_pagerUseWal($184)|0); + $185 = (_sqlite3PagerUseWal($184)|0); $186 = ($185|0)!=(0); if ($186) { $187 = HEAP32[$1>>2]|0; @@ -87435,7 +87891,7 @@ function _sqlite3JournalIsInMemory($p) { HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(4872|0); + $3 = ($2|0)==(4028|0); $4 = $3&1; STACKTOP = sp;return ($4|0); } @@ -87555,7 +88011,7 @@ function _zeroJournalHdr($pPager,$doTruncate) { $39 = (_sqlite3OsTruncate($38,0,0)|0); HEAP32[$rc>>2] = $39; } else { - $40 = (_sqlite3OsWrite($38,26462,28,0,0)|0); + $40 = (_sqlite3OsWrite($38,25846,28,0,0)|0); HEAP32[$rc>>2] = $40; } $41 = HEAP32[$rc>>2]|0; @@ -87773,7 +88229,7 @@ function _sqlite3PcacheClearWritable($pCache) { HEAP32[$18>>2] = $16; STACKTOP = sp;return; } -function _pagerUseWal($pPager) { +function _sqlite3PagerUseWal($pPager) { $pPager = $pPager|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -89238,7 +89694,7 @@ function _sqlite3PagerSavepoint($pPager,$op,$iSavepoint) { $37 = ($36|0)==(1); if (!($37)) { $56 = HEAP32[$0>>2]|0; - $57 = (_pagerUseWal($56)|0); + $57 = (_sqlite3PagerUseWal($56)|0); $58 = ($57|0)!=(0); if (!($58)) { $59 = HEAP32[$0>>2]|0; @@ -89699,7 +90155,7 @@ function _pager_playback($pPager,$isHot) { HEAP32[$vararg_buffer>>2] = $241; $vararg_ptr8 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr8>>2] = $244; - _sqlite3_log(539,26490,$vararg_buffer); + _sqlite3_log(539,25874,$vararg_buffer); $245 = HEAP32[$0>>2]|0; _setSectorSize($245); $246 = HEAP32[$rc>>2]|0; @@ -89795,7 +90251,7 @@ function _readMasterJournal($pJrnl,$zMaster,$nMaster) { HEAP32[$rc>>2] = $55; $56 = (0)!=($55|0); if (!($56)) { - $57 = (_memcmp($aMagic,26517,8)|0); + $57 = (_memcmp($aMagic,25901,8)|0); $58 = ($57|0)!=(0); if (!($58)) { $59 = HEAP32[$1>>2]|0; @@ -90028,7 +90484,7 @@ function _readJournalHdr($pPager,$isHot,$0,$1,$pNRec,$pDbSize) { $219 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($219|0); } - $89 = (_memcmp($aMagic,26517,8)|0); + $89 = (_memcmp($aMagic,25901,8)|0); $90 = ($89|0)!=(0); if ($90) { HEAP32[$2>>2] = 101; @@ -90344,7 +90800,7 @@ function _pager_playback_one_page($pPager,$pOffset,$pDone,$isMainJrnl,$isSavepnt $70 = ($69|0)==(0); if (!($70)) { $71 = HEAP32[$pgno>>2]|0; - $72 = HEAP32[1524>>2]|0; + $72 = HEAP32[1536>>2]|0; $73 = HEAP32[$1>>2]|0; $74 = ((($73)) + 160|0); $75 = HEAP32[$74>>2]|0; @@ -90439,7 +90895,7 @@ function _pager_playback_one_page($pPager,$pOffset,$pDone,$isMainJrnl,$isSavepnt } } $135 = HEAP32[$1>>2]|0; - $136 = (_pagerUseWal($135)|0); + $136 = (_sqlite3PagerUseWal($135)|0); $137 = ($136|0)!=(0); if ($137) { HEAP32[$pPg>>2] = 0; @@ -91438,7 +91894,7 @@ function _pcacheFetchFinishWithInit($pCache,$pgno,$pPage) { $pgno = $pgno|0; $pPage = $pPage|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pPgHdr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -91453,43 +91909,44 @@ function _pcacheFetchFinishWithInit($pCache,$pgno,$pPage) { $5 = HEAP32[$4>>2]|0; HEAP32[$pPgHdr>>2] = $5; $6 = HEAP32[$pPgHdr>>2]|0; - dest=$6; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$pPgHdr>>2]|0; - HEAP32[$8>>2] = $7; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$pPgHdr>>2]|0; - $12 = ((($11)) + 4|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$pPgHdr>>2]|0; - $14 = ((($13)) + 40|0); - $15 = HEAP32[$pPgHdr>>2]|0; - $16 = ((($15)) + 8|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$pPgHdr>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 28|0); - $22 = HEAP32[$21>>2]|0; - _memset(($19|0),0,($22|0))|0; - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$pPgHdr>>2]|0; - $25 = ((($24)) + 28|0); - HEAP32[$25>>2] = $23; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$pPgHdr>>2]|0; - $28 = ((($27)) + 20|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$pPgHdr>>2]|0; - $30 = ((($29)) + 24|0); - HEAP16[$30>>1] = 1; - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = (_sqlite3PcacheFetchFinish($31,$32,$33)|0); - STACKTOP = sp;return ($34|0); + $7 = ((($6)) + 12|0); + ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;HEAP32[$7+20>>2]=0|0;HEAP32[$7+24>>2]=0|0; + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$pPgHdr>>2]|0; + HEAP32[$9>>2] = $8; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$pPgHdr>>2]|0; + $13 = ((($12)) + 4|0); + HEAP32[$13>>2] = $11; + $14 = HEAP32[$pPgHdr>>2]|0; + $15 = ((($14)) + 40|0); + $16 = HEAP32[$pPgHdr>>2]|0; + $17 = ((($16)) + 8|0); + HEAP32[$17>>2] = $15; + $18 = HEAP32[$pPgHdr>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 28|0); + $23 = HEAP32[$22>>2]|0; + _memset(($20|0),0,($23|0))|0; + $24 = HEAP32[$0>>2]|0; + $25 = HEAP32[$pPgHdr>>2]|0; + $26 = ((($25)) + 28|0); + HEAP32[$26>>2] = $24; + $27 = HEAP32[$1>>2]|0; + $28 = HEAP32[$pPgHdr>>2]|0; + $29 = ((($28)) + 20|0); + HEAP32[$29>>2] = $27; + $30 = HEAP32[$pPgHdr>>2]|0; + $31 = ((($30)) + 24|0); + HEAP16[$31>>1] = 1; + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$1>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = (_sqlite3PcacheFetchFinish($32,$33,$34)|0); + STACKTOP = sp;return ($35|0); } function _journalHdrOffset($pPager) { $pPager = $pPager|0; @@ -91655,7 +92112,7 @@ function _pagerPlaybackSavepoint($pPager,$pSavepoint) { $28 = ($27|0)!=(0|0); if (!($28)) { $29 = HEAP32[$1>>2]|0; - $30 = (_pagerUseWal($29)|0); + $30 = (_sqlite3PagerUseWal($29)|0); $31 = ($30|0)!=(0); if ($31) { $32 = HEAP32[$1>>2]|0; @@ -91684,7 +92141,7 @@ function _pagerPlaybackSavepoint($pPager,$pSavepoint) { L15: do { if ($47) { $48 = HEAP32[$1>>2]|0; - $49 = (_pagerUseWal($48)|0); + $49 = (_sqlite3PagerUseWal($48)|0); $50 = ($49|0)!=(0); if ($50) { label = 19; @@ -91951,7 +92408,7 @@ function _pagerPlaybackSavepoint($pPager,$pSavepoint) { $253 = $252; HEAP32[$253>>2] = $249; $254 = HEAP32[$1>>2]|0; - $255 = (_pagerUseWal($254)|0); + $255 = (_sqlite3PagerUseWal($254)|0); $256 = ($255|0)!=(0); if ($256) { $257 = HEAP32[$1>>2]|0; @@ -92676,7 +93133,8 @@ function _pcacheSortDirtyList($pIn) { $pIn = $pIn|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $p = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $p = 0; + var dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $0 = sp + 136|0; @@ -92755,27 +93213,43 @@ function _pcacheSortDirtyList($pIn) { while(1) { $37 = HEAP32[$i>>2]|0; $38 = ($37|0)<(32); - $39 = HEAP32[$p>>2]|0; if (!($38)) { break; } - $40 = HEAP32[$i>>2]|0; - $41 = (($a) + ($40<<2)|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_pcacheMergeDirtyList($39,$42)|0); - HEAP32[$p>>2] = $43; - $44 = HEAP32[$i>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$i>>2] = $45; + $39 = HEAP32[$i>>2]|0; + $40 = (($a) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)==(0|0); + if (!($42)) { + $43 = HEAP32[$p>>2]|0; + $44 = ($43|0)!=(0|0); + if ($44) { + $45 = HEAP32[$p>>2]|0; + $46 = HEAP32[$i>>2]|0; + $47 = (($a) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_pcacheMergeDirtyList($45,$48)|0); + $53 = $49; + } else { + $50 = HEAP32[$i>>2]|0; + $51 = (($a) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52; + } + HEAP32[$p>>2] = $53; + } + $54 = HEAP32[$i>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$i>>2] = $55; } - STACKTOP = sp;return ($39|0); + $56 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($56|0); } function _pcacheMergeDirtyList($pA,$pB) { $pA = $pA|0; $pB = $pB|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $pTail = 0, $result = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTail = 0, $result = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 52|0; @@ -92787,32 +93261,31 @@ function _pcacheMergeDirtyList($pA,$pB) { HEAP32[$pTail>>2] = $result; while(1) { $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - $6 = $3 ? $5 : 0; - $7 = HEAP32[$0>>2]|0; - if (!($6)) { - break; - } - $8 = ((($7)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($9>>>0)<($12>>>0); - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = HEAP32[$pTail>>2]|0; - $16 = ((($15)) + 12|0); - HEAP32[$16>>2] = $14; - $17 = HEAP32[$0>>2]|0; - HEAP32[$pTail>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$0>>2] = $20; - continue; + $3 = ((($2)) + 20|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($4>>>0)<($7>>>0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$pTail>>2]|0; + $11 = ((($10)) + 12|0); + HEAP32[$11>>2] = $9; + $12 = HEAP32[$0>>2]|0; + HEAP32[$pTail>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 12|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$0>>2] = $15; + $16 = HEAP32[$0>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + label = 4; + break; + } else { + continue; + } } else { $21 = HEAP32[$1>>2]|0; $22 = HEAP32[$pTail>>2]|0; @@ -92824,36 +93297,33 @@ function _pcacheMergeDirtyList($pA,$pB) { $26 = ((($25)) + 12|0); $27 = HEAP32[$26>>2]|0; HEAP32[$1>>2] = $27; - continue; + $28 = HEAP32[$1>>2]|0; + $29 = ($28|0)==(0|0); + if ($29) { + label = 6; + break; + } else { + continue; + } } } - $28 = ($7|0)!=(0|0); - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$pTail>>2]|0; - $31 = ((($30)) + 12|0); - HEAP32[$31>>2] = $29; - $39 = ((($result)) + 12|0); - $40 = HEAP32[$39>>2]|0; - STACKTOP = sp;return ($40|0); + if ((label|0) == 4) { + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$pTail>>2]|0; + $20 = ((($19)) + 12|0); + HEAP32[$20>>2] = $18; + $33 = ((($result)) + 12|0); + $34 = HEAP32[$33>>2]|0; + STACKTOP = sp;return ($34|0); } - $32 = HEAP32[$1>>2]|0; - $33 = ($32|0)!=(0|0); - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$pTail>>2]|0; - $36 = ((($35)) + 12|0); - HEAP32[$36>>2] = $34; - $39 = ((($result)) + 12|0); - $40 = HEAP32[$39>>2]|0; - STACKTOP = sp;return ($40|0); - } else { - $37 = HEAP32[$pTail>>2]|0; - $38 = ((($37)) + 12|0); - HEAP32[$38>>2] = 0; - $39 = ((($result)) + 12|0); - $40 = HEAP32[$39>>2]|0; - STACKTOP = sp;return ($40|0); + else if ((label|0) == 6) { + $30 = HEAP32[$0>>2]|0; + $31 = HEAP32[$pTail>>2]|0; + $32 = ((($31)) + 12|0); + HEAP32[$32>>2] = $30; + $33 = ((($result)) + 12|0); + $34 = HEAP32[$33>>2]|0; + STACKTOP = sp;return ($34|0); } return (0)|0; } @@ -93111,7 +93581,7 @@ function _sqlite3WalFindFrame($pWal,$pgno,$piRead) { STACKTOP = sp;return ($77|0); } else if ((label|0) == 15) { - $70 = (_sqlite3CorruptError(55832)|0); + $70 = (_sqlite3CorruptError(56344)|0); HEAP32[$0>>2] = $70; $77 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($77|0); @@ -93642,7 +94112,7 @@ function _sqlite3WalCheckpoint($pWal,$eMode,$xBusy,$pBusyArg,$sync_flags,$nBuf,$ $59 = HEAP32[$6>>2]|0; $60 = ($58|0)!=($59|0); if ($60) { - $61 = (_sqlite3CorruptError(56532)|0); + $61 = (_sqlite3CorruptError(57049)|0); HEAP32[$rc>>2] = $61; } else { label = 18; @@ -93818,7 +94288,7 @@ function _walLimitSize($pWal,$0,$1) { $45 = ((($44)) + 108|0); $46 = HEAP32[$45>>2]|0; HEAP32[$vararg_buffer>>2] = $46; - _sqlite3_log($43,26525,$vararg_buffer); + _sqlite3_log($43,25909,$vararg_buffer); STACKTOP = sp;return; } function _walIndexClose($pWal,$isDelete) { @@ -94086,7 +94556,7 @@ function _walIndexReadHdr($pWal,$pChanged) { $48 = HEAP32[$47>>2]|0; $49 = ($48|0)!=(3007000); if ($49) { - $50 = (_sqlite3CantopenError(55385)|0); + $50 = (_sqlite3CantopenError(55897)|0); HEAP32[$rc>>2] = $50; } } @@ -95780,7 +96250,7 @@ function _walIndexRecover($pWal) { $75 = ((($74)) + 13|0); $76 = HEAP8[$75>>0]|0; $77 = $76&255; - $78 = HEAP8[960>>0]|0; + $78 = HEAP8[968>>0]|0; $79 = $78 << 24 >> 24; $80 = ($79|0)==(0); $81 = $80&1; @@ -95813,7 +96283,7 @@ function _walIndexRecover($pWal) { $104 = HEAP32[$version>>2]|0; $105 = ($104|0)!=(3007000); if ($105) { - $106 = (_sqlite3CantopenError(54439)|0); + $106 = (_sqlite3CantopenError(54951)|0); HEAP32[$rc>>2] = $106; break; } @@ -96049,7 +96519,7 @@ function _walIndexRecover($pWal) { HEAP32[$vararg_buffer>>2] = $268; $vararg_ptr4 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr4>>2] = $271; - _sqlite3_log(283,26568,$vararg_buffer); + _sqlite3_log(283,25952,$vararg_buffer); } } } @@ -96071,7 +96541,7 @@ function _sqlite3CantopenError($lineno) { $0 = sp; HEAP32[$0>>2] = $lineno; $1 = HEAP32[$0>>2]|0; - $2 = (_reportError(14,$1,26551)|0); + $2 = (_reportError(14,$1,25935)|0); STACKTOP = sp;return ($2|0); } function _walDecodeFrame($pWal,$piPage,$pnTruncate,$aData,$aFrame) { @@ -96131,7 +96601,7 @@ function _walDecodeFrame($pWal,$piPage,$pnTruncate,$aData,$aFrame) { $22 = ((($21)) + 13|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; - $25 = HEAP8[960>>0]|0; + $25 = HEAP8[968>>0]|0; $26 = $25 << 24 >> 24; $27 = ($26|0)==(0); $28 = $27&1; @@ -96289,7 +96759,7 @@ function _walIndexAppend($pWal,$iFrame,$iPage) { HEAP16[$53>>1] = $50; break; } - $42 = (_sqlite3CorruptError(54308)|0); + $42 = (_sqlite3CorruptError(54820)|0); HEAP32[$0>>2] = $42; $55 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($55|0); @@ -96441,7 +96911,7 @@ function _pagerStress($p,$pPg) { $26 = ((($25)) + 12|0); HEAP32[$26>>2] = 0; $27 = HEAP32[$pPager>>2]|0; - $28 = (_pagerUseWal($27)|0); + $28 = (_sqlite3PagerUseWal($27)|0); $29 = ($28|0)!=(0); $30 = HEAP32[$2>>2]|0; if ($29) { @@ -96776,7 +97246,7 @@ function _syncJournal($pPager,$newHdr) { $27 = $26 & 512; $28 = (0)==($27|0); if ($28) { - ;HEAP8[$zHeader>>0]=HEAP8[26517>>0]|0;HEAP8[$zHeader+1>>0]=HEAP8[26517+1>>0]|0;HEAP8[$zHeader+2>>0]=HEAP8[26517+2>>0]|0;HEAP8[$zHeader+3>>0]=HEAP8[26517+3>>0]|0;HEAP8[$zHeader+4>>0]=HEAP8[26517+4>>0]|0;HEAP8[$zHeader+5>>0]=HEAP8[26517+5>>0]|0;HEAP8[$zHeader+6>>0]=HEAP8[26517+6>>0]|0;HEAP8[$zHeader+7>>0]=HEAP8[26517+7>>0]|0; + ;HEAP8[$zHeader>>0]=HEAP8[25901>>0]|0;HEAP8[$zHeader+1>>0]=HEAP8[25901+1>>0]|0;HEAP8[$zHeader+2>>0]=HEAP8[25901+2>>0]|0;HEAP8[$zHeader+3>>0]=HEAP8[25901+3>>0]|0;HEAP8[$zHeader+4>>0]=HEAP8[25901+4>>0]|0;HEAP8[$zHeader+5>>0]=HEAP8[25901+5>>0]|0;HEAP8[$zHeader+6>>0]=HEAP8[25901+6>>0]|0;HEAP8[$zHeader+7>>0]=HEAP8[25901+7>>0]|0; $29 = ((($zHeader)) + 8|0); $30 = HEAP32[$1>>2]|0; $31 = ((($30)) + 48|0); @@ -96805,7 +97275,7 @@ function _syncJournal($pPager,$newHdr) { $50 = HEAP32[$rc>>2]|0; $51 = ($50|0)==(0); if ($51) { - $52 = (_memcmp($aMagic,26517,8)|0); + $52 = (_memcmp($aMagic,25901,8)|0); $53 = (0)==($52|0); if ($53) { $54 = HEAP32[$1>>2]|0; @@ -96817,7 +97287,7 @@ function _syncJournal($pPager,$newHdr) { $60 = (($57) + 4)|0; $61 = $60; $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3OsWrite($56,26638,1,$59,$62)|0); + $63 = (_sqlite3OsWrite($56,26022,1,$59,$62)|0); HEAP32[$rc>>2] = $63; } } @@ -97251,7 +97721,7 @@ function _pager_write_changecounter($pPg) { $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = ((($19)) + 96|0); - _sqlite3Put4byte($20,3013000); + _sqlite3Put4byte($20,3015001); STACKTOP = sp;return; } function _sqlite3PagerExclusiveLock($pPager) { @@ -97270,7 +97740,7 @@ function _sqlite3PagerExclusiveLock($pPager) { $5 = ($4|0)==(0); if ($5) { $6 = HEAP32[$0>>2]|0; - $7 = (_pagerUseWal($6)|0); + $7 = (_sqlite3PagerUseWal($6)|0); $8 = (0)==($7|0); if ($8) { $9 = HEAP32[$0>>2]|0; @@ -97423,7 +97893,7 @@ function _writeJournalHdr($pPager) { } if ((label|0) == 11) { $86 = HEAP32[$zHeader>>2]|0; - ;HEAP8[$86>>0]=HEAP8[26517>>0]|0;HEAP8[$86+1>>0]=HEAP8[26517+1>>0]|0;HEAP8[$86+2>>0]=HEAP8[26517+2>>0]|0;HEAP8[$86+3>>0]=HEAP8[26517+3>>0]|0;HEAP8[$86+4>>0]=HEAP8[26517+4>>0]|0;HEAP8[$86+5>>0]=HEAP8[26517+5>>0]|0;HEAP8[$86+6>>0]=HEAP8[26517+6>>0]|0;HEAP8[$86+7>>0]=HEAP8[26517+7>>0]|0; + ;HEAP8[$86>>0]=HEAP8[25901>>0]|0;HEAP8[$86+1>>0]=HEAP8[25901+1>>0]|0;HEAP8[$86+2>>0]=HEAP8[25901+2>>0]|0;HEAP8[$86+3>>0]=HEAP8[25901+3>>0]|0;HEAP8[$86+4>>0]=HEAP8[25901+4>>0]|0;HEAP8[$86+5>>0]=HEAP8[25901+5>>0]|0;HEAP8[$86+6>>0]=HEAP8[25901+6>>0]|0;HEAP8[$86+7>>0]=HEAP8[25901+7>>0]|0; $87 = HEAP32[$zHeader>>2]|0; $88 = ((($87)) + 8|0); _sqlite3Put4byte($88,-1); @@ -97702,35 +98172,37 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aCksum = 0, $aWalHdr = 0, $iFirst = 0, $iFrame = 0; + var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; + var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aCksum = 0, $aWalHdr = 0, $bSync = 0, $iFirst = 0, $iFrame = 0; var $iOff = 0, $iOffset = 0, $iWrite = 0, $nDbSize = 0, $nExtra = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pData = 0, $pLast = 0, $pLive = 0, $rc = 0, $sectorSize = 0, $sz = 0, $szFrame = 0, $w = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; - $0 = sp + 128|0; - $1 = sp + 124|0; - $2 = sp + 120|0; - $3 = sp + 116|0; - $4 = sp + 112|0; - $5 = sp + 108|0; - $6 = sp + 104|0; - $rc = sp + 100|0; - $iFrame = sp + 96|0; - $p = sp + 92|0; - $pLast = sp + 88|0; - $nExtra = sp + 84|0; - $szFrame = sp + 80|0; + $0 = sp + 136|0; + $1 = sp + 132|0; + $2 = sp + 128|0; + $3 = sp + 124|0; + $4 = sp + 120|0; + $5 = sp + 116|0; + $6 = sp + 112|0; + $rc = sp + 108|0; + $iFrame = sp + 104|0; + $p = sp + 100|0; + $pLast = sp + 96|0; + $nExtra = sp + 92|0; + $szFrame = sp + 88|0; $iOffset = sp + 40|0; $w = sp + 16|0; - $iFirst = sp + 76|0; - $pLive = sp + 72|0; - $aWalHdr = sp + 136|0; - $aCksum = sp + 64|0; - $nDbSize = sp + 60|0; - $iWrite = sp + 56|0; + $iFirst = sp + 84|0; + $pLive = sp + 80|0; + $aWalHdr = sp + 144|0; + $aCksum = sp + 72|0; + $nDbSize = sp + 64|0; + $iWrite = sp + 60|0; $iOff = sp + 8|0; - $pData = sp + 52|0; + $pData = sp + 56|0; + $bSync = sp + 52|0; $sectorSize = sp + 48|0; $sz = sp; HEAP32[$1>>2] = $pWal; @@ -97764,8 +98236,8 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags if ($20) { $21 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $21; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } $22 = HEAP32[$1>>2]|0; $23 = ((($22)) + 52|0); @@ -97775,7 +98247,7 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags $26 = HEAP32[$iFrame>>2]|0; $27 = ($26|0)==(0); if ($27) { - $28 = HEAP8[960>>0]|0; + $28 = HEAP8[968>>0]|0; $29 = $28 << 24 >> 24; $30 = ($29|0)==(0); $31 = $30&1; @@ -97818,7 +98290,7 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags $57 = HEAP32[$1>>2]|0; $58 = ((($57)) + 36|0); HEAP32[$58>>2] = $56; - $59 = HEAP8[960>>0]|0; + $59 = HEAP8[968>>0]|0; $60 = $59 << 24 >> 24; $61 = ($60|0)==(0); $62 = $61&1; @@ -97852,8 +98324,8 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags if ($84) { $85 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $85; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } $86 = HEAP32[$1>>2]|0; $87 = ((($86)) + 48|0); @@ -97876,8 +98348,8 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags if ($100) { $101 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $101; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } } } @@ -98101,14 +98573,14 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags if ((label|0) == 22) { $196 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $196; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } else if ((label|0) == 27) { $224 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $224; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } else if ((label|0) == 30) { $250 = HEAP32[$5>>2]|0; @@ -98128,340 +98600,362 @@ function _sqlite3WalFrames($pWal,$szPage,$pList,$nTruncate,$isCommit,$sync_flags if ($260) { $261 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $261; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } } } $262 = HEAP32[$5>>2]|0; $263 = ($262|0)!=(0); - L49: do { - if ($263) { - $264 = HEAP32[$6>>2]|0; - $265 = $264 & 32; - $266 = ($265|0)!=(0); - if ($266) { - $267 = HEAP32[$1>>2]|0; - $268 = ((($267)) + 49|0); - $269 = HEAP8[$268>>0]|0; - $270 = ($269<<24>>24)!=(0); - if (!($270)) { - $350 = ((($w)) + 4|0); - $351 = HEAP32[$350>>2]|0; - $352 = HEAP32[$6>>2]|0; - $353 = $352 & 19; - $354 = (_sqlite3OsSync($351,$353)|0); - HEAP32[$rc>>2] = $354; - break; - } - $271 = HEAP32[$1>>2]|0; - $272 = ((($271)) + 8|0); - $273 = HEAP32[$272>>2]|0; - $274 = (_sqlite3SectorSize($273)|0); - HEAP32[$sectorSize>>2] = $274; - $275 = $iOffset; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = (($275) + 4)|0; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = HEAP32[$sectorSize>>2]|0; - $282 = ($281|0)<(0); - $283 = $282 << 31 >> 31; - $284 = (_i64Add(($277|0),($280|0),($281|0),($283|0))|0); - $285 = tempRet0; - $286 = (_i64Subtract(($284|0),($285|0),1,0)|0); - $287 = tempRet0; - $288 = HEAP32[$sectorSize>>2]|0; - $289 = ($288|0)<(0); - $290 = $289 << 31 >> 31; - $291 = (___divdi3(($286|0),($287|0),($288|0),($290|0))|0); - $292 = tempRet0; - $293 = HEAP32[$sectorSize>>2]|0; - $294 = ($293|0)<(0); - $295 = $294 << 31 >> 31; - $296 = (___muldi3(($291|0),($292|0),($293|0),($295|0))|0); - $297 = tempRet0; - $298 = ((($w)) + 8|0); - $299 = $298; - $300 = $299; - HEAP32[$300>>2] = $296; - $301 = (($299) + 4)|0; - $302 = $301; - HEAP32[$302>>2] = $297; - while(1) { - $303 = $iOffset; + if ($263) { + $264 = HEAP32[$6>>2]|0; + $265 = $264 & 32; + $266 = ($265|0)!=(0); + if ($266) { + HEAP32[$bSync>>2] = 1; + $267 = HEAP32[$1>>2]|0; + $268 = ((($267)) + 49|0); + $269 = HEAP8[$268>>0]|0; + $270 = ($269<<24>>24)!=(0); + L52: do { + if ($270) { + $271 = HEAP32[$1>>2]|0; + $272 = ((($271)) + 8|0); + $273 = HEAP32[$272>>2]|0; + $274 = (_sqlite3SectorSize($273)|0); + HEAP32[$sectorSize>>2] = $274; + $275 = $iOffset; + $276 = $275; + $277 = HEAP32[$276>>2]|0; + $278 = (($275) + 4)|0; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = HEAP32[$sectorSize>>2]|0; + $282 = ($281|0)<(0); + $283 = $282 << 31 >> 31; + $284 = (_i64Add(($277|0),($280|0),($281|0),($283|0))|0); + $285 = tempRet0; + $286 = (_i64Subtract(($284|0),($285|0),1,0)|0); + $287 = tempRet0; + $288 = HEAP32[$sectorSize>>2]|0; + $289 = ($288|0)<(0); + $290 = $289 << 31 >> 31; + $291 = (___divdi3(($286|0),($287|0),($288|0),($290|0))|0); + $292 = tempRet0; + $293 = HEAP32[$sectorSize>>2]|0; + $294 = ($293|0)<(0); + $295 = $294 << 31 >> 31; + $296 = (___muldi3(($291|0),($292|0),($293|0),($295|0))|0); + $297 = tempRet0; + $298 = ((($w)) + 8|0); + $299 = $298; + $300 = $299; + HEAP32[$300>>2] = $296; + $301 = (($299) + 4)|0; + $302 = $301; + HEAP32[$302>>2] = $297; + $303 = ((($w)) + 8|0); $304 = $303; - $305 = HEAP32[$304>>2]|0; - $306 = (($303) + 4)|0; - $307 = $306; - $308 = HEAP32[$307>>2]|0; - $309 = ((($w)) + 8|0); - $310 = $309; + $305 = $304; + $306 = HEAP32[$305>>2]|0; + $307 = (($304) + 4)|0; + $308 = $307; + $309 = HEAP32[$308>>2]|0; + $310 = $iOffset; $311 = $310; $312 = HEAP32[$311>>2]|0; $313 = (($310) + 4)|0; $314 = $313; $315 = HEAP32[$314>>2]|0; - $316 = ($308|0)<($315|0); - $317 = ($305>>>0)<($312>>>0); - $318 = ($308|0)==($315|0); - $319 = $318 & $317; - $320 = $316 | $319; - if (!($320)) { - break L49; - } - $321 = HEAP32[$pLast>>2]|0; - $322 = HEAP32[$4>>2]|0; - $323 = $iOffset; - $324 = $323; - $325 = HEAP32[$324>>2]|0; - $326 = (($323) + 4)|0; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (_walWriteOneFrame($w,$321,$322,$325,$328)|0); - HEAP32[$rc>>2] = $329; - $330 = HEAP32[$rc>>2]|0; - $331 = ($330|0)!=(0); - if ($331) { - break; + $316 = ($306|0)==($312|0); + $317 = ($309|0)==($315|0); + $318 = $316 & $317; + $319 = $318&1; + HEAP32[$bSync>>2] = $319; + while(1) { + $320 = $iOffset; + $321 = $320; + $322 = HEAP32[$321>>2]|0; + $323 = (($320) + 4)|0; + $324 = $323; + $325 = HEAP32[$324>>2]|0; + $326 = ((($w)) + 8|0); + $327 = $326; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = (($327) + 4)|0; + $331 = $330; + $332 = HEAP32[$331>>2]|0; + $333 = ($325|0)<($332|0); + $334 = ($322>>>0)<($329>>>0); + $335 = ($325|0)==($332|0); + $336 = $335 & $334; + $337 = $333 | $336; + if (!($337)) { + break L52; + } + $338 = HEAP32[$pLast>>2]|0; + $339 = HEAP32[$4>>2]|0; + $340 = $iOffset; + $341 = $340; + $342 = HEAP32[$341>>2]|0; + $343 = (($340) + 4)|0; + $344 = $343; + $345 = HEAP32[$344>>2]|0; + $346 = (_walWriteOneFrame($w,$338,$339,$342,$345)|0); + HEAP32[$rc>>2] = $346; + $347 = HEAP32[$rc>>2]|0; + $348 = ($347|0)!=(0); + if ($348) { + break; + } + $350 = HEAP32[$szFrame>>2]|0; + $351 = ($350|0)<(0); + $352 = $351 << 31 >> 31; + $353 = $iOffset; + $354 = $353; + $355 = HEAP32[$354>>2]|0; + $356 = (($353) + 4)|0; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = (_i64Add(($355|0),($358|0),($350|0),($352|0))|0); + $360 = tempRet0; + $361 = $iOffset; + $362 = $361; + HEAP32[$362>>2] = $359; + $363 = (($361) + 4)|0; + $364 = $363; + HEAP32[$364>>2] = $360; + $365 = HEAP32[$nExtra>>2]|0; + $366 = (($365) + 1)|0; + HEAP32[$nExtra>>2] = $366; } - $333 = HEAP32[$szFrame>>2]|0; - $334 = ($333|0)<(0); - $335 = $334 << 31 >> 31; - $336 = $iOffset; - $337 = $336; - $338 = HEAP32[$337>>2]|0; - $339 = (($336) + 4)|0; - $340 = $339; - $341 = HEAP32[$340>>2]|0; - $342 = (_i64Add(($338|0),($341|0),($333|0),($335|0))|0); - $343 = tempRet0; - $344 = $iOffset; - $345 = $344; - HEAP32[$345>>2] = $342; - $346 = (($344) + 4)|0; - $347 = $346; - HEAP32[$347>>2] = $343; - $348 = HEAP32[$nExtra>>2]|0; - $349 = (($348) + 1)|0; - HEAP32[$nExtra>>2] = $349; - } - $332 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $332; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); - } - } - } while(0); - $355 = HEAP32[$5>>2]|0; - $356 = ($355|0)!=(0); - if ($356) { - $357 = HEAP32[$1>>2]|0; - $358 = ((($357)) + 47|0); - $359 = HEAP8[$358>>0]|0; - $360 = $359&255; - $361 = ($360|0)!=(0); - if ($361) { - $362 = HEAP32[$1>>2]|0; - $363 = ((($362)) + 16|0); - $364 = $363; - $365 = $364; - $366 = HEAP32[$365>>2]|0; - $367 = (($364) + 4)|0; - $368 = $367; - $369 = HEAP32[$368>>2]|0; - $370 = ($369|0)>(0); - $371 = ($366>>>0)>=(0); - $372 = ($369|0)==(0); - $373 = $372 & $371; - $374 = $370 | $373; - if ($374) { - $375 = HEAP32[$1>>2]|0; - $376 = ((($375)) + 16|0); - $377 = $376; - $378 = $377; - $379 = HEAP32[$378>>2]|0; - $380 = (($377) + 4)|0; - $381 = $380; - $382 = HEAP32[$381>>2]|0; - $383 = $sz; - $384 = $383; - HEAP32[$384>>2] = $379; - $385 = (($383) + 4)|0; - $386 = $385; - HEAP32[$386>>2] = $382; - $387 = HEAP32[$iFrame>>2]|0; - $388 = HEAP32[$nExtra>>2]|0; - $389 = (($387) + ($388))|0; - $390 = (($389) + 1)|0; - $391 = (($390) - 1)|0; - $392 = HEAP32[$2>>2]|0; - $393 = (($392) + 24)|0; - $394 = ($393|0)<(0); - $395 = $394 << 31 >> 31; - $396 = (___muldi3(($391|0),0,($393|0),($395|0))|0); - $397 = tempRet0; - $398 = (_i64Add(32,0,($396|0),($397|0))|0); - $399 = tempRet0; - $400 = HEAP32[$1>>2]|0; - $401 = ((($400)) + 16|0); - $402 = $401; - $403 = $402; - $404 = HEAP32[$403>>2]|0; - $405 = (($402) + 4)|0; - $406 = $405; - $407 = HEAP32[$406>>2]|0; - $408 = ($399|0)>($407|0); - $409 = ($398>>>0)>($404>>>0); - $410 = ($399|0)==($407|0); - $411 = $410 & $409; - $412 = $408 | $411; - if ($412) { - $413 = HEAP32[$iFrame>>2]|0; - $414 = HEAP32[$nExtra>>2]|0; - $415 = (($413) + ($414))|0; - $416 = (($415) + 1)|0; - $417 = (($416) - 1)|0; - $418 = HEAP32[$2>>2]|0; - $419 = (($418) + 24)|0; - $420 = ($419|0)<(0); - $421 = $420 << 31 >> 31; - $422 = (___muldi3(($417|0),0,($419|0),($421|0))|0); - $423 = tempRet0; - $424 = (_i64Add(32,0,($422|0),($423|0))|0); - $425 = tempRet0; - $426 = $sz; - $427 = $426; - HEAP32[$427>>2] = $424; - $428 = (($426) + 4)|0; - $429 = $428; - HEAP32[$429>>2] = $425; + $349 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $349; + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } - $430 = HEAP32[$1>>2]|0; - $431 = $sz; - $432 = $431; - $433 = HEAP32[$432>>2]|0; - $434 = (($431) + 4)|0; - $435 = $434; - $436 = HEAP32[$435>>2]|0; - _walLimitSize($430,$433,$436); - $437 = HEAP32[$1>>2]|0; - $438 = ((($437)) + 47|0); - HEAP8[$438>>0] = 0; + } while(0); + $367 = HEAP32[$bSync>>2]|0; + $368 = ($367|0)!=(0); + if ($368) { + $369 = ((($w)) + 4|0); + $370 = HEAP32[$369>>2]|0; + $371 = HEAP32[$6>>2]|0; + $372 = $371 & 19; + $373 = (_sqlite3OsSync($370,$372)|0); + HEAP32[$rc>>2] = $373; } } } - $439 = HEAP32[$1>>2]|0; - $440 = ((($439)) + 52|0); - $441 = ((($440)) + 16|0); - $442 = HEAP32[$441>>2]|0; - HEAP32[$iFrame>>2] = $442; - $443 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $443; + $374 = HEAP32[$5>>2]|0; + $375 = ($374|0)!=(0); + if ($375) { + $376 = HEAP32[$1>>2]|0; + $377 = ((($376)) + 47|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $380 = ($379|0)!=(0); + if ($380) { + $381 = HEAP32[$1>>2]|0; + $382 = ((($381)) + 16|0); + $383 = $382; + $384 = $383; + $385 = HEAP32[$384>>2]|0; + $386 = (($383) + 4)|0; + $387 = $386; + $388 = HEAP32[$387>>2]|0; + $389 = ($388|0)>(0); + $390 = ($385>>>0)>=(0); + $391 = ($388|0)==(0); + $392 = $391 & $390; + $393 = $389 | $392; + if ($393) { + $394 = HEAP32[$1>>2]|0; + $395 = ((($394)) + 16|0); + $396 = $395; + $397 = $396; + $398 = HEAP32[$397>>2]|0; + $399 = (($396) + 4)|0; + $400 = $399; + $401 = HEAP32[$400>>2]|0; + $402 = $sz; + $403 = $402; + HEAP32[$403>>2] = $398; + $404 = (($402) + 4)|0; + $405 = $404; + HEAP32[$405>>2] = $401; + $406 = HEAP32[$iFrame>>2]|0; + $407 = HEAP32[$nExtra>>2]|0; + $408 = (($406) + ($407))|0; + $409 = (($408) + 1)|0; + $410 = (($409) - 1)|0; + $411 = HEAP32[$2>>2]|0; + $412 = (($411) + 24)|0; + $413 = ($412|0)<(0); + $414 = $413 << 31 >> 31; + $415 = (___muldi3(($410|0),0,($412|0),($414|0))|0); + $416 = tempRet0; + $417 = (_i64Add(32,0,($415|0),($416|0))|0); + $418 = tempRet0; + $419 = HEAP32[$1>>2]|0; + $420 = ((($419)) + 16|0); + $421 = $420; + $422 = $421; + $423 = HEAP32[$422>>2]|0; + $424 = (($421) + 4)|0; + $425 = $424; + $426 = HEAP32[$425>>2]|0; + $427 = ($418|0)>($426|0); + $428 = ($417>>>0)>($423>>>0); + $429 = ($418|0)==($426|0); + $430 = $429 & $428; + $431 = $427 | $430; + if ($431) { + $432 = HEAP32[$iFrame>>2]|0; + $433 = HEAP32[$nExtra>>2]|0; + $434 = (($432) + ($433))|0; + $435 = (($434) + 1)|0; + $436 = (($435) - 1)|0; + $437 = HEAP32[$2>>2]|0; + $438 = (($437) + 24)|0; + $439 = ($438|0)<(0); + $440 = $439 << 31 >> 31; + $441 = (___muldi3(($436|0),0,($438|0),($440|0))|0); + $442 = tempRet0; + $443 = (_i64Add(32,0,($441|0),($442|0))|0); + $444 = tempRet0; + $445 = $sz; + $446 = $445; + HEAP32[$446>>2] = $443; + $447 = (($445) + 4)|0; + $448 = $447; + HEAP32[$448>>2] = $444; + } + $449 = HEAP32[$1>>2]|0; + $450 = $sz; + $451 = $450; + $452 = HEAP32[$451>>2]|0; + $453 = (($450) + 4)|0; + $454 = $453; + $455 = HEAP32[$454>>2]|0; + _walLimitSize($449,$452,$455); + $456 = HEAP32[$1>>2]|0; + $457 = ((($456)) + 47|0); + HEAP8[$457>>0] = 0; + } + } + } + $458 = HEAP32[$1>>2]|0; + $459 = ((($458)) + 52|0); + $460 = ((($459)) + 16|0); + $461 = HEAP32[$460>>2]|0; + HEAP32[$iFrame>>2] = $461; + $462 = HEAP32[$3>>2]|0; + HEAP32[$p>>2] = $462; while(1) { - $444 = HEAP32[$p>>2]|0; - $445 = ($444|0)!=(0|0); - $446 = HEAP32[$rc>>2]|0; - $447 = ($446|0)==(0); - $448 = $445 ? $447 : 0; - if (!($448)) { + $463 = HEAP32[$p>>2]|0; + $464 = ($463|0)!=(0|0); + $465 = HEAP32[$rc>>2]|0; + $466 = ($465|0)==(0); + $467 = $464 ? $466 : 0; + if (!($467)) { break; } - $449 = HEAP32[$p>>2]|0; - $450 = ((($449)) + 24|0); - $451 = HEAP16[$450>>1]|0; - $452 = $451&65535; - $453 = $452 & 64; - $454 = ($453|0)==(0); - if (!($454)) { - $455 = HEAP32[$iFrame>>2]|0; - $456 = (($455) + 1)|0; - HEAP32[$iFrame>>2] = $456; - $457 = HEAP32[$1>>2]|0; - $458 = HEAP32[$iFrame>>2]|0; - $459 = HEAP32[$p>>2]|0; - $460 = ((($459)) + 20|0); - $461 = HEAP32[$460>>2]|0; - $462 = (_walIndexAppend($457,$458,$461)|0); - HEAP32[$rc>>2] = $462; - } - $463 = HEAP32[$p>>2]|0; - $464 = ((($463)) + 12|0); - $465 = HEAP32[$464>>2]|0; - HEAP32[$p>>2] = $465; + $468 = HEAP32[$p>>2]|0; + $469 = ((($468)) + 24|0); + $470 = HEAP16[$469>>1]|0; + $471 = $470&65535; + $472 = $471 & 64; + $473 = ($472|0)==(0); + if (!($473)) { + $474 = HEAP32[$iFrame>>2]|0; + $475 = (($474) + 1)|0; + HEAP32[$iFrame>>2] = $475; + $476 = HEAP32[$1>>2]|0; + $477 = HEAP32[$iFrame>>2]|0; + $478 = HEAP32[$p>>2]|0; + $479 = ((($478)) + 20|0); + $480 = HEAP32[$479>>2]|0; + $481 = (_walIndexAppend($476,$477,$480)|0); + HEAP32[$rc>>2] = $481; + } + $482 = HEAP32[$p>>2]|0; + $483 = ((($482)) + 12|0); + $484 = HEAP32[$483>>2]|0; + HEAP32[$p>>2] = $484; } while(1) { - $466 = HEAP32[$rc>>2]|0; - $467 = ($466|0)==(0); - $468 = HEAP32[$nExtra>>2]|0; - $469 = ($468|0)>(0); - $470 = $467 ? $469 : 0; - if (!($470)) { + $485 = HEAP32[$rc>>2]|0; + $486 = ($485|0)==(0); + $487 = HEAP32[$nExtra>>2]|0; + $488 = ($487|0)>(0); + $489 = $486 ? $488 : 0; + if (!($489)) { break; } - $471 = HEAP32[$iFrame>>2]|0; - $472 = (($471) + 1)|0; - HEAP32[$iFrame>>2] = $472; - $473 = HEAP32[$nExtra>>2]|0; - $474 = (($473) + -1)|0; - HEAP32[$nExtra>>2] = $474; - $475 = HEAP32[$1>>2]|0; - $476 = HEAP32[$iFrame>>2]|0; - $477 = HEAP32[$pLast>>2]|0; - $478 = ((($477)) + 20|0); - $479 = HEAP32[$478>>2]|0; - $480 = (_walIndexAppend($475,$476,$479)|0); - HEAP32[$rc>>2] = $480; - } - $481 = HEAP32[$rc>>2]|0; - $482 = ($481|0)==(0); - if ($482) { - $483 = HEAP32[$2>>2]|0; - $484 = $483 & 65280; - $485 = HEAP32[$2>>2]|0; - $486 = $485 >> 16; - $487 = $484 | $486; - $488 = $487&65535; - $489 = HEAP32[$1>>2]|0; - $490 = ((($489)) + 52|0); - $491 = ((($490)) + 14|0); - HEAP16[$491>>1] = $488; - $492 = HEAP32[$iFrame>>2]|0; - $493 = HEAP32[$1>>2]|0; - $494 = ((($493)) + 52|0); - $495 = ((($494)) + 16|0); - HEAP32[$495>>2] = $492; - $496 = HEAP32[$5>>2]|0; - $497 = ($496|0)!=(0); - if ($497) { - $498 = HEAP32[$1>>2]|0; - $499 = ((($498)) + 52|0); - $500 = ((($499)) + 8|0); - $501 = HEAP32[$500>>2]|0; - $502 = (($501) + 1)|0; - HEAP32[$500>>2] = $502; - $503 = HEAP32[$4>>2]|0; - $504 = HEAP32[$1>>2]|0; - $505 = ((($504)) + 52|0); - $506 = ((($505)) + 20|0); - HEAP32[$506>>2] = $503; - } - $507 = HEAP32[$5>>2]|0; - $508 = ($507|0)!=(0); - if ($508) { - $509 = HEAP32[$1>>2]|0; - _walIndexWriteHdr($509); - $510 = HEAP32[$iFrame>>2]|0; - $511 = HEAP32[$1>>2]|0; - $512 = ((($511)) + 12|0); - HEAP32[$512>>2] = $510; - } - } - $513 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $513; - $514 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($514|0); + $490 = HEAP32[$iFrame>>2]|0; + $491 = (($490) + 1)|0; + HEAP32[$iFrame>>2] = $491; + $492 = HEAP32[$nExtra>>2]|0; + $493 = (($492) + -1)|0; + HEAP32[$nExtra>>2] = $493; + $494 = HEAP32[$1>>2]|0; + $495 = HEAP32[$iFrame>>2]|0; + $496 = HEAP32[$pLast>>2]|0; + $497 = ((($496)) + 20|0); + $498 = HEAP32[$497>>2]|0; + $499 = (_walIndexAppend($494,$495,$498)|0); + HEAP32[$rc>>2] = $499; + } + $500 = HEAP32[$rc>>2]|0; + $501 = ($500|0)==(0); + if ($501) { + $502 = HEAP32[$2>>2]|0; + $503 = $502 & 65280; + $504 = HEAP32[$2>>2]|0; + $505 = $504 >> 16; + $506 = $503 | $505; + $507 = $506&65535; + $508 = HEAP32[$1>>2]|0; + $509 = ((($508)) + 52|0); + $510 = ((($509)) + 14|0); + HEAP16[$510>>1] = $507; + $511 = HEAP32[$iFrame>>2]|0; + $512 = HEAP32[$1>>2]|0; + $513 = ((($512)) + 52|0); + $514 = ((($513)) + 16|0); + HEAP32[$514>>2] = $511; + $515 = HEAP32[$5>>2]|0; + $516 = ($515|0)!=(0); + if ($516) { + $517 = HEAP32[$1>>2]|0; + $518 = ((($517)) + 52|0); + $519 = ((($518)) + 8|0); + $520 = HEAP32[$519>>2]|0; + $521 = (($520) + 1)|0; + HEAP32[$519>>2] = $521; + $522 = HEAP32[$4>>2]|0; + $523 = HEAP32[$1>>2]|0; + $524 = ((($523)) + 52|0); + $525 = ((($524)) + 20|0); + HEAP32[$525>>2] = $522; + } + $526 = HEAP32[$5>>2]|0; + $527 = ($526|0)!=(0); + if ($527) { + $528 = HEAP32[$1>>2]|0; + _walIndexWriteHdr($528); + $529 = HEAP32[$iFrame>>2]|0; + $530 = HEAP32[$1>>2]|0; + $531 = ((($530)) + 12|0); + HEAP32[$531>>2] = $529; + } + } + $532 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $532; + $533 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($533|0); } return (0)|0; } @@ -98862,7 +99356,7 @@ function _walEncodeFrame($pWal,$iPage,$nTruncate,$aData,$aFrame) { $24 = ((($23)) + 13|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; - $27 = HEAP8[960>>0]|0; + $27 = HEAP8[968>>0]|0; $28 = $27 << 24 >> 24; $29 = ($28|0)==(0); $30 = $29&1; @@ -99787,7 +100281,7 @@ function _sqlite3JournalOpen($pVfs,$zName,$pJfd,$flags,$nSpill) { HEAP32[$21>>2] = 1020; } $22 = HEAP32[$p>>2]|0; - HEAP32[$22>>2] = 4872; + HEAP32[$22>>2] = 4028; $23 = HEAP32[$5>>2]|0; $24 = HEAP32[$p>>2]|0; $25 = ((($24)) + 8|0); @@ -99896,7 +100390,7 @@ function _btreeInitPage($pPage) { $21 = (_decodeFlags($14,$20)|0); $22 = ($21|0)!=(0); if ($22) { - $23 = (_sqlite3CorruptError(59479)|0); + $23 = (_sqlite3CorruptError(60006)|0); HEAP32[$0>>2] = $23; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -100004,7 +100498,7 @@ function _btreeInitPage($pPage) { $114 = (($113>>>0) / 6)&-1; $115 = ($109>>>0)>($114>>>0); if ($115) { - $116 = (_sqlite3CorruptError(59497)|0); + $116 = (_sqlite3CorruptError(60024)|0); HEAP32[$0>>2] = $116; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -100116,13 +100610,13 @@ function _btreeInitPage($pPage) { HEAP32[$i>>2] = $195; } if ((label|0) == 13) { - $176 = (_sqlite3CorruptError(59525)|0); + $176 = (_sqlite3CorruptError(60052)|0); HEAP32[$0>>2] = $176; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); } else if ((label|0) == 15) { - $193 = (_sqlite3CorruptError(59530)|0); + $193 = (_sqlite3CorruptError(60057)|0); HEAP32[$0>>2] = $193; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -100269,13 +100763,13 @@ function _btreeInitPage($pPage) { HEAP16[$pc>>1] = $299; } if ((label|0) == 23) { - $240 = (_sqlite3CorruptError(59550)|0); + $240 = (_sqlite3CorruptError(60077)|0); HEAP32[$0>>2] = $240; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); } else if ((label|0) == 27) { - $294 = (_sqlite3CorruptError(59557)|0); + $294 = (_sqlite3CorruptError(60084)|0); HEAP32[$0>>2] = $294; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -100296,7 +100790,7 @@ function _btreeInitPage($pPage) { HEAP8[$310>>0] = 1; break; } - $303 = (_sqlite3CorruptError(59571)|0); + $303 = (_sqlite3CorruptError(60098)|0); HEAP32[$0>>2] = $303; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -100414,7 +100908,7 @@ function _decodeFlags($pPage,$flagByte) { HEAP16[$67>>1] = $65; break; } - $68 = (_sqlite3CorruptError(59437)|0); + $68 = (_sqlite3CorruptError(59964)|0); HEAP32[$0>>2] = $68; $74 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($74|0); @@ -101765,7 +102259,7 @@ function _functionSearch($h,$zFunc) { HEAP32[$1>>2] = $h; HEAP32[$2>>2] = $zFunc; $3 = HEAP32[$1>>2]|0; - $4 = (1080 + ($3<<2)|0); + $4 = (1092 + ($3<<2)|0); $5 = HEAP32[$4>>2]|0; HEAP32[$p>>2] = $5; while(1) { @@ -102036,7 +102530,7 @@ function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { if ($89) { $90 = HEAP32[$c>>2]|0; $91 = (($90) - 192)|0; - $92 = (26179 + ($91)|0); + $92 = (25563 + ($91)|0); $93 = HEAP8[$92>>0]|0; $94 = $93&255; HEAP32[$c>>2] = $94; @@ -102166,7 +102660,7 @@ function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { if ($169) { $170 = HEAP32[$c>>2]|0; $171 = (($170) - 192)|0; - $172 = (26179 + ($171)|0); + $172 = (25563 + ($171)|0); $173 = HEAP8[$172>>0]|0; $174 = $173&255; HEAP32[$c>>2] = $174; @@ -103273,12 +103767,12 @@ function _pcache1Init($NotUsed) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $NotUsed; - dest=1616; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=1628; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $1 = HEAP32[(212)>>2]|0; $2 = ($1|0)==(0|0); $3 = $2&1; - HEAP32[(1672)>>2] = $3; - $4 = HEAP32[(1672)>>2]|0; + HEAP32[(1684)>>2] = $3; + $4 = HEAP32[(1684)>>2]|0; $5 = ($4|0)!=(0); $6 = HEAP32[(220)>>2]|0; $7 = ($6|0)!=(0); @@ -103288,14 +103782,14 @@ function _pcache1Init($NotUsed) { $or$cond3 = $or$cond & $9; if ($or$cond3) { $10 = HEAP32[(220)>>2]|0; - HEAP32[(1676)>>2] = $10; - HEAP32[(1628)>>2] = 10; - HEAP32[(1668)>>2] = 1; + HEAP32[(1688)>>2] = $10; + HEAP32[(1640)>>2] = 10; + HEAP32[(1680)>>2] = 1; STACKTOP = sp;return 0; } else { - HEAP32[(1676)>>2] = 0; - HEAP32[(1628)>>2] = 10; - HEAP32[(1668)>>2] = 1; + HEAP32[(1688)>>2] = 0; + HEAP32[(1640)>>2] = 10; + HEAP32[(1680)>>2] = 1; STACKTOP = sp;return 0; } return (0)|0; @@ -103307,7 +103801,7 @@ function _pcache1Shutdown($NotUsed) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $NotUsed; - dest=1616; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=1628; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _pcache1Create($szPage,$szExtra,$bPurgeable) { @@ -103330,7 +103824,7 @@ function _pcache1Create($szPage,$szExtra,$bPurgeable) { HEAP32[$0>>2] = $szPage; HEAP32[$1>>2] = $szExtra; HEAP32[$2>>2] = $bPurgeable; - $3 = HEAP32[(1672)>>2]|0; + $3 = HEAP32[(1684)>>2]|0; $4 = ($3*52)|0; $5 = (60 + ($4))|0; HEAP32[$sz>>2] = $5; @@ -103345,7 +103839,7 @@ function _pcache1Create($szPage,$szExtra,$bPurgeable) { $81 = HEAP32[$pCache>>2]|0; STACKTOP = sp;return ($81|0); } - $12 = HEAP32[(1672)>>2]|0; + $12 = HEAP32[(1684)>>2]|0; $13 = ($12|0)!=(0); if ($13) { $14 = HEAP32[$pCache>>2]|0; @@ -103355,7 +103849,7 @@ function _pcache1Create($szPage,$szExtra,$bPurgeable) { $17 = ((($16)) + 12|0); HEAP32[$17>>2] = 10; } else { - HEAP32[$pGroup>>2] = 1616; + HEAP32[$pGroup>>2] = 1628; } $18 = HEAP32[$pGroup>>2]|0; $19 = ((($18)) + 20|0); @@ -103748,8 +104242,8 @@ function _pcache1Truncate($p,$iLimit) { function _pcache1Destroy($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pCache = 0, $pGroup = 0, label = 0; - var sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $pCache = 0, $pGroup = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -103762,46 +104256,52 @@ function _pcache1Destroy($p) { $3 = HEAP32[$2>>2]|0; HEAP32[$pGroup>>2] = $3; $4 = HEAP32[$pCache>>2]|0; - _pcache1TruncateUnsafe($4,0); - $5 = HEAP32[$pCache>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$pGroup>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) - ($7))|0; - HEAP32[$9>>2] = $11; - $12 = HEAP32[$pCache>>2]|0; - $13 = ((($12)) + 20|0); + $5 = ((($4)) + 40|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$pCache>>2]|0; + _pcache1TruncateUnsafe($8,0); + } + $9 = HEAP32[$pCache>>2]|0; + $10 = ((($9)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$pGroup>>2]|0; + $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$pGroup>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; + $15 = (($14) - ($11))|0; + HEAP32[$13>>2] = $15; + $16 = HEAP32[$pCache>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$pGroup>>2]|0; - $20 = ((($19)) + 4|0); + $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 10)|0; + $22 = (($21) - ($18))|0; + HEAP32[$20>>2] = $22; $23 = HEAP32[$pGroup>>2]|0; - $24 = ((($23)) + 8|0); + $24 = ((($23)) + 4|0); $25 = HEAP32[$24>>2]|0; - $26 = (($22) - ($25))|0; + $26 = (($25) + 10)|0; $27 = HEAP32[$pGroup>>2]|0; - $28 = ((($27)) + 12|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$pCache>>2]|0; - _pcache1EnforceMaxPage($29); - $30 = HEAP32[$pCache>>2]|0; - $31 = ((($30)) + 56|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3_free($32); + $28 = ((($27)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($26) - ($29))|0; + $31 = HEAP32[$pGroup>>2]|0; + $32 = ((($31)) + 12|0); + HEAP32[$32>>2] = $30; $33 = HEAP32[$pCache>>2]|0; - $34 = ((($33)) + 48|0); - $35 = HEAP32[$34>>2]|0; - _sqlite3_free($35); - $36 = HEAP32[$pCache>>2]|0; + _pcache1EnforceMaxPage($33); + $34 = HEAP32[$pCache>>2]|0; + $35 = ((($34)) + 56|0); + $36 = HEAP32[$35>>2]|0; _sqlite3_free($36); + $37 = HEAP32[$pCache>>2]|0; + $38 = ((($37)) + 48|0); + $39 = HEAP32[$38>>2]|0; + _sqlite3_free($39); + $40 = HEAP32[$pCache>>2]|0; + _sqlite3_free($40); STACKTOP = sp;return; } function _pcache1Shrink($p) { @@ -104069,76 +104569,113 @@ function _pcache1TruncateUnsafe($pCache,$iLimit) { $pCache = $pCache|0; $iLimit = $iLimit|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $pPage = 0; - var $pp = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $iStop = 0, $pPage = 0, $pp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $h = sp + 8|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $h = sp + 12|0; + $iStop = sp + 8|0; $pp = sp + 4|0; $pPage = sp; HEAP32[$0>>2] = $pCache; HEAP32[$1>>2] = $iLimit; - HEAP32[$h>>2] = 0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = (($4) - ($5))|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($6>>>0)<($9>>>0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($11>>>0) % ($14>>>0))&-1; + HEAP32[$h>>2] = $15; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 44|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($18>>>0) % ($21>>>0))&-1; + HEAP32[$iStop>>2] = $22; + } else { + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25>>>0) / 2)&-1; + HEAP32[$h>>2] = $26; + $27 = HEAP32[$h>>2]|0; + $28 = (($27) - 1)|0; + HEAP32[$iStop>>2] = $28; + } while(1) { - $2 = HEAP32[$h>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 44|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($2>>>0)<($5>>>0); - if (!($6)) { - break; - } - $7 = HEAP32[$h>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 48|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($7<<2)|0); - HEAP32[$pp>>2] = $11; + $29 = HEAP32[$h>>2]|0; + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 48|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + ($29<<2)|0); + HEAP32[$pp>>2] = $33; while(1) { - $12 = HEAP32[$pp>>2]|0; - $13 = HEAP32[$12>>2]|0; - HEAP32[$pPage>>2] = $13; - $14 = ($13|0)!=(0|0); - if (!($14)) { + $34 = HEAP32[$pp>>2]|0; + $35 = HEAP32[$34>>2]|0; + HEAP32[$pPage>>2] = $35; + $36 = ($35|0)!=(0|0); + if (!($36)) { break; } - $15 = HEAP32[$pPage>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ($17>>>0)>=($18>>>0); - if (!($19)) { - $34 = HEAP32[$pPage>>2]|0; - $35 = ((($34)) + 16|0); - HEAP32[$pp>>2] = $35; + $37 = HEAP32[$pPage>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$1>>2]|0; + $41 = ($39>>>0)>=($40>>>0); + if (!($41)) { + $56 = HEAP32[$pPage>>2]|0; + $57 = ((($56)) + 16|0); + HEAP32[$pp>>2] = $57; continue; } - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 40|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + -1)|0; - HEAP32[$21>>2] = $23; - $24 = HEAP32[$pPage>>2]|0; - $25 = ((($24)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$pp>>2]|0; - HEAP32[$27>>2] = $26; - $28 = HEAP32[$pPage>>2]|0; - $29 = ((($28)) + 12|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)!=(0); - if (!($31)) { - $32 = HEAP32[$pPage>>2]|0; - (_pcache1PinPage($32)|0); + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) + -1)|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$pPage>>2]|0; + $47 = ((($46)) + 16|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$pp>>2]|0; + HEAP32[$49>>2] = $48; + $50 = HEAP32[$pPage>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)!=(0); + if (!($53)) { + $54 = HEAP32[$pPage>>2]|0; + (_pcache1PinPage($54)|0); } - $33 = HEAP32[$pPage>>2]|0; - _pcache1FreePage($33); + $55 = HEAP32[$pPage>>2]|0; + _pcache1FreePage($55); } - $36 = HEAP32[$h>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$h>>2] = $37; + $58 = HEAP32[$h>>2]|0; + $59 = HEAP32[$iStop>>2]|0; + $60 = ($58|0)==($59|0); + if ($60) { + break; + } + $61 = HEAP32[$h>>2]|0; + $62 = (($61) + 1)|0; + $63 = HEAP32[$0>>2]|0; + $64 = ((($63)) + 44|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($62>>>0) % ($65>>>0))&-1; + HEAP32[$h>>2] = $66; } STACKTOP = sp;return; } @@ -104476,7 +105013,7 @@ function _pcache1UnderMemoryPressure($pCache) { $0 = sp + 4|0; $1 = sp; HEAP32[$1>>2] = $pCache; - $2 = HEAP32[(1684)>>2]|0; + $2 = HEAP32[(1696)>>2]|0; $3 = ($2|0)!=(0); if ($3) { $4 = HEAP32[$1>>2]|0; @@ -104486,10 +105023,10 @@ function _pcache1UnderMemoryPressure($pCache) { $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = (($6) + ($9))|0; - $11 = HEAP32[(1680)>>2]|0; + $11 = HEAP32[(1692)>>2]|0; $12 = ($10|0)<=($11|0); if ($12) { - $13 = HEAP32[(1712)>>2]|0; + $13 = HEAP32[(1724)>>2]|0; HEAP32[$0>>2] = $13; $15 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($15|0); @@ -104731,12 +105268,12 @@ function _pcache1AllocPage($pCache,$benignMalloc) { function _pcache1InitBulk($pCache) { $pCache = $pCache|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $i = 0, $nBulk = 0, $pX = 0, $szBulk = 0, $zBulk = 0, label = 0, sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $nBulk = 0, $pX = 0, $szBulk = 0, $zBulk = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; @@ -104747,12 +105284,12 @@ function _pcache1InitBulk($pCache) { $i = sp + 12|0; $pX = sp + 8|0; HEAP32[$1>>2] = $pCache; - $2 = HEAP32[(1676)>>2]|0; + $2 = HEAP32[(1688)>>2]|0; $3 = ($2|0)==(0); if ($3) { HEAP32[$0>>2] = 0; - $120 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($120|0); + $123 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($123|0); } $4 = HEAP32[$1>>2]|0; $5 = ((($4)) + 24|0); @@ -104760,11 +105297,11 @@ function _pcache1InitBulk($pCache) { $7 = ($6>>>0)<(3); if ($7) { HEAP32[$0>>2] = 0; - $120 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($120|0); + $123 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($123|0); } _sqlite3BeginBenignMalloc(); - $8 = HEAP32[(1676)>>2]|0; + $8 = HEAP32[(1688)>>2]|0; $9 = ($8|0)>(0); if ($9) { $10 = HEAP32[$1>>2]|0; @@ -104772,7 +105309,7 @@ function _pcache1InitBulk($pCache) { $12 = HEAP32[$11>>2]|0; $13 = ($12|0)<(0); $14 = $13 << 31 >> 31; - $15 = HEAP32[(1676)>>2]|0; + $15 = HEAP32[(1688)>>2]|0; $16 = ($15|0)<(0); $17 = $16 << 31 >> 31; $18 = (___muldi3(($12|0),($14|0),($15|0),($17|0))|0); @@ -104784,7 +105321,7 @@ function _pcache1InitBulk($pCache) { $23 = $22; HEAP32[$23>>2] = $19; } else { - $24 = HEAP32[(1676)>>2]|0; + $24 = HEAP32[(1688)>>2]|0; $25 = ($24|0)<(0); $26 = $25 << 31 >> 31; $27 = (___muldi3(-1024,-1,($24|0),($26|0))|0); @@ -104821,103 +105358,106 @@ function _pcache1InitBulk($pCache) { $54 = HEAP32[$1>>2]|0; $55 = ((($54)) + 12|0); $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 24|0); - $59 = HEAP32[$58>>2]|0; - $60 = Math_imul($56, $59)|0; - $61 = $szBulk; - $62 = $61; - HEAP32[$62>>2] = $60; - $63 = (($61) + 4)|0; - $64 = $63; - HEAP32[$64>>2] = 0; + $57 = ($56|0)<(0); + $58 = $57 << 31 >> 31; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 24|0); + $61 = HEAP32[$60>>2]|0; + $62 = (___muldi3(($56|0),($58|0),($61|0),0)|0); + $63 = tempRet0; + $64 = $szBulk; + $65 = $64; + HEAP32[$65>>2] = $62; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $63; } - $65 = $szBulk; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $68 = (($65) + 4)|0; + $68 = $szBulk; $69 = $68; $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3Malloc($67,$70)|0); - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 56|0); - HEAP32[$73>>2] = $71; - HEAP32[$zBulk>>2] = $71; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (_sqlite3Malloc($70,$73)|0); + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 56|0); + HEAP32[$76>>2] = $74; + HEAP32[$zBulk>>2] = $74; _sqlite3EndBenignMalloc(); - $74 = HEAP32[$zBulk>>2]|0; - $75 = ($74|0)!=(0|0); + $77 = HEAP32[$zBulk>>2]|0; + $78 = ($77|0)!=(0|0); L16: do { - if ($75) { - $76 = HEAP32[$zBulk>>2]|0; - $77 = (_sqlite3MallocSize($76)|0); - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = (($77|0) / ($80|0))&-1; - HEAP32[$nBulk>>2] = $81; + if ($78) { + $79 = HEAP32[$zBulk>>2]|0; + $80 = (_sqlite3MallocSize($79)|0); + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 12|0); + $83 = HEAP32[$82>>2]|0; + $84 = (($80|0) / ($83|0))&-1; + HEAP32[$nBulk>>2] = $84; HEAP32[$i>>2] = 0; while(1) { - $82 = HEAP32[$i>>2]|0; - $83 = HEAP32[$nBulk>>2]|0; - $84 = ($82|0)<($83|0); - if (!($84)) { + $85 = HEAP32[$i>>2]|0; + $86 = HEAP32[$nBulk>>2]|0; + $87 = ($85|0)<($86|0); + if (!($87)) { break L16; } - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 4|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$zBulk>>2]|0; - $89 = (($88) + ($87)|0); - HEAP32[$pX>>2] = $89; - $90 = HEAP32[$zBulk>>2]|0; - $91 = HEAP32[$pX>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$pX>>2]|0; - $93 = ((($92)) + 32|0); + $88 = HEAP32[$1>>2]|0; + $89 = ((($88)) + 4|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$zBulk>>2]|0; + $92 = (($91) + ($90)|0); + HEAP32[$pX>>2] = $92; + $93 = HEAP32[$zBulk>>2]|0; $94 = HEAP32[$pX>>2]|0; - $95 = ((($94)) + 4|0); - HEAP32[$95>>2] = $93; - $96 = HEAP32[$pX>>2]|0; - $97 = ((($96)) + 13|0); - HEAP8[$97>>0] = 1; - $98 = HEAP32[$pX>>2]|0; - $99 = ((($98)) + 14|0); - HEAP8[$99>>0] = 0; - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 52|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$pX>>2]|0; - $104 = ((($103)) + 16|0); - HEAP32[$104>>2] = $102; - $105 = HEAP32[$pX>>2]|0; - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 52|0); + HEAP32[$94>>2] = $93; + $95 = HEAP32[$pX>>2]|0; + $96 = ((($95)) + 32|0); + $97 = HEAP32[$pX>>2]|0; + $98 = ((($97)) + 4|0); + HEAP32[$98>>2] = $96; + $99 = HEAP32[$pX>>2]|0; + $100 = ((($99)) + 13|0); + HEAP8[$100>>0] = 1; + $101 = HEAP32[$pX>>2]|0; + $102 = ((($101)) + 14|0); + HEAP8[$102>>0] = 0; + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 52|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$pX>>2]|0; + $107 = ((($106)) + 16|0); HEAP32[$107>>2] = $105; - $108 = HEAP32[$1>>2]|0; - $109 = ((($108)) + 12|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$zBulk>>2]|0; - $112 = (($111) + ($110)|0); - HEAP32[$zBulk>>2] = $112; - $113 = HEAP32[$i>>2]|0; - $114 = (($113) + 1)|0; - HEAP32[$i>>2] = $114; + $108 = HEAP32[$pX>>2]|0; + $109 = HEAP32[$1>>2]|0; + $110 = ((($109)) + 52|0); + HEAP32[$110>>2] = $108; + $111 = HEAP32[$1>>2]|0; + $112 = ((($111)) + 12|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$zBulk>>2]|0; + $115 = (($114) + ($113)|0); + HEAP32[$zBulk>>2] = $115; + $116 = HEAP32[$i>>2]|0; + $117 = (($116) + 1)|0; + HEAP32[$i>>2] = $117; } } } while(0); - $115 = HEAP32[$1>>2]|0; - $116 = ((($115)) + 52|0); - $117 = HEAP32[$116>>2]|0; - $118 = ($117|0)!=(0|0); - $119 = $118&1; - HEAP32[$0>>2] = $119; - $120 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($120|0); + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 52|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)!=(0|0); + $122 = $121&1; + HEAP32[$0>>2] = $122; + $123 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($123|0); } function _sqlite3HeapNearlyFull() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(308)>>2]|0; + $0 = HEAP32[(316)>>2]|0; return ($0|0); } function _sqlite3MemMalloc($nByte) { @@ -104958,7 +105498,7 @@ function _sqlite3MemMalloc($nByte) { STACKTOP = sp;return ($19|0); } else { HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log(7,27015,$vararg_buffer); + _sqlite3_log(7,26399,$vararg_buffer); $19 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($19|0); } @@ -105029,7 +105569,7 @@ function _sqlite3MemRealloc($pPrior,$nByte) { HEAP32[$vararg_buffer>>2] = $22; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $23; - _sqlite3_log(7,26979,$vararg_buffer); + _sqlite3_log(7,26363,$vararg_buffer); $24 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($24|0); } @@ -105089,7 +105629,7 @@ function _sqlite3MemShutdown($NotUsed) { } function _sqlite3ParserAlloc($mallocProc) { $mallocProc = $mallocProc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pParser = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParser = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -105101,13 +105641,22 @@ function _sqlite3ParserAlloc($mallocProc) { $3 = HEAP32[$pParser>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { - $6 = HEAP32[$pParser>>2]|0; - STACKTOP = sp;return ($6|0); + $13 = HEAP32[$pParser>>2]|0; + STACKTOP = sp;return ($13|0); } $5 = HEAP32[$pParser>>2]|0; - HEAP32[$5>>2] = -1; - $6 = HEAP32[$pParser>>2]|0; - STACKTOP = sp;return ($6|0); + $6 = ((($5)) + 8|0); + $7 = HEAP32[$pParser>>2]|0; + HEAP32[$7>>2] = $6; + $8 = HEAP32[$pParser>>2]|0; + $9 = ((($8)) + 8|0); + HEAP16[$9>>1] = 0; + $10 = HEAP32[$pParser>>2]|0; + $11 = ((($10)) + 8|0); + $12 = ((($11)) + 2|0); + HEAP8[$12>>0] = 0; + $13 = HEAP32[$pParser>>2]|0; + STACKTOP = sp;return ($13|0); } function _sqlite3GetToken($z,$tokenType) { $z = $z|0; @@ -105152,7 +105701,7 @@ function _sqlite3GetToken($z,$tokenType) { $3 = HEAP32[$1>>2]|0; $4 = HEAP8[$3>>0]|0; $5 = $4&255; - $6 = (39775 + ($5)|0); + $6 = (39282 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; L1: do { @@ -105165,7 +105714,7 @@ function _sqlite3GetToken($z,$tokenType) { $11 = (($10) + ($9)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; - $14 = (19019 + ($13)|0); + $14 = (18403 + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 & 1; @@ -105178,7 +105727,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $20; } $21 = HEAP32[$2>>2]|0; - HEAP32[$21>>2] = 160; + HEAP32[$21>>2] = 162; $22 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $22; $502 = HEAP32[$0>>2]|0; @@ -105218,7 +105767,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $38; } $39 = HEAP32[$2>>2]|0; - HEAP32[$39>>2] = 160; + HEAP32[$39>>2] = 162; $40 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $40; $502 = HEAP32[$0>>2]|0; @@ -105320,7 +105869,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $81; } $82 = HEAP32[$2>>2]|0; - HEAP32[$82>>2] = 160; + HEAP32[$82>>2] = 162; $83 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $83; $502 = HEAP32[$0>>2]|0; @@ -105434,7 +105983,7 @@ function _sqlite3GetToken($z,$tokenType) { $118 = ($117|0)!=(61); $119 = HEAP32[$2>>2]|0; if ($118) { - HEAP32[$119>>2] = 161; + HEAP32[$119>>2] = 163; HEAP32[$0>>2] = 1; $502 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($502|0); @@ -105552,7 +106101,7 @@ function _sqlite3GetToken($z,$tokenType) { $502 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($502|0); } else { - HEAP32[$160>>2] = 161; + HEAP32[$160>>2] = 163; $163 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $163; $502 = HEAP32[$0>>2]|0; @@ -105565,7 +106114,7 @@ function _sqlite3GetToken($z,$tokenType) { $165 = ((($164)) + 1|0); $166 = HEAP8[$165>>0]|0; $167 = $166&255; - $168 = (19019 + ($167)|0); + $168 = (18403 + ($167)|0); $169 = HEAP8[$168>>0]|0; $170 = $169&255; $171 = $170 & 4; @@ -105613,7 +106162,7 @@ function _sqlite3GetToken($z,$tokenType) { } $332 = HEAP32[$c>>2]|0; $333 = ($332|0)==(93); - $334 = $333 ? 55 : 161; + $334 = $333 ? 55 : 163; $335 = HEAP32[$2>>2]|0; HEAP32[$335>>2] = $334; $336 = HEAP32[$i>>2]|0; @@ -105632,7 +106181,7 @@ function _sqlite3GetToken($z,$tokenType) { $340 = (($339) + ($338)|0); $341 = HEAP8[$340>>0]|0; $342 = $341&255; - $343 = (19019 + ($342)|0); + $343 = (18403 + ($342)|0); $344 = HEAP8[$343>>0]|0; $345 = $344&255; $346 = $345 & 4; @@ -105668,7 +106217,7 @@ function _sqlite3GetToken($z,$tokenType) { $357 = HEAP32[$c>>2]|0; $358 = $357&255; $359 = $358&255; - $360 = (19019 + ($359)|0); + $360 = (18403 + ($359)|0); $361 = HEAP8[$360>>0]|0; $362 = $361&255; $363 = $362 & 70; @@ -105730,7 +106279,7 @@ function _sqlite3GetToken($z,$tokenType) { $379 = HEAP32[$c>>2]|0; $380 = $379&255; $381 = $380&255; - $382 = (19019 + ($381)|0); + $382 = (18403 + ($381)|0); $383 = HEAP8[$382>>0]|0; $384 = $383&255; $385 = $384 & 1; @@ -105753,7 +106302,7 @@ function _sqlite3GetToken($z,$tokenType) { break; } else { $393 = HEAP32[$2>>2]|0; - HEAP32[$393>>2] = 161; + HEAP32[$393>>2] = 163; break; } } @@ -105762,7 +106311,7 @@ function _sqlite3GetToken($z,$tokenType) { $408 = ($407|0)==(0); if ($408) { $409 = HEAP32[$2>>2]|0; - HEAP32[$409>>2] = 161; + HEAP32[$409>>2] = 163; } $410 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $410; @@ -105778,7 +106327,7 @@ function _sqlite3GetToken($z,$tokenType) { $413 = (($412) + ($411)|0); $414 = HEAP8[$413>>0]|0; $415 = $414&255; - $416 = (39775 + ($415)|0); + $416 = (39282 + ($415)|0); $417 = HEAP8[$416>>0]|0; $418 = $417&255; $419 = ($418|0)<=(1); @@ -105793,7 +106342,7 @@ function _sqlite3GetToken($z,$tokenType) { $423 = (($422) + ($420)|0); $424 = HEAP8[$423>>0]|0; $425 = $424&255; - $426 = (19019 + ($425)|0); + $426 = (18403 + ($425)|0); $427 = HEAP8[$426>>0]|0; $428 = $427&255; $429 = $428 & 70; @@ -105823,7 +106372,7 @@ function _sqlite3GetToken($z,$tokenType) { $442 = ($441|0)==(39); if ($442) { $443 = HEAP32[$2>>2]|0; - HEAP32[$443>>2] = 134; + HEAP32[$443>>2] = 133; HEAP32[$i>>2] = 2; while(1) { $444 = HEAP32[$i>>2]|0; @@ -105831,7 +106380,7 @@ function _sqlite3GetToken($z,$tokenType) { $446 = (($445) + ($444)|0); $447 = HEAP8[$446>>0]|0; $448 = $447&255; - $449 = (19019 + ($448)|0); + $449 = (18403 + ($448)|0); $450 = HEAP8[$449>>0]|0; $451 = $450&255; $452 = $451 & 8; @@ -105861,7 +106410,7 @@ function _sqlite3GetToken($z,$tokenType) { L168: do { if ((label|0) == 131) { $464 = HEAP32[$2>>2]|0; - HEAP32[$464>>2] = 161; + HEAP32[$464>>2] = 163; while(1) { $465 = HEAP32[$i>>2]|0; $466 = HEAP32[$1>>2]|0; @@ -105912,7 +106461,7 @@ function _sqlite3GetToken($z,$tokenType) { } default: { $487 = HEAP32[$2>>2]|0; - HEAP32[$487>>2] = 161; + HEAP32[$487>>2] = 163; HEAP32[$0>>2] = 1; $502 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($502|0); @@ -105921,7 +106470,7 @@ function _sqlite3GetToken($z,$tokenType) { } while(0); if ((label|0) == 64) { $174 = HEAP32[$2>>2]|0; - HEAP32[$174>>2] = 132; + HEAP32[$174>>2] = 134; $175 = HEAP32[$1>>2]|0; $176 = HEAP8[$175>>0]|0; $177 = $176&255; @@ -105947,7 +106496,7 @@ function _sqlite3GetToken($z,$tokenType) { $190 = ((($189)) + 2|0); $191 = HEAP8[$190>>0]|0; $192 = $191&255; - $193 = (19019 + ($192)|0); + $193 = (18403 + ($192)|0); $194 = HEAP8[$193>>0]|0; $195 = $194&255; $196 = $195 & 8; @@ -105960,7 +106509,7 @@ function _sqlite3GetToken($z,$tokenType) { $200 = (($199) + ($198)|0); $201 = HEAP8[$200>>0]|0; $202 = $201&255; - $203 = (19019 + ($202)|0); + $203 = (18403 + ($202)|0); $204 = HEAP8[$203>>0]|0; $205 = $204&255; $206 = $205 & 8; @@ -105985,7 +106534,7 @@ function _sqlite3GetToken($z,$tokenType) { $212 = (($211) + ($210)|0); $213 = HEAP8[$212>>0]|0; $214 = $213&255; - $215 = (19019 + ($214)|0); + $215 = (18403 + ($214)|0); $216 = HEAP8[$215>>0]|0; $217 = $216&255; $218 = $217 & 4; @@ -106012,7 +106561,7 @@ function _sqlite3GetToken($z,$tokenType) { $231 = (($230) + ($229)|0); $232 = HEAP8[$231>>0]|0; $233 = $232&255; - $234 = (19019 + ($233)|0); + $234 = (18403 + ($233)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = $236 & 4; @@ -106025,7 +106574,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $240; } $241 = HEAP32[$2>>2]|0; - HEAP32[$241>>2] = 133; + HEAP32[$241>>2] = 132; } $242 = HEAP32[$i>>2]|0; $243 = HEAP32[$1>>2]|0; @@ -106054,7 +106603,7 @@ function _sqlite3GetToken($z,$tokenType) { $257 = (($256) + ($255)|0); $258 = HEAP8[$257>>0]|0; $259 = $258&255; - $260 = (19019 + ($259)|0); + $260 = (18403 + ($259)|0); $261 = HEAP8[$260>>0]|0; $262 = $261&255; $263 = $262 & 4; @@ -106085,7 +106634,7 @@ function _sqlite3GetToken($z,$tokenType) { $282 = (($281) + ($280)|0); $283 = HEAP8[$282>>0]|0; $284 = $283&255; - $285 = (19019 + ($284)|0); + $285 = (18403 + ($284)|0); $286 = HEAP8[$285>>0]|0; $287 = $286&255; $288 = $287 & 4; @@ -106103,7 +106652,7 @@ function _sqlite3GetToken($z,$tokenType) { $294 = (($293) + ($292)|0); $295 = HEAP8[$294>>0]|0; $296 = $295&255; - $297 = (19019 + ($296)|0); + $297 = (18403 + ($296)|0); $298 = HEAP8[$297>>0]|0; $299 = $298&255; $300 = $299 & 4; @@ -106116,7 +106665,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $303; } $304 = HEAP32[$2>>2]|0; - HEAP32[$304>>2] = 133; + HEAP32[$304>>2] = 132; } } while(0); while(1) { @@ -106125,7 +106674,7 @@ function _sqlite3GetToken($z,$tokenType) { $307 = (($306) + ($305)|0); $308 = HEAP8[$307>>0]|0; $309 = $308&255; - $310 = (19019 + ($309)|0); + $310 = (18403 + ($309)|0); $311 = HEAP8[$310>>0]|0; $312 = $311&255; $313 = $312 & 70; @@ -106134,7 +106683,7 @@ function _sqlite3GetToken($z,$tokenType) { break; } $315 = HEAP32[$2>>2]|0; - HEAP32[$315>>2] = 161; + HEAP32[$315>>2] = 163; $316 = HEAP32[$i>>2]|0; $317 = (($316) + 1)|0; HEAP32[$i>>2] = $317; @@ -106153,7 +106702,7 @@ function _sqlite3GetToken($z,$tokenType) { $490 = (($489) + ($488)|0); $491 = HEAP8[$490>>0]|0; $492 = $491&255; - $493 = (19019 + ($492)|0); + $493 = (18403 + ($492)|0); $494 = HEAP8[$493>>0]|0; $495 = $494&255; $496 = $495 & 70; @@ -106178,8 +106727,7 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { $yyminor = $yyminor|0; $pParse = $pParse|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $yyact = 0, $yyminor$byval_copy1 = 0, $yyminorunion = 0, $yypParser = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yyact = 0, $yyminor$byval_copy1 = 0, $yyminorunion = 0, $yypParser = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $yyminor$byval_copy1 = sp + 32|0; @@ -106194,92 +106742,74 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { HEAP32[$2>>2] = $pParse; $3 = HEAP32[$0>>2]|0; HEAP32[$yypParser>>2] = $3; - $4 = HEAP32[$yypParser>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<(0); - if ($6) { - $7 = HEAP32[$yypParser>>2]|0; - HEAP32[$7>>2] = 0; - $8 = HEAP32[$yypParser>>2]|0; - $9 = ((($8)) + 8|0); - HEAP16[$9>>1] = 0; - $10 = HEAP32[$yypParser>>2]|0; - $11 = ((($10)) + 8|0); - $12 = ((($11)) + 2|0); - HEAP8[$12>>0] = 0; - } - $13 = HEAP32[$2>>2]|0; - $14 = HEAP32[$yypParser>>2]|0; - $15 = ((($14)) + 4|0); - HEAP32[$15>>2] = $13; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$yypParser>>2]|0; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $4; while(1) { - $16 = HEAP32[$yypParser>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = $17&255; - $19 = (_yy_find_shift_action($16,$18)|0); - HEAP32[$yyact>>2] = $19; - $20 = HEAP32[$yyact>>2]|0; - $21 = ($20>>>0)<=(974); - $22 = HEAP32[$yyact>>2]|0; + $7 = HEAP32[$yypParser>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = $8&255; + $10 = (_yy_find_shift_action($7,$9)|0); + HEAP32[$yyact>>2] = $10; + $11 = HEAP32[$yyact>>2]|0; + $12 = ($11>>>0)<=(999); do { - if ($21) { - $23 = ($22>>>0)>(439); - if ($23) { - $24 = HEAP32[$yyact>>2]|0; - $25 = (($24) + 326)|0; - HEAP32[$yyact>>2] = $25; - } - $26 = HEAP32[$yypParser>>2]|0; - $27 = HEAP32[$yyact>>2]|0; - $28 = HEAP32[$1>>2]|0; + if ($12) { + $13 = HEAP32[$yypParser>>2]|0; + $14 = HEAP32[$yyact>>2]|0; + $15 = HEAP32[$1>>2]|0; ;HEAP32[$yyminor$byval_copy1>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminor$byval_copy1+4>>2]=HEAP32[$yyminor+4>>2]|0; - _yy_shift($26,$27,$28,$yyminor$byval_copy1); - HEAP32[$1>>2] = 251; + _yy_shift($13,$14,$15,$yyminor$byval_copy1); + HEAP32[$1>>2] = 252; } else { - $29 = ($22>>>0)<=(1300); - if ($29) { - $30 = HEAP32[$yypParser>>2]|0; - $31 = HEAP32[$yyact>>2]|0; - $32 = (($31) - 975)|0; - _yy_reduce($30,$32); + $16 = HEAP32[$yyact>>2]|0; + $17 = ($16>>>0)<=(1331); + if ($17) { + $18 = HEAP32[$yypParser>>2]|0; + $19 = HEAP32[$yyact>>2]|0; + $20 = (($19) - 1000)|0; + _yy_reduce($18,$20); break; } else { ;HEAP32[$yyminorunion>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminorunion+4>>2]=HEAP32[$yyminor+4>>2]|0; - $33 = HEAP32[$yypParser>>2]|0; - $34 = HEAP32[$1>>2]|0; + $21 = HEAP32[$yypParser>>2]|0; + $22 = HEAP32[$1>>2]|0; ;HEAP32[$yyminor$byval_copy1>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminor$byval_copy1+4>>2]=HEAP32[$yyminor+4>>2]|0; - _yy_syntax_error($33,$34,$yyminor$byval_copy1); - $35 = HEAP32[$yypParser>>2]|0; - $36 = HEAP32[$1>>2]|0; - $37 = $36&255; - _yy_destructor($35,$37,$yyminorunion); - HEAP32[$1>>2] = 251; + _yy_syntax_error($21,$22,$yyminor$byval_copy1); + $23 = HEAP32[$yypParser>>2]|0; + $24 = HEAP32[$1>>2]|0; + $25 = $24&255; + _yy_destructor($23,$25,$yyminorunion); + HEAP32[$1>>2] = 252; break; } } } while(0); - $38 = HEAP32[$1>>2]|0; - $39 = ($38|0)!=(251); - if (!($39)) { - label = 13; + $26 = HEAP32[$1>>2]|0; + $27 = ($26|0)!=(252); + if (!($27)) { + label = 9; break; } - $40 = HEAP32[$yypParser>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)>=(0); - if (!($42)) { - label = 13; + $28 = HEAP32[$yypParser>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$yypParser>>2]|0; + $31 = ((($30)) + 8|0); + $32 = ($29>>>0)>($31>>>0); + if (!($32)) { + label = 9; break; } } - if ((label|0) == 13) { + if ((label|0) == 9) { STACKTOP = sp;return; } } function _sqlite3ParserFree($p,$freeProc) { $p = $p|0; $freeProc = $freeProc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pParser = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParser = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -106292,16 +106822,18 @@ function _sqlite3ParserFree($p,$freeProc) { while(1) { $3 = HEAP32[$pParser>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>=(0); - if (!($5)) { + $5 = HEAP32[$pParser>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ($4>>>0)>($6>>>0); + if (!($7)) { break; } - $6 = HEAP32[$pParser>>2]|0; - _yy_pop_parser_stack($6); + $8 = HEAP32[$pParser>>2]|0; + _yy_pop_parser_stack($8); } - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$pParser>>2]|0; - FUNCTION_TABLE_vi[$7 & 255]($8); + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$pParser>>2]|0; + FUNCTION_TABLE_vi[$9 & 255]($10); STACKTOP = sp;return; } function _sqlite3VdbeDelete($p) { @@ -106325,17 +106857,17 @@ function _sqlite3VdbeDelete($p) { $6 = HEAP32[$0>>2]|0; _sqlite3VdbeClearObject($5,$6); $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 48|0); + $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 52|0); + $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; if ($10) { $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 48|0); + $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 52|0); + $17 = ((($16)) + 8|0); HEAP32[$17>>2] = $13; } else { $18 = HEAP32[$db>>2]|0; @@ -106343,22 +106875,22 @@ function _sqlite3VdbeDelete($p) { HEAP32[$19>>2] = $13; } $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 52|0); + $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); if ($23) { $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 48|0); + $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 52|0); + $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; - $30 = ((($29)) + 48|0); + $30 = ((($29)) + 4|0); HEAP32[$30>>2] = $26; } $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 40|0); - HEAP32[$32>>2] = -1241070648; + $32 = ((($31)) + 20|0); + HEAP32[$32>>2] = 1443283912; $33 = HEAP32[$0>>2]|0; HEAP32[$33>>2] = 0; $34 = HEAP32[$db>>2]|0; @@ -106682,8 +107214,8 @@ function _sqlite3ExprDeleteNN($db,$p) { $db = $db|0; $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -106693,62 +107225,74 @@ function _sqlite3ExprDeleteNN($db,$p) { $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; - $5 = $4 & 16384; + $5 = $4 & 8404992; $6 = ($5|0)!=(0); do { if (!($6)) { - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - _sqlite3ExprDelete($7,$10); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 16|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3ExprDelete($11,$14); - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & 65536; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 8|0); - $23 = HEAP32[$22>>2]|0; - _sqlite3DbFree($20,$23); + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(159); + if ($14) { + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _sqlite3ExprDeleteNN($15,$18); + } } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $26 & 2048; - $28 = ($27|0)!=(0); - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 20|0); - if ($28) { - $32 = HEAP32[$31>>2]|0; - _sqlite3SelectDelete($29,$32); + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + _sqlite3ExprDelete($19,$22); + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = $25 & 2048; + $27 = ($26|0)!=(0); + $28 = HEAP32[$0>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 20|0); + if ($27) { + $31 = HEAP32[$30>>2]|0; + _sqlite3SelectDelete($28,$31); break; } else { - $33 = HEAP32[$31>>2]|0; - _sqlite3ExprListDelete($29,$33); + $32 = HEAP32[$30>>2]|0; + _sqlite3ExprListDelete($28,$32); break; } } } while(0); - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = $36 & 32768; - $38 = ($37|0)!=(0); - if ($38) { + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 & 65536; + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$0>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3DbFree($38,$41); + } + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = $44 & 32768; + $46 = ($45|0)!=(0); + if ($46) { STACKTOP = sp;return; } - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$1>>2]|0; - _sqlite3DbFree($39,$40); + $47 = HEAP32[$0>>2]|0; + $48 = HEAP32[$1>>2]|0; + _sqlite3DbFree($47,$48); STACKTOP = sp;return; } function _sqlite3IdListDelete($db,$pList) { @@ -106855,7 +107399,7 @@ function _exprListDeleteNN($db,$pList) { } function _yy_pop_parser_stack($pParser) { $pParser = $pParser|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -106863,19 +107407,16 @@ function _yy_pop_parser_stack($pParser) { HEAP32[$0>>2] = $pParser; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; - $3 = (($2) + -1)|0; + $3 = ((($2)) + -16|0); HEAP32[$1>>2] = $3; + HEAP32[$yytos>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); - $6 = (($5) + ($2<<4)|0); - HEAP32[$yytos>>2] = $6; - $7 = HEAP32[$0>>2]|0; + $5 = HEAP32[$yytos>>2]|0; + $6 = ((($5)) + 2|0); + $7 = HEAP8[$6>>0]|0; $8 = HEAP32[$yytos>>2]|0; - $9 = ((($8)) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = HEAP32[$yytos>>2]|0; - $12 = ((($11)) + 4|0); - _yy_destructor($7,$10,$12); + $9 = ((($8)) + 4|0); + _yy_destructor($4,$7,$9); STACKTOP = sp;return; } function _yy_destructor($yypParser,$yymajor,$yypminor) { @@ -106920,7 +107461,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 225: case 218: case 209: case 208: case 207: case 204: case 202: case 199: case 187: case 186: case 177: { + case 226: case 224: case 218: case 209: case 208: case 207: case 204: case 202: case 199: case 187: case 186: case 177: { $16 = HEAP32[$pParse>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$2>>2]|0; @@ -106938,7 +107479,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 249: case 196: { + case 250: case 196: { $24 = HEAP32[$pParse>>2]|0; $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$2>>2]|0; @@ -106947,7 +107488,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 240: case 235: case 226: case 224: case 215: case 203: case 201: { + case 241: case 236: case 227: case 225: case 215: case 203: case 201: { $28 = HEAP32[$pParse>>2]|0; $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$2>>2]|0; @@ -106965,7 +107506,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 236: case 231: { + case 237: case 232: { $36 = HEAP32[$pParse>>2]|0; $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$2>>2]|0; @@ -106974,7 +107515,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 233: { + case 234: { $40 = HEAP32[$pParse>>2]|0; $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$2>>2]|0; @@ -107046,8 +107587,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $i = 0, $iFallback = 0, $j = 0, $or$cond = 0; - var $stateno = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iFallback = 0, $j = 0, $or$cond = 0, $stateno = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; @@ -107061,141 +107601,118 @@ function _yy_find_shift_action($pParser,$iLookAhead) { HEAP8[$2>>0] = $iLookAhead; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 8|0); - $7 = (($6) + ($4<<4)|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8&65535; - HEAP32[$stateno>>2] = $9; - $10 = HEAP32[$stateno>>2]|0; - $11 = ($10|0)>=(975); - if ($11) { - $12 = HEAP32[$stateno>>2]|0; - HEAP32[$0>>2] = $12; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + HEAP32[$stateno>>2] = $6; + $7 = HEAP32[$stateno>>2]|0; + $8 = ($7|0)>=(1000); + if ($8) { + $9 = HEAP32[$stateno>>2]|0; + HEAP32[$0>>2] = $9; + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } while(1) { - $13 = HEAP32[$stateno>>2]|0; - $14 = (15274 + ($13<<1)|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15 << 16 >> 16; - HEAP32[$i>>2] = $16; - $17 = HEAP32[$i>>2]|0; - $18 = ($17|0)==(-95); - if ($18) { - label = 4; - break; - } - $23 = HEAP8[$2>>0]|0; - $24 = $23&255; - $25 = HEAP32[$i>>2]|0; - $26 = (($25) + ($24))|0; - HEAP32[$i>>2] = $26; - $27 = HEAP32[$i>>2]|0; - $28 = ($27|0)<(0); - $29 = HEAP32[$i>>2]|0; - $30 = ($29|0)>=(1501); - $or$cond = $28 | $30; + $10 = HEAP32[$stateno>>2]|0; + $11 = (14594 + ($10<<1)|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + HEAP32[$i>>2] = $13; + $14 = HEAP8[$2>>0]|0; + $15 = $14&255; + $16 = HEAP32[$i>>2]|0; + $17 = (($16) + ($15))|0; + HEAP32[$i>>2] = $17; + $18 = HEAP32[$i>>2]|0; + $19 = ($18|0)<(0); + $20 = HEAP32[$i>>2]|0; + $21 = ($20|0)>=(1567); + $or$cond = $19 | $21; if (!($or$cond)) { - $31 = HEAP32[$i>>2]|0; - $32 = (38178 + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = HEAP8[$2>>0]|0; - $36 = $35&255; - $37 = ($34|0)!=($36|0); - if (!($37)) { - label = 15; + $22 = HEAP32[$i>>2]|0; + $23 = (37619 + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$2>>0]|0; + $27 = $26&255; + $28 = ($25|0)!=($27|0); + if (!($28)) { + label = 13; break; } } - $38 = HEAP8[$2>>0]|0; - $39 = $38&255; - $40 = ($39|0)>(0); - if (!($40)) { - break; - } - $41 = HEAP8[$2>>0]|0; - $42 = $41&255; - $43 = ($42>>>0)<(96); - if (!($43)) { - label = 11; + $29 = HEAP8[$2>>0]|0; + $30 = $29&255; + $31 = ($30>>>0)<(96); + if (!($31)) { break; } - $44 = HEAP8[$2>>0]|0; - $45 = $44&255; - $46 = (39679 + ($45)|0); - $47 = HEAP8[$46>>0]|0; - HEAP8[$iFallback>>0] = $47; - $48 = $47&255; - $49 = ($48|0)!=(0); - if (!($49)) { - label = 11; + $32 = HEAP8[$2>>0]|0; + $33 = $32&255; + $34 = (39186 + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$iFallback>>0] = $35; + $36 = $35&255; + $37 = ($36|0)!=(0); + if (!($37)) { break; } - $50 = HEAP8[$iFallback>>0]|0; - HEAP8[$2>>0] = $50; + $38 = HEAP8[$iFallback>>0]|0; + HEAP8[$2>>0] = $38; } - if ((label|0) == 4) { - $19 = HEAP32[$stateno>>2]|0; - $20 = (16154 + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - HEAP32[$0>>2] = $22; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + if ((label|0) == 13) { + $62 = HEAP32[$i>>2]|0; + $63 = (11456 + ($62<<1)|0); + $64 = HEAP16[$63>>1]|0; + $65 = $64&65535; + HEAP32[$0>>2] = $65; + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } - else if ((label|0) == 11) { - $51 = HEAP32[$i>>2]|0; - $52 = HEAP8[$2>>0]|0; - $53 = $52&255; - $54 = (($51) - ($53))|0; - $55 = (($54) + 96)|0; - HEAP32[$j>>2] = $55; - $56 = HEAP32[$j>>2]|0; - $57 = ($56|0)<(1501); - if ($57) { - $58 = HEAP32[$j>>2]|0; - $59 = (38178 + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($61|0)==(96); - if ($62) { - $63 = HEAP32[$j>>2]|0; - $64 = (12268 + ($63<<1)|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65&65535; - HEAP32[$0>>2] = $66; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + $39 = HEAP32[$i>>2]|0; + $40 = HEAP8[$2>>0]|0; + $41 = $40&255; + $42 = (($39) - ($41))|0; + $43 = (($42) + 96)|0; + HEAP32[$j>>2] = $43; + $44 = HEAP32[$j>>2]|0; + $45 = ($44|0)<(1567); + if ($45) { + $46 = HEAP32[$j>>2]|0; + $47 = (37619 + ($46)|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = ($49|0)==(96); + if ($50) { + $51 = HEAP8[$2>>0]|0; + $52 = $51&255; + $53 = ($52|0)>(0); + if ($53) { + $54 = HEAP32[$j>>2]|0; + $55 = (11456 + ($54<<1)|0); + $56 = HEAP16[$55>>1]|0; + $57 = $56&65535; + HEAP32[$0>>2] = $57; + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } } } - else if ((label|0) == 15) { - $71 = HEAP32[$i>>2]|0; - $72 = (12268 + ($71<<1)|0); - $73 = HEAP16[$72>>1]|0; - $74 = $73&65535; - HEAP32[$0>>2] = $74; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); - } - $67 = HEAP32[$stateno>>2]|0; - $68 = (16154 + ($67<<1)|0); - $69 = HEAP16[$68>>1]|0; - $70 = $69&65535; - HEAP32[$0>>2] = $70; - $75 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($75|0); + $58 = HEAP32[$stateno>>2]|0; + $59 = (15506 + ($58<<1)|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60&65535; + HEAP32[$0>>2] = $61; + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } function _yy_shift($yypParser,$yyNewState,$yyMajor,$yyMinor) { $yypParser = $yypParser|0; $yyNewState = $yyNewState|0; $yyMajor = $yyMajor|0; $yyMinor = $yyMinor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -107207,35 +107724,42 @@ function _yy_shift($yypParser,$yyNewState,$yyMajor,$yyMinor) { HEAP32[$2>>2] = $yyMajor; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = (($4) + 1)|0; + $5 = ((($4)) + 16|0); HEAP32[$3>>2] = $5; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>=(100); - $9 = HEAP32[$0>>2]|0; - if ($8) { - _yyStackOverflow($9); - STACKTOP = sp;return; - } else { - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); - $13 = (($12) + ($10<<4)|0); - HEAP32[$yytos>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = $14&65535; - $16 = HEAP32[$yytos>>2]|0; - HEAP16[$16>>1] = $15; - $17 = HEAP32[$2>>2]|0; - $18 = $17&255; - $19 = HEAP32[$yytos>>2]|0; - $20 = ((($19)) + 2|0); - HEAP8[$20>>0] = $18; - $21 = HEAP32[$yytos>>2]|0; - $22 = ((($21)) + 4|0); - ;HEAP32[$22>>2]=HEAP32[$yyMinor>>2]|0;HEAP32[$22+4>>2]=HEAP32[$yyMinor+4>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 8|0); + $10 = ((($9)) + 1600|0); + $11 = ($7>>>0)>=($10>>>0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + _yyStackOverflow($12); STACKTOP = sp;return; } + $13 = HEAP32[$1>>2]|0; + $14 = ($13|0)>(455); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = (($15) + 332)|0; + HEAP32[$1>>2] = $16; + } + $17 = HEAP32[$0>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$yytos>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = $19&65535; + $21 = HEAP32[$yytos>>2]|0; + HEAP16[$21>>1] = $20; + $22 = HEAP32[$2>>2]|0; + $23 = $22&255; + $24 = HEAP32[$yytos>>2]|0; + $25 = ((($24)) + 2|0); + HEAP8[$25>>0] = $23; + $26 = HEAP32[$yytos>>2]|0; + $27 = ((($26)) + 4|0); + ;HEAP32[$27>>2]=HEAP32[$yyMinor>>2]|0;HEAP32[$27+4>>2]=HEAP32[$yyMinor+4>>2]|0; + STACKTOP = sp;return; } function _yy_reduce($yypParser,$yyruleno) { $yypParser = $yypParser|0; @@ -107340,97 +107864,108 @@ function _yy_reduce($yypParser,$yyruleno) { var $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0; var $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0; var $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0; - var $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0; - var $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0; - var $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0; - var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; - var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0; - var $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0; - var $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0; - var $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0; - var $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0; - var $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0; - var $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0; - var $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0; - var $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0; - var $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0; - var $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0; - var $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0; - var $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0; - var $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0; - var $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0; - var $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0; - var $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0; - var $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0; - var $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0; - var $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0; - var $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0; - var $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0; - var $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $all = 0, $dest = 0, $p = 0, $p2 = 0, $p9 = 0, $pDot = 0, $pFrom = 0, $pLeft = 0, $pLeft4 = 0; - var $pLhs = 0, $pList = 0, $pList7 = 0, $pList8 = 0, $pNew = 0, $pOld = 0, $pParse = 0, $pRHS = 0, $pRhs = 0, $pRight = 0, $pRight3 = 0, $pSelect = 0, $pSrc = 0, $pSubquery = 0, $t = 0, $temp1 = 0, $temp15 = 0, $temp2 = 0, $temp26 = 0, $temp3 = 0; - var $temp4 = 0, $v = 0, $v1 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $x = 0, $yyact = 0, $yygoto = 0, $yylhsminor = 0, $yymsp = 0, $yysize = 0, label = 0, sp = 0; + var $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0; + var $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0; + var $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0; + var $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0; + var $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0; + var $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0; + var $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0; + var $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0; + var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; + var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; + var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; + var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; + var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0; + var $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0; + var $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0; + var $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0; + var $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0; + var $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0; + var $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0; + var $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0; + var $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0; + var $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0; + var $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0; + var $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0; + var $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0; + var $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0; + var $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0; + var $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0; + var $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0; + var $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0; + var $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0; + var $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0; + var $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0; + var $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0; + var $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0; + var $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0; + var $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0; + var $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0; + var $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0; + var $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0; + var $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0; + var $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0; + var $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0; + var $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0; + var $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0; + var $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $all = 0, $bNot = 0, $bNot9 = 0, $dest = 0, $n = 0, $p = 0, $p11 = 0; + var $p2 = 0, $pDot = 0, $pFrom = 0, $pLeft = 0, $pLeft4 = 0, $pLhs = 0, $pList = 0, $pList10 = 0, $pList7 = 0, $pList8 = 0, $pNew = 0, $pOld = 0, $pParse = 0, $pRHS = 0, $pRhs = 0, $pRight = 0, $pRight3 = 0, $pSelect = 0, $pSrc = 0, $pSubquery = 0; + var $t = 0, $temp1 = 0, $temp15 = 0, $temp2 = 0, $temp26 = 0, $temp3 = 0, $temp4 = 0, $v = 0, $v1 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $x = 0, $yyact = 0, $yygoto = 0, $yylhsminor = 0; + var $yymsp = 0, $yysize = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 288|0; - $$byval_copy16 = sp + 272|0; + $$byval_copy16 = sp + 280|0; $vararg_buffer12 = sp + 40|0; $vararg_buffer10 = sp + 32|0; $vararg_buffer8 = sp + 24|0; $vararg_buffer5 = sp + 16|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 264|0; - $1 = sp + 260|0; - $yygoto = sp + 256|0; - $yyact = sp + 252|0; - $yymsp = sp + 248|0; - $yysize = sp + 244|0; - $pParse = sp + 240|0; - $yylhsminor = sp + 228|0; - $v = sp + 216|0; - $v1 = sp + 204|0; - $dest = sp + 184|0; - $p = sp + 180|0; - $pRhs = sp + 176|0; - $pLhs = sp + 172|0; - $pFrom = sp + 168|0; - $x = sp + 160|0; - $pRight = sp + 152|0; - $pLeft = sp + 148|0; - $p2 = sp + 144|0; - $pRight3 = sp + 140|0; - $pLeft4 = sp + 136|0; - $pDot = sp + 132|0; - $pNew = sp + 128|0; - $pOld = sp + 124|0; - $pSubquery = sp + 120|0; - $temp1 = sp + 116|0; - $temp2 = sp + 112|0; - $temp15 = sp + 108|0; - $temp26 = sp + 104|0; - $temp3 = sp + 100|0; - $temp4 = sp + 96|0; - $t = sp + 88|0; - $pList = sp + 80|0; - $pList7 = sp + 76|0; - $pList8 = sp + 72|0; + $0 = sp + 276|0; + $1 = sp + 272|0; + $yygoto = sp + 268|0; + $yyact = sp + 264|0; + $yymsp = sp + 260|0; + $yysize = sp + 256|0; + $pParse = sp + 252|0; + $yylhsminor = sp + 240|0; + $v = sp + 228|0; + $v1 = sp + 216|0; + $dest = sp + 192|0; + $p = sp + 188|0; + $pRhs = sp + 184|0; + $pLhs = sp + 180|0; + $pFrom = sp + 176|0; + $x = sp + 168|0; + $pRight = sp + 164|0; + $pLeft = sp + 160|0; + $p2 = sp + 156|0; + $pRight3 = sp + 152|0; + $pLeft4 = sp + 148|0; + $pDot = sp + 144|0; + $pNew = sp + 140|0; + $pOld = sp + 136|0; + $pSubquery = sp + 132|0; + $temp1 = sp + 128|0; + $temp2 = sp + 124|0; + $temp15 = sp + 120|0; + $temp26 = sp + 116|0; + $temp3 = sp + 112|0; + $temp4 = sp + 108|0; + $n = sp + 104|0; + $t = sp + 96|0; + $pList = sp + 92|0; + $pList7 = sp + 88|0; + $bNot = sp + 84|0; + $pList8 = sp + 80|0; + $bNot9 = sp + 76|0; + $pList10 = sp + 72|0; $pRHS = sp + 68|0; $pSrc = sp + 64|0; $pSelect = sp + 60|0; - $p9 = sp + 56|0; + $p11 = sp + 56|0; $all = sp + 48|0; HEAP32[$0>>2] = $yypParser; HEAP32[$1>>2] = $yyruleno; @@ -107440,20 +107975,20 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$pParse>>2] = $4; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); - $9 = (($8) + ($6<<4)|0); - HEAP32[$yymsp>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = (27102 + ($10<<1)|0); - $12 = ((($11)) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(0); - if ($15) { - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>=(99); + HEAP32[$yymsp>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = (26486 + ($7<<1)|0); + $9 = ((($8)) + 1|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(0); + if ($12) { + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 8|0); + $17 = ((($16)) + 1584|0); + $18 = ($14>>>0)>=($17>>>0); if ($18) { $19 = HEAP32[$0>>2]|0; _yyStackOverflow($19); @@ -107465,13 +108000,13 @@ function _yy_reduce($yypParser,$yyruleno) { switch ($20|0) { case 0: { $21 = HEAP32[$pParse>>2]|0; - $22 = ((($21)) + 453|0); + $22 = ((($21)) + 409|0); HEAP8[$22>>0] = 1; break; } case 1: { $23 = HEAP32[$pParse>>2]|0; - $24 = ((($23)) + 453|0); + $24 = ((($23)) + 409|0); HEAP8[$24>>0] = 2; break; } @@ -107560,7 +108095,7 @@ function _yy_reduce($yypParser,$yyruleno) { _disableLookaside($65); break; } - case 209: case 90: case 76: case 67: case 57: case 42: case 22: case 19: case 16: { + case 215: case 90: case 76: case 67: case 57: case 42: case 22: case 19: case 16: { $66 = HEAP32[$yymsp>>2]|0; $67 = ((($66)) + 16|0); $68 = ((($67)) + 4|0); @@ -107619,7 +108154,7 @@ function _yy_reduce($yypParser,$yyruleno) { $99 = HEAP32[$yymsp>>2]|0; $100 = ((($99)) + 4|0); $101 = HEAP32[$100>>2]|0; - $102 = (_sqlite3_strnicmp($101,25361,5)|0); + $102 = (_sqlite3_strnicmp($101,24745,5)|0); $103 = ($102|0)==(0); if ($103) { $104 = HEAP32[$yymsp>>2]|0; @@ -107644,7 +108179,7 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$vararg_buffer>>2] = $114; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $117; - _sqlite3ErrorMsg($110,27754,$vararg_buffer); + _sqlite3ErrorMsg($110,27150,$vararg_buffer); break; } case 24: { @@ -107740,7 +108275,7 @@ function _yy_reduce($yypParser,$yyruleno) { } case 62: case 29: { $188 = HEAP32[$pParse>>2]|0; - $189 = ((($188)) + 328|0); + $189 = ((($188)) + 84|0); $190 = HEAP32[$yymsp>>2]|0; $191 = ((($190)) + 4|0); ;HEAP32[$189>>2]=HEAP32[$191>>2]|0;HEAP32[$189+4>>2]=HEAP32[$191+4>>2]|0; @@ -107823,7 +108358,7 @@ function _yy_reduce($yypParser,$yyruleno) { $236 = HEAP32[$yymsp>>2]|0; $237 = ((($236)) + 4|0); $238 = HEAP32[$237>>2]|0; - (_sqlite3CreateIndex($235,0,0,0,0,$238,0,0,0,0)|0); + _sqlite3CreateIndex($235,0,0,0,0,$238,0,0,0,0,1); break; } case 38: { @@ -107988,7 +108523,7 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$332>>2] = 0; break; } - case 142: case 71: case 56: { + case 144: case 71: case 56: { $333 = HEAP32[$yymsp>>2]|0; $334 = ((($333)) + 4|0); $335 = HEAP32[$334>>2]|0; @@ -107998,7 +108533,7 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$338>>2] = $335; break; } - case 210: case 186: case 183: case 75: case 58: { + case 216: case 190: case 187: case 75: case 58: { $339 = HEAP32[$yymsp>>2]|0; $340 = ((($339)) + -16|0); $341 = ((($340)) + 4|0); @@ -108014,7 +108549,7 @@ function _yy_reduce($yypParser,$yyruleno) { } case 61: { $345 = HEAP32[$pParse>>2]|0; - $346 = ((($345)) + 328|0); + $346 = ((($345)) + 84|0); $347 = ((($346)) + 4|0); HEAP32[$347>>2] = 0; break; @@ -108044,7 +108579,7 @@ function _yy_reduce($yypParser,$yyruleno) { $365 = HEAP32[$yymsp>>2]|0; $366 = ((($365)) + 4|0); $367 = HEAP32[$366>>2]|0; - (_sqlite3CreateIndex($360,0,0,0,$364,$367,0,0,0,0)|0); + _sqlite3CreateIndex($360,0,0,0,$364,$367,0,0,0,0,1); break; } case 65: { @@ -108104,7 +108639,7 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$403>>2] = 4; break; } - case 143: case 73: { + case 145: case 73: { $404 = HEAP32[$yymsp>>2]|0; $405 = ((($404)) + 4|0); HEAP32[$405>>2] = 5; @@ -108164,7 +108699,7 @@ function _yy_reduce($yypParser,$yyruleno) { break; } case 79: { - ;HEAP32[$dest>>2]=HEAP32[5096>>2]|0;HEAP32[$dest+4>>2]=HEAP32[5096+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[5096+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[5096+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[5096+16>>2]|0; + ;HEAP32[$dest>>2]=HEAP32[4252>>2]|0;HEAP32[$dest+4>>2]=HEAP32[4252+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[4252+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[4252+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[4252+16>>2]|0;HEAP32[$dest+20>>2]=HEAP32[4252+20>>2]|0; $447 = HEAP32[$pParse>>2]|0; $448 = HEAP32[$yymsp>>2]|0; $449 = ((($448)) + 4|0); @@ -108431,7 +108966,7 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$629>>2] = 2; break; } - case 205: case 199: case 126: case 119: case 91: { + case 211: case 206: case 203: case 126: case 119: case 91: { $630 = HEAP32[$yymsp>>2]|0; $631 = ((($630)) + 16|0); $632 = ((($631)) + 4|0); @@ -108482,7 +109017,7 @@ function _yy_reduce($yypParser,$yyruleno) { case 93: { $666 = HEAP32[$pParse>>2]|0; $667 = HEAP32[$666>>2]|0; - $668 = (_sqlite3Expr($667,158,0)|0); + $668 = (_sqlite3Expr($667,160,0)|0); HEAP32[$p2>>2] = $668; $669 = HEAP32[$pParse>>2]|0; $670 = HEAP32[$yymsp>>2]|0; @@ -108499,760 +109034,758 @@ function _yy_reduce($yypParser,$yyruleno) { } case 94: { $679 = HEAP32[$pParse>>2]|0; - $680 = HEAP32[$yymsp>>2]|0; - $681 = ((($680)) + 4|0); - $682 = (_sqlite3PExpr($679,158,0,0,$681)|0); - HEAP32[$pRight3>>2] = $682; - $683 = HEAP32[$pParse>>2]|0; - $684 = HEAP32[$yymsp>>2]|0; - $685 = ((($684)) + -32|0); - $686 = ((($685)) + 4|0); - $687 = (_sqlite3PExpr($683,55,0,0,$686)|0); - HEAP32[$pLeft4>>2] = $687; - $688 = HEAP32[$pParse>>2]|0; - $689 = HEAP32[$pLeft4>>2]|0; - $690 = HEAP32[$pRight3>>2]|0; - $691 = (_sqlite3PExpr($688,122,$689,$690,0)|0); - HEAP32[$pDot>>2] = $691; - $692 = HEAP32[$pParse>>2]|0; - $693 = HEAP32[$yymsp>>2]|0; - $694 = ((($693)) + -48|0); - $695 = ((($694)) + 4|0); - $696 = HEAP32[$695>>2]|0; - $697 = HEAP32[$pDot>>2]|0; - $698 = (_sqlite3ExprListAppend($692,$696,$697)|0); - $699 = HEAP32[$yymsp>>2]|0; - $700 = ((($699)) + -48|0); - $701 = ((($700)) + 4|0); - HEAP32[$701>>2] = $698; - break; - } - case 220: case 219: case 106: case 95: { - $702 = HEAP32[$yymsp>>2]|0; - $703 = ((($702)) + -16|0); + $680 = (_sqlite3PExpr($679,160,0,0,0)|0); + HEAP32[$pRight3>>2] = $680; + $681 = HEAP32[$pParse>>2]|0; + $682 = HEAP32[$yymsp>>2]|0; + $683 = ((($682)) + -32|0); + $684 = ((($683)) + 4|0); + $685 = (_sqlite3PExpr($681,55,0,0,$684)|0); + HEAP32[$pLeft4>>2] = $685; + $686 = HEAP32[$pParse>>2]|0; + $687 = HEAP32[$pLeft4>>2]|0; + $688 = HEAP32[$pRight3>>2]|0; + $689 = (_sqlite3PExpr($686,122,$687,$688,0)|0); + HEAP32[$pDot>>2] = $689; + $690 = HEAP32[$pParse>>2]|0; + $691 = HEAP32[$yymsp>>2]|0; + $692 = ((($691)) + -48|0); + $693 = ((($692)) + 4|0); + $694 = HEAP32[$693>>2]|0; + $695 = HEAP32[$pDot>>2]|0; + $696 = (_sqlite3ExprListAppend($690,$694,$695)|0); + $697 = HEAP32[$yymsp>>2]|0; + $698 = ((($697)) + -48|0); + $699 = ((($698)) + 4|0); + HEAP32[$699>>2] = $696; + break; + } + case 226: case 225: case 106: case 95: { + $700 = HEAP32[$yymsp>>2]|0; + $701 = ((($700)) + -16|0); + $702 = ((($701)) + 4|0); + $703 = HEAP32[$yymsp>>2]|0; $704 = ((($703)) + 4|0); - $705 = HEAP32[$yymsp>>2]|0; - $706 = ((($705)) + 4|0); - ;HEAP32[$704>>2]=HEAP32[$706>>2]|0;HEAP32[$704+4>>2]=HEAP32[$706+4>>2]|0; + ;HEAP32[$702>>2]=HEAP32[$704>>2]|0;HEAP32[$702+4>>2]=HEAP32[$704+4>>2]|0; break; } case 97: { - $707 = HEAP32[$pParse>>2]|0; - $708 = HEAP32[$707>>2]|0; - $709 = (_sqlite3DbMallocZero($708,80,0)|0); - $710 = HEAP32[$yymsp>>2]|0; - $711 = ((($710)) + 16|0); - $712 = ((($711)) + 4|0); - HEAP32[$712>>2] = $709; + $705 = HEAP32[$pParse>>2]|0; + $706 = HEAP32[$705>>2]|0; + $707 = (_sqlite3DbMallocZero($706,80,0)|0); + $708 = HEAP32[$yymsp>>2]|0; + $709 = ((($708)) + 16|0); + $710 = ((($709)) + 4|0); + HEAP32[$710>>2] = $707; break; } case 98: { - $713 = HEAP32[$yymsp>>2]|0; - $714 = ((($713)) + 4|0); - $715 = HEAP32[$714>>2]|0; - $716 = HEAP32[$yymsp>>2]|0; - $717 = ((($716)) + -16|0); - $718 = ((($717)) + 4|0); - HEAP32[$718>>2] = $715; - $719 = HEAP32[$yymsp>>2]|0; - $720 = ((($719)) + -16|0); - $721 = ((($720)) + 4|0); - $722 = HEAP32[$721>>2]|0; - _sqlite3SrcListShiftJoinType($722); + $711 = HEAP32[$yymsp>>2]|0; + $712 = ((($711)) + 4|0); + $713 = HEAP32[$712>>2]|0; + $714 = HEAP32[$yymsp>>2]|0; + $715 = ((($714)) + -16|0); + $716 = ((($715)) + 4|0); + HEAP32[$716>>2] = $713; + $717 = HEAP32[$yymsp>>2]|0; + $718 = ((($717)) + -16|0); + $719 = ((($718)) + 4|0); + $720 = HEAP32[$719>>2]|0; + _sqlite3SrcListShiftJoinType($720); break; } case 99: { - $723 = HEAP32[$yymsp>>2]|0; - $724 = ((($723)) + -16|0); - $725 = ((($724)) + 4|0); - $726 = HEAP32[$725>>2]|0; - $727 = ($726|0)!=(0|0); - if ($727) { - $728 = HEAP32[$yymsp>>2]|0; - $729 = ((($728)) + -16|0); - $730 = ((($729)) + 4|0); - $731 = HEAP32[$730>>2]|0; - $732 = HEAP32[$731>>2]|0; - $733 = ($732|0)>(0); - if ($733) { - $734 = HEAP32[$yymsp>>2]|0; - $735 = ((($734)) + 4|0); - $736 = HEAP32[$735>>2]|0; - $737 = $736&255; - $738 = HEAP32[$yymsp>>2]|0; - $739 = ((($738)) + -16|0); - $740 = ((($739)) + 4|0); - $741 = HEAP32[$740>>2]|0; - $742 = HEAP32[$741>>2]|0; - $743 = (($742) - 1)|0; - $744 = HEAP32[$yymsp>>2]|0; - $745 = ((($744)) + -16|0); - $746 = ((($745)) + 4|0); - $747 = HEAP32[$746>>2]|0; - $748 = ((($747)) + 8|0); - $749 = (($748) + (($743*72)|0)|0); - $750 = ((($749)) + 36|0); - HEAP8[$750>>0] = $737; + $721 = HEAP32[$yymsp>>2]|0; + $722 = ((($721)) + -16|0); + $723 = ((($722)) + 4|0); + $724 = HEAP32[$723>>2]|0; + $725 = ($724|0)!=(0|0); + if ($725) { + $726 = HEAP32[$yymsp>>2]|0; + $727 = ((($726)) + -16|0); + $728 = ((($727)) + 4|0); + $729 = HEAP32[$728>>2]|0; + $730 = HEAP32[$729>>2]|0; + $731 = ($730|0)>(0); + if ($731) { + $732 = HEAP32[$yymsp>>2]|0; + $733 = ((($732)) + 4|0); + $734 = HEAP32[$733>>2]|0; + $735 = $734&255; + $736 = HEAP32[$yymsp>>2]|0; + $737 = ((($736)) + -16|0); + $738 = ((($737)) + 4|0); + $739 = HEAP32[$738>>2]|0; + $740 = HEAP32[$739>>2]|0; + $741 = (($740) - 1)|0; + $742 = HEAP32[$yymsp>>2]|0; + $743 = ((($742)) + -16|0); + $744 = ((($743)) + 4|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($745)) + 8|0); + $747 = (($746) + (($741*72)|0)|0); + $748 = ((($747)) + 36|0); + HEAP8[$748>>0] = $735; } } break; } case 100: { - $751 = HEAP32[$yymsp>>2]|0; - $752 = ((($751)) + 16|0); - $753 = ((($752)) + 4|0); - HEAP32[$753>>2] = 0; + $749 = HEAP32[$yymsp>>2]|0; + $750 = ((($749)) + 16|0); + $751 = ((($750)) + 4|0); + HEAP32[$751>>2] = 0; break; } case 101: { - $754 = HEAP32[$pParse>>2]|0; - $755 = HEAP32[$yymsp>>2]|0; - $756 = ((($755)) + -96|0); - $757 = ((($756)) + 4|0); - $758 = HEAP32[$757>>2]|0; - $759 = HEAP32[$yymsp>>2]|0; - $760 = ((($759)) + -80|0); - $761 = ((($760)) + 4|0); - $762 = HEAP32[$yymsp>>2]|0; - $763 = ((($762)) + -64|0); - $764 = ((($763)) + 4|0); - $765 = HEAP32[$yymsp>>2]|0; - $766 = ((($765)) + -48|0); - $767 = ((($766)) + 4|0); - $768 = HEAP32[$yymsp>>2]|0; - $769 = ((($768)) + -16|0); - $770 = ((($769)) + 4|0); - $771 = HEAP32[$770>>2]|0; - $772 = HEAP32[$yymsp>>2]|0; - $773 = ((($772)) + 4|0); - $774 = HEAP32[$773>>2]|0; - $775 = (_sqlite3SrcListAppendFromTerm($754,$758,$761,$764,$767,0,$771,$774)|0); - $776 = HEAP32[$yymsp>>2]|0; - $777 = ((($776)) + -96|0); - $778 = ((($777)) + 4|0); - HEAP32[$778>>2] = $775; - $779 = HEAP32[$pParse>>2]|0; - $780 = HEAP32[$yymsp>>2]|0; - $781 = ((($780)) + -96|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = HEAP32[$yymsp>>2]|0; - $785 = ((($784)) + -32|0); - $786 = ((($785)) + 4|0); - _sqlite3SrcListIndexedBy($779,$783,$786); + $752 = HEAP32[$pParse>>2]|0; + $753 = HEAP32[$yymsp>>2]|0; + $754 = ((($753)) + -96|0); + $755 = ((($754)) + 4|0); + $756 = HEAP32[$755>>2]|0; + $757 = HEAP32[$yymsp>>2]|0; + $758 = ((($757)) + -80|0); + $759 = ((($758)) + 4|0); + $760 = HEAP32[$yymsp>>2]|0; + $761 = ((($760)) + -64|0); + $762 = ((($761)) + 4|0); + $763 = HEAP32[$yymsp>>2]|0; + $764 = ((($763)) + -48|0); + $765 = ((($764)) + 4|0); + $766 = HEAP32[$yymsp>>2]|0; + $767 = ((($766)) + -16|0); + $768 = ((($767)) + 4|0); + $769 = HEAP32[$768>>2]|0; + $770 = HEAP32[$yymsp>>2]|0; + $771 = ((($770)) + 4|0); + $772 = HEAP32[$771>>2]|0; + $773 = (_sqlite3SrcListAppendFromTerm($752,$756,$759,$762,$765,0,$769,$772)|0); + $774 = HEAP32[$yymsp>>2]|0; + $775 = ((($774)) + -96|0); + $776 = ((($775)) + 4|0); + HEAP32[$776>>2] = $773; + $777 = HEAP32[$pParse>>2]|0; + $778 = HEAP32[$yymsp>>2]|0; + $779 = ((($778)) + -96|0); + $780 = ((($779)) + 4|0); + $781 = HEAP32[$780>>2]|0; + $782 = HEAP32[$yymsp>>2]|0; + $783 = ((($782)) + -32|0); + $784 = ((($783)) + 4|0); + _sqlite3SrcListIndexedBy($777,$781,$784); break; } case 102: { - $787 = HEAP32[$pParse>>2]|0; - $788 = HEAP32[$yymsp>>2]|0; - $789 = ((($788)) + -128|0); - $790 = ((($789)) + 4|0); - $791 = HEAP32[$790>>2]|0; - $792 = HEAP32[$yymsp>>2]|0; - $793 = ((($792)) + -112|0); - $794 = ((($793)) + 4|0); - $795 = HEAP32[$yymsp>>2]|0; - $796 = ((($795)) + -96|0); - $797 = ((($796)) + 4|0); - $798 = HEAP32[$yymsp>>2]|0; - $799 = ((($798)) + -32|0); - $800 = ((($799)) + 4|0); - $801 = HEAP32[$yymsp>>2]|0; - $802 = ((($801)) + -16|0); - $803 = ((($802)) + 4|0); - $804 = HEAP32[$803>>2]|0; - $805 = HEAP32[$yymsp>>2]|0; - $806 = ((($805)) + 4|0); - $807 = HEAP32[$806>>2]|0; - $808 = (_sqlite3SrcListAppendFromTerm($787,$791,$794,$797,$800,0,$804,$807)|0); - $809 = HEAP32[$yymsp>>2]|0; - $810 = ((($809)) + -128|0); - $811 = ((($810)) + 4|0); - HEAP32[$811>>2] = $808; - $812 = HEAP32[$pParse>>2]|0; - $813 = HEAP32[$yymsp>>2]|0; - $814 = ((($813)) + -128|0); - $815 = ((($814)) + 4|0); - $816 = HEAP32[$815>>2]|0; - $817 = HEAP32[$yymsp>>2]|0; - $818 = ((($817)) + -64|0); - $819 = ((($818)) + 4|0); - $820 = HEAP32[$819>>2]|0; - _sqlite3SrcListFuncArgs($812,$816,$820); + $785 = HEAP32[$pParse>>2]|0; + $786 = HEAP32[$yymsp>>2]|0; + $787 = ((($786)) + -128|0); + $788 = ((($787)) + 4|0); + $789 = HEAP32[$788>>2]|0; + $790 = HEAP32[$yymsp>>2]|0; + $791 = ((($790)) + -112|0); + $792 = ((($791)) + 4|0); + $793 = HEAP32[$yymsp>>2]|0; + $794 = ((($793)) + -96|0); + $795 = ((($794)) + 4|0); + $796 = HEAP32[$yymsp>>2]|0; + $797 = ((($796)) + -32|0); + $798 = ((($797)) + 4|0); + $799 = HEAP32[$yymsp>>2]|0; + $800 = ((($799)) + -16|0); + $801 = ((($800)) + 4|0); + $802 = HEAP32[$801>>2]|0; + $803 = HEAP32[$yymsp>>2]|0; + $804 = ((($803)) + 4|0); + $805 = HEAP32[$804>>2]|0; + $806 = (_sqlite3SrcListAppendFromTerm($785,$789,$792,$795,$798,0,$802,$805)|0); + $807 = HEAP32[$yymsp>>2]|0; + $808 = ((($807)) + -128|0); + $809 = ((($808)) + 4|0); + HEAP32[$809>>2] = $806; + $810 = HEAP32[$pParse>>2]|0; + $811 = HEAP32[$yymsp>>2]|0; + $812 = ((($811)) + -128|0); + $813 = ((($812)) + 4|0); + $814 = HEAP32[$813>>2]|0; + $815 = HEAP32[$yymsp>>2]|0; + $816 = ((($815)) + -64|0); + $817 = ((($816)) + 4|0); + $818 = HEAP32[$817>>2]|0; + _sqlite3SrcListFuncArgs($810,$814,$818); break; } case 103: { - $821 = HEAP32[$pParse>>2]|0; - $822 = HEAP32[$yymsp>>2]|0; - $823 = ((($822)) + -96|0); - $824 = ((($823)) + 4|0); - $825 = HEAP32[$824>>2]|0; - $826 = HEAP32[$yymsp>>2]|0; - $827 = ((($826)) + -32|0); - $828 = ((($827)) + 4|0); - $829 = HEAP32[$yymsp>>2]|0; - $830 = ((($829)) + -64|0); - $831 = ((($830)) + 4|0); - $832 = HEAP32[$831>>2]|0; - $833 = HEAP32[$yymsp>>2]|0; - $834 = ((($833)) + -16|0); - $835 = ((($834)) + 4|0); - $836 = HEAP32[$835>>2]|0; - $837 = HEAP32[$yymsp>>2]|0; - $838 = ((($837)) + 4|0); - $839 = HEAP32[$838>>2]|0; - $840 = (_sqlite3SrcListAppendFromTerm($821,$825,0,0,$828,$832,$836,$839)|0); - $841 = HEAP32[$yymsp>>2]|0; - $842 = ((($841)) + -96|0); - $843 = ((($842)) + 4|0); - HEAP32[$843>>2] = $840; + $819 = HEAP32[$pParse>>2]|0; + $820 = HEAP32[$yymsp>>2]|0; + $821 = ((($820)) + -96|0); + $822 = ((($821)) + 4|0); + $823 = HEAP32[$822>>2]|0; + $824 = HEAP32[$yymsp>>2]|0; + $825 = ((($824)) + -32|0); + $826 = ((($825)) + 4|0); + $827 = HEAP32[$yymsp>>2]|0; + $828 = ((($827)) + -64|0); + $829 = ((($828)) + 4|0); + $830 = HEAP32[$829>>2]|0; + $831 = HEAP32[$yymsp>>2]|0; + $832 = ((($831)) + -16|0); + $833 = ((($832)) + 4|0); + $834 = HEAP32[$833>>2]|0; + $835 = HEAP32[$yymsp>>2]|0; + $836 = ((($835)) + 4|0); + $837 = HEAP32[$836>>2]|0; + $838 = (_sqlite3SrcListAppendFromTerm($819,$823,0,0,$826,$830,$834,$837)|0); + $839 = HEAP32[$yymsp>>2]|0; + $840 = ((($839)) + -96|0); + $841 = ((($840)) + 4|0); + HEAP32[$841>>2] = $838; break; } case 104: { - $844 = HEAP32[$yymsp>>2]|0; - $845 = ((($844)) + -96|0); - $846 = ((($845)) + 4|0); - $847 = HEAP32[$846>>2]|0; - $848 = ($847|0)==(0|0); - if ($848) { - $849 = HEAP32[$yymsp>>2]|0; - $850 = ((($849)) + -32|0); - $851 = ((($850)) + 4|0); - $852 = ((($851)) + 4|0); - $853 = HEAP32[$852>>2]|0; - $854 = ($853|0)==(0); - if ($854) { - $855 = HEAP32[$yymsp>>2]|0; - $856 = ((($855)) + -16|0); - $857 = ((($856)) + 4|0); - $858 = HEAP32[$857>>2]|0; - $859 = ($858|0)==(0|0); - if ($859) { - $860 = HEAP32[$yymsp>>2]|0; - $861 = ((($860)) + 4|0); - $862 = HEAP32[$861>>2]|0; - $863 = ($862|0)==(0|0); - if ($863) { - $864 = HEAP32[$yymsp>>2]|0; - $865 = ((($864)) + -64|0); - $866 = ((($865)) + 4|0); - $867 = HEAP32[$866>>2]|0; - $868 = HEAP32[$yymsp>>2]|0; - $869 = ((($868)) + -96|0); - $870 = ((($869)) + 4|0); - HEAP32[$870>>2] = $867; + $842 = HEAP32[$yymsp>>2]|0; + $843 = ((($842)) + -96|0); + $844 = ((($843)) + 4|0); + $845 = HEAP32[$844>>2]|0; + $846 = ($845|0)==(0|0); + if ($846) { + $847 = HEAP32[$yymsp>>2]|0; + $848 = ((($847)) + -32|0); + $849 = ((($848)) + 4|0); + $850 = ((($849)) + 4|0); + $851 = HEAP32[$850>>2]|0; + $852 = ($851|0)==(0); + if ($852) { + $853 = HEAP32[$yymsp>>2]|0; + $854 = ((($853)) + -16|0); + $855 = ((($854)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = ($856|0)==(0|0); + if ($857) { + $858 = HEAP32[$yymsp>>2]|0; + $859 = ((($858)) + 4|0); + $860 = HEAP32[$859>>2]|0; + $861 = ($860|0)==(0|0); + if ($861) { + $862 = HEAP32[$yymsp>>2]|0; + $863 = ((($862)) + -64|0); + $864 = ((($863)) + 4|0); + $865 = HEAP32[$864>>2]|0; + $866 = HEAP32[$yymsp>>2]|0; + $867 = ((($866)) + -96|0); + $868 = ((($867)) + 4|0); + HEAP32[$868>>2] = $865; break L6; } } } } - $871 = HEAP32[$yymsp>>2]|0; - $872 = ((($871)) + -64|0); - $873 = ((($872)) + 4|0); - $874 = HEAP32[$873>>2]|0; - $875 = HEAP32[$874>>2]|0; - $876 = ($875|0)==(1); - if (!($876)) { - $945 = HEAP32[$yymsp>>2]|0; - $946 = ((($945)) + -64|0); - $947 = ((($946)) + 4|0); - $948 = HEAP32[$947>>2]|0; - _sqlite3SrcListShiftJoinType($948); - $949 = HEAP32[$pParse>>2]|0; - $950 = HEAP32[$yymsp>>2]|0; - $951 = ((($950)) + -64|0); - $952 = ((($951)) + 4|0); - $953 = HEAP32[$952>>2]|0; - $954 = (_sqlite3SelectNew($949,0,$953,0,0,0,0,2048,0,0)|0); - HEAP32[$pSubquery>>2] = $954; - $955 = HEAP32[$pParse>>2]|0; - $956 = HEAP32[$yymsp>>2]|0; - $957 = ((($956)) + -96|0); - $958 = ((($957)) + 4|0); - $959 = HEAP32[$958>>2]|0; - $960 = HEAP32[$yymsp>>2]|0; - $961 = ((($960)) + -32|0); - $962 = ((($961)) + 4|0); - $963 = HEAP32[$pSubquery>>2]|0; - $964 = HEAP32[$yymsp>>2]|0; - $965 = ((($964)) + -16|0); - $966 = ((($965)) + 4|0); - $967 = HEAP32[$966>>2]|0; - $968 = HEAP32[$yymsp>>2]|0; - $969 = ((($968)) + 4|0); - $970 = HEAP32[$969>>2]|0; - $971 = (_sqlite3SrcListAppendFromTerm($955,$959,0,0,$962,$963,$967,$970)|0); - $972 = HEAP32[$yymsp>>2]|0; - $973 = ((($972)) + -96|0); - $974 = ((($973)) + 4|0); - HEAP32[$974>>2] = $971; + $869 = HEAP32[$yymsp>>2]|0; + $870 = ((($869)) + -64|0); + $871 = ((($870)) + 4|0); + $872 = HEAP32[$871>>2]|0; + $873 = HEAP32[$872>>2]|0; + $874 = ($873|0)==(1); + if (!($874)) { + $943 = HEAP32[$yymsp>>2]|0; + $944 = ((($943)) + -64|0); + $945 = ((($944)) + 4|0); + $946 = HEAP32[$945>>2]|0; + _sqlite3SrcListShiftJoinType($946); + $947 = HEAP32[$pParse>>2]|0; + $948 = HEAP32[$yymsp>>2]|0; + $949 = ((($948)) + -64|0); + $950 = ((($949)) + 4|0); + $951 = HEAP32[$950>>2]|0; + $952 = (_sqlite3SelectNew($947,0,$951,0,0,0,0,2048,0,0)|0); + HEAP32[$pSubquery>>2] = $952; + $953 = HEAP32[$pParse>>2]|0; + $954 = HEAP32[$yymsp>>2]|0; + $955 = ((($954)) + -96|0); + $956 = ((($955)) + 4|0); + $957 = HEAP32[$956>>2]|0; + $958 = HEAP32[$yymsp>>2]|0; + $959 = ((($958)) + -32|0); + $960 = ((($959)) + 4|0); + $961 = HEAP32[$pSubquery>>2]|0; + $962 = HEAP32[$yymsp>>2]|0; + $963 = ((($962)) + -16|0); + $964 = ((($963)) + 4|0); + $965 = HEAP32[$964>>2]|0; + $966 = HEAP32[$yymsp>>2]|0; + $967 = ((($966)) + 4|0); + $968 = HEAP32[$967>>2]|0; + $969 = (_sqlite3SrcListAppendFromTerm($953,$957,0,0,$960,$961,$965,$968)|0); + $970 = HEAP32[$yymsp>>2]|0; + $971 = ((($970)) + -96|0); + $972 = ((($971)) + 4|0); + HEAP32[$972>>2] = $969; break L6; } - $877 = HEAP32[$pParse>>2]|0; - $878 = HEAP32[$yymsp>>2]|0; - $879 = ((($878)) + -96|0); - $880 = ((($879)) + 4|0); - $881 = HEAP32[$880>>2]|0; - $882 = HEAP32[$yymsp>>2]|0; - $883 = ((($882)) + -32|0); - $884 = ((($883)) + 4|0); - $885 = HEAP32[$yymsp>>2]|0; - $886 = ((($885)) + -16|0); - $887 = ((($886)) + 4|0); - $888 = HEAP32[$887>>2]|0; - $889 = HEAP32[$yymsp>>2]|0; - $890 = ((($889)) + 4|0); - $891 = HEAP32[$890>>2]|0; - $892 = (_sqlite3SrcListAppendFromTerm($877,$881,0,0,$884,0,$888,$891)|0); - $893 = HEAP32[$yymsp>>2]|0; - $894 = ((($893)) + -96|0); - $895 = ((($894)) + 4|0); - HEAP32[$895>>2] = $892; - $896 = HEAP32[$yymsp>>2]|0; - $897 = ((($896)) + -96|0); - $898 = ((($897)) + 4|0); - $899 = HEAP32[$898>>2]|0; - $900 = ($899|0)!=(0|0); - if ($900) { - $901 = HEAP32[$yymsp>>2]|0; - $902 = ((($901)) + -96|0); - $903 = ((($902)) + 4|0); - $904 = HEAP32[$903>>2]|0; - $905 = HEAP32[$904>>2]|0; - $906 = (($905) - 1)|0; - $907 = HEAP32[$yymsp>>2]|0; - $908 = ((($907)) + -96|0); - $909 = ((($908)) + 4|0); - $910 = HEAP32[$909>>2]|0; - $911 = ((($910)) + 8|0); - $912 = (($911) + (($906*72)|0)|0); - HEAP32[$pNew>>2] = $912; - $913 = HEAP32[$yymsp>>2]|0; - $914 = ((($913)) + -64|0); - $915 = ((($914)) + 4|0); - $916 = HEAP32[$915>>2]|0; + $875 = HEAP32[$pParse>>2]|0; + $876 = HEAP32[$yymsp>>2]|0; + $877 = ((($876)) + -96|0); + $878 = ((($877)) + 4|0); + $879 = HEAP32[$878>>2]|0; + $880 = HEAP32[$yymsp>>2]|0; + $881 = ((($880)) + -32|0); + $882 = ((($881)) + 4|0); + $883 = HEAP32[$yymsp>>2]|0; + $884 = ((($883)) + -16|0); + $885 = ((($884)) + 4|0); + $886 = HEAP32[$885>>2]|0; + $887 = HEAP32[$yymsp>>2]|0; + $888 = ((($887)) + 4|0); + $889 = HEAP32[$888>>2]|0; + $890 = (_sqlite3SrcListAppendFromTerm($875,$879,0,0,$882,0,$886,$889)|0); + $891 = HEAP32[$yymsp>>2]|0; + $892 = ((($891)) + -96|0); + $893 = ((($892)) + 4|0); + HEAP32[$893>>2] = $890; + $894 = HEAP32[$yymsp>>2]|0; + $895 = ((($894)) + -96|0); + $896 = ((($895)) + 4|0); + $897 = HEAP32[$896>>2]|0; + $898 = ($897|0)!=(0|0); + if ($898) { + $899 = HEAP32[$yymsp>>2]|0; + $900 = ((($899)) + -96|0); + $901 = ((($900)) + 4|0); + $902 = HEAP32[$901>>2]|0; + $903 = HEAP32[$902>>2]|0; + $904 = (($903) - 1)|0; + $905 = HEAP32[$yymsp>>2]|0; + $906 = ((($905)) + -96|0); + $907 = ((($906)) + 4|0); + $908 = HEAP32[$907>>2]|0; + $909 = ((($908)) + 8|0); + $910 = (($909) + (($904*72)|0)|0); + HEAP32[$pNew>>2] = $910; + $911 = HEAP32[$yymsp>>2]|0; + $912 = ((($911)) + -64|0); + $913 = ((($912)) + 4|0); + $914 = HEAP32[$913>>2]|0; + $915 = ((($914)) + 8|0); + HEAP32[$pOld>>2] = $915; + $916 = HEAP32[$pOld>>2]|0; $917 = ((($916)) + 8|0); - HEAP32[$pOld>>2] = $917; - $918 = HEAP32[$pOld>>2]|0; - $919 = ((($918)) + 8|0); - $920 = HEAP32[$919>>2]|0; - $921 = HEAP32[$pNew>>2]|0; - $922 = ((($921)) + 8|0); - HEAP32[$922>>2] = $920; - $923 = HEAP32[$pOld>>2]|0; - $924 = ((($923)) + 4|0); - $925 = HEAP32[$924>>2]|0; - $926 = HEAP32[$pNew>>2]|0; - $927 = ((($926)) + 4|0); - HEAP32[$927>>2] = $925; - $928 = HEAP32[$pOld>>2]|0; - $929 = ((($928)) + 20|0); - $930 = HEAP32[$929>>2]|0; - $931 = HEAP32[$pNew>>2]|0; - $932 = ((($931)) + 20|0); - HEAP32[$932>>2] = $930; + $918 = HEAP32[$917>>2]|0; + $919 = HEAP32[$pNew>>2]|0; + $920 = ((($919)) + 8|0); + HEAP32[$920>>2] = $918; + $921 = HEAP32[$pOld>>2]|0; + $922 = ((($921)) + 4|0); + $923 = HEAP32[$922>>2]|0; + $924 = HEAP32[$pNew>>2]|0; + $925 = ((($924)) + 4|0); + HEAP32[$925>>2] = $923; + $926 = HEAP32[$pOld>>2]|0; + $927 = ((($926)) + 20|0); + $928 = HEAP32[$927>>2]|0; + $929 = HEAP32[$pNew>>2]|0; + $930 = ((($929)) + 20|0); + HEAP32[$930>>2] = $928; + $931 = HEAP32[$pOld>>2]|0; + $932 = ((($931)) + 4|0); + HEAP32[$932>>2] = 0; $933 = HEAP32[$pOld>>2]|0; - $934 = ((($933)) + 4|0); + $934 = ((($933)) + 8|0); HEAP32[$934>>2] = 0; $935 = HEAP32[$pOld>>2]|0; - $936 = ((($935)) + 8|0); + $936 = ((($935)) + 20|0); HEAP32[$936>>2] = 0; - $937 = HEAP32[$pOld>>2]|0; - $938 = ((($937)) + 20|0); - HEAP32[$938>>2] = 0; } - $939 = HEAP32[$pParse>>2]|0; - $940 = HEAP32[$939>>2]|0; - $941 = HEAP32[$yymsp>>2]|0; - $942 = ((($941)) + -64|0); - $943 = ((($942)) + 4|0); - $944 = HEAP32[$943>>2]|0; - _sqlite3SrcListDelete($940,$944); + $937 = HEAP32[$pParse>>2]|0; + $938 = HEAP32[$937>>2]|0; + $939 = HEAP32[$yymsp>>2]|0; + $940 = ((($939)) + -64|0); + $941 = ((($940)) + 4|0); + $942 = HEAP32[$941>>2]|0; + _sqlite3SrcListDelete($938,$942); break; } case 114: case 105: { - $975 = HEAP32[$yymsp>>2]|0; - $976 = ((($975)) + 16|0); - $977 = ((($976)) + 4|0); - HEAP32[$977>>2] = 0; - $978 = HEAP32[$yymsp>>2]|0; - $979 = ((($978)) + 16|0); - $980 = ((($979)) + 4|0); - $981 = ((($980)) + 4|0); - HEAP32[$981>>2] = 0; + $973 = HEAP32[$yymsp>>2]|0; + $974 = ((($973)) + 16|0); + $975 = ((($974)) + 4|0); + HEAP32[$975>>2] = 0; + $976 = HEAP32[$yymsp>>2]|0; + $977 = ((($976)) + 16|0); + $978 = ((($977)) + 4|0); + $979 = ((($978)) + 4|0); + HEAP32[$979>>2] = 0; break; } case 107: { - $982 = HEAP32[$pParse>>2]|0; - $983 = HEAP32[$982>>2]|0; - $984 = HEAP32[$yymsp>>2]|0; - $985 = ((($984)) + -16|0); + $980 = HEAP32[$pParse>>2]|0; + $981 = HEAP32[$980>>2]|0; + $982 = HEAP32[$yymsp>>2]|0; + $983 = ((($982)) + -16|0); + $984 = ((($983)) + 4|0); + $985 = HEAP32[$yymsp>>2]|0; $986 = ((($985)) + 4|0); - $987 = HEAP32[$yymsp>>2]|0; - $988 = ((($987)) + 4|0); - $989 = (_sqlite3SrcListAppend($983,0,$986,$988)|0); - $990 = HEAP32[$yymsp>>2]|0; - $991 = ((($990)) + -16|0); - $992 = ((($991)) + 4|0); - HEAP32[$992>>2] = $989; + $987 = (_sqlite3SrcListAppend($981,0,$984,$986)|0); + $988 = HEAP32[$yymsp>>2]|0; + $989 = ((($988)) + -16|0); + $990 = ((($989)) + 4|0); + HEAP32[$990>>2] = $987; break; } case 108: { - $993 = HEAP32[$yymsp>>2]|0; - $994 = ((($993)) + 4|0); - HEAP32[$994>>2] = 1; + $991 = HEAP32[$yymsp>>2]|0; + $992 = ((($991)) + 4|0); + HEAP32[$992>>2] = 1; break; } case 109: { - $995 = HEAP32[$pParse>>2]|0; - $996 = HEAP32[$yymsp>>2]|0; - $997 = ((($996)) + -16|0); - $998 = ((($997)) + 4|0); - $999 = (_sqlite3JoinType($995,$998,0,0)|0); - $1000 = HEAP32[$yymsp>>2]|0; - $1001 = ((($1000)) + -16|0); - $1002 = ((($1001)) + 4|0); - HEAP32[$1002>>2] = $999; + $993 = HEAP32[$pParse>>2]|0; + $994 = HEAP32[$yymsp>>2]|0; + $995 = ((($994)) + -16|0); + $996 = ((($995)) + 4|0); + $997 = (_sqlite3JoinType($993,$996,0,0)|0); + $998 = HEAP32[$yymsp>>2]|0; + $999 = ((($998)) + -16|0); + $1000 = ((($999)) + 4|0); + HEAP32[$1000>>2] = $997; break; } case 110: { - $1003 = HEAP32[$pParse>>2]|0; - $1004 = HEAP32[$yymsp>>2]|0; - $1005 = ((($1004)) + -32|0); - $1006 = ((($1005)) + 4|0); - $1007 = HEAP32[$yymsp>>2]|0; - $1008 = ((($1007)) + -16|0); - $1009 = ((($1008)) + 4|0); - $1010 = (_sqlite3JoinType($1003,$1006,$1009,0)|0); - $1011 = HEAP32[$yymsp>>2]|0; - $1012 = ((($1011)) + -32|0); - $1013 = ((($1012)) + 4|0); - HEAP32[$1013>>2] = $1010; + $1001 = HEAP32[$pParse>>2]|0; + $1002 = HEAP32[$yymsp>>2]|0; + $1003 = ((($1002)) + -32|0); + $1004 = ((($1003)) + 4|0); + $1005 = HEAP32[$yymsp>>2]|0; + $1006 = ((($1005)) + -16|0); + $1007 = ((($1006)) + 4|0); + $1008 = (_sqlite3JoinType($1001,$1004,$1007,0)|0); + $1009 = HEAP32[$yymsp>>2]|0; + $1010 = ((($1009)) + -32|0); + $1011 = ((($1010)) + 4|0); + HEAP32[$1011>>2] = $1008; break; } case 111: { - $1014 = HEAP32[$pParse>>2]|0; - $1015 = HEAP32[$yymsp>>2]|0; - $1016 = ((($1015)) + -48|0); - $1017 = ((($1016)) + 4|0); - $1018 = HEAP32[$yymsp>>2]|0; - $1019 = ((($1018)) + -32|0); - $1020 = ((($1019)) + 4|0); - $1021 = HEAP32[$yymsp>>2]|0; - $1022 = ((($1021)) + -16|0); - $1023 = ((($1022)) + 4|0); - $1024 = (_sqlite3JoinType($1014,$1017,$1020,$1023)|0); - $1025 = HEAP32[$yymsp>>2]|0; - $1026 = ((($1025)) + -48|0); + $1012 = HEAP32[$pParse>>2]|0; + $1013 = HEAP32[$yymsp>>2]|0; + $1014 = ((($1013)) + -48|0); + $1015 = ((($1014)) + 4|0); + $1016 = HEAP32[$yymsp>>2]|0; + $1017 = ((($1016)) + -32|0); + $1018 = ((($1017)) + 4|0); + $1019 = HEAP32[$yymsp>>2]|0; + $1020 = ((($1019)) + -16|0); + $1021 = ((($1020)) + 4|0); + $1022 = (_sqlite3JoinType($1012,$1015,$1018,$1021)|0); + $1023 = HEAP32[$yymsp>>2]|0; + $1024 = ((($1023)) + -48|0); + $1025 = ((($1024)) + 4|0); + HEAP32[$1025>>2] = $1022; + break; + } + case 199: case 136: case 129: case 112: { + $1026 = HEAP32[$yymsp>>2]|0; $1027 = ((($1026)) + 4|0); - HEAP32[$1027>>2] = $1024; + $1028 = HEAP32[$1027>>2]|0; + $1029 = HEAP32[$yymsp>>2]|0; + $1030 = ((($1029)) + -16|0); + $1031 = ((($1030)) + 4|0); + HEAP32[$1031>>2] = $1028; break; } - case 195: case 136: case 129: case 112: { - $1028 = HEAP32[$yymsp>>2]|0; - $1029 = ((($1028)) + 4|0); - $1030 = HEAP32[$1029>>2]|0; - $1031 = HEAP32[$yymsp>>2]|0; - $1032 = ((($1031)) + -16|0); - $1033 = ((($1032)) + 4|0); - HEAP32[$1033>>2] = $1030; - break; - } - case 198: case 196: case 135: case 128: case 113: { - $1034 = HEAP32[$yymsp>>2]|0; - $1035 = ((($1034)) + 16|0); - $1036 = ((($1035)) + 4|0); - HEAP32[$1036>>2] = 0; + case 202: case 200: case 135: case 128: case 113: { + $1032 = HEAP32[$yymsp>>2]|0; + $1033 = ((($1032)) + 16|0); + $1034 = ((($1033)) + 4|0); + HEAP32[$1034>>2] = 0; break; } case 115: { - $1037 = HEAP32[$yymsp>>2]|0; - $1038 = ((($1037)) + -32|0); + $1035 = HEAP32[$yymsp>>2]|0; + $1036 = ((($1035)) + -32|0); + $1037 = ((($1036)) + 4|0); + $1038 = HEAP32[$yymsp>>2]|0; $1039 = ((($1038)) + 4|0); - $1040 = HEAP32[$yymsp>>2]|0; - $1041 = ((($1040)) + 4|0); - ;HEAP32[$1039>>2]=HEAP32[$1041>>2]|0;HEAP32[$1039+4>>2]=HEAP32[$1041+4>>2]|0; + ;HEAP32[$1037>>2]=HEAP32[$1039>>2]|0;HEAP32[$1037+4>>2]=HEAP32[$1039+4>>2]|0; break; } case 116: { - $1042 = HEAP32[$yymsp>>2]|0; - $1043 = ((($1042)) + -16|0); - $1044 = ((($1043)) + 4|0); - HEAP32[$1044>>2] = 0; - $1045 = HEAP32[$yymsp>>2]|0; - $1046 = ((($1045)) + -16|0); - $1047 = ((($1046)) + 4|0); - $1048 = ((($1047)) + 4|0); - HEAP32[$1048>>2] = 1; + $1040 = HEAP32[$yymsp>>2]|0; + $1041 = ((($1040)) + -16|0); + $1042 = ((($1041)) + 4|0); + HEAP32[$1042>>2] = 0; + $1043 = HEAP32[$yymsp>>2]|0; + $1044 = ((($1043)) + -16|0); + $1045 = ((($1044)) + 4|0); + $1046 = ((($1045)) + 4|0); + HEAP32[$1046>>2] = 1; break; } case 117: { - $1049 = HEAP32[$yymsp>>2]|0; - $1050 = ((($1049)) + -16|0); - $1051 = ((($1050)) + 4|0); - $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[$yymsp>>2]|0; - $1054 = ((($1053)) + -48|0); - $1055 = ((($1054)) + 4|0); - HEAP32[$1055>>2] = $1052; - break; - } - case 144: case 118: { - $1056 = HEAP32[$yymsp>>2]|0; - $1057 = ((($1056)) + 16|0); - $1058 = ((($1057)) + 4|0); - HEAP32[$1058>>2] = 0; + $1047 = HEAP32[$yymsp>>2]|0; + $1048 = ((($1047)) + -16|0); + $1049 = ((($1048)) + 4|0); + $1050 = HEAP32[$1049>>2]|0; + $1051 = HEAP32[$yymsp>>2]|0; + $1052 = ((($1051)) + -48|0); + $1053 = ((($1052)) + 4|0); + HEAP32[$1053>>2] = $1050; + break; + } + case 146: case 118: { + $1054 = HEAP32[$yymsp>>2]|0; + $1055 = ((($1054)) + 16|0); + $1056 = ((($1055)) + 4|0); + HEAP32[$1056>>2] = 0; break; } case 127: case 120: { - $1059 = HEAP32[$yymsp>>2]|0; - $1060 = ((($1059)) + 4|0); - $1061 = HEAP32[$1060>>2]|0; - $1062 = HEAP32[$yymsp>>2]|0; - $1063 = ((($1062)) + -32|0); - $1064 = ((($1063)) + 4|0); - HEAP32[$1064>>2] = $1061; + $1057 = HEAP32[$yymsp>>2]|0; + $1058 = ((($1057)) + 4|0); + $1059 = HEAP32[$1058>>2]|0; + $1060 = HEAP32[$yymsp>>2]|0; + $1061 = ((($1060)) + -32|0); + $1062 = ((($1061)) + 4|0); + HEAP32[$1062>>2] = $1059; break; } case 121: { - $1065 = HEAP32[$pParse>>2]|0; - $1066 = HEAP32[$yymsp>>2]|0; - $1067 = ((($1066)) + -48|0); - $1068 = ((($1067)) + 4|0); - $1069 = HEAP32[$1068>>2]|0; - $1070 = HEAP32[$yymsp>>2]|0; - $1071 = ((($1070)) + -16|0); - $1072 = ((($1071)) + 4|0); - $1073 = HEAP32[$1072>>2]|0; - $1074 = (_sqlite3ExprListAppend($1065,$1069,$1073)|0); - $1075 = HEAP32[$yymsp>>2]|0; - $1076 = ((($1075)) + -48|0); - $1077 = ((($1076)) + 4|0); - HEAP32[$1077>>2] = $1074; - $1078 = HEAP32[$yymsp>>2]|0; - $1079 = ((($1078)) + -48|0); - $1080 = ((($1079)) + 4|0); - $1081 = HEAP32[$1080>>2]|0; - $1082 = HEAP32[$yymsp>>2]|0; - $1083 = ((($1082)) + 4|0); - $1084 = HEAP32[$1083>>2]|0; - _sqlite3ExprListSetSortOrder($1081,$1084); + $1063 = HEAP32[$pParse>>2]|0; + $1064 = HEAP32[$yymsp>>2]|0; + $1065 = ((($1064)) + -48|0); + $1066 = ((($1065)) + 4|0); + $1067 = HEAP32[$1066>>2]|0; + $1068 = HEAP32[$yymsp>>2]|0; + $1069 = ((($1068)) + -16|0); + $1070 = ((($1069)) + 4|0); + $1071 = HEAP32[$1070>>2]|0; + $1072 = (_sqlite3ExprListAppend($1063,$1067,$1071)|0); + $1073 = HEAP32[$yymsp>>2]|0; + $1074 = ((($1073)) + -48|0); + $1075 = ((($1074)) + 4|0); + HEAP32[$1075>>2] = $1072; + $1076 = HEAP32[$yymsp>>2]|0; + $1077 = ((($1076)) + -48|0); + $1078 = ((($1077)) + 4|0); + $1079 = HEAP32[$1078>>2]|0; + $1080 = HEAP32[$yymsp>>2]|0; + $1081 = ((($1080)) + 4|0); + $1082 = HEAP32[$1081>>2]|0; + _sqlite3ExprListSetSortOrder($1079,$1082); break; } case 122: { - $1085 = HEAP32[$pParse>>2]|0; - $1086 = HEAP32[$yymsp>>2]|0; - $1087 = ((($1086)) + -16|0); - $1088 = ((($1087)) + 4|0); - $1089 = HEAP32[$1088>>2]|0; - $1090 = (_sqlite3ExprListAppend($1085,0,$1089)|0); - $1091 = HEAP32[$yymsp>>2]|0; - $1092 = ((($1091)) + -16|0); - $1093 = ((($1092)) + 4|0); - HEAP32[$1093>>2] = $1090; - $1094 = HEAP32[$yymsp>>2]|0; - $1095 = ((($1094)) + -16|0); - $1096 = ((($1095)) + 4|0); - $1097 = HEAP32[$1096>>2]|0; - $1098 = HEAP32[$yymsp>>2]|0; - $1099 = ((($1098)) + 4|0); - $1100 = HEAP32[$1099>>2]|0; - _sqlite3ExprListSetSortOrder($1097,$1100); + $1083 = HEAP32[$pParse>>2]|0; + $1084 = HEAP32[$yymsp>>2]|0; + $1085 = ((($1084)) + -16|0); + $1086 = ((($1085)) + 4|0); + $1087 = HEAP32[$1086>>2]|0; + $1088 = (_sqlite3ExprListAppend($1083,0,$1087)|0); + $1089 = HEAP32[$yymsp>>2]|0; + $1090 = ((($1089)) + -16|0); + $1091 = ((($1090)) + 4|0); + HEAP32[$1091>>2] = $1088; + $1092 = HEAP32[$yymsp>>2]|0; + $1093 = ((($1092)) + -16|0); + $1094 = ((($1093)) + 4|0); + $1095 = HEAP32[$1094>>2]|0; + $1096 = HEAP32[$yymsp>>2]|0; + $1097 = ((($1096)) + 4|0); + $1098 = HEAP32[$1097>>2]|0; + _sqlite3ExprListSetSortOrder($1095,$1098); break; } case 123: { - $1101 = HEAP32[$yymsp>>2]|0; - $1102 = ((($1101)) + 4|0); - HEAP32[$1102>>2] = 0; + $1099 = HEAP32[$yymsp>>2]|0; + $1100 = ((($1099)) + 4|0); + HEAP32[$1100>>2] = 0; break; } case 124: { - $1103 = HEAP32[$yymsp>>2]|0; - $1104 = ((($1103)) + 4|0); - HEAP32[$1104>>2] = 1; + $1101 = HEAP32[$yymsp>>2]|0; + $1102 = ((($1101)) + 4|0); + HEAP32[$1102>>2] = 1; break; } case 125: { - $1105 = HEAP32[$yymsp>>2]|0; - $1106 = ((($1105)) + 16|0); - $1107 = ((($1106)) + 4|0); - HEAP32[$1107>>2] = -1; + $1103 = HEAP32[$yymsp>>2]|0; + $1104 = ((($1103)) + 16|0); + $1105 = ((($1104)) + 4|0); + HEAP32[$1105>>2] = -1; break; } case 130: { - $1108 = HEAP32[$yymsp>>2]|0; - $1109 = ((($1108)) + 16|0); - $1110 = ((($1109)) + 4|0); - HEAP32[$1110>>2] = 0; - $1111 = HEAP32[$yymsp>>2]|0; - $1112 = ((($1111)) + 16|0); - $1113 = ((($1112)) + 4|0); - $1114 = ((($1113)) + 4|0); - HEAP32[$1114>>2] = 0; + $1106 = HEAP32[$yymsp>>2]|0; + $1107 = ((($1106)) + 16|0); + $1108 = ((($1107)) + 4|0); + HEAP32[$1108>>2] = 0; + $1109 = HEAP32[$yymsp>>2]|0; + $1110 = ((($1109)) + 16|0); + $1111 = ((($1110)) + 4|0); + $1112 = ((($1111)) + 4|0); + HEAP32[$1112>>2] = 0; break; } case 131: { - $1115 = HEAP32[$yymsp>>2]|0; - $1116 = ((($1115)) + 4|0); - $1117 = HEAP32[$1116>>2]|0; - $1118 = HEAP32[$yymsp>>2]|0; - $1119 = ((($1118)) + -16|0); - $1120 = ((($1119)) + 4|0); - HEAP32[$1120>>2] = $1117; - $1121 = HEAP32[$yymsp>>2]|0; - $1122 = ((($1121)) + -16|0); - $1123 = ((($1122)) + 4|0); - $1124 = ((($1123)) + 4|0); - HEAP32[$1124>>2] = 0; + $1113 = HEAP32[$yymsp>>2]|0; + $1114 = ((($1113)) + 4|0); + $1115 = HEAP32[$1114>>2]|0; + $1116 = HEAP32[$yymsp>>2]|0; + $1117 = ((($1116)) + -16|0); + $1118 = ((($1117)) + 4|0); + HEAP32[$1118>>2] = $1115; + $1119 = HEAP32[$yymsp>>2]|0; + $1120 = ((($1119)) + -16|0); + $1121 = ((($1120)) + 4|0); + $1122 = ((($1121)) + 4|0); + HEAP32[$1122>>2] = 0; break; } case 132: { - $1125 = HEAP32[$yymsp>>2]|0; - $1126 = ((($1125)) + -32|0); - $1127 = ((($1126)) + 4|0); - $1128 = HEAP32[$1127>>2]|0; - $1129 = HEAP32[$yymsp>>2]|0; - $1130 = ((($1129)) + -48|0); + $1123 = HEAP32[$yymsp>>2]|0; + $1124 = ((($1123)) + -32|0); + $1125 = ((($1124)) + 4|0); + $1126 = HEAP32[$1125>>2]|0; + $1127 = HEAP32[$yymsp>>2]|0; + $1128 = ((($1127)) + -48|0); + $1129 = ((($1128)) + 4|0); + HEAP32[$1129>>2] = $1126; + $1130 = HEAP32[$yymsp>>2]|0; $1131 = ((($1130)) + 4|0); - HEAP32[$1131>>2] = $1128; - $1132 = HEAP32[$yymsp>>2]|0; - $1133 = ((($1132)) + 4|0); - $1134 = HEAP32[$1133>>2]|0; - $1135 = HEAP32[$yymsp>>2]|0; - $1136 = ((($1135)) + -48|0); - $1137 = ((($1136)) + 4|0); - $1138 = ((($1137)) + 4|0); - HEAP32[$1138>>2] = $1134; + $1132 = HEAP32[$1131>>2]|0; + $1133 = HEAP32[$yymsp>>2]|0; + $1134 = ((($1133)) + -48|0); + $1135 = ((($1134)) + 4|0); + $1136 = ((($1135)) + 4|0); + HEAP32[$1136>>2] = $1132; break; } case 133: { - $1139 = HEAP32[$yymsp>>2]|0; - $1140 = ((($1139)) + -32|0); - $1141 = ((($1140)) + 4|0); - $1142 = HEAP32[$1141>>2]|0; - $1143 = HEAP32[$yymsp>>2]|0; - $1144 = ((($1143)) + -48|0); - $1145 = ((($1144)) + 4|0); + $1137 = HEAP32[$yymsp>>2]|0; + $1138 = ((($1137)) + -32|0); + $1139 = ((($1138)) + 4|0); + $1140 = HEAP32[$1139>>2]|0; + $1141 = HEAP32[$yymsp>>2]|0; + $1142 = ((($1141)) + -48|0); + $1143 = ((($1142)) + 4|0); + $1144 = ((($1143)) + 4|0); + HEAP32[$1144>>2] = $1140; + $1145 = HEAP32[$yymsp>>2]|0; $1146 = ((($1145)) + 4|0); - HEAP32[$1146>>2] = $1142; - $1147 = HEAP32[$yymsp>>2]|0; - $1148 = ((($1147)) + 4|0); - $1149 = HEAP32[$1148>>2]|0; - $1150 = HEAP32[$yymsp>>2]|0; - $1151 = ((($1150)) + -48|0); - $1152 = ((($1151)) + 4|0); - HEAP32[$1152>>2] = $1149; + $1147 = HEAP32[$1146>>2]|0; + $1148 = HEAP32[$yymsp>>2]|0; + $1149 = ((($1148)) + -48|0); + $1150 = ((($1149)) + 4|0); + HEAP32[$1150>>2] = $1147; break; } case 134: { - $1153 = HEAP32[$pParse>>2]|0; - $1154 = HEAP32[$yymsp>>2]|0; - $1155 = ((($1154)) + -80|0); - $1156 = ((($1155)) + 4|0); - $1157 = HEAP32[$1156>>2]|0; - _sqlite3WithPush($1153,$1157,1); - $1158 = HEAP32[$pParse>>2]|0; - $1159 = HEAP32[$yymsp>>2]|0; - $1160 = ((($1159)) + -32|0); - $1161 = ((($1160)) + 4|0); - $1162 = HEAP32[$1161>>2]|0; - $1163 = HEAP32[$yymsp>>2]|0; - $1164 = ((($1163)) + -16|0); - $1165 = ((($1164)) + 4|0); - _sqlite3SrcListIndexedBy($1158,$1162,$1165); - $1166 = HEAP32[$pParse>>2]|0; - $1167 = HEAP32[$yymsp>>2]|0; - $1168 = ((($1167)) + -32|0); - $1169 = ((($1168)) + 4|0); - $1170 = HEAP32[$1169>>2]|0; - $1171 = HEAP32[$yymsp>>2]|0; - $1172 = ((($1171)) + 4|0); - $1173 = HEAP32[$1172>>2]|0; - _sqlite3DeleteFrom($1166,$1170,$1173); + $1151 = HEAP32[$pParse>>2]|0; + $1152 = HEAP32[$yymsp>>2]|0; + $1153 = ((($1152)) + -80|0); + $1154 = ((($1153)) + 4|0); + $1155 = HEAP32[$1154>>2]|0; + _sqlite3WithPush($1151,$1155,1); + $1156 = HEAP32[$pParse>>2]|0; + $1157 = HEAP32[$yymsp>>2]|0; + $1158 = ((($1157)) + -32|0); + $1159 = ((($1158)) + 4|0); + $1160 = HEAP32[$1159>>2]|0; + $1161 = HEAP32[$yymsp>>2]|0; + $1162 = ((($1161)) + -16|0); + $1163 = ((($1162)) + 4|0); + _sqlite3SrcListIndexedBy($1156,$1160,$1163); + $1164 = HEAP32[$pParse>>2]|0; + $1165 = HEAP32[$yymsp>>2]|0; + $1166 = ((($1165)) + -32|0); + $1167 = ((($1166)) + 4|0); + $1168 = HEAP32[$1167>>2]|0; + $1169 = HEAP32[$yymsp>>2]|0; + $1170 = ((($1169)) + 4|0); + $1171 = HEAP32[$1170>>2]|0; + _sqlite3DeleteFrom($1164,$1168,$1171); break; } case 137: { - $1174 = HEAP32[$pParse>>2]|0; - $1175 = HEAP32[$yymsp>>2]|0; - $1176 = ((($1175)) + -112|0); - $1177 = ((($1176)) + 4|0); - $1178 = HEAP32[$1177>>2]|0; - _sqlite3WithPush($1174,$1178,1); - $1179 = HEAP32[$pParse>>2]|0; - $1180 = HEAP32[$yymsp>>2]|0; - $1181 = ((($1180)) + -64|0); - $1182 = ((($1181)) + 4|0); - $1183 = HEAP32[$1182>>2]|0; - $1184 = HEAP32[$yymsp>>2]|0; - $1185 = ((($1184)) + -48|0); - $1186 = ((($1185)) + 4|0); - _sqlite3SrcListIndexedBy($1179,$1183,$1186); - $1187 = HEAP32[$pParse>>2]|0; - $1188 = HEAP32[$yymsp>>2]|0; - $1189 = ((($1188)) + -16|0); - $1190 = ((($1189)) + 4|0); - $1191 = HEAP32[$1190>>2]|0; - _sqlite3ExprListCheckLength($1187,$1191,27781); - $1192 = HEAP32[$pParse>>2]|0; - $1193 = HEAP32[$yymsp>>2]|0; - $1194 = ((($1193)) + -64|0); - $1195 = ((($1194)) + 4|0); - $1196 = HEAP32[$1195>>2]|0; - $1197 = HEAP32[$yymsp>>2]|0; - $1198 = ((($1197)) + -16|0); - $1199 = ((($1198)) + 4|0); - $1200 = HEAP32[$1199>>2]|0; - $1201 = HEAP32[$yymsp>>2]|0; - $1202 = ((($1201)) + 4|0); - $1203 = HEAP32[$1202>>2]|0; - $1204 = HEAP32[$yymsp>>2]|0; - $1205 = ((($1204)) + -80|0); - $1206 = ((($1205)) + 4|0); - $1207 = HEAP32[$1206>>2]|0; - _sqlite3Update($1192,$1196,$1200,$1203,$1207); + $1172 = HEAP32[$pParse>>2]|0; + $1173 = HEAP32[$yymsp>>2]|0; + $1174 = ((($1173)) + -112|0); + $1175 = ((($1174)) + 4|0); + $1176 = HEAP32[$1175>>2]|0; + _sqlite3WithPush($1172,$1176,1); + $1177 = HEAP32[$pParse>>2]|0; + $1178 = HEAP32[$yymsp>>2]|0; + $1179 = ((($1178)) + -64|0); + $1180 = ((($1179)) + 4|0); + $1181 = HEAP32[$1180>>2]|0; + $1182 = HEAP32[$yymsp>>2]|0; + $1183 = ((($1182)) + -48|0); + $1184 = ((($1183)) + 4|0); + _sqlite3SrcListIndexedBy($1177,$1181,$1184); + $1185 = HEAP32[$pParse>>2]|0; + $1186 = HEAP32[$yymsp>>2]|0; + $1187 = ((($1186)) + -16|0); + $1188 = ((($1187)) + 4|0); + $1189 = HEAP32[$1188>>2]|0; + _sqlite3ExprListCheckLength($1185,$1189,27177); + $1190 = HEAP32[$pParse>>2]|0; + $1191 = HEAP32[$yymsp>>2]|0; + $1192 = ((($1191)) + -64|0); + $1193 = ((($1192)) + 4|0); + $1194 = HEAP32[$1193>>2]|0; + $1195 = HEAP32[$yymsp>>2]|0; + $1196 = ((($1195)) + -16|0); + $1197 = ((($1196)) + 4|0); + $1198 = HEAP32[$1197>>2]|0; + $1199 = HEAP32[$yymsp>>2]|0; + $1200 = ((($1199)) + 4|0); + $1201 = HEAP32[$1200>>2]|0; + $1202 = HEAP32[$yymsp>>2]|0; + $1203 = ((($1202)) + -80|0); + $1204 = ((($1203)) + 4|0); + $1205 = HEAP32[$1204>>2]|0; + _sqlite3Update($1190,$1194,$1198,$1201,$1205); break; } case 138: { - $1208 = HEAP32[$pParse>>2]|0; - $1209 = HEAP32[$yymsp>>2]|0; - $1210 = ((($1209)) + -64|0); - $1211 = ((($1210)) + 4|0); - $1212 = HEAP32[$1211>>2]|0; - $1213 = HEAP32[$yymsp>>2]|0; - $1214 = ((($1213)) + 4|0); - $1215 = HEAP32[$1214>>2]|0; - $1216 = (_sqlite3ExprListAppend($1208,$1212,$1215)|0); - $1217 = HEAP32[$yymsp>>2]|0; - $1218 = ((($1217)) + -64|0); - $1219 = ((($1218)) + 4|0); - HEAP32[$1219>>2] = $1216; - $1220 = HEAP32[$pParse>>2]|0; - $1221 = HEAP32[$yymsp>>2]|0; - $1222 = ((($1221)) + -64|0); - $1223 = ((($1222)) + 4|0); - $1224 = HEAP32[$1223>>2]|0; - $1225 = HEAP32[$yymsp>>2]|0; - $1226 = ((($1225)) + -32|0); - $1227 = ((($1226)) + 4|0); - _sqlite3ExprListSetName($1220,$1224,$1227,1); + $1206 = HEAP32[$pParse>>2]|0; + $1207 = HEAP32[$yymsp>>2]|0; + $1208 = ((($1207)) + -64|0); + $1209 = ((($1208)) + 4|0); + $1210 = HEAP32[$1209>>2]|0; + $1211 = HEAP32[$yymsp>>2]|0; + $1212 = ((($1211)) + 4|0); + $1213 = HEAP32[$1212>>2]|0; + $1214 = (_sqlite3ExprListAppend($1206,$1210,$1213)|0); + $1215 = HEAP32[$yymsp>>2]|0; + $1216 = ((($1215)) + -64|0); + $1217 = ((($1216)) + 4|0); + HEAP32[$1217>>2] = $1214; + $1218 = HEAP32[$pParse>>2]|0; + $1219 = HEAP32[$yymsp>>2]|0; + $1220 = ((($1219)) + -64|0); + $1221 = ((($1220)) + 4|0); + $1222 = HEAP32[$1221>>2]|0; + $1223 = HEAP32[$yymsp>>2]|0; + $1224 = ((($1223)) + -32|0); + $1225 = ((($1224)) + 4|0); + _sqlite3ExprListSetName($1218,$1222,$1225,1); break; } case 139: { - $1228 = HEAP32[$pParse>>2]|0; - $1229 = HEAP32[$yymsp>>2]|0; - $1230 = ((($1229)) + 4|0); - $1231 = HEAP32[$1230>>2]|0; - $1232 = (_sqlite3ExprListAppend($1228,0,$1231)|0); - HEAP32[$yylhsminor>>2] = $1232; - $1233 = HEAP32[$pParse>>2]|0; - $1234 = HEAP32[$yylhsminor>>2]|0; + $1226 = HEAP32[$pParse>>2]|0; + $1227 = HEAP32[$yymsp>>2]|0; + $1228 = ((($1227)) + -96|0); + $1229 = ((($1228)) + 4|0); + $1230 = HEAP32[$1229>>2]|0; + $1231 = HEAP32[$yymsp>>2]|0; + $1232 = ((($1231)) + -48|0); + $1233 = ((($1232)) + 4|0); + $1234 = HEAP32[$1233>>2]|0; $1235 = HEAP32[$yymsp>>2]|0; - $1236 = ((($1235)) + -32|0); - $1237 = ((($1236)) + 4|0); - _sqlite3ExprListSetName($1233,$1234,$1237,1); - $1238 = HEAP32[$yylhsminor>>2]|0; + $1236 = ((($1235)) + 4|0); + $1237 = HEAP32[$1236>>2]|0; + $1238 = (_sqlite3ExprListAppendVector($1226,$1230,$1234,$1237)|0); $1239 = HEAP32[$yymsp>>2]|0; - $1240 = ((($1239)) + -32|0); + $1240 = ((($1239)) + -96|0); $1241 = ((($1240)) + 4|0); HEAP32[$1241>>2] = $1238; break; @@ -109260,2138 +109793,2303 @@ function _yy_reduce($yypParser,$yyruleno) { case 140: { $1242 = HEAP32[$pParse>>2]|0; $1243 = HEAP32[$yymsp>>2]|0; - $1244 = ((($1243)) + -80|0); - $1245 = ((($1244)) + 4|0); - $1246 = HEAP32[$1245>>2]|0; - _sqlite3WithPush($1242,$1246,1); + $1244 = ((($1243)) + 4|0); + $1245 = HEAP32[$1244>>2]|0; + $1246 = (_sqlite3ExprListAppend($1242,0,$1245)|0); + HEAP32[$yylhsminor>>2] = $1246; $1247 = HEAP32[$pParse>>2]|0; - $1248 = HEAP32[$yymsp>>2]|0; - $1249 = ((($1248)) + -32|0); - $1250 = ((($1249)) + 4|0); - $1251 = HEAP32[$1250>>2]|0; - $1252 = HEAP32[$yymsp>>2]|0; - $1253 = ((($1252)) + 4|0); - $1254 = HEAP32[$1253>>2]|0; - $1255 = HEAP32[$yymsp>>2]|0; - $1256 = ((($1255)) + -16|0); - $1257 = ((($1256)) + 4|0); - $1258 = HEAP32[$1257>>2]|0; - $1259 = HEAP32[$yymsp>>2]|0; - $1260 = ((($1259)) + -64|0); - $1261 = ((($1260)) + 4|0); - $1262 = HEAP32[$1261>>2]|0; - _sqlite3Insert($1247,$1251,$1254,$1258,$1262); + $1248 = HEAP32[$yylhsminor>>2]|0; + $1249 = HEAP32[$yymsp>>2]|0; + $1250 = ((($1249)) + -32|0); + $1251 = ((($1250)) + 4|0); + _sqlite3ExprListSetName($1247,$1248,$1251,1); + $1252 = HEAP32[$yylhsminor>>2]|0; + $1253 = HEAP32[$yymsp>>2]|0; + $1254 = ((($1253)) + -32|0); + $1255 = ((($1254)) + 4|0); + HEAP32[$1255>>2] = $1252; break; } case 141: { - $1263 = HEAP32[$pParse>>2]|0; - $1264 = HEAP32[$yymsp>>2]|0; - $1265 = ((($1264)) + -96|0); - $1266 = ((($1265)) + 4|0); - $1267 = HEAP32[$1266>>2]|0; - _sqlite3WithPush($1263,$1267,1); + $1256 = HEAP32[$pParse>>2]|0; + $1257 = HEAP32[$yymsp>>2]|0; + $1258 = ((($1257)) + -48|0); + $1259 = ((($1258)) + 4|0); + $1260 = HEAP32[$1259>>2]|0; + $1261 = HEAP32[$yymsp>>2]|0; + $1262 = ((($1261)) + 4|0); + $1263 = HEAP32[$1262>>2]|0; + $1264 = (_sqlite3ExprListAppendVector($1256,0,$1260,$1263)|0); + $1265 = HEAP32[$yymsp>>2]|0; + $1266 = ((($1265)) + -64|0); + $1267 = ((($1266)) + 4|0); + HEAP32[$1267>>2] = $1264; + break; + } + case 142: { $1268 = HEAP32[$pParse>>2]|0; $1269 = HEAP32[$yymsp>>2]|0; - $1270 = ((($1269)) + -48|0); + $1270 = ((($1269)) + -80|0); $1271 = ((($1270)) + 4|0); $1272 = HEAP32[$1271>>2]|0; - $1273 = HEAP32[$yymsp>>2]|0; - $1274 = ((($1273)) + -32|0); - $1275 = ((($1274)) + 4|0); - $1276 = HEAP32[$1275>>2]|0; - $1277 = HEAP32[$yymsp>>2]|0; - $1278 = ((($1277)) + -80|0); + _sqlite3WithPush($1268,$1272,1); + $1273 = HEAP32[$pParse>>2]|0; + $1274 = HEAP32[$yymsp>>2]|0; + $1275 = ((($1274)) + -32|0); + $1276 = ((($1275)) + 4|0); + $1277 = HEAP32[$1276>>2]|0; + $1278 = HEAP32[$yymsp>>2]|0; $1279 = ((($1278)) + 4|0); $1280 = HEAP32[$1279>>2]|0; - _sqlite3Insert($1268,$1272,0,$1276,$1280); - break; - } - case 145: { $1281 = HEAP32[$yymsp>>2]|0; $1282 = ((($1281)) + -16|0); $1283 = ((($1282)) + 4|0); $1284 = HEAP32[$1283>>2]|0; $1285 = HEAP32[$yymsp>>2]|0; - $1286 = ((($1285)) + -32|0); + $1286 = ((($1285)) + -64|0); $1287 = ((($1286)) + 4|0); - HEAP32[$1287>>2] = $1284; + $1288 = HEAP32[$1287>>2]|0; + _sqlite3Insert($1273,$1277,$1280,$1284,$1288); break; } - case 146: { - $1288 = HEAP32[$pParse>>2]|0; - $1289 = HEAP32[$1288>>2]|0; + case 143: { + $1289 = HEAP32[$pParse>>2]|0; $1290 = HEAP32[$yymsp>>2]|0; - $1291 = ((($1290)) + -32|0); + $1291 = ((($1290)) + -96|0); $1292 = ((($1291)) + 4|0); $1293 = HEAP32[$1292>>2]|0; - $1294 = HEAP32[$yymsp>>2]|0; - $1295 = ((($1294)) + 4|0); - $1296 = (_sqlite3IdListAppend($1289,$1293,$1295)|0); - $1297 = HEAP32[$yymsp>>2]|0; - $1298 = ((($1297)) + -32|0); - $1299 = ((($1298)) + 4|0); - HEAP32[$1299>>2] = $1296; + _sqlite3WithPush($1289,$1293,1); + $1294 = HEAP32[$pParse>>2]|0; + $1295 = HEAP32[$yymsp>>2]|0; + $1296 = ((($1295)) + -48|0); + $1297 = ((($1296)) + 4|0); + $1298 = HEAP32[$1297>>2]|0; + $1299 = HEAP32[$yymsp>>2]|0; + $1300 = ((($1299)) + -32|0); + $1301 = ((($1300)) + 4|0); + $1302 = HEAP32[$1301>>2]|0; + $1303 = HEAP32[$yymsp>>2]|0; + $1304 = ((($1303)) + -80|0); + $1305 = ((($1304)) + 4|0); + $1306 = HEAP32[$1305>>2]|0; + _sqlite3Insert($1294,$1298,0,$1302,$1306); break; } case 147: { - $1300 = HEAP32[$pParse>>2]|0; - $1301 = HEAP32[$1300>>2]|0; - $1302 = HEAP32[$yymsp>>2]|0; - $1303 = ((($1302)) + 4|0); - $1304 = (_sqlite3IdListAppend($1301,0,$1303)|0); - $1305 = HEAP32[$yymsp>>2]|0; - $1306 = ((($1305)) + 4|0); - HEAP32[$1306>>2] = $1304; - break; - } - case 148: { $1307 = HEAP32[$yymsp>>2]|0; - $1308 = ((($1307)) + -32|0); + $1308 = ((($1307)) + -16|0); $1309 = ((($1308)) + 4|0); - $1310 = HEAP32[$yymsp>>2]|0; - $1311 = ((($1310)) + -32|0); - $1312 = ((($1311)) + 4|0); - $1313 = HEAP32[$yymsp>>2]|0; - $1314 = ((($1313)) + 4|0); - _spanSet($1309,$1312,$1314); - $1315 = HEAP32[$yymsp>>2]|0; - $1316 = ((($1315)) + -16|0); - $1317 = ((($1316)) + 4|0); - $1318 = HEAP32[$1317>>2]|0; - $1319 = HEAP32[$yymsp>>2]|0; - $1320 = ((($1319)) + -32|0); - $1321 = ((($1320)) + 4|0); - HEAP32[$1321>>2] = $1318; + $1310 = HEAP32[$1309>>2]|0; + $1311 = HEAP32[$yymsp>>2]|0; + $1312 = ((($1311)) + -32|0); + $1313 = ((($1312)) + 4|0); + HEAP32[$1313>>2] = $1310; break; } - case 155: case 154: case 149: { - $1322 = HEAP32[$yymsp>>2]|0; - $1323 = ((($1322)) + 4|0); - $1324 = HEAP32[$pParse>>2]|0; - $1325 = HEAP32[$yymsp>>2]|0; - $1326 = ((($1325)) + 2|0); - $1327 = HEAP8[$1326>>0]|0; - $1328 = $1327&255; - $1329 = HEAP32[$yymsp>>2]|0; - $1330 = ((($1329)) + 4|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$1330>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1330+4>>2]|0; - _spanExpr($1323,$1324,$1328,$$byval_copy16); - break; - } - case 151: case 150: { + case 148: { + $1314 = HEAP32[$pParse>>2]|0; + $1315 = HEAP32[$1314>>2]|0; + $1316 = HEAP32[$yymsp>>2]|0; + $1317 = ((($1316)) + -32|0); + $1318 = ((($1317)) + 4|0); + $1319 = HEAP32[$1318>>2]|0; + $1320 = HEAP32[$yymsp>>2]|0; + $1321 = ((($1320)) + 4|0); + $1322 = (_sqlite3IdListAppend($1315,$1319,$1321)|0); + $1323 = HEAP32[$yymsp>>2]|0; + $1324 = ((($1323)) + -32|0); + $1325 = ((($1324)) + 4|0); + HEAP32[$1325>>2] = $1322; + break; + } + case 149: { + $1326 = HEAP32[$pParse>>2]|0; + $1327 = HEAP32[$1326>>2]|0; + $1328 = HEAP32[$yymsp>>2]|0; + $1329 = ((($1328)) + 4|0); + $1330 = (_sqlite3IdListAppend($1327,0,$1329)|0); $1331 = HEAP32[$yymsp>>2]|0; $1332 = ((($1331)) + 4|0); - $1333 = HEAP32[$pParse>>2]|0; - $1334 = HEAP32[$yymsp>>2]|0; - $1335 = ((($1334)) + 4|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$1335>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1335+4>>2]|0; - _spanExpr($1332,$1333,55,$$byval_copy16); + HEAP32[$1332>>2] = $1330; break; } - case 152: { - $1336 = HEAP32[$pParse>>2]|0; - $1337 = HEAP32[$yymsp>>2]|0; - $1338 = ((($1337)) + -32|0); - $1339 = ((($1338)) + 4|0); - $1340 = (_sqlite3PExpr($1336,55,0,0,$1339)|0); - HEAP32[$temp1>>2] = $1340; - $1341 = HEAP32[$pParse>>2]|0; - $1342 = HEAP32[$yymsp>>2]|0; + case 150: { + $1333 = HEAP32[$yymsp>>2]|0; + $1334 = ((($1333)) + -32|0); + $1335 = ((($1334)) + 4|0); + $1336 = HEAP32[$yymsp>>2]|0; + $1337 = ((($1336)) + -32|0); + $1338 = ((($1337)) + 4|0); + $1339 = HEAP32[$yymsp>>2]|0; + $1340 = ((($1339)) + 4|0); + _spanSet($1335,$1338,$1340); + $1341 = HEAP32[$yymsp>>2]|0; + $1342 = ((($1341)) + -16|0); $1343 = ((($1342)) + 4|0); - $1344 = (_sqlite3PExpr($1341,55,0,0,$1343)|0); - HEAP32[$temp2>>2] = $1344; + $1344 = HEAP32[$1343>>2]|0; $1345 = HEAP32[$yymsp>>2]|0; $1346 = ((($1345)) + -32|0); $1347 = ((($1346)) + 4|0); + HEAP32[$1347>>2] = $1344; + break; + } + case 157: case 156: case 151: { $1348 = HEAP32[$yymsp>>2]|0; - $1349 = ((($1348)) + -32|0); - $1350 = ((($1349)) + 4|0); + $1349 = ((($1348)) + 4|0); + $1350 = HEAP32[$pParse>>2]|0; $1351 = HEAP32[$yymsp>>2]|0; - $1352 = ((($1351)) + 4|0); - _spanSet($1347,$1350,$1352); - $1353 = HEAP32[$pParse>>2]|0; - $1354 = HEAP32[$temp1>>2]|0; - $1355 = HEAP32[$temp2>>2]|0; - $1356 = (_sqlite3PExpr($1353,122,$1354,$1355,0)|0); + $1352 = ((($1351)) + 2|0); + $1353 = HEAP8[$1352>>0]|0; + $1354 = $1353&255; + $1355 = HEAP32[$yymsp>>2]|0; + $1356 = ((($1355)) + 4|0); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$1356>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1356+4>>2]|0; + _spanExpr($1349,$1350,$1354,$$byval_copy16); + break; + } + case 153: case 152: { $1357 = HEAP32[$yymsp>>2]|0; - $1358 = ((($1357)) + -32|0); - $1359 = ((($1358)) + 4|0); - HEAP32[$1359>>2] = $1356; + $1358 = ((($1357)) + 4|0); + $1359 = HEAP32[$pParse>>2]|0; + $1360 = HEAP32[$yymsp>>2]|0; + $1361 = ((($1360)) + 4|0); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$1361>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1361+4>>2]|0; + _spanExpr($1358,$1359,55,$$byval_copy16); break; } - case 153: { - $1360 = HEAP32[$pParse>>2]|0; - $1361 = HEAP32[$yymsp>>2]|0; - $1362 = ((($1361)) + -64|0); - $1363 = ((($1362)) + 4|0); - $1364 = (_sqlite3PExpr($1360,55,0,0,$1363)|0); - HEAP32[$temp15>>2] = $1364; - $1365 = HEAP32[$pParse>>2]|0; - $1366 = HEAP32[$yymsp>>2]|0; - $1367 = ((($1366)) + -32|0); - $1368 = ((($1367)) + 4|0); - $1369 = (_sqlite3PExpr($1365,55,0,0,$1368)|0); - HEAP32[$temp26>>2] = $1369; - $1370 = HEAP32[$pParse>>2]|0; - $1371 = HEAP32[$yymsp>>2]|0; - $1372 = ((($1371)) + 4|0); - $1373 = (_sqlite3PExpr($1370,55,0,0,$1372)|0); - HEAP32[$temp3>>2] = $1373; - $1374 = HEAP32[$pParse>>2]|0; - $1375 = HEAP32[$temp26>>2]|0; - $1376 = HEAP32[$temp3>>2]|0; - $1377 = (_sqlite3PExpr($1374,122,$1375,$1376,0)|0); - HEAP32[$temp4>>2] = $1377; - $1378 = HEAP32[$yymsp>>2]|0; - $1379 = ((($1378)) + -64|0); + case 154: { + $1362 = HEAP32[$pParse>>2]|0; + $1363 = HEAP32[$1362>>2]|0; + $1364 = HEAP32[$yymsp>>2]|0; + $1365 = ((($1364)) + -32|0); + $1366 = ((($1365)) + 4|0); + $1367 = (_sqlite3ExprAlloc($1363,55,$1366,1)|0); + HEAP32[$temp1>>2] = $1367; + $1368 = HEAP32[$pParse>>2]|0; + $1369 = HEAP32[$1368>>2]|0; + $1370 = HEAP32[$yymsp>>2]|0; + $1371 = ((($1370)) + 4|0); + $1372 = (_sqlite3ExprAlloc($1369,55,$1371,1)|0); + HEAP32[$temp2>>2] = $1372; + $1373 = HEAP32[$yymsp>>2]|0; + $1374 = ((($1373)) + -32|0); + $1375 = ((($1374)) + 4|0); + $1376 = HEAP32[$yymsp>>2]|0; + $1377 = ((($1376)) + -32|0); + $1378 = ((($1377)) + 4|0); + $1379 = HEAP32[$yymsp>>2]|0; $1380 = ((($1379)) + 4|0); - $1381 = HEAP32[$yymsp>>2]|0; - $1382 = ((($1381)) + -64|0); - $1383 = ((($1382)) + 4|0); - $1384 = HEAP32[$yymsp>>2]|0; - $1385 = ((($1384)) + 4|0); - _spanSet($1380,$1383,$1385); - $1386 = HEAP32[$pParse>>2]|0; - $1387 = HEAP32[$temp15>>2]|0; - $1388 = HEAP32[$temp4>>2]|0; - $1389 = (_sqlite3PExpr($1386,122,$1387,$1388,0)|0); + _spanSet($1375,$1378,$1380); + $1381 = HEAP32[$pParse>>2]|0; + $1382 = HEAP32[$temp1>>2]|0; + $1383 = HEAP32[$temp2>>2]|0; + $1384 = (_sqlite3PExpr($1381,122,$1382,$1383,0)|0); + $1385 = HEAP32[$yymsp>>2]|0; + $1386 = ((($1385)) + -32|0); + $1387 = ((($1386)) + 4|0); + HEAP32[$1387>>2] = $1384; + break; + } + case 155: { + $1388 = HEAP32[$pParse>>2]|0; + $1389 = HEAP32[$1388>>2]|0; $1390 = HEAP32[$yymsp>>2]|0; $1391 = ((($1390)) + -64|0); $1392 = ((($1391)) + 4|0); - HEAP32[$1392>>2] = $1389; + $1393 = (_sqlite3ExprAlloc($1389,55,$1392,1)|0); + HEAP32[$temp15>>2] = $1393; + $1394 = HEAP32[$pParse>>2]|0; + $1395 = HEAP32[$1394>>2]|0; + $1396 = HEAP32[$yymsp>>2]|0; + $1397 = ((($1396)) + -32|0); + $1398 = ((($1397)) + 4|0); + $1399 = (_sqlite3ExprAlloc($1395,55,$1398,1)|0); + HEAP32[$temp26>>2] = $1399; + $1400 = HEAP32[$pParse>>2]|0; + $1401 = HEAP32[$1400>>2]|0; + $1402 = HEAP32[$yymsp>>2]|0; + $1403 = ((($1402)) + 4|0); + $1404 = (_sqlite3ExprAlloc($1401,55,$1403,1)|0); + HEAP32[$temp3>>2] = $1404; + $1405 = HEAP32[$pParse>>2]|0; + $1406 = HEAP32[$temp26>>2]|0; + $1407 = HEAP32[$temp3>>2]|0; + $1408 = (_sqlite3PExpr($1405,122,$1406,$1407,0)|0); + HEAP32[$temp4>>2] = $1408; + $1409 = HEAP32[$yymsp>>2]|0; + $1410 = ((($1409)) + -64|0); + $1411 = ((($1410)) + 4|0); + $1412 = HEAP32[$yymsp>>2]|0; + $1413 = ((($1412)) + -64|0); + $1414 = ((($1413)) + 4|0); + $1415 = HEAP32[$yymsp>>2]|0; + $1416 = ((($1415)) + 4|0); + _spanSet($1411,$1414,$1416); + $1417 = HEAP32[$pParse>>2]|0; + $1418 = HEAP32[$temp15>>2]|0; + $1419 = HEAP32[$temp4>>2]|0; + $1420 = (_sqlite3PExpr($1417,122,$1418,$1419,0)|0); + $1421 = HEAP32[$yymsp>>2]|0; + $1422 = ((($1421)) + -64|0); + $1423 = ((($1422)) + 4|0); + HEAP32[$1423>>2] = $1420; break; } - case 156: { - $1393 = HEAP32[$yymsp>>2]|0; - $1394 = ((($1393)) + 4|0); - $1395 = HEAP32[$1394>>2]|0; - $1396 = HEAP8[$1395>>0]|0; - $1397 = $1396 << 24 >> 24; - $1398 = ($1397|0)==(35); - if ($1398) { - $1399 = HEAP32[$yymsp>>2]|0; - $1400 = ((($1399)) + 4|0); - $1401 = HEAP32[$1400>>2]|0; - $1402 = ((($1401)) + 1|0); - $1403 = HEAP8[$1402>>0]|0; - $1404 = $1403&255; - $1405 = (19019 + ($1404)|0); - $1406 = HEAP8[$1405>>0]|0; - $1407 = $1406&255; - $1408 = $1407 & 4; - $1409 = ($1408|0)!=(0); - if ($1409) { - $1419 = HEAP32[$yymsp>>2]|0; - $1420 = ((($1419)) + 4|0); - ;HEAP32[$t>>2]=HEAP32[$1420>>2]|0;HEAP32[$t+4>>2]=HEAP32[$1420+4>>2]|0; - $1421 = HEAP32[$yymsp>>2]|0; - $1422 = ((($1421)) + 4|0); - _spanSet($1422,$t,$t); - $1423 = HEAP32[$pParse>>2]|0; - $1424 = ((($1423)) + 18|0); - $1425 = HEAP8[$1424>>0]|0; - $1426 = $1425&255; - $1427 = ($1426|0)==(0); - $1428 = HEAP32[$pParse>>2]|0; - if ($1427) { + case 158: { + $1424 = HEAP32[$pParse>>2]|0; + $1425 = HEAP32[$1424>>2]|0; + $1426 = HEAP32[$yymsp>>2]|0; + $1427 = ((($1426)) + 4|0); + $1428 = (_sqlite3ExprAlloc($1425,134,$1427,1)|0); + HEAP32[$yylhsminor>>2] = $1428; + $1429 = HEAP32[$yymsp>>2]|0; + $1430 = ((($1429)) + 4|0); + $1431 = HEAP32[$1430>>2]|0; + $1432 = ((($yylhsminor)) + 4|0); + HEAP32[$1432>>2] = $1431; + $1433 = HEAP32[$yymsp>>2]|0; + $1434 = ((($1433)) + 4|0); + $1435 = HEAP32[$1434>>2]|0; + $1436 = HEAP32[$yymsp>>2]|0; + $1437 = ((($1436)) + 4|0); + $1438 = ((($1437)) + 4|0); + $1439 = HEAP32[$1438>>2]|0; + $1440 = (($1435) + ($1439)|0); + $1441 = ((($yylhsminor)) + 8|0); + HEAP32[$1441>>2] = $1440; + $1442 = HEAP32[$yylhsminor>>2]|0; + $1443 = ($1442|0)!=(0|0); + if ($1443) { + $1444 = HEAP32[$yylhsminor>>2]|0; + $1445 = ((($1444)) + 4|0); + $1446 = HEAP32[$1445>>2]|0; + $1447 = $1446 | 8388608; + HEAP32[$1445>>2] = $1447; + } + $1448 = HEAP32[$yymsp>>2]|0; + $1449 = ((($1448)) + 4|0); + ;HEAP32[$1449>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1449+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1449+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 159: { + $1450 = HEAP32[$yymsp>>2]|0; + $1451 = ((($1450)) + 4|0); + $1452 = HEAP32[$1451>>2]|0; + $1453 = HEAP8[$1452>>0]|0; + $1454 = $1453 << 24 >> 24; + $1455 = ($1454|0)==(35); + if ($1455) { + $1456 = HEAP32[$yymsp>>2]|0; + $1457 = ((($1456)) + 4|0); + $1458 = HEAP32[$1457>>2]|0; + $1459 = ((($1458)) + 1|0); + $1460 = HEAP8[$1459>>0]|0; + $1461 = $1460&255; + $1462 = (18403 + ($1461)|0); + $1463 = HEAP8[$1462>>0]|0; + $1464 = $1463&255; + $1465 = $1464 & 4; + $1466 = ($1465|0)!=(0); + if ($1466) { + $1481 = HEAP32[$yymsp>>2]|0; + $1482 = ((($1481)) + 4|0); + ;HEAP32[$t>>2]=HEAP32[$1482>>2]|0;HEAP32[$t+4>>2]=HEAP32[$1482+4>>2]|0; + $1483 = HEAP32[$yymsp>>2]|0; + $1484 = ((($1483)) + 4|0); + _spanSet($1484,$t,$t); + $1485 = HEAP32[$pParse>>2]|0; + $1486 = ((($1485)) + 18|0); + $1487 = HEAP8[$1486>>0]|0; + $1488 = $1487&255; + $1489 = ($1488|0)==(0); + $1490 = HEAP32[$pParse>>2]|0; + if ($1489) { HEAP32[$vararg_buffer2>>2] = $t; - _sqlite3ErrorMsg($1428,27078,$vararg_buffer2); - $1429 = HEAP32[$yymsp>>2]|0; - $1430 = ((($1429)) + 4|0); - HEAP32[$1430>>2] = 0; + _sqlite3ErrorMsg($1490,26462,$vararg_buffer2); + $1491 = HEAP32[$yymsp>>2]|0; + $1492 = ((($1491)) + 4|0); + HEAP32[$1492>>2] = 0; break L6; } - $1431 = (_sqlite3PExpr($1428,157,0,0,$t)|0); - $1432 = HEAP32[$yymsp>>2]|0; - $1433 = ((($1432)) + 4|0); - HEAP32[$1433>>2] = $1431; - $1434 = HEAP32[$yymsp>>2]|0; - $1435 = ((($1434)) + 4|0); - $1436 = HEAP32[$1435>>2]|0; - $1437 = ($1436|0)!=(0|0); - if (!($1437)) { + $1493 = (_sqlite3PExpr($1490,157,0,0,0)|0); + $1494 = HEAP32[$yymsp>>2]|0; + $1495 = ((($1494)) + 4|0); + HEAP32[$1495>>2] = $1493; + $1496 = HEAP32[$yymsp>>2]|0; + $1497 = ((($1496)) + 4|0); + $1498 = HEAP32[$1497>>2]|0; + $1499 = ($1498|0)!=(0|0); + if (!($1499)) { break L6; } - $1438 = HEAP32[$t>>2]|0; - $1439 = ((($1438)) + 1|0); - $1440 = HEAP32[$yymsp>>2]|0; - $1441 = ((($1440)) + 4|0); - $1442 = HEAP32[$1441>>2]|0; - $1443 = ((($1442)) + 28|0); - (_sqlite3GetInt32($1439,$1443)|0); + $1500 = HEAP32[$t>>2]|0; + $1501 = ((($1500)) + 1|0); + $1502 = HEAP32[$yymsp>>2]|0; + $1503 = ((($1502)) + 4|0); + $1504 = HEAP32[$1503>>2]|0; + $1505 = ((($1504)) + 28|0); + (_sqlite3GetInt32($1501,$1505)|0); break L6; } } - $1410 = HEAP32[$yymsp>>2]|0; - $1411 = ((($1410)) + 4|0); - $1412 = HEAP32[$pParse>>2]|0; - $1413 = HEAP32[$yymsp>>2]|0; - $1414 = ((($1413)) + 4|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$1414>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1414+4>>2]|0; - _spanExpr($1411,$1412,135,$$byval_copy16); - $1415 = HEAP32[$pParse>>2]|0; - $1416 = HEAP32[$yymsp>>2]|0; - $1417 = ((($1416)) + 4|0); - $1418 = HEAP32[$1417>>2]|0; - _sqlite3ExprAssignVarNumber($1415,$1418); - break; - } - case 157: { - $1444 = HEAP32[$pParse>>2]|0; - $1445 = HEAP32[$yymsp>>2]|0; - $1446 = ((($1445)) + -32|0); - $1447 = ((($1446)) + 4|0); - $1448 = HEAP32[$1447>>2]|0; - $1449 = HEAP32[$yymsp>>2]|0; - $1450 = ((($1449)) + 4|0); - $1451 = (_sqlite3ExprAddCollateToken($1444,$1448,$1450,1)|0); - $1452 = HEAP32[$yymsp>>2]|0; - $1453 = ((($1452)) + -32|0); - $1454 = ((($1453)) + 4|0); - HEAP32[$1454>>2] = $1451; - $1455 = HEAP32[$yymsp>>2]|0; - $1456 = ((($1455)) + 4|0); - $1457 = ((($1456)) + 4|0); - $1458 = HEAP32[$1457>>2]|0; - $1459 = HEAP32[$yymsp>>2]|0; - $1460 = ((($1459)) + 4|0); - $1461 = HEAP32[$1460>>2]|0; - $1462 = (($1461) + ($1458)|0); - $1463 = HEAP32[$yymsp>>2]|0; - $1464 = ((($1463)) + -32|0); - $1465 = ((($1464)) + 4|0); - $1466 = ((($1465)) + 8|0); - HEAP32[$1466>>2] = $1462; - break; - } - case 158: { $1467 = HEAP32[$yymsp>>2]|0; - $1468 = ((($1467)) + -80|0); + $1468 = ((($1467)) + 4|0); $1469 = ((($1468)) + 4|0); - $1470 = HEAP32[$yymsp>>2]|0; - $1471 = ((($1470)) + -80|0); + $1470 = HEAP32[$1469>>2]|0; + HEAP32[$n>>2] = $1470; + $1471 = HEAP32[$yymsp>>2]|0; $1472 = ((($1471)) + 4|0); - $1473 = HEAP32[$yymsp>>2]|0; - $1474 = ((($1473)) + 4|0); - _spanSet($1469,$1472,$1474); - $1475 = HEAP32[$pParse>>2]|0; - $1476 = HEAP32[$yymsp>>2]|0; - $1477 = ((($1476)) + -48|0); + $1473 = HEAP32[$pParse>>2]|0; + $1474 = HEAP32[$yymsp>>2]|0; + $1475 = ((($1474)) + 4|0); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$1475>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$1475+4>>2]|0; + _spanExpr($1472,$1473,135,$$byval_copy16); + $1476 = HEAP32[$pParse>>2]|0; + $1477 = HEAP32[$yymsp>>2]|0; $1478 = ((($1477)) + 4|0); $1479 = HEAP32[$1478>>2]|0; - $1480 = HEAP32[$yymsp>>2]|0; - $1481 = ((($1480)) + -16|0); - $1482 = ((($1481)) + 4|0); - $1483 = (_sqlite3PExpr($1475,66,$1479,0,$1482)|0); - $1484 = HEAP32[$yymsp>>2]|0; - $1485 = ((($1484)) + -80|0); - $1486 = ((($1485)) + 4|0); - HEAP32[$1486>>2] = $1483; + $1480 = HEAP32[$n>>2]|0; + _sqlite3ExprAssignVarNumber($1476,$1479,$1480); break; } - case 159: { - $1487 = HEAP32[$yymsp>>2]|0; - $1488 = ((($1487)) + -16|0); - $1489 = ((($1488)) + 4|0); - $1490 = HEAP32[$1489>>2]|0; - $1491 = ($1490|0)!=(0|0); - if ($1491) { - $1492 = HEAP32[$yymsp>>2]|0; - $1493 = ((($1492)) + -16|0); - $1494 = ((($1493)) + 4|0); - $1495 = HEAP32[$1494>>2]|0; - $1496 = HEAP32[$1495>>2]|0; - $1497 = HEAP32[$pParse>>2]|0; - $1498 = HEAP32[$1497>>2]|0; - $1499 = ((($1498)) + 92|0); - $1500 = ((($1499)) + 24|0); - $1501 = HEAP32[$1500>>2]|0; - $1502 = ($1496|0)>($1501|0); - if ($1502) { - $1503 = HEAP32[$pParse>>2]|0; - $1504 = HEAP32[$yymsp>>2]|0; - $1505 = ((($1504)) + -64|0); - $1506 = ((($1505)) + 4|0); - HEAP32[$vararg_buffer5>>2] = $1506; - _sqlite3ErrorMsg($1503,27790,$vararg_buffer5); - } - } - $1507 = HEAP32[$pParse>>2]|0; - $1508 = HEAP32[$yymsp>>2]|0; - $1509 = ((($1508)) + -16|0); - $1510 = ((($1509)) + 4|0); - $1511 = HEAP32[$1510>>2]|0; - $1512 = HEAP32[$yymsp>>2]|0; - $1513 = ((($1512)) + -64|0); - $1514 = ((($1513)) + 4|0); - $1515 = (_sqlite3ExprFunction($1507,$1511,$1514)|0); - HEAP32[$yylhsminor>>2] = $1515; - $1516 = HEAP32[$yymsp>>2]|0; - $1517 = ((($1516)) + -64|0); + case 160: { + $1506 = HEAP32[$pParse>>2]|0; + $1507 = HEAP32[$yymsp>>2]|0; + $1508 = ((($1507)) + -32|0); + $1509 = ((($1508)) + 4|0); + $1510 = HEAP32[$1509>>2]|0; + $1511 = HEAP32[$yymsp>>2]|0; + $1512 = ((($1511)) + 4|0); + $1513 = (_sqlite3ExprAddCollateToken($1506,$1510,$1512,1)|0); + $1514 = HEAP32[$yymsp>>2]|0; + $1515 = ((($1514)) + -32|0); + $1516 = ((($1515)) + 4|0); + HEAP32[$1516>>2] = $1513; + $1517 = HEAP32[$yymsp>>2]|0; $1518 = ((($1517)) + 4|0); - $1519 = HEAP32[$yymsp>>2]|0; - $1520 = ((($1519)) + 4|0); - _spanSet($yylhsminor,$1518,$1520); + $1519 = ((($1518)) + 4|0); + $1520 = HEAP32[$1519>>2]|0; $1521 = HEAP32[$yymsp>>2]|0; - $1522 = ((($1521)) + -32|0); - $1523 = ((($1522)) + 4|0); - $1524 = HEAP32[$1523>>2]|0; - $1525 = ($1524|0)==(1); - if ($1525) { - $1526 = HEAP32[$yylhsminor>>2]|0; - $1527 = ($1526|0)!=(0|0); - if ($1527) { - $1528 = HEAP32[$yylhsminor>>2]|0; - $1529 = ((($1528)) + 4|0); - $1530 = HEAP32[$1529>>2]|0; - $1531 = $1530 | 16; - HEAP32[$1529>>2] = $1531; - } - } - $1532 = HEAP32[$yymsp>>2]|0; - $1533 = ((($1532)) + -64|0); - $1534 = ((($1533)) + 4|0); - ;HEAP32[$1534>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1534+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1534+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + $1522 = ((($1521)) + 4|0); + $1523 = HEAP32[$1522>>2]|0; + $1524 = (($1523) + ($1520)|0); + $1525 = HEAP32[$yymsp>>2]|0; + $1526 = ((($1525)) + -32|0); + $1527 = ((($1526)) + 4|0); + $1528 = ((($1527)) + 8|0); + HEAP32[$1528>>2] = $1524; break; } - case 160: { - $1535 = HEAP32[$pParse>>2]|0; - $1536 = HEAP32[$yymsp>>2]|0; - $1537 = ((($1536)) + -48|0); - $1538 = ((($1537)) + 4|0); - $1539 = (_sqlite3ExprFunction($1535,0,$1538)|0); - HEAP32[$yylhsminor>>2] = $1539; - $1540 = HEAP32[$yymsp>>2]|0; - $1541 = ((($1540)) + -48|0); - $1542 = ((($1541)) + 4|0); - $1543 = HEAP32[$yymsp>>2]|0; + case 161: { + $1529 = HEAP32[$yymsp>>2]|0; + $1530 = ((($1529)) + -80|0); + $1531 = ((($1530)) + 4|0); + $1532 = HEAP32[$yymsp>>2]|0; + $1533 = ((($1532)) + -80|0); + $1534 = ((($1533)) + 4|0); + $1535 = HEAP32[$yymsp>>2]|0; + $1536 = ((($1535)) + 4|0); + _spanSet($1531,$1534,$1536); + $1537 = HEAP32[$pParse>>2]|0; + $1538 = HEAP32[$yymsp>>2]|0; + $1539 = ((($1538)) + -48|0); + $1540 = ((($1539)) + 4|0); + $1541 = HEAP32[$1540>>2]|0; + $1542 = HEAP32[$yymsp>>2]|0; + $1543 = ((($1542)) + -16|0); $1544 = ((($1543)) + 4|0); - _spanSet($yylhsminor,$1542,$1544); - $1545 = HEAP32[$yymsp>>2]|0; - $1546 = ((($1545)) + -48|0); - $1547 = ((($1546)) + 4|0); - ;HEAP32[$1547>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1547+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1547+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + $1545 = (_sqlite3PExpr($1537,66,$1541,0,$1544)|0); + $1546 = HEAP32[$yymsp>>2]|0; + $1547 = ((($1546)) + -80|0); + $1548 = ((($1547)) + 4|0); + HEAP32[$1548>>2] = $1545; break; } - case 161: { - $1548 = HEAP32[$pParse>>2]|0; + case 162: { $1549 = HEAP32[$yymsp>>2]|0; - $1550 = ((($1549)) + 4|0); - $1551 = (_sqlite3ExprFunction($1548,0,$1550)|0); - HEAP32[$yylhsminor>>2] = $1551; - $1552 = HEAP32[$yymsp>>2]|0; - $1553 = ((($1552)) + 4|0); - $1554 = HEAP32[$yymsp>>2]|0; - $1555 = ((($1554)) + 4|0); - _spanSet($yylhsminor,$1553,$1555); - $1556 = HEAP32[$yymsp>>2]|0; - $1557 = ((($1556)) + 4|0); - ;HEAP32[$1557>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1557+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1557+8>>2]=HEAP32[$yylhsminor+8>>2]|0; - break; - } - case 169: case 168: case 167: case 166: case 165: case 164: case 163: case 162: { - $1558 = HEAP32[$pParse>>2]|0; - $1559 = HEAP32[$yymsp>>2]|0; - $1560 = ((($1559)) + -16|0); - $1561 = ((($1560)) + 2|0); - $1562 = HEAP8[$1561>>0]|0; - $1563 = $1562&255; - $1564 = HEAP32[$yymsp>>2]|0; - $1565 = ((($1564)) + -32|0); - $1566 = ((($1565)) + 4|0); - $1567 = HEAP32[$yymsp>>2]|0; - $1568 = ((($1567)) + 4|0); - _spanBinaryExpr($1558,$1563,$1566,$1568); - break; - } - case 170: { - $1569 = HEAP32[$yymsp>>2]|0; - $1570 = ((($1569)) + 4|0); - $1571 = HEAP32[$yymsp>>2]|0; + $1550 = ((($1549)) + -16|0); + $1551 = ((($1550)) + 4|0); + $1552 = HEAP32[$1551>>2]|0; + $1553 = ($1552|0)!=(0|0); + if ($1553) { + $1554 = HEAP32[$yymsp>>2]|0; + $1555 = ((($1554)) + -16|0); + $1556 = ((($1555)) + 4|0); + $1557 = HEAP32[$1556>>2]|0; + $1558 = HEAP32[$1557>>2]|0; + $1559 = HEAP32[$pParse>>2]|0; + $1560 = HEAP32[$1559>>2]|0; + $1561 = ((($1560)) + 96|0); + $1562 = ((($1561)) + 24|0); + $1563 = HEAP32[$1562>>2]|0; + $1564 = ($1558|0)>($1563|0); + if ($1564) { + $1565 = HEAP32[$pParse>>2]|0; + $1566 = HEAP32[$yymsp>>2]|0; + $1567 = ((($1566)) + -64|0); + $1568 = ((($1567)) + 4|0); + HEAP32[$vararg_buffer5>>2] = $1568; + _sqlite3ErrorMsg($1565,27186,$vararg_buffer5); + } + } + $1569 = HEAP32[$pParse>>2]|0; + $1570 = HEAP32[$yymsp>>2]|0; + $1571 = ((($1570)) + -16|0); $1572 = ((($1571)) + 4|0); - ;HEAP32[$1570>>2]=HEAP32[$1572>>2]|0;HEAP32[$1570+4>>2]=HEAP32[$1572+4>>2]|0; - $1573 = HEAP32[$yymsp>>2]|0; - $1574 = ((($1573)) + 4|0); - $1575 = ((($1574)) + 8|0); - HEAP32[$1575>>2] = 0; - break; - } - case 171: { - $1576 = HEAP32[$yymsp>>2]|0; - $1577 = ((($1576)) + -16|0); - $1578 = ((($1577)) + 4|0); - $1579 = HEAP32[$yymsp>>2]|0; + $1573 = HEAP32[$1572>>2]|0; + $1574 = HEAP32[$yymsp>>2]|0; + $1575 = ((($1574)) + -64|0); + $1576 = ((($1575)) + 4|0); + $1577 = (_sqlite3ExprFunction($1569,$1573,$1576)|0); + HEAP32[$yylhsminor>>2] = $1577; + $1578 = HEAP32[$yymsp>>2]|0; + $1579 = ((($1578)) + -64|0); $1580 = ((($1579)) + 4|0); - ;HEAP32[$1578>>2]=HEAP32[$1580>>2]|0;HEAP32[$1578+4>>2]=HEAP32[$1580+4>>2]|0; $1581 = HEAP32[$yymsp>>2]|0; - $1582 = ((($1581)) + -16|0); - $1583 = ((($1582)) + 4|0); - $1584 = ((($1583)) + 8|0); - HEAP32[$1584>>2] = 1; - break; - } - case 172: { - $1585 = HEAP32[$pParse>>2]|0; - $1586 = HEAP32[$yymsp>>2]|0; - $1587 = ((($1586)) + 4|0); - $1588 = HEAP32[$1587>>2]|0; - $1589 = (_sqlite3ExprListAppend($1585,0,$1588)|0); - HEAP32[$pList>>2] = $1589; - $1590 = HEAP32[$pParse>>2]|0; - $1591 = HEAP32[$pList>>2]|0; - $1592 = HEAP32[$yymsp>>2]|0; - $1593 = ((($1592)) + -32|0); - $1594 = ((($1593)) + 4|0); - $1595 = HEAP32[$1594>>2]|0; - $1596 = (_sqlite3ExprListAppend($1590,$1591,$1595)|0); - HEAP32[$pList>>2] = $1596; + $1582 = ((($1581)) + 4|0); + _spanSet($yylhsminor,$1580,$1582); + $1583 = HEAP32[$yymsp>>2]|0; + $1584 = ((($1583)) + -32|0); + $1585 = ((($1584)) + 4|0); + $1586 = HEAP32[$1585>>2]|0; + $1587 = ($1586|0)==(1); + if ($1587) { + $1588 = HEAP32[$yylhsminor>>2]|0; + $1589 = ($1588|0)!=(0|0); + if ($1589) { + $1590 = HEAP32[$yylhsminor>>2]|0; + $1591 = ((($1590)) + 4|0); + $1592 = HEAP32[$1591>>2]|0; + $1593 = $1592 | 16; + HEAP32[$1591>>2] = $1593; + } + } + $1594 = HEAP32[$yymsp>>2]|0; + $1595 = ((($1594)) + -64|0); + $1596 = ((($1595)) + 4|0); + ;HEAP32[$1596>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1596+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1596+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 163: { $1597 = HEAP32[$pParse>>2]|0; - $1598 = HEAP32[$pList>>2]|0; - $1599 = HEAP32[$yymsp>>2]|0; - $1600 = ((($1599)) + -16|0); - $1601 = ((($1600)) + 4|0); - $1602 = (_sqlite3ExprFunction($1597,$1598,$1601)|0); - $1603 = HEAP32[$yymsp>>2]|0; - $1604 = ((($1603)) + -32|0); - $1605 = ((($1604)) + 4|0); - HEAP32[$1605>>2] = $1602; - $1606 = HEAP32[$pParse>>2]|0; + $1598 = HEAP32[$yymsp>>2]|0; + $1599 = ((($1598)) + -48|0); + $1600 = ((($1599)) + 4|0); + $1601 = (_sqlite3ExprFunction($1597,0,$1600)|0); + HEAP32[$yylhsminor>>2] = $1601; + $1602 = HEAP32[$yymsp>>2]|0; + $1603 = ((($1602)) + -48|0); + $1604 = ((($1603)) + 4|0); + $1605 = HEAP32[$yymsp>>2]|0; + $1606 = ((($1605)) + 4|0); + _spanSet($yylhsminor,$1604,$1606); $1607 = HEAP32[$yymsp>>2]|0; - $1608 = ((($1607)) + -16|0); + $1608 = ((($1607)) + -48|0); $1609 = ((($1608)) + 4|0); - $1610 = ((($1609)) + 8|0); - $1611 = HEAP32[$1610>>2]|0; - $1612 = HEAP32[$yymsp>>2]|0; - $1613 = ((($1612)) + -32|0); - $1614 = ((($1613)) + 4|0); - _exprNot($1606,$1611,$1614); - $1615 = HEAP32[$yymsp>>2]|0; - $1616 = ((($1615)) + 4|0); - $1617 = ((($1616)) + 8|0); - $1618 = HEAP32[$1617>>2]|0; - $1619 = HEAP32[$yymsp>>2]|0; - $1620 = ((($1619)) + -32|0); - $1621 = ((($1620)) + 4|0); - $1622 = ((($1621)) + 8|0); - HEAP32[$1622>>2] = $1618; - $1623 = HEAP32[$yymsp>>2]|0; - $1624 = ((($1623)) + -32|0); - $1625 = ((($1624)) + 4|0); - $1626 = HEAP32[$1625>>2]|0; - $1627 = ($1626|0)!=(0|0); - if ($1627) { - $1628 = HEAP32[$yymsp>>2]|0; - $1629 = ((($1628)) + -32|0); - $1630 = ((($1629)) + 4|0); - $1631 = HEAP32[$1630>>2]|0; - $1632 = ((($1631)) + 4|0); - $1633 = HEAP32[$1632>>2]|0; - $1634 = $1633 | 128; - HEAP32[$1632>>2] = $1634; - } - break; - } - case 173: { - $1635 = HEAP32[$pParse>>2]|0; - $1636 = HEAP32[$yymsp>>2]|0; - $1637 = ((($1636)) + -32|0); - $1638 = ((($1637)) + 4|0); - $1639 = HEAP32[$1638>>2]|0; - $1640 = (_sqlite3ExprListAppend($1635,0,$1639)|0); - HEAP32[$pList7>>2] = $1640; - $1641 = HEAP32[$pParse>>2]|0; - $1642 = HEAP32[$pList7>>2]|0; - $1643 = HEAP32[$yymsp>>2]|0; - $1644 = ((($1643)) + -64|0); - $1645 = ((($1644)) + 4|0); - $1646 = HEAP32[$1645>>2]|0; - $1647 = (_sqlite3ExprListAppend($1641,$1642,$1646)|0); - HEAP32[$pList7>>2] = $1647; + ;HEAP32[$1609>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1609+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1609+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 164: { + $1610 = HEAP32[$pParse>>2]|0; + $1611 = HEAP32[$yymsp>>2]|0; + $1612 = ((($1611)) + 4|0); + $1613 = (_sqlite3ExprFunction($1610,0,$1612)|0); + HEAP32[$yylhsminor>>2] = $1613; + $1614 = HEAP32[$yymsp>>2]|0; + $1615 = ((($1614)) + 4|0); + $1616 = HEAP32[$yymsp>>2]|0; + $1617 = ((($1616)) + 4|0); + _spanSet($yylhsminor,$1615,$1617); + $1618 = HEAP32[$yymsp>>2]|0; + $1619 = ((($1618)) + 4|0); + ;HEAP32[$1619>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1619+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1619+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 165: { + $1620 = HEAP32[$pParse>>2]|0; + $1621 = HEAP32[$yymsp>>2]|0; + $1622 = ((($1621)) + -48|0); + $1623 = ((($1622)) + 4|0); + $1624 = HEAP32[$1623>>2]|0; + $1625 = HEAP32[$yymsp>>2]|0; + $1626 = ((($1625)) + -16|0); + $1627 = ((($1626)) + 4|0); + $1628 = HEAP32[$1627>>2]|0; + $1629 = (_sqlite3ExprListAppend($1620,$1624,$1628)|0); + HEAP32[$pList>>2] = $1629; + $1630 = HEAP32[$pParse>>2]|0; + $1631 = (_sqlite3PExpr($1630,158,0,0,0)|0); + HEAP32[$yylhsminor>>2] = $1631; + $1632 = HEAP32[$yylhsminor>>2]|0; + $1633 = ($1632|0)!=(0|0); + if ($1633) { + $1634 = HEAP32[$pList>>2]|0; + $1635 = HEAP32[$yylhsminor>>2]|0; + $1636 = ((($1635)) + 20|0); + HEAP32[$1636>>2] = $1634; + $1637 = HEAP32[$yymsp>>2]|0; + $1638 = ((($1637)) + -64|0); + $1639 = ((($1638)) + 4|0); + $1640 = HEAP32[$yymsp>>2]|0; + $1641 = ((($1640)) + 4|0); + _spanSet($yylhsminor,$1639,$1641); + } else { + $1642 = HEAP32[$pParse>>2]|0; + $1643 = HEAP32[$1642>>2]|0; + $1644 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($1643,$1644); + } + $1645 = HEAP32[$yymsp>>2]|0; + $1646 = ((($1645)) + -64|0); + $1647 = ((($1646)) + 4|0); + ;HEAP32[$1647>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1647+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1647+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 173: case 172: case 171: case 170: case 169: case 168: case 167: case 166: { $1648 = HEAP32[$pParse>>2]|0; - $1649 = HEAP32[$pList7>>2]|0; - $1650 = HEAP32[$yymsp>>2]|0; - $1651 = ((($1650)) + 4|0); - $1652 = HEAP32[$1651>>2]|0; - $1653 = (_sqlite3ExprListAppend($1648,$1649,$1652)|0); - HEAP32[$pList7>>2] = $1653; - $1654 = HEAP32[$pParse>>2]|0; - $1655 = HEAP32[$pList7>>2]|0; - $1656 = HEAP32[$yymsp>>2]|0; - $1657 = ((($1656)) + -48|0); + $1649 = HEAP32[$yymsp>>2]|0; + $1650 = ((($1649)) + -16|0); + $1651 = ((($1650)) + 2|0); + $1652 = HEAP8[$1651>>0]|0; + $1653 = $1652&255; + $1654 = HEAP32[$yymsp>>2]|0; + $1655 = ((($1654)) + -32|0); + $1656 = ((($1655)) + 4|0); + $1657 = HEAP32[$yymsp>>2]|0; $1658 = ((($1657)) + 4|0); - $1659 = (_sqlite3ExprFunction($1654,$1655,$1658)|0); - $1660 = HEAP32[$yymsp>>2]|0; - $1661 = ((($1660)) + -64|0); - $1662 = ((($1661)) + 4|0); - HEAP32[$1662>>2] = $1659; - $1663 = HEAP32[$pParse>>2]|0; - $1664 = HEAP32[$yymsp>>2]|0; - $1665 = ((($1664)) + -48|0); - $1666 = ((($1665)) + 4|0); - $1667 = ((($1666)) + 8|0); - $1668 = HEAP32[$1667>>2]|0; - $1669 = HEAP32[$yymsp>>2]|0; - $1670 = ((($1669)) + -64|0); - $1671 = ((($1670)) + 4|0); - _exprNot($1663,$1668,$1671); - $1672 = HEAP32[$yymsp>>2]|0; - $1673 = ((($1672)) + 4|0); - $1674 = ((($1673)) + 8|0); - $1675 = HEAP32[$1674>>2]|0; - $1676 = HEAP32[$yymsp>>2]|0; - $1677 = ((($1676)) + -64|0); - $1678 = ((($1677)) + 4|0); - $1679 = ((($1678)) + 8|0); - HEAP32[$1679>>2] = $1675; - $1680 = HEAP32[$yymsp>>2]|0; - $1681 = ((($1680)) + -64|0); - $1682 = ((($1681)) + 4|0); - $1683 = HEAP32[$1682>>2]|0; - $1684 = ($1683|0)!=(0|0); - if ($1684) { - $1685 = HEAP32[$yymsp>>2]|0; - $1686 = ((($1685)) + -64|0); - $1687 = ((($1686)) + 4|0); - $1688 = HEAP32[$1687>>2]|0; - $1689 = ((($1688)) + 4|0); - $1690 = HEAP32[$1689>>2]|0; - $1691 = $1690 | 128; - HEAP32[$1689>>2] = $1691; - } + _spanBinaryExpr($1648,$1653,$1656,$1658); break; } case 174: { - $1692 = HEAP32[$pParse>>2]|0; - $1693 = HEAP32[$yymsp>>2]|0; - $1694 = ((($1693)) + 2|0); - $1695 = HEAP8[$1694>>0]|0; - $1696 = $1695&255; - $1697 = HEAP32[$yymsp>>2]|0; - $1698 = ((($1697)) + -16|0); - $1699 = ((($1698)) + 4|0); - $1700 = HEAP32[$yymsp>>2]|0; - $1701 = ((($1700)) + 4|0); - _spanUnaryPostfix($1692,$1696,$1699,$1701); + $1659 = HEAP32[$yymsp>>2]|0; + $1660 = ((($1659)) + 4|0); + $1661 = HEAP32[$yymsp>>2]|0; + $1662 = ((($1661)) + 4|0); + ;HEAP32[$1660>>2]=HEAP32[$1662>>2]|0;HEAP32[$1660+4>>2]=HEAP32[$1662+4>>2]|0; break; } case 175: { - $1702 = HEAP32[$pParse>>2]|0; - $1703 = HEAP32[$yymsp>>2]|0; - $1704 = ((($1703)) + -32|0); - $1705 = ((($1704)) + 4|0); - $1706 = HEAP32[$yymsp>>2]|0; - $1707 = ((($1706)) + 4|0); - _spanUnaryPostfix($1702,35,$1705,$1707); + $1663 = HEAP32[$yymsp>>2]|0; + $1664 = ((($1663)) + -16|0); + $1665 = ((($1664)) + 4|0); + $1666 = HEAP32[$yymsp>>2]|0; + $1667 = ((($1666)) + 4|0); + ;HEAP32[$1665>>2]=HEAP32[$1667>>2]|0;HEAP32[$1665+4>>2]=HEAP32[$1667+4>>2]|0; + $1668 = HEAP32[$yymsp>>2]|0; + $1669 = ((($1668)) + -16|0); + $1670 = ((($1669)) + 4|0); + $1671 = ((($1670)) + 4|0); + $1672 = HEAP32[$1671>>2]|0; + $1673 = $1672 | -2147483648; + HEAP32[$1671>>2] = $1673; break; } case 176: { - $1708 = HEAP32[$pParse>>2]|0; + $1674 = HEAP32[$yymsp>>2]|0; + $1675 = ((($1674)) + -16|0); + $1676 = ((($1675)) + 4|0); + $1677 = ((($1676)) + 4|0); + $1678 = HEAP32[$1677>>2]|0; + $1679 = $1678 & -2147483648; + HEAP32[$bNot>>2] = $1679; + $1680 = HEAP32[$yymsp>>2]|0; + $1681 = ((($1680)) + -16|0); + $1682 = ((($1681)) + 4|0); + $1683 = ((($1682)) + 4|0); + $1684 = HEAP32[$1683>>2]|0; + $1685 = $1684 & 2147483647; + HEAP32[$1683>>2] = $1685; + $1686 = HEAP32[$pParse>>2]|0; + $1687 = HEAP32[$yymsp>>2]|0; + $1688 = ((($1687)) + 4|0); + $1689 = HEAP32[$1688>>2]|0; + $1690 = (_sqlite3ExprListAppend($1686,0,$1689)|0); + HEAP32[$pList7>>2] = $1690; + $1691 = HEAP32[$pParse>>2]|0; + $1692 = HEAP32[$pList7>>2]|0; + $1693 = HEAP32[$yymsp>>2]|0; + $1694 = ((($1693)) + -32|0); + $1695 = ((($1694)) + 4|0); + $1696 = HEAP32[$1695>>2]|0; + $1697 = (_sqlite3ExprListAppend($1691,$1692,$1696)|0); + HEAP32[$pList7>>2] = $1697; + $1698 = HEAP32[$pParse>>2]|0; + $1699 = HEAP32[$pList7>>2]|0; + $1700 = HEAP32[$yymsp>>2]|0; + $1701 = ((($1700)) + -16|0); + $1702 = ((($1701)) + 4|0); + $1703 = (_sqlite3ExprFunction($1698,$1699,$1702)|0); + $1704 = HEAP32[$yymsp>>2]|0; + $1705 = ((($1704)) + -32|0); + $1706 = ((($1705)) + 4|0); + HEAP32[$1706>>2] = $1703; + $1707 = HEAP32[$pParse>>2]|0; + $1708 = HEAP32[$bNot>>2]|0; $1709 = HEAP32[$yymsp>>2]|0; $1710 = ((($1709)) + -32|0); $1711 = ((($1710)) + 4|0); + _exprNot($1707,$1708,$1711); $1712 = HEAP32[$yymsp>>2]|0; $1713 = ((($1712)) + 4|0); - _spanBinaryExpr($1708,29,$1711,$1713); - $1714 = HEAP32[$pParse>>2]|0; - $1715 = HEAP32[$yymsp>>2]|0; - $1716 = ((($1715)) + 4|0); - $1717 = HEAP32[$1716>>2]|0; - $1718 = HEAP32[$yymsp>>2]|0; - $1719 = ((($1718)) + -32|0); - $1720 = ((($1719)) + 4|0); - $1721 = HEAP32[$1720>>2]|0; - _binaryToUnaryIfNull($1714,$1717,$1721,34); + $1714 = ((($1713)) + 8|0); + $1715 = HEAP32[$1714>>2]|0; + $1716 = HEAP32[$yymsp>>2]|0; + $1717 = ((($1716)) + -32|0); + $1718 = ((($1717)) + 4|0); + $1719 = ((($1718)) + 8|0); + HEAP32[$1719>>2] = $1715; + $1720 = HEAP32[$yymsp>>2]|0; + $1721 = ((($1720)) + -32|0); + $1722 = ((($1721)) + 4|0); + $1723 = HEAP32[$1722>>2]|0; + $1724 = ($1723|0)!=(0|0); + if ($1724) { + $1725 = HEAP32[$yymsp>>2]|0; + $1726 = ((($1725)) + -32|0); + $1727 = ((($1726)) + 4|0); + $1728 = HEAP32[$1727>>2]|0; + $1729 = ((($1728)) + 4|0); + $1730 = HEAP32[$1729>>2]|0; + $1731 = $1730 | 128; + HEAP32[$1729>>2] = $1731; + } break; } case 177: { - $1722 = HEAP32[$pParse>>2]|0; - $1723 = HEAP32[$yymsp>>2]|0; - $1724 = ((($1723)) + -48|0); - $1725 = ((($1724)) + 4|0); - $1726 = HEAP32[$yymsp>>2]|0; - $1727 = ((($1726)) + 4|0); - _spanBinaryExpr($1722,148,$1725,$1727); - $1728 = HEAP32[$pParse>>2]|0; - $1729 = HEAP32[$yymsp>>2]|0; - $1730 = ((($1729)) + 4|0); - $1731 = HEAP32[$1730>>2]|0; $1732 = HEAP32[$yymsp>>2]|0; $1733 = ((($1732)) + -48|0); $1734 = ((($1733)) + 4|0); - $1735 = HEAP32[$1734>>2]|0; - _binaryToUnaryIfNull($1728,$1731,$1735,35); - break; - } - case 179: case 178: { - $1736 = HEAP32[$yymsp>>2]|0; - $1737 = ((($1736)) + -16|0); - $1738 = ((($1737)) + 4|0); - $1739 = HEAP32[$pParse>>2]|0; - $1740 = HEAP32[$yymsp>>2]|0; - $1741 = ((($1740)) + -16|0); - $1742 = ((($1741)) + 2|0); - $1743 = HEAP8[$1742>>0]|0; - $1744 = $1743&255; + $1735 = ((($1734)) + 4|0); + $1736 = HEAP32[$1735>>2]|0; + $1737 = $1736 & -2147483648; + HEAP32[$bNot9>>2] = $1737; + $1738 = HEAP32[$yymsp>>2]|0; + $1739 = ((($1738)) + -48|0); + $1740 = ((($1739)) + 4|0); + $1741 = ((($1740)) + 4|0); + $1742 = HEAP32[$1741>>2]|0; + $1743 = $1742 & 2147483647; + HEAP32[$1741>>2] = $1743; + $1744 = HEAP32[$pParse>>2]|0; $1745 = HEAP32[$yymsp>>2]|0; - $1746 = ((($1745)) + 4|0); - $1747 = HEAP32[$yymsp>>2]|0; - $1748 = ((($1747)) + -16|0); - $1749 = ((($1748)) + 4|0); - _spanUnaryPrefix($1738,$1739,$1744,$1746,$1749); + $1746 = ((($1745)) + -32|0); + $1747 = ((($1746)) + 4|0); + $1748 = HEAP32[$1747>>2]|0; + $1749 = (_sqlite3ExprListAppend($1744,0,$1748)|0); + HEAP32[$pList8>>2] = $1749; + $1750 = HEAP32[$pParse>>2]|0; + $1751 = HEAP32[$pList8>>2]|0; + $1752 = HEAP32[$yymsp>>2]|0; + $1753 = ((($1752)) + -64|0); + $1754 = ((($1753)) + 4|0); + $1755 = HEAP32[$1754>>2]|0; + $1756 = (_sqlite3ExprListAppend($1750,$1751,$1755)|0); + HEAP32[$pList8>>2] = $1756; + $1757 = HEAP32[$pParse>>2]|0; + $1758 = HEAP32[$pList8>>2]|0; + $1759 = HEAP32[$yymsp>>2]|0; + $1760 = ((($1759)) + 4|0); + $1761 = HEAP32[$1760>>2]|0; + $1762 = (_sqlite3ExprListAppend($1757,$1758,$1761)|0); + HEAP32[$pList8>>2] = $1762; + $1763 = HEAP32[$pParse>>2]|0; + $1764 = HEAP32[$pList8>>2]|0; + $1765 = HEAP32[$yymsp>>2]|0; + $1766 = ((($1765)) + -48|0); + $1767 = ((($1766)) + 4|0); + $1768 = (_sqlite3ExprFunction($1763,$1764,$1767)|0); + $1769 = HEAP32[$yymsp>>2]|0; + $1770 = ((($1769)) + -64|0); + $1771 = ((($1770)) + 4|0); + HEAP32[$1771>>2] = $1768; + $1772 = HEAP32[$pParse>>2]|0; + $1773 = HEAP32[$bNot9>>2]|0; + $1774 = HEAP32[$yymsp>>2]|0; + $1775 = ((($1774)) + -64|0); + $1776 = ((($1775)) + 4|0); + _exprNot($1772,$1773,$1776); + $1777 = HEAP32[$yymsp>>2]|0; + $1778 = ((($1777)) + 4|0); + $1779 = ((($1778)) + 8|0); + $1780 = HEAP32[$1779>>2]|0; + $1781 = HEAP32[$yymsp>>2]|0; + $1782 = ((($1781)) + -64|0); + $1783 = ((($1782)) + 4|0); + $1784 = ((($1783)) + 8|0); + HEAP32[$1784>>2] = $1780; + $1785 = HEAP32[$yymsp>>2]|0; + $1786 = ((($1785)) + -64|0); + $1787 = ((($1786)) + 4|0); + $1788 = HEAP32[$1787>>2]|0; + $1789 = ($1788|0)!=(0|0); + if ($1789) { + $1790 = HEAP32[$yymsp>>2]|0; + $1791 = ((($1790)) + -64|0); + $1792 = ((($1791)) + 4|0); + $1793 = HEAP32[$1792>>2]|0; + $1794 = ((($1793)) + 4|0); + $1795 = HEAP32[$1794>>2]|0; + $1796 = $1795 | 128; + HEAP32[$1794>>2] = $1796; + } + break; + } + case 178: { + $1797 = HEAP32[$pParse>>2]|0; + $1798 = HEAP32[$yymsp>>2]|0; + $1799 = ((($1798)) + 2|0); + $1800 = HEAP8[$1799>>0]|0; + $1801 = $1800&255; + $1802 = HEAP32[$yymsp>>2]|0; + $1803 = ((($1802)) + -16|0); + $1804 = ((($1803)) + 4|0); + $1805 = HEAP32[$yymsp>>2]|0; + $1806 = ((($1805)) + 4|0); + _spanUnaryPostfix($1797,$1801,$1804,$1806); + break; + } + case 179: { + $1807 = HEAP32[$pParse>>2]|0; + $1808 = HEAP32[$yymsp>>2]|0; + $1809 = ((($1808)) + -32|0); + $1810 = ((($1809)) + 4|0); + $1811 = HEAP32[$yymsp>>2]|0; + $1812 = ((($1811)) + 4|0); + _spanUnaryPostfix($1807,35,$1810,$1812); break; } case 180: { - $1750 = HEAP32[$yymsp>>2]|0; - $1751 = ((($1750)) + -16|0); - $1752 = ((($1751)) + 4|0); - $1753 = HEAP32[$pParse>>2]|0; - $1754 = HEAP32[$yymsp>>2]|0; - $1755 = ((($1754)) + 4|0); - $1756 = HEAP32[$yymsp>>2]|0; - $1757 = ((($1756)) + -16|0); - $1758 = ((($1757)) + 4|0); - _spanUnaryPrefix($1752,$1753,155,$1755,$1758); + $1813 = HEAP32[$pParse>>2]|0; + $1814 = HEAP32[$yymsp>>2]|0; + $1815 = ((($1814)) + -32|0); + $1816 = ((($1815)) + 4|0); + $1817 = HEAP32[$yymsp>>2]|0; + $1818 = ((($1817)) + 4|0); + _spanBinaryExpr($1813,29,$1816,$1818); + $1819 = HEAP32[$pParse>>2]|0; + $1820 = HEAP32[$yymsp>>2]|0; + $1821 = ((($1820)) + 4|0); + $1822 = HEAP32[$1821>>2]|0; + $1823 = HEAP32[$yymsp>>2]|0; + $1824 = ((($1823)) + -32|0); + $1825 = ((($1824)) + 4|0); + $1826 = HEAP32[$1825>>2]|0; + _binaryToUnaryIfNull($1819,$1822,$1826,34); break; } case 181: { - $1759 = HEAP32[$yymsp>>2]|0; - $1760 = ((($1759)) + -16|0); - $1761 = ((($1760)) + 4|0); - $1762 = HEAP32[$pParse>>2]|0; - $1763 = HEAP32[$yymsp>>2]|0; - $1764 = ((($1763)) + 4|0); - $1765 = HEAP32[$yymsp>>2]|0; - $1766 = ((($1765)) + -16|0); - $1767 = ((($1766)) + 4|0); - _spanUnaryPrefix($1761,$1762,156,$1764,$1767); + $1827 = HEAP32[$pParse>>2]|0; + $1828 = HEAP32[$yymsp>>2]|0; + $1829 = ((($1828)) + -48|0); + $1830 = ((($1829)) + 4|0); + $1831 = HEAP32[$yymsp>>2]|0; + $1832 = ((($1831)) + 4|0); + _spanBinaryExpr($1827,148,$1830,$1832); + $1833 = HEAP32[$pParse>>2]|0; + $1834 = HEAP32[$yymsp>>2]|0; + $1835 = ((($1834)) + 4|0); + $1836 = HEAP32[$1835>>2]|0; + $1837 = HEAP32[$yymsp>>2]|0; + $1838 = ((($1837)) + -48|0); + $1839 = ((($1838)) + 4|0); + $1840 = HEAP32[$1839>>2]|0; + _binaryToUnaryIfNull($1833,$1836,$1840,35); + break; + } + case 183: case 182: { + $1841 = HEAP32[$yymsp>>2]|0; + $1842 = ((($1841)) + -16|0); + $1843 = ((($1842)) + 4|0); + $1844 = HEAP32[$pParse>>2]|0; + $1845 = HEAP32[$yymsp>>2]|0; + $1846 = ((($1845)) + -16|0); + $1847 = ((($1846)) + 2|0); + $1848 = HEAP8[$1847>>0]|0; + $1849 = $1848&255; + $1850 = HEAP32[$yymsp>>2]|0; + $1851 = ((($1850)) + 4|0); + $1852 = HEAP32[$yymsp>>2]|0; + $1853 = ((($1852)) + -16|0); + $1854 = ((($1853)) + 4|0); + _spanUnaryPrefix($1843,$1844,$1849,$1851,$1854); break; } - case 185: case 182: { - $1768 = HEAP32[$yymsp>>2]|0; - $1769 = ((($1768)) + 4|0); - HEAP32[$1769>>2] = 0; + case 184: { + $1855 = HEAP32[$yymsp>>2]|0; + $1856 = ((($1855)) + -16|0); + $1857 = ((($1856)) + 4|0); + $1858 = HEAP32[$pParse>>2]|0; + $1859 = HEAP32[$yymsp>>2]|0; + $1860 = ((($1859)) + 4|0); + $1861 = HEAP32[$yymsp>>2]|0; + $1862 = ((($1861)) + -16|0); + $1863 = ((($1862)) + 4|0); + _spanUnaryPrefix($1857,$1858,155,$1860,$1863); + break; + } + case 185: { + $1864 = HEAP32[$yymsp>>2]|0; + $1865 = ((($1864)) + -16|0); + $1866 = ((($1865)) + 4|0); + $1867 = HEAP32[$pParse>>2]|0; + $1868 = HEAP32[$yymsp>>2]|0; + $1869 = ((($1868)) + 4|0); + $1870 = HEAP32[$yymsp>>2]|0; + $1871 = ((($1870)) + -16|0); + $1872 = ((($1871)) + 4|0); + _spanUnaryPrefix($1866,$1867,156,$1869,$1872); + break; + } + case 189: case 186: { + $1873 = HEAP32[$yymsp>>2]|0; + $1874 = ((($1873)) + 4|0); + HEAP32[$1874>>2] = 0; break; } - case 184: { - $1770 = HEAP32[$pParse>>2]|0; - $1771 = HEAP32[$yymsp>>2]|0; - $1772 = ((($1771)) + -32|0); - $1773 = ((($1772)) + 4|0); - $1774 = HEAP32[$1773>>2]|0; - $1775 = (_sqlite3ExprListAppend($1770,0,$1774)|0); - HEAP32[$pList8>>2] = $1775; - $1776 = HEAP32[$pParse>>2]|0; - $1777 = HEAP32[$pList8>>2]|0; - $1778 = HEAP32[$yymsp>>2]|0; - $1779 = ((($1778)) + 4|0); - $1780 = HEAP32[$1779>>2]|0; - $1781 = (_sqlite3ExprListAppend($1776,$1777,$1780)|0); - HEAP32[$pList8>>2] = $1781; - $1782 = HEAP32[$pParse>>2]|0; - $1783 = HEAP32[$yymsp>>2]|0; - $1784 = ((($1783)) + -64|0); - $1785 = ((($1784)) + 4|0); - $1786 = HEAP32[$1785>>2]|0; - $1787 = (_sqlite3PExpr($1782,32,$1786,0,0)|0); - $1788 = HEAP32[$yymsp>>2]|0; - $1789 = ((($1788)) + -64|0); - $1790 = ((($1789)) + 4|0); - HEAP32[$1790>>2] = $1787; - $1791 = HEAP32[$yymsp>>2]|0; - $1792 = ((($1791)) + -64|0); - $1793 = ((($1792)) + 4|0); - $1794 = HEAP32[$1793>>2]|0; - $1795 = ($1794|0)!=(0|0); - if ($1795) { - $1796 = HEAP32[$pList8>>2]|0; - $1797 = HEAP32[$yymsp>>2]|0; - $1798 = ((($1797)) + -64|0); - $1799 = ((($1798)) + 4|0); - $1800 = HEAP32[$1799>>2]|0; - $1801 = ((($1800)) + 20|0); - HEAP32[$1801>>2] = $1796; + case 188: { + $1875 = HEAP32[$pParse>>2]|0; + $1876 = HEAP32[$yymsp>>2]|0; + $1877 = ((($1876)) + -32|0); + $1878 = ((($1877)) + 4|0); + $1879 = HEAP32[$1878>>2]|0; + $1880 = (_sqlite3ExprListAppend($1875,0,$1879)|0); + HEAP32[$pList10>>2] = $1880; + $1881 = HEAP32[$pParse>>2]|0; + $1882 = HEAP32[$pList10>>2]|0; + $1883 = HEAP32[$yymsp>>2]|0; + $1884 = ((($1883)) + 4|0); + $1885 = HEAP32[$1884>>2]|0; + $1886 = (_sqlite3ExprListAppend($1881,$1882,$1885)|0); + HEAP32[$pList10>>2] = $1886; + $1887 = HEAP32[$pParse>>2]|0; + $1888 = HEAP32[$yymsp>>2]|0; + $1889 = ((($1888)) + -64|0); + $1890 = ((($1889)) + 4|0); + $1891 = HEAP32[$1890>>2]|0; + $1892 = (_sqlite3PExpr($1887,32,$1891,0,0)|0); + $1893 = HEAP32[$yymsp>>2]|0; + $1894 = ((($1893)) + -64|0); + $1895 = ((($1894)) + 4|0); + HEAP32[$1895>>2] = $1892; + $1896 = HEAP32[$yymsp>>2]|0; + $1897 = ((($1896)) + -64|0); + $1898 = ((($1897)) + 4|0); + $1899 = HEAP32[$1898>>2]|0; + $1900 = ($1899|0)!=(0|0); + if ($1900) { + $1901 = HEAP32[$pList10>>2]|0; + $1902 = HEAP32[$yymsp>>2]|0; + $1903 = ((($1902)) + -64|0); + $1904 = ((($1903)) + 4|0); + $1905 = HEAP32[$1904>>2]|0; + $1906 = ((($1905)) + 20|0); + HEAP32[$1906>>2] = $1901; } else { - $1802 = HEAP32[$pParse>>2]|0; - $1803 = HEAP32[$1802>>2]|0; - $1804 = HEAP32[$pList8>>2]|0; - _sqlite3ExprListDelete($1803,$1804); - } - $1805 = HEAP32[$pParse>>2]|0; - $1806 = HEAP32[$yymsp>>2]|0; - $1807 = ((($1806)) + -48|0); - $1808 = ((($1807)) + 4|0); - $1809 = HEAP32[$1808>>2]|0; - $1810 = HEAP32[$yymsp>>2]|0; - $1811 = ((($1810)) + -64|0); - $1812 = ((($1811)) + 4|0); - _exprNot($1805,$1809,$1812); - $1813 = HEAP32[$yymsp>>2]|0; - $1814 = ((($1813)) + 4|0); - $1815 = ((($1814)) + 8|0); - $1816 = HEAP32[$1815>>2]|0; - $1817 = HEAP32[$yymsp>>2]|0; - $1818 = ((($1817)) + -64|0); - $1819 = ((($1818)) + 4|0); - $1820 = ((($1819)) + 8|0); - HEAP32[$1820>>2] = $1816; - break; - } - case 187: { - $1821 = HEAP32[$yymsp>>2]|0; - $1822 = ((($1821)) + -16|0); - $1823 = ((($1822)) + 4|0); - $1824 = HEAP32[$1823>>2]|0; - $1825 = ($1824|0)==(0|0); + $1907 = HEAP32[$pParse>>2]|0; + $1908 = HEAP32[$1907>>2]|0; + $1909 = HEAP32[$pList10>>2]|0; + _sqlite3ExprListDelete($1908,$1909); + } + $1910 = HEAP32[$pParse>>2]|0; + $1911 = HEAP32[$yymsp>>2]|0; + $1912 = ((($1911)) + -48|0); + $1913 = ((($1912)) + 4|0); + $1914 = HEAP32[$1913>>2]|0; + $1915 = HEAP32[$yymsp>>2]|0; + $1916 = ((($1915)) + -64|0); + $1917 = ((($1916)) + 4|0); + _exprNot($1910,$1914,$1917); + $1918 = HEAP32[$yymsp>>2]|0; + $1919 = ((($1918)) + 4|0); + $1920 = ((($1919)) + 8|0); + $1921 = HEAP32[$1920>>2]|0; + $1922 = HEAP32[$yymsp>>2]|0; + $1923 = ((($1922)) + -64|0); + $1924 = ((($1923)) + 4|0); + $1925 = ((($1924)) + 8|0); + HEAP32[$1925>>2] = $1921; + break; + } + case 191: { + $1926 = HEAP32[$yymsp>>2]|0; + $1927 = ((($1926)) + -16|0); + $1928 = ((($1927)) + 4|0); + $1929 = HEAP32[$1928>>2]|0; + $1930 = ($1929|0)==(0|0); do { - if ($1825) { - $1826 = HEAP32[$pParse>>2]|0; - $1827 = HEAP32[$1826>>2]|0; - $1828 = HEAP32[$yymsp>>2]|0; - $1829 = ((($1828)) + -64|0); - $1830 = ((($1829)) + 4|0); - $1831 = HEAP32[$1830>>2]|0; - _sqlite3ExprDelete($1827,$1831); - $1832 = HEAP32[$pParse>>2]|0; - $1833 = HEAP32[$yymsp>>2]|0; - $1834 = ((($1833)) + -48|0); - $1835 = ((($1834)) + 4|0); - $1836 = HEAP32[$1835>>2]|0; - $1837 = (5116 + ($1836<<3)|0); - $1838 = (_sqlite3PExpr($1832,132,0,0,$1837)|0); - $1839 = HEAP32[$yymsp>>2]|0; - $1840 = ((($1839)) + -64|0); - $1841 = ((($1840)) + 4|0); - HEAP32[$1841>>2] = $1838; + if ($1930) { + $1931 = HEAP32[$pParse>>2]|0; + $1932 = HEAP32[$1931>>2]|0; + $1933 = HEAP32[$yymsp>>2]|0; + $1934 = ((($1933)) + -64|0); + $1935 = ((($1934)) + 4|0); + $1936 = HEAP32[$1935>>2]|0; + _sqlite3ExprDelete($1932,$1936); + $1937 = HEAP32[$pParse>>2]|0; + $1938 = HEAP32[$yymsp>>2]|0; + $1939 = ((($1938)) + -48|0); + $1940 = ((($1939)) + 4|0); + $1941 = HEAP32[$1940>>2]|0; + $1942 = (4276 + ($1941<<3)|0); + $1943 = (_sqlite3PExpr($1937,134,0,0,$1942)|0); + $1944 = HEAP32[$yymsp>>2]|0; + $1945 = ((($1944)) + -64|0); + $1946 = ((($1945)) + 4|0); + HEAP32[$1946>>2] = $1943; } else { - $1842 = HEAP32[$yymsp>>2]|0; - $1843 = ((($1842)) + -16|0); - $1844 = ((($1843)) + 4|0); - $1845 = HEAP32[$1844>>2]|0; - $1846 = HEAP32[$1845>>2]|0; - $1847 = ($1846|0)==(1); - if ($1847) { - $1848 = HEAP32[$yymsp>>2]|0; - $1849 = ((($1848)) + -16|0); - $1850 = ((($1849)) + 4|0); - $1851 = HEAP32[$1850>>2]|0; - $1852 = ((($1851)) + 4|0); - $1853 = HEAP32[$1852>>2]|0; - $1854 = HEAP32[$1853>>2]|0; - HEAP32[$pRHS>>2] = $1854; - $1855 = HEAP32[$yymsp>>2]|0; - $1856 = ((($1855)) + -16|0); - $1857 = ((($1856)) + 4|0); - $1858 = HEAP32[$1857>>2]|0; - $1859 = ((($1858)) + 4|0); - $1860 = HEAP32[$1859>>2]|0; - HEAP32[$1860>>2] = 0; - $1861 = HEAP32[$pParse>>2]|0; - $1862 = HEAP32[$1861>>2]|0; - $1863 = HEAP32[$yymsp>>2]|0; - $1864 = ((($1863)) + -16|0); - $1865 = ((($1864)) + 4|0); - $1866 = HEAP32[$1865>>2]|0; - _sqlite3ExprListDelete($1862,$1866); - $1867 = HEAP32[$pRHS>>2]|0; - $1868 = ($1867|0)!=(0|0); - if ($1868) { - $1869 = HEAP32[$pRHS>>2]|0; - $1870 = ((($1869)) + 4|0); - $1871 = HEAP32[$1870>>2]|0; - $1872 = $1871 & -257; - HEAP32[$1870>>2] = $1872; - $1873 = HEAP32[$pRHS>>2]|0; - $1874 = ((($1873)) + 4|0); - $1875 = HEAP32[$1874>>2]|0; - $1876 = $1875 | 512; - HEAP32[$1874>>2] = $1876; + $1947 = HEAP32[$yymsp>>2]|0; + $1948 = ((($1947)) + -16|0); + $1949 = ((($1948)) + 4|0); + $1950 = HEAP32[$1949>>2]|0; + $1951 = HEAP32[$1950>>2]|0; + $1952 = ($1951|0)==(1); + if ($1952) { + $1953 = HEAP32[$yymsp>>2]|0; + $1954 = ((($1953)) + -16|0); + $1955 = ((($1954)) + 4|0); + $1956 = HEAP32[$1955>>2]|0; + $1957 = ((($1956)) + 4|0); + $1958 = HEAP32[$1957>>2]|0; + $1959 = HEAP32[$1958>>2]|0; + HEAP32[$pRHS>>2] = $1959; + $1960 = HEAP32[$yymsp>>2]|0; + $1961 = ((($1960)) + -16|0); + $1962 = ((($1961)) + 4|0); + $1963 = HEAP32[$1962>>2]|0; + $1964 = ((($1963)) + 4|0); + $1965 = HEAP32[$1964>>2]|0; + HEAP32[$1965>>2] = 0; + $1966 = HEAP32[$pParse>>2]|0; + $1967 = HEAP32[$1966>>2]|0; + $1968 = HEAP32[$yymsp>>2]|0; + $1969 = ((($1968)) + -16|0); + $1970 = ((($1969)) + 4|0); + $1971 = HEAP32[$1970>>2]|0; + _sqlite3ExprListDelete($1967,$1971); + $1972 = HEAP32[$pRHS>>2]|0; + $1973 = ($1972|0)!=(0|0); + if ($1973) { + $1974 = HEAP32[$pRHS>>2]|0; + $1975 = ((($1974)) + 4|0); + $1976 = HEAP32[$1975>>2]|0; + $1977 = $1976 & -257; + HEAP32[$1975>>2] = $1977; + $1978 = HEAP32[$pRHS>>2]|0; + $1979 = ((($1978)) + 4|0); + $1980 = HEAP32[$1979>>2]|0; + $1981 = $1980 | 512; + HEAP32[$1979>>2] = $1981; } - $1877 = HEAP32[$pParse>>2]|0; - $1878 = HEAP32[$yymsp>>2]|0; - $1879 = ((($1878)) + -48|0); - $1880 = ((($1879)) + 4|0); - $1881 = HEAP32[$1880>>2]|0; - $1882 = ($1881|0)!=(0); - $1883 = $1882 ? 36 : 37; - $1884 = HEAP32[$yymsp>>2]|0; - $1885 = ((($1884)) + -64|0); - $1886 = ((($1885)) + 4|0); - $1887 = HEAP32[$1886>>2]|0; - $1888 = HEAP32[$pRHS>>2]|0; - $1889 = (_sqlite3PExpr($1877,$1883,$1887,$1888,0)|0); - $1890 = HEAP32[$yymsp>>2]|0; - $1891 = ((($1890)) + -64|0); - $1892 = ((($1891)) + 4|0); - HEAP32[$1892>>2] = $1889; + $1982 = HEAP32[$pParse>>2]|0; + $1983 = HEAP32[$yymsp>>2]|0; + $1984 = ((($1983)) + -48|0); + $1985 = ((($1984)) + 4|0); + $1986 = HEAP32[$1985>>2]|0; + $1987 = ($1986|0)!=(0); + $1988 = $1987 ? 36 : 37; + $1989 = HEAP32[$yymsp>>2]|0; + $1990 = ((($1989)) + -64|0); + $1991 = ((($1990)) + 4|0); + $1992 = HEAP32[$1991>>2]|0; + $1993 = HEAP32[$pRHS>>2]|0; + $1994 = (_sqlite3PExpr($1982,$1988,$1992,$1993,0)|0); + $1995 = HEAP32[$yymsp>>2]|0; + $1996 = ((($1995)) + -64|0); + $1997 = ((($1996)) + 4|0); + HEAP32[$1997>>2] = $1994; break; } - $1893 = HEAP32[$pParse>>2]|0; - $1894 = HEAP32[$yymsp>>2]|0; - $1895 = ((($1894)) + -64|0); - $1896 = ((($1895)) + 4|0); - $1897 = HEAP32[$1896>>2]|0; - $1898 = (_sqlite3PExpr($1893,33,$1897,0,0)|0); - $1899 = HEAP32[$yymsp>>2]|0; - $1900 = ((($1899)) + -64|0); - $1901 = ((($1900)) + 4|0); - HEAP32[$1901>>2] = $1898; - $1902 = HEAP32[$yymsp>>2]|0; - $1903 = ((($1902)) + -64|0); - $1904 = ((($1903)) + 4|0); - $1905 = HEAP32[$1904>>2]|0; - $1906 = ($1905|0)!=(0|0); - if ($1906) { - $1907 = HEAP32[$yymsp>>2]|0; - $1908 = ((($1907)) + -16|0); - $1909 = ((($1908)) + 4|0); - $1910 = HEAP32[$1909>>2]|0; - $1911 = HEAP32[$yymsp>>2]|0; - $1912 = ((($1911)) + -64|0); - $1913 = ((($1912)) + 4|0); - $1914 = HEAP32[$1913>>2]|0; - $1915 = ((($1914)) + 20|0); - HEAP32[$1915>>2] = $1910; - $1916 = HEAP32[$pParse>>2]|0; - $1917 = HEAP32[$yymsp>>2]|0; - $1918 = ((($1917)) + -64|0); - $1919 = ((($1918)) + 4|0); - $1920 = HEAP32[$1919>>2]|0; - _sqlite3ExprSetHeightAndFlags($1916,$1920); + $1998 = HEAP32[$pParse>>2]|0; + $1999 = HEAP32[$yymsp>>2]|0; + $2000 = ((($1999)) + -64|0); + $2001 = ((($2000)) + 4|0); + $2002 = HEAP32[$2001>>2]|0; + $2003 = (_sqlite3PExpr($1998,33,$2002,0,0)|0); + $2004 = HEAP32[$yymsp>>2]|0; + $2005 = ((($2004)) + -64|0); + $2006 = ((($2005)) + 4|0); + HEAP32[$2006>>2] = $2003; + $2007 = HEAP32[$yymsp>>2]|0; + $2008 = ((($2007)) + -64|0); + $2009 = ((($2008)) + 4|0); + $2010 = HEAP32[$2009>>2]|0; + $2011 = ($2010|0)!=(0|0); + if ($2011) { + $2012 = HEAP32[$yymsp>>2]|0; + $2013 = ((($2012)) + -16|0); + $2014 = ((($2013)) + 4|0); + $2015 = HEAP32[$2014>>2]|0; + $2016 = HEAP32[$yymsp>>2]|0; + $2017 = ((($2016)) + -64|0); + $2018 = ((($2017)) + 4|0); + $2019 = HEAP32[$2018>>2]|0; + $2020 = ((($2019)) + 20|0); + HEAP32[$2020>>2] = $2015; + $2021 = HEAP32[$pParse>>2]|0; + $2022 = HEAP32[$yymsp>>2]|0; + $2023 = ((($2022)) + -64|0); + $2024 = ((($2023)) + 4|0); + $2025 = HEAP32[$2024>>2]|0; + _sqlite3ExprSetHeightAndFlags($2021,$2025); } else { - $1921 = HEAP32[$pParse>>2]|0; - $1922 = HEAP32[$1921>>2]|0; - $1923 = HEAP32[$yymsp>>2]|0; - $1924 = ((($1923)) + -16|0); - $1925 = ((($1924)) + 4|0); - $1926 = HEAP32[$1925>>2]|0; - _sqlite3ExprListDelete($1922,$1926); - } - $1927 = HEAP32[$pParse>>2]|0; - $1928 = HEAP32[$yymsp>>2]|0; - $1929 = ((($1928)) + -48|0); - $1930 = ((($1929)) + 4|0); - $1931 = HEAP32[$1930>>2]|0; - $1932 = HEAP32[$yymsp>>2]|0; - $1933 = ((($1932)) + -64|0); - $1934 = ((($1933)) + 4|0); - _exprNot($1927,$1931,$1934); + $2026 = HEAP32[$pParse>>2]|0; + $2027 = HEAP32[$2026>>2]|0; + $2028 = HEAP32[$yymsp>>2]|0; + $2029 = ((($2028)) + -16|0); + $2030 = ((($2029)) + 4|0); + $2031 = HEAP32[$2030>>2]|0; + _sqlite3ExprListDelete($2027,$2031); + } + $2032 = HEAP32[$pParse>>2]|0; + $2033 = HEAP32[$yymsp>>2]|0; + $2034 = ((($2033)) + -48|0); + $2035 = ((($2034)) + 4|0); + $2036 = HEAP32[$2035>>2]|0; + $2037 = HEAP32[$yymsp>>2]|0; + $2038 = ((($2037)) + -64|0); + $2039 = ((($2038)) + 4|0); + _exprNot($2032,$2036,$2039); } } while(0); - $1935 = HEAP32[$yymsp>>2]|0; - $1936 = ((($1935)) + 4|0); - $1937 = ((($1936)) + 4|0); - $1938 = HEAP32[$1937>>2]|0; - $1939 = HEAP32[$yymsp>>2]|0; - $1940 = ((($1939)) + 4|0); - $1941 = HEAP32[$1940>>2]|0; - $1942 = (($1941) + ($1938)|0); - $1943 = HEAP32[$yymsp>>2]|0; - $1944 = ((($1943)) + -64|0); - $1945 = ((($1944)) + 4|0); - $1946 = ((($1945)) + 8|0); - HEAP32[$1946>>2] = $1942; - break; - } - case 188: { - $1947 = HEAP32[$yymsp>>2]|0; - $1948 = ((($1947)) + -32|0); - $1949 = ((($1948)) + 4|0); - $1950 = HEAP32[$yymsp>>2]|0; - $1951 = ((($1950)) + -32|0); - $1952 = ((($1951)) + 4|0); - $1953 = HEAP32[$yymsp>>2]|0; - $1954 = ((($1953)) + 4|0); - _spanSet($1949,$1952,$1954); - $1955 = HEAP32[$pParse>>2]|0; - $1956 = (_sqlite3PExpr($1955,119,0,0,0)|0); - $1957 = HEAP32[$yymsp>>2]|0; - $1958 = ((($1957)) + -32|0); - $1959 = ((($1958)) + 4|0); - HEAP32[$1959>>2] = $1956; - $1960 = HEAP32[$pParse>>2]|0; - $1961 = HEAP32[$yymsp>>2]|0; - $1962 = ((($1961)) + -32|0); - $1963 = ((($1962)) + 4|0); - $1964 = HEAP32[$1963>>2]|0; - $1965 = HEAP32[$yymsp>>2]|0; - $1966 = ((($1965)) + -16|0); - $1967 = ((($1966)) + 4|0); - $1968 = HEAP32[$1967>>2]|0; - _sqlite3PExprAddSelect($1960,$1964,$1968); - break; - } - case 189: { - $1969 = HEAP32[$pParse>>2]|0; - $1970 = HEAP32[$yymsp>>2]|0; - $1971 = ((($1970)) + -64|0); - $1972 = ((($1971)) + 4|0); - $1973 = HEAP32[$1972>>2]|0; - $1974 = (_sqlite3PExpr($1969,33,$1973,0,0)|0); - $1975 = HEAP32[$yymsp>>2]|0; - $1976 = ((($1975)) + -64|0); - $1977 = ((($1976)) + 4|0); - HEAP32[$1977>>2] = $1974; - $1978 = HEAP32[$pParse>>2]|0; - $1979 = HEAP32[$yymsp>>2]|0; - $1980 = ((($1979)) + -64|0); - $1981 = ((($1980)) + 4|0); - $1982 = HEAP32[$1981>>2]|0; - $1983 = HEAP32[$yymsp>>2]|0; - $1984 = ((($1983)) + -16|0); - $1985 = ((($1984)) + 4|0); - $1986 = HEAP32[$1985>>2]|0; - _sqlite3PExprAddSelect($1978,$1982,$1986); - $1987 = HEAP32[$pParse>>2]|0; - $1988 = HEAP32[$yymsp>>2]|0; - $1989 = ((($1988)) + -48|0); - $1990 = ((($1989)) + 4|0); - $1991 = HEAP32[$1990>>2]|0; - $1992 = HEAP32[$yymsp>>2]|0; - $1993 = ((($1992)) + -64|0); - $1994 = ((($1993)) + 4|0); - _exprNot($1987,$1991,$1994); - $1995 = HEAP32[$yymsp>>2]|0; - $1996 = ((($1995)) + 4|0); - $1997 = ((($1996)) + 4|0); - $1998 = HEAP32[$1997>>2]|0; - $1999 = HEAP32[$yymsp>>2]|0; - $2000 = ((($1999)) + 4|0); - $2001 = HEAP32[$2000>>2]|0; - $2002 = (($2001) + ($1998)|0); - $2003 = HEAP32[$yymsp>>2]|0; - $2004 = ((($2003)) + -64|0); - $2005 = ((($2004)) + 4|0); - $2006 = ((($2005)) + 8|0); - HEAP32[$2006>>2] = $2002; - break; - } - case 190: { - $2007 = HEAP32[$pParse>>2]|0; - $2008 = HEAP32[$2007>>2]|0; - $2009 = HEAP32[$yymsp>>2]|0; - $2010 = ((($2009)) + -16|0); - $2011 = ((($2010)) + 4|0); - $2012 = HEAP32[$yymsp>>2]|0; - $2013 = ((($2012)) + 4|0); - $2014 = (_sqlite3SrcListAppend($2008,0,$2011,$2013)|0); - HEAP32[$pSrc>>2] = $2014; - $2015 = HEAP32[$pParse>>2]|0; - $2016 = HEAP32[$pSrc>>2]|0; - $2017 = (_sqlite3SelectNew($2015,0,$2016,0,0,0,0,0,0,0)|0); - HEAP32[$pSelect>>2] = $2017; - $2018 = HEAP32[$pParse>>2]|0; - $2019 = HEAP32[$yymsp>>2]|0; - $2020 = ((($2019)) + -48|0); - $2021 = ((($2020)) + 4|0); - $2022 = HEAP32[$2021>>2]|0; - $2023 = (_sqlite3PExpr($2018,33,$2022,0,0)|0); - $2024 = HEAP32[$yymsp>>2]|0; - $2025 = ((($2024)) + -48|0); - $2026 = ((($2025)) + 4|0); - HEAP32[$2026>>2] = $2023; - $2027 = HEAP32[$pParse>>2]|0; - $2028 = HEAP32[$yymsp>>2]|0; - $2029 = ((($2028)) + -48|0); - $2030 = ((($2029)) + 4|0); - $2031 = HEAP32[$2030>>2]|0; - $2032 = HEAP32[$pSelect>>2]|0; - _sqlite3PExprAddSelect($2027,$2031,$2032); - $2033 = HEAP32[$pParse>>2]|0; - $2034 = HEAP32[$yymsp>>2]|0; - $2035 = ((($2034)) + -32|0); - $2036 = ((($2035)) + 4|0); - $2037 = HEAP32[$2036>>2]|0; - $2038 = HEAP32[$yymsp>>2]|0; - $2039 = ((($2038)) + -48|0); - $2040 = ((($2039)) + 4|0); - _exprNot($2033,$2037,$2040); - $2041 = HEAP32[$yymsp>>2]|0; + $2040 = HEAP32[$yymsp>>2]|0; + $2041 = ((($2040)) + 4|0); $2042 = ((($2041)) + 4|0); $2043 = HEAP32[$2042>>2]|0; - $2044 = ($2043|0)!=(0|0); - $2045 = HEAP32[$yymsp>>2]|0; - if ($2044) { - $2046 = ((($2045)) + 4|0); - $2047 = ((($2046)) + 4|0); - $2048 = HEAP32[$2047>>2]|0; - $2049 = HEAP32[$yymsp>>2]|0; - $2050 = ((($2049)) + 4|0); - $2051 = HEAP32[$2050>>2]|0; - $2052 = (($2051) + ($2048)|0); - $2066 = $2052; - } else { - $2053 = ((($2045)) + -16|0); - $2054 = ((($2053)) + 4|0); - $2055 = ((($2054)) + 4|0); - $2056 = HEAP32[$2055>>2]|0; - $2057 = HEAP32[$yymsp>>2]|0; - $2058 = ((($2057)) + -16|0); - $2059 = ((($2058)) + 4|0); - $2060 = HEAP32[$2059>>2]|0; - $2061 = (($2060) + ($2056)|0); - $2066 = $2061; - } - $2062 = HEAP32[$yymsp>>2]|0; - $2063 = ((($2062)) + -48|0); - $2064 = ((($2063)) + 4|0); - $2065 = ((($2064)) + 8|0); - HEAP32[$2065>>2] = $2066; + $2044 = HEAP32[$yymsp>>2]|0; + $2045 = ((($2044)) + 4|0); + $2046 = HEAP32[$2045>>2]|0; + $2047 = (($2046) + ($2043)|0); + $2048 = HEAP32[$yymsp>>2]|0; + $2049 = ((($2048)) + -64|0); + $2050 = ((($2049)) + 4|0); + $2051 = ((($2050)) + 8|0); + HEAP32[$2051>>2] = $2047; break; } - case 191: { - $2067 = HEAP32[$yymsp>>2]|0; - $2068 = ((($2067)) + -48|0); - $2069 = ((($2068)) + 4|0); + case 192: { + $2052 = HEAP32[$yymsp>>2]|0; + $2053 = ((($2052)) + -32|0); + $2054 = ((($2053)) + 4|0); + $2055 = HEAP32[$yymsp>>2]|0; + $2056 = ((($2055)) + -32|0); + $2057 = ((($2056)) + 4|0); + $2058 = HEAP32[$yymsp>>2]|0; + $2059 = ((($2058)) + 4|0); + _spanSet($2054,$2057,$2059); + $2060 = HEAP32[$pParse>>2]|0; + $2061 = (_sqlite3PExpr($2060,119,0,0,0)|0); + $2062 = HEAP32[$yymsp>>2]|0; + $2063 = ((($2062)) + -32|0); + $2064 = ((($2063)) + 4|0); + HEAP32[$2064>>2] = $2061; + $2065 = HEAP32[$pParse>>2]|0; + $2066 = HEAP32[$yymsp>>2]|0; + $2067 = ((($2066)) + -32|0); + $2068 = ((($2067)) + 4|0); + $2069 = HEAP32[$2068>>2]|0; $2070 = HEAP32[$yymsp>>2]|0; - $2071 = ((($2070)) + -48|0); + $2071 = ((($2070)) + -16|0); $2072 = ((($2071)) + 4|0); - $2073 = HEAP32[$yymsp>>2]|0; - $2074 = ((($2073)) + 4|0); - _spanSet($2069,$2072,$2074); - $2075 = HEAP32[$pParse>>2]|0; - $2076 = (_sqlite3PExpr($2075,20,0,0,0)|0); - $2077 = HEAP32[$yymsp>>2]|0; - $2078 = ((($2077)) + -48|0); - $2079 = ((($2078)) + 4|0); - HEAP32[$2079>>2] = $2076; - HEAP32[$p9>>2] = $2076; - $2080 = HEAP32[$pParse>>2]|0; - $2081 = HEAP32[$p9>>2]|0; - $2082 = HEAP32[$yymsp>>2]|0; - $2083 = ((($2082)) + -16|0); - $2084 = ((($2083)) + 4|0); - $2085 = HEAP32[$2084>>2]|0; - _sqlite3PExprAddSelect($2080,$2081,$2085); + $2073 = HEAP32[$2072>>2]|0; + _sqlite3PExprAddSelect($2065,$2069,$2073); break; } - case 192: { - $2086 = HEAP32[$yymsp>>2]|0; - $2087 = ((($2086)) + -64|0); - $2088 = ((($2087)) + 4|0); - $2089 = HEAP32[$yymsp>>2]|0; - $2090 = ((($2089)) + -64|0); - $2091 = ((($2090)) + 4|0); - $2092 = HEAP32[$yymsp>>2]|0; - $2093 = ((($2092)) + 4|0); - _spanSet($2088,$2091,$2093); - $2094 = HEAP32[$pParse>>2]|0; - $2095 = HEAP32[$yymsp>>2]|0; - $2096 = ((($2095)) + -48|0); - $2097 = ((($2096)) + 4|0); - $2098 = HEAP32[$2097>>2]|0; - $2099 = (_sqlite3PExpr($2094,136,$2098,0,0)|0); + case 193: { + $2074 = HEAP32[$pParse>>2]|0; + $2075 = HEAP32[$yymsp>>2]|0; + $2076 = ((($2075)) + -64|0); + $2077 = ((($2076)) + 4|0); + $2078 = HEAP32[$2077>>2]|0; + $2079 = (_sqlite3PExpr($2074,33,$2078,0,0)|0); + $2080 = HEAP32[$yymsp>>2]|0; + $2081 = ((($2080)) + -64|0); + $2082 = ((($2081)) + 4|0); + HEAP32[$2082>>2] = $2079; + $2083 = HEAP32[$pParse>>2]|0; + $2084 = HEAP32[$yymsp>>2]|0; + $2085 = ((($2084)) + -64|0); + $2086 = ((($2085)) + 4|0); + $2087 = HEAP32[$2086>>2]|0; + $2088 = HEAP32[$yymsp>>2]|0; + $2089 = ((($2088)) + -16|0); + $2090 = ((($2089)) + 4|0); + $2091 = HEAP32[$2090>>2]|0; + _sqlite3PExprAddSelect($2083,$2087,$2091); + $2092 = HEAP32[$pParse>>2]|0; + $2093 = HEAP32[$yymsp>>2]|0; + $2094 = ((($2093)) + -48|0); + $2095 = ((($2094)) + 4|0); + $2096 = HEAP32[$2095>>2]|0; + $2097 = HEAP32[$yymsp>>2]|0; + $2098 = ((($2097)) + -64|0); + $2099 = ((($2098)) + 4|0); + _exprNot($2092,$2096,$2099); $2100 = HEAP32[$yymsp>>2]|0; - $2101 = ((($2100)) + -64|0); + $2101 = ((($2100)) + 4|0); $2102 = ((($2101)) + 4|0); - HEAP32[$2102>>2] = $2099; - $2103 = HEAP32[$yymsp>>2]|0; - $2104 = ((($2103)) + -64|0); + $2103 = HEAP32[$2102>>2]|0; + $2104 = HEAP32[$yymsp>>2]|0; $2105 = ((($2104)) + 4|0); $2106 = HEAP32[$2105>>2]|0; - $2107 = ($2106|0)!=(0|0); - if (!($2107)) { - $2138 = HEAP32[$pParse>>2]|0; - $2139 = HEAP32[$2138>>2]|0; - $2140 = HEAP32[$yymsp>>2]|0; - $2141 = ((($2140)) + -32|0); - $2142 = ((($2141)) + 4|0); - $2143 = HEAP32[$2142>>2]|0; - _sqlite3ExprListDelete($2139,$2143); - $2144 = HEAP32[$pParse>>2]|0; - $2145 = HEAP32[$2144>>2]|0; - $2146 = HEAP32[$yymsp>>2]|0; - $2147 = ((($2146)) + -16|0); - $2148 = ((($2147)) + 4|0); - $2149 = HEAP32[$2148>>2]|0; - _sqlite3ExprDelete($2145,$2149); - break L6; - } + $2107 = (($2106) + ($2103)|0); $2108 = HEAP32[$yymsp>>2]|0; - $2109 = ((($2108)) + -16|0); + $2109 = ((($2108)) + -64|0); $2110 = ((($2109)) + 4|0); - $2111 = HEAP32[$2110>>2]|0; - $2112 = ($2111|0)!=(0|0); - if ($2112) { - $2113 = HEAP32[$pParse>>2]|0; - $2114 = HEAP32[$yymsp>>2]|0; - $2115 = ((($2114)) + -32|0); - $2116 = ((($2115)) + 4|0); - $2117 = HEAP32[$2116>>2]|0; - $2118 = HEAP32[$yymsp>>2]|0; - $2119 = ((($2118)) + -16|0); - $2120 = ((($2119)) + 4|0); - $2121 = HEAP32[$2120>>2]|0; - $2122 = (_sqlite3ExprListAppend($2113,$2117,$2121)|0); - $2132 = $2122; - } else { - $2123 = HEAP32[$yymsp>>2]|0; - $2124 = ((($2123)) + -32|0); - $2125 = ((($2124)) + 4|0); - $2126 = HEAP32[$2125>>2]|0; - $2132 = $2126; - } - $2127 = HEAP32[$yymsp>>2]|0; - $2128 = ((($2127)) + -64|0); - $2129 = ((($2128)) + 4|0); - $2130 = HEAP32[$2129>>2]|0; - $2131 = ((($2130)) + 20|0); - HEAP32[$2131>>2] = $2132; - $2133 = HEAP32[$pParse>>2]|0; - $2134 = HEAP32[$yymsp>>2]|0; - $2135 = ((($2134)) + -64|0); - $2136 = ((($2135)) + 4|0); - $2137 = HEAP32[$2136>>2]|0; - _sqlite3ExprSetHeightAndFlags($2133,$2137); - break; - } - case 193: { - $2150 = HEAP32[$pParse>>2]|0; - $2151 = HEAP32[$yymsp>>2]|0; - $2152 = ((($2151)) + -64|0); - $2153 = ((($2152)) + 4|0); - $2154 = HEAP32[$2153>>2]|0; - $2155 = HEAP32[$yymsp>>2]|0; - $2156 = ((($2155)) + -32|0); - $2157 = ((($2156)) + 4|0); - $2158 = HEAP32[$2157>>2]|0; - $2159 = (_sqlite3ExprListAppend($2150,$2154,$2158)|0); - $2160 = HEAP32[$yymsp>>2]|0; - $2161 = ((($2160)) + -64|0); - $2162 = ((($2161)) + 4|0); - HEAP32[$2162>>2] = $2159; - $2163 = HEAP32[$pParse>>2]|0; - $2164 = HEAP32[$yymsp>>2]|0; - $2165 = ((($2164)) + -64|0); - $2166 = ((($2165)) + 4|0); - $2167 = HEAP32[$2166>>2]|0; - $2168 = HEAP32[$yymsp>>2]|0; - $2169 = ((($2168)) + 4|0); - $2170 = HEAP32[$2169>>2]|0; - $2171 = (_sqlite3ExprListAppend($2163,$2167,$2170)|0); - $2172 = HEAP32[$yymsp>>2]|0; - $2173 = ((($2172)) + -64|0); - $2174 = ((($2173)) + 4|0); - HEAP32[$2174>>2] = $2171; + $2111 = ((($2110)) + 8|0); + HEAP32[$2111>>2] = $2107; break; } case 194: { - $2175 = HEAP32[$pParse>>2]|0; - $2176 = HEAP32[$yymsp>>2]|0; - $2177 = ((($2176)) + -32|0); - $2178 = ((($2177)) + 4|0); - $2179 = HEAP32[$2178>>2]|0; - $2180 = (_sqlite3ExprListAppend($2175,0,$2179)|0); - $2181 = HEAP32[$yymsp>>2]|0; - $2182 = ((($2181)) + -48|0); - $2183 = ((($2182)) + 4|0); - HEAP32[$2183>>2] = $2180; - $2184 = HEAP32[$pParse>>2]|0; - $2185 = HEAP32[$yymsp>>2]|0; - $2186 = ((($2185)) + -48|0); - $2187 = ((($2186)) + 4|0); - $2188 = HEAP32[$2187>>2]|0; - $2189 = HEAP32[$yymsp>>2]|0; + $2112 = HEAP32[$pParse>>2]|0; + $2113 = HEAP32[$2112>>2]|0; + $2114 = HEAP32[$yymsp>>2]|0; + $2115 = ((($2114)) + -32|0); + $2116 = ((($2115)) + 4|0); + $2117 = HEAP32[$yymsp>>2]|0; + $2118 = ((($2117)) + -16|0); + $2119 = ((($2118)) + 4|0); + $2120 = (_sqlite3SrcListAppend($2113,0,$2116,$2119)|0); + HEAP32[$pSrc>>2] = $2120; + $2121 = HEAP32[$pParse>>2]|0; + $2122 = HEAP32[$pSrc>>2]|0; + $2123 = (_sqlite3SelectNew($2121,0,$2122,0,0,0,0,0,0,0)|0); + HEAP32[$pSelect>>2] = $2123; + $2124 = HEAP32[$yymsp>>2]|0; + $2125 = ((($2124)) + 4|0); + $2126 = HEAP32[$2125>>2]|0; + $2127 = ($2126|0)!=(0|0); + if ($2127) { + $2128 = HEAP32[$pParse>>2]|0; + $2129 = HEAP32[$pSelect>>2]|0; + $2130 = ($2129|0)!=(0|0); + $2131 = HEAP32[$pSrc>>2]|0; + $2132 = $2130 ? $2131 : 0; + $2133 = HEAP32[$yymsp>>2]|0; + $2134 = ((($2133)) + 4|0); + $2135 = HEAP32[$2134>>2]|0; + _sqlite3SrcListFuncArgs($2128,$2132,$2135); + } + $2136 = HEAP32[$pParse>>2]|0; + $2137 = HEAP32[$yymsp>>2]|0; + $2138 = ((($2137)) + -64|0); + $2139 = ((($2138)) + 4|0); + $2140 = HEAP32[$2139>>2]|0; + $2141 = (_sqlite3PExpr($2136,33,$2140,0,0)|0); + $2142 = HEAP32[$yymsp>>2]|0; + $2143 = ((($2142)) + -64|0); + $2144 = ((($2143)) + 4|0); + HEAP32[$2144>>2] = $2141; + $2145 = HEAP32[$pParse>>2]|0; + $2146 = HEAP32[$yymsp>>2]|0; + $2147 = ((($2146)) + -64|0); + $2148 = ((($2147)) + 4|0); + $2149 = HEAP32[$2148>>2]|0; + $2150 = HEAP32[$pSelect>>2]|0; + _sqlite3PExprAddSelect($2145,$2149,$2150); + $2151 = HEAP32[$pParse>>2]|0; + $2152 = HEAP32[$yymsp>>2]|0; + $2153 = ((($2152)) + -48|0); + $2154 = ((($2153)) + 4|0); + $2155 = HEAP32[$2154>>2]|0; + $2156 = HEAP32[$yymsp>>2]|0; + $2157 = ((($2156)) + -64|0); + $2158 = ((($2157)) + 4|0); + _exprNot($2151,$2155,$2158); + $2159 = HEAP32[$yymsp>>2]|0; + $2160 = ((($2159)) + -16|0); + $2161 = ((($2160)) + 4|0); + $2162 = HEAP32[$2161>>2]|0; + $2163 = ($2162|0)!=(0|0); + $2164 = HEAP32[$yymsp>>2]|0; + if ($2163) { + $2165 = ((($2164)) + -16|0); + $2166 = ((($2165)) + 4|0); + $2167 = ((($2166)) + 4|0); + $2168 = HEAP32[$2167>>2]|0; + $2169 = HEAP32[$yymsp>>2]|0; + $2170 = ((($2169)) + -16|0); + $2171 = ((($2170)) + 4|0); + $2172 = HEAP32[$2171>>2]|0; + $2173 = (($2172) + ($2168)|0); + $2187 = $2173; + } else { + $2174 = ((($2164)) + -32|0); + $2175 = ((($2174)) + 4|0); + $2176 = ((($2175)) + 4|0); + $2177 = HEAP32[$2176>>2]|0; + $2178 = HEAP32[$yymsp>>2]|0; + $2179 = ((($2178)) + -32|0); + $2180 = ((($2179)) + 4|0); + $2181 = HEAP32[$2180>>2]|0; + $2182 = (($2181) + ($2177)|0); + $2187 = $2182; + } + $2183 = HEAP32[$yymsp>>2]|0; + $2184 = ((($2183)) + -64|0); + $2185 = ((($2184)) + 4|0); + $2186 = ((($2185)) + 8|0); + HEAP32[$2186>>2] = $2187; + break; + } + case 195: { + $2188 = HEAP32[$yymsp>>2]|0; + $2189 = ((($2188)) + -48|0); $2190 = ((($2189)) + 4|0); - $2191 = HEAP32[$2190>>2]|0; - $2192 = (_sqlite3ExprListAppend($2184,$2188,$2191)|0); - $2193 = HEAP32[$yymsp>>2]|0; - $2194 = ((($2193)) + -48|0); + $2191 = HEAP32[$yymsp>>2]|0; + $2192 = ((($2191)) + -48|0); + $2193 = ((($2192)) + 4|0); + $2194 = HEAP32[$yymsp>>2]|0; $2195 = ((($2194)) + 4|0); - HEAP32[$2195>>2] = $2192; - break; - } - case 197: { - $2196 = HEAP32[$yymsp>>2]|0; - $2197 = ((($2196)) + 4|0); - $2198 = HEAP32[$2197>>2]|0; - $2199 = HEAP32[$yymsp>>2]|0; + _spanSet($2190,$2193,$2195); + $2196 = HEAP32[$pParse>>2]|0; + $2197 = (_sqlite3PExpr($2196,20,0,0,0)|0); + $2198 = HEAP32[$yymsp>>2]|0; + $2199 = ((($2198)) + -48|0); $2200 = ((($2199)) + 4|0); - HEAP32[$2200>>2] = $2198; - break; - } - case 200: { + HEAP32[$2200>>2] = $2197; + HEAP32[$p11>>2] = $2197; $2201 = HEAP32[$pParse>>2]|0; - $2202 = HEAP32[$yymsp>>2]|0; - $2203 = ((($2202)) + -32|0); - $2204 = ((($2203)) + 4|0); - $2205 = HEAP32[$2204>>2]|0; - $2206 = HEAP32[$yymsp>>2]|0; - $2207 = ((($2206)) + 4|0); - $2208 = HEAP32[$2207>>2]|0; - $2209 = (_sqlite3ExprListAppend($2201,$2205,$2208)|0); + $2202 = HEAP32[$p11>>2]|0; + $2203 = HEAP32[$yymsp>>2]|0; + $2204 = ((($2203)) + -16|0); + $2205 = ((($2204)) + 4|0); + $2206 = HEAP32[$2205>>2]|0; + _sqlite3PExprAddSelect($2201,$2202,$2206); + break; + } + case 196: { + $2207 = HEAP32[$yymsp>>2]|0; + $2208 = ((($2207)) + -64|0); + $2209 = ((($2208)) + 4|0); $2210 = HEAP32[$yymsp>>2]|0; - $2211 = ((($2210)) + -32|0); + $2211 = ((($2210)) + -64|0); $2212 = ((($2211)) + 4|0); - HEAP32[$2212>>2] = $2209; - break; - } - case 201: { - $2213 = HEAP32[$pParse>>2]|0; - $2214 = HEAP32[$yymsp>>2]|0; - $2215 = ((($2214)) + 4|0); - $2216 = HEAP32[$2215>>2]|0; - $2217 = (_sqlite3ExprListAppend($2213,0,$2216)|0); - $2218 = HEAP32[$yymsp>>2]|0; - $2219 = ((($2218)) + 4|0); - HEAP32[$2219>>2] = $2217; - break; - } - case 202: { - $2220 = HEAP32[$pParse>>2]|0; + $2213 = HEAP32[$yymsp>>2]|0; + $2214 = ((($2213)) + 4|0); + _spanSet($2209,$2212,$2214); + $2215 = HEAP32[$pParse>>2]|0; + $2216 = HEAP32[$yymsp>>2]|0; + $2217 = ((($2216)) + -48|0); + $2218 = ((($2217)) + 4|0); + $2219 = HEAP32[$2218>>2]|0; + $2220 = (_sqlite3PExpr($2215,136,$2219,0,0)|0); $2221 = HEAP32[$yymsp>>2]|0; - $2222 = ((($2221)) + -112|0); + $2222 = ((($2221)) + -64|0); $2223 = ((($2222)) + 4|0); + HEAP32[$2223>>2] = $2220; $2224 = HEAP32[$yymsp>>2]|0; - $2225 = ((($2224)) + -96|0); + $2225 = ((($2224)) + -64|0); $2226 = ((($2225)) + 4|0); - $2227 = HEAP32[$pParse>>2]|0; - $2228 = HEAP32[$2227>>2]|0; + $2227 = HEAP32[$2226>>2]|0; + $2228 = ($2227|0)!=(0|0); + if (!($2228)) { + $2259 = HEAP32[$pParse>>2]|0; + $2260 = HEAP32[$2259>>2]|0; + $2261 = HEAP32[$yymsp>>2]|0; + $2262 = ((($2261)) + -32|0); + $2263 = ((($2262)) + 4|0); + $2264 = HEAP32[$2263>>2]|0; + _sqlite3ExprListDelete($2260,$2264); + $2265 = HEAP32[$pParse>>2]|0; + $2266 = HEAP32[$2265>>2]|0; + $2267 = HEAP32[$yymsp>>2]|0; + $2268 = ((($2267)) + -16|0); + $2269 = ((($2268)) + 4|0); + $2270 = HEAP32[$2269>>2]|0; + _sqlite3ExprDelete($2266,$2270); + break L6; + } $2229 = HEAP32[$yymsp>>2]|0; - $2230 = ((($2229)) + -64|0); + $2230 = ((($2229)) + -16|0); $2231 = ((($2230)) + 4|0); - $2232 = (_sqlite3SrcListAppend($2228,0,$2231,0)|0); - $2233 = HEAP32[$yymsp>>2]|0; - $2234 = ((($2233)) + -32|0); - $2235 = ((($2234)) + 4|0); - $2236 = HEAP32[$2235>>2]|0; - $2237 = HEAP32[$yymsp>>2]|0; - $2238 = ((($2237)) + -160|0); - $2239 = ((($2238)) + 4|0); - $2240 = HEAP32[$2239>>2]|0; - $2241 = HEAP32[$yymsp>>2]|0; - $2242 = ((($2241)) + -176|0); - $2243 = ((($2242)) + 4|0); - $2244 = HEAP32[$yymsp>>2]|0; - $2245 = ((($2244)) + 4|0); - $2246 = HEAP32[$2245>>2]|0; - $2247 = HEAP32[$yymsp>>2]|0; - $2248 = ((($2247)) + -128|0); - $2249 = ((($2248)) + 4|0); - $2250 = HEAP32[$2249>>2]|0; - (_sqlite3CreateIndex($2220,$2223,$2226,$2232,$2236,$2240,$2243,$2246,0,$2250)|0); - break; - } - case 244: case 203: { - $2251 = HEAP32[$yymsp>>2]|0; - $2252 = ((($2251)) + 4|0); - HEAP32[$2252>>2] = 2; - break; - } - case 204: { - $2253 = HEAP32[$yymsp>>2]|0; - $2254 = ((($2253)) + 16|0); - $2255 = ((($2254)) + 4|0); - HEAP32[$2255>>2] = 0; - break; - } - case 206: { - $2256 = HEAP32[$yymsp>>2]|0; - $2257 = ((($2256)) + -16|0); - $2258 = ((($2257)) + 4|0); - $2259 = HEAP32[$2258>>2]|0; - $2260 = HEAP32[$yymsp>>2]|0; - $2261 = ((($2260)) + -32|0); - $2262 = ((($2261)) + 4|0); - HEAP32[$2262>>2] = $2259; - break; - } - case 207: { - $2263 = HEAP32[$pParse>>2]|0; - $2264 = HEAP32[$yymsp>>2]|0; - $2265 = ((($2264)) + -64|0); - $2266 = ((($2265)) + 4|0); - $2267 = HEAP32[$2266>>2]|0; - $2268 = HEAP32[$yymsp>>2]|0; - $2269 = ((($2268)) + -32|0); - $2270 = ((($2269)) + 4|0); - $2271 = HEAP32[$yymsp>>2]|0; - $2272 = ((($2271)) + -16|0); - $2273 = ((($2272)) + 4|0); - $2274 = HEAP32[$2273>>2]|0; - $2275 = HEAP32[$yymsp>>2]|0; - $2276 = ((($2275)) + 4|0); - $2277 = HEAP32[$2276>>2]|0; - $2278 = (_parserAddExprIdListTerm($2263,$2267,$2270,$2274,$2277)|0); - $2279 = HEAP32[$yymsp>>2]|0; - $2280 = ((($2279)) + -64|0); - $2281 = ((($2280)) + 4|0); - HEAP32[$2281>>2] = $2278; + $2232 = HEAP32[$2231>>2]|0; + $2233 = ($2232|0)!=(0|0); + if ($2233) { + $2234 = HEAP32[$pParse>>2]|0; + $2235 = HEAP32[$yymsp>>2]|0; + $2236 = ((($2235)) + -32|0); + $2237 = ((($2236)) + 4|0); + $2238 = HEAP32[$2237>>2]|0; + $2239 = HEAP32[$yymsp>>2]|0; + $2240 = ((($2239)) + -16|0); + $2241 = ((($2240)) + 4|0); + $2242 = HEAP32[$2241>>2]|0; + $2243 = (_sqlite3ExprListAppend($2234,$2238,$2242)|0); + $2253 = $2243; + } else { + $2244 = HEAP32[$yymsp>>2]|0; + $2245 = ((($2244)) + -32|0); + $2246 = ((($2245)) + 4|0); + $2247 = HEAP32[$2246>>2]|0; + $2253 = $2247; + } + $2248 = HEAP32[$yymsp>>2]|0; + $2249 = ((($2248)) + -64|0); + $2250 = ((($2249)) + 4|0); + $2251 = HEAP32[$2250>>2]|0; + $2252 = ((($2251)) + 20|0); + HEAP32[$2252>>2] = $2253; + $2254 = HEAP32[$pParse>>2]|0; + $2255 = HEAP32[$yymsp>>2]|0; + $2256 = ((($2255)) + -64|0); + $2257 = ((($2256)) + 4|0); + $2258 = HEAP32[$2257>>2]|0; + _sqlite3ExprSetHeightAndFlags($2254,$2258); break; } - case 208: { - $2282 = HEAP32[$pParse>>2]|0; - $2283 = HEAP32[$yymsp>>2]|0; - $2284 = ((($2283)) + -32|0); - $2285 = ((($2284)) + 4|0); - $2286 = HEAP32[$yymsp>>2]|0; - $2287 = ((($2286)) + -16|0); - $2288 = ((($2287)) + 4|0); - $2289 = HEAP32[$2288>>2]|0; - $2290 = HEAP32[$yymsp>>2]|0; - $2291 = ((($2290)) + 4|0); - $2292 = HEAP32[$2291>>2]|0; - $2293 = (_parserAddExprIdListTerm($2282,0,$2285,$2289,$2292)|0); - $2294 = HEAP32[$yymsp>>2]|0; - $2295 = ((($2294)) + -32|0); - $2296 = ((($2295)) + 4|0); - HEAP32[$2296>>2] = $2293; - break; - } - case 211: { - $2297 = HEAP32[$pParse>>2]|0; - $2298 = HEAP32[$yymsp>>2]|0; + case 197: { + $2271 = HEAP32[$pParse>>2]|0; + $2272 = HEAP32[$yymsp>>2]|0; + $2273 = ((($2272)) + -64|0); + $2274 = ((($2273)) + 4|0); + $2275 = HEAP32[$2274>>2]|0; + $2276 = HEAP32[$yymsp>>2]|0; + $2277 = ((($2276)) + -32|0); + $2278 = ((($2277)) + 4|0); + $2279 = HEAP32[$2278>>2]|0; + $2280 = (_sqlite3ExprListAppend($2271,$2275,$2279)|0); + $2281 = HEAP32[$yymsp>>2]|0; + $2282 = ((($2281)) + -64|0); + $2283 = ((($2282)) + 4|0); + HEAP32[$2283>>2] = $2280; + $2284 = HEAP32[$pParse>>2]|0; + $2285 = HEAP32[$yymsp>>2]|0; + $2286 = ((($2285)) + -64|0); + $2287 = ((($2286)) + 4|0); + $2288 = HEAP32[$2287>>2]|0; + $2289 = HEAP32[$yymsp>>2]|0; + $2290 = ((($2289)) + 4|0); + $2291 = HEAP32[$2290>>2]|0; + $2292 = (_sqlite3ExprListAppend($2284,$2288,$2291)|0); + $2293 = HEAP32[$yymsp>>2]|0; + $2294 = ((($2293)) + -64|0); + $2295 = ((($2294)) + 4|0); + HEAP32[$2295>>2] = $2292; + break; + } + case 198: { + $2296 = HEAP32[$pParse>>2]|0; + $2297 = HEAP32[$yymsp>>2]|0; + $2298 = ((($2297)) + -32|0); $2299 = ((($2298)) + 4|0); $2300 = HEAP32[$2299>>2]|0; - $2301 = HEAP32[$yymsp>>2]|0; - $2302 = ((($2301)) + -16|0); - $2303 = ((($2302)) + 4|0); - $2304 = HEAP32[$2303>>2]|0; - _sqlite3DropIndex($2297,$2300,$2304); - break; - } - case 213: case 212: { + $2301 = (_sqlite3ExprListAppend($2296,0,$2300)|0); + $2302 = HEAP32[$yymsp>>2]|0; + $2303 = ((($2302)) + -48|0); + $2304 = ((($2303)) + 4|0); + HEAP32[$2304>>2] = $2301; $2305 = HEAP32[$pParse>>2]|0; - _sqlite3Vacuum($2305); - break; - } - case 214: { - $2306 = HEAP32[$pParse>>2]|0; - $2307 = HEAP32[$yymsp>>2]|0; - $2308 = ((($2307)) + -16|0); - $2309 = ((($2308)) + 4|0); + $2306 = HEAP32[$yymsp>>2]|0; + $2307 = ((($2306)) + -48|0); + $2308 = ((($2307)) + 4|0); + $2309 = HEAP32[$2308>>2]|0; $2310 = HEAP32[$yymsp>>2]|0; $2311 = ((($2310)) + 4|0); - _sqlite3Pragma($2306,$2309,$2311,0,0); + $2312 = HEAP32[$2311>>2]|0; + $2313 = (_sqlite3ExprListAppend($2305,$2309,$2312)|0); + $2314 = HEAP32[$yymsp>>2]|0; + $2315 = ((($2314)) + -48|0); + $2316 = ((($2315)) + 4|0); + HEAP32[$2316>>2] = $2313; break; } - case 215: { - $2312 = HEAP32[$pParse>>2]|0; - $2313 = HEAP32[$yymsp>>2]|0; - $2314 = ((($2313)) + -48|0); - $2315 = ((($2314)) + 4|0); - $2316 = HEAP32[$yymsp>>2]|0; - $2317 = ((($2316)) + -32|0); + case 201: { + $2317 = HEAP32[$yymsp>>2]|0; $2318 = ((($2317)) + 4|0); - $2319 = HEAP32[$yymsp>>2]|0; - $2320 = ((($2319)) + 4|0); - _sqlite3Pragma($2312,$2315,$2318,$2320,0); + $2319 = HEAP32[$2318>>2]|0; + $2320 = HEAP32[$yymsp>>2]|0; + $2321 = ((($2320)) + 4|0); + HEAP32[$2321>>2] = $2319; break; } - case 216: { - $2321 = HEAP32[$pParse>>2]|0; - $2322 = HEAP32[$yymsp>>2]|0; - $2323 = ((($2322)) + -64|0); - $2324 = ((($2323)) + 4|0); - $2325 = HEAP32[$yymsp>>2]|0; - $2326 = ((($2325)) + -48|0); - $2327 = ((($2326)) + 4|0); - $2328 = HEAP32[$yymsp>>2]|0; - $2329 = ((($2328)) + -16|0); - $2330 = ((($2329)) + 4|0); - _sqlite3Pragma($2321,$2324,$2327,$2330,0); - break; - } - case 217: { - $2331 = HEAP32[$pParse>>2]|0; - $2332 = HEAP32[$yymsp>>2]|0; - $2333 = ((($2332)) + -48|0); - $2334 = ((($2333)) + 4|0); + case 204: { + $2322 = HEAP32[$pParse>>2]|0; + $2323 = HEAP32[$yymsp>>2]|0; + $2324 = ((($2323)) + -32|0); + $2325 = ((($2324)) + 4|0); + $2326 = HEAP32[$2325>>2]|0; + $2327 = HEAP32[$yymsp>>2]|0; + $2328 = ((($2327)) + 4|0); + $2329 = HEAP32[$2328>>2]|0; + $2330 = (_sqlite3ExprListAppend($2322,$2326,$2329)|0); + $2331 = HEAP32[$yymsp>>2]|0; + $2332 = ((($2331)) + -32|0); + $2333 = ((($2332)) + 4|0); + HEAP32[$2333>>2] = $2330; + break; + } + case 205: { + $2334 = HEAP32[$pParse>>2]|0; $2335 = HEAP32[$yymsp>>2]|0; - $2336 = ((($2335)) + -32|0); - $2337 = ((($2336)) + 4|0); - $2338 = HEAP32[$yymsp>>2]|0; - $2339 = ((($2338)) + 4|0); - _sqlite3Pragma($2331,$2334,$2337,$2339,1); + $2336 = ((($2335)) + 4|0); + $2337 = HEAP32[$2336>>2]|0; + $2338 = (_sqlite3ExprListAppend($2334,0,$2337)|0); + $2339 = HEAP32[$yymsp>>2]|0; + $2340 = ((($2339)) + 4|0); + HEAP32[$2340>>2] = $2338; break; } - case 218: { - $2340 = HEAP32[$pParse>>2]|0; + case 212: case 207: { $2341 = HEAP32[$yymsp>>2]|0; - $2342 = ((($2341)) + -64|0); + $2342 = ((($2341)) + -16|0); $2343 = ((($2342)) + 4|0); - $2344 = HEAP32[$yymsp>>2]|0; - $2345 = ((($2344)) + -48|0); - $2346 = ((($2345)) + 4|0); - $2347 = HEAP32[$yymsp>>2]|0; - $2348 = ((($2347)) + -16|0); - $2349 = ((($2348)) + 4|0); - _sqlite3Pragma($2340,$2343,$2346,$2349,1); + $2344 = HEAP32[$2343>>2]|0; + $2345 = HEAP32[$yymsp>>2]|0; + $2346 = ((($2345)) + -32|0); + $2347 = ((($2346)) + 4|0); + HEAP32[$2347>>2] = $2344; break; } - case 221: { - $2350 = HEAP32[$yymsp>>2]|0; - $2351 = ((($2350)) + -48|0); - $2352 = ((($2351)) + 4|0); - $2353 = HEAP32[$2352>>2]|0; - HEAP32[$all>>2] = $2353; - $2354 = HEAP32[$yymsp>>2]|0; - $2355 = ((($2354)) + 4|0); + case 208: { + $2348 = HEAP32[$pParse>>2]|0; + $2349 = HEAP32[$yymsp>>2]|0; + $2350 = ((($2349)) + -112|0); + $2351 = ((($2350)) + 4|0); + $2352 = HEAP32[$yymsp>>2]|0; + $2353 = ((($2352)) + -96|0); + $2354 = ((($2353)) + 4|0); + $2355 = HEAP32[$pParse>>2]|0; $2356 = HEAP32[$2355>>2]|0; $2357 = HEAP32[$yymsp>>2]|0; - $2358 = ((($2357)) + -48|0); + $2358 = ((($2357)) + -64|0); $2359 = ((($2358)) + 4|0); - $2360 = HEAP32[$2359>>2]|0; - $2361 = $2356; - $2362 = $2360; - $2363 = (($2361) - ($2362))|0; - $2364 = HEAP32[$yymsp>>2]|0; - $2365 = ((($2364)) + 4|0); - $2366 = ((($2365)) + 4|0); - $2367 = HEAP32[$2366>>2]|0; - $2368 = (($2363) + ($2367))|0; - $2369 = ((($all)) + 4|0); - HEAP32[$2369>>2] = $2368; - $2370 = HEAP32[$pParse>>2]|0; - $2371 = HEAP32[$yymsp>>2]|0; - $2372 = ((($2371)) + -16|0); + $2360 = (_sqlite3SrcListAppend($2356,0,$2359,0)|0); + $2361 = HEAP32[$yymsp>>2]|0; + $2362 = ((($2361)) + -32|0); + $2363 = ((($2362)) + 4|0); + $2364 = HEAP32[$2363>>2]|0; + $2365 = HEAP32[$yymsp>>2]|0; + $2366 = ((($2365)) + -160|0); + $2367 = ((($2366)) + 4|0); + $2368 = HEAP32[$2367>>2]|0; + $2369 = HEAP32[$yymsp>>2]|0; + $2370 = ((($2369)) + -176|0); + $2371 = ((($2370)) + 4|0); + $2372 = HEAP32[$yymsp>>2]|0; $2373 = ((($2372)) + 4|0); $2374 = HEAP32[$2373>>2]|0; - _sqlite3FinishTrigger($2370,$2374,$all); + $2375 = HEAP32[$yymsp>>2]|0; + $2376 = ((($2375)) + -128|0); + $2377 = ((($2376)) + 4|0); + $2378 = HEAP32[$2377>>2]|0; + _sqlite3CreateIndex($2348,$2351,$2354,$2360,$2364,$2368,$2371,$2374,0,$2378,0); break; } - case 222: { - $2375 = HEAP32[$pParse>>2]|0; - $2376 = HEAP32[$yymsp>>2]|0; - $2377 = ((($2376)) + -112|0); - $2378 = ((($2377)) + 4|0); + case 250: case 209: { $2379 = HEAP32[$yymsp>>2]|0; - $2380 = ((($2379)) + -96|0); - $2381 = ((($2380)) + 4|0); - $2382 = HEAP32[$yymsp>>2]|0; - $2383 = ((($2382)) + -80|0); - $2384 = ((($2383)) + 4|0); - $2385 = HEAP32[$2384>>2]|0; - $2386 = HEAP32[$yymsp>>2]|0; - $2387 = ((($2386)) + -64|0); - $2388 = ((($2387)) + 4|0); - $2389 = HEAP32[$2388>>2]|0; - $2390 = HEAP32[$yymsp>>2]|0; - $2391 = ((($2390)) + -64|0); - $2392 = ((($2391)) + 4|0); - $2393 = ((($2392)) + 4|0); - $2394 = HEAP32[$2393>>2]|0; - $2395 = HEAP32[$yymsp>>2]|0; - $2396 = ((($2395)) + -32|0); + $2380 = ((($2379)) + 4|0); + HEAP32[$2380>>2] = 2; + break; + } + case 210: { + $2381 = HEAP32[$yymsp>>2]|0; + $2382 = ((($2381)) + 16|0); + $2383 = ((($2382)) + 4|0); + HEAP32[$2383>>2] = 0; + break; + } + case 213: { + $2384 = HEAP32[$pParse>>2]|0; + $2385 = HEAP32[$yymsp>>2]|0; + $2386 = ((($2385)) + -64|0); + $2387 = ((($2386)) + 4|0); + $2388 = HEAP32[$2387>>2]|0; + $2389 = HEAP32[$yymsp>>2]|0; + $2390 = ((($2389)) + -32|0); + $2391 = ((($2390)) + 4|0); + $2392 = HEAP32[$yymsp>>2]|0; + $2393 = ((($2392)) + -16|0); + $2394 = ((($2393)) + 4|0); + $2395 = HEAP32[$2394>>2]|0; + $2396 = HEAP32[$yymsp>>2]|0; $2397 = ((($2396)) + 4|0); $2398 = HEAP32[$2397>>2]|0; - $2399 = HEAP32[$yymsp>>2]|0; - $2400 = ((($2399)) + 4|0); - $2401 = HEAP32[$2400>>2]|0; - $2402 = HEAP32[$yymsp>>2]|0; - $2403 = ((($2402)) + -160|0); - $2404 = ((($2403)) + 4|0); - $2405 = HEAP32[$2404>>2]|0; - $2406 = HEAP32[$yymsp>>2]|0; - $2407 = ((($2406)) + -128|0); - $2408 = ((($2407)) + 4|0); - $2409 = HEAP32[$2408>>2]|0; - _sqlite3BeginTrigger($2375,$2378,$2381,$2385,$2389,$2394,$2398,$2401,$2405,$2409); - $2410 = HEAP32[$yymsp>>2]|0; - $2411 = ((($2410)) + -160|0); + $2399 = (_parserAddExprIdListTerm($2384,$2388,$2391,$2395,$2398)|0); + $2400 = HEAP32[$yymsp>>2]|0; + $2401 = ((($2400)) + -64|0); + $2402 = ((($2401)) + 4|0); + HEAP32[$2402>>2] = $2399; + break; + } + case 214: { + $2403 = HEAP32[$pParse>>2]|0; + $2404 = HEAP32[$yymsp>>2]|0; + $2405 = ((($2404)) + -32|0); + $2406 = ((($2405)) + 4|0); + $2407 = HEAP32[$yymsp>>2]|0; + $2408 = ((($2407)) + -16|0); + $2409 = ((($2408)) + 4|0); + $2410 = HEAP32[$2409>>2]|0; + $2411 = HEAP32[$yymsp>>2]|0; $2412 = ((($2411)) + 4|0); - $2413 = HEAP32[$yymsp>>2]|0; - $2414 = ((($2413)) + -96|0); - $2415 = ((($2414)) + 4|0); - $2416 = ((($2415)) + 4|0); - $2417 = HEAP32[$2416>>2]|0; - $2418 = ($2417|0)==(0); - $2419 = HEAP32[$yymsp>>2]|0; - if ($2418) { - $2420 = ((($2419)) + -112|0); - $2421 = ((($2420)) + 4|0); - ;HEAP32[$2412>>2]=HEAP32[$2421>>2]|0;HEAP32[$2412+4>>2]=HEAP32[$2421+4>>2]|0; - break L6; - } else { - $2422 = ((($2419)) + -96|0); - $2423 = ((($2422)) + 4|0); - ;HEAP32[$2412>>2]=HEAP32[$2423>>2]|0;HEAP32[$2412+4>>2]=HEAP32[$2423+4>>2]|0; - break L6; - } + $2413 = HEAP32[$2412>>2]|0; + $2414 = (_parserAddExprIdListTerm($2403,0,$2406,$2410,$2413)|0); + $2415 = HEAP32[$yymsp>>2]|0; + $2416 = ((($2415)) + -32|0); + $2417 = ((($2416)) + 4|0); + HEAP32[$2417>>2] = $2414; break; } - case 223: { - $2424 = HEAP32[$yymsp>>2]|0; - $2425 = ((($2424)) + 4|0); - HEAP32[$2425>>2] = 63; + case 217: { + $2418 = HEAP32[$pParse>>2]|0; + $2419 = HEAP32[$yymsp>>2]|0; + $2420 = ((($2419)) + 4|0); + $2421 = HEAP32[$2420>>2]|0; + $2422 = HEAP32[$yymsp>>2]|0; + $2423 = ((($2422)) + -16|0); + $2424 = ((($2423)) + 4|0); + $2425 = HEAP32[$2424>>2]|0; + _sqlite3DropIndex($2418,$2421,$2425); break; } - case 224: { - $2426 = HEAP32[$yymsp>>2]|0; - $2427 = ((($2426)) + 4|0); - HEAP32[$2427>>2] = 59; + case 218: { + $2426 = HEAP32[$pParse>>2]|0; + _sqlite3Vacuum($2426,0); break; } - case 225: { + case 219: { + $2427 = HEAP32[$pParse>>2]|0; $2428 = HEAP32[$yymsp>>2]|0; - $2429 = ((($2428)) + -16|0); - $2430 = ((($2429)) + 4|0); - HEAP32[$2430>>2] = 77; + $2429 = ((($2428)) + 4|0); + _sqlite3Vacuum($2427,$2429); break; } - case 226: { + case 220: { + $2430 = HEAP32[$pParse>>2]|0; $2431 = HEAP32[$yymsp>>2]|0; - $2432 = ((($2431)) + 16|0); + $2432 = ((($2431)) + -16|0); $2433 = ((($2432)) + 4|0); - HEAP32[$2433>>2] = 63; + $2434 = HEAP32[$yymsp>>2]|0; + $2435 = ((($2434)) + 4|0); + _sqlite3Pragma($2430,$2433,$2435,0,0); break; } - case 228: case 227: { - $2434 = HEAP32[$yymsp>>2]|0; - $2435 = ((($2434)) + 2|0); - $2436 = HEAP8[$2435>>0]|0; - $2437 = $2436&255; - $2438 = HEAP32[$yymsp>>2]|0; + case 221: { + $2436 = HEAP32[$pParse>>2]|0; + $2437 = HEAP32[$yymsp>>2]|0; + $2438 = ((($2437)) + -48|0); $2439 = ((($2438)) + 4|0); - HEAP32[$2439>>2] = $2437; $2440 = HEAP32[$yymsp>>2]|0; - $2441 = ((($2440)) + 4|0); + $2441 = ((($2440)) + -32|0); $2442 = ((($2441)) + 4|0); - HEAP32[$2442>>2] = 0; + $2443 = HEAP32[$yymsp>>2]|0; + $2444 = ((($2443)) + 4|0); + _sqlite3Pragma($2436,$2439,$2442,$2444,0); break; } - case 229: { - $2443 = HEAP32[$yymsp>>2]|0; - $2444 = ((($2443)) + -32|0); - $2445 = ((($2444)) + 4|0); - HEAP32[$2445>>2] = 110; + case 222: { + $2445 = HEAP32[$pParse>>2]|0; $2446 = HEAP32[$yymsp>>2]|0; - $2447 = ((($2446)) + 4|0); - $2448 = HEAP32[$2447>>2]|0; + $2447 = ((($2446)) + -64|0); + $2448 = ((($2447)) + 4|0); $2449 = HEAP32[$yymsp>>2]|0; - $2450 = ((($2449)) + -32|0); + $2450 = ((($2449)) + -48|0); $2451 = ((($2450)) + 4|0); - $2452 = ((($2451)) + 4|0); - HEAP32[$2452>>2] = $2448; + $2452 = HEAP32[$yymsp>>2]|0; + $2453 = ((($2452)) + -16|0); + $2454 = ((($2453)) + 4|0); + _sqlite3Pragma($2445,$2448,$2451,$2454,0); break; } - case 249: case 230: { - $2453 = HEAP32[$yymsp>>2]|0; - $2454 = ((($2453)) + 16|0); - $2455 = ((($2454)) + 4|0); - HEAP32[$2455>>2] = 0; - break; - } - case 250: case 231: { + case 223: { + $2455 = HEAP32[$pParse>>2]|0; $2456 = HEAP32[$yymsp>>2]|0; - $2457 = ((($2456)) + 4|0); - $2458 = HEAP32[$2457>>2]|0; + $2457 = ((($2456)) + -48|0); + $2458 = ((($2457)) + 4|0); $2459 = HEAP32[$yymsp>>2]|0; - $2460 = ((($2459)) + -16|0); + $2460 = ((($2459)) + -32|0); $2461 = ((($2460)) + 4|0); - HEAP32[$2461>>2] = $2458; + $2462 = HEAP32[$yymsp>>2]|0; + $2463 = ((($2462)) + 4|0); + _sqlite3Pragma($2455,$2458,$2461,$2463,1); break; } - case 232: { - $2462 = HEAP32[$yymsp>>2]|0; - $2463 = ((($2462)) + -16|0); - $2464 = ((($2463)) + 4|0); - $2465 = HEAP32[$2464>>2]|0; - $2466 = HEAP32[$yymsp>>2]|0; - $2467 = ((($2466)) + -32|0); - $2468 = ((($2467)) + 4|0); - $2469 = HEAP32[$2468>>2]|0; - $2470 = ((($2469)) + 32|0); - $2471 = HEAP32[$2470>>2]|0; - $2472 = ((($2471)) + 28|0); - HEAP32[$2472>>2] = $2465; - $2473 = HEAP32[$yymsp>>2]|0; - $2474 = ((($2473)) + -16|0); - $2475 = ((($2474)) + 4|0); - $2476 = HEAP32[$2475>>2]|0; - $2477 = HEAP32[$yymsp>>2]|0; - $2478 = ((($2477)) + -32|0); + case 224: { + $2464 = HEAP32[$pParse>>2]|0; + $2465 = HEAP32[$yymsp>>2]|0; + $2466 = ((($2465)) + -64|0); + $2467 = ((($2466)) + 4|0); + $2468 = HEAP32[$yymsp>>2]|0; + $2469 = ((($2468)) + -48|0); + $2470 = ((($2469)) + 4|0); + $2471 = HEAP32[$yymsp>>2]|0; + $2472 = ((($2471)) + -16|0); + $2473 = ((($2472)) + 4|0); + _sqlite3Pragma($2464,$2467,$2470,$2473,1); + break; + } + case 227: { + $2474 = HEAP32[$yymsp>>2]|0; + $2475 = ((($2474)) + -48|0); + $2476 = ((($2475)) + 4|0); + $2477 = HEAP32[$2476>>2]|0; + HEAP32[$all>>2] = $2477; + $2478 = HEAP32[$yymsp>>2]|0; $2479 = ((($2478)) + 4|0); $2480 = HEAP32[$2479>>2]|0; - $2481 = ((($2480)) + 32|0); - HEAP32[$2481>>2] = $2476; + $2481 = HEAP32[$yymsp>>2]|0; + $2482 = ((($2481)) + -48|0); + $2483 = ((($2482)) + 4|0); + $2484 = HEAP32[$2483>>2]|0; + $2485 = $2480; + $2486 = $2484; + $2487 = (($2485) - ($2486))|0; + $2488 = HEAP32[$yymsp>>2]|0; + $2489 = ((($2488)) + 4|0); + $2490 = ((($2489)) + 4|0); + $2491 = HEAP32[$2490>>2]|0; + $2492 = (($2487) + ($2491))|0; + $2493 = ((($all)) + 4|0); + HEAP32[$2493>>2] = $2492; + $2494 = HEAP32[$pParse>>2]|0; + $2495 = HEAP32[$yymsp>>2]|0; + $2496 = ((($2495)) + -16|0); + $2497 = ((($2496)) + 4|0); + $2498 = HEAP32[$2497>>2]|0; + _sqlite3FinishTrigger($2494,$2498,$all); + break; + } + case 228: { + $2499 = HEAP32[$pParse>>2]|0; + $2500 = HEAP32[$yymsp>>2]|0; + $2501 = ((($2500)) + -112|0); + $2502 = ((($2501)) + 4|0); + $2503 = HEAP32[$yymsp>>2]|0; + $2504 = ((($2503)) + -96|0); + $2505 = ((($2504)) + 4|0); + $2506 = HEAP32[$yymsp>>2]|0; + $2507 = ((($2506)) + -80|0); + $2508 = ((($2507)) + 4|0); + $2509 = HEAP32[$2508>>2]|0; + $2510 = HEAP32[$yymsp>>2]|0; + $2511 = ((($2510)) + -64|0); + $2512 = ((($2511)) + 4|0); + $2513 = HEAP32[$2512>>2]|0; + $2514 = HEAP32[$yymsp>>2]|0; + $2515 = ((($2514)) + -64|0); + $2516 = ((($2515)) + 4|0); + $2517 = ((($2516)) + 4|0); + $2518 = HEAP32[$2517>>2]|0; + $2519 = HEAP32[$yymsp>>2]|0; + $2520 = ((($2519)) + -32|0); + $2521 = ((($2520)) + 4|0); + $2522 = HEAP32[$2521>>2]|0; + $2523 = HEAP32[$yymsp>>2]|0; + $2524 = ((($2523)) + 4|0); + $2525 = HEAP32[$2524>>2]|0; + $2526 = HEAP32[$yymsp>>2]|0; + $2527 = ((($2526)) + -160|0); + $2528 = ((($2527)) + 4|0); + $2529 = HEAP32[$2528>>2]|0; + $2530 = HEAP32[$yymsp>>2]|0; + $2531 = ((($2530)) + -128|0); + $2532 = ((($2531)) + 4|0); + $2533 = HEAP32[$2532>>2]|0; + _sqlite3BeginTrigger($2499,$2502,$2505,$2509,$2513,$2518,$2522,$2525,$2529,$2533); + $2534 = HEAP32[$yymsp>>2]|0; + $2535 = ((($2534)) + -160|0); + $2536 = ((($2535)) + 4|0); + $2537 = HEAP32[$yymsp>>2]|0; + $2538 = ((($2537)) + -96|0); + $2539 = ((($2538)) + 4|0); + $2540 = ((($2539)) + 4|0); + $2541 = HEAP32[$2540>>2]|0; + $2542 = ($2541|0)==(0); + $2543 = HEAP32[$yymsp>>2]|0; + if ($2542) { + $2544 = ((($2543)) + -112|0); + $2545 = ((($2544)) + 4|0); + ;HEAP32[$2536>>2]=HEAP32[$2545>>2]|0;HEAP32[$2536+4>>2]=HEAP32[$2545+4>>2]|0; + break L6; + } else { + $2546 = ((($2543)) + -96|0); + $2547 = ((($2546)) + 4|0); + ;HEAP32[$2536>>2]=HEAP32[$2547>>2]|0;HEAP32[$2536+4>>2]=HEAP32[$2547+4>>2]|0; + break L6; + } break; } - case 233: { - $2482 = HEAP32[$yymsp>>2]|0; - $2483 = ((($2482)) + -16|0); - $2484 = ((($2483)) + 4|0); - $2485 = HEAP32[$2484>>2]|0; - $2486 = HEAP32[$yymsp>>2]|0; - $2487 = ((($2486)) + -16|0); - $2488 = ((($2487)) + 4|0); - $2489 = HEAP32[$2488>>2]|0; - $2490 = ((($2489)) + 32|0); - HEAP32[$2490>>2] = $2485; + case 229: { + $2548 = HEAP32[$yymsp>>2]|0; + $2549 = ((($2548)) + 4|0); + HEAP32[$2549>>2] = 63; break; } - case 234: { - $2491 = HEAP32[$yymsp>>2]|0; - $2492 = ((($2491)) + -32|0); - $2493 = ((($2492)) + 4|0); - $2494 = HEAP32[$yymsp>>2]|0; - $2495 = ((($2494)) + 4|0); - ;HEAP32[$2493>>2]=HEAP32[$2495>>2]|0;HEAP32[$2493+4>>2]=HEAP32[$2495+4>>2]|0; - $2496 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2496,27824,$vararg_buffer8); + case 230: { + $2550 = HEAP32[$yymsp>>2]|0; + $2551 = ((($2550)) + 4|0); + HEAP32[$2551>>2] = 59; + break; + } + case 231: { + $2552 = HEAP32[$yymsp>>2]|0; + $2553 = ((($2552)) + -16|0); + $2554 = ((($2553)) + 4|0); + HEAP32[$2554>>2] = 77; + break; + } + case 232: { + $2555 = HEAP32[$yymsp>>2]|0; + $2556 = ((($2555)) + 16|0); + $2557 = ((($2556)) + 4|0); + HEAP32[$2557>>2] = 63; + break; + } + case 234: case 233: { + $2558 = HEAP32[$yymsp>>2]|0; + $2559 = ((($2558)) + 2|0); + $2560 = HEAP8[$2559>>0]|0; + $2561 = $2560&255; + $2562 = HEAP32[$yymsp>>2]|0; + $2563 = ((($2562)) + 4|0); + HEAP32[$2563>>2] = $2561; + $2564 = HEAP32[$yymsp>>2]|0; + $2565 = ((($2564)) + 4|0); + $2566 = ((($2565)) + 4|0); + HEAP32[$2566>>2] = 0; break; } case 235: { - $2497 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2497,27919,$vararg_buffer10); + $2567 = HEAP32[$yymsp>>2]|0; + $2568 = ((($2567)) + -32|0); + $2569 = ((($2568)) + 4|0); + HEAP32[$2569>>2] = 110; + $2570 = HEAP32[$yymsp>>2]|0; + $2571 = ((($2570)) + 4|0); + $2572 = HEAP32[$2571>>2]|0; + $2573 = HEAP32[$yymsp>>2]|0; + $2574 = ((($2573)) + -32|0); + $2575 = ((($2574)) + 4|0); + $2576 = ((($2575)) + 4|0); + HEAP32[$2576>>2] = $2572; break; } - case 236: { - $2498 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2498,28003,$vararg_buffer12); + case 255: case 236: { + $2577 = HEAP32[$yymsp>>2]|0; + $2578 = ((($2577)) + 16|0); + $2579 = ((($2578)) + 4|0); + HEAP32[$2579>>2] = 0; break; } - case 237: { - $2499 = HEAP32[$pParse>>2]|0; - $2500 = HEAP32[$2499>>2]|0; - $2501 = HEAP32[$yymsp>>2]|0; - $2502 = ((($2501)) + -64|0); - $2503 = ((($2502)) + 4|0); - $2504 = HEAP32[$yymsp>>2]|0; - $2505 = ((($2504)) + -16|0); - $2506 = ((($2505)) + 4|0); - $2507 = HEAP32[$2506>>2]|0; - $2508 = HEAP32[$yymsp>>2]|0; - $2509 = ((($2508)) + 4|0); - $2510 = HEAP32[$2509>>2]|0; - $2511 = HEAP32[$yymsp>>2]|0; - $2512 = ((($2511)) + -80|0); - $2513 = ((($2512)) + 4|0); - $2514 = HEAP32[$2513>>2]|0; - $2515 = $2514&255; - $2516 = (_sqlite3TriggerUpdateStep($2500,$2503,$2507,$2510,$2515)|0); - $2517 = HEAP32[$yymsp>>2]|0; - $2518 = ((($2517)) + -96|0); - $2519 = ((($2518)) + 4|0); - HEAP32[$2519>>2] = $2516; + case 256: case 237: { + $2580 = HEAP32[$yymsp>>2]|0; + $2581 = ((($2580)) + 4|0); + $2582 = HEAP32[$2581>>2]|0; + $2583 = HEAP32[$yymsp>>2]|0; + $2584 = ((($2583)) + -16|0); + $2585 = ((($2584)) + 4|0); + HEAP32[$2585>>2] = $2582; break; } case 238: { - $2520 = HEAP32[$pParse>>2]|0; - $2521 = HEAP32[$2520>>2]|0; - $2522 = HEAP32[$yymsp>>2]|0; - $2523 = ((($2522)) + -32|0); - $2524 = ((($2523)) + 4|0); - $2525 = HEAP32[$yymsp>>2]|0; - $2526 = ((($2525)) + -16|0); - $2527 = ((($2526)) + 4|0); - $2528 = HEAP32[$2527>>2]|0; - $2529 = HEAP32[$yymsp>>2]|0; - $2530 = ((($2529)) + 4|0); - $2531 = HEAP32[$2530>>2]|0; - $2532 = HEAP32[$yymsp>>2]|0; - $2533 = ((($2532)) + -64|0); - $2534 = ((($2533)) + 4|0); - $2535 = HEAP32[$2534>>2]|0; - $2536 = $2535&255; - $2537 = (_sqlite3TriggerInsertStep($2521,$2524,$2528,$2531,$2536)|0); - $2538 = HEAP32[$yymsp>>2]|0; - $2539 = ((($2538)) + -64|0); - $2540 = ((($2539)) + 4|0); - HEAP32[$2540>>2] = $2537; + $2586 = HEAP32[$yymsp>>2]|0; + $2587 = ((($2586)) + -16|0); + $2588 = ((($2587)) + 4|0); + $2589 = HEAP32[$2588>>2]|0; + $2590 = HEAP32[$yymsp>>2]|0; + $2591 = ((($2590)) + -32|0); + $2592 = ((($2591)) + 4|0); + $2593 = HEAP32[$2592>>2]|0; + $2594 = ((($2593)) + 32|0); + $2595 = HEAP32[$2594>>2]|0; + $2596 = ((($2595)) + 28|0); + HEAP32[$2596>>2] = $2589; + $2597 = HEAP32[$yymsp>>2]|0; + $2598 = ((($2597)) + -16|0); + $2599 = ((($2598)) + 4|0); + $2600 = HEAP32[$2599>>2]|0; + $2601 = HEAP32[$yymsp>>2]|0; + $2602 = ((($2601)) + -32|0); + $2603 = ((($2602)) + 4|0); + $2604 = HEAP32[$2603>>2]|0; + $2605 = ((($2604)) + 32|0); + HEAP32[$2605>>2] = $2600; break; } case 239: { - $2541 = HEAP32[$pParse>>2]|0; - $2542 = HEAP32[$2541>>2]|0; - $2543 = HEAP32[$yymsp>>2]|0; - $2544 = ((($2543)) + -32|0); - $2545 = ((($2544)) + 4|0); - $2546 = HEAP32[$yymsp>>2]|0; - $2547 = ((($2546)) + 4|0); - $2548 = HEAP32[$2547>>2]|0; - $2549 = (_sqlite3TriggerDeleteStep($2542,$2545,$2548)|0); - $2550 = HEAP32[$yymsp>>2]|0; - $2551 = ((($2550)) + -64|0); - $2552 = ((($2551)) + 4|0); - HEAP32[$2552>>2] = $2549; + $2606 = HEAP32[$yymsp>>2]|0; + $2607 = ((($2606)) + -16|0); + $2608 = ((($2607)) + 4|0); + $2609 = HEAP32[$2608>>2]|0; + $2610 = HEAP32[$yymsp>>2]|0; + $2611 = ((($2610)) + -16|0); + $2612 = ((($2611)) + 4|0); + $2613 = HEAP32[$2612>>2]|0; + $2614 = ((($2613)) + 32|0); + HEAP32[$2614>>2] = $2609; break; } case 240: { - $2553 = HEAP32[$pParse>>2]|0; - $2554 = HEAP32[$2553>>2]|0; - $2555 = HEAP32[$yymsp>>2]|0; - $2556 = ((($2555)) + 4|0); - $2557 = HEAP32[$2556>>2]|0; - $2558 = (_sqlite3TriggerSelectStep($2554,$2557)|0); - $2559 = HEAP32[$yymsp>>2]|0; - $2560 = ((($2559)) + 4|0); - HEAP32[$2560>>2] = $2558; + $2615 = HEAP32[$yymsp>>2]|0; + $2616 = ((($2615)) + -32|0); + $2617 = ((($2616)) + 4|0); + $2618 = HEAP32[$yymsp>>2]|0; + $2619 = ((($2618)) + 4|0); + ;HEAP32[$2617>>2]=HEAP32[$2619>>2]|0;HEAP32[$2617+4>>2]=HEAP32[$2619+4>>2]|0; + $2620 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2620,27220,$vararg_buffer8); break; } case 241: { - $2561 = HEAP32[$yymsp>>2]|0; - $2562 = ((($2561)) + -48|0); - $2563 = ((($2562)) + 4|0); - $2564 = HEAP32[$yymsp>>2]|0; - $2565 = ((($2564)) + -48|0); - $2566 = ((($2565)) + 4|0); - $2567 = HEAP32[$yymsp>>2]|0; - $2568 = ((($2567)) + 4|0); - _spanSet($2563,$2566,$2568); - $2569 = HEAP32[$pParse>>2]|0; - $2570 = (_sqlite3PExpr($2569,83,0,0,0)|0); - $2571 = HEAP32[$yymsp>>2]|0; - $2572 = ((($2571)) + -48|0); - $2573 = ((($2572)) + 4|0); - HEAP32[$2573>>2] = $2570; - $2574 = HEAP32[$yymsp>>2]|0; - $2575 = ((($2574)) + -48|0); - $2576 = ((($2575)) + 4|0); - $2577 = HEAP32[$2576>>2]|0; - $2578 = ($2577|0)!=(0|0); - if ($2578) { - $2579 = HEAP32[$yymsp>>2]|0; - $2580 = ((($2579)) + -48|0); - $2581 = ((($2580)) + 4|0); - $2582 = HEAP32[$2581>>2]|0; - $2583 = ((($2582)) + 1|0); - HEAP8[$2583>>0] = 4; - } + $2621 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2621,27315,$vararg_buffer10); break; } case 242: { - $2584 = HEAP32[$yymsp>>2]|0; - $2585 = ((($2584)) + -80|0); - $2586 = ((($2585)) + 4|0); - $2587 = HEAP32[$yymsp>>2]|0; - $2588 = ((($2587)) + -80|0); - $2589 = ((($2588)) + 4|0); - $2590 = HEAP32[$yymsp>>2]|0; - $2591 = ((($2590)) + 4|0); - _spanSet($2586,$2589,$2591); - $2592 = HEAP32[$pParse>>2]|0; - $2593 = HEAP32[$yymsp>>2]|0; - $2594 = ((($2593)) + -16|0); - $2595 = ((($2594)) + 4|0); - $2596 = (_sqlite3PExpr($2592,83,0,0,$2595)|0); - $2597 = HEAP32[$yymsp>>2]|0; - $2598 = ((($2597)) + -80|0); - $2599 = ((($2598)) + 4|0); - HEAP32[$2599>>2] = $2596; - $2600 = HEAP32[$yymsp>>2]|0; - $2601 = ((($2600)) + -80|0); - $2602 = ((($2601)) + 4|0); - $2603 = HEAP32[$2602>>2]|0; - $2604 = ($2603|0)!=(0|0); - if ($2604) { - $2605 = HEAP32[$yymsp>>2]|0; - $2606 = ((($2605)) + -48|0); - $2607 = ((($2606)) + 4|0); - $2608 = HEAP32[$2607>>2]|0; - $2609 = $2608&255; - $2610 = HEAP32[$yymsp>>2]|0; - $2611 = ((($2610)) + -80|0); - $2612 = ((($2611)) + 4|0); - $2613 = HEAP32[$2612>>2]|0; - $2614 = ((($2613)) + 1|0); - HEAP8[$2614>>0] = $2609; - } + $2622 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2622,27399,$vararg_buffer12); break; } case 243: { - $2615 = HEAP32[$yymsp>>2]|0; - $2616 = ((($2615)) + 4|0); - HEAP32[$2616>>2] = 1; + $2623 = HEAP32[$pParse>>2]|0; + $2624 = HEAP32[$2623>>2]|0; + $2625 = HEAP32[$yymsp>>2]|0; + $2626 = ((($2625)) + -64|0); + $2627 = ((($2626)) + 4|0); + $2628 = HEAP32[$yymsp>>2]|0; + $2629 = ((($2628)) + -16|0); + $2630 = ((($2629)) + 4|0); + $2631 = HEAP32[$2630>>2]|0; + $2632 = HEAP32[$yymsp>>2]|0; + $2633 = ((($2632)) + 4|0); + $2634 = HEAP32[$2633>>2]|0; + $2635 = HEAP32[$yymsp>>2]|0; + $2636 = ((($2635)) + -80|0); + $2637 = ((($2636)) + 4|0); + $2638 = HEAP32[$2637>>2]|0; + $2639 = $2638&255; + $2640 = (_sqlite3TriggerUpdateStep($2624,$2627,$2631,$2634,$2639)|0); + $2641 = HEAP32[$yymsp>>2]|0; + $2642 = ((($2641)) + -96|0); + $2643 = ((($2642)) + 4|0); + HEAP32[$2643>>2] = $2640; + break; + } + case 244: { + $2644 = HEAP32[$pParse>>2]|0; + $2645 = HEAP32[$2644>>2]|0; + $2646 = HEAP32[$yymsp>>2]|0; + $2647 = ((($2646)) + -32|0); + $2648 = ((($2647)) + 4|0); + $2649 = HEAP32[$yymsp>>2]|0; + $2650 = ((($2649)) + -16|0); + $2651 = ((($2650)) + 4|0); + $2652 = HEAP32[$2651>>2]|0; + $2653 = HEAP32[$yymsp>>2]|0; + $2654 = ((($2653)) + 4|0); + $2655 = HEAP32[$2654>>2]|0; + $2656 = HEAP32[$yymsp>>2]|0; + $2657 = ((($2656)) + -64|0); + $2658 = ((($2657)) + 4|0); + $2659 = HEAP32[$2658>>2]|0; + $2660 = $2659&255; + $2661 = (_sqlite3TriggerInsertStep($2645,$2648,$2652,$2655,$2660)|0); + $2662 = HEAP32[$yymsp>>2]|0; + $2663 = ((($2662)) + -64|0); + $2664 = ((($2663)) + 4|0); + HEAP32[$2664>>2] = $2661; break; } case 245: { - $2617 = HEAP32[$yymsp>>2]|0; - $2618 = ((($2617)) + 4|0); - HEAP32[$2618>>2] = 3; + $2665 = HEAP32[$pParse>>2]|0; + $2666 = HEAP32[$2665>>2]|0; + $2667 = HEAP32[$yymsp>>2]|0; + $2668 = ((($2667)) + -32|0); + $2669 = ((($2668)) + 4|0); + $2670 = HEAP32[$yymsp>>2]|0; + $2671 = ((($2670)) + 4|0); + $2672 = HEAP32[$2671>>2]|0; + $2673 = (_sqlite3TriggerDeleteStep($2666,$2669,$2672)|0); + $2674 = HEAP32[$yymsp>>2]|0; + $2675 = ((($2674)) + -64|0); + $2676 = ((($2675)) + 4|0); + HEAP32[$2676>>2] = $2673; break; } case 246: { - $2619 = HEAP32[$pParse>>2]|0; - $2620 = HEAP32[$yymsp>>2]|0; - $2621 = ((($2620)) + 4|0); - $2622 = HEAP32[$2621>>2]|0; - $2623 = HEAP32[$yymsp>>2]|0; - $2624 = ((($2623)) + -16|0); - $2625 = ((($2624)) + 4|0); - $2626 = HEAP32[$2625>>2]|0; - _sqlite3DropTrigger($2619,$2622,$2626); + $2677 = HEAP32[$pParse>>2]|0; + $2678 = HEAP32[$2677>>2]|0; + $2679 = HEAP32[$yymsp>>2]|0; + $2680 = ((($2679)) + 4|0); + $2681 = HEAP32[$2680>>2]|0; + $2682 = (_sqlite3TriggerSelectStep($2678,$2681)|0); + $2683 = HEAP32[$yymsp>>2]|0; + $2684 = ((($2683)) + 4|0); + HEAP32[$2684>>2] = $2682; break; } case 247: { - $2627 = HEAP32[$pParse>>2]|0; - $2628 = HEAP32[$yymsp>>2]|0; - $2629 = ((($2628)) + -48|0); - $2630 = ((($2629)) + 4|0); - $2631 = HEAP32[$2630>>2]|0; - $2632 = HEAP32[$yymsp>>2]|0; - $2633 = ((($2632)) + -16|0); - $2634 = ((($2633)) + 4|0); - $2635 = HEAP32[$2634>>2]|0; - $2636 = HEAP32[$yymsp>>2]|0; - $2637 = ((($2636)) + 4|0); - $2638 = HEAP32[$2637>>2]|0; - _sqlite3Attach($2627,$2631,$2635,$2638); + $2685 = HEAP32[$yymsp>>2]|0; + $2686 = ((($2685)) + -48|0); + $2687 = ((($2686)) + 4|0); + $2688 = HEAP32[$yymsp>>2]|0; + $2689 = ((($2688)) + -48|0); + $2690 = ((($2689)) + 4|0); + $2691 = HEAP32[$yymsp>>2]|0; + $2692 = ((($2691)) + 4|0); + _spanSet($2687,$2690,$2692); + $2693 = HEAP32[$pParse>>2]|0; + $2694 = (_sqlite3PExpr($2693,83,0,0,0)|0); + $2695 = HEAP32[$yymsp>>2]|0; + $2696 = ((($2695)) + -48|0); + $2697 = ((($2696)) + 4|0); + HEAP32[$2697>>2] = $2694; + $2698 = HEAP32[$yymsp>>2]|0; + $2699 = ((($2698)) + -48|0); + $2700 = ((($2699)) + 4|0); + $2701 = HEAP32[$2700>>2]|0; + $2702 = ($2701|0)!=(0|0); + if ($2702) { + $2703 = HEAP32[$yymsp>>2]|0; + $2704 = ((($2703)) + -48|0); + $2705 = ((($2704)) + 4|0); + $2706 = HEAP32[$2705>>2]|0; + $2707 = ((($2706)) + 1|0); + HEAP8[$2707>>0] = 4; + } break; } case 248: { - $2639 = HEAP32[$pParse>>2]|0; - $2640 = HEAP32[$yymsp>>2]|0; - $2641 = ((($2640)) + 4|0); - $2642 = HEAP32[$2641>>2]|0; - _sqlite3Detach($2639,$2642); + $2708 = HEAP32[$yymsp>>2]|0; + $2709 = ((($2708)) + -80|0); + $2710 = ((($2709)) + 4|0); + $2711 = HEAP32[$yymsp>>2]|0; + $2712 = ((($2711)) + -80|0); + $2713 = ((($2712)) + 4|0); + $2714 = HEAP32[$yymsp>>2]|0; + $2715 = ((($2714)) + 4|0); + _spanSet($2710,$2713,$2715); + $2716 = HEAP32[$pParse>>2]|0; + $2717 = HEAP32[$yymsp>>2]|0; + $2718 = ((($2717)) + -16|0); + $2719 = ((($2718)) + 4|0); + $2720 = (_sqlite3PExpr($2716,83,0,0,$2719)|0); + $2721 = HEAP32[$yymsp>>2]|0; + $2722 = ((($2721)) + -80|0); + $2723 = ((($2722)) + 4|0); + HEAP32[$2723>>2] = $2720; + $2724 = HEAP32[$yymsp>>2]|0; + $2725 = ((($2724)) + -80|0); + $2726 = ((($2725)) + 4|0); + $2727 = HEAP32[$2726>>2]|0; + $2728 = ($2727|0)!=(0|0); + if ($2728) { + $2729 = HEAP32[$yymsp>>2]|0; + $2730 = ((($2729)) + -48|0); + $2731 = ((($2730)) + 4|0); + $2732 = HEAP32[$2731>>2]|0; + $2733 = $2732&255; + $2734 = HEAP32[$yymsp>>2]|0; + $2735 = ((($2734)) + -80|0); + $2736 = ((($2735)) + 4|0); + $2737 = HEAP32[$2736>>2]|0; + $2738 = ((($2737)) + 1|0); + HEAP8[$2738>>0] = $2733; + } + break; + } + case 249: { + $2739 = HEAP32[$yymsp>>2]|0; + $2740 = ((($2739)) + 4|0); + HEAP32[$2740>>2] = 1; break; } case 251: { - $2643 = HEAP32[$pParse>>2]|0; - _sqlite3Reindex($2643,0,0); + $2741 = HEAP32[$yymsp>>2]|0; + $2742 = ((($2741)) + 4|0); + HEAP32[$2742>>2] = 3; break; } case 252: { - $2644 = HEAP32[$pParse>>2]|0; - $2645 = HEAP32[$yymsp>>2]|0; - $2646 = ((($2645)) + -16|0); - $2647 = ((($2646)) + 4|0); - $2648 = HEAP32[$yymsp>>2]|0; - $2649 = ((($2648)) + 4|0); - _sqlite3Reindex($2644,$2647,$2649); + $2743 = HEAP32[$pParse>>2]|0; + $2744 = HEAP32[$yymsp>>2]|0; + $2745 = ((($2744)) + 4|0); + $2746 = HEAP32[$2745>>2]|0; + $2747 = HEAP32[$yymsp>>2]|0; + $2748 = ((($2747)) + -16|0); + $2749 = ((($2748)) + 4|0); + $2750 = HEAP32[$2749>>2]|0; + _sqlite3DropTrigger($2743,$2746,$2750); break; } case 253: { - $2650 = HEAP32[$pParse>>2]|0; - _sqlite3Analyze($2650,0,0); + $2751 = HEAP32[$pParse>>2]|0; + $2752 = HEAP32[$yymsp>>2]|0; + $2753 = ((($2752)) + -48|0); + $2754 = ((($2753)) + 4|0); + $2755 = HEAP32[$2754>>2]|0; + $2756 = HEAP32[$yymsp>>2]|0; + $2757 = ((($2756)) + -16|0); + $2758 = ((($2757)) + 4|0); + $2759 = HEAP32[$2758>>2]|0; + $2760 = HEAP32[$yymsp>>2]|0; + $2761 = ((($2760)) + 4|0); + $2762 = HEAP32[$2761>>2]|0; + _sqlite3Attach($2751,$2755,$2759,$2762); break; } case 254: { - $2651 = HEAP32[$pParse>>2]|0; - $2652 = HEAP32[$yymsp>>2]|0; - $2653 = ((($2652)) + -16|0); - $2654 = ((($2653)) + 4|0); - $2655 = HEAP32[$yymsp>>2]|0; - $2656 = ((($2655)) + 4|0); - _sqlite3Analyze($2651,$2654,$2656); - break; - } - case 255: { - $2657 = HEAP32[$pParse>>2]|0; - $2658 = HEAP32[$yymsp>>2]|0; - $2659 = ((($2658)) + -48|0); - $2660 = ((($2659)) + 4|0); - $2661 = HEAP32[$2660>>2]|0; - $2662 = HEAP32[$yymsp>>2]|0; - $2663 = ((($2662)) + 4|0); - _sqlite3AlterRenameTable($2657,$2661,$2663); - break; - } - case 256: { - $2664 = HEAP32[$pParse>>2]|0; - $2665 = ((($2664)) + 508|0); - $2666 = HEAP32[$2665>>2]|0; - $2667 = HEAP32[$yymsp>>2]|0; - $2668 = ((($2667)) + -16|0); - $2669 = ((($2668)) + 4|0); - $2670 = HEAP32[$2669>>2]|0; - $2671 = $2666; - $2672 = $2670; - $2673 = (($2671) - ($2672))|0; - $2674 = HEAP32[$pParse>>2]|0; - $2675 = ((($2674)) + 508|0); - $2676 = ((($2675)) + 4|0); - $2677 = HEAP32[$2676>>2]|0; - $2678 = (($2673) + ($2677))|0; - $2679 = HEAP32[$yymsp>>2]|0; - $2680 = ((($2679)) + -16|0); - $2681 = ((($2680)) + 4|0); - $2682 = ((($2681)) + 4|0); - HEAP32[$2682>>2] = $2678; - $2683 = HEAP32[$pParse>>2]|0; - $2684 = HEAP32[$yymsp>>2]|0; - $2685 = ((($2684)) + -16|0); - $2686 = ((($2685)) + 4|0); - _sqlite3AlterFinishAddColumn($2683,$2686); + $2763 = HEAP32[$pParse>>2]|0; + $2764 = HEAP32[$yymsp>>2]|0; + $2765 = ((($2764)) + 4|0); + $2766 = HEAP32[$2765>>2]|0; + _sqlite3Detach($2763,$2766); break; } case 257: { - $2687 = HEAP32[$pParse>>2]|0; - _disableLookaside($2687); - $2688 = HEAP32[$pParse>>2]|0; - $2689 = HEAP32[$yymsp>>2]|0; - $2690 = ((($2689)) + 4|0); - $2691 = HEAP32[$2690>>2]|0; - _sqlite3AlterBeginAddColumn($2688,$2691); + $2767 = HEAP32[$pParse>>2]|0; + _sqlite3Reindex($2767,0,0); break; } case 258: { - $2692 = HEAP32[$pParse>>2]|0; - _sqlite3VtabFinishParse($2692,0); + $2768 = HEAP32[$pParse>>2]|0; + $2769 = HEAP32[$yymsp>>2]|0; + $2770 = ((($2769)) + -16|0); + $2771 = ((($2770)) + 4|0); + $2772 = HEAP32[$yymsp>>2]|0; + $2773 = ((($2772)) + 4|0); + _sqlite3Reindex($2768,$2771,$2773); break; } case 259: { - $2693 = HEAP32[$pParse>>2]|0; - $2694 = HEAP32[$yymsp>>2]|0; - $2695 = ((($2694)) + 4|0); - _sqlite3VtabFinishParse($2693,$2695); + $2774 = HEAP32[$pParse>>2]|0; + _sqlite3Analyze($2774,0,0); break; } case 260: { - $2696 = HEAP32[$pParse>>2]|0; - $2697 = HEAP32[$yymsp>>2]|0; - $2698 = ((($2697)) + -48|0); - $2699 = ((($2698)) + 4|0); - $2700 = HEAP32[$yymsp>>2]|0; - $2701 = ((($2700)) + -32|0); - $2702 = ((($2701)) + 4|0); - $2703 = HEAP32[$yymsp>>2]|0; - $2704 = ((($2703)) + 4|0); - $2705 = HEAP32[$yymsp>>2]|0; - $2706 = ((($2705)) + -64|0); - $2707 = ((($2706)) + 4|0); - $2708 = HEAP32[$2707>>2]|0; - _sqlite3VtabBeginParse($2696,$2699,$2702,$2704,$2708); + $2775 = HEAP32[$pParse>>2]|0; + $2776 = HEAP32[$yymsp>>2]|0; + $2777 = ((($2776)) + -16|0); + $2778 = ((($2777)) + 4|0); + $2779 = HEAP32[$yymsp>>2]|0; + $2780 = ((($2779)) + 4|0); + _sqlite3Analyze($2775,$2778,$2780); break; } case 261: { - $2709 = HEAP32[$pParse>>2]|0; - _sqlite3VtabArgInit($2709); - break; - } - case 264: case 263: case 262: { - $2710 = HEAP32[$pParse>>2]|0; - $2711 = HEAP32[$yymsp>>2]|0; - $2712 = ((($2711)) + 4|0); - _sqlite3VtabArgExtend($2710,$2712); + $2781 = HEAP32[$pParse>>2]|0; + $2782 = HEAP32[$yymsp>>2]|0; + $2783 = ((($2782)) + -48|0); + $2784 = ((($2783)) + 4|0); + $2785 = HEAP32[$2784>>2]|0; + $2786 = HEAP32[$yymsp>>2]|0; + $2787 = ((($2786)) + 4|0); + _sqlite3AlterRenameTable($2781,$2785,$2787); + break; + } + case 262: { + $2788 = HEAP32[$pParse>>2]|0; + $2789 = ((($2788)) + 392|0); + $2790 = HEAP32[$2789>>2]|0; + $2791 = HEAP32[$yymsp>>2]|0; + $2792 = ((($2791)) + -16|0); + $2793 = ((($2792)) + 4|0); + $2794 = HEAP32[$2793>>2]|0; + $2795 = $2790; + $2796 = $2794; + $2797 = (($2795) - ($2796))|0; + $2798 = HEAP32[$pParse>>2]|0; + $2799 = ((($2798)) + 392|0); + $2800 = ((($2799)) + 4|0); + $2801 = HEAP32[$2800>>2]|0; + $2802 = (($2797) + ($2801))|0; + $2803 = HEAP32[$yymsp>>2]|0; + $2804 = ((($2803)) + -16|0); + $2805 = ((($2804)) + 4|0); + $2806 = ((($2805)) + 4|0); + HEAP32[$2806>>2] = $2802; + $2807 = HEAP32[$pParse>>2]|0; + $2808 = HEAP32[$yymsp>>2]|0; + $2809 = ((($2808)) + -16|0); + $2810 = ((($2809)) + 4|0); + _sqlite3AlterFinishAddColumn($2807,$2810); + break; + } + case 263: { + $2811 = HEAP32[$pParse>>2]|0; + _disableLookaside($2811); + $2812 = HEAP32[$pParse>>2]|0; + $2813 = HEAP32[$yymsp>>2]|0; + $2814 = ((($2813)) + 4|0); + $2815 = HEAP32[$2814>>2]|0; + _sqlite3AlterBeginAddColumn($2812,$2815); + break; + } + case 264: { + $2816 = HEAP32[$pParse>>2]|0; + _sqlite3VtabFinishParse($2816,0); break; } case 265: { - $2713 = HEAP32[$yymsp>>2]|0; - $2714 = ((($2713)) + 16|0); - $2715 = ((($2714)) + 4|0); - HEAP32[$2715>>2] = 0; + $2817 = HEAP32[$pParse>>2]|0; + $2818 = HEAP32[$yymsp>>2]|0; + $2819 = ((($2818)) + 4|0); + _sqlite3VtabFinishParse($2817,$2819); break; } case 266: { - $2716 = HEAP32[$yymsp>>2]|0; - $2717 = ((($2716)) + 4|0); - $2718 = HEAP32[$2717>>2]|0; - $2719 = HEAP32[$yymsp>>2]|0; - $2720 = ((($2719)) + -16|0); - $2721 = ((($2720)) + 4|0); - HEAP32[$2721>>2] = $2718; + $2820 = HEAP32[$pParse>>2]|0; + $2821 = HEAP32[$yymsp>>2]|0; + $2822 = ((($2821)) + -48|0); + $2823 = ((($2822)) + 4|0); + $2824 = HEAP32[$yymsp>>2]|0; + $2825 = ((($2824)) + -32|0); + $2826 = ((($2825)) + 4|0); + $2827 = HEAP32[$yymsp>>2]|0; + $2828 = ((($2827)) + 4|0); + $2829 = HEAP32[$yymsp>>2]|0; + $2830 = ((($2829)) + -64|0); + $2831 = ((($2830)) + 4|0); + $2832 = HEAP32[$2831>>2]|0; + _sqlite3VtabBeginParse($2820,$2823,$2826,$2828,$2832); break; } case 267: { - $2722 = HEAP32[$yymsp>>2]|0; - $2723 = ((($2722)) + 4|0); - $2724 = HEAP32[$2723>>2]|0; - $2725 = HEAP32[$yymsp>>2]|0; - $2726 = ((($2725)) + -32|0); - $2727 = ((($2726)) + 4|0); - HEAP32[$2727>>2] = $2724; - break; - } - case 268: { - $2728 = HEAP32[$pParse>>2]|0; - $2729 = HEAP32[$yymsp>>2]|0; - $2730 = ((($2729)) + -80|0); - $2731 = ((($2730)) + 4|0); - $2732 = HEAP32[$yymsp>>2]|0; - $2733 = ((($2732)) + -64|0); - $2734 = ((($2733)) + 4|0); - $2735 = HEAP32[$2734>>2]|0; - $2736 = HEAP32[$yymsp>>2]|0; - $2737 = ((($2736)) + -16|0); - $2738 = ((($2737)) + 4|0); - $2739 = HEAP32[$2738>>2]|0; - $2740 = (_sqlite3WithAdd($2728,0,$2731,$2735,$2739)|0); - $2741 = HEAP32[$yymsp>>2]|0; - $2742 = ((($2741)) + -80|0); - $2743 = ((($2742)) + 4|0); - HEAP32[$2743>>2] = $2740; - break; - } - case 269: { - $2744 = HEAP32[$pParse>>2]|0; - $2745 = HEAP32[$yymsp>>2]|0; - $2746 = ((($2745)) + -112|0); - $2747 = ((($2746)) + 4|0); - $2748 = HEAP32[$2747>>2]|0; - $2749 = HEAP32[$yymsp>>2]|0; - $2750 = ((($2749)) + -80|0); - $2751 = ((($2750)) + 4|0); - $2752 = HEAP32[$yymsp>>2]|0; - $2753 = ((($2752)) + -64|0); - $2754 = ((($2753)) + 4|0); - $2755 = HEAP32[$2754>>2]|0; - $2756 = HEAP32[$yymsp>>2]|0; - $2757 = ((($2756)) + -16|0); - $2758 = ((($2757)) + 4|0); - $2759 = HEAP32[$2758>>2]|0; - $2760 = (_sqlite3WithAdd($2744,$2748,$2751,$2755,$2759)|0); - $2761 = HEAP32[$yymsp>>2]|0; - $2762 = ((($2761)) + -112|0); - $2763 = ((($2762)) + 4|0); - HEAP32[$2763>>2] = $2760; + $2833 = HEAP32[$pParse>>2]|0; + _sqlite3VtabArgInit($2833); + break; + } + case 270: case 269: case 268: { + $2834 = HEAP32[$pParse>>2]|0; + $2835 = HEAP32[$yymsp>>2]|0; + $2836 = ((($2835)) + 4|0); + _sqlite3VtabArgExtend($2834,$2836); + break; + } + case 271: { + $2837 = HEAP32[$yymsp>>2]|0; + $2838 = ((($2837)) + 16|0); + $2839 = ((($2838)) + 4|0); + HEAP32[$2839>>2] = 0; + break; + } + case 272: { + $2840 = HEAP32[$yymsp>>2]|0; + $2841 = ((($2840)) + 4|0); + $2842 = HEAP32[$2841>>2]|0; + $2843 = HEAP32[$yymsp>>2]|0; + $2844 = ((($2843)) + -16|0); + $2845 = ((($2844)) + 4|0); + HEAP32[$2845>>2] = $2842; + break; + } + case 273: { + $2846 = HEAP32[$yymsp>>2]|0; + $2847 = ((($2846)) + 4|0); + $2848 = HEAP32[$2847>>2]|0; + $2849 = HEAP32[$yymsp>>2]|0; + $2850 = ((($2849)) + -32|0); + $2851 = ((($2850)) + 4|0); + HEAP32[$2851>>2] = $2848; + break; + } + case 274: { + $2852 = HEAP32[$pParse>>2]|0; + $2853 = HEAP32[$yymsp>>2]|0; + $2854 = ((($2853)) + -80|0); + $2855 = ((($2854)) + 4|0); + $2856 = HEAP32[$yymsp>>2]|0; + $2857 = ((($2856)) + -64|0); + $2858 = ((($2857)) + 4|0); + $2859 = HEAP32[$2858>>2]|0; + $2860 = HEAP32[$yymsp>>2]|0; + $2861 = ((($2860)) + -16|0); + $2862 = ((($2861)) + 4|0); + $2863 = HEAP32[$2862>>2]|0; + $2864 = (_sqlite3WithAdd($2852,0,$2855,$2859,$2863)|0); + $2865 = HEAP32[$yymsp>>2]|0; + $2866 = ((($2865)) + -80|0); + $2867 = ((($2866)) + 4|0); + HEAP32[$2867>>2] = $2864; + break; + } + case 275: { + $2868 = HEAP32[$pParse>>2]|0; + $2869 = HEAP32[$yymsp>>2]|0; + $2870 = ((($2869)) + -112|0); + $2871 = ((($2870)) + 4|0); + $2872 = HEAP32[$2871>>2]|0; + $2873 = HEAP32[$yymsp>>2]|0; + $2874 = ((($2873)) + -80|0); + $2875 = ((($2874)) + 4|0); + $2876 = HEAP32[$yymsp>>2]|0; + $2877 = ((($2876)) + -64|0); + $2878 = ((($2877)) + 4|0); + $2879 = HEAP32[$2878>>2]|0; + $2880 = HEAP32[$yymsp>>2]|0; + $2881 = ((($2880)) + -16|0); + $2882 = ((($2881)) + 4|0); + $2883 = HEAP32[$2882>>2]|0; + $2884 = (_sqlite3WithAdd($2868,$2872,$2875,$2879,$2883)|0); + $2885 = HEAP32[$yymsp>>2]|0; + $2886 = ((($2885)) + -112|0); + $2887 = ((($2886)) + 4|0); + HEAP32[$2887>>2] = $2884; break; } default: { } } } while(0); - $2764 = HEAP32[$1>>2]|0; - $2765 = (27102 + ($2764<<1)|0); - $2766 = HEAP8[$2765>>0]|0; - $2767 = $2766&255; - HEAP32[$yygoto>>2] = $2767; - $2768 = HEAP32[$1>>2]|0; - $2769 = (27102 + ($2768<<1)|0); - $2770 = ((($2769)) + 1|0); - $2771 = HEAP8[$2770>>0]|0; - $2772 = $2771&255; - HEAP32[$yysize>>2] = $2772; - $2773 = HEAP32[$yysize>>2]|0; - $2774 = (0 - ($2773))|0; - $2775 = HEAP32[$yymsp>>2]|0; - $2776 = (($2775) + ($2774<<4)|0); - $2777 = HEAP16[$2776>>1]|0; - $2778 = $2777&65535; - $2779 = HEAP32[$yygoto>>2]|0; - $2780 = $2779&255; - $2781 = (_yy_find_reduce_action($2778,$2780)|0); - HEAP32[$yyact>>2] = $2781; - $2782 = HEAP32[$yyact>>2]|0; - $2783 = ($2782|0)<=(974); - if (!($2783)) { - $2805 = HEAP32[$yysize>>2]|0; - $2806 = HEAP32[$0>>2]|0; - $2807 = HEAP32[$2806>>2]|0; - $2808 = (($2807) - ($2805))|0; - HEAP32[$2806>>2] = $2808; - $2809 = HEAP32[$0>>2]|0; - _yy_accept($2809); + $2888 = HEAP32[$1>>2]|0; + $2889 = (26486 + ($2888<<1)|0); + $2890 = HEAP8[$2889>>0]|0; + $2891 = $2890&255; + HEAP32[$yygoto>>2] = $2891; + $2892 = HEAP32[$1>>2]|0; + $2893 = (26486 + ($2892<<1)|0); + $2894 = ((($2893)) + 1|0); + $2895 = HEAP8[$2894>>0]|0; + $2896 = $2895&255; + HEAP32[$yysize>>2] = $2896; + $2897 = HEAP32[$yysize>>2]|0; + $2898 = (0 - ($2897))|0; + $2899 = HEAP32[$yymsp>>2]|0; + $2900 = (($2899) + ($2898<<4)|0); + $2901 = HEAP16[$2900>>1]|0; + $2902 = $2901&65535; + $2903 = HEAP32[$yygoto>>2]|0; + $2904 = $2903&255; + $2905 = (_yy_find_reduce_action($2902,$2904)|0); + HEAP32[$yyact>>2] = $2905; + $2906 = HEAP32[$yyact>>2]|0; + $2907 = ($2906|0)<=(999); + if (!($2907)) { + $2926 = HEAP32[$yysize>>2]|0; + $2927 = HEAP32[$0>>2]|0; + $2928 = HEAP32[$2927>>2]|0; + $2929 = (0 - ($2926))|0; + $2930 = (($2928) + ($2929<<4)|0); + HEAP32[$2927>>2] = $2930; + $2931 = HEAP32[$0>>2]|0; + _yy_accept($2931); STACKTOP = sp;return; } - $2784 = HEAP32[$yyact>>2]|0; - $2785 = ($2784|0)>(439); - if ($2785) { - $2786 = HEAP32[$yyact>>2]|0; - $2787 = (($2786) + 326)|0; - HEAP32[$yyact>>2] = $2787; - } - $2788 = HEAP32[$yysize>>2]|0; - $2789 = (($2788) - 1)|0; - $2790 = HEAP32[$0>>2]|0; - $2791 = HEAP32[$2790>>2]|0; - $2792 = (($2791) - ($2789))|0; - HEAP32[$2790>>2] = $2792; - $2793 = HEAP32[$yysize>>2]|0; - $2794 = (($2793) - 1)|0; - $2795 = HEAP32[$yymsp>>2]|0; - $2796 = (0 - ($2794))|0; - $2797 = (($2795) + ($2796<<4)|0); - HEAP32[$yymsp>>2] = $2797; - $2798 = HEAP32[$yyact>>2]|0; - $2799 = $2798&65535; - $2800 = HEAP32[$yymsp>>2]|0; - HEAP16[$2800>>1] = $2799; - $2801 = HEAP32[$yygoto>>2]|0; - $2802 = $2801&255; - $2803 = HEAP32[$yymsp>>2]|0; - $2804 = ((($2803)) + 2|0); - HEAP8[$2804>>0] = $2802; + $2908 = HEAP32[$yyact>>2]|0; + $2909 = ($2908|0)>(455); + if ($2909) { + $2910 = HEAP32[$yyact>>2]|0; + $2911 = (($2910) + 332)|0; + HEAP32[$yyact>>2] = $2911; + } + $2912 = HEAP32[$yysize>>2]|0; + $2913 = (($2912) - 1)|0; + $2914 = HEAP32[$yymsp>>2]|0; + $2915 = (0 - ($2913))|0; + $2916 = (($2914) + ($2915<<4)|0); + HEAP32[$yymsp>>2] = $2916; + $2917 = HEAP32[$yymsp>>2]|0; + $2918 = HEAP32[$0>>2]|0; + HEAP32[$2918>>2] = $2917; + $2919 = HEAP32[$yyact>>2]|0; + $2920 = $2919&65535; + $2921 = HEAP32[$yymsp>>2]|0; + HEAP16[$2921>>1] = $2920; + $2922 = HEAP32[$yygoto>>2]|0; + $2923 = $2922&255; + $2924 = HEAP32[$yymsp>>2]|0; + $2925 = ((($2924)) + 2|0); + HEAP8[$2925>>0] = $2923; STACKTOP = sp;return; } function _yy_syntax_error($yypParser,$yymajor,$yyminor) { @@ -111413,7 +112111,7 @@ function _yy_syntax_error($yypParser,$yymajor,$yyminor) { HEAP32[$pParse>>2] = $4; $5 = HEAP32[$pParse>>2]|0; HEAP32[$vararg_buffer>>2] = $yyminor; - _sqlite3ErrorMsg($5,27078,$vararg_buffer); + _sqlite3ErrorMsg($5,26462,$vararg_buffer); $6 = HEAP32[$pParse>>2]|0; $7 = HEAP32[$0>>2]|0; $8 = ((($7)) + 4|0); @@ -111422,7 +112120,8 @@ function _yy_syntax_error($yypParser,$yymajor,$yyminor) { } function _yyStackOverflow($yypParser) { $yypParser = $yypParser|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParse = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParse = 0, $vararg_buffer = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; @@ -111435,24 +112134,26 @@ function _yyStackOverflow($yypParser) { HEAP32[$pParse>>2] = $3; $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (($5) + -1)|0; + $6 = ((($5)) + -16|0); HEAP32[$4>>2] = $6; while(1) { $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>=(0); - if (!($9)) { + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 8|0); + $11 = ($8>>>0)>($10>>>0); + if (!($11)) { break; } - $10 = HEAP32[$0>>2]|0; - _yy_pop_parser_stack($10); + $12 = HEAP32[$0>>2]|0; + _yy_pop_parser_stack($12); } - $11 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($11,38156,$vararg_buffer); - $12 = HEAP32[$pParse>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - HEAP32[$14>>2] = $12; + $13 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($13,37597,$vararg_buffer); + $14 = HEAP32[$pParse>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 4|0); + HEAP32[$16>>2] = $14; STACKTOP = sp;return; } function _sqlite3FinishCoding($pParse) { @@ -111460,19 +112161,20 @@ function _sqlite3FinishCoding($pParse) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $pEL = 0, $v = 0, $vtab = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $pEL = 0, $pSchema = 0, $v = 0, $vtab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $db = sp + 20|0; - $v = sp + 16|0; - $iDb = sp + 12|0; - $i = sp + 8|0; + $0 = sp + 28|0; + $db = sp + 24|0; + $v = sp + 20|0; + $iDb = sp + 16|0; + $i = sp + 12|0; + $pSchema = sp + 8|0; $vtab = sp + 4|0; $pEL = sp; HEAP32[$0>>2] = $pParse; @@ -111493,7 +112195,7 @@ function _sqlite3FinishCoding($pParse) { $11 = ($10|0)!=(0); if (!($11)) { $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 68|0); + $13 = ((($12)) + 36|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)!=(0); if (!($15)) { @@ -111504,222 +112206,213 @@ function _sqlite3FinishCoding($pParse) { $25 = ($24|0)!=(0|0); do { if ($25) { - while(1) { - $26 = HEAP32[$v>>2]|0; - $27 = (_sqlite3VdbeDeletePriorOpcode($26,109)|0); - $28 = ($27|0)!=(0); - if (!($28)) { - break; - } - } - $29 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($29,73)|0); - $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 69|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 340|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)!=(0); - if (!($38)) { - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 324|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)!=(0|0); - if (!($42)) { + $26 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp0($26,75)|0); + $27 = HEAP32[$db>>2]|0; + $28 = ((($27)) + 69|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 96|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)!=(0); + if (!($35)) { + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 80|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0|0); + if (!($39)) { break; } } - $43 = HEAP32[$v>>2]|0; - _sqlite3VdbeJumpHere($43,0); + $40 = HEAP32[$v>>2]|0; + _sqlite3VdbeJumpHere($40,0); HEAP32[$iDb>>2] = 0; while(1) { - $44 = HEAP32[$iDb>>2]|0; - $45 = HEAP32[$db>>2]|0; - $46 = ((($45)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($44|0)<($47|0); - if (!($48)) { + $41 = HEAP32[$iDb>>2]|0; + $42 = HEAP32[$db>>2]|0; + $43 = ((($42)) + 20|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($41|0)<($44|0); + if (!($45)) { break; } - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 340|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$iDb>>2]|0; - $53 = 1 << $52; - $54 = $51 & $53; - $55 = ($54|0)!=(0); - $56 = $55&1; - $57 = ($56|0)==(0); - if (!($57)) { - $58 = HEAP32[$v>>2]|0; - $59 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($58,$59); - $60 = HEAP32[$v>>2]|0; - $61 = HEAP32[$iDb>>2]|0; - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 336|0); - $64 = HEAP32[$63>>2]|0; + $46 = HEAP32[$0>>2]|0; + $47 = ((($46)) + 96|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP32[$iDb>>2]|0; + $50 = 1 << $49; + $51 = $48 & $50; + $52 = ($51|0)!=(0); + $53 = $52&1; + $54 = ($53|0)==(0); + if (!($54)) { + $55 = HEAP32[$v>>2]|0; + $56 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($55,$56); + $57 = HEAP32[$iDb>>2]|0; + $58 = HEAP32[$db>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + ($57<<4)|0); + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$pSchema>>2] = $63; + $64 = HEAP32[$v>>2]|0; $65 = HEAP32[$iDb>>2]|0; - $66 = 1 << $65; - $67 = $64 & $66; - $68 = ($67|0)!=(0); - $69 = $68&1; - $70 = HEAP32[$iDb>>2]|0; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 344|0); - $73 = (($72) + ($70<<2)|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$iDb>>2]|0; - $76 = HEAP32[$db>>2]|0; - $77 = ((($76)) + 16|0); + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 92|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$iDb>>2]|0; + $70 = 1 << $69; + $71 = $68 & $70; + $72 = ($71|0)!=(0); + $73 = $72&1; + $74 = HEAP32[$pSchema>>2]|0; + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$pSchema>>2]|0; + $77 = ((($76)) + 4|0); $78 = HEAP32[$77>>2]|0; - $79 = (($78) + ($75<<4)|0); - $80 = ((($79)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ((($81)) + 4|0); - $83 = HEAP32[$82>>2]|0; - (_sqlite3VdbeAddOp4Int($60,2,$61,$69,$74,$83)|0); - $84 = HEAP32[$db>>2]|0; - $85 = ((($84)) + 144|0); - $86 = ((($85)) + 5|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = ($88|0)==(0); - if ($89) { - $90 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($90,1); + (_sqlite3VdbeAddOp4Int($64,2,$65,$73,$75,$78)|0); + $79 = HEAP32[$db>>2]|0; + $80 = ((($79)) + 148|0); + $81 = ((($80)) + 5|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = ($83|0)==(0); + if ($84) { + $85 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($85,1); } } - $91 = HEAP32[$iDb>>2]|0; - $92 = (($91) + 1)|0; - HEAP32[$iDb>>2] = $92; + $86 = HEAP32[$iDb>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$iDb>>2] = $87; } HEAP32[$i>>2] = 0; while(1) { - $93 = HEAP32[$i>>2]|0; - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 456|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($93|0)<($96|0); - if (!($97)) { + $88 = HEAP32[$i>>2]|0; + $89 = HEAP32[$0>>2]|0; + $90 = ((($89)) + 412|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($88|0)<($91|0); + if (!($92)) { break; } - $98 = HEAP32[$db>>2]|0; - $99 = HEAP32[$i>>2]|0; - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + 524|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) + ($99<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (_sqlite3GetVTable($98,$104)|0); - HEAP32[$vtab>>2] = $105; - $106 = HEAP32[$v>>2]|0; - $107 = HEAP32[$vtab>>2]|0; - (_sqlite3VdbeAddOp4($106,150,0,0,0,$107,-10)|0); - $108 = HEAP32[$i>>2]|0; - $109 = (($108) + 1)|0; - HEAP32[$i>>2] = $109; + $93 = HEAP32[$db>>2]|0; + $94 = HEAP32[$i>>2]|0; + $95 = HEAP32[$0>>2]|0; + $96 = ((($95)) + 460|0); + $97 = HEAP32[$96>>2]|0; + $98 = (($97) + ($94<<2)|0); + $99 = HEAP32[$98>>2]|0; + $100 = (_sqlite3GetVTable($93,$99)|0); + HEAP32[$vtab>>2] = $100; + $101 = HEAP32[$v>>2]|0; + $102 = HEAP32[$vtab>>2]|0; + (_sqlite3VdbeAddOp4($101,152,0,0,0,$102,-10)|0); + $103 = HEAP32[$i>>2]|0; + $104 = (($103) + 1)|0; + HEAP32[$i>>2] = $104; } - $110 = HEAP32[$0>>2]|0; - $111 = ((($110)) + 456|0); - HEAP32[$111>>2] = 0; - $112 = HEAP32[$0>>2]|0; - _codeTableLocks($112); - $113 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementBegin($113); - $114 = HEAP32[$0>>2]|0; - $115 = ((($114)) + 324|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)!=(0|0); - L27: do { - if ($117) { - $118 = HEAP32[$0>>2]|0; - $119 = ((($118)) + 324|0); - $120 = HEAP32[$119>>2]|0; - HEAP32[$pEL>>2] = $120; - $121 = HEAP32[$0>>2]|0; - $122 = ((($121)) + 23|0); - HEAP8[$122>>0] = 0; + $105 = HEAP32[$0>>2]|0; + $106 = ((($105)) + 412|0); + HEAP32[$106>>2] = 0; + $107 = HEAP32[$0>>2]|0; + _codeTableLocks($107); + $108 = HEAP32[$0>>2]|0; + _sqlite3AutoincrementBegin($108); + $109 = HEAP32[$0>>2]|0; + $110 = ((($109)) + 80|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)!=(0|0); + L25: do { + if ($112) { + $113 = HEAP32[$0>>2]|0; + $114 = ((($113)) + 80|0); + $115 = HEAP32[$114>>2]|0; + HEAP32[$pEL>>2] = $115; + $116 = HEAP32[$0>>2]|0; + $117 = ((($116)) + 23|0); + HEAP8[$117>>0] = 0; HEAP32[$i>>2] = 0; while(1) { + $118 = HEAP32[$i>>2]|0; + $119 = HEAP32[$pEL>>2]|0; + $120 = HEAP32[$119>>2]|0; + $121 = ($118|0)<($120|0); + if (!($121)) { + break L25; + } + $122 = HEAP32[$0>>2]|0; $123 = HEAP32[$i>>2]|0; $124 = HEAP32[$pEL>>2]|0; - $125 = HEAP32[$124>>2]|0; - $126 = ($123|0)<($125|0); - if (!($126)) { - break L27; - } - $127 = HEAP32[$0>>2]|0; - $128 = HEAP32[$i>>2]|0; - $129 = HEAP32[$pEL>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - $132 = (($131) + (($128*20)|0)|0); - $133 = HEAP32[$132>>2]|0; - $134 = HEAP32[$i>>2]|0; - $135 = HEAP32[$pEL>>2]|0; - $136 = ((($135)) + 4|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($137) + (($134*20)|0)|0); - $139 = ((($138)) + 16|0); - $140 = HEAP32[$139>>2]|0; - _sqlite3ExprCode($127,$133,$140); - $141 = HEAP32[$i>>2]|0; - $142 = (($141) + 1)|0; - HEAP32[$i>>2] = $142; + $125 = ((($124)) + 4|0); + $126 = HEAP32[$125>>2]|0; + $127 = (($126) + (($123*20)|0)|0); + $128 = HEAP32[$127>>2]|0; + $129 = HEAP32[$i>>2]|0; + $130 = HEAP32[$pEL>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($132) + (($129*20)|0)|0); + $134 = ((($133)) + 16|0); + $135 = HEAP32[$134>>2]|0; + _sqlite3ExprCode($122,$128,$135); + $136 = HEAP32[$i>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[$i>>2] = $137; } } } while(0); - $143 = HEAP32[$v>>2]|0; - (_sqlite3VdbeGoto($143,1)|0); + $138 = HEAP32[$v>>2]|0; + (_sqlite3VdbeGoto($138,1)|0); } } } while(0); - $144 = HEAP32[$v>>2]|0; - $145 = ($144|0)!=(0|0); - if ($145) { - $146 = HEAP32[$0>>2]|0; - $147 = ((($146)) + 68|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==(0); - if ($149) { - $150 = HEAP32[$db>>2]|0; - $151 = ((($150)) + 69|0); - $152 = HEAP8[$151>>0]|0; - $153 = ($152<<24>>24)!=(0); - if (!($153)) { - $154 = HEAP32[$0>>2]|0; - $155 = ((($154)) + 412|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)!=(0|0); - if ($157) { - $158 = HEAP32[$0>>2]|0; - $159 = ((($158)) + 72|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160|0)==(0); - if ($161) { - $162 = HEAP32[$0>>2]|0; - $163 = ((($162)) + 72|0); - HEAP32[$163>>2] = 1; + $139 = HEAP32[$v>>2]|0; + $140 = ($139|0)!=(0|0); + if ($140) { + $141 = HEAP32[$0>>2]|0; + $142 = ((($141)) + 36|0); + $143 = HEAP32[$142>>2]|0; + $144 = ($143|0)==(0); + if ($144) { + $145 = HEAP32[$db>>2]|0; + $146 = ((($145)) + 69|0); + $147 = HEAP8[$146>>0]|0; + $148 = ($147<<24>>24)!=(0); + if (!($148)) { + $149 = HEAP32[$0>>2]|0; + $150 = ((($149)) + 120|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)!=(0|0); + if ($152) { + $153 = HEAP32[$0>>2]|0; + $154 = ((($153)) + 40|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)==(0); + if ($156) { + $157 = HEAP32[$0>>2]|0; + $158 = ((($157)) + 40|0); + HEAP32[$158>>2] = 1; } } - $164 = HEAP32[$v>>2]|0; - $165 = HEAP32[$0>>2]|0; - _sqlite3VdbeMakeReady($164,$165); - $166 = HEAP32[$0>>2]|0; - $167 = ((($166)) + 12|0); - HEAP32[$167>>2] = 101; + $159 = HEAP32[$v>>2]|0; + $160 = HEAP32[$0>>2]|0; + _sqlite3VdbeMakeReady($159,$160); + $161 = HEAP32[$0>>2]|0; + $162 = ((($161)) + 12|0); + HEAP32[$162>>2] = 101; STACKTOP = sp;return; } } } - $168 = HEAP32[$0>>2]|0; - $169 = ((($168)) + 12|0); - HEAP32[$169>>2] = 1; + $163 = HEAP32[$0>>2]|0; + $164 = ((($163)) + 12|0); + HEAP32[$164>>2] = 1; STACKTOP = sp;return; } } @@ -111753,7 +112446,7 @@ function _sqlite3BeginTransaction($pParse,$type) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3AuthCheck($4,22,38086,0,0)|0); + $5 = (_sqlite3AuthCheck($4,22,37527,0,0)|0); $6 = ($5|0)!=(0); if ($6) { STACKTOP = sp;return; @@ -111809,7 +112502,7 @@ function _sqlite3CommitTransaction($pParse) { $v = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,38109,0,0)|0); + $2 = (_sqlite3AuthCheck($1,22,37550,0,0)|0); $3 = ($2|0)!=(0); if ($3) { STACKTOP = sp;return; @@ -111835,7 +112528,7 @@ function _sqlite3RollbackTransaction($pParse) { $v = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,38100,0,0)|0); + $2 = (_sqlite3AuthCheck($1,22,37541,0,0)|0); $3 = ($2|0)!=(0); if ($3) { STACKTOP = sp;return; @@ -111886,7 +112579,7 @@ function _sqlite3Savepoint($pParse,$op,$pName) { if ($12) { $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (6352 + ($14<<2)|0); + $15 = (5512 + ($14<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$zName>>2]|0; $18 = (_sqlite3AuthCheck($13,32,$16,$17,0)|0); @@ -111964,19 +112657,19 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $8 = HEAP32[$7>>2]|0; HEAP32[$db>>2] = $8; $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 144|0); + $10 = ((($9)) + 148|0); $11 = ((($10)) + 5|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ($13|0)!=(0); if ($14) { $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 144|0); + $16 = ((($15)) + 148|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(1); if ($18) { $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 144|0); + $20 = ((($19)) + 148|0); $21 = ((($20)) + 4|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; @@ -111984,7 +112677,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $24 = HEAP32[$db>>2]|0; $25 = HEAP32[$iDb>>2]|0; $26 = ($25|0)==(1); - $27 = $26 ? 20521 : 20540; + $27 = $26 ? 19905 : 19924; $28 = (_sqlite3DbStrDup($24,$27)|0); HEAP32[$zName>>2] = $28; $29 = HEAP32[$1>>2]|0; @@ -112018,7 +112711,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $or$cond = $41 & $43; if ($or$cond) { $44 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($44,37976,$vararg_buffer); + _sqlite3ErrorMsg($44,37417,$vararg_buffer); STACKTOP = sp;return; } } @@ -112033,7 +112726,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ HEAP32[$zName>>2] = $49; } $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 500|0); + $51 = ((($50)) + 384|0); $52 = HEAP32[$pName>>2]|0; ;HEAP32[$51>>2]=HEAP32[$52>>2]|0;HEAP32[$51+4>>2]=HEAP32[$52+4>>2]|0; $53 = HEAP32[$zName>>2]|0; @@ -112048,7 +112741,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ L21: do { if (!($58)) { $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 144|0); + $60 = ((($59)) + 148|0); $61 = ((($60)) + 4|0); $62 = HEAP8[$61>>0]|0; $63 = $62&255; @@ -112066,7 +112759,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $71 = HEAP32[$0>>2]|0; $72 = HEAP32[$3>>2]|0; $73 = ($72|0)==(1); - $74 = $73 ? 20521 : 20540; + $74 = $73 ? 19905 : 19924; $75 = HEAP32[$zDb>>2]|0; $76 = (_sqlite3AuthCheck($71,18,$74,0,$75)|0); $77 = ($76|0)!=(0); @@ -112079,7 +112772,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $82 = HEAP32[$4>>2]|0; $83 = $82<<1; $84 = (($81) + ($83))|0; - $85 = (38017 + ($84)|0); + $85 = (37458 + ($84)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = HEAP32[$zName>>2]|0; @@ -112091,7 +112784,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ } } $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 454|0); + $93 = ((($92)) + 410|0); $94 = HEAP8[$93>>0]|0; $95 = ($94<<24>>24)!=(0); do { @@ -112128,7 +112821,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $121 = HEAP32[$0>>2]|0; $122 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $122; - _sqlite3ErrorMsg($121,38045,$vararg_buffer6); + _sqlite3ErrorMsg($121,37486,$vararg_buffer6); break L21; } $111 = HEAP32[$6>>2]|0; @@ -112141,7 +112834,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ } else { $114 = HEAP32[$pName>>2]|0; HEAP32[$vararg_buffer4>>2] = $114; - _sqlite3ErrorMsg($113,38021,$vararg_buffer4); + _sqlite3ErrorMsg($113,37462,$vararg_buffer4); break L21; } } @@ -112156,7 +112849,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $128 = ((($127)) + 12|0); HEAP32[$128>>2] = 7; $129 = HEAP32[$0>>2]|0; - $130 = ((($129)) + 68|0); + $130 = ((($129)) + 36|0); $131 = HEAP32[$130>>2]|0; $132 = (($131) + 1)|0; HEAP32[$130>>2] = $132; @@ -112186,7 +112879,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ HEAP16[$149>>1] = 200; $150 = HEAP32[$pTable>>2]|0; $151 = HEAP32[$0>>2]|0; - $152 = ((($151)) + 488|0); + $152 = ((($151)) + 440|0); HEAP32[$152>>2] = $150; $153 = HEAP32[$0>>2]|0; $154 = ((($153)) + 18|0); @@ -112194,7 +112887,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $156 = ($155<<24>>24)!=(0); if (!($156)) { $157 = HEAP32[$zName>>2]|0; - $158 = (_strcmp($157,29421)|0); + $158 = (_strcmp($157,28817)|0); $159 = ($158|0)==(0); if ($159) { $160 = HEAP32[$pTable>>2]|0; @@ -112206,7 +112899,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ } } $165 = HEAP32[$db>>2]|0; - $166 = ((($165)) + 144|0); + $166 = ((($165)) + 148|0); $167 = ((($166)) + 5|0); $168 = HEAP8[$167>>0]|0; $169 = ($168<<24>>24)!=(0); @@ -112227,28 +112920,28 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $176 = ($175|0)!=(0); if ($176) { $177 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($177,150)|0); + (_sqlite3VdbeAddOp0($177,152)|0); } $178 = HEAP32[$0>>2]|0; - $179 = ((($178)) + 76|0); + $179 = ((($178)) + 44|0); $180 = HEAP32[$179>>2]|0; $181 = (($180) + 1)|0; HEAP32[$179>>2] = $181; $182 = HEAP32[$0>>2]|0; - $183 = ((($182)) + 392|0); + $183 = ((($182)) + 100|0); HEAP32[$183>>2] = $181; HEAP32[$reg1>>2] = $181; $184 = HEAP32[$0>>2]|0; - $185 = ((($184)) + 76|0); + $185 = ((($184)) + 44|0); $186 = HEAP32[$185>>2]|0; $187 = (($186) + 1)|0; HEAP32[$185>>2] = $187; $188 = HEAP32[$0>>2]|0; - $189 = ((($188)) + 396|0); + $189 = ((($188)) + 104|0); HEAP32[$189>>2] = $187; HEAP32[$reg2>>2] = $187; $190 = HEAP32[$0>>2]|0; - $191 = ((($190)) + 76|0); + $191 = ((($190)) + 44|0); $192 = HEAP32[$191>>2]|0; $193 = (($192) + 1)|0; HEAP32[$191>>2] = $193; @@ -112256,7 +112949,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $194 = HEAP32[$v>>2]|0; $195 = HEAP32[$iDb>>2]|0; $196 = HEAP32[$reg3>>2]|0; - (_sqlite3VdbeAddOp3($194,99,$195,$196,2)|0); + (_sqlite3VdbeAddOp3($194,101,$195,$196,2)|0); $197 = HEAP32[$v>>2]|0; $198 = HEAP32[$iDb>>2]|0; _sqlite3VdbeUsesBtree($197,$198); @@ -112274,14 +112967,14 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $208 = HEAP32[$v>>2]|0; $209 = HEAP32[$iDb>>2]|0; $210 = HEAP32[$fileFormat>>2]|0; - (_sqlite3VdbeAddOp3($208,100,$209,2,$210)|0); + (_sqlite3VdbeAddOp3($208,102,$209,2,$210)|0); $211 = HEAP32[$v>>2]|0; $212 = HEAP32[$iDb>>2]|0; $213 = HEAP32[$db>>2]|0; $214 = ((($213)) + 66|0); $215 = HEAP8[$214>>0]|0; $216 = $215&255; - (_sqlite3VdbeAddOp3($211,100,$212,5,$216)|0); + (_sqlite3VdbeAddOp3($211,102,$212,5,$216)|0); $217 = HEAP32[$v>>2]|0; $218 = HEAP32[$addr1>>2]|0; _sqlite3VdbeJumpHere($217,$218); @@ -112293,13 +112986,13 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $223 = HEAP32[$v>>2]|0; if ($or$cond3) { $224 = HEAP32[$reg2>>2]|0; - (_sqlite3VdbeAddOp2($223,74,0,$224)|0); + (_sqlite3VdbeAddOp2($223,76,0,$224)|0); } else { $225 = HEAP32[$iDb>>2]|0; $226 = HEAP32[$reg2>>2]|0; - $227 = (_sqlite3VdbeAddOp2($223,132,$225,$226)|0); + $227 = (_sqlite3VdbeAddOp2($223,135,$225,$226)|0); $228 = HEAP32[$0>>2]|0; - $229 = ((($228)) + 424|0); + $229 = ((($228)) + 132|0); HEAP32[$229>>2] = $227; } $230 = HEAP32[$0>>2]|0; @@ -112307,18 +113000,18 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ _sqlite3OpenMasterTable($230,$231); $232 = HEAP32[$v>>2]|0; $233 = HEAP32[$reg1>>2]|0; - (_sqlite3VdbeAddOp2($232,112,0,$233)|0); + (_sqlite3VdbeAddOp2($232,114,0,$233)|0); $234 = HEAP32[$v>>2]|0; $235 = HEAP32[$reg3>>2]|0; - (_sqlite3VdbeAddOp4($234,79,6,$235,0,38080,-2)|0); + (_sqlite3VdbeAddOp4($234,81,6,$235,0,37521,-2)|0); $236 = HEAP32[$v>>2]|0; $237 = HEAP32[$reg3>>2]|0; $238 = HEAP32[$reg1>>2]|0; - (_sqlite3VdbeAddOp3($236,113,0,$237,$238)|0); + (_sqlite3VdbeAddOp3($236,115,0,$237,$238)|0); $239 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($239,8); $240 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($240,109)|0); + (_sqlite3VdbeAddOp0($240,111)|0); STACKTOP = sp;return; } } @@ -112381,21 +113074,21 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $vararg_buffer4 = sp + 16|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 192|0; - $1 = sp + 188|0; - $2 = sp + 184|0; - $3 = sp + 196|0; - $4 = sp + 180|0; - $p = sp + 176|0; - $db = sp + 172|0; - $iDb = sp + 168|0; - $pIdx = sp + 164|0; - $n = sp + 160|0; - $v = sp + 156|0; - $zType = sp + 152|0; - $zType2 = sp + 148|0; - $zStmt = sp + 144|0; - $dest = sp + 124|0; + $0 = sp + 200|0; + $1 = sp + 196|0; + $2 = sp + 192|0; + $3 = sp + 204|0; + $4 = sp + 188|0; + $p = sp + 184|0; + $db = sp + 180|0; + $iDb = sp + 176|0; + $pIdx = sp + 172|0; + $n = sp + 168|0; + $v = sp + 164|0; + $zType = sp + 160|0; + $zType2 = sp + 156|0; + $zStmt = sp + 152|0; + $dest = sp + 128|0; $regYield = sp + 120|0; $addrTop = sp + 116|0; $regRec = sp + 112|0; @@ -112425,7 +113118,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 488|0); + $12 = ((($11)) + 440|0); $13 = HEAP32[$12>>2]|0; HEAP32[$p>>2] = $13; $14 = HEAP32[$p>>2]|0; @@ -112434,13 +113127,13 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 144|0); + $17 = ((($16)) + 148|0); $18 = ((($17)) + 5|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)!=(0); if ($20) { $21 = HEAP32[$db>>2]|0; - $22 = ((($21)) + 144|0); + $22 = ((($21)) + 148|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$p>>2]|0; $25 = ((($24)) + 28|0); @@ -112473,7 +113166,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $45 = ($44|0)!=(0); if ($45) { $46 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($46,37655,$vararg_buffer); + _sqlite3ErrorMsg($46,37098,$vararg_buffer); STACKTOP = sp;return; } $47 = HEAP32[$p>>2]|0; @@ -112487,7 +113180,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $54 = HEAP32[$p>>2]|0; $55 = HEAP32[$54>>2]|0; HEAP32[$vararg_buffer2>>2] = $55; - _sqlite3ErrorMsg($53,37705,$vararg_buffer2); + _sqlite3ErrorMsg($53,37148,$vararg_buffer2); break; } else { $56 = HEAP32[$p>>2]|0; @@ -112542,7 +113235,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { HEAP32[$pIdx>>2] = $87; } $88 = HEAP32[$db>>2]|0; - $89 = ((($88)) + 144|0); + $89 = ((($88)) + 148|0); $90 = ((($89)) + 5|0); $91 = HEAP8[$90>>0]|0; $92 = ($91<<24>>24)!=(0); @@ -112556,36 +113249,36 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $97 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($97,109,0)|0); + (_sqlite3VdbeAddOp1($97,111,0)|0); $98 = HEAP32[$p>>2]|0; $99 = ((($98)) + 12|0); $100 = HEAP32[$99>>2]|0; $101 = ($100|0)==(0|0); if ($101) { - HEAP32[$zType>>2] = 33514; - HEAP32[$zType2>>2] = 37737; + HEAP32[$zType>>2] = 32993; + HEAP32[$zType2>>2] = 37180; } else { - HEAP32[$zType>>2] = 36615; - HEAP32[$zType2>>2] = 37743; + HEAP32[$zType>>2] = 36058; + HEAP32[$zType2>>2] = 37186; } $102 = HEAP32[$4>>2]|0; $103 = ($102|0)!=(0|0); do { if ($103) { $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 76|0); + $105 = ((($104)) + 44|0); $106 = HEAP32[$105>>2]|0; $107 = (($106) + 1)|0; HEAP32[$105>>2] = $107; HEAP32[$regYield>>2] = $107; $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 76|0); + $109 = ((($108)) + 44|0); $110 = HEAP32[$109>>2]|0; $111 = (($110) + 1)|0; HEAP32[$109>>2] = $111; HEAP32[$regRec>>2] = $111; $112 = HEAP32[$0>>2]|0; - $113 = ((($112)) + 76|0); + $113 = ((($112)) + 44|0); $114 = HEAP32[$113>>2]|0; $115 = (($114) + 1)|0; HEAP32[$113>>2] = $115; @@ -112594,14 +113287,14 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { _sqlite3MayAbort($116); $117 = HEAP32[$v>>2]|0; $118 = HEAP32[$0>>2]|0; - $119 = ((($118)) + 396|0); + $119 = ((($118)) + 104|0); $120 = HEAP32[$119>>2]|0; $121 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($117,103,1,$120,$121)|0); + (_sqlite3VdbeAddOp3($117,105,1,$120,$121)|0); $122 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($122,16); $123 = HEAP32[$0>>2]|0; - $124 = ((($123)) + 72|0); + $124 = ((($123)) + 40|0); HEAP32[$124>>2] = 2; $125 = HEAP32[$v>>2]|0; $126 = (_sqlite3VdbeCurrentAddr($125)|0); @@ -112624,7 +113317,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $138 = (($137) - 1)|0; _sqlite3VdbeJumpHere($136,$138); $139 = HEAP32[$0>>2]|0; - $140 = ((($139)) + 68|0); + $140 = ((($139)) + 36|0); $141 = HEAP32[$140>>2]|0; $142 = ($141|0)!=(0); if ($142) { @@ -112661,27 +113354,27 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $163 = HEAP32[$pSelTab>>2]|0; _sqlite3DeleteTable($162,$163); $164 = HEAP32[$v>>2]|0; - $165 = ((($dest)) + 4|0); + $165 = ((($dest)) + 8|0); $166 = HEAP32[$165>>2]|0; $167 = (_sqlite3VdbeAddOp1($164,16,$166)|0); HEAP32[$addrInsLoop>>2] = $167; $168 = HEAP32[$v>>2]|0; - $169 = ((($dest)) + 8|0); + $169 = ((($dest)) + 12|0); $170 = HEAP32[$169>>2]|0; - $171 = ((($dest)) + 12|0); + $171 = ((($dest)) + 16|0); $172 = HEAP32[$171>>2]|0; $173 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($168,96,$170,$172,$173)|0); + (_sqlite3VdbeAddOp3($168,99,$170,$172,$173)|0); $174 = HEAP32[$v>>2]|0; $175 = HEAP32[$p>>2]|0; _sqlite3TableAffinity($174,$175,0); $176 = HEAP32[$v>>2]|0; $177 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($176,112,1,$177)|0); + (_sqlite3VdbeAddOp2($176,114,1,$177)|0); $178 = HEAP32[$v>>2]|0; $179 = HEAP32[$regRec>>2]|0; $180 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($178,113,1,$179,$180)|0); + (_sqlite3VdbeAddOp3($178,115,1,$179,$180)|0); $181 = HEAP32[$v>>2]|0; $182 = HEAP32[$addrInsLoop>>2]|0; (_sqlite3VdbeGoto($181,$182)|0); @@ -112689,7 +113382,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $184 = HEAP32[$addrInsLoop>>2]|0; _sqlite3VdbeJumpHere($183,$184); $185 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($185,109,1)|0); + (_sqlite3VdbeAddOp1($185,111,1)|0); break; } } @@ -112706,14 +113399,14 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $192 = $191&255; $193 = ($192|0)!=(0); $194 = HEAP32[$0>>2]|0; - $195 = ((($194)) + 508|0); + $195 = ((($194)) + 392|0); $196 = HEAP32[$2>>2]|0; $197 = $193 ? $195 : $196; HEAP32[$pEnd2>>2] = $197; $198 = HEAP32[$pEnd2>>2]|0; $199 = HEAP32[$198>>2]|0; $200 = HEAP32[$0>>2]|0; - $201 = ((($200)) + 500|0); + $201 = ((($200)) + 384|0); $202 = HEAP32[$201>>2]|0; $203 = $199; $204 = $202; @@ -112736,14 +113429,14 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $217 = HEAP32[$zType2>>2]|0; $218 = HEAP32[$n>>2]|0; $219 = HEAP32[$0>>2]|0; - $220 = ((($219)) + 500|0); + $220 = ((($219)) + 384|0); $221 = HEAP32[$220>>2]|0; HEAP32[$vararg_buffer4>>2] = $217; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $218; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $221; - $222 = (_sqlite3MPrintf($216,37748,$vararg_buffer4)|0); + $222 = (_sqlite3MPrintf($216,37191,$vararg_buffer4)|0); HEAP32[$zStmt>>2] = $222; } $223 = HEAP32[$0>>2]|0; @@ -112755,18 +113448,18 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $229 = HEAP32[$228>>2]|0; $230 = HEAP32[$iDb>>2]|0; $231 = ($230|0)==(1); - $232 = $231 ? 20521 : 20540; + $232 = $231 ? 19905 : 19924; $233 = HEAP32[$zType>>2]|0; $234 = HEAP32[$p>>2]|0; $235 = HEAP32[$234>>2]|0; $236 = HEAP32[$p>>2]|0; $237 = HEAP32[$236>>2]|0; $238 = HEAP32[$0>>2]|0; - $239 = ((($238)) + 396|0); + $239 = ((($238)) + 104|0); $240 = HEAP32[$239>>2]|0; $241 = HEAP32[$zStmt>>2]|0; $242 = HEAP32[$0>>2]|0; - $243 = ((($242)) + 392|0); + $243 = ((($242)) + 100|0); $244 = HEAP32[$243>>2]|0; HEAP32[$vararg_buffer9>>2] = $229; $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); @@ -112783,7 +113476,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { HEAP32[$vararg_ptr17>>2] = $241; $vararg_ptr18 = ((($vararg_buffer9)) + 28|0); HEAP32[$vararg_ptr18>>2] = $244; - _sqlite3NestedParse($223,37763,$vararg_buffer9); + _sqlite3NestedParse($223,37206,$vararg_buffer9); $245 = HEAP32[$db>>2]|0; $246 = HEAP32[$zStmt>>2]|0; _sqlite3DbFree($245,$246); @@ -112814,7 +113507,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $267 = HEAP32[$pDb>>2]|0; $268 = HEAP32[$267>>2]|0; HEAP32[$vararg_buffer19>>2] = $268; - _sqlite3NestedParse($266,37850,$vararg_buffer19); + _sqlite3NestedParse($266,37293,$vararg_buffer19); } } $269 = HEAP32[$v>>2]|0; @@ -112823,11 +113516,11 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $272 = HEAP32[$p>>2]|0; $273 = HEAP32[$272>>2]|0; HEAP32[$vararg_buffer22>>2] = $273; - $274 = (_sqlite3MPrintf($271,37892,$vararg_buffer22)|0); + $274 = (_sqlite3MPrintf($271,37335,$vararg_buffer22)|0); _sqlite3VdbeAddParseSchemaOp($269,$270,$274); } $275 = HEAP32[$db>>2]|0; - $276 = ((($275)) + 144|0); + $276 = ((($275)) + 148|0); $277 = ((($276)) + 5|0); $278 = HEAP8[$277>>0]|0; $279 = ($278<<24>>24)!=(0); @@ -112853,7 +113546,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $292 = HEAP32[$0>>2]|0; - $293 = ((($292)) + 488|0); + $293 = ((($292)) + 440|0); HEAP32[$293>>2] = 0; $294 = HEAP32[$db>>2]|0; $295 = ((($294)) + 24|0); @@ -112868,7 +113561,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $302 = HEAP32[$0>>2]|0; - $303 = ((($302)) + 500|0); + $303 = ((($302)) + 384|0); $304 = HEAP32[$303>>2]|0; HEAP32[$zName>>2] = $304; $305 = HEAP32[$1>>2]|0; @@ -112927,7 +113620,7 @@ function _sqlite3AddColumn($pParse,$pName,$pType) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 488|0); + $6 = ((($5)) + 440|0); $7 = HEAP32[$6>>2]|0; HEAP32[$p>>2] = $7; $8 = ($7|0)==(0|0); @@ -112940,7 +113633,7 @@ function _sqlite3AddColumn($pParse,$pName,$pType) { $12 = $11 << 16 >> 16; $13 = (($12) + 1)|0; $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 92|0); + $15 = ((($14)) + 96|0); $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; $18 = ($13|0)>($17|0); @@ -112949,7 +113642,7 @@ function _sqlite3AddColumn($pParse,$pName,$pType) { $20 = HEAP32[$p>>2]|0; $21 = HEAP32[$20>>2]|0; HEAP32[$vararg_buffer>>2] = $21; - _sqlite3ErrorMsg($19,37606,$vararg_buffer); + _sqlite3ErrorMsg($19,37049,$vararg_buffer); STACKTOP = sp;return; } $22 = HEAP32[$db>>2]|0; @@ -113015,7 +113708,7 @@ function _sqlite3AddColumn($pParse,$pName,$pType) { $61 = HEAP32[$0>>2]|0; $62 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer1>>2] = $62; - _sqlite3ErrorMsg($61,37629,$vararg_buffer1); + _sqlite3ErrorMsg($61,37072,$vararg_buffer1); $63 = HEAP32[$db>>2]|0; $64 = HEAP32[$z>>2]|0; _sqlite3DbFree($63,$64); @@ -113124,7 +113817,7 @@ function _sqlite3AddColumn($pParse,$pName,$pType) { $142 = (($141) + 1)<<16>>16; HEAP16[$140>>1] = $142; $143 = HEAP32[$0>>2]|0; - $144 = ((($143)) + 328|0); + $144 = ((($143)) + 84|0); $145 = ((($144)) + 4|0); HEAP32[$145>>2] = 0; STACKTOP = sp;return; @@ -113151,7 +113844,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 488|0); + $5 = ((($4)) + 440|0); $6 = HEAP32[$5>>2]|0; HEAP32[$p>>2] = $6; $7 = HEAP32[$p>>2]|0; @@ -113176,7 +113869,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 144|0); + $21 = ((($20)) + 148|0); $22 = ((($21)) + 5|0); $23 = HEAP8[$22>>0]|0; $24 = (_sqlite3ExprIsConstantOrFunction($19,$23)|0); @@ -113188,7 +113881,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $32 = HEAP32[$31>>2]|0; _sqlite3ExprDelete($29,$32); dest=$x; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP8[$x>>0] = -97; + HEAP8[$x>>0] = -95; $33 = HEAP32[$db>>2]|0; $34 = HEAP32[$1>>2]|0; $35 = ((($34)) + 4|0); @@ -113232,7 +113925,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $27 = HEAP32[$pCol>>2]|0; $28 = HEAP32[$27>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($26,37561,$vararg_buffer); + _sqlite3ErrorMsg($26,37004,$vararg_buffer); $61 = HEAP32[$db>>2]|0; $62 = HEAP32[$1>>2]|0; $63 = HEAP32[$62>>2]|0; @@ -113265,7 +113958,7 @@ function _sqlite3PExpr($pParse,$op,$pLeft,$pRight,$pToken) { $6 = ($5|0)==(28); if ($6) { $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 68|0); + $8 = ((($7)) + 36|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0); if ($10) { @@ -113315,31 +114008,123 @@ function _spanExpr($pOut,$pParse,$op,$t) { $pParse = $pParse|0; $op = $op|0; $t = $t|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $p = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $p = sp; HEAP32[$0>>2] = $pOut; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $op; $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = (_sqlite3PExpr($3,$4,0,0,$t)|0); - $6 = HEAP32[$0>>2]|0; - HEAP32[$6>>2] = $5; - $7 = HEAP32[$t>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 4|0); - HEAP32[$9>>2] = $7; - $10 = ((($t)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$t>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 8|0); - HEAP32[$15>>2] = $13; + $4 = HEAP32[$3>>2]|0; + $5 = ((($t)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (48 + ($6))|0; + $8 = (($7) + 1)|0; + $9 = (_sqlite3DbMallocRawNN($4,$8,0)|0); + HEAP32[$p>>2] = $9; + $10 = HEAP32[$p>>2]|0; + $11 = ($10|0)!=(0|0); + if (!($11)) { + $61 = HEAP32[$p>>2]|0; + $62 = HEAP32[$0>>2]|0; + HEAP32[$62>>2] = $61; + $63 = HEAP32[$t>>2]|0; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 4|0); + HEAP32[$65>>2] = $63; + $66 = ((($t)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$t>>2]|0; + $69 = (($68) + ($67)|0); + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 8|0); + HEAP32[$71>>2] = $69; + STACKTOP = sp;return; + } + $12 = HEAP32[$p>>2]|0; + dest=$12; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $13 = HEAP32[$2>>2]|0; + $14 = $13&255; + $15 = HEAP32[$p>>2]|0; + HEAP8[$15>>0] = $14; + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 4|0); + HEAP32[$17>>2] = 8388608; + $18 = HEAP32[$p>>2]|0; + $19 = ((($18)) + 34|0); + HEAP16[$19>>1] = -1; + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 48|0); + $22 = HEAP32[$p>>2]|0; + $23 = ((($22)) + 8|0); + HEAP32[$23>>2] = $21; + $24 = HEAP32[$p>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = HEAP32[$t>>2]|0; + $28 = ((($t)) + 4|0); + $29 = HEAP32[$28>>2]|0; + _memcpy(($26|0),($27|0),($29|0))|0; + $30 = ((($t)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$p>>2]|0; + $33 = ((($32)) + 8|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($31)|0); + HEAP8[$35>>0] = 0; + $36 = HEAP32[$p>>2]|0; + $37 = ((($36)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = (18403 + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = $43 & 128; + $45 = ($44|0)!=(0); + if ($45) { + $46 = HEAP32[$p>>2]|0; + $47 = ((($46)) + 8|0); + $48 = HEAP32[$47>>2]|0; + $49 = HEAP8[$48>>0]|0; + $50 = $49 << 24 >> 24; + $51 = ($50|0)==(34); + if ($51) { + $52 = HEAP32[$p>>2]|0; + $53 = ((($52)) + 4|0); + $54 = HEAP32[$53>>2]|0; + $55 = $54 | 64; + HEAP32[$53>>2] = $55; + } + $56 = HEAP32[$p>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + _sqlite3Dequote($58); + } + $59 = HEAP32[$p>>2]|0; + $60 = ((($59)) + 24|0); + HEAP32[$60>>2] = 1; + $61 = HEAP32[$p>>2]|0; + $62 = HEAP32[$0>>2]|0; + HEAP32[$62>>2] = $61; + $63 = HEAP32[$t>>2]|0; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 4|0); + HEAP32[$65>>2] = $63; + $66 = ((($t)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$t>>2]|0; + $69 = (($68) + ($67)|0); + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 8|0); + HEAP32[$71>>2] = $69; STACKTOP = sp;return; } function _sqlite3AddNotNull($pParse,$onError) { @@ -113355,7 +114140,7 @@ function _sqlite3AddNotNull($pParse,$onError) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $onError; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 488|0); + $3 = ((($2)) + 440|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; @@ -113394,37 +114179,35 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $sortOrder = $sortOrder|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCol = 0, $nTerm = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pCExpr = 0, $pCol = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; - var $zCName = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCol = 0, $nTerm = 0, $or$cond = 0; + var $or$cond3 = 0, $pCExpr = 0, $pCol = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $zCName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer4 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $pTab = sp + 40|0; - $pCol = sp + 36|0; - $iCol = sp + 32|0; - $i = sp + 28|0; - $nTerm = sp + 24|0; - $pCExpr = sp + 20|0; - $zCName = sp + 16|0; - $p = sp + 12|0; + $0 = sp + 56|0; + $1 = sp + 52|0; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $pTab = sp + 36|0; + $pCol = sp + 32|0; + $iCol = sp + 28|0; + $i = sp + 24|0; + $nTerm = sp + 20|0; + $pCExpr = sp + 16|0; + $zCName = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pList; HEAP32[$2>>2] = $onError; HEAP32[$3>>2] = $autoInc; HEAP32[$4>>2] = $sortOrder; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 488|0); + $6 = ((($5)) + 440|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pTab>>2] = $7; HEAP32[$pCol>>2] = 0; @@ -113432,243 +114215,221 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $8 = HEAP32[$pTab>>2]|0; $9 = ($8|0)==(0|0); if ($9) { - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($147,$148); + $133 = HEAP32[$0>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($134,$135); STACKTOP = sp;return; } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 454|0); + $10 = HEAP32[$pTab>>2]|0; + $11 = ((($10)) + 42|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($147,$148); - STACKTOP = sp;return; - } - $15 = HEAP32[$pTab>>2]|0; - $16 = ((($15)) + 42|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = $18 & 4; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$pTab>>2]|0; - $23 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer>>2] = $23; - _sqlite3ErrorMsg($21,37464,$vararg_buffer); - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($147,$148); + $14 = $13 & 4; + $15 = ($14|0)!=(0); + if ($15) { + $16 = HEAP32[$0>>2]|0; + $17 = HEAP32[$pTab>>2]|0; + $18 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer>>2] = $18; + _sqlite3ErrorMsg($16,36907,$vararg_buffer); + $133 = HEAP32[$0>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($134,$135); STACKTOP = sp;return; } - $24 = HEAP32[$pTab>>2]|0; - $25 = ((($24)) + 42|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 | 4; - $29 = $28&255; - HEAP8[$25>>0] = $29; - $30 = HEAP32[$1>>2]|0; - $31 = ($30|0)==(0|0); - L11: do { - if ($31) { - $32 = HEAP32[$pTab>>2]|0; - $33 = ((($32)) + 34|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34 << 16 >> 16; - $36 = (($35) - 1)|0; - HEAP32[$iCol>>2] = $36; - $37 = HEAP32[$iCol>>2]|0; - $38 = HEAP32[$pTab>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37<<4)|0); - HEAP32[$pCol>>2] = $41; - $42 = HEAP32[$pCol>>2]|0; - $43 = ((($42)) + 15|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44&255; - $46 = $45 | 1; - $47 = $46&255; - HEAP8[$43>>0] = $47; + $19 = HEAP32[$pTab>>2]|0; + $20 = ((($19)) + 42|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = $22 | 4; + $24 = $23&255; + HEAP8[$20>>0] = $24; + $25 = HEAP32[$1>>2]|0; + $26 = ($25|0)==(0|0); + L8: do { + if ($26) { + $27 = HEAP32[$pTab>>2]|0; + $28 = ((($27)) + 34|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = (($30) - 1)|0; + HEAP32[$iCol>>2] = $31; + $32 = HEAP32[$iCol>>2]|0; + $33 = HEAP32[$pTab>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($32<<4)|0); + HEAP32[$pCol>>2] = $36; + $37 = HEAP32[$pCol>>2]|0; + $38 = ((($37)) + 15|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $40 | 1; + $42 = $41&255; + HEAP8[$38>>0] = $42; HEAP32[$nTerm>>2] = 1; } else { - $48 = HEAP32[$1>>2]|0; - $49 = HEAP32[$48>>2]|0; - HEAP32[$nTerm>>2] = $49; + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$43>>2]|0; + HEAP32[$nTerm>>2] = $44; HEAP32[$i>>2] = 0; while(1) { - $50 = HEAP32[$i>>2]|0; - $51 = HEAP32[$nTerm>>2]|0; - $52 = ($50|0)<($51|0); - if (!($52)) { - break L11; + $45 = HEAP32[$i>>2]|0; + $46 = HEAP32[$nTerm>>2]|0; + $47 = ($45|0)<($46|0); + if (!($47)) { + break L8; } - $53 = HEAP32[$i>>2]|0; - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($56) + (($53*20)|0)|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3ExprSkipCollate($58)|0); - HEAP32[$pCExpr>>2] = $59; - $60 = HEAP32[$pCExpr>>2]|0; - _sqlite3StringToId($60); - $61 = HEAP32[$pCExpr>>2]|0; - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $64 = ($63|0)==(55); - L17: do { - if ($64) { - $65 = HEAP32[$pCExpr>>2]|0; - $66 = ((($65)) + 8|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$zCName>>2] = $67; + $48 = HEAP32[$i>>2]|0; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + (($48*20)|0)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (_sqlite3ExprSkipCollate($53)|0); + HEAP32[$pCExpr>>2] = $54; + $55 = HEAP32[$pCExpr>>2]|0; + _sqlite3StringToId($55); + $56 = HEAP32[$pCExpr>>2]|0; + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)==(55); + L14: do { + if ($59) { + $60 = HEAP32[$pCExpr>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$zCName>>2] = $62; HEAP32[$iCol>>2] = 0; while(1) { - $68 = HEAP32[$iCol>>2]|0; - $69 = HEAP32[$pTab>>2]|0; - $70 = ((($69)) + 34|0); - $71 = HEAP16[$70>>1]|0; - $72 = $71 << 16 >> 16; - $73 = ($68|0)<($72|0); - if (!($73)) { - break L17; + $63 = HEAP32[$iCol>>2]|0; + $64 = HEAP32[$pTab>>2]|0; + $65 = ((($64)) + 34|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66 << 16 >> 16; + $68 = ($63|0)<($67|0); + if (!($68)) { + break L14; } - $74 = HEAP32[$zCName>>2]|0; - $75 = HEAP32[$iCol>>2]|0; - $76 = HEAP32[$pTab>>2]|0; - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + ($75<<4)|0); - $80 = HEAP32[$79>>2]|0; - $81 = (_sqlite3StrICmp($74,$80)|0); - $82 = ($81|0)==(0); - $83 = HEAP32[$iCol>>2]|0; - if ($82) { + $69 = HEAP32[$zCName>>2]|0; + $70 = HEAP32[$iCol>>2]|0; + $71 = HEAP32[$pTab>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + ($70<<4)|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_sqlite3StrICmp($69,$75)|0); + $77 = ($76|0)==(0); + $78 = HEAP32[$iCol>>2]|0; + if ($77) { break; } - $94 = (($83) + 1)|0; - HEAP32[$iCol>>2] = $94; + $89 = (($78) + 1)|0; + HEAP32[$iCol>>2] = $89; } - $84 = HEAP32[$pTab>>2]|0; - $85 = ((($84)) + 4|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($86) + ($83<<4)|0); - HEAP32[$pCol>>2] = $87; - $88 = HEAP32[$pCol>>2]|0; - $89 = ((($88)) + 15|0); - $90 = HEAP8[$89>>0]|0; - $91 = $90&255; - $92 = $91 | 1; - $93 = $92&255; - HEAP8[$89>>0] = $93; + $79 = HEAP32[$pTab>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = (($81) + ($78<<4)|0); + HEAP32[$pCol>>2] = $82; + $83 = HEAP32[$pCol>>2]|0; + $84 = ((($83)) + 15|0); + $85 = HEAP8[$84>>0]|0; + $86 = $85&255; + $87 = $86 | 1; + $88 = $87&255; + HEAP8[$84>>0] = $88; } } while(0); - $95 = HEAP32[$i>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[$i>>2] = $96; + $90 = HEAP32[$i>>2]|0; + $91 = (($90) + 1)|0; + HEAP32[$i>>2] = $91; } } } while(0); - $97 = HEAP32[$nTerm>>2]|0; - $98 = ($97|0)==(1); - $99 = HEAP32[$pCol>>2]|0; - $100 = ($99|0)!=(0|0); - $or$cond = $98 & $100; + $92 = HEAP32[$nTerm>>2]|0; + $93 = ($92|0)==(1); + $94 = HEAP32[$pCol>>2]|0; + $95 = ($94|0)!=(0|0); + $or$cond = $93 & $95; if ($or$cond) { - $101 = HEAP32[$pCol>>2]|0; - $102 = (_sqlite3ColumnType($101,19018)|0); - $103 = (_sqlite3StrICmp($102,19375)|0); - $104 = ($103|0)==(0); - $105 = HEAP32[$4>>2]|0; - $106 = ($105|0)!=(1); - $or$cond3 = $104 & $106; + $96 = HEAP32[$pCol>>2]|0; + $97 = (_sqlite3ColumnType($96,18402)|0); + $98 = (_sqlite3StrICmp($97,18759)|0); + $99 = ($98|0)==(0); + $100 = HEAP32[$4>>2]|0; + $101 = ($100|0)!=(1); + $or$cond3 = $99 & $101; if ($or$cond3) { - $107 = HEAP32[$iCol>>2]|0; - $108 = $107&65535; - $109 = HEAP32[$pTab>>2]|0; - $110 = ((($109)) + 32|0); - HEAP16[$110>>1] = $108; - $111 = HEAP32[$2>>2]|0; - $112 = $111&255; - $113 = HEAP32[$pTab>>2]|0; - $114 = ((($113)) + 43|0); - HEAP8[$114>>0] = $112; - $115 = HEAP32[$3>>2]|0; - $116 = $115<<3; - $117 = HEAP32[$pTab>>2]|0; - $118 = ((($117)) + 42|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $120 | $116; - $122 = $121&255; - HEAP8[$118>>0] = $122; - $123 = HEAP32[$1>>2]|0; - $124 = ($123|0)!=(0|0); - if (!($124)) { - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($147,$148); + $102 = HEAP32[$iCol>>2]|0; + $103 = $102&65535; + $104 = HEAP32[$pTab>>2]|0; + $105 = ((($104)) + 32|0); + HEAP16[$105>>1] = $103; + $106 = HEAP32[$2>>2]|0; + $107 = $106&255; + $108 = HEAP32[$pTab>>2]|0; + $109 = ((($108)) + 43|0); + HEAP8[$109>>0] = $107; + $110 = HEAP32[$3>>2]|0; + $111 = $110<<3; + $112 = HEAP32[$pTab>>2]|0; + $113 = ((($112)) + 42|0); + $114 = HEAP8[$113>>0]|0; + $115 = $114&255; + $116 = $115 | $111; + $117 = $116&255; + HEAP8[$113>>0] = $117; + $118 = HEAP32[$1>>2]|0; + $119 = ($118|0)!=(0|0); + if (!($119)) { + $133 = HEAP32[$0>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($134,$135); STACKTOP = sp;return; } - $125 = HEAP32[$1>>2]|0; - $126 = ((($125)) + 4|0); - $127 = HEAP32[$126>>2]|0; - $128 = ((($127)) + 12|0); - $129 = HEAP8[$128>>0]|0; - $130 = HEAP32[$0>>2]|0; - $131 = ((($130)) + 452|0); - HEAP8[$131>>0] = $129; - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($147,$148); + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($122)) + 12|0); + $124 = HEAP8[$123>>0]|0; + $125 = HEAP32[$0>>2]|0; + $126 = ((($125)) + 408|0); + HEAP8[$126>>0] = $124; + $133 = HEAP32[$0>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($134,$135); STACKTOP = sp;return; } } - $132 = HEAP32[$3>>2]|0; - $133 = ($132|0)!=(0); - $134 = HEAP32[$0>>2]|0; - if ($133) { - _sqlite3ErrorMsg($134,37505,$vararg_buffer4); - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($147,$148); + $127 = HEAP32[$3>>2]|0; + $128 = ($127|0)!=(0); + $129 = HEAP32[$0>>2]|0; + if ($128) { + _sqlite3ErrorMsg($129,36948,$vararg_buffer4); + $133 = HEAP32[$0>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($134,$135); + STACKTOP = sp;return; + } else { + $130 = HEAP32[$1>>2]|0; + $131 = HEAP32[$2>>2]|0; + $132 = HEAP32[$4>>2]|0; + _sqlite3CreateIndex($129,0,0,0,$130,$131,0,0,$132,0,2); + HEAP32[$1>>2] = 0; + $133 = HEAP32[$0>>2]|0; + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($134,$135); STACKTOP = sp;return; } - $135 = HEAP32[$1>>2]|0; - $136 = HEAP32[$2>>2]|0; - $137 = HEAP32[$4>>2]|0; - $138 = (_sqlite3CreateIndex($134,0,0,0,$135,$136,0,0,$137,0)|0); - HEAP32[$p>>2] = $138; - $139 = HEAP32[$p>>2]|0; - $140 = ($139|0)!=(0|0); - if ($140) { - $141 = HEAP32[$p>>2]|0; - $142 = ((($141)) + 55|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143 & -4; - $145 = $144 | 2; - HEAP8[$142>>0] = $145; - } - HEAP32[$1>>2] = 0; - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($147,$148); - STACKTOP = sp;return; } -function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$pStart,$pPIWhere,$sortOrder,$ifNotExist) { +function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$pStart,$pPIWhere,$sortOrder,$ifNotExist,$idxType) { $pParse = $pParse|0; $pName1 = $pName1|0; $pName2 = $pName2|0; @@ -113679,6 +114440,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $pPIWhere = $pPIWhere|0; $sortOrder = $sortOrder|0; $ifNotExist = $ifNotExist|0; + $idxType = $idxType|0; var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; @@ -113723,11 +114485,12 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ var $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0; var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0; var $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0; - var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0; + var $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; var $99 = 0, $db = 0, $i = 0, $iDb = 0, $iMem = 0, $j = 0, $k = 0, $n = 0, $n1 = 0, $nColl = 0, $nExtra = 0, $nExtraCol = 0, $nName = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $p = 0, $pCExpr = 0, $pCopy = 0, $pDb = 0; - var $pExpr = 0, $pIdx = 0, $pIndex = 0, $pListItem = 0, $pLoop = 0, $pName = 0, $pOther = 0, $pPk = 0, $pRet = 0, $pTab = 0, $prevCol = 0, $requestedSortOrder = 0, $sFix = 0, $sortOrderMask = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0; - var $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer33 = 0, $vararg_buffer41 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr22 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $x = 0, $z1 = 0, $z2 = 0, $zColl = 0, $zDb = 0; - var $zExtra = 0, $zName = 0, $zStmt = 0, label = 0, sp = 0; + var $pExpr = 0, $pIdx = 0, $pIndex = 0, $pListItem = 0, $pLoop = 0, $pName = 0, $pOther = 0, $pPk = 0, $pTab = 0, $prevCol = 0, $requestedSortOrder = 0, $sFix = 0, $sortOrderMask = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0; + var $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer33 = 0, $vararg_buffer41 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr22 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $x = 0, $z1 = 0, $z2 = 0, $zColl = 0, $zDb = 0, $zExtra = 0; + var $zName = 0, $zStmt = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 352|0; $vararg_buffer41 = sp + 112|0; @@ -113742,17 +114505,17 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $vararg_buffer9 = sp + 16|0; $vararg_buffer6 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 336|0; - $1 = sp + 332|0; - $2 = sp + 328|0; - $3 = sp + 324|0; - $4 = sp + 320|0; - $5 = sp + 316|0; - $6 = sp + 312|0; - $7 = sp + 308|0; - $8 = sp + 304|0; - $9 = sp + 300|0; - $pRet = sp + 296|0; + $0 = sp + 332|0; + $1 = sp + 328|0; + $2 = sp + 324|0; + $3 = sp + 320|0; + $4 = sp + 316|0; + $5 = sp + 312|0; + $6 = sp + 308|0; + $7 = sp + 304|0; + $8 = sp + 300|0; + $9 = sp + 296|0; + $10 = sp + 336|0; $pTab = sp + 292|0; $pIndex = sp + 288|0; $zName = sp + 284|0; @@ -113801,1326 +114564,1354 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP32[$7>>2] = $pPIWhere; HEAP32[$8>>2] = $sortOrder; HEAP32[$9>>2] = $ifNotExist; - HEAP32[$pRet>>2] = 0; + HEAP8[$10>>0] = $idxType; HEAP32[$pTab>>2] = 0; HEAP32[$pIndex>>2] = 0; HEAP32[$zName>>2] = 0; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$db>>2] = $11; + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$db>>2] = $12; HEAP32[$pName>>2] = 0; HEAP32[$nExtra>>2] = 0; HEAP32[$zExtra>>2] = 0; HEAP32[$pPk>>2] = 0; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 69|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)!=(0); + $13 = HEAP32[$db>>2]|0; + $14 = ((($13)) + 69|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($16|0)!=(0); L1: do { - if (!($16)) { - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 454|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)!=(0); + if (!($17)) { + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 36|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(0); if (!($21)) { $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 68|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)>(0); - if (!($25)) { - $26 = HEAP32[$0>>2]|0; - $27 = (_sqlite3ReadSchema($26)|0); - $28 = (0)!=($27|0); - if (!($28)) { - $29 = HEAP32[$3>>2]|0; - $30 = ($29|0)!=(0|0); - $31 = HEAP32[$0>>2]|0; - if ($30) { - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = (_sqlite3TwoPartName($31,$32,$33,$pName)|0); - HEAP32[$iDb>>2] = $34; - $35 = HEAP32[$iDb>>2]|0; - $36 = ($35|0)<(0); - if ($36) { - break; - } - $37 = HEAP32[$db>>2]|0; - $38 = ((($37)) + 144|0); - $39 = ((($38)) + 5|0); - $40 = HEAP8[$39>>0]|0; - $41 = ($40<<24>>24)!=(0); - if (!($41)) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$3>>2]|0; - $44 = (_sqlite3SrcListLookup($42,$43)|0); - HEAP32[$pTab>>2] = $44; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)==(0); - $49 = HEAP32[$pTab>>2]|0; - $50 = ($49|0)!=(0|0); - $or$cond = $48 & $50; - if ($or$cond) { - $51 = HEAP32[$pTab>>2]|0; - $52 = ((($51)) + 64|0); - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$db>>2]|0; - $55 = ((($54)) + 16|0); - $56 = HEAP32[$55>>2]|0; - $57 = ((($56)) + 16|0); - $58 = ((($57)) + 12|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($53|0)==($59|0); - if ($60) { - HEAP32[$iDb>>2] = 1; - } + $23 = ((($22)) + 410|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP8[$10>>0]|0; + $28 = $27&255; + $29 = ($28|0)!=(2); + if ($29) { + break; + } + } + $30 = HEAP32[$0>>2]|0; + $31 = (_sqlite3ReadSchema($30)|0); + $32 = (0)!=($31|0); + if (!($32)) { + $33 = HEAP32[$3>>2]|0; + $34 = ($33|0)!=(0|0); + $35 = HEAP32[$0>>2]|0; + if ($34) { + $36 = HEAP32[$1>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = (_sqlite3TwoPartName($35,$36,$37,$pName)|0); + HEAP32[$iDb>>2] = $38; + $39 = HEAP32[$iDb>>2]|0; + $40 = ($39|0)<(0); + if ($40) { + break; + } + $41 = HEAP32[$db>>2]|0; + $42 = ((($41)) + 148|0); + $43 = ((($42)) + 5|0); + $44 = HEAP8[$43>>0]|0; + $45 = ($44<<24>>24)!=(0); + if (!($45)) { + $46 = HEAP32[$0>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = (_sqlite3SrcListLookup($46,$47)|0); + HEAP32[$pTab>>2] = $48; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)==(0); + $53 = HEAP32[$pTab>>2]|0; + $54 = ($53|0)!=(0|0); + $or$cond = $52 & $54; + if ($or$cond) { + $55 = HEAP32[$pTab>>2]|0; + $56 = ((($55)) + 64|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$db>>2]|0; + $59 = ((($58)) + 16|0); + $60 = HEAP32[$59>>2]|0; + $61 = ((($60)) + 16|0); + $62 = ((($61)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($57|0)==($63|0); + if ($64) { + HEAP32[$iDb>>2] = 1; } } - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$iDb>>2]|0; - $63 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$61,$62,33679,$63); - $64 = HEAP32[$3>>2]|0; - (_sqlite3FixSrcList($sFix,$64)|0); - $65 = HEAP32[$0>>2]|0; - $66 = HEAP32[$3>>2]|0; - $67 = ((($66)) + 8|0); - $68 = (_sqlite3LocateTableItem($65,0,$67)|0); - HEAP32[$pTab>>2] = $68; - $69 = HEAP32[$pTab>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { + } + $65 = HEAP32[$0>>2]|0; + $66 = HEAP32[$iDb>>2]|0; + $67 = HEAP32[$pName>>2]|0; + _sqlite3FixInit($sFix,$65,$66,33158,$67); + $68 = HEAP32[$3>>2]|0; + (_sqlite3FixSrcList($sFix,$68)|0); + $69 = HEAP32[$0>>2]|0; + $70 = HEAP32[$3>>2]|0; + $71 = ((($70)) + 8|0); + $72 = (_sqlite3LocateTableItem($69,0,$71)|0); + HEAP32[$pTab>>2] = $72; + $73 = HEAP32[$pTab>>2]|0; + $74 = ($73|0)==(0|0); + if ($74) { + break; + } + $75 = HEAP32[$iDb>>2]|0; + $76 = ($75|0)==(1); + if ($76) { + $77 = HEAP32[$iDb>>2]|0; + $78 = HEAP32[$db>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = (($80) + ($77<<4)|0); + $82 = ((($81)) + 12|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP32[$pTab>>2]|0; + $85 = ((($84)) + 64|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($83|0)!=($86|0); + if ($87) { + $88 = HEAP32[$0>>2]|0; + $89 = HEAP32[$pTab>>2]|0; + $90 = HEAP32[$89>>2]|0; + HEAP32[$vararg_buffer>>2] = $90; + _sqlite3ErrorMsg($88,36473,$vararg_buffer); break; } - $71 = HEAP32[$iDb>>2]|0; - $72 = ($71|0)==(1); - if ($72) { - $73 = HEAP32[$iDb>>2]|0; - $74 = HEAP32[$db>>2]|0; - $75 = ((($74)) + 16|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) + ($73<<4)|0); - $78 = ((($77)) + 12|0); - $79 = HEAP32[$78>>2]|0; - $80 = HEAP32[$pTab>>2]|0; - $81 = ((($80)) + 64|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($79|0)!=($82|0); - if ($83) { - $84 = HEAP32[$0>>2]|0; - $85 = HEAP32[$pTab>>2]|0; - $86 = HEAP32[$85>>2]|0; - HEAP32[$vararg_buffer>>2] = $86; - _sqlite3ErrorMsg($84,37030,$vararg_buffer); - break; - } - } - $87 = HEAP32[$pTab>>2]|0; - $88 = ((($87)) + 42|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = $90 & 32; - $92 = ($91|0)==(0); - if (!($92)) { - $93 = HEAP32[$pTab>>2]|0; - $94 = (_sqlite3PrimaryKeyIndex($93)|0); - HEAP32[$pPk>>2] = $94; - } - } else { - $95 = ((($31)) + 488|0); - $96 = HEAP32[$95>>2]|0; - HEAP32[$pTab>>2] = $96; + } + $91 = HEAP32[$pTab>>2]|0; + $92 = ((($91)) + 42|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = $94 & 32; + $96 = ($95|0)==(0); + if (!($96)) { $97 = HEAP32[$pTab>>2]|0; - $98 = ($97|0)!=(0|0); - if (!($98)) { - break; - } - $99 = HEAP32[$db>>2]|0; - $100 = HEAP32[$pTab>>2]|0; - $101 = ((($100)) + 64|0); - $102 = HEAP32[$101>>2]|0; - $103 = (_sqlite3SchemaToIndex($99,$102)|0); - HEAP32[$iDb>>2] = $103; + $98 = (_sqlite3PrimaryKeyIndex($97)|0); + HEAP32[$pPk>>2] = $98; } - $104 = HEAP32[$iDb>>2]|0; - $105 = HEAP32[$db>>2]|0; - $106 = ((($105)) + 16|0); - $107 = HEAP32[$106>>2]|0; - $108 = (($107) + ($104<<4)|0); - HEAP32[$pDb>>2] = $108; - $109 = HEAP32[$pTab>>2]|0; - $110 = HEAP32[$109>>2]|0; - $111 = (_sqlite3_strnicmp($110,28448,7)|0); - $112 = ($111|0)==(0); - if ($112) { - $113 = HEAP32[$db>>2]|0; - $114 = ((($113)) + 144|0); - $115 = ((($114)) + 5|0); - $116 = HEAP8[$115>>0]|0; - $117 = $116&255; - $118 = ($117|0)==(0); - if ($118) { - $119 = HEAP32[$pTab>>2]|0; - $120 = HEAP32[$119>>2]|0; - $121 = ((($120)) + 7|0); - $122 = (_sqlite3_strnicmp($121,37080,9)|0); - $123 = ($122|0)!=(0); - if ($123) { - $124 = HEAP32[$0>>2]|0; - $125 = HEAP32[$pTab>>2]|0; - $126 = HEAP32[$125>>2]|0; - HEAP32[$vararg_buffer6>>2] = $126; - _sqlite3ErrorMsg($124,37090,$vararg_buffer6); - break; - } + } else { + $99 = ((($35)) + 440|0); + $100 = HEAP32[$99>>2]|0; + HEAP32[$pTab>>2] = $100; + $101 = HEAP32[$pTab>>2]|0; + $102 = ($101|0)!=(0|0); + if (!($102)) { + break; + } + $103 = HEAP32[$db>>2]|0; + $104 = HEAP32[$pTab>>2]|0; + $105 = ((($104)) + 64|0); + $106 = HEAP32[$105>>2]|0; + $107 = (_sqlite3SchemaToIndex($103,$106)|0); + HEAP32[$iDb>>2] = $107; + } + $108 = HEAP32[$iDb>>2]|0; + $109 = HEAP32[$db>>2]|0; + $110 = ((($109)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = (($111) + ($108<<4)|0); + HEAP32[$pDb>>2] = $112; + $113 = HEAP32[$pTab>>2]|0; + $114 = HEAP32[$113>>2]|0; + $115 = (_sqlite3_strnicmp($114,27844,7)|0); + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[$db>>2]|0; + $118 = ((($117)) + 148|0); + $119 = ((($118)) + 5|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = ($121|0)==(0); + if ($122) { + $123 = HEAP32[$pTab>>2]|0; + $124 = HEAP32[$123>>2]|0; + $125 = ((($124)) + 7|0); + $126 = (_sqlite3_strnicmp($125,36523,9)|0); + $127 = ($126|0)!=(0); + if ($127) { + $128 = HEAP32[$0>>2]|0; + $129 = HEAP32[$pTab>>2]|0; + $130 = HEAP32[$129>>2]|0; + HEAP32[$vararg_buffer6>>2] = $130; + _sqlite3ErrorMsg($128,36533,$vararg_buffer6); + break; } } - $127 = HEAP32[$pTab>>2]|0; - $128 = ((($127)) + 12|0); - $129 = HEAP32[$128>>2]|0; - $130 = ($129|0)!=(0|0); - if ($130) { - $131 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($131,37118,$vararg_buffer9); + } + $131 = HEAP32[$pTab>>2]|0; + $132 = ((($131)) + 12|0); + $133 = HEAP32[$132>>2]|0; + $134 = ($133|0)!=(0|0); + if ($134) { + $135 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($135,36561,$vararg_buffer9); + break; + } + $136 = HEAP32[$pTab>>2]|0; + $137 = ((($136)) + 42|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = $139 & 16; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($142,36586,$vararg_buffer11); + break; + } + $143 = HEAP32[$pName>>2]|0; + $144 = ($143|0)!=(0|0); + if ($144) { + $145 = HEAP32[$db>>2]|0; + $146 = HEAP32[$pName>>2]|0; + $147 = (_sqlite3NameFromToken($145,$146)|0); + HEAP32[$zName>>2] = $147; + $148 = HEAP32[$zName>>2]|0; + $149 = ($148|0)==(0|0); + if ($149) { break; } - $132 = HEAP32[$pTab>>2]|0; - $133 = ((($132)) + 42|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = $135 & 16; - $137 = ($136|0)!=(0); - if ($137) { - $138 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($138,37143,$vararg_buffer11); + $150 = HEAP32[$0>>2]|0; + $151 = HEAP32[$zName>>2]|0; + $152 = (_sqlite3CheckObjectName($150,$151)|0); + $153 = (0)!=($152|0); + if ($153) { break; } - $139 = HEAP32[$pName>>2]|0; - $140 = ($139|0)!=(0|0); - if ($140) { - $141 = HEAP32[$db>>2]|0; - $142 = HEAP32[$pName>>2]|0; - $143 = (_sqlite3NameFromToken($141,$142)|0); - HEAP32[$zName>>2] = $143; - $144 = HEAP32[$zName>>2]|0; - $145 = ($144|0)==(0|0); - if ($145) { + $154 = HEAP32[$db>>2]|0; + $155 = ((($154)) + 148|0); + $156 = ((($155)) + 5|0); + $157 = HEAP8[$156>>0]|0; + $158 = ($157<<24>>24)!=(0); + if (!($158)) { + $159 = HEAP32[$db>>2]|0; + $160 = HEAP32[$zName>>2]|0; + $161 = (_sqlite3FindTable($159,$160,0)|0); + $162 = ($161|0)!=(0|0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer13>>2] = $164; + _sqlite3ErrorMsg($163,36620,$vararg_buffer13); break; } - $146 = HEAP32[$0>>2]|0; - $147 = HEAP32[$zName>>2]|0; - $148 = (_sqlite3CheckObjectName($146,$147)|0); - $149 = (0)!=($148|0); - if ($149) { + } + $165 = HEAP32[$db>>2]|0; + $166 = HEAP32[$zName>>2]|0; + $167 = HEAP32[$pDb>>2]|0; + $168 = HEAP32[$167>>2]|0; + $169 = (_sqlite3FindIndex($165,$166,$168)|0); + $170 = ($169|0)!=(0|0); + if ($170) { + $171 = HEAP32[$9>>2]|0; + $172 = ($171|0)!=(0); + $173 = HEAP32[$0>>2]|0; + if ($172) { + $175 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($173,$175); + break; + } else { + $174 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer16>>2] = $174; + _sqlite3ErrorMsg($173,36654,$vararg_buffer16); break; } - $150 = HEAP32[$db>>2]|0; - $151 = ((($150)) + 144|0); - $152 = ((($151)) + 5|0); - $153 = HEAP8[$152>>0]|0; - $154 = ($153<<24>>24)!=(0); - if (!($154)) { - $155 = HEAP32[$db>>2]|0; - $156 = HEAP32[$zName>>2]|0; - $157 = (_sqlite3FindTable($155,$156,0)|0); - $158 = ($157|0)!=(0|0); - if ($158) { - $159 = HEAP32[$0>>2]|0; - $160 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer13>>2] = $160; - _sqlite3ErrorMsg($159,37177,$vararg_buffer13); - break; - } + } + } else { + $176 = HEAP32[$pTab>>2]|0; + $177 = ((($176)) + 8|0); + $178 = HEAP32[$177>>2]|0; + HEAP32[$pLoop>>2] = $178; + HEAP32[$n>>2] = 1; + while(1) { + $179 = HEAP32[$pLoop>>2]|0; + $180 = ($179|0)!=(0|0); + if (!($180)) { + break; } - $161 = HEAP32[$db>>2]|0; - $162 = HEAP32[$zName>>2]|0; - $163 = HEAP32[$pDb>>2]|0; - $164 = HEAP32[$163>>2]|0; - $165 = (_sqlite3FindIndex($161,$162,$164)|0); - $166 = ($165|0)!=(0|0); - if ($166) { - $167 = HEAP32[$9>>2]|0; - $168 = ($167|0)!=(0); - $169 = HEAP32[$0>>2]|0; - if ($168) { - $171 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($169,$171); - break; - } else { - $170 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer16>>2] = $170; - _sqlite3ErrorMsg($169,37211,$vararg_buffer16); + $181 = HEAP32[$pLoop>>2]|0; + $182 = ((($181)) + 20|0); + $183 = HEAP32[$182>>2]|0; + HEAP32[$pLoop>>2] = $183; + $184 = HEAP32[$n>>2]|0; + $185 = (($184) + 1)|0; + HEAP32[$n>>2] = $185; + } + $186 = HEAP32[$db>>2]|0; + $187 = HEAP32[$pTab>>2]|0; + $188 = HEAP32[$187>>2]|0; + $189 = HEAP32[$n>>2]|0; + HEAP32[$vararg_buffer19>>2] = $188; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $189; + $190 = (_sqlite3MPrintf($186,36678,$vararg_buffer19)|0); + HEAP32[$zName>>2] = $190; + $191 = HEAP32[$zName>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + break; + } + $193 = HEAP32[$0>>2]|0; + $194 = ((($193)) + 410|0); + $195 = HEAP8[$194>>0]|0; + $196 = ($195<<24>>24)!=(0); + if ($196) { + $197 = HEAP32[$zName>>2]|0; + $198 = ((($197)) + 7|0); + $199 = HEAP8[$198>>0]|0; + $200 = (($199) + 1)<<24>>24; + HEAP8[$198>>0] = $200; + } + } + $201 = HEAP32[$pDb>>2]|0; + $202 = HEAP32[$201>>2]|0; + HEAP32[$zDb>>2] = $202; + $203 = HEAP32[$0>>2]|0; + $204 = HEAP32[$iDb>>2]|0; + $205 = ($204|0)==(1); + $206 = $205 ? 19905 : 19924; + $207 = HEAP32[$zDb>>2]|0; + $208 = (_sqlite3AuthCheck($203,18,$206,0,$207)|0); + $209 = ($208|0)!=(0); + if (!($209)) { + HEAP32[$i>>2] = 1; + $210 = HEAP32[$iDb>>2]|0; + $211 = ($210|0)==(1); + $$ = $211 ? 3 : 1; + HEAP32[$i>>2] = $$; + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$i>>2]|0; + $214 = HEAP32[$zName>>2]|0; + $215 = HEAP32[$pTab>>2]|0; + $216 = HEAP32[$215>>2]|0; + $217 = HEAP32[$zDb>>2]|0; + $218 = (_sqlite3AuthCheck($212,$213,$214,$216,$217)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + $220 = HEAP32[$4>>2]|0; + $221 = ($220|0)==(0|0); + if ($221) { + $222 = HEAP32[$pTab>>2]|0; + $223 = ((($222)) + 34|0); + $224 = HEAP16[$223>>1]|0; + $225 = $224 << 16 >> 16; + $226 = (($225) - 1)|0; + $227 = HEAP32[$pTab>>2]|0; + $228 = ((($227)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = (($229) + ($226<<4)|0); + $231 = HEAP32[$230>>2]|0; + _sqlite3TokenInit($prevCol,$231); + $232 = HEAP32[$0>>2]|0; + $233 = HEAP32[$db>>2]|0; + $234 = (_sqlite3ExprAlloc($233,55,$prevCol,0)|0); + $235 = (_sqlite3ExprListAppend($232,0,$234)|0); + HEAP32[$4>>2] = $235; + $236 = HEAP32[$4>>2]|0; + $237 = ($236|0)==(0|0); + if ($237) { break; } + $238 = HEAP32[$4>>2]|0; + $239 = HEAP32[$8>>2]|0; + _sqlite3ExprListSetSortOrder($238,$239); + } else { + $240 = HEAP32[$0>>2]|0; + $241 = HEAP32[$4>>2]|0; + _sqlite3ExprListCheckLength($240,$241,33158); } - } else { - $172 = HEAP32[$pTab>>2]|0; - $173 = ((($172)) + 8|0); - $174 = HEAP32[$173>>2]|0; - HEAP32[$pLoop>>2] = $174; - HEAP32[$n>>2] = 1; + HEAP32[$i>>2] = 0; while(1) { - $175 = HEAP32[$pLoop>>2]|0; - $176 = ($175|0)!=(0|0); - if (!($176)) { + $242 = HEAP32[$i>>2]|0; + $243 = HEAP32[$4>>2]|0; + $244 = HEAP32[$243>>2]|0; + $245 = ($242|0)<($244|0); + if (!($245)) { break; } - $177 = HEAP32[$pLoop>>2]|0; - $178 = ((($177)) + 20|0); - $179 = HEAP32[$178>>2]|0; - HEAP32[$pLoop>>2] = $179; - $180 = HEAP32[$n>>2]|0; - $181 = (($180) + 1)|0; - HEAP32[$n>>2] = $181; + $246 = HEAP32[$i>>2]|0; + $247 = HEAP32[$4>>2]|0; + $248 = ((($247)) + 4|0); + $249 = HEAP32[$248>>2]|0; + $250 = (($249) + (($246*20)|0)|0); + $251 = HEAP32[$250>>2]|0; + HEAP32[$pExpr>>2] = $251; + $252 = HEAP32[$pExpr>>2]|0; + $253 = HEAP8[$252>>0]|0; + $254 = $253&255; + $255 = ($254|0)==(53); + if ($255) { + $256 = HEAP32[$pExpr>>2]|0; + $257 = ((($256)) + 8|0); + $258 = HEAP32[$257>>2]|0; + $259 = (_sqlite3Strlen30($258)|0); + $260 = (1 + ($259))|0; + $261 = HEAP32[$nExtra>>2]|0; + $262 = (($261) + ($260))|0; + HEAP32[$nExtra>>2] = $262; + } + $263 = HEAP32[$i>>2]|0; + $264 = (($263) + 1)|0; + HEAP32[$i>>2] = $264; } - $182 = HEAP32[$db>>2]|0; - $183 = HEAP32[$pTab>>2]|0; - $184 = HEAP32[$183>>2]|0; - $185 = HEAP32[$n>>2]|0; - HEAP32[$vararg_buffer19>>2] = $184; - $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $185; - $186 = (_sqlite3MPrintf($182,37235,$vararg_buffer19)|0); - HEAP32[$zName>>2] = $186; - $187 = HEAP32[$zName>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; + $265 = HEAP32[$zName>>2]|0; + $266 = (_sqlite3Strlen30($265)|0); + HEAP32[$nName>>2] = $266; + $267 = HEAP32[$pPk>>2]|0; + $268 = ($267|0)!=(0|0); + if ($268) { + $269 = HEAP32[$pPk>>2]|0; + $270 = ((($269)) + 50|0); + $271 = HEAP16[$270>>1]|0; + $272 = $271&65535; + $273 = $272; + } else { + $273 = 1; } - } - $189 = HEAP32[$pDb>>2]|0; - $190 = HEAP32[$189>>2]|0; - HEAP32[$zDb>>2] = $190; - $191 = HEAP32[$0>>2]|0; - $192 = HEAP32[$iDb>>2]|0; - $193 = ($192|0)==(1); - $194 = $193 ? 20521 : 20540; - $195 = HEAP32[$zDb>>2]|0; - $196 = (_sqlite3AuthCheck($191,18,$194,0,$195)|0); - $197 = ($196|0)!=(0); - if (!($197)) { - HEAP32[$i>>2] = 1; - $198 = HEAP32[$iDb>>2]|0; - $199 = ($198|0)==(1); - $$ = $199 ? 3 : 1; - HEAP32[$i>>2] = $$; - $200 = HEAP32[$0>>2]|0; - $201 = HEAP32[$i>>2]|0; - $202 = HEAP32[$zName>>2]|0; - $203 = HEAP32[$pTab>>2]|0; - $204 = HEAP32[$203>>2]|0; - $205 = HEAP32[$zDb>>2]|0; - $206 = (_sqlite3AuthCheck($200,$201,$202,$204,$205)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - $208 = HEAP32[$4>>2]|0; - $209 = ($208|0)==(0|0); - if ($209) { - $210 = HEAP32[$pTab>>2]|0; - $211 = ((($210)) + 34|0); - $212 = HEAP16[$211>>1]|0; - $213 = $212 << 16 >> 16; - $214 = (($213) - 1)|0; - $215 = HEAP32[$pTab>>2]|0; - $216 = ((($215)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = (($217) + ($214<<4)|0); - $219 = HEAP32[$218>>2]|0; - _sqlite3TokenInit($prevCol,$219); - $220 = HEAP32[$0>>2]|0; - $221 = HEAP32[$db>>2]|0; - $222 = (_sqlite3ExprAlloc($221,55,$prevCol,0)|0); - $223 = (_sqlite3ExprListAppend($220,0,$222)|0); - HEAP32[$4>>2] = $223; - $224 = HEAP32[$4>>2]|0; - $225 = ($224|0)==(0|0); - if ($225) { - break; - } - $226 = HEAP32[$4>>2]|0; - $227 = HEAP32[$8>>2]|0; - _sqlite3ExprListSetSortOrder($226,$227); + HEAP32[$nExtraCol>>2] = $273; + $274 = HEAP32[$db>>2]|0; + $275 = HEAP32[$4>>2]|0; + $276 = HEAP32[$275>>2]|0; + $277 = HEAP32[$nExtraCol>>2]|0; + $278 = (($276) + ($277))|0; + $279 = $278&65535; + $280 = HEAP32[$nName>>2]|0; + $281 = HEAP32[$nExtra>>2]|0; + $282 = (($280) + ($281))|0; + $283 = (($282) + 1)|0; + $284 = (_sqlite3AllocateIndexObject($274,$279,$283,$zExtra)|0); + HEAP32[$pIndex>>2] = $284; + $285 = HEAP32[$db>>2]|0; + $286 = ((($285)) + 69|0); + $287 = HEAP8[$286>>0]|0; + $288 = ($287<<24>>24)!=(0); + if (!($288)) { + $289 = HEAP32[$zExtra>>2]|0; + $290 = HEAP32[$pIndex>>2]|0; + HEAP32[$290>>2] = $289; + $291 = HEAP32[$nName>>2]|0; + $292 = (($291) + 1)|0; + $293 = HEAP32[$zExtra>>2]|0; + $294 = (($293) + ($292)|0); + HEAP32[$zExtra>>2] = $294; + $295 = HEAP32[$pIndex>>2]|0; + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[$zName>>2]|0; + $298 = HEAP32[$nName>>2]|0; + $299 = (($298) + 1)|0; + _memcpy(($296|0),($297|0),($299|0))|0; + $300 = HEAP32[$pTab>>2]|0; + $301 = HEAP32[$pIndex>>2]|0; + $302 = ((($301)) + 12|0); + HEAP32[$302>>2] = $300; + $303 = HEAP32[$5>>2]|0; + $304 = $303&255; + $305 = HEAP32[$pIndex>>2]|0; + $306 = ((($305)) + 54|0); + HEAP8[$306>>0] = $304; + $307 = HEAP32[$5>>2]|0; + $308 = ($307|0)!=(0); + $309 = $308&1; + $310 = HEAP32[$pIndex>>2]|0; + $311 = ((($310)) + 55|0); + $312 = $309&255; + $313 = HEAP8[$311>>0]|0; + $314 = $312 & 1; + $315 = ($314 << 3)&255; + $316 = $313 & -9; + $317 = $316 | $315; + HEAP8[$311>>0] = $317; + $318 = HEAP8[$10>>0]|0; + $319 = $318&255; + $320 = HEAP32[$pIndex>>2]|0; + $321 = ((($320)) + 55|0); + $322 = $319&255; + $323 = HEAP8[$321>>0]|0; + $324 = $322 & 3; + $325 = $323 & -4; + $326 = $325 | $324; + HEAP8[$321>>0] = $326; + $327 = HEAP32[$iDb>>2]|0; + $328 = HEAP32[$db>>2]|0; + $329 = ((($328)) + 16|0); + $330 = HEAP32[$329>>2]|0; + $331 = (($330) + ($327<<4)|0); + $332 = ((($331)) + 12|0); + $333 = HEAP32[$332>>2]|0; + $334 = HEAP32[$pIndex>>2]|0; + $335 = ((($334)) + 24|0); + HEAP32[$335>>2] = $333; + $336 = HEAP32[$4>>2]|0; + $337 = HEAP32[$336>>2]|0; + $338 = $337&65535; + $339 = HEAP32[$pIndex>>2]|0; + $340 = ((($339)) + 50|0); + HEAP16[$340>>1] = $338; + $341 = HEAP32[$7>>2]|0; + $342 = ($341|0)!=(0|0); + if ($342) { + $343 = HEAP32[$0>>2]|0; + $344 = HEAP32[$pTab>>2]|0; + $345 = HEAP32[$7>>2]|0; + _sqlite3ResolveSelfReference($343,$344,2,$345,0); + $346 = HEAP32[$7>>2]|0; + $347 = HEAP32[$pIndex>>2]|0; + $348 = ((($347)) + 36|0); + HEAP32[$348>>2] = $346; + HEAP32[$7>>2] = 0; + } + $349 = HEAP32[$pDb>>2]|0; + $350 = ((($349)) + 12|0); + $351 = HEAP32[$350>>2]|0; + $352 = ((($351)) + 76|0); + $353 = HEAP8[$352>>0]|0; + $354 = $353&255; + $355 = ($354|0)>=(4); + if ($355) { + HEAP32[$sortOrderMask>>2] = -1; } else { - $228 = HEAP32[$0>>2]|0; - $229 = HEAP32[$4>>2]|0; - _sqlite3ExprListCheckLength($228,$229,33679); + HEAP32[$sortOrderMask>>2] = 0; } HEAP32[$i>>2] = 0; + $356 = HEAP32[$4>>2]|0; + $357 = ((($356)) + 4|0); + $358 = HEAP32[$357>>2]|0; + HEAP32[$pListItem>>2] = $358; while(1) { - $230 = HEAP32[$i>>2]|0; - $231 = HEAP32[$4>>2]|0; - $232 = HEAP32[$231>>2]|0; - $233 = ($230|0)<($232|0); - if (!($233)) { + $359 = HEAP32[$i>>2]|0; + $360 = HEAP32[$4>>2]|0; + $361 = HEAP32[$360>>2]|0; + $362 = ($359|0)<($361|0); + if (!($362)) { break; } - $234 = HEAP32[$i>>2]|0; - $235 = HEAP32[$4>>2]|0; - $236 = ((($235)) + 4|0); - $237 = HEAP32[$236>>2]|0; - $238 = (($237) + (($234*20)|0)|0); - $239 = HEAP32[$238>>2]|0; - HEAP32[$pExpr>>2] = $239; - $240 = HEAP32[$pExpr>>2]|0; - $241 = HEAP8[$240>>0]|0; - $242 = $241&255; - $243 = ($242|0)==(53); - if ($243) { - $244 = HEAP32[$pExpr>>2]|0; - $245 = ((($244)) + 8|0); - $246 = HEAP32[$245>>2]|0; - $247 = (_sqlite3Strlen30($246)|0); - $248 = (1 + ($247))|0; - $249 = HEAP32[$nExtra>>2]|0; - $250 = (($249) + ($248))|0; - HEAP32[$nExtra>>2] = $250; - } - $251 = HEAP32[$i>>2]|0; - $252 = (($251) + 1)|0; - HEAP32[$i>>2] = $252; - } - $253 = HEAP32[$zName>>2]|0; - $254 = (_sqlite3Strlen30($253)|0); - HEAP32[$nName>>2] = $254; - $255 = HEAP32[$pPk>>2]|0; - $256 = ($255|0)!=(0|0); - if ($256) { - $257 = HEAP32[$pPk>>2]|0; - $258 = ((($257)) + 50|0); - $259 = HEAP16[$258>>1]|0; - $260 = $259&65535; - $261 = $260; - } else { - $261 = 1; - } - HEAP32[$nExtraCol>>2] = $261; - $262 = HEAP32[$db>>2]|0; - $263 = HEAP32[$4>>2]|0; - $264 = HEAP32[$263>>2]|0; - $265 = HEAP32[$nExtraCol>>2]|0; - $266 = (($264) + ($265))|0; - $267 = $266&65535; - $268 = HEAP32[$nName>>2]|0; - $269 = HEAP32[$nExtra>>2]|0; - $270 = (($268) + ($269))|0; - $271 = (($270) + 1)|0; - $272 = (_sqlite3AllocateIndexObject($262,$267,$271,$zExtra)|0); - HEAP32[$pIndex>>2] = $272; - $273 = HEAP32[$db>>2]|0; - $274 = ((($273)) + 69|0); - $275 = HEAP8[$274>>0]|0; - $276 = ($275<<24>>24)!=(0); - if (!($276)) { - $277 = HEAP32[$zExtra>>2]|0; - $278 = HEAP32[$pIndex>>2]|0; - HEAP32[$278>>2] = $277; - $279 = HEAP32[$nName>>2]|0; - $280 = (($279) + 1)|0; - $281 = HEAP32[$zExtra>>2]|0; - $282 = (($281) + ($280)|0); - HEAP32[$zExtra>>2] = $282; - $283 = HEAP32[$pIndex>>2]|0; - $284 = HEAP32[$283>>2]|0; - $285 = HEAP32[$zName>>2]|0; - $286 = HEAP32[$nName>>2]|0; - $287 = (($286) + 1)|0; - _memcpy(($284|0),($285|0),($287|0))|0; - $288 = HEAP32[$pTab>>2]|0; - $289 = HEAP32[$pIndex>>2]|0; - $290 = ((($289)) + 12|0); - HEAP32[$290>>2] = $288; - $291 = HEAP32[$5>>2]|0; - $292 = $291&255; - $293 = HEAP32[$pIndex>>2]|0; - $294 = ((($293)) + 54|0); - HEAP8[$294>>0] = $292; - $295 = HEAP32[$5>>2]|0; - $296 = ($295|0)!=(0); - $297 = $296&1; - $298 = HEAP32[$pIndex>>2]|0; - $299 = ((($298)) + 55|0); - $300 = $297&255; - $301 = HEAP8[$299>>0]|0; - $302 = $300 & 1; - $303 = ($302 << 3)&255; - $304 = $301 & -9; - $305 = $304 | $303; - HEAP8[$299>>0] = $305; - $306 = HEAP32[$pName>>2]|0; - $307 = ($306|0)!=(0|0); - $308 = $307 ? 0 : 1; - $309 = HEAP32[$pIndex>>2]|0; - $310 = ((($309)) + 55|0); - $311 = $308&255; - $312 = HEAP8[$310>>0]|0; - $313 = $311 & 3; - $314 = $312 & -4; - $315 = $314 | $313; - HEAP8[$310>>0] = $315; - $316 = HEAP32[$iDb>>2]|0; - $317 = HEAP32[$db>>2]|0; - $318 = ((($317)) + 16|0); - $319 = HEAP32[$318>>2]|0; - $320 = (($319) + ($316<<4)|0); - $321 = ((($320)) + 12|0); - $322 = HEAP32[$321>>2]|0; - $323 = HEAP32[$pIndex>>2]|0; - $324 = ((($323)) + 24|0); - HEAP32[$324>>2] = $322; - $325 = HEAP32[$4>>2]|0; - $326 = HEAP32[$325>>2]|0; - $327 = $326&65535; - $328 = HEAP32[$pIndex>>2]|0; - $329 = ((($328)) + 50|0); - HEAP16[$329>>1] = $327; - $330 = HEAP32[$7>>2]|0; - $331 = ($330|0)!=(0|0); - if ($331) { - $332 = HEAP32[$0>>2]|0; - $333 = HEAP32[$pTab>>2]|0; - $334 = HEAP32[$7>>2]|0; - _sqlite3ResolveSelfReference($332,$333,2,$334,0); - $335 = HEAP32[$7>>2]|0; - $336 = HEAP32[$pIndex>>2]|0; - $337 = ((($336)) + 36|0); - HEAP32[$337>>2] = $335; - HEAP32[$7>>2] = 0; - } - $338 = HEAP32[$pDb>>2]|0; - $339 = ((($338)) + 12|0); - $340 = HEAP32[$339>>2]|0; - $341 = ((($340)) + 76|0); - $342 = HEAP8[$341>>0]|0; - $343 = $342&255; - $344 = ($343|0)>=(4); - if ($344) { - HEAP32[$sortOrderMask>>2] = -1; - } else { - HEAP32[$sortOrderMask>>2] = 0; + $363 = HEAP32[$pListItem>>2]|0; + $364 = HEAP32[$363>>2]|0; + _sqlite3StringToId($364); + $365 = HEAP32[$0>>2]|0; + $366 = HEAP32[$pTab>>2]|0; + $367 = HEAP32[$pListItem>>2]|0; + $368 = HEAP32[$367>>2]|0; + _sqlite3ResolveSelfReference($365,$366,32,$368,0); + $369 = HEAP32[$0>>2]|0; + $370 = ((($369)) + 36|0); + $371 = HEAP32[$370>>2]|0; + $372 = ($371|0)!=(0); + if ($372) { + break L1; } - HEAP32[$i>>2] = 0; - $345 = HEAP32[$4>>2]|0; - $346 = ((($345)) + 4|0); - $347 = HEAP32[$346>>2]|0; - HEAP32[$pListItem>>2] = $347; - while(1) { - $348 = HEAP32[$i>>2]|0; - $349 = HEAP32[$4>>2]|0; - $350 = HEAP32[$349>>2]|0; - $351 = ($348|0)<($350|0); - if (!($351)) { + $373 = HEAP32[$pListItem>>2]|0; + $374 = HEAP32[$373>>2]|0; + $375 = (_sqlite3ExprSkipCollate($374)|0); + HEAP32[$pCExpr>>2] = $375; + $376 = HEAP32[$pCExpr>>2]|0; + $377 = HEAP8[$376>>0]|0; + $378 = $377&255; + $379 = ($378|0)!=(152); + if ($379) { + $380 = HEAP32[$pTab>>2]|0; + $381 = HEAP32[$0>>2]|0; + $382 = ((($381)) + 440|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($380|0)==($383|0); + if ($384) { + label = 68; break; } - $352 = HEAP32[$pListItem>>2]|0; - $353 = HEAP32[$352>>2]|0; - _sqlite3StringToId($353); - $354 = HEAP32[$0>>2]|0; - $355 = HEAP32[$pTab>>2]|0; - $356 = HEAP32[$pListItem>>2]|0; - $357 = HEAP32[$356>>2]|0; - _sqlite3ResolveSelfReference($354,$355,32,$357,0); - $358 = HEAP32[$0>>2]|0; - $359 = ((($358)) + 68|0); - $360 = HEAP32[$359>>2]|0; - $361 = ($360|0)!=(0); - if ($361) { - break L1; - } - $362 = HEAP32[$pListItem>>2]|0; - $363 = HEAP32[$362>>2]|0; - $364 = (_sqlite3ExprSkipCollate($363)|0); - HEAP32[$pCExpr>>2] = $364; - $365 = HEAP32[$pCExpr>>2]|0; - $366 = HEAP8[$365>>0]|0; - $367 = $366&255; - $368 = ($367|0)!=(152); - if ($368) { - $369 = HEAP32[$pTab>>2]|0; - $370 = HEAP32[$0>>2]|0; - $371 = ((($370)) + 488|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($369|0)==($372|0); - if ($373) { - label = 65; - break; - } - $375 = HEAP32[$pIndex>>2]|0; - $376 = ((($375)) + 40|0); - $377 = HEAP32[$376>>2]|0; - $378 = ($377|0)==(0|0); - do { - if ($378) { - $379 = HEAP32[$db>>2]|0; - $380 = HEAP32[$4>>2]|0; - $381 = (_sqlite3ExprListDup($379,$380,0)|0); - HEAP32[$pCopy>>2] = $381; - $382 = HEAP32[$pCopy>>2]|0; - $383 = HEAP32[$pIndex>>2]|0; - $384 = ((($383)) + 40|0); - HEAP32[$384>>2] = $382; - $385 = HEAP32[$db>>2]|0; - $386 = ((($385)) + 69|0); - $387 = HEAP8[$386>>0]|0; - $388 = ($387<<24>>24)!=(0); - if ($388) { - break; - } - $389 = HEAP32[$i>>2]|0; - $390 = HEAP32[$pCopy>>2]|0; - $391 = ((($390)) + 4|0); - $392 = HEAP32[$391>>2]|0; - $393 = (($392) + (($389*20)|0)|0); - HEAP32[$pListItem>>2] = $393; - } - } while(0); - HEAP32[$j>>2] = -2; - $394 = HEAP32[$i>>2]|0; - $395 = HEAP32[$pIndex>>2]|0; - $396 = ((($395)) + 4|0); - $397 = HEAP32[$396>>2]|0; - $398 = (($397) + ($394<<1)|0); - HEAP16[$398>>1] = -2; - $399 = HEAP32[$pIndex>>2]|0; - $400 = ((($399)) + 55|0); - $401 = HEAP8[$400>>0]|0; - $402 = $401 & -9; - HEAP8[$400>>0] = $402; - } else { - $403 = HEAP32[$pCExpr>>2]|0; - $404 = ((($403)) + 32|0); - $405 = HEAP16[$404>>1]|0; - $406 = $405 << 16 >> 16; - HEAP32[$j>>2] = $406; - $407 = HEAP32[$j>>2]|0; - $408 = ($407|0)<(0); - do { - if ($408) { - $409 = HEAP32[$pTab>>2]|0; - $410 = ((($409)) + 32|0); - $411 = HEAP16[$410>>1]|0; - $412 = $411 << 16 >> 16; - HEAP32[$j>>2] = $412; - } else { - $413 = HEAP32[$j>>2]|0; - $414 = HEAP32[$pTab>>2]|0; - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = (($416) + ($413<<4)|0); - $418 = ((($417)) + 12|0); - $419 = HEAP8[$418>>0]|0; - $420 = $419&255; - $421 = ($420|0)==(0); - if (!($421)) { - break; - } - $422 = HEAP32[$pIndex>>2]|0; - $423 = ((($422)) + 55|0); - $424 = HEAP8[$423>>0]|0; - $425 = $424 & -9; - HEAP8[$423>>0] = $425; + $386 = HEAP32[$pIndex>>2]|0; + $387 = ((($386)) + 40|0); + $388 = HEAP32[$387>>2]|0; + $389 = ($388|0)==(0|0); + do { + if ($389) { + $390 = HEAP32[$db>>2]|0; + $391 = HEAP32[$4>>2]|0; + $392 = (_sqlite3ExprListDup($390,$391,0)|0); + HEAP32[$pCopy>>2] = $392; + $393 = HEAP32[$pCopy>>2]|0; + $394 = HEAP32[$pIndex>>2]|0; + $395 = ((($394)) + 40|0); + HEAP32[$395>>2] = $393; + $396 = HEAP32[$db>>2]|0; + $397 = ((($396)) + 69|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)!=(0); + if ($399) { + break; } - } while(0); - $426 = HEAP32[$j>>2]|0; - $427 = $426&65535; - $428 = HEAP32[$i>>2]|0; - $429 = HEAP32[$pIndex>>2]|0; - $430 = ((($429)) + 4|0); - $431 = HEAP32[$430>>2]|0; - $432 = (($431) + ($428<<1)|0); - HEAP16[$432>>1] = $427; - } - HEAP32[$zColl>>2] = 0; - $433 = HEAP32[$pListItem>>2]|0; - $434 = HEAP32[$433>>2]|0; - $435 = HEAP8[$434>>0]|0; - $436 = $435&255; - $437 = ($436|0)==(53); + $400 = HEAP32[$i>>2]|0; + $401 = HEAP32[$pCopy>>2]|0; + $402 = ((($401)) + 4|0); + $403 = HEAP32[$402>>2]|0; + $404 = (($403) + (($400*20)|0)|0); + HEAP32[$pListItem>>2] = $404; + } + } while(0); + HEAP32[$j>>2] = -2; + $405 = HEAP32[$i>>2]|0; + $406 = HEAP32[$pIndex>>2]|0; + $407 = ((($406)) + 4|0); + $408 = HEAP32[$407>>2]|0; + $409 = (($408) + ($405<<1)|0); + HEAP16[$409>>1] = -2; + $410 = HEAP32[$pIndex>>2]|0; + $411 = ((($410)) + 55|0); + $412 = HEAP8[$411>>0]|0; + $413 = $412 & -9; + HEAP8[$411>>0] = $413; + } else { + $414 = HEAP32[$pCExpr>>2]|0; + $415 = ((($414)) + 32|0); + $416 = HEAP16[$415>>1]|0; + $417 = $416 << 16 >> 16; + HEAP32[$j>>2] = $417; + $418 = HEAP32[$j>>2]|0; + $419 = ($418|0)<(0); do { - if ($437) { - $438 = HEAP32[$pListItem>>2]|0; - $439 = HEAP32[$438>>2]|0; - $440 = ((($439)) + 8|0); - $441 = HEAP32[$440>>2]|0; - HEAP32[$zColl>>2] = $441; - $442 = HEAP32[$zColl>>2]|0; - $443 = (_sqlite3Strlen30($442)|0); - $444 = (($443) + 1)|0; - HEAP32[$nColl>>2] = $444; - $445 = HEAP32[$zExtra>>2]|0; - $446 = HEAP32[$zColl>>2]|0; - $447 = HEAP32[$nColl>>2]|0; - _memcpy(($445|0),($446|0),($447|0))|0; - $448 = HEAP32[$zExtra>>2]|0; - HEAP32[$zColl>>2] = $448; - $449 = HEAP32[$nColl>>2]|0; - $450 = HEAP32[$zExtra>>2]|0; - $451 = (($450) + ($449)|0); - HEAP32[$zExtra>>2] = $451; - $452 = HEAP32[$nColl>>2]|0; - $453 = HEAP32[$nExtra>>2]|0; - $454 = (($453) - ($452))|0; - HEAP32[$nExtra>>2] = $454; + if ($419) { + $420 = HEAP32[$pTab>>2]|0; + $421 = ((($420)) + 32|0); + $422 = HEAP16[$421>>1]|0; + $423 = $422 << 16 >> 16; + HEAP32[$j>>2] = $423; } else { - $455 = HEAP32[$j>>2]|0; - $456 = ($455|0)>=(0); - if (!($456)) { + $424 = HEAP32[$j>>2]|0; + $425 = HEAP32[$pTab>>2]|0; + $426 = ((($425)) + 4|0); + $427 = HEAP32[$426>>2]|0; + $428 = (($427) + ($424<<4)|0); + $429 = ((($428)) + 12|0); + $430 = HEAP8[$429>>0]|0; + $431 = $430&255; + $432 = ($431|0)==(0); + if (!($432)) { break; } - $457 = HEAP32[$j>>2]|0; - $458 = HEAP32[$pTab>>2]|0; - $459 = ((($458)) + 4|0); - $460 = HEAP32[$459>>2]|0; - $461 = (($460) + ($457<<4)|0); - $462 = ((($461)) + 8|0); - $463 = HEAP32[$462>>2]|0; - HEAP32[$zColl>>2] = $463; + $433 = HEAP32[$pIndex>>2]|0; + $434 = ((($433)) + 55|0); + $435 = HEAP8[$434>>0]|0; + $436 = $435 & -9; + HEAP8[$434>>0] = $436; } } while(0); - $464 = HEAP32[$zColl>>2]|0; - $465 = ($464|0)!=(0|0); - if (!($465)) { - HEAP32[$zColl>>2] = 35351; - } - $466 = HEAP32[$db>>2]|0; - $467 = ((($466)) + 144|0); - $468 = ((($467)) + 5|0); - $469 = HEAP8[$468>>0]|0; - $470 = ($469<<24>>24)!=(0); - if (!($470)) { - $471 = HEAP32[$0>>2]|0; - $472 = HEAP32[$zColl>>2]|0; - $473 = (_sqlite3LocateCollSeq($471,$472)|0); - $474 = ($473|0)!=(0|0); - if (!($474)) { - break L1; + $437 = HEAP32[$j>>2]|0; + $438 = $437&65535; + $439 = HEAP32[$i>>2]|0; + $440 = HEAP32[$pIndex>>2]|0; + $441 = ((($440)) + 4|0); + $442 = HEAP32[$441>>2]|0; + $443 = (($442) + ($439<<1)|0); + HEAP16[$443>>1] = $438; + } + HEAP32[$zColl>>2] = 0; + $444 = HEAP32[$pListItem>>2]|0; + $445 = HEAP32[$444>>2]|0; + $446 = HEAP8[$445>>0]|0; + $447 = $446&255; + $448 = ($447|0)==(53); + do { + if ($448) { + $449 = HEAP32[$pListItem>>2]|0; + $450 = HEAP32[$449>>2]|0; + $451 = ((($450)) + 8|0); + $452 = HEAP32[$451>>2]|0; + HEAP32[$zColl>>2] = $452; + $453 = HEAP32[$zColl>>2]|0; + $454 = (_sqlite3Strlen30($453)|0); + $455 = (($454) + 1)|0; + HEAP32[$nColl>>2] = $455; + $456 = HEAP32[$zExtra>>2]|0; + $457 = HEAP32[$zColl>>2]|0; + $458 = HEAP32[$nColl>>2]|0; + _memcpy(($456|0),($457|0),($458|0))|0; + $459 = HEAP32[$zExtra>>2]|0; + HEAP32[$zColl>>2] = $459; + $460 = HEAP32[$nColl>>2]|0; + $461 = HEAP32[$zExtra>>2]|0; + $462 = (($461) + ($460)|0); + HEAP32[$zExtra>>2] = $462; + $463 = HEAP32[$nColl>>2]|0; + $464 = HEAP32[$nExtra>>2]|0; + $465 = (($464) - ($463))|0; + HEAP32[$nExtra>>2] = $465; + } else { + $466 = HEAP32[$j>>2]|0; + $467 = ($466|0)>=(0); + if (!($467)) { + break; } + $468 = HEAP32[$j>>2]|0; + $469 = HEAP32[$pTab>>2]|0; + $470 = ((($469)) + 4|0); + $471 = HEAP32[$470>>2]|0; + $472 = (($471) + ($468<<4)|0); + $473 = ((($472)) + 8|0); + $474 = HEAP32[$473>>2]|0; + HEAP32[$zColl>>2] = $474; } - $475 = HEAP32[$zColl>>2]|0; - $476 = HEAP32[$i>>2]|0; - $477 = HEAP32[$pIndex>>2]|0; - $478 = ((($477)) + 32|0); - $479 = HEAP32[$478>>2]|0; - $480 = (($479) + ($476<<2)|0); - HEAP32[$480>>2] = $475; - $481 = HEAP32[$pListItem>>2]|0; - $482 = ((($481)) + 12|0); - $483 = HEAP8[$482>>0]|0; - $484 = $483&255; - $485 = HEAP32[$sortOrderMask>>2]|0; - $486 = $484 & $485; - HEAP32[$requestedSortOrder>>2] = $486; - $487 = HEAP32[$requestedSortOrder>>2]|0; - $488 = $487&255; - $489 = HEAP32[$i>>2]|0; - $490 = HEAP32[$pIndex>>2]|0; - $491 = ((($490)) + 28|0); - $492 = HEAP32[$491>>2]|0; - $493 = (($492) + ($489)|0); - HEAP8[$493>>0] = $488; - $494 = HEAP32[$i>>2]|0; - $495 = (($494) + 1)|0; - HEAP32[$i>>2] = $495; - $496 = HEAP32[$pListItem>>2]|0; - $497 = ((($496)) + 20|0); - HEAP32[$pListItem>>2] = $497; + } while(0); + $475 = HEAP32[$zColl>>2]|0; + $476 = ($475|0)!=(0|0); + if (!($476)) { + HEAP32[$zColl>>2] = 34834; } - if ((label|0) == 65) { - $374 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($374,37258,$vararg_buffer23); - break; + $477 = HEAP32[$db>>2]|0; + $478 = ((($477)) + 148|0); + $479 = ((($478)) + 5|0); + $480 = HEAP8[$479>>0]|0; + $481 = ($480<<24>>24)!=(0); + if (!($481)) { + $482 = HEAP32[$0>>2]|0; + $483 = HEAP32[$zColl>>2]|0; + $484 = (_sqlite3LocateCollSeq($482,$483)|0); + $485 = ($484|0)!=(0|0); + if (!($485)) { + break L1; + } } - $498 = HEAP32[$pPk>>2]|0; - $499 = ($498|0)!=(0|0); - L109: do { - if ($499) { - HEAP32[$j>>2] = 0; - while(1) { - $500 = HEAP32[$j>>2]|0; - $501 = HEAP32[$pPk>>2]|0; - $502 = ((($501)) + 50|0); - $503 = HEAP16[$502>>1]|0; - $504 = $503&65535; - $505 = ($500|0)<($504|0); - if (!($505)) { - break L109; - } - $506 = HEAP32[$j>>2]|0; - $507 = HEAP32[$pPk>>2]|0; - $508 = ((($507)) + 4|0); - $509 = HEAP32[$508>>2]|0; - $510 = (($509) + ($506<<1)|0); - $511 = HEAP16[$510>>1]|0; - $512 = $511 << 16 >> 16; - HEAP32[$x>>2] = $512; - $513 = HEAP32[$pIndex>>2]|0; - $514 = ((($513)) + 4|0); - $515 = HEAP32[$514>>2]|0; - $516 = HEAP32[$pIndex>>2]|0; - $517 = ((($516)) + 50|0); - $518 = HEAP16[$517>>1]|0; - $519 = $518&65535; - $520 = HEAP32[$x>>2]|0; - $521 = (_hasColumn($515,$519,$520)|0); - $522 = ($521|0)!=(0); - if ($522) { - $523 = HEAP32[$pIndex>>2]|0; - $524 = ((($523)) + 52|0); - $525 = HEAP16[$524>>1]|0; - $526 = (($525) + -1)<<16>>16; - HEAP16[$524>>1] = $526; - } else { - $527 = HEAP32[$x>>2]|0; - $528 = $527&65535; - $529 = HEAP32[$i>>2]|0; - $530 = HEAP32[$pIndex>>2]|0; - $531 = ((($530)) + 4|0); - $532 = HEAP32[$531>>2]|0; - $533 = (($532) + ($529<<1)|0); - HEAP16[$533>>1] = $528; - $534 = HEAP32[$j>>2]|0; - $535 = HEAP32[$pPk>>2]|0; - $536 = ((($535)) + 32|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + ($534<<2)|0); - $539 = HEAP32[$538>>2]|0; - $540 = HEAP32[$i>>2]|0; - $541 = HEAP32[$pIndex>>2]|0; - $542 = ((($541)) + 32|0); - $543 = HEAP32[$542>>2]|0; - $544 = (($543) + ($540<<2)|0); - HEAP32[$544>>2] = $539; - $545 = HEAP32[$j>>2]|0; - $546 = HEAP32[$pPk>>2]|0; - $547 = ((($546)) + 28|0); - $548 = HEAP32[$547>>2]|0; - $549 = (($548) + ($545)|0); - $550 = HEAP8[$549>>0]|0; - $551 = HEAP32[$i>>2]|0; - $552 = HEAP32[$pIndex>>2]|0; - $553 = ((($552)) + 28|0); - $554 = HEAP32[$553>>2]|0; - $555 = (($554) + ($551)|0); - HEAP8[$555>>0] = $550; - $556 = HEAP32[$i>>2]|0; - $557 = (($556) + 1)|0; - HEAP32[$i>>2] = $557; - } - $558 = HEAP32[$j>>2]|0; - $559 = (($558) + 1)|0; - HEAP32[$j>>2] = $559; + $486 = HEAP32[$zColl>>2]|0; + $487 = HEAP32[$i>>2]|0; + $488 = HEAP32[$pIndex>>2]|0; + $489 = ((($488)) + 32|0); + $490 = HEAP32[$489>>2]|0; + $491 = (($490) + ($487<<2)|0); + HEAP32[$491>>2] = $486; + $492 = HEAP32[$pListItem>>2]|0; + $493 = ((($492)) + 12|0); + $494 = HEAP8[$493>>0]|0; + $495 = $494&255; + $496 = HEAP32[$sortOrderMask>>2]|0; + $497 = $495 & $496; + HEAP32[$requestedSortOrder>>2] = $497; + $498 = HEAP32[$requestedSortOrder>>2]|0; + $499 = $498&255; + $500 = HEAP32[$i>>2]|0; + $501 = HEAP32[$pIndex>>2]|0; + $502 = ((($501)) + 28|0); + $503 = HEAP32[$502>>2]|0; + $504 = (($503) + ($500)|0); + HEAP8[$504>>0] = $499; + $505 = HEAP32[$i>>2]|0; + $506 = (($505) + 1)|0; + HEAP32[$i>>2] = $506; + $507 = HEAP32[$pListItem>>2]|0; + $508 = ((($507)) + 20|0); + HEAP32[$pListItem>>2] = $508; + } + if ((label|0) == 68) { + $385 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($385,36701,$vararg_buffer23); + break; + } + $509 = HEAP32[$pPk>>2]|0; + $510 = ($509|0)!=(0|0); + L113: do { + if ($510) { + HEAP32[$j>>2] = 0; + while(1) { + $511 = HEAP32[$j>>2]|0; + $512 = HEAP32[$pPk>>2]|0; + $513 = ((($512)) + 50|0); + $514 = HEAP16[$513>>1]|0; + $515 = $514&65535; + $516 = ($511|0)<($515|0); + if (!($516)) { + break L113; } - } else { - $560 = HEAP32[$i>>2]|0; - $561 = HEAP32[$pIndex>>2]|0; - $562 = ((($561)) + 4|0); - $563 = HEAP32[$562>>2]|0; - $564 = (($563) + ($560<<1)|0); - HEAP16[$564>>1] = -1; - $565 = HEAP32[$i>>2]|0; - $566 = HEAP32[$pIndex>>2]|0; - $567 = ((($566)) + 32|0); - $568 = HEAP32[$567>>2]|0; - $569 = (($568) + ($565<<2)|0); - HEAP32[$569>>2] = 35351; + $517 = HEAP32[$j>>2]|0; + $518 = HEAP32[$pPk>>2]|0; + $519 = ((($518)) + 4|0); + $520 = HEAP32[$519>>2]|0; + $521 = (($520) + ($517<<1)|0); + $522 = HEAP16[$521>>1]|0; + $523 = $522 << 16 >> 16; + HEAP32[$x>>2] = $523; + $524 = HEAP32[$pIndex>>2]|0; + $525 = ((($524)) + 4|0); + $526 = HEAP32[$525>>2]|0; + $527 = HEAP32[$pIndex>>2]|0; + $528 = ((($527)) + 50|0); + $529 = HEAP16[$528>>1]|0; + $530 = $529&65535; + $531 = HEAP32[$x>>2]|0; + $532 = (_hasColumn($526,$530,$531)|0); + $533 = ($532|0)!=(0); + if ($533) { + $534 = HEAP32[$pIndex>>2]|0; + $535 = ((($534)) + 52|0); + $536 = HEAP16[$535>>1]|0; + $537 = (($536) + -1)<<16>>16; + HEAP16[$535>>1] = $537; + } else { + $538 = HEAP32[$x>>2]|0; + $539 = $538&65535; + $540 = HEAP32[$i>>2]|0; + $541 = HEAP32[$pIndex>>2]|0; + $542 = ((($541)) + 4|0); + $543 = HEAP32[$542>>2]|0; + $544 = (($543) + ($540<<1)|0); + HEAP16[$544>>1] = $539; + $545 = HEAP32[$j>>2]|0; + $546 = HEAP32[$pPk>>2]|0; + $547 = ((($546)) + 32|0); + $548 = HEAP32[$547>>2]|0; + $549 = (($548) + ($545<<2)|0); + $550 = HEAP32[$549>>2]|0; + $551 = HEAP32[$i>>2]|0; + $552 = HEAP32[$pIndex>>2]|0; + $553 = ((($552)) + 32|0); + $554 = HEAP32[$553>>2]|0; + $555 = (($554) + ($551<<2)|0); + HEAP32[$555>>2] = $550; + $556 = HEAP32[$j>>2]|0; + $557 = HEAP32[$pPk>>2]|0; + $558 = ((($557)) + 28|0); + $559 = HEAP32[$558>>2]|0; + $560 = (($559) + ($556)|0); + $561 = HEAP8[$560>>0]|0; + $562 = HEAP32[$i>>2]|0; + $563 = HEAP32[$pIndex>>2]|0; + $564 = ((($563)) + 28|0); + $565 = HEAP32[$564>>2]|0; + $566 = (($565) + ($562)|0); + HEAP8[$566>>0] = $561; + $567 = HEAP32[$i>>2]|0; + $568 = (($567) + 1)|0; + HEAP32[$i>>2] = $568; + } + $569 = HEAP32[$j>>2]|0; + $570 = (($569) + 1)|0; + HEAP32[$j>>2] = $570; } - } while(0); - $570 = HEAP32[$pIndex>>2]|0; - _sqlite3DefaultRowEst($570); - $571 = HEAP32[$0>>2]|0; - $572 = ((($571)) + 488|0); - $573 = HEAP32[$572>>2]|0; - $574 = ($573|0)==(0|0); - if ($574) { - $575 = HEAP32[$pIndex>>2]|0; - _estimateIndexWidth($575); + } else { + $571 = HEAP32[$i>>2]|0; + $572 = HEAP32[$pIndex>>2]|0; + $573 = ((($572)) + 4|0); + $574 = HEAP32[$573>>2]|0; + $575 = (($574) + ($571<<1)|0); + HEAP16[$575>>1] = -1; + $576 = HEAP32[$i>>2]|0; + $577 = HEAP32[$pIndex>>2]|0; + $578 = ((($577)) + 32|0); + $579 = HEAP32[$578>>2]|0; + $580 = (($579) + ($576<<2)|0); + HEAP32[$580>>2] = 34834; } - $576 = HEAP32[$3>>2]|0; - $577 = ($576|0)!=(0|0); - L123: do { - if ($577) { - $578 = HEAP32[$pIndex>>2]|0; - $579 = ((($578)) + 52|0); - $580 = HEAP16[$579>>1]|0; - $581 = $580&65535; - $582 = HEAP32[$pTab>>2]|0; - $583 = ((($582)) + 34|0); - $584 = HEAP16[$583>>1]|0; - $585 = $584 << 16 >> 16; - $586 = ($581|0)>=($585|0); - if (!($586)) { - break; + } while(0); + $581 = HEAP32[$pIndex>>2]|0; + _sqlite3DefaultRowEst($581); + $582 = HEAP32[$0>>2]|0; + $583 = ((($582)) + 440|0); + $584 = HEAP32[$583>>2]|0; + $585 = ($584|0)==(0|0); + if ($585) { + $586 = HEAP32[$pIndex>>2]|0; + _estimateIndexWidth($586); + } + $587 = HEAP32[$3>>2]|0; + $588 = ($587|0)!=(0|0); + L127: do { + if ($588) { + $589 = HEAP32[$pIndex>>2]|0; + $590 = ((($589)) + 52|0); + $591 = HEAP16[$590>>1]|0; + $592 = $591&65535; + $593 = HEAP32[$pTab>>2]|0; + $594 = ((($593)) + 34|0); + $595 = HEAP16[$594>>1]|0; + $596 = $595 << 16 >> 16; + $597 = ($592|0)>=($596|0); + if (!($597)) { + break; + } + $598 = HEAP32[$pIndex>>2]|0; + $599 = ((($598)) + 55|0); + $600 = HEAP8[$599>>0]|0; + $601 = $600 & -33; + $602 = $601 | 32; + HEAP8[$599>>0] = $602; + HEAP32[$j>>2] = 0; + while(1) { + $603 = HEAP32[$j>>2]|0; + $604 = HEAP32[$pTab>>2]|0; + $605 = ((($604)) + 34|0); + $606 = HEAP16[$605>>1]|0; + $607 = $606 << 16 >> 16; + $608 = ($603|0)<($607|0); + if (!($608)) { + break L127; } - $587 = HEAP32[$pIndex>>2]|0; - $588 = ((($587)) + 55|0); - $589 = HEAP8[$588>>0]|0; - $590 = $589 & -33; - $591 = $590 | 32; - HEAP8[$588>>0] = $591; - HEAP32[$j>>2] = 0; - while(1) { - $592 = HEAP32[$j>>2]|0; - $593 = HEAP32[$pTab>>2]|0; - $594 = ((($593)) + 34|0); - $595 = HEAP16[$594>>1]|0; - $596 = $595 << 16 >> 16; - $597 = ($592|0)<($596|0); - if (!($597)) { - break L123; - } - $598 = HEAP32[$j>>2]|0; - $599 = HEAP32[$pTab>>2]|0; - $600 = ((($599)) + 32|0); - $601 = HEAP16[$600>>1]|0; - $602 = $601 << 16 >> 16; - $603 = ($598|0)==($602|0); - if (!($603)) { - $604 = HEAP32[$pIndex>>2]|0; - $605 = HEAP32[$j>>2]|0; - $606 = $605&65535; - $607 = (_sqlite3ColumnOfIndex($604,$606)|0); - $608 = $607 << 16 >> 16; - $609 = ($608|0)>=(0); - if (!($609)) { - break; - } + $609 = HEAP32[$j>>2]|0; + $610 = HEAP32[$pTab>>2]|0; + $611 = ((($610)) + 32|0); + $612 = HEAP16[$611>>1]|0; + $613 = $612 << 16 >> 16; + $614 = ($609|0)==($613|0); + if (!($614)) { + $615 = HEAP32[$pIndex>>2]|0; + $616 = HEAP32[$j>>2]|0; + $617 = $616&65535; + $618 = (_sqlite3ColumnOfIndex($615,$617)|0); + $619 = $618 << 16 >> 16; + $620 = ($619|0)>=(0); + if (!($620)) { + break; } - $614 = HEAP32[$j>>2]|0; - $615 = (($614) + 1)|0; - HEAP32[$j>>2] = $615; } - $610 = HEAP32[$pIndex>>2]|0; - $611 = ((($610)) + 55|0); - $612 = HEAP8[$611>>0]|0; - $613 = $612 & -33; - HEAP8[$611>>0] = $613; + $625 = HEAP32[$j>>2]|0; + $626 = (($625) + 1)|0; + HEAP32[$j>>2] = $626; } - } while(0); - $616 = HEAP32[$pTab>>2]|0; - $617 = HEAP32[$0>>2]|0; - $618 = ((($617)) + 488|0); - $619 = HEAP32[$618>>2]|0; - $620 = ($616|0)==($619|0); - L134: do { - if ($620) { - $621 = HEAP32[$pTab>>2]|0; - $622 = ((($621)) + 8|0); - $623 = HEAP32[$622>>2]|0; - HEAP32[$pIdx>>2] = $623; - while(1) { - $624 = HEAP32[$pIdx>>2]|0; - $625 = ($624|0)!=(0|0); - if (!($625)) { - break L134; - } - $626 = HEAP32[$pIdx>>2]|0; - $627 = ((($626)) + 50|0); - $628 = HEAP16[$627>>1]|0; - $629 = $628&65535; - $630 = HEAP32[$pIndex>>2]|0; - $631 = ((($630)) + 50|0); - $632 = HEAP16[$631>>1]|0; - $633 = $632&65535; - $634 = ($629|0)!=($633|0); - if (!($634)) { - HEAP32[$k>>2] = 0; - while(1) { - $635 = HEAP32[$k>>2]|0; - $636 = HEAP32[$pIdx>>2]|0; - $637 = ((($636)) + 50|0); - $638 = HEAP16[$637>>1]|0; - $639 = $638&65535; - $640 = ($635|0)<($639|0); - if (!($640)) { - break; - } - $641 = HEAP32[$k>>2]|0; - $642 = HEAP32[$pIdx>>2]|0; - $643 = ((($642)) + 4|0); - $644 = HEAP32[$643>>2]|0; - $645 = (($644) + ($641<<1)|0); - $646 = HEAP16[$645>>1]|0; - $647 = $646 << 16 >> 16; - $648 = HEAP32[$k>>2]|0; - $649 = HEAP32[$pIndex>>2]|0; - $650 = ((($649)) + 4|0); - $651 = HEAP32[$650>>2]|0; - $652 = (($651) + ($648<<1)|0); - $653 = HEAP16[$652>>1]|0; - $654 = $653 << 16 >> 16; - $655 = ($647|0)!=($654|0); - if ($655) { - break; - } - $656 = HEAP32[$k>>2]|0; - $657 = HEAP32[$pIdx>>2]|0; - $658 = ((($657)) + 32|0); - $659 = HEAP32[$658>>2]|0; - $660 = (($659) + ($656<<2)|0); - $661 = HEAP32[$660>>2]|0; - HEAP32[$z1>>2] = $661; - $662 = HEAP32[$k>>2]|0; - $663 = HEAP32[$pIndex>>2]|0; - $664 = ((($663)) + 32|0); - $665 = HEAP32[$664>>2]|0; - $666 = (($665) + ($662<<2)|0); - $667 = HEAP32[$666>>2]|0; - HEAP32[$z2>>2] = $667; - $668 = HEAP32[$z1>>2]|0; - $669 = HEAP32[$z2>>2]|0; - $670 = (_sqlite3StrICmp($668,$669)|0); - $671 = ($670|0)!=(0); - if ($671) { - break; - } - $672 = HEAP32[$k>>2]|0; - $673 = (($672) + 1)|0; - HEAP32[$k>>2] = $673; + $621 = HEAP32[$pIndex>>2]|0; + $622 = ((($621)) + 55|0); + $623 = HEAP8[$622>>0]|0; + $624 = $623 & -33; + HEAP8[$622>>0] = $624; + } + } while(0); + $627 = HEAP32[$pTab>>2]|0; + $628 = HEAP32[$0>>2]|0; + $629 = ((($628)) + 440|0); + $630 = HEAP32[$629>>2]|0; + $631 = ($627|0)==($630|0); + L138: do { + if ($631) { + $632 = HEAP32[$pTab>>2]|0; + $633 = ((($632)) + 8|0); + $634 = HEAP32[$633>>2]|0; + HEAP32[$pIdx>>2] = $634; + while(1) { + $635 = HEAP32[$pIdx>>2]|0; + $636 = ($635|0)!=(0|0); + if (!($636)) { + break L138; + } + $637 = HEAP32[$pIdx>>2]|0; + $638 = ((($637)) + 50|0); + $639 = HEAP16[$638>>1]|0; + $640 = $639&65535; + $641 = HEAP32[$pIndex>>2]|0; + $642 = ((($641)) + 50|0); + $643 = HEAP16[$642>>1]|0; + $644 = $643&65535; + $645 = ($640|0)!=($644|0); + if (!($645)) { + HEAP32[$k>>2] = 0; + while(1) { + $646 = HEAP32[$k>>2]|0; + $647 = HEAP32[$pIdx>>2]|0; + $648 = ((($647)) + 50|0); + $649 = HEAP16[$648>>1]|0; + $650 = $649&65535; + $651 = ($646|0)<($650|0); + if (!($651)) { + break; + } + $652 = HEAP32[$k>>2]|0; + $653 = HEAP32[$pIdx>>2]|0; + $654 = ((($653)) + 4|0); + $655 = HEAP32[$654>>2]|0; + $656 = (($655) + ($652<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = HEAP32[$k>>2]|0; + $660 = HEAP32[$pIndex>>2]|0; + $661 = ((($660)) + 4|0); + $662 = HEAP32[$661>>2]|0; + $663 = (($662) + ($659<<1)|0); + $664 = HEAP16[$663>>1]|0; + $665 = $664 << 16 >> 16; + $666 = ($658|0)!=($665|0); + if ($666) { + break; } - $674 = HEAP32[$k>>2]|0; - $675 = HEAP32[$pIdx>>2]|0; - $676 = ((($675)) + 50|0); - $677 = HEAP16[$676>>1]|0; - $678 = $677&65535; - $679 = ($674|0)==($678|0); - if ($679) { + $667 = HEAP32[$k>>2]|0; + $668 = HEAP32[$pIdx>>2]|0; + $669 = ((($668)) + 32|0); + $670 = HEAP32[$669>>2]|0; + $671 = (($670) + ($667<<2)|0); + $672 = HEAP32[$671>>2]|0; + HEAP32[$z1>>2] = $672; + $673 = HEAP32[$k>>2]|0; + $674 = HEAP32[$pIndex>>2]|0; + $675 = ((($674)) + 32|0); + $676 = HEAP32[$675>>2]|0; + $677 = (($676) + ($673<<2)|0); + $678 = HEAP32[$677>>2]|0; + HEAP32[$z2>>2] = $678; + $679 = HEAP32[$z1>>2]|0; + $680 = HEAP32[$z2>>2]|0; + $681 = (_sqlite3StrICmp($679,$680)|0); + $682 = ($681|0)!=(0); + if ($682) { break; } + $683 = HEAP32[$k>>2]|0; + $684 = (($683) + 1)|0; + HEAP32[$k>>2] = $684; + } + $685 = HEAP32[$k>>2]|0; + $686 = HEAP32[$pIdx>>2]|0; + $687 = ((($686)) + 50|0); + $688 = HEAP16[$687>>1]|0; + $689 = $688&65535; + $690 = ($685|0)==($689|0); + if ($690) { + break; } - $711 = HEAP32[$pIdx>>2]|0; - $712 = ((($711)) + 20|0); - $713 = HEAP32[$712>>2]|0; - HEAP32[$pIdx>>2] = $713; } - $680 = HEAP32[$pIdx>>2]|0; - $681 = ((($680)) + 54|0); - $682 = HEAP8[$681>>0]|0; - $683 = $682&255; - $684 = HEAP32[$pIndex>>2]|0; - $685 = ((($684)) + 54|0); - $686 = HEAP8[$685>>0]|0; - $687 = $686&255; - $688 = ($683|0)!=($687|0); - do { - if ($688) { - $689 = HEAP32[$pIdx>>2]|0; - $690 = ((($689)) + 54|0); - $691 = HEAP8[$690>>0]|0; - $692 = $691&255; - $693 = ($692|0)==(10); - do { - if (!($693)) { - $694 = HEAP32[$pIndex>>2]|0; - $695 = ((($694)) + 54|0); - $696 = HEAP8[$695>>0]|0; - $697 = $696&255; - $698 = ($697|0)==(10); - if ($698) { - break; - } - $699 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer25>>2] = 0; - _sqlite3ErrorMsg($699,37319,$vararg_buffer25); - } - } while(0); - $700 = HEAP32[$pIdx>>2]|0; - $701 = ((($700)) + 54|0); - $702 = HEAP8[$701>>0]|0; - $703 = $702&255; - $704 = ($703|0)==(10); + $733 = HEAP32[$pIdx>>2]|0; + $734 = ((($733)) + 20|0); + $735 = HEAP32[$734>>2]|0; + HEAP32[$pIdx>>2] = $735; + } + $691 = HEAP32[$pIdx>>2]|0; + $692 = ((($691)) + 54|0); + $693 = HEAP8[$692>>0]|0; + $694 = $693&255; + $695 = HEAP32[$pIndex>>2]|0; + $696 = ((($695)) + 54|0); + $697 = HEAP8[$696>>0]|0; + $698 = $697&255; + $699 = ($694|0)!=($698|0); + do { + if ($699) { + $700 = HEAP32[$pIdx>>2]|0; + $701 = ((($700)) + 54|0); + $702 = HEAP8[$701>>0]|0; + $703 = $702&255; + $704 = ($703|0)==(10); + do { if (!($704)) { - break; + $705 = HEAP32[$pIndex>>2]|0; + $706 = ((($705)) + 54|0); + $707 = HEAP8[$706>>0]|0; + $708 = $707&255; + $709 = ($708|0)==(10); + if ($709) { + break; + } + $710 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer25>>2] = 0; + _sqlite3ErrorMsg($710,36762,$vararg_buffer25); } - $705 = HEAP32[$pIndex>>2]|0; - $706 = ((($705)) + 54|0); - $707 = HEAP8[$706>>0]|0; - $708 = HEAP32[$pIdx>>2]|0; - $709 = ((($708)) + 54|0); - HEAP8[$709>>0] = $707; + } while(0); + $711 = HEAP32[$pIdx>>2]|0; + $712 = ((($711)) + 54|0); + $713 = HEAP8[$712>>0]|0; + $714 = $713&255; + $715 = ($714|0)==(10); + if (!($715)) { + break; } - } while(0); - $710 = HEAP32[$pIdx>>2]|0; - HEAP32[$pRet>>2] = $710; + $716 = HEAP32[$pIndex>>2]|0; + $717 = ((($716)) + 54|0); + $718 = HEAP8[$717>>0]|0; + $719 = HEAP32[$pIdx>>2]|0; + $720 = ((($719)) + 54|0); + HEAP8[$720>>0] = $718; + } + } while(0); + $721 = HEAP8[$10>>0]|0; + $722 = $721&255; + $723 = ($722|0)==(2); + if (!($723)) { break L1; } - } while(0); - $714 = HEAP32[$db>>2]|0; - $715 = ((($714)) + 144|0); - $716 = ((($715)) + 5|0); - $717 = HEAP8[$716>>0]|0; - $718 = ($717<<24>>24)!=(0); - do { - if ($718) { - $719 = HEAP32[$pIndex>>2]|0; - $720 = ((($719)) + 24|0); - $721 = HEAP32[$720>>2]|0; - $722 = ((($721)) + 24|0); - $723 = HEAP32[$pIndex>>2]|0; - $724 = HEAP32[$723>>2]|0; - $725 = HEAP32[$pIndex>>2]|0; - $726 = (_sqlite3HashInsert($722,$724,$725)|0); - HEAP32[$p>>2] = $726; - $727 = HEAP32[$p>>2]|0; - $728 = ($727|0)!=(0|0); - $729 = HEAP32[$db>>2]|0; - if ($728) { - _sqlite3OomFault($729); - break L1; - } - $730 = ((($729)) + 24|0); - $731 = HEAP32[$730>>2]|0; - $732 = $731 | 2; - HEAP32[$730>>2] = $732; - $733 = HEAP32[$3>>2]|0; - $734 = ($733|0)!=(0|0); - if (!($734)) { - break; + $724 = HEAP8[$10>>0]|0; + $725 = $724&255; + $726 = HEAP32[$pIdx>>2]|0; + $727 = ((($726)) + 55|0); + $728 = $725&255; + $729 = HEAP8[$727>>0]|0; + $730 = $728 & 3; + $731 = $729 & -4; + $732 = $731 | $730; + HEAP8[$727>>0] = $732; + break L1; + } + } while(0); + $736 = HEAP32[$db>>2]|0; + $737 = ((($736)) + 148|0); + $738 = ((($737)) + 5|0); + $739 = HEAP8[$738>>0]|0; + $740 = ($739<<24>>24)!=(0); + do { + if ($740) { + $741 = HEAP32[$pIndex>>2]|0; + $742 = ((($741)) + 24|0); + $743 = HEAP32[$742>>2]|0; + $744 = ((($743)) + 24|0); + $745 = HEAP32[$pIndex>>2]|0; + $746 = HEAP32[$745>>2]|0; + $747 = HEAP32[$pIndex>>2]|0; + $748 = (_sqlite3HashInsert($744,$746,$747)|0); + HEAP32[$p>>2] = $748; + $749 = HEAP32[$p>>2]|0; + $750 = ($749|0)!=(0|0); + $751 = HEAP32[$db>>2]|0; + if ($750) { + _sqlite3OomFault($751); + break L1; + } + $752 = ((($751)) + 24|0); + $753 = HEAP32[$752>>2]|0; + $754 = $753 | 2; + HEAP32[$752>>2] = $754; + $755 = HEAP32[$3>>2]|0; + $756 = ($755|0)!=(0|0); + if (!($756)) { + break; + } + $757 = HEAP32[$db>>2]|0; + $758 = ((($757)) + 148|0); + $759 = HEAP32[$758>>2]|0; + $760 = HEAP32[$pIndex>>2]|0; + $761 = ((($760)) + 44|0); + HEAP32[$761>>2] = $759; + } else { + $762 = HEAP32[$pTab>>2]|0; + $763 = ((($762)) + 42|0); + $764 = HEAP8[$763>>0]|0; + $765 = $764&255; + $766 = $765 & 32; + $767 = ($766|0)==(0); + $768 = HEAP32[$3>>2]|0; + $769 = ($768|0)!=(0|0); + $or$cond3 = $767 | $769; + if (!($or$cond3)) { + break; + } + $770 = HEAP32[$0>>2]|0; + $771 = ((($770)) + 44|0); + $772 = HEAP32[$771>>2]|0; + $773 = (($772) + 1)|0; + HEAP32[$771>>2] = $773; + HEAP32[$iMem>>2] = $773; + $774 = HEAP32[$0>>2]|0; + $775 = (_sqlite3GetVdbe($774)|0); + HEAP32[$v>>2] = $775; + $776 = HEAP32[$v>>2]|0; + $777 = ($776|0)==(0|0); + if ($777) { + break L1; + } + $778 = HEAP32[$0>>2]|0; + $779 = HEAP32[$iDb>>2]|0; + _sqlite3BeginWriteOperation($778,1,$779); + $780 = HEAP32[$v>>2]|0; + $781 = (_sqlite3VdbeAddOp0($780,161)|0); + $782 = HEAP32[$pIndex>>2]|0; + $783 = ((($782)) + 44|0); + HEAP32[$783>>2] = $781; + $784 = HEAP32[$v>>2]|0; + $785 = HEAP32[$iDb>>2]|0; + $786 = HEAP32[$iMem>>2]|0; + (_sqlite3VdbeAddOp2($784,134,$785,$786)|0); + $787 = HEAP32[$6>>2]|0; + $788 = ($787|0)!=(0|0); + if ($788) { + $789 = HEAP32[$0>>2]|0; + $790 = ((($789)) + 392|0); + $791 = HEAP32[$790>>2]|0; + $792 = HEAP32[$pName>>2]|0; + $793 = HEAP32[$792>>2]|0; + $794 = $791; + $795 = $793; + $796 = (($794) - ($795))|0; + $797 = HEAP32[$0>>2]|0; + $798 = ((($797)) + 392|0); + $799 = ((($798)) + 4|0); + $800 = HEAP32[$799>>2]|0; + $801 = (($796) + ($800))|0; + HEAP32[$n1>>2] = $801; + $802 = HEAP32[$n1>>2]|0; + $803 = (($802) - 1)|0; + $804 = HEAP32[$pName>>2]|0; + $805 = HEAP32[$804>>2]|0; + $806 = (($805) + ($803)|0); + $807 = HEAP8[$806>>0]|0; + $808 = $807 << 24 >> 24; + $809 = ($808|0)==(59); + if ($809) { + $810 = HEAP32[$n1>>2]|0; + $811 = (($810) + -1)|0; + HEAP32[$n1>>2] = $811; } - $735 = HEAP32[$db>>2]|0; - $736 = ((($735)) + 144|0); - $737 = HEAP32[$736>>2]|0; - $738 = HEAP32[$pIndex>>2]|0; - $739 = ((($738)) + 44|0); - HEAP32[$739>>2] = $737; + $812 = HEAP32[$db>>2]|0; + $813 = HEAP32[$5>>2]|0; + $814 = ($813|0)==(0); + $815 = $814 ? 18402 : 36804; + $816 = HEAP32[$n1>>2]|0; + $817 = HEAP32[$pName>>2]|0; + $818 = HEAP32[$817>>2]|0; + HEAP32[$vararg_buffer28>>2] = $815; + $vararg_ptr31 = ((($vararg_buffer28)) + 4|0); + HEAP32[$vararg_ptr31>>2] = $816; + $vararg_ptr32 = ((($vararg_buffer28)) + 8|0); + HEAP32[$vararg_ptr32>>2] = $818; + $819 = (_sqlite3MPrintf($812,36812,$vararg_buffer28)|0); + HEAP32[$zStmt>>2] = $819; } else { - $740 = HEAP32[$pTab>>2]|0; - $741 = ((($740)) + 42|0); - $742 = HEAP8[$741>>0]|0; - $743 = $742&255; - $744 = $743 & 32; - $745 = ($744|0)==(0); - $746 = HEAP32[$3>>2]|0; - $747 = ($746|0)!=(0|0); - $or$cond3 = $745 | $747; - if (!($or$cond3)) { - break; - } - $748 = HEAP32[$0>>2]|0; - $749 = ((($748)) + 76|0); - $750 = HEAP32[$749>>2]|0; - $751 = (($750) + 1)|0; - HEAP32[$749>>2] = $751; - HEAP32[$iMem>>2] = $751; - $752 = HEAP32[$0>>2]|0; - $753 = (_sqlite3GetVdbe($752)|0); - HEAP32[$v>>2] = $753; - $754 = HEAP32[$v>>2]|0; - $755 = ($754|0)==(0|0); - if ($755) { - break L1; - } - $756 = HEAP32[$0>>2]|0; - $757 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($756,1,$757); - $758 = HEAP32[$v>>2]|0; - $759 = (_sqlite3VdbeAddOp0($758,159)|0); - $760 = HEAP32[$pIndex>>2]|0; - $761 = ((($760)) + 44|0); - HEAP32[$761>>2] = $759; - $762 = HEAP32[$v>>2]|0; - $763 = HEAP32[$iDb>>2]|0; - $764 = HEAP32[$iMem>>2]|0; - (_sqlite3VdbeAddOp2($762,131,$763,$764)|0); - $765 = HEAP32[$6>>2]|0; - $766 = ($765|0)!=(0|0); - if ($766) { - $767 = HEAP32[$0>>2]|0; - $768 = ((($767)) + 508|0); - $769 = HEAP32[$768>>2]|0; - $770 = HEAP32[$pName>>2]|0; - $771 = HEAP32[$770>>2]|0; - $772 = $769; - $773 = $771; - $774 = (($772) - ($773))|0; - $775 = HEAP32[$0>>2]|0; - $776 = ((($775)) + 508|0); - $777 = ((($776)) + 4|0); - $778 = HEAP32[$777>>2]|0; - $779 = (($774) + ($778))|0; - HEAP32[$n1>>2] = $779; - $780 = HEAP32[$n1>>2]|0; - $781 = (($780) - 1)|0; - $782 = HEAP32[$pName>>2]|0; - $783 = HEAP32[$782>>2]|0; - $784 = (($783) + ($781)|0); - $785 = HEAP8[$784>>0]|0; - $786 = $785 << 24 >> 24; - $787 = ($786|0)==(59); - if ($787) { - $788 = HEAP32[$n1>>2]|0; - $789 = (($788) + -1)|0; - HEAP32[$n1>>2] = $789; - } - $790 = HEAP32[$db>>2]|0; - $791 = HEAP32[$5>>2]|0; - $792 = ($791|0)==(0); - $793 = $792 ? 19018 : 37361; - $794 = HEAP32[$n1>>2]|0; - $795 = HEAP32[$pName>>2]|0; - $796 = HEAP32[$795>>2]|0; - HEAP32[$vararg_buffer28>>2] = $793; - $vararg_ptr31 = ((($vararg_buffer28)) + 4|0); - HEAP32[$vararg_ptr31>>2] = $794; - $vararg_ptr32 = ((($vararg_buffer28)) + 8|0); - HEAP32[$vararg_ptr32>>2] = $796; - $797 = (_sqlite3MPrintf($790,37369,$vararg_buffer28)|0); - HEAP32[$zStmt>>2] = $797; - } else { - HEAP32[$zStmt>>2] = 0; - } - $798 = HEAP32[$0>>2]|0; - $799 = HEAP32[$iDb>>2]|0; - $800 = HEAP32[$db>>2]|0; - $801 = ((($800)) + 16|0); - $802 = HEAP32[$801>>2]|0; - $803 = (($802) + ($799<<4)|0); - $804 = HEAP32[$803>>2]|0; - $805 = HEAP32[$iDb>>2]|0; - $806 = ($805|0)==(1); - $807 = $806 ? 20521 : 20540; - $808 = HEAP32[$pIndex>>2]|0; - $809 = HEAP32[$808>>2]|0; - $810 = HEAP32[$pTab>>2]|0; - $811 = HEAP32[$810>>2]|0; - $812 = HEAP32[$iMem>>2]|0; - $813 = HEAP32[$zStmt>>2]|0; - HEAP32[$vararg_buffer33>>2] = $804; - $vararg_ptr36 = ((($vararg_buffer33)) + 4|0); - HEAP32[$vararg_ptr36>>2] = $807; - $vararg_ptr37 = ((($vararg_buffer33)) + 8|0); - HEAP32[$vararg_ptr37>>2] = $809; - $vararg_ptr38 = ((($vararg_buffer33)) + 12|0); - HEAP32[$vararg_ptr38>>2] = $811; - $vararg_ptr39 = ((($vararg_buffer33)) + 16|0); - HEAP32[$vararg_ptr39>>2] = $812; - $vararg_ptr40 = ((($vararg_buffer33)) + 20|0); - HEAP32[$vararg_ptr40>>2] = $813; - _sqlite3NestedParse($798,37389,$vararg_buffer33); - $814 = HEAP32[$db>>2]|0; - $815 = HEAP32[$zStmt>>2]|0; - _sqlite3DbFree($814,$815); - $816 = HEAP32[$3>>2]|0; - $817 = ($816|0)!=(0|0); - if ($817) { - $818 = HEAP32[$0>>2]|0; - $819 = HEAP32[$pIndex>>2]|0; - $820 = HEAP32[$iMem>>2]|0; - _sqlite3RefillIndex($818,$819,$820); - $821 = HEAP32[$0>>2]|0; - $822 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($821,$822); - $823 = HEAP32[$v>>2]|0; - $824 = HEAP32[$iDb>>2]|0; - $825 = HEAP32[$db>>2]|0; - $826 = HEAP32[$pIndex>>2]|0; - $827 = HEAP32[$826>>2]|0; - HEAP32[$vararg_buffer41>>2] = $827; - $828 = (_sqlite3MPrintf($825,37437,$vararg_buffer41)|0); - _sqlite3VdbeAddParseSchemaOp($823,$824,$828); - $829 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($829,148,0)|0); - } - $830 = HEAP32[$v>>2]|0; - $831 = HEAP32[$pIndex>>2]|0; - $832 = ((($831)) + 44|0); - $833 = HEAP32[$832>>2]|0; - _sqlite3VdbeJumpHere($830,$833); + HEAP32[$zStmt>>2] = 0; } - } while(0); - $834 = HEAP32[$db>>2]|0; - $835 = ((($834)) + 144|0); - $836 = ((($835)) + 5|0); - $837 = HEAP8[$836>>0]|0; - $838 = $837&255; - $839 = ($838|0)!=(0); - $840 = HEAP32[$3>>2]|0; - $841 = ($840|0)==(0|0); - $or$cond5 = $839 | $841; - if (!($or$cond5)) { - break; + $820 = HEAP32[$0>>2]|0; + $821 = HEAP32[$iDb>>2]|0; + $822 = HEAP32[$db>>2]|0; + $823 = ((($822)) + 16|0); + $824 = HEAP32[$823>>2]|0; + $825 = (($824) + ($821<<4)|0); + $826 = HEAP32[$825>>2]|0; + $827 = HEAP32[$iDb>>2]|0; + $828 = ($827|0)==(1); + $829 = $828 ? 19905 : 19924; + $830 = HEAP32[$pIndex>>2]|0; + $831 = HEAP32[$830>>2]|0; + $832 = HEAP32[$pTab>>2]|0; + $833 = HEAP32[$832>>2]|0; + $834 = HEAP32[$iMem>>2]|0; + $835 = HEAP32[$zStmt>>2]|0; + HEAP32[$vararg_buffer33>>2] = $826; + $vararg_ptr36 = ((($vararg_buffer33)) + 4|0); + HEAP32[$vararg_ptr36>>2] = $829; + $vararg_ptr37 = ((($vararg_buffer33)) + 8|0); + HEAP32[$vararg_ptr37>>2] = $831; + $vararg_ptr38 = ((($vararg_buffer33)) + 12|0); + HEAP32[$vararg_ptr38>>2] = $833; + $vararg_ptr39 = ((($vararg_buffer33)) + 16|0); + HEAP32[$vararg_ptr39>>2] = $834; + $vararg_ptr40 = ((($vararg_buffer33)) + 20|0); + HEAP32[$vararg_ptr40>>2] = $835; + _sqlite3NestedParse($820,36832,$vararg_buffer33); + $836 = HEAP32[$db>>2]|0; + $837 = HEAP32[$zStmt>>2]|0; + _sqlite3DbFree($836,$837); + $838 = HEAP32[$3>>2]|0; + $839 = ($838|0)!=(0|0); + if ($839) { + $840 = HEAP32[$0>>2]|0; + $841 = HEAP32[$pIndex>>2]|0; + $842 = HEAP32[$iMem>>2]|0; + _sqlite3RefillIndex($840,$841,$842); + $843 = HEAP32[$0>>2]|0; + $844 = HEAP32[$iDb>>2]|0; + _sqlite3ChangeCookie($843,$844); + $845 = HEAP32[$v>>2]|0; + $846 = HEAP32[$iDb>>2]|0; + $847 = HEAP32[$db>>2]|0; + $848 = HEAP32[$pIndex>>2]|0; + $849 = HEAP32[$848>>2]|0; + HEAP32[$vararg_buffer41>>2] = $849; + $850 = (_sqlite3MPrintf($847,36880,$vararg_buffer41)|0); + _sqlite3VdbeAddParseSchemaOp($845,$846,$850); + $851 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp0($851,150)|0); + } + $852 = HEAP32[$v>>2]|0; + $853 = HEAP32[$pIndex>>2]|0; + $854 = ((($853)) + 44|0); + $855 = HEAP32[$854>>2]|0; + _sqlite3VdbeJumpHere($852,$855); } - $842 = HEAP32[$5>>2]|0; - $843 = ($842|0)!=(5); - do { - if ($843) { - label = 139; - } else { - $844 = HEAP32[$pTab>>2]|0; - $845 = ((($844)) + 8|0); - $846 = HEAP32[$845>>2]|0; - $847 = ($846|0)==(0|0); - if ($847) { - label = 139; - break; + } while(0); + $856 = HEAP32[$db>>2]|0; + $857 = ((($856)) + 148|0); + $858 = ((($857)) + 5|0); + $859 = HEAP8[$858>>0]|0; + $860 = $859&255; + $861 = ($860|0)!=(0); + $862 = HEAP32[$3>>2]|0; + $863 = ($862|0)==(0|0); + $or$cond5 = $861 | $863; + if (!($or$cond5)) { + break; + } + $864 = HEAP32[$5>>2]|0; + $865 = ($864|0)!=(5); + do { + if ($865) { + label = 143; + } else { + $866 = HEAP32[$pTab>>2]|0; + $867 = ((($866)) + 8|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($868|0)==(0|0); + if ($869) { + label = 143; + break; + } + $870 = HEAP32[$pTab>>2]|0; + $871 = ((($870)) + 8|0); + $872 = HEAP32[$871>>2]|0; + $873 = ((($872)) + 54|0); + $874 = HEAP8[$873>>0]|0; + $875 = $874&255; + $876 = ($875|0)==(5); + if ($876) { + label = 143; + break; + } + $885 = HEAP32[$pTab>>2]|0; + $886 = ((($885)) + 8|0); + $887 = HEAP32[$886>>2]|0; + HEAP32[$pOther>>2] = $887; + while(1) { + $888 = HEAP32[$pOther>>2]|0; + $889 = ((($888)) + 20|0); + $890 = HEAP32[$889>>2]|0; + $891 = ($890|0)!=(0|0); + if ($891) { + $892 = HEAP32[$pOther>>2]|0; + $893 = ((($892)) + 20|0); + $894 = HEAP32[$893>>2]|0; + $895 = ((($894)) + 54|0); + $896 = HEAP8[$895>>0]|0; + $897 = $896&255; + $898 = ($897|0)!=(5); + $919 = $898; + } else { + $919 = 0; } - $848 = HEAP32[$pTab>>2]|0; - $849 = ((($848)) + 8|0); - $850 = HEAP32[$849>>2]|0; - $851 = ((($850)) + 54|0); - $852 = HEAP8[$851>>0]|0; - $853 = $852&255; - $854 = ($853|0)==(5); - if ($854) { - label = 139; + $899 = HEAP32[$pOther>>2]|0; + $900 = ((($899)) + 20|0); + $901 = HEAP32[$900>>2]|0; + if (!($919)) { break; } - $863 = HEAP32[$pTab>>2]|0; - $864 = ((($863)) + 8|0); - $865 = HEAP32[$864>>2]|0; - HEAP32[$pOther>>2] = $865; - while(1) { - $866 = HEAP32[$pOther>>2]|0; - $867 = ((($866)) + 20|0); - $868 = HEAP32[$867>>2]|0; - $869 = ($868|0)!=(0|0); - if ($869) { - $870 = HEAP32[$pOther>>2]|0; - $871 = ((($870)) + 20|0); - $872 = HEAP32[$871>>2]|0; - $873 = ((($872)) + 54|0); - $874 = HEAP8[$873>>0]|0; - $875 = $874&255; - $876 = ($875|0)!=(5); - $899 = $876; - } else { - $899 = 0; - } - $877 = HEAP32[$pOther>>2]|0; - $878 = ((($877)) + 20|0); - $879 = HEAP32[$878>>2]|0; - if (!($899)) { - break; - } - HEAP32[$pOther>>2] = $879; - } - $880 = HEAP32[$pIndex>>2]|0; - $881 = ((($880)) + 20|0); - HEAP32[$881>>2] = $879; - $882 = HEAP32[$pIndex>>2]|0; - $883 = HEAP32[$pOther>>2]|0; - $884 = ((($883)) + 20|0); - HEAP32[$884>>2] = $882; + HEAP32[$pOther>>2] = $901; } - } while(0); - if ((label|0) == 139) { - $855 = HEAP32[$pTab>>2]|0; - $856 = ((($855)) + 8|0); - $857 = HEAP32[$856>>2]|0; - $858 = HEAP32[$pIndex>>2]|0; - $859 = ((($858)) + 20|0); - HEAP32[$859>>2] = $857; - $860 = HEAP32[$pIndex>>2]|0; - $861 = HEAP32[$pTab>>2]|0; - $862 = ((($861)) + 8|0); - HEAP32[$862>>2] = $860; + $902 = HEAP32[$pIndex>>2]|0; + $903 = ((($902)) + 20|0); + HEAP32[$903>>2] = $901; + $904 = HEAP32[$pIndex>>2]|0; + $905 = HEAP32[$pOther>>2]|0; + $906 = ((($905)) + 20|0); + HEAP32[$906>>2] = $904; } - $885 = HEAP32[$pIndex>>2]|0; - HEAP32[$pRet>>2] = $885; - HEAP32[$pIndex>>2] = 0; + } while(0); + if ((label|0) == 143) { + $877 = HEAP32[$pTab>>2]|0; + $878 = ((($877)) + 8|0); + $879 = HEAP32[$878>>2]|0; + $880 = HEAP32[$pIndex>>2]|0; + $881 = ((($880)) + 20|0); + HEAP32[$881>>2] = $879; + $882 = HEAP32[$pIndex>>2]|0; + $883 = HEAP32[$pTab>>2]|0; + $884 = ((($883)) + 8|0); + HEAP32[$884>>2] = $882; } + HEAP32[$pIndex>>2] = 0; } } } @@ -115128,41 +115919,39 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } } } while(0); - $886 = HEAP32[$pIndex>>2]|0; - $887 = ($886|0)!=(0|0); - if (!($887)) { - $890 = HEAP32[$db>>2]|0; - $891 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($890,$891); - $892 = HEAP32[$db>>2]|0; - $893 = HEAP32[$4>>2]|0; - _sqlite3ExprListDelete($892,$893); - $894 = HEAP32[$db>>2]|0; - $895 = HEAP32[$3>>2]|0; - _sqlite3SrcListDelete($894,$895); - $896 = HEAP32[$db>>2]|0; - $897 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($896,$897); - $898 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($898|0); - } - $888 = HEAP32[$db>>2]|0; - $889 = HEAP32[$pIndex>>2]|0; - _freeIndex($888,$889); - $890 = HEAP32[$db>>2]|0; - $891 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($890,$891); - $892 = HEAP32[$db>>2]|0; - $893 = HEAP32[$4>>2]|0; - _sqlite3ExprListDelete($892,$893); - $894 = HEAP32[$db>>2]|0; - $895 = HEAP32[$3>>2]|0; - _sqlite3SrcListDelete($894,$895); - $896 = HEAP32[$db>>2]|0; - $897 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($896,$897); - $898 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($898|0); + $907 = HEAP32[$pIndex>>2]|0; + $908 = ($907|0)!=(0|0); + if (!($908)) { + $911 = HEAP32[$db>>2]|0; + $912 = HEAP32[$7>>2]|0; + _sqlite3ExprDelete($911,$912); + $913 = HEAP32[$db>>2]|0; + $914 = HEAP32[$4>>2]|0; + _sqlite3ExprListDelete($913,$914); + $915 = HEAP32[$db>>2]|0; + $916 = HEAP32[$3>>2]|0; + _sqlite3SrcListDelete($915,$916); + $917 = HEAP32[$db>>2]|0; + $918 = HEAP32[$zName>>2]|0; + _sqlite3DbFree($917,$918); + STACKTOP = sp;return; + } + $909 = HEAP32[$db>>2]|0; + $910 = HEAP32[$pIndex>>2]|0; + _freeIndex($909,$910); + $911 = HEAP32[$db>>2]|0; + $912 = HEAP32[$7>>2]|0; + _sqlite3ExprDelete($911,$912); + $913 = HEAP32[$db>>2]|0; + $914 = HEAP32[$4>>2]|0; + _sqlite3ExprListDelete($913,$914); + $915 = HEAP32[$db>>2]|0; + $916 = HEAP32[$3>>2]|0; + _sqlite3SrcListDelete($915,$916); + $917 = HEAP32[$db>>2]|0; + $918 = HEAP32[$zName>>2]|0; + _sqlite3DbFree($917,$918); + STACKTOP = sp;return; } function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { $pParse = $pParse|0; @@ -115179,7 +115968,7 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pCheckExpr; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 488|0); + $3 = ((($2)) + 440|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pTab>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -115189,12 +115978,12 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { $8 = ($7|0)!=(0|0); if ($8) { $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 454|0); + $10 = ((($9)) + 410|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); if (!($12)) { $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 144|0); + $14 = ((($13)) + 148|0); $15 = ((($14)) + 4|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; @@ -115217,7 +116006,7 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { $33 = ((($32)) + 24|0); HEAP32[$33>>2] = $31; $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 328|0); + $35 = ((($34)) + 84|0); $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = ($37|0)!=(0); @@ -115229,7 +116018,7 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { $41 = ((($40)) + 24|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 328|0); + $44 = ((($43)) + 84|0); _sqlite3ExprListSetName($39,$42,$44,1); STACKTOP = sp;return; } @@ -115292,7 +116081,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { HEAP32[$db>>2] = $6; HEAP32[$pFKey>>2] = 0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 488|0); + $8 = ((($7)) + 440|0); $9 = HEAP32[$8>>2]|0; HEAP32[$p>>2] = $9; $10 = HEAP32[$p>>2]|0; @@ -115300,7 +116089,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { L1: do { if (!($11)) { $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 454|0); + $13 = ((($12)) + 410|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = ($15|0)!=(0); @@ -115337,7 +116126,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { HEAP32[$vararg_buffer>>2] = $37; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $38; - _sqlite3ErrorMsg($31,36827,$vararg_buffer); + _sqlite3ErrorMsg($31,36270,$vararg_buffer); break; } } @@ -115353,7 +116142,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $45 = ($42|0)!=($44|0); if ($45) { $46 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($46,36890,$vararg_buffer2); + _sqlite3ErrorMsg($46,36333,$vararg_buffer2); break; } } @@ -115540,7 +116329,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $170 = ((($169)) + 4|0); $171 = HEAP32[$170>>2]|0; HEAP32[$vararg_buffer4>>2] = $171; - _sqlite3ErrorMsg($164,36984,$vararg_buffer4); + _sqlite3ErrorMsg($164,36427,$vararg_buffer4); break L1; } } while(0); @@ -115677,7 +116466,7 @@ function _sqlite3DeferForeignKey($pParse,$isDeferred) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $isDeferred; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 488|0); + $3 = ((($2)) + 440|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pTab>>2] = $4; $5 = ($4|0)==(0|0); @@ -115718,7 +116507,7 @@ function _sqlite3AddCollateType($pParse,$pToken) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pToken; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 488|0); + $3 = ((($2)) + 440|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = ($4|0)==(0|0); @@ -115917,7 +116706,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { } $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 20521 : 20540; + $56 = $55 ? 19905 : 19924; HEAP32[$zTab>>2] = $56; $57 = HEAP32[$iDb>>2]|0; $58 = HEAP32[$db>>2]|0; @@ -115994,19 +116783,19 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { if (!($100)) { $101 = HEAP32[$pTab>>2]|0; $102 = HEAP32[$101>>2]|0; - $103 = (_sqlite3_strnicmp($102,28448,7)|0); + $103 = (_sqlite3_strnicmp($102,27844,7)|0); $104 = ($103|0)==(0); if ($104) { $105 = HEAP32[$pTab>>2]|0; $106 = HEAP32[$105>>2]|0; - $107 = (_sqlite3_strnicmp($106,36620,11)|0); + $107 = (_sqlite3_strnicmp($106,36063,11)|0); $108 = ($107|0)!=(0); if ($108) { $109 = HEAP32[$0>>2]|0; $110 = HEAP32[$pTab>>2]|0; $111 = HEAP32[$110>>2]|0; HEAP32[$vararg_buffer>>2] = $111; - _sqlite3ErrorMsg($109,36632,$vararg_buffer); + _sqlite3ErrorMsg($109,36075,$vararg_buffer); break; } } @@ -116022,7 +116811,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $119 = HEAP32[$pTab>>2]|0; $120 = HEAP32[$119>>2]|0; HEAP32[$vararg_buffer1>>2] = $120; - _sqlite3ErrorMsg($118,36660,$vararg_buffer1); + _sqlite3ErrorMsg($118,36103,$vararg_buffer1); break; } } @@ -116038,7 +116827,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $128 = HEAP32[$pTab>>2]|0; $129 = HEAP32[$128>>2]|0; HEAP32[$vararg_buffer4>>2] = $129; - _sqlite3ErrorMsg($127,36694,$vararg_buffer4); + _sqlite3ErrorMsg($127,36137,$vararg_buffer4); break; } } @@ -116055,7 +116844,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $137 = HEAP32[$iDb>>2]|0; $138 = HEAP32[$pTab>>2]|0; $139 = HEAP32[$138>>2]|0; - _sqlite3ClearStatTables($136,$137,31454,$139); + _sqlite3ClearStatTables($136,$137,30858,$139); $140 = HEAP32[$0>>2]|0; $141 = HEAP32[$1>>2]|0; $142 = HEAP32[$pTab>>2]|0; @@ -116124,13 +116913,13 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $9 = HEAP32[$8>>2]|0; HEAP32[$db>>2] = $9; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 444|0); + $11 = ((($10)) + 400|0); $12 = HEAP16[$11>>1]|0; $13 = $12 << 16 >> 16; $14 = ($13|0)>(0); $15 = HEAP32[$0>>2]|0; if ($14) { - _sqlite3ErrorMsg($15,36579,$vararg_buffer); + _sqlite3ErrorMsg($15,36022,$vararg_buffer); } else { $16 = HEAP32[$2>>2]|0; $17 = HEAP32[$3>>2]|0; @@ -116138,14 +116927,14 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $19 = HEAP32[$7>>2]|0; _sqlite3StartTable($15,$16,$17,$18,1,0,$19); $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 488|0); + $21 = ((($20)) + 440|0); $22 = HEAP32[$21>>2]|0; HEAP32[$p>>2] = $22; $23 = HEAP32[$p>>2]|0; $24 = ($23|0)==(0|0); if (!($24)) { $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 68|0); + $26 = ((($25)) + 36|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0); if (!($28)) { @@ -116162,7 +116951,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $37 = HEAP32[$0>>2]|0; $38 = HEAP32[$iDb>>2]|0; $39 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$37,$38,36615,$39); + _sqlite3FixInit($sFix,$37,$38,36058,$39); $40 = HEAP32[$5>>2]|0; $41 = (_sqlite3FixSelect($sFix,$40)|0); $42 = ($41|0)!=(0); @@ -116185,7 +116974,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $56 = ($55<<24>>24)!=(0); if (!($56)) { $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 508|0); + $58 = ((($57)) + 392|0); ;HEAP32[$sEnd>>2]=HEAP32[$58>>2]|0;HEAP32[$sEnd+4>>2]=HEAP32[$58+4>>2]|0; $59 = HEAP32[$sEnd>>2]|0; $60 = HEAP8[$59>>0]|0; @@ -116217,7 +117006,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $79 = (($78) + ($77)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; - $82 = (19019 + ($81)|0); + $82 = (18403 + ($81)|0); $83 = HEAP8[$82>>0]|0; $84 = $83&255; $85 = $84 & 1; @@ -116264,60 +117053,60 @@ function _sqlite3Select($pParse,$p,$pDest) { var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0; var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0; var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0; - var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; - var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; - var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; - var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; - var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; - var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0; - var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0; - var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0; - var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0; - var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0; - var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0; - var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0; - var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; - var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0; - var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0; - var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0; - var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0; - var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; - var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0; - var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0; - var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0; - var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0; - var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0; - var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0; - var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0; - var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0; - var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0; - var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0; - var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0; - var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0; - var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0; - var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0; - var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0; - var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0; - var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0; - var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0; - var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0; - var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0; - var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0; - var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addr1 = 0, $addrEnd = 0, $addrOutputRow = 0, $addrReset = 0, $addrSetAbort = 0, $addrSortingIdx = 0, $addrTop = 0, $addrTopOfLoop = 0, $db = 0, $dest = 0; - var $flag = 0, $groupBySort = 0, $i = 0, $iAMem = 0, $iAbortFlag = 0, $iBMem = 0, $iCsr = 0, $iDb = 0, $iEnd = 0, $iRestoreSelectId = 0, $iRoot = 0, $iUseFlag = 0, $isAgg = 0, $isAggSub = 0, $j = 0, $k = 0, $nCol = 0, $nGroupBy = 0, $onceAddr = 0, $or$cond = 0; - var $orderByGrp = 0, $pBest = 0, $pCol = 0, $pDel = 0, $pEList = 0, $pGroupBy = 0, $pHaving = 0, $pIdx = 0, $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pKeyInfo = 0, $pKeyInfo4 = 0, $pKeyInfo6 = 0, $pMinMax = 0, $pSub = 0, $pSub2 = 0, $pTab = 0, $pTab5 = 0, $pTabList = 0; - var $pWInfo = 0, $pWhere = 0, $r1 = 0, $rc = 0, $regBase = 0, $regOutputRow = 0, $regRecord = 0, $regReset = 0, $retAddr = 0, $sAggInfo = 0, $sDistinct = 0, $sNC = 0, $sSort = 0, $sortOut = 0, $sortPTab = 0, $topAddr = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $wctrlFlags = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; + var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; + var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0; + var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0; + var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0; + var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0; + var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0; + var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0; + var $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0; + var $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0; + var $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0; + var $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0; + var $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0; + var $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0; + var $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0; + var $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0; + var $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0; + var $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0; + var $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0; + var $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0; + var $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0; + var $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0; + var $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0; + var $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0; + var $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0; + var $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0; + var $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0; + var $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0; + var $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0; + var $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0; + var $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0; + var $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0; + var $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0; + var $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0; + var $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0; + var $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0; + var $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0; + var $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0; + var $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0; + var $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0; + var $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0; + var $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addr1 = 0, $addrEnd = 0, $addrOutputRow = 0, $addrReset = 0, $addrSetAbort = 0, $addrSortingIdx = 0, $addrTop = 0, $addrTopOfLoop = 0, $db = 0, $dest = 0, $flag = 0, $groupBySort = 0, $i = 0; + var $iAMem = 0, $iAbortFlag = 0, $iBMem = 0, $iCsr = 0, $iDb = 0, $iEnd = 0, $iRestoreSelectId = 0, $iRoot = 0, $iUseFlag = 0, $isAgg = 0, $isAggSub = 0, $j = 0, $k = 0, $nCol = 0, $nGroupBy = 0, $onceAddr = 0, $or$cond = 0, $orderByGrp = 0, $pBest = 0, $pCol = 0; + var $pDel = 0, $pEList = 0, $pGroupBy = 0, $pHaving = 0, $pIdx = 0, $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pKeyInfo = 0, $pKeyInfo4 = 0, $pKeyInfo6 = 0, $pMinMax = 0, $pSub = 0, $pSub2 = 0, $pTab = 0, $pTab5 = 0, $pTabList = 0, $pWInfo = 0, $pWhere = 0, $r1 = 0; + var $rc = 0, $regBase = 0, $regOutputRow = 0, $regRecord = 0, $regReset = 0, $retAddr = 0, $sAggInfo = 0, $sDistinct = 0, $sNC = 0, $sSort = 0, $sortOut = 0, $sortPTab = 0, $topAddr = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $wctrlFlags = 0, dest = 0, label = 0; + var sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 432|0; $vararg_buffer = sp; @@ -116339,14 +117128,14 @@ function _sqlite3Select($pParse,$p,$pDest) { $sDistinct = sp + 344|0; $sSort = sp + 312|0; $sAggInfo = sp + 264|0; - $iEnd = sp + 256|0; - $db = sp + 252|0; - $iRestoreSelectId = sp + 248|0; - $pItem = sp + 244|0; - $pSub = sp + 240|0; - $isAggSub = sp + 236|0; - $pTab = sp + 232|0; - $pItem1 = sp + 228|0; + $iEnd = sp + 260|0; + $db = sp + 256|0; + $iRestoreSelectId = sp + 252|0; + $pItem = sp + 248|0; + $pSub = sp + 244|0; + $isAggSub = sp + 240|0; + $pTab = sp + 236|0; + $pItem1 = sp + 232|0; $dest = sp + 208|0; $pSub2 = sp + 204|0; $addrTop = sp + 200|0; @@ -116398,16 +117187,16 @@ function _sqlite3Select($pParse,$p,$pDest) { HEAP32[$pEList>>2] = 0; HEAP32[$rc>>2] = 1; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 468|0); + $5 = ((($4)) + 420|0); $6 = HEAP32[$5>>2]|0; HEAP32[$iRestoreSelectId>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 472|0); + $8 = ((($7)) + 424|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + 1)|0; HEAP32[$8>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 468|0); + $12 = ((($11)) + 420|0); HEAP32[$12>>2] = $9; $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$13>>2]|0; @@ -116422,7 +117211,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $21 = ($20|0)!=(0); if (!($21)) { $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 68|0); + $23 = ((($22)) + 36|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0); if (!($25)) { @@ -116431,8 +117220,8 @@ function _sqlite3Select($pParse,$p,$pDest) { $28 = ($27|0)!=(0); if ($28) { HEAP32[$0>>2] = 1; - $1189 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1189|0); + $1186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1186|0); } dest=$sAggInfo; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $29 = HEAP32[$3>>2]|0; @@ -116467,7 +117256,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $50 = HEAP32[$49>>2]|0; HEAP32[$pTabList>>2] = $50; $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 68|0); + $52 = ((($51)) + 36|0); $53 = HEAP32[$52>>2]|0; $54 = ($53|0)!=(0); L12: do { @@ -116485,1676 +117274,1672 @@ function _sqlite3Select($pParse,$p,$pDest) { $64 = ($63|0)!=(0); $65 = $64&1; HEAP32[$isAgg>>2] = $65; - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$3>>2]|0; - $68 = HEAP32[$2>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$69>>2]|0; - $71 = (_checkForMultiColumnSelectError($66,$67,$70)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$i>>2] = 0; - while(1) { - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 48|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)!=(0|0); - if ($76) { - break; - } - $77 = HEAP32[$i>>2]|0; - $78 = HEAP32[$pTabList>>2]|0; - $79 = HEAP32[$78>>2]|0; - $80 = ($77|0)<($79|0); - if (!($80)) { + HEAP32[$i>>2] = 0; + while(1) { + $66 = HEAP32[$2>>2]|0; + $67 = ((($66)) + 48|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)!=(0|0); + if ($69) { + break; + } + $70 = HEAP32[$i>>2]|0; + $71 = HEAP32[$pTabList>>2]|0; + $72 = HEAP32[$71>>2]|0; + $73 = ($70|0)<($72|0); + if (!($73)) { + break; + } + $74 = HEAP32[$i>>2]|0; + $75 = HEAP32[$pTabList>>2]|0; + $76 = ((($75)) + 8|0); + $77 = (($76) + (($74*72)|0)|0); + HEAP32[$pItem>>2] = $77; + $78 = HEAP32[$pItem>>2]|0; + $79 = ((($78)) + 20|0); + $80 = HEAP32[$79>>2]|0; + HEAP32[$pSub>>2] = $80; + $81 = HEAP32[$pItem>>2]|0; + $82 = ((($81)) + 16|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$pTab>>2] = $83; + $84 = HEAP32[$pSub>>2]|0; + $85 = ($84|0)==(0|0); + if (!($85)) { + $86 = HEAP32[$pTab>>2]|0; + $87 = ((($86)) + 34|0); + $88 = HEAP16[$87>>1]|0; + $89 = $88 << 16 >> 16; + $90 = HEAP32[$pSub>>2]|0; + $91 = HEAP32[$90>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = ($89|0)!=($92|0); + if ($93) { + label = 16; break; } - $81 = HEAP32[$i>>2]|0; - $82 = HEAP32[$pTabList>>2]|0; - $83 = ((($82)) + 8|0); - $84 = (($83) + (($81*72)|0)|0); - HEAP32[$pItem>>2] = $84; - $85 = HEAP32[$pItem>>2]|0; - $86 = ((($85)) + 20|0); - $87 = HEAP32[$86>>2]|0; - HEAP32[$pSub>>2] = $87; - $88 = HEAP32[$pItem>>2]|0; - $89 = ((($88)) + 16|0); - $90 = HEAP32[$89>>2]|0; - HEAP32[$pTab>>2] = $90; - $91 = HEAP32[$pSub>>2]|0; - $92 = ($91|0)==(0|0); - if (!($92)) { - $93 = HEAP32[$pTab>>2]|0; - $94 = ((($93)) + 34|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = HEAP32[$pSub>>2]|0; - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$98>>2]|0; - $100 = ($96|0)!=($99|0); - if ($100) { - label = 17; - break; - } - $111 = HEAP32[$pSub>>2]|0; - $112 = ((($111)) + 8|0); - $113 = HEAP32[$112>>2]|0; - $114 = $113 & 8; - $115 = ($114|0)!=(0); - $116 = $115&1; - HEAP32[$isAggSub>>2] = $116; - $117 = HEAP32[$1>>2]|0; - $118 = HEAP32[$2>>2]|0; - $119 = HEAP32[$i>>2]|0; - $120 = HEAP32[$isAgg>>2]|0; - $121 = HEAP32[$isAggSub>>2]|0; - $122 = (_flattenSubquery($117,$118,$119,$120,$121)|0); - $123 = ($122|0)!=(0); - if ($123) { - $124 = HEAP32[$isAggSub>>2]|0; - $125 = ($124|0)!=(0); - if ($125) { - HEAP32[$isAgg>>2] = 1; - $126 = HEAP32[$2>>2]|0; - $127 = ((($126)) + 8|0); - $128 = HEAP32[$127>>2]|0; - $129 = $128 | 8; - HEAP32[$127>>2] = $129; - } - HEAP32[$i>>2] = -1; - } - $130 = HEAP32[$2>>2]|0; - $131 = ((($130)) + 28|0); - $132 = HEAP32[$131>>2]|0; - HEAP32[$pTabList>>2] = $132; - $133 = HEAP32[$db>>2]|0; - $134 = ((($133)) + 69|0); - $135 = HEAP8[$134>>0]|0; - $136 = ($135<<24>>24)!=(0); - if ($136) { - break L12; - } - $137 = HEAP32[$3>>2]|0; - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = ($139|0)<=(8); - if (!($140)) { - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 44|0); - $143 = HEAP32[$142>>2]|0; - HEAP32[$sSort>>2] = $143; + $104 = HEAP32[$pSub>>2]|0; + $105 = ((($104)) + 8|0); + $106 = HEAP32[$105>>2]|0; + $107 = $106 & 8; + $108 = ($107|0)!=(0); + $109 = $108&1; + HEAP32[$isAggSub>>2] = $109; + $110 = HEAP32[$1>>2]|0; + $111 = HEAP32[$2>>2]|0; + $112 = HEAP32[$i>>2]|0; + $113 = HEAP32[$isAgg>>2]|0; + $114 = HEAP32[$isAggSub>>2]|0; + $115 = (_flattenSubquery($110,$111,$112,$113,$114)|0); + $116 = ($115|0)!=(0); + if ($116) { + $117 = HEAP32[$isAggSub>>2]|0; + $118 = ($117|0)!=(0); + if ($118) { + HEAP32[$isAgg>>2] = 1; + $119 = HEAP32[$2>>2]|0; + $120 = ((($119)) + 8|0); + $121 = HEAP32[$120>>2]|0; + $122 = $121 | 8; + HEAP32[$120>>2] = $122; } + HEAP32[$i>>2] = -1; + } + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 28|0); + $125 = HEAP32[$124>>2]|0; + HEAP32[$pTabList>>2] = $125; + $126 = HEAP32[$db>>2]|0; + $127 = ((($126)) + 69|0); + $128 = HEAP8[$127>>0]|0; + $129 = ($128<<24>>24)!=(0); + if ($129) { + break L12; + } + $130 = HEAP32[$3>>2]|0; + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = ($132|0)<=(8); + if (!($133)) { + $134 = HEAP32[$2>>2]|0; + $135 = ((($134)) + 44|0); + $136 = HEAP32[$135>>2]|0; + HEAP32[$sSort>>2] = $136; } - $144 = HEAP32[$i>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$i>>2] = $145; } - if ((label|0) == 17) { - $101 = HEAP32[$1>>2]|0; - $102 = HEAP32[$pTab>>2]|0; - $103 = ((($102)) + 34|0); - $104 = HEAP16[$103>>1]|0; - $105 = $104 << 16 >> 16; - $106 = HEAP32[$pTab>>2]|0; - $107 = HEAP32[$106>>2]|0; - $108 = HEAP32[$pSub>>2]|0; - $109 = HEAP32[$108>>2]|0; - $110 = HEAP32[$109>>2]|0; - HEAP32[$vararg_buffer>>2] = $105; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $107; - $vararg_ptr3 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr3>>2] = $110; - _sqlite3ErrorMsg($101,36094,$vararg_buffer); - break; + $137 = HEAP32[$i>>2]|0; + $138 = (($137) + 1)|0; + HEAP32[$i>>2] = $138; + } + if ((label|0) == 16) { + $94 = HEAP32[$1>>2]|0; + $95 = HEAP32[$pTab>>2]|0; + $96 = ((($95)) + 34|0); + $97 = HEAP16[$96>>1]|0; + $98 = $97 << 16 >> 16; + $99 = HEAP32[$pTab>>2]|0; + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$pSub>>2]|0; + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$102>>2]|0; + HEAP32[$vararg_buffer>>2] = $98; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $100; + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr3>>2] = $103; + _sqlite3ErrorMsg($94,35609,$vararg_buffer); + break; + } + $139 = HEAP32[$1>>2]|0; + $140 = (_sqlite3GetVdbe($139)|0); + HEAP32[$v>>2] = $140; + $141 = HEAP32[$v>>2]|0; + $142 = ($141|0)==(0|0); + if (!($142)) { + $143 = HEAP32[$2>>2]|0; + $144 = ((($143)) + 48|0); + $145 = HEAP32[$144>>2]|0; + $146 = ($145|0)!=(0|0); + if ($146) { + $147 = HEAP32[$1>>2]|0; + $148 = HEAP32[$2>>2]|0; + $149 = HEAP32[$3>>2]|0; + $150 = (_multiSelect($147,$148,$149)|0); + HEAP32[$rc>>2] = $150; + $151 = HEAP32[$iRestoreSelectId>>2]|0; + $152 = HEAP32[$1>>2]|0; + $153 = ((($152)) + 420|0); + HEAP32[$153>>2] = $151; + $154 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $154; + $1186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1186|0); } - $146 = HEAP32[$1>>2]|0; - $147 = (_sqlite3GetVdbe($146)|0); - HEAP32[$v>>2] = $147; - $148 = HEAP32[$v>>2]|0; - $149 = ($148|0)==(0|0); - if (!($149)) { - $150 = HEAP32[$2>>2]|0; - $151 = ((($150)) + 48|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)!=(0|0); - if ($153) { - $154 = HEAP32[$1>>2]|0; - $155 = HEAP32[$2>>2]|0; - $156 = HEAP32[$3>>2]|0; - $157 = (_multiSelect($154,$155,$156)|0); - HEAP32[$rc>>2] = $157; - $158 = HEAP32[$iRestoreSelectId>>2]|0; - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 468|0); - HEAP32[$160>>2] = $158; - $161 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $161; - $1189 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1189|0); + HEAP32[$i>>2] = 0; + while(1) { + $155 = HEAP32[$i>>2]|0; + $156 = HEAP32[$pTabList>>2]|0; + $157 = HEAP32[$156>>2]|0; + $158 = ($155|0)<($157|0); + if (!($158)) { + break; } - HEAP32[$i>>2] = 0; - while(1) { - $162 = HEAP32[$i>>2]|0; - $163 = HEAP32[$pTabList>>2]|0; - $164 = HEAP32[$163>>2]|0; - $165 = ($162|0)<($164|0); - if (!($165)) { - break; - } - $166 = HEAP32[$i>>2]|0; - $167 = HEAP32[$pTabList>>2]|0; - $168 = ((($167)) + 8|0); - $169 = (($168) + (($166*72)|0)|0); - HEAP32[$pItem1>>2] = $169; - $170 = HEAP32[$pItem1>>2]|0; - $171 = ((($170)) + 20|0); - $172 = HEAP32[$171>>2]|0; - HEAP32[$pSub2>>2] = $172; - $173 = HEAP32[$pSub2>>2]|0; - $174 = ($173|0)==(0|0); - do { - if (!($174)) { - $175 = HEAP32[$pItem1>>2]|0; - $176 = ((($175)) + 24|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)!=(0); - if ($178) { - $179 = HEAP32[$pItem1>>2]|0; - $180 = ((($179)) + 36|0); - $181 = ((($180)) + 1|0); - $182 = HEAP8[$181>>0]|0; - $183 = ($182&255) >>> 4; - $184 = $183 & 1; - $185 = $184&255; - $186 = ($185|0)==(0); - if (!($186)) { - break; - } - $187 = HEAP32[$v>>2]|0; - $188 = HEAP32[$pItem1>>2]|0; - $189 = ((($188)) + 28|0); - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$pItem1>>2]|0; - $192 = ((($191)) + 24|0); - $193 = HEAP32[$192>>2]|0; - (_sqlite3VdbeAddOp2($187,14,$190,$193)|0); + $159 = HEAP32[$i>>2]|0; + $160 = HEAP32[$pTabList>>2]|0; + $161 = ((($160)) + 8|0); + $162 = (($161) + (($159*72)|0)|0); + HEAP32[$pItem1>>2] = $162; + $163 = HEAP32[$pItem1>>2]|0; + $164 = ((($163)) + 20|0); + $165 = HEAP32[$164>>2]|0; + HEAP32[$pSub2>>2] = $165; + $166 = HEAP32[$pSub2>>2]|0; + $167 = ($166|0)==(0|0); + do { + if (!($167)) { + $168 = HEAP32[$pItem1>>2]|0; + $169 = ((($168)) + 24|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)!=(0); + if ($171) { + $172 = HEAP32[$pItem1>>2]|0; + $173 = ((($172)) + 36|0); + $174 = ((($173)) + 1|0); + $175 = HEAP8[$174>>0]|0; + $176 = ($175&255) >>> 4; + $177 = $176 & 1; + $178 = $177&255; + $179 = ($178|0)==(0); + if (!($179)) { break; } - $194 = HEAP32[$2>>2]|0; - $195 = (_sqlite3SelectExprHeight($194)|0); - $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 464|0); - $198 = HEAP32[$197>>2]|0; - $199 = (($198) + ($195))|0; - HEAP32[$197>>2] = $199; - $200 = HEAP32[$pItem1>>2]|0; - $201 = ((($200)) + 36|0); - $202 = HEAP8[$201>>0]|0; - $203 = $202&255; - $204 = $203 & 32; - $205 = ($204|0)==(0); - if ($205) { - $206 = HEAP32[$db>>2]|0; - $207 = HEAP32[$pSub2>>2]|0; - $208 = HEAP32[$2>>2]|0; - $209 = ((($208)) + 32|0); + $180 = HEAP32[$v>>2]|0; + $181 = HEAP32[$pItem1>>2]|0; + $182 = ((($181)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = HEAP32[$pItem1>>2]|0; + $185 = ((($184)) + 24|0); + $186 = HEAP32[$185>>2]|0; + (_sqlite3VdbeAddOp2($180,14,$183,$186)|0); + break; + } + $187 = HEAP32[$2>>2]|0; + $188 = (_sqlite3SelectExprHeight($187)|0); + $189 = HEAP32[$1>>2]|0; + $190 = ((($189)) + 416|0); + $191 = HEAP32[$190>>2]|0; + $192 = (($191) + ($188))|0; + HEAP32[$190>>2] = $192; + $193 = HEAP32[$pItem1>>2]|0; + $194 = ((($193)) + 36|0); + $195 = HEAP8[$194>>0]|0; + $196 = $195&255; + $197 = $196 & 32; + $198 = ($197|0)==(0); + if ($198) { + $199 = HEAP32[$db>>2]|0; + $200 = HEAP32[$pSub2>>2]|0; + $201 = HEAP32[$2>>2]|0; + $202 = ((($201)) + 32|0); + $203 = HEAP32[$202>>2]|0; + $204 = HEAP32[$pItem1>>2]|0; + $205 = ((($204)) + 44|0); + $206 = HEAP32[$205>>2]|0; + (_pushDownWhereTerms($199,$200,$203,$206)|0); + } + $207 = HEAP32[$i>>2]|0; + $208 = ($207|0)==(0); + do { + if ($208) { + $209 = HEAP32[$pTabList>>2]|0; $210 = HEAP32[$209>>2]|0; - $211 = HEAP32[$pItem1>>2]|0; - $212 = ((($211)) + 44|0); - $213 = HEAP32[$212>>2]|0; - (_pushDownWhereTerms($206,$207,$210,$213)|0); - } - $214 = HEAP32[$i>>2]|0; - $215 = ($214|0)==(0); - do { - if ($215) { - $216 = HEAP32[$pTabList>>2]|0; - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(1); - if (!($218)) { - $219 = HEAP32[$pTabList>>2]|0; - $220 = ((($219)) + 8|0); - $221 = ((($220)) + 72|0); - $222 = ((($221)) + 36|0); - $223 = HEAP8[$222>>0]|0; - $224 = $223&255; - $225 = $224 & 10; - $226 = ($225|0)!=(0); - if (!($226)) { - label = 43; - break; - } - } - $227 = HEAP32[$2>>2]|0; - $228 = ((($227)) + 8|0); - $229 = HEAP32[$228>>2]|0; - $230 = $229 & 2; - $231 = ($230|0)==(0); - if (!($231)) { - label = 43; + $211 = ($210|0)==(1); + if (!($211)) { + $212 = HEAP32[$pTabList>>2]|0; + $213 = ((($212)) + 8|0); + $214 = ((($213)) + 72|0); + $215 = ((($214)) + 36|0); + $216 = HEAP8[$215>>0]|0; + $217 = $216&255; + $218 = $217 & 10; + $219 = ($218|0)!=(0); + if (!($219)) { + label = 42; break; } - $232 = HEAP32[$db>>2]|0; - $233 = ((($232)) + 64|0); - $234 = HEAP16[$233>>1]|0; - $235 = $234&65535; - $236 = $235 & 256; - $237 = ($236|0)==(0); - if (!($237)) { - label = 43; - break; - } - $238 = HEAP32[$v>>2]|0; - $239 = (_sqlite3VdbeCurrentAddr($238)|0); - $240 = (($239) + 1)|0; - HEAP32[$addrTop>>2] = $240; - $241 = HEAP32[$1>>2]|0; - $242 = ((($241)) + 76|0); - $243 = HEAP32[$242>>2]|0; - $244 = (($243) + 1)|0; - HEAP32[$242>>2] = $244; - $245 = HEAP32[$pItem1>>2]|0; - $246 = ((($245)) + 28|0); - HEAP32[$246>>2] = $244; - $247 = HEAP32[$v>>2]|0; - $248 = HEAP32[$pItem1>>2]|0; - $249 = ((($248)) + 28|0); - $250 = HEAP32[$249>>2]|0; - $251 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp3($247,15,$250,0,$251)|0); - $252 = HEAP32[$addrTop>>2]|0; - $253 = HEAP32[$pItem1>>2]|0; - $254 = ((($253)) + 24|0); - HEAP32[$254>>2] = $252; - $255 = HEAP32[$pItem1>>2]|0; - $256 = ((($255)) + 28|0); - $257 = HEAP32[$256>>2]|0; - _sqlite3SelectDestInit($dest,13,$257); - $258 = HEAP32[$1>>2]|0; - $259 = ((($258)) + 472|0); - $260 = HEAP32[$259>>2]|0; - $261 = $260&255; - $262 = HEAP32[$pItem1>>2]|0; - $263 = ((($262)) + 40|0); - HEAP8[$263>>0] = $261; - $264 = HEAP32[$1>>2]|0; - $265 = HEAP32[$pSub2>>2]|0; - (_sqlite3Select($264,$265,$dest)|0); - $266 = HEAP32[$pSub2>>2]|0; - $267 = ((($266)) + 6|0); - $268 = HEAP16[$267>>1]|0; - $269 = HEAP32[$pItem1>>2]|0; - $270 = ((($269)) + 16|0); - $271 = HEAP32[$270>>2]|0; - $272 = ((($271)) + 38|0); - HEAP16[$272>>1] = $268; - $273 = HEAP32[$pItem1>>2]|0; - $274 = ((($273)) + 36|0); - $275 = ((($274)) + 1|0); - $276 = HEAP8[$275>>0]|0; - $277 = $276 & -17; - $278 = $277 | 16; - HEAP8[$275>>0] = $278; - $279 = ((($dest)) + 8|0); - $280 = HEAP32[$279>>2]|0; - $281 = HEAP32[$pItem1>>2]|0; - $282 = ((($281)) + 32|0); - HEAP32[$282>>2] = $280; - $283 = HEAP32[$v>>2]|0; - $284 = HEAP32[$pItem1>>2]|0; - $285 = ((($284)) + 28|0); - $286 = HEAP32[$285>>2]|0; - _sqlite3VdbeEndCoroutine($283,$286); - $287 = HEAP32[$v>>2]|0; - $288 = HEAP32[$addrTop>>2]|0; - $289 = (($288) - 1)|0; - _sqlite3VdbeJumpHere($287,$289); - $290 = HEAP32[$1>>2]|0; - _sqlite3ClearTempRegCache($290); - } else { - label = 43; } - } while(0); - if ((label|0) == 43) { - label = 0; - HEAP32[$onceAddr>>2] = 0; - $291 = HEAP32[$1>>2]|0; - $292 = ((($291)) + 76|0); - $293 = HEAP32[$292>>2]|0; - $294 = (($293) + 1)|0; - HEAP32[$292>>2] = $294; - $295 = HEAP32[$pItem1>>2]|0; - $296 = ((($295)) + 28|0); - HEAP32[$296>>2] = $294; - $297 = HEAP32[$v>>2]|0; - $298 = HEAP32[$pItem1>>2]|0; - $299 = ((($298)) + 28|0); - $300 = HEAP32[$299>>2]|0; - $301 = (_sqlite3VdbeAddOp2($297,74,0,$300)|0); - HEAP32[$topAddr>>2] = $301; - $302 = HEAP32[$topAddr>>2]|0; - $303 = (($302) + 1)|0; - $304 = HEAP32[$pItem1>>2]|0; - $305 = ((($304)) + 24|0); - HEAP32[$305>>2] = $303; - $306 = HEAP32[$pItem1>>2]|0; - $307 = ((($306)) + 36|0); - $308 = ((($307)) + 1|0); - $309 = HEAP8[$308>>0]|0; - $310 = ($309&255) >>> 3; - $311 = $310 & 1; - $312 = $311&255; - $313 = ($312|0)==(0); - if ($313) { - $314 = HEAP32[$1>>2]|0; - $315 = (_sqlite3CodeOnce($314)|0); - HEAP32[$onceAddr>>2] = $315; + $220 = HEAP32[$2>>2]|0; + $221 = ((($220)) + 8|0); + $222 = HEAP32[$221>>2]|0; + $223 = $222 & 2; + $224 = ($223|0)==(0); + if (!($224)) { + label = 42; + break; } - $316 = HEAP32[$pItem1>>2]|0; - $317 = ((($316)) + 44|0); - $318 = HEAP32[$317>>2]|0; - _sqlite3SelectDestInit($dest,12,$318); - $319 = HEAP32[$1>>2]|0; - $320 = ((($319)) + 472|0); - $321 = HEAP32[$320>>2]|0; - $322 = $321&255; - $323 = HEAP32[$pItem1>>2]|0; - $324 = ((($323)) + 40|0); - HEAP8[$324>>0] = $322; - $325 = HEAP32[$1>>2]|0; - $326 = HEAP32[$pSub2>>2]|0; - (_sqlite3Select($325,$326,$dest)|0); - $327 = HEAP32[$pSub2>>2]|0; - $328 = ((($327)) + 6|0); - $329 = HEAP16[$328>>1]|0; - $330 = HEAP32[$pItem1>>2]|0; - $331 = ((($330)) + 16|0); - $332 = HEAP32[$331>>2]|0; - $333 = ((($332)) + 38|0); - HEAP16[$333>>1] = $329; - $334 = HEAP32[$onceAddr>>2]|0; - $335 = ($334|0)!=(0); - if ($335) { - $336 = HEAP32[$v>>2]|0; - $337 = HEAP32[$onceAddr>>2]|0; - _sqlite3VdbeJumpHere($336,$337); + $225 = HEAP32[$db>>2]|0; + $226 = ((($225)) + 64|0); + $227 = HEAP16[$226>>1]|0; + $228 = $227&65535; + $229 = $228 & 256; + $230 = ($229|0)==(0); + if (!($230)) { + label = 42; + break; } - $338 = HEAP32[$v>>2]|0; - $339 = HEAP32[$pItem1>>2]|0; - $340 = ((($339)) + 28|0); - $341 = HEAP32[$340>>2]|0; - $342 = (_sqlite3VdbeAddOp1($338,70,$341)|0); - HEAP32[$retAddr>>2] = $342; - $343 = HEAP32[$v>>2]|0; - $344 = HEAP32[$topAddr>>2]|0; - $345 = HEAP32[$retAddr>>2]|0; - _sqlite3VdbeChangeP1($343,$344,$345); - $346 = HEAP32[$1>>2]|0; - _sqlite3ClearTempRegCache($346); + $231 = HEAP32[$v>>2]|0; + $232 = (_sqlite3VdbeCurrentAddr($231)|0); + $233 = (($232) + 1)|0; + HEAP32[$addrTop>>2] = $233; + $234 = HEAP32[$1>>2]|0; + $235 = ((($234)) + 44|0); + $236 = HEAP32[$235>>2]|0; + $237 = (($236) + 1)|0; + HEAP32[$235>>2] = $237; + $238 = HEAP32[$pItem1>>2]|0; + $239 = ((($238)) + 28|0); + HEAP32[$239>>2] = $237; + $240 = HEAP32[$v>>2]|0; + $241 = HEAP32[$pItem1>>2]|0; + $242 = ((($241)) + 28|0); + $243 = HEAP32[$242>>2]|0; + $244 = HEAP32[$addrTop>>2]|0; + (_sqlite3VdbeAddOp3($240,15,$243,0,$244)|0); + $245 = HEAP32[$addrTop>>2]|0; + $246 = HEAP32[$pItem1>>2]|0; + $247 = ((($246)) + 24|0); + HEAP32[$247>>2] = $245; + $248 = HEAP32[$pItem1>>2]|0; + $249 = ((($248)) + 28|0); + $250 = HEAP32[$249>>2]|0; + _sqlite3SelectDestInit($dest,13,$250); + $251 = HEAP32[$1>>2]|0; + $252 = ((($251)) + 424|0); + $253 = HEAP32[$252>>2]|0; + $254 = $253&255; + $255 = HEAP32[$pItem1>>2]|0; + $256 = ((($255)) + 40|0); + HEAP8[$256>>0] = $254; + $257 = HEAP32[$1>>2]|0; + $258 = HEAP32[$pSub2>>2]|0; + (_sqlite3Select($257,$258,$dest)|0); + $259 = HEAP32[$pSub2>>2]|0; + $260 = ((($259)) + 6|0); + $261 = HEAP16[$260>>1]|0; + $262 = HEAP32[$pItem1>>2]|0; + $263 = ((($262)) + 16|0); + $264 = HEAP32[$263>>2]|0; + $265 = ((($264)) + 38|0); + HEAP16[$265>>1] = $261; + $266 = HEAP32[$pItem1>>2]|0; + $267 = ((($266)) + 36|0); + $268 = ((($267)) + 1|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269 & -17; + $271 = $270 | 16; + HEAP8[$268>>0] = $271; + $272 = ((($dest)) + 12|0); + $273 = HEAP32[$272>>2]|0; + $274 = HEAP32[$pItem1>>2]|0; + $275 = ((($274)) + 32|0); + HEAP32[$275>>2] = $273; + $276 = HEAP32[$v>>2]|0; + $277 = HEAP32[$pItem1>>2]|0; + $278 = ((($277)) + 28|0); + $279 = HEAP32[$278>>2]|0; + _sqlite3VdbeEndCoroutine($276,$279); + $280 = HEAP32[$v>>2]|0; + $281 = HEAP32[$addrTop>>2]|0; + $282 = (($281) - 1)|0; + _sqlite3VdbeJumpHere($280,$282); + $283 = HEAP32[$1>>2]|0; + _sqlite3ClearTempRegCache($283); + } else { + label = 42; + } + } while(0); + if ((label|0) == 42) { + label = 0; + HEAP32[$onceAddr>>2] = 0; + $284 = HEAP32[$1>>2]|0; + $285 = ((($284)) + 44|0); + $286 = HEAP32[$285>>2]|0; + $287 = (($286) + 1)|0; + HEAP32[$285>>2] = $287; + $288 = HEAP32[$pItem1>>2]|0; + $289 = ((($288)) + 28|0); + HEAP32[$289>>2] = $287; + $290 = HEAP32[$v>>2]|0; + $291 = HEAP32[$pItem1>>2]|0; + $292 = ((($291)) + 28|0); + $293 = HEAP32[$292>>2]|0; + $294 = (_sqlite3VdbeAddOp2($290,76,0,$293)|0); + HEAP32[$topAddr>>2] = $294; + $295 = HEAP32[$topAddr>>2]|0; + $296 = (($295) + 1)|0; + $297 = HEAP32[$pItem1>>2]|0; + $298 = ((($297)) + 24|0); + HEAP32[$298>>2] = $296; + $299 = HEAP32[$pItem1>>2]|0; + $300 = ((($299)) + 36|0); + $301 = ((($300)) + 1|0); + $302 = HEAP8[$301>>0]|0; + $303 = ($302&255) >>> 3; + $304 = $303 & 1; + $305 = $304&255; + $306 = ($305|0)==(0); + if ($306) { + $307 = HEAP32[$v>>2]|0; + $308 = (_sqlite3VdbeAddOp0($307,20)|0); + HEAP32[$onceAddr>>2] = $308; } - $347 = HEAP32[$db>>2]|0; - $348 = ((($347)) + 69|0); - $349 = HEAP8[$348>>0]|0; - $350 = ($349<<24>>24)!=(0); - if ($350) { - break L12; + $309 = HEAP32[$pItem1>>2]|0; + $310 = ((($309)) + 44|0); + $311 = HEAP32[$310>>2]|0; + _sqlite3SelectDestInit($dest,12,$311); + $312 = HEAP32[$1>>2]|0; + $313 = ((($312)) + 424|0); + $314 = HEAP32[$313>>2]|0; + $315 = $314&255; + $316 = HEAP32[$pItem1>>2]|0; + $317 = ((($316)) + 40|0); + HEAP8[$317>>0] = $315; + $318 = HEAP32[$1>>2]|0; + $319 = HEAP32[$pSub2>>2]|0; + (_sqlite3Select($318,$319,$dest)|0); + $320 = HEAP32[$pSub2>>2]|0; + $321 = ((($320)) + 6|0); + $322 = HEAP16[$321>>1]|0; + $323 = HEAP32[$pItem1>>2]|0; + $324 = ((($323)) + 16|0); + $325 = HEAP32[$324>>2]|0; + $326 = ((($325)) + 38|0); + HEAP16[$326>>1] = $322; + $327 = HEAP32[$onceAddr>>2]|0; + $328 = ($327|0)!=(0); + if ($328) { + $329 = HEAP32[$v>>2]|0; + $330 = HEAP32[$onceAddr>>2]|0; + _sqlite3VdbeJumpHere($329,$330); } - $351 = HEAP32[$2>>2]|0; - $352 = (_sqlite3SelectExprHeight($351)|0); - $353 = HEAP32[$1>>2]|0; - $354 = ((($353)) + 464|0); - $355 = HEAP32[$354>>2]|0; - $356 = (($355) - ($352))|0; - HEAP32[$354>>2] = $356; + $331 = HEAP32[$v>>2]|0; + $332 = HEAP32[$pItem1>>2]|0; + $333 = ((($332)) + 28|0); + $334 = HEAP32[$333>>2]|0; + $335 = (_sqlite3VdbeAddOp1($331,72,$334)|0); + HEAP32[$retAddr>>2] = $335; + $336 = HEAP32[$v>>2]|0; + $337 = HEAP32[$topAddr>>2]|0; + $338 = HEAP32[$retAddr>>2]|0; + _sqlite3VdbeChangeP1($336,$337,$338); + $339 = HEAP32[$1>>2]|0; + _sqlite3ClearTempRegCache($339); } - } while(0); - $357 = HEAP32[$i>>2]|0; - $358 = (($357) + 1)|0; - HEAP32[$i>>2] = $358; - } - $359 = HEAP32[$2>>2]|0; - $360 = HEAP32[$359>>2]|0; - HEAP32[$pEList>>2] = $360; - $361 = HEAP32[$2>>2]|0; - $362 = ((($361)) + 32|0); - $363 = HEAP32[$362>>2]|0; - HEAP32[$pWhere>>2] = $363; - $364 = HEAP32[$2>>2]|0; - $365 = ((($364)) + 36|0); - $366 = HEAP32[$365>>2]|0; - HEAP32[$pGroupBy>>2] = $366; - $367 = HEAP32[$2>>2]|0; - $368 = ((($367)) + 40|0); - $369 = HEAP32[$368>>2]|0; - HEAP32[$pHaving>>2] = $369; - $370 = HEAP32[$2>>2]|0; - $371 = ((($370)) + 8|0); - $372 = HEAP32[$371>>2]|0; - $373 = $372 & 1; - $374 = ($373|0)!=(0); - $375 = $374&1; - $376 = $375&255; - HEAP8[$sDistinct>>0] = $376; - $377 = HEAP32[$2>>2]|0; - $378 = ((($377)) + 8|0); - $379 = HEAP32[$378>>2]|0; - $380 = $379 & 9; - $381 = ($380|0)==(1); - if ($381) { - $382 = HEAP32[$sSort>>2]|0; - $383 = HEAP32[$pEList>>2]|0; - $384 = (_sqlite3ExprListCompare($382,$383,-1)|0); - $385 = ($384|0)==(0); - if ($385) { - $386 = HEAP32[$2>>2]|0; - $387 = ((($386)) + 8|0); - $388 = HEAP32[$387>>2]|0; - $389 = $388 & -2; - HEAP32[$387>>2] = $389; - $390 = HEAP32[$db>>2]|0; - $391 = HEAP32[$pEList>>2]|0; - $392 = (_sqlite3ExprListDup($390,$391,0)|0); - $393 = HEAP32[$2>>2]|0; - $394 = ((($393)) + 36|0); - HEAP32[$394>>2] = $392; - HEAP32[$pGroupBy>>2] = $392; + $340 = HEAP32[$db>>2]|0; + $341 = ((($340)) + 69|0); + $342 = HEAP8[$341>>0]|0; + $343 = ($342<<24>>24)!=(0); + if ($343) { + break L12; + } + $344 = HEAP32[$2>>2]|0; + $345 = (_sqlite3SelectExprHeight($344)|0); + $346 = HEAP32[$1>>2]|0; + $347 = ((($346)) + 416|0); + $348 = HEAP32[$347>>2]|0; + $349 = (($348) - ($345))|0; + HEAP32[$347>>2] = $349; } + } while(0); + $350 = HEAP32[$i>>2]|0; + $351 = (($350) + 1)|0; + HEAP32[$i>>2] = $351; + } + $352 = HEAP32[$2>>2]|0; + $353 = HEAP32[$352>>2]|0; + HEAP32[$pEList>>2] = $353; + $354 = HEAP32[$2>>2]|0; + $355 = ((($354)) + 32|0); + $356 = HEAP32[$355>>2]|0; + HEAP32[$pWhere>>2] = $356; + $357 = HEAP32[$2>>2]|0; + $358 = ((($357)) + 36|0); + $359 = HEAP32[$358>>2]|0; + HEAP32[$pGroupBy>>2] = $359; + $360 = HEAP32[$2>>2]|0; + $361 = ((($360)) + 40|0); + $362 = HEAP32[$361>>2]|0; + HEAP32[$pHaving>>2] = $362; + $363 = HEAP32[$2>>2]|0; + $364 = ((($363)) + 8|0); + $365 = HEAP32[$364>>2]|0; + $366 = $365 & 1; + $367 = ($366|0)!=(0); + $368 = $367&1; + $369 = $368&255; + HEAP8[$sDistinct>>0] = $369; + $370 = HEAP32[$2>>2]|0; + $371 = ((($370)) + 8|0); + $372 = HEAP32[$371>>2]|0; + $373 = $372 & 9; + $374 = ($373|0)==(1); + if ($374) { + $375 = HEAP32[$sSort>>2]|0; + $376 = HEAP32[$pEList>>2]|0; + $377 = (_sqlite3ExprListCompare($375,$376,-1)|0); + $378 = ($377|0)==(0); + if ($378) { + $379 = HEAP32[$2>>2]|0; + $380 = ((($379)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = $381 & -2; + HEAP32[$380>>2] = $382; + $383 = HEAP32[$db>>2]|0; + $384 = HEAP32[$pEList>>2]|0; + $385 = (_sqlite3ExprListDup($383,$384,0)|0); + $386 = HEAP32[$2>>2]|0; + $387 = ((($386)) + 36|0); + HEAP32[$387>>2] = $385; + HEAP32[$pGroupBy>>2] = $385; } - $395 = HEAP32[$sSort>>2]|0; - $396 = ($395|0)!=(0|0); - if ($396) { - $397 = HEAP32[$1>>2]|0; - $398 = HEAP32[$sSort>>2]|0; - $399 = HEAP32[$pEList>>2]|0; - $400 = HEAP32[$399>>2]|0; - $401 = (_keyInfoFromExprList($397,$398,0,$400)|0); - HEAP32[$pKeyInfo>>2] = $401; - $402 = HEAP32[$1>>2]|0; - $403 = ((($402)) + 72|0); - $404 = HEAP32[$403>>2]|0; - $405 = (($404) + 1)|0; - HEAP32[$403>>2] = $405; - $406 = ((($sSort)) + 8|0); - HEAP32[$406>>2] = $404; - $407 = HEAP32[$v>>2]|0; - $408 = ((($sSort)) + 8|0); - $409 = HEAP32[$408>>2]|0; - $410 = HEAP32[$sSort>>2]|0; - $411 = HEAP32[$410>>2]|0; - $412 = (($411) + 1)|0; - $413 = HEAP32[$pEList>>2]|0; - $414 = HEAP32[$413>>2]|0; - $415 = (($412) + ($414))|0; - $416 = HEAP32[$pKeyInfo>>2]|0; - $417 = (_sqlite3VdbeAddOp4($407,105,$409,$415,0,$416,-6)|0); - $418 = ((($sSort)) + 20|0); - HEAP32[$418>>2] = $417; - } else { - $419 = ((($sSort)) + 20|0); - HEAP32[$419>>2] = -1; - } - $420 = HEAP32[$3>>2]|0; - $421 = HEAP8[$420>>0]|0; - $422 = $421&255; - $423 = ($422|0)==(12); - if ($423) { - $424 = HEAP32[$v>>2]|0; - $425 = HEAP32[$3>>2]|0; - $426 = ((($425)) + 4|0); - $427 = HEAP32[$426>>2]|0; - $428 = HEAP32[$pEList>>2]|0; - $429 = HEAP32[$428>>2]|0; - (_sqlite3VdbeAddOp2($424,105,$427,$429)|0); - } - $430 = HEAP32[$v>>2]|0; - $431 = (_sqlite3VdbeMakeLabel($430)|0); - HEAP32[$iEnd>>2] = $431; - $432 = HEAP32[$2>>2]|0; - $433 = ((($432)) + 6|0); - HEAP16[$433>>1] = 320; - $434 = HEAP32[$1>>2]|0; - $435 = HEAP32[$2>>2]|0; - $436 = HEAP32[$iEnd>>2]|0; - _computeLimitRegisters($434,$435,$436); - $437 = HEAP32[$2>>2]|0; - $438 = ((($437)) + 12|0); - $439 = HEAP32[$438>>2]|0; - $440 = ($439|0)==(0); - if ($440) { - $441 = ((($sSort)) + 20|0); - $442 = HEAP32[$441>>2]|0; - $443 = ($442|0)>=(0); - if ($443) { - $444 = HEAP32[$v>>2]|0; - $445 = ((($sSort)) + 20|0); - $446 = HEAP32[$445>>2]|0; - _sqlite3VdbeChangeOpcode($444,$446,106); - $447 = ((($sSort)) + 28|0); - $448 = HEAP8[$447>>0]|0; - $449 = $448&255; - $450 = $449 | 1; - $451 = $450&255; - HEAP8[$447>>0] = $451; - } + } + $388 = HEAP32[$sSort>>2]|0; + $389 = ($388|0)!=(0|0); + if ($389) { + $390 = HEAP32[$1>>2]|0; + $391 = HEAP32[$sSort>>2]|0; + $392 = HEAP32[$pEList>>2]|0; + $393 = HEAP32[$392>>2]|0; + $394 = (_keyInfoFromExprList($390,$391,0,$393)|0); + HEAP32[$pKeyInfo>>2] = $394; + $395 = HEAP32[$1>>2]|0; + $396 = ((($395)) + 40|0); + $397 = HEAP32[$396>>2]|0; + $398 = (($397) + 1)|0; + HEAP32[$396>>2] = $398; + $399 = ((($sSort)) + 8|0); + HEAP32[$399>>2] = $397; + $400 = HEAP32[$v>>2]|0; + $401 = ((($sSort)) + 8|0); + $402 = HEAP32[$401>>2]|0; + $403 = HEAP32[$sSort>>2]|0; + $404 = HEAP32[$403>>2]|0; + $405 = (($404) + 1)|0; + $406 = HEAP32[$pEList>>2]|0; + $407 = HEAP32[$406>>2]|0; + $408 = (($405) + ($407))|0; + $409 = HEAP32[$pKeyInfo>>2]|0; + $410 = (_sqlite3VdbeAddOp4($400,107,$402,$408,0,$409,-6)|0); + $411 = ((($sSort)) + 20|0); + HEAP32[$411>>2] = $410; + } else { + $412 = ((($sSort)) + 20|0); + HEAP32[$412>>2] = -1; + } + $413 = HEAP32[$3>>2]|0; + $414 = HEAP8[$413>>0]|0; + $415 = $414&255; + $416 = ($415|0)==(12); + if ($416) { + $417 = HEAP32[$v>>2]|0; + $418 = HEAP32[$3>>2]|0; + $419 = ((($418)) + 8|0); + $420 = HEAP32[$419>>2]|0; + $421 = HEAP32[$pEList>>2]|0; + $422 = HEAP32[$421>>2]|0; + (_sqlite3VdbeAddOp2($417,107,$420,$422)|0); + } + $423 = HEAP32[$v>>2]|0; + $424 = (_sqlite3VdbeMakeLabel($423)|0); + HEAP32[$iEnd>>2] = $424; + $425 = HEAP32[$2>>2]|0; + $426 = ((($425)) + 6|0); + HEAP16[$426>>1] = 320; + $427 = HEAP32[$1>>2]|0; + $428 = HEAP32[$2>>2]|0; + $429 = HEAP32[$iEnd>>2]|0; + _computeLimitRegisters($427,$428,$429); + $430 = HEAP32[$2>>2]|0; + $431 = ((($430)) + 12|0); + $432 = HEAP32[$431>>2]|0; + $433 = ($432|0)==(0); + if ($433) { + $434 = ((($sSort)) + 20|0); + $435 = HEAP32[$434>>2]|0; + $436 = ($435|0)>=(0); + if ($436) { + $437 = HEAP32[$v>>2]|0; + $438 = ((($sSort)) + 20|0); + $439 = HEAP32[$438>>2]|0; + _sqlite3VdbeChangeOpcode($437,$439,108); + $440 = ((($sSort)) + 28|0); + $441 = HEAP8[$440>>0]|0; + $442 = $441&255; + $443 = $442 | 1; + $444 = $443&255; + HEAP8[$440>>0] = $444; } - $452 = HEAP32[$2>>2]|0; - $453 = ((($452)) + 8|0); - $454 = HEAP32[$453>>2]|0; - $455 = $454 & 1; - $456 = ($455|0)!=(0); - if ($456) { - $457 = HEAP32[$1>>2]|0; - $458 = ((($457)) + 72|0); - $459 = HEAP32[$458>>2]|0; - $460 = (($459) + 1)|0; - HEAP32[$458>>2] = $460; - $461 = ((($sDistinct)) + 4|0); - HEAP32[$461>>2] = $459; - $462 = HEAP32[$v>>2]|0; - $463 = ((($sDistinct)) + 4|0); - $464 = HEAP32[$463>>2]|0; - $465 = HEAP32[$1>>2]|0; - $466 = HEAP32[$2>>2]|0; - $467 = HEAP32[$466>>2]|0; - $468 = (_keyInfoFromExprList($465,$467,0,0)|0); - $469 = (_sqlite3VdbeAddOp4($462,105,$464,0,0,$468,-6)|0); - $470 = ((($sDistinct)) + 8|0); - HEAP32[$470>>2] = $469; - $471 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($471,8); - $472 = ((($sDistinct)) + 1|0); - HEAP8[$472>>0] = 3; - } else { - $473 = ((($sDistinct)) + 1|0); - HEAP8[$473>>0] = 0; + } + $445 = HEAP32[$2>>2]|0; + $446 = ((($445)) + 8|0); + $447 = HEAP32[$446>>2]|0; + $448 = $447 & 1; + $449 = ($448|0)!=(0); + if ($449) { + $450 = HEAP32[$1>>2]|0; + $451 = ((($450)) + 40|0); + $452 = HEAP32[$451>>2]|0; + $453 = (($452) + 1)|0; + HEAP32[$451>>2] = $453; + $454 = ((($sDistinct)) + 4|0); + HEAP32[$454>>2] = $452; + $455 = HEAP32[$v>>2]|0; + $456 = ((($sDistinct)) + 4|0); + $457 = HEAP32[$456>>2]|0; + $458 = HEAP32[$1>>2]|0; + $459 = HEAP32[$2>>2]|0; + $460 = HEAP32[$459>>2]|0; + $461 = (_keyInfoFromExprList($458,$460,0,0)|0); + $462 = (_sqlite3VdbeAddOp4($455,107,$457,0,0,$461,-6)|0); + $463 = ((($sDistinct)) + 8|0); + HEAP32[$463>>2] = $462; + $464 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($464,8); + $465 = ((($sDistinct)) + 1|0); + HEAP8[$465>>0] = 3; + } else { + $466 = ((($sDistinct)) + 1|0); + HEAP8[$466>>0] = 0; + } + $467 = HEAP32[$isAgg>>2]|0; + $468 = ($467|0)==(0); + $469 = HEAP32[$pGroupBy>>2]|0; + $470 = ($469|0)==(0|0); + $or$cond = $468 & $470; + if ($or$cond) { + $471 = HEAP8[$sDistinct>>0]|0; + $472 = $471&255; + $473 = ($472|0)!=(0); + $474 = $473 ? 256 : 0; + $475 = $474&65535; + HEAP16[$wctrlFlags>>1] = $475; + $476 = HEAP32[$2>>2]|0; + $477 = ((($476)) + 8|0); + $478 = HEAP32[$477>>2]|0; + $479 = $478 & 16384; + $480 = HEAP16[$wctrlFlags>>1]|0; + $481 = $480&65535; + $482 = $481 | $479; + $483 = $482&65535; + HEAP16[$wctrlFlags>>1] = $483; + $484 = HEAP32[$1>>2]|0; + $485 = HEAP32[$pTabList>>2]|0; + $486 = HEAP32[$pWhere>>2]|0; + $487 = HEAP32[$sSort>>2]|0; + $488 = HEAP32[$2>>2]|0; + $489 = HEAP32[$488>>2]|0; + $490 = HEAP16[$wctrlFlags>>1]|0; + $491 = HEAP32[$2>>2]|0; + $492 = ((($491)) + 6|0); + $493 = HEAP16[$492>>1]|0; + $494 = $493 << 16 >> 16; + $495 = (_sqlite3WhereBegin($484,$485,$486,$487,$489,$490,$494)|0); + HEAP32[$pWInfo>>2] = $495; + $496 = HEAP32[$pWInfo>>2]|0; + $497 = ($496|0)==(0|0); + if ($497) { + break; } - $474 = HEAP32[$isAgg>>2]|0; - $475 = ($474|0)==(0); - $476 = HEAP32[$pGroupBy>>2]|0; - $477 = ($476|0)==(0|0); - $or$cond = $475 & $477; - if ($or$cond) { - $478 = HEAP8[$sDistinct>>0]|0; - $479 = $478&255; - $480 = ($479|0)!=(0); - $481 = $480 ? 1024 : 0; - $482 = $481&65535; - HEAP16[$wctrlFlags>>1] = $482; - $483 = HEAP32[$2>>2]|0; - $484 = ((($483)) + 8|0); - $485 = HEAP32[$484>>2]|0; - $486 = $485 & 16384; - $487 = HEAP16[$wctrlFlags>>1]|0; - $488 = $487&65535; - $489 = $488 | $486; - $490 = $489&65535; - HEAP16[$wctrlFlags>>1] = $490; - $491 = HEAP32[$1>>2]|0; - $492 = HEAP32[$pTabList>>2]|0; - $493 = HEAP32[$pWhere>>2]|0; - $494 = HEAP32[$sSort>>2]|0; - $495 = HEAP32[$2>>2]|0; - $496 = HEAP32[$495>>2]|0; - $497 = HEAP16[$wctrlFlags>>1]|0; - $498 = HEAP32[$2>>2]|0; - $499 = ((($498)) + 6|0); - $500 = HEAP16[$499>>1]|0; - $501 = $500 << 16 >> 16; - $502 = (_sqlite3WhereBegin($491,$492,$493,$494,$496,$497,$501)|0); - HEAP32[$pWInfo>>2] = $502; - $503 = HEAP32[$pWInfo>>2]|0; - $504 = ($503|0)==(0|0); - if ($504) { - break; - } - $505 = HEAP32[$pWInfo>>2]|0; - $506 = (_sqlite3WhereOutputRowCount($505)|0); - $507 = $506 << 16 >> 16; + $498 = HEAP32[$pWInfo>>2]|0; + $499 = (_sqlite3WhereOutputRowCount($498)|0); + $500 = $499 << 16 >> 16; + $501 = HEAP32[$2>>2]|0; + $502 = ((($501)) + 6|0); + $503 = HEAP16[$502>>1]|0; + $504 = $503 << 16 >> 16; + $505 = ($500|0)<($504|0); + if ($505) { + $506 = HEAP32[$pWInfo>>2]|0; + $507 = (_sqlite3WhereOutputRowCount($506)|0); $508 = HEAP32[$2>>2]|0; $509 = ((($508)) + 6|0); - $510 = HEAP16[$509>>1]|0; - $511 = $510 << 16 >> 16; - $512 = ($507|0)<($511|0); + HEAP16[$509>>1] = $507; + } + $510 = HEAP8[$sDistinct>>0]|0; + $511 = $510&255; + $512 = ($511|0)!=(0); + do { if ($512) { $513 = HEAP32[$pWInfo>>2]|0; - $514 = (_sqlite3WhereOutputRowCount($513)|0); - $515 = HEAP32[$2>>2]|0; - $516 = ((($515)) + 6|0); - HEAP16[$516>>1] = $514; + $514 = (_sqlite3WhereIsDistinct($513)|0); + $515 = ($514|0)!=(0); + if (!($515)) { + break; + } + $516 = HEAP32[$pWInfo>>2]|0; + $517 = (_sqlite3WhereIsDistinct($516)|0); + $518 = $517&255; + $519 = ((($sDistinct)) + 1|0); + HEAP8[$519>>0] = $518; } - $517 = HEAP8[$sDistinct>>0]|0; - $518 = $517&255; - $519 = ($518|0)!=(0); - do { - if ($519) { - $520 = HEAP32[$pWInfo>>2]|0; - $521 = (_sqlite3WhereIsDistinct($520)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - break; - } - $523 = HEAP32[$pWInfo>>2]|0; - $524 = (_sqlite3WhereIsDistinct($523)|0); - $525 = $524&255; - $526 = ((($sDistinct)) + 1|0); - HEAP8[$526>>0] = $525; + } while(0); + $520 = HEAP32[$sSort>>2]|0; + $521 = ($520|0)!=(0|0); + do { + if ($521) { + $522 = HEAP32[$pWInfo>>2]|0; + $523 = (_sqlite3WhereIsOrdered($522)|0); + $524 = ((($sSort)) + 4|0); + HEAP32[$524>>2] = $523; + $525 = HEAP32[$pWInfo>>2]|0; + $526 = (_sqlite3WhereOrderedInnerLoop($525)|0); + $527 = $526&255; + $528 = ((($sSort)) + 29|0); + HEAP8[$528>>0] = $527; + $529 = ((($sSort)) + 4|0); + $530 = HEAP32[$529>>2]|0; + $531 = HEAP32[$sSort>>2]|0; + $532 = HEAP32[$531>>2]|0; + $533 = ($530|0)==($532|0); + if (!($533)) { + break; } - } while(0); - $527 = HEAP32[$sSort>>2]|0; - $528 = ($527|0)!=(0|0); - do { - if ($528) { - $529 = HEAP32[$pWInfo>>2]|0; - $530 = (_sqlite3WhereIsOrdered($529)|0); - $531 = ((($sSort)) + 4|0); - HEAP32[$531>>2] = $530; - $532 = ((($sSort)) + 4|0); - $533 = HEAP32[$532>>2]|0; - $534 = HEAP32[$sSort>>2]|0; - $535 = HEAP32[$534>>2]|0; - $536 = ($533|0)==($535|0); - if (!($536)) { - break; - } - HEAP32[$sSort>>2] = 0; + HEAP32[$sSort>>2] = 0; + } + } while(0); + $534 = ((($sSort)) + 20|0); + $535 = HEAP32[$534>>2]|0; + $536 = ($535|0)>=(0); + do { + if ($536) { + $537 = HEAP32[$sSort>>2]|0; + $538 = ($537|0)==(0|0); + if (!($538)) { + break; } - } while(0); - $537 = ((($sSort)) + 20|0); - $538 = HEAP32[$537>>2]|0; - $539 = ($538|0)>=(0); - do { - if ($539) { - $540 = HEAP32[$sSort>>2]|0; - $541 = ($540|0)==(0|0); - if (!($541)) { + $539 = HEAP32[$v>>2]|0; + $540 = ((($sSort)) + 20|0); + $541 = HEAP32[$540>>2]|0; + (_sqlite3VdbeChangeToNoop($539,$541)|0); + } + } while(0); + $542 = HEAP32[$1>>2]|0; + $543 = HEAP32[$2>>2]|0; + $544 = HEAP32[$pEList>>2]|0; + $545 = HEAP32[$3>>2]|0; + $546 = HEAP32[$pWInfo>>2]|0; + $547 = (_sqlite3WhereContinueLabel($546)|0); + $548 = HEAP32[$pWInfo>>2]|0; + $549 = (_sqlite3WhereBreakLabel($548)|0); + _selectInnerLoop($542,$543,$544,-1,$sSort,$sDistinct,$545,$547,$549); + $550 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($550); + } else { + HEAP32[$sortPTab>>2] = 0; + HEAP32[$sortOut>>2] = 0; + HEAP32[$orderByGrp>>2] = 0; + $551 = HEAP32[$pGroupBy>>2]|0; + $552 = ($551|0)!=(0|0); + $553 = HEAP32[$2>>2]|0; + do { + if ($552) { + $554 = HEAP32[$553>>2]|0; + $555 = HEAP32[$554>>2]|0; + HEAP32[$k>>2] = $555; + $556 = HEAP32[$2>>2]|0; + $557 = HEAP32[$556>>2]|0; + $558 = ((($557)) + 4|0); + $559 = HEAP32[$558>>2]|0; + HEAP32[$pItem3>>2] = $559; + while(1) { + $560 = HEAP32[$k>>2]|0; + $561 = ($560|0)>(0); + if (!($561)) { break; } - $542 = HEAP32[$v>>2]|0; - $543 = ((($sSort)) + 20|0); - $544 = HEAP32[$543>>2]|0; - (_sqlite3VdbeChangeToNoop($542,$544)|0); + $562 = HEAP32[$pItem3>>2]|0; + $563 = ((($562)) + 16|0); + $564 = ((($563)) + 2|0); + HEAP16[$564>>1] = 0; + $565 = HEAP32[$k>>2]|0; + $566 = (($565) + -1)|0; + HEAP32[$k>>2] = $566; + $567 = HEAP32[$pItem3>>2]|0; + $568 = ((($567)) + 20|0); + HEAP32[$pItem3>>2] = $568; } - } while(0); - $545 = HEAP32[$1>>2]|0; - $546 = HEAP32[$2>>2]|0; - $547 = HEAP32[$pEList>>2]|0; - $548 = HEAP32[$3>>2]|0; - $549 = HEAP32[$pWInfo>>2]|0; - $550 = (_sqlite3WhereContinueLabel($549)|0); - $551 = HEAP32[$pWInfo>>2]|0; - $552 = (_sqlite3WhereBreakLabel($551)|0); - _selectInnerLoop($545,$546,$547,-1,$sSort,$sDistinct,$548,$550,$552); - $553 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($553); - } else { - HEAP32[$sortPTab>>2] = 0; - HEAP32[$sortOut>>2] = 0; - HEAP32[$orderByGrp>>2] = 0; - $554 = HEAP32[$pGroupBy>>2]|0; - $555 = ($554|0)!=(0|0); - $556 = HEAP32[$2>>2]|0; - do { - if ($555) { - $557 = HEAP32[$556>>2]|0; - $558 = HEAP32[$557>>2]|0; - HEAP32[$k>>2] = $558; - $559 = HEAP32[$2>>2]|0; - $560 = HEAP32[$559>>2]|0; - $561 = ((($560)) + 4|0); - $562 = HEAP32[$561>>2]|0; - HEAP32[$pItem3>>2] = $562; - while(1) { - $563 = HEAP32[$k>>2]|0; - $564 = ($563|0)>(0); - if (!($564)) { - break; - } - $565 = HEAP32[$pItem3>>2]|0; - $566 = ((($565)) + 16|0); - $567 = ((($566)) + 2|0); - HEAP16[$567>>1] = 0; - $568 = HEAP32[$k>>2]|0; - $569 = (($568) + -1)|0; - HEAP32[$k>>2] = $569; - $570 = HEAP32[$pItem3>>2]|0; - $571 = ((($570)) + 20|0); - HEAP32[$pItem3>>2] = $571; - } - $572 = HEAP32[$pGroupBy>>2]|0; - $573 = HEAP32[$572>>2]|0; - HEAP32[$k>>2] = $573; - $574 = HEAP32[$pGroupBy>>2]|0; - $575 = ((($574)) + 4|0); - $576 = HEAP32[$575>>2]|0; - HEAP32[$pItem3>>2] = $576; - while(1) { - $577 = HEAP32[$k>>2]|0; - $578 = ($577|0)>(0); - if (!($578)) { - break; - } - $579 = HEAP32[$pItem3>>2]|0; - $580 = ((($579)) + 16|0); - $581 = ((($580)) + 2|0); - HEAP16[$581>>1] = 0; - $582 = HEAP32[$k>>2]|0; - $583 = (($582) + -1)|0; - HEAP32[$k>>2] = $583; - $584 = HEAP32[$pItem3>>2]|0; - $585 = ((($584)) + 20|0); - HEAP32[$pItem3>>2] = $585; - } - $586 = HEAP32[$2>>2]|0; - $587 = ((($586)) + 6|0); - $588 = HEAP16[$587>>1]|0; - $589 = $588 << 16 >> 16; - $590 = ($589|0)>(66); - if (!($590)) { + $569 = HEAP32[$pGroupBy>>2]|0; + $570 = HEAP32[$569>>2]|0; + HEAP32[$k>>2] = $570; + $571 = HEAP32[$pGroupBy>>2]|0; + $572 = ((($571)) + 4|0); + $573 = HEAP32[$572>>2]|0; + HEAP32[$pItem3>>2] = $573; + while(1) { + $574 = HEAP32[$k>>2]|0; + $575 = ($574|0)>(0); + if (!($575)) { break; } - $591 = HEAP32[$2>>2]|0; - $592 = ((($591)) + 6|0); - HEAP16[$592>>1] = 66; - } else { - $593 = ((($556)) + 6|0); - HEAP16[$593>>1] = 0; + $576 = HEAP32[$pItem3>>2]|0; + $577 = ((($576)) + 16|0); + $578 = ((($577)) + 2|0); + HEAP16[$578>>1] = 0; + $579 = HEAP32[$k>>2]|0; + $580 = (($579) + -1)|0; + HEAP32[$k>>2] = $580; + $581 = HEAP32[$pItem3>>2]|0; + $582 = ((($581)) + 20|0); + HEAP32[$pItem3>>2] = $582; } - } while(0); - $594 = HEAP32[$pGroupBy>>2]|0; - $595 = HEAP32[$sSort>>2]|0; - $596 = (_sqlite3ExprListCompare($594,$595,-1)|0); - $597 = ($596|0)==(0); - if ($597) { - HEAP32[$orderByGrp>>2] = 1; - } - $598 = HEAP32[$v>>2]|0; - $599 = (_sqlite3VdbeMakeLabel($598)|0); - HEAP32[$addrEnd>>2] = $599; - ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $600 = HEAP32[$1>>2]|0; - HEAP32[$sNC>>2] = $600; - $601 = HEAP32[$pTabList>>2]|0; - $602 = ((($sNC)) + 4|0); - HEAP32[$602>>2] = $601; - $603 = ((($sNC)) + 12|0); - HEAP32[$603>>2] = $sAggInfo; - $604 = HEAP32[$1>>2]|0; - $605 = ((($604)) + 76|0); - $606 = HEAP32[$605>>2]|0; - $607 = (($606) + 1)|0; - $608 = ((($sAggInfo)) + 16|0); - HEAP32[$608>>2] = $607; - $609 = HEAP32[$pGroupBy>>2]|0; - $610 = ($609|0)!=(0|0); - if ($610) { - $611 = HEAP32[$pGroupBy>>2]|0; - $612 = HEAP32[$611>>2]|0; - $614 = $612; - } else { - $614 = 0; - } - $613 = ((($sAggInfo)) + 12|0); - HEAP32[$613>>2] = $614; - $615 = HEAP32[$pGroupBy>>2]|0; - $616 = ((($sAggInfo)) + 24|0); - HEAP32[$616>>2] = $615; - $617 = HEAP32[$pEList>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$617); - $618 = HEAP32[$sSort>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$618); - $619 = HEAP32[$pHaving>>2]|0; - $620 = ($619|0)!=(0|0); - if ($620) { - $621 = HEAP32[$pHaving>>2]|0; - _sqlite3ExprAnalyzeAggregates($sNC,$621); - } - $622 = ((($sAggInfo)) + 32|0); - $623 = HEAP32[$622>>2]|0; - $624 = ((($sAggInfo)) + 36|0); - HEAP32[$624>>2] = $623; - HEAP32[$i>>2] = 0; - while(1) { - $625 = HEAP32[$i>>2]|0; - $626 = ((($sAggInfo)) + 44|0); - $627 = HEAP32[$626>>2]|0; - $628 = ($625|0)<($627|0); - if (!($628)) { + $583 = HEAP32[$2>>2]|0; + $584 = ((($583)) + 6|0); + $585 = HEAP16[$584>>1]|0; + $586 = $585 << 16 >> 16; + $587 = ($586|0)>(66); + if (!($587)) { break; } - $629 = ((($sNC)) + 28|0); - $630 = HEAP16[$629>>1]|0; - $631 = $630&65535; - $632 = $631 | 8; - $633 = $632&65535; - HEAP16[$629>>1] = $633; - $634 = HEAP32[$i>>2]|0; - $635 = ((($sAggInfo)) + 40|0); - $636 = HEAP32[$635>>2]|0; - $637 = (($636) + ($634<<4)|0); - $638 = HEAP32[$637>>2]|0; - $639 = ((($638)) + 20|0); - $640 = HEAP32[$639>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$640); - $641 = ((($sNC)) + 28|0); - $642 = HEAP16[$641>>1]|0; - $643 = $642&65535; - $644 = $643 & -9; - $645 = $644&65535; - HEAP16[$641>>1] = $645; - $646 = HEAP32[$i>>2]|0; - $647 = (($646) + 1)|0; - HEAP32[$i>>2] = $647; + $588 = HEAP32[$2>>2]|0; + $589 = ((($588)) + 6|0); + HEAP16[$589>>1] = 66; + } else { + $590 = ((($553)) + 6|0); + HEAP16[$590>>1] = 0; + } + } while(0); + $591 = HEAP32[$pGroupBy>>2]|0; + $592 = HEAP32[$sSort>>2]|0; + $593 = (_sqlite3ExprListCompare($591,$592,-1)|0); + $594 = ($593|0)==(0); + if ($594) { + HEAP32[$orderByGrp>>2] = 1; + } + $595 = HEAP32[$v>>2]|0; + $596 = (_sqlite3VdbeMakeLabel($595)|0); + HEAP32[$addrEnd>>2] = $596; + ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; + $597 = HEAP32[$1>>2]|0; + HEAP32[$sNC>>2] = $597; + $598 = HEAP32[$pTabList>>2]|0; + $599 = ((($sNC)) + 4|0); + HEAP32[$599>>2] = $598; + $600 = ((($sNC)) + 12|0); + HEAP32[$600>>2] = $sAggInfo; + $601 = HEAP32[$1>>2]|0; + $602 = ((($601)) + 44|0); + $603 = HEAP32[$602>>2]|0; + $604 = (($603) + 1)|0; + $605 = ((($sAggInfo)) + 16|0); + HEAP32[$605>>2] = $604; + $606 = HEAP32[$pGroupBy>>2]|0; + $607 = ($606|0)!=(0|0); + if ($607) { + $608 = HEAP32[$pGroupBy>>2]|0; + $609 = HEAP32[$608>>2]|0; + $611 = $609; + } else { + $611 = 0; + } + $610 = ((($sAggInfo)) + 12|0); + HEAP32[$610>>2] = $611; + $612 = HEAP32[$pGroupBy>>2]|0; + $613 = ((($sAggInfo)) + 24|0); + HEAP32[$613>>2] = $612; + $614 = HEAP32[$pEList>>2]|0; + _sqlite3ExprAnalyzeAggList($sNC,$614); + $615 = HEAP32[$sSort>>2]|0; + _sqlite3ExprAnalyzeAggList($sNC,$615); + $616 = HEAP32[$pHaving>>2]|0; + $617 = ($616|0)!=(0|0); + if ($617) { + $618 = HEAP32[$pHaving>>2]|0; + _sqlite3ExprAnalyzeAggregates($sNC,$618); + } + $619 = ((($sAggInfo)) + 32|0); + $620 = HEAP32[$619>>2]|0; + $621 = ((($sAggInfo)) + 36|0); + HEAP32[$621>>2] = $620; + HEAP32[$i>>2] = 0; + while(1) { + $622 = HEAP32[$i>>2]|0; + $623 = ((($sAggInfo)) + 44|0); + $624 = HEAP32[$623>>2]|0; + $625 = ($622|0)<($624|0); + if (!($625)) { + break; } - $648 = HEAP32[$1>>2]|0; - $649 = ((($648)) + 76|0); - $650 = HEAP32[$649>>2]|0; - $651 = ((($sAggInfo)) + 20|0); - HEAP32[$651>>2] = $650; - $652 = HEAP32[$db>>2]|0; - $653 = ((($652)) + 69|0); - $654 = HEAP8[$653>>0]|0; - $655 = ($654<<24>>24)!=(0); - if ($655) { + $626 = ((($sNC)) + 28|0); + $627 = HEAP16[$626>>1]|0; + $628 = $627&65535; + $629 = $628 | 8; + $630 = $629&65535; + HEAP16[$626>>1] = $630; + $631 = HEAP32[$i>>2]|0; + $632 = ((($sAggInfo)) + 40|0); + $633 = HEAP32[$632>>2]|0; + $634 = (($633) + ($631<<4)|0); + $635 = HEAP32[$634>>2]|0; + $636 = ((($635)) + 20|0); + $637 = HEAP32[$636>>2]|0; + _sqlite3ExprAnalyzeAggList($sNC,$637); + $638 = ((($sNC)) + 28|0); + $639 = HEAP16[$638>>1]|0; + $640 = $639&65535; + $641 = $640 & -9; + $642 = $641&65535; + HEAP16[$638>>1] = $642; + $643 = HEAP32[$i>>2]|0; + $644 = (($643) + 1)|0; + HEAP32[$i>>2] = $644; + } + $645 = HEAP32[$1>>2]|0; + $646 = ((($645)) + 44|0); + $647 = HEAP32[$646>>2]|0; + $648 = ((($sAggInfo)) + 20|0); + HEAP32[$648>>2] = $647; + $649 = HEAP32[$db>>2]|0; + $650 = ((($649)) + 69|0); + $651 = HEAP8[$650>>0]|0; + $652 = ($651<<24>>24)!=(0); + if ($652) { + break; + } + $653 = HEAP32[$pGroupBy>>2]|0; + $654 = ($653|0)!=(0|0); + if ($654) { + $655 = HEAP32[$1>>2]|0; + $656 = ((($655)) + 40|0); + $657 = HEAP32[$656>>2]|0; + $658 = (($657) + 1)|0; + HEAP32[$656>>2] = $658; + $659 = ((($sAggInfo)) + 4|0); + HEAP32[$659>>2] = $657; + $660 = HEAP32[$1>>2]|0; + $661 = HEAP32[$pGroupBy>>2]|0; + $662 = ((($sAggInfo)) + 32|0); + $663 = HEAP32[$662>>2]|0; + $664 = (_keyInfoFromExprList($660,$661,0,$663)|0); + HEAP32[$pKeyInfo4>>2] = $664; + $665 = HEAP32[$v>>2]|0; + $666 = ((($sAggInfo)) + 4|0); + $667 = HEAP32[$666>>2]|0; + $668 = ((($sAggInfo)) + 12|0); + $669 = HEAP32[$668>>2]|0; + $670 = HEAP32[$pKeyInfo4>>2]|0; + $671 = (_sqlite3VdbeAddOp4($665,108,$667,$669,0,$670,-6)|0); + HEAP32[$addrSortingIdx>>2] = $671; + $672 = HEAP32[$1>>2]|0; + $673 = ((($672)) + 44|0); + $674 = HEAP32[$673>>2]|0; + $675 = (($674) + 1)|0; + HEAP32[$673>>2] = $675; + HEAP32[$iUseFlag>>2] = $675; + $676 = HEAP32[$1>>2]|0; + $677 = ((($676)) + 44|0); + $678 = HEAP32[$677>>2]|0; + $679 = (($678) + 1)|0; + HEAP32[$677>>2] = $679; + HEAP32[$iAbortFlag>>2] = $679; + $680 = HEAP32[$1>>2]|0; + $681 = ((($680)) + 44|0); + $682 = HEAP32[$681>>2]|0; + $683 = (($682) + 1)|0; + HEAP32[$681>>2] = $683; + HEAP32[$regOutputRow>>2] = $683; + $684 = HEAP32[$v>>2]|0; + $685 = (_sqlite3VdbeMakeLabel($684)|0); + HEAP32[$addrOutputRow>>2] = $685; + $686 = HEAP32[$1>>2]|0; + $687 = ((($686)) + 44|0); + $688 = HEAP32[$687>>2]|0; + $689 = (($688) + 1)|0; + HEAP32[$687>>2] = $689; + HEAP32[$regReset>>2] = $689; + $690 = HEAP32[$v>>2]|0; + $691 = (_sqlite3VdbeMakeLabel($690)|0); + HEAP32[$addrReset>>2] = $691; + $692 = HEAP32[$1>>2]|0; + $693 = ((($692)) + 44|0); + $694 = HEAP32[$693>>2]|0; + $695 = (($694) + 1)|0; + HEAP32[$iAMem>>2] = $695; + $696 = HEAP32[$pGroupBy>>2]|0; + $697 = HEAP32[$696>>2]|0; + $698 = HEAP32[$1>>2]|0; + $699 = ((($698)) + 44|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($697))|0; + HEAP32[$699>>2] = $701; + $702 = HEAP32[$1>>2]|0; + $703 = ((($702)) + 44|0); + $704 = HEAP32[$703>>2]|0; + $705 = (($704) + 1)|0; + HEAP32[$iBMem>>2] = $705; + $706 = HEAP32[$pGroupBy>>2]|0; + $707 = HEAP32[$706>>2]|0; + $708 = HEAP32[$1>>2]|0; + $709 = ((($708)) + 44|0); + $710 = HEAP32[$709>>2]|0; + $711 = (($710) + ($707))|0; + HEAP32[$709>>2] = $711; + $712 = HEAP32[$v>>2]|0; + $713 = HEAP32[$iAbortFlag>>2]|0; + (_sqlite3VdbeAddOp2($712,76,0,$713)|0); + $714 = HEAP32[$v>>2]|0; + $715 = HEAP32[$iUseFlag>>2]|0; + (_sqlite3VdbeAddOp2($714,76,0,$715)|0); + $716 = HEAP32[$v>>2]|0; + $717 = HEAP32[$iAMem>>2]|0; + $718 = HEAP32[$iAMem>>2]|0; + $719 = HEAP32[$pGroupBy>>2]|0; + $720 = HEAP32[$719>>2]|0; + $721 = (($718) + ($720))|0; + $722 = (($721) - 1)|0; + (_sqlite3VdbeAddOp3($716,79,0,$717,$722)|0); + $723 = HEAP32[$v>>2]|0; + $724 = HEAP32[$regReset>>2]|0; + $725 = HEAP32[$addrReset>>2]|0; + (_sqlite3VdbeAddOp2($723,14,$724,$725)|0); + $726 = HEAP32[$1>>2]|0; + $727 = HEAP32[$pTabList>>2]|0; + $728 = HEAP32[$pWhere>>2]|0; + $729 = HEAP32[$pGroupBy>>2]|0; + $730 = HEAP32[$orderByGrp>>2]|0; + $731 = ($730|0)!=(0); + $732 = $731 ? 512 : 0; + $733 = 64 | $732; + $734 = $733&65535; + $735 = (_sqlite3WhereBegin($726,$727,$728,$729,0,$734,0)|0); + HEAP32[$pWInfo>>2] = $735; + $736 = HEAP32[$pWInfo>>2]|0; + $737 = ($736|0)==(0|0); + if ($737) { break; } - $656 = HEAP32[$pGroupBy>>2]|0; - $657 = ($656|0)!=(0|0); - if ($657) { - $658 = HEAP32[$1>>2]|0; - $659 = ((($658)) + 72|0); - $660 = HEAP32[$659>>2]|0; - $661 = (($660) + 1)|0; - HEAP32[$659>>2] = $661; - $662 = ((($sAggInfo)) + 4|0); - HEAP32[$662>>2] = $660; - $663 = HEAP32[$1>>2]|0; - $664 = HEAP32[$pGroupBy>>2]|0; - $665 = ((($sAggInfo)) + 32|0); - $666 = HEAP32[$665>>2]|0; - $667 = (_keyInfoFromExprList($663,$664,0,$666)|0); - HEAP32[$pKeyInfo4>>2] = $667; - $668 = HEAP32[$v>>2]|0; - $669 = ((($sAggInfo)) + 4|0); - $670 = HEAP32[$669>>2]|0; - $671 = ((($sAggInfo)) + 12|0); - $672 = HEAP32[$671>>2]|0; - $673 = HEAP32[$pKeyInfo4>>2]|0; - $674 = (_sqlite3VdbeAddOp4($668,106,$670,$672,0,$673,-6)|0); - HEAP32[$addrSortingIdx>>2] = $674; - $675 = HEAP32[$1>>2]|0; - $676 = ((($675)) + 76|0); - $677 = HEAP32[$676>>2]|0; - $678 = (($677) + 1)|0; - HEAP32[$676>>2] = $678; - HEAP32[$iUseFlag>>2] = $678; - $679 = HEAP32[$1>>2]|0; - $680 = ((($679)) + 76|0); - $681 = HEAP32[$680>>2]|0; - $682 = (($681) + 1)|0; - HEAP32[$680>>2] = $682; - HEAP32[$iAbortFlag>>2] = $682; - $683 = HEAP32[$1>>2]|0; - $684 = ((($683)) + 76|0); - $685 = HEAP32[$684>>2]|0; - $686 = (($685) + 1)|0; - HEAP32[$684>>2] = $686; - HEAP32[$regOutputRow>>2] = $686; - $687 = HEAP32[$v>>2]|0; - $688 = (_sqlite3VdbeMakeLabel($687)|0); - HEAP32[$addrOutputRow>>2] = $688; - $689 = HEAP32[$1>>2]|0; - $690 = ((($689)) + 76|0); - $691 = HEAP32[$690>>2]|0; - $692 = (($691) + 1)|0; - HEAP32[$690>>2] = $692; - HEAP32[$regReset>>2] = $692; - $693 = HEAP32[$v>>2]|0; - $694 = (_sqlite3VdbeMakeLabel($693)|0); - HEAP32[$addrReset>>2] = $694; - $695 = HEAP32[$1>>2]|0; - $696 = ((($695)) + 76|0); - $697 = HEAP32[$696>>2]|0; - $698 = (($697) + 1)|0; - HEAP32[$iAMem>>2] = $698; - $699 = HEAP32[$pGroupBy>>2]|0; - $700 = HEAP32[$699>>2]|0; - $701 = HEAP32[$1>>2]|0; - $702 = ((($701)) + 76|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + ($700))|0; - HEAP32[$702>>2] = $704; - $705 = HEAP32[$1>>2]|0; - $706 = ((($705)) + 76|0); - $707 = HEAP32[$706>>2]|0; - $708 = (($707) + 1)|0; - HEAP32[$iBMem>>2] = $708; - $709 = HEAP32[$pGroupBy>>2]|0; - $710 = HEAP32[$709>>2]|0; - $711 = HEAP32[$1>>2]|0; - $712 = ((($711)) + 76|0); - $713 = HEAP32[$712>>2]|0; - $714 = (($713) + ($710))|0; - HEAP32[$712>>2] = $714; - $715 = HEAP32[$v>>2]|0; - $716 = HEAP32[$iAbortFlag>>2]|0; - (_sqlite3VdbeAddOp2($715,74,0,$716)|0); - $717 = HEAP32[$v>>2]|0; - $718 = HEAP32[$iUseFlag>>2]|0; - (_sqlite3VdbeAddOp2($717,74,0,$718)|0); - $719 = HEAP32[$v>>2]|0; - $720 = HEAP32[$iAMem>>2]|0; - $721 = HEAP32[$iAMem>>2]|0; - $722 = HEAP32[$pGroupBy>>2]|0; - $723 = HEAP32[$722>>2]|0; - $724 = (($721) + ($723))|0; - $725 = (($724) - 1)|0; - (_sqlite3VdbeAddOp3($719,77,0,$720,$725)|0); - $726 = HEAP32[$v>>2]|0; - $727 = HEAP32[$regReset>>2]|0; - $728 = HEAP32[$addrReset>>2]|0; - (_sqlite3VdbeAddOp2($726,14,$727,$728)|0); - $729 = HEAP32[$1>>2]|0; - $730 = HEAP32[$pTabList>>2]|0; - $731 = HEAP32[$pWhere>>2]|0; - $732 = HEAP32[$pGroupBy>>2]|0; - $733 = HEAP32[$orderByGrp>>2]|0; - $734 = ($733|0)!=(0); - $735 = $734 ? 2048 : 0; - $736 = 256 | $735; - $737 = $736&65535; - $738 = (_sqlite3WhereBegin($729,$730,$731,$732,0,$737,0)|0); - HEAP32[$pWInfo>>2] = $738; - $739 = HEAP32[$pWInfo>>2]|0; - $740 = ($739|0)==(0|0); - if ($740) { - break; - } - $741 = HEAP32[$pWInfo>>2]|0; - $742 = (_sqlite3WhereIsOrdered($741)|0); - $743 = HEAP32[$pGroupBy>>2]|0; - $744 = HEAP32[$743>>2]|0; - $745 = ($742|0)==($744|0); - if ($745) { - HEAP32[$groupBySort>>2] = 0; + $738 = HEAP32[$pWInfo>>2]|0; + $739 = (_sqlite3WhereIsOrdered($738)|0); + $740 = HEAP32[$pGroupBy>>2]|0; + $741 = HEAP32[$740>>2]|0; + $742 = ($739|0)==($741|0); + if ($742) { + HEAP32[$groupBySort>>2] = 0; + } else { + $743 = HEAP32[$1>>2]|0; + $744 = HEAP8[$sDistinct>>0]|0; + $745 = $744&255; + $746 = ($745|0)!=(0); + if ($746) { + $747 = HEAP32[$2>>2]|0; + $748 = ((($747)) + 8|0); + $749 = HEAP32[$748>>2]|0; + $750 = $749 & 1; + $751 = ($750|0)==(0); + $753 = $751; } else { - $746 = HEAP32[$1>>2]|0; - $747 = HEAP8[$sDistinct>>0]|0; - $748 = $747&255; - $749 = ($748|0)!=(0); - if ($749) { - $750 = HEAP32[$2>>2]|0; - $751 = ((($750)) + 8|0); - $752 = HEAP32[$751>>2]|0; - $753 = $752 & 1; - $754 = ($753|0)==(0); - $756 = $754; - } else { - $756 = 0; + $753 = 0; + } + $752 = $753 ? 35649 : 35658; + _explainTempTable($743,$752); + HEAP32[$groupBySort>>2] = 1; + $754 = HEAP32[$pGroupBy>>2]|0; + $755 = HEAP32[$754>>2]|0; + HEAP32[$nGroupBy>>2] = $755; + $756 = HEAP32[$nGroupBy>>2]|0; + HEAP32[$nCol>>2] = $756; + $757 = HEAP32[$nGroupBy>>2]|0; + HEAP32[$j>>2] = $757; + HEAP32[$i>>2] = 0; + while(1) { + $758 = HEAP32[$i>>2]|0; + $759 = ((($sAggInfo)) + 32|0); + $760 = HEAP32[$759>>2]|0; + $761 = ($758|0)<($760|0); + if (!($761)) { + break; } - $755 = $756 ? 36134 : 36143; - _explainTempTable($746,$755); - HEAP32[$groupBySort>>2] = 1; - $757 = HEAP32[$pGroupBy>>2]|0; - $758 = HEAP32[$757>>2]|0; - HEAP32[$nGroupBy>>2] = $758; - $759 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$nCol>>2] = $759; - $760 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$j>>2] = $760; - HEAP32[$i>>2] = 0; - while(1) { - $761 = HEAP32[$i>>2]|0; - $762 = ((($sAggInfo)) + 32|0); - $763 = HEAP32[$762>>2]|0; - $764 = ($761|0)<($763|0); - if (!($764)) { - break; - } - $765 = HEAP32[$i>>2]|0; - $766 = ((($sAggInfo)) + 28|0); - $767 = HEAP32[$766>>2]|0; - $768 = (($767) + (($765*24)|0)|0); - $769 = ((($768)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = HEAP32[$j>>2]|0; - $772 = ($770|0)>=($771|0); - if ($772) { - $773 = HEAP32[$nCol>>2]|0; - $774 = (($773) + 1)|0; - HEAP32[$nCol>>2] = $774; - $775 = HEAP32[$j>>2]|0; - $776 = (($775) + 1)|0; - HEAP32[$j>>2] = $776; - } - $777 = HEAP32[$i>>2]|0; - $778 = (($777) + 1)|0; - HEAP32[$i>>2] = $778; + $762 = HEAP32[$i>>2]|0; + $763 = ((($sAggInfo)) + 28|0); + $764 = HEAP32[$763>>2]|0; + $765 = (($764) + (($762*24)|0)|0); + $766 = ((($765)) + 12|0); + $767 = HEAP32[$766>>2]|0; + $768 = HEAP32[$j>>2]|0; + $769 = ($767|0)>=($768|0); + if ($769) { + $770 = HEAP32[$nCol>>2]|0; + $771 = (($770) + 1)|0; + HEAP32[$nCol>>2] = $771; + $772 = HEAP32[$j>>2]|0; + $773 = (($772) + 1)|0; + HEAP32[$j>>2] = $773; } - $779 = HEAP32[$1>>2]|0; - $780 = HEAP32[$nCol>>2]|0; - $781 = (_sqlite3GetTempRange($779,$780)|0); - HEAP32[$regBase>>2] = $781; - $782 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($782); - $783 = HEAP32[$1>>2]|0; - $784 = HEAP32[$pGroupBy>>2]|0; - $785 = HEAP32[$regBase>>2]|0; - (_sqlite3ExprCodeExprList($783,$784,$785,0,0)|0); - $786 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$j>>2] = $786; - HEAP32[$i>>2] = 0; - while(1) { - $787 = HEAP32[$i>>2]|0; - $788 = ((($sAggInfo)) + 32|0); - $789 = HEAP32[$788>>2]|0; - $790 = ($787|0)<($789|0); - if (!($790)) { - break; - } - $791 = HEAP32[$i>>2]|0; - $792 = ((($sAggInfo)) + 28|0); - $793 = HEAP32[$792>>2]|0; - $794 = (($793) + (($791*24)|0)|0); - HEAP32[$pCol>>2] = $794; - $795 = HEAP32[$pCol>>2]|0; - $796 = ((($795)) + 12|0); - $797 = HEAP32[$796>>2]|0; - $798 = HEAP32[$j>>2]|0; - $799 = ($797|0)>=($798|0); - if ($799) { - $800 = HEAP32[$j>>2]|0; - $801 = HEAP32[$regBase>>2]|0; - $802 = (($800) + ($801))|0; - HEAP32[$r1>>2] = $802; - $803 = HEAP32[$1>>2]|0; - $804 = HEAP32[$pCol>>2]|0; - $805 = HEAP32[$804>>2]|0; - $806 = HEAP32[$pCol>>2]|0; - $807 = ((($806)) + 8|0); - $808 = HEAP32[$807>>2]|0; - $809 = HEAP32[$pCol>>2]|0; - $810 = ((($809)) + 4|0); - $811 = HEAP32[$810>>2]|0; - $812 = HEAP32[$r1>>2]|0; - _sqlite3ExprCodeGetColumnToReg($803,$805,$808,$811,$812); - $813 = HEAP32[$j>>2]|0; - $814 = (($813) + 1)|0; - HEAP32[$j>>2] = $814; - } - $815 = HEAP32[$i>>2]|0; - $816 = (($815) + 1)|0; - HEAP32[$i>>2] = $816; + $774 = HEAP32[$i>>2]|0; + $775 = (($774) + 1)|0; + HEAP32[$i>>2] = $775; + } + $776 = HEAP32[$1>>2]|0; + $777 = HEAP32[$nCol>>2]|0; + $778 = (_sqlite3GetTempRange($776,$777)|0); + HEAP32[$regBase>>2] = $778; + $779 = HEAP32[$1>>2]|0; + _sqlite3ExprCacheClear($779); + $780 = HEAP32[$1>>2]|0; + $781 = HEAP32[$pGroupBy>>2]|0; + $782 = HEAP32[$regBase>>2]|0; + (_sqlite3ExprCodeExprList($780,$781,$782,0,0)|0); + $783 = HEAP32[$nGroupBy>>2]|0; + HEAP32[$j>>2] = $783; + HEAP32[$i>>2] = 0; + while(1) { + $784 = HEAP32[$i>>2]|0; + $785 = ((($sAggInfo)) + 32|0); + $786 = HEAP32[$785>>2]|0; + $787 = ($784|0)<($786|0); + if (!($787)) { + break; + } + $788 = HEAP32[$i>>2]|0; + $789 = ((($sAggInfo)) + 28|0); + $790 = HEAP32[$789>>2]|0; + $791 = (($790) + (($788*24)|0)|0); + HEAP32[$pCol>>2] = $791; + $792 = HEAP32[$pCol>>2]|0; + $793 = ((($792)) + 12|0); + $794 = HEAP32[$793>>2]|0; + $795 = HEAP32[$j>>2]|0; + $796 = ($794|0)>=($795|0); + if ($796) { + $797 = HEAP32[$j>>2]|0; + $798 = HEAP32[$regBase>>2]|0; + $799 = (($797) + ($798))|0; + HEAP32[$r1>>2] = $799; + $800 = HEAP32[$1>>2]|0; + $801 = HEAP32[$pCol>>2]|0; + $802 = HEAP32[$801>>2]|0; + $803 = HEAP32[$pCol>>2]|0; + $804 = ((($803)) + 8|0); + $805 = HEAP32[$804>>2]|0; + $806 = HEAP32[$pCol>>2]|0; + $807 = ((($806)) + 4|0); + $808 = HEAP32[$807>>2]|0; + $809 = HEAP32[$r1>>2]|0; + _sqlite3ExprCodeGetColumnToReg($800,$802,$805,$808,$809); + $810 = HEAP32[$j>>2]|0; + $811 = (($810) + 1)|0; + HEAP32[$j>>2] = $811; } - $817 = HEAP32[$1>>2]|0; - $818 = (_sqlite3GetTempReg($817)|0); - HEAP32[$regRecord>>2] = $818; - $819 = HEAP32[$v>>2]|0; - $820 = HEAP32[$regBase>>2]|0; - $821 = HEAP32[$nCol>>2]|0; - $822 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp3($819,96,$820,$821,$822)|0); - $823 = HEAP32[$v>>2]|0; - $824 = ((($sAggInfo)) + 4|0); - $825 = HEAP32[$824>>2]|0; - $826 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($823,123,$825,$826)|0); - $827 = HEAP32[$1>>2]|0; - $828 = HEAP32[$regRecord>>2]|0; - _sqlite3ReleaseTempReg($827,$828); - $829 = HEAP32[$1>>2]|0; - $830 = HEAP32[$regBase>>2]|0; - $831 = HEAP32[$nCol>>2]|0; - _sqlite3ReleaseTempRange($829,$830,$831); - $832 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($832); - $833 = HEAP32[$1>>2]|0; - $834 = ((($833)) + 72|0); - $835 = HEAP32[$834>>2]|0; - $836 = (($835) + 1)|0; - HEAP32[$834>>2] = $836; - HEAP32[$sortPTab>>2] = $835; - $837 = ((($sAggInfo)) + 8|0); - HEAP32[$837>>2] = $835; - $838 = HEAP32[$1>>2]|0; - $839 = (_sqlite3GetTempReg($838)|0); - HEAP32[$sortOut>>2] = $839; - $840 = HEAP32[$v>>2]|0; - $841 = HEAP32[$sortPTab>>2]|0; - $842 = HEAP32[$sortOut>>2]|0; - $843 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp3($840,108,$841,$842,$843)|0); - $844 = HEAP32[$v>>2]|0; - $845 = ((($sAggInfo)) + 4|0); - $846 = HEAP32[$845>>2]|0; - $847 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeAddOp2($844,42,$846,$847)|0); - $848 = ((($sAggInfo)) + 1|0); - HEAP8[$848>>0] = 1; - $849 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($849); + $812 = HEAP32[$i>>2]|0; + $813 = (($812) + 1)|0; + HEAP32[$i>>2] = $813; } - $850 = HEAP32[$orderByGrp>>2]|0; - $851 = ($850|0)!=(0); - do { - if ($851) { - $852 = HEAP32[$db>>2]|0; - $853 = ((($852)) + 64|0); - $854 = HEAP16[$853>>1]|0; - $855 = $854&65535; - $856 = $855 & 4; - $857 = ($856|0)==(0); - if (!($857)) { - break; - } - $858 = HEAP32[$groupBySort>>2]|0; + $814 = HEAP32[$1>>2]|0; + $815 = (_sqlite3GetTempReg($814)|0); + HEAP32[$regRecord>>2] = $815; + $816 = HEAP32[$v>>2]|0; + $817 = HEAP32[$regBase>>2]|0; + $818 = HEAP32[$nCol>>2]|0; + $819 = HEAP32[$regRecord>>2]|0; + (_sqlite3VdbeAddOp3($816,99,$817,$818,$819)|0); + $820 = HEAP32[$v>>2]|0; + $821 = ((($sAggInfo)) + 4|0); + $822 = HEAP32[$821>>2]|0; + $823 = HEAP32[$regRecord>>2]|0; + (_sqlite3VdbeAddOp2($820,125,$822,$823)|0); + $824 = HEAP32[$1>>2]|0; + $825 = HEAP32[$regRecord>>2]|0; + _sqlite3ReleaseTempReg($824,$825); + $826 = HEAP32[$1>>2]|0; + $827 = HEAP32[$regBase>>2]|0; + $828 = HEAP32[$nCol>>2]|0; + _sqlite3ReleaseTempRange($826,$827,$828); + $829 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($829); + $830 = HEAP32[$1>>2]|0; + $831 = ((($830)) + 40|0); + $832 = HEAP32[$831>>2]|0; + $833 = (($832) + 1)|0; + HEAP32[$831>>2] = $833; + HEAP32[$sortPTab>>2] = $832; + $834 = ((($sAggInfo)) + 8|0); + HEAP32[$834>>2] = $832; + $835 = HEAP32[$1>>2]|0; + $836 = (_sqlite3GetTempReg($835)|0); + HEAP32[$sortOut>>2] = $836; + $837 = HEAP32[$v>>2]|0; + $838 = HEAP32[$sortPTab>>2]|0; + $839 = HEAP32[$sortOut>>2]|0; + $840 = HEAP32[$nCol>>2]|0; + (_sqlite3VdbeAddOp3($837,110,$838,$839,$840)|0); + $841 = HEAP32[$v>>2]|0; + $842 = ((($sAggInfo)) + 4|0); + $843 = HEAP32[$842>>2]|0; + $844 = HEAP32[$addrEnd>>2]|0; + (_sqlite3VdbeAddOp2($841,55,$843,$844)|0); + $845 = ((($sAggInfo)) + 1|0); + HEAP8[$845>>0] = 1; + $846 = HEAP32[$1>>2]|0; + _sqlite3ExprCacheClear($846); + } + $847 = HEAP32[$orderByGrp>>2]|0; + $848 = ($847|0)!=(0); + do { + if ($848) { + $849 = HEAP32[$db>>2]|0; + $850 = ((($849)) + 64|0); + $851 = HEAP16[$850>>1]|0; + $852 = $851&65535; + $853 = $852 & 4; + $854 = ($853|0)==(0); + if (!($854)) { + break; + } + $855 = HEAP32[$groupBySort>>2]|0; + $856 = ($855|0)!=(0); + if (!($856)) { + $857 = HEAP32[$pWInfo>>2]|0; + $858 = (_sqlite3WhereIsSorted($857)|0); $859 = ($858|0)!=(0); if (!($859)) { - $860 = HEAP32[$pWInfo>>2]|0; - $861 = (_sqlite3WhereIsSorted($860)|0); - $862 = ($861|0)!=(0); - if (!($862)) { - break; - } + break; } - HEAP32[$sSort>>2] = 0; - $863 = HEAP32[$v>>2]|0; - $864 = ((($sSort)) + 20|0); - $865 = HEAP32[$864>>2]|0; - (_sqlite3VdbeChangeToNoop($863,$865)|0); } - } while(0); - $866 = HEAP32[$v>>2]|0; - $867 = (_sqlite3VdbeCurrentAddr($866)|0); - HEAP32[$addrTopOfLoop>>2] = $867; - $868 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($868); - $869 = HEAP32[$groupBySort>>2]|0; - $870 = ($869|0)!=(0); - if ($870) { - $871 = HEAP32[$v>>2]|0; - $872 = ((($sAggInfo)) + 4|0); - $873 = HEAP32[$872>>2]|0; - $874 = HEAP32[$sortOut>>2]|0; - $875 = HEAP32[$sortPTab>>2]|0; - (_sqlite3VdbeAddOp3($871,118,$873,$874,$875)|0); + HEAP32[$sSort>>2] = 0; + $860 = HEAP32[$v>>2]|0; + $861 = ((($sSort)) + 20|0); + $862 = HEAP32[$861>>2]|0; + (_sqlite3VdbeChangeToNoop($860,$862)|0); } - HEAP32[$j>>2] = 0; - while(1) { - $876 = HEAP32[$j>>2]|0; - $877 = HEAP32[$pGroupBy>>2]|0; - $878 = HEAP32[$877>>2]|0; - $879 = ($876|0)<($878|0); - if (!($879)) { - break; - } - $880 = HEAP32[$groupBySort>>2]|0; - $881 = ($880|0)!=(0); - if ($881) { - $882 = HEAP32[$v>>2]|0; - $883 = HEAP32[$sortPTab>>2]|0; - $884 = HEAP32[$j>>2]|0; - $885 = HEAP32[$iBMem>>2]|0; - $886 = HEAP32[$j>>2]|0; - $887 = (($885) + ($886))|0; - (_sqlite3VdbeAddOp3($882,94,$883,$884,$887)|0); - } else { - HEAP8[$sAggInfo>>0] = 1; - $888 = HEAP32[$1>>2]|0; - $889 = HEAP32[$j>>2]|0; - $890 = HEAP32[$pGroupBy>>2]|0; - $891 = ((($890)) + 4|0); - $892 = HEAP32[$891>>2]|0; - $893 = (($892) + (($889*20)|0)|0); - $894 = HEAP32[$893>>2]|0; - $895 = HEAP32[$iBMem>>2]|0; - $896 = HEAP32[$j>>2]|0; - $897 = (($895) + ($896))|0; - _sqlite3ExprCode($888,$894,$897); - } - $898 = HEAP32[$j>>2]|0; - $899 = (($898) + 1)|0; - HEAP32[$j>>2] = $899; + } while(0); + $863 = HEAP32[$v>>2]|0; + $864 = (_sqlite3VdbeCurrentAddr($863)|0); + HEAP32[$addrTopOfLoop>>2] = $864; + $865 = HEAP32[$1>>2]|0; + _sqlite3ExprCacheClear($865); + $866 = HEAP32[$groupBySort>>2]|0; + $867 = ($866|0)!=(0); + if ($867) { + $868 = HEAP32[$v>>2]|0; + $869 = ((($sAggInfo)) + 4|0); + $870 = HEAP32[$869>>2]|0; + $871 = HEAP32[$sortOut>>2]|0; + $872 = HEAP32[$sortPTab>>2]|0; + (_sqlite3VdbeAddOp3($868,120,$870,$871,$872)|0); + } + HEAP32[$j>>2] = 0; + while(1) { + $873 = HEAP32[$j>>2]|0; + $874 = HEAP32[$pGroupBy>>2]|0; + $875 = HEAP32[$874>>2]|0; + $876 = ($873|0)<($875|0); + if (!($876)) { + break; } - $900 = HEAP32[$v>>2]|0; - $901 = HEAP32[$iAMem>>2]|0; - $902 = HEAP32[$iBMem>>2]|0; - $903 = HEAP32[$pGroupBy>>2]|0; - $904 = HEAP32[$903>>2]|0; - $905 = HEAP32[$pKeyInfo4>>2]|0; - $906 = (_sqlite3KeyInfoRef($905)|0); - (_sqlite3VdbeAddOp4($900,93,$901,$902,$904,$906,-6)|0); - $907 = HEAP32[$v>>2]|0; - $908 = (_sqlite3VdbeCurrentAddr($907)|0); - HEAP32[$addr1>>2] = $908; - $909 = HEAP32[$v>>2]|0; - $910 = HEAP32[$addr1>>2]|0; - $911 = (($910) + 1)|0; - $912 = HEAP32[$addr1>>2]|0; - $913 = (($912) + 1)|0; - (_sqlite3VdbeAddOp3($909,18,$911,0,$913)|0); - $914 = HEAP32[$1>>2]|0; - $915 = HEAP32[$iBMem>>2]|0; - $916 = HEAP32[$iAMem>>2]|0; - $917 = HEAP32[$pGroupBy>>2]|0; - $918 = HEAP32[$917>>2]|0; - _sqlite3ExprCodeMove($914,$915,$916,$918); - $919 = HEAP32[$v>>2]|0; - $920 = HEAP32[$regOutputRow>>2]|0; - $921 = HEAP32[$addrOutputRow>>2]|0; - (_sqlite3VdbeAddOp2($919,14,$920,$921)|0); - $922 = HEAP32[$v>>2]|0; - $923 = HEAP32[$iAbortFlag>>2]|0; - $924 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeAddOp2($922,64,$923,$924)|0); - $925 = HEAP32[$v>>2]|0; - $926 = HEAP32[$regReset>>2]|0; - $927 = HEAP32[$addrReset>>2]|0; - (_sqlite3VdbeAddOp2($925,14,$926,$927)|0); - $928 = HEAP32[$v>>2]|0; - $929 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($928,$929); - $930 = HEAP32[$1>>2]|0; - _updateAccumulator($930,$sAggInfo); - $931 = HEAP32[$v>>2]|0; - $932 = HEAP32[$iUseFlag>>2]|0; - (_sqlite3VdbeAddOp2($931,74,1,$932)|0); - $933 = HEAP32[$groupBySort>>2]|0; - $934 = ($933|0)!=(0); - if ($934) { - $935 = HEAP32[$v>>2]|0; - $936 = ((($sAggInfo)) + 4|0); - $937 = HEAP32[$936>>2]|0; - $938 = HEAP32[$addrTopOfLoop>>2]|0; - (_sqlite3VdbeAddOp2($935,3,$937,$938)|0); + $877 = HEAP32[$groupBySort>>2]|0; + $878 = ($877|0)!=(0); + if ($878) { + $879 = HEAP32[$v>>2]|0; + $880 = HEAP32[$sortPTab>>2]|0; + $881 = HEAP32[$j>>2]|0; + $882 = HEAP32[$iBMem>>2]|0; + $883 = HEAP32[$j>>2]|0; + $884 = (($882) + ($883))|0; + (_sqlite3VdbeAddOp3($879,96,$880,$881,$884)|0); } else { - $939 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($939); - $940 = HEAP32[$v>>2]|0; - $941 = HEAP32[$addrSortingIdx>>2]|0; - (_sqlite3VdbeChangeToNoop($940,$941)|0); + HEAP8[$sAggInfo>>0] = 1; + $885 = HEAP32[$1>>2]|0; + $886 = HEAP32[$j>>2]|0; + $887 = HEAP32[$pGroupBy>>2]|0; + $888 = ((($887)) + 4|0); + $889 = HEAP32[$888>>2]|0; + $890 = (($889) + (($886*20)|0)|0); + $891 = HEAP32[$890>>2]|0; + $892 = HEAP32[$iBMem>>2]|0; + $893 = HEAP32[$j>>2]|0; + $894 = (($892) + ($893))|0; + _sqlite3ExprCode($885,$891,$894); } - $942 = HEAP32[$v>>2]|0; - $943 = HEAP32[$regOutputRow>>2]|0; - $944 = HEAP32[$addrOutputRow>>2]|0; - (_sqlite3VdbeAddOp2($942,14,$943,$944)|0); - $945 = HEAP32[$v>>2]|0; - $946 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeGoto($945,$946)|0); - $947 = HEAP32[$v>>2]|0; - $948 = (_sqlite3VdbeCurrentAddr($947)|0); - HEAP32[$addrSetAbort>>2] = $948; - $949 = HEAP32[$v>>2]|0; - $950 = HEAP32[$iAbortFlag>>2]|0; - (_sqlite3VdbeAddOp2($949,74,1,$950)|0); - $951 = HEAP32[$v>>2]|0; - $952 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($951,70,$952)|0); - $953 = HEAP32[$v>>2]|0; - $954 = HEAP32[$addrOutputRow>>2]|0; - _sqlite3VdbeResolveLabel($953,$954); - $955 = HEAP32[$v>>2]|0; - $956 = (_sqlite3VdbeCurrentAddr($955)|0); - HEAP32[$addrOutputRow>>2] = $956; - $957 = HEAP32[$v>>2]|0; - $958 = HEAP32[$iUseFlag>>2]|0; - $959 = HEAP32[$addrOutputRow>>2]|0; - $960 = (($959) + 2)|0; - (_sqlite3VdbeAddOp2($957,64,$958,$960)|0); - $961 = HEAP32[$v>>2]|0; - $962 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($961,70,$962)|0); - $963 = HEAP32[$1>>2]|0; - _finalizeAggFunctions($963,$sAggInfo); - $964 = HEAP32[$1>>2]|0; - $965 = HEAP32[$pHaving>>2]|0; - $966 = HEAP32[$addrOutputRow>>2]|0; - $967 = (($966) + 1)|0; - _sqlite3ExprIfFalse($964,$965,$967,16); - $968 = HEAP32[$1>>2]|0; - $969 = HEAP32[$2>>2]|0; - $970 = HEAP32[$2>>2]|0; - $971 = HEAP32[$970>>2]|0; - $972 = HEAP32[$3>>2]|0; - $973 = HEAP32[$addrOutputRow>>2]|0; - $974 = (($973) + 1)|0; - $975 = HEAP32[$addrSetAbort>>2]|0; - _selectInnerLoop($968,$969,$971,-1,$sSort,$sDistinct,$972,$974,$975); - $976 = HEAP32[$v>>2]|0; - $977 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($976,70,$977)|0); - $978 = HEAP32[$v>>2]|0; - $979 = HEAP32[$addrReset>>2]|0; - _sqlite3VdbeResolveLabel($978,$979); - $980 = HEAP32[$1>>2]|0; - _resetAccumulator($980,$sAggInfo); - $981 = HEAP32[$v>>2]|0; - $982 = HEAP32[$regReset>>2]|0; - (_sqlite3VdbeAddOp1($981,70,$982)|0); + $895 = HEAP32[$j>>2]|0; + $896 = (($895) + 1)|0; + HEAP32[$j>>2] = $896; + } + $897 = HEAP32[$v>>2]|0; + $898 = HEAP32[$iAMem>>2]|0; + $899 = HEAP32[$iBMem>>2]|0; + $900 = HEAP32[$pGroupBy>>2]|0; + $901 = HEAP32[$900>>2]|0; + $902 = HEAP32[$pKeyInfo4>>2]|0; + $903 = (_sqlite3KeyInfoRef($902)|0); + (_sqlite3VdbeAddOp4($897,95,$898,$899,$901,$903,-6)|0); + $904 = HEAP32[$v>>2]|0; + $905 = (_sqlite3VdbeCurrentAddr($904)|0); + HEAP32[$addr1>>2] = $905; + $906 = HEAP32[$v>>2]|0; + $907 = HEAP32[$addr1>>2]|0; + $908 = (($907) + 1)|0; + $909 = HEAP32[$addr1>>2]|0; + $910 = (($909) + 1)|0; + (_sqlite3VdbeAddOp3($906,18,$908,0,$910)|0); + $911 = HEAP32[$1>>2]|0; + $912 = HEAP32[$iBMem>>2]|0; + $913 = HEAP32[$iAMem>>2]|0; + $914 = HEAP32[$pGroupBy>>2]|0; + $915 = HEAP32[$914>>2]|0; + _sqlite3ExprCodeMove($911,$912,$913,$915); + $916 = HEAP32[$v>>2]|0; + $917 = HEAP32[$regOutputRow>>2]|0; + $918 = HEAP32[$addrOutputRow>>2]|0; + (_sqlite3VdbeAddOp2($916,14,$917,$918)|0); + $919 = HEAP32[$v>>2]|0; + $920 = HEAP32[$iAbortFlag>>2]|0; + $921 = HEAP32[$addrEnd>>2]|0; + (_sqlite3VdbeAddOp2($919,66,$920,$921)|0); + $922 = HEAP32[$v>>2]|0; + $923 = HEAP32[$regReset>>2]|0; + $924 = HEAP32[$addrReset>>2]|0; + (_sqlite3VdbeAddOp2($922,14,$923,$924)|0); + $925 = HEAP32[$v>>2]|0; + $926 = HEAP32[$addr1>>2]|0; + _sqlite3VdbeJumpHere($925,$926); + $927 = HEAP32[$1>>2]|0; + _updateAccumulator($927,$sAggInfo); + $928 = HEAP32[$v>>2]|0; + $929 = HEAP32[$iUseFlag>>2]|0; + (_sqlite3VdbeAddOp2($928,76,1,$929)|0); + $930 = HEAP32[$groupBySort>>2]|0; + $931 = ($930|0)!=(0); + if ($931) { + $932 = HEAP32[$v>>2]|0; + $933 = ((($sAggInfo)) + 4|0); + $934 = HEAP32[$933>>2]|0; + $935 = HEAP32[$addrTopOfLoop>>2]|0; + (_sqlite3VdbeAddOp2($932,3,$934,$935)|0); } else { - HEAP32[$pDel>>2] = 0; - $983 = HEAP32[$2>>2]|0; - $984 = (_isSimpleCount($983,$sAggInfo)|0); - HEAP32[$pTab5>>2] = $984; - $985 = ($984|0)!=(0|0); - if ($985) { - $986 = HEAP32[$1>>2]|0; - $987 = HEAP32[$986>>2]|0; - $988 = HEAP32[$pTab5>>2]|0; - $989 = ((($988)) + 64|0); - $990 = HEAP32[$989>>2]|0; - $991 = (_sqlite3SchemaToIndex($987,$990)|0); - HEAP32[$iDb>>2] = $991; - $992 = HEAP32[$1>>2]|0; - $993 = ((($992)) + 72|0); - $994 = HEAP32[$993>>2]|0; - $995 = (($994) + 1)|0; - HEAP32[$993>>2] = $995; - HEAP32[$iCsr>>2] = $994; - HEAP32[$pKeyInfo6>>2] = 0; - HEAP32[$pBest>>2] = 0; - $996 = HEAP32[$pTab5>>2]|0; - $997 = ((($996)) + 28|0); - $998 = HEAP32[$997>>2]|0; - HEAP32[$iRoot>>2] = $998; - $999 = HEAP32[$1>>2]|0; - $1000 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($999,$1000); - $1001 = HEAP32[$1>>2]|0; - $1002 = HEAP32[$iDb>>2]|0; - $1003 = HEAP32[$pTab5>>2]|0; - $1004 = ((($1003)) + 28|0); - $1005 = HEAP32[$1004>>2]|0; - $1006 = HEAP32[$pTab5>>2]|0; - $1007 = HEAP32[$1006>>2]|0; - _sqlite3TableLock($1001,$1002,$1005,0,$1007); - $1008 = HEAP32[$pTab5>>2]|0; - $1009 = ((($1008)) + 42|0); - $1010 = HEAP8[$1009>>0]|0; - $1011 = $1010&255; - $1012 = $1011 & 32; - $1013 = ($1012|0)==(0); - if (!($1013)) { - $1014 = HEAP32[$pTab5>>2]|0; - $1015 = (_sqlite3PrimaryKeyIndex($1014)|0); - HEAP32[$pBest>>2] = $1015; + $936 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($936); + $937 = HEAP32[$v>>2]|0; + $938 = HEAP32[$addrSortingIdx>>2]|0; + (_sqlite3VdbeChangeToNoop($937,$938)|0); + } + $939 = HEAP32[$v>>2]|0; + $940 = HEAP32[$regOutputRow>>2]|0; + $941 = HEAP32[$addrOutputRow>>2]|0; + (_sqlite3VdbeAddOp2($939,14,$940,$941)|0); + $942 = HEAP32[$v>>2]|0; + $943 = HEAP32[$addrEnd>>2]|0; + (_sqlite3VdbeGoto($942,$943)|0); + $944 = HEAP32[$v>>2]|0; + $945 = (_sqlite3VdbeCurrentAddr($944)|0); + HEAP32[$addrSetAbort>>2] = $945; + $946 = HEAP32[$v>>2]|0; + $947 = HEAP32[$iAbortFlag>>2]|0; + (_sqlite3VdbeAddOp2($946,76,1,$947)|0); + $948 = HEAP32[$v>>2]|0; + $949 = HEAP32[$regOutputRow>>2]|0; + (_sqlite3VdbeAddOp1($948,72,$949)|0); + $950 = HEAP32[$v>>2]|0; + $951 = HEAP32[$addrOutputRow>>2]|0; + _sqlite3VdbeResolveLabel($950,$951); + $952 = HEAP32[$v>>2]|0; + $953 = (_sqlite3VdbeCurrentAddr($952)|0); + HEAP32[$addrOutputRow>>2] = $953; + $954 = HEAP32[$v>>2]|0; + $955 = HEAP32[$iUseFlag>>2]|0; + $956 = HEAP32[$addrOutputRow>>2]|0; + $957 = (($956) + 2)|0; + (_sqlite3VdbeAddOp2($954,66,$955,$957)|0); + $958 = HEAP32[$v>>2]|0; + $959 = HEAP32[$regOutputRow>>2]|0; + (_sqlite3VdbeAddOp1($958,72,$959)|0); + $960 = HEAP32[$1>>2]|0; + _finalizeAggFunctions($960,$sAggInfo); + $961 = HEAP32[$1>>2]|0; + $962 = HEAP32[$pHaving>>2]|0; + $963 = HEAP32[$addrOutputRow>>2]|0; + $964 = (($963) + 1)|0; + _sqlite3ExprIfFalse($961,$962,$964,16); + $965 = HEAP32[$1>>2]|0; + $966 = HEAP32[$2>>2]|0; + $967 = HEAP32[$2>>2]|0; + $968 = HEAP32[$967>>2]|0; + $969 = HEAP32[$3>>2]|0; + $970 = HEAP32[$addrOutputRow>>2]|0; + $971 = (($970) + 1)|0; + $972 = HEAP32[$addrSetAbort>>2]|0; + _selectInnerLoop($965,$966,$968,-1,$sSort,$sDistinct,$969,$971,$972); + $973 = HEAP32[$v>>2]|0; + $974 = HEAP32[$regOutputRow>>2]|0; + (_sqlite3VdbeAddOp1($973,72,$974)|0); + $975 = HEAP32[$v>>2]|0; + $976 = HEAP32[$addrReset>>2]|0; + _sqlite3VdbeResolveLabel($975,$976); + $977 = HEAP32[$1>>2]|0; + _resetAccumulator($977,$sAggInfo); + $978 = HEAP32[$v>>2]|0; + $979 = HEAP32[$regReset>>2]|0; + (_sqlite3VdbeAddOp1($978,72,$979)|0); + } else { + HEAP32[$pDel>>2] = 0; + $980 = HEAP32[$2>>2]|0; + $981 = (_isSimpleCount($980,$sAggInfo)|0); + HEAP32[$pTab5>>2] = $981; + $982 = ($981|0)!=(0|0); + if ($982) { + $983 = HEAP32[$1>>2]|0; + $984 = HEAP32[$983>>2]|0; + $985 = HEAP32[$pTab5>>2]|0; + $986 = ((($985)) + 64|0); + $987 = HEAP32[$986>>2]|0; + $988 = (_sqlite3SchemaToIndex($984,$987)|0); + HEAP32[$iDb>>2] = $988; + $989 = HEAP32[$1>>2]|0; + $990 = ((($989)) + 40|0); + $991 = HEAP32[$990>>2]|0; + $992 = (($991) + 1)|0; + HEAP32[$990>>2] = $992; + HEAP32[$iCsr>>2] = $991; + HEAP32[$pKeyInfo6>>2] = 0; + HEAP32[$pBest>>2] = 0; + $993 = HEAP32[$pTab5>>2]|0; + $994 = ((($993)) + 28|0); + $995 = HEAP32[$994>>2]|0; + HEAP32[$iRoot>>2] = $995; + $996 = HEAP32[$1>>2]|0; + $997 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($996,$997); + $998 = HEAP32[$1>>2]|0; + $999 = HEAP32[$iDb>>2]|0; + $1000 = HEAP32[$pTab5>>2]|0; + $1001 = ((($1000)) + 28|0); + $1002 = HEAP32[$1001>>2]|0; + $1003 = HEAP32[$pTab5>>2]|0; + $1004 = HEAP32[$1003>>2]|0; + _sqlite3TableLock($998,$999,$1002,0,$1004); + $1005 = HEAP32[$pTab5>>2]|0; + $1006 = ((($1005)) + 42|0); + $1007 = HEAP8[$1006>>0]|0; + $1008 = $1007&255; + $1009 = $1008 & 32; + $1010 = ($1009|0)==(0); + if (!($1010)) { + $1011 = HEAP32[$pTab5>>2]|0; + $1012 = (_sqlite3PrimaryKeyIndex($1011)|0); + HEAP32[$pBest>>2] = $1012; + } + $1013 = HEAP32[$pTab5>>2]|0; + $1014 = ((($1013)) + 8|0); + $1015 = HEAP32[$1014>>2]|0; + HEAP32[$pIdx>>2] = $1015; + while(1) { + $1016 = HEAP32[$pIdx>>2]|0; + $1017 = ($1016|0)!=(0|0); + if (!($1017)) { + break; } - $1016 = HEAP32[$pTab5>>2]|0; - $1017 = ((($1016)) + 8|0); - $1018 = HEAP32[$1017>>2]|0; - HEAP32[$pIdx>>2] = $1018; - while(1) { - $1019 = HEAP32[$pIdx>>2]|0; - $1020 = ($1019|0)!=(0|0); - if (!($1020)) { - break; - } - $1021 = HEAP32[$pIdx>>2]|0; - $1022 = ((($1021)) + 55|0); - $1023 = HEAP8[$1022>>0]|0; - $1024 = ($1023&255) >>> 2; - $1025 = $1024 & 1; - $1026 = $1025&255; - $1027 = ($1026|0)==(0); - do { - if ($1027) { - $1028 = HEAP32[$pIdx>>2]|0; - $1029 = ((($1028)) + 48|0); - $1030 = HEAP16[$1029>>1]|0; - $1031 = $1030 << 16 >> 16; - $1032 = HEAP32[$pTab5>>2]|0; - $1033 = ((($1032)) + 40|0); - $1034 = HEAP16[$1033>>1]|0; - $1035 = $1034 << 16 >> 16; - $1036 = ($1031|0)<($1035|0); - if (!($1036)) { - break; - } - $1037 = HEAP32[$pIdx>>2]|0; - $1038 = ((($1037)) + 36|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = ($1039|0)==(0|0); - if (!($1040)) { + $1018 = HEAP32[$pIdx>>2]|0; + $1019 = ((($1018)) + 55|0); + $1020 = HEAP8[$1019>>0]|0; + $1021 = ($1020&255) >>> 2; + $1022 = $1021 & 1; + $1023 = $1022&255; + $1024 = ($1023|0)==(0); + do { + if ($1024) { + $1025 = HEAP32[$pIdx>>2]|0; + $1026 = ((($1025)) + 48|0); + $1027 = HEAP16[$1026>>1]|0; + $1028 = $1027 << 16 >> 16; + $1029 = HEAP32[$pTab5>>2]|0; + $1030 = ((($1029)) + 40|0); + $1031 = HEAP16[$1030>>1]|0; + $1032 = $1031 << 16 >> 16; + $1033 = ($1028|0)<($1032|0); + if (!($1033)) { + break; + } + $1034 = HEAP32[$pIdx>>2]|0; + $1035 = ((($1034)) + 36|0); + $1036 = HEAP32[$1035>>2]|0; + $1037 = ($1036|0)==(0|0); + if (!($1037)) { + break; + } + $1038 = HEAP32[$pBest>>2]|0; + $1039 = ($1038|0)!=(0|0); + if ($1039) { + $1040 = HEAP32[$pIdx>>2]|0; + $1041 = ((($1040)) + 48|0); + $1042 = HEAP16[$1041>>1]|0; + $1043 = $1042 << 16 >> 16; + $1044 = HEAP32[$pBest>>2]|0; + $1045 = ((($1044)) + 48|0); + $1046 = HEAP16[$1045>>1]|0; + $1047 = $1046 << 16 >> 16; + $1048 = ($1043|0)<($1047|0); + if (!($1048)) { break; } - $1041 = HEAP32[$pBest>>2]|0; - $1042 = ($1041|0)!=(0|0); - if ($1042) { - $1043 = HEAP32[$pIdx>>2]|0; - $1044 = ((($1043)) + 48|0); - $1045 = HEAP16[$1044>>1]|0; - $1046 = $1045 << 16 >> 16; - $1047 = HEAP32[$pBest>>2]|0; - $1048 = ((($1047)) + 48|0); - $1049 = HEAP16[$1048>>1]|0; - $1050 = $1049 << 16 >> 16; - $1051 = ($1046|0)<($1050|0); - if (!($1051)) { - break; - } - } - $1052 = HEAP32[$pIdx>>2]|0; - HEAP32[$pBest>>2] = $1052; } - } while(0); - $1053 = HEAP32[$pIdx>>2]|0; - $1054 = ((($1053)) + 20|0); - $1055 = HEAP32[$1054>>2]|0; - HEAP32[$pIdx>>2] = $1055; - } - $1056 = HEAP32[$pBest>>2]|0; - $1057 = ($1056|0)!=(0|0); - if ($1057) { - $1058 = HEAP32[$pBest>>2]|0; - $1059 = ((($1058)) + 44|0); - $1060 = HEAP32[$1059>>2]|0; - HEAP32[$iRoot>>2] = $1060; - $1061 = HEAP32[$1>>2]|0; - $1062 = HEAP32[$pBest>>2]|0; - $1063 = (_sqlite3KeyInfoOfIndex($1061,$1062)|0); - HEAP32[$pKeyInfo6>>2] = $1063; - } - $1064 = HEAP32[$v>>2]|0; - $1065 = HEAP32[$iCsr>>2]|0; - $1066 = HEAP32[$iRoot>>2]|0; - $1067 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp4Int($1064,102,$1065,$1066,$1067,1)|0); + $1049 = HEAP32[$pIdx>>2]|0; + HEAP32[$pBest>>2] = $1049; + } + } while(0); + $1050 = HEAP32[$pIdx>>2]|0; + $1051 = ((($1050)) + 20|0); + $1052 = HEAP32[$1051>>2]|0; + HEAP32[$pIdx>>2] = $1052; + } + $1053 = HEAP32[$pBest>>2]|0; + $1054 = ($1053|0)!=(0|0); + if ($1054) { + $1055 = HEAP32[$pBest>>2]|0; + $1056 = ((($1055)) + 44|0); + $1057 = HEAP32[$1056>>2]|0; + HEAP32[$iRoot>>2] = $1057; + $1058 = HEAP32[$1>>2]|0; + $1059 = HEAP32[$pBest>>2]|0; + $1060 = (_sqlite3KeyInfoOfIndex($1058,$1059)|0); + HEAP32[$pKeyInfo6>>2] = $1060; + } + $1061 = HEAP32[$v>>2]|0; + $1062 = HEAP32[$iCsr>>2]|0; + $1063 = HEAP32[$iRoot>>2]|0; + $1064 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp4Int($1061,104,$1062,$1063,$1064,1)|0); + $1065 = HEAP32[$pKeyInfo6>>2]|0; + $1066 = ($1065|0)!=(0|0); + if ($1066) { + $1067 = HEAP32[$v>>2]|0; $1068 = HEAP32[$pKeyInfo6>>2]|0; - $1069 = ($1068|0)!=(0|0); - if ($1069) { - $1070 = HEAP32[$v>>2]|0; - $1071 = HEAP32[$pKeyInfo6>>2]|0; - _sqlite3VdbeChangeP4($1070,-1,$1071,-6); - } - $1072 = HEAP32[$v>>2]|0; - $1073 = HEAP32[$iCsr>>2]|0; - $1074 = ((($sAggInfo)) + 40|0); - $1075 = HEAP32[$1074>>2]|0; - $1076 = ((($1075)) + 8|0); - $1077 = HEAP32[$1076>>2]|0; - (_sqlite3VdbeAddOp2($1072,98,$1073,$1077)|0); - $1078 = HEAP32[$v>>2]|0; - $1079 = HEAP32[$iCsr>>2]|0; - (_sqlite3VdbeAddOp1($1078,109,$1079)|0); - $1080 = HEAP32[$1>>2]|0; - $1081 = HEAP32[$pTab5>>2]|0; - $1082 = HEAP32[$pBest>>2]|0; - _explainSimpleCount($1080,$1081,$1082); - } else { - HEAP32[$pMinMax>>2] = 0; - HEAP8[$flag>>0] = 0; - $1083 = HEAP32[$2>>2]|0; - $1084 = ((($1083)) + 40|0); - $1085 = HEAP32[$1084>>2]|0; - $1086 = ($1085|0)==(0|0); + _sqlite3VdbeChangeP4($1067,-1,$1068,-6); + } + $1069 = HEAP32[$v>>2]|0; + $1070 = HEAP32[$iCsr>>2]|0; + $1071 = ((($sAggInfo)) + 40|0); + $1072 = HEAP32[$1071>>2]|0; + $1073 = ((($1072)) + 8|0); + $1074 = HEAP32[$1073>>2]|0; + (_sqlite3VdbeAddOp2($1069,100,$1070,$1074)|0); + $1075 = HEAP32[$v>>2]|0; + $1076 = HEAP32[$iCsr>>2]|0; + (_sqlite3VdbeAddOp1($1075,111,$1076)|0); + $1077 = HEAP32[$1>>2]|0; + $1078 = HEAP32[$pTab5>>2]|0; + $1079 = HEAP32[$pBest>>2]|0; + _explainSimpleCount($1077,$1078,$1079); + } else { + HEAP32[$pMinMax>>2] = 0; + HEAP8[$flag>>0] = 0; + $1080 = HEAP32[$2>>2]|0; + $1081 = ((($1080)) + 40|0); + $1082 = HEAP32[$1081>>2]|0; + $1083 = ($1082|0)==(0|0); + if ($1083) { + $1084 = (_minMaxQuery($sAggInfo,$pMinMax)|0); + HEAP8[$flag>>0] = $1084; + } + $1085 = HEAP8[$flag>>0]|0; + $1086 = ($1085<<24>>24)!=(0); + do { if ($1086) { - $1087 = (_minMaxQuery($sAggInfo,$pMinMax)|0); - HEAP8[$flag>>0] = $1087; - } - $1088 = HEAP8[$flag>>0]|0; - $1089 = ($1088<<24>>24)!=(0); - do { - if ($1089) { - $1090 = HEAP32[$db>>2]|0; - $1091 = HEAP32[$pMinMax>>2]|0; - $1092 = (_sqlite3ExprListDup($1090,$1091,0)|0); - HEAP32[$pMinMax>>2] = $1092; - $1093 = HEAP32[$pMinMax>>2]|0; - HEAP32[$pDel>>2] = $1093; - $1094 = HEAP32[$db>>2]|0; - $1095 = ((($1094)) + 69|0); - $1096 = HEAP8[$1095>>0]|0; - $1097 = ($1096<<24>>24)!=(0); - if ($1097) { - break; - } - $1098 = HEAP8[$flag>>0]|0; - $1099 = $1098&255; - $1100 = ($1099|0)!=(1); - $1101 = $1100 ? 1 : 0; - $1102 = $1101&255; - $1103 = HEAP32[$pMinMax>>2]|0; - $1104 = ((($1103)) + 4|0); - $1105 = HEAP32[$1104>>2]|0; - $1106 = ((($1105)) + 12|0); - HEAP8[$1106>>0] = $1102; - $1107 = HEAP32[$pMinMax>>2]|0; - $1108 = ((($1107)) + 4|0); - $1109 = HEAP32[$1108>>2]|0; - $1110 = HEAP32[$1109>>2]|0; - HEAP8[$1110>>0] = -104; + $1087 = HEAP32[$db>>2]|0; + $1088 = HEAP32[$pMinMax>>2]|0; + $1089 = (_sqlite3ExprListDup($1087,$1088,0)|0); + HEAP32[$pMinMax>>2] = $1089; + $1090 = HEAP32[$pMinMax>>2]|0; + HEAP32[$pDel>>2] = $1090; + $1091 = HEAP32[$db>>2]|0; + $1092 = ((($1091)) + 69|0); + $1093 = HEAP8[$1092>>0]|0; + $1094 = ($1093<<24>>24)!=(0); + if ($1094) { + break; } - } while(0); - $1111 = HEAP32[$1>>2]|0; - _resetAccumulator($1111,$sAggInfo); - $1112 = HEAP32[$1>>2]|0; - $1113 = HEAP32[$pTabList>>2]|0; - $1114 = HEAP32[$pWhere>>2]|0; - $1115 = HEAP32[$pMinMax>>2]|0; - $1116 = HEAP8[$flag>>0]|0; - $1117 = $1116&255; - $1118 = (_sqlite3WhereBegin($1112,$1113,$1114,$1115,0,$1117,0)|0); - HEAP32[$pWInfo>>2] = $1118; - $1119 = HEAP32[$pWInfo>>2]|0; - $1120 = ($1119|0)==(0|0); - if ($1120) { - $1121 = HEAP32[$db>>2]|0; - $1122 = HEAP32[$pDel>>2]|0; - _sqlite3ExprListDelete($1121,$1122); - break; - } - $1123 = HEAP32[$1>>2]|0; - _updateAccumulator($1123,$sAggInfo); - $1124 = HEAP32[$pWInfo>>2]|0; - $1125 = (_sqlite3WhereIsOrdered($1124)|0); - $1126 = ($1125|0)>(0); - if ($1126) { - $1127 = HEAP32[$v>>2]|0; - $1128 = HEAP32[$pWInfo>>2]|0; - $1129 = (_sqlite3WhereBreakLabel($1128)|0); - (_sqlite3VdbeGoto($1127,$1129)|0); + $1095 = HEAP8[$flag>>0]|0; + $1096 = $1095&255; + $1097 = ($1096|0)!=(1); + $1098 = $1097 ? 1 : 0; + $1099 = $1098&255; + $1100 = HEAP32[$pMinMax>>2]|0; + $1101 = ((($1100)) + 4|0); + $1102 = HEAP32[$1101>>2]|0; + $1103 = ((($1102)) + 12|0); + HEAP8[$1103>>0] = $1099; + $1104 = HEAP32[$pMinMax>>2]|0; + $1105 = ((($1104)) + 4|0); + $1106 = HEAP32[$1105>>2]|0; + $1107 = HEAP32[$1106>>2]|0; + HEAP8[$1107>>0] = -104; } - $1130 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($1130); - $1131 = HEAP32[$1>>2]|0; - _finalizeAggFunctions($1131,$sAggInfo); + } while(0); + $1108 = HEAP32[$1>>2]|0; + _resetAccumulator($1108,$sAggInfo); + $1109 = HEAP32[$1>>2]|0; + $1110 = HEAP32[$pTabList>>2]|0; + $1111 = HEAP32[$pWhere>>2]|0; + $1112 = HEAP32[$pMinMax>>2]|0; + $1113 = HEAP8[$flag>>0]|0; + $1114 = $1113&255; + $1115 = (_sqlite3WhereBegin($1109,$1110,$1111,$1112,0,$1114,0)|0); + HEAP32[$pWInfo>>2] = $1115; + $1116 = HEAP32[$pWInfo>>2]|0; + $1117 = ($1116|0)==(0|0); + if ($1117) { + $1118 = HEAP32[$db>>2]|0; + $1119 = HEAP32[$pDel>>2]|0; + _sqlite3ExprListDelete($1118,$1119); + break; } - HEAP32[$sSort>>2] = 0; - $1132 = HEAP32[$1>>2]|0; - $1133 = HEAP32[$pHaving>>2]|0; - $1134 = HEAP32[$addrEnd>>2]|0; - _sqlite3ExprIfFalse($1132,$1133,$1134,16); - $1135 = HEAP32[$1>>2]|0; - $1136 = HEAP32[$2>>2]|0; - $1137 = HEAP32[$2>>2]|0; - $1138 = HEAP32[$1137>>2]|0; - $1139 = HEAP32[$3>>2]|0; - $1140 = HEAP32[$addrEnd>>2]|0; - $1141 = HEAP32[$addrEnd>>2]|0; - _selectInnerLoop($1135,$1136,$1138,-1,0,0,$1139,$1140,$1141); - $1142 = HEAP32[$db>>2]|0; - $1143 = HEAP32[$pDel>>2]|0; - _sqlite3ExprListDelete($1142,$1143); + $1120 = HEAP32[$1>>2]|0; + _updateAccumulator($1120,$sAggInfo); + $1121 = HEAP32[$pWInfo>>2]|0; + $1122 = (_sqlite3WhereIsOrdered($1121)|0); + $1123 = ($1122|0)>(0); + if ($1123) { + $1124 = HEAP32[$v>>2]|0; + $1125 = HEAP32[$pWInfo>>2]|0; + $1126 = (_sqlite3WhereBreakLabel($1125)|0); + (_sqlite3VdbeGoto($1124,$1126)|0); + } + $1127 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($1127); + $1128 = HEAP32[$1>>2]|0; + _finalizeAggFunctions($1128,$sAggInfo); } - $1144 = HEAP32[$v>>2]|0; - $1145 = HEAP32[$addrEnd>>2]|0; - _sqlite3VdbeResolveLabel($1144,$1145); - } - $1146 = ((($sDistinct)) + 1|0); - $1147 = HEAP8[$1146>>0]|0; - $1148 = $1147&255; - $1149 = ($1148|0)==(3); - if ($1149) { - $1150 = HEAP32[$1>>2]|0; - _explainTempTable($1150,36134); + HEAP32[$sSort>>2] = 0; + $1129 = HEAP32[$1>>2]|0; + $1130 = HEAP32[$pHaving>>2]|0; + $1131 = HEAP32[$addrEnd>>2]|0; + _sqlite3ExprIfFalse($1129,$1130,$1131,16); + $1132 = HEAP32[$1>>2]|0; + $1133 = HEAP32[$2>>2]|0; + $1134 = HEAP32[$2>>2]|0; + $1135 = HEAP32[$1134>>2]|0; + $1136 = HEAP32[$3>>2]|0; + $1137 = HEAP32[$addrEnd>>2]|0; + $1138 = HEAP32[$addrEnd>>2]|0; + _selectInnerLoop($1132,$1133,$1135,-1,0,0,$1136,$1137,$1138); + $1139 = HEAP32[$db>>2]|0; + $1140 = HEAP32[$pDel>>2]|0; + _sqlite3ExprListDelete($1139,$1140); } - $1151 = HEAP32[$sSort>>2]|0; - $1152 = ($1151|0)!=(0|0); - if ($1152) { - $1153 = HEAP32[$1>>2]|0; - $1154 = ((($sSort)) + 4|0); - $1155 = HEAP32[$1154>>2]|0; - $1156 = ($1155|0)>(0); - $1157 = $1156 ? 36152 : 36175; - _explainTempTable($1153,$1157); - $1158 = HEAP32[$1>>2]|0; - $1159 = HEAP32[$2>>2]|0; - $1160 = HEAP32[$pEList>>2]|0; - $1161 = HEAP32[$1160>>2]|0; - $1162 = HEAP32[$3>>2]|0; - _generateSortTail($1158,$1159,$sSort,$1161,$1162); - } - $1163 = HEAP32[$v>>2]|0; - $1164 = HEAP32[$iEnd>>2]|0; - _sqlite3VdbeResolveLabel($1163,$1164); - $1165 = HEAP32[$1>>2]|0; - $1166 = ((($1165)) + 68|0); - $1167 = HEAP32[$1166>>2]|0; - $1168 = ($1167|0)>(0); - $1169 = $1168&1; - HEAP32[$rc>>2] = $1169; + $1141 = HEAP32[$v>>2]|0; + $1142 = HEAP32[$addrEnd>>2]|0; + _sqlite3VdbeResolveLabel($1141,$1142); + } + $1143 = ((($sDistinct)) + 1|0); + $1144 = HEAP8[$1143>>0]|0; + $1145 = $1144&255; + $1146 = ($1145|0)==(3); + if ($1146) { + $1147 = HEAP32[$1>>2]|0; + _explainTempTable($1147,35649); } + $1148 = HEAP32[$sSort>>2]|0; + $1149 = ($1148|0)!=(0|0); + if ($1149) { + $1150 = HEAP32[$1>>2]|0; + $1151 = ((($sSort)) + 4|0); + $1152 = HEAP32[$1151>>2]|0; + $1153 = ($1152|0)>(0); + $1154 = $1153 ? 35667 : 35690; + _explainTempTable($1150,$1154); + $1155 = HEAP32[$1>>2]|0; + $1156 = HEAP32[$2>>2]|0; + $1157 = HEAP32[$pEList>>2]|0; + $1158 = HEAP32[$1157>>2]|0; + $1159 = HEAP32[$3>>2]|0; + _generateSortTail($1155,$1156,$sSort,$1158,$1159); + } + $1160 = HEAP32[$v>>2]|0; + $1161 = HEAP32[$iEnd>>2]|0; + _sqlite3VdbeResolveLabel($1160,$1161); + $1162 = HEAP32[$1>>2]|0; + $1163 = ((($1162)) + 36|0); + $1164 = HEAP32[$1163>>2]|0; + $1165 = ($1164|0)>(0); + $1166 = $1165&1; + HEAP32[$rc>>2] = $1166; } } } } while(0); - $1170 = HEAP32[$iRestoreSelectId>>2]|0; - $1171 = HEAP32[$1>>2]|0; - $1172 = ((($1171)) + 468|0); - HEAP32[$1172>>2] = $1170; - $1173 = HEAP32[$rc>>2]|0; - $1174 = ($1173|0)==(0); - if ($1174) { - $1175 = HEAP32[$3>>2]|0; - $1176 = HEAP8[$1175>>0]|0; - $1177 = $1176&255; - $1178 = ($1177|0)==(9); - if ($1178) { - $1179 = HEAP32[$1>>2]|0; - $1180 = HEAP32[$pTabList>>2]|0; - $1181 = HEAP32[$pEList>>2]|0; - _generateColumnNames($1179,$1180,$1181); - } - } + $1167 = HEAP32[$iRestoreSelectId>>2]|0; + $1168 = HEAP32[$1>>2]|0; + $1169 = ((($1168)) + 420|0); + HEAP32[$1169>>2] = $1167; + $1170 = HEAP32[$rc>>2]|0; + $1171 = ($1170|0)==(0); + if ($1171) { + $1172 = HEAP32[$3>>2]|0; + $1173 = HEAP8[$1172>>0]|0; + $1174 = $1173&255; + $1175 = ($1174|0)==(9); + if ($1175) { + $1176 = HEAP32[$1>>2]|0; + $1177 = HEAP32[$pTabList>>2]|0; + $1178 = HEAP32[$pEList>>2]|0; + _generateColumnNames($1176,$1177,$1178); + } + } + $1179 = HEAP32[$db>>2]|0; + $1180 = ((($sAggInfo)) + 28|0); + $1181 = HEAP32[$1180>>2]|0; + _sqlite3DbFree($1179,$1181); $1182 = HEAP32[$db>>2]|0; - $1183 = ((($sAggInfo)) + 28|0); + $1183 = ((($sAggInfo)) + 40|0); $1184 = HEAP32[$1183>>2]|0; _sqlite3DbFree($1182,$1184); - $1185 = HEAP32[$db>>2]|0; - $1186 = ((($sAggInfo)) + 40|0); - $1187 = HEAP32[$1186>>2]|0; - _sqlite3DbFree($1185,$1187); - $1188 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $1188; - $1189 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1189|0); + $1185 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $1185; + $1186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1186|0); } } } HEAP32[$0>>2] = 1; - $1189 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1189|0); + $1186 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1186|0); } function _parserDoubleLinkSelect($pParse,$p) { $pParse = $pParse|0; @@ -118219,7 +119004,7 @@ function _parserDoubleLinkSelect($pParse,$p) { } $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 92|0); + $29 = ((($28)) + 96|0); $30 = ((($29)) + 16|0); $31 = HEAP32[$30>>2]|0; HEAP32[$mxSelect>>2] = $31; @@ -118234,7 +119019,7 @@ function _parserDoubleLinkSelect($pParse,$p) { STACKTOP = sp;return; } $36 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($36,36060,$vararg_buffer); + _sqlite3ErrorMsg($36,35575,$vararg_buffer); STACKTOP = sp;return; } function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pSubquery,$pOn,$pUsing) { @@ -118289,9 +119074,9 @@ function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pS $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$7>>2]|0; $19 = ($18|0)!=(0|0); - $20 = $19 ? 36015 : 36018; + $20 = $19 ? 35530 : 35533; HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorMsg($17,36024,$vararg_buffer); + _sqlite3ErrorMsg($17,35539,$vararg_buffer); } else { label = 4; } @@ -118417,7 +119202,7 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr if ($17) { $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$db>>2]|0; - $20 = (_sqlite3Expr($19,158,0)|0); + $20 = (_sqlite3Expr($19,160,0)|0); $21 = (_sqlite3ExprListAppend($18,0,$20)|0); HEAP32[$1>>2] = $21; } @@ -119110,7 +119895,7 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$j>>2]|0; - $24 = (35859 + (($23*3)|0)|0); + $24 = (35374 + (($23*3)|0)|0); $25 = ((($24)) + 1|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; @@ -119119,10 +119904,10 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { $29 = HEAP32[$p>>2]|0; $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$j>>2]|0; - $32 = (35859 + (($31*3)|0)|0); + $32 = (35374 + (($31*3)|0)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; - $35 = (35880 + ($34)|0); + $35 = (35395 + ($34)|0); $36 = HEAP32[$p>>2]|0; $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; @@ -119140,7 +119925,7 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { if ((label|0) == 8) { label = 0; $41 = HEAP32[$j>>2]|0; - $42 = (35859 + (($41*3)|0)|0); + $42 = (35374 + (($41*3)|0)|0); $43 = ((($42)) + 2|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; @@ -119186,13 +119971,13 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { STACKTOP = sp;return ($78|0); } $77 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($77,35960,$vararg_buffer4); + _sqlite3ErrorMsg($77,35475,$vararg_buffer4); HEAP32[$jointype>>2] = 1; $78 = HEAP32[$jointype>>2]|0; STACKTOP = sp;return ($78|0); } } - HEAP32[$zSp>>2] = 35914; + HEAP32[$zSp>>2] = 35429; $62 = HEAP32[$3>>2]|0; $63 = ($62|0)==(0|0); if ($63) { @@ -119212,7 +119997,7 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { HEAP32[$vararg_ptr2>>2] = $69; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $70; - _sqlite3ErrorMsg($66,35916,$vararg_buffer); + _sqlite3ErrorMsg($66,35431,$vararg_buffer); HEAP32[$jointype>>2] = 1; $78 = HEAP32[$jointype>>2]|0; STACKTOP = sp;return ($78|0); @@ -119267,14 +120052,14 @@ function _sqlite3WithPush($pParse,$pWith,$bFree) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 536|0); + $6 = ((($5)) + 472|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = ((($8)) + 4|0); HEAP32[$9>>2] = $7; $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 536|0); + $12 = ((($11)) + 472|0); HEAP32[$12>>2] = $10; $13 = HEAP8[$2>>0]|0; $14 = ($13<<24>>24)!=(0); @@ -119283,7 +120068,7 @@ function _sqlite3WithPush($pParse,$pWith,$bFree) { } $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 540|0); + $17 = ((($16)) + 476|0); HEAP32[$17>>2] = $15; STACKTOP = sp;return; } @@ -119314,19 +120099,18 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aToOpen = 0, $addrBypass = 0; - var $addrEphOpen = 0, $addrLoop = 0, $aiCurOnePass = 0, $bComplex = 0, $count = 0, $db = 0, $eOnePass = 0, $i = 0, $iAddrOnce = 0, $iDataCur = 0, $iDb = 0, $iEphCur = 0, $iIdxCur = 0, $iIdxNoSeek = 0, $iKey = 0, $iPk = 0, $iRowSet = 0, $iTabCur = 0, $isView = 0, $memCnt = 0; - var $nIdx = 0, $nKey = 0, $nPk = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, $pIdx = 0, $pPk = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $pWInfo = 0, $rcauth = 0, $sContext = 0, $sNC = 0, $v = 0, $wcf = 0, $zDb = 0, label = 0, sp = 0; + var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aToOpen = 0, $addrBypass = 0, $addrEphOpen = 0; + var $addrLoop = 0, $aiCurOnePass = 0, $bComplex = 0, $count = 0, $db = 0, $eOnePass = 0, $i = 0, $iAddrOnce = 0, $iDataCur = 0, $iDb = 0, $iEphCur = 0, $iIdxCur = 0, $iIdxNoSeek = 0, $iKey = 0, $iPk = 0, $iRowSet = 0, $iTabCur = 0, $isView = 0, $memCnt = 0, $nIdx = 0; + var $nKey = 0, $nPk = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, $pIdx = 0, $pPk = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $pWInfo = 0, $rcauth = 0, $sContext = 0, $sNC = 0, $v = 0, $wcf = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; - $0 = sp + 180|0; - $1 = sp + 176|0; - $2 = sp + 172|0; - $v = sp + 168|0; - $pTab = sp + 164|0; - $zDb = sp + 160|0; + $0 = sp + 176|0; + $1 = sp + 172|0; + $2 = sp + 168|0; + $v = sp + 164|0; + $pTab = sp + 160|0; $i = sp + 156|0; $pWInfo = sp + 152|0; $pIdx = sp + 148|0; @@ -119345,9 +120129,9 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $aToOpen = sp + 60|0; $pPk = sp + 56|0; $iPk = sp + 52|0; - $nPk = sp + 188|0; + $nPk = sp + 184|0; $iKey = sp + 48|0; - $nKey = sp + 186|0; + $nKey = sp + 182|0; $iEphCur = sp + 44|0; $iRowSet = sp + 40|0; $addrBypass = sp + 36|0; @@ -119356,7 +120140,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $bComplex = sp + 24|0; $isView = sp + 20|0; $pTrigger = sp + 16|0; - $wcf = sp + 184|0; + $wcf = sp + 180|0; $iAddrOnce = sp + 12|0; $pVTab = sp + 8|0; $count = sp + 4|0; @@ -119380,7 +120164,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 68|0); + $6 = ((($5)) + 36|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0); L1: do { @@ -119440,731 +120224,729 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $49 = HEAP32[$48>>2]|0; $50 = (_sqlite3SchemaToIndex($46,$49)|0); HEAP32[$iDb>>2] = $50; - $51 = HEAP32[$iDb>>2]|0; - $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($51<<4)|0); - $56 = HEAP32[$55>>2]|0; - HEAP32[$zDb>>2] = $56; - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$pTab>>2]|0; + $51 = HEAP32[$0>>2]|0; + $52 = HEAP32[$pTab>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$iDb>>2]|0; + $55 = HEAP32[$db>>2]|0; + $56 = ((($55)) + 16|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + ($54<<4)|0); $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$zDb>>2]|0; - $61 = (_sqlite3AuthCheck($57,9,$59,0,$60)|0); - HEAP32[$rcauth>>2] = $61; - $62 = HEAP32[$rcauth>>2]|0; - $63 = ($62|0)==(1); - if (!($63)) { - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 72|0); - $66 = HEAP32[$65>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$65>>2] = $67; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 8|0); - $70 = ((($69)) + 44|0); - HEAP32[$70>>2] = $66; - HEAP32[$iTabCur>>2] = $66; + $60 = (_sqlite3AuthCheck($51,9,$53,0,$59)|0); + HEAP32[$rcauth>>2] = $60; + $61 = HEAP32[$rcauth>>2]|0; + $62 = ($61|0)==(1); + if (!($62)) { + $63 = HEAP32[$0>>2]|0; + $64 = ((($63)) + 40|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$64>>2] = $66; + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 8|0); + $69 = ((($68)) + 44|0); + HEAP32[$69>>2] = $65; + HEAP32[$iTabCur>>2] = $65; HEAP32[$nIdx>>2] = 0; - $71 = HEAP32[$pTab>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - HEAP32[$pIdx>>2] = $73; + $70 = HEAP32[$pTab>>2]|0; + $71 = ((($70)) + 8|0); + $72 = HEAP32[$71>>2]|0; + HEAP32[$pIdx>>2] = $72; while(1) { - $74 = HEAP32[$pIdx>>2]|0; - $75 = ($74|0)!=(0|0); - if (!($75)) { + $73 = HEAP32[$pIdx>>2]|0; + $74 = ($73|0)!=(0|0); + if (!($74)) { break; } - $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 72|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + 1)|0; - HEAP32[$77>>2] = $79; - $80 = HEAP32[$pIdx>>2]|0; - $81 = ((($80)) + 20|0); - $82 = HEAP32[$81>>2]|0; - HEAP32[$pIdx>>2] = $82; - $83 = HEAP32[$nIdx>>2]|0; - $84 = (($83) + 1)|0; - HEAP32[$nIdx>>2] = $84; + $75 = HEAP32[$0>>2]|0; + $76 = ((($75)) + 40|0); + $77 = HEAP32[$76>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$76>>2] = $78; + $79 = HEAP32[$pIdx>>2]|0; + $80 = ((($79)) + 20|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$pIdx>>2] = $81; + $82 = HEAP32[$nIdx>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$nIdx>>2] = $83; } - $85 = HEAP32[$isView>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$0>>2]|0; - $88 = HEAP32[$pTab>>2]|0; - $89 = HEAP32[$88>>2]|0; - _sqlite3AuthContextPush($87,$sContext,$89); + $84 = HEAP32[$isView>>2]|0; + $85 = ($84|0)!=(0); + if ($85) { + $86 = HEAP32[$0>>2]|0; + $87 = HEAP32[$pTab>>2]|0; + $88 = HEAP32[$87>>2]|0; + _sqlite3AuthContextPush($86,$sContext,$88); } - $90 = HEAP32[$0>>2]|0; - $91 = (_sqlite3GetVdbe($90)|0); - HEAP32[$v>>2] = $91; - $92 = HEAP32[$v>>2]|0; - $93 = ($92|0)==(0|0); - if (!($93)) { - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 18|0); - $96 = HEAP8[$95>>0]|0; - $97 = $96&255; - $98 = ($97|0)==(0); - if ($98) { - $99 = HEAP32[$v>>2]|0; - _sqlite3VdbeCountChanges($99); + $89 = HEAP32[$0>>2]|0; + $90 = (_sqlite3GetVdbe($89)|0); + HEAP32[$v>>2] = $90; + $91 = HEAP32[$v>>2]|0; + $92 = ($91|0)==(0|0); + if (!($92)) { + $93 = HEAP32[$0>>2]|0; + $94 = ((($93)) + 18|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = ($96|0)==(0); + if ($97) { + $98 = HEAP32[$v>>2]|0; + _sqlite3VdbeCountChanges($98); } - $100 = HEAP32[$0>>2]|0; - $101 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($100,1,$101); - $102 = HEAP32[$isView>>2]|0; - $103 = ($102|0)!=(0); - if ($103) { - $104 = HEAP32[$0>>2]|0; - $105 = HEAP32[$pTab>>2]|0; - $106 = HEAP32[$2>>2]|0; + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$iDb>>2]|0; + _sqlite3BeginWriteOperation($99,1,$100); + $101 = HEAP32[$isView>>2]|0; + $102 = ($101|0)!=(0); + if ($102) { + $103 = HEAP32[$0>>2]|0; + $104 = HEAP32[$pTab>>2]|0; + $105 = HEAP32[$2>>2]|0; + $106 = HEAP32[$iTabCur>>2]|0; + _sqlite3MaterializeView($103,$104,$105,$106); $107 = HEAP32[$iTabCur>>2]|0; - _sqlite3MaterializeView($104,$105,$106,$107); - $108 = HEAP32[$iTabCur>>2]|0; - HEAP32[$iIdxCur>>2] = $108; - HEAP32[$iDataCur>>2] = $108; + HEAP32[$iIdxCur>>2] = $107; + HEAP32[$iDataCur>>2] = $107; } ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $109 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $109; - $110 = HEAP32[$1>>2]|0; - $111 = ((($sNC)) + 4|0); - HEAP32[$111>>2] = $110; - $112 = HEAP32[$2>>2]|0; - $113 = (_sqlite3ResolveExprNames($sNC,$112)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - $115 = HEAP32[$db>>2]|0; - $116 = ((($115)) + 24|0); - $117 = HEAP32[$116>>2]|0; - $118 = $117 & 128; - $119 = ($118|0)!=(0); - if ($119) { - $120 = HEAP32[$0>>2]|0; - $121 = ((($120)) + 76|0); - $122 = HEAP32[$121>>2]|0; - $123 = (($122) + 1)|0; - HEAP32[$121>>2] = $123; - HEAP32[$memCnt>>2] = $123; - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$memCnt>>2]|0; - (_sqlite3VdbeAddOp2($124,74,0,$125)|0); + $108 = HEAP32[$0>>2]|0; + HEAP32[$sNC>>2] = $108; + $109 = HEAP32[$1>>2]|0; + $110 = ((($sNC)) + 4|0); + HEAP32[$110>>2] = $109; + $111 = HEAP32[$2>>2]|0; + $112 = (_sqlite3ResolveExprNames($sNC,$111)|0); + $113 = ($112|0)!=(0); + if (!($113)) { + $114 = HEAP32[$db>>2]|0; + $115 = ((($114)) + 24|0); + $116 = HEAP32[$115>>2]|0; + $117 = $116 & 128; + $118 = ($117|0)!=(0); + if ($118) { + $119 = HEAP32[$0>>2]|0; + $120 = ((($119)) + 44|0); + $121 = HEAP32[$120>>2]|0; + $122 = (($121) + 1)|0; + HEAP32[$120>>2] = $122; + HEAP32[$memCnt>>2] = $122; + $123 = HEAP32[$v>>2]|0; + $124 = HEAP32[$memCnt>>2]|0; + (_sqlite3VdbeAddOp2($123,76,0,$124)|0); } - $126 = HEAP32[$rcauth>>2]|0; - $127 = ($126|0)==(0); - $128 = HEAP32[$2>>2]|0; - $129 = ($128|0)==(0|0); - $or$cond = $127 & $129; + $125 = HEAP32[$rcauth>>2]|0; + $126 = ($125|0)==(0); + $127 = HEAP32[$2>>2]|0; + $128 = ($127|0)==(0|0); + $or$cond = $126 & $128; $or$cond$not = $or$cond ^ 1; - $130 = HEAP32[$bComplex>>2]|0; - $131 = ($130|0)!=(0); - $or$cond3 = $or$cond$not | $131; + $129 = HEAP32[$bComplex>>2]|0; + $130 = ($129|0)!=(0); + $or$cond3 = $or$cond$not | $130; L29: do { if ($or$cond3) { label = 29; } else { - $132 = HEAP32[$pTab>>2]|0; - $133 = ((($132)) + 42|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = $135 & 16; - $137 = ($136|0)!=(0); - if ($137) { + $131 = HEAP32[$pTab>>2]|0; + $132 = ((($131)) + 42|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = $134 & 16; + $136 = ($135|0)!=(0); + if ($136) { label = 29; } else { - $138 = HEAP32[$0>>2]|0; - $139 = HEAP32[$iDb>>2]|0; - $140 = HEAP32[$pTab>>2]|0; - $141 = ((($140)) + 28|0); - $142 = HEAP32[$141>>2]|0; - $143 = HEAP32[$pTab>>2]|0; - $144 = HEAP32[$143>>2]|0; - _sqlite3TableLock($138,$139,$142,1,$144); - $145 = HEAP32[$pTab>>2]|0; - $146 = ((($145)) + 42|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = $148 & 32; - $150 = ($149|0)==(0); - if ($150) { - $151 = HEAP32[$v>>2]|0; - $152 = HEAP32[$pTab>>2]|0; - $153 = ((($152)) + 28|0); - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$iDb>>2]|0; - $156 = HEAP32[$memCnt>>2]|0; - $157 = HEAP32[$pTab>>2]|0; - $158 = HEAP32[$157>>2]|0; - (_sqlite3VdbeAddOp4($151,129,$154,$155,$156,$158,-2)|0); + $137 = HEAP32[$0>>2]|0; + $138 = HEAP32[$iDb>>2]|0; + $139 = HEAP32[$pTab>>2]|0; + $140 = ((($139)) + 28|0); + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$pTab>>2]|0; + $143 = HEAP32[$142>>2]|0; + _sqlite3TableLock($137,$138,$141,1,$143); + $144 = HEAP32[$pTab>>2]|0; + $145 = ((($144)) + 42|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = $147 & 32; + $149 = ($148|0)==(0); + if ($149) { + $150 = HEAP32[$v>>2]|0; + $151 = HEAP32[$pTab>>2]|0; + $152 = ((($151)) + 28|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$iDb>>2]|0; + $155 = HEAP32[$memCnt>>2]|0; + $156 = HEAP32[$pTab>>2]|0; + $157 = HEAP32[$156>>2]|0; + (_sqlite3VdbeAddOp4($150,131,$153,$154,$155,$157,-2)|0); } - $159 = HEAP32[$pTab>>2]|0; - $160 = ((($159)) + 8|0); - $161 = HEAP32[$160>>2]|0; - HEAP32[$pIdx>>2] = $161; + $158 = HEAP32[$pTab>>2]|0; + $159 = ((($158)) + 8|0); + $160 = HEAP32[$159>>2]|0; + HEAP32[$pIdx>>2] = $160; while(1) { - $162 = HEAP32[$pIdx>>2]|0; - $163 = ($162|0)!=(0|0); - if (!($163)) { + $161 = HEAP32[$pIdx>>2]|0; + $162 = ($161|0)!=(0|0); + if (!($162)) { break L29; } - $164 = HEAP32[$v>>2]|0; - $165 = HEAP32[$pIdx>>2]|0; - $166 = ((($165)) + 44|0); - $167 = HEAP32[$166>>2]|0; - $168 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp2($164,129,$167,$168)|0); - $169 = HEAP32[$pIdx>>2]|0; - $170 = ((($169)) + 20|0); - $171 = HEAP32[$170>>2]|0; - HEAP32[$pIdx>>2] = $171; + $163 = HEAP32[$v>>2]|0; + $164 = HEAP32[$pIdx>>2]|0; + $165 = ((($164)) + 44|0); + $166 = HEAP32[$165>>2]|0; + $167 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp2($163,131,$166,$167)|0); + $168 = HEAP32[$pIdx>>2]|0; + $169 = ((($168)) + 20|0); + $170 = HEAP32[$169>>2]|0; + HEAP32[$pIdx>>2] = $170; } } } } while(0); L38: do { if ((label|0) == 29) { - HEAP16[$wcf>>1] = -32756; - $172 = ((($sNC)) + 28|0); - $173 = HEAP16[$172>>1]|0; - $174 = $173&65535; - $175 = $174 & 64; - $176 = ($175|0)!=(0); - if ($176) { + HEAP16[$wcf>>1] = 1044; + $171 = ((($sNC)) + 28|0); + $172 = HEAP16[$171>>1]|0; + $173 = $172&65535; + $174 = $173 & 64; + $175 = ($174|0)!=(0); + if ($175) { HEAP32[$bComplex>>2] = 1; } - $177 = HEAP32[$bComplex>>2]|0; - $178 = ($177|0)!=(0); - $179 = $178 ? 0 : 8192; - $180 = HEAP16[$wcf>>1]|0; - $181 = $180&65535; - $182 = $181 | $179; - $183 = $182&65535; - HEAP16[$wcf>>1] = $183; - $184 = HEAP32[$pTab>>2]|0; - $185 = ((($184)) + 42|0); - $186 = HEAP8[$185>>0]|0; - $187 = $186&255; - $188 = $187 & 32; - $189 = ($188|0)==(0); - if ($189) { + $176 = HEAP32[$bComplex>>2]|0; + $177 = ($176|0)!=(0); + $178 = $177 ? 0 : 8; + $179 = HEAP16[$wcf>>1]|0; + $180 = $179&65535; + $181 = $180 | $178; + $182 = $181&65535; + HEAP16[$wcf>>1] = $182; + $183 = HEAP32[$pTab>>2]|0; + $184 = ((($183)) + 42|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = $186 & 32; + $188 = ($187|0)==(0); + if ($188) { HEAP32[$pPk>>2] = 0; HEAP16[$nPk>>1] = 1; - $190 = HEAP32[$0>>2]|0; - $191 = ((($190)) + 76|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) + 1)|0; - HEAP32[$191>>2] = $193; - HEAP32[$iRowSet>>2] = $193; - $194 = HEAP32[$v>>2]|0; - $195 = HEAP32[$iRowSet>>2]|0; - (_sqlite3VdbeAddOp2($194,77,0,$195)|0); + $189 = HEAP32[$0>>2]|0; + $190 = ((($189)) + 44|0); + $191 = HEAP32[$190>>2]|0; + $192 = (($191) + 1)|0; + HEAP32[$190>>2] = $192; + HEAP32[$iRowSet>>2] = $192; + $193 = HEAP32[$v>>2]|0; + $194 = HEAP32[$iRowSet>>2]|0; + (_sqlite3VdbeAddOp2($193,79,0,$194)|0); } else { - $196 = HEAP32[$pTab>>2]|0; - $197 = (_sqlite3PrimaryKeyIndex($196)|0); - HEAP32[$pPk>>2] = $197; - $198 = HEAP32[$pPk>>2]|0; - $199 = ((($198)) + 50|0); - $200 = HEAP16[$199>>1]|0; - HEAP16[$nPk>>1] = $200; - $201 = HEAP32[$0>>2]|0; - $202 = ((($201)) + 76|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($203) + 1)|0; - HEAP32[$iPk>>2] = $204; - $205 = HEAP16[$nPk>>1]|0; - $206 = $205 << 16 >> 16; - $207 = HEAP32[$0>>2]|0; - $208 = ((($207)) + 76|0); - $209 = HEAP32[$208>>2]|0; - $210 = (($209) + ($206))|0; - HEAP32[$208>>2] = $210; - $211 = HEAP32[$0>>2]|0; - $212 = ((($211)) + 72|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($213) + 1)|0; - HEAP32[$212>>2] = $214; - HEAP32[$iEphCur>>2] = $213; - $215 = HEAP32[$v>>2]|0; - $216 = HEAP32[$iEphCur>>2]|0; - $217 = HEAP16[$nPk>>1]|0; - $218 = $217 << 16 >> 16; - $219 = (_sqlite3VdbeAddOp2($215,105,$216,$218)|0); - HEAP32[$addrEphOpen>>2] = $219; - $220 = HEAP32[$0>>2]|0; - $221 = HEAP32[$pPk>>2]|0; - _sqlite3VdbeSetP4KeyInfo($220,$221); + $195 = HEAP32[$pTab>>2]|0; + $196 = (_sqlite3PrimaryKeyIndex($195)|0); + HEAP32[$pPk>>2] = $196; + $197 = HEAP32[$pPk>>2]|0; + $198 = ((($197)) + 50|0); + $199 = HEAP16[$198>>1]|0; + HEAP16[$nPk>>1] = $199; + $200 = HEAP32[$0>>2]|0; + $201 = ((($200)) + 44|0); + $202 = HEAP32[$201>>2]|0; + $203 = (($202) + 1)|0; + HEAP32[$iPk>>2] = $203; + $204 = HEAP16[$nPk>>1]|0; + $205 = $204 << 16 >> 16; + $206 = HEAP32[$0>>2]|0; + $207 = ((($206)) + 44|0); + $208 = HEAP32[$207>>2]|0; + $209 = (($208) + ($205))|0; + HEAP32[$207>>2] = $209; + $210 = HEAP32[$0>>2]|0; + $211 = ((($210)) + 40|0); + $212 = HEAP32[$211>>2]|0; + $213 = (($212) + 1)|0; + HEAP32[$211>>2] = $213; + HEAP32[$iEphCur>>2] = $212; + $214 = HEAP32[$v>>2]|0; + $215 = HEAP32[$iEphCur>>2]|0; + $216 = HEAP16[$nPk>>1]|0; + $217 = $216 << 16 >> 16; + $218 = (_sqlite3VdbeAddOp2($214,107,$215,$217)|0); + HEAP32[$addrEphOpen>>2] = $218; + $219 = HEAP32[$0>>2]|0; + $220 = HEAP32[$pPk>>2]|0; + _sqlite3VdbeSetP4KeyInfo($219,$220); } - $222 = HEAP32[$0>>2]|0; - $223 = HEAP32[$1>>2]|0; - $224 = HEAP32[$2>>2]|0; - $225 = HEAP16[$wcf>>1]|0; - $226 = HEAP32[$iTabCur>>2]|0; - $227 = (($226) + 1)|0; - $228 = (_sqlite3WhereBegin($222,$223,$224,0,0,$225,$227)|0); - HEAP32[$pWInfo>>2] = $228; - $229 = HEAP32[$pWInfo>>2]|0; - $230 = ($229|0)==(0|0); - if ($230) { + $221 = HEAP32[$0>>2]|0; + $222 = HEAP32[$1>>2]|0; + $223 = HEAP32[$2>>2]|0; + $224 = HEAP16[$wcf>>1]|0; + $225 = HEAP32[$iTabCur>>2]|0; + $226 = (($225) + 1)|0; + $227 = (_sqlite3WhereBegin($221,$222,$223,0,0,$224,$226)|0); + HEAP32[$pWInfo>>2] = $227; + $228 = HEAP32[$pWInfo>>2]|0; + $229 = ($228|0)==(0|0); + if ($229) { break L1; } - $231 = HEAP32[$pWInfo>>2]|0; - $232 = (_sqlite3WhereOkOnePass($231,$aiCurOnePass)|0); - HEAP32[$eOnePass>>2] = $232; - $233 = HEAP32[$db>>2]|0; - $234 = ((($233)) + 24|0); - $235 = HEAP32[$234>>2]|0; - $236 = $235 & 128; - $237 = ($236|0)!=(0); - if ($237) { - $238 = HEAP32[$v>>2]|0; - $239 = HEAP32[$memCnt>>2]|0; - (_sqlite3VdbeAddOp2($238,89,$239,1)|0); + $230 = HEAP32[$pWInfo>>2]|0; + $231 = (_sqlite3WhereOkOnePass($230,$aiCurOnePass)|0); + HEAP32[$eOnePass>>2] = $231; + $232 = HEAP32[$db>>2]|0; + $233 = ((($232)) + 24|0); + $234 = HEAP32[$233>>2]|0; + $235 = $234 & 128; + $236 = ($235|0)!=(0); + if ($236) { + $237 = HEAP32[$v>>2]|0; + $238 = HEAP32[$memCnt>>2]|0; + (_sqlite3VdbeAddOp2($237,91,$238,1)|0); } - $240 = HEAP32[$pPk>>2]|0; - $241 = ($240|0)!=(0|0); + $239 = HEAP32[$pPk>>2]|0; + $240 = ($239|0)!=(0|0); do { - if ($241) { + if ($240) { HEAP32[$i>>2] = 0; while(1) { - $242 = HEAP32[$i>>2]|0; - $243 = HEAP16[$nPk>>1]|0; - $244 = $243 << 16 >> 16; - $245 = ($242|0)<($244|0); - if (!($245)) { + $241 = HEAP32[$i>>2]|0; + $242 = HEAP16[$nPk>>1]|0; + $243 = $242 << 16 >> 16; + $244 = ($241|0)<($243|0); + if (!($244)) { break; } - $246 = HEAP32[$v>>2]|0; - $247 = HEAP32[$pTab>>2]|0; - $248 = HEAP32[$iTabCur>>2]|0; - $249 = HEAP32[$i>>2]|0; - $250 = HEAP32[$pPk>>2]|0; - $251 = ((($250)) + 4|0); - $252 = HEAP32[$251>>2]|0; - $253 = (($252) + ($249<<1)|0); - $254 = HEAP16[$253>>1]|0; - $255 = $254 << 16 >> 16; - $256 = HEAP32[$iPk>>2]|0; - $257 = HEAP32[$i>>2]|0; - $258 = (($256) + ($257))|0; - _sqlite3ExprCodeGetColumnOfTable($246,$247,$248,$255,$258); - $259 = HEAP32[$i>>2]|0; - $260 = (($259) + 1)|0; - HEAP32[$i>>2] = $260; + $245 = HEAP32[$v>>2]|0; + $246 = HEAP32[$pTab>>2]|0; + $247 = HEAP32[$iTabCur>>2]|0; + $248 = HEAP32[$i>>2]|0; + $249 = HEAP32[$pPk>>2]|0; + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + $252 = (($251) + ($248<<1)|0); + $253 = HEAP16[$252>>1]|0; + $254 = $253 << 16 >> 16; + $255 = HEAP32[$iPk>>2]|0; + $256 = HEAP32[$i>>2]|0; + $257 = (($255) + ($256))|0; + _sqlite3ExprCodeGetColumnOfTable($245,$246,$247,$254,$257); + $258 = HEAP32[$i>>2]|0; + $259 = (($258) + 1)|0; + HEAP32[$i>>2] = $259; } - $261 = HEAP32[$iPk>>2]|0; - HEAP32[$iKey>>2] = $261; + $260 = HEAP32[$iPk>>2]|0; + HEAP32[$iKey>>2] = $260; } else { - $262 = HEAP32[$0>>2]|0; - $263 = ((($262)) + 76|0); - $264 = HEAP32[$263>>2]|0; - $265 = (($264) + 1)|0; - HEAP32[$iKey>>2] = $265; - $266 = HEAP32[$0>>2]|0; - $267 = HEAP32[$pTab>>2]|0; - $268 = HEAP32[$iTabCur>>2]|0; - $269 = HEAP32[$iKey>>2]|0; - $270 = (_sqlite3ExprCodeGetColumn($266,$267,-1,$268,$269,0)|0); - HEAP32[$iKey>>2] = $270; - $271 = HEAP32[$iKey>>2]|0; - $272 = HEAP32[$0>>2]|0; - $273 = ((($272)) + 76|0); - $274 = HEAP32[$273>>2]|0; - $275 = ($271|0)>($274|0); - if (!($275)) { + $261 = HEAP32[$0>>2]|0; + $262 = ((($261)) + 44|0); + $263 = HEAP32[$262>>2]|0; + $264 = (($263) + 1)|0; + HEAP32[$iKey>>2] = $264; + $265 = HEAP32[$0>>2]|0; + $266 = HEAP32[$pTab>>2]|0; + $267 = HEAP32[$iTabCur>>2]|0; + $268 = HEAP32[$iKey>>2]|0; + $269 = (_sqlite3ExprCodeGetColumn($265,$266,-1,$267,$268,0)|0); + HEAP32[$iKey>>2] = $269; + $270 = HEAP32[$iKey>>2]|0; + $271 = HEAP32[$0>>2]|0; + $272 = ((($271)) + 44|0); + $273 = HEAP32[$272>>2]|0; + $274 = ($270|0)>($273|0); + if (!($274)) { break; } - $276 = HEAP32[$iKey>>2]|0; - $277 = HEAP32[$0>>2]|0; - $278 = ((($277)) + 76|0); - HEAP32[$278>>2] = $276; + $275 = HEAP32[$iKey>>2]|0; + $276 = HEAP32[$0>>2]|0; + $277 = ((($276)) + 44|0); + HEAP32[$277>>2] = $275; } } while(0); - $279 = HEAP32[$eOnePass>>2]|0; - $280 = ($279|0)!=(0); + $278 = HEAP32[$eOnePass>>2]|0; + $279 = ($278|0)!=(0); do { - if ($280) { - $281 = HEAP16[$nPk>>1]|0; - HEAP16[$nKey>>1] = $281; - $282 = HEAP32[$db>>2]|0; - $283 = HEAP32[$nIdx>>2]|0; - $284 = (($283) + 2)|0; - $285 = ($284|0)<(0); - $286 = $285 << 31 >> 31; - $287 = (_sqlite3DbMallocRawNN($282,$284,$286)|0); - HEAP32[$aToOpen>>2] = $287; - $288 = HEAP32[$aToOpen>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - $290 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($290); + if ($279) { + $280 = HEAP16[$nPk>>1]|0; + HEAP16[$nKey>>1] = $280; + $281 = HEAP32[$db>>2]|0; + $282 = HEAP32[$nIdx>>2]|0; + $283 = (($282) + 2)|0; + $284 = ($283|0)<(0); + $285 = $284 << 31 >> 31; + $286 = (_sqlite3DbMallocRawNN($281,$283,$285)|0); + HEAP32[$aToOpen>>2] = $286; + $287 = HEAP32[$aToOpen>>2]|0; + $288 = ($287|0)==(0|0); + if ($288) { + $289 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($289); break L1; } - $291 = HEAP32[$aToOpen>>2]|0; - $292 = HEAP32[$nIdx>>2]|0; - $293 = (($292) + 1)|0; - _memset(($291|0),1,($293|0))|0; - $294 = HEAP32[$nIdx>>2]|0; - $295 = (($294) + 1)|0; - $296 = HEAP32[$aToOpen>>2]|0; - $297 = (($296) + ($295)|0); - HEAP8[$297>>0] = 0; - $298 = HEAP32[$aiCurOnePass>>2]|0; - $299 = ($298|0)>=(0); - if ($299) { - $300 = HEAP32[$aiCurOnePass>>2]|0; - $301 = HEAP32[$iTabCur>>2]|0; - $302 = (($300) - ($301))|0; - $303 = HEAP32[$aToOpen>>2]|0; - $304 = (($303) + ($302)|0); - HEAP8[$304>>0] = 0; + $290 = HEAP32[$aToOpen>>2]|0; + $291 = HEAP32[$nIdx>>2]|0; + $292 = (($291) + 1)|0; + _memset(($290|0),1,($292|0))|0; + $293 = HEAP32[$nIdx>>2]|0; + $294 = (($293) + 1)|0; + $295 = HEAP32[$aToOpen>>2]|0; + $296 = (($295) + ($294)|0); + HEAP8[$296>>0] = 0; + $297 = HEAP32[$aiCurOnePass>>2]|0; + $298 = ($297|0)>=(0); + if ($298) { + $299 = HEAP32[$aiCurOnePass>>2]|0; + $300 = HEAP32[$iTabCur>>2]|0; + $301 = (($299) - ($300))|0; + $302 = HEAP32[$aToOpen>>2]|0; + $303 = (($302) + ($301)|0); + HEAP8[$303>>0] = 0; } - $305 = ((($aiCurOnePass)) + 4|0); - $306 = HEAP32[$305>>2]|0; - $307 = ($306|0)>=(0); - if ($307) { - $308 = ((($aiCurOnePass)) + 4|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[$iTabCur>>2]|0; - $311 = (($309) - ($310))|0; - $312 = HEAP32[$aToOpen>>2]|0; - $313 = (($312) + ($311)|0); - HEAP8[$313>>0] = 0; + $304 = ((($aiCurOnePass)) + 4|0); + $305 = HEAP32[$304>>2]|0; + $306 = ($305|0)>=(0); + if ($306) { + $307 = ((($aiCurOnePass)) + 4|0); + $308 = HEAP32[$307>>2]|0; + $309 = HEAP32[$iTabCur>>2]|0; + $310 = (($308) - ($309))|0; + $311 = HEAP32[$aToOpen>>2]|0; + $312 = (($311) + ($310)|0); + HEAP8[$312>>0] = 0; } - $314 = HEAP32[$addrEphOpen>>2]|0; - $315 = ($314|0)!=(0); - if (!($315)) { + $313 = HEAP32[$addrEphOpen>>2]|0; + $314 = ($313|0)!=(0); + if (!($314)) { break; } - $316 = HEAP32[$v>>2]|0; - $317 = HEAP32[$addrEphOpen>>2]|0; - (_sqlite3VdbeChangeToNoop($316,$317)|0); + $315 = HEAP32[$v>>2]|0; + $316 = HEAP32[$addrEphOpen>>2]|0; + (_sqlite3VdbeChangeToNoop($315,$316)|0); } else { - $318 = HEAP32[$pPk>>2]|0; - $319 = ($318|0)!=(0|0); - if ($319) { - $320 = HEAP32[$0>>2]|0; - $321 = ((($320)) + 76|0); - $322 = HEAP32[$321>>2]|0; - $323 = (($322) + 1)|0; - HEAP32[$321>>2] = $323; - HEAP32[$iKey>>2] = $323; + $317 = HEAP32[$pPk>>2]|0; + $318 = ($317|0)!=(0|0); + if ($318) { + $319 = HEAP32[$0>>2]|0; + $320 = ((($319)) + 44|0); + $321 = HEAP32[$320>>2]|0; + $322 = (($321) + 1)|0; + HEAP32[$320>>2] = $322; + HEAP32[$iKey>>2] = $322; HEAP16[$nKey>>1] = 0; - $324 = HEAP32[$v>>2]|0; - $325 = HEAP32[$iPk>>2]|0; - $326 = HEAP16[$nPk>>1]|0; - $327 = $326 << 16 >> 16; - $328 = HEAP32[$iKey>>2]|0; - $329 = HEAP32[$0>>2]|0; - $330 = HEAP32[$329>>2]|0; - $331 = HEAP32[$pPk>>2]|0; - $332 = (_sqlite3IndexAffinityStr($330,$331)|0); - $333 = HEAP16[$nPk>>1]|0; - $334 = $333 << 16 >> 16; - (_sqlite3VdbeAddOp4($324,96,$325,$327,$328,$332,$334)|0); - $335 = HEAP32[$v>>2]|0; - $336 = HEAP32[$iEphCur>>2]|0; - $337 = HEAP32[$iKey>>2]|0; - (_sqlite3VdbeAddOp2($335,124,$336,$337)|0); + $323 = HEAP32[$v>>2]|0; + $324 = HEAP32[$iPk>>2]|0; + $325 = HEAP16[$nPk>>1]|0; + $326 = $325 << 16 >> 16; + $327 = HEAP32[$iKey>>2]|0; + $328 = HEAP32[$0>>2]|0; + $329 = HEAP32[$328>>2]|0; + $330 = HEAP32[$pPk>>2]|0; + $331 = (_sqlite3IndexAffinityStr($329,$330)|0); + $332 = HEAP16[$nPk>>1]|0; + $333 = $332 << 16 >> 16; + (_sqlite3VdbeAddOp4($323,99,$324,$326,$327,$331,$333)|0); + $334 = HEAP32[$v>>2]|0; + $335 = HEAP32[$iEphCur>>2]|0; + $336 = HEAP32[$iKey>>2]|0; + (_sqlite3VdbeAddOp2($334,126,$335,$336)|0); break; } else { HEAP16[$nKey>>1] = 1; - $338 = HEAP32[$v>>2]|0; - $339 = HEAP32[$iRowSet>>2]|0; - $340 = HEAP32[$iKey>>2]|0; - (_sqlite3VdbeAddOp2($338,140,$339,$340)|0); + $337 = HEAP32[$v>>2]|0; + $338 = HEAP32[$iRowSet>>2]|0; + $339 = HEAP32[$iKey>>2]|0; + (_sqlite3VdbeAddOp2($337,142,$338,$339)|0); break; } } } while(0); - $341 = HEAP32[$eOnePass>>2]|0; - $342 = ($341|0)!=(0); - if ($342) { - $343 = HEAP32[$v>>2]|0; - $344 = (_sqlite3VdbeMakeLabel($343)|0); - HEAP32[$addrBypass>>2] = $344; + $340 = HEAP32[$eOnePass>>2]|0; + $341 = ($340|0)!=(0); + if ($341) { + $342 = HEAP32[$v>>2]|0; + $343 = (_sqlite3VdbeMakeLabel($342)|0); + HEAP32[$addrBypass>>2] = $343; } else { - $345 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($345); + $344 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($344); } - $346 = HEAP32[$isView>>2]|0; - $347 = ($346|0)!=(0); + $345 = HEAP32[$isView>>2]|0; + $346 = ($345|0)!=(0); do { - if (!($347)) { + if (!($346)) { HEAP32[$iAddrOnce>>2] = 0; - $348 = HEAP32[$eOnePass>>2]|0; - $349 = ($348|0)==(2); - if ($349) { - $350 = HEAP32[$0>>2]|0; - $351 = (_sqlite3CodeOnce($350)|0); - HEAP32[$iAddrOnce>>2] = $351; + $347 = HEAP32[$eOnePass>>2]|0; + $348 = ($347|0)==(2); + if ($348) { + $349 = HEAP32[$v>>2]|0; + $350 = (_sqlite3VdbeAddOp0($349,20)|0); + HEAP32[$iAddrOnce>>2] = $350; } - $352 = HEAP32[$0>>2]|0; - $353 = HEAP32[$pTab>>2]|0; - $354 = HEAP32[$iTabCur>>2]|0; - $355 = HEAP32[$aToOpen>>2]|0; - (_sqlite3OpenTableAndIndices($352,$353,103,8,$354,$355,$iDataCur,$iIdxCur)|0); - $356 = HEAP32[$eOnePass>>2]|0; - $357 = ($356|0)==(2); - if (!($357)) { + $351 = HEAP32[$0>>2]|0; + $352 = HEAP32[$pTab>>2]|0; + $353 = HEAP32[$iTabCur>>2]|0; + $354 = HEAP32[$aToOpen>>2]|0; + (_sqlite3OpenTableAndIndices($351,$352,105,8,$353,$354,$iDataCur,$iIdxCur)|0); + $355 = HEAP32[$eOnePass>>2]|0; + $356 = ($355|0)==(2); + if (!($356)) { break; } - $358 = HEAP32[$v>>2]|0; - $359 = HEAP32[$iAddrOnce>>2]|0; - _sqlite3VdbeJumpHere($358,$359); + $357 = HEAP32[$v>>2]|0; + $358 = HEAP32[$iAddrOnce>>2]|0; + _sqlite3VdbeJumpHere($357,$358); } } while(0); - $360 = HEAP32[$eOnePass>>2]|0; - $361 = ($360|0)!=(0); + $359 = HEAP32[$eOnePass>>2]|0; + $360 = ($359|0)!=(0); do { - if ($361) { - $362 = HEAP32[$pTab>>2]|0; - $363 = ((($362)) + 42|0); - $364 = HEAP8[$363>>0]|0; - $365 = $364&255; - $366 = $365 & 16; - $367 = ($366|0)!=(0); - if ($367) { + if ($360) { + $361 = HEAP32[$pTab>>2]|0; + $362 = ((($361)) + 42|0); + $363 = HEAP8[$362>>0]|0; + $364 = $363&255; + $365 = $364 & 16; + $366 = ($365|0)!=(0); + if ($366) { break; } - $368 = HEAP32[$iDataCur>>2]|0; - $369 = HEAP32[$iTabCur>>2]|0; - $370 = (($368) - ($369))|0; - $371 = HEAP32[$aToOpen>>2]|0; - $372 = (($371) + ($370)|0); - $373 = HEAP8[$372>>0]|0; - $374 = $373&255; - $375 = ($374|0)!=(0); - if (!($375)) { + $367 = HEAP32[$iDataCur>>2]|0; + $368 = HEAP32[$iTabCur>>2]|0; + $369 = (($367) - ($368))|0; + $370 = HEAP32[$aToOpen>>2]|0; + $371 = (($370) + ($369)|0); + $372 = HEAP8[$371>>0]|0; + $373 = $372&255; + $374 = ($373|0)!=(0); + if (!($374)) { break; } - $376 = HEAP32[$v>>2]|0; - $377 = HEAP32[$iDataCur>>2]|0; - $378 = HEAP32[$addrBypass>>2]|0; - $379 = HEAP32[$iKey>>2]|0; - $380 = HEAP16[$nKey>>1]|0; - $381 = $380 << 16 >> 16; - (_sqlite3VdbeAddOp4Int($376,30,$377,$378,$379,$381)|0); + $375 = HEAP32[$v>>2]|0; + $376 = HEAP32[$iDataCur>>2]|0; + $377 = HEAP32[$addrBypass>>2]|0; + $378 = HEAP32[$iKey>>2]|0; + $379 = HEAP16[$nKey>>1]|0; + $380 = $379 << 16 >> 16; + (_sqlite3VdbeAddOp4Int($375,30,$376,$377,$378,$380)|0); } else { - $382 = HEAP32[$pPk>>2]|0; - $383 = ($382|0)!=(0|0); - $384 = HEAP32[$v>>2]|0; - if ($383) { - $385 = HEAP32[$iEphCur>>2]|0; - $386 = (_sqlite3VdbeAddOp1($384,55,$385)|0); - HEAP32[$addrLoop>>2] = $386; - $387 = HEAP32[$v>>2]|0; - $388 = HEAP32[$iEphCur>>2]|0; - $389 = HEAP32[$iKey>>2]|0; - (_sqlite3VdbeAddOp2($387,119,$388,$389)|0); + $381 = HEAP32[$pPk>>2]|0; + $382 = ($381|0)!=(0|0); + $383 = HEAP32[$v>>2]|0; + if ($382) { + $384 = HEAP32[$iEphCur>>2]|0; + $385 = (_sqlite3VdbeAddOp1($383,57,$384)|0); + HEAP32[$addrLoop>>2] = $385; + $386 = HEAP32[$v>>2]|0; + $387 = HEAP32[$iEphCur>>2]|0; + $388 = HEAP32[$iKey>>2]|0; + (_sqlite3VdbeAddOp2($386,121,$387,$388)|0); break; } else { - $390 = HEAP32[$iRowSet>>2]|0; - $391 = HEAP32[$iKey>>2]|0; - $392 = (_sqlite3VdbeAddOp3($384,60,$390,0,$391)|0); - HEAP32[$addrLoop>>2] = $392; + $389 = HEAP32[$iRowSet>>2]|0; + $390 = HEAP32[$iKey>>2]|0; + $391 = (_sqlite3VdbeAddOp3($383,62,$389,0,$390)|0); + HEAP32[$addrLoop>>2] = $391; break; } } } while(0); - $393 = HEAP32[$pTab>>2]|0; - $394 = ((($393)) + 42|0); - $395 = HEAP8[$394>>0]|0; - $396 = $395&255; - $397 = $396 & 16; - $398 = ($397|0)!=(0); + $392 = HEAP32[$pTab>>2]|0; + $393 = ((($392)) + 42|0); + $394 = HEAP8[$393>>0]|0; + $395 = $394&255; + $396 = $395 & 16; + $397 = ($396|0)!=(0); do { - if ($398) { - $399 = HEAP32[$db>>2]|0; - $400 = HEAP32[$pTab>>2]|0; - $401 = (_sqlite3GetVTable($399,$400)|0); - HEAP32[$pVTab>>2] = $401; - $402 = HEAP32[$0>>2]|0; - $403 = HEAP32[$pTab>>2]|0; - _sqlite3VtabMakeWritable($402,$403); - $404 = HEAP32[$v>>2]|0; - $405 = HEAP32[$iKey>>2]|0; - $406 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($404,12,0,1,$405,$406,-10)|0); - $407 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($407,2); - $408 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($408); - $409 = HEAP32[$eOnePass>>2]|0; - $410 = ($409|0)==(1); - if (!($410)) { + if ($397) { + $398 = HEAP32[$db>>2]|0; + $399 = HEAP32[$pTab>>2]|0; + $400 = (_sqlite3GetVTable($398,$399)|0); + HEAP32[$pVTab>>2] = $400; + $401 = HEAP32[$0>>2]|0; + $402 = HEAP32[$pTab>>2]|0; + _sqlite3VtabMakeWritable($401,$402); + $403 = HEAP32[$v>>2]|0; + $404 = HEAP32[$iKey>>2]|0; + $405 = HEAP32[$pVTab>>2]|0; + (_sqlite3VdbeAddOp4($403,12,0,1,$404,$405,-10)|0); + $406 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($406,2); + $407 = HEAP32[$0>>2]|0; + _sqlite3MayAbort($407); + $408 = HEAP32[$eOnePass>>2]|0; + $409 = ($408|0)==(1); + if (!($409)) { break; } - $411 = HEAP32[$0>>2]|0; - $412 = ((($411)) + 416|0); - $413 = HEAP32[$412>>2]|0; - $414 = ($413|0)==(0|0); - if (!($414)) { + $410 = HEAP32[$0>>2]|0; + $411 = ((($410)) + 124|0); + $412 = HEAP32[$411>>2]|0; + $413 = ($412|0)==(0|0); + if (!($413)) { break; } - $415 = HEAP32[$0>>2]|0; - $416 = ((($415)) + 20|0); - HEAP8[$416>>0] = 0; + $414 = HEAP32[$0>>2]|0; + $415 = ((($414)) + 20|0); + HEAP8[$415>>0] = 0; } else { - $417 = HEAP32[$0>>2]|0; - $418 = ((($417)) + 18|0); - $419 = HEAP8[$418>>0]|0; - $420 = $419&255; - $421 = ($420|0)==(0); - $422 = $421&1; - HEAP32[$count>>2] = $422; + $416 = HEAP32[$0>>2]|0; + $417 = ((($416)) + 18|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $420 = ($419|0)==(0); + $421 = $420&1; + HEAP32[$count>>2] = $421; HEAP32[$iIdxNoSeek>>2] = -1; - $423 = HEAP32[$bComplex>>2]|0; - $424 = ($423|0)==(0); + $422 = HEAP32[$bComplex>>2]|0; + $423 = ($422|0)==(0); do { - if ($424) { - $425 = ((($aiCurOnePass)) + 4|0); - $426 = HEAP32[$425>>2]|0; - $427 = HEAP32[$iDataCur>>2]|0; - $428 = ($426|0)!=($427|0); - if (!($428)) { + if ($423) { + $424 = ((($aiCurOnePass)) + 4|0); + $425 = HEAP32[$424>>2]|0; + $426 = HEAP32[$iDataCur>>2]|0; + $427 = ($425|0)!=($426|0); + if (!($427)) { break; } - $429 = ((($aiCurOnePass)) + 4|0); - $430 = HEAP32[$429>>2]|0; - HEAP32[$iIdxNoSeek>>2] = $430; + $428 = ((($aiCurOnePass)) + 4|0); + $429 = HEAP32[$428>>2]|0; + HEAP32[$iIdxNoSeek>>2] = $429; } } while(0); - $431 = HEAP32[$0>>2]|0; - $432 = HEAP32[$pTab>>2]|0; - $433 = HEAP32[$pTrigger>>2]|0; - $434 = HEAP32[$iDataCur>>2]|0; - $435 = HEAP32[$iIdxCur>>2]|0; - $436 = HEAP32[$iKey>>2]|0; - $437 = HEAP16[$nKey>>1]|0; - $438 = HEAP32[$count>>2]|0; - $439 = $438&255; - $440 = HEAP32[$eOnePass>>2]|0; - $441 = $440&255; - $442 = HEAP32[$iIdxNoSeek>>2]|0; - _sqlite3GenerateRowDelete($431,$432,$433,$434,$435,$436,$437,$439,10,$441,$442); + $430 = HEAP32[$0>>2]|0; + $431 = HEAP32[$pTab>>2]|0; + $432 = HEAP32[$pTrigger>>2]|0; + $433 = HEAP32[$iDataCur>>2]|0; + $434 = HEAP32[$iIdxCur>>2]|0; + $435 = HEAP32[$iKey>>2]|0; + $436 = HEAP16[$nKey>>1]|0; + $437 = HEAP32[$count>>2]|0; + $438 = $437&255; + $439 = HEAP32[$eOnePass>>2]|0; + $440 = $439&255; + $441 = HEAP32[$iIdxNoSeek>>2]|0; + _sqlite3GenerateRowDelete($430,$431,$432,$433,$434,$435,$436,$438,10,$440,$441); } } while(0); - $443 = HEAP32[$eOnePass>>2]|0; - $444 = ($443|0)!=(0); + $442 = HEAP32[$eOnePass>>2]|0; + $443 = ($442|0)!=(0); do { - if ($444) { - $445 = HEAP32[$v>>2]|0; - $446 = HEAP32[$addrBypass>>2]|0; - _sqlite3VdbeResolveLabel($445,$446); - $447 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($447); + if ($443) { + $444 = HEAP32[$v>>2]|0; + $445 = HEAP32[$addrBypass>>2]|0; + _sqlite3VdbeResolveLabel($444,$445); + $446 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($446); } else { - $448 = HEAP32[$pPk>>2]|0; - $449 = ($448|0)!=(0|0); - $450 = HEAP32[$v>>2]|0; - if ($449) { - $451 = HEAP32[$iEphCur>>2]|0; - $452 = HEAP32[$addrLoop>>2]|0; - $453 = (($452) + 1)|0; - (_sqlite3VdbeAddOp2($450,7,$451,$453)|0); - $454 = HEAP32[$v>>2]|0; - $455 = HEAP32[$addrLoop>>2]|0; - _sqlite3VdbeJumpHere($454,$455); + $447 = HEAP32[$pPk>>2]|0; + $448 = ($447|0)!=(0|0); + $449 = HEAP32[$v>>2]|0; + if ($448) { + $450 = HEAP32[$iEphCur>>2]|0; + $451 = HEAP32[$addrLoop>>2]|0; + $452 = (($451) + 1)|0; + (_sqlite3VdbeAddOp2($449,7,$450,$452)|0); + $453 = HEAP32[$v>>2]|0; + $454 = HEAP32[$addrLoop>>2]|0; + _sqlite3VdbeJumpHere($453,$454); break; } else { - $456 = HEAP32[$addrLoop>>2]|0; - (_sqlite3VdbeGoto($450,$456)|0); - $457 = HEAP32[$v>>2]|0; - $458 = HEAP32[$addrLoop>>2]|0; - _sqlite3VdbeJumpHere($457,$458); + $455 = HEAP32[$addrLoop>>2]|0; + (_sqlite3VdbeGoto($449,$455)|0); + $456 = HEAP32[$v>>2]|0; + $457 = HEAP32[$addrLoop>>2]|0; + _sqlite3VdbeJumpHere($456,$457); break; } } } while(0); - $459 = HEAP32[$isView>>2]|0; - $460 = ($459|0)!=(0); - if ($460) { + $458 = HEAP32[$isView>>2]|0; + $459 = ($458|0)!=(0); + if ($459) { break; } - $461 = HEAP32[$pTab>>2]|0; - $462 = ((($461)) + 42|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = $464 & 16; - $466 = ($465|0)!=(0); - if ($466) { + $460 = HEAP32[$pTab>>2]|0; + $461 = ((($460)) + 42|0); + $462 = HEAP8[$461>>0]|0; + $463 = $462&255; + $464 = $463 & 16; + $465 = ($464|0)!=(0); + if ($465) { break; } - $467 = HEAP32[$pPk>>2]|0; - $468 = ($467|0)!=(0|0); - if (!($468)) { - $469 = HEAP32[$v>>2]|0; - $470 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp1($469,109,$470)|0); + $466 = HEAP32[$pPk>>2]|0; + $467 = ($466|0)!=(0|0); + if (!($467)) { + $468 = HEAP32[$v>>2]|0; + $469 = HEAP32[$iDataCur>>2]|0; + (_sqlite3VdbeAddOp1($468,111,$469)|0); } HEAP32[$i>>2] = 0; - $471 = HEAP32[$pTab>>2]|0; - $472 = ((($471)) + 8|0); - $473 = HEAP32[$472>>2]|0; - HEAP32[$pIdx>>2] = $473; + $470 = HEAP32[$pTab>>2]|0; + $471 = ((($470)) + 8|0); + $472 = HEAP32[$471>>2]|0; + HEAP32[$pIdx>>2] = $472; while(1) { - $474 = HEAP32[$pIdx>>2]|0; - $475 = ($474|0)!=(0|0); - if (!($475)) { + $473 = HEAP32[$pIdx>>2]|0; + $474 = ($473|0)!=(0|0); + if (!($474)) { break L38; } - $476 = HEAP32[$v>>2]|0; - $477 = HEAP32[$iIdxCur>>2]|0; - $478 = HEAP32[$i>>2]|0; - $479 = (($477) + ($478))|0; - (_sqlite3VdbeAddOp1($476,109,$479)|0); - $480 = HEAP32[$i>>2]|0; - $481 = (($480) + 1)|0; - HEAP32[$i>>2] = $481; - $482 = HEAP32[$pIdx>>2]|0; - $483 = ((($482)) + 20|0); - $484 = HEAP32[$483>>2]|0; - HEAP32[$pIdx>>2] = $484; + $475 = HEAP32[$v>>2]|0; + $476 = HEAP32[$iIdxCur>>2]|0; + $477 = HEAP32[$i>>2]|0; + $478 = (($476) + ($477))|0; + (_sqlite3VdbeAddOp1($475,111,$478)|0); + $479 = HEAP32[$i>>2]|0; + $480 = (($479) + 1)|0; + HEAP32[$i>>2] = $480; + $481 = HEAP32[$pIdx>>2]|0; + $482 = ((($481)) + 20|0); + $483 = HEAP32[$482>>2]|0; + HEAP32[$pIdx>>2] = $483; } } } while(0); - $485 = HEAP32[$0>>2]|0; - $486 = ((($485)) + 18|0); - $487 = HEAP8[$486>>0]|0; - $488 = $487&255; - $489 = ($488|0)==(0); - if ($489) { - $490 = HEAP32[$0>>2]|0; - $491 = ((($490)) + 420|0); - $492 = HEAP32[$491>>2]|0; - $493 = ($492|0)==(0|0); - if ($493) { - $494 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementEnd($494); + $484 = HEAP32[$0>>2]|0; + $485 = ((($484)) + 18|0); + $486 = HEAP8[$485>>0]|0; + $487 = $486&255; + $488 = ($487|0)==(0); + if ($488) { + $489 = HEAP32[$0>>2]|0; + $490 = ((($489)) + 128|0); + $491 = HEAP32[$490>>2]|0; + $492 = ($491|0)==(0|0); + if ($492) { + $493 = HEAP32[$0>>2]|0; + _sqlite3AutoincrementEnd($493); } } - $495 = HEAP32[$db>>2]|0; - $496 = ((($495)) + 24|0); - $497 = HEAP32[$496>>2]|0; - $498 = $497 & 128; - $499 = ($498|0)!=(0); - if ($499) { - $500 = HEAP32[$0>>2]|0; - $501 = ((($500)) + 18|0); - $502 = HEAP8[$501>>0]|0; - $503 = ($502<<24>>24)!=(0); - if (!($503)) { - $504 = HEAP32[$0>>2]|0; - $505 = ((($504)) + 420|0); - $506 = HEAP32[$505>>2]|0; - $507 = ($506|0)!=(0|0); - if (!($507)) { - $508 = HEAP32[$v>>2]|0; - $509 = HEAP32[$memCnt>>2]|0; - (_sqlite3VdbeAddOp2($508,85,$509,1)|0); + $494 = HEAP32[$db>>2]|0; + $495 = ((($494)) + 24|0); + $496 = HEAP32[$495>>2]|0; + $497 = $496 & 128; + $498 = ($497|0)!=(0); + if ($498) { + $499 = HEAP32[$0>>2]|0; + $500 = ((($499)) + 18|0); + $501 = HEAP8[$500>>0]|0; + $502 = ($501<<24>>24)!=(0); + if (!($502)) { + $503 = HEAP32[$0>>2]|0; + $504 = ((($503)) + 128|0); + $505 = HEAP32[$504>>2]|0; + $506 = ($505|0)!=(0|0); + if (!($506)) { + $507 = HEAP32[$v>>2]|0; + $508 = HEAP32[$memCnt>>2]|0; + (_sqlite3VdbeAddOp2($507,87,$508,1)|0); + $509 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($509,1); $510 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($510,1); - $511 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($511,0,0,35846,0)|0); + (_sqlite3VdbeSetColName($510,0,0,35361,0)|0); } } } @@ -120178,15 +120960,15 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { } } while(0); _sqlite3AuthContextPop($sContext); - $512 = HEAP32[$db>>2]|0; - $513 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($512,$513); - $514 = HEAP32[$db>>2]|0; - $515 = HEAP32[$2>>2]|0; - _sqlite3ExprDelete($514,$515); - $516 = HEAP32[$db>>2]|0; - $517 = HEAP32[$aToOpen>>2]|0; - _sqlite3DbFree($516,$517); + $511 = HEAP32[$db>>2]|0; + $512 = HEAP32[$1>>2]|0; + _sqlite3SrcListDelete($511,$512); + $513 = HEAP32[$db>>2]|0; + $514 = HEAP32[$2>>2]|0; + _sqlite3ExprDelete($513,$514); + $515 = HEAP32[$db>>2]|0; + $516 = HEAP32[$aToOpen>>2]|0; + _sqlite3DbFree($515,$516); STACKTOP = sp;return; } function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { @@ -120206,7 +120988,7 @@ function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { HEAP32[$2>>2] = $zObject; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 92|0); + $5 = ((($4)) + 96|0); $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$mx>>2] = $7; @@ -120225,7 +121007,7 @@ function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $15; - _sqlite3ErrorMsg($14,35823,$vararg_buffer); + _sqlite3ErrorMsg($14,35338,$vararg_buffer); STACKTOP = sp;return; } function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { @@ -120369,7 +121151,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 68|0); + $8 = ((($7)) + 36|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); if ($10) { @@ -120491,7 +121273,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 72|0); + $46 = ((($45)) + 40|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + 1)|0; HEAP32[$46>>2] = $48; @@ -120540,7 +121322,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $or$cond = $73 & $75; if ($or$cond) { $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 72|0); + $77 = ((($76)) + 40|0); $78 = HEAP32[$77>>2]|0; HEAP32[$iDataCur>>2] = $78; $79 = HEAP32[$iDataCur>>2]|0; @@ -120550,7 +121332,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP32[$82>>2] = $79; } $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 72|0); + $84 = ((($83)) + 40|0); $85 = HEAP32[$84>>2]|0; $86 = (($85) + 1)|0; HEAP32[$84>>2] = $86; @@ -120779,7 +121561,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $234 = HEAP32[$j>>2]|0; $235 = ($234|0)<(0); if ($235) { - $248 = 20511; + $248 = 19895; } else { $236 = HEAP32[$j>>2]|0; $237 = HEAP32[$pTab>>2]|0; @@ -120825,7 +121607,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $227 = ((($226)) + 4|0); $228 = HEAP32[$227>>2]|0; HEAP32[$vararg_buffer>>2] = $228; - _sqlite3ErrorMsg($221,24760,$vararg_buffer); + _sqlite3ErrorMsg($221,24144,$vararg_buffer); $229 = HEAP32[$0>>2]|0; $230 = ((($229)) + 17|0); HEAP8[$230>>0] = 1; @@ -120949,7 +121731,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { HEAP32[$i>>2] = $333; } $328 = HEAP32[$0>>2]|0; - $329 = ((($328)) + 76|0); + $329 = ((($328)) + 44|0); $330 = HEAP32[$329>>2]|0; $331 = (($330) + 1)|0; HEAP32[$329>>2] = $331; @@ -120961,7 +121743,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if ((label|0) == 46) { label = 0; $303 = HEAP32[$0>>2]|0; - $304 = ((($303)) + 76|0); + $304 = ((($303)) + 44|0); $305 = HEAP32[$304>>2]|0; $306 = (($305) + 1)|0; HEAP32[$304>>2] = $306; @@ -121030,13 +121812,13 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $366 = ($365|0)!=(0); if (!($366)) { $367 = HEAP32[$0>>2]|0; - $368 = ((($367)) + 76|0); + $368 = ((($367)) + 44|0); $369 = HEAP32[$368>>2]|0; $370 = (($369) + 1)|0; HEAP32[$368>>2] = $370; HEAP32[$regRowSet>>2] = $370; $371 = HEAP32[$0>>2]|0; - $372 = ((($371)) + 76|0); + $372 = ((($371)) + 44|0); $373 = HEAP32[$372>>2]|0; $374 = (($373) + 1)|0; HEAP32[$372>>2] = $374; @@ -121053,7 +121835,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $or$cond7 = $or$cond5 | $381; if ($or$cond7) { $382 = HEAP32[$0>>2]|0; - $383 = ((($382)) + 76|0); + $383 = ((($382)) + 44|0); $384 = HEAP32[$383>>2]|0; $385 = (($384) + 1)|0; HEAP32[$regOld>>2] = $385; @@ -121062,7 +121844,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $388 = HEAP16[$387>>1]|0; $389 = $388 << 16 >> 16; $390 = HEAP32[$0>>2]|0; - $391 = ((($390)) + 76|0); + $391 = ((($390)) + 44|0); $392 = HEAP32[$391>>2]|0; $393 = (($392) + ($389))|0; HEAP32[$391>>2] = $393; @@ -121078,14 +121860,14 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $or$cond11 = $or$cond9 | $400; if ($or$cond11) { $401 = HEAP32[$0>>2]|0; - $402 = ((($401)) + 76|0); + $402 = ((($401)) + 44|0); $403 = HEAP32[$402>>2]|0; $404 = (($403) + 1)|0; HEAP32[$402>>2] = $404; HEAP32[$regNewRowid>>2] = $404; } $405 = HEAP32[$0>>2]|0; - $406 = ((($405)) + 76|0); + $406 = ((($405)) + 44|0); $407 = HEAP32[$406>>2]|0; $408 = (($407) + 1)|0; HEAP32[$regNew>>2] = $408; @@ -121094,7 +121876,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $411 = HEAP16[$410>>1]|0; $412 = $411 << 16 >> 16; $413 = HEAP32[$0>>2]|0; - $414 = ((($413)) + 76|0); + $414 = ((($413)) + 44|0); $415 = HEAP32[$414>>2]|0; $416 = (($415) + ($412))|0; HEAP32[$414>>2] = $416; @@ -121176,12 +121958,12 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $451 = HEAP32[$v>>2]|0; $452 = HEAP32[$regRowSet>>2]|0; $453 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp3($451,77,0,$452,$453)|0); + (_sqlite3VdbeAddOp3($451,79,0,$452,$453)|0); $454 = HEAP32[$0>>2]|0; $455 = HEAP32[$1>>2]|0; $456 = HEAP32[$3>>2]|0; $457 = HEAP32[$iIdxCur>>2]|0; - $458 = (_sqlite3WhereBegin($454,$455,$456,0,0,-32764,$457)|0); + $458 = (_sqlite3WhereBegin($454,$455,$456,0,0,1028,$457)|0); HEAP32[$pWInfo>>2] = $458; $459 = HEAP32[$pWInfo>>2]|0; $460 = ($459|0)==(0|0); @@ -121207,14 +121989,14 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $463 = HEAP32[$v>>2]|0; $464 = HEAP32[$iDataCur>>2]|0; $465 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp2($463,121,$464,$465)|0); + (_sqlite3VdbeAddOp2($463,123,$464,$465)|0); $466 = HEAP32[$okOnePass>>2]|0; $467 = ($466|0)!=(0); if (!($467)) { $468 = HEAP32[$v>>2]|0; $469 = HEAP32[$regRowSet>>2]|0; $470 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp2($468,140,$469,$470)|0); + (_sqlite3VdbeAddOp2($468,142,$469,$470)|0); } $471 = HEAP32[$pWInfo>>2]|0; _sqlite3WhereEnd($471); @@ -121224,37 +122006,37 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $474 = HEAP16[$473>>1]|0; HEAP16[$nPk>>1] = $474; $475 = HEAP32[$0>>2]|0; - $476 = ((($475)) + 76|0); + $476 = ((($475)) + 44|0); $477 = HEAP32[$476>>2]|0; $478 = (($477) + 1)|0; HEAP32[$iPk>>2] = $478; $479 = HEAP16[$nPk>>1]|0; $480 = $479 << 16 >> 16; $481 = HEAP32[$0>>2]|0; - $482 = ((($481)) + 76|0); + $482 = ((($481)) + 44|0); $483 = HEAP32[$482>>2]|0; $484 = (($483) + ($480))|0; HEAP32[$482>>2] = $484; $485 = HEAP32[$0>>2]|0; - $486 = ((($485)) + 76|0); + $486 = ((($485)) + 44|0); $487 = HEAP32[$486>>2]|0; $488 = (($487) + 1)|0; HEAP32[$486>>2] = $488; HEAP32[$regKey>>2] = $488; $489 = HEAP32[$0>>2]|0; - $490 = ((($489)) + 72|0); + $490 = ((($489)) + 40|0); $491 = HEAP32[$490>>2]|0; $492 = (($491) + 1)|0; HEAP32[$490>>2] = $492; HEAP32[$iEph>>2] = $491; $493 = HEAP32[$v>>2]|0; $494 = HEAP32[$iPk>>2]|0; - (_sqlite3VdbeAddOp2($493,77,0,$494)|0); + (_sqlite3VdbeAddOp2($493,79,0,$494)|0); $495 = HEAP32[$v>>2]|0; $496 = HEAP32[$iEph>>2]|0; $497 = HEAP16[$nPk>>1]|0; $498 = $497 << 16 >> 16; - $499 = (_sqlite3VdbeAddOp2($495,105,$496,$498)|0); + $499 = (_sqlite3VdbeAddOp2($495,107,$496,$498)|0); HEAP32[$addrOpen>>2] = $499; $500 = HEAP32[$0>>2]|0; $501 = HEAP32[$pPk>>2]|0; @@ -121334,11 +122116,11 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $543 = (_sqlite3IndexAffinityStr($541,$542)|0); $544 = HEAP16[$nPk>>1]|0; $545 = $544 << 16 >> 16; - (_sqlite3VdbeAddOp4($532,96,$537,$539,$540,$543,$545)|0); + (_sqlite3VdbeAddOp4($532,99,$537,$539,$540,$543,$545)|0); $546 = HEAP32[$v>>2]|0; $547 = HEAP32[$iEph>>2]|0; $548 = HEAP32[$regKey>>2]|0; - (_sqlite3VdbeAddOp2($546,124,$547,$548)|0); + (_sqlite3VdbeAddOp2($546,126,$547,$548)|0); } $549 = HEAP32[$pWInfo>>2]|0; _sqlite3WhereEnd($549); @@ -121350,19 +122132,19 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $554 = ($553|0)!=(0); if ($554) { $555 = HEAP32[$0>>2]|0; - $556 = ((($555)) + 420|0); + $556 = ((($555)) + 128|0); $557 = HEAP32[$556>>2]|0; $558 = ($557|0)!=(0|0); if (!($558)) { $559 = HEAP32[$0>>2]|0; - $560 = ((($559)) + 76|0); + $560 = ((($559)) + 44|0); $561 = HEAP32[$560>>2]|0; $562 = (($561) + 1)|0; HEAP32[$560>>2] = $562; HEAP32[$regRowCount>>2] = $562; $563 = HEAP32[$v>>2]|0; $564 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($563,74,0,$564)|0); + (_sqlite3VdbeAddOp2($563,76,0,$564)|0); } } $565 = HEAP32[$v>>2]|0; @@ -121442,7 +122224,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $609 = HEAP32[$pTab>>2]|0; $610 = HEAP32[$iBaseCur>>2]|0; $611 = HEAP32[$aToOpen>>2]|0; - (_sqlite3OpenTableAndIndices($608,$609,103,0,$610,$611,0,0)|0); + (_sqlite3OpenTableAndIndices($608,$609,105,0,$610,$611,0,0)|0); } $612 = HEAP32[$okOnePass>>2]|0; $613 = ($612|0)!=(0); @@ -121487,11 +122269,11 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $641 = HEAP32[$v>>2]|0; $642 = HEAP32[$iEph>>2]|0; $643 = HEAP32[$labelBreak>>2]|0; - (_sqlite3VdbeAddOp2($641,55,$642,$643)|0); + (_sqlite3VdbeAddOp2($641,57,$642,$643)|0); $644 = HEAP32[$v>>2]|0; $645 = HEAP32[$iEph>>2]|0; $646 = HEAP32[$regKey>>2]|0; - $647 = (_sqlite3VdbeAddOp2($644,119,$645,$646)|0); + $647 = (_sqlite3VdbeAddOp2($644,121,$645,$646)|0); HEAP32[$addrTop>>2] = $647; $648 = HEAP32[$v>>2]|0; $649 = HEAP32[$iDataCur>>2]|0; @@ -121503,13 +122285,13 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $652 = HEAP32[$regRowSet>>2]|0; $653 = HEAP32[$labelBreak>>2]|0; $654 = HEAP32[$regOldRowid>>2]|0; - $655 = (_sqlite3VdbeAddOp3($639,60,$652,$653,$654)|0); + $655 = (_sqlite3VdbeAddOp3($639,62,$652,$653,$654)|0); HEAP32[$labelContinue>>2] = $655; $656 = HEAP32[$v>>2]|0; $657 = HEAP32[$iDataCur>>2]|0; $658 = HEAP32[$labelContinue>>2]|0; $659 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp3($656,32,$657,$658,$659)|0); + (_sqlite3VdbeAddOp3($656,33,$657,$658,$659)|0); break; } } @@ -121604,7 +122386,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $721 = HEAP32[$regOld>>2]|0; $722 = HEAP32[$i>>2]|0; $723 = (($721) + ($722))|0; - (_sqlite3VdbeAddOp2($720,77,0,$723)|0); + (_sqlite3VdbeAddOp2($720,79,0,$723)|0); } } while(0); if ((label|0) == 120) { @@ -121634,7 +122416,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $731 = HEAP32[$v>>2]|0; $732 = HEAP32[$regOldRowid>>2]|0; $733 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp2($731,82,$732,$733)|0); + (_sqlite3VdbeAddOp2($731,84,$732,$733)|0); } } while(0); $734 = HEAP32[$0>>2]|0; @@ -121667,7 +122449,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $753 = HEAP32[$regNew>>2]|0; $754 = HEAP32[$i>>2]|0; $755 = (($753) + ($754))|0; - (_sqlite3VdbeAddOp2($752,77,0,$755)|0); + (_sqlite3VdbeAddOp2($752,79,0,$755)|0); } else { $756 = HEAP32[$i>>2]|0; $757 = HEAP32[$aXRef>>2]|0; @@ -121710,7 +122492,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $790 = HEAP32[$regNew>>2]|0; $791 = HEAP32[$i>>2]|0; $792 = (($790) + ($791))|0; - (_sqlite3VdbeAddOp2($789,77,0,$792)|0); + (_sqlite3VdbeAddOp2($789,79,0,$792)|0); break L192; } } while(0); @@ -121756,7 +122538,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { (_sqlite3VdbeAddOp4Int($810,30,$811,$812,$813,$814)|0); } else { $815 = HEAP32[$regOldRowid>>2]|0; - (_sqlite3VdbeAddOp3($810,32,$811,$812,$815)|0); + (_sqlite3VdbeAddOp3($810,33,$811,$812,$815)|0); } HEAP32[$i>>2] = 0; while(1) { @@ -121857,7 +122639,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { break; } else { $876 = HEAP32[$regOldRowid>>2]|0; - $877 = (_sqlite3VdbeAddOp3($871,32,$872,0,$876)|0); + $877 = (_sqlite3VdbeAddOp3($871,33,$872,0,$876)|0); HEAP32[$addr1>>2] = $877; break; } @@ -121887,7 +122669,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if ((label|0) == 156) { $890 = HEAP32[$v>>2]|0; $891 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($890,115,$891,0)|0); + (_sqlite3VdbeAddOp2($890,117,$891,0)|0); } $892 = HEAP32[$bReplace>>2]|0; $893 = ($892|0)!=(0); @@ -121947,7 +122729,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { do { if ($926) { $927 = HEAP32[$0>>2]|0; - $928 = ((($927)) + 420|0); + $928 = ((($927)) + 128|0); $929 = HEAP32[$928>>2]|0; $930 = ($929|0)!=(0|0); if ($930) { @@ -121955,7 +122737,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $931 = HEAP32[$v>>2]|0; $932 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($931,89,$932,1)|0); + (_sqlite3VdbeAddOp2($931,91,$932,1)|0); } } while(0); $933 = HEAP32[$0>>2]|0; @@ -122012,7 +122794,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $963 = HEAP32[$iIdxCur>>2]|0; $964 = HEAP32[$i>>2]|0; $965 = (($963) + ($964))|0; - (_sqlite3VdbeAddOp2($962,109,$965,0)|0); + (_sqlite3VdbeAddOp2($962,111,$965,0)|0); } $966 = HEAP32[$pIdx>>2]|0; $967 = ((($966)) + 20|0); @@ -122028,7 +122810,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { if ($973) { $974 = HEAP32[$v>>2]|0; $975 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($974,109,$975,0)|0); + (_sqlite3VdbeAddOp2($974,111,$975,0)|0); } $976 = HEAP32[$0>>2]|0; $977 = ((($976)) + 18|0); @@ -122038,7 +122820,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { do { if ($980) { $981 = HEAP32[$0>>2]|0; - $982 = ((($981)) + 420|0); + $982 = ((($981)) + 128|0); $983 = HEAP32[$982>>2]|0; $984 = ($983|0)==(0|0); if (!($984)) { @@ -122070,7 +122852,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $991 = HEAP32[$0>>2]|0; - $992 = ((($991)) + 420|0); + $992 = ((($991)) + 128|0); $993 = HEAP32[$992>>2]|0; $994 = ($993|0)!=(0|0); if ($994) { @@ -122111,11 +122893,11 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { } $999 = HEAP32[$v>>2]|0; $1000 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($999,85,$1000,1)|0); + (_sqlite3VdbeAddOp2($999,87,$1000,1)|0); $1001 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($1001,1); $1002 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1002,0,0,35810,0)|0); + (_sqlite3VdbeSetColName($1002,0,0,35325,0)|0); _sqlite3AuthContextPop($sContext); $1003 = HEAP32[$db>>2]|0; $1004 = HEAP32[$aXRef>>2]|0; @@ -122148,6 +122930,156 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } } +function _sqlite3ExprListAppendVector($pParse,$pList,$pColumns,$pExpr) { + $pParse = $pParse|0; + $pList = $pList|0; + $pColumns = $pColumns|0; + $pExpr = $pExpr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $db = 0, $i = 0, $iFirst = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $pSubExpr = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 40|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $db = sp + 24|0; + $n = sp + 20|0; + $i = sp + 16|0; + $iFirst = sp + 12|0; + $pSubExpr = sp + 8|0; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $pList; + HEAP32[$2>>2] = $pColumns; + HEAP32[$3>>2] = $pExpr; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + HEAP32[$db>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = $9; + } else { + $10 = 0; + } + HEAP32[$iFirst>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ($11|0)==(0|0); + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0|0); + $or$cond = $12 | $14; + do { + if (!($or$cond)) { + $15 = HEAP32[$3>>2]|0; + $16 = (_sqlite3ExprVectorSize($15)|0); + HEAP32[$n>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$n>>2]|0; + $21 = ($19|0)!=($20|0); + if ($21) { + $22 = HEAP32[$0>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$n>>2]|0; + HEAP32[$vararg_buffer>>2] = $25; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $26; + _sqlite3ErrorMsg($22,35295,$vararg_buffer); + break; + } + HEAP32[$i>>2] = 0; + while(1) { + $27 = HEAP32[$i>>2]|0; + $28 = HEAP32[$n>>2]|0; + $29 = ($27|0)<($28|0); + if (!($29)) { + break; + } + $30 = HEAP32[$0>>2]|0; + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$i>>2]|0; + $33 = (_sqlite3ExprForVectorField($30,$31,$32)|0); + HEAP32[$pSubExpr>>2] = $33; + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$1>>2]|0; + $36 = HEAP32[$pSubExpr>>2]|0; + $37 = (_sqlite3ExprListAppend($34,$35,$36)|0); + HEAP32[$1>>2] = $37; + $38 = HEAP32[$1>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = (($42) + ($40<<3)|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$45>>2]|0; + $47 = (($46) - 1)|0; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + (($47*20)|0)|0); + $52 = ((($51)) + 4|0); + HEAP32[$52>>2] = $44; + $53 = HEAP32[$i>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + ($53<<3)|0); + HEAP32[$56>>2] = 0; + } + $57 = HEAP32[$i>>2]|0; + $58 = (($57) + 1)|0; + HEAP32[$i>>2] = $58; + } + $59 = HEAP32[$3>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($61|0)==(119); + $63 = HEAP32[$1>>2]|0; + $64 = ($63|0)!=(0|0); + $or$cond3 = $62 & $64; + if ($or$cond3) { + $65 = HEAP32[$iFirst>>2]|0; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = (($68) + (($65*20)|0)|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$iFirst>>2]|0; + $74 = HEAP32[$1>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($76) + (($73*20)|0)|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($78)) + 16|0); + HEAP32[$79>>2] = $72; + HEAP32[$3>>2] = 0; + } + } + } + } while(0); + $80 = HEAP32[$db>>2]|0; + $81 = HEAP32[$3>>2]|0; + _sqlite3ExprDelete($80,$81); + $82 = HEAP32[$db>>2]|0; + $83 = HEAP32[$2>>2]|0; + _sqlite3IdListDelete($82,$83); + $84 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($84|0); +} function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $pParse = $pParse|0; $pTabList = $pTabList|0; @@ -122200,24 +123132,23 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { var $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0; var $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0; var $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0; - var $927 = 0, $928 = 0, $929 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aRegIdx = 0, $addr1 = 0, $addr11 = 0, $addrCont = 0, $addrInsTop = 0, $addrL = 0, $addrTop = 0, $appendFlag = 0, $bIdListInOrder = 0, $db = 0; - var $dest = 0, $endOfLoop = 0, $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iRegStore = 0, $idx = 0, $ipkColumn = 0, $isReplace = 0, $isView = 0, $j = 0, $nColumn = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0; - var $or$cond9 = 0, $pDb = 0, $pIdx = 0, $pList = 0, $pOp = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $rc = 0, $regAutoinc = 0, $regCols = 0, $regData = 0, $regFromSelect = 0, $regIns = 0, $regRec = 0, $regRowCount = 0, $regRowid = 0, $regTempRowid = 0, $regYield = 0, $sNC = 0; - var $srcTab = 0, $tmask = 0, $useTempTable = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $withoutRowid = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; + var $927 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aRegIdx = 0, $addr1 = 0, $addr11 = 0, $addrCont = 0, $addrInsTop = 0, $addrL = 0, $addrTop = 0, $appendFlag = 0, $bIdListInOrder = 0, $db = 0, $dest = 0, $endOfLoop = 0; + var $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iRegStore = 0, $idx = 0, $ipkColumn = 0, $isReplace = 0, $isView = 0, $j = 0, $nColumn = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pIdx = 0; + var $pList = 0, $pOp = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $rc = 0, $regAutoinc = 0, $regCols = 0, $regData = 0, $regFromSelect = 0, $regIns = 0, $regRec = 0, $regRowCount = 0, $regRowid = 0, $regTempRowid = 0, $regYield = 0, $sNC = 0, $srcTab = 0, $tmask = 0, $useTempTable = 0; + var $v = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $withoutRowid = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 304|0; $vararg_buffer20 = sp + 32|0; $vararg_buffer14 = sp + 16|0; $vararg_buffer = sp; - $0 = sp + 288|0; - $1 = sp + 284|0; - $2 = sp + 280|0; - $3 = sp + 276|0; - $4 = sp + 272|0; - $db = sp + 268|0; - $pTab = sp + 264|0; - $zTab = sp + 260|0; - $zDb = sp + 256|0; + $0 = sp + 284|0; + $1 = sp + 280|0; + $2 = sp + 276|0; + $3 = sp + 272|0; + $4 = sp + 268|0; + $db = sp + 264|0; + $pTab = sp + 260|0; + $zTab = sp + 256|0; $i = sp + 252|0; $j = sp + 248|0; $idx = sp + 244|0; @@ -122232,13 +123163,12 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $srcTab = sp + 208|0; $addrInsTop = sp + 204|0; $addrCont = sp + 200|0; - $dest = sp + 180|0; - $iDb = sp + 176|0; - $pDb = sp + 172|0; - $useTempTable = sp + 295|0; - $appendFlag = sp + 294|0; - $withoutRowid = sp + 293|0; - $bIdListInOrder = sp + 292|0; + $dest = sp + 176|0; + $iDb = sp + 172|0; + $useTempTable = sp + 291|0; + $appendFlag = sp + 290|0; + $withoutRowid = sp + 289|0; + $bIdListInOrder = sp + 288|0; $pList = sp + 168|0; $regFromSelect = sp + 164|0; $regAutoinc = sp + 160|0; @@ -122287,9 +123217,9 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; - ;HEAP32[$dest>>2]=0|0;HEAP32[$dest+4>>2]=0|0;HEAP32[$dest+8>>2]=0|0;HEAP32[$dest+12>>2]=0|0;HEAP32[$dest+16>>2]=0|0; + ;HEAP32[$dest>>2]=0|0;HEAP32[$dest+4>>2]=0|0;HEAP32[$dest+8>>2]=0|0;HEAP32[$dest+12>>2]=0|0;HEAP32[$dest+16>>2]=0|0;HEAP32[$dest+20>>2]=0|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 68|0); + $8 = ((($7)) + 36|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); L1: do { @@ -122347,88 +123277,84 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $46 = HEAP32[$45>>2]|0; $47 = (_sqlite3SchemaToIndex($43,$46)|0); HEAP32[$iDb>>2] = $47; - $48 = HEAP32[$iDb>>2]|0; - $49 = HEAP32[$db>>2]|0; - $50 = ((($49)) + 16|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($48<<4)|0); - HEAP32[$pDb>>2] = $52; - $53 = HEAP32[$pDb>>2]|0; + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$pTab>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$iDb>>2]|0; + $52 = HEAP32[$db>>2]|0; + $53 = ((($52)) + 16|0); $54 = HEAP32[$53>>2]|0; - HEAP32[$zDb>>2] = $54; - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$pTab>>2]|0; - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$zDb>>2]|0; - $59 = (_sqlite3AuthCheck($55,18,$57,0,$58)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - $61 = HEAP32[$pTab>>2]|0; - $62 = ((($61)) + 42|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 & 32; - $66 = ($65|0)==(0); - $67 = $66 ^ 1; - $68 = $67&1; - $69 = $68&255; - HEAP8[$withoutRowid>>0] = $69; - $70 = HEAP32[$0>>2]|0; + $55 = (($54) + ($51<<4)|0); + $56 = HEAP32[$55>>2]|0; + $57 = (_sqlite3AuthCheck($48,18,$50,0,$56)|0); + $58 = ($57|0)!=(0); + if (!($58)) { + $59 = HEAP32[$pTab>>2]|0; + $60 = ((($59)) + 42|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = $62 & 32; + $64 = ($63|0)==(0); + $65 = $64 ^ 1; + $66 = $65&1; + $67 = $66&255; + HEAP8[$withoutRowid>>0] = $67; + $68 = HEAP32[$0>>2]|0; + $69 = HEAP32[$pTab>>2]|0; + $70 = (_sqlite3TriggersExist($68,$69,108,0,$tmask)|0); + HEAP32[$pTrigger>>2] = $70; $71 = HEAP32[$pTab>>2]|0; - $72 = (_sqlite3TriggersExist($70,$71,108,0,$tmask)|0); - HEAP32[$pTrigger>>2] = $72; - $73 = HEAP32[$pTab>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)!=(0|0); - $77 = $76&1; - HEAP32[$isView>>2] = $77; - $78 = HEAP32[$0>>2]|0; - $79 = HEAP32[$pTab>>2]|0; - $80 = (_sqlite3ViewGetColumnNames($78,$79)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - $82 = HEAP32[$0>>2]|0; - $83 = HEAP32[$pTab>>2]|0; - $84 = HEAP32[$tmask>>2]|0; - $85 = (_sqlite3IsReadOnly($82,$83,$84)|0); - $86 = ($85|0)!=(0); - if (!($86)) { - $87 = HEAP32[$0>>2]|0; - $88 = (_sqlite3GetVdbe($87)|0); - HEAP32[$v>>2] = $88; - $89 = HEAP32[$v>>2]|0; - $90 = ($89|0)==(0|0); - if (!($90)) { - $91 = HEAP32[$0>>2]|0; - $92 = ((($91)) + 18|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $95 = ($94|0)==(0); - if ($95) { - $96 = HEAP32[$v>>2]|0; - _sqlite3VdbeCountChanges($96); + $72 = ((($71)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0|0); + $75 = $74&1; + HEAP32[$isView>>2] = $75; + $76 = HEAP32[$0>>2]|0; + $77 = HEAP32[$pTab>>2]|0; + $78 = (_sqlite3ViewGetColumnNames($76,$77)|0); + $79 = ($78|0)!=(0); + if (!($79)) { + $80 = HEAP32[$0>>2]|0; + $81 = HEAP32[$pTab>>2]|0; + $82 = HEAP32[$tmask>>2]|0; + $83 = (_sqlite3IsReadOnly($80,$81,$82)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + $85 = HEAP32[$0>>2]|0; + $86 = (_sqlite3GetVdbe($85)|0); + HEAP32[$v>>2] = $86; + $87 = HEAP32[$v>>2]|0; + $88 = ($87|0)==(0|0); + if (!($88)) { + $89 = HEAP32[$0>>2]|0; + $90 = ((($89)) + 18|0); + $91 = HEAP8[$90>>0]|0; + $92 = $91&255; + $93 = ($92|0)==(0); + if ($93) { + $94 = HEAP32[$v>>2]|0; + _sqlite3VdbeCountChanges($94); } - $97 = HEAP32[$0>>2]|0; - $98 = HEAP32[$2>>2]|0; + $95 = HEAP32[$0>>2]|0; + $96 = HEAP32[$2>>2]|0; + $97 = ($96|0)!=(0|0); + $98 = HEAP32[$pTrigger>>2]|0; $99 = ($98|0)!=(0|0); - $100 = HEAP32[$pTrigger>>2]|0; - $101 = ($100|0)!=(0|0); - $102 = $99 ? 1 : $101; - $103 = $102&1; - $104 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($97,$103,$104); - $105 = HEAP32[$3>>2]|0; - $106 = ($105|0)==(0|0); - if ($106) { - $107 = HEAP32[$0>>2]|0; - $108 = HEAP32[$pTab>>2]|0; - $109 = HEAP32[$2>>2]|0; - $110 = HEAP32[$4>>2]|0; - $111 = HEAP32[$iDb>>2]|0; - $112 = (_xferOptimization($107,$108,$109,$110,$111)|0); - $113 = ($112|0)!=(0); - if (!($113)) { + $100 = $97 ? 1 : $99; + $101 = $100&1; + $102 = HEAP32[$iDb>>2]|0; + _sqlite3BeginWriteOperation($95,$101,$102); + $103 = HEAP32[$3>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $105 = HEAP32[$0>>2]|0; + $106 = HEAP32[$pTab>>2]|0; + $107 = HEAP32[$2>>2]|0; + $108 = HEAP32[$4>>2]|0; + $109 = HEAP32[$iDb>>2]|0; + $110 = (_xferOptimization($105,$106,$107,$108,$109)|0); + $111 = ($110|0)!=(0); + if (!($111)) { label = 17; } } else { @@ -122436,351 +123362,351 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } L20: do { if ((label|0) == 17) { - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$iDb>>2]|0; - $116 = HEAP32[$pTab>>2]|0; - $117 = (_autoIncBegin($114,$115,$116)|0); - HEAP32[$regAutoinc>>2] = $117; - $118 = HEAP32[$0>>2]|0; - $119 = ((($118)) + 76|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($120) + 1)|0; - HEAP32[$regIns>>2] = $121; - HEAP32[$regRowid>>2] = $121; - $122 = HEAP32[$pTab>>2]|0; - $123 = ((($122)) + 34|0); - $124 = HEAP16[$123>>1]|0; - $125 = $124 << 16 >> 16; - $126 = (($125) + 1)|0; - $127 = HEAP32[$0>>2]|0; - $128 = ((($127)) + 76|0); - $129 = HEAP32[$128>>2]|0; - $130 = (($129) + ($126))|0; - HEAP32[$128>>2] = $130; - $131 = HEAP32[$pTab>>2]|0; - $132 = ((($131)) + 42|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = $134 & 16; - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$regRowid>>2]|0; - $138 = (($137) + 1)|0; - HEAP32[$regRowid>>2] = $138; - $139 = HEAP32[$0>>2]|0; - $140 = ((($139)) + 76|0); - $141 = HEAP32[$140>>2]|0; - $142 = (($141) + 1)|0; - HEAP32[$140>>2] = $142; + $112 = HEAP32[$0>>2]|0; + $113 = HEAP32[$iDb>>2]|0; + $114 = HEAP32[$pTab>>2]|0; + $115 = (_autoIncBegin($112,$113,$114)|0); + HEAP32[$regAutoinc>>2] = $115; + $116 = HEAP32[$0>>2]|0; + $117 = ((($116)) + 44|0); + $118 = HEAP32[$117>>2]|0; + $119 = (($118) + 1)|0; + HEAP32[$regIns>>2] = $119; + HEAP32[$regRowid>>2] = $119; + $120 = HEAP32[$pTab>>2]|0; + $121 = ((($120)) + 34|0); + $122 = HEAP16[$121>>1]|0; + $123 = $122 << 16 >> 16; + $124 = (($123) + 1)|0; + $125 = HEAP32[$0>>2]|0; + $126 = ((($125)) + 44|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($127) + ($124))|0; + HEAP32[$126>>2] = $128; + $129 = HEAP32[$pTab>>2]|0; + $130 = ((($129)) + 42|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 & 16; + $134 = ($133|0)!=(0); + if ($134) { + $135 = HEAP32[$regRowid>>2]|0; + $136 = (($135) + 1)|0; + HEAP32[$regRowid>>2] = $136; + $137 = HEAP32[$0>>2]|0; + $138 = ((($137)) + 44|0); + $139 = HEAP32[$138>>2]|0; + $140 = (($139) + 1)|0; + HEAP32[$138>>2] = $140; } - $143 = HEAP32[$regRowid>>2]|0; - $144 = (($143) + 1)|0; - HEAP32[$regData>>2] = $144; - $145 = HEAP32[$pTab>>2]|0; - $146 = ((($145)) + 42|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = $148 & 128; - $150 = ($149|0)==(0); - $151 = $150&1; - $152 = $151&255; - HEAP8[$bIdListInOrder>>0] = $152; - $153 = HEAP32[$3>>2]|0; - $154 = ($153|0)!=(0|0); + $141 = HEAP32[$regRowid>>2]|0; + $142 = (($141) + 1)|0; + HEAP32[$regData>>2] = $142; + $143 = HEAP32[$pTab>>2]|0; + $144 = ((($143)) + 42|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = $146 & 128; + $148 = ($147|0)==(0); + $149 = $148&1; + $150 = $149&255; + HEAP8[$bIdListInOrder>>0] = $150; + $151 = HEAP32[$3>>2]|0; + $152 = ($151|0)!=(0|0); L25: do { - if ($154) { + if ($152) { HEAP32[$i>>2] = 0; while(1) { - $155 = HEAP32[$i>>2]|0; - $156 = HEAP32[$3>>2]|0; - $157 = ((($156)) + 4|0); - $158 = HEAP32[$157>>2]|0; - $159 = ($155|0)<($158|0); - if (!($159)) { + $153 = HEAP32[$i>>2]|0; + $154 = HEAP32[$3>>2]|0; + $155 = ((($154)) + 4|0); + $156 = HEAP32[$155>>2]|0; + $157 = ($153|0)<($156|0); + if (!($157)) { break; } - $160 = HEAP32[$i>>2]|0; - $161 = HEAP32[$3>>2]|0; - $162 = HEAP32[$161>>2]|0; - $163 = (($162) + ($160<<3)|0); - $164 = ((($163)) + 4|0); - HEAP32[$164>>2] = -1; - $165 = HEAP32[$i>>2]|0; - $166 = (($165) + 1)|0; - HEAP32[$i>>2] = $166; + $158 = HEAP32[$i>>2]|0; + $159 = HEAP32[$3>>2]|0; + $160 = HEAP32[$159>>2]|0; + $161 = (($160) + ($158<<3)|0); + $162 = ((($161)) + 4|0); + HEAP32[$162>>2] = -1; + $163 = HEAP32[$i>>2]|0; + $164 = (($163) + 1)|0; + HEAP32[$i>>2] = $164; } HEAP32[$i>>2] = 0; while(1) { - $167 = HEAP32[$i>>2]|0; - $168 = HEAP32[$3>>2]|0; - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($167|0)<($170|0); - if (!($171)) { + $165 = HEAP32[$i>>2]|0; + $166 = HEAP32[$3>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($165|0)<($168|0); + if (!($169)) { break L25; } HEAP32[$j>>2] = 0; while(1) { - $172 = HEAP32[$j>>2]|0; - $173 = HEAP32[$pTab>>2]|0; - $174 = ((($173)) + 34|0); - $175 = HEAP16[$174>>1]|0; - $176 = $175 << 16 >> 16; - $177 = ($172|0)<($176|0); - if (!($177)) { + $170 = HEAP32[$j>>2]|0; + $171 = HEAP32[$pTab>>2]|0; + $172 = ((($171)) + 34|0); + $173 = HEAP16[$172>>1]|0; + $174 = $173 << 16 >> 16; + $175 = ($170|0)<($174|0); + if (!($175)) { break; } - $178 = HEAP32[$i>>2]|0; - $179 = HEAP32[$3>>2]|0; + $176 = HEAP32[$i>>2]|0; + $177 = HEAP32[$3>>2]|0; + $178 = HEAP32[$177>>2]|0; + $179 = (($178) + ($176<<3)|0); $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($178<<3)|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$j>>2]|0; - $184 = HEAP32[$pTab>>2]|0; - $185 = ((($184)) + 4|0); + $181 = HEAP32[$j>>2]|0; + $182 = HEAP32[$pTab>>2]|0; + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = (($184) + ($181<<4)|0); $186 = HEAP32[$185>>2]|0; - $187 = (($186) + ($183<<4)|0); - $188 = HEAP32[$187>>2]|0; - $189 = (_sqlite3StrICmp($182,$188)|0); - $190 = ($189|0)==(0); - $191 = HEAP32[$j>>2]|0; - if ($190) { + $187 = (_sqlite3StrICmp($180,$186)|0); + $188 = ($187|0)==(0); + $189 = HEAP32[$j>>2]|0; + if ($188) { label = 28; break; } - $207 = (($191) + 1)|0; - HEAP32[$j>>2] = $207; + $205 = (($189) + 1)|0; + HEAP32[$j>>2] = $205; } do { if ((label|0) == 28) { label = 0; - $192 = HEAP32[$i>>2]|0; - $193 = HEAP32[$3>>2]|0; - $194 = HEAP32[$193>>2]|0; - $195 = (($194) + ($192<<3)|0); - $196 = ((($195)) + 4|0); - HEAP32[$196>>2] = $191; - $197 = HEAP32[$i>>2]|0; - $198 = HEAP32[$j>>2]|0; - $199 = ($197|0)!=($198|0); - if ($199) { + $190 = HEAP32[$i>>2]|0; + $191 = HEAP32[$3>>2]|0; + $192 = HEAP32[$191>>2]|0; + $193 = (($192) + ($190<<3)|0); + $194 = ((($193)) + 4|0); + HEAP32[$194>>2] = $189; + $195 = HEAP32[$i>>2]|0; + $196 = HEAP32[$j>>2]|0; + $197 = ($195|0)!=($196|0); + if ($197) { HEAP8[$bIdListInOrder>>0] = 0; } - $200 = HEAP32[$j>>2]|0; - $201 = HEAP32[$pTab>>2]|0; - $202 = ((($201)) + 32|0); - $203 = HEAP16[$202>>1]|0; - $204 = $203 << 16 >> 16; - $205 = ($200|0)==($204|0); - if (!($205)) { + $198 = HEAP32[$j>>2]|0; + $199 = HEAP32[$pTab>>2]|0; + $200 = ((($199)) + 32|0); + $201 = HEAP16[$200>>1]|0; + $202 = $201 << 16 >> 16; + $203 = ($198|0)==($202|0); + if (!($203)) { break; } - $206 = HEAP32[$i>>2]|0; - HEAP32[$ipkColumn>>2] = $206; + $204 = HEAP32[$i>>2]|0; + HEAP32[$ipkColumn>>2] = $204; } } while(0); - $208 = HEAP32[$j>>2]|0; - $209 = HEAP32[$pTab>>2]|0; - $210 = ((($209)) + 34|0); - $211 = HEAP16[$210>>1]|0; - $212 = $211 << 16 >> 16; - $213 = ($208|0)>=($212|0); - if ($213) { - $214 = HEAP32[$i>>2]|0; - $215 = HEAP32[$3>>2]|0; + $206 = HEAP32[$j>>2]|0; + $207 = HEAP32[$pTab>>2]|0; + $208 = ((($207)) + 34|0); + $209 = HEAP16[$208>>1]|0; + $210 = $209 << 16 >> 16; + $211 = ($206|0)>=($210|0); + if ($211) { + $212 = HEAP32[$i>>2]|0; + $213 = HEAP32[$3>>2]|0; + $214 = HEAP32[$213>>2]|0; + $215 = (($214) + ($212<<3)|0); $216 = HEAP32[$215>>2]|0; - $217 = (($216) + ($214<<3)|0); - $218 = HEAP32[$217>>2]|0; - $219 = (_sqlite3IsRowid($218)|0); - $220 = ($219|0)==(0); - $221 = HEAP8[$withoutRowid>>0]|0; - $222 = ($221<<24>>24)!=(0); - $or$cond = $220 | $222; + $217 = (_sqlite3IsRowid($216)|0); + $218 = ($217|0)==(0); + $219 = HEAP8[$withoutRowid>>0]|0; + $220 = ($219<<24>>24)!=(0); + $or$cond = $218 | $220; if ($or$cond) { break; } - $223 = HEAP32[$i>>2]|0; - HEAP32[$ipkColumn>>2] = $223; + $221 = HEAP32[$i>>2]|0; + HEAP32[$ipkColumn>>2] = $221; HEAP8[$bIdListInOrder>>0] = 0; } - $233 = HEAP32[$i>>2]|0; - $234 = (($233) + 1)|0; - HEAP32[$i>>2] = $234; + $231 = HEAP32[$i>>2]|0; + $232 = (($231) + 1)|0; + HEAP32[$i>>2] = $232; } - $224 = HEAP32[$0>>2]|0; - $225 = HEAP32[$1>>2]|0; - $226 = HEAP32[$i>>2]|0; - $227 = HEAP32[$3>>2]|0; + $222 = HEAP32[$0>>2]|0; + $223 = HEAP32[$1>>2]|0; + $224 = HEAP32[$i>>2]|0; + $225 = HEAP32[$3>>2]|0; + $226 = HEAP32[$225>>2]|0; + $227 = (($226) + ($224<<3)|0); $228 = HEAP32[$227>>2]|0; - $229 = (($228) + ($226<<3)|0); - $230 = HEAP32[$229>>2]|0; - HEAP32[$vararg_buffer>>2] = $225; + HEAP32[$vararg_buffer>>2] = $223; $vararg_ptr12 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr12>>2] = 0; $vararg_ptr13 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr13>>2] = $230; - _sqlite3ErrorMsg($224,34782,$vararg_buffer); - $231 = HEAP32[$0>>2]|0; - $232 = ((($231)) + 17|0); - HEAP8[$232>>0] = 1; + HEAP32[$vararg_ptr13>>2] = $228; + _sqlite3ErrorMsg($222,34261,$vararg_buffer); + $229 = HEAP32[$0>>2]|0; + $230 = ((($229)) + 17|0); + HEAP8[$230>>0] = 1; break L1; } } while(0); - $235 = HEAP32[$2>>2]|0; - $236 = ($235|0)!=(0|0); + $233 = HEAP32[$2>>2]|0; + $234 = ($233|0)!=(0|0); do { - if ($236) { - $237 = HEAP32[$0>>2]|0; - $238 = ((($237)) + 76|0); - $239 = HEAP32[$238>>2]|0; - $240 = (($239) + 1)|0; - HEAP32[$238>>2] = $240; - HEAP32[$regYield>>2] = $240; - $241 = HEAP32[$v>>2]|0; - $242 = (_sqlite3VdbeCurrentAddr($241)|0); - $243 = (($242) + 1)|0; - HEAP32[$addrTop>>2] = $243; - $244 = HEAP32[$v>>2]|0; + if ($234) { + $235 = HEAP32[$0>>2]|0; + $236 = ((($235)) + 44|0); + $237 = HEAP32[$236>>2]|0; + $238 = (($237) + 1)|0; + HEAP32[$236>>2] = $238; + HEAP32[$regYield>>2] = $238; + $239 = HEAP32[$v>>2]|0; + $240 = (_sqlite3VdbeCurrentAddr($239)|0); + $241 = (($240) + 1)|0; + HEAP32[$addrTop>>2] = $241; + $242 = HEAP32[$v>>2]|0; + $243 = HEAP32[$regYield>>2]|0; + $244 = HEAP32[$addrTop>>2]|0; + (_sqlite3VdbeAddOp3($242,15,$243,0,$244)|0); $245 = HEAP32[$regYield>>2]|0; - $246 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp3($244,15,$245,0,$246)|0); - $247 = HEAP32[$regYield>>2]|0; - _sqlite3SelectDestInit($dest,13,$247); - $248 = HEAP8[$bIdListInOrder>>0]|0; - $249 = $248&255; - $250 = ($249|0)!=(0); - $251 = HEAP32[$regData>>2]|0; - $252 = $250 ? $251 : 0; - $253 = ((($dest)) + 8|0); - HEAP32[$253>>2] = $252; - $254 = HEAP32[$pTab>>2]|0; - $255 = ((($254)) + 34|0); - $256 = HEAP16[$255>>1]|0; - $257 = $256 << 16 >> 16; - $258 = ((($dest)) + 12|0); - HEAP32[$258>>2] = $257; - $259 = HEAP32[$0>>2]|0; - $260 = HEAP32[$2>>2]|0; - $261 = (_sqlite3Select($259,$260,$dest)|0); - HEAP32[$rc>>2] = $261; - $262 = ((($dest)) + 8|0); - $263 = HEAP32[$262>>2]|0; - HEAP32[$regFromSelect>>2] = $263; - $264 = HEAP32[$rc>>2]|0; - $265 = ($264|0)!=(0); - if ($265) { + _sqlite3SelectDestInit($dest,13,$245); + $246 = HEAP8[$bIdListInOrder>>0]|0; + $247 = $246&255; + $248 = ($247|0)!=(0); + $249 = HEAP32[$regData>>2]|0; + $250 = $248 ? $249 : 0; + $251 = ((($dest)) + 12|0); + HEAP32[$251>>2] = $250; + $252 = HEAP32[$pTab>>2]|0; + $253 = ((($252)) + 34|0); + $254 = HEAP16[$253>>1]|0; + $255 = $254 << 16 >> 16; + $256 = ((($dest)) + 16|0); + HEAP32[$256>>2] = $255; + $257 = HEAP32[$0>>2]|0; + $258 = HEAP32[$2>>2]|0; + $259 = (_sqlite3Select($257,$258,$dest)|0); + HEAP32[$rc>>2] = $259; + $260 = ((($dest)) + 12|0); + $261 = HEAP32[$260>>2]|0; + HEAP32[$regFromSelect>>2] = $261; + $262 = HEAP32[$rc>>2]|0; + $263 = ($262|0)!=(0); + if ($263) { break L1; } - $266 = HEAP32[$db>>2]|0; - $267 = ((($266)) + 69|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = ($269|0)!=(0); - if ($270) { + $264 = HEAP32[$db>>2]|0; + $265 = ((($264)) + 69|0); + $266 = HEAP8[$265>>0]|0; + $267 = $266&255; + $268 = ($267|0)!=(0); + if ($268) { break L1; } - $271 = HEAP32[$0>>2]|0; - $272 = ((($271)) + 68|0); - $273 = HEAP32[$272>>2]|0; - $274 = ($273|0)!=(0); - if ($274) { + $269 = HEAP32[$0>>2]|0; + $270 = ((($269)) + 36|0); + $271 = HEAP32[$270>>2]|0; + $272 = ($271|0)!=(0); + if ($272) { break L1; } + $273 = HEAP32[$v>>2]|0; + $274 = HEAP32[$regYield>>2]|0; + _sqlite3VdbeEndCoroutine($273,$274); $275 = HEAP32[$v>>2]|0; - $276 = HEAP32[$regYield>>2]|0; - _sqlite3VdbeEndCoroutine($275,$276); - $277 = HEAP32[$v>>2]|0; - $278 = HEAP32[$addrTop>>2]|0; - $279 = (($278) - 1)|0; - _sqlite3VdbeJumpHere($277,$279); - $280 = HEAP32[$2>>2]|0; - $281 = HEAP32[$280>>2]|0; - $282 = HEAP32[$281>>2]|0; - HEAP32[$nColumn>>2] = $282; - $283 = HEAP32[$pTrigger>>2]|0; - $284 = ($283|0)!=(0|0); - if ($284) { + $276 = HEAP32[$addrTop>>2]|0; + $277 = (($276) - 1)|0; + _sqlite3VdbeJumpHere($275,$277); + $278 = HEAP32[$2>>2]|0; + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$279>>2]|0; + HEAP32[$nColumn>>2] = $280; + $281 = HEAP32[$pTrigger>>2]|0; + $282 = ($281|0)!=(0|0); + if ($282) { label = 44; } else { - $285 = HEAP32[$0>>2]|0; - $286 = HEAP32[$iDb>>2]|0; - $287 = HEAP32[$pTab>>2]|0; - $288 = (_readsTable($285,$286,$287)|0); - $289 = ($288|0)!=(0); - if ($289) { + $283 = HEAP32[$0>>2]|0; + $284 = HEAP32[$iDb>>2]|0; + $285 = HEAP32[$pTab>>2]|0; + $286 = (_readsTable($283,$284,$285)|0); + $287 = ($286|0)!=(0); + if ($287) { label = 44; } } if ((label|0) == 44) { HEAP8[$useTempTable>>0] = 1; } - $290 = HEAP8[$useTempTable>>0]|0; - $291 = ($290<<24>>24)!=(0); - if (!($291)) { + $288 = HEAP8[$useTempTable>>0]|0; + $289 = ($288<<24>>24)!=(0); + if (!($289)) { break; } - $292 = HEAP32[$0>>2]|0; - $293 = ((($292)) + 72|0); - $294 = HEAP32[$293>>2]|0; - $295 = (($294) + 1)|0; - HEAP32[$293>>2] = $295; - HEAP32[$srcTab>>2] = $294; + $290 = HEAP32[$0>>2]|0; + $291 = ((($290)) + 40|0); + $292 = HEAP32[$291>>2]|0; + $293 = (($292) + 1)|0; + HEAP32[$291>>2] = $293; + HEAP32[$srcTab>>2] = $292; + $294 = HEAP32[$0>>2]|0; + $295 = (_sqlite3GetTempReg($294)|0); + HEAP32[$regRec>>2] = $295; $296 = HEAP32[$0>>2]|0; $297 = (_sqlite3GetTempReg($296)|0); - HEAP32[$regRec>>2] = $297; - $298 = HEAP32[$0>>2]|0; - $299 = (_sqlite3GetTempReg($298)|0); - HEAP32[$regTempRowid>>2] = $299; - $300 = HEAP32[$v>>2]|0; - $301 = HEAP32[$srcTab>>2]|0; - $302 = HEAP32[$nColumn>>2]|0; - (_sqlite3VdbeAddOp2($300,105,$301,$302)|0); - $303 = HEAP32[$v>>2]|0; - $304 = ((($dest)) + 4|0); - $305 = HEAP32[$304>>2]|0; - $306 = (_sqlite3VdbeAddOp1($303,16,$305)|0); - HEAP32[$addrL>>2] = $306; - $307 = HEAP32[$v>>2]|0; - $308 = HEAP32[$regFromSelect>>2]|0; - $309 = HEAP32[$nColumn>>2]|0; - $310 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($307,96,$308,$309,$310)|0); - $311 = HEAP32[$v>>2]|0; - $312 = HEAP32[$srcTab>>2]|0; - $313 = HEAP32[$regTempRowid>>2]|0; - (_sqlite3VdbeAddOp2($311,112,$312,$313)|0); - $314 = HEAP32[$v>>2]|0; - $315 = HEAP32[$srcTab>>2]|0; - $316 = HEAP32[$regRec>>2]|0; - $317 = HEAP32[$regTempRowid>>2]|0; - (_sqlite3VdbeAddOp3($314,113,$315,$316,$317)|0); + HEAP32[$regTempRowid>>2] = $297; + $298 = HEAP32[$v>>2]|0; + $299 = HEAP32[$srcTab>>2]|0; + $300 = HEAP32[$nColumn>>2]|0; + (_sqlite3VdbeAddOp2($298,107,$299,$300)|0); + $301 = HEAP32[$v>>2]|0; + $302 = ((($dest)) + 8|0); + $303 = HEAP32[$302>>2]|0; + $304 = (_sqlite3VdbeAddOp1($301,16,$303)|0); + HEAP32[$addrL>>2] = $304; + $305 = HEAP32[$v>>2]|0; + $306 = HEAP32[$regFromSelect>>2]|0; + $307 = HEAP32[$nColumn>>2]|0; + $308 = HEAP32[$regRec>>2]|0; + (_sqlite3VdbeAddOp3($305,99,$306,$307,$308)|0); + $309 = HEAP32[$v>>2]|0; + $310 = HEAP32[$srcTab>>2]|0; + $311 = HEAP32[$regTempRowid>>2]|0; + (_sqlite3VdbeAddOp2($309,114,$310,$311)|0); + $312 = HEAP32[$v>>2]|0; + $313 = HEAP32[$srcTab>>2]|0; + $314 = HEAP32[$regRec>>2]|0; + $315 = HEAP32[$regTempRowid>>2]|0; + (_sqlite3VdbeAddOp3($312,115,$313,$314,$315)|0); + $316 = HEAP32[$v>>2]|0; + $317 = HEAP32[$addrL>>2]|0; + (_sqlite3VdbeGoto($316,$317)|0); $318 = HEAP32[$v>>2]|0; $319 = HEAP32[$addrL>>2]|0; - (_sqlite3VdbeGoto($318,$319)|0); - $320 = HEAP32[$v>>2]|0; - $321 = HEAP32[$addrL>>2]|0; - _sqlite3VdbeJumpHere($320,$321); + _sqlite3VdbeJumpHere($318,$319); + $320 = HEAP32[$0>>2]|0; + $321 = HEAP32[$regRec>>2]|0; + _sqlite3ReleaseTempReg($320,$321); $322 = HEAP32[$0>>2]|0; - $323 = HEAP32[$regRec>>2]|0; + $323 = HEAP32[$regTempRowid>>2]|0; _sqlite3ReleaseTempReg($322,$323); - $324 = HEAP32[$0>>2]|0; - $325 = HEAP32[$regTempRowid>>2]|0; - _sqlite3ReleaseTempReg($324,$325); } else { ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $326 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $326; + $324 = HEAP32[$0>>2]|0; + HEAP32[$sNC>>2] = $324; HEAP32[$srcTab>>2] = -1; - $327 = HEAP32[$pList>>2]|0; - $328 = ($327|0)!=(0|0); - if ($328) { + $325 = HEAP32[$pList>>2]|0; + $326 = ($325|0)!=(0|0); + if ($326) { + $327 = HEAP32[$pList>>2]|0; + $328 = HEAP32[$327>>2]|0; + HEAP32[$nColumn>>2] = $328; $329 = HEAP32[$pList>>2]|0; - $330 = HEAP32[$329>>2]|0; - HEAP32[$nColumn>>2] = $330; - $331 = HEAP32[$pList>>2]|0; - $332 = (_sqlite3ResolveExprListNames($sNC,$331)|0); - $333 = ($332|0)!=(0); - if ($333) { + $330 = (_sqlite3ResolveExprListNames($sNC,$329)|0); + $331 = ($330|0)!=(0); + if ($331) { break L1; } else { break; @@ -122791,332 +123717,332 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } } while(0); - $334 = HEAP32[$3>>2]|0; - $335 = ($334|0)==(0|0); - $336 = HEAP32[$nColumn>>2]|0; - $337 = ($336|0)>(0); - $or$cond3 = $335 & $337; + $332 = HEAP32[$3>>2]|0; + $333 = ($332|0)==(0|0); + $334 = HEAP32[$nColumn>>2]|0; + $335 = ($334|0)>(0); + $or$cond3 = $333 & $335; if ($or$cond3) { - $338 = HEAP32[$pTab>>2]|0; - $339 = ((($338)) + 32|0); - $340 = HEAP16[$339>>1]|0; - $341 = $340 << 16 >> 16; - HEAP32[$ipkColumn>>2] = $341; + $336 = HEAP32[$pTab>>2]|0; + $337 = ((($336)) + 32|0); + $338 = HEAP16[$337>>1]|0; + $339 = $338 << 16 >> 16; + HEAP32[$ipkColumn>>2] = $339; } HEAP32[$i>>2] = 0; while(1) { - $342 = HEAP32[$i>>2]|0; - $343 = HEAP32[$pTab>>2]|0; - $344 = ((($343)) + 34|0); - $345 = HEAP16[$344>>1]|0; - $346 = $345 << 16 >> 16; - $347 = ($342|0)<($346|0); - if (!($347)) { + $340 = HEAP32[$i>>2]|0; + $341 = HEAP32[$pTab>>2]|0; + $342 = ((($341)) + 34|0); + $343 = HEAP16[$342>>1]|0; + $344 = $343 << 16 >> 16; + $345 = ($340|0)<($344|0); + if (!($345)) { break; } - $348 = HEAP32[$i>>2]|0; - $349 = HEAP32[$pTab>>2]|0; - $350 = ((($349)) + 4|0); - $351 = HEAP32[$350>>2]|0; - $352 = (($351) + ($348<<4)|0); - $353 = ((($352)) + 15|0); - $354 = HEAP8[$353>>0]|0; - $355 = $354&255; - $356 = $355 & 2; - $357 = ($356|0)!=(0); - $358 = $357 ? 1 : 0; - $359 = HEAP32[$nHidden>>2]|0; - $360 = (($359) + ($358))|0; - HEAP32[$nHidden>>2] = $360; - $361 = HEAP32[$i>>2]|0; - $362 = (($361) + 1)|0; - HEAP32[$i>>2] = $362; + $346 = HEAP32[$i>>2]|0; + $347 = HEAP32[$pTab>>2]|0; + $348 = ((($347)) + 4|0); + $349 = HEAP32[$348>>2]|0; + $350 = (($349) + ($346<<4)|0); + $351 = ((($350)) + 15|0); + $352 = HEAP8[$351>>0]|0; + $353 = $352&255; + $354 = $353 & 2; + $355 = ($354|0)!=(0); + $356 = $355 ? 1 : 0; + $357 = HEAP32[$nHidden>>2]|0; + $358 = (($357) + ($356))|0; + HEAP32[$nHidden>>2] = $358; + $359 = HEAP32[$i>>2]|0; + $360 = (($359) + 1)|0; + HEAP32[$i>>2] = $360; } - $363 = HEAP32[$3>>2]|0; - $364 = ($363|0)==(0|0); - $365 = HEAP32[$nColumn>>2]|0; - $366 = ($365|0)!=(0); - $or$cond5 = $364 & $366; + $361 = HEAP32[$3>>2]|0; + $362 = ($361|0)==(0|0); + $363 = HEAP32[$nColumn>>2]|0; + $364 = ($363|0)!=(0); + $or$cond5 = $362 & $364; if ($or$cond5) { - $367 = HEAP32[$nColumn>>2]|0; - $368 = HEAP32[$pTab>>2]|0; - $369 = ((($368)) + 34|0); - $370 = HEAP16[$369>>1]|0; - $371 = $370 << 16 >> 16; - $372 = HEAP32[$nHidden>>2]|0; - $373 = (($371) - ($372))|0; - $374 = ($367|0)!=($373|0); - if ($374) { - $375 = HEAP32[$0>>2]|0; - $376 = HEAP32[$1>>2]|0; - $377 = HEAP32[$pTab>>2]|0; - $378 = ((($377)) + 34|0); - $379 = HEAP16[$378>>1]|0; - $380 = $379 << 16 >> 16; - $381 = HEAP32[$nHidden>>2]|0; - $382 = (($380) - ($381))|0; - $383 = HEAP32[$nColumn>>2]|0; - HEAP32[$vararg_buffer14>>2] = $376; + $365 = HEAP32[$nColumn>>2]|0; + $366 = HEAP32[$pTab>>2]|0; + $367 = ((($366)) + 34|0); + $368 = HEAP16[$367>>1]|0; + $369 = $368 << 16 >> 16; + $370 = HEAP32[$nHidden>>2]|0; + $371 = (($369) - ($370))|0; + $372 = ($365|0)!=($371|0); + if ($372) { + $373 = HEAP32[$0>>2]|0; + $374 = HEAP32[$1>>2]|0; + $375 = HEAP32[$pTab>>2]|0; + $376 = ((($375)) + 34|0); + $377 = HEAP16[$376>>1]|0; + $378 = $377 << 16 >> 16; + $379 = HEAP32[$nHidden>>2]|0; + $380 = (($378) - ($379))|0; + $381 = HEAP32[$nColumn>>2]|0; + HEAP32[$vararg_buffer14>>2] = $374; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = 0; $vararg_ptr18 = ((($vararg_buffer14)) + 8|0); - HEAP32[$vararg_ptr18>>2] = $382; + HEAP32[$vararg_ptr18>>2] = $380; $vararg_ptr19 = ((($vararg_buffer14)) + 12|0); - HEAP32[$vararg_ptr19>>2] = $383; - _sqlite3ErrorMsg($375,34814,$vararg_buffer14); + HEAP32[$vararg_ptr19>>2] = $381; + _sqlite3ErrorMsg($373,34293,$vararg_buffer14); break L1; } } - $384 = HEAP32[$3>>2]|0; - $385 = ($384|0)!=(0|0); + $382 = HEAP32[$3>>2]|0; + $383 = ($382|0)!=(0|0); do { - if ($385) { - $386 = HEAP32[$nColumn>>2]|0; - $387 = HEAP32[$3>>2]|0; - $388 = ((($387)) + 4|0); - $389 = HEAP32[$388>>2]|0; - $390 = ($386|0)!=($389|0); - if (!($390)) { + if ($383) { + $384 = HEAP32[$nColumn>>2]|0; + $385 = HEAP32[$3>>2]|0; + $386 = ((($385)) + 4|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($384|0)!=($387|0); + if (!($388)) { break; } - $391 = HEAP32[$0>>2]|0; - $392 = HEAP32[$nColumn>>2]|0; - $393 = HEAP32[$3>>2]|0; - $394 = ((($393)) + 4|0); - $395 = HEAP32[$394>>2]|0; - HEAP32[$vararg_buffer20>>2] = $392; + $389 = HEAP32[$0>>2]|0; + $390 = HEAP32[$nColumn>>2]|0; + $391 = HEAP32[$3>>2]|0; + $392 = ((($391)) + 4|0); + $393 = HEAP32[$392>>2]|0; + HEAP32[$vararg_buffer20>>2] = $390; $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $395; - _sqlite3ErrorMsg($391,34866,$vararg_buffer20); + HEAP32[$vararg_ptr23>>2] = $393; + _sqlite3ErrorMsg($389,34345,$vararg_buffer20); break L1; } } while(0); - $396 = HEAP32[$db>>2]|0; - $397 = ((($396)) + 24|0); - $398 = HEAP32[$397>>2]|0; - $399 = $398 & 128; - $400 = ($399|0)!=(0); - if ($400) { - $401 = HEAP32[$0>>2]|0; - $402 = ((($401)) + 76|0); - $403 = HEAP32[$402>>2]|0; - $404 = (($403) + 1)|0; - HEAP32[$402>>2] = $404; - HEAP32[$regRowCount>>2] = $404; - $405 = HEAP32[$v>>2]|0; - $406 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($405,74,0,$406)|0); + $394 = HEAP32[$db>>2]|0; + $395 = ((($394)) + 24|0); + $396 = HEAP32[$395>>2]|0; + $397 = $396 & 128; + $398 = ($397|0)!=(0); + if ($398) { + $399 = HEAP32[$0>>2]|0; + $400 = ((($399)) + 44|0); + $401 = HEAP32[$400>>2]|0; + $402 = (($401) + 1)|0; + HEAP32[$400>>2] = $402; + HEAP32[$regRowCount>>2] = $402; + $403 = HEAP32[$v>>2]|0; + $404 = HEAP32[$regRowCount>>2]|0; + (_sqlite3VdbeAddOp2($403,76,0,$404)|0); } - $407 = HEAP32[$isView>>2]|0; - $408 = ($407|0)!=(0); + $405 = HEAP32[$isView>>2]|0; + $406 = ($405|0)!=(0); L85: do { - if (!($408)) { - $409 = HEAP32[$0>>2]|0; - $410 = HEAP32[$pTab>>2]|0; - $411 = (_sqlite3OpenTableAndIndices($409,$410,103,0,-1,0,$iDataCur,$iIdxCur)|0); - HEAP32[$nIdx>>2] = $411; - $412 = HEAP32[$db>>2]|0; - $413 = HEAP32[$nIdx>>2]|0; - $414 = (($413) + 1)|0; - $415 = $414<<2; - $416 = (_sqlite3DbMallocRawNN($412,$415,0)|0); - HEAP32[$aRegIdx>>2] = $416; - $417 = HEAP32[$aRegIdx>>2]|0; - $418 = ($417|0)==(0|0); - if ($418) { + if (!($406)) { + $407 = HEAP32[$0>>2]|0; + $408 = HEAP32[$pTab>>2]|0; + $409 = (_sqlite3OpenTableAndIndices($407,$408,105,0,-1,0,$iDataCur,$iIdxCur)|0); + HEAP32[$nIdx>>2] = $409; + $410 = HEAP32[$db>>2]|0; + $411 = HEAP32[$nIdx>>2]|0; + $412 = (($411) + 1)|0; + $413 = $412<<2; + $414 = (_sqlite3DbMallocRawNN($410,$413,0)|0); + HEAP32[$aRegIdx>>2] = $414; + $415 = HEAP32[$aRegIdx>>2]|0; + $416 = ($415|0)==(0|0); + if ($416) { break L1; } HEAP32[$i>>2] = 0; while(1) { - $419 = HEAP32[$i>>2]|0; - $420 = HEAP32[$nIdx>>2]|0; - $421 = ($419|0)<($420|0); - if (!($421)) { + $417 = HEAP32[$i>>2]|0; + $418 = HEAP32[$nIdx>>2]|0; + $419 = ($417|0)<($418|0); + if (!($419)) { break L85; } - $422 = HEAP32[$0>>2]|0; - $423 = ((($422)) + 76|0); - $424 = HEAP32[$423>>2]|0; - $425 = (($424) + 1)|0; - HEAP32[$423>>2] = $425; - $426 = HEAP32[$i>>2]|0; - $427 = HEAP32[$aRegIdx>>2]|0; - $428 = (($427) + ($426<<2)|0); - HEAP32[$428>>2] = $425; - $429 = HEAP32[$i>>2]|0; - $430 = (($429) + 1)|0; - HEAP32[$i>>2] = $430; + $420 = HEAP32[$0>>2]|0; + $421 = ((($420)) + 44|0); + $422 = HEAP32[$421>>2]|0; + $423 = (($422) + 1)|0; + HEAP32[$421>>2] = $423; + $424 = HEAP32[$i>>2]|0; + $425 = HEAP32[$aRegIdx>>2]|0; + $426 = (($425) + ($424<<2)|0); + HEAP32[$426>>2] = $423; + $427 = HEAP32[$i>>2]|0; + $428 = (($427) + 1)|0; + HEAP32[$i>>2] = $428; } } } while(0); - $431 = HEAP8[$useTempTable>>0]|0; - $432 = ($431<<24>>24)!=(0); + $429 = HEAP8[$useTempTable>>0]|0; + $430 = ($429<<24>>24)!=(0); do { - if ($432) { - $433 = HEAP32[$v>>2]|0; - $434 = HEAP32[$srcTab>>2]|0; - $435 = (_sqlite3VdbeAddOp1($433,55,$434)|0); - HEAP32[$addrInsTop>>2] = $435; - $436 = HEAP32[$v>>2]|0; - $437 = (_sqlite3VdbeCurrentAddr($436)|0); - HEAP32[$addrCont>>2] = $437; + if ($430) { + $431 = HEAP32[$v>>2]|0; + $432 = HEAP32[$srcTab>>2]|0; + $433 = (_sqlite3VdbeAddOp1($431,57,$432)|0); + HEAP32[$addrInsTop>>2] = $433; + $434 = HEAP32[$v>>2]|0; + $435 = (_sqlite3VdbeCurrentAddr($434)|0); + HEAP32[$addrCont>>2] = $435; } else { - $438 = HEAP32[$2>>2]|0; - $439 = ($438|0)!=(0|0); - if (!($439)) { + $436 = HEAP32[$2>>2]|0; + $437 = ($436|0)!=(0|0); + if (!($437)) { break; } - $440 = HEAP32[$v>>2]|0; - $441 = ((($dest)) + 4|0); - $442 = HEAP32[$441>>2]|0; - $443 = (_sqlite3VdbeAddOp1($440,16,$442)|0); - HEAP32[$addrCont>>2] = $443; - HEAP32[$addrInsTop>>2] = $443; + $438 = HEAP32[$v>>2]|0; + $439 = ((($dest)) + 8|0); + $440 = HEAP32[$439>>2]|0; + $441 = (_sqlite3VdbeAddOp1($438,16,$440)|0); + HEAP32[$addrCont>>2] = $441; + HEAP32[$addrInsTop>>2] = $441; } } while(0); - $444 = HEAP32[$v>>2]|0; - $445 = (_sqlite3VdbeMakeLabel($444)|0); - HEAP32[$endOfLoop>>2] = $445; - $446 = HEAP32[$tmask>>2]|0; - $447 = $446 & 1; - $448 = ($447|0)!=(0); - if ($448) { - $449 = HEAP32[$0>>2]|0; - $450 = HEAP32[$pTab>>2]|0; - $451 = ((($450)) + 34|0); - $452 = HEAP16[$451>>1]|0; - $453 = $452 << 16 >> 16; - $454 = (($453) + 1)|0; - $455 = (_sqlite3GetTempRange($449,$454)|0); - HEAP32[$regCols>>2] = $455; - $456 = HEAP32[$ipkColumn>>2]|0; - $457 = ($456|0)<(0); - if ($457) { - $458 = HEAP32[$v>>2]|0; - $459 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp2($458,74,-1,$459)|0); + $442 = HEAP32[$v>>2]|0; + $443 = (_sqlite3VdbeMakeLabel($442)|0); + HEAP32[$endOfLoop>>2] = $443; + $444 = HEAP32[$tmask>>2]|0; + $445 = $444 & 1; + $446 = ($445|0)!=(0); + if ($446) { + $447 = HEAP32[$0>>2]|0; + $448 = HEAP32[$pTab>>2]|0; + $449 = ((($448)) + 34|0); + $450 = HEAP16[$449>>1]|0; + $451 = $450 << 16 >> 16; + $452 = (($451) + 1)|0; + $453 = (_sqlite3GetTempRange($447,$452)|0); + HEAP32[$regCols>>2] = $453; + $454 = HEAP32[$ipkColumn>>2]|0; + $455 = ($454|0)<(0); + if ($455) { + $456 = HEAP32[$v>>2]|0; + $457 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp2($456,76,-1,$457)|0); } else { - $460 = HEAP8[$useTempTable>>0]|0; - $461 = ($460<<24>>24)!=(0); - if ($461) { - $462 = HEAP32[$v>>2]|0; - $463 = HEAP32[$srcTab>>2]|0; - $464 = HEAP32[$ipkColumn>>2]|0; - $465 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp3($462,94,$463,$464,$465)|0); + $458 = HEAP8[$useTempTable>>0]|0; + $459 = ($458<<24>>24)!=(0); + if ($459) { + $460 = HEAP32[$v>>2]|0; + $461 = HEAP32[$srcTab>>2]|0; + $462 = HEAP32[$ipkColumn>>2]|0; + $463 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp3($460,96,$461,$462,$463)|0); } else { - $466 = HEAP32[$0>>2]|0; - $467 = HEAP32[$ipkColumn>>2]|0; - $468 = HEAP32[$pList>>2]|0; - $469 = ((($468)) + 4|0); + $464 = HEAP32[$0>>2]|0; + $465 = HEAP32[$ipkColumn>>2]|0; + $466 = HEAP32[$pList>>2]|0; + $467 = ((($466)) + 4|0); + $468 = HEAP32[$467>>2]|0; + $469 = (($468) + (($465*20)|0)|0); $470 = HEAP32[$469>>2]|0; - $471 = (($470) + (($467*20)|0)|0); - $472 = HEAP32[$471>>2]|0; - $473 = HEAP32[$regCols>>2]|0; - _sqlite3ExprCode($466,$472,$473); + $471 = HEAP32[$regCols>>2]|0; + _sqlite3ExprCode($464,$470,$471); } - $474 = HEAP32[$v>>2]|0; - $475 = HEAP32[$regCols>>2]|0; - $476 = (_sqlite3VdbeAddOp1($474,35,$475)|0); - HEAP32[$addr1>>2] = $476; + $472 = HEAP32[$v>>2]|0; + $473 = HEAP32[$regCols>>2]|0; + $474 = (_sqlite3VdbeAddOp1($472,35,$473)|0); + HEAP32[$addr1>>2] = $474; + $475 = HEAP32[$v>>2]|0; + $476 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp2($475,76,-1,$476)|0); $477 = HEAP32[$v>>2]|0; - $478 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp2($477,74,-1,$478)|0); + $478 = HEAP32[$addr1>>2]|0; + _sqlite3VdbeJumpHere($477,$478); $479 = HEAP32[$v>>2]|0; - $480 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($479,$480); - $481 = HEAP32[$v>>2]|0; - $482 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp1($481,17,$482)|0); + $480 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp1($479,17,$480)|0); } HEAP32[$j>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $483 = HEAP32[$i>>2]|0; - $484 = HEAP32[$pTab>>2]|0; - $485 = ((($484)) + 34|0); - $486 = HEAP16[$485>>1]|0; - $487 = $486 << 16 >> 16; - $488 = ($483|0)<($487|0); - if (!($488)) { + $481 = HEAP32[$i>>2]|0; + $482 = HEAP32[$pTab>>2]|0; + $483 = ((($482)) + 34|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($481|0)<($485|0); + if (!($486)) { break; } - $489 = HEAP32[$3>>2]|0; - $490 = ($489|0)!=(0|0); + $487 = HEAP32[$3>>2]|0; + $488 = ($487|0)!=(0|0); L110: do { - if ($490) { + if ($488) { HEAP32[$j>>2] = 0; while(1) { - $491 = HEAP32[$j>>2]|0; - $492 = HEAP32[$3>>2]|0; - $493 = ((($492)) + 4|0); - $494 = HEAP32[$493>>2]|0; - $495 = ($491|0)<($494|0); - if (!($495)) { + $489 = HEAP32[$j>>2]|0; + $490 = HEAP32[$3>>2]|0; + $491 = ((($490)) + 4|0); + $492 = HEAP32[$491>>2]|0; + $493 = ($489|0)<($492|0); + if (!($493)) { break L110; } - $496 = HEAP32[$j>>2]|0; - $497 = HEAP32[$3>>2]|0; - $498 = HEAP32[$497>>2]|0; - $499 = (($498) + ($496<<3)|0); - $500 = ((($499)) + 4|0); - $501 = HEAP32[$500>>2]|0; - $502 = HEAP32[$i>>2]|0; - $503 = ($501|0)==($502|0); - if ($503) { + $494 = HEAP32[$j>>2]|0; + $495 = HEAP32[$3>>2]|0; + $496 = HEAP32[$495>>2]|0; + $497 = (($496) + ($494<<3)|0); + $498 = ((($497)) + 4|0); + $499 = HEAP32[$498>>2]|0; + $500 = HEAP32[$i>>2]|0; + $501 = ($499|0)==($500|0); + if ($501) { break L110; } - $504 = HEAP32[$j>>2]|0; - $505 = (($504) + 1)|0; - HEAP32[$j>>2] = $505; + $502 = HEAP32[$j>>2]|0; + $503 = (($502) + 1)|0; + HEAP32[$j>>2] = $503; } } } while(0); - $506 = HEAP8[$useTempTable>>0]|0; - $507 = ($506<<24>>24)!=(0); - $508 = HEAP32[$pList>>2]|0; - $509 = ($508|0)!=(0|0); - $or$cond7 = $507 | $509; + $504 = HEAP8[$useTempTable>>0]|0; + $505 = ($504<<24>>24)!=(0); + $506 = HEAP32[$pList>>2]|0; + $507 = ($506|0)!=(0|0); + $or$cond7 = $505 | $507; do { if ($or$cond7) { - $510 = HEAP32[$3>>2]|0; - $511 = ($510|0)!=(0|0); - if ($511) { - $512 = HEAP32[$j>>2]|0; - $513 = HEAP32[$3>>2]|0; - $514 = ((($513)) + 4|0); - $515 = HEAP32[$514>>2]|0; - $516 = ($512|0)>=($515|0); - if ($516) { + $508 = HEAP32[$3>>2]|0; + $509 = ($508|0)!=(0|0); + if ($509) { + $510 = HEAP32[$j>>2]|0; + $511 = HEAP32[$3>>2]|0; + $512 = ((($511)) + 4|0); + $513 = HEAP32[$512>>2]|0; + $514 = ($510|0)>=($513|0); + if ($514) { label = 90; break; } } - $517 = HEAP8[$useTempTable>>0]|0; - $518 = ($517<<24>>24)!=(0); - if ($518) { - $531 = HEAP32[$v>>2]|0; - $532 = HEAP32[$srcTab>>2]|0; - $533 = HEAP32[$j>>2]|0; - $534 = HEAP32[$regCols>>2]|0; - $535 = HEAP32[$i>>2]|0; - $536 = (($534) + ($535))|0; - $537 = (($536) + 1)|0; - (_sqlite3VdbeAddOp3($531,94,$532,$533,$537)|0); + $515 = HEAP8[$useTempTable>>0]|0; + $516 = ($515<<24>>24)!=(0); + if ($516) { + $529 = HEAP32[$v>>2]|0; + $530 = HEAP32[$srcTab>>2]|0; + $531 = HEAP32[$j>>2]|0; + $532 = HEAP32[$regCols>>2]|0; + $533 = HEAP32[$i>>2]|0; + $534 = (($532) + ($533))|0; + $535 = (($534) + 1)|0; + (_sqlite3VdbeAddOp3($529,96,$530,$531,$535)|0); break; } else { - $538 = HEAP32[$0>>2]|0; - $539 = HEAP32[$j>>2]|0; - $540 = HEAP32[$pList>>2]|0; - $541 = ((($540)) + 4|0); + $536 = HEAP32[$0>>2]|0; + $537 = HEAP32[$j>>2]|0; + $538 = HEAP32[$pList>>2]|0; + $539 = ((($538)) + 4|0); + $540 = HEAP32[$539>>2]|0; + $541 = (($540) + (($537*20)|0)|0); $542 = HEAP32[$541>>2]|0; - $543 = (($542) + (($539*20)|0)|0); - $544 = HEAP32[$543>>2]|0; - $545 = HEAP32[$regCols>>2]|0; - $546 = HEAP32[$i>>2]|0; - $547 = (($545) + ($546))|0; - $548 = (($547) + 1)|0; - _sqlite3ExprCodeAndCache($538,$544,$548); + $543 = HEAP32[$regCols>>2]|0; + $544 = HEAP32[$i>>2]|0; + $545 = (($543) + ($544))|0; + $546 = (($545) + 1)|0; + _sqlite3ExprCodeAndCache($536,$542,$546); break; } } else { @@ -123125,589 +124051,589 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } while(0); if ((label|0) == 90) { label = 0; - $519 = HEAP32[$0>>2]|0; - $520 = HEAP32[$i>>2]|0; - $521 = HEAP32[$pTab>>2]|0; - $522 = ((($521)) + 4|0); - $523 = HEAP32[$522>>2]|0; - $524 = (($523) + ($520<<4)|0); - $525 = ((($524)) + 4|0); - $526 = HEAP32[$525>>2]|0; - $527 = HEAP32[$regCols>>2]|0; - $528 = HEAP32[$i>>2]|0; - $529 = (($527) + ($528))|0; - $530 = (($529) + 1)|0; - _sqlite3ExprCode($519,$526,$530); + $517 = HEAP32[$0>>2]|0; + $518 = HEAP32[$i>>2]|0; + $519 = HEAP32[$pTab>>2]|0; + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = (($521) + ($518<<4)|0); + $523 = ((($522)) + 4|0); + $524 = HEAP32[$523>>2]|0; + $525 = HEAP32[$regCols>>2]|0; + $526 = HEAP32[$i>>2]|0; + $527 = (($525) + ($526))|0; + $528 = (($527) + 1)|0; + _sqlite3ExprCode($517,$524,$528); } - $549 = HEAP32[$3>>2]|0; - $550 = ($549|0)==(0|0); - if ($550) { - $551 = HEAP32[$j>>2]|0; - $552 = (($551) + 1)|0; - HEAP32[$j>>2] = $552; + $547 = HEAP32[$3>>2]|0; + $548 = ($547|0)==(0|0); + if ($548) { + $549 = HEAP32[$j>>2]|0; + $550 = (($549) + 1)|0; + HEAP32[$j>>2] = $550; } - $553 = HEAP32[$i>>2]|0; - $554 = (($553) + 1)|0; - HEAP32[$i>>2] = $554; + $551 = HEAP32[$i>>2]|0; + $552 = (($551) + 1)|0; + HEAP32[$i>>2] = $552; } - $555 = HEAP32[$isView>>2]|0; - $556 = ($555|0)!=(0); - if (!($556)) { - $557 = HEAP32[$v>>2]|0; - $558 = HEAP32[$pTab>>2]|0; - $559 = HEAP32[$regCols>>2]|0; - $560 = (($559) + 1)|0; - _sqlite3TableAffinity($557,$558,$560); + $553 = HEAP32[$isView>>2]|0; + $554 = ($553|0)!=(0); + if (!($554)) { + $555 = HEAP32[$v>>2]|0; + $556 = HEAP32[$pTab>>2]|0; + $557 = HEAP32[$regCols>>2]|0; + $558 = (($557) + 1)|0; + _sqlite3TableAffinity($555,$556,$558); } - $561 = HEAP32[$0>>2]|0; - $562 = HEAP32[$pTrigger>>2]|0; + $559 = HEAP32[$0>>2]|0; + $560 = HEAP32[$pTrigger>>2]|0; + $561 = HEAP32[$pTab>>2]|0; + $562 = HEAP32[$regCols>>2]|0; $563 = HEAP32[$pTab>>2]|0; - $564 = HEAP32[$regCols>>2]|0; - $565 = HEAP32[$pTab>>2]|0; - $566 = ((($565)) + 34|0); - $567 = HEAP16[$566>>1]|0; - $568 = $567 << 16 >> 16; - $569 = (($564) - ($568))|0; - $570 = (($569) - 1)|0; - $571 = HEAP32[$4>>2]|0; - $572 = HEAP32[$endOfLoop>>2]|0; - _sqlite3CodeRowTrigger($561,$562,108,0,1,$563,$570,$571,$572); - $573 = HEAP32[$0>>2]|0; - $574 = HEAP32[$regCols>>2]|0; - $575 = HEAP32[$pTab>>2]|0; - $576 = ((($575)) + 34|0); - $577 = HEAP16[$576>>1]|0; - $578 = $577 << 16 >> 16; - $579 = (($578) + 1)|0; - _sqlite3ReleaseTempRange($573,$574,$579); + $564 = ((($563)) + 34|0); + $565 = HEAP16[$564>>1]|0; + $566 = $565 << 16 >> 16; + $567 = (($562) - ($566))|0; + $568 = (($567) - 1)|0; + $569 = HEAP32[$4>>2]|0; + $570 = HEAP32[$endOfLoop>>2]|0; + _sqlite3CodeRowTrigger($559,$560,108,0,1,$561,$568,$569,$570); + $571 = HEAP32[$0>>2]|0; + $572 = HEAP32[$regCols>>2]|0; + $573 = HEAP32[$pTab>>2]|0; + $574 = ((($573)) + 34|0); + $575 = HEAP16[$574>>1]|0; + $576 = $575 << 16 >> 16; + $577 = (($576) + 1)|0; + _sqlite3ReleaseTempRange($571,$572,$577); } - $580 = HEAP32[$isView>>2]|0; - $581 = ($580|0)!=(0); + $578 = HEAP32[$isView>>2]|0; + $579 = ($578|0)!=(0); do { - if (!($581)) { - $582 = HEAP32[$pTab>>2]|0; - $583 = ((($582)) + 42|0); - $584 = HEAP8[$583>>0]|0; - $585 = $584&255; - $586 = $585 & 16; - $587 = ($586|0)!=(0); - if ($587) { - $588 = HEAP32[$v>>2]|0; - $589 = HEAP32[$regIns>>2]|0; - (_sqlite3VdbeAddOp2($588,77,0,$589)|0); + if (!($579)) { + $580 = HEAP32[$pTab>>2]|0; + $581 = ((($580)) + 42|0); + $582 = HEAP8[$581>>0]|0; + $583 = $582&255; + $584 = $583 & 16; + $585 = ($584|0)!=(0); + if ($585) { + $586 = HEAP32[$v>>2]|0; + $587 = HEAP32[$regIns>>2]|0; + (_sqlite3VdbeAddOp2($586,79,0,$587)|0); } - $590 = HEAP32[$ipkColumn>>2]|0; - $591 = ($590|0)>=(0); + $588 = HEAP32[$ipkColumn>>2]|0; + $589 = ($588|0)>=(0); L141: do { - if ($591) { - $592 = HEAP8[$useTempTable>>0]|0; - $593 = ($592<<24>>24)!=(0); + if ($589) { + $590 = HEAP8[$useTempTable>>0]|0; + $591 = ($590<<24>>24)!=(0); do { - if ($593) { - $594 = HEAP32[$v>>2]|0; - $595 = HEAP32[$srcTab>>2]|0; - $596 = HEAP32[$ipkColumn>>2]|0; - $597 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($594,94,$595,$596,$597)|0); + if ($591) { + $592 = HEAP32[$v>>2]|0; + $593 = HEAP32[$srcTab>>2]|0; + $594 = HEAP32[$ipkColumn>>2]|0; + $595 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($592,96,$593,$594,$595)|0); } else { - $598 = HEAP32[$2>>2]|0; - $599 = ($598|0)!=(0|0); - if ($599) { - $600 = HEAP32[$v>>2]|0; - $601 = HEAP32[$regFromSelect>>2]|0; - $602 = HEAP32[$ipkColumn>>2]|0; - $603 = (($601) + ($602))|0; - $604 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($600,82,$603,$604)|0); + $596 = HEAP32[$2>>2]|0; + $597 = ($596|0)!=(0|0); + if ($597) { + $598 = HEAP32[$v>>2]|0; + $599 = HEAP32[$regFromSelect>>2]|0; + $600 = HEAP32[$ipkColumn>>2]|0; + $601 = (($599) + ($600))|0; + $602 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp2($598,84,$601,$602)|0); break; } - $605 = HEAP32[$0>>2]|0; - $606 = HEAP32[$ipkColumn>>2]|0; - $607 = HEAP32[$pList>>2]|0; - $608 = ((($607)) + 4|0); + $603 = HEAP32[$0>>2]|0; + $604 = HEAP32[$ipkColumn>>2]|0; + $605 = HEAP32[$pList>>2]|0; + $606 = ((($605)) + 4|0); + $607 = HEAP32[$606>>2]|0; + $608 = (($607) + (($604*20)|0)|0); $609 = HEAP32[$608>>2]|0; - $610 = (($609) + (($606*20)|0)|0); - $611 = HEAP32[$610>>2]|0; - $612 = HEAP32[$regRowid>>2]|0; - _sqlite3ExprCode($605,$611,$612); - $613 = HEAP32[$v>>2]|0; - $614 = (_sqlite3VdbeGetOp($613,-1)|0); - HEAP32[$pOp>>2] = $614; - $615 = HEAP32[$pOp>>2]|0; - $616 = ($615|0)!=(0|0); - if (!($616)) { + $610 = HEAP32[$regRowid>>2]|0; + _sqlite3ExprCode($603,$609,$610); + $611 = HEAP32[$v>>2]|0; + $612 = (_sqlite3VdbeGetOp($611,-1)|0); + HEAP32[$pOp>>2] = $612; + $613 = HEAP32[$pOp>>2]|0; + $614 = ($613|0)!=(0|0); + if (!($614)) { break; } - $617 = HEAP32[$pOp>>2]|0; - $618 = HEAP8[$617>>0]|0; - $619 = $618&255; - $620 = ($619|0)==(77); - if (!($620)) { + $615 = HEAP32[$pOp>>2]|0; + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = ($617|0)==(79); + if (!($618)) { break; } - $621 = HEAP32[$pTab>>2]|0; - $622 = ((($621)) + 42|0); - $623 = HEAP8[$622>>0]|0; - $624 = $623&255; - $625 = $624 & 16; - $626 = ($625|0)!=(0); - if ($626) { + $619 = HEAP32[$pTab>>2]|0; + $620 = ((($619)) + 42|0); + $621 = HEAP8[$620>>0]|0; + $622 = $621&255; + $623 = $622 & 16; + $624 = ($623|0)!=(0); + if ($624) { break; } HEAP8[$appendFlag>>0] = 1; + $625 = HEAP32[$pOp>>2]|0; + HEAP8[$625>>0] = 114; + $626 = HEAP32[$iDataCur>>2]|0; $627 = HEAP32[$pOp>>2]|0; - HEAP8[$627>>0] = 112; - $628 = HEAP32[$iDataCur>>2]|0; - $629 = HEAP32[$pOp>>2]|0; - $630 = ((($629)) + 4|0); - HEAP32[$630>>2] = $628; - $631 = HEAP32[$regRowid>>2]|0; - $632 = HEAP32[$pOp>>2]|0; - $633 = ((($632)) + 8|0); - HEAP32[$633>>2] = $631; - $634 = HEAP32[$regAutoinc>>2]|0; - $635 = HEAP32[$pOp>>2]|0; - $636 = ((($635)) + 12|0); - HEAP32[$636>>2] = $634; + $628 = ((($627)) + 4|0); + HEAP32[$628>>2] = $626; + $629 = HEAP32[$regRowid>>2]|0; + $630 = HEAP32[$pOp>>2]|0; + $631 = ((($630)) + 8|0); + HEAP32[$631>>2] = $629; + $632 = HEAP32[$regAutoinc>>2]|0; + $633 = HEAP32[$pOp>>2]|0; + $634 = ((($633)) + 12|0); + HEAP32[$634>>2] = $632; } } while(0); - $637 = HEAP8[$appendFlag>>0]|0; - $638 = ($637<<24>>24)!=(0); - if ($638) { + $635 = HEAP8[$appendFlag>>0]|0; + $636 = ($635<<24>>24)!=(0); + if ($636) { break; } - $639 = HEAP32[$pTab>>2]|0; - $640 = ((($639)) + 42|0); - $641 = HEAP8[$640>>0]|0; - $642 = $641&255; - $643 = $642 & 16; - $644 = ($643|0)!=(0); - $645 = HEAP32[$v>>2]|0; - if ($644) { - $654 = (_sqlite3VdbeCurrentAddr($645)|0); - HEAP32[$addr11>>2] = $654; - $655 = HEAP32[$v>>2]|0; - $656 = HEAP32[$regRowid>>2]|0; - $657 = HEAP32[$addr11>>2]|0; - $658 = (($657) + 2)|0; - (_sqlite3VdbeAddOp2($655,34,$656,$658)|0); + $637 = HEAP32[$pTab>>2]|0; + $638 = ((($637)) + 42|0); + $639 = HEAP8[$638>>0]|0; + $640 = $639&255; + $641 = $640 & 16; + $642 = ($641|0)!=(0); + $643 = HEAP32[$v>>2]|0; + if ($642) { + $652 = (_sqlite3VdbeCurrentAddr($643)|0); + HEAP32[$addr11>>2] = $652; + $653 = HEAP32[$v>>2]|0; + $654 = HEAP32[$regRowid>>2]|0; + $655 = HEAP32[$addr11>>2]|0; + $656 = (($655) + 2)|0; + (_sqlite3VdbeAddOp2($653,34,$654,$656)|0); } else { - $646 = HEAP32[$regRowid>>2]|0; - $647 = (_sqlite3VdbeAddOp1($645,35,$646)|0); - HEAP32[$addr11>>2] = $647; - $648 = HEAP32[$v>>2]|0; - $649 = HEAP32[$iDataCur>>2]|0; - $650 = HEAP32[$regRowid>>2]|0; - $651 = HEAP32[$regAutoinc>>2]|0; - (_sqlite3VdbeAddOp3($648,112,$649,$650,$651)|0); - $652 = HEAP32[$v>>2]|0; - $653 = HEAP32[$addr11>>2]|0; - _sqlite3VdbeJumpHere($652,$653); + $644 = HEAP32[$regRowid>>2]|0; + $645 = (_sqlite3VdbeAddOp1($643,35,$644)|0); + HEAP32[$addr11>>2] = $645; + $646 = HEAP32[$v>>2]|0; + $647 = HEAP32[$iDataCur>>2]|0; + $648 = HEAP32[$regRowid>>2]|0; + $649 = HEAP32[$regAutoinc>>2]|0; + (_sqlite3VdbeAddOp3($646,114,$647,$648,$649)|0); + $650 = HEAP32[$v>>2]|0; + $651 = HEAP32[$addr11>>2]|0; + _sqlite3VdbeJumpHere($650,$651); } - $659 = HEAP32[$v>>2]|0; - $660 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp1($659,17,$660)|0); + $657 = HEAP32[$v>>2]|0; + $658 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp1($657,17,$658)|0); } else { - $661 = HEAP32[$pTab>>2]|0; - $662 = ((($661)) + 42|0); - $663 = HEAP8[$662>>0]|0; - $664 = $663&255; - $665 = $664 & 16; - $666 = ($665|0)!=(0); + $659 = HEAP32[$pTab>>2]|0; + $660 = ((($659)) + 42|0); + $661 = HEAP8[$660>>0]|0; + $662 = $661&255; + $663 = $662 & 16; + $664 = ($663|0)!=(0); do { - if (!($666)) { - $667 = HEAP8[$withoutRowid>>0]|0; - $668 = $667&255; - $669 = ($668|0)!=(0); - if ($669) { + if (!($664)) { + $665 = HEAP8[$withoutRowid>>0]|0; + $666 = $665&255; + $667 = ($666|0)!=(0); + if ($667) { break; } - $672 = HEAP32[$v>>2]|0; - $673 = HEAP32[$iDataCur>>2]|0; - $674 = HEAP32[$regRowid>>2]|0; - $675 = HEAP32[$regAutoinc>>2]|0; - (_sqlite3VdbeAddOp3($672,112,$673,$674,$675)|0); + $670 = HEAP32[$v>>2]|0; + $671 = HEAP32[$iDataCur>>2]|0; + $672 = HEAP32[$regRowid>>2]|0; + $673 = HEAP32[$regAutoinc>>2]|0; + (_sqlite3VdbeAddOp3($670,114,$671,$672,$673)|0); HEAP8[$appendFlag>>0] = 1; break L141; } } while(0); - $670 = HEAP32[$v>>2]|0; - $671 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($670,77,0,$671)|0); + $668 = HEAP32[$v>>2]|0; + $669 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp2($668,79,0,$669)|0); } } while(0); - $676 = HEAP32[$0>>2]|0; - $677 = HEAP32[$regAutoinc>>2]|0; - $678 = HEAP32[$regRowid>>2]|0; - _autoIncStep($676,$677,$678); + $674 = HEAP32[$0>>2]|0; + $675 = HEAP32[$regAutoinc>>2]|0; + $676 = HEAP32[$regRowid>>2]|0; + _autoIncStep($674,$675,$676); HEAP32[$nHidden>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $679 = HEAP32[$i>>2]|0; - $680 = HEAP32[$pTab>>2]|0; - $681 = ((($680)) + 34|0); - $682 = HEAP16[$681>>1]|0; - $683 = $682 << 16 >> 16; - $684 = ($679|0)<($683|0); - if (!($684)) { + $677 = HEAP32[$i>>2]|0; + $678 = HEAP32[$pTab>>2]|0; + $679 = ((($678)) + 34|0); + $680 = HEAP16[$679>>1]|0; + $681 = $680 << 16 >> 16; + $682 = ($677|0)<($681|0); + if (!($682)) { break; } - $685 = HEAP32[$regRowid>>2]|0; - $686 = (($685) + 1)|0; + $683 = HEAP32[$regRowid>>2]|0; + $684 = (($683) + 1)|0; + $685 = HEAP32[$i>>2]|0; + $686 = (($684) + ($685))|0; + HEAP32[$iRegStore>>2] = $686; $687 = HEAP32[$i>>2]|0; - $688 = (($686) + ($687))|0; - HEAP32[$iRegStore>>2] = $688; - $689 = HEAP32[$i>>2]|0; - $690 = HEAP32[$pTab>>2]|0; - $691 = ((($690)) + 32|0); - $692 = HEAP16[$691>>1]|0; - $693 = $692 << 16 >> 16; - $694 = ($689|0)==($693|0); + $688 = HEAP32[$pTab>>2]|0; + $689 = ((($688)) + 32|0); + $690 = HEAP16[$689>>1]|0; + $691 = $690 << 16 >> 16; + $692 = ($687|0)==($691|0); L167: do { - if ($694) { - $695 = HEAP32[$v>>2]|0; - $696 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp1($695,78,$696)|0); + if ($692) { + $693 = HEAP32[$v>>2]|0; + $694 = HEAP32[$iRegStore>>2]|0; + (_sqlite3VdbeAddOp1($693,80,$694)|0); } else { - $697 = HEAP32[$3>>2]|0; - $698 = ($697|0)==(0|0); + $695 = HEAP32[$3>>2]|0; + $696 = ($695|0)==(0|0); L170: do { - if ($698) { - $699 = HEAP32[$i>>2]|0; - $700 = HEAP32[$pTab>>2]|0; - $701 = ((($700)) + 4|0); - $702 = HEAP32[$701>>2]|0; - $703 = (($702) + ($699<<4)|0); - $704 = ((($703)) + 15|0); - $705 = HEAP8[$704>>0]|0; - $706 = $705&255; - $707 = $706 & 2; - $708 = ($707|0)!=(0); - if ($708) { + if ($696) { + $697 = HEAP32[$i>>2]|0; + $698 = HEAP32[$pTab>>2]|0; + $699 = ((($698)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($697<<4)|0); + $702 = ((($701)) + 15|0); + $703 = HEAP8[$702>>0]|0; + $704 = $703&255; + $705 = $704 & 2; + $706 = ($705|0)!=(0); + if ($706) { HEAP32[$j>>2] = -1; - $709 = HEAP32[$nHidden>>2]|0; - $710 = (($709) + 1)|0; - HEAP32[$nHidden>>2] = $710; + $707 = HEAP32[$nHidden>>2]|0; + $708 = (($707) + 1)|0; + HEAP32[$nHidden>>2] = $708; break; } else { - $711 = HEAP32[$i>>2]|0; - $712 = HEAP32[$nHidden>>2]|0; - $713 = (($711) - ($712))|0; - HEAP32[$j>>2] = $713; + $709 = HEAP32[$i>>2]|0; + $710 = HEAP32[$nHidden>>2]|0; + $711 = (($709) - ($710))|0; + HEAP32[$j>>2] = $711; break; } } else { HEAP32[$j>>2] = 0; while(1) { - $714 = HEAP32[$j>>2]|0; - $715 = HEAP32[$3>>2]|0; - $716 = ((($715)) + 4|0); - $717 = HEAP32[$716>>2]|0; - $718 = ($714|0)<($717|0); - if (!($718)) { + $712 = HEAP32[$j>>2]|0; + $713 = HEAP32[$3>>2]|0; + $714 = ((($713)) + 4|0); + $715 = HEAP32[$714>>2]|0; + $716 = ($712|0)<($715|0); + if (!($716)) { break L170; } - $719 = HEAP32[$j>>2]|0; - $720 = HEAP32[$3>>2]|0; - $721 = HEAP32[$720>>2]|0; - $722 = (($721) + ($719<<3)|0); - $723 = ((($722)) + 4|0); - $724 = HEAP32[$723>>2]|0; - $725 = HEAP32[$i>>2]|0; - $726 = ($724|0)==($725|0); - if ($726) { + $717 = HEAP32[$j>>2]|0; + $718 = HEAP32[$3>>2]|0; + $719 = HEAP32[$718>>2]|0; + $720 = (($719) + ($717<<3)|0); + $721 = ((($720)) + 4|0); + $722 = HEAP32[$721>>2]|0; + $723 = HEAP32[$i>>2]|0; + $724 = ($722|0)==($723|0); + if ($724) { break L170; } - $727 = HEAP32[$j>>2]|0; - $728 = (($727) + 1)|0; - HEAP32[$j>>2] = $728; + $725 = HEAP32[$j>>2]|0; + $726 = (($725) + 1)|0; + HEAP32[$j>>2] = $726; } } } while(0); - $729 = HEAP32[$j>>2]|0; - $730 = ($729|0)<(0); - $731 = HEAP32[$nColumn>>2]|0; - $732 = ($731|0)==(0); - $or$cond9 = $730 | $732; + $727 = HEAP32[$j>>2]|0; + $728 = ($727|0)<(0); + $729 = HEAP32[$nColumn>>2]|0; + $730 = ($729|0)==(0); + $or$cond9 = $728 | $730; do { if (!($or$cond9)) { - $733 = HEAP32[$3>>2]|0; - $734 = ($733|0)!=(0|0); - if ($734) { - $735 = HEAP32[$j>>2]|0; - $736 = HEAP32[$3>>2]|0; - $737 = ((($736)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = ($735|0)>=($738|0); - if ($739) { + $731 = HEAP32[$3>>2]|0; + $732 = ($731|0)!=(0|0); + if ($732) { + $733 = HEAP32[$j>>2]|0; + $734 = HEAP32[$3>>2]|0; + $735 = ((($734)) + 4|0); + $736 = HEAP32[$735>>2]|0; + $737 = ($733|0)>=($736|0); + if ($737) { break; } } - $749 = HEAP8[$useTempTable>>0]|0; - $750 = ($749<<24>>24)!=(0); - if ($750) { - $751 = HEAP32[$v>>2]|0; - $752 = HEAP32[$srcTab>>2]|0; - $753 = HEAP32[$j>>2]|0; - $754 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp3($751,94,$752,$753,$754)|0); + $747 = HEAP8[$useTempTable>>0]|0; + $748 = ($747<<24>>24)!=(0); + if ($748) { + $749 = HEAP32[$v>>2]|0; + $750 = HEAP32[$srcTab>>2]|0; + $751 = HEAP32[$j>>2]|0; + $752 = HEAP32[$iRegStore>>2]|0; + (_sqlite3VdbeAddOp3($749,96,$750,$751,$752)|0); break L167; } - $755 = HEAP32[$2>>2]|0; - $756 = ($755|0)!=(0|0); - if (!($756)) { - $765 = HEAP32[$0>>2]|0; - $766 = HEAP32[$j>>2]|0; - $767 = HEAP32[$pList>>2]|0; - $768 = ((($767)) + 4|0); + $753 = HEAP32[$2>>2]|0; + $754 = ($753|0)!=(0|0); + if (!($754)) { + $763 = HEAP32[$0>>2]|0; + $764 = HEAP32[$j>>2]|0; + $765 = HEAP32[$pList>>2]|0; + $766 = ((($765)) + 4|0); + $767 = HEAP32[$766>>2]|0; + $768 = (($767) + (($764*20)|0)|0); $769 = HEAP32[$768>>2]|0; - $770 = (($769) + (($766*20)|0)|0); - $771 = HEAP32[$770>>2]|0; - $772 = HEAP32[$iRegStore>>2]|0; - _sqlite3ExprCode($765,$771,$772); + $770 = HEAP32[$iRegStore>>2]|0; + _sqlite3ExprCode($763,$769,$770); break L167; } - $757 = HEAP32[$regFromSelect>>2]|0; - $758 = HEAP32[$regData>>2]|0; - $759 = ($757|0)!=($758|0); - if (!($759)) { + $755 = HEAP32[$regFromSelect>>2]|0; + $756 = HEAP32[$regData>>2]|0; + $757 = ($755|0)!=($756|0); + if (!($757)) { break L167; } - $760 = HEAP32[$v>>2]|0; - $761 = HEAP32[$regFromSelect>>2]|0; - $762 = HEAP32[$j>>2]|0; - $763 = (($761) + ($762))|0; - $764 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp2($760,83,$763,$764)|0); + $758 = HEAP32[$v>>2]|0; + $759 = HEAP32[$regFromSelect>>2]|0; + $760 = HEAP32[$j>>2]|0; + $761 = (($759) + ($760))|0; + $762 = HEAP32[$iRegStore>>2]|0; + (_sqlite3VdbeAddOp2($758,85,$761,$762)|0); break L167; } } while(0); - $740 = HEAP32[$0>>2]|0; - $741 = HEAP32[$i>>2]|0; - $742 = HEAP32[$pTab>>2]|0; - $743 = ((($742)) + 4|0); - $744 = HEAP32[$743>>2]|0; - $745 = (($744) + ($741<<4)|0); - $746 = ((($745)) + 4|0); - $747 = HEAP32[$746>>2]|0; - $748 = HEAP32[$iRegStore>>2]|0; - _sqlite3ExprCodeFactorable($740,$747,$748); + $738 = HEAP32[$0>>2]|0; + $739 = HEAP32[$i>>2]|0; + $740 = HEAP32[$pTab>>2]|0; + $741 = ((($740)) + 4|0); + $742 = HEAP32[$741>>2]|0; + $743 = (($742) + ($739<<4)|0); + $744 = ((($743)) + 4|0); + $745 = HEAP32[$744>>2]|0; + $746 = HEAP32[$iRegStore>>2]|0; + _sqlite3ExprCodeFactorable($738,$745,$746); } } while(0); - $773 = HEAP32[$i>>2]|0; - $774 = (($773) + 1)|0; - HEAP32[$i>>2] = $774; + $771 = HEAP32[$i>>2]|0; + $772 = (($771) + 1)|0; + HEAP32[$i>>2] = $772; } - $775 = HEAP32[$pTab>>2]|0; - $776 = ((($775)) + 42|0); - $777 = HEAP8[$776>>0]|0; - $778 = $777&255; - $779 = $778 & 16; - $780 = ($779|0)!=(0); - if ($780) { - $781 = HEAP32[$db>>2]|0; - $782 = HEAP32[$pTab>>2]|0; - $783 = (_sqlite3GetVTable($781,$782)|0); - HEAP32[$pVTab>>2] = $783; - $784 = HEAP32[$0>>2]|0; + $773 = HEAP32[$pTab>>2]|0; + $774 = ((($773)) + 42|0); + $775 = HEAP8[$774>>0]|0; + $776 = $775&255; + $777 = $776 & 16; + $778 = ($777|0)!=(0); + if ($778) { + $779 = HEAP32[$db>>2]|0; + $780 = HEAP32[$pTab>>2]|0; + $781 = (_sqlite3GetVTable($779,$780)|0); + HEAP32[$pVTab>>2] = $781; + $782 = HEAP32[$0>>2]|0; + $783 = HEAP32[$pTab>>2]|0; + _sqlite3VtabMakeWritable($782,$783); + $784 = HEAP32[$v>>2]|0; $785 = HEAP32[$pTab>>2]|0; - _sqlite3VtabMakeWritable($784,$785); - $786 = HEAP32[$v>>2]|0; - $787 = HEAP32[$pTab>>2]|0; - $788 = ((($787)) + 34|0); - $789 = HEAP16[$788>>1]|0; - $790 = $789 << 16 >> 16; - $791 = (($790) + 2)|0; - $792 = HEAP32[$regIns>>2]|0; - $793 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($786,12,1,$791,$792,$793,-10)|0); - $794 = HEAP32[$v>>2]|0; + $786 = ((($785)) + 34|0); + $787 = HEAP16[$786>>1]|0; + $788 = $787 << 16 >> 16; + $789 = (($788) + 2)|0; + $790 = HEAP32[$regIns>>2]|0; + $791 = HEAP32[$pVTab>>2]|0; + (_sqlite3VdbeAddOp4($784,12,1,$789,$790,$791,-10)|0); + $792 = HEAP32[$v>>2]|0; + $793 = HEAP32[$4>>2]|0; + $794 = ($793|0)==(10); $795 = HEAP32[$4>>2]|0; - $796 = ($795|0)==(10); - $797 = HEAP32[$4>>2]|0; - $798 = $796 ? 2 : $797; - $799 = $798&255; - _sqlite3VdbeChangeP5($794,$799); - $800 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($800); + $796 = $794 ? 2 : $795; + $797 = $796&255; + _sqlite3VdbeChangeP5($792,$797); + $798 = HEAP32[$0>>2]|0; + _sqlite3MayAbort($798); break; } else { - $801 = HEAP32[$0>>2]|0; - $802 = HEAP32[$pTab>>2]|0; - $803 = HEAP32[$aRegIdx>>2]|0; - $804 = HEAP32[$iDataCur>>2]|0; - $805 = HEAP32[$iIdxCur>>2]|0; - $806 = HEAP32[$regIns>>2]|0; - $807 = HEAP32[$ipkColumn>>2]|0; - $808 = ($807|0)>=(0); - $809 = $808&1; + $799 = HEAP32[$0>>2]|0; + $800 = HEAP32[$pTab>>2]|0; + $801 = HEAP32[$aRegIdx>>2]|0; + $802 = HEAP32[$iDataCur>>2]|0; + $803 = HEAP32[$iIdxCur>>2]|0; + $804 = HEAP32[$regIns>>2]|0; + $805 = HEAP32[$ipkColumn>>2]|0; + $806 = ($805|0)>=(0); + $807 = $806&1; + $808 = $807&255; + $809 = HEAP32[$4>>2]|0; $810 = $809&255; - $811 = HEAP32[$4>>2]|0; - $812 = $811&255; - $813 = HEAP32[$endOfLoop>>2]|0; - _sqlite3GenerateConstraintChecks($801,$802,$803,$804,$805,$806,0,$810,$812,$813,$isReplace,0); - $814 = HEAP32[$0>>2]|0; - $815 = HEAP32[$pTab>>2]|0; - $816 = HEAP32[$regIns>>2]|0; - _sqlite3FkCheck($814,$815,0,$816,0,0); - $817 = HEAP32[$0>>2]|0; - $818 = HEAP32[$pTab>>2]|0; - $819 = HEAP32[$iDataCur>>2]|0; - $820 = HEAP32[$iIdxCur>>2]|0; - $821 = HEAP32[$regIns>>2]|0; - $822 = HEAP32[$aRegIdx>>2]|0; - $823 = HEAP8[$appendFlag>>0]|0; - $824 = $823&255; - $825 = HEAP32[$isReplace>>2]|0; - $826 = ($825|0)==(0); - $827 = $826&1; - _sqlite3CompleteInsertion($817,$818,$819,$820,$821,$822,0,$824,$827); + $811 = HEAP32[$endOfLoop>>2]|0; + _sqlite3GenerateConstraintChecks($799,$800,$801,$802,$803,$804,0,$808,$810,$811,$isReplace,0); + $812 = HEAP32[$0>>2]|0; + $813 = HEAP32[$pTab>>2]|0; + $814 = HEAP32[$regIns>>2]|0; + _sqlite3FkCheck($812,$813,0,$814,0,0); + $815 = HEAP32[$0>>2]|0; + $816 = HEAP32[$pTab>>2]|0; + $817 = HEAP32[$iDataCur>>2]|0; + $818 = HEAP32[$iIdxCur>>2]|0; + $819 = HEAP32[$regIns>>2]|0; + $820 = HEAP32[$aRegIdx>>2]|0; + $821 = HEAP8[$appendFlag>>0]|0; + $822 = $821&255; + $823 = HEAP32[$isReplace>>2]|0; + $824 = ($823|0)==(0); + $825 = $824&1; + _sqlite3CompleteInsertion($815,$816,$817,$818,$819,$820,0,$822,$825); break; } } } while(0); - $828 = HEAP32[$db>>2]|0; - $829 = ((($828)) + 24|0); - $830 = HEAP32[$829>>2]|0; - $831 = $830 & 128; - $832 = ($831|0)!=(0); - if ($832) { - $833 = HEAP32[$v>>2]|0; - $834 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($833,89,$834,1)|0); + $826 = HEAP32[$db>>2]|0; + $827 = ((($826)) + 24|0); + $828 = HEAP32[$827>>2]|0; + $829 = $828 & 128; + $830 = ($829|0)!=(0); + if ($830) { + $831 = HEAP32[$v>>2]|0; + $832 = HEAP32[$regRowCount>>2]|0; + (_sqlite3VdbeAddOp2($831,91,$832,1)|0); } - $835 = HEAP32[$pTrigger>>2]|0; - $836 = ($835|0)!=(0|0); - if ($836) { - $837 = HEAP32[$0>>2]|0; - $838 = HEAP32[$pTrigger>>2]|0; - $839 = HEAP32[$pTab>>2]|0; - $840 = HEAP32[$regData>>2]|0; - $841 = (($840) - 2)|0; - $842 = HEAP32[$pTab>>2]|0; - $843 = ((($842)) + 34|0); - $844 = HEAP16[$843>>1]|0; - $845 = $844 << 16 >> 16; - $846 = (($841) - ($845))|0; - $847 = HEAP32[$4>>2]|0; - $848 = HEAP32[$endOfLoop>>2]|0; - _sqlite3CodeRowTrigger($837,$838,108,0,2,$839,$846,$847,$848); + $833 = HEAP32[$pTrigger>>2]|0; + $834 = ($833|0)!=(0|0); + if ($834) { + $835 = HEAP32[$0>>2]|0; + $836 = HEAP32[$pTrigger>>2]|0; + $837 = HEAP32[$pTab>>2]|0; + $838 = HEAP32[$regData>>2]|0; + $839 = (($838) - 2)|0; + $840 = HEAP32[$pTab>>2]|0; + $841 = ((($840)) + 34|0); + $842 = HEAP16[$841>>1]|0; + $843 = $842 << 16 >> 16; + $844 = (($839) - ($843))|0; + $845 = HEAP32[$4>>2]|0; + $846 = HEAP32[$endOfLoop>>2]|0; + _sqlite3CodeRowTrigger($835,$836,108,0,2,$837,$844,$845,$846); } - $849 = HEAP32[$v>>2]|0; - $850 = HEAP32[$endOfLoop>>2]|0; - _sqlite3VdbeResolveLabel($849,$850); - $851 = HEAP8[$useTempTable>>0]|0; - $852 = ($851<<24>>24)!=(0); + $847 = HEAP32[$v>>2]|0; + $848 = HEAP32[$endOfLoop>>2]|0; + _sqlite3VdbeResolveLabel($847,$848); + $849 = HEAP8[$useTempTable>>0]|0; + $850 = ($849<<24>>24)!=(0); do { - if ($852) { - $853 = HEAP32[$v>>2]|0; - $854 = HEAP32[$srcTab>>2]|0; - $855 = HEAP32[$addrCont>>2]|0; - (_sqlite3VdbeAddOp2($853,7,$854,$855)|0); + if ($850) { + $851 = HEAP32[$v>>2]|0; + $852 = HEAP32[$srcTab>>2]|0; + $853 = HEAP32[$addrCont>>2]|0; + (_sqlite3VdbeAddOp2($851,7,$852,$853)|0); + $854 = HEAP32[$v>>2]|0; + $855 = HEAP32[$addrInsTop>>2]|0; + _sqlite3VdbeJumpHere($854,$855); $856 = HEAP32[$v>>2]|0; - $857 = HEAP32[$addrInsTop>>2]|0; - _sqlite3VdbeJumpHere($856,$857); - $858 = HEAP32[$v>>2]|0; - $859 = HEAP32[$srcTab>>2]|0; - (_sqlite3VdbeAddOp1($858,109,$859)|0); + $857 = HEAP32[$srcTab>>2]|0; + (_sqlite3VdbeAddOp1($856,111,$857)|0); } else { - $860 = HEAP32[$2>>2]|0; - $861 = ($860|0)!=(0|0); - if (!($861)) { + $858 = HEAP32[$2>>2]|0; + $859 = ($858|0)!=(0|0); + if (!($859)) { break; } + $860 = HEAP32[$v>>2]|0; + $861 = HEAP32[$addrCont>>2]|0; + (_sqlite3VdbeGoto($860,$861)|0); $862 = HEAP32[$v>>2]|0; - $863 = HEAP32[$addrCont>>2]|0; - (_sqlite3VdbeGoto($862,$863)|0); - $864 = HEAP32[$v>>2]|0; - $865 = HEAP32[$addrInsTop>>2]|0; - _sqlite3VdbeJumpHere($864,$865); + $863 = HEAP32[$addrInsTop>>2]|0; + _sqlite3VdbeJumpHere($862,$863); } } while(0); - $866 = HEAP32[$pTab>>2]|0; - $867 = ((($866)) + 42|0); - $868 = HEAP8[$867>>0]|0; - $869 = $868&255; - $870 = $869 & 16; + $864 = HEAP32[$pTab>>2]|0; + $865 = ((($864)) + 42|0); + $866 = HEAP8[$865>>0]|0; + $867 = $866&255; + $868 = $867 & 16; + $869 = ($868|0)!=(0); + $870 = HEAP32[$isView>>2]|0; $871 = ($870|0)!=(0); - $872 = HEAP32[$isView>>2]|0; - $873 = ($872|0)!=(0); - $or$cond11 = $871 | $873; + $or$cond11 = $869 | $871; if ($or$cond11) { break; } - $874 = HEAP32[$iDataCur>>2]|0; - $875 = HEAP32[$iIdxCur>>2]|0; - $876 = ($874|0)<($875|0); - if ($876) { - $877 = HEAP32[$v>>2]|0; - $878 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp1($877,109,$878)|0); + $872 = HEAP32[$iDataCur>>2]|0; + $873 = HEAP32[$iIdxCur>>2]|0; + $874 = ($872|0)<($873|0); + if ($874) { + $875 = HEAP32[$v>>2]|0; + $876 = HEAP32[$iDataCur>>2]|0; + (_sqlite3VdbeAddOp1($875,111,$876)|0); } HEAP32[$idx>>2] = 0; - $879 = HEAP32[$pTab>>2]|0; - $880 = ((($879)) + 8|0); - $881 = HEAP32[$880>>2]|0; - HEAP32[$pIdx>>2] = $881; + $877 = HEAP32[$pTab>>2]|0; + $878 = ((($877)) + 8|0); + $879 = HEAP32[$878>>2]|0; + HEAP32[$pIdx>>2] = $879; while(1) { - $882 = HEAP32[$pIdx>>2]|0; - $883 = ($882|0)!=(0|0); - if (!($883)) { + $880 = HEAP32[$pIdx>>2]|0; + $881 = ($880|0)!=(0|0); + if (!($881)) { break L20; } - $884 = HEAP32[$v>>2]|0; - $885 = HEAP32[$idx>>2]|0; - $886 = HEAP32[$iIdxCur>>2]|0; - $887 = (($885) + ($886))|0; - (_sqlite3VdbeAddOp1($884,109,$887)|0); - $888 = HEAP32[$pIdx>>2]|0; - $889 = ((($888)) + 20|0); - $890 = HEAP32[$889>>2]|0; - HEAP32[$pIdx>>2] = $890; - $891 = HEAP32[$idx>>2]|0; - $892 = (($891) + 1)|0; - HEAP32[$idx>>2] = $892; + $882 = HEAP32[$v>>2]|0; + $883 = HEAP32[$idx>>2]|0; + $884 = HEAP32[$iIdxCur>>2]|0; + $885 = (($883) + ($884))|0; + (_sqlite3VdbeAddOp1($882,111,$885)|0); + $886 = HEAP32[$pIdx>>2]|0; + $887 = ((($886)) + 20|0); + $888 = HEAP32[$887>>2]|0; + HEAP32[$pIdx>>2] = $888; + $889 = HEAP32[$idx>>2]|0; + $890 = (($889) + 1)|0; + HEAP32[$idx>>2] = $890; } } } while(0); - $893 = HEAP32[$0>>2]|0; - $894 = ((($893)) + 18|0); - $895 = HEAP8[$894>>0]|0; - $896 = $895&255; - $897 = ($896|0)==(0); - if ($897) { - $898 = HEAP32[$0>>2]|0; - $899 = ((($898)) + 420|0); - $900 = HEAP32[$899>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - $902 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementEnd($902); + $891 = HEAP32[$0>>2]|0; + $892 = ((($891)) + 18|0); + $893 = HEAP8[$892>>0]|0; + $894 = $893&255; + $895 = ($894|0)==(0); + if ($895) { + $896 = HEAP32[$0>>2]|0; + $897 = ((($896)) + 128|0); + $898 = HEAP32[$897>>2]|0; + $899 = ($898|0)==(0|0); + if ($899) { + $900 = HEAP32[$0>>2]|0; + _sqlite3AutoincrementEnd($900); } } - $903 = HEAP32[$db>>2]|0; - $904 = ((($903)) + 24|0); - $905 = HEAP32[$904>>2]|0; - $906 = $905 & 128; - $907 = ($906|0)!=(0); - if ($907) { - $908 = HEAP32[$0>>2]|0; - $909 = ((($908)) + 18|0); - $910 = HEAP8[$909>>0]|0; - $911 = ($910<<24>>24)!=(0); - if (!($911)) { - $912 = HEAP32[$0>>2]|0; - $913 = ((($912)) + 420|0); - $914 = HEAP32[$913>>2]|0; - $915 = ($914|0)!=(0|0); - if (!($915)) { + $901 = HEAP32[$db>>2]|0; + $902 = ((($901)) + 24|0); + $903 = HEAP32[$902>>2]|0; + $904 = $903 & 128; + $905 = ($904|0)!=(0); + if ($905) { + $906 = HEAP32[$0>>2]|0; + $907 = ((($906)) + 18|0); + $908 = HEAP8[$907>>0]|0; + $909 = ($908<<24>>24)!=(0); + if (!($909)) { + $910 = HEAP32[$0>>2]|0; + $911 = ((($910)) + 128|0); + $912 = HEAP32[$911>>2]|0; + $913 = ($912|0)!=(0|0); + if (!($913)) { + $914 = HEAP32[$v>>2]|0; + $915 = HEAP32[$regRowCount>>2]|0; + (_sqlite3VdbeAddOp2($914,87,$915,1)|0); $916 = HEAP32[$v>>2]|0; - $917 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($916,85,$917,1)|0); - $918 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($918,1); - $919 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($919,0,0,34891,0)|0); + _sqlite3VdbeSetNumCols($916,1); + $917 = HEAP32[$v>>2]|0; + (_sqlite3VdbeSetColName($917,0,0,34370,0)|0); } } } @@ -123720,21 +124646,21 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } } while(0); + $918 = HEAP32[$db>>2]|0; + $919 = HEAP32[$1>>2]|0; + _sqlite3SrcListDelete($918,$919); $920 = HEAP32[$db>>2]|0; - $921 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($920,$921); + $921 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($920,$921); $922 = HEAP32[$db>>2]|0; - $923 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($922,$923); + $923 = HEAP32[$2>>2]|0; + _sqlite3SelectDelete($922,$923); $924 = HEAP32[$db>>2]|0; - $925 = HEAP32[$2>>2]|0; - _sqlite3SelectDelete($924,$925); + $925 = HEAP32[$3>>2]|0; + _sqlite3IdListDelete($924,$925); $926 = HEAP32[$db>>2]|0; - $927 = HEAP32[$3>>2]|0; - _sqlite3IdListDelete($926,$927); - $928 = HEAP32[$db>>2]|0; - $929 = HEAP32[$aRegIdx>>2]|0; - _sqlite3DbFree($928,$929); + $927 = HEAP32[$aRegIdx>>2]|0; + _sqlite3DbFree($926,$927); STACKTOP = sp;return; } function _sqlite3IdListAppend($db,$pList,$pToken) { @@ -123828,352 +124754,470 @@ function _spanSet($pOut,$pStart,$pEnd) { HEAP32[$14>>2] = $12; STACKTOP = sp;return; } -function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { +function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { + $db = $db|0; + $op = $op|0; + $pToken = $pToken|0; + $dequote = $dequote|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $iValue = 0, $nExtra = 0, $pNew = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $pNew = sp + 8|0; + $nExtra = sp + 4|0; + $iValue = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $pToken; + HEAP32[$3>>2] = $dequote; + HEAP32[$nExtra>>2] = 0; + HEAP32[$iValue>>2] = 0; + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)!=(0|0); + do { + if ($5) { + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)!=(134); + if (!($7)) { + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0|0); + if (!($10)) { + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3GetInt32($12,$iValue)|0); + $14 = ($13|0)==(0); + if (!($14)) { + break; + } + } + } + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$nExtra>>2] = $18; + } + } while(0); + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$nExtra>>2]|0; + $21 = (48 + ($20))|0; + $22 = (_sqlite3DbMallocRawNN($19,$21,0)|0); + HEAP32[$pNew>>2] = $22; + $23 = HEAP32[$pNew>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + $91 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($91|0); + } + $25 = HEAP32[$pNew>>2]|0; + dest=$25; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $26 = HEAP32[$1>>2]|0; + $27 = $26&255; + $28 = HEAP32[$pNew>>2]|0; + HEAP8[$28>>0] = $27; + $29 = HEAP32[$pNew>>2]|0; + $30 = ((($29)) + 34|0); + HEAP16[$30>>1] = -1; + $31 = HEAP32[$2>>2]|0; + $32 = ($31|0)!=(0|0); + do { + if ($32) { + $33 = HEAP32[$nExtra>>2]|0; + $34 = ($33|0)==(0); + $35 = HEAP32[$pNew>>2]|0; + if ($34) { + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = $37 | 1024; + HEAP32[$36>>2] = $38; + $39 = HEAP32[$iValue>>2]|0; + $40 = HEAP32[$pNew>>2]|0; + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = $39; + break; + } + $42 = ((($35)) + 48|0); + $43 = HEAP32[$pNew>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$44>>2] = $42; + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)!=(0); + if ($48) { + $49 = HEAP32[$pNew>>2]|0; + $50 = ((($49)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + _memcpy(($51|0),($53|0),($56|0))|0; + } + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$pNew>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($62) + ($59)|0); + HEAP8[$63>>0] = 0; + $64 = HEAP32[$3>>2]|0; + $65 = ($64|0)!=(0); + if ($65) { + $66 = HEAP32[$pNew>>2]|0; + $67 = ((($66)) + 8|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (18403 + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $73 & 128; + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP32[$pNew>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP8[$78>>0]|0; + $80 = $79 << 24 >> 24; + $81 = ($80|0)==(34); + if ($81) { + $82 = HEAP32[$pNew>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = $84 | 64; + HEAP32[$83>>2] = $85; + } + $86 = HEAP32[$pNew>>2]|0; + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + _sqlite3Dequote($88); + } + } + } + } while(0); + $89 = HEAP32[$pNew>>2]|0; + $90 = ((($89)) + 24|0); + HEAP32[$90>>2] = 1; + $91 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($91|0); +} +function _sqlite3ExprAssignVarNumber($pParse,$pExpr,$n) { $pParse = $pParse|0; $pExpr = $pExpr|0; + $n = $n|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $bOk = 0, $db = 0, $i = 0, $i1 = 0, $n = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $x = 0, $z = 0; - var label = 0, sp = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $bOk = 0, $db = 0, $i = 0, $i1 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $x = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer2 = sp + 16|0; $vararg_buffer = sp + 8|0; $0 = sp + 44|0; $1 = sp + 40|0; - $db = sp + 36|0; - $z = sp + 32|0; + $2 = sp + 36|0; + $db = sp + 32|0; + $z = sp + 28|0; $x = sp + 50|0; - $n = sp + 28|0; $i = sp; $bOk = sp + 24|0; $i1 = sp + 48|0; $a = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { + HEAP32[$2>>2] = $n; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$db>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$z>>2] = $8; - $9 = HEAP32[$z>>2]|0; - $10 = ((($9)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)==(0); - do { - if ($13) { - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 444|0); - $16 = HEAP16[$15>>1]|0; - $17 = (($16) + 1)<<16>>16; - HEAP16[$15>>1] = $17; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 32|0); - HEAP16[$19>>1] = $17; - } else { - HEAP16[$x>>1] = 0; - $20 = HEAP32[$z>>2]|0; - $21 = (_sqlite3Strlen30($20)|0); - HEAP32[$n>>2] = $21; - $22 = HEAP32[$z>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23 << 24 >> 24; - $25 = ($24|0)==(63); - if ($25) { - $26 = HEAP32[$z>>2]|0; - $27 = ((($26)) + 1|0); - $28 = HEAP32[$n>>2]|0; - $29 = (($28) - 1)|0; - $30 = (_sqlite3Atoi64($27,$i,$29,1)|0); - $31 = (0)==($30|0); - $32 = $31&1; - HEAP32[$bOk>>2] = $32; - $33 = $i; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = $35&65535; - HEAP16[$x>>1] = $39; - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 32|0); - HEAP16[$41>>1] = $39; - $42 = HEAP32[$bOk>>2]|0; - $43 = ($42|0)==(0); - $44 = $i; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$z>>2] = $9; + $10 = HEAP32[$z>>2]|0; + $11 = ((($10)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 << 24 >> 24; + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 400|0); + $17 = HEAP16[$16>>1]|0; + $18 = (($17) + 1)<<16>>16; + HEAP16[$16>>1] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 32|0); + HEAP16[$20>>1] = $18; + } else { + $21 = HEAP32[$z>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = ($23|0)==(63); + do { + if ($24) { + $25 = HEAP32[$z>>2]|0; + $26 = ((($25)) + 1|0); + $27 = HEAP32[$2>>2]|0; + $28 = (($27) - 1)|0; + $29 = (_sqlite3Atoi64($26,$i,$28,1)|0); + $30 = (0)==($29|0); + $31 = $30&1; + HEAP32[$bOk>>2] = $31; + $32 = $i; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = $34&65535; + HEAP16[$x>>1] = $38; + $39 = HEAP32[$bOk>>2]|0; + $40 = ($39|0)==(0); + $41 = $i; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; $45 = $44; $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)<(0); - $51 = ($46>>>0)<(1); - $52 = ($49|0)==(0); - $53 = $52 & $51; - $54 = $50 | $53; - $or$cond = $43 | $54; - if ($or$cond) { - label = 7; - } else { - $55 = $i; + $47 = ($46|0)<(0); + $48 = ($43>>>0)<(1); + $49 = ($46|0)==(0); + $50 = $49 & $48; + $51 = $47 | $50; + $or$cond = $40 | $51; + if (!($or$cond)) { + $52 = $i; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; $56 = $55; $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$db>>2]|0; - $62 = ((($61)) + 92|0); - $63 = ((($62)) + 36|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = ($60|0)>($66|0); - $68 = ($57>>>0)>($64>>>0); - $69 = ($60|0)==($66|0); - $70 = $69 & $68; - $71 = $67 | $70; - if ($71) { - label = 7; + $58 = HEAP32[$db>>2]|0; + $59 = ((($58)) + 96|0); + $60 = ((($59)) + 36|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)<(0); + $63 = $62 << 31 >> 31; + $64 = ($57|0)>($63|0); + $65 = ($54>>>0)>($61>>>0); + $66 = ($57|0)==($63|0); + $67 = $66 & $65; + $68 = $64 | $67; + if (!($68)) { + $74 = $i; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$0>>2]|0; + $81 = ((($80)) + 400|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82 << 16 >> 16; + $84 = ($83|0)<(0); + $85 = $84 << 31 >> 31; + $86 = ($79|0)>($85|0); + $87 = ($76>>>0)>($83>>>0); + $88 = ($79|0)==($85|0); + $89 = $88 & $87; + $90 = $86 | $89; + if (!($90)) { + break; + } + $91 = $i; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = $93&65535; + $98 = HEAP32[$0>>2]|0; + $99 = ((($98)) + 400|0); + HEAP16[$99>>1] = $97; + break; } } - if ((label|0) == 7) { - $72 = HEAP32[$0>>2]|0; - $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 92|0); - $75 = ((($74)) + 36|0); - $76 = HEAP32[$75>>2]|0; - HEAP32[$vararg_buffer>>2] = $76; - _sqlite3ErrorMsg($72,34716,$vararg_buffer); - HEAP16[$x>>1] = 0; - } - $77 = $i; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 444|0); - $85 = HEAP16[$84>>1]|0; - $86 = $85 << 16 >> 16; - $87 = ($86|0)<(0); - $88 = $87 << 31 >> 31; - $89 = ($82|0)>($88|0); - $90 = ($79>>>0)>($86>>>0); - $91 = ($82|0)==($88|0); - $92 = $91 & $90; - $93 = $89 | $92; - if ($93) { - $94 = $i; - $95 = $94; - $96 = HEAP32[$95>>2]|0; - $97 = (($94) + 4)|0; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = $96&65535; - $101 = HEAP32[$0>>2]|0; - $102 = ((($101)) + 444|0); - HEAP16[$102>>1] = $100; - } + $69 = HEAP32[$0>>2]|0; + $70 = HEAP32[$db>>2]|0; + $71 = ((($70)) + 96|0); + $72 = ((($71)) + 36|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$vararg_buffer>>2] = $73; + _sqlite3ErrorMsg($69,34195,$vararg_buffer); + STACKTOP = sp;return; } else { + HEAP16[$x>>1] = 0; HEAP16[$i1>>1] = 0; while(1) { - $103 = HEAP16[$i1>>1]|0; - $104 = $103 << 16 >> 16; - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + 448|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($104|0)<($107|0); - if (!($108)) { + $100 = HEAP16[$i1>>1]|0; + $101 = $100 << 16 >> 16; + $102 = HEAP32[$0>>2]|0; + $103 = ((($102)) + 404|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101|0)<($104|0); + if (!($105)) { break; } - $109 = HEAP16[$i1>>1]|0; - $110 = $109 << 16 >> 16; - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + 476|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($113) + ($110<<2)|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)!=(0|0); - if ($116) { - $117 = HEAP16[$i1>>1]|0; - $118 = $117 << 16 >> 16; - $119 = HEAP32[$0>>2]|0; - $120 = ((($119)) + 476|0); - $121 = HEAP32[$120>>2]|0; - $122 = (($121) + ($118<<2)|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$z>>2]|0; - $125 = (_strcmp($123,$124)|0); - $126 = ($125|0)==(0); - if ($126) { + $106 = HEAP16[$i1>>1]|0; + $107 = $106 << 16 >> 16; + $108 = HEAP32[$0>>2]|0; + $109 = ((($108)) + 428|0); + $110 = HEAP32[$109>>2]|0; + $111 = (($110) + ($107<<2)|0); + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)!=(0|0); + if ($113) { + $114 = HEAP16[$i1>>1]|0; + $115 = $114 << 16 >> 16; + $116 = HEAP32[$0>>2]|0; + $117 = ((($116)) + 428|0); + $118 = HEAP32[$117>>2]|0; + $119 = (($118) + ($115<<2)|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$z>>2]|0; + $122 = (_strcmp($120,$121)|0); + $123 = ($122|0)==(0); + if ($123) { label = 14; break; } } - $133 = HEAP16[$i1>>1]|0; - $134 = (($133) + 1)<<16>>16; - HEAP16[$i1>>1] = $134; + $128 = HEAP16[$i1>>1]|0; + $129 = (($128) + 1)<<16>>16; + HEAP16[$i1>>1] = $129; } if ((label|0) == 14) { - $127 = HEAP16[$i1>>1]|0; - $128 = $127 << 16 >> 16; - $129 = (($128) + 1)|0; - $130 = $129&65535; - HEAP16[$x>>1] = $130; - $131 = HEAP32[$1>>2]|0; - $132 = ((($131)) + 32|0); - HEAP16[$132>>1] = $130; - } - $135 = HEAP16[$x>>1]|0; - $136 = $135 << 16 >> 16; - $137 = ($136|0)==(0); - if ($137) { - $138 = HEAP32[$0>>2]|0; - $139 = ((($138)) + 444|0); - $140 = HEAP16[$139>>1]|0; - $141 = (($140) + 1)<<16>>16; - HEAP16[$139>>1] = $141; - $142 = HEAP32[$1>>2]|0; - $143 = ((($142)) + 32|0); - HEAP16[$143>>1] = $141; - HEAP16[$x>>1] = $141; + $124 = HEAP16[$i1>>1]|0; + $125 = $124 << 16 >> 16; + $126 = (($125) + 1)|0; + $127 = $126&65535; + HEAP16[$x>>1] = $127; + } + $130 = HEAP16[$x>>1]|0; + $131 = $130 << 16 >> 16; + $132 = ($131|0)==(0); + if ($132) { + $133 = HEAP32[$0>>2]|0; + $134 = ((($133)) + 400|0); + $135 = HEAP16[$134>>1]|0; + $136 = (($135) + 1)<<16>>16; + HEAP16[$134>>1] = $136; + HEAP16[$x>>1] = $136; } } - $144 = HEAP16[$x>>1]|0; - $145 = $144 << 16 >> 16; - $146 = ($145|0)>(0); - if ($146) { - $147 = HEAP16[$x>>1]|0; - $148 = $147 << 16 >> 16; - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 448|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($148|0)>($151|0); - do { - if ($152) { - $153 = HEAP32[$db>>2]|0; - $154 = HEAP32[$0>>2]|0; - $155 = ((($154)) + 476|0); - $156 = HEAP32[$155>>2]|0; - $157 = HEAP16[$x>>1]|0; - $158 = $157 << 16 >> 16; - $159 = $158<<2; - $160 = (_sqlite3DbRealloc($153,$156,$159,0)|0); - HEAP32[$a>>2] = $160; - $161 = HEAP32[$a>>2]|0; - $162 = ($161|0)==(0|0); - if ($162) { - STACKTOP = sp;return; - } else { - $163 = HEAP32[$a>>2]|0; - $164 = HEAP32[$0>>2]|0; - $165 = ((($164)) + 476|0); - HEAP32[$165>>2] = $163; - $166 = HEAP32[$0>>2]|0; - $167 = ((($166)) + 448|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[$a>>2]|0; - $170 = (($169) + ($168<<2)|0); - $171 = HEAP16[$x>>1]|0; - $172 = $171 << 16 >> 16; - $173 = HEAP32[$0>>2]|0; - $174 = ((($173)) + 448|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($172) - ($175))|0; - $177 = $176<<2; - _memset(($170|0),0,($177|0))|0; - $178 = HEAP16[$x>>1]|0; - $179 = $178 << 16 >> 16; - $180 = HEAP32[$0>>2]|0; - $181 = ((($180)) + 448|0); - HEAP32[$181>>2] = $179; - break; - } - } - } while(0); - $182 = HEAP32[$z>>2]|0; - $183 = HEAP8[$182>>0]|0; - $184 = $183 << 24 >> 24; - $185 = ($184|0)!=(63); - if (!($185)) { - $186 = HEAP16[$x>>1]|0; - $187 = $186 << 16 >> 16; - $188 = (($187) - 1)|0; - $189 = HEAP32[$0>>2]|0; - $190 = ((($189)) + 476|0); - $191 = HEAP32[$190>>2]|0; - $192 = (($191) + ($188<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==(0|0); - if (!($194)) { - break; - } + } while(0); + $137 = HEAP16[$x>>1]|0; + $138 = HEAP32[$1>>2]|0; + $139 = ((($138)) + 32|0); + HEAP16[$139>>1] = $137; + $140 = HEAP16[$x>>1]|0; + $141 = $140 << 16 >> 16; + $142 = HEAP32[$0>>2]|0; + $143 = ((($142)) + 404|0); + $144 = HEAP32[$143>>2]|0; + $145 = ($141|0)>($144|0); + do { + if ($145) { + $146 = HEAP32[$db>>2]|0; + $147 = HEAP32[$0>>2]|0; + $148 = ((($147)) + 428|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP16[$x>>1]|0; + $151 = $150 << 16 >> 16; + $152 = $151<<2; + $153 = (_sqlite3DbRealloc($146,$149,$152,0)|0); + HEAP32[$a>>2] = $153; + $154 = HEAP32[$a>>2]|0; + $155 = ($154|0)==(0|0); + if ($155) { + STACKTOP = sp;return; + } else { + $156 = HEAP32[$a>>2]|0; + $157 = HEAP32[$0>>2]|0; + $158 = ((($157)) + 428|0); + HEAP32[$158>>2] = $156; + $159 = HEAP32[$0>>2]|0; + $160 = ((($159)) + 404|0); + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$a>>2]|0; + $163 = (($162) + ($161<<2)|0); + $164 = HEAP16[$x>>1]|0; + $165 = $164 << 16 >> 16; + $166 = HEAP32[$0>>2]|0; + $167 = ((($166)) + 404|0); + $168 = HEAP32[$167>>2]|0; + $169 = (($165) - ($168))|0; + $170 = $169<<2; + _memset(($163|0),0,($170|0))|0; + $171 = HEAP16[$x>>1]|0; + $172 = $171 << 16 >> 16; + $173 = HEAP32[$0>>2]|0; + $174 = ((($173)) + 404|0); + HEAP32[$174>>2] = $172; + break; } - $195 = HEAP32[$db>>2]|0; - $196 = HEAP16[$x>>1]|0; - $197 = $196 << 16 >> 16; - $198 = (($197) - 1)|0; - $199 = HEAP32[$0>>2]|0; - $200 = ((($199)) + 476|0); - $201 = HEAP32[$200>>2]|0; - $202 = (($201) + ($198<<2)|0); - $203 = HEAP32[$202>>2]|0; - _sqlite3DbFree($195,$203); - $204 = HEAP32[$db>>2]|0; - $205 = HEAP32[$z>>2]|0; - $206 = HEAP32[$n>>2]|0; - $207 = (_sqlite3DbStrNDup($204,$205,$206,0)|0); - $208 = HEAP16[$x>>1]|0; - $209 = $208 << 16 >> 16; - $210 = (($209) - 1)|0; - $211 = HEAP32[$0>>2]|0; - $212 = ((($211)) + 476|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($213) + ($210<<2)|0); - HEAP32[$214>>2] = $207; } + } while(0); + $175 = HEAP16[$x>>1]|0; + $176 = $175 << 16 >> 16; + $177 = (($176) - 1)|0; + $178 = HEAP32[$0>>2]|0; + $179 = ((($178)) + 428|0); + $180 = HEAP32[$179>>2]|0; + $181 = (($180) + ($177<<2)|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182|0)==(0|0); + if ($183) { + $184 = HEAP32[$db>>2]|0; + $185 = HEAP32[$z>>2]|0; + $186 = HEAP32[$2>>2]|0; + $187 = (_sqlite3DbStrNDup($184,$185,$186,0)|0); + $188 = HEAP16[$x>>1]|0; + $189 = $188 << 16 >> 16; + $190 = (($189) - 1)|0; + $191 = HEAP32[$0>>2]|0; + $192 = ((($191)) + 428|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193) + ($190<<2)|0); + HEAP32[$194>>2] = $187; } - } while(0); - $215 = HEAP32[$0>>2]|0; - $216 = ((($215)) + 68|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)!=(0); - if ($218) { - STACKTOP = sp;return; } - $219 = HEAP32[$0>>2]|0; - $220 = ((($219)) + 444|0); - $221 = HEAP16[$220>>1]|0; - $222 = $221 << 16 >> 16; - $223 = HEAP32[$db>>2]|0; - $224 = ((($223)) + 92|0); - $225 = ((($224)) + 36|0); - $226 = HEAP32[$225>>2]|0; - $227 = ($222|0)>($226|0); - if (!($227)) { + $195 = HEAP32[$0>>2]|0; + $196 = ((($195)) + 400|0); + $197 = HEAP16[$196>>1]|0; + $198 = $197 << 16 >> 16; + $199 = HEAP32[$db>>2]|0; + $200 = ((($199)) + 96|0); + $201 = ((($200)) + 36|0); + $202 = HEAP32[$201>>2]|0; + $203 = ($198|0)>($202|0); + if (!($203)) { STACKTOP = sp;return; } - $228 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($228,34759,$vararg_buffer2); + $204 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($204,34238,$vararg_buffer2); STACKTOP = sp;return; } function _sqlite3ExprAddCollateToken($pParse,$pExpr,$pCollName,$dequote) { @@ -124470,7 +125514,7 @@ function _sqlite3ExprSetHeightAndFlags($pParse,$p) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 68|0); + $3 = ((($2)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0); if ($5) { @@ -124556,7 +125600,7 @@ function _parserAddExprIdListTerm($pParse,$pPrior,$pIdToken,$hasCollate,$sortOrd if ($or$cond) { $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 144|0); + $14 = ((($13)) + 148|0); $15 = ((($14)) + 5|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; @@ -124571,7 +125615,7 @@ function _parserAddExprIdListTerm($pParse,$pPrior,$pIdToken,$hasCollate,$sortOrd HEAP32[$vararg_buffer>>2] = $22; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $24; - _sqlite3ErrorMsg($19,34676,$vararg_buffer); + _sqlite3ErrorMsg($19,34155,$vararg_buffer); } } $25 = HEAP32[$0>>2]|0; @@ -124660,7 +125704,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { HEAP32[$vararg_buffer>>2] = $27; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($26,34466,$vararg_buffer); + _sqlite3ErrorMsg($26,33945,$vararg_buffer); } $31 = HEAP32[$0>>2]|0; $32 = ((($31)) + 17|0); @@ -124679,7 +125723,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { if ($38) { $39 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer2>>2] = 0; - _sqlite3ErrorMsg($39,34484,$vararg_buffer2); + _sqlite3ErrorMsg($39,33963,$vararg_buffer2); $106 = HEAP32[$db>>2]|0; $107 = HEAP32[$1>>2]|0; _sqlite3SrcListDelete($106,$107); @@ -124705,7 +125749,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { HEAP32[$zDb>>2] = $53; $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 20521 : 20540; + $56 = $55 ? 19905 : 19924; HEAP32[$zTab>>2] = $56; $57 = HEAP32[$0>>2]|0; $58 = HEAP32[$zTab>>2]|0; @@ -124761,7 +125805,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { $85 = HEAP32[$84>>2]|0; $86 = HEAP32[$iDb>>2]|0; $87 = ($86|0)==(1); - $88 = $87 ? 20521 : 20540; + $88 = $87 ? 19905 : 19924; $89 = HEAP32[$pIndex>>2]|0; $90 = HEAP32[$89>>2]|0; HEAP32[$vararg_buffer5>>2] = $85; @@ -124769,12 +125813,12 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { HEAP32[$vararg_ptr8>>2] = $88; $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); HEAP32[$vararg_ptr9>>2] = $90; - _sqlite3NestedParse($79,34557,$vararg_buffer5); + _sqlite3NestedParse($79,34036,$vararg_buffer5); $91 = HEAP32[$0>>2]|0; $92 = HEAP32[$iDb>>2]|0; $93 = HEAP32[$pIndex>>2]|0; $94 = HEAP32[$93>>2]|0; - _sqlite3ClearStatTables($91,$92,31450,$94); + _sqlite3ClearStatTables($91,$92,30854,$94); $95 = HEAP32[$0>>2]|0; $96 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($95,$96); @@ -124788,32 +125832,59 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { $103 = HEAP32[$iDb>>2]|0; $104 = HEAP32[$pIndex>>2]|0; $105 = HEAP32[$104>>2]|0; - (_sqlite3VdbeAddOp4($102,137,$103,0,0,$105,0)|0); + (_sqlite3VdbeAddOp4($102,139,$103,0,0,$105,0)|0); $106 = HEAP32[$db>>2]|0; $107 = HEAP32[$1>>2]|0; _sqlite3SrcListDelete($106,$107); STACKTOP = sp;return; } -function _sqlite3Vacuum($pParse) { +function _sqlite3Vacuum($pParse,$pNm) { $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $v = 0, label = 0, sp = 0; + $pNm = $pNm|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $iDb = 0, $or$cond = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $v = sp; + $0 = sp + 12|0; + $1 = sp + 8|0; + $v = sp + 4|0; + $iDb = sp; HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3GetVdbe($1)|0); - HEAP32[$v>>2] = $2; - $3 = HEAP32[$v>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + HEAP32[$1>>2] = $pNm; + $2 = HEAP32[$0>>2]|0; + $3 = (_sqlite3GetVdbe($2)|0); + HEAP32[$v>>2] = $3; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = (_sqlite3TwoPartName($6,$7,$8,$1)|0); + $10 = $9; + } else { + $10 = 0; + } + HEAP32[$iDb>>2] = $10; + $11 = HEAP32[$v>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { STACKTOP = sp;return; } - $5 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($5,10,0,0)|0); - $6 = HEAP32[$v>>2]|0; - _sqlite3VdbeUsesBtree($6,0); + $13 = HEAP32[$iDb>>2]|0; + $14 = ($13|0)>=(2); + $15 = HEAP32[$iDb>>2]|0; + $16 = ($15|0)==(0); + $or$cond = $14 | $16; + if (!($or$cond)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$v>>2]|0; + $18 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp1($17,10,$18)|0); + $19 = HEAP32[$v>>2]|0; + $20 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($19,$20); STACKTOP = sp;return; } function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { @@ -124878,60 +125949,60 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { var $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0; var $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0; var $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0; - var $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; - var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; - var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; - var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; - var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; - var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0; - var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0; - var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0; - var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0; - var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0; - var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0; - var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0; - var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; - var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0; - var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0; - var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0; - var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0; - var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; - var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0; - var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0; - var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0; - var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0; - var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0; - var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0; - var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0; - var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0; - var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0; - var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0; - var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0; - var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0; - var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0; - var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0; - var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0; - var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0; - var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0; - var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0; - var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0; - var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0; - var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0; - var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $N = 0, $N48 = 0, $aFcntl = 0, $aOp = 0, $aOp43 = 0, $aOp44 = 0, $aOp45 = 0, $aOp8 = 0, $aRoot = 0, $addr = 0; - var $addr32 = 0, $addrOk = 0, $addrTop = 0, $aiCols = 0, $azOrigin = 0, $b = 0, $ckUniq = 0, $cnt = 0, $cnum = 0, $db = 0, $eAuto = 0, $eMode = 0, $eMode4 = 0, $eMode47 = 0, $i = 0, $i12 = 0, $i16 = 0, $i19 = 0, $i20 = 0, $i21 = 0; - var $i23 = 0, $i27 = 0, $i30 = 0, $i46 = 0, $iAddr = 0, $iBt = 0, $iCol = 0, $iCookie = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iKey = 0, $iLevel = 0, $iLimit = 0, $iLimit9 = 0, $iReg = 0, $ii = 0, $ii3 = 0, $ii5 = 0, $isQuick = 0; - var $j = 0, $j28 = 0, $j31 = 0, $jmp2 = 0, $jmp241 = 0, $jmp3 = 0, $jmp342 = 0, $jmp4 = 0, $jmp5 = 0, $jmp6 = 0, $k = 0, $k29 = 0, $kk = 0, $loopTop = 0, $lwr = 0, $mask = 0, $mid = 0, $mx = 0, $mxErr = 0, $mxIdx = 0; - var $n = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0, $pBt = 0, $pBt2 = 0, $pBt7 = 0, $pCol = 0, $pColl = 0, $pDb = 0, $pEnc = 0, $pFK = 0, $pFK24 = 0; - var $pId = 0, $pIdx = 0, $pIdx14 = 0, $pIdx17 = 0, $pIdx26 = 0, $pIdx35 = 0, $pIdx37 = 0, $pIdx39 = 0, $pPager = 0, $pPager6 = 0, $pParent = 0, $pPk = 0, $pPk40 = 0, $pPragma = 0, $pPrior = 0, $pTab = 0, $pTab13 = 0, $pTab15 = 0, $pTab18 = 0, $pTab22 = 0; - var $pTab25 = 0, $pTab34 = 0, $pTab36 = 0, $pTab38 = 0, $pTbls = 0, $r1 = 0, $rc = 0, $regKey = 0, $regResult = 0, $regRow = 0, $res = 0, $size = 0, $size1 = 0, $size10 = 0, $size11 = 0, $sz = 0, $uniqOk = 0, $upr = 0, $v = 0, $vararg_buffer = 0; - var $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer33 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer54 = 0, $vararg_buffer61 = 0, $vararg_buffer66 = 0, $vararg_buffer70 = 0, $vararg_buffer80 = 0, $vararg_buffer84 = 0, $vararg_buffer87 = 0, $vararg_buffer91 = 0, $vararg_ptr28 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0; - var $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0, $vararg_ptr59 = 0, $vararg_ptr60 = 0, $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr69 = 0, $vararg_ptr73 = 0, $vararg_ptr74 = 0; - var $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0, $vararg_ptr83 = 0, $vararg_ptr90 = 0, $x = 0, $x33 = 0, $zDb = 0, $zErr = 0, $zLeft = 0, $zMode = 0, $zOpt = 0, $zRet = 0, $zRight = 0, label = 0, sp = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; + var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; + var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; + var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; + var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; + var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; + var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; + var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; + var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; + var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; + var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; + var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; + var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; + var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $N = 0, $N48 = 0, $aFcntl = 0, $aOp = 0, $aOp43 = 0, $aOp44 = 0, $aOp45 = 0, $aOp8 = 0, $aRoot = 0, $addr = 0, $addr32 = 0, $addrOk = 0, $addrTop = 0, $aiCols = 0, $azOrigin = 0; + var $b = 0, $ckUniq = 0, $cnt = 0, $cnum = 0, $db = 0, $eAuto = 0, $eMode = 0, $eMode4 = 0, $eMode47 = 0, $i = 0, $i12 = 0, $i16 = 0, $i19 = 0, $i20 = 0, $i21 = 0, $i23 = 0, $i27 = 0, $i30 = 0, $i46 = 0, $iAddr = 0; + var $iBt = 0, $iCol = 0, $iCookie = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iKey = 0, $iLevel = 0, $iLimit = 0, $iLimit9 = 0, $iReg = 0, $ii = 0, $ii3 = 0, $ii5 = 0, $isQuick = 0, $j = 0, $j28 = 0, $j31 = 0, $jmp2 = 0, $jmp241 = 0; + var $jmp3 = 0, $jmp342 = 0, $jmp4 = 0, $jmp5 = 0, $jmp6 = 0, $k = 0, $k29 = 0, $kk = 0, $loopTop = 0, $lwr = 0, $mask = 0, $mid = 0, $mx = 0, $mxErr = 0, $mxIdx = 0, $n = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0; + var $or$cond14 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0, $pBt = 0, $pBt2 = 0, $pBt7 = 0, $pCol = 0, $pColl = 0, $pDb = 0, $pEnc = 0, $pFK = 0, $pFK24 = 0, $pId = 0, $pIdx = 0, $pIdx14 = 0, $pIdx17 = 0, $pIdx26 = 0; + var $pIdx35 = 0, $pIdx37 = 0, $pIdx39 = 0, $pPager = 0, $pPager6 = 0, $pParent = 0, $pPk = 0, $pPk40 = 0, $pPragma = 0, $pPrior = 0, $pTab = 0, $pTab13 = 0, $pTab15 = 0, $pTab18 = 0, $pTab22 = 0, $pTab25 = 0, $pTab34 = 0, $pTab36 = 0, $pTab38 = 0, $pTbls = 0; + var $r1 = 0, $rc = 0, $regKey = 0, $regResult = 0, $regRow = 0, $res = 0, $size = 0, $size1 = 0, $size10 = 0, $size11 = 0, $sz = 0, $uniqOk = 0, $upr = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0; + var $vararg_buffer33 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer54 = 0, $vararg_buffer61 = 0, $vararg_buffer66 = 0, $vararg_buffer70 = 0, $vararg_buffer80 = 0, $vararg_buffer84 = 0, $vararg_buffer87 = 0, $vararg_buffer91 = 0, $vararg_ptr28 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0; + var $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0, $vararg_ptr59 = 0, $vararg_ptr60 = 0, $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr69 = 0, $vararg_ptr73 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0; + var $vararg_ptr83 = 0, $vararg_ptr90 = 0, $x = 0, $x33 = 0, $zDb = 0, $zErr = 0, $zLeft = 0, $zMode = 0, $zOpt = 0, $zRet = 0, $zRight = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 816|0; $vararg_buffer91 = sp + 264|0; @@ -125111,7 +126182,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $11 = HEAP32[$v>>2]|0; _sqlite3VdbeRunOnlyOnce($11); $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 76|0); + $13 = ((($12)) + 44|0); HEAP32[$13>>2] = 2; $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$1>>2]|0; @@ -125154,7 +126225,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $38 = HEAP32[$3>>2]|0; if ($36) { HEAP32[$vararg_buffer>>2] = $38; - $39 = (_sqlite3MPrintf($37,32624,$vararg_buffer)|0); + $39 = (_sqlite3MPrintf($37,32103,$vararg_buffer)|0); HEAP32[$zRight>>2] = $39; } else { $40 = (_sqlite3NameFromToken($37,$38)|0); @@ -125202,7 +126273,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if ($66) { $67 = HEAP32[$v>>2]|0; $68 = HEAP32[$aFcntl>>2]|0; - _returnSingleText($67,32628,$68); + _returnSingleText($67,32107,$68); $69 = HEAP32[$aFcntl>>2]|0; _sqlite3_free($69); break; @@ -125216,12 +126287,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $74 = HEAP32[$0>>2]|0; $75 = HEAP32[$aFcntl>>2]|0; HEAP32[$vararg_buffer15>>2] = $75; - _sqlite3ErrorMsg($74,19007,$vararg_buffer15); + _sqlite3ErrorMsg($74,18391,$vararg_buffer15); $76 = HEAP32[$aFcntl>>2]|0; _sqlite3_free($76); } $77 = HEAP32[$0>>2]|0; - $78 = ((($77)) + 68|0); + $78 = ((($77)) + 36|0); $79 = HEAP32[$78>>2]|0; $80 = (($79) + 1)|0; HEAP32[$78>>2] = $80; @@ -125247,7 +126318,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$mid>>2] = $90; $91 = HEAP32[$zLeft>>2]|0; $92 = HEAP32[$mid>>2]|0; - $93 = (5316 + (($92*12)|0)|0); + $93 = (4476 + (($92*12)|0)|0); $94 = HEAP32[$93>>2]|0; $95 = (_sqlite3_stricmp($91,$94)|0); HEAP32[$rc>>2] = $95; @@ -125274,7 +126345,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $105 = ($103|0)>($104|0); if (!($105)) { $106 = HEAP32[$mid>>2]|0; - $107 = (5316 + (($106*12)|0)|0); + $107 = (4476 + (($106*12)|0)|0); HEAP32[$pPragma>>2] = $107; $108 = HEAP32[$pPragma>>2]|0; $109 = ((($108)) + 5|0); @@ -125313,7 +126384,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $147 = HEAP32[$v>>2]|0; $148 = HEAP32[$iDb>>2]|0; $149 = HEAP32[$size>>2]|0; - (_sqlite3VdbeAddOp3($147,100,$148,3,$149)|0); + (_sqlite3VdbeAddOp3($147,102,$148,3,$149)|0); $150 = HEAP32[$size>>2]|0; $151 = HEAP32[$pDb>>2]|0; $152 = ((($151)) + 12|0); @@ -125332,14 +126403,14 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } else { $125 = HEAP32[$v>>2]|0; - _setOneColumnName($125,32635); + _setOneColumnName($125,32114); $126 = HEAP32[$0>>2]|0; - $127 = ((($126)) + 76|0); + $127 = ((($126)) + 44|0); $128 = HEAP32[$127>>2]|0; $129 = (($128) + 2)|0; HEAP32[$127>>2] = $129; $130 = HEAP32[$v>>2]|0; - $131 = (_sqlite3VdbeAddOpList($130,9,32646,0)|0); + $131 = (_sqlite3VdbeAddOpList($130,9,32125,0)|0); HEAP32[$aOp>>2] = $131; $132 = HEAP32[$iDb>>2]|0; $133 = HEAP32[$aOp>>2]|0; @@ -125369,11 +126440,11 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $177 = HEAP32[$zRight>>2]|0; $178 = (_sqlite3Atoi($177)|0); $179 = HEAP32[$db>>2]|0; - $180 = ((($179)) + 76|0); + $180 = ((($179)) + 80|0); HEAP32[$180>>2] = $178; $181 = HEAP32[$pBt>>2]|0; $182 = HEAP32[$db>>2]|0; - $183 = ((($182)) + 76|0); + $183 = ((($182)) + 80|0); $184 = HEAP32[$183>>2]|0; $185 = (_sqlite3BtreeSetPageSize($181,$184,-1,0)|0); $186 = (7)==($185|0); @@ -125398,7 +126469,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $174 = HEAP32[$size1>>2]|0; $175 = ($174|0)<(0); $176 = $175 << 31 >> 31; - _returnSingleInt($173,32682,$174,$176); + _returnSingleInt($173,32161,$174,$176); break L21; break; } @@ -125458,7 +126529,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $221 = HEAP32[$b>>2]|0; $222 = ($221|0)<(0); $223 = $222 << 31 >> 31; - _returnSingleInt($220,32692,$221,$223); + _returnSingleInt($220,32171,$221,$223); break L21; break; } @@ -125467,7 +126538,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $225 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($224,$225); $226 = HEAP32[$0>>2]|0; - $227 = ((($226)) + 76|0); + $227 = ((($226)) + 44|0); $228 = HEAP32[$227>>2]|0; $229 = (($228) + 1)|0; HEAP32[$227>>2] = $229; @@ -125475,7 +126546,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $230 = HEAP32[$zLeft>>2]|0; $231 = HEAP8[$230>>0]|0; $232 = $231&255; - $233 = (18229 + ($232)|0); + $233 = (17613 + ($232)|0); $234 = HEAP8[$233>>0]|0; $235 = $234&255; $236 = ($235|0)==(112); @@ -125483,16 +126554,16 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $238 = HEAP32[$iDb>>2]|0; $239 = HEAP32[$iReg>>2]|0; if ($236) { - (_sqlite3VdbeAddOp2($237,156,$238,$239)|0); + (_sqlite3VdbeAddOp2($237,158,$238,$239)|0); } else { $240 = HEAP32[$zRight>>2]|0; $241 = (_sqlite3Atoi($240)|0); $242 = (_sqlite3AbsInt32($241)|0); - (_sqlite3VdbeAddOp3($237,157,$238,$239,$242)|0); + (_sqlite3VdbeAddOp3($237,159,$238,$239,$242)|0); } $243 = HEAP32[$v>>2]|0; $244 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($243,85,$244,1)|0); + (_sqlite3VdbeAddOp2($243,87,$244,1)|0); $245 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($245,1); $246 = HEAP32[$v>>2]|0; @@ -125502,7 +126573,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break; } case 22: { - HEAP32[$zRet>>2] = 32706; + HEAP32[$zRet>>2] = 32185; $248 = HEAP32[$zRight>>2]|0; $249 = (_getLockingMode($248)|0); HEAP32[$eMode>>2] = $249; @@ -125570,17 +126641,17 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $292 = HEAP32[$eMode>>2]|0; $293 = ($292|0)==(1); if ($293) { - HEAP32[$zRet>>2] = 32713; + HEAP32[$zRet>>2] = 32192; } $294 = HEAP32[$v>>2]|0; $295 = HEAP32[$zRet>>2]|0; - _returnSingleText($294,32723,$295); + _returnSingleText($294,32202,$295); break L21; break; } case 19: { $296 = HEAP32[$v>>2]|0; - _setOneColumnName($296,32736); + _setOneColumnName($296,32215); $297 = HEAP32[$zRight>>2]|0; $298 = ($297|0)==(0|0); if ($298) { @@ -125677,7 +126748,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$ii5>>2] = $348; } $349 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($349,85,1,1)|0); + (_sqlite3VdbeAddOp2($349,87,1,1)|0); break L21; break; } @@ -125740,7 +126811,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $393 = (($390) + 4)|0; $394 = $393; $395 = HEAP32[$394>>2]|0; - _returnSingleInt($389,32749,$392,$395); + _returnSingleInt($389,32228,$392,$395); break L21; break; } @@ -125757,7 +126828,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $403 = (_sqlite3BtreeGetAutoVacuum($402)|0); $404 = ($403|0)<(0); $405 = $404 << 31 >> 31; - _returnSingleInt($401,32768,$403,$405); + _returnSingleInt($401,32247,$403,$405); break L21; } $406 = HEAP32[$zRight>>2]|0; @@ -125789,7 +126860,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $422 = (_sqlite3VdbeCurrentAddr($421)|0); HEAP32[$iAddr>>2] = $422; $423 = HEAP32[$v>>2]|0; - $424 = (_sqlite3VdbeAddOpList($423,5,32780,0)|0); + $424 = (_sqlite3VdbeAddOpList($423,5,32259,0)|0); HEAP32[$aOp8>>2] = $424; $425 = HEAP32[$iDb>>2]|0; $426 = HEAP32[$aOp8>>2]|0; @@ -125847,18 +126918,18 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { _sqlite3BeginWriteOperation($455,0,$456); $457 = HEAP32[$v>>2]|0; $458 = HEAP32[$iLimit9>>2]|0; - (_sqlite3VdbeAddOp2($457,74,$458,1)|0); + (_sqlite3VdbeAddOp2($457,76,$458,1)|0); $459 = HEAP32[$v>>2]|0; $460 = HEAP32[$iDb>>2]|0; - $461 = (_sqlite3VdbeAddOp1($459,67,$460)|0); + $461 = (_sqlite3VdbeAddOp1($459,69,$460)|0); HEAP32[$addr>>2] = $461; $462 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($462,85,1)|0); + (_sqlite3VdbeAddOp1($462,87,1)|0); $463 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($463,89,1,-1)|0); + (_sqlite3VdbeAddOp2($463,91,1,-1)|0); $464 = HEAP32[$v>>2]|0; $465 = HEAP32[$addr>>2]|0; - (_sqlite3VdbeAddOp2($464,64,1,$465)|0); + (_sqlite3VdbeAddOp2($464,66,1,$465)|0); $466 = HEAP32[$v>>2]|0; $467 = HEAP32[$addr>>2]|0; _sqlite3VdbeJumpHere($466,$467); @@ -125897,7 +126968,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $475 = HEAP32[$474>>2]|0; $476 = ($475|0)<(0); $477 = $476 << 31 >> 31; - _returnSingleInt($470,32635,$475,$477); + _returnSingleInt($470,32114,$475,$477); break L21; } break; @@ -125923,7 +126994,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } $505 = ($506|0)<(0); $507 = $505 << 31 >> 31; - _returnSingleInt($495,32800,$506,$507); + _returnSingleInt($495,32279,$506,$507); break L21; } HEAP32[$size11>>2] = 1; @@ -125977,7 +127048,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $538 = (($535) + 4)|0; $539 = $538; $540 = HEAP32[$539>>2]|0; - _returnSingleInt($534,32812,$537,$540); + _returnSingleInt($534,32291,$537,$540); break L21; } $541 = HEAP32[$rc>>2]|0; @@ -125986,7 +127057,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } $543 = HEAP32[$0>>2]|0; - $544 = ((($543)) + 68|0); + $544 = ((($543)) + 36|0); $545 = HEAP32[$544>>2]|0; $546 = (($545) + 1)|0; HEAP32[$544>>2] = $546; @@ -126011,7 +127082,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $554 = ((($553)) + 68|0); $555 = HEAP8[$554>>0]|0; $556 = $555&255; - _returnSingleInt($552,32822,$556,0); + _returnSingleInt($552,32301,$556,0); break L21; } break; @@ -126021,8 +127092,8 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $560 = ($559|0)!=(0|0); if (!($560)) { $561 = HEAP32[$v>>2]|0; - $562 = HEAP32[964>>2]|0; - _returnSingleText($561,32833,$562); + $562 = HEAP32[972>>2]|0; + _returnSingleText($561,32312,$562); break L21; } $563 = HEAP32[$zRight>>2]|0; @@ -126041,7 +127112,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $or$cond9 = $571 | $573; if ($or$cond9) { $574 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($574,32854,$vararg_buffer18); + _sqlite3ErrorMsg($574,32333,$vararg_buffer18); break L21; } } @@ -126054,7 +127125,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $580 = HEAP32[$0>>2]|0; (_invalidateTempStorage($580)|0); } - $581 = HEAP32[964>>2]|0; + $581 = HEAP32[972>>2]|0; _sqlite3_free($581); $582 = HEAP32[$zRight>>2]|0; $583 = HEAP8[$582>>0]|0; @@ -126062,11 +127133,11 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if ($584) { $585 = HEAP32[$zRight>>2]|0; HEAP32[$vararg_buffer20>>2] = $585; - $586 = (_sqlite3_mprintf(19007,$vararg_buffer20)|0); - HEAP32[964>>2] = $586; + $586 = (_sqlite3_mprintf(18391,$vararg_buffer20)|0); + HEAP32[972>>2] = $586; break L21; } else { - HEAP32[964>>2] = 0; + HEAP32[972>>2] = 0; break L21; } break; @@ -126083,7 +127154,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $594 = (($593) - 1)|0; $595 = ($594|0)<(0); $596 = $595 << 31 >> 31; - _returnSingleInt($589,32879,$594,$596); + _returnSingleInt($589,32358,$594,$596); break L21; } $597 = HEAP32[$db>>2]|0; @@ -126114,7 +127185,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } else { $601 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($601,32891,$vararg_buffer23); + _sqlite3ErrorMsg($601,32370,$vararg_buffer23); break L21; } break; @@ -126185,7 +127256,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } } $663 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($663,148,0,0)|0); + (_sqlite3VdbeAddOp0($663,150)|0); $664 = HEAP32[$db>>2]|0; _setAllPagerFlags($664); break L21; @@ -126197,10 +127268,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if (!($666)) { break L21; } - $667 = HEAP32[$db>>2]|0; + $667 = HEAP32[$0>>2]|0; $668 = HEAP32[$zRight>>2]|0; $669 = HEAP32[$zDb>>2]|0; - $670 = (_sqlite3FindTable($667,$668,$669)|0); + $670 = (_sqlite3LocateTable($667,2,$668,$669)|0); HEAP32[$pTab>>2] = $670; $671 = HEAP32[$pTab>>2]|0; $672 = ($671|0)!=(0|0); @@ -126212,13 +127283,13 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $674 = (_sqlite3PrimaryKeyIndex($673)|0); HEAP32[$pPk>>2] = $674; $675 = HEAP32[$0>>2]|0; - $676 = ((($675)) + 76|0); + $676 = ((($675)) + 44|0); HEAP32[$676>>2] = 6; $677 = HEAP32[$0>>2]|0; $678 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($677,$678); $679 = HEAP32[$v>>2]|0; - _setAllColumnNames($679,6,6012); + _setAllColumnNames($679,6,5172); $680 = HEAP32[$0>>2]|0; $681 = HEAP32[$pTab>>2]|0; (_sqlite3ViewGetColumnNames($680,$681)|0); @@ -126300,7 +127371,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $729 = HEAP32[$pCol>>2]|0; $730 = HEAP32[$729>>2]|0; $731 = HEAP32[$pCol>>2]|0; - $732 = (_sqlite3ColumnType($731,19018)|0); + $732 = (_sqlite3ColumnType($731,18402)|0); $733 = HEAP32[$pCol>>2]|0; $734 = ((($733)) + 12|0); $735 = HEAP8[$734>>0]|0; @@ -126333,9 +127404,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_ptr31>>2] = $749; $vararg_ptr32 = ((($vararg_buffer25)) + 20|0); HEAP32[$vararg_ptr32>>2] = $748; - _sqlite3VdbeMultiLoad($725,1,32944,$vararg_buffer25); + _sqlite3VdbeMultiLoad($725,1,32423,$vararg_buffer25); $750 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($750,85,1,6)|0); + (_sqlite3VdbeAddOp2($750,87,1,6)|0); } $751 = HEAP32[$i>>2]|0; $752 = (($751) + 1)|0; @@ -126351,13 +127422,13 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $756 = (_sqlite3GetVdbe($755)|0); HEAP32[$v>>2] = $756; $757 = HEAP32[$0>>2]|0; - $758 = ((($757)) + 76|0); + $758 = ((($757)) + 44|0); HEAP32[$758>>2] = 4; $759 = HEAP32[$0>>2]|0; $760 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($759,$760); $761 = HEAP32[$v>>2]|0; - _setAllColumnNames($761,4,6036); + _setAllColumnNames($761,4,5196); $762 = HEAP32[$pDb>>2]|0; $763 = ((($762)) + 12|0); $764 = HEAP32[$763>>2]|0; @@ -126393,9 +127464,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_ptr37>>2] = $779; $vararg_ptr38 = ((($vararg_buffer33)) + 12|0); HEAP32[$vararg_ptr38>>2] = $783; - _sqlite3VdbeMultiLoad($773,1,32951,$vararg_buffer33); + _sqlite3VdbeMultiLoad($773,1,32430,$vararg_buffer33); $784 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($784,85,1,4)|0); + (_sqlite3VdbeAddOp2($784,87,1,4)|0); $785 = HEAP32[$pTab13>>2]|0; $786 = ((($785)) + 8|0); $787 = HEAP32[$786>>2]|0; @@ -126423,9 +127494,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_ptr42>>2] = $796; $vararg_ptr43 = ((($vararg_buffer39)) + 8|0); HEAP32[$vararg_ptr43>>2] = $801; - _sqlite3VdbeMultiLoad($790,2,32956,$vararg_buffer39); + _sqlite3VdbeMultiLoad($790,2,32435,$vararg_buffer39); $802 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($802,85,1,4)|0); + (_sqlite3VdbeAddOp2($802,87,1,4)|0); $803 = HEAP32[$pIdx>>2]|0; $804 = ((($803)) + 20|0); $805 = HEAP32[$804>>2]|0; @@ -126464,7 +127535,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $823 = $822&65535; HEAP32[$mx>>2] = $823; $824 = HEAP32[$0>>2]|0; - $825 = ((($824)) + 76|0); + $825 = ((($824)) + 44|0); HEAP32[$825>>2] = 6; } else { $826 = ((($820)) + 50|0); @@ -126472,7 +127543,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $828 = $827&65535; HEAP32[$mx>>2] = $828; $829 = HEAP32[$0>>2]|0; - $830 = ((($829)) + 76|0); + $830 = ((($829)) + 44|0); HEAP32[$830>>2] = 3; } $831 = HEAP32[$pIdx14>>2]|0; @@ -126484,9 +127555,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { _sqlite3CodeVerifySchema($834,$835); $836 = HEAP32[$v>>2]|0; $837 = HEAP32[$0>>2]|0; - $838 = ((($837)) + 76|0); + $838 = ((($837)) + 44|0); $839 = HEAP32[$838>>2]|0; - _setAllColumnNames($836,$839,6052); + _setAllColumnNames($836,$839,5212); HEAP32[$i16>>2] = 0; while(1) { $840 = HEAP32[$i16>>2]|0; @@ -126526,7 +127597,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_ptr47>>2] = $852; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $863; - _sqlite3VdbeMultiLoad($849,1,32960,$vararg_buffer44); + _sqlite3VdbeMultiLoad($849,1,32439,$vararg_buffer44); $864 = HEAP32[$pPragma>>2]|0; $865 = ((($864)) + 8|0); $866 = HEAP32[$865>>2]|0; @@ -126558,13 +127629,13 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_ptr52>>2] = $881; $vararg_ptr53 = ((($vararg_buffer49)) + 8|0); HEAP32[$vararg_ptr53>>2] = $888; - _sqlite3VdbeMultiLoad($868,4,32964,$vararg_buffer49); + _sqlite3VdbeMultiLoad($868,4,32443,$vararg_buffer49); } $889 = HEAP32[$v>>2]|0; $890 = HEAP32[$0>>2]|0; - $891 = ((($890)) + 76|0); + $891 = ((($890)) + 44|0); $892 = HEAP32[$891>>2]|0; - (_sqlite3VdbeAddOp2($889,85,1,$892)|0); + (_sqlite3VdbeAddOp2($889,87,1,$892)|0); $893 = HEAP32[$i16>>2]|0; $894 = (($893) + 1)|0; HEAP32[$i16>>2] = $894; @@ -126591,13 +127662,13 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $904 = (_sqlite3GetVdbe($903)|0); HEAP32[$v>>2] = $904; $905 = HEAP32[$0>>2]|0; - $906 = ((($905)) + 76|0); + $906 = ((($905)) + 44|0); HEAP32[$906>>2] = 5; $907 = HEAP32[$0>>2]|0; $908 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($907,$908); $909 = HEAP32[$v>>2]|0; - _setAllColumnNames($909,5,6076); + _setAllColumnNames($909,5,5236); $910 = HEAP32[$pTab18>>2]|0; $911 = ((($910)) + 8|0); $912 = HEAP32[$911>>2]|0; @@ -126609,7 +127680,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if (!($914)) { break L21; } - ;HEAP32[$azOrigin>>2]=HEAP32[6096>>2]|0;HEAP32[$azOrigin+4>>2]=HEAP32[6096+4>>2]|0;HEAP32[$azOrigin+8>>2]=HEAP32[6096+8>>2]|0; + ;HEAP32[$azOrigin>>2]=HEAP32[5256>>2]|0;HEAP32[$azOrigin+4>>2]=HEAP32[5256+4>>2]|0;HEAP32[$azOrigin+8>>2]=HEAP32[5256+8>>2]|0; $915 = HEAP32[$v>>2]|0; $916 = HEAP32[$i19>>2]|0; $917 = HEAP32[$pIdx17>>2]|0; @@ -126641,9 +127712,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_ptr59>>2] = $931; $vararg_ptr60 = ((($vararg_buffer54)) + 16|0); HEAP32[$vararg_ptr60>>2] = $936; - _sqlite3VdbeMultiLoad($915,1,32968,$vararg_buffer54); + _sqlite3VdbeMultiLoad($915,1,32447,$vararg_buffer54); $937 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($937,85,1,5)|0); + (_sqlite3VdbeAddOp2($937,87,1,5)|0); $938 = HEAP32[$pIdx17>>2]|0; $939 = ((($938)) + 20|0); $940 = HEAP32[$939>>2]|0; @@ -126656,10 +127727,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } case 10: { $943 = HEAP32[$0>>2]|0; - $944 = ((($943)) + 76|0); + $944 = ((($943)) + 44|0); HEAP32[$944>>2] = 3; $945 = HEAP32[$v>>2]|0; - _setAllColumnNames($945,3,6108); + _setAllColumnNames($945,3,5268); HEAP32[$i20>>2] = 0; while(1) { $946 = HEAP32[$i20>>2]|0; @@ -126700,9 +127771,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_ptr64>>2] = $966; $vararg_ptr65 = ((($vararg_buffer61)) + 8|0); HEAP32[$vararg_ptr65>>2] = $974; - _sqlite3VdbeMultiLoad($959,1,32974,$vararg_buffer61); + _sqlite3VdbeMultiLoad($959,1,32453,$vararg_buffer61); $975 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($975,85,1,3)|0); + (_sqlite3VdbeAddOp2($975,87,1,3)|0); } $976 = HEAP32[$i20>>2]|0; $977 = (($976) + 1)|0; @@ -126713,10 +127784,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { case 7: { HEAP32[$i21>>2] = 0; $978 = HEAP32[$0>>2]|0; - $979 = ((($978)) + 76|0); + $979 = ((($978)) + 44|0); HEAP32[$979>>2] = 2; $980 = HEAP32[$v>>2]|0; - _setAllColumnNames($980,2,6120); + _setAllColumnNames($980,2,5280); $981 = HEAP32[$db>>2]|0; $982 = ((($981)) + 364|0); $983 = ((($982)) + 8|0); @@ -126741,9 +127812,9 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$vararg_buffer66>>2] = $991; $vararg_ptr69 = ((($vararg_buffer66)) + 4|0); HEAP32[$vararg_ptr69>>2] = $994; - _sqlite3VdbeMultiLoad($990,1,32978,$vararg_buffer66); + _sqlite3VdbeMultiLoad($990,1,32457,$vararg_buffer66); $995 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($995,85,1,2)|0); + (_sqlite3VdbeAddOp2($995,87,1,2)|0); $996 = HEAP32[$p>>2]|0; $997 = HEAP32[$996>>2]|0; HEAP32[$p>>2] = $997; @@ -126780,13 +127851,13 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } HEAP32[$i23>>2] = 0; $1013 = HEAP32[$0>>2]|0; - $1014 = ((($1013)) + 76|0); + $1014 = ((($1013)) + 44|0); HEAP32[$1014>>2] = 8; $1015 = HEAP32[$0>>2]|0; $1016 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($1015,$1016); $1017 = HEAP32[$v>>2]|0; - _setAllColumnNames($1017,8,6128); + _setAllColumnNames($1017,8,5288); while(1) { $1018 = HEAP32[$pFK>>2]|0; $1019 = ($1018|0)!=(0|0); @@ -126848,10 +127919,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $vararg_ptr78 = ((($vararg_buffer70)) + 24|0); HEAP32[$vararg_ptr78>>2] = $1055; $vararg_ptr79 = ((($vararg_buffer70)) + 28|0); - HEAP32[$vararg_ptr79>>2] = 32990; - _sqlite3VdbeMultiLoad($1025,1,32981,$vararg_buffer70); + HEAP32[$vararg_ptr79>>2] = 32469; + _sqlite3VdbeMultiLoad($1025,1,32460,$vararg_buffer70); $1056 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1056,85,1,8)|0); + (_sqlite3VdbeAddOp2($1056,87,1,8)|0); $1057 = HEAP32[$j>>2]|0; $1058 = (($1057) + 1)|0; HEAP32[$j>>2] = $1058; @@ -126868,23 +127939,23 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } case 13: { $1064 = HEAP32[$0>>2]|0; - $1065 = ((($1064)) + 76|0); + $1065 = ((($1064)) + 44|0); $1066 = HEAP32[$1065>>2]|0; $1067 = (($1066) + 1)|0; HEAP32[$regResult>>2] = $1067; $1068 = HEAP32[$0>>2]|0; - $1069 = ((($1068)) + 76|0); + $1069 = ((($1068)) + 44|0); $1070 = HEAP32[$1069>>2]|0; $1071 = (($1070) + 4)|0; HEAP32[$1069>>2] = $1071; $1072 = HEAP32[$0>>2]|0; - $1073 = ((($1072)) + 76|0); + $1073 = ((($1072)) + 44|0); $1074 = HEAP32[$1073>>2]|0; $1075 = (($1074) + 1)|0; HEAP32[$1073>>2] = $1075; HEAP32[$regKey>>2] = $1075; $1076 = HEAP32[$0>>2]|0; - $1077 = ((($1076)) + 76|0); + $1077 = ((($1076)) + 44|0); $1078 = HEAP32[$1077>>2]|0; $1079 = (($1078) + 1)|0; HEAP32[$1077>>2] = $1079; @@ -126893,7 +127964,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1081 = (_sqlite3GetVdbe($1080)|0); HEAP32[$v>>2] = $1081; $1082 = HEAP32[$v>>2]|0; - _setAllColumnNames($1082,4,6160); + _setAllColumnNames($1082,4,5320); $1083 = HEAP32[$0>>2]|0; $1084 = HEAP32[$iDb>>2]|0; _sqlite3CodeVerifySchema($1083,$1084); @@ -126959,7 +128030,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1125 = HEAP32[$regRow>>2]|0; $1126 = (($1124) + ($1125))|0; $1127 = HEAP32[$0>>2]|0; - $1128 = ((($1127)) + 76|0); + $1128 = ((($1127)) + 44|0); $1129 = HEAP32[$1128>>2]|0; $1130 = ($1126|0)>($1129|0); if ($1130) { @@ -126970,13 +128041,13 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1135 = HEAP32[$regRow>>2]|0; $1136 = (($1134) + ($1135))|0; $1137 = HEAP32[$0>>2]|0; - $1138 = ((($1137)) + 76|0); + $1138 = ((($1137)) + 44|0); HEAP32[$1138>>2] = $1136; } $1139 = HEAP32[$0>>2]|0; $1140 = HEAP32[$iDb>>2]|0; $1141 = HEAP32[$pTab25>>2]|0; - _sqlite3OpenTable($1139,0,$1140,$1141,102); + _sqlite3OpenTable($1139,0,$1140,$1141,104); $1142 = HEAP32[$v>>2]|0; $1143 = HEAP32[$regResult>>2]|0; $1144 = HEAP32[$pTab25>>2]|0; @@ -127031,7 +128102,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1175 = HEAP32[$i27>>2]|0; $1176 = HEAP32[$iDb>>2]|0; $1177 = HEAP32[$pParent>>2]|0; - _sqlite3OpenTable($1174,$1175,$1176,$1177,102); + _sqlite3OpenTable($1174,$1175,$1176,$1177,104); break; } else { $1178 = HEAP32[$v>>2]|0; @@ -127040,7 +128111,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1181 = ((($1180)) + 44|0); $1182 = HEAP32[$1181>>2]|0; $1183 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($1178,102,$1179,$1182,$1183)|0); + (_sqlite3VdbeAddOp3($1178,104,$1179,$1182,$1183)|0); $1184 = HEAP32[$0>>2]|0; $1185 = HEAP32[$pIdx26>>2]|0; _sqlite3VdbeSetP4KeyInfo($1184,$1185); @@ -127066,18 +128137,18 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } $1193 = HEAP32[$0>>2]|0; - $1194 = ((($1193)) + 72|0); + $1194 = ((($1193)) + 40|0); $1195 = HEAP32[$1194>>2]|0; $1196 = HEAP32[$i27>>2]|0; $1197 = ($1195|0)<($1196|0); if ($1197) { $1198 = HEAP32[$i27>>2]|0; $1199 = HEAP32[$0>>2]|0; - $1200 = ((($1199)) + 72|0); + $1200 = ((($1199)) + 40|0); HEAP32[$1200>>2] = $1198; } $1201 = HEAP32[$v>>2]|0; - $1202 = (_sqlite3VdbeAddOp1($1201,55,0)|0); + $1202 = (_sqlite3VdbeAddOp1($1201,57,0)|0); HEAP32[$addrTop>>2] = $1202; HEAP32[$i27>>2] = 1; $1203 = HEAP32[$pTab25>>2]|0; @@ -127132,7 +128203,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if ($1234) { $1236 = HEAP32[$iKey>>2]|0; $1237 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp3($1235,94,0,$1236,$1237)|0); + (_sqlite3VdbeAddOp3($1235,96,0,$1236,$1237)|0); $1238 = HEAP32[$v>>2]|0; $1239 = HEAP32[$pTab25>>2]|0; $1240 = HEAP32[$iKey>>2]|0; @@ -127142,207 +128213,201 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $1243 = HEAP32[$regRow>>2]|0; $1244 = HEAP32[$addrOk>>2]|0; (_sqlite3VdbeAddOp2($1242,34,$1243,$1244)|0); - $1245 = HEAP32[$v>>2]|0; - $1246 = HEAP32[$regRow>>2]|0; - $1247 = HEAP32[$v>>2]|0; - $1248 = (_sqlite3VdbeCurrentAddr($1247)|0); - $1249 = (($1248) + 3)|0; - (_sqlite3VdbeAddOp2($1245,17,$1246,$1249)|0); } else { - $1250 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp2($1235,121,0,$1250)|0); + $1245 = HEAP32[$regRow>>2]|0; + (_sqlite3VdbeAddOp2($1235,123,0,$1245)|0); } + $1246 = HEAP32[$v>>2]|0; + $1247 = HEAP32[$i27>>2]|0; + $1248 = HEAP32[$regRow>>2]|0; + (_sqlite3VdbeAddOp3($1246,32,$1247,0,$1248)|0); + $1249 = HEAP32[$v>>2]|0; + $1250 = HEAP32[$addrOk>>2]|0; + (_sqlite3VdbeGoto($1249,$1250)|0); $1251 = HEAP32[$v>>2]|0; - $1252 = HEAP32[$i27>>2]|0; - $1253 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp3($1251,32,$1252,0,$1253)|0); - $1254 = HEAP32[$v>>2]|0; - $1255 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeGoto($1254,$1255)|0); - $1256 = HEAP32[$v>>2]|0; - $1257 = HEAP32[$v>>2]|0; - $1258 = (_sqlite3VdbeCurrentAddr($1257)|0); - $1259 = (($1258) - 2)|0; - _sqlite3VdbeJumpHere($1256,$1259); + $1252 = HEAP32[$v>>2]|0; + $1253 = (_sqlite3VdbeCurrentAddr($1252)|0); + $1254 = (($1253) - 2)|0; + _sqlite3VdbeJumpHere($1251,$1254); } else { HEAP32[$j28>>2] = 0; while(1) { - $1260 = HEAP32[$j28>>2]|0; - $1261 = HEAP32[$pFK24>>2]|0; - $1262 = ((($1261)) + 20|0); - $1263 = HEAP32[$1262>>2]|0; - $1264 = ($1260|0)<($1263|0); - if (!($1264)) { + $1255 = HEAP32[$j28>>2]|0; + $1256 = HEAP32[$pFK24>>2]|0; + $1257 = ((($1256)) + 20|0); + $1258 = HEAP32[$1257>>2]|0; + $1259 = ($1255|0)<($1258|0); + if (!($1259)) { break; } - $1265 = HEAP32[$v>>2]|0; - $1266 = HEAP32[$pTab25>>2]|0; - $1267 = HEAP32[$aiCols>>2]|0; - $1268 = ($1267|0)!=(0|0); - $1269 = HEAP32[$j28>>2]|0; - if ($1268) { - $1270 = HEAP32[$aiCols>>2]|0; - $1271 = (($1270) + ($1269<<2)|0); - $1272 = HEAP32[$1271>>2]|0; - $1280 = $1272; + $1260 = HEAP32[$v>>2]|0; + $1261 = HEAP32[$pTab25>>2]|0; + $1262 = HEAP32[$aiCols>>2]|0; + $1263 = ($1262|0)!=(0|0); + $1264 = HEAP32[$j28>>2]|0; + if ($1263) { + $1265 = HEAP32[$aiCols>>2]|0; + $1266 = (($1265) + ($1264<<2)|0); + $1267 = HEAP32[$1266>>2]|0; + $1275 = $1267; } else { - $1273 = HEAP32[$pFK24>>2]|0; - $1274 = ((($1273)) + 36|0); - $1275 = (($1274) + ($1269<<3)|0); - $1276 = HEAP32[$1275>>2]|0; - $1280 = $1276; + $1268 = HEAP32[$pFK24>>2]|0; + $1269 = ((($1268)) + 36|0); + $1270 = (($1269) + ($1264<<3)|0); + $1271 = HEAP32[$1270>>2]|0; + $1275 = $1271; } + $1272 = HEAP32[$regRow>>2]|0; + $1273 = HEAP32[$j28>>2]|0; + $1274 = (($1272) + ($1273))|0; + _sqlite3ExprCodeGetColumnOfTable($1260,$1261,0,$1275,$1274); + $1276 = HEAP32[$v>>2]|0; $1277 = HEAP32[$regRow>>2]|0; $1278 = HEAP32[$j28>>2]|0; $1279 = (($1277) + ($1278))|0; - _sqlite3ExprCodeGetColumnOfTable($1265,$1266,0,$1280,$1279); - $1281 = HEAP32[$v>>2]|0; - $1282 = HEAP32[$regRow>>2]|0; - $1283 = HEAP32[$j28>>2]|0; - $1284 = (($1282) + ($1283))|0; - $1285 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeAddOp2($1281,34,$1284,$1285)|0); - $1286 = HEAP32[$j28>>2]|0; - $1287 = (($1286) + 1)|0; - HEAP32[$j28>>2] = $1287; + $1280 = HEAP32[$addrOk>>2]|0; + (_sqlite3VdbeAddOp2($1276,34,$1279,$1280)|0); + $1281 = HEAP32[$j28>>2]|0; + $1282 = (($1281) + 1)|0; + HEAP32[$j28>>2] = $1282; } - $1288 = HEAP32[$pParent>>2]|0; - $1289 = ($1288|0)!=(0|0); - if (!($1289)) { + $1283 = HEAP32[$pParent>>2]|0; + $1284 = ($1283|0)!=(0|0); + if (!($1284)) { break; } - $1290 = HEAP32[$v>>2]|0; - $1291 = HEAP32[$regRow>>2]|0; - $1292 = HEAP32[$pFK24>>2]|0; - $1293 = ((($1292)) + 20|0); - $1294 = HEAP32[$1293>>2]|0; - $1295 = HEAP32[$regKey>>2]|0; - $1296 = HEAP32[$db>>2]|0; - $1297 = HEAP32[$pIdx26>>2]|0; - $1298 = (_sqlite3IndexAffinityStr($1296,$1297)|0); - $1299 = HEAP32[$pFK24>>2]|0; - $1300 = ((($1299)) + 20|0); - $1301 = HEAP32[$1300>>2]|0; - (_sqlite3VdbeAddOp4($1290,96,$1291,$1294,$1295,$1298,$1301)|0); - $1302 = HEAP32[$v>>2]|0; - $1303 = HEAP32[$i27>>2]|0; - $1304 = HEAP32[$addrOk>>2]|0; - $1305 = HEAP32[$regKey>>2]|0; - (_sqlite3VdbeAddOp4Int($1302,31,$1303,$1304,$1305,0)|0); + $1285 = HEAP32[$v>>2]|0; + $1286 = HEAP32[$regRow>>2]|0; + $1287 = HEAP32[$pFK24>>2]|0; + $1288 = ((($1287)) + 20|0); + $1289 = HEAP32[$1288>>2]|0; + $1290 = HEAP32[$regKey>>2]|0; + $1291 = HEAP32[$db>>2]|0; + $1292 = HEAP32[$pIdx26>>2]|0; + $1293 = (_sqlite3IndexAffinityStr($1291,$1292)|0); + $1294 = HEAP32[$pFK24>>2]|0; + $1295 = ((($1294)) + 20|0); + $1296 = HEAP32[$1295>>2]|0; + (_sqlite3VdbeAddOp4($1285,99,$1286,$1289,$1290,$1293,$1296)|0); + $1297 = HEAP32[$v>>2]|0; + $1298 = HEAP32[$i27>>2]|0; + $1299 = HEAP32[$addrOk>>2]|0; + $1300 = HEAP32[$regKey>>2]|0; + (_sqlite3VdbeAddOp4Int($1297,31,$1298,$1299,$1300,0)|0); } } while(0); - $1306 = HEAP32[$v>>2]|0; - $1307 = HEAP32[$regResult>>2]|0; - $1308 = (($1307) + 1)|0; - (_sqlite3VdbeAddOp2($1306,121,0,$1308)|0); - $1309 = HEAP32[$v>>2]|0; - $1310 = HEAP32[$regResult>>2]|0; - $1311 = (($1310) + 2)|0; - $1312 = HEAP32[$pFK24>>2]|0; - $1313 = ((($1312)) + 8|0); - $1314 = HEAP32[$1313>>2]|0; - $1315 = HEAP32[$i27>>2]|0; - $1316 = (($1315) - 1)|0; - HEAP32[$vararg_buffer80>>2] = $1314; + $1301 = HEAP32[$v>>2]|0; + $1302 = HEAP32[$regResult>>2]|0; + $1303 = (($1302) + 1)|0; + (_sqlite3VdbeAddOp2($1301,123,0,$1303)|0); + $1304 = HEAP32[$v>>2]|0; + $1305 = HEAP32[$regResult>>2]|0; + $1306 = (($1305) + 2)|0; + $1307 = HEAP32[$pFK24>>2]|0; + $1308 = ((($1307)) + 8|0); + $1309 = HEAP32[$1308>>2]|0; + $1310 = HEAP32[$i27>>2]|0; + $1311 = (($1310) - 1)|0; + HEAP32[$vararg_buffer80>>2] = $1309; $vararg_ptr83 = ((($vararg_buffer80)) + 4|0); - HEAP32[$vararg_ptr83>>2] = $1316; - _sqlite3VdbeMultiLoad($1309,$1311,32995,$vararg_buffer80); - $1317 = HEAP32[$v>>2]|0; - $1318 = HEAP32[$regResult>>2]|0; - (_sqlite3VdbeAddOp2($1317,85,$1318,4)|0); - $1319 = HEAP32[$v>>2]|0; - $1320 = HEAP32[$addrOk>>2]|0; - _sqlite3VdbeResolveLabel($1319,$1320); - $1321 = HEAP32[$db>>2]|0; - $1322 = HEAP32[$aiCols>>2]|0; - _sqlite3DbFree($1321,$1322); - $1323 = HEAP32[$i27>>2]|0; - $1324 = (($1323) + 1)|0; - HEAP32[$i27>>2] = $1324; - $1325 = HEAP32[$pFK24>>2]|0; - $1326 = ((($1325)) + 4|0); - $1327 = HEAP32[$1326>>2]|0; - HEAP32[$pFK24>>2] = $1327; + HEAP32[$vararg_ptr83>>2] = $1311; + _sqlite3VdbeMultiLoad($1304,$1306,32474,$vararg_buffer80); + $1312 = HEAP32[$v>>2]|0; + $1313 = HEAP32[$regResult>>2]|0; + (_sqlite3VdbeAddOp2($1312,87,$1313,4)|0); + $1314 = HEAP32[$v>>2]|0; + $1315 = HEAP32[$addrOk>>2]|0; + _sqlite3VdbeResolveLabel($1314,$1315); + $1316 = HEAP32[$db>>2]|0; + $1317 = HEAP32[$aiCols>>2]|0; + _sqlite3DbFree($1316,$1317); + $1318 = HEAP32[$i27>>2]|0; + $1319 = (($1318) + 1)|0; + HEAP32[$i27>>2] = $1319; + $1320 = HEAP32[$pFK24>>2]|0; + $1321 = ((($1320)) + 4|0); + $1322 = HEAP32[$1321>>2]|0; + HEAP32[$pFK24>>2] = $1322; } - $1328 = HEAP32[$v>>2]|0; - $1329 = HEAP32[$addrTop>>2]|0; - $1330 = (($1329) + 1)|0; - (_sqlite3VdbeAddOp2($1328,7,0,$1330)|0); - $1331 = HEAP32[$v>>2]|0; - $1332 = HEAP32[$addrTop>>2]|0; - _sqlite3VdbeJumpHere($1331,$1332); + $1323 = HEAP32[$v>>2]|0; + $1324 = HEAP32[$addrTop>>2]|0; + $1325 = (($1324) + 1)|0; + (_sqlite3VdbeAddOp2($1323,7,0,$1325)|0); + $1326 = HEAP32[$v>>2]|0; + $1327 = HEAP32[$addrTop>>2]|0; + _sqlite3VdbeJumpHere($1326,$1327); } break; } case 6: { - $1333 = HEAP32[$zRight>>2]|0; - $1334 = ($1333|0)!=(0|0); - if (!($1334)) { + $1328 = HEAP32[$zRight>>2]|0; + $1329 = ($1328|0)!=(0|0); + if (!($1329)) { break L21; } - $1335 = HEAP32[$db>>2]|0; - $1336 = HEAP32[$zRight>>2]|0; - $1337 = (_sqlite3GetBoolean($1336,0)|0); - $1338 = $1337&255; - _sqlite3RegisterLikeFunctions($1335,$1338); + $1330 = HEAP32[$db>>2]|0; + $1331 = HEAP32[$zRight>>2]|0; + $1332 = (_sqlite3GetBoolean($1331,0)|0); + $1333 = $1332&255; + _sqlite3RegisterLikeFunctions($1330,$1333); break L21; break; } case 18: { - $1339 = HEAP32[$zLeft>>2]|0; - $1340 = HEAP8[$1339>>0]|0; - $1341 = $1340&255; - $1342 = (18229 + ($1341)|0); - $1343 = HEAP8[$1342>>0]|0; - $1344 = $1343&255; - $1345 = ($1344|0)==(113); - $1346 = $1345&1; - HEAP32[$isQuick>>2] = $1346; - $1347 = HEAP32[$2>>2]|0; - $1348 = HEAP32[$1347>>2]|0; - $1349 = ($1348|0)==(0|0); - if ($1349) { + $1334 = HEAP32[$zLeft>>2]|0; + $1335 = HEAP8[$1334>>0]|0; + $1336 = $1335&255; + $1337 = (17613 + ($1336)|0); + $1338 = HEAP8[$1337>>0]|0; + $1339 = $1338&255; + $1340 = ($1339|0)==(113); + $1341 = $1340&1; + HEAP32[$isQuick>>2] = $1341; + $1342 = HEAP32[$2>>2]|0; + $1343 = HEAP32[$1342>>2]|0; + $1344 = ($1343|0)==(0|0); + if ($1344) { HEAP32[$iDb>>2] = -1; } - $1350 = HEAP32[$0>>2]|0; - $1351 = ((($1350)) + 76|0); - HEAP32[$1351>>2] = 6; - $1352 = HEAP32[$v>>2]|0; - _setOneColumnName($1352,32998); + $1345 = HEAP32[$0>>2]|0; + $1346 = ((($1345)) + 44|0); + HEAP32[$1346>>2] = 6; + $1347 = HEAP32[$v>>2]|0; + _setOneColumnName($1347,32477); HEAP32[$mxErr>>2] = 100; - $1353 = HEAP32[$zRight>>2]|0; - $1354 = ($1353|0)!=(0|0); - if ($1354) { - $1355 = HEAP32[$zRight>>2]|0; - (_sqlite3GetInt32($1355,$mxErr)|0); - $1356 = HEAP32[$mxErr>>2]|0; - $1357 = ($1356|0)<=(0); - if ($1357) { + $1348 = HEAP32[$zRight>>2]|0; + $1349 = ($1348|0)!=(0|0); + if ($1349) { + $1350 = HEAP32[$zRight>>2]|0; + (_sqlite3GetInt32($1350,$mxErr)|0); + $1351 = HEAP32[$mxErr>>2]|0; + $1352 = ($1351|0)<=(0); + if ($1352) { HEAP32[$mxErr>>2] = 100; } } - $1358 = HEAP32[$v>>2]|0; - $1359 = HEAP32[$mxErr>>2]|0; - (_sqlite3VdbeAddOp2($1358,74,$1359,1)|0); + $1353 = HEAP32[$v>>2]|0; + $1354 = HEAP32[$mxErr>>2]|0; + (_sqlite3VdbeAddOp2($1353,76,$1354,1)|0); HEAP32[$i30>>2] = 0; L330: while(1) { - $1360 = HEAP32[$i30>>2]|0; - $1361 = HEAP32[$db>>2]|0; - $1362 = ((($1361)) + 20|0); - $1363 = HEAP32[$1362>>2]|0; - $1364 = ($1360|0)<($1363|0); - if (!($1364)) { + $1355 = HEAP32[$i30>>2]|0; + $1356 = HEAP32[$db>>2]|0; + $1357 = ((($1356)) + 20|0); + $1358 = HEAP32[$1357>>2]|0; + $1359 = ($1355|0)<($1358|0); + if (!($1359)) { break; } HEAP32[$cnt>>2] = 0; HEAP32[$mxIdx>>2] = 0; - $1365 = HEAP32[$iDb>>2]|0; - $1366 = ($1365|0)>=(0); - if ($1366) { - $1367 = HEAP32[$i30>>2]|0; - $1368 = HEAP32[$iDb>>2]|0; - $1369 = ($1367|0)!=($1368|0); - if (!($1369)) { + $1360 = HEAP32[$iDb>>2]|0; + $1361 = ($1360|0)>=(0); + if ($1361) { + $1362 = HEAP32[$i30>>2]|0; + $1363 = HEAP32[$iDb>>2]|0; + $1364 = ($1362|0)!=($1363|0); + if (!($1364)) { label = 242; } } else { @@ -127351,485 +128416,485 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { L335: do { if ((label|0) == 242) { label = 0; - $1370 = HEAP32[$0>>2]|0; - $1371 = HEAP32[$i30>>2]|0; - _sqlite3CodeVerifySchema($1370,$1371); - $1372 = HEAP32[$v>>2]|0; - $1373 = (_sqlite3VdbeAddOp1($1372,64,1)|0); - HEAP32[$addr32>>2] = $1373; - $1374 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1374,73,0,0)|0); - $1375 = HEAP32[$v>>2]|0; - $1376 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1375,$1376); - $1377 = HEAP32[$i30>>2]|0; - $1378 = HEAP32[$db>>2]|0; - $1379 = ((($1378)) + 16|0); - $1380 = HEAP32[$1379>>2]|0; - $1381 = (($1380) + ($1377<<4)|0); - $1382 = ((($1381)) + 12|0); - $1383 = HEAP32[$1382>>2]|0; - $1384 = ((($1383)) + 8|0); - HEAP32[$pTbls>>2] = $1384; + $1365 = HEAP32[$0>>2]|0; + $1366 = HEAP32[$i30>>2]|0; + _sqlite3CodeVerifySchema($1365,$1366); + $1367 = HEAP32[$v>>2]|0; + $1368 = (_sqlite3VdbeAddOp1($1367,66,1)|0); + HEAP32[$addr32>>2] = $1368; + $1369 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1369,75,0,0)|0); + $1370 = HEAP32[$v>>2]|0; + $1371 = HEAP32[$addr32>>2]|0; + _sqlite3VdbeJumpHere($1370,$1371); + $1372 = HEAP32[$i30>>2]|0; + $1373 = HEAP32[$db>>2]|0; + $1374 = ((($1373)) + 16|0); + $1375 = HEAP32[$1374>>2]|0; + $1376 = (($1375) + ($1372<<4)|0); + $1377 = ((($1376)) + 12|0); + $1378 = HEAP32[$1377>>2]|0; + $1379 = ((($1378)) + 8|0); + HEAP32[$pTbls>>2] = $1379; HEAP32[$cnt>>2] = 0; - $1385 = HEAP32[$pTbls>>2]|0; - $1386 = ((($1385)) + 8|0); - $1387 = HEAP32[$1386>>2]|0; - HEAP32[$x33>>2] = $1387; + $1380 = HEAP32[$pTbls>>2]|0; + $1381 = ((($1380)) + 8|0); + $1382 = HEAP32[$1381>>2]|0; + HEAP32[$x33>>2] = $1382; while(1) { - $1388 = HEAP32[$x33>>2]|0; - $1389 = ($1388|0)!=(0|0); - if (!($1389)) { + $1383 = HEAP32[$x33>>2]|0; + $1384 = ($1383|0)!=(0|0); + if (!($1384)) { break; } - $1390 = HEAP32[$x33>>2]|0; - $1391 = ((($1390)) + 8|0); - $1392 = HEAP32[$1391>>2]|0; - HEAP32[$pTab34>>2] = $1392; - $1393 = HEAP32[$pTab34>>2]|0; - $1394 = ((($1393)) + 42|0); - $1395 = HEAP8[$1394>>0]|0; - $1396 = $1395&255; - $1397 = $1396 & 32; - $1398 = ($1397|0)==(0); - if ($1398) { - $1399 = HEAP32[$cnt>>2]|0; - $1400 = (($1399) + 1)|0; - HEAP32[$cnt>>2] = $1400; + $1385 = HEAP32[$x33>>2]|0; + $1386 = ((($1385)) + 8|0); + $1387 = HEAP32[$1386>>2]|0; + HEAP32[$pTab34>>2] = $1387; + $1388 = HEAP32[$pTab34>>2]|0; + $1389 = ((($1388)) + 42|0); + $1390 = HEAP8[$1389>>0]|0; + $1391 = $1390&255; + $1392 = $1391 & 32; + $1393 = ($1392|0)==(0); + if ($1393) { + $1394 = HEAP32[$cnt>>2]|0; + $1395 = (($1394) + 1)|0; + HEAP32[$cnt>>2] = $1395; } HEAP32[$nIdx>>2] = 0; - $1401 = HEAP32[$pTab34>>2]|0; - $1402 = ((($1401)) + 8|0); - $1403 = HEAP32[$1402>>2]|0; - HEAP32[$pIdx35>>2] = $1403; + $1396 = HEAP32[$pTab34>>2]|0; + $1397 = ((($1396)) + 8|0); + $1398 = HEAP32[$1397>>2]|0; + HEAP32[$pIdx35>>2] = $1398; while(1) { - $1404 = HEAP32[$pIdx35>>2]|0; - $1405 = ($1404|0)!=(0|0); - if (!($1405)) { + $1399 = HEAP32[$pIdx35>>2]|0; + $1400 = ($1399|0)!=(0|0); + if (!($1400)) { break; } - $1406 = HEAP32[$cnt>>2]|0; + $1401 = HEAP32[$cnt>>2]|0; + $1402 = (($1401) + 1)|0; + HEAP32[$cnt>>2] = $1402; + $1403 = HEAP32[$pIdx35>>2]|0; + $1404 = ((($1403)) + 20|0); + $1405 = HEAP32[$1404>>2]|0; + HEAP32[$pIdx35>>2] = $1405; + $1406 = HEAP32[$nIdx>>2]|0; $1407 = (($1406) + 1)|0; - HEAP32[$cnt>>2] = $1407; - $1408 = HEAP32[$pIdx35>>2]|0; - $1409 = ((($1408)) + 20|0); - $1410 = HEAP32[$1409>>2]|0; - HEAP32[$pIdx35>>2] = $1410; - $1411 = HEAP32[$nIdx>>2]|0; - $1412 = (($1411) + 1)|0; - HEAP32[$nIdx>>2] = $1412; + HEAP32[$nIdx>>2] = $1407; } - $1413 = HEAP32[$nIdx>>2]|0; - $1414 = HEAP32[$mxIdx>>2]|0; - $1415 = ($1413|0)>($1414|0); - if ($1415) { - $1416 = HEAP32[$nIdx>>2]|0; - HEAP32[$mxIdx>>2] = $1416; + $1408 = HEAP32[$nIdx>>2]|0; + $1409 = HEAP32[$mxIdx>>2]|0; + $1410 = ($1408|0)>($1409|0); + if ($1410) { + $1411 = HEAP32[$nIdx>>2]|0; + HEAP32[$mxIdx>>2] = $1411; } - $1417 = HEAP32[$x33>>2]|0; - $1418 = HEAP32[$1417>>2]|0; - HEAP32[$x33>>2] = $1418; + $1412 = HEAP32[$x33>>2]|0; + $1413 = HEAP32[$1412>>2]|0; + HEAP32[$x33>>2] = $1413; } - $1419 = HEAP32[$db>>2]|0; - $1420 = HEAP32[$cnt>>2]|0; - $1421 = (($1420) + 1)|0; - $1422 = $1421<<2; - $1423 = (_sqlite3DbMallocRawNN($1419,$1422,0)|0); - HEAP32[$aRoot>>2] = $1423; - $1424 = HEAP32[$aRoot>>2]|0; - $1425 = ($1424|0)==(0|0); - if ($1425) { + $1414 = HEAP32[$db>>2]|0; + $1415 = HEAP32[$cnt>>2]|0; + $1416 = (($1415) + 1)|0; + $1417 = $1416<<2; + $1418 = (_sqlite3DbMallocRawNN($1414,$1417,0)|0); + HEAP32[$aRoot>>2] = $1418; + $1419 = HEAP32[$aRoot>>2]|0; + $1420 = ($1419|0)==(0|0); + if ($1420) { break L330; } HEAP32[$cnt>>2] = 0; - $1426 = HEAP32[$pTbls>>2]|0; - $1427 = ((($1426)) + 8|0); - $1428 = HEAP32[$1427>>2]|0; - HEAP32[$x33>>2] = $1428; + $1421 = HEAP32[$pTbls>>2]|0; + $1422 = ((($1421)) + 8|0); + $1423 = HEAP32[$1422>>2]|0; + HEAP32[$x33>>2] = $1423; while(1) { - $1429 = HEAP32[$x33>>2]|0; - $1430 = ($1429|0)!=(0|0); - if (!($1430)) { + $1424 = HEAP32[$x33>>2]|0; + $1425 = ($1424|0)!=(0|0); + if (!($1425)) { break; } - $1431 = HEAP32[$x33>>2]|0; - $1432 = ((($1431)) + 8|0); - $1433 = HEAP32[$1432>>2]|0; - HEAP32[$pTab36>>2] = $1433; - $1434 = HEAP32[$pTab36>>2]|0; - $1435 = ((($1434)) + 42|0); - $1436 = HEAP8[$1435>>0]|0; - $1437 = $1436&255; - $1438 = $1437 & 32; - $1439 = ($1438|0)==(0); - if ($1439) { - $1440 = HEAP32[$pTab36>>2]|0; - $1441 = ((($1440)) + 28|0); - $1442 = HEAP32[$1441>>2]|0; - $1443 = HEAP32[$cnt>>2]|0; - $1444 = (($1443) + 1)|0; - HEAP32[$cnt>>2] = $1444; - $1445 = HEAP32[$aRoot>>2]|0; - $1446 = (($1445) + ($1443<<2)|0); - HEAP32[$1446>>2] = $1442; + $1426 = HEAP32[$x33>>2]|0; + $1427 = ((($1426)) + 8|0); + $1428 = HEAP32[$1427>>2]|0; + HEAP32[$pTab36>>2] = $1428; + $1429 = HEAP32[$pTab36>>2]|0; + $1430 = ((($1429)) + 42|0); + $1431 = HEAP8[$1430>>0]|0; + $1432 = $1431&255; + $1433 = $1432 & 32; + $1434 = ($1433|0)==(0); + if ($1434) { + $1435 = HEAP32[$pTab36>>2]|0; + $1436 = ((($1435)) + 28|0); + $1437 = HEAP32[$1436>>2]|0; + $1438 = HEAP32[$cnt>>2]|0; + $1439 = (($1438) + 1)|0; + HEAP32[$cnt>>2] = $1439; + $1440 = HEAP32[$aRoot>>2]|0; + $1441 = (($1440) + ($1438<<2)|0); + HEAP32[$1441>>2] = $1437; } - $1447 = HEAP32[$pTab36>>2]|0; - $1448 = ((($1447)) + 8|0); - $1449 = HEAP32[$1448>>2]|0; - HEAP32[$pIdx37>>2] = $1449; + $1442 = HEAP32[$pTab36>>2]|0; + $1443 = ((($1442)) + 8|0); + $1444 = HEAP32[$1443>>2]|0; + HEAP32[$pIdx37>>2] = $1444; while(1) { - $1450 = HEAP32[$pIdx37>>2]|0; - $1451 = ($1450|0)!=(0|0); - if (!($1451)) { + $1445 = HEAP32[$pIdx37>>2]|0; + $1446 = ($1445|0)!=(0|0); + if (!($1446)) { break; } - $1452 = HEAP32[$pIdx37>>2]|0; - $1453 = ((($1452)) + 44|0); - $1454 = HEAP32[$1453>>2]|0; - $1455 = HEAP32[$cnt>>2]|0; - $1456 = (($1455) + 1)|0; - HEAP32[$cnt>>2] = $1456; - $1457 = HEAP32[$aRoot>>2]|0; - $1458 = (($1457) + ($1455<<2)|0); - HEAP32[$1458>>2] = $1454; - $1459 = HEAP32[$pIdx37>>2]|0; - $1460 = ((($1459)) + 20|0); - $1461 = HEAP32[$1460>>2]|0; - HEAP32[$pIdx37>>2] = $1461; + $1447 = HEAP32[$pIdx37>>2]|0; + $1448 = ((($1447)) + 44|0); + $1449 = HEAP32[$1448>>2]|0; + $1450 = HEAP32[$cnt>>2]|0; + $1451 = (($1450) + 1)|0; + HEAP32[$cnt>>2] = $1451; + $1452 = HEAP32[$aRoot>>2]|0; + $1453 = (($1452) + ($1450<<2)|0); + HEAP32[$1453>>2] = $1449; + $1454 = HEAP32[$pIdx37>>2]|0; + $1455 = ((($1454)) + 20|0); + $1456 = HEAP32[$1455>>2]|0; + HEAP32[$pIdx37>>2] = $1456; } - $1462 = HEAP32[$x33>>2]|0; - $1463 = HEAP32[$1462>>2]|0; - HEAP32[$x33>>2] = $1463; + $1457 = HEAP32[$x33>>2]|0; + $1458 = HEAP32[$1457>>2]|0; + HEAP32[$x33>>2] = $1458; } - $1464 = HEAP32[$cnt>>2]|0; - $1465 = HEAP32[$aRoot>>2]|0; - $1466 = (($1465) + ($1464<<2)|0); - HEAP32[$1466>>2] = 0; - $1467 = HEAP32[$0>>2]|0; - $1468 = ((($1467)) + 76|0); - $1469 = HEAP32[$1468>>2]|0; - $1470 = HEAP32[$mxIdx>>2]|0; - $1471 = (8 + ($1470))|0; - $1472 = ($1469|0)>($1471|0); - if ($1472) { - $1473 = HEAP32[$0>>2]|0; - $1474 = ((($1473)) + 76|0); - $1475 = HEAP32[$1474>>2]|0; - $1480 = $1475; + $1459 = HEAP32[$cnt>>2]|0; + $1460 = HEAP32[$aRoot>>2]|0; + $1461 = (($1460) + ($1459<<2)|0); + HEAP32[$1461>>2] = 0; + $1462 = HEAP32[$0>>2]|0; + $1463 = ((($1462)) + 44|0); + $1464 = HEAP32[$1463>>2]|0; + $1465 = HEAP32[$mxIdx>>2]|0; + $1466 = (8 + ($1465))|0; + $1467 = ($1464|0)>($1466|0); + if ($1467) { + $1468 = HEAP32[$0>>2]|0; + $1469 = ((($1468)) + 44|0); + $1470 = HEAP32[$1469>>2]|0; + $1475 = $1470; } else { - $1476 = HEAP32[$mxIdx>>2]|0; - $1477 = (8 + ($1476))|0; - $1480 = $1477; + $1471 = HEAP32[$mxIdx>>2]|0; + $1472 = (8 + ($1471))|0; + $1475 = $1472; } - $1478 = HEAP32[$0>>2]|0; - $1479 = ((($1478)) + 76|0); - HEAP32[$1479>>2] = $1480; - $1481 = HEAP32[$v>>2]|0; - $1482 = HEAP32[$cnt>>2]|0; - $1483 = HEAP32[$aRoot>>2]|0; - (_sqlite3VdbeAddOp4($1481,139,2,$1482,1,$1483,-15)|0); + $1473 = HEAP32[$0>>2]|0; + $1474 = ((($1473)) + 44|0); + HEAP32[$1474>>2] = $1475; + $1476 = HEAP32[$v>>2]|0; + $1477 = HEAP32[$cnt>>2]|0; + $1478 = HEAP32[$aRoot>>2]|0; + (_sqlite3VdbeAddOp4($1476,141,2,$1477,1,$1478,-15)|0); + $1479 = HEAP32[$v>>2]|0; + $1480 = HEAP32[$i30>>2]|0; + $1481 = $1480&255; + _sqlite3VdbeChangeP5($1479,$1481); + $1482 = HEAP32[$v>>2]|0; + $1483 = (_sqlite3VdbeAddOp1($1482,34,2)|0); + HEAP32[$addr32>>2] = $1483; $1484 = HEAP32[$v>>2]|0; - $1485 = HEAP32[$i30>>2]|0; - $1486 = $1485&255; - _sqlite3VdbeChangeP5($1484,$1486); - $1487 = HEAP32[$v>>2]|0; - $1488 = (_sqlite3VdbeAddOp1($1487,34,2)|0); - HEAP32[$addr32>>2] = $1488; - $1489 = HEAP32[$v>>2]|0; - $1490 = HEAP32[$db>>2]|0; - $1491 = HEAP32[$i30>>2]|0; - $1492 = HEAP32[$db>>2]|0; - $1493 = ((($1492)) + 16|0); - $1494 = HEAP32[$1493>>2]|0; - $1495 = (($1494) + ($1491<<4)|0); - $1496 = HEAP32[$1495>>2]|0; - HEAP32[$vararg_buffer84>>2] = $1496; - $1497 = (_sqlite3MPrintf($1490,33014,$vararg_buffer84)|0); - (_sqlite3VdbeAddOp4($1489,97,0,3,0,$1497,-1)|0); - $1498 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1498,81,2,4,1)|0); - $1499 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1499,52,4,3,2)|0); - $1500 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1500,85,2,1)|0); - $1501 = HEAP32[$v>>2]|0; - $1502 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1501,$1502); - $1503 = HEAP32[$pTbls>>2]|0; - $1504 = ((($1503)) + 8|0); - $1505 = HEAP32[$1504>>2]|0; - HEAP32[$x33>>2] = $1505; + $1485 = HEAP32[$db>>2]|0; + $1486 = HEAP32[$i30>>2]|0; + $1487 = HEAP32[$db>>2]|0; + $1488 = ((($1487)) + 16|0); + $1489 = HEAP32[$1488>>2]|0; + $1490 = (($1489) + ($1486<<4)|0); + $1491 = HEAP32[$1490>>2]|0; + HEAP32[$vararg_buffer84>>2] = $1491; + $1492 = (_sqlite3MPrintf($1485,32493,$vararg_buffer84)|0); + (_sqlite3VdbeAddOp4($1484,97,0,3,0,$1492,-1)|0); + $1493 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1493,83,2,4,1)|0); + $1494 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1494,52,4,3,2)|0); + $1495 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1495,87,2,1)|0); + $1496 = HEAP32[$v>>2]|0; + $1497 = HEAP32[$addr32>>2]|0; + _sqlite3VdbeJumpHere($1496,$1497); + $1498 = HEAP32[$pTbls>>2]|0; + $1499 = ((($1498)) + 8|0); + $1500 = HEAP32[$1499>>2]|0; + HEAP32[$x33>>2] = $1500; while(1) { - $1506 = HEAP32[$x33>>2]|0; - $1507 = ($1506|0)!=(0|0); - if (!($1507)) { + $1501 = HEAP32[$x33>>2]|0; + $1502 = ($1501|0)!=(0|0); + if (!($1502)) { break L335; } - $1508 = HEAP32[$isQuick>>2]|0; - $1509 = ($1508|0)!=(0); - $1510 = $1509 ^ 1; - if (!($1510)) { + $1503 = HEAP32[$isQuick>>2]|0; + $1504 = ($1503|0)!=(0); + $1505 = $1504 ^ 1; + if (!($1505)) { break L335; } - $1511 = HEAP32[$x33>>2]|0; - $1512 = ((($1511)) + 8|0); - $1513 = HEAP32[$1512>>2]|0; - HEAP32[$pTab38>>2] = $1513; + $1506 = HEAP32[$x33>>2]|0; + $1507 = ((($1506)) + 8|0); + $1508 = HEAP32[$1507>>2]|0; + HEAP32[$pTab38>>2] = $1508; HEAP32[$pPrior>>2] = 0; HEAP32[$r1>>2] = -1; - $1514 = HEAP32[$pTab38>>2]|0; - $1515 = ((($1514)) + 8|0); - $1516 = HEAP32[$1515>>2]|0; - $1517 = ($1516|0)==(0|0); + $1509 = HEAP32[$pTab38>>2]|0; + $1510 = ((($1509)) + 8|0); + $1511 = HEAP32[$1510>>2]|0; + $1512 = ($1511|0)==(0|0); L371: do { - if (!($1517)) { - $1518 = HEAP32[$pTab38>>2]|0; - $1519 = ((($1518)) + 42|0); - $1520 = HEAP8[$1519>>0]|0; - $1521 = $1520&255; - $1522 = $1521 & 32; - $1523 = ($1522|0)==(0); - if ($1523) { - $1526 = 0; + if (!($1512)) { + $1513 = HEAP32[$pTab38>>2]|0; + $1514 = ((($1513)) + 42|0); + $1515 = HEAP8[$1514>>0]|0; + $1516 = $1515&255; + $1517 = $1516 & 32; + $1518 = ($1517|0)==(0); + if ($1518) { + $1521 = 0; } else { - $1524 = HEAP32[$pTab38>>2]|0; - $1525 = (_sqlite3PrimaryKeyIndex($1524)|0); - $1526 = $1525; + $1519 = HEAP32[$pTab38>>2]|0; + $1520 = (_sqlite3PrimaryKeyIndex($1519)|0); + $1521 = $1520; } - HEAP32[$pPk40>>2] = $1526; - $1527 = HEAP32[$v>>2]|0; - $1528 = (_sqlite3VdbeAddOp1($1527,64,1)|0); - HEAP32[$addr32>>2] = $1528; - $1529 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1529,73,0,0)|0); + HEAP32[$pPk40>>2] = $1521; + $1522 = HEAP32[$v>>2]|0; + $1523 = (_sqlite3VdbeAddOp1($1522,66,1)|0); + HEAP32[$addr32>>2] = $1523; + $1524 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1524,75,0,0)|0); + $1525 = HEAP32[$v>>2]|0; + $1526 = HEAP32[$addr32>>2]|0; + _sqlite3VdbeJumpHere($1525,$1526); + $1527 = HEAP32[$0>>2]|0; + _sqlite3ExprCacheClear($1527); + $1528 = HEAP32[$0>>2]|0; + $1529 = HEAP32[$pTab38>>2]|0; + (_sqlite3OpenTableAndIndices($1528,$1529,104,0,1,0,$iDataCur,$iIdxCur)|0); $1530 = HEAP32[$v>>2]|0; - $1531 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1530,$1531); - $1532 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($1532); - $1533 = HEAP32[$0>>2]|0; - $1534 = HEAP32[$pTab38>>2]|0; - (_sqlite3OpenTableAndIndices($1533,$1534,102,0,1,0,$iDataCur,$iIdxCur)|0); - $1535 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1535,74,0,7)|0); + (_sqlite3VdbeAddOp2($1530,76,0,7)|0); HEAP32[$j31>>2] = 0; - $1536 = HEAP32[$pTab38>>2]|0; - $1537 = ((($1536)) + 8|0); - $1538 = HEAP32[$1537>>2]|0; - HEAP32[$pIdx39>>2] = $1538; + $1531 = HEAP32[$pTab38>>2]|0; + $1532 = ((($1531)) + 8|0); + $1533 = HEAP32[$1532>>2]|0; + HEAP32[$pIdx39>>2] = $1533; while(1) { - $1539 = HEAP32[$pIdx39>>2]|0; - $1540 = ($1539|0)!=(0|0); - $1541 = HEAP32[$v>>2]|0; - if (!($1540)) { + $1534 = HEAP32[$pIdx39>>2]|0; + $1535 = ($1534|0)!=(0|0); + $1536 = HEAP32[$v>>2]|0; + if (!($1535)) { break; } + $1537 = HEAP32[$j31>>2]|0; + $1538 = (8 + ($1537))|0; + (_sqlite3VdbeAddOp2($1536,76,0,$1538)|0); + $1539 = HEAP32[$pIdx39>>2]|0; + $1540 = ((($1539)) + 20|0); + $1541 = HEAP32[$1540>>2]|0; + HEAP32[$pIdx39>>2] = $1541; $1542 = HEAP32[$j31>>2]|0; - $1543 = (8 + ($1542))|0; - (_sqlite3VdbeAddOp2($1541,74,0,$1543)|0); - $1544 = HEAP32[$pIdx39>>2]|0; - $1545 = ((($1544)) + 20|0); - $1546 = HEAP32[$1545>>2]|0; - HEAP32[$pIdx39>>2] = $1546; - $1547 = HEAP32[$j31>>2]|0; - $1548 = (($1547) + 1)|0; - HEAP32[$j31>>2] = $1548; + $1543 = (($1542) + 1)|0; + HEAP32[$j31>>2] = $1543; } - $1549 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($1541,55,$1549,0)|0); - $1550 = HEAP32[$v>>2]|0; - $1551 = (_sqlite3VdbeAddOp2($1550,89,7,1)|0); - HEAP32[$loopTop>>2] = $1551; + $1544 = HEAP32[$iDataCur>>2]|0; + (_sqlite3VdbeAddOp2($1536,57,$1544,0)|0); + $1545 = HEAP32[$v>>2]|0; + $1546 = (_sqlite3VdbeAddOp2($1545,91,7,1)|0); + HEAP32[$loopTop>>2] = $1546; HEAP32[$j31>>2] = 0; while(1) { - $1552 = HEAP32[$j31>>2]|0; - $1553 = HEAP32[$pTab38>>2]|0; - $1554 = ((($1553)) + 34|0); - $1555 = HEAP16[$1554>>1]|0; - $1556 = $1555 << 16 >> 16; - $1557 = ($1552|0)<($1556|0); - if (!($1557)) { + $1547 = HEAP32[$j31>>2]|0; + $1548 = HEAP32[$pTab38>>2]|0; + $1549 = ((($1548)) + 34|0); + $1550 = HEAP16[$1549>>1]|0; + $1551 = $1550 << 16 >> 16; + $1552 = ($1547|0)<($1551|0); + if (!($1552)) { break; } - $1558 = HEAP32[$j31>>2]|0; - $1559 = HEAP32[$pTab38>>2]|0; - $1560 = ((($1559)) + 32|0); - $1561 = HEAP16[$1560>>1]|0; - $1562 = $1561 << 16 >> 16; - $1563 = ($1558|0)==($1562|0); + $1553 = HEAP32[$j31>>2]|0; + $1554 = HEAP32[$pTab38>>2]|0; + $1555 = ((($1554)) + 32|0); + $1556 = HEAP16[$1555>>1]|0; + $1557 = $1556 << 16 >> 16; + $1558 = ($1553|0)==($1557|0); do { - if (!($1563)) { - $1564 = HEAP32[$j31>>2]|0; - $1565 = HEAP32[$pTab38>>2]|0; - $1566 = ((($1565)) + 4|0); - $1567 = HEAP32[$1566>>2]|0; - $1568 = (($1567) + ($1564<<4)|0); - $1569 = ((($1568)) + 12|0); - $1570 = HEAP8[$1569>>0]|0; - $1571 = $1570&255; - $1572 = ($1571|0)==(0); - if ($1572) { + if (!($1558)) { + $1559 = HEAP32[$j31>>2]|0; + $1560 = HEAP32[$pTab38>>2]|0; + $1561 = ((($1560)) + 4|0); + $1562 = HEAP32[$1561>>2]|0; + $1563 = (($1562) + ($1559<<4)|0); + $1564 = ((($1563)) + 12|0); + $1565 = HEAP8[$1564>>0]|0; + $1566 = $1565&255; + $1567 = ($1566|0)==(0); + if ($1567) { break; } + $1568 = HEAP32[$v>>2]|0; + $1569 = HEAP32[$pTab38>>2]|0; + $1570 = HEAP32[$iDataCur>>2]|0; + $1571 = HEAP32[$j31>>2]|0; + _sqlite3ExprCodeGetColumnOfTable($1568,$1569,$1570,$1571,3); + $1572 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($1572,-128); $1573 = HEAP32[$v>>2]|0; - $1574 = HEAP32[$pTab38>>2]|0; - $1575 = HEAP32[$iDataCur>>2]|0; - $1576 = HEAP32[$j31>>2]|0; - _sqlite3ExprCodeGetColumnOfTable($1573,$1574,$1575,$1576,3); - $1577 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1577,-128); - $1578 = HEAP32[$v>>2]|0; - $1579 = (_sqlite3VdbeAddOp1($1578,35,3)|0); - HEAP32[$jmp2>>2] = $1579; - $1580 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1580,89,1,-1)|0); - $1581 = HEAP32[$db>>2]|0; - $1582 = HEAP32[$pTab38>>2]|0; - $1583 = HEAP32[$1582>>2]|0; - $1584 = HEAP32[$j31>>2]|0; - $1585 = HEAP32[$pTab38>>2]|0; - $1586 = ((($1585)) + 4|0); - $1587 = HEAP32[$1586>>2]|0; - $1588 = (($1587) + ($1584<<4)|0); - $1589 = HEAP32[$1588>>2]|0; - HEAP32[$vararg_buffer87>>2] = $1583; + $1574 = (_sqlite3VdbeAddOp1($1573,35,3)|0); + HEAP32[$jmp2>>2] = $1574; + $1575 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1575,91,1,-1)|0); + $1576 = HEAP32[$db>>2]|0; + $1577 = HEAP32[$pTab38>>2]|0; + $1578 = HEAP32[$1577>>2]|0; + $1579 = HEAP32[$j31>>2]|0; + $1580 = HEAP32[$pTab38>>2]|0; + $1581 = ((($1580)) + 4|0); + $1582 = HEAP32[$1581>>2]|0; + $1583 = (($1582) + ($1579<<4)|0); + $1584 = HEAP32[$1583>>2]|0; + HEAP32[$vararg_buffer87>>2] = $1578; $vararg_ptr90 = ((($vararg_buffer87)) + 4|0); - HEAP32[$vararg_ptr90>>2] = $1589; - $1590 = (_sqlite3MPrintf($1581,33038,$vararg_buffer87)|0); - HEAP32[$zErr>>2] = $1590; + HEAP32[$vararg_ptr90>>2] = $1584; + $1585 = (_sqlite3MPrintf($1576,32517,$vararg_buffer87)|0); + HEAP32[$zErr>>2] = $1585; + $1586 = HEAP32[$v>>2]|0; + $1587 = HEAP32[$zErr>>2]|0; + (_sqlite3VdbeAddOp4($1586,97,0,3,0,$1587,-1)|0); + $1588 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1588,87,3,1)|0); + $1589 = HEAP32[$v>>2]|0; + $1590 = (_sqlite3VdbeAddOp1($1589,66,1)|0); + HEAP32[$jmp3>>2] = $1590; $1591 = HEAP32[$v>>2]|0; - $1592 = HEAP32[$zErr>>2]|0; - (_sqlite3VdbeAddOp4($1591,97,0,3,0,$1592,-1)|0); - $1593 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1593,85,3,1)|0); + (_sqlite3VdbeAddOp0($1591,75)|0); + $1592 = HEAP32[$v>>2]|0; + $1593 = HEAP32[$jmp2>>2]|0; + _sqlite3VdbeJumpHere($1592,$1593); $1594 = HEAP32[$v>>2]|0; - $1595 = (_sqlite3VdbeAddOp1($1594,64,1)|0); - HEAP32[$jmp3>>2] = $1595; - $1596 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1596,73)|0); - $1597 = HEAP32[$v>>2]|0; - $1598 = HEAP32[$jmp2>>2]|0; - _sqlite3VdbeJumpHere($1597,$1598); - $1599 = HEAP32[$v>>2]|0; - $1600 = HEAP32[$jmp3>>2]|0; - _sqlite3VdbeJumpHere($1599,$1600); + $1595 = HEAP32[$jmp3>>2]|0; + _sqlite3VdbeJumpHere($1594,$1595); } } while(0); - $1601 = HEAP32[$j31>>2]|0; - $1602 = (($1601) + 1)|0; - HEAP32[$j31>>2] = $1602; + $1596 = HEAP32[$j31>>2]|0; + $1597 = (($1596) + 1)|0; + HEAP32[$j31>>2] = $1597; } HEAP32[$j31>>2] = 0; - $1603 = HEAP32[$pTab38>>2]|0; - $1604 = ((($1603)) + 8|0); - $1605 = HEAP32[$1604>>2]|0; - HEAP32[$pIdx39>>2] = $1605; + $1598 = HEAP32[$pTab38>>2]|0; + $1599 = ((($1598)) + 8|0); + $1600 = HEAP32[$1599>>2]|0; + HEAP32[$pIdx39>>2] = $1600; while(1) { - $1606 = HEAP32[$pIdx39>>2]|0; - $1607 = ($1606|0)!=(0|0); - $1608 = HEAP32[$v>>2]|0; - if (!($1607)) { + $1601 = HEAP32[$pIdx39>>2]|0; + $1602 = ($1601|0)!=(0|0); + $1603 = HEAP32[$v>>2]|0; + if (!($1602)) { break; } - $1609 = (_sqlite3VdbeMakeLabel($1608)|0); - HEAP32[$ckUniq>>2] = $1609; - $1610 = HEAP32[$pPk40>>2]|0; - $1611 = HEAP32[$pIdx39>>2]|0; - $1612 = ($1610|0)==($1611|0); - if (!($1612)) { - $1613 = HEAP32[$0>>2]|0; + $1604 = (_sqlite3VdbeMakeLabel($1603)|0); + HEAP32[$ckUniq>>2] = $1604; + $1605 = HEAP32[$pPk40>>2]|0; + $1606 = HEAP32[$pIdx39>>2]|0; + $1607 = ($1605|0)==($1606|0); + if (!($1607)) { + $1608 = HEAP32[$0>>2]|0; + $1609 = HEAP32[$pIdx39>>2]|0; + $1610 = HEAP32[$iDataCur>>2]|0; + $1611 = HEAP32[$pPrior>>2]|0; + $1612 = HEAP32[$r1>>2]|0; + $1613 = (_sqlite3GenerateIndexKey($1608,$1609,$1610,0,0,$jmp342,$1611,$1612)|0); + HEAP32[$r1>>2] = $1613; $1614 = HEAP32[$pIdx39>>2]|0; - $1615 = HEAP32[$iDataCur>>2]|0; - $1616 = HEAP32[$pPrior>>2]|0; - $1617 = HEAP32[$r1>>2]|0; - $1618 = (_sqlite3GenerateIndexKey($1613,$1614,$1615,0,0,$jmp342,$1616,$1617)|0); - HEAP32[$r1>>2] = $1618; - $1619 = HEAP32[$pIdx39>>2]|0; - HEAP32[$pPrior>>2] = $1619; - $1620 = HEAP32[$v>>2]|0; - $1621 = HEAP32[$j31>>2]|0; - $1622 = (8 + ($1621))|0; - (_sqlite3VdbeAddOp2($1620,89,$1622,1)|0); - $1623 = HEAP32[$v>>2]|0; - $1624 = HEAP32[$iIdxCur>>2]|0; - $1625 = HEAP32[$j31>>2]|0; - $1626 = (($1624) + ($1625))|0; - $1627 = HEAP32[$ckUniq>>2]|0; - $1628 = HEAP32[$r1>>2]|0; - $1629 = HEAP32[$pIdx39>>2]|0; - $1630 = ((($1629)) + 52|0); - $1631 = HEAP16[$1630>>1]|0; - $1632 = $1631&65535; - $1633 = (_sqlite3VdbeAddOp4Int($1623,31,$1626,$1627,$1628,$1632)|0); - HEAP32[$jmp241>>2] = $1633; + HEAP32[$pPrior>>2] = $1614; + $1615 = HEAP32[$v>>2]|0; + $1616 = HEAP32[$j31>>2]|0; + $1617 = (8 + ($1616))|0; + (_sqlite3VdbeAddOp2($1615,91,$1617,1)|0); + $1618 = HEAP32[$v>>2]|0; + $1619 = HEAP32[$iIdxCur>>2]|0; + $1620 = HEAP32[$j31>>2]|0; + $1621 = (($1619) + ($1620))|0; + $1622 = HEAP32[$ckUniq>>2]|0; + $1623 = HEAP32[$r1>>2]|0; + $1624 = HEAP32[$pIdx39>>2]|0; + $1625 = ((($1624)) + 52|0); + $1626 = HEAP16[$1625>>1]|0; + $1627 = $1626&65535; + $1628 = (_sqlite3VdbeAddOp4Int($1618,31,$1621,$1622,$1623,$1627)|0); + HEAP32[$jmp241>>2] = $1628; + $1629 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1629,91,1,-1)|0); + $1630 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1630,3,32537)|0); + $1631 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1631,52,7,3,3)|0); + $1632 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1632,4,32542)|0); + $1633 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1633,52,4,3,3)|0); $1634 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1634,89,1,-1)|0); - $1635 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1635,3,33058)|0); - $1636 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1636,52,7,3,3)|0); - $1637 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1637,4,33063)|0); + $1635 = HEAP32[$pIdx39>>2]|0; + $1636 = HEAP32[$1635>>2]|0; + $1637 = (_sqlite3VdbeLoadString($1634,4,$1636)|0); + HEAP32[$jmp5>>2] = $1637; $1638 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp3($1638,52,4,3,3)|0); $1639 = HEAP32[$v>>2]|0; - $1640 = HEAP32[$pIdx39>>2]|0; - $1641 = HEAP32[$1640>>2]|0; - $1642 = (_sqlite3VdbeLoadString($1639,4,$1641)|0); - HEAP32[$jmp5>>2] = $1642; + (_sqlite3VdbeAddOp2($1639,87,3,1)|0); + $1640 = HEAP32[$v>>2]|0; + $1641 = (_sqlite3VdbeAddOp1($1640,66,1)|0); + HEAP32[$jmp4>>2] = $1641; + $1642 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp0($1642,75)|0); $1643 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1643,52,4,3,3)|0); - $1644 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1644,85,3,1)|0); - $1645 = HEAP32[$v>>2]|0; - $1646 = (_sqlite3VdbeAddOp1($1645,64,1)|0); - HEAP32[$jmp4>>2] = $1646; - $1647 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1647,73)|0); - $1648 = HEAP32[$v>>2]|0; - $1649 = HEAP32[$jmp241>>2]|0; - _sqlite3VdbeJumpHere($1648,$1649); - $1650 = HEAP32[$pIdx39>>2]|0; - $1651 = ((($1650)) + 54|0); - $1652 = HEAP8[$1651>>0]|0; - $1653 = $1652&255; - $1654 = ($1653|0)!=(0); - if ($1654) { - $1655 = HEAP32[$v>>2]|0; - $1656 = (_sqlite3VdbeMakeLabel($1655)|0); - HEAP32[$uniqOk>>2] = $1656; + $1644 = HEAP32[$jmp241>>2]|0; + _sqlite3VdbeJumpHere($1643,$1644); + $1645 = HEAP32[$pIdx39>>2]|0; + $1646 = ((($1645)) + 54|0); + $1647 = HEAP8[$1646>>0]|0; + $1648 = $1647&255; + $1649 = ($1648|0)!=(0); + if ($1649) { + $1650 = HEAP32[$v>>2]|0; + $1651 = (_sqlite3VdbeMakeLabel($1650)|0); + HEAP32[$uniqOk>>2] = $1651; HEAP32[$kk>>2] = 0; while(1) { - $1657 = HEAP32[$kk>>2]|0; - $1658 = HEAP32[$pIdx39>>2]|0; - $1659 = ((($1658)) + 50|0); - $1660 = HEAP16[$1659>>1]|0; - $1661 = $1660&65535; - $1662 = ($1657|0)<($1661|0); - if (!($1662)) { + $1652 = HEAP32[$kk>>2]|0; + $1653 = HEAP32[$pIdx39>>2]|0; + $1654 = ((($1653)) + 50|0); + $1655 = HEAP16[$1654>>1]|0; + $1656 = $1655&65535; + $1657 = ($1652|0)<($1656|0); + if (!($1657)) { break; } - $1663 = HEAP32[$kk>>2]|0; - $1664 = HEAP32[$pIdx39>>2]|0; - $1665 = ((($1664)) + 4|0); - $1666 = HEAP32[$1665>>2]|0; - $1667 = (($1666) + ($1663<<1)|0); - $1668 = HEAP16[$1667>>1]|0; - $1669 = $1668 << 16 >> 16; - HEAP32[$iCol>>2] = $1669; - $1670 = HEAP32[$iCol>>2]|0; - $1671 = ($1670|0)>=(0); - if ($1671) { - $1672 = HEAP32[$iCol>>2]|0; - $1673 = HEAP32[$pTab38>>2]|0; - $1674 = ((($1673)) + 4|0); - $1675 = HEAP32[$1674>>2]|0; - $1676 = (($1675) + ($1672<<4)|0); - $1677 = ((($1676)) + 12|0); - $1678 = HEAP8[$1677>>0]|0; - $1679 = $1678&255; - $1680 = ($1679|0)!=(0); - if (!($1680)) { + $1658 = HEAP32[$kk>>2]|0; + $1659 = HEAP32[$pIdx39>>2]|0; + $1660 = ((($1659)) + 4|0); + $1661 = HEAP32[$1660>>2]|0; + $1662 = (($1661) + ($1658<<1)|0); + $1663 = HEAP16[$1662>>1]|0; + $1664 = $1663 << 16 >> 16; + HEAP32[$iCol>>2] = $1664; + $1665 = HEAP32[$iCol>>2]|0; + $1666 = ($1665|0)>=(0); + if ($1666) { + $1667 = HEAP32[$iCol>>2]|0; + $1668 = HEAP32[$pTab38>>2]|0; + $1669 = ((($1668)) + 4|0); + $1670 = HEAP32[$1669>>2]|0; + $1671 = (($1670) + ($1667<<4)|0); + $1672 = ((($1671)) + 12|0); + $1673 = HEAP8[$1672>>0]|0; + $1674 = $1673&255; + $1675 = ($1674|0)!=(0); + if (!($1675)) { label = 287; } } else { @@ -127837,539 +128902,539 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } if ((label|0) == 287) { label = 0; - $1681 = HEAP32[$v>>2]|0; - $1682 = HEAP32[$r1>>2]|0; - $1683 = HEAP32[$kk>>2]|0; - $1684 = (($1682) + ($1683))|0; - $1685 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeAddOp2($1681,34,$1684,$1685)|0); + $1676 = HEAP32[$v>>2]|0; + $1677 = HEAP32[$r1>>2]|0; + $1678 = HEAP32[$kk>>2]|0; + $1679 = (($1677) + ($1678))|0; + $1680 = HEAP32[$uniqOk>>2]|0; + (_sqlite3VdbeAddOp2($1676,34,$1679,$1680)|0); } - $1686 = HEAP32[$kk>>2]|0; - $1687 = (($1686) + 1)|0; - HEAP32[$kk>>2] = $1687; + $1681 = HEAP32[$kk>>2]|0; + $1682 = (($1681) + 1)|0; + HEAP32[$kk>>2] = $1682; } + $1683 = HEAP32[$v>>2]|0; + $1684 = HEAP32[$iIdxCur>>2]|0; + $1685 = HEAP32[$j31>>2]|0; + $1686 = (($1684) + ($1685))|0; + $1687 = (_sqlite3VdbeAddOp1($1683,7,$1686)|0); + HEAP32[$jmp6>>2] = $1687; $1688 = HEAP32[$v>>2]|0; - $1689 = HEAP32[$iIdxCur>>2]|0; - $1690 = HEAP32[$j31>>2]|0; - $1691 = (($1689) + ($1690))|0; - $1692 = (_sqlite3VdbeAddOp1($1688,7,$1691)|0); - HEAP32[$jmp6>>2] = $1692; - $1693 = HEAP32[$v>>2]|0; - $1694 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeGoto($1693,$1694)|0); - $1695 = HEAP32[$v>>2]|0; - $1696 = HEAP32[$jmp6>>2]|0; - _sqlite3VdbeJumpHere($1695,$1696); - $1697 = HEAP32[$v>>2]|0; - $1698 = HEAP32[$iIdxCur>>2]|0; - $1699 = HEAP32[$j31>>2]|0; - $1700 = (($1698) + ($1699))|0; - $1701 = HEAP32[$uniqOk>>2]|0; - $1702 = HEAP32[$r1>>2]|0; - $1703 = HEAP32[$pIdx39>>2]|0; - $1704 = ((($1703)) + 50|0); - $1705 = HEAP16[$1704>>1]|0; - $1706 = $1705&65535; - (_sqlite3VdbeAddOp4Int($1697,57,$1700,$1701,$1702,$1706)|0); - $1707 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1707,89,1,-1)|0); - $1708 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1708,3,33084)|0); - $1709 = HEAP32[$v>>2]|0; - $1710 = HEAP32[$jmp5>>2]|0; - (_sqlite3VdbeGoto($1709,$1710)|0); - $1711 = HEAP32[$v>>2]|0; - $1712 = HEAP32[$uniqOk>>2]|0; - _sqlite3VdbeResolveLabel($1711,$1712); + $1689 = HEAP32[$uniqOk>>2]|0; + (_sqlite3VdbeGoto($1688,$1689)|0); + $1690 = HEAP32[$v>>2]|0; + $1691 = HEAP32[$jmp6>>2]|0; + _sqlite3VdbeJumpHere($1690,$1691); + $1692 = HEAP32[$v>>2]|0; + $1693 = HEAP32[$iIdxCur>>2]|0; + $1694 = HEAP32[$j31>>2]|0; + $1695 = (($1693) + ($1694))|0; + $1696 = HEAP32[$uniqOk>>2]|0; + $1697 = HEAP32[$r1>>2]|0; + $1698 = HEAP32[$pIdx39>>2]|0; + $1699 = ((($1698)) + 50|0); + $1700 = HEAP16[$1699>>1]|0; + $1701 = $1700&65535; + (_sqlite3VdbeAddOp4Int($1692,59,$1695,$1696,$1697,$1701)|0); + $1702 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1702,91,1,-1)|0); + $1703 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1703,3,32563)|0); + $1704 = HEAP32[$v>>2]|0; + $1705 = HEAP32[$jmp5>>2]|0; + (_sqlite3VdbeGoto($1704,$1705)|0); + $1706 = HEAP32[$v>>2]|0; + $1707 = HEAP32[$uniqOk>>2]|0; + _sqlite3VdbeResolveLabel($1706,$1707); } - $1713 = HEAP32[$v>>2]|0; - $1714 = HEAP32[$jmp4>>2]|0; - _sqlite3VdbeJumpHere($1713,$1714); - $1715 = HEAP32[$0>>2]|0; - $1716 = HEAP32[$jmp342>>2]|0; - _sqlite3ResolvePartIdxLabel($1715,$1716); + $1708 = HEAP32[$v>>2]|0; + $1709 = HEAP32[$jmp4>>2]|0; + _sqlite3VdbeJumpHere($1708,$1709); + $1710 = HEAP32[$0>>2]|0; + $1711 = HEAP32[$jmp342>>2]|0; + _sqlite3ResolvePartIdxLabel($1710,$1711); } - $1717 = HEAP32[$pIdx39>>2]|0; - $1718 = ((($1717)) + 20|0); - $1719 = HEAP32[$1718>>2]|0; - HEAP32[$pIdx39>>2] = $1719; - $1720 = HEAP32[$j31>>2]|0; - $1721 = (($1720) + 1)|0; - HEAP32[$j31>>2] = $1721; + $1712 = HEAP32[$pIdx39>>2]|0; + $1713 = ((($1712)) + 20|0); + $1714 = HEAP32[$1713>>2]|0; + HEAP32[$pIdx39>>2] = $1714; + $1715 = HEAP32[$j31>>2]|0; + $1716 = (($1715) + 1)|0; + HEAP32[$j31>>2] = $1716; } - $1722 = HEAP32[$iDataCur>>2]|0; - $1723 = HEAP32[$loopTop>>2]|0; - (_sqlite3VdbeAddOp2($1608,7,$1722,$1723)|0); - $1724 = HEAP32[$v>>2]|0; - $1725 = HEAP32[$loopTop>>2]|0; - $1726 = (($1725) - 1)|0; - _sqlite3VdbeJumpHere($1724,$1726); - $1727 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1727,2,33111)|0); + $1717 = HEAP32[$iDataCur>>2]|0; + $1718 = HEAP32[$loopTop>>2]|0; + (_sqlite3VdbeAddOp2($1603,7,$1717,$1718)|0); + $1719 = HEAP32[$v>>2]|0; + $1720 = HEAP32[$loopTop>>2]|0; + $1721 = (($1720) - 1)|0; + _sqlite3VdbeJumpHere($1719,$1721); + $1722 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1722,2,32590)|0); HEAP32[$j31>>2] = 0; - $1728 = HEAP32[$pTab38>>2]|0; - $1729 = ((($1728)) + 8|0); - $1730 = HEAP32[$1729>>2]|0; - HEAP32[$pIdx39>>2] = $1730; + $1723 = HEAP32[$pTab38>>2]|0; + $1724 = ((($1723)) + 8|0); + $1725 = HEAP32[$1724>>2]|0; + HEAP32[$pIdx39>>2] = $1725; while(1) { - $1731 = HEAP32[$pIdx39>>2]|0; - $1732 = ($1731|0)!=(0|0); - if (!($1732)) { + $1726 = HEAP32[$pIdx39>>2]|0; + $1727 = ($1726|0)!=(0|0); + if (!($1727)) { break L371; } - $1733 = HEAP32[$pPk40>>2]|0; - $1734 = HEAP32[$pIdx39>>2]|0; - $1735 = ($1733|0)==($1734|0); - if (!($1735)) { + $1728 = HEAP32[$pPk40>>2]|0; + $1729 = HEAP32[$pIdx39>>2]|0; + $1730 = ($1728|0)==($1729|0); + if (!($1730)) { + $1731 = HEAP32[$v>>2]|0; + $1732 = (_sqlite3VdbeCurrentAddr($1731)|0); + HEAP32[$addr32>>2] = $1732; + $1733 = HEAP32[$v>>2]|0; + $1734 = HEAP32[$addr32>>2]|0; + $1735 = (($1734) + 2)|0; + (_sqlite3VdbeAddOp2($1733,66,1,$1735)|0); $1736 = HEAP32[$v>>2]|0; - $1737 = (_sqlite3VdbeCurrentAddr($1736)|0); - HEAP32[$addr32>>2] = $1737; - $1738 = HEAP32[$v>>2]|0; - $1739 = HEAP32[$addr32>>2]|0; - $1740 = (($1739) + 2)|0; - (_sqlite3VdbeAddOp2($1738,64,1,$1740)|0); + (_sqlite3VdbeAddOp2($1736,75,0,0)|0); + $1737 = HEAP32[$v>>2]|0; + $1738 = HEAP32[$iIdxCur>>2]|0; + $1739 = HEAP32[$j31>>2]|0; + $1740 = (($1738) + ($1739))|0; + (_sqlite3VdbeAddOp2($1737,100,$1740,3)|0); $1741 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1741,73,0,0)|0); - $1742 = HEAP32[$v>>2]|0; - $1743 = HEAP32[$iIdxCur>>2]|0; - $1744 = HEAP32[$j31>>2]|0; - $1745 = (($1743) + ($1744))|0; - (_sqlite3VdbeAddOp2($1742,98,$1745,3)|0); + $1742 = HEAP32[$j31>>2]|0; + $1743 = (8 + ($1742))|0; + $1744 = HEAP32[$addr32>>2]|0; + $1745 = (($1744) + 8)|0; + (_sqlite3VdbeAddOp3($1741,37,$1743,$1745,3)|0); $1746 = HEAP32[$v>>2]|0; - $1747 = HEAP32[$j31>>2]|0; - $1748 = (8 + ($1747))|0; - $1749 = HEAP32[$addr32>>2]|0; - $1750 = (($1749) + 8)|0; - (_sqlite3VdbeAddOp3($1746,37,$1748,$1750,3)|0); + _sqlite3VdbeChangeP5($1746,-112); + $1747 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1747,91,1,-1)|0); + $1748 = HEAP32[$v>>2]|0; + $1749 = HEAP32[$pIdx39>>2]|0; + $1750 = HEAP32[$1749>>2]|0; + (_sqlite3VdbeLoadString($1748,3,$1750)|0); $1751 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1751,-112); + (_sqlite3VdbeAddOp3($1751,52,3,2,7)|0); $1752 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1752,89,1,-1)|0); - $1753 = HEAP32[$v>>2]|0; - $1754 = HEAP32[$pIdx39>>2]|0; - $1755 = HEAP32[$1754>>2]|0; - (_sqlite3VdbeLoadString($1753,3,$1755)|0); - $1756 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1756,52,3,2,7)|0); - $1757 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1757,85,7,1)|0); + (_sqlite3VdbeAddOp2($1752,87,7,1)|0); } - $1758 = HEAP32[$pIdx39>>2]|0; - $1759 = ((($1758)) + 20|0); - $1760 = HEAP32[$1759>>2]|0; - HEAP32[$pIdx39>>2] = $1760; - $1761 = HEAP32[$j31>>2]|0; - $1762 = (($1761) + 1)|0; - HEAP32[$j31>>2] = $1762; + $1753 = HEAP32[$pIdx39>>2]|0; + $1754 = ((($1753)) + 20|0); + $1755 = HEAP32[$1754>>2]|0; + HEAP32[$pIdx39>>2] = $1755; + $1756 = HEAP32[$j31>>2]|0; + $1757 = (($1756) + 1)|0; + HEAP32[$j31>>2] = $1757; } } } while(0); - $1763 = HEAP32[$x33>>2]|0; - $1764 = HEAP32[$1763>>2]|0; - HEAP32[$x33>>2] = $1764; + $1758 = HEAP32[$x33>>2]|0; + $1759 = HEAP32[$1758>>2]|0; + HEAP32[$x33>>2] = $1759; } } } while(0); - $1765 = HEAP32[$i30>>2]|0; - $1766 = (($1765) + 1)|0; - HEAP32[$i30>>2] = $1766; + $1760 = HEAP32[$i30>>2]|0; + $1761 = (($1760) + 1)|0; + HEAP32[$i30>>2] = $1761; } - $1767 = HEAP32[$v>>2]|0; - $1768 = (_sqlite3VdbeAddOpList($1767,4,33140,0)|0); - HEAP32[$aOp43>>2] = $1768; - $1769 = HEAP32[$aOp43>>2]|0; - $1770 = ($1769|0)!=(0|0); - if (!($1770)) { + $1762 = HEAP32[$v>>2]|0; + $1763 = (_sqlite3VdbeAddOpList($1762,4,32619,0)|0); + HEAP32[$aOp43>>2] = $1763; + $1764 = HEAP32[$aOp43>>2]|0; + $1765 = ($1764|0)!=(0|0); + if (!($1765)) { break L21; } - $1771 = HEAP32[$mxErr>>2]|0; - $1772 = (0 - ($1771))|0; + $1766 = HEAP32[$mxErr>>2]|0; + $1767 = (0 - ($1766))|0; + $1768 = HEAP32[$aOp43>>2]|0; + $1769 = ((($1768)) + 8|0); + HEAP32[$1769>>2] = $1767; + $1770 = HEAP32[$aOp43>>2]|0; + $1771 = ((($1770)) + 40|0); + $1772 = ((($1771)) + 1|0); + HEAP8[$1772>>0] = -2; $1773 = HEAP32[$aOp43>>2]|0; - $1774 = ((($1773)) + 8|0); - HEAP32[$1774>>2] = $1772; - $1775 = HEAP32[$aOp43>>2]|0; - $1776 = ((($1775)) + 40|0); - $1777 = ((($1776)) + 1|0); - HEAP8[$1777>>0] = -2; - $1778 = HEAP32[$aOp43>>2]|0; - $1779 = ((($1778)) + 40|0); - $1780 = ((($1779)) + 16|0); - HEAP32[$1780>>2] = 33156; + $1774 = ((($1773)) + 40|0); + $1775 = ((($1774)) + 16|0); + HEAP32[$1775>>2] = 32635; break L21; break; } case 12: { - $1781 = HEAP32[$zRight>>2]|0; - $1782 = ($1781|0)!=(0|0); - if (!($1782)) { - $1783 = HEAP32[$0>>2]|0; - $1784 = (_sqlite3ReadSchema($1783)|0); - $1785 = ($1784|0)!=(0); - if ($1785) { + $1776 = HEAP32[$zRight>>2]|0; + $1777 = ($1776|0)!=(0|0); + if (!($1777)) { + $1778 = HEAP32[$0>>2]|0; + $1779 = (_sqlite3ReadSchema($1778)|0); + $1780 = ($1779|0)!=(0); + if ($1780) { break L21; } - $1786 = HEAP32[$v>>2]|0; - $1787 = HEAP32[$0>>2]|0; + $1781 = HEAP32[$v>>2]|0; + $1782 = HEAP32[$0>>2]|0; + $1783 = HEAP32[$1782>>2]|0; + $1784 = ((($1783)) + 66|0); + $1785 = HEAP8[$1784>>0]|0; + $1786 = $1785&255; + $1787 = (5336 + ($1786<<3)|0); $1788 = HEAP32[$1787>>2]|0; - $1789 = ((($1788)) + 66|0); - $1790 = HEAP8[$1789>>0]|0; - $1791 = $1790&255; - $1792 = (6176 + ($1791<<3)|0); - $1793 = HEAP32[$1792>>2]|0; - _returnSingleText($1786,33159,$1793); + _returnSingleText($1781,32638,$1788); break L21; } - $1794 = HEAP32[$db>>2]|0; - $1795 = ((($1794)) + 16|0); - $1796 = HEAP32[$1795>>2]|0; - $1797 = ((($1796)) + 12|0); - $1798 = HEAP32[$1797>>2]|0; - $1799 = ((($1798)) + 78|0); - $1800 = HEAP16[$1799>>1]|0; - $1801 = $1800&65535; - $1802 = $1801 & 1; - $1803 = ($1802|0)==(1); - if ($1803) { - $1804 = HEAP32[$db>>2]|0; - $1805 = ((($1804)) + 16|0); - $1806 = HEAP32[$1805>>2]|0; - $1807 = ((($1806)) + 12|0); - $1808 = HEAP32[$1807>>2]|0; - $1809 = ((($1808)) + 78|0); - $1810 = HEAP16[$1809>>1]|0; - $1811 = $1810&65535; - $1812 = $1811 & 4; - $1813 = ($1812|0)==(4); - if (!($1813)) { + $1789 = HEAP32[$db>>2]|0; + $1790 = ((($1789)) + 16|0); + $1791 = HEAP32[$1790>>2]|0; + $1792 = ((($1791)) + 12|0); + $1793 = HEAP32[$1792>>2]|0; + $1794 = ((($1793)) + 78|0); + $1795 = HEAP16[$1794>>1]|0; + $1796 = $1795&65535; + $1797 = $1796 & 1; + $1798 = ($1797|0)==(1); + if ($1798) { + $1799 = HEAP32[$db>>2]|0; + $1800 = ((($1799)) + 16|0); + $1801 = HEAP32[$1800>>2]|0; + $1802 = ((($1801)) + 12|0); + $1803 = HEAP32[$1802>>2]|0; + $1804 = ((($1803)) + 78|0); + $1805 = HEAP16[$1804>>1]|0; + $1806 = $1805&65535; + $1807 = $1806 & 4; + $1808 = ($1807|0)==(4); + if (!($1808)) { break L21; } } - HEAP32[$pEnc>>2] = 6176; + HEAP32[$pEnc>>2] = 5336; while(1) { - $1814 = HEAP32[$pEnc>>2]|0; - $1815 = HEAP32[$1814>>2]|0; - $1816 = ($1815|0)!=(0|0); - if (!($1816)) { + $1809 = HEAP32[$pEnc>>2]|0; + $1810 = HEAP32[$1809>>2]|0; + $1811 = ($1810|0)!=(0|0); + if (!($1811)) { break; } - $1817 = HEAP32[$zRight>>2]|0; - $1818 = HEAP32[$pEnc>>2]|0; - $1819 = HEAP32[$1818>>2]|0; - $1820 = (_sqlite3StrICmp($1817,$1819)|0); - $1821 = (0)==($1820|0); - $1822 = HEAP32[$pEnc>>2]|0; - if ($1821) { + $1812 = HEAP32[$zRight>>2]|0; + $1813 = HEAP32[$pEnc>>2]|0; + $1814 = HEAP32[$1813>>2]|0; + $1815 = (_sqlite3StrICmp($1812,$1814)|0); + $1816 = (0)==($1815|0); + $1817 = HEAP32[$pEnc>>2]|0; + if ($1816) { label = 309; break; } - $1845 = ((($1822)) + 8|0); - HEAP32[$pEnc>>2] = $1845; + $1840 = ((($1817)) + 8|0); + HEAP32[$pEnc>>2] = $1840; } if ((label|0) == 309) { - $1823 = ((($1822)) + 4|0); - $1824 = HEAP8[$1823>>0]|0; - $1825 = $1824&255; - $1826 = ($1825|0)!=(0); - if ($1826) { - $1827 = HEAP32[$pEnc>>2]|0; - $1828 = ((($1827)) + 4|0); - $1829 = HEAP8[$1828>>0]|0; - $1830 = $1829&255; - $1836 = $1830; + $1818 = ((($1817)) + 4|0); + $1819 = HEAP8[$1818>>0]|0; + $1820 = $1819&255; + $1821 = ($1820|0)!=(0); + if ($1821) { + $1822 = HEAP32[$pEnc>>2]|0; + $1823 = ((($1822)) + 4|0); + $1824 = HEAP8[$1823>>0]|0; + $1825 = $1824&255; + $1831 = $1825; } else { - $1831 = HEAP8[960>>0]|0; - $1832 = $1831 << 24 >> 24; - $1833 = ($1832|0)==(0); - $1834 = $1833 ? 3 : 2; - $1836 = $1834; + $1826 = HEAP8[968>>0]|0; + $1827 = $1826 << 24 >> 24; + $1828 = ($1827|0)==(0); + $1829 = $1828 ? 3 : 2; + $1831 = $1829; } - $1835 = $1836&255; - $1837 = HEAP32[$db>>2]|0; - $1838 = ((($1837)) + 66|0); - HEAP8[$1838>>0] = $1835; - $1839 = HEAP32[$db>>2]|0; - $1840 = ((($1839)) + 16|0); - $1841 = HEAP32[$1840>>2]|0; - $1842 = ((($1841)) + 12|0); - $1843 = HEAP32[$1842>>2]|0; - $1844 = ((($1843)) + 77|0); - HEAP8[$1844>>0] = $1835; + $1830 = $1831&255; + $1832 = HEAP32[$db>>2]|0; + $1833 = ((($1832)) + 66|0); + HEAP8[$1833>>0] = $1830; + $1834 = HEAP32[$db>>2]|0; + $1835 = ((($1834)) + 16|0); + $1836 = HEAP32[$1835>>2]|0; + $1837 = ((($1836)) + 12|0); + $1838 = HEAP32[$1837>>2]|0; + $1839 = ((($1838)) + 77|0); + HEAP8[$1839>>0] = $1830; } - $1846 = HEAP32[$pEnc>>2]|0; - $1847 = HEAP32[$1846>>2]|0; - $1848 = ($1847|0)!=(0|0); - if ($1848) { + $1841 = HEAP32[$pEnc>>2]|0; + $1842 = HEAP32[$1841>>2]|0; + $1843 = ($1842|0)!=(0|0); + if ($1843) { break L21; } - $1849 = HEAP32[$0>>2]|0; - $1850 = HEAP32[$zRight>>2]|0; - HEAP32[$vararg_buffer91>>2] = $1850; - _sqlite3ErrorMsg($1849,33168,$vararg_buffer91); + $1844 = HEAP32[$0>>2]|0; + $1845 = HEAP32[$zRight>>2]|0; + HEAP32[$vararg_buffer91>>2] = $1845; + _sqlite3ErrorMsg($1844,32647,$vararg_buffer91); break L21; break; } case 0: { - $1851 = HEAP32[$pPragma>>2]|0; - $1852 = ((($1851)) + 8|0); - $1853 = HEAP32[$1852>>2]|0; - HEAP32[$iCookie>>2] = $1853; - $1854 = HEAP32[$v>>2]|0; - $1855 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($1854,$1855); - $1856 = HEAP32[$zRight>>2]|0; - $1857 = ($1856|0)!=(0|0); - if ($1857) { - $1858 = HEAP32[$pPragma>>2]|0; - $1859 = ((($1858)) + 5|0); - $1860 = HEAP8[$1859>>0]|0; - $1861 = $1860&255; - $1862 = $1861 & 2; - $1863 = ($1862|0)==(0); - if ($1863) { - $1864 = HEAP32[$v>>2]|0; - $1865 = (_sqlite3VdbeAddOpList($1864,2,33193,0)|0); - HEAP32[$aOp44>>2] = $1865; - $1866 = HEAP32[$iDb>>2]|0; - $1867 = HEAP32[$aOp44>>2]|0; - $1868 = ((($1867)) + 4|0); - HEAP32[$1868>>2] = $1866; - $1869 = HEAP32[$iDb>>2]|0; - $1870 = HEAP32[$aOp44>>2]|0; - $1871 = ((($1870)) + 20|0); - $1872 = ((($1871)) + 4|0); - HEAP32[$1872>>2] = $1869; - $1873 = HEAP32[$iCookie>>2]|0; + $1846 = HEAP32[$pPragma>>2]|0; + $1847 = ((($1846)) + 8|0); + $1848 = HEAP32[$1847>>2]|0; + HEAP32[$iCookie>>2] = $1848; + $1849 = HEAP32[$v>>2]|0; + $1850 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($1849,$1850); + $1851 = HEAP32[$zRight>>2]|0; + $1852 = ($1851|0)!=(0|0); + if ($1852) { + $1853 = HEAP32[$pPragma>>2]|0; + $1854 = ((($1853)) + 5|0); + $1855 = HEAP8[$1854>>0]|0; + $1856 = $1855&255; + $1857 = $1856 & 2; + $1858 = ($1857|0)==(0); + if ($1858) { + $1859 = HEAP32[$v>>2]|0; + $1860 = (_sqlite3VdbeAddOpList($1859,2,32672,0)|0); + HEAP32[$aOp44>>2] = $1860; + $1861 = HEAP32[$iDb>>2]|0; + $1862 = HEAP32[$aOp44>>2]|0; + $1863 = ((($1862)) + 4|0); + HEAP32[$1863>>2] = $1861; + $1864 = HEAP32[$iDb>>2]|0; + $1865 = HEAP32[$aOp44>>2]|0; + $1866 = ((($1865)) + 20|0); + $1867 = ((($1866)) + 4|0); + HEAP32[$1867>>2] = $1864; + $1868 = HEAP32[$iCookie>>2]|0; + $1869 = HEAP32[$aOp44>>2]|0; + $1870 = ((($1869)) + 20|0); + $1871 = ((($1870)) + 8|0); + HEAP32[$1871>>2] = $1868; + $1872 = HEAP32[$zRight>>2]|0; + $1873 = (_sqlite3Atoi($1872)|0); $1874 = HEAP32[$aOp44>>2]|0; $1875 = ((($1874)) + 20|0); - $1876 = ((($1875)) + 8|0); + $1876 = ((($1875)) + 12|0); HEAP32[$1876>>2] = $1873; - $1877 = HEAP32[$zRight>>2]|0; - $1878 = (_sqlite3Atoi($1877)|0); - $1879 = HEAP32[$aOp44>>2]|0; - $1880 = ((($1879)) + 20|0); - $1881 = ((($1880)) + 12|0); - HEAP32[$1881>>2] = $1878; break L21; } } - $1882 = HEAP32[$v>>2]|0; - $1883 = (_sqlite3VdbeAddOpList($1882,3,33201,0)|0); - HEAP32[$aOp45>>2] = $1883; - $1884 = HEAP32[$iDb>>2]|0; - $1885 = HEAP32[$aOp45>>2]|0; - $1886 = ((($1885)) + 4|0); - HEAP32[$1886>>2] = $1884; - $1887 = HEAP32[$iDb>>2]|0; - $1888 = HEAP32[$aOp45>>2]|0; - $1889 = ((($1888)) + 20|0); - $1890 = ((($1889)) + 4|0); - HEAP32[$1890>>2] = $1887; - $1891 = HEAP32[$iCookie>>2]|0; - $1892 = HEAP32[$aOp45>>2]|0; - $1893 = ((($1892)) + 20|0); - $1894 = ((($1893)) + 12|0); - HEAP32[$1894>>2] = $1891; - $1895 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1895,1); - $1896 = HEAP32[$v>>2]|0; - $1897 = HEAP32[$zLeft>>2]|0; - (_sqlite3VdbeSetColName($1896,0,0,$1897,(-1))|0); - $1898 = HEAP32[$v>>2]|0; - _sqlite3VdbeReusable($1898); + $1877 = HEAP32[$v>>2]|0; + $1878 = (_sqlite3VdbeAddOpList($1877,3,32680,0)|0); + HEAP32[$aOp45>>2] = $1878; + $1879 = HEAP32[$iDb>>2]|0; + $1880 = HEAP32[$aOp45>>2]|0; + $1881 = ((($1880)) + 4|0); + HEAP32[$1881>>2] = $1879; + $1882 = HEAP32[$iDb>>2]|0; + $1883 = HEAP32[$aOp45>>2]|0; + $1884 = ((($1883)) + 20|0); + $1885 = ((($1884)) + 4|0); + HEAP32[$1885>>2] = $1882; + $1886 = HEAP32[$iCookie>>2]|0; + $1887 = HEAP32[$aOp45>>2]|0; + $1888 = ((($1887)) + 20|0); + $1889 = ((($1888)) + 12|0); + HEAP32[$1889>>2] = $1886; + $1890 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($1890,1); + $1891 = HEAP32[$v>>2]|0; + $1892 = HEAP32[$zLeft>>2]|0; + (_sqlite3VdbeSetColName($1891,0,0,$1892,(-1))|0); + $1893 = HEAP32[$v>>2]|0; + _sqlite3VdbeReusable($1893); break L21; break; } case 8: { HEAP32[$i46>>2] = 0; - $1899 = HEAP32[$0>>2]|0; - $1900 = ((($1899)) + 76|0); - HEAP32[$1900>>2] = 1; - $1901 = HEAP32[$v>>2]|0; - _setOneColumnName($1901,33213); + $1894 = HEAP32[$0>>2]|0; + $1895 = ((($1894)) + 44|0); + HEAP32[$1895>>2] = 1; + $1896 = HEAP32[$v>>2]|0; + _setOneColumnName($1896,32692); while(1) { - $1902 = HEAP32[$i46>>2]|0; - $1903 = (($1902) + 1)|0; - HEAP32[$i46>>2] = $1903; - $1904 = (_sqlite3_compileoption_get($1902)|0); - HEAP32[$zOpt>>2] = $1904; - $1905 = ($1904|0)!=(0|0); - $1906 = HEAP32[$v>>2]|0; - if (!($1905)) { + $1897 = HEAP32[$i46>>2]|0; + $1898 = (($1897) + 1)|0; + HEAP32[$i46>>2] = $1898; + $1899 = (_sqlite3_compileoption_get($1897)|0); + HEAP32[$zOpt>>2] = $1899; + $1900 = ($1899|0)!=(0|0); + $1901 = HEAP32[$v>>2]|0; + if (!($1900)) { break; } - $1907 = HEAP32[$zOpt>>2]|0; - (_sqlite3VdbeLoadString($1906,1,$1907)|0); - $1908 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1908,85,1,1)|0); + $1902 = HEAP32[$zOpt>>2]|0; + (_sqlite3VdbeLoadString($1901,1,$1902)|0); + $1903 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1903,87,1,1)|0); } - _sqlite3VdbeReusable($1906); + _sqlite3VdbeReusable($1901); break L21; break; } case 36: { - $1909 = HEAP32[$2>>2]|0; - $1910 = HEAP32[$1909>>2]|0; - $1911 = ($1910|0)!=(0|0); - $1912 = HEAP32[$iDb>>2]|0; - $1913 = $1911 ? $1912 : 10; - HEAP32[$iBt>>2] = $1913; + $1904 = HEAP32[$2>>2]|0; + $1905 = HEAP32[$1904>>2]|0; + $1906 = ($1905|0)!=(0|0); + $1907 = HEAP32[$iDb>>2]|0; + $1908 = $1906 ? $1907 : 10; + HEAP32[$iBt>>2] = $1908; HEAP32[$eMode47>>2] = 0; - $1914 = HEAP32[$zRight>>2]|0; - $1915 = ($1914|0)!=(0|0); + $1909 = HEAP32[$zRight>>2]|0; + $1910 = ($1909|0)!=(0|0); do { - if ($1915) { - $1916 = HEAP32[$zRight>>2]|0; - $1917 = (_sqlite3StrICmp($1916,33228)|0); - $1918 = ($1917|0)==(0); - if ($1918) { + if ($1910) { + $1911 = HEAP32[$zRight>>2]|0; + $1912 = (_sqlite3StrICmp($1911,32707)|0); + $1913 = ($1912|0)==(0); + if ($1913) { HEAP32[$eMode47>>2] = 1; break; } - $1919 = HEAP32[$zRight>>2]|0; - $1920 = (_sqlite3StrICmp($1919,33233)|0); - $1921 = ($1920|0)==(0); - if ($1921) { + $1914 = HEAP32[$zRight>>2]|0; + $1915 = (_sqlite3StrICmp($1914,32712)|0); + $1916 = ($1915|0)==(0); + if ($1916) { HEAP32[$eMode47>>2] = 2; break; } - $1922 = HEAP32[$zRight>>2]|0; - $1923 = (_sqlite3StrICmp($1922,33241)|0); - $1924 = ($1923|0)==(0); - if ($1924) { + $1917 = HEAP32[$zRight>>2]|0; + $1918 = (_sqlite3StrICmp($1917,32720)|0); + $1919 = ($1918|0)==(0); + if ($1919) { HEAP32[$eMode47>>2] = 3; } } } while(0); - $1925 = HEAP32[$v>>2]|0; - _setAllColumnNames($1925,3,6248); - $1926 = HEAP32[$0>>2]|0; - $1927 = ((($1926)) + 76|0); - HEAP32[$1927>>2] = 3; - $1928 = HEAP32[$v>>2]|0; - $1929 = HEAP32[$iBt>>2]|0; - $1930 = HEAP32[$eMode47>>2]|0; - (_sqlite3VdbeAddOp3($1928,8,$1929,$1930,1)|0); - $1931 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1931,85,1,3)|0); + $1920 = HEAP32[$v>>2]|0; + _setAllColumnNames($1920,3,5408); + $1921 = HEAP32[$0>>2]|0; + $1922 = ((($1921)) + 44|0); + HEAP32[$1922>>2] = 3; + $1923 = HEAP32[$v>>2]|0; + $1924 = HEAP32[$iBt>>2]|0; + $1925 = HEAP32[$eMode47>>2]|0; + (_sqlite3VdbeAddOp3($1923,8,$1924,$1925,1)|0); + $1926 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1926,87,1,3)|0); break L21; break; } case 35: { - $1932 = HEAP32[$zRight>>2]|0; - $1933 = ($1932|0)!=(0|0); - if ($1933) { - $1934 = HEAP32[$db>>2]|0; - $1935 = HEAP32[$zRight>>2]|0; - $1936 = (_sqlite3Atoi($1935)|0); - (_sqlite3_wal_autocheckpoint($1934,$1936)|0); + $1927 = HEAP32[$zRight>>2]|0; + $1928 = ($1927|0)!=(0|0); + if ($1928) { + $1929 = HEAP32[$db>>2]|0; + $1930 = HEAP32[$zRight>>2]|0; + $1931 = (_sqlite3Atoi($1930)|0); + (_sqlite3_wal_autocheckpoint($1929,$1931)|0); } - $1937 = HEAP32[$v>>2]|0; - $1938 = HEAP32[$db>>2]|0; - $1939 = ((($1938)) + 220|0); - $1940 = HEAP32[$1939>>2]|0; - $1941 = ($1940|0)==(139|0); - if ($1941) { - $1942 = HEAP32[$db>>2]|0; - $1943 = ((($1942)) + 224|0); - $1944 = HEAP32[$1943>>2]|0; - $1945 = $1944; - $1947 = $1945; + $1932 = HEAP32[$v>>2]|0; + $1933 = HEAP32[$db>>2]|0; + $1934 = ((($1933)) + 224|0); + $1935 = HEAP32[$1934>>2]|0; + $1936 = ($1935|0)==(139|0); + if ($1936) { + $1937 = HEAP32[$db>>2]|0; + $1938 = ((($1937)) + 228|0); + $1939 = HEAP32[$1938>>2]|0; + $1940 = $1939; + $1942 = $1940; } else { - $1947 = 0; + $1942 = 0; } - $1946 = ($1947|0)<(0); - $1948 = $1946 << 31 >> 31; - _returnSingleInt($1937,33250,$1947,$1948); + $1941 = ($1942|0)<(0); + $1943 = $1941 << 31 >> 31; + _returnSingleInt($1932,32729,$1942,$1943); break L21; break; } case 27: { - $1949 = HEAP32[$db>>2]|0; - (_sqlite3_db_release_memory($1949)|0); + $1944 = HEAP32[$db>>2]|0; + (_sqlite3_db_release_memory($1944)|0); break L21; break; } case 28: { - $1961 = HEAP32[$zRight>>2]|0; - $1962 = ($1961|0)!=(0|0); - if ($1962) { - $1963 = HEAP32[$zRight>>2]|0; - $1964 = (_sqlite3DecOrHexToI64($1963,$N)|0); - $1965 = ($1964|0)==(0); - if ($1965) { - $1966 = $N; - $1967 = $1966; - $1968 = HEAP32[$1967>>2]|0; - $1969 = (($1966) + 4)|0; - $1970 = $1969; - $1971 = HEAP32[$1970>>2]|0; - (_sqlite3_soft_heap_limit64($1968,$1971)|0); - $1972 = tempRet0; + $1956 = HEAP32[$zRight>>2]|0; + $1957 = ($1956|0)!=(0|0); + if ($1957) { + $1958 = HEAP32[$zRight>>2]|0; + $1959 = (_sqlite3DecOrHexToI64($1958,$N)|0); + $1960 = ($1959|0)==(0); + if ($1960) { + $1961 = $N; + $1962 = $1961; + $1963 = HEAP32[$1962>>2]|0; + $1964 = (($1961) + 4)|0; + $1965 = $1964; + $1966 = HEAP32[$1965>>2]|0; + (_sqlite3_soft_heap_limit64($1963,$1966)|0); + $1967 = tempRet0; } } - $1973 = HEAP32[$v>>2]|0; - $1974 = (_sqlite3_soft_heap_limit64(-1,-1)|0); - $1975 = tempRet0; - _returnSingleInt($1973,33277,$1974,$1975); + $1968 = HEAP32[$v>>2]|0; + $1969 = (_sqlite3_soft_heap_limit64(-1,-1)|0); + $1970 = tempRet0; + _returnSingleInt($1968,32756,$1969,$1970); break L21; break; } case 34: { - $1976 = HEAP32[$zRight>>2]|0; - $1977 = ($1976|0)!=(0|0); - if ($1977) { - $1978 = HEAP32[$zRight>>2]|0; - $1979 = (_sqlite3DecOrHexToI64($1978,$N48)|0); - $1980 = ($1979|0)==(0); - $1981 = $N48; - $1982 = $1981; - $1983 = HEAP32[$1982>>2]|0; - $1984 = (($1981) + 4)|0; - $1985 = $1984; - $1986 = HEAP32[$1985>>2]|0; - $1987 = ($1986|0)>(0); - $1988 = ($1983>>>0)>=(0); - $1989 = ($1986|0)==(0); - $1990 = $1989 & $1988; - $1991 = $1987 | $1990; - $or$cond14 = $1980 & $1991; + $1971 = HEAP32[$zRight>>2]|0; + $1972 = ($1971|0)!=(0|0); + if ($1972) { + $1973 = HEAP32[$zRight>>2]|0; + $1974 = (_sqlite3DecOrHexToI64($1973,$N48)|0); + $1975 = ($1974|0)==(0); + $1976 = $N48; + $1977 = $1976; + $1978 = HEAP32[$1977>>2]|0; + $1979 = (($1976) + 4)|0; + $1980 = $1979; + $1981 = HEAP32[$1980>>2]|0; + $1982 = ($1981|0)>(0); + $1983 = ($1978>>>0)>=(0); + $1984 = ($1981|0)==(0); + $1985 = $1984 & $1983; + $1986 = $1982 | $1985; + $or$cond14 = $1975 & $1986; if ($or$cond14) { - $1992 = HEAP32[$db>>2]|0; - $1993 = $N48; - $1994 = $1993; - $1995 = HEAP32[$1994>>2]|0; - $1996 = (($1993) + 4)|0; - $1997 = $1996; - $1998 = HEAP32[$1997>>2]|0; - $1999 = $1995 & 2147483647; - (_sqlite3_limit($1992,11,$1999)|0); + $1987 = HEAP32[$db>>2]|0; + $1988 = $N48; + $1989 = $1988; + $1990 = HEAP32[$1989>>2]|0; + $1991 = (($1988) + 4)|0; + $1992 = $1991; + $1993 = HEAP32[$1992>>2]|0; + $1994 = $1990 & 2147483647; + (_sqlite3_limit($1987,11,$1994)|0); } } - $2000 = HEAP32[$v>>2]|0; - $2001 = HEAP32[$db>>2]|0; - $2002 = (_sqlite3_limit($2001,11,-1)|0); - $2003 = ($2002|0)<(0); - $2004 = $2003 << 31 >> 31; - _returnSingleInt($2000,33293,$2002,$2004); + $1995 = HEAP32[$v>>2]|0; + $1996 = HEAP32[$db>>2]|0; + $1997 = (_sqlite3_limit($1996,11,-1)|0); + $1998 = ($1997|0)<(0); + $1999 = $1998 << 31 >> 31; + _returnSingleInt($1995,32772,$1997,$1999); break L21; break; } default: { - $1950 = HEAP32[$zRight>>2]|0; - $1951 = ($1950|0)!=(0|0); - if ($1951) { - $1952 = HEAP32[$db>>2]|0; - $1953 = HEAP32[$zRight>>2]|0; - $1954 = (_sqlite3Atoi($1953)|0); - (_sqlite3_busy_timeout($1952,$1954)|0); + $1945 = HEAP32[$zRight>>2]|0; + $1946 = ($1945|0)!=(0|0); + if ($1946) { + $1947 = HEAP32[$db>>2]|0; + $1948 = HEAP32[$zRight>>2]|0; + $1949 = (_sqlite3Atoi($1948)|0); + (_sqlite3_busy_timeout($1947,$1949)|0); } - $1955 = HEAP32[$v>>2]|0; - $1956 = HEAP32[$db>>2]|0; - $1957 = ((($1956)) + 428|0); - $1958 = HEAP32[$1957>>2]|0; - $1959 = ($1958|0)<(0); - $1960 = $1959 << 31 >> 31; - _returnSingleInt($1955,33269,$1958,$1960); + $1950 = HEAP32[$v>>2]|0; + $1951 = HEAP32[$db>>2]|0; + $1952 = ((($1951)) + 428|0); + $1953 = HEAP32[$1952>>2]|0; + $1954 = ($1953|0)<(0); + $1955 = $1954 << 31 >> 31; + _returnSingleInt($1950,32748,$1953,$1955); break L21; } } @@ -128377,12 +129442,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } } } while(0); - $2005 = HEAP32[$db>>2]|0; - $2006 = HEAP32[$zLeft>>2]|0; - _sqlite3DbFree($2005,$2006); - $2007 = HEAP32[$db>>2]|0; - $2008 = HEAP32[$zRight>>2]|0; - _sqlite3DbFree($2007,$2008); + $2000 = HEAP32[$db>>2]|0; + $2001 = HEAP32[$zLeft>>2]|0; + _sqlite3DbFree($2000,$2001); + $2002 = HEAP32[$db>>2]|0; + $2003 = HEAP32[$zRight>>2]|0; + _sqlite3DbFree($2002,$2003); STACKTOP = sp;return; } function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { @@ -128419,17 +129484,17 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { HEAP32[$1>>2] = $pStepList; HEAP32[$2>>2] = $pAll; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 492|0); + $4 = ((($3)) + 444|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pTrig>>2] = $5; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 492|0); + $9 = ((($8)) + 444|0); HEAP32[$9>>2] = 0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 68|0); + $11 = ((($10)) + 36|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0); $14 = HEAP32[$pTrig>>2]|0; @@ -128470,7 +129535,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { _sqlite3TokenInit($nameToken,$35); $36 = HEAP32[$0>>2]|0; $37 = HEAP32[$iDb>>2]|0; - _sqlite3FixInit($sFix,$36,$37,19280,$nameToken); + _sqlite3FixInit($sFix,$36,$37,18664,$nameToken); $38 = HEAP32[$pTrig>>2]|0; $39 = ((($38)) + 28|0); $40 = HEAP32[$39>>2]|0; @@ -128484,7 +129549,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $47 = ($46|0)!=(0); if (!($47)) { $48 = HEAP32[$db>>2]|0; - $49 = ((($48)) + 144|0); + $49 = ((($48)) + 148|0); $50 = ((($49)) + 5|0); $51 = HEAP8[$50>>0]|0; $52 = ($51<<24>>24)!=(0); @@ -128517,7 +129582,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $72 = HEAP32[$71>>2]|0; $73 = HEAP32[$iDb>>2]|0; $74 = ($73|0)==(1); - $75 = $74 ? 20521 : 20540; + $75 = $74 ? 19905 : 19924; $76 = HEAP32[$zName>>2]|0; $77 = HEAP32[$pTrig>>2]|0; $78 = ((($77)) + 4|0); @@ -128532,7 +129597,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { HEAP32[$vararg_ptr4>>2] = $79; $vararg_ptr5 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr5>>2] = $80; - _sqlite3NestedParse($66,32531,$vararg_buffer); + _sqlite3NestedParse($66,32010,$vararg_buffer); $81 = HEAP32[$db>>2]|0; $82 = HEAP32[$z>>2]|0; _sqlite3DbFree($81,$82); @@ -128544,11 +129609,11 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $87 = HEAP32[$db>>2]|0; $88 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $88; - $89 = (_sqlite3MPrintf($87,32595,$vararg_buffer6)|0); + $89 = (_sqlite3MPrintf($87,32074,$vararg_buffer6)|0); _sqlite3VdbeAddParseSchemaOp($85,$86,$89); } $90 = HEAP32[$db>>2]|0; - $91 = ((($90)) + 144|0); + $91 = ((($90)) + 148|0); $92 = ((($91)) + 5|0); $93 = HEAP8[$92>>0]|0; $94 = ($93<<24>>24)!=(0); @@ -128697,7 +129762,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $17 = ($16>>>0)>(0); if ($17) { $18 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($18,32214,$vararg_buffer); + _sqlite3ErrorMsg($18,31693,$vararg_buffer); break; } else { HEAP32[$iDb>>2] = 1; @@ -128737,7 +129802,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $32 = ($31|0)!=(0); if (!($32)) { $33 = HEAP32[$db>>2]|0; - $34 = ((($33)) + 144|0); + $34 = ((($33)) + 148|0); $35 = ((($34)) + 5|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; @@ -128762,7 +129827,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $51 = (_sqlite3SrcListLookup($49,$50)|0); HEAP32[$pTab>>2] = $51; $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 144|0); + $53 = ((($52)) + 148|0); $54 = ((($53)) + 5|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; @@ -128799,7 +129864,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $78 = HEAP32[$0>>2]|0; $79 = HEAP32[$iDb>>2]|0; $80 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$78,$79,19280,$80); + _sqlite3FixInit($sFix,$78,$79,18664,$80); $81 = HEAP32[$6>>2]|0; $82 = (_sqlite3FixSrcList($sFix,$81)|0); $83 = ($82|0)!=(0); @@ -128812,7 +129877,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $88 = ($87|0)!=(0|0); if (!($88)) { $89 = HEAP32[$db>>2]|0; - $90 = ((($89)) + 144|0); + $90 = ((($89)) + 148|0); $91 = ((($90)) + 4|0); $92 = HEAP8[$91>>0]|0; $93 = $92&255; @@ -128821,7 +129886,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab break; } $95 = HEAP32[$db>>2]|0; - $96 = ((($95)) + 144|0); + $96 = ((($95)) + 148|0); $97 = ((($96)) + 6|0); HEAP8[$97>>0] = 1; break; @@ -128834,7 +129899,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $103 = ($102|0)!=(0); if ($103) { $104 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($104,32260,$vararg_buffer12); + _sqlite3ErrorMsg($104,31739,$vararg_buffer12); break; } $105 = HEAP32[$db>>2]|0; @@ -128871,17 +129936,17 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab } else { $128 = HEAP32[$pName>>2]|0; HEAP32[$vararg_buffer14>>2] = $128; - _sqlite3ErrorMsg($127,32301,$vararg_buffer14); + _sqlite3ErrorMsg($127,31780,$vararg_buffer14); break; } } $130 = HEAP32[$pTab>>2]|0; $131 = HEAP32[$130>>2]|0; - $132 = (_sqlite3_strnicmp($131,28448,7)|0); + $132 = (_sqlite3_strnicmp($131,27844,7)|0); $133 = ($132|0)==(0); if ($133) { $134 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($134,32327,$vararg_buffer16); + _sqlite3ErrorMsg($134,31806,$vararg_buffer16); break; } $135 = HEAP32[$pTab>>2]|0; @@ -128895,14 +129960,14 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $141 = HEAP32[$0>>2]|0; $142 = HEAP32[$3>>2]|0; $143 = ($142|0)==(63); - $144 = $143 ? 32365 : 32372; + $144 = $143 ? 31844 : 31851; $145 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer18>>2] = $144; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $145; $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); HEAP32[$vararg_ptr22>>2] = 0; - _sqlite3ErrorMsg($141,32378,$vararg_buffer18); + _sqlite3ErrorMsg($141,31857,$vararg_buffer18); break; } $146 = HEAP32[$pTab>>2]|0; @@ -128918,7 +129983,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab HEAP32[$vararg_buffer23>>2] = $153; $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); HEAP32[$vararg_ptr26>>2] = 0; - _sqlite3ErrorMsg($152,32415,$vararg_buffer23); + _sqlite3ErrorMsg($152,31894,$vararg_buffer23); break; } $154 = HEAP32[$db>>2]|0; @@ -128969,7 +130034,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $186 = HEAP32[$0>>2]|0; $187 = HEAP32[$iTabDb>>2]|0; $188 = ($187|0)==(1); - $189 = $188 ? 20521 : 20540; + $189 = $188 ? 19905 : 19924; $190 = HEAP32[$zDb>>2]|0; $191 = (_sqlite3AuthCheck($186,18,$189,0,$190)|0); $192 = ($191|0)!=(0); @@ -129042,7 +130107,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab HEAP32[$242>>2] = $240; $243 = HEAP32[$pTrigger>>2]|0; $244 = HEAP32[$0>>2]|0; - $245 = ((($244)) + 492|0); + $245 = ((($244)) + 444|0); HEAP32[$245>>2] = $243; } } @@ -129066,7 +130131,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $253 = HEAP32[$7>>2]|0; _sqlite3ExprDelete($252,$253); $254 = HEAP32[$0>>2]|0; - $255 = ((($254)) + 492|0); + $255 = ((($254)) + 444|0); $256 = HEAP32[$255>>2]|0; $257 = ($256|0)!=(0|0); if ($257) { @@ -129403,7 +130468,7 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { HEAP32[$vararg_buffer>>2] = $60; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($59,32143,$vararg_buffer); + _sqlite3ErrorMsg($59,31622,$vararg_buffer); } $62 = HEAP32[$0>>2]|0; $63 = ((($62)) + 17|0); @@ -129434,7 +130499,7 @@ function _sqlite3Attach($pParse,$p,$pDbname,$pKey) { $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$3>>2]|0; - _codeAttach($4,24,5288,$5,$6,$7,$8); + _codeAttach($4,24,4448,$5,$6,$7,$8); STACKTOP = sp;return; } function _sqlite3Detach($pParse,$pDbname) { @@ -129450,7 +130515,7 @@ function _sqlite3Detach($pParse,$pDbname) { $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$1>>2]|0; - _codeAttach($2,25,5260,$3,0,0,$4); + _codeAttach($2,25,4420,$3,0,0,$4); STACKTOP = sp;return; } function _sqlite3Reindex($pParse,$pName1,$pName2) { @@ -129605,7 +130670,7 @@ function _sqlite3Reindex($pParse,$pName1,$pName2) { _sqlite3RefillIndex($73,$74,-1); STACKTOP = sp;return; } else { - _sqlite3ErrorMsg($71,31603,$vararg_buffer); + _sqlite3ErrorMsg($71,31007,$vararg_buffer); STACKTOP = sp;return; } } @@ -129789,7 +130854,7 @@ function _sqlite3Analyze($pParse,$pName1,$pName2) { STACKTOP = sp;return; } $92 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($92,148)|0); + (_sqlite3VdbeAddOp0($92,150)|0); STACKTOP = sp;return; } function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { @@ -129922,7 +130987,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $65 = HEAP32[$pTab>>2]|0; $66 = HEAP32[$65>>2]|0; HEAP32[$vararg_buffer1>>2] = $66; - _sqlite3ErrorMsg($64,28941,$vararg_buffer1); + _sqlite3ErrorMsg($64,28337,$vararg_buffer1); break; } $67 = HEAP32[$zDb>>2]|0; @@ -129983,7 +131048,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $104 = ($103|0)!=(0|0); if ($104) { $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + 76|0); + $106 = ((($105)) + 44|0); $107 = HEAP32[$106>>2]|0; $108 = (($107) + 1)|0; HEAP32[$106>>2] = $108; @@ -129995,7 +131060,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $112 = HEAP32[$v>>2]|0; $113 = HEAP32[$i>>2]|0; $114 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($112,155,$113,0,0,$114,-10)|0); + (_sqlite3VdbeAddOp4($112,157,$113,0,0,$114,-10)|0); $115 = HEAP32[$0>>2]|0; _sqlite3MayAbort($115); } @@ -130021,7 +131086,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $130 = HEAP32[$zDb>>2]|0; $131 = HEAP32[$iDb>>2]|0; $132 = ($131|0)==(1); - $133 = $132 ? 20521 : 20540; + $133 = $132 ? 19905 : 19924; $134 = HEAP32[$zTabName>>2]|0; $135 = HEAP32[$zName>>2]|0; $136 = HEAP32[$zWhere>>2]|0; @@ -130034,7 +131099,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr9>>2] = $135; $vararg_ptr10 = ((($vararg_buffer4)) + 16|0); HEAP32[$vararg_ptr10>>2] = $136; - _sqlite3NestedParse($129,28968,$vararg_buffer4); + _sqlite3NestedParse($129,28364,$vararg_buffer4); $137 = HEAP32[$db>>2]|0; $138 = HEAP32[$zWhere>>2]|0; _sqlite3DbFree($137,$138); @@ -130044,7 +131109,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $140 = HEAP32[$zDb>>2]|0; $141 = HEAP32[$iDb>>2]|0; $142 = ($141|0)==(1); - $143 = $142 ? 20521 : 20540; + $143 = $142 ? 19905 : 19924; $144 = HEAP32[$zName>>2]|0; $145 = HEAP32[$zName>>2]|0; $146 = HEAP32[$zName>>2]|0; @@ -130069,10 +131134,10 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr20>>2] = $149; $vararg_ptr21 = ((($vararg_buffer11)) + 32|0); HEAP32[$vararg_ptr21>>2] = $150; - _sqlite3NestedParse($139,29037,$vararg_buffer11); + _sqlite3NestedParse($139,28433,$vararg_buffer11); $151 = HEAP32[$db>>2]|0; $152 = HEAP32[$zDb>>2]|0; - $153 = (_sqlite3FindTable($151,29421,$152)|0); + $153 = (_sqlite3FindTable($151,28817,$152)|0); $154 = ($153|0)!=(0|0); if ($154) { $155 = HEAP32[$0>>2]|0; @@ -130085,7 +131150,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr25>>2] = $157; $vararg_ptr26 = ((($vararg_buffer22)) + 8|0); HEAP32[$vararg_ptr26>>2] = $159; - _sqlite3NestedParse($155,29437,$vararg_buffer22); + _sqlite3NestedParse($155,28833,$vararg_buffer22); } $160 = HEAP32[$0>>2]|0; $161 = HEAP32[$pTab>>2]|0; @@ -130102,7 +131167,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr30>>2] = $166; $vararg_ptr31 = ((($vararg_buffer27)) + 8|0); HEAP32[$vararg_ptr31>>2] = $167; - _sqlite3NestedParse($164,29495,$vararg_buffer27); + _sqlite3NestedParse($164,28891,$vararg_buffer27); $168 = HEAP32[$db>>2]|0; $169 = HEAP32[$zWhere>>2]|0; _sqlite3DbFree($168,$169); @@ -130154,7 +131219,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $49 = HEAP32[$0>>2]|0; $50 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $50; - _sqlite3ErrorMsg($49,28882,$vararg_buffer); + _sqlite3ErrorMsg($49,28278,$vararg_buffer); } } } @@ -130178,32 +131243,34 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pCol = 0, $pDflt = 0, $pNew = 0, $pTab = 0, $pVal = 0, $rc = 0; - var $savedDbFlags = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $zCol = 0, $zDb = 0, $zEnd = 0, $zTab = 0, label = 0, sp = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pCol = 0, $pDflt = 0, $pNew = 0, $pTab = 0, $pVal = 0, $r1 = 0, $rc = 0, $savedDbFlags = 0, $v = 0, $vararg_buffer = 0; + var $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $zCol = 0, $zDb = 0, $zEnd = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; + STACKTOP = STACKTOP + 144|0; $vararg_buffer13 = sp + 40|0; $vararg_buffer11 = sp + 32|0; $vararg_buffer9 = sp + 24|0; $vararg_buffer7 = sp + 16|0; $vararg_buffer5 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 124|0; - $1 = sp + 120|0; - $pNew = sp + 116|0; - $pTab = sp + 112|0; - $iDb = sp + 108|0; - $zDb = sp + 104|0; - $zTab = sp + 100|0; - $zCol = sp + 96|0; - $pCol = sp + 92|0; - $pDflt = sp + 88|0; - $db = sp + 84|0; - $v = sp + 80|0; + $0 = sp + 128|0; + $1 = sp + 124|0; + $pNew = sp + 120|0; + $pTab = sp + 116|0; + $iDb = sp + 112|0; + $zDb = sp + 108|0; + $zTab = sp + 104|0; + $zCol = sp + 100|0; + $pCol = sp + 96|0; + $pDflt = sp + 92|0; + $db = sp + 88|0; + $v = sp + 84|0; + $r1 = sp + 80|0; $pVal = sp + 76|0; $rc = sp + 72|0; $zEnd = sp + 68|0; @@ -130218,7 +131285,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 68|0); + $8 = ((($7)) + 36|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0); if ($10) { @@ -130233,7 +131300,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { STACKTOP = sp;return; } $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 488|0); + $17 = ((($16)) + 440|0); $18 = HEAP32[$17>>2]|0; HEAP32[$pNew>>2] = $18; $19 = HEAP32[$db>>2]|0; @@ -130302,7 +131369,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $68 = ($67|0)!=(0); if ($68) { $69 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($69,28484,$vararg_buffer); + _sqlite3ErrorMsg($69,27880,$vararg_buffer); STACKTOP = sp;return; } $70 = HEAP32[$pNew>>2]|0; @@ -130311,7 +131378,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $73 = ($72|0)!=(0|0); if ($73) { $74 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($74,28516,$vararg_buffer5); + _sqlite3ErrorMsg($74,27912,$vararg_buffer5); STACKTOP = sp;return; } $75 = HEAP32[$db>>2]|0; @@ -130329,7 +131396,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $or$cond = $83 & $85; if ($or$cond) { $86 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($86,28543,$vararg_buffer7); + _sqlite3ErrorMsg($86,27939,$vararg_buffer7); STACKTOP = sp;return; } } @@ -130343,7 +131410,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $or$cond3 = $91 | $93; if (!($or$cond3)) { $94 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($94,28602,$vararg_buffer9); + _sqlite3ErrorMsg($94,27998,$vararg_buffer9); STACKTOP = sp;return; } $95 = HEAP32[$pDflt>>2]|0; @@ -130368,7 +131435,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { break; } $104 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($104,28655,$vararg_buffer11); + _sqlite3ErrorMsg($104,28051,$vararg_buffer11); STACKTOP = sp;return; } } while(0); @@ -130409,7 +131476,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $131 = HEAP32[$zEnd>>2]|0; $132 = HEAP8[$131>>0]|0; $133 = $132&255; - $134 = (19019 + ($133)|0); + $134 = (18403 + ($133)|0); $135 = HEAP8[$134>>0]|0; $136 = $135&255; $137 = $136 & 1; @@ -130432,7 +131499,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $146 = HEAP32[$zDb>>2]|0; $147 = HEAP32[$iDb>>2]|0; $148 = ($147|0)==(1); - $149 = $148 ? 20521 : 20540; + $149 = $148 ? 19905 : 19924; $150 = HEAP32[$pNew>>2]|0; $151 = ((($150)) + 44|0); $152 = HEAP32[$151>>2]|0; @@ -130453,7 +131520,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { HEAP32[$vararg_ptr18>>2] = $157; $vararg_ptr19 = ((($vararg_buffer13)) + 20|0); HEAP32[$vararg_ptr19>>2] = $158; - _sqlite3NestedParse($145,28701,$vararg_buffer13); + _sqlite3NestedParse($145,28097,$vararg_buffer13); $159 = HEAP32[$db>>2]|0; $160 = HEAP32[$zCol>>2]|0; _sqlite3DbFree($159,$160); @@ -130462,14 +131529,36 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $163 = ((($162)) + 24|0); HEAP32[$163>>2] = $161; } - $164 = HEAP32[$v>>2]|0; - $165 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($164,100,$165,2,4)|0); - $166 = HEAP32[$0>>2]|0; - $167 = HEAP32[$pTab>>2]|0; - $168 = HEAP32[$pTab>>2]|0; - $169 = HEAP32[$168>>2]|0; - _reloadTableSchema($166,$167,$169); + $164 = HEAP32[$0>>2]|0; + $165 = (_sqlite3GetTempReg($164)|0); + HEAP32[$r1>>2] = $165; + $166 = HEAP32[$v>>2]|0; + $167 = HEAP32[$iDb>>2]|0; + $168 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp3($166,101,$167,$168,2)|0); + $169 = HEAP32[$v>>2]|0; + $170 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($169,$170); + $171 = HEAP32[$v>>2]|0; + $172 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp2($171,91,$172,-2)|0); + $173 = HEAP32[$v>>2]|0; + $174 = HEAP32[$r1>>2]|0; + $175 = HEAP32[$v>>2]|0; + $176 = (_sqlite3VdbeCurrentAddr($175)|0); + $177 = (($176) + 2)|0; + (_sqlite3VdbeAddOp2($173,66,$174,$177)|0); + $178 = HEAP32[$v>>2]|0; + $179 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp3($178,102,$179,2,3)|0); + $180 = HEAP32[$0>>2]|0; + $181 = HEAP32[$r1>>2]|0; + _sqlite3ReleaseTempReg($180,$181); + $182 = HEAP32[$0>>2]|0; + $183 = HEAP32[$pTab>>2]|0; + $184 = HEAP32[$pTab>>2]|0; + $185 = HEAP32[$184>>2]|0; + _reloadTableSchema($182,$183,$185); STACKTOP = sp;return; } function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { @@ -130525,7 +131614,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $19 = ($18|0)!=(0); if ($19) { $20 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($20,28295,$vararg_buffer); + _sqlite3ErrorMsg($20,27691,$vararg_buffer); break; } $21 = HEAP32[$pTab>>2]|0; @@ -130534,7 +131623,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $24 = ($23|0)!=(0|0); $25 = HEAP32[$0>>2]|0; if ($24) { - _sqlite3ErrorMsg($25,28329,$vararg_buffer1); + _sqlite3ErrorMsg($25,27725,$vararg_buffer1); break; } $26 = HEAP32[$pTab>>2]|0; @@ -130556,7 +131645,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { if ($38) { $39 = HEAP32[$pNew>>2]|0; $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 488|0); + $41 = ((($40)) + 440|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pNew>>2]|0; $43 = ((($42)) + 36|0); @@ -130587,7 +131676,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $64 = HEAP32[$pTab>>2]|0; $65 = HEAP32[$64>>2]|0; HEAP32[$vararg_buffer3>>2] = $65; - $66 = (_sqlite3MPrintf($63,28359,$vararg_buffer3)|0); + $66 = (_sqlite3MPrintf($63,27755,$vararg_buffer3)|0); $67 = HEAP32[$pNew>>2]|0; HEAP32[$67>>2] = $66; $68 = HEAP32[$pNew>>2]|0; @@ -130718,7 +131807,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pEnd; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 488|0); + $3 = ((($2)) + 440|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pTab>>2] = $4; $5 = HEAP32[$0>>2]|0; @@ -130732,7 +131821,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $9 = HEAP32[$0>>2]|0; _addArgumentToVtab($9); $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 516|0); + $11 = ((($10)) + 452|0); HEAP32[$11>>2] = 0; $12 = HEAP32[$pTab>>2]|0; $13 = ((($12)) + 48|0); @@ -130742,7 +131831,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { STACKTOP = sp;return; } $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 144|0); + $17 = ((($16)) + 148|0); $18 = ((($17)) + 5|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)!=(0); @@ -130753,7 +131842,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 500|0); + $26 = ((($25)) + 384|0); $27 = HEAP32[$26>>2]|0; $28 = $24; $29 = $27; @@ -130763,15 +131852,15 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $33 = HEAP32[$32>>2]|0; $34 = (($30) + ($33))|0; $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 500|0); + $36 = ((($35)) + 384|0); $37 = ((($36)) + 4|0); HEAP32[$37>>2] = $34; } $38 = HEAP32[$db>>2]|0; $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 500|0); + $40 = ((($39)) + 384|0); HEAP32[$vararg_buffer>>2] = $40; - $41 = (_sqlite3MPrintf($38,28156,$vararg_buffer)|0); + $41 = (_sqlite3MPrintf($38,27552,$vararg_buffer)|0); HEAP32[$zStmt>>2] = $41; $42 = HEAP32[$db>>2]|0; $43 = HEAP32[$pTab>>2]|0; @@ -130788,14 +131877,14 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 20521 : 20540; + $56 = $55 ? 19905 : 19924; $57 = HEAP32[$pTab>>2]|0; $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$pTab>>2]|0; $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$zStmt>>2]|0; $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 392|0); + $63 = ((($62)) + 100|0); $64 = HEAP32[$63>>2]|0; HEAP32[$vararg_buffer1>>2] = $53; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); @@ -130808,7 +131897,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { HEAP32[$vararg_ptr7>>2] = $61; $vararg_ptr8 = ((($vararg_buffer1)) + 20|0); HEAP32[$vararg_ptr8>>2] = $64; - _sqlite3NestedParse($47,28180,$vararg_buffer1); + _sqlite3NestedParse($47,27576,$vararg_buffer1); $65 = HEAP32[$db>>2]|0; $66 = HEAP32[$zStmt>>2]|0; _sqlite3DbFree($65,$66); @@ -130819,19 +131908,19 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $70 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($69,$70); $71 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($71,148,0,0)|0); + (_sqlite3VdbeAddOp0($71,150)|0); $72 = HEAP32[$db>>2]|0; $73 = HEAP32[$pTab>>2]|0; $74 = HEAP32[$73>>2]|0; HEAP32[$vararg_buffer9>>2] = $74; - $75 = (_sqlite3MPrintf($72,28268,$vararg_buffer9)|0); + $75 = (_sqlite3MPrintf($72,27664,$vararg_buffer9)|0); HEAP32[$zWhere>>2] = $75; $76 = HEAP32[$v>>2]|0; $77 = HEAP32[$iDb>>2]|0; $78 = HEAP32[$zWhere>>2]|0; _sqlite3VdbeAddParseSchemaOp($76,$77,$78); $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 76|0); + $80 = ((($79)) + 44|0); $81 = HEAP32[$80>>2]|0; $82 = (($81) + 1)|0; HEAP32[$80>>2] = $82; @@ -130844,7 +131933,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $87 = HEAP32[$v>>2]|0; $88 = HEAP32[$iDb>>2]|0; $89 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($87,151,$88,$89)|0); + (_sqlite3VdbeAddOp2($87,153,$88,$89)|0); STACKTOP = sp;return; } $90 = HEAP32[$pTab>>2]|0; @@ -130868,7 +131957,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { STACKTOP = sp;return; } else { $103 = HEAP32[$0>>2]|0; - $104 = ((($103)) + 488|0); + $104 = ((($103)) + 440|0); HEAP32[$104>>2] = 0; STACKTOP = sp;return; } @@ -130904,7 +131993,7 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist $8 = HEAP32[$4>>2]|0; _sqlite3StartTable($5,$6,$7,0,0,1,$8); $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 488|0); + $10 = ((($9)) + 440|0); $11 = HEAP32[$10>>2]|0; HEAP32[$pTable>>2] = $11; $12 = HEAP32[$pTable>>2]|0; @@ -130954,13 +132043,13 @@ function _sqlite3VtabBeginParse($pParse,$pName1,$pName2,$pModuleName,$ifNotExist $46 = HEAP32[$45>>2]|0; $47 = (($46) + ($44)|0); $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 500|0); + $49 = ((($48)) + 384|0); $50 = HEAP32[$49>>2]|0; $51 = $47; $52 = $50; $53 = (($51) - ($52))|0; $54 = HEAP32[$0>>2]|0; - $55 = ((($54)) + 500|0); + $55 = ((($54)) + 384|0); $56 = ((($55)) + 4|0); HEAP32[$56>>2] = $53; $57 = HEAP32[$pTable>>2]|0; @@ -130997,10 +132086,10 @@ function _sqlite3VtabArgInit($pParse) { $1 = HEAP32[$0>>2]|0; _addArgumentToVtab($1); $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 516|0); + $3 = ((($2)) + 452|0); HEAP32[$3>>2] = 0; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 516|0); + $5 = ((($4)) + 452|0); $6 = ((($5)) + 4|0); HEAP32[$6>>2] = 0; STACKTOP = sp;return; @@ -131018,7 +132107,7 @@ function _sqlite3VtabArgExtend($pParse,$p) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 516|0); + $3 = ((($2)) + 452|0); HEAP32[$pArg>>2] = $3; $4 = HEAP32[$pArg>>2]|0; $5 = HEAP32[$4>>2]|0; @@ -131117,7 +132206,7 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($27,28088,$vararg_buffer); + _sqlite3ErrorMsg($27,27484,$vararg_buffer); } $29 = HEAP32[$i>>2]|0; $30 = (($29) + 1)|0; @@ -131215,7 +132304,7 @@ function _yy_find_reduce_action($stateno,$iLookAhead) { HEAP32[$0>>2] = $stateno; HEAP8[$1>>0] = $iLookAhead; $2 = HEAP32[$0>>2]|0; - $3 = (11638 + ($2<<1)|0); + $3 = (10806 + ($2<<1)|0); $4 = HEAP16[$3>>1]|0; $5 = $4 << 16 >> 16; HEAP32[$i>>2] = $5; @@ -131225,14 +132314,14 @@ function _yy_find_reduce_action($stateno,$iLookAhead) { $9 = (($8) + ($7))|0; HEAP32[$i>>2] = $9; $10 = HEAP32[$i>>2]|0; - $11 = (12268 + ($10<<1)|0); + $11 = (11456 + ($10<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; STACKTOP = sp;return ($13|0); } function _yy_accept($yypParser) { $yypParser = $yypParser|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParse = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $pParse = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -131242,20 +132331,10 @@ function _yy_accept($yypParser) { $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pParse>>2] = $3; - while(1) { - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>=(0); - if (!($6)) { - break; - } - $7 = HEAP32[$0>>2]|0; - _yy_pop_parser_stack($7); - } - $8 = HEAP32[$pParse>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 4|0); - HEAP32[$10>>2] = $8; + $4 = HEAP32[$pParse>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $4; STACKTOP = sp;return; } function _sqlite3NameFromToken($db,$pName) { @@ -131715,7 +132794,7 @@ function _sqlite3Dequote($z) { HEAP8[$quote>>0] = $4; $5 = HEAP8[$quote>>0]|0; $6 = $5&255; - $7 = (19019 + ($6)|0); + $7 = (18403 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = $9 & 128; @@ -131796,25 +132875,25 @@ function _addArgumentToVtab($pParse) { $db = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 516|0); + $2 = ((($1)) + 452|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 488|0); + $6 = ((($5)) + 440|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); if (!($8)) { STACKTOP = sp;return; } $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 516|0); + $10 = ((($9)) + 452|0); $11 = HEAP32[$10>>2]|0; HEAP32[$z>>2] = $11; $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 516|0); + $13 = ((($12)) + 452|0); $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; HEAP32[$n>>2] = $15; @@ -131823,7 +132902,7 @@ function _addArgumentToVtab($pParse) { HEAP32[$db>>2] = $17; $18 = HEAP32[$db>>2]|0; $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 488|0); + $20 = ((($19)) + 440|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$z>>2]|0; @@ -131926,14 +133005,14 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 144|0); + $9 = ((($8)) + 148|0); $10 = ((($9)) + 5|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)!=(0); if (!($13)) { $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 454|0); + $15 = ((($14)) + 410|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = ($17|0)!=(0); @@ -131958,7 +133037,7 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { $31 = HEAP32[$4>>2]|0; $32 = HEAP32[$5>>2]|0; $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 496|0); + $34 = ((($33)) + 448|0); $35 = HEAP32[$34>>2]|0; $36 = (FUNCTION_TABLE_iiiiiii[$25 & 255]($28,$29,$30,$31,$32,$35)|0); HEAP32[$rc>>2] = $36; @@ -131966,7 +133045,7 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { $38 = ($37|0)==(1); if ($38) { $39 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($39,28118,$vararg_buffer); + _sqlite3ErrorMsg($39,27514,$vararg_buffer); $40 = HEAP32[$1>>2]|0; $41 = ((($40)) + 12|0); HEAP32[$41>>2] = 23; @@ -132001,7 +133080,7 @@ function _sqliteAuthBadReturnCode($pParse) { $0 = sp + 4|0; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($1,28133,$vararg_buffer); + _sqlite3ErrorMsg($1,27529,$vararg_buffer); $2 = HEAP32[$0>>2]|0; $3 = ((($2)) + 12|0); HEAP32[$3>>2] = 1; @@ -132015,7 +133094,7 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $db = 0, $saveBuf = 0, $zErrMsg = 0, $zSql = 0, dest = 0, label = 0; var sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; + STACKTOP = STACKTOP + 128|0; $0 = sp + 36|0; $1 = sp + 32|0; $ap = sp + 16|0; @@ -132030,7 +133109,7 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 68|0); + $5 = ((($4)) + 36|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0); if ($7) { @@ -132052,11 +133131,11 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { $16 = (($15) + 1)<<24>>24; HEAP8[$14>>0] = $16; $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 444|0); - dest=$saveBuf; src=$18; stop=dest+100|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $18 = ((($17)) + 400|0); + dest=$saveBuf; src=$18; stop=dest+80|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 444|0); - dest=$20; stop=dest+100|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); + $20 = ((($19)) + 400|0); + dest=$20; stop=dest+80|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); $21 = HEAP32[$0>>2]|0; $22 = HEAP32[$zSql>>2]|0; (_sqlite3RunParser($21,$22,$zErrMsg)|0); @@ -132067,8 +133146,8 @@ function _sqlite3NestedParse($pParse,$zFormat,$varargs) { $26 = HEAP32[$zSql>>2]|0; _sqlite3DbFree($25,$26); $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 444|0); - dest=$28; src=$saveBuf; stop=dest+100|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $28 = ((($27)) + 400|0); + dest=$28; src=$saveBuf; stop=dest+80|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $29 = HEAP32[$0>>2]|0; $30 = ((($29)) + 18|0); $31 = HEAP8[$30>>0]|0; @@ -132133,31 +133212,23 @@ function _sqlite3ChangeCookie($pParse,$iDb) { $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = (($16) + 1)|0; - (_sqlite3VdbeAddOp3($7,100,$8,1,$17)|0); + (_sqlite3VdbeAddOp3($7,102,$8,1,$17)|0); STACKTOP = sp;return; } -function _sqlite3VdbeAddOp2($p,$op,$p1,$p2) { +function _sqlite3VdbeAddOp0($p,$op) { $p = $p|0; $op = $op|0; - $p1 = $p1|0; - $p2 = $p2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; + $0 = sp + 4|0; + $1 = sp; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $p1; - HEAP32[$3>>2] = $p2; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_sqlite3VdbeAddOp3($4,$5,$6,$7,0)|0); - STACKTOP = sp;return ($8|0); + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3VdbeAddOp3($2,$3,0,0,0)|0); + STACKTOP = sp;return ($4|0); } function _sqlite3VdbeAddParseSchemaOp($p,$iDb,$zWhere) { $p = $p|0; @@ -132176,7 +133247,7 @@ function _sqlite3VdbeAddParseSchemaOp($p,$iDb,$zWhere) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($3,134,$4,0,0,$5,-1)|0); + (_sqlite3VdbeAddOp4($3,136,$4,0,0,$5,-1)|0); HEAP32[$j>>2] = 0; while(1) { $6 = HEAP32[$j>>2]|0; @@ -132216,47 +133287,28 @@ function _sqlite3VdbeLoadString($p,$iDest,$zStr) { $6 = (_sqlite3VdbeAddOp4($3,97,0,$4,0,$5,0)|0); STACKTOP = sp;return ($6|0); } -function _sqlite3VdbeAddOp4($p,$op,$p1,$p2,$p3,$zP4,$p4type) { +function _sqlite3VdbeAddOp2($p,$op,$p1,$p2) { $p = $p|0; $op = $op|0; $p1 = $p1|0; $p2 = $p2|0; - $p3 = $p3|0; - $zP4 = $zP4|0; - $p4type = $p4type|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr = 0, label = 0; - var sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $5 = sp + 8|0; - $6 = sp + 4|0; - $addr = sp; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $op; HEAP32[$2>>2] = $p1; HEAP32[$3>>2] = $p2; - HEAP32[$4>>2] = $p3; - HEAP32[$5>>2] = $zP4; - HEAP32[$6>>2] = $p4type; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[$4>>2]|0; - $12 = (_sqlite3VdbeAddOp3($7,$8,$9,$10,$11)|0); - HEAP32[$addr>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$addr>>2]|0; - $15 = HEAP32[$5>>2]|0; - $16 = HEAP32[$6>>2]|0; - _sqlite3VdbeChangeP4($13,$14,$15,$16); - $17 = HEAP32[$addr>>2]|0; - STACKTOP = sp;return ($17|0); + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = (_sqlite3VdbeAddOp3($4,$5,$6,$7,0)|0); + STACKTOP = sp;return ($8|0); } function _sqlite3VdbeAddOp3($p,$op,$p1,$p2,$p3) { $p = $p|0; @@ -132283,13 +133335,13 @@ function _sqlite3VdbeAddOp3($p,$op,$p1,$p2,$p3) { HEAP32[$4>>2] = $p2; HEAP32[$5>>2] = $p3; $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 32|0); + $7 = ((($6)) + 136|0); $8 = HEAP32[$7>>2]|0; HEAP32[$i>>2] = $8; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 24|0); + $10 = ((($9)) + 12|0); $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 88|0); + $12 = ((($11)) + 48|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$i>>2]|0; $15 = ($13|0)<=($14|0); @@ -132304,13 +133356,13 @@ function _sqlite3VdbeAddOp3($p,$op,$p1,$p2,$p3) { $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); } else { - $22 = ((($16)) + 32|0); + $22 = ((($16)) + 136|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + 1)|0; HEAP32[$22>>2] = $24; $25 = HEAP32[$i>>2]|0; $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 4|0); + $27 = ((($26)) + 88|0); $28 = HEAP32[$27>>2]|0; $29 = (($28) + (($25*20)|0)|0); HEAP32[$pOp>>2] = $29; @@ -132402,16 +133454,16 @@ function _growOpArray($v,$nOp) { HEAP32[$0>>2] = $v; HEAP32[$1>>2] = $nOp; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 24|0); + $3 = ((($2)) + 12|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 88|0); + $6 = ((($5)) + 48|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0); if ($8) { $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 88|0); + $10 = ((($9)) + 48|0); $11 = HEAP32[$10>>2]|0; $12 = $11<<1; $13 = $12; @@ -132422,7 +133474,7 @@ function _growOpArray($v,$nOp) { $14 = HEAP32[$p>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 4|0); + $17 = ((($16)) + 88|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$nNew>>2]|0; $20 = ($19*20)|0; @@ -132441,24 +133493,66 @@ function _growOpArray($v,$nOp) { $26 = HEAP32[$pNew>>2]|0; $27 = (_sqlite3DbMallocSize($25,$26)|0); $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 92|0); + $29 = ((($28)) + 52|0); HEAP32[$29>>2] = $27; $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 92|0); + $31 = ((($30)) + 52|0); $32 = HEAP32[$31>>2]|0; $33 = (($32>>>0) / 20)&-1; $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 88|0); + $35 = ((($34)) + 48|0); HEAP32[$35>>2] = $33; $36 = HEAP32[$pNew>>2]|0; $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 4|0); + $38 = ((($37)) + 88|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$pNew>>2]|0; $40 = ($39|0)!=(0|0); $41 = $40 ? 0 : 7; STACKTOP = sp;return ($41|0); } +function _sqlite3VdbeAddOp4($p,$op,$p1,$p2,$p3,$zP4,$p4type) { + $p = $p|0; + $op = $op|0; + $p1 = $p1|0; + $p2 = $p2|0; + $p3 = $p3|0; + $zP4 = $zP4|0; + $p4type = $p4type|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $5 = sp + 8|0; + $6 = sp + 4|0; + $addr = sp; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $p1; + HEAP32[$3>>2] = $p2; + HEAP32[$4>>2] = $p3; + HEAP32[$5>>2] = $zP4; + HEAP32[$6>>2] = $p4type; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$3>>2]|0; + $11 = HEAP32[$4>>2]|0; + $12 = (_sqlite3VdbeAddOp3($7,$8,$9,$10,$11)|0); + HEAP32[$addr>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$addr>>2]|0; + $15 = HEAP32[$5>>2]|0; + $16 = HEAP32[$6>>2]|0; + _sqlite3VdbeChangeP4($13,$14,$15,$16); + $17 = HEAP32[$addr>>2]|0; + STACKTOP = sp;return ($17|0); +} function _allocVdbe($pParse) { $pParse = $pParse|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; @@ -132478,10 +133572,10 @@ function _allocVdbe($pParse) { $6 = ($5|0)!=(0|0); if ($6) { $7 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($7,69)|0); + (_sqlite3VdbeAddOp2($7,71,0,1)|0); } $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 416|0); + $9 = ((($8)) + 124|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if (!($11)) { @@ -132505,21 +133599,6 @@ function _allocVdbe($pParse) { $21 = HEAP32[$v>>2]|0; STACKTOP = sp;return ($21|0); } -function _sqlite3VdbeAddOp0($p,$op) { - $p = $p|0; - $op = $op|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $op; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3VdbeAddOp3($2,$3,0,0,0)|0); - STACKTOP = sp;return ($4|0); -} function _sqlite3VMPrintf($db,$zFormat,$ap) { $db = $db|0; $zFormat = $zFormat|0; @@ -132539,7 +133618,7 @@ function _sqlite3VMPrintf($db,$zFormat,$ap) { HEAP32[$2>>2] = $ap; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 92|0); + $5 = ((($4)) + 96|0); $6 = HEAP32[$5>>2]|0; _sqlite3StrAccumInit($acc,$3,$zBase,70,$6); $7 = ((($acc)) + 25|0); @@ -132562,9 +133641,9 @@ function _sqlite3VMPrintf($db,$zFormat,$ap) { $16 = HEAP32[$z>>2]|0; STACKTOP = sp;return ($16|0); } -function _sqlite3LocateTableItem($pParse,$isView,$p) { +function _sqlite3LocateTableItem($pParse,$flags,$p) { $pParse = $pParse|0; - $isView = $isView|0; + $flags = $flags|0; $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iDb = 0, $zDb = 0, label = 0, sp = 0; @@ -132576,7 +133655,7 @@ function _sqlite3LocateTableItem($pParse,$isView,$p) { $zDb = sp + 4|0; $iDb = sp; HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $isView; + HEAP32[$1>>2] = $flags; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; @@ -132628,13 +133707,13 @@ function _isSystemTable($pParse,$zName) { $5 = ($4|0)>(6); if ($5) { $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3_strnicmp($6,28448,7)|0); + $7 = (_sqlite3_strnicmp($6,27844,7)|0); $8 = (0)==($7|0); if ($8) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $10; - _sqlite3ErrorMsg($9,28456,$vararg_buffer); + _sqlite3ErrorMsg($9,27852,$vararg_buffer); HEAP32[$0>>2] = 1; $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); @@ -132660,12 +133739,12 @@ function _sqlite3BeginWriteOperation($pParse,$setStatement,$iDb) { HEAP32[$1>>2] = $setStatement; HEAP32[$2>>2] = $iDb; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 416|0); + $4 = ((($3)) + 124|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); $7 = HEAP32[$0>>2]|0; if ($6) { - $8 = ((($7)) + 416|0); + $8 = ((($7)) + 124|0); $9 = HEAP32[$8>>2]|0; $10 = $9; } else { @@ -132678,7 +133757,7 @@ function _sqlite3BeginWriteOperation($pParse,$setStatement,$iDb) { $13 = HEAP32[$2>>2]|0; $14 = 1 << $13; $15 = HEAP32[$pToplevel>>2]|0; - $16 = ((($15)) + 336|0); + $16 = ((($15)) + 92|0); $17 = HEAP32[$16>>2]|0; $18 = $17 | $14; HEAP32[$16>>2] = $18; @@ -132696,23 +133775,21 @@ function _sqlite3CodeVerifySchema($pParse,$iDb) { $pParse = $pParse|0; $iDb = $iDb|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $db = 0, $pToplevel = 0, label = 0, sp = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pToplevel = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pToplevel = sp + 4|0; - $db = sp; + $0 = sp + 8|0; + $1 = sp + 4|0; + $pToplevel = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iDb; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 416|0); + $3 = ((($2)) + 124|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); $6 = HEAP32[$0>>2]|0; if ($5) { - $7 = ((($6)) + 416|0); + $7 = ((($6)) + 124|0); $8 = HEAP32[$7>>2]|0; $9 = $8; } else { @@ -132720,47 +133797,31 @@ function _sqlite3CodeVerifySchema($pParse,$iDb) { } HEAP32[$pToplevel>>2] = $9; $10 = HEAP32[$pToplevel>>2]|0; - $11 = HEAP32[$10>>2]|0; - HEAP32[$db>>2] = $11; - $12 = HEAP32[$pToplevel>>2]|0; - $13 = ((($12)) + 340|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$1>>2]|0; - $16 = 1 << $15; - $17 = $14 & $16; - $18 = ($17|0)!=(0); - $19 = $18&1; - $20 = ($19|0)==(0); - if (!($20)) { + $11 = ((($10)) + 96|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = 1 << $13; + $15 = $12 & $14; + $16 = ($15|0)!=(0); + $17 = $16&1; + $18 = ($17|0)==(0); + if (!($18)) { STACKTOP = sp;return; } - $21 = HEAP32[$1>>2]|0; - $22 = 1 << $21; - $23 = HEAP32[$pToplevel>>2]|0; - $24 = ((($23)) + 340|0); - $25 = HEAP32[$24>>2]|0; - $26 = $25 | $22; - HEAP32[$24>>2] = $26; - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$db>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + ($27<<4)|0); - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$pToplevel>>2]|0; - $37 = ((($36)) + 344|0); - $38 = (($37) + ($35<<2)|0); - HEAP32[$38>>2] = $34; - $39 = HEAP32[$1>>2]|0; - $40 = ($39|0)==(1); - if (!($40)) { + $19 = HEAP32[$1>>2]|0; + $20 = 1 << $19; + $21 = HEAP32[$pToplevel>>2]|0; + $22 = ((($21)) + 96|0); + $23 = HEAP32[$22>>2]|0; + $24 = $23 | $20; + HEAP32[$22>>2] = $24; + $25 = HEAP32[$1>>2]|0; + $26 = ($25|0)==(1); + if (!($26)) { STACKTOP = sp;return; } - $41 = HEAP32[$pToplevel>>2]|0; - (_sqlite3OpenTempDatabase($41)|0); + $27 = HEAP32[$pToplevel>>2]|0; + (_sqlite3OpenTempDatabase($27)|0); STACKTOP = sp;return; } function _sqlite3OpenTempDatabase($pParse) { @@ -132789,7 +133850,7 @@ function _sqlite3OpenTempDatabase($pParse) { $10 = ($9|0)==(0|0); if ($10) { $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 453|0); + $12 = ((($11)) + 409|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)!=(0); if (!($14)) { @@ -132802,7 +133863,7 @@ function _sqlite3OpenTempDatabase($pParse) { $20 = ($19|0)!=(0); if ($20) { $21 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($21,28378,$vararg_buffer); + _sqlite3ErrorMsg($21,27774,$vararg_buffer); $22 = HEAP32[$rc>>2]|0; $23 = HEAP32[$1>>2]|0; $24 = ((($23)) + 12|0); @@ -132820,7 +133881,7 @@ function _sqlite3OpenTempDatabase($pParse) { HEAP32[$30>>2] = $25; $31 = HEAP32[$pBt>>2]|0; $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 76|0); + $33 = ((($32)) + 80|0); $34 = HEAP32[$33>>2]|0; $35 = (_sqlite3BtreeSetPageSize($31,$34,-1,0)|0); $36 = (7)==($35|0); @@ -132843,7 +133904,7 @@ function _sqlite3ValueFromExpr($db,$pExpr,$enc,$affinity,$ppVal) { $enc = $enc|0; $affinity = $affinity|0; $ppVal = $ppVal|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -132856,13 +133917,150 @@ function _sqlite3ValueFromExpr($db,$pExpr,$enc,$affinity,$ppVal) { HEAP8[$2>>0] = $enc; HEAP8[$3>>0] = $affinity; HEAP32[$4>>2] = $ppVal; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$2>>0]|0; - $8 = HEAP8[$3>>0]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_valueFromExpr($5,$6,$7,$8,$9,0)|0); - STACKTOP = sp;return ($10|0); + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { + $13 = 0; + STACKTOP = sp;return ($13|0); + } + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP8[$2>>0]|0; + $10 = HEAP8[$3>>0]|0; + $11 = HEAP32[$4>>2]|0; + $12 = (_valueFromExpr($7,$8,$9,$10,$11,0)|0); + $13 = $12; + STACKTOP = sp;return ($13|0); +} +function _sqlite3GetTempReg($pParse) { + $pParse = $pParse|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$1>>2] = $pParse; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 19|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(0); + $7 = HEAP32[$1>>2]|0; + if ($6) { + $8 = ((($7)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + 1)|0; + HEAP32[$8>>2] = $10; + HEAP32[$0>>2] = $10; + $19 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($19|0); + } else { + $11 = ((($7)) + 19|0); + $12 = HEAP8[$11>>0]|0; + $13 = (($12) + -1)<<24>>24; + HEAP8[$11>>0] = $13; + $14 = $13&255; + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 352|0); + $17 = (($16) + ($14<<2)|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$0>>2] = $18; + $19 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($19|0); + } + return (0)|0; +} +function _sqlite3VdbeCurrentAddr($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 136|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _sqlite3ReleaseTempReg($pParse,$iReg) { + $pParse = $pParse|0; + $iReg = $iReg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $i = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $iReg; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)!=(0); + if (!($3)) { + STACKTOP = sp;return; + } + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 19|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($7|0)<(8); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 152|0); + HEAP32[$p>>2] = $10; + while(1) { + $11 = HEAP32[$i>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 25|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($11|0)<($15|0); + if (!($16)) { + label = 8; + break; + } + $17 = HEAP32[$p>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$1>>2]|0; + $21 = ($19|0)==($20|0); + if ($21) { + label = 6; + break; + } + $24 = HEAP32[$i>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$i>>2] = $25; + $26 = HEAP32[$p>>2]|0; + $27 = ((($26)) + 20|0); + HEAP32[$p>>2] = $27; + } + if ((label|0) == 6) { + $22 = HEAP32[$p>>2]|0; + $23 = ((($22)) + 6|0); + HEAP8[$23>>0] = 1; + STACKTOP = sp;return; + } + else if ((label|0) == 8) { + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 19|0); + $31 = HEAP8[$30>>0]|0; + $32 = (($31) + 1)<<24>>24; + HEAP8[$30>>0] = $32; + $33 = $31&255; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 352|0); + $36 = (($35) + ($33<<2)|0); + HEAP32[$36>>2] = $28; + STACKTOP = sp;return; + } } function _reloadTableSchema($pParse,$pTab,$zName) { $pParse = $pParse|0; @@ -132921,7 +134119,7 @@ function _reloadTableSchema($pParse,$pTab,$zName) { $25 = HEAP32[$iTrigDb>>2]|0; $26 = HEAP32[$pTrig>>2]|0; $27 = HEAP32[$26>>2]|0; - (_sqlite3VdbeAddOp4($24,138,$25,0,0,$27,0)|0); + (_sqlite3VdbeAddOp4($24,140,$25,0,0,$27,0)|0); $28 = HEAP32[$pTrig>>2]|0; $29 = ((($28)) + 32|0); $30 = HEAP32[$29>>2]|0; @@ -132931,12 +134129,12 @@ function _reloadTableSchema($pParse,$pTab,$zName) { $32 = HEAP32[$iDb>>2]|0; $33 = HEAP32[$1>>2]|0; $34 = HEAP32[$33>>2]|0; - (_sqlite3VdbeAddOp4($31,136,$32,0,0,$34,0)|0); + (_sqlite3VdbeAddOp4($31,138,$32,0,0,$34,0)|0); $35 = HEAP32[$0>>2]|0; $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3MPrintf($36,28810,$vararg_buffer)|0); + $38 = (_sqlite3MPrintf($36,28206,$vararg_buffer)|0); HEAP32[$zWhere>>2] = $38; $39 = HEAP32[$zWhere>>2]|0; $40 = ($39|0)!=(0|0); @@ -132988,7 +134186,7 @@ function _sqlite3TriggerList($pParse,$pTab) { HEAP32[$pTmpSchema>>2] = $9; HEAP32[$pList>>2] = 0; $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 442|0); + $11 = ((($10)) + 150|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); if ($13) { @@ -133150,7 +134348,7 @@ function _whereTempTriggers($pParse,$pTab) { $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$zWhere>>2]|0; HEAP32[$vararg_buffer>>2] = $38; - $39 = (_sqlite3MPrintf($37,28822,$vararg_buffer)|0); + $39 = (_sqlite3MPrintf($37,28218,$vararg_buffer)|0); HEAP32[$zNew>>2] = $39; $40 = HEAP32[$0>>2]|0; $41 = HEAP32[$40>>2]|0; @@ -133186,7 +134384,7 @@ function _whereOrName($db,$zWhere,$zConstant) { HEAP32[$vararg_buffer1>>2] = $8; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; - $10 = (_sqlite3MPrintf($5,28854,$vararg_buffer1)|0); + $10 = (_sqlite3MPrintf($5,28250,$vararg_buffer1)|0); HEAP32[$zNew>>2] = $10; $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$1>>2]|0; @@ -133196,7 +134394,7 @@ function _whereOrName($db,$zWhere,$zConstant) { } else { $6 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $6; - $7 = (_sqlite3MPrintf($5,28846,$vararg_buffer)|0); + $7 = (_sqlite3MPrintf($5,28242,$vararg_buffer)|0); HEAP32[$zNew>>2] = $7; $13 = HEAP32[$zNew>>2]|0; STACKTOP = sp;return ($13|0); @@ -133213,16 +134411,16 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $152 = 0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aff = 0, $nVal = 0, $negInt = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVal = 0; - var $rc = 0, $vararg_buffer = 0, $vararg_ptr8 = 0, $zNeg = 0, $zVal = 0, label = 0, sp = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aff = 0, $nVal = 0, $negInt = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVal = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr8 = 0; + var $zNeg = 0, $zVal = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer = sp; @@ -133250,380 +134448,371 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { HEAP32[$zVal>>2] = 0; HEAP32[$pVal>>2] = 0; HEAP32[$negInt>>2] = 1; - HEAP32[$zNeg>>2] = 19018; + HEAP32[$zNeg>>2] = 18402; HEAP32[$rc>>2] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - $9 = HEAP32[$5>>2]|0; - HEAP32[$9>>2] = 0; - HEAP32[$0>>2] = 0; - $230 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($230|0); - } while(1) { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - HEAP32[$op>>2] = $12; - $13 = ($12|0)==(156); - $14 = HEAP32[$op>>2]|0; - $15 = ($14|0)==(159); - $16 = $13 ? 1 : $15; - if (!($16)) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + HEAP32[$op>>2] = $9; + $10 = ($9|0)==(156); + $11 = HEAP32[$op>>2]|0; + $12 = ($11|0)==(161); + $13 = $10 ? 1 : $12; + if (!($13)) { break; } - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$2>>2] = $19; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$2>>2] = $16; } - $20 = HEAP32[$op>>2]|0; - $21 = ($20|0)==(157); - if ($21) { - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 38|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - HEAP32[$op>>2] = $25; + $17 = HEAP32[$op>>2]|0; + $18 = ($17|0)==(157); + if ($18) { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 38|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + HEAP32[$op>>2] = $22; } - $26 = HEAP32[$op>>2]|0; - $27 = ($26|0)==(66); - if ($27) { - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3AffinityType($30,0)|0); - HEAP8[$aff>>0] = $31; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP8[$3>>0]|0; - $37 = HEAP8[$aff>>0]|0; + $23 = HEAP32[$op>>2]|0; + $24 = ($23|0)==(66); + if ($24) { + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_sqlite3AffinityType($27,0)|0); + HEAP8[$aff>>0] = $28; + $29 = HEAP32[$1>>2]|0; + $30 = HEAP32[$2>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP8[$3>>0]|0; + $34 = HEAP8[$aff>>0]|0; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$6>>2]|0; + $37 = (_valueFromExpr($29,$32,$33,$34,$35,$36)|0); + HEAP32[$rc>>2] = $37; $38 = HEAP32[$5>>2]|0; - $39 = HEAP32[$6>>2]|0; - $40 = (_valueFromExpr($32,$35,$36,$37,$38,$39)|0); - HEAP32[$rc>>2] = $40; - $41 = HEAP32[$5>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)!=(0|0); + if ($40) { + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP8[$aff>>0]|0; + _sqlite3VdbeMemCast($42,$43,1); $44 = HEAP32[$5>>2]|0; $45 = HEAP32[$44>>2]|0; - $46 = HEAP8[$aff>>0]|0; - _sqlite3VdbeMemCast($45,$46,1); - $47 = HEAP32[$5>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = HEAP8[$4>>0]|0; - _sqlite3ValueApplyAffinity($48,$49,1); + $46 = HEAP8[$4>>0]|0; + _sqlite3ValueApplyAffinity($45,$46,1); } - $50 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $50; - $230 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($230|0); + $47 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $47; + $227 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($227|0); } - $51 = HEAP32[$op>>2]|0; - $52 = ($51|0)==(155); + $48 = HEAP32[$op>>2]|0; + $49 = ($48|0)==(155); do { - if ($52) { - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = ($57|0)==(132); - if (!($58)) { - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 12|0); - $61 = HEAP32[$60>>2]|0; - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $64 = ($63|0)==(133); - if (!($64)) { + if ($49) { + $50 = HEAP32[$2>>2]|0; + $51 = ((($50)) + 12|0); + $52 = HEAP32[$51>>2]|0; + $53 = HEAP8[$52>>0]|0; + $54 = $53&255; + $55 = ($54|0)==(134); + if (!($55)) { + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $61 = ($60|0)==(132); + if (!($61)) { break; } } + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 12|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$2>>2] = $64; $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 12|0); - $67 = HEAP32[$66>>2]|0; - HEAP32[$2>>2] = $67; - $68 = HEAP32[$2>>2]|0; - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - HEAP32[$op>>2] = $70; + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + HEAP32[$op>>2] = $67; HEAP32[$negInt>>2] = -1; - HEAP32[$zNeg>>2] = 28868; + HEAP32[$zNeg>>2] = 28264; } } while(0); - $71 = HEAP32[$op>>2]|0; - $72 = ($71|0)==(97); - $73 = HEAP32[$op>>2]|0; - $74 = ($73|0)==(133); - $or$cond = $72 | $74; - $75 = HEAP32[$op>>2]|0; - $76 = ($75|0)==(132); - $or$cond3 = $or$cond | $76; + $68 = HEAP32[$op>>2]|0; + $69 = ($68|0)==(97); + $70 = HEAP32[$op>>2]|0; + $71 = ($70|0)==(132); + $or$cond = $69 | $71; + $72 = HEAP32[$op>>2]|0; + $73 = ($72|0)==(134); + $or$cond3 = $or$cond | $73; do { if ($or$cond3) { - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$6>>2]|0; - $79 = (_valueNew($77,$78)|0); - HEAP32[$pVal>>2] = $79; - $80 = HEAP32[$pVal>>2]|0; - $81 = ($80|0)==(0|0); - if ($81) { - label = 43; + $74 = HEAP32[$1>>2]|0; + $75 = HEAP32[$6>>2]|0; + $76 = (_valueNew($74,$75)|0); + HEAP32[$pVal>>2] = $76; + $77 = HEAP32[$pVal>>2]|0; + $78 = ($77|0)==(0|0); + if ($78) { + label = 42; } else { - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = $84 & 1024; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$pVal>>2]|0; - $88 = HEAP32[$2>>2]|0; - $89 = ((($88)) + 8|0); - $90 = HEAP32[$89>>2]|0; + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = $81 & 1024; + $83 = ($82|0)!=(0); + if ($83) { + $84 = HEAP32[$pVal>>2]|0; + $85 = HEAP32[$2>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)<(0); + $89 = $88 << 31 >> 31; + $90 = HEAP32[$negInt>>2]|0; $91 = ($90|0)<(0); $92 = $91 << 31 >> 31; - $93 = HEAP32[$negInt>>2]|0; - $94 = ($93|0)<(0); - $95 = $94 << 31 >> 31; - $96 = (___muldi3(($90|0),($92|0),($93|0),($95|0))|0); - $97 = tempRet0; - _sqlite3VdbeMemSetInt64($87,$96,$97); + $93 = (___muldi3(($87|0),($89|0),($90|0),($92|0))|0); + $94 = tempRet0; + _sqlite3VdbeMemSetInt64($84,$93,$94); } else { - $98 = HEAP32[$1>>2]|0; - $99 = HEAP32[$zNeg>>2]|0; - $100 = HEAP32[$2>>2]|0; - $101 = ((($100)) + 8|0); - $102 = HEAP32[$101>>2]|0; - HEAP32[$vararg_buffer>>2] = $99; + $95 = HEAP32[$1>>2]|0; + $96 = HEAP32[$zNeg>>2]|0; + $97 = HEAP32[$2>>2]|0; + $98 = ((($97)) + 8|0); + $99 = HEAP32[$98>>2]|0; + HEAP32[$vararg_buffer>>2] = $96; $vararg_ptr8 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $102; - $103 = (_sqlite3MPrintf($98,25321,$vararg_buffer)|0); - HEAP32[$zVal>>2] = $103; - $104 = HEAP32[$zVal>>2]|0; - $105 = ($104|0)==(0|0); - if ($105) { - label = 43; + HEAP32[$vararg_ptr8>>2] = $99; + $100 = (_sqlite3MPrintf($95,24705,$vararg_buffer)|0); + HEAP32[$zVal>>2] = $100; + $101 = HEAP32[$zVal>>2]|0; + $102 = ($101|0)==(0|0); + if ($102) { + label = 42; break; } - $106 = HEAP32[$pVal>>2]|0; - $107 = HEAP32[$zVal>>2]|0; - _sqlite3ValueSetStr($106,-1,$107,1,170); + $103 = HEAP32[$pVal>>2]|0; + $104 = HEAP32[$zVal>>2]|0; + _sqlite3ValueSetStr($103,-1,$104,1,170); } - $108 = HEAP32[$op>>2]|0; - $109 = ($108|0)==(132); - $110 = HEAP32[$op>>2]|0; - $111 = ($110|0)==(133); - $or$cond5 = $109 | $111; + $105 = HEAP32[$op>>2]|0; + $106 = ($105|0)==(134); + $107 = HEAP32[$op>>2]|0; + $108 = ($107|0)==(132); + $or$cond5 = $106 | $108; if ($or$cond5) { - $112 = HEAP8[$4>>0]|0; - $113 = $112&255; - $114 = ($113|0)==(65); - if ($114) { - $115 = HEAP32[$pVal>>2]|0; - _sqlite3ValueApplyAffinity($115,67,1); + $109 = HEAP8[$4>>0]|0; + $110 = $109&255; + $111 = ($110|0)==(65); + if ($111) { + $112 = HEAP32[$pVal>>2]|0; + _sqlite3ValueApplyAffinity($112,67,1); } else { - label = 24; + label = 23; } } else { - label = 24; - } - if ((label|0) == 24) { - $116 = HEAP32[$pVal>>2]|0; - $117 = HEAP8[$4>>0]|0; - _sqlite3ValueApplyAffinity($116,$117,1); + label = 23; } - $118 = HEAP32[$pVal>>2]|0; - $119 = ((($118)) + 8|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = $121 & 12; - $123 = ($122|0)!=(0); - if ($123) { - $124 = HEAP32[$pVal>>2]|0; - $125 = ((($124)) + 8|0); - $126 = HEAP16[$125>>1]|0; - $127 = $126&65535; - $128 = $127 & -3; - $129 = $128&65535; - HEAP16[$125>>1] = $129; + if ((label|0) == 23) { + $113 = HEAP32[$pVal>>2]|0; + $114 = HEAP8[$4>>0]|0; + _sqlite3ValueApplyAffinity($113,$114,1); } - $130 = HEAP8[$3>>0]|0; - $131 = $130&255; - $132 = ($131|0)!=(1); - if ($132) { - $133 = HEAP32[$pVal>>2]|0; - $134 = HEAP8[$3>>0]|0; - $135 = $134&255; - $136 = (_sqlite3VdbeChangeEncoding($133,$135)|0); - HEAP32[$rc>>2] = $136; - label = 42; + $115 = HEAP32[$pVal>>2]|0; + $116 = ((($115)) + 8|0); + $117 = HEAP16[$116>>1]|0; + $118 = $117&65535; + $119 = $118 & 12; + $120 = ($119|0)!=(0); + if ($120) { + $121 = HEAP32[$pVal>>2]|0; + $122 = ((($121)) + 8|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = $124 & -3; + $126 = $125&65535; + HEAP16[$122>>1] = $126; + } + $127 = HEAP8[$3>>0]|0; + $128 = $127&255; + $129 = ($128|0)!=(1); + if ($129) { + $130 = HEAP32[$pVal>>2]|0; + $131 = HEAP8[$3>>0]|0; + $132 = $131&255; + $133 = (_sqlite3VdbeChangeEncoding($130,$132)|0); + HEAP32[$rc>>2] = $133; + label = 41; } else { - label = 42; + label = 41; } } } else { - $137 = HEAP32[$op>>2]|0; - $138 = ($137|0)==(155); - if (!($138)) { - $195 = HEAP32[$op>>2]|0; - $196 = ($195|0)==(101); - if ($196) { - $197 = HEAP32[$1>>2]|0; - $198 = HEAP32[$6>>2]|0; - $199 = (_valueNew($197,$198)|0); - HEAP32[$pVal>>2] = $199; - $200 = HEAP32[$pVal>>2]|0; - $201 = ($200|0)==(0|0); - if ($201) { - label = 43; + $134 = HEAP32[$op>>2]|0; + $135 = ($134|0)==(155); + if (!($135)) { + $192 = HEAP32[$op>>2]|0; + $193 = ($192|0)==(101); + if ($193) { + $194 = HEAP32[$1>>2]|0; + $195 = HEAP32[$6>>2]|0; + $196 = (_valueNew($194,$195)|0); + HEAP32[$pVal>>2] = $196; + $197 = HEAP32[$pVal>>2]|0; + $198 = ($197|0)==(0|0); + if ($198) { + label = 42; break; } else { - label = 42; + label = 41; break; } } - $202 = HEAP32[$op>>2]|0; - $203 = ($202|0)==(134); - if (!($203)) { - label = 42; + $199 = HEAP32[$op>>2]|0; + $200 = ($199|0)==(133); + if (!($200)) { + label = 41; break; } - $204 = HEAP32[$1>>2]|0; - $205 = HEAP32[$6>>2]|0; - $206 = (_valueNew($204,$205)|0); - HEAP32[$pVal>>2] = $206; - $207 = HEAP32[$pVal>>2]|0; - $208 = ($207|0)!=(0|0); - if (!($208)) { - label = 43; + $201 = HEAP32[$1>>2]|0; + $202 = HEAP32[$6>>2]|0; + $203 = (_valueNew($201,$202)|0); + HEAP32[$pVal>>2] = $203; + $204 = HEAP32[$pVal>>2]|0; + $205 = ($204|0)!=(0|0); + if (!($205)) { + label = 42; break; } - $209 = HEAP32[$2>>2]|0; - $210 = ((($209)) + 8|0); - $211 = HEAP32[$210>>2]|0; - $212 = ((($211)) + 2|0); - HEAP32[$zVal>>2] = $212; - $213 = HEAP32[$zVal>>2]|0; - $214 = (_sqlite3Strlen30($213)|0); - $215 = (($214) - 1)|0; - HEAP32[$nVal>>2] = $215; - $216 = HEAP32[$pVal>>2]|0; - $217 = HEAP32[$1>>2]|0; - $218 = HEAP32[$zVal>>2]|0; - $219 = HEAP32[$nVal>>2]|0; - $220 = (_sqlite3HexToBlob($217,$218,$219)|0); - $221 = HEAP32[$nVal>>2]|0; - $222 = (($221|0) / 2)&-1; - (_sqlite3VdbeMemSetStr($216,$220,$222,0,170)|0); - label = 42; + $206 = HEAP32[$2>>2]|0; + $207 = ((($206)) + 8|0); + $208 = HEAP32[$207>>2]|0; + $209 = ((($208)) + 2|0); + HEAP32[$zVal>>2] = $209; + $210 = HEAP32[$zVal>>2]|0; + $211 = (_sqlite3Strlen30($210)|0); + $212 = (($211) - 1)|0; + HEAP32[$nVal>>2] = $212; + $213 = HEAP32[$pVal>>2]|0; + $214 = HEAP32[$1>>2]|0; + $215 = HEAP32[$zVal>>2]|0; + $216 = HEAP32[$nVal>>2]|0; + $217 = (_sqlite3HexToBlob($214,$215,$216)|0); + $218 = HEAP32[$nVal>>2]|0; + $219 = (($218|0) / 2)&-1; + (_sqlite3VdbeMemSetStr($213,$217,$219,0,170)|0); + label = 41; break; } - $139 = HEAP32[$1>>2]|0; - $140 = HEAP32[$2>>2]|0; - $141 = ((($140)) + 12|0); - $142 = HEAP32[$141>>2]|0; - $143 = HEAP8[$3>>0]|0; - $144 = HEAP8[$4>>0]|0; - $145 = (_sqlite3ValueFromExpr($139,$142,$143,$144,$pVal)|0); - $146 = (0)==($145|0); - $147 = HEAP32[$pVal>>2]|0; - $148 = ($147|0)!=(0|0); - $or$cond7 = $146 & $148; + $136 = HEAP32[$1>>2]|0; + $137 = HEAP32[$2>>2]|0; + $138 = ((($137)) + 12|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP8[$3>>0]|0; + $141 = HEAP8[$4>>0]|0; + $142 = (_sqlite3ValueFromExpr($136,$139,$140,$141,$pVal)|0); + $143 = (0)==($142|0); + $144 = HEAP32[$pVal>>2]|0; + $145 = ($144|0)!=(0|0); + $or$cond7 = $143 & $145; if ($or$cond7) { - $149 = HEAP32[$pVal>>2]|0; - (_sqlite3VdbeMemNumerify($149)|0); - $150 = HEAP32[$pVal>>2]|0; - $151 = ((($150)) + 8|0); - $152 = HEAP16[$151>>1]|0; - $153 = $152&65535; - $154 = $153 & 8; - $155 = ($154|0)!=(0); - $156 = HEAP32[$pVal>>2]|0; + $146 = HEAP32[$pVal>>2]|0; + (_sqlite3VdbeMemNumerify($146)|0); + $147 = HEAP32[$pVal>>2]|0; + $148 = ((($147)) + 8|0); + $149 = HEAP16[$148>>1]|0; + $150 = $149&65535; + $151 = $150 & 8; + $152 = ($151|0)!=(0); + $153 = HEAP32[$pVal>>2]|0; do { - if ($155) { - $157 = +HEAPF64[$156>>3]; - $158 = -$157; - $159 = HEAP32[$pVal>>2]|0; - HEAPF64[$159>>3] = $158; + if ($152) { + $154 = +HEAPF64[$153>>3]; + $155 = -$154; + $156 = HEAP32[$pVal>>2]|0; + HEAPF64[$156>>3] = $155; } else { - $160 = $156; + $157 = $153; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (($157) + 4)|0; $161 = $160; $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = ($162|0)==(0); - $167 = ($165|0)==(-2147483648); - $168 = $166 & $167; - $169 = HEAP32[$pVal>>2]|0; - if ($168) { - HEAPF64[$169>>3] = 9.2233720368547758E+18; - $170 = HEAP32[$pVal>>2]|0; - $171 = ((($170)) + 8|0); - $172 = HEAP16[$171>>1]|0; + $163 = ($159|0)==(0); + $164 = ($162|0)==(-2147483648); + $165 = $163 & $164; + $166 = HEAP32[$pVal>>2]|0; + if ($165) { + HEAPF64[$166>>3] = 9.2233720368547758E+18; + $167 = HEAP32[$pVal>>2]|0; + $168 = ((($167)) + 8|0); + $169 = HEAP16[$168>>1]|0; + $170 = $169&65535; + $171 = $170 & -49664; + $172 = $171 | 8; $173 = $172&65535; - $174 = $173 & -49664; - $175 = $174 | 8; - $176 = $175&65535; - $177 = HEAP32[$pVal>>2]|0; - $178 = ((($177)) + 8|0); - HEAP16[$178>>1] = $176; + $174 = HEAP32[$pVal>>2]|0; + $175 = ((($174)) + 8|0); + HEAP16[$175>>1] = $173; break; } else { - $179 = $169; + $176 = $166; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (($176) + 4)|0; $180 = $179; $181 = HEAP32[$180>>2]|0; - $182 = (($179) + 4)|0; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (_i64Subtract(0,0,($181|0),($184|0))|0); - $186 = tempRet0; - $187 = HEAP32[$pVal>>2]|0; + $182 = (_i64Subtract(0,0,($178|0),($181|0))|0); + $183 = tempRet0; + $184 = HEAP32[$pVal>>2]|0; + $185 = $184; + $186 = $185; + HEAP32[$186>>2] = $182; + $187 = (($185) + 4)|0; $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $185; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; + HEAP32[$188>>2] = $183; break; } } } while(0); - $192 = HEAP32[$pVal>>2]|0; - $193 = HEAP8[$4>>0]|0; - $194 = HEAP8[$3>>0]|0; - _sqlite3ValueApplyAffinity($192,$193,$194); - label = 42; + $189 = HEAP32[$pVal>>2]|0; + $190 = HEAP8[$4>>0]|0; + $191 = HEAP8[$3>>0]|0; + _sqlite3ValueApplyAffinity($189,$190,$191); + label = 41; } else { - label = 42; + label = 41; } } } while(0); - if ((label|0) == 42) { - $223 = HEAP32[$pVal>>2]|0; - $224 = HEAP32[$5>>2]|0; - HEAP32[$224>>2] = $223; - $225 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $225; - $230 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($230|0); + if ((label|0) == 41) { + $220 = HEAP32[$pVal>>2]|0; + $221 = HEAP32[$5>>2]|0; + HEAP32[$221>>2] = $220; + $222 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $222; + $227 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($227|0); } - else if ((label|0) == 43) { - $226 = HEAP32[$1>>2]|0; - _sqlite3OomFault($226); - $227 = HEAP32[$1>>2]|0; - $228 = HEAP32[$zVal>>2]|0; - _sqlite3DbFree($227,$228); - $229 = HEAP32[$pVal>>2]|0; - _sqlite3ValueFree($229); + else if ((label|0) == 42) { + $223 = HEAP32[$1>>2]|0; + _sqlite3OomFault($223); + $224 = HEAP32[$1>>2]|0; + $225 = HEAP32[$zVal>>2]|0; + _sqlite3DbFree($224,$225); + $226 = HEAP32[$pVal>>2]|0; + _sqlite3ValueFree($226); HEAP32[$0>>2] = 7; - $230 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($230|0); + $227 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($227|0); } return (0)|0; } @@ -133661,7 +134850,7 @@ function _sqlite3AffinityType($zIn,$pszEst) { $8 = HEAP8[$7>>0]|0; $9 = $8 << 24 >> 24; $10 = $9 & 255; - $11 = (18229 + ($10)|0); + $11 = (17613 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = (($6) + ($13))|0; @@ -133795,7 +134984,7 @@ function _sqlite3AffinityType($zIn,$pszEst) { $66 = HEAP32[$zChar>>2]|0; $67 = HEAP8[$66>>0]|0; $68 = $67&255; - $69 = (19019 + ($68)|0); + $69 = (18403 + ($68)|0); $70 = HEAP8[$69>>0]|0; $71 = $70&255; $72 = $71 & 4; @@ -133835,7 +135024,8 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { $encoding = $encoding|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; @@ -133864,73 +135054,81 @@ function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { $15 = $14 & 16; $16 = ($15|0)==(0); $17 = HEAP32[$0>>2]|0; - if ($16) { - $18 = HEAP8[$2>>0]|0; - _sqlite3ValueApplyAffinity($17,66,$18); - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 8|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21&65535; - $23 = $22 & -49664; - $24 = $23 | 16; - $25 = $24&65535; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 8|0); - HEAP16[$27>>1] = $25; + if (!($16)) { + $34 = ((($17)) + 8|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = $36 & -33264; + $38 = $37&65535; + HEAP16[$34>>1] = $38; STACKTOP = sp;return; - } else { - $28 = ((($17)) + 8|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = $30 & -33264; - $32 = $31&65535; - HEAP16[$28>>1] = $32; + } + $18 = HEAP8[$2>>0]|0; + _sqlite3ValueApplyAffinity($17,66,$18); + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21&65535; + $23 = $22 & 2; + $24 = ($23|0)!=(0); + if (!($24)) { STACKTOP = sp;return; } + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 8|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = $28 & -49664; + $30 = $29 | 16; + $31 = $30&65535; + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 8|0); + HEAP16[$33>>1] = $31; + STACKTOP = sp;return; break; } case 67: { - $33 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemNumerify($33)|0); + $39 = HEAP32[$0>>2]|0; + (_sqlite3VdbeMemNumerify($39)|0); STACKTOP = sp;return; break; } case 68: { - $34 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemIntegerify($34)|0); + $40 = HEAP32[$0>>2]|0; + (_sqlite3VdbeMemIntegerify($40)|0); STACKTOP = sp;return; break; } case 69: { - $35 = HEAP32[$0>>2]|0; - (_sqlite3VdbeMemRealify($35)|0); + $41 = HEAP32[$0>>2]|0; + (_sqlite3VdbeMemRealify($41)|0); STACKTOP = sp;return; break; } default: { - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38&65535; - $40 = $39 & 16; - $41 = $40 >> 3; $42 = HEAP32[$0>>2]|0; $43 = ((($42)) + 8|0); $44 = HEAP16[$43>>1]|0; $45 = $44&65535; - $46 = $45 | $41; - $47 = $46&65535; - HEAP16[$43>>1] = $47; + $46 = $45 & 16; + $47 = $46 >> 3; $48 = HEAP32[$0>>2]|0; - $49 = HEAP8[$2>>0]|0; - _sqlite3ValueApplyAffinity($48,66,$49); - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 8|0); - $52 = HEAP16[$51>>1]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = $51 | $47; $53 = $52&65535; - $54 = $53 & -16413; - $55 = $54&65535; - HEAP16[$51>>1] = $55; + HEAP16[$49>>1] = $53; + $54 = HEAP32[$0>>2]|0; + $55 = HEAP8[$2>>0]|0; + _sqlite3ValueApplyAffinity($54,66,$55); + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP16[$57>>1]|0; + $59 = $58&65535; + $60 = $59 & -16413; + $61 = $60&65535; + HEAP16[$57>>1] = $61; STACKTOP = sp;return; } } @@ -134033,7 +135231,7 @@ function _sqlite3VdbeMemNumerify($pMem) { $41 = ((($40)) + 8|0); $42 = HEAP16[$41>>1]|0; $43 = $42&65535; - $44 = $43 & -19; + $44 = $43 & -16403; $45 = $44&65535; HEAP16[$41>>1] = $45; STACKTOP = sp;return 0; @@ -134340,9 +135538,9 @@ function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { $enc = $enc|0; $bForce = $bForce|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fg = 0, $nByte = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; - var sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fg = 0, $nByte = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer1 = sp + 8|0; @@ -134366,71 +135564,74 @@ function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { $9 = (_sqlite3VdbeMemClearAndResize($8,32)|0); $10 = ($9|0)!=(0); if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 10|0); + HEAP8[$12>>0] = 0; HEAP32[$0>>2] = 7; - $54 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($54|0); + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); } - $11 = HEAP32[$fg>>2]|0; - $12 = $11 & 4; - $13 = ($12|0)!=(0); - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - if ($13) { - $18 = $17; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (($18) + 4)|0; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = $vararg_buffer; - $25 = $24; - HEAP32[$25>>2] = $20; - $26 = (($24) + 4)|0; + $13 = HEAP32[$fg>>2]|0; + $14 = $13 & 4; + $15 = ($14|0)!=(0); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$1>>2]|0; + if ($15) { + $20 = $19; + $21 = $20; + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + 4)|0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = $vararg_buffer; $27 = $26; - HEAP32[$27>>2] = $23; - (_sqlite3_snprintf(32,$16,28870,$vararg_buffer)|0); + HEAP32[$27>>2] = $22; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = $25; + (_sqlite3_snprintf(32,$18,28266,$vararg_buffer)|0); } else { - $28 = +HEAPF64[$17>>3]; - HEAPF64[$vararg_buffer1>>3] = $28; - (_sqlite3_snprintf(32,$16,28875,$vararg_buffer1)|0); + $30 = +HEAPF64[$19>>3]; + HEAPF64[$vararg_buffer1>>3] = $30; + (_sqlite3_snprintf(32,$18,28271,$vararg_buffer1)|0); } - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 16|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3Strlen30($31)|0); - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 12|0); - HEAP32[$34>>2] = $32; + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3Strlen30($33)|0); $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 10|0); - HEAP8[$36>>0] = 1; + $36 = ((($35)) + 12|0); + HEAP32[$36>>2] = $34; $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 8|0); - $39 = HEAP16[$38>>1]|0; - $40 = $39&65535; - $41 = $40 | 514; + $38 = ((($37)) + 10|0); + HEAP8[$38>>0] = 1; + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP16[$40>>1]|0; $42 = $41&65535; - HEAP16[$38>>1] = $42; - $43 = HEAP8[$3>>0]|0; - $44 = ($43<<24>>24)!=(0); - if ($44) { - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 8|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 & -13; + $43 = $42 | 514; + $44 = $43&65535; + HEAP16[$40>>1] = $44; + $45 = HEAP8[$3>>0]|0; + $46 = ($45<<24>>24)!=(0); + if ($46) { + $47 = HEAP32[$1>>2]|0; + $48 = ((($47)) + 8|0); + $49 = HEAP16[$48>>1]|0; $50 = $49&65535; - HEAP16[$46>>1] = $50; + $51 = $50 & -13; + $52 = $51&65535; + HEAP16[$48>>1] = $52; } - $51 = HEAP32[$1>>2]|0; - $52 = HEAP8[$2>>0]|0; - $53 = $52&255; - (_sqlite3VdbeChangeEncoding($51,$53)|0); + $53 = HEAP32[$1>>2]|0; + $54 = HEAP8[$2>>0]|0; + $55 = $54&255; + (_sqlite3VdbeChangeEncoding($53,$55)|0); HEAP32[$0>>2] = 0; - $54 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($54|0); + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); } function _sqlite3VdbeMemClearAndResize($pMem,$szNew) { $pMem = $pMem|0; @@ -134774,7 +135975,7 @@ function _sqlite3CheckObjectName($pParse,$zName) { HEAP32[$2>>2] = $zName; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 144|0); + $5 = ((($4)) + 148|0); $6 = ((($5)) + 5|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); @@ -134793,13 +135994,13 @@ function _sqlite3CheckObjectName($pParse,$zName) { $19 = ($18|0)==(0); if ($19) { $20 = HEAP32[$2>>2]|0; - $21 = (_sqlite3_strnicmp($20,28448,7)|0); + $21 = (_sqlite3_strnicmp($20,27844,7)|0); $22 = (0)==($21|0); if ($22) { $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $24; - _sqlite3ErrorMsg($23,31371,$vararg_buffer); + _sqlite3ErrorMsg($23,30775,$vararg_buffer); HEAP32[$0>>2] = 1; $25 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($25|0); @@ -134880,7 +136081,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $26 = HEAP32[$2>>2]|0; $27 = HEAP32[$26>>2]|0; HEAP32[$vararg_buffer>>2] = $27; - _sqlite3ErrorMsg($25,29587,$vararg_buffer); + _sqlite3ErrorMsg($25,28983,$vararg_buffer); HEAP32[$0>>2] = 1; $133 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($133|0); @@ -134895,7 +136096,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $34 = ($33|0)!=(0|0); if ($34) { $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 72|0); + $36 = ((($35)) + 40|0); $37 = HEAP32[$36>>2]|0; HEAP32[$n>>2] = $37; $38 = HEAP32[$1>>2]|0; @@ -134928,7 +136129,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { HEAP32[$58>>2] = $56; $59 = HEAP32[$n>>2]|0; $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 72|0); + $61 = ((($60)) + 40|0); HEAP32[$61>>2] = $59; $62 = HEAP32[$2>>2]|0; $63 = ((($62)) + 24|0); @@ -134952,7 +136153,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $78 = ($77|0)==(0); if ($78) { $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 68|0); + $80 = ((($79)) + 36|0); $81 = HEAP32[$80>>2]|0; $82 = ($81|0)==(0); if ($82) { @@ -135086,12 +136287,12 @@ function _sqlite3MayAbort($pParse) { $pToplevel = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 416|0); + $2 = ((($1)) + 124|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); $5 = HEAP32[$0>>2]|0; if ($4) { - $6 = ((($5)) + 416|0); + $6 = ((($5)) + 124|0); $7 = HEAP32[$6>>2]|0; $8 = $7; } else { @@ -135299,7 +136500,7 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer1>>2] = $42; - _sqlite3ErrorMsg($41,19007,$vararg_buffer1); + _sqlite3ErrorMsg($41,18391,$vararg_buffer1); } $43 = HEAP32[$db>>2]|0; $44 = HEAP32[$zErr>>2]|0; @@ -135313,7 +136514,7 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$zModule>>2]|0; HEAP32[$vararg_buffer>>2] = $30; - _sqlite3ErrorMsg($29,31227,$vararg_buffer); + _sqlite3ErrorMsg($29,30631,$vararg_buffer); HEAP32[$rc>>2] = 1; } $45 = HEAP32[$rc>>2]|0; @@ -135541,7 +136742,7 @@ function _sqlite3SrcListAssignCursors($pParse,$pList) { break; } $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 72|0); + $15 = ((($14)) + 40|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + 1)|0; HEAP32[$15>>2] = $17; @@ -135610,7 +136811,7 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { $17 = HEAP32[$2>>2]|0; _sqlite3SelectPrep($16,$17,0); $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 68|0); + $19 = ((($18)) + 36|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)!=(0); if ($21) { @@ -135845,7 +137046,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $79 = HEAP32[$78>>2]|0; $80 = $79; } else { - $80 = 25361; + $80 = 24745; } HEAP32[$zName>>2] = $80; break; @@ -135877,7 +137078,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $95 = HEAP32[$db>>2]|0; $96 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $96; - $97 = (_sqlite3MPrintf($95,19007,$vararg_buffer)|0); + $97 = (_sqlite3MPrintf($95,18391,$vararg_buffer)|0); HEAP32[$zName>>2] = $97; HEAP32[$cnt>>2] = 0; while(1) { @@ -135914,7 +137115,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $113 = (($112) + ($111)|0); $114 = HEAP8[$113>>0]|0; $115 = $114&255; - $116 = (19019 + ($115)|0); + $116 = (18403 + ($115)|0); $117 = HEAP8[$116>>0]|0; $118 = $117&255; $119 = $118 & 4; @@ -135948,7 +137149,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { HEAP32[$vararg_ptr5>>2] = $132; $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr6>>2] = $134; - $135 = (_sqlite3MPrintf($130,29651,$vararg_buffer2)|0); + $135 = (_sqlite3MPrintf($130,29047,$vararg_buffer2)|0); HEAP32[$zName>>2] = $135; $136 = HEAP32[$cnt>>2]|0; $137 = ($136>>>0)>(3); @@ -136399,7 +137600,7 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $91 = HEAP32[$iCol>>2]|0; $92 = ($91|0)<(0); if ($92) { - HEAP32[$zType>>2] = 19375; + HEAP32[$zType>>2] = 18759; break L1; } else { $93 = HEAP32[$iCol>>2]|0; @@ -136470,14 +137671,13 @@ function _sqlite3ExprAffinity($pExpr) { $pExpr = $pExpr|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, $op = 0, $or$cond = 0; - var $or$cond3 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $op = sp + 4|0; - $j = sp; + $0 = sp + 8|0; + $1 = sp + 4|0; + $op = sp; HEAP32[$1>>2] = $pExpr; $2 = HEAP32[$1>>2]|0; $3 = (_sqlite3ExprSkipCollate($2)|0); @@ -136489,8 +137689,8 @@ function _sqlite3ExprAffinity($pExpr) { $8 = ($7|0)!=(0); if ($8) { HEAP8[$0>>0] = 0; - $56 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($56|0); + $65 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($65|0); } $9 = HEAP32[$1>>2]|0; $10 = HEAP8[$9>>0]|0; @@ -136508,67 +137708,76 @@ function _sqlite3ExprAffinity($pExpr) { $20 = HEAP32[$19>>2]|0; $21 = (_sqlite3ExprAffinity($20)|0); HEAP8[$0>>0] = $21; - $56 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($56|0); + $65 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($65|0); } $22 = HEAP32[$op>>2]|0; - $23 = ($22|0)==(66); + $23 = ($22|0)==(157); if ($23) { $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3AffinityType($26,0)|0); - HEAP8[$0>>0] = $27; - $56 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($56|0); + $25 = ((($24)) + 38|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + HEAP32[$op>>2] = $27; } $28 = HEAP32[$op>>2]|0; - $29 = ($28|0)==(154); - $30 = HEAP32[$op>>2]|0; - $31 = ($30|0)==(152); - $or$cond = $29 | $31; - $32 = HEAP32[$op>>2]|0; - $33 = ($32|0)==(157); - $or$cond3 = $or$cond | $33; - if ($or$cond3) { - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 44|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)!=(0|0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 32|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40 << 16 >> 16; - HEAP32[$j>>2] = $41; - $42 = HEAP32[$j>>2]|0; - $43 = ($42|0)<(0); - if ($43) { - HEAP8[$0>>0] = 68; - $56 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($56|0); - } else { - $44 = HEAP32[$j>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 44|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($44<<4)|0); - $51 = ((($50)) + 13|0); - $52 = HEAP8[$51>>0]|0; - HEAP8[$0>>0] = $52; - $56 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($56|0); - } - } + $29 = ($28|0)==(66); + if ($29) { + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP32[$31>>2]|0; + $33 = (_sqlite3AffinityType($32,0)|0); + HEAP8[$0>>0] = $33; + $65 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($65|0); } - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 1|0); - $55 = HEAP8[$54>>0]|0; - HEAP8[$0>>0] = $55; - $56 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($56|0); + $34 = HEAP32[$op>>2]|0; + $35 = ($34|0)==(154); + $36 = HEAP32[$op>>2]|0; + $37 = ($36|0)==(152); + $or$cond = $35 | $37; + if ($or$cond) { + $38 = HEAP32[$1>>2]|0; + $39 = ((($38)) + 44|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 32|0); + $43 = HEAP16[$42>>1]|0; + $44 = $43 << 16 >> 16; + $45 = (_sqlite3TableColumnAffinity($40,$44)|0); + HEAP8[$0>>0] = $45; + $65 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($65|0); + } + $46 = HEAP32[$op>>2]|0; + $47 = ($46|0)==(159); + $48 = HEAP32[$1>>2]|0; + if ($47) { + $49 = ((($48)) + 32|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50 << 16 >> 16; + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + (($51*20)|0)|0); + $61 = HEAP32[$60>>2]|0; + $62 = (_sqlite3ExprAffinity($61)|0); + HEAP8[$0>>0] = $62; + $65 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($65|0); + } else { + $63 = ((($48)) + 1|0); + $64 = HEAP8[$63>>0]|0; + HEAP8[$0>>0] = $64; + $65 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($65|0); + } + return (0)|0; } function _sqlite3ExprCollSeq($pParse,$pExpr) { $pParse = $pParse|0; @@ -136896,7 +138105,7 @@ function _sqlite3GetCollSeq($pParse,$enc,$pColl,$zName) { $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $40; - _sqlite3ErrorMsg($39,29617,$vararg_buffer); + _sqlite3ErrorMsg($39,29013,$vararg_buffer); $41 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($41|0); } @@ -136963,7 +138172,7 @@ function _callCollNeeded($db,$enc,$zName) { HEAP32[$1>>2] = $enc; HEAP32[$2>>2] = $zName; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 228|0); + $4 = ((($3)) + 232|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); do { @@ -136976,10 +138185,10 @@ function _callCollNeeded($db,$enc,$zName) { $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 228|0); + $13 = ((($12)) + 232|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 236|0); + $16 = ((($15)) + 240|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$1>>2]|0; @@ -136995,7 +138204,7 @@ function _callCollNeeded($db,$enc,$zName) { } } while(0); $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 232|0); + $24 = ((($23)) + 236|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); if (!($26)) { @@ -137008,7 +138217,7 @@ function _callCollNeeded($db,$enc,$zName) { $30 = HEAP32[$2>>2]|0; _sqlite3ValueSetStr($29,-1,$30,1,0); $31 = HEAP32[$pTmp>>2]|0; - $32 = HEAP8[960>>0]|0; + $32 = HEAP8[968>>0]|0; $33 = $32 << 24 >> 24; $34 = ($33|0)==(0); $35 = $34 ? 3 : 2; @@ -137019,10 +138228,10 @@ function _callCollNeeded($db,$enc,$zName) { $39 = ($38|0)!=(0|0); if ($39) { $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 232|0); + $41 = ((($40)) + 236|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 236|0); + $44 = ((($43)) + 240|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$0>>2]|0; @@ -137064,7 +138273,7 @@ function _synthCollSeq($db,$pColl) { } $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$i>>2]|0; - $9 = (29648 + ($8)|0); + $9 = (29044 + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = HEAP32[$z>>2]|0; $12 = (_sqlite3FindCollSeq($7,$10,$11,0)|0); @@ -137146,6 +138355,35 @@ function _sqlite3ExprSkipCollate($pExpr) { } STACKTOP = sp;return ($8|0); } +function _sqlite3TableColumnAffinity($pTab,$iCol) { + $pTab = $pTab|0; + $iCol = $iCol|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $pTab; + HEAP32[$1>>2] = $iCol; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>=(0); + if (!($3)) { + $13 = 68; + $12 = $13&255; + STACKTOP = sp;return ($12|0); + } + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + ($4<<4)|0); + $9 = ((($8)) + 13|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $13 = $11; + $12 = $13&255; + STACKTOP = sp;return ($12|0); +} function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $pParse = $pParse|0; $p = $p|0; @@ -137189,7 +138427,7 @@ function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $17 = HEAP32[$1>>2]|0; _sqlite3SelectExpand($16,$17); $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 68|0); + $19 = ((($18)) + 36|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)!=(0); if ($21) { @@ -137208,7 +138446,7 @@ function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $29 = HEAP32[$2>>2]|0; _sqlite3ResolveSelectNames($27,$28,$29); $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 68|0); + $31 = ((($30)) + 36|0); $32 = HEAP32[$31>>2]|0; $33 = ($32|0)!=(0); if ($33) { @@ -137808,7 +139046,8 @@ function _walkExpr($pWalker,$pExpr) { $pExpr = $pExpr|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -137825,74 +139064,94 @@ function _walkExpr($pWalker,$pExpr) { $8 = (FUNCTION_TABLE_iii[$5 & 255]($6,$7)|0); HEAP32[$rc>>2] = $8; $9 = HEAP32[$rc>>2]|0; - $10 = ($9|0)==(0); - do { - if ($10) { - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 16384; - $15 = ($14|0)!=(0); - if (!($15)) { - $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3WalkExpr($16,$19)|0); - $21 = ($20|0)!=(0); - if ($21) { - HEAP32[$0>>2] = 2; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } + $10 = ($9|0)!=(0); + if (!($10)) { + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13 & 8404992; + $15 = ($14|0)!=(0); + if (!($15)) { + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + if ($21) { $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 16|0); + $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; - $26 = (_sqlite3WalkExpr($22,$25)|0); + $26 = (_walkExpr($22,$25)|0); $27 = ($26|0)!=(0); if ($27) { HEAP32[$0>>2] = 2; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = $30 & 2048; - $32 = ($31|0)!=(0); - $33 = HEAP32[$1>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 20|0); - if ($32) { - $36 = HEAP32[$35>>2]|0; - $37 = (_sqlite3WalkSelect($33,$36)|0); - $38 = ($37|0)!=(0); - if (!($38)) { - break; - } + } + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_walkExpr($32,$35)|0); + $37 = ($36|0)!=(0); + if ($37) { HEAP32[$0>>2] = 2; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } else { - $39 = HEAP32[$35>>2]|0; - $40 = (_sqlite3WalkExprList($33,$39)|0); - $41 = ($40|0)!=(0); - if (!($41)) { - break; - } + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } + } + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = $40 & 2048; + $42 = ($41|0)!=(0); + if ($42) { + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 20|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3WalkSelect($43,$46)|0); + $48 = ($47|0)!=(0); + if ($48) { HEAP32[$0>>2] = 2; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } + } else { + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 20|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP32[$55>>2]|0; + $57 = (_sqlite3WalkExprList($53,$56)|0); + $58 = ($57|0)!=(0); + if ($58) { + HEAP32[$0>>2] = 2; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } } } + HEAP32[$0>>2] = 0; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } - } while(0); - $42 = HEAP32[$rc>>2]|0; - $43 = $42 & 2; - HEAP32[$0>>2] = $43; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + } + $16 = HEAP32[$rc>>2]|0; + $17 = $16 & 2; + HEAP32[$0>>2] = $17; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } function _resolveExprStep($pWalker,$pExpr) { $pWalker = $pWalker|0; @@ -137909,40 +139168,44 @@ function _resolveExprStep($pWalker,$pExpr) { var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $auth = 0, $enc = 0, $is_agg = 0, $n = 0, $nId = 0; - var $nRef = 0, $no_such_func = 0, $pDef = 0, $pList = 0, $pNC = 0, $pNC2 = 0, $pParse = 0, $pRight = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, $wrong_num_args = 0, $zColumn = 0, $zDb = 0, $zId = 0; - var $zTable = 0, label = 0, sp = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $auth = 0, $enc = 0, $is_agg = 0, $n = 0, $nId = 0, $nLeft = 0, $nRef = 0, $nRight = 0, $no_such_func = 0, $pDef = 0; + var $pList = 0, $pNC = 0, $pNC2 = 0, $pParse = 0, $pRight = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, $wrong_num_args = 0, $zColumn = 0, $zDb = 0, $zId = 0, $zTable = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer15 = sp + 40|0; $vararg_buffer11 = sp + 32|0; $vararg_buffer7 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 116|0; - $1 = sp + 112|0; - $2 = sp + 108|0; - $pNC = sp + 104|0; - $pParse = sp + 100|0; - $zColumn = sp + 96|0; - $zTable = sp + 92|0; - $zDb = sp + 88|0; - $pRight = sp + 84|0; - $pList = sp + 80|0; - $n = sp + 76|0; - $no_such_func = sp + 72|0; - $wrong_num_args = sp + 68|0; - $is_agg = sp + 64|0; + $0 = sp + 128|0; + $1 = sp + 124|0; + $2 = sp + 120|0; + $pNC = sp + 116|0; + $pParse = sp + 112|0; + $zColumn = sp + 108|0; + $zTable = sp + 104|0; + $zDb = sp + 100|0; + $pRight = sp + 96|0; + $pList = sp + 92|0; + $n = sp + 88|0; + $no_such_func = sp + 84|0; + $wrong_num_args = sp + 80|0; + $is_agg = sp + 76|0; + $nId = sp + 72|0; + $zId = sp + 68|0; + $pDef = sp + 64|0; + $enc = sp + 132|0; $auth = sp + 60|0; - $nId = sp + 56|0; - $zId = sp + 52|0; - $pDef = sp + 48|0; - $enc = sp + 120|0; - $pNC2 = sp + 44|0; - $nRef = sp + 40|0; + $pNC2 = sp + 56|0; + $nRef = sp + 52|0; + $nLeft = sp + 48|0; + $nRight = sp + 44|0; HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $pExpr; $3 = HEAP32[$1>>2]|0; @@ -137959,8 +139222,8 @@ function _resolveExprStep($pWalker,$pExpr) { $12 = ($11|0)!=(0); if ($12) { HEAP32[$0>>2] = 1; - $314 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($314|0); + $329 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($329|0); } $13 = HEAP32[$2>>2]|0; $14 = ((($13)) + 4|0); @@ -137980,14 +139243,14 @@ function _resolveExprStep($pWalker,$pExpr) { $25 = HEAP32[$2>>2]|0; $26 = (_lookupName($20,0,0,$23,$24,$25)|0); HEAP32[$0>>2] = $26; - $314 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($314|0); + $329 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($329|0); break; } case 122: { $27 = HEAP32[$pParse>>2]|0; $28 = HEAP32[$pNC>>2]|0; - _notValid($27,$28,30165,32); + _notValid($27,$28,29561,32); $29 = HEAP32[$2>>2]|0; $30 = ((($29)) + 16|0); $31 = HEAP32[$30>>2]|0; @@ -138036,8 +139299,8 @@ function _resolveExprStep($pWalker,$pExpr) { $64 = HEAP32[$2>>2]|0; $65 = (_lookupName($59,$60,$61,$62,$63,$64)|0); HEAP32[$0>>2] = $65; - $314 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($314|0); + $329 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($329|0); break; } case 151: { @@ -138063,36 +139326,33 @@ function _resolveExprStep($pWalker,$pExpr) { $76 = ((($75)) + 66|0); $77 = HEAP8[$76>>0]|0; HEAP8[$enc>>0] = $77; - $78 = HEAP32[$pParse>>2]|0; - $79 = HEAP32[$pNC>>2]|0; - _notValid($78,$79,30182,2); - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 8|0); - $82 = HEAP32[$81>>2]|0; - HEAP32[$zId>>2] = $82; - $83 = HEAP32[$zId>>2]|0; - $84 = (_sqlite3Strlen30($83)|0); - HEAP32[$nId>>2] = $84; - $85 = HEAP32[$pParse>>2]|0; - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$zId>>2]|0; - $88 = HEAP32[$n>>2]|0; - $89 = HEAP8[$enc>>0]|0; - $90 = (_sqlite3FindFunction($86,$87,$88,$89,0)|0); - HEAP32[$pDef>>2] = $90; - $91 = HEAP32[$pDef>>2]|0; - $92 = ($91|0)==(0|0); + $78 = HEAP32[$2>>2]|0; + $79 = ((($78)) + 8|0); + $80 = HEAP32[$79>>2]|0; + HEAP32[$zId>>2] = $80; + $81 = HEAP32[$zId>>2]|0; + $82 = (_sqlite3Strlen30($81)|0); + HEAP32[$nId>>2] = $82; + $83 = HEAP32[$pParse>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$zId>>2]|0; + $86 = HEAP32[$n>>2]|0; + $87 = HEAP8[$enc>>0]|0; + $88 = (_sqlite3FindFunction($84,$85,$86,$87,0)|0); + HEAP32[$pDef>>2] = $88; + $89 = HEAP32[$pDef>>2]|0; + $90 = ($89|0)==(0|0); do { - if ($92) { - $93 = HEAP32[$pParse>>2]|0; - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$zId>>2]|0; - $96 = HEAP8[$enc>>0]|0; - $97 = (_sqlite3FindFunction($94,$95,-2,$96,0)|0); - HEAP32[$pDef>>2] = $97; - $98 = HEAP32[$pDef>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { + if ($90) { + $91 = HEAP32[$pParse>>2]|0; + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$zId>>2]|0; + $94 = HEAP8[$enc>>0]|0; + $95 = (_sqlite3FindFunction($92,$93,-2,$94,0)|0); + HEAP32[$pDef>>2] = $95; + $96 = HEAP32[$pDef>>2]|0; + $97 = ($96|0)==(0|0); + if ($97) { HEAP32[$no_such_func>>2] = 1; break; } else { @@ -138100,145 +139360,145 @@ function _resolveExprStep($pWalker,$pExpr) { break; } } else { - $100 = HEAP32[$pDef>>2]|0; - $101 = ((($100)) + 16|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)!=(0|0); - $104 = $103&1; - HEAP32[$is_agg>>2] = $104; - $105 = HEAP32[$pDef>>2]|0; - $106 = ((($105)) + 2|0); - $107 = HEAP16[$106>>1]|0; - $108 = $107&65535; - $109 = $108 & 1024; - $110 = ($109|0)!=(0); + $98 = HEAP32[$pDef>>2]|0; + $99 = ((($98)) + 16|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)!=(0|0); + $102 = $101&1; + HEAP32[$is_agg>>2] = $102; + $103 = HEAP32[$pDef>>2]|0; + $104 = ((($103)) + 2|0); + $105 = HEAP16[$104>>1]|0; + $106 = $105&65535; + $107 = $106 & 1024; + $108 = ($107|0)!=(0); do { - if ($110) { - $111 = HEAP32[$2>>2]|0; - $112 = ((($111)) + 4|0); - $113 = HEAP32[$112>>2]|0; - $114 = $113 | 266240; - HEAP32[$112>>2] = $114; - $115 = HEAP32[$n>>2]|0; - $116 = ($115|0)==(2); - if (!($116)) { - $134 = HEAP32[$pDef>>2]|0; - $135 = ((($134)) + 20|0); - $136 = HEAP32[$135>>2]|0; - $137 = HEAP8[$136>>0]|0; - $138 = $137 << 24 >> 24; - $139 = ($138|0)==(117); - $140 = $139 ? 8388608 : 125829120; - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 28|0); - HEAP32[$142>>2] = $140; + if ($108) { + $109 = HEAP32[$2>>2]|0; + $110 = ((($109)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 | 266240; + HEAP32[$110>>2] = $112; + $113 = HEAP32[$n>>2]|0; + $114 = ($113|0)==(2); + if (!($114)) { + $132 = HEAP32[$pDef>>2]|0; + $133 = ((($132)) + 20|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP8[$134>>0]|0; + $136 = $135 << 24 >> 24; + $137 = ($136|0)==(117); + $138 = $137 ? 8388608 : 125829120; + $139 = HEAP32[$2>>2]|0; + $140 = ((($139)) + 28|0); + HEAP32[$140>>2] = $138; break; } - $117 = HEAP32[$pList>>2]|0; - $118 = ((($117)) + 4|0); + $115 = HEAP32[$pList>>2]|0; + $116 = ((($115)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($117)) + 20|0); $119 = HEAP32[$118>>2]|0; - $120 = ((($119)) + 20|0); - $121 = HEAP32[$120>>2]|0; - $122 = (_exprProbability($121)|0); + $120 = (_exprProbability($119)|0); + $121 = HEAP32[$2>>2]|0; + $122 = ((($121)) + 28|0); + HEAP32[$122>>2] = $120; $123 = HEAP32[$2>>2]|0; $124 = ((($123)) + 28|0); - HEAP32[$124>>2] = $122; - $125 = HEAP32[$2>>2]|0; - $126 = ((($125)) + 28|0); - $127 = HEAP32[$126>>2]|0; - $128 = ($127|0)<(0); - if ($128) { - $129 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($129,30192,$vararg_buffer); - $130 = HEAP32[$pNC>>2]|0; - $131 = ((($130)) + 24|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + 1)|0; - HEAP32[$131>>2] = $133; + $125 = HEAP32[$124>>2]|0; + $126 = ($125|0)<(0); + if ($126) { + $127 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($127,29578,$vararg_buffer); + $128 = HEAP32[$pNC>>2]|0; + $129 = ((($128)) + 24|0); + $130 = HEAP32[$129>>2]|0; + $131 = (($130) + 1)|0; + HEAP32[$129>>2] = $131; } } } while(0); - $143 = HEAP32[$pParse>>2]|0; - $144 = HEAP32[$pDef>>2]|0; - $145 = ((($144)) + 20|0); - $146 = HEAP32[$145>>2]|0; - $147 = (_sqlite3AuthCheck($143,31,0,$146,0)|0); - HEAP32[$auth>>2] = $147; - $148 = HEAP32[$auth>>2]|0; - $149 = ($148|0)!=(0); - if ($149) { - $150 = HEAP32[$auth>>2]|0; - $151 = ($150|0)==(1); - if ($151) { - $152 = HEAP32[$pParse>>2]|0; - $153 = HEAP32[$pDef>>2]|0; - $154 = ((($153)) + 20|0); - $155 = HEAP32[$154>>2]|0; - HEAP32[$vararg_buffer1>>2] = $155; - _sqlite3ErrorMsg($152,30263,$vararg_buffer1); - $156 = HEAP32[$pNC>>2]|0; - $157 = ((($156)) + 24|0); - $158 = HEAP32[$157>>2]|0; - $159 = (($158) + 1)|0; - HEAP32[$157>>2] = $159; + $141 = HEAP32[$pParse>>2]|0; + $142 = HEAP32[$pDef>>2]|0; + $143 = ((($142)) + 20|0); + $144 = HEAP32[$143>>2]|0; + $145 = (_sqlite3AuthCheck($141,31,0,$144,0)|0); + HEAP32[$auth>>2] = $145; + $146 = HEAP32[$auth>>2]|0; + $147 = ($146|0)!=(0); + if ($147) { + $148 = HEAP32[$auth>>2]|0; + $149 = ($148|0)==(1); + if ($149) { + $150 = HEAP32[$pParse>>2]|0; + $151 = HEAP32[$pDef>>2]|0; + $152 = ((($151)) + 20|0); + $153 = HEAP32[$152>>2]|0; + HEAP32[$vararg_buffer1>>2] = $153; + _sqlite3ErrorMsg($150,29649,$vararg_buffer1); + $154 = HEAP32[$pNC>>2]|0; + $155 = ((($154)) + 24|0); + $156 = HEAP32[$155>>2]|0; + $157 = (($156) + 1)|0; + HEAP32[$155>>2] = $157; } - $160 = HEAP32[$2>>2]|0; - HEAP8[$160>>0] = 101; + $158 = HEAP32[$2>>2]|0; + HEAP8[$158>>0] = 101; HEAP32[$0>>2] = 1; - $314 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($314|0); + $329 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($329|0); } else { - $161 = HEAP32[$pDef>>2]|0; - $162 = ((($161)) + 2|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163&65535; - $165 = $164 & 10240; - $166 = ($165|0)!=(0); - if ($166) { - $167 = HEAP32[$2>>2]|0; - $168 = ((($167)) + 4|0); - $169 = HEAP32[$168>>2]|0; - $170 = $169 | 524288; - HEAP32[$168>>2] = $170; - } - $171 = HEAP32[$pDef>>2]|0; - $172 = ((($171)) + 2|0); - $173 = HEAP16[$172>>1]|0; - $174 = $173&65535; - $175 = $174 & 2048; - $176 = ($175|0)==(0); - if (!($176)) { + $159 = HEAP32[$pDef>>2]|0; + $160 = ((($159)) + 2|0); + $161 = HEAP16[$160>>1]|0; + $162 = $161&65535; + $163 = $162 & 10240; + $164 = ($163|0)!=(0); + if ($164) { + $165 = HEAP32[$2>>2]|0; + $166 = ((($165)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = $167 | 524288; + HEAP32[$166>>2] = $168; + } + $169 = HEAP32[$pDef>>2]|0; + $170 = ((($169)) + 2|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = $172 & 2048; + $174 = ($173|0)==(0); + if (!($174)) { break; } - $177 = HEAP32[$pParse>>2]|0; - $178 = HEAP32[$pNC>>2]|0; - _notValid($177,$178,30298,32); + $175 = HEAP32[$pParse>>2]|0; + $176 = HEAP32[$pNC>>2]|0; + _notValid($175,$176,29684,34); break; } } } while(0); - $179 = HEAP32[$is_agg>>2]|0; - $180 = ($179|0)!=(0); - if ($180) { - $181 = HEAP32[$pNC>>2]|0; - $182 = ((($181)) + 28|0); - $183 = HEAP16[$182>>1]|0; - $184 = $183&65535; - $185 = $184 & 1; - $186 = ($185|0)==(0); - if ($186) { - $187 = HEAP32[$pParse>>2]|0; - $188 = HEAP32[$nId>>2]|0; - $189 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer3>>2] = $188; + $177 = HEAP32[$is_agg>>2]|0; + $178 = ($177|0)!=(0); + if ($178) { + $179 = HEAP32[$pNC>>2]|0; + $180 = ((($179)) + 28|0); + $181 = HEAP16[$180>>1]|0; + $182 = $181&65535; + $183 = $182 & 1; + $184 = ($183|0)==(0); + if ($184) { + $185 = HEAP32[$pParse>>2]|0; + $186 = HEAP32[$nId>>2]|0; + $187 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer3>>2] = $186; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $189; - _sqlite3ErrorMsg($187,30326,$vararg_buffer3); - $190 = HEAP32[$pNC>>2]|0; - $191 = ((($190)) + 24|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) + 1)|0; - HEAP32[$191>>2] = $193; + HEAP32[$vararg_ptr6>>2] = $187; + _sqlite3ErrorMsg($185,29712,$vararg_buffer3); + $188 = HEAP32[$pNC>>2]|0; + $189 = ((($188)) + 24|0); + $190 = HEAP32[$189>>2]|0; + $191 = (($190) + 1)|0; + HEAP32[$189>>2] = $191; HEAP32[$is_agg>>2] = 0; } else { label = 31; @@ -138248,199 +139508,226 @@ function _resolveExprStep($pWalker,$pExpr) { } do { if ((label|0) == 31) { - $194 = HEAP32[$no_such_func>>2]|0; - $195 = ($194|0)!=(0); - if ($195) { - $196 = HEAP32[$pParse>>2]|0; - $197 = HEAP32[$196>>2]|0; - $198 = ((($197)) + 144|0); - $199 = ((($198)) + 5|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200&255; - $202 = ($201|0)==(0); - if ($202) { - $203 = HEAP32[$pParse>>2]|0; - $204 = HEAP32[$nId>>2]|0; - $205 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer7>>2] = $204; + $192 = HEAP32[$no_such_func>>2]|0; + $193 = ($192|0)!=(0); + if ($193) { + $194 = HEAP32[$pParse>>2]|0; + $195 = HEAP32[$194>>2]|0; + $196 = ((($195)) + 148|0); + $197 = ((($196)) + 5|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199|0)==(0); + if ($200) { + $201 = HEAP32[$pParse>>2]|0; + $202 = HEAP32[$nId>>2]|0; + $203 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer7>>2] = $202; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $205; - _sqlite3ErrorMsg($203,30362,$vararg_buffer7); - $206 = HEAP32[$pNC>>2]|0; - $207 = ((($206)) + 24|0); - $208 = HEAP32[$207>>2]|0; - $209 = (($208) + 1)|0; - HEAP32[$207>>2] = $209; + HEAP32[$vararg_ptr10>>2] = $203; + _sqlite3ErrorMsg($201,29748,$vararg_buffer7); + $204 = HEAP32[$pNC>>2]|0; + $205 = ((($204)) + 24|0); + $206 = HEAP32[$205>>2]|0; + $207 = (($206) + 1)|0; + HEAP32[$205>>2] = $207; break; } } - $210 = HEAP32[$wrong_num_args>>2]|0; - $211 = ($210|0)!=(0); - if ($211) { - $212 = HEAP32[$pParse>>2]|0; - $213 = HEAP32[$nId>>2]|0; - $214 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer11>>2] = $213; + $208 = HEAP32[$wrong_num_args>>2]|0; + $209 = ($208|0)!=(0); + if ($209) { + $210 = HEAP32[$pParse>>2]|0; + $211 = HEAP32[$nId>>2]|0; + $212 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer11>>2] = $211; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $214; - _sqlite3ErrorMsg($212,30385,$vararg_buffer11); - $215 = HEAP32[$pNC>>2]|0; - $216 = ((($215)) + 24|0); - $217 = HEAP32[$216>>2]|0; - $218 = (($217) + 1)|0; - HEAP32[$216>>2] = $218; + HEAP32[$vararg_ptr14>>2] = $212; + _sqlite3ErrorMsg($210,29771,$vararg_buffer11); + $213 = HEAP32[$pNC>>2]|0; + $214 = ((($213)) + 24|0); + $215 = HEAP32[$214>>2]|0; + $216 = (($215) + 1)|0; + HEAP32[$214>>2] = $216; } } } while(0); - $219 = HEAP32[$is_agg>>2]|0; - $220 = ($219|0)!=(0); - if ($220) { - $221 = HEAP32[$pNC>>2]|0; - $222 = ((($221)) + 28|0); - $223 = HEAP16[$222>>1]|0; + $217 = HEAP32[$is_agg>>2]|0; + $218 = ($217|0)!=(0); + if ($218) { + $219 = HEAP32[$pNC>>2]|0; + $220 = ((($219)) + 28|0); + $221 = HEAP16[$220>>1]|0; + $222 = $221&65535; + $223 = $222 & -2; $224 = $223&65535; - $225 = $224 & -2; - $226 = $225&65535; - HEAP16[$222>>1] = $226; - } - $227 = HEAP32[$1>>2]|0; - $228 = HEAP32[$pList>>2]|0; - (_sqlite3WalkExprList($227,$228)|0); - $229 = HEAP32[$is_agg>>2]|0; - $230 = ($229|0)!=(0); - if ($230) { - $231 = HEAP32[$pNC>>2]|0; - HEAP32[$pNC2>>2] = $231; - $232 = HEAP32[$2>>2]|0; - HEAP8[$232>>0] = -103; - $233 = HEAP32[$2>>2]|0; - $234 = ((($233)) + 38|0); - HEAP8[$234>>0] = 0; + HEAP16[$220>>1] = $224; + } + $225 = HEAP32[$1>>2]|0; + $226 = HEAP32[$pList>>2]|0; + (_sqlite3WalkExprList($225,$226)|0); + $227 = HEAP32[$is_agg>>2]|0; + $228 = ($227|0)!=(0); + if ($228) { + $229 = HEAP32[$pNC>>2]|0; + HEAP32[$pNC2>>2] = $229; + $230 = HEAP32[$2>>2]|0; + HEAP8[$230>>0] = -103; + $231 = HEAP32[$2>>2]|0; + $232 = ((($231)) + 38|0); + HEAP8[$232>>0] = 0; while(1) { - $235 = HEAP32[$pNC2>>2]|0; - $236 = ($235|0)!=(0|0); - if (!($236)) { + $233 = HEAP32[$pNC2>>2]|0; + $234 = ($233|0)!=(0|0); + if (!($234)) { break; } - $237 = HEAP32[$2>>2]|0; - $238 = HEAP32[$pNC2>>2]|0; - $239 = ((($238)) + 4|0); - $240 = HEAP32[$239>>2]|0; - $241 = (_sqlite3FunctionUsesThisSrc($237,$240)|0); - $242 = ($241|0)!=(0); - $243 = $242 ^ 1; - if (!($243)) { + $235 = HEAP32[$2>>2]|0; + $236 = HEAP32[$pNC2>>2]|0; + $237 = ((($236)) + 4|0); + $238 = HEAP32[$237>>2]|0; + $239 = (_sqlite3FunctionUsesThisSrc($235,$238)|0); + $240 = ($239|0)!=(0); + $241 = $240 ^ 1; + if (!($241)) { break; } - $244 = HEAP32[$2>>2]|0; - $245 = ((($244)) + 38|0); - $246 = HEAP8[$245>>0]|0; - $247 = (($246) + 1)<<24>>24; - HEAP8[$245>>0] = $247; - $248 = HEAP32[$pNC2>>2]|0; - $249 = ((($248)) + 16|0); - $250 = HEAP32[$249>>2]|0; - HEAP32[$pNC2>>2] = $250; - } - $251 = HEAP32[$pNC2>>2]|0; - $252 = ($251|0)!=(0|0); - if ($252) { - $253 = HEAP32[$pDef>>2]|0; - $254 = ((($253)) + 2|0); - $255 = HEAP16[$254>>1]|0; - $256 = $255&65535; - $257 = $256 & 4096; - $258 = 16 | $257; - $259 = HEAP32[$pNC2>>2]|0; - $260 = ((($259)) + 28|0); - $261 = HEAP16[$260>>1]|0; + $242 = HEAP32[$2>>2]|0; + $243 = ((($242)) + 38|0); + $244 = HEAP8[$243>>0]|0; + $245 = (($244) + 1)<<24>>24; + HEAP8[$243>>0] = $245; + $246 = HEAP32[$pNC2>>2]|0; + $247 = ((($246)) + 16|0); + $248 = HEAP32[$247>>2]|0; + HEAP32[$pNC2>>2] = $248; + } + $249 = HEAP32[$pNC2>>2]|0; + $250 = ($249|0)!=(0|0); + if ($250) { + $251 = HEAP32[$pDef>>2]|0; + $252 = ((($251)) + 2|0); + $253 = HEAP16[$252>>1]|0; + $254 = $253&65535; + $255 = $254 & 4096; + $256 = 16 | $255; + $257 = HEAP32[$pNC2>>2]|0; + $258 = ((($257)) + 28|0); + $259 = HEAP16[$258>>1]|0; + $260 = $259&65535; + $261 = $260 | $256; $262 = $261&65535; - $263 = $262 | $258; - $264 = $263&65535; - HEAP16[$260>>1] = $264; + HEAP16[$258>>1] = $262; } - $265 = HEAP32[$pNC>>2]|0; - $266 = ((($265)) + 28|0); - $267 = HEAP16[$266>>1]|0; + $263 = HEAP32[$pNC>>2]|0; + $264 = ((($263)) + 28|0); + $265 = HEAP16[$264>>1]|0; + $266 = $265&65535; + $267 = $266 | 1; $268 = $267&65535; - $269 = $268 | 1; - $270 = $269&65535; - HEAP16[$266>>1] = $270; + HEAP16[$264>>1] = $268; } HEAP32[$0>>2] = 1; - $314 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($314|0); + $329 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($329|0); break; } case 33: case 20: case 119: { - $271 = HEAP32[$2>>2]|0; - $272 = ((($271)) + 4|0); - $273 = HEAP32[$272>>2]|0; - $274 = $273 & 2048; - $275 = ($274|0)!=(0); - if ($275) { - $276 = HEAP32[$pNC>>2]|0; - $277 = ((($276)) + 20|0); - $278 = HEAP32[$277>>2]|0; - HEAP32[$nRef>>2] = $278; - $279 = HEAP32[$pParse>>2]|0; - $280 = HEAP32[$pNC>>2]|0; - _notValid($279,$280,30430,38); - $281 = HEAP32[$1>>2]|0; - $282 = HEAP32[$2>>2]|0; - $283 = ((($282)) + 20|0); - $284 = HEAP32[$283>>2]|0; - (_sqlite3WalkSelect($281,$284)|0); - $285 = HEAP32[$nRef>>2]|0; - $286 = HEAP32[$pNC>>2]|0; - $287 = ((($286)) + 20|0); - $288 = HEAP32[$287>>2]|0; - $289 = ($285|0)!=($288|0); - if ($289) { - $290 = HEAP32[$2>>2]|0; - $291 = ((($290)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 | 32; - HEAP32[$291>>2] = $293; - $294 = HEAP32[$pNC>>2]|0; - $295 = ((($294)) + 28|0); - $296 = HEAP16[$295>>1]|0; + $269 = HEAP32[$2>>2]|0; + $270 = ((($269)) + 4|0); + $271 = HEAP32[$270>>2]|0; + $272 = $271 & 2048; + $273 = ($272|0)!=(0); + if ($273) { + $274 = HEAP32[$pNC>>2]|0; + $275 = ((($274)) + 20|0); + $276 = HEAP32[$275>>2]|0; + HEAP32[$nRef>>2] = $276; + $277 = HEAP32[$pParse>>2]|0; + $278 = HEAP32[$pNC>>2]|0; + _notValid($277,$278,29816,38); + $279 = HEAP32[$1>>2]|0; + $280 = HEAP32[$2>>2]|0; + $281 = ((($280)) + 20|0); + $282 = HEAP32[$281>>2]|0; + (_sqlite3WalkSelect($279,$282)|0); + $283 = HEAP32[$nRef>>2]|0; + $284 = HEAP32[$pNC>>2]|0; + $285 = ((($284)) + 20|0); + $286 = HEAP32[$285>>2]|0; + $287 = ($283|0)!=($286|0); + if ($287) { + $288 = HEAP32[$2>>2]|0; + $289 = ((($288)) + 4|0); + $290 = HEAP32[$289>>2]|0; + $291 = $290 | 32; + HEAP32[$289>>2] = $291; + $292 = HEAP32[$pNC>>2]|0; + $293 = ((($292)) + 28|0); + $294 = HEAP16[$293>>1]|0; + $295 = $294&65535; + $296 = $295 | 64; $297 = $296&65535; - $298 = $297 | 64; - $299 = $298&65535; - HEAP16[$295>>1] = $299; + HEAP16[$293>>1] = $297; } } break; } case 135: { + $298 = HEAP32[$pParse>>2]|0; + $299 = HEAP32[$pNC>>2]|0; + _notValid($298,$299,29827,38); + break; + } + case 148: case 29: case 41: case 38: case 39: case 40: case 36: case 37: { $300 = HEAP32[$pParse>>2]|0; - $301 = HEAP32[$pNC>>2]|0; - _notValid($300,$301,30441,38); + $301 = HEAP32[$300>>2]|0; + $302 = ((($301)) + 69|0); + $303 = HEAP8[$302>>0]|0; + $304 = ($303<<24>>24)!=(0); + if (!($304)) { + $305 = HEAP32[$2>>2]|0; + $306 = ((($305)) + 12|0); + $307 = HEAP32[$306>>2]|0; + $308 = (_sqlite3ExprVectorSize($307)|0); + HEAP32[$nLeft>>2] = $308; + $309 = HEAP32[$2>>2]|0; + $310 = ((($309)) + 16|0); + $311 = HEAP32[$310>>2]|0; + $312 = (_sqlite3ExprVectorSize($311)|0); + HEAP32[$nRight>>2] = $312; + $313 = HEAP32[$nLeft>>2]|0; + $314 = HEAP32[$nRight>>2]|0; + $315 = ($313|0)!=($314|0); + if ($315) { + $316 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($316,29838,$vararg_buffer15); + } + } break; } default: { } } - $302 = HEAP32[$pParse>>2]|0; - $303 = ((($302)) + 68|0); - $304 = HEAP32[$303>>2]|0; - $305 = ($304|0)!=(0); - if ($305) { - $313 = 1; + $317 = HEAP32[$pParse>>2]|0; + $318 = ((($317)) + 36|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)!=(0); + if ($320) { + $328 = 1; } else { - $306 = HEAP32[$pParse>>2]|0; - $307 = HEAP32[$306>>2]|0; - $308 = ((($307)) + 69|0); - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = ($310|0)!=(0); - $313 = $311; - } - $312 = $313 ? 2 : 0; - HEAP32[$0>>2] = $312; - $314 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($314|0); + $321 = HEAP32[$pParse>>2]|0; + $322 = HEAP32[$321>>2]|0; + $323 = ((($322)) + 69|0); + $324 = HEAP8[$323>>0]|0; + $325 = $324&255; + $326 = ($325|0)!=(0); + $328 = $326; + } + $327 = $328 ? 2 : 0; + HEAP32[$0>>2] = $327; + $329 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($329|0); } function _resolveSelectStep($pWalker,$p) { $pWalker = $pWalker|0; @@ -138520,7 +139807,7 @@ function _resolveSelectStep($pWalker,$p) { $22 = HEAP32[$pOuterNC>>2]|0; _sqlite3SelectPrep($20,$21,$22); $23 = HEAP32[$pParse>>2]|0; - $24 = ((($23)) + 68|0); + $24 = ((($23)) + 36|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0); if ($26) { @@ -138628,7 +139915,7 @@ function _resolveSelectStep($pWalker,$p) { if ($90) { HEAP32[$nRef>>2] = 0; $91 = HEAP32[$pParse>>2]|0; - $92 = ((($91)) + 496|0); + $92 = ((($91)) + 448|0); $93 = HEAP32[$92>>2]|0; HEAP32[$zSavedContext>>2] = $93; $94 = HEAP32[$pOuterNC>>2]|0; @@ -138659,7 +139946,7 @@ function _resolveSelectStep($pWalker,$p) { $110 = ((($109)) + 8|0); $111 = HEAP32[$110>>2]|0; $112 = HEAP32[$pParse>>2]|0; - $113 = ((($112)) + 496|0); + $113 = ((($112)) + 448|0); HEAP32[$113>>2] = $111; } $114 = HEAP32[$pParse>>2]|0; @@ -138670,10 +139957,10 @@ function _resolveSelectStep($pWalker,$p) { _sqlite3ResolveSelectNames($114,$117,$118); $119 = HEAP32[$zSavedContext>>2]|0; $120 = HEAP32[$pParse>>2]|0; - $121 = ((($120)) + 496|0); + $121 = ((($120)) + 448|0); HEAP32[$121>>2] = $119; $122 = HEAP32[$pParse>>2]|0; - $123 = ((($122)) + 68|0); + $123 = ((($122)) + 36|0); $124 = HEAP32[$123>>2]|0; $125 = ($124|0)!=(0); if ($125) { @@ -138895,7 +140182,7 @@ function _resolveSelectStep($pWalker,$p) { $266 = HEAP32[$2>>2]|0; $267 = ((($266)) + 44|0); $268 = HEAP32[$267>>2]|0; - $269 = (_resolveOrderGroupBy($sNC,$265,$268,29703)|0); + $269 = (_resolveOrderGroupBy($sNC,$265,$268,29099)|0); $270 = ($269|0)!=(0); if ($270) { label = 52; @@ -138916,7 +140203,7 @@ function _resolveSelectStep($pWalker,$p) { if ($276) { $277 = HEAP32[$2>>2]|0; $278 = HEAP32[$pGroupBy>>2]|0; - $279 = (_resolveOrderGroupBy($sNC,$277,$278,29709)|0); + $279 = (_resolveOrderGroupBy($sNC,$277,$278,29105)|0); $280 = ($279|0)!=(0); if ($280) { label = 58; @@ -139011,7 +140298,7 @@ function _resolveSelectStep($pWalker,$p) { } case 37: { $197 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($197,29659,$vararg_buffer); + _sqlite3ErrorMsg($197,29055,$vararg_buffer); HEAP32[$0>>2] = 2; $332 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($332|0); @@ -139055,7 +140342,7 @@ function _resolveSelectStep($pWalker,$p) { } case 62: { $299 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($299,29715,$vararg_buffer2); + _sqlite3ErrorMsg($299,29111,$vararg_buffer2); HEAP32[$0>>2] = 2; $332 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($332|0); @@ -139128,7 +140415,7 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$11>>2]|0; - $13 = ((($12)) + 464|0); + $13 = ((($12)) + 416|0); $14 = HEAP32[$13>>2]|0; $15 = (($10) + ($14))|0; $16 = (_sqlite3ExprCheckHeight($7,$15)|0); @@ -139142,7 +140429,7 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { $19 = ((($18)) + 24|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$pParse>>2]|0; - $22 = ((($21)) + 464|0); + $22 = ((($21)) + 416|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + ($20))|0; HEAP32[$22>>2] = $24; @@ -139183,7 +140470,7 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { $49 = HEAP32[$48>>2]|0; $50 = HEAP32[$1>>2]|0; $51 = HEAP32[$50>>2]|0; - $52 = ((($51)) + 464|0); + $52 = ((($51)) + 416|0); $53 = HEAP32[$52>>2]|0; $54 = (($53) - ($49))|0; HEAP32[$52>>2] = $54; @@ -139195,7 +140482,7 @@ function _sqlite3ResolveExprNames($pNC,$pExpr) { label = 7; } else { $59 = HEAP32[$w>>2]|0; - $60 = ((($59)) + 68|0); + $60 = ((($59)) + 36|0); $61 = HEAP32[$60>>2]|0; $62 = ($61|0)>(0); if ($62) { @@ -139503,7 +140790,7 @@ function _sqlite3SelectWrongNumTermsError($pParse,$p) { $6 = ($5|0)!=(0); $7 = HEAP32[$0>>2]|0; if ($6) { - _sqlite3ErrorMsg($7,29925,$vararg_buffer); + _sqlite3ErrorMsg($7,29321,$vararg_buffer); STACKTOP = sp;return; } else { $8 = HEAP32[$1>>2]|0; @@ -139512,7 +140799,7 @@ function _sqlite3SelectWrongNumTermsError($pParse,$p) { $11 = $10&255; $12 = (_selectOpName($11)|0); HEAP32[$vararg_buffer1>>2] = $12; - _sqlite3ErrorMsg($7,29971,$vararg_buffer1); + _sqlite3ErrorMsg($7,29367,$vararg_buffer1); STACKTOP = sp;return; } } @@ -139567,13 +140854,13 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $10 = HEAP32[$pOrderBy>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 92|0); + $13 = ((($12)) + 96|0); $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = ($11|0)>($15|0); if ($16) { $17 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($17,29774,$vararg_buffer); + _sqlite3ErrorMsg($17,29170,$vararg_buffer); HEAP32[$0>>2] = 1; $172 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($172|0); @@ -139716,7 +141003,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { break; } $104 = HEAP32[$db>>2]|0; - $105 = (_sqlite3Expr($104,132,0)|0); + $105 = (_sqlite3Expr($104,134,0)|0); HEAP32[$pNew>>2] = $105; $106 = HEAP32[$pNew>>2]|0; $107 = ($106|0)==(0|0); @@ -139799,7 +141086,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $80 = (($79) + 1)|0; $81 = HEAP32[$pEList>>2]|0; $82 = HEAP32[$81>>2]|0; - _resolveOutOfRangeError($78,29703,$80,$82); + _resolveOutOfRangeError($78,29099,$80,$82); HEAP32[$0>>2] = 1; $172 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($172|0); @@ -139843,7 +141130,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $168 = HEAP32[$i>>2]|0; $169 = (($168) + 1)|0; HEAP32[$vararg_buffer1>>2] = $169; - _sqlite3ErrorMsg($167,29808,$vararg_buffer1); + _sqlite3ErrorMsg($167,29204,$vararg_buffer1); HEAP32[$0>>2] = 1; $172 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($172|0); @@ -139947,7 +141234,7 @@ function _resolveOutOfRangeError($pParse,$zType,$i,$mx) { HEAP32[$vararg_ptr1>>2] = $6; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $7; - _sqlite3ErrorMsg($4,29869,$vararg_buffer); + _sqlite3ErrorMsg($4,29265,$vararg_buffer); STACKTOP = sp;return; } function _resolveAsName($pParse,$pEList,$pE) { @@ -140584,11 +141871,12 @@ function _exprDup($db,$p,$dupFlags,$pzBuffer) { var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nNewSize = 0, $nSize = 0, $nStructSize = 0, $nToken = 0, $pNew = 0, $staticFlag = 0, $zAlloc = 0, $zToken = 0, label = 0, sp = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $nNewSize = 0; + var $nSize = 0, $nStructSize = 0, $nToken = 0, $pNew = 0, $staticFlag = 0, $zAlloc = 0, $zToken = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -140630,8 +141918,8 @@ function _exprDup($db,$p,$dupFlags,$pzBuffer) { $16 = HEAP32[$pNew>>2]|0; $17 = ($16|0)!=(0|0); if (!($17)) { - $169 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($169|0); + $178 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($178|0); } $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$2>>2]|0; @@ -140734,7 +142022,7 @@ function _exprDup($db,$p,$dupFlags,$pzBuffer) { $85 = ((($84)) + 4|0); $86 = HEAP32[$85>>2]|0; $87 = $83 | $86; - $88 = $87 & 16384; + $88 = $87 & 8404992; $89 = (0)==($88|0); do { if ($89) { @@ -140774,30 +142062,43 @@ function _exprDup($db,$p,$dupFlags,$pzBuffer) { if (!($112)) { $151 = ((($113)) + 4|0); $152 = HEAP32[$151>>2]|0; - $153 = $152 & 16384; + $153 = $152 & 8404992; $154 = ($153|0)!=(0); if ($154) { + $178 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($178|0); + } + $155 = HEAP32[$pNew>>2]|0; + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = ($157|0)==(159); + if ($158) { + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 12|0); + $161 = HEAP32[$160>>2]|0; + $162 = HEAP32[$pNew>>2]|0; + $163 = ((($162)) + 12|0); + HEAP32[$163>>2] = $161; + } else { + $164 = HEAP32[$0>>2]|0; + $165 = HEAP32[$1>>2]|0; + $166 = ((($165)) + 12|0); + $167 = HEAP32[$166>>2]|0; + $168 = (_sqlite3ExprDup($164,$167,0)|0); $169 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($169|0); + $170 = ((($169)) + 12|0); + HEAP32[$170>>2] = $168; } - $155 = HEAP32[$0>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = ((($156)) + 12|0); - $158 = HEAP32[$157>>2]|0; - $159 = (_sqlite3ExprDup($155,$158,0)|0); - $160 = HEAP32[$pNew>>2]|0; - $161 = ((($160)) + 12|0); - HEAP32[$161>>2] = $159; - $162 = HEAP32[$0>>2]|0; - $163 = HEAP32[$1>>2]|0; - $164 = ((($163)) + 16|0); - $165 = HEAP32[$164>>2]|0; - $166 = (_sqlite3ExprDup($162,$165,0)|0); - $167 = HEAP32[$pNew>>2]|0; - $168 = ((($167)) + 16|0); - HEAP32[$168>>2] = $166; - $169 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($169|0); + $171 = HEAP32[$0>>2]|0; + $172 = HEAP32[$1>>2]|0; + $173 = ((($172)) + 16|0); + $174 = HEAP32[$173>>2]|0; + $175 = (_sqlite3ExprDup($171,$174,0)|0); + $176 = HEAP32[$pNew>>2]|0; + $177 = ((($176)) + 16|0); + HEAP32[$177>>2] = $175; + $178 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($178|0); } $114 = HEAP32[$2>>2]|0; $115 = (_dupedExprNodeSize($113,$114)|0); @@ -140807,9 +142108,9 @@ function _exprDup($db,$p,$dupFlags,$pzBuffer) { $118 = HEAP32[$pNew>>2]|0; $119 = ((($118)) + 4|0); $120 = HEAP32[$119>>2]|0; - $121 = $120 & 8192; + $121 = $120 & 8404992; $122 = ($121|0)!=(0); - if ($122) { + if (!($122)) { $123 = HEAP32[$1>>2]|0; $124 = ((($123)) + 12|0); $125 = HEAP32[$124>>2]|0; @@ -140848,14 +142149,14 @@ function _exprDup($db,$p,$dupFlags,$pzBuffer) { $147 = HEAP32[$3>>2]|0; $148 = ($147|0)!=(0|0); if (!($148)) { - $169 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($169|0); + $178 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($178|0); } $149 = HEAP32[$zAlloc>>2]|0; $150 = HEAP32[$3>>2]|0; HEAP32[$150>>2] = $149; - $169 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($169|0); + $178 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($178|0); } function _dupedExprSize($p,$flags) { $p = $p|0; @@ -141198,19 +142499,19 @@ function _selectOpName($id) { $1 = HEAP32[$0>>2]|0; switch ($1|0) { case 116: { - HEAP32[$z>>2] = 30053; + HEAP32[$z>>2] = 29449; break; } case 118: { - HEAP32[$z>>2] = 30063; + HEAP32[$z>>2] = 29459; break; } case 117: { - HEAP32[$z>>2] = 30073; + HEAP32[$z>>2] = 29469; break; } default: { - HEAP32[$z>>2] = 30080; + HEAP32[$z>>2] = 29476; } } $2 = HEAP32[$z>>2]|0; @@ -141257,7 +142558,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { $15 = HEAP32[$3>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 92|0); + $18 = ((($17)) + 96|0); $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = ($16|0)>($20|0); @@ -141265,7 +142566,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer>>2] = $23; - _sqlite3ErrorMsg($22,30086,$vararg_buffer); + _sqlite3ErrorMsg($22,29482,$vararg_buffer); HEAP32[$0>>2] = 1; $63 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($63|0); @@ -141572,7 +142873,7 @@ function _sqlite3ExprCheckHeight($pParse,$nHeight) { HEAP32[$rc>>2] = 0; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 92|0); + $4 = ((($3)) + 96|0); $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; HEAP32[$mxHeight>>2] = $6; @@ -141586,7 +142887,7 @@ function _sqlite3ExprCheckHeight($pParse,$nHeight) { $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$mxHeight>>2]|0; HEAP32[$vararg_buffer>>2] = $11; - _sqlite3ErrorMsg($10,30117,$vararg_buffer); + _sqlite3ErrorMsg($10,29513,$vararg_buffer); HEAP32[$rc>>2] = 1; $12 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($12|0); @@ -142019,12 +143320,12 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $or$cond5 = $or$cond3 & $218; if ($or$cond5) { $219 = HEAP32[$1>>2]|0; - $220 = ((($219)) + 420|0); + $220 = ((($219)) + 128|0); $221 = HEAP32[$220>>2]|0; $222 = ($221|0)!=(0|0); if ($222) { $223 = HEAP32[$1>>2]|0; - $224 = ((($223)) + 440|0); + $224 = ((($223)) + 148|0); $225 = HEAP8[$224>>0]|0; $226 = $225&255; HEAP32[$op>>2] = $226; @@ -142032,14 +143333,14 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $228 = ($227|0)!=(109); if ($228) { $229 = HEAP32[$3>>2]|0; - $230 = (_sqlite3StrICmp(30536,$229)|0); + $230 = (_sqlite3StrICmp(29940,$229)|0); $231 = ($230|0)==(0); if ($231) { $232 = HEAP32[$6>>2]|0; $233 = ((($232)) + 28|0); HEAP32[$233>>2] = 1; $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 420|0); + $235 = ((($234)) + 128|0); $236 = HEAP32[$235>>2]|0; HEAP32[$pTab>>2] = $236; } else { @@ -142055,14 +143356,14 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $238 = ($237|0)!=(108); if ($238) { $239 = HEAP32[$3>>2]|0; - $240 = (_sqlite3StrICmp(30540,$239)|0); + $240 = (_sqlite3StrICmp(29944,$239)|0); $241 = ($240|0)==(0); if ($241) { $242 = HEAP32[$6>>2]|0; $243 = ((($242)) + 28|0); HEAP32[$243>>2] = 0; $244 = HEAP32[$1>>2]|0; - $245 = ((($244)) + 420|0); + $245 = ((($244)) + 128|0); $246 = HEAP32[$245>>2]|0; HEAP32[$pTab>>2] = $246; break; @@ -142173,13 +143474,13 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $311 = $308 ? -1 : $310; $312 = HEAP32[$1>>2]|0; if ($306) { - $313 = ((($312)) + 432|0); + $313 = ((($312)) + 140|0); $314 = HEAP32[$313>>2]|0; $315 = $314 | $311; HEAP32[$313>>2] = $315; break; } else { - $316 = ((($312)) + 436|0); + $316 = ((($312)) + 144|0); $317 = HEAP32[$316>>2]|0; $318 = $317 | $311; HEAP32[$316>>2] = $318; @@ -142326,7 +143627,7 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $395 = HEAP32[$1>>2]|0; $396 = HEAP32[$zAs>>2]|0; HEAP32[$vararg_buffer>>2] = $396; - _sqlite3ErrorMsg($395,30544,$vararg_buffer); + _sqlite3ErrorMsg($395,29948,$vararg_buffer); HEAP32[$0>>2] = 2; $518 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($518|0); @@ -142337,7 +143638,7 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $399 = HEAP32[$j>>2]|0; $400 = HEAP32[$6>>2]|0; $401 = HEAP32[$nSubquery>>2]|0; - _resolveAlias($397,$398,$399,$400,19018,$401); + _resolveAlias($397,$398,$399,$400,18402,$401); HEAP32[$cnt>>2] = 1; HEAP32[$pMatch>>2] = 0; } @@ -142369,7 +143670,7 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { if ($424) { $425 = HEAP32[$cnt>>2]|0; $426 = ($425|0)==(0); - $427 = $426 ? 30575 : 30590; + $427 = $426 ? 29979 : 29994; HEAP32[$zErr>>2] = $427; $428 = HEAP32[$2>>2]|0; $429 = ($428|0)!=(0|0); @@ -142387,7 +143688,7 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { HEAP32[$vararg_ptr22>>2] = $433; $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); HEAP32[$vararg_ptr23>>2] = $434; - _sqlite3ErrorMsg($430,30612,$vararg_buffer18); + _sqlite3ErrorMsg($430,30016,$vararg_buffer18); } else { $435 = HEAP32[$3>>2]|0; $436 = ($435|0)!=(0|0); @@ -142401,14 +143702,14 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { HEAP32[$vararg_ptr27>>2] = $439; $vararg_ptr28 = ((($vararg_buffer24)) + 8|0); HEAP32[$vararg_ptr28>>2] = $440; - _sqlite3ErrorMsg($437,30625,$vararg_buffer24); + _sqlite3ErrorMsg($437,30029,$vararg_buffer24); break; } else { $441 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer29>>2] = $438; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $441; - _sqlite3ErrorMsg($437,30635,$vararg_buffer29); + _sqlite3ErrorMsg($437,30039,$vararg_buffer29); break; } } @@ -142554,7 +143855,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { if (!($10)) { STACKTOP = sp;return; } - HEAP32[$zIn>>2] = 30452; + HEAP32[$zIn>>2] = 29856; $11 = HEAP32[$1>>2]|0; $12 = ((($11)) + 28|0); $13 = HEAP16[$12>>1]|0; @@ -142562,7 +143863,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { $15 = $14 & 32; $16 = ($15|0)!=(0); if ($16) { - HEAP32[$zIn>>2] = 30480; + HEAP32[$zIn>>2] = 29884; } else { $17 = HEAP32[$1>>2]|0; $18 = ((($17)) + 28|0); @@ -142571,7 +143872,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { $21 = $20 & 4; $22 = ($21|0)!=(0); if ($22) { - HEAP32[$zIn>>2] = 30498; + HEAP32[$zIn>>2] = 29902; } } $23 = HEAP32[$0>>2]|0; @@ -142580,7 +143881,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { HEAP32[$vararg_buffer>>2] = $24; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $25; - _sqlite3ErrorMsg($23,30516,$vararg_buffer); + _sqlite3ErrorMsg($23,29920,$vararg_buffer); STACKTOP = sp;return; } function _exprProbability($p) { @@ -142597,7 +143898,7 @@ function _exprProbability($p) { $2 = HEAP32[$1>>2]|0; $3 = HEAP8[$2>>0]|0; $4 = $3&255; - $5 = ($4|0)!=(133); + $5 = ($4|0)!=(132); if ($5) { HEAP32[$0>>2] = -1; $18 = HEAP32[$0>>2]|0; @@ -142665,6 +143966,59 @@ function _sqlite3FunctionUsesThisSrc($pExpr,$pSrcList) { $17 = $16&1; STACKTOP = sp;return ($17|0); } +function _sqlite3ExprVectorSize($pExpr) { + $pExpr = $pExpr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + $op = sp + 8|0; + HEAP32[$1>>2] = $pExpr; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + HEAP8[$op>>0] = $3; + $4 = HEAP8[$op>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(157); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 38|0); + $9 = HEAP8[$8>>0]|0; + HEAP8[$op>>0] = $9; + } + $10 = HEAP8[$op>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(158); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + HEAP32[$0>>2] = $16; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } + $17 = HEAP8[$op>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(119); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$23>>2]|0; + HEAP32[$0>>2] = $24; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } else { + HEAP32[$0>>2] = 1; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } + return (0)|0; +} function _exprSrcCount($pWalker,$pExpr) { $pWalker = $pWalker|0; $pExpr = $pExpr|0; @@ -142884,7 +144238,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $46 = HEAP32[$1>>2]|0; $47 = HEAP8[$46>>0]|0; $48 = $47&255; - $49 = (19019 + ($48)|0); + $49 = (18403 + ($48)|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = $51 & 1; @@ -142937,7 +144291,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $77 = HEAP32[$1>>2]|0; $78 = HEAP8[$77>>0]|0; $79 = $78&255; - $80 = (19019 + ($79)|0); + $80 = (18403 + ($79)|0); $81 = HEAP8[$80>>0]|0; $82 = $81&255; $83 = $82 & 4; @@ -142997,7 +144351,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $124 = HEAP32[$1>>2]|0; $125 = HEAP8[$124>>0]|0; $126 = $125&255; - $127 = (19019 + ($126)|0); + $127 = (18403 + ($126)|0); $128 = HEAP8[$127>>0]|0; $129 = $128&255; $130 = $129 & 4; @@ -143041,7 +144395,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $152 = HEAP32[$1>>2]|0; $153 = HEAP8[$152>>0]|0; $154 = $153&255; - $155 = (19019 + ($154)|0); + $155 = (18403 + ($154)|0); $156 = HEAP8[$155>>0]|0; $157 = $156&255; $158 = $157 & 4; @@ -143161,7 +144515,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $232 = HEAP32[$1>>2]|0; $233 = HEAP8[$232>>0]|0; $234 = $233&255; - $235 = (19019 + ($234)|0); + $235 = (18403 + ($234)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = $237 & 4; @@ -143202,7 +144556,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $256 = HEAP32[$1>>2]|0; $257 = HEAP8[$256>>0]|0; $258 = $257&255; - $259 = (19019 + ($258)|0); + $259 = (18403 + ($258)|0); $260 = HEAP8[$259>>0]|0; $261 = $260&255; $262 = $261 & 1; @@ -143735,7 +145089,7 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { L7: do { if ($19) { $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 420|0); + $21 = ((($20)) + 128|0); $22 = HEAP32[$21>>2]|0; HEAP32[$pTab>>2] = $22; } else { @@ -143813,7 +145167,7 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { HEAP32[$zCol>>2] = $71; break; } else { - HEAP32[$zCol>>2] = 20511; + HEAP32[$zCol>>2] = 19895; break; } } @@ -143839,94 +145193,105 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { $iDb = $iDb|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $zDb = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer6 = 0; + var $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $zDb = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer6 = sp + 16|0; $vararg_buffer = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 52|0; + $1 = sp + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; $db = sp + 32|0; $zDb = sp + 28|0; $rc = sp + 24|0; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $zTab; - HEAP32[$2>>2] = $zCol; - HEAP32[$3>>2] = $iDb; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - HEAP32[$db>>2] = $5; - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($6<<4)|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$zDb>>2] = $11; - $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 296|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 300|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$zDb>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 496|0); - $23 = HEAP32[$22>>2]|0; - $24 = (FUNCTION_TABLE_iiiiiii[$14 & 255]($17,20,$18,$19,$20,$23)|0); - HEAP32[$rc>>2] = $24; - $25 = HEAP32[$rc>>2]|0; - $26 = ($25|0)==(1); - if (!($26)) { - $41 = HEAP32[$rc>>2]|0; - $42 = ($41|0)!=(2); - $43 = HEAP32[$rc>>2]|0; - $44 = ($43|0)!=(0); - $or$cond3 = $42 & $44; - if (!($or$cond3)) { - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); - } - $45 = HEAP32[$0>>2]|0; - _sqliteAuthBadReturnCode($45); - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); + HEAP32[$1>>2] = $pParse; + HEAP32[$2>>2] = $zTab; + HEAP32[$3>>2] = $zCol; + HEAP32[$4>>2] = $iDb; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$5>>2]|0; + HEAP32[$db>>2] = $6; + $7 = HEAP32[$4>>2]|0; + $8 = HEAP32[$db>>2]|0; + $9 = ((($8)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($7<<4)|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$zDb>>2] = $12; + $13 = HEAP32[$db>>2]|0; + $14 = ((($13)) + 148|0); + $15 = ((($14)) + 5|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if ($17) { + HEAP32[$0>>2] = 0; + $53 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($53|0); } - $27 = HEAP32[$db>>2]|0; - $28 = ((($27)) + 20|0); + $18 = HEAP32[$db>>2]|0; + $19 = ((($18)) + 296|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$db>>2]|0; + $22 = ((($21)) + 300|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$zDb>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 448|0); $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)>(2); - $31 = HEAP32[$3>>2]|0; - $32 = ($31|0)!=(0); - $or$cond = $30 | $32; - $33 = HEAP32[$0>>2]|0; - if ($or$cond) { - $34 = HEAP32[$zDb>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer>>2] = $34; - $vararg_ptr4 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $35; - $vararg_ptr5 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $36; - _sqlite3ErrorMsg($33,30642,$vararg_buffer); + $30 = (FUNCTION_TABLE_iiiiiii[$20 & 255]($23,20,$24,$25,$26,$29)|0); + HEAP32[$rc>>2] = $30; + $31 = HEAP32[$rc>>2]|0; + $32 = ($31|0)==(1); + if ($32) { + $33 = HEAP32[$db>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)>(2); + $37 = HEAP32[$4>>2]|0; + $38 = ($37|0)!=(0); + $or$cond = $36 | $38; + $39 = HEAP32[$1>>2]|0; + if ($or$cond) { + $40 = HEAP32[$zDb>>2]|0; + $41 = HEAP32[$2>>2]|0; + $42 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $40; + $vararg_ptr4 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $41; + $vararg_ptr5 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $42; + _sqlite3ErrorMsg($39,30046,$vararg_buffer); + } else { + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer6>>2] = $43; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $44; + _sqlite3ErrorMsg($39,30079,$vararg_buffer6); + } + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 12|0); + HEAP32[$46>>2] = 23; } else { - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer6>>2] = $37; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $38; - _sqlite3ErrorMsg($33,30675,$vararg_buffer6); + $47 = HEAP32[$rc>>2]|0; + $48 = ($47|0)!=(2); + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)!=(0); + $or$cond3 = $48 & $50; + if ($or$cond3) { + $51 = HEAP32[$1>>2]|0; + _sqliteAuthBadReturnCode($51); + } } - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 12|0); - HEAP32[$40>>2] = 23; - $46 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($46|0); + $52 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $52; + $53 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($53|0); } function _convertCompoundSelectToSubquery($pWalker,$p) { $pWalker = $pWalker|0; @@ -144083,7 +145448,7 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { HEAP32[$70>>2] = $68; $71 = HEAP32[$pParse>>2]|0; $72 = HEAP32[$db>>2]|0; - $73 = (_sqlite3Expr($72,158,0)|0); + $73 = (_sqlite3Expr($72,160,0)|0); $74 = (_sqlite3ExprListAppend($71,0,$73)|0); $75 = HEAP32[$2>>2]|0; HEAP32[$75>>2] = $74; @@ -144346,7 +145711,7 @@ function _selectExpander($pWalker,$p) { $84 = HEAP32[$db>>2]|0; $85 = HEAP32[$pTab>>2]|0; HEAP32[$vararg_buffer>>2] = $85; - $86 = (_sqlite3MPrintf($84,30705,$vararg_buffer)|0); + $86 = (_sqlite3MPrintf($84,30109,$vararg_buffer)|0); $87 = HEAP32[$pTab>>2]|0; HEAP32[$87>>2] = $86; while(1) { @@ -144518,7 +145883,7 @@ function _selectExpander($pWalker,$p) { $125 = HEAP32[$pTab>>2]|0; $126 = HEAP32[$125>>2]|0; HEAP32[$vararg_buffer4>>2] = $126; - _sqlite3ErrorMsg($124,30718,$vararg_buffer4); + _sqlite3ErrorMsg($124,30122,$vararg_buffer4); $127 = HEAP32[$pFrom>>2]|0; $128 = ((($127)) + 16|0); HEAP32[$128>>2] = 0; @@ -144572,7 +145937,7 @@ function _selectExpander($pWalker,$p) { $203 = HEAP32[$pE>>2]|0; $204 = HEAP8[$203>>0]|0; $205 = $204&255; - $206 = ($205|0)==(158); + $206 = ($205|0)==(160); if ($206) { break; } @@ -144586,7 +145951,7 @@ function _selectExpander($pWalker,$p) { $213 = HEAP32[$212>>2]|0; $214 = HEAP8[$213>>0]|0; $215 = $214&255; - $216 = ($215|0)==(158); + $216 = ($215|0)==(160); if ($216) { break; } @@ -144644,7 +146009,7 @@ function _selectExpander($pWalker,$p) { $249 = HEAP32[$pE>>2]|0; $250 = HEAP8[$249>>0]|0; $251 = $250&255; - $252 = ($251|0)!=(158); + $252 = ($251|0)!=(160); do { if ($252) { $253 = HEAP32[$pE>>2]|0; @@ -144655,7 +146020,7 @@ function _selectExpander($pWalker,$p) { $257 = HEAP32[$pRight>>2]|0; $258 = HEAP8[$257>>0]|0; $259 = $258&255; - $260 = ($259|0)!=(158); + $260 = ($259|0)!=(160); if (!($260)) { label = 58; break; @@ -144823,7 +146188,7 @@ function _selectExpander($pWalker,$p) { $364 = HEAP32[$363>>2]|0; $365 = $364; } else { - $365 = 26067; + $365 = 25451; } HEAP32[$zSchemaName>>2] = $365; label = 72; @@ -144989,7 +146354,7 @@ function _selectExpander($pWalker,$p) { HEAP32[$vararg_buffer7>>2] = $457; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $458; - $459 = (_sqlite3MPrintf($456,30757,$vararg_buffer7)|0); + $459 = (_sqlite3MPrintf($456,30161,$vararg_buffer7)|0); HEAP32[$zColname>>2] = $459; $460 = HEAP32[$zColname>>2]|0; HEAP32[$zToFree>>2] = $460; @@ -145050,7 +146415,7 @@ function _selectExpander($pWalker,$p) { HEAP32[$vararg_ptr14>>2] = $498; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $499; - $500 = (_sqlite3MPrintf($485,30763,$vararg_buffer11)|0); + $500 = (_sqlite3MPrintf($485,30167,$vararg_buffer11)|0); $501 = HEAP32[$pX>>2]|0; $502 = ((($501)) + 8|0); HEAP32[$502>>2] = $500; @@ -145090,10 +146455,10 @@ function _selectExpander($pWalker,$p) { if ($519) { $521 = HEAP32[$zTName>>2]|0; HEAP32[$vararg_buffer16>>2] = $521; - _sqlite3ErrorMsg($520,30772,$vararg_buffer16); + _sqlite3ErrorMsg($520,30176,$vararg_buffer16); break; } else { - _sqlite3ErrorMsg($520,30790,$vararg_buffer19); + _sqlite3ErrorMsg($520,30194,$vararg_buffer19); break; } } @@ -145118,13 +146483,13 @@ function _selectExpander($pWalker,$p) { $532 = HEAP32[$531>>2]|0; $533 = HEAP32[$532>>2]|0; $534 = HEAP32[$db>>2]|0; - $535 = ((($534)) + 92|0); + $535 = ((($534)) + 96|0); $536 = ((($535)) + 8|0); $537 = HEAP32[$536>>2]|0; $538 = ($533|0)>($537|0); if ($538) { $539 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($539,30810,$vararg_buffer21); + _sqlite3ErrorMsg($539,30214,$vararg_buffer21); HEAP32[$0>>2] = 2; $540 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($540|0); @@ -145174,7 +146539,7 @@ function _selectPopWith($pWalker,$p) { $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$pParse>>2]|0; - $14 = ((($13)) + 536|0); + $14 = ((($13)) + 472|0); HEAP32[$14>>2] = $12; STACKTOP = sp;return; } @@ -145245,7 +146610,7 @@ function _withExpand($pWalker,$pFrom) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$pParse>>2]|0; - $8 = ((($7)) + 536|0); + $8 = ((($7)) + 472|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$2>>2]|0; $11 = (_searchWith($9,$10,$pWith)|0); @@ -145433,21 +146798,21 @@ function _withExpand($pWalker,$pFrom) { $131 = HEAP32[$pCte>>2]|0; $132 = HEAP32[$131>>2]|0; HEAP32[$vararg_buffer1>>2] = $132; - _sqlite3ErrorMsg($130,31051,$vararg_buffer1); + _sqlite3ErrorMsg($130,30455,$vararg_buffer1); HEAP32[$0>>2] = 1; $210 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($210|0); } $133 = HEAP32[$pCte>>2]|0; $134 = ((($133)) + 12|0); - HEAP32[$134>>2] = 31094; + HEAP32[$134>>2] = 30498; $135 = HEAP32[$pParse>>2]|0; - $136 = ((($135)) + 536|0); + $136 = ((($135)) + 472|0); $137 = HEAP32[$136>>2]|0; HEAP32[$pSavedWith>>2] = $137; $138 = HEAP32[$pWith>>2]|0; $139 = HEAP32[$pParse>>2]|0; - $140 = ((($139)) + 536|0); + $140 = ((($139)) + 472|0); HEAP32[$140>>2] = $138; $141 = HEAP32[$1>>2]|0; $142 = HEAP32[$bMayRecursive>>2]|0; @@ -145463,7 +146828,7 @@ function _withExpand($pWalker,$pFrom) { (_sqlite3WalkSelect($141,$147)|0); $148 = HEAP32[$pWith>>2]|0; $149 = HEAP32[$pParse>>2]|0; - $150 = ((($149)) + 536|0); + $150 = ((($149)) + 472|0); HEAP32[$150>>2] = $148; $151 = HEAP32[$pSel>>2]|0; HEAP32[$pLeft>>2] = $151; @@ -145512,10 +146877,10 @@ function _withExpand($pWalker,$pFrom) { HEAP32[$vararg_ptr7>>2] = $177; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $181; - _sqlite3ErrorMsg($173,31117,$vararg_buffer4); + _sqlite3ErrorMsg($173,30521,$vararg_buffer4); $182 = HEAP32[$pSavedWith>>2]|0; $183 = HEAP32[$pParse>>2]|0; - $184 = ((($183)) + 536|0); + $184 = ((($183)) + 472|0); HEAP32[$184>>2] = $182; HEAP32[$0>>2] = 1; $210 = HEAP32[$0>>2]|0; @@ -145545,9 +146910,9 @@ function _withExpand($pWalker,$pFrom) { $201 = HEAP32[$pCte>>2]|0; $202 = ((($201)) + 12|0); if ($200) { - HEAP32[$202>>2] = 31155; + HEAP32[$202>>2] = 30559; } else { - HEAP32[$202>>2] = 31189; + HEAP32[$202>>2] = 30593; } $203 = HEAP32[$1>>2]|0; $204 = HEAP32[$pSel>>2]|0; @@ -145558,7 +146923,7 @@ function _withExpand($pWalker,$pFrom) { HEAP32[$206>>2] = 0; $207 = HEAP32[$pSavedWith>>2]|0; $208 = HEAP32[$pParse>>2]|0; - $209 = ((($208)) + 536|0); + $209 = ((($208)) + 472|0); HEAP32[$209>>2] = $207; } HEAP32[$0>>2] = 0; @@ -145591,7 +146956,7 @@ function _cannotBeFunction($pParse,$pFrom) { $13 = ((($12)) + 8|0); $14 = HEAP32[$13>>2]|0; HEAP32[$vararg_buffer>>2] = $14; - _sqlite3ErrorMsg($11,31028,$vararg_buffer); + _sqlite3ErrorMsg($11,30432,$vararg_buffer); HEAP32[$0>>2] = 1; $15 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($15|0); @@ -145679,7 +147044,7 @@ function _sqlite3IndexedByLookup($pParse,$pFrom) { HEAP32[$vararg_buffer>>2] = $37; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($36,31010,$vararg_buffer); + _sqlite3ErrorMsg($36,30414,$vararg_buffer); $38 = HEAP32[$1>>2]|0; $39 = ((($38)) + 17|0); HEAP8[$39>>0] = 1; @@ -145965,14 +147330,14 @@ function _sqliteProcessJoin($pParse,$p) { if ((label|0) == 7) { $46 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = 0; - _sqlite3ErrorMsg($46,30841,$vararg_buffer); + _sqlite3ErrorMsg($46,30245,$vararg_buffer); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); } else if ((label|0) == 15) { $85 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($85,30891,$vararg_buffer2); + _sqlite3ErrorMsg($85,30295,$vararg_buffer2); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); @@ -145981,7 +147346,7 @@ function _sqliteProcessJoin($pParse,$p) { $139 = HEAP32[$1>>2]|0; $140 = HEAP32[$zName1>>2]|0; HEAP32[$vararg_buffer4>>2] = $140; - _sqlite3ErrorMsg($139,30946,$vararg_buffer4); + _sqlite3ErrorMsg($139,30350,$vararg_buffer4); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); @@ -146404,7 +147769,7 @@ function _sqlite3ExprAnd($db,$pLeft,$pRight) { $17 = HEAP32[$3>>2]|0; _sqlite3ExprDelete($16,$17); $18 = HEAP32[$1>>2]|0; - $19 = (_sqlite3ExprAlloc($18,132,5116,0)|0); + $19 = (_sqlite3ExprAlloc($18,134,4276,0)|0); HEAP32[$0>>2] = $19; $27 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($27|0); @@ -146446,164 +147811,6 @@ function _exprAlwaysFalse($p) { $13 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($13|0); } -function _sqlite3ExprAlloc($db,$op,$pToken,$dequote) { - $db = $db|0; - $op = $op|0; - $pToken = $pToken|0; - $dequote = $dequote|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $iValue = 0, $nExtra = 0, $pNew = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $3 = sp + 12|0; - $pNew = sp + 8|0; - $nExtra = sp + 4|0; - $iValue = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $op; - HEAP32[$2>>2] = $pToken; - HEAP32[$3>>2] = $dequote; - HEAP32[$nExtra>>2] = 0; - HEAP32[$iValue>>2] = 0; - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)!=(0|0); - do { - if ($5) { - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)!=(132); - if (!($7)) { - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3GetInt32($12,$iValue)|0); - $14 = ($13|0)==(0); - if (!($14)) { - break; - } - } - } - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + 1)|0; - HEAP32[$nExtra>>2] = $18; - } - } while(0); - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$nExtra>>2]|0; - $21 = (48 + ($20))|0; - $22 = (_sqlite3DbMallocRawNN($19,$21,0)|0); - HEAP32[$pNew>>2] = $22; - $23 = HEAP32[$pNew>>2]|0; - $24 = ($23|0)!=(0|0); - if (!($24)) { - $91 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($91|0); - } - $25 = HEAP32[$pNew>>2]|0; - dest=$25; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $26 = HEAP32[$1>>2]|0; - $27 = $26&255; - $28 = HEAP32[$pNew>>2]|0; - HEAP8[$28>>0] = $27; - $29 = HEAP32[$pNew>>2]|0; - $30 = ((($29)) + 34|0); - HEAP16[$30>>1] = -1; - $31 = HEAP32[$2>>2]|0; - $32 = ($31|0)!=(0|0); - do { - if ($32) { - $33 = HEAP32[$nExtra>>2]|0; - $34 = ($33|0)==(0); - $35 = HEAP32[$pNew>>2]|0; - if ($34) { - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 | 1024; - HEAP32[$36>>2] = $38; - $39 = HEAP32[$iValue>>2]|0; - $40 = HEAP32[$pNew>>2]|0; - $41 = ((($40)) + 8|0); - HEAP32[$41>>2] = $39; - break; - } - $42 = ((($35)) + 48|0); - $43 = HEAP32[$pNew>>2]|0; - $44 = ((($43)) + 8|0); - HEAP32[$44>>2] = $42; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)!=(0); - if ($48) { - $49 = HEAP32[$pNew>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - _memcpy(($51|0),($53|0),($56|0))|0; - } - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = HEAP32[$pNew>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + ($59)|0); - HEAP8[$63>>0] = 0; - $64 = HEAP32[$3>>2]|0; - $65 = ($64|0)!=(0); - if ($65) { - $66 = HEAP32[$pNew>>2]|0; - $67 = ((($66)) + 8|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = (19019 + ($70)|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $73 & 128; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$pNew>>2]|0; - $77 = ((($76)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = HEAP8[$78>>0]|0; - $80 = $79 << 24 >> 24; - $81 = ($80|0)==(34); - if ($81) { - $82 = HEAP32[$pNew>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = $84 | 64; - HEAP32[$83>>2] = $85; - } - $86 = HEAP32[$pNew>>2]|0; - $87 = ((($86)) + 8|0); - $88 = HEAP32[$87>>2]|0; - _sqlite3Dequote($88); - } - } - } - } while(0); - $89 = HEAP32[$pNew>>2]|0; - $90 = ((($89)) + 24|0); - HEAP32[$90>>2] = 1; - $91 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($91|0); -} function _sqlite3ExprAttachSubtrees($db,$pRoot,$pLeft,$pRight) { $db = $db|0; $pRoot = $pRoot|0; @@ -147623,7 +148830,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$23>>2]|0; HEAP32[$vararg_buffer>>2] = $24; - $25 = (_sqlite3MPrintf($22,31246,$vararg_buffer)|0); + $25 = (_sqlite3MPrintf($22,30650,$vararg_buffer)|0); $26 = HEAP32[$5>>2]|0; HEAP32[$26>>2] = $25; HEAP32[$0>>2] = 6; @@ -147634,7 +148841,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $31 = HEAP32[$2>>2]|0; $32 = HEAP32[$31>>2]|0; HEAP32[$vararg_buffer2>>2] = $32; - $33 = (_sqlite3MPrintf($30,19007,$vararg_buffer2)|0); + $33 = (_sqlite3MPrintf($30,18391,$vararg_buffer2)|0); HEAP32[$zModuleName>>2] = $33; $34 = HEAP32[$zModuleName>>2]|0; $35 = ($34|0)!=(0|0); @@ -147726,13 +148933,13 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { if ($91) { $93 = HEAP32[$zModuleName>>2]|0; HEAP32[$vararg_buffer5>>2] = $93; - $94 = (_sqlite3MPrintf($92,31288,$vararg_buffer5)|0); + $94 = (_sqlite3MPrintf($92,30692,$vararg_buffer5)|0); $95 = HEAP32[$5>>2]|0; HEAP32[$95>>2] = $94; } else { $96 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer8>>2] = $96; - $97 = (_sqlite3MPrintf($92,19007,$vararg_buffer8)|0); + $97 = (_sqlite3MPrintf($92,18391,$vararg_buffer8)|0); $98 = HEAP32[$5>>2]|0; HEAP32[$98>>2] = $97; $99 = HEAP32[$zErr>>2]|0; @@ -147764,7 +148971,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $117 = HEAP32[$116>>2]|0; $118 = ($117|0)==(0); if ($118) { - HEAP32[$zFormat>>2] = 31318; + HEAP32[$zFormat>>2] = 30722; $119 = HEAP32[$1>>2]|0; $120 = HEAP32[$zFormat>>2]|0; $121 = HEAP32[$2>>2]|0; @@ -147805,7 +149012,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $142 = ((($141)) + 4|0); $143 = HEAP32[$142>>2]|0; $144 = (($143) + ($140<<4)|0); - $145 = (_sqlite3ColumnType($144,19018)|0); + $145 = (_sqlite3ColumnType($144,18402)|0); HEAP32[$zType>>2] = $145; HEAP32[$i>>2] = 0; $146 = HEAP32[$zType>>2]|0; @@ -147822,7 +149029,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $151 = HEAP32[$i>>2]|0; $152 = HEAP32[$zType>>2]|0; $153 = (($152) + ($151)|0); - $154 = (_sqlite3_strnicmp(31364,$153,6)|0); + $154 = (_sqlite3_strnicmp(30768,$153,6)|0); $155 = (0)==($154|0); do { if ($155) { @@ -147974,7 +149181,7 @@ function _sqlite3ReadSchema($pParse) { $2 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $2; $3 = HEAP32[$db>>2]|0; - $4 = ((($3)) + 144|0); + $4 = ((($3)) + 148|0); $5 = ((($4)) + 5|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); @@ -147996,7 +149203,7 @@ function _sqlite3ReadSchema($pParse) { $16 = ((($15)) + 12|0); HEAP32[$16>>2] = $14; $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 68|0); + $18 = ((($17)) + 36|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + 1)|0; HEAP32[$18>>2] = $20; @@ -148037,11 +149244,11 @@ function _analyzeDatabase($pParse,$iDb) { $12 = HEAP32[$1>>2]|0; _sqlite3BeginWriteOperation($11,0,$12); $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 72|0); + $14 = ((($13)) + 40|0); $15 = HEAP32[$14>>2]|0; HEAP32[$iStatCur>>2] = $15; $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 72|0); + $17 = ((($16)) + 40|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + 3)|0; HEAP32[$17>>2] = $19; @@ -148050,12 +149257,12 @@ function _analyzeDatabase($pParse,$iDb) { $22 = HEAP32[$iStatCur>>2]|0; _openStatTable($20,$21,$22,0,0); $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 76|0); + $24 = ((($23)) + 44|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + 1)|0; HEAP32[$iMem>>2] = $26; $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 72|0); + $28 = ((($27)) + 40|0); $29 = HEAP32[$28>>2]|0; HEAP32[$iTab>>2] = $29; $30 = HEAP32[$pSchema>>2]|0; @@ -148142,11 +149349,11 @@ function _analyzeTable($pParse,$pTab,$pOnlyIdx) { $10 = HEAP32[$iDb>>2]|0; _sqlite3BeginWriteOperation($9,0,$10); $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 72|0); + $12 = ((($11)) + 40|0); $13 = HEAP32[$12>>2]|0; HEAP32[$iStatCur>>2] = $13; $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 72|0); + $15 = ((($14)) + 40|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + 3)|0; HEAP32[$15>>2] = $17; @@ -148158,22 +149365,22 @@ function _analyzeTable($pParse,$pTab,$pOnlyIdx) { if ($19) { $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$23>>2]|0; - _openStatTable($20,$21,$22,$24,31450); + _openStatTable($20,$21,$22,$24,30854); } else { $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$25>>2]|0; - _openStatTable($20,$21,$22,$26,31454); + _openStatTable($20,$21,$22,$26,30858); } $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$2>>2]|0; $30 = HEAP32[$iStatCur>>2]|0; $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 76|0); + $32 = ((($31)) + 44|0); $33 = HEAP32[$32>>2]|0; $34 = (($33) + 1)|0; $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 72|0); + $36 = ((($35)) + 40|0); $37 = HEAP32[$36>>2]|0; _analyzeOneTable($27,$28,$29,$30,$34,$37); $38 = HEAP32[$0>>2]|0; @@ -148211,14 +149418,14 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { $9 = HEAP32[$8>>2]|0; $10 = ($9>>>0)>(0); $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 144|0); + $12 = ((($11)) + 148|0); if ($10) { $13 = ((($12)) + 5|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)!=(0); if ($15) { $16 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($16,31413,$vararg_buffer); + _sqlite3ErrorMsg($16,30817,$vararg_buffer); HEAP32[$0>>2] = -1; $32 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($32|0); @@ -148236,7 +149443,7 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer1>>2] = $25; - _sqlite3ErrorMsg($24,31430,$vararg_buffer1); + _sqlite3ErrorMsg($24,30834,$vararg_buffer1); HEAP32[$0>>2] = -1; $32 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($32|0); @@ -148314,7 +149521,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { break; } $18 = HEAP32[$i>>2]|0; - $19 = (5236 + ($18<<3)|0); + $19 = (4396 + ($18<<3)|0); $20 = HEAP32[$19>>2]|0; HEAP32[$zTab>>2] = $20; $21 = HEAP32[$db>>2]|0; @@ -148327,7 +149534,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { do { if ($26) { $27 = HEAP32[$i>>2]|0; - $28 = (5236 + ($27<<3)|0); + $28 = (4396 + ($27<<3)|0); $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)!=(0|0); @@ -148337,7 +149544,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$zTab>>2]|0; $36 = HEAP32[$i>>2]|0; - $37 = (5236 + ($36<<3)|0); + $37 = (4396 + ($36<<3)|0); $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; HEAP32[$vararg_buffer>>2] = $34; @@ -148345,9 +149552,9 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { HEAP32[$vararg_ptr1>>2] = $35; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $39; - _sqlite3NestedParse($32,31511,$vararg_buffer); + _sqlite3NestedParse($32,30915,$vararg_buffer); $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 396|0); + $41 = ((($40)) + 104|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$i>>2]|0; $44 = (($aRoot) + ($43<<2)|0); @@ -148389,7 +149596,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { HEAP32[$vararg_ptr7>>2] = $66; $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); HEAP32[$vararg_ptr8>>2] = $67; - _sqlite3NestedParse($62,31534,$vararg_buffer3); + _sqlite3NestedParse($62,30938,$vararg_buffer3); break; } else { $68 = HEAP32[$v>>2]|0; @@ -148397,7 +149604,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { $70 = (($aRoot) + ($69<<2)|0); $71 = HEAP32[$70>>2]|0; $72 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp2($68,129,$71,$72)|0); + (_sqlite3VdbeAddOp2($68,131,$71,$72)|0); break; } } @@ -148409,7 +149616,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { HEAP32[$i>>2] = 0; while(1) { $75 = HEAP32[$i>>2]|0; - $76 = (5236 + ($75<<3)|0); + $76 = (4396 + ($75<<3)|0); $77 = ((($76)) + 4|0); $78 = HEAP32[$77>>2]|0; $79 = ($78|0)!=(0|0); @@ -148424,7 +149631,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { $85 = (($aRoot) + ($84<<2)|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp4Int($80,103,$83,$86,$87,3)|0); + (_sqlite3VdbeAddOp4Int($80,105,$83,$86,$87,3)|0); $88 = HEAP32[$v>>2]|0; $89 = HEAP32[$i>>2]|0; $90 = (($aCreateTbl) + ($89)|0); @@ -148537,13 +149744,13 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $22 = HEAP32[$4>>2]|0; HEAP32[$regPrev>>2] = $22; $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 76|0); + $24 = ((($23)) + 44|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$4>>2]|0; $27 = ($25|0)>($26|0); if ($27) { $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 76|0); + $29 = ((($28)) + 44|0); $30 = HEAP32[$29>>2]|0; $34 = $30; } else { @@ -148551,7 +149758,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $34 = $31; } $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 76|0); + $33 = ((($32)) + 44|0); HEAP32[$33>>2] = $34; $35 = HEAP32[$0>>2]|0; $36 = (_sqlite3GetVdbe($35)|0); @@ -148573,7 +149780,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { } $45 = HEAP32[$1>>2]|0; $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3_strlike(31458,$46,0)|0); + $47 = (_sqlite3_strlike(30862,$46,0)|0); $48 = ($47|0)==(0); if ($48) { STACKTOP = sp;return; @@ -148615,13 +149822,13 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { HEAP32[$5>>2] = $75; HEAP32[$iIdxCur>>2] = $74; $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 72|0); + $77 = ((($76)) + 40|0); $78 = HEAP32[$77>>2]|0; $79 = HEAP32[$5>>2]|0; $80 = ($78|0)>($79|0); if ($80) { $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 72|0); + $82 = ((($81)) + 40|0); $83 = HEAP32[$82>>2]|0; $87 = $83; } else { @@ -148629,13 +149836,13 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $87 = $84; } $85 = HEAP32[$0>>2]|0; - $86 = ((($85)) + 72|0); + $86 = ((($85)) + 40|0); HEAP32[$86>>2] = $87; $88 = HEAP32[$0>>2]|0; $89 = HEAP32[$iTabCur>>2]|0; $90 = HEAP32[$iDb>>2]|0; $91 = HEAP32[$1>>2]|0; - _sqlite3OpenTable($88,$89,$90,$91,102); + _sqlite3OpenTable($88,$89,$90,$91,104); $92 = HEAP32[$v>>2]|0; $93 = HEAP32[$regTabname>>2]|0; $94 = HEAP32[$1>>2]|0; @@ -148739,7 +149946,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $151 = HEAP32[$zIdxName>>2]|0; (_sqlite3VdbeLoadString($149,$150,$151)|0); $152 = HEAP32[$0>>2]|0; - $153 = ((($152)) + 76|0); + $153 = ((($152)) + 44|0); $154 = HEAP32[$153>>2]|0; $155 = HEAP32[$regPrev>>2]|0; $156 = HEAP32[$nColTest>>2]|0; @@ -148747,7 +149954,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $158 = ($154|0)>($157|0); if ($158) { $159 = HEAP32[$0>>2]|0; - $160 = ((($159)) + 76|0); + $160 = ((($159)) + 44|0); $161 = HEAP32[$160>>2]|0; $167 = $161; } else { @@ -148757,7 +149964,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $167 = $164; } $165 = HEAP32[$0>>2]|0; - $166 = ((($165)) + 76|0); + $166 = ((($165)) + 44|0); HEAP32[$166>>2] = $167; $168 = HEAP32[$v>>2]|0; $169 = HEAP32[$iIdxCur>>2]|0; @@ -148765,7 +149972,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $171 = ((($170)) + 44|0); $172 = HEAP32[$171>>2]|0; $173 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($168,102,$169,$172,$173)|0); + (_sqlite3VdbeAddOp3($168,104,$169,$172,$173)|0); $174 = HEAP32[$0>>2]|0; $175 = HEAP32[$pIdx>>2]|0; _sqlite3VdbeSetP4KeyInfo($174,$175); @@ -148773,7 +149980,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $177 = HEAP32[$nCol>>2]|0; $178 = HEAP32[$regStat4>>2]|0; $179 = (($178) + 1)|0; - (_sqlite3VdbeAddOp2($176,74,$177,$179)|0); + (_sqlite3VdbeAddOp2($176,76,$177,$179)|0); $180 = HEAP32[$v>>2]|0; $181 = HEAP32[$pIdx>>2]|0; $182 = ((($181)) + 50|0); @@ -148781,21 +149988,21 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $184 = $183&65535; $185 = HEAP32[$regStat4>>2]|0; $186 = (($185) + 2)|0; - (_sqlite3VdbeAddOp2($180,74,$184,$186)|0); + (_sqlite3VdbeAddOp2($180,76,$184,$186)|0); $187 = HEAP32[$v>>2]|0; $188 = HEAP32[$regStat4>>2]|0; $189 = (($188) + 1)|0; $190 = HEAP32[$regStat4>>2]|0; - (_sqlite3VdbeAddOp4($187,87,0,$189,$190,5132,-5)|0); + (_sqlite3VdbeAddOp4($187,89,0,$189,$190,4292,-5)|0); $191 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($191,2); $192 = HEAP32[$v>>2]|0; $193 = HEAP32[$iIdxCur>>2]|0; - $194 = (_sqlite3VdbeAddOp1($192,55,$193)|0); + $194 = (_sqlite3VdbeAddOp1($192,57,$193)|0); HEAP32[$addrRewind>>2] = $194; $195 = HEAP32[$v>>2]|0; $196 = HEAP32[$regChng>>2]|0; - (_sqlite3VdbeAddOp2($195,74,0,$196)|0); + (_sqlite3VdbeAddOp2($195,76,0,$196)|0); $197 = HEAP32[$v>>2]|0; $198 = (_sqlite3VdbeCurrentAddr($197)|0); HEAP32[$addrNextRow>>2] = $198; @@ -148862,12 +150069,12 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $238 = HEAP32[$v>>2]|0; $239 = HEAP32[$i>>2]|0; $240 = HEAP32[$regChng>>2]|0; - (_sqlite3VdbeAddOp2($238,74,$239,$240)|0); + (_sqlite3VdbeAddOp2($238,76,$239,$240)|0); $241 = HEAP32[$v>>2]|0; $242 = HEAP32[$iIdxCur>>2]|0; $243 = HEAP32[$i>>2]|0; $244 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp3($241,94,$242,$243,$244)|0); + (_sqlite3VdbeAddOp3($241,96,$242,$243,$244)|0); $245 = HEAP32[$v>>2]|0; $246 = HEAP32[$regTemp>>2]|0; $247 = HEAP32[$regPrev>>2]|0; @@ -148888,7 +150095,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $258 = HEAP32[$v>>2]|0; $259 = HEAP32[$nColTest>>2]|0; $260 = HEAP32[$regChng>>2]|0; - (_sqlite3VdbeAddOp2($258,74,$259,$260)|0); + (_sqlite3VdbeAddOp2($258,76,$259,$260)|0); $261 = HEAP32[$v>>2]|0; $262 = HEAP32[$endDistinctTest>>2]|0; (_sqlite3VdbeGoto($261,$262)|0); @@ -148916,7 +150123,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $277 = HEAP32[$regPrev>>2]|0; $278 = HEAP32[$i>>2]|0; $279 = (($277) + ($278))|0; - (_sqlite3VdbeAddOp3($274,94,$275,$276,$279)|0); + (_sqlite3VdbeAddOp3($274,96,$275,$276,$279)|0); $280 = HEAP32[$i>>2]|0; $281 = (($280) + 1)|0; HEAP32[$i>>2] = $281; @@ -148930,7 +150137,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $285 = HEAP32[$v>>2]|0; $286 = HEAP32[$regStat4>>2]|0; $287 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($285,87,1,$286,$287,5160,-5)|0); + (_sqlite3VdbeAddOp4($285,89,1,$286,$287,4320,-5)|0); $288 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($288,2); $289 = HEAP32[$v>>2]|0; @@ -148944,16 +150151,16 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $295 = HEAP32[$v>>2]|0; $296 = HEAP32[$regTabname>>2]|0; $297 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($295,96,$296,3,$297,31467,0)|0); + (_sqlite3VdbeAddOp4($295,99,$296,3,$297,30871,0)|0); $298 = HEAP32[$v>>2]|0; $299 = HEAP32[$3>>2]|0; $300 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp2($298,112,$299,$300)|0); + (_sqlite3VdbeAddOp2($298,114,$299,$300)|0); $301 = HEAP32[$v>>2]|0; $302 = HEAP32[$3>>2]|0; $303 = HEAP32[$regTemp>>2]|0; $304 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp3($301,113,$302,$303,$304)|0); + (_sqlite3VdbeAddOp3($301,115,$302,$303,$304)|0); $305 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($305,8); $306 = HEAP32[$v>>2]|0; @@ -148979,27 +150186,27 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $315 = HEAP32[$v>>2]|0; $316 = HEAP32[$iTabCur>>2]|0; $317 = HEAP32[$regStat1>>2]|0; - (_sqlite3VdbeAddOp2($315,98,$316,$317)|0); + (_sqlite3VdbeAddOp2($315,100,$316,$317)|0); $318 = HEAP32[$v>>2]|0; $319 = HEAP32[$regStat1>>2]|0; $320 = (_sqlite3VdbeAddOp1($318,22,$319)|0); HEAP32[$jZeroRows>>2] = $320; $321 = HEAP32[$v>>2]|0; $322 = HEAP32[$regIdxname>>2]|0; - (_sqlite3VdbeAddOp2($321,77,0,$322)|0); + (_sqlite3VdbeAddOp2($321,79,0,$322)|0); $323 = HEAP32[$v>>2]|0; $324 = HEAP32[$regTabname>>2]|0; $325 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($323,96,$324,3,$325,31467,0)|0); + (_sqlite3VdbeAddOp4($323,99,$324,3,$325,30871,0)|0); $326 = HEAP32[$v>>2]|0; $327 = HEAP32[$3>>2]|0; $328 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp2($326,112,$327,$328)|0); + (_sqlite3VdbeAddOp2($326,114,$327,$328)|0); $329 = HEAP32[$v>>2]|0; $330 = HEAP32[$3>>2]|0; $331 = HEAP32[$regTemp>>2]|0; $332 = HEAP32[$regNewRowid>>2]|0; - (_sqlite3VdbeAddOp3($329,113,$330,$331,$332)|0); + (_sqlite3VdbeAddOp3($329,115,$330,$331,$332)|0); $333 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($333,8); $334 = HEAP32[$v>>2]|0; @@ -149028,7 +150235,7 @@ function _loadAnalysis($pParse,$iDb) { } $6 = HEAP32[$v>>2]|0; $7 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp1($6,135,$7)|0); + (_sqlite3VdbeAddOp1($6,137,$7)|0); STACKTOP = sp;return; } function _sqlite3VdbeAddOp1($p,$op,$p1) { @@ -149078,12 +150285,12 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { HEAP8[$3>>0] = $isWriteLock; HEAP32[$4>>2] = $zName; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 416|0); + $6 = ((($5)) + 124|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); $9 = HEAP32[$0>>2]|0; if ($8) { - $10 = ((($9)) + 416|0); + $10 = ((($9)) + 124|0); $11 = HEAP32[$10>>2]|0; $12 = $11; } else { @@ -149094,7 +150301,7 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { while(1) { $13 = HEAP32[$i>>2]|0; $14 = HEAP32[$pToplevel>>2]|0; - $15 = ((($14)) + 404|0); + $15 = ((($14)) + 112|0); $16 = HEAP32[$15>>2]|0; $17 = ($13|0)<($16|0); if (!($17)) { @@ -149102,7 +150309,7 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { } $18 = HEAP32[$i>>2]|0; $19 = HEAP32[$pToplevel>>2]|0; - $20 = ((($19)) + 408|0); + $20 = ((($19)) + 116|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($18<<4)|0); HEAP32[$p>>2] = $22; @@ -149147,7 +150354,7 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { STACKTOP = sp;return; } $47 = HEAP32[$pToplevel>>2]|0; - $48 = ((($47)) + 404|0); + $48 = ((($47)) + 112|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) + 1)|0; $51 = $50<<4; @@ -149155,27 +150362,27 @@ function _sqlite3TableLock($pParse,$iDb,$iTab,$isWriteLock,$zName) { $52 = HEAP32[$pToplevel>>2]|0; $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$pToplevel>>2]|0; - $55 = ((($54)) + 408|0); + $55 = ((($54)) + 116|0); $56 = HEAP32[$55>>2]|0; $57 = HEAP32[$nBytes>>2]|0; $58 = ($57|0)<(0); $59 = $58 << 31 >> 31; $60 = (_sqlite3DbReallocOrFree($53,$56,$57,$59)|0); $61 = HEAP32[$pToplevel>>2]|0; - $62 = ((($61)) + 408|0); + $62 = ((($61)) + 116|0); HEAP32[$62>>2] = $60; $63 = HEAP32[$pToplevel>>2]|0; - $64 = ((($63)) + 408|0); + $64 = ((($63)) + 116|0); $65 = HEAP32[$64>>2]|0; $66 = ($65|0)!=(0|0); $67 = HEAP32[$pToplevel>>2]|0; - $68 = ((($67)) + 404|0); + $68 = ((($67)) + 112|0); if ($66) { $69 = HEAP32[$68>>2]|0; $70 = (($69) + 1)|0; HEAP32[$68>>2] = $70; $71 = HEAP32[$pToplevel>>2]|0; - $72 = ((($71)) + 408|0); + $72 = ((($71)) + 116|0); $73 = HEAP32[$72>>2]|0; $74 = (($73) + ($69<<4)|0); HEAP32[$p>>2] = $74; @@ -149235,7 +150442,7 @@ function _sqlite3OpenTable($pParse,$iCur,$iDb,$pTab,$opcode) { $10 = ((($9)) + 28|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$4>>2]|0; - $13 = ($12|0)==(103); + $13 = ($12|0)==(105); $14 = $13 ? 1 : 0; $15 = $14&255; $16 = HEAP32[$3>>2]|0; @@ -149301,18 +150508,6 @@ function _sqlite3VdbeSetP4KeyInfo($pParse,$pIdx) { _sqlite3VdbeChangeP4($5,-1,$8,-6); STACKTOP = sp;return; } -function _sqlite3VdbeCurrentAddr($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} function _sqlite3VdbeMakeLabel($v) { $v = $v|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; @@ -149324,11 +150519,11 @@ function _sqlite3VdbeMakeLabel($v) { $i = sp; HEAP32[$0>>2] = $v; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); + $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; HEAP32[$p>>2] = $3; $4 = HEAP32[$p>>2]|0; - $5 = ((($4)) + 116|0); + $5 = ((($4)) + 72|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + 1)|0; HEAP32[$5>>2] = $7; @@ -149342,7 +150537,7 @@ function _sqlite3VdbeMakeLabel($v) { $13 = HEAP32[$p>>2]|0; $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 120|0); + $16 = ((($15)) + 76|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$i>>2]|0; $19 = $18<<1; @@ -149350,11 +150545,11 @@ function _sqlite3VdbeMakeLabel($v) { $21 = $20<<2; $22 = (_sqlite3DbReallocOrFree($14,$17,$21,0)|0); $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 120|0); + $24 = ((($23)) + 76|0); HEAP32[$24>>2] = $22; } $25 = HEAP32[$p>>2]|0; - $26 = ((($25)) + 120|0); + $26 = ((($25)) + 76|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)!=(0|0); if (!($28)) { @@ -149364,7 +150559,7 @@ function _sqlite3VdbeMakeLabel($v) { } $29 = HEAP32[$i>>2]|0; $30 = HEAP32[$p>>2]|0; - $31 = ((($30)) + 120|0); + $31 = ((($30)) + 76|0); $32 = HEAP32[$31>>2]|0; $33 = (($32) + ($29<<2)|0); HEAP32[$33>>2] = -1; @@ -149395,7 +150590,7 @@ function _sqlite3LocateCollSeq($pParse,$zName) { $6 = HEAP8[$5>>0]|0; HEAP8[$enc>>0] = $6; $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 144|0); + $8 = ((($7)) + 148|0); $9 = ((($8)) + 5|0); $10 = HEAP8[$9>>0]|0; HEAP8[$initbusy>>0] = $10; @@ -149451,7 +150646,7 @@ function _sqlite3VdbeGoto($p,$iDest) { function _sqlite3VdbeJumpHere($p,$addr) { $p = $p|0; $addr = $addr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -149459,27 +150654,18 @@ function _sqlite3VdbeJumpHere($p,$addr) { HEAP32[$0>>2] = $p; HEAP32[$1>>2] = $addr; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($4) - 1)|0; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($8)) + 96|0); - HEAP32[$9>>2] = $5; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 32|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3VdbeChangeP2($10,$11,$14); + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 136|0); + $6 = HEAP32[$5>>2]|0; + _sqlite3VdbeChangeP2($2,$3,$6); STACKTOP = sp;return; } function _sqlite3VdbeResolveLabel($v,$x) { $v = $v|0; $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0, $p = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $j = 0; + var $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -149489,34 +150675,28 @@ function _sqlite3VdbeResolveLabel($v,$x) { HEAP32[$0>>2] = $v; HEAP32[$1>>2] = $x; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 24|0); + $3 = ((($2)) + 12|0); $4 = HEAP32[$3>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$1>>2]|0; $6 = (-1 - ($5))|0; HEAP32[$j>>2] = $6; $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 120|0); + $8 = ((($7)) + 76|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)!=(0|0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$j>>2]|0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 120|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($14<<2)|0); - HEAP32[$18>>2] = $13; + if (!($10)) { + STACKTOP = sp;return; } - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 32|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) - 1)|0; - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 96|0); - HEAP32[$24>>2] = $22; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 136|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$j>>2]|0; + $15 = HEAP32[$p>>2]|0; + $16 = ((($15)) + 76|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($14<<2)|0); + HEAP32[$18>>2] = $13; STACKTOP = sp;return; } function _callStatGet($v,$regStat4,$iParam,$regOut) { @@ -149538,7 +150718,7 @@ function _callStatGet($v,$regStat4,$iParam,$regOut) { $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4($4,87,0,$5,$6,5188,-5)|0); + (_sqlite3VdbeAddOp4($4,89,0,$5,$6,4348,-5)|0); $7 = HEAP32[$0>>2]|0; _sqlite3VdbeChangeP5($7,1); STACKTOP = sp;return; @@ -149597,7 +150777,7 @@ function _statGet($context,$argc,$argv) { $22 = (($20) + 4)|0; $23 = $22; HEAP32[$23>>2] = 0; - (_sqlite3_snprintf(24,$17,31480,$vararg_buffer)|0); + (_sqlite3_snprintf(24,$17,30884,$vararg_buffer)|0); $24 = HEAP32[$zRet>>2]|0; $25 = HEAP32[$zRet>>2]|0; $26 = (_sqlite3Strlen30($25)|0); @@ -149666,7 +150846,7 @@ function _statGet($context,$argc,$argv) { $78 = (($76) + 4)|0; $79 = $78; HEAP32[$79>>2] = $75; - (_sqlite3_snprintf(24,$69,31485,$vararg_buffer1)|0); + (_sqlite3_snprintf(24,$69,30889,$vararg_buffer1)|0); $80 = HEAP32[$z>>2]|0; $81 = (_sqlite3Strlen30($80)|0); $82 = HEAP32[$z>>2]|0; @@ -149847,7 +151027,7 @@ function _sqlite3VdbeGetOp($p,$addr) { $4 = ($3|0)<(0); if ($4) { $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 32|0); + $6 = ((($5)) + 136|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) - 1)|0; HEAP32[$2>>2] = $8; @@ -149858,13 +151038,13 @@ function _sqlite3VdbeGetOp($p,$addr) { $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); if ($13) { - HEAP32[$0>>2] = 5216; + HEAP32[$0>>2] = 4376; $19 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($19|0); } else { $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 4|0); + $16 = ((($15)) + 88|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + (($14*20)|0)|0); HEAP32[$0>>2] = $18; @@ -150013,7 +151193,7 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { $10 = $9&65535; HEAP32[$nKey>>2] = $10; $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 68|0); + $12 = ((($11)) + 36|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0); if ($14) { @@ -150061,7 +151241,7 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { $41 = HEAP32[$40>>2]|0; HEAP32[$zColl>>2] = $41; $42 = HEAP32[$zColl>>2]|0; - $43 = ($42|0)==(35351|0); + $43 = ($42|0)==(34834|0); if ($43) { $51 = 0; } else { @@ -150092,7 +151272,7 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { HEAP32[$i>>2] = $64; } $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 68|0); + $66 = ((($65)) + 36|0); $67 = HEAP32[$66>>2]|0; $68 = ($67|0)!=(0); if ($68) { @@ -150111,8 +151291,8 @@ function _sqlite3KeyInfoAlloc($db,$N,$X) { $N = $N|0; $X = $X|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $nExtra = 0, $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $nExtra = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; @@ -150128,61 +151308,62 @@ function _sqlite3KeyInfoAlloc($db,$N,$X) { $5 = (($3) + ($4))|0; $6 = ($5*5)|0; HEAP32[$nExtra>>2] = $6; - $7 = HEAP32[$nExtra>>2]|0; - $8 = (24 + ($7))|0; - $9 = (_sqlite3Malloc($8,0)|0); - HEAP32[$p>>2] = $9; - $10 = HEAP32[$p>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = (($12) + ($13))|0; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 20|0); - $17 = (($16) + ($14<<2)|0); - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 16|0); - HEAP32[$19>>2] = $17; - $20 = HEAP32[$1>>2]|0; - $21 = $20&65535; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 6|0); - HEAP16[$23>>1] = $21; - $24 = HEAP32[$2>>2]|0; - $25 = $24&65535; - $26 = HEAP32[$p>>2]|0; - $27 = ((($26)) + 8|0); - HEAP16[$27>>1] = $25; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 66|0); - $30 = HEAP8[$29>>0]|0; - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 4|0); - HEAP8[$32>>0] = $30; - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 12|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$p>>2]|0; - HEAP32[$36>>2] = 1; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$nExtra>>2]|0; + $9 = (24 + ($8))|0; + $10 = (_sqlite3DbMallocRawNN($7,$9,0)|0); + HEAP32[$p>>2] = $10; + $11 = HEAP32[$p>>2]|0; + $12 = ($11|0)!=(0|0); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = (($13) + ($14))|0; + $16 = HEAP32[$p>>2]|0; + $17 = ((($16)) + 20|0); + $18 = (($17) + ($15<<2)|0); + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 16|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$1>>2]|0; + $22 = $21&65535; + $23 = HEAP32[$p>>2]|0; + $24 = ((($23)) + 6|0); + HEAP16[$24>>1] = $22; + $25 = HEAP32[$2>>2]|0; + $26 = $25&65535; + $27 = HEAP32[$p>>2]|0; + $28 = ((($27)) + 8|0); + HEAP16[$28>>1] = $26; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 66|0); + $31 = HEAP8[$30>>0]|0; + $32 = HEAP32[$p>>2]|0; + $33 = ((($32)) + 4|0); + HEAP8[$33>>0] = $31; + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$p>>2]|0; + $36 = ((($35)) + 12|0); + HEAP32[$36>>2] = $34; $37 = HEAP32[$p>>2]|0; - $38 = ((($37)) + 24|0); - $39 = HEAP32[$nExtra>>2]|0; - _memset(($38|0),0,($39|0))|0; - $41 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($41|0); + HEAP32[$37>>2] = 1; + $38 = HEAP32[$p>>2]|0; + $39 = ((($38)) + 24|0); + $40 = HEAP32[$nExtra>>2]|0; + _memset(($39|0),0,($40|0))|0; + $42 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($42|0); } else { - $40 = HEAP32[$0>>2]|0; - _sqlite3OomFault($40); - $41 = HEAP32[$p>>2]|0; - STACKTOP = sp;return ($41|0); + $41 = HEAP32[$0>>2]|0; + _sqlite3OomFault($41); + $42 = HEAP32[$p>>2]|0; + STACKTOP = sp;return ($42|0); } return (0)|0; } function _sqlite3KeyInfoUnref($p) { $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; @@ -150203,7 +151384,10 @@ function _sqlite3KeyInfoUnref($p) { STACKTOP = sp;return; } $9 = HEAP32[$0>>2]|0; - _sqlite3DbFree(0,$9); + $10 = ((($9)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$0>>2]|0; + _sqlite3DbFree($11,$12); STACKTOP = sp;return; } function _reindexDatabases($pParse,$zColl) { @@ -150375,13 +151559,13 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $5 = HEAP32[$4>>2]|0; HEAP32[$pTab>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 72|0); + $7 = ((($6)) + 40|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + 1)|0; HEAP32[$7>>2] = $9; HEAP32[$iTab>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 72|0); + $11 = ((($10)) + 40|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + 1)|0; HEAP32[$11>>2] = $13; @@ -150441,7 +151625,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $51 = (_sqlite3KeyInfoOfIndex($49,$50)|0); HEAP32[$pKey>>2] = $51; $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 72|0); + $53 = ((($52)) + 40|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + 1)|0; HEAP32[$53>>2] = $55; @@ -150454,15 +151638,15 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $61 = $60&65535; $62 = HEAP32[$pKey>>2]|0; $63 = (_sqlite3KeyInfoRef($62)|0); - (_sqlite3VdbeAddOp4($56,106,$57,0,$61,$63,-6)|0); + (_sqlite3VdbeAddOp4($56,108,$57,0,$61,$63,-6)|0); $64 = HEAP32[$0>>2]|0; $65 = HEAP32[$iTab>>2]|0; $66 = HEAP32[$iDb>>2]|0; $67 = HEAP32[$pTab>>2]|0; - _sqlite3OpenTable($64,$65,$66,$67,102); + _sqlite3OpenTable($64,$65,$66,$67,104); $68 = HEAP32[$v>>2]|0; $69 = HEAP32[$iTab>>2]|0; - $70 = (_sqlite3VdbeAddOp2($68,55,$69,0)|0); + $70 = (_sqlite3VdbeAddOp2($68,57,$69,0)|0); HEAP32[$addr1>>2] = $70; $71 = HEAP32[$0>>2]|0; $72 = (_sqlite3GetTempReg($71)|0); @@ -150475,7 +151659,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $77 = HEAP32[$v>>2]|0; $78 = HEAP32[$iSorter>>2]|0; $79 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($77,123,$78,$79)|0); + (_sqlite3VdbeAddOp2($77,125,$78,$79)|0); $80 = HEAP32[$0>>2]|0; $81 = HEAP32[$iPartIdxLabel>>2]|0; _sqlite3ResolvePartIdxLabel($80,$81); @@ -150493,14 +151677,14 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $90 = HEAP32[$v>>2]|0; $91 = HEAP32[$tnum>>2]|0; $92 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp2($90,129,$91,$92)|0); + (_sqlite3VdbeAddOp2($90,131,$91,$92)|0); } $93 = HEAP32[$v>>2]|0; $94 = HEAP32[$iIdx>>2]|0; $95 = HEAP32[$tnum>>2]|0; $96 = HEAP32[$iDb>>2]|0; $97 = HEAP32[$pKey>>2]|0; - (_sqlite3VdbeAddOp4($93,103,$94,$95,$96,$97,-6)|0); + (_sqlite3VdbeAddOp4($93,105,$94,$95,$96,$97,-6)|0); $98 = HEAP32[$v>>2]|0; $99 = HEAP32[$2>>2]|0; $100 = ($99|0)>=(0); @@ -150510,7 +151694,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { _sqlite3VdbeChangeP5($98,$103); $104 = HEAP32[$v>>2]|0; $105 = HEAP32[$iSorter>>2]|0; - $106 = (_sqlite3VdbeAddOp2($104,42,$105,0)|0); + $106 = (_sqlite3VdbeAddOp2($104,55,$105,0)|0); HEAP32[$addr1>>2] = $106; $107 = HEAP32[$1>>2]|0; $108 = ((($107)) + 54|0); @@ -150536,7 +151720,7 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $124 = ((($123)) + 50|0); $125 = HEAP16[$124>>1]|0; $126 = $125&65535; - (_sqlite3VdbeAddOp4Int($119,117,$120,$121,$122,$126)|0); + (_sqlite3VdbeAddOp4Int($119,119,$120,$121,$122,$126)|0); $127 = HEAP32[$0>>2]|0; $128 = HEAP32[$1>>2]|0; _sqlite3UniqueConstraint($127,2,$128); @@ -150547,14 +151731,14 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { $130 = HEAP32[$iSorter>>2]|0; $131 = HEAP32[$regRecord>>2]|0; $132 = HEAP32[$iIdx>>2]|0; - (_sqlite3VdbeAddOp3($129,118,$130,$131,$132)|0); + (_sqlite3VdbeAddOp3($129,120,$130,$131,$132)|0); $133 = HEAP32[$v>>2]|0; $134 = HEAP32[$iIdx>>2]|0; - (_sqlite3VdbeAddOp3($133,33,$134,0,-1)|0); + (_sqlite3VdbeAddOp3($133,53,$134,0,-1)|0); $135 = HEAP32[$v>>2]|0; $136 = HEAP32[$iIdx>>2]|0; $137 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp3($135,124,$136,$137,0)|0); + (_sqlite3VdbeAddOp3($135,126,$136,$137,0)|0); $138 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($138,16); $139 = HEAP32[$0>>2]|0; @@ -150569,13 +151753,13 @@ function _sqlite3RefillIndex($pParse,$pIndex,$memRootPage) { _sqlite3VdbeJumpHere($144,$145); $146 = HEAP32[$v>>2]|0; $147 = HEAP32[$iTab>>2]|0; - (_sqlite3VdbeAddOp1($146,109,$147)|0); + (_sqlite3VdbeAddOp1($146,111,$147)|0); $148 = HEAP32[$v>>2]|0; $149 = HEAP32[$iIdx>>2]|0; - (_sqlite3VdbeAddOp1($148,109,$149)|0); + (_sqlite3VdbeAddOp1($148,111,$149)|0); $150 = HEAP32[$v>>2]|0; $151 = HEAP32[$iSorter>>2]|0; - (_sqlite3VdbeAddOp1($150,109,$151)|0); + (_sqlite3VdbeAddOp1($150,111,$151)|0); STACKTOP = sp;return; } function _sqlite3KeyInfoRef($p) { @@ -150596,45 +151780,6 @@ function _sqlite3KeyInfoRef($p) { $6 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($6|0); } -function _sqlite3GetTempReg($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$1>>2] = $pParse; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 19|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==(0); - $7 = HEAP32[$1>>2]|0; - if ($6) { - $8 = ((($7)) + 76|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 1)|0; - HEAP32[$8>>2] = $10; - HEAP32[$0>>2] = $10; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); - } else { - $11 = ((($7)) + 19|0); - $12 = HEAP8[$11>>0]|0; - $13 = (($12) + -1)<<24>>24; - HEAP8[$11>>0] = $13; - $14 = $13&255; - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 28|0); - $17 = (($16) + ($14<<2)|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$0>>2] = $18; - $19 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($19|0); - } - return (0)|0; -} function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$piPartIdxLabel,$pPrior,$regPrior) { $pParse = $pParse|0; $pIdx = $pIdx|0; @@ -150691,7 +151836,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p HEAP32[$19>>2] = $18; $20 = HEAP32[$2>>2]|0; $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 104|0); + $22 = ((($21)) + 60|0); HEAP32[$22>>2] = $20; $23 = HEAP32[$0>>2]|0; _sqlite3ExprCachePush($23); @@ -150817,7 +151962,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p $93 = (($91) + ($92))|0; _sqlite3ExprCodeLoadIndexColumn($87,$88,$89,$90,$93); $94 = HEAP32[$v>>2]|0; - (_sqlite3VdbeDeletePriorOpcode($94,90)|0); + (_sqlite3VdbeDeletePriorOpcode($94,92)|0); } $95 = HEAP32[$j>>2]|0; $96 = (($95) + 1)|0; @@ -150837,7 +151982,7 @@ function _sqlite3GenerateIndexKey($pParse,$pIdx,$iDataCur,$regOut,$prefixOnly,$p $100 = HEAP32[$regBase>>2]|0; $101 = HEAP32[$nCol>>2]|0; $102 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($99,96,$100,$101,$102)|0); + (_sqlite3VdbeAddOp3($99,99,$100,$101,$102)|0); $103 = HEAP32[$0>>2]|0; $104 = HEAP32[$regBase>>2]|0; $105 = HEAP32[$nCol>>2]|0; @@ -150906,7 +152051,7 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { $12 = HEAP32[$2>>2]|0; $13 = HEAP32[$12>>2]|0; HEAP32[$vararg_buffer>>2] = $13; - _sqlite3XPrintf($errMsg,31649,$vararg_buffer); + _sqlite3XPrintf($errMsg,31053,$vararg_buffer); $39 = (_sqlite3StrAccumFinish($errMsg)|0); HEAP32[$zErr>>2] = $39; $40 = HEAP32[$0>>2]|0; @@ -150949,7 +152094,7 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { $32 = HEAP32[$j>>2]|0; $33 = ($32|0)!=(0); if ($33) { - _sqlite3StrAccumAppend($errMsg,31660,2); + _sqlite3StrAccumAppend($errMsg,31064,2); } $34 = HEAP32[$pTab>>2]|0; $35 = HEAP32[$34>>2]|0; @@ -150957,7 +152102,7 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { HEAP32[$vararg_buffer1>>2] = $35; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $36; - _sqlite3XPrintf($errMsg,30757,$vararg_buffer1); + _sqlite3XPrintf($errMsg,30161,$vararg_buffer1); $37 = HEAP32[$j>>2]|0; $38 = (($37) + 1)|0; HEAP32[$j>>2] = $38; @@ -150977,80 +152122,6 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { _sqlite3HaltConstraint($40,$47,$48,$49,-1,2); STACKTOP = sp;return; } -function _sqlite3ReleaseTempReg($pParse,$iReg) { - $pParse = $pParse|0; - $iReg = $iReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $i = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $iReg; - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - if (!($3)) { - STACKTOP = sp;return; - } - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 19|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ($7|0)<(8); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 124|0); - HEAP32[$p>>2] = $10; - while(1) { - $11 = HEAP32[$i>>2]|0; - $12 = ($11|0)<(10); - if (!($12)) { - label = 8; - break; - } - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$1>>2]|0; - $17 = ($15|0)==($16|0); - if ($17) { - label = 6; - break; - } - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$i>>2] = $21; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 20|0); - HEAP32[$p>>2] = $23; - } - if ((label|0) == 6) { - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 6|0); - HEAP8[$19>>0] = 1; - STACKTOP = sp;return; - } - else if ((label|0) == 8) { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 19|0); - $27 = HEAP8[$26>>0]|0; - $28 = (($27) + 1)<<24>>24; - HEAP8[$26>>0] = $28; - $29 = $27&255; - $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 28|0); - $32 = (($31) + ($29<<2)|0); - HEAP32[$32>>2] = $24; - STACKTOP = sp;return; - } -} function _sqlite3XPrintf($p,$zFormat,$varargs) { $p = $p|0; $zFormat = $zFormat|0; @@ -151159,7 +152230,7 @@ function _sqlite3HaltConstraint($pParse,$errCode,$onError,$p4,$p4type,$p5Errmsg) $14 = HEAP32[$3>>2]|0; $15 = HEAP8[$4>>0]|0; $16 = $15 << 24 >> 24; - (_sqlite3VdbeAddOp4($11,73,$12,$13,0,$14,$16)|0); + (_sqlite3VdbeAddOp4($11,75,$12,$13,0,$14,$16)|0); $17 = HEAP32[$v>>2]|0; $18 = HEAP8[$5>>0]|0; _sqlite3VdbeChangeP5($17,$18); @@ -151503,104 +152574,123 @@ function _sqlite3StrAccumReset($p) { } function _sqlite3ExprCachePop($pParse) { $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $i = sp + 4|0; - $p = sp; + $0 = sp + 4|0; + $i = sp; HEAP32[$0>>2] = $pParse; + HEAP32[$i>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 108|0); + $2 = ((($1)) + 64|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + -1)|0; HEAP32[$2>>2] = $4; - HEAP32[$i>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 124|0); - HEAP32[$p>>2] = $6; while(1) { - $7 = HEAP32[$i>>2]|0; - $8 = ($7|0)<(10); - if (!($8)) { + $5 = HEAP32[$i>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 25|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($5|0)<($9|0); + if (!($10)) { break; } - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0); - if ($12) { - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)>($18|0); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$p>>2]|0; - _cacheEntryClear($20,$21); - } + $11 = HEAP32[$i>>2]|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 152|0); + $14 = (($13) + (($11*20)|0)|0); + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 64|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)>($19|0); + if ($20) { + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$i>>2]|0; + _cacheEntryClear($21,$22); + continue; + } else { + $23 = HEAP32[$i>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$i>>2] = $24; + continue; } - $22 = HEAP32[$i>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[$i>>2] = $23; - $24 = HEAP32[$p>>2]|0; - $25 = ((($24)) + 20|0); - HEAP32[$p>>2] = $25; } STACKTOP = sp;return; } -function _cacheEntryClear($pParse,$p) { +function _cacheEntryClear($pParse,$i) { $pParse = $pParse|0; - $p = $p|0; + $i = $i|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $p; + HEAP32[$1>>2] = $i; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 6|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 19|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)<(8); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 19|0); - $16 = HEAP8[$15>>0]|0; - $17 = (($16) + 1)<<24>>24; - HEAP8[$15>>0] = $17; - $18 = $16&255; - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 28|0); - $21 = (($20) + ($18<<2)|0); - HEAP32[$21>>2] = $13; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 152|0); + $5 = (($4) + (($2*20)|0)|0); + $6 = ((($5)) + 6|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)!=(0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 19|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)<(8); + if ($13) { + $14 = HEAP32[$1>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 152|0); + $17 = (($16) + (($14*20)|0)|0); + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 19|0); + $22 = HEAP8[$21>>0]|0; + $23 = (($22) + 1)<<24>>24; + HEAP8[$21>>0] = $23; + $24 = $22&255; + $25 = HEAP32[$0>>2]|0; + $26 = ((($25)) + 352|0); + $27 = (($26) + ($24<<2)|0); + HEAP32[$27>>2] = $19; } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 6|0); - HEAP8[$23>>0] = 0; } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 12|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 25|0); - $28 = HEAP8[$27>>0]|0; - $29 = (($28) + -1)<<24>>24; - HEAP8[$27>>0] = $29; + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 25|0); + $30 = HEAP8[$29>>0]|0; + $31 = (($30) + -1)<<24>>24; + HEAP8[$29>>0] = $31; + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 25|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($32|0)<($36|0); + if (!($37)) { + STACKTOP = sp;return; + } + $38 = HEAP32[$1>>2]|0; + $39 = HEAP32[$0>>2]|0; + $40 = ((($39)) + 152|0); + $41 = (($40) + (($38*20)|0)|0); + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 25|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = HEAP32[$0>>2]|0; + $47 = ((($46)) + 152|0); + $48 = (($47) + (($45*20)|0)|0); + ;HEAP32[$41>>2]=HEAP32[$48>>2]|0;HEAP32[$41+4>>2]=HEAP32[$48+4>>2]|0;HEAP32[$41+8>>2]=HEAP32[$48+8>>2]|0;HEAP32[$41+12>>2]=HEAP32[$48+12>>2]|0;HEAP32[$41+16>>2]=HEAP32[$48+16>>2]|0; STACKTOP = sp;return; } function _sqlite3ExprCachePush($pParse) { @@ -151611,7 +152701,7 @@ function _sqlite3ExprCachePush($pParse) { $0 = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 108|0); + $2 = ((($1)) + 64|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + 1)|0; HEAP32[$2>>2] = $4; @@ -151668,57 +152758,65 @@ function _sqlite3GetTempRange($pParse,$nReg) { $pParse = $pParse|0; $nReg = $nReg|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; $i = sp + 4|0; $n = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $nReg; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 64|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$i>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 60|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$n>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$n>>2]|0; - $10 = ($8|0)<=($9|0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 64|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11))|0; - HEAP32[$13>>2] = $15; + HEAP32[$1>>2] = $pParse; + HEAP32[$2>>2] = $nReg; + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(1); + $5 = HEAP32[$1>>2]|0; + if ($4) { + $6 = (_sqlite3GetTempReg($5)|0); + HEAP32[$0>>2] = $6; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $7 = ((($5)) + 32|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$i>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$n>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$n>>2]|0; + $14 = ($12|0)<=($13|0); + if ($14) { + $15 = HEAP32[$2>>2]|0; $16 = HEAP32[$1>>2]|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 60|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) - ($16))|0; - HEAP32[$18>>2] = $20; - $30 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($30|0); - } else { - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 76|0); + $17 = ((($16)) + 32|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($15))|0; + HEAP32[$17>>2] = $19; + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 28|0); $23 = HEAP32[$22>>2]|0; - $24 = (($23) + 1)|0; - HEAP32[$i>>2] = $24; + $24 = (($23) - ($20))|0; + HEAP32[$22>>2] = $24; + } else { $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 76|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($25))|0; - HEAP32[$27>>2] = $29; - $30 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($30|0); + $26 = ((($25)) + 44|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$i>>2] = $28; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 44|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + ($29))|0; + HEAP32[$31>>2] = $33; } - return (0)|0; + $34 = HEAP32[$i>>2]|0; + HEAP32[$0>>2] = $34; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); } function _sqlite3ExprCodeLoadIndexColumn($pParse,$pIdx,$iTabCur,$iIdxCol,$regOut) { $pParse = $pParse|0; @@ -151754,7 +152852,7 @@ function _sqlite3ExprCodeLoadIndexColumn($pParse,$pIdx,$iTabCur,$iIdxCol,$regOut if ($13) { $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 104|0); + $16 = ((($15)) + 60|0); HEAP32[$16>>2] = $14; $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$3>>2]|0; @@ -151787,7 +152885,7 @@ function _sqlite3VdbeDeletePriorOpcode($p,$op) { $p = $p|0; $op = $op|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -151796,50 +152894,45 @@ function _sqlite3VdbeDeletePriorOpcode($p,$op) { HEAP32[$1>>2] = $p; HEAP8[$2>>0] = $op; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 32|0); + $4 = ((($3)) + 136|0); $5 = HEAP32[$4>>2]|0; - $6 = (($5) - 1)|0; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 96|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($6|0)>($11|0); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) - 1)|0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + (($16*20)|0)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = HEAP8[$2>>0]|0; - $24 = $23&255; - $25 = ($22|0)==($24|0); - if ($25) { - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) - 1)|0; - $31 = (_sqlite3VdbeChangeToNoop($26,$30)|0); - HEAP32[$0>>2] = $31; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $6 = ($5|0)>(0); + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 136|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) - 1)|0; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 88|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + (($10*20)|0)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = HEAP8[$2>>0]|0; + $18 = $17&255; + $19 = ($16|0)==($18|0); + if ($19) { + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 136|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) - 1)|0; + $25 = (_sqlite3VdbeChangeToNoop($20,$24)|0); + HEAP32[$0>>2] = $25; + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); } } HEAP32[$0>>2] = 0; - $32 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($32|0); + $26 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($26|0); } function _sqlite3ReleaseTempRange($pParse,$iReg,$nReg) { $pParse = $pParse|0; $iReg = $iReg|0; $nReg = $nReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -151848,26 +152941,32 @@ function _sqlite3ReleaseTempRange($pParse,$iReg,$nReg) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iReg; HEAP32[$2>>2] = $nReg; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - _sqlite3ExprCacheRemove($3,$4,$5); - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($6|0)>($9|0); - if (!($10)) { + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(1); + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$1>>2]|0; + if ($4) { + _sqlite3ReleaseTempReg($5,$6); STACKTOP = sp;return; } - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 60|0); - HEAP32[$13>>2] = $11; - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 64|0); - HEAP32[$16>>2] = $14; + $7 = HEAP32[$2>>2]|0; + _sqlite3ExprCacheRemove($5,$6,$7); + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)>($11|0); + if (!($12)) { + STACKTOP = sp;return; + } + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 28|0); + HEAP32[$15>>2] = $13; + $16 = HEAP32[$1>>2]|0; + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 32|0); + HEAP32[$18>>2] = $16; STACKTOP = sp;return; } function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { @@ -151875,34 +152974,33 @@ function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { $iReg = $iReg|0; $nReg = $nReg|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $i = sp + 4|0; $p = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $iReg; HEAP32[$2>>2] = $nReg; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)<=(0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 25|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 124|0); - $12 = ((($11)) + 180|0); - HEAP32[$p>>2] = $12; + HEAP32[$i>>2] = 0; while(1) { + $3 = HEAP32[$i>>2]|0; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 25|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = ($3|0)<($7|0); + if (!($8)) { + break; + } + $9 = HEAP32[$i>>2]|0; + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 152|0); + $12 = (($11) + (($9*20)|0)|0); + HEAP32[$p>>2] = $12; $13 = HEAP32[$p>>2]|0; $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; @@ -151918,20 +153016,14 @@ function _sqlite3ExprCacheRemove($pParse,$iReg,$nReg) { $24 = ($20|0)<($23|0); if ($24) { $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$p>>2]|0; + $26 = HEAP32[$i>>2]|0; _cacheEntryClear($25,$26); + continue; } } - $27 = HEAP32[$p>>2]|0; - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 124|0); - $30 = ($27|0)==($29|0); - if ($30) { - break; - } - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + -20|0); - HEAP32[$p>>2] = $32; + $27 = HEAP32[$i>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$i>>2] = $28; } STACKTOP = sp;return; } @@ -151960,7 +153052,7 @@ function _sqlite3VdbeChangeToNoop($p,$addr) { } else { $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 4|0); + $10 = ((($9)) + 88|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + (($8*20)|0)|0); HEAP32[$pOp>>2] = $12; @@ -151981,7 +153073,7 @@ function _sqlite3VdbeChangeToNoop($p,$addr) { $25 = ((($24)) + 16|0); HEAP32[$25>>2] = 0; $26 = HEAP32[$pOp>>2]|0; - HEAP8[$26>>0] = -97; + HEAP8[$26>>0] = -95; HEAP32[$0>>2] = 1; $27 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($27|0); @@ -151993,117 +153085,116 @@ function _freeP4($db,$p4type,$p4) { $p4type = $p4type|0; $p4 = $p4|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p4type; HEAP32[$2>>2] = $p4; $3 = HEAP32[$1>>2]|0; - switch ($3|0) { - case -21: { - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - _freeEphemeralFunction($4,$7); - break; - } - case -15: case -1: case -13: case -12: { - break; - } - case -6: { - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 456|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0|0); - if (!($13)) { - STACKTOP = sp;return; + L1: do { + switch ($3|0) { + case -21: { + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$2>>2]|0; + _freeP4FuncCtx($4,$5); + break; } - $14 = HEAP32[$2>>2]|0; - _sqlite3KeyInfoUnref($14); - STACKTOP = sp;return; - break; - } - case -11: { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 456|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - STACKTOP = sp;return; + case -15: case -1: case -13: case -12: { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$2>>2]|0; + _sqlite3DbFree($6,$7); + break; } - $19 = HEAP32[$2>>2]|0; - _sqlite3_free($19); - STACKTOP = sp;return; - break; - } - case -5: { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$2>>2]|0; - _freeEphemeralFunction($20,$21); - STACKTOP = sp;return; - break; - } - case -8: { - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 456|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0|0); - $26 = HEAP32[$2>>2]|0; - if ($25) { - _sqlite3ValueFree($26); - STACKTOP = sp;return; + case -6: { + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 456|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + $12 = HEAP32[$2>>2]|0; + _sqlite3KeyInfoUnref($12); + } + break; } - HEAP32[$p>>2] = $26; - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 24|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0); - if ($30) { - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 20|0); - $34 = HEAP32[$33>>2]|0; - _sqlite3DbFree($31,$34); + case -11: { + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 456|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + $17 = HEAP32[$2>>2]|0; + _sqlite3_free($17); + } + break; } - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$p>>2]|0; - _sqlite3DbFree($35,$36); - STACKTOP = sp;return; - break; - } - case -10: { - $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 456|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)==(0|0); - if (!($40)) { - STACKTOP = sp;return; + case -5: { + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$2>>2]|0; + _freeEphemeralFunction($18,$19); + break; } - $41 = HEAP32[$2>>2]|0; - _sqlite3VtabUnlock($41); - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$2>>2]|0; - _sqlite3DbFree($8,$9); + case -8: { + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 456|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(0|0); + if ($23) { + $24 = HEAP32[$2>>2]|0; + _sqlite3ValueFree($24); + break L1; + } else { + $25 = HEAP32[$0>>2]|0; + $26 = HEAP32[$2>>2]|0; + _freeP4Mem($25,$26); + break L1; + } + break; + } + case -10: { + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 456|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0|0); + if ($30) { + $31 = HEAP32[$2>>2]|0; + _sqlite3VtabUnlock($31); + } + break; + } + default: { + } + } + } while(0); + STACKTOP = sp;return; +} +function _freeP4FuncCtx($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + _freeEphemeralFunction($2,$5); + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + _sqlite3DbFree($6,$7); STACKTOP = sp;return; } function _freeEphemeralFunction($db,$pDef) { $db = $db|0; $pDef = $pDef|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -152111,18 +153202,39 @@ function _freeEphemeralFunction($db,$pDef) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $pDef; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0|0); - if (!($3)) { + $3 = ((($2)) + 2|0); + $4 = HEAP16[$3>>1]|0; + $5 = $4&65535; + $6 = $5 & 16; + $7 = ($6|0)!=(0); + if (!($7)) { STACKTOP = sp;return; } - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 2|0); - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = $7 & 16; - $9 = ($8|0)!=(0); - if (!($9)) { - STACKTOP = sp;return; + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + _sqlite3DbFree($8,$9); + STACKTOP = sp;return; +} +function _freeP4Mem($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 24|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + _sqlite3DbFree($6,$9); } $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$1>>2]|0; @@ -152177,7 +153289,7 @@ function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { $regOut = $regOut|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, $x = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -152212,7 +153324,7 @@ function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { $19 = $18&255; $20 = $19 & 16; $21 = ($20|0)!=(0); - $22 = $21 ? 154 : 94; + $22 = $21 ? 156 : 96; HEAP32[$op>>2] = $22; $23 = HEAP32[$3>>2]|0; HEAP32[$x>>2] = $23; @@ -152224,37 +153336,45 @@ function _sqlite3ExprCodeGetColumnOfTable($v,$pTab,$iTabCur,$iCol,$regOut) { $29 = ($28|0)==(0); if (!($29)) { $30 = HEAP32[$1>>2]|0; - $31 = (_sqlite3PrimaryKeyIndex($30)|0); - $32 = HEAP32[$3>>2]|0; - $33 = $32&65535; - $34 = (_sqlite3ColumnOfIndex($31,$33)|0); - $35 = $34 << 16 >> 16; - HEAP32[$x>>2] = $35; + $31 = ((($30)) + 42|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = $33 & 16; + $35 = ($34|0)!=(0); + if (!($35)) { + $36 = HEAP32[$1>>2]|0; + $37 = (_sqlite3PrimaryKeyIndex($36)|0); + $38 = HEAP32[$3>>2]|0; + $39 = $38&65535; + $40 = (_sqlite3ColumnOfIndex($37,$39)|0); + $41 = $40 << 16 >> 16; + HEAP32[$x>>2] = $41; + } } - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$op>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$x>>2]|0; - $40 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp3($36,$37,$38,$39,$40)|0); + $42 = HEAP32[$0>>2]|0; + $43 = HEAP32[$op>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$x>>2]|0; + $46 = HEAP32[$4>>2]|0; + (_sqlite3VdbeAddOp3($42,$43,$44,$45,$46)|0); } } if ((label|0) == 3) { $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp2($13,121,$14,$15)|0); + (_sqlite3VdbeAddOp2($13,123,$14,$15)|0); } - $41 = HEAP32[$3>>2]|0; - $42 = ($41|0)>=(0); - if (!($42)) { + $47 = HEAP32[$3>>2]|0; + $48 = ($47|0)>=(0); + if (!($48)) { STACKTOP = sp;return; } - $43 = HEAP32[$0>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$4>>2]|0; - _sqlite3ColumnDefault($43,$44,$45,$46); + $49 = HEAP32[$0>>2]|0; + $50 = HEAP32[$1>>2]|0; + $51 = HEAP32[$3>>2]|0; + $52 = HEAP32[$4>>2]|0; + _sqlite3ColumnDefault($49,$50,$51,$52); STACKTOP = sp;return; } function _sqlite3ColumnOfIndex($pIdx,$iCol) { @@ -152384,7 +153504,7 @@ function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { } $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp1($39,90,$40)|0); + (_sqlite3VdbeAddOp1($39,92,$40)|0); STACKTOP = sp;return; } function _sqlite3VdbeDb($v) { @@ -152428,7 +153548,7 @@ function _sqlite3ExprCode($pParse,$pExpr,$target) { $13 = ((($12)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($11,82,$14,$15)|0); + (_sqlite3VdbeAddOp2($11,84,$14,$15)|0); STACKTOP = sp;return; } } @@ -152455,7 +153575,7 @@ function _sqlite3ExprCode($pParse,$pExpr,$target) { $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$inReg>>2]|0; $31 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($29,83,$30,$31)|0); + (_sqlite3VdbeAddOp2($29,85,$30,$31)|0); STACKTOP = sp;return; } function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { @@ -152496,67 +153616,65 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; - var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aListelem = 0, $addr = 0, $constMask = 0, $db = 0, $destIfFalse = 0, $destIfNull = 0; - var $enc = 0, $endCoalesce = 0, $endLabel = 0, $exprOp = 0, $i = 0, $i2 = 0, $iTab = 0, $inReg = 0, $n = 0, $nExpr = 0, $nFarg = 0, $nextCase = 0, $op = 0, $opCompare = 0, $or$cond = 0, $or$cond3 = 0, $p1 = 0, $pAggInfo = 0, $pCol = 0, $pColl = 0; - var $pDef = 0, $pEList = 0, $pFarg = 0, $pInfo = 0, $pLItem = 0, $pLeft = 0, $pLeft1 = 0, $pRight = 0, $pTab = 0, $pTest = 0, $pX = 0, $r1 = 0, $r2 = 0, $r3 = 0, $r4 = 0, $regFree1 = 0, $regFree2 = 0, $tempX = 0, $v = 0, $vararg_buffer = 0; - var $vararg_buffer4 = 0, $vararg_buffer7 = 0, $z = 0, $zBlob = 0, $zId = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $aListelem = 0, $addr = 0, $constMask = 0, $db = 0, $destIfFalse = 0, $destIfNull = 0, $enc = 0, $endCoalesce = 0, $endLabel = 0, $exprOp = 0, $i = 0, $i2 = 0, $iTab = 0, $inReg = 0, $n = 0, $nCol = 0, $nExpr = 0; + var $nFarg = 0, $nextCase = 0, $op = 0, $opCompare = 0, $or$cond = 0, $or$cond3 = 0, $p1 = 0, $p5 = 0, $pAggInfo = 0, $pCol = 0, $pColl = 0, $pDef = 0, $pEList = 0, $pFarg = 0, $pInfo = 0, $pLeft = 0, $pLeft1 = 0, $pTab = 0, $pTest = 0, $pX = 0; + var $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $tempX = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $z = 0, $zBlob = 0, $zId = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 320|0; + $vararg_buffer9 = sp + 24|0; $vararg_buffer7 = sp + 16|0; $vararg_buffer4 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 300|0; - $1 = sp + 296|0; - $2 = sp + 292|0; - $3 = sp + 288|0; - $v = sp + 284|0; - $op = sp + 280|0; - $inReg = sp + 276|0; - $regFree1 = sp + 272|0; - $regFree2 = sp + 268|0; - $r1 = sp + 264|0; - $r2 = sp + 260|0; - $r3 = sp + 256|0; - $r4 = sp + 252|0; - $db = sp + 248|0; - $tempX = sp + 200|0; - $pAggInfo = sp + 196|0; - $pCol = sp + 192|0; - $iTab = sp + 188|0; - $n = sp + 184|0; - $z = sp + 180|0; - $zBlob = sp + 176|0; - $pLeft = sp + 172|0; - $addr = sp + 168|0; - $pInfo = sp + 164|0; - $pFarg = sp + 160|0; - $nFarg = sp + 156|0; - $pDef = sp + 152|0; - $zId = sp + 148|0; - $constMask = sp + 144|0; - $i = sp + 140|0; - $enc = sp + 305|0; + $0 = sp + 304|0; + $1 = sp + 300|0; + $2 = sp + 296|0; + $3 = sp + 292|0; + $v = sp + 288|0; + $op = sp + 284|0; + $inReg = sp + 280|0; + $regFree1 = sp + 276|0; + $regFree2 = sp + 272|0; + $r1 = sp + 268|0; + $r2 = sp + 264|0; + $tempX = sp + 216|0; + $p5 = sp + 208|0; + $pAggInfo = sp + 204|0; + $pCol = sp + 200|0; + $iTab = sp + 196|0; + $n = sp + 192|0; + $z = sp + 188|0; + $zBlob = sp + 184|0; + $pLeft = sp + 180|0; + $pLeft1 = sp + 176|0; + $addr = sp + 172|0; + $pInfo = sp + 168|0; + $pFarg = sp + 164|0; + $nFarg = sp + 160|0; + $pDef = sp + 156|0; + $zId = sp + 152|0; + $constMask = sp + 148|0; + $i = sp + 144|0; + $db = sp + 140|0; + $enc = sp + 309|0; $pColl = sp + 136|0; $endCoalesce = sp + 132|0; - $exprOp = sp + 304|0; - $destIfFalse = sp + 128|0; - $destIfNull = sp + 124|0; - $pLeft1 = sp + 120|0; - $pLItem = sp + 116|0; - $pRight = sp + 112|0; - $pTab = sp + 108|0; - $p1 = sp + 104|0; - $endLabel = sp + 100|0; - $nextCase = sp + 96|0; - $nExpr = sp + 92|0; - $i2 = sp + 88|0; - $pEList = sp + 84|0; - $aListelem = sp + 80|0; - $opCompare = sp + 32|0; - $pX = sp + 24|0; - $pTest = sp + 20|0; + $exprOp = sp + 308|0; + $nCol = sp + 128|0; + $destIfFalse = sp + 124|0; + $destIfNull = sp + 120|0; + $pTab = sp + 116|0; + $p1 = sp + 112|0; + $endLabel = sp + 108|0; + $nextCase = sp + 104|0; + $nExpr = sp + 100|0; + $i2 = sp + 96|0; + $pEList = sp + 92|0; + $aListelem = sp + 88|0; + $opCompare = sp + 40|0; + $pX = sp + 32|0; + $pTest = sp + 28|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pExpr; HEAP32[$3>>2] = $target; @@ -152568,67 +153686,70 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { HEAP32[$inReg>>2] = $7; HEAP32[$regFree1>>2] = 0; HEAP32[$regFree2>>2] = 0; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$db>>2] = $9; - $10 = HEAP32[$v>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { + HEAP32[$p5>>2] = 0; + $8 = HEAP32[$v>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { HEAP32[$0>>2] = 0; - $733 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($733|0); + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); } - $12 = HEAP32[$2>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { + $10 = HEAP32[$2>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { HEAP32[$op>>2] = 101; } else { - $14 = HEAP32[$2>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - HEAP32[$op>>2] = $16; + $12 = HEAP32[$2>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + HEAP32[$op>>2] = $14; } - $17 = HEAP32[$op>>2]|0; + $15 = HEAP32[$op>>2]|0; L9: do { - switch ($17|0) { + switch ($15|0) { case 154: { - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 40|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pAggInfo>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 34|0); - $23 = HEAP16[$22>>1]|0; - $24 = $23 << 16 >> 16; - $25 = HEAP32[$pAggInfo>>2]|0; - $26 = ((($25)) + 28|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + (($24*24)|0)|0); - HEAP32[$pCol>>2] = $28; - $29 = HEAP32[$pAggInfo>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)!=(0); - if (!($31)) { - $32 = HEAP32[$pCol>>2]|0; - $33 = ((($32)) + 16|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$inReg>>2] = $34; - break L9; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 40|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$pAggInfo>>2] = $18; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 34|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21 << 16 >> 16; + $23 = HEAP32[$pAggInfo>>2]|0; + $24 = ((($23)) + 28|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + (($22*24)|0)|0); + HEAP32[$pCol>>2] = $26; + $27 = HEAP32[$pAggInfo>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)!=(0); + if (!($29)) { + $30 = HEAP32[$pCol>>2]|0; + $31 = ((($30)) + 16|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$0>>2] = $32; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); } - $35 = HEAP32[$pAggInfo>>2]|0; - $36 = ((($35)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)!=(0); - if ($38) { - $39 = HEAP32[$v>>2]|0; - $40 = HEAP32[$pAggInfo>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pCol>>2]|0; - $44 = ((($43)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($39,94,$42,$45,$46)|0); + $33 = HEAP32[$pAggInfo>>2]|0; + $34 = ((($33)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)!=(0); + if ($36) { + $37 = HEAP32[$v>>2]|0; + $38 = HEAP32[$pAggInfo>>2]|0; + $39 = ((($38)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$pCol>>2]|0; + $42 = ((($41)) + 12|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp3($37,96,$40,$43,$44)|0); + $45 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $45; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); } else { label = 11; } @@ -152638,1053 +153759,1095 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { label = 11; break; } - case 132: { - $81 = HEAP32[$1>>2]|0; - $82 = HEAP32[$2>>2]|0; + case 134: { + $80 = HEAP32[$1>>2]|0; + $81 = HEAP32[$2>>2]|0; + $82 = HEAP32[$3>>2]|0; + _codeInteger($80,$81,0,$82); $83 = HEAP32[$3>>2]|0; - _codeInteger($81,$82,0,$83); + HEAP32[$0>>2] = $83; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } - case 133: { + case 132: { $84 = HEAP32[$v>>2]|0; $85 = HEAP32[$2>>2]|0; $86 = ((($85)) + 8|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[$3>>2]|0; _codeReal($84,$87,0,$88); + $89 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $89; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 97: { - $89 = HEAP32[$v>>2]|0; - $90 = HEAP32[$3>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + 8|0); - $93 = HEAP32[$92>>2]|0; - (_sqlite3VdbeLoadString($89,$90,$93)|0); + $90 = HEAP32[$v>>2]|0; + $91 = HEAP32[$3>>2]|0; + $92 = HEAP32[$2>>2]|0; + $93 = ((($92)) + 8|0); + $94 = HEAP32[$93>>2]|0; + (_sqlite3VdbeLoadString($90,$91,$94)|0); + $95 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $95; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 101: { - $94 = HEAP32[$v>>2]|0; - $95 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($94,77,0,$95)|0); + $96 = HEAP32[$v>>2]|0; + $97 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($96,79,0,$97)|0); + $98 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $98; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } - case 134: { - $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 8|0); - $98 = HEAP32[$97>>2]|0; - $99 = ((($98)) + 2|0); - HEAP32[$z>>2] = $99; - $100 = HEAP32[$z>>2]|0; - $101 = (_sqlite3Strlen30($100)|0); - $102 = (($101) - 1)|0; - HEAP32[$n>>2] = $102; - $103 = HEAP32[$v>>2]|0; - $104 = (_sqlite3VdbeDb($103)|0); - $105 = HEAP32[$z>>2]|0; - $106 = HEAP32[$n>>2]|0; - $107 = (_sqlite3HexToBlob($104,$105,$106)|0); - HEAP32[$zBlob>>2] = $107; - $108 = HEAP32[$v>>2]|0; + case 133: { + $99 = HEAP32[$2>>2]|0; + $100 = ((($99)) + 8|0); + $101 = HEAP32[$100>>2]|0; + $102 = ((($101)) + 2|0); + HEAP32[$z>>2] = $102; + $103 = HEAP32[$z>>2]|0; + $104 = (_sqlite3Strlen30($103)|0); + $105 = (($104) - 1)|0; + HEAP32[$n>>2] = $105; + $106 = HEAP32[$v>>2]|0; + $107 = (_sqlite3VdbeDb($106)|0); + $108 = HEAP32[$z>>2]|0; $109 = HEAP32[$n>>2]|0; - $110 = (($109|0) / 2)&-1; - $111 = HEAP32[$3>>2]|0; - $112 = HEAP32[$zBlob>>2]|0; - (_sqlite3VdbeAddOp4($108,79,$110,$111,0,$112,-1)|0); + $110 = (_sqlite3HexToBlob($107,$108,$109)|0); + HEAP32[$zBlob>>2] = $110; + $111 = HEAP32[$v>>2]|0; + $112 = HEAP32[$n>>2]|0; + $113 = (($112|0) / 2)&-1; + $114 = HEAP32[$3>>2]|0; + $115 = HEAP32[$zBlob>>2]|0; + (_sqlite3VdbeAddOp4($111,81,$113,$114,0,$115,-1)|0); + $116 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $116; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 135: { - $113 = HEAP32[$v>>2]|0; - $114 = HEAP32[$2>>2]|0; - $115 = ((($114)) + 32|0); - $116 = HEAP16[$115>>1]|0; - $117 = $116 << 16 >> 16; - $118 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($113,80,$117,$118)|0); - $119 = HEAP32[$2>>2]|0; - $120 = ((($119)) + 8|0); - $121 = HEAP32[$120>>2]|0; - $122 = ((($121)) + 1|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123 << 24 >> 24; - $125 = ($124|0)!=(0); - if ($125) { - $126 = HEAP32[$v>>2]|0; - $127 = HEAP32[$2>>2]|0; - $128 = ((($127)) + 32|0); - $129 = HEAP16[$128>>1]|0; - $130 = $129 << 16 >> 16; - $131 = (($130) - 1)|0; - $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 476|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + ($131<<2)|0); - $136 = HEAP32[$135>>2]|0; - _sqlite3VdbeChangeP4($126,-1,$136,-2); + $117 = HEAP32[$v>>2]|0; + $118 = HEAP32[$2>>2]|0; + $119 = ((($118)) + 32|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120 << 16 >> 16; + $122 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($117,82,$121,$122)|0); + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 8|0); + $125 = HEAP32[$124>>2]|0; + $126 = ((($125)) + 1|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127 << 24 >> 24; + $129 = ($128|0)!=(0); + if ($129) { + $130 = HEAP32[$v>>2]|0; + $131 = HEAP32[$2>>2]|0; + $132 = ((($131)) + 32|0); + $133 = HEAP16[$132>>1]|0; + $134 = $133 << 16 >> 16; + $135 = (($134) - 1)|0; + $136 = HEAP32[$1>>2]|0; + $137 = ((($136)) + 428|0); + $138 = HEAP32[$137>>2]|0; + $139 = (($138) + ($135<<2)|0); + $140 = HEAP32[$139>>2]|0; + _sqlite3VdbeChangeP4($130,-1,$140,-2); } + $141 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $141; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 157: { - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 28|0); - $139 = HEAP32[$138>>2]|0; - HEAP32[$inReg>>2] = $139; + $142 = HEAP32[$2>>2]|0; + $143 = ((($142)) + 28|0); + $144 = HEAP32[$143>>2]|0; + HEAP32[$0>>2] = $144; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 66: { - $140 = HEAP32[$1>>2]|0; - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 12|0); - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$3>>2]|0; - $145 = (_sqlite3ExprCodeTarget($140,$143,$144)|0); - HEAP32[$inReg>>2] = $145; - $146 = HEAP32[$inReg>>2]|0; - $147 = HEAP32[$3>>2]|0; - $148 = ($146|0)!=($147|0); - if ($148) { - $149 = HEAP32[$v>>2]|0; - $150 = HEAP32[$inReg>>2]|0; - $151 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($149,83,$150,$151)|0); - $152 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $152; - } - $153 = HEAP32[$v>>2]|0; - $154 = HEAP32[$3>>2]|0; - $155 = HEAP32[$2>>2]|0; - $156 = ((($155)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = (_sqlite3AffinityType($157,0)|0); - $159 = $158 << 24 >> 24; - (_sqlite3VdbeAddOp2($153,91,$154,$159)|0); - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$inReg>>2]|0; - _sqlite3ExprCacheAffinityChange($160,$161,1); + $145 = HEAP32[$1>>2]|0; + $146 = HEAP32[$2>>2]|0; + $147 = ((($146)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$3>>2]|0; + $150 = (_sqlite3ExprCodeTarget($145,$148,$149)|0); + HEAP32[$inReg>>2] = $150; + $151 = HEAP32[$inReg>>2]|0; + $152 = HEAP32[$3>>2]|0; + $153 = ($151|0)!=($152|0); + if ($153) { + $154 = HEAP32[$v>>2]|0; + $155 = HEAP32[$inReg>>2]|0; + $156 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($154,85,$155,$156)|0); + $157 = HEAP32[$3>>2]|0; + HEAP32[$inReg>>2] = $157; + } + $158 = HEAP32[$v>>2]|0; + $159 = HEAP32[$3>>2]|0; + $160 = HEAP32[$2>>2]|0; + $161 = ((($160)) + 8|0); + $162 = HEAP32[$161>>2]|0; + $163 = (_sqlite3AffinityType($162,0)|0); + $164 = $163 << 24 >> 24; + (_sqlite3VdbeAddOp2($158,93,$159,$164)|0); + $165 = HEAP32[$1>>2]|0; + $166 = HEAP32[$inReg>>2]|0; + _sqlite3ExprCacheAffinityChange($165,$166,1); + $167 = HEAP32[$inReg>>2]|0; + HEAP32[$0>>2] = $167; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } - case 37: case 36: case 41: case 38: case 39: case 40: { - $162 = HEAP32[$1>>2]|0; - $163 = HEAP32[$2>>2]|0; - $164 = ((($163)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = (_sqlite3ExprCodeTemp($162,$165,$regFree1)|0); - HEAP32[$r1>>2] = $166; - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$2>>2]|0; - $169 = ((($168)) + 16|0); - $170 = HEAP32[$169>>2]|0; - $171 = (_sqlite3ExprCodeTemp($167,$170,$regFree2)|0); - HEAP32[$r2>>2] = $171; - $172 = HEAP32[$1>>2]|0; - $173 = HEAP32[$2>>2]|0; - $174 = ((($173)) + 12|0); - $175 = HEAP32[$174>>2]|0; - $176 = HEAP32[$2>>2]|0; - $177 = ((($176)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = HEAP32[$op>>2]|0; - $180 = HEAP32[$r1>>2]|0; - $181 = HEAP32[$r2>>2]|0; - $182 = HEAP32[$inReg>>2]|0; - (_codeCompare($172,$175,$178,$179,$180,$181,$182,32)|0); + case 148: case 29: { + $168 = HEAP32[$op>>2]|0; + $169 = ($168|0)==(29); + $170 = $169 ? 37 : 36; + HEAP32[$op>>2] = $170; + HEAP32[$p5>>2] = 128; + label = 29; break; } - case 148: case 29: { - $183 = HEAP32[$1>>2]|0; - $184 = HEAP32[$2>>2]|0; - $185 = ((($184)) + 12|0); - $186 = HEAP32[$185>>2]|0; - $187 = (_sqlite3ExprCodeTemp($183,$186,$regFree1)|0); - HEAP32[$r1>>2] = $187; - $188 = HEAP32[$1>>2]|0; - $189 = HEAP32[$2>>2]|0; - $190 = ((($189)) + 16|0); - $191 = HEAP32[$190>>2]|0; - $192 = (_sqlite3ExprCodeTemp($188,$191,$regFree2)|0); - HEAP32[$r2>>2] = $192; - $193 = HEAP32[$op>>2]|0; - $194 = ($193|0)==(29); - $195 = $194 ? 37 : 36; - HEAP32[$op>>2] = $195; - $196 = HEAP32[$1>>2]|0; - $197 = HEAP32[$2>>2]|0; - $198 = ((($197)) + 12|0); - $199 = HEAP32[$198>>2]|0; - $200 = HEAP32[$2>>2]|0; - $201 = ((($200)) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = HEAP32[$op>>2]|0; - $204 = HEAP32[$r1>>2]|0; - $205 = HEAP32[$r2>>2]|0; - $206 = HEAP32[$inReg>>2]|0; - (_codeCompare($196,$199,$202,$203,$204,$205,$206,160)|0); + case 37: case 36: case 41: case 38: case 39: case 40: { + label = 29; break; } case 52: case 46: case 45: case 50: case 44: case 43: case 51: case 48: case 49: case 47: case 27: case 28: { + $202 = HEAP32[$1>>2]|0; + $203 = HEAP32[$2>>2]|0; + $204 = ((($203)) + 12|0); + $205 = HEAP32[$204>>2]|0; + $206 = (_sqlite3ExprCodeTemp($202,$205,$regFree1)|0); + HEAP32[$r1>>2] = $206; $207 = HEAP32[$1>>2]|0; $208 = HEAP32[$2>>2]|0; - $209 = ((($208)) + 12|0); + $209 = ((($208)) + 16|0); $210 = HEAP32[$209>>2]|0; - $211 = (_sqlite3ExprCodeTemp($207,$210,$regFree1)|0); - HEAP32[$r1>>2] = $211; - $212 = HEAP32[$1>>2]|0; - $213 = HEAP32[$2>>2]|0; - $214 = ((($213)) + 16|0); - $215 = HEAP32[$214>>2]|0; - $216 = (_sqlite3ExprCodeTemp($212,$215,$regFree2)|0); - HEAP32[$r2>>2] = $216; - $217 = HEAP32[$v>>2]|0; - $218 = HEAP32[$op>>2]|0; - $219 = HEAP32[$r2>>2]|0; - $220 = HEAP32[$r1>>2]|0; - $221 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($217,$218,$219,$220,$221)|0); + $211 = (_sqlite3ExprCodeTemp($207,$210,$regFree2)|0); + HEAP32[$r2>>2] = $211; + $212 = HEAP32[$v>>2]|0; + $213 = HEAP32[$op>>2]|0; + $214 = HEAP32[$r2>>2]|0; + $215 = HEAP32[$r1>>2]|0; + $216 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp3($212,$213,$214,$215,$216)|0); break; } case 155: { - $222 = HEAP32[$2>>2]|0; - $223 = ((($222)) + 12|0); - $224 = HEAP32[$223>>2]|0; - HEAP32[$pLeft>>2] = $224; - $225 = HEAP32[$pLeft>>2]|0; - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = ($227|0)==(132); - do { - if ($228) { - $229 = HEAP32[$1>>2]|0; - $230 = HEAP32[$pLeft>>2]|0; - $231 = HEAP32[$3>>2]|0; - _codeInteger($229,$230,1,$231); - } else { - $232 = HEAP32[$pLeft>>2]|0; - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = ($234|0)==(133); - if ($235) { - $236 = HEAP32[$v>>2]|0; - $237 = HEAP32[$pLeft>>2]|0; - $238 = ((($237)) + 8|0); - $239 = HEAP32[$238>>2]|0; - $240 = HEAP32[$3>>2]|0; - _codeReal($236,$239,1,$240); - break; - } else { - HEAP8[$tempX>>0] = -124; - $241 = ((($tempX)) + 4|0); - HEAP32[$241>>2] = 17408; - $242 = ((($tempX)) + 8|0); - HEAP32[$242>>2] = 0; - $243 = HEAP32[$1>>2]|0; - $244 = (_sqlite3ExprCodeTemp($243,$tempX,$regFree1)|0); - HEAP32[$r1>>2] = $244; - $245 = HEAP32[$1>>2]|0; - $246 = HEAP32[$2>>2]|0; - $247 = ((($246)) + 12|0); - $248 = HEAP32[$247>>2]|0; - $249 = (_sqlite3ExprCodeTemp($245,$248,$regFree2)|0); - HEAP32[$r2>>2] = $249; - $250 = HEAP32[$v>>2]|0; - $251 = HEAP32[$r2>>2]|0; - $252 = HEAP32[$r1>>2]|0; - $253 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($250,48,$251,$252,$253)|0); - break; - } - } - } while(0); - $254 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $254; + $217 = HEAP32[$2>>2]|0; + $218 = ((($217)) + 12|0); + $219 = HEAP32[$218>>2]|0; + HEAP32[$pLeft1>>2] = $219; + $220 = HEAP32[$pLeft1>>2]|0; + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $223 = ($222|0)==(134); + if ($223) { + $224 = HEAP32[$1>>2]|0; + $225 = HEAP32[$pLeft1>>2]|0; + $226 = HEAP32[$3>>2]|0; + _codeInteger($224,$225,1,$226); + $227 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $227; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); + } + $228 = HEAP32[$pLeft1>>2]|0; + $229 = HEAP8[$228>>0]|0; + $230 = $229&255; + $231 = ($230|0)==(132); + if (!($231)) { + HEAP8[$tempX>>0] = -122; + $238 = ((($tempX)) + 4|0); + HEAP32[$238>>2] = 17408; + $239 = ((($tempX)) + 8|0); + HEAP32[$239>>2] = 0; + $240 = HEAP32[$1>>2]|0; + $241 = (_sqlite3ExprCodeTemp($240,$tempX,$regFree1)|0); + HEAP32[$r1>>2] = $241; + $242 = HEAP32[$1>>2]|0; + $243 = HEAP32[$2>>2]|0; + $244 = ((($243)) + 12|0); + $245 = HEAP32[$244>>2]|0; + $246 = (_sqlite3ExprCodeTemp($242,$245,$regFree2)|0); + HEAP32[$r2>>2] = $246; + $247 = HEAP32[$v>>2]|0; + $248 = HEAP32[$r2>>2]|0; + $249 = HEAP32[$r1>>2]|0; + $250 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp3($247,48,$248,$249,$250)|0); + break L9; + } + $232 = HEAP32[$v>>2]|0; + $233 = HEAP32[$pLeft1>>2]|0; + $234 = ((($233)) + 8|0); + $235 = HEAP32[$234>>2]|0; + $236 = HEAP32[$3>>2]|0; + _codeReal($232,$235,1,$236); + $237 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $237; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 19: case 54: { - $255 = HEAP32[$1>>2]|0; - $256 = HEAP32[$2>>2]|0; - $257 = ((($256)) + 12|0); - $258 = HEAP32[$257>>2]|0; - $259 = (_sqlite3ExprCodeTemp($255,$258,$regFree1)|0); - HEAP32[$r1>>2] = $259; - $260 = HEAP32[$3>>2]|0; - HEAP32[$inReg>>2] = $260; - $261 = HEAP32[$v>>2]|0; - $262 = HEAP32[$op>>2]|0; - $263 = HEAP32[$r1>>2]|0; - $264 = HEAP32[$inReg>>2]|0; - (_sqlite3VdbeAddOp2($261,$262,$263,$264)|0); + $251 = HEAP32[$1>>2]|0; + $252 = HEAP32[$2>>2]|0; + $253 = ((($252)) + 12|0); + $254 = HEAP32[$253>>2]|0; + $255 = (_sqlite3ExprCodeTemp($251,$254,$regFree1)|0); + HEAP32[$r1>>2] = $255; + $256 = HEAP32[$v>>2]|0; + $257 = HEAP32[$op>>2]|0; + $258 = HEAP32[$r1>>2]|0; + $259 = HEAP32[$inReg>>2]|0; + (_sqlite3VdbeAddOp2($256,$257,$258,$259)|0); break; } case 35: case 34: { - $265 = HEAP32[$v>>2]|0; - $266 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($265,74,1,$266)|0); - $267 = HEAP32[$1>>2]|0; - $268 = HEAP32[$2>>2]|0; - $269 = ((($268)) + 12|0); - $270 = HEAP32[$269>>2]|0; - $271 = (_sqlite3ExprCodeTemp($267,$270,$regFree1)|0); - HEAP32[$r1>>2] = $271; - $272 = HEAP32[$v>>2]|0; - $273 = HEAP32[$op>>2]|0; - $274 = HEAP32[$r1>>2]|0; - $275 = (_sqlite3VdbeAddOp1($272,$273,$274)|0); - HEAP32[$addr>>2] = $275; - $276 = HEAP32[$v>>2]|0; - $277 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($276,74,0,$277)|0); - $278 = HEAP32[$v>>2]|0; - $279 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($278,$279); + $260 = HEAP32[$v>>2]|0; + $261 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($260,76,1,$261)|0); + $262 = HEAP32[$1>>2]|0; + $263 = HEAP32[$2>>2]|0; + $264 = ((($263)) + 12|0); + $265 = HEAP32[$264>>2]|0; + $266 = (_sqlite3ExprCodeTemp($262,$265,$regFree1)|0); + HEAP32[$r1>>2] = $266; + $267 = HEAP32[$v>>2]|0; + $268 = HEAP32[$op>>2]|0; + $269 = HEAP32[$r1>>2]|0; + $270 = (_sqlite3VdbeAddOp1($267,$268,$269)|0); + HEAP32[$addr>>2] = $270; + $271 = HEAP32[$v>>2]|0; + $272 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($271,76,0,$272)|0); + $273 = HEAP32[$v>>2]|0; + $274 = HEAP32[$addr>>2]|0; + _sqlite3VdbeJumpHere($273,$274); break; } case 153: { - $280 = HEAP32[$2>>2]|0; - $281 = ((($280)) + 40|0); - $282 = HEAP32[$281>>2]|0; - HEAP32[$pInfo>>2] = $282; - $283 = HEAP32[$pInfo>>2]|0; - $284 = ($283|0)==(0|0); - if ($284) { - $285 = HEAP32[$1>>2]|0; - $286 = HEAP32[$2>>2]|0; - $287 = ((($286)) + 8|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$vararg_buffer>>2] = $288; - _sqlite3ErrorMsg($285,31663,$vararg_buffer); - break L9; - } else { - $289 = HEAP32[$2>>2]|0; - $290 = ((($289)) + 34|0); - $291 = HEAP16[$290>>1]|0; - $292 = $291 << 16 >> 16; - $293 = HEAP32[$pInfo>>2]|0; - $294 = ((($293)) + 40|0); - $295 = HEAP32[$294>>2]|0; - $296 = (($295) + ($292<<4)|0); - $297 = ((($296)) + 8|0); - $298 = HEAP32[$297>>2]|0; - HEAP32[$inReg>>2] = $298; + $275 = HEAP32[$2>>2]|0; + $276 = ((($275)) + 40|0); + $277 = HEAP32[$276>>2]|0; + HEAP32[$pInfo>>2] = $277; + $278 = HEAP32[$pInfo>>2]|0; + $279 = ($278|0)==(0|0); + if ($279) { + $280 = HEAP32[$1>>2]|0; + $281 = HEAP32[$2>>2]|0; + $282 = ((($281)) + 8|0); + $283 = HEAP32[$282>>2]|0; + HEAP32[$vararg_buffer>>2] = $283; + _sqlite3ErrorMsg($280,31067,$vararg_buffer); break L9; } + $284 = HEAP32[$2>>2]|0; + $285 = ((($284)) + 34|0); + $286 = HEAP16[$285>>1]|0; + $287 = $286 << 16 >> 16; + $288 = HEAP32[$pInfo>>2]|0; + $289 = ((($288)) + 40|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($287<<4)|0); + $292 = ((($291)) + 8|0); + $293 = HEAP32[$292>>2]|0; + HEAP32[$0>>2] = $293; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 151: { HEAP32[$constMask>>2] = 0; - $299 = HEAP32[$db>>2]|0; - $300 = ((($299)) + 66|0); - $301 = HEAP8[$300>>0]|0; - HEAP8[$enc>>0] = $301; + $294 = HEAP32[$1>>2]|0; + $295 = HEAP32[$294>>2]|0; + HEAP32[$db>>2] = $295; + $296 = HEAP32[$db>>2]|0; + $297 = ((($296)) + 66|0); + $298 = HEAP8[$297>>0]|0; + HEAP8[$enc>>0] = $298; HEAP32[$pColl>>2] = 0; - $302 = HEAP32[$2>>2]|0; - $303 = ((($302)) + 4|0); - $304 = HEAP32[$303>>2]|0; - $305 = $304 & 16384; - $306 = ($305|0)!=(0); - if ($306) { + $299 = HEAP32[$2>>2]|0; + $300 = ((($299)) + 4|0); + $301 = HEAP32[$300>>2]|0; + $302 = $301 & 16384; + $303 = ($302|0)!=(0); + if ($303) { HEAP32[$pFarg>>2] = 0; } else { - $307 = HEAP32[$2>>2]|0; - $308 = ((($307)) + 20|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$pFarg>>2] = $309; + $304 = HEAP32[$2>>2]|0; + $305 = ((($304)) + 20|0); + $306 = HEAP32[$305>>2]|0; + HEAP32[$pFarg>>2] = $306; } - $310 = HEAP32[$pFarg>>2]|0; - $311 = ($310|0)!=(0|0); - if ($311) { - $312 = HEAP32[$pFarg>>2]|0; - $313 = HEAP32[$312>>2]|0; - $314 = $313; + $307 = HEAP32[$pFarg>>2]|0; + $308 = ($307|0)!=(0|0); + if ($308) { + $309 = HEAP32[$pFarg>>2]|0; + $310 = HEAP32[$309>>2]|0; + $311 = $310; } else { - $314 = 0; + $311 = 0; } - HEAP32[$nFarg>>2] = $314; - $315 = HEAP32[$2>>2]|0; - $316 = ((($315)) + 8|0); - $317 = HEAP32[$316>>2]|0; - HEAP32[$zId>>2] = $317; - $318 = HEAP32[$db>>2]|0; - $319 = HEAP32[$zId>>2]|0; - $320 = HEAP32[$nFarg>>2]|0; - $321 = HEAP8[$enc>>0]|0; - $322 = (_sqlite3FindFunction($318,$319,$320,$321,0)|0); - HEAP32[$pDef>>2] = $322; - $323 = HEAP32[$pDef>>2]|0; - $324 = ($323|0)==(0|0); - if (!($324)) { - $325 = HEAP32[$pDef>>2]|0; - $326 = ((($325)) + 16|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)!=(0|0); - if (!($328)) { - $331 = HEAP32[$pDef>>2]|0; - $332 = ((($331)) + 2|0); - $333 = HEAP16[$332>>1]|0; - $334 = $333&65535; - $335 = $334 & 512; - $336 = ($335|0)!=(0); - if ($336) { - $337 = HEAP32[$v>>2]|0; - $338 = (_sqlite3VdbeMakeLabel($337)|0); - HEAP32[$endCoalesce>>2] = $338; - $339 = HEAP32[$1>>2]|0; - $340 = HEAP32[$pFarg>>2]|0; - $341 = ((($340)) + 4|0); - $342 = HEAP32[$341>>2]|0; - $343 = HEAP32[$342>>2]|0; - $344 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($339,$343,$344); + HEAP32[$nFarg>>2] = $311; + $312 = HEAP32[$2>>2]|0; + $313 = ((($312)) + 8|0); + $314 = HEAP32[$313>>2]|0; + HEAP32[$zId>>2] = $314; + $315 = HEAP32[$db>>2]|0; + $316 = HEAP32[$zId>>2]|0; + $317 = HEAP32[$nFarg>>2]|0; + $318 = HEAP8[$enc>>0]|0; + $319 = (_sqlite3FindFunction($315,$316,$317,$318,0)|0); + HEAP32[$pDef>>2] = $319; + $320 = HEAP32[$pDef>>2]|0; + $321 = ($320|0)==(0|0); + if (!($321)) { + $322 = HEAP32[$pDef>>2]|0; + $323 = ((($322)) + 16|0); + $324 = HEAP32[$323>>2]|0; + $325 = ($324|0)!=(0|0); + if (!($325)) { + $328 = HEAP32[$pDef>>2]|0; + $329 = ((($328)) + 2|0); + $330 = HEAP16[$329>>1]|0; + $331 = $330&65535; + $332 = $331 & 512; + $333 = ($332|0)!=(0); + if ($333) { + $334 = HEAP32[$v>>2]|0; + $335 = (_sqlite3VdbeMakeLabel($334)|0); + HEAP32[$endCoalesce>>2] = $335; + $336 = HEAP32[$1>>2]|0; + $337 = HEAP32[$pFarg>>2]|0; + $338 = ((($337)) + 4|0); + $339 = HEAP32[$338>>2]|0; + $340 = HEAP32[$339>>2]|0; + $341 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($336,$340,$341); HEAP32[$i>>2] = 1; while(1) { - $345 = HEAP32[$i>>2]|0; - $346 = HEAP32[$nFarg>>2]|0; - $347 = ($345|0)<($346|0); - $348 = HEAP32[$v>>2]|0; - if (!($347)) { + $342 = HEAP32[$i>>2]|0; + $343 = HEAP32[$nFarg>>2]|0; + $344 = ($342|0)<($343|0); + $345 = HEAP32[$v>>2]|0; + if (!($344)) { break; } + $346 = HEAP32[$3>>2]|0; + $347 = HEAP32[$endCoalesce>>2]|0; + (_sqlite3VdbeAddOp2($345,35,$346,$347)|0); + $348 = HEAP32[$1>>2]|0; $349 = HEAP32[$3>>2]|0; - $350 = HEAP32[$endCoalesce>>2]|0; - (_sqlite3VdbeAddOp2($348,35,$349,$350)|0); + _sqlite3ExprCacheRemove($348,$349,1); + $350 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($350); $351 = HEAP32[$1>>2]|0; - $352 = HEAP32[$3>>2]|0; - _sqlite3ExprCacheRemove($351,$352,1); - $353 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($353); - $354 = HEAP32[$1>>2]|0; - $355 = HEAP32[$i>>2]|0; - $356 = HEAP32[$pFarg>>2]|0; - $357 = ((($356)) + 4|0); - $358 = HEAP32[$357>>2]|0; - $359 = (($358) + (($355*20)|0)|0); - $360 = HEAP32[$359>>2]|0; - $361 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($354,$360,$361); - $362 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($362); - $363 = HEAP32[$i>>2]|0; - $364 = (($363) + 1)|0; - HEAP32[$i>>2] = $364; + $352 = HEAP32[$i>>2]|0; + $353 = HEAP32[$pFarg>>2]|0; + $354 = ((($353)) + 4|0); + $355 = HEAP32[$354>>2]|0; + $356 = (($355) + (($352*20)|0)|0); + $357 = HEAP32[$356>>2]|0; + $358 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($351,$357,$358); + $359 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($359); + $360 = HEAP32[$i>>2]|0; + $361 = (($360) + 1)|0; + HEAP32[$i>>2] = $361; } - $365 = HEAP32[$endCoalesce>>2]|0; - _sqlite3VdbeResolveLabel($348,$365); + $362 = HEAP32[$endCoalesce>>2]|0; + _sqlite3VdbeResolveLabel($345,$362); break L9; } - $366 = HEAP32[$pDef>>2]|0; - $367 = ((($366)) + 2|0); - $368 = HEAP16[$367>>1]|0; - $369 = $368&65535; - $370 = $369 & 1024; - $371 = ($370|0)!=(0); - if ($371) { - $372 = HEAP32[$1>>2]|0; - $373 = HEAP32[$pFarg>>2]|0; - $374 = ((($373)) + 4|0); - $375 = HEAP32[$374>>2]|0; - $376 = HEAP32[$375>>2]|0; - $377 = HEAP32[$3>>2]|0; - $378 = (_sqlite3ExprCodeTarget($372,$376,$377)|0); - HEAP32[$inReg>>2] = $378; - break L9; + $363 = HEAP32[$pDef>>2]|0; + $364 = ((($363)) + 2|0); + $365 = HEAP16[$364>>1]|0; + $366 = $365&65535; + $367 = $366 & 1024; + $368 = ($367|0)!=(0); + if ($368) { + $369 = HEAP32[$1>>2]|0; + $370 = HEAP32[$pFarg>>2]|0; + $371 = ((($370)) + 4|0); + $372 = HEAP32[$371>>2]|0; + $373 = HEAP32[$372>>2]|0; + $374 = HEAP32[$3>>2]|0; + $375 = (_sqlite3ExprCodeTarget($369,$373,$374)|0); + HEAP32[$0>>2] = $375; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); } HEAP32[$i>>2] = 0; while(1) { - $379 = HEAP32[$i>>2]|0; - $380 = HEAP32[$nFarg>>2]|0; - $381 = ($379|0)<($380|0); - if (!($381)) { + $376 = HEAP32[$i>>2]|0; + $377 = HEAP32[$nFarg>>2]|0; + $378 = ($376|0)<($377|0); + if (!($378)) { break; } - $382 = HEAP32[$i>>2]|0; - $383 = ($382|0)<(32); - if ($383) { - $384 = HEAP32[$i>>2]|0; - $385 = HEAP32[$pFarg>>2]|0; - $386 = ((($385)) + 4|0); - $387 = HEAP32[$386>>2]|0; - $388 = (($387) + (($384*20)|0)|0); - $389 = HEAP32[$388>>2]|0; - $390 = (_sqlite3ExprIsConstant($389)|0); - $391 = ($390|0)!=(0); - if ($391) { - $392 = HEAP32[$i>>2]|0; - $393 = 1 << $392; - $394 = HEAP32[$constMask>>2]|0; - $395 = $394 | $393; - HEAP32[$constMask>>2] = $395; + $379 = HEAP32[$i>>2]|0; + $380 = ($379|0)<(32); + if ($380) { + $381 = HEAP32[$i>>2]|0; + $382 = HEAP32[$pFarg>>2]|0; + $383 = ((($382)) + 4|0); + $384 = HEAP32[$383>>2]|0; + $385 = (($384) + (($381*20)|0)|0); + $386 = HEAP32[$385>>2]|0; + $387 = (_sqlite3ExprIsConstant($386)|0); + $388 = ($387|0)!=(0); + if ($388) { + $389 = HEAP32[$i>>2]|0; + $390 = 1 << $389; + $391 = HEAP32[$constMask>>2]|0; + $392 = $391 | $390; + HEAP32[$constMask>>2] = $392; } } - $396 = HEAP32[$pDef>>2]|0; - $397 = ((($396)) + 2|0); - $398 = HEAP16[$397>>1]|0; - $399 = $398&65535; - $400 = $399 & 32; - $401 = ($400|0)==(0); - $402 = HEAP32[$pColl>>2]|0; - $403 = ($402|0)!=(0|0); - $or$cond = $401 | $403; + $393 = HEAP32[$pDef>>2]|0; + $394 = ((($393)) + 2|0); + $395 = HEAP16[$394>>1]|0; + $396 = $395&65535; + $397 = $396 & 32; + $398 = ($397|0)==(0); + $399 = HEAP32[$pColl>>2]|0; + $400 = ($399|0)!=(0|0); + $or$cond = $398 | $400; if (!($or$cond)) { - $404 = HEAP32[$1>>2]|0; - $405 = HEAP32[$i>>2]|0; - $406 = HEAP32[$pFarg>>2]|0; - $407 = ((($406)) + 4|0); - $408 = HEAP32[$407>>2]|0; - $409 = (($408) + (($405*20)|0)|0); - $410 = HEAP32[$409>>2]|0; - $411 = (_sqlite3ExprCollSeq($404,$410)|0); - HEAP32[$pColl>>2] = $411; + $401 = HEAP32[$1>>2]|0; + $402 = HEAP32[$i>>2]|0; + $403 = HEAP32[$pFarg>>2]|0; + $404 = ((($403)) + 4|0); + $405 = HEAP32[$404>>2]|0; + $406 = (($405) + (($402*20)|0)|0); + $407 = HEAP32[$406>>2]|0; + $408 = (_sqlite3ExprCollSeq($401,$407)|0); + HEAP32[$pColl>>2] = $408; } - $412 = HEAP32[$i>>2]|0; - $413 = (($412) + 1)|0; - HEAP32[$i>>2] = $413; - } - $414 = HEAP32[$pFarg>>2]|0; - $415 = ($414|0)!=(0|0); - if ($415) { - $416 = HEAP32[$constMask>>2]|0; - $417 = ($416|0)!=(0); - $418 = HEAP32[$1>>2]|0; - if ($417) { - $419 = ((($418)) + 76|0); - $420 = HEAP32[$419>>2]|0; - $421 = (($420) + 1)|0; - HEAP32[$r1>>2] = $421; - $422 = HEAP32[$nFarg>>2]|0; - $423 = HEAP32[$1>>2]|0; - $424 = ((($423)) + 76|0); - $425 = HEAP32[$424>>2]|0; - $426 = (($425) + ($422))|0; - HEAP32[$424>>2] = $426; + $409 = HEAP32[$i>>2]|0; + $410 = (($409) + 1)|0; + HEAP32[$i>>2] = $410; + } + $411 = HEAP32[$pFarg>>2]|0; + $412 = ($411|0)!=(0|0); + if ($412) { + $413 = HEAP32[$constMask>>2]|0; + $414 = ($413|0)!=(0); + $415 = HEAP32[$1>>2]|0; + if ($414) { + $416 = ((($415)) + 44|0); + $417 = HEAP32[$416>>2]|0; + $418 = (($417) + 1)|0; + HEAP32[$r1>>2] = $418; + $419 = HEAP32[$nFarg>>2]|0; + $420 = HEAP32[$1>>2]|0; + $421 = ((($420)) + 44|0); + $422 = HEAP32[$421>>2]|0; + $423 = (($422) + ($419))|0; + HEAP32[$421>>2] = $423; } else { - $427 = HEAP32[$nFarg>>2]|0; - $428 = (_sqlite3GetTempRange($418,$427)|0); - HEAP32[$r1>>2] = $428; + $424 = HEAP32[$nFarg>>2]|0; + $425 = (_sqlite3GetTempRange($415,$424)|0); + HEAP32[$r1>>2] = $425; } - $429 = HEAP32[$pDef>>2]|0; - $430 = ((($429)) + 2|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431&65535; - $433 = $432 & 192; - $434 = ($433|0)!=(0); + $426 = HEAP32[$pDef>>2]|0; + $427 = ((($426)) + 2|0); + $428 = HEAP16[$427>>1]|0; + $429 = $428&65535; + $430 = $429 & 192; + $431 = ($430|0)!=(0); do { - if ($434) { - $435 = HEAP32[$pFarg>>2]|0; - $436 = ((($435)) + 4|0); - $437 = HEAP32[$436>>2]|0; - $438 = HEAP32[$437>>2]|0; - $439 = HEAP8[$438>>0]|0; - HEAP8[$exprOp>>0] = $439; - $440 = HEAP8[$exprOp>>0]|0; - $441 = $440&255; - $442 = ($441|0)==(152); - if (!($442)) { - $443 = HEAP8[$exprOp>>0]|0; - $444 = $443&255; - $445 = ($444|0)==(154); - if (!($445)) { + if ($431) { + $432 = HEAP32[$pFarg>>2]|0; + $433 = ((($432)) + 4|0); + $434 = HEAP32[$433>>2]|0; + $435 = HEAP32[$434>>2]|0; + $436 = HEAP8[$435>>0]|0; + HEAP8[$exprOp>>0] = $436; + $437 = HEAP8[$exprOp>>0]|0; + $438 = $437&255; + $439 = ($438|0)==(152); + if (!($439)) { + $440 = HEAP8[$exprOp>>0]|0; + $441 = $440&255; + $442 = ($441|0)==(154); + if (!($442)) { break; } } - $446 = HEAP32[$pDef>>2]|0; - $447 = ((($446)) + 2|0); - $448 = HEAP16[$447>>1]|0; - $449 = $448&65535; - $450 = $449 & 192; - $451 = $450&255; - $452 = HEAP32[$pFarg>>2]|0; - $453 = ((($452)) + 4|0); - $454 = HEAP32[$453>>2]|0; - $455 = HEAP32[$454>>2]|0; - $456 = ((($455)) + 38|0); - HEAP8[$456>>0] = $451; + $443 = HEAP32[$pDef>>2]|0; + $444 = ((($443)) + 2|0); + $445 = HEAP16[$444>>1]|0; + $446 = $445&65535; + $447 = $446 & 192; + $448 = $447&255; + $449 = HEAP32[$pFarg>>2]|0; + $450 = ((($449)) + 4|0); + $451 = HEAP32[$450>>2]|0; + $452 = HEAP32[$451>>2]|0; + $453 = ((($452)) + 38|0); + HEAP8[$453>>0] = $448; } } while(0); - $457 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($457); + $454 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($454); + $455 = HEAP32[$1>>2]|0; + $456 = HEAP32[$pFarg>>2]|0; + $457 = HEAP32[$r1>>2]|0; + (_sqlite3ExprCodeExprList($455,$456,$457,0,3)|0); $458 = HEAP32[$1>>2]|0; - $459 = HEAP32[$pFarg>>2]|0; - $460 = HEAP32[$r1>>2]|0; - (_sqlite3ExprCodeExprList($458,$459,$460,0,3)|0); - $461 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($461); + _sqlite3ExprCachePop($458); } else { HEAP32[$r1>>2] = 0; } - $462 = HEAP32[$nFarg>>2]|0; - $463 = ($462|0)>=(2); - if ($463) { - $464 = HEAP32[$2>>2]|0; - $465 = ((($464)) + 4|0); - $466 = HEAP32[$465>>2]|0; - $467 = $466 & 128; - $468 = ($467|0)!=(0); - if ($468) { - $469 = HEAP32[$db>>2]|0; - $470 = HEAP32[$pDef>>2]|0; - $471 = HEAP32[$nFarg>>2]|0; - $472 = HEAP32[$pFarg>>2]|0; - $473 = ((($472)) + 4|0); - $474 = HEAP32[$473>>2]|0; - $475 = ((($474)) + 20|0); - $476 = HEAP32[$475>>2]|0; - $477 = (_sqlite3VtabOverloadFunction($469,$470,$471,$476)|0); - HEAP32[$pDef>>2] = $477; + $459 = HEAP32[$nFarg>>2]|0; + $460 = ($459|0)>=(2); + if ($460) { + $461 = HEAP32[$2>>2]|0; + $462 = ((($461)) + 4|0); + $463 = HEAP32[$462>>2]|0; + $464 = $463 & 128; + $465 = ($464|0)!=(0); + if ($465) { + $466 = HEAP32[$db>>2]|0; + $467 = HEAP32[$pDef>>2]|0; + $468 = HEAP32[$nFarg>>2]|0; + $469 = HEAP32[$pFarg>>2]|0; + $470 = ((($469)) + 4|0); + $471 = HEAP32[$470>>2]|0; + $472 = ((($471)) + 20|0); + $473 = HEAP32[$472>>2]|0; + $474 = (_sqlite3VtabOverloadFunction($466,$467,$468,$473)|0); + HEAP32[$pDef>>2] = $474; } else { - label = 77; + label = 79; } } else { - label = 77; - } - if ((label|0) == 77) { - $478 = HEAP32[$nFarg>>2]|0; - $479 = ($478|0)>(0); - if ($479) { - $480 = HEAP32[$db>>2]|0; - $481 = HEAP32[$pDef>>2]|0; - $482 = HEAP32[$nFarg>>2]|0; - $483 = HEAP32[$pFarg>>2]|0; - $484 = ((($483)) + 4|0); - $485 = HEAP32[$484>>2]|0; - $486 = HEAP32[$485>>2]|0; - $487 = (_sqlite3VtabOverloadFunction($480,$481,$482,$486)|0); - HEAP32[$pDef>>2] = $487; + label = 79; + } + if ((label|0) == 79) { + $475 = HEAP32[$nFarg>>2]|0; + $476 = ($475|0)>(0); + if ($476) { + $477 = HEAP32[$db>>2]|0; + $478 = HEAP32[$pDef>>2]|0; + $479 = HEAP32[$nFarg>>2]|0; + $480 = HEAP32[$pFarg>>2]|0; + $481 = ((($480)) + 4|0); + $482 = HEAP32[$481>>2]|0; + $483 = HEAP32[$482>>2]|0; + $484 = (_sqlite3VtabOverloadFunction($477,$478,$479,$483)|0); + HEAP32[$pDef>>2] = $484; } } - $488 = HEAP32[$pDef>>2]|0; - $489 = ((($488)) + 2|0); - $490 = HEAP16[$489>>1]|0; - $491 = $490&65535; - $492 = $491 & 32; - $493 = ($492|0)!=(0); - if ($493) { - $494 = HEAP32[$pColl>>2]|0; - $495 = ($494|0)!=(0|0); - if (!($495)) { - $496 = HEAP32[$db>>2]|0; - $497 = ((($496)) + 8|0); - $498 = HEAP32[$497>>2]|0; - HEAP32[$pColl>>2] = $498; + $485 = HEAP32[$pDef>>2]|0; + $486 = ((($485)) + 2|0); + $487 = HEAP16[$486>>1]|0; + $488 = $487&65535; + $489 = $488 & 32; + $490 = ($489|0)!=(0); + if ($490) { + $491 = HEAP32[$pColl>>2]|0; + $492 = ($491|0)!=(0|0); + if (!($492)) { + $493 = HEAP32[$db>>2]|0; + $494 = ((($493)) + 8|0); + $495 = HEAP32[$494>>2]|0; + HEAP32[$pColl>>2] = $495; } - $499 = HEAP32[$v>>2]|0; - $500 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($499,86,0,0,0,$500,-4)|0); - } - $501 = HEAP32[$v>>2]|0; - $502 = HEAP32[$constMask>>2]|0; - $503 = HEAP32[$r1>>2]|0; - $504 = HEAP32[$3>>2]|0; - $505 = HEAP32[$pDef>>2]|0; - (_sqlite3VdbeAddOp4($501,87,$502,$503,$504,$505,-5)|0); - $506 = HEAP32[$v>>2]|0; - $507 = HEAP32[$nFarg>>2]|0; - $508 = $507&255; - _sqlite3VdbeChangeP5($506,$508); - $509 = HEAP32[$nFarg>>2]|0; - $510 = ($509|0)!=(0); - $511 = HEAP32[$constMask>>2]|0; - $512 = ($511|0)==(0); - $or$cond3 = $510 & $512; - if (!($or$cond3)) { - break L9; + $496 = HEAP32[$v>>2]|0; + $497 = HEAP32[$pColl>>2]|0; + (_sqlite3VdbeAddOp4($496,88,0,0,0,$497,-4)|0); } - $513 = HEAP32[$1>>2]|0; - $514 = HEAP32[$r1>>2]|0; - $515 = HEAP32[$nFarg>>2]|0; - _sqlite3ReleaseTempRange($513,$514,$515); - break L9; + $498 = HEAP32[$v>>2]|0; + $499 = HEAP32[$constMask>>2]|0; + $500 = HEAP32[$r1>>2]|0; + $501 = HEAP32[$3>>2]|0; + $502 = HEAP32[$pDef>>2]|0; + (_sqlite3VdbeAddOp4($498,89,$499,$500,$501,$502,-5)|0); + $503 = HEAP32[$v>>2]|0; + $504 = HEAP32[$nFarg>>2]|0; + $505 = $504&255; + _sqlite3VdbeChangeP5($503,$505); + $506 = HEAP32[$nFarg>>2]|0; + $507 = ($506|0)!=(0); + $508 = HEAP32[$constMask>>2]|0; + $509 = ($508|0)==(0); + $or$cond3 = $507 & $509; + if ($or$cond3) { + $510 = HEAP32[$1>>2]|0; + $511 = HEAP32[$r1>>2]|0; + $512 = HEAP32[$nFarg>>2]|0; + _sqlite3ReleaseTempRange($510,$511,$512); + } + $513 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $513; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); } } - $329 = HEAP32[$1>>2]|0; - $330 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer4>>2] = $330; - _sqlite3ErrorMsg($329,31689,$vararg_buffer4); + $326 = HEAP32[$1>>2]|0; + $327 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer4>>2] = $327; + _sqlite3ErrorMsg($326,31093,$vararg_buffer4); break; } case 119: case 20: { - $516 = HEAP32[$1>>2]|0; - $517 = HEAP32[$2>>2]|0; - $518 = (_sqlite3CodeSubselect($516,$517,0,0)|0); - HEAP32[$inReg>>2] = $518; + $514 = HEAP32[$op>>2]|0; + $515 = ($514|0)==(119); + if ($515) { + $516 = HEAP32[$2>>2]|0; + $517 = ((($516)) + 20|0); + $518 = HEAP32[$517>>2]|0; + $519 = HEAP32[$518>>2]|0; + $520 = HEAP32[$519>>2]|0; + HEAP32[$nCol>>2] = $520; + $521 = ($520|0)!=(1); + if ($521) { + $522 = HEAP32[$1>>2]|0; + $523 = HEAP32[$nCol>>2]|0; + _sqlite3SubselectError($522,$523,1); + break L9; + } + } + $524 = HEAP32[$1>>2]|0; + $525 = HEAP32[$2>>2]|0; + $526 = (_sqlite3CodeSubselect($524,$525,0,0)|0); + HEAP32[$0>>2] = $526; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); + break; + } + case 159: { + $527 = HEAP32[$2>>2]|0; + $528 = ((($527)) + 12|0); + $529 = HEAP32[$528>>2]|0; + $530 = ((($529)) + 28|0); + $531 = HEAP32[$530>>2]|0; + $532 = ($531|0)==(0); + if ($532) { + $533 = HEAP32[$1>>2]|0; + $534 = HEAP32[$2>>2]|0; + $535 = ((($534)) + 12|0); + $536 = HEAP32[$535>>2]|0; + $537 = (_sqlite3CodeSubselect($533,$536,0,0)|0); + $538 = HEAP32[$2>>2]|0; + $539 = ((($538)) + 12|0); + $540 = HEAP32[$539>>2]|0; + $541 = ((($540)) + 28|0); + HEAP32[$541>>2] = $537; + } + $542 = HEAP32[$2>>2]|0; + $543 = ((($542)) + 12|0); + $544 = HEAP32[$543>>2]|0; + $545 = ((($544)) + 28|0); + $546 = HEAP32[$545>>2]|0; + $547 = HEAP32[$2>>2]|0; + $548 = ((($547)) + 32|0); + $549 = HEAP16[$548>>1]|0; + $550 = $549 << 16 >> 16; + $551 = (($546) + ($550))|0; + HEAP32[$0>>2] = $551; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 33: { - $519 = HEAP32[$v>>2]|0; - $520 = (_sqlite3VdbeMakeLabel($519)|0); - HEAP32[$destIfFalse>>2] = $520; - $521 = HEAP32[$v>>2]|0; - $522 = (_sqlite3VdbeMakeLabel($521)|0); - HEAP32[$destIfNull>>2] = $522; - $523 = HEAP32[$v>>2]|0; - $524 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($523,77,0,$524)|0); - $525 = HEAP32[$1>>2]|0; - $526 = HEAP32[$2>>2]|0; - $527 = HEAP32[$destIfFalse>>2]|0; - $528 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($525,$526,$527,$528); - $529 = HEAP32[$v>>2]|0; - $530 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($529,74,1,$530)|0); - $531 = HEAP32[$v>>2]|0; - $532 = HEAP32[$destIfFalse>>2]|0; - _sqlite3VdbeResolveLabel($531,$532); - $533 = HEAP32[$v>>2]|0; - $534 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($533,89,$534,0)|0); - $535 = HEAP32[$v>>2]|0; - $536 = HEAP32[$destIfNull>>2]|0; - _sqlite3VdbeResolveLabel($535,$536); + $552 = HEAP32[$v>>2]|0; + $553 = (_sqlite3VdbeMakeLabel($552)|0); + HEAP32[$destIfFalse>>2] = $553; + $554 = HEAP32[$v>>2]|0; + $555 = (_sqlite3VdbeMakeLabel($554)|0); + HEAP32[$destIfNull>>2] = $555; + $556 = HEAP32[$v>>2]|0; + $557 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($556,79,0,$557)|0); + $558 = HEAP32[$1>>2]|0; + $559 = HEAP32[$2>>2]|0; + $560 = HEAP32[$destIfFalse>>2]|0; + $561 = HEAP32[$destIfNull>>2]|0; + _sqlite3ExprCodeIN($558,$559,$560,$561); + $562 = HEAP32[$v>>2]|0; + $563 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($562,76,1,$563)|0); + $564 = HEAP32[$v>>2]|0; + $565 = HEAP32[$destIfFalse>>2]|0; + _sqlite3VdbeResolveLabel($564,$565); + $566 = HEAP32[$v>>2]|0; + $567 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($566,91,$567,0)|0); + $568 = HEAP32[$v>>2]|0; + $569 = HEAP32[$destIfNull>>2]|0; + _sqlite3VdbeResolveLabel($568,$569); + $570 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $570; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 32: { - $537 = HEAP32[$2>>2]|0; - $538 = ((($537)) + 12|0); - $539 = HEAP32[$538>>2]|0; - HEAP32[$pLeft1>>2] = $539; - $540 = HEAP32[$2>>2]|0; - $541 = ((($540)) + 20|0); - $542 = HEAP32[$541>>2]|0; - $543 = ((($542)) + 4|0); - $544 = HEAP32[$543>>2]|0; - HEAP32[$pLItem>>2] = $544; - $545 = HEAP32[$pLItem>>2]|0; - $546 = HEAP32[$545>>2]|0; - HEAP32[$pRight>>2] = $546; - $547 = HEAP32[$1>>2]|0; - $548 = HEAP32[$pLeft1>>2]|0; - $549 = (_sqlite3ExprCodeTemp($547,$548,$regFree1)|0); - HEAP32[$r1>>2] = $549; - $550 = HEAP32[$1>>2]|0; - $551 = HEAP32[$pRight>>2]|0; - $552 = (_sqlite3ExprCodeTemp($550,$551,$regFree2)|0); - HEAP32[$r2>>2] = $552; - $553 = HEAP32[$1>>2]|0; - $554 = (_sqlite3GetTempReg($553)|0); - HEAP32[$r3>>2] = $554; - $555 = HEAP32[$1>>2]|0; - $556 = (_sqlite3GetTempReg($555)|0); - HEAP32[$r4>>2] = $556; - $557 = HEAP32[$1>>2]|0; - $558 = HEAP32[$pLeft1>>2]|0; - $559 = HEAP32[$pRight>>2]|0; - $560 = HEAP32[$r1>>2]|0; - $561 = HEAP32[$r2>>2]|0; - $562 = HEAP32[$r3>>2]|0; - (_codeCompare($557,$558,$559,41,$560,$561,$562,32)|0); - $563 = HEAP32[$pLItem>>2]|0; - $564 = ((($563)) + 20|0); - HEAP32[$pLItem>>2] = $564; - $565 = HEAP32[$pLItem>>2]|0; - $566 = HEAP32[$565>>2]|0; - HEAP32[$pRight>>2] = $566; - $567 = HEAP32[$1>>2]|0; - $568 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($567,$568); - $569 = HEAP32[$1>>2]|0; - $570 = HEAP32[$pRight>>2]|0; - $571 = (_sqlite3ExprCodeTemp($569,$570,$regFree2)|0); - HEAP32[$r2>>2] = $571; - $572 = HEAP32[$1>>2]|0; - $573 = HEAP32[$pLeft1>>2]|0; - $574 = HEAP32[$pRight>>2]|0; - $575 = HEAP32[$r1>>2]|0; - $576 = HEAP32[$r2>>2]|0; - $577 = HEAP32[$r4>>2]|0; - (_codeCompare($572,$573,$574,39,$575,$576,$577,32)|0); - $578 = HEAP32[$v>>2]|0; - $579 = HEAP32[$r3>>2]|0; - $580 = HEAP32[$r4>>2]|0; - $581 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($578,28,$579,$580,$581)|0); - $582 = HEAP32[$1>>2]|0; - $583 = HEAP32[$r3>>2]|0; - _sqlite3ReleaseTempReg($582,$583); - $584 = HEAP32[$1>>2]|0; - $585 = HEAP32[$r4>>2]|0; - _sqlite3ReleaseTempReg($584,$585); - break; - } - case 156: case 53: case 159: { - $586 = HEAP32[$1>>2]|0; - $587 = HEAP32[$2>>2]|0; - $588 = ((($587)) + 12|0); - $589 = HEAP32[$588>>2]|0; - $590 = HEAP32[$3>>2]|0; - $591 = (_sqlite3ExprCodeTarget($586,$589,$590)|0); - HEAP32[$inReg>>2] = $591; + $571 = HEAP32[$1>>2]|0; + $572 = HEAP32[$2>>2]|0; + $573 = HEAP32[$3>>2]|0; + _exprCodeBetween($571,$572,$573,0,0); + $574 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $574; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); + break; + } + case 156: case 53: case 161: { + $575 = HEAP32[$1>>2]|0; + $576 = HEAP32[$2>>2]|0; + $577 = ((($576)) + 12|0); + $578 = HEAP32[$577>>2]|0; + $579 = HEAP32[$3>>2]|0; + $580 = (_sqlite3ExprCodeTarget($575,$578,$579)|0); + HEAP32[$0>>2] = $580; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); break; } case 88: { - $592 = HEAP32[$2>>2]|0; - $593 = ((($592)) + 44|0); - $594 = HEAP32[$593>>2]|0; - HEAP32[$pTab>>2] = $594; - $595 = HEAP32[$2>>2]|0; - $596 = ((($595)) + 28|0); - $597 = HEAP32[$596>>2]|0; - $598 = HEAP32[$pTab>>2]|0; - $599 = ((($598)) + 34|0); - $600 = HEAP16[$599>>1]|0; - $601 = $600 << 16 >> 16; - $602 = (($601) + 1)|0; - $603 = Math_imul($597, $602)|0; - $604 = (($603) + 1)|0; - $605 = HEAP32[$2>>2]|0; - $606 = ((($605)) + 32|0); - $607 = HEAP16[$606>>1]|0; - $608 = $607 << 16 >> 16; - $609 = (($604) + ($608))|0; - HEAP32[$p1>>2] = $609; - $610 = HEAP32[$v>>2]|0; - $611 = HEAP32[$p1>>2]|0; - $612 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($610,141,$611,$612)|0); - $613 = HEAP32[$2>>2]|0; - $614 = ((($613)) + 32|0); - $615 = HEAP16[$614>>1]|0; - $616 = $615 << 16 >> 16; - $617 = ($616|0)>=(0); - if ($617) { - $618 = HEAP32[$2>>2]|0; - $619 = ((($618)) + 32|0); - $620 = HEAP16[$619>>1]|0; - $621 = $620 << 16 >> 16; - $622 = HEAP32[$pTab>>2]|0; - $623 = ((($622)) + 4|0); - $624 = HEAP32[$623>>2]|0; - $625 = (($624) + ($621<<4)|0); - $626 = ((($625)) + 13|0); - $627 = HEAP8[$626>>0]|0; - $628 = $627 << 24 >> 24; - $629 = ($628|0)==(69); - if ($629) { - $630 = HEAP32[$v>>2]|0; - $631 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp1($630,90,$631)|0); + $581 = HEAP32[$2>>2]|0; + $582 = ((($581)) + 44|0); + $583 = HEAP32[$582>>2]|0; + HEAP32[$pTab>>2] = $583; + $584 = HEAP32[$2>>2]|0; + $585 = ((($584)) + 28|0); + $586 = HEAP32[$585>>2]|0; + $587 = HEAP32[$pTab>>2]|0; + $588 = ((($587)) + 34|0); + $589 = HEAP16[$588>>1]|0; + $590 = $589 << 16 >> 16; + $591 = (($590) + 1)|0; + $592 = Math_imul($586, $591)|0; + $593 = (($592) + 1)|0; + $594 = HEAP32[$2>>2]|0; + $595 = ((($594)) + 32|0); + $596 = HEAP16[$595>>1]|0; + $597 = $596 << 16 >> 16; + $598 = (($593) + ($597))|0; + HEAP32[$p1>>2] = $598; + $599 = HEAP32[$v>>2]|0; + $600 = HEAP32[$p1>>2]|0; + $601 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($599,143,$600,$601)|0); + $602 = HEAP32[$2>>2]|0; + $603 = ((($602)) + 32|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($605|0)>=(0); + if ($606) { + $607 = HEAP32[$2>>2]|0; + $608 = ((($607)) + 32|0); + $609 = HEAP16[$608>>1]|0; + $610 = $609 << 16 >> 16; + $611 = HEAP32[$pTab>>2]|0; + $612 = ((($611)) + 4|0); + $613 = HEAP32[$612>>2]|0; + $614 = (($613) + ($610<<4)|0); + $615 = ((($614)) + 13|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616 << 24 >> 24; + $618 = ($617|0)==(69); + if ($618) { + $619 = HEAP32[$v>>2]|0; + $620 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp1($619,92,$620)|0); } } break; } + case 158: { + $621 = HEAP32[$1>>2]|0; + _sqlite3ErrorMsg($621,29838,$vararg_buffer7); + break; + } case 83: { - $700 = HEAP32[$1>>2]|0; - $701 = ((($700)) + 420|0); - $702 = HEAP32[$701>>2]|0; - $703 = ($702|0)!=(0|0); - if (!($703)) { - $704 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($704,31712,$vararg_buffer7); + $689 = HEAP32[$1>>2]|0; + $690 = ((($689)) + 128|0); + $691 = HEAP32[$690>>2]|0; + $692 = ($691|0)!=(0|0); + if (!($692)) { + $693 = HEAP32[$1>>2]|0; + _sqlite3ErrorMsg($693,31116,$vararg_buffer9); HEAP32[$0>>2] = 0; - $733 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($733|0); - } - $705 = HEAP32[$2>>2]|0; - $706 = ((($705)) + 1|0); - $707 = HEAP8[$706>>0]|0; - $708 = $707 << 24 >> 24; - $709 = ($708|0)==(2); - if ($709) { - $710 = HEAP32[$1>>2]|0; - _sqlite3MayAbort($710); - } - $711 = HEAP32[$2>>2]|0; - $712 = ((($711)) + 1|0); - $713 = HEAP8[$712>>0]|0; - $714 = $713 << 24 >> 24; - $715 = ($714|0)==(4); - if ($715) { - $716 = HEAP32[$v>>2]|0; - $717 = HEAP32[$2>>2]|0; - $718 = ((($717)) + 8|0); - $719 = HEAP32[$718>>2]|0; - (_sqlite3VdbeAddOp4($716,73,0,4,0,$719,0)|0); + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); + } + $694 = HEAP32[$2>>2]|0; + $695 = ((($694)) + 1|0); + $696 = HEAP8[$695>>0]|0; + $697 = $696 << 24 >> 24; + $698 = ($697|0)==(2); + if ($698) { + $699 = HEAP32[$1>>2]|0; + _sqlite3MayAbort($699); + } + $700 = HEAP32[$2>>2]|0; + $701 = ((($700)) + 1|0); + $702 = HEAP8[$701>>0]|0; + $703 = $702 << 24 >> 24; + $704 = ($703|0)==(4); + if ($704) { + $705 = HEAP32[$v>>2]|0; + $706 = HEAP32[$2>>2]|0; + $707 = ((($706)) + 8|0); + $708 = HEAP32[$707>>2]|0; + (_sqlite3VdbeAddOp4($705,75,0,4,0,$708,0)|0); break L9; } else { - $720 = HEAP32[$1>>2]|0; - $721 = HEAP32[$2>>2]|0; - $722 = ((($721)) + 1|0); - $723 = HEAP8[$722>>0]|0; - $724 = $723 << 24 >> 24; - $725 = HEAP32[$2>>2]|0; - $726 = ((($725)) + 8|0); - $727 = HEAP32[$726>>2]|0; - _sqlite3HaltConstraint($720,1811,$724,$727,0,0); + $709 = HEAP32[$1>>2]|0; + $710 = HEAP32[$2>>2]|0; + $711 = ((($710)) + 1|0); + $712 = HEAP8[$711>>0]|0; + $713 = $712 << 24 >> 24; + $714 = HEAP32[$2>>2]|0; + $715 = ((($714)) + 8|0); + $716 = HEAP32[$715>>2]|0; + _sqlite3HaltConstraint($709,1811,$713,$716,0,0); break L9; } break; } default: { HEAP32[$pTest>>2] = 0; + $622 = HEAP32[$2>>2]|0; + $623 = ((($622)) + 20|0); + $624 = HEAP32[$623>>2]|0; + HEAP32[$pEList>>2] = $624; + $625 = HEAP32[$pEList>>2]|0; + $626 = ((($625)) + 4|0); + $627 = HEAP32[$626>>2]|0; + HEAP32[$aListelem>>2] = $627; + $628 = HEAP32[$pEList>>2]|0; + $629 = HEAP32[$628>>2]|0; + HEAP32[$nExpr>>2] = $629; + $630 = HEAP32[$v>>2]|0; + $631 = (_sqlite3VdbeMakeLabel($630)|0); + HEAP32[$endLabel>>2] = $631; $632 = HEAP32[$2>>2]|0; - $633 = ((($632)) + 20|0); + $633 = ((($632)) + 12|0); $634 = HEAP32[$633>>2]|0; - HEAP32[$pEList>>2] = $634; - $635 = HEAP32[$pEList>>2]|0; - $636 = ((($635)) + 4|0); - $637 = HEAP32[$636>>2]|0; - HEAP32[$aListelem>>2] = $637; - $638 = HEAP32[$pEList>>2]|0; - $639 = HEAP32[$638>>2]|0; - HEAP32[$nExpr>>2] = $639; - $640 = HEAP32[$v>>2]|0; - $641 = (_sqlite3VdbeMakeLabel($640)|0); - HEAP32[$endLabel>>2] = $641; - $642 = HEAP32[$2>>2]|0; - $643 = ((($642)) + 12|0); - $644 = HEAP32[$643>>2]|0; - HEAP32[$pX>>2] = $644; - $645 = ($644|0)!=(0|0); - if ($645) { - $646 = HEAP32[$pX>>2]|0; - dest=$tempX; src=$646; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $647 = HEAP32[$1>>2]|0; - $648 = HEAP32[$pX>>2]|0; - $649 = (_sqlite3ExprCodeTemp($647,$648,$regFree1)|0); - _exprToRegister($tempX,$649); + HEAP32[$pX>>2] = $634; + $635 = ($634|0)!=(0|0); + if ($635) { + $636 = HEAP32[$pX>>2]|0; + dest=$tempX; src=$636; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $637 = HEAP32[$1>>2]|0; + $638 = (_exprCodeVector($637,$tempX,$regFree1)|0); + _exprToRegister($tempX,$638); + dest=$opCompare; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAP8[$opCompare>>0] = 37; - $650 = ((($opCompare)) + 12|0); - HEAP32[$650>>2] = $tempX; + $639 = ((($opCompare)) + 12|0); + HEAP32[$639>>2] = $tempX; HEAP32[$pTest>>2] = $opCompare; HEAP32[$regFree1>>2] = 0; } HEAP32[$i2>>2] = 0; while(1) { - $651 = HEAP32[$i2>>2]|0; - $652 = HEAP32[$nExpr>>2]|0; - $653 = (($652) - 1)|0; - $654 = ($651|0)<($653|0); - if (!($654)) { + $640 = HEAP32[$i2>>2]|0; + $641 = HEAP32[$nExpr>>2]|0; + $642 = (($641) - 1)|0; + $643 = ($640|0)<($642|0); + if (!($643)) { break; } - $655 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($655); - $656 = HEAP32[$pX>>2]|0; - $657 = ($656|0)!=(0|0); - $658 = HEAP32[$i2>>2]|0; - $659 = HEAP32[$aListelem>>2]|0; - $660 = (($659) + (($658*20)|0)|0); - $661 = HEAP32[$660>>2]|0; - if ($657) { - $662 = ((($opCompare)) + 16|0); - HEAP32[$662>>2] = $661; + $644 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($644); + $645 = HEAP32[$pX>>2]|0; + $646 = ($645|0)!=(0|0); + $647 = HEAP32[$i2>>2]|0; + $648 = HEAP32[$aListelem>>2]|0; + $649 = (($648) + (($647*20)|0)|0); + $650 = HEAP32[$649>>2]|0; + if ($646) { + $651 = ((($opCompare)) + 16|0); + HEAP32[$651>>2] = $650; } else { - HEAP32[$pTest>>2] = $661; - } - $663 = HEAP32[$v>>2]|0; - $664 = (_sqlite3VdbeMakeLabel($663)|0); - HEAP32[$nextCase>>2] = $664; - $665 = HEAP32[$1>>2]|0; - $666 = HEAP32[$pTest>>2]|0; - $667 = HEAP32[$nextCase>>2]|0; - _sqlite3ExprIfFalse($665,$666,$667,16); - $668 = HEAP32[$1>>2]|0; + HEAP32[$pTest>>2] = $650; + } + $652 = HEAP32[$v>>2]|0; + $653 = (_sqlite3VdbeMakeLabel($652)|0); + HEAP32[$nextCase>>2] = $653; + $654 = HEAP32[$1>>2]|0; + $655 = HEAP32[$pTest>>2]|0; + $656 = HEAP32[$nextCase>>2]|0; + _sqlite3ExprIfFalse($654,$655,$656,16); + $657 = HEAP32[$1>>2]|0; + $658 = HEAP32[$i2>>2]|0; + $659 = (($658) + 1)|0; + $660 = HEAP32[$aListelem>>2]|0; + $661 = (($660) + (($659*20)|0)|0); + $662 = HEAP32[$661>>2]|0; + $663 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($657,$662,$663); + $664 = HEAP32[$v>>2]|0; + $665 = HEAP32[$endLabel>>2]|0; + (_sqlite3VdbeGoto($664,$665)|0); + $666 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($666); + $667 = HEAP32[$v>>2]|0; + $668 = HEAP32[$nextCase>>2]|0; + _sqlite3VdbeResolveLabel($667,$668); $669 = HEAP32[$i2>>2]|0; - $670 = (($669) + 1)|0; - $671 = HEAP32[$aListelem>>2]|0; - $672 = (($671) + (($670*20)|0)|0); - $673 = HEAP32[$672>>2]|0; - $674 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($668,$673,$674); - $675 = HEAP32[$v>>2]|0; - $676 = HEAP32[$endLabel>>2]|0; - (_sqlite3VdbeGoto($675,$676)|0); - $677 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($677); - $678 = HEAP32[$v>>2]|0; - $679 = HEAP32[$nextCase>>2]|0; - _sqlite3VdbeResolveLabel($678,$679); - $680 = HEAP32[$i2>>2]|0; - $681 = (($680) + 2)|0; - HEAP32[$i2>>2] = $681; - } - $682 = HEAP32[$nExpr>>2]|0; - $683 = $682 & 1; - $684 = ($683|0)!=(0); - if ($684) { - $685 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($685); - $686 = HEAP32[$1>>2]|0; - $687 = HEAP32[$nExpr>>2]|0; - $688 = (($687) - 1)|0; - $689 = HEAP32[$pEList>>2]|0; - $690 = ((($689)) + 4|0); - $691 = HEAP32[$690>>2]|0; - $692 = (($691) + (($688*20)|0)|0); - $693 = HEAP32[$692>>2]|0; - $694 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($686,$693,$694); - $695 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($695); + $670 = (($669) + 2)|0; + HEAP32[$i2>>2] = $670; + } + $671 = HEAP32[$nExpr>>2]|0; + $672 = $671 & 1; + $673 = ($672|0)!=(0); + if ($673) { + $674 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($674); + $675 = HEAP32[$1>>2]|0; + $676 = HEAP32[$nExpr>>2]|0; + $677 = (($676) - 1)|0; + $678 = HEAP32[$pEList>>2]|0; + $679 = ((($678)) + 4|0); + $680 = HEAP32[$679>>2]|0; + $681 = (($680) + (($677*20)|0)|0); + $682 = HEAP32[$681>>2]|0; + $683 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($675,$682,$683); + $684 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($684); } else { - $696 = HEAP32[$v>>2]|0; - $697 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($696,77,0,$697)|0); + $685 = HEAP32[$v>>2]|0; + $686 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($685,79,0,$686)|0); } - $698 = HEAP32[$v>>2]|0; - $699 = HEAP32[$endLabel>>2]|0; - _sqlite3VdbeResolveLabel($698,$699); + $687 = HEAP32[$v>>2]|0; + $688 = HEAP32[$endLabel>>2]|0; + _sqlite3VdbeResolveLabel($687,$688); } } } while(0); - L139: do { + do { if ((label|0) == 11) { - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 28|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$iTab>>2] = $49; - $50 = HEAP32[$iTab>>2]|0; - $51 = ($50|0)<(0); + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 28|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$iTab>>2] = $48; + $49 = HEAP32[$iTab>>2]|0; + $50 = ($49|0)<(0); do { - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 100|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)>(0); - if ($55) { - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 32|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 100|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($59) + ($62))|0; - HEAP32[$inReg>>2] = $63; - break L139; - } else { - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 104|0); - $66 = HEAP32[$65>>2]|0; - HEAP32[$iTab>>2] = $66; + if ($50) { + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 56|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)>(0); + if (!($54)) { + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 60|0); + $65 = HEAP32[$64>>2]|0; + HEAP32[$iTab>>2] = $65; break; } + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57 << 16 >> 16; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($58) + ($61))|0; + HEAP32[$0>>2] = $62; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); } } while(0); - $67 = HEAP32[$1>>2]|0; - $68 = HEAP32[$2>>2]|0; - $69 = ((($68)) + 44|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 32|0); - $73 = HEAP16[$72>>1]|0; - $74 = $73 << 16 >> 16; - $75 = HEAP32[$iTab>>2]|0; - $76 = HEAP32[$3>>2]|0; - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 38|0); - $79 = HEAP8[$78>>0]|0; - $80 = (_sqlite3ExprCodeGetColumn($67,$70,$74,$75,$76,$79)|0); - HEAP32[$inReg>>2] = $80; + $66 = HEAP32[$1>>2]|0; + $67 = HEAP32[$2>>2]|0; + $68 = ((($67)) + 44|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 32|0); + $72 = HEAP16[$71>>1]|0; + $73 = $72 << 16 >> 16; + $74 = HEAP32[$iTab>>2]|0; + $75 = HEAP32[$3>>2]|0; + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 38|0); + $78 = HEAP8[$77>>0]|0; + $79 = (_sqlite3ExprCodeGetColumn($66,$69,$73,$74,$75,$78)|0); + HEAP32[$0>>2] = $79; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); + } + else if ((label|0) == 29) { + $171 = HEAP32[$2>>2]|0; + $172 = ((($171)) + 12|0); + $173 = HEAP32[$172>>2]|0; + HEAP32[$pLeft>>2] = $173; + $174 = HEAP32[$pLeft>>2]|0; + $175 = (_sqlite3ExprIsVector($174)|0); + $176 = ($175|0)!=(0); + $177 = HEAP32[$1>>2]|0; + if ($176) { + $178 = HEAP32[$2>>2]|0; + $179 = HEAP32[$3>>2]|0; + $180 = HEAP32[$op>>2]|0; + $181 = $180&255; + $182 = HEAP32[$p5>>2]|0; + $183 = $182&255; + _codeVectorCompare($177,$178,$179,$181,$183); + break; + } else { + $184 = HEAP32[$pLeft>>2]|0; + $185 = (_sqlite3ExprCodeTemp($177,$184,$regFree1)|0); + HEAP32[$r1>>2] = $185; + $186 = HEAP32[$1>>2]|0; + $187 = HEAP32[$2>>2]|0; + $188 = ((($187)) + 16|0); + $189 = HEAP32[$188>>2]|0; + $190 = (_sqlite3ExprCodeTemp($186,$189,$regFree2)|0); + HEAP32[$r2>>2] = $190; + $191 = HEAP32[$1>>2]|0; + $192 = HEAP32[$pLeft>>2]|0; + $193 = HEAP32[$2>>2]|0; + $194 = ((($193)) + 16|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$op>>2]|0; + $197 = HEAP32[$r1>>2]|0; + $198 = HEAP32[$r2>>2]|0; + $199 = HEAP32[$inReg>>2]|0; + $200 = HEAP32[$p5>>2]|0; + $201 = 32 | $200; + (_codeCompare($191,$192,$195,$196,$197,$198,$199,$201)|0); + break; + } } } while(0); - $728 = HEAP32[$1>>2]|0; - $729 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($728,$729); - $730 = HEAP32[$1>>2]|0; - $731 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($730,$731); - $732 = HEAP32[$inReg>>2]|0; - HEAP32[$0>>2] = $732; - $733 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($733|0); + $717 = HEAP32[$1>>2]|0; + $718 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($717,$718); + $719 = HEAP32[$1>>2]|0; + $720 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($719,$720); + $721 = HEAP32[$inReg>>2]|0; + HEAP32[$0>>2] = $721; + $722 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($722|0); } function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { $pParse = $pParse|0; @@ -153721,34 +154884,32 @@ function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { HEAP32[$v>>2] = $9; HEAP32[$i>>2] = 0; $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 124|0); + $11 = ((($10)) + 152|0); HEAP32[$p>>2] = $11; while(1) { $12 = HEAP32[$i>>2]|0; - $13 = ($12|0)<(10); - if (!($13)) { + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 25|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($12|0)<($16|0); + if (!($17)) { break; } - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>(0); - if ($17) { - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ($19|0)==($20|0); - if ($21) { - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 << 16 >> 16; - $26 = HEAP32[$3>>2]|0; - $27 = ($25|0)==($26|0); - if ($27) { - label = 6; - break; - } + $18 = HEAP32[$p>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19|0)==($20|0); + if ($21) { + $22 = HEAP32[$p>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP16[$23>>1]|0; + $25 = $24 << 16 >> 16; + $26 = HEAP32[$3>>2]|0; + $27 = ($25|0)==($26|0); + if ($27) { + label = 5; + break; } } $41 = HEAP32[$i>>2]|0; @@ -153758,9 +154919,9 @@ function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { $44 = ((($43)) + 20|0); HEAP32[$p>>2] = $44; } - if ((label|0) == 6) { + if ((label|0) == 5) { $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 112|0); + $29 = ((($28)) + 68|0); $30 = HEAP32[$29>>2]|0; $31 = (($30) + 1)|0; HEAP32[$29>>2] = $31; @@ -153852,7 +155013,7 @@ function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { $19 = HEAP32[$v>>2]|0; $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($19,74,$20,$21)|0); + (_sqlite3VdbeAddOp2($19,76,$20,$21)|0); STACKTOP = sp;return; } $22 = HEAP32[$13>>2]|0; @@ -153870,13 +155031,13 @@ function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { $or$cond = $28 & $30; if (!($or$cond)) { $51 = HEAP32[$z>>2]|0; - $52 = (_sqlite3_strnicmp($51,31811,2)|0); + $52 = (_sqlite3_strnicmp($51,31290,2)|0); $53 = ($52|0)==(0); if ($53) { $54 = HEAP32[$0>>2]|0; $55 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $55; - _sqlite3ErrorMsg($54,31814,$vararg_buffer); + _sqlite3ErrorMsg($54,31293,$vararg_buffer); STACKTOP = sp;return; } else { $56 = HEAP32[$v>>2]|0; @@ -153912,7 +155073,7 @@ function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { } $49 = HEAP32[$v>>2]|0; $50 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4Dup8($49,75,0,$50,0,$value,-13)|0); + (_sqlite3VdbeAddOp4Dup8($49,77,0,$50,0,$value,-13)|0); STACKTOP = sp;return; } function _codeReal($v,$z,$negateFlag,$iMem) { @@ -153950,7 +155111,7 @@ function _codeReal($v,$z,$negateFlag,$iMem) { } $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4Dup8($13,133,0,$14,0,$value,-12)|0); + (_sqlite3VdbeAddOp4Dup8($13,132,0,$14,0,$value,-12)|0); STACKTOP = sp;return; } function _sqlite3ExprCacheAffinityChange($pParse,$iStart,$iCount) { @@ -153972,6 +155133,208 @@ function _sqlite3ExprCacheAffinityChange($pParse,$iStart,$iCount) { _sqlite3ExprCacheRemove($3,$4,$5); STACKTOP = sp;return; } +function _sqlite3ExprIsVector($pExpr) { + $pExpr = $pExpr|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pExpr; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3ExprVectorSize($1)|0); + $3 = ($2|0)>(1); + $4 = $3&1; + STACKTOP = sp;return ($4|0); +} +function _codeVectorCompare($pParse,$pExpr,$dest,$op,$p5) { + $pParse = $pParse|0; + $pExpr = $pExpr|0; + $dest = $dest|0; + $op = $op|0; + $p5 = $p5|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $addrDone = 0; + var $i = 0, $nLeft = 0, $opx = 0, $pL = 0, $pLeft = 0, $pR = 0, $pRight = 0, $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $regLeft = 0, $regRight = 0, $v = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; + $0 = sp + 64|0; + $1 = sp + 60|0; + $2 = sp + 56|0; + $3 = sp + 70|0; + $4 = sp + 69|0; + $v = sp + 52|0; + $pLeft = sp + 48|0; + $pRight = sp + 44|0; + $nLeft = sp + 40|0; + $i = sp + 36|0; + $regLeft = sp + 32|0; + $regRight = sp + 28|0; + $opx = sp + 68|0; + $addrDone = sp + 24|0; + $regFree1 = sp + 20|0; + $regFree2 = sp + 16|0; + $pL = sp + 12|0; + $pR = sp + 8|0; + $r1 = sp + 4|0; + $r2 = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $pExpr; + HEAP32[$2>>2] = $dest; + HEAP8[$3>>0] = $op; + HEAP8[$4>>0] = $p5; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$v>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$pLeft>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pRight>>2] = $13; + $14 = HEAP32[$pLeft>>2]|0; + $15 = (_sqlite3ExprVectorSize($14)|0); + HEAP32[$nLeft>>2] = $15; + HEAP32[$regLeft>>2] = 0; + HEAP32[$regRight>>2] = 0; + $16 = HEAP8[$3>>0]|0; + HEAP8[$opx>>0] = $16; + $17 = HEAP32[$v>>2]|0; + $18 = (_sqlite3VdbeMakeLabel($17)|0); + HEAP32[$addrDone>>2] = $18; + $19 = HEAP8[$4>>0]|0; + $20 = $19&255; + $21 = $20 | 32; + $22 = $21&255; + HEAP8[$4>>0] = $22; + $23 = HEAP8[$opx>>0]|0; + $24 = $23&255; + $25 = ($24|0)==(39); + if ($25) { + HEAP8[$opx>>0] = 40; + } + $26 = HEAP8[$opx>>0]|0; + $27 = $26&255; + $28 = ($27|0)==(41); + if ($28) { + HEAP8[$opx>>0] = 38; + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$pLeft>>2]|0; + $31 = (_exprCodeSubselect($29,$30)|0); + HEAP32[$regLeft>>2] = $31; + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$pRight>>2]|0; + $34 = (_exprCodeSubselect($32,$33)|0); + HEAP32[$regRight>>2] = $34; + HEAP32[$i>>2] = 0; + while(1) { + HEAP32[$regFree1>>2] = 0; + HEAP32[$regFree2>>2] = 0; + $35 = HEAP32[$i>>2]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePush($37); + } + $38 = HEAP32[$0>>2]|0; + $39 = HEAP32[$pLeft>>2]|0; + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$regLeft>>2]|0; + $42 = (_exprVectorRegister($38,$39,$40,$41,$pL,$regFree1)|0); + HEAP32[$r1>>2] = $42; + $43 = HEAP32[$0>>2]|0; + $44 = HEAP32[$pRight>>2]|0; + $45 = HEAP32[$i>>2]|0; + $46 = HEAP32[$regRight>>2]|0; + $47 = (_exprVectorRegister($43,$44,$45,$46,$pR,$regFree2)|0); + HEAP32[$r2>>2] = $47; + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$pL>>2]|0; + $50 = HEAP32[$pR>>2]|0; + $51 = HEAP8[$opx>>0]|0; + $52 = $51&255; + $53 = HEAP32[$r1>>2]|0; + $54 = HEAP32[$r2>>2]|0; + $55 = HEAP32[$2>>2]|0; + $56 = HEAP8[$4>>0]|0; + $57 = $56&255; + (_codeCompare($48,$49,$50,$52,$53,$54,$55,$57)|0); + $58 = HEAP32[$0>>2]|0; + $59 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($58,$59); + $60 = HEAP32[$0>>2]|0; + $61 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($60,$61); + $62 = HEAP32[$i>>2]|0; + $63 = ($62|0)>(0); + if ($63) { + $64 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePop($64); + } + $65 = HEAP32[$i>>2]|0; + $66 = HEAP32[$nLeft>>2]|0; + $67 = (($66) - 1)|0; + $68 = ($65|0)==($67|0); + if ($68) { + break; + } + $69 = HEAP8[$opx>>0]|0; + $70 = $69&255; + $71 = ($70|0)==(37); + do { + if ($71) { + $72 = HEAP32[$v>>2]|0; + $73 = HEAP32[$2>>2]|0; + $74 = HEAP32[$addrDone>>2]|0; + (_sqlite3VdbeAddOp2($72,22,$73,$74)|0); + $75 = HEAP8[$4>>0]|0; + $76 = $75&255; + $77 = $76 | 8; + $78 = $77&255; + HEAP8[$4>>0] = $78; + } else { + $79 = HEAP8[$opx>>0]|0; + $80 = $79&255; + $81 = ($80|0)==(36); + $82 = HEAP32[$v>>2]|0; + if ($81) { + $83 = HEAP32[$2>>2]|0; + $84 = HEAP32[$addrDone>>2]|0; + (_sqlite3VdbeAddOp2($82,21,$83,$84)|0); + $85 = HEAP8[$4>>0]|0; + $86 = $85&255; + $87 = $86 | 8; + $88 = $87&255; + HEAP8[$4>>0] = $88; + break; + } + $89 = HEAP32[$addrDone>>2]|0; + (_sqlite3VdbeAddOp2($82,42,0,$89)|0); + $90 = HEAP32[$i>>2]|0; + $91 = HEAP32[$nLeft>>2]|0; + $92 = (($91) - 2)|0; + $93 = ($90|0)==($92|0); + if ($93) { + $94 = HEAP8[$3>>0]|0; + HEAP8[$opx>>0] = $94; + } + } + } while(0); + $95 = HEAP32[$i>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$i>>2] = $96; + } + $97 = HEAP32[$v>>2]|0; + $98 = HEAP32[$addrDone>>2]|0; + _sqlite3VdbeResolveLabel($97,$98); + STACKTOP = sp;return; +} function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { $pParse = $pParse|0; $pExpr = $pExpr|0; @@ -154013,7 +155376,7 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { $17 = ($16|0)!=(0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 324|0); + $19 = ((($18)) + 80|0); $20 = HEAP32[$19>>2]|0; HEAP32[$p>>2] = $20; $21 = HEAP32[$3>>2]|0; @@ -154068,7 +155431,7 @@ function _sqlite3ExprCodeTemp($pParse,$pExpr,$pReg) { } } while(0); $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 76|0); + $51 = ((($50)) + 44|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + 1)|0; HEAP32[$51>>2] = $53; @@ -154230,7 +155593,7 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$srcReg,$flags) { $6 = $5&255; $7 = $6 & 1; $8 = ($7|0)!=(0); - $9 = $8 ? 82 : 83; + $9 = $8 ? 84 : 85; $10 = $9&255; HEAP8[$copyOp>>0] = $10; $11 = HEAP32[$0>>2]|0; @@ -154335,14 +155698,14 @@ function _sqlite3ExprCodeExprList($pParse,$pList,$target,$srcReg,$flags) { if ($77) { $78 = HEAP8[$copyOp>>0]|0; $79 = $78&255; - $80 = ($79|0)==(82); + $80 = ($79|0)==(84); if ($80) { $81 = HEAP32[$v>>2]|0; $82 = (_sqlite3VdbeGetOp($81,-1)|0); HEAP32[$pOp>>2] = $82; $83 = HEAP8[$82>>0]|0; $84 = $83&255; - $85 = ($84|0)==(82); + $85 = ($84|0)==(84); if ($85) { $86 = HEAP32[$pOp>>2]|0; $87 = ((($86)) + 4|0); @@ -154404,30 +155767,29 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { $pDef = $pDef|0; $nArg = $nArg|0; $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pArg = 0, $pMod = 0, $pNew = 0, $pTab = 0, $pVtab = 0, $rc = 0, $xSFunc = 0, $z = 0; - var $zLowerName = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pArg = 0, $pMod = 0, $pNew = 0, $pTab = 0, $pVtab = 0, $rc = 0, $xSFunc = 0, $z = 0, $zLowerName = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $pTab = sp + 36|0; - $pVtab = sp + 32|0; - $pMod = sp + 28|0; - $xSFunc = sp + 24|0; - $pArg = sp + 20|0; - $pNew = sp + 16|0; - $rc = sp + 12|0; - $zLowerName = sp + 8|0; - $z = sp + 4|0; - $5 = sp; + $0 = sp + 52|0; + $1 = sp + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $pTab = sp + 32|0; + $pVtab = sp + 28|0; + $pMod = sp + 24|0; + $xSFunc = sp + 20|0; + $pArg = sp + 16|0; + $pNew = sp + 12|0; + $rc = sp + 8|0; + $zLowerName = sp + 4|0; + $z = sp; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pDef; HEAP32[$3>>2] = $nArg; @@ -154435,224 +155797,255 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { HEAP32[$xSFunc>>2] = 0; HEAP32[$pArg>>2] = 0; HEAP32[$rc>>2] = 0; - $6 = HEAP32[$4>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $8 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $8; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $7 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $7; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } - $9 = HEAP32[$4>>2]|0; - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = ($11|0)!=(152); - if ($12) { - $13 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $13; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $8 = HEAP32[$4>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(152); + if ($11) { + $12 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $12; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } - $14 = HEAP32[$4>>2]|0; - $15 = ((($14)) + 44|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$pTab>>2] = $16; - $17 = HEAP32[$pTab>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $19 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $19; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 44|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$pTab>>2] = $15; + $16 = HEAP32[$pTab>>2]|0; + $17 = ($16|0)==(0|0); + if ($17) { + $18 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $18; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } - $20 = HEAP32[$pTab>>2]|0; - $21 = ((($20)) + 42|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $23 & 16; - $25 = ($24|0)==(0); - if ($25) { - $26 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $26; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $19 = HEAP32[$pTab>>2]|0; + $20 = ((($19)) + 42|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = $22 & 16; + $24 = ($23|0)==(0); + if ($24) { + $25 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $25; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } - $27 = HEAP32[$1>>2]|0; - $28 = HEAP32[$pTab>>2]|0; - $29 = (_sqlite3GetVTable($27,$28)|0); - $30 = ((($29)) + 8|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$pVtab>>2] = $31; - $32 = HEAP32[$pVtab>>2]|0; - $33 = HEAP32[$32>>2]|0; - HEAP32[$pMod>>2] = $33; - $34 = HEAP32[$pMod>>2]|0; - $35 = ((($34)) + 72|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - $38 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $38; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $26 = HEAP32[$1>>2]|0; + $27 = HEAP32[$pTab>>2]|0; + $28 = (_sqlite3GetVTable($26,$27)|0); + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$pVtab>>2] = $30; + $31 = HEAP32[$pVtab>>2]|0; + $32 = HEAP32[$31>>2]|0; + HEAP32[$pMod>>2] = $32; + $33 = HEAP32[$pMod>>2]|0; + $34 = ((($33)) + 72|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if ($36) { + $37 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $37; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } - $39 = HEAP32[$1>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = ((($40)) + 20|0); - $42 = HEAP32[$41>>2]|0; - $43 = (_sqlite3DbStrDup($39,$42)|0); - HEAP32[$zLowerName>>2] = $43; - $44 = HEAP32[$zLowerName>>2]|0; - $45 = ($44|0)!=(0|0); - if ($45) { - $46 = HEAP32[$zLowerName>>2]|0; - HEAP32[$z>>2] = $46; + $38 = HEAP32[$1>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3DbStrDup($38,$41)|0); + HEAP32[$zLowerName>>2] = $42; + $43 = HEAP32[$zLowerName>>2]|0; + $44 = ($43|0)!=(0|0); + if ($44) { + $45 = HEAP32[$zLowerName>>2]|0; + HEAP32[$z>>2] = $45; while(1) { - $47 = HEAP32[$z>>2]|0; - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)!=(0); - if (!($49)) { + $46 = HEAP32[$z>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = ($47<<24>>24)!=(0); + if (!($48)) { break; } - $50 = HEAP32[$z>>2]|0; - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = (18229 + ($52)|0); - $54 = HEAP8[$53>>0]|0; + $49 = HEAP32[$z>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = (17613 + ($51)|0); + $53 = HEAP8[$52>>0]|0; + $54 = HEAP32[$z>>2]|0; + HEAP8[$54>>0] = $53; $55 = HEAP32[$z>>2]|0; - HEAP8[$55>>0] = $54; - $56 = HEAP32[$z>>2]|0; - $57 = ((($56)) + 1|0); - HEAP32[$z>>2] = $57; + $56 = ((($55)) + 1|0); + HEAP32[$z>>2] = $56; } - $58 = HEAP32[$pMod>>2]|0; - $59 = ((($58)) + 72|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$pVtab>>2]|0; - $62 = HEAP32[$3>>2]|0; - $63 = HEAP32[$zLowerName>>2]|0; - HEAP32[$5>>2] = $xSFunc; - $64 = HEAP32[$5>>2]|0; - $65 = (FUNCTION_TABLE_iiiiii[$60 & 255]($61,$62,$63,$64,$pArg)|0); - HEAP32[$rc>>2] = $65; - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$zLowerName>>2]|0; - _sqlite3DbFree($66,$67); + $57 = HEAP32[$pMod>>2]|0; + $58 = ((($57)) + 72|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP32[$pVtab>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = HEAP32[$zLowerName>>2]|0; + $63 = (FUNCTION_TABLE_iiiiii[$59 & 255]($60,$61,$62,$xSFunc,$pArg)|0); + HEAP32[$rc>>2] = $63; + $64 = HEAP32[$1>>2]|0; + $65 = HEAP32[$zLowerName>>2]|0; + _sqlite3DbFree($64,$65); } - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)==(0); - if ($69) { - $70 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $70; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $66 = HEAP32[$rc>>2]|0; + $67 = ($66|0)==(0); + if ($67) { + $68 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $68; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } - $71 = HEAP32[$1>>2]|0; - $72 = HEAP32[$2>>2]|0; - $73 = ((($72)) + 20|0); - $74 = HEAP32[$73>>2]|0; - $75 = (_sqlite3Strlen30($74)|0); - $76 = (28 + ($75))|0; - $77 = (($76) + 1)|0; - $78 = (_sqlite3DbMallocZero($71,$77,0)|0); - HEAP32[$pNew>>2] = $78; - $79 = HEAP32[$pNew>>2]|0; - $80 = ($79|0)==(0|0); - if ($80) { - $81 = HEAP32[$2>>2]|0; - HEAP32[$0>>2] = $81; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + $69 = HEAP32[$1>>2]|0; + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 20|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3Strlen30($72)|0); + $74 = (28 + ($73))|0; + $75 = (($74) + 1)|0; + $76 = (_sqlite3DbMallocZero($69,$75,0)|0); + HEAP32[$pNew>>2] = $76; + $77 = HEAP32[$pNew>>2]|0; + $78 = ($77|0)==(0|0); + if ($78) { + $79 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $79; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } else { + $80 = HEAP32[$pNew>>2]|0; + $81 = HEAP32[$2>>2]|0; + ;HEAP32[$80>>2]=HEAP32[$81>>2]|0;HEAP32[$80+4>>2]=HEAP32[$81+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$81+8>>2]|0;HEAP32[$80+12>>2]=HEAP32[$81+12>>2]|0;HEAP32[$80+16>>2]=HEAP32[$81+16>>2]|0;HEAP32[$80+20>>2]=HEAP32[$81+20>>2]|0;HEAP32[$80+24>>2]=HEAP32[$81+24>>2]|0; $82 = HEAP32[$pNew>>2]|0; - $83 = HEAP32[$2>>2]|0; - ;HEAP32[$82>>2]=HEAP32[$83>>2]|0;HEAP32[$82+4>>2]=HEAP32[$83+4>>2]|0;HEAP32[$82+8>>2]=HEAP32[$83+8>>2]|0;HEAP32[$82+12>>2]=HEAP32[$83+12>>2]|0;HEAP32[$82+16>>2]=HEAP32[$83+16>>2]|0;HEAP32[$82+20>>2]=HEAP32[$83+20>>2]|0;HEAP32[$82+24>>2]=HEAP32[$83+24>>2]|0; + $83 = ((($82)) + 28|0); $84 = HEAP32[$pNew>>2]|0; - $85 = ((($84)) + 28|0); + $85 = ((($84)) + 20|0); + HEAP32[$85>>2] = $83; $86 = HEAP32[$pNew>>2]|0; - $87 = ((($86)) + 20|0); - HEAP32[$87>>2] = $85; - $88 = HEAP32[$pNew>>2]|0; - $89 = ((($88)) + 28|0); - $90 = HEAP32[$2>>2]|0; - $91 = ((($90)) + 20|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$2>>2]|0; - $94 = ((($93)) + 20|0); - $95 = HEAP32[$94>>2]|0; - $96 = (_sqlite3Strlen30($95)|0); - $97 = (($96) + 1)|0; - _memcpy(($89|0),($92|0),($97|0))|0; - $98 = HEAP32[$xSFunc>>2]|0; - $99 = HEAP32[$pNew>>2]|0; - $100 = ((($99)) + 12|0); - HEAP32[$100>>2] = $98; - $101 = HEAP32[$pArg>>2]|0; + $87 = ((($86)) + 28|0); + $88 = HEAP32[$2>>2]|0; + $89 = ((($88)) + 20|0); + $90 = HEAP32[$89>>2]|0; + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + 20|0); + $93 = HEAP32[$92>>2]|0; + $94 = (_sqlite3Strlen30($93)|0); + $95 = (($94) + 1)|0; + _memcpy(($87|0),($90|0),($95|0))|0; + $96 = HEAP32[$xSFunc>>2]|0; + $97 = HEAP32[$pNew>>2]|0; + $98 = ((($97)) + 12|0); + HEAP32[$98>>2] = $96; + $99 = HEAP32[$pArg>>2]|0; + $100 = HEAP32[$pNew>>2]|0; + $101 = ((($100)) + 4|0); + HEAP32[$101>>2] = $99; $102 = HEAP32[$pNew>>2]|0; - $103 = ((($102)) + 4|0); - HEAP32[$103>>2] = $101; - $104 = HEAP32[$pNew>>2]|0; - $105 = ((($104)) + 2|0); - $106 = HEAP16[$105>>1]|0; + $103 = ((($102)) + 2|0); + $104 = HEAP16[$103>>1]|0; + $105 = $104&65535; + $106 = $105 | 16; $107 = $106&65535; - $108 = $107 | 16; - $109 = $108&65535; - HEAP16[$105>>1] = $109; - $110 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $110; - $111 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($111|0); + HEAP16[$103>>1] = $107; + $108 = HEAP32[$pNew>>2]|0; + HEAP32[$0>>2] = $108; + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } return (0)|0; } +function _sqlite3SubselectError($pParse,$nActual,$nExpect) { + $pParse = $pParse|0; + $nActual = $nActual|0; + $nExpect = $nExpect|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $zFmt = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $zFmt = sp + 8|0; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $nActual; + HEAP32[$2>>2] = $nExpect; + HEAP32[$zFmt>>2] = 31246; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$zFmt>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $6; + _sqlite3ErrorMsg($3,$4,$vararg_buffer); + STACKTOP = sp;return; +} function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $pParse = $pParse|0; $pExpr = $pExpr|0; $rHasNullFlag = $rHasNullFlag|0; $isRowid = $isRowid|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $affinity = 0, $cond = 0, $dest = 0, $dest1 = 0, $i = 0, $iValToIns = 0, $jmpIfDynamic = 0, $pE2 = 0, $pEList = 0, $pItem = 0, $pKeyInfo = 0, $pLeft = 0, $pList = 0; - var $pSel = 0, $pSelect = 0, $r1 = 0, $r2 = 0, $r3 = 0, $rReg = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zMsg = 0, label = 0, sp = 0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $affinity = 0, $cond = 0, $dest = 0, $dest2 = 0, $i = 0, $i1 = 0, $iValToIns = 0, $jmpIfDynamic = 0; + var $nReg = 0, $nVal = 0, $p = 0, $pE2 = 0, $pEList = 0, $pItem = 0, $pKeyInfo = 0, $pLeft = 0, $pList = 0, $pSel = 0, $pSelect = 0, $r1 = 0, $r2 = 0, $r3 = 0, $rReg = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zMsg = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; + STACKTOP = STACKTOP + 176|0; $vararg_buffer = sp; - $0 = sp + 140|0; - $1 = sp + 136|0; - $2 = sp + 132|0; - $3 = sp + 128|0; - $4 = sp + 124|0; - $jmpIfDynamic = sp + 120|0; - $rReg = sp + 116|0; - $v = sp + 112|0; - $zMsg = sp + 108|0; - $affinity = sp + 144|0; - $addr = sp + 104|0; - $pLeft = sp + 100|0; - $pKeyInfo = sp + 96|0; - $pSelect = sp + 92|0; - $dest = sp + 72|0; - $pEList = sp + 68|0; - $i = sp + 64|0; - $pList = sp + 60|0; - $pItem = sp + 56|0; - $r1 = sp + 52|0; - $r2 = sp + 48|0; - $r3 = sp + 44|0; - $pE2 = sp + 40|0; - $iValToIns = sp + 36|0; - $pSel = sp + 32|0; - $dest1 = sp + 12|0; + $0 = sp + 168|0; + $1 = sp + 164|0; + $2 = sp + 160|0; + $3 = sp + 156|0; + $4 = sp + 152|0; + $jmpIfDynamic = sp + 148|0; + $rReg = sp + 144|0; + $v = sp + 140|0; + $zMsg = sp + 136|0; + $addr = sp + 132|0; + $pLeft = sp + 128|0; + $pKeyInfo = sp + 124|0; + $nVal = sp + 120|0; + $pSelect = sp + 116|0; + $pEList = sp + 112|0; + $dest = sp + 88|0; + $i = sp + 80|0; + $p = sp + 76|0; + $affinity = sp + 172|0; + $i1 = sp + 72|0; + $pList = sp + 68|0; + $pItem = sp + 64|0; + $r1 = sp + 60|0; + $r2 = sp + 56|0; + $r3 = sp + 52|0; + $pE2 = sp + 48|0; + $iValToIns = sp + 44|0; + $pSel = sp + 40|0; + $dest2 = sp + 16|0; + $nReg = sp + 12|0; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pExpr; HEAP32[$3>>2] = $rHasNullFlag; @@ -154666,8 +156059,8 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $8 = ($7|0)==(0|0); if ($8) { HEAP32[$0>>2] = 0; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } $9 = HEAP32[$1>>2]|0; _sqlite3ExprCachePush($9); @@ -154677,12 +156070,12 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $13 = $12 & 32; $14 = ($13|0)!=(0); if (!($14)) { - $15 = HEAP32[$1>>2]|0; - $16 = (_sqlite3CodeOnce($15)|0); + $15 = HEAP32[$v>>2]|0; + $16 = (_sqlite3VdbeAddOp0($15,20)|0); HEAP32[$jmpIfDynamic>>2] = $16; } $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 453|0); + $18 = ((($17)) + 409|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20|0)==(2); @@ -154691,28 +156084,28 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$jmpIfDynamic>>2]|0; $25 = ($24|0)>=(0); - $26 = $25 ? 19018 : 31762; + $26 = $25 ? 18402 : 31197; $27 = HEAP32[$2>>2]|0; $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = ($29|0)==(33); - $31 = $30 ? 31774 : 31779; + $31 = $30 ? 31209 : 31214; $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 472|0); + $33 = ((($32)) + 424|0); $34 = HEAP32[$33>>2]|0; HEAP32[$vararg_buffer>>2] = $26; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $31; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $34; - $35 = (_sqlite3MPrintf($23,31786,$vararg_buffer)|0); + $35 = (_sqlite3MPrintf($23,31221,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $35; $36 = HEAP32[$v>>2]|0; $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 468|0); + $38 = ((($37)) + 420|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($36,160,$39,0,0,$40,-1)|0); + (_sqlite3VdbeAddOp4($36,162,$39,0,0,$40,-1)|0); } $41 = HEAP32[$2>>2]|0; $42 = HEAP8[$41>>0]|0; @@ -154726,10 +156119,10 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { HEAP32[$pLeft>>2] = $46; HEAP32[$pKeyInfo>>2] = 0; $47 = HEAP32[$pLeft>>2]|0; - $48 = (_sqlite3ExprAffinity($47)|0); - HEAP8[$affinity>>0] = $48; + $48 = (_sqlite3ExprVectorSize($47)|0); + HEAP32[$nVal>>2] = $48; $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 72|0); + $50 = ((($49)) + 40|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + 1)|0; HEAP32[$50>>2] = $52; @@ -154742,309 +156135,369 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$4>>2]|0; $60 = ($59|0)!=(0); - $61 = $60 ^ 1; - $62 = $61&1; - $63 = (_sqlite3VdbeAddOp2($55,105,$58,$62)|0); + $61 = HEAP32[$nVal>>2]|0; + $62 = $60 ? 0 : $61; + $63 = (_sqlite3VdbeAddOp2($55,107,$58,$62)|0); HEAP32[$addr>>2] = $63; $64 = HEAP32[$4>>2]|0; $65 = ($64|0)!=(0); if ($65) { - $69 = 0; + $70 = 0; } else { $66 = HEAP32[$1>>2]|0; $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3KeyInfoAlloc($67,1,1)|0); - $69 = $68; + $68 = HEAP32[$nVal>>2]|0; + $69 = (_sqlite3KeyInfoAlloc($67,$68,1)|0); + $70 = $69; } - HEAP32[$pKeyInfo>>2] = $69; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = $72 & 2048; - $74 = ($73|0)!=(0); - $75 = HEAP32[$2>>2]|0; - $76 = ((($75)) + 20|0); - do { - if ($74) { - $77 = HEAP32[$76>>2]|0; - HEAP32[$pSelect>>2] = $77; - $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 28|0); + HEAP32[$pKeyInfo>>2] = $70; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = $73 & 2048; + $75 = ($74|0)!=(0); + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 20|0); + L16: do { + if ($75) { + $78 = HEAP32[$77>>2]|0; + HEAP32[$pSelect>>2] = $78; + $79 = HEAP32[$pSelect>>2]|0; $80 = HEAP32[$79>>2]|0; - _sqlite3SelectDestInit($dest,11,$80); - $81 = HEAP8[$affinity>>0]|0; - $82 = ((($dest)) + 1|0); - HEAP8[$82>>0] = $81; - $83 = HEAP32[$pSelect>>2]|0; - $84 = ((($83)) + 12|0); - HEAP32[$84>>2] = 0; - $85 = HEAP32[$1>>2]|0; - $86 = HEAP32[$pSelect>>2]|0; - $87 = (_sqlite3Select($85,$86,$dest)|0); - $88 = ($87|0)!=(0); - if (!($88)) { - $90 = HEAP32[$pSelect>>2]|0; - $91 = HEAP32[$90>>2]|0; - HEAP32[$pEList>>2] = $91; - $92 = HEAP32[$1>>2]|0; - $93 = HEAP32[$2>>2]|0; - $94 = ((($93)) + 12|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$pEList>>2]|0; - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; + HEAP32[$pEList>>2] = $80; + $81 = HEAP32[$pEList>>2]|0; + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$nVal>>2]|0; + $84 = ($82|0)==($83|0); + if ($84) { + $85 = HEAP32[$2>>2]|0; + $86 = ((($85)) + 28|0); + $87 = HEAP32[$86>>2]|0; + _sqlite3SelectDestInit($dest,11,$87); + $88 = HEAP32[$1>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = (_exprINAffinity($88,$89)|0); + $91 = ((($dest)) + 4|0); + HEAP32[$91>>2] = $90; + $92 = HEAP32[$pSelect>>2]|0; + $93 = ((($92)) + 12|0); + HEAP32[$93>>2] = 0; + $94 = HEAP32[$1>>2]|0; + $95 = HEAP32[$pSelect>>2]|0; + $96 = (_sqlite3Select($94,$95,$dest)|0); + $97 = ($96|0)!=(0); + $98 = HEAP32[$1>>2]|0; $99 = HEAP32[$98>>2]|0; - $100 = (_sqlite3BinaryCompareCollSeq($92,$95,$99)|0); - $101 = HEAP32[$pKeyInfo>>2]|0; - $102 = ((($101)) + 20|0); - HEAP32[$102>>2] = $100; - break; + $100 = ((($dest)) + 4|0); + $101 = HEAP32[$100>>2]|0; + _sqlite3DbFree($99,$101); + if ($97) { + $102 = HEAP32[$pKeyInfo>>2]|0; + _sqlite3KeyInfoUnref($102); + HEAP32[$0>>2] = 0; + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); + } + HEAP32[$i>>2] = 0; + while(1) { + $103 = HEAP32[$i>>2]|0; + $104 = HEAP32[$nVal>>2]|0; + $105 = ($103|0)<($104|0); + if (!($105)) { + break L16; + } + $106 = HEAP32[$pLeft>>2]|0; + $107 = HEAP32[$i>>2]|0; + $108 = (_sqlite3VectorFieldSubexpr($106,$107)|0); + HEAP32[$p>>2] = $108; + $109 = HEAP32[$1>>2]|0; + $110 = HEAP32[$p>>2]|0; + $111 = HEAP32[$i>>2]|0; + $112 = HEAP32[$pEList>>2]|0; + $113 = ((($112)) + 4|0); + $114 = HEAP32[$113>>2]|0; + $115 = (($114) + (($111*20)|0)|0); + $116 = HEAP32[$115>>2]|0; + $117 = (_sqlite3BinaryCompareCollSeq($109,$110,$116)|0); + $118 = HEAP32[$i>>2]|0; + $119 = HEAP32[$pKeyInfo>>2]|0; + $120 = ((($119)) + 20|0); + $121 = (($120) + ($118<<2)|0); + HEAP32[$121>>2] = $117; + $122 = HEAP32[$i>>2]|0; + $123 = (($122) + 1)|0; + HEAP32[$i>>2] = $123; + } } - $89 = HEAP32[$pKeyInfo>>2]|0; - _sqlite3KeyInfoUnref($89); - HEAP32[$0>>2] = 0; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); } else { - $103 = HEAP32[$76>>2]|0; - $104 = ($103|0)!=(0|0); - if ($104) { - $105 = HEAP32[$2>>2]|0; - $106 = ((($105)) + 20|0); - $107 = HEAP32[$106>>2]|0; - HEAP32[$pList>>2] = $107; - $108 = HEAP8[$affinity>>0]|0; - $109 = ($108<<24>>24)!=(0); - if (!($109)) { - HEAP8[$affinity>>0] = 65; - } - $110 = HEAP32[$pKeyInfo>>2]|0; - $111 = ($110|0)!=(0|0); - if ($111) { - $112 = HEAP32[$1>>2]|0; - $113 = HEAP32[$2>>2]|0; - $114 = ((($113)) + 12|0); - $115 = HEAP32[$114>>2]|0; - $116 = (_sqlite3ExprCollSeq($112,$115)|0); - $117 = HEAP32[$pKeyInfo>>2]|0; - $118 = ((($117)) + 20|0); - HEAP32[$118>>2] = $116; + $124 = HEAP32[$77>>2]|0; + $125 = ($124|0)!=(0|0); + if ($125) { + $126 = HEAP32[$2>>2]|0; + $127 = ((($126)) + 20|0); + $128 = HEAP32[$127>>2]|0; + HEAP32[$pList>>2] = $128; + $129 = HEAP32[$pLeft>>2]|0; + $130 = (_sqlite3ExprAffinity($129)|0); + HEAP8[$affinity>>0] = $130; + $131 = HEAP8[$affinity>>0]|0; + $132 = ($131<<24>>24)!=(0); + $$ = $132 ? $130 : 65; + HEAP8[$affinity>>0] = $$; + $133 = HEAP32[$pKeyInfo>>2]|0; + $134 = ($133|0)!=(0|0); + if ($134) { + $135 = HEAP32[$1>>2]|0; + $136 = HEAP32[$2>>2]|0; + $137 = ((($136)) + 12|0); + $138 = HEAP32[$137>>2]|0; + $139 = (_sqlite3ExprCollSeq($135,$138)|0); + $140 = HEAP32[$pKeyInfo>>2]|0; + $141 = ((($140)) + 20|0); + HEAP32[$141>>2] = $139; } - $119 = HEAP32[$1>>2]|0; - $120 = (_sqlite3GetTempReg($119)|0); - HEAP32[$r1>>2] = $120; - $121 = HEAP32[$1>>2]|0; - $122 = (_sqlite3GetTempReg($121)|0); - HEAP32[$r2>>2] = $122; - $123 = HEAP32[$4>>2]|0; - $124 = ($123|0)!=(0); - if ($124) { - $125 = HEAP32[$v>>2]|0; - $126 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($125,77,0,$126)|0); + $142 = HEAP32[$1>>2]|0; + $143 = (_sqlite3GetTempReg($142)|0); + HEAP32[$r1>>2] = $143; + $144 = HEAP32[$1>>2]|0; + $145 = (_sqlite3GetTempReg($144)|0); + HEAP32[$r2>>2] = $145; + $146 = HEAP32[$4>>2]|0; + $147 = ($146|0)!=(0); + if ($147) { + $148 = HEAP32[$v>>2]|0; + $149 = HEAP32[$r2>>2]|0; + (_sqlite3VdbeAddOp2($148,79,0,$149)|0); } - $127 = HEAP32[$pList>>2]|0; - $128 = HEAP32[$127>>2]|0; - HEAP32[$i>>2] = $128; - $129 = HEAP32[$pList>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - HEAP32[$pItem>>2] = $131; + $150 = HEAP32[$pList>>2]|0; + $151 = HEAP32[$150>>2]|0; + HEAP32[$i1>>2] = $151; + $152 = HEAP32[$pList>>2]|0; + $153 = ((($152)) + 4|0); + $154 = HEAP32[$153>>2]|0; + HEAP32[$pItem>>2] = $154; while(1) { - $132 = HEAP32[$i>>2]|0; - $133 = ($132|0)>(0); - if (!($133)) { + $155 = HEAP32[$i1>>2]|0; + $156 = ($155|0)>(0); + if (!($156)) { break; } - $134 = HEAP32[$pItem>>2]|0; - $135 = HEAP32[$134>>2]|0; - HEAP32[$pE2>>2] = $135; - $136 = HEAP32[$jmpIfDynamic>>2]|0; - $137 = ($136|0)>=(0); - if ($137) { - $138 = HEAP32[$pE2>>2]|0; - $139 = (_sqlite3ExprIsConstant($138)|0); - $140 = ($139|0)!=(0); - if (!($140)) { - $141 = HEAP32[$v>>2]|0; - $142 = HEAP32[$jmpIfDynamic>>2]|0; - (_sqlite3VdbeChangeToNoop($141,$142)|0); + $157 = HEAP32[$pItem>>2]|0; + $158 = HEAP32[$157>>2]|0; + HEAP32[$pE2>>2] = $158; + $159 = HEAP32[$jmpIfDynamic>>2]|0; + $160 = ($159|0)>=(0); + if ($160) { + $161 = HEAP32[$pE2>>2]|0; + $162 = (_sqlite3ExprIsConstant($161)|0); + $163 = ($162|0)!=(0); + if (!($163)) { + $164 = HEAP32[$v>>2]|0; + $165 = HEAP32[$jmpIfDynamic>>2]|0; + (_sqlite3VdbeChangeToNoop($164,$165)|0); HEAP32[$jmpIfDynamic>>2] = -1; } } - $143 = HEAP32[$4>>2]|0; - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$pE2>>2]|0; - $146 = (_sqlite3ExprIsInteger($145,$iValToIns)|0); - $147 = ($146|0)!=(0); - if ($147) { - $148 = HEAP32[$v>>2]|0; - $149 = HEAP32[$2>>2]|0; - $150 = ((($149)) + 28|0); - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$r2>>2]|0; - $153 = HEAP32[$iValToIns>>2]|0; - (_sqlite3VdbeAddOp3($148,114,$151,$152,$153)|0); + $166 = HEAP32[$4>>2]|0; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$pE2>>2]|0; + $169 = (_sqlite3ExprIsInteger($168,$iValToIns)|0); + $170 = ($169|0)!=(0); + if ($170) { + $171 = HEAP32[$v>>2]|0; + $172 = HEAP32[$2>>2]|0; + $173 = ((($172)) + 28|0); + $174 = HEAP32[$173>>2]|0; + $175 = HEAP32[$r2>>2]|0; + $176 = HEAP32[$iValToIns>>2]|0; + (_sqlite3VdbeAddOp3($171,116,$174,$175,$176)|0); } else { - label = 29; + label = 30; } } else { - label = 29; + label = 30; } do { - if ((label|0) == 29) { + if ((label|0) == 30) { label = 0; - $154 = HEAP32[$1>>2]|0; - $155 = HEAP32[$pE2>>2]|0; - $156 = HEAP32[$r1>>2]|0; - $157 = (_sqlite3ExprCodeTarget($154,$155,$156)|0); - HEAP32[$r3>>2] = $157; - $158 = HEAP32[$4>>2]|0; - $159 = ($158|0)!=(0); - $160 = HEAP32[$v>>2]|0; - $161 = HEAP32[$r3>>2]|0; - if ($159) { - $162 = HEAP32[$v>>2]|0; - $163 = (_sqlite3VdbeCurrentAddr($162)|0); - $164 = (($163) + 2)|0; - (_sqlite3VdbeAddOp2($160,17,$161,$164)|0); - $165 = HEAP32[$v>>2]|0; - $166 = HEAP32[$2>>2]|0; - $167 = ((($166)) + 28|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[$r2>>2]|0; - $170 = HEAP32[$r3>>2]|0; - (_sqlite3VdbeAddOp3($165,113,$168,$169,$170)|0); + $177 = HEAP32[$1>>2]|0; + $178 = HEAP32[$pE2>>2]|0; + $179 = HEAP32[$r1>>2]|0; + $180 = (_sqlite3ExprCodeTarget($177,$178,$179)|0); + HEAP32[$r3>>2] = $180; + $181 = HEAP32[$4>>2]|0; + $182 = ($181|0)!=(0); + $183 = HEAP32[$v>>2]|0; + $184 = HEAP32[$r3>>2]|0; + if ($182) { + $185 = HEAP32[$v>>2]|0; + $186 = (_sqlite3VdbeCurrentAddr($185)|0); + $187 = (($186) + 2)|0; + (_sqlite3VdbeAddOp2($183,17,$184,$187)|0); + $188 = HEAP32[$v>>2]|0; + $189 = HEAP32[$2>>2]|0; + $190 = ((($189)) + 28|0); + $191 = HEAP32[$190>>2]|0; + $192 = HEAP32[$r2>>2]|0; + $193 = HEAP32[$r3>>2]|0; + (_sqlite3VdbeAddOp3($188,115,$191,$192,$193)|0); break; } else { - $171 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp4($160,96,$161,1,$171,$affinity,1)|0); - $172 = HEAP32[$1>>2]|0; - $173 = HEAP32[$r3>>2]|0; - _sqlite3ExprCacheAffinityChange($172,$173,1); - $174 = HEAP32[$v>>2]|0; - $175 = HEAP32[$2>>2]|0; - $176 = ((($175)) + 28|0); - $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($174,124,$177,$178)|0); + $194 = HEAP32[$r2>>2]|0; + (_sqlite3VdbeAddOp4($183,99,$184,1,$194,$affinity,1)|0); + $195 = HEAP32[$1>>2]|0; + $196 = HEAP32[$r3>>2]|0; + _sqlite3ExprCacheAffinityChange($195,$196,1); + $197 = HEAP32[$v>>2]|0; + $198 = HEAP32[$2>>2]|0; + $199 = ((($198)) + 28|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$r2>>2]|0; + (_sqlite3VdbeAddOp2($197,126,$200,$201)|0); break; } } } while(0); - $179 = HEAP32[$i>>2]|0; - $180 = (($179) + -1)|0; - HEAP32[$i>>2] = $180; - $181 = HEAP32[$pItem>>2]|0; - $182 = ((($181)) + 20|0); - HEAP32[$pItem>>2] = $182; + $202 = HEAP32[$i1>>2]|0; + $203 = (($202) + -1)|0; + HEAP32[$i1>>2] = $203; + $204 = HEAP32[$pItem>>2]|0; + $205 = ((($204)) + 20|0); + HEAP32[$pItem>>2] = $205; } - $183 = HEAP32[$1>>2]|0; - $184 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($183,$184); - $185 = HEAP32[$1>>2]|0; - $186 = HEAP32[$r2>>2]|0; - _sqlite3ReleaseTempReg($185,$186); + $206 = HEAP32[$1>>2]|0; + $207 = HEAP32[$r1>>2]|0; + _sqlite3ReleaseTempReg($206,$207); + $208 = HEAP32[$1>>2]|0; + $209 = HEAP32[$r2>>2]|0; + _sqlite3ReleaseTempReg($208,$209); } } } while(0); - $187 = HEAP32[$pKeyInfo>>2]|0; - $188 = ($187|0)!=(0|0); - if ($188) { - $189 = HEAP32[$v>>2]|0; - $190 = HEAP32[$addr>>2]|0; - $191 = HEAP32[$pKeyInfo>>2]|0; - _sqlite3VdbeChangeP4($189,$190,$191,-6); + $210 = HEAP32[$pKeyInfo>>2]|0; + $211 = ($210|0)!=(0|0); + if ($211) { + $212 = HEAP32[$v>>2]|0; + $213 = HEAP32[$addr>>2]|0; + $214 = HEAP32[$pKeyInfo>>2]|0; + _sqlite3VdbeChangeP4($212,$213,$214,-6); } } else { - $192 = ((($44)) + 20|0); - $193 = HEAP32[$192>>2]|0; - HEAP32[$pSel>>2] = $193; - $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 76|0); - $196 = HEAP32[$195>>2]|0; - $197 = (($196) + 1)|0; - HEAP32[$195>>2] = $197; - _sqlite3SelectDestInit($dest1,0,$197); - $198 = HEAP32[$2>>2]|0; - $199 = HEAP8[$198>>0]|0; - $200 = $199&255; - $201 = ($200|0)==(119); - if ($201) { - HEAP8[$dest1>>0] = 10; - $202 = ((($dest1)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($dest1)) + 8|0); - HEAP32[$204>>2] = $203; - $205 = HEAP32[$v>>2]|0; - $206 = ((($dest1)) + 4|0); - $207 = HEAP32[$206>>2]|0; - (_sqlite3VdbeAddOp2($205,77,0,$207)|0); + $215 = ((($44)) + 20|0); + $216 = HEAP32[$215>>2]|0; + HEAP32[$pSel>>2] = $216; + $217 = HEAP32[$2>>2]|0; + $218 = HEAP8[$217>>0]|0; + $219 = $218&255; + $220 = ($219|0)==(119); + if ($220) { + $221 = HEAP32[$pSel>>2]|0; + $222 = HEAP32[$221>>2]|0; + $223 = HEAP32[$222>>2]|0; + $224 = $223; } else { - HEAP8[$dest1>>0] = 3; - $208 = HEAP32[$v>>2]|0; - $209 = ((($dest1)) + 4|0); - $210 = HEAP32[$209>>2]|0; - (_sqlite3VdbeAddOp2($208,74,0,$210)|0); + $224 = 1; } - $211 = HEAP32[$1>>2]|0; - $212 = HEAP32[$211>>2]|0; - $213 = HEAP32[$pSel>>2]|0; - $214 = ((($213)) + 56|0); - $215 = HEAP32[$214>>2]|0; - _sqlite3ExprDelete($212,$215); - $216 = HEAP32[$1>>2]|0; - $217 = (_sqlite3PExpr($216,132,0,0,(5124))|0); - $218 = HEAP32[$pSel>>2]|0; - $219 = ((($218)) + 56|0); - HEAP32[$219>>2] = $217; - $220 = HEAP32[$pSel>>2]|0; - $221 = ((($220)) + 12|0); - HEAP32[$221>>2] = 0; - $222 = HEAP32[$pSel>>2]|0; - $223 = ((($222)) + 8|0); - $224 = HEAP32[$223>>2]|0; - $225 = $224 & -1025; - HEAP32[$223>>2] = $225; - $226 = HEAP32[$1>>2]|0; - $227 = HEAP32[$pSel>>2]|0; - $228 = (_sqlite3Select($226,$227,$dest1)|0); - $229 = ($228|0)!=(0); - if (!($229)) { - $230 = ((($dest1)) + 4|0); - $231 = HEAP32[$230>>2]|0; - HEAP32[$rReg>>2] = $231; + HEAP32[$nReg>>2] = $224; + $225 = HEAP32[$1>>2]|0; + $226 = ((($225)) + 44|0); + $227 = HEAP32[$226>>2]|0; + $228 = (($227) + 1)|0; + _sqlite3SelectDestInit($dest2,0,$228); + $229 = HEAP32[$nReg>>2]|0; + $230 = HEAP32[$1>>2]|0; + $231 = ((($230)) + 44|0); + $232 = HEAP32[$231>>2]|0; + $233 = (($232) + ($229))|0; + HEAP32[$231>>2] = $233; + $234 = HEAP32[$2>>2]|0; + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236|0)==(119); + if ($237) { + HEAP8[$dest2>>0] = 10; + $238 = ((($dest2)) + 8|0); + $239 = HEAP32[$238>>2]|0; + $240 = ((($dest2)) + 12|0); + HEAP32[$240>>2] = $239; + $241 = HEAP32[$nReg>>2]|0; + $242 = ((($dest2)) + 16|0); + HEAP32[$242>>2] = $241; + $243 = HEAP32[$v>>2]|0; + $244 = ((($dest2)) + 8|0); + $245 = HEAP32[$244>>2]|0; + $246 = ((($dest2)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[$nReg>>2]|0; + $249 = (($247) + ($248))|0; + $250 = (($249) - 1)|0; + (_sqlite3VdbeAddOp3($243,79,0,$245,$250)|0); + } else { + HEAP8[$dest2>>0] = 3; + $251 = HEAP32[$v>>2]|0; + $252 = ((($dest2)) + 8|0); + $253 = HEAP32[$252>>2]|0; + (_sqlite3VdbeAddOp2($251,76,0,$253)|0); + } + $254 = HEAP32[$1>>2]|0; + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$pSel>>2]|0; + $257 = ((($256)) + 56|0); + $258 = HEAP32[$257>>2]|0; + _sqlite3ExprDelete($255,$258); + $259 = HEAP32[$1>>2]|0; + $260 = HEAP32[$259>>2]|0; + $261 = (_sqlite3ExprAlloc($260,134,(4284),0)|0); + $262 = HEAP32[$pSel>>2]|0; + $263 = ((($262)) + 56|0); + HEAP32[$263>>2] = $261; + $264 = HEAP32[$pSel>>2]|0; + $265 = ((($264)) + 12|0); + HEAP32[$265>>2] = 0; + $266 = HEAP32[$pSel>>2]|0; + $267 = ((($266)) + 8|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 & -1025; + HEAP32[$267>>2] = $269; + $270 = HEAP32[$1>>2]|0; + $271 = HEAP32[$pSel>>2]|0; + $272 = (_sqlite3Select($270,$271,$dest2)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + $274 = ((($dest2)) + 8|0); + $275 = HEAP32[$274>>2]|0; + HEAP32[$rReg>>2] = $275; break; } HEAP32[$0>>2] = 0; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } } while(0); - $232 = HEAP32[$3>>2]|0; - $233 = ($232|0)!=(0); - if ($233) { - $234 = HEAP32[$v>>2]|0; - $235 = HEAP32[$2>>2]|0; - $236 = ((($235)) + 28|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[$3>>2]|0; - _sqlite3SetHasNullFlag($234,$237,$238); - } - $239 = HEAP32[$jmpIfDynamic>>2]|0; - $240 = ($239|0)>=(0); - if ($240) { - $241 = HEAP32[$v>>2]|0; - $242 = HEAP32[$jmpIfDynamic>>2]|0; - _sqlite3VdbeJumpHere($241,$242); - } - $243 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($243); - $244 = HEAP32[$rReg>>2]|0; - HEAP32[$0>>2] = $244; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $276 = HEAP32[$3>>2]|0; + $277 = ($276|0)!=(0); + if ($277) { + $278 = HEAP32[$v>>2]|0; + $279 = HEAP32[$2>>2]|0; + $280 = ((($279)) + 28|0); + $281 = HEAP32[$280>>2]|0; + $282 = HEAP32[$3>>2]|0; + _sqlite3SetHasNullFlag($278,$281,$282); + } + $283 = HEAP32[$jmpIfDynamic>>2]|0; + $284 = ($283|0)>=(0); + if ($284) { + $285 = HEAP32[$v>>2]|0; + $286 = HEAP32[$jmpIfDynamic>>2]|0; + _sqlite3VdbeJumpHere($285,$286); + } + $287 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($287); + $288 = HEAP32[$rReg>>2]|0; + HEAP32[$0>>2] = $288; + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { $pParse = $pParse|0; @@ -155054,294 +156507,693 @@ function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { var $$rRhsHasNull = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $addr1 = 0, $addr11 = 0, $affinity = 0, $eType = 0, $ii = 0, $labelOk = 0, $pColl = 0, $pList = 0, $r1 = 0, $r2 = 0, $rRhsHasNull = 0, $regCkNull = 0, $regToFree = 0, $v = 0, label = 0, sp = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $addrTop = 0, $addrTruthOp = 0, $aiMap = 0, $destNotNull = 0, $destStep2 = 0, $destStep6 = 0, $eType = 0, $i = 0, $iDummy = 0, $ii = 0, $labelOk = 0, $nVector = 0, $or$cond = 0, $p = 0, $p1 = 0, $pColl = 0, $pColl2 = 0, $pLeft = 0, $pList = 0, $r2 = 0; + var $r3 = 0, $rLhs = 0, $rLhsOrig = 0, $rRhsHasNull = 0, $regCkNull = 0, $regToFree = 0, $v = 0, $zAff = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $rRhsHasNull = sp + 48|0; - $affinity = sp + 68|0; - $eType = sp + 44|0; - $r1 = sp + 40|0; - $v = sp + 36|0; - $pList = sp + 32|0; - $pColl = sp + 28|0; - $labelOk = sp + 24|0; - $r2 = sp + 20|0; - $regToFree = sp + 16|0; - $regCkNull = sp + 12|0; - $ii = sp + 8|0; - $addr1 = sp + 4|0; - $addr11 = sp; + STACKTOP = STACKTOP + 128|0; + $0 = sp + 120|0; + $1 = sp + 116|0; + $2 = sp + 112|0; + $3 = sp + 108|0; + $rRhsHasNull = sp + 104|0; + $eType = sp + 100|0; + $rLhs = sp + 96|0; + $rLhsOrig = sp + 92|0; + $v = sp + 88|0; + $aiMap = sp + 84|0; + $zAff = sp + 80|0; + $nVector = sp + 76|0; + $iDummy = sp + 72|0; + $pLeft = sp + 68|0; + $i = sp + 64|0; + $destStep2 = sp + 60|0; + $destStep6 = sp + 56|0; + $addrTruthOp = sp + 52|0; + $destNotNull = sp + 48|0; + $addrTop = sp + 44|0; + $pList = sp + 40|0; + $pColl = sp + 36|0; + $labelOk = sp + 32|0; + $r2 = sp + 28|0; + $regToFree = sp + 24|0; + $regCkNull = sp + 20|0; + $ii = sp + 16|0; + $p = sp + 12|0; + $p1 = sp + 8|0; + $pColl2 = sp + 4|0; + $r3 = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $destIfFalse; HEAP32[$3>>2] = $destIfNull; HEAP32[$rRhsHasNull>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 8|0); + HEAP32[$aiMap>>2] = 0; + HEAP32[$zAff>>2] = 0; + HEAP32[$destStep6>>2] = 0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; - HEAP32[$v>>2] = $6; + HEAP32[$pLeft>>2] = $6; $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$3>>2]|0; - $11 = ($9|0)==($10|0); - $$rRhsHasNull = $11 ? 0 : $rRhsHasNull; - $12 = (_sqlite3FindInIndex($7,$8,3,$$rRhsHasNull)|0); - HEAP32[$eType>>2] = $12; - $13 = HEAP32[$1>>2]|0; - $14 = (_comparisonAffinity($13)|0); - HEAP8[$affinity>>0] = $14; - $15 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($15); - $16 = HEAP32[$0>>2]|0; - $17 = (_sqlite3GetTempReg($16)|0); - HEAP32[$r1>>2] = $17; + $9 = (_sqlite3ExprCheckIN($7,$8)|0); + $10 = ($9|0)!=(0); + if ($10) { + STACKTOP = sp;return; + } + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = (_exprINAffinity($11,$12)|0); + HEAP32[$zAff>>2] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3ExprVectorSize($16)|0); + HEAP32[$nVector>>2] = $17; $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$r1>>2]|0; - _sqlite3ExprCode($18,$21,$22); - $23 = HEAP32[$eType>>2]|0; - $24 = ($23|0)==(5); - $25 = HEAP32[$1>>2]|0; - if (!($24)) { - $110 = ((($25)) + 12|0); - $111 = HEAP32[$110>>2]|0; - $112 = (_sqlite3ExprCanBeNull($111)|0); - $113 = ($112|0)!=(0); - do { - if ($113) { - $114 = HEAP32[$3>>2]|0; - $115 = HEAP32[$2>>2]|0; - $116 = ($114|0)==($115|0); - $117 = HEAP32[$v>>2]|0; - $118 = HEAP32[$r1>>2]|0; - if ($116) { - $119 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($117,34,$118,$119)|0); - break; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$nVector>>2]|0; + $21 = ($20*5)|0; + $22 = (($21) + 1)|0; + $23 = (_sqlite3DbMallocZero($19,$22,0)|0); + HEAP32[$aiMap>>2] = $23; + $24 = HEAP32[$0>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 69|0); + $27 = HEAP8[$26>>0]|0; + $28 = ($27<<24>>24)!=(0); + if (!($28)) { + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$v>>2] = $31; + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$1>>2]|0; + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = ($34|0)==($35|0); + $$rRhsHasNull = $36 ? 0 : $rRhsHasNull; + $37 = HEAP32[$aiMap>>2]|0; + $38 = (_sqlite3FindInIndex($32,$33,3,$$rRhsHasNull,$37)|0); + HEAP32[$eType>>2] = $38; + $39 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePush($39); + $40 = HEAP32[$0>>2]|0; + $41 = HEAP32[$pLeft>>2]|0; + $42 = (_exprCodeVector($40,$41,$iDummy)|0); + HEAP32[$rLhsOrig>>2] = $42; + HEAP32[$i>>2] = 0; + while(1) { + $43 = HEAP32[$i>>2]|0; + $44 = HEAP32[$nVector>>2]|0; + $45 = ($43|0)<($44|0); + if (!($45)) { + break; + } + $46 = HEAP32[$i>>2]|0; + $47 = HEAP32[$aiMap>>2]|0; + $48 = (($47) + ($46<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$i>>2]|0; + $51 = ($49|0)==($50|0); + if (!($51)) { + break; + } + $52 = HEAP32[$i>>2]|0; + $53 = (($52) + 1)|0; + HEAP32[$i>>2] = $53; + } + $54 = HEAP32[$i>>2]|0; + $55 = HEAP32[$nVector>>2]|0; + $56 = ($54|0)==($55|0); + L11: do { + if ($56) { + $57 = HEAP32[$rLhsOrig>>2]|0; + HEAP32[$rLhs>>2] = $57; + } else { + $58 = HEAP32[$0>>2]|0; + $59 = HEAP32[$nVector>>2]|0; + $60 = (_sqlite3GetTempRange($58,$59)|0); + HEAP32[$rLhs>>2] = $60; + HEAP32[$i>>2] = 0; + while(1) { + $61 = HEAP32[$i>>2]|0; + $62 = HEAP32[$nVector>>2]|0; + $63 = ($61|0)<($62|0); + if (!($63)) { + break L11; + } + $64 = HEAP32[$v>>2]|0; + $65 = HEAP32[$rLhsOrig>>2]|0; + $66 = HEAP32[$i>>2]|0; + $67 = (($65) + ($66))|0; + $68 = HEAP32[$rLhs>>2]|0; + $69 = HEAP32[$i>>2]|0; + $70 = HEAP32[$aiMap>>2]|0; + $71 = (($70) + ($69<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = (($68) + ($72))|0; + (_sqlite3VdbeAddOp3($64,84,$67,$73,0)|0); + $74 = HEAP32[$i>>2]|0; + $75 = (($74) + 1)|0; + HEAP32[$i>>2] = $75; + } + } + } while(0); + $76 = HEAP32[$eType>>2]|0; + $77 = ($76|0)==(5); + L18: do { + if ($77) { + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 20|0); + $80 = HEAP32[$79>>2]|0; + HEAP32[$pList>>2] = $80; + $81 = HEAP32[$0>>2]|0; + $82 = HEAP32[$1>>2]|0; + $83 = ((($82)) + 12|0); + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3ExprCollSeq($81,$84)|0); + HEAP32[$pColl>>2] = $85; + $86 = HEAP32[$v>>2]|0; + $87 = (_sqlite3VdbeMakeLabel($86)|0); + HEAP32[$labelOk>>2] = $87; + HEAP32[$regCkNull>>2] = 0; + $88 = HEAP32[$3>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = ($88|0)!=($89|0); + if ($90) { + $91 = HEAP32[$0>>2]|0; + $92 = (_sqlite3GetTempReg($91)|0); + HEAP32[$regCkNull>>2] = $92; + $93 = HEAP32[$v>>2]|0; + $94 = HEAP32[$rLhs>>2]|0; + $95 = HEAP32[$rLhs>>2]|0; + $96 = HEAP32[$regCkNull>>2]|0; + (_sqlite3VdbeAddOp3($93,43,$94,$95,$96)|0); + } + HEAP32[$ii>>2] = 0; + while(1) { + $97 = HEAP32[$ii>>2]|0; + $98 = HEAP32[$pList>>2]|0; + $99 = HEAP32[$98>>2]|0; + $100 = ($97|0)<($99|0); + if (!($100)) { + break; + } + $101 = HEAP32[$0>>2]|0; + $102 = HEAP32[$ii>>2]|0; + $103 = HEAP32[$pList>>2]|0; + $104 = ((($103)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = (($105) + (($102*20)|0)|0); + $107 = HEAP32[$106>>2]|0; + $108 = (_sqlite3ExprCodeTemp($101,$107,$regToFree)|0); + HEAP32[$r2>>2] = $108; + $109 = HEAP32[$regCkNull>>2]|0; + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[$ii>>2]|0; + $112 = HEAP32[$pList>>2]|0; + $113 = ((($112)) + 4|0); + $114 = HEAP32[$113>>2]|0; + $115 = (($114) + (($111*20)|0)|0); + $116 = HEAP32[$115>>2]|0; + $117 = (_sqlite3ExprCanBeNull($116)|0); + $118 = ($117|0)!=(0); + if ($118) { + $119 = HEAP32[$v>>2]|0; + $120 = HEAP32[$regCkNull>>2]|0; + $121 = HEAP32[$r2>>2]|0; + $122 = HEAP32[$regCkNull>>2]|0; + (_sqlite3VdbeAddOp3($119,43,$120,$121,$122)|0); + } + } + $123 = HEAP32[$ii>>2]|0; + $124 = HEAP32[$pList>>2]|0; + $125 = HEAP32[$124>>2]|0; + $126 = (($125) - 1)|0; + $127 = ($123|0)<($126|0); + if ($127) { + label = 22; + } else { + $128 = HEAP32[$3>>2]|0; + $129 = HEAP32[$2>>2]|0; + $130 = ($128|0)!=($129|0); + if ($130) { + label = 22; + } else { + $139 = HEAP32[$v>>2]|0; + $140 = HEAP32[$rLhs>>2]|0; + $141 = HEAP32[$2>>2]|0; + $142 = HEAP32[$r2>>2]|0; + $143 = HEAP32[$pColl>>2]|0; + (_sqlite3VdbeAddOp4($139,36,$140,$141,$142,$143,-4)|0); + $144 = HEAP32[$v>>2]|0; + $145 = HEAP32[$zAff>>2]|0; + $146 = HEAP8[$145>>0]|0; + $147 = $146 << 24 >> 24; + $148 = $147 | 16; + $149 = $148&255; + _sqlite3VdbeChangeP5($144,$149); + } + } + if ((label|0) == 22) { + label = 0; + $131 = HEAP32[$v>>2]|0; + $132 = HEAP32[$rLhs>>2]|0; + $133 = HEAP32[$labelOk>>2]|0; + $134 = HEAP32[$r2>>2]|0; + $135 = HEAP32[$pColl>>2]|0; + (_sqlite3VdbeAddOp4($131,37,$132,$133,$134,$135,-4)|0); + $136 = HEAP32[$v>>2]|0; + $137 = HEAP32[$zAff>>2]|0; + $138 = HEAP8[$137>>0]|0; + _sqlite3VdbeChangeP5($136,$138); + } + $150 = HEAP32[$0>>2]|0; + $151 = HEAP32[$regToFree>>2]|0; + _sqlite3ReleaseTempReg($150,$151); + $152 = HEAP32[$ii>>2]|0; + $153 = (($152) + 1)|0; + HEAP32[$ii>>2] = $153; + } + $154 = HEAP32[$regCkNull>>2]|0; + $155 = ($154|0)!=(0); + if ($155) { + $156 = HEAP32[$v>>2]|0; + $157 = HEAP32[$regCkNull>>2]|0; + $158 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($156,34,$157,$158)|0); + $159 = HEAP32[$v>>2]|0; + $160 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($159,$160)|0); + } + $161 = HEAP32[$v>>2]|0; + $162 = HEAP32[$labelOk>>2]|0; + _sqlite3VdbeResolveLabel($161,$162); + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$regCkNull>>2]|0; + _sqlite3ReleaseTempReg($163,$164); + } else { + $165 = HEAP32[$3>>2]|0; + $166 = HEAP32[$2>>2]|0; + $167 = ($165|0)==($166|0); + if ($167) { + $168 = HEAP32[$2>>2]|0; + HEAP32[$destStep2>>2] = $168; } else { - $120 = (_sqlite3VdbeAddOp1($117,35,$118)|0); - HEAP32[$addr1>>2] = $120; - $121 = HEAP32[$v>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = ((($122)) + 28|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($121,55,$124,$125)|0); - $126 = HEAP32[$v>>2]|0; - $127 = HEAP32[$3>>2]|0; - (_sqlite3VdbeGoto($126,$127)|0); - $128 = HEAP32[$v>>2]|0; - $129 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($128,$129); - break; + $169 = HEAP32[$v>>2]|0; + $170 = (_sqlite3VdbeMakeLabel($169)|0); + HEAP32[$destStep6>>2] = $170; + HEAP32[$destStep2>>2] = $170; + } + HEAP32[$i>>2] = 0; + while(1) { + $171 = HEAP32[$i>>2]|0; + $172 = HEAP32[$nVector>>2]|0; + $173 = ($171|0)<($172|0); + if (!($173)) { + break; + } + $174 = HEAP32[$1>>2]|0; + $175 = ((($174)) + 12|0); + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$i>>2]|0; + $178 = (_sqlite3VectorFieldSubexpr($176,$177)|0); + HEAP32[$p>>2] = $178; + $179 = HEAP32[$p>>2]|0; + $180 = (_sqlite3ExprCanBeNull($179)|0); + $181 = ($180|0)!=(0); + if ($181) { + $182 = HEAP32[$v>>2]|0; + $183 = HEAP32[$rLhs>>2]|0; + $184 = HEAP32[$i>>2]|0; + $185 = (($183) + ($184))|0; + $186 = HEAP32[$destStep2>>2]|0; + (_sqlite3VdbeAddOp2($182,34,$185,$186)|0); + } + $187 = HEAP32[$i>>2]|0; + $188 = (($187) + 1)|0; + HEAP32[$i>>2] = $188; + } + $189 = HEAP32[$eType>>2]|0; + $190 = ($189|0)==(1); + $191 = HEAP32[$v>>2]|0; + do { + if ($190) { + $192 = HEAP32[$1>>2]|0; + $193 = ((($192)) + 28|0); + $194 = HEAP32[$193>>2]|0; + $195 = HEAP32[$2>>2]|0; + $196 = HEAP32[$rLhs>>2]|0; + (_sqlite3VdbeAddOp3($191,32,$194,$195,$196)|0); + $197 = HEAP32[$v>>2]|0; + $198 = (_sqlite3VdbeAddOp0($197,13)|0); + HEAP32[$addrTruthOp>>2] = $198; + } else { + $199 = HEAP32[$rLhs>>2]|0; + $200 = HEAP32[$nVector>>2]|0; + $201 = HEAP32[$zAff>>2]|0; + $202 = HEAP32[$nVector>>2]|0; + (_sqlite3VdbeAddOp4($191,98,$199,$200,0,$201,$202)|0); + $203 = HEAP32[$2>>2]|0; + $204 = HEAP32[$3>>2]|0; + $205 = ($203|0)==($204|0); + $206 = HEAP32[$v>>2]|0; + $207 = HEAP32[$1>>2]|0; + $208 = ((($207)) + 28|0); + $209 = HEAP32[$208>>2]|0; + if ($205) { + $210 = HEAP32[$2>>2]|0; + $211 = HEAP32[$rLhs>>2]|0; + $212 = HEAP32[$nVector>>2]|0; + (_sqlite3VdbeAddOp4Int($206,30,$209,$210,$211,$212)|0); + break L18; + } else { + $213 = HEAP32[$rLhs>>2]|0; + $214 = HEAP32[$nVector>>2]|0; + $215 = (_sqlite3VdbeAddOp4Int($206,31,$209,0,$213,$214)|0); + HEAP32[$addrTruthOp>>2] = $215; + break; + } + } + } while(0); + $216 = HEAP32[$rRhsHasNull>>2]|0; + $217 = ($216|0)!=(0); + $218 = HEAP32[$nVector>>2]|0; + $219 = ($218|0)==(1); + $or$cond = $217 & $219; + if ($or$cond) { + $220 = HEAP32[$v>>2]|0; + $221 = HEAP32[$rRhsHasNull>>2]|0; + $222 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($220,35,$221,$222)|0); + } + $223 = HEAP32[$2>>2]|0; + $224 = HEAP32[$3>>2]|0; + $225 = ($223|0)==($224|0); + if ($225) { + $226 = HEAP32[$v>>2]|0; + $227 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($226,$227)|0); + } + $228 = HEAP32[$destStep6>>2]|0; + $229 = ($228|0)!=(0); + if ($229) { + $230 = HEAP32[$v>>2]|0; + $231 = HEAP32[$destStep6>>2]|0; + _sqlite3VdbeResolveLabel($230,$231); + } + $232 = HEAP32[$v>>2]|0; + $233 = HEAP32[$1>>2]|0; + $234 = ((($233)) + 28|0); + $235 = HEAP32[$234>>2]|0; + $236 = HEAP32[$2>>2]|0; + $237 = (_sqlite3VdbeAddOp2($232,57,$235,$236)|0); + HEAP32[$addrTop>>2] = $237; + $238 = HEAP32[$nVector>>2]|0; + $239 = ($238|0)>(1); + if ($239) { + $240 = HEAP32[$v>>2]|0; + $241 = (_sqlite3VdbeMakeLabel($240)|0); + HEAP32[$destNotNull>>2] = $241; + } else { + $242 = HEAP32[$2>>2]|0; + HEAP32[$destNotNull>>2] = $242; + } + HEAP32[$i>>2] = 0; + while(1) { + $243 = HEAP32[$i>>2]|0; + $244 = HEAP32[$nVector>>2]|0; + $245 = ($243|0)<($244|0); + if (!($245)) { + break; + } + $246 = HEAP32[$0>>2]|0; + $247 = (_sqlite3GetTempReg($246)|0); + HEAP32[$r3>>2] = $247; + $248 = HEAP32[$pLeft>>2]|0; + $249 = HEAP32[$i>>2]|0; + $250 = (_sqlite3VectorFieldSubexpr($248,$249)|0); + HEAP32[$p1>>2] = $250; + $251 = HEAP32[$0>>2]|0; + $252 = HEAP32[$p1>>2]|0; + $253 = (_sqlite3ExprCollSeq($251,$252)|0); + HEAP32[$pColl2>>2] = $253; + $254 = HEAP32[$v>>2]|0; + $255 = HEAP32[$1>>2]|0; + $256 = ((($255)) + 28|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[$i>>2]|0; + $259 = HEAP32[$r3>>2]|0; + (_sqlite3VdbeAddOp3($254,96,$257,$258,$259)|0); + $260 = HEAP32[$v>>2]|0; + $261 = HEAP32[$rLhs>>2]|0; + $262 = HEAP32[$i>>2]|0; + $263 = (($261) + ($262))|0; + $264 = HEAP32[$destNotNull>>2]|0; + $265 = HEAP32[$r3>>2]|0; + $266 = HEAP32[$pColl2>>2]|0; + (_sqlite3VdbeAddOp4($260,36,$263,$264,$265,$266,-4)|0); + $267 = HEAP32[$0>>2]|0; + $268 = HEAP32[$r3>>2]|0; + _sqlite3ReleaseTempReg($267,$268); + $269 = HEAP32[$i>>2]|0; + $270 = (($269) + 1)|0; + HEAP32[$i>>2] = $270; + } + $271 = HEAP32[$v>>2]|0; + $272 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($271,13,0,$272)|0); + $273 = HEAP32[$nVector>>2]|0; + $274 = ($273|0)>(1); + if ($274) { + $275 = HEAP32[$v>>2]|0; + $276 = HEAP32[$destNotNull>>2]|0; + _sqlite3VdbeResolveLabel($275,$276); + $277 = HEAP32[$v>>2]|0; + $278 = HEAP32[$1>>2]|0; + $279 = ((($278)) + 28|0); + $280 = HEAP32[$279>>2]|0; + $281 = HEAP32[$addrTop>>2]|0; + $282 = (($281) + 1)|0; + (_sqlite3VdbeAddOp2($277,7,$280,$282)|0); + $283 = HEAP32[$v>>2]|0; + $284 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($283,13,0,$284)|0); } + $285 = HEAP32[$v>>2]|0; + $286 = HEAP32[$addrTruthOp>>2]|0; + _sqlite3VdbeJumpHere($285,$286); } } while(0); - $130 = HEAP32[$eType>>2]|0; - $131 = ($130|0)==(1); - $132 = HEAP32[$v>>2]|0; - $133 = HEAP32[$r1>>2]|0; - if ($131) { - $134 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($132,17,$133,$134)|0); - $135 = HEAP32[$v>>2]|0; - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 28|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$2>>2]|0; - $140 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($135,32,$138,$139,$140)|0); - $158 = HEAP32[$0>>2]|0; - $159 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($158,$159); - $160 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($160); - STACKTOP = sp;return; - } - (_sqlite3VdbeAddOp4($132,95,$133,1,0,$affinity,1)|0); - $141 = HEAP32[$rRhsHasNull>>2]|0; - $142 = ($141|0)==(0); - $143 = HEAP32[$v>>2]|0; - $144 = HEAP32[$1>>2]|0; - $145 = ((($144)) + 28|0); - $146 = HEAP32[$145>>2]|0; - if ($142) { - $147 = HEAP32[$2>>2]|0; - $148 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp4Int($143,30,$146,$147,$148,1)|0); - $158 = HEAP32[$0>>2]|0; - $159 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($158,$159); - $160 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($160); - STACKTOP = sp;return; - } else { - $149 = HEAP32[$r1>>2]|0; - $150 = (_sqlite3VdbeAddOp4Int($143,31,$146,0,$149,1)|0); - HEAP32[$addr11>>2] = $150; - $151 = HEAP32[$v>>2]|0; - $152 = HEAP32[$rRhsHasNull>>2]|0; - $153 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($151,34,$152,$153)|0); - $154 = HEAP32[$v>>2]|0; - $155 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($154,$155)|0); - $156 = HEAP32[$v>>2]|0; - $157 = HEAP32[$addr11>>2]|0; - _sqlite3VdbeJumpHere($156,$157); - $158 = HEAP32[$0>>2]|0; - $159 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($158,$159); - $160 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($160); - STACKTOP = sp;return; + $287 = HEAP32[$rLhs>>2]|0; + $288 = HEAP32[$rLhsOrig>>2]|0; + $289 = ($287|0)!=($288|0); + if ($289) { + $290 = HEAP32[$0>>2]|0; + $291 = HEAP32[$rLhs>>2]|0; + _sqlite3ReleaseTempReg($290,$291); } + $292 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePop($292); } - $26 = ((($25)) + 20|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pList>>2] = $27; - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 12|0); - $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3ExprCollSeq($28,$31)|0); - HEAP32[$pColl>>2] = $32; - $33 = HEAP32[$v>>2]|0; - $34 = (_sqlite3VdbeMakeLabel($33)|0); - HEAP32[$labelOk>>2] = $34; - HEAP32[$regCkNull>>2] = 0; - $35 = HEAP32[$3>>2]|0; - $36 = HEAP32[$2>>2]|0; - $37 = ($35|0)!=($36|0); - if ($37) { + $293 = HEAP32[$0>>2]|0; + $294 = HEAP32[$293>>2]|0; + $295 = HEAP32[$aiMap>>2]|0; + _sqlite3DbFree($294,$295); + $296 = HEAP32[$0>>2]|0; + $297 = HEAP32[$296>>2]|0; + $298 = HEAP32[$zAff>>2]|0; + _sqlite3DbFree($297,$298); + STACKTOP = sp;return; +} +function _exprCodeBetween($pParse,$pExpr,$dest,$xJump,$jumpIfNull) { + $pParse = $pParse|0; + $pExpr = $pExpr|0; + $dest = $dest|0; + $xJump = $xJump|0; + $jumpIfNull = $jumpIfNull|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $compLeft = 0, $compRight = 0, $exprAnd = 0, $exprX = 0, $regFree1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; + $0 = sp + 216|0; + $1 = sp + 212|0; + $2 = sp + 208|0; + $3 = sp + 204|0; + $4 = sp + 200|0; + $exprAnd = sp + 152|0; + $compLeft = sp + 104|0; + $compRight = sp + 56|0; + $exprX = sp + 8|0; + $regFree1 = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $pExpr; + HEAP32[$2>>2] = $dest; + HEAP32[$3>>2] = $xJump; + HEAP32[$4>>2] = $jumpIfNull; + HEAP32[$regFree1>>2] = 0; + dest=$compLeft; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$compRight; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=$exprAnd; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + dest=$exprX; src=$7; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP8[$exprAnd>>0] = 28; + $8 = ((($exprAnd)) + 12|0); + HEAP32[$8>>2] = $compLeft; + $9 = ((($exprAnd)) + 16|0); + HEAP32[$9>>2] = $compRight; + HEAP8[$compLeft>>0] = 41; + $10 = ((($compLeft)) + 12|0); + HEAP32[$10>>2] = $exprX; + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ((($compLeft)) + 16|0); + HEAP32[$17>>2] = $16; + HEAP8[$compRight>>0] = 39; + $18 = ((($compRight)) + 12|0); + HEAP32[$18>>2] = $exprX; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 20|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($compRight)) + 16|0); + HEAP32[$26>>2] = $25; + $27 = HEAP32[$0>>2]|0; + $28 = (_exprCodeVector($27,$exprX,$regFree1)|0); + _exprToRegister($exprX,$28); + $29 = HEAP32[$3>>2]|0; + $30 = ($29|0)!=(0|0); + if ($30) { + $31 = HEAP32[$3>>2]|0; + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$4>>2]|0; + FUNCTION_TABLE_viiii[$31 & 255]($32,$exprAnd,$33,$34); + $40 = HEAP32[$0>>2]|0; + $41 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($40,$41); + STACKTOP = sp;return; + } else { + $35 = ((($exprX)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = $36 | 1; + HEAP32[$35>>2] = $37; $38 = HEAP32[$0>>2]|0; - $39 = (_sqlite3GetTempReg($38)|0); - HEAP32[$regCkNull>>2] = $39; - $40 = HEAP32[$v>>2]|0; - $41 = HEAP32[$r1>>2]|0; - $42 = HEAP32[$r1>>2]|0; - $43 = HEAP32[$regCkNull>>2]|0; - (_sqlite3VdbeAddOp3($40,43,$41,$42,$43)|0); + $39 = HEAP32[$2>>2]|0; + (_sqlite3ExprCodeTarget($38,$exprAnd,$39)|0); + $40 = HEAP32[$0>>2]|0; + $41 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($40,$41); + STACKTOP = sp;return; } - HEAP32[$ii>>2] = 0; +} +function _exprCodeVector($pParse,$p,$piFreeable) { + $pParse = $pParse|0; + $p = $p|0; + $piFreeable = $piFreeable|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iResult = 0, $nResult = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $iResult = sp + 8|0; + $nResult = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $piFreeable; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3ExprVectorSize($3)|0); + HEAP32[$nResult>>2] = $4; + $5 = HEAP32[$nResult>>2]|0; + $6 = ($5|0)==(1); + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + $10 = (_sqlite3ExprCodeTemp($7,$8,$9)|0); + HEAP32[$iResult>>2] = $10; + $44 = HEAP32[$iResult>>2]|0; + STACKTOP = sp;return ($44|0); + } + $11 = HEAP32[$2>>2]|0; + HEAP32[$11>>2] = 0; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(119); + $16 = HEAP32[$0>>2]|0; + if ($15) { + $17 = HEAP32[$1>>2]|0; + $18 = (_sqlite3CodeSubselect($16,$17,0,0)|0); + HEAP32[$iResult>>2] = $18; + $44 = HEAP32[$iResult>>2]|0; + STACKTOP = sp;return ($44|0); + } + $19 = ((($16)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$iResult>>2] = $21; + $22 = HEAP32[$nResult>>2]|0; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($22))|0; + HEAP32[$24>>2] = $26; + HEAP32[$i>>2] = 0; while(1) { - $44 = HEAP32[$ii>>2]|0; - $45 = HEAP32[$pList>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = ($44|0)<($46|0); - if (!($47)) { + $27 = HEAP32[$i>>2]|0; + $28 = HEAP32[$nResult>>2]|0; + $29 = ($27|0)<($28|0); + if (!($29)) { break; } - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$ii>>2]|0; - $50 = HEAP32[$pList>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + (($49*20)|0)|0); - $54 = HEAP32[$53>>2]|0; - $55 = (_sqlite3ExprCodeTemp($48,$54,$regToFree)|0); - HEAP32[$r2>>2] = $55; - $56 = HEAP32[$regCkNull>>2]|0; - $57 = ($56|0)!=(0); - if ($57) { - $58 = HEAP32[$ii>>2]|0; - $59 = HEAP32[$pList>>2]|0; - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + (($58*20)|0)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (_sqlite3ExprCanBeNull($63)|0); - $65 = ($64|0)!=(0); - if ($65) { - $66 = HEAP32[$v>>2]|0; - $67 = HEAP32[$regCkNull>>2]|0; - $68 = HEAP32[$r2>>2]|0; - $69 = HEAP32[$regCkNull>>2]|0; - (_sqlite3VdbeAddOp3($66,43,$67,$68,$69)|0); - } - } - $70 = HEAP32[$ii>>2]|0; - $71 = HEAP32[$pList>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = (($72) - 1)|0; - $74 = ($70|0)<($73|0); - if ($74) { - label = 11; - } else { - $75 = HEAP32[$3>>2]|0; - $76 = HEAP32[$2>>2]|0; - $77 = ($75|0)!=($76|0); - if ($77) { - label = 11; - } else { - $85 = HEAP32[$v>>2]|0; - $86 = HEAP32[$r1>>2]|0; - $87 = HEAP32[$2>>2]|0; - $88 = HEAP32[$r2>>2]|0; - $89 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($85,36,$86,$87,$88,$89,-4)|0); - $90 = HEAP32[$v>>2]|0; - $91 = HEAP8[$affinity>>0]|0; - $92 = $91 << 24 >> 24; - $93 = $92 | 16; - $94 = $93&255; - _sqlite3VdbeChangeP5($90,$94); - } - } - if ((label|0) == 11) { - label = 0; - $78 = HEAP32[$v>>2]|0; - $79 = HEAP32[$r1>>2]|0; - $80 = HEAP32[$labelOk>>2]|0; - $81 = HEAP32[$r2>>2]|0; - $82 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($78,37,$79,$80,$81,$82,-4)|0); - $83 = HEAP32[$v>>2]|0; - $84 = HEAP8[$affinity>>0]|0; - _sqlite3VdbeChangeP5($83,$84); - } - $95 = HEAP32[$0>>2]|0; - $96 = HEAP32[$regToFree>>2]|0; - _sqlite3ReleaseTempReg($95,$96); - $97 = HEAP32[$ii>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[$ii>>2] = $98; - } - $99 = HEAP32[$regCkNull>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$v>>2]|0; - $102 = HEAP32[$regCkNull>>2]|0; - $103 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($101,34,$102,$103)|0); - $104 = HEAP32[$v>>2]|0; - $105 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($104,$105)|0); + $30 = HEAP32[$0>>2]|0; + $31 = HEAP32[$i>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = (($36) + (($31*20)|0)|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$i>>2]|0; + $40 = HEAP32[$iResult>>2]|0; + $41 = (($39) + ($40))|0; + _sqlite3ExprCode($30,$38,$41); + $42 = HEAP32[$i>>2]|0; + $43 = (($42) + 1)|0; + HEAP32[$i>>2] = $43; } - $106 = HEAP32[$v>>2]|0; - $107 = HEAP32[$labelOk>>2]|0; - _sqlite3VdbeResolveLabel($106,$107); - $108 = HEAP32[$0>>2]|0; - $109 = HEAP32[$regCkNull>>2]|0; - _sqlite3ReleaseTempReg($108,$109); - $158 = HEAP32[$0>>2]|0; - $159 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($158,$159); - $160 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($160); - STACKTOP = sp;return; + $44 = HEAP32[$iResult>>2]|0; + STACKTOP = sp;return ($44|0); } function _exprToRegister($p,$iReg) { $p = $p|0; @@ -155378,12 +157230,12 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { $jumpIfNull = $jumpIfNull|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0; - var $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0; + var $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -155504,115 +157356,129 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { break; } case 35: case 34: { - $86 = HEAP32[$0>>2]|0; - $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 12|0); - $89 = HEAP32[$88>>2]|0; - $90 = (_sqlite3ExprCodeTemp($86,$89,$regFree1)|0); - HEAP32[$r1>>2] = $90; - $91 = HEAP32[$v>>2]|0; - $92 = HEAP32[$op>>2]|0; - $93 = HEAP32[$r1>>2]|0; - $94 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($91,$92,$93,$94)|0); + $91 = HEAP32[$0>>2]|0; + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 12|0); + $94 = HEAP32[$93>>2]|0; + $95 = (_sqlite3ExprCodeTemp($91,$94,$regFree1)|0); + HEAP32[$r1>>2] = $95; + $96 = HEAP32[$v>>2]|0; + $97 = HEAP32[$op>>2]|0; + $98 = HEAP32[$r1>>2]|0; + $99 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($96,$97,$98,$99)|0); break; } case 32: { - $95 = HEAP32[$0>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = HEAP32[$2>>2]|0; - $98 = HEAP32[$3>>2]|0; - _exprCodeBetween($95,$96,$97,0,$98); + $100 = HEAP32[$0>>2]|0; + $101 = HEAP32[$1>>2]|0; + $102 = HEAP32[$2>>2]|0; + $103 = HEAP32[$3>>2]|0; + _exprCodeBetween($100,$101,$102,133,$103); break; } case 33: { - $99 = HEAP32[$3>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$0>>2]|0; - $102 = HEAP32[$1>>2]|0; - $103 = HEAP32[$2>>2]|0; - $104 = HEAP32[$2>>2]|0; - _sqlite3ExprCodeIN($101,$102,$103,$104); + $104 = HEAP32[$3>>2]|0; + $105 = ($104|0)!=(0); + if ($105) { + $106 = HEAP32[$0>>2]|0; + $107 = HEAP32[$1>>2]|0; + $108 = HEAP32[$2>>2]|0; + $109 = HEAP32[$2>>2]|0; + _sqlite3ExprCodeIN($106,$107,$108,$109); break L4; } else { - $105 = HEAP32[$v>>2]|0; - $106 = (_sqlite3VdbeMakeLabel($105)|0); - HEAP32[$destIfNull>>2] = $106; - $107 = HEAP32[$0>>2]|0; - $108 = HEAP32[$1>>2]|0; - $109 = HEAP32[$2>>2]|0; - $110 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($107,$108,$109,$110); - $111 = HEAP32[$v>>2]|0; - $112 = HEAP32[$destIfNull>>2]|0; - _sqlite3VdbeResolveLabel($111,$112); + $110 = HEAP32[$v>>2]|0; + $111 = (_sqlite3VdbeMakeLabel($110)|0); + HEAP32[$destIfNull>>2] = $111; + $112 = HEAP32[$0>>2]|0; + $113 = HEAP32[$1>>2]|0; + $114 = HEAP32[$2>>2]|0; + $115 = HEAP32[$destIfNull>>2]|0; + _sqlite3ExprCodeIN($112,$113,$114,$115); + $116 = HEAP32[$v>>2]|0; + $117 = HEAP32[$destIfNull>>2]|0; + _sqlite3VdbeResolveLabel($116,$117); break L4; } break; } default: { - $113 = HEAP32[$1>>2]|0; - $114 = (_exprAlwaysFalse($113)|0); - $115 = ($114|0)!=(0); - if ($115) { - $116 = HEAP32[$v>>2]|0; - $117 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($116,$117)|0); - break L4; - } - $118 = HEAP32[$1>>2]|0; - $119 = (_exprAlwaysTrue($118)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - $121 = HEAP32[$0>>2]|0; - $122 = HEAP32[$1>>2]|0; - $123 = (_sqlite3ExprCodeTemp($121,$122,$regFree1)|0); - HEAP32[$r1>>2] = $123; - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$r1>>2]|0; - $126 = HEAP32[$2>>2]|0; - $127 = HEAP32[$3>>2]|0; - $128 = ($127|0)!=(0); - $129 = $128&1; - (_sqlite3VdbeAddOp3($124,22,$125,$126,$129)|0); - } + label = 14; } } } while(0); if ((label|0) == 7) { - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3ExprCodeTemp($64,$67,$regFree1)|0); - HEAP32[$r1>>2] = $68; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 16|0); - $72 = HEAP32[$71>>2]|0; - $73 = (_sqlite3ExprCodeTemp($69,$72,$regFree2)|0); - HEAP32[$r2>>2] = $73; - $74 = HEAP32[$0>>2]|0; - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 12|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$op>>2]|0; - $82 = HEAP32[$r1>>2]|0; - $83 = HEAP32[$r2>>2]|0; - $84 = HEAP32[$2>>2]|0; - $85 = HEAP32[$3>>2]|0; - (_codeCompare($74,$77,$80,$81,$82,$83,$84,$85)|0); + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 12|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_sqlite3ExprIsVector($66)|0); + $68 = ($67|0)!=(0); + if ($68) { + label = 14; + } else { + $69 = HEAP32[$0>>2]|0; + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 12|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3ExprCodeTemp($69,$72,$regFree1)|0); + HEAP32[$r1>>2] = $73; + $74 = HEAP32[$0>>2]|0; + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 16|0); + $77 = HEAP32[$76>>2]|0; + $78 = (_sqlite3ExprCodeTemp($74,$77,$regFree2)|0); + HEAP32[$r2>>2] = $78; + $79 = HEAP32[$0>>2]|0; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = HEAP32[$1>>2]|0; + $84 = ((($83)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$op>>2]|0; + $87 = HEAP32[$r1>>2]|0; + $88 = HEAP32[$r2>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = HEAP32[$3>>2]|0; + (_codeCompare($79,$82,$85,$86,$87,$88,$89,$90)|0); + } } - $130 = HEAP32[$0>>2]|0; - $131 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($130,$131); - $132 = HEAP32[$0>>2]|0; - $133 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($132,$133); + do { + if ((label|0) == 14) { + $118 = HEAP32[$1>>2]|0; + $119 = (_exprAlwaysFalse($118)|0); + $120 = ($119|0)!=(0); + if ($120) { + $121 = HEAP32[$v>>2]|0; + $122 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($121,$122)|0); + break; + } + $123 = HEAP32[$1>>2]|0; + $124 = (_exprAlwaysTrue($123)|0); + $125 = ($124|0)!=(0); + if (!($125)) { + $126 = HEAP32[$0>>2]|0; + $127 = HEAP32[$1>>2]|0; + $128 = (_sqlite3ExprCodeTemp($126,$127,$regFree1)|0); + HEAP32[$r1>>2] = $128; + $129 = HEAP32[$v>>2]|0; + $130 = HEAP32[$r1>>2]|0; + $131 = HEAP32[$2>>2]|0; + $132 = HEAP32[$3>>2]|0; + $133 = ($132|0)!=(0); + $134 = $133&1; + (_sqlite3VdbeAddOp3($129,22,$130,$131,$134)|0); + } + } + } while(0); + $135 = HEAP32[$0>>2]|0; + $136 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($135,$136); + $137 = HEAP32[$0>>2]|0; + $138 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($137,$138); STACKTOP = sp;return; } function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { @@ -155621,12 +157487,13 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { $dest = $dest|0; $jumpIfNull = $jumpIfNull|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0, $destIfFalse = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0, $destIfFalse = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0; + var $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 48|0; @@ -155666,270 +157533,201 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { $13 = $12&255; HEAP32[$op>>2] = $13; $14 = HEAP32[$op>>2]|0; - L4: do { - switch ($14|0) { - case 28: { - $15 = HEAP32[$v>>2]|0; - $16 = (_sqlite3VdbeMakeLabel($15)|0); - HEAP32[$d2>>2] = $16; - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$d2>>2]|0; - $22 = HEAP32[$3>>2]|0; - $23 = $22 ^ 16; - _sqlite3ExprIfFalse($17,$20,$21,$23); - $24 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($24); - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$2>>2]|0; - $30 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($25,$28,$29,$30); - $31 = HEAP32[$v>>2]|0; - $32 = HEAP32[$d2>>2]|0; - _sqlite3VdbeResolveLabel($31,$32); - $33 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($33); - break; - } - case 27: { - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($34,$37,$38,$39); - $40 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePush($40); - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 16|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$2>>2]|0; - $46 = HEAP32[$3>>2]|0; - _sqlite3ExprIfTrue($41,$44,$45,$46); - $47 = HEAP32[$0>>2]|0; - _sqlite3ExprCachePop($47); - break; - } - case 19: { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$3>>2]|0; - _sqlite3ExprIfFalse($48,$51,$52,$53); - break; - } - case 148: case 29: { - $54 = HEAP32[$op>>2]|0; - $55 = ($54|0)==(29); - $56 = $55 ? 37 : 36; - HEAP32[$op>>2] = $56; - HEAP32[$3>>2] = 128; - label = 7; - break; - } - case 37: case 36: case 41: case 38: case 39: case 40: { - label = 7; - break; - } - case 35: case 34: { - $79 = HEAP32[$0>>2]|0; - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = (_sqlite3ExprCodeTemp($79,$82,$regFree1)|0); - HEAP32[$r1>>2] = $83; - $84 = HEAP32[$v>>2]|0; - $85 = HEAP32[$op>>2]|0; - $86 = HEAP32[$r1>>2]|0; - $87 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($84,$85,$86,$87)|0); - break; - } - case 32: { - $88 = HEAP32[$0>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = HEAP32[$2>>2]|0; - $91 = HEAP32[$3>>2]|0; - _exprCodeBetween($88,$89,$90,1,$91); - break; - } - case 33: { - $92 = HEAP32[$v>>2]|0; - $93 = (_sqlite3VdbeMakeLabel($92)|0); - HEAP32[$destIfFalse>>2] = $93; - $94 = HEAP32[$3>>2]|0; - $95 = ($94|0)!=(0); - $96 = HEAP32[$2>>2]|0; - $97 = HEAP32[$destIfFalse>>2]|0; - $98 = $95 ? $96 : $97; - HEAP32[$destIfNull>>2] = $98; - $99 = HEAP32[$0>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = HEAP32[$destIfFalse>>2]|0; - $102 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($99,$100,$101,$102); - $103 = HEAP32[$v>>2]|0; - $104 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($103,$104)|0); - $105 = HEAP32[$v>>2]|0; - $106 = HEAP32[$destIfFalse>>2]|0; - _sqlite3VdbeResolveLabel($105,$106); - break; + switch ($14|0) { + case 28: { + $15 = HEAP32[$v>>2]|0; + $16 = (_sqlite3VdbeMakeLabel($15)|0); + HEAP32[$d2>>2] = $16; + $17 = HEAP32[$0>>2]|0; + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$d2>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = $22 ^ 16; + _sqlite3ExprIfFalse($17,$20,$21,$23); + $24 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePush($24); + $25 = HEAP32[$0>>2]|0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _sqlite3ExprIfTrue($25,$28,$29,$30); + $31 = HEAP32[$v>>2]|0; + $32 = HEAP32[$d2>>2]|0; + _sqlite3VdbeResolveLabel($31,$32); + $33 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePop($33); + break; + } + case 27: { + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$1>>2]|0; + $36 = ((($35)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + _sqlite3ExprIfTrue($34,$37,$38,$39); + $40 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePush($40); + $41 = HEAP32[$0>>2]|0; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$2>>2]|0; + $46 = HEAP32[$3>>2]|0; + _sqlite3ExprIfTrue($41,$44,$45,$46); + $47 = HEAP32[$0>>2]|0; + _sqlite3ExprCachePop($47); + break; + } + case 19: { + $48 = HEAP32[$0>>2]|0; + $49 = HEAP32[$1>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$3>>2]|0; + _sqlite3ExprIfFalse($48,$51,$52,$53); + break; + } + case 148: case 29: { + $54 = HEAP32[$op>>2]|0; + $55 = ($54|0)==(29); + $56 = $55 ? 37 : 36; + HEAP32[$op>>2] = $56; + HEAP32[$3>>2] = 128; + label = 7; + break; + } + case 37: case 36: case 41: case 38: case 39: case 40: { + label = 7; + break; + } + case 35: case 34: { + $84 = HEAP32[$0>>2]|0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 12|0); + $87 = HEAP32[$86>>2]|0; + $88 = (_sqlite3ExprCodeTemp($84,$87,$regFree1)|0); + HEAP32[$r1>>2] = $88; + $89 = HEAP32[$v>>2]|0; + $90 = HEAP32[$op>>2]|0; + $91 = HEAP32[$r1>>2]|0; + $92 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($89,$90,$91,$92)|0); + break; + } + case 32: { + $93 = HEAP32[$0>>2]|0; + $94 = HEAP32[$1>>2]|0; + $95 = HEAP32[$2>>2]|0; + $96 = HEAP32[$3>>2]|0; + _exprCodeBetween($93,$94,$95,134,$96); + break; + } + case 33: { + $97 = HEAP32[$v>>2]|0; + $98 = (_sqlite3VdbeMakeLabel($97)|0); + HEAP32[$destIfFalse>>2] = $98; + $99 = HEAP32[$3>>2]|0; + $100 = ($99|0)!=(0); + $101 = HEAP32[$2>>2]|0; + $102 = HEAP32[$destIfFalse>>2]|0; + $103 = $100 ? $101 : $102; + HEAP32[$destIfNull>>2] = $103; + $104 = HEAP32[$0>>2]|0; + $105 = HEAP32[$1>>2]|0; + $106 = HEAP32[$destIfFalse>>2]|0; + $107 = HEAP32[$destIfNull>>2]|0; + _sqlite3ExprCodeIN($104,$105,$106,$107); + $108 = HEAP32[$v>>2]|0; + $109 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($108,$109)|0); + $110 = HEAP32[$v>>2]|0; + $111 = HEAP32[$destIfFalse>>2]|0; + _sqlite3VdbeResolveLabel($110,$111); + break; + } + default: { + label = 12; + } + } + if ((label|0) == 7) { + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_sqlite3ExprIsVector($59)|0); + $61 = ($60|0)!=(0); + if ($61) { + label = 12; + } else { + $62 = HEAP32[$0>>2]|0; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3ExprCodeTemp($62,$65,$regFree1)|0); + HEAP32[$r1>>2] = $66; + $67 = HEAP32[$0>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 16|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3ExprCodeTemp($67,$70,$regFree2)|0); + HEAP32[$r2>>2] = $71; + $72 = HEAP32[$0>>2]|0; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + $76 = HEAP32[$1>>2]|0; + $77 = ((($76)) + 16|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$op>>2]|0; + $80 = HEAP32[$r1>>2]|0; + $81 = HEAP32[$r2>>2]|0; + $82 = HEAP32[$2>>2]|0; + $83 = HEAP32[$3>>2]|0; + (_codeCompare($72,$75,$78,$79,$80,$81,$82,$83)|0); } - default: { - $107 = HEAP32[$1>>2]|0; - $108 = (_exprAlwaysTrue($107)|0); - $109 = ($108|0)!=(0); - if ($109) { - $110 = HEAP32[$v>>2]|0; - $111 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($110,$111)|0); - break L4; - } + } + do { + if ((label|0) == 12) { $112 = HEAP32[$1>>2]|0; - $113 = (_exprAlwaysFalse($112)|0); + $113 = (_exprAlwaysTrue($112)|0); $114 = ($113|0)!=(0); - if (!($114)) { - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = (_sqlite3ExprCodeTemp($115,$116,$regFree1)|0); - HEAP32[$r1>>2] = $117; - $118 = HEAP32[$v>>2]|0; - $119 = HEAP32[$r1>>2]|0; - $120 = HEAP32[$2>>2]|0; - $121 = HEAP32[$3>>2]|0; - $122 = ($121|0)!=(0); - $123 = $122&1; - (_sqlite3VdbeAddOp3($118,21,$119,$120,$123)|0); + if ($114) { + $115 = HEAP32[$v>>2]|0; + $116 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($115,$116)|0); + break; + } + $117 = HEAP32[$1>>2]|0; + $118 = (_exprAlwaysFalse($117)|0); + $119 = ($118|0)!=(0); + if (!($119)) { + $120 = HEAP32[$0>>2]|0; + $121 = HEAP32[$1>>2]|0; + $122 = (_sqlite3ExprCodeTemp($120,$121,$regFree1)|0); + HEAP32[$r1>>2] = $122; + $123 = HEAP32[$v>>2]|0; + $124 = HEAP32[$r1>>2]|0; + $125 = HEAP32[$2>>2]|0; + $126 = HEAP32[$3>>2]|0; + $127 = ($126|0)!=(0); + $128 = $127&1; + (_sqlite3VdbeAddOp3($123,21,$124,$125,$128)|0); } - } } } while(0); - if ((label|0) == 7) { - $57 = HEAP32[$0>>2]|0; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 12|0); - $60 = HEAP32[$59>>2]|0; - $61 = (_sqlite3ExprCodeTemp($57,$60,$regFree1)|0); - HEAP32[$r1>>2] = $61; - $62 = HEAP32[$0>>2]|0; - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3ExprCodeTemp($62,$65,$regFree2)|0); - HEAP32[$r2>>2] = $66; - $67 = HEAP32[$0>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$1>>2]|0; - $72 = ((($71)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$op>>2]|0; - $75 = HEAP32[$r1>>2]|0; - $76 = HEAP32[$r2>>2]|0; - $77 = HEAP32[$2>>2]|0; - $78 = HEAP32[$3>>2]|0; - (_codeCompare($67,$70,$73,$74,$75,$76,$77,$78)|0); - } - $124 = HEAP32[$0>>2]|0; - $125 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($124,$125); - $126 = HEAP32[$0>>2]|0; - $127 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($126,$127); + $129 = HEAP32[$0>>2]|0; + $130 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($129,$130); + $131 = HEAP32[$0>>2]|0; + $132 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($131,$132); STACKTOP = sp;return; } -function _exprCodeBetween($pParse,$pExpr,$dest,$jumpIfTrue,$jumpIfNull) { - $pParse = $pParse|0; - $pExpr = $pExpr|0; - $dest = $dest|0; - $jumpIfTrue = $jumpIfTrue|0; - $jumpIfNull = $jumpIfNull|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $compLeft = 0, $compRight = 0, $exprAnd = 0, $exprX = 0; - var $regFree1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 216|0; - $1 = sp + 212|0; - $2 = sp + 208|0; - $3 = sp + 204|0; - $4 = sp + 200|0; - $exprAnd = sp + 152|0; - $compLeft = sp + 104|0; - $compRight = sp + 56|0; - $exprX = sp + 8|0; - $regFree1 = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pExpr; - HEAP32[$2>>2] = $dest; - HEAP32[$3>>2] = $jumpIfTrue; - HEAP32[$4>>2] = $jumpIfNull; - HEAP32[$regFree1>>2] = 0; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - dest=$exprX; src=$7; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP8[$exprAnd>>0] = 28; - $8 = ((($exprAnd)) + 12|0); - HEAP32[$8>>2] = $compLeft; - $9 = ((($exprAnd)) + 16|0); - HEAP32[$9>>2] = $compRight; - HEAP8[$compLeft>>0] = 41; - $10 = ((($compLeft)) + 12|0); - HEAP32[$10>>2] = $exprX; - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ((($compLeft)) + 16|0); - HEAP32[$17>>2] = $16; - HEAP8[$compRight>>0] = 39; - $18 = ((($compRight)) + 12|0); - HEAP32[$18>>2] = $exprX; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($23)) + 20|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($compRight)) + 16|0); - HEAP32[$26>>2] = $25; - $27 = HEAP32[$0>>2]|0; - $28 = (_sqlite3ExprCodeTemp($27,$exprX,$regFree1)|0); - _exprToRegister($exprX,$28); - $29 = HEAP32[$3>>2]|0; - $30 = ($29|0)!=(0); - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$2>>2]|0; - $33 = HEAP32[$4>>2]|0; - if ($30) { - _sqlite3ExprIfTrue($31,$exprAnd,$32,$33); - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($34,$35); - STACKTOP = sp;return; - } else { - _sqlite3ExprIfFalse($31,$exprAnd,$32,$33); - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($34,$35); - STACKTOP = sp;return; - } -} function _exprAlwaysTrue($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $v = 0, label = 0, sp = 0; @@ -155967,297 +157765,749 @@ function _exprAlwaysTrue($p) { $13 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($13|0); } -function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { +function _sqlite3ExprCheckIN($pParse,$pIn) { + $pParse = $pParse|0; + $pIn = $pIn|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nVector = 0, $vararg_buffer = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $nVector = sp + 4|0; + HEAP32[$1>>2] = $pParse; + HEAP32[$2>>2] = $pIn; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3ExprVectorSize($5)|0); + HEAP32[$nVector>>2] = $6; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 2048; + $11 = ($10|0)!=(0); + $12 = HEAP32[$nVector>>2]|0; + if ($11) { + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($12|0)!=($17|0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$nVector>>2]|0; + _sqlite3SubselectError($19,$24,$25); + HEAP32[$0>>2] = 1; + $36 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($36|0); + } + } else { + $26 = ($12|0)!=(1); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 12|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = $31 & 2048; + $33 = ($32|0)!=(0); + $34 = HEAP32[$1>>2]|0; + if ($33) { + $35 = HEAP32[$nVector>>2]|0; + _sqlite3SubselectError($34,$35,1); + } else { + _sqlite3ErrorMsg($34,29838,$vararg_buffer); + } + HEAP32[$0>>2] = 1; + $36 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($36|0); + } + } + HEAP32[$0>>2] = 0; + $36 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($36|0); +} +function _exprINAffinity($pParse,$pExpr) { + $pParse = $pParse|0; + $pExpr = $pExpr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $nVal = 0; + var $pA = 0, $pLeft = 0, $pSelect = 0, $zRet = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $pLeft = sp + 20|0; + $nVal = sp + 16|0; + $pSelect = sp + 12|0; + $zRet = sp + 8|0; + $i = sp + 4|0; + $pA = sp; + $a = sp + 32|0; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $pExpr; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 12|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pLeft>>2] = $4; + $5 = HEAP32[$pLeft>>2]|0; + $6 = (_sqlite3ExprVectorSize($5)|0); + HEAP32[$nVal>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 2048; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14; + } else { + $15 = 0; + } + HEAP32[$pSelect>>2] = $15; + $16 = HEAP32[$0>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = HEAP32[$nVal>>2]|0; + $19 = (($18) + 1)|0; + $20 = ($19|0)<(0); + $21 = $20 << 31 >> 31; + $22 = (_sqlite3DbMallocZero($17,$19,$21)|0); + HEAP32[$zRet>>2] = $22; + $23 = HEAP32[$zRet>>2]|0; + $24 = ($23|0)!=(0|0); + if (!($24)) { + $56 = HEAP32[$zRet>>2]|0; + STACKTOP = sp;return ($56|0); + } + HEAP32[$i>>2] = 0; + while(1) { + $25 = HEAP32[$i>>2]|0; + $26 = HEAP32[$nVal>>2]|0; + $27 = ($25|0)<($26|0); + if (!($27)) { + break; + } + $28 = HEAP32[$pLeft>>2]|0; + $29 = HEAP32[$i>>2]|0; + $30 = (_sqlite3VectorFieldSubexpr($28,$29)|0); + HEAP32[$pA>>2] = $30; + $31 = HEAP32[$pA>>2]|0; + $32 = (_sqlite3ExprAffinity($31)|0); + HEAP8[$a>>0] = $32; + $33 = HEAP32[$pSelect>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$i>>2]|0; + $36 = HEAP32[$pSelect>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + (($35*20)|0)|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP8[$a>>0]|0; + $43 = (_sqlite3CompareAffinity($41,$42)|0); + $44 = HEAP32[$i>>2]|0; + $45 = HEAP32[$zRet>>2]|0; + $46 = (($45) + ($44)|0); + HEAP8[$46>>0] = $43; + } else { + $47 = HEAP8[$a>>0]|0; + $48 = HEAP32[$i>>2]|0; + $49 = HEAP32[$zRet>>2]|0; + $50 = (($49) + ($48)|0); + HEAP8[$50>>0] = $47; + } + $51 = HEAP32[$i>>2]|0; + $52 = (($51) + 1)|0; + HEAP32[$i>>2] = $52; + } + $53 = HEAP32[$nVal>>2]|0; + $54 = HEAP32[$zRet>>2]|0; + $55 = (($54) + ($53)|0); + HEAP8[$55>>0] = 0; + $56 = HEAP32[$zRet>>2]|0; + STACKTOP = sp;return ($56|0); +} +function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull,$aiMap) { $pParse = $pParse|0; $pX = $pX|0; $inFlags = $inFlags|0; $prRhsHasNull = $prRhsHasNull|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $affinity_ok = 0, $db = 0, $eType = 0, $iAddr = 0, $iAddr1 = 0, $iCol = 0, $iDb = 0, $iTab = 0, $mustBeUnique = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pExpr = 0, $pIdx = 0, $pReq = 0, $pTab = 0, $rMayHaveNull = 0; - var $savedNQueryLoop = 0, $v = 0, label = 0, sp = 0; + $aiMap = $aiMap|0; + var $$off = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; + var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; + var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; + var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; + var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; + var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affinity_ok = 0, $cmpaff = 0, $colUsed = 0, $db = 0, $eType = 0, $i = 0, $i2 = 0, $i5 = 0, $iAddr = 0; + var $iAddr4 = 0, $iCol = 0, $iDb = 0, $iTab = 0, $idxaff = 0, $j = 0, $mCol = 0, $mustBeUnique = 0, $n = 0, $nExpr = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pEList = 0, $pEList1 = 0, $pIdx = 0, $pLhs = 0, $pLhs3 = 0, $pReq = 0, $pRhs = 0; + var $pTab = 0, $rMayHaveNull = 0, $savedNQueryLoop = 0, $switch = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 72|0; - $1 = sp + 68|0; - $2 = sp + 64|0; - $3 = sp + 60|0; - $p = sp + 56|0; - $eType = sp + 52|0; - $iTab = sp + 48|0; - $mustBeUnique = sp + 44|0; - $v = sp + 40|0; - $db = sp + 36|0; - $pTab = sp + 32|0; - $pExpr = sp + 28|0; - $iCol = sp + 78|0; - $iDb = sp + 76|0; - $iAddr = sp + 24|0; - $pIdx = sp + 20|0; - $pReq = sp + 16|0; - $affinity_ok = sp + 12|0; - $iAddr1 = sp + 8|0; - $savedNQueryLoop = sp + 4|0; - $rMayHaveNull = sp; + STACKTOP = STACKTOP + 160|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 140|0; + $1 = sp + 136|0; + $2 = sp + 132|0; + $3 = sp + 128|0; + $4 = sp + 124|0; + $p = sp + 120|0; + $eType = sp + 116|0; + $iTab = sp + 112|0; + $mustBeUnique = sp + 108|0; + $v = sp + 104|0; + $i = sp + 100|0; + $pEList = sp + 96|0; + $db = sp + 92|0; + $pTab = sp + 88|0; + $iDb = sp + 144|0; + $pEList1 = sp + 84|0; + $nExpr = sp + 80|0; + $iAddr = sp + 76|0; + $pIdx = sp + 72|0; + $affinity_ok = sp + 68|0; + $i2 = sp + 64|0; + $pLhs = sp + 60|0; + $iCol = sp + 56|0; + $idxaff = sp + 147|0; + $cmpaff = sp + 146|0; + $colUsed = sp + 8|0; + $mCol = sp; + $pLhs3 = sp + 52|0; + $pRhs = sp + 48|0; + $pReq = sp + 44|0; + $j = sp + 40|0; + $iAddr4 = sp + 36|0; + $savedNQueryLoop = sp + 32|0; + $rMayHaveNull = sp + 28|0; + $i5 = sp + 24|0; + $n = sp + 20|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pX; HEAP32[$2>>2] = $inFlags; HEAP32[$3>>2] = $prRhsHasNull; + HEAP32[$4>>2] = $aiMap; HEAP32[$eType>>2] = 0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 72|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$5>>2] = $7; - HEAP32[$iTab>>2] = $6; - $8 = HEAP32[$0>>2]|0; - $9 = (_sqlite3GetVdbe($8)|0); - HEAP32[$v>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = $10 & 4; - $12 = ($11|0)!=(0); - $13 = $12&1; - HEAP32[$mustBeUnique>>2] = $13; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 68|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)==(0); - L1: do { - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = (_isCandidateForInOpt($18)|0); - HEAP32[$p>>2] = $19; - $20 = ($19|0)!=(0|0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$21>>2]|0; - HEAP32[$db>>2] = $22; - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 28|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($25)) + 8|0); - $27 = ((($26)) + 16|0); + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + 1)|0; + HEAP32[$6>>2] = $8; + HEAP32[$iTab>>2] = $7; + $9 = HEAP32[$0>>2]|0; + $10 = (_sqlite3GetVdbe($9)|0); + HEAP32[$v>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = $11 & 4; + $13 = ($12|0)!=(0); + $14 = $13&1; + HEAP32[$mustBeUnique>>2] = $14; + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)!=(0|0); + if ($16) { + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 & 2048; + $21 = ($20|0)!=(0); + if ($21) { + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 20|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$24>>2]|0; + HEAP32[$pEList>>2] = $25; + HEAP32[$i>>2] = 0; + while(1) { + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$pEList>>2]|0; $28 = HEAP32[$27>>2]|0; - HEAP32[$pTab>>2] = $28; - $29 = HEAP32[$p>>2]|0; - $30 = HEAP32[$29>>2]|0; - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; + $29 = ($26|0)<($28|0); + if (!($29)) { + break; + } + $30 = HEAP32[$i>>2]|0; + $31 = HEAP32[$pEList>>2]|0; + $32 = ((($31)) + 4|0); $33 = HEAP32[$32>>2]|0; - HEAP32[$pExpr>>2] = $33; - $34 = HEAP32[$pExpr>>2]|0; - $35 = ((($34)) + 32|0); - $36 = HEAP16[$35>>1]|0; - HEAP16[$iCol>>1] = $36; - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$pTab>>2]|0; - $39 = ((($38)) + 64|0); - $40 = HEAP32[$39>>2]|0; - $41 = (_sqlite3SchemaToIndex($37,$40)|0); - $42 = $41&65535; - HEAP16[$iDb>>1] = $42; - $43 = HEAP32[$0>>2]|0; - $44 = HEAP16[$iDb>>1]|0; - $45 = $44 << 16 >> 16; - _sqlite3CodeVerifySchema($43,$45); - $46 = HEAP32[$0>>2]|0; - $47 = HEAP16[$iDb>>1]|0; - $48 = $47 << 16 >> 16; - $49 = HEAP32[$pTab>>2]|0; - $50 = ((($49)) + 28|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$pTab>>2]|0; - $53 = HEAP32[$52>>2]|0; - _sqlite3TableLock($46,$48,$51,0,$53); - $54 = HEAP16[$iCol>>1]|0; - $55 = $54 << 16 >> 16; - $56 = ($55|0)<(0); - $57 = HEAP32[$0>>2]|0; - if ($56) { - $58 = (_sqlite3CodeOnce($57)|0); - HEAP32[$iAddr>>2] = $58; - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$iTab>>2]|0; - $61 = HEAP16[$iDb>>1]|0; - $62 = $61 << 16 >> 16; - $63 = HEAP32[$pTab>>2]|0; - _sqlite3OpenTable($59,$60,$62,$63,102); - HEAP32[$eType>>2] = 1; - $64 = HEAP32[$v>>2]|0; - $65 = HEAP32[$iAddr>>2]|0; - _sqlite3VdbeJumpHere($64,$65); + $34 = (($33) + (($30*20)|0)|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3ExprCanBeNull($35)|0); + $37 = ($36|0)!=(0); + if ($37) { break; } - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 12|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$pExpr>>2]|0; - $70 = (_sqlite3BinaryCompareCollSeq($57,$68,$69)|0); - HEAP32[$pReq>>2] = $70; - $71 = HEAP32[$1>>2]|0; - $72 = HEAP16[$iCol>>1]|0; - $73 = $72 << 16 >> 16; - $74 = HEAP32[$pTab>>2]|0; - $75 = ((($74)) + 4|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) + ($73<<4)|0); - $78 = ((($77)) + 13|0); - $79 = HEAP8[$78>>0]|0; - $80 = (_sqlite3IndexAffinityOk($71,$79)|0); - HEAP32[$affinity_ok>>2] = $80; - $81 = HEAP32[$pTab>>2]|0; - $82 = ((($81)) + 8|0); - $83 = HEAP32[$82>>2]|0; - HEAP32[$pIdx>>2] = $83; + $38 = HEAP32[$i>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$i>>2] = $39; + } + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$pEList>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ($40|0)==($42|0); + if ($43) { + HEAP32[$3>>2] = 0; + } + } + } + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)==(0); + L11: do { + if ($47) { + $48 = HEAP32[$1>>2]|0; + $49 = (_isCandidateForInOpt($48)|0); + HEAP32[$p>>2] = $49; + $50 = ($49|0)!=(0|0); + if ($50) { + $51 = HEAP32[$0>>2]|0; + $52 = HEAP32[$51>>2]|0; + HEAP32[$db>>2] = $52; + $53 = HEAP32[$p>>2]|0; + $54 = HEAP32[$53>>2]|0; + HEAP32[$pEList1>>2] = $54; + $55 = HEAP32[$pEList1>>2]|0; + $56 = HEAP32[$55>>2]|0; + HEAP32[$nExpr>>2] = $56; + $57 = HEAP32[$p>>2]|0; + $58 = ((($57)) + 28|0); + $59 = HEAP32[$58>>2]|0; + $60 = ((($59)) + 8|0); + $61 = ((($60)) + 16|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$pTab>>2] = $62; + $63 = HEAP32[$db>>2]|0; + $64 = HEAP32[$pTab>>2]|0; + $65 = ((($64)) + 64|0); + $66 = HEAP32[$65>>2]|0; + $67 = (_sqlite3SchemaToIndex($63,$66)|0); + $68 = $67&65535; + HEAP16[$iDb>>1] = $68; + $69 = HEAP32[$0>>2]|0; + $70 = HEAP16[$iDb>>1]|0; + $71 = $70 << 16 >> 16; + _sqlite3CodeVerifySchema($69,$71); + $72 = HEAP32[$0>>2]|0; + $73 = HEAP16[$iDb>>1]|0; + $74 = $73 << 16 >> 16; + $75 = HEAP32[$pTab>>2]|0; + $76 = ((($75)) + 28|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$pTab>>2]|0; + $79 = HEAP32[$78>>2]|0; + _sqlite3TableLock($72,$74,$77,0,$79); + $80 = HEAP32[$nExpr>>2]|0; + $81 = ($80|0)==(1); + if ($81) { + $82 = HEAP32[$pEList1>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$84>>2]|0; + $86 = ((($85)) + 32|0); + $87 = HEAP16[$86>>1]|0; + $88 = $87 << 16 >> 16; + $89 = ($88|0)<(0); + if ($89) { + $90 = HEAP32[$v>>2]|0; + $91 = (_sqlite3VdbeAddOp0($90,20)|0); + HEAP32[$iAddr>>2] = $91; + $92 = HEAP32[$0>>2]|0; + $93 = HEAP32[$iTab>>2]|0; + $94 = HEAP16[$iDb>>1]|0; + $95 = $94 << 16 >> 16; + $96 = HEAP32[$pTab>>2]|0; + _sqlite3OpenTable($92,$93,$95,$96,104); + HEAP32[$eType>>2] = 1; + $97 = HEAP32[$v>>2]|0; + $98 = HEAP32[$iAddr>>2]|0; + _sqlite3VdbeJumpHere($97,$98); + break; + } + } + HEAP32[$affinity_ok>>2] = 1; + HEAP32[$i2>>2] = 0; while(1) { - $84 = HEAP32[$pIdx>>2]|0; - $85 = ($84|0)!=(0|0); - $86 = HEAP32[$eType>>2]|0; - $87 = ($86|0)==(0); - $or$cond = $85 & $87; - $88 = HEAP32[$affinity_ok>>2]|0; - $89 = ($88|0)!=(0); - $or$cond3 = $or$cond & $89; - if (!($or$cond3)) { - break L1; + $99 = HEAP32[$i2>>2]|0; + $100 = HEAP32[$nExpr>>2]|0; + $101 = ($99|0)<($100|0); + $102 = HEAP32[$affinity_ok>>2]|0; + $103 = ($102|0)!=(0); + $104 = $101 ? $103 : 0; + if (!($104)) { + break; } - $90 = HEAP32[$pIdx>>2]|0; - $91 = ((($90)) + 4|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP16[$92>>1]|0; - $94 = $93 << 16 >> 16; - $95 = HEAP16[$iCol>>1]|0; - $96 = $95 << 16 >> 16; - $97 = ($94|0)==($96|0); - do { - if ($97) { - $98 = HEAP32[$db>>2]|0; - $99 = HEAP32[$db>>2]|0; - $100 = ((($99)) + 66|0); - $101 = HEAP8[$100>>0]|0; - $102 = HEAP32[$pIdx>>2]|0; - $103 = ((($102)) + 32|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$104>>2]|0; - $106 = (_sqlite3FindCollSeq($98,$101,$105,0)|0); - $107 = HEAP32[$pReq>>2]|0; - $108 = ($106|0)==($107|0); - if ($108) { - $109 = HEAP32[$mustBeUnique>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - $111 = HEAP32[$pIdx>>2]|0; - $112 = ((($111)) + 50|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113&65535; - $115 = ($114|0)==(1); - if (!($115)) { - break; + $105 = HEAP32[$1>>2]|0; + $106 = ((($105)) + 12|0); + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$i2>>2]|0; + $109 = (_sqlite3VectorFieldSubexpr($107,$108)|0); + HEAP32[$pLhs>>2] = $109; + $110 = HEAP32[$i2>>2]|0; + $111 = HEAP32[$pEList1>>2]|0; + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + $114 = (($113) + (($110*20)|0)|0); + $115 = HEAP32[$114>>2]|0; + $116 = ((($115)) + 32|0); + $117 = HEAP16[$116>>1]|0; + $118 = $117 << 16 >> 16; + HEAP32[$iCol>>2] = $118; + $119 = HEAP32[$pTab>>2]|0; + $120 = HEAP32[$iCol>>2]|0; + $121 = (_sqlite3TableColumnAffinity($119,$120)|0); + HEAP8[$idxaff>>0] = $121; + $122 = HEAP32[$pLhs>>2]|0; + $123 = HEAP8[$idxaff>>0]|0; + $124 = (_sqlite3CompareAffinity($122,$123)|0); + HEAP8[$cmpaff>>0] = $124; + $125 = HEAP8[$cmpaff>>0]|0; + $126 = $125 << 24 >> 24; + $$off = (($126) + -65)|0; + $switch = ($$off>>>0)<(2); + if (!($switch)) { + $127 = HEAP8[$idxaff>>0]|0; + $128 = $127 << 24 >> 24; + $129 = ($128|0)>=(67); + $130 = $129&1; + HEAP32[$affinity_ok>>2] = $130; + } + $131 = HEAP32[$i2>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$i2>>2] = $132; + } + $133 = HEAP32[$affinity_ok>>2]|0; + $134 = ($133|0)!=(0); + if ($134) { + $135 = HEAP32[$pTab>>2]|0; + $136 = ((($135)) + 8|0); + $137 = HEAP32[$136>>2]|0; + HEAP32[$pIdx>>2] = $137; + while(1) { + $138 = HEAP32[$pIdx>>2]|0; + $139 = ($138|0)!=(0|0); + $140 = HEAP32[$eType>>2]|0; + $141 = ($140|0)==(0); + $142 = $139 ? $141 : 0; + if (!($142)) { + break L11; + } + $143 = HEAP32[$pIdx>>2]|0; + $144 = ((($143)) + 52|0); + $145 = HEAP16[$144>>1]|0; + $146 = $145&65535; + $147 = HEAP32[$nExpr>>2]|0; + $148 = ($146|0)<($147|0); + do { + if (!($148)) { + $149 = HEAP32[$pIdx>>2]|0; + $150 = ((($149)) + 52|0); + $151 = HEAP16[$150>>1]|0; + $152 = $151&65535; + $153 = ($152|0)>=(63); + if (!($153)) { + $154 = HEAP32[$mustBeUnique>>2]|0; + $155 = ($154|0)!=(0); + if ($155) { + $156 = HEAP32[$pIdx>>2]|0; + $157 = ((($156)) + 50|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158&65535; + $160 = HEAP32[$nExpr>>2]|0; + $161 = ($159|0)>($160|0); + if ($161) { + break; + } + $162 = HEAP32[$pIdx>>2]|0; + $163 = ((($162)) + 52|0); + $164 = HEAP16[$163>>1]|0; + $165 = $164&65535; + $166 = HEAP32[$nExpr>>2]|0; + $167 = ($165|0)>($166|0); + if ($167) { + $168 = HEAP32[$pIdx>>2]|0; + $169 = ((($168)) + 54|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $172 = ($171|0)!=(0); + if (!($172)) { + break; + } + } } - $116 = HEAP32[$pIdx>>2]|0; - $117 = ((($116)) + 54|0); - $118 = HEAP8[$117>>0]|0; - $119 = $118&255; - $120 = ($119|0)!=(0); - if (!($120)) { - break; + $173 = $colUsed; + $174 = $173; + HEAP32[$174>>2] = 0; + $175 = (($173) + 4)|0; + $176 = $175; + HEAP32[$176>>2] = 0; + HEAP32[$i2>>2] = 0; + while(1) { + $177 = HEAP32[$i2>>2]|0; + $178 = HEAP32[$nExpr>>2]|0; + $179 = ($177|0)<($178|0); + if (!($179)) { + break; + } + $180 = HEAP32[$1>>2]|0; + $181 = ((($180)) + 12|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$i2>>2]|0; + $184 = (_sqlite3VectorFieldSubexpr($182,$183)|0); + HEAP32[$pLhs3>>2] = $184; + $185 = HEAP32[$i2>>2]|0; + $186 = HEAP32[$pEList1>>2]|0; + $187 = ((($186)) + 4|0); + $188 = HEAP32[$187>>2]|0; + $189 = (($188) + (($185*20)|0)|0); + $190 = HEAP32[$189>>2]|0; + HEAP32[$pRhs>>2] = $190; + $191 = HEAP32[$0>>2]|0; + $192 = HEAP32[$pLhs3>>2]|0; + $193 = HEAP32[$pRhs>>2]|0; + $194 = (_sqlite3BinaryCompareCollSeq($191,$192,$193)|0); + HEAP32[$pReq>>2] = $194; + HEAP32[$j>>2] = 0; + while(1) { + $195 = HEAP32[$j>>2]|0; + $196 = HEAP32[$nExpr>>2]|0; + $197 = ($195|0)<($196|0); + if (!($197)) { + break; + } + $198 = HEAP32[$j>>2]|0; + $199 = HEAP32[$pIdx>>2]|0; + $200 = ((($199)) + 4|0); + $201 = HEAP32[$200>>2]|0; + $202 = (($201) + ($198<<1)|0); + $203 = HEAP16[$202>>1]|0; + $204 = $203 << 16 >> 16; + $205 = HEAP32[$pRhs>>2]|0; + $206 = ((($205)) + 32|0); + $207 = HEAP16[$206>>1]|0; + $208 = $207 << 16 >> 16; + $209 = ($204|0)!=($208|0); + if (!($209)) { + $210 = HEAP32[$pReq>>2]|0; + $211 = ($210|0)!=(0|0); + if (!($211)) { + break; + } + $212 = HEAP32[$pReq>>2]|0; + $213 = HEAP32[$212>>2]|0; + $214 = HEAP32[$j>>2]|0; + $215 = HEAP32[$pIdx>>2]|0; + $216 = ((($215)) + 32|0); + $217 = HEAP32[$216>>2]|0; + $218 = (($217) + ($214<<2)|0); + $219 = HEAP32[$218>>2]|0; + $220 = (_sqlite3StrICmp($213,$219)|0); + $221 = ($220|0)!=(0); + if (!($221)) { + break; + } + } + $222 = HEAP32[$j>>2]|0; + $223 = (($222) + 1)|0; + HEAP32[$j>>2] = $223; + } + $224 = HEAP32[$j>>2]|0; + $225 = HEAP32[$nExpr>>2]|0; + $226 = ($224|0)==($225|0); + if ($226) { + break; + } + $227 = HEAP32[$j>>2]|0; + $228 = (_bitshift64Shl(1,0,($227|0))|0); + $229 = tempRet0; + $230 = $mCol; + $231 = $230; + HEAP32[$231>>2] = $228; + $232 = (($230) + 4)|0; + $233 = $232; + HEAP32[$233>>2] = $229; + $234 = $mCol; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = (($234) + 4)|0; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = $colUsed; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (($240) + 4)|0; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = $236 & $242; + $247 = $239 & $245; + $248 = ($246|0)!=(0); + $249 = ($247|0)!=(0); + $250 = $248 | $249; + if ($250) { + break; + } + $251 = $mCol; + $252 = $251; + $253 = HEAP32[$252>>2]|0; + $254 = (($251) + 4)|0; + $255 = $254; + $256 = HEAP32[$255>>2]|0; + $257 = $colUsed; + $258 = $257; + $259 = HEAP32[$258>>2]|0; + $260 = (($257) + 4)|0; + $261 = $260; + $262 = HEAP32[$261>>2]|0; + $263 = $259 | $253; + $264 = $262 | $256; + $265 = $colUsed; + $266 = $265; + HEAP32[$266>>2] = $263; + $267 = (($265) + 4)|0; + $268 = $267; + HEAP32[$268>>2] = $264; + $269 = HEAP32[$4>>2]|0; + $270 = ($269|0)!=(0|0); + if ($270) { + $271 = HEAP32[$j>>2]|0; + $272 = HEAP32[$i2>>2]|0; + $273 = HEAP32[$4>>2]|0; + $274 = (($273) + ($272<<2)|0); + HEAP32[$274>>2] = $271; + } + $275 = HEAP32[$i2>>2]|0; + $276 = (($275) + 1)|0; + HEAP32[$i2>>2] = $276; } - } - $121 = HEAP32[$0>>2]|0; - $122 = (_sqlite3CodeOnce($121)|0); - HEAP32[$iAddr1>>2] = $122; - $123 = HEAP32[$v>>2]|0; - $124 = HEAP32[$iTab>>2]|0; - $125 = HEAP32[$pIdx>>2]|0; - $126 = ((($125)) + 44|0); - $127 = HEAP32[$126>>2]|0; - $128 = HEAP16[$iDb>>1]|0; - $129 = $128 << 16 >> 16; - (_sqlite3VdbeAddOp3($123,102,$124,$127,$129)|0); - $130 = HEAP32[$0>>2]|0; - $131 = HEAP32[$pIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($130,$131); - $132 = HEAP32[$pIdx>>2]|0; - $133 = ((($132)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = (3 + ($136))|0; - HEAP32[$eType>>2] = $137; - $138 = HEAP32[$3>>2]|0; - $139 = ($138|0)!=(0|0); - if ($139) { - $140 = HEAP16[$iCol>>1]|0; - $141 = $140 << 16 >> 16; - $142 = HEAP32[$pTab>>2]|0; - $143 = ((($142)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = (($144) + ($141<<4)|0); - $146 = ((($145)) + 12|0); - $147 = HEAP8[$146>>0]|0; - $148 = ($147<<24>>24)!=(0); - if (!($148)) { - $149 = HEAP32[$0>>2]|0; - $150 = ((($149)) + 76|0); - $151 = HEAP32[$150>>2]|0; - $152 = (($151) + 1)|0; - HEAP32[$150>>2] = $152; - $153 = HEAP32[$3>>2]|0; - HEAP32[$153>>2] = $152; - $154 = HEAP32[$v>>2]|0; - $155 = HEAP32[$iTab>>2]|0; - $156 = HEAP32[$3>>2]|0; - $157 = HEAP32[$156>>2]|0; - _sqlite3SetHasNullFlag($154,$155,$157); + $277 = $colUsed; + $278 = $277; + $279 = HEAP32[$278>>2]|0; + $280 = (($277) + 4)|0; + $281 = $280; + $282 = HEAP32[$281>>2]|0; + $283 = HEAP32[$nExpr>>2]|0; + $284 = (_bitshift64Shl(1,0,($283|0))|0); + $285 = tempRet0; + $286 = (_i64Subtract(($284|0),($285|0),1,0)|0); + $287 = tempRet0; + $288 = ($279|0)==($286|0); + $289 = ($282|0)==($287|0); + $290 = $288 & $289; + if ($290) { + $291 = HEAP32[$v>>2]|0; + $292 = (_sqlite3VdbeAddOp0($291,20)|0); + HEAP32[$iAddr4>>2] = $292; + $293 = HEAP32[$v>>2]|0; + $294 = HEAP32[$db>>2]|0; + $295 = HEAP32[$pIdx>>2]|0; + $296 = HEAP32[$295>>2]|0; + HEAP32[$vararg_buffer>>2] = $296; + $297 = (_sqlite3MPrintf($294,31166,$vararg_buffer)|0); + (_sqlite3VdbeAddOp4($293,162,0,0,0,$297,-1)|0); + $298 = HEAP32[$v>>2]|0; + $299 = HEAP32[$iTab>>2]|0; + $300 = HEAP32[$pIdx>>2]|0; + $301 = ((($300)) + 44|0); + $302 = HEAP32[$301>>2]|0; + $303 = HEAP16[$iDb>>1]|0; + $304 = $303 << 16 >> 16; + (_sqlite3VdbeAddOp3($298,104,$299,$302,$304)|0); + $305 = HEAP32[$0>>2]|0; + $306 = HEAP32[$pIdx>>2]|0; + _sqlite3VdbeSetP4KeyInfo($305,$306); + $307 = HEAP32[$pIdx>>2]|0; + $308 = ((($307)) + 28|0); + $309 = HEAP32[$308>>2]|0; + $310 = HEAP8[$309>>0]|0; + $311 = $310&255; + $312 = (3 + ($311))|0; + HEAP32[$eType>>2] = $312; + $313 = HEAP32[$3>>2]|0; + $314 = ($313|0)!=(0|0); + if ($314) { + $315 = HEAP32[$0>>2]|0; + $316 = ((($315)) + 44|0); + $317 = HEAP32[$316>>2]|0; + $318 = (($317) + 1)|0; + HEAP32[$316>>2] = $318; + $319 = HEAP32[$3>>2]|0; + HEAP32[$319>>2] = $318; + $320 = HEAP32[$nExpr>>2]|0; + $321 = ($320|0)==(1); + if ($321) { + $322 = HEAP32[$v>>2]|0; + $323 = HEAP32[$iTab>>2]|0; + $324 = HEAP32[$3>>2]|0; + $325 = HEAP32[$324>>2]|0; + _sqlite3SetHasNullFlag($322,$323,$325); + } + } + $326 = HEAP32[$v>>2]|0; + $327 = HEAP32[$iAddr4>>2]|0; + _sqlite3VdbeJumpHere($326,$327); } } - $158 = HEAP32[$v>>2]|0; - $159 = HEAP32[$iAddr1>>2]|0; - _sqlite3VdbeJumpHere($158,$159); } - } - } while(0); - $160 = HEAP32[$pIdx>>2]|0; - $161 = ((($160)) + 20|0); - $162 = HEAP32[$161>>2]|0; - HEAP32[$pIdx>>2] = $162; + } while(0); + $328 = HEAP32[$pIdx>>2]|0; + $329 = ((($328)) + 20|0); + $330 = HEAP32[$329>>2]|0; + HEAP32[$pIdx>>2] = $330; + } } } } } while(0); - $163 = HEAP32[$eType>>2]|0; - $164 = ($163|0)==(0); + $331 = HEAP32[$eType>>2]|0; + $332 = ($331|0)==(0); do { - if ($164) { - $165 = HEAP32[$2>>2]|0; - $166 = $165 & 1; - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$1>>2]|0; - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = $170 & 2048; - $172 = ($171|0)!=(0); - if (!($172)) { - $173 = HEAP32[$1>>2]|0; - $174 = (_sqlite3InRhsIsConstant($173)|0); - $175 = ($174|0)!=(0); - if ($175) { - $176 = HEAP32[$1>>2]|0; - $177 = ((($176)) + 20|0); - $178 = HEAP32[$177>>2]|0; - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)<=(2); - if (!($180)) { + if ($332) { + $333 = HEAP32[$2>>2]|0; + $334 = $333 & 1; + $335 = ($334|0)!=(0); + if ($335) { + $336 = HEAP32[$1>>2]|0; + $337 = ((($336)) + 4|0); + $338 = HEAP32[$337>>2]|0; + $339 = $338 & 2048; + $340 = ($339|0)!=(0); + if (!($340)) { + $341 = HEAP32[$1>>2]|0; + $342 = (_sqlite3InRhsIsConstant($341)|0); + $343 = ($342|0)!=(0); + if ($343) { + $344 = HEAP32[$1>>2]|0; + $345 = ((($344)) + 20|0); + $346 = HEAP32[$345>>2]|0; + $347 = HEAP32[$346>>2]|0; + $348 = ($347|0)<=(2); + if (!($348)) { break; } } @@ -156266,129 +158516,106 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { } } } while(0); - $181 = HEAP32[$eType>>2]|0; - $182 = ($181|0)==(0); - if (!($182)) { - $219 = HEAP32[$iTab>>2]|0; - $220 = HEAP32[$1>>2]|0; - $221 = ((($220)) + 28|0); - HEAP32[$221>>2] = $219; - $222 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($222|0); - } - $183 = HEAP32[$0>>2]|0; - $184 = ((($183)) + 428|0); - $185 = HEAP32[$184>>2]|0; - HEAP32[$savedNQueryLoop>>2] = $185; - HEAP32[$rMayHaveNull>>2] = 0; - HEAP32[$eType>>2] = 2; - $186 = HEAP32[$2>>2]|0; - $187 = $186 & 4; - $188 = ($187|0)!=(0); - if ($188) { - $189 = HEAP32[$0>>2]|0; - $190 = ((($189)) + 428|0); - HEAP32[$190>>2] = 0; - $191 = HEAP32[$1>>2]|0; - $192 = ((($191)) + 12|0); - $193 = HEAP32[$192>>2]|0; - $194 = ((($193)) + 32|0); - $195 = HEAP16[$194>>1]|0; - $196 = $195 << 16 >> 16; - $197 = ($196|0)<(0); - if ($197) { - $198 = HEAP32[$1>>2]|0; - $199 = ((($198)) + 4|0); - $200 = HEAP32[$199>>2]|0; - $201 = $200 & 2048; - $202 = ($201|0)!=(0); - if (!($202)) { - HEAP32[$eType>>2] = 1; + $349 = HEAP32[$eType>>2]|0; + $350 = ($349|0)==(0); + if ($350) { + $351 = HEAP32[$0>>2]|0; + $352 = ((($351)) + 136|0); + $353 = HEAP32[$352>>2]|0; + HEAP32[$savedNQueryLoop>>2] = $353; + HEAP32[$rMayHaveNull>>2] = 0; + HEAP32[$eType>>2] = 2; + $354 = HEAP32[$2>>2]|0; + $355 = $354 & 4; + $356 = ($355|0)!=(0); + if ($356) { + $357 = HEAP32[$0>>2]|0; + $358 = ((($357)) + 136|0); + HEAP32[$358>>2] = 0; + $359 = HEAP32[$1>>2]|0; + $360 = ((($359)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ((($361)) + 32|0); + $363 = HEAP16[$362>>1]|0; + $364 = $363 << 16 >> 16; + $365 = ($364|0)<(0); + if ($365) { + $366 = HEAP32[$1>>2]|0; + $367 = ((($366)) + 4|0); + $368 = HEAP32[$367>>2]|0; + $369 = $368 & 2048; + $370 = ($369|0)!=(0); + if (!($370)) { + HEAP32[$eType>>2] = 1; + } + } + } else { + $371 = HEAP32[$3>>2]|0; + $372 = ($371|0)!=(0|0); + if ($372) { + $373 = HEAP32[$0>>2]|0; + $374 = ((($373)) + 44|0); + $375 = HEAP32[$374>>2]|0; + $376 = (($375) + 1)|0; + HEAP32[$374>>2] = $376; + HEAP32[$rMayHaveNull>>2] = $376; + $377 = HEAP32[$3>>2]|0; + HEAP32[$377>>2] = $376; } } + $378 = HEAP32[$0>>2]|0; + $379 = HEAP32[$1>>2]|0; + $380 = HEAP32[$rMayHaveNull>>2]|0; + $381 = HEAP32[$eType>>2]|0; + $382 = ($381|0)==(1); + $383 = $382&1; + (_sqlite3CodeSubselect($378,$379,$380,$383)|0); + $384 = HEAP32[$savedNQueryLoop>>2]|0; + $385 = HEAP32[$0>>2]|0; + $386 = ((($385)) + 136|0); + HEAP32[$386>>2] = $384; } else { - $203 = HEAP32[$3>>2]|0; - $204 = ($203|0)!=(0|0); - if ($204) { - $205 = HEAP32[$0>>2]|0; - $206 = ((($205)) + 76|0); - $207 = HEAP32[$206>>2]|0; - $208 = (($207) + 1)|0; - HEAP32[$206>>2] = $208; - HEAP32[$rMayHaveNull>>2] = $208; - $209 = HEAP32[$3>>2]|0; - HEAP32[$209>>2] = $208; - } - } - $210 = HEAP32[$0>>2]|0; - $211 = HEAP32[$1>>2]|0; - $212 = HEAP32[$rMayHaveNull>>2]|0; - $213 = HEAP32[$eType>>2]|0; - $214 = ($213|0)==(1); - $215 = $214&1; - (_sqlite3CodeSubselect($210,$211,$212,$215)|0); - $216 = HEAP32[$savedNQueryLoop>>2]|0; - $217 = HEAP32[$0>>2]|0; - $218 = ((($217)) + 428|0); - HEAP32[$218>>2] = $216; - $222 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($222|0); -} -function _comparisonAffinity($pExpr) { - $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - $aff = sp + 4|0; - HEAP32[$0>>2] = $pExpr; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3ExprAffinity($3)|0); - HEAP8[$aff>>0] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $10 = ((($9)) + 16|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP8[$aff>>0]|0; - $13 = (_sqlite3CompareAffinity($11,$12)|0); - HEAP8[$aff>>0] = $13; - $29 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($29|0); - } - $14 = ((($9)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & 2048; - $17 = ($16|0)!=(0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$23>>2]|0; - $25 = HEAP8[$aff>>0]|0; - $26 = (_sqlite3CompareAffinity($24,$25)|0); - HEAP8[$aff>>0] = $26; - $29 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($29|0); + $387 = HEAP32[$iTab>>2]|0; + $388 = HEAP32[$1>>2]|0; + $389 = ((($388)) + 28|0); + HEAP32[$389>>2] = $387; + } + $390 = HEAP32[$4>>2]|0; + $391 = ($390|0)!=(0|0); + $392 = HEAP32[$eType>>2]|0; + $393 = ($392|0)!=(3); + $or$cond = $391 & $393; + $394 = HEAP32[$eType>>2]|0; + $395 = ($394|0)!=(4); + $or$cond3 = $or$cond & $395; + if (!($or$cond3)) { + $409 = HEAP32[$eType>>2]|0; + STACKTOP = sp;return ($409|0); } - $27 = HEAP8[$aff>>0]|0; - $28 = ($27<<24>>24)!=(0); - if ($28) { - $29 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($29|0); + $396 = HEAP32[$1>>2]|0; + $397 = ((($396)) + 12|0); + $398 = HEAP32[$397>>2]|0; + $399 = (_sqlite3ExprVectorSize($398)|0); + HEAP32[$n>>2] = $399; + HEAP32[$i5>>2] = 0; + while(1) { + $400 = HEAP32[$i5>>2]|0; + $401 = HEAP32[$n>>2]|0; + $402 = ($400|0)<($401|0); + if (!($402)) { + break; + } + $403 = HEAP32[$i5>>2]|0; + $404 = HEAP32[$i5>>2]|0; + $405 = HEAP32[$4>>2]|0; + $406 = (($405) + ($404<<2)|0); + HEAP32[$406>>2] = $403; + $407 = HEAP32[$i5>>2]|0; + $408 = (($407) + 1)|0; + HEAP32[$i5>>2] = $408; } - HEAP8[$aff>>0] = 65; - $29 = HEAP8[$aff>>0]|0; - STACKTOP = sp;return ($29|0); + $409 = HEAP32[$eType>>2]|0; + STACKTOP = sp;return ($409|0); } function _sqlite3ExprCanBeNull($p) { $p = $p|0; @@ -156437,7 +158664,7 @@ function _sqlite3ExprCanBeNull($p) { $20 = HEAP8[$op>>0]|0; $21 = $20&255; switch ($21|0) { - case 134: case 133: case 97: case 132: { + case 133: case 132: case 97: case 134: { HEAP32[$0>>2] = 0; $48 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($48|0); @@ -156491,85 +158718,80 @@ function _sqlite3ExprCanBeNull($p) { } return (0)|0; } -function _sqlite3CompareAffinity($pExpr,$aff2) { - $pExpr = $pExpr|0; - $aff2 = $aff2|0; +function _sqlite3VectorFieldSubexpr($pVector,$i) { + $pVector = $pVector|0; + $i = $i|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff1 = 0, $or$cond = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 6|0; - $1 = sp; - $2 = sp + 5|0; - $aff1 = sp + 4|0; - HEAP32[$1>>2] = $pExpr; - HEAP8[$2>>0] = $aff2; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $pVector; + HEAP32[$2>>2] = $i; $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3ExprAffinity($3)|0); - HEAP8[$aff1>>0] = $4; - $5 = HEAP8[$aff1>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP8[$2>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP8[$aff1>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)>=(67); - if (!($13)) { - $14 = HEAP8[$2>>0]|0; - $15 = $14 << 24 >> 24; - $16 = ($15|0)>=(67); - if (!($16)) { - HEAP8[$0>>0] = 65; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); - } - } - HEAP8[$0>>0] = 67; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); - } + $4 = (_sqlite3ExprIsVector($3)|0); + $5 = ($4|0)!=(0); + $6 = HEAP32[$1>>2]|0; + if (!($5)) { + HEAP32[$0>>2] = $6; + $32 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($32|0); } - $17 = HEAP8[$aff1>>0]|0; - $18 = ($17<<24>>24)!=(0); - $19 = HEAP8[$2>>0]|0; - $20 = ($19<<24>>24)!=(0); - $or$cond = $18 | $20; - if ($or$cond) { - $21 = HEAP8[$aff1>>0]|0; - $22 = $21 << 24 >> 24; - $23 = HEAP8[$2>>0]|0; - $24 = $23 << 24 >> 24; - $25 = (($22) + ($24))|0; - $26 = $25&255; - HEAP8[$0>>0] = $26; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); - } else { - HEAP8[$0>>0] = 65; - $27 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($27|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(119); + if (!($9)) { + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 38|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)==(119); + if (!($14)) { + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 20|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + (($24*20)|0)|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$0>>2] = $31; + $32 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($32|0); + } } - return (0)|0; + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + (($15*20)|0)|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$0>>2] = $23; + $32 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($32|0); } function _isCandidateForInOpt($pX) { $pX = $pX|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pEList = 0, $pRes = 0, $pSrc = 0, $pTab = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $pEList = 0, $pRes = 0, $pSrc = 0, $pTab = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $p = sp + 16|0; - $pSrc = sp + 12|0; - $pEList = sp + 8|0; - $pRes = sp + 4|0; - $pTab = sp; + $0 = sp + 28|0; + $1 = sp + 24|0; + $p = sp + 20|0; + $pSrc = sp + 16|0; + $pEList = sp + 12|0; + $pTab = sp + 8|0; + $i = sp + 4|0; + $pRes = sp; HEAP32[$1>>2] = $pX; $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 4|0); @@ -156662,56 +158884,114 @@ function _isCandidateForInOpt($pX) { $53 = HEAP32[$p>>2]|0; $54 = HEAP32[$53>>2]|0; HEAP32[$pEList>>2] = $54; - $55 = HEAP32[$pEList>>2]|0; - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)!=(1); - if ($57) { - HEAP32[$0>>2] = 0; - break; + HEAP32[$i>>2] = 0; + while(1) { + $55 = HEAP32[$i>>2]|0; + $56 = HEAP32[$pEList>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = ($55|0)<($57|0); + if (!($58)) { + label = 24; + break; + } + $59 = HEAP32[$i>>2]|0; + $60 = HEAP32[$pEList>>2]|0; + $61 = ((($60)) + 4|0); + $62 = HEAP32[$61>>2]|0; + $63 = (($62) + (($59*20)|0)|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$pRes>>2] = $64; + $65 = HEAP32[$pRes>>2]|0; + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = ($67|0)!=(152); + if ($68) { + label = 22; + break; + } + $69 = HEAP32[$i>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$i>>2] = $70; } - $58 = HEAP32[$pEList>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$60>>2]|0; - HEAP32[$pRes>>2] = $61; - $62 = HEAP32[$pRes>>2]|0; - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = ($64|0)!=(152); - if ($65) { + if ((label|0) == 22) { HEAP32[$0>>2] = 0; break; - } else { - $66 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $66; + } + else if ((label|0) == 24) { + $71 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $71; break; } } else { HEAP32[$0>>2] = 0; } } while(0); - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $72 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($72|0); } -function _sqlite3CodeOnce($pParse) { - $pParse = $pParse|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $v = 0, label = 0, sp = 0; +function _sqlite3CompareAffinity($pExpr,$aff2) { + $pExpr = $pExpr|0; + $aff2 = $aff2|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff1 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $v = sp; - HEAP32[$0>>2] = $pParse; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3GetVdbe($1)|0); - HEAP32[$v>>2] = $2; - $3 = HEAP32[$v>>2]|0; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 84|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$5>>2] = $7; - $8 = (_sqlite3VdbeAddOp1($3,20,$6)|0); - STACKTOP = sp;return ($8|0); + $0 = sp + 6|0; + $1 = sp; + $2 = sp + 5|0; + $aff1 = sp + 4|0; + HEAP32[$1>>2] = $pExpr; + HEAP8[$2>>0] = $aff2; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3ExprAffinity($3)|0); + HEAP8[$aff1>>0] = $4; + $5 = HEAP8[$aff1>>0]|0; + $6 = $5 << 24 >> 24; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP8[$2>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)!=(0); + if ($10) { + $11 = HEAP8[$aff1>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)>=(67); + if (!($13)) { + $14 = HEAP8[$2>>0]|0; + $15 = $14 << 24 >> 24; + $16 = ($15|0)>=(67); + if (!($16)) { + HEAP8[$0>>0] = 65; + $27 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($27|0); + } + } + HEAP8[$0>>0] = 67; + $27 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($27|0); + } + } + $17 = HEAP8[$aff1>>0]|0; + $18 = ($17<<24>>24)!=(0); + $19 = HEAP8[$2>>0]|0; + $20 = ($19<<24>>24)!=(0); + $or$cond = $18 | $20; + if ($or$cond) { + $21 = HEAP8[$aff1>>0]|0; + $22 = $21 << 24 >> 24; + $23 = HEAP8[$2>>0]|0; + $24 = $23 << 24 >> 24; + $25 = (($22) + ($24))|0; + $26 = $25&255; + HEAP8[$0>>0] = $26; + $27 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($27|0); + } else { + HEAP8[$0>>0] = 65; + $27 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; } function _sqlite3BinaryCompareCollSeq($pParse,$pLeft,$pRight) { $pParse = $pParse|0; @@ -156775,47 +159055,6 @@ function _sqlite3BinaryCompareCollSeq($pParse,$pLeft,$pRight) { $29 = HEAP32[$pColl>>2]|0; STACKTOP = sp;return ($29|0); } -function _sqlite3IndexAffinityOk($pExpr,$idx_affinity) { - $pExpr = $pExpr|0; - $idx_affinity = $idx_affinity|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 9|0; - $aff = sp + 8|0; - HEAP32[$1>>2] = $pExpr; - HEAP8[$2>>0] = $idx_affinity; - $3 = HEAP32[$1>>2]|0; - $4 = (_comparisonAffinity($3)|0); - HEAP8[$aff>>0] = $4; - $5 = HEAP8[$aff>>0]|0; - $6 = $5 << 24 >> 24; - switch ($6|0) { - case 65: { - HEAP32[$0>>2] = 1; - break; - } - case 66: { - $7 = HEAP8[$2>>0]|0; - $8 = $7 << 24 >> 24; - $9 = ($8|0)==(66); - $10 = $9&1; - HEAP32[$0>>2] = $10; - break; - } - default: { - $11 = HEAP8[$2>>0]|0; - $12 = $11 << 24 >> 24; - $13 = ($12|0)>=(67); - $14 = $13&1; - HEAP32[$0>>2] = $14; - } - } - $15 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($15|0); -} function _sqlite3SetHasNullFlag($v,$iCur,$regHasNull) { $v = $v|0; $iCur = $iCur|0; @@ -156832,15 +159071,15 @@ function _sqlite3SetHasNullFlag($v,$iCur,$regHasNull) { HEAP32[$2>>2] = $regHasNull; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($3,74,0,$4)|0); + (_sqlite3VdbeAddOp2($3,76,0,$4)|0); $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3VdbeAddOp1($5,55,$6)|0); + $7 = (_sqlite3VdbeAddOp1($5,57,$6)|0); HEAP32[$addr1>>2] = $7; $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($8,94,$9,0,$10)|0); + (_sqlite3VdbeAddOp3($8,96,$9,0,$10)|0); $11 = HEAP32[$0>>2]|0; _sqlite3VdbeChangeP5($11,-128); $12 = HEAP32[$0>>2]|0; @@ -156893,16 +159132,16 @@ function _sqlite3SelectDestInit($pDest,$eDest,$iParm) { HEAP8[$5>>0] = $4; $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 4|0); + $8 = ((($7)) + 8|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 1|0); - HEAP8[$10>>0] = 0; + $10 = ((($9)) + 4|0); + HEAP32[$10>>2] = 0; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 8|0); + $12 = ((($11)) + 12|0); HEAP32[$12>>2] = 0; $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 12|0); + $14 = ((($13)) + 16|0); HEAP32[$14>>2] = 0; STACKTOP = sp;return; } @@ -156927,7 +159166,7 @@ function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { HEAP32[$2>>2] = $regDest; HEAP8[$3>>0] = $reusable; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 324|0); + $5 = ((($4)) + 80|0); $6 = HEAP32[$5>>2]|0; HEAP32[$p>>2] = $6; $7 = HEAP32[$0>>2]|0; @@ -156945,7 +159184,7 @@ function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { if (!($16)) { $37 = HEAP32[$p>>2]|0; $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 324|0); + $39 = ((($38)) + 80|0); HEAP32[$39>>2] = $37; STACKTOP = sp;return; } @@ -156974,7 +159213,7 @@ function _sqlite3ExprCodeAtInit($pParse,$pExpr,$regDest,$reusable) { HEAP8[$30>>0] = $36; $37 = HEAP32[$p>>2]|0; $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 324|0); + $39 = ((($38)) + 80|0); HEAP32[$39>>2] = $37; STACKTOP = sp;return; } @@ -157194,6 +159433,120 @@ function _sqlite3ExprIsConstantNotJoin($p) { $2 = (_exprIsConst($1,2,0)|0); STACKTOP = sp;return ($2|0); } +function _exprCodeSubselect($pParse,$pExpr) { + $pParse = $pParse|0; + $pExpr = $pExpr|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $reg = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $reg = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $pExpr; + HEAP32[$reg>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + $5 = ($4|0)==(119); + if (!($5)) { + $9 = HEAP32[$reg>>2]|0; + STACKTOP = sp;return ($9|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (_sqlite3CodeSubselect($6,$7,0,0)|0); + HEAP32[$reg>>2] = $8; + $9 = HEAP32[$reg>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _exprVectorRegister($pParse,$pVector,$iField,$regSelect,$ppExpr,$pRegFree) { + $pParse = $pParse|0; + $pVector = $pVector|0; + $iField = $iField|0; + $regSelect = $regSelect|0; + $ppExpr = $ppExpr|0; + $pRegFree = $pRegFree|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $op = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $op = sp + 28|0; + HEAP32[$1>>2] = $pParse; + HEAP32[$2>>2] = $pVector; + HEAP32[$3>>2] = $iField; + HEAP32[$4>>2] = $regSelect; + HEAP32[$5>>2] = $ppExpr; + HEAP32[$6>>2] = $pRegFree; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP8[$7>>0]|0; + HEAP8[$op>>0] = $8; + $9 = HEAP8[$op>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(157); + if ($11) { + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = (_sqlite3VectorFieldSubexpr($12,$13)|0); + $15 = HEAP32[$5>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = (($18) + ($19))|0; + HEAP32[$0>>2] = $20; + $48 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($48|0); + } + $21 = HEAP8[$op>>0]|0; + $22 = $21&255; + $23 = ($22|0)==(119); + $24 = HEAP32[$3>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 20|0); + if ($23) { + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($30) + (($24*20)|0)|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$5>>2]|0; + HEAP32[$33>>2] = $32; + $34 = HEAP32[$4>>2]|0; + $35 = HEAP32[$3>>2]|0; + $36 = (($34) + ($35))|0; + HEAP32[$0>>2] = $36; + $48 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($48|0); + } else { + $37 = HEAP32[$26>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + (($24*20)|0)|0); + $41 = HEAP32[$40>>2]|0; + $42 = HEAP32[$5>>2]|0; + HEAP32[$42>>2] = $41; + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = HEAP32[$44>>2]|0; + $46 = HEAP32[$6>>2]|0; + $47 = (_sqlite3ExprCodeTemp($43,$45,$46)|0); + HEAP32[$0>>2] = $47; + $48 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($48|0); + } + return (0)|0; +} function _sqlite3VdbeAddOp4Dup8($p,$op,$p1,$p2,$p3,$zP4,$p4type) { $p = $p|0; $op = $op|0; @@ -157245,8 +159598,8 @@ function _sqlite3VdbeAddOp4Dup8($p,$op,$p1,$p2,$p3,$zP4,$p4type) { function _sqlite3ExprCachePinRegister($pParse,$iReg) { $pParse = $pParse|0; $iReg = $iReg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0; - var sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -157257,30 +159610,34 @@ function _sqlite3ExprCachePinRegister($pParse,$iReg) { HEAP32[$1>>2] = $iReg; HEAP32[$i>>2] = 0; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 124|0); + $3 = ((($2)) + 152|0); HEAP32[$p>>2] = $3; while(1) { $4 = HEAP32[$i>>2]|0; - $5 = ($4|0)<(10); - if (!($5)) { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 25|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($4|0)<($8|0); + if (!($9)) { break; } - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = ($8|0)==($9|0); - if ($10) { - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 6|0); - HEAP8[$12>>0] = 0; + $10 = HEAP32[$p>>2]|0; + $11 = ((($10)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ($12|0)==($13|0); + if ($14) { + $15 = HEAP32[$p>>2]|0; + $16 = ((($15)) + 6|0); + HEAP8[$16>>0] = 0; } - $13 = HEAP32[$i>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[$i>>2] = $14; - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 20|0); - HEAP32[$p>>2] = $16; + $17 = HEAP32[$i>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$i>>2] = $18; + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 20|0); + HEAP32[$p>>2] = $20; } STACKTOP = sp;return; } @@ -157292,8 +159649,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $i = 0, $idxLru = 0, $minLru = 0, $p = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $idxLru = 0, $minLru = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; @@ -157318,139 +159674,90 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { if ($10) { STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 124|0); - HEAP32[$p>>2] = $12; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = ($13|0)<(10); - if (!($14)) { - break; - } - $15 = HEAP32[$p>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0); - if ($18) { - label = 5; - break; - } - $45 = HEAP32[$i>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$i>>2] = $46; - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 20|0); - HEAP32[$p>>2] = $48; - } - if ((label|0) == 5) { - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 108|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$p>>2]|0; - $23 = ((($22)) + 8|0); - HEAP32[$23>>2] = $21; - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$p>>2]|0; - HEAP32[$25>>2] = $24; - $26 = HEAP32[$2>>2]|0; - $27 = $26&65535; - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 4|0); - HEAP16[$29>>1] = $27; - $30 = HEAP32[$3>>2]|0; - $31 = HEAP32[$p>>2]|0; - $32 = ((($31)) + 12|0); - HEAP32[$32>>2] = $30; - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 6|0); - HEAP8[$34>>0] = 0; - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 112|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + 1)|0; - HEAP32[$36>>2] = $38; - $39 = HEAP32[$p>>2]|0; - $40 = ((($39)) + 16|0); - HEAP32[$40>>2] = $37; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 25|0); - $43 = HEAP8[$42>>0]|0; - $44 = (($43) + 1)<<24>>24; - HEAP8[$42>>0] = $44; - STACKTOP = sp;return; - } - HEAP32[$minLru>>2] = 2147483647; - HEAP32[$idxLru>>2] = -1; - HEAP32[$i>>2] = 0; - $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 124|0); - HEAP32[$p>>2] = $50; - while(1) { - $51 = HEAP32[$i>>2]|0; - $52 = ($51|0)<(10); - if (!($52)) { - break; - } - $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 16|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$minLru>>2]|0; - $57 = ($55|0)<($56|0); - if ($57) { - $58 = HEAP32[$i>>2]|0; - HEAP32[$idxLru>>2] = $58; - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 16|0); - $61 = HEAP32[$60>>2]|0; - HEAP32[$minLru>>2] = $61; + $12 = ((($11)) + 25|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)>=(10); + if ($15) { + HEAP32[$minLru>>2] = 2147483647; + HEAP32[$idxLru>>2] = -1; + HEAP32[$i>>2] = 0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 152|0); + HEAP32[$p>>2] = $17; + while(1) { + $18 = HEAP32[$i>>2]|0; + $19 = ($18|0)<(10); + if (!($19)) { + break; + } + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 16|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$minLru>>2]|0; + $24 = ($22|0)<($23|0); + if ($24) { + $25 = HEAP32[$i>>2]|0; + HEAP32[$idxLru>>2] = $25; + $26 = HEAP32[$p>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$minLru>>2] = $28; + } + $29 = HEAP32[$i>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$i>>2] = $30; + $31 = HEAP32[$p>>2]|0; + $32 = ((($31)) + 20|0); + HEAP32[$p>>2] = $32; } - $62 = HEAP32[$i>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[$i>>2] = $63; - $64 = HEAP32[$p>>2]|0; - $65 = ((($64)) + 20|0); - HEAP32[$p>>2] = $65; - } - $66 = HEAP32[$idxLru>>2]|0; - $67 = ($66|0)>=(0); - if (!($67)) { - STACKTOP = sp;return; + $33 = HEAP32[$idxLru>>2]|0; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 152|0); + $36 = (($35) + (($33*20)|0)|0); + HEAP32[$p>>2] = $36; + } else { + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 25|0); + $39 = HEAP8[$38>>0]|0; + $40 = (($39) + 1)<<24>>24; + HEAP8[$38>>0] = $40; + $41 = $39&255; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 152|0); + $44 = (($43) + (($41*20)|0)|0); + HEAP32[$p>>2] = $44; } - $68 = HEAP32[$idxLru>>2]|0; - $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 124|0); - $71 = (($70) + (($68*20)|0)|0); - HEAP32[$p>>2] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ((($72)) + 108|0); - $74 = HEAP32[$73>>2]|0; - $75 = HEAP32[$p>>2]|0; - $76 = ((($75)) + 8|0); - HEAP32[$76>>2] = $74; - $77 = HEAP32[$1>>2]|0; - $78 = HEAP32[$p>>2]|0; - HEAP32[$78>>2] = $77; - $79 = HEAP32[$2>>2]|0; - $80 = $79&65535; - $81 = HEAP32[$p>>2]|0; - $82 = ((($81)) + 4|0); - HEAP16[$82>>1] = $80; - $83 = HEAP32[$3>>2]|0; - $84 = HEAP32[$p>>2]|0; - $85 = ((($84)) + 12|0); - HEAP32[$85>>2] = $83; - $86 = HEAP32[$p>>2]|0; - $87 = ((($86)) + 6|0); - HEAP8[$87>>0] = 0; - $88 = HEAP32[$0>>2]|0; - $89 = ((($88)) + 112|0); - $90 = HEAP32[$89>>2]|0; - $91 = (($90) + 1)|0; - HEAP32[$89>>2] = $91; - $92 = HEAP32[$p>>2]|0; - $93 = ((($92)) + 16|0); - HEAP32[$93>>2] = $90; + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 64|0); + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$p>>2]|0; + $49 = ((($48)) + 8|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$1>>2]|0; + $51 = HEAP32[$p>>2]|0; + HEAP32[$51>>2] = $50; + $52 = HEAP32[$2>>2]|0; + $53 = $52&65535; + $54 = HEAP32[$p>>2]|0; + $55 = ((($54)) + 4|0); + HEAP16[$55>>1] = $53; + $56 = HEAP32[$3>>2]|0; + $57 = HEAP32[$p>>2]|0; + $58 = ((($57)) + 12|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$p>>2]|0; + $60 = ((($59)) + 6|0); + HEAP8[$60>>0] = 0; + $61 = HEAP32[$0>>2]|0; + $62 = ((($61)) + 68|0); + $63 = HEAP32[$62>>2]|0; + $64 = (($63) + 1)|0; + HEAP32[$62>>2] = $64; + $65 = HEAP32[$p>>2]|0; + $66 = ((($65)) + 16|0); + HEAP32[$66>>2] = $63; STACKTOP = sp;return; } function _collationMatch($zColl,$pIndex) { @@ -157636,7 +159943,7 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { $58 = HEAP32[$regArgs>>2]|0; $59 = (($58) + 3)|0; $60 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($51,87,0,$57,$59,$60,-5)|0); + (_sqlite3VdbeAddOp4($51,89,0,$57,$59,$60,-5)|0); $61 = HEAP32[$v>>2]|0; $62 = HEAP32[$2>>2]|0; $63 = HEAP8[$62>>0]|0; @@ -157645,7 +159952,7 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { $65 = HEAP32[$1>>2]|0; $66 = ($65|0)==(24); $67 = $66&1; - (_sqlite3VdbeAddOp1($64,148,$67)|0); + (_sqlite3VdbeAddOp1($64,150,$67)|0); } } } @@ -157734,7 +160041,7 @@ function _detachFunc($context,$NotUsed,$argv) { $8 = HEAP32[$zName>>2]|0; $9 = ($8|0)==(0|0); if ($9) { - HEAP32[$zName>>2] = 19018; + HEAP32[$zName>>2] = 18402; } HEAP32[$i>>2] = 0; while(1) { @@ -157779,14 +160086,14 @@ function _detachFunc($context,$NotUsed,$argv) { if ($35) { $36 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $36; - (_sqlite3_snprintf(128,$zErr,31852,$vararg_buffer)|0); + (_sqlite3_snprintf(128,$zErr,31331,$vararg_buffer)|0); } else { $37 = HEAP32[$i>>2]|0; $38 = ($37|0)<(2); if ($38) { $39 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer1>>2] = $39; - (_sqlite3_snprintf(128,$zErr,31873,$vararg_buffer1)|0); + (_sqlite3_snprintf(128,$zErr,31352,$vararg_buffer1)|0); break; } $40 = HEAP32[$db>>2]|0; @@ -157794,7 +160101,7 @@ function _detachFunc($context,$NotUsed,$argv) { $42 = HEAP8[$41>>0]|0; $43 = ($42<<24>>24)!=(0); if (!($43)) { - (_sqlite3_snprintf(128,$zErr,31899,$vararg_buffer4)|0); + (_sqlite3_snprintf(128,$zErr,31378,$vararg_buffer4)|0); break; } $44 = HEAP32[$pDb>>2]|0; @@ -157826,7 +160133,7 @@ function _detachFunc($context,$NotUsed,$argv) { } $54 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $54; - (_sqlite3_snprintf(128,$zErr,31941,$vararg_buffer6)|0); + (_sqlite3_snprintf(128,$zErr,31420,$vararg_buffer6)|0); } } while(0); $63 = HEAP32[$0>>2]|0; @@ -158193,16 +160500,16 @@ function _removeFromSharingList($pBt) { $32 = HEAP32[$removed>>2]|0; STACKTOP = sp;return ($32|0); } - $9 = HEAP32[4868>>2]|0; + $9 = HEAP32[4024>>2]|0; $10 = HEAP32[$0>>2]|0; $11 = ($9|0)==($10|0); if ($11) { $12 = HEAP32[$0>>2]|0; $13 = ((($12)) + 68|0); $14 = HEAP32[$13>>2]|0; - HEAP32[4868>>2] = $14; + HEAP32[4024>>2] = $14; } else { - $15 = HEAP32[4868>>2]|0; + $15 = HEAP32[4024>>2]|0; HEAP32[$pList>>2] = $15; while(1) { $16 = HEAP32[$pList>>2]|0; @@ -158388,18 +160695,18 @@ function _attachFunc($context,$NotUsed,$argv) { $12 = HEAP32[$zFile>>2]|0; $13 = ($12|0)==(0|0); if ($13) { - HEAP32[$zFile>>2] = 19018; + HEAP32[$zFile>>2] = 18402; } $14 = HEAP32[$zName>>2]|0; $15 = ($14|0)==(0|0); if ($15) { - HEAP32[$zName>>2] = 19018; + HEAP32[$zName>>2] = 18402; } $16 = HEAP32[$db>>2]|0; $17 = ((($16)) + 20|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 92|0); + $20 = ((($19)) + 96|0); $21 = ((($20)) + 28|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + 2)|0; @@ -158408,11 +160715,11 @@ function _attachFunc($context,$NotUsed,$argv) { do { if ($24) { $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 92|0); + $27 = ((($26)) + 96|0); $28 = ((($27)) + 28|0); $29 = HEAP32[$28>>2]|0; HEAP32[$vararg_buffer>>2] = $29; - $30 = (_sqlite3MPrintf($25,31977,$vararg_buffer)|0); + $30 = (_sqlite3MPrintf($25,31456,$vararg_buffer)|0); HEAP32[$zErrDyn>>2] = $30; } else { $31 = ((($25)) + 67|0); @@ -158420,7 +160727,7 @@ function _attachFunc($context,$NotUsed,$argv) { $33 = ($32<<24>>24)!=(0); if (!($33)) { $34 = HEAP32[$db>>2]|0; - $35 = (_sqlite3MPrintf($34,32014,$vararg_buffer2)|0); + $35 = (_sqlite3MPrintf($34,31493,$vararg_buffer2)|0); HEAP32[$zErrDyn>>2] = $35; break; } @@ -158457,7 +160764,7 @@ function _attachFunc($context,$NotUsed,$argv) { $51 = HEAP32[$db>>2]|0; $52 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer4>>2] = $52; - $53 = (_sqlite3MPrintf($51,32056,$vararg_buffer4)|0); + $53 = (_sqlite3MPrintf($51,31535,$vararg_buffer4)|0); HEAP32[$zErrDyn>>2] = $53; break; } @@ -158566,7 +160873,7 @@ function _attachFunc($context,$NotUsed,$argv) { if ($124) { HEAP32[$rc>>2] = 1; $125 = HEAP32[$db>>2]|0; - $126 = (_sqlite3MPrintf($125,32086,$vararg_buffer7)|0); + $126 = (_sqlite3MPrintf($125,31565,$vararg_buffer7)|0); HEAP32[$zErrDyn>>2] = $126; } else { $127 = HEAP32[$rc>>2]|0; @@ -158606,7 +160913,7 @@ function _attachFunc($context,$NotUsed,$argv) { $157 = ($152|0)!=($156|0); if ($157) { $158 = HEAP32[$db>>2]|0; - $159 = (_sqlite3MPrintf($158,20632,$vararg_buffer9)|0); + $159 = (_sqlite3MPrintf($158,20016,$vararg_buffer9)|0); HEAP32[$zErrDyn>>2] = $159; HEAP32[$rc>>2] = 1; } @@ -158737,7 +161044,7 @@ function _attachFunc($context,$NotUsed,$argv) { $248 = HEAP32[$zErrDyn>>2]|0; _sqlite3DbFree($247,$248); $249 = HEAP32[$db>>2]|0; - $250 = (_sqlite3MPrintf($249,25632,$vararg_buffer11)|0); + $250 = (_sqlite3MPrintf($249,25016,$vararg_buffer11)|0); HEAP32[$zErrDyn>>2] = $250; break; } @@ -158747,7 +161054,7 @@ function _attachFunc($context,$NotUsed,$argv) { $253 = HEAP32[$db>>2]|0; $254 = HEAP32[$zFile>>2]|0; HEAP32[$vararg_buffer13>>2] = $254; - $255 = (_sqlite3MPrintf($253,32115,$vararg_buffer13)|0); + $255 = (_sqlite3MPrintf($253,31594,$vararg_buffer13)|0); HEAP32[$zErrDyn>>2] = $255; } } @@ -159161,7 +161468,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { HEAP32[$zDb>>2] = $17; $18 = HEAP32[$iDb>>2]|0; $19 = ($18|0)==(1); - $20 = $19 ? 20521 : 20540; + $20 = $19 ? 19905 : 19924; HEAP32[$zTab>>2] = $20; $21 = HEAP32[$iDb>>2]|0; $22 = ($21|0)==(1); @@ -159204,7 +161511,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$iDb>>2]|0; $48 = ($47|0)==(1); - $49 = $48 ? 20521 : 20540; + $49 = $48 ? 19905 : 19924; $50 = HEAP32[$1>>2]|0; $51 = HEAP32[$50>>2]|0; HEAP32[$vararg_buffer>>2] = $46; @@ -159212,7 +161519,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { HEAP32[$vararg_ptr1>>2] = $49; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $51; - _sqlite3NestedParse($40,32163,$vararg_buffer); + _sqlite3NestedParse($40,31642,$vararg_buffer); $52 = HEAP32[$0>>2]|0; $53 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($52,$53); @@ -159220,7 +161527,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { $55 = HEAP32[$iDb>>2]|0; $56 = HEAP32[$1>>2]|0; $57 = HEAP32[$56>>2]|0; - (_sqlite3VdbeAddOp4($54,138,$55,0,0,$57,0)|0); + (_sqlite3VdbeAddOp4($54,140,$55,0,0,$57,0)|0); STACKTOP = sp;return; } function _tableOfTrigger($pTrigger) { @@ -159528,7 +161835,7 @@ function _sqlite3FixSrcList($pFix,$pList) { HEAP32[$vararg_ptr1>>2] = $35; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $38; - _sqlite3ErrorMsg($29,32461,$vararg_buffer); + _sqlite3ErrorMsg($29,31940,$vararg_buffer); HEAP32[$0>>2] = 1; $67 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($67|0); @@ -159713,7 +162020,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 144|0); + $12 = ((($11)) + 148|0); $13 = ((($12)) + 5|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)!=(0); @@ -159727,7 +162034,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { $22 = HEAP32[$2>>2]|0; $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; - $25 = $24 & 16384; + $25 = $24 & 8404992; $26 = ($25|0)!=(0); if ($26) { label = 16; @@ -159780,7 +162087,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { $20 = ((($19)) + 16|0); $21 = HEAP32[$20>>2]|0; HEAP32[$vararg_buffer>>2] = $21; - _sqlite3ErrorMsg($18,32507,$vararg_buffer); + _sqlite3ErrorMsg($18,31986,$vararg_buffer); HEAP32[$0>>2] = 1; $50 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($50|0); @@ -159947,11 +162254,11 @@ function _sqlite3VdbeRunOnlyOnce($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 89|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 & -9; - $5 = $4 | 8; - HEAP8[$2>>0] = $5; + $2 = ((($1)) + 144|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3 & -33; + $5 = $4 | 32; + HEAP16[$2>>1] = $5; STACKTOP = sp;return; } function _returnSingleText($v,$zLabel,$zValue) { @@ -159979,7 +162286,7 @@ function _returnSingleText($v,$zLabel,$zValue) { $8 = HEAP32[$1>>2]|0; _setOneColumnName($7,$8); $9 = HEAP32[$0>>2]|0; - (_sqlite3VdbeAddOp2($9,85,1,1)|0); + (_sqlite3VdbeAddOp2($9,87,1,1)|0); STACKTOP = sp;return; } function _setOneColumnName($v,$z) { @@ -160016,20 +162323,20 @@ function _returnSingleInt($v,$zLabel,$0,$1) { $8 = $7; HEAP32[$8>>2] = $1; $9 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4Dup8($9,75,0,1,0,$4,-13)|0); + (_sqlite3VdbeAddOp4Dup8($9,77,0,1,0,$4,-13)|0); $10 = HEAP32[$2>>2]|0; $11 = HEAP32[$3>>2]|0; _setOneColumnName($10,$11); $12 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($12,85,1,1)|0); + (_sqlite3VdbeAddOp2($12,87,1,1)|0); STACKTOP = sp;return; } function _sqlite3VdbeSetNumCols($p,$nResColumn) { $p = $p|0; $nResColumn = $nResColumn|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $pColName = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0; + var $pColName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; @@ -160043,17 +162350,17 @@ function _sqlite3VdbeSetNumCols($p,$nResColumn) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 16|0); + $5 = ((($4)) + 100|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 84|0); + $8 = ((($7)) + 140|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = $10<<1; _releaseMemArray($6,$11); $12 = HEAP32[$db>>2]|0; $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 16|0); + $14 = ((($13)) + 100|0); $15 = HEAP32[$14>>2]|0; _sqlite3DbFree($12,$15); $16 = HEAP32[$1>>2]|0; @@ -160062,43 +162369,30 @@ function _sqlite3VdbeSetNumCols($p,$nResColumn) { $18 = HEAP32[$1>>2]|0; $19 = $18&65535; $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 84|0); + $21 = ((($20)) + 140|0); HEAP16[$21>>1] = $19; $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$n>>2]|0; $24 = ($23*40)|0; - $25 = (_sqlite3DbMallocZero($22,$24,0)|0); + $25 = (_sqlite3DbMallocRawNN($22,$24,0)|0); HEAP32[$pColName>>2] = $25; $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 16|0); + $27 = ((($26)) + 100|0); HEAP32[$27>>2] = $25; $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 16|0); + $29 = ((($28)) + 100|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0|0); if ($31) { STACKTOP = sp;return; } - while(1) { - $32 = HEAP32[$n>>2]|0; - $33 = (($32) + -1)|0; - HEAP32[$n>>2] = $33; - $34 = ($32|0)>(0); - if (!($34)) { - break; - } - $35 = HEAP32[$pColName>>2]|0; - $36 = ((($35)) + 8|0); - HEAP16[$36>>1] = 1; - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$pColName>>2]|0; - $40 = ((($39)) + 32|0); - HEAP32[$40>>2] = $38; - $41 = HEAP32[$pColName>>2]|0; - $42 = ((($41)) + 40|0); - HEAP32[$pColName>>2] = $42; - } + $32 = HEAP32[$0>>2]|0; + $33 = ((($32)) + 100|0); + $34 = HEAP32[$33>>2]|0; + $35 = HEAP32[$n>>2]|0; + $36 = HEAP32[$0>>2]|0; + $37 = HEAP32[$36>>2]|0; + _initMemArray($34,$35,$37,1); STACKTOP = sp;return; } function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { @@ -160137,13 +162431,13 @@ function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$3>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 84|0); + $14 = ((($13)) + 140|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; $17 = Math_imul($12, $16)|0; $18 = (($11) + ($17))|0; $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 16|0); + $20 = ((($19)) + 100|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + (($18*40)|0)|0); HEAP32[$pColName>>2] = $22; @@ -160172,14 +162466,14 @@ function _getLockingMode($z) { do { if ($3) { $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3StrICmp($4,32713)|0); + $5 = (_sqlite3StrICmp($4,32192)|0); $6 = (0)==($5|0); if ($6) { HEAP32[$0>>2] = 1; break; } $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3StrICmp($7,32706)|0); + $8 = (_sqlite3StrICmp($7,32185)|0); $9 = (0)==($8|0); if ($9) { HEAP32[$0>>2] = 0; @@ -160210,7 +162504,7 @@ function _sqlite3JournalModename($eMode) { HEAP32[$0>>2] = 0; } else { $4 = HEAP32[$1>>2]|0; - $5 = (6260 + ($4<<2)|0); + $5 = (5420 + ($4<<2)|0); $6 = HEAP32[$5>>2]|0; HEAP32[$0>>2] = $6; } @@ -160330,21 +162624,21 @@ function _getAutoVacuum($z) { $i = sp; HEAP32[$1>>2] = $z; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3StrICmp($2,33784)|0); + $3 = (_sqlite3StrICmp($2,33263)|0); $4 = (0)==($3|0); do { if ($4) { HEAP32[$0>>2] = 0; } else { $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3StrICmp($5,33228)|0); + $6 = (_sqlite3StrICmp($5,32707)|0); $7 = (0)==($6|0); if ($7) { HEAP32[$0>>2] = 1; break; } $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3StrICmp($8,33789)|0); + $9 = (_sqlite3StrICmp($8,33268)|0); $10 = (0)==($9|0); if ($10) { HEAP32[$0>>2] = 2; @@ -160627,7 +162921,7 @@ function _invalidateTempStorage($pParse) { } } $23 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($23,33722,$vararg_buffer); + _sqlite3ErrorMsg($23,33201,$vararg_buffer); HEAP32[$0>>2] = 1; $36 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($36|0); @@ -160731,7 +163025,7 @@ function _sqlite3VdbeMultiLoad($p,$iDest,$zTypes,$varargs) { $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$z>>2]|0; $21 = ($20|0)==(0|0); - $22 = $21 ? 77 : 97; + $22 = $21 ? 79 : 97; $23 = HEAP32[$1>>2]|0; $24 = (($23) + 1)|0; HEAP32[$1>>2] = $24; @@ -160757,7 +163051,7 @@ function _sqlite3VdbeMultiLoad($p,$iDest,$zTypes,$varargs) { $34 = HEAP32[$1>>2]|0; $35 = (($34) + 1)|0; HEAP32[$1>>2] = $35; - (_sqlite3VdbeAddOp2($26,74,$33,$34)|0); + (_sqlite3VdbeAddOp2($26,76,$33,$34)|0); } $36 = HEAP32[$i>>2]|0; $37 = (($36) + 1)|0; @@ -160777,23 +163071,23 @@ function _actionName($action) { $2 = $1&255; switch ($2|0) { case 7: { - HEAP32[$zName>>2] = 33532; + HEAP32[$zName>>2] = 33011; break; } case 8: { - HEAP32[$zName>>2] = 33541; + HEAP32[$zName>>2] = 33020; break; } case 9: { - HEAP32[$zName>>2] = 33553; + HEAP32[$zName>>2] = 33032; break; } case 6: { - HEAP32[$zName>>2] = 33561; + HEAP32[$zName>>2] = 33040; break; } default: { - HEAP32[$zName>>2] = 33570; + HEAP32[$zName>>2] = 33049; } } $3 = HEAP32[$zName>>2]|0; @@ -160981,7 +163275,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { HEAP32[$zDfltColl>>2] = $103; $104 = HEAP32[$zDfltColl>>2]|0; $105 = ($104|0)!=(0|0); - $$ = $105 ? $103 : 35351; + $$ = $105 ? $103 : 34834; HEAP32[$zDfltColl>>2] = $$; $106 = HEAP32[$i1>>2]|0; $107 = HEAP32[$pIdx>>2]|0; @@ -161108,7 +163402,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { STACKTOP = sp;return ($175|0); } $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 442|0); + $160 = ((($159)) + 150|0); $161 = HEAP8[$160>>0]|0; $162 = ($161<<24>>24)!=(0); if (!($162)) { @@ -161122,7 +163416,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { HEAP32[$vararg_buffer>>2] = $166; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $169; - _sqlite3ErrorMsg($163,33469,$vararg_buffer); + _sqlite3ErrorMsg($163,32948,$vararg_buffer); } $170 = HEAP32[$1>>2]|0; $171 = HEAP32[$170>>2]|0; @@ -161284,63 +163578,89 @@ function _sqlite3RegisterLikeFunctions($db,$caseSensitive) { $2 = HEAP32[$1>>2]|0; $3 = ($2|0)!=(0); if ($3) { - HEAP32[$pInfo>>2] = 33377; + HEAP32[$pInfo>>2] = 32856; } else { - HEAP32[$pInfo>>2] = 19014; + HEAP32[$pInfo>>2] = 18398; } $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($4,33381,2,1,$5,212,0,0,0)|0); + (_sqlite3CreateFunc($4,32860,2,1,$5,212,0,0,0)|0); $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($6,33381,3,1,$7,212,0,0,0)|0); + (_sqlite3CreateFunc($6,32860,3,1,$7,212,0,0,0)|0); $8 = HEAP32[$0>>2]|0; - (_sqlite3CreateFunc($8,33386,2,1,19010,212,0,0,0)|0); + (_sqlite3CreateFunc($8,32865,2,1,18394,212,0,0,0)|0); $9 = HEAP32[$0>>2]|0; - _setLikeOptFlag($9,33386,12); + _setLikeOptFlag($9,32865,12); $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$1>>2]|0; $12 = ($11|0)!=(0); $13 = $12 ? 12 : 4; $14 = $13&255; - _setLikeOptFlag($10,33381,$14); + _setLikeOptFlag($10,32860,$14); STACKTOP = sp;return; } function _sqlite3ExprCacheClear($pParse) { $pParse = $pParse|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $i = sp + 4|0; - $p = sp; + $0 = sp + 4|0; + $i = sp; HEAP32[$0>>2] = $pParse; HEAP32[$i>>2] = 0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 124|0); - HEAP32[$p>>2] = $2; while(1) { - $3 = HEAP32[$i>>2]|0; - $4 = ($3|0)<(10); - if (!($4)) { + $1 = HEAP32[$i>>2]|0; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 25|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($1|0)<($5|0); + if (!($6)) { break; } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$p>>2]|0; - _cacheEntryClear($9,$10); + $7 = HEAP32[$i>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 152|0); + $10 = (($9) + (($7*20)|0)|0); + $11 = ((($10)) + 6|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(0); + if ($14) { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 19|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)<(8); + if ($19) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$0>>2]|0; + $22 = ((($21)) + 152|0); + $23 = (($22) + (($20*20)|0)|0); + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 19|0); + $28 = HEAP8[$27>>0]|0; + $29 = (($28) + 1)<<24>>24; + HEAP8[$27>>0] = $29; + $30 = $28&255; + $31 = HEAP32[$0>>2]|0; + $32 = ((($31)) + 352|0); + $33 = (($32) + ($30<<2)|0); + HEAP32[$33>>2] = $25; + } } - $11 = HEAP32[$i>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[$i>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 20|0); - HEAP32[$p>>2] = $14; + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$i>>2] = $35; } + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 25|0); + HEAP8[$37>>0] = 0; STACKTOP = sp;return; } function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$p5,$iBase,$aToOpen,$piDataCur,$piIdxCur) { @@ -161409,7 +163729,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$p5,$iBase,$aToOpen,$piDa $24 = ($23|0)<(0); if ($24) { $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 72|0); + $26 = ((($25)) + 40|0); $27 = HEAP32[$26>>2]|0; HEAP32[$5>>2] = $27; } @@ -161461,7 +163781,7 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$p5,$iBase,$aToOpen,$piDa $54 = ((($53)) + 28|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$3>>2]|0; - $57 = ($56|0)==(103); + $57 = ($56|0)==(105); $58 = $57&1; $59 = $58&255; $60 = HEAP32[$2>>2]|0; @@ -161490,65 +163810,59 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$p5,$iBase,$aToOpen,$piDa $72 = (($71) + 1)|0; HEAP32[$5>>2] = $72; HEAP32[$iIdxCur>>2] = $71; - $73 = HEAP32[$6>>2]|0; - $74 = ($73|0)==(0|0); - if ($74) { - label = 18; - } else { - $75 = HEAP32[$i>>2]|0; - $76 = (($75) + 1)|0; - $77 = HEAP32[$6>>2]|0; - $78 = (($77) + ($76)|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = ($80|0)!=(0); - if ($81) { - label = 18; + $73 = HEAP32[$pIdx>>2]|0; + $74 = ((($73)) + 55|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75 & 3; + $77 = $76&255; + $78 = ($77|0)==(2); + if ($78) { + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 42|0); + $81 = HEAP8[$80>>0]|0; + $82 = $81&255; + $83 = $82 & 32; + $84 = ($83|0)==(0); + if (!($84)) { + $85 = HEAP32[$7>>2]|0; + $86 = ($85|0)!=(0|0); + if ($86) { + $87 = HEAP32[$iIdxCur>>2]|0; + $88 = HEAP32[$7>>2]|0; + HEAP32[$88>>2] = $87; + } + HEAP8[$4>>0] = 0; } } - if ((label|0) == 18) { - label = 0; - $82 = HEAP32[$v>>2]|0; - $83 = HEAP32[$3>>2]|0; - $84 = HEAP32[$iIdxCur>>2]|0; - $85 = HEAP32[$pIdx>>2]|0; - $86 = ((($85)) + 44|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($82,$83,$84,$87,$88)|0); - $89 = HEAP32[$1>>2]|0; - $90 = HEAP32[$pIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($89,$90); - } - $91 = HEAP32[$pIdx>>2]|0; - $92 = ((($91)) + 55|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93 & 3; - $95 = $94&255; - $96 = ($95|0)==(2); - if ($96) { - $97 = HEAP32[$2>>2]|0; - $98 = ((($97)) + 42|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $101 = $100 & 32; - $102 = ($101|0)==(0); - if ($102) { + $89 = HEAP32[$6>>2]|0; + $90 = ($89|0)==(0|0); + if ($90) { + label = 23; + } else { + $91 = HEAP32[$i>>2]|0; + $92 = (($91) + 1)|0; + $93 = HEAP32[$6>>2]|0; + $94 = (($93) + ($92)|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = ($96|0)!=(0); + if ($97) { label = 23; - } else { - $103 = HEAP32[$7>>2]|0; - $104 = ($103|0)!=(0|0); - if ($104) { - $105 = HEAP32[$iIdxCur>>2]|0; - $106 = HEAP32[$7>>2]|0; - HEAP32[$106>>2] = $105; - } } - } else { - label = 23; } if ((label|0) == 23) { label = 0; + $98 = HEAP32[$v>>2]|0; + $99 = HEAP32[$3>>2]|0; + $100 = HEAP32[$iIdxCur>>2]|0; + $101 = HEAP32[$pIdx>>2]|0; + $102 = ((($101)) + 44|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp3($98,$99,$100,$103,$104)|0); + $105 = HEAP32[$1>>2]|0; + $106 = HEAP32[$pIdx>>2]|0; + _sqlite3VdbeSetP4KeyInfo($105,$106); $107 = HEAP32[$v>>2]|0; $108 = HEAP8[$4>>0]|0; _sqlite3VdbeChangeP5($107,$108); @@ -161562,13 +163876,13 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$p5,$iBase,$aToOpen,$piDa HEAP32[$i>>2] = $113; } $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 72|0); + $115 = ((($114)) + 40|0); $116 = HEAP32[$115>>2]|0; $117 = ($71|0)>($116|0); if ($117) { $118 = HEAP32[$5>>2]|0; $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 72|0); + $120 = ((($119)) + 40|0); HEAP32[$120>>2] = $118; } $121 = HEAP32[$i>>2]|0; @@ -161584,10 +163898,10 @@ function _sqlite3VdbeReusable($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 89|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 & -9; - HEAP8[$2>>0] = $4; + $2 = ((($1)) + 144|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3 & -33; + HEAP16[$2>>1] = $4; STACKTOP = sp;return; } function _likeFunc($context,$argc,$argv) { @@ -161634,13 +163948,13 @@ function _likeFunc($context,$argc,$argv) { HEAP32[$nPat>>2] = $16; $17 = HEAP32[$nPat>>2]|0; $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 92|0); + $19 = ((($18)) + 96|0); $20 = ((($19)) + 32|0); $21 = HEAP32[$20>>2]|0; $22 = ($17|0)>($21|0); if ($22) { $23 = HEAP32[$0>>2]|0; - _sqlite3_result_error($23,33391,-1); + _sqlite3_result_error($23,32870,-1); STACKTOP = sp;return; } $24 = HEAP32[$1>>2]|0; @@ -161666,7 +163980,7 @@ function _likeFunc($context,$argc,$argv) { break; } $35 = HEAP32[$0>>2]|0; - _sqlite3_result_error($35,33424,-1); + _sqlite3_result_error($35,32903,-1); STACKTOP = sp;return; } else { $37 = HEAP32[$pInfo>>2]|0; @@ -161751,7 +164065,7 @@ function _sqlite3Utf8Read($pz) { } $8 = HEAP32[$c>>2]|0; $9 = (($8) - 192)|0; - $10 = (26179 + ($9)|0); + $10 = (25563 + ($9)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; HEAP32[$c>>2] = $12; @@ -161829,14 +164143,14 @@ function _getTempStore($z) { do { if ((label|0) == 4) { $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3StrICmp($14,33626)|0); + $15 = (_sqlite3StrICmp($14,33105)|0); $16 = ($15|0)==(0); if ($16) { HEAP32[$0>>2] = 1; break; } $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3StrICmp($17,26775)|0); + $18 = (_sqlite3StrICmp($17,26159)|0); $19 = ($18|0)==(0); if ($19) { HEAP32[$0>>2] = 2; @@ -162062,6 +164376,47 @@ function _releaseMemArray($p,$N) { } STACKTOP = sp;return; } +function _initMemArray($p,$N,$db,$flags) { + $p = $p|0; + $N = $N|0; + $db = $db|0; + $flags = $flags|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 12|0; + HEAP32[$0>>2] = $p; + HEAP32[$1>>2] = $N; + HEAP32[$2>>2] = $db; + HEAP16[$3>>1] = $flags; + while(1) { + $4 = HEAP32[$1>>2]|0; + $5 = (($4) + -1)|0; + HEAP32[$1>>2] = $5; + $6 = ($4|0)>(0); + if (!($6)) { + break; + } + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 32|0); + HEAP32[$9>>2] = $7; + $10 = HEAP16[$3>>1]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 8|0); + HEAP16[$12>>1] = $10; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 24|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 40|0); + HEAP32[$0>>2] = $16; + } + STACKTOP = sp;return; +} function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { $pParse = $pParse|0; $iDb = $iDb|0; @@ -162101,7 +164456,7 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { } $13 = HEAP32[$i>>2]|0; HEAP32[$vararg_buffer>>2] = $13; - (_sqlite3_snprintf(24,$zTab,34662,$vararg_buffer)|0); + (_sqlite3_snprintf(24,$zTab,34141,$vararg_buffer)|0); $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$zDbName>>2]|0; @@ -162119,7 +164474,7 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { HEAP32[$vararg_ptr5>>2] = $21; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $22; - _sqlite3NestedParse($19,31534,$vararg_buffer1); + _sqlite3NestedParse($19,30938,$vararg_buffer1); } $23 = HEAP32[$i>>2]|0; $24 = (($23) + 1)|0; @@ -162154,7 +164509,7 @@ function _destroyRootPage($pParse,$iTable,$iDb) { $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$r1>>2]|0; $10 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($7,128,$8,$9,$10)|0); + (_sqlite3VdbeAddOp3($7,130,$8,$9,$10)|0); $11 = HEAP32[$0>>2]|0; _sqlite3MayAbort($11); $12 = HEAP32[$0>>2]|0; @@ -162167,7 +164522,7 @@ function _destroyRootPage($pParse,$iTable,$iDb) { $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$2>>2]|0; $21 = ($20|0)==(1); - $22 = $21 ? 20521 : 20540; + $22 = $21 ? 19905 : 19924; $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$r1>>2]|0; $25 = HEAP32[$r1>>2]|0; @@ -162180,7 +164535,7 @@ function _destroyRootPage($pParse,$iTable,$iDb) { HEAP32[$vararg_ptr3>>2] = $24; $vararg_ptr4 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr4>>2] = $25; - _sqlite3NestedParse($12,34606,$vararg_buffer); + _sqlite3NestedParse($12,34085,$vararg_buffer); $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$r1>>2]|0; _sqlite3ReleaseTempReg($26,$27); @@ -162444,7 +164799,7 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $47 = HEAP32[$2>>2]|0; $48 = HEAP32[$47>>2]|0; HEAP32[$vararg_buffer1>>2] = $48; - _sqlite3ErrorMsg($46,35772,$vararg_buffer1); + _sqlite3ErrorMsg($46,35257,$vararg_buffer1); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -162459,7 +164814,7 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$38>>2]|0; HEAP32[$vararg_buffer>>2] = $39; - _sqlite3ErrorMsg($37,35743,$vararg_buffer); + _sqlite3ErrorMsg($37,35228,$vararg_buffer); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -162472,11 +164827,11 @@ function _sqlite3VdbeCountChanges($v) { $0 = sp; HEAP32[$0>>2] = $v; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 89|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 & -5; - $5 = $4 | 4; - HEAP8[$2>>0] = $5; + $2 = ((($1)) + 144|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3 & -17; + $5 = $4 | 16; + HEAP16[$2>>1] = $5; STACKTOP = sp;return; } function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { @@ -162508,11 +164863,11 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0; var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0; var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0; - var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $addr1 = 0, $addr2 = 0, $db = 0, $destHasUniqueIdx = 0, $emptyDestTest = 0, $emptySrcTest = 0, $i = 0, $iDbSrc = 0, $iDest = 0, $iSrc = 0, $idxInsFlags = 0, $or$cond = 0, $or$cond4 = 0, $pDestCol = 0, $pDestIdx = 0, $pEList = 0, $pItem = 0; - var $pSrc = 0, $pSrcCol = 0, $pSrcIdx = 0, $regAutoinc = 0, $regData = 0, $regRowid = 0, $v = 0, $zColl = 0, label = 0, sp = 0; + var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr1 = 0, $addr2 = 0, $db = 0, $destHasUniqueIdx = 0, $emptyDestTest = 0, $emptySrcTest = 0, $i = 0, $iDbSrc = 0, $iDest = 0, $iSrc = 0, $idxInsFlags = 0, $or$cond = 0, $or$cond4 = 0, $pDestCol = 0, $pDestIdx = 0, $pEList = 0; + var $pItem = 0, $pSrc = 0, $pSrcCol = 0, $pSrcIdx = 0, $regAutoinc = 0, $regData = 0, $regRowid = 0, $v = 0, $zColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 108|0; @@ -162559,11 +164914,11 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $9 = ($8|0)==(0|0); if ($9) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 536|0); + $11 = ((($10)) + 472|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)!=(0|0); if (!($13)) { @@ -162578,8 +164933,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $21 = ($20|0)!=(0|0); if ($21) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $22 = HEAP32[$2>>2]|0; $23 = ((($22)) + 42|0); @@ -162589,8 +164944,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $27 = ($26|0)!=(0); if ($27) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $28 = HEAP32[$4>>2]|0; $29 = ($28|0)==(10); @@ -162620,8 +164975,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $45 = ($44|0)!=(1); if ($45) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $46 = HEAP32[$3>>2]|0; $47 = ((($46)) + 28|0); @@ -162632,8 +164987,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $52 = ($51|0)!=(0|0); if ($52) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $53 = HEAP32[$3>>2]|0; $54 = ((($53)) + 32|0); @@ -162641,8 +164996,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $56 = ($55|0)!=(0|0); if ($56) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $57 = HEAP32[$3>>2]|0; $58 = ((($57)) + 44|0); @@ -162650,8 +165005,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $60 = ($59|0)!=(0|0); if ($60) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $61 = HEAP32[$3>>2]|0; $62 = ((($61)) + 36|0); @@ -162659,8 +165014,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $64 = ($63|0)!=(0|0); if ($64) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $65 = HEAP32[$3>>2]|0; $66 = ((($65)) + 56|0); @@ -162668,8 +165023,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $68 = ($67|0)!=(0|0); if ($68) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $69 = HEAP32[$3>>2]|0; $70 = ((($69)) + 48|0); @@ -162677,8 +165032,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $72 = ($71|0)!=(0|0); if ($72) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $73 = HEAP32[$3>>2]|0; $74 = ((($73)) + 8|0); @@ -162687,8 +165042,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $77 = ($76|0)!=(0); if ($77) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $78 = HEAP32[$3>>2]|0; $79 = HEAP32[$78>>2]|0; @@ -162698,8 +165053,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $82 = ($81|0)!=(1); if ($82) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $83 = HEAP32[$pEList>>2]|0; $84 = ((($83)) + 4|0); @@ -162707,11 +165062,11 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $86 = HEAP32[$85>>2]|0; $87 = HEAP8[$86>>0]|0; $88 = $87&255; - $89 = ($88|0)!=(158); + $89 = ($88|0)!=(160); if ($89) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $90 = HEAP32[$3>>2]|0; $91 = ((($90)) + 28|0); @@ -162726,16 +165081,16 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $98 = ($97|0)==(0|0); if ($98) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $99 = HEAP32[$pSrc>>2]|0; $100 = HEAP32[$2>>2]|0; $101 = ($99|0)==($100|0); if ($101) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $102 = HEAP32[$2>>2]|0; $103 = ((($102)) + 42|0); @@ -162754,8 +165109,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $116 = ($108|0)!=($115|0); if ($116) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $117 = HEAP32[$pSrc>>2]|0; $118 = ((($117)) + 42|0); @@ -162765,8 +165120,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $122 = ($121|0)!=(0); if ($122) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $123 = HEAP32[$pSrc>>2]|0; $124 = ((($123)) + 12|0); @@ -162774,8 +165129,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $126 = ($125|0)!=(0|0); if ($126) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $127 = HEAP32[$2>>2]|0; $128 = ((($127)) + 34|0); @@ -162788,8 +165143,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $135 = ($130|0)!=($134|0); if ($135) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $136 = HEAP32[$2>>2]|0; $137 = ((($136)) + 32|0); @@ -162802,8 +165157,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $144 = ($139|0)!=($143|0); if ($144) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } HEAP32[$i>>2] = 0; L91: while(1) { @@ -162919,23 +165274,23 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } if ((label|0) == 52) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 54) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 57) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 62) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 64) { $218 = HEAP32[$2>>2]|0; @@ -162991,8 +165346,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } if ((label|0) == 73) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $245 = HEAP32[$2>>2]|0; $246 = ((($245)) + 24|0); @@ -163012,8 +165367,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } } while(0); $257 = HEAP32[$db>>2]|0; @@ -163031,8 +165386,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { break; } HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } } while(0); $266 = HEAP32[$db>>2]|0; @@ -163042,8 +165397,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $270 = ($269|0)!=(0); if ($270) { HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $271 = HEAP32[$db>>2]|0; $272 = HEAP32[$pSrc>>2]|0; @@ -163058,13 +165413,13 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $279 = HEAP32[$iDbSrc>>2]|0; _sqlite3CodeVerifySchema($278,$279); $280 = HEAP32[$1>>2]|0; - $281 = ((($280)) + 72|0); + $281 = ((($280)) + 40|0); $282 = HEAP32[$281>>2]|0; $283 = (($282) + 1)|0; HEAP32[$281>>2] = $283; HEAP32[$iSrc>>2] = $282; $284 = HEAP32[$1>>2]|0; - $285 = ((($284)) + 72|0); + $285 = ((($284)) + 40|0); $286 = HEAP32[$285>>2]|0; $287 = (($286) + 1)|0; HEAP32[$285>>2] = $287; @@ -163084,7 +165439,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $297 = HEAP32[$iDest>>2]|0; $298 = HEAP32[$5>>2]|0; $299 = HEAP32[$2>>2]|0; - _sqlite3OpenTable($296,$297,$298,$299,103); + _sqlite3OpenTable($296,$297,$298,$299,105); $300 = HEAP32[$db>>2]|0; $301 = ((($300)) + 24|0); $302 = HEAP32[$301>>2]|0; @@ -163127,7 +165482,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } $320 = HEAP32[$v>>2]|0; $321 = HEAP32[$iDest>>2]|0; - $322 = (_sqlite3VdbeAddOp2($320,55,$321,0)|0); + $322 = (_sqlite3VdbeAddOp2($320,57,$321,0)|0); HEAP32[$addr1>>2] = $322; $323 = HEAP32[$v>>2]|0; $324 = (_sqlite3VdbeAddOp0($323,13)|0); @@ -163148,10 +165503,10 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $334 = HEAP32[$iSrc>>2]|0; $335 = HEAP32[$iDbSrc>>2]|0; $336 = HEAP32[$pSrc>>2]|0; - _sqlite3OpenTable($333,$334,$335,$336,102); + _sqlite3OpenTable($333,$334,$335,$336,104); $337 = HEAP32[$v>>2]|0; $338 = HEAP32[$iSrc>>2]|0; - $339 = (_sqlite3VdbeAddOp2($337,55,$338,0)|0); + $339 = (_sqlite3VdbeAddOp2($337,57,$338,0)|0); HEAP32[$emptySrcTest>>2] = $339; $340 = HEAP32[$2>>2]|0; $341 = ((($340)) + 32|0); @@ -163163,12 +165518,12 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $345 = HEAP32[$v>>2]|0; $346 = HEAP32[$iSrc>>2]|0; $347 = HEAP32[$regRowid>>2]|0; - $348 = (_sqlite3VdbeAddOp2($345,121,$346,$347)|0); + $348 = (_sqlite3VdbeAddOp2($345,123,$346,$347)|0); HEAP32[$addr1>>2] = $348; $349 = HEAP32[$v>>2]|0; $350 = HEAP32[$iDest>>2]|0; $351 = HEAP32[$regRowid>>2]|0; - $352 = (_sqlite3VdbeAddOp3($349,32,$350,0,$351)|0); + $352 = (_sqlite3VdbeAddOp3($349,33,$350,0,$351)|0); HEAP32[$addr2>>2] = $352; $353 = HEAP32[$1>>2]|0; $354 = HEAP32[$4>>2]|0; @@ -163190,13 +165545,13 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { if ($364) { $366 = HEAP32[$iDest>>2]|0; $367 = HEAP32[$regRowid>>2]|0; - $368 = (_sqlite3VdbeAddOp2($365,112,$366,$367)|0); + $368 = (_sqlite3VdbeAddOp2($365,114,$366,$367)|0); HEAP32[$addr1>>2] = $368; break; } else { $369 = HEAP32[$iSrc>>2]|0; $370 = HEAP32[$regRowid>>2]|0; - $371 = (_sqlite3VdbeAddOp2($365,121,$369,$370)|0); + $371 = (_sqlite3VdbeAddOp2($365,123,$369,$370)|0); HEAP32[$addr1>>2] = $371; break; } @@ -163205,13 +165560,13 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $372 = HEAP32[$v>>2]|0; $373 = HEAP32[$iSrc>>2]|0; $374 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp2($372,120,$373,$374)|0); + (_sqlite3VdbeAddOp2($372,122,$373,$374)|0); $375 = HEAP32[$v>>2]|0; $376 = HEAP32[$iDest>>2]|0; $377 = HEAP32[$regData>>2]|0; $378 = HEAP32[$regRowid>>2]|0; $379 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($375,113,$376,$377,$378,$379,-20)|0); + (_sqlite3VdbeAddOp4($375,115,$376,$377,$378,$379,-20)|0); $380 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($380,11); $381 = HEAP32[$v>>2]|0; @@ -163220,10 +165575,10 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { (_sqlite3VdbeAddOp2($381,7,$382,$383)|0); $384 = HEAP32[$v>>2]|0; $385 = HEAP32[$iSrc>>2]|0; - (_sqlite3VdbeAddOp2($384,109,$385,0)|0); + (_sqlite3VdbeAddOp2($384,111,$385,0)|0); $386 = HEAP32[$v>>2]|0; $387 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($386,109,$387,0)|0); + (_sqlite3VdbeAddOp2($386,111,$387,0)|0); } else { $388 = HEAP32[$5>>2]|0; $389 = HEAP32[$2>>2]|0; @@ -163280,7 +165635,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $421 = ((($420)) + 44|0); $422 = HEAP32[$421>>2]|0; $423 = HEAP32[$iDbSrc>>2]|0; - (_sqlite3VdbeAddOp3($418,102,$419,$422,$423)|0); + (_sqlite3VdbeAddOp3($418,104,$419,$422,$423)|0); $424 = HEAP32[$1>>2]|0; $425 = HEAP32[$pSrcIdx>>2]|0; _sqlite3VdbeSetP4KeyInfo($424,$425); @@ -163290,7 +165645,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $429 = ((($428)) + 44|0); $430 = HEAP32[$429>>2]|0; $431 = HEAP32[$5>>2]|0; - (_sqlite3VdbeAddOp3($426,103,$427,$430,$431)|0); + (_sqlite3VdbeAddOp3($426,105,$427,$430,$431)|0); $432 = HEAP32[$1>>2]|0; $433 = HEAP32[$pDestIdx>>2]|0; _sqlite3VdbeSetP4KeyInfo($432,$433); @@ -163298,12 +165653,12 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { _sqlite3VdbeChangeP5($434,1); $435 = HEAP32[$v>>2]|0; $436 = HEAP32[$iSrc>>2]|0; - $437 = (_sqlite3VdbeAddOp2($435,55,$436,0)|0); + $437 = (_sqlite3VdbeAddOp2($435,57,$436,0)|0); HEAP32[$addr1>>2] = $437; $438 = HEAP32[$v>>2]|0; $439 = HEAP32[$iSrc>>2]|0; $440 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp2($438,119,$439,$440)|0); + (_sqlite3VdbeAddOp2($438,121,$439,$440)|0); $441 = HEAP32[$db>>2]|0; $442 = ((($441)) + 24|0); $443 = HEAP32[$442>>2]|0; @@ -163330,7 +165685,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $457 = HEAP32[$456>>2]|0; HEAP32[$zColl>>2] = $457; $458 = HEAP32[$zColl>>2]|0; - $459 = (_sqlite3_stricmp(35351,$458)|0); + $459 = (_sqlite3_stricmp(34834,$458)|0); $460 = ($459|0)!=(0); if ($460) { break; @@ -163351,7 +165706,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { HEAP8[$idxInsFlags>>0] = 16; $469 = HEAP32[$v>>2]|0; $470 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp3($469,33,$470,0,-1)|0); + (_sqlite3VdbeAddOp3($469,53,$470,0,-1)|0); } } while(0); $471 = HEAP32[$pSrc>>2]|0; @@ -163381,7 +165736,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $487 = HEAP32[$v>>2]|0; $488 = HEAP32[$iDest>>2]|0; $489 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp3($487,124,$488,$489,1)|0); + (_sqlite3VdbeAddOp3($487,126,$488,$489,1)|0); $490 = HEAP32[$v>>2]|0; $491 = HEAP8[$idxInsFlags>>0]|0; _sqlite3VdbeChangeP5($490,$491); @@ -163395,10 +165750,10 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { _sqlite3VdbeJumpHere($496,$497); $498 = HEAP32[$v>>2]|0; $499 = HEAP32[$iSrc>>2]|0; - (_sqlite3VdbeAddOp2($498,109,$499,0)|0); + (_sqlite3VdbeAddOp2($498,111,$499,0)|0); $500 = HEAP32[$v>>2]|0; $501 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($500,109,$501,0)|0); + (_sqlite3VdbeAddOp2($500,111,$501,0)|0); $502 = HEAP32[$pDestIdx>>2]|0; $503 = ((($502)) + 20|0); $504 = HEAP32[$503>>2]|0; @@ -163420,28 +165775,30 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $513 = HEAP32[$emptyDestTest>>2]|0; $514 = ($513|0)!=(0); if ($514) { - $515 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($515,73,0,0)|0); + $515 = HEAP32[$1>>2]|0; + _sqlite3AutoincrementEnd($515); $516 = HEAP32[$v>>2]|0; - $517 = HEAP32[$emptyDestTest>>2]|0; - _sqlite3VdbeJumpHere($516,$517); - $518 = HEAP32[$v>>2]|0; - $519 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($518,109,$519,0)|0); + (_sqlite3VdbeAddOp2($516,75,0,0)|0); + $517 = HEAP32[$v>>2]|0; + $518 = HEAP32[$emptyDestTest>>2]|0; + _sqlite3VdbeJumpHere($517,$518); + $519 = HEAP32[$v>>2]|0; + $520 = HEAP32[$iDest>>2]|0; + (_sqlite3VdbeAddOp2($519,111,$520,0)|0); HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else { HEAP32[$0>>2] = 1; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } } } } HEAP32[$0>>2] = 0; - $520 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($520|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } function _autoIncBegin($pParse,$iDb,$pTab) { $pParse = $pParse|0; @@ -163450,7 +165807,7 @@ function _autoIncBegin($pParse,$iDb,$pTab) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $memId = 0, $pInfo = 0, $pToplevel = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $memId = 0, $pInfo = 0, $pToplevel = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -163472,103 +165829,111 @@ function _autoIncBegin($pParse,$iDb,$pTab) { $9 = ($8|0)!=(0); if ($9) { $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 416|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - $14 = HEAP32[$1>>2]|0; - if ($13) { - $15 = ((($14)) + 416|0); - $16 = HEAP32[$15>>2]|0; - $17 = $16; - } else { - $17 = $14; - } - HEAP32[$pToplevel>>2] = $17; - $18 = HEAP32[$pToplevel>>2]|0; - $19 = ((($18)) + 412|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pInfo>>2] = $20; - while(1) { - $21 = HEAP32[$pInfo>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $23 = HEAP32[$pInfo>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$3>>2]|0; - $27 = ($25|0)!=($26|0); - $68 = $27; + $11 = HEAP32[$10>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13 & 268435456; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 124|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)!=(0|0); + $20 = HEAP32[$1>>2]|0; + if ($19) { + $21 = ((($20)) + 124|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22; } else { - $68 = 0; - } - $28 = HEAP32[$pInfo>>2]|0; - if (!($68)) { - break; + $23 = $20; } - $29 = HEAP32[$28>>2]|0; - HEAP32[$pInfo>>2] = $29; - } - $30 = ($28|0)==(0|0); - do { - if ($30) { - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3DbMallocRawNN($32,16,0)|0); - HEAP32[$pInfo>>2] = $33; + HEAP32[$pToplevel>>2] = $23; + $24 = HEAP32[$pToplevel>>2]|0; + $25 = ((($24)) + 120|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$pInfo>>2] = $26; + while(1) { + $27 = HEAP32[$pInfo>>2]|0; + $28 = ($27|0)!=(0|0); + if ($28) { + $29 = HEAP32[$pInfo>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = ($31|0)!=($32|0); + $74 = $33; + } else { + $74 = 0; + } $34 = HEAP32[$pInfo>>2]|0; - $35 = ($34|0)==(0|0); - if (!($35)) { - $36 = HEAP32[$pToplevel>>2]|0; - $37 = ((($36)) + 412|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$pInfo>>2]|0; - HEAP32[$39>>2] = $38; - $40 = HEAP32[$pInfo>>2]|0; - $41 = HEAP32[$pToplevel>>2]|0; - $42 = ((($41)) + 412|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$3>>2]|0; - $44 = HEAP32[$pInfo>>2]|0; - $45 = ((($44)) + 4|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$2>>2]|0; - $47 = HEAP32[$pInfo>>2]|0; - $48 = ((($47)) + 8|0); - HEAP32[$48>>2] = $46; - $49 = HEAP32[$pToplevel>>2]|0; - $50 = ((($49)) + 76|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + 1)|0; - HEAP32[$50>>2] = $52; - $53 = HEAP32[$pToplevel>>2]|0; - $54 = ((($53)) + 76|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$54>>2] = $56; - $57 = HEAP32[$pInfo>>2]|0; - $58 = ((($57)) + 12|0); - HEAP32[$58>>2] = $56; - $59 = HEAP32[$pToplevel>>2]|0; - $60 = ((($59)) + 76|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61) + 1)|0; - HEAP32[$60>>2] = $62; + if (!($74)) { break; } - HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$pInfo>>2] = $35; } - } while(0); - $63 = HEAP32[$pInfo>>2]|0; - $64 = ((($63)) + 12|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$memId>>2] = $65; + $36 = ($34|0)==(0|0); + do { + if ($36) { + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$37>>2]|0; + $39 = (_sqlite3DbMallocRawNN($38,16,0)|0); + HEAP32[$pInfo>>2] = $39; + $40 = HEAP32[$pInfo>>2]|0; + $41 = ($40|0)==(0|0); + if (!($41)) { + $42 = HEAP32[$pToplevel>>2]|0; + $43 = ((($42)) + 120|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$pInfo>>2]|0; + HEAP32[$45>>2] = $44; + $46 = HEAP32[$pInfo>>2]|0; + $47 = HEAP32[$pToplevel>>2]|0; + $48 = ((($47)) + 120|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$3>>2]|0; + $50 = HEAP32[$pInfo>>2]|0; + $51 = ((($50)) + 4|0); + HEAP32[$51>>2] = $49; + $52 = HEAP32[$2>>2]|0; + $53 = HEAP32[$pInfo>>2]|0; + $54 = ((($53)) + 8|0); + HEAP32[$54>>2] = $52; + $55 = HEAP32[$pToplevel>>2]|0; + $56 = ((($55)) + 44|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + 1)|0; + HEAP32[$56>>2] = $58; + $59 = HEAP32[$pToplevel>>2]|0; + $60 = ((($59)) + 44|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$60>>2] = $62; + $63 = HEAP32[$pInfo>>2]|0; + $64 = ((($63)) + 12|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$pToplevel>>2]|0; + $66 = ((($65)) + 44|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + break; + } + HEAP32[$0>>2] = 0; + $73 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($73|0); + } + } while(0); + $69 = HEAP32[$pInfo>>2]|0; + $70 = ((($69)) + 12|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$memId>>2] = $71; + } } - $66 = HEAP32[$memId>>2]|0; - HEAP32[$0>>2] = $66; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $72 = HEAP32[$memId>>2]|0; + HEAP32[$0>>2] = $72; + $73 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($73|0); } function _sqlite3VdbeEndCoroutine($v,$regYield) { $v = $v|0; @@ -163582,16 +165947,16 @@ function _sqlite3VdbeEndCoroutine($v,$regYield) { HEAP32[$1>>2] = $regYield; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp1($2,71,$3)|0); + (_sqlite3VdbeAddOp1($2,73,$3)|0); $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 24|0); + $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 19|0); HEAP8[$7>>0] = 0; $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 24|0); + $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 60|0); + $11 = ((($10)) + 28|0); HEAP32[$11>>2] = 0; STACKTOP = sp;return; } @@ -163657,7 +166022,7 @@ function _readsTable($p,$iDb,$pTab) { $25 = HEAP32[$pOp>>2]|0; $26 = HEAP8[$25>>0]|0; $27 = $26&255; - $28 = ($27|0)==(102); + $28 = ($27|0)==(104); L7: do { if ($28) { $29 = HEAP32[$pOp>>2]|0; @@ -163709,7 +166074,7 @@ function _readsTable($p,$iDb,$pTab) { $55 = HEAP32[$pOp>>2]|0; $56 = HEAP8[$55>>0]|0; $57 = $56&255; - $58 = ($57|0)==(153); + $58 = ($57|0)==(155); if ($58) { $59 = HEAP32[$pOp>>2]|0; $60 = ((($59)) + 16|0); @@ -163772,7 +166137,7 @@ function _sqlite3ExprCodeAndCache($pParse,$pExpr,$target) { $8 = HEAP32[$2>>2]|0; _sqlite3ExprCode($6,$7,$8); $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 76|0); + $10 = ((($9)) + 44|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + 1)|0; HEAP32[$10>>2] = $12; @@ -163780,7 +166145,7 @@ function _sqlite3ExprCodeAndCache($pParse,$pExpr,$target) { $13 = HEAP32[$v>>2]|0; $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$iMem>>2]|0; - (_sqlite3VdbeAddOp2($13,82,$14,$15)|0); + (_sqlite3VdbeAddOp2($13,84,$14,$15)|0); $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$iMem>>2]|0; _exprToRegister($16,$17); @@ -163900,7 +166265,7 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { $62 = HEAP32[$i>>2]|0; $63 = HEAP32[$zColAff>>2]|0; $64 = HEAP32[$i>>2]|0; - (_sqlite3VdbeAddOp4($60,95,$61,$62,0,$63,$64)|0); + (_sqlite3VdbeAddOp4($60,98,$61,$62,0,$63,$64)|0); STACKTOP = sp;return; } else { $65 = HEAP32[$zColAff>>2]|0; @@ -164012,7 +166377,7 @@ function _autoIncStep($pParse,$memId,$regRowid) { $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($7,143,$8,$9)|0); + (_sqlite3VdbeAddOp2($7,145,$8,$9)|0); STACKTOP = sp;return; } function _sqlite3ExprCodeFactorable($pParse,$pExpr,$target) { @@ -164068,12 +166433,12 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 416|0); + $3 = ((($2)) + 124|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); $6 = HEAP32[$0>>2]|0; if ($5) { - $7 = ((($6)) + 416|0); + $7 = ((($6)) + 124|0); $8 = HEAP32[$7>>2]|0; $9 = $8; } else { @@ -164084,7 +166449,7 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { while(1) { $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$pToplevel>>2]|0; - $12 = ((($11)) + 456|0); + $12 = ((($11)) + 412|0); $13 = HEAP32[$12>>2]|0; $14 = ($10|0)<($13|0); if (!($14)) { @@ -164093,7 +166458,7 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { $15 = HEAP32[$1>>2]|0; $16 = HEAP32[$i>>2]|0; $17 = HEAP32[$pToplevel>>2]|0; - $18 = ((($17)) + 524|0); + $18 = ((($17)) + 460|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + ($16<<2)|0); $21 = HEAP32[$20>>2]|0; @@ -164110,13 +166475,13 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { STACKTOP = sp;return; } $25 = HEAP32[$pToplevel>>2]|0; - $26 = ((($25)) + 456|0); + $26 = ((($25)) + 412|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + 1)|0; $29 = $28<<2; HEAP32[$n>>2] = $29; $30 = HEAP32[$pToplevel>>2]|0; - $31 = ((($30)) + 524|0); + $31 = ((($30)) + 460|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$n>>2]|0; $34 = ($33|0)<(0); @@ -164128,16 +166493,16 @@ function _sqlite3VtabMakeWritable($pParse,$pTab) { if ($38) { $39 = HEAP32[$apVtabLock>>2]|0; $40 = HEAP32[$pToplevel>>2]|0; - $41 = ((($40)) + 524|0); + $41 = ((($40)) + 460|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$1>>2]|0; $43 = HEAP32[$pToplevel>>2]|0; - $44 = ((($43)) + 456|0); + $44 = ((($43)) + 412|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + 1)|0; HEAP32[$44>>2] = $46; $47 = HEAP32[$pToplevel>>2]|0; - $48 = ((($47)) + 524|0); + $48 = ((($47)) + 460|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) + ($45<<2)|0); HEAP32[$50>>2] = $42; @@ -164428,7 +166793,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx HEAP32[$vararg_buffer>>2] = $83; $vararg_ptr4 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr4>>2] = $89; - $90 = (_sqlite3MPrintf($81,30757,$vararg_buffer)|0); + $90 = (_sqlite3MPrintf($81,30161,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $90; $91 = HEAP32[$v>>2]|0; $92 = HEAP32[$onError>>2]|0; @@ -164437,7 +166802,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $95 = HEAP32[$i>>2]|0; $96 = (($94) + ($95))|0; $97 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($91,72,1299,$92,$96,$97,-1)|0); + (_sqlite3VdbeAddOp4($91,74,1299,$92,$96,$97,-1)|0); $98 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($98,1); } @@ -164466,7 +166831,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $139 = HEAP32[$5>>2]|0; $140 = (($139) + 1)|0; $141 = HEAP32[$0>>2]|0; - $142 = ((($141)) + 100|0); + $142 = ((($141)) + 56|0); HEAP32[$142>>2] = $140; $143 = HEAP8[$8>>0]|0; $144 = $143&255; @@ -164647,7 +167012,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $247 = HEAP32[$3>>2]|0; $248 = HEAP32[$addrRowidOk>>2]|0; $249 = HEAP32[$5>>2]|0; - (_sqlite3VdbeAddOp3($246,32,$247,$248,$249)|0); + (_sqlite3VdbeAddOp3($246,33,$247,$248,$249)|0); $250 = HEAP32[$onError>>2]|0; switch ($250|0) { case 3: case 2: case 1: { @@ -164785,11 +167150,11 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $322 = HEAP32[$2>>2]|0; $323 = (($322) + ($321<<2)|0); $324 = HEAP32[$323>>2]|0; - (_sqlite3VdbeAddOp2($320,77,0,$324)|0); + (_sqlite3VdbeAddOp2($320,79,0,$324)|0); $325 = HEAP32[$5>>2]|0; $326 = (($325) + 1)|0; $327 = HEAP32[$0>>2]|0; - $328 = ((($327)) + 100|0); + $328 = ((($327)) + 56|0); HEAP32[$328>>2] = $326; $329 = HEAP32[$0>>2]|0; $330 = HEAP32[$pIdx>>2]|0; @@ -164798,7 +167163,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $333 = HEAP32[$addrUniqueOk>>2]|0; _sqlite3ExprIfFalseDup($329,$332,$333,16); $334 = HEAP32[$0>>2]|0; - $335 = ((($334)) + 100|0); + $335 = ((($334)) + 56|0); HEAP32[$335>>2] = 0; } $336 = HEAP32[$0>>2]|0; @@ -164834,7 +167199,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $357 = HEAP32[$5>>2]|0; $358 = (($357) + 1)|0; $359 = HEAP32[$0>>2]|0; - $360 = ((($359)) + 100|0); + $360 = ((($359)) + 56|0); HEAP32[$360>>2] = $358; $361 = HEAP32[$0>>2]|0; $362 = HEAP32[$i>>2]|0; @@ -164850,7 +167215,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $372 = (($370) + ($371))|0; _sqlite3ExprCodeCopy($361,$369,$372); $373 = HEAP32[$0>>2]|0; - $374 = ((($373)) + 100|0); + $374 = ((($373)) + 56|0); HEAP32[$374>>2] = 0; } else { $375 = HEAP32[$iField>>2]|0; @@ -164903,7 +167268,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $401 = HEAP32[$v>>2]|0; $402 = HEAP32[$iField>>2]|0; $403 = ($402|0)<(0); - $404 = $403 ? 84 : 83; + $404 = $403 ? 86 : 85; $405 = HEAP32[$x>>2]|0; $406 = HEAP32[$regIdx>>2]|0; $407 = HEAP32[$i>>2]|0; @@ -164925,7 +167290,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $418 = HEAP32[$2>>2]|0; $419 = (($418) + ($417<<2)|0); $420 = HEAP32[$419>>2]|0; - (_sqlite3VdbeAddOp3($411,96,$412,$416,$420)|0); + (_sqlite3VdbeAddOp3($411,99,$412,$416,$420)|0); $421 = HEAP32[$0>>2]|0; $422 = HEAP32[$regIdx>>2]|0; $423 = HEAP32[$pIdx>>2]|0; @@ -165026,7 +167391,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $486 = HEAP32[$v>>2]|0; $487 = HEAP32[$iThisCur>>2]|0; $488 = HEAP32[$regR>>2]|0; - (_sqlite3VdbeAddOp2($486,127,$487,$488)|0); + (_sqlite3VdbeAddOp2($486,129,$487,$488)|0); $489 = HEAP8[$isUpdate>>0]|0; $490 = ($489<<24>>24)!=(0); if (!($490)) { @@ -165073,7 +167438,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $517 = HEAP32[$regR>>2]|0; $518 = HEAP32[$i>>2]|0; $519 = (($517) + ($518))|0; - (_sqlite3VdbeAddOp3($514,94,$515,$516,$519)|0); + (_sqlite3VdbeAddOp3($514,96,$515,$516,$519)|0); $520 = HEAP32[$i>>2]|0; $521 = (($520) + 1)|0; HEAP32[$i>>2] = $521; @@ -165324,7 +167689,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 442|0); + $9 = ((($8)) + 150|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; HEAP32[$isIgnoreErrors>>2] = $11; @@ -165393,7 +167758,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { if ((label|0) == 7) { label = 0; $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 442|0); + $49 = ((($48)) + 150|0); $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)!=(0); if ($51) { @@ -165512,7 +167877,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $173 = HEAP32[$172>>2]|0; _sqlite3TableLock($167,$168,$171,0,$173); $174 = HEAP32[$0>>2]|0; - $175 = ((($174)) + 72|0); + $175 = ((($174)) + 40|0); $176 = HEAP32[$175>>2]|0; $177 = (($176) + 1)|0; HEAP32[$175>>2] = $177; @@ -165615,7 +167980,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $109 = ((($108)) + 24|0); $110 = HEAP8[$109>>0]|0; $111 = $110&255; - (_sqlite3VdbeAddOp2($107,142,$111,-1)|0); + (_sqlite3VdbeAddOp2($107,144,$111,-1)|0); } } } while(0); @@ -165667,7 +168032,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $227 = ($226|0)!=(0); if (!($227)) { $228 = HEAP32[$0>>2]|0; - $229 = ((($228)) + 416|0); + $229 = ((($228)) + 124|0); $230 = HEAP32[$229>>2]|0; $231 = ($230|0)!=(0|0); if (!($231)) { @@ -165733,7 +168098,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $268 = (($267) + 1)<<16>>16; HEAP16[$266>>1] = $268; $269 = HEAP32[$0>>2]|0; - $270 = ((($269)) + 72|0); + $270 = ((($269)) + 40|0); $271 = HEAP32[$270>>2]|0; $272 = (($271) + 1)|0; HEAP32[$270>>2] = $272; @@ -165901,7 +168266,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, $38 = HEAP32[$5>>2]|0; $39 = (($38) + ($37<<2)|0); $40 = HEAP32[$39>>2]|0; - (_sqlite3VdbeAddOp2($33,124,$36,$40)|0); + (_sqlite3VdbeAddOp2($33,126,$36,$40)|0); HEAP8[$pik_flags>>0] = 0; $41 = HEAP32[$8>>2]|0; $42 = ($41|0)!=(0); @@ -165962,7 +168327,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, $80 = HEAP16[$79>>1]|0; $81 = $80 << 16 >> 16; $82 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($76,96,$77,$81,$82)|0); + (_sqlite3VdbeAddOp3($76,99,$77,$81,$82)|0); $83 = HEAP8[$bAffinityDone>>0]|0; $84 = ($83<<24>>24)!=(0); if (!($84)) { @@ -166016,7 +168381,7 @@ function _sqlite3CompleteInsertion($pParse,$pTab,$iDataCur,$iIdxCur,$regNewData, $117 = HEAP32[$2>>2]|0; $118 = HEAP32[$regRec>>2]|0; $119 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp3($116,113,$117,$118,$119)|0); + (_sqlite3VdbeAddOp3($116,115,$117,$118,$119)|0); $120 = HEAP32[$0>>2]|0; $121 = ((($120)) + 18|0); $122 = HEAP8[$121>>0]|0; @@ -166039,7 +168404,7 @@ function _sqlite3AutoincrementEnd($pParse) { $0 = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 412|0); + $2 = ((($1)) + 120|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { @@ -166074,7 +168439,7 @@ function _autoIncrementEnd($pParse) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 412|0); + $7 = ((($6)) + 120|0); $8 = HEAP32[$7>>2]|0; HEAP32[$p>>2] = $8; while(1) { @@ -166108,9 +168473,9 @@ function _autoIncrementEnd($pParse) { $29 = HEAP32[$28>>2]|0; $30 = ((($29)) + 72|0); $31 = HEAP32[$30>>2]|0; - _sqlite3OpenTable($23,0,$26,$31,103); + _sqlite3OpenTable($23,0,$26,$31,105); $32 = HEAP32[$v>>2]|0; - $33 = (_sqlite3VdbeAddOpList($32,5,34905,0)|0); + $33 = (_sqlite3VdbeAddOpList($32,5,34384,0)|0); HEAP32[$aOp>>2] = $33; $34 = HEAP32[$aOp>>2]|0; $35 = ($34|0)==(0|0); @@ -166306,7 +168671,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $10 = (_sqlite3GetVdbe($9)|0); HEAP32[$v>>2] = $10; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 72|0); + $12 = ((($11)) + 40|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) - 1)|0; HEAP32[$iCur>>2] = $14; @@ -166322,7 +168687,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = HEAP32[$iOk>>2]|0; - (_sqlite3VdbeAddOp2($19,63,$23,$24)|0); + (_sqlite3VdbeAddOp2($19,65,$23,$24)|0); } HEAP32[$i>>2] = 0; while(1) { @@ -166367,7 +168732,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $52 = HEAP32[$6>>2]|0; $53 = (($51) + ($52))|0; $54 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp2($48,83,$53,$54)|0); + (_sqlite3VdbeAddOp2($48,85,$53,$54)|0); $55 = HEAP32[$v>>2]|0; $56 = HEAP32[$regTemp>>2]|0; $57 = (_sqlite3VdbeAddOp2($55,17,$56,0)|0); @@ -166392,11 +168757,11 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $70 = HEAP32[$iCur>>2]|0; $71 = HEAP32[$1>>2]|0; $72 = HEAP32[$2>>2]|0; - _sqlite3OpenTable($69,$70,$71,$72,102); + _sqlite3OpenTable($69,$70,$71,$72,104); $73 = HEAP32[$v>>2]|0; $74 = HEAP32[$iCur>>2]|0; $75 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp3($73,32,$74,0,$75)|0); + (_sqlite3VdbeAddOp3($73,33,$74,0,$75)|0); $76 = HEAP32[$v>>2]|0; $77 = HEAP32[$iOk>>2]|0; (_sqlite3VdbeGoto($76,$77)|0); @@ -166430,7 +168795,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $97 = ((($96)) + 44|0); $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp3($94,102,$95,$98,$99)|0); + (_sqlite3VdbeAddOp3($94,104,$95,$98,$99)|0); $100 = HEAP32[$0>>2]|0; $101 = HEAP32[$3>>2]|0; _sqlite3VdbeSetP4KeyInfo($100,$101); @@ -166453,7 +168818,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $113 = HEAP32[$regTemp1>>2]|0; $114 = HEAP32[$i>>2]|0; $115 = (($113) + ($114))|0; - (_sqlite3VdbeAddOp2($105,82,$112,$115)|0); + (_sqlite3VdbeAddOp2($105,84,$112,$115)|0); $116 = HEAP32[$i>>2]|0; $117 = (($116) + 1)|0; HEAP32[$i>>2] = $117; @@ -166539,7 +168904,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $177 = HEAP32[$3>>2]|0; $178 = (_sqlite3IndexAffinityStr($176,$177)|0); $179 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp4($171,96,$172,$173,$174,$178,$179)|0); + (_sqlite3VdbeAddOp4($171,99,$172,$173,$174,$178,$179)|0); $180 = HEAP32[$v>>2]|0; $181 = HEAP32[$iCur>>2]|0; $182 = HEAP32[$iOk>>2]|0; @@ -166567,7 +168932,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $198 = ($197|0)!=(0); if (!($198)) { $199 = HEAP32[$0>>2]|0; - $200 = ((($199)) + 416|0); + $200 = ((($199)) + 124|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)!=(0|0); if (!($202)) { @@ -166583,7 +168948,7 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, _sqlite3VdbeResolveLabel($222,$223); $224 = HEAP32[$v>>2]|0; $225 = HEAP32[$iCur>>2]|0; - (_sqlite3VdbeAddOp1($224,109,$225)|0); + (_sqlite3VdbeAddOp1($224,111,$225)|0); STACKTOP = sp;return; } } @@ -166608,13 +168973,13 @@ function _fkLookupParent($pParse,$iDb,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr, $219 = HEAP8[$218>>0]|0; $220 = $219&255; $221 = HEAP32[$7>>2]|0; - (_sqlite3VdbeAddOp2($216,142,$220,$221)|0); + (_sqlite3VdbeAddOp2($216,144,$220,$221)|0); $222 = HEAP32[$v>>2]|0; $223 = HEAP32[$iOk>>2]|0; _sqlite3VdbeResolveLabel($222,$223); $224 = HEAP32[$v>>2]|0; $225 = HEAP32[$iCur>>2]|0; - (_sqlite3VdbeAddOp1($224,109,$225)|0); + (_sqlite3VdbeAddOp1($224,111,$225)|0); STACKTOP = sp;return; } function _isSetNullAction($pParse,$pFKey) { @@ -166633,12 +168998,12 @@ function _isSetNullAction($pParse,$pFKey) { HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $pFKey; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 416|0); + $4 = ((($3)) + 124|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); $7 = HEAP32[$1>>2]|0; if ($6) { - $8 = ((($7)) + 416|0); + $8 = ((($7)) + 124|0); $9 = HEAP32[$8>>2]|0; $10 = $9; } else { @@ -166646,13 +169011,13 @@ function _isSetNullAction($pParse,$pFKey) { } HEAP32[$pTop>>2] = $10; $11 = HEAP32[$pTop>>2]|0; - $12 = ((($11)) + 532|0); + $12 = ((($11)) + 468|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)!=(0|0); do { if ($14) { $15 = HEAP32[$pTop>>2]|0; - $16 = ((($15)) + 532|0); + $16 = ((($15)) + 468|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$17>>2]|0; HEAP32[$p>>2] = $18; @@ -166911,7 +169276,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $16 = ((($15)) + 24|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; - $19 = (_sqlite3VdbeAddOp2($14,63,$18,0)|0); + $19 = (_sqlite3VdbeAddOp2($14,65,$18,0)|0); HEAP32[$iFkIfZero>>2] = $19; } HEAP32[$i>>2] = 0; @@ -167104,7 +169469,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $155 = HEAP8[$154>>0]|0; $156 = $155&255; $157 = HEAP32[$7>>2]|0; - (_sqlite3VdbeAddOp2($152,142,$156,$157)|0); + (_sqlite3VdbeAddOp2($152,144,$156,$157)|0); $158 = HEAP32[$pWInfo>>2]|0; $159 = ($158|0)!=(0|0); if ($159) { @@ -167315,9 +169680,9 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pDistinctSet,$w var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0; var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0; var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addrExplain = 0, $b = 0, $bFordelete = 0; - var $bOnerow = 0, $db = 0, $iCur = 0, $iDb = 0, $iIndexCur = 0, $ii = 0, $n = 0, $nByteWInfo = 0, $nTabList = 0, $notReady = 0, $op = 0, $op1 = 0, $or$cond = 0, $pEnd = 0, $pIx = 0, $pJ = 0, $pLevel = 0, $pLoop = 0, $pMaskSet = 0, $pTab = 0; - var $pTabItem = 0, $pTerm = 0, $pVTab = 0, $pWInfo = 0, $rc = 0, $sWLB = 0, $tabUsed = 0, $v = 0, $vararg_buffer = 0, $wsFlags = 0, $wsFlags2 = 0, label = 0, sp = 0; + var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $addrExplain = 0, $b = 0, $bFordelete = 0, $bOnerow = 0, $db = 0, $iCur = 0, $iDb = 0, $iIndexCur = 0, $ii = 0, $n = 0, $nByteWInfo = 0, $nTabList = 0, $notReady = 0, $op = 0, $op1 = 0, $or$cond = 0, $pEnd = 0, $pIx = 0, $pJ = 0, $pLevel = 0; + var $pLoop = 0, $pMaskSet = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pVTab = 0, $pWInfo = 0, $rc = 0, $sWLB = 0, $tabUsed = 0, $v = 0, $vararg_buffer = 0, $wsFlags = 0, $wsFlags2 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; $vararg_buffer = sp + 24|0; @@ -167399,7 +169764,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pDistinctSet,$w if ($25) { $26 = HEAP16[$6>>1]|0; $27 = $26&65535; - $28 = $27 & -1025; + $28 = $27 & -257; $29 = $28&65535; HEAP16[$6>>1] = $29; } @@ -167409,14 +169774,14 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pDistinctSet,$w if ($32) { $33 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = 64; - _sqlite3ErrorMsg($33,34925,$vararg_buffer); + _sqlite3ErrorMsg($33,34404,$vararg_buffer); HEAP32[$0>>2] = 0; - $836 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($836|0); + $839 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($839|0); } $34 = HEAP16[$6>>1]|0; $35 = $34&65535; - $36 = $35 & 64; + $36 = $35 & 32; $37 = ($36|0)!=(0); if ($37) { $40 = 1; @@ -167429,14 +169794,14 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pDistinctSet,$w $41 = HEAP32[$nTabList>>2]|0; $42 = (($41) - 1)|0; $43 = ($42*80)|0; - $44 = (816 + ($43))|0; + $44 = (832 + ($43))|0; $45 = (($44) + 7)|0; $46 = $45 & -8; HEAP32[$nByteWInfo>>2] = $46; $47 = HEAP32[$db>>2]|0; $48 = HEAP32[$nByteWInfo>>2]|0; $49 = (($48) + 72)|0; - $50 = (_sqlite3DbMallocZero($47,$49,0)|0); + $50 = (_sqlite3DbMallocRawNN($47,$49,0)|0); HEAP32[$pWInfo>>2] = $50; $51 = HEAP32[$db>>2]|0; $52 = ((($51)) + 69|0); @@ -167449,1151 +169814,1151 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pDistinctSet,$w _sqlite3DbFree($55,$56); HEAP32[$pWInfo>>2] = 0; } else { - $57 = HEAP32[$pWInfo>>2]|0; - $58 = ((($57)) + 60|0); - $59 = ((($58)) + 4|0); - HEAP32[$59>>2] = -1; + $57 = HEAP32[$1>>2]|0; + $58 = HEAP32[$pWInfo>>2]|0; + HEAP32[$58>>2] = $57; + $59 = HEAP32[$2>>2]|0; $60 = HEAP32[$pWInfo>>2]|0; - $61 = ((($60)) + 60|0); - HEAP32[$61>>2] = -1; - $62 = HEAP32[$nTabList>>2]|0; - $63 = $62&255; - $64 = HEAP32[$pWInfo>>2]|0; - $65 = ((($64)) + 43|0); - HEAP8[$65>>0] = $63; - $66 = HEAP32[$1>>2]|0; - $67 = HEAP32[$pWInfo>>2]|0; - HEAP32[$67>>2] = $66; - $68 = HEAP32[$2>>2]|0; - $69 = HEAP32[$pWInfo>>2]|0; + $61 = ((($60)) + 4|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$4>>2]|0; + $63 = HEAP32[$pWInfo>>2]|0; + $64 = ((($63)) + 8|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$5>>2]|0; + $66 = HEAP32[$pWInfo>>2]|0; + $67 = ((($66)) + 12|0); + HEAP32[$67>>2] = $65; + $68 = HEAP32[$pWInfo>>2]|0; + $69 = ((($68)) + 20|0); $70 = ((($69)) + 4|0); - HEAP32[$70>>2] = $68; - $71 = HEAP32[$4>>2]|0; - $72 = HEAP32[$pWInfo>>2]|0; - $73 = ((($72)) + 8|0); - HEAP32[$73>>2] = $71; - $74 = HEAP32[$5>>2]|0; + HEAP32[$70>>2] = -1; + $71 = HEAP32[$pWInfo>>2]|0; + $72 = ((($71)) + 20|0); + HEAP32[$72>>2] = -1; + $73 = HEAP32[$nTabList>>2]|0; + $74 = $73&255; $75 = HEAP32[$pWInfo>>2]|0; - $76 = ((($75)) + 12|0); - HEAP32[$76>>2] = $74; + $76 = ((($75)) + 42|0); + HEAP8[$76>>0] = $74; $77 = HEAP32[$v>>2]|0; $78 = (_sqlite3VdbeMakeLabel($77)|0); $79 = HEAP32[$pWInfo>>2]|0; - $80 = ((($79)) + 48|0); + $80 = ((($79)) + 28|0); HEAP32[$80>>2] = $78; $81 = HEAP32[$pWInfo>>2]|0; - $82 = ((($81)) + 52|0); + $82 = ((($81)) + 32|0); HEAP32[$82>>2] = $78; $83 = HEAP16[$6>>1]|0; $84 = HEAP32[$pWInfo>>2]|0; - $85 = ((($84)) + 36|0); + $85 = ((($84)) + 40|0); HEAP16[$85>>1] = $83; $86 = HEAP32[$7>>2]|0; $87 = $86&65535; $88 = HEAP32[$pWInfo>>2]|0; - $89 = ((($88)) + 34|0); + $89 = ((($88)) + 16|0); HEAP16[$89>>1] = $87; $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 428|0); + $91 = ((($90)) + 136|0); $92 = HEAP32[$91>>2]|0; $93 = HEAP32[$pWInfo>>2]|0; - $94 = ((($93)) + 56|0); + $94 = ((($93)) + 36|0); HEAP32[$94>>2] = $92; $95 = HEAP32[$pWInfo>>2]|0; - $96 = ((($95)) + 68|0); - HEAP32[$pMaskSet>>2] = $96; + $96 = ((($95)) + 43|0); + dest=$96; stop=dest+37|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); $97 = HEAP32[$pWInfo>>2]|0; - HEAP32[$sWLB>>2] = $97; - $98 = HEAP32[$pWInfo>>2]|0; - $99 = ((($98)) + 328|0); - $100 = ((($sWLB)) + 4|0); - HEAP32[$100>>2] = $99; - $101 = HEAP32[$pWInfo>>2]|0; - $102 = HEAP32[$nByteWInfo>>2]|0; - $103 = (($101) + ($102)|0); - $104 = ((($sWLB)) + 12|0); - HEAP32[$104>>2] = $103; - $105 = ((($sWLB)) + 12|0); - $106 = HEAP32[$105>>2]|0; - _whereLoopInit($106); - $107 = HEAP32[$pMaskSet>>2]|0; - HEAP32[$107>>2] = 0; + $98 = ((($97)) + 752|0); + $99 = HEAP32[$nTabList>>2]|0; + $100 = ($99*80)|0; + $101 = (72 + ($100))|0; + _memset(($98|0),0,($101|0))|0; + $102 = HEAP32[$pWInfo>>2]|0; + $103 = ((($102)) + 488|0); + HEAP32[$pMaskSet>>2] = $103; + $104 = HEAP32[$pWInfo>>2]|0; + HEAP32[$sWLB>>2] = $104; + $105 = HEAP32[$pWInfo>>2]|0; + $106 = ((($105)) + 80|0); + $107 = ((($sWLB)) + 4|0); + HEAP32[$107>>2] = $106; $108 = HEAP32[$pWInfo>>2]|0; - $109 = ((($108)) + 328|0); - $110 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereClauseInit($109,$110); - $111 = HEAP32[$pWInfo>>2]|0; - $112 = ((($111)) + 328|0); - $113 = HEAP32[$3>>2]|0; - _sqlite3WhereSplit($112,$113,28); + $109 = HEAP32[$nByteWInfo>>2]|0; + $110 = (($108) + ($109)|0); + $111 = ((($sWLB)) + 12|0); + HEAP32[$111>>2] = $110; + $112 = ((($sWLB)) + 12|0); + $113 = HEAP32[$112>>2]|0; + _whereLoopInit($113); + $114 = HEAP32[$pMaskSet>>2]|0; + HEAP32[$114>>2] = 0; + $115 = HEAP32[$pWInfo>>2]|0; + $116 = ((($115)) + 80|0); + $117 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereClauseInit($116,$117); + $118 = HEAP32[$pWInfo>>2]|0; + $119 = ((($118)) + 80|0); + $120 = HEAP32[$3>>2]|0; + _sqlite3WhereSplit($119,$120,28); HEAP32[$ii>>2] = 0; while(1) { - $114 = HEAP32[$ii>>2]|0; - $115 = ((($sWLB)) + 4|0); - $116 = HEAP32[$115>>2]|0; - $117 = ((($116)) + 12|0); - $118 = HEAP32[$117>>2]|0; - $119 = ($114|0)<($118|0); - $120 = HEAP32[$nTabList>>2]|0; - $121 = ($120|0)==(0); - if (!($119)) { + $121 = HEAP32[$ii>>2]|0; + $122 = ((($sWLB)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = ((($123)) + 12|0); + $125 = HEAP32[$124>>2]|0; + $126 = ($121|0)<($125|0); + $127 = HEAP32[$nTabList>>2]|0; + $128 = ($127|0)==(0); + if (!($126)) { break; } - if ($121) { + if ($128) { label = 16; } else { - $122 = HEAP32[$ii>>2]|0; - $123 = ((($sWLB)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($124)) + 20|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + (($122*48)|0)|0); - $128 = HEAP32[$127>>2]|0; - $129 = (_sqlite3ExprIsConstantNotJoin($128)|0); - $130 = ($129|0)!=(0); - if ($130) { + $129 = HEAP32[$ii>>2]|0; + $130 = ((($sWLB)) + 4|0); + $131 = HEAP32[$130>>2]|0; + $132 = ((($131)) + 20|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + (($129*48)|0)|0); + $135 = HEAP32[$134>>2]|0; + $136 = (_sqlite3ExprIsConstantNotJoin($135)|0); + $137 = ($136|0)!=(0); + if ($137) { label = 16; } } if ((label|0) == 16) { label = 0; - $131 = HEAP32[$1>>2]|0; - $132 = HEAP32[$ii>>2]|0; - $133 = ((($sWLB)) + 4|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 20|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + (($132*48)|0)|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$pWInfo>>2]|0; - $140 = ((($139)) + 52|0); + $138 = HEAP32[$1>>2]|0; + $139 = HEAP32[$ii>>2]|0; + $140 = ((($sWLB)) + 4|0); $141 = HEAP32[$140>>2]|0; - _sqlite3ExprIfFalse($131,$138,$141,16); - $142 = HEAP32[$ii>>2]|0; - $143 = ((($sWLB)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = ((($144)) + 20|0); - $146 = HEAP32[$145>>2]|0; - $147 = (($146) + (($142*48)|0)|0); - $148 = ((($147)) + 20|0); - $149 = HEAP16[$148>>1]|0; - $150 = $149&65535; - $151 = $150 | 4; - $152 = $151&65535; - HEAP16[$148>>1] = $152; + $142 = ((($141)) + 20|0); + $143 = HEAP32[$142>>2]|0; + $144 = (($143) + (($139*48)|0)|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$pWInfo>>2]|0; + $147 = ((($146)) + 32|0); + $148 = HEAP32[$147>>2]|0; + _sqlite3ExprIfFalse($138,$145,$148,16); + $149 = HEAP32[$ii>>2]|0; + $150 = ((($sWLB)) + 4|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 20|0); + $153 = HEAP32[$152>>2]|0; + $154 = (($153) + (($149*48)|0)|0); + $155 = ((($154)) + 10|0); + $156 = HEAP16[$155>>1]|0; + $157 = $156&65535; + $158 = $157 | 4; + $159 = $158&65535; + HEAP16[$155>>1] = $159; } - $153 = HEAP32[$ii>>2]|0; - $154 = (($153) + 1)|0; - HEAP32[$ii>>2] = $154; + $160 = HEAP32[$ii>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$ii>>2] = $161; } - if ($121) { - $155 = HEAP32[$4>>2]|0; - $156 = ($155|0)!=(0|0); - if ($156) { - $157 = HEAP32[$4>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = $158&255; - $160 = HEAP32[$pWInfo>>2]|0; - $161 = ((($160)) + 38|0); - HEAP8[$161>>0] = $159; - } - $162 = HEAP16[$6>>1]|0; - $163 = $162&65535; - $164 = $163 & 1024; - $165 = ($164|0)!=(0); - if ($165) { - $166 = HEAP32[$pWInfo>>2]|0; - $167 = ((($166)) + 42|0); - HEAP8[$167>>0] = 1; + if ($128) { + $162 = HEAP32[$4>>2]|0; + $163 = ($162|0)!=(0|0); + if ($163) { + $164 = HEAP32[$4>>2]|0; + $165 = HEAP32[$164>>2]|0; + $166 = $165&255; + $167 = HEAP32[$pWInfo>>2]|0; + $168 = ((($167)) + 43|0); + HEAP8[$168>>0] = $166; + } + $169 = HEAP16[$6>>1]|0; + $170 = $169&65535; + $171 = $170 & 256; + $172 = ($171|0)!=(0); + if ($172) { + $173 = HEAP32[$pWInfo>>2]|0; + $174 = ((($173)) + 47|0); + HEAP8[$174>>0] = 1; } } HEAP32[$ii>>2] = 0; while(1) { - $168 = HEAP32[$ii>>2]|0; - $169 = HEAP32[$2>>2]|0; - $170 = HEAP32[$169>>2]|0; - $171 = ($168|0)<($170|0); - if (!($171)) { + $175 = HEAP32[$ii>>2]|0; + $176 = HEAP32[$2>>2]|0; + $177 = HEAP32[$176>>2]|0; + $178 = ($175|0)<($177|0); + if (!($178)) { break; } - $172 = HEAP32[$pMaskSet>>2]|0; - $173 = HEAP32[$ii>>2]|0; - $174 = HEAP32[$2>>2]|0; - $175 = ((($174)) + 8|0); - $176 = (($175) + (($173*72)|0)|0); - $177 = ((($176)) + 44|0); - $178 = HEAP32[$177>>2]|0; - _createMask($172,$178); - $179 = HEAP32[$1>>2]|0; + $179 = HEAP32[$pMaskSet>>2]|0; $180 = HEAP32[$ii>>2]|0; $181 = HEAP32[$2>>2]|0; $182 = ((($181)) + 8|0); $183 = (($182) + (($180*72)|0)|0); - $184 = HEAP32[$pWInfo>>2]|0; - $185 = ((($184)) + 328|0); - _sqlite3WhereTabFuncArgs($179,$183,$185); - $186 = HEAP32[$ii>>2]|0; - $187 = (($186) + 1)|0; - HEAP32[$ii>>2] = $187; - } - $188 = HEAP32[$2>>2]|0; - $189 = HEAP32[$pWInfo>>2]|0; - $190 = ((($189)) + 328|0); - _sqlite3WhereExprAnalyze($188,$190); - $191 = HEAP32[$db>>2]|0; - $192 = ((($191)) + 69|0); - $193 = HEAP8[$192>>0]|0; - $194 = ($193<<24>>24)!=(0); - if (!($194)) { - $195 = HEAP16[$6>>1]|0; - $196 = $195&65535; - $197 = $196 & 1024; - $198 = ($197|0)!=(0); + $184 = ((($183)) + 44|0); + $185 = HEAP32[$184>>2]|0; + _createMask($179,$185); + $186 = HEAP32[$1>>2]|0; + $187 = HEAP32[$ii>>2]|0; + $188 = HEAP32[$2>>2]|0; + $189 = ((($188)) + 8|0); + $190 = (($189) + (($187*72)|0)|0); + $191 = HEAP32[$pWInfo>>2]|0; + $192 = ((($191)) + 80|0); + _sqlite3WhereTabFuncArgs($186,$190,$192); + $193 = HEAP32[$ii>>2]|0; + $194 = (($193) + 1)|0; + HEAP32[$ii>>2] = $194; + } + $195 = HEAP32[$2>>2]|0; + $196 = HEAP32[$pWInfo>>2]|0; + $197 = ((($196)) + 80|0); + _sqlite3WhereExprAnalyze($195,$197); + $198 = HEAP32[$db>>2]|0; + $199 = ((($198)) + 69|0); + $200 = HEAP8[$199>>0]|0; + $201 = ($200<<24>>24)!=(0); + if (!($201)) { + $202 = HEAP16[$6>>1]|0; + $203 = $202&65535; + $204 = $203 & 256; + $205 = ($204|0)!=(0); do { - if ($198) { - $199 = HEAP32[$1>>2]|0; - $200 = HEAP32[$2>>2]|0; - $201 = HEAP32[$pWInfo>>2]|0; - $202 = ((($201)) + 328|0); - $203 = HEAP32[$5>>2]|0; - $204 = (_isDistinctRedundant($199,$200,$202,$203)|0); - $205 = ($204|0)!=(0); - if ($205) { - $206 = HEAP32[$pWInfo>>2]|0; - $207 = ((($206)) + 42|0); - HEAP8[$207>>0] = 1; + if ($205) { + $206 = HEAP32[$1>>2]|0; + $207 = HEAP32[$2>>2]|0; + $208 = HEAP32[$pWInfo>>2]|0; + $209 = ((($208)) + 80|0); + $210 = HEAP32[$5>>2]|0; + $211 = (_isDistinctRedundant($206,$207,$209,$210)|0); + $212 = ($211|0)!=(0); + if ($212) { + $213 = HEAP32[$pWInfo>>2]|0; + $214 = ((($213)) + 47|0); + HEAP8[$214>>0] = 1; break; } - $208 = HEAP32[$4>>2]|0; - $209 = ($208|0)==(0|0); - if ($209) { - $210 = HEAP32[$pWInfo>>2]|0; - $211 = ((($210)) + 36|0); - $212 = HEAP16[$211>>1]|0; - $213 = $212&65535; - $214 = $213 | 512; - $215 = $214&65535; - HEAP16[$211>>1] = $215; - $216 = HEAP32[$5>>2]|0; + $215 = HEAP32[$4>>2]|0; + $216 = ($215|0)==(0|0); + if ($216) { $217 = HEAP32[$pWInfo>>2]|0; - $218 = ((($217)) + 8|0); - HEAP32[$218>>2] = $216; + $218 = ((($217)) + 40|0); + $219 = HEAP16[$218>>1]|0; + $220 = $219&65535; + $221 = $220 | 128; + $222 = $221&65535; + HEAP16[$218>>1] = $222; + $223 = HEAP32[$5>>2]|0; + $224 = HEAP32[$pWInfo>>2]|0; + $225 = ((($224)) + 8|0); + HEAP32[$225>>2] = $223; } } } while(0); - $219 = HEAP32[$nTabList>>2]|0; - $220 = ($219|0)!=(1); - if ($220) { + $226 = HEAP32[$nTabList>>2]|0; + $227 = ($226|0)!=(1); + if ($227) { label = 34; } else { - $221 = (_whereShortCut($sWLB)|0); - $222 = ($221|0)==(0); - if ($222) { + $228 = (_whereShortCut($sWLB)|0); + $229 = ($228|0)==(0); + if ($229) { label = 34; } } if ((label|0) == 34) { - $223 = (_whereLoopAddAll($sWLB)|0); - HEAP32[$rc>>2] = $223; - $224 = HEAP32[$rc>>2]|0; - $225 = ($224|0)!=(0); - if ($225) { + $230 = (_whereLoopAddAll($sWLB)|0); + HEAP32[$rc>>2] = $230; + $231 = HEAP32[$rc>>2]|0; + $232 = ($231|0)!=(0); + if ($232) { break; } - $226 = HEAP32[$pWInfo>>2]|0; - (_wherePathSolver($226,0)|0); - $227 = HEAP32[$db>>2]|0; - $228 = ((($227)) + 69|0); - $229 = HEAP8[$228>>0]|0; - $230 = ($229<<24>>24)!=(0); - if ($230) { + $233 = HEAP32[$pWInfo>>2]|0; + (_wherePathSolver($233,0)|0); + $234 = HEAP32[$db>>2]|0; + $235 = ((($234)) + 69|0); + $236 = HEAP8[$235>>0]|0; + $237 = ($236<<24>>24)!=(0); + if ($237) { break; } - $231 = HEAP32[$pWInfo>>2]|0; - $232 = ((($231)) + 8|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)!=(0|0); - if ($234) { - $235 = HEAP32[$pWInfo>>2]|0; - $236 = HEAP32[$pWInfo>>2]|0; - $237 = ((($236)) + 32|0); - $238 = HEAP16[$237>>1]|0; - $239 = $238 << 16 >> 16; - $240 = (($239) + 1)|0; - $241 = $240&65535; - (_wherePathSolver($235,$241)|0); - $242 = HEAP32[$db>>2]|0; - $243 = ((($242)) + 69|0); - $244 = HEAP8[$243>>0]|0; - $245 = ($244<<24>>24)!=(0); - if ($245) { + $238 = HEAP32[$pWInfo>>2]|0; + $239 = ((($238)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)!=(0|0); + if ($241) { + $242 = HEAP32[$pWInfo>>2]|0; + $243 = HEAP32[$pWInfo>>2]|0; + $244 = ((($243)) + 72|0); + $245 = HEAP16[$244>>1]|0; + $246 = $245 << 16 >> 16; + $247 = (($246) + 1)|0; + $248 = $247&65535; + (_wherePathSolver($242,$248)|0); + $249 = HEAP32[$db>>2]|0; + $250 = ((($249)) + 69|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251<<24>>24)!=(0); + if ($252) { break; } } } - $246 = HEAP32[$pWInfo>>2]|0; - $247 = ((($246)) + 8|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)==(0|0); - if ($249) { - $250 = HEAP32[$db>>2]|0; - $251 = ((($250)) + 24|0); - $252 = HEAP32[$251>>2]|0; - $253 = $252 & 131072; - $254 = ($253|0)!=(0); - if ($254) { - $255 = HEAP32[$pWInfo>>2]|0; - $256 = ((($255)) + 24|0); - $257 = $256; - $258 = $257; - HEAP32[$258>>2] = -1; - $259 = (($257) + 4)|0; - $260 = $259; - HEAP32[$260>>2] = -1; + $253 = HEAP32[$pWInfo>>2]|0; + $254 = ((($253)) + 8|0); + $255 = HEAP32[$254>>2]|0; + $256 = ($255|0)==(0|0); + if ($256) { + $257 = HEAP32[$db>>2]|0; + $258 = ((($257)) + 24|0); + $259 = HEAP32[$258>>2]|0; + $260 = $259 & 131072; + $261 = ($260|0)!=(0); + if ($261) { + $262 = HEAP32[$pWInfo>>2]|0; + $263 = ((($262)) + 64|0); + $264 = $263; + $265 = $264; + HEAP32[$265>>2] = -1; + $266 = (($264) + 4)|0; + $267 = $266; + HEAP32[$267>>2] = -1; } } - $261 = HEAP32[$1>>2]|0; - $262 = ((($261)) + 68|0); - $263 = HEAP32[$262>>2]|0; - $264 = ($263|0)!=(0); - if (!($264)) { - $265 = HEAP32[$db>>2]|0; - $266 = ((($265)) + 69|0); - $267 = HEAP8[$266>>0]|0; - $268 = $267&255; - $269 = ($268|0)!=(0); - if (!($269)) { - $270 = HEAP32[$pWInfo>>2]|0; - $271 = ((($270)) + 43|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $274 = ($273|0)>=(2); - $275 = HEAP32[$5>>2]|0; - $276 = ($275|0)!=(0|0); - $or$cond = $274 & $276; + $268 = HEAP32[$1>>2]|0; + $269 = ((($268)) + 36|0); + $270 = HEAP32[$269>>2]|0; + $271 = ($270|0)!=(0); + if (!($271)) { + $272 = HEAP32[$db>>2]|0; + $273 = ((($272)) + 69|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = ($275|0)!=(0); + if (!($276)) { + $277 = HEAP32[$pWInfo>>2]|0; + $278 = ((($277)) + 42|0); + $279 = HEAP8[$278>>0]|0; + $280 = $279&255; + $281 = ($280|0)>=(2); + $282 = HEAP32[$5>>2]|0; + $283 = ($282|0)!=(0|0); + $or$cond = $281 & $283; L60: do { if ($or$cond) { - $277 = HEAP32[$db>>2]|0; - $278 = ((($277)) + 64|0); - $279 = HEAP16[$278>>1]|0; - $280 = $279&65535; - $281 = $280 & 1024; - $282 = ($281|0)==(0); - if ($282) { - $283 = HEAP32[$pMaskSet>>2]|0; - $284 = HEAP32[$5>>2]|0; - $285 = (_sqlite3WhereExprListUsage($283,$284)|0); - $286 = tempRet0; - $287 = $tabUsed; - $288 = $287; - HEAP32[$288>>2] = $285; - $289 = (($287) + 4)|0; - $290 = $289; - HEAP32[$290>>2] = $286; - $291 = ((($sWLB)) + 8|0); - $292 = HEAP32[$291>>2]|0; - $293 = ($292|0)!=(0|0); - if ($293) { - $294 = HEAP32[$pMaskSet>>2]|0; - $295 = ((($sWLB)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = (_sqlite3WhereExprListUsage($294,$296)|0); - $298 = tempRet0; - $299 = $tabUsed; - $300 = $299; - $301 = HEAP32[$300>>2]|0; - $302 = (($299) + 4)|0; - $303 = $302; - $304 = HEAP32[$303>>2]|0; - $305 = $301 | $297; - $306 = $304 | $298; - $307 = $tabUsed; - $308 = $307; - HEAP32[$308>>2] = $305; - $309 = (($307) + 4)|0; + $284 = HEAP32[$db>>2]|0; + $285 = ((($284)) + 64|0); + $286 = HEAP16[$285>>1]|0; + $287 = $286&65535; + $288 = $287 & 1024; + $289 = ($288|0)==(0); + if ($289) { + $290 = HEAP32[$pMaskSet>>2]|0; + $291 = HEAP32[$5>>2]|0; + $292 = (_sqlite3WhereExprListUsage($290,$291)|0); + $293 = tempRet0; + $294 = $tabUsed; + $295 = $294; + HEAP32[$295>>2] = $292; + $296 = (($294) + 4)|0; + $297 = $296; + HEAP32[$297>>2] = $293; + $298 = ((($sWLB)) + 8|0); + $299 = HEAP32[$298>>2]|0; + $300 = ($299|0)!=(0|0); + if ($300) { + $301 = HEAP32[$pMaskSet>>2]|0; + $302 = ((($sWLB)) + 8|0); + $303 = HEAP32[$302>>2]|0; + $304 = (_sqlite3WhereExprListUsage($301,$303)|0); + $305 = tempRet0; + $306 = $tabUsed; + $307 = $306; + $308 = HEAP32[$307>>2]|0; + $309 = (($306) + 4)|0; $310 = $309; - HEAP32[$310>>2] = $306; + $311 = HEAP32[$310>>2]|0; + $312 = $308 | $304; + $313 = $311 | $305; + $314 = $tabUsed; + $315 = $314; + HEAP32[$315>>2] = $312; + $316 = (($314) + 4)|0; + $317 = $316; + HEAP32[$317>>2] = $313; } while(1) { - $311 = HEAP32[$pWInfo>>2]|0; - $312 = ((($311)) + 43|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $315 = ($314|0)>=(2); - if (!($315)) { + $318 = HEAP32[$pWInfo>>2]|0; + $319 = ((($318)) + 42|0); + $320 = HEAP8[$319>>0]|0; + $321 = $320&255; + $322 = ($321|0)>=(2); + if (!($322)) { break L60; } - $316 = HEAP32[$pWInfo>>2]|0; - $317 = ((($316)) + 43|0); - $318 = HEAP8[$317>>0]|0; - $319 = $318&255; - $320 = (($319) - 1)|0; - $321 = HEAP32[$pWInfo>>2]|0; - $322 = ((($321)) + 736|0); - $323 = (($322) + (($320*80)|0)|0); - $324 = ((($323)) + 64|0); - $325 = HEAP32[$324>>2]|0; - HEAP32[$pLoop>>2] = $325; - $326 = HEAP32[$pLoop>>2]|0; - $327 = ((($326)) + 16|0); - $328 = HEAP8[$327>>0]|0; - $329 = $328&255; - $330 = HEAP32[$pWInfo>>2]|0; - $331 = ((($330)) + 4|0); + $323 = HEAP32[$pWInfo>>2]|0; + $324 = ((($323)) + 42|0); + $325 = HEAP8[$324>>0]|0; + $326 = $325&255; + $327 = (($326) - 1)|0; + $328 = HEAP32[$pWInfo>>2]|0; + $329 = ((($328)) + 752|0); + $330 = (($329) + (($327*80)|0)|0); + $331 = ((($330)) + 64|0); $332 = HEAP32[$331>>2]|0; - $333 = ((($332)) + 8|0); - $334 = (($333) + (($329*72)|0)|0); - $335 = ((($334)) + 36|0); - $336 = HEAP8[$335>>0]|0; - $337 = $336&255; - $338 = $337 & 8; - $339 = ($338|0)==(0); - if ($339) { + HEAP32[$pLoop>>2] = $332; + $333 = HEAP32[$pLoop>>2]|0; + $334 = ((($333)) + 16|0); + $335 = HEAP8[$334>>0]|0; + $336 = $335&255; + $337 = HEAP32[$pWInfo>>2]|0; + $338 = ((($337)) + 4|0); + $339 = HEAP32[$338>>2]|0; + $340 = ((($339)) + 8|0); + $341 = (($340) + (($336*72)|0)|0); + $342 = ((($341)) + 36|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = $344 & 8; + $346 = ($345|0)==(0); + if ($346) { break L60; } - $340 = HEAP16[$6>>1]|0; - $341 = $340&65535; - $342 = $341 & 1024; - $343 = ($342|0)==(0); - if ($343) { - $344 = HEAP32[$pLoop>>2]|0; - $345 = ((($344)) + 36|0); - $346 = HEAP32[$345>>2]|0; - $347 = $346 & 4096; - $348 = ($347|0)==(0); - if ($348) { + $347 = HEAP16[$6>>1]|0; + $348 = $347&65535; + $349 = $348 & 256; + $350 = ($349|0)==(0); + if ($350) { + $351 = HEAP32[$pLoop>>2]|0; + $352 = ((($351)) + 36|0); + $353 = HEAP32[$352>>2]|0; + $354 = $353 & 4096; + $355 = ($354|0)==(0); + if ($355) { break L60; } } - $349 = $tabUsed; - $350 = $349; - $351 = HEAP32[$350>>2]|0; - $352 = (($349) + 4)|0; - $353 = $352; - $354 = HEAP32[$353>>2]|0; - $355 = HEAP32[$pLoop>>2]|0; - $356 = ((($355)) + 8|0); + $356 = $tabUsed; $357 = $356; - $358 = $357; - $359 = HEAP32[$358>>2]|0; - $360 = (($357) + 4)|0; - $361 = $360; - $362 = HEAP32[$361>>2]|0; - $363 = $351 & $359; - $364 = $354 & $362; - $365 = ($363|0)!=(0); - $366 = ($364|0)!=(0); - $367 = $365 | $366; - if ($367) { + $358 = HEAP32[$357>>2]|0; + $359 = (($356) + 4)|0; + $360 = $359; + $361 = HEAP32[$360>>2]|0; + $362 = HEAP32[$pLoop>>2]|0; + $363 = ((($362)) + 8|0); + $364 = $363; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = (($364) + 4)|0; + $368 = $367; + $369 = HEAP32[$368>>2]|0; + $370 = $358 & $366; + $371 = $361 & $369; + $372 = ($370|0)!=(0); + $373 = ($371|0)!=(0); + $374 = $372 | $373; + if ($374) { break L60; } - $368 = ((($sWLB)) + 4|0); - $369 = HEAP32[$368>>2]|0; - $370 = ((($369)) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ((($sWLB)) + 4|0); - $373 = HEAP32[$372>>2]|0; - $374 = ((($373)) + 12|0); - $375 = HEAP32[$374>>2]|0; - $376 = (($371) + (($375*48)|0)|0); - HEAP32[$pEnd>>2] = $376; - $377 = ((($sWLB)) + 4|0); + $375 = ((($sWLB)) + 4|0); + $376 = HEAP32[$375>>2]|0; + $377 = ((($376)) + 20|0); $378 = HEAP32[$377>>2]|0; - $379 = ((($378)) + 20|0); + $379 = ((($sWLB)) + 4|0); $380 = HEAP32[$379>>2]|0; - HEAP32[$pTerm>>2] = $380; + $381 = ((($380)) + 12|0); + $382 = HEAP32[$381>>2]|0; + $383 = (($378) + (($382*48)|0)|0); + HEAP32[$pEnd>>2] = $383; + $384 = ((($sWLB)) + 4|0); + $385 = HEAP32[$384>>2]|0; + $386 = ((($385)) + 20|0); + $387 = HEAP32[$386>>2]|0; + HEAP32[$pTerm>>2] = $387; while(1) { - $381 = HEAP32[$pTerm>>2]|0; - $382 = HEAP32[$pEnd>>2]|0; - $383 = ($381>>>0)<($382>>>0); - if (!($383)) { + $388 = HEAP32[$pTerm>>2]|0; + $389 = HEAP32[$pEnd>>2]|0; + $390 = ($388>>>0)<($389>>>0); + if (!($390)) { break; } - $384 = HEAP32[$pTerm>>2]|0; - $385 = ((($384)) + 40|0); - $386 = $385; - $387 = $386; - $388 = HEAP32[$387>>2]|0; - $389 = (($386) + 4)|0; - $390 = $389; - $391 = HEAP32[$390>>2]|0; - $392 = HEAP32[$pLoop>>2]|0; - $393 = ((($392)) + 8|0); + $391 = HEAP32[$pTerm>>2]|0; + $392 = ((($391)) + 40|0); + $393 = $392; $394 = $393; - $395 = $394; - $396 = HEAP32[$395>>2]|0; - $397 = (($394) + 4)|0; - $398 = $397; - $399 = HEAP32[$398>>2]|0; - $400 = $388 & $396; - $401 = $391 & $399; - $402 = ($400|0)!=(0); - $403 = ($401|0)!=(0); - $404 = $402 | $403; - if ($404) { - $405 = HEAP32[$pTerm>>2]|0; - $406 = HEAP32[$405>>2]|0; - $407 = ((($406)) + 4|0); - $408 = HEAP32[$407>>2]|0; - $409 = $408 & 1; - $410 = ($409|0)!=(0); - if (!($410)) { + $395 = HEAP32[$394>>2]|0; + $396 = (($393) + 4)|0; + $397 = $396; + $398 = HEAP32[$397>>2]|0; + $399 = HEAP32[$pLoop>>2]|0; + $400 = ((($399)) + 8|0); + $401 = $400; + $402 = $401; + $403 = HEAP32[$402>>2]|0; + $404 = (($401) + 4)|0; + $405 = $404; + $406 = HEAP32[$405>>2]|0; + $407 = $395 & $403; + $408 = $398 & $406; + $409 = ($407|0)!=(0); + $410 = ($408|0)!=(0); + $411 = $409 | $410; + if ($411) { + $412 = HEAP32[$pTerm>>2]|0; + $413 = HEAP32[$412>>2]|0; + $414 = ((($413)) + 4|0); + $415 = HEAP32[$414>>2]|0; + $416 = $415 & 1; + $417 = ($416|0)!=(0); + if (!($417)) { break; } } - $411 = HEAP32[$pTerm>>2]|0; - $412 = ((($411)) + 48|0); - HEAP32[$pTerm>>2] = $412; + $418 = HEAP32[$pTerm>>2]|0; + $419 = ((($418)) + 48|0); + HEAP32[$pTerm>>2] = $419; } - $413 = HEAP32[$pTerm>>2]|0; - $414 = HEAP32[$pEnd>>2]|0; - $415 = ($413>>>0)<($414>>>0); - if ($415) { + $420 = HEAP32[$pTerm>>2]|0; + $421 = HEAP32[$pEnd>>2]|0; + $422 = ($420>>>0)<($421>>>0); + if ($422) { break L60; } - $416 = HEAP32[$pWInfo>>2]|0; - $417 = ((($416)) + 43|0); - $418 = HEAP8[$417>>0]|0; - $419 = (($418) + -1)<<24>>24; - HEAP8[$417>>0] = $419; - $420 = HEAP32[$nTabList>>2]|0; - $421 = (($420) + -1)|0; - HEAP32[$nTabList>>2] = $421; + $423 = HEAP32[$pWInfo>>2]|0; + $424 = ((($423)) + 42|0); + $425 = HEAP8[$424>>0]|0; + $426 = (($425) + -1)<<24>>24; + HEAP8[$424>>0] = $426; + $427 = HEAP32[$nTabList>>2]|0; + $428 = (($427) + -1)|0; + HEAP32[$nTabList>>2] = $428; } } } } while(0); - $422 = HEAP32[$pWInfo>>2]|0; - $423 = ((($422)) + 32|0); - $424 = HEAP16[$423>>1]|0; - $425 = $424 << 16 >> 16; - $426 = HEAP32[$pWInfo>>2]|0; - $427 = HEAP32[$426>>2]|0; - $428 = ((($427)) + 428|0); - $429 = HEAP32[$428>>2]|0; - $430 = (($429) + ($425))|0; - HEAP32[$428>>2] = $430; - $431 = HEAP16[$6>>1]|0; - $432 = $431&65535; - $433 = $432 & 4; - $434 = ($433|0)!=(0); + $429 = HEAP32[$pWInfo>>2]|0; + $430 = ((($429)) + 72|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = HEAP32[$pWInfo>>2]|0; + $434 = HEAP32[$433>>2]|0; + $435 = ((($434)) + 136|0); + $436 = HEAP32[$435>>2]|0; + $437 = (($436) + ($432))|0; + HEAP32[$435>>2] = $437; + $438 = HEAP16[$6>>1]|0; + $439 = $438&65535; + $440 = $439 & 4; + $441 = ($440|0)!=(0); do { - if ($434) { - $435 = HEAP32[$pWInfo>>2]|0; - $436 = ((($435)) + 736|0); - $437 = ((($436)) + 64|0); - $438 = HEAP32[$437>>2]|0; - $439 = ((($438)) + 36|0); - $440 = HEAP32[$439>>2]|0; - HEAP32[$wsFlags>>2] = $440; - $441 = HEAP32[$wsFlags>>2]|0; - $442 = $441 & 4096; - $443 = ($442|0)!=(0); - $444 = $443&1; - HEAP32[$bOnerow>>2] = $444; - $445 = HEAP32[$bOnerow>>2]|0; - $446 = ($445|0)!=(0); - if (!($446)) { - $447 = HEAP16[$6>>1]|0; - $448 = $447&65535; - $449 = $448 & 8192; - $450 = ($449|0)!=(0); - if (!($450)) { + if ($441) { + $442 = HEAP32[$pWInfo>>2]|0; + $443 = ((($442)) + 752|0); + $444 = ((($443)) + 64|0); + $445 = HEAP32[$444>>2]|0; + $446 = ((($445)) + 36|0); + $447 = HEAP32[$446>>2]|0; + HEAP32[$wsFlags>>2] = $447; + $448 = HEAP32[$wsFlags>>2]|0; + $449 = $448 & 4096; + $450 = ($449|0)!=(0); + $451 = $450&1; + HEAP32[$bOnerow>>2] = $451; + $452 = HEAP32[$bOnerow>>2]|0; + $453 = ($452|0)!=(0); + if (!($453)) { + $454 = HEAP16[$6>>1]|0; + $455 = $454&65535; + $456 = $455 & 8; + $457 = ($456|0)!=(0); + if (!($457)) { break; } - $451 = HEAP32[$wsFlags>>2]|0; - $452 = $451 & 1024; - $453 = (0)==($452|0); - if (!($453)) { + $458 = HEAP32[$wsFlags>>2]|0; + $459 = $458 & 1024; + $460 = (0)==($459|0); + if (!($460)) { break; } } - $454 = HEAP32[$bOnerow>>2]|0; - $455 = ($454|0)!=(0); - $456 = $455 ? 1 : 2; - $457 = $456&255; - $458 = HEAP32[$pWInfo>>2]|0; - $459 = ((($458)) + 40|0); - HEAP8[$459>>0] = $457; - $460 = HEAP32[$2>>2]|0; - $461 = ((($460)) + 8|0); - $462 = ((($461)) + 16|0); - $463 = HEAP32[$462>>2]|0; - $464 = ((($463)) + 42|0); - $465 = HEAP8[$464>>0]|0; - $466 = $465&255; - $467 = $466 & 32; - $468 = ($467|0)==(0); - if ($468) { - $469 = HEAP32[$wsFlags>>2]|0; - $470 = $469 & 64; - $471 = ($470|0)!=(0); - if ($471) { - $472 = HEAP16[$6>>1]|0; - $473 = $472&65535; - $474 = $473 & 8192; - $475 = ($474|0)!=(0); - if ($475) { + $461 = HEAP32[$bOnerow>>2]|0; + $462 = ($461|0)!=(0); + $463 = $462 ? 1 : 2; + $464 = $463&255; + $465 = HEAP32[$pWInfo>>2]|0; + $466 = ((($465)) + 45|0); + HEAP8[$466>>0] = $464; + $467 = HEAP32[$2>>2]|0; + $468 = ((($467)) + 8|0); + $469 = ((($468)) + 16|0); + $470 = HEAP32[$469>>2]|0; + $471 = ((($470)) + 42|0); + $472 = HEAP8[$471>>0]|0; + $473 = $472&255; + $474 = $473 & 32; + $475 = ($474|0)==(0); + if ($475) { + $476 = HEAP32[$wsFlags>>2]|0; + $477 = $476 & 64; + $478 = ($477|0)!=(0); + if ($478) { + $479 = HEAP16[$6>>1]|0; + $480 = $479&65535; + $481 = $480 & 8; + $482 = ($481|0)!=(0); + if ($482) { HEAP8[$bFordelete>>0] = 8; } - $476 = HEAP32[$wsFlags>>2]|0; - $477 = $476 & -65; - $478 = HEAP32[$pWInfo>>2]|0; - $479 = ((($478)) + 736|0); - $480 = ((($479)) + 64|0); - $481 = HEAP32[$480>>2]|0; - $482 = ((($481)) + 36|0); - HEAP32[$482>>2] = $477; + $483 = HEAP32[$wsFlags>>2]|0; + $484 = $483 & -65; + $485 = HEAP32[$pWInfo>>2]|0; + $486 = ((($485)) + 752|0); + $487 = ((($486)) + 64|0); + $488 = HEAP32[$487>>2]|0; + $489 = ((($488)) + 36|0); + HEAP32[$489>>2] = $484; } } } } while(0); HEAP32[$ii>>2] = 0; - $483 = HEAP32[$pWInfo>>2]|0; - $484 = ((($483)) + 736|0); - HEAP32[$pLevel>>2] = $484; + $490 = HEAP32[$pWInfo>>2]|0; + $491 = ((($490)) + 752|0); + HEAP32[$pLevel>>2] = $491; while(1) { - $485 = HEAP32[$ii>>2]|0; - $486 = HEAP32[$nTabList>>2]|0; - $487 = ($485|0)<($486|0); - if (!($487)) { + $492 = HEAP32[$ii>>2]|0; + $493 = HEAP32[$nTabList>>2]|0; + $494 = ($492|0)<($493|0); + if (!($494)) { break; } - $488 = HEAP32[$pLevel>>2]|0; - $489 = ((($488)) + 44|0); - $490 = HEAP8[$489>>0]|0; - $491 = $490&255; - $492 = HEAP32[$2>>2]|0; - $493 = ((($492)) + 8|0); - $494 = (($493) + (($491*72)|0)|0); - HEAP32[$pTabItem>>2] = $494; - $495 = HEAP32[$pTabItem>>2]|0; - $496 = ((($495)) + 16|0); - $497 = HEAP32[$496>>2]|0; - HEAP32[$pTab>>2] = $497; - $498 = HEAP32[$db>>2]|0; - $499 = HEAP32[$pTab>>2]|0; - $500 = ((($499)) + 64|0); - $501 = HEAP32[$500>>2]|0; - $502 = (_sqlite3SchemaToIndex($498,$501)|0); - HEAP32[$iDb>>2] = $502; - $503 = HEAP32[$pLevel>>2]|0; - $504 = ((($503)) + 64|0); - $505 = HEAP32[$504>>2]|0; - HEAP32[$pLoop>>2] = $505; + $495 = HEAP32[$pLevel>>2]|0; + $496 = ((($495)) + 44|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497&255; + $499 = HEAP32[$2>>2]|0; + $500 = ((($499)) + 8|0); + $501 = (($500) + (($498*72)|0)|0); + HEAP32[$pTabItem>>2] = $501; + $502 = HEAP32[$pTabItem>>2]|0; + $503 = ((($502)) + 16|0); + $504 = HEAP32[$503>>2]|0; + HEAP32[$pTab>>2] = $504; + $505 = HEAP32[$db>>2]|0; $506 = HEAP32[$pTab>>2]|0; - $507 = ((($506)) + 42|0); - $508 = HEAP8[$507>>0]|0; - $509 = $508&255; - $510 = $509 & 2; - $511 = ($510|0)!=(0); + $507 = ((($506)) + 64|0); + $508 = HEAP32[$507>>2]|0; + $509 = (_sqlite3SchemaToIndex($505,$508)|0); + HEAP32[$iDb>>2] = $509; + $510 = HEAP32[$pLevel>>2]|0; + $511 = ((($510)) + 64|0); + $512 = HEAP32[$511>>2]|0; + HEAP32[$pLoop>>2] = $512; + $513 = HEAP32[$pTab>>2]|0; + $514 = ((($513)) + 42|0); + $515 = HEAP8[$514>>0]|0; + $516 = $515&255; + $517 = $516 & 2; + $518 = ($517|0)!=(0); L97: do { - if (!($511)) { - $512 = HEAP32[$pTab>>2]|0; - $513 = ((($512)) + 12|0); - $514 = HEAP32[$513>>2]|0; - $515 = ($514|0)!=(0|0); - if (!($515)) { - $516 = HEAP32[$pLoop>>2]|0; - $517 = ((($516)) + 36|0); - $518 = HEAP32[$517>>2]|0; - $519 = $518 & 1024; - $520 = ($519|0)!=(0); - if ($520) { - $521 = HEAP32[$db>>2]|0; - $522 = HEAP32[$pTab>>2]|0; - $523 = (_sqlite3GetVTable($521,$522)|0); - HEAP32[$pVTab>>2] = $523; - $524 = HEAP32[$pTabItem>>2]|0; - $525 = ((($524)) + 44|0); - $526 = HEAP32[$525>>2]|0; - HEAP32[$iCur>>2] = $526; - $527 = HEAP32[$v>>2]|0; - $528 = HEAP32[$iCur>>2]|0; - $529 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($527,153,$528,0,0,$529,-10)|0); + if (!($518)) { + $519 = HEAP32[$pTab>>2]|0; + $520 = ((($519)) + 12|0); + $521 = HEAP32[$520>>2]|0; + $522 = ($521|0)!=(0|0); + if (!($522)) { + $523 = HEAP32[$pLoop>>2]|0; + $524 = ((($523)) + 36|0); + $525 = HEAP32[$524>>2]|0; + $526 = $525 & 1024; + $527 = ($526|0)!=(0); + if ($527) { + $528 = HEAP32[$db>>2]|0; + $529 = HEAP32[$pTab>>2]|0; + $530 = (_sqlite3GetVTable($528,$529)|0); + HEAP32[$pVTab>>2] = $530; + $531 = HEAP32[$pTabItem>>2]|0; + $532 = ((($531)) + 44|0); + $533 = HEAP32[$532>>2]|0; + HEAP32[$iCur>>2] = $533; + $534 = HEAP32[$v>>2]|0; + $535 = HEAP32[$iCur>>2]|0; + $536 = HEAP32[$pVTab>>2]|0; + (_sqlite3VdbeAddOp4($534,155,$535,0,0,$536,-10)|0); break; } - $530 = HEAP32[$pTab>>2]|0; - $531 = ((($530)) + 42|0); - $532 = HEAP8[$531>>0]|0; - $533 = $532&255; - $534 = $533 & 16; - $535 = ($534|0)!=(0); - if ($535) { + $537 = HEAP32[$pTab>>2]|0; + $538 = ((($537)) + 42|0); + $539 = HEAP8[$538>>0]|0; + $540 = $539&255; + $541 = $540 & 16; + $542 = ($541|0)!=(0); + if ($542) { break; } - $536 = HEAP32[$pLoop>>2]|0; - $537 = ((($536)) + 36|0); - $538 = HEAP32[$537>>2]|0; - $539 = $538 & 64; - $540 = ($539|0)==(0); + $543 = HEAP32[$pLoop>>2]|0; + $544 = ((($543)) + 36|0); + $545 = HEAP32[$544>>2]|0; + $546 = $545 & 64; + $547 = ($546|0)==(0); do { - if ($540) { - $541 = HEAP16[$6>>1]|0; - $542 = $541&65535; - $543 = $542 & 16; - $544 = ($543|0)==(0); - if (!($544)) { + if ($547) { + $548 = HEAP16[$6>>1]|0; + $549 = $548&65535; + $550 = $549 & 32; + $551 = ($550|0)==(0); + if (!($551)) { break; } - HEAP32[$op>>2] = 102; - $545 = HEAP32[$pWInfo>>2]|0; - $546 = ((($545)) + 40|0); - $547 = HEAP8[$546>>0]|0; - $548 = $547&255; - $549 = ($548|0)!=(0); - if ($549) { - HEAP32[$op>>2] = 103; - $550 = HEAP32[$pTabItem>>2]|0; - $551 = ((($550)) + 44|0); - $552 = HEAP32[$551>>2]|0; - $553 = HEAP32[$pWInfo>>2]|0; - $554 = ((($553)) + 60|0); - HEAP32[$554>>2] = $552; + HEAP32[$op>>2] = 104; + $552 = HEAP32[$pWInfo>>2]|0; + $553 = ((($552)) + 45|0); + $554 = HEAP8[$553>>0]|0; + $555 = $554&255; + $556 = ($555|0)!=(0); + if ($556) { + HEAP32[$op>>2] = 105; + $557 = HEAP32[$pTabItem>>2]|0; + $558 = ((($557)) + 44|0); + $559 = HEAP32[$558>>2]|0; + $560 = HEAP32[$pWInfo>>2]|0; + $561 = ((($560)) + 20|0); + HEAP32[$561>>2] = $559; } - $555 = HEAP32[$1>>2]|0; - $556 = HEAP32[$pTabItem>>2]|0; - $557 = ((($556)) + 44|0); - $558 = HEAP32[$557>>2]|0; - $559 = HEAP32[$iDb>>2]|0; - $560 = HEAP32[$pTab>>2]|0; - $561 = HEAP32[$op>>2]|0; - _sqlite3OpenTable($555,$558,$559,$560,$561); - $562 = HEAP32[$pWInfo>>2]|0; - $563 = ((($562)) + 40|0); - $564 = HEAP8[$563>>0]|0; - $565 = $564&255; - $566 = ($565|0)==(0); + $562 = HEAP32[$1>>2]|0; + $563 = HEAP32[$pTabItem>>2]|0; + $564 = ((($563)) + 44|0); + $565 = HEAP32[$564>>2]|0; + $566 = HEAP32[$iDb>>2]|0; + $567 = HEAP32[$pTab>>2]|0; + $568 = HEAP32[$op>>2]|0; + _sqlite3OpenTable($562,$565,$566,$567,$568); + $569 = HEAP32[$pWInfo>>2]|0; + $570 = ((($569)) + 45|0); + $571 = HEAP8[$570>>0]|0; + $572 = $571&255; + $573 = ($572|0)==(0); do { - if ($566) { - $567 = HEAP32[$pTab>>2]|0; - $568 = ((($567)) + 34|0); - $569 = HEAP16[$568>>1]|0; - $570 = $569 << 16 >> 16; - $571 = ($570|0)<(64); - if (!($571)) { + if ($573) { + $574 = HEAP32[$pTab>>2]|0; + $575 = ((($574)) + 34|0); + $576 = HEAP16[$575>>1]|0; + $577 = $576 << 16 >> 16; + $578 = ($577|0)<(64); + if (!($578)) { break; } - $572 = HEAP32[$pTab>>2]|0; - $573 = ((($572)) + 42|0); - $574 = HEAP8[$573>>0]|0; - $575 = $574&255; - $576 = $575 & 32; - $577 = ($576|0)==(0); - if (!($577)) { + $579 = HEAP32[$pTab>>2]|0; + $580 = ((($579)) + 42|0); + $581 = HEAP8[$580>>0]|0; + $582 = $581&255; + $583 = $582 & 32; + $584 = ($583|0)==(0); + if (!($584)) { break; } - $578 = HEAP32[$pTabItem>>2]|0; - $579 = ((($578)) + 56|0); - $580 = $579; - $581 = $580; - $582 = HEAP32[$581>>2]|0; - $583 = (($580) + 4)|0; - $584 = $583; - $585 = HEAP32[$584>>2]|0; - $586 = $b; + $585 = HEAP32[$pTabItem>>2]|0; + $586 = ((($585)) + 56|0); $587 = $586; - HEAP32[$587>>2] = $582; - $588 = (($586) + 4)|0; - $589 = $588; - HEAP32[$589>>2] = $585; + $588 = $587; + $589 = HEAP32[$588>>2]|0; + $590 = (($587) + 4)|0; + $591 = $590; + $592 = HEAP32[$591>>2]|0; + $593 = $b; + $594 = $593; + HEAP32[$594>>2] = $589; + $595 = (($593) + 4)|0; + $596 = $595; + HEAP32[$596>>2] = $592; HEAP32[$n>>2] = 0; while(1) { - $590 = $b; - $591 = $590; - $592 = HEAP32[$591>>2]|0; - $593 = (($590) + 4)|0; - $594 = $593; - $595 = HEAP32[$594>>2]|0; - $596 = ($592|0)!=(0); - $597 = ($595|0)!=(0); - $598 = $596 | $597; - if (!($598)) { + $597 = $b; + $598 = $597; + $599 = HEAP32[$598>>2]|0; + $600 = (($597) + 4)|0; + $601 = $600; + $602 = HEAP32[$601>>2]|0; + $603 = ($599|0)!=(0); + $604 = ($602|0)!=(0); + $605 = $603 | $604; + if (!($605)) { break; } - $599 = $b; - $600 = $599; - $601 = HEAP32[$600>>2]|0; - $602 = (($599) + 4)|0; - $603 = $602; - $604 = HEAP32[$603>>2]|0; - $605 = (_bitshift64Lshr(($601|0),($604|0),1)|0); - $606 = tempRet0; - $607 = $b; - $608 = $607; - HEAP32[$608>>2] = $605; - $609 = (($607) + 4)|0; + $606 = $b; + $607 = $606; + $608 = HEAP32[$607>>2]|0; + $609 = (($606) + 4)|0; $610 = $609; - HEAP32[$610>>2] = $606; - $611 = HEAP32[$n>>2]|0; - $612 = (($611) + 1)|0; - HEAP32[$n>>2] = $612; + $611 = HEAP32[$610>>2]|0; + $612 = (_bitshift64Lshr(($608|0),($611|0),1)|0); + $613 = tempRet0; + $614 = $b; + $615 = $614; + HEAP32[$615>>2] = $612; + $616 = (($614) + 4)|0; + $617 = $616; + HEAP32[$617>>2] = $613; + $618 = HEAP32[$n>>2]|0; + $619 = (($618) + 1)|0; + HEAP32[$n>>2] = $619; } - $613 = HEAP32[$v>>2]|0; - $614 = HEAP32[$n>>2]|0; - $615 = $614; - _sqlite3VdbeChangeP4($613,-1,$615,-14); + $620 = HEAP32[$v>>2]|0; + $621 = HEAP32[$n>>2]|0; + $622 = $621; + _sqlite3VdbeChangeP4($620,-1,$622,-14); } } while(0); - $616 = HEAP32[$v>>2]|0; - $617 = HEAP8[$bFordelete>>0]|0; - _sqlite3VdbeChangeP5($616,$617); + $623 = HEAP32[$v>>2]|0; + $624 = HEAP8[$bFordelete>>0]|0; + _sqlite3VdbeChangeP5($623,$624); break L97; } } while(0); - $618 = HEAP32[$1>>2]|0; - $619 = HEAP32[$iDb>>2]|0; - $620 = HEAP32[$pTab>>2]|0; - $621 = ((($620)) + 28|0); - $622 = HEAP32[$621>>2]|0; - $623 = HEAP32[$pTab>>2]|0; - $624 = HEAP32[$623>>2]|0; - _sqlite3TableLock($618,$619,$622,0,$624); + $625 = HEAP32[$1>>2]|0; + $626 = HEAP32[$iDb>>2]|0; + $627 = HEAP32[$pTab>>2]|0; + $628 = ((($627)) + 28|0); + $629 = HEAP32[$628>>2]|0; + $630 = HEAP32[$pTab>>2]|0; + $631 = HEAP32[$630>>2]|0; + _sqlite3TableLock($625,$626,$629,0,$631); } } } while(0); - $625 = HEAP32[$pLoop>>2]|0; - $626 = ((($625)) + 36|0); - $627 = HEAP32[$626>>2]|0; - $628 = $627 & 512; - $629 = ($628|0)!=(0); + $632 = HEAP32[$pLoop>>2]|0; + $633 = ((($632)) + 36|0); + $634 = HEAP32[$633>>2]|0; + $635 = $634 & 512; + $636 = ($635|0)!=(0); do { - if ($629) { - $630 = HEAP32[$pLoop>>2]|0; - $631 = ((($630)) + 24|0); - $632 = ((($631)) + 4|0); - $633 = HEAP32[$632>>2]|0; - HEAP32[$pIx>>2] = $633; - HEAP32[$op1>>2] = 102; - $634 = HEAP32[$pTab>>2]|0; - $635 = ((($634)) + 42|0); - $636 = HEAP8[$635>>0]|0; - $637 = $636&255; - $638 = $637 & 32; - $639 = ($638|0)==(0); + if ($636) { + $637 = HEAP32[$pLoop>>2]|0; + $638 = ((($637)) + 24|0); + $639 = ((($638)) + 8|0); + $640 = HEAP32[$639>>2]|0; + HEAP32[$pIx>>2] = $640; + HEAP32[$op1>>2] = 104; + $641 = HEAP32[$pTab>>2]|0; + $642 = ((($641)) + 42|0); + $643 = HEAP8[$642>>0]|0; + $644 = $643&255; + $645 = $644 & 32; + $646 = ($645|0)==(0); do { - if ($639) { + if ($646) { label = 93; } else { - $640 = HEAP32[$pIx>>2]|0; - $641 = ((($640)) + 55|0); - $642 = HEAP8[$641>>0]|0; - $643 = $642 & 3; - $644 = $643&255; - $645 = ($644|0)==(2); - if (!($645)) { + $647 = HEAP32[$pIx>>2]|0; + $648 = ((($647)) + 55|0); + $649 = HEAP8[$648>>0]|0; + $650 = $649 & 3; + $651 = $650&255; + $652 = ($651|0)==(2); + if (!($652)) { label = 93; break; } - $646 = HEAP16[$6>>1]|0; - $647 = $646&65535; - $648 = $647 & 64; - $649 = ($648|0)!=(0); - if (!($649)) { + $653 = HEAP16[$6>>1]|0; + $654 = $653&65535; + $655 = $654 & 32; + $656 = ($655|0)!=(0); + if (!($656)) { label = 93; break; } - $650 = HEAP32[$pLevel>>2]|0; - $651 = ((($650)) + 4|0); - $652 = HEAP32[$651>>2]|0; - HEAP32[$iIndexCur>>2] = $652; + $657 = HEAP32[$pLevel>>2]|0; + $658 = ((($657)) + 4|0); + $659 = HEAP32[$658>>2]|0; + HEAP32[$iIndexCur>>2] = $659; HEAP32[$op1>>2] = 0; } } while(0); L127: do { if ((label|0) == 93) { label = 0; - $653 = HEAP32[$pWInfo>>2]|0; - $654 = ((($653)) + 40|0); - $655 = HEAP8[$654>>0]|0; - $656 = $655&255; - $657 = ($656|0)!=(0); - if ($657) { - $658 = HEAP32[$pTabItem>>2]|0; - $659 = ((($658)) + 16|0); - $660 = HEAP32[$659>>2]|0; - $661 = ((($660)) + 8|0); - $662 = HEAP32[$661>>2]|0; - HEAP32[$pJ>>2] = $662; - $663 = HEAP32[$7>>2]|0; - HEAP32[$iIndexCur>>2] = $663; - while(1) { - $664 = HEAP32[$pJ>>2]|0; - $665 = ($664|0)!=(0|0); - if (!($665)) { - break; - } - $666 = HEAP32[$pJ>>2]|0; - $667 = HEAP32[$pIx>>2]|0; - $668 = ($666|0)!=($667|0); - if (!($668)) { - break; - } - $669 = HEAP32[$iIndexCur>>2]|0; - $670 = (($669) + 1)|0; - HEAP32[$iIndexCur>>2] = $670; - $671 = HEAP32[$pJ>>2]|0; - $672 = ((($671)) + 20|0); - $673 = HEAP32[$672>>2]|0; - HEAP32[$pJ>>2] = $673; - } - HEAP32[$op1>>2] = 103; - $674 = HEAP32[$iIndexCur>>2]|0; - $675 = HEAP32[$pWInfo>>2]|0; - $676 = ((($675)) + 60|0); - $677 = ((($676)) + 4|0); - HEAP32[$677>>2] = $674; - break; - } else { - $678 = HEAP32[$7>>2]|0; - $679 = ($678|0)!=(0); + $660 = HEAP32[$pWInfo>>2]|0; + $661 = ((($660)) + 45|0); + $662 = HEAP8[$661>>0]|0; + $663 = $662&255; + $664 = ($663|0)!=(0); + if (!($664)) { + $685 = HEAP32[$7>>2]|0; + $686 = ($685|0)!=(0); do { - if ($679) { - $680 = HEAP16[$6>>1]|0; - $681 = $680&65535; - $682 = $681 & 64; - $683 = ($682|0)!=(0); - if (!($683)) { + if ($686) { + $687 = HEAP16[$6>>1]|0; + $688 = $687&65535; + $689 = $688 & 32; + $690 = ($689|0)!=(0); + if (!($690)) { break; } - $684 = HEAP32[$7>>2]|0; - HEAP32[$iIndexCur>>2] = $684; - $685 = HEAP16[$6>>1]|0; - $686 = $685&65535; - $687 = $686 & 4096; - $688 = ($687|0)!=(0); - if (!($688)) { - break L127; - } - HEAP32[$op1>>2] = 101; + $691 = HEAP32[$7>>2]|0; + HEAP32[$iIndexCur>>2] = $691; + HEAP32[$op1>>2] = 103; break L127; } } while(0); - $689 = HEAP32[$1>>2]|0; - $690 = ((($689)) + 72|0); - $691 = HEAP32[$690>>2]|0; - $692 = (($691) + 1)|0; - HEAP32[$690>>2] = $692; - HEAP32[$iIndexCur>>2] = $691; + $692 = HEAP32[$1>>2]|0; + $693 = ((($692)) + 40|0); + $694 = HEAP32[$693>>2]|0; + $695 = (($694) + 1)|0; + HEAP32[$693>>2] = $695; + HEAP32[$iIndexCur>>2] = $694; break; } + $665 = HEAP32[$pTabItem>>2]|0; + $666 = ((($665)) + 16|0); + $667 = HEAP32[$666>>2]|0; + $668 = ((($667)) + 8|0); + $669 = HEAP32[$668>>2]|0; + HEAP32[$pJ>>2] = $669; + $670 = HEAP32[$7>>2]|0; + HEAP32[$iIndexCur>>2] = $670; + while(1) { + $671 = HEAP32[$pJ>>2]|0; + $672 = ($671|0)!=(0|0); + if (!($672)) { + break; + } + $673 = HEAP32[$pJ>>2]|0; + $674 = HEAP32[$pIx>>2]|0; + $675 = ($673|0)!=($674|0); + if (!($675)) { + break; + } + $676 = HEAP32[$iIndexCur>>2]|0; + $677 = (($676) + 1)|0; + HEAP32[$iIndexCur>>2] = $677; + $678 = HEAP32[$pJ>>2]|0; + $679 = ((($678)) + 20|0); + $680 = HEAP32[$679>>2]|0; + HEAP32[$pJ>>2] = $680; + } + HEAP32[$op1>>2] = 105; + $681 = HEAP32[$iIndexCur>>2]|0; + $682 = HEAP32[$pWInfo>>2]|0; + $683 = ((($682)) + 20|0); + $684 = ((($683)) + 4|0); + HEAP32[$684>>2] = $681; } } while(0); - $693 = HEAP32[$iIndexCur>>2]|0; - $694 = HEAP32[$pLevel>>2]|0; - $695 = ((($694)) + 8|0); - HEAP32[$695>>2] = $693; - $696 = HEAP32[$op1>>2]|0; - $697 = ($696|0)!=(0); - if (!($697)) { + $696 = HEAP32[$iIndexCur>>2]|0; + $697 = HEAP32[$pLevel>>2]|0; + $698 = ((($697)) + 8|0); + HEAP32[$698>>2] = $696; + $699 = HEAP32[$op1>>2]|0; + $700 = ($699|0)!=(0); + if (!($700)) { break; } - $698 = HEAP32[$v>>2]|0; - $699 = HEAP32[$op1>>2]|0; - $700 = HEAP32[$iIndexCur>>2]|0; - $701 = HEAP32[$pIx>>2]|0; - $702 = ((($701)) + 44|0); - $703 = HEAP32[$702>>2]|0; - $704 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($698,$699,$700,$703,$704)|0); - $705 = HEAP32[$1>>2]|0; - $706 = HEAP32[$pIx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($705,$706); - $707 = HEAP32[$pLoop>>2]|0; - $708 = ((($707)) + 36|0); - $709 = HEAP32[$708>>2]|0; - $710 = $709 & 15; - $711 = ($710|0)!=(0); - if (!($711)) { + $701 = HEAP32[$v>>2]|0; + $702 = HEAP32[$op1>>2]|0; + $703 = HEAP32[$iIndexCur>>2]|0; + $704 = HEAP32[$pIx>>2]|0; + $705 = ((($704)) + 44|0); + $706 = HEAP32[$705>>2]|0; + $707 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp3($701,$702,$703,$706,$707)|0); + $708 = HEAP32[$1>>2]|0; + $709 = HEAP32[$pIx>>2]|0; + _sqlite3VdbeSetP4KeyInfo($708,$709); + $710 = HEAP32[$pLoop>>2]|0; + $711 = ((($710)) + 36|0); + $712 = HEAP32[$711>>2]|0; + $713 = $712 & 15; + $714 = ($713|0)!=(0); + if (!($714)) { break; } - $712 = HEAP32[$pLoop>>2]|0; - $713 = ((($712)) + 36|0); - $714 = HEAP32[$713>>2]|0; - $715 = $714 & 32770; - $716 = ($715|0)==(0); - if (!($716)) { + $715 = HEAP32[$pLoop>>2]|0; + $716 = ((($715)) + 36|0); + $717 = HEAP32[$716>>2]|0; + $718 = $717 & 32770; + $719 = ($718|0)==(0); + if (!($719)) { break; } - $717 = HEAP32[$pWInfo>>2]|0; - $718 = ((($717)) + 36|0); - $719 = HEAP16[$718>>1]|0; - $720 = $719&65535; - $721 = $720 & 1; - $722 = ($721|0)==(0); - if (!($722)) { + $720 = HEAP32[$pWInfo>>2]|0; + $721 = ((($720)) + 40|0); + $722 = HEAP16[$721>>1]|0; + $723 = $722&65535; + $724 = $723 & 1; + $725 = ($724|0)==(0); + if (!($725)) { break; } - $723 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($723,2); + $726 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($726,2); } } while(0); - $724 = HEAP32[$iDb>>2]|0; - $725 = ($724|0)>=(0); - if ($725) { - $726 = HEAP32[$1>>2]|0; - $727 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($726,$727); + $727 = HEAP32[$iDb>>2]|0; + $728 = ($727|0)>=(0); + if ($728) { + $729 = HEAP32[$1>>2]|0; + $730 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($729,$730); } - $728 = HEAP32[$ii>>2]|0; - $729 = (($728) + 1)|0; - HEAP32[$ii>>2] = $729; - $730 = HEAP32[$pLevel>>2]|0; - $731 = ((($730)) + 80|0); - HEAP32[$pLevel>>2] = $731; + $731 = HEAP32[$ii>>2]|0; + $732 = (($731) + 1)|0; + HEAP32[$ii>>2] = $732; + $733 = HEAP32[$pLevel>>2]|0; + $734 = ((($733)) + 80|0); + HEAP32[$pLevel>>2] = $734; } - $732 = HEAP32[$v>>2]|0; - $733 = (_sqlite3VdbeCurrentAddr($732)|0); - $734 = HEAP32[$pWInfo>>2]|0; - $735 = ((($734)) + 44|0); - HEAP32[$735>>2] = $733; - $736 = HEAP32[$db>>2]|0; - $737 = ((($736)) + 69|0); - $738 = HEAP8[$737>>0]|0; - $739 = ($738<<24>>24)!=(0); - if (!($739)) { - $740 = $notReady; - $741 = $740; - HEAP32[$741>>2] = -1; - $742 = (($740) + 4)|0; - $743 = $742; - HEAP32[$743>>2] = -1; + $735 = HEAP32[$v>>2]|0; + $736 = (_sqlite3VdbeCurrentAddr($735)|0); + $737 = HEAP32[$pWInfo>>2]|0; + $738 = ((($737)) + 52|0); + HEAP32[$738>>2] = $736; + $739 = HEAP32[$db>>2]|0; + $740 = ((($739)) + 69|0); + $741 = HEAP8[$740>>0]|0; + $742 = ($741<<24>>24)!=(0); + if (!($742)) { + $743 = $notReady; + $744 = $743; + HEAP32[$744>>2] = -1; + $745 = (($743) + 4)|0; + $746 = $745; + HEAP32[$746>>2] = -1; HEAP32[$ii>>2] = 0; while(1) { - $744 = HEAP32[$ii>>2]|0; - $745 = HEAP32[$nTabList>>2]|0; - $746 = ($744|0)<($745|0); - if (!($746)) { + $747 = HEAP32[$ii>>2]|0; + $748 = HEAP32[$nTabList>>2]|0; + $749 = ($747|0)<($748|0); + if (!($749)) { break; } - $747 = HEAP32[$ii>>2]|0; - $748 = HEAP32[$pWInfo>>2]|0; - $749 = ((($748)) + 736|0); - $750 = (($749) + (($747*80)|0)|0); - HEAP32[$pLevel>>2] = $750; - $751 = HEAP32[$pLevel>>2]|0; - $752 = ((($751)) + 64|0); - $753 = HEAP32[$752>>2]|0; - $754 = ((($753)) + 36|0); - $755 = HEAP32[$754>>2]|0; - HEAP32[$wsFlags2>>2] = $755; - $756 = HEAP32[$pLevel>>2]|0; - $757 = ((($756)) + 64|0); + $750 = HEAP32[$ii>>2]|0; + $751 = HEAP32[$pWInfo>>2]|0; + $752 = ((($751)) + 752|0); + $753 = (($752) + (($750*80)|0)|0); + HEAP32[$pLevel>>2] = $753; + $754 = HEAP32[$pLevel>>2]|0; + $755 = ((($754)) + 64|0); + $756 = HEAP32[$755>>2]|0; + $757 = ((($756)) + 36|0); $758 = HEAP32[$757>>2]|0; - $759 = ((($758)) + 36|0); - $760 = HEAP32[$759>>2]|0; - $761 = $760 & 16384; - $762 = ($761|0)!=(0); - if ($762) { - $763 = HEAP32[$1>>2]|0; - $764 = HEAP32[$pWInfo>>2]|0; - $765 = ((($764)) + 328|0); - $766 = HEAP32[$pLevel>>2]|0; - $767 = ((($766)) + 44|0); - $768 = HEAP8[$767>>0]|0; - $769 = $768&255; - $770 = HEAP32[$2>>2]|0; - $771 = ((($770)) + 8|0); - $772 = (($771) + (($769*72)|0)|0); - $773 = $notReady; - $774 = $773; - $775 = HEAP32[$774>>2]|0; - $776 = (($773) + 4)|0; + HEAP32[$wsFlags2>>2] = $758; + $759 = HEAP32[$pLevel>>2]|0; + $760 = ((($759)) + 64|0); + $761 = HEAP32[$760>>2]|0; + $762 = ((($761)) + 36|0); + $763 = HEAP32[$762>>2]|0; + $764 = $763 & 16384; + $765 = ($764|0)!=(0); + if ($765) { + $766 = HEAP32[$1>>2]|0; + $767 = HEAP32[$pWInfo>>2]|0; + $768 = ((($767)) + 80|0); + $769 = HEAP32[$pLevel>>2]|0; + $770 = ((($769)) + 44|0); + $771 = HEAP8[$770>>0]|0; + $772 = $771&255; + $773 = HEAP32[$2>>2]|0; + $774 = ((($773)) + 8|0); + $775 = (($774) + (($772*72)|0)|0); + $776 = $notReady; $777 = $776; $778 = HEAP32[$777>>2]|0; - $779 = HEAP32[$pLevel>>2]|0; - _constructAutomaticIndex($763,$765,$772,$775,$778,$779); - $780 = HEAP32[$db>>2]|0; - $781 = ((($780)) + 69|0); - $782 = HEAP8[$781>>0]|0; - $783 = ($782<<24>>24)!=(0); - if ($783) { + $779 = (($776) + 4)|0; + $780 = $779; + $781 = HEAP32[$780>>2]|0; + $782 = HEAP32[$pLevel>>2]|0; + _constructAutomaticIndex($766,$768,$775,$778,$781,$782); + $783 = HEAP32[$db>>2]|0; + $784 = ((($783)) + 69|0); + $785 = HEAP8[$784>>0]|0; + $786 = ($785<<24>>24)!=(0); + if ($786) { break L15; } } - $784 = HEAP32[$1>>2]|0; - $785 = HEAP32[$2>>2]|0; - $786 = HEAP32[$pLevel>>2]|0; - $787 = HEAP32[$ii>>2]|0; - $788 = HEAP32[$pLevel>>2]|0; - $789 = ((($788)) + 44|0); - $790 = HEAP8[$789>>0]|0; - $791 = $790&255; - $792 = HEAP16[$6>>1]|0; - $793 = (_sqlite3WhereExplainOneScan($784,$785,$786,$787,$791,$792)|0); - HEAP32[$addrExplain>>2] = $793; - $794 = HEAP32[$v>>2]|0; - $795 = (_sqlite3VdbeCurrentAddr($794)|0); - $796 = HEAP32[$pLevel>>2]|0; - $797 = ((($796)) + 32|0); - HEAP32[$797>>2] = $795; - $798 = HEAP32[$pWInfo>>2]|0; - $799 = HEAP32[$ii>>2]|0; - $800 = $notReady; - $801 = $800; - $802 = HEAP32[$801>>2]|0; - $803 = (($800) + 4)|0; + $787 = HEAP32[$1>>2]|0; + $788 = HEAP32[$2>>2]|0; + $789 = HEAP32[$pLevel>>2]|0; + $790 = HEAP32[$ii>>2]|0; + $791 = HEAP32[$pLevel>>2]|0; + $792 = ((($791)) + 44|0); + $793 = HEAP8[$792>>0]|0; + $794 = $793&255; + $795 = HEAP16[$6>>1]|0; + $796 = (_sqlite3WhereExplainOneScan($787,$788,$789,$790,$794,$795)|0); + HEAP32[$addrExplain>>2] = $796; + $797 = HEAP32[$v>>2]|0; + $798 = (_sqlite3VdbeCurrentAddr($797)|0); + $799 = HEAP32[$pLevel>>2]|0; + $800 = ((($799)) + 32|0); + HEAP32[$800>>2] = $798; + $801 = HEAP32[$pWInfo>>2]|0; + $802 = HEAP32[$ii>>2]|0; + $803 = $notReady; $804 = $803; $805 = HEAP32[$804>>2]|0; - $806 = (_sqlite3WhereCodeOneLoopStart($798,$799,$802,$805)|0); - $807 = tempRet0; - $808 = $notReady; - $809 = $808; - HEAP32[$809>>2] = $806; - $810 = (($808) + 4)|0; - $811 = $810; - HEAP32[$811>>2] = $807; - $812 = HEAP32[$pLevel>>2]|0; - $813 = ((($812)) + 24|0); - $814 = HEAP32[$813>>2]|0; - $815 = HEAP32[$pWInfo>>2]|0; - $816 = ((($815)) + 48|0); - HEAP32[$816>>2] = $814; - $817 = HEAP32[$wsFlags2>>2]|0; - $818 = $817 & 8192; - $819 = ($818|0)==(0); + $806 = (($803) + 4)|0; + $807 = $806; + $808 = HEAP32[$807>>2]|0; + $809 = (_sqlite3WhereCodeOneLoopStart($801,$802,$805,$808)|0); + $810 = tempRet0; + $811 = $notReady; + $812 = $811; + HEAP32[$812>>2] = $809; + $813 = (($811) + 4)|0; + $814 = $813; + HEAP32[$814>>2] = $810; + $815 = HEAP32[$pLevel>>2]|0; + $816 = ((($815)) + 24|0); + $817 = HEAP32[$816>>2]|0; + $818 = HEAP32[$pWInfo>>2]|0; + $819 = ((($818)) + 28|0); + HEAP32[$819>>2] = $817; + $820 = HEAP32[$wsFlags2>>2]|0; + $821 = $820 & 8192; + $822 = ($821|0)==(0); do { - if ($819) { - $820 = HEAP16[$6>>1]|0; - $821 = $820&65535; - $822 = $821 & 64; - $823 = ($822|0)==(0); - if (!($823)) { + if ($822) { + $823 = HEAP16[$6>>1]|0; + $824 = $823&65535; + $825 = $824 & 32; + $826 = ($825|0)==(0); + if (!($826)) { break; } } } while(0); - $824 = HEAP32[$ii>>2]|0; - $825 = (($824) + 1)|0; - HEAP32[$ii>>2] = $825; + $827 = HEAP32[$ii>>2]|0; + $828 = (($827) + 1)|0; + HEAP32[$ii>>2] = $828; } - $826 = HEAP32[$pWInfo>>2]|0; - HEAP32[$0>>2] = $826; - $836 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($836|0); + $829 = HEAP32[$pWInfo>>2]|0; + HEAP32[$0>>2] = $829; + $839 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($839|0); } } } } } } while(0); - $827 = HEAP32[$pWInfo>>2]|0; - $828 = ($827|0)!=(0|0); - if ($828) { - $829 = HEAP32[$pWInfo>>2]|0; - $830 = ((($829)) + 56|0); - $831 = HEAP32[$830>>2]|0; - $832 = HEAP32[$1>>2]|0; - $833 = ((($832)) + 428|0); - HEAP32[$833>>2] = $831; - $834 = HEAP32[$db>>2]|0; - $835 = HEAP32[$pWInfo>>2]|0; - _whereInfoFree($834,$835); + $830 = HEAP32[$pWInfo>>2]|0; + $831 = ($830|0)!=(0|0); + if ($831) { + $832 = HEAP32[$pWInfo>>2]|0; + $833 = ((($832)) + 36|0); + $834 = HEAP32[$833>>2]|0; + $835 = HEAP32[$1>>2]|0; + $836 = ((($835)) + 136|0); + HEAP32[$836>>2] = $834; + $837 = HEAP32[$db>>2]|0; + $838 = HEAP32[$pWInfo>>2]|0; + _whereInfoFree($837,$838); } HEAP32[$0>>2] = 0; - $836 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($836|0); + $839 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($839|0); } function _sqlite3WhereEnd($pWInfo) { $pWInfo = $pWInfo|0; @@ -168613,31 +170978,33 @@ function _sqlite3WhereEnd($pWInfo) { var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $db = 0, $i = 0, $j = 0, $k = 0, $last = 0, $pIdx = 0, $pIn = 0; - var $pLevel = 0, $pLoop = 0, $pOp = 0, $pParse = 0, $pPk = 0, $pTab = 0, $pTabItem = 0, $pTabList = 0, $v = 0, $ws = 0, $x = 0, label = 0, sp = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $addr = 0, $db = 0, $i = 0, $j = 0, $k = 0, $last = 0, $pIdx = 0, $pIn = 0, $pLevel = 0, $pLoop = 0, $pOp = 0, $pParse = 0, $pPk = 0, $pTab = 0, $pTabItem = 0, $pTabList = 0, $v = 0; + var $ws = 0, $ws1 = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 76|0; - $pParse = sp + 72|0; - $v = sp + 68|0; - $i = sp + 64|0; - $pLevel = sp + 60|0; - $pLoop = sp + 56|0; - $pTabList = sp + 52|0; - $db = sp + 48|0; - $addr = sp + 44|0; - $pIn = sp + 40|0; - $j = sp + 36|0; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 80|0; + $pParse = sp + 76|0; + $v = sp + 72|0; + $i = sp + 68|0; + $pLevel = sp + 64|0; + $pLoop = sp + 60|0; + $pTabList = sp + 56|0; + $db = sp + 52|0; + $addr = sp + 48|0; + $pIn = sp + 44|0; + $j = sp + 40|0; + $ws = sp + 36|0; $k = sp + 32|0; $last = sp + 28|0; $pOp = sp + 24|0; $pIdx = sp + 20|0; $pTabItem = sp + 16|0; $pTab = sp + 12|0; - $ws = sp + 8|0; + $ws1 = sp + 8|0; $x = sp + 4|0; $pPk = sp; HEAP32[$0>>2] = $pWInfo; @@ -168658,7 +171025,7 @@ function _sqlite3WhereEnd($pWInfo) { $11 = HEAP32[$pParse>>2]|0; _sqlite3ExprCacheClear($11); $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 43|0); + $13 = ((($12)) + 42|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = (($15) - 1)|0; @@ -168671,7 +171038,7 @@ function _sqlite3WhereEnd($pWInfo) { } $19 = HEAP32[$i>>2]|0; $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 736|0); + $21 = ((($20)) + 752|0); $22 = (($21) + (($19*80)|0)|0); HEAP32[$pLevel>>2] = $22; $23 = HEAP32[$pLevel>>2]|0; @@ -168687,7 +171054,7 @@ function _sqlite3WhereEnd($pWInfo) { $31 = ((($30)) + 45|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; - $34 = ($33|0)!=(159); + $34 = ($33|0)!=(161); if ($34) { $35 = HEAP32[$v>>2]|0; $36 = HEAP32[$pLevel>>2]|0; @@ -168752,445 +171119,469 @@ function _sqlite3WhereEnd($pWInfo) { $82 = HEAP32[$81>>2]|0; $83 = (($82) + 1)|0; _sqlite3VdbeJumpHere($79,$83); - $84 = HEAP32[$v>>2]|0; - $85 = HEAP32[$pIn>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = HEAP32[$pIn>>2]|0; - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$pIn>>2]|0; - $92 = ((($91)) + 4|0); - $93 = HEAP32[$92>>2]|0; - (_sqlite3VdbeAddOp2($84,$88,$90,$93)|0); - $94 = HEAP32[$v>>2]|0; - $95 = HEAP32[$pIn>>2]|0; - $96 = ((($95)) + 4|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($97) - 1)|0; - _sqlite3VdbeJumpHere($94,$98); - $99 = HEAP32[$j>>2]|0; - $100 = (($99) + -1)|0; - HEAP32[$j>>2] = $100; - $101 = HEAP32[$pIn>>2]|0; - $102 = ((($101)) + -12|0); - HEAP32[$pIn>>2] = $102; + $84 = HEAP32[$pIn>>2]|0; + $85 = ((($84)) + 8|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = ($87|0)!=(161); + if ($88) { + $89 = HEAP32[$v>>2]|0; + $90 = HEAP32[$pIn>>2]|0; + $91 = ((($90)) + 8|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = HEAP32[$pIn>>2]|0; + $95 = HEAP32[$94>>2]|0; + $96 = HEAP32[$pIn>>2]|0; + $97 = ((($96)) + 4|0); + $98 = HEAP32[$97>>2]|0; + (_sqlite3VdbeAddOp2($89,$93,$95,$98)|0); + } + $99 = HEAP32[$v>>2]|0; + $100 = HEAP32[$pIn>>2]|0; + $101 = ((($100)) + 4|0); + $102 = HEAP32[$101>>2]|0; + $103 = (($102) - 1)|0; + _sqlite3VdbeJumpHere($99,$103); + $104 = HEAP32[$j>>2]|0; + $105 = (($104) + -1)|0; + HEAP32[$j>>2] = $105; + $106 = HEAP32[$pIn>>2]|0; + $107 = ((($106)) + -12|0); + HEAP32[$pIn>>2] = $107; } } } } while(0); - $103 = HEAP32[$v>>2]|0; - $104 = HEAP32[$pLevel>>2]|0; - $105 = ((($104)) + 12|0); - $106 = HEAP32[$105>>2]|0; - _sqlite3VdbeResolveLabel($103,$106); - $107 = HEAP32[$pLevel>>2]|0; - $108 = ((($107)) + 20|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)!=(0); - if ($110) { - $111 = HEAP32[$v>>2]|0; - $112 = HEAP32[$pLevel>>2]|0; - $113 = ((($112)) + 20|0); - $114 = HEAP32[$113>>2]|0; - (_sqlite3VdbeGoto($111,$114)|0); - $115 = HEAP32[$v>>2]|0; - $116 = HEAP32[$pLevel>>2]|0; - $117 = ((($116)) + 20|0); - $118 = HEAP32[$117>>2]|0; - _sqlite3VdbeJumpHere($115,$118); - $119 = HEAP32[$v>>2]|0; - $120 = HEAP32[$pLevel>>2]|0; - $121 = ((($120)) + 20|0); - $122 = HEAP32[$121>>2]|0; - $123 = (($122) - 2)|0; - _sqlite3VdbeJumpHere($119,$123); + $108 = HEAP32[$v>>2]|0; + $109 = HEAP32[$pLevel>>2]|0; + $110 = ((($109)) + 12|0); + $111 = HEAP32[$110>>2]|0; + _sqlite3VdbeResolveLabel($108,$111); + $112 = HEAP32[$pLevel>>2]|0; + $113 = ((($112)) + 20|0); + $114 = HEAP32[$113>>2]|0; + $115 = ($114|0)!=(0); + if ($115) { + $116 = HEAP32[$v>>2]|0; + $117 = HEAP32[$pLevel>>2]|0; + $118 = ((($117)) + 20|0); + $119 = HEAP32[$118>>2]|0; + (_sqlite3VdbeGoto($116,$119)|0); + $120 = HEAP32[$v>>2]|0; + $121 = HEAP32[$pLevel>>2]|0; + $122 = ((($121)) + 20|0); + $123 = HEAP32[$122>>2]|0; + _sqlite3VdbeJumpHere($120,$123); + $124 = HEAP32[$v>>2]|0; + $125 = HEAP32[$pLevel>>2]|0; + $126 = ((($125)) + 20|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($127) - 2)|0; + _sqlite3VdbeJumpHere($124,$128); } - $124 = HEAP32[$pLevel>>2]|0; - $125 = ((($124)) + 40|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126|0)!=(0); - if ($127) { - $128 = HEAP32[$v>>2]|0; - $129 = HEAP32[$pLevel>>2]|0; - $130 = ((($129)) + 36|0); - $131 = HEAP32[$130>>2]|0; - $132 = $131 >>> 1; - $133 = HEAP32[$pLevel>>2]|0; - $134 = ((($133)) + 40|0); - $135 = HEAP32[$134>>2]|0; - (_sqlite3VdbeAddOp2($128,66,$132,$135)|0); + $129 = HEAP32[$pLevel>>2]|0; + $130 = ((($129)) + 40|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)!=(0); + if ($132) { + $133 = HEAP32[$v>>2]|0; + $134 = HEAP32[$pLevel>>2]|0; + $135 = ((($134)) + 36|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 >>> 1; + $138 = HEAP32[$pLevel>>2]|0; + $139 = ((($138)) + 40|0); + $140 = HEAP32[$139>>2]|0; + (_sqlite3VdbeAddOp2($133,68,$137,$140)|0); } - $136 = HEAP32[$pLevel>>2]|0; - $137 = HEAP32[$136>>2]|0; - $138 = ($137|0)!=(0); - if ($138) { - $139 = HEAP32[$v>>2]|0; - $140 = HEAP32[$pLevel>>2]|0; - $141 = HEAP32[$140>>2]|0; - $142 = (_sqlite3VdbeAddOp1($139,64,$141)|0); - HEAP32[$addr>>2] = $142; - $143 = HEAP32[$pLoop>>2]|0; - $144 = ((($143)) + 36|0); - $145 = HEAP32[$144>>2]|0; - $146 = $145 & 64; - $147 = ($146|0)==(0); - if ($147) { - $148 = HEAP32[$v>>2]|0; - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$pTabList>>2]|0; - $151 = ((($150)) + 8|0); - $152 = (($151) + (($149*72)|0)|0); - $153 = ((($152)) + 44|0); - $154 = HEAP32[$153>>2]|0; - (_sqlite3VdbeAddOp1($148,122,$154)|0); + $141 = HEAP32[$pLevel>>2]|0; + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)!=(0); + if ($143) { + $144 = HEAP32[$pLoop>>2]|0; + $145 = ((($144)) + 36|0); + $146 = HEAP32[$145>>2]|0; + HEAP32[$ws>>2] = $146; + $147 = HEAP32[$v>>2]|0; + $148 = HEAP32[$pLevel>>2]|0; + $149 = HEAP32[$148>>2]|0; + $150 = (_sqlite3VdbeAddOp1($147,66,$149)|0); + HEAP32[$addr>>2] = $150; + $151 = HEAP32[$ws>>2]|0; + $152 = $151 & 64; + $153 = ($152|0)==(0); + if ($153) { + $154 = HEAP32[$v>>2]|0; + $155 = HEAP32[$i>>2]|0; + $156 = HEAP32[$pTabList>>2]|0; + $157 = ((($156)) + 8|0); + $158 = (($157) + (($155*72)|0)|0); + $159 = ((($158)) + 44|0); + $160 = HEAP32[$159>>2]|0; + (_sqlite3VdbeAddOp1($154,124,$160)|0); } - $155 = HEAP32[$pLoop>>2]|0; - $156 = ((($155)) + 36|0); - $157 = HEAP32[$156>>2]|0; - $158 = $157 & 512; - $159 = ($158|0)!=(0); - if ($159) { - $160 = HEAP32[$v>>2]|0; - $161 = HEAP32[$pLevel>>2]|0; - $162 = ((($161)) + 8|0); - $163 = HEAP32[$162>>2]|0; - (_sqlite3VdbeAddOp1($160,122,$163)|0); + $161 = HEAP32[$ws>>2]|0; + $162 = $161 & 512; + $163 = ($162|0)!=(0); + if ($163) { + label = 22; + } else { + $164 = HEAP32[$ws>>2]|0; + $165 = $164 & 8192; + $166 = ($165|0)!=(0); + if ($166) { + $167 = HEAP32[$pLevel>>2]|0; + $168 = ((($167)) + 56|0); + $169 = HEAP32[$168>>2]|0; + $170 = ($169|0)!=(0|0); + if ($170) { + label = 22; + } + } } - $164 = HEAP32[$pLevel>>2]|0; - $165 = ((($164)) + 45|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = ($167|0)==(70); - $169 = HEAP32[$v>>2]|0; - $170 = HEAP32[$pLevel>>2]|0; - if ($168) { - $171 = ((($170)) + 48|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$pLevel>>2]|0; - $174 = ((($173)) + 28|0); - $175 = HEAP32[$174>>2]|0; - (_sqlite3VdbeAddOp2($169,14,$172,$175)|0); + if ((label|0) == 22) { + label = 0; + $171 = HEAP32[$v>>2]|0; + $172 = HEAP32[$pLevel>>2]|0; + $173 = ((($172)) + 8|0); + $174 = HEAP32[$173>>2]|0; + (_sqlite3VdbeAddOp1($171,124,$174)|0); + } + $175 = HEAP32[$pLevel>>2]|0; + $176 = ((($175)) + 45|0); + $177 = HEAP8[$176>>0]|0; + $178 = $177&255; + $179 = ($178|0)==(72); + $180 = HEAP32[$v>>2]|0; + $181 = HEAP32[$pLevel>>2]|0; + if ($179) { + $182 = ((($181)) + 48|0); + $183 = HEAP32[$182>>2]|0; + $184 = HEAP32[$pLevel>>2]|0; + $185 = ((($184)) + 28|0); + $186 = HEAP32[$185>>2]|0; + (_sqlite3VdbeAddOp2($180,14,$183,$186)|0); } else { - $176 = ((($170)) + 28|0); - $177 = HEAP32[$176>>2]|0; - (_sqlite3VdbeGoto($169,$177)|0); + $187 = ((($181)) + 28|0); + $188 = HEAP32[$187>>2]|0; + (_sqlite3VdbeGoto($180,$188)|0); } - $178 = HEAP32[$v>>2]|0; - $179 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($178,$179); + $189 = HEAP32[$v>>2]|0; + $190 = HEAP32[$addr>>2]|0; + _sqlite3VdbeJumpHere($189,$190); } - $180 = HEAP32[$i>>2]|0; - $181 = (($180) + -1)|0; - HEAP32[$i>>2] = $181; + $191 = HEAP32[$i>>2]|0; + $192 = (($191) + -1)|0; + HEAP32[$i>>2] = $192; } - $182 = HEAP32[$v>>2]|0; - $183 = HEAP32[$0>>2]|0; - $184 = ((($183)) + 52|0); - $185 = HEAP32[$184>>2]|0; - _sqlite3VdbeResolveLabel($182,$185); + $193 = HEAP32[$v>>2]|0; + $194 = HEAP32[$0>>2]|0; + $195 = ((($194)) + 32|0); + $196 = HEAP32[$195>>2]|0; + _sqlite3VdbeResolveLabel($193,$196); HEAP32[$i>>2] = 0; - $186 = HEAP32[$0>>2]|0; - $187 = ((($186)) + 736|0); - HEAP32[$pLevel>>2] = $187; + $197 = HEAP32[$0>>2]|0; + $198 = ((($197)) + 752|0); + HEAP32[$pLevel>>2] = $198; while(1) { - $188 = HEAP32[$i>>2]|0; - $189 = HEAP32[$0>>2]|0; - $190 = ((($189)) + 43|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191&255; - $193 = ($188|0)<($192|0); - if (!($193)) { + $199 = HEAP32[$i>>2]|0; + $200 = HEAP32[$0>>2]|0; + $201 = ((($200)) + 42|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = ($199|0)<($203|0); + if (!($204)) { break; } HEAP32[$pIdx>>2] = 0; - $194 = HEAP32[$pLevel>>2]|0; - $195 = ((($194)) + 44|0); - $196 = HEAP8[$195>>0]|0; - $197 = $196&255; - $198 = HEAP32[$pTabList>>2]|0; - $199 = ((($198)) + 8|0); - $200 = (($199) + (($197*72)|0)|0); - HEAP32[$pTabItem>>2] = $200; - $201 = HEAP32[$pTabItem>>2]|0; - $202 = ((($201)) + 16|0); - $203 = HEAP32[$202>>2]|0; - HEAP32[$pTab>>2] = $203; - $204 = HEAP32[$pLevel>>2]|0; - $205 = ((($204)) + 64|0); - $206 = HEAP32[$205>>2]|0; - HEAP32[$pLoop>>2] = $206; - $207 = HEAP32[$pTabItem>>2]|0; - $208 = ((($207)) + 36|0); - $209 = ((($208)) + 1|0); - $210 = HEAP8[$209>>0]|0; - $211 = ($210&255) >>> 4; - $212 = $211 & 1; - $213 = $212&255; - $214 = ($213|0)!=(0); - if ($214) { - $215 = HEAP32[$db>>2]|0; - $216 = ((($215)) + 69|0); - $217 = HEAP8[$216>>0]|0; - $218 = ($217<<24>>24)!=(0); - if ($218) { - label = 29; + $205 = HEAP32[$pLevel>>2]|0; + $206 = ((($205)) + 44|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $209 = HEAP32[$pTabList>>2]|0; + $210 = ((($209)) + 8|0); + $211 = (($210) + (($208*72)|0)|0); + HEAP32[$pTabItem>>2] = $211; + $212 = HEAP32[$pTabItem>>2]|0; + $213 = ((($212)) + 16|0); + $214 = HEAP32[$213>>2]|0; + HEAP32[$pTab>>2] = $214; + $215 = HEAP32[$pLevel>>2]|0; + $216 = ((($215)) + 64|0); + $217 = HEAP32[$216>>2]|0; + HEAP32[$pLoop>>2] = $217; + $218 = HEAP32[$pTabItem>>2]|0; + $219 = ((($218)) + 36|0); + $220 = ((($219)) + 1|0); + $221 = HEAP8[$220>>0]|0; + $222 = ($221&255) >>> 4; + $223 = $222 & 1; + $224 = $223&255; + $225 = ($224|0)!=(0); + if ($225) { + $226 = HEAP32[$db>>2]|0; + $227 = ((($226)) + 69|0); + $228 = HEAP8[$227>>0]|0; + $229 = ($228<<24>>24)!=(0); + if ($229) { + label = 33; } else { - $219 = HEAP32[$v>>2]|0; - $220 = HEAP32[$pLevel>>2]|0; - $221 = ((($220)) + 32|0); - $222 = HEAP32[$221>>2]|0; - $223 = HEAP32[$pLevel>>2]|0; - $224 = ((($223)) + 4|0); - $225 = HEAP32[$224>>2]|0; - $226 = HEAP32[$pTabItem>>2]|0; - $227 = ((($226)) + 32|0); - $228 = HEAP32[$227>>2]|0; - _translateColumnToCopy($219,$222,$225,$228,0); + $230 = HEAP32[$v>>2]|0; + $231 = HEAP32[$pLevel>>2]|0; + $232 = ((($231)) + 32|0); + $233 = HEAP32[$232>>2]|0; + $234 = HEAP32[$pLevel>>2]|0; + $235 = ((($234)) + 4|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$pTabItem>>2]|0; + $238 = ((($237)) + 32|0); + $239 = HEAP32[$238>>2]|0; + _translateColumnToCopy($230,$233,$236,$239,0); } } else { - label = 29; + label = 33; } - L40: do { - if ((label|0) == 29) { + L46: do { + if ((label|0) == 33) { label = 0; - $229 = HEAP32[$pTab>>2]|0; - $230 = ((($229)) + 42|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = $232 & 2; - $234 = ($233|0)==(0); - if ($234) { - $235 = HEAP32[$pTab>>2]|0; - $236 = ((($235)) + 12|0); - $237 = HEAP32[$236>>2]|0; - $238 = ($237|0)==(0|0); - if ($238) { - $239 = HEAP32[$0>>2]|0; - $240 = ((($239)) + 36|0); - $241 = HEAP16[$240>>1]|0; - $242 = $241&65535; - $243 = $242 & 16; - $244 = ($243|0)==(0); - if ($244) { - $245 = HEAP32[$pLoop>>2]|0; - $246 = ((($245)) + 36|0); - $247 = HEAP32[$246>>2]|0; - HEAP32[$ws>>2] = $247; - $248 = HEAP32[$0>>2]|0; - $249 = ((($248)) + 40|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251|0)==(0); - if ($252) { - $253 = HEAP32[$ws>>2]|0; - $254 = $253 & 64; - $255 = ($254|0)==(0); - if ($255) { - $256 = HEAP32[$v>>2]|0; - $257 = HEAP32[$pTabItem>>2]|0; - $258 = ((($257)) + 44|0); - $259 = HEAP32[$258>>2]|0; - (_sqlite3VdbeAddOp1($256,109,$259)|0); + $240 = HEAP32[$pTab>>2]|0; + $241 = ((($240)) + 42|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $244 = $243 & 2; + $245 = ($244|0)==(0); + if ($245) { + $246 = HEAP32[$pTab>>2]|0; + $247 = ((($246)) + 12|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0|0); + if ($249) { + $250 = HEAP32[$0>>2]|0; + $251 = ((($250)) + 40|0); + $252 = HEAP16[$251>>1]|0; + $253 = $252&65535; + $254 = $253 & 32; + $255 = ($254|0)==(0); + if ($255) { + $256 = HEAP32[$pLoop>>2]|0; + $257 = ((($256)) + 36|0); + $258 = HEAP32[$257>>2]|0; + HEAP32[$ws1>>2] = $258; + $259 = HEAP32[$0>>2]|0; + $260 = ((($259)) + 45|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $263 = ($262|0)==(0); + if ($263) { + $264 = HEAP32[$ws1>>2]|0; + $265 = $264 & 64; + $266 = ($265|0)==(0); + if ($266) { + $267 = HEAP32[$v>>2]|0; + $268 = HEAP32[$pTabItem>>2]|0; + $269 = ((($268)) + 44|0); + $270 = HEAP32[$269>>2]|0; + (_sqlite3VdbeAddOp1($267,111,$270)|0); } } - $260 = HEAP32[$ws>>2]|0; - $261 = $260 & 512; - $262 = ($261|0)!=(0); - if ($262) { - $263 = HEAP32[$ws>>2]|0; - $264 = $263 & 16640; - $265 = ($264|0)==(0); - if ($265) { - $266 = HEAP32[$pLevel>>2]|0; - $267 = ((($266)) + 8|0); - $268 = HEAP32[$267>>2]|0; - $269 = HEAP32[$0>>2]|0; - $270 = ((($269)) + 60|0); - $271 = ((($270)) + 4|0); - $272 = HEAP32[$271>>2]|0; - $273 = ($268|0)!=($272|0); - if ($273) { - $274 = HEAP32[$v>>2]|0; - $275 = HEAP32[$pLevel>>2]|0; - $276 = ((($275)) + 8|0); - $277 = HEAP32[$276>>2]|0; - (_sqlite3VdbeAddOp1($274,109,$277)|0); + $271 = HEAP32[$ws1>>2]|0; + $272 = $271 & 512; + $273 = ($272|0)!=(0); + if ($273) { + $274 = HEAP32[$ws1>>2]|0; + $275 = $274 & 16640; + $276 = ($275|0)==(0); + if ($276) { + $277 = HEAP32[$pLevel>>2]|0; + $278 = ((($277)) + 8|0); + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$0>>2]|0; + $281 = ((($280)) + 20|0); + $282 = ((($281)) + 4|0); + $283 = HEAP32[$282>>2]|0; + $284 = ($279|0)!=($283|0); + if ($284) { + $285 = HEAP32[$v>>2]|0; + $286 = HEAP32[$pLevel>>2]|0; + $287 = ((($286)) + 8|0); + $288 = HEAP32[$287>>2]|0; + (_sqlite3VdbeAddOp1($285,111,$288)|0); } } } } } } - $278 = HEAP32[$pLoop>>2]|0; - $279 = ((($278)) + 36|0); - $280 = HEAP32[$279>>2]|0; - $281 = $280 & 576; - $282 = ($281|0)!=(0); - $283 = HEAP32[$pLoop>>2]|0; - if ($282) { - $284 = ((($283)) + 24|0); - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - HEAP32[$pIdx>>2] = $286; + $289 = HEAP32[$pLoop>>2]|0; + $290 = ((($289)) + 36|0); + $291 = HEAP32[$290>>2]|0; + $292 = $291 & 576; + $293 = ($292|0)!=(0); + $294 = HEAP32[$pLoop>>2]|0; + if ($293) { + $295 = ((($294)) + 24|0); + $296 = ((($295)) + 8|0); + $297 = HEAP32[$296>>2]|0; + HEAP32[$pIdx>>2] = $297; } else { - $287 = ((($283)) + 36|0); - $288 = HEAP32[$287>>2]|0; - $289 = $288 & 8192; - $290 = ($289|0)!=(0); - if ($290) { - $291 = HEAP32[$pLevel>>2]|0; - $292 = ((($291)) + 56|0); - $293 = HEAP32[$292>>2]|0; - HEAP32[$pIdx>>2] = $293; - } - } - $294 = HEAP32[$pIdx>>2]|0; - $295 = ($294|0)!=(0|0); - if ($295) { - $296 = HEAP32[$0>>2]|0; - $297 = ((($296)) + 40|0); - $298 = HEAP8[$297>>0]|0; - $299 = $298&255; - $300 = ($299|0)==(0); - if (!($300)) { - $301 = HEAP32[$pIdx>>2]|0; - $302 = ((($301)) + 12|0); - $303 = HEAP32[$302>>2]|0; - $304 = ((($303)) + 42|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = $306 & 32; - $308 = ($307|0)==(0); - if ($308) { + $298 = ((($294)) + 36|0); + $299 = HEAP32[$298>>2]|0; + $300 = $299 & 8192; + $301 = ($300|0)!=(0); + if ($301) { + $302 = HEAP32[$pLevel>>2]|0; + $303 = ((($302)) + 56|0); + $304 = HEAP32[$303>>2]|0; + HEAP32[$pIdx>>2] = $304; + } + } + $305 = HEAP32[$pIdx>>2]|0; + $306 = ($305|0)!=(0|0); + if ($306) { + $307 = HEAP32[$0>>2]|0; + $308 = ((($307)) + 45|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = ($310|0)==(0); + if (!($311)) { + $312 = HEAP32[$pIdx>>2]|0; + $313 = ((($312)) + 12|0); + $314 = HEAP32[$313>>2]|0; + $315 = ((($314)) + 42|0); + $316 = HEAP8[$315>>0]|0; + $317 = $316&255; + $318 = $317 & 32; + $319 = ($318|0)==(0); + if ($319) { break; } } - $309 = HEAP32[$db>>2]|0; - $310 = ((($309)) + 69|0); - $311 = HEAP8[$310>>0]|0; - $312 = ($311<<24>>24)!=(0); - if (!($312)) { - $313 = HEAP32[$v>>2]|0; - $314 = (_sqlite3VdbeCurrentAddr($313)|0); - HEAP32[$last>>2] = $314; - $315 = HEAP32[$pLevel>>2]|0; - $316 = ((($315)) + 32|0); - $317 = HEAP32[$316>>2]|0; - HEAP32[$k>>2] = $317; - $318 = HEAP32[$v>>2]|0; - $319 = HEAP32[$k>>2]|0; - $320 = (_sqlite3VdbeGetOp($318,$319)|0); - HEAP32[$pOp>>2] = $320; + $320 = HEAP32[$db>>2]|0; + $321 = ((($320)) + 69|0); + $322 = HEAP8[$321>>0]|0; + $323 = ($322<<24>>24)!=(0); + if (!($323)) { + $324 = HEAP32[$v>>2]|0; + $325 = (_sqlite3VdbeCurrentAddr($324)|0); + HEAP32[$last>>2] = $325; + $326 = HEAP32[$pLevel>>2]|0; + $327 = ((($326)) + 32|0); + $328 = HEAP32[$327>>2]|0; + HEAP32[$k>>2] = $328; + $329 = HEAP32[$v>>2]|0; + $330 = HEAP32[$k>>2]|0; + $331 = (_sqlite3VdbeGetOp($329,$330)|0); + HEAP32[$pOp>>2] = $331; while(1) { - $321 = HEAP32[$k>>2]|0; - $322 = HEAP32[$last>>2]|0; - $323 = ($321|0)<($322|0); - if (!($323)) { - break L40; + $332 = HEAP32[$k>>2]|0; + $333 = HEAP32[$last>>2]|0; + $334 = ($332|0)<($333|0); + if (!($334)) { + break L46; } - $324 = HEAP32[$pOp>>2]|0; - $325 = ((($324)) + 4|0); - $326 = HEAP32[$325>>2]|0; - $327 = HEAP32[$pLevel>>2]|0; - $328 = ((($327)) + 4|0); - $329 = HEAP32[$328>>2]|0; - $330 = ($326|0)!=($329|0); + $335 = HEAP32[$pOp>>2]|0; + $336 = ((($335)) + 4|0); + $337 = HEAP32[$336>>2]|0; + $338 = HEAP32[$pLevel>>2]|0; + $339 = ((($338)) + 4|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($337|0)!=($340|0); do { - if (!($330)) { - $331 = HEAP32[$pOp>>2]|0; - $332 = HEAP8[$331>>0]|0; - $333 = $332&255; - $334 = ($333|0)==(94); - $335 = HEAP32[$pOp>>2]|0; - if (!($334)) { - $368 = HEAP8[$335>>0]|0; - $369 = $368&255; - $370 = ($369|0)==(121); - if (!($370)) { + if (!($341)) { + $342 = HEAP32[$pOp>>2]|0; + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = ($344|0)==(96); + $346 = HEAP32[$pOp>>2]|0; + if (!($345)) { + $379 = HEAP8[$346>>0]|0; + $380 = $379&255; + $381 = ($380|0)==(123); + if (!($381)) { break; } - $371 = HEAP32[$pLevel>>2]|0; - $372 = ((($371)) + 8|0); - $373 = HEAP32[$372>>2]|0; - $374 = HEAP32[$pOp>>2]|0; - $375 = ((($374)) + 4|0); - HEAP32[$375>>2] = $373; - $376 = HEAP32[$pOp>>2]|0; - HEAP8[$376>>0] = 127; + $382 = HEAP32[$pLevel>>2]|0; + $383 = ((($382)) + 8|0); + $384 = HEAP32[$383>>2]|0; + $385 = HEAP32[$pOp>>2]|0; + $386 = ((($385)) + 4|0); + HEAP32[$386>>2] = $384; + $387 = HEAP32[$pOp>>2]|0; + HEAP8[$387>>0] = -127; break; } - $336 = ((($335)) + 8|0); - $337 = HEAP32[$336>>2]|0; - HEAP32[$x>>2] = $337; - $338 = HEAP32[$pTab>>2]|0; - $339 = ((($338)) + 42|0); - $340 = HEAP8[$339>>0]|0; - $341 = $340&255; - $342 = $341 & 32; - $343 = ($342|0)==(0); - if (!($343)) { - $344 = HEAP32[$pTab>>2]|0; - $345 = (_sqlite3PrimaryKeyIndex($344)|0); - HEAP32[$pPk>>2] = $345; - $346 = HEAP32[$x>>2]|0; - $347 = HEAP32[$pPk>>2]|0; - $348 = ((($347)) + 4|0); - $349 = HEAP32[$348>>2]|0; - $350 = (($349) + ($346<<1)|0); - $351 = HEAP16[$350>>1]|0; - $352 = $351 << 16 >> 16; - HEAP32[$x>>2] = $352; + $347 = ((($346)) + 8|0); + $348 = HEAP32[$347>>2]|0; + HEAP32[$x>>2] = $348; + $349 = HEAP32[$pTab>>2]|0; + $350 = ((($349)) + 42|0); + $351 = HEAP8[$350>>0]|0; + $352 = $351&255; + $353 = $352 & 32; + $354 = ($353|0)==(0); + if (!($354)) { + $355 = HEAP32[$pTab>>2]|0; + $356 = (_sqlite3PrimaryKeyIndex($355)|0); + HEAP32[$pPk>>2] = $356; + $357 = HEAP32[$x>>2]|0; + $358 = HEAP32[$pPk>>2]|0; + $359 = ((($358)) + 4|0); + $360 = HEAP32[$359>>2]|0; + $361 = (($360) + ($357<<1)|0); + $362 = HEAP16[$361>>1]|0; + $363 = $362 << 16 >> 16; + HEAP32[$x>>2] = $363; } - $353 = HEAP32[$pIdx>>2]|0; - $354 = HEAP32[$x>>2]|0; - $355 = $354&65535; - $356 = (_sqlite3ColumnOfIndex($353,$355)|0); - $357 = $356 << 16 >> 16; - HEAP32[$x>>2] = $357; - $358 = HEAP32[$x>>2]|0; - $359 = ($358|0)>=(0); - if ($359) { - $360 = HEAP32[$x>>2]|0; - $361 = HEAP32[$pOp>>2]|0; - $362 = ((($361)) + 8|0); - HEAP32[$362>>2] = $360; - $363 = HEAP32[$pLevel>>2]|0; - $364 = ((($363)) + 8|0); - $365 = HEAP32[$364>>2]|0; - $366 = HEAP32[$pOp>>2]|0; - $367 = ((($366)) + 4|0); - HEAP32[$367>>2] = $365; + $364 = HEAP32[$pIdx>>2]|0; + $365 = HEAP32[$x>>2]|0; + $366 = $365&65535; + $367 = (_sqlite3ColumnOfIndex($364,$366)|0); + $368 = $367 << 16 >> 16; + HEAP32[$x>>2] = $368; + $369 = HEAP32[$x>>2]|0; + $370 = ($369|0)>=(0); + if ($370) { + $371 = HEAP32[$x>>2]|0; + $372 = HEAP32[$pOp>>2]|0; + $373 = ((($372)) + 8|0); + HEAP32[$373>>2] = $371; + $374 = HEAP32[$pLevel>>2]|0; + $375 = ((($374)) + 8|0); + $376 = HEAP32[$375>>2]|0; + $377 = HEAP32[$pOp>>2]|0; + $378 = ((($377)) + 4|0); + HEAP32[$378>>2] = $376; } } } while(0); - $377 = HEAP32[$k>>2]|0; - $378 = (($377) + 1)|0; - HEAP32[$k>>2] = $378; - $379 = HEAP32[$pOp>>2]|0; - $380 = ((($379)) + 20|0); - HEAP32[$pOp>>2] = $380; + $388 = HEAP32[$k>>2]|0; + $389 = (($388) + 1)|0; + HEAP32[$k>>2] = $389; + $390 = HEAP32[$pOp>>2]|0; + $391 = ((($390)) + 20|0); + HEAP32[$pOp>>2] = $391; } } } } } while(0); - $381 = HEAP32[$i>>2]|0; - $382 = (($381) + 1)|0; - HEAP32[$i>>2] = $382; - $383 = HEAP32[$pLevel>>2]|0; - $384 = ((($383)) + 80|0); - HEAP32[$pLevel>>2] = $384; - } - $385 = HEAP32[$0>>2]|0; - $386 = ((($385)) + 56|0); - $387 = HEAP32[$386>>2]|0; - $388 = HEAP32[$pParse>>2]|0; - $389 = ((($388)) + 428|0); - HEAP32[$389>>2] = $387; - $390 = HEAP32[$db>>2]|0; - $391 = HEAP32[$0>>2]|0; - _whereInfoFree($390,$391); + $392 = HEAP32[$i>>2]|0; + $393 = (($392) + 1)|0; + HEAP32[$i>>2] = $393; + $394 = HEAP32[$pLevel>>2]|0; + $395 = ((($394)) + 80|0); + HEAP32[$pLevel>>2] = $395; + } + $396 = HEAP32[$0>>2]|0; + $397 = ((($396)) + 36|0); + $398 = HEAP32[$397>>2]|0; + $399 = HEAP32[$pParse>>2]|0; + $400 = ((($399)) + 136|0); + HEAP32[$400>>2] = $398; + $401 = HEAP32[$db>>2]|0; + $402 = HEAP32[$0>>2]|0; + _whereInfoFree($401,$402); STACKTOP = sp;return; } function _translateColumnToCopy($v,$iStart,$iTabCur,$iRegister,$bIncrRowid) { @@ -169241,10 +171632,10 @@ function _translateColumnToCopy($v,$iStart,$iTabCur,$iRegister,$bIncrRowid) { $18 = HEAP32[$pOp>>2]|0; $19 = HEAP8[$18>>0]|0; $20 = $19&255; - $21 = ($20|0)==(94); + $21 = ($20|0)==(96); $22 = HEAP32[$pOp>>2]|0; if ($21) { - HEAP8[$22>>0] = 82; + HEAP8[$22>>0] = 84; $23 = HEAP32[$pOp>>2]|0; $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; @@ -169266,13 +171657,13 @@ function _translateColumnToCopy($v,$iStart,$iTabCur,$iRegister,$bIncrRowid) { } $37 = HEAP8[$22>>0]|0; $38 = $37&255; - $39 = ($38|0)==(121); + $39 = ($38|0)==(123); if ($39) { $40 = HEAP32[$4>>2]|0; $41 = ($40|0)!=(0); $42 = HEAP32[$pOp>>2]|0; if ($41) { - HEAP8[$42>>0] = 89; + HEAP8[$42>>0] = 91; $43 = HEAP32[$pOp>>2]|0; $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; @@ -169284,7 +171675,7 @@ function _translateColumnToCopy($v,$iStart,$iTabCur,$iRegister,$bIncrRowid) { HEAP32[$49>>2] = 1; break; } else { - HEAP8[$42>>0] = 77; + HEAP8[$42>>0] = 79; $50 = HEAP32[$pOp>>2]|0; $51 = ((($50)) + 4|0); HEAP32[$51>>2] = 0; @@ -169329,7 +171720,7 @@ function _whereInfoFree($db,$pWInfo) { while(1) { $4 = HEAP32[$i>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 43|0); + $6 = ((($5)) + 42|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($4|0)<($8|0); @@ -169338,7 +171729,7 @@ function _whereInfoFree($db,$pWInfo) { } $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 736|0); + $12 = ((($11)) + 752|0); $13 = (($12) + (($10*80)|0)|0); HEAP32[$pLevel>>2] = $13; $14 = HEAP32[$pLevel>>2]|0; @@ -169367,25 +171758,25 @@ function _whereInfoFree($db,$pWInfo) { HEAP32[$i>>2] = $31; } $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 328|0); + $33 = ((($32)) + 80|0); _sqlite3WhereClauseClear($33); while(1) { $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 16|0); + $35 = ((($34)) + 56|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)!=(0|0); if (!($37)) { break; } $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 16|0); + $39 = ((($38)) + 56|0); $40 = HEAP32[$39>>2]|0; HEAP32[$p>>2] = $40; $41 = HEAP32[$p>>2]|0; $42 = ((($41)) + 52|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 16|0); + $45 = ((($44)) + 56|0); HEAP32[$45>>2] = $43; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$p>>2]|0; @@ -169430,7 +171821,7 @@ function _sqlite3WhereClauseClear($pWC) { break; } $14 = HEAP32[$a>>2]|0; - $15 = ((($14)) + 20|0); + $15 = ((($14)) + 10|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = $17 & 1; @@ -169442,7 +171833,7 @@ function _sqlite3WhereClauseClear($pWC) { _sqlite3ExprDelete($20,$22); } $23 = HEAP32[$a>>2]|0; - $24 = ((($23)) + 20|0); + $24 = ((($23)) + 10|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = $26 & 16; @@ -169450,12 +171841,12 @@ function _sqlite3WhereClauseClear($pWC) { if ($28) { $29 = HEAP32[$db>>2]|0; $30 = HEAP32[$a>>2]|0; - $31 = ((($30)) + 12|0); + $31 = ((($30)) + 28|0); $32 = HEAP32[$31>>2]|0; _whereOrInfoDelete($29,$32); } else { $33 = HEAP32[$a>>2]|0; - $34 = ((($33)) + 20|0); + $34 = ((($33)) + 10|0); $35 = HEAP16[$34>>1]|0; $36 = $35&65535; $37 = $36 & 32; @@ -169463,7 +171854,7 @@ function _sqlite3WhereClauseClear($pWC) { if ($38) { $39 = HEAP32[$db>>2]|0; $40 = HEAP32[$a>>2]|0; - $41 = ((($40)) + 12|0); + $41 = ((($40)) + 28|0); $42 = HEAP32[$41>>2]|0; _whereAndInfoDelete($39,$42); } @@ -169598,7 +171989,7 @@ function _whereLoopClearUnion($db,$p) { } $33 = HEAP32[$1>>2]|0; $34 = ((($33)) + 24|0); - $35 = ((($34)) + 4|0); + $35 = ((($34)) + 8|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)!=(0|0); if (!($37)) { @@ -169607,7 +171998,7 @@ function _whereLoopClearUnion($db,$p) { $38 = HEAP32[$0>>2]|0; $39 = HEAP32[$1>>2]|0; $40 = ((($39)) + 24|0); - $41 = ((($40)) + 4|0); + $41 = ((($40)) + 8|0); $42 = HEAP32[$41>>2]|0; $43 = ((($42)) + 16|0); $44 = HEAP32[$43>>2]|0; @@ -169615,12 +172006,12 @@ function _whereLoopClearUnion($db,$p) { $45 = HEAP32[$0>>2]|0; $46 = HEAP32[$1>>2]|0; $47 = ((($46)) + 24|0); - $48 = ((($47)) + 4|0); + $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; _sqlite3DbFree($45,$49); $50 = HEAP32[$1>>2]|0; $51 = ((($50)) + 24|0); - $52 = ((($51)) + 4|0); + $52 = ((($51)) + 8|0); HEAP32[$52>>2] = 0; STACKTOP = sp;return; } @@ -169792,7 +172183,7 @@ function _sqlite3WhereTabFuncArgs($pParse,$pItem,$pWC) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $9 = 0, $j = 0, $k = 0, $pArgs = 0, $pColRef = 0, $pTab = 0, $pTerm = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $j = 0, $k = 0, $pArgs = 0, $pColRef = 0, $pTab = 0, $pTerm = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; @@ -169861,12 +172252,12 @@ function _sqlite3WhereTabFuncArgs($pParse,$pItem,$pWC) { $36 = $35&255; $37 = $36 & 2; $38 = ($37|0)==(0); - $82 = $38; + $83 = $38; } else { - $82 = 0; + $83 = 0; } $39 = HEAP32[$k>>2]|0; - if (!($82)) { + if (!($83)) { break; } $40 = (($39) + 1)|0; @@ -169882,50 +172273,51 @@ function _sqlite3WhereTabFuncArgs($pParse,$pItem,$pWC) { label = 10; break; } - $50 = (_sqlite3PExpr($46,152,0,0,0)|0); - HEAP32[$pColRef>>2] = $50; - $51 = HEAP32[$pColRef>>2]|0; - $52 = ($51|0)==(0|0); - if ($52) { + $50 = HEAP32[$46>>2]|0; + $51 = (_sqlite3ExprAlloc($50,152,0,0)|0); + HEAP32[$pColRef>>2] = $51; + $52 = HEAP32[$pColRef>>2]|0; + $53 = ($52|0)==(0|0); + if ($53) { label = 13; break; } - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 44|0); - $55 = HEAP32[$54>>2]|0; - $56 = HEAP32[$pColRef>>2]|0; - $57 = ((($56)) + 28|0); - HEAP32[$57>>2] = $55; - $58 = HEAP32[$k>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$k>>2] = $59; - $60 = $58&65535; - $61 = HEAP32[$pColRef>>2]|0; - $62 = ((($61)) + 32|0); - HEAP16[$62>>1] = $60; - $63 = HEAP32[$pTab>>2]|0; - $64 = HEAP32[$pColRef>>2]|0; - $65 = ((($64)) + 44|0); - HEAP32[$65>>2] = $63; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$pColRef>>2]|0; - $68 = HEAP32[$0>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$j>>2]|0; - $71 = HEAP32[$pArgs>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + (($70*20)|0)|0); - $75 = HEAP32[$74>>2]|0; - $76 = (_sqlite3ExprDup($69,$75,0)|0); - $77 = (_sqlite3PExpr($66,37,$67,$76,0)|0); - HEAP32[$pTerm>>2] = $77; - $78 = HEAP32[$2>>2]|0; - $79 = HEAP32[$pTerm>>2]|0; - (_whereClauseInsert($78,$79,1)|0); - $80 = HEAP32[$j>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[$j>>2] = $81; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 44|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$pColRef>>2]|0; + $58 = ((($57)) + 28|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$k>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$k>>2] = $60; + $61 = $59&65535; + $62 = HEAP32[$pColRef>>2]|0; + $63 = ((($62)) + 32|0); + HEAP16[$63>>1] = $61; + $64 = HEAP32[$pTab>>2]|0; + $65 = HEAP32[$pColRef>>2]|0; + $66 = ((($65)) + 44|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$0>>2]|0; + $68 = HEAP32[$pColRef>>2]|0; + $69 = HEAP32[$0>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$j>>2]|0; + $72 = HEAP32[$pArgs>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = (($74) + (($71*20)|0)|0); + $76 = HEAP32[$75>>2]|0; + $77 = (_sqlite3ExprDup($70,$76,0)|0); + $78 = (_sqlite3PExpr($67,37,$68,$77,0)|0); + HEAP32[$pTerm>>2] = $78; + $79 = HEAP32[$2>>2]|0; + $80 = HEAP32[$pTerm>>2]|0; + (_whereClauseInsert($79,$80,1)|0); + $81 = HEAP32[$j>>2]|0; + $82 = (($81) + 1)|0; + HEAP32[$j>>2] = $82; } if ((label|0) == 10) { $47 = HEAP32[$pTab>>2]|0; @@ -169934,7 +172326,7 @@ function _sqlite3WhereTabFuncArgs($pParse,$pItem,$pWC) { HEAP32[$vararg_buffer>>2] = $48; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $49; - _sqlite3ErrorMsg($46,35365,$vararg_buffer); + _sqlite3ErrorMsg($46,34848,$vararg_buffer); STACKTOP = sp;return; } else if ((label|0) == 13) { @@ -170183,7 +172575,7 @@ function _whereShortCut($pBuilder) { $3 = HEAP32[$2>>2]|0; HEAP32[$pWInfo>>2] = $3; $4 = HEAP32[$pWInfo>>2]|0; - $5 = ((($4)) + 36|0); + $5 = ((($4)) + 40|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & 32; @@ -170231,7 +172623,7 @@ function _whereShortCut($pBuilder) { $33 = HEAP32[$32>>2]|0; HEAP32[$iCur>>2] = $33; $34 = HEAP32[$pWInfo>>2]|0; - $35 = ((($34)) + 328|0); + $35 = ((($34)) + 80|0); HEAP32[$pWC>>2] = $35; $36 = HEAP32[$1>>2]|0; $37 = ((($36)) + 12|0); @@ -170411,7 +172803,7 @@ function _whereShortCut($pBuilder) { $154 = HEAP32[$pIdx>>2]|0; $155 = HEAP32[$pLoop>>2]|0; $156 = ((($155)) + 24|0); - $157 = ((($156)) + 4|0); + $157 = ((($156)) + 8|0); HEAP32[$157>>2] = $154; $158 = HEAP32[$pLoop>>2]|0; $159 = ((($158)) + 20|0); @@ -170432,11 +172824,11 @@ function _whereShortCut($pBuilder) { HEAP16[$168>>1] = 1; $169 = HEAP32[$pLoop>>2]|0; $170 = HEAP32[$pWInfo>>2]|0; - $171 = ((($170)) + 736|0); + $171 = ((($170)) + 752|0); $172 = ((($171)) + 64|0); HEAP32[$172>>2] = $169; $173 = HEAP32[$pWInfo>>2]|0; - $174 = ((($173)) + 68|0); + $174 = ((($173)) + 488|0); $175 = HEAP32[$iCur>>2]|0; $176 = (_sqlite3WhereGetMask($174,$175)|0); $177 = tempRet0; @@ -170450,11 +172842,11 @@ function _whereShortCut($pBuilder) { HEAP32[$183>>2] = $177; $184 = HEAP32[$iCur>>2]|0; $185 = HEAP32[$pWInfo>>2]|0; - $186 = ((($185)) + 736|0); + $186 = ((($185)) + 752|0); $187 = ((($186)) + 4|0); HEAP32[$187>>2] = $184; $188 = HEAP32[$pWInfo>>2]|0; - $189 = ((($188)) + 32|0); + $189 = ((($188)) + 72|0); HEAP16[$189>>1] = 1; $190 = HEAP32[$pWInfo>>2]|0; $191 = ((($190)) + 8|0); @@ -170467,18 +172859,18 @@ function _whereShortCut($pBuilder) { $197 = HEAP32[$196>>2]|0; $198 = $197&255; $199 = HEAP32[$pWInfo>>2]|0; - $200 = ((($199)) + 38|0); + $200 = ((($199)) + 43|0); HEAP8[$200>>0] = $198; } $201 = HEAP32[$pWInfo>>2]|0; - $202 = ((($201)) + 36|0); + $202 = ((($201)) + 40|0); $203 = HEAP16[$202>>1]|0; $204 = $203&65535; - $205 = $204 & 1024; + $205 = $204 & 256; $206 = ($205|0)!=(0); if ($206) { $207 = HEAP32[$pWInfo>>2]|0; - $208 = ((($207)) + 42|0); + $208 = ((($207)) + 47|0); HEAP8[$208>>0] = 1; } HEAP32[$0>>2] = 1; @@ -170535,7 +172927,7 @@ function _whereLoopAddAll($pBuilder) { $13 = HEAP32[$12>>2]|0; HEAP32[$pTabList>>2] = $13; $14 = HEAP32[$pWInfo>>2]|0; - $15 = ((($14)) + 43|0); + $15 = ((($14)) + 42|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = HEAP32[$pTabList>>2]|0; @@ -170578,7 +172970,7 @@ function _whereLoopAddAll($pBuilder) { $40 = ((($39)) + 16|0); HEAP8[$40>>0] = $38; $41 = HEAP32[$pWInfo>>2]|0; - $42 = ((($41)) + 68|0); + $42 = ((($41)) + 488|0); $43 = HEAP32[$pItem>>2]|0; $44 = ((($43)) + 44|0); $45 = HEAP32[$44>>2]|0; @@ -170663,7 +173055,7 @@ function _whereLoopAddAll($pBuilder) { if ((label|0) == 10) { label = 0; $104 = HEAP32[$pWInfo>>2]|0; - $105 = ((($104)) + 68|0); + $105 = ((($104)) + 488|0); $106 = HEAP32[$p>>2]|0; $107 = ((($106)) + 44|0); $108 = HEAP32[$107>>2]|0; @@ -170821,50 +173213,56 @@ function _wherePathSolver($pWInfo,$nRowEst) { var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aFrom = 0, $aSortCost = 0, $aTo = 0, $db = 0, $iLoop = 0, $ii = 0, $isOrdered = 0, $jj = 0, $maskNew = 0, $mxChoice = 0; - var $mxCost = 0, $mxI = 0, $mxUnsorted = 0, $nFrom = 0, $nLoop = 0, $nOrder = 0, $nOrderBy = 0, $nOut = 0, $nSpace = 0, $nTo = 0, $notUsed = 0, $or$cond = 0, $pFrom = 0, $pLevel = 0, $pParse = 0, $pSpace = 0, $pTo = 0, $pWLoop = 0, $pX = 0, $rCost = 0; - var $rUnsorted = 0, $rc = 0, $revMask = 0, $revMask1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; + var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; + var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; + var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; + var $747 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aFrom = 0, $aSortCost = 0, $aTo = 0, $db = 0, $iLoop = 0, $ii = 0, $isOrdered = 0, $jj = 0, $m = 0, $maskNew = 0, $mxChoice = 0, $mxCost = 0; + var $mxI = 0, $mxUnsorted = 0, $nFrom = 0, $nLoop = 0, $nOrder = 0, $nOrderBy = 0, $nOut = 0, $nSpace = 0, $nTo = 0, $notUsed = 0, $or$cond = 0, $pFrom = 0, $pLevel = 0, $pParse = 0, $pSpace = 0, $pTo = 0, $pWLoop = 0, $pX = 0, $rCost = 0, $rUnsorted = 0; + var $rc = 0, $rc1 = 0, $revMask = 0, $revMask2 = 0, $vararg_buffer = 0, $wsFlags = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $vararg_buffer = sp + 32|0; - $0 = sp + 132|0; - $1 = sp + 128|0; - $2 = sp + 146|0; - $mxChoice = sp + 124|0; - $nLoop = sp + 120|0; - $pParse = sp + 116|0; - $db = sp + 112|0; - $iLoop = sp + 108|0; - $ii = sp + 104|0; - $jj = sp + 100|0; - $mxI = sp + 96|0; - $nOrderBy = sp + 92|0; - $mxCost = sp + 144|0; - $mxUnsorted = sp + 142|0; - $nTo = sp + 88|0; - $nFrom = sp + 84|0; - $aFrom = sp + 80|0; - $aTo = sp + 76|0; - $pFrom = sp + 72|0; - $pTo = sp + 68|0; - $pWLoop = sp + 64|0; - $pX = sp + 60|0; - $aSortCost = sp + 56|0; - $pSpace = sp + 52|0; - $nSpace = sp + 48|0; - $nOut = sp + 140|0; - $rCost = sp + 138|0; - $rUnsorted = sp + 136|0; - $isOrdered = sp + 148|0; - $maskNew = sp + 24|0; - $revMask = sp + 16|0; - $pLevel = sp + 44|0; - $notUsed = sp + 8|0; - $rc = sp + 40|0; - $revMask1 = sp; - $nOrder = sp + 36|0; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 40|0; + $0 = sp + 148|0; + $1 = sp + 144|0; + $2 = sp + 162|0; + $mxChoice = sp + 140|0; + $nLoop = sp + 136|0; + $pParse = sp + 132|0; + $db = sp + 128|0; + $iLoop = sp + 124|0; + $ii = sp + 120|0; + $jj = sp + 116|0; + $mxI = sp + 112|0; + $nOrderBy = sp + 108|0; + $mxCost = sp + 160|0; + $mxUnsorted = sp + 158|0; + $nTo = sp + 104|0; + $nFrom = sp + 100|0; + $aFrom = sp + 96|0; + $aTo = sp + 92|0; + $pFrom = sp + 88|0; + $pTo = sp + 84|0; + $pWLoop = sp + 80|0; + $pX = sp + 76|0; + $aSortCost = sp + 72|0; + $pSpace = sp + 68|0; + $nSpace = sp + 64|0; + $nOut = sp + 156|0; + $rCost = sp + 154|0; + $rUnsorted = sp + 152|0; + $isOrdered = sp + 164|0; + $maskNew = sp + 32|0; + $revMask = sp + 24|0; + $pLevel = sp + 60|0; + $notUsed = sp + 16|0; + $rc = sp + 56|0; + $wsFlags = sp + 52|0; + $m = sp + 8|0; + $rc1 = sp + 48|0; + $revMask2 = sp; + $nOrder = sp + 44|0; HEAP32[$1>>2] = $pWInfo; HEAP16[$2>>1] = $nRowEst; HEAP32[$mxI>>2] = 0; @@ -170878,7 +173276,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 43|0); + $8 = ((($7)) + 42|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; HEAP32[$nLoop>>2] = $10; @@ -170938,8 +173336,8 @@ function _wherePathSolver($pWInfo,$nRowEst) { $44 = ($43|0)==(0|0); if ($44) { HEAP32[$0>>2] = 7; - $689 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($689|0); + $747 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($747|0); } $45 = HEAP32[$pSpace>>2]|0; HEAP32[$aTo>>2] = $45; @@ -170990,12 +173388,12 @@ function _wherePathSolver($pWInfo,$nRowEst) { _memset(($71|0),0,($73|0))|0; } $74 = HEAP32[$pParse>>2]|0; - $75 = ((($74)) + 428|0); + $75 = ((($74)) + 136|0); $76 = HEAP32[$75>>2]|0; $77 = ($76>>>0)<(48); if ($77) { $78 = HEAP32[$pParse>>2]|0; - $79 = ((($78)) + 428|0); + $79 = ((($78)) + 136|0); $80 = HEAP32[$79>>2]|0; $82 = $80; } else { @@ -171038,7 +173436,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { break; } $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 16|0); + $102 = ((($101)) + 56|0); $103 = HEAP32[$102>>2]|0; HEAP32[$pWLoop>>2] = $103; while(1) { @@ -171181,7 +173579,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $220 = HEAP32[$219>>2]|0; $221 = HEAP32[$pFrom>>2]|0; $222 = HEAP32[$1>>2]|0; - $223 = ((($222)) + 36|0); + $223 = ((($222)) + 40|0); $224 = HEAP16[$223>>1]|0; $225 = HEAP32[$iLoop>>2]|0; $226 = $225&65535; @@ -171563,13 +173961,13 @@ function _wherePathSolver($pWInfo,$nRowEst) { $477 = ($476|0)==(0); if ($477) { $478 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($478,35273,$vararg_buffer); + _sqlite3ErrorMsg($478,34756,$vararg_buffer); $479 = HEAP32[$db>>2]|0; $480 = HEAP32[$pSpace>>2]|0; _sqlite3DbFree($479,$480); HEAP32[$0>>2] = 1; - $689 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($689|0); + $747 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($747|0); } $481 = HEAP32[$aFrom>>2]|0; HEAP32[$pFrom>>2] = $481; @@ -171611,7 +174009,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { if (!($503)) { break; } - $505 = ((($504)) + 736|0); + $505 = ((($504)) + 752|0); $506 = HEAP32[$iLoop>>2]|0; $507 = (($505) + (($506*80)|0)|0); HEAP32[$pLevel>>2] = $507; @@ -171649,21 +174047,21 @@ function _wherePathSolver($pWInfo,$nRowEst) { $535 = (($534) + 1)|0; HEAP32[$iLoop>>2] = $535; } - $536 = ((($504)) + 36|0); + $536 = ((($504)) + 40|0); $537 = HEAP16[$536>>1]|0; $538 = $537&65535; - $539 = $538 & 1024; + $539 = $538 & 256; $540 = ($539|0)!=(0); if ($540) { $541 = HEAP32[$1>>2]|0; - $542 = ((($541)) + 36|0); + $542 = ((($541)) + 40|0); $543 = HEAP16[$542>>1]|0; $544 = $543&65535; - $545 = $544 & 512; + $545 = $544 & 128; $546 = ($545|0)==(0); if ($546) { $547 = HEAP32[$1>>2]|0; - $548 = ((($547)) + 42|0); + $548 = ((($547)) + 47|0); $549 = HEAP8[$548>>0]|0; $550 = $549&255; $551 = ($550|0)==(0); @@ -171687,7 +174085,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $567 = HEAP32[$566>>2]|0; $568 = (($567) + ($564<<2)|0); $569 = HEAP32[$568>>2]|0; - $570 = (_wherePathSatisfiesOrderBy($555,$558,$559,512,$562,$569,$notUsed)|0); + $570 = (_wherePathSatisfiesOrderBy($555,$558,$559,128,$562,$569,$notUsed)|0); $571 = $570 << 24 >> 24; HEAP32[$rc>>2] = $571; $572 = HEAP32[$rc>>2]|0; @@ -171698,7 +174096,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $577 = ($572|0)==($576|0); if ($577) { $578 = HEAP32[$1>>2]|0; - $579 = ((($578)) + 42|0); + $579 = ((($578)) + 47|0); HEAP8[$579>>0] = 2; } } @@ -171711,10 +174109,10 @@ function _wherePathSolver($pWInfo,$nRowEst) { $583 = ($582|0)!=(0|0); if ($583) { $584 = HEAP32[$1>>2]|0; - $585 = ((($584)) + 36|0); + $585 = ((($584)) + 40|0); $586 = HEAP16[$585>>1]|0; $587 = $586&65535; - $588 = $587 & 512; + $588 = $587 & 128; $589 = ($588|0)!=(0); $590 = HEAP32[$pFrom>>2]|0; $591 = ((($590)) + 22|0); @@ -171728,124 +174126,197 @@ function _wherePathSolver($pWInfo,$nRowEst) { $598 = ($593|0)==($597|0); if ($598) { $599 = HEAP32[$1>>2]|0; - $600 = ((($599)) + 42|0); + $600 = ((($599)) + 47|0); HEAP8[$600>>0] = 2; } } else { $601 = HEAP32[$1>>2]|0; - $602 = ((($601)) + 38|0); + $602 = ((($601)) + 43|0); HEAP8[$602>>0] = $592; - $603 = HEAP32[$1>>2]|0; - $604 = ((($603)) + 38|0); - $605 = HEAP8[$604>>0]|0; - $606 = $605 << 24 >> 24; - $607 = ($606|0)<(0); - if ($607) { - $608 = HEAP32[$1>>2]|0; - $609 = ((($608)) + 38|0); - HEAP8[$609>>0] = 0; - } - $610 = HEAP32[$pFrom>>2]|0; - $611 = ((($610)) + 8|0); - $612 = $611; + $603 = HEAP32[$pFrom>>2]|0; + $604 = ((($603)) + 8|0); + $605 = $604; + $606 = $605; + $607 = HEAP32[$606>>2]|0; + $608 = (($605) + 4)|0; + $609 = $608; + $610 = HEAP32[$609>>2]|0; + $611 = HEAP32[$1>>2]|0; + $612 = ((($611)) + 64|0); $613 = $612; - $614 = HEAP32[$613>>2]|0; - $615 = (($612) + 4)|0; + $614 = $613; + HEAP32[$614>>2] = $607; + $615 = (($613) + 4)|0; $616 = $615; - $617 = HEAP32[$616>>2]|0; - $618 = HEAP32[$1>>2]|0; - $619 = ((($618)) + 24|0); - $620 = $619; - $621 = $620; - HEAP32[$621>>2] = $614; - $622 = (($620) + 4)|0; - $623 = $622; - HEAP32[$623>>2] = $617; - } - $624 = HEAP32[$1>>2]|0; - $625 = ((($624)) + 36|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626&65535; - $628 = $627 & 2048; - $629 = ($628|0)!=(0); - if ($629) { - $630 = HEAP32[$1>>2]|0; - $631 = ((($630)) + 38|0); - $632 = HEAP8[$631>>0]|0; - $633 = $632 << 24 >> 24; - $634 = HEAP32[$1>>2]|0; - $635 = ((($634)) + 8|0); - $636 = HEAP32[$635>>2]|0; - $637 = HEAP32[$636>>2]|0; - $638 = ($633|0)==($637|0); - $639 = HEAP32[$nLoop>>2]|0; - $640 = ($639|0)>(0); - $or$cond = $638 & $640; - if ($or$cond) { - $641 = $revMask1; - $642 = $641; - HEAP32[$642>>2] = 0; - $643 = (($641) + 4)|0; - $644 = $643; - HEAP32[$644>>2] = 0; - $645 = HEAP32[$1>>2]|0; - $646 = HEAP32[$1>>2]|0; - $647 = ((($646)) + 8|0); - $648 = HEAP32[$647>>2]|0; - $649 = HEAP32[$pFrom>>2]|0; - $650 = HEAP32[$nLoop>>2]|0; - $651 = (($650) - 1)|0; - $652 = $651&65535; - $653 = HEAP32[$nLoop>>2]|0; - $654 = (($653) - 1)|0; - $655 = HEAP32[$pFrom>>2]|0; - $656 = ((($655)) + 24|0); - $657 = HEAP32[$656>>2]|0; - $658 = (($657) + ($654<<2)|0); - $659 = HEAP32[$658>>2]|0; - $660 = (_wherePathSatisfiesOrderBy($645,$648,$649,0,$652,$659,$revMask1)|0); - $661 = $660 << 24 >> 24; - HEAP32[$nOrder>>2] = $661; - $662 = HEAP32[$nOrder>>2]|0; - $663 = HEAP32[$1>>2]|0; - $664 = ((($663)) + 8|0); - $665 = HEAP32[$664>>2]|0; - $666 = HEAP32[$665>>2]|0; - $667 = ($662|0)==($666|0); - if ($667) { - $668 = HEAP32[$1>>2]|0; - $669 = ((($668)) + 39|0); - HEAP8[$669>>0] = 1; - $670 = $revMask1; - $671 = $670; - $672 = HEAP32[$671>>2]|0; - $673 = (($670) + 4)|0; - $674 = $673; - $675 = HEAP32[$674>>2]|0; - $676 = HEAP32[$1>>2]|0; - $677 = ((($676)) + 24|0); - $678 = $677; - $679 = $678; - HEAP32[$679>>2] = $672; - $680 = (($678) + 4)|0; - $681 = $680; - HEAP32[$681>>2] = $675; + HEAP32[$616>>2] = $610; + $617 = HEAP32[$1>>2]|0; + $618 = ((($617)) + 43|0); + $619 = HEAP8[$618>>0]|0; + $620 = $619 << 24 >> 24; + $621 = ($620|0)<=(0); + if ($621) { + $622 = HEAP32[$1>>2]|0; + $623 = ((($622)) + 43|0); + HEAP8[$623>>0] = 0; + $624 = HEAP32[$nLoop>>2]|0; + $625 = ($624|0)>(0); + if ($625) { + $626 = HEAP32[$nLoop>>2]|0; + $627 = (($626) - 1)|0; + $628 = HEAP32[$pFrom>>2]|0; + $629 = ((($628)) + 24|0); + $630 = HEAP32[$629>>2]|0; + $631 = (($630) + ($627<<2)|0); + $632 = HEAP32[$631>>2]|0; + $633 = ((($632)) + 36|0); + $634 = HEAP32[$633>>2]|0; + HEAP32[$wsFlags>>2] = $634; + $635 = HEAP32[$wsFlags>>2]|0; + $636 = $635 & 4096; + $637 = ($636|0)==(0); + if ($637) { + $638 = HEAP32[$wsFlags>>2]|0; + $639 = $638 & 260; + $640 = ($639|0)!=(260); + if ($640) { + $641 = $m; + $642 = $641; + HEAP32[$642>>2] = 0; + $643 = (($641) + 4)|0; + $644 = $643; + HEAP32[$644>>2] = 0; + $645 = HEAP32[$1>>2]|0; + $646 = HEAP32[$1>>2]|0; + $647 = ((($646)) + 8|0); + $648 = HEAP32[$647>>2]|0; + $649 = HEAP32[$pFrom>>2]|0; + $650 = HEAP32[$nLoop>>2]|0; + $651 = (($650) - 1)|0; + $652 = $651&65535; + $653 = HEAP32[$nLoop>>2]|0; + $654 = (($653) - 1)|0; + $655 = HEAP32[$pFrom>>2]|0; + $656 = ((($655)) + 24|0); + $657 = HEAP32[$656>>2]|0; + $658 = (($657) + ($654<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (_wherePathSatisfiesOrderBy($645,$648,$649,2048,$652,$659,$m)|0); + $661 = $660 << 24 >> 24; + HEAP32[$rc1>>2] = $661; + $662 = HEAP32[$rc1>>2]|0; + $663 = HEAP32[$1>>2]|0; + $664 = ((($663)) + 8|0); + $665 = HEAP32[$664>>2]|0; + $666 = HEAP32[$665>>2]|0; + $667 = ($662|0)==($666|0); + if ($667) { + $668 = HEAP32[$1>>2]|0; + $669 = ((($668)) + 48|0); + HEAP8[$669>>0] = 1; + $670 = $m; + $671 = $670; + $672 = HEAP32[$671>>2]|0; + $673 = (($670) + 4)|0; + $674 = $673; + $675 = HEAP32[$674>>2]|0; + $676 = HEAP32[$1>>2]|0; + $677 = ((($676)) + 64|0); + $678 = $677; + $679 = $678; + HEAP32[$679>>2] = $672; + $680 = (($678) + 4)|0; + $681 = $680; + HEAP32[$681>>2] = $675; + } + } + } } } } - } - $682 = HEAP32[$pFrom>>2]|0; - $683 = ((($682)) + 16|0); - $684 = HEAP16[$683>>1]|0; - $685 = HEAP32[$1>>2]|0; - $686 = ((($685)) + 32|0); - HEAP16[$686>>1] = $684; - $687 = HEAP32[$db>>2]|0; - $688 = HEAP32[$pSpace>>2]|0; - _sqlite3DbFree($687,$688); + $682 = HEAP32[$1>>2]|0; + $683 = ((($682)) + 40|0); + $684 = HEAP16[$683>>1]|0; + $685 = $684&65535; + $686 = $685 & 512; + $687 = ($686|0)!=(0); + if ($687) { + $688 = HEAP32[$1>>2]|0; + $689 = ((($688)) + 43|0); + $690 = HEAP8[$689>>0]|0; + $691 = $690 << 24 >> 24; + $692 = HEAP32[$1>>2]|0; + $693 = ((($692)) + 8|0); + $694 = HEAP32[$693>>2]|0; + $695 = HEAP32[$694>>2]|0; + $696 = ($691|0)==($695|0); + $697 = HEAP32[$nLoop>>2]|0; + $698 = ($697|0)>(0); + $or$cond = $696 & $698; + if ($or$cond) { + $699 = $revMask2; + $700 = $699; + HEAP32[$700>>2] = 0; + $701 = (($699) + 4)|0; + $702 = $701; + HEAP32[$702>>2] = 0; + $703 = HEAP32[$1>>2]|0; + $704 = HEAP32[$1>>2]|0; + $705 = ((($704)) + 8|0); + $706 = HEAP32[$705>>2]|0; + $707 = HEAP32[$pFrom>>2]|0; + $708 = HEAP32[$nLoop>>2]|0; + $709 = (($708) - 1)|0; + $710 = $709&65535; + $711 = HEAP32[$nLoop>>2]|0; + $712 = (($711) - 1)|0; + $713 = HEAP32[$pFrom>>2]|0; + $714 = ((($713)) + 24|0); + $715 = HEAP32[$714>>2]|0; + $716 = (($715) + ($712<<2)|0); + $717 = HEAP32[$716>>2]|0; + $718 = (_wherePathSatisfiesOrderBy($703,$706,$707,0,$710,$717,$revMask2)|0); + $719 = $718 << 24 >> 24; + HEAP32[$nOrder>>2] = $719; + $720 = HEAP32[$nOrder>>2]|0; + $721 = HEAP32[$1>>2]|0; + $722 = ((($721)) + 8|0); + $723 = HEAP32[$722>>2]|0; + $724 = HEAP32[$723>>2]|0; + $725 = ($720|0)==($724|0); + if ($725) { + $726 = HEAP32[$1>>2]|0; + $727 = ((($726)) + 44|0); + HEAP8[$727>>0] = 1; + $728 = $revMask2; + $729 = $728; + $730 = HEAP32[$729>>2]|0; + $731 = (($728) + 4)|0; + $732 = $731; + $733 = HEAP32[$732>>2]|0; + $734 = HEAP32[$1>>2]|0; + $735 = ((($734)) + 64|0); + $736 = $735; + $737 = $736; + HEAP32[$737>>2] = $730; + $738 = (($736) + 4)|0; + $739 = $738; + HEAP32[$739>>2] = $733; + } + } + } + } + $740 = HEAP32[$pFrom>>2]|0; + $741 = ((($740)) + 16|0); + $742 = HEAP16[$741>>1]|0; + $743 = HEAP32[$1>>2]|0; + $744 = ((($743)) + 72|0); + HEAP16[$744>>1] = $742; + $745 = HEAP32[$db>>2]|0; + $746 = HEAP32[$pSpace>>2]|0; + _sqlite3DbFree($745,$746); HEAP32[$0>>2] = 0; - $689 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($689|0); + $747 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($747|0); } function _sqlite3WhereExprListUsage($pMaskSet,$pList) { $pMaskSet = $pMaskSet|0; @@ -172017,8 +174488,8 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; HEAP32[$v>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (_sqlite3CodeOnce($14)|0); + $14 = HEAP32[$v>>2]|0; + $15 = (_sqlite3VdbeAddOp0($14,20)|0); HEAP32[$addrInit>>2] = $15; HEAP32[$nKeyCol>>2] = 0; $16 = HEAP32[$4>>2]|0; @@ -172069,7 +174540,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $50 = $48 & $49; if ($50) { $51 = HEAP32[$pTerm>>2]|0; - $52 = ((($51)) + 20|0); + $52 = ((($51)) + 10|0); $53 = HEAP16[$52>>1]|0; $54 = $53&65535; $55 = $54 & 2; @@ -172113,7 +174584,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $85 = ($84|0)!=(0); if ($85) { $86 = HEAP32[$pTerm>>2]|0; - $87 = ((($86)) + 12|0); + $87 = ((($86)) + 28|0); $88 = HEAP32[$87>>2]|0; HEAP32[$iCol>>2] = $88; $89 = HEAP32[$iCol>>2]|0; @@ -172146,7 +174617,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { HEAP32[$vararg_buffer>>2] = $103; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $109; - _sqlite3_log(284,35236,$vararg_buffer); + _sqlite3_log(284,34719,$vararg_buffer); HEAP8[$sentWarning>>0] = 1; } $110 = $idxCols; @@ -172344,10 +174815,10 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $251 = HEAP32[$pIdx>>2]|0; $252 = HEAP32[$pLoop>>2]|0; $253 = ((($252)) + 24|0); - $254 = ((($253)) + 4|0); + $254 = ((($253)) + 8|0); HEAP32[$254>>2] = $251; $255 = HEAP32[$pIdx>>2]|0; - HEAP32[$255>>2] = 35262; + HEAP32[$255>>2] = 34745; $256 = HEAP32[$pTable>>2]|0; $257 = HEAP32[$pIdx>>2]|0; $258 = ((($257)) + 12|0); @@ -172382,7 +174853,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $278 = ($277|0)!=(0); if ($278) { $279 = HEAP32[$pTerm>>2]|0; - $280 = ((($279)) + 12|0); + $280 = ((($279)) + 28|0); $281 = HEAP32[$280>>2]|0; HEAP32[$iCol1>>2] = $281; $282 = HEAP32[$iCol1>>2]|0; @@ -172443,7 +174914,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $329 = $328; HEAP32[$329>>2] = $325; $330 = HEAP32[$pTerm>>2]|0; - $331 = ((($330)) + 12|0); + $331 = ((($330)) + 28|0); $332 = HEAP32[$331>>2]|0; $333 = $332&65535; $334 = HEAP32[$n>>2]|0; @@ -172468,7 +174939,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $350 = HEAP32[$349>>2]|0; $356 = $350; } else { - $356 = 35351; + $356 = 34834; } $351 = HEAP32[$n>>2]|0; $352 = HEAP32[$pIdx>>2]|0; @@ -172521,7 +174992,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $387 = ((($386)) + 32|0); $388 = HEAP32[$387>>2]|0; $389 = (($388) + ($385<<2)|0); - HEAP32[$389>>2] = 35351; + HEAP32[$389>>2] = 34834; $390 = HEAP32[$n>>2]|0; $391 = (($390) + 1)|0; HEAP32[$n>>2] = $391; @@ -172568,7 +175039,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $421 = ((($420)) + 32|0); $422 = HEAP32[$421>>2]|0; $423 = (($422) + ($419<<2)|0); - HEAP32[$423>>2] = 35351; + HEAP32[$423>>2] = 34834; $424 = HEAP32[$n>>2]|0; $425 = (($424) + 1)|0; HEAP32[$n>>2] = $425; @@ -172589,9 +175060,9 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $435 = ((($434)) + 32|0); $436 = HEAP32[$435>>2]|0; $437 = (($436) + ($433<<2)|0); - HEAP32[$437>>2] = 35351; + HEAP32[$437>>2] = 34834; $438 = HEAP32[$2>>2]|0; - $439 = ((($438)) + 72|0); + $439 = ((($438)) + 40|0); $440 = HEAP32[$439>>2]|0; $441 = (($440) + 1)|0; HEAP32[$439>>2] = $441; @@ -172604,7 +175075,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $447 = HEAP32[$446>>2]|0; $448 = HEAP32[$nKeyCol>>2]|0; $449 = (($448) + 1)|0; - (_sqlite3VdbeAddOp2($444,104,$447,$449)|0); + (_sqlite3VdbeAddOp2($444,106,$447,$449)|0); $450 = HEAP32[$2>>2]|0; $451 = HEAP32[$pIdx>>2]|0; _sqlite3VdbeSetP4KeyInfo($450,$451); @@ -172635,7 +175106,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $473 = HEAP32[$472>>2]|0; HEAP32[$regYield>>2] = $473; $474 = HEAP32[$v>>2]|0; - $475 = (_sqlite3VdbeAddOp2($474,74,0,0)|0); + $475 = (_sqlite3VdbeAddOp2($474,76,0,0)|0); HEAP32[$addrCounter>>2] = $475; $476 = HEAP32[$v>>2]|0; $477 = HEAP32[$regYield>>2]|0; @@ -172652,7 +175123,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $485 = HEAP32[$6>>2]|0; $486 = ((($485)) + 4|0); $487 = HEAP32[$486>>2]|0; - $488 = (_sqlite3VdbeAddOp1($484,55,$487)|0); + $488 = (_sqlite3VdbeAddOp1($484,57,$487)|0); HEAP32[$addrTop>>2] = $488; } $489 = HEAP32[$pPartial>>2]|0; @@ -172687,7 +175158,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $511 = ((($510)) + 8|0); $512 = HEAP32[$511>>2]|0; $513 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($509,124,$512,$513)|0); + (_sqlite3VdbeAddOp2($509,126,$512,$513)|0); $514 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($514,16); $515 = HEAP32[$pPartial>>2]|0; @@ -172810,7 +175281,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w HEAP16[$6>>1] = $wctrlFlags; HEAP32[$ret>>2] = 0; $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 453|0); + $8 = ((($7)) + 409|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = ($10|0)==(2); @@ -172832,7 +175303,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $23 = HEAP32[$22>>2]|0; HEAP32[$db>>2] = $23; $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 468|0); + $25 = ((($24)) + 420|0); $26 = HEAP32[$25>>2]|0; HEAP32[$iId>>2] = $26; $27 = HEAP32[$3>>2]|0; @@ -172849,7 +175320,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w if (!($35)) { $36 = HEAP16[$6>>1]|0; $37 = $36&65535; - $38 = $37 & 64; + $38 = $37 & 32; $39 = ($38|0)!=(0); if (!($39)) { $40 = HEAP32[$flags>>2]|0; @@ -172886,7 +175357,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w _sqlite3StrAccumInit($str,$57,$zBuf,100,1000000000); $58 = HEAP32[$isSearch>>2]|0; $59 = ($58|0)!=(0); - $60 = $59 ? 34973 : 34980; + $60 = $59 ? 34452 : 34459; _sqlite3StrAccumAppendAll($str,$60); $61 = HEAP32[$pItem>>2]|0; $62 = ((($61)) + 20|0); @@ -172898,12 +175369,12 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $67 = HEAP8[$66>>0]|0; $68 = $67&255; HEAP32[$vararg_buffer>>2] = $68; - _sqlite3XPrintf($str,34985,$vararg_buffer); + _sqlite3XPrintf($str,34464,$vararg_buffer); } else { $69 = ((($65)) + 8|0); $70 = HEAP32[$69>>2]|0; HEAP32[$vararg_buffer1>>2] = $70; - _sqlite3XPrintf($str,34998,$vararg_buffer1); + _sqlite3XPrintf($str,34477,$vararg_buffer1); } $71 = HEAP32[$pItem>>2]|0; $72 = ((($71)) + 12|0); @@ -172914,7 +175385,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $76 = ((($75)) + 12|0); $77 = HEAP32[$76>>2]|0; HEAP32[$vararg_buffer4>>2] = $77; - _sqlite3XPrintf($str,35008,$vararg_buffer4); + _sqlite3XPrintf($str,34487,$vararg_buffer4); } $78 = HEAP32[$flags>>2]|0; $79 = $78 & 1280; @@ -172924,7 +175395,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w HEAP32[$zFmt>>2] = 0; $81 = HEAP32[$pLoop>>2]|0; $82 = ((($81)) + 24|0); - $83 = ((($82)) + 4|0); + $83 = ((($82)) + 8|0); $84 = HEAP32[$83>>2]|0; HEAP32[$pIdx>>2] = $84; $85 = HEAP32[$pItem>>2]|0; @@ -172948,7 +175419,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $99 = HEAP32[$isSearch>>2]|0; $100 = ($99|0)!=(0); if ($100) { - HEAP32[$zFmt>>2] = 35015; + HEAP32[$zFmt>>2] = 34494; } } else { label = 19; @@ -172960,24 +175431,24 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $102 = $101 & 131072; $103 = ($102|0)!=(0); if ($103) { - HEAP32[$zFmt>>2] = 35027; + HEAP32[$zFmt>>2] = 34506; break; } $104 = HEAP32[$flags>>2]|0; $105 = $104 & 16384; $106 = ($105|0)!=(0); if ($106) { - HEAP32[$zFmt>>2] = 35060; + HEAP32[$zFmt>>2] = 34539; break; } $107 = HEAP32[$flags>>2]|0; $108 = $107 & 64; $109 = ($108|0)!=(0); if ($109) { - HEAP32[$zFmt>>2] = 35085; + HEAP32[$zFmt>>2] = 34564; break; } else { - HEAP32[$zFmt>>2] = 35103; + HEAP32[$zFmt>>2] = 34582; break; } } @@ -172985,7 +175456,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $110 = HEAP32[$zFmt>>2]|0; $111 = ($110|0)!=(0|0); if ($111) { - _sqlite3StrAccumAppend($str,35112,7); + _sqlite3StrAccumAppend($str,34591,7); $112 = HEAP32[$zFmt>>2]|0; $113 = HEAP32[$pIdx>>2]|0; $114 = HEAP32[$113>>2]|0; @@ -173008,30 +175479,30 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $124 = ($123|0)!=(0); do { if ($124) { - HEAP32[$zRangeOp>>2] = 35120; + HEAP32[$zRangeOp>>2] = 34599; } else { $125 = HEAP32[$flags>>2]|0; $126 = $125 & 48; $127 = ($126|0)==(48); if ($127) { - HEAP32[$zRangeOp>>2] = 35122; + HEAP32[$zRangeOp>>2] = 34601; break; } $128 = HEAP32[$flags>>2]|0; $129 = $128 & 32; $130 = ($129|0)!=(0); if ($130) { - HEAP32[$zRangeOp>>2] = 35136; + HEAP32[$zRangeOp>>2] = 34615; break; } else { - HEAP32[$zRangeOp>>2] = 35138; + HEAP32[$zRangeOp>>2] = 34617; break; } } } while(0); $131 = HEAP32[$zRangeOp>>2]|0; HEAP32[$vararg_buffer10>>2] = $131; - _sqlite3XPrintf($str,35140,$vararg_buffer10); + _sqlite3XPrintf($str,34619,$vararg_buffer10); break; } } @@ -173049,7 +175520,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w HEAP32[$vararg_buffer13>>2] = $137; $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); HEAP32[$vararg_ptr16>>2] = $141; - _sqlite3XPrintf($str,35178,$vararg_buffer13); + _sqlite3XPrintf($str,34657,$vararg_buffer13); } } } while(0); @@ -173060,7 +175531,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $145 = HEAP32[$4>>2]|0; $146 = HEAP32[$5>>2]|0; $147 = HEAP32[$zMsg>>2]|0; - $148 = (_sqlite3VdbeAddOp4($143,160,$144,$145,$146,$147,-1)|0); + $148 = (_sqlite3VdbeAddOp4($143,162,$144,$145,$146,$147,-1)|0); HEAP32[$ret>>2] = $148; break; } @@ -173080,195 +175551,203 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $iLevel = $iLevel|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0; - var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0; - var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0; - var $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0; - var $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0; - var $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0; - var $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0; - var $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0; - var $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0; - var $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0; - var $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0; - var $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0; - var $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0; - var $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0; - var $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0; - var $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0; - var $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0; - var $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0; - var $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0; - var $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0; - var $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0; - var $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0; - var $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0; - var $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0; - var $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0; - var $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0; - var $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0; - var $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0; - var $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0; - var $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0; - var $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0; - var $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0; - var $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0; - var $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0; - var $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0; - var $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0; - var $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0; - var $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0; - var $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; - var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; - var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; - var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; - var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; - var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; - var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0; - var $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0; - var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0; - var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0; - var $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0; - var $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0; - var $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0; - var $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0; - var $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0; - var $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0; - var $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0; - var $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0; - var $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0; - var $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0; - var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0; - var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0; - var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0; - var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0; - var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0; - var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0; - var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0; - var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; - var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0; - var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; - var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0; - var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0; - var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0; - var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0; - var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0; - var $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0; - var $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0; - var $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0; - var $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0; - var $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0; - var $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addrBrk = 0, $addrCont = 0, $addrExplain = 0, $addrNotFound = 0, $addrNxt = 0, $bRev = 0, $bSeekPastNull = 0, $bStopAtNull = 0, $cEndAff = 0, $db = 0, $endEq = 0, $iCol = 0, $iCovCur = 0, $iCur = 0; - var $iIdxCur = 0, $iIn = 0, $iLoopBody = 0, $iPk = 0, $iReg = 0, $iReleaseReg = 0, $iRetInit = 0, $iRowidReg = 0, $iSet = 0, $iTarget = 0, $iTerm = 0, $ii = 0, $j = 0, $jmp1 = 0, $k = 0, $memEndValue = 0, $nConstraint = 0, $nConstraint2 = 0, $nEq = 0, $nExtraReg = 0; - var $nNotReady = 0, $nPk = 0, $omitTable = 0, $op = 0, $origSrc = 0, $pAlt = 0, $pAndExpr = 0, $pCompare = 0, $pCov = 0, $pE = 0, $pE8 = 0, $pEAlt = 0, $pEnd = 0, $pExpr = 0, $pIdx = 0, $pLevel = 0, $pLoop = 0, $pOp = 0, $pOrExpr = 0, $pOrTab = 0; - var $pOrTerm = 0, $pOrWc = 0, $pParse = 0, $pPk = 0, $pPk6 = 0, $pPk7 = 0, $pRangeEnd = 0, $pRangeStart = 0, $pRight = 0, $pRight4 = 0, $pRight5 = 0, $pStart = 0, $pSubLoop = 0, $pSubWInfo = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pWC = 0, $pX = 0, $pX1 = 0; - var $r = 0, $r1 = 0, $rTemp = 0, $regBase = 0, $regReturn = 0, $regRowid = 0, $regRowset = 0, $regYield = 0, $skipLikeAddr = 0, $start = 0, $startEq = 0, $start_constraints = 0, $t = 0, $t3 = 0, $testOp = 0, $untestedTerms = 0, $v = 0, $wctrlFlags = 0, $x = 0, $zStartAff = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 384|0; + var $$old1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0; + var $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0; + var $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0; + var $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0; + var $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0; + var $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0; + var $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0; + var $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0; + var $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0; + var $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0; + var $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0; + var $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0; + var $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0; + var $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0; + var $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0; + var $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0; + var $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0; + var $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0; + var $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0; + var $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0; + var $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0; + var $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0; + var $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0; + var $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0; + var $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0; + var $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0; + var $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0; + var $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0; + var $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0; + var $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0; + var $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0; + var $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0; + var $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0; + var $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0; + var $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0; + var $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0; + var $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0; + var $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0; + var $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0; + var $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0; + var $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0; + var $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; + var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; + var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; + var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; + var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0; + var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0; + var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0; + var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0; + var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0; + var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0; + var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0; + var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; + var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0; + var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0; + var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0; + var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0; + var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0; + var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0; + var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0; + var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0; + var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0; + var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0; + var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0; + var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0; + var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0; + var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0; + var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0; + var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0; + var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0; + var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0; + var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0; + var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0; + var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0; + var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0; + var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0; + var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0; + var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0; + var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addrBrk = 0, $addrCont = 0, $addrExplain = 0, $addrNotFound = 0, $addrNxt = 0, $bRev = 0, $bSeekPastNull = 0, $bStopAtNull = 0, $db = 0, $endEq = 0; + var $iCol = 0, $iCovCur = 0, $iCur = 0, $iIdxCur = 0, $iIn = 0, $iLoopBody = 0, $iPk = 0, $iReg = 0, $iReleaseReg = 0, $iRetInit = 0, $iRowidReg = 0, $iSet = 0, $iTarget = 0, $iTerm = 0, $ii = 0, $j = 0, $jmp1 = 0, $k = 0, $memEndValue = 0, $nBtm = 0; + var $nConstraint = 0, $nConstraint3 = 0, $nEq = 0, $nExtraReg = 0, $nNotReady = 0, $nPk = 0, $nTop = 0, $omitTable = 0, $op = 0, $op4 = 0, $or$cond = 0, $origSrc = 0, $pAlt = 0, $pAndExpr = 0, $pCompare = 0, $pCov = 0, $pE = 0, $pE11 = 0, $pEnd = 0, $pExpr = 0; + var $pIdx = 0, $pLevel = 0, $pLoop = 0, $pOp = 0, $pOrExpr = 0, $pOrTab = 0, $pOrTerm = 0, $pOrWc = 0, $pParse = 0, $pPk = 0, $pPk10 = 0, $pPk9 = 0, $pRangeEnd = 0, $pRangeStart = 0, $pRight = 0, $pRight1 = 0, $pRight7 = 0, $pRight8 = 0, $pStart = 0, $pSubLoop = 0; + var $pSubWInfo = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pWC = 0, $pX = 0, $pX2 = 0, $r = 0, $r1 = 0, $rTemp = 0, $regBase = 0, $regReturn = 0, $regRowid = 0, $regRowset = 0, $regYield = 0, $sEAlt = 0, $skipLikeAddr = 0, $start = 0, $startEq = 0, $start_constraints = 0; + var $t = 0, $t5 = 0, $t6 = 0, $testOp = 0, $untestedTerms = 0, $v = 0, $wctrlFlags = 0, $x = 0, $zEndAff = 0, $zStartAff = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; $2 = sp + 8|0; - $3 = sp + 372|0; - $4 = sp + 368|0; + $3 = sp + 432|0; + $4 = sp + 428|0; $5 = sp; - $j = sp + 364|0; - $k = sp + 360|0; - $iCur = sp + 356|0; - $addrNxt = sp + 352|0; - $omitTable = sp + 348|0; - $bRev = sp + 344|0; - $pLevel = sp + 340|0; - $pLoop = sp + 336|0; - $pWC = sp + 332|0; - $pTerm = sp + 328|0; - $pParse = sp + 324|0; - $db = sp + 320|0; - $v = sp + 316|0; - $pTabItem = sp + 312|0; - $addrBrk = sp + 308|0; - $addrCont = sp + 304|0; - $iRowidReg = sp + 300|0; - $iReleaseReg = sp + 296|0; - $regYield = sp + 292|0; - $iReg = sp + 288|0; - $addrNotFound = sp + 284|0; - $nConstraint = sp + 280|0; - $iIn = sp + 276|0; - $iTarget = sp + 272|0; - $pCompare = sp + 268|0; - $pRight = sp + 264|0; - $pOp = sp + 260|0; - $testOp = sp + 256|0; - $start = sp + 252|0; - $memEndValue = sp + 248|0; - $pStart = sp + 244|0; - $pEnd = sp + 240|0; - $pX = sp + 236|0; - $r1 = sp + 232|0; - $rTemp = sp + 228|0; - $pX1 = sp + 224|0; - $nEq = sp + 378|0; - $regBase = sp + 220|0; - $pRangeStart = sp + 216|0; - $pRangeEnd = sp + 212|0; - $startEq = sp + 208|0; - $endEq = sp + 204|0; - $start_constraints = sp + 200|0; - $nConstraint2 = sp + 196|0; - $pIdx = sp + 192|0; - $iIdxCur = sp + 188|0; - $nExtraReg = sp + 184|0; - $op = sp + 180|0; - $zStartAff = sp + 176|0; - $cEndAff = sp + 383|0; - $bSeekPastNull = sp + 382|0; - $bStopAtNull = sp + 381|0; - $t = sp + 172|0; - $t3 = sp + 380|0; - $pRight4 = sp + 168|0; - $pRight5 = sp + 164|0; - $pPk = sp + 160|0; - $pOrWc = sp + 156|0; - $pOrTab = sp + 152|0; - $pCov = sp + 148|0; - $iCovCur = sp + 144|0; - $regReturn = sp + 140|0; - $regRowset = sp + 136|0; - $regRowid = sp + 132|0; - $iLoopBody = sp + 128|0; - $iRetInit = sp + 124|0; - $untestedTerms = sp + 120|0; - $ii = sp + 116|0; - $wctrlFlags = sp + 376|0; - $pAndExpr = sp + 112|0; - $pTab = sp + 108|0; - $nNotReady = sp + 104|0; - $origSrc = sp + 100|0; - $pPk6 = sp + 96|0; - $iTerm = sp + 92|0; - $pExpr = sp + 88|0; - $pOrTerm = sp + 84|0; - $pSubWInfo = sp + 80|0; - $pOrExpr = sp + 76|0; - $jmp1 = sp + 72|0; - $pSubLoop = sp + 68|0; - $addrExplain = sp + 64|0; - $r = sp + 60|0; - $iSet = sp + 56|0; - $pPk7 = sp + 52|0; - $nPk = sp + 48|0; - $iPk = sp + 44|0; - $iCol = sp + 40|0; - $pE = sp + 36|0; - $skipLikeAddr = sp + 32|0; - $x = sp + 28|0; - $pE8 = sp + 24|0; - $pEAlt = sp + 20|0; + $j = sp + 424|0; + $k = sp + 420|0; + $iCur = sp + 416|0; + $addrNxt = sp + 412|0; + $omitTable = sp + 408|0; + $bRev = sp + 404|0; + $pLevel = sp + 400|0; + $pLoop = sp + 396|0; + $pWC = sp + 392|0; + $pTerm = sp + 388|0; + $pParse = sp + 384|0; + $db = sp + 380|0; + $v = sp + 376|0; + $pTabItem = sp + 372|0; + $addrBrk = sp + 368|0; + $addrCont = sp + 364|0; + $iRowidReg = sp + 360|0; + $iReleaseReg = sp + 356|0; + $regYield = sp + 352|0; + $iReg = sp + 348|0; + $addrNotFound = sp + 344|0; + $nConstraint = sp + 340|0; + $iIn = sp + 336|0; + $iTarget = sp + 332|0; + $pRight = sp + 328|0; + $pCompare = sp + 324|0; + $pRight1 = sp + 320|0; + $pOp = sp + 316|0; + $testOp = sp + 312|0; + $start = sp + 308|0; + $memEndValue = sp + 304|0; + $pStart = sp + 300|0; + $pEnd = sp + 296|0; + $pX = sp + 292|0; + $r1 = sp + 288|0; + $rTemp = sp + 284|0; + $op = sp + 280|0; + $pX2 = sp + 276|0; + $nEq = sp + 442|0; + $nBtm = sp + 440|0; + $nTop = sp + 438|0; + $regBase = sp + 272|0; + $pRangeStart = sp + 268|0; + $pRangeEnd = sp + 264|0; + $startEq = sp + 260|0; + $endEq = sp + 256|0; + $start_constraints = sp + 252|0; + $nConstraint3 = sp + 248|0; + $pIdx = sp + 244|0; + $iIdxCur = sp + 240|0; + $nExtraReg = sp + 236|0; + $op4 = sp + 232|0; + $zStartAff = sp + 228|0; + $zEndAff = sp + 224|0; + $bSeekPastNull = sp + 447|0; + $bStopAtNull = sp + 446|0; + $t = sp + 220|0; + $t5 = sp + 445|0; + $t6 = sp + 444|0; + $pRight7 = sp + 216|0; + $pRight8 = sp + 212|0; + $pPk = sp + 208|0; + $pOrWc = sp + 204|0; + $pOrTab = sp + 200|0; + $pCov = sp + 196|0; + $iCovCur = sp + 192|0; + $regReturn = sp + 188|0; + $regRowset = sp + 184|0; + $regRowid = sp + 180|0; + $iLoopBody = sp + 176|0; + $iRetInit = sp + 172|0; + $untestedTerms = sp + 168|0; + $ii = sp + 164|0; + $wctrlFlags = sp + 436|0; + $pAndExpr = sp + 160|0; + $pTab = sp + 156|0; + $nNotReady = sp + 152|0; + $origSrc = sp + 148|0; + $pPk9 = sp + 144|0; + $iTerm = sp + 140|0; + $pExpr = sp + 136|0; + $pOrTerm = sp + 132|0; + $pSubWInfo = sp + 128|0; + $pOrExpr = sp + 124|0; + $jmp1 = sp + 120|0; + $pSubLoop = sp + 116|0; + $addrExplain = sp + 112|0; + $r = sp + 108|0; + $iSet = sp + 104|0; + $pPk10 = sp + 100|0; + $nPk = sp + 96|0; + $iPk = sp + 92|0; + $iCol = sp + 88|0; + $pE = sp + 84|0; + $skipLikeAddr = sp + 80|0; + $x = sp + 76|0; + $pE11 = sp + 72|0; + $sEAlt = sp + 24|0; $pAlt = sp + 16|0; HEAP32[$3>>2] = $pWInfo; HEAP32[$4>>2] = $iLevel; @@ -173288,14 +175767,14 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $14 = HEAP32[$13>>2]|0; HEAP32[$v>>2] = $14; $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 328|0); + $16 = ((($15)) + 80|0); HEAP32[$pWC>>2] = $16; $17 = HEAP32[$pParse>>2]|0; $18 = HEAP32[$17>>2]|0; HEAP32[$db>>2] = $18; $19 = HEAP32[$4>>2]|0; $20 = HEAP32[$3>>2]|0; - $21 = ((($20)) + 736|0); + $21 = ((($20)) + 752|0); $22 = (($21) + (($19*80)|0)|0); HEAP32[$pLevel>>2] = $22; $23 = HEAP32[$pLevel>>2]|0; @@ -173323,7 +175802,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$3>>2]|0; - $45 = ((($44)) + 68|0); + $45 = ((($44)) + 488|0); $46 = HEAP32[$iCur>>2]|0; $47 = (_sqlite3WhereGetMask($45,$46)|0); $48 = tempRet0; @@ -173340,7 +175819,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $58 = $57; HEAP32[$58>>2] = $52; $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 24|0); + $60 = ((($59)) + 64|0); $61 = $60; $62 = $61; $63 = HEAP32[$62>>2]|0; @@ -173359,7 +175838,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $75 = ($74|0)!=(0); if ($75) { $76 = HEAP32[$3>>2]|0; - $77 = ((($76)) + 36|0); + $77 = ((($76)) + 40|0); $78 = HEAP16[$77>>1]|0; $79 = $78&65535; $80 = $79 & 32; @@ -173399,7 +175878,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $104 = ($103|0)!=(0); if ($104) { $105 = HEAP32[$pParse>>2]|0; - $106 = ((($105)) + 76|0); + $106 = ((($105)) + 44|0); $107 = HEAP32[$106>>2]|0; $108 = (($107) + 1)|0; HEAP32[$106>>2] = $108; @@ -173408,7 +175887,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $110 = HEAP32[$v>>2]|0; $111 = HEAP32[$pLevel>>2]|0; $112 = HEAP32[$111>>2]|0; - (_sqlite3VdbeAddOp2($110,74,0,$112)|0); + (_sqlite3VdbeAddOp2($110,76,0,$112)|0); } } $113 = HEAP32[$pTabItem>>2]|0; @@ -173489,14 +175968,14 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { do { if (!($168)) { $169 = HEAP32[$pTerm>>2]|0; - $170 = ((($169)) + 18|0); + $170 = ((($169)) + 12|0); $171 = HEAP16[$170>>1]|0; $172 = $171&65535; $173 = $172 & 1; $174 = ($173|0)!=(0); - $175 = HEAP32[$pParse>>2]|0; - $176 = HEAP32[$pTerm>>2]|0; if ($174) { + $175 = HEAP32[$pParse>>2]|0; + $176 = HEAP32[$pTerm>>2]|0; $177 = HEAP32[$pLevel>>2]|0; $178 = HEAP32[$j>>2]|0; $179 = HEAP32[$bRev>>2]|0; @@ -173508,105 +175987,109 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { HEAP32[$addrNotFound>>2] = $183; break; } else { - $184 = HEAP32[$176>>2]|0; - $185 = ((($184)) + 16|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$iTarget>>2]|0; - _sqlite3ExprCode($175,$186,$187); + $184 = HEAP32[$pTerm>>2]|0; + $185 = HEAP32[$184>>2]|0; + $186 = ((($185)) + 16|0); + $187 = HEAP32[$186>>2]|0; + HEAP32[$pRight>>2] = $187; + $188 = HEAP32[$pParse>>2]|0; + $189 = HEAP32[$pRight>>2]|0; + $190 = HEAP32[$iTarget>>2]|0; + _codeExprOrVector($188,$189,$190,1); break; } } } while(0); - $188 = HEAP32[$j>>2]|0; - $189 = (($188) + 1)|0; - HEAP32[$j>>2] = $189; + $191 = HEAP32[$j>>2]|0; + $192 = (($191) + 1)|0; + HEAP32[$j>>2] = $192; } - $190 = HEAP32[$v>>2]|0; - $191 = HEAP32[$pLoop>>2]|0; - $192 = ((($191)) + 24|0); - $193 = HEAP32[$192>>2]|0; - $194 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($190,74,$193,$194)|0); - $195 = HEAP32[$v>>2]|0; - $196 = HEAP32[$nConstraint>>2]|0; + $193 = HEAP32[$v>>2]|0; + $194 = HEAP32[$pLoop>>2]|0; + $195 = ((($194)) + 24|0); + $196 = HEAP32[$195>>2]|0; $197 = HEAP32[$iReg>>2]|0; - $198 = (($197) + 1)|0; - (_sqlite3VdbeAddOp2($195,74,$196,$198)|0); - $199 = HEAP32[$v>>2]|0; - $200 = HEAP32[$iCur>>2]|0; - $201 = HEAP32[$addrNotFound>>2]|0; - $202 = HEAP32[$iReg>>2]|0; - $203 = HEAP32[$pLoop>>2]|0; - $204 = ((($203)) + 24|0); - $205 = ((($204)) + 8|0); - $206 = HEAP32[$205>>2]|0; - $207 = HEAP32[$pLoop>>2]|0; - $208 = ((($207)) + 24|0); - $209 = ((($208)) + 4|0); - $210 = HEAP8[$209>>0]|0; - $211 = $210&255; - $212 = ($211|0)!=(0); - $213 = $212 ? -11 : -2; - (_sqlite3VdbeAddOp4($199,11,$200,$201,$202,$206,$213)|0); - $214 = HEAP32[$pLoop>>2]|0; - $215 = ((($214)) + 24|0); - $216 = ((($215)) + 4|0); - HEAP8[$216>>0] = 0; - $217 = HEAP32[$iCur>>2]|0; - $218 = HEAP32[$pLevel>>2]|0; - $219 = ((($218)) + 48|0); - HEAP32[$219>>2] = $217; - $220 = HEAP32[$3>>2]|0; - $221 = ((($220)) + 40|0); - $222 = HEAP8[$221>>0]|0; - $223 = $222&255; - $224 = ($223|0)!=(0); - $225 = $224 ? 159 : 68; + (_sqlite3VdbeAddOp2($193,76,$196,$197)|0); + $198 = HEAP32[$v>>2]|0; + $199 = HEAP32[$nConstraint>>2]|0; + $200 = HEAP32[$iReg>>2]|0; + $201 = (($200) + 1)|0; + (_sqlite3VdbeAddOp2($198,76,$199,$201)|0); + $202 = HEAP32[$v>>2]|0; + $203 = HEAP32[$iCur>>2]|0; + $204 = HEAP32[$addrNotFound>>2]|0; + $205 = HEAP32[$iReg>>2]|0; + $206 = HEAP32[$pLoop>>2]|0; + $207 = ((($206)) + 24|0); + $208 = ((($207)) + 8|0); + $209 = HEAP32[$208>>2]|0; + $210 = HEAP32[$pLoop>>2]|0; + $211 = ((($210)) + 24|0); + $212 = ((($211)) + 4|0); + $213 = HEAP8[$212>>0]|0; + $214 = $213&255; + $215 = ($214|0)!=(0); + $216 = $215 ? -11 : -2; + (_sqlite3VdbeAddOp4($202,11,$203,$204,$205,$209,$216)|0); + $217 = HEAP32[$pLoop>>2]|0; + $218 = ((($217)) + 24|0); + $219 = ((($218)) + 4|0); + HEAP8[$219>>0] = 0; + $220 = HEAP32[$iCur>>2]|0; + $221 = HEAP32[$pLevel>>2]|0; + $222 = ((($221)) + 48|0); + HEAP32[$222>>2] = $220; + $223 = HEAP32[$3>>2]|0; + $224 = ((($223)) + 45|0); + $225 = HEAP8[$224>>0]|0; $226 = $225&255; - $227 = HEAP32[$pLevel>>2]|0; - $228 = ((($227)) + 45|0); - HEAP8[$228>>0] = $226; - $229 = HEAP32[$v>>2]|0; - $230 = (_sqlite3VdbeCurrentAddr($229)|0); - $231 = HEAP32[$pLevel>>2]|0; - $232 = ((($231)) + 52|0); - HEAP32[$232>>2] = $230; - $233 = HEAP32[$pLevel>>2]|0; - $234 = ((($233)) + 56|0); - $235 = HEAP32[$234>>2]|0; - HEAP32[$iIn>>2] = $235; - $236 = HEAP32[$nConstraint>>2]|0; - $237 = (($236) - 1)|0; - HEAP32[$j>>2] = $237; + $227 = ($226|0)!=(0); + $228 = $227 ? 161 : 70; + $229 = $228&255; + $230 = HEAP32[$pLevel>>2]|0; + $231 = ((($230)) + 45|0); + HEAP8[$231>>0] = $229; + $232 = HEAP32[$v>>2]|0; + $233 = (_sqlite3VdbeCurrentAddr($232)|0); + $234 = HEAP32[$pLevel>>2]|0; + $235 = ((($234)) + 52|0); + HEAP32[$235>>2] = $233; + $236 = HEAP32[$pLevel>>2]|0; + $237 = ((($236)) + 56|0); + $238 = HEAP32[$237>>2]|0; + HEAP32[$iIn>>2] = $238; + $239 = HEAP32[$nConstraint>>2]|0; + $240 = (($239) - 1)|0; + HEAP32[$j>>2] = $240; while(1) { - $238 = HEAP32[$j>>2]|0; - $239 = ($238|0)>=(0); - if (!($239)) { + $241 = HEAP32[$j>>2]|0; + $242 = ($241|0)>=(0); + if (!($242)) { break; } - $240 = HEAP32[$j>>2]|0; - $241 = HEAP32[$pLoop>>2]|0; - $242 = ((($241)) + 48|0); - $243 = HEAP32[$242>>2]|0; - $244 = (($243) + ($240<<2)|0); - $245 = HEAP32[$244>>2]|0; - HEAP32[$pTerm>>2] = $245; - $246 = HEAP32[$j>>2]|0; - $247 = ($246|0)<(16); - if ($247) { - $248 = HEAP32[$pLoop>>2]|0; - $249 = ((($248)) + 24|0); - $250 = ((($249)) + 6|0); - $251 = HEAP16[$250>>1]|0; - $252 = $251&65535; - $253 = HEAP32[$j>>2]|0; - $254 = $252 >> $253; - $255 = $254 & 1; - $256 = ($255|0)!=(0); - if ($256) { - $257 = HEAP32[$pLevel>>2]|0; - $258 = HEAP32[$pTerm>>2]|0; - _disableTerm($257,$258); + $243 = HEAP32[$j>>2]|0; + $244 = HEAP32[$pLoop>>2]|0; + $245 = ((($244)) + 48|0); + $246 = HEAP32[$245>>2]|0; + $247 = (($246) + ($243<<2)|0); + $248 = HEAP32[$247>>2]|0; + HEAP32[$pTerm>>2] = $248; + $249 = HEAP32[$j>>2]|0; + $250 = ($249|0)<(16); + if ($250) { + $251 = HEAP32[$pLoop>>2]|0; + $252 = ((($251)) + 24|0); + $253 = ((($252)) + 6|0); + $254 = HEAP16[$253>>1]|0; + $255 = $254&65535; + $256 = HEAP32[$j>>2]|0; + $257 = $255 >> $256; + $258 = $257 & 1; + $259 = ($258|0)!=(0); + if ($259) { + $260 = HEAP32[$pLevel>>2]|0; + $261 = HEAP32[$pTerm>>2]|0; + _disableTerm($260,$261); } else { label = 21; } @@ -173615,144 +176098,140 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { } if ((label|0) == 21) { label = 0; - $259 = HEAP32[$pTerm>>2]|0; - $260 = ((($259)) + 18|0); - $261 = HEAP16[$260>>1]|0; - $262 = $261&65535; - $263 = $262 & 1; - $264 = ($263|0)!=(0); - if ($264) { - $265 = HEAP32[$db>>2]|0; - $266 = ((($265)) + 69|0); - $267 = HEAP8[$266>>0]|0; - $268 = ($267<<24>>24)!=(0); - if (!($268)) { - $269 = HEAP32[$v>>2]|0; - $270 = HEAP32[$iIn>>2]|0; - $271 = (($270) + -1)|0; - HEAP32[$iIn>>2] = $271; - $272 = HEAP32[$pLevel>>2]|0; - $273 = ((($272)) + 56|0); - $274 = ((($273)) + 4|0); - $275 = HEAP32[$274>>2]|0; - $276 = (($275) + (($271*12)|0)|0); + $262 = HEAP32[$pTerm>>2]|0; + $263 = ((($262)) + 12|0); + $264 = HEAP16[$263>>1]|0; + $265 = $264&65535; + $266 = $265 & 1; + $267 = ($266|0)!=(0); + if ($267) { + $268 = HEAP32[$db>>2]|0; + $269 = ((($268)) + 69|0); + $270 = HEAP8[$269>>0]|0; + $271 = ($270<<24>>24)!=(0); + if (!($271)) { + $272 = HEAP32[$v>>2]|0; + $273 = HEAP32[$iIn>>2]|0; + $274 = (($273) + -1)|0; + HEAP32[$iIn>>2] = $274; + $275 = HEAP32[$pLevel>>2]|0; + $276 = ((($275)) + 56|0); $277 = ((($276)) + 4|0); $278 = HEAP32[$277>>2]|0; - $279 = (_sqlite3VdbeGetOp($269,$278)|0); - HEAP32[$pOp>>2] = $279; - $280 = HEAP32[$v>>2]|0; - $281 = HEAP32[$pOp>>2]|0; - $282 = HEAP8[$281>>0]|0; - $283 = $282&255; + $279 = (($278) + (($274*12)|0)|0); + $280 = ((($279)) + 4|0); + $281 = HEAP32[$280>>2]|0; + $282 = (_sqlite3VdbeGetOp($272,$281)|0); + HEAP32[$pOp>>2] = $282; + $283 = HEAP32[$v>>2]|0; $284 = HEAP32[$pOp>>2]|0; - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; + $285 = HEAP8[$284>>0]|0; + $286 = $285&255; $287 = HEAP32[$pOp>>2]|0; - $288 = ((($287)) + 8|0); + $288 = ((($287)) + 4|0); $289 = HEAP32[$288>>2]|0; $290 = HEAP32[$pOp>>2]|0; - $291 = ((($290)) + 12|0); + $291 = ((($290)) + 8|0); $292 = HEAP32[$291>>2]|0; - (_sqlite3VdbeAddOp3($280,$283,$286,$289,$292)|0); + $293 = HEAP32[$pOp>>2]|0; + $294 = ((($293)) + 12|0); + $295 = HEAP32[$294>>2]|0; + (_sqlite3VdbeAddOp3($283,$286,$289,$292,$295)|0); } - $293 = HEAP32[$pParse>>2]|0; - $294 = (_sqlite3PExpr($293,37,0,0,0)|0); - HEAP32[$pCompare>>2] = $294; - $295 = HEAP32[$pCompare>>2]|0; - $296 = ($295|0)!=(0|0); - if ($296) { - $297 = HEAP32[$pTerm>>2]|0; - $298 = HEAP32[$297>>2]|0; - $299 = ((($298)) + 12|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[$pCompare>>2]|0; + $296 = HEAP32[$pParse>>2]|0; + $297 = (_sqlite3PExpr($296,37,0,0,0)|0); + HEAP32[$pCompare>>2] = $297; + $298 = HEAP32[$pCompare>>2]|0; + $299 = ($298|0)!=(0|0); + if ($299) { + $300 = HEAP32[$pTerm>>2]|0; + $301 = HEAP32[$300>>2]|0; $302 = ((($301)) + 12|0); - HEAP32[$302>>2] = $300; - $303 = HEAP32[$db>>2]|0; - $304 = (_sqlite3Expr($303,157,0)|0); - HEAP32[$pRight>>2] = $304; - $305 = HEAP32[$pCompare>>2]|0; - $306 = ((($305)) + 16|0); - HEAP32[$306>>2] = $304; - $307 = HEAP32[$pRight>>2]|0; - $308 = ($307|0)!=(0|0); - if ($308) { - $309 = HEAP32[$iReg>>2]|0; - $310 = HEAP32[$j>>2]|0; - $311 = (($309) + ($310))|0; - $312 = (($311) + 2)|0; - $313 = HEAP32[$pRight>>2]|0; - $314 = ((($313)) + 28|0); - HEAP32[$314>>2] = $312; - $315 = HEAP32[$pParse>>2]|0; - $316 = HEAP32[$pCompare>>2]|0; - $317 = HEAP32[$pLevel>>2]|0; - $318 = ((($317)) + 24|0); - $319 = HEAP32[$318>>2]|0; - _sqlite3ExprIfFalse($315,$316,$319,0); + $303 = HEAP32[$302>>2]|0; + $304 = HEAP32[$pCompare>>2]|0; + $305 = ((($304)) + 12|0); + HEAP32[$305>>2] = $303; + $306 = HEAP32[$db>>2]|0; + $307 = (_sqlite3Expr($306,157,0)|0); + HEAP32[$pRight1>>2] = $307; + $308 = HEAP32[$pCompare>>2]|0; + $309 = ((($308)) + 16|0); + HEAP32[$309>>2] = $307; + $310 = HEAP32[$pRight1>>2]|0; + $311 = ($310|0)!=(0|0); + if ($311) { + $312 = HEAP32[$iReg>>2]|0; + $313 = HEAP32[$j>>2]|0; + $314 = (($312) + ($313))|0; + $315 = (($314) + 2)|0; + $316 = HEAP32[$pRight1>>2]|0; + $317 = ((($316)) + 28|0); + HEAP32[$317>>2] = $315; + $318 = HEAP32[$pParse>>2]|0; + $319 = HEAP32[$pCompare>>2]|0; + $320 = HEAP32[$pLevel>>2]|0; + $321 = ((($320)) + 24|0); + $322 = HEAP32[$321>>2]|0; + _sqlite3ExprIfFalse($318,$319,$322,0); } - $320 = HEAP32[$pCompare>>2]|0; - $321 = ((($320)) + 12|0); - HEAP32[$321>>2] = 0; - $322 = HEAP32[$db>>2]|0; $323 = HEAP32[$pCompare>>2]|0; - _sqlite3ExprDelete($322,$323); + $324 = ((($323)) + 12|0); + HEAP32[$324>>2] = 0; + $325 = HEAP32[$db>>2]|0; + $326 = HEAP32[$pCompare>>2]|0; + _sqlite3ExprDelete($325,$326); } } } - $324 = HEAP32[$j>>2]|0; - $325 = (($324) + -1)|0; - HEAP32[$j>>2] = $325; + $327 = HEAP32[$j>>2]|0; + $328 = (($327) + -1)|0; + HEAP32[$j>>2] = $328; } - $326 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCachePop($326); + $329 = HEAP32[$pParse>>2]|0; + _sqlite3ExprCachePop($329); break; } - $327 = ((($142)) + 36|0); - $328 = HEAP32[$327>>2]|0; - $329 = $328 & 256; - $330 = ($329|0)!=(0); - if ($330) { - $331 = HEAP32[$pLoop>>2]|0; - $332 = ((($331)) + 36|0); - $333 = HEAP32[$332>>2]|0; - $334 = $333 & 5; - $335 = ($334|0)!=(0); - if ($335) { - $336 = HEAP32[$pLoop>>2]|0; - $337 = ((($336)) + 48|0); - $338 = HEAP32[$337>>2]|0; - $339 = HEAP32[$338>>2]|0; - HEAP32[$pTerm>>2] = $339; - $340 = HEAP32[$pParse>>2]|0; - $341 = ((($340)) + 76|0); + $330 = ((($142)) + 36|0); + $331 = HEAP32[$330>>2]|0; + $332 = $331 & 256; + $333 = ($332|0)!=(0); + if ($333) { + $334 = HEAP32[$pLoop>>2]|0; + $335 = ((($334)) + 36|0); + $336 = HEAP32[$335>>2]|0; + $337 = $336 & 5; + $338 = ($337|0)!=(0); + if ($338) { + $339 = HEAP32[$pLoop>>2]|0; + $340 = ((($339)) + 48|0); + $341 = HEAP32[$340>>2]|0; $342 = HEAP32[$341>>2]|0; - $343 = (($342) + 1)|0; - HEAP32[$341>>2] = $343; - HEAP32[$iReleaseReg>>2] = $343; - $344 = HEAP32[$pParse>>2]|0; - $345 = HEAP32[$pTerm>>2]|0; - $346 = HEAP32[$pLevel>>2]|0; - $347 = HEAP32[$bRev>>2]|0; - $348 = HEAP32[$iReleaseReg>>2]|0; - $349 = (_codeEqualityTerm($344,$345,$346,0,$347,$348)|0); - HEAP32[$iRowidReg>>2] = $349; - $350 = HEAP32[$iRowidReg>>2]|0; + HEAP32[$pTerm>>2] = $342; + $343 = HEAP32[$pParse>>2]|0; + $344 = ((($343)) + 44|0); + $345 = HEAP32[$344>>2]|0; + $346 = (($345) + 1)|0; + HEAP32[$344>>2] = $346; + HEAP32[$iReleaseReg>>2] = $346; + $347 = HEAP32[$pParse>>2]|0; + $348 = HEAP32[$pTerm>>2]|0; + $349 = HEAP32[$pLevel>>2]|0; + $350 = HEAP32[$bRev>>2]|0; $351 = HEAP32[$iReleaseReg>>2]|0; - $352 = ($350|0)!=($351|0); - if ($352) { - $353 = HEAP32[$pParse>>2]|0; - $354 = HEAP32[$iReleaseReg>>2]|0; - _sqlite3ReleaseTempReg($353,$354); - } - $355 = HEAP32[$pLevel>>2]|0; - $356 = ((($355)) + 16|0); - $357 = HEAP32[$356>>2]|0; - HEAP32[$addrNxt>>2] = $357; - $358 = HEAP32[$v>>2]|0; - $359 = HEAP32[$iRowidReg>>2]|0; - $360 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($358,17,$359,$360)|0); + $352 = (_codeEqualityTerm($347,$348,$349,0,$350,$351)|0); + HEAP32[$iRowidReg>>2] = $352; + $353 = HEAP32[$iRowidReg>>2]|0; + $354 = HEAP32[$iReleaseReg>>2]|0; + $355 = ($353|0)!=($354|0); + if ($355) { + $356 = HEAP32[$pParse>>2]|0; + $357 = HEAP32[$iReleaseReg>>2]|0; + _sqlite3ReleaseTempReg($356,$357); + } + $358 = HEAP32[$pLevel>>2]|0; + $359 = ((($358)) + 16|0); + $360 = HEAP32[$359>>2]|0; + HEAP32[$addrNxt>>2] = $360; $361 = HEAP32[$v>>2]|0; $362 = HEAP32[$iCur>>2]|0; $363 = HEAP32[$addrNxt>>2]|0; @@ -173767,7 +176246,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { _sqlite3ExprCacheStore($367,$368,-1,$369); $370 = HEAP32[$pLevel>>2]|0; $371 = ((($370)) + 45|0); - HEAP8[$371>>0] = -97; + HEAP8[$371>>0] = -95; break; } } @@ -173783,7 +176262,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $380 = $379 & 2; $381 = ($380|0)!=(0); if ($381) { - HEAP32[$testOp>>2] = 159; + HEAP32[$testOp>>2] = 161; HEAP32[$memEndValue>>2] = 0; HEAP32[$j>>2] = 0; HEAP32[$pEnd>>2] = 0; @@ -173836,1744 +176315,1840 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $413 = HEAP32[$pStart>>2]|0; $414 = HEAP32[$413>>2]|0; HEAP32[$pX>>2] = $414; - $415 = HEAP32[$pParse>>2]|0; - $416 = HEAP32[$pX>>2]|0; - $417 = ((($416)) + 16|0); - $418 = HEAP32[$417>>2]|0; - $419 = (_sqlite3ExprCodeTemp($415,$418,$rTemp)|0); - HEAP32[$r1>>2] = $419; - $420 = HEAP32[$v>>2]|0; - $421 = HEAP32[$pX>>2]|0; - $422 = HEAP8[$421>>0]|0; - $423 = $422&255; - $424 = (($423) - 38)|0; - $425 = (34953 + ($424)|0); - $426 = HEAP8[$425>>0]|0; - $427 = $426&255; - $428 = HEAP32[$iCur>>2]|0; - $429 = HEAP32[$addrBrk>>2]|0; - $430 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($420,$427,$428,$429,$430)|0); - $431 = HEAP32[$pParse>>2]|0; - $432 = HEAP32[$r1>>2]|0; - _sqlite3ExprCacheAffinityChange($431,$432,1); - $433 = HEAP32[$pParse>>2]|0; - $434 = HEAP32[$rTemp>>2]|0; - _sqlite3ReleaseTempReg($433,$434); - $435 = HEAP32[$pLevel>>2]|0; - $436 = HEAP32[$pStart>>2]|0; - _disableTerm($435,$436); - } else { - $437 = HEAP32[$v>>2]|0; - $438 = HEAP32[$bRev>>2]|0; - $439 = ($438|0)!=(0); - $440 = $439 ? 33 : 55; - $441 = HEAP32[$iCur>>2]|0; - $442 = HEAP32[$addrBrk>>2]|0; - (_sqlite3VdbeAddOp2($437,$440,$441,$442)|0); - } - $443 = HEAP32[$pEnd>>2]|0; - $444 = ($443|0)!=(0|0); - if ($444) { - $445 = HEAP32[$pEnd>>2]|0; - $446 = HEAP32[$445>>2]|0; - HEAP32[$pX1>>2] = $446; - $447 = HEAP32[$pParse>>2]|0; - $448 = ((($447)) + 76|0); - $449 = HEAP32[$448>>2]|0; - $450 = (($449) + 1)|0; - HEAP32[$448>>2] = $450; - HEAP32[$memEndValue>>2] = $450; - $451 = HEAP32[$pParse>>2]|0; - $452 = HEAP32[$pX1>>2]|0; - $453 = ((($452)) + 16|0); - $454 = HEAP32[$453>>2]|0; - $455 = HEAP32[$memEndValue>>2]|0; - _sqlite3ExprCode($451,$454,$455); - $456 = HEAP32[$pX1>>2]|0; - $457 = HEAP8[$456>>0]|0; - $458 = $457&255; - $459 = ($458|0)==(40); - if ($459) { - label = 49; + $415 = HEAP32[$pX>>2]|0; + $416 = ((($415)) + 16|0); + $417 = HEAP32[$416>>2]|0; + $418 = (_sqlite3ExprIsVector($417)|0); + $419 = ($418|0)!=(0); + $420 = HEAP32[$pParse>>2]|0; + if ($419) { + $421 = (_sqlite3GetTempReg($420)|0); + HEAP32[$rTemp>>2] = $421; + HEAP32[$r1>>2] = $421; + $422 = HEAP32[$pParse>>2]|0; + $423 = HEAP32[$pX>>2]|0; + $424 = ((($423)) + 16|0); + $425 = HEAP32[$424>>2]|0; + $426 = HEAP32[$r1>>2]|0; + _codeExprOrVector($422,$425,$426,1); + $427 = HEAP32[$pX>>2]|0; + $428 = HEAP8[$427>>0]|0; + $429 = $428&255; + $430 = (($429) - 38)|0; + $431 = $430 | 1; + $432 = (34432 + ($431)|0); + $433 = HEAP8[$432>>0]|0; + $434 = $433&255; + HEAP32[$op>>2] = $434; } else { - $460 = HEAP32[$pX1>>2]|0; - $461 = HEAP8[$460>>0]|0; - $462 = $461&255; - $463 = ($462|0)==(38); - if ($463) { - label = 49; + $435 = HEAP32[$pX>>2]|0; + $436 = ((($435)) + 16|0); + $437 = HEAP32[$436>>2]|0; + $438 = (_sqlite3ExprCodeTemp($420,$437,$rTemp)|0); + HEAP32[$r1>>2] = $438; + $439 = HEAP32[$pLevel>>2]|0; + $440 = HEAP32[$pStart>>2]|0; + _disableTerm($439,$440); + $441 = HEAP32[$pX>>2]|0; + $442 = HEAP8[$441>>0]|0; + $443 = $442&255; + $444 = (($443) - 38)|0; + $445 = (34432 + ($444)|0); + $446 = HEAP8[$445>>0]|0; + $447 = $446&255; + HEAP32[$op>>2] = $447; + } + $448 = HEAP32[$v>>2]|0; + $449 = HEAP32[$op>>2]|0; + $450 = HEAP32[$iCur>>2]|0; + $451 = HEAP32[$addrBrk>>2]|0; + $452 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp3($448,$449,$450,$451,$452)|0); + $453 = HEAP32[$pParse>>2]|0; + $454 = HEAP32[$r1>>2]|0; + _sqlite3ExprCacheAffinityChange($453,$454,1); + $455 = HEAP32[$pParse>>2]|0; + $456 = HEAP32[$rTemp>>2]|0; + _sqlite3ReleaseTempReg($455,$456); + } else { + $457 = HEAP32[$v>>2]|0; + $458 = HEAP32[$bRev>>2]|0; + $459 = ($458|0)!=(0); + $460 = $459 ? 53 : 57; + $461 = HEAP32[$iCur>>2]|0; + $462 = HEAP32[$addrBrk>>2]|0; + (_sqlite3VdbeAddOp2($457,$460,$461,$462)|0); + } + $463 = HEAP32[$pEnd>>2]|0; + $464 = ($463|0)!=(0|0); + if ($464) { + $465 = HEAP32[$pEnd>>2]|0; + $466 = HEAP32[$465>>2]|0; + HEAP32[$pX2>>2] = $466; + $467 = HEAP32[$pParse>>2]|0; + $468 = ((($467)) + 44|0); + $469 = HEAP32[$468>>2]|0; + $470 = (($469) + 1)|0; + HEAP32[$468>>2] = $470; + HEAP32[$memEndValue>>2] = $470; + $471 = HEAP32[$pParse>>2]|0; + $472 = HEAP32[$pX2>>2]|0; + $473 = ((($472)) + 16|0); + $474 = HEAP32[$473>>2]|0; + $475 = HEAP32[$memEndValue>>2]|0; + _codeExprOrVector($471,$474,$475,1); + $476 = HEAP32[$pX2>>2]|0; + $477 = ((($476)) + 16|0); + $478 = HEAP32[$477>>2]|0; + $479 = (_sqlite3ExprIsVector($478)|0); + $480 = (0)==($479|0); + do { + if ($480) { + $481 = HEAP32[$pX2>>2]|0; + $482 = HEAP8[$481>>0]|0; + $483 = $482&255; + $484 = ($483|0)==(40); + if (!($484)) { + $485 = HEAP32[$pX2>>2]|0; + $486 = HEAP8[$485>>0]|0; + $487 = $486&255; + $488 = ($487|0)==(38); + if (!($488)) { + label = 54; + break; + } + } + $489 = HEAP32[$bRev>>2]|0; + $490 = ($489|0)!=(0); + $491 = $490 ? 39 : 41; + HEAP32[$testOp>>2] = $491; } else { - $467 = HEAP32[$bRev>>2]|0; - $468 = ($467|0)!=(0); - $469 = $468 ? 40 : 38; - HEAP32[$testOp>>2] = $469; + label = 54; } + } while(0); + if ((label|0) == 54) { + $492 = HEAP32[$bRev>>2]|0; + $493 = ($492|0)!=(0); + $494 = $493 ? 40 : 38; + HEAP32[$testOp>>2] = $494; } - if ((label|0) == 49) { - $464 = HEAP32[$bRev>>2]|0; - $465 = ($464|0)!=(0); - $466 = $465 ? 39 : 41; - HEAP32[$testOp>>2] = $466; + $495 = HEAP32[$pX2>>2]|0; + $496 = ((($495)) + 16|0); + $497 = HEAP32[$496>>2]|0; + $498 = (_sqlite3ExprIsVector($497)|0); + $499 = (0)==($498|0); + if ($499) { + $500 = HEAP32[$pLevel>>2]|0; + $501 = HEAP32[$pEnd>>2]|0; + _disableTerm($500,$501); } - $470 = HEAP32[$pLevel>>2]|0; - $471 = HEAP32[$pEnd>>2]|0; - _disableTerm($470,$471); - } - $472 = HEAP32[$v>>2]|0; - $473 = (_sqlite3VdbeCurrentAddr($472)|0); - HEAP32[$start>>2] = $473; - $474 = HEAP32[$bRev>>2]|0; - $475 = ($474|0)!=(0); - $476 = $475 ? 6 : 7; - $477 = $476&255; - $478 = HEAP32[$pLevel>>2]|0; - $479 = ((($478)) + 45|0); - HEAP8[$479>>0] = $477; - $480 = HEAP32[$iCur>>2]|0; - $481 = HEAP32[$pLevel>>2]|0; - $482 = ((($481)) + 48|0); - HEAP32[$482>>2] = $480; - $483 = HEAP32[$start>>2]|0; - $484 = HEAP32[$pLevel>>2]|0; - $485 = ((($484)) + 52|0); - HEAP32[$485>>2] = $483; - $486 = HEAP32[$testOp>>2]|0; - $487 = ($486|0)!=(159); - if (!($487)) { + } + $502 = HEAP32[$v>>2]|0; + $503 = (_sqlite3VdbeCurrentAddr($502)|0); + HEAP32[$start>>2] = $503; + $504 = HEAP32[$bRev>>2]|0; + $505 = ($504|0)!=(0); + $506 = $505 ? 6 : 7; + $507 = $506&255; + $508 = HEAP32[$pLevel>>2]|0; + $509 = ((($508)) + 45|0); + HEAP8[$509>>0] = $507; + $510 = HEAP32[$iCur>>2]|0; + $511 = HEAP32[$pLevel>>2]|0; + $512 = ((($511)) + 48|0); + HEAP32[$512>>2] = $510; + $513 = HEAP32[$start>>2]|0; + $514 = HEAP32[$pLevel>>2]|0; + $515 = ((($514)) + 52|0); + HEAP32[$515>>2] = $513; + $516 = HEAP32[$testOp>>2]|0; + $517 = ($516|0)!=(161); + if (!($517)) { break; } - $488 = HEAP32[$pParse>>2]|0; - $489 = ((($488)) + 76|0); - $490 = HEAP32[$489>>2]|0; - $491 = (($490) + 1)|0; - HEAP32[$489>>2] = $491; - HEAP32[$iRowidReg>>2] = $491; - $492 = HEAP32[$v>>2]|0; - $493 = HEAP32[$iCur>>2]|0; - $494 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($492,121,$493,$494)|0); - $495 = HEAP32[$pParse>>2]|0; - $496 = HEAP32[$iCur>>2]|0; - $497 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($495,$496,-1,$497); - $498 = HEAP32[$v>>2]|0; - $499 = HEAP32[$testOp>>2]|0; - $500 = HEAP32[$memEndValue>>2]|0; - $501 = HEAP32[$addrBrk>>2]|0; - $502 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($498,$499,$500,$501,$502)|0); - $503 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($503,83); + $518 = HEAP32[$pParse>>2]|0; + $519 = ((($518)) + 44|0); + $520 = HEAP32[$519>>2]|0; + $521 = (($520) + 1)|0; + HEAP32[$519>>2] = $521; + HEAP32[$iRowidReg>>2] = $521; + $522 = HEAP32[$v>>2]|0; + $523 = HEAP32[$iCur>>2]|0; + $524 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp2($522,123,$523,$524)|0); + $525 = HEAP32[$pParse>>2]|0; + $526 = HEAP32[$iCur>>2]|0; + $527 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($525,$526,-1,$527); + $528 = HEAP32[$v>>2]|0; + $529 = HEAP32[$testOp>>2]|0; + $530 = HEAP32[$memEndValue>>2]|0; + $531 = HEAP32[$addrBrk>>2]|0; + $532 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp3($528,$529,$530,$531,$532)|0); + $533 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($533,83); break; } } - $504 = HEAP32[$pLoop>>2]|0; - $505 = ((($504)) + 36|0); - $506 = HEAP32[$505>>2]|0; - $507 = $506 & 512; - $508 = ($507|0)!=(0); - $509 = HEAP32[$pLoop>>2]|0; - if (!($508)) { - $999 = ((($509)) + 36|0); - $1000 = HEAP32[$999>>2]|0; - $1001 = $1000 & 8192; - $1002 = ($1001|0)!=(0); - if (!($1002)) { - $1421 = HEAP32[$pTabItem>>2]|0; - $1422 = ((($1421)) + 36|0); - $1423 = ((($1422)) + 1|0); - $1424 = HEAP8[$1423>>0]|0; - $1425 = ($1424&255) >>> 5; - $1426 = $1425 & 1; - $1427 = $1426&255; - $1428 = ($1427|0)!=(0); - if ($1428) { - $1429 = HEAP32[$pLevel>>2]|0; - $1430 = ((($1429)) + 45|0); - HEAP8[$1430>>0] = -97; + $534 = HEAP32[$pLoop>>2]|0; + $535 = ((($534)) + 36|0); + $536 = HEAP32[$535>>2]|0; + $537 = $536 & 512; + $538 = ($537|0)!=(0); + $539 = HEAP32[$pLoop>>2]|0; + if (!($538)) { + $1075 = ((($539)) + 36|0); + $1076 = HEAP32[$1075>>2]|0; + $1077 = $1076 & 8192; + $1078 = ($1077|0)!=(0); + if (!($1078)) { + $1493 = HEAP32[$pTabItem>>2]|0; + $1494 = ((($1493)) + 36|0); + $1495 = ((($1494)) + 1|0); + $1496 = HEAP8[$1495>>0]|0; + $1497 = ($1496&255) >>> 5; + $1498 = $1497 & 1; + $1499 = $1498&255; + $1500 = ($1499|0)!=(0); + if ($1500) { + $1501 = HEAP32[$pLevel>>2]|0; + $1502 = ((($1501)) + 45|0); + HEAP8[$1502>>0] = -95; break; } else { - $1431 = HEAP32[$bRev>>2]|0; - $1432 = (34969 + ($1431)|0); - $1433 = HEAP8[$1432>>0]|0; - $1434 = HEAP32[$pLevel>>2]|0; - $1435 = ((($1434)) + 45|0); - HEAP8[$1435>>0] = $1433; - $1436 = HEAP32[$iCur>>2]|0; - $1437 = HEAP32[$pLevel>>2]|0; - $1438 = ((($1437)) + 48|0); - HEAP32[$1438>>2] = $1436; - $1439 = HEAP32[$v>>2]|0; - $1440 = HEAP32[$bRev>>2]|0; - $1441 = (34971 + ($1440)|0); - $1442 = HEAP8[$1441>>0]|0; - $1443 = $1442&255; - $1444 = HEAP32[$iCur>>2]|0; - $1445 = HEAP32[$addrBrk>>2]|0; - $1446 = (_sqlite3VdbeAddOp2($1439,$1443,$1444,$1445)|0); - $1447 = (1 + ($1446))|0; - $1448 = HEAP32[$pLevel>>2]|0; - $1449 = ((($1448)) + 52|0); - HEAP32[$1449>>2] = $1447; - $1450 = HEAP32[$pLevel>>2]|0; - $1451 = ((($1450)) + 47|0); - HEAP8[$1451>>0] = 1; + $1503 = HEAP32[$bRev>>2]|0; + $1504 = (34448 + ($1503)|0); + $1505 = HEAP8[$1504>>0]|0; + $1506 = HEAP32[$pLevel>>2]|0; + $1507 = ((($1506)) + 45|0); + HEAP8[$1507>>0] = $1505; + $1508 = HEAP32[$iCur>>2]|0; + $1509 = HEAP32[$pLevel>>2]|0; + $1510 = ((($1509)) + 48|0); + HEAP32[$1510>>2] = $1508; + $1511 = HEAP32[$v>>2]|0; + $1512 = HEAP32[$bRev>>2]|0; + $1513 = (34450 + ($1512)|0); + $1514 = HEAP8[$1513>>0]|0; + $1515 = $1514&255; + $1516 = HEAP32[$iCur>>2]|0; + $1517 = HEAP32[$addrBrk>>2]|0; + $1518 = (_sqlite3VdbeAddOp2($1511,$1515,$1516,$1517)|0); + $1519 = (1 + ($1518))|0; + $1520 = HEAP32[$pLevel>>2]|0; + $1521 = ((($1520)) + 52|0); + HEAP32[$1521>>2] = $1519; + $1522 = HEAP32[$pLevel>>2]|0; + $1523 = ((($1522)) + 47|0); + HEAP8[$1523>>0] = 1; break; } } HEAP32[$pCov>>2] = 0; - $1003 = HEAP32[$pParse>>2]|0; - $1004 = ((($1003)) + 72|0); - $1005 = HEAP32[$1004>>2]|0; - $1006 = (($1005) + 1)|0; - HEAP32[$1004>>2] = $1006; - HEAP32[$iCovCur>>2] = $1005; - $1007 = HEAP32[$pParse>>2]|0; - $1008 = ((($1007)) + 76|0); - $1009 = HEAP32[$1008>>2]|0; - $1010 = (($1009) + 1)|0; - HEAP32[$1008>>2] = $1010; - HEAP32[$regReturn>>2] = $1010; + $1079 = HEAP32[$pParse>>2]|0; + $1080 = ((($1079)) + 40|0); + $1081 = HEAP32[$1080>>2]|0; + $1082 = (($1081) + 1)|0; + HEAP32[$1080>>2] = $1082; + HEAP32[$iCovCur>>2] = $1081; + $1083 = HEAP32[$pParse>>2]|0; + $1084 = ((($1083)) + 44|0); + $1085 = HEAP32[$1084>>2]|0; + $1086 = (($1085) + 1)|0; + HEAP32[$1084>>2] = $1086; + HEAP32[$regReturn>>2] = $1086; HEAP32[$regRowset>>2] = 0; HEAP32[$regRowid>>2] = 0; - $1011 = HEAP32[$v>>2]|0; - $1012 = (_sqlite3VdbeMakeLabel($1011)|0); - HEAP32[$iLoopBody>>2] = $1012; + $1087 = HEAP32[$v>>2]|0; + $1088 = (_sqlite3VdbeMakeLabel($1087)|0); + HEAP32[$iLoopBody>>2] = $1088; HEAP32[$untestedTerms>>2] = 0; HEAP32[$pAndExpr>>2] = 0; - $1013 = HEAP32[$pTabItem>>2]|0; - $1014 = ((($1013)) + 16|0); - $1015 = HEAP32[$1014>>2]|0; - HEAP32[$pTab>>2] = $1015; - $1016 = HEAP32[$pLoop>>2]|0; - $1017 = ((($1016)) + 48|0); - $1018 = HEAP32[$1017>>2]|0; - $1019 = HEAP32[$1018>>2]|0; - HEAP32[$pTerm>>2] = $1019; - $1020 = HEAP32[$pTerm>>2]|0; - $1021 = ((($1020)) + 12|0); - $1022 = HEAP32[$1021>>2]|0; - HEAP32[$pOrWc>>2] = $1022; - $1023 = HEAP32[$pLevel>>2]|0; - $1024 = ((($1023)) + 45|0); - HEAP8[$1024>>0] = 70; - $1025 = HEAP32[$regReturn>>2]|0; - $1026 = HEAP32[$pLevel>>2]|0; - $1027 = ((($1026)) + 48|0); - HEAP32[$1027>>2] = $1025; - $1028 = HEAP32[$3>>2]|0; - $1029 = ((($1028)) + 43|0); - $1030 = HEAP8[$1029>>0]|0; - $1031 = $1030&255; - $1032 = ($1031|0)>(1); - $1033 = HEAP32[$3>>2]|0; - L84: do { - if ($1032) { - $1034 = ((($1033)) + 43|0); - $1035 = HEAP8[$1034>>0]|0; - $1036 = $1035&255; - $1037 = HEAP32[$4>>2]|0; - $1038 = (($1036) - ($1037))|0; - $1039 = (($1038) - 1)|0; - HEAP32[$nNotReady>>2] = $1039; - $1040 = HEAP32[$db>>2]|0; - $1041 = HEAP32[$nNotReady>>2]|0; - $1042 = ($1041*72)|0; - $1043 = (80 + ($1042))|0; - $1044 = (_sqlite3DbMallocRaw($1040,$1043,0)|0); - HEAP32[$pOrTab>>2] = $1044; - $1045 = HEAP32[$pOrTab>>2]|0; - $1046 = ($1045|0)==(0|0); - if ($1046) { - $1047 = $5; - $1048 = $1047; - $1049 = HEAP32[$1048>>2]|0; - $1050 = (($1047) + 4)|0; - $1051 = $1050; - $1052 = HEAP32[$1051>>2]|0; - $1053 = $2; - $1054 = $1053; - HEAP32[$1054>>2] = $1049; - $1055 = (($1053) + 4)|0; - $1056 = $1055; - HEAP32[$1056>>2] = $1052; - $1682 = $2; - $1683 = $1682; - $1684 = HEAP32[$1683>>2]|0; - $1685 = (($1682) + 4)|0; - $1686 = $1685; - $1687 = HEAP32[$1686>>2]|0; - tempRet0 = ($1687); - STACKTOP = sp;return ($1684|0); + $1089 = HEAP32[$pTabItem>>2]|0; + $1090 = ((($1089)) + 16|0); + $1091 = HEAP32[$1090>>2]|0; + HEAP32[$pTab>>2] = $1091; + $1092 = HEAP32[$pLoop>>2]|0; + $1093 = ((($1092)) + 48|0); + $1094 = HEAP32[$1093>>2]|0; + $1095 = HEAP32[$1094>>2]|0; + HEAP32[$pTerm>>2] = $1095; + $1096 = HEAP32[$pTerm>>2]|0; + $1097 = ((($1096)) + 28|0); + $1098 = HEAP32[$1097>>2]|0; + HEAP32[$pOrWc>>2] = $1098; + $1099 = HEAP32[$pLevel>>2]|0; + $1100 = ((($1099)) + 45|0); + HEAP8[$1100>>0] = 72; + $1101 = HEAP32[$regReturn>>2]|0; + $1102 = HEAP32[$pLevel>>2]|0; + $1103 = ((($1102)) + 48|0); + HEAP32[$1103>>2] = $1101; + $1104 = HEAP32[$3>>2]|0; + $1105 = ((($1104)) + 42|0); + $1106 = HEAP8[$1105>>0]|0; + $1107 = $1106&255; + $1108 = ($1107|0)>(1); + $1109 = HEAP32[$3>>2]|0; + L91: do { + if ($1108) { + $1110 = ((($1109)) + 42|0); + $1111 = HEAP8[$1110>>0]|0; + $1112 = $1111&255; + $1113 = HEAP32[$4>>2]|0; + $1114 = (($1112) - ($1113))|0; + $1115 = (($1114) - 1)|0; + HEAP32[$nNotReady>>2] = $1115; + $1116 = HEAP32[$db>>2]|0; + $1117 = HEAP32[$nNotReady>>2]|0; + $1118 = ($1117*72)|0; + $1119 = (80 + ($1118))|0; + $1120 = (_sqlite3DbMallocRaw($1116,$1119,0)|0); + HEAP32[$pOrTab>>2] = $1120; + $1121 = HEAP32[$pOrTab>>2]|0; + $1122 = ($1121|0)==(0|0); + if ($1122) { + $1123 = $5; + $1124 = $1123; + $1125 = HEAP32[$1124>>2]|0; + $1126 = (($1123) + 4)|0; + $1127 = $1126; + $1128 = HEAP32[$1127>>2]|0; + $1129 = $2; + $1130 = $1129; + HEAP32[$1130>>2] = $1125; + $1131 = (($1129) + 4)|0; + $1132 = $1131; + HEAP32[$1132>>2] = $1128; + $1745 = $2; + $1746 = $1745; + $1747 = HEAP32[$1746>>2]|0; + $1748 = (($1745) + 4)|0; + $1749 = $1748; + $1750 = HEAP32[$1749>>2]|0; + tempRet0 = ($1750); + STACKTOP = sp;return ($1747|0); } - $1057 = HEAP32[$nNotReady>>2]|0; - $1058 = (($1057) + 1)|0; - $1059 = $1058&255; - $1060 = $1059&255; - $1061 = HEAP32[$pOrTab>>2]|0; - $1062 = ((($1061)) + 4|0); - HEAP32[$1062>>2] = $1060; - $1063 = HEAP32[$pOrTab>>2]|0; - $1064 = ((($1063)) + 4|0); - $1065 = HEAP32[$1064>>2]|0; - $1066 = HEAP32[$pOrTab>>2]|0; - HEAP32[$1066>>2] = $1065; - $1067 = HEAP32[$pOrTab>>2]|0; - $1068 = ((($1067)) + 8|0); - $1069 = HEAP32[$pTabItem>>2]|0; - dest=$1068; src=$1069; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1070 = HEAP32[$3>>2]|0; - $1071 = ((($1070)) + 4|0); - $1072 = HEAP32[$1071>>2]|0; - $1073 = ((($1072)) + 8|0); - HEAP32[$origSrc>>2] = $1073; + $1133 = HEAP32[$nNotReady>>2]|0; + $1134 = (($1133) + 1)|0; + $1135 = $1134&255; + $1136 = $1135&255; + $1137 = HEAP32[$pOrTab>>2]|0; + $1138 = ((($1137)) + 4|0); + HEAP32[$1138>>2] = $1136; + $1139 = HEAP32[$pOrTab>>2]|0; + $1140 = ((($1139)) + 4|0); + $1141 = HEAP32[$1140>>2]|0; + $1142 = HEAP32[$pOrTab>>2]|0; + HEAP32[$1142>>2] = $1141; + $1143 = HEAP32[$pOrTab>>2]|0; + $1144 = ((($1143)) + 8|0); + $1145 = HEAP32[$pTabItem>>2]|0; + dest=$1144; src=$1145; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1146 = HEAP32[$3>>2]|0; + $1147 = ((($1146)) + 4|0); + $1148 = HEAP32[$1147>>2]|0; + $1149 = ((($1148)) + 8|0); + HEAP32[$origSrc>>2] = $1149; HEAP32[$k>>2] = 1; while(1) { - $1074 = HEAP32[$k>>2]|0; - $1075 = HEAP32[$nNotReady>>2]|0; - $1076 = ($1074|0)<=($1075|0); - if (!($1076)) { - break L84; + $1150 = HEAP32[$k>>2]|0; + $1151 = HEAP32[$nNotReady>>2]|0; + $1152 = ($1150|0)<=($1151|0); + if (!($1152)) { + break L91; } - $1077 = HEAP32[$k>>2]|0; - $1078 = HEAP32[$pOrTab>>2]|0; - $1079 = ((($1078)) + 8|0); - $1080 = (($1079) + (($1077*72)|0)|0); - $1081 = HEAP32[$k>>2]|0; - $1082 = HEAP32[$pLevel>>2]|0; - $1083 = (($1082) + (($1081*80)|0)|0); - $1084 = ((($1083)) + 44|0); - $1085 = HEAP8[$1084>>0]|0; - $1086 = $1085&255; - $1087 = HEAP32[$origSrc>>2]|0; - $1088 = (($1087) + (($1086*72)|0)|0); - dest=$1080; src=$1088; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1089 = HEAP32[$k>>2]|0; - $1090 = (($1089) + 1)|0; - HEAP32[$k>>2] = $1090; + $1153 = HEAP32[$k>>2]|0; + $1154 = HEAP32[$pOrTab>>2]|0; + $1155 = ((($1154)) + 8|0); + $1156 = (($1155) + (($1153*72)|0)|0); + $1157 = HEAP32[$k>>2]|0; + $1158 = HEAP32[$pLevel>>2]|0; + $1159 = (($1158) + (($1157*80)|0)|0); + $1160 = ((($1159)) + 44|0); + $1161 = HEAP8[$1160>>0]|0; + $1162 = $1161&255; + $1163 = HEAP32[$origSrc>>2]|0; + $1164 = (($1163) + (($1162*72)|0)|0); + dest=$1156; src=$1164; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1165 = HEAP32[$k>>2]|0; + $1166 = (($1165) + 1)|0; + HEAP32[$k>>2] = $1166; } } else { - $1091 = ((($1033)) + 4|0); - $1092 = HEAP32[$1091>>2]|0; - HEAP32[$pOrTab>>2] = $1092; + $1167 = ((($1109)) + 4|0); + $1168 = HEAP32[$1167>>2]|0; + HEAP32[$pOrTab>>2] = $1168; } } while(0); - $1093 = HEAP32[$3>>2]|0; - $1094 = ((($1093)) + 36|0); - $1095 = HEAP16[$1094>>1]|0; - $1096 = $1095&65535; - $1097 = $1096 & 8; - $1098 = ($1097|0)==(0); - if ($1098) { - $1099 = HEAP32[$pTab>>2]|0; - $1100 = ((($1099)) + 42|0); - $1101 = HEAP8[$1100>>0]|0; - $1102 = $1101&255; - $1103 = $1102 & 32; - $1104 = ($1103|0)==(0); - if ($1104) { - $1105 = HEAP32[$pParse>>2]|0; - $1106 = ((($1105)) + 76|0); - $1107 = HEAP32[$1106>>2]|0; - $1108 = (($1107) + 1)|0; - HEAP32[$1106>>2] = $1108; - HEAP32[$regRowset>>2] = $1108; - $1109 = HEAP32[$v>>2]|0; - $1110 = HEAP32[$regRowset>>2]|0; - (_sqlite3VdbeAddOp2($1109,77,0,$1110)|0); + $1169 = HEAP32[$3>>2]|0; + $1170 = ((($1169)) + 40|0); + $1171 = HEAP16[$1170>>1]|0; + $1172 = $1171&65535; + $1173 = $1172 & 16; + $1174 = ($1173|0)==(0); + if ($1174) { + $1175 = HEAP32[$pTab>>2]|0; + $1176 = ((($1175)) + 42|0); + $1177 = HEAP8[$1176>>0]|0; + $1178 = $1177&255; + $1179 = $1178 & 32; + $1180 = ($1179|0)==(0); + if ($1180) { + $1181 = HEAP32[$pParse>>2]|0; + $1182 = ((($1181)) + 44|0); + $1183 = HEAP32[$1182>>2]|0; + $1184 = (($1183) + 1)|0; + HEAP32[$1182>>2] = $1184; + HEAP32[$regRowset>>2] = $1184; + $1185 = HEAP32[$v>>2]|0; + $1186 = HEAP32[$regRowset>>2]|0; + (_sqlite3VdbeAddOp2($1185,79,0,$1186)|0); } else { - $1111 = HEAP32[$pTab>>2]|0; - $1112 = (_sqlite3PrimaryKeyIndex($1111)|0); - HEAP32[$pPk6>>2] = $1112; - $1113 = HEAP32[$pParse>>2]|0; - $1114 = ((($1113)) + 72|0); - $1115 = HEAP32[$1114>>2]|0; - $1116 = (($1115) + 1)|0; - HEAP32[$1114>>2] = $1116; - HEAP32[$regRowset>>2] = $1115; - $1117 = HEAP32[$v>>2]|0; - $1118 = HEAP32[$regRowset>>2]|0; - $1119 = HEAP32[$pPk6>>2]|0; - $1120 = ((($1119)) + 50|0); - $1121 = HEAP16[$1120>>1]|0; - $1122 = $1121&65535; - (_sqlite3VdbeAddOp2($1117,105,$1118,$1122)|0); - $1123 = HEAP32[$pParse>>2]|0; - $1124 = HEAP32[$pPk6>>2]|0; - _sqlite3VdbeSetP4KeyInfo($1123,$1124); - } - $1125 = HEAP32[$pParse>>2]|0; - $1126 = ((($1125)) + 76|0); - $1127 = HEAP32[$1126>>2]|0; - $1128 = (($1127) + 1)|0; - HEAP32[$1126>>2] = $1128; - HEAP32[$regRowid>>2] = $1128; - } - $1129 = HEAP32[$v>>2]|0; - $1130 = HEAP32[$regReturn>>2]|0; - $1131 = (_sqlite3VdbeAddOp2($1129,74,0,$1130)|0); - HEAP32[$iRetInit>>2] = $1131; - $1132 = HEAP32[$pWC>>2]|0; - $1133 = ((($1132)) + 12|0); - $1134 = HEAP32[$1133>>2]|0; - $1135 = ($1134|0)>(1); - if ($1135) { + $1187 = HEAP32[$pTab>>2]|0; + $1188 = (_sqlite3PrimaryKeyIndex($1187)|0); + HEAP32[$pPk9>>2] = $1188; + $1189 = HEAP32[$pParse>>2]|0; + $1190 = ((($1189)) + 40|0); + $1191 = HEAP32[$1190>>2]|0; + $1192 = (($1191) + 1)|0; + HEAP32[$1190>>2] = $1192; + HEAP32[$regRowset>>2] = $1191; + $1193 = HEAP32[$v>>2]|0; + $1194 = HEAP32[$regRowset>>2]|0; + $1195 = HEAP32[$pPk9>>2]|0; + $1196 = ((($1195)) + 50|0); + $1197 = HEAP16[$1196>>1]|0; + $1198 = $1197&65535; + (_sqlite3VdbeAddOp2($1193,107,$1194,$1198)|0); + $1199 = HEAP32[$pParse>>2]|0; + $1200 = HEAP32[$pPk9>>2]|0; + _sqlite3VdbeSetP4KeyInfo($1199,$1200); + } + $1201 = HEAP32[$pParse>>2]|0; + $1202 = ((($1201)) + 44|0); + $1203 = HEAP32[$1202>>2]|0; + $1204 = (($1203) + 1)|0; + HEAP32[$1202>>2] = $1204; + HEAP32[$regRowid>>2] = $1204; + } + $1205 = HEAP32[$v>>2]|0; + $1206 = HEAP32[$regReturn>>2]|0; + $1207 = (_sqlite3VdbeAddOp2($1205,76,0,$1206)|0); + HEAP32[$iRetInit>>2] = $1207; + $1208 = HEAP32[$pWC>>2]|0; + $1209 = ((($1208)) + 12|0); + $1210 = HEAP32[$1209>>2]|0; + $1211 = ($1210|0)>(1); + if ($1211) { HEAP32[$iTerm>>2] = 0; while(1) { - $1136 = HEAP32[$iTerm>>2]|0; - $1137 = HEAP32[$pWC>>2]|0; - $1138 = ((($1137)) + 12|0); - $1139 = HEAP32[$1138>>2]|0; - $1140 = ($1136|0)<($1139|0); - if (!($1140)) { + $1212 = HEAP32[$iTerm>>2]|0; + $1213 = HEAP32[$pWC>>2]|0; + $1214 = ((($1213)) + 12|0); + $1215 = HEAP32[$1214>>2]|0; + $1216 = ($1212|0)<($1215|0); + if (!($1216)) { break; } - $1141 = HEAP32[$iTerm>>2]|0; - $1142 = HEAP32[$pWC>>2]|0; - $1143 = ((($1142)) + 20|0); - $1144 = HEAP32[$1143>>2]|0; - $1145 = (($1144) + (($1141*48)|0)|0); - $1146 = HEAP32[$1145>>2]|0; - HEAP32[$pExpr>>2] = $1146; - $1147 = HEAP32[$iTerm>>2]|0; - $1148 = HEAP32[$pWC>>2]|0; - $1149 = ((($1148)) + 20|0); - $1150 = HEAP32[$1149>>2]|0; - $1151 = (($1150) + (($1147*48)|0)|0); - $1152 = HEAP32[$pTerm>>2]|0; - $1153 = ($1151|0)==($1152|0); + $1217 = HEAP32[$iTerm>>2]|0; + $1218 = HEAP32[$pWC>>2]|0; + $1219 = ((($1218)) + 20|0); + $1220 = HEAP32[$1219>>2]|0; + $1221 = (($1220) + (($1217*48)|0)|0); + $1222 = HEAP32[$1221>>2]|0; + HEAP32[$pExpr>>2] = $1222; + $1223 = HEAP32[$iTerm>>2]|0; + $1224 = HEAP32[$pWC>>2]|0; + $1225 = ((($1224)) + 20|0); + $1226 = HEAP32[$1225>>2]|0; + $1227 = (($1226) + (($1223*48)|0)|0); + $1228 = HEAP32[$pTerm>>2]|0; + $1229 = ($1227|0)==($1228|0); do { - if (!($1153)) { - $1154 = HEAP32[$pExpr>>2]|0; - $1155 = ((($1154)) + 4|0); - $1156 = HEAP32[$1155>>2]|0; - $1157 = $1156 & 1; - $1158 = ($1157|0)!=(0); - if (!($1158)) { - $1159 = HEAP32[$iTerm>>2]|0; - $1160 = HEAP32[$pWC>>2]|0; - $1161 = ((($1160)) + 20|0); - $1162 = HEAP32[$1161>>2]|0; - $1163 = (($1162) + (($1159*48)|0)|0); - $1164 = ((($1163)) + 20|0); - $1165 = HEAP16[$1164>>1]|0; - $1166 = $1165&65535; - $1167 = $1166 & 6; - $1168 = ($1167|0)!=(0); - if (!($1168)) { - $1169 = HEAP32[$iTerm>>2]|0; - $1170 = HEAP32[$pWC>>2]|0; - $1171 = ((($1170)) + 20|0); - $1172 = HEAP32[$1171>>2]|0; - $1173 = (($1172) + (($1169*48)|0)|0); - $1174 = ((($1173)) + 18|0); - $1175 = HEAP16[$1174>>1]|0; - $1176 = $1175&65535; - $1177 = $1176 & 8191; - $1178 = ($1177|0)==(0); - if ($1178) { + if (!($1229)) { + $1230 = HEAP32[$pExpr>>2]|0; + $1231 = ((($1230)) + 4|0); + $1232 = HEAP32[$1231>>2]|0; + $1233 = $1232 & 1; + $1234 = ($1233|0)!=(0); + if (!($1234)) { + $1235 = HEAP32[$iTerm>>2]|0; + $1236 = HEAP32[$pWC>>2]|0; + $1237 = ((($1236)) + 20|0); + $1238 = HEAP32[$1237>>2]|0; + $1239 = (($1238) + (($1235*48)|0)|0); + $1240 = ((($1239)) + 10|0); + $1241 = HEAP16[$1240>>1]|0; + $1242 = $1241&65535; + $1243 = $1242 & 6; + $1244 = ($1243|0)!=(0); + if (!($1244)) { + $1245 = HEAP32[$iTerm>>2]|0; + $1246 = HEAP32[$pWC>>2]|0; + $1247 = ((($1246)) + 20|0); + $1248 = HEAP32[$1247>>2]|0; + $1249 = (($1248) + (($1245*48)|0)|0); + $1250 = ((($1249)) + 12|0); + $1251 = HEAP16[$1250>>1]|0; + $1252 = $1251&65535; + $1253 = $1252 & 8191; + $1254 = ($1253|0)==(0); + if ($1254) { break; } - $1179 = HEAP32[$db>>2]|0; - $1180 = HEAP32[$pExpr>>2]|0; - $1181 = (_sqlite3ExprDup($1179,$1180,0)|0); - HEAP32[$pExpr>>2] = $1181; - $1182 = HEAP32[$db>>2]|0; - $1183 = HEAP32[$pAndExpr>>2]|0; - $1184 = HEAP32[$pExpr>>2]|0; - $1185 = (_sqlite3ExprAnd($1182,$1183,$1184)|0); - HEAP32[$pAndExpr>>2] = $1185; + $1255 = HEAP32[$db>>2]|0; + $1256 = HEAP32[$pExpr>>2]|0; + $1257 = (_sqlite3ExprDup($1255,$1256,0)|0); + HEAP32[$pExpr>>2] = $1257; + $1258 = HEAP32[$db>>2]|0; + $1259 = HEAP32[$pAndExpr>>2]|0; + $1260 = HEAP32[$pExpr>>2]|0; + $1261 = (_sqlite3ExprAnd($1258,$1259,$1260)|0); + HEAP32[$pAndExpr>>2] = $1261; } } } } while(0); - $1186 = HEAP32[$iTerm>>2]|0; - $1187 = (($1186) + 1)|0; - HEAP32[$iTerm>>2] = $1187; - } - $1188 = HEAP32[$pAndExpr>>2]|0; - $1189 = ($1188|0)!=(0|0); - if ($1189) { - $1190 = HEAP32[$pParse>>2]|0; - $1191 = HEAP32[$pAndExpr>>2]|0; - $1192 = (_sqlite3PExpr($1190,284,0,$1191,0)|0); - HEAP32[$pAndExpr>>2] = $1192; - } - } - $1193 = HEAP32[$3>>2]|0; - $1194 = ((($1193)) + 36|0); - $1195 = HEAP16[$1194>>1]|0; - $1196 = $1195&65535; - $1197 = $1196 & 32768; - $1198 = 240 | $1197; - $1199 = $1198&65535; - HEAP16[$wctrlFlags>>1] = $1199; + $1262 = HEAP32[$iTerm>>2]|0; + $1263 = (($1262) + 1)|0; + HEAP32[$iTerm>>2] = $1263; + } + $1264 = HEAP32[$pAndExpr>>2]|0; + $1265 = ($1264|0)!=(0|0); + if ($1265) { + $1266 = HEAP32[$pParse>>2]|0; + $1267 = HEAP32[$pAndExpr>>2]|0; + $1268 = (_sqlite3PExpr($1266,284,0,$1267,0)|0); + HEAP32[$pAndExpr>>2] = $1268; + } + } + $1269 = HEAP32[$3>>2]|0; + $1270 = ((($1269)) + 40|0); + $1271 = HEAP16[$1270>>1]|0; + $1272 = $1271&65535; + $1273 = $1272 & 1024; + $1274 = 32 | $1273; + $1275 = $1274&65535; + HEAP16[$wctrlFlags>>1] = $1275; HEAP32[$ii>>2] = 0; while(1) { - $1200 = HEAP32[$ii>>2]|0; - $1201 = HEAP32[$pOrWc>>2]|0; - $1202 = ((($1201)) + 12|0); - $1203 = HEAP32[$1202>>2]|0; - $1204 = ($1200|0)<($1203|0); - if (!($1204)) { + $1276 = HEAP32[$ii>>2]|0; + $1277 = HEAP32[$pOrWc>>2]|0; + $1278 = ((($1277)) + 12|0); + $1279 = HEAP32[$1278>>2]|0; + $1280 = ($1276|0)<($1279|0); + if (!($1280)) { break; } - $1205 = HEAP32[$ii>>2]|0; - $1206 = HEAP32[$pOrWc>>2]|0; - $1207 = ((($1206)) + 20|0); - $1208 = HEAP32[$1207>>2]|0; - $1209 = (($1208) + (($1205*48)|0)|0); - HEAP32[$pOrTerm>>2] = $1209; - $1210 = HEAP32[$pOrTerm>>2]|0; - $1211 = ((($1210)) + 8|0); - $1212 = HEAP32[$1211>>2]|0; - $1213 = HEAP32[$iCur>>2]|0; - $1214 = ($1212|0)==($1213|0); - if ($1214) { - label = 153; + $1281 = HEAP32[$ii>>2]|0; + $1282 = HEAP32[$pOrWc>>2]|0; + $1283 = ((($1282)) + 20|0); + $1284 = HEAP32[$1283>>2]|0; + $1285 = (($1284) + (($1281*48)|0)|0); + HEAP32[$pOrTerm>>2] = $1285; + $1286 = HEAP32[$pOrTerm>>2]|0; + $1287 = ((($1286)) + 20|0); + $1288 = HEAP32[$1287>>2]|0; + $1289 = HEAP32[$iCur>>2]|0; + $1290 = ($1288|0)==($1289|0); + if ($1290) { + label = 167; } else { - $1215 = HEAP32[$pOrTerm>>2]|0; - $1216 = ((($1215)) + 18|0); - $1217 = HEAP16[$1216>>1]|0; - $1218 = $1217&65535; - $1219 = $1218 & 1024; - $1220 = ($1219|0)!=(0); - if ($1220) { - label = 153; + $1291 = HEAP32[$pOrTerm>>2]|0; + $1292 = ((($1291)) + 12|0); + $1293 = HEAP16[$1292>>1]|0; + $1294 = $1293&65535; + $1295 = $1294 & 1024; + $1296 = ($1295|0)!=(0); + if ($1296) { + label = 167; } } - if ((label|0) == 153) { + if ((label|0) == 167) { label = 0; - $1221 = HEAP32[$pOrTerm>>2]|0; - $1222 = HEAP32[$1221>>2]|0; - HEAP32[$pOrExpr>>2] = $1222; + $1297 = HEAP32[$pOrTerm>>2]|0; + $1298 = HEAP32[$1297>>2]|0; + HEAP32[$pOrExpr>>2] = $1298; HEAP32[$jmp1>>2] = 0; - $1223 = HEAP32[$pAndExpr>>2]|0; - $1224 = ($1223|0)!=(0|0); - if ($1224) { - $1225 = HEAP32[$pOrExpr>>2]|0; - $1226 = ((($1225)) + 4|0); - $1227 = HEAP32[$1226>>2]|0; - $1228 = $1227 & 1; - $1229 = ($1228|0)!=(0); - if (!($1229)) { - $1230 = HEAP32[$pOrExpr>>2]|0; - $1231 = HEAP32[$pAndExpr>>2]|0; - $1232 = ((($1231)) + 12|0); - HEAP32[$1232>>2] = $1230; - $1233 = HEAP32[$pAndExpr>>2]|0; - HEAP32[$pOrExpr>>2] = $1233; + $1299 = HEAP32[$pAndExpr>>2]|0; + $1300 = ($1299|0)!=(0|0); + if ($1300) { + $1301 = HEAP32[$pOrExpr>>2]|0; + $1302 = ((($1301)) + 4|0); + $1303 = HEAP32[$1302>>2]|0; + $1304 = $1303 & 1; + $1305 = ($1304|0)!=(0); + if (!($1305)) { + $1306 = HEAP32[$pOrExpr>>2]|0; + $1307 = HEAP32[$pAndExpr>>2]|0; + $1308 = ((($1307)) + 12|0); + HEAP32[$1308>>2] = $1306; + $1309 = HEAP32[$pAndExpr>>2]|0; + HEAP32[$pOrExpr>>2] = $1309; } } - $1234 = HEAP32[$pParse>>2]|0; - $1235 = HEAP32[$pOrTab>>2]|0; - $1236 = HEAP32[$pOrExpr>>2]|0; - $1237 = HEAP16[$wctrlFlags>>1]|0; - $1238 = HEAP32[$iCovCur>>2]|0; - $1239 = (_sqlite3WhereBegin($1234,$1235,$1236,0,0,$1237,$1238)|0); - HEAP32[$pSubWInfo>>2] = $1239; - $1240 = HEAP32[$pSubWInfo>>2]|0; - $1241 = ($1240|0)!=(0|0); - if ($1241) { - $1242 = HEAP32[$pParse>>2]|0; - $1243 = HEAP32[$pOrTab>>2]|0; - $1244 = HEAP32[$pSubWInfo>>2]|0; - $1245 = ((($1244)) + 736|0); - $1246 = HEAP32[$4>>2]|0; - $1247 = HEAP32[$pLevel>>2]|0; - $1248 = ((($1247)) + 44|0); - $1249 = HEAP8[$1248>>0]|0; - $1250 = $1249&255; - $1251 = (_sqlite3WhereExplainOneScan($1242,$1243,$1245,$1246,$1250,0)|0); - HEAP32[$addrExplain>>2] = $1251; - $1252 = HEAP32[$3>>2]|0; - $1253 = ((($1252)) + 36|0); - $1254 = HEAP16[$1253>>1]|0; - $1255 = $1254&65535; - $1256 = $1255 & 8; - $1257 = ($1256|0)==(0); + $1310 = HEAP32[$pParse>>2]|0; + $1311 = HEAP32[$pOrTab>>2]|0; + $1312 = HEAP32[$pOrExpr>>2]|0; + $1313 = HEAP16[$wctrlFlags>>1]|0; + $1314 = HEAP32[$iCovCur>>2]|0; + $1315 = (_sqlite3WhereBegin($1310,$1311,$1312,0,0,$1313,$1314)|0); + HEAP32[$pSubWInfo>>2] = $1315; + $1316 = HEAP32[$pSubWInfo>>2]|0; + $1317 = ($1316|0)!=(0|0); + if ($1317) { + $1318 = HEAP32[$pParse>>2]|0; + $1319 = HEAP32[$pOrTab>>2]|0; + $1320 = HEAP32[$pSubWInfo>>2]|0; + $1321 = ((($1320)) + 752|0); + $1322 = HEAP32[$4>>2]|0; + $1323 = HEAP32[$pLevel>>2]|0; + $1324 = ((($1323)) + 44|0); + $1325 = HEAP8[$1324>>0]|0; + $1326 = $1325&255; + $1327 = (_sqlite3WhereExplainOneScan($1318,$1319,$1321,$1322,$1326,0)|0); + HEAP32[$addrExplain>>2] = $1327; + $1328 = HEAP32[$3>>2]|0; + $1329 = ((($1328)) + 40|0); + $1330 = HEAP16[$1329>>1]|0; + $1331 = $1330&65535; + $1332 = $1331 & 16; + $1333 = ($1332|0)==(0); do { - if ($1257) { - $1258 = HEAP32[$ii>>2]|0; - $1259 = HEAP32[$pOrWc>>2]|0; - $1260 = ((($1259)) + 12|0); - $1261 = HEAP32[$1260>>2]|0; - $1262 = (($1261) - 1)|0; - $1263 = ($1258|0)==($1262|0); - $1264 = HEAP32[$ii>>2]|0; - $1265 = $1263 ? -1 : $1264; - HEAP32[$iSet>>2] = $1265; - $1266 = HEAP32[$pTab>>2]|0; - $1267 = ((($1266)) + 42|0); - $1268 = HEAP8[$1267>>0]|0; - $1269 = $1268&255; - $1270 = $1269 & 32; - $1271 = ($1270|0)==(0); - if ($1271) { - $1272 = HEAP32[$pParse>>2]|0; - $1273 = HEAP32[$pTab>>2]|0; - $1274 = HEAP32[$iCur>>2]|0; - $1275 = HEAP32[$regRowid>>2]|0; - $1276 = (_sqlite3ExprCodeGetColumn($1272,$1273,-1,$1274,$1275,0)|0); - HEAP32[$r>>2] = $1276; - $1277 = HEAP32[$v>>2]|0; - $1278 = HEAP32[$regRowset>>2]|0; - $1279 = HEAP32[$r>>2]|0; - $1280 = HEAP32[$iSet>>2]|0; - $1281 = (_sqlite3VdbeAddOp4Int($1277,61,$1278,0,$1279,$1280)|0); - HEAP32[$jmp1>>2] = $1281; + if ($1333) { + $1334 = HEAP32[$ii>>2]|0; + $1335 = HEAP32[$pOrWc>>2]|0; + $1336 = ((($1335)) + 12|0); + $1337 = HEAP32[$1336>>2]|0; + $1338 = (($1337) - 1)|0; + $1339 = ($1334|0)==($1338|0); + $1340 = HEAP32[$ii>>2]|0; + $1341 = $1339 ? -1 : $1340; + HEAP32[$iSet>>2] = $1341; + $1342 = HEAP32[$pTab>>2]|0; + $1343 = ((($1342)) + 42|0); + $1344 = HEAP8[$1343>>0]|0; + $1345 = $1344&255; + $1346 = $1345 & 32; + $1347 = ($1346|0)==(0); + if ($1347) { + $1348 = HEAP32[$pParse>>2]|0; + $1349 = HEAP32[$pTab>>2]|0; + $1350 = HEAP32[$iCur>>2]|0; + $1351 = HEAP32[$regRowid>>2]|0; + $1352 = (_sqlite3ExprCodeGetColumn($1348,$1349,-1,$1350,$1351,0)|0); + HEAP32[$r>>2] = $1352; + $1353 = HEAP32[$v>>2]|0; + $1354 = HEAP32[$regRowset>>2]|0; + $1355 = HEAP32[$r>>2]|0; + $1356 = HEAP32[$iSet>>2]|0; + $1357 = (_sqlite3VdbeAddOp4Int($1353,63,$1354,0,$1355,$1356)|0); + HEAP32[$jmp1>>2] = $1357; break; } - $1282 = HEAP32[$pTab>>2]|0; - $1283 = (_sqlite3PrimaryKeyIndex($1282)|0); - HEAP32[$pPk7>>2] = $1283; - $1284 = HEAP32[$pPk7>>2]|0; - $1285 = ((($1284)) + 50|0); - $1286 = HEAP16[$1285>>1]|0; - $1287 = $1286&65535; - HEAP32[$nPk>>2] = $1287; - $1288 = HEAP32[$pParse>>2]|0; - $1289 = HEAP32[$nPk>>2]|0; - $1290 = (_sqlite3GetTempRange($1288,$1289)|0); - HEAP32[$r>>2] = $1290; + $1358 = HEAP32[$pTab>>2]|0; + $1359 = (_sqlite3PrimaryKeyIndex($1358)|0); + HEAP32[$pPk10>>2] = $1359; + $1360 = HEAP32[$pPk10>>2]|0; + $1361 = ((($1360)) + 50|0); + $1362 = HEAP16[$1361>>1]|0; + $1363 = $1362&65535; + HEAP32[$nPk>>2] = $1363; + $1364 = HEAP32[$pParse>>2]|0; + $1365 = HEAP32[$nPk>>2]|0; + $1366 = (_sqlite3GetTempRange($1364,$1365)|0); + HEAP32[$r>>2] = $1366; HEAP32[$iPk>>2] = 0; while(1) { - $1291 = HEAP32[$iPk>>2]|0; - $1292 = HEAP32[$nPk>>2]|0; - $1293 = ($1291|0)<($1292|0); - if (!($1293)) { + $1367 = HEAP32[$iPk>>2]|0; + $1368 = HEAP32[$nPk>>2]|0; + $1369 = ($1367|0)<($1368|0); + if (!($1369)) { break; } - $1294 = HEAP32[$iPk>>2]|0; - $1295 = HEAP32[$pPk7>>2]|0; - $1296 = ((($1295)) + 4|0); - $1297 = HEAP32[$1296>>2]|0; - $1298 = (($1297) + ($1294<<1)|0); - $1299 = HEAP16[$1298>>1]|0; - $1300 = $1299 << 16 >> 16; - HEAP32[$iCol>>2] = $1300; - $1301 = HEAP32[$pParse>>2]|0; - $1302 = HEAP32[$pTab>>2]|0; - $1303 = HEAP32[$iCol>>2]|0; - $1304 = HEAP32[$iCur>>2]|0; - $1305 = HEAP32[$r>>2]|0; - $1306 = HEAP32[$iPk>>2]|0; - $1307 = (($1305) + ($1306))|0; - _sqlite3ExprCodeGetColumnToReg($1301,$1302,$1303,$1304,$1307); - $1308 = HEAP32[$iPk>>2]|0; - $1309 = (($1308) + 1)|0; - HEAP32[$iPk>>2] = $1309; + $1370 = HEAP32[$iPk>>2]|0; + $1371 = HEAP32[$pPk10>>2]|0; + $1372 = ((($1371)) + 4|0); + $1373 = HEAP32[$1372>>2]|0; + $1374 = (($1373) + ($1370<<1)|0); + $1375 = HEAP16[$1374>>1]|0; + $1376 = $1375 << 16 >> 16; + HEAP32[$iCol>>2] = $1376; + $1377 = HEAP32[$pParse>>2]|0; + $1378 = HEAP32[$pTab>>2]|0; + $1379 = HEAP32[$iCol>>2]|0; + $1380 = HEAP32[$iCur>>2]|0; + $1381 = HEAP32[$r>>2]|0; + $1382 = HEAP32[$iPk>>2]|0; + $1383 = (($1381) + ($1382))|0; + _sqlite3ExprCodeGetColumnToReg($1377,$1378,$1379,$1380,$1383); + $1384 = HEAP32[$iPk>>2]|0; + $1385 = (($1384) + 1)|0; + HEAP32[$iPk>>2] = $1385; } - $1310 = HEAP32[$iSet>>2]|0; - $1311 = ($1310|0)!=(0); - if ($1311) { - $1312 = HEAP32[$v>>2]|0; - $1313 = HEAP32[$regRowset>>2]|0; - $1314 = HEAP32[$r>>2]|0; - $1315 = HEAP32[$nPk>>2]|0; - $1316 = (_sqlite3VdbeAddOp4Int($1312,31,$1313,0,$1314,$1315)|0); - HEAP32[$jmp1>>2] = $1316; + $1386 = HEAP32[$iSet>>2]|0; + $1387 = ($1386|0)!=(0); + if ($1387) { + $1388 = HEAP32[$v>>2]|0; + $1389 = HEAP32[$regRowset>>2]|0; + $1390 = HEAP32[$r>>2]|0; + $1391 = HEAP32[$nPk>>2]|0; + $1392 = (_sqlite3VdbeAddOp4Int($1388,31,$1389,0,$1390,$1391)|0); + HEAP32[$jmp1>>2] = $1392; } - $1317 = HEAP32[$iSet>>2]|0; - $1318 = ($1317|0)>=(0); + $1393 = HEAP32[$iSet>>2]|0; + $1394 = ($1393|0)>=(0); do { - if ($1318) { - $1319 = HEAP32[$v>>2]|0; - $1320 = HEAP32[$r>>2]|0; - $1321 = HEAP32[$nPk>>2]|0; - $1322 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1319,96,$1320,$1321,$1322)|0); - $1323 = HEAP32[$v>>2]|0; - $1324 = HEAP32[$regRowset>>2]|0; - $1325 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1323,124,$1324,$1325,0)|0); - $1326 = HEAP32[$iSet>>2]|0; - $1327 = ($1326|0)!=(0); - if (!($1327)) { + if ($1394) { + $1395 = HEAP32[$v>>2]|0; + $1396 = HEAP32[$r>>2]|0; + $1397 = HEAP32[$nPk>>2]|0; + $1398 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($1395,99,$1396,$1397,$1398)|0); + $1399 = HEAP32[$v>>2]|0; + $1400 = HEAP32[$regRowset>>2]|0; + $1401 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($1399,126,$1400,$1401,0)|0); + $1402 = HEAP32[$iSet>>2]|0; + $1403 = ($1402|0)!=(0); + if (!($1403)) { break; } - $1328 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1328,16); + $1404 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($1404,16); } } while(0); - $1329 = HEAP32[$pParse>>2]|0; - $1330 = HEAP32[$r>>2]|0; - $1331 = HEAP32[$nPk>>2]|0; - _sqlite3ReleaseTempRange($1329,$1330,$1331); + $1405 = HEAP32[$pParse>>2]|0; + $1406 = HEAP32[$r>>2]|0; + $1407 = HEAP32[$nPk>>2]|0; + _sqlite3ReleaseTempRange($1405,$1406,$1407); } } while(0); - $1332 = HEAP32[$v>>2]|0; - $1333 = HEAP32[$regReturn>>2]|0; - $1334 = HEAP32[$iLoopBody>>2]|0; - (_sqlite3VdbeAddOp2($1332,14,$1333,$1334)|0); - $1335 = HEAP32[$jmp1>>2]|0; - $1336 = ($1335|0)!=(0); - if ($1336) { - $1337 = HEAP32[$v>>2]|0; - $1338 = HEAP32[$jmp1>>2]|0; - _sqlite3VdbeJumpHere($1337,$1338); + $1408 = HEAP32[$v>>2]|0; + $1409 = HEAP32[$regReturn>>2]|0; + $1410 = HEAP32[$iLoopBody>>2]|0; + (_sqlite3VdbeAddOp2($1408,14,$1409,$1410)|0); + $1411 = HEAP32[$jmp1>>2]|0; + $1412 = ($1411|0)!=(0); + if ($1412) { + $1413 = HEAP32[$v>>2]|0; + $1414 = HEAP32[$jmp1>>2]|0; + _sqlite3VdbeJumpHere($1413,$1414); } - $1339 = HEAP32[$pSubWInfo>>2]|0; - $1340 = ((($1339)) + 41|0); - $1341 = HEAP8[$1340>>0]|0; - $1342 = ($1341<<24>>24)!=(0); - if ($1342) { + $1415 = HEAP32[$pSubWInfo>>2]|0; + $1416 = ((($1415)) + 46|0); + $1417 = HEAP8[$1416>>0]|0; + $1418 = ($1417<<24>>24)!=(0); + if ($1418) { HEAP32[$untestedTerms>>2] = 1; } - $1343 = HEAP32[$pSubWInfo>>2]|0; - $1344 = ((($1343)) + 736|0); - $1345 = ((($1344)) + 64|0); - $1346 = HEAP32[$1345>>2]|0; - HEAP32[$pSubLoop>>2] = $1346; - $1347 = HEAP32[$pSubLoop>>2]|0; - $1348 = ((($1347)) + 36|0); - $1349 = HEAP32[$1348>>2]|0; - $1350 = $1349 & 512; - $1351 = ($1350|0)!=(0); + $1419 = HEAP32[$pSubWInfo>>2]|0; + $1420 = ((($1419)) + 752|0); + $1421 = ((($1420)) + 64|0); + $1422 = HEAP32[$1421>>2]|0; + HEAP32[$pSubLoop>>2] = $1422; + $1423 = HEAP32[$pSubLoop>>2]|0; + $1424 = ((($1423)) + 36|0); + $1425 = HEAP32[$1424>>2]|0; + $1426 = $1425 & 512; + $1427 = ($1426|0)!=(0); do { - if ($1351) { - $1352 = HEAP32[$ii>>2]|0; - $1353 = ($1352|0)==(0); - if (!($1353)) { - $1354 = HEAP32[$pSubLoop>>2]|0; - $1355 = ((($1354)) + 24|0); - $1356 = ((($1355)) + 4|0); - $1357 = HEAP32[$1356>>2]|0; - $1358 = HEAP32[$pCov>>2]|0; - $1359 = ($1357|0)==($1358|0); - if (!($1359)) { - label = 179; + if ($1427) { + $1428 = HEAP32[$ii>>2]|0; + $1429 = ($1428|0)==(0); + if (!($1429)) { + $1430 = HEAP32[$pSubLoop>>2]|0; + $1431 = ((($1430)) + 24|0); + $1432 = ((($1431)) + 8|0); + $1433 = HEAP32[$1432>>2]|0; + $1434 = HEAP32[$pCov>>2]|0; + $1435 = ($1433|0)==($1434|0); + if (!($1435)) { + label = 193; break; } } - $1360 = HEAP32[$pTab>>2]|0; - $1361 = ((($1360)) + 42|0); - $1362 = HEAP8[$1361>>0]|0; - $1363 = $1362&255; - $1364 = $1363 & 32; - $1365 = ($1364|0)==(0); - if (!($1365)) { - $1366 = HEAP32[$pSubLoop>>2]|0; - $1367 = ((($1366)) + 24|0); - $1368 = ((($1367)) + 4|0); - $1369 = HEAP32[$1368>>2]|0; - $1370 = ((($1369)) + 55|0); - $1371 = HEAP8[$1370>>0]|0; - $1372 = $1371 & 3; - $1373 = $1372&255; - $1374 = ($1373|0)==(2); - if ($1374) { - label = 179; + $1436 = HEAP32[$pTab>>2]|0; + $1437 = ((($1436)) + 42|0); + $1438 = HEAP8[$1437>>0]|0; + $1439 = $1438&255; + $1440 = $1439 & 32; + $1441 = ($1440|0)==(0); + if (!($1441)) { + $1442 = HEAP32[$pSubLoop>>2]|0; + $1443 = ((($1442)) + 24|0); + $1444 = ((($1443)) + 8|0); + $1445 = HEAP32[$1444>>2]|0; + $1446 = ((($1445)) + 55|0); + $1447 = HEAP8[$1446>>0]|0; + $1448 = $1447 & 3; + $1449 = $1448&255; + $1450 = ($1449|0)==(2); + if ($1450) { + label = 193; break; } } - $1375 = HEAP32[$pSubLoop>>2]|0; - $1376 = ((($1375)) + 24|0); - $1377 = ((($1376)) + 4|0); - $1378 = HEAP32[$1377>>2]|0; - HEAP32[$pCov>>2] = $1378; - $1379 = HEAP16[$wctrlFlags>>1]|0; - $1380 = $1379&65535; - $1381 = $1380 | 4096; - $1382 = $1381&65535; - HEAP16[$wctrlFlags>>1] = $1382; + $1451 = HEAP32[$pSubLoop>>2]|0; + $1452 = ((($1451)) + 24|0); + $1453 = ((($1452)) + 8|0); + $1454 = HEAP32[$1453>>2]|0; + HEAP32[$pCov>>2] = $1454; } else { - label = 179; + label = 193; } } while(0); - if ((label|0) == 179) { + if ((label|0) == 193) { label = 0; HEAP32[$pCov>>2] = 0; } - $1383 = HEAP32[$pSubWInfo>>2]|0; - _sqlite3WhereEnd($1383); + $1455 = HEAP32[$pSubWInfo>>2]|0; + _sqlite3WhereEnd($1455); } } - $1384 = HEAP32[$ii>>2]|0; - $1385 = (($1384) + 1)|0; - HEAP32[$ii>>2] = $1385; - } - $1386 = HEAP32[$pCov>>2]|0; - $1387 = HEAP32[$pLevel>>2]|0; - $1388 = ((($1387)) + 56|0); - HEAP32[$1388>>2] = $1386; - $1389 = HEAP32[$pCov>>2]|0; - $1390 = ($1389|0)!=(0|0); - if ($1390) { - $1391 = HEAP32[$iCovCur>>2]|0; - $1392 = HEAP32[$pLevel>>2]|0; - $1393 = ((($1392)) + 8|0); - HEAP32[$1393>>2] = $1391; - } - $1394 = HEAP32[$pAndExpr>>2]|0; - $1395 = ($1394|0)!=(0|0); - if ($1395) { - $1396 = HEAP32[$pAndExpr>>2]|0; - $1397 = ((($1396)) + 12|0); - HEAP32[$1397>>2] = 0; - $1398 = HEAP32[$db>>2]|0; - $1399 = HEAP32[$pAndExpr>>2]|0; - _sqlite3ExprDelete($1398,$1399); - } - $1400 = HEAP32[$v>>2]|0; - $1401 = HEAP32[$iRetInit>>2]|0; - $1402 = HEAP32[$v>>2]|0; - $1403 = (_sqlite3VdbeCurrentAddr($1402)|0); - _sqlite3VdbeChangeP1($1400,$1401,$1403); - $1404 = HEAP32[$v>>2]|0; - $1405 = HEAP32[$pLevel>>2]|0; - $1406 = ((($1405)) + 12|0); - $1407 = HEAP32[$1406>>2]|0; - (_sqlite3VdbeGoto($1404,$1407)|0); - $1408 = HEAP32[$v>>2]|0; - $1409 = HEAP32[$iLoopBody>>2]|0; - _sqlite3VdbeResolveLabel($1408,$1409); - $1410 = HEAP32[$3>>2]|0; - $1411 = ((($1410)) + 43|0); - $1412 = HEAP8[$1411>>0]|0; - $1413 = $1412&255; - $1414 = ($1413|0)>(1); - if ($1414) { - $1415 = HEAP32[$db>>2]|0; - $1416 = HEAP32[$pOrTab>>2]|0; - _sqlite3DbFree($1415,$1416); - } - $1417 = HEAP32[$untestedTerms>>2]|0; - $1418 = ($1417|0)!=(0); - if ($1418) { + $1456 = HEAP32[$ii>>2]|0; + $1457 = (($1456) + 1)|0; + HEAP32[$ii>>2] = $1457; + } + $1458 = HEAP32[$pCov>>2]|0; + $1459 = HEAP32[$pLevel>>2]|0; + $1460 = ((($1459)) + 56|0); + HEAP32[$1460>>2] = $1458; + $1461 = HEAP32[$pCov>>2]|0; + $1462 = ($1461|0)!=(0|0); + if ($1462) { + $1463 = HEAP32[$iCovCur>>2]|0; + $1464 = HEAP32[$pLevel>>2]|0; + $1465 = ((($1464)) + 8|0); + HEAP32[$1465>>2] = $1463; + } + $1466 = HEAP32[$pAndExpr>>2]|0; + $1467 = ($1466|0)!=(0|0); + if ($1467) { + $1468 = HEAP32[$pAndExpr>>2]|0; + $1469 = ((($1468)) + 12|0); + HEAP32[$1469>>2] = 0; + $1470 = HEAP32[$db>>2]|0; + $1471 = HEAP32[$pAndExpr>>2]|0; + _sqlite3ExprDelete($1470,$1471); + } + $1472 = HEAP32[$v>>2]|0; + $1473 = HEAP32[$iRetInit>>2]|0; + $1474 = HEAP32[$v>>2]|0; + $1475 = (_sqlite3VdbeCurrentAddr($1474)|0); + _sqlite3VdbeChangeP1($1472,$1473,$1475); + $1476 = HEAP32[$v>>2]|0; + $1477 = HEAP32[$pLevel>>2]|0; + $1478 = ((($1477)) + 12|0); + $1479 = HEAP32[$1478>>2]|0; + (_sqlite3VdbeGoto($1476,$1479)|0); + $1480 = HEAP32[$v>>2]|0; + $1481 = HEAP32[$iLoopBody>>2]|0; + _sqlite3VdbeResolveLabel($1480,$1481); + $1482 = HEAP32[$3>>2]|0; + $1483 = ((($1482)) + 42|0); + $1484 = HEAP8[$1483>>0]|0; + $1485 = $1484&255; + $1486 = ($1485|0)>(1); + if ($1486) { + $1487 = HEAP32[$db>>2]|0; + $1488 = HEAP32[$pOrTab>>2]|0; + _sqlite3DbFree($1487,$1488); + } + $1489 = HEAP32[$untestedTerms>>2]|0; + $1490 = ($1489|0)!=(0); + if ($1490) { break; } - $1419 = HEAP32[$pLevel>>2]|0; - $1420 = HEAP32[$pTerm>>2]|0; - _disableTerm($1419,$1420); + $1491 = HEAP32[$pLevel>>2]|0; + $1492 = HEAP32[$pTerm>>2]|0; + _disableTerm($1491,$1492); break; } - $510 = ((($509)) + 24|0); - $511 = HEAP16[$510>>1]|0; - HEAP16[$nEq>>1] = $511; + $540 = ((($539)) + 24|0); + $541 = HEAP16[$540>>1]|0; + HEAP16[$nEq>>1] = $541; + $542 = HEAP32[$pLoop>>2]|0; + $543 = ((($542)) + 24|0); + $544 = ((($543)) + 2|0); + $545 = HEAP16[$544>>1]|0; + HEAP16[$nBtm>>1] = $545; + $546 = HEAP32[$pLoop>>2]|0; + $547 = ((($546)) + 24|0); + $548 = ((($547)) + 4|0); + $549 = HEAP16[$548>>1]|0; + HEAP16[$nTop>>1] = $549; HEAP32[$pRangeStart>>2] = 0; HEAP32[$pRangeEnd>>2] = 0; HEAP32[$nExtraReg>>2] = 0; - HEAP8[$cEndAff>>0] = 0; + HEAP32[$zEndAff>>2] = 0; HEAP8[$bSeekPastNull>>0] = 0; HEAP8[$bStopAtNull>>0] = 0; - $512 = HEAP32[$pLoop>>2]|0; - $513 = ((($512)) + 24|0); - $514 = ((($513)) + 4|0); - $515 = HEAP32[$514>>2]|0; - HEAP32[$pIdx>>2] = $515; - $516 = HEAP32[$pLevel>>2]|0; - $517 = ((($516)) + 8|0); - $518 = HEAP32[$517>>2]|0; - HEAP32[$iIdxCur>>2] = $518; - $519 = HEAP32[$3>>2]|0; - $520 = ((($519)) + 36|0); - $521 = HEAP16[$520>>1]|0; - $522 = $521&65535; - $523 = $522 & 1; - $524 = ($523|0)!=(0); - if ($524) { - $525 = HEAP32[$3>>2]|0; - $526 = ((($525)) + 38|0); - $527 = HEAP8[$526>>0]|0; - $528 = $527 << 24 >> 24; - $529 = ($528|0)>(0); - if ($529) { - $530 = HEAP32[$pIdx>>2]|0; - $531 = ((($530)) + 50|0); - $532 = HEAP16[$531>>1]|0; - $533 = $532&65535; - $534 = HEAP16[$nEq>>1]|0; - $535 = $534&65535; - $536 = ($533|0)>($535|0); - if ($536) { + $550 = HEAP32[$pLoop>>2]|0; + $551 = ((($550)) + 24|0); + $552 = ((($551)) + 8|0); + $553 = HEAP32[$552>>2]|0; + HEAP32[$pIdx>>2] = $553; + $554 = HEAP32[$pLevel>>2]|0; + $555 = ((($554)) + 8|0); + $556 = HEAP32[$555>>2]|0; + HEAP32[$iIdxCur>>2] = $556; + $557 = HEAP32[$3>>2]|0; + $558 = ((($557)) + 40|0); + $559 = HEAP16[$558>>1]|0; + $560 = $559&65535; + $561 = $560 & 1; + $562 = ($561|0)!=(0); + if ($562) { + $563 = HEAP32[$3>>2]|0; + $564 = ((($563)) + 43|0); + $565 = HEAP8[$564>>0]|0; + $566 = $565 << 24 >> 24; + $567 = ($566|0)>(0); + if ($567) { + $568 = HEAP32[$pIdx>>2]|0; + $569 = ((($568)) + 50|0); + $570 = HEAP16[$569>>1]|0; + $571 = $570&65535; + $572 = HEAP16[$nEq>>1]|0; + $573 = $572&65535; + $574 = ($571|0)>($573|0); + if ($574) { HEAP8[$bSeekPastNull>>0] = 1; HEAP32[$nExtraReg>>2] = 1; } } } - $537 = HEAP16[$nEq>>1]|0; - $538 = $537&65535; - HEAP32[$j>>2] = $538; - $539 = HEAP32[$pLoop>>2]|0; - $540 = ((($539)) + 36|0); - $541 = HEAP32[$540>>2]|0; - $542 = $541 & 32; - $543 = ($542|0)!=(0); - if ($543) { - $544 = HEAP32[$j>>2]|0; - $545 = (($544) + 1)|0; - HEAP32[$j>>2] = $545; - $546 = HEAP32[$pLoop>>2]|0; - $547 = ((($546)) + 48|0); - $548 = HEAP32[$547>>2]|0; - $549 = (($548) + ($544<<2)|0); - $550 = HEAP32[$549>>2]|0; - HEAP32[$pRangeStart>>2] = $550; - HEAP32[$nExtraReg>>2] = 1; - } - $551 = HEAP32[$pLoop>>2]|0; - $552 = ((($551)) + 36|0); - $553 = HEAP32[$552>>2]|0; - $554 = $553 & 16; - $555 = ($554|0)!=(0); - if ($555) { - $556 = HEAP32[$j>>2]|0; - $557 = (($556) + 1)|0; - HEAP32[$j>>2] = $557; - $558 = HEAP32[$pLoop>>2]|0; - $559 = ((($558)) + 48|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($560) + ($556<<2)|0); - $562 = HEAP32[$561>>2]|0; - HEAP32[$pRangeEnd>>2] = $562; - HEAP32[$nExtraReg>>2] = 1; - $563 = HEAP32[$pRangeEnd>>2]|0; - $564 = ((($563)) + 20|0); - $565 = HEAP16[$564>>1]|0; - $566 = $565&65535; - $567 = $566 & 256; - $568 = ($567|0)!=(0); - if ($568) { - $569 = HEAP32[$pParse>>2]|0; - $570 = ((($569)) + 76|0); - $571 = HEAP32[$570>>2]|0; - $572 = (($571) + 1)|0; - HEAP32[$570>>2] = $572; - $573 = HEAP32[$pLevel>>2]|0; - $574 = ((($573)) + 36|0); - HEAP32[$574>>2] = $572; - $575 = HEAP32[$v>>2]|0; - $576 = HEAP32[$pLevel>>2]|0; - $577 = ((($576)) + 36|0); - $578 = HEAP32[$577>>2]|0; - (_sqlite3VdbeAddOp2($575,74,1,$578)|0); - $579 = HEAP32[$v>>2]|0; - $580 = (_sqlite3VdbeCurrentAddr($579)|0); - $581 = HEAP32[$pLevel>>2]|0; - $582 = ((($581)) + 40|0); - HEAP32[$582>>2] = $580; - $583 = HEAP32[$pLevel>>2]|0; - $584 = ((($583)) + 36|0); - $585 = HEAP32[$584>>2]|0; - $586 = $585 << 1; - HEAP32[$584>>2] = $586; - $587 = HEAP32[$bRev>>2]|0; - $588 = HEAP16[$nEq>>1]|0; - $589 = $588&65535; - $590 = HEAP32[$pIdx>>2]|0; - $591 = ((($590)) + 28|0); - $592 = HEAP32[$591>>2]|0; - $593 = (($592) + ($589)|0); - $594 = HEAP8[$593>>0]|0; - $595 = $594&255; - $596 = ($595|0)==(1); - $597 = $596&1; - $598 = $587 ^ $597; - $599 = HEAP32[$pLevel>>2]|0; - $600 = ((($599)) + 36|0); - $601 = HEAP32[$600>>2]|0; - $602 = $601 | $598; - HEAP32[$600>>2] = $602; - } - $603 = HEAP32[$pRangeStart>>2]|0; - $604 = ($603|0)==(0|0); - if ($604) { - $605 = HEAP16[$nEq>>1]|0; - $606 = $605&65535; - $607 = HEAP32[$pIdx>>2]|0; - $608 = ((($607)) + 4|0); - $609 = HEAP32[$608>>2]|0; - $610 = (($609) + ($606<<1)|0); - $611 = HEAP16[$610>>1]|0; - $612 = $611 << 16 >> 16; - HEAP32[$j>>2] = $612; - $613 = ($612|0)>=(0); - if ($613) { - $614 = HEAP32[$j>>2]|0; - $615 = HEAP32[$pIdx>>2]|0; - $616 = ((($615)) + 12|0); - $617 = HEAP32[$616>>2]|0; - $618 = ((($617)) + 4|0); - $619 = HEAP32[$618>>2]|0; - $620 = (($619) + ($614<<4)|0); - $621 = ((($620)) + 12|0); - $622 = HEAP8[$621>>0]|0; - $623 = $622&255; - $624 = ($623|0)==(0); - if ($624) { - HEAP8[$bSeekPastNull>>0] = 1; + $575 = HEAP16[$nEq>>1]|0; + $576 = $575&65535; + HEAP32[$j>>2] = $576; + $577 = HEAP32[$pLoop>>2]|0; + $578 = ((($577)) + 36|0); + $579 = HEAP32[$578>>2]|0; + $580 = $579 & 32; + $581 = ($580|0)!=(0); + if ($581) { + $582 = HEAP32[$j>>2]|0; + $583 = (($582) + 1)|0; + HEAP32[$j>>2] = $583; + $584 = HEAP32[$pLoop>>2]|0; + $585 = ((($584)) + 48|0); + $586 = HEAP32[$585>>2]|0; + $587 = (($586) + ($582<<2)|0); + $588 = HEAP32[$587>>2]|0; + HEAP32[$pRangeStart>>2] = $588; + $589 = HEAP32[$nExtraReg>>2]|0; + $590 = HEAP32[$pLoop>>2]|0; + $591 = ((($590)) + 24|0); + $592 = ((($591)) + 2|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593&65535; + $595 = ($589|0)>($594|0); + if ($595) { + $596 = HEAP32[$nExtraReg>>2]|0; + $602 = $596; + } else { + $597 = HEAP32[$pLoop>>2]|0; + $598 = ((($597)) + 24|0); + $599 = ((($598)) + 2|0); + $600 = HEAP16[$599>>1]|0; + $601 = $600&65535; + $602 = $601; + } + HEAP32[$nExtraReg>>2] = $602; + } + $603 = HEAP32[$pLoop>>2]|0; + $604 = ((($603)) + 36|0); + $605 = HEAP32[$604>>2]|0; + $606 = $605 & 16; + $607 = ($606|0)!=(0); + do { + if ($607) { + $608 = HEAP32[$j>>2]|0; + $609 = (($608) + 1)|0; + HEAP32[$j>>2] = $609; + $610 = HEAP32[$pLoop>>2]|0; + $611 = ((($610)) + 48|0); + $612 = HEAP32[$611>>2]|0; + $613 = (($612) + ($608<<2)|0); + $614 = HEAP32[$613>>2]|0; + HEAP32[$pRangeEnd>>2] = $614; + $615 = HEAP32[$nExtraReg>>2]|0; + $616 = HEAP32[$pLoop>>2]|0; + $617 = ((($616)) + 24|0); + $618 = ((($617)) + 4|0); + $619 = HEAP16[$618>>1]|0; + $620 = $619&65535; + $621 = ($615|0)>($620|0); + if ($621) { + $622 = HEAP32[$nExtraReg>>2]|0; + $628 = $622; + } else { + $623 = HEAP32[$pLoop>>2]|0; + $624 = ((($623)) + 24|0); + $625 = ((($624)) + 4|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626&65535; + $628 = $627; + } + HEAP32[$nExtraReg>>2] = $628; + $629 = HEAP32[$pRangeEnd>>2]|0; + $630 = ((($629)) + 10|0); + $631 = HEAP16[$630>>1]|0; + $632 = $631&65535; + $633 = $632 & 256; + $634 = ($633|0)!=(0); + if ($634) { + $635 = HEAP32[$pParse>>2]|0; + $636 = ((($635)) + 44|0); + $637 = HEAP32[$636>>2]|0; + $638 = (($637) + 1)|0; + HEAP32[$636>>2] = $638; + $639 = HEAP32[$pLevel>>2]|0; + $640 = ((($639)) + 36|0); + HEAP32[$640>>2] = $638; + $641 = HEAP32[$v>>2]|0; + $642 = HEAP32[$pLevel>>2]|0; + $643 = ((($642)) + 36|0); + $644 = HEAP32[$643>>2]|0; + (_sqlite3VdbeAddOp2($641,76,1,$644)|0); + $645 = HEAP32[$v>>2]|0; + $646 = (_sqlite3VdbeCurrentAddr($645)|0); + $647 = HEAP32[$pLevel>>2]|0; + $648 = ((($647)) + 40|0); + HEAP32[$648>>2] = $646; + $649 = HEAP32[$pLevel>>2]|0; + $650 = ((($649)) + 36|0); + $651 = HEAP32[$650>>2]|0; + $652 = $651 << 1; + HEAP32[$650>>2] = $652; + $653 = HEAP32[$bRev>>2]|0; + $654 = HEAP16[$nEq>>1]|0; + $655 = $654&65535; + $656 = HEAP32[$pIdx>>2]|0; + $657 = ((($656)) + 28|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($658) + ($655)|0); + $660 = HEAP8[$659>>0]|0; + $661 = $660&255; + $662 = ($661|0)==(1); + $663 = $662&1; + $664 = $653 ^ $663; + $665 = HEAP32[$pLevel>>2]|0; + $666 = ((($665)) + 36|0); + $667 = HEAP32[$666>>2]|0; + $668 = $667 | $664; + HEAP32[$666>>2] = $668; + } + $669 = HEAP32[$pRangeStart>>2]|0; + $670 = ($669|0)==(0|0); + if ($670) { + $671 = HEAP16[$nEq>>1]|0; + $672 = $671&65535; + $673 = HEAP32[$pIdx>>2]|0; + $674 = ((($673)) + 4|0); + $675 = HEAP32[$674>>2]|0; + $676 = (($675) + ($672<<1)|0); + $677 = HEAP16[$676>>1]|0; + $678 = $677 << 16 >> 16; + HEAP32[$j>>2] = $678; + $679 = HEAP32[$j>>2]|0; + $680 = ($679|0)>=(0); + $681 = HEAP32[$j>>2]|0; + if ($680) { + $682 = HEAP32[$pIdx>>2]|0; + $683 = ((($682)) + 12|0); + $684 = HEAP32[$683>>2]|0; + $685 = ((($684)) + 4|0); + $686 = HEAP32[$685>>2]|0; + $687 = (($686) + ($681<<4)|0); + $688 = ((($687)) + 12|0); + $689 = HEAP8[$688>>0]|0; + $690 = $689&255; + $691 = ($690|0)==(0); + $692 = HEAP32[$j>>2]|0; + $693 = ($692|0)==(-2); + $or$cond = $691 | $693; + if (!($or$cond)) { + break; + } + } else { + $$old1 = ($681|0)==(-2); + if (!($$old1)) { + break; + } } + HEAP8[$bSeekPastNull>>0] = 1; } } - } - $625 = HEAP16[$nEq>>1]|0; - $626 = $625&65535; - $627 = HEAP32[$pIdx>>2]|0; - $628 = ((($627)) + 50|0); - $629 = HEAP16[$628>>1]|0; - $630 = $629&65535; - $631 = ($626|0)<($630|0); - if ($631) { - $632 = HEAP32[$bRev>>2]|0; - $633 = HEAP16[$nEq>>1]|0; - $634 = $633&65535; - $635 = HEAP32[$pIdx>>2]|0; - $636 = ((($635)) + 28|0); - $637 = HEAP32[$636>>2]|0; - $638 = (($637) + ($634)|0); - $639 = HEAP8[$638>>0]|0; - $640 = $639&255; - $641 = ($640|0)==(0); - $642 = $641&1; - $643 = ($632|0)==($642|0); - if ($643) { - label = 72; + } while(0); + $694 = HEAP16[$nEq>>1]|0; + $695 = $694&65535; + $696 = HEAP32[$pIdx>>2]|0; + $697 = ((($696)) + 50|0); + $698 = HEAP16[$697>>1]|0; + $699 = $698&65535; + $700 = ($695|0)<($699|0); + if ($700) { + $701 = HEAP32[$bRev>>2]|0; + $702 = HEAP16[$nEq>>1]|0; + $703 = $702&65535; + $704 = HEAP32[$pIdx>>2]|0; + $705 = ((($704)) + 28|0); + $706 = HEAP32[$705>>2]|0; + $707 = (($706) + ($703)|0); + $708 = HEAP8[$707>>0]|0; + $709 = $708&255; + $710 = ($709|0)==(0); + $711 = $710&1; + $712 = ($701|0)==($711|0); + if ($712) { + label = 84; } else { - label = 70; + label = 82; } } else { - label = 70; - } - if ((label|0) == 70) { - $644 = HEAP32[$bRev>>2]|0; - $645 = ($644|0)!=(0); - if ($645) { - $646 = HEAP32[$pIdx>>2]|0; - $647 = ((($646)) + 50|0); - $648 = HEAP16[$647>>1]|0; - $649 = $648&65535; - $650 = HEAP16[$nEq>>1]|0; - $651 = $650&65535; - $652 = ($649|0)==($651|0); - if ($652) { - label = 72; - } - } - } - if ((label|0) == 72) { - $653 = HEAP32[$pRangeEnd>>2]|0; - HEAP32[$t>>2] = $653; - $654 = HEAP32[$pRangeStart>>2]|0; - HEAP32[$pRangeEnd>>2] = $654; - $655 = HEAP32[$t>>2]|0; - HEAP32[$pRangeStart>>2] = $655; - $656 = HEAP8[$bSeekPastNull>>0]|0; - HEAP8[$t3>>0] = $656; - $657 = HEAP8[$bStopAtNull>>0]|0; - HEAP8[$bSeekPastNull>>0] = $657; - $658 = HEAP8[$t3>>0]|0; - HEAP8[$bStopAtNull>>0] = $658; - } - $659 = HEAP32[$pParse>>2]|0; - $660 = HEAP32[$pLevel>>2]|0; - $661 = HEAP32[$bRev>>2]|0; - $662 = HEAP32[$nExtraReg>>2]|0; - $663 = (_codeAllEqualityTerms($659,$660,$661,$662,$zStartAff)|0); - HEAP32[$regBase>>2] = $663; - $664 = HEAP32[$zStartAff>>2]|0; - $665 = ($664|0)!=(0|0); - if ($665) { - $666 = HEAP16[$nEq>>1]|0; - $667 = $666&65535; - $668 = HEAP32[$zStartAff>>2]|0; - $669 = (($668) + ($667)|0); - $670 = HEAP8[$669>>0]|0; - HEAP8[$cEndAff>>0] = $670; - } - $671 = HEAP32[$pLevel>>2]|0; - $672 = ((($671)) + 16|0); - $673 = HEAP32[$672>>2]|0; - HEAP32[$addrNxt>>2] = $673; - $674 = HEAP32[$pRangeStart>>2]|0; - $675 = ($674|0)!=(0|0); - if ($675) { - $676 = HEAP32[$pRangeStart>>2]|0; - $677 = ((($676)) + 18|0); - $678 = HEAP16[$677>>1]|0; - $679 = $678&65535; - $680 = $679 & 40; - $681 = ($680|0)!=(0); - $683 = $681; + label = 82; + } + if ((label|0) == 82) { + $713 = HEAP32[$bRev>>2]|0; + $714 = ($713|0)!=(0); + if ($714) { + $715 = HEAP32[$pIdx>>2]|0; + $716 = ((($715)) + 50|0); + $717 = HEAP16[$716>>1]|0; + $718 = $717&65535; + $719 = HEAP16[$nEq>>1]|0; + $720 = $719&65535; + $721 = ($718|0)==($720|0); + if ($721) { + label = 84; + } + } + } + if ((label|0) == 84) { + $722 = HEAP32[$pRangeEnd>>2]|0; + HEAP32[$t>>2] = $722; + $723 = HEAP32[$pRangeStart>>2]|0; + HEAP32[$pRangeEnd>>2] = $723; + $724 = HEAP32[$t>>2]|0; + HEAP32[$pRangeStart>>2] = $724; + $725 = HEAP8[$bSeekPastNull>>0]|0; + HEAP8[$t5>>0] = $725; + $726 = HEAP8[$bStopAtNull>>0]|0; + HEAP8[$bSeekPastNull>>0] = $726; + $727 = HEAP8[$t5>>0]|0; + HEAP8[$bStopAtNull>>0] = $727; + $728 = HEAP16[$nBtm>>1]|0; + $729 = $728&255; + HEAP8[$t6>>0] = $729; + $730 = HEAP16[$nTop>>1]|0; + HEAP16[$nBtm>>1] = $730; + $731 = HEAP8[$t6>>0]|0; + $732 = $731&255; + HEAP16[$nTop>>1] = $732; + } + $733 = HEAP32[$pParse>>2]|0; + $734 = HEAP32[$pLevel>>2]|0; + $735 = HEAP32[$bRev>>2]|0; + $736 = HEAP32[$nExtraReg>>2]|0; + $737 = (_codeAllEqualityTerms($733,$734,$735,$736,$zStartAff)|0); + HEAP32[$regBase>>2] = $737; + $738 = HEAP32[$zStartAff>>2]|0; + $739 = ($738|0)!=(0|0); + if ($739) { + $740 = HEAP16[$nTop>>1]|0; + $741 = $740&65535; + $742 = ($741|0)!=(0); + if ($742) { + $743 = HEAP32[$db>>2]|0; + $744 = HEAP16[$nEq>>1]|0; + $745 = $744&65535; + $746 = HEAP32[$zStartAff>>2]|0; + $747 = (($746) + ($745)|0); + $748 = (_sqlite3DbStrDup($743,$747)|0); + HEAP32[$zEndAff>>2] = $748; + } + } + $749 = HEAP32[$pLevel>>2]|0; + $750 = ((($749)) + 16|0); + $751 = HEAP32[$750>>2]|0; + HEAP32[$addrNxt>>2] = $751; + $752 = HEAP32[$pRangeStart>>2]|0; + $753 = ($752|0)!=(0|0); + if ($753) { + $754 = HEAP32[$pRangeStart>>2]|0; + $755 = ((($754)) + 12|0); + $756 = HEAP16[$755>>1]|0; + $757 = $756&65535; + $758 = $757 & 40; + $759 = ($758|0)!=(0); + $761 = $759; } else { - $683 = 1; - } - $682 = $683&1; - HEAP32[$startEq>>2] = $682; - $684 = HEAP32[$pRangeEnd>>2]|0; - $685 = ($684|0)!=(0|0); - if ($685) { - $686 = HEAP32[$pRangeEnd>>2]|0; - $687 = ((($686)) + 18|0); - $688 = HEAP16[$687>>1]|0; - $689 = $688&65535; - $690 = $689 & 40; - $691 = ($690|0)!=(0); - $693 = $691; + $761 = 1; + } + $760 = $761&1; + HEAP32[$startEq>>2] = $760; + $762 = HEAP32[$pRangeEnd>>2]|0; + $763 = ($762|0)!=(0|0); + if ($763) { + $764 = HEAP32[$pRangeEnd>>2]|0; + $765 = ((($764)) + 12|0); + $766 = HEAP16[$765>>1]|0; + $767 = $766&65535; + $768 = $767 & 40; + $769 = ($768|0)!=(0); + $771 = $769; } else { - $693 = 1; - } - $692 = $693&1; - HEAP32[$endEq>>2] = $692; - $694 = HEAP32[$pRangeStart>>2]|0; - $695 = ($694|0)!=(0|0); - if ($695) { - $700 = 1; + $771 = 1; + } + $770 = $771&1; + HEAP32[$endEq>>2] = $770; + $772 = HEAP32[$pRangeStart>>2]|0; + $773 = ($772|0)!=(0|0); + if ($773) { + $778 = 1; } else { - $696 = HEAP16[$nEq>>1]|0; - $697 = $696&65535; - $698 = ($697|0)>(0); - $700 = $698; - } - $699 = $700&1; - HEAP32[$start_constraints>>2] = $699; - $701 = HEAP16[$nEq>>1]|0; - $702 = $701&65535; - HEAP32[$nConstraint2>>2] = $702; - $703 = HEAP32[$pRangeStart>>2]|0; - $704 = ($703|0)!=(0|0); - if ($704) { - $705 = HEAP32[$pRangeStart>>2]|0; - $706 = HEAP32[$705>>2]|0; - $707 = ((($706)) + 16|0); - $708 = HEAP32[$707>>2]|0; - HEAP32[$pRight4>>2] = $708; - $709 = HEAP32[$pParse>>2]|0; - $710 = HEAP32[$pRight4>>2]|0; - $711 = HEAP32[$regBase>>2]|0; - $712 = HEAP16[$nEq>>1]|0; - $713 = $712&65535; - $714 = (($711) + ($713))|0; - _sqlite3ExprCode($709,$710,$714); - $715 = HEAP32[$v>>2]|0; - $716 = HEAP32[$pLevel>>2]|0; - $717 = HEAP32[$pRangeStart>>2]|0; - _whereLikeOptimizationStringFixup($715,$716,$717); - $718 = HEAP32[$pRangeStart>>2]|0; - $719 = ((($718)) + 20|0); - $720 = HEAP16[$719>>1]|0; - $721 = $720&65535; - $722 = $721 & 0; - $723 = ($722|0)==(0); - do { - if ($723) { - $724 = HEAP32[$pRight4>>2]|0; - $725 = (_sqlite3ExprCanBeNull($724)|0); - $726 = ($725|0)!=(0); - if (!($726)) { - break; - } - $727 = HEAP32[$v>>2]|0; - $728 = HEAP32[$regBase>>2]|0; - $729 = HEAP16[$nEq>>1]|0; - $730 = $729&65535; - $731 = (($728) + ($730))|0; - $732 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($727,34,$731,$732)|0); - } - } while(0); - $733 = HEAP32[$zStartAff>>2]|0; - $734 = ($733|0)!=(0|0); + $774 = HEAP16[$nEq>>1]|0; + $775 = $774&65535; + $776 = ($775|0)>(0); + $778 = $776; + } + $777 = $778&1; + HEAP32[$start_constraints>>2] = $777; + $779 = HEAP16[$nEq>>1]|0; + $780 = $779&65535; + HEAP32[$nConstraint3>>2] = $780; + $781 = HEAP32[$pRangeStart>>2]|0; + $782 = ($781|0)!=(0|0); + if ($782) { + $783 = HEAP32[$pRangeStart>>2]|0; + $784 = HEAP32[$783>>2]|0; + $785 = ((($784)) + 16|0); + $786 = HEAP32[$785>>2]|0; + HEAP32[$pRight7>>2] = $786; + $787 = HEAP32[$pParse>>2]|0; + $788 = HEAP32[$pRight7>>2]|0; + $789 = HEAP32[$regBase>>2]|0; + $790 = HEAP16[$nEq>>1]|0; + $791 = $790&65535; + $792 = (($789) + ($791))|0; + $793 = HEAP16[$nBtm>>1]|0; + $794 = $793&65535; + _codeExprOrVector($787,$788,$792,$794); + $795 = HEAP32[$v>>2]|0; + $796 = HEAP32[$pLevel>>2]|0; + $797 = HEAP32[$pRangeStart>>2]|0; + _whereLikeOptimizationStringFixup($795,$796,$797); + $798 = HEAP32[$pRangeStart>>2]|0; + $799 = ((($798)) + 10|0); + $800 = HEAP16[$799>>1]|0; + $801 = $800&65535; + $802 = $801 & 0; + $803 = ($802|0)==(0); do { - if ($734) { - $735 = HEAP32[$pRight4>>2]|0; - $736 = HEAP16[$nEq>>1]|0; - $737 = $736&65535; - $738 = HEAP32[$zStartAff>>2]|0; - $739 = (($738) + ($737)|0); - $740 = HEAP8[$739>>0]|0; - $741 = (_sqlite3CompareAffinity($735,$740)|0); - $742 = $741 << 24 >> 24; - $743 = ($742|0)==(65); - if ($743) { - $744 = HEAP16[$nEq>>1]|0; - $745 = $744&65535; - $746 = HEAP32[$zStartAff>>2]|0; - $747 = (($746) + ($745)|0); - HEAP8[$747>>0] = 65; - } - $748 = HEAP32[$pRight4>>2]|0; - $749 = HEAP16[$nEq>>1]|0; - $750 = $749&65535; - $751 = HEAP32[$zStartAff>>2]|0; - $752 = (($751) + ($750)|0); - $753 = HEAP8[$752>>0]|0; - $754 = (_sqlite3ExprNeedsNoAffinityChange($748,$753)|0); - $755 = ($754|0)!=(0); - if (!($755)) { + if ($803) { + $804 = HEAP32[$pRight7>>2]|0; + $805 = (_sqlite3ExprCanBeNull($804)|0); + $806 = ($805|0)!=(0); + if (!($806)) { break; } - $756 = HEAP16[$nEq>>1]|0; - $757 = $756&65535; - $758 = HEAP32[$zStartAff>>2]|0; - $759 = (($758) + ($757)|0); - HEAP8[$759>>0] = 65; + $807 = HEAP32[$v>>2]|0; + $808 = HEAP32[$regBase>>2]|0; + $809 = HEAP16[$nEq>>1]|0; + $810 = $809&65535; + $811 = (($808) + ($810))|0; + $812 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($807,34,$811,$812)|0); } } while(0); - $760 = HEAP32[$nConstraint2>>2]|0; - $761 = (($760) + 1)|0; - HEAP32[$nConstraint2>>2] = $761; + $813 = HEAP32[$zStartAff>>2]|0; + $814 = ($813|0)!=(0|0); + if ($814) { + $815 = HEAP32[$pRight7>>2]|0; + $816 = HEAP16[$nBtm>>1]|0; + $817 = $816&65535; + $818 = HEAP16[$nEq>>1]|0; + $819 = $818&65535; + $820 = HEAP32[$zStartAff>>2]|0; + $821 = (($820) + ($819)|0); + _updateRangeAffinityStr($815,$817,$821); + } + $822 = HEAP16[$nBtm>>1]|0; + $823 = $822&65535; + $824 = HEAP32[$nConstraint3>>2]|0; + $825 = (($824) + ($823))|0; + HEAP32[$nConstraint3>>2] = $825; + $826 = HEAP32[$pRight7>>2]|0; + $827 = (_sqlite3ExprIsVector($826)|0); + $828 = ($827|0)==(0); + if ($828) { + $829 = HEAP32[$pLevel>>2]|0; + $830 = HEAP32[$pRangeStart>>2]|0; + _disableTerm($829,$830); + } else { + HEAP32[$startEq>>2] = 1; + } + HEAP8[$bSeekPastNull>>0] = 0; } else { - $762 = HEAP8[$bSeekPastNull>>0]|0; - $763 = ($762<<24>>24)!=(0); - if ($763) { - $764 = HEAP32[$v>>2]|0; - $765 = HEAP32[$regBase>>2]|0; - $766 = HEAP16[$nEq>>1]|0; - $767 = $766&65535; - $768 = (($765) + ($767))|0; - (_sqlite3VdbeAddOp2($764,77,0,$768)|0); - $769 = HEAP32[$nConstraint2>>2]|0; - $770 = (($769) + 1)|0; - HEAP32[$nConstraint2>>2] = $770; + $831 = HEAP8[$bSeekPastNull>>0]|0; + $832 = ($831<<24>>24)!=(0); + if ($832) { + $833 = HEAP32[$v>>2]|0; + $834 = HEAP32[$regBase>>2]|0; + $835 = HEAP16[$nEq>>1]|0; + $836 = $835&65535; + $837 = (($834) + ($836))|0; + (_sqlite3VdbeAddOp2($833,79,0,$837)|0); + $838 = HEAP32[$nConstraint3>>2]|0; + $839 = (($838) + 1)|0; + HEAP32[$nConstraint3>>2] = $839; HEAP32[$startEq>>2] = 0; HEAP32[$start_constraints>>2] = 1; } } - $771 = HEAP32[$pParse>>2]|0; - $772 = HEAP32[$regBase>>2]|0; - $773 = HEAP32[$nConstraint2>>2]|0; - $774 = HEAP8[$bSeekPastNull>>0]|0; - $775 = $774&255; - $776 = (($773) - ($775))|0; - $777 = HEAP32[$zStartAff>>2]|0; - _codeApplyAffinity($771,$772,$776,$777); - $778 = HEAP32[$pLoop>>2]|0; - $779 = ((($778)) + 42|0); - $780 = HEAP16[$779>>1]|0; - $781 = $780&65535; - $782 = ($781|0)>(0); - if ($782) { - $783 = HEAP32[$nConstraint2>>2]|0; - $784 = HEAP32[$pLoop>>2]|0; - $785 = ((($784)) + 42|0); - $786 = HEAP16[$785>>1]|0; - $787 = $786&65535; - $788 = ($783|0)==($787|0); - if (!($788)) { - label = 95; + $840 = HEAP32[$pParse>>2]|0; + $841 = HEAP32[$regBase>>2]|0; + $842 = HEAP32[$nConstraint3>>2]|0; + $843 = HEAP8[$bSeekPastNull>>0]|0; + $844 = $843&255; + $845 = (($842) - ($844))|0; + $846 = HEAP32[$zStartAff>>2]|0; + _codeApplyAffinity($840,$841,$845,$846); + $847 = HEAP32[$pLoop>>2]|0; + $848 = ((($847)) + 42|0); + $849 = HEAP16[$848>>1]|0; + $850 = $849&65535; + $851 = ($850|0)>(0); + if ($851) { + $852 = HEAP32[$nConstraint3>>2]|0; + $853 = HEAP32[$pLoop>>2]|0; + $854 = ((($853)) + 42|0); + $855 = HEAP16[$854>>1]|0; + $856 = $855&65535; + $857 = ($852|0)==($856|0); + if (!($857)) { + label = 108; } } else { - label = 95; - } - if ((label|0) == 95) { - $789 = HEAP32[$start_constraints>>2]|0; - $790 = $789 << 2; - $791 = HEAP32[$startEq>>2]|0; - $792 = $791 << 1; - $793 = (($790) + ($792))|0; - $794 = HEAP32[$bRev>>2]|0; - $795 = (($793) + ($794))|0; - $796 = (34957 + ($795)|0); - $797 = HEAP8[$796>>0]|0; - $798 = $797&255; - HEAP32[$op>>2] = $798; - $799 = HEAP32[$v>>2]|0; - $800 = HEAP32[$op>>2]|0; - $801 = HEAP32[$iIdxCur>>2]|0; - $802 = HEAP32[$addrNxt>>2]|0; - $803 = HEAP32[$regBase>>2]|0; - $804 = HEAP32[$nConstraint2>>2]|0; - (_sqlite3VdbeAddOp4Int($799,$800,$801,$802,$803,$804)|0); - } - $805 = HEAP16[$nEq>>1]|0; - $806 = $805&65535; - HEAP32[$nConstraint2>>2] = $806; - $807 = HEAP32[$pRangeEnd>>2]|0; - $808 = ($807|0)!=(0|0); + label = 108; + } + if ((label|0) == 108) { + $858 = HEAP32[$start_constraints>>2]|0; + $859 = $858 << 2; + $860 = HEAP32[$startEq>>2]|0; + $861 = $860 << 1; + $862 = (($859) + ($861))|0; + $863 = HEAP32[$bRev>>2]|0; + $864 = (($862) + ($863))|0; + $865 = (34436 + ($864)|0); + $866 = HEAP8[$865>>0]|0; + $867 = $866&255; + HEAP32[$op4>>2] = $867; + $868 = HEAP32[$v>>2]|0; + $869 = HEAP32[$op4>>2]|0; + $870 = HEAP32[$iIdxCur>>2]|0; + $871 = HEAP32[$addrNxt>>2]|0; + $872 = HEAP32[$regBase>>2]|0; + $873 = HEAP32[$nConstraint3>>2]|0; + (_sqlite3VdbeAddOp4Int($868,$869,$870,$871,$872,$873)|0); + } + $874 = HEAP16[$nEq>>1]|0; + $875 = $874&65535; + HEAP32[$nConstraint3>>2] = $875; + $876 = HEAP32[$pRangeEnd>>2]|0; + $877 = ($876|0)!=(0|0); do { - if ($808) { - $809 = HEAP32[$pRangeEnd>>2]|0; - $810 = HEAP32[$809>>2]|0; - $811 = ((($810)) + 16|0); - $812 = HEAP32[$811>>2]|0; - HEAP32[$pRight5>>2] = $812; - $813 = HEAP32[$pParse>>2]|0; - $814 = HEAP32[$regBase>>2]|0; - $815 = HEAP16[$nEq>>1]|0; - $816 = $815&65535; - $817 = (($814) + ($816))|0; - _sqlite3ExprCacheRemove($813,$817,1); - $818 = HEAP32[$pParse>>2]|0; - $819 = HEAP32[$pRight5>>2]|0; - $820 = HEAP32[$regBase>>2]|0; - $821 = HEAP16[$nEq>>1]|0; - $822 = $821&65535; - $823 = (($820) + ($822))|0; - _sqlite3ExprCode($818,$819,$823); - $824 = HEAP32[$v>>2]|0; - $825 = HEAP32[$pLevel>>2]|0; - $826 = HEAP32[$pRangeEnd>>2]|0; - _whereLikeOptimizationStringFixup($824,$825,$826); - $827 = HEAP32[$pRangeEnd>>2]|0; - $828 = ((($827)) + 20|0); - $829 = HEAP16[$828>>1]|0; - $830 = $829&65535; - $831 = $830 & 0; - $832 = ($831|0)==(0); - do { - if ($832) { - $833 = HEAP32[$pRight5>>2]|0; - $834 = (_sqlite3ExprCanBeNull($833)|0); - $835 = ($834|0)!=(0); - if (!($835)) { - break; - } - $836 = HEAP32[$v>>2]|0; - $837 = HEAP32[$regBase>>2]|0; - $838 = HEAP16[$nEq>>1]|0; - $839 = $838&65535; - $840 = (($837) + ($839))|0; - $841 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($836,34,$840,$841)|0); - } - } while(0); - $842 = HEAP32[$pRight5>>2]|0; - $843 = HEAP8[$cEndAff>>0]|0; - $844 = (_sqlite3CompareAffinity($842,$843)|0); - $845 = $844 << 24 >> 24; - $846 = ($845|0)!=(65); + if ($877) { + $878 = HEAP32[$pRangeEnd>>2]|0; + $879 = HEAP32[$878>>2]|0; + $880 = ((($879)) + 16|0); + $881 = HEAP32[$880>>2]|0; + HEAP32[$pRight8>>2] = $881; + $882 = HEAP32[$pParse>>2]|0; + $883 = HEAP32[$regBase>>2]|0; + $884 = HEAP16[$nEq>>1]|0; + $885 = $884&65535; + $886 = (($883) + ($885))|0; + _sqlite3ExprCacheRemove($882,$886,1); + $887 = HEAP32[$pParse>>2]|0; + $888 = HEAP32[$pRight8>>2]|0; + $889 = HEAP32[$regBase>>2]|0; + $890 = HEAP16[$nEq>>1]|0; + $891 = $890&65535; + $892 = (($889) + ($891))|0; + $893 = HEAP16[$nTop>>1]|0; + $894 = $893&65535; + _codeExprOrVector($887,$888,$892,$894); + $895 = HEAP32[$v>>2]|0; + $896 = HEAP32[$pLevel>>2]|0; + $897 = HEAP32[$pRangeEnd>>2]|0; + _whereLikeOptimizationStringFixup($895,$896,$897); + $898 = HEAP32[$pRangeEnd>>2]|0; + $899 = ((($898)) + 10|0); + $900 = HEAP16[$899>>1]|0; + $901 = $900&65535; + $902 = $901 & 0; + $903 = ($902|0)==(0); do { - if ($846) { - $847 = HEAP32[$pRight5>>2]|0; - $848 = HEAP8[$cEndAff>>0]|0; - $849 = (_sqlite3ExprNeedsNoAffinityChange($847,$848)|0); - $850 = ($849|0)!=(0); - if ($850) { + if ($903) { + $904 = HEAP32[$pRight8>>2]|0; + $905 = (_sqlite3ExprCanBeNull($904)|0); + $906 = ($905|0)!=(0); + if (!($906)) { break; } - $851 = HEAP32[$pParse>>2]|0; - $852 = HEAP32[$regBase>>2]|0; - $853 = HEAP16[$nEq>>1]|0; - $854 = $853&65535; - $855 = (($852) + ($854))|0; - _codeApplyAffinity($851,$855,1,$cEndAff); + $907 = HEAP32[$v>>2]|0; + $908 = HEAP32[$regBase>>2]|0; + $909 = HEAP16[$nEq>>1]|0; + $910 = $909&65535; + $911 = (($908) + ($910))|0; + $912 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($907,34,$911,$912)|0); } } while(0); - $856 = HEAP32[$nConstraint2>>2]|0; - $857 = (($856) + 1)|0; - HEAP32[$nConstraint2>>2] = $857; + $913 = HEAP32[$zEndAff>>2]|0; + $914 = ($913|0)!=(0|0); + if ($914) { + $915 = HEAP32[$pRight8>>2]|0; + $916 = HEAP16[$nTop>>1]|0; + $917 = $916&65535; + $918 = HEAP32[$zEndAff>>2]|0; + _updateRangeAffinityStr($915,$917,$918); + $919 = HEAP32[$pParse>>2]|0; + $920 = HEAP32[$regBase>>2]|0; + $921 = HEAP16[$nEq>>1]|0; + $922 = $921&65535; + $923 = (($920) + ($922))|0; + $924 = HEAP16[$nTop>>1]|0; + $925 = $924&65535; + $926 = HEAP32[$zEndAff>>2]|0; + _codeApplyAffinity($919,$923,$925,$926); + } + $927 = HEAP16[$nTop>>1]|0; + $928 = $927&65535; + $929 = HEAP32[$nConstraint3>>2]|0; + $930 = (($929) + ($928))|0; + HEAP32[$nConstraint3>>2] = $930; + $931 = HEAP32[$pRight8>>2]|0; + $932 = (_sqlite3ExprIsVector($931)|0); + $933 = ($932|0)==(0); + if ($933) { + $934 = HEAP32[$pLevel>>2]|0; + $935 = HEAP32[$pRangeEnd>>2]|0; + _disableTerm($934,$935); + break; + } else { + HEAP32[$endEq>>2] = 1; + break; + } } else { - $858 = HEAP8[$bStopAtNull>>0]|0; - $859 = ($858<<24>>24)!=(0); - if (!($859)) { + $936 = HEAP8[$bStopAtNull>>0]|0; + $937 = ($936<<24>>24)!=(0); + if (!($937)) { break; } - $860 = HEAP32[$v>>2]|0; - $861 = HEAP32[$regBase>>2]|0; - $862 = HEAP16[$nEq>>1]|0; - $863 = $862&65535; - $864 = (($861) + ($863))|0; - (_sqlite3VdbeAddOp2($860,77,0,$864)|0); + $938 = HEAP32[$v>>2]|0; + $939 = HEAP32[$regBase>>2]|0; + $940 = HEAP16[$nEq>>1]|0; + $941 = $940&65535; + $942 = (($939) + ($941))|0; + (_sqlite3VdbeAddOp2($938,79,0,$942)|0); HEAP32[$endEq>>2] = 0; - $865 = HEAP32[$nConstraint2>>2]|0; - $866 = (($865) + 1)|0; - HEAP32[$nConstraint2>>2] = $866; + $943 = HEAP32[$nConstraint3>>2]|0; + $944 = (($943) + 1)|0; + HEAP32[$nConstraint3>>2] = $944; } } while(0); - $867 = HEAP32[$db>>2]|0; - $868 = HEAP32[$zStartAff>>2]|0; - _sqlite3DbFree($867,$868); - $869 = HEAP32[$v>>2]|0; - $870 = (_sqlite3VdbeCurrentAddr($869)|0); - $871 = HEAP32[$pLevel>>2]|0; - $872 = ((($871)) + 52|0); - HEAP32[$872>>2] = $870; - $873 = HEAP32[$nConstraint2>>2]|0; - $874 = ($873|0)!=(0); - if ($874) { - $875 = HEAP32[$bRev>>2]|0; - $876 = $875<<1; - $877 = HEAP32[$endEq>>2]|0; - $878 = (($876) + ($877))|0; - $879 = (34965 + ($878)|0); - $880 = HEAP8[$879>>0]|0; - $881 = $880&255; - HEAP32[$op>>2] = $881; - $882 = HEAP32[$v>>2]|0; - $883 = HEAP32[$op>>2]|0; - $884 = HEAP32[$iIdxCur>>2]|0; - $885 = HEAP32[$addrNxt>>2]|0; - $886 = HEAP32[$regBase>>2]|0; - $887 = HEAP32[$nConstraint2>>2]|0; - (_sqlite3VdbeAddOp4Int($882,$883,$884,$885,$886,$887)|0); - } - $888 = HEAP32[$pLevel>>2]|0; - $889 = HEAP32[$pRangeStart>>2]|0; - _disableTerm($888,$889); - $890 = HEAP32[$pLevel>>2]|0; - $891 = HEAP32[$pRangeEnd>>2]|0; - _disableTerm($890,$891); - $892 = HEAP32[$omitTable>>2]|0; - $893 = ($892|0)!=(0); + $945 = HEAP32[$db>>2]|0; + $946 = HEAP32[$zStartAff>>2]|0; + _sqlite3DbFree($945,$946); + $947 = HEAP32[$db>>2]|0; + $948 = HEAP32[$zEndAff>>2]|0; + _sqlite3DbFree($947,$948); + $949 = HEAP32[$v>>2]|0; + $950 = (_sqlite3VdbeCurrentAddr($949)|0); + $951 = HEAP32[$pLevel>>2]|0; + $952 = ((($951)) + 52|0); + HEAP32[$952>>2] = $950; + $953 = HEAP32[$nConstraint3>>2]|0; + $954 = ($953|0)!=(0); + if ($954) { + $955 = HEAP32[$bRev>>2]|0; + $956 = $955<<1; + $957 = HEAP32[$endEq>>2]|0; + $958 = (($956) + ($957))|0; + $959 = (34444 + ($958)|0); + $960 = HEAP8[$959>>0]|0; + $961 = $960&255; + HEAP32[$op4>>2] = $961; + $962 = HEAP32[$v>>2]|0; + $963 = HEAP32[$op4>>2]|0; + $964 = HEAP32[$iIdxCur>>2]|0; + $965 = HEAP32[$addrNxt>>2]|0; + $966 = HEAP32[$regBase>>2]|0; + $967 = HEAP32[$nConstraint3>>2]|0; + (_sqlite3VdbeAddOp4Int($962,$963,$964,$965,$966,$967)|0); + } + $968 = HEAP32[$omitTable>>2]|0; + $969 = ($968|0)!=(0); do { - if (!($893)) { - $894 = HEAP32[$pIdx>>2]|0; - $895 = ((($894)) + 12|0); - $896 = HEAP32[$895>>2]|0; - $897 = ((($896)) + 42|0); - $898 = HEAP8[$897>>0]|0; - $899 = $898&255; - $900 = $899 & 32; - $901 = ($900|0)==(0); - if ($901) { - $902 = HEAP32[$3>>2]|0; - $903 = ((($902)) + 36|0); - $904 = HEAP16[$903>>1]|0; - $905 = $904&65535; - $906 = $905 & 32768; - $907 = ($906|0)!=(0); - if ($907) { - $908 = HEAP32[$pParse>>2]|0; - $909 = ((($908)) + 76|0); - $910 = HEAP32[$909>>2]|0; - $911 = (($910) + 1)|0; - HEAP32[$909>>2] = $911; - HEAP32[$iRowidReg>>2] = $911; - $912 = HEAP32[$v>>2]|0; - $913 = HEAP32[$iIdxCur>>2]|0; - $914 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($912,127,$913,$914)|0); - $915 = HEAP32[$pParse>>2]|0; - $916 = HEAP32[$iCur>>2]|0; - $917 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($915,$916,-1,$917); - $918 = HEAP32[$v>>2]|0; - $919 = HEAP32[$iCur>>2]|0; - $920 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($918,32,$919,0,$920)|0); + if (!($969)) { + $970 = HEAP32[$pIdx>>2]|0; + $971 = ((($970)) + 12|0); + $972 = HEAP32[$971>>2]|0; + $973 = ((($972)) + 42|0); + $974 = HEAP8[$973>>0]|0; + $975 = $974&255; + $976 = $975 & 32; + $977 = ($976|0)==(0); + if ($977) { + $978 = HEAP32[$3>>2]|0; + $979 = ((($978)) + 40|0); + $980 = HEAP16[$979>>1]|0; + $981 = $980&65535; + $982 = $981 & 1024; + $983 = ($982|0)!=(0); + if ($983) { + $984 = HEAP32[$pParse>>2]|0; + $985 = ((($984)) + 44|0); + $986 = HEAP32[$985>>2]|0; + $987 = (($986) + 1)|0; + HEAP32[$985>>2] = $987; + HEAP32[$iRowidReg>>2] = $987; + $988 = HEAP32[$v>>2]|0; + $989 = HEAP32[$iIdxCur>>2]|0; + $990 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp2($988,129,$989,$990)|0); + $991 = HEAP32[$pParse>>2]|0; + $992 = HEAP32[$iCur>>2]|0; + $993 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($991,$992,-1,$993); + $994 = HEAP32[$v>>2]|0; + $995 = HEAP32[$iCur>>2]|0; + $996 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp3($994,33,$995,0,$996)|0); break; } else { - $921 = HEAP32[$3>>2]|0; - $922 = HEAP32[$pIdx>>2]|0; - $923 = HEAP32[$iCur>>2]|0; - $924 = HEAP32[$iIdxCur>>2]|0; - _codeDeferredSeek($921,$922,$923,$924); + $997 = HEAP32[$3>>2]|0; + $998 = HEAP32[$pIdx>>2]|0; + $999 = HEAP32[$iCur>>2]|0; + $1000 = HEAP32[$iIdxCur>>2]|0; + _codeDeferredSeek($997,$998,$999,$1000); break; } } - $925 = HEAP32[$iCur>>2]|0; - $926 = HEAP32[$iIdxCur>>2]|0; - $927 = ($925|0)!=($926|0); - if (!($927)) { + $1001 = HEAP32[$iCur>>2]|0; + $1002 = HEAP32[$iIdxCur>>2]|0; + $1003 = ($1001|0)!=($1002|0); + if (!($1003)) { break; } - $928 = HEAP32[$pIdx>>2]|0; - $929 = ((($928)) + 12|0); - $930 = HEAP32[$929>>2]|0; - $931 = (_sqlite3PrimaryKeyIndex($930)|0); - HEAP32[$pPk>>2] = $931; - $932 = HEAP32[$pParse>>2]|0; - $933 = HEAP32[$pPk>>2]|0; - $934 = ((($933)) + 50|0); - $935 = HEAP16[$934>>1]|0; - $936 = $935&65535; - $937 = (_sqlite3GetTempRange($932,$936)|0); - HEAP32[$iRowidReg>>2] = $937; + $1004 = HEAP32[$pIdx>>2]|0; + $1005 = ((($1004)) + 12|0); + $1006 = HEAP32[$1005>>2]|0; + $1007 = (_sqlite3PrimaryKeyIndex($1006)|0); + HEAP32[$pPk>>2] = $1007; + $1008 = HEAP32[$pParse>>2]|0; + $1009 = HEAP32[$pPk>>2]|0; + $1010 = ((($1009)) + 50|0); + $1011 = HEAP16[$1010>>1]|0; + $1012 = $1011&65535; + $1013 = (_sqlite3GetTempRange($1008,$1012)|0); + HEAP32[$iRowidReg>>2] = $1013; HEAP32[$j>>2] = 0; while(1) { - $938 = HEAP32[$j>>2]|0; - $939 = HEAP32[$pPk>>2]|0; - $940 = ((($939)) + 50|0); - $941 = HEAP16[$940>>1]|0; - $942 = $941&65535; - $943 = ($938|0)<($942|0); - if (!($943)) { + $1014 = HEAP32[$j>>2]|0; + $1015 = HEAP32[$pPk>>2]|0; + $1016 = ((($1015)) + 50|0); + $1017 = HEAP16[$1016>>1]|0; + $1018 = $1017&65535; + $1019 = ($1014|0)<($1018|0); + if (!($1019)) { break; } - $944 = HEAP32[$pIdx>>2]|0; - $945 = HEAP32[$j>>2]|0; - $946 = HEAP32[$pPk>>2]|0; - $947 = ((($946)) + 4|0); - $948 = HEAP32[$947>>2]|0; - $949 = (($948) + ($945<<1)|0); - $950 = HEAP16[$949>>1]|0; - $951 = (_sqlite3ColumnOfIndex($944,$950)|0); - $952 = $951 << 16 >> 16; - HEAP32[$k>>2] = $952; - $953 = HEAP32[$v>>2]|0; - $954 = HEAP32[$iIdxCur>>2]|0; - $955 = HEAP32[$k>>2]|0; - $956 = HEAP32[$iRowidReg>>2]|0; - $957 = HEAP32[$j>>2]|0; - $958 = (($956) + ($957))|0; - (_sqlite3VdbeAddOp3($953,94,$954,$955,$958)|0); - $959 = HEAP32[$j>>2]|0; - $960 = (($959) + 1)|0; - HEAP32[$j>>2] = $960; - } - $961 = HEAP32[$v>>2]|0; - $962 = HEAP32[$iCur>>2]|0; - $963 = HEAP32[$addrCont>>2]|0; - $964 = HEAP32[$iRowidReg>>2]|0; - $965 = HEAP32[$pPk>>2]|0; - $966 = ((($965)) + 50|0); - $967 = HEAP16[$966>>1]|0; - $968 = $967&65535; - (_sqlite3VdbeAddOp4Int($961,30,$962,$963,$964,$968)|0); + $1020 = HEAP32[$pIdx>>2]|0; + $1021 = HEAP32[$j>>2]|0; + $1022 = HEAP32[$pPk>>2]|0; + $1023 = ((($1022)) + 4|0); + $1024 = HEAP32[$1023>>2]|0; + $1025 = (($1024) + ($1021<<1)|0); + $1026 = HEAP16[$1025>>1]|0; + $1027 = (_sqlite3ColumnOfIndex($1020,$1026)|0); + $1028 = $1027 << 16 >> 16; + HEAP32[$k>>2] = $1028; + $1029 = HEAP32[$v>>2]|0; + $1030 = HEAP32[$iIdxCur>>2]|0; + $1031 = HEAP32[$k>>2]|0; + $1032 = HEAP32[$iRowidReg>>2]|0; + $1033 = HEAP32[$j>>2]|0; + $1034 = (($1032) + ($1033))|0; + (_sqlite3VdbeAddOp3($1029,96,$1030,$1031,$1034)|0); + $1035 = HEAP32[$j>>2]|0; + $1036 = (($1035) + 1)|0; + HEAP32[$j>>2] = $1036; + } + $1037 = HEAP32[$v>>2]|0; + $1038 = HEAP32[$iCur>>2]|0; + $1039 = HEAP32[$addrCont>>2]|0; + $1040 = HEAP32[$iRowidReg>>2]|0; + $1041 = HEAP32[$pPk>>2]|0; + $1042 = ((($1041)) + 50|0); + $1043 = HEAP16[$1042>>1]|0; + $1044 = $1043&65535; + (_sqlite3VdbeAddOp4Int($1037,30,$1038,$1039,$1040,$1044)|0); } } while(0); - $969 = HEAP32[$pLoop>>2]|0; - $970 = ((($969)) + 36|0); - $971 = HEAP32[$970>>2]|0; - $972 = $971 & 4096; - $973 = ($972|0)!=(0); + $1045 = HEAP32[$pLoop>>2]|0; + $1046 = ((($1045)) + 36|0); + $1047 = HEAP32[$1046>>2]|0; + $1048 = $1047 & 4096; + $1049 = ($1048|0)!=(0); do { - if ($973) { - $974 = HEAP32[$pLevel>>2]|0; - $975 = ((($974)) + 45|0); - HEAP8[$975>>0] = -97; + if ($1049) { + $1050 = HEAP32[$pLevel>>2]|0; + $1051 = ((($1050)) + 45|0); + HEAP8[$1051>>0] = -95; } else { - $976 = HEAP32[$bRev>>2]|0; - $977 = ($976|0)!=(0); - $978 = HEAP32[$pLevel>>2]|0; - $979 = ((($978)) + 45|0); - if ($977) { - HEAP8[$979>>0] = 6; + $1052 = HEAP32[$bRev>>2]|0; + $1053 = ($1052|0)!=(0); + $1054 = HEAP32[$pLevel>>2]|0; + $1055 = ((($1054)) + 45|0); + if ($1053) { + HEAP8[$1055>>0] = 6; break; } else { - HEAP8[$979>>0] = 7; + HEAP8[$1055>>0] = 7; break; } } } while(0); - $980 = HEAP32[$iIdxCur>>2]|0; - $981 = HEAP32[$pLevel>>2]|0; - $982 = ((($981)) + 48|0); - HEAP32[$982>>2] = $980; - $983 = HEAP32[$pLoop>>2]|0; - $984 = ((($983)) + 36|0); - $985 = HEAP32[$984>>2]|0; - $986 = $985 & 65536; - $987 = ($986|0)!=(0); - $988 = $987 ? 1 : 0; - $989 = $988&255; - $990 = HEAP32[$pLevel>>2]|0; - $991 = ((($990)) + 46|0); - HEAP8[$991>>0] = $989; - $992 = HEAP32[$pLoop>>2]|0; - $993 = ((($992)) + 36|0); - $994 = HEAP32[$993>>2]|0; - $995 = $994 & 15; - $996 = ($995|0)==(0); - if (!($996)) { + $1056 = HEAP32[$iIdxCur>>2]|0; + $1057 = HEAP32[$pLevel>>2]|0; + $1058 = ((($1057)) + 48|0); + HEAP32[$1058>>2] = $1056; + $1059 = HEAP32[$pLoop>>2]|0; + $1060 = ((($1059)) + 36|0); + $1061 = HEAP32[$1060>>2]|0; + $1062 = $1061 & 65536; + $1063 = ($1062|0)!=(0); + $1064 = $1063 ? 1 : 0; + $1065 = $1064&255; + $1066 = HEAP32[$pLevel>>2]|0; + $1067 = ((($1066)) + 46|0); + HEAP8[$1067>>0] = $1065; + $1068 = HEAP32[$pLoop>>2]|0; + $1069 = ((($1068)) + 36|0); + $1070 = HEAP32[$1069>>2]|0; + $1071 = $1070 & 15; + $1072 = ($1071|0)==(0); + if (!($1072)) { break; } - $997 = HEAP32[$pLevel>>2]|0; - $998 = ((($997)) + 47|0); - HEAP8[$998>>0] = 1; + $1073 = HEAP32[$pLevel>>2]|0; + $1074 = ((($1073)) + 47|0); + HEAP8[$1074>>0] = 1; } } while(0); - $1452 = HEAP32[$pWC>>2]|0; - $1453 = ((($1452)) + 20|0); - $1454 = HEAP32[$1453>>2]|0; - HEAP32[$pTerm>>2] = $1454; - $1455 = HEAP32[$pWC>>2]|0; - $1456 = ((($1455)) + 12|0); - $1457 = HEAP32[$1456>>2]|0; - HEAP32[$j>>2] = $1457; + $1524 = HEAP32[$pWC>>2]|0; + $1525 = ((($1524)) + 20|0); + $1526 = HEAP32[$1525>>2]|0; + HEAP32[$pTerm>>2] = $1526; + $1527 = HEAP32[$pWC>>2]|0; + $1528 = ((($1527)) + 12|0); + $1529 = HEAP32[$1528>>2]|0; + HEAP32[$j>>2] = $1529; while(1) { - $1458 = HEAP32[$j>>2]|0; - $1459 = ($1458|0)>(0); - if (!($1459)) { + $1530 = HEAP32[$j>>2]|0; + $1531 = ($1530|0)>(0); + if (!($1531)) { break; } HEAP32[$skipLikeAddr>>2] = 0; - $1460 = HEAP32[$pTerm>>2]|0; - $1461 = ((($1460)) + 20|0); - $1462 = HEAP16[$1461>>1]|0; - $1463 = $1462&65535; - $1464 = $1463 & 6; - $1465 = ($1464|0)!=(0); + $1532 = HEAP32[$pTerm>>2]|0; + $1533 = ((($1532)) + 10|0); + $1534 = HEAP16[$1533>>1]|0; + $1535 = $1534&65535; + $1536 = $1535 & 6; + $1537 = ($1536|0)!=(0); do { - if (!($1465)) { - $1466 = HEAP32[$pTerm>>2]|0; - $1467 = ((($1466)) + 40|0); - $1468 = $1467; - $1469 = $1468; - $1470 = HEAP32[$1469>>2]|0; - $1471 = (($1468) + 4)|0; - $1472 = $1471; - $1473 = HEAP32[$1472>>2]|0; - $1474 = HEAP32[$pLevel>>2]|0; - $1475 = ((($1474)) + 72|0); - $1476 = $1475; - $1477 = $1476; - $1478 = HEAP32[$1477>>2]|0; - $1479 = (($1476) + 4)|0; - $1480 = $1479; - $1481 = HEAP32[$1480>>2]|0; - $1482 = $1470 & $1478; - $1483 = $1473 & $1481; - $1484 = ($1482|0)!=(0); - $1485 = ($1483|0)!=(0); - $1486 = $1484 | $1485; - if ($1486) { - $1487 = HEAP32[$3>>2]|0; - $1488 = ((($1487)) + 41|0); - HEAP8[$1488>>0] = 1; + if (!($1537)) { + $1538 = HEAP32[$pTerm>>2]|0; + $1539 = ((($1538)) + 40|0); + $1540 = $1539; + $1541 = $1540; + $1542 = HEAP32[$1541>>2]|0; + $1543 = (($1540) + 4)|0; + $1544 = $1543; + $1545 = HEAP32[$1544>>2]|0; + $1546 = HEAP32[$pLevel>>2]|0; + $1547 = ((($1546)) + 72|0); + $1548 = $1547; + $1549 = $1548; + $1550 = HEAP32[$1549>>2]|0; + $1551 = (($1548) + 4)|0; + $1552 = $1551; + $1553 = HEAP32[$1552>>2]|0; + $1554 = $1542 & $1550; + $1555 = $1545 & $1553; + $1556 = ($1554|0)!=(0); + $1557 = ($1555|0)!=(0); + $1558 = $1556 | $1557; + if ($1558) { + $1559 = HEAP32[$3>>2]|0; + $1560 = ((($1559)) + 46|0); + HEAP8[$1560>>0] = 1; break; } - $1489 = HEAP32[$pTerm>>2]|0; - $1490 = HEAP32[$1489>>2]|0; - HEAP32[$pE>>2] = $1490; - $1491 = HEAP32[$pLevel>>2]|0; - $1492 = HEAP32[$1491>>2]|0; - $1493 = ($1492|0)!=(0); - if ($1493) { - $1494 = HEAP32[$pE>>2]|0; - $1495 = ((($1494)) + 4|0); - $1496 = HEAP32[$1495>>2]|0; - $1497 = $1496 & 1; - $1498 = ($1497|0)!=(0); - if (!($1498)) { + $1561 = HEAP32[$pTerm>>2]|0; + $1562 = HEAP32[$1561>>2]|0; + HEAP32[$pE>>2] = $1562; + $1563 = HEAP32[$pLevel>>2]|0; + $1564 = HEAP32[$1563>>2]|0; + $1565 = ($1564|0)!=(0); + if ($1565) { + $1566 = HEAP32[$pE>>2]|0; + $1567 = ((($1566)) + 4|0); + $1568 = HEAP32[$1567>>2]|0; + $1569 = $1568 & 1; + $1570 = ($1569|0)!=(0); + if (!($1570)) { break; } } - $1499 = HEAP32[$pTerm>>2]|0; - $1500 = ((($1499)) + 20|0); - $1501 = HEAP16[$1500>>1]|0; - $1502 = $1501&65535; - $1503 = $1502 & 512; - $1504 = ($1503|0)!=(0); - if ($1504) { - $1505 = HEAP32[$pLevel>>2]|0; - $1506 = ((($1505)) + 36|0); - $1507 = HEAP32[$1506>>2]|0; - HEAP32[$x>>2] = $1507; - $1508 = HEAP32[$v>>2]|0; - $1509 = HEAP32[$x>>2]|0; - $1510 = $1509 & 1; - $1511 = ($1510|0)!=(0); - $1512 = $1511 ? 22 : 21; - $1513 = HEAP32[$x>>2]|0; - $1514 = $1513 >>> 1; - $1515 = (_sqlite3VdbeAddOp1($1508,$1512,$1514)|0); - HEAP32[$skipLikeAddr>>2] = $1515; - } - $1516 = HEAP32[$pParse>>2]|0; - $1517 = HEAP32[$pE>>2]|0; - $1518 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1516,$1517,$1518,16); - $1519 = HEAP32[$skipLikeAddr>>2]|0; - $1520 = ($1519|0)!=(0); - if ($1520) { - $1521 = HEAP32[$v>>2]|0; - $1522 = HEAP32[$skipLikeAddr>>2]|0; - _sqlite3VdbeJumpHere($1521,$1522); - } - $1523 = HEAP32[$pTerm>>2]|0; - $1524 = ((($1523)) + 20|0); - $1525 = HEAP16[$1524>>1]|0; - $1526 = $1525&65535; - $1527 = $1526 | 4; - $1528 = $1527&65535; - HEAP16[$1524>>1] = $1528; + $1571 = HEAP32[$pTerm>>2]|0; + $1572 = ((($1571)) + 10|0); + $1573 = HEAP16[$1572>>1]|0; + $1574 = $1573&65535; + $1575 = $1574 & 512; + $1576 = ($1575|0)!=(0); + if ($1576) { + $1577 = HEAP32[$pLevel>>2]|0; + $1578 = ((($1577)) + 36|0); + $1579 = HEAP32[$1578>>2]|0; + HEAP32[$x>>2] = $1579; + $1580 = HEAP32[$v>>2]|0; + $1581 = HEAP32[$x>>2]|0; + $1582 = $1581 & 1; + $1583 = ($1582|0)!=(0); + $1584 = $1583 ? 22 : 21; + $1585 = HEAP32[$x>>2]|0; + $1586 = $1585 >>> 1; + $1587 = (_sqlite3VdbeAddOp1($1580,$1584,$1586)|0); + HEAP32[$skipLikeAddr>>2] = $1587; + } + $1588 = HEAP32[$pParse>>2]|0; + $1589 = HEAP32[$pE>>2]|0; + $1590 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1588,$1589,$1590,16); + $1591 = HEAP32[$skipLikeAddr>>2]|0; + $1592 = ($1591|0)!=(0); + if ($1592) { + $1593 = HEAP32[$v>>2]|0; + $1594 = HEAP32[$skipLikeAddr>>2]|0; + _sqlite3VdbeJumpHere($1593,$1594); + } + $1595 = HEAP32[$pTerm>>2]|0; + $1596 = ((($1595)) + 10|0); + $1597 = HEAP16[$1596>>1]|0; + $1598 = $1597&65535; + $1599 = $1598 | 4; + $1600 = $1599&65535; + HEAP16[$1596>>1] = $1600; } } while(0); - $1529 = HEAP32[$j>>2]|0; - $1530 = (($1529) + -1)|0; - HEAP32[$j>>2] = $1530; - $1531 = HEAP32[$pTerm>>2]|0; - $1532 = ((($1531)) + 48|0); - HEAP32[$pTerm>>2] = $1532; - } - $1533 = HEAP32[$pWC>>2]|0; - $1534 = ((($1533)) + 20|0); - $1535 = HEAP32[$1534>>2]|0; - HEAP32[$pTerm>>2] = $1535; - $1536 = HEAP32[$pWC>>2]|0; - $1537 = ((($1536)) + 12|0); - $1538 = HEAP32[$1537>>2]|0; - HEAP32[$j>>2] = $1538; + $1601 = HEAP32[$j>>2]|0; + $1602 = (($1601) + -1)|0; + HEAP32[$j>>2] = $1602; + $1603 = HEAP32[$pTerm>>2]|0; + $1604 = ((($1603)) + 48|0); + HEAP32[$pTerm>>2] = $1604; + } + $1605 = HEAP32[$pWC>>2]|0; + $1606 = ((($1605)) + 20|0); + $1607 = HEAP32[$1606>>2]|0; + HEAP32[$pTerm>>2] = $1607; + $1608 = HEAP32[$pWC>>2]|0; + $1609 = ((($1608)) + 12|0); + $1610 = HEAP32[$1609>>2]|0; + HEAP32[$j>>2] = $1610; while(1) { - $1539 = HEAP32[$j>>2]|0; - $1540 = ($1539|0)>(0); - if (!($1540)) { - break; - } - $1541 = HEAP32[$pTerm>>2]|0; - $1542 = ((($1541)) + 20|0); - $1543 = HEAP16[$1542>>1]|0; - $1544 = $1543&65535; - $1545 = $1544 & 6; - $1546 = ($1545|0)!=(0); - if (!($1546)) { - $1547 = HEAP32[$pTerm>>2]|0; - $1548 = ((($1547)) + 18|0); - $1549 = HEAP16[$1548>>1]|0; - $1550 = $1549&65535; - $1551 = $1550 & 130; - $1552 = ($1551|0)==(0); - if (!($1552)) { - $1553 = HEAP32[$pTerm>>2]|0; - $1554 = ((($1553)) + 18|0); - $1555 = HEAP16[$1554>>1]|0; - $1556 = $1555&65535; - $1557 = $1556 & 2048; - $1558 = ($1557|0)==(0); - if (!($1558)) { - $1559 = HEAP32[$pTerm>>2]|0; - $1560 = ((($1559)) + 8|0); - $1561 = HEAP32[$1560>>2]|0; - $1562 = HEAP32[$iCur>>2]|0; - $1563 = ($1561|0)!=($1562|0); - if (!($1563)) { - $1564 = HEAP32[$pLevel>>2]|0; - $1565 = HEAP32[$1564>>2]|0; - $1566 = ($1565|0)!=(0); - if (!($1566)) { - $1567 = HEAP32[$pTerm>>2]|0; - $1568 = HEAP32[$1567>>2]|0; - HEAP32[$pE8>>2] = $1568; - $1569 = HEAP32[$pWC>>2]|0; - $1570 = HEAP32[$iCur>>2]|0; - $1571 = HEAP32[$pTerm>>2]|0; - $1572 = ((($1571)) + 12|0); - $1573 = HEAP32[$1572>>2]|0; - $1574 = $5; - $1575 = $1574; - $1576 = HEAP32[$1575>>2]|0; - $1577 = (($1574) + 4)|0; - $1578 = $1577; - $1579 = HEAP32[$1578>>2]|0; - $1580 = (_sqlite3WhereFindTerm($1569,$1570,$1573,$1576,$1579,131,0)|0); - HEAP32[$pAlt>>2] = $1580; - $1581 = HEAP32[$pAlt>>2]|0; - $1582 = ($1581|0)==(0|0); - if (!($1582)) { - $1583 = HEAP32[$pAlt>>2]|0; - $1584 = ((($1583)) + 20|0); - $1585 = HEAP16[$1584>>1]|0; - $1586 = $1585&65535; - $1587 = $1586 & 4; - $1588 = ($1587|0)!=(0); - if (!($1588)) { - $1589 = HEAP32[$db>>2]|0; - $1590 = (_sqlite3DbMallocRaw($1589,48,0)|0); - HEAP32[$pEAlt>>2] = $1590; - $1591 = HEAP32[$pEAlt>>2]|0; - $1592 = ($1591|0)!=(0|0); - if ($1592) { - $1593 = HEAP32[$pEAlt>>2]|0; - $1594 = HEAP32[$pAlt>>2]|0; - $1595 = HEAP32[$1594>>2]|0; - dest=$1593; src=$1595; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1596 = HEAP32[$pE8>>2]|0; - $1597 = ((($1596)) + 12|0); - $1598 = HEAP32[$1597>>2]|0; - $1599 = HEAP32[$pEAlt>>2]|0; - $1600 = ((($1599)) + 12|0); - HEAP32[$1600>>2] = $1598; - $1601 = HEAP32[$pParse>>2]|0; - $1602 = HEAP32[$pEAlt>>2]|0; - $1603 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1601,$1602,$1603,16); - $1604 = HEAP32[$db>>2]|0; - $1605 = HEAP32[$pEAlt>>2]|0; - _sqlite3DbFree($1604,$1605); - } + $1611 = HEAP32[$j>>2]|0; + $1612 = ($1611|0)>(0); + if (!($1612)) { + break; + } + $1613 = HEAP32[$pTerm>>2]|0; + $1614 = ((($1613)) + 10|0); + $1615 = HEAP16[$1614>>1]|0; + $1616 = $1615&65535; + $1617 = $1616 & 6; + $1618 = ($1617|0)!=(0); + if (!($1618)) { + $1619 = HEAP32[$pTerm>>2]|0; + $1620 = ((($1619)) + 12|0); + $1621 = HEAP16[$1620>>1]|0; + $1622 = $1621&65535; + $1623 = $1622 & 130; + $1624 = ($1623|0)==(0); + if (!($1624)) { + $1625 = HEAP32[$pTerm>>2]|0; + $1626 = ((($1625)) + 12|0); + $1627 = HEAP16[$1626>>1]|0; + $1628 = $1627&65535; + $1629 = $1628 & 2048; + $1630 = ($1629|0)==(0); + if (!($1630)) { + $1631 = HEAP32[$pTerm>>2]|0; + $1632 = ((($1631)) + 20|0); + $1633 = HEAP32[$1632>>2]|0; + $1634 = HEAP32[$iCur>>2]|0; + $1635 = ($1633|0)!=($1634|0); + if (!($1635)) { + $1636 = HEAP32[$pLevel>>2]|0; + $1637 = HEAP32[$1636>>2]|0; + $1638 = ($1637|0)!=(0); + if (!($1638)) { + $1639 = HEAP32[$pTerm>>2]|0; + $1640 = HEAP32[$1639>>2]|0; + HEAP32[$pE11>>2] = $1640; + $1641 = HEAP32[$pWC>>2]|0; + $1642 = HEAP32[$iCur>>2]|0; + $1643 = HEAP32[$pTerm>>2]|0; + $1644 = ((($1643)) + 28|0); + $1645 = HEAP32[$1644>>2]|0; + $1646 = $5; + $1647 = $1646; + $1648 = HEAP32[$1647>>2]|0; + $1649 = (($1646) + 4)|0; + $1650 = $1649; + $1651 = HEAP32[$1650>>2]|0; + $1652 = (_sqlite3WhereFindTerm($1641,$1642,$1645,$1648,$1651,131,0)|0); + HEAP32[$pAlt>>2] = $1652; + $1653 = HEAP32[$pAlt>>2]|0; + $1654 = ($1653|0)==(0|0); + if (!($1654)) { + $1655 = HEAP32[$pAlt>>2]|0; + $1656 = ((($1655)) + 10|0); + $1657 = HEAP16[$1656>>1]|0; + $1658 = $1657&65535; + $1659 = $1658 & 4; + $1660 = ($1659|0)!=(0); + if (!($1660)) { + $1661 = HEAP32[$pAlt>>2]|0; + $1662 = HEAP32[$1661>>2]|0; + dest=$sEAlt; src=$1662; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1663 = HEAP32[$pE11>>2]|0; + $1664 = ((($1663)) + 12|0); + $1665 = HEAP32[$1664>>2]|0; + $1666 = ((($sEAlt)) + 12|0); + HEAP32[$1666>>2] = $1665; + $1667 = HEAP32[$pParse>>2]|0; + $1668 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1667,$sEAlt,$1668,16); } } } @@ -175581,117 +178156,117 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { } } } - $1606 = HEAP32[$j>>2]|0; - $1607 = (($1606) + -1)|0; - HEAP32[$j>>2] = $1607; - $1608 = HEAP32[$pTerm>>2]|0; - $1609 = ((($1608)) + 48|0); - HEAP32[$pTerm>>2] = $1609; - } - $1610 = HEAP32[$pLevel>>2]|0; - $1611 = HEAP32[$1610>>2]|0; - $1612 = ($1611|0)!=(0); - L305: do { - if ($1612) { - $1613 = HEAP32[$v>>2]|0; - $1614 = (_sqlite3VdbeCurrentAddr($1613)|0); - $1615 = HEAP32[$pLevel>>2]|0; - $1616 = ((($1615)) + 28|0); - HEAP32[$1616>>2] = $1614; - $1617 = HEAP32[$v>>2]|0; - $1618 = HEAP32[$pLevel>>2]|0; - $1619 = HEAP32[$1618>>2]|0; - (_sqlite3VdbeAddOp2($1617,74,1,$1619)|0); - $1620 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCacheClear($1620); - $1621 = HEAP32[$pWC>>2]|0; - $1622 = ((($1621)) + 20|0); - $1623 = HEAP32[$1622>>2]|0; - HEAP32[$pTerm>>2] = $1623; + $1669 = HEAP32[$j>>2]|0; + $1670 = (($1669) + -1)|0; + HEAP32[$j>>2] = $1670; + $1671 = HEAP32[$pTerm>>2]|0; + $1672 = ((($1671)) + 48|0); + HEAP32[$pTerm>>2] = $1672; + } + $1673 = HEAP32[$pLevel>>2]|0; + $1674 = HEAP32[$1673>>2]|0; + $1675 = ($1674|0)!=(0); + L324: do { + if ($1675) { + $1676 = HEAP32[$v>>2]|0; + $1677 = (_sqlite3VdbeCurrentAddr($1676)|0); + $1678 = HEAP32[$pLevel>>2]|0; + $1679 = ((($1678)) + 28|0); + HEAP32[$1679>>2] = $1677; + $1680 = HEAP32[$v>>2]|0; + $1681 = HEAP32[$pLevel>>2]|0; + $1682 = HEAP32[$1681>>2]|0; + (_sqlite3VdbeAddOp2($1680,76,1,$1682)|0); + $1683 = HEAP32[$pParse>>2]|0; + _sqlite3ExprCacheClear($1683); + $1684 = HEAP32[$pWC>>2]|0; + $1685 = ((($1684)) + 20|0); + $1686 = HEAP32[$1685>>2]|0; + HEAP32[$pTerm>>2] = $1686; HEAP32[$j>>2] = 0; while(1) { - $1624 = HEAP32[$j>>2]|0; - $1625 = HEAP32[$pWC>>2]|0; - $1626 = ((($1625)) + 12|0); - $1627 = HEAP32[$1626>>2]|0; - $1628 = ($1624|0)<($1627|0); - if (!($1628)) { - break L305; - } - $1629 = HEAP32[$pTerm>>2]|0; - $1630 = ((($1629)) + 20|0); - $1631 = HEAP16[$1630>>1]|0; - $1632 = $1631&65535; - $1633 = $1632 & 6; - $1634 = ($1633|0)!=(0); - if (!($1634)) { - $1635 = HEAP32[$pTerm>>2]|0; - $1636 = ((($1635)) + 40|0); - $1637 = $1636; - $1638 = $1637; - $1639 = HEAP32[$1638>>2]|0; - $1640 = (($1637) + 4)|0; - $1641 = $1640; - $1642 = HEAP32[$1641>>2]|0; - $1643 = HEAP32[$pLevel>>2]|0; - $1644 = ((($1643)) + 72|0); - $1645 = $1644; - $1646 = $1645; - $1647 = HEAP32[$1646>>2]|0; - $1648 = (($1645) + 4)|0; - $1649 = $1648; - $1650 = HEAP32[$1649>>2]|0; - $1651 = $1639 & $1647; - $1652 = $1642 & $1650; - $1653 = ($1651|0)!=(0); - $1654 = ($1652|0)!=(0); - $1655 = $1653 | $1654; - if (!($1655)) { - $1656 = HEAP32[$pParse>>2]|0; - $1657 = HEAP32[$pTerm>>2]|0; - $1658 = HEAP32[$1657>>2]|0; - $1659 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1656,$1658,$1659,16); - $1660 = HEAP32[$pTerm>>2]|0; - $1661 = ((($1660)) + 20|0); - $1662 = HEAP16[$1661>>1]|0; - $1663 = $1662&65535; - $1664 = $1663 | 4; - $1665 = $1664&65535; - HEAP16[$1661>>1] = $1665; - } - } - $1666 = HEAP32[$j>>2]|0; - $1667 = (($1666) + 1)|0; - HEAP32[$j>>2] = $1667; - $1668 = HEAP32[$pTerm>>2]|0; - $1669 = ((($1668)) + 48|0); - HEAP32[$pTerm>>2] = $1669; + $1687 = HEAP32[$j>>2]|0; + $1688 = HEAP32[$pWC>>2]|0; + $1689 = ((($1688)) + 12|0); + $1690 = HEAP32[$1689>>2]|0; + $1691 = ($1687|0)<($1690|0); + if (!($1691)) { + break L324; + } + $1692 = HEAP32[$pTerm>>2]|0; + $1693 = ((($1692)) + 10|0); + $1694 = HEAP16[$1693>>1]|0; + $1695 = $1694&65535; + $1696 = $1695 & 6; + $1697 = ($1696|0)!=(0); + if (!($1697)) { + $1698 = HEAP32[$pTerm>>2]|0; + $1699 = ((($1698)) + 40|0); + $1700 = $1699; + $1701 = $1700; + $1702 = HEAP32[$1701>>2]|0; + $1703 = (($1700) + 4)|0; + $1704 = $1703; + $1705 = HEAP32[$1704>>2]|0; + $1706 = HEAP32[$pLevel>>2]|0; + $1707 = ((($1706)) + 72|0); + $1708 = $1707; + $1709 = $1708; + $1710 = HEAP32[$1709>>2]|0; + $1711 = (($1708) + 4)|0; + $1712 = $1711; + $1713 = HEAP32[$1712>>2]|0; + $1714 = $1702 & $1710; + $1715 = $1705 & $1713; + $1716 = ($1714|0)!=(0); + $1717 = ($1715|0)!=(0); + $1718 = $1716 | $1717; + if (!($1718)) { + $1719 = HEAP32[$pParse>>2]|0; + $1720 = HEAP32[$pTerm>>2]|0; + $1721 = HEAP32[$1720>>2]|0; + $1722 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1719,$1721,$1722,16); + $1723 = HEAP32[$pTerm>>2]|0; + $1724 = ((($1723)) + 10|0); + $1725 = HEAP16[$1724>>1]|0; + $1726 = $1725&65535; + $1727 = $1726 | 4; + $1728 = $1727&65535; + HEAP16[$1724>>1] = $1728; + } + } + $1729 = HEAP32[$j>>2]|0; + $1730 = (($1729) + 1)|0; + HEAP32[$j>>2] = $1730; + $1731 = HEAP32[$pTerm>>2]|0; + $1732 = ((($1731)) + 48|0); + HEAP32[$pTerm>>2] = $1732; } } } while(0); - $1670 = HEAP32[$pLevel>>2]|0; - $1671 = ((($1670)) + 72|0); - $1672 = $1671; - $1673 = $1672; - $1674 = HEAP32[$1673>>2]|0; - $1675 = (($1672) + 4)|0; - $1676 = $1675; - $1677 = HEAP32[$1676>>2]|0; - $1678 = $2; - $1679 = $1678; - HEAP32[$1679>>2] = $1674; - $1680 = (($1678) + 4)|0; - $1681 = $1680; - HEAP32[$1681>>2] = $1677; - $1682 = $2; - $1683 = $1682; - $1684 = HEAP32[$1683>>2]|0; - $1685 = (($1682) + 4)|0; - $1686 = $1685; - $1687 = HEAP32[$1686>>2]|0; - tempRet0 = ($1687); - STACKTOP = sp;return ($1684|0); + $1733 = HEAP32[$pLevel>>2]|0; + $1734 = ((($1733)) + 72|0); + $1735 = $1734; + $1736 = $1735; + $1737 = HEAP32[$1736>>2]|0; + $1738 = (($1735) + 4)|0; + $1739 = $1738; + $1740 = HEAP32[$1739>>2]|0; + $1741 = $2; + $1742 = $1741; + HEAP32[$1742>>2] = $1737; + $1743 = (($1741) + 4)|0; + $1744 = $1743; + HEAP32[$1744>>2] = $1740; + $1745 = $2; + $1746 = $1745; + $1747 = HEAP32[$1746>>2]|0; + $1748 = (($1745) + 4)|0; + $1749 = $1748; + $1750 = HEAP32[$1749>>2]|0; + tempRet0 = ($1750); + STACKTOP = sp;return ($1747|0); } function _sqlite3WhereGetMask($pMaskSet,$iCursor) { $pMaskSet = $pMaskSet|0; @@ -175776,233 +178351,698 @@ function _codeEqualityTerm($pParse,$pTerm,$pLevel,$iEq,$bRev,$iTarget) { $iTarget = $iTarget|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eType = 0, $iReg = 0, $iTab = 0, $pIn = 0, $pLoop = 0, $pX = 0, $v = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $aiMap = 0, $db = 0, $eType = 0, $i = 0, $iCol = 0, $iField = 0, $iMap = 0, $iOut = 0, $iReg = 0, $iTab = 0, $nEq = 0, $pIn = 0, $pLeft = 0, $pLhs = 0, $pLoop = 0, $pNewLhs = 0, $pNewRhs = 0, $pOrderBy = 0, $pOrigLhs = 0; + var $pOrigRhs = 0, $pRhs = 0, $pSelect = 0, $pX = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; - $4 = sp + 32|0; - $5 = sp + 28|0; - $pX = sp + 24|0; - $v = sp + 20|0; - $iReg = sp + 16|0; - $eType = sp + 12|0; - $iTab = sp + 8|0; - $pIn = sp + 4|0; - $pLoop = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pTerm; - HEAP32[$2>>2] = $pLevel; - HEAP32[$3>>2] = $iEq; - HEAP32[$4>>2] = $bRev; - HEAP32[$5>>2] = $iTarget; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$6>>2]|0; - HEAP32[$pX>>2] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$v>>2] = $10; - $11 = HEAP32[$pX>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)==(37); - if (!($14)) { - $15 = HEAP32[$pX>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = ($17|0)==(29); - if (!($18)) { - $25 = HEAP32[$pX>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==(34); - if ($28) { - $29 = HEAP32[$5>>2]|0; - HEAP32[$iReg>>2] = $29; - $30 = HEAP32[$v>>2]|0; - $31 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp2($30,77,0,$31)|0); - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$1>>2]|0; - _disableTerm($141,$142); - $143 = HEAP32[$iReg>>2]|0; - STACKTOP = sp;return ($143|0); - } - $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 64|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$pLoop>>2] = $34; - $35 = HEAP32[$pLoop>>2]|0; - $36 = ((($35)) + 36|0); - $37 = HEAP32[$36>>2]|0; - $38 = $37 & 1024; - $39 = ($38|0)==(0); - if ($39) { - $40 = HEAP32[$pLoop>>2]|0; - $41 = ((($40)) + 24|0); - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - if ($44) { - $45 = HEAP32[$3>>2]|0; - $46 = HEAP32[$pLoop>>2]|0; - $47 = ((($46)) + 24|0); - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($49)) + 28|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($51) + ($45)|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = ($54|0)!=(0); - if ($55) { - $56 = HEAP32[$4>>2]|0; - $57 = ($56|0)!=(0); - $58 = $57 ^ 1; - $59 = $58&1; - HEAP32[$4>>2] = $59; + STACKTOP = STACKTOP + 128|0; + $0 = sp + 120|0; + $1 = sp + 116|0; + $2 = sp + 112|0; + $3 = sp + 108|0; + $4 = sp + 104|0; + $5 = sp + 100|0; + $6 = sp + 96|0; + $pX = sp + 92|0; + $v = sp + 88|0; + $iReg = sp + 84|0; + $eType = sp + 80|0; + $iTab = sp + 76|0; + $pIn = sp + 72|0; + $pLoop = sp + 68|0; + $i = sp + 64|0; + $nEq = sp + 60|0; + $aiMap = sp + 56|0; + $pSelect = sp + 52|0; + $db = sp + 48|0; + $pOrigRhs = sp + 44|0; + $pOrigLhs = sp + 40|0; + $pRhs = sp + 36|0; + $pLhs = sp + 32|0; + $iField = sp + 28|0; + $pNewRhs = sp + 24|0; + $pNewLhs = sp + 20|0; + $pLeft = sp + 16|0; + $pOrderBy = sp + 12|0; + $iMap = sp + 8|0; + $iOut = sp + 4|0; + $iCol = sp; + HEAP32[$1>>2] = $pParse; + HEAP32[$2>>2] = $pTerm; + HEAP32[$3>>2] = $pLevel; + HEAP32[$4>>2] = $iEq; + HEAP32[$5>>2] = $bRev; + HEAP32[$6>>2] = $iTarget; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$pX>>2] = $8; + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$v>>2] = $11; + $12 = HEAP32[$pX>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(37); + do { + if ($15) { + label = 3; + } else { + $16 = HEAP32[$pX>>2]|0; + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(29); + if ($19) { + label = 3; + } else { + $26 = HEAP32[$pX>>2]|0; + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($28|0)==(34); + if ($29) { + $30 = HEAP32[$6>>2]|0; + HEAP32[$iReg>>2] = $30; + $31 = HEAP32[$v>>2]|0; + $32 = HEAP32[$iReg>>2]|0; + (_sqlite3VdbeAddOp2($31,79,0,$32)|0); + break; + } + HEAP32[$eType>>2] = 5; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 64|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$pLoop>>2] = $35; + HEAP32[$nEq>>2] = 0; + HEAP32[$aiMap>>2] = 0; + $36 = HEAP32[$pLoop>>2]|0; + $37 = ((($36)) + 36|0); + $38 = HEAP32[$37>>2]|0; + $39 = $38 & 1024; + $40 = ($39|0)==(0); + if ($40) { + $41 = HEAP32[$pLoop>>2]|0; + $42 = ((($41)) + 24|0); + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + if ($45) { + $46 = HEAP32[$4>>2]|0; + $47 = HEAP32[$pLoop>>2]|0; + $48 = ((($47)) + 24|0); + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = ((($50)) + 28|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + ($46)|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = ($55|0)!=(0); + if ($56) { + $57 = HEAP32[$5>>2]|0; + $58 = ($57|0)!=(0); + $59 = $58 ^ 1; + $60 = $59&1; + HEAP32[$5>>2] = $60; + } } } + $61 = HEAP32[$6>>2]|0; + HEAP32[$iReg>>2] = $61; + HEAP32[$i>>2] = 0; + while(1) { + $62 = HEAP32[$i>>2]|0; + $63 = HEAP32[$4>>2]|0; + $64 = ($62|0)<($63|0); + if (!($64)) { + break; + } + $65 = HEAP32[$i>>2]|0; + $66 = HEAP32[$pLoop>>2]|0; + $67 = ((($66)) + 48|0); + $68 = HEAP32[$67>>2]|0; + $69 = (($68) + ($65<<2)|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$i>>2]|0; + $73 = HEAP32[$pLoop>>2]|0; + $74 = ((($73)) + 48|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($75) + ($72<<2)|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$pX>>2]|0; + $80 = ($78|0)==($79|0); + if ($80) { + label = 14; + break; + } + } + $84 = HEAP32[$i>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$i>>2] = $85; + } + if ((label|0) == 14) { + $81 = HEAP32[$3>>2]|0; + $82 = HEAP32[$2>>2]|0; + _disableTerm($81,$82); + $83 = HEAP32[$6>>2]|0; + HEAP32[$0>>2] = $83; + $380 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($380|0); + } + $86 = HEAP32[$4>>2]|0; + HEAP32[$i>>2] = $86; + while(1) { + $87 = HEAP32[$i>>2]|0; + $88 = HEAP32[$pLoop>>2]|0; + $89 = ((($88)) + 40|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90&65535; + $92 = ($87|0)<($91|0); + if (!($92)) { + break; + } + $93 = HEAP32[$i>>2]|0; + $94 = HEAP32[$pLoop>>2]|0; + $95 = ((($94)) + 48|0); + $96 = HEAP32[$95>>2]|0; + $97 = (($96) + ($93<<2)|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = HEAP32[$i>>2]|0; + $101 = HEAP32[$pLoop>>2]|0; + $102 = ((($101)) + 48|0); + $103 = HEAP32[$102>>2]|0; + $104 = (($103) + ($100<<2)|0); + $105 = HEAP32[$104>>2]|0; + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$pX>>2]|0; + $108 = ($106|0)==($107|0); + if ($108) { + $109 = HEAP32[$nEq>>2]|0; + $110 = (($109) + 1)|0; + HEAP32[$nEq>>2] = $110; + } + } + $111 = HEAP32[$i>>2]|0; + $112 = (($111) + 1)|0; + HEAP32[$i>>2] = $112; + } + $113 = HEAP32[$pX>>2]|0; + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 2048; + $117 = ($116|0)==(0); + if ($117) { + label = 24; + } else { + $118 = HEAP32[$pX>>2]|0; + $119 = ((($118)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)==(1); + if ($123) { + label = 24; + } else { + $127 = HEAP32[$pX>>2]|0; + $128 = ((($127)) + 20|0); + $129 = HEAP32[$128>>2]|0; + HEAP32[$pSelect>>2] = $129; + $130 = HEAP32[$1>>2]|0; + $131 = HEAP32[$130>>2]|0; + HEAP32[$db>>2] = $131; + $132 = HEAP32[$pSelect>>2]|0; + $133 = HEAP32[$132>>2]|0; + HEAP32[$pOrigRhs>>2] = $133; + $134 = HEAP32[$pX>>2]|0; + $135 = ((($134)) + 12|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($136)) + 20|0); + $138 = HEAP32[$137>>2]|0; + HEAP32[$pOrigLhs>>2] = $138; + HEAP32[$pRhs>>2] = 0; + HEAP32[$pLhs>>2] = 0; + $139 = HEAP32[$4>>2]|0; + HEAP32[$i>>2] = $139; + while(1) { + $140 = HEAP32[$i>>2]|0; + $141 = HEAP32[$pLoop>>2]|0; + $142 = ((($141)) + 40|0); + $143 = HEAP16[$142>>1]|0; + $144 = $143&65535; + $145 = ($140|0)<($144|0); + if (!($145)) { + break; + } + $146 = HEAP32[$i>>2]|0; + $147 = HEAP32[$pLoop>>2]|0; + $148 = ((($147)) + 48|0); + $149 = HEAP32[$148>>2]|0; + $150 = (($149) + ($146<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$pX>>2]|0; + $154 = ($152|0)==($153|0); + if ($154) { + $155 = HEAP32[$i>>2]|0; + $156 = HEAP32[$pLoop>>2]|0; + $157 = ((($156)) + 48|0); + $158 = HEAP32[$157>>2]|0; + $159 = (($158) + ($155<<2)|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($160)) + 24|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($162) - 1)|0; + HEAP32[$iField>>2] = $163; + $164 = HEAP32[$db>>2]|0; + $165 = HEAP32[$iField>>2]|0; + $166 = HEAP32[$pOrigRhs>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = (($168) + (($165*20)|0)|0); + $170 = HEAP32[$169>>2]|0; + $171 = (_sqlite3ExprDup($164,$170,0)|0); + HEAP32[$pNewRhs>>2] = $171; + $172 = HEAP32[$db>>2]|0; + $173 = HEAP32[$iField>>2]|0; + $174 = HEAP32[$pOrigLhs>>2]|0; + $175 = ((($174)) + 4|0); + $176 = HEAP32[$175>>2]|0; + $177 = (($176) + (($173*20)|0)|0); + $178 = HEAP32[$177>>2]|0; + $179 = (_sqlite3ExprDup($172,$178,0)|0); + HEAP32[$pNewLhs>>2] = $179; + $180 = HEAP32[$1>>2]|0; + $181 = HEAP32[$pRhs>>2]|0; + $182 = HEAP32[$pNewRhs>>2]|0; + $183 = (_sqlite3ExprListAppend($180,$181,$182)|0); + HEAP32[$pRhs>>2] = $183; + $184 = HEAP32[$1>>2]|0; + $185 = HEAP32[$pLhs>>2]|0; + $186 = HEAP32[$pNewLhs>>2]|0; + $187 = (_sqlite3ExprListAppend($184,$185,$186)|0); + HEAP32[$pLhs>>2] = $187; + } + $188 = HEAP32[$i>>2]|0; + $189 = (($188) + 1)|0; + HEAP32[$i>>2] = $189; + } + $190 = HEAP32[$db>>2]|0; + $191 = ((($190)) + 69|0); + $192 = HEAP8[$191>>0]|0; + $193 = ($192<<24>>24)!=(0); + if (!($193)) { + $194 = HEAP32[$pX>>2]|0; + $195 = ((($194)) + 12|0); + $196 = HEAP32[$195>>2]|0; + HEAP32[$pLeft>>2] = $196; + $197 = HEAP32[$pSelect>>2]|0; + $198 = ((($197)) + 44|0); + $199 = HEAP32[$198>>2]|0; + $200 = ($199|0)!=(0|0); + L42: do { + if ($200) { + $201 = HEAP32[$pSelect>>2]|0; + $202 = ((($201)) + 44|0); + $203 = HEAP32[$202>>2]|0; + HEAP32[$pOrderBy>>2] = $203; + HEAP32[$i>>2] = 0; + while(1) { + $204 = HEAP32[$i>>2]|0; + $205 = HEAP32[$pOrderBy>>2]|0; + $206 = HEAP32[$205>>2]|0; + $207 = ($204|0)<($206|0); + if (!($207)) { + break L42; + } + $208 = HEAP32[$i>>2]|0; + $209 = HEAP32[$pOrderBy>>2]|0; + $210 = ((($209)) + 4|0); + $211 = HEAP32[$210>>2]|0; + $212 = (($211) + (($208*20)|0)|0); + $213 = ((($212)) + 16|0); + HEAP16[$213>>1] = 0; + $214 = HEAP32[$i>>2]|0; + $215 = (($214) + 1)|0; + HEAP32[$i>>2] = $215; + } + } + } while(0); + $216 = HEAP32[$pLhs>>2]|0; + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(1); + $219 = HEAP32[$pLhs>>2]|0; + if ($218) { + $220 = ((($219)) + 4|0); + $221 = HEAP32[$220>>2]|0; + $222 = HEAP32[$221>>2]|0; + $223 = HEAP32[$pX>>2]|0; + $224 = ((($223)) + 12|0); + HEAP32[$224>>2] = $222; + } else { + $225 = HEAP32[$pLeft>>2]|0; + $226 = ((($225)) + 20|0); + HEAP32[$226>>2] = $219; + $227 = HEAP32[$1>>2]|0; + $228 = HEAP32[$227>>2]|0; + $229 = HEAP32[$nEq>>2]|0; + $230 = $229<<2; + $231 = (_sqlite3DbMallocZero($228,$230,0)|0); + HEAP32[$aiMap>>2] = $231; + } + $232 = HEAP32[$pRhs>>2]|0; + $233 = HEAP32[$pSelect>>2]|0; + HEAP32[$233>>2] = $232; + $234 = HEAP32[$1>>2]|0; + $235 = HEAP32[$pX>>2]|0; + $236 = HEAP32[$aiMap>>2]|0; + $237 = (_sqlite3FindInIndex($234,$235,4,0,$236)|0); + HEAP32[$eType>>2] = $237; + $238 = HEAP32[$pOrigRhs>>2]|0; + $239 = HEAP32[$pSelect>>2]|0; + HEAP32[$239>>2] = $238; + $240 = HEAP32[$pOrigLhs>>2]|0; + $241 = HEAP32[$pLeft>>2]|0; + $242 = ((($241)) + 20|0); + HEAP32[$242>>2] = $240; + $243 = HEAP32[$pLeft>>2]|0; + $244 = HEAP32[$pX>>2]|0; + $245 = ((($244)) + 12|0); + HEAP32[$245>>2] = $243; + } + $246 = HEAP32[$1>>2]|0; + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[$pLhs>>2]|0; + _sqlite3ExprListDelete($247,$248); + $249 = HEAP32[$1>>2]|0; + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$pRhs>>2]|0; + _sqlite3ExprListDelete($250,$251); + } + } + if ((label|0) == 24) { + $124 = HEAP32[$1>>2]|0; + $125 = HEAP32[$pX>>2]|0; + $126 = (_sqlite3FindInIndex($124,$125,4,0,0)|0); + HEAP32[$eType>>2] = $126; + } + $252 = HEAP32[$eType>>2]|0; + $253 = ($252|0)==(4); + if ($253) { + $254 = HEAP32[$5>>2]|0; + $255 = ($254|0)!=(0); + $256 = $255 ^ 1; + $257 = $256&1; + HEAP32[$5>>2] = $257; + } + $258 = HEAP32[$pX>>2]|0; + $259 = ((($258)) + 28|0); + $260 = HEAP32[$259>>2]|0; + HEAP32[$iTab>>2] = $260; + $261 = HEAP32[$v>>2]|0; + $262 = HEAP32[$5>>2]|0; + $263 = ($262|0)!=(0); + $264 = $263 ? 53 : 57; + $265 = HEAP32[$iTab>>2]|0; + (_sqlite3VdbeAddOp2($261,$264,$265,0)|0); + $266 = HEAP32[$pLoop>>2]|0; + $267 = ((($266)) + 36|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 | 2048; + HEAP32[$267>>2] = $269; + $270 = HEAP32[$3>>2]|0; + $271 = ((($270)) + 56|0); + $272 = HEAP32[$271>>2]|0; + $273 = ($272|0)==(0); + if ($273) { + $274 = HEAP32[$v>>2]|0; + $275 = (_sqlite3VdbeMakeLabel($274)|0); + $276 = HEAP32[$3>>2]|0; + $277 = ((($276)) + 16|0); + HEAP32[$277>>2] = $275; + } + $278 = HEAP32[$3>>2]|0; + $279 = ((($278)) + 56|0); + $280 = HEAP32[$279>>2]|0; + HEAP32[$i>>2] = $280; + $281 = HEAP32[$nEq>>2]|0; + $282 = HEAP32[$3>>2]|0; + $283 = ((($282)) + 56|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($281))|0; + HEAP32[$283>>2] = $285; + $286 = HEAP32[$1>>2]|0; + $287 = HEAP32[$286>>2]|0; + $288 = HEAP32[$3>>2]|0; + $289 = ((($288)) + 56|0); + $290 = ((($289)) + 4|0); + $291 = HEAP32[$290>>2]|0; + $292 = HEAP32[$3>>2]|0; + $293 = ((($292)) + 56|0); + $294 = HEAP32[$293>>2]|0; + $295 = ($294*12)|0; + $296 = (_sqlite3DbReallocOrFree($287,$291,$295,0)|0); + $297 = HEAP32[$3>>2]|0; + $298 = ((($297)) + 56|0); + $299 = ((($298)) + 4|0); + HEAP32[$299>>2] = $296; + $300 = HEAP32[$3>>2]|0; + $301 = ((($300)) + 56|0); + $302 = ((($301)) + 4|0); + $303 = HEAP32[$302>>2]|0; + HEAP32[$pIn>>2] = $303; + $304 = HEAP32[$pIn>>2]|0; + $305 = ($304|0)!=(0|0); + L62: do { + if ($305) { + HEAP32[$iMap>>2] = 0; + $306 = HEAP32[$i>>2]|0; + $307 = HEAP32[$pIn>>2]|0; + $308 = (($307) + (($306*12)|0)|0); + HEAP32[$pIn>>2] = $308; + $309 = HEAP32[$4>>2]|0; + HEAP32[$i>>2] = $309; + while(1) { + $310 = HEAP32[$i>>2]|0; + $311 = HEAP32[$pLoop>>2]|0; + $312 = ((($311)) + 40|0); + $313 = HEAP16[$312>>1]|0; + $314 = $313&65535; + $315 = ($310|0)<($314|0); + if (!($315)) { + break L62; + } + $316 = HEAP32[$i>>2]|0; + $317 = HEAP32[$pLoop>>2]|0; + $318 = ((($317)) + 48|0); + $319 = HEAP32[$318>>2]|0; + $320 = (($319) + ($316<<2)|0); + $321 = HEAP32[$320>>2]|0; + $322 = HEAP32[$321>>2]|0; + $323 = HEAP32[$pX>>2]|0; + $324 = ($322|0)==($323|0); + if ($324) { + $325 = HEAP32[$iReg>>2]|0; + $326 = HEAP32[$i>>2]|0; + $327 = (($325) + ($326))|0; + $328 = HEAP32[$4>>2]|0; + $329 = (($327) - ($328))|0; + HEAP32[$iOut>>2] = $329; + $330 = HEAP32[$eType>>2]|0; + $331 = ($330|0)==(1); + if ($331) { + $332 = HEAP32[$v>>2]|0; + $333 = HEAP32[$iTab>>2]|0; + $334 = HEAP32[$iOut>>2]|0; + $335 = (_sqlite3VdbeAddOp2($332,123,$333,$334)|0); + $336 = HEAP32[$pIn>>2]|0; + $337 = ((($336)) + 4|0); + HEAP32[$337>>2] = $335; + } else { + $338 = HEAP32[$aiMap>>2]|0; + $339 = ($338|0)!=(0|0); + if ($339) { + $340 = HEAP32[$iMap>>2]|0; + $341 = (($340) + 1)|0; + HEAP32[$iMap>>2] = $341; + $342 = HEAP32[$aiMap>>2]|0; + $343 = (($342) + ($340<<2)|0); + $344 = HEAP32[$343>>2]|0; + $345 = $344; + } else { + $345 = 0; + } + HEAP32[$iCol>>2] = $345; + $346 = HEAP32[$v>>2]|0; + $347 = HEAP32[$iTab>>2]|0; + $348 = HEAP32[$iCol>>2]|0; + $349 = HEAP32[$iOut>>2]|0; + $350 = (_sqlite3VdbeAddOp3($346,96,$347,$348,$349)|0); + $351 = HEAP32[$pIn>>2]|0; + $352 = ((($351)) + 4|0); + HEAP32[$352>>2] = $350; + } + $353 = HEAP32[$v>>2]|0; + $354 = HEAP32[$iOut>>2]|0; + (_sqlite3VdbeAddOp1($353,34,$354)|0); + $355 = HEAP32[$i>>2]|0; + $356 = HEAP32[$4>>2]|0; + $357 = ($355|0)==($356|0); + if ($357) { + $358 = HEAP32[$iTab>>2]|0; + $359 = HEAP32[$pIn>>2]|0; + HEAP32[$359>>2] = $358; + $360 = HEAP32[$5>>2]|0; + $361 = ($360|0)!=(0); + $362 = $361 ? 4 : 5; + $363 = $362&255; + $364 = HEAP32[$pIn>>2]|0; + $365 = ((($364)) + 8|0); + HEAP8[$365>>0] = $363; + } else { + $366 = HEAP32[$pIn>>2]|0; + $367 = ((($366)) + 8|0); + HEAP8[$367>>0] = -95; + } + $368 = HEAP32[$pIn>>2]|0; + $369 = ((($368)) + 12|0); + HEAP32[$pIn>>2] = $369; + } + $370 = HEAP32[$i>>2]|0; + $371 = (($370) + 1)|0; + HEAP32[$i>>2] = $371; + } + } else { + $372 = HEAP32[$3>>2]|0; + $373 = ((($372)) + 56|0); + HEAP32[$373>>2] = 0; + } + } while(0); + $374 = HEAP32[$1>>2]|0; + $375 = HEAP32[$374>>2]|0; + $376 = HEAP32[$aiMap>>2]|0; + _sqlite3DbFree($375,$376); } - $60 = HEAP32[$5>>2]|0; - HEAP32[$iReg>>2] = $60; - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$pX>>2]|0; - $63 = (_sqlite3FindInIndex($61,$62,4,0)|0); - HEAP32[$eType>>2] = $63; - $64 = HEAP32[$eType>>2]|0; - $65 = ($64|0)==(4); - if ($65) { - $66 = HEAP32[$4>>2]|0; - $67 = ($66|0)!=(0); - $68 = $67 ^ 1; - $69 = $68&1; - HEAP32[$4>>2] = $69; - } - $70 = HEAP32[$pX>>2]|0; - $71 = ((($70)) + 28|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$iTab>>2] = $72; - $73 = HEAP32[$v>>2]|0; - $74 = HEAP32[$4>>2]|0; - $75 = ($74|0)!=(0); - $76 = $75 ? 33 : 55; - $77 = HEAP32[$iTab>>2]|0; - (_sqlite3VdbeAddOp2($73,$76,$77,0)|0); - $78 = HEAP32[$pLoop>>2]|0; - $79 = ((($78)) + 36|0); - $80 = HEAP32[$79>>2]|0; - $81 = $80 | 2048; - HEAP32[$79>>2] = $81; - $82 = HEAP32[$2>>2]|0; - $83 = ((($82)) + 56|0); - $84 = HEAP32[$83>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - $86 = HEAP32[$v>>2]|0; - $87 = (_sqlite3VdbeMakeLabel($86)|0); - $88 = HEAP32[$2>>2]|0; - $89 = ((($88)) + 16|0); - HEAP32[$89>>2] = $87; - } - $90 = HEAP32[$2>>2]|0; - $91 = ((($90)) + 56|0); - $92 = HEAP32[$91>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[$91>>2] = $93; - $94 = HEAP32[$0>>2]|0; - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 56|0); - $98 = ((($97)) + 4|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$2>>2]|0; - $101 = ((($100)) + 56|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102*12)|0; - $104 = (_sqlite3DbReallocOrFree($95,$99,$103,0)|0); - $105 = HEAP32[$2>>2]|0; - $106 = ((($105)) + 56|0); - $107 = ((($106)) + 4|0); - HEAP32[$107>>2] = $104; - $108 = HEAP32[$2>>2]|0; - $109 = ((($108)) + 56|0); - $110 = ((($109)) + 4|0); - $111 = HEAP32[$110>>2]|0; - HEAP32[$pIn>>2] = $111; - $112 = HEAP32[$pIn>>2]|0; - $113 = ($112|0)!=(0|0); - $114 = HEAP32[$2>>2]|0; - $115 = ((($114)) + 56|0); - if (!($113)) { - HEAP32[$115>>2] = 0; - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$1>>2]|0; - _disableTerm($141,$142); - $143 = HEAP32[$iReg>>2]|0; - STACKTOP = sp;return ($143|0); - } - $116 = HEAP32[$115>>2]|0; - $117 = (($116) - 1)|0; - $118 = HEAP32[$pIn>>2]|0; - $119 = (($118) + (($117*12)|0)|0); - HEAP32[$pIn>>2] = $119; - $120 = HEAP32[$iTab>>2]|0; - $121 = HEAP32[$pIn>>2]|0; - HEAP32[$121>>2] = $120; - $122 = HEAP32[$eType>>2]|0; - $123 = ($122|0)==(1); - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$iTab>>2]|0; - $126 = HEAP32[$iReg>>2]|0; - if ($123) { - $127 = (_sqlite3VdbeAddOp2($124,121,$125,$126)|0); - $128 = HEAP32[$pIn>>2]|0; - $129 = ((($128)) + 4|0); - HEAP32[$129>>2] = $127; - } else { - $130 = (_sqlite3VdbeAddOp3($124,94,$125,0,$126)|0); - $131 = HEAP32[$pIn>>2]|0; - $132 = ((($131)) + 4|0); - HEAP32[$132>>2] = $130; - } - $133 = HEAP32[$4>>2]|0; - $134 = ($133|0)!=(0); - $135 = $134 ? 4 : 5; - $136 = $135&255; - $137 = HEAP32[$pIn>>2]|0; - $138 = ((($137)) + 8|0); - HEAP8[$138>>0] = $136; - $139 = HEAP32[$v>>2]|0; - $140 = HEAP32[$iReg>>2]|0; - (_sqlite3VdbeAddOp1($139,34,$140)|0); - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$1>>2]|0; - _disableTerm($141,$142); - $143 = HEAP32[$iReg>>2]|0; - STACKTOP = sp;return ($143|0); } + } while(0); + if ((label|0) == 3) { + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$pX>>2]|0; + $22 = ((($21)) + 16|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = (_sqlite3ExprCodeTarget($20,$23,$24)|0); + HEAP32[$iReg>>2] = $25; + } + $377 = HEAP32[$3>>2]|0; + $378 = HEAP32[$2>>2]|0; + _disableTerm($377,$378); + $379 = HEAP32[$iReg>>2]|0; + HEAP32[$0>>2] = $379; + $380 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($380|0); +} +function _codeExprOrVector($pParse,$p,$iReg,$nReg) { + $pParse = $pParse|0; + $p = $p|0; + $iReg = $iReg|0; + $nReg = $nReg|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iSelect = 0, $pList = 0, $v = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $v = sp + 12|0; + $iSelect = sp + 8|0; + $i = sp + 4|0; + $pList = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $iReg; + HEAP32[$3>>2] = $nReg; + $4 = HEAP32[$1>>2]|0; + $5 = (_sqlite3ExprIsVector($4)|0); + $6 = ($5|0)!=(0); + if (!($6)) { + $41 = HEAP32[$0>>2]|0; + $42 = HEAP32[$1>>2]|0; + $43 = HEAP32[$2>>2]|0; + _sqlite3ExprCode($41,$42,$43); + STACKTOP = sp;return; + } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 2048; + $11 = ($10|0)!=(0); + if ($11) { + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$v>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$1>>2]|0; + $17 = (_sqlite3CodeSubselect($15,$16,0,0)|0); + HEAP32[$iSelect>>2] = $17; + $18 = HEAP32[$v>>2]|0; + $19 = HEAP32[$iSelect>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = HEAP32[$3>>2]|0; + $22 = (($21) - 1)|0; + (_sqlite3VdbeAddOp3($18,84,$19,$20,$22)|0); + STACKTOP = sp;return; + } + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$pList>>2] = $25; + HEAP32[$i>>2] = 0; + while(1) { + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = ($26|0)<($27|0); + if (!($28)) { + break; + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$i>>2]|0; + $31 = HEAP32[$pList>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + (($30*20)|0)|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$2>>2]|0; + $37 = HEAP32[$i>>2]|0; + $38 = (($36) + ($37))|0; + _sqlite3ExprCode($29,$35,$38); + $39 = HEAP32[$i>>2]|0; + $40 = (($39) + 1)|0; + HEAP32[$i>>2] = $40; } - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$pX>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$5>>2]|0; - $24 = (_sqlite3ExprCodeTarget($19,$22,$23)|0); - HEAP32[$iReg>>2] = $24; - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$1>>2]|0; - _disableTerm($141,$142); - $143 = HEAP32[$iReg>>2]|0; - STACKTOP = sp;return ($143|0); + STACKTOP = sp;return; } function _disableTerm($pLevel,$pTerm) { $pLevel = $pLevel|0; @@ -176028,7 +179068,7 @@ function _disableTerm($pLevel,$pTerm) { break; } $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 20|0); + $5 = ((($4)) + 10|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & 4; @@ -176081,14 +179121,14 @@ function _disableTerm($pLevel,$pTerm) { $41 = ($40|0)!=(0); if ($41) { $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 20|0); + $43 = ((($42)) + 10|0); $44 = HEAP16[$43>>1]|0; $45 = $44&65535; $46 = $45 & 1024; $47 = ($46|0)!=(0); if ($47) { $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 20|0); + $49 = ((($48)) + 10|0); $50 = HEAP16[$49>>1]|0; $51 = $50&65535; $52 = $51 | 512; @@ -176103,7 +179143,7 @@ function _disableTerm($pLevel,$pTerm) { if ((label|0) == 10) { label = 0; $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 20|0); + $55 = ((($54)) + 10|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; $58 = $57 | 4; @@ -176111,7 +179151,7 @@ function _disableTerm($pLevel,$pTerm) { HEAP16[$55>>1] = $59; } $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 4|0); + $61 = ((($60)) + 16|0); $62 = HEAP32[$61>>2]|0; $63 = ($62|0)<(0); if ($63) { @@ -176119,22 +179159,22 @@ function _disableTerm($pLevel,$pTerm) { break; } $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 4|0); + $65 = ((($64)) + 16|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$1>>2]|0; - $68 = ((($67)) + 24|0); + $68 = ((($67)) + 4|0); $69 = HEAP32[$68>>2]|0; $70 = ((($69)) + 20|0); $71 = HEAP32[$70>>2]|0; $72 = (($71) + (($66*48)|0)|0); HEAP32[$1>>2] = $72; $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 22|0); + $74 = ((($73)) + 14|0); $75 = HEAP8[$74>>0]|0; $76 = (($75) + -1)<<24>>24; HEAP8[$74>>0] = $76; $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 22|0); + $78 = ((($77)) + 14|0); $79 = HEAP8[$78>>0]|0; $80 = $79&255; $81 = ($80|0)!=(0); @@ -176160,12 +179200,13 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iIdxCur = 0, $j = 0, $nEq = 0, $nReg = 0, $nSkip = 0, $pIdx = 0, $pLoop = 0, $pRight = 0, $pTerm = 0, $r1 = 0; - var $regBase = 0, $v = 0, $zAff = 0, label = 0, sp = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iIdxCur = 0, $j = 0, $nEq = 0, $nReg = 0, $nSkip = 0, $or$cond = 0, $pIdx = 0, $pLoop = 0, $pRight = 0, $pTerm = 0, $r1 = 0, $regBase = 0, $v = 0, $zAff = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 60|0; @@ -176209,11 +179250,11 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { HEAP16[$nSkip>>1] = $16; $17 = HEAP32[$pLoop>>2]|0; $18 = ((($17)) + 24|0); - $19 = ((($18)) + 4|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; HEAP32[$pIdx>>2] = $20; $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 76|0); + $22 = ((($21)) + 44|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + 1)|0; HEAP32[$regBase>>2] = $24; @@ -176226,7 +179267,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { HEAP32[$nReg>>2] = $30; $31 = HEAP32[$nReg>>2]|0; $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 76|0); + $33 = ((($32)) + 44|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + ($31))|0; HEAP32[$33>>2] = $35; @@ -176249,7 +179290,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { $48 = HEAP32[$v>>2]|0; $49 = HEAP32[$2>>2]|0; $50 = ($49|0)!=(0); - $51 = $50 ? 33 : 55; + $51 = $50 ? 53 : 57; $52 = HEAP32[$iIdxCur>>2]|0; (_sqlite3VdbeAddOp1($48,$51,$52)|0); $53 = HEAP32[$v>>2]|0; @@ -176285,7 +179326,7 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { $75 = HEAP32[$regBase>>2]|0; $76 = HEAP32[$j>>2]|0; $77 = (($75) + ($76))|0; - (_sqlite3VdbeAddOp3($72,94,$73,$74,$77)|0); + (_sqlite3VdbeAddOp3($72,96,$73,$74,$77)|0); $78 = HEAP32[$j>>2]|0; $79 = (($78) + 1)|0; HEAP32[$j>>2] = $79; @@ -176342,85 +179383,108 @@ function _codeAllEqualityTerms($pParse,$pLevel,$bRev,$nExtraReg,$pzAff) { $113 = HEAP32[$regBase>>2]|0; $114 = HEAP32[$j>>2]|0; $115 = (($113) + ($114))|0; - (_sqlite3VdbeAddOp2($111,83,$112,$115)|0); + (_sqlite3VdbeAddOp2($111,85,$112,$115)|0); break; } } } while(0); $116 = HEAP32[$pTerm>>2]|0; - $117 = ((($116)) + 18|0); + $117 = ((($116)) + 12|0); $118 = HEAP16[$117>>1]|0; $119 = $118&65535; - $120 = $119 & 257; - $121 = ($120|0)==(0); + $120 = $119 & 1; + $121 = ($120|0)!=(0); + $122 = HEAP32[$pTerm>>2]|0; if ($121) { - $122 = HEAP32[$pTerm>>2]|0; $123 = HEAP32[$122>>2]|0; - $124 = ((($123)) + 16|0); + $124 = ((($123)) + 4|0); $125 = HEAP32[$124>>2]|0; - HEAP32[$pRight>>2] = $125; - $126 = HEAP32[$pTerm>>2]|0; - $127 = ((($126)) + 20|0); - $128 = HEAP16[$127>>1]|0; - $129 = $128&65535; - $130 = $129 & 2048; - $131 = ($130|0)==(0); - if ($131) { - $132 = HEAP32[$pRight>>2]|0; - $133 = (_sqlite3ExprCanBeNull($132)|0); - $134 = ($133|0)!=(0); - if ($134) { - $135 = HEAP32[$v>>2]|0; - $136 = HEAP32[$regBase>>2]|0; - $137 = HEAP32[$j>>2]|0; - $138 = (($136) + ($137))|0; - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 12|0); - $141 = HEAP32[$140>>2]|0; - (_sqlite3VdbeAddOp2($135,34,$138,$141)|0); + $126 = $125 & 2048; + $127 = ($126|0)!=(0); + $128 = HEAP32[$zAff>>2]|0; + $129 = ($128|0)!=(0|0); + $or$cond = $127 & $129; + if ($or$cond) { + $130 = HEAP32[$j>>2]|0; + $131 = HEAP32[$zAff>>2]|0; + $132 = (($131) + ($130)|0); + HEAP8[$132>>0] = 65; + } + } else { + $133 = ((($122)) + 12|0); + $134 = HEAP16[$133>>1]|0; + $135 = $134&65535; + $136 = $135 & 256; + $137 = ($136|0)==(0); + if ($137) { + $138 = HEAP32[$pTerm>>2]|0; + $139 = HEAP32[$138>>2]|0; + $140 = ((($139)) + 16|0); + $141 = HEAP32[$140>>2]|0; + HEAP32[$pRight>>2] = $141; + $142 = HEAP32[$pTerm>>2]|0; + $143 = ((($142)) + 10|0); + $144 = HEAP16[$143>>1]|0; + $145 = $144&65535; + $146 = $145 & 2048; + $147 = ($146|0)==(0); + if ($147) { + $148 = HEAP32[$pRight>>2]|0; + $149 = (_sqlite3ExprCanBeNull($148)|0); + $150 = ($149|0)!=(0); + if ($150) { + $151 = HEAP32[$v>>2]|0; + $152 = HEAP32[$regBase>>2]|0; + $153 = HEAP32[$j>>2]|0; + $154 = (($152) + ($153))|0; + $155 = HEAP32[$1>>2]|0; + $156 = ((($155)) + 12|0); + $157 = HEAP32[$156>>2]|0; + (_sqlite3VdbeAddOp2($151,34,$154,$157)|0); + } + } + $158 = HEAP32[$zAff>>2]|0; + $159 = ($158|0)!=(0|0); + if ($159) { + $160 = HEAP32[$pRight>>2]|0; + $161 = HEAP32[$j>>2]|0; + $162 = HEAP32[$zAff>>2]|0; + $163 = (($162) + ($161)|0); + $164 = HEAP8[$163>>0]|0; + $165 = (_sqlite3CompareAffinity($160,$164)|0); + $166 = $165 << 24 >> 24; + $167 = ($166|0)==(65); + if ($167) { + $168 = HEAP32[$j>>2]|0; + $169 = HEAP32[$zAff>>2]|0; + $170 = (($169) + ($168)|0); + HEAP8[$170>>0] = 65; + } + $171 = HEAP32[$pRight>>2]|0; + $172 = HEAP32[$j>>2]|0; + $173 = HEAP32[$zAff>>2]|0; + $174 = (($173) + ($172)|0); + $175 = HEAP8[$174>>0]|0; + $176 = (_sqlite3ExprNeedsNoAffinityChange($171,$175)|0); + $177 = ($176|0)!=(0); + if ($177) { + $178 = HEAP32[$j>>2]|0; + $179 = HEAP32[$zAff>>2]|0; + $180 = (($179) + ($178)|0); + HEAP8[$180>>0] = 65; + } } } - $142 = HEAP32[$zAff>>2]|0; - $143 = ($142|0)!=(0|0); - if ($143) { - $144 = HEAP32[$pRight>>2]|0; - $145 = HEAP32[$j>>2]|0; - $146 = HEAP32[$zAff>>2]|0; - $147 = (($146) + ($145)|0); - $148 = HEAP8[$147>>0]|0; - $149 = (_sqlite3CompareAffinity($144,$148)|0); - $150 = $149 << 24 >> 24; - $151 = ($150|0)==(65); - if ($151) { - $152 = HEAP32[$j>>2]|0; - $153 = HEAP32[$zAff>>2]|0; - $154 = (($153) + ($152)|0); - HEAP8[$154>>0] = 65; - } - $155 = HEAP32[$pRight>>2]|0; - $156 = HEAP32[$j>>2]|0; - $157 = HEAP32[$zAff>>2]|0; - $158 = (($157) + ($156)|0); - $159 = HEAP8[$158>>0]|0; - $160 = (_sqlite3ExprNeedsNoAffinityChange($155,$159)|0); - $161 = ($160|0)!=(0); - if ($161) { - $162 = HEAP32[$j>>2]|0; - $163 = HEAP32[$zAff>>2]|0; - $164 = (($163) + ($162)|0); - HEAP8[$164>>0] = 65; - } - } - } - $165 = HEAP32[$j>>2]|0; - $166 = (($165) + 1)|0; - HEAP32[$j>>2] = $166; - } - $167 = HEAP32[$zAff>>2]|0; - $168 = HEAP32[$4>>2]|0; - HEAP32[$168>>2] = $167; - $169 = HEAP32[$regBase>>2]|0; - STACKTOP = sp;return ($169|0); + } + $181 = HEAP32[$j>>2]|0; + $182 = (($181) + 1)|0; + HEAP32[$j>>2] = $182; + } + $183 = HEAP32[$zAff>>2]|0; + $184 = HEAP32[$4>>2]|0; + HEAP32[$184>>2] = $183; + $185 = HEAP32[$regBase>>2]|0; + STACKTOP = sp;return ($185|0); } function _whereLikeOptimizationStringFixup($v,$pLevel,$pTerm) { $v = $v|0; @@ -176438,7 +179502,7 @@ function _whereLikeOptimizationStringFixup($v,$pLevel,$pTerm) { HEAP32[$1>>2] = $pLevel; HEAP32[$2>>2] = $pTerm; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 20|0); + $4 = ((($3)) + 10|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = $6 & 256; @@ -176466,147 +179530,68 @@ function _whereLikeOptimizationStringFixup($v,$pLevel,$pTerm) { HEAP8[$23>>0] = $21; STACKTOP = sp;return; } -function _sqlite3ExprNeedsNoAffinityChange($p,$aff) { - $p = $p|0; - $aff = $aff|0; +function _updateRangeAffinityStr($pRight,$n,$zAff) { + $pRight = $pRight|0; + $n = $n|0; + $zAff = $zAff|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, $op = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - $2 = sp + 9|0; - $op = sp + 8|0; - HEAP32[$1>>2] = $p; - HEAP8[$2>>0] = $aff; - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $5 = ($4|0)==(65); - L1: do { - if ($5) { - HEAP32[$0>>2] = 1; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $i = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $pRight; + HEAP32[$1>>2] = $n; + HEAP32[$2>>2] = $zAff; + HEAP32[$i>>2] = 0; + while(1) { + $3 = HEAP32[$i>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ($3|0)<($4|0); + if (!($5)) { + break; + } + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$i>>2]|0; + $8 = (_sqlite3VectorFieldSubexpr($6,$7)|0); + HEAP32[$p>>2] = $8; + $9 = HEAP32[$p>>2]|0; + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) + ($10)|0); + $13 = HEAP8[$12>>0]|0; + $14 = (_sqlite3CompareAffinity($9,$13)|0); + $15 = $14 << 24 >> 24; + $16 = ($15|0)==(65); + if ($16) { + label = 5; } else { - while(1) { - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(156); - if ($9) { - $60 = 1; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($12|0)==(155); - $60 = $13; - } - $14 = HEAP32[$1>>2]|0; - if (!($60)) { - break; - } - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$1>>2] = $16; - } - $17 = HEAP8[$14>>0]|0; - HEAP8[$op>>0] = $17; - $18 = HEAP8[$op>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(157); - if ($20) { - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 38|0); - $23 = HEAP8[$22>>0]|0; - HEAP8[$op>>0] = $23; - } - $24 = HEAP8[$op>>0]|0; - $25 = $24&255; - switch ($25|0) { - case 132: { - $26 = HEAP8[$2>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($27|0)==(68); - if ($28) { - $33 = 1; - } else { - $29 = HEAP8[$2>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)==(67); - $33 = $31; - } - $32 = $33&1; - HEAP32[$0>>2] = $32; - break L1; - break; - } - case 133: { - $34 = HEAP8[$2>>0]|0; - $35 = $34 << 24 >> 24; - $36 = ($35|0)==(69); - if ($36) { - $41 = 1; - } else { - $37 = HEAP8[$2>>0]|0; - $38 = $37 << 24 >> 24; - $39 = ($38|0)==(67); - $41 = $39; - } - $40 = $41&1; - HEAP32[$0>>2] = $40; - break L1; - break; - } - case 97: { - $42 = HEAP8[$2>>0]|0; - $43 = $42 << 24 >> 24; - $44 = ($43|0)==(66); - $45 = $44&1; - HEAP32[$0>>2] = $45; - break L1; - break; - } - case 134: { - HEAP32[$0>>2] = 1; - break L1; - break; - } - case 152: { - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 32|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48 << 16 >> 16; - $50 = ($49|0)<(0); - if ($50) { - $51 = HEAP8[$2>>0]|0; - $52 = $51 << 24 >> 24; - $53 = ($52|0)==(68); - if ($53) { - $58 = 1; - } else { - $54 = HEAP8[$2>>0]|0; - $55 = $54 << 24 >> 24; - $56 = ($55|0)==(67); - $58 = $56; - } - } else { - $58 = 0; - } - $57 = $58&1; - HEAP32[$0>>2] = $57; - break L1; - break; - } - default: { - HEAP32[$0>>2] = 0; - break L1; - } + $17 = HEAP32[$p>>2]|0; + $18 = HEAP32[$i>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = (($19) + ($18)|0); + $21 = HEAP8[$20>>0]|0; + $22 = (_sqlite3ExprNeedsNoAffinityChange($17,$21)|0); + $23 = ($22|0)!=(0); + if ($23) { + label = 5; } } - } while(0); - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + if ((label|0) == 5) { + label = 0; + $24 = HEAP32[$i>>2]|0; + $25 = HEAP32[$2>>2]|0; + $26 = (($25) + ($24)|0); + HEAP8[$26>>0] = 65; + } + $27 = HEAP32[$i>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$i>>2] = $28; + } + STACKTOP = sp;return; } function _codeApplyAffinity($pParse,$base,$n,$zAff) { $pParse = $pParse|0; @@ -176690,7 +179675,7 @@ function _codeApplyAffinity($pParse,$base,$n,$zAff) { $35 = HEAP32[$2>>2]|0; $36 = HEAP32[$3>>2]|0; $37 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp4($33,95,$34,$35,0,$36,$37)|0); + (_sqlite3VdbeAddOp4($33,98,$34,$35,0,$36,$37)|0); $38 = HEAP32[$0>>2]|0; $39 = HEAP32[$1>>2]|0; $40 = HEAP32[$2>>2]|0; @@ -176732,9 +179717,9 @@ function _codeDeferredSeek($pWInfo,$pIdx,$iCur,$iIdxCur) { $9 = HEAP32[$v>>2]|0; $10 = HEAP32[$3>>2]|0; $11 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($9,126,$10,0,$11)|0); + (_sqlite3VdbeAddOp3($9,128,$10,0,$11)|0); $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 36|0); + $13 = ((($12)) + 40|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = $15 & 32; @@ -176743,18 +179728,18 @@ function _codeDeferredSeek($pWInfo,$pIdx,$iCur,$iIdxCur) { STACKTOP = sp;return; } $18 = HEAP32[$pParse>>2]|0; - $19 = ((($18)) + 416|0); + $19 = ((($18)) + 124|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)!=(0|0); $22 = HEAP32[$pParse>>2]|0; if ($21) { - $23 = ((($22)) + 416|0); + $23 = ((($22)) + 124|0); $24 = HEAP32[$23>>2]|0; $26 = $24; } else { $26 = $22; } - $25 = ((($26)) + 336|0); + $25 = ((($26)) + 92|0); $27 = HEAP32[$25>>2]|0; $28 = ($27|0)==(0); if (!($28)) { @@ -176868,7 +179853,7 @@ function _sqlite3ExprCodeGetColumnToReg($pParse,$pTab,$iColumn,$iTable,$iReg) { $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$r1>>2]|0; $18 = HEAP32[$4>>2]|0; - (_sqlite3VdbeAddOp2($16,83,$17,$18)|0); + (_sqlite3VdbeAddOp2($16,85,$17,$18)|0); STACKTOP = sp;return; } function _sqlite3VdbeChangeP1($p,$addr,$val) { @@ -176978,7 +179963,7 @@ function _sqlite3WhereFindTerm($pWC,$iCur,$iColumn,$0,$1,$op,$pIdx) { $52 = $50 & $51; if ($52) { $53 = HEAP32[$p>>2]|0; - $54 = ((($53)) + 18|0); + $54 = ((($53)) + 12|0); $55 = HEAP16[$54>>1]|0; $56 = $55&65535; $57 = HEAP32[$7>>2]|0; @@ -177258,14 +180243,14 @@ function _whereScanNext($pScan) { break; } $53 = HEAP32[$pTerm>>2]|0; - $54 = ((($53)) + 8|0); + $54 = ((($53)) + 20|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$iCur>>2]|0; $57 = ($55|0)==($56|0); do { if ($57) { $58 = HEAP32[$pTerm>>2]|0; - $59 = ((($58)) + 12|0); + $59 = ((($58)) + 28|0); $60 = HEAP32[$59>>2]|0; $61 = HEAP16[$iColumn>>1]|0; $62 = $61 << 16 >> 16; @@ -177306,7 +180291,7 @@ function _whereScanNext($pScan) { } } $88 = HEAP32[$pTerm>>2]|0; - $89 = ((($88)) + 18|0); + $89 = ((($88)) + 12|0); $90 = HEAP16[$89>>1]|0; $91 = $90&65535; $92 = $91 & 2048; @@ -177401,7 +180386,7 @@ function _whereScanNext($pScan) { } } $159 = HEAP32[$pTerm>>2]|0; - $160 = ((($159)) + 18|0); + $160 = ((($159)) + 12|0); $161 = HEAP16[$160>>1]|0; $162 = $161&65535; $163 = HEAP32[$1>>2]|0; @@ -177416,7 +180401,7 @@ function _whereScanNext($pScan) { $171 = ($170|0)!=(0|0); if ($171) { $172 = HEAP32[$pTerm>>2]|0; - $173 = ((($172)) + 18|0); + $173 = ((($172)) + 12|0); $174 = HEAP16[$173>>1]|0; $175 = $174&65535; $176 = $175 & 256; @@ -177469,7 +180454,7 @@ function _whereScanNext($pScan) { } } $210 = HEAP32[$pTerm>>2]|0; - $211 = ((($210)) + 18|0); + $211 = ((($210)) + 12|0); $212 = HEAP16[$211>>1]|0; $213 = $212&65535; $214 = $213 & 130; @@ -177547,28 +180532,268 @@ function _whereScanNext($pScan) { $262 = (($261) + 1)<<24>>24; HEAP8[$260>>0] = $262; } - if ((label|0) == 5) { - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + if ((label|0) == 5) { + HEAP32[$0>>2] = 0; + $263 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($263|0); + } + else if ((label|0) == 36) { + $239 = HEAP32[$k>>2]|0; + $240 = (($239) + 1)|0; + $241 = HEAP32[$1>>2]|0; + $242 = ((($241)) + 24|0); + HEAP32[$242>>2] = $240; + $243 = HEAP32[$pTerm>>2]|0; + HEAP32[$0>>2] = $243; + $263 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($263|0); + } + else if ((label|0) == 40) { + HEAP32[$0>>2] = 0; + $263 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($263|0); + } + return (0)|0; +} +function _sqlite3IndexAffinityOk($pExpr,$idx_affinity) { + $pExpr = $pExpr|0; + $idx_affinity = $idx_affinity|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + $2 = sp + 9|0; + $aff = sp + 8|0; + HEAP32[$1>>2] = $pExpr; + HEAP8[$2>>0] = $idx_affinity; + $3 = HEAP32[$1>>2]|0; + $4 = (_comparisonAffinity($3)|0); + HEAP8[$aff>>0] = $4; + $5 = HEAP8[$aff>>0]|0; + $6 = $5 << 24 >> 24; + switch ($6|0) { + case 65: { + HEAP32[$0>>2] = 1; + break; + } + case 66: { + $7 = HEAP8[$2>>0]|0; + $8 = $7 << 24 >> 24; + $9 = ($8|0)==(66); + $10 = $9&1; + HEAP32[$0>>2] = $10; + break; } - else if ((label|0) == 36) { - $239 = HEAP32[$k>>2]|0; - $240 = (($239) + 1)|0; - $241 = HEAP32[$1>>2]|0; - $242 = ((($241)) + 24|0); - HEAP32[$242>>2] = $240; - $243 = HEAP32[$pTerm>>2]|0; - HEAP32[$0>>2] = $243; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + default: { + $11 = HEAP8[$2>>0]|0; + $12 = $11 << 24 >> 24; + $13 = ($12|0)>=(67); + $14 = $13&1; + HEAP32[$0>>2] = $14; } - else if ((label|0) == 40) { - HEAP32[$0>>2] = 0; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); } - return (0)|0; + $15 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _comparisonAffinity($pExpr) { + $pExpr = $pExpr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aff = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + $aff = sp + 4|0; + HEAP32[$0>>2] = $pExpr; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_sqlite3ExprAffinity($3)|0); + HEAP8[$aff>>0] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)!=(0|0); + $9 = HEAP32[$0>>2]|0; + if ($8) { + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP8[$aff>>0]|0; + $13 = (_sqlite3CompareAffinity($11,$12)|0); + HEAP8[$aff>>0] = $13; + $30 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($30|0); + } + $14 = ((($9)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15 & 2048; + $17 = ($16|0)!=(0); + if ($17) { + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 20|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$20>>2]|0; + $22 = ((($21)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$23>>2]|0; + $25 = HEAP8[$aff>>0]|0; + $26 = (_sqlite3CompareAffinity($24,$25)|0); + HEAP8[$aff>>0] = $26; + $30 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($30|0); + } + $27 = HEAP8[$aff>>0]|0; + $28 = $27 << 24 >> 24; + $29 = ($28|0)==(0); + if (!($29)) { + $30 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($30|0); + } + HEAP8[$aff>>0] = 65; + $30 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($30|0); +} +function _sqlite3ExprNeedsNoAffinityChange($p,$aff) { + $p = $p|0; + $aff = $aff|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, $op = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + $2 = sp + 9|0; + $op = sp + 8|0; + HEAP32[$1>>2] = $p; + HEAP8[$2>>0] = $aff; + $3 = HEAP8[$2>>0]|0; + $4 = $3 << 24 >> 24; + $5 = ($4|0)==(65); + L1: do { + if ($5) { + HEAP32[$0>>2] = 1; + } else { + while(1) { + $6 = HEAP32[$1>>2]|0; + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(156); + if ($9) { + $60 = 1; + } else { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = ($12|0)==(155); + $60 = $13; + } + $14 = HEAP32[$1>>2]|0; + if (!($60)) { + break; + } + $15 = ((($14)) + 12|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$1>>2] = $16; + } + $17 = HEAP8[$14>>0]|0; + HEAP8[$op>>0] = $17; + $18 = HEAP8[$op>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(157); + if ($20) { + $21 = HEAP32[$1>>2]|0; + $22 = ((($21)) + 38|0); + $23 = HEAP8[$22>>0]|0; + HEAP8[$op>>0] = $23; + } + $24 = HEAP8[$op>>0]|0; + $25 = $24&255; + switch ($25|0) { + case 134: { + $26 = HEAP8[$2>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)==(68); + if ($28) { + $33 = 1; + } else { + $29 = HEAP8[$2>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)==(67); + $33 = $31; + } + $32 = $33&1; + HEAP32[$0>>2] = $32; + break L1; + break; + } + case 132: { + $34 = HEAP8[$2>>0]|0; + $35 = $34 << 24 >> 24; + $36 = ($35|0)==(69); + if ($36) { + $41 = 1; + } else { + $37 = HEAP8[$2>>0]|0; + $38 = $37 << 24 >> 24; + $39 = ($38|0)==(67); + $41 = $39; + } + $40 = $41&1; + HEAP32[$0>>2] = $40; + break L1; + break; + } + case 97: { + $42 = HEAP8[$2>>0]|0; + $43 = $42 << 24 >> 24; + $44 = ($43|0)==(66); + $45 = $44&1; + HEAP32[$0>>2] = $45; + break L1; + break; + } + case 133: { + HEAP32[$0>>2] = 1; + break L1; + break; + } + case 152: { + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 32|0); + $48 = HEAP16[$47>>1]|0; + $49 = $48 << 16 >> 16; + $50 = ($49|0)<(0); + if ($50) { + $51 = HEAP8[$2>>0]|0; + $52 = $51 << 24 >> 24; + $53 = ($52|0)==(68); + if ($53) { + $58 = 1; + } else { + $54 = HEAP8[$2>>0]|0; + $55 = $54 << 24 >> 24; + $56 = ($55|0)==(67); + $58 = $56; + } + } else { + $58 = 0; + } + $57 = $58&1; + HEAP32[$0>>2] = $57; + break L1; + break; + } + default: { + HEAP32[$0>>2] = 0; + break L1; + } + } + } + } while(0); + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } function _sqlite3StrAccumAppendAll($p,$z) { $p = $p|0; @@ -177593,25 +180818,23 @@ function _explainIndexRange($pStr,$pLoop) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $nEq = 0, $nSkip = 0, $pIndex = 0, $vararg_buffer = 0, $z = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $j = 0, $nEq = 0, $nSkip = 0, $pIndex = 0, $vararg_buffer = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $pIndex = sp + 24|0; - $nEq = sp + 38|0; - $nSkip = sp + 36|0; - $i = sp + 20|0; - $j = sp + 16|0; - $z = sp + 12|0; - $z1 = sp + 8|0; - $z2 = sp + 4|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $pIndex = sp + 16|0; + $nEq = sp + 30|0; + $nSkip = sp + 28|0; + $i = sp + 12|0; + $j = sp + 8|0; + $z = sp + 4|0; HEAP32[$0>>2] = $pStr; HEAP32[$1>>2] = $pLoop; $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 24|0); - $4 = ((($3)) + 4|0); + $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pIndex>>2] = $5; $6 = HEAP32[$1>>2]|0; @@ -177636,7 +180859,7 @@ function _explainIndexRange($pStr,$pLoop) { } } $20 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($20,35205,2); + _sqlite3StrAccumAppend($20,34684,2); HEAP32[$i>>2] = 0; while(1) { $21 = HEAP32[$i>>2]|0; @@ -177654,14 +180877,14 @@ function _explainIndexRange($pStr,$pLoop) { $29 = ($28|0)!=(0); if ($29) { $30 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($30,35208,5); + _sqlite3StrAccumAppend($30,34687,5); } $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$i>>2]|0; $33 = HEAP16[$nSkip>>1]|0; $34 = $33&65535; $35 = ($32|0)>=($34|0); - $36 = $35 ? 35214 : 35219; + $36 = $35 ? 34693 : 34698; $37 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $37; _sqlite3XPrintf($31,$36,$vararg_buffer); @@ -177677,34 +180900,37 @@ function _explainIndexRange($pStr,$pLoop) { $44 = $43 & 32; $45 = ($44|0)!=(0); if ($45) { - $46 = HEAP32[$pIndex>>2]|0; - $47 = HEAP32[$i>>2]|0; - $48 = (_explainIndexColumnName($46,$47)|0); - HEAP32[$z1>>2] = $48; - $49 = HEAP32[$0>>2]|0; - $50 = HEAP32[$i>>2]|0; - $51 = (($50) + 1)|0; - HEAP32[$i>>2] = $51; - $52 = HEAP32[$z1>>2]|0; - _explainAppendTerm($49,$50,$52,35136); + $46 = HEAP32[$0>>2]|0; + $47 = HEAP32[$pIndex>>2]|0; + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 24|0); + $50 = ((($49)) + 2|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51&65535; + $53 = HEAP32[$j>>2]|0; + $54 = HEAP32[$i>>2]|0; + _explainAppendTerm($46,$47,$52,$53,$54,34615); + HEAP32[$i>>2] = 1; } - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 36|0); - $55 = HEAP32[$54>>2]|0; - $56 = $55 & 16; - $57 = ($56|0)!=(0); - if ($57) { - $58 = HEAP32[$pIndex>>2]|0; - $59 = HEAP32[$j>>2]|0; - $60 = (_explainIndexColumnName($58,$59)|0); - HEAP32[$z2>>2] = $60; - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$z2>>2]|0; - _explainAppendTerm($61,$62,$63,35138); + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 36|0); + $57 = HEAP32[$56>>2]|0; + $58 = $57 & 16; + $59 = ($58|0)!=(0); + if ($59) { + $60 = HEAP32[$0>>2]|0; + $61 = HEAP32[$pIndex>>2]|0; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 24|0); + $64 = ((($63)) + 4|0); + $65 = HEAP16[$64>>1]|0; + $66 = $65&65535; + $67 = HEAP32[$j>>2]|0; + $68 = HEAP32[$i>>2]|0; + _explainAppendTerm($60,$61,$66,$67,$68,34617); } - $64 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($64,35227,1); + $69 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($69,34706,1); STACKTOP = sp;return; } function _explainIndexColumnName($pIdx,$i) { @@ -177730,14 +180956,14 @@ function _explainIndexColumnName($pIdx,$i) { $10 = HEAP32[$2>>2]|0; $11 = ($10|0)==(-2); if ($11) { - HEAP32[$0>>2] = 35229; + HEAP32[$0>>2] = 34712; $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); } $12 = HEAP32[$2>>2]|0; $13 = ($12|0)==(-1); if ($13) { - HEAP32[$0>>2] = 25361; + HEAP32[$0>>2] = 24745; $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); } else { @@ -177755,36 +180981,110 @@ function _explainIndexColumnName($pIdx,$i) { } return (0)|0; } -function _explainAppendTerm($pStr,$iTerm,$zColumn,$zOp) { +function _explainAppendTerm($pStr,$pIdx,$nTerm,$iTerm,$bAnd,$zOp) { $pStr = $pStr|0; + $pIdx = $pIdx|0; + $nTerm = $nTerm|0; $iTerm = $iTerm|0; - $zColumn = $zColumn|0; + $bAnd = $bAnd|0; $zOp = $zOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $i = sp; HEAP32[$0>>2] = $pStr; - HEAP32[$1>>2] = $iTerm; - HEAP32[$2>>2] = $zColumn; - HEAP32[$3>>2] = $zOp; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($6,35208,5); + HEAP32[$1>>2] = $pIdx; + HEAP32[$2>>2] = $nTerm; + HEAP32[$3>>2] = $iTerm; + HEAP32[$4>>2] = $bAnd; + HEAP32[$5>>2] = $zOp; + $6 = HEAP32[$4>>2]|0; + $7 = ($6|0)!=(0); + if ($7) { + $8 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($8,34687,5); } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - _sqlite3StrAccumAppendAll($7,$8); - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$3>>2]|0; - _sqlite3StrAccumAppend($9,$10,1); - $11 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($11,20891,1); + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)>(1); + if ($10) { + $11 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($11,34708,1); + } + HEAP32[$i>>2] = 0; + while(1) { + $12 = HEAP32[$i>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ($12|0)<($13|0); + if (!($14)) { + break; + } + $15 = HEAP32[$i>>2]|0; + $16 = ($15|0)!=(0); + if ($16) { + $17 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($17,34710,1); + } + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$i>>2]|0; + $22 = (($20) + ($21))|0; + $23 = (_explainIndexColumnName($19,$22)|0); + _sqlite3StrAccumAppendAll($18,$23); + $24 = HEAP32[$i>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$i>>2] = $25; + } + $26 = HEAP32[$2>>2]|0; + $27 = ($26|0)>(1); + if ($27) { + $28 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($28,34706,1); + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$5>>2]|0; + _sqlite3StrAccumAppend($29,$30,1); + $31 = HEAP32[$2>>2]|0; + $32 = ($31|0)>(1); + if ($32) { + $33 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($33,34708,1); + } + HEAP32[$i>>2] = 0; + while(1) { + $34 = HEAP32[$i>>2]|0; + $35 = HEAP32[$2>>2]|0; + $36 = ($34|0)<($35|0); + if (!($36)) { + break; + } + $37 = HEAP32[$i>>2]|0; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($39,34710,1); + } + $40 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($40,20275,1); + $41 = HEAP32[$i>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$i>>2] = $42; + } + $43 = HEAP32[$2>>2]|0; + $44 = ($43|0)>(1); + if (!($44)) { + STACKTOP = sp;return; + } + $45 = HEAP32[$0>>2]|0; + _sqlite3StrAccumAppend($45,34706,1); STACKTOP = sp;return; } function _sqlite3ExprIsTableConstant($p,$iCur) { @@ -177827,7 +181127,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { $9 = $8; HEAP32[$9>>2] = $1; $10 = HEAP32[$3>>2]|0; - $11 = ((($10)) + 8|0); + $11 = ((($10)) + 20|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$4>>2]|0; $14 = ((($13)) + 44|0); @@ -177839,7 +181139,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { STACKTOP = sp;return ($62|0); } $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 18|0); + $18 = ((($17)) + 12|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = $20 & 130; @@ -177874,7 +181174,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { STACKTOP = sp;return ($62|0); } $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 12|0); + $43 = ((($42)) + 28|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)<(0); if ($45) { @@ -177883,7 +181183,7 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { STACKTOP = sp;return ($62|0); } $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + 12|0); + $47 = ((($46)) + 28|0); $48 = HEAP32[$47>>2]|0; $49 = HEAP32[$4>>2]|0; $50 = ((($49)) + 16|0); @@ -178112,12 +181412,12 @@ function _sqlite3WhereExprUsage($pMaskSet,$p) { $pMaskSet = $pMaskSet|0; $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $mask = 0, label = 0, sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $mask = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 8|0; @@ -178126,178 +181426,183 @@ function _sqlite3WhereExprUsage($pMaskSet,$p) { $mask = sp; HEAP32[$1>>2] = $pMaskSet; HEAP32[$2>>2] = $p; - $3 = $mask; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $9 = $0; - $10 = $9; - HEAP32[$10>>2] = 0; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = 0; - $122 = $0; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - tempRet0 = ($127); - STACKTOP = sp;return ($124|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = $0; + $6 = $5; + HEAP32[$6>>2] = 0; + $7 = (($5) + 4)|0; + $8 = $7; + HEAP32[$8>>2] = 0; + $126 = $0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (($126) + 4)|0; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + tempRet0 = ($131); + STACKTOP = sp;return ($128|0); } - $13 = HEAP32[$2>>2]|0; - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(152); - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - if ($16) { - $19 = ((($18)) + 28|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3WhereGetMask($17,$20)|0); - $22 = tempRet0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = ($11|0)==(152); + if ($12) { + $13 = HEAP32[$1>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 28|0); + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3WhereGetMask($13,$16)|0); + $18 = tempRet0; + $19 = $mask; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; $23 = $mask; $24 = $23; - HEAP32[$24>>2] = $21; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = $mask; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = $0; - $34 = $33; - HEAP32[$34>>2] = $29; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $32; - $122 = $0; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - tempRet0 = ($127); - STACKTOP = sp;return ($124|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $0; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $126 = $0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (($126) + 4)|0; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + tempRet0 = ($131); + STACKTOP = sp;return ($128|0); } - $37 = ((($18)) + 16|0); - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3WhereExprUsage($17,$38)|0); - $40 = tempRet0; - $41 = $mask; - $42 = $41; - HEAP32[$42>>2] = $39; - $43 = (($41) + 4)|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 16|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)!=(0|0); + if ($36) { + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3WhereExprUsage($37,$40)|0); + $42 = tempRet0; + $45 = $41;$48 = $42; + } else { + $45 = 0;$48 = 0; + } + $43 = $mask; $44 = $43; - HEAP32[$44>>2] = $40; - $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 12|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)!=(0|0); - if ($48) { - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_sqlite3WhereExprUsage($49,$52)|0); - $54 = tempRet0; - $55 = $mask; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = $57 | $53; - $62 = $60 | $54; - $63 = $mask; - $64 = $63; - HEAP32[$64>>2] = $61; - $65 = (($63) + 4)|0; - $66 = $65; - HEAP32[$66>>2] = $62; + HEAP32[$44>>2] = $45; + $46 = (($43) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $48; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51|0)!=(0|0); + if ($52) { + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 12|0); + $56 = HEAP32[$55>>2]|0; + $57 = (_sqlite3WhereExprUsage($53,$56)|0); + $58 = tempRet0; + $59 = $mask; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = $61 | $57; + $66 = $64 | $58; + $67 = $mask; + $68 = $67; + HEAP32[$68>>2] = $65; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; } - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = $69 & 2048; - $71 = ($70|0)!=(0); - if ($71) { - $72 = HEAP32[$1>>2]|0; - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 20|0); - $75 = HEAP32[$74>>2]|0; - $76 = (_exprSelectUsage($72,$75)|0); - $77 = tempRet0; - $78 = $mask; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = $80 | $76; - $85 = $83 | $77; - $86 = $mask; - $87 = $86; - HEAP32[$87>>2] = $84; - $88 = (($86) + 4)|0; - $89 = $88; - HEAP32[$89>>2] = $85; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = $73 & 2048; + $75 = ($74|0)!=(0); + if ($75) { + $76 = HEAP32[$1>>2]|0; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 20|0); + $79 = HEAP32[$78>>2]|0; + $80 = (_exprSelectUsage($76,$79)|0); + $81 = tempRet0; + $82 = $mask; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $84 | $80; + $89 = $87 | $81; + $90 = $mask; + $91 = $90; + HEAP32[$91>>2] = $88; + $92 = (($90) + 4)|0; + $93 = $92; + HEAP32[$93>>2] = $89; } else { - $90 = HEAP32[$2>>2]|0; - $91 = ((($90)) + 20|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)!=(0|0); - if ($93) { - $94 = HEAP32[$1>>2]|0; - $95 = HEAP32[$2>>2]|0; - $96 = ((($95)) + 20|0); - $97 = HEAP32[$96>>2]|0; - $98 = (_sqlite3WhereExprListUsage($94,$97)|0); - $99 = tempRet0; - $100 = $mask; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = $102 | $98; - $107 = $105 | $99; - $108 = $mask; - $109 = $108; - HEAP32[$109>>2] = $106; - $110 = (($108) + 4)|0; - $111 = $110; - HEAP32[$111>>2] = $107; + $94 = HEAP32[$2>>2]|0; + $95 = ((($94)) + 20|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)!=(0|0); + if ($97) { + $98 = HEAP32[$1>>2]|0; + $99 = HEAP32[$2>>2]|0; + $100 = ((($99)) + 20|0); + $101 = HEAP32[$100>>2]|0; + $102 = (_sqlite3WhereExprListUsage($98,$101)|0); + $103 = tempRet0; + $104 = $mask; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (($104) + 4)|0; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = $106 | $102; + $111 = $109 | $103; + $112 = $mask; + $113 = $112; + HEAP32[$113>>2] = $110; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; } } - $112 = $mask; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (($112) + 4)|0; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = $0; - $119 = $118; - HEAP32[$119>>2] = $114; - $120 = (($118) + 4)|0; - $121 = $120; - HEAP32[$121>>2] = $117; + $116 = $mask; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; $122 = $0; $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - tempRet0 = ($127); - STACKTOP = sp;return ($124|0); + HEAP32[$123>>2] = $118; + $124 = (($122) + 4)|0; + $125 = $124; + HEAP32[$125>>2] = $121; + $126 = $0; + $127 = $126; + $128 = HEAP32[$127>>2]|0; + $129 = (($126) + 4)|0; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + tempRet0 = ($131); + STACKTOP = sp;return ($128|0); } function _exprSelectUsage($pMaskSet,$pS) { $pMaskSet = $pMaskSet|0; @@ -178565,7 +181870,7 @@ function _sqlite3LogEstAdd($a,$b) { $26 = HEAP16[$2>>1]|0; $27 = $26 << 16 >> 16; $28 = (($25) - ($27))|0; - $29 = (35291 + ($28)|0); + $29 = (34774 + ($28)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = (($21) + ($31))|0; @@ -178606,7 +181911,7 @@ function _sqlite3LogEstAdd($a,$b) { $52 = HEAP16[$1>>1]|0; $53 = $52 << 16 >> 16; $54 = (($51) - ($53))|0; - $55 = (35291 + ($54)|0); + $55 = (34774 + ($54)|0); $56 = HEAP8[$55>>0]|0; $57 = $56&255; $58 = (($47) + ($57))|0; @@ -178658,48 +181963,55 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bOnce = 0, $db = 0, $distinctColumns = 0, $i = 0, $iColumn = 0, $iCur = 0, $iLoop = 0, $isMatch = 0; - var $isOrderDistinct = 0, $j = 0, $m = 0, $mTerm = 0, $nColumn = 0, $nKeyCol = 0, $nOrderBy = 0, $obDone = 0, $obSat = 0, $or$cond = 0, $orderDistinctMask = 0, $p = 0, $pColl = 0, $pIndex = 0, $pLoop = 0, $pOBExpr = 0, $pTerm = 0, $ready = 0, $rev = 0, $revIdx = 0; - var $revSet = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; + var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; + var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; + var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; + var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; + var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bOnce = 0, $db = 0, $distinctColumns = 0, $eOp = 0, $eqOpMask = 0, $i = 0, $iColumn = 0, $iCur = 0, $iLoop = 0, $isMatch = 0, $isOrderDistinct = 0, $j = 0, $m = 0, $mTerm = 0, $nColumn = 0; + var $nKeyCol = 0, $nOrderBy = 0, $obDone = 0, $obSat = 0, $or$cond = 0, $orderDistinctMask = 0, $p = 0, $pColl = 0, $pIndex = 0, $pLoop = 0, $pOBExpr = 0, $pTerm = 0, $pX = 0, $ready = 0, $rev = 0, $revIdx = 0, $revSet = 0, $z1 = 0, $z2 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $0 = sp + 141|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $3 = sp + 112|0; - $4 = sp + 132|0; - $5 = sp + 130|0; - $6 = sp + 108|0; - $7 = sp + 104|0; - $revSet = sp + 140|0; - $rev = sp + 139|0; - $revIdx = sp + 138|0; - $isOrderDistinct = sp + 137|0; - $distinctColumns = sp + 136|0; - $isMatch = sp + 135|0; - $nKeyCol = sp + 128|0; - $nColumn = sp + 126|0; - $nOrderBy = sp + 124|0; - $iLoop = sp + 100|0; - $i = sp + 96|0; - $j = sp + 92|0; - $iCur = sp + 88|0; - $iColumn = sp + 84|0; - $pLoop = sp + 80|0; - $pTerm = sp + 76|0; - $pOBExpr = sp + 72|0; - $pColl = sp + 68|0; - $pIndex = sp + 64|0; - $db = sp + 60|0; + STACKTOP = STACKTOP + 160|0; + $0 = sp + 149|0; + $1 = sp + 124|0; + $2 = sp + 120|0; + $3 = sp + 116|0; + $4 = sp + 140|0; + $5 = sp + 138|0; + $6 = sp + 112|0; + $7 = sp + 108|0; + $revSet = sp + 148|0; + $rev = sp + 147|0; + $revIdx = sp + 146|0; + $isOrderDistinct = sp + 145|0; + $distinctColumns = sp + 144|0; + $isMatch = sp + 143|0; + $eqOpMask = sp + 136|0; + $nKeyCol = sp + 134|0; + $nColumn = sp + 132|0; + $nOrderBy = sp + 130|0; + $iLoop = sp + 104|0; + $i = sp + 100|0; + $j = sp + 96|0; + $iCur = sp + 92|0; + $iColumn = sp + 88|0; + $pLoop = sp + 84|0; + $pTerm = sp + 80|0; + $pOBExpr = sp + 76|0; + $pColl = sp + 72|0; + $pIndex = sp + 68|0; + $db = sp + 64|0; $obSat = sp + 40|0; $obDone = sp + 32|0; $orderDistinctMask = sp + 24|0; $ready = sp + 16|0; - $z1 = sp + 56|0; - $z2 = sp + 52|0; - $bOnce = sp + 134|0; + $z1 = sp + 60|0; + $z2 = sp + 56|0; + $bOnce = sp + 142|0; + $eOp = sp + 128|0; + $pX = sp + 52|0; $p = sp + 48|0; $mTerm = sp + 8|0; $m = sp; @@ -178733,8 +182045,8 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $23 = ($22|0)!=(0); if ($23) { HEAP8[$0>>0] = 0; - $691 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($691|0); + $764 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($764|0); } } $24 = HEAP32[$2>>2]|0; @@ -178746,8 +182058,8 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $29 = ($28|0)>(63); if ($29) { HEAP8[$0>>0] = 0; - $691 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($691|0); + $764 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($764|0); } HEAP8[$isOrderDistinct>>0] = 1; $30 = HEAP16[$nOrderBy>>1]|0; @@ -178774,951 +182086,1077 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = 0; + HEAP16[$eqOpMask>>1] = 386; + $48 = HEAP16[$4>>1]|0; + $49 = $48&65535; + $50 = $49 & 2048; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP16[$eqOpMask>>1]|0; + $53 = $52&65535; + $54 = $53 | 1; + $55 = $54&65535; + HEAP16[$eqOpMask>>1] = $55; + } HEAP32[$iLoop>>2] = 0; - while(1) { - $48 = HEAP8[$isOrderDistinct>>0]|0; - $49 = $48&255; - $50 = ($49|0)!=(0); - if (!($50)) { + L13: while(1) { + $56 = HEAP8[$isOrderDistinct>>0]|0; + $57 = $56&255; + $58 = ($57|0)!=(0); + if (!($58)) { break; } - $51 = $obSat; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = $obDone; - $58 = $57; - $59 = HEAP32[$58>>2]|0; - $60 = (($57) + 4)|0; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = ($56>>>0)<($62>>>0); - $64 = ($53>>>0)<($59>>>0); - $65 = ($56|0)==($62|0); - $66 = $65 & $64; - $67 = $63 | $66; - if (!($67)) { + $59 = $obSat; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = $obDone; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = (($65) + 4)|0; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = ($64>>>0)<($70>>>0); + $72 = ($61>>>0)<($67>>>0); + $73 = ($64|0)==($70|0); + $74 = $73 & $72; + $75 = $71 | $74; + if (!($75)) { break; } - $68 = HEAP32[$iLoop>>2]|0; - $69 = HEAP16[$5>>1]|0; - $70 = $69&65535; - $71 = ($68|0)<=($70|0); - if (!($71)) { + $76 = HEAP32[$iLoop>>2]|0; + $77 = HEAP16[$5>>1]|0; + $78 = $77&65535; + $79 = ($76|0)<=($78|0); + if (!($79)) { break; } - $72 = HEAP32[$iLoop>>2]|0; - $73 = ($72|0)>(0); - if ($73) { - $74 = HEAP32[$pLoop>>2]|0; - $75 = ((($74)) + 8|0); - $76 = $75; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = $ready; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = $84 | $78; - $89 = $87 | $81; + $80 = HEAP32[$iLoop>>2]|0; + $81 = ($80|0)>(0); + if ($81) { + $82 = HEAP32[$pLoop>>2]|0; + $83 = ((($82)) + 8|0); + $84 = $83; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (($84) + 4)|0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; $90 = $ready; $91 = $90; - HEAP32[$91>>2] = $88; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; + $92 = HEAP32[$91>>2]|0; + $93 = (($90) + 4)|0; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = $92 | $86; + $97 = $95 | $89; + $98 = $ready; + $99 = $98; + HEAP32[$99>>2] = $96; + $100 = (($98) + 4)|0; + $101 = $100; + HEAP32[$101>>2] = $97; } - $94 = HEAP32[$iLoop>>2]|0; - $95 = HEAP16[$5>>1]|0; - $96 = $95&65535; - $97 = ($94|0)<($96|0); - if ($97) { - $98 = HEAP32[$iLoop>>2]|0; - $99 = HEAP32[$3>>2]|0; - $100 = ((($99)) + 24|0); - $101 = HEAP32[$100>>2]|0; - $102 = (($101) + ($98<<2)|0); - $103 = HEAP32[$102>>2]|0; - $105 = $103; + $102 = HEAP32[$iLoop>>2]|0; + $103 = HEAP16[$5>>1]|0; + $104 = $103&65535; + $105 = ($102|0)<($104|0); + if ($105) { + $106 = HEAP32[$iLoop>>2]|0; + $107 = HEAP32[$3>>2]|0; + $108 = ((($107)) + 24|0); + $109 = HEAP32[$108>>2]|0; + $110 = (($109) + ($106<<2)|0); + $111 = HEAP32[$110>>2]|0; + HEAP32[$pLoop>>2] = $111; + $112 = HEAP16[$4>>1]|0; + $113 = $112&65535; + $114 = $113 & 2048; + $115 = ($114|0)!=(0); + if (!($115)) { + label = 17; + } } else { - $104 = HEAP32[$6>>2]|0; - $105 = $104; - } - HEAP32[$pLoop>>2] = $105; - $106 = HEAP32[$pLoop>>2]|0; - $107 = ((($106)) + 36|0); - $108 = HEAP32[$107>>2]|0; - $109 = $108 & 1024; - $110 = ($109|0)!=(0); - $111 = HEAP32[$pLoop>>2]|0; - if ($110) { - label = 16; - break; + $116 = HEAP32[$6>>2]|0; + HEAP32[$pLoop>>2] = $116; + label = 17; } - $126 = ((($111)) + 16|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = HEAP32[$1>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($131)) + 8|0); - $133 = (($132) + (($128*72)|0)|0); - $134 = ((($133)) + 44|0); - $135 = HEAP32[$134>>2]|0; - HEAP32[$iCur>>2] = $135; - HEAP32[$i>>2] = 0; - while(1) { - $136 = HEAP32[$i>>2]|0; - $137 = HEAP16[$nOrderBy>>1]|0; - $138 = $137&65535; - $139 = ($136|0)<($138|0); - if (!($139)) { - break; - } - $140 = HEAP32[$i>>2]|0; - $141 = (_bitshift64Shl(1,0,($140|0))|0); - $142 = tempRet0; - $143 = $obSat; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = (($143) + 4)|0; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = $141 & $145; - $150 = $142 & $148; - $151 = ($149|0)!=(0); - $152 = ($150|0)!=(0); - $153 = $151 | $152; - do { - if (!($153)) { - $154 = HEAP32[$i>>2]|0; - $155 = HEAP32[$2>>2]|0; - $156 = ((($155)) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = (($157) + (($154*20)|0)|0); + L24: do { + if ((label|0) == 17) { + label = 0; + $117 = HEAP32[$pLoop>>2]|0; + $118 = ((($117)) + 36|0); + $119 = HEAP32[$118>>2]|0; + $120 = $119 & 1024; + $121 = ($120|0)!=(0); + $122 = HEAP32[$pLoop>>2]|0; + if ($121) { + label = 18; + break L13; + } + $137 = ((($122)) + 16|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = HEAP32[$1>>2]|0; + $141 = ((($140)) + 4|0); + $142 = HEAP32[$141>>2]|0; + $143 = ((($142)) + 8|0); + $144 = (($143) + (($139*72)|0)|0); + $145 = ((($144)) + 44|0); + $146 = HEAP32[$145>>2]|0; + HEAP32[$iCur>>2] = $146; + HEAP32[$i>>2] = 0; + while(1) { + $147 = HEAP32[$i>>2]|0; + $148 = HEAP16[$nOrderBy>>1]|0; + $149 = $148&65535; + $150 = ($147|0)<($149|0); + if (!($150)) { + break; + } + $151 = HEAP32[$i>>2]|0; + $152 = (_bitshift64Shl(1,0,($151|0))|0); + $153 = tempRet0; + $154 = $obSat; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; $159 = HEAP32[$158>>2]|0; - $160 = (_sqlite3ExprSkipCollate($159)|0); - HEAP32[$pOBExpr>>2] = $160; - $161 = HEAP32[$pOBExpr>>2]|0; - $162 = HEAP8[$161>>0]|0; - $163 = $162&255; - $164 = ($163|0)!=(152); - if (!($164)) { - $165 = HEAP32[$pOBExpr>>2]|0; - $166 = ((($165)) + 28|0); - $167 = HEAP32[$166>>2]|0; - $168 = HEAP32[$iCur>>2]|0; - $169 = ($167|0)!=($168|0); - if (!($169)) { - $170 = HEAP32[$1>>2]|0; - $171 = ((($170)) + 328|0); - $172 = HEAP32[$iCur>>2]|0; - $173 = HEAP32[$pOBExpr>>2]|0; - $174 = ((($173)) + 32|0); - $175 = HEAP16[$174>>1]|0; - $176 = $175 << 16 >> 16; - $177 = $ready; - $178 = $177; - $179 = HEAP32[$178>>2]|0; - $180 = (($177) + 4)|0; - $181 = $180; - $182 = HEAP32[$181>>2]|0; - $183 = $179 ^ -1; - $184 = $182 ^ -1; - $185 = (_sqlite3WhereFindTerm($171,$172,$176,$183,$184,386,0)|0); - HEAP32[$pTerm>>2] = $185; - $186 = HEAP32[$pTerm>>2]|0; - $187 = ($186|0)==(0|0); - if (!($187)) { - $188 = HEAP32[$pTerm>>2]|0; - $189 = ((($188)) + 18|0); - $190 = HEAP16[$189>>1]|0; - $191 = $190&65535; - $192 = $191 & 130; - $193 = ($192|0)!=(0); - if ($193) { - $194 = HEAP32[$pOBExpr>>2]|0; - $195 = ((($194)) + 32|0); - $196 = HEAP16[$195>>1]|0; - $197 = $196 << 16 >> 16; - $198 = ($197|0)>=(0); - if ($198) { - $199 = HEAP32[$1>>2]|0; - $200 = HEAP32[$199>>2]|0; - $201 = HEAP32[$i>>2]|0; - $202 = HEAP32[$2>>2]|0; - $203 = ((($202)) + 4|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($204) + (($201*20)|0)|0); - $206 = HEAP32[$205>>2]|0; - $207 = (_sqlite3ExprCollSeq($200,$206)|0); - HEAP32[$pColl>>2] = $207; - $208 = HEAP32[$pColl>>2]|0; - $209 = ($208|0)!=(0|0); - if (!($209)) { - $210 = HEAP32[$db>>2]|0; - $211 = ((($210)) + 8|0); - $212 = HEAP32[$211>>2]|0; - HEAP32[$pColl>>2] = $212; - } - $213 = HEAP32[$pColl>>2]|0; - $214 = HEAP32[$213>>2]|0; - HEAP32[$z1>>2] = $214; - $215 = HEAP32[$1>>2]|0; - $216 = HEAP32[$215>>2]|0; - $217 = HEAP32[$pTerm>>2]|0; - $218 = HEAP32[$217>>2]|0; - $219 = (_sqlite3ExprCollSeq($216,$218)|0); - HEAP32[$pColl>>2] = $219; - $220 = HEAP32[$pColl>>2]|0; - $221 = ($220|0)!=(0|0); - if (!($221)) { - $222 = HEAP32[$db>>2]|0; - $223 = ((($222)) + 8|0); - $224 = HEAP32[$223>>2]|0; - HEAP32[$pColl>>2] = $224; - } - $225 = HEAP32[$pColl>>2]|0; - $226 = HEAP32[$225>>2]|0; - HEAP32[$z2>>2] = $226; - $227 = HEAP32[$z1>>2]|0; - $228 = HEAP32[$z2>>2]|0; - $229 = (_sqlite3StrICmp($227,$228)|0); - $230 = ($229|0)!=(0); - if ($230) { - break; + $160 = $152 & $156; + $161 = $153 & $159; + $162 = ($160|0)!=(0); + $163 = ($161|0)!=(0); + $164 = $162 | $163; + L30: do { + if (!($164)) { + $165 = HEAP32[$i>>2]|0; + $166 = HEAP32[$2>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = (($168) + (($165*20)|0)|0); + $170 = HEAP32[$169>>2]|0; + $171 = (_sqlite3ExprSkipCollate($170)|0); + HEAP32[$pOBExpr>>2] = $171; + $172 = HEAP32[$pOBExpr>>2]|0; + $173 = HEAP8[$172>>0]|0; + $174 = $173&255; + $175 = ($174|0)!=(152); + if (!($175)) { + $176 = HEAP32[$pOBExpr>>2]|0; + $177 = ((($176)) + 28|0); + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$iCur>>2]|0; + $180 = ($178|0)!=($179|0); + if (!($180)) { + $181 = HEAP32[$1>>2]|0; + $182 = ((($181)) + 80|0); + $183 = HEAP32[$iCur>>2]|0; + $184 = HEAP32[$pOBExpr>>2]|0; + $185 = ((($184)) + 32|0); + $186 = HEAP16[$185>>1]|0; + $187 = $186 << 16 >> 16; + $188 = $ready; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = (($188) + 4)|0; + $192 = $191; + $193 = HEAP32[$192>>2]|0; + $194 = $190 ^ -1; + $195 = $193 ^ -1; + $196 = HEAP16[$eqOpMask>>1]|0; + $197 = $196&65535; + $198 = (_sqlite3WhereFindTerm($182,$183,$187,$194,$195,$197,0)|0); + HEAP32[$pTerm>>2] = $198; + $199 = HEAP32[$pTerm>>2]|0; + $200 = ($199|0)==(0|0); + if (!($200)) { + $201 = HEAP32[$pTerm>>2]|0; + $202 = ((($201)) + 12|0); + $203 = HEAP16[$202>>1]|0; + $204 = $203&65535; + $205 = ($204|0)==(1); + if ($205) { + HEAP32[$j>>2] = 0; + while(1) { + $206 = HEAP32[$j>>2]|0; + $207 = HEAP32[$pLoop>>2]|0; + $208 = ((($207)) + 40|0); + $209 = HEAP16[$208>>1]|0; + $210 = $209&65535; + $211 = ($206|0)<($210|0); + if (!($211)) { + break; + } + $212 = HEAP32[$pTerm>>2]|0; + $213 = HEAP32[$j>>2]|0; + $214 = HEAP32[$pLoop>>2]|0; + $215 = ((($214)) + 48|0); + $216 = HEAP32[$215>>2]|0; + $217 = (($216) + ($213<<2)|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($212|0)!=($218|0); + if (!($219)) { + break; + } + $220 = HEAP32[$j>>2]|0; + $221 = (($220) + 1)|0; + HEAP32[$j>>2] = $221; + } + $222 = HEAP32[$j>>2]|0; + $223 = HEAP32[$pLoop>>2]|0; + $224 = ((($223)) + 40|0); + $225 = HEAP16[$224>>1]|0; + $226 = $225&65535; + $227 = ($222|0)>=($226|0); + if ($227) { + break; + } } + $228 = HEAP32[$pTerm>>2]|0; + $229 = ((($228)) + 12|0); + $230 = HEAP16[$229>>1]|0; + $231 = $230&65535; + $232 = $231 & 130; + $233 = ($232|0)!=(0); + do { + if ($233) { + $234 = HEAP32[$pOBExpr>>2]|0; + $235 = ((($234)) + 32|0); + $236 = HEAP16[$235>>1]|0; + $237 = $236 << 16 >> 16; + $238 = ($237|0)>=(0); + if (!($238)) { + break; + } + $239 = HEAP32[$1>>2]|0; + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$i>>2]|0; + $242 = HEAP32[$2>>2]|0; + $243 = ((($242)) + 4|0); + $244 = HEAP32[$243>>2]|0; + $245 = (($244) + (($241*20)|0)|0); + $246 = HEAP32[$245>>2]|0; + $247 = (_sqlite3ExprCollSeq($240,$246)|0); + HEAP32[$pColl>>2] = $247; + $248 = HEAP32[$pColl>>2]|0; + $249 = ($248|0)!=(0|0); + if (!($249)) { + $250 = HEAP32[$db>>2]|0; + $251 = ((($250)) + 8|0); + $252 = HEAP32[$251>>2]|0; + HEAP32[$pColl>>2] = $252; + } + $253 = HEAP32[$pColl>>2]|0; + $254 = HEAP32[$253>>2]|0; + HEAP32[$z1>>2] = $254; + $255 = HEAP32[$1>>2]|0; + $256 = HEAP32[$255>>2]|0; + $257 = HEAP32[$pTerm>>2]|0; + $258 = HEAP32[$257>>2]|0; + $259 = (_sqlite3ExprCollSeq($256,$258)|0); + HEAP32[$pColl>>2] = $259; + $260 = HEAP32[$pColl>>2]|0; + $261 = ($260|0)!=(0|0); + if (!($261)) { + $262 = HEAP32[$db>>2]|0; + $263 = ((($262)) + 8|0); + $264 = HEAP32[$263>>2]|0; + HEAP32[$pColl>>2] = $264; + } + $265 = HEAP32[$pColl>>2]|0; + $266 = HEAP32[$265>>2]|0; + HEAP32[$z2>>2] = $266; + $267 = HEAP32[$z1>>2]|0; + $268 = HEAP32[$z2>>2]|0; + $269 = (_sqlite3StrICmp($267,$268)|0); + $270 = ($269|0)!=(0); + if ($270) { + break L30; + } + } + } while(0); + $271 = HEAP32[$i>>2]|0; + $272 = (_bitshift64Shl(1,0,($271|0))|0); + $273 = tempRet0; + $274 = $obSat; + $275 = $274; + $276 = HEAP32[$275>>2]|0; + $277 = (($274) + 4)|0; + $278 = $277; + $279 = HEAP32[$278>>2]|0; + $280 = $276 | $272; + $281 = $279 | $273; + $282 = $obSat; + $283 = $282; + HEAP32[$283>>2] = $280; + $284 = (($282) + 4)|0; + $285 = $284; + HEAP32[$285>>2] = $281; } } - $231 = HEAP32[$i>>2]|0; - $232 = (_bitshift64Shl(1,0,($231|0))|0); - $233 = tempRet0; - $234 = $obSat; - $235 = $234; - $236 = HEAP32[$235>>2]|0; - $237 = (($234) + 4)|0; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = $236 | $232; - $241 = $239 | $233; - $242 = $obSat; - $243 = $242; - HEAP32[$243>>2] = $240; - $244 = (($242) + 4)|0; - $245 = $244; - HEAP32[$245>>2] = $241; } } - } - } - } while(0); - $246 = HEAP32[$i>>2]|0; - $247 = (($246) + 1)|0; - HEAP32[$i>>2] = $247; - } - $248 = HEAP32[$pLoop>>2]|0; - $249 = ((($248)) + 36|0); - $250 = HEAP32[$249>>2]|0; - $251 = $250 & 4096; - $252 = ($251|0)==(0); - if ($252) { - $253 = HEAP32[$pLoop>>2]|0; - $254 = ((($253)) + 36|0); - $255 = HEAP32[$254>>2]|0; - $256 = $255 & 256; - $257 = ($256|0)!=(0); - if ($257) { - HEAP32[$pIndex>>2] = 0; - HEAP16[$nKeyCol>>1] = 0; - HEAP16[$nColumn>>1] = 1; - } else { - $258 = HEAP32[$pLoop>>2]|0; - $259 = ((($258)) + 24|0); - $260 = ((($259)) + 4|0); - $261 = HEAP32[$260>>2]|0; - HEAP32[$pIndex>>2] = $261; - $262 = ($261|0)==(0|0); - if ($262) { - label = 38; - break; - } - $263 = HEAP32[$pIndex>>2]|0; - $264 = ((($263)) + 55|0); - $265 = HEAP8[$264>>0]|0; - $266 = ($265&255) >>> 2; - $267 = $266 & 1; - $268 = $267&255; - $269 = ($268|0)!=(0); - if ($269) { - label = 38; - break; - } - $270 = HEAP32[$pIndex>>2]|0; - $271 = ((($270)) + 50|0); - $272 = HEAP16[$271>>1]|0; - HEAP16[$nKeyCol>>1] = $272; - $273 = HEAP32[$pIndex>>2]|0; - $274 = ((($273)) + 52|0); - $275 = HEAP16[$274>>1]|0; - HEAP16[$nColumn>>1] = $275; - $276 = HEAP32[$pIndex>>2]|0; - $277 = ((($276)) + 54|0); - $278 = HEAP8[$277>>0]|0; - $279 = $278&255; - $280 = ($279|0)!=(0); - $281 = $280&1; - $282 = $281&255; - HEAP8[$isOrderDistinct>>0] = $282; - } - HEAP8[$revSet>>0] = 0; - HEAP8[$rev>>0] = 0; - HEAP8[$distinctColumns>>0] = 0; - HEAP32[$j>>2] = 0; - while(1) { - $283 = HEAP32[$j>>2]|0; - $284 = HEAP16[$nColumn>>1]|0; - $285 = $284&65535; - $286 = ($283|0)<($285|0); - if (!($286)) { - break; + } while(0); + $286 = HEAP32[$i>>2]|0; + $287 = (($286) + 1)|0; + HEAP32[$i>>2] = $287; } - $287 = HEAP32[$j>>2]|0; $288 = HEAP32[$pLoop>>2]|0; - $289 = ((($288)) + 24|0); - $290 = HEAP16[$289>>1]|0; - $291 = $290&65535; - $292 = ($287|0)<($291|0); + $289 = ((($288)) + 36|0); + $290 = HEAP32[$289>>2]|0; + $291 = $290 & 4096; + $292 = ($291|0)==(0); if ($292) { $293 = HEAP32[$pLoop>>2]|0; - $294 = ((($293)) + 42|0); - $295 = HEAP16[$294>>1]|0; - $296 = $295&65535; - $297 = ($296|0)==(0); + $294 = ((($293)) + 36|0); + $295 = HEAP32[$294>>2]|0; + $296 = $295 & 256; + $297 = ($296|0)!=(0); if ($297) { - $298 = HEAP32[$j>>2]|0; - $299 = HEAP32[$pLoop>>2]|0; - $300 = ((($299)) + 48|0); - $301 = HEAP32[$300>>2]|0; - $302 = (($301) + ($298<<2)|0); - $303 = HEAP32[$302>>2]|0; - $304 = ((($303)) + 18|0); - $305 = HEAP16[$304>>1]|0; - $306 = $305&65535; - HEAP32[$i>>2] = $306; - $307 = $306 & 386; - $308 = ($307|0)!=(0); - if ($308) { - $309 = HEAP32[$i>>2]|0; - $310 = $309 & 256; - $311 = ($310|0)!=(0); - if ($311) { - HEAP8[$isOrderDistinct>>0] = 0; - } - } else { - label = 47; - } - } else { - label = 47; - } - } else { - label = 47; - } - if ((label|0) == 47) { - label = 0; - $312 = HEAP32[$pIndex>>2]|0; - $313 = ($312|0)!=(0|0); - if ($313) { - $314 = HEAP32[$j>>2]|0; - $315 = HEAP32[$pIndex>>2]|0; - $316 = ((($315)) + 4|0); - $317 = HEAP32[$316>>2]|0; - $318 = (($317) + ($314<<1)|0); - $319 = HEAP16[$318>>1]|0; - $320 = $319 << 16 >> 16; - HEAP32[$iColumn>>2] = $320; - $321 = HEAP32[$j>>2]|0; - $322 = HEAP32[$pIndex>>2]|0; - $323 = ((($322)) + 28|0); - $324 = HEAP32[$323>>2]|0; - $325 = (($324) + ($321)|0); - $326 = HEAP8[$325>>0]|0; - HEAP8[$revIdx>>0] = $326; - $327 = HEAP32[$iColumn>>2]|0; - $328 = HEAP32[$pIndex>>2]|0; - $329 = ((($328)) + 12|0); - $330 = HEAP32[$329>>2]|0; - $331 = ((($330)) + 32|0); - $332 = HEAP16[$331>>1]|0; - $333 = $332 << 16 >> 16; - $334 = ($327|0)==($333|0); - if ($334) { - HEAP32[$iColumn>>2] = -1; - } + HEAP32[$pIndex>>2] = 0; + HEAP16[$nKeyCol>>1] = 0; + HEAP16[$nColumn>>1] = 1; } else { - HEAP32[$iColumn>>2] = -1; - HEAP8[$revIdx>>0] = 0; - } - $335 = HEAP8[$isOrderDistinct>>0]|0; - $336 = $335&255; - $337 = ($336|0)!=(0); - $338 = HEAP32[$iColumn>>2]|0; - $339 = ($338|0)>=(0); - $or$cond = $337 & $339; - do { - if ($or$cond) { - $340 = HEAP32[$j>>2]|0; - $341 = HEAP32[$pLoop>>2]|0; - $342 = ((($341)) + 24|0); - $343 = HEAP16[$342>>1]|0; - $344 = $343&65535; - $345 = ($340|0)>=($344|0); - if ($345) { - $346 = HEAP32[$iColumn>>2]|0; - $347 = HEAP32[$pIndex>>2]|0; - $348 = ((($347)) + 12|0); - $349 = HEAP32[$348>>2]|0; - $350 = ((($349)) + 4|0); - $351 = HEAP32[$350>>2]|0; - $352 = (($351) + ($346<<4)|0); - $353 = ((($352)) + 12|0); - $354 = HEAP8[$353>>0]|0; - $355 = $354&255; - $356 = ($355|0)==(0); - if (!($356)) { - break; - } - HEAP8[$isOrderDistinct>>0] = 0; - } + $298 = HEAP32[$pLoop>>2]|0; + $299 = ((($298)) + 24|0); + $300 = ((($299)) + 8|0); + $301 = HEAP32[$300>>2]|0; + HEAP32[$pIndex>>2] = $301; + $302 = ($301|0)==(0|0); + if ($302) { + label = 46; + break L13; } - } while(0); - HEAP8[$bOnce>>0] = 1; - HEAP8[$isMatch>>0] = 0; - HEAP32[$i>>2] = 0; - L71: while(1) { - $357 = HEAP8[$bOnce>>0]|0; - $358 = $357&255; - $359 = ($358|0)!=(0); - if (!($359)) { - break; + $303 = HEAP32[$pIndex>>2]|0; + $304 = ((($303)) + 55|0); + $305 = HEAP8[$304>>0]|0; + $306 = ($305&255) >>> 2; + $307 = $306 & 1; + $308 = $307&255; + $309 = ($308|0)!=(0); + if ($309) { + label = 46; + break L13; } - $360 = HEAP32[$i>>2]|0; - $361 = HEAP16[$nOrderBy>>1]|0; - $362 = $361&65535; - $363 = ($360|0)<($362|0); - if (!($363)) { + $310 = HEAP32[$pIndex>>2]|0; + $311 = ((($310)) + 50|0); + $312 = HEAP16[$311>>1]|0; + HEAP16[$nKeyCol>>1] = $312; + $313 = HEAP32[$pIndex>>2]|0; + $314 = ((($313)) + 52|0); + $315 = HEAP16[$314>>1]|0; + HEAP16[$nColumn>>1] = $315; + $316 = HEAP32[$pIndex>>2]|0; + $317 = ((($316)) + 54|0); + $318 = HEAP8[$317>>0]|0; + $319 = $318&255; + $320 = ($319|0)!=(0); + $321 = $320&1; + $322 = $321&255; + HEAP8[$isOrderDistinct>>0] = $322; + } + HEAP8[$revSet>>0] = 0; + HEAP8[$rev>>0] = 0; + HEAP8[$distinctColumns>>0] = 0; + HEAP32[$j>>2] = 0; + while(1) { + $323 = HEAP32[$j>>2]|0; + $324 = HEAP16[$nColumn>>1]|0; + $325 = $324&65535; + $326 = ($323|0)<($325|0); + if (!($326)) { break; } - $364 = HEAP32[$i>>2]|0; - $365 = (_bitshift64Shl(1,0,($364|0))|0); - $366 = tempRet0; - $367 = $obSat; - $368 = $367; - $369 = HEAP32[$368>>2]|0; - $370 = (($367) + 4)|0; - $371 = $370; - $372 = HEAP32[$371>>2]|0; - $373 = $365 & $369; - $374 = $366 & $372; - $375 = ($373|0)!=(0); - $376 = ($374|0)!=(0); - $377 = $375 | $376; - do { - if (!($377)) { - $378 = HEAP32[$i>>2]|0; - $379 = HEAP32[$2>>2]|0; - $380 = ((($379)) + 4|0); - $381 = HEAP32[$380>>2]|0; - $382 = (($381) + (($378*20)|0)|0); - $383 = HEAP32[$382>>2]|0; - $384 = (_sqlite3ExprSkipCollate($383)|0); - HEAP32[$pOBExpr>>2] = $384; - $385 = HEAP16[$4>>1]|0; - $386 = $385&65535; - $387 = $386 & 768; - $388 = ($387|0)==(0); - if ($388) { - HEAP8[$bOnce>>0] = 0; - } - $389 = HEAP32[$iColumn>>2]|0; - $390 = ($389|0)>=(-1); - $391 = HEAP32[$pOBExpr>>2]|0; - if ($390) { - $392 = HEAP8[$391>>0]|0; - $393 = $392&255; - $394 = ($393|0)!=(152); - if ($394) { + HEAP8[$bOnce>>0] = 1; + $327 = HEAP32[$j>>2]|0; + $328 = HEAP32[$pLoop>>2]|0; + $329 = ((($328)) + 24|0); + $330 = HEAP16[$329>>1]|0; + $331 = $330&65535; + $332 = ($327|0)<($331|0); + L66: do { + if ($332) { + $333 = HEAP32[$j>>2]|0; + $334 = HEAP32[$pLoop>>2]|0; + $335 = ((($334)) + 42|0); + $336 = HEAP16[$335>>1]|0; + $337 = $336&65535; + $338 = ($333|0)>=($337|0); + if ($338) { + $339 = HEAP32[$j>>2]|0; + $340 = HEAP32[$pLoop>>2]|0; + $341 = ((($340)) + 48|0); + $342 = HEAP32[$341>>2]|0; + $343 = (($342) + ($339<<2)|0); + $344 = HEAP32[$343>>2]|0; + $345 = ((($344)) + 12|0); + $346 = HEAP16[$345>>1]|0; + HEAP16[$eOp>>1] = $346; + $347 = HEAP16[$eOp>>1]|0; + $348 = $347&65535; + $349 = HEAP16[$eqOpMask>>1]|0; + $350 = $349&65535; + $351 = $348 & $350; + $352 = ($351|0)!=(0); + $353 = HEAP16[$eOp>>1]|0; + $354 = $353&65535; + if ($352) { + $355 = $354 & 256; + $356 = ($355|0)!=(0); + if (!($356)) { + break; + } + HEAP8[$isOrderDistinct>>0] = 0; break; } - $395 = HEAP32[$pOBExpr>>2]|0; + $357 = $354 & 1; + $358 = ($357|0)!=(0); + if (!($358)) { + label = 61; + break; + } + $359 = HEAP32[$j>>2]|0; + $360 = HEAP32[$pLoop>>2]|0; + $361 = ((($360)) + 48|0); + $362 = HEAP32[$361>>2]|0; + $363 = (($362) + ($359<<2)|0); + $364 = HEAP32[$363>>2]|0; + $365 = HEAP32[$364>>2]|0; + HEAP32[$pX>>2] = $365; + $366 = HEAP32[$j>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$i>>2] = $367; + while(1) { + $368 = HEAP32[$i>>2]|0; + $369 = HEAP32[$pLoop>>2]|0; + $370 = ((($369)) + 24|0); + $371 = HEAP16[$370>>1]|0; + $372 = $371&65535; + $373 = ($368|0)<($372|0); + if (!($373)) { + label = 61; + break L66; + } + $374 = HEAP32[$i>>2]|0; + $375 = HEAP32[$pLoop>>2]|0; + $376 = ((($375)) + 48|0); + $377 = HEAP32[$376>>2]|0; + $378 = (($377) + ($374<<2)|0); + $379 = HEAP32[$378>>2]|0; + $380 = HEAP32[$379>>2]|0; + $381 = HEAP32[$pX>>2]|0; + $382 = ($380|0)==($381|0); + if ($382) { + break; + } + $383 = HEAP32[$i>>2]|0; + $384 = (($383) + 1)|0; + HEAP32[$i>>2] = $384; + } + HEAP8[$bOnce>>0] = 0; + label = 61; + } else { + label = 61; + } + } else { + label = 61; + } + } while(0); + if ((label|0) == 61) { + label = 0; + $385 = HEAP32[$pIndex>>2]|0; + $386 = ($385|0)!=(0|0); + do { + if ($386) { + $387 = HEAP32[$j>>2]|0; + $388 = HEAP32[$pIndex>>2]|0; + $389 = ((($388)) + 4|0); + $390 = HEAP32[$389>>2]|0; + $391 = (($390) + ($387<<1)|0); + $392 = HEAP16[$391>>1]|0; + $393 = $392 << 16 >> 16; + HEAP32[$iColumn>>2] = $393; + $394 = HEAP32[$j>>2]|0; + $395 = HEAP32[$pIndex>>2]|0; $396 = ((($395)) + 28|0); $397 = HEAP32[$396>>2]|0; - $398 = HEAP32[$iCur>>2]|0; - $399 = ($397|0)!=($398|0); - if ($399) { + $398 = (($397) + ($394)|0); + $399 = HEAP8[$398>>0]|0; + HEAP8[$revIdx>>0] = $399; + $400 = HEAP32[$iColumn>>2]|0; + $401 = HEAP32[$pIndex>>2]|0; + $402 = ((($401)) + 12|0); + $403 = HEAP32[$402>>2]|0; + $404 = ((($403)) + 32|0); + $405 = HEAP16[$404>>1]|0; + $406 = $405 << 16 >> 16; + $407 = ($400|0)==($406|0); + if (!($407)) { break; } - $400 = HEAP32[$pOBExpr>>2]|0; - $401 = ((($400)) + 32|0); - $402 = HEAP16[$401>>1]|0; - $403 = $402 << 16 >> 16; - $404 = HEAP32[$iColumn>>2]|0; - $405 = ($403|0)!=($404|0); - if ($405) { + HEAP32[$iColumn>>2] = -1; + } else { + HEAP32[$iColumn>>2] = -1; + HEAP8[$revIdx>>0] = 0; + } + } while(0); + $408 = HEAP8[$isOrderDistinct>>0]|0; + $409 = $408&255; + $410 = ($409|0)!=(0); + $411 = HEAP32[$iColumn>>2]|0; + $412 = ($411|0)>=(0); + $or$cond = $410 & $412; + do { + if ($or$cond) { + $413 = HEAP32[$j>>2]|0; + $414 = HEAP32[$pLoop>>2]|0; + $415 = ((($414)) + 24|0); + $416 = HEAP16[$415>>1]|0; + $417 = $416&65535; + $418 = ($413|0)>=($417|0); + if (!($418)) { break; } - } else { - $406 = HEAP32[$j>>2]|0; - $407 = HEAP32[$pIndex>>2]|0; - $408 = ((($407)) + 40|0); - $409 = HEAP32[$408>>2]|0; - $410 = ((($409)) + 4|0); - $411 = HEAP32[$410>>2]|0; - $412 = (($411) + (($406*20)|0)|0); - $413 = HEAP32[$412>>2]|0; - $414 = HEAP32[$iCur>>2]|0; - $415 = (_sqlite3ExprCompare($391,$413,$414)|0); - $416 = ($415|0)!=(0); - if ($416) { + $419 = HEAP32[$iColumn>>2]|0; + $420 = HEAP32[$pIndex>>2]|0; + $421 = ((($420)) + 12|0); + $422 = HEAP32[$421>>2]|0; + $423 = ((($422)) + 4|0); + $424 = HEAP32[$423>>2]|0; + $425 = (($424) + ($419<<4)|0); + $426 = ((($425)) + 12|0); + $427 = HEAP8[$426>>0]|0; + $428 = $427&255; + $429 = ($428|0)==(0); + if (!($429)) { break; } + HEAP8[$isOrderDistinct>>0] = 0; } - $417 = HEAP32[$iColumn>>2]|0; - $418 = ($417|0)>=(0); - if (!($418)) { - label = 70; - break L71; - } - $419 = HEAP32[$1>>2]|0; - $420 = HEAP32[$419>>2]|0; - $421 = HEAP32[$i>>2]|0; - $422 = HEAP32[$2>>2]|0; - $423 = ((($422)) + 4|0); - $424 = HEAP32[$423>>2]|0; - $425 = (($424) + (($421*20)|0)|0); - $426 = HEAP32[$425>>2]|0; - $427 = (_sqlite3ExprCollSeq($420,$426)|0); - HEAP32[$pColl>>2] = $427; - $428 = HEAP32[$pColl>>2]|0; - $429 = ($428|0)!=(0|0); - if (!($429)) { - $430 = HEAP32[$db>>2]|0; - $431 = ((($430)) + 8|0); - $432 = HEAP32[$431>>2]|0; - HEAP32[$pColl>>2] = $432; + } while(0); + HEAP8[$isMatch>>0] = 0; + HEAP32[$i>>2] = 0; + L91: while(1) { + $430 = HEAP8[$bOnce>>0]|0; + $431 = $430&255; + $432 = ($431|0)!=(0); + if (!($432)) { + break; } - $433 = HEAP32[$pColl>>2]|0; - $434 = HEAP32[$433>>2]|0; - $435 = HEAP32[$j>>2]|0; - $436 = HEAP32[$pIndex>>2]|0; - $437 = ((($436)) + 32|0); - $438 = HEAP32[$437>>2]|0; - $439 = (($438) + ($435<<2)|0); - $440 = HEAP32[$439>>2]|0; - $441 = (_sqlite3StrICmp($434,$440)|0); - $442 = ($441|0)!=(0); - if (!($442)) { - label = 70; - break L71; + $433 = HEAP32[$i>>2]|0; + $434 = HEAP16[$nOrderBy>>1]|0; + $435 = $434&65535; + $436 = ($433|0)<($435|0); + if (!($436)) { + break; } + $437 = HEAP32[$i>>2]|0; + $438 = (_bitshift64Shl(1,0,($437|0))|0); + $439 = tempRet0; + $440 = $obSat; + $441 = $440; + $442 = HEAP32[$441>>2]|0; + $443 = (($440) + 4)|0; + $444 = $443; + $445 = HEAP32[$444>>2]|0; + $446 = $438 & $442; + $447 = $439 & $445; + $448 = ($446|0)!=(0); + $449 = ($447|0)!=(0); + $450 = $448 | $449; + do { + if (!($450)) { + $451 = HEAP32[$i>>2]|0; + $452 = HEAP32[$2>>2]|0; + $453 = ((($452)) + 4|0); + $454 = HEAP32[$453>>2]|0; + $455 = (($454) + (($451*20)|0)|0); + $456 = HEAP32[$455>>2]|0; + $457 = (_sqlite3ExprSkipCollate($456)|0); + HEAP32[$pOBExpr>>2] = $457; + $458 = HEAP16[$4>>1]|0; + $459 = $458&65535; + $460 = $459 & 192; + $461 = ($460|0)==(0); + if ($461) { + HEAP8[$bOnce>>0] = 0; + } + $462 = HEAP32[$iColumn>>2]|0; + $463 = ($462|0)>=(-1); + $464 = HEAP32[$pOBExpr>>2]|0; + if ($463) { + $465 = HEAP8[$464>>0]|0; + $466 = $465&255; + $467 = ($466|0)!=(152); + if ($467) { + break; + } + $468 = HEAP32[$pOBExpr>>2]|0; + $469 = ((($468)) + 28|0); + $470 = HEAP32[$469>>2]|0; + $471 = HEAP32[$iCur>>2]|0; + $472 = ($470|0)!=($471|0); + if ($472) { + break; + } + $473 = HEAP32[$pOBExpr>>2]|0; + $474 = ((($473)) + 32|0); + $475 = HEAP16[$474>>1]|0; + $476 = $475 << 16 >> 16; + $477 = HEAP32[$iColumn>>2]|0; + $478 = ($476|0)!=($477|0); + if ($478) { + break; + } + } else { + $479 = HEAP32[$j>>2]|0; + $480 = HEAP32[$pIndex>>2]|0; + $481 = ((($480)) + 40|0); + $482 = HEAP32[$481>>2]|0; + $483 = ((($482)) + 4|0); + $484 = HEAP32[$483>>2]|0; + $485 = (($484) + (($479*20)|0)|0); + $486 = HEAP32[$485>>2]|0; + $487 = HEAP32[$iCur>>2]|0; + $488 = (_sqlite3ExprCompare($464,$486,$487)|0); + $489 = ($488|0)!=(0); + if ($489) { + break; + } + } + $490 = HEAP32[$iColumn>>2]|0; + $491 = ($490|0)>=(0); + if (!($491)) { + label = 84; + break L91; + } + $492 = HEAP32[$1>>2]|0; + $493 = HEAP32[$492>>2]|0; + $494 = HEAP32[$i>>2]|0; + $495 = HEAP32[$2>>2]|0; + $496 = ((($495)) + 4|0); + $497 = HEAP32[$496>>2]|0; + $498 = (($497) + (($494*20)|0)|0); + $499 = HEAP32[$498>>2]|0; + $500 = (_sqlite3ExprCollSeq($493,$499)|0); + HEAP32[$pColl>>2] = $500; + $501 = HEAP32[$pColl>>2]|0; + $502 = ($501|0)!=(0|0); + if (!($502)) { + $503 = HEAP32[$db>>2]|0; + $504 = ((($503)) + 8|0); + $505 = HEAP32[$504>>2]|0; + HEAP32[$pColl>>2] = $505; + } + $506 = HEAP32[$pColl>>2]|0; + $507 = HEAP32[$506>>2]|0; + $508 = HEAP32[$j>>2]|0; + $509 = HEAP32[$pIndex>>2]|0; + $510 = ((($509)) + 32|0); + $511 = HEAP32[$510>>2]|0; + $512 = (($511) + ($508<<2)|0); + $513 = HEAP32[$512>>2]|0; + $514 = (_sqlite3StrICmp($507,$513)|0); + $515 = ($514|0)!=(0); + if (!($515)) { + label = 84; + break L91; + } + } + } while(0); + $516 = HEAP32[$i>>2]|0; + $517 = (($516) + 1)|0; + HEAP32[$i>>2] = $517; } - } while(0); - $443 = HEAP32[$i>>2]|0; - $444 = (($443) + 1)|0; - HEAP32[$i>>2] = $444; - } - if ((label|0) == 70) { - label = 0; - HEAP8[$isMatch>>0] = 1; - } - $445 = HEAP8[$isMatch>>0]|0; - $446 = $445&255; - $447 = ($446|0)!=(0); - do { - if ($447) { - $448 = HEAP16[$4>>1]|0; - $449 = $448&65535; - $450 = $449 & 256; - $451 = ($450|0)==(0); - if (!($451)) { - break; + if ((label|0) == 84) { + label = 0; + HEAP8[$isMatch>>0] = 1; } - $452 = HEAP8[$revSet>>0]|0; - $453 = ($452<<24>>24)!=(0); - if ($453) { - $454 = HEAP8[$rev>>0]|0; - $455 = $454&255; - $456 = HEAP8[$revIdx>>0]|0; - $457 = $456&255; - $458 = $455 ^ $457; - $459 = HEAP32[$i>>2]|0; - $460 = HEAP32[$2>>2]|0; - $461 = ((($460)) + 4|0); - $462 = HEAP32[$461>>2]|0; - $463 = (($462) + (($459*20)|0)|0); - $464 = ((($463)) + 12|0); - $465 = HEAP8[$464>>0]|0; - $466 = $465&255; - $467 = ($458|0)!=($466|0); - if (!($467)) { - break; + $518 = HEAP8[$isMatch>>0]|0; + $519 = $518&255; + $520 = ($519|0)!=(0); + do { + if ($520) { + $521 = HEAP16[$4>>1]|0; + $522 = $521&65535; + $523 = $522 & 64; + $524 = ($523|0)==(0); + if (!($524)) { + break; + } + $525 = HEAP8[$revSet>>0]|0; + $526 = ($525<<24>>24)!=(0); + if ($526) { + $527 = HEAP8[$rev>>0]|0; + $528 = $527&255; + $529 = HEAP8[$revIdx>>0]|0; + $530 = $529&255; + $531 = $528 ^ $530; + $532 = HEAP32[$i>>2]|0; + $533 = HEAP32[$2>>2]|0; + $534 = ((($533)) + 4|0); + $535 = HEAP32[$534>>2]|0; + $536 = (($535) + (($532*20)|0)|0); + $537 = ((($536)) + 12|0); + $538 = HEAP8[$537>>0]|0; + $539 = $538&255; + $540 = ($531|0)!=($539|0); + if (!($540)) { + break; + } + HEAP8[$isMatch>>0] = 0; + break; + } + $541 = HEAP8[$revIdx>>0]|0; + $542 = $541&255; + $543 = HEAP32[$i>>2]|0; + $544 = HEAP32[$2>>2]|0; + $545 = ((($544)) + 4|0); + $546 = HEAP32[$545>>2]|0; + $547 = (($546) + (($543*20)|0)|0); + $548 = ((($547)) + 12|0); + $549 = HEAP8[$548>>0]|0; + $550 = $549&255; + $551 = $542 ^ $550; + $552 = $551&255; + HEAP8[$rev>>0] = $552; + $553 = HEAP8[$rev>>0]|0; + $554 = ($553<<24>>24)!=(0); + if ($554) { + $555 = HEAP32[$iLoop>>2]|0; + $556 = (_bitshift64Shl(1,0,($555|0))|0); + $557 = tempRet0; + $558 = HEAP32[$7>>2]|0; + $559 = $558; + $560 = $559; + $561 = HEAP32[$560>>2]|0; + $562 = (($559) + 4)|0; + $563 = $562; + $564 = HEAP32[$563>>2]|0; + $565 = $561 | $556; + $566 = $564 | $557; + $567 = $558; + $568 = $567; + HEAP32[$568>>2] = $565; + $569 = (($567) + 4)|0; + $570 = $569; + HEAP32[$570>>2] = $566; + } + HEAP8[$revSet>>0] = 1; } - HEAP8[$isMatch>>0] = 0; + } while(0); + $571 = HEAP8[$isMatch>>0]|0; + $572 = ($571<<24>>24)!=(0); + if (!($572)) { + label = 98; break; } - $468 = HEAP8[$revIdx>>0]|0; - $469 = $468&255; - $470 = HEAP32[$i>>2]|0; - $471 = HEAP32[$2>>2]|0; - $472 = ((($471)) + 4|0); - $473 = HEAP32[$472>>2]|0; - $474 = (($473) + (($470*20)|0)|0); - $475 = ((($474)) + 12|0); - $476 = HEAP8[$475>>0]|0; - $477 = $476&255; - $478 = $469 ^ $477; - $479 = $478&255; - HEAP8[$rev>>0] = $479; - $480 = HEAP8[$rev>>0]|0; - $481 = ($480<<24>>24)!=(0); - if ($481) { - $482 = HEAP32[$iLoop>>2]|0; - $483 = (_bitshift64Shl(1,0,($482|0))|0); - $484 = tempRet0; - $485 = HEAP32[$7>>2]|0; - $486 = $485; - $487 = $486; - $488 = HEAP32[$487>>2]|0; - $489 = (($486) + 4)|0; - $490 = $489; - $491 = HEAP32[$490>>2]|0; - $492 = $488 | $483; - $493 = $491 | $484; - $494 = $485; - $495 = $494; - HEAP32[$495>>2] = $492; - $496 = (($494) + 4)|0; - $497 = $496; - HEAP32[$497>>2] = $493; + $573 = HEAP32[$iColumn>>2]|0; + $574 = ($573|0)==(-1); + if ($574) { + HEAP8[$distinctColumns>>0] = 1; } - HEAP8[$revSet>>0] = 1; - } - } while(0); - $498 = HEAP8[$isMatch>>0]|0; - $499 = ($498<<24>>24)!=(0); - if (!($499)) { - label = 84; - break; - } - $500 = HEAP32[$iColumn>>2]|0; - $501 = ($500|0)<(0); - if ($501) { - HEAP8[$distinctColumns>>0] = 1; - } - $502 = HEAP32[$i>>2]|0; - $503 = (_bitshift64Shl(1,0,($502|0))|0); - $504 = tempRet0; - $505 = $obSat; - $506 = $505; - $507 = HEAP32[$506>>2]|0; - $508 = (($505) + 4)|0; - $509 = $508; - $510 = HEAP32[$509>>2]|0; - $511 = $507 | $503; - $512 = $510 | $504; - $513 = $obSat; - $514 = $513; - HEAP32[$514>>2] = $511; - $515 = (($513) + 4)|0; - $516 = $515; - HEAP32[$516>>2] = $512; - } - $523 = HEAP32[$j>>2]|0; - $524 = (($523) + 1)|0; - HEAP32[$j>>2] = $524; - } - do { - if ((label|0) == 84) { - label = 0; - $517 = HEAP32[$j>>2]|0; - $518 = ($517|0)==(0); - if (!($518)) { - $519 = HEAP32[$j>>2]|0; - $520 = HEAP16[$nKeyCol>>1]|0; - $521 = $520&65535; - $522 = ($519|0)<($521|0); - if (!($522)) { - break; + $575 = HEAP32[$i>>2]|0; + $576 = (_bitshift64Shl(1,0,($575|0))|0); + $577 = tempRet0; + $578 = $obSat; + $579 = $578; + $580 = HEAP32[$579>>2]|0; + $581 = (($578) + 4)|0; + $582 = $581; + $583 = HEAP32[$582>>2]|0; + $584 = $580 | $576; + $585 = $583 | $577; + $586 = $obSat; + $587 = $586; + HEAP32[$587>>2] = $584; + $588 = (($586) + 4)|0; + $589 = $588; + HEAP32[$589>>2] = $585; } + $596 = HEAP32[$j>>2]|0; + $597 = (($596) + 1)|0; + HEAP32[$j>>2] = $597; } - HEAP8[$isOrderDistinct>>0] = 0; - } - } while(0); - $525 = HEAP8[$distinctColumns>>0]|0; - $526 = ($525<<24>>24)!=(0); - if ($526) { - HEAP8[$isOrderDistinct>>0] = 1; - } - } - $527 = HEAP8[$isOrderDistinct>>0]|0; - $528 = ($527<<24>>24)!=(0); - L118: do { - if ($528) { - $529 = HEAP32[$pLoop>>2]|0; - $530 = ((($529)) + 8|0); - $531 = $530; - $532 = $531; - $533 = HEAP32[$532>>2]|0; - $534 = (($531) + 4)|0; - $535 = $534; - $536 = HEAP32[$535>>2]|0; - $537 = $orderDistinctMask; - $538 = $537; - $539 = HEAP32[$538>>2]|0; - $540 = (($537) + 4)|0; - $541 = $540; - $542 = HEAP32[$541>>2]|0; - $543 = $539 | $533; - $544 = $542 | $536; - $545 = $orderDistinctMask; - $546 = $545; - HEAP32[$546>>2] = $543; - $547 = (($545) + 4)|0; - $548 = $547; - HEAP32[$548>>2] = $544; - HEAP32[$i>>2] = 0; - while(1) { - $549 = HEAP32[$i>>2]|0; - $550 = HEAP16[$nOrderBy>>1]|0; - $551 = $550&65535; - $552 = ($549|0)<($551|0); - if (!($552)) { - break L118; - } - $553 = HEAP32[$i>>2]|0; - $554 = (_bitshift64Shl(1,0,($553|0))|0); - $555 = tempRet0; - $556 = $obSat; - $557 = $556; - $558 = HEAP32[$557>>2]|0; - $559 = (($556) + 4)|0; - $560 = $559; - $561 = HEAP32[$560>>2]|0; - $562 = $554 & $558; - $563 = $555 & $561; - $564 = ($562|0)!=(0); - $565 = ($563|0)!=(0); - $566 = $564 | $565; do { - if (!($566)) { - $567 = HEAP32[$i>>2]|0; - $568 = HEAP32[$2>>2]|0; - $569 = ((($568)) + 4|0); - $570 = HEAP32[$569>>2]|0; - $571 = (($570) + (($567*20)|0)|0); - $572 = HEAP32[$571>>2]|0; - HEAP32[$p>>2] = $572; - $573 = HEAP32[$1>>2]|0; - $574 = ((($573)) + 68|0); - $575 = HEAP32[$p>>2]|0; - $576 = (_sqlite3WhereExprUsage($574,$575)|0); - $577 = tempRet0; - $578 = $mTerm; - $579 = $578; - HEAP32[$579>>2] = $576; - $580 = (($578) + 4)|0; - $581 = $580; - HEAP32[$581>>2] = $577; - $582 = $mTerm; - $583 = $582; - $584 = HEAP32[$583>>2]|0; - $585 = (($582) + 4)|0; - $586 = $585; - $587 = HEAP32[$586>>2]|0; - $588 = ($584|0)==(0); - $589 = ($587|0)==(0); - $590 = $588 & $589; - if ($590) { - $591 = HEAP32[$p>>2]|0; - $592 = (_sqlite3ExprIsConstant($591)|0); - $593 = ($592|0)!=(0); - if (!($593)) { + if ((label|0) == 98) { + label = 0; + $590 = HEAP32[$j>>2]|0; + $591 = ($590|0)==(0); + if (!($591)) { + $592 = HEAP32[$j>>2]|0; + $593 = HEAP16[$nKeyCol>>1]|0; + $594 = $593&65535; + $595 = ($592|0)<($594|0); + if (!($595)) { break; } } - $594 = $mTerm; - $595 = $594; - $596 = HEAP32[$595>>2]|0; - $597 = (($594) + 4)|0; - $598 = $597; - $599 = HEAP32[$598>>2]|0; - $600 = $orderDistinctMask; - $601 = $600; - $602 = HEAP32[$601>>2]|0; - $603 = (($600) + 4)|0; - $604 = $603; - $605 = HEAP32[$604>>2]|0; - $606 = $602 ^ -1; - $607 = $605 ^ -1; - $608 = $596 & $606; - $609 = $599 & $607; - $610 = ($608|0)==(0); - $611 = ($609|0)==(0); - $612 = $610 & $611; - if ($612) { - $613 = HEAP32[$i>>2]|0; - $614 = (_bitshift64Shl(1,0,($613|0))|0); - $615 = tempRet0; - $616 = $obSat; - $617 = $616; - $618 = HEAP32[$617>>2]|0; - $619 = (($616) + 4)|0; - $620 = $619; - $621 = HEAP32[$620>>2]|0; - $622 = $618 | $614; - $623 = $621 | $615; - $624 = $obSat; - $625 = $624; - HEAP32[$625>>2] = $622; - $626 = (($624) + 4)|0; - $627 = $626; - HEAP32[$627>>2] = $623; - } + HEAP8[$isOrderDistinct>>0] = 0; } } while(0); - $628 = HEAP32[$i>>2]|0; - $629 = (($628) + 1)|0; - HEAP32[$i>>2] = $629; + $598 = HEAP8[$distinctColumns>>0]|0; + $599 = ($598<<24>>24)!=(0); + if ($599) { + HEAP8[$isOrderDistinct>>0] = 1; + } + } + $600 = HEAP8[$isOrderDistinct>>0]|0; + $601 = ($600<<24>>24)!=(0); + if ($601) { + $602 = HEAP32[$pLoop>>2]|0; + $603 = ((($602)) + 8|0); + $604 = $603; + $605 = $604; + $606 = HEAP32[$605>>2]|0; + $607 = (($604) + 4)|0; + $608 = $607; + $609 = HEAP32[$608>>2]|0; + $610 = $orderDistinctMask; + $611 = $610; + $612 = HEAP32[$611>>2]|0; + $613 = (($610) + 4)|0; + $614 = $613; + $615 = HEAP32[$614>>2]|0; + $616 = $612 | $606; + $617 = $615 | $609; + $618 = $orderDistinctMask; + $619 = $618; + HEAP32[$619>>2] = $616; + $620 = (($618) + 4)|0; + $621 = $620; + HEAP32[$621>>2] = $617; + HEAP32[$i>>2] = 0; + while(1) { + $622 = HEAP32[$i>>2]|0; + $623 = HEAP16[$nOrderBy>>1]|0; + $624 = $623&65535; + $625 = ($622|0)<($624|0); + if (!($625)) { + break L24; + } + $626 = HEAP32[$i>>2]|0; + $627 = (_bitshift64Shl(1,0,($626|0))|0); + $628 = tempRet0; + $629 = $obSat; + $630 = $629; + $631 = HEAP32[$630>>2]|0; + $632 = (($629) + 4)|0; + $633 = $632; + $634 = HEAP32[$633>>2]|0; + $635 = $627 & $631; + $636 = $628 & $634; + $637 = ($635|0)!=(0); + $638 = ($636|0)!=(0); + $639 = $637 | $638; + do { + if (!($639)) { + $640 = HEAP32[$i>>2]|0; + $641 = HEAP32[$2>>2]|0; + $642 = ((($641)) + 4|0); + $643 = HEAP32[$642>>2]|0; + $644 = (($643) + (($640*20)|0)|0); + $645 = HEAP32[$644>>2]|0; + HEAP32[$p>>2] = $645; + $646 = HEAP32[$1>>2]|0; + $647 = ((($646)) + 488|0); + $648 = HEAP32[$p>>2]|0; + $649 = (_sqlite3WhereExprUsage($647,$648)|0); + $650 = tempRet0; + $651 = $mTerm; + $652 = $651; + HEAP32[$652>>2] = $649; + $653 = (($651) + 4)|0; + $654 = $653; + HEAP32[$654>>2] = $650; + $655 = $mTerm; + $656 = $655; + $657 = HEAP32[$656>>2]|0; + $658 = (($655) + 4)|0; + $659 = $658; + $660 = HEAP32[$659>>2]|0; + $661 = ($657|0)==(0); + $662 = ($660|0)==(0); + $663 = $661 & $662; + if ($663) { + $664 = HEAP32[$p>>2]|0; + $665 = (_sqlite3ExprIsConstant($664)|0); + $666 = ($665|0)!=(0); + if (!($666)) { + break; + } + } + $667 = $mTerm; + $668 = $667; + $669 = HEAP32[$668>>2]|0; + $670 = (($667) + 4)|0; + $671 = $670; + $672 = HEAP32[$671>>2]|0; + $673 = $orderDistinctMask; + $674 = $673; + $675 = HEAP32[$674>>2]|0; + $676 = (($673) + 4)|0; + $677 = $676; + $678 = HEAP32[$677>>2]|0; + $679 = $675 ^ -1; + $680 = $678 ^ -1; + $681 = $669 & $679; + $682 = $672 & $680; + $683 = ($681|0)==(0); + $684 = ($682|0)==(0); + $685 = $683 & $684; + if ($685) { + $686 = HEAP32[$i>>2]|0; + $687 = (_bitshift64Shl(1,0,($686|0))|0); + $688 = tempRet0; + $689 = $obSat; + $690 = $689; + $691 = HEAP32[$690>>2]|0; + $692 = (($689) + 4)|0; + $693 = $692; + $694 = HEAP32[$693>>2]|0; + $695 = $691 | $687; + $696 = $694 | $688; + $697 = $obSat; + $698 = $697; + HEAP32[$698>>2] = $695; + $699 = (($697) + 4)|0; + $700 = $699; + HEAP32[$700>>2] = $696; + } + } + } while(0); + $701 = HEAP32[$i>>2]|0; + $702 = (($701) + 1)|0; + HEAP32[$i>>2] = $702; + } } } } while(0); - $630 = HEAP32[$iLoop>>2]|0; - $631 = (($630) + 1)|0; - HEAP32[$iLoop>>2] = $631; + $703 = HEAP32[$iLoop>>2]|0; + $704 = (($703) + 1)|0; + HEAP32[$iLoop>>2] = $704; } - if ((label|0) == 16) { - $112 = ((($111)) + 24|0); - $113 = ((($112)) + 5|0); - $114 = HEAP8[$113>>0]|0; - $115 = ($114<<24>>24)!=(0); - if ($115) { - $116 = $obDone; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = $obSat; - $123 = $122; - HEAP32[$123>>2] = $118; - $124 = (($122) + 4)|0; - $125 = $124; - HEAP32[$125>>2] = $121; + if ((label|0) == 18) { + $123 = ((($122)) + 24|0); + $124 = ((($123)) + 5|0); + $125 = HEAP8[$124>>0]|0; + $126 = ($125<<24>>24)!=(0); + if ($126) { + $127 = $obDone; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = $obSat; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; } } - else if ((label|0) == 38) { + else if ((label|0) == 46) { HEAP8[$0>>0] = 0; - $691 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($691|0); - } - $632 = $obSat; - $633 = $632; - $634 = HEAP32[$633>>2]|0; - $635 = (($632) + 4)|0; - $636 = $635; - $637 = HEAP32[$636>>2]|0; - $638 = $obDone; - $639 = $638; - $640 = HEAP32[$639>>2]|0; - $641 = (($638) + 4)|0; - $642 = $641; - $643 = HEAP32[$642>>2]|0; - $644 = ($634|0)==($640|0); - $645 = ($637|0)==($643|0); - $646 = $644 & $645; - if ($646) { - $647 = HEAP16[$nOrderBy>>1]|0; - $648 = $647&255; - HEAP8[$0>>0] = $648; - $691 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($691|0); - } - $649 = HEAP8[$isOrderDistinct>>0]|0; - $650 = ($649<<24>>24)!=(0); - if ($650) { + $764 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($764|0); + } + $705 = $obSat; + $706 = $705; + $707 = HEAP32[$706>>2]|0; + $708 = (($705) + 4)|0; + $709 = $708; + $710 = HEAP32[$709>>2]|0; + $711 = $obDone; + $712 = $711; + $713 = HEAP32[$712>>2]|0; + $714 = (($711) + 4)|0; + $715 = $714; + $716 = HEAP32[$715>>2]|0; + $717 = ($707|0)==($713|0); + $718 = ($710|0)==($716|0); + $719 = $717 & $718; + if ($719) { + $720 = HEAP16[$nOrderBy>>1]|0; + $721 = $720&255; + HEAP8[$0>>0] = $721; + $764 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($764|0); + } + $722 = HEAP8[$isOrderDistinct>>0]|0; + $723 = ($722<<24>>24)!=(0); + if ($723) { HEAP8[$0>>0] = -1; - $691 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($691|0); + $764 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($764|0); } - $651 = HEAP16[$nOrderBy>>1]|0; - $652 = $651&65535; - $653 = (($652) - 1)|0; - HEAP32[$i>>2] = $653; + $724 = HEAP16[$nOrderBy>>1]|0; + $725 = $724&65535; + $726 = (($725) - 1)|0; + HEAP32[$i>>2] = $726; while(1) { - $654 = HEAP32[$i>>2]|0; - $655 = ($654|0)>(0); - if (!($655)) { - label = 108; - break; - } - $656 = HEAP32[$i>>2]|0; - $657 = (_bitshift64Shl(1,0,($656|0))|0); - $658 = tempRet0; - $659 = (_i64Subtract(($657|0),($658|0),1,0)|0); - $660 = tempRet0; - $661 = $m; - $662 = $661; - HEAP32[$662>>2] = $659; - $663 = (($661) + 4)|0; - $664 = $663; - HEAP32[$664>>2] = $660; - $665 = $obSat; - $666 = $665; - $667 = HEAP32[$666>>2]|0; - $668 = (($665) + 4)|0; - $669 = $668; - $670 = HEAP32[$669>>2]|0; - $671 = $m; - $672 = $671; - $673 = HEAP32[$672>>2]|0; - $674 = (($671) + 4)|0; - $675 = $674; - $676 = HEAP32[$675>>2]|0; - $677 = $667 & $673; - $678 = $670 & $676; - $679 = $m; - $680 = $679; - $681 = HEAP32[$680>>2]|0; - $682 = (($679) + 4)|0; - $683 = $682; - $684 = HEAP32[$683>>2]|0; - $685 = ($677|0)==($681|0); - $686 = ($678|0)==($684|0); - $687 = $685 & $686; - $688 = HEAP32[$i>>2]|0; - if ($687) { - label = 106; - break; - } - $690 = (($688) + -1)|0; - HEAP32[$i>>2] = $690; - } - if ((label|0) == 106) { - $689 = $688&255; - HEAP8[$0>>0] = $689; - $691 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($691|0); - } - else if ((label|0) == 108) { + $727 = HEAP32[$i>>2]|0; + $728 = ($727|0)>(0); + if (!($728)) { + label = 122; + break; + } + $729 = HEAP32[$i>>2]|0; + $730 = (_bitshift64Shl(1,0,($729|0))|0); + $731 = tempRet0; + $732 = (_i64Subtract(($730|0),($731|0),1,0)|0); + $733 = tempRet0; + $734 = $m; + $735 = $734; + HEAP32[$735>>2] = $732; + $736 = (($734) + 4)|0; + $737 = $736; + HEAP32[$737>>2] = $733; + $738 = $obSat; + $739 = $738; + $740 = HEAP32[$739>>2]|0; + $741 = (($738) + 4)|0; + $742 = $741; + $743 = HEAP32[$742>>2]|0; + $744 = $m; + $745 = $744; + $746 = HEAP32[$745>>2]|0; + $747 = (($744) + 4)|0; + $748 = $747; + $749 = HEAP32[$748>>2]|0; + $750 = $740 & $746; + $751 = $743 & $749; + $752 = $m; + $753 = $752; + $754 = HEAP32[$753>>2]|0; + $755 = (($752) + 4)|0; + $756 = $755; + $757 = HEAP32[$756>>2]|0; + $758 = ($750|0)==($754|0); + $759 = ($751|0)==($757|0); + $760 = $758 & $759; + $761 = HEAP32[$i>>2]|0; + if ($760) { + label = 120; + break; + } + $763 = (($761) + -1)|0; + HEAP32[$i>>2] = $763; + } + if ((label|0) == 120) { + $762 = $761&255; + HEAP8[$0>>0] = $762; + $764 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($764|0); + } + else if ((label|0) == 122) { HEAP8[$0>>0] = 0; - $691 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($691|0); + $764 = HEAP8[$0>>0]|0; + STACKTOP = sp;return ($764|0); } return (0)|0; } @@ -179764,14 +183202,14 @@ function _whereSortingCost($pWInfo,$nRow,$nOrderBy,$nSorted) { $22 = $21&65535; HEAP16[$rSortCost>>1] = $22; $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 36|0); + $24 = ((($23)) + 40|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = $26 & 16384; $28 = ($27|0)!=(0); if ($28) { $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 34|0); + $30 = ((($29)) + 16|0); $31 = HEAP16[$30>>1]|0; $32 = $31 << 16 >> 16; $33 = HEAP16[$1>>1]|0; @@ -179779,7 +183217,7 @@ function _whereSortingCost($pWInfo,$nRow,$nOrderBy,$nSorted) { $35 = ($32|0)<($34|0); if ($35) { $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 34|0); + $37 = ((($36)) + 16|0); $38 = HEAP16[$37>>1]|0; HEAP16[$1>>1] = $38; } @@ -179842,13 +183280,14 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bIn = 0; - var $i = 0, $mBest = 0, $mBestNoIn = 0, $mNext = 0, $mPrev = 0, $mThis = 0, $nConstraint = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pNew = 0, $pParse = 0, $pSrc = 0, $pWC = 0, $pWInfo = 0, $rc = 0, $seenZero = 0, $seenZeroNoIN = 0, label = 0, sp = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bIn = 0, $i = 0, $mBest = 0, $mBestNoIn = 0, $mNext = 0, $mNoOmit = 0, $mPrev = 0, $mThis = 0, $nConstraint = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pNew = 0, $pParse = 0, $pSrc = 0, $pWC = 0; + var $pWInfo = 0, $rc = 0, $seenZero = 0, $seenZeroNoIN = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; + STACKTOP = STACKTOP + 128|0; $4 = sp + 108|0; $5 = sp + 104|0; $6 = sp + 48|0; @@ -179863,6 +183302,7 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { $bIn = sp + 72|0; $pNew = sp + 68|0; $mBest = sp + 32|0; + $mNoOmit = sp + 112|0; $seenZero = sp + 64|0; $seenZeroNoIN = sp + 60|0; $mPrev = sp + 24|0; @@ -179920,14 +183360,14 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { $44 = HEAP32[$5>>2]|0; $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; - $47 = (_allocateIndexInfo($35,$36,$39,$42,$43,$46)|0); + $47 = (_allocateIndexInfo($35,$36,$39,$42,$43,$46,$mNoOmit)|0); HEAP32[$p>>2] = $47; $48 = HEAP32[$p>>2]|0; $49 = ($48|0)==(0|0); if ($49) { HEAP32[$4>>2] = 7; - $382 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($382|0); + $387 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($387|0); } $50 = HEAP32[$pNew>>2]|0; $51 = ((($50)) + 18|0); @@ -179957,8 +183397,8 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { $69 = HEAP32[$p>>2]|0; _sqlite3DbFree($68,$69); HEAP32[$4>>2] = 7; - $382 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($382|0); + $387 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($387|0); } $70 = HEAP32[$5>>2]|0; $71 = $6; @@ -179968,392 +183408,397 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { $75 = $74; $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$p>>2]|0; - $78 = (_whereLoopAddVirtualOne($70,$73,$76,-1,-1,0,$77,$bIn)|0); - HEAP32[$rc>>2] = $78; - $79 = HEAP32[$rc>>2]|0; - $80 = ($79|0)==(0); - if ($80) { - $81 = HEAP32[$pNew>>2]|0; - $82 = $81; + $78 = HEAP16[$mNoOmit>>1]|0; + $79 = (_whereLoopAddVirtualOne($70,$73,$76,-1,-1,0,$77,$78,$bIn)|0); + HEAP32[$rc>>2] = $79; + $80 = HEAP32[$rc>>2]|0; + $81 = ($80|0)==(0); + if ($81) { + $82 = HEAP32[$pNew>>2]|0; $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = $6; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = $90 ^ -1; - $95 = $93 ^ -1; - $96 = $84 & $94; - $97 = $87 & $95; - $98 = $mBest; - $99 = $98; - HEAP32[$99>>2] = $96; - $100 = (($98) + 4)|0; - $101 = $100; - HEAP32[$101>>2] = $97; - $102 = ($96|0)!=(0); + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $6; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = $91 ^ -1; + $96 = $94 ^ -1; + $97 = $85 & $95; + $98 = $88 & $96; + $99 = $mBest; + $100 = $99; + HEAP32[$100>>2] = $97; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = $98; $103 = ($97|0)!=(0); - $104 = $102 | $103; - if ($104) { + $104 = ($98|0)!=(0); + $105 = $103 | $104; + if ($105) { HEAP32[$seenZero>>2] = 0; HEAP32[$seenZeroNoIN>>2] = 0; - $105 = $mPrev; - $106 = $105; - HEAP32[$106>>2] = 0; - $107 = (($105) + 4)|0; - $108 = $107; - HEAP32[$108>>2] = 0; - $109 = $mBestNoIn; - $110 = $109; - HEAP32[$110>>2] = 0; - $111 = (($109) + 4)|0; - $112 = $111; - HEAP32[$112>>2] = 0; - $113 = HEAP32[$bIn>>2]|0; - $114 = ($113|0)!=(0); - if ($114) { - $115 = HEAP32[$5>>2]|0; - $116 = $6; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$p>>2]|0; - $123 = (_whereLoopAddVirtualOne($115,$118,$121,-1,-1,1,$122,$bIn)|0); - HEAP32[$rc>>2] = $123; - $124 = HEAP32[$pNew>>2]|0; - $125 = $124; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = (($125) + 4)|0; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = $6; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = (($131) + 4)|0; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = $133 ^ -1; - $138 = $136 ^ -1; - $139 = $127 & $137; - $140 = $130 & $138; - $141 = $mBestNoIn; - $142 = $141; - HEAP32[$142>>2] = $139; - $143 = (($141) + 4)|0; + $106 = $mPrev; + $107 = $106; + HEAP32[$107>>2] = 0; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = 0; + $110 = $mBestNoIn; + $111 = $110; + HEAP32[$111>>2] = 0; + $112 = (($110) + 4)|0; + $113 = $112; + HEAP32[$113>>2] = 0; + $114 = HEAP32[$bIn>>2]|0; + $115 = ($114|0)!=(0); + if ($115) { + $116 = HEAP32[$5>>2]|0; + $117 = $6; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$p>>2]|0; + $124 = HEAP16[$mNoOmit>>1]|0; + $125 = (_whereLoopAddVirtualOne($116,$119,$122,-1,-1,1,$123,$124,$bIn)|0); + HEAP32[$rc>>2] = $125; + $126 = HEAP32[$pNew>>2]|0; + $127 = $126; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = $6; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = $135 ^ -1; + $140 = $138 ^ -1; + $141 = $129 & $139; + $142 = $132 & $140; + $143 = $mBestNoIn; $144 = $143; - HEAP32[$144>>2] = $140; - $145 = $mBestNoIn; + HEAP32[$144>>2] = $141; + $145 = (($143) + 4)|0; $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = ($147|0)==(0); - $152 = ($150|0)==(0); - $153 = $151 & $152; - if ($153) { + HEAP32[$146>>2] = $142; + $147 = $mBestNoIn; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (($147) + 4)|0; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = ($149|0)==(0); + $154 = ($152|0)==(0); + $155 = $153 & $154; + if ($155) { HEAP32[$seenZero>>2] = 1; HEAP32[$seenZeroNoIN>>2] = 1; } } while(1) { - $154 = HEAP32[$rc>>2]|0; - $155 = ($154|0)==(0); - if (!($155)) { + $156 = HEAP32[$rc>>2]|0; + $157 = ($156|0)==(0); + if (!($157)) { break; } - $156 = $mNext; - $157 = $156; - HEAP32[$157>>2] = -1; - $158 = (($156) + 4)|0; + $158 = $mNext; $159 = $158; HEAP32[$159>>2] = -1; + $160 = (($158) + 4)|0; + $161 = $160; + HEAP32[$161>>2] = -1; HEAP32[$i>>2] = 0; while(1) { - $160 = HEAP32[$i>>2]|0; - $161 = HEAP32[$nConstraint>>2]|0; - $162 = ($160|0)<($161|0); - if (!($162)) { + $162 = HEAP32[$i>>2]|0; + $163 = HEAP32[$nConstraint>>2]|0; + $164 = ($162|0)<($163|0); + if (!($164)) { break; } - $163 = HEAP32[$i>>2]|0; - $164 = HEAP32[$p>>2]|0; - $165 = ((($164)) + 4|0); - $166 = HEAP32[$165>>2]|0; - $167 = (($166) + (($163*12)|0)|0); - $168 = ((($167)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = HEAP32[$pWC>>2]|0; - $171 = ((($170)) + 20|0); - $172 = HEAP32[$171>>2]|0; - $173 = (($172) + (($169*48)|0)|0); - $174 = ((($173)) + 32|0); - $175 = $174; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = (($175) + 4)|0; - $179 = $178; - $180 = HEAP32[$179>>2]|0; - $181 = $6; - $182 = $181; - $183 = HEAP32[$182>>2]|0; - $184 = (($181) + 4)|0; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - $187 = $183 ^ -1; - $188 = $186 ^ -1; - $189 = $177 & $187; - $190 = $180 & $188; - $191 = $mThis; - $192 = $191; - HEAP32[$192>>2] = $189; - $193 = (($191) + 4)|0; + $165 = HEAP32[$i>>2]|0; + $166 = HEAP32[$p>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + $169 = (($168) + (($165*12)|0)|0); + $170 = ((($169)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$pWC>>2]|0; + $173 = ((($172)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + (($171*48)|0)|0); + $176 = ((($175)) + 32|0); + $177 = $176; + $178 = $177; + $179 = HEAP32[$178>>2]|0; + $180 = (($177) + 4)|0; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = $6; + $184 = $183; + $185 = HEAP32[$184>>2]|0; + $186 = (($183) + 4)|0; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = $185 ^ -1; + $190 = $188 ^ -1; + $191 = $179 & $189; + $192 = $182 & $190; + $193 = $mThis; $194 = $193; - HEAP32[$194>>2] = $190; - $195 = $mThis; + HEAP32[$194>>2] = $191; + $195 = (($193) + 4)|0; $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $mPrev; - $202 = $201; - $203 = HEAP32[$202>>2]|0; - $204 = (($201) + 4)|0; - $205 = $204; - $206 = HEAP32[$205>>2]|0; - $207 = ($200>>>0)>($206>>>0); - $208 = ($197>>>0)>($203>>>0); - $209 = ($200|0)==($206|0); - $210 = $209 & $208; - $211 = $207 | $210; - if ($211) { - $212 = $mThis; - $213 = $212; - $214 = HEAP32[$213>>2]|0; - $215 = (($212) + 4)|0; - $216 = $215; - $217 = HEAP32[$216>>2]|0; - $218 = $mNext; - $219 = $218; - $220 = HEAP32[$219>>2]|0; - $221 = (($218) + 4)|0; - $222 = $221; - $223 = HEAP32[$222>>2]|0; - $224 = ($217>>>0)<($223>>>0); - $225 = ($214>>>0)<($220>>>0); - $226 = ($217|0)==($223|0); - $227 = $226 & $225; - $228 = $224 | $227; - if ($228) { - $229 = $mThis; - $230 = $229; - $231 = HEAP32[$230>>2]|0; - $232 = (($229) + 4)|0; - $233 = $232; - $234 = HEAP32[$233>>2]|0; - $235 = $mNext; - $236 = $235; - HEAP32[$236>>2] = $231; - $237 = (($235) + 4)|0; + HEAP32[$196>>2] = $192; + $197 = $mThis; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $mPrev; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = ($202>>>0)>($208>>>0); + $210 = ($199>>>0)>($205>>>0); + $211 = ($202|0)==($208|0); + $212 = $211 & $210; + $213 = $209 | $212; + if ($213) { + $214 = $mThis; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = (($214) + 4)|0; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = $mNext; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = (($220) + 4)|0; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = ($219>>>0)<($225>>>0); + $227 = ($216>>>0)<($222>>>0); + $228 = ($219|0)==($225|0); + $229 = $228 & $227; + $230 = $226 | $229; + if ($230) { + $231 = $mThis; + $232 = $231; + $233 = HEAP32[$232>>2]|0; + $234 = (($231) + 4)|0; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = $mNext; $238 = $237; - HEAP32[$238>>2] = $234; + HEAP32[$238>>2] = $233; + $239 = (($237) + 4)|0; + $240 = $239; + HEAP32[$240>>2] = $236; } } - $239 = HEAP32[$i>>2]|0; - $240 = (($239) + 1)|0; - HEAP32[$i>>2] = $240; - } - $241 = $mNext; - $242 = $241; - $243 = HEAP32[$242>>2]|0; - $244 = (($241) + 4)|0; - $245 = $244; - $246 = HEAP32[$245>>2]|0; - $247 = $mPrev; - $248 = $247; - HEAP32[$248>>2] = $243; - $249 = (($247) + 4)|0; + $241 = HEAP32[$i>>2]|0; + $242 = (($241) + 1)|0; + HEAP32[$i>>2] = $242; + } + $243 = $mNext; + $244 = $243; + $245 = HEAP32[$244>>2]|0; + $246 = (($243) + 4)|0; + $247 = $246; + $248 = HEAP32[$247>>2]|0; + $249 = $mPrev; $250 = $249; - HEAP32[$250>>2] = $246; - $251 = $mNext; + HEAP32[$250>>2] = $245; + $251 = (($249) + 4)|0; $252 = $251; - $253 = HEAP32[$252>>2]|0; - $254 = (($251) + 4)|0; - $255 = $254; - $256 = HEAP32[$255>>2]|0; - $257 = ($253|0)==(-1); - $258 = ($256|0)==(-1); - $259 = $257 & $258; - if ($259) { + HEAP32[$252>>2] = $248; + $253 = $mNext; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = (($253) + 4)|0; + $257 = $256; + $258 = HEAP32[$257>>2]|0; + $259 = ($255|0)==(-1); + $260 = ($258|0)==(-1); + $261 = $259 & $260; + if ($261) { break; } - $260 = $mNext; - $261 = $260; - $262 = HEAP32[$261>>2]|0; - $263 = (($260) + 4)|0; - $264 = $263; - $265 = HEAP32[$264>>2]|0; - $266 = $mBest; - $267 = $266; - $268 = HEAP32[$267>>2]|0; - $269 = (($266) + 4)|0; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = ($262|0)==($268|0); - $273 = ($265|0)==($271|0); - $274 = $272 & $273; - if ($274) { + $262 = $mNext; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = (($262) + 4)|0; + $266 = $265; + $267 = HEAP32[$266>>2]|0; + $268 = $mBest; + $269 = $268; + $270 = HEAP32[$269>>2]|0; + $271 = (($268) + 4)|0; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = ($264|0)==($270|0); + $275 = ($267|0)==($273|0); + $276 = $274 & $275; + if ($276) { continue; } - $275 = $mNext; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = (($275) + 4)|0; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = $mBestNoIn; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - $284 = (($281) + 4)|0; - $285 = $284; - $286 = HEAP32[$285>>2]|0; - $287 = ($277|0)==($283|0); - $288 = ($280|0)==($286|0); - $289 = $287 & $288; - if ($289) { + $277 = $mNext; + $278 = $277; + $279 = HEAP32[$278>>2]|0; + $280 = (($277) + 4)|0; + $281 = $280; + $282 = HEAP32[$281>>2]|0; + $283 = $mBestNoIn; + $284 = $283; + $285 = HEAP32[$284>>2]|0; + $286 = (($283) + 4)|0; + $287 = $286; + $288 = HEAP32[$287>>2]|0; + $289 = ($279|0)==($285|0); + $290 = ($282|0)==($288|0); + $291 = $289 & $290; + if ($291) { continue; } - $290 = HEAP32[$5>>2]|0; - $291 = $6; - $292 = $291; - $293 = HEAP32[$292>>2]|0; - $294 = (($291) + 4)|0; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = $mNext; - $298 = $297; - $299 = HEAP32[$298>>2]|0; - $300 = (($297) + 4)|0; - $301 = $300; - $302 = HEAP32[$301>>2]|0; - $303 = $6; - $304 = $303; - $305 = HEAP32[$304>>2]|0; - $306 = (($303) + 4)|0; - $307 = $306; - $308 = HEAP32[$307>>2]|0; - $309 = $299 | $305; - $310 = $302 | $308; - $311 = HEAP32[$p>>2]|0; - $312 = (_whereLoopAddVirtualOne($290,$293,$296,$309,$310,0,$311,$bIn)|0); - HEAP32[$rc>>2] = $312; - $313 = HEAP32[$pNew>>2]|0; - $314 = $313; - $315 = $314; - $316 = HEAP32[$315>>2]|0; - $317 = (($314) + 4)|0; + $292 = HEAP32[$5>>2]|0; + $293 = $6; + $294 = $293; + $295 = HEAP32[$294>>2]|0; + $296 = (($293) + 4)|0; + $297 = $296; + $298 = HEAP32[$297>>2]|0; + $299 = $mNext; + $300 = $299; + $301 = HEAP32[$300>>2]|0; + $302 = (($299) + 4)|0; + $303 = $302; + $304 = HEAP32[$303>>2]|0; + $305 = $6; + $306 = $305; + $307 = HEAP32[$306>>2]|0; + $308 = (($305) + 4)|0; + $309 = $308; + $310 = HEAP32[$309>>2]|0; + $311 = $301 | $307; + $312 = $304 | $310; + $313 = HEAP32[$p>>2]|0; + $314 = HEAP16[$mNoOmit>>1]|0; + $315 = (_whereLoopAddVirtualOne($292,$295,$298,$311,$312,0,$313,$314,$bIn)|0); + HEAP32[$rc>>2] = $315; + $316 = HEAP32[$pNew>>2]|0; + $317 = $316; $318 = $317; $319 = HEAP32[$318>>2]|0; - $320 = $6; + $320 = (($317) + 4)|0; $321 = $320; $322 = HEAP32[$321>>2]|0; - $323 = (($320) + 4)|0; + $323 = $6; $324 = $323; $325 = HEAP32[$324>>2]|0; - $326 = ($316|0)==($322|0); - $327 = ($319|0)==($325|0); - $328 = $326 & $327; - if (!($328)) { + $326 = (($323) + 4)|0; + $327 = $326; + $328 = HEAP32[$327>>2]|0; + $329 = ($319|0)==($325|0); + $330 = ($322|0)==($328|0); + $331 = $329 & $330; + if (!($331)) { continue; } HEAP32[$seenZero>>2] = 1; - $329 = HEAP32[$bIn>>2]|0; - $330 = ($329|0)==(0); - if (!($330)) { + $332 = HEAP32[$bIn>>2]|0; + $333 = ($332|0)==(0); + if (!($333)) { continue; } HEAP32[$seenZeroNoIN>>2] = 1; } - $331 = HEAP32[$rc>>2]|0; - $332 = ($331|0)==(0); - $333 = HEAP32[$seenZero>>2]|0; - $334 = ($333|0)==(0); - $or$cond = $332 & $334; + $334 = HEAP32[$rc>>2]|0; + $335 = ($334|0)==(0); + $336 = HEAP32[$seenZero>>2]|0; + $337 = ($336|0)==(0); + $or$cond = $335 & $337; if ($or$cond) { - $335 = HEAP32[$5>>2]|0; - $336 = $6; - $337 = $336; - $338 = HEAP32[$337>>2]|0; - $339 = (($336) + 4)|0; + $338 = HEAP32[$5>>2]|0; + $339 = $6; $340 = $339; $341 = HEAP32[$340>>2]|0; - $342 = $6; + $342 = (($339) + 4)|0; $343 = $342; $344 = HEAP32[$343>>2]|0; - $345 = (($342) + 4)|0; + $345 = $6; $346 = $345; $347 = HEAP32[$346>>2]|0; - $348 = HEAP32[$p>>2]|0; - $349 = (_whereLoopAddVirtualOne($335,$338,$341,$344,$347,0,$348,$bIn)|0); - HEAP32[$rc>>2] = $349; - $350 = HEAP32[$bIn>>2]|0; - $351 = ($350|0)==(0); - if ($351) { + $348 = (($345) + 4)|0; + $349 = $348; + $350 = HEAP32[$349>>2]|0; + $351 = HEAP32[$p>>2]|0; + $352 = HEAP16[$mNoOmit>>1]|0; + $353 = (_whereLoopAddVirtualOne($338,$341,$344,$347,$350,0,$351,$352,$bIn)|0); + HEAP32[$rc>>2] = $353; + $354 = HEAP32[$bIn>>2]|0; + $355 = ($354|0)==(0); + if ($355) { HEAP32[$seenZeroNoIN>>2] = 1; } } - $352 = HEAP32[$rc>>2]|0; - $353 = ($352|0)==(0); - $354 = HEAP32[$seenZeroNoIN>>2]|0; - $355 = ($354|0)==(0); - $or$cond3 = $353 & $355; + $356 = HEAP32[$rc>>2]|0; + $357 = ($356|0)==(0); + $358 = HEAP32[$seenZeroNoIN>>2]|0; + $359 = ($358|0)==(0); + $or$cond3 = $357 & $359; if ($or$cond3) { - $356 = HEAP32[$5>>2]|0; - $357 = $6; - $358 = $357; - $359 = HEAP32[$358>>2]|0; - $360 = (($357) + 4)|0; - $361 = $360; - $362 = HEAP32[$361>>2]|0; - $363 = $6; - $364 = $363; - $365 = HEAP32[$364>>2]|0; - $366 = (($363) + 4)|0; - $367 = $366; - $368 = HEAP32[$367>>2]|0; - $369 = HEAP32[$p>>2]|0; - $370 = (_whereLoopAddVirtualOne($356,$359,$362,$365,$368,1,$369,$bIn)|0); - HEAP32[$rc>>2] = $370; - } - } - } - $371 = HEAP32[$p>>2]|0; - $372 = ((($371)) + 28|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)!=(0); - if ($374) { - $375 = HEAP32[$p>>2]|0; - $376 = ((($375)) + 24|0); - $377 = HEAP32[$376>>2]|0; - _sqlite3_free($377); - } - $378 = HEAP32[$pParse>>2]|0; - $379 = HEAP32[$378>>2]|0; - $380 = HEAP32[$p>>2]|0; - _sqlite3DbFree($379,$380); - $381 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $381; - $382 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($382|0); + $360 = HEAP32[$5>>2]|0; + $361 = $6; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = (($361) + 4)|0; + $365 = $364; + $366 = HEAP32[$365>>2]|0; + $367 = $6; + $368 = $367; + $369 = HEAP32[$368>>2]|0; + $370 = (($367) + 4)|0; + $371 = $370; + $372 = HEAP32[$371>>2]|0; + $373 = HEAP32[$p>>2]|0; + $374 = HEAP16[$mNoOmit>>1]|0; + $375 = (_whereLoopAddVirtualOne($360,$363,$366,$369,$372,1,$373,$374,$bIn)|0); + HEAP32[$rc>>2] = $375; + } + } + } + $376 = HEAP32[$p>>2]|0; + $377 = ((($376)) + 28|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)!=(0); + if ($379) { + $380 = HEAP32[$p>>2]|0; + $381 = ((($380)) + 24|0); + $382 = HEAP32[$381>>2]|0; + _sqlite3_free($382); + } + $383 = HEAP32[$pParse>>2]|0; + $384 = HEAP32[$383>>2]|0; + $385 = HEAP32[$p>>2]|0; + _sqlite3DbFree($384,$385); + $386 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $386; + $387 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($387|0); } function _whereLoopAddBtree($pBuilder,$0,$1) { $pBuilder = $pBuilder|0; @@ -180380,34 +183825,43 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; - var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aiColumnPk = 0, $aiRowEstPk = 0, $b = 0, $iSortIdx = 0, $m = 0, $or$cond = 0, $pFirst = 0, $pNew = 0, $pProbe = 0, $pSrc = 0, $pTab = 0; - var $pTabList = 0, $pTerm = 0, $pWC = 0, $pWCEnd = 0, $pWInfo = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $sPk = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aiColumnPk = 0, $aiRowEstPk = 0, $b = 0, $iCur = 0, $iSortIdx = 0; + var $ii = 0, $m = 0, $nLookup = 0, $or$cond = 0, $pFirst = 0, $pNew = 0, $pProbe = 0, $pSrc = 0, $pTab = 0, $pTabList = 0, $pTerm = 0, $pTerm1 = 0, $pWC = 0, $pWC2 = 0, $pWCEnd = 0, $pWInfo = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $sPk = 0; + var dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $2 = sp + 128|0; + STACKTOP = STACKTOP + 160|0; + $2 = sp + 144|0; $3 = sp + 8|0; - $pWInfo = sp + 124|0; - $pProbe = sp + 120|0; - $sPk = sp + 64|0; - $aiRowEstPk = sp + 140|0; - $aiColumnPk = sp + 136|0; - $pTabList = sp + 56|0; - $pSrc = sp + 52|0; - $pNew = sp + 48|0; - $rc = sp + 44|0; - $iSortIdx = sp + 40|0; - $b = sp + 36|0; - $rSize = sp + 134|0; - $rLogSize = sp + 132|0; - $pWC = sp + 32|0; - $pTab = sp + 28|0; - $pFirst = sp + 24|0; - $pTerm = sp + 20|0; - $pWCEnd = sp + 16|0; + $pWInfo = sp + 140|0; + $pProbe = sp + 136|0; + $sPk = sp + 80|0; + $aiRowEstPk = sp + 156|0; + $aiColumnPk = sp + 154|0; + $pTabList = sp + 72|0; + $pSrc = sp + 68|0; + $pNew = sp + 64|0; + $rc = sp + 60|0; + $iSortIdx = sp + 56|0; + $b = sp + 52|0; + $rSize = sp + 152|0; + $rLogSize = sp + 150|0; + $pWC = sp + 48|0; + $pTab = sp + 44|0; + $pFirst = sp + 40|0; + $pTerm = sp + 36|0; + $pWCEnd = sp + 32|0; $m = sp; + $nLookup = sp + 148|0; + $ii = sp + 28|0; + $iCur = sp + 24|0; + $pWC2 = sp + 20|0; + $pTerm1 = sp + 16|0; HEAP32[$2>>2] = $pBuilder; $4 = $3; $5 = $4; @@ -180529,10 +183983,10 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { L11: do { if (!($82)) { $83 = HEAP32[$pWInfo>>2]|0; - $84 = ((($83)) + 36|0); + $84 = ((($83)) + 40|0); $85 = HEAP16[$84>>1]|0; $86 = $85&65535; - $87 = $86 & 128; + $87 = $86 & 32; $88 = ($87|0)==(0); if ($88) { $89 = HEAP32[$pWInfo>>2]|0; @@ -180640,7 +184094,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { HEAP16[$172>>1] = 0; $173 = HEAP32[$pNew>>2]|0; $174 = ((($173)) + 24|0); - $175 = ((($174)) + 4|0); + $175 = ((($174)) + 8|0); HEAP32[$175>>2] = 0; $176 = HEAP32[$pNew>>2]|0; $177 = ((($176)) + 40|0); @@ -180682,51 +184136,61 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { } } $207 = HEAP32[$pNew>>2]|0; - $208 = ((($207)) + 22|0); - HEAP16[$208>>1] = 43; - $209 = HEAP16[$rLogSize>>1]|0; - $210 = HEAP32[$pNew>>2]|0; - $211 = ((($210)) + 22|0); - $212 = HEAP16[$211>>1]|0; - $213 = (_sqlite3LogEstAdd($209,$212)|0); + $208 = ((($207)) + 18|0); + $209 = HEAP16[$208>>1]|0; + $210 = $209 << 16 >> 16; + $211 = ($210|0)<(0); + if ($211) { + $212 = HEAP32[$pNew>>2]|0; + $213 = ((($212)) + 18|0); + HEAP16[$213>>1] = 0; + } $214 = HEAP32[$pNew>>2]|0; - $215 = ((($214)) + 20|0); - HEAP16[$215>>1] = $213; - $216 = HEAP32[$pNew>>2]|0; - $217 = ((($216)) + 36|0); - HEAP32[$217>>2] = 16384; - $218 = $3; - $219 = $218; - $220 = HEAP32[$219>>2]|0; - $221 = (($218) + 4)|0; - $222 = $221; - $223 = HEAP32[$222>>2]|0; - $224 = HEAP32[$pTerm>>2]|0; - $225 = ((($224)) + 32|0); + $215 = ((($214)) + 22|0); + HEAP16[$215>>1] = 43; + $216 = HEAP16[$rLogSize>>1]|0; + $217 = HEAP32[$pNew>>2]|0; + $218 = ((($217)) + 22|0); + $219 = HEAP16[$218>>1]|0; + $220 = (_sqlite3LogEstAdd($216,$219)|0); + $221 = HEAP32[$pNew>>2]|0; + $222 = ((($221)) + 20|0); + HEAP16[$222>>1] = $220; + $223 = HEAP32[$pNew>>2]|0; + $224 = ((($223)) + 36|0); + HEAP32[$224>>2] = 16384; + $225 = $3; $226 = $225; - $227 = $226; - $228 = HEAP32[$227>>2]|0; - $229 = (($226) + 4)|0; - $230 = $229; - $231 = HEAP32[$230>>2]|0; - $232 = $220 | $228; - $233 = $223 | $231; - $234 = HEAP32[$pNew>>2]|0; - $235 = $234; - $236 = $235; - HEAP32[$236>>2] = $232; - $237 = (($235) + 4)|0; - $238 = $237; - HEAP32[$238>>2] = $233; - $239 = HEAP32[$2>>2]|0; - $240 = HEAP32[$pNew>>2]|0; - $241 = (_whereLoopInsert($239,$240)|0); - HEAP32[$rc>>2] = $241; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = HEAP32[$pTerm>>2]|0; + $232 = ((($231)) + 32|0); + $233 = $232; + $234 = $233; + $235 = HEAP32[$234>>2]|0; + $236 = (($233) + 4)|0; + $237 = $236; + $238 = HEAP32[$237>>2]|0; + $239 = $227 | $235; + $240 = $230 | $238; + $241 = HEAP32[$pNew>>2]|0; + $242 = $241; + $243 = $242; + HEAP32[$243>>2] = $239; + $244 = (($242) + 4)|0; + $245 = $244; + HEAP32[$245>>2] = $240; + $246 = HEAP32[$2>>2]|0; + $247 = HEAP32[$pNew>>2]|0; + $248 = (_whereLoopInsert($246,$247)|0); + HEAP32[$rc>>2] = $248; } } - $242 = HEAP32[$pTerm>>2]|0; - $243 = ((($242)) + 48|0); - HEAP32[$pTerm>>2] = $243; + $249 = HEAP32[$pTerm>>2]|0; + $250 = ((($249)) + 48|0); + HEAP32[$pTerm>>2] = $250; } } } @@ -180737,345 +184201,430 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { } } } while(0); - L32: while(1) { - $244 = HEAP32[$rc>>2]|0; - $245 = ($244|0)==(0); - $246 = HEAP32[$pProbe>>2]|0; - $247 = ($246|0)!=(0|0); - $248 = $245 ? $247 : 0; - if (!($248)) { - label = 46; + L35: while(1) { + $251 = HEAP32[$rc>>2]|0; + $252 = ($251|0)==(0); + $253 = HEAP32[$pProbe>>2]|0; + $254 = ($253|0)!=(0|0); + $255 = $252 ? $254 : 0; + if (!($255)) { + label = 57; break; } - $249 = HEAP32[$pProbe>>2]|0; - $250 = ((($249)) + 36|0); - $251 = HEAP32[$250>>2]|0; - $252 = ($251|0)!=(0|0); - if ($252) { - $253 = HEAP32[$pSrc>>2]|0; - $254 = ((($253)) + 44|0); - $255 = HEAP32[$254>>2]|0; - $256 = HEAP32[$pWC>>2]|0; - $257 = HEAP32[$pProbe>>2]|0; - $258 = ((($257)) + 36|0); - $259 = HEAP32[$258>>2]|0; - $260 = (_whereUsablePartialIndex($255,$256,$259)|0); - $261 = ($260|0)!=(0); - if ($261) { - label = 29; + $256 = HEAP32[$pProbe>>2]|0; + $257 = ((($256)) + 36|0); + $258 = HEAP32[$257>>2]|0; + $259 = ($258|0)!=(0|0); + if ($259) { + $260 = HEAP32[$pSrc>>2]|0; + $261 = ((($260)) + 44|0); + $262 = HEAP32[$261>>2]|0; + $263 = HEAP32[$pWC>>2]|0; + $264 = HEAP32[$pProbe>>2]|0; + $265 = ((($264)) + 36|0); + $266 = HEAP32[$265>>2]|0; + $267 = (_whereUsablePartialIndex($262,$263,$266)|0); + $268 = ($267|0)!=(0); + if ($268) { + label = 31; } } else { - label = 29; + label = 31; } - if ((label|0) == 29) { + if ((label|0) == 31) { label = 0; - $262 = HEAP32[$pProbe>>2]|0; - $263 = ((($262)) + 8|0); - $264 = HEAP32[$263>>2]|0; - $265 = HEAP16[$264>>1]|0; - HEAP16[$rSize>>1] = $265; - $266 = HEAP32[$pNew>>2]|0; - $267 = ((($266)) + 24|0); - HEAP16[$267>>1] = 0; - $268 = HEAP32[$pNew>>2]|0; - $269 = ((($268)) + 42|0); - HEAP16[$269>>1] = 0; - $270 = HEAP32[$pNew>>2]|0; - $271 = ((($270)) + 40|0); - HEAP16[$271>>1] = 0; - $272 = HEAP32[$pNew>>2]|0; - $273 = ((($272)) + 17|0); - HEAP8[$273>>0] = 0; - $274 = HEAP32[$pNew>>2]|0; - $275 = ((($274)) + 18|0); - HEAP16[$275>>1] = 0; - $276 = $3; - $277 = $276; - $278 = HEAP32[$277>>2]|0; - $279 = (($276) + 4)|0; - $280 = $279; - $281 = HEAP32[$280>>2]|0; - $282 = HEAP32[$pNew>>2]|0; - $283 = $282; - $284 = $283; - HEAP32[$284>>2] = $278; - $285 = (($283) + 4)|0; - $286 = $285; - HEAP32[$286>>2] = $281; - $287 = HEAP16[$rSize>>1]|0; - $288 = HEAP32[$pNew>>2]|0; - $289 = ((($288)) + 22|0); - HEAP16[$289>>1] = $287; - $290 = HEAP32[$pProbe>>2]|0; - $291 = HEAP32[$pNew>>2]|0; - $292 = ((($291)) + 24|0); - $293 = ((($292)) + 4|0); - HEAP32[$293>>2] = $290; - $294 = HEAP32[$2>>2]|0; - $295 = HEAP32[$pProbe>>2]|0; - $296 = HEAP32[$pSrc>>2]|0; - $297 = ((($296)) + 44|0); - $298 = HEAP32[$297>>2]|0; - $299 = (_indexMightHelpWithOrderBy($294,$295,$298)|0); - HEAP32[$b>>2] = $299; - $300 = HEAP32[$pProbe>>2]|0; - $301 = ((($300)) + 44|0); - $302 = HEAP32[$301>>2]|0; - $303 = ($302|0)<=(0); + $269 = HEAP32[$pProbe>>2]|0; + $270 = ((($269)) + 8|0); + $271 = HEAP32[$270>>2]|0; + $272 = HEAP16[$271>>1]|0; + HEAP16[$rSize>>1] = $272; + $273 = HEAP32[$pNew>>2]|0; + $274 = ((($273)) + 24|0); + HEAP16[$274>>1] = 0; + $275 = HEAP32[$pNew>>2]|0; + $276 = ((($275)) + 24|0); + $277 = ((($276)) + 2|0); + HEAP16[$277>>1] = 0; + $278 = HEAP32[$pNew>>2]|0; + $279 = ((($278)) + 24|0); + $280 = ((($279)) + 4|0); + HEAP16[$280>>1] = 0; + $281 = HEAP32[$pNew>>2]|0; + $282 = ((($281)) + 42|0); + HEAP16[$282>>1] = 0; + $283 = HEAP32[$pNew>>2]|0; + $284 = ((($283)) + 40|0); + HEAP16[$284>>1] = 0; + $285 = HEAP32[$pNew>>2]|0; + $286 = ((($285)) + 17|0); + HEAP8[$286>>0] = 0; + $287 = HEAP32[$pNew>>2]|0; + $288 = ((($287)) + 18|0); + HEAP16[$288>>1] = 0; + $289 = $3; + $290 = $289; + $291 = HEAP32[$290>>2]|0; + $292 = (($289) + 4)|0; + $293 = $292; + $294 = HEAP32[$293>>2]|0; + $295 = HEAP32[$pNew>>2]|0; + $296 = $295; + $297 = $296; + HEAP32[$297>>2] = $291; + $298 = (($296) + 4)|0; + $299 = $298; + HEAP32[$299>>2] = $294; + $300 = HEAP16[$rSize>>1]|0; + $301 = HEAP32[$pNew>>2]|0; + $302 = ((($301)) + 22|0); + HEAP16[$302>>1] = $300; + $303 = HEAP32[$pProbe>>2]|0; + $304 = HEAP32[$pNew>>2]|0; + $305 = ((($304)) + 24|0); + $306 = ((($305)) + 8|0); + HEAP32[$306>>2] = $303; + $307 = HEAP32[$2>>2]|0; + $308 = HEAP32[$pProbe>>2]|0; + $309 = HEAP32[$pSrc>>2]|0; + $310 = ((($309)) + 44|0); + $311 = HEAP32[$310>>2]|0; + $312 = (_indexMightHelpWithOrderBy($307,$308,$311)|0); + HEAP32[$b>>2] = $312; + $313 = HEAP32[$pProbe>>2]|0; + $314 = ((($313)) + 44|0); + $315 = HEAP32[$314>>2]|0; + $316 = ($315|0)<=(0); do { - if ($303) { - $304 = HEAP32[$pNew>>2]|0; - $305 = ((($304)) + 36|0); - HEAP32[$305>>2] = 256; - $306 = HEAP32[$b>>2]|0; - $307 = ($306|0)!=(0); - $308 = HEAP32[$iSortIdx>>2]|0; - $309 = $307 ? $308 : 0; - $310 = $309&255; - $311 = HEAP32[$pNew>>2]|0; - $312 = ((($311)) + 17|0); - HEAP8[$312>>0] = $310; - $313 = HEAP16[$rSize>>1]|0; - $314 = $313 << 16 >> 16; - $315 = (($314) + 16)|0; - $316 = $315&65535; + if ($316) { $317 = HEAP32[$pNew>>2]|0; - $318 = ((($317)) + 20|0); - HEAP16[$318>>1] = $316; - $319 = HEAP32[$pWC>>2]|0; - $320 = HEAP32[$pNew>>2]|0; - $321 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($319,$320,$321); - $322 = HEAP32[$2>>2]|0; - $323 = HEAP32[$pNew>>2]|0; - $324 = (_whereLoopInsert($322,$323)|0); - HEAP32[$rc>>2] = $324; - $325 = HEAP16[$rSize>>1]|0; - $326 = HEAP32[$pNew>>2]|0; - $327 = ((($326)) + 22|0); - HEAP16[$327>>1] = $325; - $328 = HEAP32[$rc>>2]|0; - $329 = ($328|0)!=(0); - if ($329) { - label = 46; - break L32; + $318 = ((($317)) + 36|0); + HEAP32[$318>>2] = 256; + $319 = HEAP32[$b>>2]|0; + $320 = ($319|0)!=(0); + $321 = HEAP32[$iSortIdx>>2]|0; + $322 = $320 ? $321 : 0; + $323 = $322&255; + $324 = HEAP32[$pNew>>2]|0; + $325 = ((($324)) + 17|0); + HEAP8[$325>>0] = $323; + $326 = HEAP16[$rSize>>1]|0; + $327 = $326 << 16 >> 16; + $328 = (($327) + 16)|0; + $329 = $328&65535; + $330 = HEAP32[$pNew>>2]|0; + $331 = ((($330)) + 20|0); + HEAP16[$331>>1] = $329; + $332 = HEAP32[$pWC>>2]|0; + $333 = HEAP32[$pNew>>2]|0; + $334 = HEAP16[$rSize>>1]|0; + _whereLoopOutputAdjust($332,$333,$334); + $335 = HEAP32[$2>>2]|0; + $336 = HEAP32[$pNew>>2]|0; + $337 = (_whereLoopInsert($335,$336)|0); + HEAP32[$rc>>2] = $337; + $338 = HEAP16[$rSize>>1]|0; + $339 = HEAP32[$pNew>>2]|0; + $340 = ((($339)) + 22|0); + HEAP16[$340>>1] = $338; + $341 = HEAP32[$rc>>2]|0; + $342 = ($341|0)!=(0); + if ($342) { + label = 57; + break L35; } } else { - $330 = HEAP32[$pProbe>>2]|0; - $331 = ((($330)) + 55|0); - $332 = HEAP8[$331>>0]|0; - $333 = ($332&255) >>> 5; - $334 = $333 & 1; - $335 = $334&255; - $336 = ($335|0)!=(0); - if ($336) { - $337 = HEAP32[$pNew>>2]|0; - $338 = ((($337)) + 36|0); - HEAP32[$338>>2] = 576; - $339 = $m; - $340 = $339; - HEAP32[$340>>2] = 0; - $341 = (($339) + 4)|0; - $342 = $341; - HEAP32[$342>>2] = 0; + $343 = HEAP32[$pProbe>>2]|0; + $344 = ((($343)) + 55|0); + $345 = HEAP8[$344>>0]|0; + $346 = ($345&255) >>> 5; + $347 = $346 & 1; + $348 = $347&255; + $349 = ($348|0)!=(0); + if ($349) { + $350 = HEAP32[$pNew>>2]|0; + $351 = ((($350)) + 36|0); + HEAP32[$351>>2] = 576; + $352 = $m; + $353 = $352; + HEAP32[$353>>2] = 0; + $354 = (($352) + 4)|0; + $355 = $354; + HEAP32[$355>>2] = 0; } else { - $343 = HEAP32[$pSrc>>2]|0; - $344 = ((($343)) + 56|0); - $345 = $344; - $346 = $345; - $347 = HEAP32[$346>>2]|0; - $348 = (($345) + 4)|0; - $349 = $348; - $350 = HEAP32[$349>>2]|0; - $351 = HEAP32[$pProbe>>2]|0; - $352 = (_columnsInIndex($351)|0); - $353 = tempRet0; - $354 = $352 ^ -1; - $355 = $353 ^ -1; - $356 = $347 & $354; - $357 = $350 & $355; - $358 = $m; + $356 = HEAP32[$pSrc>>2]|0; + $357 = ((($356)) + 56|0); + $358 = $357; $359 = $358; - HEAP32[$359>>2] = $356; - $360 = (($358) + 4)|0; - $361 = $360; - HEAP32[$361>>2] = $357; - $362 = $m; - $363 = $362; - $364 = HEAP32[$363>>2]|0; - $365 = (($362) + 4)|0; - $366 = $365; - $367 = HEAP32[$366>>2]|0; - $368 = ($364|0)==(0); - $369 = ($367|0)==(0); - $370 = $368 & $369; - $371 = $370 ? 576 : 512; - $372 = HEAP32[$pNew>>2]|0; - $373 = ((($372)) + 36|0); - HEAP32[$373>>2] = $371; - } - $374 = HEAP32[$b>>2]|0; - $375 = ($374|0)!=(0); - if (!($375)) { - $376 = HEAP32[$pTab>>2]|0; - $377 = ((($376)) + 42|0); - $378 = HEAP8[$377>>0]|0; - $379 = $378&255; - $380 = $379 & 32; - $381 = ($380|0)==(0); - if ($381) { - $382 = $m; - $383 = $382; - $384 = HEAP32[$383>>2]|0; - $385 = (($382) + 4)|0; - $386 = $385; - $387 = HEAP32[$386>>2]|0; - $388 = ($384|0)==(0); - $389 = ($387|0)==(0); - $390 = $388 & $389; - if (!($390)) { - break; - } - $391 = HEAP32[$pProbe>>2]|0; - $392 = ((($391)) + 55|0); - $393 = HEAP8[$392>>0]|0; - $394 = ($393&255) >>> 2; - $395 = $394 & 1; - $396 = $395&255; - $397 = ($396|0)==(0); - if (!($397)) { - break; + $360 = HEAP32[$359>>2]|0; + $361 = (($358) + 4)|0; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = HEAP32[$pProbe>>2]|0; + $365 = (_columnsInIndex($364)|0); + $366 = tempRet0; + $367 = $365 ^ -1; + $368 = $366 ^ -1; + $369 = $360 & $367; + $370 = $363 & $368; + $371 = $m; + $372 = $371; + HEAP32[$372>>2] = $369; + $373 = (($371) + 4)|0; + $374 = $373; + HEAP32[$374>>2] = $370; + $375 = $m; + $376 = $375; + $377 = HEAP32[$376>>2]|0; + $378 = (($375) + 4)|0; + $379 = $378; + $380 = HEAP32[$379>>2]|0; + $381 = ($377|0)==(0); + $382 = ($380|0)==(0); + $383 = $381 & $382; + $384 = $383 ? 576 : 512; + $385 = HEAP32[$pNew>>2]|0; + $386 = ((($385)) + 36|0); + HEAP32[$386>>2] = $384; + } + $387 = HEAP32[$b>>2]|0; + $388 = ($387|0)!=(0); + if (!($388)) { + $389 = HEAP32[$pTab>>2]|0; + $390 = ((($389)) + 42|0); + $391 = HEAP8[$390>>0]|0; + $392 = $391&255; + $393 = $392 & 32; + $394 = ($393|0)==(0); + if ($394) { + $395 = HEAP32[$pProbe>>2]|0; + $396 = ((($395)) + 36|0); + $397 = HEAP32[$396>>2]|0; + $398 = ($397|0)!=(0|0); + if (!($398)) { + $399 = $m; + $400 = $399; + $401 = HEAP32[$400>>2]|0; + $402 = (($399) + 4)|0; + $403 = $402; + $404 = HEAP32[$403>>2]|0; + $405 = ($401|0)==(0); + $406 = ($404|0)==(0); + $407 = $405 & $406; + if (!($407)) { + break; + } + $408 = HEAP32[$pProbe>>2]|0; + $409 = ((($408)) + 55|0); + $410 = HEAP8[$409>>0]|0; + $411 = ($410&255) >>> 2; + $412 = $411 & 1; + $413 = $412&255; + $414 = ($413|0)==(0); + if (!($414)) { + break; + } + $415 = HEAP32[$pProbe>>2]|0; + $416 = ((($415)) + 48|0); + $417 = HEAP16[$416>>1]|0; + $418 = $417 << 16 >> 16; + $419 = HEAP32[$pTab>>2]|0; + $420 = ((($419)) + 40|0); + $421 = HEAP16[$420>>1]|0; + $422 = $421 << 16 >> 16; + $423 = ($418|0)<($422|0); + if (!($423)) { + break; + } + $424 = HEAP32[$pWInfo>>2]|0; + $425 = ((($424)) + 40|0); + $426 = HEAP16[$425>>1]|0; + $427 = $426&65535; + $428 = $427 & 4; + $429 = ($428|0)==(0); + $430 = HEAP32[(24)>>2]|0; + $431 = ($430|0)!=(0); + $or$cond = $429 & $431; + if (!($or$cond)) { + break; + } + $432 = HEAP32[$pWInfo>>2]|0; + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[$433>>2]|0; + $435 = ((($434)) + 64|0); + $436 = HEAP16[$435>>1]|0; + $437 = $436&65535; + $438 = $437 & 64; + $439 = ($438|0)==(0); + if (!($439)) { + break; + } } - $398 = HEAP32[$pProbe>>2]|0; - $399 = ((($398)) + 48|0); - $400 = HEAP16[$399>>1]|0; - $401 = $400 << 16 >> 16; - $402 = HEAP32[$pTab>>2]|0; - $403 = ((($402)) + 40|0); - $404 = HEAP16[$403>>1]|0; - $405 = $404 << 16 >> 16; - $406 = ($401|0)<($405|0); - if (!($406)) { + } + } + $440 = HEAP32[$b>>2]|0; + $441 = ($440|0)!=(0); + $442 = HEAP32[$iSortIdx>>2]|0; + $443 = $441 ? $442 : 0; + $444 = $443&255; + $445 = HEAP32[$pNew>>2]|0; + $446 = ((($445)) + 17|0); + HEAP8[$446>>0] = $444; + $447 = HEAP16[$rSize>>1]|0; + $448 = $447 << 16 >> 16; + $449 = (($448) + 1)|0; + $450 = HEAP32[$pProbe>>2]|0; + $451 = ((($450)) + 48|0); + $452 = HEAP16[$451>>1]|0; + $453 = $452 << 16 >> 16; + $454 = ($453*15)|0; + $455 = HEAP32[$pTab>>2]|0; + $456 = ((($455)) + 40|0); + $457 = HEAP16[$456>>1]|0; + $458 = $457 << 16 >> 16; + $459 = (($454|0) / ($458|0))&-1; + $460 = (($449) + ($459))|0; + $461 = $460&65535; + $462 = HEAP32[$pNew>>2]|0; + $463 = ((($462)) + 20|0); + HEAP16[$463>>1] = $461; + $464 = $m; + $465 = $464; + $466 = HEAP32[$465>>2]|0; + $467 = (($464) + 4)|0; + $468 = $467; + $469 = HEAP32[$468>>2]|0; + $470 = ($466|0)!=(0); + $471 = ($469|0)!=(0); + $472 = $470 | $471; + if ($472) { + $473 = HEAP16[$rSize>>1]|0; + $474 = $473 << 16 >> 16; + $475 = (($474) + 16)|0; + $476 = $475&65535; + HEAP16[$nLookup>>1] = $476; + $477 = HEAP32[$pSrc>>2]|0; + $478 = ((($477)) + 44|0); + $479 = HEAP32[$478>>2]|0; + HEAP32[$iCur>>2] = $479; + $480 = HEAP32[$pWInfo>>2]|0; + $481 = ((($480)) + 80|0); + HEAP32[$pWC2>>2] = $481; + HEAP32[$ii>>2] = 0; + while(1) { + $482 = HEAP32[$ii>>2]|0; + $483 = HEAP32[$pWC2>>2]|0; + $484 = ((($483)) + 12|0); + $485 = HEAP32[$484>>2]|0; + $486 = ($482|0)<($485|0); + if (!($486)) { break; } - $407 = HEAP32[$pWInfo>>2]|0; - $408 = ((($407)) + 36|0); - $409 = HEAP16[$408>>1]|0; - $410 = $409&65535; - $411 = $410 & 4; - $412 = ($411|0)==(0); - $413 = HEAP32[(24)>>2]|0; - $414 = ($413|0)!=(0); - $or$cond = $412 & $414; - if (!($or$cond)) { + $487 = HEAP32[$ii>>2]|0; + $488 = HEAP32[$pWC2>>2]|0; + $489 = ((($488)) + 20|0); + $490 = HEAP32[$489>>2]|0; + $491 = (($490) + (($487*48)|0)|0); + HEAP32[$pTerm1>>2] = $491; + $492 = HEAP32[$pTerm1>>2]|0; + $493 = HEAP32[$492>>2]|0; + $494 = HEAP32[$iCur>>2]|0; + $495 = HEAP32[$pProbe>>2]|0; + $496 = (_sqlite3ExprCoveredByIndex($493,$494,$495)|0); + $497 = ($496|0)!=(0); + if (!($497)) { break; } - $415 = HEAP32[$pWInfo>>2]|0; - $416 = HEAP32[$415>>2]|0; - $417 = HEAP32[$416>>2]|0; - $418 = ((($417)) + 64|0); - $419 = HEAP16[$418>>1]|0; - $420 = $419&65535; - $421 = $420 & 64; - $422 = ($421|0)==(0); - if (!($422)) { - break; + $498 = HEAP32[$pTerm1>>2]|0; + $499 = ((($498)) + 8|0); + $500 = HEAP16[$499>>1]|0; + $501 = $500 << 16 >> 16; + $502 = ($501|0)<=(0); + if ($502) { + $503 = HEAP32[$pTerm1>>2]|0; + $504 = ((($503)) + 8|0); + $505 = HEAP16[$504>>1]|0; + $506 = $505 << 16 >> 16; + $507 = HEAP16[$nLookup>>1]|0; + $508 = $507 << 16 >> 16; + $509 = (($508) + ($506))|0; + $510 = $509&65535; + HEAP16[$nLookup>>1] = $510; + } else { + $511 = HEAP16[$nLookup>>1]|0; + $512 = (($511) + -1)<<16>>16; + HEAP16[$nLookup>>1] = $512; + $513 = HEAP32[$pTerm1>>2]|0; + $514 = ((($513)) + 12|0); + $515 = HEAP16[$514>>1]|0; + $516 = $515&65535; + $517 = $516 & 130; + $518 = ($517|0)!=(0); + if ($518) { + $519 = HEAP16[$nLookup>>1]|0; + $520 = $519 << 16 >> 16; + $521 = (($520) - 19)|0; + $522 = $521&65535; + HEAP16[$nLookup>>1] = $522; + } } + $523 = HEAP32[$ii>>2]|0; + $524 = (($523) + 1)|0; + HEAP32[$ii>>2] = $524; } - } - $423 = HEAP32[$b>>2]|0; - $424 = ($423|0)!=(0); - $425 = HEAP32[$iSortIdx>>2]|0; - $426 = $424 ? $425 : 0; - $427 = $426&255; - $428 = HEAP32[$pNew>>2]|0; - $429 = ((($428)) + 17|0); - HEAP8[$429>>0] = $427; - $430 = HEAP16[$rSize>>1]|0; - $431 = $430 << 16 >> 16; - $432 = (($431) + 1)|0; - $433 = HEAP32[$pProbe>>2]|0; - $434 = ((($433)) + 48|0); - $435 = HEAP16[$434>>1]|0; - $436 = $435 << 16 >> 16; - $437 = ($436*15)|0; - $438 = HEAP32[$pTab>>2]|0; - $439 = ((($438)) + 40|0); - $440 = HEAP16[$439>>1]|0; - $441 = $440 << 16 >> 16; - $442 = (($437|0) / ($441|0))&-1; - $443 = (($432) + ($442))|0; - $444 = $443&65535; - $445 = HEAP32[$pNew>>2]|0; - $446 = ((($445)) + 20|0); - HEAP16[$446>>1] = $444; - $447 = $m; - $448 = $447; - $449 = HEAP32[$448>>2]|0; - $450 = (($447) + 4)|0; - $451 = $450; - $452 = HEAP32[$451>>2]|0; - $453 = ($449|0)!=(0); - $454 = ($452|0)!=(0); - $455 = $453 | $454; - if ($455) { - $456 = HEAP32[$pNew>>2]|0; - $457 = ((($456)) + 20|0); - $458 = HEAP16[$457>>1]|0; - $459 = HEAP16[$rSize>>1]|0; - $460 = $459 << 16 >> 16; - $461 = (($460) + 16)|0; - $462 = $461&65535; - $463 = (_sqlite3LogEstAdd($458,$462)|0); - $464 = HEAP32[$pNew>>2]|0; - $465 = ((($464)) + 20|0); - HEAP16[$465>>1] = $463; - } - $466 = HEAP32[$pWC>>2]|0; - $467 = HEAP32[$pNew>>2]|0; - $468 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($466,$467,$468); - $469 = HEAP32[$2>>2]|0; - $470 = HEAP32[$pNew>>2]|0; - $471 = (_whereLoopInsert($469,$470)|0); - HEAP32[$rc>>2] = $471; - $472 = HEAP16[$rSize>>1]|0; - $473 = HEAP32[$pNew>>2]|0; - $474 = ((($473)) + 22|0); - HEAP16[$474>>1] = $472; - $475 = HEAP32[$rc>>2]|0; - $476 = ($475|0)!=(0); - if ($476) { - label = 46; - break L32; + $525 = HEAP32[$pNew>>2]|0; + $526 = ((($525)) + 20|0); + $527 = HEAP16[$526>>1]|0; + $528 = HEAP16[$nLookup>>1]|0; + $529 = (_sqlite3LogEstAdd($527,$528)|0); + $530 = HEAP32[$pNew>>2]|0; + $531 = ((($530)) + 20|0); + HEAP16[$531>>1] = $529; + } + $532 = HEAP32[$pWC>>2]|0; + $533 = HEAP32[$pNew>>2]|0; + $534 = HEAP16[$rSize>>1]|0; + _whereLoopOutputAdjust($532,$533,$534); + $535 = HEAP32[$2>>2]|0; + $536 = HEAP32[$pNew>>2]|0; + $537 = (_whereLoopInsert($535,$536)|0); + HEAP32[$rc>>2] = $537; + $538 = HEAP16[$rSize>>1]|0; + $539 = HEAP32[$pNew>>2]|0; + $540 = ((($539)) + 22|0); + HEAP16[$540>>1] = $538; + $541 = HEAP32[$rc>>2]|0; + $542 = ($541|0)!=(0); + if ($542) { + label = 57; + break L35; } } } while(0); - $477 = HEAP32[$2>>2]|0; - $478 = HEAP32[$pSrc>>2]|0; - $479 = HEAP32[$pProbe>>2]|0; - $480 = (_whereLoopAddBtreeIndex($477,$478,$479,0)|0); - HEAP32[$rc>>2] = $480; - $481 = HEAP32[$pSrc>>2]|0; - $482 = ((($481)) + 68|0); - $483 = HEAP32[$482>>2]|0; - $484 = ($483|0)!=(0|0); - if ($484) { - label = 46; + $543 = HEAP32[$2>>2]|0; + $544 = HEAP32[$pSrc>>2]|0; + $545 = HEAP32[$pProbe>>2]|0; + $546 = (_whereLoopAddBtreeIndex($543,$544,$545,0)|0); + HEAP32[$rc>>2] = $546; + $547 = HEAP32[$pSrc>>2]|0; + $548 = ((($547)) + 68|0); + $549 = HEAP32[$548>>2]|0; + $550 = ($549|0)!=(0|0); + if ($550) { + label = 57; break; } } - $485 = HEAP32[$pProbe>>2]|0; - $486 = ((($485)) + 20|0); - $487 = HEAP32[$486>>2]|0; - HEAP32[$pProbe>>2] = $487; - $488 = HEAP32[$iSortIdx>>2]|0; - $489 = (($488) + 1)|0; - HEAP32[$iSortIdx>>2] = $489; + $551 = HEAP32[$pProbe>>2]|0; + $552 = ((($551)) + 20|0); + $553 = HEAP32[$552>>2]|0; + HEAP32[$pProbe>>2] = $553; + $554 = HEAP32[$iSortIdx>>2]|0; + $555 = (($554) + 1)|0; + HEAP32[$iSortIdx>>2] = $555; } - if ((label|0) == 46) { - $490 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($490|0); + if ((label|0) == 57) { + $556 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($556|0); } return (0)|0; } @@ -181187,7 +184736,7 @@ function _whereLoopAddOr($pBuilder,$0,$1,$2,$3) { break; } $51 = HEAP32[$pTerm>>2]|0; - $52 = ((($51)) + 18|0); + $52 = ((($51)) + 12|0); $53 = HEAP16[$52>>1]|0; $54 = $53&65535; $55 = $54 & 512; @@ -181195,7 +184744,7 @@ function _whereLoopAddOr($pBuilder,$0,$1,$2,$3) { L4: do { if ($56) { $57 = HEAP32[$pTerm>>2]|0; - $58 = ((($57)) + 12|0); + $58 = ((($57)) + 28|0); $59 = HEAP32[$58>>2]|0; $60 = ((($59)) + 408|0); $61 = $60; @@ -181219,7 +184768,7 @@ function _whereLoopAddOr($pBuilder,$0,$1,$2,$3) { $79 = $77 | $78; if ($79) { $80 = HEAP32[$pTerm>>2]|0; - $81 = ((($80)) + 12|0); + $81 = ((($80)) + 28|0); $82 = HEAP32[$81>>2]|0; HEAP32[$pOrWC>>2] = $82; $83 = HEAP32[$pOrWC>>2]|0; @@ -181249,20 +184798,20 @@ function _whereLoopAddOr($pBuilder,$0,$1,$2,$3) { break; } $99 = HEAP32[$pOrTerm>>2]|0; - $100 = ((($99)) + 18|0); + $100 = ((($99)) + 12|0); $101 = HEAP16[$100>>1]|0; $102 = $101&65535; $103 = $102 & 1024; $104 = ($103|0)!=(0); $105 = HEAP32[$pOrTerm>>2]|0; if ($104) { - $106 = ((($105)) + 12|0); + $106 = ((($105)) + 28|0); $107 = HEAP32[$106>>2]|0; $108 = ((($sSubBuild)) + 4|0); HEAP32[$108>>2] = $107; label = 11; } else { - $109 = ((($105)) + 8|0); + $109 = ((($105)) + 20|0); $110 = HEAP32[$109>>2]|0; $111 = HEAP32[$iCur>>2]|0; $112 = ($110|0)==($111|0); @@ -181840,12 +185389,12 @@ function _whereLoopInsert($pBuilder,$pTemplate) { STACKTOP = sp;return ($97|0); } $32 = HEAP32[$pWInfo>>2]|0; - $33 = ((($32)) + 16|0); + $33 = ((($32)) + 56|0); $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$2>>2]|0; _whereLoopAdjustCost($34,$35); $36 = HEAP32[$pWInfo>>2]|0; - $37 = ((($36)) + 16|0); + $37 = ((($36)) + 56|0); $38 = HEAP32[$2>>2]|0; $39 = (_whereLoopFindLesser($37,$38)|0); HEAP32[$ppPrev>>2] = $39; @@ -181933,7 +185482,7 @@ function _whereLoopInsert($pBuilder,$pTemplate) { if ($82) { $83 = HEAP32[$p>>2]|0; $84 = ((($83)) + 24|0); - $85 = ((($84)) + 4|0); + $85 = ((($84)) + 8|0); $86 = HEAP32[$85>>2]|0; HEAP32[$pIndex>>2] = $86; $87 = HEAP32[$pIndex>>2]|0; @@ -181946,7 +185495,7 @@ function _whereLoopInsert($pBuilder,$pTemplate) { if ($92) { $93 = HEAP32[$p>>2]|0; $94 = ((($93)) + 24|0); - $95 = ((($94)) + 4|0); + $95 = ((($94)) + 8|0); HEAP32[$95>>2] = 0; } } @@ -182368,7 +185917,7 @@ function _whereLoopXfer($db,$pTo,$pFrom) { if ($39) { $40 = HEAP32[$3>>2]|0; $41 = ((($40)) + 24|0); - $42 = ((($41)) + 4|0); + $42 = ((($41)) + 8|0); HEAP32[$42>>2] = 0; } } @@ -182930,7 +186479,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { break; } $34 = HEAP32[$pTerm>>2]|0; - $35 = ((($34)) + 20|0); + $35 = ((($34)) + 10|0); $36 = HEAP16[$35>>1]|0; $37 = $36&65535; $38 = $37 & 2; @@ -183010,12 +186559,12 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { break; } $98 = HEAP32[$pX>>2]|0; - $99 = ((($98)) + 4|0); + $99 = ((($98)) + 16|0); $100 = HEAP32[$99>>2]|0; $101 = ($100|0)>=(0); if ($101) { $102 = HEAP32[$pX>>2]|0; - $103 = ((($102)) + 4|0); + $103 = ((($102)) + 16|0); $104 = HEAP32[$103>>2]|0; $105 = HEAP32[$0>>2]|0; $106 = ((($105)) + 20|0); @@ -183036,13 +186585,13 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $114 = ($113|0)<(0); if ($114) { $115 = HEAP32[$pTerm>>2]|0; - $116 = ((($115)) + 16|0); + $116 = ((($115)) + 8|0); $117 = HEAP16[$116>>1]|0; $118 = $117 << 16 >> 16; $119 = ($118|0)<=(0); if ($119) { $120 = HEAP32[$pTerm>>2]|0; - $121 = ((($120)) + 16|0); + $121 = ((($120)) + 8|0); $122 = HEAP16[$121>>1]|0; $123 = $122 << 16 >> 16; $124 = HEAP32[$1>>2]|0; @@ -183060,7 +186609,7 @@ function _whereLoopOutputAdjust($pWC,$pLoop,$nRow) { $133 = (($132) + -1)<<16>>16; HEAP16[$131>>1] = $133; $134 = HEAP32[$pTerm>>2]|0; - $135 = ((($134)) + 18|0); + $135 = ((($134)) + 12|0); $136 = HEAP16[$135>>1]|0; $137 = $136&65535; $138 = $137 & 130; @@ -183205,6 +186754,40 @@ function _columnsInIndex($pIdx) { tempRet0 = ($45); STACKTOP = sp;return ($42|0); } +function _sqlite3ExprCoveredByIndex($pExpr,$iCur,$pIdx) { + $pExpr = $pExpr|0; + $iCur = $iCur|0; + $pIdx = $pIdx|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w = 0, $xcov = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 44|0; + $1 = sp + 40|0; + $2 = sp + 36|0; + $w = sp + 8|0; + $xcov = sp; + HEAP32[$0>>2] = $pExpr; + HEAP32[$1>>2] = $iCur; + HEAP32[$2>>2] = $pIdx; + ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; + $3 = HEAP32[$1>>2]|0; + $4 = ((($xcov)) + 4|0); + HEAP32[$4>>2] = $3; + $5 = HEAP32[$2>>2]|0; + HEAP32[$xcov>>2] = $5; + $6 = ((($w)) + 4|0); + HEAP32[$6>>2] = 199; + $7 = ((($w)) + 24|0); + HEAP32[$7>>2] = $xcov; + $8 = HEAP32[$0>>2]|0; + (_sqlite3WalkExpr($w,$8)|0); + $9 = ((($w)) + 20|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + $12 = $11 ^ 1; + $13 = $12&1; + STACKTOP = sp;return ($13|0); +} function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $pBuilder = $pBuilder|0; $pSrc = $pSrc|0; @@ -183242,43 +186825,50 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $db = 0, $eOp = 0, $iCol = 0, $nEq = 0, $nIn = 0, $nIter = 0, $nOutUnadjusted = 0, $opMask = 0, $pBtm = 0, $pExpr = 0, $pNew = 0, $pParse = 0, $pTerm = 0, $pTop = 0, $pWInfo = 0, $rCostIdx = 0, $rLogSize = 0, $rSize = 0, $rc = 0; - var $saved_nEq = 0, $saved_nLTerm = 0, $saved_nOut = 0, $saved_nSkip = 0, $saved_prereq = 0, $saved_wsFlags = 0, $scan = 0, label = 0, sp = 0; + var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; + var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; + var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; + var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; + var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0; + var $eOp = 0, $i = 0, $iCol = 0, $nEq = 0, $nIn = 0, $nIter = 0, $nOutUnadjusted = 0, $opMask = 0, $pBtm = 0, $pExpr = 0, $pNew = 0, $pParse = 0, $pTerm = 0, $pTop = 0, $pWInfo = 0, $rCostIdx = 0, $rLogSize = 0, $rSize = 0, $rc = 0, $saved_nBtm = 0; + var $saved_nEq = 0, $saved_nLTerm = 0, $saved_nOut = 0, $saved_nSkip = 0, $saved_nTop = 0, $saved_prereq = 0, $saved_wsFlags = 0, $scan = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $0 = sp + 172|0; - $1 = sp + 168|0; - $2 = sp + 164|0; - $3 = sp + 160|0; - $4 = sp + 196|0; - $pWInfo = sp + 156|0; - $pParse = sp + 152|0; - $db = sp + 148|0; - $pNew = sp + 144|0; - $pTerm = sp + 140|0; - $opMask = sp + 136|0; - $scan = sp + 40|0; + STACKTOP = STACKTOP + 224|0; + $0 = sp + 180|0; + $1 = sp + 176|0; + $2 = sp + 172|0; + $3 = sp + 168|0; + $4 = sp + 208|0; + $pWInfo = sp + 164|0; + $pParse = sp + 160|0; + $db = sp + 156|0; + $pNew = sp + 152|0; + $pTerm = sp + 148|0; + $opMask = sp + 144|0; + $scan = sp + 48|0; $saved_prereq = sp; - $saved_nLTerm = sp + 194|0; - $saved_nEq = sp + 192|0; - $saved_nSkip = sp + 190|0; - $saved_wsFlags = sp + 36|0; - $saved_nOut = sp + 188|0; - $rc = sp + 32|0; - $rSize = sp + 186|0; - $rLogSize = sp + 184|0; - $pTop = sp + 28|0; - $pBtm = sp + 24|0; - $eOp = sp + 182|0; - $rCostIdx = sp + 180|0; - $nOutUnadjusted = sp + 178|0; - $nIn = sp + 20|0; - $pExpr = sp + 16|0; + $saved_nLTerm = sp + 206|0; + $saved_nEq = sp + 204|0; + $saved_nBtm = sp + 202|0; + $saved_nTop = sp + 200|0; + $saved_nSkip = sp + 198|0; + $saved_wsFlags = sp + 40|0; + $saved_nOut = sp + 196|0; + $rc = sp + 36|0; + $rSize = sp + 194|0; + $rLogSize = sp + 192|0; + $pTop = sp + 32|0; + $pBtm = sp + 28|0; + $eOp = sp + 190|0; + $rCostIdx = sp + 188|0; + $nOutUnadjusted = sp + 186|0; + $nIn = sp + 24|0; + $pExpr = sp + 20|0; + $i = sp + 16|0; $iCol = sp + 12|0; $nEq = sp + 8|0; - $nIter = sp + 176|0; + $nIter = sp + 184|0; HEAP32[$1>>2] = $pBuilder; HEAP32[$2>>2] = $pSrc; HEAP32[$3>>2] = $pProbe; @@ -183305,8 +186895,8 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $17 = ($16<<24>>24)!=(0); if ($17) { HEAP32[$0>>2] = 7; - $680 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($680|0); + $758 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($758|0); } $18 = HEAP32[$pNew>>2]|0; $19 = ((($18)) + 36|0); @@ -183335,84 +186925,94 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $34 = HEAP16[$33>>1]|0; HEAP16[$saved_nEq>>1] = $34; $35 = HEAP32[$pNew>>2]|0; - $36 = ((($35)) + 42|0); - $37 = HEAP16[$36>>1]|0; - HEAP16[$saved_nSkip>>1] = $37; - $38 = HEAP32[$pNew>>2]|0; - $39 = ((($38)) + 40|0); - $40 = HEAP16[$39>>1]|0; - HEAP16[$saved_nLTerm>>1] = $40; - $41 = HEAP32[$pNew>>2]|0; - $42 = ((($41)) + 36|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$saved_wsFlags>>2] = $43; - $44 = HEAP32[$pNew>>2]|0; - $45 = $44; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = $saved_prereq; - $52 = $51; - HEAP32[$52>>2] = $47; - $53 = (($51) + 4)|0; + $36 = ((($35)) + 24|0); + $37 = ((($36)) + 2|0); + $38 = HEAP16[$37>>1]|0; + HEAP16[$saved_nBtm>>1] = $38; + $39 = HEAP32[$pNew>>2]|0; + $40 = ((($39)) + 24|0); + $41 = ((($40)) + 4|0); + $42 = HEAP16[$41>>1]|0; + HEAP16[$saved_nTop>>1] = $42; + $43 = HEAP32[$pNew>>2]|0; + $44 = ((($43)) + 42|0); + $45 = HEAP16[$44>>1]|0; + HEAP16[$saved_nSkip>>1] = $45; + $46 = HEAP32[$pNew>>2]|0; + $47 = ((($46)) + 40|0); + $48 = HEAP16[$47>>1]|0; + HEAP16[$saved_nLTerm>>1] = $48; + $49 = HEAP32[$pNew>>2]|0; + $50 = ((($49)) + 36|0); + $51 = HEAP32[$50>>2]|0; + HEAP32[$saved_wsFlags>>2] = $51; + $52 = HEAP32[$pNew>>2]|0; + $53 = $52; $54 = $53; - HEAP32[$54>>2] = $50; - $55 = HEAP32[$pNew>>2]|0; - $56 = ((($55)) + 22|0); - $57 = HEAP16[$56>>1]|0; - HEAP16[$saved_nOut>>1] = $57; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 44|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP16[$saved_nEq>>1]|0; - $65 = $64&65535; - $66 = HEAP32[$opMask>>2]|0; - $67 = HEAP32[$3>>2]|0; - $68 = (_whereScanInit($scan,$60,$63,$65,$66,$67)|0); - HEAP32[$pTerm>>2] = $68; - $69 = HEAP32[$pNew>>2]|0; - $70 = ((($69)) + 18|0); - HEAP16[$70>>1] = 0; - $71 = HEAP32[$3>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP16[$73>>1]|0; - HEAP16[$rSize>>1] = $74; - $75 = HEAP16[$rSize>>1]|0; - $76 = (_estLog($75)|0); - HEAP16[$rLogSize>>1] = $76; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $saved_prereq; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = HEAP32[$pNew>>2]|0; + $64 = ((($63)) + 22|0); + $65 = HEAP16[$64>>1]|0; + HEAP16[$saved_nOut>>1] = $65; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$2>>2]|0; + $70 = ((($69)) + 44|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP16[$saved_nEq>>1]|0; + $73 = $72&65535; + $74 = HEAP32[$opMask>>2]|0; + $75 = HEAP32[$3>>2]|0; + $76 = (_whereScanInit($scan,$68,$71,$73,$74,$75)|0); + HEAP32[$pTerm>>2] = $76; + $77 = HEAP32[$pNew>>2]|0; + $78 = ((($77)) + 18|0); + HEAP16[$78>>1] = 0; + $79 = HEAP32[$3>>2]|0; + $80 = ((($79)) + 8|0); + $81 = HEAP32[$80>>2]|0; + $82 = HEAP16[$81>>1]|0; + HEAP16[$rSize>>1] = $82; + $83 = HEAP16[$rSize>>1]|0; + $84 = (_estLog($83)|0); + HEAP16[$rLogSize>>1] = $84; L12: while(1) { - $77 = HEAP32[$rc>>2]|0; - $78 = ($77|0)==(0); - $79 = HEAP32[$pTerm>>2]|0; - $80 = ($79|0)!=(0|0); - $81 = $78 ? $80 : 0; - if (!($81)) { + $85 = HEAP32[$rc>>2]|0; + $86 = ($85|0)==(0); + $87 = HEAP32[$pTerm>>2]|0; + $88 = ($87|0)!=(0|0); + $89 = $86 ? $88 : 0; + if (!($89)) { break; } - $82 = HEAP32[$pTerm>>2]|0; - $83 = ((($82)) + 18|0); - $84 = HEAP16[$83>>1]|0; - HEAP16[$eOp>>1] = $84; + $90 = HEAP32[$pTerm>>2]|0; + $91 = ((($90)) + 12|0); + $92 = HEAP16[$91>>1]|0; + HEAP16[$eOp>>1] = $92; HEAP32[$nIn>>2] = 0; - $85 = HEAP16[$eOp>>1]|0; - $86 = $85&65535; - $87 = ($86|0)==(256); - if ($87) { + $93 = HEAP16[$eOp>>1]|0; + $94 = $93&65535; + $95 = ($94|0)==(256); + if ($95) { label = 12; } else { - $88 = HEAP32[$pTerm>>2]|0; - $89 = ((($88)) + 20|0); - $90 = HEAP16[$89>>1]|0; - $91 = $90&65535; - $92 = $91 & 0; - $93 = ($92|0)!=(0); - if ($93) { + $96 = HEAP32[$pTerm>>2]|0; + $97 = ((($96)) + 10|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = $99 & 0; + $101 = ($100|0)!=(0); + if ($101) { label = 12; } else { label = 13; @@ -183420,769 +187020,860 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { } if ((label|0) == 12) { label = 0; - $94 = HEAP32[$3>>2]|0; - $95 = HEAP16[$saved_nEq>>1]|0; - $96 = $95&65535; - $97 = (_indexColumnNotNull($94,$96)|0); - $98 = ($97|0)!=(0); - if (!($98)) { + $102 = HEAP32[$3>>2]|0; + $103 = HEAP16[$saved_nEq>>1]|0; + $104 = $103&65535; + $105 = (_indexColumnNotNull($102,$104)|0); + $106 = ($105|0)!=(0); + if (!($106)) { label = 13; } } do { if ((label|0) == 13) { label = 0; - $99 = HEAP32[$pTerm>>2]|0; - $100 = ((($99)) + 32|0); - $101 = $100; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = (($101) + 4)|0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$pNew>>2]|0; - $108 = ((($107)) + 8|0); + $107 = HEAP32[$pTerm>>2]|0; + $108 = ((($107)) + 32|0); $109 = $108; $110 = $109; $111 = HEAP32[$110>>2]|0; $112 = (($109) + 4)|0; $113 = $112; $114 = HEAP32[$113>>2]|0; - $115 = $103 & $111; - $116 = $106 & $114; - $117 = ($115|0)!=(0); - $118 = ($116|0)!=(0); - $119 = $117 | $118; - if (!($119)) { - $120 = HEAP32[$pTerm>>2]|0; - $121 = ((($120)) + 20|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = $123 & 256; - $125 = ($124|0)!=(0); - if ($125) { - $126 = HEAP32[$pTerm>>2]|0; - $127 = ((($126)) + 18|0); - $128 = HEAP16[$127>>1]|0; - $129 = $128&65535; - $130 = ($129|0)==(16); - if ($130) { + $115 = HEAP32[$pNew>>2]|0; + $116 = ((($115)) + 8|0); + $117 = $116; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = $111 & $119; + $124 = $114 & $122; + $125 = ($123|0)!=(0); + $126 = ($124|0)!=(0); + $127 = $125 | $126; + if (!($127)) { + $128 = HEAP32[$pTerm>>2]|0; + $129 = ((($128)) + 10|0); + $130 = HEAP16[$129>>1]|0; + $131 = $130&65535; + $132 = $131 & 256; + $133 = ($132|0)!=(0); + if ($133) { + $134 = HEAP32[$pTerm>>2]|0; + $135 = ((($134)) + 12|0); + $136 = HEAP16[$135>>1]|0; + $137 = $136&65535; + $138 = ($137|0)==(16); + if ($138) { break; } } - $131 = HEAP32[$2>>2]|0; - $132 = ((($131)) + 36|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = $134 & 8; - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$pTerm>>2]|0; - $138 = HEAP32[$137>>2]|0; - $139 = ((($138)) + 4|0); - $140 = HEAP32[$139>>2]|0; - $141 = $140 & 1; - $142 = ($141|0)!=(0); - if (!($142)) { - $143 = HEAP16[$eOp>>1]|0; - $144 = $143&65535; - $145 = $144 & 384; - $146 = ($145|0)!=(0); - if ($146) { + $139 = HEAP32[$2>>2]|0; + $140 = ((($139)) + 36|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = $142 & 8; + $144 = ($143|0)!=(0); + if ($144) { + $145 = HEAP32[$pTerm>>2]|0; + $146 = HEAP32[$145>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = $148 & 1; + $150 = ($149|0)!=(0); + if (!($150)) { + $151 = HEAP16[$eOp>>1]|0; + $152 = $151&65535; + $153 = $152 & 384; + $154 = ($153|0)!=(0); + if ($154) { break; } } } - $147 = HEAP32[$saved_wsFlags>>2]|0; - $148 = HEAP32[$pNew>>2]|0; - $149 = ((($148)) + 36|0); - HEAP32[$149>>2] = $147; - $150 = HEAP16[$saved_nEq>>1]|0; - $151 = HEAP32[$pNew>>2]|0; - $152 = ((($151)) + 24|0); - HEAP16[$152>>1] = $150; - $153 = HEAP16[$saved_nLTerm>>1]|0; - $154 = HEAP32[$pNew>>2]|0; - $155 = ((($154)) + 40|0); - HEAP16[$155>>1] = $153; - $156 = HEAP32[$db>>2]|0; - $157 = HEAP32[$pNew>>2]|0; - $158 = HEAP32[$pNew>>2]|0; - $159 = ((($158)) + 40|0); - $160 = HEAP16[$159>>1]|0; - $161 = $160&65535; - $162 = (($161) + 1)|0; - $163 = (_whereLoopResize($156,$157,$162)|0); - $164 = ($163|0)!=(0); - if ($164) { + $155 = HEAP32[$saved_wsFlags>>2]|0; + $156 = HEAP32[$pNew>>2]|0; + $157 = ((($156)) + 36|0); + HEAP32[$157>>2] = $155; + $158 = HEAP16[$saved_nEq>>1]|0; + $159 = HEAP32[$pNew>>2]|0; + $160 = ((($159)) + 24|0); + HEAP16[$160>>1] = $158; + $161 = HEAP16[$saved_nBtm>>1]|0; + $162 = HEAP32[$pNew>>2]|0; + $163 = ((($162)) + 24|0); + $164 = ((($163)) + 2|0); + HEAP16[$164>>1] = $161; + $165 = HEAP16[$saved_nTop>>1]|0; + $166 = HEAP32[$pNew>>2]|0; + $167 = ((($166)) + 24|0); + $168 = ((($167)) + 4|0); + HEAP16[$168>>1] = $165; + $169 = HEAP16[$saved_nLTerm>>1]|0; + $170 = HEAP32[$pNew>>2]|0; + $171 = ((($170)) + 40|0); + HEAP16[$171>>1] = $169; + $172 = HEAP32[$db>>2]|0; + $173 = HEAP32[$pNew>>2]|0; + $174 = HEAP32[$pNew>>2]|0; + $175 = ((($174)) + 40|0); + $176 = HEAP16[$175>>1]|0; + $177 = $176&65535; + $178 = (($177) + 1)|0; + $179 = (_whereLoopResize($172,$173,$178)|0); + $180 = ($179|0)!=(0); + if ($180) { break L12; } - $165 = HEAP32[$pTerm>>2]|0; - $166 = HEAP32[$pNew>>2]|0; - $167 = ((($166)) + 40|0); - $168 = HEAP16[$167>>1]|0; - $169 = (($168) + 1)<<16>>16; - HEAP16[$167>>1] = $169; - $170 = $168&65535; - $171 = HEAP32[$pNew>>2]|0; - $172 = ((($171)) + 48|0); - $173 = HEAP32[$172>>2]|0; - $174 = (($173) + ($170<<2)|0); - HEAP32[$174>>2] = $165; - $175 = $saved_prereq; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = (($175) + 4)|0; - $179 = $178; - $180 = HEAP32[$179>>2]|0; $181 = HEAP32[$pTerm>>2]|0; - $182 = ((($181)) + 32|0); - $183 = $182; - $184 = $183; - $185 = HEAP32[$184>>2]|0; - $186 = (($183) + 4)|0; - $187 = $186; - $188 = HEAP32[$187>>2]|0; - $189 = $177 | $185; - $190 = $180 | $188; - $191 = HEAP32[$pNew>>2]|0; - $192 = ((($191)) + 8|0); - $193 = $192; - $194 = $193; - $195 = HEAP32[$194>>2]|0; - $196 = (($193) + 4)|0; - $197 = $196; - $198 = HEAP32[$197>>2]|0; - $199 = $195 ^ -1; - $200 = $198 ^ -1; - $201 = $189 & $199; - $202 = $190 & $200; - $203 = HEAP32[$pNew>>2]|0; - $204 = $203; - $205 = $204; - HEAP32[$205>>2] = $201; - $206 = (($204) + 4)|0; - $207 = $206; - HEAP32[$207>>2] = $202; - $208 = HEAP16[$eOp>>1]|0; - $209 = $208&65535; - $210 = $209 & 1; - $211 = ($210|0)!=(0); - do { - if ($211) { - $212 = HEAP32[$pTerm>>2]|0; - $213 = HEAP32[$212>>2]|0; - HEAP32[$pExpr>>2] = $213; - $214 = HEAP32[$pNew>>2]|0; - $215 = ((($214)) + 36|0); - $216 = HEAP32[$215>>2]|0; - $217 = $216 | 4; - HEAP32[$215>>2] = $217; - $218 = HEAP32[$pExpr>>2]|0; - $219 = ((($218)) + 4|0); - $220 = HEAP32[$219>>2]|0; - $221 = $220 & 2048; - $222 = ($221|0)!=(0); - if ($222) { - HEAP32[$nIn>>2] = 46; + $182 = HEAP32[$pNew>>2]|0; + $183 = ((($182)) + 40|0); + $184 = HEAP16[$183>>1]|0; + $185 = (($184) + 1)<<16>>16; + HEAP16[$183>>1] = $185; + $186 = $184&65535; + $187 = HEAP32[$pNew>>2]|0; + $188 = ((($187)) + 48|0); + $189 = HEAP32[$188>>2]|0; + $190 = (($189) + ($186<<2)|0); + HEAP32[$190>>2] = $181; + $191 = $saved_prereq; + $192 = $191; + $193 = HEAP32[$192>>2]|0; + $194 = (($191) + 4)|0; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = HEAP32[$pTerm>>2]|0; + $198 = ((($197)) + 32|0); + $199 = $198; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (($199) + 4)|0; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = $193 | $201; + $206 = $196 | $204; + $207 = HEAP32[$pNew>>2]|0; + $208 = ((($207)) + 8|0); + $209 = $208; + $210 = $209; + $211 = HEAP32[$210>>2]|0; + $212 = (($209) + 4)|0; + $213 = $212; + $214 = HEAP32[$213>>2]|0; + $215 = $211 ^ -1; + $216 = $214 ^ -1; + $217 = $205 & $215; + $218 = $206 & $216; + $219 = HEAP32[$pNew>>2]|0; + $220 = $219; + $221 = $220; + HEAP32[$221>>2] = $217; + $222 = (($220) + 4)|0; + $223 = $222; + HEAP32[$223>>2] = $218; + $224 = HEAP16[$eOp>>1]|0; + $225 = $224&65535; + $226 = $225 & 1; + $227 = ($226|0)!=(0); + L30: do { + if ($227) { + $228 = HEAP32[$pTerm>>2]|0; + $229 = HEAP32[$228>>2]|0; + HEAP32[$pExpr>>2] = $229; + $230 = HEAP32[$pNew>>2]|0; + $231 = ((($230)) + 36|0); + $232 = HEAP32[$231>>2]|0; + $233 = $232 | 4; + HEAP32[$231>>2] = $233; + $234 = HEAP32[$pExpr>>2]|0; + $235 = ((($234)) + 4|0); + $236 = HEAP32[$235>>2]|0; + $237 = $236 & 2048; + $238 = ($237|0)!=(0); + if (!($238)) { + $264 = HEAP32[$pExpr>>2]|0; + $265 = ((($264)) + 20|0); + $266 = HEAP32[$265>>2]|0; + $267 = ($266|0)!=(0|0); + if (!($267)) { + break; + } + $268 = HEAP32[$pExpr>>2]|0; + $269 = ((($268)) + 20|0); + $270 = HEAP32[$269>>2]|0; + $271 = HEAP32[$270>>2]|0; + $272 = ($271|0)!=(0); + if (!($272)) { + break; + } + $273 = HEAP32[$pExpr>>2]|0; + $274 = ((($273)) + 20|0); + $275 = HEAP32[$274>>2]|0; + $276 = HEAP32[$275>>2]|0; + $277 = ($276|0)<(0); + $278 = $277 << 31 >> 31; + $279 = (_sqlite3LogEst($276,$278)|0); + $280 = $279 << 16 >> 16; + HEAP32[$nIn>>2] = $280; break; } - $223 = HEAP32[$pExpr>>2]|0; - $224 = ((($223)) + 20|0); - $225 = HEAP32[$224>>2]|0; - $226 = ($225|0)!=(0|0); - if ($226) { - $227 = HEAP32[$pExpr>>2]|0; - $228 = ((($227)) + 20|0); - $229 = HEAP32[$228>>2]|0; - $230 = HEAP32[$229>>2]|0; - $231 = ($230|0)!=(0); - if ($231) { - $232 = HEAP32[$pExpr>>2]|0; - $233 = ((($232)) + 20|0); - $234 = HEAP32[$233>>2]|0; - $235 = HEAP32[$234>>2]|0; - $236 = ($235|0)<(0); - $237 = $236 << 31 >> 31; - $238 = (_sqlite3LogEst($235,$237)|0); - $239 = $238 << 16 >> 16; - HEAP32[$nIn>>2] = $239; + HEAP32[$nIn>>2] = 46; + HEAP32[$i>>2] = 0; + while(1) { + $239 = HEAP32[$i>>2]|0; + $240 = HEAP32[$pNew>>2]|0; + $241 = ((($240)) + 40|0); + $242 = HEAP16[$241>>1]|0; + $243 = $242&65535; + $244 = (($243) - 1)|0; + $245 = ($239|0)<($244|0); + if (!($245)) { + break L30; + } + $246 = HEAP32[$i>>2]|0; + $247 = HEAP32[$pNew>>2]|0; + $248 = ((($247)) + 48|0); + $249 = HEAP32[$248>>2]|0; + $250 = (($249) + ($246<<2)|0); + $251 = HEAP32[$250>>2]|0; + $252 = ($251|0)!=(0|0); + if ($252) { + $253 = HEAP32[$i>>2]|0; + $254 = HEAP32[$pNew>>2]|0; + $255 = ((($254)) + 48|0); + $256 = HEAP32[$255>>2]|0; + $257 = (($256) + ($253<<2)|0); + $258 = HEAP32[$257>>2]|0; + $259 = HEAP32[$258>>2]|0; + $260 = HEAP32[$pExpr>>2]|0; + $261 = ($259|0)==($260|0); + if ($261) { + HEAP32[$nIn>>2] = 0; + } } + $262 = HEAP32[$i>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$i>>2] = $263; } } else { - $240 = HEAP16[$eOp>>1]|0; - $241 = $240&65535; - $242 = $241 & 130; - $243 = ($242|0)!=(0); - if ($243) { - $244 = HEAP16[$saved_nEq>>1]|0; - $245 = $244&65535; - $246 = HEAP32[$3>>2]|0; - $247 = ((($246)) + 4|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($245<<1)|0); - $250 = HEAP16[$249>>1]|0; - $251 = $250 << 16 >> 16; - HEAP32[$iCol>>2] = $251; - $252 = HEAP32[$pNew>>2]|0; - $253 = ((($252)) + 36|0); - $254 = HEAP32[$253>>2]|0; - $255 = $254 | 1; - HEAP32[$253>>2] = $255; - $256 = HEAP32[$iCol>>2]|0; - $257 = ($256|0)==(-1); - if (!($257)) { - $258 = HEAP32[$iCol>>2]|0; - $259 = ($258|0)>(0); - if (!($259)) { + $281 = HEAP16[$eOp>>1]|0; + $282 = $281&65535; + $283 = $282 & 130; + $284 = ($283|0)!=(0); + if ($284) { + $285 = HEAP16[$saved_nEq>>1]|0; + $286 = $285&65535; + $287 = HEAP32[$3>>2]|0; + $288 = ((($287)) + 4|0); + $289 = HEAP32[$288>>2]|0; + $290 = (($289) + ($286<<1)|0); + $291 = HEAP16[$290>>1]|0; + $292 = $291 << 16 >> 16; + HEAP32[$iCol>>2] = $292; + $293 = HEAP32[$pNew>>2]|0; + $294 = ((($293)) + 36|0); + $295 = HEAP32[$294>>2]|0; + $296 = $295 | 1; + HEAP32[$294>>2] = $296; + $297 = HEAP32[$iCol>>2]|0; + $298 = ($297|0)==(-1); + if (!($298)) { + $299 = HEAP32[$iCol>>2]|0; + $300 = ($299|0)>(0); + if (!($300)) { break; } - $260 = HEAP16[$4>>1]|0; - $261 = $260 << 16 >> 16; - $262 = ($261|0)==(0); - if (!($262)) { + $301 = HEAP16[$4>>1]|0; + $302 = $301 << 16 >> 16; + $303 = ($302|0)==(0); + if (!($303)) { break; } - $263 = HEAP16[$saved_nEq>>1]|0; - $264 = $263&65535; - $265 = HEAP32[$3>>2]|0; - $266 = ((($265)) + 50|0); - $267 = HEAP16[$266>>1]|0; - $268 = $267&65535; - $269 = (($268) - 1)|0; - $270 = ($264|0)==($269|0); - if (!($270)) { + $304 = HEAP16[$saved_nEq>>1]|0; + $305 = $304&65535; + $306 = HEAP32[$3>>2]|0; + $307 = ((($306)) + 50|0); + $308 = HEAP16[$307>>1]|0; + $309 = $308&65535; + $310 = (($309) - 1)|0; + $311 = ($305|0)==($310|0); + if (!($311)) { break; } } - $271 = HEAP32[$iCol>>2]|0; - $272 = ($271|0)>=(0); - if ($272) { - $273 = HEAP32[$3>>2]|0; - $274 = ((($273)) + 55|0); - $275 = HEAP8[$274>>0]|0; - $276 = ($275&255) >>> 3; - $277 = $276 & 1; - $278 = $277&255; - $279 = ($278|0)==(0); - if ($279) { - $280 = HEAP32[$pNew>>2]|0; - $281 = ((($280)) + 36|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 | 65536; - HEAP32[$281>>2] = $283; + $312 = HEAP32[$iCol>>2]|0; + $313 = ($312|0)>=(0); + if ($313) { + $314 = HEAP32[$3>>2]|0; + $315 = ((($314)) + 55|0); + $316 = HEAP8[$315>>0]|0; + $317 = ($316&255) >>> 3; + $318 = $317 & 1; + $319 = $318&255; + $320 = ($319|0)==(0); + if ($320) { + $321 = HEAP32[$pNew>>2]|0; + $322 = ((($321)) + 36|0); + $323 = HEAP32[$322>>2]|0; + $324 = $323 | 65536; + HEAP32[$322>>2] = $324; break; } } - $284 = HEAP32[$pNew>>2]|0; - $285 = ((($284)) + 36|0); - $286 = HEAP32[$285>>2]|0; - $287 = $286 | 4096; - HEAP32[$285>>2] = $287; + $325 = HEAP32[$pNew>>2]|0; + $326 = ((($325)) + 36|0); + $327 = HEAP32[$326>>2]|0; + $328 = $327 | 4096; + HEAP32[$326>>2] = $328; break; } - $288 = HEAP16[$eOp>>1]|0; - $289 = $288&65535; - $290 = $289 & 256; - $291 = ($290|0)!=(0); - if ($291) { - $292 = HEAP32[$pNew>>2]|0; - $293 = ((($292)) + 36|0); - $294 = HEAP32[$293>>2]|0; - $295 = $294 | 8; - HEAP32[$293>>2] = $295; + $329 = HEAP16[$eOp>>1]|0; + $330 = $329&65535; + $331 = $330 & 256; + $332 = ($331|0)!=(0); + if ($332) { + $333 = HEAP32[$pNew>>2]|0; + $334 = ((($333)) + 36|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 | 8; + HEAP32[$334>>2] = $336; break; } - $296 = HEAP16[$eOp>>1]|0; - $297 = $296&65535; - $298 = $297 & 36; - $299 = ($298|0)!=(0); - $300 = HEAP32[$pNew>>2]|0; - $301 = ((($300)) + 36|0); - $302 = HEAP32[$301>>2]|0; - if ($299) { - $303 = $302 | 34; - HEAP32[$301>>2] = $303; - $304 = HEAP32[$pTerm>>2]|0; - HEAP32[$pBtm>>2] = $304; + $337 = HEAP16[$eOp>>1]|0; + $338 = $337&65535; + $339 = $338 & 36; + $340 = ($339|0)!=(0); + $341 = HEAP32[$pNew>>2]|0; + $342 = ((($341)) + 36|0); + $343 = HEAP32[$342>>2]|0; + if ($340) { + $344 = $343 | 34; + HEAP32[$342>>2] = $344; + $345 = HEAP32[$pParse>>2]|0; + $346 = HEAP32[$2>>2]|0; + $347 = ((($346)) + 44|0); + $348 = HEAP32[$347>>2]|0; + $349 = HEAP32[$3>>2]|0; + $350 = HEAP16[$saved_nEq>>1]|0; + $351 = $350&65535; + $352 = HEAP32[$pTerm>>2]|0; + $353 = (_whereRangeVectorLen($345,$348,$349,$351,$352)|0); + $354 = $353&65535; + $355 = HEAP32[$pNew>>2]|0; + $356 = ((($355)) + 24|0); + $357 = ((($356)) + 2|0); + HEAP16[$357>>1] = $354; + $358 = HEAP32[$pTerm>>2]|0; + HEAP32[$pBtm>>2] = $358; HEAP32[$pTop>>2] = 0; - $305 = HEAP32[$pTerm>>2]|0; - $306 = ((($305)) + 20|0); - $307 = HEAP16[$306>>1]|0; - $308 = $307&65535; - $309 = $308 & 256; - $310 = ($309|0)!=(0); - if (!($310)) { + $359 = HEAP32[$pTerm>>2]|0; + $360 = ((($359)) + 10|0); + $361 = HEAP16[$360>>1]|0; + $362 = $361&65535; + $363 = $362 & 256; + $364 = ($363|0)!=(0); + if (!($364)) { break; } - $311 = HEAP32[$pTerm>>2]|0; - $312 = ((($311)) + 48|0); - HEAP32[$pTop>>2] = $312; - $313 = HEAP32[$db>>2]|0; - $314 = HEAP32[$pNew>>2]|0; - $315 = HEAP32[$pNew>>2]|0; - $316 = ((($315)) + 40|0); - $317 = HEAP16[$316>>1]|0; - $318 = $317&65535; - $319 = (($318) + 1)|0; - $320 = (_whereLoopResize($313,$314,$319)|0); - $321 = ($320|0)!=(0); - if ($321) { + $365 = HEAP32[$pTerm>>2]|0; + $366 = ((($365)) + 48|0); + HEAP32[$pTop>>2] = $366; + $367 = HEAP32[$db>>2]|0; + $368 = HEAP32[$pNew>>2]|0; + $369 = HEAP32[$pNew>>2]|0; + $370 = ((($369)) + 40|0); + $371 = HEAP16[$370>>1]|0; + $372 = $371&65535; + $373 = (($372) + 1)|0; + $374 = (_whereLoopResize($367,$368,$373)|0); + $375 = ($374|0)!=(0); + if ($375) { break L12; } - $322 = HEAP32[$pTop>>2]|0; - $323 = HEAP32[$pNew>>2]|0; - $324 = ((($323)) + 40|0); - $325 = HEAP16[$324>>1]|0; - $326 = (($325) + 1)<<16>>16; - HEAP16[$324>>1] = $326; - $327 = $325&65535; - $328 = HEAP32[$pNew>>2]|0; - $329 = ((($328)) + 48|0); - $330 = HEAP32[$329>>2]|0; - $331 = (($330) + ($327<<2)|0); - HEAP32[$331>>2] = $322; - $332 = HEAP32[$pNew>>2]|0; - $333 = ((($332)) + 36|0); - $334 = HEAP32[$333>>2]|0; - $335 = $334 | 16; - HEAP32[$333>>2] = $335; + $376 = HEAP32[$pTop>>2]|0; + $377 = HEAP32[$pNew>>2]|0; + $378 = ((($377)) + 40|0); + $379 = HEAP16[$378>>1]|0; + $380 = (($379) + 1)<<16>>16; + HEAP16[$378>>1] = $380; + $381 = $379&65535; + $382 = HEAP32[$pNew>>2]|0; + $383 = ((($382)) + 48|0); + $384 = HEAP32[$383>>2]|0; + $385 = (($384) + ($381<<2)|0); + HEAP32[$385>>2] = $376; + $386 = HEAP32[$pNew>>2]|0; + $387 = ((($386)) + 36|0); + $388 = HEAP32[$387>>2]|0; + $389 = $388 | 16; + HEAP32[$387>>2] = $389; + $390 = HEAP32[$pNew>>2]|0; + $391 = ((($390)) + 24|0); + $392 = ((($391)) + 4|0); + HEAP16[$392>>1] = 1; break; } else { - $336 = $302 | 18; - HEAP32[$301>>2] = $336; - $337 = HEAP32[$pTerm>>2]|0; - HEAP32[$pTop>>2] = $337; - $338 = HEAP32[$pNew>>2]|0; - $339 = ((($338)) + 36|0); - $340 = HEAP32[$339>>2]|0; - $341 = $340 & 32; - $342 = ($341|0)!=(0); - if ($342) { - $343 = HEAP32[$pNew>>2]|0; - $344 = ((($343)) + 40|0); - $345 = HEAP16[$344>>1]|0; - $346 = $345&65535; - $347 = (($346) - 2)|0; - $348 = HEAP32[$pNew>>2]|0; - $349 = ((($348)) + 48|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($347<<2)|0); - $352 = HEAP32[$351>>2]|0; - $353 = $352; + $393 = $343 | 18; + HEAP32[$342>>2] = $393; + $394 = HEAP32[$pParse>>2]|0; + $395 = HEAP32[$2>>2]|0; + $396 = ((($395)) + 44|0); + $397 = HEAP32[$396>>2]|0; + $398 = HEAP32[$3>>2]|0; + $399 = HEAP16[$saved_nEq>>1]|0; + $400 = $399&65535; + $401 = HEAP32[$pTerm>>2]|0; + $402 = (_whereRangeVectorLen($394,$397,$398,$400,$401)|0); + $403 = $402&65535; + $404 = HEAP32[$pNew>>2]|0; + $405 = ((($404)) + 24|0); + $406 = ((($405)) + 4|0); + HEAP16[$406>>1] = $403; + $407 = HEAP32[$pTerm>>2]|0; + HEAP32[$pTop>>2] = $407; + $408 = HEAP32[$pNew>>2]|0; + $409 = ((($408)) + 36|0); + $410 = HEAP32[$409>>2]|0; + $411 = $410 & 32; + $412 = ($411|0)!=(0); + if ($412) { + $413 = HEAP32[$pNew>>2]|0; + $414 = ((($413)) + 40|0); + $415 = HEAP16[$414>>1]|0; + $416 = $415&65535; + $417 = (($416) - 2)|0; + $418 = HEAP32[$pNew>>2]|0; + $419 = ((($418)) + 48|0); + $420 = HEAP32[$419>>2]|0; + $421 = (($420) + ($417<<2)|0); + $422 = HEAP32[$421>>2]|0; + $423 = $422; } else { - $353 = 0; + $423 = 0; } - HEAP32[$pBtm>>2] = $353; + HEAP32[$pBtm>>2] = $423; break; } } } while(0); - $354 = HEAP32[$pNew>>2]|0; - $355 = ((($354)) + 36|0); - $356 = HEAP32[$355>>2]|0; - $357 = $356 & 2; - $358 = ($357|0)!=(0); + $424 = HEAP32[$pNew>>2]|0; + $425 = ((($424)) + 36|0); + $426 = HEAP32[$425>>2]|0; + $427 = $426 & 2; + $428 = ($427|0)!=(0); do { - if ($358) { - $359 = HEAP32[$pParse>>2]|0; - $360 = HEAP32[$1>>2]|0; - $361 = HEAP32[$pBtm>>2]|0; - $362 = HEAP32[$pTop>>2]|0; - $363 = HEAP32[$pNew>>2]|0; - (_whereRangeScanEst($359,$360,$361,$362,$363)|0); + if ($428) { + $429 = HEAP32[$pParse>>2]|0; + $430 = HEAP32[$1>>2]|0; + $431 = HEAP32[$pBtm>>2]|0; + $432 = HEAP32[$pTop>>2]|0; + $433 = HEAP32[$pNew>>2]|0; + (_whereRangeScanEst($429,$430,$431,$432,$433)|0); } else { - $364 = HEAP32[$pNew>>2]|0; - $365 = ((($364)) + 24|0); - $366 = HEAP16[$365>>1]|0; - $367 = (($366) + 1)<<16>>16; - HEAP16[$365>>1] = $367; - $368 = $367&65535; - HEAP32[$nEq>>2] = $368; - $369 = HEAP32[$pTerm>>2]|0; - $370 = ((($369)) + 16|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371 << 16 >> 16; - $373 = ($372|0)<=(0); - if ($373) { - $374 = HEAP16[$saved_nEq>>1]|0; - $375 = $374&65535; - $376 = HEAP32[$3>>2]|0; - $377 = ((($376)) + 4|0); - $378 = HEAP32[$377>>2]|0; - $379 = (($378) + ($375<<1)|0); - $380 = HEAP16[$379>>1]|0; - $381 = $380 << 16 >> 16; - $382 = ($381|0)>=(0); - if ($382) { - $383 = HEAP32[$pTerm>>2]|0; - $384 = ((($383)) + 16|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = HEAP32[$pNew>>2]|0; - $388 = ((($387)) + 22|0); - $389 = HEAP16[$388>>1]|0; - $390 = $389 << 16 >> 16; - $391 = (($390) + ($386))|0; - $392 = $391&65535; - HEAP16[$388>>1] = $392; - $393 = HEAP32[$nIn>>2]|0; - $394 = HEAP32[$pNew>>2]|0; - $395 = ((($394)) + 22|0); - $396 = HEAP16[$395>>1]|0; - $397 = $396 << 16 >> 16; - $398 = (($397) - ($393))|0; - $399 = $398&65535; - HEAP16[$395>>1] = $399; + $434 = HEAP32[$pNew>>2]|0; + $435 = ((($434)) + 24|0); + $436 = HEAP16[$435>>1]|0; + $437 = (($436) + 1)<<16>>16; + HEAP16[$435>>1] = $437; + $438 = $437&65535; + HEAP32[$nEq>>2] = $438; + $439 = HEAP32[$pTerm>>2]|0; + $440 = ((($439)) + 8|0); + $441 = HEAP16[$440>>1]|0; + $442 = $441 << 16 >> 16; + $443 = ($442|0)<=(0); + if ($443) { + $444 = HEAP16[$saved_nEq>>1]|0; + $445 = $444&65535; + $446 = HEAP32[$3>>2]|0; + $447 = ((($446)) + 4|0); + $448 = HEAP32[$447>>2]|0; + $449 = (($448) + ($445<<1)|0); + $450 = HEAP16[$449>>1]|0; + $451 = $450 << 16 >> 16; + $452 = ($451|0)>=(0); + if ($452) { + $453 = HEAP32[$pTerm>>2]|0; + $454 = ((($453)) + 8|0); + $455 = HEAP16[$454>>1]|0; + $456 = $455 << 16 >> 16; + $457 = HEAP32[$pNew>>2]|0; + $458 = ((($457)) + 22|0); + $459 = HEAP16[$458>>1]|0; + $460 = $459 << 16 >> 16; + $461 = (($460) + ($456))|0; + $462 = $461&65535; + HEAP16[$458>>1] = $462; + $463 = HEAP32[$nIn>>2]|0; + $464 = HEAP32[$pNew>>2]|0; + $465 = ((($464)) + 22|0); + $466 = HEAP16[$465>>1]|0; + $467 = $466 << 16 >> 16; + $468 = (($467) - ($463))|0; + $469 = $468&65535; + HEAP16[$465>>1] = $469; break; } } - $400 = HEAP32[$nEq>>2]|0; - $401 = HEAP32[$3>>2]|0; - $402 = ((($401)) + 8|0); - $403 = HEAP32[$402>>2]|0; - $404 = (($403) + ($400<<1)|0); - $405 = HEAP16[$404>>1]|0; - $406 = $405 << 16 >> 16; - $407 = HEAP32[$nEq>>2]|0; - $408 = (($407) - 1)|0; - $409 = HEAP32[$3>>2]|0; - $410 = ((($409)) + 8|0); - $411 = HEAP32[$410>>2]|0; - $412 = (($411) + ($408<<1)|0); - $413 = HEAP16[$412>>1]|0; - $414 = $413 << 16 >> 16; - $415 = (($406) - ($414))|0; - $416 = HEAP32[$pNew>>2]|0; - $417 = ((($416)) + 22|0); - $418 = HEAP16[$417>>1]|0; - $419 = $418 << 16 >> 16; - $420 = (($419) + ($415))|0; - $421 = $420&65535; - HEAP16[$417>>1] = $421; - $422 = HEAP16[$eOp>>1]|0; - $423 = $422&65535; - $424 = $423 & 256; - $425 = ($424|0)!=(0); - if ($425) { - $426 = HEAP32[$pNew>>2]|0; - $427 = ((($426)) + 22|0); - $428 = HEAP16[$427>>1]|0; - $429 = $428 << 16 >> 16; - $430 = (($429) + 10)|0; - $431 = $430&65535; - HEAP16[$427>>1] = $431; + $470 = HEAP32[$nEq>>2]|0; + $471 = HEAP32[$3>>2]|0; + $472 = ((($471)) + 8|0); + $473 = HEAP32[$472>>2]|0; + $474 = (($473) + ($470<<1)|0); + $475 = HEAP16[$474>>1]|0; + $476 = $475 << 16 >> 16; + $477 = HEAP32[$nEq>>2]|0; + $478 = (($477) - 1)|0; + $479 = HEAP32[$3>>2]|0; + $480 = ((($479)) + 8|0); + $481 = HEAP32[$480>>2]|0; + $482 = (($481) + ($478<<1)|0); + $483 = HEAP16[$482>>1]|0; + $484 = $483 << 16 >> 16; + $485 = (($476) - ($484))|0; + $486 = HEAP32[$pNew>>2]|0; + $487 = ((($486)) + 22|0); + $488 = HEAP16[$487>>1]|0; + $489 = $488 << 16 >> 16; + $490 = (($489) + ($485))|0; + $491 = $490&65535; + HEAP16[$487>>1] = $491; + $492 = HEAP16[$eOp>>1]|0; + $493 = $492&65535; + $494 = $493 & 256; + $495 = ($494|0)!=(0); + if ($495) { + $496 = HEAP32[$pNew>>2]|0; + $497 = ((($496)) + 22|0); + $498 = HEAP16[$497>>1]|0; + $499 = $498 << 16 >> 16; + $500 = (($499) + 10)|0; + $501 = $500&65535; + HEAP16[$497>>1] = $501; } } } while(0); - $432 = HEAP32[$pNew>>2]|0; - $433 = ((($432)) + 22|0); - $434 = HEAP16[$433>>1]|0; - $435 = $434 << 16 >> 16; - $436 = (($435) + 1)|0; - $437 = HEAP32[$3>>2]|0; - $438 = ((($437)) + 48|0); - $439 = HEAP16[$438>>1]|0; - $440 = $439 << 16 >> 16; - $441 = ($440*15)|0; - $442 = HEAP32[$2>>2]|0; - $443 = ((($442)) + 16|0); - $444 = HEAP32[$443>>2]|0; - $445 = ((($444)) + 40|0); - $446 = HEAP16[$445>>1]|0; - $447 = $446 << 16 >> 16; - $448 = (($441|0) / ($447|0))&-1; - $449 = (($436) + ($448))|0; - $450 = $449&65535; - HEAP16[$rCostIdx>>1] = $450; - $451 = HEAP16[$rLogSize>>1]|0; - $452 = HEAP16[$rCostIdx>>1]|0; - $453 = (_sqlite3LogEstAdd($451,$452)|0); - $454 = HEAP32[$pNew>>2]|0; - $455 = ((($454)) + 20|0); - HEAP16[$455>>1] = $453; - $456 = HEAP32[$pNew>>2]|0; - $457 = ((($456)) + 36|0); - $458 = HEAP32[$457>>2]|0; - $459 = $458 & 320; - $460 = ($459|0)==(0); - if ($460) { - $461 = HEAP32[$pNew>>2]|0; - $462 = ((($461)) + 20|0); - $463 = HEAP16[$462>>1]|0; - $464 = HEAP32[$pNew>>2]|0; - $465 = ((($464)) + 22|0); - $466 = HEAP16[$465>>1]|0; - $467 = $466 << 16 >> 16; - $468 = (($467) + 16)|0; - $469 = $468&65535; - $470 = (_sqlite3LogEstAdd($463,$469)|0); - $471 = HEAP32[$pNew>>2]|0; - $472 = ((($471)) + 20|0); - HEAP16[$472>>1] = $470; - } - $473 = HEAP32[$pNew>>2]|0; - $474 = ((($473)) + 22|0); - $475 = HEAP16[$474>>1]|0; - HEAP16[$nOutUnadjusted>>1] = $475; - $476 = HEAP16[$4>>1]|0; - $477 = $476 << 16 >> 16; - $478 = HEAP32[$nIn>>2]|0; - $479 = (($477) + ($478))|0; - $480 = HEAP32[$pNew>>2]|0; - $481 = ((($480)) + 20|0); - $482 = HEAP16[$481>>1]|0; - $483 = $482 << 16 >> 16; - $484 = (($483) + ($479))|0; - $485 = $484&65535; - HEAP16[$481>>1] = $485; - $486 = HEAP16[$4>>1]|0; - $487 = $486 << 16 >> 16; - $488 = HEAP32[$nIn>>2]|0; - $489 = (($487) + ($488))|0; - $490 = HEAP32[$pNew>>2]|0; - $491 = ((($490)) + 22|0); - $492 = HEAP16[$491>>1]|0; - $493 = $492 << 16 >> 16; - $494 = (($493) + ($489))|0; - $495 = $494&65535; - HEAP16[$491>>1] = $495; - $496 = HEAP32[$1>>2]|0; - $497 = ((($496)) + 4|0); - $498 = HEAP32[$497>>2]|0; - $499 = HEAP32[$pNew>>2]|0; - $500 = HEAP16[$rSize>>1]|0; - _whereLoopOutputAdjust($498,$499,$500); - $501 = HEAP32[$1>>2]|0; $502 = HEAP32[$pNew>>2]|0; - $503 = (_whereLoopInsert($501,$502)|0); - HEAP32[$rc>>2] = $503; - $504 = HEAP32[$pNew>>2]|0; - $505 = ((($504)) + 36|0); - $506 = HEAP32[$505>>2]|0; - $507 = $506 & 2; - $508 = ($507|0)!=(0); - if ($508) { - $509 = HEAP16[$saved_nOut>>1]|0; - $510 = HEAP32[$pNew>>2]|0; - $511 = ((($510)) + 22|0); - HEAP16[$511>>1] = $509; + $503 = ((($502)) + 22|0); + $504 = HEAP16[$503>>1]|0; + $505 = $504 << 16 >> 16; + $506 = (($505) + 1)|0; + $507 = HEAP32[$3>>2]|0; + $508 = ((($507)) + 48|0); + $509 = HEAP16[$508>>1]|0; + $510 = $509 << 16 >> 16; + $511 = ($510*15)|0; + $512 = HEAP32[$2>>2]|0; + $513 = ((($512)) + 16|0); + $514 = HEAP32[$513>>2]|0; + $515 = ((($514)) + 40|0); + $516 = HEAP16[$515>>1]|0; + $517 = $516 << 16 >> 16; + $518 = (($511|0) / ($517|0))&-1; + $519 = (($506) + ($518))|0; + $520 = $519&65535; + HEAP16[$rCostIdx>>1] = $520; + $521 = HEAP16[$rLogSize>>1]|0; + $522 = HEAP16[$rCostIdx>>1]|0; + $523 = (_sqlite3LogEstAdd($521,$522)|0); + $524 = HEAP32[$pNew>>2]|0; + $525 = ((($524)) + 20|0); + HEAP16[$525>>1] = $523; + $526 = HEAP32[$pNew>>2]|0; + $527 = ((($526)) + 36|0); + $528 = HEAP32[$527>>2]|0; + $529 = $528 & 320; + $530 = ($529|0)==(0); + if ($530) { + $531 = HEAP32[$pNew>>2]|0; + $532 = ((($531)) + 20|0); + $533 = HEAP16[$532>>1]|0; + $534 = HEAP32[$pNew>>2]|0; + $535 = ((($534)) + 22|0); + $536 = HEAP16[$535>>1]|0; + $537 = $536 << 16 >> 16; + $538 = (($537) + 16)|0; + $539 = $538&65535; + $540 = (_sqlite3LogEstAdd($533,$539)|0); + $541 = HEAP32[$pNew>>2]|0; + $542 = ((($541)) + 20|0); + HEAP16[$542>>1] = $540; + } + $543 = HEAP32[$pNew>>2]|0; + $544 = ((($543)) + 22|0); + $545 = HEAP16[$544>>1]|0; + HEAP16[$nOutUnadjusted>>1] = $545; + $546 = HEAP16[$4>>1]|0; + $547 = $546 << 16 >> 16; + $548 = HEAP32[$nIn>>2]|0; + $549 = (($547) + ($548))|0; + $550 = HEAP32[$pNew>>2]|0; + $551 = ((($550)) + 20|0); + $552 = HEAP16[$551>>1]|0; + $553 = $552 << 16 >> 16; + $554 = (($553) + ($549))|0; + $555 = $554&65535; + HEAP16[$551>>1] = $555; + $556 = HEAP16[$4>>1]|0; + $557 = $556 << 16 >> 16; + $558 = HEAP32[$nIn>>2]|0; + $559 = (($557) + ($558))|0; + $560 = HEAP32[$pNew>>2]|0; + $561 = ((($560)) + 22|0); + $562 = HEAP16[$561>>1]|0; + $563 = $562 << 16 >> 16; + $564 = (($563) + ($559))|0; + $565 = $564&65535; + HEAP16[$561>>1] = $565; + $566 = HEAP32[$1>>2]|0; + $567 = ((($566)) + 4|0); + $568 = HEAP32[$567>>2]|0; + $569 = HEAP32[$pNew>>2]|0; + $570 = HEAP16[$rSize>>1]|0; + _whereLoopOutputAdjust($568,$569,$570); + $571 = HEAP32[$1>>2]|0; + $572 = HEAP32[$pNew>>2]|0; + $573 = (_whereLoopInsert($571,$572)|0); + HEAP32[$rc>>2] = $573; + $574 = HEAP32[$pNew>>2]|0; + $575 = ((($574)) + 36|0); + $576 = HEAP32[$575>>2]|0; + $577 = $576 & 2; + $578 = ($577|0)!=(0); + if ($578) { + $579 = HEAP16[$saved_nOut>>1]|0; + $580 = HEAP32[$pNew>>2]|0; + $581 = ((($580)) + 22|0); + HEAP16[$581>>1] = $579; } else { - $512 = HEAP16[$nOutUnadjusted>>1]|0; - $513 = HEAP32[$pNew>>2]|0; - $514 = ((($513)) + 22|0); - HEAP16[$514>>1] = $512; + $582 = HEAP16[$nOutUnadjusted>>1]|0; + $583 = HEAP32[$pNew>>2]|0; + $584 = ((($583)) + 22|0); + HEAP16[$584>>1] = $582; } - $515 = HEAP32[$pNew>>2]|0; - $516 = ((($515)) + 36|0); - $517 = HEAP32[$516>>2]|0; - $518 = $517 & 16; - $519 = ($518|0)==(0); - if ($519) { - $520 = HEAP32[$pNew>>2]|0; - $521 = ((($520)) + 24|0); - $522 = HEAP16[$521>>1]|0; - $523 = $522&65535; - $524 = HEAP32[$3>>2]|0; - $525 = ((($524)) + 52|0); - $526 = HEAP16[$525>>1]|0; - $527 = $526&65535; - $528 = ($523|0)<($527|0); - if ($528) { - $529 = HEAP32[$1>>2]|0; - $530 = HEAP32[$2>>2]|0; - $531 = HEAP32[$3>>2]|0; - $532 = HEAP16[$4>>1]|0; - $533 = $532 << 16 >> 16; - $534 = HEAP32[$nIn>>2]|0; - $535 = (($533) + ($534))|0; - $536 = $535&65535; - (_whereLoopAddBtreeIndex($529,$530,$531,$536)|0); + $585 = HEAP32[$pNew>>2]|0; + $586 = ((($585)) + 36|0); + $587 = HEAP32[$586>>2]|0; + $588 = $587 & 16; + $589 = ($588|0)==(0); + if ($589) { + $590 = HEAP32[$pNew>>2]|0; + $591 = ((($590)) + 24|0); + $592 = HEAP16[$591>>1]|0; + $593 = $592&65535; + $594 = HEAP32[$3>>2]|0; + $595 = ((($594)) + 52|0); + $596 = HEAP16[$595>>1]|0; + $597 = $596&65535; + $598 = ($593|0)<($597|0); + if ($598) { + $599 = HEAP32[$1>>2]|0; + $600 = HEAP32[$2>>2]|0; + $601 = HEAP32[$3>>2]|0; + $602 = HEAP16[$4>>1]|0; + $603 = $602 << 16 >> 16; + $604 = HEAP32[$nIn>>2]|0; + $605 = (($603) + ($604))|0; + $606 = $605&65535; + (_whereLoopAddBtreeIndex($599,$600,$601,$606)|0); } } - $537 = HEAP16[$saved_nOut>>1]|0; - $538 = HEAP32[$pNew>>2]|0; - $539 = ((($538)) + 22|0); - HEAP16[$539>>1] = $537; + $607 = HEAP16[$saved_nOut>>1]|0; + $608 = HEAP32[$pNew>>2]|0; + $609 = ((($608)) + 22|0); + HEAP16[$609>>1] = $607; } } } while(0); - $540 = (_whereScanNext($scan)|0); - HEAP32[$pTerm>>2] = $540; - } - $541 = $saved_prereq; - $542 = $541; - $543 = HEAP32[$542>>2]|0; - $544 = (($541) + 4)|0; - $545 = $544; - $546 = HEAP32[$545>>2]|0; - $547 = HEAP32[$pNew>>2]|0; - $548 = $547; - $549 = $548; - HEAP32[$549>>2] = $543; - $550 = (($548) + 4)|0; - $551 = $550; - HEAP32[$551>>2] = $546; - $552 = HEAP16[$saved_nEq>>1]|0; - $553 = HEAP32[$pNew>>2]|0; - $554 = ((($553)) + 24|0); - HEAP16[$554>>1] = $552; - $555 = HEAP16[$saved_nSkip>>1]|0; - $556 = HEAP32[$pNew>>2]|0; - $557 = ((($556)) + 42|0); - HEAP16[$557>>1] = $555; - $558 = HEAP32[$saved_wsFlags>>2]|0; - $559 = HEAP32[$pNew>>2]|0; - $560 = ((($559)) + 36|0); - HEAP32[$560>>2] = $558; - $561 = HEAP16[$saved_nOut>>1]|0; - $562 = HEAP32[$pNew>>2]|0; - $563 = ((($562)) + 22|0); - HEAP16[$563>>1] = $561; - $564 = HEAP16[$saved_nLTerm>>1]|0; - $565 = HEAP32[$pNew>>2]|0; - $566 = ((($565)) + 40|0); - HEAP16[$566>>1] = $564; - $567 = HEAP16[$saved_nEq>>1]|0; - $568 = $567&65535; - $569 = HEAP16[$saved_nSkip>>1]|0; - $570 = $569&65535; - $571 = ($568|0)==($570|0); - if ($571) { - $572 = HEAP16[$saved_nEq>>1]|0; - $573 = $572&65535; - $574 = (($573) + 1)|0; - $575 = HEAP32[$3>>2]|0; - $576 = ((($575)) + 50|0); - $577 = HEAP16[$576>>1]|0; - $578 = $577&65535; - $579 = ($574|0)<($578|0); - if ($579) { - $580 = HEAP32[$3>>2]|0; - $581 = ((($580)) + 55|0); - $582 = HEAP8[$581>>0]|0; - $583 = ($582&255) >>> 6; - $584 = $583 & 1; - $585 = $584&255; - $586 = ($585|0)==(0); - if ($586) { - $587 = HEAP16[$saved_nEq>>1]|0; - $588 = $587&65535; - $589 = (($588) + 1)|0; - $590 = HEAP32[$3>>2]|0; - $591 = ((($590)) + 8|0); - $592 = HEAP32[$591>>2]|0; - $593 = (($592) + ($589<<1)|0); - $594 = HEAP16[$593>>1]|0; - $595 = $594 << 16 >> 16; - $596 = ($595|0)>=(42); - if ($596) { - $597 = HEAP32[$db>>2]|0; - $598 = HEAP32[$pNew>>2]|0; - $599 = HEAP32[$pNew>>2]|0; - $600 = ((($599)) + 40|0); - $601 = HEAP16[$600>>1]|0; - $602 = $601&65535; - $603 = (($602) + 1)|0; - $604 = (_whereLoopResize($597,$598,$603)|0); - HEAP32[$rc>>2] = $604; - $605 = ($604|0)==(0); - if ($605) { - $606 = HEAP32[$pNew>>2]|0; - $607 = ((($606)) + 24|0); - $608 = HEAP16[$607>>1]|0; - $609 = (($608) + 1)<<16>>16; - HEAP16[$607>>1] = $609; - $610 = HEAP32[$pNew>>2]|0; - $611 = ((($610)) + 42|0); - $612 = HEAP16[$611>>1]|0; - $613 = (($612) + 1)<<16>>16; - HEAP16[$611>>1] = $613; - $614 = HEAP32[$pNew>>2]|0; - $615 = ((($614)) + 40|0); - $616 = HEAP16[$615>>1]|0; - $617 = (($616) + 1)<<16>>16; - HEAP16[$615>>1] = $617; - $618 = $616&65535; - $619 = HEAP32[$pNew>>2]|0; - $620 = ((($619)) + 48|0); - $621 = HEAP32[$620>>2]|0; - $622 = (($621) + ($618<<2)|0); - HEAP32[$622>>2] = 0; - $623 = HEAP32[$pNew>>2]|0; - $624 = ((($623)) + 36|0); - $625 = HEAP32[$624>>2]|0; - $626 = $625 | 32768; - HEAP32[$624>>2] = $626; - $627 = HEAP16[$saved_nEq>>1]|0; - $628 = $627&65535; - $629 = HEAP32[$3>>2]|0; - $630 = ((($629)) + 8|0); - $631 = HEAP32[$630>>2]|0; - $632 = (($631) + ($628<<1)|0); - $633 = HEAP16[$632>>1]|0; - $634 = $633 << 16 >> 16; - $635 = HEAP16[$saved_nEq>>1]|0; - $636 = $635&65535; - $637 = (($636) + 1)|0; - $638 = HEAP32[$3>>2]|0; - $639 = ((($638)) + 8|0); - $640 = HEAP32[$639>>2]|0; - $641 = (($640) + ($637<<1)|0); - $642 = HEAP16[$641>>1]|0; - $643 = $642 << 16 >> 16; - $644 = (($634) - ($643))|0; - $645 = $644&65535; - HEAP16[$nIter>>1] = $645; - $646 = HEAP16[$nIter>>1]|0; - $647 = $646 << 16 >> 16; - $648 = HEAP32[$pNew>>2]|0; - $649 = ((($648)) + 22|0); - $650 = HEAP16[$649>>1]|0; - $651 = $650 << 16 >> 16; - $652 = (($651) - ($647))|0; - $653 = $652&65535; - HEAP16[$649>>1] = $653; - $654 = HEAP16[$nIter>>1]|0; - $655 = $654 << 16 >> 16; - $656 = (($655) + 5)|0; - $657 = $656&65535; - HEAP16[$nIter>>1] = $657; - $658 = HEAP32[$1>>2]|0; - $659 = HEAP32[$2>>2]|0; - $660 = HEAP32[$3>>2]|0; - $661 = HEAP16[$nIter>>1]|0; - $662 = $661 << 16 >> 16; - $663 = HEAP16[$4>>1]|0; - $664 = $663 << 16 >> 16; - $665 = (($662) + ($664))|0; - $666 = $665&65535; - (_whereLoopAddBtreeIndex($658,$659,$660,$666)|0); - $667 = HEAP16[$saved_nOut>>1]|0; - $668 = HEAP32[$pNew>>2]|0; - $669 = ((($668)) + 22|0); - HEAP16[$669>>1] = $667; - $670 = HEAP16[$saved_nEq>>1]|0; - $671 = HEAP32[$pNew>>2]|0; - $672 = ((($671)) + 24|0); - HEAP16[$672>>1] = $670; - $673 = HEAP16[$saved_nSkip>>1]|0; - $674 = HEAP32[$pNew>>2]|0; - $675 = ((($674)) + 42|0); - HEAP16[$675>>1] = $673; - $676 = HEAP32[$saved_wsFlags>>2]|0; - $677 = HEAP32[$pNew>>2]|0; - $678 = ((($677)) + 36|0); - HEAP32[$678>>2] = $676; - } - } - } - } - } - $679 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $679; - $680 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($680|0); + $610 = (_whereScanNext($scan)|0); + HEAP32[$pTerm>>2] = $610; + } + $611 = $saved_prereq; + $612 = $611; + $613 = HEAP32[$612>>2]|0; + $614 = (($611) + 4)|0; + $615 = $614; + $616 = HEAP32[$615>>2]|0; + $617 = HEAP32[$pNew>>2]|0; + $618 = $617; + $619 = $618; + HEAP32[$619>>2] = $613; + $620 = (($618) + 4)|0; + $621 = $620; + HEAP32[$621>>2] = $616; + $622 = HEAP16[$saved_nEq>>1]|0; + $623 = HEAP32[$pNew>>2]|0; + $624 = ((($623)) + 24|0); + HEAP16[$624>>1] = $622; + $625 = HEAP16[$saved_nBtm>>1]|0; + $626 = HEAP32[$pNew>>2]|0; + $627 = ((($626)) + 24|0); + $628 = ((($627)) + 2|0); + HEAP16[$628>>1] = $625; + $629 = HEAP16[$saved_nTop>>1]|0; + $630 = HEAP32[$pNew>>2]|0; + $631 = ((($630)) + 24|0); + $632 = ((($631)) + 4|0); + HEAP16[$632>>1] = $629; + $633 = HEAP16[$saved_nSkip>>1]|0; + $634 = HEAP32[$pNew>>2]|0; + $635 = ((($634)) + 42|0); + HEAP16[$635>>1] = $633; + $636 = HEAP32[$saved_wsFlags>>2]|0; + $637 = HEAP32[$pNew>>2]|0; + $638 = ((($637)) + 36|0); + HEAP32[$638>>2] = $636; + $639 = HEAP16[$saved_nOut>>1]|0; + $640 = HEAP32[$pNew>>2]|0; + $641 = ((($640)) + 22|0); + HEAP16[$641>>1] = $639; + $642 = HEAP16[$saved_nLTerm>>1]|0; + $643 = HEAP32[$pNew>>2]|0; + $644 = ((($643)) + 40|0); + HEAP16[$644>>1] = $642; + $645 = HEAP16[$saved_nEq>>1]|0; + $646 = $645&65535; + $647 = HEAP16[$saved_nSkip>>1]|0; + $648 = $647&65535; + $649 = ($646|0)==($648|0); + if ($649) { + $650 = HEAP16[$saved_nEq>>1]|0; + $651 = $650&65535; + $652 = (($651) + 1)|0; + $653 = HEAP32[$3>>2]|0; + $654 = ((($653)) + 50|0); + $655 = HEAP16[$654>>1]|0; + $656 = $655&65535; + $657 = ($652|0)<($656|0); + if ($657) { + $658 = HEAP32[$3>>2]|0; + $659 = ((($658)) + 55|0); + $660 = HEAP8[$659>>0]|0; + $661 = ($660&255) >>> 6; + $662 = $661 & 1; + $663 = $662&255; + $664 = ($663|0)==(0); + if ($664) { + $665 = HEAP16[$saved_nEq>>1]|0; + $666 = $665&65535; + $667 = (($666) + 1)|0; + $668 = HEAP32[$3>>2]|0; + $669 = ((($668)) + 8|0); + $670 = HEAP32[$669>>2]|0; + $671 = (($670) + ($667<<1)|0); + $672 = HEAP16[$671>>1]|0; + $673 = $672 << 16 >> 16; + $674 = ($673|0)>=(42); + if ($674) { + $675 = HEAP32[$db>>2]|0; + $676 = HEAP32[$pNew>>2]|0; + $677 = HEAP32[$pNew>>2]|0; + $678 = ((($677)) + 40|0); + $679 = HEAP16[$678>>1]|0; + $680 = $679&65535; + $681 = (($680) + 1)|0; + $682 = (_whereLoopResize($675,$676,$681)|0); + HEAP32[$rc>>2] = $682; + $683 = ($682|0)==(0); + if ($683) { + $684 = HEAP32[$pNew>>2]|0; + $685 = ((($684)) + 24|0); + $686 = HEAP16[$685>>1]|0; + $687 = (($686) + 1)<<16>>16; + HEAP16[$685>>1] = $687; + $688 = HEAP32[$pNew>>2]|0; + $689 = ((($688)) + 42|0); + $690 = HEAP16[$689>>1]|0; + $691 = (($690) + 1)<<16>>16; + HEAP16[$689>>1] = $691; + $692 = HEAP32[$pNew>>2]|0; + $693 = ((($692)) + 40|0); + $694 = HEAP16[$693>>1]|0; + $695 = (($694) + 1)<<16>>16; + HEAP16[$693>>1] = $695; + $696 = $694&65535; + $697 = HEAP32[$pNew>>2]|0; + $698 = ((($697)) + 48|0); + $699 = HEAP32[$698>>2]|0; + $700 = (($699) + ($696<<2)|0); + HEAP32[$700>>2] = 0; + $701 = HEAP32[$pNew>>2]|0; + $702 = ((($701)) + 36|0); + $703 = HEAP32[$702>>2]|0; + $704 = $703 | 32768; + HEAP32[$702>>2] = $704; + $705 = HEAP16[$saved_nEq>>1]|0; + $706 = $705&65535; + $707 = HEAP32[$3>>2]|0; + $708 = ((($707)) + 8|0); + $709 = HEAP32[$708>>2]|0; + $710 = (($709) + ($706<<1)|0); + $711 = HEAP16[$710>>1]|0; + $712 = $711 << 16 >> 16; + $713 = HEAP16[$saved_nEq>>1]|0; + $714 = $713&65535; + $715 = (($714) + 1)|0; + $716 = HEAP32[$3>>2]|0; + $717 = ((($716)) + 8|0); + $718 = HEAP32[$717>>2]|0; + $719 = (($718) + ($715<<1)|0); + $720 = HEAP16[$719>>1]|0; + $721 = $720 << 16 >> 16; + $722 = (($712) - ($721))|0; + $723 = $722&65535; + HEAP16[$nIter>>1] = $723; + $724 = HEAP16[$nIter>>1]|0; + $725 = $724 << 16 >> 16; + $726 = HEAP32[$pNew>>2]|0; + $727 = ((($726)) + 22|0); + $728 = HEAP16[$727>>1]|0; + $729 = $728 << 16 >> 16; + $730 = (($729) - ($725))|0; + $731 = $730&65535; + HEAP16[$727>>1] = $731; + $732 = HEAP16[$nIter>>1]|0; + $733 = $732 << 16 >> 16; + $734 = (($733) + 5)|0; + $735 = $734&65535; + HEAP16[$nIter>>1] = $735; + $736 = HEAP32[$1>>2]|0; + $737 = HEAP32[$2>>2]|0; + $738 = HEAP32[$3>>2]|0; + $739 = HEAP16[$nIter>>1]|0; + $740 = $739 << 16 >> 16; + $741 = HEAP16[$4>>1]|0; + $742 = $741 << 16 >> 16; + $743 = (($740) + ($742))|0; + $744 = $743&65535; + (_whereLoopAddBtreeIndex($736,$737,$738,$744)|0); + $745 = HEAP16[$saved_nOut>>1]|0; + $746 = HEAP32[$pNew>>2]|0; + $747 = ((($746)) + 22|0); + HEAP16[$747>>1] = $745; + $748 = HEAP16[$saved_nEq>>1]|0; + $749 = HEAP32[$pNew>>2]|0; + $750 = ((($749)) + 24|0); + HEAP16[$750>>1] = $748; + $751 = HEAP16[$saved_nSkip>>1]|0; + $752 = HEAP32[$pNew>>2]|0; + $753 = ((($752)) + 42|0); + HEAP16[$753>>1] = $751; + $754 = HEAP32[$saved_wsFlags>>2]|0; + $755 = HEAP32[$pNew>>2]|0; + $756 = ((($755)) + 36|0); + HEAP32[$756>>2] = $754; + } + } + } + } + } + $757 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $757; + $758 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($758|0); } function _indexColumnNotNull($pIdx,$iCol) { $pIdx = $pIdx|0; @@ -184222,15 +187913,242 @@ function _indexColumnNotNull($pIdx,$iCol) { $23 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($23|0); } - $22 = ($12|0)==(-1); - if ($22) { - HEAP32[$0>>2] = 1; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); - } else { - HEAP32[$0>>2] = 0; - $23 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($23|0); + $22 = ($12|0)==(-1); + if ($22) { + HEAP32[$0>>2] = 1; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } else { + HEAP32[$0>>2] = 0; + $23 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($23|0); + } + return (0)|0; +} +function _whereRangeVectorLen($pParse,$iCur,$pIdx,$nEq,$pTerm) { + $pParse = $pParse|0; + $iCur = $iCur|0; + $pIdx = $pIdx|0; + $nEq = $nEq|0; + $pTerm = $pTerm|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $aff = 0, $i = 0, $idxaff = 0, $nCmp = 0, $pColl = 0, $pLhs = 0, $pRhs = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 36|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $3 = sp + 24|0; + $4 = sp + 20|0; + $nCmp = sp + 16|0; + $i = sp + 12|0; + $aff = sp + 41|0; + $idxaff = sp + 40|0; + $pColl = sp + 8|0; + $pLhs = sp + 4|0; + $pRhs = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $iCur; + HEAP32[$2>>2] = $pIdx; + HEAP32[$3>>2] = $nEq; + HEAP32[$4>>2] = $pTerm; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3ExprVectorSize($8)|0); + HEAP32[$nCmp>>2] = $9; + $10 = HEAP32[$nCmp>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 52|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = HEAP32[$3>>2]|0; + $16 = (($14) - ($15))|0; + $17 = ($10|0)<($16|0); + if ($17) { + $18 = HEAP32[$nCmp>>2]|0; + $25 = $18; + } else { + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 52|0); + $21 = HEAP16[$20>>1]|0; + $22 = $21&65535; + $23 = HEAP32[$3>>2]|0; + $24 = (($22) - ($23))|0; + $25 = $24; + } + HEAP32[$nCmp>>2] = $25; + HEAP32[$i>>2] = 1; + while(1) { + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$nCmp>>2]|0; + $28 = ($26|0)<($27|0); + if (!($28)) { + label = 17; + break; + } + HEAP8[$idxaff>>0] = 0; + $29 = HEAP32[$i>>2]|0; + $30 = HEAP32[$4>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($33)) + 20|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 4|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($37) + (($29*20)|0)|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$pLhs>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$pRhs>>2] = $43; + $44 = HEAP32[$pRhs>>2]|0; + $45 = ((($44)) + 4|0); + $46 = HEAP32[$45>>2]|0; + $47 = $46 & 2048; + $48 = ($47|0)!=(0); + $49 = HEAP32[$i>>2]|0; + $50 = HEAP32[$pRhs>>2]|0; + $51 = ((($50)) + 20|0); + if ($48) { + $52 = HEAP32[$51>>2]|0; + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + (($49*20)|0)|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$pRhs>>2] = $57; + } else { + $58 = HEAP32[$51>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($60) + (($49*20)|0)|0); + $62 = HEAP32[$61>>2]|0; + HEAP32[$pRhs>>2] = $62; + } + $63 = HEAP32[$pLhs>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + $66 = ($65|0)!=(152); + if ($66) { + label = 17; + break; + } + $67 = HEAP32[$pLhs>>2]|0; + $68 = ((($67)) + 28|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$1>>2]|0; + $71 = ($69|0)!=($70|0); + if ($71) { + label = 17; + break; + } + $72 = HEAP32[$pLhs>>2]|0; + $73 = ((($72)) + 32|0); + $74 = HEAP16[$73>>1]|0; + $75 = $74 << 16 >> 16; + $76 = HEAP32[$i>>2]|0; + $77 = HEAP32[$3>>2]|0; + $78 = (($76) + ($77))|0; + $79 = HEAP32[$2>>2]|0; + $80 = ((($79)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = (($81) + ($78<<1)|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83 << 16 >> 16; + $85 = ($75|0)!=($84|0); + if ($85) { + label = 17; + break; + } + $86 = HEAP32[$i>>2]|0; + $87 = HEAP32[$3>>2]|0; + $88 = (($86) + ($87))|0; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 28|0); + $91 = HEAP32[$90>>2]|0; + $92 = (($91) + ($88)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 28|0); + $98 = HEAP32[$97>>2]|0; + $99 = (($98) + ($95)|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + $102 = ($94|0)!=($101|0); + if ($102) { + label = 17; + break; + } + $103 = HEAP32[$pRhs>>2]|0; + $104 = HEAP32[$pLhs>>2]|0; + $105 = (_sqlite3ExprAffinity($104)|0); + $106 = (_sqlite3CompareAffinity($103,$105)|0); + HEAP8[$aff>>0] = $106; + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 12|0); + $109 = HEAP32[$108>>2]|0; + $110 = HEAP32[$pLhs>>2]|0; + $111 = ((($110)) + 32|0); + $112 = HEAP16[$111>>1]|0; + $113 = $112 << 16 >> 16; + $114 = (_sqlite3TableColumnAffinity($109,$113)|0); + HEAP8[$idxaff>>0] = $114; + $115 = HEAP8[$aff>>0]|0; + $116 = $115 << 24 >> 24; + $117 = HEAP8[$idxaff>>0]|0; + $118 = $117 << 24 >> 24; + $119 = ($116|0)!=($118|0); + if ($119) { + label = 17; + break; + } + $120 = HEAP32[$0>>2]|0; + $121 = HEAP32[$pLhs>>2]|0; + $122 = HEAP32[$pRhs>>2]|0; + $123 = (_sqlite3BinaryCompareCollSeq($120,$121,$122)|0); + HEAP32[$pColl>>2] = $123; + $124 = HEAP32[$pColl>>2]|0; + $125 = ($124|0)==(0|0); + if ($125) { + label = 17; + break; + } + $126 = HEAP32[$pColl>>2]|0; + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$i>>2]|0; + $129 = HEAP32[$3>>2]|0; + $130 = (($128) + ($129))|0; + $131 = HEAP32[$2>>2]|0; + $132 = ((($131)) + 32|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + ($130<<2)|0); + $135 = HEAP32[$134>>2]|0; + $136 = (_sqlite3StrICmp($127,$135)|0); + $137 = ($136|0)!=(0); + if ($137) { + label = 17; + break; + } + $138 = HEAP32[$i>>2]|0; + $139 = (($138) + 1)|0; + HEAP32[$i>>2] = $139; + } + if ((label|0) == 17) { + $140 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($140|0); } return (0)|0; } @@ -184278,7 +188196,7 @@ function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { $17 = ($16|0)!=(0|0); if ($17) { $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 16|0); + $19 = ((($18)) + 8|0); $20 = HEAP16[$19>>1]|0; $21 = $20 << 16 >> 16; $22 = ($21|0)>(0); @@ -184287,7 +188205,7 @@ function _whereRangeScanEst($pParse,$pBuilder,$pLower,$pUpper,$pLoop) { $or$cond = $22 & $24; if ($or$cond) { $25 = HEAP32[$3>>2]|0; - $26 = ((($25)) + 16|0); + $26 = ((($25)) + 8|0); $27 = HEAP16[$26>>1]|0; $28 = $27 << 16 >> 16; $29 = ($28|0)>(0); @@ -184359,13 +188277,13 @@ function _whereRangeAdjust($pTerm,$nNew) { do { if ($4) { $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 16|0); + $6 = ((($5)) + 8|0); $7 = HEAP16[$6>>1]|0; $8 = $7 << 16 >> 16; $9 = ($8|0)<=(0); $10 = HEAP32[$0>>2]|0; if ($9) { - $11 = ((($10)) + 16|0); + $11 = ((($10)) + 8|0); $12 = HEAP16[$11>>1]|0; $13 = $12 << 16 >> 16; $14 = HEAP16[$nRet>>1]|0; @@ -184375,7 +188293,7 @@ function _whereRangeAdjust($pTerm,$nNew) { HEAP16[$nRet>>1] = $17; break; } - $18 = ((($10)) + 20|0); + $18 = ((($10)) + 10|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = $20 & 0; @@ -184392,6 +188310,57 @@ function _whereRangeAdjust($pTerm,$nNew) { $27 = HEAP16[$nRet>>1]|0; STACKTOP = sp;return ($27|0); } +function _exprIdxCover($pWalker,$pExpr) { + $pWalker = $pWalker|0; + $pExpr = $pExpr|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $pWalker; + HEAP32[$2>>2] = $pExpr; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(152); + if ($6) { + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($9|0)==($14|0); + if ($15) { + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$2>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP16[$21>>1]|0; + $23 = (_sqlite3ColumnOfIndex($19,$22)|0); + $24 = $23 << 16 >> 16; + $25 = ($24|0)<(0); + if ($25) { + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 20|0); + HEAP8[$27>>0] = 1; + HEAP32[$0>>2] = 2; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); + } + } + } + HEAP32[$0>>2] = 0; + $28 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($28|0); +} function _sqlite3ExprImpliesExpr($pE1,$pE2,$iTab) { $pE1 = $pE1|0; $pE2 = $pE2|0; @@ -184484,13 +188453,14 @@ function _sqlite3ExprImpliesExpr($pE1,$pE2,$iTab) { $48 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($48|0); } -function _allocateIndexInfo($pParse,$pWC,$0,$1,$pSrc,$pOrderBy) { +function _allocateIndexInfo($pParse,$pWC,$0,$1,$pSrc,$pOrderBy,$pmNoOmit) { $pParse = $pParse|0; $pWC = $pWC|0; $0 = $0|0; $1 = $1|0; $pSrc = $pSrc|0; $pOrderBy = $pOrderBy|0; + $pmNoOmit = $pmNoOmit|0; var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; @@ -184499,20 +188469,23 @@ function _allocateIndexInfo($pParse,$pWC,$0,$1,$pSrc,$pOrderBy) { var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $i = 0, $j = 0, $n = 0, $nOrderBy = 0, $nTerm = 0, $op = 0, $pExpr = 0, $pExpr1 = 0, $pIdxCons = 0, $pIdxInfo = 0, $pIdxOrderBy = 0, $pTerm = 0, $pUsage = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $j = 0, $mNoOmit = 0; + var $n = 0, $nOrderBy = 0, $nTerm = 0, $op = 0, $pExpr = 0, $pExpr1 = 0, $pIdxCons = 0, $pIdxInfo = 0, $pIdxOrderBy = 0, $pTerm = 0, $pUsage = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer = sp + 8|0; - $2 = sp + 76|0; - $3 = sp + 72|0; - $4 = sp + 68|0; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; $5 = sp; - $6 = sp + 64|0; - $7 = sp + 60|0; + $6 = sp + 68|0; + $7 = sp + 64|0; + $8 = sp + 60|0; $i = sp + 56|0; $j = sp + 52|0; $nTerm = sp + 48|0; @@ -184522,348 +188495,399 @@ function _allocateIndexInfo($pParse,$pWC,$0,$1,$pSrc,$pOrderBy) { $pTerm = sp + 32|0; $nOrderBy = sp + 28|0; $pIdxInfo = sp + 24|0; + $mNoOmit = sp + 84|0; $n = sp + 20|0; $pExpr = sp + 16|0; - $op = sp + 80|0; + $op = sp + 86|0; $pExpr1 = sp + 12|0; HEAP32[$3>>2] = $pParse; HEAP32[$4>>2] = $pWC; - $8 = $5; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $0; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $1; HEAP32[$6>>2] = $pSrc; HEAP32[$7>>2] = $pOrderBy; + HEAP32[$8>>2] = $pmNoOmit; + HEAP16[$mNoOmit>>1] = 0; HEAP32[$nTerm>>2] = 0; HEAP32[$i>>2] = 0; - $12 = HEAP32[$4>>2]|0; - $13 = ((($12)) + 20|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$pTerm>>2] = $14; + $13 = HEAP32[$4>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$pTerm>>2] = $15; while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$4>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if (!($19)) { + $16 = HEAP32[$i>>2]|0; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($16|0)<($19|0); + if (!($20)) { break; } - $20 = HEAP32[$pTerm>>2]|0; - $21 = ((($20)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$6>>2]|0; - $24 = ((($23)) + 44|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($22|0)!=($25|0); - if (!($26)) { - $27 = HEAP32[$pTerm>>2]|0; - $28 = ((($27)) + 32|0); - $29 = $28; + $21 = HEAP32[$pTerm>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$6>>2]|0; + $25 = ((($24)) + 44|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)!=($26|0); + if (!($27)) { + $28 = HEAP32[$pTerm>>2]|0; + $29 = ((($28)) + 32|0); $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (($29) + 4)|0; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = $5; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = $31 & $37; - $42 = $34 & $40; - $43 = ($41|0)!=(0); + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = $5; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = $32 & $38; + $43 = $35 & $41; $44 = ($42|0)!=(0); - $45 = $43 | $44; - if (!($45)) { - $46 = HEAP32[$pTerm>>2]|0; - $47 = ((($46)) + 18|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = $49 & -2433; - $51 = ($50|0)==(0); - if (!($51)) { - $52 = HEAP32[$pTerm>>2]|0; - $53 = ((($52)) + 20|0); - $54 = HEAP16[$53>>1]|0; - $55 = $54&65535; - $56 = $55 & 0; - $57 = ($56|0)!=(0); - if (!($57)) { - $58 = HEAP32[$nTerm>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$nTerm>>2] = $59; + $45 = ($43|0)!=(0); + $46 = $44 | $45; + if (!($46)) { + $47 = HEAP32[$pTerm>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49&65535; + $51 = $50 & -2433; + $52 = ($51|0)==(0); + if (!($52)) { + $53 = HEAP32[$pTerm>>2]|0; + $54 = ((($53)) + 10|0); + $55 = HEAP16[$54>>1]|0; + $56 = $55&65535; + $57 = $56 & 0; + $58 = ($57|0)!=(0); + if (!($58)) { + $59 = HEAP32[$nTerm>>2]|0; + $60 = (($59) + 1)|0; + HEAP32[$nTerm>>2] = $60; } } } } - $60 = HEAP32[$i>>2]|0; - $61 = (($60) + 1)|0; - HEAP32[$i>>2] = $61; - $62 = HEAP32[$pTerm>>2]|0; - $63 = ((($62)) + 48|0); - HEAP32[$pTerm>>2] = $63; + $61 = HEAP32[$i>>2]|0; + $62 = (($61) + 1)|0; + HEAP32[$i>>2] = $62; + $63 = HEAP32[$pTerm>>2]|0; + $64 = ((($63)) + 48|0); + HEAP32[$pTerm>>2] = $64; } HEAP32[$nOrderBy>>2] = 0; - $64 = HEAP32[$7>>2]|0; - $65 = ($64|0)!=(0|0); - if ($65) { - $66 = HEAP32[$7>>2]|0; - $67 = HEAP32[$66>>2]|0; - HEAP32[$n>>2] = $67; + $65 = HEAP32[$7>>2]|0; + $66 = ($65|0)!=(0|0); + if ($66) { + $67 = HEAP32[$7>>2]|0; + $68 = HEAP32[$67>>2]|0; + HEAP32[$n>>2] = $68; HEAP32[$i>>2] = 0; while(1) { - $68 = HEAP32[$i>>2]|0; - $69 = HEAP32[$n>>2]|0; - $70 = ($68|0)<($69|0); - if (!($70)) { + $69 = HEAP32[$i>>2]|0; + $70 = HEAP32[$n>>2]|0; + $71 = ($69|0)<($70|0); + if (!($71)) { break; } - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$7>>2]|0; - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($74) + (($71*20)|0)|0); - $76 = HEAP32[$75>>2]|0; - HEAP32[$pExpr>>2] = $76; - $77 = HEAP32[$pExpr>>2]|0; - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = ($79|0)!=(152); - if ($80) { + $72 = HEAP32[$i>>2]|0; + $73 = HEAP32[$7>>2]|0; + $74 = ((($73)) + 4|0); + $75 = HEAP32[$74>>2]|0; + $76 = (($75) + (($72*20)|0)|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$pExpr>>2] = $77; + $78 = HEAP32[$pExpr>>2]|0; + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = ($80|0)!=(152); + if ($81) { break; } - $81 = HEAP32[$pExpr>>2]|0; - $82 = ((($81)) + 28|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$6>>2]|0; - $85 = ((($84)) + 44|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($83|0)!=($86|0); - if ($87) { + $82 = HEAP32[$pExpr>>2]|0; + $83 = ((($82)) + 28|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$6>>2]|0; + $86 = ((($85)) + 44|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($84|0)!=($87|0); + if ($88) { break; } - $88 = HEAP32[$i>>2]|0; - $89 = (($88) + 1)|0; - HEAP32[$i>>2] = $89; + $89 = HEAP32[$i>>2]|0; + $90 = (($89) + 1)|0; + HEAP32[$i>>2] = $90; } - $90 = HEAP32[$i>>2]|0; - $91 = HEAP32[$n>>2]|0; - $92 = ($90|0)==($91|0); - if ($92) { - $93 = HEAP32[$n>>2]|0; - HEAP32[$nOrderBy>>2] = $93; + $91 = HEAP32[$i>>2]|0; + $92 = HEAP32[$n>>2]|0; + $93 = ($91|0)==($92|0); + if ($93) { + $94 = HEAP32[$n>>2]|0; + HEAP32[$nOrderBy>>2] = $94; } } - $94 = HEAP32[$3>>2]|0; - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$nTerm>>2]|0; - $97 = ($96*20)|0; - $98 = (72 + ($97))|0; - $99 = HEAP32[$nOrderBy>>2]|0; - $100 = $99<<3; - $101 = (($98) + ($100))|0; - $102 = (_sqlite3DbMallocZero($95,$101,0)|0); - HEAP32[$pIdxInfo>>2] = $102; - $103 = HEAP32[$pIdxInfo>>2]|0; - $104 = ($103|0)==(0|0); - if ($104) { - $105 = HEAP32[$3>>2]|0; - _sqlite3ErrorMsg($105,25632,$vararg_buffer); + $95 = HEAP32[$3>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$nTerm>>2]|0; + $98 = ($97*20)|0; + $99 = (72 + ($98))|0; + $100 = HEAP32[$nOrderBy>>2]|0; + $101 = $100<<3; + $102 = (($99) + ($101))|0; + $103 = (_sqlite3DbMallocZero($96,$102,0)|0); + HEAP32[$pIdxInfo>>2] = $103; + $104 = HEAP32[$pIdxInfo>>2]|0; + $105 = ($104|0)==(0|0); + if ($105) { + $106 = HEAP32[$3>>2]|0; + _sqlite3ErrorMsg($106,25016,$vararg_buffer); HEAP32[$2>>2] = 0; - $242 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($242|0); - } - $106 = HEAP32[$pIdxInfo>>2]|0; - $107 = ((($106)) + 72|0); - HEAP32[$pIdxCons>>2] = $107; - $108 = HEAP32[$nTerm>>2]|0; - $109 = HEAP32[$pIdxCons>>2]|0; - $110 = (($109) + (($108*12)|0)|0); - HEAP32[$pIdxOrderBy>>2] = $110; - $111 = HEAP32[$nOrderBy>>2]|0; - $112 = HEAP32[$pIdxOrderBy>>2]|0; - $113 = (($112) + ($111<<3)|0); - HEAP32[$pUsage>>2] = $113; - $114 = HEAP32[$nTerm>>2]|0; - $115 = HEAP32[$pIdxInfo>>2]|0; - HEAP32[$115>>2] = $114; - $116 = HEAP32[$nOrderBy>>2]|0; - $117 = HEAP32[$pIdxInfo>>2]|0; - $118 = ((($117)) + 8|0); - HEAP32[$118>>2] = $116; - $119 = HEAP32[$pIdxCons>>2]|0; - $120 = HEAP32[$pIdxInfo>>2]|0; - $121 = ((($120)) + 4|0); - HEAP32[$121>>2] = $119; - $122 = HEAP32[$pIdxOrderBy>>2]|0; - $123 = HEAP32[$pIdxInfo>>2]|0; - $124 = ((($123)) + 12|0); - HEAP32[$124>>2] = $122; - $125 = HEAP32[$pUsage>>2]|0; - $126 = HEAP32[$pIdxInfo>>2]|0; - $127 = ((($126)) + 16|0); - HEAP32[$127>>2] = $125; + $277 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($277|0); + } + $107 = HEAP32[$pIdxInfo>>2]|0; + $108 = ((($107)) + 72|0); + HEAP32[$pIdxCons>>2] = $108; + $109 = HEAP32[$nTerm>>2]|0; + $110 = HEAP32[$pIdxCons>>2]|0; + $111 = (($110) + (($109*12)|0)|0); + HEAP32[$pIdxOrderBy>>2] = $111; + $112 = HEAP32[$nOrderBy>>2]|0; + $113 = HEAP32[$pIdxOrderBy>>2]|0; + $114 = (($113) + ($112<<3)|0); + HEAP32[$pUsage>>2] = $114; + $115 = HEAP32[$nTerm>>2]|0; + $116 = HEAP32[$pIdxInfo>>2]|0; + HEAP32[$116>>2] = $115; + $117 = HEAP32[$nOrderBy>>2]|0; + $118 = HEAP32[$pIdxInfo>>2]|0; + $119 = ((($118)) + 8|0); + HEAP32[$119>>2] = $117; + $120 = HEAP32[$pIdxCons>>2]|0; + $121 = HEAP32[$pIdxInfo>>2]|0; + $122 = ((($121)) + 4|0); + HEAP32[$122>>2] = $120; + $123 = HEAP32[$pIdxOrderBy>>2]|0; + $124 = HEAP32[$pIdxInfo>>2]|0; + $125 = ((($124)) + 12|0); + HEAP32[$125>>2] = $123; + $126 = HEAP32[$pUsage>>2]|0; + $127 = HEAP32[$pIdxInfo>>2]|0; + $128 = ((($127)) + 16|0); + HEAP32[$128>>2] = $126; HEAP32[$j>>2] = 0; HEAP32[$i>>2] = 0; - $128 = HEAP32[$4>>2]|0; - $129 = ((($128)) + 20|0); - $130 = HEAP32[$129>>2]|0; - HEAP32[$pTerm>>2] = $130; + $129 = HEAP32[$4>>2]|0; + $130 = ((($129)) + 20|0); + $131 = HEAP32[$130>>2]|0; + HEAP32[$pTerm>>2] = $131; while(1) { - $131 = HEAP32[$i>>2]|0; - $132 = HEAP32[$4>>2]|0; - $133 = ((($132)) + 12|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($131|0)<($134|0); - if (!($135)) { + $132 = HEAP32[$i>>2]|0; + $133 = HEAP32[$4>>2]|0; + $134 = ((($133)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = ($132|0)<($135|0); + if (!($136)) { break; } - $136 = HEAP32[$pTerm>>2]|0; - $137 = ((($136)) + 8|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$6>>2]|0; - $140 = ((($139)) + 44|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($138|0)!=($141|0); - if (!($142)) { - $143 = HEAP32[$pTerm>>2]|0; - $144 = ((($143)) + 32|0); - $145 = $144; + $137 = HEAP32[$pTerm>>2]|0; + $138 = ((($137)) + 20|0); + $139 = HEAP32[$138>>2]|0; + $140 = HEAP32[$6>>2]|0; + $141 = ((($140)) + 44|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($139|0)!=($142|0); + if (!($143)) { + $144 = HEAP32[$pTerm>>2]|0; + $145 = ((($144)) + 32|0); $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = $5; - $152 = $151; - $153 = HEAP32[$152>>2]|0; - $154 = (($151) + 4)|0; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = $147 & $153; - $158 = $150 & $156; - $159 = ($157|0)!=(0); + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $5; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = $148 & $154; + $159 = $151 & $157; $160 = ($158|0)!=(0); - $161 = $159 | $160; - if (!($161)) { - $162 = HEAP32[$pTerm>>2]|0; - $163 = ((($162)) + 18|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = $165 & -2433; - $167 = ($166|0)==(0); - if (!($167)) { - $168 = HEAP32[$pTerm>>2]|0; - $169 = ((($168)) + 20|0); - $170 = HEAP16[$169>>1]|0; - $171 = $170&65535; - $172 = $171 & 0; - $173 = ($172|0)!=(0); - if (!($173)) { - $174 = HEAP32[$pTerm>>2]|0; - $175 = ((($174)) + 12|0); - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$j>>2]|0; - $178 = HEAP32[$pIdxCons>>2]|0; - $179 = (($178) + (($177*12)|0)|0); - HEAP32[$179>>2] = $176; - $180 = HEAP32[$i>>2]|0; - $181 = HEAP32[$j>>2]|0; - $182 = HEAP32[$pIdxCons>>2]|0; - $183 = (($182) + (($181*12)|0)|0); - $184 = ((($183)) + 8|0); - HEAP32[$184>>2] = $180; - $185 = HEAP32[$pTerm>>2]|0; - $186 = ((($185)) + 18|0); - $187 = HEAP16[$186>>1]|0; - $188 = $187&255; + $161 = ($159|0)!=(0); + $162 = $160 | $161; + if (!($162)) { + $163 = HEAP32[$pTerm>>2]|0; + $164 = ((($163)) + 12|0); + $165 = HEAP16[$164>>1]|0; + $166 = $165&65535; + $167 = $166 & -2433; + $168 = ($167|0)==(0); + if (!($168)) { + $169 = HEAP32[$pTerm>>2]|0; + $170 = ((($169)) + 10|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = $172 & 0; + $174 = ($173|0)!=(0); + if (!($174)) { + $175 = HEAP32[$pTerm>>2]|0; + $176 = ((($175)) + 28|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$j>>2]|0; + $179 = HEAP32[$pIdxCons>>2]|0; + $180 = (($179) + (($178*12)|0)|0); + HEAP32[$180>>2] = $177; + $181 = HEAP32[$i>>2]|0; + $182 = HEAP32[$j>>2]|0; + $183 = HEAP32[$pIdxCons>>2]|0; + $184 = (($183) + (($182*12)|0)|0); + $185 = ((($184)) + 8|0); + HEAP32[$185>>2] = $181; + $186 = HEAP32[$pTerm>>2]|0; + $187 = ((($186)) + 12|0); + $188 = HEAP16[$187>>1]|0; $189 = $188&255; - $190 = $189 & 8191; - $191 = $190&255; - HEAP8[$op>>0] = $191; - $192 = HEAP8[$op>>0]|0; - $193 = $192&255; - $194 = ($193|0)==(1); - $$ = $194 ? 2 : $191; + $190 = $189&255; + $191 = $190 & 8191; + $192 = $191&255; + HEAP8[$op>>0] = $192; + $193 = HEAP8[$op>>0]|0; + $194 = $193&255; + $195 = ($194|0)==(1); + $$ = $195 ? 2 : $192; HEAP8[$op>>0] = $$; - $195 = HEAP8[$op>>0]|0; - $196 = $195&255; - $197 = ($196|0)==(64); - if ($197) { - $198 = HEAP32[$pTerm>>2]|0; - $199 = ((($198)) + 23|0); - $200 = HEAP8[$199>>0]|0; - HEAP8[$op>>0] = $200; + $196 = HEAP8[$op>>0]|0; + $197 = $196&255; + $198 = ($197|0)==(64); + if ($198) { + $199 = HEAP32[$pTerm>>2]|0; + $200 = ((($199)) + 15|0); + $201 = HEAP8[$200>>0]|0; + HEAP8[$op>>0] = $201; } - $201 = HEAP8[$op>>0]|0; - $202 = HEAP32[$j>>2]|0; - $203 = HEAP32[$pIdxCons>>2]|0; - $204 = (($203) + (($202*12)|0)|0); - $205 = ((($204)) + 4|0); - HEAP8[$205>>0] = $201; - $206 = HEAP32[$j>>2]|0; - $207 = (($206) + 1)|0; - HEAP32[$j>>2] = $207; + $202 = HEAP8[$op>>0]|0; + $203 = HEAP32[$j>>2]|0; + $204 = HEAP32[$pIdxCons>>2]|0; + $205 = (($204) + (($203*12)|0)|0); + $206 = ((($205)) + 4|0); + HEAP8[$206>>0] = $202; + $207 = HEAP8[$op>>0]|0; + $208 = $207&255; + $209 = $208 & 60; + $210 = ($209|0)!=(0); + if ($210) { + $211 = HEAP32[$pTerm>>2]|0; + $212 = HEAP32[$211>>2]|0; + $213 = ((($212)) + 16|0); + $214 = HEAP32[$213>>2]|0; + $215 = (_sqlite3ExprIsVector($214)|0); + $216 = ($215|0)!=(0); + if ($216) { + $217 = HEAP32[$i>>2]|0; + $218 = ($217|0)<(16); + if ($218) { + $219 = HEAP32[$i>>2]|0; + $220 = 1 << $219; + $221 = HEAP16[$mNoOmit>>1]|0; + $222 = $221&65535; + $223 = $222 | $220; + $224 = $223&65535; + HEAP16[$mNoOmit>>1] = $224; + } + $225 = HEAP8[$op>>0]|0; + $226 = $225&255; + $227 = ($226|0)==(16); + if ($227) { + $228 = HEAP32[$j>>2]|0; + $229 = HEAP32[$pIdxCons>>2]|0; + $230 = (($229) + (($228*12)|0)|0); + $231 = ((($230)) + 4|0); + HEAP8[$231>>0] = 8; + } + $232 = HEAP8[$op>>0]|0; + $233 = $232&255; + $234 = ($233|0)==(4); + if ($234) { + $235 = HEAP32[$j>>2]|0; + $236 = HEAP32[$pIdxCons>>2]|0; + $237 = (($236) + (($235*12)|0)|0); + $238 = ((($237)) + 4|0); + HEAP8[$238>>0] = 32; + } + } + } + $239 = HEAP32[$j>>2]|0; + $240 = (($239) + 1)|0; + HEAP32[$j>>2] = $240; } } } } - $208 = HEAP32[$i>>2]|0; - $209 = (($208) + 1)|0; - HEAP32[$i>>2] = $209; - $210 = HEAP32[$pTerm>>2]|0; - $211 = ((($210)) + 48|0); - HEAP32[$pTerm>>2] = $211; + $241 = HEAP32[$i>>2]|0; + $242 = (($241) + 1)|0; + HEAP32[$i>>2] = $242; + $243 = HEAP32[$pTerm>>2]|0; + $244 = ((($243)) + 48|0); + HEAP32[$pTerm>>2] = $244; } HEAP32[$i>>2] = 0; while(1) { - $212 = HEAP32[$i>>2]|0; - $213 = HEAP32[$nOrderBy>>2]|0; - $214 = ($212|0)<($213|0); - if (!($214)) { + $245 = HEAP32[$i>>2]|0; + $246 = HEAP32[$nOrderBy>>2]|0; + $247 = ($245|0)<($246|0); + if (!($247)) { break; } - $215 = HEAP32[$i>>2]|0; - $216 = HEAP32[$7>>2]|0; - $217 = ((($216)) + 4|0); - $218 = HEAP32[$217>>2]|0; - $219 = (($218) + (($215*20)|0)|0); - $220 = HEAP32[$219>>2]|0; - HEAP32[$pExpr1>>2] = $220; - $221 = HEAP32[$pExpr1>>2]|0; - $222 = ((($221)) + 32|0); - $223 = HEAP16[$222>>1]|0; - $224 = $223 << 16 >> 16; - $225 = HEAP32[$i>>2]|0; - $226 = HEAP32[$pIdxOrderBy>>2]|0; - $227 = (($226) + ($225<<3)|0); - HEAP32[$227>>2] = $224; - $228 = HEAP32[$i>>2]|0; - $229 = HEAP32[$7>>2]|0; - $230 = ((($229)) + 4|0); - $231 = HEAP32[$230>>2]|0; - $232 = (($231) + (($228*20)|0)|0); - $233 = ((($232)) + 12|0); - $234 = HEAP8[$233>>0]|0; - $235 = HEAP32[$i>>2]|0; - $236 = HEAP32[$pIdxOrderBy>>2]|0; - $237 = (($236) + ($235<<3)|0); - $238 = ((($237)) + 4|0); - HEAP8[$238>>0] = $234; - $239 = HEAP32[$i>>2]|0; - $240 = (($239) + 1)|0; - HEAP32[$i>>2] = $240; - } - $241 = HEAP32[$pIdxInfo>>2]|0; - HEAP32[$2>>2] = $241; - $242 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($242|0); + $248 = HEAP32[$i>>2]|0; + $249 = HEAP32[$7>>2]|0; + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; + $252 = (($251) + (($248*20)|0)|0); + $253 = HEAP32[$252>>2]|0; + HEAP32[$pExpr1>>2] = $253; + $254 = HEAP32[$pExpr1>>2]|0; + $255 = ((($254)) + 32|0); + $256 = HEAP16[$255>>1]|0; + $257 = $256 << 16 >> 16; + $258 = HEAP32[$i>>2]|0; + $259 = HEAP32[$pIdxOrderBy>>2]|0; + $260 = (($259) + ($258<<3)|0); + HEAP32[$260>>2] = $257; + $261 = HEAP32[$i>>2]|0; + $262 = HEAP32[$7>>2]|0; + $263 = ((($262)) + 4|0); + $264 = HEAP32[$263>>2]|0; + $265 = (($264) + (($261*20)|0)|0); + $266 = ((($265)) + 12|0); + $267 = HEAP8[$266>>0]|0; + $268 = HEAP32[$i>>2]|0; + $269 = HEAP32[$pIdxOrderBy>>2]|0; + $270 = (($269) + ($268<<3)|0); + $271 = ((($270)) + 4|0); + HEAP8[$271>>0] = $267; + $272 = HEAP32[$i>>2]|0; + $273 = (($272) + 1)|0; + HEAP32[$i>>2] = $273; + } + $274 = HEAP16[$mNoOmit>>1]|0; + $275 = HEAP32[$8>>2]|0; + HEAP16[$275>>1] = $274; + $276 = HEAP32[$pIdxInfo>>2]|0; + HEAP32[$2>>2] = $276; + $277 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($277|0); } -function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$pbIn) { +function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$mNoOmit,$pbIn) { $pBuilder = $pBuilder|0; $0 = $0|0; $1 = $1|0; @@ -184871,6 +188895,7 @@ function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$pbIn $3 = $3|0; $mExclude = $mExclude|0; $pIdxInfo = $pIdxInfo|0; + $mNoOmit = $mNoOmit|0; $pbIn = $pbIn|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; @@ -184884,13 +188909,14 @@ function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$pbIn var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; - var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0.0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0.0, $333 = 0, $334 = 0, $335 = 0; var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0; - var $iTerm = 0, $j = 0, $mxTerm = 0, $nConstraint = 0, $or$cond = 0, $pIdxCons = 0, $pNew = 0, $pParse = 0, $pSrc = 0, $pTerm = 0, $pTerm1 = 0, $pUsage = 0, $pWC = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; + var $372 = 0, $373 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iTerm = 0, $j = 0, $mxTerm = 0, $nConstraint = 0, $or$cond = 0, $pIdxCons = 0, $pNew = 0, $pParse = 0, $pSrc = 0; + var $pTerm = 0, $pTerm1 = 0, $pUsage = 0, $pWC = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer = sp + 16|0; @@ -184898,9 +188924,10 @@ function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$pbIn $5 = sp + 84|0; $6 = sp + 8|0; $7 = sp; - $8 = sp + 92|0; + $8 = sp + 94|0; $9 = sp + 80|0; - $10 = sp + 76|0; + $10 = sp + 92|0; + $11 = sp + 76|0; $pWC = sp + 72|0; $pIdxCons = sp + 68|0; $pUsage = sp + 64|0; @@ -184916,497 +188943,509 @@ function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$pbIn $pTerm1 = sp + 24|0; $j = sp + 20|0; HEAP32[$5>>2] = $pBuilder; - $11 = $6; - $12 = $11; - HEAP32[$12>>2] = $0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = $1; - $15 = $7; - $16 = $15; - HEAP32[$16>>2] = $2; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $3; + $12 = $6; + $13 = $12; + HEAP32[$13>>2] = $0; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $1; + $16 = $7; + $17 = $16; + HEAP32[$17>>2] = $2; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = $3; HEAP16[$8>>1] = $mExclude; HEAP32[$9>>2] = $pIdxInfo; - HEAP32[$10>>2] = $pbIn; - $19 = HEAP32[$5>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pWC>>2] = $21; - $22 = HEAP32[$9>>2]|0; - $23 = ((($22)) + 16|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pUsage>>2] = $24; + HEAP16[$10>>1] = $mNoOmit; + HEAP32[$11>>2] = $pbIn; + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$pWC>>2] = $22; + $23 = HEAP32[$9>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$pUsage>>2] = $25; HEAP32[$rc>>2] = 0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pNew>>2] = $27; - $28 = HEAP32[$5>>2]|0; - $29 = HEAP32[$28>>2]|0; + $26 = HEAP32[$5>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$pNew>>2] = $28; + $29 = HEAP32[$5>>2]|0; $30 = HEAP32[$29>>2]|0; - HEAP32[$pParse>>2] = $30; - $31 = HEAP32[$pNew>>2]|0; - $32 = ((($31)) + 16|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = HEAP32[$5>>2]|0; - $36 = HEAP32[$35>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($38)) + 8|0); - $40 = (($39) + (($34*72)|0)|0); - HEAP32[$pSrc>>2] = $40; - $41 = HEAP32[$9>>2]|0; - $42 = HEAP32[$41>>2]|0; - HEAP32[$nConstraint>>2] = $42; - $43 = HEAP32[$10>>2]|0; - HEAP32[$43>>2] = 0; - $44 = $6; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = HEAP32[$pNew>>2]|0; - $51 = $50; + $31 = HEAP32[$30>>2]|0; + HEAP32[$pParse>>2] = $31; + $32 = HEAP32[$pNew>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = HEAP32[$5>>2]|0; + $37 = HEAP32[$36>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = ((($39)) + 8|0); + $41 = (($40) + (($35*72)|0)|0); + HEAP32[$pSrc>>2] = $41; + $42 = HEAP32[$9>>2]|0; + $43 = HEAP32[$42>>2]|0; + HEAP32[$nConstraint>>2] = $43; + $44 = HEAP32[$11>>2]|0; + HEAP32[$44>>2] = 0; + $45 = $6; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = (($45) + 4)|0; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$pNew>>2]|0; $52 = $51; - HEAP32[$52>>2] = $46; - $53 = (($51) + 4)|0; - $54 = $53; - HEAP32[$54>>2] = $49; - $55 = HEAP32[$9>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - HEAP32[$pIdxCons>>2] = $57; + $53 = $52; + HEAP32[$53>>2] = $47; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $50; + $56 = HEAP32[$9>>2]|0; + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$pIdxCons>>2] = $58; HEAP32[$i>>2] = 0; while(1) { - $58 = HEAP32[$i>>2]|0; - $59 = HEAP32[$nConstraint>>2]|0; - $60 = ($58|0)<($59|0); - if (!($60)) { + $59 = HEAP32[$i>>2]|0; + $60 = HEAP32[$nConstraint>>2]|0; + $61 = ($59|0)<($60|0); + if (!($61)) { break; } - $61 = HEAP32[$pIdxCons>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = HEAP32[$pWC>>2]|0; - $65 = ((($64)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = (($66) + (($63*48)|0)|0); - HEAP32[$pTerm>>2] = $67; - $68 = HEAP32[$pIdxCons>>2]|0; - $69 = ((($68)) + 5|0); - HEAP8[$69>>0] = 0; - $70 = HEAP32[$pTerm>>2]|0; - $71 = ((($70)) + 32|0); - $72 = $71; + $62 = HEAP32[$pIdxCons>>2]|0; + $63 = ((($62)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP32[$pWC>>2]|0; + $66 = ((($65)) + 20|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + (($64*48)|0)|0); + HEAP32[$pTerm>>2] = $68; + $69 = HEAP32[$pIdxCons>>2]|0; + $70 = ((($69)) + 5|0); + HEAP8[$70>>0] = 0; + $71 = HEAP32[$pTerm>>2]|0; + $72 = ((($71)) + 32|0); $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = $7; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = $74 & $80; - $85 = $77 & $83; - $86 = HEAP32[$pTerm>>2]|0; - $87 = ((($86)) + 32|0); - $88 = $87; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $7; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (($79) + 4)|0; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = $75 & $81; + $86 = $78 & $84; + $87 = HEAP32[$pTerm>>2]|0; + $88 = ((($87)) + 32|0); $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = ($84|0)==($90|0); - $95 = ($85|0)==($93|0); - $96 = $94 & $95; - if ($96) { - $97 = HEAP32[$pTerm>>2]|0; - $98 = ((($97)) + 18|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99&65535; - $101 = HEAP16[$8>>1]|0; - $102 = $101&65535; - $103 = $100 & $102; - $104 = ($103|0)==(0); - if ($104) { - $105 = HEAP32[$pIdxCons>>2]|0; - $106 = ((($105)) + 5|0); - HEAP8[$106>>0] = 1; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = ($85|0)==($91|0); + $96 = ($86|0)==($94|0); + $97 = $95 & $96; + if ($97) { + $98 = HEAP32[$pTerm>>2]|0; + $99 = ((($98)) + 12|0); + $100 = HEAP16[$99>>1]|0; + $101 = $100&65535; + $102 = HEAP16[$8>>1]|0; + $103 = $102&65535; + $104 = $101 & $103; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$pIdxCons>>2]|0; + $107 = ((($106)) + 5|0); + HEAP8[$107>>0] = 1; } } - $107 = HEAP32[$i>>2]|0; - $108 = (($107) + 1)|0; - HEAP32[$i>>2] = $108; - $109 = HEAP32[$pIdxCons>>2]|0; - $110 = ((($109)) + 12|0); - HEAP32[$pIdxCons>>2] = $110; - } - $111 = HEAP32[$pUsage>>2]|0; - $112 = HEAP32[$nConstraint>>2]|0; - $113 = $112<<3; - _memset(($111|0),0,($113|0))|0; - $114 = HEAP32[$9>>2]|0; - $115 = ((($114)) + 24|0); - HEAP32[$115>>2] = 0; - $116 = HEAP32[$9>>2]|0; - $117 = ((($116)) + 20|0); - HEAP32[$117>>2] = 0; - $118 = HEAP32[$9>>2]|0; - $119 = ((($118)) + 32|0); - HEAP32[$119>>2] = 0; - $120 = HEAP32[$9>>2]|0; - $121 = ((($120)) + 40|0); - HEAPF64[$121>>3] = 4.9999999999999998E+98; - $122 = HEAP32[$9>>2]|0; - $123 = ((($122)) + 48|0); - $124 = $123; + $108 = HEAP32[$i>>2]|0; + $109 = (($108) + 1)|0; + HEAP32[$i>>2] = $109; + $110 = HEAP32[$pIdxCons>>2]|0; + $111 = ((($110)) + 12|0); + HEAP32[$pIdxCons>>2] = $111; + } + $112 = HEAP32[$pUsage>>2]|0; + $113 = HEAP32[$nConstraint>>2]|0; + $114 = $113<<3; + _memset(($112|0),0,($114|0))|0; + $115 = HEAP32[$9>>2]|0; + $116 = ((($115)) + 24|0); + HEAP32[$116>>2] = 0; + $117 = HEAP32[$9>>2]|0; + $118 = ((($117)) + 20|0); + HEAP32[$118>>2] = 0; + $119 = HEAP32[$9>>2]|0; + $120 = ((($119)) + 32|0); + HEAP32[$120>>2] = 0; + $121 = HEAP32[$9>>2]|0; + $122 = ((($121)) + 40|0); + HEAPF64[$122>>3] = 4.9999999999999998E+98; + $123 = HEAP32[$9>>2]|0; + $124 = ((($123)) + 48|0); $125 = $124; - HEAP32[$125>>2] = 25; - $126 = (($124) + 4)|0; - $127 = $126; - HEAP32[$127>>2] = 0; - $128 = HEAP32[$9>>2]|0; - $129 = ((($128)) + 56|0); - HEAP32[$129>>2] = 0; - $130 = HEAP32[$pSrc>>2]|0; - $131 = ((($130)) + 56|0); - $132 = $131; + $126 = $125; + HEAP32[$126>>2] = 25; + $127 = (($125) + 4)|0; + $128 = $127; + HEAP32[$128>>2] = 0; + $129 = HEAP32[$9>>2]|0; + $130 = ((($129)) + 56|0); + HEAP32[$130>>2] = 0; + $131 = HEAP32[$pSrc>>2]|0; + $132 = ((($131)) + 56|0); $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = HEAP32[$9>>2]|0; - $139 = ((($138)) + 64|0); - $140 = $139; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$9>>2]|0; + $140 = ((($139)) + 64|0); $141 = $140; - HEAP32[$141>>2] = $134; - $142 = (($140) + 4)|0; - $143 = $142; - HEAP32[$143>>2] = $137; - $144 = HEAP32[$pParse>>2]|0; - $145 = HEAP32[$pSrc>>2]|0; - $146 = ((($145)) + 16|0); - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$9>>2]|0; - $149 = (_vtabBestIndex($144,$147,$148)|0); - HEAP32[$rc>>2] = $149; - $150 = HEAP32[$rc>>2]|0; - $151 = ($150|0)!=(0); - if ($151) { - $152 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $152; - $362 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($362|0); + $142 = $141; + HEAP32[$142>>2] = $135; + $143 = (($141) + 4)|0; + $144 = $143; + HEAP32[$144>>2] = $138; + $145 = HEAP32[$pParse>>2]|0; + $146 = HEAP32[$pSrc>>2]|0; + $147 = ((($146)) + 16|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$9>>2]|0; + $150 = (_vtabBestIndex($145,$148,$149)|0); + HEAP32[$rc>>2] = $150; + $151 = HEAP32[$rc>>2]|0; + $152 = ($151|0)!=(0); + if ($152) { + $153 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $153; + $373 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($373|0); } HEAP32[$mxTerm>>2] = -1; HEAP32[$i>>2] = 0; while(1) { - $153 = HEAP32[$i>>2]|0; - $154 = HEAP32[$nConstraint>>2]|0; - $155 = ($153|0)<($154|0); - if (!($155)) { + $154 = HEAP32[$i>>2]|0; + $155 = HEAP32[$nConstraint>>2]|0; + $156 = ($154|0)<($155|0); + if (!($156)) { break; } - $156 = HEAP32[$i>>2]|0; - $157 = HEAP32[$pNew>>2]|0; - $158 = ((($157)) + 48|0); - $159 = HEAP32[$158>>2]|0; - $160 = (($159) + ($156<<2)|0); - HEAP32[$160>>2] = 0; - $161 = HEAP32[$i>>2]|0; - $162 = (($161) + 1)|0; - HEAP32[$i>>2] = $162; - } - $163 = HEAP32[$pNew>>2]|0; - $164 = ((($163)) + 24|0); - $165 = ((($164)) + 6|0); - HEAP16[$165>>1] = 0; - $166 = HEAP32[$9>>2]|0; - $167 = ((($166)) + 4|0); - $168 = HEAP32[$167>>2]|0; - HEAP32[$pIdxCons>>2] = $168; + $157 = HEAP32[$i>>2]|0; + $158 = HEAP32[$pNew>>2]|0; + $159 = ((($158)) + 48|0); + $160 = HEAP32[$159>>2]|0; + $161 = (($160) + ($157<<2)|0); + HEAP32[$161>>2] = 0; + $162 = HEAP32[$i>>2]|0; + $163 = (($162) + 1)|0; + HEAP32[$i>>2] = $163; + } + $164 = HEAP32[$pNew>>2]|0; + $165 = ((($164)) + 24|0); + $166 = ((($165)) + 6|0); + HEAP16[$166>>1] = 0; + $167 = HEAP32[$9>>2]|0; + $168 = ((($167)) + 4|0); + $169 = HEAP32[$168>>2]|0; + HEAP32[$pIdxCons>>2] = $169; HEAP32[$i>>2] = 0; while(1) { - $169 = HEAP32[$i>>2]|0; - $170 = HEAP32[$nConstraint>>2]|0; - $171 = ($169|0)<($170|0); - if (!($171)) { + $170 = HEAP32[$i>>2]|0; + $171 = HEAP32[$nConstraint>>2]|0; + $172 = ($170|0)<($171|0); + if (!($172)) { break; } - $172 = HEAP32[$i>>2]|0; - $173 = HEAP32[$pUsage>>2]|0; - $174 = (($173) + ($172<<3)|0); - $175 = HEAP32[$174>>2]|0; - $176 = (($175) - 1)|0; - HEAP32[$iTerm>>2] = $176; - $177 = ($176|0)>=(0); - if ($177) { - $178 = HEAP32[$pIdxCons>>2]|0; - $179 = ((($178)) + 8|0); - $180 = HEAP32[$179>>2]|0; - HEAP32[$j>>2] = $180; - $181 = HEAP32[$iTerm>>2]|0; - $182 = HEAP32[$nConstraint>>2]|0; - $183 = ($181|0)>=($182|0); - $184 = HEAP32[$j>>2]|0; - $185 = ($184|0)<(0); - $or$cond = $183 | $185; + $173 = HEAP32[$i>>2]|0; + $174 = HEAP32[$pUsage>>2]|0; + $175 = (($174) + ($173<<3)|0); + $176 = HEAP32[$175>>2]|0; + $177 = (($176) - 1)|0; + HEAP32[$iTerm>>2] = $177; + $178 = ($177|0)>=(0); + if ($178) { + $179 = HEAP32[$pIdxCons>>2]|0; + $180 = ((($179)) + 8|0); + $181 = HEAP32[$180>>2]|0; + HEAP32[$j>>2] = $181; + $182 = HEAP32[$iTerm>>2]|0; + $183 = HEAP32[$nConstraint>>2]|0; + $184 = ($182|0)>=($183|0); + $185 = HEAP32[$j>>2]|0; + $186 = ($185|0)<(0); + $or$cond = $184 | $186; if ($or$cond) { label = 19; break; } - $186 = HEAP32[$j>>2]|0; - $187 = HEAP32[$pWC>>2]|0; - $188 = ((($187)) + 12|0); - $189 = HEAP32[$188>>2]|0; - $190 = ($186|0)>=($189|0); - if ($190) { + $187 = HEAP32[$j>>2]|0; + $188 = HEAP32[$pWC>>2]|0; + $189 = ((($188)) + 12|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($187|0)>=($190|0); + if ($191) { label = 19; break; } - $191 = HEAP32[$iTerm>>2]|0; - $192 = HEAP32[$pNew>>2]|0; - $193 = ((($192)) + 48|0); - $194 = HEAP32[$193>>2]|0; - $195 = (($194) + ($191<<2)|0); - $196 = HEAP32[$195>>2]|0; - $197 = ($196|0)!=(0|0); - if ($197) { + $192 = HEAP32[$iTerm>>2]|0; + $193 = HEAP32[$pNew>>2]|0; + $194 = ((($193)) + 48|0); + $195 = HEAP32[$194>>2]|0; + $196 = (($195) + ($192<<2)|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)!=(0|0); + if ($198) { label = 19; break; } - $198 = HEAP32[$pIdxCons>>2]|0; - $199 = ((($198)) + 5|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200&255; - $202 = ($201|0)==(0); - if ($202) { + $199 = HEAP32[$pIdxCons>>2]|0; + $200 = ((($199)) + 5|0); + $201 = HEAP8[$200>>0]|0; + $202 = $201&255; + $203 = ($202|0)==(0); + if ($203) { label = 19; break; } - $209 = HEAP32[$j>>2]|0; - $210 = HEAP32[$pWC>>2]|0; - $211 = ((($210)) + 20|0); - $212 = HEAP32[$211>>2]|0; - $213 = (($212) + (($209*48)|0)|0); - HEAP32[$pTerm1>>2] = $213; - $214 = HEAP32[$pTerm1>>2]|0; - $215 = ((($214)) + 32|0); - $216 = $215; + $210 = HEAP32[$j>>2]|0; + $211 = HEAP32[$pWC>>2]|0; + $212 = ((($211)) + 20|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($213) + (($210*48)|0)|0); + HEAP32[$pTerm1>>2] = $214; + $215 = HEAP32[$pTerm1>>2]|0; + $216 = ((($215)) + 32|0); $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = (($216) + 4)|0; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = HEAP32[$pNew>>2]|0; - $223 = $222; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = (($217) + 4)|0; + $221 = $220; + $222 = HEAP32[$221>>2]|0; + $223 = HEAP32[$pNew>>2]|0; $224 = $223; - $225 = HEAP32[$224>>2]|0; - $226 = (($223) + 4)|0; - $227 = $226; - $228 = HEAP32[$227>>2]|0; - $229 = $225 | $218; - $230 = $228 | $221; - $231 = $222; - $232 = $231; - HEAP32[$232>>2] = $229; - $233 = (($231) + 4)|0; - $234 = $233; - HEAP32[$234>>2] = $230; - $235 = HEAP32[$pTerm1>>2]|0; - $236 = HEAP32[$iTerm>>2]|0; - $237 = HEAP32[$pNew>>2]|0; - $238 = ((($237)) + 48|0); - $239 = HEAP32[$238>>2]|0; - $240 = (($239) + ($236<<2)|0); - HEAP32[$240>>2] = $235; - $241 = HEAP32[$iTerm>>2]|0; - $242 = HEAP32[$mxTerm>>2]|0; - $243 = ($241|0)>($242|0); - if ($243) { - $244 = HEAP32[$iTerm>>2]|0; - HEAP32[$mxTerm>>2] = $244; - } - $245 = HEAP32[$iTerm>>2]|0; - $246 = ($245|0)<(16); - if ($246) { - $247 = HEAP32[$i>>2]|0; - $248 = HEAP32[$pUsage>>2]|0; - $249 = (($248) + ($247<<3)|0); - $250 = ((($249)) + 4|0); - $251 = HEAP8[$250>>0]|0; - $252 = $251&255; - $253 = ($252|0)!=(0); - if ($253) { - $254 = HEAP32[$iTerm>>2]|0; - $255 = 1 << $254; - $256 = HEAP32[$pNew>>2]|0; - $257 = ((($256)) + 24|0); - $258 = ((($257)) + 6|0); - $259 = HEAP16[$258>>1]|0; - $260 = $259&65535; - $261 = $260 | $255; - $262 = $261&65535; - HEAP16[$258>>1] = $262; - } - } - $263 = HEAP32[$pTerm1>>2]|0; - $264 = ((($263)) + 18|0); - $265 = HEAP16[$264>>1]|0; - $266 = $265&65535; - $267 = $266 & 1; - $268 = ($267|0)!=(0); - if ($268) { - $269 = HEAP32[$9>>2]|0; - $270 = ((($269)) + 32|0); - HEAP32[$270>>2] = 0; - $271 = HEAP32[$9>>2]|0; - $272 = ((($271)) + 56|0); - $273 = HEAP32[$272>>2]|0; - $274 = $273 & -2; - HEAP32[$272>>2] = $274; - $275 = HEAP32[$10>>2]|0; - HEAP32[$275>>2] = 1; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = $226 | $219; + $231 = $229 | $222; + $232 = $223; + $233 = $232; + HEAP32[$233>>2] = $230; + $234 = (($232) + 4)|0; + $235 = $234; + HEAP32[$235>>2] = $231; + $236 = HEAP32[$pTerm1>>2]|0; + $237 = HEAP32[$iTerm>>2]|0; + $238 = HEAP32[$pNew>>2]|0; + $239 = ((($238)) + 48|0); + $240 = HEAP32[$239>>2]|0; + $241 = (($240) + ($237<<2)|0); + HEAP32[$241>>2] = $236; + $242 = HEAP32[$iTerm>>2]|0; + $243 = HEAP32[$mxTerm>>2]|0; + $244 = ($242|0)>($243|0); + if ($244) { + $245 = HEAP32[$iTerm>>2]|0; + HEAP32[$mxTerm>>2] = $245; + } + $246 = HEAP32[$iTerm>>2]|0; + $247 = ($246|0)<(16); + if ($247) { + $248 = HEAP32[$i>>2]|0; + $249 = HEAP32[$pUsage>>2]|0; + $250 = (($249) + ($248<<3)|0); + $251 = ((($250)) + 4|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = ($253|0)!=(0); + if ($254) { + $255 = HEAP32[$iTerm>>2]|0; + $256 = 1 << $255; + $257 = HEAP32[$pNew>>2]|0; + $258 = ((($257)) + 24|0); + $259 = ((($258)) + 6|0); + $260 = HEAP16[$259>>1]|0; + $261 = $260&65535; + $262 = $261 | $256; + $263 = $262&65535; + HEAP16[$259>>1] = $263; + } + } + $264 = HEAP32[$pTerm1>>2]|0; + $265 = ((($264)) + 12|0); + $266 = HEAP16[$265>>1]|0; + $267 = $266&65535; + $268 = $267 & 1; + $269 = ($268|0)!=(0); + if ($269) { + $270 = HEAP32[$9>>2]|0; + $271 = ((($270)) + 32|0); + HEAP32[$271>>2] = 0; + $272 = HEAP32[$9>>2]|0; + $273 = ((($272)) + 56|0); + $274 = HEAP32[$273>>2]|0; + $275 = $274 & -2; + HEAP32[$273>>2] = $275; + $276 = HEAP32[$11>>2]|0; + HEAP32[$276>>2] = 1; } } - $276 = HEAP32[$i>>2]|0; - $277 = (($276) + 1)|0; - HEAP32[$i>>2] = $277; - $278 = HEAP32[$pIdxCons>>2]|0; - $279 = ((($278)) + 12|0); - HEAP32[$pIdxCons>>2] = $279; + $277 = HEAP32[$i>>2]|0; + $278 = (($277) + 1)|0; + HEAP32[$i>>2] = $278; + $279 = HEAP32[$pIdxCons>>2]|0; + $280 = ((($279)) + 12|0); + HEAP32[$pIdxCons>>2] = $280; } if ((label|0) == 19) { HEAP32[$rc>>2] = 1; - $203 = HEAP32[$pParse>>2]|0; - $204 = HEAP32[$pSrc>>2]|0; - $205 = ((($204)) + 16|0); - $206 = HEAP32[$205>>2]|0; + $204 = HEAP32[$pParse>>2]|0; + $205 = HEAP32[$pSrc>>2]|0; + $206 = ((($205)) + 16|0); $207 = HEAP32[$206>>2]|0; - HEAP32[$vararg_buffer>>2] = $207; - _sqlite3ErrorMsg($203,35323,$vararg_buffer); - $208 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $208; - $362 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($362|0); - } - $280 = HEAP32[$mxTerm>>2]|0; - $281 = (($280) + 1)|0; + $208 = HEAP32[$207>>2]|0; + HEAP32[$vararg_buffer>>2] = $208; + _sqlite3ErrorMsg($204,34806,$vararg_buffer); + $209 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $209; + $373 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($373|0); + } + $281 = HEAP16[$10>>1]|0; $282 = $281&65535; - $283 = HEAP32[$pNew>>2]|0; - $284 = ((($283)) + 40|0); - HEAP16[$284>>1] = $282; - $285 = HEAP32[$9>>2]|0; - $286 = ((($285)) + 20|0); - $287 = HEAP32[$286>>2]|0; - $288 = HEAP32[$pNew>>2]|0; - $289 = ((($288)) + 24|0); - HEAP32[$289>>2] = $287; - $290 = HEAP32[$9>>2]|0; - $291 = ((($290)) + 28|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292&255; + $283 = $282 ^ -1; + $284 = HEAP32[$pNew>>2]|0; + $285 = ((($284)) + 24|0); + $286 = ((($285)) + 6|0); + $287 = HEAP16[$286>>1]|0; + $288 = $287&65535; + $289 = $288 & $283; + $290 = $289&65535; + HEAP16[$286>>1] = $290; + $291 = HEAP32[$mxTerm>>2]|0; + $292 = (($291) + 1)|0; + $293 = $292&65535; $294 = HEAP32[$pNew>>2]|0; - $295 = ((($294)) + 24|0); - $296 = ((($295)) + 4|0); - HEAP8[$296>>0] = $293; - $297 = HEAP32[$9>>2]|0; - $298 = ((($297)) + 28|0); - HEAP32[$298>>2] = 0; - $299 = HEAP32[$9>>2]|0; + $295 = ((($294)) + 40|0); + HEAP16[$295>>1] = $293; + $296 = HEAP32[$9>>2]|0; + $297 = ((($296)) + 20|0); + $298 = HEAP32[$297>>2]|0; + $299 = HEAP32[$pNew>>2]|0; $300 = ((($299)) + 24|0); - $301 = HEAP32[$300>>2]|0; - $302 = HEAP32[$pNew>>2]|0; - $303 = ((($302)) + 24|0); - $304 = ((($303)) + 8|0); - HEAP32[$304>>2] = $301; - $305 = HEAP32[$9>>2]|0; - $306 = ((($305)) + 32|0); - $307 = HEAP32[$306>>2]|0; - $308 = ($307|0)!=(0); - if ($308) { - $309 = HEAP32[$9>>2]|0; - $310 = ((($309)) + 8|0); - $311 = HEAP32[$310>>2]|0; - $313 = $311; + HEAP32[$300>>2] = $298; + $301 = HEAP32[$9>>2]|0; + $302 = ((($301)) + 28|0); + $303 = HEAP32[$302>>2]|0; + $304 = $303&255; + $305 = HEAP32[$pNew>>2]|0; + $306 = ((($305)) + 24|0); + $307 = ((($306)) + 4|0); + HEAP8[$307>>0] = $304; + $308 = HEAP32[$9>>2]|0; + $309 = ((($308)) + 28|0); + HEAP32[$309>>2] = 0; + $310 = HEAP32[$9>>2]|0; + $311 = ((($310)) + 24|0); + $312 = HEAP32[$311>>2]|0; + $313 = HEAP32[$pNew>>2]|0; + $314 = ((($313)) + 24|0); + $315 = ((($314)) + 8|0); + HEAP32[$315>>2] = $312; + $316 = HEAP32[$9>>2]|0; + $317 = ((($316)) + 32|0); + $318 = HEAP32[$317>>2]|0; + $319 = ($318|0)!=(0); + if ($319) { + $320 = HEAP32[$9>>2]|0; + $321 = ((($320)) + 8|0); + $322 = HEAP32[$321>>2]|0; + $324 = $322; } else { - $313 = 0; - } - $312 = $313&255; - $314 = HEAP32[$pNew>>2]|0; - $315 = ((($314)) + 24|0); - $316 = ((($315)) + 5|0); - HEAP8[$316>>0] = $312; - $317 = HEAP32[$pNew>>2]|0; - $318 = ((($317)) + 18|0); - HEAP16[$318>>1] = 0; - $319 = HEAP32[$9>>2]|0; - $320 = ((($319)) + 40|0); - $321 = +HEAPF64[$320>>3]; - $322 = (_sqlite3LogEstFromDouble($321)|0); - $323 = HEAP32[$pNew>>2]|0; - $324 = ((($323)) + 20|0); - HEAP16[$324>>1] = $322; - $325 = HEAP32[$9>>2]|0; - $326 = ((($325)) + 48|0); - $327 = $326; - $328 = $327; - $329 = HEAP32[$328>>2]|0; - $330 = (($327) + 4)|0; - $331 = $330; - $332 = HEAP32[$331>>2]|0; - $333 = (_sqlite3LogEst($329,$332)|0); + $324 = 0; + } + $323 = $324&255; + $325 = HEAP32[$pNew>>2]|0; + $326 = ((($325)) + 24|0); + $327 = ((($326)) + 5|0); + HEAP8[$327>>0] = $323; + $328 = HEAP32[$pNew>>2]|0; + $329 = ((($328)) + 18|0); + HEAP16[$329>>1] = 0; + $330 = HEAP32[$9>>2]|0; + $331 = ((($330)) + 40|0); + $332 = +HEAPF64[$331>>3]; + $333 = (_sqlite3LogEstFromDouble($332)|0); $334 = HEAP32[$pNew>>2]|0; - $335 = ((($334)) + 22|0); + $335 = ((($334)) + 20|0); HEAP16[$335>>1] = $333; $336 = HEAP32[$9>>2]|0; - $337 = ((($336)) + 56|0); - $338 = HEAP32[$337>>2]|0; - $339 = $338 & 1; - $340 = ($339|0)!=(0); - $341 = HEAP32[$pNew>>2]|0; - $342 = ((($341)) + 36|0); + $337 = ((($336)) + 48|0); + $338 = $337; + $339 = $338; + $340 = HEAP32[$339>>2]|0; + $341 = (($338) + 4)|0; + $342 = $341; $343 = HEAP32[$342>>2]|0; - if ($340) { - $344 = $343 | 4096; - HEAP32[$342>>2] = $344; + $344 = (_sqlite3LogEst($340,$343)|0); + $345 = HEAP32[$pNew>>2]|0; + $346 = ((($345)) + 22|0); + HEAP16[$346>>1] = $344; + $347 = HEAP32[$9>>2]|0; + $348 = ((($347)) + 56|0); + $349 = HEAP32[$348>>2]|0; + $350 = $349 & 1; + $351 = ($350|0)!=(0); + $352 = HEAP32[$pNew>>2]|0; + $353 = ((($352)) + 36|0); + $354 = HEAP32[$353>>2]|0; + if ($351) { + $355 = $354 | 4096; + HEAP32[$353>>2] = $355; } else { - $345 = $343 & -4097; - HEAP32[$342>>2] = $345; - } - $346 = HEAP32[$5>>2]|0; - $347 = HEAP32[$pNew>>2]|0; - $348 = (_whereLoopInsert($346,$347)|0); - HEAP32[$rc>>2] = $348; - $349 = HEAP32[$pNew>>2]|0; - $350 = ((($349)) + 24|0); - $351 = ((($350)) + 4|0); - $352 = HEAP8[$351>>0]|0; - $353 = ($352<<24>>24)!=(0); - if ($353) { - $354 = HEAP32[$pNew>>2]|0; - $355 = ((($354)) + 24|0); - $356 = ((($355)) + 8|0); - $357 = HEAP32[$356>>2]|0; - _sqlite3_free($357); - $358 = HEAP32[$pNew>>2]|0; - $359 = ((($358)) + 24|0); - $360 = ((($359)) + 4|0); - HEAP8[$360>>0] = 0; - } - $361 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $361; - $362 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($362|0); + $356 = $354 & -4097; + HEAP32[$353>>2] = $356; + } + $357 = HEAP32[$5>>2]|0; + $358 = HEAP32[$pNew>>2]|0; + $359 = (_whereLoopInsert($357,$358)|0); + HEAP32[$rc>>2] = $359; + $360 = HEAP32[$pNew>>2]|0; + $361 = ((($360)) + 24|0); + $362 = ((($361)) + 4|0); + $363 = HEAP8[$362>>0]|0; + $364 = ($363<<24>>24)!=(0); + if ($364) { + $365 = HEAP32[$pNew>>2]|0; + $366 = ((($365)) + 24|0); + $367 = ((($366)) + 8|0); + $368 = HEAP32[$367>>2]|0; + _sqlite3_free($368); + $369 = HEAP32[$pNew>>2]|0; + $370 = ((($369)) + 24|0); + $371 = ((($370)) + 4|0); + HEAP8[$371>>0] = 0; + } + $372 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $372; + $373 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($373|0); } function _vtabBestIndex($pParse,$pTab,$p) { $pParse = $pParse|0; @@ -185464,13 +189503,13 @@ function _vtabBestIndex($pParse,$pTab,$p) { $30 = ((($29)) + 8|0); $31 = HEAP32[$30>>2]|0; HEAP32[$vararg_buffer1>>2] = $31; - _sqlite3ErrorMsg($26,19007,$vararg_buffer1); + _sqlite3ErrorMsg($26,18391,$vararg_buffer1); break; } else { $27 = HEAP32[$rc>>2]|0; $28 = (_sqlite3ErrStr($27)|0); HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($26,19007,$vararg_buffer); + _sqlite3ErrorMsg($26,18391,$vararg_buffer); break; } } @@ -185483,7 +189522,7 @@ function _vtabBestIndex($pParse,$pTab,$p) { $36 = ((($35)) + 8|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 68|0); + $38 = ((($37)) + 36|0); $39 = HEAP32[$38>>2]|0; STACKTOP = sp;return ($39|0); } @@ -185694,63 +189733,79 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; - var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $c5 = 0, $db = 0; - var $eExtraOp = 0, $eOp2 = 0, $extraRight = 0, $i = 0, $i4 = 0, $iColumn = 0, $iCur = 0, $idxNew = 0, $idxNew1 = 0, $idxNew13 = 0, $idxNew2 = 0, $idxNew6 = 0, $isComplete = 0, $noCase = 0, $op = 0, $opMask = 0, $pC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0; - var $pLeft2 = 0, $pLeft8 = 0, $pList = 0, $pMaskSet = 0, $pNew = 0, $pNewExpr = 0, $pNewExpr1 = 0, $pNewExpr2 = 0, $pNewExpr9 = 0, $pNewTerm = 0, $pParse = 0, $pRight = 0, $pRight7 = 0, $pStr1 = 0, $pStr2 = 0, $pTerm = 0, $pWInfo = 0, $prereqAll = 0, $prereqColumn = 0, $prereqExpr = 0; - var $prereqLeft = 0, $wtFlags = 0, $x = 0, $zCollSeqName = 0, label = 0, sp = 0; + var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; + var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; + var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0; + var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0; + var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0; + var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0; + var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0; + var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0; + var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $c5 = 0, $db = 0, $eExtraOp = 0, $eOp2 = 0, $extraRight = 0, $i = 0, $i10 = 0, $i15 = 0, $i4 = 0; + var $iColumn = 0, $iCur = 0, $idxNew = 0, $idxNew1 = 0, $idxNew11 = 0, $idxNew13 = 0, $idxNew16 = 0, $idxNew2 = 0, $idxNew6 = 0, $isComplete = 0, $nLeft = 0, $noCase = 0, $op = 0, $opMask = 0, $pC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pLeft13 = 0, $pLeft2 = 0; + var $pLeft8 = 0, $pList = 0, $pMaskSet = 0, $pNew = 0, $pNew12 = 0, $pNewExpr = 0, $pNewExpr1 = 0, $pNewExpr2 = 0, $pNewExpr9 = 0, $pNewTerm = 0, $pParse = 0, $pRight = 0, $pRight14 = 0, $pRight7 = 0, $pStr1 = 0, $pStr2 = 0, $pTerm = 0, $pWInfo = 0, $prereqAll = 0, $prereqColumn = 0; + var $prereqExpr = 0, $prereqLeft = 0, $wtFlags = 0, $x = 0, $zCollSeqName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $0 = sp + 196|0; - $1 = sp + 192|0; - $2 = sp + 188|0; - $pWInfo = sp + 184|0; - $pTerm = sp + 180|0; - $pMaskSet = sp + 176|0; - $pExpr = sp + 172|0; + STACKTOP = STACKTOP + 256|0; + $0 = sp + 228|0; + $1 = sp + 224|0; + $2 = sp + 220|0; + $pWInfo = sp + 216|0; + $pTerm = sp + 212|0; + $pMaskSet = sp + 208|0; + $pExpr = sp + 204|0; $prereqLeft = sp + 40|0; $prereqAll = sp + 32|0; $extraRight = sp + 24|0; - $pStr1 = sp + 168|0; - $isComplete = sp + 164|0; - $noCase = sp + 160|0; - $op = sp + 156|0; - $pParse = sp + 152|0; - $db = sp + 148|0; - $eOp2 = sp + 208|0; + $pStr1 = sp + 200|0; + $isComplete = sp + 196|0; + $noCase = sp + 192|0; + $op = sp + 188|0; + $pParse = sp + 184|0; + $db = sp + 180|0; + $eOp2 = sp + 240|0; $x = sp + 16|0; - $iCur = sp + 144|0; - $iColumn = sp + 140|0; - $pLeft = sp + 136|0; - $pRight = sp + 132|0; - $opMask = sp + 204|0; - $pNew = sp + 128|0; - $pDup = sp + 124|0; - $eExtraOp = sp + 202|0; - $idxNew = sp + 120|0; - $pList = sp + 116|0; - $i = sp + 112|0; - $pNewExpr = sp + 108|0; - $idxNew1 = sp + 104|0; - $pLeft2 = sp + 100|0; - $pStr2 = sp + 96|0; - $pNewExpr1 = sp + 92|0; - $pNewExpr2 = sp + 88|0; - $idxNew13 = sp + 84|0; - $idxNew2 = sp + 80|0; - $zCollSeqName = sp + 76|0; - $wtFlags = sp + 200|0; - $i4 = sp + 72|0; - $c = sp + 207|0; - $c5 = sp + 206|0; - $pC = sp + 68|0; - $idxNew6 = sp + 64|0; - $pRight7 = sp + 60|0; - $pLeft8 = sp + 56|0; - $pNewTerm = sp + 52|0; + $iCur = sp + 176|0; + $iColumn = sp + 172|0; + $pLeft = sp + 168|0; + $pRight = sp + 164|0; + $opMask = sp + 236|0; + $pNew = sp + 160|0; + $pDup = sp + 156|0; + $eExtraOp = sp + 234|0; + $idxNew = sp + 152|0; + $pList = sp + 148|0; + $i = sp + 144|0; + $pNewExpr = sp + 140|0; + $idxNew1 = sp + 136|0; + $pLeft2 = sp + 132|0; + $pStr2 = sp + 128|0; + $pNewExpr1 = sp + 124|0; + $pNewExpr2 = sp + 120|0; + $idxNew13 = sp + 116|0; + $idxNew2 = sp + 112|0; + $zCollSeqName = sp + 108|0; + $wtFlags = sp + 232|0; + $i4 = sp + 104|0; + $c = sp + 239|0; + $c5 = sp + 238|0; + $pC = sp + 100|0; + $idxNew6 = sp + 96|0; + $pRight7 = sp + 92|0; + $pLeft8 = sp + 88|0; + $pNewTerm = sp + 84|0; $prereqColumn = sp + 8|0; $prereqExpr = sp; - $pNewExpr9 = sp + 48|0; + $pNewExpr9 = sp + 80|0; + $nLeft = sp + 76|0; + $i10 = sp + 72|0; + $idxNew11 = sp + 68|0; + $pNew12 = sp + 64|0; + $pLeft13 = sp + 60|0; + $pRight14 = sp + 56|0; + $i15 = sp + 52|0; + $idxNew16 = sp + 48|0; HEAP32[$0>>2] = $pSrc; HEAP32[$1>>2] = $pWC; HEAP32[$2>>2] = $idxTerm; @@ -185786,7 +189841,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $21 = (($20) + (($17*48)|0)|0); HEAP32[$pTerm>>2] = $21; $22 = HEAP32[$pWInfo>>2]|0; - $23 = ((($22)) + 68|0); + $23 = ((($22)) + 488|0); HEAP32[$pMaskSet>>2] = $23; $24 = HEAP32[$pTerm>>2]|0; $25 = HEAP32[$24>>2]|0; @@ -185811,851 +189866,1068 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $40 = ($39|0)==(33); do { if ($40) { - $41 = HEAP32[$pExpr>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = $43 & 2048; - $45 = ($44|0)!=(0); - $46 = HEAP32[$pMaskSet>>2]|0; - $47 = HEAP32[$pExpr>>2]|0; - $48 = ((($47)) + 20|0); - if ($45) { - $49 = HEAP32[$48>>2]|0; - $50 = (_exprSelectUsage($46,$49)|0); - $51 = tempRet0; - $52 = HEAP32[$pTerm>>2]|0; - $53 = ((($52)) + 32|0); - $54 = $53; - $55 = $54; - HEAP32[$55>>2] = $50; - $56 = (($54) + 4)|0; - $57 = $56; - HEAP32[$57>>2] = $51; + $41 = HEAP32[$pParse>>2]|0; + $42 = HEAP32[$pExpr>>2]|0; + $43 = (_sqlite3ExprCheckIN($41,$42)|0); + $44 = ($43|0)!=(0); + if ($44) { + STACKTOP = sp;return; + } + $45 = HEAP32[$pExpr>>2]|0; + $46 = ((($45)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = $47 & 2048; + $49 = ($48|0)!=(0); + $50 = HEAP32[$pMaskSet>>2]|0; + $51 = HEAP32[$pExpr>>2]|0; + $52 = ((($51)) + 20|0); + if ($49) { + $53 = HEAP32[$52>>2]|0; + $54 = (_exprSelectUsage($50,$53)|0); + $55 = tempRet0; + $56 = HEAP32[$pTerm>>2]|0; + $57 = ((($56)) + 32|0); + $58 = $57; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $55; break; } else { - $58 = HEAP32[$48>>2]|0; - $59 = (_sqlite3WhereExprListUsage($46,$58)|0); - $60 = tempRet0; - $61 = HEAP32[$pTerm>>2]|0; - $62 = ((($61)) + 32|0); - $63 = $62; - $64 = $63; - HEAP32[$64>>2] = $59; - $65 = (($63) + 4)|0; - $66 = $65; - HEAP32[$66>>2] = $60; + $62 = HEAP32[$52>>2]|0; + $63 = (_sqlite3WhereExprListUsage($50,$62)|0); + $64 = tempRet0; + $65 = HEAP32[$pTerm>>2]|0; + $66 = ((($65)) + 32|0); + $67 = $66; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $64; break; } } else { - $67 = HEAP32[$op>>2]|0; - $68 = ($67|0)==(34); - if ($68) { - $69 = HEAP32[$pTerm>>2]|0; - $70 = ((($69)) + 32|0); - $71 = $70; - $72 = $71; - HEAP32[$72>>2] = 0; - $73 = (($71) + 4)|0; - $74 = $73; - HEAP32[$74>>2] = 0; + $71 = HEAP32[$op>>2]|0; + $72 = ($71|0)==(34); + if ($72) { + $73 = HEAP32[$pTerm>>2]|0; + $74 = ((($73)) + 32|0); + $75 = $74; + $76 = $75; + HEAP32[$76>>2] = 0; + $77 = (($75) + 4)|0; + $78 = $77; + HEAP32[$78>>2] = 0; break; } else { - $75 = HEAP32[$pMaskSet>>2]|0; - $76 = HEAP32[$pExpr>>2]|0; - $77 = ((($76)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $79 = (_sqlite3WhereExprUsage($75,$78)|0); - $80 = tempRet0; - $81 = HEAP32[$pTerm>>2]|0; - $82 = ((($81)) + 32|0); - $83 = $82; - $84 = $83; - HEAP32[$84>>2] = $79; - $85 = (($83) + 4)|0; - $86 = $85; - HEAP32[$86>>2] = $80; + $79 = HEAP32[$pMaskSet>>2]|0; + $80 = HEAP32[$pExpr>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP32[$81>>2]|0; + $83 = (_sqlite3WhereExprUsage($79,$82)|0); + $84 = tempRet0; + $85 = HEAP32[$pTerm>>2]|0; + $86 = ((($85)) + 32|0); + $87 = $86; + $88 = $87; + HEAP32[$88>>2] = $83; + $89 = (($87) + 4)|0; + $90 = $89; + HEAP32[$90>>2] = $84; break; } } } while(0); - $87 = HEAP32[$pMaskSet>>2]|0; - $88 = HEAP32[$pExpr>>2]|0; - $89 = (_sqlite3WhereExprUsage($87,$88)|0); - $90 = tempRet0; - $91 = $prereqAll; - $92 = $91; - HEAP32[$92>>2] = $89; - $93 = (($91) + 4)|0; - $94 = $93; - HEAP32[$94>>2] = $90; - $95 = HEAP32[$pExpr>>2]|0; - $96 = ((($95)) + 4|0); - $97 = HEAP32[$96>>2]|0; - $98 = $97 & 1; - $99 = ($98|0)!=(0); - if ($99) { - $100 = HEAP32[$pMaskSet>>2]|0; - $101 = HEAP32[$pExpr>>2]|0; - $102 = ((($101)) + 36|0); - $103 = HEAP16[$102>>1]|0; - $104 = $103 << 16 >> 16; - $105 = (_sqlite3WhereGetMask($100,$104)|0); - $106 = tempRet0; - $107 = $x; - $108 = $107; - HEAP32[$108>>2] = $105; - $109 = (($107) + 4)|0; - $110 = $109; - HEAP32[$110>>2] = $106; + $91 = HEAP32[$pMaskSet>>2]|0; + $92 = HEAP32[$pExpr>>2]|0; + $93 = (_sqlite3WhereExprUsage($91,$92)|0); + $94 = tempRet0; + $95 = $prereqAll; + $96 = $95; + HEAP32[$96>>2] = $93; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = HEAP32[$pExpr>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 1; + $103 = ($102|0)!=(0); + if ($103) { + $104 = HEAP32[$pMaskSet>>2]|0; + $105 = HEAP32[$pExpr>>2]|0; + $106 = ((($105)) + 36|0); + $107 = HEAP16[$106>>1]|0; + $108 = $107 << 16 >> 16; + $109 = (_sqlite3WhereGetMask($104,$108)|0); + $110 = tempRet0; $111 = $x; $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = $prereqAll; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = $119 | $113; - $124 = $122 | $116; - $125 = $prereqAll; - $126 = $125; - HEAP32[$126>>2] = $123; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $124; - $129 = $x; + HEAP32[$112>>2] = $109; + $113 = (($111) + 4)|0; + $114 = $113; + HEAP32[$114>>2] = $110; + $115 = $x; + $116 = $115; + $117 = HEAP32[$116>>2]|0; + $118 = (($115) + 4)|0; + $119 = $118; + $120 = HEAP32[$119>>2]|0; + $121 = $prereqAll; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = $123 | $117; + $128 = $126 | $120; + $129 = $prereqAll; $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (_i64Subtract(($131|0),($134|0),1,0)|0); - $136 = tempRet0; - $137 = $extraRight; - $138 = $137; - HEAP32[$138>>2] = $135; - $139 = (($137) + 4)|0; - $140 = $139; - HEAP32[$140>>2] = $136; + HEAP32[$130>>2] = $127; + $131 = (($129) + 4)|0; + $132 = $131; + HEAP32[$132>>2] = $128; + $133 = $x; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (($133) + 4)|0; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (_i64Subtract(($135|0),($138|0),1,0)|0); + $140 = tempRet0; + $141 = $extraRight; + $142 = $141; + HEAP32[$142>>2] = $139; + $143 = (($141) + 4)|0; + $144 = $143; + HEAP32[$144>>2] = $140; } - $141 = $prereqAll; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (($141) + 4)|0; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = HEAP32[$pTerm>>2]|0; - $148 = ((($147)) + 40|0); + $145 = $prereqAll; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; $149 = $148; - $150 = $149; - HEAP32[$150>>2] = $143; - $151 = (($149) + 4)|0; - $152 = $151; - HEAP32[$152>>2] = $146; - $153 = HEAP32[$pTerm>>2]|0; - $154 = ((($153)) + 8|0); - HEAP32[$154>>2] = -1; - $155 = HEAP32[$pTerm>>2]|0; - $156 = ((($155)) + 4|0); - HEAP32[$156>>2] = -1; + $150 = HEAP32[$149>>2]|0; + $151 = HEAP32[$pTerm>>2]|0; + $152 = ((($151)) + 40|0); + $153 = $152; + $154 = $153; + HEAP32[$154>>2] = $147; + $155 = (($153) + 4)|0; + $156 = $155; + HEAP32[$156>>2] = $150; $157 = HEAP32[$pTerm>>2]|0; - $158 = ((($157)) + 18|0); - HEAP16[$158>>1] = 0; - $159 = HEAP32[$op>>2]|0; - $160 = (_allowedOp($159)|0); - $161 = ($160|0)!=(0); - $162 = HEAP32[$pExpr>>2]|0; - L17: do { - if ($161) { - $163 = ((($162)) + 12|0); - $164 = HEAP32[$163>>2]|0; - $165 = (_sqlite3ExprSkipCollate($164)|0); - HEAP32[$pLeft>>2] = $165; - $166 = HEAP32[$pExpr>>2]|0; - $167 = ((($166)) + 16|0); + $158 = ((($157)) + 20|0); + HEAP32[$158>>2] = -1; + $159 = HEAP32[$pTerm>>2]|0; + $160 = ((($159)) + 16|0); + HEAP32[$160>>2] = -1; + $161 = HEAP32[$pTerm>>2]|0; + $162 = ((($161)) + 12|0); + HEAP16[$162>>1] = 0; + $163 = HEAP32[$op>>2]|0; + $164 = (_allowedOp($163)|0); + $165 = ($164|0)!=(0); + $166 = HEAP32[$pExpr>>2]|0; + L20: do { + if ($165) { + $167 = ((($166)) + 12|0); $168 = HEAP32[$167>>2]|0; $169 = (_sqlite3ExprSkipCollate($168)|0); - HEAP32[$pRight>>2] = $169; - $170 = HEAP32[$pTerm>>2]|0; - $171 = ((($170)) + 32|0); - $172 = $171; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = (($172) + 4)|0; + HEAP32[$pLeft>>2] = $169; + $170 = HEAP32[$pExpr>>2]|0; + $171 = ((($170)) + 16|0); + $172 = HEAP32[$171>>2]|0; + $173 = (_sqlite3ExprSkipCollate($172)|0); + HEAP32[$pRight>>2] = $173; + $174 = HEAP32[$pTerm>>2]|0; + $175 = ((($174)) + 32|0); $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = $prereqLeft; - $179 = $178; - $180 = HEAP32[$179>>2]|0; - $181 = (($178) + 4)|0; - $182 = $181; - $183 = HEAP32[$182>>2]|0; - $184 = $174 & $180; - $185 = $177 & $183; - $186 = ($184|0)==(0); - $187 = ($185|0)==(0); - $188 = $186 & $187; - $189 = $188 ? 8191 : 2048; - $190 = $189&65535; - HEAP16[$opMask>>1] = $190; - $191 = HEAP32[$0>>2]|0; - $192 = $prereqLeft; - $193 = $192; - $194 = HEAP32[$193>>2]|0; - $195 = (($192) + 4)|0; - $196 = $195; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (($176) + 4)|0; + $180 = $179; + $181 = HEAP32[$180>>2]|0; + $182 = $prereqLeft; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (($182) + 4)|0; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = $178 & $184; + $189 = $181 & $187; + $190 = ($188|0)==(0); + $191 = ($189|0)==(0); + $192 = $190 & $191; + $193 = $192 ? 8191 : 2048; + $194 = $193&65535; + HEAP16[$opMask>>1] = $194; + $195 = HEAP32[$pTerm>>2]|0; + $196 = ((($195)) + 24|0); $197 = HEAP32[$196>>2]|0; - $198 = HEAP32[$pLeft>>2]|0; - $199 = (_exprMightBeIndexed($191,$194,$197,$198,$iCur,$iColumn)|0); - $200 = ($199|0)!=(0); - if ($200) { - $201 = HEAP32[$iCur>>2]|0; - $202 = HEAP32[$pTerm>>2]|0; - $203 = ((($202)) + 8|0); - HEAP32[$203>>2] = $201; - $204 = HEAP32[$iColumn>>2]|0; - $205 = HEAP32[$pTerm>>2]|0; - $206 = ((($205)) + 12|0); - HEAP32[$206>>2] = $204; - $207 = HEAP32[$op>>2]|0; - $208 = (_operatorMask($207)|0); - $209 = $208&65535; - $210 = HEAP16[$opMask>>1]|0; - $211 = $210&65535; - $212 = $209 & $211; - $213 = $212&65535; - $214 = HEAP32[$pTerm>>2]|0; - $215 = ((($214)) + 18|0); - HEAP16[$215>>1] = $213; - } - $216 = HEAP32[$op>>2]|0; - $217 = ($216|0)==(29); - if ($217) { - $218 = HEAP32[$pTerm>>2]|0; - $219 = ((($218)) + 20|0); - $220 = HEAP16[$219>>1]|0; - $221 = $220&65535; - $222 = $221 | 2048; - $223 = $222&65535; - HEAP16[$219>>1] = $223; - } - $224 = HEAP32[$pRight>>2]|0; - $225 = ($224|0)!=(0|0); - if ($225) { - $226 = HEAP32[$0>>2]|0; - $227 = HEAP32[$pTerm>>2]|0; - $228 = ((($227)) + 32|0); - $229 = $228; - $230 = $229; - $231 = HEAP32[$230>>2]|0; - $232 = (($229) + 4)|0; - $233 = $232; - $234 = HEAP32[$233>>2]|0; - $235 = HEAP32[$pRight>>2]|0; - $236 = (_exprMightBeIndexed($226,$231,$234,$235,$iCur,$iColumn)|0); - $237 = ($236|0)!=(0); - if ($237) { + $198 = ($197|0)>(0); + if ($198) { + $199 = HEAP32[$pTerm>>2]|0; + $200 = ((($199)) + 24|0); + $201 = HEAP32[$200>>2]|0; + $202 = (($201) - 1)|0; + $203 = HEAP32[$pLeft>>2]|0; + $204 = ((($203)) + 20|0); + $205 = HEAP32[$204>>2]|0; + $206 = ((($205)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = (($207) + (($202*20)|0)|0); + $209 = HEAP32[$208>>2]|0; + HEAP32[$pLeft>>2] = $209; + } + $210 = HEAP32[$0>>2]|0; + $211 = HEAP32[$op>>2]|0; + $212 = $prereqLeft; + $213 = $212; + $214 = HEAP32[$213>>2]|0; + $215 = (($212) + 4)|0; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = HEAP32[$pLeft>>2]|0; + $219 = (_exprMightBeIndexed($210,$211,$214,$217,$218,$iCur,$iColumn)|0); + $220 = ($219|0)!=(0); + if ($220) { + $221 = HEAP32[$iCur>>2]|0; + $222 = HEAP32[$pTerm>>2]|0; + $223 = ((($222)) + 20|0); + HEAP32[$223>>2] = $221; + $224 = HEAP32[$iColumn>>2]|0; + $225 = HEAP32[$pTerm>>2]|0; + $226 = ((($225)) + 28|0); + HEAP32[$226>>2] = $224; + $227 = HEAP32[$op>>2]|0; + $228 = (_operatorMask($227)|0); + $229 = $228&65535; + $230 = HEAP16[$opMask>>1]|0; + $231 = $230&65535; + $232 = $229 & $231; + $233 = $232&65535; + $234 = HEAP32[$pTerm>>2]|0; + $235 = ((($234)) + 12|0); + HEAP16[$235>>1] = $233; + } + $236 = HEAP32[$op>>2]|0; + $237 = ($236|0)==(29); + if ($237) { + $238 = HEAP32[$pTerm>>2]|0; + $239 = ((($238)) + 10|0); + $240 = HEAP16[$239>>1]|0; + $241 = $240&65535; + $242 = $241 | 2048; + $243 = $242&65535; + HEAP16[$239>>1] = $243; + } + $244 = HEAP32[$pRight>>2]|0; + $245 = ($244|0)!=(0|0); + if ($245) { + $246 = HEAP32[$0>>2]|0; + $247 = HEAP32[$op>>2]|0; + $248 = HEAP32[$pTerm>>2]|0; + $249 = ((($248)) + 32|0); + $250 = $249; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = (($250) + 4)|0; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$pRight>>2]|0; + $257 = (_exprMightBeIndexed($246,$247,$252,$255,$256,$iCur,$iColumn)|0); + $258 = ($257|0)!=(0); + if ($258) { HEAP16[$eExtraOp>>1] = 0; - $238 = HEAP32[$pTerm>>2]|0; - $239 = ((($238)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = ($240|0)>=(0); - if ($241) { - $242 = HEAP32[$db>>2]|0; - $243 = HEAP32[$pExpr>>2]|0; - $244 = (_sqlite3ExprDup($242,$243,0)|0); - HEAP32[$pDup>>2] = $244; - $245 = HEAP32[$db>>2]|0; - $246 = ((($245)) + 69|0); - $247 = HEAP8[$246>>0]|0; - $248 = ($247<<24>>24)!=(0); - if ($248) { - $249 = HEAP32[$db>>2]|0; - $250 = HEAP32[$pDup>>2]|0; - _sqlite3ExprDelete($249,$250); + $259 = HEAP32[$pTerm>>2]|0; + $260 = ((($259)) + 20|0); + $261 = HEAP32[$260>>2]|0; + $262 = ($261|0)>=(0); + if ($262) { + $263 = HEAP32[$db>>2]|0; + $264 = HEAP32[$pExpr>>2]|0; + $265 = (_sqlite3ExprDup($263,$264,0)|0); + HEAP32[$pDup>>2] = $265; + $266 = HEAP32[$db>>2]|0; + $267 = ((($266)) + 69|0); + $268 = HEAP8[$267>>0]|0; + $269 = ($268<<24>>24)!=(0); + if ($269) { + $270 = HEAP32[$db>>2]|0; + $271 = HEAP32[$pDup>>2]|0; + _sqlite3ExprDelete($270,$271); STACKTOP = sp;return; } - $251 = HEAP32[$1>>2]|0; - $252 = HEAP32[$pDup>>2]|0; - $253 = (_whereClauseInsert($251,$252,3)|0); - HEAP32[$idxNew>>2] = $253; - $254 = HEAP32[$idxNew>>2]|0; - $255 = ($254|0)==(0); - if ($255) { + $272 = HEAP32[$1>>2]|0; + $273 = HEAP32[$pDup>>2]|0; + $274 = (_whereClauseInsert($272,$273,3)|0); + HEAP32[$idxNew>>2] = $274; + $275 = HEAP32[$idxNew>>2]|0; + $276 = ($275|0)==(0); + if ($276) { STACKTOP = sp;return; } - $256 = HEAP32[$idxNew>>2]|0; - $257 = HEAP32[$1>>2]|0; - $258 = ((($257)) + 20|0); - $259 = HEAP32[$258>>2]|0; - $260 = (($259) + (($256*48)|0)|0); - HEAP32[$pNew>>2] = $260; - $261 = HEAP32[$1>>2]|0; - $262 = HEAP32[$idxNew>>2]|0; - $263 = HEAP32[$2>>2]|0; - _markTermAsChild($261,$262,$263); - $264 = HEAP32[$op>>2]|0; - $265 = ($264|0)==(29); - if ($265) { - $266 = HEAP32[$pNew>>2]|0; - $267 = ((($266)) + 20|0); - $268 = HEAP16[$267>>1]|0; - $269 = $268&65535; - $270 = $269 | 2048; - $271 = $270&65535; - HEAP16[$267>>1] = $271; - } - $272 = HEAP32[$2>>2]|0; - $273 = HEAP32[$1>>2]|0; - $274 = ((($273)) + 20|0); - $275 = HEAP32[$274>>2]|0; - $276 = (($275) + (($272*48)|0)|0); - HEAP32[$pTerm>>2] = $276; - $277 = HEAP32[$pTerm>>2]|0; - $278 = ((($277)) + 20|0); - $279 = HEAP16[$278>>1]|0; - $280 = $279&65535; - $281 = $280 | 8; - $282 = $281&65535; - HEAP16[$278>>1] = $282; - $283 = HEAP32[$pParse>>2]|0; - $284 = HEAP32[$pDup>>2]|0; - $285 = (_termIsEquivalence($283,$284)|0); - $286 = ($285|0)!=(0); + $277 = HEAP32[$idxNew>>2]|0; + $278 = HEAP32[$1>>2]|0; + $279 = ((($278)) + 20|0); + $280 = HEAP32[$279>>2]|0; + $281 = (($280) + (($277*48)|0)|0); + HEAP32[$pNew>>2] = $281; + $282 = HEAP32[$1>>2]|0; + $283 = HEAP32[$idxNew>>2]|0; + $284 = HEAP32[$2>>2]|0; + _markTermAsChild($282,$283,$284); + $285 = HEAP32[$op>>2]|0; + $286 = ($285|0)==(29); if ($286) { - $287 = HEAP32[$pTerm>>2]|0; - $288 = ((($287)) + 18|0); + $287 = HEAP32[$pNew>>2]|0; + $288 = ((($287)) + 10|0); $289 = HEAP16[$288>>1]|0; $290 = $289&65535; $291 = $290 | 2048; $292 = $291&65535; HEAP16[$288>>1] = $292; + } + $293 = HEAP32[$2>>2]|0; + $294 = HEAP32[$1>>2]|0; + $295 = ((($294)) + 20|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + (($293*48)|0)|0); + HEAP32[$pTerm>>2] = $297; + $298 = HEAP32[$pTerm>>2]|0; + $299 = ((($298)) + 10|0); + $300 = HEAP16[$299>>1]|0; + $301 = $300&65535; + $302 = $301 | 8; + $303 = $302&65535; + HEAP16[$299>>1] = $303; + $304 = HEAP32[$pParse>>2]|0; + $305 = HEAP32[$pDup>>2]|0; + $306 = (_termIsEquivalence($304,$305)|0); + $307 = ($306|0)!=(0); + if ($307) { + $308 = HEAP32[$pTerm>>2]|0; + $309 = ((($308)) + 12|0); + $310 = HEAP16[$309>>1]|0; + $311 = $310&65535; + $312 = $311 | 2048; + $313 = $312&65535; + HEAP16[$309>>1] = $313; HEAP16[$eExtraOp>>1] = 2048; } } else { - $293 = HEAP32[$pExpr>>2]|0; - HEAP32[$pDup>>2] = $293; - $294 = HEAP32[$pTerm>>2]|0; - HEAP32[$pNew>>2] = $294; - } - $295 = HEAP32[$pParse>>2]|0; - $296 = HEAP32[$pDup>>2]|0; - _exprCommute($295,$296); - $297 = HEAP32[$iCur>>2]|0; - $298 = HEAP32[$pNew>>2]|0; - $299 = ((($298)) + 8|0); - HEAP32[$299>>2] = $297; - $300 = HEAP32[$iColumn>>2]|0; - $301 = HEAP32[$pNew>>2]|0; - $302 = ((($301)) + 12|0); - HEAP32[$302>>2] = $300; - $303 = $prereqLeft; - $304 = $303; - $305 = HEAP32[$304>>2]|0; - $306 = (($303) + 4)|0; - $307 = $306; - $308 = HEAP32[$307>>2]|0; - $309 = $extraRight; - $310 = $309; - $311 = HEAP32[$310>>2]|0; - $312 = (($309) + 4)|0; - $313 = $312; - $314 = HEAP32[$313>>2]|0; - $315 = $305 | $311; - $316 = $308 | $314; - $317 = HEAP32[$pNew>>2]|0; - $318 = ((($317)) + 32|0); - $319 = $318; - $320 = $319; - HEAP32[$320>>2] = $315; - $321 = (($319) + 4)|0; - $322 = $321; - HEAP32[$322>>2] = $316; - $323 = $prereqAll; - $324 = $323; - $325 = HEAP32[$324>>2]|0; - $326 = (($323) + 4)|0; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = HEAP32[$pNew>>2]|0; - $330 = ((($329)) + 40|0); + $314 = HEAP32[$pExpr>>2]|0; + HEAP32[$pDup>>2] = $314; + $315 = HEAP32[$pTerm>>2]|0; + HEAP32[$pNew>>2] = $315; + } + $316 = HEAP32[$pParse>>2]|0; + $317 = HEAP32[$pDup>>2]|0; + _exprCommute($316,$317); + $318 = HEAP32[$iCur>>2]|0; + $319 = HEAP32[$pNew>>2]|0; + $320 = ((($319)) + 20|0); + HEAP32[$320>>2] = $318; + $321 = HEAP32[$iColumn>>2]|0; + $322 = HEAP32[$pNew>>2]|0; + $323 = ((($322)) + 28|0); + HEAP32[$323>>2] = $321; + $324 = $prereqLeft; + $325 = $324; + $326 = HEAP32[$325>>2]|0; + $327 = (($324) + 4)|0; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = $extraRight; $331 = $330; - $332 = $331; - HEAP32[$332>>2] = $325; - $333 = (($331) + 4)|0; + $332 = HEAP32[$331>>2]|0; + $333 = (($330) + 4)|0; $334 = $333; - HEAP32[$334>>2] = $328; - $335 = HEAP32[$pDup>>2]|0; - $336 = HEAP8[$335>>0]|0; - $337 = $336&255; - $338 = (_operatorMask($337)|0); - $339 = $338&65535; - $340 = HEAP16[$eExtraOp>>1]|0; - $341 = $340&65535; - $342 = (($339) + ($341))|0; - $343 = HEAP16[$opMask>>1]|0; - $344 = $343&65535; - $345 = $342 & $344; - $346 = $345&65535; - $347 = HEAP32[$pNew>>2]|0; - $348 = ((($347)) + 18|0); - HEAP16[$348>>1] = $346; + $335 = HEAP32[$334>>2]|0; + $336 = $326 | $332; + $337 = $329 | $335; + $338 = HEAP32[$pNew>>2]|0; + $339 = ((($338)) + 32|0); + $340 = $339; + $341 = $340; + HEAP32[$341>>2] = $336; + $342 = (($340) + 4)|0; + $343 = $342; + HEAP32[$343>>2] = $337; + $344 = $prereqAll; + $345 = $344; + $346 = HEAP32[$345>>2]|0; + $347 = (($344) + 4)|0; + $348 = $347; + $349 = HEAP32[$348>>2]|0; + $350 = HEAP32[$pNew>>2]|0; + $351 = ((($350)) + 40|0); + $352 = $351; + $353 = $352; + HEAP32[$353>>2] = $346; + $354 = (($352) + 4)|0; + $355 = $354; + HEAP32[$355>>2] = $349; + $356 = HEAP32[$pDup>>2]|0; + $357 = HEAP8[$356>>0]|0; + $358 = $357&255; + $359 = (_operatorMask($358)|0); + $360 = $359&65535; + $361 = HEAP16[$eExtraOp>>1]|0; + $362 = $361&65535; + $363 = (($360) + ($362))|0; + $364 = HEAP16[$opMask>>1]|0; + $365 = $364&65535; + $366 = $363 & $365; + $367 = $366&65535; + $368 = HEAP32[$pNew>>2]|0; + $369 = ((($368)) + 12|0); + HEAP16[$369>>1] = $367; } } } else { - $349 = HEAP8[$162>>0]|0; - $350 = $349&255; - $351 = ($350|0)==(32); - if ($351) { - $352 = HEAP32[$1>>2]|0; - $353 = ((($352)) + 8|0); - $354 = HEAP8[$353>>0]|0; - $355 = $354&255; - $356 = ($355|0)==(28); - if ($356) { - $357 = HEAP32[$pExpr>>2]|0; - $358 = ((($357)) + 20|0); - $359 = HEAP32[$358>>2]|0; - HEAP32[$pList>>2] = $359; + $370 = HEAP8[$166>>0]|0; + $371 = $370&255; + $372 = ($371|0)==(32); + if ($372) { + $373 = HEAP32[$1>>2]|0; + $374 = ((($373)) + 8|0); + $375 = HEAP8[$374>>0]|0; + $376 = $375&255; + $377 = ($376|0)==(28); + if ($377) { + $378 = HEAP32[$pExpr>>2]|0; + $379 = ((($378)) + 20|0); + $380 = HEAP32[$379>>2]|0; + HEAP32[$pList>>2] = $380; HEAP32[$i>>2] = 0; while(1) { - $360 = HEAP32[$i>>2]|0; - $361 = ($360|0)<(2); - if (!($361)) { - break L17; + $381 = HEAP32[$i>>2]|0; + $382 = ($381|0)<(2); + if (!($382)) { + break L20; } - $362 = HEAP32[$pParse>>2]|0; - $363 = HEAP32[$i>>2]|0; - $364 = (35349 + ($363)|0); - $365 = HEAP8[$364>>0]|0; - $366 = $365&255; - $367 = HEAP32[$db>>2]|0; - $368 = HEAP32[$pExpr>>2]|0; - $369 = ((($368)) + 12|0); - $370 = HEAP32[$369>>2]|0; - $371 = (_sqlite3ExprDup($367,$370,0)|0); - $372 = HEAP32[$db>>2]|0; - $373 = HEAP32[$i>>2]|0; - $374 = HEAP32[$pList>>2]|0; - $375 = ((($374)) + 4|0); - $376 = HEAP32[$375>>2]|0; - $377 = (($376) + (($373*20)|0)|0); - $378 = HEAP32[$377>>2]|0; - $379 = (_sqlite3ExprDup($372,$378,0)|0); - $380 = (_sqlite3PExpr($362,$366,$371,$379,0)|0); - HEAP32[$pNewExpr>>2] = $380; - $381 = HEAP32[$pNewExpr>>2]|0; - $382 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($381,$382); - $383 = HEAP32[$1>>2]|0; - $384 = HEAP32[$pNewExpr>>2]|0; - $385 = (_whereClauseInsert($383,$384,3)|0); - HEAP32[$idxNew1>>2] = $385; - $386 = HEAP32[$0>>2]|0; - $387 = HEAP32[$1>>2]|0; - $388 = HEAP32[$idxNew1>>2]|0; - _exprAnalyze($386,$387,$388); - $389 = HEAP32[$2>>2]|0; - $390 = HEAP32[$1>>2]|0; - $391 = ((($390)) + 20|0); - $392 = HEAP32[$391>>2]|0; - $393 = (($392) + (($389*48)|0)|0); - HEAP32[$pTerm>>2] = $393; - $394 = HEAP32[$1>>2]|0; - $395 = HEAP32[$idxNew1>>2]|0; - $396 = HEAP32[$2>>2]|0; - _markTermAsChild($394,$395,$396); - $397 = HEAP32[$i>>2]|0; - $398 = (($397) + 1)|0; - HEAP32[$i>>2] = $398; + $383 = HEAP32[$pParse>>2]|0; + $384 = HEAP32[$i>>2]|0; + $385 = (34832 + ($384)|0); + $386 = HEAP8[$385>>0]|0; + $387 = $386&255; + $388 = HEAP32[$db>>2]|0; + $389 = HEAP32[$pExpr>>2]|0; + $390 = ((($389)) + 12|0); + $391 = HEAP32[$390>>2]|0; + $392 = (_sqlite3ExprDup($388,$391,0)|0); + $393 = HEAP32[$db>>2]|0; + $394 = HEAP32[$i>>2]|0; + $395 = HEAP32[$pList>>2]|0; + $396 = ((($395)) + 4|0); + $397 = HEAP32[$396>>2]|0; + $398 = (($397) + (($394*20)|0)|0); + $399 = HEAP32[$398>>2]|0; + $400 = (_sqlite3ExprDup($393,$399,0)|0); + $401 = (_sqlite3PExpr($383,$387,$392,$400,0)|0); + HEAP32[$pNewExpr>>2] = $401; + $402 = HEAP32[$pNewExpr>>2]|0; + $403 = HEAP32[$pExpr>>2]|0; + _transferJoinMarkings($402,$403); + $404 = HEAP32[$1>>2]|0; + $405 = HEAP32[$pNewExpr>>2]|0; + $406 = (_whereClauseInsert($404,$405,3)|0); + HEAP32[$idxNew1>>2] = $406; + $407 = HEAP32[$0>>2]|0; + $408 = HEAP32[$1>>2]|0; + $409 = HEAP32[$idxNew1>>2]|0; + _exprAnalyze($407,$408,$409); + $410 = HEAP32[$2>>2]|0; + $411 = HEAP32[$1>>2]|0; + $412 = ((($411)) + 20|0); + $413 = HEAP32[$412>>2]|0; + $414 = (($413) + (($410*48)|0)|0); + HEAP32[$pTerm>>2] = $414; + $415 = HEAP32[$1>>2]|0; + $416 = HEAP32[$idxNew1>>2]|0; + $417 = HEAP32[$2>>2]|0; + _markTermAsChild($415,$416,$417); + $418 = HEAP32[$i>>2]|0; + $419 = (($418) + 1)|0; + HEAP32[$i>>2] = $419; } } } - $399 = HEAP32[$pExpr>>2]|0; - $400 = HEAP8[$399>>0]|0; - $401 = $400&255; - $402 = ($401|0)==(27); - if ($402) { - $403 = HEAP32[$0>>2]|0; - $404 = HEAP32[$1>>2]|0; - $405 = HEAP32[$2>>2]|0; - _exprAnalyzeOrTerm($403,$404,$405); - $406 = HEAP32[$2>>2]|0; - $407 = HEAP32[$1>>2]|0; - $408 = ((($407)) + 20|0); - $409 = HEAP32[$408>>2]|0; - $410 = (($409) + (($406*48)|0)|0); - HEAP32[$pTerm>>2] = $410; + $420 = HEAP32[$pExpr>>2]|0; + $421 = HEAP8[$420>>0]|0; + $422 = $421&255; + $423 = ($422|0)==(27); + if ($423) { + $424 = HEAP32[$0>>2]|0; + $425 = HEAP32[$1>>2]|0; + $426 = HEAP32[$2>>2]|0; + _exprAnalyzeOrTerm($424,$425,$426); + $427 = HEAP32[$2>>2]|0; + $428 = HEAP32[$1>>2]|0; + $429 = ((($428)) + 20|0); + $430 = HEAP32[$429>>2]|0; + $431 = (($430) + (($427*48)|0)|0); + HEAP32[$pTerm>>2] = $431; } } } while(0); - $411 = HEAP32[$1>>2]|0; - $412 = ((($411)) + 8|0); - $413 = HEAP8[$412>>0]|0; - $414 = $413&255; - $415 = ($414|0)==(28); - if ($415) { - $416 = HEAP32[$pParse>>2]|0; - $417 = HEAP32[$pExpr>>2]|0; - $418 = (_isLikeOrGlob($416,$417,$pStr1,$isComplete,$noCase)|0); - $419 = ($418|0)!=(0); - if ($419) { + $432 = HEAP32[$1>>2]|0; + $433 = ((($432)) + 8|0); + $434 = HEAP8[$433>>0]|0; + $435 = $434&255; + $436 = ($435|0)==(28); + if ($436) { + $437 = HEAP32[$pParse>>2]|0; + $438 = HEAP32[$pExpr>>2]|0; + $439 = (_isLikeOrGlob($437,$438,$pStr1,$isComplete,$noCase)|0); + $440 = ($439|0)!=(0); + if ($440) { HEAP16[$wtFlags>>1] = 259; - $420 = HEAP32[$pExpr>>2]|0; - $421 = ((($420)) + 20|0); - $422 = HEAP32[$421>>2]|0; - $423 = ((($422)) + 4|0); - $424 = HEAP32[$423>>2]|0; - $425 = ((($424)) + 20|0); - $426 = HEAP32[$425>>2]|0; - HEAP32[$pLeft2>>2] = $426; - $427 = HEAP32[$db>>2]|0; - $428 = HEAP32[$pStr1>>2]|0; - $429 = (_sqlite3ExprDup($427,$428,0)|0); - HEAP32[$pStr2>>2] = $429; - $430 = HEAP32[$noCase>>2]|0; - $431 = ($430|0)!=(0); - L55: do { - if ($431) { - $432 = HEAP32[$pParse>>2]|0; - $433 = HEAP32[$432>>2]|0; - $434 = ((($433)) + 69|0); - $435 = HEAP8[$434>>0]|0; - $436 = ($435<<24>>24)!=(0); - if (!($436)) { - $437 = HEAP32[$pTerm>>2]|0; - $438 = ((($437)) + 20|0); - $439 = HEAP16[$438>>1]|0; - $440 = $439&65535; - $441 = $440 | 1024; - $442 = $441&65535; - HEAP16[$438>>1] = $442; + $441 = HEAP32[$pExpr>>2]|0; + $442 = ((($441)) + 20|0); + $443 = HEAP32[$442>>2]|0; + $444 = ((($443)) + 4|0); + $445 = HEAP32[$444>>2]|0; + $446 = ((($445)) + 20|0); + $447 = HEAP32[$446>>2]|0; + HEAP32[$pLeft2>>2] = $447; + $448 = HEAP32[$db>>2]|0; + $449 = HEAP32[$pStr1>>2]|0; + $450 = (_sqlite3ExprDup($448,$449,0)|0); + HEAP32[$pStr2>>2] = $450; + $451 = HEAP32[$noCase>>2]|0; + $452 = ($451|0)!=(0); + L61: do { + if ($452) { + $453 = HEAP32[$pParse>>2]|0; + $454 = HEAP32[$453>>2]|0; + $455 = ((($454)) + 69|0); + $456 = HEAP8[$455>>0]|0; + $457 = ($456<<24>>24)!=(0); + if (!($457)) { + $458 = HEAP32[$pTerm>>2]|0; + $459 = ((($458)) + 10|0); + $460 = HEAP16[$459>>1]|0; + $461 = $460&65535; + $462 = $461 | 1024; + $463 = $462&65535; + HEAP16[$459>>1] = $463; HEAP32[$i4>>2] = 0; while(1) { - $443 = HEAP32[$i4>>2]|0; - $444 = HEAP32[$pStr1>>2]|0; - $445 = ((($444)) + 8|0); - $446 = HEAP32[$445>>2]|0; - $447 = (($446) + ($443)|0); - $448 = HEAP8[$447>>0]|0; - HEAP8[$c>>0] = $448; - $449 = $448 << 24 >> 24; - $450 = ($449|0)!=(0); - if (!($450)) { - break L55; + $464 = HEAP32[$i4>>2]|0; + $465 = HEAP32[$pStr1>>2]|0; + $466 = ((($465)) + 8|0); + $467 = HEAP32[$466>>2]|0; + $468 = (($467) + ($464)|0); + $469 = HEAP8[$468>>0]|0; + HEAP8[$c>>0] = $469; + $470 = $469 << 24 >> 24; + $471 = ($470|0)!=(0); + if (!($471)) { + break L61; } - $451 = HEAP8[$c>>0]|0; - $452 = $451 << 24 >> 24; - $453 = HEAP8[$c>>0]|0; - $454 = $453&255; - $455 = (19019 + ($454)|0); - $456 = HEAP8[$455>>0]|0; - $457 = $456&255; - $458 = $457 & 32; - $459 = $458 ^ -1; - $460 = $452 & $459; - $461 = $460&255; - $462 = HEAP32[$i4>>2]|0; - $463 = HEAP32[$pStr1>>2]|0; - $464 = ((($463)) + 8|0); - $465 = HEAP32[$464>>2]|0; - $466 = (($465) + ($462)|0); - HEAP8[$466>>0] = $461; - $467 = HEAP8[$c>>0]|0; - $468 = $467&255; - $469 = (18229 + ($468)|0); - $470 = HEAP8[$469>>0]|0; - $471 = HEAP32[$i4>>2]|0; - $472 = HEAP32[$pStr2>>2]|0; - $473 = ((($472)) + 8|0); - $474 = HEAP32[$473>>2]|0; - $475 = (($474) + ($471)|0); - HEAP8[$475>>0] = $470; - $476 = HEAP32[$i4>>2]|0; - $477 = (($476) + 1)|0; - HEAP32[$i4>>2] = $477; + $472 = HEAP8[$c>>0]|0; + $473 = $472 << 24 >> 24; + $474 = HEAP8[$c>>0]|0; + $475 = $474&255; + $476 = (18403 + ($475)|0); + $477 = HEAP8[$476>>0]|0; + $478 = $477&255; + $479 = $478 & 32; + $480 = $479 ^ -1; + $481 = $473 & $480; + $482 = $481&255; + $483 = HEAP32[$i4>>2]|0; + $484 = HEAP32[$pStr1>>2]|0; + $485 = ((($484)) + 8|0); + $486 = HEAP32[$485>>2]|0; + $487 = (($486) + ($483)|0); + HEAP8[$487>>0] = $482; + $488 = HEAP8[$c>>0]|0; + $489 = $488&255; + $490 = (17613 + ($489)|0); + $491 = HEAP8[$490>>0]|0; + $492 = HEAP32[$i4>>2]|0; + $493 = HEAP32[$pStr2>>2]|0; + $494 = ((($493)) + 8|0); + $495 = HEAP32[$494>>2]|0; + $496 = (($495) + ($492)|0); + HEAP8[$496>>0] = $491; + $497 = HEAP32[$i4>>2]|0; + $498 = (($497) + 1)|0; + HEAP32[$i4>>2] = $498; } } } } while(0); - $478 = HEAP32[$db>>2]|0; - $479 = ((($478)) + 69|0); - $480 = HEAP8[$479>>0]|0; - $481 = ($480<<24>>24)!=(0); - if (!($481)) { - $482 = HEAP32[$pStr2>>2]|0; - $483 = ((($482)) + 8|0); - $484 = HEAP32[$483>>2]|0; - $485 = (_sqlite3Strlen30($484)|0); - $486 = (($485) - 1)|0; - $487 = HEAP32[$pStr2>>2]|0; - $488 = ((($487)) + 8|0); - $489 = HEAP32[$488>>2]|0; - $490 = (($489) + ($486)|0); - HEAP32[$pC>>2] = $490; - $491 = HEAP32[$pC>>2]|0; - $492 = HEAP8[$491>>0]|0; - HEAP8[$c5>>0] = $492; - $493 = HEAP32[$noCase>>2]|0; - $494 = ($493|0)!=(0); - if ($494) { - $495 = HEAP8[$c5>>0]|0; - $496 = $495&255; - $497 = ($496|0)==(64); - if ($497) { + $499 = HEAP32[$db>>2]|0; + $500 = ((($499)) + 69|0); + $501 = HEAP8[$500>>0]|0; + $502 = ($501<<24>>24)!=(0); + if (!($502)) { + $503 = HEAP32[$pStr2>>2]|0; + $504 = ((($503)) + 8|0); + $505 = HEAP32[$504>>2]|0; + $506 = (_sqlite3Strlen30($505)|0); + $507 = (($506) - 1)|0; + $508 = HEAP32[$pStr2>>2]|0; + $509 = ((($508)) + 8|0); + $510 = HEAP32[$509>>2]|0; + $511 = (($510) + ($507)|0); + HEAP32[$pC>>2] = $511; + $512 = HEAP32[$pC>>2]|0; + $513 = HEAP8[$512>>0]|0; + HEAP8[$c5>>0] = $513; + $514 = HEAP32[$noCase>>2]|0; + $515 = ($514|0)!=(0); + if ($515) { + $516 = HEAP8[$c5>>0]|0; + $517 = $516&255; + $518 = ($517|0)==(64); + if ($518) { HEAP32[$isComplete>>2] = 0; } - $498 = HEAP8[$c5>>0]|0; - $499 = $498&255; - $500 = (18229 + ($499)|0); - $501 = HEAP8[$500>>0]|0; - HEAP8[$c5>>0] = $501; - } - $502 = HEAP8[$c5>>0]|0; - $503 = $502&255; - $504 = (($503) + 1)|0; - $505 = $504&255; - $506 = HEAP32[$pC>>2]|0; - HEAP8[$506>>0] = $505; - } - $507 = HEAP32[$noCase>>2]|0; - $508 = ($507|0)!=(0); - $509 = $508 ? 21045 : 35351; - HEAP32[$zCollSeqName>>2] = $509; - $510 = HEAP32[$db>>2]|0; - $511 = HEAP32[$pLeft2>>2]|0; - $512 = (_sqlite3ExprDup($510,$511,0)|0); - HEAP32[$pNewExpr1>>2] = $512; - $513 = HEAP32[$pParse>>2]|0; - $514 = HEAP32[$pParse>>2]|0; - $515 = HEAP32[$pNewExpr1>>2]|0; - $516 = HEAP32[$zCollSeqName>>2]|0; - $517 = (_sqlite3ExprAddCollateString($514,$515,$516)|0); - $518 = HEAP32[$pStr1>>2]|0; - $519 = (_sqlite3PExpr($513,41,$517,$518,0)|0); - HEAP32[$pNewExpr1>>2] = $519; - $520 = HEAP32[$pNewExpr1>>2]|0; - $521 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($520,$521); - $522 = HEAP32[$1>>2]|0; - $523 = HEAP32[$pNewExpr1>>2]|0; - $524 = (_whereClauseInsert($522,$523,259)|0); - HEAP32[$idxNew13>>2] = $524; - $525 = HEAP32[$0>>2]|0; - $526 = HEAP32[$1>>2]|0; - $527 = HEAP32[$idxNew13>>2]|0; - _exprAnalyze($525,$526,$527); - $528 = HEAP32[$db>>2]|0; - $529 = HEAP32[$pLeft2>>2]|0; - $530 = (_sqlite3ExprDup($528,$529,0)|0); - HEAP32[$pNewExpr2>>2] = $530; - $531 = HEAP32[$pParse>>2]|0; - $532 = HEAP32[$pParse>>2]|0; - $533 = HEAP32[$pNewExpr2>>2]|0; - $534 = HEAP32[$zCollSeqName>>2]|0; - $535 = (_sqlite3ExprAddCollateString($532,$533,$534)|0); - $536 = HEAP32[$pStr2>>2]|0; - $537 = (_sqlite3PExpr($531,40,$535,$536,0)|0); - HEAP32[$pNewExpr2>>2] = $537; - $538 = HEAP32[$pNewExpr2>>2]|0; - $539 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($538,$539); - $540 = HEAP32[$1>>2]|0; - $541 = HEAP32[$pNewExpr2>>2]|0; - $542 = (_whereClauseInsert($540,$541,259)|0); - HEAP32[$idxNew2>>2] = $542; - $543 = HEAP32[$0>>2]|0; - $544 = HEAP32[$1>>2]|0; - $545 = HEAP32[$idxNew2>>2]|0; - _exprAnalyze($543,$544,$545); - $546 = HEAP32[$2>>2]|0; + $519 = HEAP8[$c5>>0]|0; + $520 = $519&255; + $521 = (17613 + ($520)|0); + $522 = HEAP8[$521>>0]|0; + HEAP8[$c5>>0] = $522; + } + $523 = HEAP8[$c5>>0]|0; + $524 = $523&255; + $525 = (($524) + 1)|0; + $526 = $525&255; + $527 = HEAP32[$pC>>2]|0; + HEAP8[$527>>0] = $526; + } + $528 = HEAP32[$noCase>>2]|0; + $529 = ($528|0)!=(0); + $530 = $529 ? 20429 : 34834; + HEAP32[$zCollSeqName>>2] = $530; + $531 = HEAP32[$db>>2]|0; + $532 = HEAP32[$pLeft2>>2]|0; + $533 = (_sqlite3ExprDup($531,$532,0)|0); + HEAP32[$pNewExpr1>>2] = $533; + $534 = HEAP32[$pParse>>2]|0; + $535 = HEAP32[$pParse>>2]|0; + $536 = HEAP32[$pNewExpr1>>2]|0; + $537 = HEAP32[$zCollSeqName>>2]|0; + $538 = (_sqlite3ExprAddCollateString($535,$536,$537)|0); + $539 = HEAP32[$pStr1>>2]|0; + $540 = (_sqlite3PExpr($534,41,$538,$539,0)|0); + HEAP32[$pNewExpr1>>2] = $540; + $541 = HEAP32[$pNewExpr1>>2]|0; + $542 = HEAP32[$pExpr>>2]|0; + _transferJoinMarkings($541,$542); + $543 = HEAP32[$1>>2]|0; + $544 = HEAP32[$pNewExpr1>>2]|0; + $545 = (_whereClauseInsert($543,$544,259)|0); + HEAP32[$idxNew13>>2] = $545; + $546 = HEAP32[$0>>2]|0; $547 = HEAP32[$1>>2]|0; - $548 = ((($547)) + 20|0); - $549 = HEAP32[$548>>2]|0; - $550 = (($549) + (($546*48)|0)|0); - HEAP32[$pTerm>>2] = $550; - $551 = HEAP32[$isComplete>>2]|0; - $552 = ($551|0)!=(0); - if ($552) { - $553 = HEAP32[$1>>2]|0; - $554 = HEAP32[$idxNew13>>2]|0; - $555 = HEAP32[$2>>2]|0; - _markTermAsChild($553,$554,$555); - $556 = HEAP32[$1>>2]|0; - $557 = HEAP32[$idxNew2>>2]|0; - $558 = HEAP32[$2>>2]|0; - _markTermAsChild($556,$557,$558); - } - } - } - $559 = HEAP32[$pExpr>>2]|0; - $560 = (_isMatchOfColumn($559,$eOp2)|0); - $561 = ($560|0)!=(0); - if ($561) { - $562 = HEAP32[$pExpr>>2]|0; - $563 = ((($562)) + 20|0); - $564 = HEAP32[$563>>2]|0; - $565 = ((($564)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = HEAP32[$566>>2]|0; - HEAP32[$pRight7>>2] = $567; - $568 = HEAP32[$pExpr>>2]|0; - $569 = ((($568)) + 20|0); - $570 = HEAP32[$569>>2]|0; - $571 = ((($570)) + 4|0); - $572 = HEAP32[$571>>2]|0; - $573 = ((($572)) + 20|0); - $574 = HEAP32[$573>>2]|0; - HEAP32[$pLeft8>>2] = $574; - $575 = HEAP32[$pMaskSet>>2]|0; - $576 = HEAP32[$pRight7>>2]|0; - $577 = (_sqlite3WhereExprUsage($575,$576)|0); - $578 = tempRet0; - $579 = $prereqExpr; - $580 = $579; - HEAP32[$580>>2] = $577; - $581 = (($579) + 4)|0; - $582 = $581; - HEAP32[$582>>2] = $578; - $583 = HEAP32[$pMaskSet>>2]|0; - $584 = HEAP32[$pLeft8>>2]|0; - $585 = (_sqlite3WhereExprUsage($583,$584)|0); - $586 = tempRet0; - $587 = $prereqColumn; - $588 = $587; - HEAP32[$588>>2] = $585; - $589 = (($587) + 4)|0; - $590 = $589; - HEAP32[$590>>2] = $586; - $591 = $prereqExpr; - $592 = $591; - $593 = HEAP32[$592>>2]|0; - $594 = (($591) + 4)|0; - $595 = $594; - $596 = HEAP32[$595>>2]|0; - $597 = $prereqColumn; - $598 = $597; - $599 = HEAP32[$598>>2]|0; - $600 = (($597) + 4)|0; - $601 = $600; - $602 = HEAP32[$601>>2]|0; - $603 = $593 & $599; - $604 = $596 & $602; - $605 = ($603|0)==(0); - $606 = ($604|0)==(0); - $607 = $605 & $606; - if ($607) { - $608 = HEAP32[$pParse>>2]|0; - $609 = HEAP32[$db>>2]|0; - $610 = HEAP32[$pRight7>>2]|0; - $611 = (_sqlite3ExprDup($609,$610,0)|0); - $612 = (_sqlite3PExpr($608,30,0,$611,0)|0); - HEAP32[$pNewExpr9>>2] = $612; - $613 = HEAP32[$1>>2]|0; - $614 = HEAP32[$pNewExpr9>>2]|0; - $615 = (_whereClauseInsert($613,$614,3)|0); - HEAP32[$idxNew6>>2] = $615; - $616 = HEAP32[$idxNew6>>2]|0; - $617 = HEAP32[$1>>2]|0; - $618 = ((($617)) + 20|0); + $548 = HEAP32[$idxNew13>>2]|0; + _exprAnalyze($546,$547,$548); + $549 = HEAP32[$db>>2]|0; + $550 = HEAP32[$pLeft2>>2]|0; + $551 = (_sqlite3ExprDup($549,$550,0)|0); + HEAP32[$pNewExpr2>>2] = $551; + $552 = HEAP32[$pParse>>2]|0; + $553 = HEAP32[$pParse>>2]|0; + $554 = HEAP32[$pNewExpr2>>2]|0; + $555 = HEAP32[$zCollSeqName>>2]|0; + $556 = (_sqlite3ExprAddCollateString($553,$554,$555)|0); + $557 = HEAP32[$pStr2>>2]|0; + $558 = (_sqlite3PExpr($552,40,$556,$557,0)|0); + HEAP32[$pNewExpr2>>2] = $558; + $559 = HEAP32[$pNewExpr2>>2]|0; + $560 = HEAP32[$pExpr>>2]|0; + _transferJoinMarkings($559,$560); + $561 = HEAP32[$1>>2]|0; + $562 = HEAP32[$pNewExpr2>>2]|0; + $563 = (_whereClauseInsert($561,$562,259)|0); + HEAP32[$idxNew2>>2] = $563; + $564 = HEAP32[$0>>2]|0; + $565 = HEAP32[$1>>2]|0; + $566 = HEAP32[$idxNew2>>2]|0; + _exprAnalyze($564,$565,$566); + $567 = HEAP32[$2>>2]|0; + $568 = HEAP32[$1>>2]|0; + $569 = ((($568)) + 20|0); + $570 = HEAP32[$569>>2]|0; + $571 = (($570) + (($567*48)|0)|0); + HEAP32[$pTerm>>2] = $571; + $572 = HEAP32[$isComplete>>2]|0; + $573 = ($572|0)!=(0); + if ($573) { + $574 = HEAP32[$1>>2]|0; + $575 = HEAP32[$idxNew13>>2]|0; + $576 = HEAP32[$2>>2]|0; + _markTermAsChild($574,$575,$576); + $577 = HEAP32[$1>>2]|0; + $578 = HEAP32[$idxNew2>>2]|0; + $579 = HEAP32[$2>>2]|0; + _markTermAsChild($577,$578,$579); + } + } + } + $580 = HEAP32[$1>>2]|0; + $581 = ((($580)) + 8|0); + $582 = HEAP8[$581>>0]|0; + $583 = $582&255; + $584 = ($583|0)==(28); + if ($584) { + $585 = HEAP32[$pExpr>>2]|0; + $586 = (_isMatchOfColumn($585,$eOp2)|0); + $587 = ($586|0)!=(0); + if ($587) { + $588 = HEAP32[$pExpr>>2]|0; + $589 = ((($588)) + 20|0); + $590 = HEAP32[$589>>2]|0; + $591 = ((($590)) + 4|0); + $592 = HEAP32[$591>>2]|0; + $593 = HEAP32[$592>>2]|0; + HEAP32[$pRight7>>2] = $593; + $594 = HEAP32[$pExpr>>2]|0; + $595 = ((($594)) + 20|0); + $596 = HEAP32[$595>>2]|0; + $597 = ((($596)) + 4|0); + $598 = HEAP32[$597>>2]|0; + $599 = ((($598)) + 20|0); + $600 = HEAP32[$599>>2]|0; + HEAP32[$pLeft8>>2] = $600; + $601 = HEAP32[$pMaskSet>>2]|0; + $602 = HEAP32[$pRight7>>2]|0; + $603 = (_sqlite3WhereExprUsage($601,$602)|0); + $604 = tempRet0; + $605 = $prereqExpr; + $606 = $605; + HEAP32[$606>>2] = $603; + $607 = (($605) + 4)|0; + $608 = $607; + HEAP32[$608>>2] = $604; + $609 = HEAP32[$pMaskSet>>2]|0; + $610 = HEAP32[$pLeft8>>2]|0; + $611 = (_sqlite3WhereExprUsage($609,$610)|0); + $612 = tempRet0; + $613 = $prereqColumn; + $614 = $613; + HEAP32[$614>>2] = $611; + $615 = (($613) + 4)|0; + $616 = $615; + HEAP32[$616>>2] = $612; + $617 = $prereqExpr; + $618 = $617; $619 = HEAP32[$618>>2]|0; - $620 = (($619) + (($616*48)|0)|0); - HEAP32[$pNewTerm>>2] = $620; - $621 = $prereqExpr; - $622 = $621; - $623 = HEAP32[$622>>2]|0; - $624 = (($621) + 4)|0; - $625 = $624; - $626 = HEAP32[$625>>2]|0; - $627 = HEAP32[$pNewTerm>>2]|0; - $628 = ((($627)) + 32|0); - $629 = $628; - $630 = $629; - HEAP32[$630>>2] = $623; - $631 = (($629) + 4)|0; - $632 = $631; - HEAP32[$632>>2] = $626; - $633 = HEAP32[$pLeft8>>2]|0; - $634 = ((($633)) + 28|0); - $635 = HEAP32[$634>>2]|0; - $636 = HEAP32[$pNewTerm>>2]|0; - $637 = ((($636)) + 8|0); - HEAP32[$637>>2] = $635; - $638 = HEAP32[$pLeft8>>2]|0; - $639 = ((($638)) + 32|0); - $640 = HEAP16[$639>>1]|0; - $641 = $640 << 16 >> 16; - $642 = HEAP32[$pNewTerm>>2]|0; - $643 = ((($642)) + 12|0); - HEAP32[$643>>2] = $641; - $644 = HEAP32[$pNewTerm>>2]|0; - $645 = ((($644)) + 18|0); - HEAP16[$645>>1] = 64; - $646 = HEAP8[$eOp2>>0]|0; - $647 = HEAP32[$pNewTerm>>2]|0; - $648 = ((($647)) + 23|0); - HEAP8[$648>>0] = $646; - $649 = HEAP32[$1>>2]|0; - $650 = HEAP32[$idxNew6>>2]|0; - $651 = HEAP32[$2>>2]|0; - _markTermAsChild($649,$650,$651); - $652 = HEAP32[$2>>2]|0; - $653 = HEAP32[$1>>2]|0; - $654 = ((($653)) + 20|0); - $655 = HEAP32[$654>>2]|0; - $656 = (($655) + (($652*48)|0)|0); - HEAP32[$pTerm>>2] = $656; - $657 = HEAP32[$pTerm>>2]|0; - $658 = ((($657)) + 20|0); - $659 = HEAP16[$658>>1]|0; - $660 = $659&65535; - $661 = $660 | 8; - $662 = $661&65535; - HEAP16[$658>>1] = $662; - $663 = HEAP32[$pTerm>>2]|0; - $664 = ((($663)) + 40|0); - $665 = $664; - $666 = $665; - $667 = HEAP32[$666>>2]|0; - $668 = (($665) + 4)|0; - $669 = $668; - $670 = HEAP32[$669>>2]|0; - $671 = HEAP32[$pNewTerm>>2]|0; - $672 = ((($671)) + 40|0); - $673 = $672; - $674 = $673; - HEAP32[$674>>2] = $667; - $675 = (($673) + 4)|0; - $676 = $675; - HEAP32[$676>>2] = $670; - } - } - $677 = $extraRight; - $678 = $677; - $679 = HEAP32[$678>>2]|0; - $680 = (($677) + 4)|0; - $681 = $680; - $682 = HEAP32[$681>>2]|0; - $683 = HEAP32[$pTerm>>2]|0; - $684 = ((($683)) + 32|0); - $685 = $684; - $686 = $685; - $687 = HEAP32[$686>>2]|0; - $688 = (($685) + 4)|0; - $689 = $688; - $690 = HEAP32[$689>>2]|0; - $691 = $687 | $679; - $692 = $690 | $682; - $693 = $684; - $694 = $693; - HEAP32[$694>>2] = $691; - $695 = (($693) + 4)|0; - $696 = $695; - HEAP32[$696>>2] = $692; + $620 = (($617) + 4)|0; + $621 = $620; + $622 = HEAP32[$621>>2]|0; + $623 = $prereqColumn; + $624 = $623; + $625 = HEAP32[$624>>2]|0; + $626 = (($623) + 4)|0; + $627 = $626; + $628 = HEAP32[$627>>2]|0; + $629 = $619 & $625; + $630 = $622 & $628; + $631 = ($629|0)==(0); + $632 = ($630|0)==(0); + $633 = $631 & $632; + if ($633) { + $634 = HEAP32[$pParse>>2]|0; + $635 = HEAP32[$db>>2]|0; + $636 = HEAP32[$pRight7>>2]|0; + $637 = (_sqlite3ExprDup($635,$636,0)|0); + $638 = (_sqlite3PExpr($634,30,0,$637,0)|0); + HEAP32[$pNewExpr9>>2] = $638; + $639 = HEAP32[$1>>2]|0; + $640 = HEAP32[$pNewExpr9>>2]|0; + $641 = (_whereClauseInsert($639,$640,3)|0); + HEAP32[$idxNew6>>2] = $641; + $642 = HEAP32[$idxNew6>>2]|0; + $643 = HEAP32[$1>>2]|0; + $644 = ((($643)) + 20|0); + $645 = HEAP32[$644>>2]|0; + $646 = (($645) + (($642*48)|0)|0); + HEAP32[$pNewTerm>>2] = $646; + $647 = $prereqExpr; + $648 = $647; + $649 = HEAP32[$648>>2]|0; + $650 = (($647) + 4)|0; + $651 = $650; + $652 = HEAP32[$651>>2]|0; + $653 = HEAP32[$pNewTerm>>2]|0; + $654 = ((($653)) + 32|0); + $655 = $654; + $656 = $655; + HEAP32[$656>>2] = $649; + $657 = (($655) + 4)|0; + $658 = $657; + HEAP32[$658>>2] = $652; + $659 = HEAP32[$pLeft8>>2]|0; + $660 = ((($659)) + 28|0); + $661 = HEAP32[$660>>2]|0; + $662 = HEAP32[$pNewTerm>>2]|0; + $663 = ((($662)) + 20|0); + HEAP32[$663>>2] = $661; + $664 = HEAP32[$pLeft8>>2]|0; + $665 = ((($664)) + 32|0); + $666 = HEAP16[$665>>1]|0; + $667 = $666 << 16 >> 16; + $668 = HEAP32[$pNewTerm>>2]|0; + $669 = ((($668)) + 28|0); + HEAP32[$669>>2] = $667; + $670 = HEAP32[$pNewTerm>>2]|0; + $671 = ((($670)) + 12|0); + HEAP16[$671>>1] = 64; + $672 = HEAP8[$eOp2>>0]|0; + $673 = HEAP32[$pNewTerm>>2]|0; + $674 = ((($673)) + 15|0); + HEAP8[$674>>0] = $672; + $675 = HEAP32[$1>>2]|0; + $676 = HEAP32[$idxNew6>>2]|0; + $677 = HEAP32[$2>>2]|0; + _markTermAsChild($675,$676,$677); + $678 = HEAP32[$2>>2]|0; + $679 = HEAP32[$1>>2]|0; + $680 = ((($679)) + 20|0); + $681 = HEAP32[$680>>2]|0; + $682 = (($681) + (($678*48)|0)|0); + HEAP32[$pTerm>>2] = $682; + $683 = HEAP32[$pTerm>>2]|0; + $684 = ((($683)) + 10|0); + $685 = HEAP16[$684>>1]|0; + $686 = $685&65535; + $687 = $686 | 8; + $688 = $687&65535; + HEAP16[$684>>1] = $688; + $689 = HEAP32[$pTerm>>2]|0; + $690 = ((($689)) + 40|0); + $691 = $690; + $692 = $691; + $693 = HEAP32[$692>>2]|0; + $694 = (($691) + 4)|0; + $695 = $694; + $696 = HEAP32[$695>>2]|0; + $697 = HEAP32[$pNewTerm>>2]|0; + $698 = ((($697)) + 40|0); + $699 = $698; + $700 = $699; + HEAP32[$700>>2] = $693; + $701 = (($699) + 4)|0; + $702 = $701; + HEAP32[$702>>2] = $696; + } + } + } + $703 = HEAP32[$1>>2]|0; + $704 = ((($703)) + 8|0); + $705 = HEAP8[$704>>0]|0; + $706 = $705&255; + $707 = ($706|0)==(28); + do { + if ($707) { + $708 = HEAP32[$pExpr>>2]|0; + $709 = HEAP8[$708>>0]|0; + $710 = $709&255; + $711 = ($710|0)==(37); + if (!($711)) { + $712 = HEAP32[$pExpr>>2]|0; + $713 = HEAP8[$712>>0]|0; + $714 = $713&255; + $715 = ($714|0)==(29); + if (!($715)) { + break; + } + } + $716 = HEAP32[$pExpr>>2]|0; + $717 = ((($716)) + 12|0); + $718 = HEAP32[$717>>2]|0; + $719 = (_sqlite3ExprIsVector($718)|0); + $720 = ($719|0)!=(0); + if ($720) { + $721 = HEAP32[$pExpr>>2]|0; + $722 = ((($721)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = ((($723)) + 4|0); + $725 = HEAP32[$724>>2]|0; + $726 = $725 & 2048; + $727 = ($726|0)==(0); + if (!($727)) { + $728 = HEAP32[$pExpr>>2]|0; + $729 = ((($728)) + 16|0); + $730 = HEAP32[$729>>2]|0; + $731 = ((($730)) + 4|0); + $732 = HEAP32[$731>>2]|0; + $733 = $732 & 2048; + $734 = ($733|0)==(0); + if (!($734)) { + break; + } + } + $735 = HEAP32[$pExpr>>2]|0; + $736 = ((($735)) + 12|0); + $737 = HEAP32[$736>>2]|0; + $738 = (_sqlite3ExprVectorSize($737)|0); + HEAP32[$nLeft>>2] = $738; + HEAP32[$i10>>2] = 0; + while(1) { + $739 = HEAP32[$i10>>2]|0; + $740 = HEAP32[$nLeft>>2]|0; + $741 = ($739|0)<($740|0); + if (!($741)) { + break; + } + $742 = HEAP32[$pParse>>2]|0; + $743 = HEAP32[$pExpr>>2]|0; + $744 = ((($743)) + 12|0); + $745 = HEAP32[$744>>2]|0; + $746 = HEAP32[$i10>>2]|0; + $747 = (_sqlite3ExprForVectorField($742,$745,$746)|0); + HEAP32[$pLeft13>>2] = $747; + $748 = HEAP32[$pParse>>2]|0; + $749 = HEAP32[$pExpr>>2]|0; + $750 = ((($749)) + 16|0); + $751 = HEAP32[$750>>2]|0; + $752 = HEAP32[$i10>>2]|0; + $753 = (_sqlite3ExprForVectorField($748,$751,$752)|0); + HEAP32[$pRight14>>2] = $753; + $754 = HEAP32[$pParse>>2]|0; + $755 = HEAP32[$pExpr>>2]|0; + $756 = HEAP8[$755>>0]|0; + $757 = $756&255; + $758 = HEAP32[$pLeft13>>2]|0; + $759 = HEAP32[$pRight14>>2]|0; + $760 = (_sqlite3PExpr($754,$757,$758,$759,0)|0); + HEAP32[$pNew12>>2] = $760; + $761 = HEAP32[$pNew12>>2]|0; + $762 = HEAP32[$pExpr>>2]|0; + _transferJoinMarkings($761,$762); + $763 = HEAP32[$1>>2]|0; + $764 = HEAP32[$pNew12>>2]|0; + $765 = (_whereClauseInsert($763,$764,1)|0); + HEAP32[$idxNew11>>2] = $765; + $766 = HEAP32[$0>>2]|0; + $767 = HEAP32[$1>>2]|0; + $768 = HEAP32[$idxNew11>>2]|0; + _exprAnalyze($766,$767,$768); + $769 = HEAP32[$i10>>2]|0; + $770 = (($769) + 1)|0; + HEAP32[$i10>>2] = $770; + } + $771 = HEAP32[$2>>2]|0; + $772 = HEAP32[$1>>2]|0; + $773 = ((($772)) + 20|0); + $774 = HEAP32[$773>>2]|0; + $775 = (($774) + (($771*48)|0)|0); + HEAP32[$pTerm>>2] = $775; + $776 = HEAP32[$pTerm>>2]|0; + $777 = ((($776)) + 10|0); + HEAP16[$777>>1] = 6; + $778 = HEAP32[$pTerm>>2]|0; + $779 = ((($778)) + 12|0); + HEAP16[$779>>1] = 0; + } + } + } while(0); + $780 = HEAP32[$1>>2]|0; + $781 = ((($780)) + 8|0); + $782 = HEAP8[$781>>0]|0; + $783 = $782&255; + $784 = ($783|0)==(28); + L98: do { + if ($784) { + $785 = HEAP32[$pExpr>>2]|0; + $786 = HEAP8[$785>>0]|0; + $787 = $786&255; + $788 = ($787|0)==(33); + if ($788) { + $789 = HEAP32[$pTerm>>2]|0; + $790 = ((($789)) + 24|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0); + if ($792) { + $793 = HEAP32[$pExpr>>2]|0; + $794 = ((($793)) + 12|0); + $795 = HEAP32[$794>>2]|0; + $796 = HEAP8[$795>>0]|0; + $797 = $796&255; + $798 = ($797|0)==(158); + if ($798) { + $799 = HEAP32[$pExpr>>2]|0; + $800 = ((($799)) + 20|0); + $801 = HEAP32[$800>>2]|0; + $802 = ((($801)) + 48|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==(0|0); + if ($804) { + HEAP32[$i15>>2] = 0; + while(1) { + $805 = HEAP32[$i15>>2]|0; + $806 = HEAP32[$pExpr>>2]|0; + $807 = ((($806)) + 12|0); + $808 = HEAP32[$807>>2]|0; + $809 = (_sqlite3ExprVectorSize($808)|0); + $810 = ($805|0)<($809|0); + if (!($810)) { + break L98; + } + $811 = HEAP32[$1>>2]|0; + $812 = HEAP32[$pExpr>>2]|0; + $813 = (_whereClauseInsert($811,$812,2)|0); + HEAP32[$idxNew16>>2] = $813; + $814 = HEAP32[$i15>>2]|0; + $815 = (($814) + 1)|0; + $816 = HEAP32[$idxNew16>>2]|0; + $817 = HEAP32[$1>>2]|0; + $818 = ((($817)) + 20|0); + $819 = HEAP32[$818>>2]|0; + $820 = (($819) + (($816*48)|0)|0); + $821 = ((($820)) + 24|0); + HEAP32[$821>>2] = $815; + $822 = HEAP32[$0>>2]|0; + $823 = HEAP32[$1>>2]|0; + $824 = HEAP32[$idxNew16>>2]|0; + _exprAnalyze($822,$823,$824); + $825 = HEAP32[$1>>2]|0; + $826 = HEAP32[$idxNew16>>2]|0; + $827 = HEAP32[$2>>2]|0; + _markTermAsChild($825,$826,$827); + $828 = HEAP32[$i15>>2]|0; + $829 = (($828) + 1)|0; + HEAP32[$i15>>2] = $829; + } + } + } + } + } + } + } while(0); + $830 = $extraRight; + $831 = $830; + $832 = HEAP32[$831>>2]|0; + $833 = (($830) + 4)|0; + $834 = $833; + $835 = HEAP32[$834>>2]|0; + $836 = HEAP32[$pTerm>>2]|0; + $837 = ((($836)) + 32|0); + $838 = $837; + $839 = $838; + $840 = HEAP32[$839>>2]|0; + $841 = (($838) + 4)|0; + $842 = $841; + $843 = HEAP32[$842>>2]|0; + $844 = $840 | $832; + $845 = $843 | $835; + $846 = $837; + $847 = $846; + HEAP32[$847>>2] = $844; + $848 = (($846) + 4)|0; + $849 = $848; + HEAP32[$849>>2] = $845; STACKTOP = sp;return; } function _allowedOp($op) { @@ -186689,223 +190961,246 @@ function _allowedOp($op) { $11 = $12&1; STACKTOP = sp;return ($11|0); } -function _exprMightBeIndexed($pFrom,$0,$1,$pExpr,$piCur,$piColumn) { +function _exprMightBeIndexed($pFrom,$op,$0,$1,$pExpr,$piCur,$piColumn) { $pFrom = $pFrom|0; + $op = $op|0; $0 = $0|0; $1 = $1|0; $pExpr = $pExpr|0; $piCur = $piCur|0; $piColumn = $piColumn|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCur = 0, $pIdx = 0, label = 0, sp = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCur = 0, $or$cond = 0, $or$cond3 = 0, $pIdx = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp; - $5 = sp + 28|0; - $6 = sp + 24|0; - $7 = sp + 20|0; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = sp; + $6 = sp + 28|0; + $7 = sp + 24|0; + $8 = sp + 20|0; $pIdx = sp + 16|0; $i = sp + 12|0; $iCur = sp + 8|0; HEAP32[$3>>2] = $pFrom; - $8 = $4; - $9 = $8; - HEAP32[$9>>2] = $0; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $1; - HEAP32[$5>>2] = $pExpr; - HEAP32[$6>>2] = $piCur; - HEAP32[$7>>2] = $piColumn; - $12 = HEAP32[$5>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(152); - if ($15) { - $16 = HEAP32[$5>>2]|0; - $17 = ((($16)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$6>>2]|0; - HEAP32[$19>>2] = $18; - $20 = HEAP32[$5>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = HEAP32[$7>>2]|0; - HEAP32[$24>>2] = $23; - HEAP32[$2>>2] = 1; - $131 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($131|0); + HEAP32[$4>>2] = $op; + $9 = $5; + $10 = $9; + HEAP32[$10>>2] = $0; + $11 = (($9) + 4)|0; + $12 = $11; + HEAP32[$12>>2] = $1; + HEAP32[$6>>2] = $pExpr; + HEAP32[$7>>2] = $piCur; + HEAP32[$8>>2] = $piColumn; + $13 = HEAP32[$6>>2]|0; + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==(158); + $17 = HEAP32[$4>>2]|0; + $18 = ($17|0)>=(38); + $or$cond = $16 & $18; + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)<=(41); + $or$cond3 = $or$cond & $20; + if ($or$cond3) { + $21 = HEAP32[$6>>2]|0; + $22 = ((($21)) + 20|0); + $23 = HEAP32[$22>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$25>>2]|0; + HEAP32[$6>>2] = $26; } - $25 = $4; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = ($27|0)==(0); - $32 = ($30|0)==(0); - $33 = $31 & $32; - if ($33) { - HEAP32[$2>>2] = 0; - $131 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($131|0); + $27 = HEAP32[$6>>2]|0; + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($29|0)==(152); + if ($30) { + $31 = HEAP32[$6>>2]|0; + $32 = ((($31)) + 28|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$7>>2]|0; + HEAP32[$34>>2] = $33; + $35 = HEAP32[$6>>2]|0; + $36 = ((($35)) + 32|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37 << 16 >> 16; + $39 = HEAP32[$8>>2]|0; + HEAP32[$39>>2] = $38; + HEAP32[$2>>2] = 1; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } - $34 = $4; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = $4; + $40 = $5; $41 = $40; $42 = HEAP32[$41>>2]|0; $43 = (($40) + 4)|0; $44 = $43; $45 = HEAP32[$44>>2]|0; - $46 = (_i64Subtract(($42|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = $36 & $46; - $49 = $39 & $47; - $50 = ($48|0)!=(0); - $51 = ($49|0)!=(0); - $52 = $50 | $51; - if ($52) { + $46 = ($42|0)==(0); + $47 = ($45|0)==(0); + $48 = $46 & $47; + if ($48) { HEAP32[$2>>2] = 0; - $131 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($131|0); + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); + } + $49 = $5; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $5; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (($55) + 4)|0; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (_i64Subtract(($57|0),($60|0),1,0)|0); + $62 = tempRet0; + $63 = $51 & $61; + $64 = $54 & $62; + $65 = ($63|0)!=(0); + $66 = ($64|0)!=(0); + $67 = $65 | $66; + if ($67) { + HEAP32[$2>>2] = 0; + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } HEAP32[$i>>2] = 0; while(1) { - $53 = $4; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (($53) + 4)|0; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = ($58>>>0)>(0); - $60 = ($55>>>0)>(1); - $61 = ($58|0)==(0); - $62 = $61 & $60; - $63 = $59 | $62; - $64 = HEAP32[$i>>2]|0; - if (!($63)) { + $68 = $5; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = ($73>>>0)>(0); + $75 = ($70>>>0)>(1); + $76 = ($73|0)==(0); + $77 = $76 & $75; + $78 = $74 | $77; + $79 = HEAP32[$i>>2]|0; + if (!($78)) { break; } - $65 = (($64) + 1)|0; - HEAP32[$i>>2] = $65; - $66 = $4; - $67 = $66; - $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (_bitshift64Lshr(($68|0),($71|0),1)|0); - $73 = tempRet0; - $74 = $4; - $75 = $74; - HEAP32[$75>>2] = $72; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; + $80 = (($79) + 1)|0; + HEAP32[$i>>2] = $80; + $81 = $5; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (($81) + 4)|0; + $85 = $84; + $86 = HEAP32[$85>>2]|0; + $87 = (_bitshift64Lshr(($83|0),($86|0),1)|0); + $88 = tempRet0; + $89 = $5; + $90 = $89; + HEAP32[$90>>2] = $87; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; } - $78 = HEAP32[$3>>2]|0; - $79 = ((($78)) + 8|0); - $80 = (($79) + (($64*72)|0)|0); - $81 = ((($80)) + 44|0); - $82 = HEAP32[$81>>2]|0; - HEAP32[$iCur>>2] = $82; - $83 = HEAP32[$i>>2]|0; - $84 = HEAP32[$3>>2]|0; - $85 = ((($84)) + 8|0); - $86 = (($85) + (($83*72)|0)|0); - $87 = ((($86)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ((($88)) + 8|0); - $90 = HEAP32[$89>>2]|0; - HEAP32[$pIdx>>2] = $90; - L17: while(1) { - $91 = HEAP32[$pIdx>>2]|0; - $92 = ($91|0)!=(0|0); - if (!($92)) { - label = 20; + $93 = HEAP32[$3>>2]|0; + $94 = ((($93)) + 8|0); + $95 = (($94) + (($79*72)|0)|0); + $96 = ((($95)) + 44|0); + $97 = HEAP32[$96>>2]|0; + HEAP32[$iCur>>2] = $97; + $98 = HEAP32[$i>>2]|0; + $99 = HEAP32[$3>>2]|0; + $100 = ((($99)) + 8|0); + $101 = (($100) + (($98*72)|0)|0); + $102 = ((($101)) + 16|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($103)) + 8|0); + $105 = HEAP32[$104>>2]|0; + HEAP32[$pIdx>>2] = $105; + L20: while(1) { + $106 = HEAP32[$pIdx>>2]|0; + $107 = ($106|0)!=(0|0); + if (!($107)) { + label = 22; break; } - $93 = HEAP32[$pIdx>>2]|0; - $94 = ((($93)) + 40|0); - $95 = HEAP32[$94>>2]|0; - $96 = ($95|0)==(0|0); - L20: do { - if (!($96)) { + $108 = HEAP32[$pIdx>>2]|0; + $109 = ((($108)) + 40|0); + $110 = HEAP32[$109>>2]|0; + $111 = ($110|0)==(0|0); + L23: do { + if (!($111)) { HEAP32[$i>>2] = 0; while(1) { - $97 = HEAP32[$i>>2]|0; - $98 = HEAP32[$pIdx>>2]|0; - $99 = ((($98)) + 50|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100&65535; - $102 = ($97|0)<($101|0); - if (!($102)) { - break L20; + $112 = HEAP32[$i>>2]|0; + $113 = HEAP32[$pIdx>>2]|0; + $114 = ((($113)) + 50|0); + $115 = HEAP16[$114>>1]|0; + $116 = $115&65535; + $117 = ($112|0)<($116|0); + if (!($117)) { + break L23; } - $103 = HEAP32[$i>>2]|0; - $104 = HEAP32[$pIdx>>2]|0; - $105 = ((($104)) + 4|0); - $106 = HEAP32[$105>>2]|0; - $107 = (($106) + ($103<<1)|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108 << 16 >> 16; - $110 = ($109|0)!=(-2); - if (!($110)) { - $111 = HEAP32[$5>>2]|0; - $112 = HEAP32[$i>>2]|0; - $113 = HEAP32[$pIdx>>2]|0; - $114 = ((($113)) + 40|0); - $115 = HEAP32[$114>>2]|0; - $116 = ((($115)) + 4|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + (($112*20)|0)|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$iCur>>2]|0; - $121 = (_sqlite3ExprCompare($111,$119,$120)|0); - $122 = ($121|0)==(0); - if ($122) { - label = 17; - break L17; + $118 = HEAP32[$i>>2]|0; + $119 = HEAP32[$pIdx>>2]|0; + $120 = ((($119)) + 4|0); + $121 = HEAP32[$120>>2]|0; + $122 = (($121) + ($118<<1)|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123 << 16 >> 16; + $125 = ($124|0)!=(-2); + if (!($125)) { + $126 = HEAP32[$6>>2]|0; + $127 = HEAP32[$i>>2]|0; + $128 = HEAP32[$pIdx>>2]|0; + $129 = ((($128)) + 40|0); + $130 = HEAP32[$129>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($132) + (($127*20)|0)|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$iCur>>2]|0; + $136 = (_sqlite3ExprCompare($126,$134,$135)|0); + $137 = ($136|0)==(0); + if ($137) { + label = 19; + break L20; } } - $126 = HEAP32[$i>>2]|0; - $127 = (($126) + 1)|0; - HEAP32[$i>>2] = $127; + $141 = HEAP32[$i>>2]|0; + $142 = (($141) + 1)|0; + HEAP32[$i>>2] = $142; } } } while(0); - $128 = HEAP32[$pIdx>>2]|0; - $129 = ((($128)) + 20|0); - $130 = HEAP32[$129>>2]|0; - HEAP32[$pIdx>>2] = $130; + $143 = HEAP32[$pIdx>>2]|0; + $144 = ((($143)) + 20|0); + $145 = HEAP32[$144>>2]|0; + HEAP32[$pIdx>>2] = $145; } - if ((label|0) == 17) { - $123 = HEAP32[$iCur>>2]|0; - $124 = HEAP32[$6>>2]|0; - HEAP32[$124>>2] = $123; - $125 = HEAP32[$7>>2]|0; - HEAP32[$125>>2] = -2; + if ((label|0) == 19) { + $138 = HEAP32[$iCur>>2]|0; + $139 = HEAP32[$7>>2]|0; + HEAP32[$139>>2] = $138; + $140 = HEAP32[$8>>2]|0; + HEAP32[$140>>2] = -2; HEAP32[$2>>2] = 1; - $131 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($131|0); + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } - else if ((label|0) == 20) { + else if ((label|0) == 22) { HEAP32[$2>>2] = 0; - $131 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($131|0); + $146 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($146|0); } return (0)|0; } @@ -186951,13 +191246,12 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { $pWC = $pWC|0; $p = $p|0; $wtFlags = $wtFlags|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $idx = 0; - var $pOld = 0, $pTerm = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $idx = 0, $pOld = 0, $pTerm = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -187031,22 +191325,6 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { $60 = HEAP32[$1>>2]|0; $61 = ((($60)) + 16|0); HEAP32[$61>>2] = $59; - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 12|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 20|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + (($64*48)|0)|0); - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 16|0); - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 12|0); - $74 = HEAP32[$73>>2]|0; - $75 = (($71) - ($74))|0; - $76 = ($75*48)|0; - _memset(($68|0),0,($76|0))|0; break; } $31 = HEAP16[$3>>1]|0; @@ -187063,42 +191341,42 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { $39 = ((($38)) + 20|0); HEAP32[$39>>2] = $37; HEAP32[$0>>2] = 0; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); + $104 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($104|0); } } while(0); - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 12|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + 1)|0; - HEAP32[$78>>2] = $80; - HEAP32[$idx>>2] = $79; - $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 20|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + (($79*48)|0)|0); - HEAP32[$pTerm>>2] = $84; - $85 = HEAP32[$2>>2]|0; - $86 = ($85|0)!=(0|0); - if ($86) { - $87 = HEAP32[$2>>2]|0; - $88 = ((($87)) + 4|0); - $89 = HEAP32[$88>>2]|0; - $90 = $89 & 262144; - $91 = ($90|0)!=(0); - if ($91) { - $92 = HEAP32[$2>>2]|0; - $93 = ((($92)) + 28|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)<(0); - $96 = $95 << 31 >> 31; - $97 = (_sqlite3LogEst($94,$96)|0); - $98 = $97 << 16 >> 16; - $99 = (($98) - 270)|0; - $100 = $99&65535; - $101 = HEAP32[$pTerm>>2]|0; - $102 = ((($101)) + 16|0); - HEAP16[$102>>1] = $100; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 12|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$63>>2] = $65; + HEAP32[$idx>>2] = $64; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 20|0); + $68 = HEAP32[$67>>2]|0; + $69 = (($68) + (($64*48)|0)|0); + HEAP32[$pTerm>>2] = $69; + $70 = HEAP32[$2>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = $74 & 262144; + $76 = ($75|0)!=(0); + if ($76) { + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)<(0); + $81 = $80 << 31 >> 31; + $82 = (_sqlite3LogEst($79,$81)|0); + $83 = $82 << 16 >> 16; + $84 = (($83) - 270)|0; + $85 = $84&65535; + $86 = HEAP32[$pTerm>>2]|0; + $87 = ((($86)) + 8|0); + HEAP16[$87>>1] = $85; } else { label = 12; } @@ -187106,29 +191384,32 @@ function _whereClauseInsert($pWC,$p,$wtFlags) { label = 12; } if ((label|0) == 12) { - $103 = HEAP32[$pTerm>>2]|0; - $104 = ((($103)) + 16|0); - HEAP16[$104>>1] = 1; - } - $105 = HEAP32[$2>>2]|0; - $106 = (_sqlite3ExprSkipCollate($105)|0); - $107 = HEAP32[$pTerm>>2]|0; - HEAP32[$107>>2] = $106; - $108 = HEAP16[$3>>1]|0; - $109 = HEAP32[$pTerm>>2]|0; - $110 = ((($109)) + 20|0); - HEAP16[$110>>1] = $108; - $111 = HEAP32[$1>>2]|0; - $112 = HEAP32[$pTerm>>2]|0; - $113 = ((($112)) + 24|0); - HEAP32[$113>>2] = $111; - $114 = HEAP32[$pTerm>>2]|0; - $115 = ((($114)) + 4|0); - HEAP32[$115>>2] = -1; - $116 = HEAP32[$idx>>2]|0; - HEAP32[$0>>2] = $116; - $117 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($117|0); + $88 = HEAP32[$pTerm>>2]|0; + $89 = ((($88)) + 8|0); + HEAP16[$89>>1] = 1; + } + $90 = HEAP32[$2>>2]|0; + $91 = (_sqlite3ExprSkipCollate($90)|0); + $92 = HEAP32[$pTerm>>2]|0; + HEAP32[$92>>2] = $91; + $93 = HEAP16[$3>>1]|0; + $94 = HEAP32[$pTerm>>2]|0; + $95 = ((($94)) + 10|0); + HEAP16[$95>>1] = $93; + $96 = HEAP32[$1>>2]|0; + $97 = HEAP32[$pTerm>>2]|0; + $98 = ((($97)) + 4|0); + HEAP32[$98>>2] = $96; + $99 = HEAP32[$pTerm>>2]|0; + $100 = ((($99)) + 16|0); + HEAP32[$100>>2] = -1; + $101 = HEAP32[$pTerm>>2]|0; + $102 = ((($101)) + 12|0); + dest=$102; stop=dest+36|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); + $103 = HEAP32[$idx>>2]|0; + HEAP32[$0>>2] = $103; + $104 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($104|0); } function _markTermAsChild($pWC,$iChild,$iParent) { $pWC = $pWC|0; @@ -187150,28 +191431,28 @@ function _markTermAsChild($pWC,$iChild,$iParent) { $6 = ((($5)) + 20|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + (($4*48)|0)|0); - $9 = ((($8)) + 4|0); + $9 = ((($8)) + 16|0); HEAP32[$9>>2] = $3; $10 = HEAP32[$2>>2]|0; $11 = HEAP32[$0>>2]|0; $12 = ((($11)) + 20|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + (($10*48)|0)|0); - $15 = ((($14)) + 16|0); + $15 = ((($14)) + 8|0); $16 = HEAP16[$15>>1]|0; $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$0>>2]|0; $19 = ((($18)) + 20|0); $20 = HEAP32[$19>>2]|0; $21 = (($20) + (($17*48)|0)|0); - $22 = ((($21)) + 16|0); + $22 = ((($21)) + 8|0); HEAP16[$22>>1] = $16; $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$0>>2]|0; $25 = ((($24)) + 20|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + (($23*48)|0)|0); - $28 = ((($27)) + 22|0); + $28 = ((($27)) + 14|0); $29 = HEAP8[$28>>0]|0; $30 = (($29) + 1)<<24>>24; HEAP8[$28>>0] = $30; @@ -187281,7 +191562,7 @@ function _termIsEquivalence($pParse,$pExpr) { if (!($51)) { $52 = HEAP32[$pColl>>2]|0; $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3StrICmp($53,35351)|0); + $54 = (_sqlite3StrICmp($53,34834)|0); $55 = ($54|0)==(0); if (!($55)) { $56 = HEAP32[$1>>2]|0; @@ -187318,7 +191599,7 @@ function _termIsEquivalence($pParse,$pExpr) { HEAP32[$zColl2>>2] = $75; $76 = HEAP32[$zColl1>>2]|0; $77 = HEAP32[$zColl2>>2]|0; - $78 = (_sqlite3StrICmp($76,$77)|0); + $78 = (_sqlite3_stricmp($76,$77)|0); $79 = ($78|0)==(0); $80 = $79&1; HEAP32[$0>>2] = $80; @@ -187488,12 +191769,12 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affLeft = 0, $affRight = 0, $b = 0, $b1 = 0, $chngToIN = 0, $db = 0, $i = 0, $iColumn = 0, $iCursor = 0, $iOne = 0, $iTwo = 0, $idxNew = 0, $indexable = 0, $j = 0; - var $j2 = 0, $okToChngToIN = 0, $pAndInfo = 0, $pAndTerm = 0, $pAndWC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pList = 0, $pNew = 0, $pOne = 0, $pOrInfo = 0, $pOrTerm = 0, $pOrWc = 0, $pOther = 0, $pParse = 0, $pTerm = 0, $pTwo = 0, $pWInfo = 0, label = 0; - var sp = 0; + var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affLeft = 0, $affRight = 0, $b = 0, $b1 = 0, $chngToIN = 0, $db = 0, $i = 0, $iColumn = 0, $iCursor = 0; + var $iOne = 0, $iTwo = 0, $idxNew = 0, $indexable = 0, $j = 0, $j2 = 0, $okToChngToIN = 0, $pAndInfo = 0, $pAndTerm = 0, $pAndWC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pList = 0, $pNew = 0, $pOne = 0, $pOrInfo = 0, $pOrTerm = 0, $pOrWc = 0, $pOther = 0; + var $pParse = 0, $pTerm = 0, $pTwo = 0, $pWInfo = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $0 = sp + 156|0; @@ -187557,7 +191838,7 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { $17 = (_sqlite3DbMallocZero($16,416,0)|0); HEAP32[$pOrInfo>>2] = $17; $18 = HEAP32[$pTerm>>2]|0; - $19 = ((($18)) + 12|0); + $19 = ((($18)) + 28|0); HEAP32[$19>>2] = $17; $20 = HEAP32[$pOrInfo>>2]|0; $21 = ($20|0)==(0|0); @@ -187565,7 +191846,7 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { STACKTOP = sp;return; } $22 = HEAP32[$pTerm>>2]|0; - $23 = ((($22)) + 20|0); + $23 = ((($22)) + 10|0); $24 = HEAP16[$23>>1]|0; $25 = $24&65535; $26 = $25 | 16; @@ -187630,7 +191911,7 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { break; } $68 = HEAP32[$pOrTerm>>2]|0; - $69 = ((($68)) + 18|0); + $69 = ((($68)) + 12|0); $70 = HEAP16[$69>>1]|0; $71 = $70&65535; $72 = $71 & 511; @@ -187657,17 +191938,17 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { HEAP32[$85>>2] = 0; $86 = HEAP32[$pAndInfo>>2]|0; $87 = HEAP32[$pOrTerm>>2]|0; - $88 = ((($87)) + 12|0); + $88 = ((($87)) + 28|0); HEAP32[$88>>2] = $86; $89 = HEAP32[$pOrTerm>>2]|0; - $90 = ((($89)) + 20|0); + $90 = ((($89)) + 10|0); $91 = HEAP16[$90>>1]|0; $92 = $91&65535; $93 = $92 | 32; $94 = $93&65535; HEAP16[$90>>1] = $94; $95 = HEAP32[$pOrTerm>>2]|0; - $96 = ((($95)) + 18|0); + $96 = ((($95)) + 12|0); HEAP16[$96>>1] = 1024; $97 = HEAP32[$pAndInfo>>2]|0; HEAP32[$pAndWC>>2] = $97; @@ -187716,276 +191997,289 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { $127 = (_allowedOp($126)|0); $128 = ($127|0)!=(0); if ($128) { - $129 = HEAP32[$pWInfo>>2]|0; - $130 = ((($129)) + 68|0); - $131 = HEAP32[$pAndTerm>>2]|0; - $132 = ((($131)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = (_sqlite3WhereGetMask($130,$133)|0); - $135 = tempRet0; - $136 = $b; - $137 = $136; + label = 12; + } else { + $129 = HEAP32[$pAndTerm>>2]|0; + $130 = ((($129)) + 12|0); + $131 = HEAP16[$130>>1]|0; + $132 = $131&65535; + $133 = ($132|0)==(64); + if ($133) { + label = 12; + } + } + if ((label|0) == 12) { + label = 0; + $134 = HEAP32[$pWInfo>>2]|0; + $135 = ((($134)) + 488|0); + $136 = HEAP32[$pAndTerm>>2]|0; + $137 = ((($136)) + 20|0); $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = $138 | $134; - $143 = $141 | $135; - $144 = $b; + $139 = (_sqlite3WhereGetMask($135,$138)|0); + $140 = tempRet0; + $141 = $b; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = (($141) + 4)|0; $145 = $144; - HEAP32[$145>>2] = $142; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; + $146 = HEAP32[$145>>2]|0; + $147 = $143 | $139; + $148 = $146 | $140; + $149 = $b; + $150 = $149; + HEAP32[$150>>2] = $147; + $151 = (($149) + 4)|0; + $152 = $151; + HEAP32[$152>>2] = $148; } - $148 = HEAP32[$j>>2]|0; - $149 = (($148) + 1)|0; - HEAP32[$j>>2] = $149; - $150 = HEAP32[$pAndTerm>>2]|0; - $151 = ((($150)) + 48|0); - HEAP32[$pAndTerm>>2] = $151; + $153 = HEAP32[$j>>2]|0; + $154 = (($153) + 1)|0; + HEAP32[$j>>2] = $154; + $155 = HEAP32[$pAndTerm>>2]|0; + $156 = ((($155)) + 48|0); + HEAP32[$pAndTerm>>2] = $156; } } } while(0); - $152 = $b; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = $indexable; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = (($158) + 4)|0; - $162 = $161; - $163 = HEAP32[$162>>2]|0; - $164 = $160 & $154; - $165 = $163 & $157; - $166 = $indexable; + $157 = $b; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (($157) + 4)|0; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = $indexable; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = (($163) + 4)|0; $167 = $166; - HEAP32[$167>>2] = $164; - $168 = (($166) + 4)|0; - $169 = $168; - HEAP32[$169>>2] = $165; + $168 = HEAP32[$167>>2]|0; + $169 = $165 & $159; + $170 = $168 & $162; + $171 = $indexable; + $172 = $171; + HEAP32[$172>>2] = $169; + $173 = (($171) + 4)|0; + $174 = $173; + HEAP32[$174>>2] = $170; } } else { - $170 = HEAP32[$pOrTerm>>2]|0; - $171 = ((($170)) + 20|0); - $172 = HEAP16[$171>>1]|0; - $173 = $172&65535; - $174 = $173 & 8; - $175 = ($174|0)!=(0); - if (!($175)) { - $176 = HEAP32[$pWInfo>>2]|0; - $177 = ((($176)) + 68|0); - $178 = HEAP32[$pOrTerm>>2]|0; - $179 = ((($178)) + 8|0); - $180 = HEAP32[$179>>2]|0; - $181 = (_sqlite3WhereGetMask($177,$180)|0); - $182 = tempRet0; - $183 = $b1; - $184 = $183; - HEAP32[$184>>2] = $181; - $185 = (($183) + 4)|0; - $186 = $185; - HEAP32[$186>>2] = $182; - $187 = HEAP32[$pOrTerm>>2]|0; - $188 = ((($187)) + 20|0); - $189 = HEAP16[$188>>1]|0; - $190 = $189&65535; - $191 = $190 & 2; - $192 = ($191|0)!=(0); - if ($192) { - $193 = HEAP32[$pOrTerm>>2]|0; - $194 = ((($193)) + 4|0); - $195 = HEAP32[$194>>2]|0; - $196 = HEAP32[$pOrWc>>2]|0; - $197 = ((($196)) + 20|0); - $198 = HEAP32[$197>>2]|0; - $199 = (($198) + (($195*48)|0)|0); - HEAP32[$pOther>>2] = $199; - $200 = HEAP32[$pWInfo>>2]|0; - $201 = ((($200)) + 68|0); - $202 = HEAP32[$pOther>>2]|0; - $203 = ((($202)) + 8|0); - $204 = HEAP32[$203>>2]|0; - $205 = (_sqlite3WhereGetMask($201,$204)|0); - $206 = tempRet0; - $207 = $b1; - $208 = $207; + $175 = HEAP32[$pOrTerm>>2]|0; + $176 = ((($175)) + 10|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177&65535; + $179 = $178 & 8; + $180 = ($179|0)!=(0); + if (!($180)) { + $181 = HEAP32[$pWInfo>>2]|0; + $182 = ((($181)) + 488|0); + $183 = HEAP32[$pOrTerm>>2]|0; + $184 = ((($183)) + 20|0); + $185 = HEAP32[$184>>2]|0; + $186 = (_sqlite3WhereGetMask($182,$185)|0); + $187 = tempRet0; + $188 = $b1; + $189 = $188; + HEAP32[$189>>2] = $186; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $187; + $192 = HEAP32[$pOrTerm>>2]|0; + $193 = ((($192)) + 10|0); + $194 = HEAP16[$193>>1]|0; + $195 = $194&65535; + $196 = $195 & 2; + $197 = ($196|0)!=(0); + if ($197) { + $198 = HEAP32[$pOrTerm>>2]|0; + $199 = ((($198)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = HEAP32[$pOrWc>>2]|0; + $202 = ((($201)) + 20|0); + $203 = HEAP32[$202>>2]|0; + $204 = (($203) + (($200*48)|0)|0); + HEAP32[$pOther>>2] = $204; + $205 = HEAP32[$pWInfo>>2]|0; + $206 = ((($205)) + 488|0); + $207 = HEAP32[$pOther>>2]|0; + $208 = ((($207)) + 20|0); $209 = HEAP32[$208>>2]|0; - $210 = (($207) + 4)|0; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = $209 | $205; - $214 = $212 | $206; - $215 = $b1; + $210 = (_sqlite3WhereGetMask($206,$209)|0); + $211 = tempRet0; + $212 = $b1; + $213 = $212; + $214 = HEAP32[$213>>2]|0; + $215 = (($212) + 4)|0; $216 = $215; - HEAP32[$216>>2] = $213; - $217 = (($215) + 4)|0; - $218 = $217; - HEAP32[$218>>2] = $214; + $217 = HEAP32[$216>>2]|0; + $218 = $214 | $210; + $219 = $217 | $211; + $220 = $b1; + $221 = $220; + HEAP32[$221>>2] = $218; + $222 = (($220) + 4)|0; + $223 = $222; + HEAP32[$223>>2] = $219; } - $219 = $b1; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = $indexable; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = $227 & $221; - $232 = $230 & $224; - $233 = $indexable; + $224 = $b1; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = $indexable; + $231 = $230; + $232 = HEAP32[$231>>2]|0; + $233 = (($230) + 4)|0; $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $237 = HEAP32[$pOrTerm>>2]|0; - $238 = ((($237)) + 18|0); - $239 = HEAP16[$238>>1]|0; - $240 = $239&65535; - $241 = $240 & 2; - $242 = ($241|0)==(0); - if ($242) { - $243 = $chngToIN; - $244 = $243; - HEAP32[$244>>2] = 0; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP32[$246>>2] = 0; + $235 = HEAP32[$234>>2]|0; + $236 = $232 & $226; + $237 = $235 & $229; + $238 = $indexable; + $239 = $238; + HEAP32[$239>>2] = $236; + $240 = (($238) + 4)|0; + $241 = $240; + HEAP32[$241>>2] = $237; + $242 = HEAP32[$pOrTerm>>2]|0; + $243 = ((($242)) + 12|0); + $244 = HEAP16[$243>>1]|0; + $245 = $244&65535; + $246 = $245 & 2; + $247 = ($246|0)==(0); + if ($247) { + $248 = $chngToIN; + $249 = $248; + HEAP32[$249>>2] = 0; + $250 = (($248) + 4)|0; + $251 = $250; + HEAP32[$251>>2] = 0; break; } else { - $247 = $b1; - $248 = $247; - $249 = HEAP32[$248>>2]|0; - $250 = (($247) + 4)|0; - $251 = $250; - $252 = HEAP32[$251>>2]|0; - $253 = $chngToIN; - $254 = $253; - $255 = HEAP32[$254>>2]|0; - $256 = (($253) + 4)|0; - $257 = $256; - $258 = HEAP32[$257>>2]|0; - $259 = $255 & $249; - $260 = $258 & $252; - $261 = $chngToIN; + $252 = $b1; + $253 = $252; + $254 = HEAP32[$253>>2]|0; + $255 = (($252) + 4)|0; + $256 = $255; + $257 = HEAP32[$256>>2]|0; + $258 = $chngToIN; + $259 = $258; + $260 = HEAP32[$259>>2]|0; + $261 = (($258) + 4)|0; $262 = $261; - HEAP32[$262>>2] = $259; - $263 = (($261) + 4)|0; - $264 = $263; - HEAP32[$264>>2] = $260; + $263 = HEAP32[$262>>2]|0; + $264 = $260 & $254; + $265 = $263 & $257; + $266 = $chngToIN; + $267 = $266; + HEAP32[$267>>2] = $264; + $268 = (($266) + 4)|0; + $269 = $268; + HEAP32[$269>>2] = $265; break; } } } } while(0); - $265 = HEAP32[$i>>2]|0; - $266 = (($265) + -1)|0; - HEAP32[$i>>2] = $266; - $267 = HEAP32[$pOrTerm>>2]|0; - $268 = ((($267)) + 48|0); - HEAP32[$pOrTerm>>2] = $268; - } - $269 = $indexable; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (($269) + 4)|0; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = HEAP32[$pOrInfo>>2]|0; - $276 = ((($275)) + 408|0); - $277 = $276; + $270 = HEAP32[$i>>2]|0; + $271 = (($270) + -1)|0; + HEAP32[$i>>2] = $271; + $272 = HEAP32[$pOrTerm>>2]|0; + $273 = ((($272)) + 48|0); + HEAP32[$pOrTerm>>2] = $273; + } + $274 = $indexable; + $275 = $274; + $276 = HEAP32[$275>>2]|0; + $277 = (($274) + 4)|0; $278 = $277; - HEAP32[$278>>2] = $271; - $279 = (($277) + 4)|0; - $280 = $279; - HEAP32[$280>>2] = $274; - $281 = $indexable; + $279 = HEAP32[$278>>2]|0; + $280 = HEAP32[$pOrInfo>>2]|0; + $281 = ((($280)) + 408|0); $282 = $281; - $283 = HEAP32[$282>>2]|0; - $284 = (($281) + 4)|0; + $283 = $282; + HEAP32[$283>>2] = $276; + $284 = (($282) + 4)|0; $285 = $284; - $286 = HEAP32[$285>>2]|0; - $287 = ($283|0)==(0); - $288 = ($286|0)==(0); - $289 = $287 & $288; - $290 = $289 ? 0 : 512; - $291 = $290&65535; - $292 = HEAP32[$pTerm>>2]|0; - $293 = ((($292)) + 18|0); - HEAP16[$293>>1] = $291; - $294 = $indexable; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = (($294) + 4)|0; - $298 = $297; - $299 = HEAP32[$298>>2]|0; - $300 = ($296|0)!=(0); - $301 = ($299|0)!=(0); - $302 = $300 | $301; - L32: do { - if ($302) { - $303 = HEAP32[$pOrWc>>2]|0; - $304 = ((($303)) + 12|0); - $305 = HEAP32[$304>>2]|0; - $306 = ($305|0)==(2); - if ($306) { + HEAP32[$285>>2] = $279; + $286 = $indexable; + $287 = $286; + $288 = HEAP32[$287>>2]|0; + $289 = (($286) + 4)|0; + $290 = $289; + $291 = HEAP32[$290>>2]|0; + $292 = ($288|0)==(0); + $293 = ($291|0)==(0); + $294 = $292 & $293; + $295 = $294 ? 0 : 512; + $296 = $295&65535; + $297 = HEAP32[$pTerm>>2]|0; + $298 = ((($297)) + 12|0); + HEAP16[$298>>1] = $296; + $299 = $indexable; + $300 = $299; + $301 = HEAP32[$300>>2]|0; + $302 = (($299) + 4)|0; + $303 = $302; + $304 = HEAP32[$303>>2]|0; + $305 = ($301|0)!=(0); + $306 = ($304|0)!=(0); + $307 = $305 | $306; + L34: do { + if ($307) { + $308 = HEAP32[$pOrWc>>2]|0; + $309 = ((($308)) + 12|0); + $310 = HEAP32[$309>>2]|0; + $311 = ($310|0)==(2); + if ($311) { HEAP32[$iOne>>2] = 0; - L35: while(1) { - $307 = HEAP32[$pOrWc>>2]|0; - $308 = ((($307)) + 20|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[$iOne>>2]|0; - $311 = (($310) + 1)|0; - HEAP32[$iOne>>2] = $311; - $312 = (_whereNthSubterm($309,$310)|0); - HEAP32[$pOne>>2] = $312; - $313 = ($312|0)!=(0|0); - if (!($313)) { - break L32; + L37: while(1) { + $312 = HEAP32[$pOrWc>>2]|0; + $313 = ((($312)) + 20|0); + $314 = HEAP32[$313>>2]|0; + $315 = HEAP32[$iOne>>2]|0; + $316 = (($315) + 1)|0; + HEAP32[$iOne>>2] = $316; + $317 = (_whereNthSubterm($314,$315)|0); + HEAP32[$pOne>>2] = $317; + $318 = ($317|0)!=(0|0); + if (!($318)) { + break L34; } HEAP32[$iTwo>>2] = 0; while(1) { - $314 = HEAP32[$pOrWc>>2]|0; - $315 = ((($314)) + 20|0); - $316 = HEAP32[$315>>2]|0; - $317 = ((($316)) + 48|0); - $318 = HEAP32[$iTwo>>2]|0; - $319 = (($318) + 1)|0; - HEAP32[$iTwo>>2] = $319; - $320 = (_whereNthSubterm($317,$318)|0); - HEAP32[$pTwo>>2] = $320; - $321 = ($320|0)!=(0|0); - if (!($321)) { - continue L35; + $319 = HEAP32[$pOrWc>>2]|0; + $320 = ((($319)) + 20|0); + $321 = HEAP32[$320>>2]|0; + $322 = ((($321)) + 48|0); + $323 = HEAP32[$iTwo>>2]|0; + $324 = (($323) + 1)|0; + HEAP32[$iTwo>>2] = $324; + $325 = (_whereNthSubterm($322,$323)|0); + HEAP32[$pTwo>>2] = $325; + $326 = ($325|0)!=(0|0); + if (!($326)) { + continue L37; } - $322 = HEAP32[$0>>2]|0; - $323 = HEAP32[$1>>2]|0; - $324 = HEAP32[$pOne>>2]|0; - $325 = HEAP32[$pTwo>>2]|0; - _whereCombineDisjuncts($322,$323,$324,$325); + $327 = HEAP32[$0>>2]|0; + $328 = HEAP32[$1>>2]|0; + $329 = HEAP32[$pOne>>2]|0; + $330 = HEAP32[$pTwo>>2]|0; + _whereCombineDisjuncts($327,$328,$329,$330); } } } } } while(0); - $326 = $chngToIN; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - $332 = ($328|0)!=(0); - $333 = ($331|0)!=(0); - $334 = $332 | $333; - if (!($334)) { + $331 = $chngToIN; + $332 = $331; + $333 = HEAP32[$332>>2]|0; + $334 = (($331) + 4)|0; + $335 = $334; + $336 = HEAP32[$335>>2]|0; + $337 = ($333|0)!=(0); + $338 = ($336|0)!=(0); + $339 = $337 | $338; + if (!($339)) { STACKTOP = sp;return; } HEAP32[$okToChngToIN>>2] = 0; @@ -187994,268 +192288,268 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { HEAP32[$j2>>2] = 0; HEAP32[$j2>>2] = 0; while(1) { - $335 = HEAP32[$j2>>2]|0; - $336 = ($335|0)<(2); - if (!($336)) { - break; - } - $337 = HEAP32[$okToChngToIN>>2]|0; - $338 = ($337|0)!=(0); - $339 = $338 ^ 1; - if (!($339)) { - break; - } - $340 = HEAP32[$pOrWc>>2]|0; - $341 = ((($340)) + 20|0); - $342 = HEAP32[$341>>2]|0; - HEAP32[$pOrTerm>>2] = $342; - $343 = HEAP32[$pOrWc>>2]|0; - $344 = ((($343)) + 12|0); - $345 = HEAP32[$344>>2]|0; - $346 = (($345) - 1)|0; - HEAP32[$i>>2] = $346; + $340 = HEAP32[$j2>>2]|0; + $341 = ($340|0)<(2); + if (!($341)) { + break; + } + $342 = HEAP32[$okToChngToIN>>2]|0; + $343 = ($342|0)!=(0); + $344 = $343 ^ 1; + if (!($344)) { + break; + } + $345 = HEAP32[$pOrWc>>2]|0; + $346 = ((($345)) + 20|0); + $347 = HEAP32[$346>>2]|0; + HEAP32[$pOrTerm>>2] = $347; + $348 = HEAP32[$pOrWc>>2]|0; + $349 = ((($348)) + 12|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) - 1)|0; + HEAP32[$i>>2] = $351; while(1) { - $347 = HEAP32[$i>>2]|0; - $348 = ($347|0)>=(0); - if (!($348)) { + $352 = HEAP32[$i>>2]|0; + $353 = ($352|0)>=(0); + if (!($353)) { break; } - $349 = HEAP32[$pOrTerm>>2]|0; - $350 = ((($349)) + 20|0); - $351 = HEAP16[$350>>1]|0; - $352 = $351&65535; - $353 = $352 & -65; - $354 = $353&65535; - HEAP16[$350>>1] = $354; - $355 = HEAP32[$pOrTerm>>2]|0; - $356 = ((($355)) + 8|0); - $357 = HEAP32[$356>>2]|0; - $358 = HEAP32[$iCursor>>2]|0; - $359 = ($357|0)==($358|0); - if (!($359)) { - $360 = $chngToIN; - $361 = $360; - $362 = HEAP32[$361>>2]|0; - $363 = (($360) + 4)|0; - $364 = $363; - $365 = HEAP32[$364>>2]|0; - $366 = HEAP32[$pWInfo>>2]|0; - $367 = ((($366)) + 68|0); - $368 = HEAP32[$pOrTerm>>2]|0; - $369 = ((($368)) + 8|0); + $354 = HEAP32[$pOrTerm>>2]|0; + $355 = ((($354)) + 10|0); + $356 = HEAP16[$355>>1]|0; + $357 = $356&65535; + $358 = $357 & -65; + $359 = $358&65535; + HEAP16[$355>>1] = $359; + $360 = HEAP32[$pOrTerm>>2]|0; + $361 = ((($360)) + 20|0); + $362 = HEAP32[$361>>2]|0; + $363 = HEAP32[$iCursor>>2]|0; + $364 = ($362|0)==($363|0); + if (!($364)) { + $365 = $chngToIN; + $366 = $365; + $367 = HEAP32[$366>>2]|0; + $368 = (($365) + 4)|0; + $369 = $368; $370 = HEAP32[$369>>2]|0; - $371 = (_sqlite3WhereGetMask($367,$370)|0); - $372 = tempRet0; - $373 = $362 & $371; - $374 = $365 & $372; - $375 = ($373|0)==(0); - $376 = ($374|0)==(0); - $377 = $375 & $376; - if (!($377)) { - label = 36; + $371 = HEAP32[$pWInfo>>2]|0; + $372 = ((($371)) + 488|0); + $373 = HEAP32[$pOrTerm>>2]|0; + $374 = ((($373)) + 20|0); + $375 = HEAP32[$374>>2]|0; + $376 = (_sqlite3WhereGetMask($372,$375)|0); + $377 = tempRet0; + $378 = $367 & $376; + $379 = $370 & $377; + $380 = ($378|0)==(0); + $381 = ($379|0)==(0); + $382 = $380 & $381; + if (!($382)) { + label = 37; break; } } - $384 = HEAP32[$i>>2]|0; - $385 = (($384) + -1)|0; - HEAP32[$i>>2] = $385; - $386 = HEAP32[$pOrTerm>>2]|0; - $387 = ((($386)) + 48|0); - HEAP32[$pOrTerm>>2] = $387; + $389 = HEAP32[$i>>2]|0; + $390 = (($389) + -1)|0; + HEAP32[$i>>2] = $390; + $391 = HEAP32[$pOrTerm>>2]|0; + $392 = ((($391)) + 48|0); + HEAP32[$pOrTerm>>2] = $392; } - if ((label|0) == 36) { + if ((label|0) == 37) { label = 0; - $378 = HEAP32[$pOrTerm>>2]|0; - $379 = ((($378)) + 12|0); - $380 = HEAP32[$379>>2]|0; - HEAP32[$iColumn>>2] = $380; - $381 = HEAP32[$pOrTerm>>2]|0; - $382 = ((($381)) + 8|0); - $383 = HEAP32[$382>>2]|0; - HEAP32[$iCursor>>2] = $383; + $383 = HEAP32[$pOrTerm>>2]|0; + $384 = ((($383)) + 28|0); + $385 = HEAP32[$384>>2]|0; + HEAP32[$iColumn>>2] = $385; + $386 = HEAP32[$pOrTerm>>2]|0; + $387 = ((($386)) + 20|0); + $388 = HEAP32[$387>>2]|0; + HEAP32[$iCursor>>2] = $388; } - $388 = HEAP32[$i>>2]|0; - $389 = ($388|0)<(0); - if ($389) { + $393 = HEAP32[$i>>2]|0; + $394 = ($393|0)<(0); + if ($394) { break; } HEAP32[$okToChngToIN>>2] = 1; while(1) { - $390 = HEAP32[$i>>2]|0; - $391 = ($390|0)>=(0); - $392 = HEAP32[$okToChngToIN>>2]|0; - $393 = ($392|0)!=(0); - $394 = $391 ? $393 : 0; - if (!($394)) { + $395 = HEAP32[$i>>2]|0; + $396 = ($395|0)>=(0); + $397 = HEAP32[$okToChngToIN>>2]|0; + $398 = ($397|0)!=(0); + $399 = $396 ? $398 : 0; + if (!($399)) { break; } - $395 = HEAP32[$pOrTerm>>2]|0; - $396 = ((($395)) + 8|0); - $397 = HEAP32[$396>>2]|0; - $398 = HEAP32[$iCursor>>2]|0; - $399 = ($397|0)!=($398|0); $400 = HEAP32[$pOrTerm>>2]|0; + $401 = ((($400)) + 20|0); + $402 = HEAP32[$401>>2]|0; + $403 = HEAP32[$iCursor>>2]|0; + $404 = ($402|0)!=($403|0); + $405 = HEAP32[$pOrTerm>>2]|0; do { - if ($399) { - $401 = ((($400)) + 20|0); - $402 = HEAP16[$401>>1]|0; - $403 = $402&65535; - $404 = $403 & -65; - $405 = $404&65535; - HEAP16[$401>>1] = $405; + if ($404) { + $406 = ((($405)) + 10|0); + $407 = HEAP16[$406>>1]|0; + $408 = $407&65535; + $409 = $408 & -65; + $410 = $409&65535; + HEAP16[$406>>1] = $410; } else { - $406 = ((($400)) + 12|0); - $407 = HEAP32[$406>>2]|0; - $408 = HEAP32[$iColumn>>2]|0; - $409 = ($407|0)!=($408|0); - if ($409) { + $411 = ((($405)) + 28|0); + $412 = HEAP32[$411>>2]|0; + $413 = HEAP32[$iColumn>>2]|0; + $414 = ($412|0)!=($413|0); + if ($414) { HEAP32[$okToChngToIN>>2] = 0; break; } - $410 = HEAP32[$pOrTerm>>2]|0; - $411 = HEAP32[$410>>2]|0; - $412 = ((($411)) + 16|0); - $413 = HEAP32[$412>>2]|0; - $414 = (_sqlite3ExprAffinity($413)|0); - $415 = $414 << 24 >> 24; - HEAP32[$affRight>>2] = $415; - $416 = HEAP32[$pOrTerm>>2]|0; - $417 = HEAP32[$416>>2]|0; - $418 = ((($417)) + 12|0); - $419 = HEAP32[$418>>2]|0; - $420 = (_sqlite3ExprAffinity($419)|0); - $421 = $420 << 24 >> 24; - HEAP32[$affLeft>>2] = $421; - $422 = HEAP32[$affRight>>2]|0; - $423 = ($422|0)!=(0); - if ($423) { - $424 = HEAP32[$affRight>>2]|0; - $425 = HEAP32[$affLeft>>2]|0; - $426 = ($424|0)!=($425|0); - if ($426) { + $415 = HEAP32[$pOrTerm>>2]|0; + $416 = HEAP32[$415>>2]|0; + $417 = ((($416)) + 16|0); + $418 = HEAP32[$417>>2]|0; + $419 = (_sqlite3ExprAffinity($418)|0); + $420 = $419 << 24 >> 24; + HEAP32[$affRight>>2] = $420; + $421 = HEAP32[$pOrTerm>>2]|0; + $422 = HEAP32[$421>>2]|0; + $423 = ((($422)) + 12|0); + $424 = HEAP32[$423>>2]|0; + $425 = (_sqlite3ExprAffinity($424)|0); + $426 = $425 << 24 >> 24; + HEAP32[$affLeft>>2] = $426; + $427 = HEAP32[$affRight>>2]|0; + $428 = ($427|0)!=(0); + if ($428) { + $429 = HEAP32[$affRight>>2]|0; + $430 = HEAP32[$affLeft>>2]|0; + $431 = ($429|0)!=($430|0); + if ($431) { HEAP32[$okToChngToIN>>2] = 0; break; } } - $427 = HEAP32[$pOrTerm>>2]|0; - $428 = ((($427)) + 20|0); - $429 = HEAP16[$428>>1]|0; - $430 = $429&65535; - $431 = $430 | 64; - $432 = $431&65535; - HEAP16[$428>>1] = $432; + $432 = HEAP32[$pOrTerm>>2]|0; + $433 = ((($432)) + 10|0); + $434 = HEAP16[$433>>1]|0; + $435 = $434&65535; + $436 = $435 | 64; + $437 = $436&65535; + HEAP16[$433>>1] = $437; } } while(0); - $433 = HEAP32[$i>>2]|0; - $434 = (($433) + -1)|0; - HEAP32[$i>>2] = $434; - $435 = HEAP32[$pOrTerm>>2]|0; - $436 = ((($435)) + 48|0); - HEAP32[$pOrTerm>>2] = $436; - } - $437 = HEAP32[$j2>>2]|0; - $438 = (($437) + 1)|0; - HEAP32[$j2>>2] = $438; - } - $439 = HEAP32[$okToChngToIN>>2]|0; - $440 = ($439|0)!=(0); - if (!($440)) { + $438 = HEAP32[$i>>2]|0; + $439 = (($438) + -1)|0; + HEAP32[$i>>2] = $439; + $440 = HEAP32[$pOrTerm>>2]|0; + $441 = ((($440)) + 48|0); + HEAP32[$pOrTerm>>2] = $441; + } + $442 = HEAP32[$j2>>2]|0; + $443 = (($442) + 1)|0; + HEAP32[$j2>>2] = $443; + } + $444 = HEAP32[$okToChngToIN>>2]|0; + $445 = ($444|0)!=(0); + if (!($445)) { STACKTOP = sp;return; } HEAP32[$pList>>2] = 0; HEAP32[$pLeft>>2] = 0; - $441 = HEAP32[$pOrWc>>2]|0; - $442 = ((($441)) + 12|0); - $443 = HEAP32[$442>>2]|0; - $444 = (($443) - 1)|0; - HEAP32[$i>>2] = $444; - $445 = HEAP32[$pOrWc>>2]|0; - $446 = ((($445)) + 20|0); - $447 = HEAP32[$446>>2]|0; - HEAP32[$pOrTerm>>2] = $447; + $446 = HEAP32[$pOrWc>>2]|0; + $447 = ((($446)) + 12|0); + $448 = HEAP32[$447>>2]|0; + $449 = (($448) - 1)|0; + HEAP32[$i>>2] = $449; + $450 = HEAP32[$pOrWc>>2]|0; + $451 = ((($450)) + 20|0); + $452 = HEAP32[$451>>2]|0; + HEAP32[$pOrTerm>>2] = $452; while(1) { - $448 = HEAP32[$i>>2]|0; - $449 = ($448|0)>=(0); - if (!($449)) { - break; - } - $450 = HEAP32[$pOrTerm>>2]|0; - $451 = ((($450)) + 20|0); - $452 = HEAP16[$451>>1]|0; - $453 = $452&65535; - $454 = $453 & 64; - $455 = ($454|0)==(0); - if (!($455)) { - $456 = HEAP32[$db>>2]|0; - $457 = HEAP32[$pOrTerm>>2]|0; - $458 = HEAP32[$457>>2]|0; - $459 = ((($458)) + 16|0); - $460 = HEAP32[$459>>2]|0; - $461 = (_sqlite3ExprDup($456,$460,0)|0); - HEAP32[$pDup>>2] = $461; - $462 = HEAP32[$pWInfo>>2]|0; + $453 = HEAP32[$i>>2]|0; + $454 = ($453|0)>=(0); + if (!($454)) { + break; + } + $455 = HEAP32[$pOrTerm>>2]|0; + $456 = ((($455)) + 10|0); + $457 = HEAP16[$456>>1]|0; + $458 = $457&65535; + $459 = $458 & 64; + $460 = ($459|0)==(0); + if (!($460)) { + $461 = HEAP32[$db>>2]|0; + $462 = HEAP32[$pOrTerm>>2]|0; $463 = HEAP32[$462>>2]|0; - $464 = HEAP32[$pList>>2]|0; - $465 = HEAP32[$pDup>>2]|0; - $466 = (_sqlite3ExprListAppend($463,$464,$465)|0); - HEAP32[$pList>>2] = $466; - $467 = HEAP32[$pOrTerm>>2]|0; + $464 = ((($463)) + 16|0); + $465 = HEAP32[$464>>2]|0; + $466 = (_sqlite3ExprDup($461,$465,0)|0); + HEAP32[$pDup>>2] = $466; + $467 = HEAP32[$pWInfo>>2]|0; $468 = HEAP32[$467>>2]|0; - $469 = ((($468)) + 12|0); - $470 = HEAP32[$469>>2]|0; - HEAP32[$pLeft>>2] = $470; - } - $471 = HEAP32[$i>>2]|0; - $472 = (($471) + -1)|0; - HEAP32[$i>>2] = $472; - $473 = HEAP32[$pOrTerm>>2]|0; - $474 = ((($473)) + 48|0); - HEAP32[$pOrTerm>>2] = $474; - } - $475 = HEAP32[$db>>2]|0; - $476 = HEAP32[$pLeft>>2]|0; - $477 = (_sqlite3ExprDup($475,$476,0)|0); - HEAP32[$pDup>>2] = $477; - $478 = HEAP32[$pParse>>2]|0; - $479 = HEAP32[$pDup>>2]|0; - $480 = (_sqlite3PExpr($478,33,$479,0,0)|0); - HEAP32[$pNew>>2] = $480; - $481 = HEAP32[$pNew>>2]|0; - $482 = ($481|0)!=(0|0); - if ($482) { - $483 = HEAP32[$pNew>>2]|0; - $484 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($483,$484); - $485 = HEAP32[$pList>>2]|0; - $486 = HEAP32[$pNew>>2]|0; - $487 = ((($486)) + 20|0); - HEAP32[$487>>2] = $485; - $488 = HEAP32[$1>>2]|0; - $489 = HEAP32[$pNew>>2]|0; - $490 = (_whereClauseInsert($488,$489,3)|0); - HEAP32[$idxNew>>2] = $490; - $491 = HEAP32[$0>>2]|0; - $492 = HEAP32[$1>>2]|0; - $493 = HEAP32[$idxNew>>2]|0; - _exprAnalyze($491,$492,$493); - $494 = HEAP32[$2>>2]|0; - $495 = HEAP32[$1>>2]|0; - $496 = ((($495)) + 20|0); - $497 = HEAP32[$496>>2]|0; - $498 = (($497) + (($494*48)|0)|0); - HEAP32[$pTerm>>2] = $498; - $499 = HEAP32[$1>>2]|0; - $500 = HEAP32[$idxNew>>2]|0; - $501 = HEAP32[$2>>2]|0; - _markTermAsChild($499,$500,$501); + $469 = HEAP32[$pList>>2]|0; + $470 = HEAP32[$pDup>>2]|0; + $471 = (_sqlite3ExprListAppend($468,$469,$470)|0); + HEAP32[$pList>>2] = $471; + $472 = HEAP32[$pOrTerm>>2]|0; + $473 = HEAP32[$472>>2]|0; + $474 = ((($473)) + 12|0); + $475 = HEAP32[$474>>2]|0; + HEAP32[$pLeft>>2] = $475; + } + $476 = HEAP32[$i>>2]|0; + $477 = (($476) + -1)|0; + HEAP32[$i>>2] = $477; + $478 = HEAP32[$pOrTerm>>2]|0; + $479 = ((($478)) + 48|0); + HEAP32[$pOrTerm>>2] = $479; + } + $480 = HEAP32[$db>>2]|0; + $481 = HEAP32[$pLeft>>2]|0; + $482 = (_sqlite3ExprDup($480,$481,0)|0); + HEAP32[$pDup>>2] = $482; + $483 = HEAP32[$pParse>>2]|0; + $484 = HEAP32[$pDup>>2]|0; + $485 = (_sqlite3PExpr($483,33,$484,0,0)|0); + HEAP32[$pNew>>2] = $485; + $486 = HEAP32[$pNew>>2]|0; + $487 = ($486|0)!=(0|0); + if ($487) { + $488 = HEAP32[$pNew>>2]|0; + $489 = HEAP32[$pExpr>>2]|0; + _transferJoinMarkings($488,$489); + $490 = HEAP32[$pList>>2]|0; + $491 = HEAP32[$pNew>>2]|0; + $492 = ((($491)) + 20|0); + HEAP32[$492>>2] = $490; + $493 = HEAP32[$1>>2]|0; + $494 = HEAP32[$pNew>>2]|0; + $495 = (_whereClauseInsert($493,$494,3)|0); + HEAP32[$idxNew>>2] = $495; + $496 = HEAP32[$0>>2]|0; + $497 = HEAP32[$1>>2]|0; + $498 = HEAP32[$idxNew>>2]|0; + _exprAnalyze($496,$497,$498); + $499 = HEAP32[$2>>2]|0; + $500 = HEAP32[$1>>2]|0; + $501 = ((($500)) + 20|0); + $502 = HEAP32[$501>>2]|0; + $503 = (($502) + (($499*48)|0)|0); + HEAP32[$pTerm>>2] = $503; + $504 = HEAP32[$1>>2]|0; + $505 = HEAP32[$idxNew>>2]|0; + $506 = HEAP32[$2>>2]|0; + _markTermAsChild($504,$505,$506); } else { - $502 = HEAP32[$db>>2]|0; - $503 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($502,$503); + $507 = HEAP32[$db>>2]|0; + $508 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($507,$508); } - $504 = HEAP32[$pTerm>>2]|0; - $505 = ((($504)) + 18|0); - HEAP16[$505>>1] = 4096; + $509 = HEAP32[$pTerm>>2]|0; + $510 = ((($509)) + 12|0); + HEAP16[$510>>1] = 4096; STACKTOP = sp;return; } function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { @@ -188361,7 +192655,7 @@ function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { $46 = ($45|0)==(135); if ($46) { $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 480|0); + $48 = ((($47)) + 432|0); $49 = HEAP32[$48>>2]|0; HEAP32[$pReprepare>>2] = $49; $50 = HEAP32[$pRight>>2]|0; @@ -188567,19 +192861,17 @@ function _isMatchOfColumn($pExpr,$peOp2) { $peOp2 = $peOp2|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aOp = 0, $i = 0, $pCol = 0, $pList = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pCol = 0, $pList = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $aOp = sp + 16|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; $pList = sp + 8|0; $pCol = sp + 4|0; $i = sp; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $peOp2; - ;HEAP32[$aOp>>2]=HEAP32[6284>>2]|0;HEAP32[$aOp+4>>2]=HEAP32[6284+4>>2]|0;HEAP32[$aOp+8>>2]=HEAP32[6284+8>>2]|0;HEAP32[$aOp+12>>2]=HEAP32[6284+12>>2]|0;HEAP32[$aOp+16>>2]=HEAP32[6284+16>>2]|0;HEAP32[$aOp+20>>2]=HEAP32[6284+20>>2]|0;HEAP32[$aOp+24>>2]=HEAP32[6284+24>>2]|0;HEAP32[$aOp+28>>2]=HEAP32[6284+28>>2]|0; $3 = HEAP32[$1>>2]|0; $4 = HEAP8[$3>>0]|0; $5 = $4&255; @@ -188632,7 +192924,7 @@ function _isMatchOfColumn($pExpr,$peOp2) { $35 = ((($34)) + 8|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$i>>2]|0; - $38 = (($aOp) + ($37<<3)|0); + $38 = (5444 + ($37<<3)|0); $39 = HEAP32[$38>>2]|0; $40 = (_sqlite3StrICmp($36,$39)|0); $41 = ($40|0)==(0); @@ -188645,7 +192937,7 @@ function _isMatchOfColumn($pExpr,$peOp2) { HEAP32[$i>>2] = $47; } if ((label|0) == 12) { - $43 = (($aOp) + ($42<<3)|0); + $43 = (5444 + ($42<<3)|0); $44 = ((($43)) + 4|0); $45 = HEAP8[$44>>0]|0; $46 = HEAP32[$2>>2]|0; @@ -188670,6 +192962,72 @@ function _isMatchOfColumn($pExpr,$peOp2) { $48 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($48|0); } +function _sqlite3ExprForVectorField($pParse,$pVector,$iField) { + $pParse = $pParse|0; + $pVector = $pVector|0; + $iField = $iField|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRet = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pRet = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $pVector; + HEAP32[$2>>2] = $iField; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==(119); + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3PExpr($7,159,0,0,0)|0); + HEAP32[$pRet>>2] = $8; + $9 = HEAP32[$pRet>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + $34 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($34|0); + } + $11 = HEAP32[$2>>2]|0; + $12 = $11&65535; + $13 = HEAP32[$pRet>>2]|0; + $14 = ((($13)) + 32|0); + HEAP16[$14>>1] = $12; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$pRet>>2]|0; + $17 = ((($16)) + 12|0); + HEAP32[$17>>2] = $15; + $34 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($34|0); + } else { + $18 = HEAP32[$1>>2]|0; + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = ($20|0)==(158); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 20|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + (($22*20)|0)|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$1>>2] = $29; + } + $30 = HEAP32[$0>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = (_sqlite3ExprDup($31,$32,0)|0); + HEAP32[$pRet>>2] = $33; + $34 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($34|0); + } + return (0)|0; +} function _sqlite3IsLikeFunction($db,$pExpr,$pIsNocase,$aWc) { $db = $db|0; $pExpr = $pExpr|0; @@ -188774,7 +193132,7 @@ function _sqlite3VdbeGetBoundValue($v,$iVar,$aff) { $6 = HEAP32[$2>>2]|0; $7 = (($6) - 1)|0; $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 60|0); + $9 = ((($8)) + 116|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + (($7*40)|0)|0); HEAP32[$pMem>>2] = $11; @@ -188823,7 +193181,7 @@ function _sqlite3VdbeSetVarmask($v,$iVar) { $3 = ($2|0)>(32); if ($3) { $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 188|0); + $5 = ((($4)) + 196|0); HEAP32[$5>>2] = -1; STACKTOP = sp;return; } else { @@ -188831,7 +193189,7 @@ function _sqlite3VdbeSetVarmask($v,$iVar) { $7 = (($6) - 1)|0; $8 = 1 << $7; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 188|0); + $10 = ((($9)) + 196|0); $11 = HEAP32[$10>>2]|0; $12 = $11 | $8; HEAP32[$10>>2] = $12; @@ -188872,7 +193230,7 @@ function _whereNthSubterm($pTerm,$N) { HEAP32[$1>>2] = $pTerm; HEAP32[$2>>2] = $N; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 18|0); + $4 = ((($3)) + 12|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($6|0)!=(1024); @@ -188886,7 +193244,7 @@ function _whereNthSubterm($pTerm,$N) { STACKTOP = sp;return ($25|0); } $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 12|0); + $13 = ((($12)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; @@ -188894,7 +193252,7 @@ function _whereNthSubterm($pTerm,$N) { if ($17) { $18 = HEAP32[$2>>2]|0; $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 12|0); + $20 = ((($19)) + 28|0); $21 = HEAP32[$20>>2]|0; $22 = ((($21)) + 20|0); $23 = HEAP32[$22>>2]|0; @@ -188936,18 +193294,18 @@ function _whereCombineDisjuncts($pSrc,$pWC,$pOne,$pTwo) { HEAP32[$2>>2] = $pOne; HEAP32[$3>>2] = $pTwo; $4 = HEAP32[$2>>2]|0; - $5 = ((($4)) + 18|0); + $5 = ((($4)) + 12|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[$3>>2]|0; - $9 = ((($8)) + 18|0); + $9 = ((($8)) + 12|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = $7 | $11; $13 = $12&65535; HEAP16[$eOp>>1] = $13; $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 18|0); + $15 = ((($14)) + 12|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = $17 & 62; @@ -188956,7 +193314,7 @@ function _whereCombineDisjuncts($pSrc,$pWC,$pOne,$pTwo) { STACKTOP = sp;return; } $20 = HEAP32[$3>>2]|0; - $21 = ((($20)) + 18|0); + $21 = ((($20)) + 12|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = $23 & 62; @@ -189091,7 +193449,7 @@ function _checkConstraintUnchanged($pExpr,$aiChng,$chngRowid) { $3 = ((($w)) + 20|0); HEAP8[$3>>0] = 0; $4 = ((($w)) + 4|0); - HEAP32[$4>>2] = 199; + HEAP32[$4>>2] = 200; $5 = HEAP32[$1>>2]|0; $6 = ((($w)) + 24|0); HEAP32[$6>>2] = $5; @@ -189160,7 +193518,7 @@ function _sqlite3RowidConstraint($pParse,$onError,$pTab) { HEAP32[$vararg_buffer>>2] = $11; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $20; - $21 = (_sqlite3MPrintf($9,30757,$vararg_buffer)|0); + $21 = (_sqlite3MPrintf($9,30161,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $21; HEAP32[$rc>>2] = 1555; $23 = HEAP32[$0>>2]|0; @@ -189171,7 +193529,7 @@ function _sqlite3RowidConstraint($pParse,$onError,$pTab) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer2>>2] = $11; - $22 = (_sqlite3MPrintf($9,35734,$vararg_buffer2)|0); + $22 = (_sqlite3MPrintf($9,35219,$vararg_buffer2)|0); HEAP32[$zMsg>>2] = $22; HEAP32[$rc>>2] = 2579; $23 = HEAP32[$0>>2]|0; @@ -189299,12 +193657,12 @@ function _sqlite3MultiWrite($pParse) { $pToplevel = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 416|0); + $2 = ((($1)) + 124|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); $5 = HEAP32[$0>>2]|0; if ($4) { - $6 = ((($5)) + 416|0); + $6 = ((($5)) + 124|0); $7 = HEAP32[$6>>2]|0; $8 = $7; } else { @@ -189383,7 +193741,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i $19 = $18&255; $20 = $19 & 32; $21 = ($20|0)==(0); - $22 = $21 ? 32 : 30; + $22 = $21 ? 33 : 30; $23 = $22&255; HEAP8[$opSeek>>0] = $23; $24 = HEAP8[$9>>0]|0; @@ -189422,7 +193780,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i $51 = $50 | $49; HEAP32[$mask>>2] = $51; $52 = HEAP32[$0>>2]|0; - $53 = ((($52)) + 76|0); + $53 = ((($52)) + 44|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + 1)|0; HEAP32[$iOld>>2] = $55; @@ -189432,14 +193790,14 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i $59 = $58 << 16 >> 16; $60 = (1 + ($59))|0; $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 76|0); + $62 = ((($61)) + 44|0); $63 = HEAP32[$62>>2]|0; $64 = (($63) + ($60))|0; HEAP32[$62>>2] = $64; $65 = HEAP32[$v>>2]|0; $66 = HEAP32[$5>>2]|0; $67 = HEAP32[$iOld>>2]|0; - (_sqlite3VdbeAddOp2($65,82,$66,$67)|0); + (_sqlite3VdbeAddOp2($65,84,$66,$67)|0); HEAP32[$iCol>>2] = 0; while(1) { $68 = HEAP32[$iCol>>2]|0; @@ -189551,7 +193909,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i $129 = $128&255; $130 = ($129|0)!=(0); $131 = $130 ? 1 : 0; - (_sqlite3VdbeAddOp2($126,115,$127,$131)|0); + (_sqlite3VdbeAddOp2($126,117,$127,$131)|0); $132 = HEAP32[$v>>2]|0; $133 = HEAP32[$1>>2]|0; _sqlite3VdbeChangeP4($132,-1,$133,-20); @@ -189567,7 +193925,7 @@ function _sqlite3GenerateRowDelete($pParse,$pTab,$pTrigger,$iDataCur,$iIdxCur,$i if ($139) { $140 = HEAP32[$v>>2]|0; $141 = HEAP32[$10>>2]|0; - (_sqlite3VdbeAddOp1($140,115,$141)|0); + (_sqlite3VdbeAddOp1($140,117,$141)|0); } $142 = HEAP8[$9>>0]|0; $143 = $142&255; @@ -189718,7 +194076,7 @@ function _sqlite3GenerateRowIndexDelete($pParse,$pTab,$iDataCur,$iIdxCur,$aRegId $$sink = $60; } $61 = $$sink&65535; - (_sqlite3VdbeAddOp3($44,125,$47,$48,$61)|0); + (_sqlite3VdbeAddOp3($44,127,$47,$48,$61)|0); $62 = HEAP32[$0>>2]|0; $63 = HEAP32[$iPartIdxLabel>>2]|0; _sqlite3ResolvePartIdxLabel($62,$63); @@ -190075,13 +194433,13 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $action = 0, $aiCol = 0; - var $db = 0, $i = 0, $iAction = 0, $iFromCol = 0, $nFrom = 0, $or$cond = 0, $or$cond3 = 0, $pDflt = 0, $pEq = 0, $pIdx = 0, $pList = 0, $pNew = 0, $pRaise = 0, $pSelect = 0, $pStep = 0, $pTrigger = 0, $pWhen = 0, $pWhere = 0, $tFrom = 0, $tFromCol = 0; - var $tNew = 0, $tOld = 0, $tToCol = 0, $zFrom = 0, label = 0, sp = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $action = 0, $aiCol = 0, $db = 0; + var $i = 0, $iAction = 0, $iFromCol = 0, $nFrom = 0, $or$cond = 0, $or$cond3 = 0, $pDflt = 0, $pEq = 0, $pIdx = 0, $pList = 0, $pNew = 0, $pRaise = 0, $pSelect = 0, $pStep = 0, $pTrigger = 0, $pWhen = 0, $pWhere = 0, $tFrom = 0, $tFromCol = 0, $tNew = 0; + var $tOld = 0, $tToCol = 0, $zFrom = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $0 = sp + 136|0; @@ -190141,8 +194499,8 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $22 = ($21|0)!=(0); if ($22) { HEAP32[$0>>2] = 0; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + $275 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($275|0); } } $23 = HEAP32[$iAction>>2]|0; @@ -190171,8 +194529,8 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $36 = ($35|0)!=(0); if ($36) { HEAP32[$0>>2] = 0; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + $275 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($275|0); } HEAP32[$i>>2] = 0; while(1) { @@ -190184,8 +194542,8 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { if (!($41)) { break; } - ;HEAP32[$tOld>>2]=HEAP32[6316>>2]|0;HEAP32[$tOld+4>>2]=HEAP32[6316+4>>2]|0; - ;HEAP32[$tNew>>2]=HEAP32[6324>>2]|0;HEAP32[$tNew+4>>2]=HEAP32[6324+4>>2]|0; + ;HEAP32[$tOld>>2]=HEAP32[5476>>2]|0;HEAP32[$tOld+4>>2]=HEAP32[5476+4>>2]|0; + ;HEAP32[$tNew>>2]=HEAP32[5484>>2]|0;HEAP32[$tNew+4>>2]=HEAP32[5484+4>>2]|0; $42 = HEAP32[$aiCol>>2]|0; $43 = ($42|0)!=(0|0); if ($43) { @@ -190296,9 +194654,9 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $124 = HEAP32[$action>>2]|0; $125 = ($124|0)==(8); if (!($125)) { - $141 = HEAP32[$1>>2]|0; - $142 = (_sqlite3PExpr($141,101,0,0,0)|0); - HEAP32[$pNew>>2] = $142; + $140 = HEAP32[$db>>2]|0; + $141 = (_sqlite3ExprAlloc($140,101,0,0)|0); + HEAP32[$pNew>>2] = $141; break; } $126 = HEAP32[$iFromCol>>2]|0; @@ -190312,182 +194670,181 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { HEAP32[$pDflt>>2] = $133; $134 = HEAP32[$pDflt>>2]|0; $135 = ($134|0)!=(0|0); + $136 = HEAP32[$db>>2]|0; if ($135) { - $136 = HEAP32[$db>>2]|0; $137 = HEAP32[$pDflt>>2]|0; $138 = (_sqlite3ExprDup($136,$137,0)|0); HEAP32[$pNew>>2] = $138; break; } else { - $139 = HEAP32[$1>>2]|0; - $140 = (_sqlite3PExpr($139,101,0,0,0)|0); - HEAP32[$pNew>>2] = $140; + $139 = (_sqlite3ExprAlloc($136,101,0,0)|0); + HEAP32[$pNew>>2] = $139; break; } } } while(0); - $143 = HEAP32[$1>>2]|0; - $144 = HEAP32[$pList>>2]|0; - $145 = HEAP32[$pNew>>2]|0; - $146 = (_sqlite3ExprListAppend($143,$144,$145)|0); - HEAP32[$pList>>2] = $146; - $147 = HEAP32[$1>>2]|0; - $148 = HEAP32[$pList>>2]|0; - _sqlite3ExprListSetName($147,$148,$tFromCol,0); + $142 = HEAP32[$1>>2]|0; + $143 = HEAP32[$pList>>2]|0; + $144 = HEAP32[$pNew>>2]|0; + $145 = (_sqlite3ExprListAppend($142,$143,$144)|0); + HEAP32[$pList>>2] = $145; + $146 = HEAP32[$1>>2]|0; + $147 = HEAP32[$pList>>2]|0; + _sqlite3ExprListSetName($146,$147,$tFromCol,0); } } - $149 = HEAP32[$i>>2]|0; - $150 = (($149) + 1)|0; - HEAP32[$i>>2] = $150; + $148 = HEAP32[$i>>2]|0; + $149 = (($148) + 1)|0; + HEAP32[$i>>2] = $149; } - $151 = HEAP32[$db>>2]|0; - $152 = HEAP32[$aiCol>>2]|0; - _sqlite3DbFree($151,$152); - $153 = HEAP32[$3>>2]|0; + $150 = HEAP32[$db>>2]|0; + $151 = HEAP32[$aiCol>>2]|0; + _sqlite3DbFree($150,$151); + $152 = HEAP32[$3>>2]|0; + $153 = HEAP32[$152>>2]|0; $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$154>>2]|0; - HEAP32[$zFrom>>2] = $155; - $156 = HEAP32[$zFrom>>2]|0; - $157 = (_sqlite3Strlen30($156)|0); - HEAP32[$nFrom>>2] = $157; - $158 = HEAP32[$action>>2]|0; - $159 = ($158|0)==(6); - if ($159) { - $160 = HEAP32[$zFrom>>2]|0; - HEAP32[$tFrom>>2] = $160; - $161 = HEAP32[$nFrom>>2]|0; - $162 = ((($tFrom)) + 4|0); - HEAP32[$162>>2] = $161; - $163 = HEAP32[$db>>2]|0; - $164 = (_sqlite3Expr($163,83,35704)|0); - HEAP32[$pRaise>>2] = $164; - $165 = HEAP32[$pRaise>>2]|0; - $166 = ($165|0)!=(0|0); - if ($166) { - $167 = HEAP32[$pRaise>>2]|0; - $168 = ((($167)) + 1|0); - HEAP8[$168>>0] = 2; + HEAP32[$zFrom>>2] = $154; + $155 = HEAP32[$zFrom>>2]|0; + $156 = (_sqlite3Strlen30($155)|0); + HEAP32[$nFrom>>2] = $156; + $157 = HEAP32[$action>>2]|0; + $158 = ($157|0)==(6); + if ($158) { + $159 = HEAP32[$zFrom>>2]|0; + HEAP32[$tFrom>>2] = $159; + $160 = HEAP32[$nFrom>>2]|0; + $161 = ((($tFrom)) + 4|0); + HEAP32[$161>>2] = $160; + $162 = HEAP32[$db>>2]|0; + $163 = (_sqlite3Expr($162,83,35189)|0); + HEAP32[$pRaise>>2] = $163; + $164 = HEAP32[$pRaise>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { + $166 = HEAP32[$pRaise>>2]|0; + $167 = ((($166)) + 1|0); + HEAP8[$167>>0] = 2; } + $168 = HEAP32[$1>>2]|0; $169 = HEAP32[$1>>2]|0; - $170 = HEAP32[$1>>2]|0; - $171 = HEAP32[$pRaise>>2]|0; - $172 = (_sqlite3ExprListAppend($170,0,$171)|0); - $173 = HEAP32[$db>>2]|0; - $174 = (_sqlite3SrcListAppend($173,0,$tFrom,0)|0); - $175 = HEAP32[$pWhere>>2]|0; - $176 = (_sqlite3SelectNew($169,$172,$174,$175,0,0,0,0,0,0)|0); - HEAP32[$pSelect>>2] = $176; + $170 = HEAP32[$pRaise>>2]|0; + $171 = (_sqlite3ExprListAppend($169,0,$170)|0); + $172 = HEAP32[$db>>2]|0; + $173 = (_sqlite3SrcListAppend($172,0,$tFrom,0)|0); + $174 = HEAP32[$pWhere>>2]|0; + $175 = (_sqlite3SelectNew($168,$171,$173,$174,0,0,0,0,0,0)|0); + HEAP32[$pSelect>>2] = $175; HEAP32[$pWhere>>2] = 0; } - $177 = HEAP32[$db>>2]|0; - $178 = ((($177)) + 256|0); - $179 = HEAP32[$178>>2]|0; - $180 = (($179) + 1)|0; - HEAP32[$178>>2] = $180; - $181 = HEAP32[$db>>2]|0; - $182 = HEAP32[$nFrom>>2]|0; - $183 = (72 + ($182))|0; - $184 = (($183) + 1)|0; - $185 = (_sqlite3DbMallocZero($181,$184,0)|0); - HEAP32[$pTrigger>>2] = $185; - $186 = HEAP32[$pTrigger>>2]|0; - $187 = ($186|0)!=(0|0); - if ($187) { - $188 = HEAP32[$pTrigger>>2]|0; - $189 = ((($188)) + 36|0); - $190 = HEAP32[$pTrigger>>2]|0; - $191 = ((($190)) + 28|0); - HEAP32[$191>>2] = $189; - HEAP32[$pStep>>2] = $189; - $192 = HEAP32[$pStep>>2]|0; - $193 = ((($192)) + 36|0); - $194 = HEAP32[$pStep>>2]|0; - $195 = ((($194)) + 12|0); - HEAP32[$195>>2] = $193; - $196 = HEAP32[$pStep>>2]|0; - $197 = ((($196)) + 12|0); - $198 = HEAP32[$197>>2]|0; - $199 = HEAP32[$zFrom>>2]|0; - $200 = HEAP32[$nFrom>>2]|0; - _memcpy(($198|0),($199|0),($200|0))|0; - $201 = HEAP32[$db>>2]|0; - $202 = HEAP32[$pWhere>>2]|0; - $203 = (_sqlite3ExprDup($201,$202,1)|0); - $204 = HEAP32[$pStep>>2]|0; - $205 = ((($204)) + 16|0); - HEAP32[$205>>2] = $203; - $206 = HEAP32[$db>>2]|0; - $207 = HEAP32[$pList>>2]|0; - $208 = (_sqlite3ExprListDup($206,$207,1)|0); - $209 = HEAP32[$pStep>>2]|0; - $210 = ((($209)) + 20|0); - HEAP32[$210>>2] = $208; - $211 = HEAP32[$db>>2]|0; - $212 = HEAP32[$pSelect>>2]|0; - $213 = (_sqlite3SelectDup($211,$212,1)|0); - $214 = HEAP32[$pStep>>2]|0; - $215 = ((($214)) + 8|0); - HEAP32[$215>>2] = $213; - $216 = HEAP32[$pWhen>>2]|0; - $217 = ($216|0)!=(0|0); - if ($217) { - $218 = HEAP32[$1>>2]|0; - $219 = HEAP32[$pWhen>>2]|0; - $220 = (_sqlite3PExpr($218,19,$219,0,0)|0); - HEAP32[$pWhen>>2] = $220; - $221 = HEAP32[$db>>2]|0; - $222 = HEAP32[$pWhen>>2]|0; - $223 = (_sqlite3ExprDup($221,$222,1)|0); - $224 = HEAP32[$pTrigger>>2]|0; - $225 = ((($224)) + 12|0); - HEAP32[$225>>2] = $223; + $176 = HEAP32[$db>>2]|0; + $177 = ((($176)) + 256|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($178) + 1)|0; + HEAP32[$177>>2] = $179; + $180 = HEAP32[$db>>2]|0; + $181 = HEAP32[$nFrom>>2]|0; + $182 = (72 + ($181))|0; + $183 = (($182) + 1)|0; + $184 = (_sqlite3DbMallocZero($180,$183,0)|0); + HEAP32[$pTrigger>>2] = $184; + $185 = HEAP32[$pTrigger>>2]|0; + $186 = ($185|0)!=(0|0); + if ($186) { + $187 = HEAP32[$pTrigger>>2]|0; + $188 = ((($187)) + 36|0); + $189 = HEAP32[$pTrigger>>2]|0; + $190 = ((($189)) + 28|0); + HEAP32[$190>>2] = $188; + HEAP32[$pStep>>2] = $188; + $191 = HEAP32[$pStep>>2]|0; + $192 = ((($191)) + 36|0); + $193 = HEAP32[$pStep>>2]|0; + $194 = ((($193)) + 12|0); + HEAP32[$194>>2] = $192; + $195 = HEAP32[$pStep>>2]|0; + $196 = ((($195)) + 12|0); + $197 = HEAP32[$196>>2]|0; + $198 = HEAP32[$zFrom>>2]|0; + $199 = HEAP32[$nFrom>>2]|0; + _memcpy(($197|0),($198|0),($199|0))|0; + $200 = HEAP32[$db>>2]|0; + $201 = HEAP32[$pWhere>>2]|0; + $202 = (_sqlite3ExprDup($200,$201,1)|0); + $203 = HEAP32[$pStep>>2]|0; + $204 = ((($203)) + 16|0); + HEAP32[$204>>2] = $202; + $205 = HEAP32[$db>>2]|0; + $206 = HEAP32[$pList>>2]|0; + $207 = (_sqlite3ExprListDup($205,$206,1)|0); + $208 = HEAP32[$pStep>>2]|0; + $209 = ((($208)) + 20|0); + HEAP32[$209>>2] = $207; + $210 = HEAP32[$db>>2]|0; + $211 = HEAP32[$pSelect>>2]|0; + $212 = (_sqlite3SelectDup($210,$211,1)|0); + $213 = HEAP32[$pStep>>2]|0; + $214 = ((($213)) + 8|0); + HEAP32[$214>>2] = $212; + $215 = HEAP32[$pWhen>>2]|0; + $216 = ($215|0)!=(0|0); + if ($216) { + $217 = HEAP32[$1>>2]|0; + $218 = HEAP32[$pWhen>>2]|0; + $219 = (_sqlite3PExpr($217,19,$218,0,0)|0); + HEAP32[$pWhen>>2] = $219; + $220 = HEAP32[$db>>2]|0; + $221 = HEAP32[$pWhen>>2]|0; + $222 = (_sqlite3ExprDup($220,$221,1)|0); + $223 = HEAP32[$pTrigger>>2]|0; + $224 = ((($223)) + 12|0); + HEAP32[$224>>2] = $222; } } - $226 = HEAP32[$db>>2]|0; - $227 = ((($226)) + 256|0); - $228 = HEAP32[$227>>2]|0; - $229 = (($228) + -1)|0; - HEAP32[$227>>2] = $229; - $230 = HEAP32[$db>>2]|0; - $231 = HEAP32[$pWhere>>2]|0; - _sqlite3ExprDelete($230,$231); - $232 = HEAP32[$db>>2]|0; - $233 = HEAP32[$pWhen>>2]|0; - _sqlite3ExprDelete($232,$233); - $234 = HEAP32[$db>>2]|0; - $235 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($234,$235); - $236 = HEAP32[$db>>2]|0; - $237 = HEAP32[$pSelect>>2]|0; - _sqlite3SelectDelete($236,$237); - $238 = HEAP32[$db>>2]|0; - $239 = ((($238)) + 69|0); - $240 = HEAP8[$239>>0]|0; - $241 = $240&255; - $242 = ($241|0)==(1); - if ($242) { - $243 = HEAP32[$db>>2]|0; - $244 = HEAP32[$pTrigger>>2]|0; - _fkTriggerDelete($243,$244); + $225 = HEAP32[$db>>2]|0; + $226 = ((($225)) + 256|0); + $227 = HEAP32[$226>>2]|0; + $228 = (($227) + -1)|0; + HEAP32[$226>>2] = $228; + $229 = HEAP32[$db>>2]|0; + $230 = HEAP32[$pWhere>>2]|0; + _sqlite3ExprDelete($229,$230); + $231 = HEAP32[$db>>2]|0; + $232 = HEAP32[$pWhen>>2]|0; + _sqlite3ExprDelete($231,$232); + $233 = HEAP32[$db>>2]|0; + $234 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($233,$234); + $235 = HEAP32[$db>>2]|0; + $236 = HEAP32[$pSelect>>2]|0; + _sqlite3SelectDelete($235,$236); + $237 = HEAP32[$db>>2]|0; + $238 = ((($237)) + 69|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240|0)==(1); + if ($241) { + $242 = HEAP32[$db>>2]|0; + $243 = HEAP32[$pTrigger>>2]|0; + _fkTriggerDelete($242,$243); HEAP32[$0>>2] = 0; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + $275 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($275|0); } - $245 = HEAP32[$action>>2]|0; - switch ($245|0) { + $244 = HEAP32[$action>>2]|0; + switch ($244|0) { case 6: { - $246 = HEAP32[$pStep>>2]|0; - HEAP8[$246>>0] = 119; + $245 = HEAP32[$pStep>>2]|0; + HEAP8[$245>>0] = 119; break; } case 9: { - $247 = HEAP32[$4>>2]|0; - $248 = ($247|0)!=(0|0); - if ($248) { + $246 = HEAP32[$4>>2]|0; + $247 = ($246|0)!=(0|0); + if ($247) { label = 41; } else { - $249 = HEAP32[$pStep>>2]|0; - HEAP8[$249>>0] = 109; + $248 = HEAP32[$pStep>>2]|0; + HEAP8[$248>>0] = 109; } break; } @@ -190496,43 +194853,43 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { } } if ((label|0) == 41) { - $250 = HEAP32[$pStep>>2]|0; - HEAP8[$250>>0] = 110; - } - $251 = HEAP32[$pTrigger>>2]|0; - $252 = HEAP32[$pStep>>2]|0; - $253 = ((($252)) + 4|0); - HEAP32[$253>>2] = $251; - $254 = HEAP32[$2>>2]|0; - $255 = ((($254)) + 64|0); - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$pTrigger>>2]|0; - $258 = ((($257)) + 20|0); - HEAP32[$258>>2] = $256; - $259 = HEAP32[$2>>2]|0; - $260 = ((($259)) + 64|0); - $261 = HEAP32[$260>>2]|0; - $262 = HEAP32[$pTrigger>>2]|0; - $263 = ((($262)) + 24|0); - HEAP32[$263>>2] = $261; - $264 = HEAP32[$pTrigger>>2]|0; - $265 = HEAP32[$iAction>>2]|0; - $266 = HEAP32[$3>>2]|0; - $267 = ((($266)) + 28|0); - $268 = (($267) + ($265<<2)|0); - HEAP32[$268>>2] = $264; - $269 = HEAP32[$4>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? 110 : 109; - $272 = $271&255; - $273 = HEAP32[$pTrigger>>2]|0; - $274 = ((($273)) + 8|0); - HEAP8[$274>>0] = $272; - } - $275 = HEAP32[$pTrigger>>2]|0; - HEAP32[$0>>2] = $275; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + $249 = HEAP32[$pStep>>2]|0; + HEAP8[$249>>0] = 110; + } + $250 = HEAP32[$pTrigger>>2]|0; + $251 = HEAP32[$pStep>>2]|0; + $252 = ((($251)) + 4|0); + HEAP32[$252>>2] = $250; + $253 = HEAP32[$2>>2]|0; + $254 = ((($253)) + 64|0); + $255 = HEAP32[$254>>2]|0; + $256 = HEAP32[$pTrigger>>2]|0; + $257 = ((($256)) + 20|0); + HEAP32[$257>>2] = $255; + $258 = HEAP32[$2>>2]|0; + $259 = ((($258)) + 64|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$pTrigger>>2]|0; + $262 = ((($261)) + 24|0); + HEAP32[$262>>2] = $260; + $263 = HEAP32[$pTrigger>>2]|0; + $264 = HEAP32[$iAction>>2]|0; + $265 = HEAP32[$3>>2]|0; + $266 = ((($265)) + 28|0); + $267 = (($266) + ($264<<2)|0); + HEAP32[$267>>2] = $263; + $268 = HEAP32[$4>>2]|0; + $269 = ($268|0)!=(0|0); + $270 = $269 ? 110 : 109; + $271 = $270&255; + $272 = HEAP32[$pTrigger>>2]|0; + $273 = ((($272)) + 8|0); + HEAP8[$273>>0] = $271; + } + $274 = HEAP32[$pTrigger>>2]|0; + HEAP32[$0>>2] = $274; + $275 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($275|0); } function _sqlite3CodeRowTriggerDirect($pParse,$p,$pTab,$reg,$orconf,$ignoreJump) { $pParse = $pParse|0; @@ -190595,14 +194952,14 @@ function _sqlite3CodeRowTriggerDirect($pParse,$p,$pTab,$reg,$orconf,$ignoreJump) $27 = HEAP32[$3>>2]|0; $28 = HEAP32[$5>>2]|0; $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 76|0); + $30 = ((($29)) + 44|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + 1)|0; HEAP32[$30>>2] = $32; $33 = HEAP32[$pPrg>>2]|0; $34 = ((($33)) + 8|0); $35 = HEAP32[$34>>2]|0; - (_sqlite3VdbeAddOp4($26,62,$27,$28,$32,$35,-18)|0); + (_sqlite3VdbeAddOp4($26,64,$27,$28,$32,$35,-18)|0); $36 = HEAP32[$v>>2]|0; $37 = HEAP32[$bRecursive>>2]|0; $38 = $37&255; @@ -190630,12 +194987,12 @@ function _getRowTrigger($pParse,$pTrigger,$pTab,$orconf) { HEAP32[$2>>2] = $pTab; HEAP32[$3>>2] = $orconf; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 416|0); + $5 = ((($4)) + 124|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0|0); $8 = HEAP32[$0>>2]|0; if ($7) { - $9 = ((($8)) + 416|0); + $9 = ((($8)) + 124|0); $10 = HEAP32[$9>>2]|0; $11 = $10; } else { @@ -190643,7 +195000,7 @@ function _getRowTrigger($pParse,$pTrigger,$pTab,$orconf) { } HEAP32[$pRoot>>2] = $11; $12 = HEAP32[$pRoot>>2]|0; - $13 = ((($12)) + 532|0); + $13 = ((($12)) + 468|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pPrg>>2] = $14; while(1) { @@ -190694,12 +195051,12 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iEndTrigger = 0, $pPrg = 0, $pProgram = 0, $pSubParse = 0, $pTop = 0, $pWhen = 0, $sNC = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $db = 0, $iEndTrigger = 0, $pPrg = 0, $pProgram = 0, $pSubParse = 0, $pTop = 0, $pWhen = 0, $sNC = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer = sp; @@ -190722,12 +195079,12 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { HEAP32[$3>>2] = $pTab; HEAP32[$4>>2] = $orconf; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 416|0); + $6 = ((($5)) + 124|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)!=(0|0); $9 = HEAP32[$1>>2]|0; if ($8) { - $10 = ((($9)) + 416|0); + $10 = ((($9)) + 124|0); $11 = HEAP32[$10>>2]|0; $12 = $11; } else { @@ -190747,21 +195104,21 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $18 = ($17|0)!=(0|0); if (!($18)) { HEAP32[$0>>2] = 0; - $165 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($165|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } $19 = HEAP32[$pTop>>2]|0; - $20 = ((($19)) + 532|0); + $20 = ((($19)) + 468|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$pPrg>>2]|0; $23 = ((($22)) + 4|0); HEAP32[$23>>2] = $21; $24 = HEAP32[$pPrg>>2]|0; $25 = HEAP32[$pTop>>2]|0; - $26 = ((($25)) + 532|0); + $26 = ((($25)) + 468|0); HEAP32[$26>>2] = $24; $27 = HEAP32[$db>>2]|0; - $28 = (_sqlite3DbMallocZero($27,28,0)|0); + $28 = (_sqlite3DbMallocZero($27,24,0)|0); HEAP32[$pProgram>>2] = $28; $29 = HEAP32[$pPrg>>2]|0; $30 = ((($29)) + 8|0); @@ -190770,8 +195127,8 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $32 = ($31|0)!=(0|0); if (!($32)) { HEAP32[$0>>2] = 0; - $165 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($165|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } $33 = HEAP32[$pTop>>2]|0; $34 = ((($33)) + 8|0); @@ -190793,14 +195150,14 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $46 = ((($45)) + 4|0); HEAP32[$46>>2] = -1; $47 = HEAP32[$db>>2]|0; - $48 = (_sqlite3DbMallocZero($47,544,0)|0); + $48 = (_sqlite3DbMallocZero($47,480,0)|0); HEAP32[$pSubParse>>2] = $48; $49 = HEAP32[$pSubParse>>2]|0; $50 = ($49|0)!=(0|0); if (!($50)) { HEAP32[$0>>2] = 0; - $165 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($165|0); + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $51 = HEAP32[$pSubParse>>2]|0; @@ -190810,28 +195167,28 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { HEAP32[$53>>2] = $52; $54 = HEAP32[$3>>2]|0; $55 = HEAP32[$pSubParse>>2]|0; - $56 = ((($55)) + 420|0); + $56 = ((($55)) + 128|0); HEAP32[$56>>2] = $54; $57 = HEAP32[$pTop>>2]|0; $58 = HEAP32[$pSubParse>>2]|0; - $59 = ((($58)) + 416|0); + $59 = ((($58)) + 124|0); HEAP32[$59>>2] = $57; $60 = HEAP32[$2>>2]|0; $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$pSubParse>>2]|0; - $63 = ((($62)) + 496|0); + $63 = ((($62)) + 448|0); HEAP32[$63>>2] = $61; $64 = HEAP32[$2>>2]|0; $65 = ((($64)) + 8|0); $66 = HEAP8[$65>>0]|0; $67 = HEAP32[$pSubParse>>2]|0; - $68 = ((($67)) + 440|0); + $68 = ((($67)) + 148|0); HEAP8[$68>>0] = $66; $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 428|0); + $70 = ((($69)) + 136|0); $71 = HEAP32[$70>>2]|0; $72 = HEAP32[$pSubParse>>2]|0; - $73 = ((($72)) + 428|0); + $73 = ((($72)) + 136|0); HEAP32[$73>>2] = $71; $74 = HEAP32[$pSubParse>>2]|0; $75 = (_sqlite3GetVdbe($74)|0); @@ -190844,7 +195201,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $80 = HEAP32[$2>>2]|0; $81 = HEAP32[$80>>2]|0; HEAP32[$vararg_buffer>>2] = $81; - $82 = (_sqlite3MPrintf($79,35401,$vararg_buffer)|0); + $82 = (_sqlite3MPrintf($79,34884,$vararg_buffer)|0); _sqlite3VdbeChangeP4($78,-1,$82,-1); $83 = HEAP32[$2>>2]|0; $84 = ((($83)) + 12|0); @@ -190894,7 +195251,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { _sqlite3VdbeResolveLabel($114,$115); } $116 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($116,73)|0); + (_sqlite3VdbeAddOp0($116,75)|0); $117 = HEAP32[$1>>2]|0; $118 = HEAP32[$pSubParse>>2]|0; _transferParseError($117,$118); @@ -190908,58 +195265,52 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $125 = HEAP32[$pProgram>>2]|0; $126 = ((($125)) + 4|0); $127 = HEAP32[$pTop>>2]|0; - $128 = ((($127)) + 400|0); + $128 = ((($127)) + 108|0); $129 = (_sqlite3VdbeTakeOpArray($124,$126,$128)|0); $130 = HEAP32[$pProgram>>2]|0; HEAP32[$130>>2] = $129; } $131 = HEAP32[$pSubParse>>2]|0; - $132 = ((($131)) + 76|0); + $132 = ((($131)) + 44|0); $133 = HEAP32[$132>>2]|0; $134 = HEAP32[$pProgram>>2]|0; $135 = ((($134)) + 8|0); HEAP32[$135>>2] = $133; $136 = HEAP32[$pSubParse>>2]|0; - $137 = ((($136)) + 72|0); + $137 = ((($136)) + 40|0); $138 = HEAP32[$137>>2]|0; $139 = HEAP32[$pProgram>>2]|0; $140 = ((($139)) + 12|0); HEAP32[$140>>2] = $138; - $141 = HEAP32[$pSubParse>>2]|0; - $142 = ((($141)) + 84|0); - $143 = HEAP32[$142>>2]|0; - $144 = HEAP32[$pProgram>>2]|0; - $145 = ((($144)) + 16|0); - HEAP32[$145>>2] = $143; - $146 = HEAP32[$2>>2]|0; - $147 = HEAP32[$pProgram>>2]|0; - $148 = ((($147)) + 20|0); + $141 = HEAP32[$2>>2]|0; + $142 = HEAP32[$pProgram>>2]|0; + $143 = ((($142)) + 16|0); + HEAP32[$143>>2] = $141; + $144 = HEAP32[$pSubParse>>2]|0; + $145 = ((($144)) + 140|0); + $146 = HEAP32[$145>>2]|0; + $147 = HEAP32[$pPrg>>2]|0; + $148 = ((($147)) + 16|0); HEAP32[$148>>2] = $146; $149 = HEAP32[$pSubParse>>2]|0; - $150 = ((($149)) + 432|0); + $150 = ((($149)) + 144|0); $151 = HEAP32[$150>>2]|0; $152 = HEAP32[$pPrg>>2]|0; $153 = ((($152)) + 16|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$pSubParse>>2]|0; - $155 = ((($154)) + 436|0); - $156 = HEAP32[$155>>2]|0; - $157 = HEAP32[$pPrg>>2]|0; - $158 = ((($157)) + 16|0); - $159 = ((($158)) + 4|0); - HEAP32[$159>>2] = $156; - $160 = HEAP32[$v>>2]|0; - _sqlite3VdbeDelete($160); - } - $161 = HEAP32[$pSubParse>>2]|0; - _sqlite3ParserReset($161); - $162 = HEAP32[$db>>2]|0; - $163 = HEAP32[$pSubParse>>2]|0; - _sqlite3DbFree($162,$163); - $164 = HEAP32[$pPrg>>2]|0; - HEAP32[$0>>2] = $164; - $165 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($165|0); + $154 = ((($153)) + 4|0); + HEAP32[$154>>2] = $151; + $155 = HEAP32[$v>>2]|0; + _sqlite3VdbeDelete($155); + } + $156 = HEAP32[$pSubParse>>2]|0; + _sqlite3ParserReset($156); + $157 = HEAP32[$db>>2]|0; + $158 = HEAP32[$pSubParse>>2]|0; + _sqlite3DbFree($157,$158); + $159 = HEAP32[$pPrg>>2]|0; + HEAP32[$0>>2] = $159; + $160 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($160|0); } function _sqlite3VdbeLinkSubProgram($pVdbe,$p) { $pVdbe = $pVdbe|0; @@ -190972,14 +195323,14 @@ function _sqlite3VdbeLinkSubProgram($pVdbe,$p) { HEAP32[$0>>2] = $pVdbe; HEAP32[$1>>2] = $p; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 192|0); + $3 = ((($2)) + 200|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 24|0); + $6 = ((($5)) + 20|0); HEAP32[$6>>2] = $4; $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 192|0); + $9 = ((($8)) + 200|0); HEAP32[$9>>2] = $7; STACKTOP = sp;return; } @@ -190993,14 +195344,14 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $db = 0, $pSelect = 0, $pStep = 0, $sDest = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $pStep = sp + 32|0; - $v = sp + 28|0; - $db = sp + 24|0; - $sDest = sp + 4|0; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 52|0; + $1 = sp + 48|0; + $2 = sp + 44|0; + $pStep = sp + 40|0; + $v = sp + 36|0; + $db = sp + 32|0; + $sDest = sp + 8|0; $pSelect = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pStepList; @@ -191035,7 +195386,7 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { $18 = $$sink&255; $19 = $18&255; $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 441|0); + $21 = ((($20)) + 149|0); HEAP8[$21>>0] = $19; $22 = HEAP32[$pStep>>2]|0; $23 = HEAP8[$22>>0]|0; @@ -191057,7 +195408,7 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { $37 = HEAP32[$36>>2]|0; $38 = (_sqlite3ExprDup($34,$37,0)|0); $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 441|0); + $40 = ((($39)) + 149|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; _sqlite3Update($25,$28,$33,$38,$42); @@ -191079,7 +195430,7 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { $55 = HEAP32[$54>>2]|0; $56 = (_sqlite3IdListDup($52,$55)|0); $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 441|0); + $58 = ((($57)) + 149|0); $59 = HEAP8[$58>>0]|0; $60 = $59&255; _sqlite3Insert($43,$46,$51,$56,$60); @@ -191120,7 +195471,7 @@ function _codeTriggerProgram($pParse,$pStepList,$orconf) { $82 = ($81|0)!=(119); if ($82) { $83 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($83,116)|0); + (_sqlite3VdbeAddOp0($83,118)|0); } $84 = HEAP32[$pStep>>2]|0; $85 = ((($84)) + 28|0); @@ -191141,7 +195492,7 @@ function _transferParseError($pTo,$pFrom) { HEAP32[$0>>2] = $pTo; HEAP32[$1>>2] = $pFrom; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 68|0); + $3 = ((($2)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0); $6 = HEAP32[$1>>2]|0; @@ -191152,10 +195503,10 @@ function _transferParseError($pTo,$pFrom) { $10 = ((($9)) + 4|0); HEAP32[$10>>2] = $8; $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 68|0); + $12 = ((($11)) + 36|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 68|0); + $15 = ((($14)) + 36|0); HEAP32[$15>>2] = $13; $16 = HEAP32[$1>>2]|0; $17 = ((($16)) + 12|0); @@ -191188,19 +195539,19 @@ function _sqlite3VdbeTakeOpArray($p,$pnOp,$pnMaxArg) { HEAP32[$1>>2] = $pnOp; HEAP32[$2>>2] = $pnMaxArg; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 4|0); + $4 = ((($3)) + 88|0); $5 = HEAP32[$4>>2]|0; HEAP32[$aOp>>2] = $5; $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$2>>2]|0; _resolveP2Values($6,$7); $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 32|0); + $9 = ((($8)) + 136|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; HEAP32[$11>>2] = $10; $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 4|0); + $13 = ((($12)) + 88|0); HEAP32[$13>>2] = 0; $14 = HEAP32[$aOp>>2]|0; STACKTOP = sp;return ($14|0); @@ -191230,30 +195581,30 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $3 = HEAP32[$2>>2]|0; HEAP32[$nMaxArgs>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 24|0); + $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; HEAP32[$pParse>>2] = $6; $7 = HEAP32[$pParse>>2]|0; - $8 = ((($7)) + 120|0); + $8 = ((($7)) + 76|0); $9 = HEAP32[$8>>2]|0; HEAP32[$aLabel>>2] = $9; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 89|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 & -33; - $14 = $13 | 32; - HEAP8[$11>>0] = $14; + $11 = ((($10)) + 144|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 & -129; + $14 = $13 | 128; + HEAP16[$11>>1] = $14; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 89|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & -65; - HEAP8[$16>>0] = $18; + $16 = ((($15)) + 144|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17 & -257; + HEAP16[$16>>1] = $18; $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 32|0); + $20 = ((($19)) + 136|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) - 1)|0; $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 4|0); + $24 = ((($23)) + 88|0); $25 = HEAP32[$24>>2]|0; $26 = (($25) + (($22*20)|0)|0); HEAP32[$pOp>>2] = $26; @@ -191261,7 +195612,7 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $27 = HEAP32[$pOp>>2]|0; $28 = HEAP8[$27>>0]|0; $29 = $28&255; - $30 = ($29|0)<=(69); + $30 = ($29|0)<=(71); if ($30) { $31 = HEAP32[$pOp>>2]|0; $32 = HEAP8[$31>>0]|0; @@ -191274,10 +195625,10 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $37 = ($36|0)!=(0); if ($37) { $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 89|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40 & -33; - HEAP8[$39>>0] = $41; + $39 = ((($38)) + 144|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40 & -129; + HEAP16[$39>>1] = $41; label = 6; } else { label = 6; @@ -191290,16 +195641,16 @@ function _resolveP2Values($p,$pMaxFuncArgs) { } case 9: case 10: case 8: { $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 89|0); - $49 = HEAP8[$48>>0]|0; - $50 = $49 & -33; - HEAP8[$48>>0] = $50; + $48 = ((($47)) + 144|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49 & -129; + HEAP16[$48>>1] = $50; $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 89|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53 & -65; - $55 = $54 | 64; - HEAP8[$52>>0] = $55; + $52 = ((($51)) + 144|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53 & -257; + $55 = $54 | 256; + HEAP16[$52>>1] = $55; break; } case 12: { @@ -191334,7 +195685,7 @@ function _resolveP2Values($p,$pMaxFuncArgs) { case 3: case 5: case 7: { $72 = HEAP32[$pOp>>2]|0; $73 = ((($72)) + 16|0); - HEAP32[$73>>2] = 200; + HEAP32[$73>>2] = 201; $74 = HEAP32[$pOp>>2]|0; $75 = ((($74)) + 1|0); HEAP8[$75>>0] = -19; @@ -191343,7 +195694,7 @@ function _resolveP2Values($p,$pMaxFuncArgs) { case 4: case 6: { $76 = HEAP32[$pOp>>2]|0; $77 = ((($76)) + 16|0); - HEAP32[$77>>2] = 201; + HEAP32[$77>>2] = 202; $78 = HEAP32[$pOp>>2]|0; $79 = ((($78)) + 1|0); HEAP8[$79>>0] = -19; @@ -191355,16 +195706,16 @@ function _resolveP2Values($p,$pMaxFuncArgs) { if ((label|0) == 6) { label = 0; $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 89|0); - $44 = HEAP8[$43>>0]|0; - $45 = $44 & -65; - $46 = $45 | 64; - HEAP8[$43>>0] = $46; + $43 = ((($42)) + 144|0); + $44 = HEAP16[$43>>1]|0; + $45 = $44 & -257; + $46 = $45 | 256; + HEAP16[$43>>1] = $46; } $80 = HEAP32[$pOp>>2]|0; $81 = HEAP8[$80>>0]|0; $82 = $81&255; - $83 = (35415 + ($82)|0); + $83 = (34898 + ($82)|0); $84 = HEAP8[$83>>0]|0; $85 = $84&255; $86 = $85 & 1; @@ -191390,7 +195741,7 @@ function _resolveP2Values($p,$pMaxFuncArgs) { } $101 = HEAP32[$pOp>>2]|0; $102 = HEAP32[$0>>2]|0; - $103 = ((($102)) + 4|0); + $103 = ((($102)) + 88|0); $104 = HEAP32[$103>>2]|0; $105 = ($101|0)==($104|0); if ($105) { @@ -191403,14 +195754,14 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $108 = HEAP32[$0>>2]|0; $109 = HEAP32[$108>>2]|0; $110 = HEAP32[$pParse>>2]|0; - $111 = ((($110)) + 120|0); + $111 = ((($110)) + 76|0); $112 = HEAP32[$111>>2]|0; _sqlite3DbFree($109,$112); $113 = HEAP32[$pParse>>2]|0; - $114 = ((($113)) + 120|0); + $114 = ((($113)) + 76|0); HEAP32[$114>>2] = 0; $115 = HEAP32[$pParse>>2]|0; - $116 = ((($115)) + 116|0); + $116 = ((($115)) + 72|0); HEAP32[$116>>2] = 0; $117 = HEAP32[$nMaxArgs>>2]|0; $118 = HEAP32[$1>>2]|0; @@ -191927,7 +196278,7 @@ function _moveToChild($pCur,$newPgno) { $9 = $8 << 24 >> 24; $10 = ($9|0)>=(19); if ($10) { - $11 = (_sqlite3CorruptError(62497)|0); + $11 = (_sqlite3CorruptError(63009)|0); HEAP32[$0>>2] = $11; $47 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($47|0); @@ -192132,7 +196483,7 @@ function _getAndInitPage($pBt,$pgno,$ppPage,$pCur,$bReadOnly) { $9 = ($6>>>0)>($8>>>0); L1: do { if ($9) { - $10 = (_sqlite3CorruptError(59717)|0); + $10 = (_sqlite3CorruptError(60244)|0); HEAP32[$rc>>2] = $10; } else { $11 = HEAP32[$1>>2]|0; @@ -192196,7 +196547,7 @@ function _getAndInitPage($pBt,$pgno,$ppPage,$pCur,$bReadOnly) { break; } } - $54 = (_sqlite3CorruptError(59739)|0); + $54 = (_sqlite3CorruptError(60266)|0); HEAP32[$rc>>2] = $54; $55 = HEAP32[$3>>2]|0; $56 = HEAP32[$55>>2]|0; @@ -192302,7 +196653,7 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0; var $8 = 0, $9 = 0, $aSpace = 0, $pFree = 0, $pIdxKey = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; + STACKTOP = STACKTOP + 432|0; $2 = sp + 36|0; $3 = sp + 32|0; $4 = sp + 28|0; @@ -192330,7 +196681,7 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { $14 = HEAP32[$3>>2]|0; $15 = ((($14)) + 72|0); $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3VdbeAllocUnpackedRecord($16,$aSpace,200,$pFree)|0); + $17 = (_sqlite3VdbeAllocUnpackedRecord($16,$aSpace,384,$pFree)|0); HEAP32[$pIdxKey>>2] = $17; $18 = HEAP32[$pIdxKey>>2]|0; $19 = ($18|0)==(0|0); @@ -192364,7 +196715,7 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$pFree>>2]|0; _sqlite3DbFree($40,$41); - $42 = (_sqlite3CorruptError(58497)|0); + $42 = (_sqlite3CorruptError(59021)|0); HEAP32[$2>>2] = $42; $63 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($63|0); @@ -192665,11 +197016,11 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $chldPg = 0, $idx = 0, $lwr = 0, $nCell = 0; - var $nCellKey = 0, $pCell = 0, $pCellBody = 0, $pCellKey = 0, $pPage = 0, $rc = 0, $upr = 0, $xRecordCompare = 0, label = 0, sp = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $chldPg = 0, $idx = 0, $lwr = 0, $nCell = 0, $nCellKey = 0, $pCell = 0, $pCellBody = 0; + var $pCellKey = 0, $pPage = 0, $rc = 0, $upr = 0, $xRecordCompare = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $2 = sp + 80|0; @@ -192701,283 +197052,280 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { HEAP32[$11>>2] = $1; HEAP32[$6>>2] = $biasRight; HEAP32[$7>>2] = $pRes; - $12 = HEAP32[$3>>2]|0; - $13 = ((($12)) + 66|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==(1); - if ($16) { - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 64|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 & 2; - $22 = ($21|0)!=(0); - if ($22) { - $23 = HEAP32[$3>>2]|0; - $24 = ((($23)) + 69|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$3>>2]|0; - $29 = ((($28)) + 16|0); - $30 = $29; + $12 = HEAP32[$4>>2]|0; + $13 = ($12|0)==(0|0); + if ($13) { + $14 = HEAP32[$3>>2]|0; + $15 = ((($14)) + 66|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = ($17|0)==(1); + if ($18) { + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 64|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = $22 & 2; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$3>>2]|0; + $26 = ((($25)) + 16|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; + $33 = $5; $34 = $33; $35 = HEAP32[$34>>2]|0; - $36 = $5; + $36 = (($33) + 4)|0; $37 = $36; $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = ($32|0)==($38|0); - $43 = ($35|0)==($41|0); - $44 = $42 & $43; - if ($44) { - $45 = HEAP32[$7>>2]|0; - HEAP32[$45>>2] = 0; + $39 = ($29|0)==($35|0); + $40 = ($32|0)==($38|0); + $41 = $39 & $40; + if ($41) { + $42 = HEAP32[$7>>2]|0; + HEAP32[$42>>2] = 0; HEAP32[$2>>2] = 0; - $476 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($476|0); + $473 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($473|0); } - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + 64|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = $49 & 8; - $51 = ($50|0)!=(0); - if ($51) { - $52 = HEAP32[$3>>2]|0; - $53 = ((($52)) + 16|0); - $54 = $53; + $43 = HEAP32[$3>>2]|0; + $44 = ((($43)) + 64|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = $46 & 8; + $48 = ($47|0)!=(0); + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = ((($49)) + 16|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; $55 = $54; $56 = HEAP32[$55>>2]|0; - $57 = (($54) + 4)|0; + $57 = $5; $58 = $57; $59 = HEAP32[$58>>2]|0; - $60 = $5; + $60 = (($57) + 4)|0; $61 = $60; $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = ($59|0)<($65|0); - $67 = ($56>>>0)<($62>>>0); - $68 = ($59|0)==($65|0); - $69 = $68 & $67; - $70 = $66 | $69; - if ($70) { - $71 = HEAP32[$7>>2]|0; - HEAP32[$71>>2] = -1; + $63 = ($56|0)<($62|0); + $64 = ($53>>>0)<($59>>>0); + $65 = ($56|0)==($62|0); + $66 = $65 & $64; + $67 = $63 | $66; + if ($67) { + $68 = HEAP32[$7>>2]|0; + HEAP32[$68>>2] = -1; HEAP32[$2>>2] = 0; - $476 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($476|0); + $473 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($473|0); } } } } } - $72 = HEAP32[$4>>2]|0; - $73 = ($72|0)!=(0|0); - if ($73) { - $74 = HEAP32[$4>>2]|0; - $75 = (_sqlite3VdbeFindCompare($74)|0); - HEAP32[$xRecordCompare>>2] = $75; - $76 = HEAP32[$4>>2]|0; - $77 = ((($76)) + 11|0); - HEAP8[$77>>0] = 0; + $69 = HEAP32[$4>>2]|0; + $70 = ($69|0)!=(0|0); + if ($70) { + $71 = HEAP32[$4>>2]|0; + $72 = (_sqlite3VdbeFindCompare($71)|0); + HEAP32[$xRecordCompare>>2] = $72; + $73 = HEAP32[$4>>2]|0; + $74 = ((($73)) + 11|0); + HEAP8[$74>>0] = 0; } else { HEAP32[$xRecordCompare>>2] = 0; } - $78 = HEAP32[$3>>2]|0; - $79 = (_moveToRoot($78)|0); - HEAP32[$rc>>2] = $79; - $80 = HEAP32[$rc>>2]|0; - $81 = ($80|0)!=(0); - if ($81) { - $82 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $82; - $476 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($476|0); + $75 = HEAP32[$3>>2]|0; + $76 = (_moveToRoot($75)|0); + HEAP32[$rc>>2] = $76; + $77 = HEAP32[$rc>>2]|0; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $79; + $473 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($473|0); } - $83 = HEAP32[$3>>2]|0; - $84 = ((($83)) + 66|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$7>>2]|0; - HEAP32[$88>>2] = -1; + $80 = HEAP32[$3>>2]|0; + $81 = ((($80)) + 66|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = ($83|0)==(0); + if ($84) { + $85 = HEAP32[$7>>2]|0; + HEAP32[$85>>2] = -1; HEAP32[$2>>2] = 0; - $476 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($476|0); + $473 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($473|0); } L24: while(1) { - $89 = HEAP32[$3>>2]|0; - $90 = ((($89)) + 68|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91 << 24 >> 24; - $93 = HEAP32[$3>>2]|0; - $94 = ((($93)) + 120|0); - $95 = (($94) + ($92<<2)|0); - $96 = HEAP32[$95>>2]|0; - HEAP32[$pPage>>2] = $96; + $86 = HEAP32[$3>>2]|0; + $87 = ((($86)) + 68|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88 << 24 >> 24; + $90 = HEAP32[$3>>2]|0; + $91 = ((($90)) + 120|0); + $92 = (($91) + ($89<<2)|0); + $93 = HEAP32[$92>>2]|0; + HEAP32[$pPage>>2] = $93; HEAP32[$lwr>>2] = 0; - $97 = HEAP32[$pPage>>2]|0; - $98 = ((($97)) + 18|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99&65535; - $101 = (($100) - 1)|0; - HEAP32[$upr>>2] = $101; - $102 = HEAP32[$upr>>2]|0; - $103 = HEAP32[$6>>2]|0; - $104 = (1 - ($103))|0; - $105 = $102 >> $104; - HEAP32[$idx>>2] = $105; - $106 = HEAP32[$idx>>2]|0; - $107 = $106&65535; - $108 = HEAP32[$3>>2]|0; - $109 = ((($108)) + 68|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110 << 24 >> 24; - $112 = HEAP32[$3>>2]|0; - $113 = ((($112)) + 80|0); - $114 = (($113) + ($111<<1)|0); - HEAP16[$114>>1] = $107; - $115 = HEAP32[$xRecordCompare>>2]|0; - $116 = ($115|0)==(0|0); + $94 = HEAP32[$pPage>>2]|0; + $95 = ((($94)) + 18|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96&65535; + $98 = (($97) - 1)|0; + HEAP32[$upr>>2] = $98; + $99 = HEAP32[$upr>>2]|0; + $100 = HEAP32[$6>>2]|0; + $101 = (1 - ($100))|0; + $102 = $99 >> $101; + HEAP32[$idx>>2] = $102; + $103 = HEAP32[$idx>>2]|0; + $104 = $103&65535; + $105 = HEAP32[$3>>2]|0; + $106 = ((($105)) + 68|0); + $107 = HEAP8[$106>>0]|0; + $108 = $107 << 24 >> 24; + $109 = HEAP32[$3>>2]|0; + $110 = ((($109)) + 80|0); + $111 = (($110) + ($108<<1)|0); + HEAP16[$111>>1] = $104; + $112 = HEAP32[$xRecordCompare>>2]|0; + $113 = ($112|0)==(0|0); L26: do { - if ($116) { + if ($113) { while(1) { + $114 = HEAP32[$pPage>>2]|0; + $115 = ((($114)) + 68|0); + $116 = HEAP32[$115>>2]|0; $117 = HEAP32[$pPage>>2]|0; - $118 = ((($117)) + 68|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$pPage>>2]|0; - $121 = ((($120)) + 20|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = HEAP32[$idx>>2]|0; - $125 = $124<<1; - $126 = HEAP32[$pPage>>2]|0; - $127 = ((($126)) + 64|0); - $128 = HEAP32[$127>>2]|0; - $129 = (($128) + ($125)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = $131 << 8; - $133 = HEAP32[$idx>>2]|0; - $134 = $133<<1; - $135 = HEAP32[$pPage>>2]|0; - $136 = ((($135)) + 64|0); - $137 = HEAP32[$136>>2]|0; - $138 = (($137) + ($134)|0); - $139 = ((($138)) + 1|0); - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = $132 | $141; - $143 = $123 & $142; - $144 = (($119) + ($143)|0); - HEAP32[$pCell>>2] = $144; - $145 = HEAP32[$pPage>>2]|0; - $146 = ((($145)) + 3|0); - $147 = HEAP8[$146>>0]|0; - $148 = ($147<<24>>24)!=(0); + $118 = ((($117)) + 20|0); + $119 = HEAP16[$118>>1]|0; + $120 = $119&65535; + $121 = HEAP32[$idx>>2]|0; + $122 = $121<<1; + $123 = HEAP32[$pPage>>2]|0; + $124 = ((($123)) + 64|0); + $125 = HEAP32[$124>>2]|0; + $126 = (($125) + ($122)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $129 = $128 << 8; + $130 = HEAP32[$idx>>2]|0; + $131 = $130<<1; + $132 = HEAP32[$pPage>>2]|0; + $133 = ((($132)) + 64|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($134) + ($131)|0); + $136 = ((($135)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = $129 | $138; + $140 = $120 & $139; + $141 = (($116) + ($140)|0); + HEAP32[$pCell>>2] = $141; + $142 = HEAP32[$pPage>>2]|0; + $143 = ((($142)) + 3|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)!=(0); L29: do { - if ($148) { + if ($145) { while(1) { - $149 = HEAP32[$pCell>>2]|0; - $150 = ((($149)) + 1|0); - HEAP32[$pCell>>2] = $150; - $151 = HEAP8[$149>>0]|0; - $152 = $151&255; - $153 = (128)<=($152|0); - if (!($153)) { + $146 = HEAP32[$pCell>>2]|0; + $147 = ((($146)) + 1|0); + HEAP32[$pCell>>2] = $147; + $148 = HEAP8[$146>>0]|0; + $149 = $148&255; + $150 = (128)<=($149|0); + if (!($150)) { break L29; } - $154 = HEAP32[$pCell>>2]|0; - $155 = HEAP32[$pPage>>2]|0; - $156 = ((($155)) + 60|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($154>>>0)>=($157>>>0); - if ($158) { + $151 = HEAP32[$pCell>>2]|0; + $152 = HEAP32[$pPage>>2]|0; + $153 = ((($152)) + 60|0); + $154 = HEAP32[$153>>2]|0; + $155 = ($151>>>0)>=($154>>>0); + if ($155) { label = 20; break L24; } } } } while(0); - $160 = HEAP32[$pCell>>2]|0; - (_sqlite3GetVarint($160,$nCellKey)|0); - $161 = $nCellKey; + $157 = HEAP32[$pCell>>2]|0; + (_sqlite3GetVarint($157,$nCellKey)|0); + $158 = $nCellKey; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (($158) + 4)|0; $162 = $161; $163 = HEAP32[$162>>2]|0; - $164 = (($161) + 4)|0; + $164 = $5; $165 = $164; $166 = HEAP32[$165>>2]|0; - $167 = $5; + $167 = (($164) + 4)|0; $168 = $167; $169 = HEAP32[$168>>2]|0; - $170 = (($167) + 4)|0; - $171 = $170; - $172 = HEAP32[$171>>2]|0; - $173 = ($166|0)<($172|0); - $174 = ($163>>>0)<($169>>>0); - $175 = ($166|0)==($172|0); - $176 = $175 & $174; - $177 = $173 | $176; - if ($177) { - $178 = HEAP32[$idx>>2]|0; - $179 = (($178) + 1)|0; - HEAP32[$lwr>>2] = $179; - $180 = HEAP32[$lwr>>2]|0; - $181 = HEAP32[$upr>>2]|0; - $182 = ($180|0)>($181|0); - if ($182) { + $170 = ($163|0)<($169|0); + $171 = ($160>>>0)<($166>>>0); + $172 = ($163|0)==($169|0); + $173 = $172 & $171; + $174 = $170 | $173; + if ($174) { + $175 = HEAP32[$idx>>2]|0; + $176 = (($175) + 1)|0; + HEAP32[$lwr>>2] = $176; + $177 = HEAP32[$lwr>>2]|0; + $178 = HEAP32[$upr>>2]|0; + $179 = ($177|0)>($178|0); + if ($179) { label = 23; break; } } else { - $183 = $nCellKey; + $180 = $nCellKey; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = (($180) + 4)|0; $184 = $183; $185 = HEAP32[$184>>2]|0; - $186 = (($183) + 4)|0; + $186 = $5; $187 = $186; $188 = HEAP32[$187>>2]|0; - $189 = $5; + $189 = (($186) + 4)|0; $190 = $189; $191 = HEAP32[$190>>2]|0; - $192 = (($189) + 4)|0; - $193 = $192; - $194 = HEAP32[$193>>2]|0; - $195 = ($188|0)>($194|0); - $196 = ($185>>>0)>($191>>>0); - $197 = ($188|0)==($194|0); - $198 = $197 & $196; - $199 = $195 | $198; - if (!($199)) { + $192 = ($185|0)>($191|0); + $193 = ($182>>>0)>($188>>>0); + $194 = ($185|0)==($191|0); + $195 = $194 & $193; + $196 = $192 | $195; + if (!($196)) { label = 27; break; } - $200 = HEAP32[$idx>>2]|0; - $201 = (($200) - 1)|0; - HEAP32[$upr>>2] = $201; - $202 = HEAP32[$lwr>>2]|0; - $203 = HEAP32[$upr>>2]|0; - $204 = ($202|0)>($203|0); - if ($204) { + $197 = HEAP32[$idx>>2]|0; + $198 = (($197) - 1)|0; + HEAP32[$upr>>2] = $198; + $199 = HEAP32[$lwr>>2]|0; + $200 = HEAP32[$upr>>2]|0; + $201 = ($199|0)>($200|0); + if ($201) { label = 26; break; } } - $238 = HEAP32[$lwr>>2]|0; - $239 = HEAP32[$upr>>2]|0; - $240 = (($238) + ($239))|0; - $241 = $240 >> 1; - HEAP32[$idx>>2] = $241; + $235 = HEAP32[$lwr>>2]|0; + $236 = HEAP32[$upr>>2]|0; + $237 = (($235) + ($236))|0; + $238 = $237 >> 1; + HEAP32[$idx>>2] = $238; } if ((label|0) == 23) { label = 0; @@ -192993,393 +197341,393 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { } else if ((label|0) == 27) { label = 0; - $205 = HEAP32[$3>>2]|0; - $206 = ((($205)) + 64|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $209 = $208 | 2; - $210 = $209&255; - HEAP8[$206>>0] = $210; - $211 = $nCellKey; + $202 = HEAP32[$3>>2]|0; + $203 = ((($202)) + 64|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $205 | 2; + $207 = $206&255; + HEAP8[$203>>0] = $207; + $208 = $nCellKey; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; $212 = $211; $213 = HEAP32[$212>>2]|0; - $214 = (($211) + 4)|0; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = HEAP32[$3>>2]|0; - $218 = ((($217)) + 16|0); + $214 = HEAP32[$3>>2]|0; + $215 = ((($214)) + 16|0); + $216 = $215; + $217 = $216; + HEAP32[$217>>2] = $210; + $218 = (($216) + 4)|0; $219 = $218; - $220 = $219; - HEAP32[$220>>2] = $213; - $221 = (($219) + 4)|0; - $222 = $221; - HEAP32[$222>>2] = $216; - $223 = HEAP32[$idx>>2]|0; - $224 = $223&65535; - $225 = HEAP32[$3>>2]|0; - $226 = ((($225)) + 68|0); - $227 = HEAP8[$226>>0]|0; - $228 = $227 << 24 >> 24; - $229 = HEAP32[$3>>2]|0; - $230 = ((($229)) + 80|0); - $231 = (($230) + ($228<<1)|0); - HEAP16[$231>>1] = $224; - $232 = HEAP32[$pPage>>2]|0; - $233 = ((($232)) + 4|0); - $234 = HEAP8[$233>>0]|0; - $235 = ($234<<24>>24)!=(0); - if ($235) { + HEAP32[$219>>2] = $213; + $220 = HEAP32[$idx>>2]|0; + $221 = $220&65535; + $222 = HEAP32[$3>>2]|0; + $223 = ((($222)) + 68|0); + $224 = HEAP8[$223>>0]|0; + $225 = $224 << 24 >> 24; + $226 = HEAP32[$3>>2]|0; + $227 = ((($226)) + 80|0); + $228 = (($227) + ($225<<1)|0); + HEAP16[$228>>1] = $221; + $229 = HEAP32[$pPage>>2]|0; + $230 = ((($229)) + 4|0); + $231 = HEAP8[$230>>0]|0; + $232 = ($231<<24>>24)!=(0); + if ($232) { label = 29; break L24; } - $236 = HEAP32[$idx>>2]|0; - HEAP32[$lwr>>2] = $236; + $233 = HEAP32[$idx>>2]|0; + HEAP32[$lwr>>2] = $233; break; } } else { while(1) { + $239 = HEAP32[$pPage>>2]|0; + $240 = ((($239)) + 68|0); + $241 = HEAP32[$240>>2]|0; $242 = HEAP32[$pPage>>2]|0; - $243 = ((($242)) + 68|0); - $244 = HEAP32[$243>>2]|0; - $245 = HEAP32[$pPage>>2]|0; - $246 = ((($245)) + 20|0); - $247 = HEAP16[$246>>1]|0; - $248 = $247&65535; - $249 = HEAP32[$idx>>2]|0; - $250 = $249<<1; - $251 = HEAP32[$pPage>>2]|0; - $252 = ((($251)) + 64|0); - $253 = HEAP32[$252>>2]|0; - $254 = (($253) + ($250)|0); - $255 = HEAP8[$254>>0]|0; - $256 = $255&255; - $257 = $256 << 8; - $258 = HEAP32[$idx>>2]|0; - $259 = $258<<1; - $260 = HEAP32[$pPage>>2]|0; - $261 = ((($260)) + 64|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + ($259)|0); - $264 = ((($263)) + 1|0); - $265 = HEAP8[$264>>0]|0; - $266 = $265&255; - $267 = $257 | $266; - $268 = $248 & $267; - $269 = (($244) + ($268)|0); - HEAP32[$pCell>>2] = $269; - $270 = HEAP32[$pCell>>2]|0; - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - HEAP32[$nCell>>2] = $272; - $273 = HEAP32[$nCell>>2]|0; - $274 = HEAP32[$pPage>>2]|0; - $275 = ((($274)) + 7|0); - $276 = HEAP8[$275>>0]|0; - $277 = $276&255; - $278 = ($273|0)<=($277|0); + $243 = ((($242)) + 20|0); + $244 = HEAP16[$243>>1]|0; + $245 = $244&65535; + $246 = HEAP32[$idx>>2]|0; + $247 = $246<<1; + $248 = HEAP32[$pPage>>2]|0; + $249 = ((($248)) + 64|0); + $250 = HEAP32[$249>>2]|0; + $251 = (($250) + ($247)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = $253 << 8; + $255 = HEAP32[$idx>>2]|0; + $256 = $255<<1; + $257 = HEAP32[$pPage>>2]|0; + $258 = ((($257)) + 64|0); + $259 = HEAP32[$258>>2]|0; + $260 = (($259) + ($256)|0); + $261 = ((($260)) + 1|0); + $262 = HEAP8[$261>>0]|0; + $263 = $262&255; + $264 = $254 | $263; + $265 = $245 & $264; + $266 = (($241) + ($265)|0); + HEAP32[$pCell>>2] = $266; + $267 = HEAP32[$pCell>>2]|0; + $268 = HEAP8[$267>>0]|0; + $269 = $268&255; + HEAP32[$nCell>>2] = $269; + $270 = HEAP32[$nCell>>2]|0; + $271 = HEAP32[$pPage>>2]|0; + $272 = ((($271)) + 7|0); + $273 = HEAP8[$272>>0]|0; + $274 = $273&255; + $275 = ($270|0)<=($274|0); do { - if ($278) { - $279 = HEAP32[$xRecordCompare>>2]|0; - $280 = HEAP32[$nCell>>2]|0; - $281 = HEAP32[$pCell>>2]|0; - $282 = ((($281)) + 1|0); - $283 = HEAP32[$4>>2]|0; - $284 = (FUNCTION_TABLE_iiii[$279 & 255]($280,$282,$283)|0); - HEAP32[$c>>2] = $284; + if ($275) { + $276 = HEAP32[$xRecordCompare>>2]|0; + $277 = HEAP32[$nCell>>2]|0; + $278 = HEAP32[$pCell>>2]|0; + $279 = ((($278)) + 1|0); + $280 = HEAP32[$4>>2]|0; + $281 = (FUNCTION_TABLE_iiii[$276 & 255]($277,$279,$280)|0); + HEAP32[$c>>2] = $281; } else { - $285 = HEAP32[$pCell>>2]|0; - $286 = ((($285)) + 1|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = $288 & 128; - $290 = ($289|0)!=(0); - if (!($290)) { - $291 = HEAP32[$nCell>>2]|0; - $292 = $291 & 127; - $293 = $292 << 7; - $294 = HEAP32[$pCell>>2]|0; - $295 = ((($294)) + 1|0); - $296 = HEAP8[$295>>0]|0; - $297 = $296&255; - $298 = (($293) + ($297))|0; - HEAP32[$nCell>>2] = $298; - $299 = HEAP32[$pPage>>2]|0; - $300 = ((($299)) + 10|0); - $301 = HEAP16[$300>>1]|0; - $302 = $301&65535; - $303 = ($298|0)<=($302|0); - if ($303) { - $304 = HEAP32[$xRecordCompare>>2]|0; - $305 = HEAP32[$nCell>>2]|0; - $306 = HEAP32[$pCell>>2]|0; - $307 = ((($306)) + 2|0); - $308 = HEAP32[$4>>2]|0; - $309 = (FUNCTION_TABLE_iiii[$304 & 255]($305,$307,$308)|0); - HEAP32[$c>>2] = $309; + $282 = HEAP32[$pCell>>2]|0; + $283 = ((($282)) + 1|0); + $284 = HEAP8[$283>>0]|0; + $285 = $284&255; + $286 = $285 & 128; + $287 = ($286|0)!=(0); + if (!($287)) { + $288 = HEAP32[$nCell>>2]|0; + $289 = $288 & 127; + $290 = $289 << 7; + $291 = HEAP32[$pCell>>2]|0; + $292 = ((($291)) + 1|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($290) + ($294))|0; + HEAP32[$nCell>>2] = $295; + $296 = HEAP32[$pPage>>2]|0; + $297 = ((($296)) + 10|0); + $298 = HEAP16[$297>>1]|0; + $299 = $298&65535; + $300 = ($295|0)<=($299|0); + if ($300) { + $301 = HEAP32[$xRecordCompare>>2]|0; + $302 = HEAP32[$nCell>>2]|0; + $303 = HEAP32[$pCell>>2]|0; + $304 = ((($303)) + 2|0); + $305 = HEAP32[$4>>2]|0; + $306 = (FUNCTION_TABLE_iiii[$301 & 255]($302,$304,$305)|0); + HEAP32[$c>>2] = $306; break; } } - $310 = HEAP32[$pCell>>2]|0; - $311 = HEAP32[$pPage>>2]|0; - $312 = ((($311)) + 6|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $315 = (0 - ($314))|0; - $316 = (($310) + ($315)|0); - HEAP32[$pCellBody>>2] = $316; + $307 = HEAP32[$pCell>>2]|0; + $308 = HEAP32[$pPage>>2]|0; + $309 = ((($308)) + 6|0); + $310 = HEAP8[$309>>0]|0; + $311 = $310&255; + $312 = (0 - ($311))|0; + $313 = (($307) + ($312)|0); + HEAP32[$pCellBody>>2] = $313; + $314 = HEAP32[$pPage>>2]|0; + $315 = ((($314)) + 80|0); + $316 = HEAP32[$315>>2]|0; $317 = HEAP32[$pPage>>2]|0; - $318 = ((($317)) + 80|0); - $319 = HEAP32[$318>>2]|0; - $320 = HEAP32[$pPage>>2]|0; - $321 = HEAP32[$pCellBody>>2]|0; - $322 = HEAP32[$3>>2]|0; - $323 = ((($322)) + 16|0); - FUNCTION_TABLE_viii[$319 & 255]($320,$321,$323); - $324 = HEAP32[$3>>2]|0; - $325 = ((($324)) + 16|0); - $326 = $325; + $318 = HEAP32[$pCellBody>>2]|0; + $319 = HEAP32[$3>>2]|0; + $320 = ((($319)) + 16|0); + FUNCTION_TABLE_viii[$316 & 255]($317,$318,$320); + $321 = HEAP32[$3>>2]|0; + $322 = ((($321)) + 16|0); + $323 = $322; + $324 = $323; + $325 = HEAP32[$324>>2]|0; + $326 = (($323) + 4)|0; $327 = $326; $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - HEAP32[$nCell>>2] = $328; - $332 = HEAP32[$nCell>>2]|0; - $333 = ($332|0)<(2); - if ($333) { + HEAP32[$nCell>>2] = $325; + $329 = HEAP32[$nCell>>2]|0; + $330 = ($329|0)<(2); + if ($330) { label = 37; break L24; } - $335 = HEAP32[$nCell>>2]|0; - $336 = (($335) + 18)|0; - $337 = ($336|0)<(0); - $338 = $337 << 31 >> 31; - $339 = (_sqlite3Malloc($336,$338)|0); - HEAP32[$pCellKey>>2] = $339; - $340 = HEAP32[$pCellKey>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { + $332 = HEAP32[$nCell>>2]|0; + $333 = (($332) + 18)|0; + $334 = ($333|0)<(0); + $335 = $334 << 31 >> 31; + $336 = (_sqlite3Malloc($333,$335)|0); + HEAP32[$pCellKey>>2] = $336; + $337 = HEAP32[$pCellKey>>2]|0; + $338 = ($337|0)==(0|0); + if ($338) { label = 39; break L24; } - $342 = HEAP32[$idx>>2]|0; - $343 = $342&65535; - $344 = HEAP32[$3>>2]|0; - $345 = ((($344)) + 68|0); - $346 = HEAP8[$345>>0]|0; - $347 = $346 << 24 >> 24; + $339 = HEAP32[$idx>>2]|0; + $340 = $339&65535; + $341 = HEAP32[$3>>2]|0; + $342 = ((($341)) + 68|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343 << 24 >> 24; + $345 = HEAP32[$3>>2]|0; + $346 = ((($345)) + 80|0); + $347 = (($346) + ($344<<1)|0); + HEAP16[$347>>1] = $340; $348 = HEAP32[$3>>2]|0; - $349 = ((($348)) + 80|0); - $350 = (($349) + ($347<<1)|0); - HEAP16[$350>>1] = $343; - $351 = HEAP32[$3>>2]|0; - $352 = HEAP32[$nCell>>2]|0; - $353 = HEAP32[$pCellKey>>2]|0; - $354 = (_accessPayload($351,0,$352,$353,2)|0); - HEAP32[$rc>>2] = $354; - $355 = HEAP32[$rc>>2]|0; - $356 = ($355|0)!=(0); - if ($356) { + $349 = HEAP32[$nCell>>2]|0; + $350 = HEAP32[$pCellKey>>2]|0; + $351 = (_accessPayload($348,0,$349,$350,2)|0); + HEAP32[$rc>>2] = $351; + $352 = HEAP32[$rc>>2]|0; + $353 = ($352|0)!=(0); + if ($353) { label = 41; break L24; } - $358 = HEAP32[$xRecordCompare>>2]|0; - $359 = HEAP32[$nCell>>2]|0; + $355 = HEAP32[$xRecordCompare>>2]|0; + $356 = HEAP32[$nCell>>2]|0; + $357 = HEAP32[$pCellKey>>2]|0; + $358 = HEAP32[$4>>2]|0; + $359 = (FUNCTION_TABLE_iiii[$355 & 255]($356,$357,$358)|0); + HEAP32[$c>>2] = $359; $360 = HEAP32[$pCellKey>>2]|0; - $361 = HEAP32[$4>>2]|0; - $362 = (FUNCTION_TABLE_iiii[$358 & 255]($359,$360,$361)|0); - HEAP32[$c>>2] = $362; - $363 = HEAP32[$pCellKey>>2]|0; - _sqlite3_free($363); + _sqlite3_free($360); } } while(0); - $364 = HEAP32[$c>>2]|0; - $365 = ($364|0)<(0); - if ($365) { - $366 = HEAP32[$idx>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$lwr>>2] = $367; + $361 = HEAP32[$c>>2]|0; + $362 = ($361|0)<(0); + if ($362) { + $363 = HEAP32[$idx>>2]|0; + $364 = (($363) + 1)|0; + HEAP32[$lwr>>2] = $364; } else { - $368 = HEAP32[$c>>2]|0; - $369 = ($368|0)>(0); - if (!($369)) { + $365 = HEAP32[$c>>2]|0; + $366 = ($365|0)>(0); + if (!($366)) { label = 47; break L24; } - $370 = HEAP32[$idx>>2]|0; - $371 = (($370) - 1)|0; - HEAP32[$upr>>2] = $371; - } - $386 = HEAP32[$lwr>>2]|0; - $387 = HEAP32[$upr>>2]|0; - $388 = ($386|0)>($387|0); - if ($388) { + $367 = HEAP32[$idx>>2]|0; + $368 = (($367) - 1)|0; + HEAP32[$upr>>2] = $368; + } + $383 = HEAP32[$lwr>>2]|0; + $384 = HEAP32[$upr>>2]|0; + $385 = ($383|0)>($384|0); + if ($385) { label = 51; break L26; } - $389 = HEAP32[$lwr>>2]|0; - $390 = HEAP32[$upr>>2]|0; - $391 = (($389) + ($390))|0; - $392 = $391 >> 1; - HEAP32[$idx>>2] = $392; + $386 = HEAP32[$lwr>>2]|0; + $387 = HEAP32[$upr>>2]|0; + $388 = (($386) + ($387))|0; + $389 = $388 >> 1; + HEAP32[$idx>>2] = $389; } } } while(0); if ((label|0) == 51) { label = 0; - $393 = HEAP32[$pPage>>2]|0; - $394 = ((($393)) + 4|0); - $395 = HEAP8[$394>>0]|0; - $396 = ($395<<24>>24)!=(0); - if ($396) { + $390 = HEAP32[$pPage>>2]|0; + $391 = ((($390)) + 4|0); + $392 = HEAP8[$391>>0]|0; + $393 = ($392<<24>>24)!=(0); + if ($393) { label = 52; break; } } - $408 = HEAP32[$lwr>>2]|0; - $409 = HEAP32[$pPage>>2]|0; - $410 = ((($409)) + 18|0); - $411 = HEAP16[$410>>1]|0; - $412 = $411&65535; - $413 = ($408|0)>=($412|0); - $414 = HEAP32[$pPage>>2]|0; - if ($413) { - $415 = ((($414)) + 5|0); - $416 = HEAP8[$415>>0]|0; - $417 = $416&255; - $418 = (($417) + 8)|0; - $419 = HEAP32[$pPage>>2]|0; - $420 = ((($419)) + 56|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($418)|0); - $423 = (_sqlite3Get4byte($422)|0); - HEAP32[$chldPg>>2] = $423; + $405 = HEAP32[$lwr>>2]|0; + $406 = HEAP32[$pPage>>2]|0; + $407 = ((($406)) + 18|0); + $408 = HEAP16[$407>>1]|0; + $409 = $408&65535; + $410 = ($405|0)>=($409|0); + $411 = HEAP32[$pPage>>2]|0; + if ($410) { + $412 = ((($411)) + 5|0); + $413 = HEAP8[$412>>0]|0; + $414 = $413&255; + $415 = (($414) + 8)|0; + $416 = HEAP32[$pPage>>2]|0; + $417 = ((($416)) + 56|0); + $418 = HEAP32[$417>>2]|0; + $419 = (($418) + ($415)|0); + $420 = (_sqlite3Get4byte($419)|0); + HEAP32[$chldPg>>2] = $420; } else { - $424 = ((($414)) + 56|0); - $425 = HEAP32[$424>>2]|0; - $426 = HEAP32[$pPage>>2]|0; - $427 = ((($426)) + 20|0); - $428 = HEAP16[$427>>1]|0; - $429 = $428&65535; - $430 = HEAP32[$lwr>>2]|0; - $431 = $430<<1; - $432 = HEAP32[$pPage>>2]|0; - $433 = ((($432)) + 64|0); - $434 = HEAP32[$433>>2]|0; - $435 = (($434) + ($431)|0); - $436 = HEAP8[$435>>0]|0; - $437 = $436&255; - $438 = $437 << 8; - $439 = HEAP32[$lwr>>2]|0; - $440 = $439<<1; - $441 = HEAP32[$pPage>>2]|0; - $442 = ((($441)) + 64|0); - $443 = HEAP32[$442>>2]|0; - $444 = (($443) + ($440)|0); - $445 = ((($444)) + 1|0); - $446 = HEAP8[$445>>0]|0; - $447 = $446&255; - $448 = $438 | $447; - $449 = $429 & $448; - $450 = (($425) + ($449)|0); - $451 = (_sqlite3Get4byte($450)|0); - HEAP32[$chldPg>>2] = $451; - } - $452 = HEAP32[$lwr>>2]|0; - $453 = $452&65535; - $454 = HEAP32[$3>>2]|0; - $455 = ((($454)) + 68|0); - $456 = HEAP8[$455>>0]|0; - $457 = $456 << 24 >> 24; + $421 = ((($411)) + 56|0); + $422 = HEAP32[$421>>2]|0; + $423 = HEAP32[$pPage>>2]|0; + $424 = ((($423)) + 20|0); + $425 = HEAP16[$424>>1]|0; + $426 = $425&65535; + $427 = HEAP32[$lwr>>2]|0; + $428 = $427<<1; + $429 = HEAP32[$pPage>>2]|0; + $430 = ((($429)) + 64|0); + $431 = HEAP32[$430>>2]|0; + $432 = (($431) + ($428)|0); + $433 = HEAP8[$432>>0]|0; + $434 = $433&255; + $435 = $434 << 8; + $436 = HEAP32[$lwr>>2]|0; + $437 = $436<<1; + $438 = HEAP32[$pPage>>2]|0; + $439 = ((($438)) + 64|0); + $440 = HEAP32[$439>>2]|0; + $441 = (($440) + ($437)|0); + $442 = ((($441)) + 1|0); + $443 = HEAP8[$442>>0]|0; + $444 = $443&255; + $445 = $435 | $444; + $446 = $426 & $445; + $447 = (($422) + ($446)|0); + $448 = (_sqlite3Get4byte($447)|0); + HEAP32[$chldPg>>2] = $448; + } + $449 = HEAP32[$lwr>>2]|0; + $450 = $449&65535; + $451 = HEAP32[$3>>2]|0; + $452 = ((($451)) + 68|0); + $453 = HEAP8[$452>>0]|0; + $454 = $453 << 24 >> 24; + $455 = HEAP32[$3>>2]|0; + $456 = ((($455)) + 80|0); + $457 = (($456) + ($454<<1)|0); + HEAP16[$457>>1] = $450; $458 = HEAP32[$3>>2]|0; - $459 = ((($458)) + 80|0); - $460 = (($459) + ($457<<1)|0); - HEAP16[$460>>1] = $453; - $461 = HEAP32[$3>>2]|0; - $462 = HEAP32[$chldPg>>2]|0; - $463 = (_moveToChild($461,$462)|0); - HEAP32[$rc>>2] = $463; - $464 = HEAP32[$rc>>2]|0; - $465 = ($464|0)!=(0); - if ($465) { + $459 = HEAP32[$chldPg>>2]|0; + $460 = (_moveToChild($458,$459)|0); + HEAP32[$rc>>2] = $460; + $461 = HEAP32[$rc>>2]|0; + $462 = ($461|0)!=(0); + if ($462) { break; } } if ((label|0) == 20) { - $159 = (_sqlite3CorruptError(62874)|0); - HEAP32[$2>>2] = $159; - $476 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($476|0); + $156 = (_sqlite3CorruptError(63387)|0); + HEAP32[$2>>2] = $156; + $473 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($473|0); } else if ((label|0) == 29) { - $237 = HEAP32[$7>>2]|0; - HEAP32[$237>>2] = 0; + $234 = HEAP32[$7>>2]|0; + HEAP32[$234>>2] = 0; HEAP32[$rc>>2] = 0; } else if ((label|0) == 37) { - $334 = (_sqlite3CorruptError(62947)|0); - HEAP32[$rc>>2] = $334; + $331 = (_sqlite3CorruptError(63460)|0); + HEAP32[$rc>>2] = $331; } else if ((label|0) == 39) { HEAP32[$rc>>2] = 7; } else if ((label|0) == 41) { - $357 = HEAP32[$pCellKey>>2]|0; - _sqlite3_free($357); + $354 = HEAP32[$pCellKey>>2]|0; + _sqlite3_free($354); } else if ((label|0) == 47) { - $372 = HEAP32[$7>>2]|0; - HEAP32[$372>>2] = 0; + $369 = HEAP32[$7>>2]|0; + HEAP32[$369>>2] = 0; HEAP32[$rc>>2] = 0; - $373 = HEAP32[$idx>>2]|0; - $374 = $373&65535; - $375 = HEAP32[$3>>2]|0; - $376 = ((($375)) + 68|0); - $377 = HEAP8[$376>>0]|0; - $378 = $377 << 24 >> 24; - $379 = HEAP32[$3>>2]|0; - $380 = ((($379)) + 80|0); - $381 = (($380) + ($378<<1)|0); - HEAP16[$381>>1] = $374; - $382 = HEAP32[$4>>2]|0; - $383 = ((($382)) + 11|0); - $384 = HEAP8[$383>>0]|0; - $385 = ($384<<24>>24)!=(0); - if ($385) { + $370 = HEAP32[$idx>>2]|0; + $371 = $370&65535; + $372 = HEAP32[$3>>2]|0; + $373 = ((($372)) + 68|0); + $374 = HEAP8[$373>>0]|0; + $375 = $374 << 24 >> 24; + $376 = HEAP32[$3>>2]|0; + $377 = ((($376)) + 80|0); + $378 = (($377) + ($375<<1)|0); + HEAP16[$378>>1] = $371; + $379 = HEAP32[$4>>2]|0; + $380 = ((($379)) + 11|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)!=(0); + if ($382) { HEAP32[$rc>>2] = 11; } } else if ((label|0) == 52) { - $397 = HEAP32[$idx>>2]|0; - $398 = $397&65535; - $399 = HEAP32[$3>>2]|0; - $400 = ((($399)) + 68|0); - $401 = HEAP8[$400>>0]|0; - $402 = $401 << 24 >> 24; - $403 = HEAP32[$3>>2]|0; - $404 = ((($403)) + 80|0); - $405 = (($404) + ($402<<1)|0); - HEAP16[$405>>1] = $398; - $406 = HEAP32[$c>>2]|0; - $407 = HEAP32[$7>>2]|0; - HEAP32[$407>>2] = $406; + $394 = HEAP32[$idx>>2]|0; + $395 = $394&65535; + $396 = HEAP32[$3>>2]|0; + $397 = ((($396)) + 68|0); + $398 = HEAP8[$397>>0]|0; + $399 = $398 << 24 >> 24; + $400 = HEAP32[$3>>2]|0; + $401 = ((($400)) + 80|0); + $402 = (($401) + ($399<<1)|0); + HEAP16[$402>>1] = $395; + $403 = HEAP32[$c>>2]|0; + $404 = HEAP32[$7>>2]|0; + HEAP32[$404>>2] = $403; HEAP32[$rc>>2] = 0; } + $463 = HEAP32[$3>>2]|0; + $464 = ((($463)) + 16|0); + $465 = ((($464)) + 18|0); + HEAP16[$465>>1] = 0; $466 = HEAP32[$3>>2]|0; - $467 = ((($466)) + 16|0); - $468 = ((($467)) + 18|0); - HEAP16[$468>>1] = 0; - $469 = HEAP32[$3>>2]|0; - $470 = ((($469)) + 64|0); - $471 = HEAP8[$470>>0]|0; - $472 = $471&255; - $473 = $472 & -7; - $474 = $473&255; - HEAP8[$470>>0] = $474; - $475 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $475; - $476 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($476|0); + $467 = ((($466)) + 64|0); + $468 = HEAP8[$467>>0]|0; + $469 = $468&255; + $470 = $469 & -7; + $471 = $470&255; + HEAP8[$467>>0] = $471; + $472 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $472; + $473 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($473|0); } function _sqlite3VdbeFindCompare($p) { $p = $p|0; @@ -193659,7 +198007,7 @@ function _moveToRoot($pCur) { HEAP32[$rc>>2] = $124; break; } - $109 = (_sqlite3CorruptError(62635)|0); + $109 = (_sqlite3CorruptError(63147)|0); HEAP32[$0>>2] = $109; $128 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($128|0); @@ -193671,7 +198019,7 @@ function _moveToRoot($pCur) { STACKTOP = sp;return ($128|0); } } - $82 = (_sqlite3CorruptError(62624)|0); + $82 = (_sqlite3CorruptError(63136)|0); HEAP32[$0>>2] = $82; $128 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($128|0); @@ -193762,7 +198110,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $37 = (($31) - ($36))|0; $38 = ($28>>>0)>($37>>>0); if ($38) { - $39 = (_sqlite3CorruptError(62208)|0); + $39 = (_sqlite3CorruptError(62723)|0); HEAP32[$0>>2] = $39; $278 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($278|0); @@ -194087,7 +198435,7 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $275 = ($274>>>0)>(0); $or$cond5 = $273 & $275; if ($or$cond5) { - $276 = (_sqlite3CorruptError(62365)|0); + $276 = (_sqlite3CorruptError(62880)|0); HEAP32[$0>>2] = $276; $278 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($278|0); @@ -194244,7 +198592,7 @@ function _getOverflowPage($pBt,$ovfl,$ppPage,$pPgnoNext) { $64 = 1; } else { $15 = HEAP32[$iGuess>>2]|0; - $16 = HEAP32[1524>>2]|0; + $16 = HEAP32[1536>>2]|0; $17 = HEAP32[$0>>2]|0; $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; @@ -194370,7 +198718,7 @@ function _ptrmapPageno($pBt,$pgno) { $17 = (($16) + 2)|0; HEAP32[$ret>>2] = $17; $18 = HEAP32[$ret>>2]|0; - $19 = HEAP32[1524>>2]|0; + $19 = HEAP32[1536>>2]|0; $20 = HEAP32[$1>>2]|0; $21 = ((($20)) + 32|0); $22 = HEAP32[$21>>2]|0; @@ -194442,7 +198790,7 @@ function _ptrmapGet($pBt,$key,$pEType,$pPgno) { if ($23) { $24 = HEAP32[$pDbPage>>2]|0; _sqlite3PagerUnref($24); - $25 = (_sqlite3CorruptError(58716)|0); + $25 = (_sqlite3CorruptError(59240)|0); HEAP32[$0>>2] = $25; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -194481,7 +198829,7 @@ function _ptrmapGet($pBt,$key,$pEType,$pPgno) { STACKTOP = sp;return ($49|0); } } - $48 = (_sqlite3CorruptError(58724)|0); + $48 = (_sqlite3CorruptError(59248)|0); HEAP32[$0>>2] = $48; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -194629,285 +198977,285 @@ function _vdbeRecordCompareInt($nKey1,$pKey1,$pPKey2) { $12 = HEAP8[$11>>0]|0; $13 = $12&255; HEAP32[$serial_type>>2] = $13; - $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = $16; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (($17) + 4)|0; - $21 = $20; - $22 = HEAP32[$21>>2]|0; - $23 = $v; - $24 = $23; - HEAP32[$24>>2] = $19; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = HEAP32[$serial_type>>2]|0; + $14 = HEAP32[$serial_type>>2]|0; do { - switch ($27|0) { + switch ($14|0) { case 1: { - $28 = HEAP32[$aKey>>2]|0; - $29 = HEAP8[$28>>0]|0; - $30 = $29 << 24 >> 24; - $31 = ($30|0)<(0); - $32 = $31 << 31 >> 31; - $33 = $lhs; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $32; + $15 = HEAP32[$aKey>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = $lhs; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; break; } case 2: { - $37 = HEAP32[$aKey>>2]|0; - $38 = HEAP8[$37>>0]|0; - $39 = $38 << 24 >> 24; - $40 = $39<<8; - $41 = HEAP32[$aKey>>2]|0; - $42 = ((($41)) + 1|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = $40 | $44; - $46 = ($45|0)<(0); - $47 = $46 << 31 >> 31; - $48 = $lhs; - $49 = $48; - HEAP32[$49>>2] = $45; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; + $24 = HEAP32[$aKey>>2]|0; + $25 = HEAP8[$24>>0]|0; + $26 = $25 << 24 >> 24; + $27 = $26<<8; + $28 = HEAP32[$aKey>>2]|0; + $29 = ((($28)) + 1|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = $27 | $31; + $33 = ($32|0)<(0); + $34 = $33 << 31 >> 31; + $35 = $lhs; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; break; } case 3: { - $52 = HEAP32[$aKey>>2]|0; - $53 = HEAP8[$52>>0]|0; - $54 = $53 << 24 >> 24; - $55 = $54<<16; - $56 = HEAP32[$aKey>>2]|0; - $57 = ((($56)) + 1|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = $59 << 8; - $61 = $55 | $60; - $62 = HEAP32[$aKey>>2]|0; - $63 = ((($62)) + 2|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - $66 = $61 | $65; - $67 = ($66|0)<(0); - $68 = $67 << 31 >> 31; - $69 = $lhs; - $70 = $69; - HEAP32[$70>>2] = $66; - $71 = (($69) + 4)|0; - $72 = $71; - HEAP32[$72>>2] = $68; + $39 = HEAP32[$aKey>>2]|0; + $40 = HEAP8[$39>>0]|0; + $41 = $40 << 24 >> 24; + $42 = $41<<16; + $43 = HEAP32[$aKey>>2]|0; + $44 = ((($43)) + 1|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $47 = $46 << 8; + $48 = $42 | $47; + $49 = HEAP32[$aKey>>2]|0; + $50 = ((($49)) + 2|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $48 | $52; + $54 = ($53|0)<(0); + $55 = $54 << 31 >> 31; + $56 = $lhs; + $57 = $56; + HEAP32[$57>>2] = $53; + $58 = (($56) + 4)|0; + $59 = $58; + HEAP32[$59>>2] = $55; break; } case 4: { - $73 = HEAP32[$aKey>>2]|0; - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 << 24; - $77 = HEAP32[$aKey>>2]|0; - $78 = ((($77)) + 1|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = $80 << 16; - $82 = $76 | $81; - $83 = HEAP32[$aKey>>2]|0; - $84 = ((($83)) + 2|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = $86 << 8; - $88 = $82 | $87; - $89 = HEAP32[$aKey>>2]|0; - $90 = ((($89)) + 3|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91&255; - $93 = $88 | $92; - HEAP32[$y>>2] = $93; - $94 = HEAP32[$y>>2]|0; - $95 = ($94|0)<(0); - $96 = $95 << 31 >> 31; - $97 = $lhs; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = (($97) + 4)|0; - $100 = $99; - HEAP32[$100>>2] = $96; + $60 = HEAP32[$aKey>>2]|0; + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = $62 << 24; + $64 = HEAP32[$aKey>>2]|0; + $65 = ((($64)) + 1|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 << 16; + $69 = $63 | $68; + $70 = HEAP32[$aKey>>2]|0; + $71 = ((($70)) + 2|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $73 << 8; + $75 = $69 | $74; + $76 = HEAP32[$aKey>>2]|0; + $77 = ((($76)) + 3|0); + $78 = HEAP8[$77>>0]|0; + $79 = $78&255; + $80 = $75 | $79; + HEAP32[$y>>2] = $80; + $81 = HEAP32[$y>>2]|0; + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = $lhs; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $83; break; } case 5: { - $101 = HEAP32[$aKey>>2]|0; + $88 = HEAP32[$aKey>>2]|0; + $89 = ((($88)) + 2|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = $91 << 24; + $93 = HEAP32[$aKey>>2]|0; + $94 = ((($93)) + 2|0); + $95 = ((($94)) + 1|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $97 << 16; + $99 = $92 | $98; + $100 = HEAP32[$aKey>>2]|0; + $101 = ((($100)) + 2|0); $102 = ((($101)) + 2|0); $103 = HEAP8[$102>>0]|0; $104 = $103&255; - $105 = $104 << 24; - $106 = HEAP32[$aKey>>2]|0; - $107 = ((($106)) + 2|0); - $108 = ((($107)) + 1|0); - $109 = HEAP8[$108>>0]|0; - $110 = $109&255; - $111 = $110 << 16; - $112 = $105 | $111; + $105 = $104 << 8; + $106 = $99 | $105; + $107 = HEAP32[$aKey>>2]|0; + $108 = ((($107)) + 2|0); + $109 = ((($108)) + 3|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110&255; + $112 = $106 | $111; $113 = HEAP32[$aKey>>2]|0; - $114 = ((($113)) + 2|0); - $115 = ((($114)) + 2|0); - $116 = HEAP8[$115>>0]|0; - $117 = $116&255; - $118 = $117 << 8; - $119 = $112 | $118; - $120 = HEAP32[$aKey>>2]|0; - $121 = ((($120)) + 2|0); - $122 = ((($121)) + 3|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = $119 | $124; - $126 = HEAP32[$aKey>>2]|0; - $127 = HEAP8[$126>>0]|0; - $128 = $127 << 24 >> 24; - $129 = $128<<8; - $130 = HEAP32[$aKey>>2]|0; - $131 = ((($130)) + 1|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = $129 | $133; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = (___muldi3(0,1,($134|0),($136|0))|0); - $138 = tempRet0; - $139 = (_i64Add(($125|0),0,($137|0),($138|0))|0); - $140 = tempRet0; - $141 = $lhs; - $142 = $141; - HEAP32[$142>>2] = $139; - $143 = (($141) + 4)|0; - $144 = $143; - HEAP32[$144>>2] = $140; + $114 = HEAP8[$113>>0]|0; + $115 = $114 << 24 >> 24; + $116 = $115<<8; + $117 = HEAP32[$aKey>>2]|0; + $118 = ((($117)) + 1|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = $116 | $120; + $122 = ($121|0)<(0); + $123 = $122 << 31 >> 31; + $124 = (___muldi3(0,1,($121|0),($123|0))|0); + $125 = tempRet0; + $126 = (_i64Add(($112|0),0,($124|0),($125|0))|0); + $127 = tempRet0; + $128 = $lhs; + $129 = $128; + HEAP32[$129>>2] = $126; + $130 = (($128) + 4)|0; + $131 = $130; + HEAP32[$131>>2] = $127; break; } case 6: { - $145 = HEAP32[$aKey>>2]|0; - $146 = HEAP8[$145>>0]|0; - $147 = $146&255; - $148 = $147 << 24; - $149 = HEAP32[$aKey>>2]|0; - $150 = ((($149)) + 1|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = $152 << 16; - $154 = $148 | $153; - $155 = HEAP32[$aKey>>2]|0; - $156 = ((($155)) + 2|0); - $157 = HEAP8[$156>>0]|0; - $158 = $157&255; - $159 = $158 << 8; - $160 = $154 | $159; - $161 = HEAP32[$aKey>>2]|0; - $162 = ((($161)) + 3|0); - $163 = HEAP8[$162>>0]|0; - $164 = $163&255; - $165 = $160 | $164; - $166 = $x; - $167 = $166; - HEAP32[$167>>2] = $165; - $168 = (($166) + 4)|0; - $169 = $168; - HEAP32[$169>>2] = 0; - $170 = $x; - $171 = $170; - $172 = HEAP32[$171>>2]|0; - $173 = (($170) + 4)|0; - $174 = $173; - $175 = HEAP32[$174>>2]|0; - $176 = HEAP32[$aKey>>2]|0; - $177 = ((($176)) + 4|0); + $132 = HEAP32[$aKey>>2]|0; + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = $134 << 24; + $136 = HEAP32[$aKey>>2]|0; + $137 = ((($136)) + 1|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = $139 << 16; + $141 = $135 | $140; + $142 = HEAP32[$aKey>>2]|0; + $143 = ((($142)) + 2|0); + $144 = HEAP8[$143>>0]|0; + $145 = $144&255; + $146 = $145 << 8; + $147 = $141 | $146; + $148 = HEAP32[$aKey>>2]|0; + $149 = ((($148)) + 3|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = $147 | $151; + $153 = $x; + $154 = $153; + HEAP32[$154>>2] = $152; + $155 = (($153) + 4)|0; + $156 = $155; + HEAP32[$156>>2] = 0; + $157 = $x; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = (($157) + 4)|0; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = HEAP32[$aKey>>2]|0; + $164 = ((($163)) + 4|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = $166 << 24; + $168 = HEAP32[$aKey>>2]|0; + $169 = ((($168)) + 4|0); + $170 = ((($169)) + 1|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + $173 = $172 << 16; + $174 = $167 | $173; + $175 = HEAP32[$aKey>>2]|0; + $176 = ((($175)) + 4|0); + $177 = ((($176)) + 2|0); $178 = HEAP8[$177>>0]|0; $179 = $178&255; - $180 = $179 << 24; - $181 = HEAP32[$aKey>>2]|0; - $182 = ((($181)) + 4|0); - $183 = ((($182)) + 1|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - $186 = $185 << 16; - $187 = $180 | $186; - $188 = HEAP32[$aKey>>2]|0; - $189 = ((($188)) + 4|0); - $190 = ((($189)) + 2|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191&255; - $193 = $192 << 8; - $194 = $187 | $193; - $195 = HEAP32[$aKey>>2]|0; - $196 = ((($195)) + 4|0); - $197 = ((($196)) + 3|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = $194 | $199; - $201 = $x; - $202 = $201; - HEAP32[$202>>2] = $200; - $203 = (($201) + 4)|0; - $204 = $203; - HEAP32[$204>>2] = $172; - $205 = $x; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = (($205) + 4)|0; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = $lhs; - $212 = $211; - HEAP32[$212>>2] = $207; - $213 = (($211) + 4)|0; - $214 = $213; - HEAP32[$214>>2] = $210; + $180 = $179 << 8; + $181 = $174 | $180; + $182 = HEAP32[$aKey>>2]|0; + $183 = ((($182)) + 4|0); + $184 = ((($183)) + 3|0); + $185 = HEAP8[$184>>0]|0; + $186 = $185&255; + $187 = $181 | $186; + $188 = $x; + $189 = $188; + HEAP32[$189>>2] = $187; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $159; + $192 = $x; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = (($192) + 4)|0; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = $lhs; + $199 = $198; + HEAP32[$199>>2] = $194; + $200 = (($198) + 4)|0; + $201 = $200; + HEAP32[$201>>2] = $197; break; } case 8: { - $215 = $lhs; - $216 = $215; - HEAP32[$216>>2] = 0; - $217 = (($215) + 4)|0; - $218 = $217; - HEAP32[$218>>2] = 0; + $202 = $lhs; + $203 = $202; + HEAP32[$203>>2] = 0; + $204 = (($202) + 4)|0; + $205 = $204; + HEAP32[$205>>2] = 0; break; } case 9: { - $219 = $lhs; - $220 = $219; - HEAP32[$220>>2] = 1; - $221 = (($219) + 4)|0; - $222 = $221; - HEAP32[$222>>2] = 0; + $206 = $lhs; + $207 = $206; + HEAP32[$207>>2] = 1; + $208 = (($206) + 4)|0; + $209 = $208; + HEAP32[$209>>2] = 0; break; } case 7: case 0: { - $223 = HEAP32[$1>>2]|0; - $224 = HEAP32[$2>>2]|0; - $225 = HEAP32[$3>>2]|0; - $226 = (_sqlite3VdbeRecordCompare($223,$224,$225)|0); - HEAP32[$0>>2] = $226; + $210 = HEAP32[$1>>2]|0; + $211 = HEAP32[$2>>2]|0; + $212 = HEAP32[$3>>2]|0; + $213 = (_sqlite3VdbeRecordCompare($210,$211,$212)|0); + HEAP32[$0>>2] = $213; $288 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($288|0); break; } default: { - $227 = HEAP32[$1>>2]|0; - $228 = HEAP32[$2>>2]|0; - $229 = HEAP32[$3>>2]|0; - $230 = (_sqlite3VdbeRecordCompare($227,$228,$229)|0); - HEAP32[$0>>2] = $230; + $214 = HEAP32[$1>>2]|0; + $215 = HEAP32[$2>>2]|0; + $216 = HEAP32[$3>>2]|0; + $217 = (_sqlite3VdbeRecordCompare($214,$215,$216)|0); + HEAP32[$0>>2] = $217; $288 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($288|0); } } } while(0); + $218 = HEAP32[$3>>2]|0; + $219 = ((($218)) + 4|0); + $220 = HEAP32[$219>>2]|0; + $221 = $220; + $222 = $221; + $223 = HEAP32[$222>>2]|0; + $224 = (($221) + 4)|0; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = $v; + $228 = $227; + HEAP32[$228>>2] = $223; + $229 = (($227) + 4)|0; + $230 = $229; + HEAP32[$230>>2] = $226; $231 = $v; $232 = $231; $233 = HEAP32[$232>>2]|0; @@ -195063,7 +199411,7 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $36 = HEAP32[$1>>2]|0; $37 = ($35|0)>($36|0); if ($37) { - $38 = (_sqlite3CorruptError(74160)|0); + $38 = (_sqlite3CorruptError(74742)|0); $39 = $38&255; $40 = HEAP32[$3>>2]|0; $41 = ((($40)) + 11|0); @@ -195220,11 +199568,12 @@ function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aKey1 = 0, $d1 = 0, $i = 0, $idx1 = 0; - var $lhs = 0, $mem1 = 0, $nCmp = 0, $nCmp1 = 0, $nStr = 0, $pKeyInfo = 0, $pRhs = 0, $rc = 0, $rhs = 0, $s1 = 0, $serial_type = 0, $szHdr1 = 0, label = 0, sp = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aKey1 = 0, $d1 = 0, $i = 0, $idx1 = 0, $lhs = 0, $mem1 = 0, $nCmp = 0, $nCmp1 = 0; + var $nStr = 0, $pKeyInfo = 0, $pRhs = 0, $rc = 0, $rhs = 0, $s1 = 0, $serial_type = 0, $szHdr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 124|0; @@ -195327,14 +199676,14 @@ function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { HEAP32[$i>>2] = 0; break; } - $52 = (_sqlite3CorruptError(73878)|0); + $52 = (_sqlite3CorruptError(74452)|0); $53 = $52&255; $54 = HEAP32[$3>>2]|0; $55 = ((($54)) + 11|0); HEAP8[$55>>0] = $53; HEAP32[$0>>2] = 0; - $375 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($375|0); + $391 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($391|0); } } while(0); L16: while(1) { @@ -195521,207 +199870,118 @@ function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $183 = $182&65535; $184 = $183 & 2; $185 = ($184|0)!=(0); - if (!($185)) { - $272 = HEAP32[$pRhs>>2]|0; - $273 = ((($272)) + 8|0); - $274 = HEAP16[$273>>1]|0; - $275 = $274&65535; - $276 = $275 & 16; - $277 = ($276|0)!=(0); - $278 = HEAP32[$idx1>>2]|0; - $279 = HEAP32[$aKey1>>2]|0; - $280 = (($279) + ($278)|0); - $281 = HEAP8[$280>>0]|0; - $282 = $281&255; - if (!($277)) { - HEAP32[$serial_type>>2] = $282; - $331 = HEAP32[$serial_type>>2]|0; - $332 = ($331|0)!=(0); - $333 = $332&1; - HEAP32[$rc>>2] = $333; + if ($185) { + $186 = HEAP32[$idx1>>2]|0; + $187 = HEAP32[$aKey1>>2]|0; + $188 = (($187) + ($186)|0); + $189 = HEAP8[$188>>0]|0; + $190 = $189&255; + $191 = ($190|0)<(128); + $192 = HEAP32[$idx1>>2]|0; + $193 = HEAP32[$aKey1>>2]|0; + $194 = (($193) + ($192)|0); + if ($191) { + $195 = HEAP8[$194>>0]|0; + $196 = $195&255; + HEAP32[$serial_type>>2] = $196; + } else { + (_sqlite3GetVarint32($194,$serial_type)|0); + } + $197 = HEAP32[$serial_type>>2]|0; + $198 = ($197>>>0)<(12); + if ($198) { + HEAP32[$rc>>2] = -1; break; } - $283 = ($282|0)<(128); - $284 = HEAP32[$idx1>>2]|0; - $285 = HEAP32[$aKey1>>2]|0; - $286 = (($285) + ($284)|0); - if ($283) { - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - HEAP32[$serial_type>>2] = $288; - } else { - (_sqlite3GetVarint32($286,$serial_type)|0); + $199 = HEAP32[$serial_type>>2]|0; + $200 = $199 & 1; + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$rc>>2] = 1; + break; } - $289 = HEAP32[$serial_type>>2]|0; - $290 = ($289>>>0)<(12); - if (!($290)) { - $291 = HEAP32[$serial_type>>2]|0; - $292 = $291 & 1; - $293 = ($292|0)!=(0); - if (!($293)) { - $294 = HEAP32[$serial_type>>2]|0; - $295 = (($294) - 12)|0; - $296 = (($295>>>0) / 2)&-1; - HEAP32[$nStr>>2] = $296; - $297 = HEAP32[$d1>>2]|0; - $298 = HEAP32[$nStr>>2]|0; - $299 = (($297) + ($298))|0; - $300 = HEAP32[$1>>2]|0; - $301 = ($299>>>0)>($300>>>0); - if ($301) { - label = 59; - break L16; - } - $306 = HEAP32[$nStr>>2]|0; - $307 = HEAP32[$pRhs>>2]|0; - $308 = ((($307)) + 12|0); - $309 = HEAP32[$308>>2]|0; - $310 = ($306|0)<($309|0); - if ($310) { - $311 = HEAP32[$nStr>>2]|0; - $315 = $311; - } else { - $312 = HEAP32[$pRhs>>2]|0; - $313 = ((($312)) + 12|0); - $314 = HEAP32[$313>>2]|0; - $315 = $314; - } - HEAP32[$nCmp1>>2] = $315; - $316 = HEAP32[$d1>>2]|0; - $317 = HEAP32[$aKey1>>2]|0; - $318 = (($317) + ($316)|0); - $319 = HEAP32[$pRhs>>2]|0; - $320 = ((($319)) + 16|0); - $321 = HEAP32[$320>>2]|0; - $322 = HEAP32[$nCmp1>>2]|0; - $323 = (_memcmp($318,$321,$322)|0); - HEAP32[$rc>>2] = $323; - $324 = HEAP32[$rc>>2]|0; - $325 = ($324|0)==(0); - if (!($325)) { - break; - } - $326 = HEAP32[$nStr>>2]|0; - $327 = HEAP32[$pRhs>>2]|0; - $328 = ((($327)) + 12|0); - $329 = HEAP32[$328>>2]|0; - $330 = (($326) - ($329))|0; - HEAP32[$rc>>2] = $330; - break; - } + $202 = HEAP32[$serial_type>>2]|0; + $203 = (($202) - 12)|0; + $204 = (($203>>>0) / 2)&-1; + $205 = ((($mem1)) + 12|0); + HEAP32[$205>>2] = $204; + $206 = HEAP32[$d1>>2]|0; + $207 = ((($mem1)) + 12|0); + $208 = HEAP32[$207>>2]|0; + $209 = (($206) + ($208))|0; + $210 = HEAP32[$1>>2]|0; + $211 = ($209>>>0)>($210>>>0); + if ($211) { + label = 43; + break L16; + } + $216 = HEAP32[$i>>2]|0; + $217 = HEAP32[$pKeyInfo>>2]|0; + $218 = ((($217)) + 20|0); + $219 = (($218) + ($216<<2)|0); + $220 = HEAP32[$219>>2]|0; + $221 = ($220|0)!=(0|0); + if ($221) { + $222 = HEAP32[$pKeyInfo>>2]|0; + $223 = ((($222)) + 4|0); + $224 = HEAP8[$223>>0]|0; + $225 = ((($mem1)) + 10|0); + HEAP8[$225>>0] = $224; + $226 = HEAP32[$pKeyInfo>>2]|0; + $227 = ((($226)) + 12|0); + $228 = HEAP32[$227>>2]|0; + $229 = ((($mem1)) + 32|0); + HEAP32[$229>>2] = $228; + $230 = ((($mem1)) + 8|0); + HEAP16[$230>>1] = 2; + $231 = HEAP32[$d1>>2]|0; + $232 = HEAP32[$aKey1>>2]|0; + $233 = (($232) + ($231)|0); + $234 = ((($mem1)) + 16|0); + HEAP32[$234>>2] = $233; + $235 = HEAP32[$pRhs>>2]|0; + $236 = HEAP32[$i>>2]|0; + $237 = HEAP32[$pKeyInfo>>2]|0; + $238 = ((($237)) + 20|0); + $239 = (($238) + ($236<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$3>>2]|0; + $242 = ((($241)) + 11|0); + $243 = (_vdbeCompareMemString($mem1,$235,$240,$242)|0); + HEAP32[$rc>>2] = $243; + break; + } + $244 = ((($mem1)) + 12|0); + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[$pRhs>>2]|0; + $247 = ((($246)) + 12|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($245|0)<($248|0); + if ($249) { + $250 = ((($mem1)) + 12|0); + $251 = HEAP32[$250>>2]|0; + $255 = $251; + } else { + $252 = HEAP32[$pRhs>>2]|0; + $253 = ((($252)) + 12|0); + $254 = HEAP32[$253>>2]|0; + $255 = $254; + } + HEAP32[$nCmp>>2] = $255; + $256 = HEAP32[$d1>>2]|0; + $257 = HEAP32[$aKey1>>2]|0; + $258 = (($257) + ($256)|0); + $259 = HEAP32[$pRhs>>2]|0; + $260 = ((($259)) + 16|0); + $261 = HEAP32[$260>>2]|0; + $262 = HEAP32[$nCmp>>2]|0; + $263 = (_memcmp($258,$261,$262)|0); + HEAP32[$rc>>2] = $263; + $264 = HEAP32[$rc>>2]|0; + $265 = ($264|0)==(0); + if (!($265)) { + break; } - HEAP32[$rc>>2] = -1; - break; - } - $186 = HEAP32[$idx1>>2]|0; - $187 = HEAP32[$aKey1>>2]|0; - $188 = (($187) + ($186)|0); - $189 = HEAP8[$188>>0]|0; - $190 = $189&255; - $191 = ($190|0)<(128); - $192 = HEAP32[$idx1>>2]|0; - $193 = HEAP32[$aKey1>>2]|0; - $194 = (($193) + ($192)|0); - if ($191) { - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - HEAP32[$serial_type>>2] = $196; - } else { - (_sqlite3GetVarint32($194,$serial_type)|0); - } - $197 = HEAP32[$serial_type>>2]|0; - $198 = ($197>>>0)<(12); - if ($198) { - HEAP32[$rc>>2] = -1; - break; - } - $199 = HEAP32[$serial_type>>2]|0; - $200 = $199 & 1; - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$rc>>2] = 1; - break; - } - $202 = HEAP32[$serial_type>>2]|0; - $203 = (($202) - 12)|0; - $204 = (($203>>>0) / 2)&-1; - $205 = ((($mem1)) + 12|0); - HEAP32[$205>>2] = $204; - $206 = HEAP32[$d1>>2]|0; - $207 = ((($mem1)) + 12|0); - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + ($208))|0; - $210 = HEAP32[$1>>2]|0; - $211 = ($209>>>0)>($210>>>0); - if ($211) { - label = 43; - break L16; - } - $216 = HEAP32[$i>>2]|0; - $217 = HEAP32[$pKeyInfo>>2]|0; - $218 = ((($217)) + 20|0); - $219 = (($218) + ($216<<2)|0); - $220 = HEAP32[$219>>2]|0; - $221 = ($220|0)!=(0|0); - if ($221) { - $222 = HEAP32[$pKeyInfo>>2]|0; - $223 = ((($222)) + 4|0); - $224 = HEAP8[$223>>0]|0; - $225 = ((($mem1)) + 10|0); - HEAP8[$225>>0] = $224; - $226 = HEAP32[$pKeyInfo>>2]|0; - $227 = ((($226)) + 12|0); - $228 = HEAP32[$227>>2]|0; - $229 = ((($mem1)) + 32|0); - HEAP32[$229>>2] = $228; - $230 = ((($mem1)) + 8|0); - HEAP16[$230>>1] = 2; - $231 = HEAP32[$d1>>2]|0; - $232 = HEAP32[$aKey1>>2]|0; - $233 = (($232) + ($231)|0); - $234 = ((($mem1)) + 16|0); - HEAP32[$234>>2] = $233; - $235 = HEAP32[$pRhs>>2]|0; - $236 = HEAP32[$i>>2]|0; - $237 = HEAP32[$pKeyInfo>>2]|0; - $238 = ((($237)) + 20|0); - $239 = (($238) + ($236<<2)|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[$3>>2]|0; - $242 = ((($241)) + 11|0); - $243 = (_vdbeCompareMemString($mem1,$235,$240,$242)|0); - HEAP32[$rc>>2] = $243; - break; - } - $244 = ((($mem1)) + 12|0); - $245 = HEAP32[$244>>2]|0; - $246 = HEAP32[$pRhs>>2]|0; - $247 = ((($246)) + 12|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($245|0)<($248|0); - if ($249) { - $250 = ((($mem1)) + 12|0); - $251 = HEAP32[$250>>2]|0; - $255 = $251; - } else { - $252 = HEAP32[$pRhs>>2]|0; - $253 = ((($252)) + 12|0); - $254 = HEAP32[$253>>2]|0; - $255 = $254; - } - HEAP32[$nCmp>>2] = $255; - $256 = HEAP32[$d1>>2]|0; - $257 = HEAP32[$aKey1>>2]|0; - $258 = (($257) + ($256)|0); - $259 = HEAP32[$pRhs>>2]|0; - $260 = ((($259)) + 16|0); - $261 = HEAP32[$260>>2]|0; - $262 = HEAP32[$nCmp>>2]|0; - $263 = (_memcmp($258,$261,$262)|0); - HEAP32[$rc>>2] = $263; - $264 = HEAP32[$rc>>2]|0; - $265 = ($264|0)==(0); - if ($265) { $266 = ((($mem1)) + 12|0); $267 = HEAP32[$266>>2]|0; $268 = HEAP32[$pRhs>>2]|0; @@ -195729,104 +199989,219 @@ function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { $270 = HEAP32[$269>>2]|0; $271 = (($267) - ($270))|0; HEAP32[$rc>>2] = $271; + break; } + $272 = HEAP32[$pRhs>>2]|0; + $273 = ((($272)) + 8|0); + $274 = HEAP16[$273>>1]|0; + $275 = $274&65535; + $276 = $275 & 16; + $277 = ($276|0)!=(0); + $278 = HEAP32[$idx1>>2]|0; + $279 = HEAP32[$aKey1>>2]|0; + $280 = (($279) + ($278)|0); + $281 = HEAP8[$280>>0]|0; + $282 = $281&255; + if (!($277)) { + HEAP32[$serial_type>>2] = $282; + $347 = HEAP32[$serial_type>>2]|0; + $348 = ($347|0)!=(0); + $349 = $348&1; + HEAP32[$rc>>2] = $349; + break; + } + $283 = ($282|0)<(128); + $284 = HEAP32[$idx1>>2]|0; + $285 = HEAP32[$aKey1>>2]|0; + $286 = (($285) + ($284)|0); + if ($283) { + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + HEAP32[$serial_type>>2] = $288; + } else { + (_sqlite3GetVarint32($286,$serial_type)|0); + } + $289 = HEAP32[$serial_type>>2]|0; + $290 = ($289>>>0)<(12); + if (!($290)) { + $291 = HEAP32[$serial_type>>2]|0; + $292 = $291 & 1; + $293 = ($292|0)!=(0); + if (!($293)) { + $294 = HEAP32[$serial_type>>2]|0; + $295 = (($294) - 12)|0; + $296 = (($295>>>0) / 2)&-1; + HEAP32[$nStr>>2] = $296; + $297 = HEAP32[$d1>>2]|0; + $298 = HEAP32[$nStr>>2]|0; + $299 = (($297) + ($298))|0; + $300 = HEAP32[$1>>2]|0; + $301 = ($299>>>0)>($300>>>0); + if ($301) { + label = 59; + break L16; + } + $306 = HEAP32[$pRhs>>2]|0; + $307 = ((($306)) + 8|0); + $308 = HEAP16[$307>>1]|0; + $309 = $308&65535; + $310 = $309 & 16384; + $311 = ($310|0)!=(0); + if ($311) { + $312 = HEAP32[$d1>>2]|0; + $313 = HEAP32[$aKey1>>2]|0; + $314 = (($313) + ($312)|0); + $315 = HEAP32[$nStr>>2]|0; + $316 = (_isAllZero($314,$315)|0); + $317 = ($316|0)!=(0); + if ($317) { + $318 = HEAP32[$nStr>>2]|0; + $319 = HEAP32[$pRhs>>2]|0; + $320 = HEAP32[$319>>2]|0; + $321 = (($318) - ($320))|0; + HEAP32[$rc>>2] = $321; + break; + } else { + HEAP32[$rc>>2] = 1; + break; + } + } + $322 = HEAP32[$nStr>>2]|0; + $323 = HEAP32[$pRhs>>2]|0; + $324 = ((($323)) + 12|0); + $325 = HEAP32[$324>>2]|0; + $326 = ($322|0)<($325|0); + if ($326) { + $327 = HEAP32[$nStr>>2]|0; + $331 = $327; + } else { + $328 = HEAP32[$pRhs>>2]|0; + $329 = ((($328)) + 12|0); + $330 = HEAP32[$329>>2]|0; + $331 = $330; + } + HEAP32[$nCmp1>>2] = $331; + $332 = HEAP32[$d1>>2]|0; + $333 = HEAP32[$aKey1>>2]|0; + $334 = (($333) + ($332)|0); + $335 = HEAP32[$pRhs>>2]|0; + $336 = ((($335)) + 16|0); + $337 = HEAP32[$336>>2]|0; + $338 = HEAP32[$nCmp1>>2]|0; + $339 = (_memcmp($334,$337,$338)|0); + HEAP32[$rc>>2] = $339; + $340 = HEAP32[$rc>>2]|0; + $341 = ($340|0)==(0); + if (!($341)) { + break; + } + $342 = HEAP32[$nStr>>2]|0; + $343 = HEAP32[$pRhs>>2]|0; + $344 = ((($343)) + 12|0); + $345 = HEAP32[$344>>2]|0; + $346 = (($342) - ($345))|0; + HEAP32[$rc>>2] = $346; + break; + } + } + HEAP32[$rc>>2] = -1; } } while(0); - $334 = HEAP32[$rc>>2]|0; - $335 = ($334|0)!=(0); - $336 = HEAP32[$i>>2]|0; - if ($335) { - label = 67; - break; - } - $346 = (($336) + 1)|0; - HEAP32[$i>>2] = $346; - $347 = HEAP32[$pRhs>>2]|0; - $348 = ((($347)) + 40|0); - HEAP32[$pRhs>>2] = $348; - $349 = HEAP32[$serial_type>>2]|0; - $350 = (_sqlite3VdbeSerialTypeLen($349)|0); - $351 = HEAP32[$d1>>2]|0; - $352 = (($351) + ($350))|0; - HEAP32[$d1>>2] = $352; - $353 = HEAP32[$serial_type>>2]|0; - $354 = (_sqlite3VarintLen($353,0)|0); - $355 = HEAP32[$idx1>>2]|0; - $356 = (($355) + ($354))|0; - HEAP32[$idx1>>2] = $356; - $357 = HEAP32[$idx1>>2]|0; - $358 = HEAP32[$szHdr1>>2]|0; - $359 = ($357>>>0)<($358>>>0); - if (!($359)) { - label = 73; - break; - } - $360 = HEAP32[$i>>2]|0; - $361 = HEAP32[$3>>2]|0; - $362 = ((($361)) + 8|0); - $363 = HEAP16[$362>>1]|0; - $364 = $363&65535; - $365 = ($360|0)<($364|0); - if (!($365)) { - label = 73; - break; - } - $366 = HEAP32[$d1>>2]|0; - $367 = HEAP32[$1>>2]|0; - $368 = ($366>>>0)<=($367>>>0); - if (!($368)) { - label = 73; + $350 = HEAP32[$rc>>2]|0; + $351 = ($350|0)!=(0); + $352 = HEAP32[$i>>2]|0; + if ($351) { + label = 71; + break; + } + $362 = (($352) + 1)|0; + HEAP32[$i>>2] = $362; + $363 = HEAP32[$pRhs>>2]|0; + $364 = ((($363)) + 40|0); + HEAP32[$pRhs>>2] = $364; + $365 = HEAP32[$serial_type>>2]|0; + $366 = (_sqlite3VdbeSerialTypeLen($365)|0); + $367 = HEAP32[$d1>>2]|0; + $368 = (($367) + ($366))|0; + HEAP32[$d1>>2] = $368; + $369 = HEAP32[$serial_type>>2]|0; + $370 = (_sqlite3VarintLen($369,0)|0); + $371 = HEAP32[$idx1>>2]|0; + $372 = (($371) + ($370))|0; + HEAP32[$idx1>>2] = $372; + $373 = HEAP32[$idx1>>2]|0; + $374 = HEAP32[$szHdr1>>2]|0; + $375 = ($373>>>0)<($374>>>0); + if (!($375)) { + label = 77; + break; + } + $376 = HEAP32[$i>>2]|0; + $377 = HEAP32[$3>>2]|0; + $378 = ((($377)) + 8|0); + $379 = HEAP16[$378>>1]|0; + $380 = $379&65535; + $381 = ($376|0)<($380|0); + if (!($381)) { + label = 77; + break; + } + $382 = HEAP32[$d1>>2]|0; + $383 = HEAP32[$1>>2]|0; + $384 = ($382>>>0)<=($383>>>0); + if (!($384)) { + label = 77; break; } } if ((label|0) == 43) { - $212 = (_sqlite3CorruptError(73953)|0); + $212 = (_sqlite3CorruptError(74527)|0); $213 = $212&255; $214 = HEAP32[$3>>2]|0; $215 = ((($214)) + 11|0); HEAP8[$215>>0] = $213; HEAP32[$0>>2] = 0; - $375 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($375|0); + $391 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($391|0); } else if ((label|0) == 59) { - $302 = (_sqlite3CorruptError(73982)|0); + $302 = (_sqlite3CorruptError(74557)|0); $303 = $302&255; $304 = HEAP32[$3>>2]|0; $305 = ((($304)) + 11|0); HEAP8[$305>>0] = $303; HEAP32[$0>>2] = 0; - $375 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($375|0); - } - else if ((label|0) == 67) { - $337 = HEAP32[$pKeyInfo>>2]|0; - $338 = ((($337)) + 16|0); - $339 = HEAP32[$338>>2]|0; - $340 = (($339) + ($336)|0); - $341 = HEAP8[$340>>0]|0; - $342 = ($341<<24>>24)!=(0); - if ($342) { - $343 = HEAP32[$rc>>2]|0; - $344 = (0 - ($343))|0; - HEAP32[$rc>>2] = $344; - } - $345 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $345; - $375 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($375|0); + $391 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($391|0); } - else if ((label|0) == 73) { - $369 = HEAP32[$3>>2]|0; - $370 = ((($369)) + 14|0); - HEAP8[$370>>0] = 1; - $371 = HEAP32[$3>>2]|0; - $372 = ((($371)) + 10|0); - $373 = HEAP8[$372>>0]|0; - $374 = $373 << 24 >> 24; - HEAP32[$0>>2] = $374; - $375 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($375|0); + else if ((label|0) == 71) { + $353 = HEAP32[$pKeyInfo>>2]|0; + $354 = ((($353)) + 16|0); + $355 = HEAP32[$354>>2]|0; + $356 = (($355) + ($352)|0); + $357 = HEAP8[$356>>0]|0; + $358 = ($357<<24>>24)!=(0); + if ($358) { + $359 = HEAP32[$rc>>2]|0; + $360 = (0 - ($359))|0; + HEAP32[$rc>>2] = $360; + } + $361 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $361; + $391 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($391|0); + } + else if ((label|0) == 77) { + $385 = HEAP32[$3>>2]|0; + $386 = ((($385)) + 14|0); + HEAP8[$386>>0] = 1; + $387 = HEAP32[$3>>2]|0; + $388 = ((($387)) + 10|0); + $389 = HEAP8[$388>>0]|0; + $390 = $389 << 24 >> 24; + HEAP32[$0>>2] = $390; + $391 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($391|0); } return (0)|0; } @@ -195969,7 +200344,7 @@ function _sqlite3VdbeSerialTypeLen($serial_type) { $10 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($10|0); } else { - $7 = (35576 + ($4)|0); + $7 = (35061 + ($4)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; HEAP32[$0>>2] = $9; @@ -196228,7 +200603,7 @@ function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { HEAP32[$158>>2] = $156; $159 = HEAP32[$2>>2]|0; $160 = $159 & 1; - $161 = (15270 + ($160<<1)|0); + $161 = (14590 + ($160<<1)|0); $162 = HEAP16[$161>>1]|0; $163 = HEAP32[$3>>2]|0; $164 = ((($163)) + 8|0); @@ -196774,6 +201149,52 @@ function _vdbeCompareMemString($pMem1,$pMem2,$pColl,$prcErr) { $78 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($78|0); } +function _isAllZero($z,$n) { + $z = $z|0; + $n = $n|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $i = sp; + HEAP32[$1>>2] = $z; + HEAP32[$2>>2] = $n; + HEAP32[$i>>2] = 0; + while(1) { + $3 = HEAP32[$i>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = ($3|0)<($4|0); + if (!($5)) { + label = 6; + break; + } + $6 = HEAP32[$i>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = (($7) + ($6)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)!=(0); + if ($10) { + label = 4; + break; + } + $11 = HEAP32[$i>>2]|0; + $12 = (($11) + 1)|0; + HEAP32[$i>>2] = $12; + } + if ((label|0) == 4) { + HEAP32[$0>>2] = 0; + $13 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($13|0); + } + else if ((label|0) == 6) { + HEAP32[$0>>2] = 1; + $13 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($13|0); + } + return (0)|0; +} function _sqlite3VarintLen($0,$1) { $0 = $0|0; $1 = $1|0; @@ -196979,7 +201400,7 @@ function _vdbeMemClearExternAndSetNull($p) { HEAP32[$pFrame>>2] = $35; $36 = HEAP32[$pFrame>>2]|0; $37 = HEAP32[$36>>2]|0; - $38 = ((($37)) + 180|0); + $38 = ((($37)) + 188|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$pFrame>>2]|0; $41 = ((($40)) + 4|0); @@ -196987,7 +201408,7 @@ function _vdbeMemClearExternAndSetNull($p) { $42 = HEAP32[$pFrame>>2]|0; $43 = HEAP32[$pFrame>>2]|0; $44 = HEAP32[$43>>2]|0; - $45 = ((($44)) + 180|0); + $45 = ((($44)) + 188|0); HEAP32[$45>>2] = $42; } } @@ -197583,14 +202004,15 @@ function _targetSrcList($pParse,$pStep) { $pStep = $pStep|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $or$cond = 0, $pSrc = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $iDb = 0, $or$cond = 0, $pSrc = 0, $zDb = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $db = sp + 8|0; - $iDb = sp + 4|0; - $pSrc = sp; + $0 = sp + 20|0; + $1 = sp + 16|0; + $db = sp + 12|0; + $iDb = sp + 8|0; + $pSrc = sp + 4|0; + $zDb = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pStep; $2 = HEAP32[$0>>2]|0; @@ -197602,8 +202024,8 @@ function _targetSrcList($pParse,$pStep) { $6 = HEAP32[$pSrc>>2]|0; $7 = ($6|0)!=(0|0); if (!($7)) { - $46 = HEAP32[$pSrc>>2]|0; - STACKTOP = sp;return ($46|0); + $47 = HEAP32[$pSrc>>2]|0; + STACKTOP = sp;return ($47|0); } $8 = HEAP32[$db>>2]|0; $9 = HEAP32[$1>>2]|0; @@ -197632,27 +202054,29 @@ function _targetSrcList($pParse,$pStep) { $30 = ($29|0)>=(2); $or$cond = $28 | $30; if (!($or$cond)) { - $46 = HEAP32[$pSrc>>2]|0; - STACKTOP = sp;return ($46|0); + $47 = HEAP32[$pSrc>>2]|0; + STACKTOP = sp;return ($47|0); } - $31 = HEAP32[$db>>2]|0; - $32 = HEAP32[$iDb>>2]|0; - $33 = HEAP32[$db>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32<<4)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_sqlite3DbStrDup($31,$37)|0); - $39 = HEAP32[$pSrc>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = (($40) - 1)|0; - $42 = HEAP32[$pSrc>>2]|0; - $43 = ((($42)) + 8|0); - $44 = (($43) + (($41*72)|0)|0); - $45 = ((($44)) + 4|0); - HEAP32[$45>>2] = $38; - $46 = HEAP32[$pSrc>>2]|0; - STACKTOP = sp;return ($46|0); + $31 = HEAP32[$iDb>>2]|0; + $32 = HEAP32[$db>>2]|0; + $33 = ((($32)) + 16|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($31<<4)|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$zDb>>2] = $36; + $37 = HEAP32[$db>>2]|0; + $38 = HEAP32[$zDb>>2]|0; + $39 = (_sqlite3DbStrDup($37,$38)|0); + $40 = HEAP32[$pSrc>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = (($41) - 1)|0; + $43 = HEAP32[$pSrc>>2]|0; + $44 = ((($43)) + 8|0); + $45 = (($44) + (($42*72)|0)|0); + $46 = ((($45)) + 4|0); + HEAP32[$46>>2] = $39; + $47 = HEAP32[$pSrc>>2]|0; + STACKTOP = sp;return ($47|0); } function _fkTriggerDelete($dbMem,$p) { $dbMem = $dbMem|0; @@ -198026,13 +202450,13 @@ function _sqlite3AuthContextPush($pParse,$pContext,$zContext) { $5 = ((($4)) + 4|0); HEAP32[$5>>2] = $3; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 496|0); + $7 = ((($6)) + 448|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$1>>2]|0; HEAP32[$9>>2] = $8; $10 = HEAP32[$2>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 496|0); + $12 = ((($11)) + 448|0); HEAP32[$12>>2] = $10; STACKTOP = sp;return; } @@ -198046,10 +202470,10 @@ function _sqlite3MaterializeView($pParse,$pView,$pWhere,$iCur) { var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dest = 0, $iDb = 0, $pFrom = 0, $pSel = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $3 = sp + 36|0; + $0 = sp + 52|0; + $1 = sp + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; $dest = sp + 16|0; $pSel = sp + 12|0; $pFrom = sp + 8|0; @@ -198188,7 +202612,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $24 = HEAP32[$23>>2]|0; HEAP32[$iCsr>>2] = $24; $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 72|0); + $26 = ((($25)) + 40|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + 1)|0; HEAP32[$26>>2] = $28; @@ -198196,27 +202620,27 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $29 = HEAP32[$v>>2]|0; $30 = HEAP32[$ephemTab>>2]|0; $31 = HEAP32[$nArg>>2]|0; - $32 = (_sqlite3VdbeAddOp2($29,105,$30,$31)|0); + $32 = (_sqlite3VdbeAddOp2($29,107,$30,$31)|0); HEAP32[$addr>>2] = $32; $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 76|0); + $34 = ((($33)) + 44|0); $35 = HEAP32[$34>>2]|0; $36 = (($35) + 1)|0; HEAP32[$regArg>>2] = $36; $37 = HEAP32[$nArg>>2]|0; $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 76|0); + $39 = ((($38)) + 44|0); $40 = HEAP32[$39>>2]|0; $41 = (($40) + ($37))|0; HEAP32[$39>>2] = $41; $42 = HEAP32[$0>>2]|0; - $43 = ((($42)) + 76|0); + $43 = ((($42)) + 44|0); $44 = HEAP32[$43>>2]|0; $45 = (($44) + 1)|0; HEAP32[$43>>2] = $45; HEAP32[$regRec>>2] = $45; $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 76|0); + $47 = ((($46)) + 44|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + 1)|0; HEAP32[$47>>2] = $49; @@ -198234,7 +202658,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $56 = HEAP32[$v>>2]|0; $57 = HEAP32[$iCsr>>2]|0; $58 = HEAP32[$regArg>>2]|0; - (_sqlite3VdbeAddOp2($56,121,$57,$58)|0); + (_sqlite3VdbeAddOp2($56,123,$57,$58)|0); $59 = HEAP32[$4>>2]|0; $60 = ($59|0)!=(0|0); if ($60) { @@ -198248,7 +202672,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $66 = HEAP32[$iCsr>>2]|0; $67 = HEAP32[$regArg>>2]|0; $68 = (($67) + 1)|0; - (_sqlite3VdbeAddOp2($65,121,$66,$68)|0); + (_sqlite3VdbeAddOp2($65,123,$66,$68)|0); } HEAP32[$i>>2] = 0; while(1) { @@ -198290,7 +202714,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $98 = (($97) + 2)|0; $99 = HEAP32[$i>>2]|0; $100 = (($98) + ($99))|0; - (_sqlite3VdbeAddOp3($94,154,$95,$96,$100)|0); + (_sqlite3VdbeAddOp3($94,156,$95,$96,$100)|0); } $101 = HEAP32[$i>>2]|0; $102 = (($101) + 1)|0; @@ -198306,7 +202730,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $108 = HEAP32[$addr>>2]|0; (_sqlite3VdbeChangeToNoop($107,$108)|0); $109 = HEAP32[$0>>2]|0; - $110 = ((($109)) + 416|0); + $110 = ((($109)) + 124|0); $111 = HEAP32[$110>>2]|0; $112 = ($111|0)==(0|0); if ($112) { @@ -198318,16 +202742,16 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $115 = HEAP32[$regArg>>2]|0; $116 = HEAP32[$nArg>>2]|0; $117 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($107,96,$115,$116,$117)|0); + (_sqlite3VdbeAddOp3($107,99,$115,$116,$117)|0); $118 = HEAP32[$v>>2]|0; $119 = HEAP32[$ephemTab>>2]|0; $120 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($118,112,$119,$120)|0); + (_sqlite3VdbeAddOp2($118,114,$119,$120)|0); $121 = HEAP32[$v>>2]|0; $122 = HEAP32[$ephemTab>>2]|0; $123 = HEAP32[$regRec>>2]|0; $124 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($121,113,$122,$123,$124)|0); + (_sqlite3VdbeAddOp3($121,115,$122,$123,$124)|0); } $125 = HEAP32[$bOnePass>>2]|0; $126 = ($125|0)==(0); @@ -198337,7 +202761,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher _sqlite3WhereEnd($127); $128 = HEAP32[$v>>2]|0; $129 = HEAP32[$ephemTab>>2]|0; - $130 = (_sqlite3VdbeAddOp1($128,55,$129)|0); + $130 = (_sqlite3VdbeAddOp1($128,57,$129)|0); HEAP32[$addr>>2] = $130; HEAP32[$i>>2] = 0; while(1) { @@ -198353,7 +202777,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher $137 = HEAP32[$regArg>>2]|0; $138 = HEAP32[$i>>2]|0; $139 = (($137) + ($138))|0; - (_sqlite3VdbeAddOp3($134,94,$135,$136,$139)|0); + (_sqlite3VdbeAddOp3($134,96,$135,$136,$139)|0); $140 = HEAP32[$i>>2]|0; $141 = (($140) + 1)|0; HEAP32[$i>>2] = $141; @@ -198390,7 +202814,7 @@ function _updateVirtualTable($pParse,$pSrc,$pTab,$pChanges,$pRowid,$aXRef,$pWher _sqlite3VdbeJumpHere($161,$162); $163 = HEAP32[$v>>2]|0; $164 = HEAP32[$ephemTab>>2]|0; - (_sqlite3VdbeAddOp2($163,109,$164,0)|0); + (_sqlite3VdbeAddOp2($163,111,$164,0)|0); STACKTOP = sp;return; } else { $165 = HEAP32[$pWInfo>>2]|0; @@ -198410,10 +202834,10 @@ function _sqlite3WhereOkOnePass($pWInfo,$aiCur) { HEAP32[$1>>2] = $aiCur; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 60|0); + $4 = ((($3)) + 20|0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 40|0); + $6 = ((($5)) + 45|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; STACKTOP = sp;return ($8|0); @@ -198437,7 +202861,7 @@ function _sqlite3AuthContextPop($pContext) { $7 = HEAP32[$0>>2]|0; $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; - $10 = ((($9)) + 496|0); + $10 = ((($9)) + 448|0); HEAP32[$10>>2] = $6; $11 = HEAP32[$0>>2]|0; $12 = ((($11)) + 4|0); @@ -198580,46 +203004,6 @@ function _sqlite3SrcListEnlarge($db,$pSrc,$nExtra,$iStart) { $79 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($79|0); } -function _checkForMultiColumnSelectError($pParse,$pDest,$nExpr) { - $pParse = $pParse|0; - $pDest = $pDest|0; - $nExpr = $nExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eDest = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $eDest = sp + 4|0; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $pDest; - HEAP32[$3>>2] = $nExpr; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - HEAP32[$eDest>>2] = $6; - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)>(1); - if ($8) { - $9 = HEAP32[$eDest>>2]|0; - $10 = ($9|0)==(10); - $11 = HEAP32[$eDest>>2]|0; - $12 = ($11|0)==(11); - $or$cond = $10 | $12; - if ($or$cond) { - $13 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($13,36507,$vararg_buffer); - HEAP32[$0>>2] = 1; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); - } - } - HEAP32[$0>>2] = 0; - $14 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($14|0); -} function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $pParse = $pParse|0; $p = $p|0; @@ -198694,7 +203078,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { HEAP32[$4>>2] = $isAgg; HEAP32[$5>>2] = $subqueryIsAgg; $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 496|0); + $7 = ((($6)) + 448|0); $8 = HEAP32[$7>>2]|0; HEAP32[$zSavedAuthContext>>2] = $8; $9 = HEAP32[$1>>2]|0; @@ -199110,13 +203494,13 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $225 = ((($224)) + 8|0); $226 = HEAP32[$225>>2]|0; $227 = HEAP32[$1>>2]|0; - $228 = ((($227)) + 496|0); + $228 = ((($227)) + 448|0); HEAP32[$228>>2] = $226; $229 = HEAP32[$1>>2]|0; (_sqlite3AuthCheck($229,21,0,0,0)|0); $230 = HEAP32[$zSavedAuthContext>>2]|0; $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 496|0); + $232 = ((($231)) + 448|0); HEAP32[$232>>2] = $230; $233 = HEAP32[$pSub>>2]|0; $234 = ((($233)) + 48|0); @@ -199276,12 +203660,12 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $336 = ($335|0)==(1); if ($336) { $337 = HEAP32[$1>>2]|0; - $338 = ((($337)) + 416|0); + $338 = ((($337)) + 124|0); $339 = HEAP32[$338>>2]|0; $340 = ($339|0)!=(0|0); $341 = HEAP32[$1>>2]|0; if ($340) { - $342 = ((($341)) + 416|0); + $342 = ((($341)) + 124|0); $343 = HEAP32[$342>>2]|0; $344 = $343; } else { @@ -199289,14 +203673,14 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } HEAP32[$pToplevel>>2] = $344; $345 = HEAP32[$pToplevel>>2]|0; - $346 = ((($345)) + 528|0); + $346 = ((($345)) + 464|0); $347 = HEAP32[$346>>2]|0; $348 = HEAP32[$pTabToDel>>2]|0; $349 = ((($348)) + 68|0); HEAP32[$349>>2] = $347; $350 = HEAP32[$pTabToDel>>2]|0; $351 = HEAP32[$pToplevel>>2]|0; - $352 = ((($351)) + 528|0); + $352 = ((($351)) + 464|0); HEAP32[$352>>2] = $350; } else { $353 = HEAP32[$pTabToDel>>2]|0; @@ -199519,15 +203903,15 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $501 = ((($500)) + 32|0); HEAP32[$501>>2] = $499; $502 = HEAP32[$db>>2]|0; - $503 = HEAP32[$pParent>>2]|0; - $504 = ((($503)) + 40|0); - $505 = HEAP32[$504>>2]|0; - $506 = HEAP32[$db>>2]|0; - $507 = HEAP32[$pSub>>2]|0; - $508 = ((($507)) + 40|0); - $509 = HEAP32[$508>>2]|0; - $510 = (_sqlite3ExprDup($506,$509,0)|0); - $511 = (_sqlite3ExprAnd($502,$505,$510)|0); + $503 = HEAP32[$db>>2]|0; + $504 = HEAP32[$pSub>>2]|0; + $505 = ((($504)) + 40|0); + $506 = HEAP32[$505>>2]|0; + $507 = (_sqlite3ExprDup($503,$506,0)|0); + $508 = HEAP32[$pParent>>2]|0; + $509 = ((($508)) + 40|0); + $510 = HEAP32[$509>>2]|0; + $511 = (_sqlite3ExprAnd($502,$507,$510)|0); $512 = HEAP32[$pParent>>2]|0; $513 = ((($512)) + 40|0); HEAP32[$513>>2] = $511; @@ -199541,11 +203925,11 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { HEAP32[$520>>2] = $518; } else { $521 = HEAP32[$db>>2]|0; - $522 = HEAP32[$pParent>>2]|0; - $523 = ((($522)) + 32|0); - $524 = HEAP32[$523>>2]|0; - $525 = HEAP32[$pWhere>>2]|0; - $526 = (_sqlite3ExprAnd($521,$524,$525)|0); + $522 = HEAP32[$pWhere>>2]|0; + $523 = HEAP32[$pParent>>2]|0; + $524 = ((($523)) + 32|0); + $525 = HEAP32[$524>>2]|0; + $526 = (_sqlite3ExprAnd($521,$522,$525)|0); $527 = HEAP32[$pParent>>2]|0; $528 = ((($527)) + 32|0); HEAP32[$528>>2] = $526; @@ -199632,43 +204016,43 @@ function _multiSelect($pParse,$p,$pDest) { var $op = 0, $or$cond = 0, $pDelete = 0, $pFirst = 0, $pFirst8 = 0, $pKeyInfo = 0, $pLimit = 0, $pLimit5 = 0, $pLoop = 0, $pOffset = 0, $pOffset6 = 0, $pPrior = 0, $priorOp = 0, $r1 = 0, $rc = 0, $tab1 = 0, $tab2 = 0, $unionTab = 0, $uniondest = 0, $v = 0; var $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; + STACKTOP = STACKTOP + 256|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 220|0; - $1 = sp + 216|0; - $2 = sp + 212|0; - $3 = sp + 208|0; - $rc = sp + 204|0; - $pPrior = sp + 200|0; - $v = sp + 196|0; - $dest = sp + 176|0; - $pDelete = sp + 172|0; - $db = sp + 168|0; - $iSub1 = sp + 164|0; - $iSub2 = sp + 160|0; - $addr = sp + 156|0; - $nLimit = sp + 152|0; - $unionTab = sp + 148|0; - $op = sp + 224|0; - $priorOp = sp + 144|0; - $pLimit = sp + 140|0; - $pOffset = sp + 136|0; - $addr1 = sp + 132|0; - $uniondest = sp + 112|0; - $iCont = sp + 108|0; - $iBreak = sp + 104|0; - $iStart = sp + 100|0; - $pFirst = sp + 96|0; - $tab1 = sp + 92|0; - $tab2 = sp + 88|0; - $iCont2 = sp + 84|0; - $iBreak3 = sp + 80|0; - $iStart4 = sp + 76|0; - $pLimit5 = sp + 72|0; - $pOffset6 = sp + 68|0; - $addr7 = sp + 64|0; - $intersectdest = sp + 44|0; + $0 = sp + 240|0; + $1 = sp + 236|0; + $2 = sp + 232|0; + $3 = sp + 228|0; + $rc = sp + 224|0; + $pPrior = sp + 220|0; + $v = sp + 216|0; + $dest = sp + 192|0; + $pDelete = sp + 184|0; + $db = sp + 180|0; + $iSub1 = sp + 176|0; + $iSub2 = sp + 172|0; + $addr = sp + 168|0; + $nLimit = sp + 164|0; + $unionTab = sp + 160|0; + $op = sp + 244|0; + $priorOp = sp + 156|0; + $pLimit = sp + 152|0; + $pOffset = sp + 148|0; + $addr1 = sp + 144|0; + $uniondest = sp + 120|0; + $iCont = sp + 116|0; + $iBreak = sp + 112|0; + $iStart = sp + 108|0; + $pFirst = sp + 104|0; + $tab1 = sp + 100|0; + $tab2 = sp + 96|0; + $iCont2 = sp + 92|0; + $iBreak3 = sp + 88|0; + $iStart4 = sp + 84|0; + $pLimit5 = sp + 80|0; + $pOffset6 = sp + 76|0; + $addr7 = sp + 72|0; + $intersectdest = sp + 48|0; $r1 = sp + 40|0; $pFirst8 = sp + 36|0; $i = sp + 32|0; @@ -199692,7 +204076,7 @@ function _multiSelect($pParse,$p,$pDest) { $8 = HEAP32[$7>>2]|0; HEAP32[$pPrior>>2] = $8; $9 = HEAP32[$3>>2]|0; - ;HEAP32[$dest>>2]=HEAP32[$9>>2]|0;HEAP32[$dest+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[$9+16>>2]|0; + ;HEAP32[$dest>>2]=HEAP32[$9>>2]|0;HEAP32[$dest+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$dest+20>>2]=HEAP32[$9+20>>2]|0; $10 = HEAP32[$pPrior>>2]|0; $11 = ((($10)) + 44|0); $12 = HEAP32[$11>>2]|0; @@ -199706,7 +204090,7 @@ function _multiSelect($pParse,$p,$pDest) { $18 = $17&255; $19 = (_selectOpName($18)|0); HEAP32[$vararg_buffer>>2] = $19; - _sqlite3ErrorMsg($14,36316,$vararg_buffer); + _sqlite3ErrorMsg($14,35831,$vararg_buffer); HEAP32[$rc>>2] = 1; } else { $20 = HEAP32[$pPrior>>2]|0; @@ -199721,7 +204105,7 @@ function _multiSelect($pParse,$p,$pDest) { $28 = $27&255; $29 = (_selectOpName($28)|0); HEAP32[$vararg_buffer2>>2] = $29; - _sqlite3ErrorMsg($24,36364,$vararg_buffer2); + _sqlite3ErrorMsg($24,35879,$vararg_buffer2); HEAP32[$rc>>2] = 1; break; } @@ -199732,12 +204116,12 @@ function _multiSelect($pParse,$p,$pDest) { $33 = ($32|0)==(12); if ($33) { $34 = HEAP32[$v>>2]|0; - $35 = ((($dest)) + 4|0); + $35 = ((($dest)) + 8|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$38>>2]|0; - (_sqlite3VdbeAddOp2($34,105,$36,$39)|0); + (_sqlite3VdbeAddOp2($34,107,$36,$39)|0); HEAP8[$dest>>0] = 14; } $40 = HEAP32[$2>>2]|0; @@ -199808,7 +204192,7 @@ function _multiSelect($pParse,$p,$pDest) { $86 = ((($85)) + 60|0); HEAP32[$86>>2] = $84; $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 472|0); + $88 = ((($87)) + 424|0); $89 = HEAP32[$88>>2]|0; HEAP32[$iSub1>>2] = $89; $90 = HEAP32[$1>>2]|0; @@ -199868,11 +204252,11 @@ function _multiSelect($pParse,$p,$pDest) { $132 = HEAP32[$2>>2]|0; $133 = ((($132)) + 16|0); $134 = HEAP32[$133>>2]|0; - (_sqlite3VdbeAddOp3($124,144,$127,$131,$134)|0); + (_sqlite3VdbeAddOp3($124,146,$127,$131,$134)|0); } } $135 = HEAP32[$1>>2]|0; - $136 = ((($135)) + 472|0); + $136 = ((($135)) + 424|0); $137 = HEAP32[$136>>2]|0; HEAP32[$iSub2>>2] = $137; $138 = HEAP32[$1>>2]|0; @@ -199951,19 +204335,19 @@ function _multiSelect($pParse,$p,$pDest) { $189 = HEAP32[$priorOp>>2]|0; $190 = ($188|0)==($189|0); if ($190) { - $191 = ((($dest)) + 4|0); + $191 = ((($dest)) + 8|0); $192 = HEAP32[$191>>2]|0; HEAP32[$unionTab>>2] = $192; } else { $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 72|0); + $194 = ((($193)) + 40|0); $195 = HEAP32[$194>>2]|0; $196 = (($195) + 1)|0; HEAP32[$194>>2] = $196; HEAP32[$unionTab>>2] = $195; $197 = HEAP32[$v>>2]|0; $198 = HEAP32[$unionTab>>2]|0; - $199 = (_sqlite3VdbeAddOp2($197,105,$198,0)|0); + $199 = (_sqlite3VdbeAddOp2($197,107,$198,0)|0); HEAP32[$addr1>>2] = $199; $200 = HEAP32[$addr1>>2]|0; $201 = HEAP32[$2>>2]|0; @@ -199980,7 +204364,7 @@ function _multiSelect($pParse,$p,$pDest) { $209 = HEAP32[$unionTab>>2]|0; _sqlite3SelectDestInit($uniondest,$208,$209); $210 = HEAP32[$1>>2]|0; - $211 = ((($210)) + 472|0); + $211 = ((($210)) + 424|0); $212 = HEAP32[$211>>2]|0; HEAP32[$iSub1>>2] = $212; $213 = HEAP32[$1>>2]|0; @@ -200022,7 +204406,7 @@ function _multiSelect($pParse,$p,$pDest) { $235 = HEAP8[$op>>0]|0; HEAP8[$uniondest>>0] = $235; $236 = HEAP32[$1>>2]|0; - $237 = ((($236)) + 472|0); + $237 = ((($236)) + 424|0); $238 = HEAP32[$237>>2]|0; HEAP32[$iSub2>>2] = $238; $239 = HEAP32[$1>>2]|0; @@ -200128,7 +204512,7 @@ function _multiSelect($pParse,$p,$pDest) { $310 = HEAP32[$v>>2]|0; $311 = HEAP32[$unionTab>>2]|0; $312 = HEAP32[$iBreak>>2]|0; - (_sqlite3VdbeAddOp2($310,55,$311,$312)|0); + (_sqlite3VdbeAddOp2($310,57,$311,$312)|0); $313 = HEAP32[$v>>2]|0; $314 = (_sqlite3VdbeCurrentAddr($313)|0); HEAP32[$iStart>>2] = $314; @@ -200152,26 +204536,26 @@ function _multiSelect($pParse,$p,$pDest) { _sqlite3VdbeResolveLabel($327,$328); $329 = HEAP32[$v>>2]|0; $330 = HEAP32[$unionTab>>2]|0; - (_sqlite3VdbeAddOp2($329,109,$330,0)|0); + (_sqlite3VdbeAddOp2($329,111,$330,0)|0); break L13; break; } default: { $331 = HEAP32[$1>>2]|0; - $332 = ((($331)) + 72|0); + $332 = ((($331)) + 40|0); $333 = HEAP32[$332>>2]|0; $334 = (($333) + 1)|0; HEAP32[$332>>2] = $334; HEAP32[$tab1>>2] = $333; $335 = HEAP32[$1>>2]|0; - $336 = ((($335)) + 72|0); + $336 = ((($335)) + 40|0); $337 = HEAP32[$336>>2]|0; $338 = (($337) + 1)|0; HEAP32[$336>>2] = $338; HEAP32[$tab2>>2] = $337; $339 = HEAP32[$v>>2]|0; $340 = HEAP32[$tab1>>2]|0; - $341 = (_sqlite3VdbeAddOp2($339,105,$340,0)|0); + $341 = (_sqlite3VdbeAddOp2($339,107,$340,0)|0); HEAP32[$addr7>>2] = $341; $342 = HEAP32[$addr7>>2]|0; $343 = HEAP32[$2>>2]|0; @@ -200186,7 +204570,7 @@ function _multiSelect($pParse,$p,$pDest) { $350 = HEAP32[$tab1>>2]|0; _sqlite3SelectDestInit($intersectdest,1,$350); $351 = HEAP32[$1>>2]|0; - $352 = ((($351)) + 472|0); + $352 = ((($351)) + 424|0); $353 = HEAP32[$352>>2]|0; HEAP32[$iSub1>>2] = $353; $354 = HEAP32[$1>>2]|0; @@ -200200,7 +204584,7 @@ function _multiSelect($pParse,$p,$pDest) { } $359 = HEAP32[$v>>2]|0; $360 = HEAP32[$tab2>>2]|0; - $361 = (_sqlite3VdbeAddOp2($359,105,$360,0)|0); + $361 = (_sqlite3VdbeAddOp2($359,107,$360,0)|0); HEAP32[$addr7>>2] = $361; $362 = HEAP32[$addr7>>2]|0; $363 = HEAP32[$2>>2]|0; @@ -200225,10 +204609,10 @@ function _multiSelect($pParse,$p,$pDest) { $377 = ((($376)) + 60|0); HEAP32[$377>>2] = 0; $378 = HEAP32[$tab2>>2]|0; - $379 = ((($intersectdest)) + 4|0); + $379 = ((($intersectdest)) + 8|0); HEAP32[$379>>2] = $378; $380 = HEAP32[$1>>2]|0; - $381 = ((($380)) + 472|0); + $381 = ((($380)) + 424|0); $382 = HEAP32[$381>>2]|0; HEAP32[$iSub2>>2] = $382; $383 = HEAP32[$1>>2]|0; @@ -200313,14 +204697,14 @@ function _multiSelect($pParse,$p,$pDest) { $440 = HEAP32[$v>>2]|0; $441 = HEAP32[$tab1>>2]|0; $442 = HEAP32[$iBreak3>>2]|0; - (_sqlite3VdbeAddOp2($440,55,$441,$442)|0); + (_sqlite3VdbeAddOp2($440,57,$441,$442)|0); $443 = HEAP32[$1>>2]|0; $444 = (_sqlite3GetTempReg($443)|0); HEAP32[$r1>>2] = $444; $445 = HEAP32[$v>>2]|0; $446 = HEAP32[$tab1>>2]|0; $447 = HEAP32[$r1>>2]|0; - $448 = (_sqlite3VdbeAddOp2($445,119,$446,$447)|0); + $448 = (_sqlite3VdbeAddOp2($445,121,$446,$447)|0); HEAP32[$iStart4>>2] = $448; $449 = HEAP32[$v>>2]|0; $450 = HEAP32[$tab2>>2]|0; @@ -200350,10 +204734,10 @@ function _multiSelect($pParse,$p,$pDest) { _sqlite3VdbeResolveLabel($467,$468); $469 = HEAP32[$v>>2]|0; $470 = HEAP32[$tab2>>2]|0; - (_sqlite3VdbeAddOp2($469,109,$470,0)|0); + (_sqlite3VdbeAddOp2($469,111,$470,0)|0); $471 = HEAP32[$v>>2]|0; $472 = HEAP32[$tab1>>2]|0; - (_sqlite3VdbeAddOp2($471,109,$472,0)|0); + (_sqlite3VdbeAddOp2($471,111,$472,0)|0); break L13; } } @@ -200481,15 +204865,15 @@ function _multiSelect($pParse,$p,$pDest) { } } } while(0); - $549 = ((($dest)) + 8|0); + $549 = ((($dest)) + 12|0); $550 = HEAP32[$549>>2]|0; $551 = HEAP32[$3>>2]|0; - $552 = ((($551)) + 8|0); + $552 = ((($551)) + 12|0); HEAP32[$552>>2] = $550; - $553 = ((($dest)) + 12|0); + $553 = ((($dest)) + 16|0); $554 = HEAP32[$553>>2]|0; $555 = HEAP32[$3>>2]|0; - $556 = ((($555)) + 12|0); + $556 = ((($555)) + 16|0); HEAP32[$556>>2] = $554; $557 = HEAP32[$db>>2]|0; $558 = HEAP32[$pDelete>>2]|0; @@ -200671,7 +205055,7 @@ function _sqlite3ClearTempRegCache($pParse) { $2 = ((($1)) + 19|0); HEAP8[$2>>0] = 0; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 60|0); + $4 = ((($3)) + 28|0); HEAP32[$4>>2] = 0; STACKTOP = sp;return; } @@ -200817,7 +205201,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { STACKTOP = sp;return; } $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 76|0); + $13 = ((($12)) + 44|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + 1)|0; HEAP32[$13>>2] = $15; @@ -200838,7 +205222,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $25 = HEAP32[$v>>2]|0; $26 = HEAP32[$n>>2]|0; $27 = HEAP32[$iLimit>>2]|0; - (_sqlite3VdbeAddOp2($25,74,$26,$27)|0); + (_sqlite3VdbeAddOp2($25,76,$26,$27)|0); $28 = HEAP32[$n>>2]|0; $29 = ($28|0)==(0); if ($29) { @@ -200899,7 +205283,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { STACKTOP = sp;return; } $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 76|0); + $69 = ((($68)) + 44|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + 1)|0; HEAP32[$69>>2] = $71; @@ -200908,7 +205292,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $73 = ((($72)) + 16|0); HEAP32[$73>>2] = $71; $74 = HEAP32[$0>>2]|0; - $75 = ((($74)) + 76|0); + $75 = ((($74)) + 44|0); $76 = HEAP32[$75>>2]|0; $77 = (($76) + 1)|0; HEAP32[$75>>2] = $77; @@ -200926,7 +205310,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $87 = HEAP32[$iOffset>>2]|0; $88 = (($87) + 1)|0; $89 = HEAP32[$iOffset>>2]|0; - (_sqlite3VdbeAddOp3($85,144,$86,$88,$89)|0); + (_sqlite3VdbeAddOp3($85,146,$86,$88,$89)|0); STACKTOP = sp;return; } function _sqlite3VdbeChangeOpcode($p,$addr,$iNewOpcode) { @@ -200957,7 +205341,7 @@ function _sqlite3WhereOutputRowCount($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 32|0); + $2 = ((($1)) + 72|0); $3 = HEAP16[$2>>1]|0; STACKTOP = sp;return ($3|0); } @@ -200969,7 +205353,7 @@ function _sqlite3WhereIsDistinct($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 42|0); + $2 = ((($1)) + 47|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; STACKTOP = sp;return ($4|0); @@ -200982,11 +205366,24 @@ function _sqlite3WhereIsOrdered($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 38|0); + $2 = ((($1)) + 43|0); $3 = HEAP8[$2>>0]|0; $4 = $3 << 24 >> 24; STACKTOP = sp;return ($4|0); } +function _sqlite3WhereOrderedInnerLoop($pWInfo) { + $pWInfo = $pWInfo|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pWInfo; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 48|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3&255; + STACKTOP = sp;return ($4|0); +} function _sqlite3WhereContinueLabel($pWInfo) { $pWInfo = $pWInfo|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; @@ -200995,7 +205392,7 @@ function _sqlite3WhereContinueLabel($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 48|0); + $2 = ((($1)) + 28|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -201007,7 +205404,7 @@ function _sqlite3WhereBreakLabel($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 52|0); + $2 = ((($1)) + 32|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -201038,12 +205435,12 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $addr = 0, $addrTest = 0, $eDest = 0, $ecelFlags = 0, $hasDistinct = 0, $i = 0, $iJump = 0, $iParm = 0, $nKey = 0, $nPrefixReg = 0, $nResultCol = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pColl = 0, $pOp = 0, $pSO = 0, $r1 = 0, $r11 = 0; - var $r12 = 0, $r13 = 0, $r2 = 0, $r24 = 0, $r3 = 0, $regPrev = 0, $regResult = 0, $v = 0, label = 0, sp = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addrTest = 0, $eDest = 0; + var $ecelFlags = 0, $hasDistinct = 0, $i = 0, $iJump = 0, $iParm = 0, $nKey = 0, $nPrefixReg = 0, $nResultCol = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $pColl = 0, $pOp = 0, $pSO = 0, $r1 = 0, $r11 = 0, $r12 = 0, $r13 = 0, $r2 = 0, $r24 = 0; + var $r3 = 0, $regPrev = 0, $regResult = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $0 = sp + 124|0; @@ -201097,7 +205494,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $14 = $13&255; HEAP32[$eDest>>2] = $14; $15 = HEAP32[$6>>2]|0; - $16 = ((($15)) + 4|0); + $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; HEAP32[$iParm>>2] = $17; HEAP32[$nPrefixReg>>2] = 0; @@ -201140,7 +205537,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $40 = HEAP32[$39>>2]|0; HEAP32[$nResultCol>>2] = $40; $41 = HEAP32[$6>>2]|0; - $42 = ((($41)) + 8|0); + $42 = ((($41)) + 12|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)==(0); if ($44) { @@ -201164,38 +205561,38 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i } $58 = HEAP32[$nPrefixReg>>2]|0; $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 76|0); + $60 = ((($59)) + 44|0); $61 = HEAP32[$60>>2]|0; $62 = (($61) + ($58))|0; HEAP32[$60>>2] = $62; } $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 76|0); + $64 = ((($63)) + 44|0); $65 = HEAP32[$64>>2]|0; $66 = (($65) + 1)|0; $67 = HEAP32[$6>>2]|0; - $68 = ((($67)) + 8|0); + $68 = ((($67)) + 12|0); HEAP32[$68>>2] = $66; $69 = HEAP32[$nResultCol>>2]|0; $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 76|0); + $71 = ((($70)) + 44|0); $72 = HEAP32[$71>>2]|0; $73 = (($72) + ($69))|0; HEAP32[$71>>2] = $73; } else { $74 = HEAP32[$6>>2]|0; - $75 = ((($74)) + 8|0); + $75 = ((($74)) + 12|0); $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$nResultCol>>2]|0; $78 = (($76) + ($77))|0; $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 76|0); + $80 = ((($79)) + 44|0); $81 = HEAP32[$80>>2]|0; $82 = ($78|0)>($81|0); if ($82) { $83 = HEAP32[$nResultCol>>2]|0; $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 76|0); + $85 = ((($84)) + 44|0); $86 = HEAP32[$85>>2]|0; $87 = (($86) + ($83))|0; HEAP32[$85>>2] = $87; @@ -201203,10 +205600,10 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i } $88 = HEAP32[$nResultCol>>2]|0; $89 = HEAP32[$6>>2]|0; - $90 = ((($89)) + 12|0); + $90 = ((($89)) + 16|0); HEAP32[$90>>2] = $88; $91 = HEAP32[$6>>2]|0; - $92 = ((($91)) + 8|0); + $92 = ((($91)) + 12|0); $93 = HEAP32[$92>>2]|0; HEAP32[$regResult>>2] = $93; $94 = HEAP32[$3>>2]|0; @@ -201227,7 +205624,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $102 = HEAP32[$regResult>>2]|0; $103 = HEAP32[$i>>2]|0; $104 = (($102) + ($103))|0; - (_sqlite3VdbeAddOp3($99,94,$100,$101,$104)|0); + (_sqlite3VdbeAddOp3($99,96,$100,$101,$104)|0); $105 = HEAP32[$i>>2]|0; $106 = (($105) + 1)|0; HEAP32[$i>>2] = $106; @@ -201267,13 +205664,13 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i switch ($124|0) { case 2: { $125 = HEAP32[$0>>2]|0; - $126 = ((($125)) + 76|0); + $126 = ((($125)) + 44|0); $127 = HEAP32[$126>>2]|0; $128 = (($127) + 1)|0; HEAP32[$regPrev>>2] = $128; $129 = HEAP32[$nResultCol>>2]|0; $130 = HEAP32[$0>>2]|0; - $131 = ((($130)) + 76|0); + $131 = ((($130)) + 44|0); $132 = HEAP32[$131>>2]|0; $133 = (($132) + ($129))|0; HEAP32[$131>>2] = $133; @@ -201289,7 +205686,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $142 = (_sqlite3VdbeGetOp($138,$141)|0); HEAP32[$pOp>>2] = $142; $143 = HEAP32[$pOp>>2]|0; - HEAP8[$143>>0] = 77; + HEAP8[$143>>0] = 79; $144 = HEAP32[$pOp>>2]|0; $145 = ((($144)) + 4|0); HEAP32[$145>>2] = 1; @@ -201354,7 +205751,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $187 = HEAP32[$regPrev>>2]|0; $188 = HEAP32[$nResultCol>>2]|0; $189 = (($188) - 1)|0; - (_sqlite3VdbeAddOp3($185,82,$186,$187,$189)|0); + (_sqlite3VdbeAddOp3($185,84,$186,$187,$189)|0); break; } case 1: { @@ -201398,11 +205795,11 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $212 = HEAP32[$regResult>>2]|0; $213 = HEAP32[$nResultCol>>2]|0; $214 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($211,96,$212,$213,$214)|0); + (_sqlite3VdbeAddOp3($211,99,$212,$213,$214)|0); $215 = HEAP32[$v>>2]|0; $216 = HEAP32[$iParm>>2]|0; $217 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp2($215,124,$216,$217)|0); + (_sqlite3VdbeAddOp2($215,126,$216,$217)|0); $218 = HEAP32[$0>>2]|0; $219 = HEAP32[$r1>>2]|0; _sqlite3ReleaseTempReg($218,$219); @@ -201413,7 +205810,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $221 = HEAP32[$iParm>>2]|0; $222 = HEAP32[$regResult>>2]|0; $223 = HEAP32[$nResultCol>>2]|0; - (_sqlite3VdbeAddOp3($220,125,$221,$222,$223)|0); + (_sqlite3VdbeAddOp3($220,127,$221,$222,$223)|0); break; } case 12: case 14: case 6: case 5: { @@ -201428,7 +205825,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $231 = HEAP32[$r11>>2]|0; $232 = HEAP32[$nPrefixReg>>2]|0; $233 = (($231) + ($232))|0; - (_sqlite3VdbeAddOp3($228,96,$229,$230,$233)|0); + (_sqlite3VdbeAddOp3($228,99,$229,$230,$233)|0); $234 = HEAP32[$eDest>>2]|0; $235 = ($234|0)==(6); if ($235) { @@ -201446,7 +205843,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $245 = HEAP32[$iParm>>2]|0; $246 = (($245) + 1)|0; $247 = HEAP32[$r11>>2]|0; - (_sqlite3VdbeAddOp2($244,124,$246,$247)|0); + (_sqlite3VdbeAddOp2($244,126,$246,$247)|0); } $248 = HEAP32[$4>>2]|0; $249 = ($248|0)!=(0|0); @@ -201466,12 +205863,12 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i $259 = HEAP32[$v>>2]|0; $260 = HEAP32[$iParm>>2]|0; $261 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($259,112,$260,$261)|0); + (_sqlite3VdbeAddOp2($259,114,$260,$261)|0); $262 = HEAP32[$v>>2]|0; $263 = HEAP32[$iParm>>2]|0; $264 = HEAP32[$r11>>2]|0; $265 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp3($262,113,$263,$264,$265)|0); + (_sqlite3VdbeAddOp3($262,115,$263,$264,$265)|0); $266 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($266,8); $267 = HEAP32[$0>>2]|0; @@ -201486,237 +205883,232 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i break; } case 11: { - $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 4|0); - $275 = HEAP32[$274>>2]|0; - $276 = HEAP32[$275>>2]|0; - $277 = HEAP32[$6>>2]|0; - $278 = ((($277)) + 1|0); - $279 = HEAP8[$278>>0]|0; - $280 = (_sqlite3CompareAffinity($276,$279)|0); - $281 = HEAP32[$6>>2]|0; - $282 = ((($281)) + 1|0); - HEAP8[$282>>0] = $280; - $283 = HEAP32[$4>>2]|0; - $284 = ($283|0)!=(0|0); - $285 = HEAP32[$0>>2]|0; - if ($284) { - $286 = HEAP32[$4>>2]|0; - $287 = HEAP32[$1>>2]|0; - $288 = HEAP32[$regResult>>2]|0; - $289 = HEAP32[$regResult>>2]|0; - $290 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($285,$286,$287,$288,$289,1,$290); + $273 = HEAP32[$4>>2]|0; + $274 = ($273|0)!=(0|0); + $275 = HEAP32[$0>>2]|0; + if ($274) { + $276 = HEAP32[$4>>2]|0; + $277 = HEAP32[$1>>2]|0; + $278 = HEAP32[$regResult>>2]|0; + $279 = HEAP32[$regResult>>2]|0; + $280 = HEAP32[$nResultCol>>2]|0; + $281 = HEAP32[$nPrefixReg>>2]|0; + _pushOntoSorter($275,$276,$277,$278,$279,$280,$281); break L51; } else { - $291 = (_sqlite3GetTempReg($285)|0); - HEAP32[$r12>>2] = $291; - $292 = HEAP32[$v>>2]|0; - $293 = HEAP32[$regResult>>2]|0; - $294 = HEAP32[$r12>>2]|0; - $295 = HEAP32[$6>>2]|0; - $296 = ((($295)) + 1|0); - (_sqlite3VdbeAddOp4($292,96,$293,1,$294,$296,1)|0); + $282 = (_sqlite3GetTempReg($275)|0); + HEAP32[$r12>>2] = $282; + $283 = HEAP32[$v>>2]|0; + $284 = HEAP32[$regResult>>2]|0; + $285 = HEAP32[$nResultCol>>2]|0; + $286 = HEAP32[$r12>>2]|0; + $287 = HEAP32[$6>>2]|0; + $288 = ((($287)) + 4|0); + $289 = HEAP32[$288>>2]|0; + $290 = HEAP32[$nResultCol>>2]|0; + (_sqlite3VdbeAddOp4($283,99,$284,$285,$286,$289,$290)|0); + $291 = HEAP32[$0>>2]|0; + $292 = HEAP32[$regResult>>2]|0; + $293 = HEAP32[$nResultCol>>2]|0; + _sqlite3ExprCacheAffinityChange($291,$292,$293); + $294 = HEAP32[$v>>2]|0; + $295 = HEAP32[$iParm>>2]|0; + $296 = HEAP32[$r12>>2]|0; + (_sqlite3VdbeAddOp2($294,126,$295,$296)|0); $297 = HEAP32[$0>>2]|0; - $298 = HEAP32[$regResult>>2]|0; - _sqlite3ExprCacheAffinityChange($297,$298,1); - $299 = HEAP32[$v>>2]|0; - $300 = HEAP32[$iParm>>2]|0; - $301 = HEAP32[$r12>>2]|0; - (_sqlite3VdbeAddOp2($299,124,$300,$301)|0); - $302 = HEAP32[$0>>2]|0; - $303 = HEAP32[$r12>>2]|0; - _sqlite3ReleaseTempReg($302,$303); + $298 = HEAP32[$r12>>2]|0; + _sqlite3ReleaseTempReg($297,$298); break L51; } break; } case 3: { - $304 = HEAP32[$v>>2]|0; - $305 = HEAP32[$iParm>>2]|0; - (_sqlite3VdbeAddOp2($304,74,1,$305)|0); + $299 = HEAP32[$v>>2]|0; + $300 = HEAP32[$iParm>>2]|0; + (_sqlite3VdbeAddOp2($299,76,1,$300)|0); break; } case 10: { - $306 = HEAP32[$4>>2]|0; - $307 = ($306|0)!=(0|0); - if ($307) { - $308 = HEAP32[$0>>2]|0; - $309 = HEAP32[$4>>2]|0; - $310 = HEAP32[$1>>2]|0; - $311 = HEAP32[$regResult>>2]|0; - $312 = HEAP32[$regResult>>2]|0; - $313 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($308,$309,$310,$311,$312,1,$313); + $301 = HEAP32[$4>>2]|0; + $302 = ($301|0)!=(0|0); + if ($302) { + $303 = HEAP32[$0>>2]|0; + $304 = HEAP32[$4>>2]|0; + $305 = HEAP32[$1>>2]|0; + $306 = HEAP32[$regResult>>2]|0; + $307 = HEAP32[$regResult>>2]|0; + $308 = HEAP32[$nResultCol>>2]|0; + $309 = HEAP32[$nPrefixReg>>2]|0; + _pushOntoSorter($303,$304,$305,$306,$307,$308,$309); } break; } case 9: case 13: { - $314 = HEAP32[$4>>2]|0; - $315 = ($314|0)!=(0|0); - if ($315) { - $316 = HEAP32[$0>>2]|0; - $317 = HEAP32[$4>>2]|0; - $318 = HEAP32[$1>>2]|0; - $319 = HEAP32[$regResult>>2]|0; - $320 = HEAP32[$regResult>>2]|0; - $321 = HEAP32[$nResultCol>>2]|0; - $322 = HEAP32[$nPrefixReg>>2]|0; - _pushOntoSorter($316,$317,$318,$319,$320,$321,$322); + $310 = HEAP32[$4>>2]|0; + $311 = ($310|0)!=(0|0); + if ($311) { + $312 = HEAP32[$0>>2]|0; + $313 = HEAP32[$4>>2]|0; + $314 = HEAP32[$1>>2]|0; + $315 = HEAP32[$regResult>>2]|0; + $316 = HEAP32[$regResult>>2]|0; + $317 = HEAP32[$nResultCol>>2]|0; + $318 = HEAP32[$nPrefixReg>>2]|0; + _pushOntoSorter($312,$313,$314,$315,$316,$317,$318); break L51; } - $323 = HEAP32[$eDest>>2]|0; - $324 = ($323|0)==(13); - $325 = HEAP32[$v>>2]|0; - if ($324) { - $326 = HEAP32[$6>>2]|0; - $327 = ((($326)) + 4|0); - $328 = HEAP32[$327>>2]|0; - (_sqlite3VdbeAddOp1($325,16,$328)|0); + $319 = HEAP32[$eDest>>2]|0; + $320 = ($319|0)==(13); + $321 = HEAP32[$v>>2]|0; + if ($320) { + $322 = HEAP32[$6>>2]|0; + $323 = ((($322)) + 8|0); + $324 = HEAP32[$323>>2]|0; + (_sqlite3VdbeAddOp1($321,16,$324)|0); break L51; } else { - $329 = HEAP32[$regResult>>2]|0; - $330 = HEAP32[$nResultCol>>2]|0; - (_sqlite3VdbeAddOp2($325,85,$329,$330)|0); - $331 = HEAP32[$0>>2]|0; - $332 = HEAP32[$regResult>>2]|0; - $333 = HEAP32[$nResultCol>>2]|0; - _sqlite3ExprCacheAffinityChange($331,$332,$333); + $325 = HEAP32[$regResult>>2]|0; + $326 = HEAP32[$nResultCol>>2]|0; + (_sqlite3VdbeAddOp2($321,87,$325,$326)|0); + $327 = HEAP32[$0>>2]|0; + $328 = HEAP32[$regResult>>2]|0; + $329 = HEAP32[$nResultCol>>2]|0; + _sqlite3ExprCacheAffinityChange($327,$328,$329); break L51; } break; } case 7: case 8: { HEAP32[$addrTest>>2] = 0; - $334 = HEAP32[$6>>2]|0; - $335 = ((($334)) + 16|0); - $336 = HEAP32[$335>>2]|0; - HEAP32[$pSO>>2] = $336; - $337 = HEAP32[$pSO>>2]|0; - $338 = HEAP32[$337>>2]|0; - HEAP32[$nKey>>2] = $338; - $339 = HEAP32[$0>>2]|0; - $340 = (_sqlite3GetTempReg($339)|0); - HEAP32[$r13>>2] = $340; - $341 = HEAP32[$0>>2]|0; + $330 = HEAP32[$6>>2]|0; + $331 = ((($330)) + 20|0); + $332 = HEAP32[$331>>2]|0; + HEAP32[$pSO>>2] = $332; + $333 = HEAP32[$pSO>>2]|0; + $334 = HEAP32[$333>>2]|0; + HEAP32[$nKey>>2] = $334; + $335 = HEAP32[$0>>2]|0; + $336 = (_sqlite3GetTempReg($335)|0); + HEAP32[$r13>>2] = $336; + $337 = HEAP32[$0>>2]|0; + $338 = HEAP32[$nKey>>2]|0; + $339 = (($338) + 2)|0; + $340 = (_sqlite3GetTempRange($337,$339)|0); + HEAP32[$r24>>2] = $340; + $341 = HEAP32[$r24>>2]|0; $342 = HEAP32[$nKey>>2]|0; - $343 = (($342) + 2)|0; - $344 = (_sqlite3GetTempRange($341,$343)|0); - HEAP32[$r24>>2] = $344; - $345 = HEAP32[$r24>>2]|0; - $346 = HEAP32[$nKey>>2]|0; - $347 = (($345) + ($346))|0; - $348 = (($347) + 1)|0; - HEAP32[$r3>>2] = $348; - $349 = HEAP32[$eDest>>2]|0; - $350 = ($349|0)==(8); - if ($350) { - $351 = HEAP32[$v>>2]|0; - $352 = HEAP32[$iParm>>2]|0; - $353 = (($352) + 1)|0; - $354 = HEAP32[$regResult>>2]|0; - $355 = HEAP32[$nResultCol>>2]|0; - $356 = (_sqlite3VdbeAddOp4Int($351,31,$353,0,$354,$355)|0); - HEAP32[$addrTest>>2] = $356; - } - $357 = HEAP32[$v>>2]|0; - $358 = HEAP32[$regResult>>2]|0; - $359 = HEAP32[$nResultCol>>2]|0; - $360 = HEAP32[$r3>>2]|0; - (_sqlite3VdbeAddOp3($357,96,$358,$359,$360)|0); - $361 = HEAP32[$eDest>>2]|0; - $362 = ($361|0)==(8); - if ($362) { + $343 = (($341) + ($342))|0; + $344 = (($343) + 1)|0; + HEAP32[$r3>>2] = $344; + $345 = HEAP32[$eDest>>2]|0; + $346 = ($345|0)==(8); + if ($346) { + $347 = HEAP32[$v>>2]|0; + $348 = HEAP32[$iParm>>2]|0; + $349 = (($348) + 1)|0; + $350 = HEAP32[$regResult>>2]|0; + $351 = HEAP32[$nResultCol>>2]|0; + $352 = (_sqlite3VdbeAddOp4Int($347,31,$349,0,$350,$351)|0); + HEAP32[$addrTest>>2] = $352; + } + $353 = HEAP32[$v>>2]|0; + $354 = HEAP32[$regResult>>2]|0; + $355 = HEAP32[$nResultCol>>2]|0; + $356 = HEAP32[$r3>>2]|0; + (_sqlite3VdbeAddOp3($353,99,$354,$355,$356)|0); + $357 = HEAP32[$eDest>>2]|0; + $358 = ($357|0)==(8); + if ($358) { + $359 = HEAP32[$v>>2]|0; + $360 = HEAP32[$iParm>>2]|0; + $361 = (($360) + 1)|0; + $362 = HEAP32[$r3>>2]|0; + (_sqlite3VdbeAddOp2($359,126,$361,$362)|0); $363 = HEAP32[$v>>2]|0; - $364 = HEAP32[$iParm>>2]|0; - $365 = (($364) + 1)|0; - $366 = HEAP32[$r3>>2]|0; - (_sqlite3VdbeAddOp2($363,124,$365,$366)|0); - $367 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($367,16); + _sqlite3VdbeChangeP5($363,16); } HEAP32[$i>>2] = 0; while(1) { - $368 = HEAP32[$i>>2]|0; - $369 = HEAP32[$nKey>>2]|0; - $370 = ($368|0)<($369|0); - $371 = HEAP32[$v>>2]|0; - if (!($370)) { + $364 = HEAP32[$i>>2]|0; + $365 = HEAP32[$nKey>>2]|0; + $366 = ($364|0)<($365|0); + $367 = HEAP32[$v>>2]|0; + if (!($366)) { break; } - $372 = HEAP32[$regResult>>2]|0; - $373 = HEAP32[$i>>2]|0; - $374 = HEAP32[$pSO>>2]|0; - $375 = ((($374)) + 4|0); - $376 = HEAP32[$375>>2]|0; - $377 = (($376) + (($373*20)|0)|0); - $378 = ((($377)) + 16|0); - $379 = HEAP16[$378>>1]|0; - $380 = $379&65535; - $381 = (($372) + ($380))|0; - $382 = (($381) - 1)|0; - $383 = HEAP32[$r24>>2]|0; - $384 = HEAP32[$i>>2]|0; - $385 = (($383) + ($384))|0; - (_sqlite3VdbeAddOp2($371,83,$382,$385)|0); - $386 = HEAP32[$i>>2]|0; - $387 = (($386) + 1)|0; - HEAP32[$i>>2] = $387; - } - $388 = HEAP32[$iParm>>2]|0; + $368 = HEAP32[$regResult>>2]|0; + $369 = HEAP32[$i>>2]|0; + $370 = HEAP32[$pSO>>2]|0; + $371 = ((($370)) + 4|0); + $372 = HEAP32[$371>>2]|0; + $373 = (($372) + (($369*20)|0)|0); + $374 = ((($373)) + 16|0); + $375 = HEAP16[$374>>1]|0; + $376 = $375&65535; + $377 = (($368) + ($376))|0; + $378 = (($377) - 1)|0; + $379 = HEAP32[$r24>>2]|0; + $380 = HEAP32[$i>>2]|0; + $381 = (($379) + ($380))|0; + (_sqlite3VdbeAddOp2($367,85,$378,$381)|0); + $382 = HEAP32[$i>>2]|0; + $383 = (($382) + 1)|0; + HEAP32[$i>>2] = $383; + } + $384 = HEAP32[$iParm>>2]|0; + $385 = HEAP32[$r24>>2]|0; + $386 = HEAP32[$nKey>>2]|0; + $387 = (($385) + ($386))|0; + (_sqlite3VdbeAddOp2($367,113,$384,$387)|0); + $388 = HEAP32[$v>>2]|0; $389 = HEAP32[$r24>>2]|0; $390 = HEAP32[$nKey>>2]|0; - $391 = (($389) + ($390))|0; - (_sqlite3VdbeAddOp2($371,111,$388,$391)|0); - $392 = HEAP32[$v>>2]|0; - $393 = HEAP32[$r24>>2]|0; - $394 = HEAP32[$nKey>>2]|0; - $395 = (($394) + 2)|0; - $396 = HEAP32[$r13>>2]|0; - (_sqlite3VdbeAddOp3($392,96,$393,$395,$396)|0); - $397 = HEAP32[$v>>2]|0; - $398 = HEAP32[$iParm>>2]|0; - $399 = HEAP32[$r13>>2]|0; - (_sqlite3VdbeAddOp2($397,124,$398,$399)|0); - $400 = HEAP32[$addrTest>>2]|0; - $401 = ($400|0)!=(0); - if ($401) { - $402 = HEAP32[$v>>2]|0; - $403 = HEAP32[$addrTest>>2]|0; - _sqlite3VdbeJumpHere($402,$403); - } - $404 = HEAP32[$0>>2]|0; - $405 = HEAP32[$r13>>2]|0; - _sqlite3ReleaseTempReg($404,$405); - $406 = HEAP32[$0>>2]|0; - $407 = HEAP32[$r24>>2]|0; - $408 = HEAP32[$nKey>>2]|0; - $409 = (($408) + 2)|0; - _sqlite3ReleaseTempRange($406,$407,$409); + $391 = (($390) + 2)|0; + $392 = HEAP32[$r13>>2]|0; + (_sqlite3VdbeAddOp3($388,99,$389,$391,$392)|0); + $393 = HEAP32[$v>>2]|0; + $394 = HEAP32[$iParm>>2]|0; + $395 = HEAP32[$r13>>2]|0; + (_sqlite3VdbeAddOp2($393,126,$394,$395)|0); + $396 = HEAP32[$addrTest>>2]|0; + $397 = ($396|0)!=(0); + if ($397) { + $398 = HEAP32[$v>>2]|0; + $399 = HEAP32[$addrTest>>2]|0; + _sqlite3VdbeJumpHere($398,$399); + } + $400 = HEAP32[$0>>2]|0; + $401 = HEAP32[$r13>>2]|0; + _sqlite3ReleaseTempReg($400,$401); + $402 = HEAP32[$0>>2]|0; + $403 = HEAP32[$r24>>2]|0; + $404 = HEAP32[$nKey>>2]|0; + $405 = (($404) + 2)|0; + _sqlite3ReleaseTempRange($402,$403,$405); break; } default: { } } } while(0); - $410 = HEAP32[$4>>2]|0; - $411 = ($410|0)==(0|0); - if (!($411)) { + $406 = HEAP32[$4>>2]|0; + $407 = ($406|0)==(0|0); + if (!($407)) { STACKTOP = sp;return; } - $412 = HEAP32[$1>>2]|0; - $413 = ((($412)) + 12|0); - $414 = HEAP32[$413>>2]|0; - $415 = ($414|0)!=(0); - if (!($415)) { + $408 = HEAP32[$1>>2]|0; + $409 = ((($408)) + 12|0); + $410 = HEAP32[$409>>2]|0; + $411 = ($410|0)!=(0); + if (!($411)) { STACKTOP = sp;return; } - $416 = HEAP32[$v>>2]|0; - $417 = HEAP32[$1>>2]|0; - $418 = ((($417)) + 12|0); - $419 = HEAP32[$418>>2]|0; - $420 = HEAP32[$8>>2]|0; - (_sqlite3VdbeAddOp2($416,66,$419,$420)|0); + $412 = HEAP32[$v>>2]|0; + $413 = HEAP32[$1>>2]|0; + $414 = ((($413)) + 12|0); + $415 = HEAP32[$414>>2]|0; + $416 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp2($412,68,$415,$416)|0); STACKTOP = sp;return; } function _sqlite3ExprAnalyzeAggList($pNC,$pList) { @@ -201776,9 +206168,9 @@ function _sqlite3ExprAnalyzeAggregates($pNC,$pExpr) { HEAP32[$1>>2] = $pExpr; ;HEAP32[$w>>2]=0|0;HEAP32[$w+4>>2]=0|0;HEAP32[$w+8>>2]=0|0;HEAP32[$w+12>>2]=0|0;HEAP32[$w+16>>2]=0|0;HEAP32[$w+20>>2]=0|0;HEAP32[$w+24>>2]=0|0; $2 = ((($w)) + 4|0); - HEAP32[$2>>2] = 202; + HEAP32[$2>>2] = 203; $3 = ((($w)) + 8|0); - HEAP32[$3>>2] = 203; + HEAP32[$3>>2] = 204; $4 = HEAP32[$0>>2]|0; $5 = ((($w)) + 24|0); HEAP32[$5>>2] = $4; @@ -201801,7 +206193,7 @@ function _explainTempTable($pParse,$zUsage) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $zUsage; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 453|0); + $3 = ((($2)) + 409|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==(2); @@ -201816,14 +206208,14 @@ function _explainTempTable($pParse,$zUsage) { $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $12; - $13 = (_sqlite3MPrintf($11,36293,$vararg_buffer)|0); + $13 = (_sqlite3MPrintf($11,35808,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $13; $14 = HEAP32[$v>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 468|0); + $16 = ((($15)) + 420|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($14,160,$17,0,0,$18,-1)|0); + (_sqlite3VdbeAddOp4($14,162,$17,0,0,$18,-1)|0); STACKTOP = sp;return; } function _sqlite3WhereIsSorted($pWInfo) { @@ -201834,7 +206226,7 @@ function _sqlite3WhereIsSorted($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 39|0); + $2 = ((($1)) + 44|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; STACKTOP = sp;return ($4|0); @@ -201861,7 +206253,7 @@ function _sqlite3ExprCodeMove($pParse,$iFrom,$iTo,$nReg) { $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($6,81,$7,$8,$9)|0); + (_sqlite3VdbeAddOp3($6,83,$7,$8,$9)|0); $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$1>>2]|0; $12 = HEAP32[$3>>2]|0; @@ -202017,7 +206409,7 @@ function _updateAccumulator($pParse,$pAggInfo) { $75 = ($74|0)!=(0); if ($75) { $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 76|0); + $77 = ((($76)) + 44|0); $78 = HEAP32[$77>>2]|0; $79 = (($78) + 1)|0; HEAP32[$77>>2] = $79; @@ -202027,7 +206419,7 @@ function _updateAccumulator($pParse,$pAggInfo) { $80 = HEAP32[$v>>2]|0; $81 = HEAP32[$regHit>>2]|0; $82 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($80,86,$81,0,0,$82,-4)|0); + (_sqlite3VdbeAddOp4($80,88,$81,0,0,$82,-4)|0); } $83 = HEAP32[$v>>2]|0; $84 = HEAP32[$regAgg>>2]|0; @@ -202037,7 +206429,7 @@ function _updateAccumulator($pParse,$pAggInfo) { $88 = HEAP32[$pF>>2]|0; $89 = ((($88)) + 4|0); $90 = HEAP32[$89>>2]|0; - (_sqlite3VdbeAddOp4($83,145,0,$84,$87,$90,-5)|0); + (_sqlite3VdbeAddOp4($83,147,0,$84,$87,$90,-5)|0); $91 = HEAP32[$v>>2]|0; $92 = HEAP32[$nArg>>2]|0; $93 = $92&255; @@ -202173,7 +206565,7 @@ function _finalizeAggFunctions($pParse,$pAggInfo) { $25 = HEAP32[$pF>>2]|0; $26 = ((($25)) + 4|0); $27 = HEAP32[$26>>2]|0; - (_sqlite3VdbeAddOp4($17,147,$20,$28,0,$27,-5)|0); + (_sqlite3VdbeAddOp4($17,149,$20,$28,0,$27,-5)|0); $29 = HEAP32[$i>>2]|0; $30 = (($29) + 1)|0; HEAP32[$i>>2] = $30; @@ -202227,7 +206619,7 @@ function _resetAccumulator($pParse,$pAggInfo) { $18 = HEAP32[$1>>2]|0; $19 = ((($18)) + 20|0); $20 = HEAP32[$19>>2]|0; - (_sqlite3VdbeAddOp3($14,77,0,$17,$20)|0); + (_sqlite3VdbeAddOp3($14,79,0,$17,$20)|0); $21 = HEAP32[$1>>2]|0; $22 = ((($21)) + 40|0); $23 = HEAP32[$22>>2]|0; @@ -202273,12 +206665,12 @@ function _resetAccumulator($pParse,$pAggInfo) { $54 = ((($53)) + 12|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$pKeyInfo>>2]|0; - (_sqlite3VdbeAddOp4($52,105,$55,0,0,$56,-6)|0); + (_sqlite3VdbeAddOp4($52,107,$55,0,0,$56,-6)|0); break; } } $44 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($44,36242,$vararg_buffer); + _sqlite3ErrorMsg($44,35757,$vararg_buffer); $45 = HEAP32[$pFunc>>2]|0; $46 = ((($45)) + 12|0); HEAP32[$46>>2] = -1; @@ -202432,7 +206824,7 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $pIdx; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 453|0); + $4 = ((($3)) + 409|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)==(2); @@ -202471,7 +206863,7 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$bCover>>2]|0; $30 = ($29|0)!=(0); - $31 = $30 ? 36201 : 19018; + $31 = $30 ? 35716 : 18402; $32 = HEAP32[$bCover>>2]|0; $33 = ($32|0)!=(0); if ($33) { @@ -202479,23 +206871,23 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $35 = HEAP32[$34>>2]|0; $36 = $35; } else { - $36 = 19018; + $36 = 18402; } HEAP32[$vararg_buffer>>2] = $28; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $31; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $36; - $37 = (_sqlite3MPrintf($26,36224,$vararg_buffer)|0); + $37 = (_sqlite3MPrintf($26,35739,$vararg_buffer)|0); HEAP32[$zEqp>>2] = $37; $38 = HEAP32[$0>>2]|0; $39 = ((($38)) + 8|0); $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 468|0); + $42 = ((($41)) + 420|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$zEqp>>2]|0; - (_sqlite3VdbeAddOp4($40,160,$43,0,0,$44,-1)|0); + (_sqlite3VdbeAddOp4($40,162,$43,0,0,$44,-1)|0); STACKTOP = sp;return; } function _minMaxQuery($pAggInfo,$ppMinMax) { @@ -202552,7 +206944,7 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { $28 = HEAP32[$27>>2]|0; HEAP32[$zFunc>>2] = $28; $29 = HEAP32[$zFunc>>2]|0; - $30 = (_sqlite3StrICmp($29,36193)|0); + $30 = (_sqlite3StrICmp($29,35708)|0); $31 = ($30|0)==(0); if ($31) { HEAP32[$eRet>>2] = 1; @@ -202562,7 +206954,7 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { break; } $34 = HEAP32[$zFunc>>2]|0; - $35 = (_sqlite3StrICmp($34,36197)|0); + $35 = (_sqlite3StrICmp($34,35712)|0); $36 = ($35|0)==(0); if ($36) { HEAP32[$eRet>>2] = 2; @@ -202590,12 +206982,13 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addrBreak = 0, $addrContinue = 0, $addrOnce = 0, $bSeq = 0, $eDest = 0, $i = 0; - var $iParm = 0, $iSortTab = 0, $iTab = 0, $nKey = 0, $nSortData = 0, $or$cond = 0, $pOrderBy = 0, $regRow = 0, $regRowid = 0, $regSortOut = 0, $v = 0, label = 0, sp = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $addr = 0, $addrBreak = 0, $addrContinue = 0, $addrOnce = 0, $bSeq = 0, $eDest = 0, $i = 0, $iParm = 0, $iSortTab = 0, $iTab = 0, $nKey = 0, $nSortData = 0, $or$cond = 0, $or$cond3 = 0, $pOrderBy = 0, $regRow = 0, $regRowid = 0, $regSortOut = 0, $v = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $0 = sp + 84|0; @@ -202645,7 +207038,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { $17 = $16&255; HEAP32[$eDest>>2] = $17; $18 = HEAP32[$4>>2]|0; - $19 = ((($18)) + 4|0); + $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; HEAP32[$iParm>>2] = $20; $21 = HEAP32[$2>>2]|0; @@ -202679,242 +207072,254 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { $43 = HEAP32[$eDest>>2]|0; $44 = ($43|0)==(13); $or$cond = $42 | $44; - if ($or$cond) { + $45 = HEAP32[$eDest>>2]|0; + $46 = ($45|0)==(10); + $or$cond3 = $or$cond | $46; + if ($or$cond3) { HEAP32[$regRowid>>2] = 0; - $45 = HEAP32[$4>>2]|0; - $46 = ((($45)) + 8|0); - $47 = HEAP32[$46>>2]|0; - HEAP32[$regRow>>2] = $47; - $48 = HEAP32[$3>>2]|0; - HEAP32[$nSortData>>2] = $48; + $47 = HEAP32[$4>>2]|0; + $48 = ((($47)) + 12|0); + $49 = HEAP32[$48>>2]|0; + HEAP32[$regRow>>2] = $49; + $50 = HEAP32[$3>>2]|0; + HEAP32[$nSortData>>2] = $50; } else { - $49 = HEAP32[$0>>2]|0; - $50 = (_sqlite3GetTempReg($49)|0); - HEAP32[$regRowid>>2] = $50; $51 = HEAP32[$0>>2]|0; $52 = (_sqlite3GetTempReg($51)|0); - HEAP32[$regRow>>2] = $52; - HEAP32[$nSortData>>2] = 1; + HEAP32[$regRowid>>2] = $52; + $53 = HEAP32[$0>>2]|0; + $54 = HEAP32[$3>>2]|0; + $55 = (_sqlite3GetTempRange($53,$54)|0); + HEAP32[$regRow>>2] = $55; + $56 = HEAP32[$3>>2]|0; + HEAP32[$nSortData>>2] = $56; } - $53 = HEAP32[$pOrderBy>>2]|0; - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($54) - ($57))|0; - HEAP32[$nKey>>2] = $58; + $57 = HEAP32[$pOrderBy>>2]|0; + $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 28|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = $62 & 1; - $64 = ($63|0)!=(0); - if ($64) { - $65 = HEAP32[$0>>2]|0; - $66 = ((($65)) + 76|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - HEAP32[$regSortOut>>2] = $68; + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($58) - ($61))|0; + HEAP32[$nKey>>2] = $62; + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 28|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 & 1; + $68 = ($67|0)!=(0); + if ($68) { $69 = HEAP32[$0>>2]|0; - $70 = ((($69)) + 72|0); + $70 = ((($69)) + 44|0); $71 = HEAP32[$70>>2]|0; $72 = (($71) + 1)|0; HEAP32[$70>>2] = $72; - HEAP32[$iSortTab>>2] = $71; - $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 16|0); + HEAP32[$regSortOut>>2] = $72; + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 40|0); $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)!=(0); - if ($76) { - $77 = HEAP32[$0>>2]|0; - $78 = (_sqlite3CodeOnce($77)|0); - HEAP32[$addrOnce>>2] = $78; - } - $79 = HEAP32[$v>>2]|0; - $80 = HEAP32[$iSortTab>>2]|0; - $81 = HEAP32[$regSortOut>>2]|0; - $82 = HEAP32[$nKey>>2]|0; - $83 = (($82) + 1)|0; - $84 = HEAP32[$nSortData>>2]|0; - $85 = (($83) + ($84))|0; - (_sqlite3VdbeAddOp3($79,108,$80,$81,$85)|0); - $86 = HEAP32[$addrOnce>>2]|0; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$v>>2]|0; - $89 = HEAP32[$addrOnce>>2]|0; - _sqlite3VdbeJumpHere($88,$89); + $76 = (($75) + 1)|0; + HEAP32[$74>>2] = $76; + HEAP32[$iSortTab>>2] = $75; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 16|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0); + if ($80) { + $81 = HEAP32[$v>>2]|0; + $82 = (_sqlite3VdbeAddOp0($81,20)|0); + HEAP32[$addrOnce>>2] = $82; } - $90 = HEAP32[$v>>2]|0; - $91 = HEAP32[$iTab>>2]|0; - $92 = HEAP32[$addrBreak>>2]|0; - $93 = (_sqlite3VdbeAddOp2($90,42,$91,$92)|0); - $94 = (1 + ($93))|0; - HEAP32[$addr>>2] = $94; - $95 = HEAP32[$v>>2]|0; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 16|0); - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$addrContinue>>2]|0; - _codeOffset($95,$98,$99); - $100 = HEAP32[$v>>2]|0; - $101 = HEAP32[$iTab>>2]|0; - $102 = HEAP32[$regSortOut>>2]|0; - $103 = HEAP32[$iSortTab>>2]|0; - (_sqlite3VdbeAddOp3($100,118,$101,$102,$103)|0); - HEAP32[$bSeq>>2] = 0; - } else { + $83 = HEAP32[$v>>2]|0; + $84 = HEAP32[$iSortTab>>2]|0; + $85 = HEAP32[$regSortOut>>2]|0; + $86 = HEAP32[$nKey>>2]|0; + $87 = (($86) + 1)|0; + $88 = HEAP32[$nSortData>>2]|0; + $89 = (($87) + ($88))|0; + (_sqlite3VdbeAddOp3($83,110,$84,$85,$89)|0); + $90 = HEAP32[$addrOnce>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$v>>2]|0; + $93 = HEAP32[$addrOnce>>2]|0; + _sqlite3VdbeJumpHere($92,$93); + } + $94 = HEAP32[$v>>2]|0; + $95 = HEAP32[$iTab>>2]|0; + $96 = HEAP32[$addrBreak>>2]|0; + $97 = (_sqlite3VdbeAddOp2($94,55,$95,$96)|0); + $98 = (1 + ($97))|0; + HEAP32[$addr>>2] = $98; + $99 = HEAP32[$v>>2]|0; + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 16|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$addrContinue>>2]|0; + _codeOffset($99,$102,$103); $104 = HEAP32[$v>>2]|0; $105 = HEAP32[$iTab>>2]|0; - $106 = HEAP32[$addrBreak>>2]|0; - $107 = (_sqlite3VdbeAddOp2($104,53,$105,$106)|0); - $108 = (1 + ($107))|0; - HEAP32[$addr>>2] = $108; - $109 = HEAP32[$v>>2]|0; - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 16|0); - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$addrContinue>>2]|0; - _codeOffset($109,$112,$113); - $114 = HEAP32[$iTab>>2]|0; - HEAP32[$iSortTab>>2] = $114; + $106 = HEAP32[$regSortOut>>2]|0; + $107 = HEAP32[$iSortTab>>2]|0; + (_sqlite3VdbeAddOp3($104,120,$105,$106,$107)|0); + HEAP32[$bSeq>>2] = 0; + } else { + $108 = HEAP32[$v>>2]|0; + $109 = HEAP32[$iTab>>2]|0; + $110 = HEAP32[$addrBreak>>2]|0; + $111 = (_sqlite3VdbeAddOp2($108,56,$109,$110)|0); + $112 = (1 + ($111))|0; + HEAP32[$addr>>2] = $112; + $113 = HEAP32[$v>>2]|0; + $114 = HEAP32[$1>>2]|0; + $115 = ((($114)) + 16|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$addrContinue>>2]|0; + _codeOffset($113,$116,$117); + $118 = HEAP32[$iTab>>2]|0; + HEAP32[$iSortTab>>2] = $118; HEAP32[$bSeq>>2] = 1; } HEAP32[$i>>2] = 0; while(1) { - $115 = HEAP32[$i>>2]|0; - $116 = HEAP32[$nSortData>>2]|0; - $117 = ($115|0)<($116|0); - if (!($117)) { + $119 = HEAP32[$i>>2]|0; + $120 = HEAP32[$nSortData>>2]|0; + $121 = ($119|0)<($120|0); + if (!($121)) { break; } - $118 = HEAP32[$v>>2]|0; - $119 = HEAP32[$iSortTab>>2]|0; - $120 = HEAP32[$nKey>>2]|0; - $121 = HEAP32[$bSeq>>2]|0; - $122 = (($120) + ($121))|0; - $123 = HEAP32[$i>>2]|0; - $124 = (($122) + ($123))|0; - $125 = HEAP32[$regRow>>2]|0; - $126 = HEAP32[$i>>2]|0; - $127 = (($125) + ($126))|0; - (_sqlite3VdbeAddOp3($118,94,$119,$124,$127)|0); - $128 = HEAP32[$i>>2]|0; - $129 = (($128) + 1)|0; - HEAP32[$i>>2] = $129; + $122 = HEAP32[$v>>2]|0; + $123 = HEAP32[$iSortTab>>2]|0; + $124 = HEAP32[$nKey>>2]|0; + $125 = HEAP32[$bSeq>>2]|0; + $126 = (($124) + ($125))|0; + $127 = HEAP32[$i>>2]|0; + $128 = (($126) + ($127))|0; + $129 = HEAP32[$regRow>>2]|0; + $130 = HEAP32[$i>>2]|0; + $131 = (($129) + ($130))|0; + (_sqlite3VdbeAddOp3($122,96,$123,$128,$131)|0); + $132 = HEAP32[$i>>2]|0; + $133 = (($132) + 1)|0; + HEAP32[$i>>2] = $133; } - $130 = HEAP32[$eDest>>2]|0; + $134 = HEAP32[$eDest>>2]|0; L22: do { - switch ($130|0) { + switch ($134|0) { case 12: { - $131 = HEAP32[$v>>2]|0; - $132 = HEAP32[$iParm>>2]|0; - $133 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($131,112,$132,$133)|0); - $134 = HEAP32[$v>>2]|0; - $135 = HEAP32[$iParm>>2]|0; - $136 = HEAP32[$regRow>>2]|0; + $135 = HEAP32[$v>>2]|0; + $136 = HEAP32[$iParm>>2]|0; $137 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($134,113,$135,$136,$137)|0); + (_sqlite3VdbeAddOp2($135,114,$136,$137)|0); $138 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($138,8); + $139 = HEAP32[$iParm>>2]|0; + $140 = HEAP32[$regRow>>2]|0; + $141 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($138,115,$139,$140,$141)|0); + $142 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($142,8); break; } case 11: { - $139 = HEAP32[$v>>2]|0; - $140 = HEAP32[$regRow>>2]|0; - $141 = HEAP32[$regRowid>>2]|0; - $142 = HEAP32[$4>>2]|0; - $143 = ((($142)) + 1|0); - (_sqlite3VdbeAddOp4($139,96,$140,1,$141,$143,1)|0); - $144 = HEAP32[$0>>2]|0; - $145 = HEAP32[$regRow>>2]|0; - _sqlite3ExprCacheAffinityChange($144,$145,1); - $146 = HEAP32[$v>>2]|0; - $147 = HEAP32[$iParm>>2]|0; - $148 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($146,124,$147,$148)|0); + $143 = HEAP32[$v>>2]|0; + $144 = HEAP32[$regRow>>2]|0; + $145 = HEAP32[$3>>2]|0; + $146 = HEAP32[$regRowid>>2]|0; + $147 = HEAP32[$4>>2]|0; + $148 = ((($147)) + 4|0); + $149 = HEAP32[$148>>2]|0; + $150 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp4($143,99,$144,$145,$146,$149,$150)|0); + $151 = HEAP32[$0>>2]|0; + $152 = HEAP32[$regRow>>2]|0; + $153 = HEAP32[$3>>2]|0; + _sqlite3ExprCacheAffinityChange($151,$152,$153); + $154 = HEAP32[$v>>2]|0; + $155 = HEAP32[$iParm>>2]|0; + $156 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp2($154,126,$155,$156)|0); break; } case 10: { - $149 = HEAP32[$0>>2]|0; - $150 = HEAP32[$regRow>>2]|0; - $151 = HEAP32[$iParm>>2]|0; - _sqlite3ExprCodeMove($149,$150,$151,1); break; } default: { - $152 = HEAP32[$eDest>>2]|0; - $153 = ($152|0)==(9); - $154 = HEAP32[$v>>2]|0; - $155 = HEAP32[$4>>2]|0; - if ($153) { - $156 = ((($155)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($154,85,$157,$158)|0); - $159 = HEAP32[$0>>2]|0; - $160 = HEAP32[$4>>2]|0; - $161 = ((($160)) + 8|0); + $157 = HEAP32[$eDest>>2]|0; + $158 = ($157|0)==(9); + $159 = HEAP32[$v>>2]|0; + $160 = HEAP32[$4>>2]|0; + if ($158) { + $161 = ((($160)) + 12|0); $162 = HEAP32[$161>>2]|0; $163 = HEAP32[$3>>2]|0; - _sqlite3ExprCacheAffinityChange($159,$162,$163); + (_sqlite3VdbeAddOp2($159,87,$162,$163)|0); + $164 = HEAP32[$0>>2]|0; + $165 = HEAP32[$4>>2]|0; + $166 = ((($165)) + 12|0); + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$3>>2]|0; + _sqlite3ExprCacheAffinityChange($164,$167,$168); break L22; } else { - $164 = ((($155)) + 4|0); - $165 = HEAP32[$164>>2]|0; - (_sqlite3VdbeAddOp1($154,16,$165)|0); + $169 = ((($160)) + 8|0); + $170 = HEAP32[$169>>2]|0; + (_sqlite3VdbeAddOp1($159,16,$170)|0); break L22; } } } } while(0); - $166 = HEAP32[$regRowid>>2]|0; - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$0>>2]|0; - $169 = HEAP32[$regRow>>2]|0; - _sqlite3ReleaseTempReg($168,$169); - $170 = HEAP32[$0>>2]|0; - $171 = HEAP32[$regRowid>>2]|0; - _sqlite3ReleaseTempReg($170,$171); - } - $172 = HEAP32[$v>>2]|0; - $173 = HEAP32[$addrContinue>>2]|0; - _sqlite3VdbeResolveLabel($172,$173); - $174 = HEAP32[$2>>2]|0; - $175 = ((($174)) + 28|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = $177 & 1; - $179 = ($178|0)!=(0); + $171 = HEAP32[$regRowid>>2]|0; + $172 = ($171|0)!=(0); + if ($172) { + $173 = HEAP32[$eDest>>2]|0; + $174 = ($173|0)==(11); + $175 = HEAP32[$0>>2]|0; + $176 = HEAP32[$regRow>>2]|0; + if ($174) { + $177 = HEAP32[$3>>2]|0; + _sqlite3ReleaseTempRange($175,$176,$177); + } else { + _sqlite3ReleaseTempReg($175,$176); + } + $178 = HEAP32[$0>>2]|0; + $179 = HEAP32[$regRowid>>2]|0; + _sqlite3ReleaseTempReg($178,$179); + } $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$iTab>>2]|0; - $182 = HEAP32[$addr>>2]|0; - if ($179) { - (_sqlite3VdbeAddOp2($180,3,$181,$182)|0); + $181 = HEAP32[$addrContinue>>2]|0; + _sqlite3VdbeResolveLabel($180,$181); + $182 = HEAP32[$2>>2]|0; + $183 = ((($182)) + 28|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = $185 & 1; + $187 = ($186|0)!=(0); + $188 = HEAP32[$v>>2]|0; + $189 = HEAP32[$iTab>>2]|0; + $190 = HEAP32[$addr>>2]|0; + if ($187) { + (_sqlite3VdbeAddOp2($188,3,$189,$190)|0); } else { - (_sqlite3VdbeAddOp2($180,7,$181,$182)|0); - } - $183 = HEAP32[$2>>2]|0; - $184 = ((($183)) + 12|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)!=(0); - if (!($186)) { - $191 = HEAP32[$v>>2]|0; - $192 = HEAP32[$addrBreak>>2]|0; - _sqlite3VdbeResolveLabel($191,$192); + (_sqlite3VdbeAddOp2($188,7,$189,$190)|0); + } + $191 = HEAP32[$2>>2]|0; + $192 = ((($191)) + 12|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($193|0)!=(0); + if (!($194)) { + $199 = HEAP32[$v>>2]|0; + $200 = HEAP32[$addrBreak>>2]|0; + _sqlite3VdbeResolveLabel($199,$200); STACKTOP = sp;return; } - $187 = HEAP32[$v>>2]|0; - $188 = HEAP32[$2>>2]|0; - $189 = ((($188)) + 12|0); - $190 = HEAP32[$189>>2]|0; - (_sqlite3VdbeAddOp1($187,70,$190)|0); - $191 = HEAP32[$v>>2]|0; - $192 = HEAP32[$addrBreak>>2]|0; - _sqlite3VdbeResolveLabel($191,$192); + $195 = HEAP32[$v>>2]|0; + $196 = HEAP32[$2>>2]|0; + $197 = ((($196)) + 12|0); + $198 = HEAP32[$197>>2]|0; + (_sqlite3VdbeAddOp1($195,72,$198)|0); + $199 = HEAP32[$v>>2]|0; + $200 = HEAP32[$addrBreak>>2]|0; + _sqlite3VdbeResolveLabel($199,$200); STACKTOP = sp;return; } function _generateColumnNames($pParse,$pTabList,$pEList) { @@ -202962,7 +207367,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 453|0); + $9 = ((($8)) + 409|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)!=(0); if ($11) { @@ -203073,7 +207478,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $155 = HEAP32[$i>>2]|0; $156 = (($155) + 1)|0; HEAP32[$vararg_buffer3>>2] = $156; - $157 = (_sqlite3MPrintf($154,36184,$vararg_buffer3)|0); + $157 = (_sqlite3MPrintf($154,35699,$vararg_buffer3)|0); $160 = $157; } else { $158 = HEAP32[$z>>2]|0; @@ -203138,7 +207543,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $109 = HEAP32[$iCol>>2]|0; $110 = ($109|0)<(0); if ($110) { - HEAP32[$zCol>>2] = 25361; + HEAP32[$zCol>>2] = 24745; } else { $111 = HEAP32[$iCol>>2]|0; $112 = HEAP32[$pTab>>2]|0; @@ -203179,7 +207584,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { HEAP32[$vararg_buffer>>2] = $136; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $137; - $138 = (_sqlite3MPrintf($134,30757,$vararg_buffer)|0); + $138 = (_sqlite3MPrintf($134,30161,$vararg_buffer)|0); HEAP32[$zName1>>2] = $138; $139 = HEAP32[$v>>2]|0; $140 = HEAP32[$i>>2]|0; @@ -203283,7 +207688,7 @@ function _codeOffset($v,$iOffset,$iContinue) { $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp3($5,64,$6,$7,1)|0); + (_sqlite3VdbeAddOp3($5,66,$6,$7,1)|0); STACKTOP = sp;return; } function _codeDistinct($pParse,$iTab,$addrRepeat,$N,$iMem) { @@ -203325,11 +207730,11 @@ function _codeDistinct($pParse,$iTab,$addrRepeat,$N,$iMem) { $16 = HEAP32[$4>>2]|0; $17 = HEAP32[$3>>2]|0; $18 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($15,96,$16,$17,$18)|0); + (_sqlite3VdbeAddOp3($15,99,$16,$17,$18)|0); $19 = HEAP32[$v>>2]|0; $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp2($19,124,$20,$21)|0); + (_sqlite3VdbeAddOp2($19,126,$20,$21)|0); $22 = HEAP32[$0>>2]|0; $23 = HEAP32[$r1>>2]|0; _sqlite3ReleaseTempReg($22,$23); @@ -203507,7 +207912,7 @@ function _analyzeAggregate($pWalker,$pExpr) { $88 = ((($87)) + 8|0); HEAP32[$88>>2] = $86; $89 = HEAP32[$pParse>>2]|0; - $90 = ((($89)) + 76|0); + $90 = ((($89)) + 44|0); $91 = HEAP32[$90>>2]|0; $92 = (($91) + 1)|0; HEAP32[$90>>2] = $92; @@ -203699,7 +208104,7 @@ function _analyzeAggregate($pWalker,$pExpr) { $218 = HEAP32[$pItem1>>2]|0; HEAP32[$218>>2] = $217; $219 = HEAP32[$pParse>>2]|0; - $220 = ((($219)) + 76|0); + $220 = ((($219)) + 44|0); $221 = HEAP32[$220>>2]|0; $222 = (($221) + 1)|0; HEAP32[$220>>2] = $222; @@ -203736,7 +208141,7 @@ function _analyzeAggregate($pWalker,$pExpr) { $247 = ($246|0)!=(0); if ($247) { $248 = HEAP32[$pParse>>2]|0; - $249 = ((($248)) + 72|0); + $249 = ((($248)) + 40|0); $250 = HEAP32[$249>>2]|0; $251 = (($250) + 1)|0; HEAP32[$249>>2] = $251; @@ -203856,37 +208261,40 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addrFirst = 0, $addrJmp = 0, $bSeq = 0, $iLimit = 0, $nBase = 0, $nExpr = 0, $nKey = 0, $nOBSat = 0, $op = 0, $pKI = 0, $pOp = 0, $regBase = 0, $regPrevKey = 0, $regRecord = 0, $v = 0, label = 0; - var sp = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addrFirst = 0, $addrJmp = 0, $bSeq = 0, $iBrk = 0, $iLimit = 0, $nBase = 0, $nExpr = 0, $nKey = 0; + var $nOBSat = 0, $op = 0, $pKI = 0, $pOp = 0, $r1 = 0, $regBase = 0, $regPrevKey = 0, $regRecord = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $0 = sp + 88|0; - $1 = sp + 84|0; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = sp + 64|0; - $v = sp + 60|0; - $bSeq = sp + 56|0; - $nExpr = sp + 52|0; - $nBase = sp + 48|0; - $regBase = sp + 44|0; - $regRecord = sp + 40|0; - $nOBSat = sp + 36|0; - $op = sp + 32|0; - $iLimit = sp + 28|0; - $regPrevKey = sp + 24|0; - $addrFirst = sp + 20|0; - $addrJmp = sp + 16|0; - $pOp = sp + 12|0; - $nKey = sp + 8|0; - $pKI = sp + 4|0; - $addr = sp; + STACKTOP = STACKTOP + 112|0; + $0 = sp + 96|0; + $1 = sp + 92|0; + $2 = sp + 88|0; + $3 = sp + 84|0; + $4 = sp + 80|0; + $5 = sp + 76|0; + $6 = sp + 72|0; + $v = sp + 68|0; + $bSeq = sp + 64|0; + $nExpr = sp + 60|0; + $nBase = sp + 56|0; + $regBase = sp + 52|0; + $regRecord = sp + 48|0; + $nOBSat = sp + 44|0; + $op = sp + 40|0; + $iLimit = sp + 36|0; + $regPrevKey = sp + 32|0; + $addrFirst = sp + 28|0; + $addrJmp = sp + 24|0; + $pOp = sp + 20|0; + $nKey = sp + 16|0; + $pKI = sp + 12|0; + $addr = sp + 8|0; + $r1 = sp + 4|0; + $iBrk = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSort; HEAP32[$2>>2] = $pSelect; @@ -203917,7 +208325,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $24 = (($22) + ($23))|0; HEAP32[$nBase>>2] = $24; $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 76|0); + $26 = ((($25)) + 44|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + 1)|0; HEAP32[$26>>2] = $28; @@ -203937,13 +208345,13 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n HEAP32[$regBase>>2] = $38; } else { $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 76|0); + $40 = ((($39)) + 44|0); $41 = HEAP32[$40>>2]|0; $42 = (($41) + 1)|0; HEAP32[$regBase>>2] = $42; $43 = HEAP32[$nBase>>2]|0; $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 76|0); + $45 = ((($44)) + 44|0); $46 = HEAP32[$45>>2]|0; $47 = (($46) + ($43))|0; HEAP32[$45>>2] = $47; @@ -203985,7 +208393,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $74 = HEAP32[$regBase>>2]|0; $75 = HEAP32[$nExpr>>2]|0; $76 = (($74) + ($75))|0; - (_sqlite3VdbeAddOp2($70,111,$73,$76)|0); + (_sqlite3VdbeAddOp2($70,113,$73,$76)|0); } $77 = HEAP32[$6>>2]|0; $78 = ($77|0)==(0); @@ -204008,12 +208416,12 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $92 = HEAP32[$nOBSat>>2]|0; $93 = (($91) - ($92))|0; $94 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp3($87,96,$90,$93,$94)|0); + (_sqlite3VdbeAddOp3($87,99,$90,$93,$94)|0); $95 = HEAP32[$nOBSat>>2]|0; $96 = ($95|0)>(0); if ($96) { $97 = HEAP32[$0>>2]|0; - $98 = ((($97)) + 76|0); + $98 = ((($97)) + 44|0); $99 = HEAP32[$98>>2]|0; $100 = (($99) + 1)|0; HEAP32[$regPrevKey>>2] = $100; @@ -204021,7 +208429,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $102 = ((($101)) + 4|0); $103 = HEAP32[$102>>2]|0; $104 = HEAP32[$0>>2]|0; - $105 = ((($104)) + 76|0); + $105 = ((($104)) + 44|0); $106 = HEAP32[$105>>2]|0; $107 = (($106) + ($103))|0; HEAP32[$105>>2] = $107; @@ -204046,7 +208454,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $122 = HEAP32[$1>>2]|0; $123 = ((($122)) + 8|0); $124 = HEAP32[$123>>2]|0; - $125 = (_sqlite3VdbeAddOp1($117,107,$124)|0); + $125 = (_sqlite3VdbeAddOp1($117,109,$124)|0); HEAP32[$addrFirst>>2] = $125; } $126 = HEAP32[$v>>2]|0; @@ -204055,7 +208463,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $129 = HEAP32[$1>>2]|0; $130 = ((($129)) + 4|0); $131 = HEAP32[$130>>2]|0; - (_sqlite3VdbeAddOp3($126,93,$127,$128,$131)|0); + (_sqlite3VdbeAddOp3($126,95,$127,$128,$131)|0); $132 = HEAP32[$v>>2]|0; $133 = HEAP32[$1>>2]|0; $134 = ((($133)) + 20|0); @@ -204119,7 +208527,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $181 = ((($180)) + 16|0); HEAP32[$181>>2] = $179; $182 = HEAP32[$0>>2]|0; - $183 = ((($182)) + 76|0); + $183 = ((($182)) + 44|0); $184 = HEAP32[$183>>2]|0; $185 = (($184) + 1)|0; HEAP32[$183>>2] = $185; @@ -204138,7 +208546,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $196 = HEAP32[$1>>2]|0; $197 = ((($196)) + 8|0); $198 = HEAP32[$197>>2]|0; - (_sqlite3VdbeAddOp1($195,130,$198)|0); + (_sqlite3VdbeAddOp1($195,133,$198)|0); $199 = HEAP32[$iLimit>>2]|0; $200 = ($199|0)!=(0); if ($200) { @@ -204170,9 +208578,9 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n $220 = $219 & 1; $221 = ($220|0)!=(0); if ($221) { - HEAP32[$op>>2] = 123; + HEAP32[$op>>2] = 125; } else { - HEAP32[$op>>2] = 124; + HEAP32[$op>>2] = 126; } $222 = HEAP32[$v>>2]|0; $223 = HEAP32[$op>>2]|0; @@ -204186,23 +208594,62 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n if (!($229)) { STACKTOP = sp;return; } + HEAP32[$r1>>2] = 0; $230 = HEAP32[$v>>2]|0; $231 = HEAP32[$iLimit>>2]|0; - $232 = (_sqlite3VdbeAddOp3($230,65,$231,0,1)|0); + $232 = (_sqlite3VdbeAddOp3($230,67,$231,0,1)|0); HEAP32[$addr>>2] = $232; $233 = HEAP32[$v>>2]|0; $234 = HEAP32[$1>>2]|0; $235 = ((($234)) + 8|0); $236 = HEAP32[$235>>2]|0; - (_sqlite3VdbeAddOp1($233,33,$236)|0); - $237 = HEAP32[$v>>2]|0; - $238 = HEAP32[$1>>2]|0; - $239 = ((($238)) + 8|0); - $240 = HEAP32[$239>>2]|0; - (_sqlite3VdbeAddOp1($237,115,$240)|0); - $241 = HEAP32[$v>>2]|0; - $242 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($241,$242); + (_sqlite3VdbeAddOp1($233,53,$236)|0); + $237 = HEAP32[$1>>2]|0; + $238 = ((($237)) + 29|0); + $239 = HEAP8[$238>>0]|0; + $240 = ($239<<24>>24)!=(0); + if ($240) { + $241 = HEAP32[$0>>2]|0; + $242 = ((($241)) + 44|0); + $243 = HEAP32[$242>>2]|0; + $244 = (($243) + 1)|0; + HEAP32[$242>>2] = $244; + HEAP32[$r1>>2] = $244; + $245 = HEAP32[$v>>2]|0; + $246 = HEAP32[$1>>2]|0; + $247 = ((($246)) + 8|0); + $248 = HEAP32[$247>>2]|0; + $249 = HEAP32[$nExpr>>2]|0; + $250 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp3($245,96,$248,$249,$250)|0); + } + $251 = HEAP32[$v>>2]|0; + $252 = HEAP32[$1>>2]|0; + $253 = ((($252)) + 8|0); + $254 = HEAP32[$253>>2]|0; + (_sqlite3VdbeAddOp1($251,117,$254)|0); + $255 = HEAP32[$1>>2]|0; + $256 = ((($255)) + 29|0); + $257 = HEAP8[$256>>0]|0; + $258 = ($257<<24>>24)!=(0); + if ($258) { + $259 = HEAP32[$v>>2]|0; + $260 = (_sqlite3VdbeCurrentAddr($259)|0); + $261 = (($260) + 2)|0; + HEAP32[$iBrk>>2] = $261; + $262 = HEAP32[$v>>2]|0; + $263 = HEAP32[$regBase>>2]|0; + $264 = HEAP32[$nExpr>>2]|0; + $265 = (($263) + ($264))|0; + $266 = HEAP32[$iBrk>>2]|0; + $267 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp3($262,37,$265,$266,$267)|0); + $268 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($268,-128); + } + $269 = HEAP32[$v>>2]|0; + $270 = HEAP32[$addr>>2]|0; + _sqlite3VdbeJumpHere($269,$270); STACKTOP = sp;return; } function _substExpr($db,$pExpr,$iTable,$pEList) { @@ -204624,22 +209071,22 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $vararg_buffer = sp; - $0 = sp + 112|0; - $1 = sp + 108|0; - $2 = sp + 104|0; - $pSrc = sp + 100|0; - $nCol = sp + 96|0; - $v = sp + 92|0; - $pSetup = sp + 88|0; - $addrTop = sp + 84|0; - $addrCont = sp + 80|0; - $addrBreak = sp + 76|0; - $iCurrent = sp + 72|0; - $regCurrent = sp + 68|0; - $iQueue = sp + 64|0; - $iDistinct = sp + 60|0; - $eDest = sp + 56|0; - $destQueue = sp + 36|0; + $0 = sp + 120|0; + $1 = sp + 116|0; + $2 = sp + 112|0; + $pSrc = sp + 108|0; + $nCol = sp + 104|0; + $v = sp + 100|0; + $pSetup = sp + 96|0; + $addrTop = sp + 92|0; + $addrCont = sp + 88|0; + $addrBreak = sp + 84|0; + $iCurrent = sp + 80|0; + $regCurrent = sp + 76|0; + $iQueue = sp + 72|0; + $iDistinct = sp + 68|0; + $eDest = sp + 64|0; + $destQueue = sp + 40|0; $i = sp + 32|0; $rc = sp + 28|0; $pOrderBy = sp + 24|0; @@ -204752,7 +209199,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { HEAP32[$iCurrent>>2] = $66; } $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 72|0); + $69 = ((($68)) + 40|0); $70 = HEAP32[$69>>2]|0; $71 = (($70) + 1)|0; HEAP32[$69>>2] = $71; @@ -204768,7 +209215,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $79 = $78 ? 8 : 6; HEAP32[$eDest>>2] = $79; $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + 72|0); + $81 = ((($80)) + 40|0); $82 = HEAP32[$81>>2]|0; $83 = (($82) + 1)|0; HEAP32[$81>>2] = $83; @@ -204781,7 +209228,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $86 = HEAP32[$iQueue>>2]|0; _sqlite3SelectDestInit($destQueue,$85,$86); $87 = HEAP32[$0>>2]|0; - $88 = ((($87)) + 76|0); + $88 = ((($87)) + 44|0); $89 = HEAP32[$88>>2]|0; $90 = (($89) + 1)|0; HEAP32[$88>>2] = $90; @@ -204790,7 +209237,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $92 = HEAP32[$iCurrent>>2]|0; $93 = HEAP32[$regCurrent>>2]|0; $94 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp3($91,108,$92,$93,$94)|0); + (_sqlite3VdbeAddOp3($91,110,$92,$93,$94)|0); $95 = HEAP32[$pOrderBy>>2]|0; $96 = ($95|0)!=(0|0); if ($96) { @@ -204804,22 +209251,22 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $103 = HEAP32[$102>>2]|0; $104 = (($103) + 2)|0; $105 = HEAP32[$pKeyInfo>>2]|0; - (_sqlite3VdbeAddOp4($100,105,$101,$104,0,$105,-6)|0); + (_sqlite3VdbeAddOp4($100,107,$101,$104,0,$105,-6)|0); $106 = HEAP32[$pOrderBy>>2]|0; - $107 = ((($destQueue)) + 16|0); + $107 = ((($destQueue)) + 20|0); HEAP32[$107>>2] = $106; } else { $108 = HEAP32[$v>>2]|0; $109 = HEAP32[$iQueue>>2]|0; $110 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp2($108,105,$109,$110)|0); + (_sqlite3VdbeAddOp2($108,107,$109,$110)|0); } $111 = HEAP32[$iDistinct>>2]|0; $112 = ($111|0)!=(0); if ($112) { $113 = HEAP32[$v>>2]|0; $114 = HEAP32[$iDistinct>>2]|0; - $115 = (_sqlite3VdbeAddOp2($113,105,$114,0)|0); + $115 = (_sqlite3VdbeAddOp2($113,107,$114,0)|0); $116 = HEAP32[$1>>2]|0; $117 = ((($116)) + 20|0); HEAP32[$117>>2] = $115; @@ -204849,11 +209296,11 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $134 = HEAP32[$v>>2]|0; $135 = HEAP32[$iQueue>>2]|0; $136 = HEAP32[$addrBreak>>2]|0; - $137 = (_sqlite3VdbeAddOp2($134,55,$135,$136)|0); + $137 = (_sqlite3VdbeAddOp2($134,57,$135,$136)|0); HEAP32[$addrTop>>2] = $137; $138 = HEAP32[$v>>2]|0; $139 = HEAP32[$iCurrent>>2]|0; - (_sqlite3VdbeAddOp1($138,122,$139)|0); + (_sqlite3VdbeAddOp1($138,124,$139)|0); $140 = HEAP32[$pOrderBy>>2]|0; $141 = ($140|0)!=(0|0); $142 = HEAP32[$v>>2]|0; @@ -204863,14 +209310,14 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $145 = HEAP32[$144>>2]|0; $146 = (($145) + 1)|0; $147 = HEAP32[$regCurrent>>2]|0; - (_sqlite3VdbeAddOp3($142,94,$143,$146,$147)|0); + (_sqlite3VdbeAddOp3($142,96,$143,$146,$147)|0); } else { $148 = HEAP32[$regCurrent>>2]|0; - (_sqlite3VdbeAddOp2($142,120,$143,$148)|0); + (_sqlite3VdbeAddOp2($142,122,$143,$148)|0); } $149 = HEAP32[$v>>2]|0; $150 = HEAP32[$iQueue>>2]|0; - (_sqlite3VdbeAddOp1($149,115,$150)|0); + (_sqlite3VdbeAddOp1($149,117,$150)|0); $151 = HEAP32[$v>>2]|0; $152 = (_sqlite3VdbeMakeLabel($151)|0); HEAP32[$addrCont>>2] = $152; @@ -204893,7 +209340,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $166 = HEAP32[$v>>2]|0; $167 = HEAP32[$regLimit>>2]|0; $168 = HEAP32[$addrBreak>>2]|0; - (_sqlite3VdbeAddOp2($166,66,$167,$168)|0); + (_sqlite3VdbeAddOp2($166,68,$167,$168)|0); } $169 = HEAP32[$v>>2]|0; $170 = HEAP32[$addrCont>>2]|0; @@ -204905,7 +209352,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $175 = ($174|0)!=(0); if ($175) { $176 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($176,36465,$vararg_buffer); + _sqlite3ErrorMsg($176,35980,$vararg_buffer); } else { $177 = HEAP32[$1>>2]|0; $178 = ((($177)) + 48|0); @@ -204978,15 +209425,15 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; - $0 = sp + 212|0; - $1 = sp + 208|0; - $2 = sp + 204|0; - $3 = sp + 200|0; - $i = sp + 196|0; - $j = sp + 192|0; - $pPrior = sp + 188|0; - $v = sp + 184|0; - $destA = sp + 164|0; + $0 = sp + 220|0; + $1 = sp + 216|0; + $2 = sp + 212|0; + $3 = sp + 208|0; + $i = sp + 204|0; + $j = sp + 200|0; + $pPrior = sp + 196|0; + $v = sp + 192|0; + $destA = sp + 168|0; $destB = sp + 144|0; $regAddrA = sp + 140|0; $regAddrB = sp + 136|0; @@ -205113,7 +209560,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $55 = ($53|0)==($54|0); if ($55) { $56 = HEAP32[$db>>2]|0; - $57 = (_sqlite3Expr($56,132,0)|0); + $57 = (_sqlite3Expr($56,134,0)|0); HEAP32[$pNew>>2] = $57; $58 = HEAP32[$pNew>>2]|0; $59 = ($58|0)==(0|0); @@ -205228,20 +209675,20 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $127 = HEAP32[$126>>2]|0; HEAP32[$nExpr>>2] = $127; $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 76|0); + $129 = ((($128)) + 44|0); $130 = HEAP32[$129>>2]|0; $131 = (($130) + 1)|0; HEAP32[$regPrev>>2] = $131; $132 = HEAP32[$nExpr>>2]|0; $133 = (($132) + 1)|0; $134 = HEAP32[$1>>2]|0; - $135 = ((($134)) + 76|0); + $135 = ((($134)) + 44|0); $136 = HEAP32[$135>>2]|0; $137 = (($136) + ($133))|0; HEAP32[$135>>2] = $137; $138 = HEAP32[$v>>2]|0; $139 = HEAP32[$regPrev>>2]|0; - (_sqlite3VdbeAddOp2($138,74,0,$139)|0); + (_sqlite3VdbeAddOp2($138,76,0,$139)|0); $140 = HEAP32[$db>>2]|0; $141 = HEAP32[$nExpr>>2]|0; $142 = (_sqlite3KeyInfoAlloc($140,$141,1)|0); @@ -205290,7 +209737,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $169 = HEAP32[$2>>2]|0; $170 = ((($169)) + 44|0); $171 = HEAP32[$170>>2]|0; - (_sqlite3ResolveOrderGroupBy($167,$168,$171,29703)|0); + (_sqlite3ResolveOrderGroupBy($167,$168,$171,29099)|0); $172 = HEAP32[$pPrior>>2]|0; $173 = ((($172)) + 48|0); $174 = HEAP32[$173>>2]|0; @@ -205301,7 +209748,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $178 = HEAP32[$pPrior>>2]|0; $179 = ((($178)) + 44|0); $180 = HEAP32[$179>>2]|0; - (_sqlite3ResolveOrderGroupBy($176,$177,$180,29703)|0); + (_sqlite3ResolveOrderGroupBy($176,$177,$180,29099)|0); } $181 = HEAP32[$1>>2]|0; $182 = HEAP32[$2>>2]|0; @@ -205316,13 +209763,13 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $or$cond = $187 & $189; if ($or$cond) { $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 76|0); + $191 = ((($190)) + 44|0); $192 = HEAP32[$191>>2]|0; $193 = (($192) + 1)|0; HEAP32[$191>>2] = $193; HEAP32[$regLimitA>>2] = $193; $194 = HEAP32[$1>>2]|0; - $195 = ((($194)) + 76|0); + $195 = ((($194)) + 44|0); $196 = HEAP32[$195>>2]|0; $197 = (($196) + 1)|0; HEAP32[$195>>2] = $197; @@ -205344,11 +209791,11 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $210 = $208; } $209 = HEAP32[$regLimitA>>2]|0; - (_sqlite3VdbeAddOp2($198,82,$210,$209)|0); + (_sqlite3VdbeAddOp2($198,84,$210,$209)|0); $211 = HEAP32[$v>>2]|0; $212 = HEAP32[$regLimitA>>2]|0; $213 = HEAP32[$regLimitB>>2]|0; - (_sqlite3VdbeAddOp2($211,82,$212,$213)|0); + (_sqlite3VdbeAddOp2($211,84,$212,$213)|0); } else { HEAP32[$regLimitB>>2] = 0; HEAP32[$regLimitA>>2] = 0; @@ -205370,25 +209817,25 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $225 = ((($224)) + 60|0); HEAP32[$225>>2] = 0; $226 = HEAP32[$1>>2]|0; - $227 = ((($226)) + 76|0); + $227 = ((($226)) + 44|0); $228 = HEAP32[$227>>2]|0; $229 = (($228) + 1)|0; HEAP32[$227>>2] = $229; HEAP32[$regAddrA>>2] = $229; $230 = HEAP32[$1>>2]|0; - $231 = ((($230)) + 76|0); + $231 = ((($230)) + 44|0); $232 = HEAP32[$231>>2]|0; $233 = (($232) + 1)|0; HEAP32[$231>>2] = $233; HEAP32[$regAddrB>>2] = $233; $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 76|0); + $235 = ((($234)) + 44|0); $236 = HEAP32[$235>>2]|0; $237 = (($236) + 1)|0; HEAP32[$235>>2] = $237; HEAP32[$regOutA>>2] = $237; $238 = HEAP32[$1>>2]|0; - $239 = ((($238)) + 76|0); + $239 = ((($238)) + 44|0); $240 = HEAP32[$239>>2]|0; $241 = (($240) + 1)|0; HEAP32[$239>>2] = $241; @@ -205411,7 +209858,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $253 = ((($252)) + 12|0); HEAP32[$253>>2] = $251; $254 = HEAP32[$1>>2]|0; - $255 = ((($254)) + 472|0); + $255 = ((($254)) + 424|0); $256 = HEAP32[$255>>2]|0; HEAP32[$iSub1>>2] = $256; $257 = HEAP32[$1>>2]|0; @@ -205448,7 +209895,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $280 = ((($279)) + 16|0); HEAP32[$280>>2] = 0; $281 = HEAP32[$1>>2]|0; - $282 = ((($281)) + 472|0); + $282 = ((($281)) + 424|0); $283 = HEAP32[$282>>2]|0; HEAP32[$iSub2>>2] = $283; $284 = HEAP32[$1>>2]|0; @@ -205640,15 +210087,15 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { _sqlite3VdbeResolveLabel($410,$411); $412 = HEAP32[$v>>2]|0; $413 = HEAP32[$aPermute>>2]|0; - (_sqlite3VdbeAddOp4($412,92,0,0,0,$413,-15)|0); + (_sqlite3VdbeAddOp4($412,94,0,0,0,$413,-15)|0); $414 = HEAP32[$v>>2]|0; - $415 = ((($destA)) + 8|0); + $415 = ((($destA)) + 12|0); $416 = HEAP32[$415>>2]|0; - $417 = ((($destB)) + 8|0); + $417 = ((($destB)) + 12|0); $418 = HEAP32[$417>>2]|0; $419 = HEAP32[$nOrderBy>>2]|0; $420 = HEAP32[$pKeyMerge>>2]|0; - (_sqlite3VdbeAddOp4($414,93,$416,$418,$419,$420,-6)|0); + (_sqlite3VdbeAddOp4($414,95,$416,$418,$419,$420,-6)|0); $421 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($421,1); $422 = HEAP32[$v>>2]|0; @@ -205715,7 +210162,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $466 = HEAP32[$iSub2>>2]|0; _explainComposite($460,$464,$465,$466,0); $467 = HEAP32[$1>>2]|0; - $468 = ((($467)) + 68|0); + $468 = ((($467)) + 36|0); $469 = HEAP32[$468>>2]|0; $470 = ($469|0)!=(0); $471 = $470&1; @@ -205747,7 +210194,7 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { HEAP32[$3>>2] = $iSub2; HEAP32[$4>>2] = $bUseTmp; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 453|0); + $6 = ((($5)) + 409|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($8|0)==(2); @@ -205764,7 +210211,7 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { $16 = HEAP32[$3>>2]|0; $17 = HEAP32[$4>>2]|0; $18 = ($17|0)!=(0); - $19 = $18 ? 36409 : 19018; + $19 = $18 ? 35924 : 18402; $20 = HEAP32[$1>>2]|0; $21 = (_selectOpName($20)|0); HEAP32[$vararg_buffer>>2] = $15; @@ -205774,14 +210221,14 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { HEAP32[$vararg_ptr2>>2] = $19; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $21; - $22 = (_sqlite3MPrintf($14,36428,$vararg_buffer)|0); + $22 = (_sqlite3MPrintf($14,35943,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $22; $23 = HEAP32[$v>>2]|0; $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 468|0); + $25 = ((($24)) + 420|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$zMsg>>2]|0; - (_sqlite3VdbeAddOp4($23,160,$26,0,0,$27,-1)|0); + (_sqlite3VdbeAddOp4($23,162,$26,0,0,$27,-1)|0); STACKTOP = sp;return; } function _multiSelectCollSeq($pParse,$p,$iCol) { @@ -205987,12 +210434,11 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addr1 = 0, $addr2 = 0, $iContinue = 0, $r1 = 0, $r11 = 0, $r2 = 0, $v = 0, label = 0; - var sp = 0; + var $189 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addr1 = 0, $addr2 = 0, $iContinue = 0, $r1 = 0, $r11 = 0, $r2 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 64|0; @@ -206039,16 +210485,16 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p HEAP32[$addr1>>2] = $20; $21 = HEAP32[$v>>2]|0; $22 = HEAP32[$3>>2]|0; - $23 = ((($22)) + 8|0); + $23 = ((($22)) + 12|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$6>>2]|0; $26 = (($25) + 1)|0; $27 = HEAP32[$3>>2]|0; - $28 = ((($27)) + 12|0); + $28 = ((($27)) + 16|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$7>>2]|0; $31 = (_sqlite3KeyInfoRef($30)|0); - $32 = (_sqlite3VdbeAddOp4($21,93,$24,$26,$29,$31,-6)|0); + $32 = (_sqlite3VdbeAddOp4($21,95,$24,$26,$29,$31,-6)|0); HEAP32[$addr2>>2] = $32; $33 = HEAP32[$v>>2]|0; $34 = HEAP32[$addr2>>2]|0; @@ -206062,18 +210508,18 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p _sqlite3VdbeJumpHere($39,$40); $41 = HEAP32[$v>>2]|0; $42 = HEAP32[$3>>2]|0; - $43 = ((($42)) + 8|0); + $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$6>>2]|0; $46 = (($45) + 1)|0; $47 = HEAP32[$3>>2]|0; - $48 = ((($47)) + 12|0); + $48 = ((($47)) + 16|0); $49 = HEAP32[$48>>2]|0; $50 = (($49) - 1)|0; - (_sqlite3VdbeAddOp3($41,82,$44,$46,$50)|0); + (_sqlite3VdbeAddOp3($41,84,$44,$46,$50)|0); $51 = HEAP32[$v>>2]|0; $52 = HEAP32[$6>>2]|0; - (_sqlite3VdbeAddOp2($51,74,1,$52)|0); + (_sqlite3VdbeAddOp2($51,76,1,$52)|0); } $53 = HEAP32[$1>>2]|0; $54 = HEAP32[$53>>2]|0; @@ -206082,8 +210528,8 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p $57 = ($56<<24>>24)!=(0); if ($57) { HEAP32[$0>>2] = 0; - $190 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($190|0); + $189 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($189|0); } $58 = HEAP32[$v>>2]|0; $59 = HEAP32[$2>>2]|0; @@ -206104,26 +210550,26 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p HEAP32[$r2>>2] = $69; $70 = HEAP32[$v>>2]|0; $71 = HEAP32[$3>>2]|0; - $72 = ((($71)) + 8|0); + $72 = ((($71)) + 12|0); $73 = HEAP32[$72>>2]|0; $74 = HEAP32[$3>>2]|0; - $75 = ((($74)) + 12|0); + $75 = ((($74)) + 16|0); $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($70,96,$73,$76,$77)|0); + (_sqlite3VdbeAddOp3($70,99,$73,$76,$77)|0); $78 = HEAP32[$v>>2]|0; $79 = HEAP32[$4>>2]|0; - $80 = ((($79)) + 4|0); + $80 = ((($79)) + 8|0); $81 = HEAP32[$80>>2]|0; $82 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp2($78,112,$81,$82)|0); + (_sqlite3VdbeAddOp2($78,114,$81,$82)|0); $83 = HEAP32[$v>>2]|0; $84 = HEAP32[$4>>2]|0; - $85 = ((($84)) + 4|0); + $85 = ((($84)) + 8|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$r1>>2]|0; $88 = HEAP32[$r2>>2]|0; - (_sqlite3VdbeAddOp3($83,113,$86,$87,$88)|0); + (_sqlite3VdbeAddOp3($83,115,$86,$87,$88)|0); $89 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($89,8); $90 = HEAP32[$1>>2]|0; @@ -206135,136 +210581,134 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p break; } case 11: { - $94 = HEAP32[$2>>2]|0; - $95 = HEAP32[$94>>2]|0; - $96 = ((($95)) + 4|0); - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$4>>2]|0; - $100 = ((($99)) + 1|0); - $101 = HEAP8[$100>>0]|0; - $102 = (_sqlite3CompareAffinity($98,$101)|0); - $103 = HEAP32[$4>>2]|0; - $104 = ((($103)) + 1|0); - HEAP8[$104>>0] = $102; - $105 = HEAP32[$1>>2]|0; - $106 = (_sqlite3GetTempReg($105)|0); - HEAP32[$r11>>2] = $106; - $107 = HEAP32[$v>>2]|0; - $108 = HEAP32[$3>>2]|0; - $109 = ((($108)) + 8|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$r11>>2]|0; - $112 = HEAP32[$4>>2]|0; - $113 = ((($112)) + 1|0); - (_sqlite3VdbeAddOp4($107,96,$110,1,$111,$113,1)|0); - $114 = HEAP32[$1>>2]|0; - $115 = HEAP32[$3>>2]|0; - $116 = ((($115)) + 8|0); - $117 = HEAP32[$116>>2]|0; - _sqlite3ExprCacheAffinityChange($114,$117,1); - $118 = HEAP32[$v>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = ((($119)) + 4|0); - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$r11>>2]|0; - (_sqlite3VdbeAddOp2($118,124,$121,$122)|0); - $123 = HEAP32[$1>>2]|0; - $124 = HEAP32[$r11>>2]|0; - _sqlite3ReleaseTempReg($123,$124); + $94 = HEAP32[$1>>2]|0; + $95 = (_sqlite3GetTempReg($94)|0); + HEAP32[$r11>>2] = $95; + $96 = HEAP32[$v>>2]|0; + $97 = HEAP32[$3>>2]|0; + $98 = ((($97)) + 12|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$3>>2]|0; + $101 = ((($100)) + 16|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[$r11>>2]|0; + $104 = HEAP32[$4>>2]|0; + $105 = ((($104)) + 4|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$3>>2]|0; + $108 = ((($107)) + 16|0); + $109 = HEAP32[$108>>2]|0; + (_sqlite3VdbeAddOp4($96,99,$99,$102,$103,$106,$109)|0); + $110 = HEAP32[$1>>2]|0; + $111 = HEAP32[$3>>2]|0; + $112 = ((($111)) + 12|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + 16|0); + $116 = HEAP32[$115>>2]|0; + _sqlite3ExprCacheAffinityChange($110,$113,$116); + $117 = HEAP32[$v>>2]|0; + $118 = HEAP32[$4>>2]|0; + $119 = ((($118)) + 8|0); + $120 = HEAP32[$119>>2]|0; + $121 = HEAP32[$r11>>2]|0; + (_sqlite3VdbeAddOp2($117,126,$120,$121)|0); + $122 = HEAP32[$1>>2]|0; + $123 = HEAP32[$r11>>2]|0; + _sqlite3ReleaseTempReg($122,$123); break; } case 10: { - $125 = HEAP32[$1>>2]|0; - $126 = HEAP32[$3>>2]|0; - $127 = ((($126)) + 8|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$4>>2]|0; - $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - _sqlite3ExprCodeMove($125,$128,$131,1); + $124 = HEAP32[$1>>2]|0; + $125 = HEAP32[$3>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP32[$4>>2]|0; + $129 = ((($128)) + 8|0); + $130 = HEAP32[$129>>2]|0; + _sqlite3ExprCodeMove($124,$127,$130,1); break; } case 13: { - $132 = HEAP32[$4>>2]|0; - $133 = ((($132)) + 8|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0); - if ($135) { - $136 = HEAP32[$1>>2]|0; - $137 = HEAP32[$3>>2]|0; - $138 = ((($137)) + 12|0); - $139 = HEAP32[$138>>2]|0; - $140 = (_sqlite3GetTempRange($136,$139)|0); - $141 = HEAP32[$4>>2]|0; - $142 = ((($141)) + 8|0); - HEAP32[$142>>2] = $140; - $143 = HEAP32[$3>>2]|0; - $144 = ((($143)) + 12|0); - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$4>>2]|0; - $147 = ((($146)) + 12|0); - HEAP32[$147>>2] = $145; + $131 = HEAP32[$4>>2]|0; + $132 = ((($131)) + 12|0); + $133 = HEAP32[$132>>2]|0; + $134 = ($133|0)==(0); + if ($134) { + $135 = HEAP32[$1>>2]|0; + $136 = HEAP32[$3>>2]|0; + $137 = ((($136)) + 16|0); + $138 = HEAP32[$137>>2]|0; + $139 = (_sqlite3GetTempRange($135,$138)|0); + $140 = HEAP32[$4>>2]|0; + $141 = ((($140)) + 12|0); + HEAP32[$141>>2] = $139; + $142 = HEAP32[$3>>2]|0; + $143 = ((($142)) + 16|0); + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$4>>2]|0; + $146 = ((($145)) + 16|0); + HEAP32[$146>>2] = $144; } - $148 = HEAP32[$1>>2]|0; - $149 = HEAP32[$3>>2]|0; - $150 = ((($149)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$4>>2]|0; - $153 = ((($152)) + 8|0); - $154 = HEAP32[$153>>2]|0; - $155 = HEAP32[$3>>2]|0; - $156 = ((($155)) + 12|0); - $157 = HEAP32[$156>>2]|0; - _sqlite3ExprCodeMove($148,$151,$154,$157); - $158 = HEAP32[$v>>2]|0; - $159 = HEAP32[$4>>2]|0; - $160 = ((($159)) + 4|0); - $161 = HEAP32[$160>>2]|0; - (_sqlite3VdbeAddOp1($158,16,$161)|0); + $147 = HEAP32[$1>>2]|0; + $148 = HEAP32[$3>>2]|0; + $149 = ((($148)) + 12|0); + $150 = HEAP32[$149>>2]|0; + $151 = HEAP32[$4>>2]|0; + $152 = ((($151)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$3>>2]|0; + $155 = ((($154)) + 16|0); + $156 = HEAP32[$155>>2]|0; + _sqlite3ExprCodeMove($147,$150,$153,$156); + $157 = HEAP32[$v>>2]|0; + $158 = HEAP32[$4>>2]|0; + $159 = ((($158)) + 8|0); + $160 = HEAP32[$159>>2]|0; + (_sqlite3VdbeAddOp1($157,16,$160)|0); break; } default: { - $162 = HEAP32[$v>>2]|0; - $163 = HEAP32[$3>>2]|0; - $164 = ((($163)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = HEAP32[$3>>2]|0; - $167 = ((($166)) + 12|0); - $168 = HEAP32[$167>>2]|0; - (_sqlite3VdbeAddOp2($162,85,$165,$168)|0); - $169 = HEAP32[$1>>2]|0; - $170 = HEAP32[$3>>2]|0; - $171 = ((($170)) + 8|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$3>>2]|0; - $174 = ((($173)) + 12|0); - $175 = HEAP32[$174>>2]|0; - _sqlite3ExprCacheAffinityChange($169,$172,$175); + $161 = HEAP32[$v>>2]|0; + $162 = HEAP32[$3>>2]|0; + $163 = ((($162)) + 12|0); + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$3>>2]|0; + $166 = ((($165)) + 16|0); + $167 = HEAP32[$166>>2]|0; + (_sqlite3VdbeAddOp2($161,87,$164,$167)|0); + $168 = HEAP32[$1>>2]|0; + $169 = HEAP32[$3>>2]|0; + $170 = ((($169)) + 12|0); + $171 = HEAP32[$170>>2]|0; + $172 = HEAP32[$3>>2]|0; + $173 = ((($172)) + 16|0); + $174 = HEAP32[$173>>2]|0; + _sqlite3ExprCacheAffinityChange($168,$171,$174); } } - $176 = HEAP32[$2>>2]|0; - $177 = ((($176)) + 12|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)!=(0); - if ($179) { - $180 = HEAP32[$v>>2]|0; - $181 = HEAP32[$2>>2]|0; - $182 = ((($181)) + 12|0); - $183 = HEAP32[$182>>2]|0; - $184 = HEAP32[$8>>2]|0; - (_sqlite3VdbeAddOp2($180,66,$183,$184)|0); - } - $185 = HEAP32[$v>>2]|0; - $186 = HEAP32[$iContinue>>2]|0; - _sqlite3VdbeResolveLabel($185,$186); - $187 = HEAP32[$v>>2]|0; - $188 = HEAP32[$5>>2]|0; - (_sqlite3VdbeAddOp1($187,70,$188)|0); - $189 = HEAP32[$addr>>2]|0; - HEAP32[$0>>2] = $189; - $190 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($190|0); + $175 = HEAP32[$2>>2]|0; + $176 = ((($175)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)!=(0); + if ($178) { + $179 = HEAP32[$v>>2]|0; + $180 = HEAP32[$2>>2]|0; + $181 = ((($180)) + 12|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$8>>2]|0; + (_sqlite3VdbeAddOp2($179,68,$182,$183)|0); + } + $184 = HEAP32[$v>>2]|0; + $185 = HEAP32[$iContinue>>2]|0; + _sqlite3VdbeResolveLabel($184,$185); + $186 = HEAP32[$v>>2]|0; + $187 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp1($186,72,$187)|0); + $188 = HEAP32[$addr>>2]|0; + HEAP32[$0>>2] = $188; + $189 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($189|0); } function _sqlite3FkDropTable($pParse,$pName,$pTab) { $pParse = $pParse|0; @@ -206361,7 +210805,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { HEAP32[$iSkip>>2] = $46; $47 = HEAP32[$v>>2]|0; $48 = HEAP32[$iSkip>>2]|0; - (_sqlite3VdbeAddOp2($47,63,1,$48)|0); + (_sqlite3VdbeAddOp2($47,65,1,$48)|0); break; } else { STACKTOP = sp;return; @@ -206369,7 +210813,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { } } while(0); $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 442|0); + $50 = ((($49)) + 150|0); HEAP8[$50>>0] = 1; $51 = HEAP32[$0>>2]|0; $52 = HEAP32[$db>>2]|0; @@ -206377,7 +210821,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { $54 = (_sqlite3SrcListDup($52,$53,0)|0); _sqlite3DeleteFrom($51,$54,0); $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 442|0); + $56 = ((($55)) + 150|0); HEAP8[$56>>0] = 0; $57 = HEAP32[$db>>2]|0; $58 = ((($57)) + 24|0); @@ -206389,7 +210833,7 @@ function _sqlite3FkDropTable($pParse,$pName,$pTab) { $63 = HEAP32[$v>>2]|0; $64 = (_sqlite3VdbeCurrentAddr($63)|0); $65 = (($64) + 2)|0; - (_sqlite3VdbeAddOp2($62,63,0,$65)|0); + (_sqlite3VdbeAddOp2($62,65,0,$65)|0); $66 = HEAP32[$0>>2]|0; _sqlite3HaltConstraint($66,787,2,0,-2,4); } @@ -206452,7 +210896,7 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { $20 = ($19|0)!=(0); if ($20) { $21 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($21,150)|0); + (_sqlite3VdbeAddOp0($21,152)|0); } $22 = HEAP32[$0>>2]|0; $23 = HEAP32[$1>>2]|0; @@ -206487,14 +210931,14 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { HEAP32[$vararg_buffer>>2] = $40; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $42; - _sqlite3NestedParse($38,36726,$vararg_buffer); + _sqlite3NestedParse($38,36169,$vararg_buffer); } $43 = HEAP32[$0>>2]|0; $44 = HEAP32[$pDb>>2]|0; $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$2>>2]|0; $47 = ($46|0)==(1); - $48 = $47 ? 20521 : 20540; + $48 = $47 ? 19905 : 19924; $49 = HEAP32[$1>>2]|0; $50 = HEAP32[$49>>2]|0; HEAP32[$vararg_buffer2>>2] = $45; @@ -206502,7 +210946,7 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { HEAP32[$vararg_ptr5>>2] = $48; $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr6>>2] = $50; - _sqlite3NestedParse($43,36771,$vararg_buffer2); + _sqlite3NestedParse($43,36214,$vararg_buffer2); $51 = HEAP32[$3>>2]|0; $52 = ($51|0)!=(0); if (!($52)) { @@ -206529,7 +210973,7 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { $72 = HEAP32[$2>>2]|0; $73 = HEAP32[$1>>2]|0; $74 = HEAP32[$73>>2]|0; - (_sqlite3VdbeAddOp4($71,136,$72,0,0,$74,0)|0); + (_sqlite3VdbeAddOp4($71,138,$72,0,0,$74,0)|0); $75 = HEAP32[$0>>2]|0; $76 = HEAP32[$2>>2]|0; _sqlite3ChangeCookie($75,$76); @@ -206542,12 +210986,12 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { $68 = HEAP32[$2>>2]|0; $69 = HEAP32[$1>>2]|0; $70 = HEAP32[$69>>2]|0; - (_sqlite3VdbeAddOp4($67,152,$68,0,0,$70,0)|0); + (_sqlite3VdbeAddOp4($67,154,$68,0,0,$70,0)|0); $71 = HEAP32[$v>>2]|0; $72 = HEAP32[$2>>2]|0; $73 = HEAP32[$1>>2]|0; $74 = HEAP32[$73>>2]|0; - (_sqlite3VdbeAddOp4($71,136,$72,0,0,$74,0)|0); + (_sqlite3VdbeAddOp4($71,138,$72,0,0,$74,0)|0); $75 = HEAP32[$0>>2]|0; $76 = HEAP32[$2>>2]|0; _sqlite3ChangeCookie($75,$76); @@ -207113,11 +211557,12 @@ function _convertToWithoutRowidTable($pParse,$pTab) { var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0; - var $i = 0, $ipkToken = 0, $j = 0, $n = 0, $nPk = 0, $pIdx = 0, $pList = 0, $pPk = 0, $v = 0, label = 0, sp = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $ipkToken = 0, $j = 0, $n = 0, $nPk = 0, $pIdx = 0; + var $pList = 0, $pPk = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 52|0; @@ -207141,418 +211586,441 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; HEAP32[$v>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 424|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)!=(0); - if ($10) { - $11 = HEAP32[$v>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 424|0); - $14 = HEAP32[$13>>2]|0; - _sqlite3VdbeChangeOpcode($11,$14,-125); + $7 = HEAP32[$db>>2]|0; + $8 = ((($7)) + 148|0); + $9 = ((($8)) + 7|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)!=(0); + L1: do { + if (!($11)) { + HEAP32[$i>>2] = 0; + while(1) { + $12 = HEAP32[$i>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 34|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15 << 16 >> 16; + $17 = ($12|0)<($16|0); + if (!($17)) { + break L1; + } + $18 = HEAP32[$i>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + ($18<<4)|0); + $23 = ((($22)) + 15|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 & 1; + $27 = ($26|0)!=(0); + if ($27) { + $28 = HEAP32[$i>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = ((($29)) + 4|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + ($28<<4)|0); + $33 = ((($32)) + 12|0); + HEAP8[$33>>0] = 2; + } + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + HEAP32[$i>>2] = $35; + } + } + } while(0); + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 410|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)!=(0); + if ($39) { + STACKTOP = sp;return; } - $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 32|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17 << 16 >> 16; - $19 = ($18|0)>=(0); - $20 = HEAP32[$1>>2]|0; + $40 = HEAP32[$0>>2]|0; + $41 = ((($40)) + 132|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0); + if ($43) { + $44 = HEAP32[$v>>2]|0; + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 132|0); + $47 = HEAP32[$46>>2]|0; + _sqlite3VdbeChangeOpcode($44,$47,-122); + } + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 32|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50 << 16 >> 16; + $52 = ($51|0)>=(0); + $53 = HEAP32[$1>>2]|0; do { - if ($19) { - $21 = ((($20)) + 32|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($23<<4)|0); - $28 = HEAP32[$27>>2]|0; - _sqlite3TokenInit($ipkToken,$28); - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$db>>2]|0; - $31 = (_sqlite3ExprAlloc($30,55,$ipkToken,0)|0); - $32 = (_sqlite3ExprListAppend($29,0,$31)|0); - HEAP32[$pList>>2] = $32; - $33 = HEAP32[$pList>>2]|0; - $34 = ($33|0)==(0|0); - if ($34) { + if ($52) { + $54 = ((($53)) + 32|0); + $55 = HEAP16[$54>>1]|0; + $56 = $55 << 16 >> 16; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = (($59) + ($56<<4)|0); + $61 = HEAP32[$60>>2]|0; + _sqlite3TokenInit($ipkToken,$61); + $62 = HEAP32[$0>>2]|0; + $63 = HEAP32[$db>>2]|0; + $64 = (_sqlite3ExprAlloc($63,55,$ipkToken,0)|0); + $65 = (_sqlite3ExprListAppend($62,0,$64)|0); + HEAP32[$pList>>2] = $65; + $66 = HEAP32[$pList>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { STACKTOP = sp;return; } - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 452|0); - $37 = HEAP8[$36>>0]|0; - $38 = HEAP32[$pList>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($40)) + 12|0); - HEAP8[$41>>0] = $37; - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$pList>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 43|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (_sqlite3CreateIndex($42,0,0,0,$43,$47,0,0,0,0)|0); - HEAP32[$pPk>>2] = $48; - $49 = HEAP32[$pPk>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 408|0); + $70 = HEAP8[$69>>0]|0; + $71 = HEAP32[$pList>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($73)) + 12|0); + HEAP8[$74>>0] = $70; + $75 = HEAP32[$0>>2]|0; + $76 = HEAP32[$pList>>2]|0; + $77 = HEAP32[$1>>2]|0; + $78 = ((($77)) + 43|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + _sqlite3CreateIndex($75,0,0,0,$76,$80,0,0,0,0,2); + $81 = HEAP32[$db>>2]|0; + $82 = ((($81)) + 69|0); + $83 = HEAP8[$82>>0]|0; + $84 = ($83<<24>>24)!=(0); + if ($84) { STACKTOP = sp;return; } else { - $51 = HEAP32[$pPk>>2]|0; - $52 = ((($51)) + 55|0); - $53 = HEAP8[$52>>0]|0; - $54 = $53 & -4; - $55 = $54 | 2; - HEAP8[$52>>0] = $55; - $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 32|0); - HEAP16[$57>>1] = -1; + $85 = HEAP32[$1>>2]|0; + $86 = (_sqlite3PrimaryKeyIndex($85)|0); + HEAP32[$pPk>>2] = $86; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 32|0); + HEAP16[$88>>1] = -1; break; } } else { - $58 = (_sqlite3PrimaryKeyIndex($20)|0); - HEAP32[$pPk>>2] = $58; - $59 = HEAP32[$v>>2]|0; - $60 = ($59|0)!=(0|0); - if ($60) { - $61 = HEAP32[$v>>2]|0; - $62 = HEAP32[$pPk>>2]|0; - $63 = ((($62)) + 44|0); - $64 = HEAP32[$63>>2]|0; - _sqlite3VdbeChangeOpcode($61,$64,13); + $89 = (_sqlite3PrimaryKeyIndex($53)|0); + HEAP32[$pPk>>2] = $89; + $90 = HEAP32[$v>>2]|0; + $91 = ($90|0)!=(0|0); + if ($91) { + $92 = HEAP32[$v>>2]|0; + $93 = HEAP32[$pPk>>2]|0; + $94 = ((($93)) + 44|0); + $95 = HEAP32[$94>>2]|0; + _sqlite3VdbeChangeOpcode($92,$95,13); } HEAP32[$j>>2] = 1; HEAP32[$i>>2] = 1; while(1) { - $65 = HEAP32[$i>>2]|0; - $66 = HEAP32[$pPk>>2]|0; - $67 = ((($66)) + 50|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = ($65|0)<($69|0); - if (!($70)) { + $96 = HEAP32[$i>>2]|0; + $97 = HEAP32[$pPk>>2]|0; + $98 = ((($97)) + 50|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99&65535; + $101 = ($96|0)<($100|0); + if (!($101)) { break; } - $71 = HEAP32[$pPk>>2]|0; - $72 = ((($71)) + 4|0); - $73 = HEAP32[$72>>2]|0; - $74 = HEAP32[$j>>2]|0; - $75 = HEAP32[$i>>2]|0; - $76 = HEAP32[$pPk>>2]|0; - $77 = ((($76)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + ($75<<1)|0); - $80 = HEAP16[$79>>1]|0; - $81 = $80 << 16 >> 16; - $82 = (_hasColumn($73,$74,$81)|0); - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$pPk>>2]|0; - $85 = ((($84)) + 52|0); - $86 = HEAP16[$85>>1]|0; - $87 = (($86) + -1)<<16>>16; - HEAP16[$85>>1] = $87; + $102 = HEAP32[$pPk>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$j>>2]|0; + $106 = HEAP32[$i>>2]|0; + $107 = HEAP32[$pPk>>2]|0; + $108 = ((($107)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = (($109) + ($106<<1)|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111 << 16 >> 16; + $113 = (_hasColumn($104,$105,$112)|0); + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$pPk>>2]|0; + $116 = ((($115)) + 52|0); + $117 = HEAP16[$116>>1]|0; + $118 = (($117) + -1)<<16>>16; + HEAP16[$116>>1] = $118; } else { - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$pPk>>2]|0; - $90 = ((($89)) + 4|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + ($88<<1)|0); - $93 = HEAP16[$92>>1]|0; - $94 = HEAP32[$j>>2]|0; - $95 = (($94) + 1)|0; - HEAP32[$j>>2] = $95; - $96 = HEAP32[$pPk>>2]|0; - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = (($98) + ($94<<1)|0); - HEAP16[$99>>1] = $93; + $119 = HEAP32[$i>>2]|0; + $120 = HEAP32[$pPk>>2]|0; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = (($122) + ($119<<1)|0); + $124 = HEAP16[$123>>1]|0; + $125 = HEAP32[$j>>2]|0; + $126 = (($125) + 1)|0; + HEAP32[$j>>2] = $126; + $127 = HEAP32[$pPk>>2]|0; + $128 = ((($127)) + 4|0); + $129 = HEAP32[$128>>2]|0; + $130 = (($129) + ($125<<1)|0); + HEAP16[$130>>1] = $124; } - $100 = HEAP32[$i>>2]|0; - $101 = (($100) + 1)|0; - HEAP32[$i>>2] = $101; + $131 = HEAP32[$i>>2]|0; + $132 = (($131) + 1)|0; + HEAP32[$i>>2] = $132; } - $102 = HEAP32[$j>>2]|0; - $103 = $102&65535; - $104 = HEAP32[$pPk>>2]|0; - $105 = ((($104)) + 50|0); - HEAP16[$105>>1] = $103; + $133 = HEAP32[$j>>2]|0; + $134 = $133&65535; + $135 = HEAP32[$pPk>>2]|0; + $136 = ((($135)) + 50|0); + HEAP16[$136>>1] = $134; } } while(0); - $106 = HEAP32[$pPk>>2]|0; - $107 = ((($106)) + 55|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108 & -33; - $110 = $109 | 32; - HEAP8[$107>>0] = $110; - $111 = HEAP32[$pPk>>2]|0; - $112 = ((($111)) + 50|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113&65535; - HEAP32[$nPk>>2] = $114; - $115 = HEAP32[$db>>2]|0; - $116 = ((($115)) + 144|0); - $117 = ((($116)) + 7|0); - $118 = HEAP8[$117>>0]|0; - $119 = ($118<<24>>24)!=(0); - if (!($119)) { - HEAP32[$i>>2] = 0; - while(1) { - $120 = HEAP32[$i>>2]|0; - $121 = HEAP32[$nPk>>2]|0; - $122 = ($120|0)<($121|0); - if (!($122)) { - break; - } - $123 = HEAP32[$i>>2]|0; - $124 = HEAP32[$pPk>>2]|0; - $125 = ((($124)) + 4|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + ($123<<1)|0); - $128 = HEAP16[$127>>1]|0; - $129 = $128 << 16 >> 16; - $130 = HEAP32[$1>>2]|0; - $131 = ((($130)) + 4|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + ($129<<4)|0); - $134 = ((($133)) + 12|0); - HEAP8[$134>>0] = 2; - $135 = HEAP32[$i>>2]|0; - $136 = (($135) + 1)|0; - HEAP32[$i>>2] = $136; - } - $137 = HEAP32[$pPk>>2]|0; - $138 = ((($137)) + 55|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139 & -9; - $141 = $140 | 8; - HEAP8[$138>>0] = $141; - } - $142 = HEAP32[$1>>2]|0; - $143 = ((($142)) + 28|0); - $144 = HEAP32[$143>>2]|0; - $145 = HEAP32[$pPk>>2]|0; - $146 = ((($145)) + 44|0); - HEAP32[$146>>2] = $144; - $147 = HEAP32[$1>>2]|0; - $148 = ((($147)) + 8|0); - $149 = HEAP32[$148>>2]|0; - HEAP32[$pIdx>>2] = $149; - L32: while(1) { - $150 = HEAP32[$pIdx>>2]|0; - $151 = ($150|0)!=(0|0); - if (!($151)) { + $137 = HEAP32[$pPk>>2]|0; + $138 = ((($137)) + 55|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139 & -33; + $141 = $140 | 32; + HEAP8[$138>>0] = $141; + $142 = HEAP32[$db>>2]|0; + $143 = ((($142)) + 148|0); + $144 = ((($143)) + 7|0); + $145 = HEAP8[$144>>0]|0; + $146 = ($145<<24>>24)!=(0); + if (!($146)) { + $147 = HEAP32[$pPk>>2]|0; + $148 = ((($147)) + 55|0); + $149 = HEAP8[$148>>0]|0; + $150 = $149 & -9; + $151 = $150 | 8; + HEAP8[$148>>0] = $151; + } + $152 = HEAP32[$pPk>>2]|0; + $153 = ((($152)) + 50|0); + $154 = HEAP16[$153>>1]|0; + $155 = $154&65535; + HEAP32[$nPk>>2] = $155; + $156 = HEAP32[$1>>2]|0; + $157 = ((($156)) + 28|0); + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$pPk>>2]|0; + $160 = ((($159)) + 44|0); + HEAP32[$160>>2] = $158; + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 8|0); + $163 = HEAP32[$162>>2]|0; + HEAP32[$pIdx>>2] = $163; + L40: while(1) { + $164 = HEAP32[$pIdx>>2]|0; + $165 = ($164|0)!=(0|0); + if (!($165)) { break; } - $152 = HEAP32[$pIdx>>2]|0; - $153 = ((($152)) + 55|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154 & 3; - $156 = $155&255; - $157 = ($156|0)==(2); - L35: do { - if (!($157)) { + $166 = HEAP32[$pIdx>>2]|0; + $167 = ((($166)) + 55|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168 & 3; + $170 = $169&255; + $171 = ($170|0)==(2); + L43: do { + if (!($171)) { HEAP32[$n>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $158 = HEAP32[$i>>2]|0; - $159 = HEAP32[$nPk>>2]|0; - $160 = ($158|0)<($159|0); - if (!($160)) { + $172 = HEAP32[$i>>2]|0; + $173 = HEAP32[$nPk>>2]|0; + $174 = ($172|0)<($173|0); + if (!($174)) { break; } - $161 = HEAP32[$pIdx>>2]|0; - $162 = ((($161)) + 4|0); - $163 = HEAP32[$162>>2]|0; - $164 = HEAP32[$pIdx>>2]|0; - $165 = ((($164)) + 50|0); - $166 = HEAP16[$165>>1]|0; - $167 = $166&65535; - $168 = HEAP32[$i>>2]|0; - $169 = HEAP32[$pPk>>2]|0; - $170 = ((($169)) + 4|0); - $171 = HEAP32[$170>>2]|0; - $172 = (($171) + ($168<<1)|0); - $173 = HEAP16[$172>>1]|0; - $174 = $173 << 16 >> 16; - $175 = (_hasColumn($163,$167,$174)|0); - $176 = ($175|0)!=(0); - if (!($176)) { - $177 = HEAP32[$n>>2]|0; - $178 = (($177) + 1)|0; - HEAP32[$n>>2] = $178; - } - $179 = HEAP32[$i>>2]|0; - $180 = (($179) + 1)|0; - HEAP32[$i>>2] = $180; - } - $181 = HEAP32[$n>>2]|0; - $182 = ($181|0)==(0); - if ($182) { - $183 = HEAP32[$pIdx>>2]|0; - $184 = ((($183)) + 50|0); - $185 = HEAP16[$184>>1]|0; - $186 = HEAP32[$pIdx>>2]|0; - $187 = ((($186)) + 52|0); - HEAP16[$187>>1] = $185; + $175 = HEAP32[$pIdx>>2]|0; + $176 = ((($175)) + 4|0); + $177 = HEAP32[$176>>2]|0; + $178 = HEAP32[$pIdx>>2]|0; + $179 = ((($178)) + 50|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180&65535; + $182 = HEAP32[$i>>2]|0; + $183 = HEAP32[$pPk>>2]|0; + $184 = ((($183)) + 4|0); + $185 = HEAP32[$184>>2]|0; + $186 = (($185) + ($182<<1)|0); + $187 = HEAP16[$186>>1]|0; + $188 = $187 << 16 >> 16; + $189 = (_hasColumn($177,$181,$188)|0); + $190 = ($189|0)!=(0); + if (!($190)) { + $191 = HEAP32[$n>>2]|0; + $192 = (($191) + 1)|0; + HEAP32[$n>>2] = $192; + } + $193 = HEAP32[$i>>2]|0; + $194 = (($193) + 1)|0; + HEAP32[$i>>2] = $194; + } + $195 = HEAP32[$n>>2]|0; + $196 = ($195|0)==(0); + if ($196) { + $197 = HEAP32[$pIdx>>2]|0; + $198 = ((($197)) + 50|0); + $199 = HEAP16[$198>>1]|0; + $200 = HEAP32[$pIdx>>2]|0; + $201 = ((($200)) + 52|0); + HEAP16[$201>>1] = $199; break; } - $188 = HEAP32[$db>>2]|0; - $189 = HEAP32[$pIdx>>2]|0; - $190 = HEAP32[$pIdx>>2]|0; - $191 = ((($190)) + 50|0); - $192 = HEAP16[$191>>1]|0; - $193 = $192&65535; - $194 = HEAP32[$n>>2]|0; - $195 = (($193) + ($194))|0; - $196 = (_resizeIndexObject($188,$189,$195)|0); - $197 = ($196|0)!=(0); - if ($197) { - label = 46; - break L32; + $202 = HEAP32[$db>>2]|0; + $203 = HEAP32[$pIdx>>2]|0; + $204 = HEAP32[$pIdx>>2]|0; + $205 = ((($204)) + 50|0); + $206 = HEAP16[$205>>1]|0; + $207 = $206&65535; + $208 = HEAP32[$n>>2]|0; + $209 = (($207) + ($208))|0; + $210 = (_resizeIndexObject($202,$203,$209)|0); + $211 = ($210|0)!=(0); + if ($211) { + label = 50; + break L40; } HEAP32[$i>>2] = 0; - $198 = HEAP32[$pIdx>>2]|0; - $199 = ((($198)) + 50|0); - $200 = HEAP16[$199>>1]|0; - $201 = $200&65535; - HEAP32[$j>>2] = $201; + $212 = HEAP32[$pIdx>>2]|0; + $213 = ((($212)) + 50|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + HEAP32[$j>>2] = $215; while(1) { - $202 = HEAP32[$i>>2]|0; - $203 = HEAP32[$nPk>>2]|0; - $204 = ($202|0)<($203|0); - if (!($204)) { - break L35; + $216 = HEAP32[$i>>2]|0; + $217 = HEAP32[$nPk>>2]|0; + $218 = ($216|0)<($217|0); + if (!($218)) { + break L43; } - $205 = HEAP32[$pIdx>>2]|0; - $206 = ((($205)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = HEAP32[$pIdx>>2]|0; - $209 = ((($208)) + 50|0); - $210 = HEAP16[$209>>1]|0; - $211 = $210&65535; - $212 = HEAP32[$i>>2]|0; - $213 = HEAP32[$pPk>>2]|0; - $214 = ((($213)) + 4|0); - $215 = HEAP32[$214>>2]|0; - $216 = (($215) + ($212<<1)|0); - $217 = HEAP16[$216>>1]|0; - $218 = $217 << 16 >> 16; - $219 = (_hasColumn($207,$211,$218)|0); - $220 = ($219|0)!=(0); - if (!($220)) { - $221 = HEAP32[$i>>2]|0; - $222 = HEAP32[$pPk>>2]|0; - $223 = ((($222)) + 4|0); - $224 = HEAP32[$223>>2]|0; - $225 = (($224) + ($221<<1)|0); - $226 = HEAP16[$225>>1]|0; - $227 = HEAP32[$j>>2]|0; - $228 = HEAP32[$pIdx>>2]|0; - $229 = ((($228)) + 4|0); - $230 = HEAP32[$229>>2]|0; - $231 = (($230) + ($227<<1)|0); - HEAP16[$231>>1] = $226; - $232 = HEAP32[$i>>2]|0; - $233 = HEAP32[$pPk>>2]|0; - $234 = ((($233)) + 32|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232<<2)|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[$j>>2]|0; - $239 = HEAP32[$pIdx>>2]|0; - $240 = ((($239)) + 32|0); - $241 = HEAP32[$240>>2]|0; - $242 = (($241) + ($238<<2)|0); - HEAP32[$242>>2] = $237; - $243 = HEAP32[$j>>2]|0; - $244 = (($243) + 1)|0; - HEAP32[$j>>2] = $244; - } - $245 = HEAP32[$i>>2]|0; - $246 = (($245) + 1)|0; - HEAP32[$i>>2] = $246; + $219 = HEAP32[$pIdx>>2]|0; + $220 = ((($219)) + 4|0); + $221 = HEAP32[$220>>2]|0; + $222 = HEAP32[$pIdx>>2]|0; + $223 = ((($222)) + 50|0); + $224 = HEAP16[$223>>1]|0; + $225 = $224&65535; + $226 = HEAP32[$i>>2]|0; + $227 = HEAP32[$pPk>>2]|0; + $228 = ((($227)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = (($229) + ($226<<1)|0); + $231 = HEAP16[$230>>1]|0; + $232 = $231 << 16 >> 16; + $233 = (_hasColumn($221,$225,$232)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + $235 = HEAP32[$i>>2]|0; + $236 = HEAP32[$pPk>>2]|0; + $237 = ((($236)) + 4|0); + $238 = HEAP32[$237>>2]|0; + $239 = (($238) + ($235<<1)|0); + $240 = HEAP16[$239>>1]|0; + $241 = HEAP32[$j>>2]|0; + $242 = HEAP32[$pIdx>>2]|0; + $243 = ((($242)) + 4|0); + $244 = HEAP32[$243>>2]|0; + $245 = (($244) + ($241<<1)|0); + HEAP16[$245>>1] = $240; + $246 = HEAP32[$i>>2]|0; + $247 = HEAP32[$pPk>>2]|0; + $248 = ((($247)) + 32|0); + $249 = HEAP32[$248>>2]|0; + $250 = (($249) + ($246<<2)|0); + $251 = HEAP32[$250>>2]|0; + $252 = HEAP32[$j>>2]|0; + $253 = HEAP32[$pIdx>>2]|0; + $254 = ((($253)) + 32|0); + $255 = HEAP32[$254>>2]|0; + $256 = (($255) + ($252<<2)|0); + HEAP32[$256>>2] = $251; + $257 = HEAP32[$j>>2]|0; + $258 = (($257) + 1)|0; + HEAP32[$j>>2] = $258; + } + $259 = HEAP32[$i>>2]|0; + $260 = (($259) + 1)|0; + HEAP32[$i>>2] = $260; } } } while(0); - $247 = HEAP32[$pIdx>>2]|0; - $248 = ((($247)) + 20|0); - $249 = HEAP32[$248>>2]|0; - HEAP32[$pIdx>>2] = $249; + $261 = HEAP32[$pIdx>>2]|0; + $262 = ((($261)) + 20|0); + $263 = HEAP32[$262>>2]|0; + HEAP32[$pIdx>>2] = $263; } - if ((label|0) == 46) { + if ((label|0) == 50) { STACKTOP = sp;return; } - $250 = HEAP32[$nPk>>2]|0; - $251 = HEAP32[$1>>2]|0; - $252 = ((($251)) + 34|0); - $253 = HEAP16[$252>>1]|0; - $254 = $253 << 16 >> 16; - $255 = ($250|0)<($254|0); - if (!($255)) { - $294 = HEAP32[$1>>2]|0; - $295 = ((($294)) + 34|0); - $296 = HEAP16[$295>>1]|0; - $297 = HEAP32[$pPk>>2]|0; - $298 = ((($297)) + 52|0); - HEAP16[$298>>1] = $296; + $264 = HEAP32[$nPk>>2]|0; + $265 = HEAP32[$1>>2]|0; + $266 = ((($265)) + 34|0); + $267 = HEAP16[$266>>1]|0; + $268 = $267 << 16 >> 16; + $269 = ($264|0)<($268|0); + if (!($269)) { + $308 = HEAP32[$1>>2]|0; + $309 = ((($308)) + 34|0); + $310 = HEAP16[$309>>1]|0; + $311 = HEAP32[$pPk>>2]|0; + $312 = ((($311)) + 52|0); + HEAP16[$312>>1] = $310; STACKTOP = sp;return; } - $256 = HEAP32[$db>>2]|0; - $257 = HEAP32[$pPk>>2]|0; - $258 = HEAP32[$1>>2]|0; - $259 = ((($258)) + 34|0); - $260 = HEAP16[$259>>1]|0; - $261 = $260 << 16 >> 16; - $262 = (_resizeIndexObject($256,$257,$261)|0); - $263 = ($262|0)!=(0); - if ($263) { + $270 = HEAP32[$db>>2]|0; + $271 = HEAP32[$pPk>>2]|0; + $272 = HEAP32[$1>>2]|0; + $273 = ((($272)) + 34|0); + $274 = HEAP16[$273>>1]|0; + $275 = $274 << 16 >> 16; + $276 = (_resizeIndexObject($270,$271,$275)|0); + $277 = ($276|0)!=(0); + if ($277) { STACKTOP = sp;return; } HEAP32[$i>>2] = 0; - $264 = HEAP32[$nPk>>2]|0; - HEAP32[$j>>2] = $264; + $278 = HEAP32[$nPk>>2]|0; + HEAP32[$j>>2] = $278; while(1) { - $265 = HEAP32[$i>>2]|0; - $266 = HEAP32[$1>>2]|0; - $267 = ((($266)) + 34|0); - $268 = HEAP16[$267>>1]|0; - $269 = $268 << 16 >> 16; - $270 = ($265|0)<($269|0); - if (!($270)) { + $279 = HEAP32[$i>>2]|0; + $280 = HEAP32[$1>>2]|0; + $281 = ((($280)) + 34|0); + $282 = HEAP16[$281>>1]|0; + $283 = $282 << 16 >> 16; + $284 = ($279|0)<($283|0); + if (!($284)) { break; } - $271 = HEAP32[$pPk>>2]|0; - $272 = ((($271)) + 4|0); - $273 = HEAP32[$272>>2]|0; - $274 = HEAP32[$j>>2]|0; - $275 = HEAP32[$i>>2]|0; - $276 = (_hasColumn($273,$274,$275)|0); - $277 = ($276|0)!=(0); - if (!($277)) { - $278 = HEAP32[$i>>2]|0; - $279 = $278&65535; - $280 = HEAP32[$j>>2]|0; - $281 = HEAP32[$pPk>>2]|0; - $282 = ((($281)) + 4|0); - $283 = HEAP32[$282>>2]|0; - $284 = (($283) + ($280<<1)|0); - HEAP16[$284>>1] = $279; - $285 = HEAP32[$j>>2]|0; - $286 = HEAP32[$pPk>>2]|0; - $287 = ((($286)) + 32|0); - $288 = HEAP32[$287>>2]|0; - $289 = (($288) + ($285<<2)|0); - HEAP32[$289>>2] = 35351; - $290 = HEAP32[$j>>2]|0; - $291 = (($290) + 1)|0; - HEAP32[$j>>2] = $291; - } - $292 = HEAP32[$i>>2]|0; - $293 = (($292) + 1)|0; - HEAP32[$i>>2] = $293; + $285 = HEAP32[$pPk>>2]|0; + $286 = ((($285)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = HEAP32[$j>>2]|0; + $289 = HEAP32[$i>>2]|0; + $290 = (_hasColumn($287,$288,$289)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + $292 = HEAP32[$i>>2]|0; + $293 = $292&65535; + $294 = HEAP32[$j>>2]|0; + $295 = HEAP32[$pPk>>2]|0; + $296 = ((($295)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = (($297) + ($294<<1)|0); + HEAP16[$298>>1] = $293; + $299 = HEAP32[$j>>2]|0; + $300 = HEAP32[$pPk>>2]|0; + $301 = ((($300)) + 32|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($299<<2)|0); + HEAP32[$303>>2] = 34834; + $304 = HEAP32[$j>>2]|0; + $305 = (($304) + 1)|0; + HEAP32[$j>>2] = $305; + } + $306 = HEAP32[$i>>2]|0; + $307 = (($306) + 1)|0; + HEAP32[$i>>2] = $307; } STACKTOP = sp;return; } @@ -207690,13 +212158,13 @@ function _createTableStmt($db,$p) { $27 = HEAP32[$n>>2]|0; $28 = ($27|0)<(50); if ($28) { - HEAP32[$zSep>>2] = 19018; - HEAP32[$zSep2>>2] = 37926; - HEAP32[$zEnd>>2] = 35227; + HEAP32[$zSep>>2] = 18402; + HEAP32[$zSep2>>2] = 34710; + HEAP32[$zEnd>>2] = 34706; } else { - HEAP32[$zSep>>2] = 37928; - HEAP32[$zSep2>>2] = 37932; - HEAP32[$zEnd>>2] = 37937; + HEAP32[$zSep>>2] = 37369; + HEAP32[$zSep2>>2] = 37373; + HEAP32[$zEnd>>2] = 37378; } $29 = HEAP32[$2>>2]|0; $30 = ((($29)) + 34|0); @@ -207723,7 +212191,7 @@ function _createTableStmt($db,$p) { } $44 = HEAP32[$n>>2]|0; $45 = HEAP32[$zStmt>>2]|0; - (_sqlite3_snprintf($44,$45,37940,$vararg_buffer)|0); + (_sqlite3_snprintf($44,$45,37381,$vararg_buffer)|0); $46 = HEAP32[$zStmt>>2]|0; $47 = (_sqlite3Strlen30($46)|0); HEAP32[$k>>2] = $47; @@ -207778,7 +212246,7 @@ function _createTableStmt($db,$p) { $83 = HEAP8[$82>>0]|0; $84 = $83 << 24 >> 24; $85 = (($84) - 65)|0; - $86 = (6332 + ($85<<2)|0); + $86 = (5492 + ($85<<2)|0); $87 = HEAP32[$86>>2]|0; HEAP32[$zType>>2] = $87; $88 = HEAP32[$zType>>2]|0; @@ -207803,7 +212271,7 @@ function _createTableStmt($db,$p) { } $102 = HEAP32[$zEnd>>2]|0; HEAP32[$vararg_buffer3>>2] = $102; - (_sqlite3_snprintf($66,$69,19007,$vararg_buffer3)|0); + (_sqlite3_snprintf($66,$69,18391,$vararg_buffer3)|0); $103 = HEAP32[$zStmt>>2]|0; HEAP32[$0>>2] = $103; $104 = HEAP32[$0>>2]|0; @@ -207886,7 +212354,7 @@ function _identPut($z,$pIdx,$zSignedIdent) { $13 = (($12) + ($11)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; - $16 = (19019 + ($15)|0); + $16 = (18403 + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 & 6; @@ -207909,7 +212377,7 @@ function _identPut($z,$pIdx,$zSignedIdent) { $29 = HEAP32[$zIdent>>2]|0; $30 = HEAP8[$29>>0]|0; $31 = $30&255; - $32 = (19019 + ($31)|0); + $32 = (18403 + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $34 & 4; @@ -208148,20 +212616,20 @@ function _sqlite3OpenMasterTable($p,$iDb) { $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(1); - $8 = $7 ? 20521 : 20540; + $8 = $7 ? 19905 : 19924; _sqlite3TableLock($4,$5,1,1,$8); $9 = HEAP32[$v>>2]|0; $10 = HEAP32[$1>>2]|0; - (_sqlite3VdbeAddOp4Int($9,103,0,1,$10,5)|0); + (_sqlite3VdbeAddOp4Int($9,105,0,1,$10,5)|0); $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 72|0); + $12 = ((($11)) + 40|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(0); if (!($14)) { STACKTOP = sp;return; } $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 72|0); + $16 = ((($15)) + 40|0); HEAP32[$16>>2] = 1; STACKTOP = sp;return; } @@ -208184,7 +212652,7 @@ function _codeTableLocks($pParse) { while(1) { $3 = HEAP32[$i>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 404|0); + $5 = ((($4)) + 112|0); $6 = HEAP32[$5>>2]|0; $7 = ($3|0)<($6|0); if (!($7)) { @@ -208192,7 +212660,7 @@ function _codeTableLocks($pParse) { } $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 408|0); + $10 = ((($9)) + 116|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + ($8<<4)|0); HEAP32[$p>>2] = $12; @@ -208211,7 +212679,7 @@ function _codeTableLocks($pParse) { $24 = HEAP32[$p>>2]|0; $25 = ((($24)) + 12|0); $26 = HEAP32[$25>>2]|0; - (_sqlite3VdbeAddOp4($15,149,$16,$19,$23,$26,-2)|0); + (_sqlite3VdbeAddOp4($15,151,$16,$19,$23,$26,-2)|0); $27 = HEAP32[$i>>2]|0; $28 = (($27) + 1)|0; HEAP32[$i>>2] = $28; @@ -208243,7 +212711,7 @@ function _sqlite3AutoincrementBegin($pParse) { $5 = HEAP32[$4>>2]|0; HEAP32[$v>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 412|0); + $7 = ((($6)) + 120|0); $8 = HEAP32[$7>>2]|0; HEAP32[$p>>2] = $8; while(1) { @@ -208274,7 +212742,7 @@ function _sqlite3AutoincrementBegin($pParse) { $27 = HEAP32[$26>>2]|0; $28 = ((($27)) + 72|0); $29 = HEAP32[$28>>2]|0; - _sqlite3OpenTable($21,0,$24,$29,102); + _sqlite3OpenTable($21,0,$24,$29,104); $30 = HEAP32[$v>>2]|0; $31 = HEAP32[$memId>>2]|0; $32 = (($31) - 1)|0; @@ -208284,7 +212752,7 @@ function _sqlite3AutoincrementBegin($pParse) { $36 = HEAP32[$35>>2]|0; (_sqlite3VdbeLoadString($30,$32,$36)|0); $37 = HEAP32[$v>>2]|0; - $38 = (_sqlite3VdbeAddOpList($37,10,38116,0)|0); + $38 = (_sqlite3VdbeAddOpList($37,10,37557,0)|0); HEAP32[$aOp>>2] = $38; $39 = HEAP32[$aOp>>2]|0; $40 = ($39|0)==(0|0); @@ -208355,7 +212823,7 @@ function _logBadConnection($zType) { HEAP32[$0>>2] = $zType; $1 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $1; - _sqlite3_log(21,40039,$vararg_buffer); + _sqlite3_log(21,39546,$vararg_buffer); STACKTOP = sp;return; } function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzTail) { @@ -208370,30 +212838,29 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $i = 0, $iFirst = 0, $mx = 0, $mxLen = 0, $pBt = 0, $pParse = 0, $pT = 0, $pVdbe = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $zDb = 0, $zErrMsg = 0, $zSqlCopy = 0, label = 0, sp = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iFirst = 0, $mx = 0, $mxLen = 0, $pBt = 0, $pT = 0, $pVdbe = 0, $rc = 0, $sParse = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0; + var $zDb = 0, $zErrMsg = 0, $zSqlCopy = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 576|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $4 = sp + 76|0; - $5 = sp + 72|0; - $6 = sp + 68|0; - $pParse = sp + 64|0; - $zErrMsg = sp + 60|0; - $rc = sp + 56|0; - $i = sp + 52|0; + $0 = sp + 572|0; + $1 = sp + 568|0; + $2 = sp + 564|0; + $3 = sp + 560|0; + $4 = sp + 556|0; + $5 = sp + 552|0; + $6 = sp + 548|0; + $zErrMsg = sp + 544|0; + $rc = sp + 540|0; + $i = sp + 536|0; + $sParse = sp + 56|0; $pBt = sp + 48|0; $zDb = sp + 44|0; $zSqlCopy = sp + 40|0; @@ -208411,390 +212878,332 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT HEAP32[$6>>2] = $pzTail; HEAP32[$zErrMsg>>2] = 0; HEAP32[$rc>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3DbMallocZero($7,544,0)|0); - HEAP32[$pParse>>2] = $8; - $9 = HEAP32[$pParse>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$rc>>2] = 7; - $216 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($216); - $217 = HEAP32[$0>>2]|0; - $218 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($217,$218); - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$rc>>2]|0; - $221 = (_sqlite3ApiExit($219,$220)|0); - HEAP32[$rc>>2] = $221; - $222 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($222|0); - } - $11 = HEAP32[$4>>2]|0; - $12 = HEAP32[$pParse>>2]|0; - $13 = ((($12)) + 480|0); - HEAP32[$13>>2] = $11; + _memset(($sParse|0),0,152)|0; + $7 = ((($sParse)) + 400|0); + dest=$7; stop=dest+80|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ((($sParse)) + 432|0); + HEAP32[$9>>2] = $8; HEAP32[$i>>2] = 0; while(1) { - $14 = HEAP32[$i>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($14|0)<($17|0); - if (!($18)) { + $10 = HEAP32[$i>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($10|0)<($13|0); + if (!($14)) { break; } - $19 = HEAP32[$i>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($19<<4)|0); - $24 = ((($23)) + 4|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$pBt>>2] = $25; - $26 = HEAP32[$pBt>>2]|0; - $27 = ($26|0)!=(0|0); - if ($27) { - $28 = HEAP32[$pBt>>2]|0; - $29 = (_sqlite3BtreeSchemaLocked($28)|0); - HEAP32[$rc>>2] = $29; - $30 = HEAP32[$rc>>2]|0; - $31 = ($30|0)!=(0); - if ($31) { - label = 7; + $15 = HEAP32[$i>>2]|0; + $16 = HEAP32[$0>>2]|0; + $17 = ((($16)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($15<<4)|0); + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$pBt>>2] = $21; + $22 = HEAP32[$pBt>>2]|0; + $23 = ($22|0)!=(0|0); + if ($23) { + $24 = HEAP32[$pBt>>2]|0; + $25 = (_sqlite3BtreeSchemaLocked($24)|0); + HEAP32[$rc>>2] = $25; + $26 = HEAP32[$rc>>2]|0; + $27 = ($26|0)!=(0); + if ($27) { + label = 5; break; } } - $41 = HEAP32[$i>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[$i>>2] = $42; + $37 = HEAP32[$i>>2]|0; + $38 = (($37) + 1)|0; + HEAP32[$i>>2] = $38; } - if ((label|0) == 7) { - $32 = HEAP32[$i>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = ((($33)) + 16|0); - $35 = HEAP32[$34>>2]|0; - $36 = (($35) + ($32<<4)|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$zDb>>2] = $37; - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$rc>>2]|0; - $40 = HEAP32[$zDb>>2]|0; - HEAP32[$vararg_buffer>>2] = $40; - _sqlite3ErrorWithMsg($38,$39,40084,$vararg_buffer); - $216 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($216); - $217 = HEAP32[$0>>2]|0; - $218 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($217,$218); - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$rc>>2]|0; - $221 = (_sqlite3ApiExit($219,$220)|0); - HEAP32[$rc>>2] = $221; - $222 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($222|0); + if ((label|0) == 5) { + $28 = HEAP32[$i>>2]|0; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 16|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + ($28<<4)|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$zDb>>2] = $33; + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$rc>>2]|0; + $36 = HEAP32[$zDb>>2]|0; + HEAP32[$vararg_buffer>>2] = $36; + _sqlite3ErrorWithMsg($34,$35,39591,$vararg_buffer); + _sqlite3ParserReset($sParse); + $184 = HEAP32[$0>>2]|0; + $185 = HEAP32[$rc>>2]|0; + $186 = (_sqlite3ApiExit($184,$185)|0); + HEAP32[$rc>>2] = $186; + $187 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($187|0); } - $43 = HEAP32[$0>>2]|0; - _sqlite3VtabUnlockList($43); - $44 = HEAP32[$0>>2]|0; - $45 = HEAP32[$pParse>>2]|0; - HEAP32[$45>>2] = $44; - $46 = HEAP32[$pParse>>2]|0; - $47 = ((($46)) + 428|0); - HEAP32[$47>>2] = 0; - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)>=(0); + $39 = HEAP32[$0>>2]|0; + _sqlite3VtabUnlockList($39); + $40 = HEAP32[$0>>2]|0; + HEAP32[$sParse>>2] = $40; + $41 = HEAP32[$2>>2]|0; + $42 = ($41|0)>=(0); do { - if ($49) { - $50 = HEAP32[$2>>2]|0; - $51 = ($50|0)==(0); - if (!($51)) { - $52 = HEAP32[$2>>2]|0; - $53 = (($52) - 1)|0; - $54 = HEAP32[$1>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = ($57|0)!=(0); - if (!($58)) { - label = 17; + if ($42) { + $43 = HEAP32[$2>>2]|0; + $44 = ($43|0)==(0); + if (!($44)) { + $45 = HEAP32[$2>>2]|0; + $46 = (($45) - 1)|0; + $47 = HEAP32[$1>>2]|0; + $48 = (($47) + ($46)|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49 << 24 >> 24; + $51 = ($50|0)!=(0); + if (!($51)) { + label = 15; break; } } + $52 = HEAP32[$0>>2]|0; + $53 = ((($52)) + 96|0); + $54 = ((($53)) + 4|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$mxLen>>2] = $55; + $56 = HEAP32[$2>>2]|0; + $57 = HEAP32[$mxLen>>2]|0; + $58 = ($56|0)>($57|0); $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 92|0); - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$mxLen>>2] = $62; - $63 = HEAP32[$2>>2]|0; - $64 = HEAP32[$mxLen>>2]|0; - $65 = ($63|0)>($64|0); - $66 = HEAP32[$0>>2]|0; - if ($65) { - _sqlite3ErrorWithMsg($66,18,40114,$vararg_buffer1); - $67 = HEAP32[$0>>2]|0; - $68 = (_sqlite3ApiExit($67,18)|0); - HEAP32[$rc>>2] = $68; - $216 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($216); - $217 = HEAP32[$0>>2]|0; - $218 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($217,$218); - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$rc>>2]|0; - $221 = (_sqlite3ApiExit($219,$220)|0); - HEAP32[$rc>>2] = $221; - $222 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($222|0); + if ($58) { + _sqlite3ErrorWithMsg($59,18,39621,$vararg_buffer1); + $60 = HEAP32[$0>>2]|0; + $61 = (_sqlite3ApiExit($60,18)|0); + HEAP32[$rc>>2] = $61; + _sqlite3ParserReset($sParse); + $184 = HEAP32[$0>>2]|0; + $185 = HEAP32[$rc>>2]|0; + $186 = (_sqlite3ApiExit($184,$185)|0); + HEAP32[$rc>>2] = $186; + $187 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($187|0); } - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = (_sqlite3DbStrNDup($66,$69,$70,$72)|0); - HEAP32[$zSqlCopy>>2] = $73; - $74 = HEAP32[$zSqlCopy>>2]|0; - $75 = ($74|0)!=(0|0); - if ($75) { - $76 = HEAP32[$pParse>>2]|0; - $77 = HEAP32[$zSqlCopy>>2]|0; - (_sqlite3RunParser($76,$77,$zErrMsg)|0); - $78 = HEAP32[$pParse>>2]|0; - $79 = ((($78)) + 484|0); - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$zSqlCopy>>2]|0; - $82 = $80; - $83 = $81; - $84 = (($82) - ($83))|0; - $85 = HEAP32[$1>>2]|0; - $86 = (($85) + ($84)|0); - $87 = HEAP32[$pParse>>2]|0; - $88 = ((($87)) + 484|0); - HEAP32[$88>>2] = $86; - $89 = HEAP32[$0>>2]|0; - $90 = HEAP32[$zSqlCopy>>2]|0; - _sqlite3DbFree($89,$90); + $62 = HEAP32[$1>>2]|0; + $63 = HEAP32[$2>>2]|0; + $64 = ($63|0)<(0); + $65 = $64 << 31 >> 31; + $66 = (_sqlite3DbStrNDup($59,$62,$63,$65)|0); + HEAP32[$zSqlCopy>>2] = $66; + $67 = HEAP32[$zSqlCopy>>2]|0; + $68 = ($67|0)!=(0|0); + if ($68) { + $69 = HEAP32[$zSqlCopy>>2]|0; + (_sqlite3RunParser($sParse,$69,$zErrMsg)|0); + $70 = ((($sParse)) + 436|0); + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$zSqlCopy>>2]|0; + $73 = $71; + $74 = $72; + $75 = (($73) - ($74))|0; + $76 = HEAP32[$1>>2]|0; + $77 = (($76) + ($75)|0); + $78 = ((($sParse)) + 436|0); + HEAP32[$78>>2] = $77; + $79 = HEAP32[$0>>2]|0; + $80 = HEAP32[$zSqlCopy>>2]|0; + _sqlite3DbFree($79,$80); break; } else { - $91 = HEAP32[$2>>2]|0; - $92 = HEAP32[$1>>2]|0; - $93 = (($92) + ($91)|0); - $94 = HEAP32[$pParse>>2]|0; - $95 = ((($94)) + 484|0); - HEAP32[$95>>2] = $93; + $81 = HEAP32[$2>>2]|0; + $82 = HEAP32[$1>>2]|0; + $83 = (($82) + ($81)|0); + $84 = ((($sParse)) + 436|0); + HEAP32[$84>>2] = $83; break; } } else { - label = 17; + label = 15; } } while(0); - if ((label|0) == 17) { - $96 = HEAP32[$pParse>>2]|0; - $97 = HEAP32[$1>>2]|0; - (_sqlite3RunParser($96,$97,$zErrMsg)|0); + if ((label|0) == 15) { + $85 = HEAP32[$1>>2]|0; + (_sqlite3RunParser($sParse,$85,$zErrMsg)|0); } - $98 = HEAP32[$pParse>>2]|0; - $99 = ((($98)) + 12|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)==(101); - if ($101) { - $102 = HEAP32[$pParse>>2]|0; - $103 = ((($102)) + 12|0); - HEAP32[$103>>2] = 0; + $86 = ((($sParse)) + 12|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($87|0)==(101); + if ($88) { + $89 = ((($sParse)) + 12|0); + HEAP32[$89>>2] = 0; } - $104 = HEAP32[$pParse>>2]|0; - $105 = ((($104)) + 17|0); - $106 = HEAP8[$105>>0]|0; - $107 = ($106<<24>>24)!=(0); - if ($107) { - $108 = HEAP32[$pParse>>2]|0; - _schemaIsValid($108); + $90 = ((($sParse)) + 17|0); + $91 = HEAP8[$90>>0]|0; + $92 = ($91<<24>>24)!=(0); + if ($92) { + _schemaIsValid($sParse); } - $109 = HEAP32[$0>>2]|0; - $110 = ((($109)) + 69|0); - $111 = HEAP8[$110>>0]|0; - $112 = ($111<<24>>24)!=(0); - if ($112) { - $113 = HEAP32[$pParse>>2]|0; - $114 = ((($113)) + 12|0); - HEAP32[$114>>2] = 7; + $93 = HEAP32[$0>>2]|0; + $94 = ((($93)) + 69|0); + $95 = HEAP8[$94>>0]|0; + $96 = ($95<<24>>24)!=(0); + if ($96) { + $97 = ((($sParse)) + 12|0); + HEAP32[$97>>2] = 7; } - $115 = HEAP32[$6>>2]|0; - $116 = ($115|0)!=(0|0); - if ($116) { - $117 = HEAP32[$pParse>>2]|0; - $118 = ((($117)) + 484|0); - $119 = HEAP32[$118>>2]|0; - $120 = HEAP32[$6>>2]|0; - HEAP32[$120>>2] = $119; + $98 = HEAP32[$6>>2]|0; + $99 = ($98|0)!=(0|0); + if ($99) { + $100 = ((($sParse)) + 436|0); + $101 = HEAP32[$100>>2]|0; + $102 = HEAP32[$6>>2]|0; + HEAP32[$102>>2] = $101; } - $121 = HEAP32[$pParse>>2]|0; - $122 = ((($121)) + 12|0); - $123 = HEAP32[$122>>2]|0; - HEAP32[$rc>>2] = $123; - $124 = HEAP32[$rc>>2]|0; - $125 = ($124|0)==(0); - L42: do { - if ($125) { - $126 = HEAP32[$pParse>>2]|0; - $127 = ((($126)) + 8|0); - $128 = HEAP32[$127>>2]|0; - $129 = ($128|0)!=(0|0); - if ($129) { - $130 = HEAP32[$pParse>>2]|0; - $131 = ((($130)) + 453|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = ($133|0)!=(0); - if ($134) { - $135 = HEAP32[$pParse>>2]|0; - $136 = ((($135)) + 453|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = ($138|0)==(2); - $140 = HEAP32[$pParse>>2]|0; - $141 = ((($140)) + 8|0); - $142 = HEAP32[$141>>2]|0; - if ($139) { - _sqlite3VdbeSetNumCols($142,4); + $103 = ((($sParse)) + 12|0); + $104 = HEAP32[$103>>2]|0; + HEAP32[$rc>>2] = $104; + $105 = HEAP32[$rc>>2]|0; + $106 = ($105|0)==(0); + L38: do { + if ($106) { + $107 = ((($sParse)) + 8|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)!=(0|0); + if ($109) { + $110 = ((($sParse)) + 409|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = ($112|0)!=(0); + if ($113) { + $114 = ((($sParse)) + 409|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = ($116|0)==(2); + $118 = ((($sParse)) + 8|0); + $119 = HEAP32[$118>>2]|0; + if ($117) { + _sqlite3VdbeSetNumCols($119,4); HEAP32[$iFirst>>2] = 8; HEAP32[$mx>>2] = 12; } else { - _sqlite3VdbeSetNumCols($142,8); + _sqlite3VdbeSetNumCols($119,8); HEAP32[$iFirst>>2] = 0; HEAP32[$mx>>2] = 8; } - $143 = HEAP32[$iFirst>>2]|0; - HEAP32[$i>>2] = $143; + $120 = HEAP32[$iFirst>>2]|0; + HEAP32[$i>>2] = $120; while(1) { - $144 = HEAP32[$i>>2]|0; - $145 = HEAP32[$mx>>2]|0; - $146 = ($144|0)<($145|0); - if (!($146)) { - break L42; + $121 = HEAP32[$i>>2]|0; + $122 = HEAP32[$mx>>2]|0; + $123 = ($121|0)<($122|0); + if (!($123)) { + break L38; } - $147 = HEAP32[$pParse>>2]|0; - $148 = ((($147)) + 8|0); - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$i>>2]|0; - $151 = HEAP32[$iFirst>>2]|0; - $152 = (($150) - ($151))|0; - $153 = HEAP32[$i>>2]|0; - $154 = (6364 + ($153<<2)|0); - $155 = HEAP32[$154>>2]|0; - (_sqlite3VdbeSetColName($149,$152,0,$155,0)|0); - $156 = HEAP32[$i>>2]|0; - $157 = (($156) + 1)|0; - HEAP32[$i>>2] = $157; + $124 = ((($sParse)) + 8|0); + $125 = HEAP32[$124>>2]|0; + $126 = HEAP32[$i>>2]|0; + $127 = HEAP32[$iFirst>>2]|0; + $128 = (($126) - ($127))|0; + $129 = HEAP32[$i>>2]|0; + $130 = (5524 + ($129<<2)|0); + $131 = HEAP32[$130>>2]|0; + (_sqlite3VdbeSetColName($125,$128,0,$131,0)|0); + $132 = HEAP32[$i>>2]|0; + $133 = (($132) + 1)|0; + HEAP32[$i>>2] = $133; } } } } } while(0); - $158 = HEAP32[$0>>2]|0; - $159 = ((($158)) + 144|0); - $160 = ((($159)) + 5|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $163 = ($162|0)==(0); - if ($163) { - $164 = HEAP32[$pParse>>2]|0; - $165 = ((($164)) + 8|0); - $166 = HEAP32[$165>>2]|0; - HEAP32[$pVdbe>>2] = $166; - $167 = HEAP32[$pVdbe>>2]|0; - $168 = HEAP32[$1>>2]|0; - $169 = HEAP32[$pParse>>2]|0; - $170 = ((($169)) + 484|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$1>>2]|0; - $173 = $171; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = HEAP32[$3>>2]|0; - _sqlite3VdbeSetSql($167,$168,$175,$176); - } - $177 = HEAP32[$pParse>>2]|0; - $178 = ((($177)) + 8|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)!=(0|0); + $134 = HEAP32[$0>>2]|0; + $135 = ((($134)) + 148|0); + $136 = ((($135)) + 5|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = ($138|0)==(0); + if ($139) { + $140 = ((($sParse)) + 8|0); + $141 = HEAP32[$140>>2]|0; + HEAP32[$pVdbe>>2] = $141; + $142 = HEAP32[$pVdbe>>2]|0; + $143 = HEAP32[$1>>2]|0; + $144 = ((($sParse)) + 436|0); + $145 = HEAP32[$144>>2]|0; + $146 = HEAP32[$1>>2]|0; + $147 = $145; + $148 = $146; + $149 = (($147) - ($148))|0; + $150 = HEAP32[$3>>2]|0; + _sqlite3VdbeSetSql($142,$143,$149,$150); + } + $151 = ((($sParse)) + 8|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)!=(0|0); do { - if ($180) { - $181 = HEAP32[$rc>>2]|0; - $182 = ($181|0)!=(0); - if (!($182)) { - $183 = HEAP32[$0>>2]|0; - $184 = ((($183)) + 69|0); - $185 = HEAP8[$184>>0]|0; - $186 = $185&255; - $187 = ($186|0)!=(0); - if (!($187)) { - label = 41; + if ($153) { + $154 = HEAP32[$rc>>2]|0; + $155 = ($154|0)!=(0); + if (!($155)) { + $156 = HEAP32[$0>>2]|0; + $157 = ((($156)) + 69|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = ($159|0)!=(0); + if (!($160)) { + label = 39; break; } } - $188 = HEAP32[$pParse>>2]|0; - $189 = ((($188)) + 8|0); - $190 = HEAP32[$189>>2]|0; - (_sqlite3VdbeFinalize($190)|0); + $161 = ((($sParse)) + 8|0); + $162 = HEAP32[$161>>2]|0; + (_sqlite3VdbeFinalize($162)|0); } else { - label = 41; + label = 39; } } while(0); - if ((label|0) == 41) { - $191 = HEAP32[$pParse>>2]|0; - $192 = ((($191)) + 8|0); - $193 = HEAP32[$192>>2]|0; - $194 = HEAP32[$5>>2]|0; - HEAP32[$194>>2] = $193; + if ((label|0) == 39) { + $163 = ((($sParse)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = HEAP32[$5>>2]|0; + HEAP32[$165>>2] = $164; } - $195 = HEAP32[$zErrMsg>>2]|0; - $196 = ($195|0)!=(0|0); - $197 = HEAP32[$0>>2]|0; - $198 = HEAP32[$rc>>2]|0; - if ($196) { - $199 = HEAP32[$zErrMsg>>2]|0; - HEAP32[$vararg_buffer3>>2] = $199; - _sqlite3ErrorWithMsg($197,$198,19007,$vararg_buffer3); - $200 = HEAP32[$0>>2]|0; - $201 = HEAP32[$zErrMsg>>2]|0; - _sqlite3DbFree($200,$201); + $166 = HEAP32[$zErrMsg>>2]|0; + $167 = ($166|0)!=(0|0); + $168 = HEAP32[$0>>2]|0; + $169 = HEAP32[$rc>>2]|0; + if ($167) { + $170 = HEAP32[$zErrMsg>>2]|0; + HEAP32[$vararg_buffer3>>2] = $170; + _sqlite3ErrorWithMsg($168,$169,18391,$vararg_buffer3); + $171 = HEAP32[$0>>2]|0; + $172 = HEAP32[$zErrMsg>>2]|0; + _sqlite3DbFree($171,$172); } else { - _sqlite3Error($197,$198); + _sqlite3Error($168,$169); } while(1) { - $202 = HEAP32[$pParse>>2]|0; - $203 = ((($202)) + 532|0); - $204 = HEAP32[$203>>2]|0; - $205 = ($204|0)!=(0|0); - if (!($205)) { + $173 = ((($sParse)) + 468|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)!=(0|0); + if (!($175)) { break; } - $206 = HEAP32[$pParse>>2]|0; - $207 = ((($206)) + 532|0); - $208 = HEAP32[$207>>2]|0; - HEAP32[$pT>>2] = $208; - $209 = HEAP32[$pT>>2]|0; - $210 = ((($209)) + 4|0); - $211 = HEAP32[$210>>2]|0; - $212 = HEAP32[$pParse>>2]|0; - $213 = ((($212)) + 532|0); - HEAP32[$213>>2] = $211; - $214 = HEAP32[$0>>2]|0; - $215 = HEAP32[$pT>>2]|0; - _sqlite3DbFree($214,$215); - } - $216 = HEAP32[$pParse>>2]|0; - _sqlite3ParserReset($216); - $217 = HEAP32[$0>>2]|0; - $218 = HEAP32[$pParse>>2]|0; - _sqlite3DbFree($217,$218); - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$rc>>2]|0; - $221 = (_sqlite3ApiExit($219,$220)|0); - HEAP32[$rc>>2] = $221; - $222 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($222|0); + $176 = ((($sParse)) + 468|0); + $177 = HEAP32[$176>>2]|0; + HEAP32[$pT>>2] = $177; + $178 = HEAP32[$pT>>2]|0; + $179 = ((($178)) + 4|0); + $180 = HEAP32[$179>>2]|0; + $181 = ((($sParse)) + 468|0); + HEAP32[$181>>2] = $180; + $182 = HEAP32[$0>>2]|0; + $183 = HEAP32[$pT>>2]|0; + _sqlite3DbFree($182,$183); + } + _sqlite3ParserReset($sParse); + $184 = HEAP32[$0>>2]|0; + $185 = HEAP32[$rc>>2]|0; + $186 = (_sqlite3ApiExit($184,$185)|0); + HEAP32[$rc>>2] = $186; + $187 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($187|0); } function _sqlite3BtreeSchemaLocked($p) { $p = $p|0; @@ -208942,20 +213351,20 @@ function _sqlite3VdbeSetSql($p,$z,$n,$isPrepareV2) { $11 = $10 << 31 >> 31; $12 = (_sqlite3DbStrNDup($7,$8,$9,$11)|0); $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 168|0); + $14 = ((($13)) + 176|0); HEAP32[$14>>2] = $12; $15 = HEAP32[$3>>2]|0; $16 = $15&255; $17 = $16&255; $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 89|0); - $20 = $17&255; - $21 = HEAP8[$19>>0]|0; + $19 = ((($18)) + 144|0); + $20 = $17&65535; + $21 = HEAP16[$19>>1]|0; $22 = $20 & 1; - $23 = ($22 << 7)&255; - $24 = $21 & 127; + $23 = ($22 << 9)&65535; + $24 = $21 & -513; $25 = $24 | $23; - HEAP8[$19>>0] = $25; + HEAP16[$19>>1] = $25; STACKTOP = sp;return; } function _querySharedCacheTableLock($p,$iTab,$eLock) { @@ -209315,101 +213724,122 @@ function _btreeReleaseAllCursorPages($pCur) { function _saveCursorKey($pCur) { $pCur = $pCur|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pKey = 0, $rc = 0; - var label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pKey = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $rc = sp + 4|0; $pKey = sp; HEAP32[$0>>2] = $pCur; + HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 40|0); - $4 = (_sqlite3BtreeKeySize($1,$3)|0); - HEAP32[$rc>>2] = $4; + $2 = ((($1)) + 69|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 69|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (0)==($8|0); - if (!($9)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); - } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 40|0); - $12 = $11; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (_sqlite3Malloc($14,$17)|0); - HEAP32[$pKey>>2] = $18; - $19 = HEAP32[$pKey>>2]|0; - $20 = ($19|0)!=(0|0); - if (!($20)) { - HEAP32[$rc>>2] = 7; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + if ($4) { + $6 = (_sqlite3BtreeIntegerKey($5)|0); + $7 = tempRet0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 40|0); + $10 = $9; + $11 = $10; + HEAP32[$11>>2] = $6; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $7; + $48 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($48|0); } + $14 = (_sqlite3BtreePayloadSize($5)|0); + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 40|0); + $17 = $16; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = 0; $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 40|0); + $22 = ((($21)) + 40|0); + $23 = $22; $24 = $23; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3Malloc($25,$28)|0); + HEAP32[$pKey>>2] = $29; $30 = HEAP32[$pKey>>2]|0; - $31 = (_sqlite3BtreeKey($21,0,$26,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$pKey>>2]|0; - if ($33) { - $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 48|0); - HEAP32[$36>>2] = $34; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $31 = ($30|0)!=(0|0); + if (!($31)) { + HEAP32[$rc>>2] = 7; + $48 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($48|0); + } + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$0>>2]|0; + $34 = ((($33)) + 40|0); + $35 = $34; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = (($35) + 4)|0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$pKey>>2]|0; + $42 = (_sqlite3BtreeKey($32,0,$37,$41)|0); + HEAP32[$rc>>2] = $42; + $43 = HEAP32[$rc>>2]|0; + $44 = ($43|0)==(0); + $45 = HEAP32[$pKey>>2]|0; + if ($44) { + $46 = HEAP32[$0>>2]|0; + $47 = ((($46)) + 48|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($48|0); } else { - _sqlite3_free($34); - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + _sqlite3_free($45); + $48 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($48|0); } return (0)|0; } -function _sqlite3BtreeKeySize($pCur,$pSize) { +function _sqlite3BtreeIntegerKey($pCur) { $pCur = $pCur|0; - $pSize = $pSize|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; + $0 = sp; HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $pSize; + $1 = HEAP32[$0>>2]|0; + _getCellInfo($1); $2 = HEAP32[$0>>2]|0; - _getCellInfo($2); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 16|0); + $3 = ((($2)) + 16|0); + $4 = $3; $5 = $4; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + 4)|0; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = $11; - $13 = $12; - HEAP32[$13>>2] = $7; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = $10; - STACKTOP = sp;return 0; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + tempRet0 = ($9); + STACKTOP = sp;return ($6|0); +} +function _sqlite3BtreePayloadSize($pCur) { + $pCur = $pCur|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pCur; + $1 = HEAP32[$0>>2]|0; + _getCellInfo($1); + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 16|0); + $4 = ((($3)) + 12|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); } function _sqlite3BtreeKey($pCur,$offset,$amt,$pBuf) { $pCur = $pCur|0; @@ -209567,7 +213997,7 @@ function _vdbeChangeP4Full($p,$pOp,$zP4,$n) { $23 = HEAP32[$0>>2]|0; $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 4|0); + $26 = ((($25)) + 88|0); $27 = HEAP32[$26>>2]|0; $28 = $24; $29 = $27; @@ -209634,18 +214064,16 @@ function _sqlite3VtabEponymousTableInit($pParse,$pMod) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $db = 0, $nName = 0, $pModule = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0; - var $zErr = 0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $db = 0, $pModule = 0, $pTab = 0, $rc = 0, $vararg_buffer = 0, $zErr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $pModule = sp + 24|0; - $pTab = sp + 20|0; - $zErr = sp + 16|0; - $nName = sp + 12|0; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $pModule = sp + 20|0; + $pTab = sp + 16|0; + $zErr = sp + 12|0; $rc = sp + 8|0; $db = sp + 4|0; HEAP32[$1>>2] = $pParse; @@ -209663,8 +214091,8 @@ function _sqlite3VtabEponymousTableInit($pParse,$pMod) { $10 = ($9|0)!=(0|0); if ($10) { HEAP32[$0>>2] = 1; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); } $11 = HEAP32[$pModule>>2]|0; $12 = ((($11)) + 4|0); @@ -209680,119 +214108,118 @@ function _sqlite3VtabEponymousTableInit($pParse,$pMod) { $21 = ($17|0)!=($20|0); if ($21) { HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); } } - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3Strlen30($24)|0); - $26 = (($25) + 1)|0; - HEAP32[$nName>>2] = $26; - $27 = HEAP32[$db>>2]|0; - $28 = HEAP32[$nName>>2]|0; - $29 = (72 + ($28))|0; - $30 = (_sqlite3DbMallocZero($27,$29,0)|0); - HEAP32[$pTab>>2] = $30; + $22 = HEAP32[$db>>2]|0; + $23 = (_sqlite3DbMallocZero($22,72,0)|0); + HEAP32[$pTab>>2] = $23; + $24 = HEAP32[$pTab>>2]|0; + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$0>>2] = 0; + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); + } + $26 = HEAP32[$db>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3DbStrDup($26,$29)|0); $31 = HEAP32[$pTab>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { + HEAP32[$31>>2] = $30; + $32 = HEAP32[$pTab>>2]|0; + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0|0); + if ($34) { + $35 = HEAP32[$db>>2]|0; + $36 = HEAP32[$pTab>>2]|0; + _sqlite3DbFree($35,$36); HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); } - $33 = HEAP32[$pTab>>2]|0; - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 16|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$pTab>>2]|0; - $37 = ((($36)) + 72|0); - $38 = HEAP32[$pTab>>2]|0; - HEAP32[$38>>2] = $37; - $39 = HEAP32[$pTab>>2]|0; - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = HEAP32[$nName>>2]|0; - _memcpy(($40|0),($43|0),($44|0))|0; - $45 = HEAP32[$pTab>>2]|0; - $46 = ((($45)) + 36|0); - HEAP16[$46>>1] = 1; - $47 = HEAP32[$db>>2]|0; - $48 = ((($47)) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($49)) + 12|0); - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$pTab>>2]|0; - $53 = ((($52)) + 64|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$pTab>>2]|0; - $55 = ((($54)) + 42|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = $57 | 16; - $59 = $58&255; - HEAP8[$55>>0] = $59; + $37 = HEAP32[$pTab>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 16|0); + HEAP32[$39>>2] = $37; + $40 = HEAP32[$pTab>>2]|0; + $41 = ((($40)) + 36|0); + HEAP16[$41>>1] = 1; + $42 = HEAP32[$db>>2]|0; + $43 = ((($42)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = HEAP32[$pTab>>2]|0; + $48 = ((($47)) + 64|0); + HEAP32[$48>>2] = $46; + $49 = HEAP32[$pTab>>2]|0; + $50 = ((($49)) + 42|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = $52 | 16; + $54 = $53&255; + HEAP8[$50>>0] = $54; + $55 = HEAP32[$pTab>>2]|0; + $56 = ((($55)) + 48|0); + HEAP32[$56>>2] = 0; + $57 = HEAP32[$pTab>>2]|0; + $58 = ((($57)) + 32|0); + HEAP16[$58>>1] = -1; + $59 = HEAP32[$db>>2]|0; $60 = HEAP32[$pTab>>2]|0; - $61 = ((($60)) + 48|0); - HEAP32[$61>>2] = 0; + $61 = HEAP32[$db>>2]|0; $62 = HEAP32[$pTab>>2]|0; - $63 = ((($62)) + 32|0); - HEAP16[$63>>1] = -1; - $64 = HEAP32[$db>>2]|0; - $65 = HEAP32[$pTab>>2]|0; - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$pTab>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = (_sqlite3DbStrDup($66,$68)|0); - _addModuleArgument($64,$65,$69); - $70 = HEAP32[$db>>2]|0; - $71 = HEAP32[$pTab>>2]|0; - _addModuleArgument($70,$71,0); - $72 = HEAP32[$db>>2]|0; - $73 = HEAP32[$pTab>>2]|0; - $74 = HEAP32[$db>>2]|0; - $75 = HEAP32[$pTab>>2]|0; - $76 = HEAP32[$75>>2]|0; - $77 = (_sqlite3DbStrDup($74,$76)|0); - _addModuleArgument($72,$73,$77); - $78 = HEAP32[$db>>2]|0; - $79 = HEAP32[$pTab>>2]|0; - $80 = HEAP32[$2>>2]|0; - $81 = HEAP32[$pModule>>2]|0; - $82 = ((($81)) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = (_vtabCallConstructor($78,$79,$80,$83,$zErr)|0); - HEAP32[$rc>>2] = $84; - $85 = HEAP32[$rc>>2]|0; - $86 = ($85|0)!=(0); - if ($86) { - $87 = HEAP32[$1>>2]|0; - $88 = HEAP32[$zErr>>2]|0; - HEAP32[$vararg_buffer>>2] = $88; - _sqlite3ErrorMsg($87,19007,$vararg_buffer); - $89 = HEAP32[$db>>2]|0; - $90 = HEAP32[$zErr>>2]|0; - _sqlite3DbFree($89,$90); - $91 = HEAP32[$db>>2]|0; - $92 = HEAP32[$2>>2]|0; - _sqlite3VtabEponymousTableClear($91,$92); + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3DbStrDup($61,$63)|0); + _addModuleArgument($59,$60,$64); + $65 = HEAP32[$db>>2]|0; + $66 = HEAP32[$pTab>>2]|0; + _addModuleArgument($65,$66,0); + $67 = HEAP32[$db>>2]|0; + $68 = HEAP32[$pTab>>2]|0; + $69 = HEAP32[$db>>2]|0; + $70 = HEAP32[$pTab>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3DbStrDup($69,$71)|0); + _addModuleArgument($67,$68,$72); + $73 = HEAP32[$db>>2]|0; + $74 = HEAP32[$pTab>>2]|0; + $75 = HEAP32[$2>>2]|0; + $76 = HEAP32[$pModule>>2]|0; + $77 = ((($76)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = (_vtabCallConstructor($73,$74,$75,$78,$zErr)|0); + HEAP32[$rc>>2] = $79; + $80 = HEAP32[$rc>>2]|0; + $81 = ($80|0)!=(0); + if ($81) { + $82 = HEAP32[$1>>2]|0; + $83 = HEAP32[$zErr>>2]|0; + HEAP32[$vararg_buffer>>2] = $83; + _sqlite3ErrorMsg($82,18391,$vararg_buffer); + $84 = HEAP32[$db>>2]|0; + $85 = HEAP32[$zErr>>2]|0; + _sqlite3DbFree($84,$85); + $86 = HEAP32[$db>>2]|0; + $87 = HEAP32[$2>>2]|0; + _sqlite3VtabEponymousTableClear($86,$87); HEAP32[$0>>2] = 0; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); } else { HEAP32[$0>>2] = 1; - $93 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($93|0); + $88 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($88|0); } return (0)|0; } function _sqlite3VtabEponymousTableClear($db,$pMod) { $db = $db|0; $pMod = $pMod|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTab = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -209809,155 +214236,71 @@ function _sqlite3VtabEponymousTableClear($db,$pMod) { if (!($6)) { STACKTOP = sp;return; } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$pTab>>2]|0; - _sqlite3DeleteColumnNames($7,$8); - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$pTab>>2]|0; - _sqlite3VtabClear($9,$10); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$pTab>>2]|0; - _sqlite3DbFree($11,$12); - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = 0; - STACKTOP = sp;return; -} -function _sqlite3VtabClear($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $i = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - if ($3) { - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 456|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $8 = HEAP32[$1>>2]|0; - (_vtabDisconnectAll(0,$8)|0); - } - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 48|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($13|0)<($16|0); - if (!($17)) { - break; - } - $18 = HEAP32[$i>>2]|0; - $19 = ($18|0)!=(1); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$i>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 52|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($24) + ($21<<2)|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3DbFree($20,$26); - } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[$i>>2] = $28; - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 52|0); - $32 = HEAP32[$31>>2]|0; - _sqlite3DbFree($29,$32); + $7 = HEAP32[$pTab>>2]|0; + $8 = ((($7)) + 42|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = $10 | 2; + $12 = $11&255; + HEAP8[$8>>0] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$pTab>>2]|0; + _sqlite3DeleteTable($13,$14); + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 16|0); + HEAP32[$16>>2] = 0; STACKTOP = sp;return; } -function _vtabDisconnectAll($db,$p) { - $db = $db|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db2 = 0, $pNext = 0, $pRet = 0, $pVTable = 0, label = 0, sp = 0; +function _findNextHostParameter($zSql,$pnToken) { + $zSql = $zSql|0; + $pnToken = $pnToken|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $nTotal = 0; + var $tokenType = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $pRet = sp + 12|0; - $pVTable = sp + 8|0; - $db2 = sp + 4|0; - $pNext = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $p; - HEAP32[$pRet>>2] = 0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $tokenType = sp + 8|0; + $nTotal = sp + 4|0; + $n = sp; + HEAP32[$0>>2] = $zSql; + HEAP32[$1>>2] = $pnToken; + HEAP32[$nTotal>>2] = 0; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 56|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pVTable>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 56|0); - HEAP32[$6>>2] = 0; + HEAP32[$2>>2] = 0; while(1) { - $7 = HEAP32[$pVTable>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { + $3 = HEAP32[$0>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)!=(0); + if (!($5)) { + label = 6; break; } - $9 = HEAP32[$pVTable>>2]|0; - $10 = HEAP32[$9>>2]|0; - HEAP32[$db2>>2] = $10; - $11 = HEAP32[$pVTable>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$pNext>>2] = $13; - $14 = HEAP32[$db2>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ($14|0)==($15|0); - if ($16) { - $17 = HEAP32[$pVTable>>2]|0; - HEAP32[$pRet>>2] = $17; - $18 = HEAP32[$pRet>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 56|0); - HEAP32[$20>>2] = $18; - $21 = HEAP32[$pRet>>2]|0; - $22 = ((($21)) + 24|0); - HEAP32[$22>>2] = 0; - } else { - $23 = HEAP32[$db2>>2]|0; - $24 = ((($23)) + 344|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$pVTable>>2]|0; - $27 = ((($26)) + 24|0); - HEAP32[$27>>2] = $25; - $28 = HEAP32[$pVTable>>2]|0; - $29 = HEAP32[$db2>>2]|0; - $30 = ((($29)) + 344|0); - HEAP32[$30>>2] = $28; + $6 = HEAP32[$0>>2]|0; + $7 = (_sqlite3GetToken($6,$tokenType)|0); + HEAP32[$n>>2] = $7; + $8 = HEAP32[$tokenType>>2]|0; + $9 = ($8|0)==(135); + $10 = HEAP32[$n>>2]|0; + if ($9) { + break; } - $31 = HEAP32[$pNext>>2]|0; - HEAP32[$pVTable>>2] = $31; + $12 = HEAP32[$nTotal>>2]|0; + $13 = (($12) + ($10))|0; + HEAP32[$nTotal>>2] = $13; + $14 = HEAP32[$n>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = (($15) + ($14)|0); + HEAP32[$0>>2] = $16; } - $32 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($32|0); + if ((label|0) == 6) { + $17 = HEAP32[$nTotal>>2]|0; + STACKTOP = sp;return ($17|0); + } + $11 = HEAP32[$1>>2]|0; + HEAP32[$11>>2] = $10; + $17 = HEAP32[$nTotal>>2]|0; + STACKTOP = sp;return ($17|0); } function _sqlite3VdbeMemMove($pTo,$pFrom) { $pTo = $pTo|0; @@ -209985,14 +214328,14 @@ function _sqlite3VdbeMemMove($pTo,$pFrom) { function _columnNullValue() { var label = 0, sp = 0; sp = STACKTOP; - return (312|0); + return (320|0); } function _sqlite3VdbeSwap($pA,$pB) { $pA = $pA|0; $pB = $pB|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $tmp = 0, $zTmp = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $tmp = 0, $zTmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; $0 = sp + 220|0; @@ -210010,61 +214353,62 @@ function _sqlite3VdbeSwap($pA,$pB) { $5 = HEAP32[$1>>2]|0; _memcpy(($5|0),($tmp|0),208)|0; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 52|0); + $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pTmp>>2] = $8; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 52|0); + $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 52|0); + $13 = ((($12)) + 8|0); HEAP32[$13>>2] = $11; $14 = HEAP32[$pTmp>>2]|0; $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 52|0); + $16 = ((($15)) + 8|0); HEAP32[$16>>2] = $14; $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 48|0); + $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pTmp>>2] = $19; $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 48|0); + $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 48|0); + $24 = ((($23)) + 4|0); HEAP32[$24>>2] = $22; $25 = HEAP32[$pTmp>>2]|0; $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 48|0); + $27 = ((($26)) + 4|0); HEAP32[$27>>2] = $25; $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 168|0); + $29 = ((($28)) + 176|0); $30 = HEAP32[$29>>2]|0; HEAP32[$zTmp>>2] = $30; $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 168|0); + $32 = ((($31)) + 176|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 168|0); + $35 = ((($34)) + 176|0); HEAP32[$35>>2] = $33; $36 = HEAP32[$zTmp>>2]|0; $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 168|0); + $38 = ((($37)) + 176|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 89|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41&255) >>> 7; - $43 = $42&255; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 89|0); - $46 = $43&255; - $47 = HEAP8[$45>>0]|0; - $48 = $46 & 1; - $49 = ($48 << 7)&255; - $50 = $47 & 127; - $51 = $50 | $49; - HEAP8[$45>>0] = $51; + $40 = ((($39)) + 144|0); + $41 = HEAP16[$40>>1]|0; + $42 = ($41&65535) >>> 9; + $43 = $42 & 1; + $44 = $43&65535; + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 144|0); + $47 = $44&65535; + $48 = HEAP16[$46>>1]|0; + $49 = $47 & 1; + $50 = ($49 << 9)&65535; + $51 = $48 & -513; + $52 = $51 | $50; + HEAP16[$46>>1] = $52; STACKTOP = sp;return; } function _sqlite3VdbeResetStepResult($p) { @@ -210075,7 +214419,7 @@ function _sqlite3VdbeResetStepResult($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 80|0); + $2 = ((($1)) + 40|0); HEAP32[$2>>2] = 0; STACKTOP = sp;return; } @@ -210147,11 +214491,12 @@ function _sqlite3VdbeList($p) { var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apSub = 0, $db = 0, $i = 0; - var $j = 0, $j1 = 0, $nByte = 0, $nRow = 0, $nSub = 0, $pMem = 0, $pOp = 0, $pSub = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zP4 = 0, label = 0, sp = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apSub = 0, $db = 0, $i = 0, $j = 0, $j1 = 0, $nByte = 0, $nRow = 0, $nSub = 0, $pMem = 0, $pOp = 0, $pSub = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zP4 = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $vararg_buffer2 = sp + 8|0; @@ -210180,487 +214525,495 @@ function _sqlite3VdbeList($p) { HEAP32[$db>>2] = $3; HEAP32[$rc>>2] = 0; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 8|0); + $5 = ((($4)) + 92|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 40|0); HEAP32[$pMem>>2] = $7; $8 = HEAP32[$pMem>>2]|0; _releaseMemArray($8,8); $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 20|0); + $10 = ((($9)) + 104|0); HEAP32[$10>>2] = 0; $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 80|0); + $12 = ((($11)) + 40|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(7); if ($14) { $15 = HEAP32[$db>>2]|0; _sqlite3OomFault($15); HEAP32[$0>>2] = 1; - $336 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($336|0); + $343 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($343|0); } $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 32|0); + $17 = ((($16)) + 136|0); $18 = HEAP32[$17>>2]|0; HEAP32[$nRow>>2] = $18; $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 89|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 & 3; - $23 = $22&255; - $24 = ($23|0)==(1); + $20 = ((($19)) + 144|0); + $21 = HEAP16[$20>>1]|0; + $22 = ($21&65535) >>> 2; + $23 = $22 & 3; + $24 = $23&65535; + $25 = ($24|0)==(1); L5: do { - if ($24) { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 360|0); - HEAP32[$pSub>>2] = $28; - $29 = HEAP32[$pSub>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = $32 & 16; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$pSub>>2]|0; - $36 = ((($35)) + 12|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37>>>0) / 4)&-1; - HEAP32[$nSub>>2] = $38; - $39 = HEAP32[$pSub>>2]|0; - $40 = ((($39)) + 16|0); - $41 = HEAP32[$40>>2]|0; - HEAP32[$apSub>>2] = $41; + if ($25) { + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 92|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 360|0); + HEAP32[$pSub>>2] = $29; + $30 = HEAP32[$pSub>>2]|0; + $31 = ((($30)) + 8|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = $33 & 16; + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$pSub>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = (($38>>>0) / 4)&-1; + HEAP32[$nSub>>2] = $39; + $40 = HEAP32[$pSub>>2]|0; + $41 = ((($40)) + 16|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$apSub>>2] = $42; } HEAP32[$i>>2] = 0; while(1) { - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$nSub>>2]|0; - $44 = ($42|0)<($43|0); - if (!($44)) { + $43 = HEAP32[$i>>2]|0; + $44 = HEAP32[$nSub>>2]|0; + $45 = ($43|0)<($44|0); + if (!($45)) { break L5; } - $45 = HEAP32[$i>>2]|0; - $46 = HEAP32[$apSub>>2]|0; - $47 = (($46) + ($45<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($48)) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = HEAP32[$nRow>>2]|0; - $52 = (($51) + ($50))|0; - HEAP32[$nRow>>2] = $52; - $53 = HEAP32[$i>>2]|0; - $54 = (($53) + 1)|0; - HEAP32[$i>>2] = $54; + $46 = HEAP32[$i>>2]|0; + $47 = HEAP32[$apSub>>2]|0; + $48 = (($47) + ($46<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($49)) + 4|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$nRow>>2]|0; + $53 = (($52) + ($51))|0; + HEAP32[$nRow>>2] = $53; + $54 = HEAP32[$i>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$i>>2] = $55; } } } while(0); while(1) { - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 76|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[$56>>2] = $58; - HEAP32[$i>>2] = $57; - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$nRow>>2]|0; - $61 = ($59|0)<($60|0); - if (!($61)) { + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 36|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$57>>2] = $59; + HEAP32[$i>>2] = $58; + $60 = HEAP32[$i>>2]|0; + $61 = HEAP32[$nRow>>2]|0; + $62 = ($60|0)<($61|0); + if (!($62)) { break; } - $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 89|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64 & 3; - $66 = $65&255; - $67 = ($66|0)==(2); - if (!($67)) { + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 144|0); + $65 = HEAP16[$64>>1]|0; + $66 = ($65&65535) >>> 2; + $67 = $66 & 3; + $68 = $67&65535; + $69 = ($68|0)==(2); + if (!($69)) { break; } - $68 = HEAP32[$i>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 4|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + (($68*20)|0)|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73&255; - $75 = ($74|0)!=(160); - if (!($75)) { + $70 = HEAP32[$i>>2]|0; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 88|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + (($70*20)|0)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ($76|0)!=(162); + if (!($77)) { break; } } - $76 = HEAP32[$i>>2]|0; - $77 = HEAP32[$nRow>>2]|0; - $78 = ($76|0)>=($77|0); + $78 = HEAP32[$i>>2]|0; + $79 = HEAP32[$nRow>>2]|0; + $80 = ($78|0)>=($79|0); do { - if ($78) { - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 80|0); - HEAP32[$80>>2] = 0; + if ($80) { + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 40|0); + HEAP32[$82>>2] = 0; HEAP32[$rc>>2] = 101; } else { - $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 248|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)!=(0); - if ($84) { - $85 = HEAP32[$1>>2]|0; - $86 = ((($85)) + 80|0); - HEAP32[$86>>2] = 9; - HEAP32[$rc>>2] = 1; + $83 = HEAP32[$db>>2]|0; + $84 = ((($83)) + 248|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)!=(0); + if ($86) { $87 = HEAP32[$1>>2]|0; - $88 = HEAP32[$1>>2]|0; - $89 = ((($88)) + 80|0); - $90 = HEAP32[$89>>2]|0; - $91 = (_sqlite3ErrStr($90)|0); - _sqlite3VdbeError($87,$91,$vararg_buffer); + $88 = ((($87)) + 40|0); + HEAP32[$88>>2] = 9; + HEAP32[$rc>>2] = 1; + $89 = HEAP32[$1>>2]|0; + $90 = HEAP32[$1>>2]|0; + $91 = ((($90)) + 40|0); + $92 = HEAP32[$91>>2]|0; + $93 = (_sqlite3ErrStr($92)|0); + _sqlite3VdbeError($89,$93,$vararg_buffer); break; } - $92 = HEAP32[$i>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 32|0); - $95 = HEAP32[$94>>2]|0; - $96 = ($92|0)<($95|0); - if ($96) { - $97 = HEAP32[$i>>2]|0; - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($100) + (($97*20)|0)|0); - HEAP32[$pOp>>2] = $101; + $94 = HEAP32[$i>>2]|0; + $95 = HEAP32[$1>>2]|0; + $96 = ((($95)) + 136|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($94|0)<($97|0); + if ($98) { + $99 = HEAP32[$i>>2]|0; + $100 = HEAP32[$1>>2]|0; + $101 = ((($100)) + 88|0); + $102 = HEAP32[$101>>2]|0; + $103 = (($102) + (($99*20)|0)|0); + HEAP32[$pOp>>2] = $103; } else { - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 32|0); - $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$i>>2]|0; - $106 = (($105) - ($104))|0; - HEAP32[$i>>2] = $106; + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 136|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$i>>2]|0; + $108 = (($107) - ($106))|0; + HEAP32[$i>>2] = $108; HEAP32[$j>>2] = 0; while(1) { - $107 = HEAP32[$i>>2]|0; - $108 = HEAP32[$j>>2]|0; - $109 = HEAP32[$apSub>>2]|0; - $110 = (($109) + ($108<<2)|0); - $111 = HEAP32[$110>>2]|0; - $112 = ((($111)) + 4|0); + $109 = HEAP32[$i>>2]|0; + $110 = HEAP32[$j>>2]|0; + $111 = HEAP32[$apSub>>2]|0; + $112 = (($111) + ($110<<2)|0); $113 = HEAP32[$112>>2]|0; - $114 = ($107|0)>=($113|0); - if (!($114)) { + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($109|0)>=($115|0); + if (!($116)) { break; } - $115 = HEAP32[$j>>2]|0; - $116 = HEAP32[$apSub>>2]|0; - $117 = (($116) + ($115<<2)|0); - $118 = HEAP32[$117>>2]|0; - $119 = ((($118)) + 4|0); + $117 = HEAP32[$j>>2]|0; + $118 = HEAP32[$apSub>>2]|0; + $119 = (($118) + ($117<<2)|0); $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$i>>2]|0; - $122 = (($121) - ($120))|0; - HEAP32[$i>>2] = $122; - $123 = HEAP32[$j>>2]|0; - $124 = (($123) + 1)|0; - HEAP32[$j>>2] = $124; + $121 = ((($120)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = HEAP32[$i>>2]|0; + $124 = (($123) - ($122))|0; + HEAP32[$i>>2] = $124; + $125 = HEAP32[$j>>2]|0; + $126 = (($125) + 1)|0; + HEAP32[$j>>2] = $126; } - $125 = HEAP32[$i>>2]|0; - $126 = HEAP32[$j>>2]|0; - $127 = HEAP32[$apSub>>2]|0; - $128 = (($127) + ($126<<2)|0); - $129 = HEAP32[$128>>2]|0; - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + (($125*20)|0)|0); - HEAP32[$pOp>>2] = $131; + $127 = HEAP32[$i>>2]|0; + $128 = HEAP32[$j>>2]|0; + $129 = HEAP32[$apSub>>2]|0; + $130 = (($129) + ($128<<2)|0); + $131 = HEAP32[$130>>2]|0; + $132 = HEAP32[$131>>2]|0; + $133 = (($132) + (($127*20)|0)|0); + HEAP32[$pOp>>2] = $133; } - $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 89|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134 & 3; - $136 = $135&255; - $137 = ($136|0)==(1); - if ($137) { - $138 = HEAP32[$pMem>>2]|0; - $139 = ((($138)) + 8|0); - HEAP16[$139>>1] = 4; - $140 = HEAP32[$i>>2]|0; - $141 = ($140|0)<(0); - $142 = $141 << 31 >> 31; - $143 = HEAP32[$pMem>>2]|0; - $144 = $143; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; + $134 = HEAP32[$1>>2]|0; + $135 = ((($134)) + 144|0); + $136 = HEAP16[$135>>1]|0; + $137 = ($136&65535) >>> 2; + $138 = $137 & 3; + $139 = $138&65535; + $140 = ($139|0)==(1); + if ($140) { + $141 = HEAP32[$pMem>>2]|0; + $142 = ((($141)) + 8|0); + HEAP16[$142>>1] = 4; + $143 = HEAP32[$i>>2]|0; + $144 = ($143|0)<(0); + $145 = $144 << 31 >> 31; + $146 = HEAP32[$pMem>>2]|0; $147 = $146; - HEAP32[$147>>2] = $142; - $148 = HEAP32[$pMem>>2]|0; - $149 = ((($148)) + 40|0); - HEAP32[$pMem>>2] = $149; - $150 = HEAP32[$pMem>>2]|0; - $151 = ((($150)) + 8|0); - HEAP16[$151>>1] = 2562; - $152 = HEAP32[$pOp>>2]|0; - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = (_sqlite3OpcodeName($154)|0); - $156 = HEAP32[$pMem>>2]|0; - $157 = ((($156)) + 16|0); - HEAP32[$157>>2] = $155; - $158 = HEAP32[$pMem>>2]|0; - $159 = ((($158)) + 16|0); - $160 = HEAP32[$159>>2]|0; - $161 = (_sqlite3Strlen30($160)|0); - $162 = HEAP32[$pMem>>2]|0; - $163 = ((($162)) + 12|0); - HEAP32[$163>>2] = $161; - $164 = HEAP32[$pMem>>2]|0; - $165 = ((($164)) + 10|0); - HEAP8[$165>>0] = 1; - $166 = HEAP32[$pMem>>2]|0; - $167 = ((($166)) + 40|0); - HEAP32[$pMem>>2] = $167; - $168 = HEAP32[$pOp>>2]|0; - $169 = ((($168)) + 1|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170 << 24 >> 24; - $172 = ($171|0)==(-18); - if ($172) { - $173 = HEAP32[$nSub>>2]|0; - $174 = (($173) + 1)|0; - $175 = $174<<2; - HEAP32[$nByte>>2] = $175; + $148 = $147; + HEAP32[$148>>2] = $143; + $149 = (($147) + 4)|0; + $150 = $149; + HEAP32[$150>>2] = $145; + $151 = HEAP32[$pMem>>2]|0; + $152 = ((($151)) + 40|0); + HEAP32[$pMem>>2] = $152; + $153 = HEAP32[$pMem>>2]|0; + $154 = ((($153)) + 8|0); + HEAP16[$154>>1] = 2562; + $155 = HEAP32[$pOp>>2]|0; + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = (_sqlite3OpcodeName($157)|0); + $159 = HEAP32[$pMem>>2]|0; + $160 = ((($159)) + 16|0); + HEAP32[$160>>2] = $158; + $161 = HEAP32[$pMem>>2]|0; + $162 = ((($161)) + 16|0); + $163 = HEAP32[$162>>2]|0; + $164 = (_sqlite3Strlen30($163)|0); + $165 = HEAP32[$pMem>>2]|0; + $166 = ((($165)) + 12|0); + HEAP32[$166>>2] = $164; + $167 = HEAP32[$pMem>>2]|0; + $168 = ((($167)) + 10|0); + HEAP8[$168>>0] = 1; + $169 = HEAP32[$pMem>>2]|0; + $170 = ((($169)) + 40|0); + HEAP32[$pMem>>2] = $170; + $171 = HEAP32[$pOp>>2]|0; + $172 = ((($171)) + 1|0); + $173 = HEAP8[$172>>0]|0; + $174 = $173 << 24 >> 24; + $175 = ($174|0)==(-18); + if ($175) { + $176 = HEAP32[$nSub>>2]|0; + $177 = (($176) + 1)|0; + $178 = $177<<2; + HEAP32[$nByte>>2] = $178; HEAP32[$j1>>2] = 0; while(1) { - $176 = HEAP32[$j1>>2]|0; - $177 = HEAP32[$nSub>>2]|0; - $178 = ($176|0)<($177|0); - if (!($178)) { + $179 = HEAP32[$j1>>2]|0; + $180 = HEAP32[$nSub>>2]|0; + $181 = ($179|0)<($180|0); + if (!($181)) { break; } - $179 = HEAP32[$j1>>2]|0; - $180 = HEAP32[$apSub>>2]|0; - $181 = (($180) + ($179<<2)|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$pOp>>2]|0; - $184 = ((($183)) + 16|0); + $182 = HEAP32[$j1>>2]|0; + $183 = HEAP32[$apSub>>2]|0; + $184 = (($183) + ($182<<2)|0); $185 = HEAP32[$184>>2]|0; - $186 = ($182|0)==($185|0); - if ($186) { + $186 = HEAP32[$pOp>>2]|0; + $187 = ((($186)) + 16|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($185|0)==($188|0); + if ($189) { break; } - $187 = HEAP32[$j1>>2]|0; - $188 = (($187) + 1)|0; - HEAP32[$j1>>2] = $188; + $190 = HEAP32[$j1>>2]|0; + $191 = (($190) + 1)|0; + HEAP32[$j1>>2] = $191; } - $189 = HEAP32[$j1>>2]|0; - $190 = HEAP32[$nSub>>2]|0; - $191 = ($189|0)==($190|0); - if ($191) { - $192 = HEAP32[$pSub>>2]|0; - $193 = HEAP32[$nByte>>2]|0; - $194 = HEAP32[$nSub>>2]|0; - $195 = ($194|0)!=(0); - $196 = $195&1; - $197 = (_sqlite3VdbeMemGrow($192,$193,$196)|0); - $198 = (0)==($197|0); - if ($198) { - $199 = HEAP32[$pSub>>2]|0; - $200 = ((($199)) + 16|0); - $201 = HEAP32[$200>>2]|0; - HEAP32[$apSub>>2] = $201; - $202 = HEAP32[$pOp>>2]|0; + $192 = HEAP32[$j1>>2]|0; + $193 = HEAP32[$nSub>>2]|0; + $194 = ($192|0)==($193|0); + if ($194) { + $195 = HEAP32[$pSub>>2]|0; + $196 = HEAP32[$nByte>>2]|0; + $197 = HEAP32[$nSub>>2]|0; + $198 = ($197|0)!=(0); + $199 = $198&1; + $200 = (_sqlite3VdbeMemGrow($195,$196,$199)|0); + $201 = (0)==($200|0); + if ($201) { + $202 = HEAP32[$pSub>>2]|0; $203 = ((($202)) + 16|0); $204 = HEAP32[$203>>2]|0; - $205 = HEAP32[$nSub>>2]|0; - $206 = (($205) + 1)|0; - HEAP32[$nSub>>2] = $206; - $207 = HEAP32[$apSub>>2]|0; - $208 = (($207) + ($205<<2)|0); - HEAP32[$208>>2] = $204; - $209 = HEAP32[$pSub>>2]|0; - $210 = ((($209)) + 8|0); - $211 = HEAP16[$210>>1]|0; - $212 = $211&65535; - $213 = $212 | 16; - $214 = $213&65535; - HEAP16[$210>>1] = $214; - $215 = HEAP32[$nSub>>2]|0; - $216 = $215<<2; - $217 = HEAP32[$pSub>>2]|0; - $218 = ((($217)) + 12|0); - HEAP32[$218>>2] = $216; + HEAP32[$apSub>>2] = $204; + $205 = HEAP32[$pOp>>2]|0; + $206 = ((($205)) + 16|0); + $207 = HEAP32[$206>>2]|0; + $208 = HEAP32[$nSub>>2]|0; + $209 = (($208) + 1)|0; + HEAP32[$nSub>>2] = $209; + $210 = HEAP32[$apSub>>2]|0; + $211 = (($210) + ($208<<2)|0); + HEAP32[$211>>2] = $207; + $212 = HEAP32[$pSub>>2]|0; + $213 = ((($212)) + 8|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = $215 | 16; + $217 = $216&65535; + HEAP16[$213>>1] = $217; + $218 = HEAP32[$nSub>>2]|0; + $219 = $218<<2; + $220 = HEAP32[$pSub>>2]|0; + $221 = ((($220)) + 12|0); + HEAP32[$221>>2] = $219; } } } } - $219 = HEAP32[$pMem>>2]|0; - $220 = ((($219)) + 8|0); - HEAP16[$220>>1] = 4; - $221 = HEAP32[$pOp>>2]|0; - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = ($223|0)<(0); - $225 = $224 << 31 >> 31; - $226 = HEAP32[$pMem>>2]|0; - $227 = $226; - $228 = $227; - HEAP32[$228>>2] = $223; - $229 = (($227) + 4)|0; + $222 = HEAP32[$pMem>>2]|0; + $223 = ((($222)) + 8|0); + HEAP16[$223>>1] = 4; + $224 = HEAP32[$pOp>>2]|0; + $225 = ((($224)) + 4|0); + $226 = HEAP32[$225>>2]|0; + $227 = ($226|0)<(0); + $228 = $227 << 31 >> 31; + $229 = HEAP32[$pMem>>2]|0; $230 = $229; - HEAP32[$230>>2] = $225; - $231 = HEAP32[$pMem>>2]|0; - $232 = ((($231)) + 40|0); - HEAP32[$pMem>>2] = $232; - $233 = HEAP32[$pMem>>2]|0; - $234 = ((($233)) + 8|0); - HEAP16[$234>>1] = 4; - $235 = HEAP32[$pOp>>2]|0; - $236 = ((($235)) + 8|0); - $237 = HEAP32[$236>>2]|0; - $238 = ($237|0)<(0); - $239 = $238 << 31 >> 31; - $240 = HEAP32[$pMem>>2]|0; - $241 = $240; - $242 = $241; - HEAP32[$242>>2] = $237; - $243 = (($241) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $226; + $232 = (($230) + 4)|0; + $233 = $232; + HEAP32[$233>>2] = $228; + $234 = HEAP32[$pMem>>2]|0; + $235 = ((($234)) + 40|0); + HEAP32[$pMem>>2] = $235; + $236 = HEAP32[$pMem>>2]|0; + $237 = ((($236)) + 8|0); + HEAP16[$237>>1] = 4; + $238 = HEAP32[$pOp>>2]|0; + $239 = ((($238)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)<(0); + $242 = $241 << 31 >> 31; + $243 = HEAP32[$pMem>>2]|0; $244 = $243; - HEAP32[$244>>2] = $239; - $245 = HEAP32[$pMem>>2]|0; - $246 = ((($245)) + 40|0); - HEAP32[$pMem>>2] = $246; - $247 = HEAP32[$pMem>>2]|0; - $248 = ((($247)) + 8|0); - HEAP16[$248>>1] = 4; - $249 = HEAP32[$pOp>>2]|0; - $250 = ((($249)) + 12|0); - $251 = HEAP32[$250>>2]|0; - $252 = ($251|0)<(0); - $253 = $252 << 31 >> 31; - $254 = HEAP32[$pMem>>2]|0; - $255 = $254; - $256 = $255; - HEAP32[$256>>2] = $251; - $257 = (($255) + 4)|0; + $245 = $244; + HEAP32[$245>>2] = $240; + $246 = (($244) + 4)|0; + $247 = $246; + HEAP32[$247>>2] = $242; + $248 = HEAP32[$pMem>>2]|0; + $249 = ((($248)) + 40|0); + HEAP32[$pMem>>2] = $249; + $250 = HEAP32[$pMem>>2]|0; + $251 = ((($250)) + 8|0); + HEAP16[$251>>1] = 4; + $252 = HEAP32[$pOp>>2]|0; + $253 = ((($252)) + 12|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)<(0); + $256 = $255 << 31 >> 31; + $257 = HEAP32[$pMem>>2]|0; $258 = $257; - HEAP32[$258>>2] = $253; - $259 = HEAP32[$pMem>>2]|0; - $260 = ((($259)) + 40|0); - HEAP32[$pMem>>2] = $260; - $261 = HEAP32[$pMem>>2]|0; - $262 = (_sqlite3VdbeMemClearAndResize($261,100)|0); - $263 = ($262|0)!=(0); - if ($263) { + $259 = $258; + HEAP32[$259>>2] = $254; + $260 = (($258) + 4)|0; + $261 = $260; + HEAP32[$261>>2] = $256; + $262 = HEAP32[$pMem>>2]|0; + $263 = ((($262)) + 40|0); + HEAP32[$pMem>>2] = $263; + $264 = HEAP32[$pMem>>2]|0; + $265 = (_sqlite3VdbeMemClearAndResize($264,100)|0); + $266 = ($265|0)!=(0); + if ($266) { HEAP32[$0>>2] = 1; - $336 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($336|0); + $343 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($343|0); } - $264 = HEAP32[$pMem>>2]|0; - $265 = ((($264)) + 8|0); - HEAP16[$265>>1] = 514; - $266 = HEAP32[$pOp>>2]|0; $267 = HEAP32[$pMem>>2]|0; - $268 = ((($267)) + 16|0); - $269 = HEAP32[$268>>2]|0; + $268 = ((($267)) + 8|0); + HEAP16[$268>>1] = 514; + $269 = HEAP32[$pOp>>2]|0; $270 = HEAP32[$pMem>>2]|0; - $271 = ((($270)) + 24|0); + $271 = ((($270)) + 16|0); $272 = HEAP32[$271>>2]|0; - $273 = (_displayP4($266,$269,$272)|0); - HEAP32[$zP4>>2] = $273; - $274 = HEAP32[$zP4>>2]|0; - $275 = HEAP32[$pMem>>2]|0; - $276 = ((($275)) + 16|0); - $277 = HEAP32[$276>>2]|0; - $278 = ($274|0)!=($277|0); - $279 = HEAP32[$pMem>>2]|0; - if ($278) { - $280 = HEAP32[$zP4>>2]|0; - (_sqlite3VdbeMemSetStr($279,$280,-1,1,0)|0); - } else { - $281 = ((($279)) + 16|0); - $282 = HEAP32[$281>>2]|0; - $283 = (_sqlite3Strlen30($282)|0); + $273 = HEAP32[$pMem>>2]|0; + $274 = ((($273)) + 24|0); + $275 = HEAP32[$274>>2]|0; + $276 = (_displayP4($269,$272,$275)|0); + HEAP32[$zP4>>2] = $276; + $277 = HEAP32[$zP4>>2]|0; + $278 = HEAP32[$pMem>>2]|0; + $279 = ((($278)) + 16|0); + $280 = HEAP32[$279>>2]|0; + $281 = ($277|0)!=($280|0); + $282 = HEAP32[$pMem>>2]|0; + if ($281) { + $283 = ((($282)) + 12|0); + HEAP32[$283>>2] = 0; $284 = HEAP32[$pMem>>2]|0; - $285 = ((($284)) + 12|0); - HEAP32[$285>>2] = $283; - $286 = HEAP32[$pMem>>2]|0; - $287 = ((($286)) + 10|0); - HEAP8[$287>>0] = 1; - } - $288 = HEAP32[$pMem>>2]|0; - $289 = ((($288)) + 40|0); - HEAP32[$pMem>>2] = $289; - $290 = HEAP32[$1>>2]|0; - $291 = ((($290)) + 89|0); - $292 = HEAP8[$291>>0]|0; - $293 = $292 & 3; - $294 = $293&255; - $295 = ($294|0)==(1); + $285 = HEAP32[$zP4>>2]|0; + (_sqlite3VdbeMemSetStr($284,$285,-1,1,0)|0); + } else { + $286 = ((($282)) + 16|0); + $287 = HEAP32[$286>>2]|0; + $288 = (_sqlite3Strlen30($287)|0); + $289 = HEAP32[$pMem>>2]|0; + $290 = ((($289)) + 12|0); + HEAP32[$290>>2] = $288; + $291 = HEAP32[$pMem>>2]|0; + $292 = ((($291)) + 10|0); + HEAP8[$292>>0] = 1; + } + $293 = HEAP32[$pMem>>2]|0; + $294 = ((($293)) + 40|0); + HEAP32[$pMem>>2] = $294; + $295 = HEAP32[$1>>2]|0; + $296 = ((($295)) + 144|0); + $297 = HEAP16[$296>>1]|0; + $298 = ($297&65535) >>> 2; + $299 = $298 & 3; + $300 = $299&65535; + $301 = ($300|0)==(1); do { - if ($295) { - $296 = HEAP32[$pMem>>2]|0; - $297 = (_sqlite3VdbeMemClearAndResize($296,4)|0); - $298 = ($297|0)!=(0); - if (!($298)) { - $299 = HEAP32[$pMem>>2]|0; - $300 = ((($299)) + 8|0); - HEAP16[$300>>1] = 514; - $301 = HEAP32[$pMem>>2]|0; - $302 = ((($301)) + 12|0); - HEAP32[$302>>2] = 2; - $303 = HEAP32[$pMem>>2]|0; - $304 = ((($303)) + 16|0); - $305 = HEAP32[$304>>2]|0; - $306 = HEAP32[$pOp>>2]|0; - $307 = ((($306)) + 3|0); - $308 = HEAP8[$307>>0]|0; - $309 = $308&255; - HEAP32[$vararg_buffer2>>2] = $309; - (_sqlite3_snprintf(3,$305,43034,$vararg_buffer2)|0); - $310 = HEAP32[$pMem>>2]|0; - $311 = ((($310)) + 10|0); - HEAP8[$311>>0] = 1; - $312 = HEAP32[$pMem>>2]|0; - $313 = ((($312)) + 40|0); - HEAP32[$pMem>>2] = $313; - $314 = HEAP32[$pMem>>2]|0; - $315 = ((($314)) + 8|0); - HEAP16[$315>>1] = 1; + if ($301) { + $302 = HEAP32[$pMem>>2]|0; + $303 = (_sqlite3VdbeMemClearAndResize($302,4)|0); + $304 = ($303|0)!=(0); + if (!($304)) { + $305 = HEAP32[$pMem>>2]|0; + $306 = ((($305)) + 8|0); + HEAP16[$306>>1] = 514; + $307 = HEAP32[$pMem>>2]|0; + $308 = ((($307)) + 12|0); + HEAP32[$308>>2] = 2; + $309 = HEAP32[$pMem>>2]|0; + $310 = ((($309)) + 16|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[$pOp>>2]|0; + $313 = ((($312)) + 3|0); + $314 = HEAP8[$313>>0]|0; + $315 = $314&255; + HEAP32[$vararg_buffer2>>2] = $315; + (_sqlite3_snprintf(3,$311,41910,$vararg_buffer2)|0); + $316 = HEAP32[$pMem>>2]|0; + $317 = ((($316)) + 10|0); + HEAP8[$317>>0] = 1; + $318 = HEAP32[$pMem>>2]|0; + $319 = ((($318)) + 40|0); + HEAP32[$pMem>>2] = $319; + $320 = HEAP32[$pMem>>2]|0; + $321 = ((($320)) + 8|0); + HEAP16[$321>>1] = 1; break; } HEAP32[$0>>2] = 1; - $336 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($336|0); + $343 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($343|0); } } while(0); - $316 = HEAP32[$1>>2]|0; - $317 = ((($316)) + 89|0); - $318 = HEAP8[$317>>0]|0; - $319 = $318 & 3; - $320 = $319&255; - $321 = (($320) - 1)|0; - $322 = $321<<2; - $323 = (8 - ($322))|0; - $324 = $323&65535; - $325 = HEAP32[$1>>2]|0; - $326 = ((($325)) + 84|0); - HEAP16[$326>>1] = $324; - $327 = HEAP32[$1>>2]|0; - $328 = ((($327)) + 8|0); - $329 = HEAP32[$328>>2]|0; - $330 = ((($329)) + 40|0); - $331 = HEAP32[$1>>2]|0; - $332 = ((($331)) + 20|0); - HEAP32[$332>>2] = $330; - $333 = HEAP32[$1>>2]|0; - $334 = ((($333)) + 80|0); - HEAP32[$334>>2] = 0; + $322 = HEAP32[$1>>2]|0; + $323 = ((($322)) + 144|0); + $324 = HEAP16[$323>>1]|0; + $325 = ($324&65535) >>> 2; + $326 = $325 & 3; + $327 = $326&65535; + $328 = (($327) - 1)|0; + $329 = $328<<2; + $330 = (8 - ($329))|0; + $331 = $330&65535; + $332 = HEAP32[$1>>2]|0; + $333 = ((($332)) + 140|0); + HEAP16[$333>>1] = $331; + $334 = HEAP32[$1>>2]|0; + $335 = ((($334)) + 92|0); + $336 = HEAP32[$335>>2]|0; + $337 = ((($336)) + 40|0); + $338 = HEAP32[$1>>2]|0; + $339 = ((($338)) + 104|0); + HEAP32[$339>>2] = $337; + $340 = HEAP32[$1>>2]|0; + $341 = ((($340)) + 40|0); + HEAP32[$341>>2] = 0; HEAP32[$rc>>2] = 100; } } while(0); - $335 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $335; - $336 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($336|0); + $342 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $342; + $343 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($343|0); } function _sqlite3VdbeExec($p) { $p = $p|0; @@ -210670,13 +215023,13 @@ function _sqlite3VdbeExec($p) { var $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0; var $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0; var $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0; - var $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0.0; - var $1121 = 0, $1122 = 0.0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0.0, $1127 = 0.0, $1128 = 0.0, $1129 = 0.0, $113 = 0, $1130 = 0.0, $1131 = 0.0, $1132 = 0.0, $1133 = 0.0, $1134 = 0.0, $1135 = 0.0, $1136 = 0, $1137 = 0.0, $1138 = 0.0, $1139 = 0.0; - var $114 = 0, $1140 = 0.0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0.0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0; - var $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0; - var $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0.0, $1191 = 0.0, $1192 = 0, $1193 = 0; - var $1194 = 0.0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0; - var $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0; + var $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0; + var $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0.0, $1138 = 0, $1139 = 0.0; + var $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0.0, $1144 = 0.0, $1145 = 0.0, $1146 = 0.0, $1147 = 0.0, $1148 = 0.0, $1149 = 0.0, $115 = 0, $1150 = 0.0, $1151 = 0.0, $1152 = 0.0, $1153 = 0, $1154 = 0.0, $1155 = 0.0, $1156 = 0.0, $1157 = 0.0; + var $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0.0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0; + var $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0; + var $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0.0, $1208 = 0.0, $1209 = 0, $121 = 0, $1210 = 0; + var $1211 = 0.0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0; var $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0; var $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0; var $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0; @@ -210730,10 +215083,10 @@ function _sqlite3VdbeExec($p) { var $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0; var $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0; var $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0; - var $2184 = 0.0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0; + var $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0; var $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0; var $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0; - var $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0; + var $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0.0, $2253 = 0, $2254 = 0, $2255 = 0; var $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0; var $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0; var $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0; @@ -210828,12 +215181,12 @@ function _sqlite3VdbeExec($p) { var $3895 = 0, $3896 = 0, $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0, $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0; var $3912 = 0, $3913 = 0, $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0, $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0; var $3930 = 0, $3931 = 0, $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0, $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0; - var $3949 = 0, $395 = 0, $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0, $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0.0, $3964 = 0, $3965 = 0, $3966 = 0; - var $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0.0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0.0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0; - var $3985 = 0.0, $3986 = 0, $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0; + var $3949 = 0, $395 = 0, $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0, $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0; + var $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0; + var $3985 = 0, $3986 = 0, $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0; var $4001 = 0, $4002 = 0, $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0, $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0; - var $402 = 0, $4020 = 0, $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0; - var $4038 = 0, $4039 = 0, $404 = 0, $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0, $4048 = 0, $4049 = 0, $405 = 0.0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0; + var $402 = 0, $4020 = 0, $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0.0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0.0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0; + var $4038 = 0, $4039 = 0, $404 = 0, $4040 = 0.0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0.0, $4048 = 0, $4049 = 0, $405 = 0.0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0; var $4056 = 0, $4057 = 0, $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0; var $4074 = 0, $4075 = 0, $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0; var $4092 = 0, $4093 = 0, $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0, $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0; @@ -211018,360 +215371,362 @@ function _sqlite3VdbeExec($p) { var $7314 = 0, $7315 = 0, $7316 = 0, $7317 = 0, $7318 = 0, $7319 = 0, $732 = 0, $7320 = 0, $7321 = 0, $7322 = 0, $7323 = 0, $7324 = 0, $7325 = 0, $7326 = 0, $7327 = 0, $7328 = 0, $7329 = 0, $733 = 0, $7330 = 0, $7331 = 0; var $7332 = 0, $7333 = 0, $7334 = 0, $7335 = 0, $7336 = 0, $7337 = 0, $7338 = 0, $7339 = 0, $734 = 0, $7340 = 0, $7341 = 0, $7342 = 0, $7343 = 0, $7344 = 0, $7345 = 0, $7346 = 0, $7347 = 0, $7348 = 0, $7349 = 0, $735 = 0; var $7350 = 0, $7351 = 0, $7352 = 0, $7353 = 0, $7354 = 0, $7355 = 0, $7356 = 0, $7357 = 0, $7358 = 0, $7359 = 0, $736 = 0, $7360 = 0, $7361 = 0, $7362 = 0, $7363 = 0, $7364 = 0, $7365 = 0, $7366 = 0, $7367 = 0, $7368 = 0; - var $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0; - var $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0; - var $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0; - var $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0; - var $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0; - var $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0; - var $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0; - var $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0; - var $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0; - var $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0; - var $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0; - var $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0; - var $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0; - var $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0; - var $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aMem = 0, $aOffset = 0, $aOp = 0, $aPermute = 0, $aRes = 0, $aRoot = 0, $aTempRec = 0, $affinity = 0, $alreadyExists = 0; - var $apArg = 0, $apArg127 = 0, $avail = 0, $bIntint = 0, $bRev = 0, $c = 0, $cAff = 0, $cnt = 0, $cnt42 = 0, $db = 0, $desiredAutoCommit = 0, $eNew = 0, $eOld = 0, $encoding = 0, $eqOnly = 0, $exists = 0, $file_format = 0, $flags = 0, $flags1 = 0, $flags3 = 0; - var $flags81 = 0, $i = 0, $i112 = 0, $i12 = 0, $i125 = 0, $i15 = 0, $i3 = 0, $i8 = 0, $i92 = 0, $i97 = 0, $iA = 0, $iA5 = 0, $iB = 0, $iB6 = 0, $iCompare = 0, $iCookie = 0, $iDb = 0, $iDb23 = 0, $iDb78 = 0, $iDb83 = 0; - var $iGen = 0, $iKey = 0, $iKey39 = 0, $iKey45 = 0, $iMeta = 0, $iMeta19 = 0, $iMoved = 0, $iPrior = 0, $iQuery = 0, $iRollback = 0, $iSavepoint = 0, $iSet = 0, $idx = 0, $ii = 0, $ii32 = 0, $initData = 0, $isSchemaChange = 0, $isTransaction = 0, $isWriteLock = 0, $j = 0; - var $lastRowid = 0, $len = 0, $len16 = 0, $n = 0, $n1 = 0, $n2 = 0, $n57 = 0, $n64 = 0, $n7 = 0, $n90 = 0, $nArg = 0, $nArg124 = 0, $nByte = 0, $nByte13 = 0, $nByte84 = 0, $nChange = 0, $nChange$ = 0, $nData = 0, $nEntry = 0, $nErr = 0; - var $nField = 0, $nField20 = 0, $nField31 = 0, $nHdr = 0, $nKey = 0, $nKeyCol = 0, $nMem = 0, $nName = 0, $nProgressLimit = 0, $nRoot = 0, $nVarint = 0, $nVmStep = 0, $nZero = 0, $nZero47 = 0, $newMax = 0, $nullFlag = 0, $oc = 0, $offset = 0, $offset64 = 0, $op = 0; - var $op48 = 0, $opflags = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond24 = 0, $or$cond26 = 0, $or$cond28 = 0, $or$cond3 = 0, $or$cond31 = 0, $or$cond6 = 0, $or$cond8 = 0, $p1 = 0, $p1101 = 0, $p118 = 0, $p19 = 0; - var $p2 = 0, $p210 = 0, $p211 = 0, $p222 = 0, $pArgc = 0, $pBt = 0, $pBt100 = 0, $pBt129 = 0, $pBt99 = 0, $pC = 0, $pC27 = 0, $pC30 = 0, $pC33 = 0, $pC36 = 0, $pC40 = 0, $pC46 = 0, $pC49 = 0, $pC52 = 0, $pC54 = 0, $pC55 = 0; - var $pC58 = 0, $pC60 = 0, $pC61 = 0, $pC64 = 0, $pC67 = 0, $pC69 = 0, $pC70 = 0, $pC74 = 0, $pC75 = 0, $pC79 = 0, $pCaller = 0, $pColl = 0, $pCrsr = 0, $pCrsr17 = 0, $pCrsr37 = 0, $pCrsr56 = 0, $pCrsr62 = 0, $pCrsr65 = 0, $pCrsr71 = 0, $pCtx = 0; - var $pCtx4 = 0, $pCtx91 = 0, $pCtx93 = 0, $pCur = 0, $pCur104 = 0, $pCur110 = 0, $pCur116 = 0, $pCur120 = 0, $pCx = 0, $pCx26 = 0, $pCx28 = 0, $pData = 0, $pData0 = 0, $pDb = 0, $pDb24 = 0, $pDb82 = 0, $pDest = 0, $pDest115 = 0, $pEnd = 0, $pFrame = 0; - var $pFrame44 = 0, $pFrame86 = 0, $pFrame88 = 0, $pFrame89 = 0, $pFree = 0, $pIdxKey = 0, $pIn = 0, $pIn1 = 0, $pIn2 = 0, $pIn3 = 0, $pKey = 0, $pKeyInfo = 0, $pKeyInfo21 = 0, $pKeyInfo25 = 0, $pLast = 0, $pMem = 0, $pMem43 = 0, $pMem85 = 0, $pMem94 = 0, $pMem96 = 0; - var $pMem98 = 0, $pModule = 0, $pModule106 = 0, $pModule107 = 0, $pModule114 = 0, $pModule118 = 0, $pModule123 = 0, $pName = 0, $pNew = 0, $pOp = 0, $pOut = 0, $pPager = 0, $pProgram = 0, $pQuery = 0, $pRec = 0, $pReg = 0, $pRt = 0, $pSavepoint = 0, $pTab = 0, $pTab51 = 0; - var $pTabCur = 0, $pTmp = 0, $pVCur = 0, $pVCur108 = 0, $pVTab = 0, $pVar = 0, $pVtab = 0, $pVtab105 = 0, $pVtab109 = 0, $pVtab113 = 0, $pVtab117 = 0, $pVtab121 = 0, $pVtab122 = 0, $pX = 0, $pX128 = 0, $payloadSize64 = 0, $pcDest = 0, $pcx = 0, $pgno = 0, $pgno80 = 0; - var $pnErr = 0, $r = 0, $r35 = 0, $r73 = 0, $r77 = 0, $rA = 0, $rB = 0, $rc = 0, $res = 0, $res111 = 0, $res119 = 0, $res29 = 0, $res34 = 0, $res38 = 0, $res41 = 0, $res53 = 0, $res63 = 0, $res66 = 0, $res68 = 0, $res72 = 0; - var $res76 = 0, $resetSchemaOnFault = 0, $rowid = 0, $rowid126 = 0, $sContext = 0, $sMem = 0, $sMem103 = 0, $seekResult = 0, $serial_type = 0, $t = 0, $t87 = 0, $t95 = 0, $takeJump = 0, $type1 = 0, $type2 = 0, $uA = 0, $v = 0, $v1 = 0, $v2 = 0, $v59 = 0; - var $val = 0, $vararg_buffer = 0, $vararg_buffer32 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer47 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer54 = 0, $vararg_buffer56 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer65 = 0, $vararg_buffer68 = 0, $vararg_buffer71 = 0, $vararg_buffer74 = 0, $vararg_buffer77 = 0, $vararg_buffer80 = 0, $vararg_buffer85 = 0; - var $vararg_buffer87 = 0, $vararg_buffer89 = 0, $vararg_ptr35 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vtabOnConflict = 0, $wrFlag = 0, $z = 0, $z102 = 0, $z130 = 0, $zAffinity = 0, $zAffinity14 = 0, $zData = 0, $zDb = 0, $zDb50 = 0, $zEndHdr = 0; - var $zFilename = 0, $zHdr = 0, $zKey = 0, $zMaster = 0, $zName = 0, $zNewRecord = 0, $zSql = 0, $zTab = 0, $zTrace = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1840|0; - $vararg_buffer89 = sp + 496|0; - $vararg_buffer87 = sp + 488|0; - $vararg_buffer85 = sp + 480|0; - $vararg_buffer80 = sp + 464|0; - $vararg_buffer77 = sp + 456|0; - $vararg_buffer74 = sp + 448|0; - $vararg_buffer71 = sp + 440|0; - $vararg_buffer68 = sp + 432|0; - $vararg_buffer65 = sp + 424|0; - $vararg_buffer63 = sp + 416|0; - $vararg_buffer58 = sp + 400|0; - $vararg_buffer56 = sp + 392|0; - $vararg_buffer54 = sp + 384|0; - $vararg_buffer52 = sp + 376|0; - $vararg_buffer49 = sp + 368|0; - $vararg_buffer47 = sp + 360|0; - $vararg_buffer44 = sp + 352|0; - $vararg_buffer39 = sp + 336|0; - $vararg_buffer36 = sp + 328|0; - $vararg_buffer32 = sp + 320|0; - $vararg_buffer = sp + 312|0; - $0 = sp + 1620|0; - $aOp = sp + 1616|0; - $pOp = sp + 1612|0; - $rc = sp + 1608|0; - $db = sp + 1604|0; - $resetSchemaOnFault = sp + 1826|0; - $encoding = sp + 1825|0; - $iCompare = sp + 1600|0; - $nVmStep = sp + 1596|0; - $nProgressLimit = sp + 1592|0; - $aMem = sp + 1588|0; - $pIn1 = sp + 1584|0; - $pIn2 = sp + 1580|0; - $pIn3 = sp + 1576|0; - $pOut = sp + 1572|0; - $aPermute = sp + 1568|0; - $lastRowid = sp + 304|0; - $iPrior = sp + 1564|0; - $pCaller = sp + 1560|0; - $pcDest = sp + 1556|0; - $pFrame = sp + 1552|0; - $pcx = sp + 1548|0; - $cnt = sp + 1544|0; - $nullFlag = sp + 1634|0; - $pVar = sp + 1540|0; - $n = sp + 1536|0; - $p1 = sp + 1532|0; - $p2 = sp + 1528|0; - $n1 = sp + 1524|0; - $pMem = sp + 1520|0; - $i = sp + 1516|0; - $nByte = sp + 296|0; - $bIntint = sp + 1824|0; - $flags = sp + 1632|0; - $type1 = sp + 1630|0; - $type2 = sp + 1628|0; - $iA = sp + 288|0; - $iB = sp + 280|0; - $rA = sp + 272|0; - $rB = sp + 264|0; - $n2 = sp + 1512|0; - $pCtx = sp + 1508|0; - $i3 = sp + 1504|0; - $pCtx4 = sp + 1500|0; - $iA5 = sp + 256|0; - $uA = sp + 248|0; - $iB6 = sp + 240|0; - $op = sp + 1823|0; - $res = sp + 1496|0; - $affinity = sp + 1822|0; - $flags1 = sp + 1626|0; - $flags3 = sp + 1624|0; - $n7 = sp + 1492|0; - $i8 = sp + 1488|0; - $p19 = sp + 1484|0; - $p210 = sp + 1480|0; - $pKeyInfo = sp + 1476|0; - $idx = sp + 1472|0; - $pColl = sp + 1468|0; - $bRev = sp + 1464|0; - $v1 = sp + 1460|0; - $v2 = sp + 1456|0; - $c = sp + 1452|0; - $payloadSize64 = sp + 232|0; - $p211 = sp + 1448|0; - $pC = sp + 1444|0; - $pCrsr = sp + 1440|0; - $aOffset = sp + 1436|0; - $len = sp + 1432|0; - $i12 = sp + 1428|0; - $pDest = sp + 1424|0; - $sMem = sp + 192|0; - $zData = sp + 1420|0; - $zHdr = sp + 1416|0; - $zEndHdr = sp + 1412|0; - $offset = sp + 1408|0; - $offset64 = sp + 184|0; - $avail = sp + 1404|0; - $t = sp + 1400|0; - $pReg = sp + 1396|0; - $zAffinity = sp + 1392|0; - $cAff = sp + 1821|0; - $zNewRecord = sp + 1388|0; - $pRec = sp + 1384|0; - $nData = sp + 176|0; - $nHdr = sp + 1380|0; - $nByte13 = sp + 168|0; - $nZero = sp + 160|0; - $nVarint = sp + 1376|0; - $serial_type = sp + 1372|0; - $pData0 = sp + 1368|0; - $pLast = sp + 1364|0; - $nField = sp + 1360|0; - $zAffinity14 = sp + 1356|0; - $file_format = sp + 1352|0; - $i15 = sp + 1348|0; - $j = sp + 1344|0; - $len16 = sp + 1340|0; - $nEntry = sp + 152|0; - $pCrsr17 = sp + 1336|0; - $p118 = sp + 1332|0; - $zName = sp + 1328|0; - $nName = sp + 1324|0; - $pNew = sp + 1320|0; - $pSavepoint = sp + 1316|0; - $pTmp = sp + 1312|0; - $iSavepoint = sp + 1308|0; - $ii = sp + 1304|0; - $isTransaction = sp + 1300|0; - $isSchemaChange = sp + 1296|0; - $desiredAutoCommit = sp + 1292|0; - $iRollback = sp + 1288|0; - $pBt = sp + 1284|0; - $iMeta = sp + 1280|0; - $iGen = sp + 1276|0; - $iMeta19 = sp + 1272|0; - $iDb = sp + 1268|0; - $iCookie = sp + 1264|0; - $pDb = sp + 1260|0; - $nField20 = sp + 1256|0; - $pKeyInfo21 = sp + 1252|0; - $p222 = sp + 1248|0; - $iDb23 = sp + 1244|0; - $wrFlag = sp + 1240|0; - $pX = sp + 1236|0; - $pCur = sp + 1232|0; - $pDb24 = sp + 1228|0; - $pCx = sp + 1224|0; - $pKeyInfo25 = sp + 1220|0; - $pgno = sp + 1216|0; - $pCx26 = sp + 1212|0; - $pC27 = sp + 1208|0; - $pCx28 = sp + 1204|0; - $res29 = sp + 1200|0; - $oc = sp + 1196|0; - $pC30 = sp + 1192|0; - $r = sp + 1176|0; - $nField31 = sp + 1168|0; - $iKey = sp + 144|0; - $eqOnly = sp + 1164|0; - $alreadyExists = sp + 1160|0; - $takeJump = sp + 1156|0; - $ii32 = sp + 1152|0; - $pC33 = sp + 1148|0; - $res34 = sp + 1144|0; - $pFree = sp + 1140|0; - $pIdxKey = sp + 1136|0; - $r35 = sp + 1120|0; - $aTempRec = sp + 1638|0; - $pC36 = sp + 1112|0; - $pCrsr37 = sp + 1108|0; - $res38 = sp + 1104|0; - $iKey39 = sp + 136|0; - $v = sp + 128|0; - $pC40 = sp + 1100|0; - $res41 = sp + 1096|0; - $cnt42 = sp + 1092|0; - $pMem43 = sp + 1088|0; - $pFrame44 = sp + 1084|0; - $pData = sp + 1080|0; - $pKey = sp + 1076|0; - $iKey45 = sp + 120|0; - $pC46 = sp + 1072|0; - $nZero47 = sp + 1068|0; - $seekResult = sp + 1064|0; - $zDb = sp + 1060|0; - $pTab = sp + 1056|0; - $op48 = sp + 1052|0; - $pC49 = sp + 1048|0; - $zDb50 = sp + 1044|0; - $pTab51 = sp + 1040|0; - $opflags = sp + 1036|0; - $pC52 = sp + 1032|0; - $res53 = sp + 1028|0; - $nKeyCol = sp + 1024|0; - $pC54 = sp + 1020|0; - $pC55 = sp + 1016|0; - $pCrsr56 = sp + 1012|0; - $n57 = sp + 1008|0; - $n64 = sp + 112|0; - $pC58 = sp + 1004|0; - $v59 = sp + 104|0; - $pVtab = sp + 1000|0; - $pModule = sp + 996|0; - $pC60 = sp + 992|0; - $pC61 = sp + 988|0; - $pCrsr62 = sp + 984|0; - $res63 = sp + 980|0; - $pC64 = sp + 976|0; - $pCrsr65 = sp + 972|0; - $res66 = sp + 968|0; - $pC67 = sp + 964|0; - $res68 = sp + 960|0; - $pC69 = sp + 956|0; - $nKey = sp + 952|0; - $zKey = sp + 948|0; - $pC70 = sp + 944|0; - $pCrsr71 = sp + 940|0; - $res72 = sp + 936|0; - $r73 = sp + 920|0; - $pC74 = sp + 916|0; - $pTabCur = sp + 912|0; + var $7369 = 0, $737 = 0, $7370 = 0, $7371 = 0, $7372 = 0, $7373 = 0, $7374 = 0, $7375 = 0, $7376 = 0, $7377 = 0, $7378 = 0, $7379 = 0, $738 = 0, $7380 = 0, $7381 = 0, $7382 = 0, $7383 = 0, $7384 = 0, $7385 = 0, $7386 = 0; + var $7387 = 0, $7388 = 0, $7389 = 0, $739 = 0, $7390 = 0, $7391 = 0, $7392 = 0, $7393 = 0, $7394 = 0, $7395 = 0, $7396 = 0, $7397 = 0, $7398 = 0, $7399 = 0, $74 = 0, $740 = 0, $7400 = 0, $7401 = 0, $7402 = 0, $7403 = 0; + var $7404 = 0, $7405 = 0, $7406 = 0, $7407 = 0, $7408 = 0, $7409 = 0, $741 = 0, $7410 = 0, $7411 = 0, $7412 = 0, $7413 = 0, $7414 = 0, $7415 = 0, $7416 = 0, $7417 = 0, $7418 = 0, $7419 = 0, $742 = 0, $7420 = 0, $7421 = 0; + var $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0; + var $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0; + var $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0; + var $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0; + var $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0; + var $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0; + var $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0; + var $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0; + var $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0; + var $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0; + var $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0; + var $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0; + var $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0; + var $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0; + var $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aMem = 0, $aOffset = 0, $aOp = 0, $aPermute = 0, $aRes = 0, $aRoot = 0, $aTempRec = 0, $affinity = 0, $alreadyExists = 0, $apArg = 0, $apArg126 = 0, $avail = 0, $bIntint = 0, $bRev = 0, $c = 0, $cAff = 0; + var $cnt = 0, $cnt42 = 0, $db = 0, $desiredAutoCommit = 0, $eNew = 0, $eOld = 0, $encoding = 0, $eqOnly = 0, $exists = 0, $file_format = 0, $flags = 0, $flags1 = 0, $flags3 = 0, $flags80 = 0, $i = 0, $i111 = 0, $i12 = 0, $i124 = 0, $i129 = 0, $i15 = 0; + var $i3 = 0, $i8 = 0, $i91 = 0, $i96 = 0, $iA = 0, $iA5 = 0, $iB = 0, $iB6 = 0, $iCompare = 0, $iCookie = 0, $iDb = 0, $iDb23 = 0, $iDb77 = 0, $iDb82 = 0, $iGen = 0, $iKey = 0, $iKey39 = 0, $iMeta = 0, $iMeta19 = 0, $iMoved = 0; + var $iPrior = 0, $iQuery = 0, $iRollback = 0, $iSavepoint = 0, $iSet = 0, $idx = 0, $ii = 0, $ii32 = 0, $initData = 0, $isSchemaChange = 0, $isTransaction = 0, $isWriteLock = 0, $j = 0, $lastRowid = 0, $len = 0, $len16 = 0, $n = 0, $n1 = 0, $n2 = 0, $n55 = 0; + var $n7 = 0, $n89 = 0, $nArg = 0, $nArg123 = 0, $nByte = 0, $nByte13 = 0, $nByte83 = 0, $nChange = 0, $nChange$ = 0, $nData = 0, $nEntry = 0, $nErr = 0, $nField = 0, $nField20 = 0, $nField31 = 0, $nHdr = 0, $nKeyCol = 0, $nMem = 0, $nName = 0, $nProgressLimit = 0; + var $nRoot = 0, $nVarint = 0, $nVmStep = 0, $nZero = 0, $newMax = 0, $nullFlag = 0, $oc = 0, $offset = 0, $offset64 = 0, $op = 0, $op46 = 0, $opflags = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond24 = 0; + var $or$cond26 = 0, $or$cond28 = 0, $or$cond3 = 0, $or$cond31 = 0, $or$cond6 = 0, $or$cond8 = 0, $p1 = 0, $p1100 = 0, $p118 = 0, $p19 = 0, $p2 = 0, $p210 = 0, $p211 = 0, $p222 = 0, $pArgc = 0, $pBt = 0, $pBt128 = 0, $pBt98 = 0, $pBt99 = 0, $pC = 0; + var $pC27 = 0, $pC30 = 0, $pC33 = 0, $pC36 = 0, $pC40 = 0, $pC45 = 0, $pC47 = 0, $pC50 = 0, $pC52 = 0, $pC53 = 0, $pC56 = 0, $pC58 = 0, $pC59 = 0, $pC62 = 0, $pC65 = 0, $pC67 = 0, $pC69 = 0, $pC73 = 0, $pC74 = 0, $pC78 = 0; + var $pCaller = 0, $pColl = 0, $pCrsr = 0, $pCrsr17 = 0, $pCrsr37 = 0, $pCrsr54 = 0, $pCrsr60 = 0, $pCrsr63 = 0, $pCrsr70 = 0, $pCtx = 0, $pCtx4 = 0, $pCtx90 = 0, $pCtx92 = 0, $pCur = 0, $pCur103 = 0, $pCur109 = 0, $pCur115 = 0, $pCur119 = 0, $pCx = 0, $pCx26 = 0; + var $pCx28 = 0, $pData = 0, $pData0 = 0, $pDb = 0, $pDb24 = 0, $pDb81 = 0, $pDest = 0, $pDest114 = 0, $pEnd = 0, $pFrame = 0, $pFrame44 = 0, $pFrame85 = 0, $pFrame87 = 0, $pFrame88 = 0, $pFree = 0, $pIdxKey = 0, $pIn = 0, $pIn1 = 0, $pIn2 = 0, $pIn3 = 0; + var $pKey = 0, $pKeyInfo = 0, $pKeyInfo21 = 0, $pKeyInfo25 = 0, $pLast = 0, $pMem = 0, $pMem43 = 0, $pMem84 = 0, $pMem93 = 0, $pMem95 = 0, $pMem97 = 0, $pModule = 0, $pModule105 = 0, $pModule106 = 0, $pModule113 = 0, $pModule117 = 0, $pModule122 = 0, $pName = 0, $pNew = 0, $pOp = 0; + var $pOut = 0, $pPager = 0, $pProgram = 0, $pQuery = 0, $pRec = 0, $pReg = 0, $pRt = 0, $pSavepoint = 0, $pTab = 0, $pTab49 = 0, $pTabCur = 0, $pTmp = 0, $pVCur = 0, $pVCur107 = 0, $pVTab = 0, $pVar = 0, $pVtab = 0, $pVtab104 = 0, $pVtab108 = 0, $pVtab112 = 0; + var $pVtab116 = 0, $pVtab120 = 0, $pVtab121 = 0, $pX = 0, $pX127 = 0, $pcDest = 0, $pcx = 0, $pgno = 0, $pgno79 = 0, $pnErr = 0, $r = 0, $r35 = 0, $r72 = 0, $r76 = 0, $rA = 0, $rB = 0, $rc = 0, $res = 0, $res110 = 0, $res118 = 0; + var $res2 = 0, $res29 = 0, $res34 = 0, $res38 = 0, $res41 = 0, $res51 = 0, $res61 = 0, $res64 = 0, $res66 = 0, $res71 = 0, $res75 = 0, $resetSchemaOnFault = 0, $rowid = 0, $rowid125 = 0, $sContext = 0, $sMem = 0, $sMem102 = 0, $seekResult = 0, $serial_type = 0, $t = 0; + var $t86 = 0, $t94 = 0, $takeJump = 0, $type1 = 0, $type2 = 0, $uA = 0, $v = 0, $v1 = 0, $v2 = 0, $v57 = 0, $val = 0, $vararg_buffer = 0, $vararg_buffer32 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer47 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer54 = 0; + var $vararg_buffer56 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer65 = 0, $vararg_buffer68 = 0, $vararg_buffer71 = 0, $vararg_buffer74 = 0, $vararg_buffer77 = 0, $vararg_buffer80 = 0, $vararg_buffer85 = 0, $vararg_buffer87 = 0, $vararg_buffer89 = 0, $vararg_ptr35 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vtabOnConflict = 0; + var $wrFlag = 0, $x = 0, $x130 = 0, $x68 = 0, $z = 0, $z101 = 0, $z131 = 0, $zAffinity = 0, $zAffinity14 = 0, $zData = 0, $zDb = 0, $zDb48 = 0, $zEndHdr = 0, $zFilename = 0, $zHdr = 0, $zMaster = 0, $zName = 0, $zNewRecord = 0, $zSql = 0, $zTab = 0; + var $zTrace = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1872|0; + $vararg_buffer89 = sp + 536|0; + $vararg_buffer87 = sp + 528|0; + $vararg_buffer85 = sp + 520|0; + $vararg_buffer80 = sp + 504|0; + $vararg_buffer77 = sp + 496|0; + $vararg_buffer74 = sp + 488|0; + $vararg_buffer71 = sp + 480|0; + $vararg_buffer68 = sp + 472|0; + $vararg_buffer65 = sp + 464|0; + $vararg_buffer63 = sp + 456|0; + $vararg_buffer58 = sp + 440|0; + $vararg_buffer56 = sp + 432|0; + $vararg_buffer54 = sp + 424|0; + $vararg_buffer52 = sp + 416|0; + $vararg_buffer49 = sp + 408|0; + $vararg_buffer47 = sp + 400|0; + $vararg_buffer44 = sp + 392|0; + $vararg_buffer39 = sp + 376|0; + $vararg_buffer36 = sp + 368|0; + $vararg_buffer32 = sp + 360|0; + $vararg_buffer = sp + 352|0; + $0 = sp + 1656|0; + $aOp = sp + 1652|0; + $pOp = sp + 1648|0; + $rc = sp + 1644|0; + $db = sp + 1640|0; + $resetSchemaOnFault = sp + 1862|0; + $encoding = sp + 1861|0; + $iCompare = sp + 1636|0; + $nVmStep = sp + 1632|0; + $nProgressLimit = sp + 1628|0; + $aMem = sp + 1624|0; + $pIn1 = sp + 1620|0; + $pIn2 = sp + 1616|0; + $pIn3 = sp + 1612|0; + $pOut = sp + 1608|0; + $aPermute = sp + 1604|0; + $lastRowid = sp + 344|0; + $iPrior = sp + 1600|0; + $pCaller = sp + 1596|0; + $pcDest = sp + 1592|0; + $pFrame = sp + 1588|0; + $pcx = sp + 1584|0; + $cnt = sp + 1580|0; + $nullFlag = sp + 1670|0; + $pVar = sp + 1576|0; + $n = sp + 1572|0; + $p1 = sp + 1568|0; + $p2 = sp + 1564|0; + $n1 = sp + 1560|0; + $pMem = sp + 1556|0; + $i = sp + 1552|0; + $nByte = sp + 336|0; + $bIntint = sp + 1860|0; + $flags = sp + 1668|0; + $type1 = sp + 1666|0; + $type2 = sp + 1664|0; + $iA = sp + 328|0; + $iB = sp + 320|0; + $rA = sp + 312|0; + $rB = sp + 304|0; + $n2 = sp + 1548|0; + $pCtx = sp + 1544|0; + $i3 = sp + 1540|0; + $pCtx4 = sp + 1536|0; + $iA5 = sp + 296|0; + $uA = sp + 288|0; + $iB6 = sp + 280|0; + $op = sp + 1859|0; + $res = sp + 1532|0; + $res2 = sp + 1528|0; + $affinity = sp + 1858|0; + $flags1 = sp + 1662|0; + $flags3 = sp + 1660|0; + $n7 = sp + 1524|0; + $i8 = sp + 1520|0; + $p19 = sp + 1516|0; + $p210 = sp + 1512|0; + $pKeyInfo = sp + 1508|0; + $idx = sp + 1504|0; + $pColl = sp + 1500|0; + $bRev = sp + 1496|0; + $v1 = sp + 1492|0; + $v2 = sp + 1488|0; + $c = sp + 1484|0; + $p211 = sp + 1480|0; + $pC = sp + 1476|0; + $pCrsr = sp + 1472|0; + $aOffset = sp + 1468|0; + $len = sp + 1464|0; + $i12 = sp + 1460|0; + $pDest = sp + 1456|0; + $sMem = sp + 240|0; + $zData = sp + 1452|0; + $zHdr = sp + 1448|0; + $zEndHdr = sp + 1444|0; + $offset = sp + 1440|0; + $offset64 = sp + 232|0; + $avail = sp + 1436|0; + $t = sp + 1432|0; + $pReg = sp + 1428|0; + $zAffinity = sp + 1424|0; + $cAff = sp + 1857|0; + $zNewRecord = sp + 1420|0; + $pRec = sp + 1416|0; + $nData = sp + 224|0; + $nHdr = sp + 1412|0; + $nByte13 = sp + 216|0; + $nZero = sp + 208|0; + $nVarint = sp + 1408|0; + $serial_type = sp + 1404|0; + $pData0 = sp + 1400|0; + $pLast = sp + 1396|0; + $nField = sp + 1392|0; + $zAffinity14 = sp + 1388|0; + $file_format = sp + 1384|0; + $i15 = sp + 1380|0; + $j = sp + 1376|0; + $len16 = sp + 1372|0; + $nEntry = sp + 200|0; + $pCrsr17 = sp + 1368|0; + $p118 = sp + 1364|0; + $zName = sp + 1360|0; + $nName = sp + 1356|0; + $pNew = sp + 1352|0; + $pSavepoint = sp + 1348|0; + $pTmp = sp + 1344|0; + $iSavepoint = sp + 1340|0; + $ii = sp + 1336|0; + $isTransaction = sp + 1332|0; + $isSchemaChange = sp + 1328|0; + $desiredAutoCommit = sp + 1324|0; + $iRollback = sp + 1320|0; + $pBt = sp + 1316|0; + $iMeta = sp + 1312|0; + $iGen = sp + 1308|0; + $iMeta19 = sp + 1304|0; + $iDb = sp + 1300|0; + $iCookie = sp + 1296|0; + $pDb = sp + 1292|0; + $nField20 = sp + 1288|0; + $pKeyInfo21 = sp + 1284|0; + $p222 = sp + 1280|0; + $iDb23 = sp + 1276|0; + $wrFlag = sp + 1272|0; + $pX = sp + 1268|0; + $pCur = sp + 1264|0; + $pDb24 = sp + 1260|0; + $pCx = sp + 1256|0; + $pKeyInfo25 = sp + 1252|0; + $pgno = sp + 1248|0; + $pCx26 = sp + 1244|0; + $pC27 = sp + 1240|0; + $pCx28 = sp + 1236|0; + $res29 = sp + 1232|0; + $oc = sp + 1228|0; + $pC30 = sp + 1224|0; + $r = sp + 1208|0; + $nField31 = sp + 1200|0; + $iKey = sp + 192|0; + $eqOnly = sp + 1196|0; + $alreadyExists = sp + 1192|0; + $takeJump = sp + 1188|0; + $ii32 = sp + 1184|0; + $pC33 = sp + 1180|0; + $res34 = sp + 1176|0; + $pFree = sp + 1172|0; + $pIdxKey = sp + 1168|0; + $r35 = sp + 1152|0; + $aTempRec = sp + 1674|0; + $pC36 = sp + 1148|0; + $pCrsr37 = sp + 1144|0; + $res38 = sp + 1140|0; + $iKey39 = sp + 184|0; + $v = sp + 176|0; + $pC40 = sp + 1136|0; + $res41 = sp + 1132|0; + $cnt42 = sp + 1128|0; + $pMem43 = sp + 1124|0; + $pFrame44 = sp + 1120|0; + $pData = sp + 1116|0; + $pKey = sp + 1112|0; + $pC45 = sp + 1108|0; + $seekResult = sp + 1104|0; + $zDb = sp + 1100|0; + $pTab = sp + 1096|0; + $op46 = sp + 1092|0; + $x = sp + 144|0; + $pC47 = sp + 1088|0; + $zDb48 = sp + 1084|0; + $pTab49 = sp + 1080|0; + $opflags = sp + 1076|0; + $pC50 = sp + 1072|0; + $res51 = sp + 1068|0; + $nKeyCol = sp + 1064|0; + $pC52 = sp + 1060|0; + $pC53 = sp + 1056|0; + $pCrsr54 = sp + 1052|0; + $n55 = sp + 1048|0; + $pC56 = sp + 1044|0; + $v57 = sp + 136|0; + $pVtab = sp + 1040|0; + $pModule = sp + 1036|0; + $pC58 = sp + 1032|0; + $pC59 = sp + 1028|0; + $pCrsr60 = sp + 1024|0; + $res61 = sp + 1020|0; + $pC62 = sp + 1016|0; + $pCrsr63 = sp + 1012|0; + $res64 = sp + 1008|0; + $pC65 = sp + 1004|0; + $res66 = sp + 1000|0; + $pC67 = sp + 996|0; + $x68 = sp + 104|0; + $pC69 = sp + 992|0; + $pCrsr70 = sp + 988|0; + $res71 = sp + 984|0; + $r72 = sp + 968|0; + $pC73 = sp + 964|0; + $pTabCur = sp + 960|0; $rowid = sp + 96|0; - $pC75 = sp + 908|0; - $res76 = sp + 904|0; - $r77 = sp + 888|0; - $iMoved = sp + 884|0; - $iDb78 = sp + 880|0; - $nChange = sp + 876|0; - $pC79 = sp + 872|0; - $pgno80 = sp + 868|0; - $flags81 = sp + 864|0; - $pDb82 = sp + 860|0; - $iDb83 = sp + 856|0; - $zMaster = sp + 852|0; - $zSql = sp + 848|0; - $initData = sp + 832|0; - $nRoot = sp + 824|0; - $aRoot = sp + 820|0; - $nErr = sp + 816|0; - $z = sp + 812|0; - $pnErr = sp + 808|0; + $pC74 = sp + 956|0; + $res75 = sp + 952|0; + $r76 = sp + 936|0; + $iMoved = sp + 932|0; + $iDb77 = sp + 928|0; + $nChange = sp + 924|0; + $pC78 = sp + 920|0; + $pgno79 = sp + 916|0; + $flags80 = sp + 912|0; + $pDb81 = sp + 908|0; + $iDb82 = sp + 904|0; + $zMaster = sp + 900|0; + $zSql = sp + 896|0; + $initData = sp + 880|0; + $nRoot = sp + 872|0; + $aRoot = sp + 868|0; + $nErr = sp + 864|0; + $z = sp + 860|0; + $pnErr = sp + 856|0; $val = sp + 88|0; - $iSet = sp + 804|0; - $exists = sp + 800|0; - $nMem = sp + 796|0; - $nByte84 = sp + 792|0; - $pRt = sp + 788|0; - $pMem85 = sp + 784|0; - $pEnd = sp + 780|0; - $pFrame86 = sp + 776|0; - $pProgram = sp + 772|0; - $t87 = sp + 768|0; - $pFrame88 = sp + 764|0; - $pIn = sp + 760|0; - $pFrame89 = sp + 756|0; - $n90 = sp + 752|0; - $pCtx91 = sp + 748|0; - $i92 = sp + 744|0; - $pCtx93 = sp + 740|0; - $pMem94 = sp + 736|0; - $t95 = sp + 48|0; - $pMem96 = sp + 732|0; - $i97 = sp + 728|0; - $aRes = sp + 716|0; - $pMem98 = sp + 712|0; - $pBt99 = sp + 708|0; - $pPager = sp + 704|0; - $eNew = sp + 700|0; - $eOld = sp + 696|0; - $zFilename = sp + 692|0; - $pBt100 = sp + 688|0; - $isWriteLock = sp + 1637|0; - $p1101 = sp + 684|0; - $z102 = sp + 680|0; - $pVTab = sp + 676|0; - $sMem103 = sp + 8|0; - $zTab = sp + 672|0; - $pCur104 = sp + 668|0; - $pVCur = sp + 664|0; - $pVtab105 = sp + 660|0; - $pModule106 = sp + 656|0; - $nArg = sp + 652|0; - $iQuery = sp + 648|0; - $pModule107 = sp + 644|0; - $pQuery = sp + 640|0; - $pArgc = sp + 636|0; - $pVCur108 = sp + 632|0; - $pVtab109 = sp + 628|0; - $pCur110 = sp + 624|0; - $res111 = sp + 620|0; - $i112 = sp + 616|0; - $apArg = sp + 612|0; - $pVtab113 = sp + 608|0; - $pModule114 = sp + 604|0; - $pDest115 = sp + 600|0; - $sContext = sp + 568|0; - $pCur116 = sp + 564|0; - $pVtab117 = sp + 560|0; - $pModule118 = sp + 556|0; - $res119 = sp + 552|0; - $pCur120 = sp + 548|0; - $pVtab121 = sp + 544|0; - $pName = sp + 540|0; - $pVtab122 = sp + 536|0; - $pModule123 = sp + 532|0; - $nArg124 = sp + 528|0; - $i125 = sp + 524|0; - $rowid126 = sp; - $apArg127 = sp + 520|0; - $pX128 = sp + 516|0; - $vtabOnConflict = sp + 1636|0; - $newMax = sp + 512|0; - $pBt129 = sp + 508|0; - $zTrace = sp + 504|0; - $z130 = sp + 500|0; + $iSet = sp + 852|0; + $exists = sp + 848|0; + $nMem = sp + 844|0; + $nByte83 = sp + 840|0; + $pRt = sp + 836|0; + $pMem84 = sp + 832|0; + $pEnd = sp + 828|0; + $pFrame85 = sp + 824|0; + $pProgram = sp + 820|0; + $t86 = sp + 816|0; + $pFrame87 = sp + 812|0; + $pIn = sp + 808|0; + $pFrame88 = sp + 804|0; + $n89 = sp + 800|0; + $pCtx90 = sp + 796|0; + $i91 = sp + 792|0; + $pCtx92 = sp + 788|0; + $pMem93 = sp + 784|0; + $t94 = sp + 48|0; + $pMem95 = sp + 780|0; + $i96 = sp + 776|0; + $aRes = sp + 764|0; + $pMem97 = sp + 760|0; + $pBt98 = sp + 756|0; + $pPager = sp + 752|0; + $eNew = sp + 748|0; + $eOld = sp + 744|0; + $zFilename = sp + 740|0; + $pBt99 = sp + 736|0; + $isWriteLock = sp + 1673|0; + $p1100 = sp + 732|0; + $z101 = sp + 728|0; + $pVTab = sp + 724|0; + $sMem102 = sp + 8|0; + $zTab = sp + 720|0; + $pCur103 = sp + 716|0; + $pVCur = sp + 712|0; + $pVtab104 = sp + 708|0; + $pModule105 = sp + 704|0; + $nArg = sp + 700|0; + $iQuery = sp + 696|0; + $pModule106 = sp + 692|0; + $pQuery = sp + 688|0; + $pArgc = sp + 684|0; + $pVCur107 = sp + 680|0; + $pVtab108 = sp + 676|0; + $pCur109 = sp + 672|0; + $res110 = sp + 668|0; + $i111 = sp + 664|0; + $apArg = sp + 660|0; + $pVtab112 = sp + 656|0; + $pModule113 = sp + 652|0; + $pDest114 = sp + 648|0; + $sContext = sp + 616|0; + $pCur115 = sp + 612|0; + $pVtab116 = sp + 608|0; + $pModule117 = sp + 604|0; + $res118 = sp + 600|0; + $pCur119 = sp + 596|0; + $pVtab120 = sp + 592|0; + $pName = sp + 588|0; + $pVtab121 = sp + 584|0; + $pModule122 = sp + 580|0; + $nArg123 = sp + 576|0; + $i124 = sp + 572|0; + $rowid125 = sp; + $apArg126 = sp + 568|0; + $pX127 = sp + 564|0; + $vtabOnConflict = sp + 1672|0; + $newMax = sp + 560|0; + $pBt128 = sp + 556|0; + $zTrace = sp + 552|0; + $i129 = sp + 548|0; + $x130 = sp + 544|0; + $z131 = sp + 540|0; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); + $2 = ((($1)) + 88|0); $3 = HEAP32[$2>>2]|0; HEAP32[$aOp>>2] = $3; $4 = HEAP32[$aOp>>2]|0; @@ -211389,7 +215744,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$nVmStep>>2] = 0; HEAP32[$nProgressLimit>>2] = 0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 8|0); + $11 = ((($10)) + 92|0); $12 = HEAP32[$11>>2]|0; HEAP32[$aMem>>2] = $12; HEAP32[$pIn1>>2] = 0; @@ -211414,18 +215769,18 @@ function _sqlite3VdbeExec($p) { $25 = HEAP32[$0>>2]|0; _sqlite3VdbeEnter($25); $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 80|0); + $27 = ((($26)) + 40|0); $28 = HEAP32[$27>>2]|0; $29 = ($28|0)==(7); L1: do { if ($29) { - label = 881; + label = 889; } else { $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 80|0); + $31 = ((($30)) + 40|0); HEAP32[$31>>2] = 0; $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 136|0); + $33 = ((($32)) + 56|0); $34 = $33; $35 = $34; HEAP32[$35>>2] = 0; @@ -211433,7 +215788,7 @@ function _sqlite3VdbeExec($p) { $37 = $36; HEAP32[$37>>2] = 0; $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 20|0); + $39 = ((($38)) + 104|0); HEAP32[$39>>2] = 0; $40 = HEAP32[$db>>2]|0; $41 = ((($40)) + 380|0); @@ -211451,7 +215806,7 @@ function _sqlite3VdbeExec($p) { $50 = ($49|0)!=(0|0); if ($50) { $51 = HEAP32[$0>>2]|0; - $52 = ((($51)) + 108|0); + $52 = ((($51)) + 156|0); $53 = ((($52)) + 16|0); $54 = HEAP32[$53>>2]|0; HEAP32[$iPrior>>2] = $54; @@ -211467,7 +215822,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$nProgressLimit>>2] = $63; } $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 76|0); + $65 = ((($64)) + 36|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$aOp>>2]|0; $68 = (($67) + (($66*20)|0)|0); @@ -211481,13 +215836,13 @@ function _sqlite3VdbeExec($p) { $73 = $72&255; L10: do { switch ($73|0) { - case 85: { + case 87: { label = 64; break L8; break; } case 1: { - label = 387; + label = 393; break L8; break; } @@ -211523,7 +215878,7 @@ function _sqlite3VdbeExec($p) { label = 14; break; } - case 70: { + case 72: { $136 = HEAP32[$pOp>>2]|0; $137 = ((($136)) + 4|0); $138 = HEAP32[$137>>2]|0; @@ -211577,7 +215932,7 @@ function _sqlite3VdbeExec($p) { } break; } - case 71: { + case 73: { $174 = HEAP32[$pOp>>2]|0; $175 = ((($174)) + 4|0); $176 = HEAP32[$175>>2]|0; @@ -211645,7 +216000,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$pOp>>2] = $225; break; } - case 72: { + case 74: { $226 = HEAP32[$pOp>>2]|0; $227 = ((($226)) + 12|0); $228 = HEAP32[$227>>2]|0; @@ -211663,11 +216018,11 @@ function _sqlite3VdbeExec($p) { } break; } - case 73: { + case 75: { label = 20; break; } - case 74: { + case 76: { $367 = HEAP32[$0>>2]|0; $368 = HEAP32[$pOp>>2]|0; $369 = (_out2Prerelease($367,$368)|0); @@ -211686,7 +216041,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$379>>2] = $374; break; } - case 75: { + case 77: { $380 = HEAP32[$0>>2]|0; $381 = HEAP32[$pOp>>2]|0; $382 = (_out2Prerelease($380,$381)|0); @@ -211709,7 +216064,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$396>>2] = $391; break; } - case 133: { + case 132: { $397 = HEAP32[$0>>2]|0; $398 = HEAP32[$pOp>>2]|0; $399 = (_out2Prerelease($397,$398)|0); @@ -211731,7 +216086,7 @@ function _sqlite3VdbeExec($p) { $409 = (_out2Prerelease($407,$408)|0); HEAP32[$pOut>>2] = $409; $410 = HEAP32[$pOp>>2]|0; - HEAP8[$410>>0] = 76; + HEAP8[$410>>0] = 78; $411 = HEAP32[$pOp>>2]|0; $412 = ((($411)) + 16|0); $413 = HEAP32[$412>>2]|0; @@ -211755,7 +216110,7 @@ function _sqlite3VdbeExec($p) { $428 = (_sqlite3VdbeChangeEncoding($425,$427)|0); $429 = (0)!=($428|0); if ($429) { - label = 881; + label = 889; break L1; } $430 = HEAP32[$pOut>>2]|0; @@ -211800,22 +216155,22 @@ function _sqlite3VdbeExec($p) { $460 = ((($459)) + 4|0); $461 = HEAP32[$460>>2]|0; $462 = HEAP32[$db>>2]|0; - $463 = ((($462)) + 92|0); + $463 = ((($462)) + 96|0); $464 = HEAP32[$463>>2]|0; $465 = ($461|0)>($464|0); if ($465) { - label = 880; + label = 888; break L8; } else { label = 43; } break; } - case 76: { + case 78: { label = 43; break; } - case 77: { + case 79: { $509 = HEAP32[$0>>2]|0; $510 = HEAP32[$pOp>>2]|0; $511 = (_out2Prerelease($509,$510)|0); @@ -211838,1315 +216193,1321 @@ function _sqlite3VdbeExec($p) { $525 = HEAP32[$pOut>>2]|0; $526 = ((($525)) + 8|0); HEAP16[$526>>1] = $524; + $527 = HEAP32[$pOut>>2]|0; + $528 = ((($527)) + 12|0); + HEAP32[$528>>2] = 0; while(1) { - $527 = HEAP32[$cnt>>2]|0; - $528 = ($527|0)>(0); - if (!($528)) { + $529 = HEAP32[$cnt>>2]|0; + $530 = ($529|0)>(0); + if (!($530)) { break L10; } - $529 = HEAP32[$pOut>>2]|0; - $530 = ((($529)) + 40|0); - HEAP32[$pOut>>2] = $530; $531 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($531); - $532 = HEAP16[$nullFlag>>1]|0; + $532 = ((($531)) + 40|0); + HEAP32[$pOut>>2] = $532; $533 = HEAP32[$pOut>>2]|0; - $534 = ((($533)) + 8|0); - HEAP16[$534>>1] = $532; - $535 = HEAP32[$cnt>>2]|0; - $536 = (($535) + -1)|0; - HEAP32[$cnt>>2] = $536; + _sqlite3VdbeMemSetNull($533); + $534 = HEAP16[$nullFlag>>1]|0; + $535 = HEAP32[$pOut>>2]|0; + $536 = ((($535)) + 8|0); + HEAP16[$536>>1] = $534; + $537 = HEAP32[$pOut>>2]|0; + $538 = ((($537)) + 12|0); + HEAP32[$538>>2] = 0; + $539 = HEAP32[$cnt>>2]|0; + $540 = (($539) + -1)|0; + HEAP32[$cnt>>2] = $540; } break; } - case 78: { - $537 = HEAP32[$pOp>>2]|0; - $538 = ((($537)) + 4|0); - $539 = HEAP32[$538>>2]|0; - $540 = HEAP32[$aMem>>2]|0; - $541 = (($540) + (($539*40)|0)|0); - HEAP32[$pOut>>2] = $541; - $542 = HEAP32[$pOut>>2]|0; - $543 = ((($542)) + 8|0); - $544 = HEAP16[$543>>1]|0; - $545 = $544&65535; - $546 = $545 | 1; - $547 = $546 & -129; - $548 = $547&65535; - $549 = HEAP32[$pOut>>2]|0; - $550 = ((($549)) + 8|0); - HEAP16[$550>>1] = $548; + case 80: { + $541 = HEAP32[$pOp>>2]|0; + $542 = ((($541)) + 4|0); + $543 = HEAP32[$542>>2]|0; + $544 = HEAP32[$aMem>>2]|0; + $545 = (($544) + (($543*40)|0)|0); + HEAP32[$pOut>>2] = $545; + $546 = HEAP32[$pOut>>2]|0; + $547 = ((($546)) + 8|0); + $548 = HEAP16[$547>>1]|0; + $549 = $548&65535; + $550 = $549 | 1; + $551 = $550 & -129; + $552 = $551&65535; + $553 = HEAP32[$pOut>>2]|0; + $554 = ((($553)) + 8|0); + HEAP16[$554>>1] = $552; break; } - case 79: { - $551 = HEAP32[$0>>2]|0; - $552 = HEAP32[$pOp>>2]|0; - $553 = (_out2Prerelease($551,$552)|0); - HEAP32[$pOut>>2] = $553; - $554 = HEAP32[$pOut>>2]|0; - $555 = HEAP32[$pOp>>2]|0; - $556 = ((($555)) + 16|0); - $557 = HEAP32[$556>>2]|0; - $558 = HEAP32[$pOp>>2]|0; - $559 = ((($558)) + 4|0); - $560 = HEAP32[$559>>2]|0; - (_sqlite3VdbeMemSetStr($554,$557,$560,0,0)|0); - $561 = HEAP8[$encoding>>0]|0; - $562 = HEAP32[$pOut>>2]|0; - $563 = ((($562)) + 10|0); - HEAP8[$563>>0] = $561; + case 81: { + $555 = HEAP32[$0>>2]|0; + $556 = HEAP32[$pOp>>2]|0; + $557 = (_out2Prerelease($555,$556)|0); + HEAP32[$pOut>>2] = $557; + $558 = HEAP32[$pOut>>2]|0; + $559 = HEAP32[$pOp>>2]|0; + $560 = ((($559)) + 16|0); + $561 = HEAP32[$560>>2]|0; + $562 = HEAP32[$pOp>>2]|0; + $563 = ((($562)) + 4|0); + $564 = HEAP32[$563>>2]|0; + (_sqlite3VdbeMemSetStr($558,$561,$564,0,0)|0); + $565 = HEAP8[$encoding>>0]|0; + $566 = HEAP32[$pOut>>2]|0; + $567 = ((($566)) + 10|0); + HEAP8[$567>>0] = $565; break; } - case 80: { - $564 = HEAP32[$pOp>>2]|0; - $565 = ((($564)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($566) - 1)|0; - $568 = HEAP32[$0>>2]|0; - $569 = ((($568)) + 60|0); + case 82: { + $568 = HEAP32[$pOp>>2]|0; + $569 = ((($568)) + 4|0); $570 = HEAP32[$569>>2]|0; - $571 = (($570) + (($567*40)|0)|0); - HEAP32[$pVar>>2] = $571; - $572 = HEAP32[$pVar>>2]|0; - $573 = (_sqlite3VdbeMemTooBig($572)|0); - $574 = ($573|0)!=(0); - if ($574) { - label = 880; + $571 = (($570) - 1)|0; + $572 = HEAP32[$0>>2]|0; + $573 = ((($572)) + 116|0); + $574 = HEAP32[$573>>2]|0; + $575 = (($574) + (($571*40)|0)|0); + HEAP32[$pVar>>2] = $575; + $576 = HEAP32[$pVar>>2]|0; + $577 = (_sqlite3VdbeMemTooBig($576)|0); + $578 = ($577|0)!=(0); + if ($578) { + label = 888; break L8; } - $575 = HEAP32[$0>>2]|0; - $576 = HEAP32[$pOp>>2]|0; - $577 = (_out2Prerelease($575,$576)|0); - HEAP32[$pOut>>2] = $577; - $578 = HEAP32[$pOut>>2]|0; - $579 = HEAP32[$pVar>>2]|0; - _sqlite3VdbeMemShallowCopy($578,$579,2048); + $579 = HEAP32[$0>>2]|0; + $580 = HEAP32[$pOp>>2]|0; + $581 = (_out2Prerelease($579,$580)|0); + HEAP32[$pOut>>2] = $581; + $582 = HEAP32[$pOut>>2]|0; + $583 = HEAP32[$pVar>>2]|0; + _sqlite3VdbeMemShallowCopy($582,$583,2048); break; } - case 81: { - $580 = HEAP32[$pOp>>2]|0; - $581 = ((($580)) + 12|0); - $582 = HEAP32[$581>>2]|0; - HEAP32[$n>>2] = $582; - $583 = HEAP32[$pOp>>2]|0; - $584 = ((($583)) + 4|0); - $585 = HEAP32[$584>>2]|0; - HEAP32[$p1>>2] = $585; - $586 = HEAP32[$pOp>>2]|0; - $587 = ((($586)) + 8|0); - $588 = HEAP32[$587>>2]|0; - HEAP32[$p2>>2] = $588; - $589 = HEAP32[$p1>>2]|0; - $590 = HEAP32[$aMem>>2]|0; - $591 = (($590) + (($589*40)|0)|0); - HEAP32[$pIn1>>2] = $591; - $592 = HEAP32[$p2>>2]|0; - $593 = HEAP32[$aMem>>2]|0; - $594 = (($593) + (($592*40)|0)|0); - HEAP32[$pOut>>2] = $594; + case 83: { + $584 = HEAP32[$pOp>>2]|0; + $585 = ((($584)) + 12|0); + $586 = HEAP32[$585>>2]|0; + HEAP32[$n>>2] = $586; + $587 = HEAP32[$pOp>>2]|0; + $588 = ((($587)) + 4|0); + $589 = HEAP32[$588>>2]|0; + HEAP32[$p1>>2] = $589; + $590 = HEAP32[$pOp>>2]|0; + $591 = ((($590)) + 8|0); + $592 = HEAP32[$591>>2]|0; + HEAP32[$p2>>2] = $592; + $593 = HEAP32[$p1>>2]|0; + $594 = HEAP32[$aMem>>2]|0; + $595 = (($594) + (($593*40)|0)|0); + HEAP32[$pIn1>>2] = $595; + $596 = HEAP32[$p2>>2]|0; + $597 = HEAP32[$aMem>>2]|0; + $598 = (($597) + (($596*40)|0)|0); + HEAP32[$pOut>>2] = $598; while(1) { - $595 = HEAP32[$pOut>>2]|0; - $596 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemMove($595,$596); - $597 = HEAP32[$pOut>>2]|0; - $598 = ((($597)) + 8|0); - $599 = HEAP16[$598>>1]|0; - $600 = $599&65535; - $601 = $600 & 4096; - $602 = ($601|0)!=(0); - if ($602) { - $603 = HEAP32[$pOut>>2]|0; - $604 = (_sqlite3VdbeMemMakeWriteable($603)|0); - $605 = ($604|0)!=(0); - if ($605) { - label = 881; + $599 = HEAP32[$pOut>>2]|0; + $600 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemMove($599,$600); + $601 = HEAP32[$pOut>>2]|0; + $602 = ((($601)) + 8|0); + $603 = HEAP16[$602>>1]|0; + $604 = $603&65535; + $605 = $604 & 4096; + $606 = ($605|0)!=(0); + if ($606) { + $607 = HEAP32[$pOut>>2]|0; + $608 = (_sqlite3VdbeMemMakeWriteable($607)|0); + $609 = ($608|0)!=(0); + if ($609) { + label = 889; break L1; } } - $606 = HEAP32[$pIn1>>2]|0; - $607 = ((($606)) + 40|0); - HEAP32[$pIn1>>2] = $607; - $608 = HEAP32[$pOut>>2]|0; - $609 = ((($608)) + 40|0); - HEAP32[$pOut>>2] = $609; - $610 = HEAP32[$n>>2]|0; - $611 = (($610) + -1)|0; - HEAP32[$n>>2] = $611; - $612 = ($611|0)!=(0); - if (!($612)) { + $610 = HEAP32[$pIn1>>2]|0; + $611 = ((($610)) + 40|0); + HEAP32[$pIn1>>2] = $611; + $612 = HEAP32[$pOut>>2]|0; + $613 = ((($612)) + 40|0); + HEAP32[$pOut>>2] = $613; + $614 = HEAP32[$n>>2]|0; + $615 = (($614) + -1)|0; + HEAP32[$n>>2] = $615; + $616 = ($615|0)!=(0); + if (!($616)) { break; } } break; } - case 82: { - $613 = HEAP32[$pOp>>2]|0; - $614 = ((($613)) + 12|0); - $615 = HEAP32[$614>>2]|0; - HEAP32[$n1>>2] = $615; - $616 = HEAP32[$pOp>>2]|0; - $617 = ((($616)) + 4|0); - $618 = HEAP32[$617>>2]|0; - $619 = HEAP32[$aMem>>2]|0; - $620 = (($619) + (($618*40)|0)|0); - HEAP32[$pIn1>>2] = $620; - $621 = HEAP32[$pOp>>2]|0; - $622 = ((($621)) + 8|0); - $623 = HEAP32[$622>>2]|0; - $624 = HEAP32[$aMem>>2]|0; - $625 = (($624) + (($623*40)|0)|0); - HEAP32[$pOut>>2] = $625; + case 84: { + $617 = HEAP32[$pOp>>2]|0; + $618 = ((($617)) + 12|0); + $619 = HEAP32[$618>>2]|0; + HEAP32[$n1>>2] = $619; + $620 = HEAP32[$pOp>>2]|0; + $621 = ((($620)) + 4|0); + $622 = HEAP32[$621>>2]|0; + $623 = HEAP32[$aMem>>2]|0; + $624 = (($623) + (($622*40)|0)|0); + HEAP32[$pIn1>>2] = $624; + $625 = HEAP32[$pOp>>2]|0; + $626 = ((($625)) + 8|0); + $627 = HEAP32[$626>>2]|0; + $628 = HEAP32[$aMem>>2]|0; + $629 = (($628) + (($627*40)|0)|0); + HEAP32[$pOut>>2] = $629; while(1) { - $626 = HEAP32[$pOut>>2]|0; - $627 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemShallowCopy($626,$627,4096); - $628 = HEAP32[$pOut>>2]|0; - $629 = ((($628)) + 8|0); - $630 = HEAP16[$629>>1]|0; - $631 = $630&65535; - $632 = $631 & 4096; - $633 = ($632|0)!=(0); - if ($633) { - $634 = HEAP32[$pOut>>2]|0; - $635 = (_sqlite3VdbeMemMakeWriteable($634)|0); - $636 = ($635|0)!=(0); - if ($636) { - label = 881; + $630 = HEAP32[$pOut>>2]|0; + $631 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemShallowCopy($630,$631,4096); + $632 = HEAP32[$pOut>>2]|0; + $633 = ((($632)) + 8|0); + $634 = HEAP16[$633>>1]|0; + $635 = $634&65535; + $636 = $635 & 4096; + $637 = ($636|0)!=(0); + if ($637) { + $638 = HEAP32[$pOut>>2]|0; + $639 = (_sqlite3VdbeMemMakeWriteable($638)|0); + $640 = ($639|0)!=(0); + if ($640) { + label = 889; break L1; } } - $637 = HEAP32[$n1>>2]|0; - $638 = (($637) + -1)|0; - HEAP32[$n1>>2] = $638; - $639 = ($637|0)==(0); - if ($639) { + $641 = HEAP32[$n1>>2]|0; + $642 = (($641) + -1)|0; + HEAP32[$n1>>2] = $642; + $643 = ($641|0)==(0); + if ($643) { break L10; } - $640 = HEAP32[$pOut>>2]|0; - $641 = ((($640)) + 40|0); - HEAP32[$pOut>>2] = $641; - $642 = HEAP32[$pIn1>>2]|0; - $643 = ((($642)) + 40|0); - HEAP32[$pIn1>>2] = $643; + $644 = HEAP32[$pOut>>2]|0; + $645 = ((($644)) + 40|0); + HEAP32[$pOut>>2] = $645; + $646 = HEAP32[$pIn1>>2]|0; + $647 = ((($646)) + 40|0); + HEAP32[$pIn1>>2] = $647; } break; } - case 83: { - $644 = HEAP32[$pOp>>2]|0; - $645 = ((($644)) + 4|0); - $646 = HEAP32[$645>>2]|0; - $647 = HEAP32[$aMem>>2]|0; - $648 = (($647) + (($646*40)|0)|0); - HEAP32[$pIn1>>2] = $648; - $649 = HEAP32[$pOp>>2]|0; - $650 = ((($649)) + 8|0); - $651 = HEAP32[$650>>2]|0; - $652 = HEAP32[$aMem>>2]|0; - $653 = (($652) + (($651*40)|0)|0); - HEAP32[$pOut>>2] = $653; - $654 = HEAP32[$pOut>>2]|0; - $655 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemShallowCopy($654,$655,4096); + case 85: { + $648 = HEAP32[$pOp>>2]|0; + $649 = ((($648)) + 4|0); + $650 = HEAP32[$649>>2]|0; + $651 = HEAP32[$aMem>>2]|0; + $652 = (($651) + (($650*40)|0)|0); + HEAP32[$pIn1>>2] = $652; + $653 = HEAP32[$pOp>>2]|0; + $654 = ((($653)) + 8|0); + $655 = HEAP32[$654>>2]|0; + $656 = HEAP32[$aMem>>2]|0; + $657 = (($656) + (($655*40)|0)|0); + HEAP32[$pOut>>2] = $657; + $658 = HEAP32[$pOut>>2]|0; + $659 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemShallowCopy($658,$659,4096); break; } - case 84: { - $656 = HEAP32[$pOp>>2]|0; - $657 = ((($656)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = HEAP32[$aMem>>2]|0; - $660 = (($659) + (($658*40)|0)|0); - HEAP32[$pIn1>>2] = $660; - $661 = HEAP32[$pOp>>2]|0; - $662 = ((($661)) + 8|0); - $663 = HEAP32[$662>>2]|0; - $664 = HEAP32[$aMem>>2]|0; - $665 = (($664) + (($663*40)|0)|0); - HEAP32[$pOut>>2] = $665; - $666 = HEAP32[$pOut>>2]|0; - $667 = HEAP32[$pIn1>>2]|0; - $668 = $667; - $669 = $668; - $670 = HEAP32[$669>>2]|0; - $671 = (($668) + 4)|0; + case 86: { + $660 = HEAP32[$pOp>>2]|0; + $661 = ((($660)) + 4|0); + $662 = HEAP32[$661>>2]|0; + $663 = HEAP32[$aMem>>2]|0; + $664 = (($663) + (($662*40)|0)|0); + HEAP32[$pIn1>>2] = $664; + $665 = HEAP32[$pOp>>2]|0; + $666 = ((($665)) + 8|0); + $667 = HEAP32[$666>>2]|0; + $668 = HEAP32[$aMem>>2]|0; + $669 = (($668) + (($667*40)|0)|0); + HEAP32[$pOut>>2] = $669; + $670 = HEAP32[$pOut>>2]|0; + $671 = HEAP32[$pIn1>>2]|0; $672 = $671; - $673 = HEAP32[$672>>2]|0; - _sqlite3VdbeMemSetInt64($666,$670,$673); + $673 = $672; + $674 = HEAP32[$673>>2]|0; + $675 = (($672) + 4)|0; + $676 = $675; + $677 = HEAP32[$676>>2]|0; + _sqlite3VdbeMemSetInt64($670,$674,$677); break; } case 52: { - $744 = HEAP32[$pOp>>2]|0; - $745 = ((($744)) + 4|0); - $746 = HEAP32[$745>>2]|0; - $747 = HEAP32[$aMem>>2]|0; - $748 = (($747) + (($746*40)|0)|0); - HEAP32[$pIn1>>2] = $748; - $749 = HEAP32[$pOp>>2]|0; - $750 = ((($749)) + 8|0); - $751 = HEAP32[$750>>2]|0; - $752 = HEAP32[$aMem>>2]|0; - $753 = (($752) + (($751*40)|0)|0); - HEAP32[$pIn2>>2] = $753; - $754 = HEAP32[$pOp>>2]|0; - $755 = ((($754)) + 12|0); - $756 = HEAP32[$755>>2]|0; - $757 = HEAP32[$aMem>>2]|0; - $758 = (($757) + (($756*40)|0)|0); - HEAP32[$pOut>>2] = $758; - $759 = HEAP32[$pIn1>>2]|0; - $760 = ((($759)) + 8|0); - $761 = HEAP16[$760>>1]|0; - $762 = $761&65535; - $763 = HEAP32[$pIn2>>2]|0; - $764 = ((($763)) + 8|0); - $765 = HEAP16[$764>>1]|0; - $766 = $765&65535; - $767 = $762 | $766; - $768 = $767 & 1; - $769 = ($768|0)!=(0); - if ($769) { - $770 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($770); - break L10; - } - $771 = HEAP32[$pIn1>>2]|0; - $772 = ((($771)) + 8|0); - $773 = HEAP16[$772>>1]|0; - $774 = $773&65535; - $775 = $774 & 16384; - $776 = ($775|0)!=(0); - if ($776) { - $777 = HEAP32[$pIn1>>2]|0; - $778 = (_sqlite3VdbeMemExpandBlob($777)|0); - $779 = ($778|0)!=(0); - if ($779) { - label = 881; - break L1; - } - } + $761 = HEAP32[$pOp>>2]|0; + $762 = ((($761)) + 4|0); + $763 = HEAP32[$762>>2]|0; + $764 = HEAP32[$aMem>>2]|0; + $765 = (($764) + (($763*40)|0)|0); + HEAP32[$pIn1>>2] = $765; + $766 = HEAP32[$pOp>>2]|0; + $767 = ((($766)) + 8|0); + $768 = HEAP32[$767>>2]|0; + $769 = HEAP32[$aMem>>2]|0; + $770 = (($769) + (($768*40)|0)|0); + HEAP32[$pIn2>>2] = $770; + $771 = HEAP32[$pOp>>2]|0; + $772 = ((($771)) + 12|0); + $773 = HEAP32[$772>>2]|0; + $774 = HEAP32[$aMem>>2]|0; + $775 = (($774) + (($773*40)|0)|0); + HEAP32[$pOut>>2] = $775; + $776 = HEAP32[$pIn1>>2]|0; + $777 = ((($776)) + 8|0); + $778 = HEAP16[$777>>1]|0; + $779 = $778&65535; $780 = HEAP32[$pIn2>>2]|0; $781 = ((($780)) + 8|0); $782 = HEAP16[$781>>1]|0; $783 = $782&65535; - $784 = $783 & 16384; - $785 = ($784|0)!=(0); - if ($785) { - $786 = HEAP32[$pIn2>>2]|0; - $787 = (_sqlite3VdbeMemExpandBlob($786)|0); - $788 = ($787|0)!=(0); - if ($788) { - label = 881; + $784 = $779 | $783; + $785 = $784 & 1; + $786 = ($785|0)!=(0); + if ($786) { + $787 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($787); + break L10; + } + $788 = HEAP32[$pIn1>>2]|0; + $789 = ((($788)) + 8|0); + $790 = HEAP16[$789>>1]|0; + $791 = $790&65535; + $792 = $791 & 16384; + $793 = ($792|0)!=(0); + if ($793) { + $794 = HEAP32[$pIn1>>2]|0; + $795 = (_sqlite3VdbeMemExpandBlob($794)|0); + $796 = ($795|0)!=(0); + if ($796) { + label = 889; break L1; } } - $789 = HEAP32[$pIn1>>2]|0; - $790 = ((($789)) + 8|0); - $791 = HEAP16[$790>>1]|0; - $792 = $791&65535; - $793 = $792 & 18; - $794 = ($793|0)==(0); - if ($794) { - $795 = HEAP32[$pIn1>>2]|0; - $796 = HEAP8[$encoding>>0]|0; - $797 = (_sqlite3VdbeMemStringify($795,$796,0)|0); - $798 = ($797|0)!=(0); - if ($798) { - label = 881; + $797 = HEAP32[$pIn2>>2]|0; + $798 = ((($797)) + 8|0); + $799 = HEAP16[$798>>1]|0; + $800 = $799&65535; + $801 = $800 & 16384; + $802 = ($801|0)!=(0); + if ($802) { + $803 = HEAP32[$pIn2>>2]|0; + $804 = (_sqlite3VdbeMemExpandBlob($803)|0); + $805 = ($804|0)!=(0); + if ($805) { + label = 889; break L1; } } - $799 = HEAP32[$pIn2>>2]|0; - $800 = ((($799)) + 8|0); - $801 = HEAP16[$800>>1]|0; - $802 = $801&65535; - $803 = $802 & 18; - $804 = ($803|0)==(0); - if ($804) { - $805 = HEAP32[$pIn2>>2]|0; - $806 = HEAP8[$encoding>>0]|0; - $807 = (_sqlite3VdbeMemStringify($805,$806,0)|0); - $808 = ($807|0)!=(0); - if ($808) { - label = 881; + $806 = HEAP32[$pIn1>>2]|0; + $807 = ((($806)) + 8|0); + $808 = HEAP16[$807>>1]|0; + $809 = $808&65535; + $810 = $809 & 18; + $811 = ($810|0)==(0); + if ($811) { + $812 = HEAP32[$pIn1>>2]|0; + $813 = HEAP8[$encoding>>0]|0; + $814 = (_sqlite3VdbeMemStringify($812,$813,0)|0); + $815 = ($814|0)!=(0); + if ($815) { + label = 889; break L1; } } - $809 = HEAP32[$pIn1>>2]|0; - $810 = ((($809)) + 12|0); - $811 = HEAP32[$810>>2]|0; - $812 = HEAP32[$pIn2>>2]|0; - $813 = ((($812)) + 12|0); - $814 = HEAP32[$813>>2]|0; - $815 = (($811) + ($814))|0; - $816 = ($815|0)<(0); - $817 = $816 << 31 >> 31; - $818 = $nByte; - $819 = $818; - HEAP32[$819>>2] = $815; - $820 = (($818) + 4)|0; - $821 = $820; - HEAP32[$821>>2] = $817; - $822 = $nByte; - $823 = $822; - $824 = HEAP32[$823>>2]|0; - $825 = (($822) + 4)|0; - $826 = $825; - $827 = HEAP32[$826>>2]|0; - $828 = HEAP32[$db>>2]|0; - $829 = ((($828)) + 92|0); - $830 = HEAP32[$829>>2]|0; - $831 = ($830|0)<(0); - $832 = $831 << 31 >> 31; - $833 = ($827|0)>($832|0); - $834 = ($824>>>0)>($830>>>0); - $835 = ($827|0)==($832|0); - $836 = $835 & $834; - $837 = $833 | $836; - if ($837) { - label = 880; - break L8; + $816 = HEAP32[$pIn2>>2]|0; + $817 = ((($816)) + 8|0); + $818 = HEAP16[$817>>1]|0; + $819 = $818&65535; + $820 = $819 & 18; + $821 = ($820|0)==(0); + if ($821) { + $822 = HEAP32[$pIn2>>2]|0; + $823 = HEAP8[$encoding>>0]|0; + $824 = (_sqlite3VdbeMemStringify($822,$823,0)|0); + $825 = ($824|0)!=(0); + if ($825) { + label = 889; + break L1; + } } - $838 = HEAP32[$pOut>>2]|0; + $826 = HEAP32[$pIn1>>2]|0; + $827 = ((($826)) + 12|0); + $828 = HEAP32[$827>>2]|0; + $829 = HEAP32[$pIn2>>2]|0; + $830 = ((($829)) + 12|0); + $831 = HEAP32[$830>>2]|0; + $832 = (($828) + ($831))|0; + $833 = ($832|0)<(0); + $834 = $833 << 31 >> 31; + $835 = $nByte; + $836 = $835; + HEAP32[$836>>2] = $832; + $837 = (($835) + 4)|0; + $838 = $837; + HEAP32[$838>>2] = $834; $839 = $nByte; $840 = $839; $841 = HEAP32[$840>>2]|0; $842 = (($839) + 4)|0; $843 = $842; $844 = HEAP32[$843>>2]|0; - $845 = (($841) + 2)|0; - $846 = HEAP32[$pOut>>2]|0; - $847 = HEAP32[$pIn2>>2]|0; - $848 = ($846|0)==($847|0); - $849 = $848&1; - $850 = (_sqlite3VdbeMemGrow($838,$845,$849)|0); - $851 = ($850|0)!=(0); - if ($851) { - label = 881; - break L1; + $845 = HEAP32[$db>>2]|0; + $846 = ((($845)) + 96|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)<(0); + $849 = $848 << 31 >> 31; + $850 = ($844|0)>($849|0); + $851 = ($841>>>0)>($847>>>0); + $852 = ($844|0)==($849|0); + $853 = $852 & $851; + $854 = $850 | $853; + if ($854) { + label = 888; + break L8; } - $852 = HEAP32[$pOut>>2]|0; - $853 = ((($852)) + 8|0); - $854 = HEAP16[$853>>1]|0; - $855 = $854&65535; - $856 = $855 & -49664; - $857 = $856 | 2; - $858 = $857&65535; - $859 = HEAP32[$pOut>>2]|0; - $860 = ((($859)) + 8|0); - HEAP16[$860>>1] = $858; - $861 = HEAP32[$pOut>>2]|0; - $862 = HEAP32[$pIn2>>2]|0; - $863 = ($861|0)!=($862|0); - if ($863) { - $864 = HEAP32[$pOut>>2]|0; - $865 = ((($864)) + 16|0); - $866 = HEAP32[$865>>2]|0; - $867 = HEAP32[$pIn2>>2]|0; - $868 = ((($867)) + 16|0); - $869 = HEAP32[$868>>2]|0; - $870 = HEAP32[$pIn2>>2]|0; - $871 = ((($870)) + 12|0); - $872 = HEAP32[$871>>2]|0; - _memcpy(($866|0),($869|0),($872|0))|0; + $855 = HEAP32[$pOut>>2]|0; + $856 = $nByte; + $857 = $856; + $858 = HEAP32[$857>>2]|0; + $859 = (($856) + 4)|0; + $860 = $859; + $861 = HEAP32[$860>>2]|0; + $862 = (($858) + 2)|0; + $863 = HEAP32[$pOut>>2]|0; + $864 = HEAP32[$pIn2>>2]|0; + $865 = ($863|0)==($864|0); + $866 = $865&1; + $867 = (_sqlite3VdbeMemGrow($855,$862,$866)|0); + $868 = ($867|0)!=(0); + if ($868) { + label = 889; + break L1; } - $873 = HEAP32[$pIn2>>2]|0; - $874 = ((($873)) + 12|0); - $875 = HEAP32[$874>>2]|0; + $869 = HEAP32[$pOut>>2]|0; + $870 = ((($869)) + 8|0); + $871 = HEAP16[$870>>1]|0; + $872 = $871&65535; + $873 = $872 & -49664; + $874 = $873 | 2; + $875 = $874&65535; $876 = HEAP32[$pOut>>2]|0; - $877 = ((($876)) + 16|0); - $878 = HEAP32[$877>>2]|0; - $879 = (($878) + ($875)|0); - $880 = HEAP32[$pIn1>>2]|0; - $881 = ((($880)) + 16|0); - $882 = HEAP32[$881>>2]|0; - $883 = HEAP32[$pIn1>>2]|0; - $884 = ((($883)) + 12|0); - $885 = HEAP32[$884>>2]|0; - _memcpy(($879|0),($882|0),($885|0))|0; - $886 = $nByte; - $887 = $886; - $888 = HEAP32[$887>>2]|0; - $889 = (($886) + 4)|0; - $890 = $889; - $891 = HEAP32[$890>>2]|0; - $892 = HEAP32[$pOut>>2]|0; - $893 = ((($892)) + 16|0); - $894 = HEAP32[$893>>2]|0; - $895 = (($894) + ($888)|0); - HEAP8[$895>>0] = 0; - $896 = $nByte; - $897 = $896; - $898 = HEAP32[$897>>2]|0; - $899 = (($896) + 4)|0; - $900 = $899; - $901 = HEAP32[$900>>2]|0; - $902 = (_i64Add(($898|0),($901|0),1,0)|0); - $903 = tempRet0; - $904 = HEAP32[$pOut>>2]|0; - $905 = ((($904)) + 16|0); - $906 = HEAP32[$905>>2]|0; - $907 = (($906) + ($902)|0); - HEAP8[$907>>0] = 0; - $908 = HEAP32[$pOut>>2]|0; - $909 = ((($908)) + 8|0); - $910 = HEAP16[$909>>1]|0; - $911 = $910&65535; - $912 = $911 | 512; - $913 = $912&65535; - HEAP16[$909>>1] = $913; - $914 = $nByte; - $915 = $914; - $916 = HEAP32[$915>>2]|0; - $917 = (($914) + 4)|0; - $918 = $917; - $919 = HEAP32[$918>>2]|0; - $920 = HEAP32[$pOut>>2]|0; - $921 = ((($920)) + 12|0); - HEAP32[$921>>2] = $916; - $922 = HEAP8[$encoding>>0]|0; - $923 = HEAP32[$pOut>>2]|0; - $924 = ((($923)) + 10|0); - HEAP8[$924>>0] = $922; + $877 = ((($876)) + 8|0); + HEAP16[$877>>1] = $875; + $878 = HEAP32[$pOut>>2]|0; + $879 = HEAP32[$pIn2>>2]|0; + $880 = ($878|0)!=($879|0); + if ($880) { + $881 = HEAP32[$pOut>>2]|0; + $882 = ((($881)) + 16|0); + $883 = HEAP32[$882>>2]|0; + $884 = HEAP32[$pIn2>>2]|0; + $885 = ((($884)) + 16|0); + $886 = HEAP32[$885>>2]|0; + $887 = HEAP32[$pIn2>>2]|0; + $888 = ((($887)) + 12|0); + $889 = HEAP32[$888>>2]|0; + _memcpy(($883|0),($886|0),($889|0))|0; + } + $890 = HEAP32[$pIn2>>2]|0; + $891 = ((($890)) + 12|0); + $892 = HEAP32[$891>>2]|0; + $893 = HEAP32[$pOut>>2]|0; + $894 = ((($893)) + 16|0); + $895 = HEAP32[$894>>2]|0; + $896 = (($895) + ($892)|0); + $897 = HEAP32[$pIn1>>2]|0; + $898 = ((($897)) + 16|0); + $899 = HEAP32[$898>>2]|0; + $900 = HEAP32[$pIn1>>2]|0; + $901 = ((($900)) + 12|0); + $902 = HEAP32[$901>>2]|0; + _memcpy(($896|0),($899|0),($902|0))|0; + $903 = $nByte; + $904 = $903; + $905 = HEAP32[$904>>2]|0; + $906 = (($903) + 4)|0; + $907 = $906; + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[$pOut>>2]|0; + $910 = ((($909)) + 16|0); + $911 = HEAP32[$910>>2]|0; + $912 = (($911) + ($905)|0); + HEAP8[$912>>0] = 0; + $913 = $nByte; + $914 = $913; + $915 = HEAP32[$914>>2]|0; + $916 = (($913) + 4)|0; + $917 = $916; + $918 = HEAP32[$917>>2]|0; + $919 = (_i64Add(($915|0),($918|0),1,0)|0); + $920 = tempRet0; + $921 = HEAP32[$pOut>>2]|0; + $922 = ((($921)) + 16|0); + $923 = HEAP32[$922>>2]|0; + $924 = (($923) + ($919)|0); + HEAP8[$924>>0] = 0; + $925 = HEAP32[$pOut>>2]|0; + $926 = ((($925)) + 8|0); + $927 = HEAP16[$926>>1]|0; + $928 = $927&65535; + $929 = $928 | 512; + $930 = $929&65535; + HEAP16[$926>>1] = $930; + $931 = $nByte; + $932 = $931; + $933 = HEAP32[$932>>2]|0; + $934 = (($931) + 4)|0; + $935 = $934; + $936 = HEAP32[$935>>2]|0; + $937 = HEAP32[$pOut>>2]|0; + $938 = ((($937)) + 12|0); + HEAP32[$938>>2] = $933; + $939 = HEAP8[$encoding>>0]|0; + $940 = HEAP32[$pOut>>2]|0; + $941 = ((($940)) + 10|0); + HEAP8[$941>>0] = $939; break; } case 51: case 50: case 49: case 48: case 47: { - $925 = HEAP32[$pOp>>2]|0; - $926 = ((($925)) + 4|0); - $927 = HEAP32[$926>>2]|0; - $928 = HEAP32[$aMem>>2]|0; - $929 = (($928) + (($927*40)|0)|0); - HEAP32[$pIn1>>2] = $929; - $930 = HEAP32[$pIn1>>2]|0; - $931 = (_numericType($930)|0); - HEAP16[$type1>>1] = $931; - $932 = HEAP32[$pOp>>2]|0; - $933 = ((($932)) + 8|0); - $934 = HEAP32[$933>>2]|0; - $935 = HEAP32[$aMem>>2]|0; - $936 = (($935) + (($934*40)|0)|0); - HEAP32[$pIn2>>2] = $936; - $937 = HEAP32[$pIn2>>2]|0; - $938 = (_numericType($937)|0); - HEAP16[$type2>>1] = $938; - $939 = HEAP32[$pOp>>2]|0; - $940 = ((($939)) + 12|0); - $941 = HEAP32[$940>>2]|0; - $942 = HEAP32[$aMem>>2]|0; - $943 = (($942) + (($941*40)|0)|0); - HEAP32[$pOut>>2] = $943; - $944 = HEAP32[$pIn1>>2]|0; - $945 = ((($944)) + 8|0); - $946 = HEAP16[$945>>1]|0; - $947 = $946&65535; - $948 = HEAP32[$pIn2>>2]|0; - $949 = ((($948)) + 8|0); - $950 = HEAP16[$949>>1]|0; - $951 = $950&65535; - $952 = $947 | $951; - $953 = $952&65535; - HEAP16[$flags>>1] = $953; - $954 = HEAP16[$flags>>1]|0; - $955 = $954&65535; - $956 = $955 & 1; - $957 = ($956|0)!=(0); + $942 = HEAP32[$pOp>>2]|0; + $943 = ((($942)) + 4|0); + $944 = HEAP32[$943>>2]|0; + $945 = HEAP32[$aMem>>2]|0; + $946 = (($945) + (($944*40)|0)|0); + HEAP32[$pIn1>>2] = $946; + $947 = HEAP32[$pIn1>>2]|0; + $948 = (_numericType($947)|0); + HEAP16[$type1>>1] = $948; + $949 = HEAP32[$pOp>>2]|0; + $950 = ((($949)) + 8|0); + $951 = HEAP32[$950>>2]|0; + $952 = HEAP32[$aMem>>2]|0; + $953 = (($952) + (($951*40)|0)|0); + HEAP32[$pIn2>>2] = $953; + $954 = HEAP32[$pIn2>>2]|0; + $955 = (_numericType($954)|0); + HEAP16[$type2>>1] = $955; + $956 = HEAP32[$pOp>>2]|0; + $957 = ((($956)) + 12|0); + $958 = HEAP32[$957>>2]|0; + $959 = HEAP32[$aMem>>2]|0; + $960 = (($959) + (($958*40)|0)|0); + HEAP32[$pOut>>2] = $960; + $961 = HEAP32[$pIn1>>2]|0; + $962 = ((($961)) + 8|0); + $963 = HEAP16[$962>>1]|0; + $964 = $963&65535; + $965 = HEAP32[$pIn2>>2]|0; + $966 = ((($965)) + 8|0); + $967 = HEAP16[$966>>1]|0; + $968 = $967&65535; + $969 = $964 | $968; + $970 = $969&65535; + HEAP16[$flags>>1] = $970; + $971 = HEAP16[$flags>>1]|0; + $972 = $971&65535; + $973 = $972 & 1; + $974 = ($973|0)!=(0); L73: do { - if (!($957)) { - $958 = HEAP16[$type1>>1]|0; - $959 = $958&65535; - $960 = HEAP16[$type2>>1]|0; - $961 = $960&65535; - $962 = $959 & $961; - $963 = $962 & 4; - $964 = ($963|0)!=(0); + if (!($974)) { + $975 = HEAP16[$type1>>1]|0; + $976 = $975&65535; + $977 = HEAP16[$type2>>1]|0; + $978 = $977&65535; + $979 = $976 & $978; + $980 = $979 & 4; + $981 = ($980|0)!=(0); L75: do { - if ($964) { - $965 = HEAP32[$pIn1>>2]|0; - $966 = $965; - $967 = $966; - $968 = HEAP32[$967>>2]|0; - $969 = (($966) + 4)|0; - $970 = $969; - $971 = HEAP32[$970>>2]|0; - $972 = $iA; - $973 = $972; - HEAP32[$973>>2] = $968; - $974 = (($972) + 4)|0; - $975 = $974; - HEAP32[$975>>2] = $971; - $976 = HEAP32[$pIn2>>2]|0; - $977 = $976; - $978 = $977; - $979 = HEAP32[$978>>2]|0; - $980 = (($977) + 4)|0; - $981 = $980; - $982 = HEAP32[$981>>2]|0; - $983 = $iB; + if ($981) { + $982 = HEAP32[$pIn1>>2]|0; + $983 = $982; $984 = $983; - HEAP32[$984>>2] = $979; - $985 = (($983) + 4)|0; - $986 = $985; - HEAP32[$986>>2] = $982; + $985 = HEAP32[$984>>2]|0; + $986 = (($983) + 4)|0; + $987 = $986; + $988 = HEAP32[$987>>2]|0; + $989 = $iA; + $990 = $989; + HEAP32[$990>>2] = $985; + $991 = (($989) + 4)|0; + $992 = $991; + HEAP32[$992>>2] = $988; + $993 = HEAP32[$pIn2>>2]|0; + $994 = $993; + $995 = $994; + $996 = HEAP32[$995>>2]|0; + $997 = (($994) + 4)|0; + $998 = $997; + $999 = HEAP32[$998>>2]|0; + $1000 = $iB; + $1001 = $1000; + HEAP32[$1001>>2] = $996; + $1002 = (($1000) + 4)|0; + $1003 = $1002; + HEAP32[$1003>>2] = $999; HEAP8[$bIntint>>0] = 1; - $987 = HEAP32[$pOp>>2]|0; - $988 = HEAP8[$987>>0]|0; - $989 = $988&255; - switch ($989|0) { + $1004 = HEAP32[$pOp>>2]|0; + $1005 = HEAP8[$1004>>0]|0; + $1006 = $1005&255; + switch ($1006|0) { case 47: { - $990 = $iA; - $991 = $990; - $992 = HEAP32[$991>>2]|0; - $993 = (($990) + 4)|0; - $994 = $993; - $995 = HEAP32[$994>>2]|0; - $996 = (_sqlite3AddInt64($iB,$992,$995)|0); - $997 = ($996|0)!=(0); - if ($997) { + $1007 = $iA; + $1008 = $1007; + $1009 = HEAP32[$1008>>2]|0; + $1010 = (($1007) + 4)|0; + $1011 = $1010; + $1012 = HEAP32[$1011>>2]|0; + $1013 = (_sqlite3AddInt64($iB,$1009,$1012)|0); + $1014 = ($1013|0)!=(0); + if ($1014) { break L75; } break; } case 48: { - $998 = $iA; - $999 = $998; - $1000 = HEAP32[$999>>2]|0; - $1001 = (($998) + 4)|0; - $1002 = $1001; - $1003 = HEAP32[$1002>>2]|0; - $1004 = (_sqlite3SubInt64($iB,$1000,$1003)|0); - $1005 = ($1004|0)!=(0); - if ($1005) { + $1015 = $iA; + $1016 = $1015; + $1017 = HEAP32[$1016>>2]|0; + $1018 = (($1015) + 4)|0; + $1019 = $1018; + $1020 = HEAP32[$1019>>2]|0; + $1021 = (_sqlite3SubInt64($iB,$1017,$1020)|0); + $1022 = ($1021|0)!=(0); + if ($1022) { break L75; } break; } case 49: { - $1006 = $iA; - $1007 = $1006; - $1008 = HEAP32[$1007>>2]|0; - $1009 = (($1006) + 4)|0; - $1010 = $1009; - $1011 = HEAP32[$1010>>2]|0; - $1012 = (_sqlite3MulInt64($iB,$1008,$1011)|0); - $1013 = ($1012|0)!=(0); - if ($1013) { + $1023 = $iA; + $1024 = $1023; + $1025 = HEAP32[$1024>>2]|0; + $1026 = (($1023) + 4)|0; + $1027 = $1026; + $1028 = HEAP32[$1027>>2]|0; + $1029 = (_sqlite3MulInt64($iB,$1025,$1028)|0); + $1030 = ($1029|0)!=(0); + if ($1030) { break L75; } break; } case 50: { - $1014 = $iA; - $1015 = $1014; - $1016 = HEAP32[$1015>>2]|0; - $1017 = (($1014) + 4)|0; - $1018 = $1017; - $1019 = HEAP32[$1018>>2]|0; - $1020 = ($1016|0)==(0); - $1021 = ($1019|0)==(0); - $1022 = $1020 & $1021; - if ($1022) { + $1031 = $iA; + $1032 = $1031; + $1033 = HEAP32[$1032>>2]|0; + $1034 = (($1031) + 4)|0; + $1035 = $1034; + $1036 = HEAP32[$1035>>2]|0; + $1037 = ($1033|0)==(0); + $1038 = ($1036|0)==(0); + $1039 = $1037 & $1038; + if ($1039) { break L73; } - $1023 = $iA; - $1024 = $1023; - $1025 = HEAP32[$1024>>2]|0; - $1026 = (($1023) + 4)|0; - $1027 = $1026; - $1028 = HEAP32[$1027>>2]|0; - $1029 = ($1025|0)==(-1); - $1030 = ($1028|0)==(-1); - $1031 = $1029 & $1030; - $1032 = $iB; - $1033 = $1032; - $1034 = HEAP32[$1033>>2]|0; - $1035 = (($1032) + 4)|0; - $1036 = $1035; - $1037 = HEAP32[$1036>>2]|0; - $1038 = ($1034|0)==(0); - $1039 = ($1037|0)==(-2147483648); - $1040 = $1038 & $1039; - $or$cond = $1031 & $1040; + $1040 = $iA; + $1041 = $1040; + $1042 = HEAP32[$1041>>2]|0; + $1043 = (($1040) + 4)|0; + $1044 = $1043; + $1045 = HEAP32[$1044>>2]|0; + $1046 = ($1042|0)==(-1); + $1047 = ($1045|0)==(-1); + $1048 = $1046 & $1047; + $1049 = $iB; + $1050 = $1049; + $1051 = HEAP32[$1050>>2]|0; + $1052 = (($1049) + 4)|0; + $1053 = $1052; + $1054 = HEAP32[$1053>>2]|0; + $1055 = ($1051|0)==(0); + $1056 = ($1054|0)==(-2147483648); + $1057 = $1055 & $1056; + $or$cond = $1048 & $1057; if ($or$cond) { break L75; } - $1041 = $iA; - $1042 = $1041; - $1043 = HEAP32[$1042>>2]|0; - $1044 = (($1041) + 4)|0; - $1045 = $1044; - $1046 = HEAP32[$1045>>2]|0; - $1047 = $iB; - $1048 = $1047; - $1049 = HEAP32[$1048>>2]|0; - $1050 = (($1047) + 4)|0; - $1051 = $1050; - $1052 = HEAP32[$1051>>2]|0; - $1053 = (___divdi3(($1049|0),($1052|0),($1043|0),($1046|0))|0); - $1054 = tempRet0; - $1055 = $iB; - $1056 = $1055; - HEAP32[$1056>>2] = $1053; - $1057 = (($1055) + 4)|0; - $1058 = $1057; - HEAP32[$1058>>2] = $1054; + $1058 = $iA; + $1059 = $1058; + $1060 = HEAP32[$1059>>2]|0; + $1061 = (($1058) + 4)|0; + $1062 = $1061; + $1063 = HEAP32[$1062>>2]|0; + $1064 = $iB; + $1065 = $1064; + $1066 = HEAP32[$1065>>2]|0; + $1067 = (($1064) + 4)|0; + $1068 = $1067; + $1069 = HEAP32[$1068>>2]|0; + $1070 = (___divdi3(($1066|0),($1069|0),($1060|0),($1063|0))|0); + $1071 = tempRet0; + $1072 = $iB; + $1073 = $1072; + HEAP32[$1073>>2] = $1070; + $1074 = (($1072) + 4)|0; + $1075 = $1074; + HEAP32[$1075>>2] = $1071; break; } default: { - $1059 = $iA; - $1060 = $1059; - $1061 = HEAP32[$1060>>2]|0; - $1062 = (($1059) + 4)|0; - $1063 = $1062; - $1064 = HEAP32[$1063>>2]|0; - $1065 = ($1061|0)==(0); - $1066 = ($1064|0)==(0); - $1067 = $1065 & $1066; - if ($1067) { + $1076 = $iA; + $1077 = $1076; + $1078 = HEAP32[$1077>>2]|0; + $1079 = (($1076) + 4)|0; + $1080 = $1079; + $1081 = HEAP32[$1080>>2]|0; + $1082 = ($1078|0)==(0); + $1083 = ($1081|0)==(0); + $1084 = $1082 & $1083; + if ($1084) { break L73; } - $1068 = $iA; - $1069 = $1068; - $1070 = HEAP32[$1069>>2]|0; - $1071 = (($1068) + 4)|0; - $1072 = $1071; - $1073 = HEAP32[$1072>>2]|0; - $1074 = ($1070|0)==(-1); - $1075 = ($1073|0)==(-1); - $1076 = $1074 & $1075; - if ($1076) { - $1077 = $iA; - $1078 = $1077; - HEAP32[$1078>>2] = 1; - $1079 = (($1077) + 4)|0; - $1080 = $1079; - HEAP32[$1080>>2] = 0; + $1085 = $iA; + $1086 = $1085; + $1087 = HEAP32[$1086>>2]|0; + $1088 = (($1085) + 4)|0; + $1089 = $1088; + $1090 = HEAP32[$1089>>2]|0; + $1091 = ($1087|0)==(-1); + $1092 = ($1090|0)==(-1); + $1093 = $1091 & $1092; + if ($1093) { + $1094 = $iA; + $1095 = $1094; + HEAP32[$1095>>2] = 1; + $1096 = (($1094) + 4)|0; + $1097 = $1096; + HEAP32[$1097>>2] = 0; } - $1081 = $iA; - $1082 = $1081; - $1083 = HEAP32[$1082>>2]|0; - $1084 = (($1081) + 4)|0; - $1085 = $1084; - $1086 = HEAP32[$1085>>2]|0; - $1087 = $iB; - $1088 = $1087; - $1089 = HEAP32[$1088>>2]|0; - $1090 = (($1087) + 4)|0; - $1091 = $1090; - $1092 = HEAP32[$1091>>2]|0; - $1093 = (___remdi3(($1089|0),($1092|0),($1083|0),($1086|0))|0); - $1094 = tempRet0; - $1095 = $iB; - $1096 = $1095; - HEAP32[$1096>>2] = $1093; - $1097 = (($1095) + 4)|0; - $1098 = $1097; - HEAP32[$1098>>2] = $1094; + $1098 = $iA; + $1099 = $1098; + $1100 = HEAP32[$1099>>2]|0; + $1101 = (($1098) + 4)|0; + $1102 = $1101; + $1103 = HEAP32[$1102>>2]|0; + $1104 = $iB; + $1105 = $1104; + $1106 = HEAP32[$1105>>2]|0; + $1107 = (($1104) + 4)|0; + $1108 = $1107; + $1109 = HEAP32[$1108>>2]|0; + $1110 = (___remdi3(($1106|0),($1109|0),($1100|0),($1103|0))|0); + $1111 = tempRet0; + $1112 = $iB; + $1113 = $1112; + HEAP32[$1113>>2] = $1110; + $1114 = (($1112) + 4)|0; + $1115 = $1114; + HEAP32[$1115>>2] = $1111; } } - $1099 = $iB; - $1100 = $1099; - $1101 = HEAP32[$1100>>2]|0; - $1102 = (($1099) + 4)|0; - $1103 = $1102; - $1104 = HEAP32[$1103>>2]|0; - $1105 = HEAP32[$pOut>>2]|0; - $1106 = $1105; - $1107 = $1106; - HEAP32[$1107>>2] = $1101; - $1108 = (($1106) + 4)|0; - $1109 = $1108; - HEAP32[$1109>>2] = $1104; - $1110 = HEAP32[$pOut>>2]|0; - $1111 = ((($1110)) + 8|0); - $1112 = HEAP16[$1111>>1]|0; - $1113 = $1112&65535; - $1114 = $1113 & -49664; - $1115 = $1114 | 4; - $1116 = $1115&65535; - $1117 = HEAP32[$pOut>>2]|0; - $1118 = ((($1117)) + 8|0); - HEAP16[$1118>>1] = $1116; + $1116 = $iB; + $1117 = $1116; + $1118 = HEAP32[$1117>>2]|0; + $1119 = (($1116) + 4)|0; + $1120 = $1119; + $1121 = HEAP32[$1120>>2]|0; + $1122 = HEAP32[$pOut>>2]|0; + $1123 = $1122; + $1124 = $1123; + HEAP32[$1124>>2] = $1118; + $1125 = (($1123) + 4)|0; + $1126 = $1125; + HEAP32[$1126>>2] = $1121; + $1127 = HEAP32[$pOut>>2]|0; + $1128 = ((($1127)) + 8|0); + $1129 = HEAP16[$1128>>1]|0; + $1130 = $1129&65535; + $1131 = $1130 & -49664; + $1132 = $1131 | 4; + $1133 = $1132&65535; + $1134 = HEAP32[$pOut>>2]|0; + $1135 = ((($1134)) + 8|0); + HEAP16[$1135>>1] = $1133; break L10; } else { HEAP8[$bIntint>>0] = 0; } } while(0); - $1119 = HEAP32[$pIn1>>2]|0; - $1120 = (+_sqlite3VdbeRealValue($1119)); - HEAPF64[$rA>>3] = $1120; - $1121 = HEAP32[$pIn2>>2]|0; - $1122 = (+_sqlite3VdbeRealValue($1121)); - HEAPF64[$rB>>3] = $1122; - $1123 = HEAP32[$pOp>>2]|0; - $1124 = HEAP8[$1123>>0]|0; - $1125 = $1124&255; - switch ($1125|0) { + $1136 = HEAP32[$pIn1>>2]|0; + $1137 = (+_sqlite3VdbeRealValue($1136)); + HEAPF64[$rA>>3] = $1137; + $1138 = HEAP32[$pIn2>>2]|0; + $1139 = (+_sqlite3VdbeRealValue($1138)); + HEAPF64[$rB>>3] = $1139; + $1140 = HEAP32[$pOp>>2]|0; + $1141 = HEAP8[$1140>>0]|0; + $1142 = $1141&255; + switch ($1142|0) { case 47: { - $1126 = +HEAPF64[$rA>>3]; - $1127 = +HEAPF64[$rB>>3]; - $1128 = $1127 + $1126; - HEAPF64[$rB>>3] = $1128; + $1143 = +HEAPF64[$rA>>3]; + $1144 = +HEAPF64[$rB>>3]; + $1145 = $1144 + $1143; + HEAPF64[$rB>>3] = $1145; break; } case 48: { - $1129 = +HEAPF64[$rA>>3]; - $1130 = +HEAPF64[$rB>>3]; - $1131 = $1130 - $1129; - HEAPF64[$rB>>3] = $1131; + $1146 = +HEAPF64[$rA>>3]; + $1147 = +HEAPF64[$rB>>3]; + $1148 = $1147 - $1146; + HEAPF64[$rB>>3] = $1148; break; } case 49: { - $1132 = +HEAPF64[$rA>>3]; - $1133 = +HEAPF64[$rB>>3]; - $1134 = $1133 * $1132; - HEAPF64[$rB>>3] = $1134; + $1149 = +HEAPF64[$rA>>3]; + $1150 = +HEAPF64[$rB>>3]; + $1151 = $1150 * $1149; + HEAPF64[$rB>>3] = $1151; break; } case 50: { - $1135 = +HEAPF64[$rA>>3]; - $1136 = $1135 == 0.0; - if ($1136) { + $1152 = +HEAPF64[$rA>>3]; + $1153 = $1152 == 0.0; + if ($1153) { break L73; } - $1137 = +HEAPF64[$rA>>3]; - $1138 = +HEAPF64[$rB>>3]; - $1139 = $1138 / $1137; - HEAPF64[$rB>>3] = $1139; + $1154 = +HEAPF64[$rA>>3]; + $1155 = +HEAPF64[$rB>>3]; + $1156 = $1155 / $1154; + HEAPF64[$rB>>3] = $1156; break; } default: { - $1140 = +HEAPF64[$rA>>3]; - $1141 = (~~$1140)>>>0; - $1142 = +Math_abs($1140) >= 1.0 ? $1140 > 0.0 ? (~~+Math_min(+Math_floor($1140 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1140 - +(~~$1140 >>> 0)) / 4294967296.0) >>> 0 : 0; - $1143 = $iA; - $1144 = $1143; - HEAP32[$1144>>2] = $1141; - $1145 = (($1143) + 4)|0; - $1146 = $1145; - HEAP32[$1146>>2] = $1142; - $1147 = +HEAPF64[$rB>>3]; - $1148 = (~~$1147)>>>0; - $1149 = +Math_abs($1147) >= 1.0 ? $1147 > 0.0 ? (~~+Math_min(+Math_floor($1147 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1147 - +(~~$1147 >>> 0)) / 4294967296.0) >>> 0 : 0; - $1150 = $iB; - $1151 = $1150; - HEAP32[$1151>>2] = $1148; - $1152 = (($1150) + 4)|0; - $1153 = $1152; - HEAP32[$1153>>2] = $1149; - $1154 = $iA; - $1155 = $1154; - $1156 = HEAP32[$1155>>2]|0; - $1157 = (($1154) + 4)|0; - $1158 = $1157; - $1159 = HEAP32[$1158>>2]|0; - $1160 = ($1156|0)==(0); - $1161 = ($1159|0)==(0); - $1162 = $1160 & $1161; - if ($1162) { + $1157 = +HEAPF64[$rA>>3]; + $1158 = (~~$1157)>>>0; + $1159 = +Math_abs($1157) >= 1.0 ? $1157 > 0.0 ? (~~+Math_min(+Math_floor($1157 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1157 - +(~~$1157 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1160 = $iA; + $1161 = $1160; + HEAP32[$1161>>2] = $1158; + $1162 = (($1160) + 4)|0; + $1163 = $1162; + HEAP32[$1163>>2] = $1159; + $1164 = +HEAPF64[$rB>>3]; + $1165 = (~~$1164)>>>0; + $1166 = +Math_abs($1164) >= 1.0 ? $1164 > 0.0 ? (~~+Math_min(+Math_floor($1164 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1164 - +(~~$1164 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1167 = $iB; + $1168 = $1167; + HEAP32[$1168>>2] = $1165; + $1169 = (($1167) + 4)|0; + $1170 = $1169; + HEAP32[$1170>>2] = $1166; + $1171 = $iA; + $1172 = $1171; + $1173 = HEAP32[$1172>>2]|0; + $1174 = (($1171) + 4)|0; + $1175 = $1174; + $1176 = HEAP32[$1175>>2]|0; + $1177 = ($1173|0)==(0); + $1178 = ($1176|0)==(0); + $1179 = $1177 & $1178; + if ($1179) { break L73; } - $1163 = $iA; - $1164 = $1163; - $1165 = HEAP32[$1164>>2]|0; - $1166 = (($1163) + 4)|0; - $1167 = $1166; - $1168 = HEAP32[$1167>>2]|0; - $1169 = ($1165|0)==(-1); - $1170 = ($1168|0)==(-1); - $1171 = $1169 & $1170; - if ($1171) { - $1172 = $iA; - $1173 = $1172; - HEAP32[$1173>>2] = 1; - $1174 = (($1172) + 4)|0; - $1175 = $1174; - HEAP32[$1175>>2] = 0; + $1180 = $iA; + $1181 = $1180; + $1182 = HEAP32[$1181>>2]|0; + $1183 = (($1180) + 4)|0; + $1184 = $1183; + $1185 = HEAP32[$1184>>2]|0; + $1186 = ($1182|0)==(-1); + $1187 = ($1185|0)==(-1); + $1188 = $1186 & $1187; + if ($1188) { + $1189 = $iA; + $1190 = $1189; + HEAP32[$1190>>2] = 1; + $1191 = (($1189) + 4)|0; + $1192 = $1191; + HEAP32[$1192>>2] = 0; } - $1176 = $iB; - $1177 = $1176; - $1178 = HEAP32[$1177>>2]|0; - $1179 = (($1176) + 4)|0; - $1180 = $1179; - $1181 = HEAP32[$1180>>2]|0; - $1182 = $iA; - $1183 = $1182; - $1184 = HEAP32[$1183>>2]|0; - $1185 = (($1182) + 4)|0; - $1186 = $1185; - $1187 = HEAP32[$1186>>2]|0; - $1188 = (___remdi3(($1178|0),($1181|0),($1184|0),($1187|0))|0); - $1189 = tempRet0; - $1190 = (+($1188>>>0)) + (4294967296.0*(+($1189|0))); - HEAPF64[$rB>>3] = $1190; + $1193 = $iB; + $1194 = $1193; + $1195 = HEAP32[$1194>>2]|0; + $1196 = (($1193) + 4)|0; + $1197 = $1196; + $1198 = HEAP32[$1197>>2]|0; + $1199 = $iA; + $1200 = $1199; + $1201 = HEAP32[$1200>>2]|0; + $1202 = (($1199) + 4)|0; + $1203 = $1202; + $1204 = HEAP32[$1203>>2]|0; + $1205 = (___remdi3(($1195|0),($1198|0),($1201|0),($1204|0))|0); + $1206 = tempRet0; + $1207 = (+($1205>>>0)) + (4294967296.0*(+($1206|0))); + HEAPF64[$rB>>3] = $1207; } } - $1191 = +HEAPF64[$rB>>3]; - $1192 = (_sqlite3IsNaN($1191)|0); - $1193 = ($1192|0)!=(0); - if (!($1193)) { - $1194 = +HEAPF64[$rB>>3]; - $1195 = HEAP32[$pOut>>2]|0; - HEAPF64[$1195>>3] = $1194; - $1196 = HEAP32[$pOut>>2]|0; - $1197 = ((($1196)) + 8|0); - $1198 = HEAP16[$1197>>1]|0; - $1199 = $1198&65535; - $1200 = $1199 & -49664; - $1201 = $1200 | 8; - $1202 = $1201&65535; - $1203 = HEAP32[$pOut>>2]|0; - $1204 = ((($1203)) + 8|0); - HEAP16[$1204>>1] = $1202; - $1205 = HEAP16[$type1>>1]|0; - $1206 = $1205&65535; - $1207 = HEAP16[$type2>>1]|0; - $1208 = $1207&65535; - $1209 = $1206 | $1208; - $1210 = $1209 & 8; - $1211 = ($1210|0)!=(0); - $1212 = HEAP8[$bIntint>>0]|0; - $1213 = ($1212<<24>>24)!=(0); - $or$cond3 = $1211 | $1213; + $1208 = +HEAPF64[$rB>>3]; + $1209 = (_sqlite3IsNaN($1208)|0); + $1210 = ($1209|0)!=(0); + if (!($1210)) { + $1211 = +HEAPF64[$rB>>3]; + $1212 = HEAP32[$pOut>>2]|0; + HEAPF64[$1212>>3] = $1211; + $1213 = HEAP32[$pOut>>2]|0; + $1214 = ((($1213)) + 8|0); + $1215 = HEAP16[$1214>>1]|0; + $1216 = $1215&65535; + $1217 = $1216 & -49664; + $1218 = $1217 | 8; + $1219 = $1218&65535; + $1220 = HEAP32[$pOut>>2]|0; + $1221 = ((($1220)) + 8|0); + HEAP16[$1221>>1] = $1219; + $1222 = HEAP16[$type1>>1]|0; + $1223 = $1222&65535; + $1224 = HEAP16[$type2>>1]|0; + $1225 = $1224&65535; + $1226 = $1223 | $1225; + $1227 = $1226 & 8; + $1228 = ($1227|0)!=(0); + $1229 = HEAP8[$bIntint>>0]|0; + $1230 = ($1229<<24>>24)!=(0); + $or$cond3 = $1228 | $1230; if ($or$cond3) { break L10; } - $1214 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeIntegerAffinity($1214); + $1231 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeIntegerAffinity($1231); break L10; } } } while(0); - $1215 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($1215); + $1232 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($1232); break; } - case 86: { - $1216 = HEAP32[$pOp>>2]|0; - $1217 = ((($1216)) + 4|0); - $1218 = HEAP32[$1217>>2]|0; - $1219 = ($1218|0)!=(0); - if ($1219) { - $1220 = HEAP32[$pOp>>2]|0; - $1221 = ((($1220)) + 4|0); - $1222 = HEAP32[$1221>>2]|0; - $1223 = HEAP32[$aMem>>2]|0; - $1224 = (($1223) + (($1222*40)|0)|0); - _sqlite3VdbeMemSetInt64($1224,0,0); + case 88: { + $1233 = HEAP32[$pOp>>2]|0; + $1234 = ((($1233)) + 4|0); + $1235 = HEAP32[$1234>>2]|0; + $1236 = ($1235|0)!=(0); + if ($1236) { + $1237 = HEAP32[$pOp>>2]|0; + $1238 = ((($1237)) + 4|0); + $1239 = HEAP32[$1238>>2]|0; + $1240 = HEAP32[$aMem>>2]|0; + $1241 = (($1240) + (($1239*40)|0)|0); + _sqlite3VdbeMemSetInt64($1241,0,0); } break; } - case 87: { - $1225 = HEAP32[$pOp>>2]|0; - $1226 = ((($1225)) + 3|0); - $1227 = HEAP8[$1226>>0]|0; - $1228 = $1227&255; - HEAP32[$n2>>2] = $1228; - $1229 = HEAP32[$db>>2]|0; - $1230 = HEAP32[$n2>>2]|0; - $1231 = (($1230) - 1)|0; - $1232 = $1231<<2; - $1233 = (32 + ($1232))|0; - $1234 = (_sqlite3DbMallocRawNN($1229,$1233,0)|0); - HEAP32[$pCtx>>2] = $1234; - $1235 = HEAP32[$pCtx>>2]|0; - $1236 = ($1235|0)==(0|0); - if ($1236) { - label = 881; + case 89: { + $1242 = HEAP32[$pOp>>2]|0; + $1243 = ((($1242)) + 3|0); + $1244 = HEAP8[$1243>>0]|0; + $1245 = $1244&255; + HEAP32[$n2>>2] = $1245; + $1246 = HEAP32[$db>>2]|0; + $1247 = HEAP32[$n2>>2]|0; + $1248 = (($1247) - 1)|0; + $1249 = $1248<<2; + $1250 = (32 + ($1249))|0; + $1251 = (_sqlite3DbMallocRawNN($1246,$1250,0)|0); + HEAP32[$pCtx>>2] = $1251; + $1252 = HEAP32[$pCtx>>2]|0; + $1253 = ($1252|0)==(0|0); + if ($1253) { + label = 889; break L1; } - $1237 = HEAP32[$pCtx>>2]|0; - HEAP32[$1237>>2] = 0; - $1238 = HEAP32[$pOp>>2]|0; - $1239 = ((($1238)) + 16|0); - $1240 = HEAP32[$1239>>2]|0; - $1241 = HEAP32[$pCtx>>2]|0; - $1242 = ((($1241)) + 4|0); - HEAP32[$1242>>2] = $1240; - $1243 = HEAP32[$pOp>>2]|0; - $1244 = HEAP32[$aOp>>2]|0; - $1245 = $1243; - $1246 = $1244; - $1247 = (($1245) - ($1246))|0; - $1248 = (($1247|0) / 20)&-1; - $1249 = HEAP32[$pCtx>>2]|0; - $1250 = ((($1249)) + 16|0); - HEAP32[$1250>>2] = $1248; - $1251 = HEAP32[$0>>2]|0; - $1252 = HEAP32[$pCtx>>2]|0; - $1253 = ((($1252)) + 12|0); - HEAP32[$1253>>2] = $1251; - $1254 = HEAP32[$n2>>2]|0; - $1255 = $1254&255; - $1256 = HEAP32[$pCtx>>2]|0; - $1257 = ((($1256)) + 26|0); - HEAP8[$1257>>0] = $1255; - $1258 = HEAP32[$pOp>>2]|0; - $1259 = ((($1258)) + 1|0); - HEAP8[$1259>>0] = -21; - $1260 = HEAP32[$pCtx>>2]|0; - $1261 = HEAP32[$pOp>>2]|0; - $1262 = ((($1261)) + 16|0); - HEAP32[$1262>>2] = $1260; - $1263 = HEAP32[$pOp>>2]|0; - HEAP8[$1263>>0] = 88; - label = 124; + $1254 = HEAP32[$pCtx>>2]|0; + HEAP32[$1254>>2] = 0; + $1255 = HEAP32[$pOp>>2]|0; + $1256 = ((($1255)) + 16|0); + $1257 = HEAP32[$1256>>2]|0; + $1258 = HEAP32[$pCtx>>2]|0; + $1259 = ((($1258)) + 4|0); + HEAP32[$1259>>2] = $1257; + $1260 = HEAP32[$pOp>>2]|0; + $1261 = HEAP32[$aOp>>2]|0; + $1262 = $1260; + $1263 = $1261; + $1264 = (($1262) - ($1263))|0; + $1265 = (($1264|0) / 20)&-1; + $1266 = HEAP32[$pCtx>>2]|0; + $1267 = ((($1266)) + 16|0); + HEAP32[$1267>>2] = $1265; + $1268 = HEAP32[$0>>2]|0; + $1269 = HEAP32[$pCtx>>2]|0; + $1270 = ((($1269)) + 12|0); + HEAP32[$1270>>2] = $1268; + $1271 = HEAP32[$n2>>2]|0; + $1272 = $1271&255; + $1273 = HEAP32[$pCtx>>2]|0; + $1274 = ((($1273)) + 26|0); + HEAP8[$1274>>0] = $1272; + $1275 = HEAP32[$pOp>>2]|0; + $1276 = ((($1275)) + 1|0); + HEAP8[$1276>>0] = -21; + $1277 = HEAP32[$pCtx>>2]|0; + $1278 = HEAP32[$pOp>>2]|0; + $1279 = ((($1278)) + 16|0); + HEAP32[$1279>>2] = $1277; + $1280 = HEAP32[$pOp>>2]|0; + HEAP8[$1280>>0] = 90; + label = 126; break; } - case 88: { - label = 124; + case 90: { + label = 126; break; } case 46: case 45: case 44: case 43: { - $1387 = HEAP32[$pOp>>2]|0; - $1388 = ((($1387)) + 4|0); - $1389 = HEAP32[$1388>>2]|0; - $1390 = HEAP32[$aMem>>2]|0; - $1391 = (($1390) + (($1389*40)|0)|0); - HEAP32[$pIn1>>2] = $1391; - $1392 = HEAP32[$pOp>>2]|0; - $1393 = ((($1392)) + 8|0); - $1394 = HEAP32[$1393>>2]|0; - $1395 = HEAP32[$aMem>>2]|0; - $1396 = (($1395) + (($1394*40)|0)|0); - HEAP32[$pIn2>>2] = $1396; - $1397 = HEAP32[$pOp>>2]|0; - $1398 = ((($1397)) + 12|0); - $1399 = HEAP32[$1398>>2]|0; - $1400 = HEAP32[$aMem>>2]|0; - $1401 = (($1400) + (($1399*40)|0)|0); - HEAP32[$pOut>>2] = $1401; - $1402 = HEAP32[$pIn1>>2]|0; - $1403 = ((($1402)) + 8|0); - $1404 = HEAP16[$1403>>1]|0; - $1405 = $1404&65535; - $1406 = HEAP32[$pIn2>>2]|0; - $1407 = ((($1406)) + 8|0); - $1408 = HEAP16[$1407>>1]|0; - $1409 = $1408&65535; - $1410 = $1405 | $1409; - $1411 = $1410 & 1; - $1412 = ($1411|0)!=(0); - if ($1412) { - $1413 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($1413); + $1404 = HEAP32[$pOp>>2]|0; + $1405 = ((($1404)) + 4|0); + $1406 = HEAP32[$1405>>2]|0; + $1407 = HEAP32[$aMem>>2]|0; + $1408 = (($1407) + (($1406*40)|0)|0); + HEAP32[$pIn1>>2] = $1408; + $1409 = HEAP32[$pOp>>2]|0; + $1410 = ((($1409)) + 8|0); + $1411 = HEAP32[$1410>>2]|0; + $1412 = HEAP32[$aMem>>2]|0; + $1413 = (($1412) + (($1411*40)|0)|0); + HEAP32[$pIn2>>2] = $1413; + $1414 = HEAP32[$pOp>>2]|0; + $1415 = ((($1414)) + 12|0); + $1416 = HEAP32[$1415>>2]|0; + $1417 = HEAP32[$aMem>>2]|0; + $1418 = (($1417) + (($1416*40)|0)|0); + HEAP32[$pOut>>2] = $1418; + $1419 = HEAP32[$pIn1>>2]|0; + $1420 = ((($1419)) + 8|0); + $1421 = HEAP16[$1420>>1]|0; + $1422 = $1421&65535; + $1423 = HEAP32[$pIn2>>2]|0; + $1424 = ((($1423)) + 8|0); + $1425 = HEAP16[$1424>>1]|0; + $1426 = $1425&65535; + $1427 = $1422 | $1426; + $1428 = $1427 & 1; + $1429 = ($1428|0)!=(0); + if ($1429) { + $1430 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($1430); break L10; } - $1414 = HEAP32[$pIn2>>2]|0; - $1415 = (_sqlite3VdbeIntValue($1414)|0); - $1416 = tempRet0; - $1417 = $iA5; - $1418 = $1417; - HEAP32[$1418>>2] = $1415; - $1419 = (($1417) + 4)|0; - $1420 = $1419; - HEAP32[$1420>>2] = $1416; - $1421 = HEAP32[$pIn1>>2]|0; - $1422 = (_sqlite3VdbeIntValue($1421)|0); - $1423 = tempRet0; - $1424 = $iB6; - $1425 = $1424; - HEAP32[$1425>>2] = $1422; - $1426 = (($1424) + 4)|0; - $1427 = $1426; - HEAP32[$1427>>2] = $1423; - $1428 = HEAP32[$pOp>>2]|0; - $1429 = HEAP8[$1428>>0]|0; - HEAP8[$op>>0] = $1429; - $1430 = HEAP8[$op>>0]|0; - $1431 = $1430&255; - $1432 = ($1431|0)==(43); + $1431 = HEAP32[$pIn2>>2]|0; + $1432 = (_sqlite3VdbeIntValue($1431)|0); + $1433 = tempRet0; + $1434 = $iA5; + $1435 = $1434; + HEAP32[$1435>>2] = $1432; + $1436 = (($1434) + 4)|0; + $1437 = $1436; + HEAP32[$1437>>2] = $1433; + $1438 = HEAP32[$pIn1>>2]|0; + $1439 = (_sqlite3VdbeIntValue($1438)|0); + $1440 = tempRet0; + $1441 = $iB6; + $1442 = $1441; + HEAP32[$1442>>2] = $1439; + $1443 = (($1441) + 4)|0; + $1444 = $1443; + HEAP32[$1444>>2] = $1440; + $1445 = HEAP32[$pOp>>2]|0; + $1446 = HEAP8[$1445>>0]|0; + HEAP8[$op>>0] = $1446; + $1447 = HEAP8[$op>>0]|0; + $1448 = $1447&255; + $1449 = ($1448|0)==(43); do { - if ($1432) { - $1433 = $iB6; - $1434 = $1433; - $1435 = HEAP32[$1434>>2]|0; - $1436 = (($1433) + 4)|0; - $1437 = $1436; - $1438 = HEAP32[$1437>>2]|0; - $1439 = $iA5; - $1440 = $1439; - $1441 = HEAP32[$1440>>2]|0; - $1442 = (($1439) + 4)|0; - $1443 = $1442; - $1444 = HEAP32[$1443>>2]|0; - $1445 = $1441 & $1435; - $1446 = $1444 & $1438; - $1447 = $iA5; - $1448 = $1447; - HEAP32[$1448>>2] = $1445; - $1449 = (($1447) + 4)|0; - $1450 = $1449; - HEAP32[$1450>>2] = $1446; + if ($1449) { + $1450 = $iB6; + $1451 = $1450; + $1452 = HEAP32[$1451>>2]|0; + $1453 = (($1450) + 4)|0; + $1454 = $1453; + $1455 = HEAP32[$1454>>2]|0; + $1456 = $iA5; + $1457 = $1456; + $1458 = HEAP32[$1457>>2]|0; + $1459 = (($1456) + 4)|0; + $1460 = $1459; + $1461 = HEAP32[$1460>>2]|0; + $1462 = $1458 & $1452; + $1463 = $1461 & $1455; + $1464 = $iA5; + $1465 = $1464; + HEAP32[$1465>>2] = $1462; + $1466 = (($1464) + 4)|0; + $1467 = $1466; + HEAP32[$1467>>2] = $1463; } else { - $1451 = HEAP8[$op>>0]|0; - $1452 = $1451&255; - $1453 = ($1452|0)==(44); - $1454 = $iB6; - $1455 = $1454; - $1456 = HEAP32[$1455>>2]|0; - $1457 = (($1454) + 4)|0; - $1458 = $1457; - $1459 = HEAP32[$1458>>2]|0; - if ($1453) { - $1460 = $iA5; - $1461 = $1460; - $1462 = HEAP32[$1461>>2]|0; - $1463 = (($1460) + 4)|0; - $1464 = $1463; - $1465 = HEAP32[$1464>>2]|0; - $1466 = $1462 | $1456; - $1467 = $1465 | $1459; - $1468 = $iA5; - $1469 = $1468; - HEAP32[$1469>>2] = $1466; - $1470 = (($1468) + 4)|0; - $1471 = $1470; - HEAP32[$1471>>2] = $1467; + $1468 = HEAP8[$op>>0]|0; + $1469 = $1468&255; + $1470 = ($1469|0)==(44); + $1471 = $iB6; + $1472 = $1471; + $1473 = HEAP32[$1472>>2]|0; + $1474 = (($1471) + 4)|0; + $1475 = $1474; + $1476 = HEAP32[$1475>>2]|0; + if ($1470) { + $1477 = $iA5; + $1478 = $1477; + $1479 = HEAP32[$1478>>2]|0; + $1480 = (($1477) + 4)|0; + $1481 = $1480; + $1482 = HEAP32[$1481>>2]|0; + $1483 = $1479 | $1473; + $1484 = $1482 | $1476; + $1485 = $iA5; + $1486 = $1485; + HEAP32[$1486>>2] = $1483; + $1487 = (($1485) + 4)|0; + $1488 = $1487; + HEAP32[$1488>>2] = $1484; break; } - $1472 = ($1456|0)!=(0); - $1473 = ($1459|0)!=(0); - $1474 = $1472 | $1473; - if ($1474) { - $1475 = $iB6; - $1476 = $1475; - $1477 = HEAP32[$1476>>2]|0; - $1478 = (($1475) + 4)|0; - $1479 = $1478; - $1480 = HEAP32[$1479>>2]|0; - $1481 = ($1480|0)<(0); - if ($1481) { - $1482 = HEAP8[$op>>0]|0; - $1483 = $1482&255; - $1484 = (91 - ($1483))|0; - $1485 = $1484&255; - HEAP8[$op>>0] = $1485; - $1486 = $iB6; - $1487 = $1486; - $1488 = HEAP32[$1487>>2]|0; - $1489 = (($1486) + 4)|0; - $1490 = $1489; - $1491 = HEAP32[$1490>>2]|0; - $1492 = ($1491|0)>(-1); - $1493 = ($1488>>>0)>(4294967232); - $1494 = ($1491|0)==(-1); - $1495 = $1494 & $1493; - $1496 = $1492 | $1495; - $1497 = $iB6; - $1498 = $1497; - $1499 = HEAP32[$1498>>2]|0; - $1500 = (($1497) + 4)|0; - $1501 = $1500; - $1502 = HEAP32[$1501>>2]|0; - $1503 = (_i64Subtract(0,0,($1499|0),($1502|0))|0); - $1504 = tempRet0; - $1505 = $1496 ? $1503 : 64; - $1506 = $1496 ? $1504 : 0; - $1507 = $iB6; - $1508 = $1507; - HEAP32[$1508>>2] = $1505; - $1509 = (($1507) + 4)|0; - $1510 = $1509; - HEAP32[$1510>>2] = $1506; + $1489 = ($1473|0)!=(0); + $1490 = ($1476|0)!=(0); + $1491 = $1489 | $1490; + if ($1491) { + $1492 = $iB6; + $1493 = $1492; + $1494 = HEAP32[$1493>>2]|0; + $1495 = (($1492) + 4)|0; + $1496 = $1495; + $1497 = HEAP32[$1496>>2]|0; + $1498 = ($1497|0)<(0); + if ($1498) { + $1499 = HEAP8[$op>>0]|0; + $1500 = $1499&255; + $1501 = (91 - ($1500))|0; + $1502 = $1501&255; + HEAP8[$op>>0] = $1502; + $1503 = $iB6; + $1504 = $1503; + $1505 = HEAP32[$1504>>2]|0; + $1506 = (($1503) + 4)|0; + $1507 = $1506; + $1508 = HEAP32[$1507>>2]|0; + $1509 = ($1508|0)>(-1); + $1510 = ($1505>>>0)>(4294967232); + $1511 = ($1508|0)==(-1); + $1512 = $1511 & $1510; + $1513 = $1509 | $1512; + $1514 = $iB6; + $1515 = $1514; + $1516 = HEAP32[$1515>>2]|0; + $1517 = (($1514) + 4)|0; + $1518 = $1517; + $1519 = HEAP32[$1518>>2]|0; + $1520 = (_i64Subtract(0,0,($1516|0),($1519|0))|0); + $1521 = tempRet0; + $1522 = $1513 ? $1520 : 64; + $1523 = $1513 ? $1521 : 0; + $1524 = $iB6; + $1525 = $1524; + HEAP32[$1525>>2] = $1522; + $1526 = (($1524) + 4)|0; + $1527 = $1526; + HEAP32[$1527>>2] = $1523; } - $1511 = $iB6; - $1512 = $1511; - $1513 = HEAP32[$1512>>2]|0; - $1514 = (($1511) + 4)|0; - $1515 = $1514; - $1516 = HEAP32[$1515>>2]|0; - $1517 = ($1516|0)>(0); - $1518 = ($1513>>>0)>=(64); - $1519 = ($1516|0)==(0); - $1520 = $1519 & $1518; - $1521 = $1517 | $1520; - if ($1521) { - $1522 = $iA5; - $1523 = $1522; - $1524 = HEAP32[$1523>>2]|0; - $1525 = (($1522) + 4)|0; - $1526 = $1525; - $1527 = HEAP32[$1526>>2]|0; - $1528 = ($1527|0)>(0); - $1529 = ($1524>>>0)>=(0); - $1530 = ($1527|0)==(0); - $1531 = $1530 & $1529; - $1532 = $1528 | $1531; - if ($1532) { - $1537 = 1; + $1528 = $iB6; + $1529 = $1528; + $1530 = HEAP32[$1529>>2]|0; + $1531 = (($1528) + 4)|0; + $1532 = $1531; + $1533 = HEAP32[$1532>>2]|0; + $1534 = ($1533|0)>(0); + $1535 = ($1530>>>0)>=(64); + $1536 = ($1533|0)==(0); + $1537 = $1536 & $1535; + $1538 = $1534 | $1537; + if ($1538) { + $1539 = $iA5; + $1540 = $1539; + $1541 = HEAP32[$1540>>2]|0; + $1542 = (($1539) + 4)|0; + $1543 = $1542; + $1544 = HEAP32[$1543>>2]|0; + $1545 = ($1544|0)>(0); + $1546 = ($1541>>>0)>=(0); + $1547 = ($1544|0)==(0); + $1548 = $1547 & $1546; + $1549 = $1545 | $1548; + if ($1549) { + $1554 = 1; } else { - $1533 = HEAP8[$op>>0]|0; - $1534 = $1533&255; - $1535 = ($1534|0)==(45); - $1537 = $1535; + $1550 = HEAP8[$op>>0]|0; + $1551 = $1550&255; + $1552 = ($1551|0)==(45); + $1554 = $1552; } - $1536 = $1537 ? 0 : -1; - $1538 = ($1536|0)<(0); - $1539 = $1538 << 31 >> 31; - $1540 = $iA5; - $1541 = $1540; - HEAP32[$1541>>2] = $1536; - $1542 = (($1540) + 4)|0; - $1543 = $1542; - HEAP32[$1543>>2] = $1539; + $1553 = $1554 ? 0 : -1; + $1555 = ($1553|0)<(0); + $1556 = $1555 << 31 >> 31; + $1557 = $iA5; + $1558 = $1557; + HEAP32[$1558>>2] = $1553; + $1559 = (($1557) + 4)|0; + $1560 = $1559; + HEAP32[$1560>>2] = $1556; break; } ;HEAP32[$uA>>2]=HEAP32[$iA5>>2]|0;HEAP32[$uA+4>>2]=HEAP32[$iA5+4>>2]|0; - $1544 = HEAP8[$op>>0]|0; - $1545 = $1544&255; - $1546 = ($1545|0)==(45); - $1547 = $iB6; - $1548 = $1547; - $1549 = HEAP32[$1548>>2]|0; - $1550 = (($1547) + 4)|0; - $1551 = $1550; - $1552 = HEAP32[$1551>>2]|0; - $1553 = $uA; - $1554 = $1553; - $1555 = HEAP32[$1554>>2]|0; - $1556 = (($1553) + 4)|0; - $1557 = $1556; - $1558 = HEAP32[$1557>>2]|0; - if ($1546) { - $1559 = (_bitshift64Shl(($1555|0),($1558|0),($1549|0))|0); - $1560 = tempRet0; - $1561 = $uA; - $1562 = $1561; - HEAP32[$1562>>2] = $1559; - $1563 = (($1561) + 4)|0; - $1564 = $1563; - HEAP32[$1564>>2] = $1560; + $1561 = HEAP8[$op>>0]|0; + $1562 = $1561&255; + $1563 = ($1562|0)==(45); + $1564 = $iB6; + $1565 = $1564; + $1566 = HEAP32[$1565>>2]|0; + $1567 = (($1564) + 4)|0; + $1568 = $1567; + $1569 = HEAP32[$1568>>2]|0; + $1570 = $uA; + $1571 = $1570; + $1572 = HEAP32[$1571>>2]|0; + $1573 = (($1570) + 4)|0; + $1574 = $1573; + $1575 = HEAP32[$1574>>2]|0; + if ($1563) { + $1576 = (_bitshift64Shl(($1572|0),($1575|0),($1566|0))|0); + $1577 = tempRet0; + $1578 = $uA; + $1579 = $1578; + HEAP32[$1579>>2] = $1576; + $1580 = (($1578) + 4)|0; + $1581 = $1580; + HEAP32[$1581>>2] = $1577; } else { - $1565 = (_bitshift64Lshr(($1555|0),($1558|0),($1549|0))|0); - $1566 = tempRet0; - $1567 = $uA; - $1568 = $1567; - HEAP32[$1568>>2] = $1565; - $1569 = (($1567) + 4)|0; - $1570 = $1569; - HEAP32[$1570>>2] = $1566; - $1571 = $iA5; - $1572 = $1571; - $1573 = HEAP32[$1572>>2]|0; - $1574 = (($1571) + 4)|0; - $1575 = $1574; - $1576 = HEAP32[$1575>>2]|0; - $1577 = ($1576|0)<(0); - if ($1577) { - $1578 = $iB6; - $1579 = $1578; - $1580 = HEAP32[$1579>>2]|0; - $1581 = (($1578) + 4)|0; - $1582 = $1581; - $1583 = HEAP32[$1582>>2]|0; - $1584 = (_i64Subtract(64,0,($1580|0),($1583|0))|0); - $1585 = tempRet0; - $1586 = (_bitshift64Shl(-1,-1,($1584|0))|0); - $1587 = tempRet0; - $1588 = $uA; - $1589 = $1588; - $1590 = HEAP32[$1589>>2]|0; - $1591 = (($1588) + 4)|0; - $1592 = $1591; - $1593 = HEAP32[$1592>>2]|0; - $1594 = $1590 | $1586; - $1595 = $1593 | $1587; - $1596 = $uA; - $1597 = $1596; - HEAP32[$1597>>2] = $1594; - $1598 = (($1596) + 4)|0; + $1582 = (_bitshift64Lshr(($1572|0),($1575|0),($1566|0))|0); + $1583 = tempRet0; + $1584 = $uA; + $1585 = $1584; + HEAP32[$1585>>2] = $1582; + $1586 = (($1584) + 4)|0; + $1587 = $1586; + HEAP32[$1587>>2] = $1583; + $1588 = $iA5; + $1589 = $1588; + $1590 = HEAP32[$1589>>2]|0; + $1591 = (($1588) + 4)|0; + $1592 = $1591; + $1593 = HEAP32[$1592>>2]|0; + $1594 = ($1593|0)<(0); + if ($1594) { + $1595 = $iB6; + $1596 = $1595; + $1597 = HEAP32[$1596>>2]|0; + $1598 = (($1595) + 4)|0; $1599 = $1598; - HEAP32[$1599>>2] = $1595; + $1600 = HEAP32[$1599>>2]|0; + $1601 = (_i64Subtract(64,0,($1597|0),($1600|0))|0); + $1602 = tempRet0; + $1603 = (_bitshift64Shl(-1,-1,($1601|0))|0); + $1604 = tempRet0; + $1605 = $uA; + $1606 = $1605; + $1607 = HEAP32[$1606>>2]|0; + $1608 = (($1605) + 4)|0; + $1609 = $1608; + $1610 = HEAP32[$1609>>2]|0; + $1611 = $1607 | $1603; + $1612 = $1610 | $1604; + $1613 = $uA; + $1614 = $1613; + HEAP32[$1614>>2] = $1611; + $1615 = (($1613) + 4)|0; + $1616 = $1615; + HEAP32[$1616>>2] = $1612; } } ;HEAP32[$iA5>>2]=HEAP32[$uA>>2]|0;HEAP32[$iA5+4>>2]=HEAP32[$uA+4>>2]|0; } } } while(0); - $1600 = $iA5; - $1601 = $1600; - $1602 = HEAP32[$1601>>2]|0; - $1603 = (($1600) + 4)|0; - $1604 = $1603; - $1605 = HEAP32[$1604>>2]|0; - $1606 = HEAP32[$pOut>>2]|0; - $1607 = $1606; - $1608 = $1607; - HEAP32[$1608>>2] = $1602; - $1609 = (($1607) + 4)|0; - $1610 = $1609; - HEAP32[$1610>>2] = $1605; - $1611 = HEAP32[$pOut>>2]|0; - $1612 = ((($1611)) + 8|0); - $1613 = HEAP16[$1612>>1]|0; - $1614 = $1613&65535; - $1615 = $1614 & -49664; - $1616 = $1615 | 4; - $1617 = $1616&65535; - $1618 = HEAP32[$pOut>>2]|0; - $1619 = ((($1618)) + 8|0); - HEAP16[$1619>>1] = $1617; + $1617 = $iA5; + $1618 = $1617; + $1619 = HEAP32[$1618>>2]|0; + $1620 = (($1617) + 4)|0; + $1621 = $1620; + $1622 = HEAP32[$1621>>2]|0; + $1623 = HEAP32[$pOut>>2]|0; + $1624 = $1623; + $1625 = $1624; + HEAP32[$1625>>2] = $1619; + $1626 = (($1624) + 4)|0; + $1627 = $1626; + HEAP32[$1627>>2] = $1622; + $1628 = HEAP32[$pOut>>2]|0; + $1629 = ((($1628)) + 8|0); + $1630 = HEAP16[$1629>>1]|0; + $1631 = $1630&65535; + $1632 = $1631 & -49664; + $1633 = $1632 | 4; + $1634 = $1633&65535; + $1635 = HEAP32[$pOut>>2]|0; + $1636 = ((($1635)) + 8|0); + HEAP16[$1636>>1] = $1634; break; } - case 89: { - $1620 = HEAP32[$pOp>>2]|0; - $1621 = ((($1620)) + 4|0); - $1622 = HEAP32[$1621>>2]|0; - $1623 = HEAP32[$aMem>>2]|0; - $1624 = (($1623) + (($1622*40)|0)|0); - HEAP32[$pIn1>>2] = $1624; - $1625 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemIntegerify($1625)|0); - $1626 = HEAP32[$pOp>>2]|0; - $1627 = ((($1626)) + 8|0); - $1628 = HEAP32[$1627>>2]|0; - $1629 = ($1628|0)<(0); - $1630 = $1629 << 31 >> 31; - $1631 = HEAP32[$pIn1>>2]|0; - $1632 = $1631; - $1633 = $1632; - $1634 = HEAP32[$1633>>2]|0; - $1635 = (($1632) + 4)|0; - $1636 = $1635; - $1637 = HEAP32[$1636>>2]|0; - $1638 = (_i64Add(($1634|0),($1637|0),($1628|0),($1630|0))|0); - $1639 = tempRet0; - $1640 = $1631; - $1641 = $1640; - HEAP32[$1641>>2] = $1638; - $1642 = (($1640) + 4)|0; - $1643 = $1642; - HEAP32[$1643>>2] = $1639; + case 91: { + $1637 = HEAP32[$pOp>>2]|0; + $1638 = ((($1637)) + 4|0); + $1639 = HEAP32[$1638>>2]|0; + $1640 = HEAP32[$aMem>>2]|0; + $1641 = (($1640) + (($1639*40)|0)|0); + HEAP32[$pIn1>>2] = $1641; + $1642 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemIntegerify($1642)|0); + $1643 = HEAP32[$pOp>>2]|0; + $1644 = ((($1643)) + 8|0); + $1645 = HEAP32[$1644>>2]|0; + $1646 = ($1645|0)<(0); + $1647 = $1646 << 31 >> 31; + $1648 = HEAP32[$pIn1>>2]|0; + $1649 = $1648; + $1650 = $1649; + $1651 = HEAP32[$1650>>2]|0; + $1652 = (($1649) + 4)|0; + $1653 = $1652; + $1654 = HEAP32[$1653>>2]|0; + $1655 = (_i64Add(($1651|0),($1654|0),($1645|0),($1647|0))|0); + $1656 = tempRet0; + $1657 = $1648; + $1658 = $1657; + HEAP32[$1658>>2] = $1655; + $1659 = (($1657) + 4)|0; + $1660 = $1659; + HEAP32[$1660>>2] = $1656; break; } case 17: { - $1644 = HEAP32[$pOp>>2]|0; - $1645 = ((($1644)) + 4|0); - $1646 = HEAP32[$1645>>2]|0; - $1647 = HEAP32[$aMem>>2]|0; - $1648 = (($1647) + (($1646*40)|0)|0); - HEAP32[$pIn1>>2] = $1648; - $1649 = HEAP32[$pIn1>>2]|0; - $1650 = ((($1649)) + 8|0); - $1651 = HEAP16[$1650>>1]|0; - $1652 = $1651&65535; - $1653 = $1652 & 4; - $1654 = ($1653|0)==(0); - if ($1654) { - $1655 = HEAP32[$pIn1>>2]|0; - $1656 = HEAP8[$encoding>>0]|0; - _applyAffinity($1655,67,$1656); - $1657 = HEAP32[$pIn1>>2]|0; - $1658 = ((($1657)) + 8|0); - $1659 = HEAP16[$1658>>1]|0; - $1660 = $1659&65535; - $1661 = $1660 & 4; - $1662 = ($1661|0)==(0); - if ($1662) { - $1663 = HEAP32[$pOp>>2]|0; - $1664 = ((($1663)) + 8|0); - $1665 = HEAP32[$1664>>2]|0; - $1666 = ($1665|0)==(0); - if ($1666) { - label = 157; + $1661 = HEAP32[$pOp>>2]|0; + $1662 = ((($1661)) + 4|0); + $1663 = HEAP32[$1662>>2]|0; + $1664 = HEAP32[$aMem>>2]|0; + $1665 = (($1664) + (($1663*40)|0)|0); + HEAP32[$pIn1>>2] = $1665; + $1666 = HEAP32[$pIn1>>2]|0; + $1667 = ((($1666)) + 8|0); + $1668 = HEAP16[$1667>>1]|0; + $1669 = $1668&65535; + $1670 = $1669 & 4; + $1671 = ($1670|0)==(0); + if ($1671) { + $1672 = HEAP32[$pIn1>>2]|0; + $1673 = HEAP8[$encoding>>0]|0; + _applyAffinity($1672,67,$1673); + $1674 = HEAP32[$pIn1>>2]|0; + $1675 = ((($1674)) + 8|0); + $1676 = HEAP16[$1675>>1]|0; + $1677 = $1676&65535; + $1678 = $1677 & 4; + $1679 = ($1678|0)==(0); + if ($1679) { + $1680 = HEAP32[$pOp>>2]|0; + $1681 = ((($1680)) + 8|0); + $1682 = HEAP32[$1681>>2]|0; + $1683 = ($1682|0)==(0); + if ($1683) { + label = 159; break L8; } else { label = 14; @@ -213154,140 +217515,141 @@ function _sqlite3VdbeExec($p) { } } } - $1667 = HEAP32[$pIn1>>2]|0; - $1668 = ((($1667)) + 8|0); - $1669 = HEAP16[$1668>>1]|0; - $1670 = $1669&65535; - $1671 = $1670 & -49664; - $1672 = $1671 | 4; - $1673 = $1672&65535; - $1674 = HEAP32[$pIn1>>2]|0; - $1675 = ((($1674)) + 8|0); - HEAP16[$1675>>1] = $1673; + $1684 = HEAP32[$pIn1>>2]|0; + $1685 = ((($1684)) + 8|0); + $1686 = HEAP16[$1685>>1]|0; + $1687 = $1686&65535; + $1688 = $1687 & -49664; + $1689 = $1688 | 4; + $1690 = $1689&65535; + $1691 = HEAP32[$pIn1>>2]|0; + $1692 = ((($1691)) + 8|0); + HEAP16[$1692>>1] = $1690; break; } - case 90: { - $1676 = HEAP32[$pOp>>2]|0; - $1677 = ((($1676)) + 4|0); - $1678 = HEAP32[$1677>>2]|0; - $1679 = HEAP32[$aMem>>2]|0; - $1680 = (($1679) + (($1678*40)|0)|0); - HEAP32[$pIn1>>2] = $1680; - $1681 = HEAP32[$pIn1>>2]|0; - $1682 = ((($1681)) + 8|0); - $1683 = HEAP16[$1682>>1]|0; - $1684 = $1683&65535; - $1685 = $1684 & 4; - $1686 = ($1685|0)!=(0); - if ($1686) { - $1687 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemRealify($1687)|0); + case 92: { + $1693 = HEAP32[$pOp>>2]|0; + $1694 = ((($1693)) + 4|0); + $1695 = HEAP32[$1694>>2]|0; + $1696 = HEAP32[$aMem>>2]|0; + $1697 = (($1696) + (($1695*40)|0)|0); + HEAP32[$pIn1>>2] = $1697; + $1698 = HEAP32[$pIn1>>2]|0; + $1699 = ((($1698)) + 8|0); + $1700 = HEAP16[$1699>>1]|0; + $1701 = $1700&65535; + $1702 = $1701 & 4; + $1703 = ($1702|0)!=(0); + if ($1703) { + $1704 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemRealify($1704)|0); } break; } - case 91: { - $1688 = HEAP32[$pOp>>2]|0; - $1689 = ((($1688)) + 4|0); - $1690 = HEAP32[$1689>>2]|0; - $1691 = HEAP32[$aMem>>2]|0; - $1692 = (($1691) + (($1690*40)|0)|0); - HEAP32[$pIn1>>2] = $1692; - $1693 = HEAP32[$pIn1>>2]|0; - $1694 = ((($1693)) + 8|0); - $1695 = HEAP16[$1694>>1]|0; - $1696 = $1695&65535; - $1697 = $1696 & 16384; - $1698 = ($1697|0)!=(0); - if ($1698) { - $1699 = HEAP32[$pIn1>>2]|0; - $1700 = (_sqlite3VdbeMemExpandBlob($1699)|0); - $1701 = $1700; + case 93: { + $1705 = HEAP32[$pOp>>2]|0; + $1706 = ((($1705)) + 4|0); + $1707 = HEAP32[$1706>>2]|0; + $1708 = HEAP32[$aMem>>2]|0; + $1709 = (($1708) + (($1707*40)|0)|0); + HEAP32[$pIn1>>2] = $1709; + $1710 = HEAP32[$pIn1>>2]|0; + $1711 = ((($1710)) + 8|0); + $1712 = HEAP16[$1711>>1]|0; + $1713 = $1712&65535; + $1714 = $1713 & 16384; + $1715 = ($1714|0)!=(0); + if ($1715) { + $1716 = HEAP32[$pIn1>>2]|0; + $1717 = (_sqlite3VdbeMemExpandBlob($1716)|0); + $1718 = $1717; } else { - $1701 = 0; + $1718 = 0; } - HEAP32[$rc>>2] = $1701; - $1702 = HEAP32[$pIn1>>2]|0; - $1703 = HEAP32[$pOp>>2]|0; - $1704 = ((($1703)) + 8|0); - $1705 = HEAP32[$1704>>2]|0; - $1706 = $1705&255; - $1707 = HEAP8[$encoding>>0]|0; - _sqlite3VdbeMemCast($1702,$1706,$1707); - $1708 = HEAP32[$rc>>2]|0; - $1709 = ($1708|0)!=(0); - if ($1709) { + HEAP32[$rc>>2] = $1718; + $1719 = HEAP32[$pIn1>>2]|0; + $1720 = HEAP32[$pOp>>2]|0; + $1721 = ((($1720)) + 8|0); + $1722 = HEAP32[$1721>>2]|0; + $1723 = $1722&255; + $1724 = HEAP8[$encoding>>0]|0; + _sqlite3VdbeMemCast($1719,$1723,$1724); + $1725 = HEAP32[$rc>>2]|0; + $1726 = ($1725|0)!=(0); + if ($1726) { break L1; } break; } case 41: case 38: case 39: case 40: case 36: case 37: { - $1710 = HEAP32[$pOp>>2]|0; - $1711 = ((($1710)) + 4|0); - $1712 = HEAP32[$1711>>2]|0; - $1713 = HEAP32[$aMem>>2]|0; - $1714 = (($1713) + (($1712*40)|0)|0); - HEAP32[$pIn1>>2] = $1714; - $1715 = HEAP32[$pOp>>2]|0; - $1716 = ((($1715)) + 12|0); - $1717 = HEAP32[$1716>>2]|0; - $1718 = HEAP32[$aMem>>2]|0; - $1719 = (($1718) + (($1717*40)|0)|0); - HEAP32[$pIn3>>2] = $1719; - $1720 = HEAP32[$pIn1>>2]|0; - $1721 = ((($1720)) + 8|0); - $1722 = HEAP16[$1721>>1]|0; - HEAP16[$flags1>>1] = $1722; - $1723 = HEAP32[$pIn3>>2]|0; - $1724 = ((($1723)) + 8|0); - $1725 = HEAP16[$1724>>1]|0; - HEAP16[$flags3>>1] = $1725; - $1726 = HEAP16[$flags1>>1]|0; - $1727 = $1726&65535; - $1728 = HEAP16[$flags3>>1]|0; - $1729 = $1728&65535; - $1730 = $1727 | $1729; - $1731 = $1730 & 1; - $1732 = ($1731|0)!=(0); - $1733 = HEAP32[$pOp>>2]|0; - $1734 = ((($1733)) + 3|0); - $1735 = HEAP8[$1734>>0]|0; - $1736 = $1735&255; + $1727 = HEAP32[$pOp>>2]|0; + $1728 = ((($1727)) + 4|0); + $1729 = HEAP32[$1728>>2]|0; + $1730 = HEAP32[$aMem>>2]|0; + $1731 = (($1730) + (($1729*40)|0)|0); + HEAP32[$pIn1>>2] = $1731; + $1732 = HEAP32[$pOp>>2]|0; + $1733 = ((($1732)) + 12|0); + $1734 = HEAP32[$1733>>2]|0; + $1735 = HEAP32[$aMem>>2]|0; + $1736 = (($1735) + (($1734*40)|0)|0); + HEAP32[$pIn3>>2] = $1736; + $1737 = HEAP32[$pIn1>>2]|0; + $1738 = ((($1737)) + 8|0); + $1739 = HEAP16[$1738>>1]|0; + HEAP16[$flags1>>1] = $1739; + $1740 = HEAP32[$pIn3>>2]|0; + $1741 = ((($1740)) + 8|0); + $1742 = HEAP16[$1741>>1]|0; + HEAP16[$flags3>>1] = $1742; + $1743 = HEAP16[$flags1>>1]|0; + $1744 = $1743&65535; + $1745 = HEAP16[$flags3>>1]|0; + $1746 = $1745&65535; + $1747 = $1744 | $1746; + $1748 = $1747 & 1; + $1749 = ($1748|0)!=(0); + $1750 = HEAP32[$pOp>>2]|0; + $1751 = ((($1750)) + 3|0); + $1752 = HEAP8[$1751>>0]|0; + $1753 = $1752&255; do { - if ($1732) { - $1737 = $1736 & 128; - $1738 = ($1737|0)!=(0); - if (!($1738)) { - $1751 = HEAP32[$pOp>>2]|0; - $1752 = ((($1751)) + 3|0); - $1753 = HEAP8[$1752>>0]|0; - $1754 = $1753&255; - $1755 = $1754 & 32; - $1756 = ($1755|0)!=(0); - $1757 = HEAP32[$pOp>>2]|0; - if ($1756) { - $1758 = ((($1757)) + 8|0); - $1759 = HEAP32[$1758>>2]|0; - $1760 = HEAP32[$aMem>>2]|0; - $1761 = (($1760) + (($1759*40)|0)|0); - HEAP32[$pOut>>2] = $1761; - $1762 = HEAP32[$pOut>>2]|0; - $1763 = ((($1762)) + 8|0); - $1764 = HEAP16[$1763>>1]|0; - $1765 = $1764&65535; - $1766 = $1765 & -49664; - $1767 = $1766 | 1; - $1768 = $1767&65535; - $1769 = HEAP32[$pOut>>2]|0; - $1770 = ((($1769)) + 8|0); - HEAP16[$1770>>1] = $1768; + if ($1749) { + $1754 = $1753 & 128; + $1755 = ($1754|0)!=(0); + if (!($1755)) { + $1768 = HEAP32[$pOp>>2]|0; + $1769 = ((($1768)) + 3|0); + $1770 = HEAP8[$1769>>0]|0; + $1771 = $1770&255; + $1772 = $1771 & 32; + $1773 = ($1772|0)!=(0); + $1774 = HEAP32[$pOp>>2]|0; + if ($1773) { + $1775 = ((($1774)) + 8|0); + $1776 = HEAP32[$1775>>2]|0; + $1777 = HEAP32[$aMem>>2]|0; + $1778 = (($1777) + (($1776*40)|0)|0); + HEAP32[$pOut>>2] = $1778; + HEAP32[$iCompare>>2] = 1; + $1779 = HEAP32[$pOut>>2]|0; + $1780 = ((($1779)) + 8|0); + $1781 = HEAP16[$1780>>1]|0; + $1782 = $1781&65535; + $1783 = $1782 & -49664; + $1784 = $1783 | 1; + $1785 = $1784&65535; + $1786 = HEAP32[$pOut>>2]|0; + $1787 = ((($1786)) + 8|0); + HEAP16[$1787>>1] = $1785; break L10; } else { - $1771 = ((($1757)) + 3|0); - $1772 = HEAP8[$1771>>0]|0; - $1773 = $1772&255; - $1774 = $1773 & 16; - $1775 = ($1774|0)!=(0); - if ($1775) { + $1788 = ((($1774)) + 3|0); + $1789 = HEAP8[$1788>>0]|0; + $1790 = $1789&255; + $1791 = $1790 & 16; + $1792 = ($1791|0)!=(0); + if ($1792) { label = 14; break L10; } else { @@ -213295,21 +217657,21 @@ function _sqlite3VdbeExec($p) { } } } - $1739 = HEAP16[$flags1>>1]|0; - $1740 = $1739&65535; - $1741 = $1740 & 1; - $1742 = ($1741|0)!=(0); - if ($1742) { - $1743 = HEAP16[$flags3>>1]|0; - $1744 = $1743&65535; - $1745 = $1744 & 1; - $1746 = ($1745|0)!=(0); - if ($1746) { - $1747 = HEAP16[$flags3>>1]|0; - $1748 = $1747&65535; - $1749 = $1748 & 256; - $1750 = ($1749|0)==(0); - if ($1750) { + $1756 = HEAP16[$flags1>>1]|0; + $1757 = $1756&65535; + $1758 = $1757 & 1; + $1759 = ($1758|0)!=(0); + if ($1759) { + $1760 = HEAP16[$flags3>>1]|0; + $1761 = $1760&65535; + $1762 = $1761 & 1; + $1763 = ($1762|0)!=(0); + if ($1763) { + $1764 = HEAP16[$flags3>>1]|0; + $1765 = $1764&65535; + $1766 = $1765 & 256; + $1767 = ($1766|0)==(0); + if ($1767) { HEAP32[$res>>2] = 0; break; } @@ -213317,2036 +217679,2116 @@ function _sqlite3VdbeExec($p) { } HEAP32[$res>>2] = 1; } else { - $1776 = $1736 & 71; - $1777 = $1776&255; - HEAP8[$affinity>>0] = $1777; - $1778 = HEAP8[$affinity>>0]|0; - $1779 = $1778 << 24 >> 24; - $1780 = ($1779|0)>=(67); - if ($1780) { - $1781 = HEAP16[$flags1>>1]|0; - $1782 = $1781&65535; - $1783 = HEAP16[$flags3>>1]|0; - $1784 = $1783&65535; - $1785 = $1782 | $1784; - $1786 = $1785 & 2; - $1787 = ($1786|0)!=(0); - if ($1787) { - $1788 = HEAP16[$flags1>>1]|0; - $1789 = $1788&65535; - $1790 = $1789 & 14; - $1791 = ($1790|0)==(2); - if ($1791) { - $1792 = HEAP32[$pIn1>>2]|0; - _applyNumericAffinity($1792,0); + $1793 = $1753 & 71; + $1794 = $1793&255; + HEAP8[$affinity>>0] = $1794; + $1795 = HEAP8[$affinity>>0]|0; + $1796 = $1795 << 24 >> 24; + $1797 = ($1796|0)>=(67); + if ($1797) { + $1798 = HEAP16[$flags1>>1]|0; + $1799 = $1798&65535; + $1800 = HEAP16[$flags3>>1]|0; + $1801 = $1800&65535; + $1802 = $1799 | $1801; + $1803 = $1802 & 2; + $1804 = ($1803|0)!=(0); + if ($1804) { + $1805 = HEAP16[$flags1>>1]|0; + $1806 = $1805&65535; + $1807 = $1806 & 14; + $1808 = ($1807|0)==(2); + if ($1808) { + $1809 = HEAP32[$pIn1>>2]|0; + _applyNumericAffinity($1809,0); + $1810 = HEAP32[$pIn3>>2]|0; + $1811 = ((($1810)) + 8|0); + $1812 = HEAP16[$1811>>1]|0; + HEAP16[$flags3>>1] = $1812; } - $1793 = HEAP16[$flags3>>1]|0; - $1794 = $1793&65535; - $1795 = $1794 & 14; - $1796 = ($1795|0)==(2); - if ($1796) { - $1797 = HEAP32[$pIn3>>2]|0; - _applyNumericAffinity($1797,0); + $1813 = HEAP16[$flags3>>1]|0; + $1814 = $1813&65535; + $1815 = $1814 & 14; + $1816 = ($1815|0)==(2); + if ($1816) { + $1817 = HEAP32[$pIn3>>2]|0; + _applyNumericAffinity($1817,0); + } + } + $1818 = HEAP32[$pIn1>>2]|0; + $1819 = ((($1818)) + 8|0); + $1820 = HEAP16[$1819>>1]|0; + $1821 = $1820&65535; + $1822 = HEAP32[$pIn3>>2]|0; + $1823 = ((($1822)) + 8|0); + $1824 = HEAP16[$1823>>1]|0; + $1825 = $1824&65535; + $1826 = $1821 & $1825; + $1827 = $1826 & 4; + $1828 = ($1827|0)!=(0); + if ($1828) { + $1829 = HEAP32[$pIn3>>2]|0; + $1830 = $1829; + $1831 = $1830; + $1832 = HEAP32[$1831>>2]|0; + $1833 = (($1830) + 4)|0; + $1834 = $1833; + $1835 = HEAP32[$1834>>2]|0; + $1836 = HEAP32[$pIn1>>2]|0; + $1837 = $1836; + $1838 = $1837; + $1839 = HEAP32[$1838>>2]|0; + $1840 = (($1837) + 4)|0; + $1841 = $1840; + $1842 = HEAP32[$1841>>2]|0; + $1843 = ($1835|0)>($1842|0); + $1844 = ($1832>>>0)>($1839>>>0); + $1845 = ($1835|0)==($1842|0); + $1846 = $1845 & $1844; + $1847 = $1843 | $1846; + if ($1847) { + HEAP32[$res>>2] = 1; + break; + } + $1848 = HEAP32[$pIn3>>2]|0; + $1849 = $1848; + $1850 = $1849; + $1851 = HEAP32[$1850>>2]|0; + $1852 = (($1849) + 4)|0; + $1853 = $1852; + $1854 = HEAP32[$1853>>2]|0; + $1855 = HEAP32[$pIn1>>2]|0; + $1856 = $1855; + $1857 = $1856; + $1858 = HEAP32[$1857>>2]|0; + $1859 = (($1856) + 4)|0; + $1860 = $1859; + $1861 = HEAP32[$1860>>2]|0; + $1862 = ($1854|0)<($1861|0); + $1863 = ($1851>>>0)<($1858>>>0); + $1864 = ($1854|0)==($1861|0); + $1865 = $1864 & $1863; + $1866 = $1862 | $1865; + if ($1866) { + HEAP32[$res>>2] = -1; + break; + } else { + HEAP32[$res>>2] = 0; + break; } } } else { - $1798 = HEAP8[$affinity>>0]|0; - $1799 = $1798 << 24 >> 24; - $1800 = ($1799|0)==(66); - if ($1800) { - $1801 = HEAP16[$flags1>>1]|0; - $1802 = $1801&65535; - $1803 = $1802 & 2; - $1804 = ($1803|0)==(0); - if ($1804) { - $1805 = HEAP16[$flags1>>1]|0; - $1806 = $1805&65535; - $1807 = $1806 & 12; - $1808 = ($1807|0)!=(0); - if ($1808) { - $1809 = HEAP32[$pIn1>>2]|0; - $1810 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1809,$1810,1)|0); - $1811 = HEAP32[$pIn1>>2]|0; - $1812 = ((($1811)) + 8|0); - $1813 = HEAP16[$1812>>1]|0; - $1814 = $1813&65535; - $1815 = $1814 & -33280; - $1816 = HEAP16[$flags1>>1]|0; - $1817 = $1816&65535; - $1818 = $1817 & 33279; - $1819 = $1815 | $1818; - $1820 = $1819&65535; - HEAP16[$flags1>>1] = $1820; + $1867 = HEAP8[$affinity>>0]|0; + $1868 = $1867 << 24 >> 24; + $1869 = ($1868|0)==(66); + if ($1869) { + $1870 = HEAP16[$flags1>>1]|0; + $1871 = $1870&65535; + $1872 = $1871 & 2; + $1873 = ($1872|0)==(0); + if ($1873) { + $1874 = HEAP16[$flags1>>1]|0; + $1875 = $1874&65535; + $1876 = $1875 & 12; + $1877 = ($1876|0)!=(0); + if ($1877) { + $1878 = HEAP32[$pIn1>>2]|0; + $1879 = HEAP8[$encoding>>0]|0; + (_sqlite3VdbeMemStringify($1878,$1879,1)|0); + $1880 = HEAP32[$pIn1>>2]|0; + $1881 = ((($1880)) + 8|0); + $1882 = HEAP16[$1881>>1]|0; + $1883 = $1882&65535; + $1884 = $1883 & -33280; + $1885 = HEAP16[$flags1>>1]|0; + $1886 = $1885&65535; + $1887 = $1886 & 33279; + $1888 = $1884 | $1887; + $1889 = $1888&65535; + HEAP16[$flags1>>1] = $1889; } } - $1821 = HEAP16[$flags3>>1]|0; - $1822 = $1821&65535; - $1823 = $1822 & 2; - $1824 = ($1823|0)==(0); - if ($1824) { - $1825 = HEAP16[$flags3>>1]|0; - $1826 = $1825&65535; - $1827 = $1826 & 12; - $1828 = ($1827|0)!=(0); - if ($1828) { - $1829 = HEAP32[$pIn3>>2]|0; - $1830 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1829,$1830,1)|0); - $1831 = HEAP32[$pIn3>>2]|0; - $1832 = ((($1831)) + 8|0); - $1833 = HEAP16[$1832>>1]|0; - $1834 = $1833&65535; - $1835 = $1834 & -33280; - $1836 = HEAP16[$flags3>>1]|0; - $1837 = $1836&65535; - $1838 = $1837 & 33279; - $1839 = $1835 | $1838; - $1840 = $1839&65535; - HEAP16[$flags3>>1] = $1840; + $1890 = HEAP16[$flags3>>1]|0; + $1891 = $1890&65535; + $1892 = $1891 & 2; + $1893 = ($1892|0)==(0); + if ($1893) { + $1894 = HEAP16[$flags3>>1]|0; + $1895 = $1894&65535; + $1896 = $1895 & 12; + $1897 = ($1896|0)!=(0); + if ($1897) { + $1898 = HEAP32[$pIn3>>2]|0; + $1899 = HEAP8[$encoding>>0]|0; + (_sqlite3VdbeMemStringify($1898,$1899,1)|0); + $1900 = HEAP32[$pIn3>>2]|0; + $1901 = ((($1900)) + 8|0); + $1902 = HEAP16[$1901>>1]|0; + $1903 = $1902&65535; + $1904 = $1903 & -33280; + $1905 = HEAP16[$flags3>>1]|0; + $1906 = $1905&65535; + $1907 = $1906 & 33279; + $1908 = $1904 | $1907; + $1909 = $1908&65535; + HEAP16[$flags3>>1] = $1909; } } } } - $1841 = HEAP16[$flags1>>1]|0; - $1842 = $1841&65535; - $1843 = $1842 & 16384; - $1844 = ($1843|0)!=(0); - if ($1844) { - $1845 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemExpandBlob($1845)|0); - $1846 = HEAP16[$flags1>>1]|0; - $1847 = $1846&65535; - $1848 = $1847 & -16385; - $1849 = $1848&65535; - HEAP16[$flags1>>1] = $1849; - } - $1850 = HEAP16[$flags3>>1]|0; - $1851 = $1850&65535; - $1852 = $1851 & 16384; - $1853 = ($1852|0)!=(0); - if ($1853) { - $1854 = HEAP32[$pIn3>>2]|0; - (_sqlite3VdbeMemExpandBlob($1854)|0); - $1855 = HEAP16[$flags3>>1]|0; - $1856 = $1855&65535; - $1857 = $1856 & -16385; - $1858 = $1857&65535; - HEAP16[$flags3>>1] = $1858; - } - $1859 = HEAP32[$pIn3>>2]|0; - $1860 = HEAP32[$pIn1>>2]|0; - $1861 = HEAP32[$pOp>>2]|0; - $1862 = ((($1861)) + 16|0); - $1863 = HEAP32[$1862>>2]|0; - $1864 = (_sqlite3MemCompare($1859,$1860,$1863)|0); - HEAP32[$res>>2] = $1864; + $1910 = HEAP32[$pIn3>>2]|0; + $1911 = HEAP32[$pIn1>>2]|0; + $1912 = HEAP32[$pOp>>2]|0; + $1913 = ((($1912)) + 16|0); + $1914 = HEAP32[$1913>>2]|0; + $1915 = (_sqlite3MemCompare($1910,$1911,$1914)|0); + HEAP32[$res>>2] = $1915; } } while(0); - $1865 = HEAP32[$pOp>>2]|0; - $1866 = HEAP8[$1865>>0]|0; - $1867 = $1866&255; - switch ($1867|0) { + $1916 = HEAP32[$pOp>>2]|0; + $1917 = HEAP8[$1916>>0]|0; + $1918 = $1917&255; + switch ($1918|0) { case 37: { - $1868 = HEAP32[$res>>2]|0; - $1869 = ($1868|0)==(0); - $1870 = $1869&1; - HEAP32[$res>>2] = $1870; + $1919 = HEAP32[$res>>2]|0; + $1920 = ($1919|0)==(0); + $1921 = $1920&1; + HEAP32[$res2>>2] = $1921; break; } case 36: { - $1871 = HEAP32[$res>>2]|0; - $1872 = ($1871|0)!=(0); - $1873 = $1872&1; - HEAP32[$res>>2] = $1873; + $1922 = HEAP32[$res>>2]|0; + HEAP32[$res2>>2] = $1922; break; } case 40: { - $1874 = HEAP32[$res>>2]|0; - $1875 = ($1874|0)<(0); - $1876 = $1875&1; - HEAP32[$res>>2] = $1876; + $1923 = HEAP32[$res>>2]|0; + $1924 = ($1923|0)<(0); + $1925 = $1924&1; + HEAP32[$res2>>2] = $1925; break; } case 39: { - $1877 = HEAP32[$res>>2]|0; - $1878 = ($1877|0)<=(0); - $1879 = $1878&1; - HEAP32[$res>>2] = $1879; + $1926 = HEAP32[$res>>2]|0; + $1927 = ($1926|0)<=(0); + $1928 = $1927&1; + HEAP32[$res2>>2] = $1928; break; } case 38: { - $1880 = HEAP32[$res>>2]|0; - $1881 = ($1880|0)>(0); - $1882 = $1881&1; - HEAP32[$res>>2] = $1882; + $1929 = HEAP32[$res>>2]|0; + $1930 = ($1929|0)>(0); + $1931 = $1930&1; + HEAP32[$res2>>2] = $1931; break; } default: { - $1883 = HEAP32[$res>>2]|0; - $1884 = ($1883|0)>=(0); - $1885 = $1884&1; - HEAP32[$res>>2] = $1885; + $1932 = HEAP32[$res>>2]|0; + $1933 = ($1932|0)>=(0); + $1934 = $1933&1; + HEAP32[$res2>>2] = $1934; } } - $1886 = HEAP16[$flags1>>1]|0; - $1887 = HEAP32[$pIn1>>2]|0; - $1888 = ((($1887)) + 8|0); - HEAP16[$1888>>1] = $1886; - $1889 = HEAP16[$flags3>>1]|0; - $1890 = HEAP32[$pIn3>>2]|0; - $1891 = ((($1890)) + 8|0); - HEAP16[$1891>>1] = $1889; - $1892 = HEAP32[$pOp>>2]|0; - $1893 = ((($1892)) + 3|0); - $1894 = HEAP8[$1893>>0]|0; - $1895 = $1894&255; - $1896 = $1895 & 32; - $1897 = ($1896|0)!=(0); - if ($1897) { - $1898 = HEAP32[$pOp>>2]|0; - $1899 = ((($1898)) + 8|0); - $1900 = HEAP32[$1899>>2]|0; - $1901 = HEAP32[$aMem>>2]|0; - $1902 = (($1901) + (($1900*40)|0)|0); - HEAP32[$pOut>>2] = $1902; - $1903 = HEAP32[$pOut>>2]|0; - $1904 = ((($1903)) + 8|0); - $1905 = HEAP16[$1904>>1]|0; - $1906 = $1905&65535; - $1907 = $1906 & -49664; - $1908 = $1907 | 4; - $1909 = $1908&65535; - $1910 = HEAP32[$pOut>>2]|0; - $1911 = ((($1910)) + 8|0); - HEAP16[$1911>>1] = $1909; - $1912 = HEAP32[$res>>2]|0; - $1913 = ($1912|0)<(0); - $1914 = $1913 << 31 >> 31; - $1915 = HEAP32[$pOut>>2]|0; - $1916 = $1915; - $1917 = $1916; - HEAP32[$1917>>2] = $1912; - $1918 = (($1916) + 4)|0; - $1919 = $1918; - HEAP32[$1919>>2] = $1914; - break L10; - } else { - $1920 = HEAP32[$res>>2]|0; - $1921 = ($1920|0)!=(0); - if ($1921) { + $1935 = HEAP16[$flags1>>1]|0; + $1936 = HEAP32[$pIn1>>2]|0; + $1937 = ((($1936)) + 8|0); + HEAP16[$1937>>1] = $1935; + $1938 = HEAP16[$flags3>>1]|0; + $1939 = HEAP32[$pIn3>>2]|0; + $1940 = ((($1939)) + 8|0); + HEAP16[$1940>>1] = $1938; + $1941 = HEAP32[$pOp>>2]|0; + $1942 = ((($1941)) + 3|0); + $1943 = HEAP8[$1942>>0]|0; + $1944 = $1943&255; + $1945 = $1944 & 32; + $1946 = ($1945|0)!=(0); + if (!($1946)) { + $1986 = HEAP32[$res2>>2]|0; + $1987 = ($1986|0)!=(0); + if ($1987) { label = 14; break L10; } else { break L10; } } + $1947 = HEAP32[$pOp>>2]|0; + $1948 = ((($1947)) + 8|0); + $1949 = HEAP32[$1948>>2]|0; + $1950 = HEAP32[$aMem>>2]|0; + $1951 = (($1950) + (($1949*40)|0)|0); + HEAP32[$pOut>>2] = $1951; + $1952 = HEAP32[$res>>2]|0; + HEAP32[$iCompare>>2] = $1952; + $1953 = HEAP32[$res2>>2]|0; + $1954 = ($1953|0)!=(0); + $1955 = $1954&1; + HEAP32[$res2>>2] = $1955; + $1956 = HEAP32[$pOp>>2]|0; + $1957 = ((($1956)) + 3|0); + $1958 = HEAP8[$1957>>0]|0; + $1959 = $1958&255; + $1960 = $1959 & 8; + $1961 = ($1960|0)!=(0); + if ($1961) { + $1962 = HEAP32[$pOp>>2]|0; + $1963 = HEAP8[$1962>>0]|0; + $1964 = $1963&255; + $1965 = ($1964|0)==(37); + $1966 = $1965&1; + $1967 = HEAP32[$res2>>2]|0; + $1968 = ($1966|0)==($1967|0); + if ($1968) { + break L10; + } + } + $1969 = HEAP32[$pOut>>2]|0; + $1970 = ((($1969)) + 8|0); + $1971 = HEAP16[$1970>>1]|0; + $1972 = $1971&65535; + $1973 = $1972 & -49664; + $1974 = $1973 | 4; + $1975 = $1974&65535; + $1976 = HEAP32[$pOut>>2]|0; + $1977 = ((($1976)) + 8|0); + HEAP16[$1977>>1] = $1975; + $1978 = HEAP32[$res2>>2]|0; + $1979 = ($1978|0)<(0); + $1980 = $1979 << 31 >> 31; + $1981 = HEAP32[$pOut>>2]|0; + $1982 = $1981; + $1983 = $1982; + HEAP32[$1983>>2] = $1978; + $1984 = (($1982) + 4)|0; + $1985 = $1984; + HEAP32[$1985>>2] = $1980; break; } - case 92: { - $1922 = HEAP32[$pOp>>2]|0; - $1923 = ((($1922)) + 16|0); - $1924 = HEAP32[$1923>>2]|0; - $1925 = ((($1924)) + 4|0); - HEAP32[$aPermute>>2] = $1925; + case 42: { + $1988 = HEAP32[$iCompare>>2]|0; + $1989 = ($1988|0)!=(0); + if ($1989) { + label = 14; + } break; } - case 93: { - $1926 = HEAP32[$pOp>>2]|0; - $1927 = ((($1926)) + 3|0); - $1928 = HEAP8[$1927>>0]|0; - $1929 = $1928&255; - $1930 = $1929 & 1; - $1931 = ($1930|0)==(0); - if ($1931) { + case 94: { + $1990 = HEAP32[$pOp>>2]|0; + $1991 = ((($1990)) + 16|0); + $1992 = HEAP32[$1991>>2]|0; + $1993 = ((($1992)) + 4|0); + HEAP32[$aPermute>>2] = $1993; + break; + } + case 95: { + $1994 = HEAP32[$pOp>>2]|0; + $1995 = ((($1994)) + 3|0); + $1996 = HEAP8[$1995>>0]|0; + $1997 = $1996&255; + $1998 = $1997 & 1; + $1999 = ($1998|0)==(0); + if ($1999) { HEAP32[$aPermute>>2] = 0; } - $1932 = HEAP32[$pOp>>2]|0; - $1933 = ((($1932)) + 12|0); - $1934 = HEAP32[$1933>>2]|0; - HEAP32[$n7>>2] = $1934; - $1935 = HEAP32[$pOp>>2]|0; - $1936 = ((($1935)) + 16|0); - $1937 = HEAP32[$1936>>2]|0; - HEAP32[$pKeyInfo>>2] = $1937; - $1938 = HEAP32[$pOp>>2]|0; - $1939 = ((($1938)) + 4|0); - $1940 = HEAP32[$1939>>2]|0; - HEAP32[$p19>>2] = $1940; - $1941 = HEAP32[$pOp>>2]|0; - $1942 = ((($1941)) + 8|0); - $1943 = HEAP32[$1942>>2]|0; - HEAP32[$p210>>2] = $1943; + $2000 = HEAP32[$pOp>>2]|0; + $2001 = ((($2000)) + 12|0); + $2002 = HEAP32[$2001>>2]|0; + HEAP32[$n7>>2] = $2002; + $2003 = HEAP32[$pOp>>2]|0; + $2004 = ((($2003)) + 16|0); + $2005 = HEAP32[$2004>>2]|0; + HEAP32[$pKeyInfo>>2] = $2005; + $2006 = HEAP32[$pOp>>2]|0; + $2007 = ((($2006)) + 4|0); + $2008 = HEAP32[$2007>>2]|0; + HEAP32[$p19>>2] = $2008; + $2009 = HEAP32[$pOp>>2]|0; + $2010 = ((($2009)) + 8|0); + $2011 = HEAP32[$2010>>2]|0; + HEAP32[$p210>>2] = $2011; HEAP32[$i8>>2] = 0; while(1) { - $1944 = HEAP32[$i8>>2]|0; - $1945 = HEAP32[$n7>>2]|0; - $1946 = ($1944|0)<($1945|0); - if (!($1946)) { + $2012 = HEAP32[$i8>>2]|0; + $2013 = HEAP32[$n7>>2]|0; + $2014 = ($2012|0)<($2013|0); + if (!($2014)) { break; } - $1947 = HEAP32[$aPermute>>2]|0; - $1948 = ($1947|0)!=(0|0); - $1949 = HEAP32[$i8>>2]|0; - if ($1948) { - $1950 = HEAP32[$aPermute>>2]|0; - $1951 = (($1950) + ($1949<<2)|0); - $1952 = HEAP32[$1951>>2]|0; - $1953 = $1952; + $2015 = HEAP32[$aPermute>>2]|0; + $2016 = ($2015|0)!=(0|0); + $2017 = HEAP32[$i8>>2]|0; + if ($2016) { + $2018 = HEAP32[$aPermute>>2]|0; + $2019 = (($2018) + ($2017<<2)|0); + $2020 = HEAP32[$2019>>2]|0; + $2021 = $2020; } else { - $1953 = $1949; + $2021 = $2017; } - HEAP32[$idx>>2] = $1953; - $1954 = HEAP32[$i8>>2]|0; - $1955 = HEAP32[$pKeyInfo>>2]|0; - $1956 = ((($1955)) + 20|0); - $1957 = (($1956) + ($1954<<2)|0); - $1958 = HEAP32[$1957>>2]|0; - HEAP32[$pColl>>2] = $1958; - $1959 = HEAP32[$i8>>2]|0; - $1960 = HEAP32[$pKeyInfo>>2]|0; - $1961 = ((($1960)) + 16|0); - $1962 = HEAP32[$1961>>2]|0; - $1963 = (($1962) + ($1959)|0); - $1964 = HEAP8[$1963>>0]|0; - $1965 = $1964&255; - HEAP32[$bRev>>2] = $1965; - $1966 = HEAP32[$p19>>2]|0; - $1967 = HEAP32[$idx>>2]|0; - $1968 = (($1966) + ($1967))|0; - $1969 = HEAP32[$aMem>>2]|0; - $1970 = (($1969) + (($1968*40)|0)|0); - $1971 = HEAP32[$p210>>2]|0; - $1972 = HEAP32[$idx>>2]|0; - $1973 = (($1971) + ($1972))|0; - $1974 = HEAP32[$aMem>>2]|0; - $1975 = (($1974) + (($1973*40)|0)|0); - $1976 = HEAP32[$pColl>>2]|0; - $1977 = (_sqlite3MemCompare($1970,$1975,$1976)|0); - HEAP32[$iCompare>>2] = $1977; - $1978 = HEAP32[$iCompare>>2]|0; - $1979 = ($1978|0)!=(0); - if ($1979) { - label = 210; + HEAP32[$idx>>2] = $2021; + $2022 = HEAP32[$i8>>2]|0; + $2023 = HEAP32[$pKeyInfo>>2]|0; + $2024 = ((($2023)) + 20|0); + $2025 = (($2024) + ($2022<<2)|0); + $2026 = HEAP32[$2025>>2]|0; + HEAP32[$pColl>>2] = $2026; + $2027 = HEAP32[$i8>>2]|0; + $2028 = HEAP32[$pKeyInfo>>2]|0; + $2029 = ((($2028)) + 16|0); + $2030 = HEAP32[$2029>>2]|0; + $2031 = (($2030) + ($2027)|0); + $2032 = HEAP8[$2031>>0]|0; + $2033 = $2032&255; + HEAP32[$bRev>>2] = $2033; + $2034 = HEAP32[$p19>>2]|0; + $2035 = HEAP32[$idx>>2]|0; + $2036 = (($2034) + ($2035))|0; + $2037 = HEAP32[$aMem>>2]|0; + $2038 = (($2037) + (($2036*40)|0)|0); + $2039 = HEAP32[$p210>>2]|0; + $2040 = HEAP32[$idx>>2]|0; + $2041 = (($2039) + ($2040))|0; + $2042 = HEAP32[$aMem>>2]|0; + $2043 = (($2042) + (($2041*40)|0)|0); + $2044 = HEAP32[$pColl>>2]|0; + $2045 = (_sqlite3MemCompare($2038,$2043,$2044)|0); + HEAP32[$iCompare>>2] = $2045; + $2046 = HEAP32[$iCompare>>2]|0; + $2047 = ($2046|0)!=(0); + if ($2047) { + label = 217; break; } - $1984 = HEAP32[$i8>>2]|0; - $1985 = (($1984) + 1)|0; - HEAP32[$i8>>2] = $1985; + $2052 = HEAP32[$i8>>2]|0; + $2053 = (($2052) + 1)|0; + HEAP32[$i8>>2] = $2053; } - if ((label|0) == 210) { + if ((label|0) == 217) { label = 0; - $1980 = HEAP32[$bRev>>2]|0; - $1981 = ($1980|0)!=(0); - if ($1981) { - $1982 = HEAP32[$iCompare>>2]|0; - $1983 = (0 - ($1982))|0; - HEAP32[$iCompare>>2] = $1983; + $2048 = HEAP32[$bRev>>2]|0; + $2049 = ($2048|0)!=(0); + if ($2049) { + $2050 = HEAP32[$iCompare>>2]|0; + $2051 = (0 - ($2050))|0; + HEAP32[$iCompare>>2] = $2051; } } HEAP32[$aPermute>>2] = 0; break; } case 18: { - $1986 = HEAP32[$iCompare>>2]|0; - $1987 = ($1986|0)<(0); - if ($1987) { - $1988 = HEAP32[$pOp>>2]|0; - $1989 = ((($1988)) + 4|0); - $1990 = HEAP32[$1989>>2]|0; - $1991 = (($1990) - 1)|0; - $1992 = HEAP32[$aOp>>2]|0; - $1993 = (($1992) + (($1991*20)|0)|0); - HEAP32[$pOp>>2] = $1993; + $2054 = HEAP32[$iCompare>>2]|0; + $2055 = ($2054|0)<(0); + if ($2055) { + $2056 = HEAP32[$pOp>>2]|0; + $2057 = ((($2056)) + 4|0); + $2058 = HEAP32[$2057>>2]|0; + $2059 = (($2058) - 1)|0; + $2060 = HEAP32[$aOp>>2]|0; + $2061 = (($2060) + (($2059*20)|0)|0); + HEAP32[$pOp>>2] = $2061; break L10; } - $1994 = HEAP32[$iCompare>>2]|0; - $1995 = ($1994|0)==(0); - $1996 = HEAP32[$pOp>>2]|0; - if ($1995) { - $1997 = ((($1996)) + 8|0); - $1998 = HEAP32[$1997>>2]|0; - $1999 = (($1998) - 1)|0; - $2000 = HEAP32[$aOp>>2]|0; - $2001 = (($2000) + (($1999*20)|0)|0); - HEAP32[$pOp>>2] = $2001; + $2062 = HEAP32[$iCompare>>2]|0; + $2063 = ($2062|0)==(0); + $2064 = HEAP32[$pOp>>2]|0; + if ($2063) { + $2065 = ((($2064)) + 8|0); + $2066 = HEAP32[$2065>>2]|0; + $2067 = (($2066) - 1)|0; + $2068 = HEAP32[$aOp>>2]|0; + $2069 = (($2068) + (($2067*20)|0)|0); + HEAP32[$pOp>>2] = $2069; break L10; } else { - $2002 = ((($1996)) + 12|0); - $2003 = HEAP32[$2002>>2]|0; - $2004 = (($2003) - 1)|0; - $2005 = HEAP32[$aOp>>2]|0; - $2006 = (($2005) + (($2004*20)|0)|0); - HEAP32[$pOp>>2] = $2006; + $2070 = ((($2064)) + 12|0); + $2071 = HEAP32[$2070>>2]|0; + $2072 = (($2071) - 1)|0; + $2073 = HEAP32[$aOp>>2]|0; + $2074 = (($2073) + (($2072*20)|0)|0); + HEAP32[$pOp>>2] = $2074; break L10; } break; } case 27: case 28: { - $2007 = HEAP32[$pOp>>2]|0; - $2008 = ((($2007)) + 4|0); - $2009 = HEAP32[$2008>>2]|0; - $2010 = HEAP32[$aMem>>2]|0; - $2011 = (($2010) + (($2009*40)|0)|0); - HEAP32[$pIn1>>2] = $2011; - $2012 = HEAP32[$pIn1>>2]|0; - $2013 = ((($2012)) + 8|0); - $2014 = HEAP16[$2013>>1]|0; - $2015 = $2014&65535; - $2016 = $2015 & 1; - $2017 = ($2016|0)!=(0); - if ($2017) { + $2075 = HEAP32[$pOp>>2]|0; + $2076 = ((($2075)) + 4|0); + $2077 = HEAP32[$2076>>2]|0; + $2078 = HEAP32[$aMem>>2]|0; + $2079 = (($2078) + (($2077*40)|0)|0); + HEAP32[$pIn1>>2] = $2079; + $2080 = HEAP32[$pIn1>>2]|0; + $2081 = ((($2080)) + 8|0); + $2082 = HEAP16[$2081>>1]|0; + $2083 = $2082&65535; + $2084 = $2083 & 1; + $2085 = ($2084|0)!=(0); + if ($2085) { HEAP32[$v1>>2] = 2; } else { - $2018 = HEAP32[$pIn1>>2]|0; - $2019 = (_sqlite3VdbeIntValue($2018)|0); - $2020 = tempRet0; - $2021 = ($2019|0)!=(0); - $2022 = ($2020|0)!=(0); - $2023 = $2021 | $2022; - $2024 = $2023&1; - HEAP32[$v1>>2] = $2024; + $2086 = HEAP32[$pIn1>>2]|0; + $2087 = (_sqlite3VdbeIntValue($2086)|0); + $2088 = tempRet0; + $2089 = ($2087|0)!=(0); + $2090 = ($2088|0)!=(0); + $2091 = $2089 | $2090; + $2092 = $2091&1; + HEAP32[$v1>>2] = $2092; } - $2025 = HEAP32[$pOp>>2]|0; - $2026 = ((($2025)) + 8|0); - $2027 = HEAP32[$2026>>2]|0; - $2028 = HEAP32[$aMem>>2]|0; - $2029 = (($2028) + (($2027*40)|0)|0); - HEAP32[$pIn2>>2] = $2029; - $2030 = HEAP32[$pIn2>>2]|0; - $2031 = ((($2030)) + 8|0); - $2032 = HEAP16[$2031>>1]|0; - $2033 = $2032&65535; - $2034 = $2033 & 1; - $2035 = ($2034|0)!=(0); - if ($2035) { + $2093 = HEAP32[$pOp>>2]|0; + $2094 = ((($2093)) + 8|0); + $2095 = HEAP32[$2094>>2]|0; + $2096 = HEAP32[$aMem>>2]|0; + $2097 = (($2096) + (($2095*40)|0)|0); + HEAP32[$pIn2>>2] = $2097; + $2098 = HEAP32[$pIn2>>2]|0; + $2099 = ((($2098)) + 8|0); + $2100 = HEAP16[$2099>>1]|0; + $2101 = $2100&65535; + $2102 = $2101 & 1; + $2103 = ($2102|0)!=(0); + if ($2103) { HEAP32[$v2>>2] = 2; } else { - $2036 = HEAP32[$pIn2>>2]|0; - $2037 = (_sqlite3VdbeIntValue($2036)|0); - $2038 = tempRet0; - $2039 = ($2037|0)!=(0); - $2040 = ($2038|0)!=(0); - $2041 = $2039 | $2040; - $2042 = $2041&1; - HEAP32[$v2>>2] = $2042; + $2104 = HEAP32[$pIn2>>2]|0; + $2105 = (_sqlite3VdbeIntValue($2104)|0); + $2106 = tempRet0; + $2107 = ($2105|0)!=(0); + $2108 = ($2106|0)!=(0); + $2109 = $2107 | $2108; + $2110 = $2109&1; + HEAP32[$v2>>2] = $2110; } - $2043 = HEAP32[$pOp>>2]|0; - $2044 = HEAP8[$2043>>0]|0; - $2045 = $2044&255; - $2046 = ($2045|0)==(28); - $2047 = HEAP32[$v1>>2]|0; - $2048 = ($2047*3)|0; - $2049 = HEAP32[$v2>>2]|0; - $2050 = (($2048) + ($2049))|0; - if ($2046) { - $2051 = (40384 + ($2050)|0); - $2052 = HEAP8[$2051>>0]|0; - $2053 = $2052&255; - HEAP32[$v1>>2] = $2053; + $2111 = HEAP32[$pOp>>2]|0; + $2112 = HEAP8[$2111>>0]|0; + $2113 = $2112&255; + $2114 = ($2113|0)==(28); + $2115 = HEAP32[$v1>>2]|0; + $2116 = ($2115*3)|0; + $2117 = HEAP32[$v2>>2]|0; + $2118 = (($2116) + ($2117))|0; + if ($2114) { + $2119 = (39925 + ($2118)|0); + $2120 = HEAP8[$2119>>0]|0; + $2121 = $2120&255; + HEAP32[$v1>>2] = $2121; } else { - $2054 = (40393 + ($2050)|0); - $2055 = HEAP8[$2054>>0]|0; - $2056 = $2055&255; - HEAP32[$v1>>2] = $2056; + $2122 = (39934 + ($2118)|0); + $2123 = HEAP8[$2122>>0]|0; + $2124 = $2123&255; + HEAP32[$v1>>2] = $2124; } - $2057 = HEAP32[$pOp>>2]|0; - $2058 = ((($2057)) + 12|0); - $2059 = HEAP32[$2058>>2]|0; - $2060 = HEAP32[$aMem>>2]|0; - $2061 = (($2060) + (($2059*40)|0)|0); - HEAP32[$pOut>>2] = $2061; - $2062 = HEAP32[$v1>>2]|0; - $2063 = ($2062|0)==(2); - if ($2063) { - $2064 = HEAP32[$pOut>>2]|0; - $2065 = ((($2064)) + 8|0); - $2066 = HEAP16[$2065>>1]|0; - $2067 = $2066&65535; - $2068 = $2067 & -49664; - $2069 = $2068 | 1; - $2070 = $2069&65535; - $2071 = HEAP32[$pOut>>2]|0; - $2072 = ((($2071)) + 8|0); - HEAP16[$2072>>1] = $2070; + $2125 = HEAP32[$pOp>>2]|0; + $2126 = ((($2125)) + 12|0); + $2127 = HEAP32[$2126>>2]|0; + $2128 = HEAP32[$aMem>>2]|0; + $2129 = (($2128) + (($2127*40)|0)|0); + HEAP32[$pOut>>2] = $2129; + $2130 = HEAP32[$v1>>2]|0; + $2131 = ($2130|0)==(2); + if ($2131) { + $2132 = HEAP32[$pOut>>2]|0; + $2133 = ((($2132)) + 8|0); + $2134 = HEAP16[$2133>>1]|0; + $2135 = $2134&65535; + $2136 = $2135 & -49664; + $2137 = $2136 | 1; + $2138 = $2137&65535; + $2139 = HEAP32[$pOut>>2]|0; + $2140 = ((($2139)) + 8|0); + HEAP16[$2140>>1] = $2138; break L10; } else { - $2073 = HEAP32[$v1>>2]|0; - $2074 = ($2073|0)<(0); - $2075 = $2074 << 31 >> 31; - $2076 = HEAP32[$pOut>>2]|0; - $2077 = $2076; - $2078 = $2077; - HEAP32[$2078>>2] = $2073; - $2079 = (($2077) + 4)|0; - $2080 = $2079; - HEAP32[$2080>>2] = $2075; - $2081 = HEAP32[$pOut>>2]|0; - $2082 = ((($2081)) + 8|0); - $2083 = HEAP16[$2082>>1]|0; - $2084 = $2083&65535; - $2085 = $2084 & -49664; - $2086 = $2085 | 4; - $2087 = $2086&65535; - $2088 = HEAP32[$pOut>>2]|0; - $2089 = ((($2088)) + 8|0); - HEAP16[$2089>>1] = $2087; + $2141 = HEAP32[$v1>>2]|0; + $2142 = ($2141|0)<(0); + $2143 = $2142 << 31 >> 31; + $2144 = HEAP32[$pOut>>2]|0; + $2145 = $2144; + $2146 = $2145; + HEAP32[$2146>>2] = $2141; + $2147 = (($2145) + 4)|0; + $2148 = $2147; + HEAP32[$2148>>2] = $2143; + $2149 = HEAP32[$pOut>>2]|0; + $2150 = ((($2149)) + 8|0); + $2151 = HEAP16[$2150>>1]|0; + $2152 = $2151&65535; + $2153 = $2152 & -49664; + $2154 = $2153 | 4; + $2155 = $2154&65535; + $2156 = HEAP32[$pOut>>2]|0; + $2157 = ((($2156)) + 8|0); + HEAP16[$2157>>1] = $2155; break L10; } break; } case 19: { - $2090 = HEAP32[$pOp>>2]|0; - $2091 = ((($2090)) + 4|0); - $2092 = HEAP32[$2091>>2]|0; - $2093 = HEAP32[$aMem>>2]|0; - $2094 = (($2093) + (($2092*40)|0)|0); - HEAP32[$pIn1>>2] = $2094; - $2095 = HEAP32[$pOp>>2]|0; - $2096 = ((($2095)) + 8|0); - $2097 = HEAP32[$2096>>2]|0; - $2098 = HEAP32[$aMem>>2]|0; - $2099 = (($2098) + (($2097*40)|0)|0); - HEAP32[$pOut>>2] = $2099; - $2100 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($2100); - $2101 = HEAP32[$pIn1>>2]|0; - $2102 = ((($2101)) + 8|0); - $2103 = HEAP16[$2102>>1]|0; - $2104 = $2103&65535; - $2105 = $2104 & 1; - $2106 = ($2105|0)==(0); - if ($2106) { - $2107 = HEAP32[$pOut>>2]|0; - $2108 = ((($2107)) + 8|0); - HEAP16[$2108>>1] = 4; - $2109 = HEAP32[$pIn1>>2]|0; - $2110 = (_sqlite3VdbeIntValue($2109)|0); - $2111 = tempRet0; - $2112 = ($2110|0)!=(0); - $2113 = ($2111|0)!=(0); - $2114 = $2112 | $2113; - $2115 = $2114 ^ 1; - $2116 = $2115&1; - $2117 = ($2116|0)<(0); - $2118 = $2117 << 31 >> 31; - $2119 = HEAP32[$pOut>>2]|0; - $2120 = $2119; - $2121 = $2120; - HEAP32[$2121>>2] = $2116; - $2122 = (($2120) + 4)|0; - $2123 = $2122; - HEAP32[$2123>>2] = $2118; + $2158 = HEAP32[$pOp>>2]|0; + $2159 = ((($2158)) + 4|0); + $2160 = HEAP32[$2159>>2]|0; + $2161 = HEAP32[$aMem>>2]|0; + $2162 = (($2161) + (($2160*40)|0)|0); + HEAP32[$pIn1>>2] = $2162; + $2163 = HEAP32[$pOp>>2]|0; + $2164 = ((($2163)) + 8|0); + $2165 = HEAP32[$2164>>2]|0; + $2166 = HEAP32[$aMem>>2]|0; + $2167 = (($2166) + (($2165*40)|0)|0); + HEAP32[$pOut>>2] = $2167; + $2168 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($2168); + $2169 = HEAP32[$pIn1>>2]|0; + $2170 = ((($2169)) + 8|0); + $2171 = HEAP16[$2170>>1]|0; + $2172 = $2171&65535; + $2173 = $2172 & 1; + $2174 = ($2173|0)==(0); + if ($2174) { + $2175 = HEAP32[$pOut>>2]|0; + $2176 = ((($2175)) + 8|0); + HEAP16[$2176>>1] = 4; + $2177 = HEAP32[$pIn1>>2]|0; + $2178 = (_sqlite3VdbeIntValue($2177)|0); + $2179 = tempRet0; + $2180 = ($2178|0)!=(0); + $2181 = ($2179|0)!=(0); + $2182 = $2180 | $2181; + $2183 = $2182 ^ 1; + $2184 = $2183&1; + $2185 = ($2184|0)<(0); + $2186 = $2185 << 31 >> 31; + $2187 = HEAP32[$pOut>>2]|0; + $2188 = $2187; + $2189 = $2188; + HEAP32[$2189>>2] = $2184; + $2190 = (($2188) + 4)|0; + $2191 = $2190; + HEAP32[$2191>>2] = $2186; } break; } case 54: { - $2124 = HEAP32[$pOp>>2]|0; - $2125 = ((($2124)) + 4|0); - $2126 = HEAP32[$2125>>2]|0; - $2127 = HEAP32[$aMem>>2]|0; - $2128 = (($2127) + (($2126*40)|0)|0); - HEAP32[$pIn1>>2] = $2128; - $2129 = HEAP32[$pOp>>2]|0; - $2130 = ((($2129)) + 8|0); - $2131 = HEAP32[$2130>>2]|0; - $2132 = HEAP32[$aMem>>2]|0; - $2133 = (($2132) + (($2131*40)|0)|0); - HEAP32[$pOut>>2] = $2133; - $2134 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($2134); - $2135 = HEAP32[$pIn1>>2]|0; - $2136 = ((($2135)) + 8|0); - $2137 = HEAP16[$2136>>1]|0; - $2138 = $2137&65535; - $2139 = $2138 & 1; - $2140 = ($2139|0)==(0); - if ($2140) { - $2141 = HEAP32[$pOut>>2]|0; - $2142 = ((($2141)) + 8|0); - HEAP16[$2142>>1] = 4; - $2143 = HEAP32[$pIn1>>2]|0; - $2144 = (_sqlite3VdbeIntValue($2143)|0); - $2145 = tempRet0; - $2146 = $2144 ^ -1; - $2147 = $2145 ^ -1; - $2148 = HEAP32[$pOut>>2]|0; - $2149 = $2148; - $2150 = $2149; - HEAP32[$2150>>2] = $2146; - $2151 = (($2149) + 4)|0; - $2152 = $2151; - HEAP32[$2152>>2] = $2147; + $2192 = HEAP32[$pOp>>2]|0; + $2193 = ((($2192)) + 4|0); + $2194 = HEAP32[$2193>>2]|0; + $2195 = HEAP32[$aMem>>2]|0; + $2196 = (($2195) + (($2194*40)|0)|0); + HEAP32[$pIn1>>2] = $2196; + $2197 = HEAP32[$pOp>>2]|0; + $2198 = ((($2197)) + 8|0); + $2199 = HEAP32[$2198>>2]|0; + $2200 = HEAP32[$aMem>>2]|0; + $2201 = (($2200) + (($2199*40)|0)|0); + HEAP32[$pOut>>2] = $2201; + $2202 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($2202); + $2203 = HEAP32[$pIn1>>2]|0; + $2204 = ((($2203)) + 8|0); + $2205 = HEAP16[$2204>>1]|0; + $2206 = $2205&65535; + $2207 = $2206 & 1; + $2208 = ($2207|0)==(0); + if ($2208) { + $2209 = HEAP32[$pOut>>2]|0; + $2210 = ((($2209)) + 8|0); + HEAP16[$2210>>1] = 4; + $2211 = HEAP32[$pIn1>>2]|0; + $2212 = (_sqlite3VdbeIntValue($2211)|0); + $2213 = tempRet0; + $2214 = $2212 ^ -1; + $2215 = $2213 ^ -1; + $2216 = HEAP32[$pOut>>2]|0; + $2217 = $2216; + $2218 = $2217; + HEAP32[$2218>>2] = $2214; + $2219 = (($2217) + 4)|0; + $2220 = $2219; + HEAP32[$2220>>2] = $2215; } break; } case 20: { - $2153 = HEAP32[$pOp>>2]|0; - $2154 = ((($2153)) + 4|0); - $2155 = HEAP32[$2154>>2]|0; - $2156 = HEAP32[$0>>2]|0; - $2157 = ((($2156)) + 200|0); - $2158 = HEAP32[$2157>>2]|0; - $2159 = (($2158) + ($2155)|0); - $2160 = HEAP8[$2159>>0]|0; - $2161 = ($2160<<24>>24)!=(0); - if ($2161) { + $2221 = HEAP32[$0>>2]|0; + $2222 = ((($2221)) + 88|0); + $2223 = HEAP32[$2222>>2]|0; + $2224 = ((($2223)) + 4|0); + $2225 = HEAP32[$2224>>2]|0; + $2226 = HEAP32[$pOp>>2]|0; + $2227 = ((($2226)) + 4|0); + $2228 = HEAP32[$2227>>2]|0; + $2229 = ($2225|0)==($2228|0); + if ($2229) { label = 14; } else { - $2162 = HEAP32[$pOp>>2]|0; - $2163 = ((($2162)) + 4|0); - $2164 = HEAP32[$2163>>2]|0; - $2165 = HEAP32[$0>>2]|0; - $2166 = ((($2165)) + 200|0); - $2167 = HEAP32[$2166>>2]|0; - $2168 = (($2167) + ($2164)|0); - HEAP8[$2168>>0] = 1; + $2230 = HEAP32[$0>>2]|0; + $2231 = ((($2230)) + 88|0); + $2232 = HEAP32[$2231>>2]|0; + $2233 = ((($2232)) + 4|0); + $2234 = HEAP32[$2233>>2]|0; + $2235 = HEAP32[$pOp>>2]|0; + $2236 = ((($2235)) + 4|0); + HEAP32[$2236>>2] = $2234; } break; } case 22: case 21: { - $2169 = HEAP32[$pOp>>2]|0; - $2170 = ((($2169)) + 4|0); - $2171 = HEAP32[$2170>>2]|0; - $2172 = HEAP32[$aMem>>2]|0; - $2173 = (($2172) + (($2171*40)|0)|0); - HEAP32[$pIn1>>2] = $2173; - $2174 = HEAP32[$pIn1>>2]|0; - $2175 = ((($2174)) + 8|0); - $2176 = HEAP16[$2175>>1]|0; - $2177 = $2176&65535; - $2178 = $2177 & 1; - $2179 = ($2178|0)!=(0); - if ($2179) { - $2180 = HEAP32[$pOp>>2]|0; - $2181 = ((($2180)) + 12|0); - $2182 = HEAP32[$2181>>2]|0; - HEAP32[$c>>2] = $2182; + $2237 = HEAP32[$pOp>>2]|0; + $2238 = ((($2237)) + 4|0); + $2239 = HEAP32[$2238>>2]|0; + $2240 = HEAP32[$aMem>>2]|0; + $2241 = (($2240) + (($2239*40)|0)|0); + HEAP32[$pIn1>>2] = $2241; + $2242 = HEAP32[$pIn1>>2]|0; + $2243 = ((($2242)) + 8|0); + $2244 = HEAP16[$2243>>1]|0; + $2245 = $2244&65535; + $2246 = $2245 & 1; + $2247 = ($2246|0)!=(0); + if ($2247) { + $2248 = HEAP32[$pOp>>2]|0; + $2249 = ((($2248)) + 12|0); + $2250 = HEAP32[$2249>>2]|0; + HEAP32[$c>>2] = $2250; } else { - $2183 = HEAP32[$pIn1>>2]|0; - $2184 = (+_sqlite3VdbeRealValue($2183)); - $2185 = $2184 != 0.0; - $2186 = $2185&1; - HEAP32[$c>>2] = $2186; - $2187 = HEAP32[$pOp>>2]|0; - $2188 = HEAP8[$2187>>0]|0; - $2189 = $2188&255; - $2190 = ($2189|0)==(22); - if ($2190) { - $2191 = HEAP32[$c>>2]|0; - $2192 = ($2191|0)!=(0); - $2193 = $2192 ^ 1; - $2194 = $2193&1; - HEAP32[$c>>2] = $2194; + $2251 = HEAP32[$pIn1>>2]|0; + $2252 = (+_sqlite3VdbeRealValue($2251)); + $2253 = $2252 != 0.0; + $2254 = $2253&1; + HEAP32[$c>>2] = $2254; + $2255 = HEAP32[$pOp>>2]|0; + $2256 = HEAP8[$2255>>0]|0; + $2257 = $2256&255; + $2258 = ($2257|0)==(22); + if ($2258) { + $2259 = HEAP32[$c>>2]|0; + $2260 = ($2259|0)!=(0); + $2261 = $2260 ^ 1; + $2262 = $2261&1; + HEAP32[$c>>2] = $2262; } } - $2195 = HEAP32[$c>>2]|0; - $2196 = ($2195|0)!=(0); - if ($2196) { + $2263 = HEAP32[$c>>2]|0; + $2264 = ($2263|0)!=(0); + if ($2264) { label = 14; } break; } case 34: { - $2197 = HEAP32[$pOp>>2]|0; - $2198 = ((($2197)) + 4|0); - $2199 = HEAP32[$2198>>2]|0; - $2200 = HEAP32[$aMem>>2]|0; - $2201 = (($2200) + (($2199*40)|0)|0); - HEAP32[$pIn1>>2] = $2201; - $2202 = HEAP32[$pIn1>>2]|0; - $2203 = ((($2202)) + 8|0); - $2204 = HEAP16[$2203>>1]|0; - $2205 = $2204&65535; - $2206 = $2205 & 1; - $2207 = ($2206|0)!=(0); - if ($2207) { + $2265 = HEAP32[$pOp>>2]|0; + $2266 = ((($2265)) + 4|0); + $2267 = HEAP32[$2266>>2]|0; + $2268 = HEAP32[$aMem>>2]|0; + $2269 = (($2268) + (($2267*40)|0)|0); + HEAP32[$pIn1>>2] = $2269; + $2270 = HEAP32[$pIn1>>2]|0; + $2271 = ((($2270)) + 8|0); + $2272 = HEAP16[$2271>>1]|0; + $2273 = $2272&65535; + $2274 = $2273 & 1; + $2275 = ($2274|0)!=(0); + if ($2275) { label = 14; } break; } case 35: { - $2208 = HEAP32[$pOp>>2]|0; - $2209 = ((($2208)) + 4|0); - $2210 = HEAP32[$2209>>2]|0; - $2211 = HEAP32[$aMem>>2]|0; - $2212 = (($2211) + (($2210*40)|0)|0); - HEAP32[$pIn1>>2] = $2212; - $2213 = HEAP32[$pIn1>>2]|0; - $2214 = ((($2213)) + 8|0); - $2215 = HEAP16[$2214>>1]|0; - $2216 = $2215&65535; - $2217 = $2216 & 1; - $2218 = ($2217|0)==(0); - if ($2218) { + $2276 = HEAP32[$pOp>>2]|0; + $2277 = ((($2276)) + 4|0); + $2278 = HEAP32[$2277>>2]|0; + $2279 = HEAP32[$aMem>>2]|0; + $2280 = (($2279) + (($2278*40)|0)|0); + HEAP32[$pIn1>>2] = $2280; + $2281 = HEAP32[$pIn1>>2]|0; + $2282 = ((($2281)) + 8|0); + $2283 = HEAP16[$2282>>1]|0; + $2284 = $2283&65535; + $2285 = $2284 & 1; + $2286 = ($2285|0)==(0); + if ($2286) { label = 14; } break; } - case 94: { - $2219 = HEAP32[$pOp>>2]|0; - $2220 = ((($2219)) + 4|0); - $2221 = HEAP32[$2220>>2]|0; - $2222 = HEAP32[$0>>2]|0; - $2223 = ((($2222)) + 56|0); - $2224 = HEAP32[$2223>>2]|0; - $2225 = (($2224) + ($2221<<2)|0); - $2226 = HEAP32[$2225>>2]|0; - HEAP32[$pC>>2] = $2226; - $2227 = HEAP32[$pOp>>2]|0; - $2228 = ((($2227)) + 8|0); - $2229 = HEAP32[$2228>>2]|0; - HEAP32[$p211>>2] = $2229; - $2230 = (_sqlite3VdbeCursorMoveto($pC,$p211)|0); - HEAP32[$rc>>2] = $2230; - $2231 = HEAP32[$pOp>>2]|0; - $2232 = ((($2231)) + 12|0); - $2233 = HEAP32[$2232>>2]|0; - $2234 = HEAP32[$aMem>>2]|0; - $2235 = (($2234) + (($2233*40)|0)|0); - HEAP32[$pDest>>2] = $2235; - $2236 = HEAP32[$pC>>2]|0; - $2237 = ((($2236)) + 76|0); - $2238 = HEAP32[$2237>>2]|0; - HEAP32[$aOffset>>2] = $2238; - $2239 = HEAP32[$pC>>2]|0; - $2240 = ((($2239)) + 16|0); - $2241 = HEAP32[$2240>>2]|0; - HEAP32[$pCrsr>>2] = $2241; - $2242 = HEAP32[$rc>>2]|0; - $2243 = ($2242|0)!=(0); - if ($2243) { + case 96: { + $2287 = HEAP32[$pOp>>2]|0; + $2288 = ((($2287)) + 4|0); + $2289 = HEAP32[$2288>>2]|0; + $2290 = HEAP32[$0>>2]|0; + $2291 = ((($2290)) + 112|0); + $2292 = HEAP32[$2291>>2]|0; + $2293 = (($2292) + ($2289<<2)|0); + $2294 = HEAP32[$2293>>2]|0; + HEAP32[$pC>>2] = $2294; + $2295 = HEAP32[$pOp>>2]|0; + $2296 = ((($2295)) + 8|0); + $2297 = HEAP32[$2296>>2]|0; + HEAP32[$p211>>2] = $2297; + $2298 = (_sqlite3VdbeCursorMoveto($pC,$p211)|0); + HEAP32[$rc>>2] = $2298; + $2299 = HEAP32[$rc>>2]|0; + $2300 = ($2299|0)!=(0); + if ($2300) { break L1; } - $2244 = HEAP32[$pC>>2]|0; - $2245 = ((($2244)) + 56|0); - $2246 = HEAP32[$2245>>2]|0; - $2247 = HEAP32[$0>>2]|0; - $2248 = ((($2247)) + 72|0); - $2249 = HEAP32[$2248>>2]|0; - $2250 = ($2246|0)!=($2249|0); - $2251 = HEAP32[$pC>>2]|0; - if ($2250) { - $2252 = ((($2251)) + 2|0); - $2253 = HEAP8[$2252>>0]|0; - $2254 = ($2253<<24>>24)!=(0); - $2255 = HEAP32[$pC>>2]|0; - do { - if ($2254) { - $2256 = HEAP8[$2255>>0]|0; - $2257 = $2256&255; - $2258 = ($2257|0)==(3); - if ($2258) { - $2259 = HEAP32[$pC>>2]|0; - $2260 = ((($2259)) + 16|0); - $2261 = HEAP32[$2260>>2]|0; - $2262 = HEAP32[$aMem>>2]|0; - $2263 = (($2262) + (($2261*40)|0)|0); - HEAP32[$pReg>>2] = $2263; - $2264 = HEAP32[$pReg>>2]|0; - $2265 = ((($2264)) + 12|0); - $2266 = HEAP32[$2265>>2]|0; - HEAP32[$avail>>2] = $2266; - $2267 = HEAP32[$pC>>2]|0; - $2268 = ((($2267)) + 64|0); - HEAP32[$2268>>2] = $2266; - $2269 = HEAP32[$pC>>2]|0; - $2270 = ((($2269)) + 60|0); - HEAP32[$2270>>2] = $2266; - $2271 = HEAP32[$pReg>>2]|0; - $2272 = ((($2271)) + 16|0); - $2273 = HEAP32[$2272>>2]|0; - $2274 = HEAP32[$pC>>2]|0; - $2275 = ((($2274)) + 72|0); - HEAP32[$2275>>2] = $2273; - break; + $2301 = HEAP32[$pOp>>2]|0; + $2302 = ((($2301)) + 12|0); + $2303 = HEAP32[$2302>>2]|0; + $2304 = HEAP32[$aMem>>2]|0; + $2305 = (($2304) + (($2303*40)|0)|0); + HEAP32[$pDest>>2] = $2305; + $2306 = HEAP32[$pC>>2]|0; + $2307 = ((($2306)) + 76|0); + $2308 = HEAP32[$2307>>2]|0; + HEAP32[$aOffset>>2] = $2308; + $2309 = HEAP32[$pC>>2]|0; + $2310 = ((($2309)) + 16|0); + $2311 = HEAP32[$2310>>2]|0; + HEAP32[$pCrsr>>2] = $2311; + $2312 = HEAP32[$pC>>2]|0; + $2313 = ((($2312)) + 56|0); + $2314 = HEAP32[$2313>>2]|0; + $2315 = HEAP32[$0>>2]|0; + $2316 = ((($2315)) + 32|0); + $2317 = HEAP32[$2316>>2]|0; + $2318 = ($2314|0)!=($2317|0); + do { + if ($2318) { + $2319 = HEAP32[$pC>>2]|0; + $2320 = ((($2319)) + 2|0); + $2321 = HEAP8[$2320>>0]|0; + $2322 = ($2321<<24>>24)!=(0); + do { + if ($2322) { + $2323 = HEAP32[$pC>>2]|0; + $2324 = HEAP8[$2323>>0]|0; + $2325 = $2324&255; + $2326 = ($2325|0)==(3); + if ($2326) { + $2327 = HEAP32[$pC>>2]|0; + $2328 = ((($2327)) + 16|0); + $2329 = HEAP32[$2328>>2]|0; + $2330 = HEAP32[$aMem>>2]|0; + $2331 = (($2330) + (($2329*40)|0)|0); + HEAP32[$pReg>>2] = $2331; + $2332 = HEAP32[$pReg>>2]|0; + $2333 = ((($2332)) + 12|0); + $2334 = HEAP32[$2333>>2]|0; + HEAP32[$avail>>2] = $2334; + $2335 = HEAP32[$pC>>2]|0; + $2336 = ((($2335)) + 64|0); + HEAP32[$2336>>2] = $2334; + $2337 = HEAP32[$pC>>2]|0; + $2338 = ((($2337)) + 60|0); + HEAP32[$2338>>2] = $2334; + $2339 = HEAP32[$pReg>>2]|0; + $2340 = ((($2339)) + 16|0); + $2341 = HEAP32[$2340>>2]|0; + $2342 = HEAP32[$pC>>2]|0; + $2343 = ((($2342)) + 72|0); + HEAP32[$2343>>2] = $2341; + break; + } else { + $2344 = HEAP32[$pDest>>2]|0; + _sqlite3VdbeMemSetNull($2344); + break L10; + } } else { - $2276 = HEAP32[$pDest>>2]|0; - _sqlite3VdbeMemSetNull($2276); - break L10; + $2345 = HEAP32[$pCrsr>>2]|0; + $2346 = (_sqlite3BtreePayloadSize($2345)|0); + $2347 = HEAP32[$pC>>2]|0; + $2348 = ((($2347)) + 60|0); + HEAP32[$2348>>2] = $2346; + $2349 = HEAP32[$pCrsr>>2]|0; + $2350 = (_sqlite3BtreePayloadFetch($2349,$avail)|0); + $2351 = HEAP32[$pC>>2]|0; + $2352 = ((($2351)) + 72|0); + HEAP32[$2352>>2] = $2350; + $2353 = HEAP32[$pC>>2]|0; + $2354 = ((($2353)) + 60|0); + $2355 = HEAP32[$2354>>2]|0; + $2356 = HEAP32[$avail>>2]|0; + $2357 = ($2355>>>0)<=($2356>>>0); + $2358 = HEAP32[$pC>>2]|0; + $2359 = ((($2358)) + 60|0); + $2360 = HEAP32[$2359>>2]|0; + if ($2357) { + $2361 = HEAP32[$pC>>2]|0; + $2362 = ((($2361)) + 64|0); + HEAP32[$2362>>2] = $2360; + break; + } + $2363 = HEAP32[$db>>2]|0; + $2364 = ((($2363)) + 96|0); + $2365 = HEAP32[$2364>>2]|0; + $2366 = ($2360>>>0)>($2365>>>0); + if ($2366) { + label = 888; + break L8; + } + $2367 = HEAP32[$avail>>2]|0; + $2368 = HEAP32[$pC>>2]|0; + $2369 = ((($2368)) + 64|0); + HEAP32[$2369>>2] = $2367; } + } while(0); + $2370 = HEAP32[$0>>2]|0; + $2371 = ((($2370)) + 32|0); + $2372 = HEAP32[$2371>>2]|0; + $2373 = HEAP32[$pC>>2]|0; + $2374 = ((($2373)) + 56|0); + HEAP32[$2374>>2] = $2372; + $2375 = HEAP32[$pC>>2]|0; + $2376 = ((($2375)) + 72|0); + $2377 = HEAP32[$2376>>2]|0; + $2378 = HEAP8[$2377>>0]|0; + $2379 = $2378&255; + $2380 = ($2379|0)<(128); + $2381 = HEAP32[$pC>>2]|0; + $2382 = ((($2381)) + 72|0); + $2383 = HEAP32[$2382>>2]|0; + if ($2380) { + $2384 = HEAP8[$2383>>0]|0; + $2385 = $2384&255; + HEAP32[$offset>>2] = $2385; + $2389 = 1; } else { - $2277 = ((($2255)) + 4|0); - $2278 = HEAP8[$2277>>0]|0; - $2279 = $2278&255; - $2280 = ($2279|0)==(0); - $2281 = HEAP32[$pCrsr>>2]|0; - if ($2280) { - (_sqlite3BtreeKeySize($2281,$payloadSize64)|0); - $2282 = HEAP32[$pCrsr>>2]|0; - $2283 = (_sqlite3BtreeKeyFetch($2282,$avail)|0); - $2284 = HEAP32[$pC>>2]|0; - $2285 = ((($2284)) + 72|0); - HEAP32[$2285>>2] = $2283; - $2286 = $payloadSize64; - $2287 = $2286; - $2288 = HEAP32[$2287>>2]|0; - $2289 = (($2286) + 4)|0; - $2290 = $2289; - $2291 = HEAP32[$2290>>2]|0; - $2292 = HEAP32[$pC>>2]|0; - $2293 = ((($2292)) + 60|0); - HEAP32[$2293>>2] = $2288; - } else { - $2294 = HEAP32[$pC>>2]|0; - $2295 = ((($2294)) + 60|0); - (_sqlite3BtreeDataSize($2281,$2295)|0); - $2296 = HEAP32[$pCrsr>>2]|0; - $2297 = (_sqlite3BtreeDataFetch($2296,$avail)|0); - $2298 = HEAP32[$pC>>2]|0; - $2299 = ((($2298)) + 72|0); - HEAP32[$2299>>2] = $2297; + $2386 = (_sqlite3GetVarint32($2383,$offset)|0); + $2387 = $2386&255; + $2389 = $2387; + } + $2388 = $2389&255; + $2390 = $2388&255; + $2391 = HEAP32[$pC>>2]|0; + $2392 = ((($2391)) + 68|0); + HEAP32[$2392>>2] = $2390; + $2393 = HEAP32[$pC>>2]|0; + $2394 = ((($2393)) + 14|0); + HEAP16[$2394>>1] = 0; + $2395 = HEAP32[$offset>>2]|0; + $2396 = HEAP32[$aOffset>>2]|0; + HEAP32[$2396>>2] = $2395; + $2397 = HEAP32[$avail>>2]|0; + $2398 = HEAP32[$offset>>2]|0; + $2399 = ($2397>>>0)<($2398>>>0); + if ($2399) { + $2400 = HEAP32[$pC>>2]|0; + $2401 = ((($2400)) + 72|0); + HEAP32[$2401>>2] = 0; + $2402 = HEAP32[$pC>>2]|0; + $2403 = ((($2402)) + 64|0); + HEAP32[$2403>>2] = 0; + $2404 = HEAP32[$offset>>2]|0; + $2405 = ($2404>>>0)>(98307); + if ($2405) { + label = 267; + break L8; } - $2300 = HEAP32[$pC>>2]|0; - $2301 = ((($2300)) + 60|0); - $2302 = HEAP32[$2301>>2]|0; - $2303 = HEAP32[$avail>>2]|0; - $2304 = ($2302>>>0)<=($2303>>>0); - $2305 = HEAP32[$pC>>2]|0; - $2306 = ((($2305)) + 60|0); - $2307 = HEAP32[$2306>>2]|0; - if ($2304) { - $2308 = HEAP32[$pC>>2]|0; - $2309 = ((($2308)) + 64|0); - HEAP32[$2309>>2] = $2307; + $2406 = HEAP32[$offset>>2]|0; + $2407 = HEAP32[$pC>>2]|0; + $2408 = ((($2407)) + 60|0); + $2409 = HEAP32[$2408>>2]|0; + $2410 = ($2406>>>0)>($2409>>>0); + if ($2410) { + label = 267; + break L8; + } else { + label = 270; break; } - $2310 = HEAP32[$db>>2]|0; - $2311 = ((($2310)) + 92|0); - $2312 = HEAP32[$2311>>2]|0; - $2313 = ($2307>>>0)>($2312>>>0); - if ($2313) { - label = 880; - break L8; + } else { + $2412 = HEAP32[$offset>>2]|0; + $2413 = ($2412>>>0)>(0); + if (!($2413)) { + label = 270; + break; } - $2314 = HEAP32[$avail>>2]|0; - $2315 = HEAP32[$pC>>2]|0; - $2316 = ((($2315)) + 64|0); - HEAP32[$2316>>2] = $2314; + $2414 = HEAP32[$pC>>2]|0; + $2415 = ((($2414)) + 72|0); + $2416 = HEAP32[$2415>>2]|0; + HEAP32[$zData>>2] = $2416; + label = 276; + break; } - } while(0); - $2317 = HEAP32[$0>>2]|0; - $2318 = ((($2317)) + 72|0); - $2319 = HEAP32[$2318>>2]|0; - $2320 = HEAP32[$pC>>2]|0; - $2321 = ((($2320)) + 56|0); - HEAP32[$2321>>2] = $2319; - $2322 = HEAP32[$pC>>2]|0; - $2323 = ((($2322)) + 72|0); - $2324 = HEAP32[$2323>>2]|0; - $2325 = HEAP8[$2324>>0]|0; - $2326 = $2325&255; - $2327 = ($2326|0)<(128); - $2328 = HEAP32[$pC>>2]|0; - $2329 = ((($2328)) + 72|0); - $2330 = HEAP32[$2329>>2]|0; - if ($2327) { - $2331 = HEAP8[$2330>>0]|0; - $2332 = $2331&255; - HEAP32[$offset>>2] = $2332; - $2336 = 1; } else { - $2333 = (_sqlite3GetVarint32($2330,$offset)|0); - $2334 = $2333&255; - $2336 = $2334; + label = 270; } - $2335 = $2336&255; - $2337 = $2335&255; - $2338 = HEAP32[$pC>>2]|0; - $2339 = ((($2338)) + 68|0); - HEAP32[$2339>>2] = $2337; - $2340 = HEAP32[$pC>>2]|0; - $2341 = ((($2340)) + 14|0); - HEAP16[$2341>>1] = 0; - $2342 = HEAP32[$offset>>2]|0; - $2343 = HEAP32[$aOffset>>2]|0; - HEAP32[$2343>>2] = $2342; - $2344 = HEAP32[$avail>>2]|0; - $2345 = HEAP32[$offset>>2]|0; - $2346 = ($2344>>>0)<($2345>>>0); - if ($2346) { - $2347 = HEAP32[$pC>>2]|0; - $2348 = ((($2347)) + 72|0); - HEAP32[$2348>>2] = 0; - $2349 = HEAP32[$pC>>2]|0; - $2350 = ((($2349)) + 64|0); - HEAP32[$2350>>2] = 0; - $2351 = HEAP32[$offset>>2]|0; - $2352 = ($2351>>>0)>(98307); - if ($2352) { - label = 263; - break L8; + } while(0); + do { + if ((label|0) == 270) { + label = 0; + $2417 = HEAP32[$pC>>2]|0; + $2418 = ((($2417)) + 14|0); + $2419 = HEAP16[$2418>>1]|0; + $2420 = $2419&65535; + $2421 = HEAP32[$p211>>2]|0; + $2422 = ($2420|0)<=($2421|0); + if (!($2422)) { + $2599 = HEAP32[$p211>>2]|0; + $2600 = HEAP32[$pC>>2]|0; + $2601 = ((($2600)) + 80|0); + $2602 = (($2601) + ($2599<<2)|0); + $2603 = HEAP32[$2602>>2]|0; + HEAP32[$t>>2] = $2603; + break; } - $2353 = HEAP32[$offset>>2]|0; - $2354 = HEAP32[$pC>>2]|0; - $2355 = ((($2354)) + 60|0); - $2356 = HEAP32[$2355>>2]|0; - $2357 = ($2353>>>0)>($2356>>>0); - if ($2357) { - label = 263; - break L8; - } else { - label = 265; + $2423 = HEAP32[$pC>>2]|0; + $2424 = ((($2423)) + 68|0); + $2425 = HEAP32[$2424>>2]|0; + $2426 = HEAP32[$aOffset>>2]|0; + $2427 = HEAP32[$2426>>2]|0; + $2428 = ($2425>>>0)<($2427>>>0); + if (!($2428)) { + HEAP32[$t>>2] = 0; + label = 292; + break; } - } else { - label = 265; - } - } else { - $2359 = ((($2251)) + 14|0); - $2360 = HEAP16[$2359>>1]|0; - $2361 = $2360&65535; - $2362 = HEAP32[$p211>>2]|0; - $2363 = ($2361|0)<=($2362|0); - if ($2363) { - label = 265; - } else { - $2540 = HEAP32[$p211>>2]|0; - $2541 = HEAP32[$pC>>2]|0; - $2542 = ((($2541)) + 80|0); - $2543 = (($2542) + ($2540<<2)|0); - $2544 = HEAP32[$2543>>2]|0; - HEAP32[$t>>2] = $2544; + $2429 = HEAP32[$pC>>2]|0; + $2430 = ((($2429)) + 72|0); + $2431 = HEAP32[$2430>>2]|0; + $2432 = ($2431|0)==(0|0); + if (!($2432)) { + $2447 = HEAP32[$pC>>2]|0; + $2448 = ((($2447)) + 72|0); + $2449 = HEAP32[$2448>>2]|0; + HEAP32[$zData>>2] = $2449; + label = 276; + break; + } + dest=$sMem; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $2433 = HEAP32[$pCrsr>>2]|0; + $2434 = HEAP32[$aOffset>>2]|0; + $2435 = HEAP32[$2434>>2]|0; + $2436 = HEAP32[$pC>>2]|0; + $2437 = ((($2436)) + 4|0); + $2438 = HEAP8[$2437>>0]|0; + $2439 = ($2438<<24>>24)!=(0); + $2440 = $2439 ^ 1; + $2441 = $2440&1; + $2442 = (_sqlite3VdbeMemFromBtree($2433,0,$2435,$2441,$sMem)|0); + HEAP32[$rc>>2] = $2442; + $2443 = HEAP32[$rc>>2]|0; + $2444 = ($2443|0)!=(0); + if ($2444) { + break L1; + } + $2445 = ((($sMem)) + 16|0); + $2446 = HEAP32[$2445>>2]|0; + HEAP32[$zData>>2] = $2446; + label = 276; } - } - if ((label|0) == 265) { + } while(0); + if ((label|0) == 276) { label = 0; - $2364 = HEAP32[$pC>>2]|0; - $2365 = ((($2364)) + 68|0); - $2366 = HEAP32[$2365>>2]|0; - $2367 = HEAP32[$aOffset>>2]|0; - $2368 = HEAP32[$2367>>2]|0; - $2369 = ($2366>>>0)<($2368>>>0); - if ($2369) { - $2370 = HEAP32[$pC>>2]|0; - $2371 = ((($2370)) + 72|0); - $2372 = HEAP32[$2371>>2]|0; - $2373 = ($2372|0)==(0|0); - if ($2373) { - dest=$sMem; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $2374 = HEAP32[$pCrsr>>2]|0; - $2375 = HEAP32[$aOffset>>2]|0; - $2376 = HEAP32[$2375>>2]|0; - $2377 = HEAP32[$pC>>2]|0; - $2378 = ((($2377)) + 4|0); - $2379 = HEAP8[$2378>>0]|0; - $2380 = ($2379<<24>>24)!=(0); - $2381 = $2380 ^ 1; - $2382 = $2381&1; - $2383 = (_sqlite3VdbeMemFromBtree($2374,0,$2376,$2382,$sMem)|0); - HEAP32[$rc>>2] = $2383; - $2384 = HEAP32[$rc>>2]|0; - $2385 = ($2384|0)!=(0); - if ($2385) { - break L1; - } - $2386 = ((($sMem)) + 16|0); - $2387 = HEAP32[$2386>>2]|0; - HEAP32[$zData>>2] = $2387; + $2450 = HEAP32[$pC>>2]|0; + $2451 = ((($2450)) + 14|0); + $2452 = HEAP16[$2451>>1]|0; + $2453 = $2452&65535; + HEAP32[$i12>>2] = $2453; + $2454 = HEAP32[$i12>>2]|0; + $2455 = HEAP32[$aOffset>>2]|0; + $2456 = (($2455) + ($2454<<2)|0); + $2457 = HEAP32[$2456>>2]|0; + $2458 = $offset64; + $2459 = $2458; + HEAP32[$2459>>2] = $2457; + $2460 = (($2458) + 4)|0; + $2461 = $2460; + HEAP32[$2461>>2] = 0; + $2462 = HEAP32[$zData>>2]|0; + $2463 = HEAP32[$pC>>2]|0; + $2464 = ((($2463)) + 68|0); + $2465 = HEAP32[$2464>>2]|0; + $2466 = (($2462) + ($2465)|0); + HEAP32[$zHdr>>2] = $2466; + $2467 = HEAP32[$zData>>2]|0; + $2468 = HEAP32[$aOffset>>2]|0; + $2469 = HEAP32[$2468>>2]|0; + $2470 = (($2467) + ($2469)|0); + HEAP32[$zEndHdr>>2] = $2470; + while(1) { + $2471 = HEAP32[$zHdr>>2]|0; + $2472 = HEAP8[$2471>>0]|0; + $2473 = $2472&255; + HEAP32[$t>>2] = $2473; + $2474 = ($2473>>>0)<(128); + $2475 = HEAP32[$zHdr>>2]|0; + if ($2474) { + $2476 = ((($2475)) + 1|0); + HEAP32[$zHdr>>2] = $2476; + $2477 = HEAP32[$t>>2]|0; + $2478 = $2477&255; + $2479 = (_sqlite3VdbeOneByteSerialTypeLen($2478)|0); + $2480 = $2479&255; + $2481 = $offset64; + $2482 = $2481; + $2483 = HEAP32[$2482>>2]|0; + $2484 = (($2481) + 4)|0; + $2485 = $2484; + $2486 = HEAP32[$2485>>2]|0; + $2487 = (_i64Add(($2483|0),($2486|0),($2480|0),0)|0); + $2488 = tempRet0; + $2489 = $offset64; + $2490 = $2489; + HEAP32[$2490>>2] = $2487; + $2491 = (($2489) + 4)|0; + $2492 = $2491; + HEAP32[$2492>>2] = $2488; } else { - $2388 = HEAP32[$pC>>2]|0; - $2389 = ((($2388)) + 72|0); - $2390 = HEAP32[$2389>>2]|0; - HEAP32[$zData>>2] = $2390; + $2493 = (_sqlite3GetVarint32($2475,$t)|0); + $2494 = $2493&255; + $2495 = HEAP32[$zHdr>>2]|0; + $2496 = (($2495) + ($2494)|0); + HEAP32[$zHdr>>2] = $2496; + $2497 = HEAP32[$t>>2]|0; + $2498 = (_sqlite3VdbeSerialTypeLen($2497)|0); + $2499 = $offset64; + $2500 = $2499; + $2501 = HEAP32[$2500>>2]|0; + $2502 = (($2499) + 4)|0; + $2503 = $2502; + $2504 = HEAP32[$2503>>2]|0; + $2505 = (_i64Add(($2501|0),($2504|0),($2498|0),0)|0); + $2506 = tempRet0; + $2507 = $offset64; + $2508 = $2507; + HEAP32[$2508>>2] = $2505; + $2509 = (($2507) + 4)|0; + $2510 = $2509; + HEAP32[$2510>>2] = $2506; } - $2391 = HEAP32[$pC>>2]|0; - $2392 = ((($2391)) + 14|0); - $2393 = HEAP16[$2392>>1]|0; - $2394 = $2393&65535; - HEAP32[$i12>>2] = $2394; - $2395 = HEAP32[$i12>>2]|0; - $2396 = HEAP32[$aOffset>>2]|0; - $2397 = (($2396) + ($2395<<2)|0); - $2398 = HEAP32[$2397>>2]|0; - $2399 = $offset64; - $2400 = $2399; - HEAP32[$2400>>2] = $2398; - $2401 = (($2399) + 4)|0; - $2402 = $2401; - HEAP32[$2402>>2] = 0; - $2403 = HEAP32[$zData>>2]|0; - $2404 = HEAP32[$pC>>2]|0; - $2405 = ((($2404)) + 68|0); - $2406 = HEAP32[$2405>>2]|0; - $2407 = (($2403) + ($2406)|0); - HEAP32[$zHdr>>2] = $2407; - $2408 = HEAP32[$zData>>2]|0; - $2409 = HEAP32[$aOffset>>2]|0; - $2410 = HEAP32[$2409>>2]|0; - $2411 = (($2408) + ($2410)|0); - HEAP32[$zEndHdr>>2] = $2411; - while(1) { - $2412 = HEAP32[$zHdr>>2]|0; - $2413 = HEAP8[$2412>>0]|0; - $2414 = $2413&255; - HEAP32[$t>>2] = $2414; - $2415 = ($2414>>>0)<(128); - $2416 = HEAP32[$zHdr>>2]|0; - if ($2415) { - $2417 = ((($2416)) + 1|0); - HEAP32[$zHdr>>2] = $2417; - $2418 = HEAP32[$t>>2]|0; - $2419 = $2418&255; - $2420 = (_sqlite3VdbeOneByteSerialTypeLen($2419)|0); - $2421 = $2420&255; - $2422 = $offset64; - $2423 = $2422; - $2424 = HEAP32[$2423>>2]|0; - $2425 = (($2422) + 4)|0; - $2426 = $2425; - $2427 = HEAP32[$2426>>2]|0; - $2428 = (_i64Add(($2424|0),($2427|0),($2421|0),0)|0); - $2429 = tempRet0; - $2430 = $offset64; - $2431 = $2430; - HEAP32[$2431>>2] = $2428; - $2432 = (($2430) + 4)|0; - $2433 = $2432; - HEAP32[$2433>>2] = $2429; - } else { - $2434 = (_sqlite3GetVarint32($2416,$t)|0); - $2435 = $2434&255; - $2436 = HEAP32[$zHdr>>2]|0; - $2437 = (($2436) + ($2435)|0); - HEAP32[$zHdr>>2] = $2437; - $2438 = HEAP32[$t>>2]|0; - $2439 = (_sqlite3VdbeSerialTypeLen($2438)|0); - $2440 = $offset64; - $2441 = $2440; - $2442 = HEAP32[$2441>>2]|0; - $2443 = (($2440) + 4)|0; - $2444 = $2443; - $2445 = HEAP32[$2444>>2]|0; - $2446 = (_i64Add(($2442|0),($2445|0),($2439|0),0)|0); - $2447 = tempRet0; - $2448 = $offset64; - $2449 = $2448; - HEAP32[$2449>>2] = $2446; - $2450 = (($2448) + 4)|0; - $2451 = $2450; - HEAP32[$2451>>2] = $2447; - } - $2452 = HEAP32[$t>>2]|0; - $2453 = HEAP32[$i12>>2]|0; - $2454 = (($2453) + 1)|0; - HEAP32[$i12>>2] = $2454; - $2455 = HEAP32[$pC>>2]|0; - $2456 = ((($2455)) + 80|0); - $2457 = (($2456) + ($2453<<2)|0); - HEAP32[$2457>>2] = $2452; - $2458 = $offset64; - $2459 = $2458; - $2460 = HEAP32[$2459>>2]|0; - $2461 = (($2458) + 4)|0; - $2462 = $2461; - $2463 = HEAP32[$2462>>2]|0; - $2464 = HEAP32[$i12>>2]|0; - $2465 = HEAP32[$aOffset>>2]|0; - $2466 = (($2465) + ($2464<<2)|0); - HEAP32[$2466>>2] = $2460; - $2467 = HEAP32[$i12>>2]|0; - $2468 = HEAP32[$p211>>2]|0; - $2469 = ($2467|0)<=($2468|0); - if (!($2469)) { - break; - } - $2470 = HEAP32[$zHdr>>2]|0; - $2471 = HEAP32[$zEndHdr>>2]|0; - $2472 = ($2470>>>0)<($2471>>>0); - if (!($2472)) { - break; - } + $2511 = HEAP32[$t>>2]|0; + $2512 = HEAP32[$i12>>2]|0; + $2513 = (($2512) + 1)|0; + HEAP32[$i12>>2] = $2513; + $2514 = HEAP32[$pC>>2]|0; + $2515 = ((($2514)) + 80|0); + $2516 = (($2515) + ($2512<<2)|0); + HEAP32[$2516>>2] = $2511; + $2517 = $offset64; + $2518 = $2517; + $2519 = HEAP32[$2518>>2]|0; + $2520 = (($2517) + 4)|0; + $2521 = $2520; + $2522 = HEAP32[$2521>>2]|0; + $2523 = HEAP32[$i12>>2]|0; + $2524 = HEAP32[$aOffset>>2]|0; + $2525 = (($2524) + ($2523<<2)|0); + HEAP32[$2525>>2] = $2519; + $2526 = HEAP32[$i12>>2]|0; + $2527 = HEAP32[$p211>>2]|0; + $2528 = ($2526|0)<=($2527|0); + if (!($2528)) { + break; } - $2473 = HEAP32[$i12>>2]|0; - $2474 = $2473&65535; - $2475 = HEAP32[$pC>>2]|0; - $2476 = ((($2475)) + 14|0); - HEAP16[$2476>>1] = $2474; - $2477 = HEAP32[$zHdr>>2]|0; - $2478 = HEAP32[$zData>>2]|0; - $2479 = $2477; - $2480 = $2478; - $2481 = (($2479) - ($2480))|0; - $2482 = HEAP32[$pC>>2]|0; - $2483 = ((($2482)) + 68|0); - HEAP32[$2483>>2] = $2481; - $2484 = HEAP32[$zHdr>>2]|0; - $2485 = HEAP32[$zEndHdr>>2]|0; - $2486 = ($2484>>>0)>=($2485>>>0); - if ($2486) { - $2487 = HEAP32[$zHdr>>2]|0; - $2488 = HEAP32[$zEndHdr>>2]|0; - $2489 = ($2487>>>0)>($2488>>>0); - if ($2489) { - label = 280; - break L8; - } - $2490 = $offset64; - $2491 = $2490; - $2492 = HEAP32[$2491>>2]|0; - $2493 = (($2490) + 4)|0; - $2494 = $2493; - $2495 = HEAP32[$2494>>2]|0; - $2496 = HEAP32[$pC>>2]|0; - $2497 = ((($2496)) + 60|0); - $2498 = HEAP32[$2497>>2]|0; - $2499 = ($2492|0)!=($2498|0); - $2500 = ($2495|0)!=(0); - $2501 = $2499 | $2500; - if ($2501) { - label = 280; - break L8; - } + $2529 = HEAP32[$zHdr>>2]|0; + $2530 = HEAP32[$zEndHdr>>2]|0; + $2531 = ($2529>>>0)<($2530>>>0); + if (!($2531)) { + break; } - $2502 = $offset64; - $2503 = $2502; - $2504 = HEAP32[$2503>>2]|0; - $2505 = (($2502) + 4)|0; - $2506 = $2505; - $2507 = HEAP32[$2506>>2]|0; - $2508 = HEAP32[$pC>>2]|0; - $2509 = ((($2508)) + 60|0); - $2510 = HEAP32[$2509>>2]|0; - $2511 = ($2507>>>0)>(0); - $2512 = ($2504>>>0)>($2510>>>0); - $2513 = ($2507|0)==(0); - $2514 = $2513 & $2512; - $2515 = $2511 | $2514; - if ($2515) { - label = 280; + } + $2532 = HEAP32[$zHdr>>2]|0; + $2533 = HEAP32[$zEndHdr>>2]|0; + $2534 = ($2532>>>0)>=($2533>>>0); + if ($2534) { + $2535 = HEAP32[$zHdr>>2]|0; + $2536 = HEAP32[$zEndHdr>>2]|0; + $2537 = ($2535>>>0)>($2536>>>0); + if ($2537) { + label = 286; break L8; } - $2521 = HEAP32[$pC>>2]|0; - $2522 = ((($2521)) + 72|0); - $2523 = HEAP32[$2522>>2]|0; - $2524 = ($2523|0)==(0|0); - if ($2524) { - _sqlite3VdbeMemRelease($sMem); + $2538 = $offset64; + $2539 = $2538; + $2540 = HEAP32[$2539>>2]|0; + $2541 = (($2538) + 4)|0; + $2542 = $2541; + $2543 = HEAP32[$2542>>2]|0; + $2544 = HEAP32[$pC>>2]|0; + $2545 = ((($2544)) + 60|0); + $2546 = HEAP32[$2545>>2]|0; + $2547 = ($2540|0)!=($2546|0); + $2548 = ($2543|0)!=(0); + $2549 = $2547 | $2548; + if ($2549) { + label = 286; + break L8; } + } + $2550 = $offset64; + $2551 = $2550; + $2552 = HEAP32[$2551>>2]|0; + $2553 = (($2550) + 4)|0; + $2554 = $2553; + $2555 = HEAP32[$2554>>2]|0; + $2556 = HEAP32[$pC>>2]|0; + $2557 = ((($2556)) + 60|0); + $2558 = HEAP32[$2557>>2]|0; + $2559 = ($2555>>>0)>(0); + $2560 = ($2552>>>0)>($2558>>>0); + $2561 = ($2555|0)==(0); + $2562 = $2561 & $2560; + $2563 = $2559 | $2562; + if ($2563) { + label = 286; + break L8; + } + $2569 = HEAP32[$i12>>2]|0; + $2570 = $2569&65535; + $2571 = HEAP32[$pC>>2]|0; + $2572 = ((($2571)) + 14|0); + HEAP16[$2572>>1] = $2570; + $2573 = HEAP32[$zHdr>>2]|0; + $2574 = HEAP32[$zData>>2]|0; + $2575 = $2573; + $2576 = $2574; + $2577 = (($2575) - ($2576))|0; + $2578 = HEAP32[$pC>>2]|0; + $2579 = ((($2578)) + 68|0); + HEAP32[$2579>>2] = $2577; + $2580 = HEAP32[$pC>>2]|0; + $2581 = ((($2580)) + 72|0); + $2582 = HEAP32[$2581>>2]|0; + $2583 = ($2582|0)==(0|0); + if ($2583) { + _sqlite3VdbeMemRelease($sMem); + label = 292; } else { - HEAP32[$t>>2] = 0; + label = 292; } - $2525 = HEAP32[$pC>>2]|0; - $2526 = ((($2525)) + 14|0); - $2527 = HEAP16[$2526>>1]|0; - $2528 = $2527&65535; - $2529 = HEAP32[$p211>>2]|0; - $2530 = ($2528|0)<=($2529|0); - if ($2530) { - $2531 = HEAP32[$pOp>>2]|0; - $2532 = ((($2531)) + 1|0); - $2533 = HEAP8[$2532>>0]|0; - $2534 = $2533 << 24 >> 24; - $2535 = ($2534|0)==(-8); - $2536 = HEAP32[$pDest>>2]|0; - if ($2535) { - $2537 = HEAP32[$pOp>>2]|0; - $2538 = ((($2537)) + 16|0); - $2539 = HEAP32[$2538>>2]|0; - _sqlite3VdbeMemShallowCopy($2536,$2539,2048); + } + if ((label|0) == 292) { + label = 0; + $2584 = HEAP32[$pC>>2]|0; + $2585 = ((($2584)) + 14|0); + $2586 = HEAP16[$2585>>1]|0; + $2587 = $2586&65535; + $2588 = HEAP32[$p211>>2]|0; + $2589 = ($2587|0)<=($2588|0); + if ($2589) { + $2590 = HEAP32[$pOp>>2]|0; + $2591 = ((($2590)) + 1|0); + $2592 = HEAP8[$2591>>0]|0; + $2593 = $2592 << 24 >> 24; + $2594 = ($2593|0)==(-8); + $2595 = HEAP32[$pDest>>2]|0; + if ($2594) { + $2596 = HEAP32[$pOp>>2]|0; + $2597 = ((($2596)) + 16|0); + $2598 = HEAP32[$2597>>2]|0; + _sqlite3VdbeMemShallowCopy($2595,$2598,2048); break L10; } else { - _sqlite3VdbeMemSetNull($2536); + _sqlite3VdbeMemSetNull($2595); break L10; } } } - $2545 = HEAP32[$pDest>>2]|0; - $2546 = ((($2545)) + 8|0); - $2547 = HEAP16[$2546>>1]|0; - $2548 = $2547&65535; - $2549 = $2548 & 9312; - $2550 = ($2549|0)!=(0); - if ($2550) { - $2551 = HEAP32[$pDest>>2]|0; - _sqlite3VdbeMemSetNull($2551); + $2604 = HEAP32[$pDest>>2]|0; + $2605 = ((($2604)) + 8|0); + $2606 = HEAP16[$2605>>1]|0; + $2607 = $2606&65535; + $2608 = $2607 & 9312; + $2609 = ($2608|0)!=(0); + if ($2609) { + $2610 = HEAP32[$pDest>>2]|0; + _sqlite3VdbeMemSetNull($2610); } - $2552 = HEAP8[$encoding>>0]|0; - $2553 = HEAP32[$pDest>>2]|0; - $2554 = ((($2553)) + 10|0); - HEAP8[$2554>>0] = $2552; - $2555 = HEAP32[$pC>>2]|0; - $2556 = ((($2555)) + 64|0); - $2557 = HEAP32[$2556>>2]|0; - $2558 = HEAP32[$p211>>2]|0; - $2559 = (($2558) + 1)|0; - $2560 = HEAP32[$aOffset>>2]|0; - $2561 = (($2560) + ($2559<<2)|0); - $2562 = HEAP32[$2561>>2]|0; - $2563 = ($2557>>>0)>=($2562>>>0); - if ($2563) { - $2564 = HEAP32[$pC>>2]|0; - $2565 = ((($2564)) + 72|0); - $2566 = HEAP32[$2565>>2]|0; - $2567 = HEAP32[$p211>>2]|0; - $2568 = HEAP32[$aOffset>>2]|0; - $2569 = (($2568) + ($2567<<2)|0); - $2570 = HEAP32[$2569>>2]|0; - $2571 = (($2566) + ($2570)|0); - HEAP32[$zData>>2] = $2571; - $2572 = HEAP32[$t>>2]|0; - $2573 = ($2572>>>0)<(12); - if ($2573) { - $2574 = HEAP32[$zData>>2]|0; - $2575 = HEAP32[$t>>2]|0; - $2576 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet($2574,$2575,$2576)|0); + $2611 = HEAP32[$pC>>2]|0; + $2612 = ((($2611)) + 64|0); + $2613 = HEAP32[$2612>>2]|0; + $2614 = HEAP32[$p211>>2]|0; + $2615 = (($2614) + 1)|0; + $2616 = HEAP32[$aOffset>>2]|0; + $2617 = (($2616) + ($2615<<2)|0); + $2618 = HEAP32[$2617>>2]|0; + $2619 = ($2613>>>0)>=($2618>>>0); + if ($2619) { + $2620 = HEAP32[$pC>>2]|0; + $2621 = ((($2620)) + 72|0); + $2622 = HEAP32[$2621>>2]|0; + $2623 = HEAP32[$p211>>2]|0; + $2624 = HEAP32[$aOffset>>2]|0; + $2625 = (($2624) + ($2623<<2)|0); + $2626 = HEAP32[$2625>>2]|0; + $2627 = (($2622) + ($2626)|0); + HEAP32[$zData>>2] = $2627; + $2628 = HEAP32[$t>>2]|0; + $2629 = ($2628>>>0)<(12); + if ($2629) { + $2630 = HEAP32[$zData>>2]|0; + $2631 = HEAP32[$t>>2]|0; + $2632 = HEAP32[$pDest>>2]|0; + (_sqlite3VdbeSerialGet($2630,$2631,$2632)|0); break L10; } - $2577 = HEAP32[$t>>2]|0; - $2578 = (($2577) - 12)|0; - $2579 = (($2578>>>0) / 2)&-1; - HEAP32[$len>>2] = $2579; - $2580 = HEAP32[$pDest>>2]|0; - $2581 = ((($2580)) + 12|0); - HEAP32[$2581>>2] = $2579; - $2582 = HEAP32[$pDest>>2]|0; - $2583 = ((($2582)) + 24|0); - $2584 = HEAP32[$2583>>2]|0; - $2585 = HEAP32[$len>>2]|0; - $2586 = (($2585) + 2)|0; - $2587 = ($2584|0)<($2586|0); - $2588 = HEAP32[$pDest>>2]|0; - if ($2587) { - $2589 = ((($2588)) + 8|0); - HEAP16[$2589>>1] = 1; - $2590 = HEAP32[$pDest>>2]|0; - $2591 = HEAP32[$len>>2]|0; - $2592 = (($2591) + 2)|0; - $2593 = (_sqlite3VdbeMemGrow($2590,$2592,0)|0); - $2594 = ($2593|0)!=(0); - if ($2594) { - label = 881; + $2633 = HEAP32[$t>>2]|0; + $2634 = (($2633) - 12)|0; + $2635 = (($2634>>>0) / 2)&-1; + HEAP32[$len>>2] = $2635; + $2636 = HEAP32[$pDest>>2]|0; + $2637 = ((($2636)) + 12|0); + HEAP32[$2637>>2] = $2635; + $2638 = HEAP8[$encoding>>0]|0; + $2639 = HEAP32[$pDest>>2]|0; + $2640 = ((($2639)) + 10|0); + HEAP8[$2640>>0] = $2638; + $2641 = HEAP32[$pDest>>2]|0; + $2642 = ((($2641)) + 24|0); + $2643 = HEAP32[$2642>>2]|0; + $2644 = HEAP32[$len>>2]|0; + $2645 = (($2644) + 2)|0; + $2646 = ($2643|0)<($2645|0); + $2647 = HEAP32[$pDest>>2]|0; + if ($2646) { + $2648 = ((($2647)) + 8|0); + HEAP16[$2648>>1] = 1; + $2649 = HEAP32[$pDest>>2]|0; + $2650 = HEAP32[$len>>2]|0; + $2651 = (($2650) + 2)|0; + $2652 = (_sqlite3VdbeMemGrow($2649,$2651,0)|0); + $2653 = ($2652|0)!=(0); + if ($2653) { + label = 889; break L1; } } else { - $2595 = ((($2588)) + 20|0); - $2596 = HEAP32[$2595>>2]|0; - $2597 = HEAP32[$pDest>>2]|0; - $2598 = ((($2597)) + 16|0); - HEAP32[$2598>>2] = $2596; + $2654 = ((($2647)) + 20|0); + $2655 = HEAP32[$2654>>2]|0; + $2656 = HEAP32[$pDest>>2]|0; + $2657 = ((($2656)) + 16|0); + HEAP32[$2657>>2] = $2655; } - $2599 = HEAP32[$pDest>>2]|0; - $2600 = ((($2599)) + 16|0); - $2601 = HEAP32[$2600>>2]|0; - $2602 = HEAP32[$zData>>2]|0; - $2603 = HEAP32[$len>>2]|0; - _memcpy(($2601|0),($2602|0),($2603|0))|0; - $2604 = HEAP32[$len>>2]|0; - $2605 = HEAP32[$pDest>>2]|0; - $2606 = ((($2605)) + 16|0); - $2607 = HEAP32[$2606>>2]|0; - $2608 = (($2607) + ($2604)|0); - HEAP8[$2608>>0] = 0; - $2609 = HEAP32[$len>>2]|0; - $2610 = (($2609) + 1)|0; - $2611 = HEAP32[$pDest>>2]|0; - $2612 = ((($2611)) + 16|0); - $2613 = HEAP32[$2612>>2]|0; - $2614 = (($2613) + ($2610)|0); - HEAP8[$2614>>0] = 0; - $2615 = HEAP32[$t>>2]|0; - $2616 = $2615 & 1; - $2617 = (17034 + ($2616<<1)|0); - $2618 = HEAP16[$2617>>1]|0; - $2619 = HEAP32[$pDest>>2]|0; - $2620 = ((($2619)) + 8|0); - HEAP16[$2620>>1] = $2618; + $2658 = HEAP32[$pDest>>2]|0; + $2659 = ((($2658)) + 16|0); + $2660 = HEAP32[$2659>>2]|0; + $2661 = HEAP32[$zData>>2]|0; + $2662 = HEAP32[$len>>2]|0; + _memcpy(($2660|0),($2661|0),($2662|0))|0; + $2663 = HEAP32[$len>>2]|0; + $2664 = HEAP32[$pDest>>2]|0; + $2665 = ((($2664)) + 16|0); + $2666 = HEAP32[$2665>>2]|0; + $2667 = (($2666) + ($2663)|0); + HEAP8[$2667>>0] = 0; + $2668 = HEAP32[$len>>2]|0; + $2669 = (($2668) + 1)|0; + $2670 = HEAP32[$pDest>>2]|0; + $2671 = ((($2670)) + 16|0); + $2672 = HEAP32[$2671>>2]|0; + $2673 = (($2672) + ($2669)|0); + HEAP8[$2673>>0] = 0; + $2674 = HEAP32[$t>>2]|0; + $2675 = $2674 & 1; + $2676 = (16418 + ($2675<<1)|0); + $2677 = HEAP16[$2676>>1]|0; + $2678 = HEAP32[$pDest>>2]|0; + $2679 = ((($2678)) + 8|0); + HEAP16[$2679>>1] = $2677; break L10; } - $2621 = HEAP32[$pOp>>2]|0; - $2622 = ((($2621)) + 3|0); - $2623 = HEAP8[$2622>>0]|0; - $2624 = $2623&255; - $2625 = $2624 & 192; - $2626 = ($2625|0)!=(0); + $2680 = HEAP8[$encoding>>0]|0; + $2681 = HEAP32[$pDest>>2]|0; + $2682 = ((($2681)) + 10|0); + HEAP8[$2682>>0] = $2680; + $2683 = HEAP32[$pOp>>2]|0; + $2684 = ((($2683)) + 3|0); + $2685 = HEAP8[$2684>>0]|0; + $2686 = $2685&255; + $2687 = $2686 & 192; + $2688 = ($2687|0)!=(0); do { - if ($2626) { - $2627 = HEAP32[$t>>2]|0; - $2628 = ($2627>>>0)>=(12); - if ($2628) { - $2629 = HEAP32[$t>>2]|0; - $2630 = $2629 & 1; - $2631 = ($2630|0)==(0); - if ($2631) { + if ($2688) { + $2689 = HEAP32[$t>>2]|0; + $2690 = ($2689>>>0)>=(12); + if ($2690) { + $2691 = HEAP32[$t>>2]|0; + $2692 = $2691 & 1; + $2693 = ($2692|0)==(0); + if ($2693) { break; } } - $2632 = HEAP32[$pOp>>2]|0; - $2633 = ((($2632)) + 3|0); - $2634 = HEAP8[$2633>>0]|0; - $2635 = $2634&255; - $2636 = $2635 & 128; - $2637 = ($2636|0)!=(0); - if (!($2637)) { - label = 304; + $2694 = HEAP32[$pOp>>2]|0; + $2695 = ((($2694)) + 3|0); + $2696 = HEAP8[$2695>>0]|0; + $2697 = $2696&255; + $2698 = $2697 & 128; + $2699 = ($2698|0)!=(0); + if (!($2699)) { + label = 310; } } else { - label = 304; + label = 310; } } while(0); - if ((label|0) == 304) { + if ((label|0) == 310) { label = 0; - $2638 = HEAP32[$t>>2]|0; - $2639 = (_sqlite3VdbeSerialTypeLen($2638)|0); - HEAP32[$len>>2] = $2639; - $2640 = ($2639|0)==(0); - if (!($2640)) { - $2643 = HEAP32[$pCrsr>>2]|0; - $2644 = HEAP32[$p211>>2]|0; - $2645 = HEAP32[$aOffset>>2]|0; - $2646 = (($2645) + ($2644<<2)|0); - $2647 = HEAP32[$2646>>2]|0; - $2648 = HEAP32[$len>>2]|0; - $2649 = HEAP32[$pC>>2]|0; - $2650 = ((($2649)) + 4|0); - $2651 = HEAP8[$2650>>0]|0; - $2652 = ($2651<<24>>24)!=(0); - $2653 = $2652 ^ 1; - $2654 = $2653&1; - $2655 = HEAP32[$pDest>>2]|0; - $2656 = (_sqlite3VdbeMemFromBtree($2643,$2647,$2648,$2654,$2655)|0); - HEAP32[$rc>>2] = $2656; - $2657 = HEAP32[$rc>>2]|0; - $2658 = ($2657|0)!=(0); - if ($2658) { + $2700 = HEAP32[$t>>2]|0; + $2701 = (_sqlite3VdbeSerialTypeLen($2700)|0); + HEAP32[$len>>2] = $2701; + $2702 = ($2701|0)==(0); + if (!($2702)) { + $2705 = HEAP32[$pCrsr>>2]|0; + $2706 = HEAP32[$p211>>2]|0; + $2707 = HEAP32[$aOffset>>2]|0; + $2708 = (($2707) + ($2706<<2)|0); + $2709 = HEAP32[$2708>>2]|0; + $2710 = HEAP32[$len>>2]|0; + $2711 = HEAP32[$pC>>2]|0; + $2712 = ((($2711)) + 4|0); + $2713 = HEAP8[$2712>>0]|0; + $2714 = ($2713<<24>>24)!=(0); + $2715 = $2714 ^ 1; + $2716 = $2715&1; + $2717 = HEAP32[$pDest>>2]|0; + $2718 = (_sqlite3VdbeMemFromBtree($2705,$2709,$2710,$2716,$2717)|0); + HEAP32[$rc>>2] = $2718; + $2719 = HEAP32[$rc>>2]|0; + $2720 = ($2719|0)!=(0); + if ($2720) { break L1; } - $2659 = HEAP32[$pDest>>2]|0; - $2660 = ((($2659)) + 16|0); - $2661 = HEAP32[$2660>>2]|0; - $2662 = HEAP32[$t>>2]|0; - $2663 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet($2661,$2662,$2663)|0); - $2664 = HEAP32[$pDest>>2]|0; - $2665 = ((($2664)) + 8|0); - $2666 = HEAP16[$2665>>1]|0; - $2667 = $2666&65535; - $2668 = $2667 & -4097; - $2669 = $2668&65535; - HEAP16[$2665>>1] = $2669; + $2721 = HEAP32[$pDest>>2]|0; + $2722 = ((($2721)) + 16|0); + $2723 = HEAP32[$2722>>2]|0; + $2724 = HEAP32[$t>>2]|0; + $2725 = HEAP32[$pDest>>2]|0; + (_sqlite3VdbeSerialGet($2723,$2724,$2725)|0); + $2726 = HEAP32[$pDest>>2]|0; + $2727 = ((($2726)) + 8|0); + $2728 = HEAP16[$2727>>1]|0; + $2729 = $2728&65535; + $2730 = $2729 & -4097; + $2731 = $2730&65535; + HEAP16[$2727>>1] = $2731; break L10; } } - $2641 = HEAP32[$t>>2]|0; - $2642 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet(40402,$2641,$2642)|0); + $2703 = HEAP32[$t>>2]|0; + $2704 = HEAP32[$pDest>>2]|0; + (_sqlite3VdbeSerialGet(39943,$2703,$2704)|0); break; } - case 95: { - $2670 = HEAP32[$pOp>>2]|0; - $2671 = ((($2670)) + 16|0); - $2672 = HEAP32[$2671>>2]|0; - HEAP32[$zAffinity>>2] = $2672; - $2673 = HEAP32[$pOp>>2]|0; - $2674 = ((($2673)) + 4|0); - $2675 = HEAP32[$2674>>2]|0; - $2676 = HEAP32[$aMem>>2]|0; - $2677 = (($2676) + (($2675*40)|0)|0); - HEAP32[$pIn1>>2] = $2677; + case 98: { + $2732 = HEAP32[$pOp>>2]|0; + $2733 = ((($2732)) + 16|0); + $2734 = HEAP32[$2733>>2]|0; + HEAP32[$zAffinity>>2] = $2734; + $2735 = HEAP32[$pOp>>2]|0; + $2736 = ((($2735)) + 4|0); + $2737 = HEAP32[$2736>>2]|0; + $2738 = HEAP32[$aMem>>2]|0; + $2739 = (($2738) + (($2737*40)|0)|0); + HEAP32[$pIn1>>2] = $2739; while(1) { - $2678 = HEAP32[$zAffinity>>2]|0; - $2679 = ((($2678)) + 1|0); - HEAP32[$zAffinity>>2] = $2679; - $2680 = HEAP8[$2678>>0]|0; - HEAP8[$cAff>>0] = $2680; - $2681 = $2680 << 24 >> 24; - $2682 = ($2681|0)!=(0); - if (!($2682)) { + $2740 = HEAP32[$zAffinity>>2]|0; + $2741 = ((($2740)) + 1|0); + HEAP32[$zAffinity>>2] = $2741; + $2742 = HEAP8[$2740>>0]|0; + HEAP8[$cAff>>0] = $2742; + $2743 = $2742 << 24 >> 24; + $2744 = ($2743|0)!=(0); + if (!($2744)) { break L10; } - $2683 = HEAP32[$pIn1>>2]|0; - $2684 = HEAP8[$cAff>>0]|0; - $2685 = HEAP8[$encoding>>0]|0; - _applyAffinity($2683,$2684,$2685); - $2686 = HEAP32[$pIn1>>2]|0; - $2687 = ((($2686)) + 40|0); - HEAP32[$pIn1>>2] = $2687; + $2745 = HEAP32[$pIn1>>2]|0; + $2746 = HEAP8[$cAff>>0]|0; + $2747 = HEAP8[$encoding>>0]|0; + _applyAffinity($2745,$2746,$2747); + $2748 = HEAP32[$pIn1>>2]|0; + $2749 = ((($2748)) + 40|0); + HEAP32[$pIn1>>2] = $2749; } break; } - case 96: { - $2688 = $nData; - $2689 = $2688; - HEAP32[$2689>>2] = 0; - $2690 = (($2688) + 4)|0; - $2691 = $2690; - HEAP32[$2691>>2] = 0; + case 99: { + $2750 = $nData; + $2751 = $2750; + HEAP32[$2751>>2] = 0; + $2752 = (($2750) + 4)|0; + $2753 = $2752; + HEAP32[$2753>>2] = 0; HEAP32[$nHdr>>2] = 0; - $2692 = $nZero; - $2693 = $2692; - HEAP32[$2693>>2] = 0; - $2694 = (($2692) + 4)|0; - $2695 = $2694; - HEAP32[$2695>>2] = 0; - $2696 = HEAP32[$pOp>>2]|0; - $2697 = ((($2696)) + 4|0); - $2698 = HEAP32[$2697>>2]|0; - HEAP32[$nField>>2] = $2698; - $2699 = HEAP32[$pOp>>2]|0; - $2700 = ((($2699)) + 16|0); - $2701 = HEAP32[$2700>>2]|0; - HEAP32[$zAffinity14>>2] = $2701; - $2702 = HEAP32[$nField>>2]|0; - $2703 = HEAP32[$aMem>>2]|0; - $2704 = (($2703) + (($2702*40)|0)|0); - HEAP32[$pData0>>2] = $2704; - $2705 = HEAP32[$pOp>>2]|0; - $2706 = ((($2705)) + 8|0); - $2707 = HEAP32[$2706>>2]|0; - HEAP32[$nField>>2] = $2707; - $2708 = HEAP32[$nField>>2]|0; - $2709 = (($2708) - 1)|0; - $2710 = HEAP32[$pData0>>2]|0; - $2711 = (($2710) + (($2709*40)|0)|0); - HEAP32[$pLast>>2] = $2711; - $2712 = HEAP32[$0>>2]|0; - $2713 = ((($2712)) + 88|0); - $2714 = HEAP8[$2713>>0]|0; - $2715 = $2714&255; - HEAP32[$file_format>>2] = $2715; - $2716 = HEAP32[$pOp>>2]|0; - $2717 = ((($2716)) + 12|0); - $2718 = HEAP32[$2717>>2]|0; - $2719 = HEAP32[$aMem>>2]|0; - $2720 = (($2719) + (($2718*40)|0)|0); - HEAP32[$pOut>>2] = $2720; - $2721 = HEAP32[$zAffinity14>>2]|0; - $2722 = ($2721|0)!=(0|0); - if ($2722) { - $2723 = HEAP32[$pData0>>2]|0; - HEAP32[$pRec>>2] = $2723; + $2754 = $nZero; + $2755 = $2754; + HEAP32[$2755>>2] = 0; + $2756 = (($2754) + 4)|0; + $2757 = $2756; + HEAP32[$2757>>2] = 0; + $2758 = HEAP32[$pOp>>2]|0; + $2759 = ((($2758)) + 4|0); + $2760 = HEAP32[$2759>>2]|0; + HEAP32[$nField>>2] = $2760; + $2761 = HEAP32[$pOp>>2]|0; + $2762 = ((($2761)) + 16|0); + $2763 = HEAP32[$2762>>2]|0; + HEAP32[$zAffinity14>>2] = $2763; + $2764 = HEAP32[$nField>>2]|0; + $2765 = HEAP32[$aMem>>2]|0; + $2766 = (($2765) + (($2764*40)|0)|0); + HEAP32[$pData0>>2] = $2766; + $2767 = HEAP32[$pOp>>2]|0; + $2768 = ((($2767)) + 8|0); + $2769 = HEAP32[$2768>>2]|0; + HEAP32[$nField>>2] = $2769; + $2770 = HEAP32[$nField>>2]|0; + $2771 = (($2770) - 1)|0; + $2772 = HEAP32[$pData0>>2]|0; + $2773 = (($2772) + (($2771*40)|0)|0); + HEAP32[$pLast>>2] = $2773; + $2774 = HEAP32[$0>>2]|0; + $2775 = ((($2774)) + 143|0); + $2776 = HEAP8[$2775>>0]|0; + $2777 = $2776&255; + HEAP32[$file_format>>2] = $2777; + $2778 = HEAP32[$pOp>>2]|0; + $2779 = ((($2778)) + 12|0); + $2780 = HEAP32[$2779>>2]|0; + $2781 = HEAP32[$aMem>>2]|0; + $2782 = (($2781) + (($2780*40)|0)|0); + HEAP32[$pOut>>2] = $2782; + $2783 = HEAP32[$zAffinity14>>2]|0; + $2784 = ($2783|0)!=(0|0); + if ($2784) { + $2785 = HEAP32[$pData0>>2]|0; + HEAP32[$pRec>>2] = $2785; while(1) { - $2724 = HEAP32[$pRec>>2]|0; - $2725 = ((($2724)) + 40|0); - HEAP32[$pRec>>2] = $2725; - $2726 = HEAP32[$zAffinity14>>2]|0; - $2727 = ((($2726)) + 1|0); - HEAP32[$zAffinity14>>2] = $2727; - $2728 = HEAP8[$2726>>0]|0; - $2729 = HEAP8[$encoding>>0]|0; - _applyAffinity($2724,$2728,$2729); - $2730 = HEAP32[$zAffinity14>>2]|0; - $2731 = HEAP8[$2730>>0]|0; - $2732 = ($2731<<24>>24)!=(0); - if (!($2732)) { + $2786 = HEAP32[$pRec>>2]|0; + $2787 = ((($2786)) + 40|0); + HEAP32[$pRec>>2] = $2787; + $2788 = HEAP32[$zAffinity14>>2]|0; + $2789 = ((($2788)) + 1|0); + HEAP32[$zAffinity14>>2] = $2789; + $2790 = HEAP8[$2788>>0]|0; + $2791 = HEAP8[$encoding>>0]|0; + _applyAffinity($2786,$2790,$2791); + $2792 = HEAP32[$zAffinity14>>2]|0; + $2793 = HEAP8[$2792>>0]|0; + $2794 = ($2793<<24>>24)!=(0); + if (!($2794)) { break; } } } - $2733 = HEAP32[$pLast>>2]|0; - HEAP32[$pRec>>2] = $2733; + $2795 = HEAP32[$pLast>>2]|0; + HEAP32[$pRec>>2] = $2795; while(1) { - $2734 = HEAP32[$pRec>>2]|0; - $2735 = HEAP32[$file_format>>2]|0; - $2736 = (_sqlite3VdbeSerialType($2734,$2735,$len16)|0); - HEAP32[$serial_type>>2] = $2736; - $2737 = HEAP32[$pRec>>2]|0; - $2738 = ((($2737)) + 28|0); - HEAP32[$2738>>2] = $2736; - $2739 = HEAP32[$pRec>>2]|0; - $2740 = ((($2739)) + 8|0); - $2741 = HEAP16[$2740>>1]|0; - $2742 = $2741&65535; - $2743 = $2742 & 16384; - $2744 = ($2743|0)!=(0); + $2796 = HEAP32[$pRec>>2]|0; + $2797 = HEAP32[$file_format>>2]|0; + $2798 = (_sqlite3VdbeSerialType($2796,$2797,$len16)|0); + HEAP32[$serial_type>>2] = $2798; + $2799 = HEAP32[$pRec>>2]|0; + $2800 = ((($2799)) + 28|0); + HEAP32[$2800>>2] = $2798; + $2801 = HEAP32[$pRec>>2]|0; + $2802 = ((($2801)) + 8|0); + $2803 = HEAP16[$2802>>1]|0; + $2804 = $2803&65535; + $2805 = $2804 & 16384; + $2806 = ($2805|0)!=(0); do { - if ($2744) { - $2745 = $nData; - $2746 = $2745; - $2747 = HEAP32[$2746>>2]|0; - $2748 = (($2745) + 4)|0; - $2749 = $2748; - $2750 = HEAP32[$2749>>2]|0; - $2751 = ($2747|0)!=(0); - $2752 = ($2750|0)!=(0); - $2753 = $2751 | $2752; - $2754 = HEAP32[$pRec>>2]|0; - if ($2753) { - $2755 = (_sqlite3VdbeMemExpandBlob($2754)|0); - $2756 = ($2755|0)!=(0); - if ($2756) { - label = 881; + if ($2806) { + $2807 = $nData; + $2808 = $2807; + $2809 = HEAP32[$2808>>2]|0; + $2810 = (($2807) + 4)|0; + $2811 = $2810; + $2812 = HEAP32[$2811>>2]|0; + $2813 = ($2809|0)!=(0); + $2814 = ($2812|0)!=(0); + $2815 = $2813 | $2814; + $2816 = HEAP32[$pRec>>2]|0; + if ($2815) { + $2817 = (_sqlite3VdbeMemExpandBlob($2816)|0); + $2818 = ($2817|0)!=(0); + if ($2818) { + label = 889; break L1; } else { break; } } else { - $2757 = HEAP32[$2754>>2]|0; - $2758 = ($2757|0)<(0); - $2759 = $2758 << 31 >> 31; - $2760 = $nZero; - $2761 = $2760; - $2762 = HEAP32[$2761>>2]|0; - $2763 = (($2760) + 4)|0; - $2764 = $2763; - $2765 = HEAP32[$2764>>2]|0; - $2766 = (_i64Add(($2762|0),($2765|0),($2757|0),($2759|0))|0); - $2767 = tempRet0; - $2768 = $nZero; - $2769 = $2768; - HEAP32[$2769>>2] = $2766; - $2770 = (($2768) + 4)|0; - $2771 = $2770; - HEAP32[$2771>>2] = $2767; - $2772 = HEAP32[$pRec>>2]|0; - $2773 = HEAP32[$2772>>2]|0; - $2774 = HEAP32[$len16>>2]|0; - $2775 = (($2774) - ($2773))|0; - HEAP32[$len16>>2] = $2775; + $2819 = HEAP32[$2816>>2]|0; + $2820 = ($2819|0)<(0); + $2821 = $2820 << 31 >> 31; + $2822 = $nZero; + $2823 = $2822; + $2824 = HEAP32[$2823>>2]|0; + $2825 = (($2822) + 4)|0; + $2826 = $2825; + $2827 = HEAP32[$2826>>2]|0; + $2828 = (_i64Add(($2824|0),($2827|0),($2819|0),($2821|0))|0); + $2829 = tempRet0; + $2830 = $nZero; + $2831 = $2830; + HEAP32[$2831>>2] = $2828; + $2832 = (($2830) + 4)|0; + $2833 = $2832; + HEAP32[$2833>>2] = $2829; + $2834 = HEAP32[$pRec>>2]|0; + $2835 = HEAP32[$2834>>2]|0; + $2836 = HEAP32[$len16>>2]|0; + $2837 = (($2836) - ($2835))|0; + HEAP32[$len16>>2] = $2837; break; } } } while(0); - $2776 = HEAP32[$len16>>2]|0; - $2777 = $nData; - $2778 = $2777; - $2779 = HEAP32[$2778>>2]|0; - $2780 = (($2777) + 4)|0; - $2781 = $2780; - $2782 = HEAP32[$2781>>2]|0; - $2783 = (_i64Add(($2779|0),($2782|0),($2776|0),0)|0); - $2784 = tempRet0; - $2785 = $nData; - $2786 = $2785; - HEAP32[$2786>>2] = $2783; - $2787 = (($2785) + 4)|0; - $2788 = $2787; - HEAP32[$2788>>2] = $2784; - $2789 = HEAP32[$serial_type>>2]|0; - $2790 = ($2789>>>0)<=(127); - if ($2790) { - $2795 = 1; + $2838 = HEAP32[$len16>>2]|0; + $2839 = $nData; + $2840 = $2839; + $2841 = HEAP32[$2840>>2]|0; + $2842 = (($2839) + 4)|0; + $2843 = $2842; + $2844 = HEAP32[$2843>>2]|0; + $2845 = (_i64Add(($2841|0),($2844|0),($2838|0),0)|0); + $2846 = tempRet0; + $2847 = $nData; + $2848 = $2847; + HEAP32[$2848>>2] = $2845; + $2849 = (($2847) + 4)|0; + $2850 = $2849; + HEAP32[$2850>>2] = $2846; + $2851 = HEAP32[$serial_type>>2]|0; + $2852 = ($2851>>>0)<=(127); + if ($2852) { + $2857 = 1; } else { - $2791 = HEAP32[$serial_type>>2]|0; - $2792 = (_sqlite3VarintLen($2791,0)|0); - $2795 = $2792; + $2853 = HEAP32[$serial_type>>2]|0; + $2854 = (_sqlite3VarintLen($2853,0)|0); + $2857 = $2854; } - $2793 = HEAP32[$nHdr>>2]|0; - $2794 = (($2793) + ($2795))|0; - HEAP32[$nHdr>>2] = $2794; - $2796 = HEAP32[$pRec>>2]|0; - $2797 = HEAP32[$pData0>>2]|0; - $2798 = ($2796|0)==($2797|0); - if ($2798) { + $2855 = HEAP32[$nHdr>>2]|0; + $2856 = (($2855) + ($2857))|0; + HEAP32[$nHdr>>2] = $2856; + $2858 = HEAP32[$pRec>>2]|0; + $2859 = HEAP32[$pData0>>2]|0; + $2860 = ($2858|0)==($2859|0); + if ($2860) { break; } - $2799 = HEAP32[$pRec>>2]|0; - $2800 = ((($2799)) + -40|0); - HEAP32[$pRec>>2] = $2800; + $2861 = HEAP32[$pRec>>2]|0; + $2862 = ((($2861)) + -40|0); + HEAP32[$pRec>>2] = $2862; } - $2801 = HEAP32[$nHdr>>2]|0; - $2802 = ($2801|0)<=(126); - $2803 = HEAP32[$nHdr>>2]|0; - if ($2802) { - $2804 = (($2803) + 1)|0; - HEAP32[$nHdr>>2] = $2804; + $2863 = HEAP32[$nHdr>>2]|0; + $2864 = ($2863|0)<=(126); + $2865 = HEAP32[$nHdr>>2]|0; + if ($2864) { + $2866 = (($2865) + 1)|0; + HEAP32[$nHdr>>2] = $2866; } else { - $2805 = ($2803|0)<(0); - $2806 = $2805 << 31 >> 31; - $2807 = (_sqlite3VarintLen($2803,$2806)|0); - HEAP32[$nVarint>>2] = $2807; - $2808 = HEAP32[$nVarint>>2]|0; - $2809 = HEAP32[$nHdr>>2]|0; - $2810 = (($2809) + ($2808))|0; - HEAP32[$nHdr>>2] = $2810; - $2811 = HEAP32[$nVarint>>2]|0; - $2812 = HEAP32[$nHdr>>2]|0; - $2813 = ($2812|0)<(0); - $2814 = $2813 << 31 >> 31; - $2815 = (_sqlite3VarintLen($2812,$2814)|0); - $2816 = ($2811|0)<($2815|0); - if ($2816) { - $2817 = HEAP32[$nHdr>>2]|0; - $2818 = (($2817) + 1)|0; - HEAP32[$nHdr>>2] = $2818; + $2867 = ($2865|0)<(0); + $2868 = $2867 << 31 >> 31; + $2869 = (_sqlite3VarintLen($2865,$2868)|0); + HEAP32[$nVarint>>2] = $2869; + $2870 = HEAP32[$nVarint>>2]|0; + $2871 = HEAP32[$nHdr>>2]|0; + $2872 = (($2871) + ($2870))|0; + HEAP32[$nHdr>>2] = $2872; + $2873 = HEAP32[$nVarint>>2]|0; + $2874 = HEAP32[$nHdr>>2]|0; + $2875 = ($2874|0)<(0); + $2876 = $2875 << 31 >> 31; + $2877 = (_sqlite3VarintLen($2874,$2876)|0); + $2878 = ($2873|0)<($2877|0); + if ($2878) { + $2879 = HEAP32[$nHdr>>2]|0; + $2880 = (($2879) + 1)|0; + HEAP32[$nHdr>>2] = $2880; } } - $2819 = HEAP32[$nHdr>>2]|0; - $2820 = ($2819|0)<(0); - $2821 = $2820 << 31 >> 31; - $2822 = $nData; - $2823 = $2822; - $2824 = HEAP32[$2823>>2]|0; - $2825 = (($2822) + 4)|0; - $2826 = $2825; - $2827 = HEAP32[$2826>>2]|0; - $2828 = (_i64Add(($2819|0),($2821|0),($2824|0),($2827|0))|0); - $2829 = tempRet0; - $2830 = $nByte13; - $2831 = $2830; - HEAP32[$2831>>2] = $2828; - $2832 = (($2830) + 4)|0; - $2833 = $2832; - HEAP32[$2833>>2] = $2829; - $2834 = $nByte13; - $2835 = $2834; - $2836 = HEAP32[$2835>>2]|0; - $2837 = (($2834) + 4)|0; - $2838 = $2837; - $2839 = HEAP32[$2838>>2]|0; - $2840 = $nZero; - $2841 = $2840; - $2842 = HEAP32[$2841>>2]|0; - $2843 = (($2840) + 4)|0; - $2844 = $2843; - $2845 = HEAP32[$2844>>2]|0; - $2846 = (_i64Add(($2836|0),($2839|0),($2842|0),($2845|0))|0); - $2847 = tempRet0; - $2848 = HEAP32[$db>>2]|0; - $2849 = ((($2848)) + 92|0); - $2850 = HEAP32[$2849>>2]|0; - $2851 = ($2850|0)<(0); - $2852 = $2851 << 31 >> 31; - $2853 = ($2847|0)>($2852|0); - $2854 = ($2846>>>0)>($2850>>>0); - $2855 = ($2847|0)==($2852|0); - $2856 = $2855 & $2854; - $2857 = $2853 | $2856; - if ($2857) { - label = 880; + $2881 = HEAP32[$nHdr>>2]|0; + $2882 = ($2881|0)<(0); + $2883 = $2882 << 31 >> 31; + $2884 = $nData; + $2885 = $2884; + $2886 = HEAP32[$2885>>2]|0; + $2887 = (($2884) + 4)|0; + $2888 = $2887; + $2889 = HEAP32[$2888>>2]|0; + $2890 = (_i64Add(($2881|0),($2883|0),($2886|0),($2889|0))|0); + $2891 = tempRet0; + $2892 = $nByte13; + $2893 = $2892; + HEAP32[$2893>>2] = $2890; + $2894 = (($2892) + 4)|0; + $2895 = $2894; + HEAP32[$2895>>2] = $2891; + $2896 = $nByte13; + $2897 = $2896; + $2898 = HEAP32[$2897>>2]|0; + $2899 = (($2896) + 4)|0; + $2900 = $2899; + $2901 = HEAP32[$2900>>2]|0; + $2902 = $nZero; + $2903 = $2902; + $2904 = HEAP32[$2903>>2]|0; + $2905 = (($2902) + 4)|0; + $2906 = $2905; + $2907 = HEAP32[$2906>>2]|0; + $2908 = (_i64Add(($2898|0),($2901|0),($2904|0),($2907|0))|0); + $2909 = tempRet0; + $2910 = HEAP32[$db>>2]|0; + $2911 = ((($2910)) + 96|0); + $2912 = HEAP32[$2911>>2]|0; + $2913 = ($2912|0)<(0); + $2914 = $2913 << 31 >> 31; + $2915 = ($2909|0)>($2914|0); + $2916 = ($2908>>>0)>($2912>>>0); + $2917 = ($2909|0)==($2914|0); + $2918 = $2917 & $2916; + $2919 = $2915 | $2918; + if ($2919) { + label = 888; break L8; } - $2858 = HEAP32[$pOut>>2]|0; - $2859 = $nByte13; - $2860 = $2859; - $2861 = HEAP32[$2860>>2]|0; - $2862 = (($2859) + 4)|0; - $2863 = $2862; - $2864 = HEAP32[$2863>>2]|0; - $2865 = (_sqlite3VdbeMemClearAndResize($2858,$2861)|0); - $2866 = ($2865|0)!=(0); - if ($2866) { - label = 881; + $2920 = HEAP32[$pOut>>2]|0; + $2921 = $nByte13; + $2922 = $2921; + $2923 = HEAP32[$2922>>2]|0; + $2924 = (($2921) + 4)|0; + $2925 = $2924; + $2926 = HEAP32[$2925>>2]|0; + $2927 = (_sqlite3VdbeMemClearAndResize($2920,$2923)|0); + $2928 = ($2927|0)!=(0); + if ($2928) { + label = 889; break L1; } - $2867 = HEAP32[$pOut>>2]|0; - $2868 = ((($2867)) + 16|0); - $2869 = HEAP32[$2868>>2]|0; - HEAP32[$zNewRecord>>2] = $2869; - $2870 = HEAP32[$nHdr>>2]|0; - $2871 = ($2870>>>0)<(128); - if ($2871) { - $2872 = HEAP32[$nHdr>>2]|0; - $2873 = $2872&255; - $2874 = HEAP32[$zNewRecord>>2]|0; - HEAP8[$2874>>0] = $2873; - $2881 = 1; + $2929 = HEAP32[$pOut>>2]|0; + $2930 = ((($2929)) + 16|0); + $2931 = HEAP32[$2930>>2]|0; + HEAP32[$zNewRecord>>2] = $2931; + $2932 = HEAP32[$nHdr>>2]|0; + $2933 = ($2932>>>0)<(128); + if ($2933) { + $2934 = HEAP32[$nHdr>>2]|0; + $2935 = $2934&255; + $2936 = HEAP32[$zNewRecord>>2]|0; + HEAP8[$2936>>0] = $2935; + $2943 = 1; } else { - $2875 = HEAP32[$zNewRecord>>2]|0; - $2876 = HEAP32[$nHdr>>2]|0; - $2877 = ($2876|0)<(0); - $2878 = $2877 << 31 >> 31; - $2879 = (_sqlite3PutVarint($2875,$2876,$2878)|0); - $2881 = $2879; + $2937 = HEAP32[$zNewRecord>>2]|0; + $2938 = HEAP32[$nHdr>>2]|0; + $2939 = ($2938|0)<(0); + $2940 = $2939 << 31 >> 31; + $2941 = (_sqlite3PutVarint($2937,$2938,$2940)|0); + $2943 = $2941; } - $2880 = $2881&255; - $2882 = $2880&255; - HEAP32[$i15>>2] = $2882; - $2883 = HEAP32[$nHdr>>2]|0; - HEAP32[$j>>2] = $2883; - $2884 = HEAP32[$pData0>>2]|0; - HEAP32[$pRec>>2] = $2884; + $2942 = $2943&255; + $2944 = $2942&255; + HEAP32[$i15>>2] = $2944; + $2945 = HEAP32[$nHdr>>2]|0; + HEAP32[$j>>2] = $2945; + $2946 = HEAP32[$pData0>>2]|0; + HEAP32[$pRec>>2] = $2946; while(1) { - $2885 = HEAP32[$pRec>>2]|0; - $2886 = ((($2885)) + 28|0); - $2887 = HEAP32[$2886>>2]|0; - HEAP32[$serial_type>>2] = $2887; - $2888 = HEAP32[$serial_type>>2]|0; - $2889 = ($2888>>>0)<(128); - if ($2889) { - $2890 = HEAP32[$serial_type>>2]|0; - $2891 = $2890&255; - $2892 = HEAP32[$i15>>2]|0; - $2893 = HEAP32[$zNewRecord>>2]|0; - $2894 = (($2893) + ($2892)|0); - HEAP8[$2894>>0] = $2891; - $2901 = 1; + $2947 = HEAP32[$pRec>>2]|0; + $2948 = ((($2947)) + 28|0); + $2949 = HEAP32[$2948>>2]|0; + HEAP32[$serial_type>>2] = $2949; + $2950 = HEAP32[$serial_type>>2]|0; + $2951 = ($2950>>>0)<(128); + if ($2951) { + $2952 = HEAP32[$serial_type>>2]|0; + $2953 = $2952&255; + $2954 = HEAP32[$i15>>2]|0; + $2955 = HEAP32[$zNewRecord>>2]|0; + $2956 = (($2955) + ($2954)|0); + HEAP8[$2956>>0] = $2953; + $2963 = 1; } else { - $2895 = HEAP32[$i15>>2]|0; - $2896 = HEAP32[$zNewRecord>>2]|0; - $2897 = (($2896) + ($2895)|0); - $2898 = HEAP32[$serial_type>>2]|0; - $2899 = (_sqlite3PutVarint($2897,$2898,0)|0); - $2901 = $2899; + $2957 = HEAP32[$i15>>2]|0; + $2958 = HEAP32[$zNewRecord>>2]|0; + $2959 = (($2958) + ($2957)|0); + $2960 = HEAP32[$serial_type>>2]|0; + $2961 = (_sqlite3PutVarint($2959,$2960,0)|0); + $2963 = $2961; } - $2900 = $2901&255; - $2902 = $2900&255; - $2903 = HEAP32[$i15>>2]|0; - $2904 = (($2903) + ($2902))|0; - HEAP32[$i15>>2] = $2904; - $2905 = HEAP32[$j>>2]|0; - $2906 = HEAP32[$zNewRecord>>2]|0; - $2907 = (($2906) + ($2905)|0); - $2908 = HEAP32[$pRec>>2]|0; - $2909 = HEAP32[$serial_type>>2]|0; - $2910 = (_sqlite3VdbeSerialPut($2907,$2908,$2909)|0); - $2911 = HEAP32[$j>>2]|0; - $2912 = (($2911) + ($2910))|0; - HEAP32[$j>>2] = $2912; - $2913 = HEAP32[$pRec>>2]|0; - $2914 = ((($2913)) + 40|0); - HEAP32[$pRec>>2] = $2914; - $2915 = HEAP32[$pLast>>2]|0; - $2916 = ($2914>>>0)<=($2915>>>0); - if (!($2916)) { + $2962 = $2963&255; + $2964 = $2962&255; + $2965 = HEAP32[$i15>>2]|0; + $2966 = (($2965) + ($2964))|0; + HEAP32[$i15>>2] = $2966; + $2967 = HEAP32[$j>>2]|0; + $2968 = HEAP32[$zNewRecord>>2]|0; + $2969 = (($2968) + ($2967)|0); + $2970 = HEAP32[$pRec>>2]|0; + $2971 = HEAP32[$serial_type>>2]|0; + $2972 = (_sqlite3VdbeSerialPut($2969,$2970,$2971)|0); + $2973 = HEAP32[$j>>2]|0; + $2974 = (($2973) + ($2972))|0; + HEAP32[$j>>2] = $2974; + $2975 = HEAP32[$pRec>>2]|0; + $2976 = ((($2975)) + 40|0); + HEAP32[$pRec>>2] = $2976; + $2977 = HEAP32[$pLast>>2]|0; + $2978 = ($2976>>>0)<=($2977>>>0); + if (!($2978)) { break; } } - $2917 = $nByte13; - $2918 = $2917; - $2919 = HEAP32[$2918>>2]|0; - $2920 = (($2917) + 4)|0; - $2921 = $2920; - $2922 = HEAP32[$2921>>2]|0; - $2923 = HEAP32[$pOut>>2]|0; - $2924 = ((($2923)) + 12|0); - HEAP32[$2924>>2] = $2919; - $2925 = HEAP32[$pOut>>2]|0; - $2926 = ((($2925)) + 8|0); - HEAP16[$2926>>1] = 16; - $2927 = $nZero; - $2928 = $2927; - $2929 = HEAP32[$2928>>2]|0; - $2930 = (($2927) + 4)|0; - $2931 = $2930; - $2932 = HEAP32[$2931>>2]|0; - $2933 = ($2929|0)!=(0); - $2934 = ($2932|0)!=(0); - $2935 = $2933 | $2934; - if ($2935) { - $2936 = $nZero; - $2937 = $2936; - $2938 = HEAP32[$2937>>2]|0; - $2939 = (($2936) + 4)|0; - $2940 = $2939; - $2941 = HEAP32[$2940>>2]|0; - $2942 = HEAP32[$pOut>>2]|0; - HEAP32[$2942>>2] = $2938; - $2943 = HEAP32[$pOut>>2]|0; - $2944 = ((($2943)) + 8|0); - $2945 = HEAP16[$2944>>1]|0; - $2946 = $2945&65535; - $2947 = $2946 | 16384; - $2948 = $2947&65535; - HEAP16[$2944>>1] = $2948; + $2979 = $nByte13; + $2980 = $2979; + $2981 = HEAP32[$2980>>2]|0; + $2982 = (($2979) + 4)|0; + $2983 = $2982; + $2984 = HEAP32[$2983>>2]|0; + $2985 = HEAP32[$pOut>>2]|0; + $2986 = ((($2985)) + 12|0); + HEAP32[$2986>>2] = $2981; + $2987 = HEAP32[$pOut>>2]|0; + $2988 = ((($2987)) + 8|0); + HEAP16[$2988>>1] = 16; + $2989 = $nZero; + $2990 = $2989; + $2991 = HEAP32[$2990>>2]|0; + $2992 = (($2989) + 4)|0; + $2993 = $2992; + $2994 = HEAP32[$2993>>2]|0; + $2995 = ($2991|0)!=(0); + $2996 = ($2994|0)!=(0); + $2997 = $2995 | $2996; + if ($2997) { + $2998 = $nZero; + $2999 = $2998; + $3000 = HEAP32[$2999>>2]|0; + $3001 = (($2998) + 4)|0; + $3002 = $3001; + $3003 = HEAP32[$3002>>2]|0; + $3004 = HEAP32[$pOut>>2]|0; + HEAP32[$3004>>2] = $3000; + $3005 = HEAP32[$pOut>>2]|0; + $3006 = ((($3005)) + 8|0); + $3007 = HEAP16[$3006>>1]|0; + $3008 = $3007&65535; + $3009 = $3008 | 16384; + $3010 = $3009&65535; + HEAP16[$3006>>1] = $3010; } - $2949 = HEAP32[$pOut>>2]|0; - $2950 = ((($2949)) + 10|0); - HEAP8[$2950>>0] = 1; + $3011 = HEAP32[$pOut>>2]|0; + $3012 = ((($3011)) + 10|0); + HEAP8[$3012>>0] = 1; break; } - case 98: { - $2951 = HEAP32[$pOp>>2]|0; - $2952 = ((($2951)) + 4|0); - $2953 = HEAP32[$2952>>2]|0; - $2954 = HEAP32[$0>>2]|0; - $2955 = ((($2954)) + 56|0); - $2956 = HEAP32[$2955>>2]|0; - $2957 = (($2956) + ($2953<<2)|0); - $2958 = HEAP32[$2957>>2]|0; - $2959 = ((($2958)) + 16|0); - $2960 = HEAP32[$2959>>2]|0; - HEAP32[$pCrsr17>>2] = $2960; - $2961 = $nEntry; - $2962 = $2961; - HEAP32[$2962>>2] = 0; - $2963 = (($2961) + 4)|0; - $2964 = $2963; - HEAP32[$2964>>2] = 0; - $2965 = HEAP32[$pCrsr17>>2]|0; - $2966 = (_sqlite3BtreeCount($2965,$nEntry)|0); - HEAP32[$rc>>2] = $2966; - $2967 = HEAP32[$rc>>2]|0; - $2968 = ($2967|0)!=(0); - if ($2968) { + case 100: { + $3013 = HEAP32[$pOp>>2]|0; + $3014 = ((($3013)) + 4|0); + $3015 = HEAP32[$3014>>2]|0; + $3016 = HEAP32[$0>>2]|0; + $3017 = ((($3016)) + 112|0); + $3018 = HEAP32[$3017>>2]|0; + $3019 = (($3018) + ($3015<<2)|0); + $3020 = HEAP32[$3019>>2]|0; + $3021 = ((($3020)) + 16|0); + $3022 = HEAP32[$3021>>2]|0; + HEAP32[$pCrsr17>>2] = $3022; + $3023 = $nEntry; + $3024 = $3023; + HEAP32[$3024>>2] = 0; + $3025 = (($3023) + 4)|0; + $3026 = $3025; + HEAP32[$3026>>2] = 0; + $3027 = HEAP32[$pCrsr17>>2]|0; + $3028 = (_sqlite3BtreeCount($3027,$nEntry)|0); + HEAP32[$rc>>2] = $3028; + $3029 = HEAP32[$rc>>2]|0; + $3030 = ($3029|0)!=(0); + if ($3030) { break L1; } - $2969 = HEAP32[$0>>2]|0; - $2970 = HEAP32[$pOp>>2]|0; - $2971 = (_out2Prerelease($2969,$2970)|0); - HEAP32[$pOut>>2] = $2971; - $2972 = $nEntry; - $2973 = $2972; - $2974 = HEAP32[$2973>>2]|0; - $2975 = (($2972) + 4)|0; - $2976 = $2975; - $2977 = HEAP32[$2976>>2]|0; - $2978 = HEAP32[$pOut>>2]|0; - $2979 = $2978; - $2980 = $2979; - HEAP32[$2980>>2] = $2974; - $2981 = (($2979) + 4)|0; - $2982 = $2981; - HEAP32[$2982>>2] = $2977; + $3031 = HEAP32[$0>>2]|0; + $3032 = HEAP32[$pOp>>2]|0; + $3033 = (_out2Prerelease($3031,$3032)|0); + HEAP32[$pOut>>2] = $3033; + $3034 = $nEntry; + $3035 = $3034; + $3036 = HEAP32[$3035>>2]|0; + $3037 = (($3034) + 4)|0; + $3038 = $3037; + $3039 = HEAP32[$3038>>2]|0; + $3040 = HEAP32[$pOut>>2]|0; + $3041 = $3040; + $3042 = $3041; + HEAP32[$3042>>2] = $3036; + $3043 = (($3041) + 4)|0; + $3044 = $3043; + HEAP32[$3044>>2] = $3039; break; } case 0: { - $2983 = HEAP32[$pOp>>2]|0; - $2984 = ((($2983)) + 4|0); - $2985 = HEAP32[$2984>>2]|0; - HEAP32[$p118>>2] = $2985; - $2986 = HEAP32[$pOp>>2]|0; - $2987 = ((($2986)) + 16|0); - $2988 = HEAP32[$2987>>2]|0; - HEAP32[$zName>>2] = $2988; - $2989 = HEAP32[$p118>>2]|0; - $2990 = ($2989|0)==(0); + $3045 = HEAP32[$pOp>>2]|0; + $3046 = ((($3045)) + 4|0); + $3047 = HEAP32[$3046>>2]|0; + HEAP32[$p118>>2] = $3047; + $3048 = HEAP32[$pOp>>2]|0; + $3049 = ((($3048)) + 16|0); + $3050 = HEAP32[$3049>>2]|0; + HEAP32[$zName>>2] = $3050; + $3051 = HEAP32[$p118>>2]|0; + $3052 = ($3051|0)==(0); do { - if ($2990) { - $2991 = HEAP32[$db>>2]|0; - $2992 = ((($2991)) + 160|0); - $2993 = HEAP32[$2992>>2]|0; - $2994 = ($2993|0)>(0); - if ($2994) { - $2995 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($2995,40410,$vararg_buffer47); + if ($3052) { + $3053 = HEAP32[$db>>2]|0; + $3054 = ((($3053)) + 164|0); + $3055 = HEAP32[$3054>>2]|0; + $3056 = ($3055|0)>(0); + if ($3056) { + $3057 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($3057,39951,$vararg_buffer47); HEAP32[$rc>>2] = 5; break; } - $2996 = HEAP32[$zName>>2]|0; - $2997 = (_sqlite3Strlen30($2996)|0); - HEAP32[$nName>>2] = $2997; - $2998 = HEAP32[$db>>2]|0; - $2999 = HEAP32[$db>>2]|0; - $3000 = ((($2999)) + 436|0); - $3001 = HEAP32[$3000>>2]|0; - $3002 = HEAP32[$db>>2]|0; - $3003 = ((($3002)) + 432|0); - $3004 = HEAP32[$3003>>2]|0; - $3005 = (($3001) + ($3004))|0; - $3006 = (_sqlite3VtabSavepoint($2998,0,$3005)|0); - HEAP32[$rc>>2] = $3006; - $3007 = HEAP32[$rc>>2]|0; - $3008 = ($3007|0)!=(0); - if ($3008) { + $3058 = HEAP32[$zName>>2]|0; + $3059 = (_sqlite3Strlen30($3058)|0); + HEAP32[$nName>>2] = $3059; + $3060 = HEAP32[$db>>2]|0; + $3061 = HEAP32[$db>>2]|0; + $3062 = ((($3061)) + 436|0); + $3063 = HEAP32[$3062>>2]|0; + $3064 = HEAP32[$db>>2]|0; + $3065 = ((($3064)) + 432|0); + $3066 = HEAP32[$3065>>2]|0; + $3067 = (($3063) + ($3066))|0; + $3068 = (_sqlite3VtabSavepoint($3060,0,$3067)|0); + HEAP32[$rc>>2] = $3068; + $3069 = HEAP32[$rc>>2]|0; + $3070 = ($3069|0)!=(0); + if ($3070) { break L1; } - $3009 = HEAP32[$db>>2]|0; - $3010 = HEAP32[$nName>>2]|0; - $3011 = (32 + ($3010))|0; - $3012 = (($3011) + 1)|0; - $3013 = (_sqlite3DbMallocRawNN($3009,$3012,0)|0); - HEAP32[$pNew>>2] = $3013; - $3014 = HEAP32[$pNew>>2]|0; - $3015 = ($3014|0)!=(0|0); - if ($3015) { - $3016 = HEAP32[$pNew>>2]|0; - $3017 = ((($3016)) + 32|0); - $3018 = HEAP32[$pNew>>2]|0; - HEAP32[$3018>>2] = $3017; - $3019 = HEAP32[$pNew>>2]|0; - $3020 = HEAP32[$3019>>2]|0; - $3021 = HEAP32[$zName>>2]|0; - $3022 = HEAP32[$nName>>2]|0; - $3023 = (($3022) + 1)|0; - _memcpy(($3020|0),($3021|0),($3023|0))|0; - $3024 = HEAP32[$db>>2]|0; - $3025 = ((($3024)) + 67|0); - $3026 = HEAP8[$3025>>0]|0; - $3027 = ($3026<<24>>24)!=(0); - $3028 = HEAP32[$db>>2]|0; - if ($3027) { - $3029 = ((($3028)) + 67|0); - HEAP8[$3029>>0] = 0; - $3030 = HEAP32[$db>>2]|0; - $3031 = ((($3030)) + 75|0); - HEAP8[$3031>>0] = 1; + $3071 = HEAP32[$db>>2]|0; + $3072 = HEAP32[$nName>>2]|0; + $3073 = (32 + ($3072))|0; + $3074 = (($3073) + 1)|0; + $3075 = (_sqlite3DbMallocRawNN($3071,$3074,0)|0); + HEAP32[$pNew>>2] = $3075; + $3076 = HEAP32[$pNew>>2]|0; + $3077 = ($3076|0)!=(0|0); + if ($3077) { + $3078 = HEAP32[$pNew>>2]|0; + $3079 = ((($3078)) + 32|0); + $3080 = HEAP32[$pNew>>2]|0; + HEAP32[$3080>>2] = $3079; + $3081 = HEAP32[$pNew>>2]|0; + $3082 = HEAP32[$3081>>2]|0; + $3083 = HEAP32[$zName>>2]|0; + $3084 = HEAP32[$nName>>2]|0; + $3085 = (($3084) + 1)|0; + _memcpy(($3082|0),($3083|0),($3085|0))|0; + $3086 = HEAP32[$db>>2]|0; + $3087 = ((($3086)) + 67|0); + $3088 = HEAP8[$3087>>0]|0; + $3089 = ($3088<<24>>24)!=(0); + $3090 = HEAP32[$db>>2]|0; + if ($3089) { + $3091 = ((($3090)) + 67|0); + HEAP8[$3091>>0] = 0; + $3092 = HEAP32[$db>>2]|0; + $3093 = ((($3092)) + 75|0); + HEAP8[$3093>>0] = 1; } else { - $3032 = ((($3028)) + 432|0); - $3033 = HEAP32[$3032>>2]|0; - $3034 = (($3033) + 1)|0; - HEAP32[$3032>>2] = $3034; + $3094 = ((($3090)) + 432|0); + $3095 = HEAP32[$3094>>2]|0; + $3096 = (($3095) + 1)|0; + HEAP32[$3094>>2] = $3096; } - $3035 = HEAP32[$db>>2]|0; - $3036 = ((($3035)) + 424|0); - $3037 = HEAP32[$3036>>2]|0; - $3038 = HEAP32[$pNew>>2]|0; - $3039 = ((($3038)) + 24|0); - HEAP32[$3039>>2] = $3037; - $3040 = HEAP32[$pNew>>2]|0; - $3041 = HEAP32[$db>>2]|0; - $3042 = ((($3041)) + 424|0); - HEAP32[$3042>>2] = $3040; - $3043 = HEAP32[$db>>2]|0; - $3044 = ((($3043)) + 440|0); - $3045 = $3044; - $3046 = $3045; - $3047 = HEAP32[$3046>>2]|0; - $3048 = (($3045) + 4)|0; - $3049 = $3048; - $3050 = HEAP32[$3049>>2]|0; - $3051 = HEAP32[$pNew>>2]|0; - $3052 = ((($3051)) + 8|0); - $3053 = $3052; - $3054 = $3053; - HEAP32[$3054>>2] = $3047; - $3055 = (($3053) + 4)|0; - $3056 = $3055; - HEAP32[$3056>>2] = $3050; - $3057 = HEAP32[$db>>2]|0; - $3058 = ((($3057)) + 448|0); - $3059 = $3058; - $3060 = $3059; - $3061 = HEAP32[$3060>>2]|0; - $3062 = (($3059) + 4)|0; - $3063 = $3062; - $3064 = HEAP32[$3063>>2]|0; - $3065 = HEAP32[$pNew>>2]|0; - $3066 = ((($3065)) + 16|0); - $3067 = $3066; - $3068 = $3067; - HEAP32[$3068>>2] = $3061; - $3069 = (($3067) + 4)|0; - $3070 = $3069; - HEAP32[$3070>>2] = $3064; + $3097 = HEAP32[$db>>2]|0; + $3098 = ((($3097)) + 424|0); + $3099 = HEAP32[$3098>>2]|0; + $3100 = HEAP32[$pNew>>2]|0; + $3101 = ((($3100)) + 24|0); + HEAP32[$3101>>2] = $3099; + $3102 = HEAP32[$pNew>>2]|0; + $3103 = HEAP32[$db>>2]|0; + $3104 = ((($3103)) + 424|0); + HEAP32[$3104>>2] = $3102; + $3105 = HEAP32[$db>>2]|0; + $3106 = ((($3105)) + 440|0); + $3107 = $3106; + $3108 = $3107; + $3109 = HEAP32[$3108>>2]|0; + $3110 = (($3107) + 4)|0; + $3111 = $3110; + $3112 = HEAP32[$3111>>2]|0; + $3113 = HEAP32[$pNew>>2]|0; + $3114 = ((($3113)) + 8|0); + $3115 = $3114; + $3116 = $3115; + HEAP32[$3116>>2] = $3109; + $3117 = (($3115) + 4)|0; + $3118 = $3117; + HEAP32[$3118>>2] = $3112; + $3119 = HEAP32[$db>>2]|0; + $3120 = ((($3119)) + 448|0); + $3121 = $3120; + $3122 = $3121; + $3123 = HEAP32[$3122>>2]|0; + $3124 = (($3121) + 4)|0; + $3125 = $3124; + $3126 = HEAP32[$3125>>2]|0; + $3127 = HEAP32[$pNew>>2]|0; + $3128 = ((($3127)) + 16|0); + $3129 = $3128; + $3130 = $3129; + HEAP32[$3130>>2] = $3123; + $3131 = (($3129) + 4)|0; + $3132 = $3131; + HEAP32[$3132>>2] = $3126; } } else { HEAP32[$iSavepoint>>2] = 0; - $3071 = HEAP32[$db>>2]|0; - $3072 = ((($3071)) + 424|0); - $3073 = HEAP32[$3072>>2]|0; - HEAP32[$pSavepoint>>2] = $3073; + $3133 = HEAP32[$db>>2]|0; + $3134 = ((($3133)) + 424|0); + $3135 = HEAP32[$3134>>2]|0; + HEAP32[$pSavepoint>>2] = $3135; while(1) { - $3074 = HEAP32[$pSavepoint>>2]|0; - $3075 = ($3074|0)!=(0|0); - if (!($3075)) { + $3136 = HEAP32[$pSavepoint>>2]|0; + $3137 = ($3136|0)!=(0|0); + if (!($3137)) { break; } - $3076 = HEAP32[$pSavepoint>>2]|0; - $3077 = HEAP32[$3076>>2]|0; - $3078 = HEAP32[$zName>>2]|0; - $3079 = (_sqlite3StrICmp($3077,$3078)|0); - $3080 = ($3079|0)!=(0); - if (!($3080)) { + $3138 = HEAP32[$pSavepoint>>2]|0; + $3139 = HEAP32[$3138>>2]|0; + $3140 = HEAP32[$zName>>2]|0; + $3141 = (_sqlite3StrICmp($3139,$3140)|0); + $3142 = ($3141|0)!=(0); + if (!($3142)) { break; } - $3081 = HEAP32[$iSavepoint>>2]|0; - $3082 = (($3081) + 1)|0; - HEAP32[$iSavepoint>>2] = $3082; - $3083 = HEAP32[$pSavepoint>>2]|0; - $3084 = ((($3083)) + 24|0); - $3085 = HEAP32[$3084>>2]|0; - HEAP32[$pSavepoint>>2] = $3085; + $3143 = HEAP32[$iSavepoint>>2]|0; + $3144 = (($3143) + 1)|0; + HEAP32[$iSavepoint>>2] = $3144; + $3145 = HEAP32[$pSavepoint>>2]|0; + $3146 = ((($3145)) + 24|0); + $3147 = HEAP32[$3146>>2]|0; + HEAP32[$pSavepoint>>2] = $3147; } - $3086 = HEAP32[$pSavepoint>>2]|0; - $3087 = ($3086|0)!=(0|0); - if (!($3087)) { - $3088 = HEAP32[$0>>2]|0; - $3089 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer49>>2] = $3089; - _sqlite3VdbeError($3088,40461,$vararg_buffer49); + $3148 = HEAP32[$pSavepoint>>2]|0; + $3149 = ($3148|0)!=(0|0); + if (!($3149)) { + $3150 = HEAP32[$0>>2]|0; + $3151 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer49>>2] = $3151; + _sqlite3VdbeError($3150,40002,$vararg_buffer49); HEAP32[$rc>>2] = 1; break; } - $3090 = HEAP32[$db>>2]|0; - $3091 = ((($3090)) + 160|0); - $3092 = HEAP32[$3091>>2]|0; - $3093 = ($3092|0)>(0); - $3094 = HEAP32[$p118>>2]|0; - $3095 = ($3094|0)==(1); - $or$cond6 = $3093 & $3095; + $3152 = HEAP32[$db>>2]|0; + $3153 = ((($3152)) + 164|0); + $3154 = HEAP32[$3153>>2]|0; + $3155 = ($3154|0)>(0); + $3156 = HEAP32[$p118>>2]|0; + $3157 = ($3156|0)==(1); + $or$cond6 = $3155 & $3157; if ($or$cond6) { - $3096 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($3096,40483,$vararg_buffer52); + $3158 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($3158,40024,$vararg_buffer52); HEAP32[$rc>>2] = 5; break; } - $3097 = HEAP32[$pSavepoint>>2]|0; - $3098 = ((($3097)) + 24|0); - $3099 = HEAP32[$3098>>2]|0; - $3100 = ($3099|0)==(0|0); - if ($3100) { - $3101 = HEAP32[$db>>2]|0; - $3102 = ((($3101)) + 75|0); - $3103 = HEAP8[$3102>>0]|0; - $3104 = $3103&255; - $3105 = ($3104|0)!=(0); - $3107 = $3105; + $3159 = HEAP32[$pSavepoint>>2]|0; + $3160 = ((($3159)) + 24|0); + $3161 = HEAP32[$3160>>2]|0; + $3162 = ($3161|0)==(0|0); + if ($3162) { + $3163 = HEAP32[$db>>2]|0; + $3164 = ((($3163)) + 75|0); + $3165 = HEAP8[$3164>>0]|0; + $3166 = $3165&255; + $3167 = ($3166|0)!=(0); + $3169 = $3167; } else { - $3107 = 0; + $3169 = 0; } - $3106 = $3107&1; - HEAP32[$isTransaction>>2] = $3106; - $3108 = HEAP32[$isTransaction>>2]|0; - $3109 = ($3108|0)!=(0); - $3110 = HEAP32[$p118>>2]|0; - $3111 = ($3110|0)==(1); - $or$cond8 = $3109 & $3111; + $3168 = $3169&1; + HEAP32[$isTransaction>>2] = $3168; + $3170 = HEAP32[$isTransaction>>2]|0; + $3171 = ($3170|0)!=(0); + $3172 = HEAP32[$p118>>2]|0; + $3173 = ($3172|0)==(1); + $or$cond8 = $3171 & $3173; if ($or$cond8) { - $3112 = HEAP32[$0>>2]|0; - $3113 = (_sqlite3VdbeCheckFk($3112,1)|0); - HEAP32[$rc>>2] = $3113; - $3114 = ($3113|0)!=(0); - if ($3114) { - label = 879; + $3174 = HEAP32[$0>>2]|0; + $3175 = (_sqlite3VdbeCheckFk($3174,1)|0); + HEAP32[$rc>>2] = $3175; + $3176 = ($3175|0)!=(0); + if ($3176) { + label = 887; break L8; } - $3115 = HEAP32[$db>>2]|0; - $3116 = ((($3115)) + 67|0); - HEAP8[$3116>>0] = 1; - $3117 = HEAP32[$0>>2]|0; - $3118 = (_sqlite3VdbeHalt($3117)|0); - $3119 = ($3118|0)==(5); - if ($3119) { - label = 364; + $3177 = HEAP32[$db>>2]|0; + $3178 = ((($3177)) + 67|0); + HEAP8[$3178>>0] = 1; + $3179 = HEAP32[$0>>2]|0; + $3180 = (_sqlite3VdbeHalt($3179)|0); + $3181 = ($3180|0)==(5); + if ($3181) { + label = 370; break L8; } - $3132 = HEAP32[$db>>2]|0; - $3133 = ((($3132)) + 75|0); - HEAP8[$3133>>0] = 0; - $3134 = HEAP32[$0>>2]|0; - $3135 = ((($3134)) + 80|0); - $3136 = HEAP32[$3135>>2]|0; - HEAP32[$rc>>2] = $3136; + $3194 = HEAP32[$db>>2]|0; + $3195 = ((($3194)) + 75|0); + HEAP8[$3195>>0] = 0; + $3196 = HEAP32[$0>>2]|0; + $3197 = ((($3196)) + 40|0); + $3198 = HEAP32[$3197>>2]|0; + HEAP32[$rc>>2] = $3198; } else { - $3137 = HEAP32[$db>>2]|0; - $3138 = ((($3137)) + 432|0); - $3139 = HEAP32[$3138>>2]|0; - $3140 = HEAP32[$iSavepoint>>2]|0; - $3141 = (($3139) - ($3140))|0; - $3142 = (($3141) - 1)|0; - HEAP32[$iSavepoint>>2] = $3142; - $3143 = HEAP32[$p118>>2]|0; - $3144 = ($3143|0)==(2); - L409: do { - if ($3144) { - $3145 = HEAP32[$db>>2]|0; - $3146 = ((($3145)) + 24|0); - $3147 = HEAP32[$3146>>2]|0; - $3148 = $3147 & 2; - $3149 = ($3148|0)!=(0); - $3150 = $3149&1; - HEAP32[$isSchemaChange>>2] = $3150; + $3199 = HEAP32[$db>>2]|0; + $3200 = ((($3199)) + 432|0); + $3201 = HEAP32[$3200>>2]|0; + $3202 = HEAP32[$iSavepoint>>2]|0; + $3203 = (($3201) - ($3202))|0; + $3204 = (($3203) - 1)|0; + HEAP32[$iSavepoint>>2] = $3204; + $3205 = HEAP32[$p118>>2]|0; + $3206 = ($3205|0)==(2); + L418: do { + if ($3206) { + $3207 = HEAP32[$db>>2]|0; + $3208 = ((($3207)) + 24|0); + $3209 = HEAP32[$3208>>2]|0; + $3210 = $3209 & 2; + $3211 = ($3210|0)!=(0); + $3212 = $3211&1; + HEAP32[$isSchemaChange>>2] = $3212; HEAP32[$ii>>2] = 0; while(1) { - $3151 = HEAP32[$ii>>2]|0; - $3152 = HEAP32[$db>>2]|0; - $3153 = ((($3152)) + 20|0); - $3154 = HEAP32[$3153>>2]|0; - $3155 = ($3151|0)<($3154|0); - if (!($3155)) { - break L409; + $3213 = HEAP32[$ii>>2]|0; + $3214 = HEAP32[$db>>2]|0; + $3215 = ((($3214)) + 20|0); + $3216 = HEAP32[$3215>>2]|0; + $3217 = ($3213|0)<($3216|0); + if (!($3217)) { + break L418; } - $3156 = HEAP32[$ii>>2]|0; - $3157 = HEAP32[$db>>2]|0; - $3158 = ((($3157)) + 16|0); - $3159 = HEAP32[$3158>>2]|0; - $3160 = (($3159) + ($3156<<4)|0); - $3161 = ((($3160)) + 4|0); - $3162 = HEAP32[$3161>>2]|0; - $3163 = HEAP32[$isSchemaChange>>2]|0; - $3164 = ($3163|0)==(0); - $3165 = $3164&1; - $3166 = (_sqlite3BtreeTripAllCursors($3162,516,$3165)|0); - HEAP32[$rc>>2] = $3166; - $3167 = HEAP32[$rc>>2]|0; - $3168 = ($3167|0)!=(0); - if ($3168) { + $3218 = HEAP32[$ii>>2]|0; + $3219 = HEAP32[$db>>2]|0; + $3220 = ((($3219)) + 16|0); + $3221 = HEAP32[$3220>>2]|0; + $3222 = (($3221) + ($3218<<4)|0); + $3223 = ((($3222)) + 4|0); + $3224 = HEAP32[$3223>>2]|0; + $3225 = HEAP32[$isSchemaChange>>2]|0; + $3226 = ($3225|0)==(0); + $3227 = $3226&1; + $3228 = (_sqlite3BtreeTripAllCursors($3224,516,$3227)|0); + HEAP32[$rc>>2] = $3228; + $3229 = HEAP32[$rc>>2]|0; + $3230 = ($3229|0)!=(0); + if ($3230) { break L1; } - $3169 = HEAP32[$ii>>2]|0; - $3170 = (($3169) + 1)|0; - HEAP32[$ii>>2] = $3170; + $3231 = HEAP32[$ii>>2]|0; + $3232 = (($3231) + 1)|0; + HEAP32[$ii>>2] = $3232; } } else { HEAP32[$isSchemaChange>>2] = 0; @@ -215354,148 +219796,148 @@ function _sqlite3VdbeExec($p) { } while(0); HEAP32[$ii>>2] = 0; while(1) { - $3171 = HEAP32[$ii>>2]|0; - $3172 = HEAP32[$db>>2]|0; - $3173 = ((($3172)) + 20|0); - $3174 = HEAP32[$3173>>2]|0; - $3175 = ($3171|0)<($3174|0); - if (!($3175)) { + $3233 = HEAP32[$ii>>2]|0; + $3234 = HEAP32[$db>>2]|0; + $3235 = ((($3234)) + 20|0); + $3236 = HEAP32[$3235>>2]|0; + $3237 = ($3233|0)<($3236|0); + if (!($3237)) { break; } - $3176 = HEAP32[$ii>>2]|0; - $3177 = HEAP32[$db>>2]|0; - $3178 = ((($3177)) + 16|0); - $3179 = HEAP32[$3178>>2]|0; - $3180 = (($3179) + ($3176<<4)|0); - $3181 = ((($3180)) + 4|0); - $3182 = HEAP32[$3181>>2]|0; - $3183 = HEAP32[$p118>>2]|0; - $3184 = HEAP32[$iSavepoint>>2]|0; - $3185 = (_sqlite3BtreeSavepoint($3182,$3183,$3184)|0); - HEAP32[$rc>>2] = $3185; - $3186 = HEAP32[$rc>>2]|0; - $3187 = ($3186|0)!=(0); - if ($3187) { + $3238 = HEAP32[$ii>>2]|0; + $3239 = HEAP32[$db>>2]|0; + $3240 = ((($3239)) + 16|0); + $3241 = HEAP32[$3240>>2]|0; + $3242 = (($3241) + ($3238<<4)|0); + $3243 = ((($3242)) + 4|0); + $3244 = HEAP32[$3243>>2]|0; + $3245 = HEAP32[$p118>>2]|0; + $3246 = HEAP32[$iSavepoint>>2]|0; + $3247 = (_sqlite3BtreeSavepoint($3244,$3245,$3246)|0); + HEAP32[$rc>>2] = $3247; + $3248 = HEAP32[$rc>>2]|0; + $3249 = ($3248|0)!=(0); + if ($3249) { break L1; } - $3188 = HEAP32[$ii>>2]|0; - $3189 = (($3188) + 1)|0; - HEAP32[$ii>>2] = $3189; + $3250 = HEAP32[$ii>>2]|0; + $3251 = (($3250) + 1)|0; + HEAP32[$ii>>2] = $3251; } - $3190 = HEAP32[$isSchemaChange>>2]|0; - $3191 = ($3190|0)!=(0); - if ($3191) { - $3192 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($3192); - $3193 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($3193); - $3194 = HEAP32[$db>>2]|0; - $3195 = ((($3194)) + 24|0); - $3196 = HEAP32[$3195>>2]|0; - $3197 = $3196 | 2; - $3198 = HEAP32[$db>>2]|0; - $3199 = ((($3198)) + 24|0); - HEAP32[$3199>>2] = $3197; + $3252 = HEAP32[$isSchemaChange>>2]|0; + $3253 = ($3252|0)!=(0); + if ($3253) { + $3254 = HEAP32[$db>>2]|0; + _sqlite3ExpirePreparedStatements($3254); + $3255 = HEAP32[$db>>2]|0; + _sqlite3ResetAllSchemasOfConnection($3255); + $3256 = HEAP32[$db>>2]|0; + $3257 = ((($3256)) + 24|0); + $3258 = HEAP32[$3257>>2]|0; + $3259 = $3258 | 2; + $3260 = HEAP32[$db>>2]|0; + $3261 = ((($3260)) + 24|0); + HEAP32[$3261>>2] = $3259; } } while(1) { - $3200 = HEAP32[$db>>2]|0; - $3201 = ((($3200)) + 424|0); - $3202 = HEAP32[$3201>>2]|0; - $3203 = HEAP32[$pSavepoint>>2]|0; - $3204 = ($3202|0)!=($3203|0); - if (!($3204)) { + $3262 = HEAP32[$db>>2]|0; + $3263 = ((($3262)) + 424|0); + $3264 = HEAP32[$3263>>2]|0; + $3265 = HEAP32[$pSavepoint>>2]|0; + $3266 = ($3264|0)!=($3265|0); + if (!($3266)) { break; } - $3205 = HEAP32[$db>>2]|0; - $3206 = ((($3205)) + 424|0); - $3207 = HEAP32[$3206>>2]|0; - HEAP32[$pTmp>>2] = $3207; - $3208 = HEAP32[$pTmp>>2]|0; - $3209 = ((($3208)) + 24|0); - $3210 = HEAP32[$3209>>2]|0; - $3211 = HEAP32[$db>>2]|0; - $3212 = ((($3211)) + 424|0); - HEAP32[$3212>>2] = $3210; - $3213 = HEAP32[$db>>2]|0; - $3214 = HEAP32[$pTmp>>2]|0; - _sqlite3DbFree($3213,$3214); - $3215 = HEAP32[$db>>2]|0; - $3216 = ((($3215)) + 432|0); - $3217 = HEAP32[$3216>>2]|0; - $3218 = (($3217) + -1)|0; - HEAP32[$3216>>2] = $3218; + $3267 = HEAP32[$db>>2]|0; + $3268 = ((($3267)) + 424|0); + $3269 = HEAP32[$3268>>2]|0; + HEAP32[$pTmp>>2] = $3269; + $3270 = HEAP32[$pTmp>>2]|0; + $3271 = ((($3270)) + 24|0); + $3272 = HEAP32[$3271>>2]|0; + $3273 = HEAP32[$db>>2]|0; + $3274 = ((($3273)) + 424|0); + HEAP32[$3274>>2] = $3272; + $3275 = HEAP32[$db>>2]|0; + $3276 = HEAP32[$pTmp>>2]|0; + _sqlite3DbFree($3275,$3276); + $3277 = HEAP32[$db>>2]|0; + $3278 = ((($3277)) + 432|0); + $3279 = HEAP32[$3278>>2]|0; + $3280 = (($3279) + -1)|0; + HEAP32[$3278>>2] = $3280; } - $3219 = HEAP32[$p118>>2]|0; - $3220 = ($3219|0)==(1); - $3221 = HEAP32[$pSavepoint>>2]|0; - if ($3220) { - $3222 = ((($3221)) + 24|0); - $3223 = HEAP32[$3222>>2]|0; - $3224 = HEAP32[$db>>2]|0; - $3225 = ((($3224)) + 424|0); - HEAP32[$3225>>2] = $3223; - $3226 = HEAP32[$db>>2]|0; - $3227 = HEAP32[$pSavepoint>>2]|0; - _sqlite3DbFree($3226,$3227); - $3228 = HEAP32[$isTransaction>>2]|0; - $3229 = ($3228|0)!=(0); - if (!($3229)) { - $3230 = HEAP32[$db>>2]|0; - $3231 = ((($3230)) + 432|0); - $3232 = HEAP32[$3231>>2]|0; - $3233 = (($3232) + -1)|0; - HEAP32[$3231>>2] = $3233; + $3281 = HEAP32[$p118>>2]|0; + $3282 = ($3281|0)==(1); + $3283 = HEAP32[$pSavepoint>>2]|0; + if ($3282) { + $3284 = ((($3283)) + 24|0); + $3285 = HEAP32[$3284>>2]|0; + $3286 = HEAP32[$db>>2]|0; + $3287 = ((($3286)) + 424|0); + HEAP32[$3287>>2] = $3285; + $3288 = HEAP32[$db>>2]|0; + $3289 = HEAP32[$pSavepoint>>2]|0; + _sqlite3DbFree($3288,$3289); + $3290 = HEAP32[$isTransaction>>2]|0; + $3291 = ($3290|0)!=(0); + if (!($3291)) { + $3292 = HEAP32[$db>>2]|0; + $3293 = ((($3292)) + 432|0); + $3294 = HEAP32[$3293>>2]|0; + $3295 = (($3294) + -1)|0; + HEAP32[$3293>>2] = $3295; } } else { - $3234 = ((($3221)) + 8|0); - $3235 = $3234; - $3236 = $3235; - $3237 = HEAP32[$3236>>2]|0; - $3238 = (($3235) + 4)|0; - $3239 = $3238; - $3240 = HEAP32[$3239>>2]|0; - $3241 = HEAP32[$db>>2]|0; - $3242 = ((($3241)) + 440|0); - $3243 = $3242; - $3244 = $3243; - HEAP32[$3244>>2] = $3237; - $3245 = (($3243) + 4)|0; - $3246 = $3245; - HEAP32[$3246>>2] = $3240; - $3247 = HEAP32[$pSavepoint>>2]|0; - $3248 = ((($3247)) + 16|0); - $3249 = $3248; - $3250 = $3249; - $3251 = HEAP32[$3250>>2]|0; - $3252 = (($3249) + 4)|0; - $3253 = $3252; - $3254 = HEAP32[$3253>>2]|0; - $3255 = HEAP32[$db>>2]|0; - $3256 = ((($3255)) + 448|0); - $3257 = $3256; - $3258 = $3257; - HEAP32[$3258>>2] = $3251; - $3259 = (($3257) + 4)|0; - $3260 = $3259; - HEAP32[$3260>>2] = $3254; + $3296 = ((($3283)) + 8|0); + $3297 = $3296; + $3298 = $3297; + $3299 = HEAP32[$3298>>2]|0; + $3300 = (($3297) + 4)|0; + $3301 = $3300; + $3302 = HEAP32[$3301>>2]|0; + $3303 = HEAP32[$db>>2]|0; + $3304 = ((($3303)) + 440|0); + $3305 = $3304; + $3306 = $3305; + HEAP32[$3306>>2] = $3299; + $3307 = (($3305) + 4)|0; + $3308 = $3307; + HEAP32[$3308>>2] = $3302; + $3309 = HEAP32[$pSavepoint>>2]|0; + $3310 = ((($3309)) + 16|0); + $3311 = $3310; + $3312 = $3311; + $3313 = HEAP32[$3312>>2]|0; + $3314 = (($3311) + 4)|0; + $3315 = $3314; + $3316 = HEAP32[$3315>>2]|0; + $3317 = HEAP32[$db>>2]|0; + $3318 = ((($3317)) + 448|0); + $3319 = $3318; + $3320 = $3319; + HEAP32[$3320>>2] = $3313; + $3321 = (($3319) + 4)|0; + $3322 = $3321; + HEAP32[$3322>>2] = $3316; } - $3261 = HEAP32[$isTransaction>>2]|0; - $3262 = ($3261|0)==(0); - $3263 = HEAP32[$p118>>2]|0; - $3264 = ($3263|0)==(2); - $or$cond10 = $3262 | $3264; + $3323 = HEAP32[$isTransaction>>2]|0; + $3324 = ($3323|0)==(0); + $3325 = HEAP32[$p118>>2]|0; + $3326 = ($3325|0)==(2); + $or$cond10 = $3324 | $3326; if ($or$cond10) { - $3265 = HEAP32[$db>>2]|0; - $3266 = HEAP32[$p118>>2]|0; - $3267 = HEAP32[$iSavepoint>>2]|0; - $3268 = (_sqlite3VtabSavepoint($3265,$3266,$3267)|0); - HEAP32[$rc>>2] = $3268; - $3269 = HEAP32[$rc>>2]|0; - $3270 = ($3269|0)!=(0); - $3271 = HEAP32[$rc>>2]|0; - $3272 = ($3271|0)!=(0); - $or$cond28 = $3270 | $3272; + $3327 = HEAP32[$db>>2]|0; + $3328 = HEAP32[$p118>>2]|0; + $3329 = HEAP32[$iSavepoint>>2]|0; + $3330 = (_sqlite3VtabSavepoint($3327,$3328,$3329)|0); + HEAP32[$rc>>2] = $3330; + $3331 = HEAP32[$rc>>2]|0; + $3332 = ($3331|0)!=(0); + $3333 = HEAP32[$rc>>2]|0; + $3334 = ($3333|0)!=(0); + $or$cond28 = $3332 | $3334; if ($or$cond28) { break L1; } else { @@ -215512,901 +219954,883 @@ function _sqlite3VdbeExec($p) { break; } case 2: { - $3334 = HEAP32[$pOp>>2]|0; - $3335 = ((($3334)) + 8|0); - $3336 = HEAP32[$3335>>2]|0; - $3337 = ($3336|0)!=(0); - if ($3337) { - $3338 = HEAP32[$db>>2]|0; - $3339 = ((($3338)) + 24|0); - $3340 = HEAP32[$3339>>2]|0; - $3341 = $3340 & 67108864; - $3342 = ($3341|0)!=(0); - if ($3342) { - label = 405; + $3396 = HEAP32[$pOp>>2]|0; + $3397 = ((($3396)) + 8|0); + $3398 = HEAP32[$3397>>2]|0; + $3399 = ($3398|0)!=(0); + if ($3399) { + $3400 = HEAP32[$db>>2]|0; + $3401 = ((($3400)) + 24|0); + $3402 = HEAP32[$3401>>2]|0; + $3403 = $3402 & 67108864; + $3404 = ($3403|0)!=(0); + if ($3404) { + label = 411; break L8; } } - $3343 = HEAP32[$pOp>>2]|0; - $3344 = ((($3343)) + 4|0); - $3345 = HEAP32[$3344>>2]|0; - $3346 = HEAP32[$db>>2]|0; - $3347 = ((($3346)) + 16|0); - $3348 = HEAP32[$3347>>2]|0; - $3349 = (($3348) + ($3345<<4)|0); - $3350 = ((($3349)) + 4|0); - $3351 = HEAP32[$3350>>2]|0; - HEAP32[$pBt>>2] = $3351; - $3352 = HEAP32[$pBt>>2]|0; - $3353 = ($3352|0)!=(0|0); - if ($3353) { - $3354 = HEAP32[$pBt>>2]|0; - $3355 = HEAP32[$pOp>>2]|0; - $3356 = ((($3355)) + 8|0); - $3357 = HEAP32[$3356>>2]|0; - $3358 = (_sqlite3BtreeBeginTrans($3354,$3357)|0); - HEAP32[$rc>>2] = $3358; - $3359 = HEAP32[$rc>>2]|0; - $3360 = $3359 & 255; - $3361 = ($3360|0)==(5); - if ($3361) { - label = 408; + $3405 = HEAP32[$pOp>>2]|0; + $3406 = ((($3405)) + 4|0); + $3407 = HEAP32[$3406>>2]|0; + $3408 = HEAP32[$db>>2]|0; + $3409 = ((($3408)) + 16|0); + $3410 = HEAP32[$3409>>2]|0; + $3411 = (($3410) + ($3407<<4)|0); + $3412 = ((($3411)) + 4|0); + $3413 = HEAP32[$3412>>2]|0; + HEAP32[$pBt>>2] = $3413; + $3414 = HEAP32[$pBt>>2]|0; + $3415 = ($3414|0)!=(0|0); + if ($3415) { + $3416 = HEAP32[$pBt>>2]|0; + $3417 = HEAP32[$pOp>>2]|0; + $3418 = ((($3417)) + 8|0); + $3419 = HEAP32[$3418>>2]|0; + $3420 = (_sqlite3BtreeBeginTrans($3416,$3419)|0); + HEAP32[$rc>>2] = $3420; + $3421 = HEAP32[$rc>>2]|0; + $3422 = ($3421|0)!=(0); + if ($3422) { + label = 414; break L8; } - $3373 = HEAP32[$rc>>2]|0; - $3374 = ($3373|0)!=(0); - if ($3374) { - break L1; - } - $3375 = HEAP32[$pOp>>2]|0; - $3376 = ((($3375)) + 8|0); - $3377 = HEAP32[$3376>>2]|0; - $3378 = ($3377|0)!=(0); + $3437 = HEAP32[$pOp>>2]|0; + $3438 = ((($3437)) + 8|0); + $3439 = HEAP32[$3438>>2]|0; + $3440 = ($3439|0)!=(0); do { - if ($3378) { - $3379 = HEAP32[$0>>2]|0; - $3380 = ((($3379)) + 89|0); - $3381 = HEAP8[$3380>>0]|0; - $3382 = ($3381&255) >>> 4; - $3383 = $3382 & 1; - $3384 = $3383&255; - $3385 = ($3384|0)!=(0); - if ($3385) { - $3386 = HEAP32[$db>>2]|0; - $3387 = ((($3386)) + 67|0); - $3388 = HEAP8[$3387>>0]|0; - $3389 = $3388&255; - $3390 = ($3389|0)==(0); - if (!($3390)) { - $3391 = HEAP32[$db>>2]|0; - $3392 = ((($3391)) + 156|0); - $3393 = HEAP32[$3392>>2]|0; - $3394 = ($3393|0)>(1); - if (!($3394)) { + if ($3440) { + $3441 = HEAP32[$0>>2]|0; + $3442 = ((($3441)) + 144|0); + $3443 = HEAP16[$3442>>1]|0; + $3444 = ($3443&65535) >>> 6; + $3445 = $3444 & 1; + $3446 = $3445&65535; + $3447 = ($3446|0)!=(0); + if ($3447) { + $3448 = HEAP32[$db>>2]|0; + $3449 = ((($3448)) + 67|0); + $3450 = HEAP8[$3449>>0]|0; + $3451 = $3450&255; + $3452 = ($3451|0)==(0); + if (!($3452)) { + $3453 = HEAP32[$db>>2]|0; + $3454 = ((($3453)) + 160|0); + $3455 = HEAP32[$3454>>2]|0; + $3456 = ($3455|0)>(1); + if (!($3456)) { break; } } - $3395 = HEAP32[$0>>2]|0; - $3396 = ((($3395)) + 104|0); - $3397 = HEAP32[$3396>>2]|0; - $3398 = ($3397|0)==(0); - if ($3398) { - $3399 = HEAP32[$db>>2]|0; - $3400 = ((($3399)) + 436|0); - $3401 = HEAP32[$3400>>2]|0; - $3402 = (($3401) + 1)|0; - HEAP32[$3400>>2] = $3402; - $3403 = HEAP32[$db>>2]|0; - $3404 = ((($3403)) + 432|0); - $3405 = HEAP32[$3404>>2]|0; - $3406 = HEAP32[$db>>2]|0; - $3407 = ((($3406)) + 436|0); - $3408 = HEAP32[$3407>>2]|0; - $3409 = (($3405) + ($3408))|0; - $3410 = HEAP32[$0>>2]|0; - $3411 = ((($3410)) + 104|0); - HEAP32[$3411>>2] = $3409; + $3457 = HEAP32[$0>>2]|0; + $3458 = ((($3457)) + 48|0); + $3459 = HEAP32[$3458>>2]|0; + $3460 = ($3459|0)==(0); + if ($3460) { + $3461 = HEAP32[$db>>2]|0; + $3462 = ((($3461)) + 436|0); + $3463 = HEAP32[$3462>>2]|0; + $3464 = (($3463) + 1)|0; + HEAP32[$3462>>2] = $3464; + $3465 = HEAP32[$db>>2]|0; + $3466 = ((($3465)) + 432|0); + $3467 = HEAP32[$3466>>2]|0; + $3468 = HEAP32[$db>>2]|0; + $3469 = ((($3468)) + 436|0); + $3470 = HEAP32[$3469>>2]|0; + $3471 = (($3467) + ($3470))|0; + $3472 = HEAP32[$0>>2]|0; + $3473 = ((($3472)) + 48|0); + HEAP32[$3473>>2] = $3471; } - $3412 = HEAP32[$db>>2]|0; - $3413 = HEAP32[$0>>2]|0; - $3414 = ((($3413)) + 104|0); - $3415 = HEAP32[$3414>>2]|0; - $3416 = (($3415) - 1)|0; - $3417 = (_sqlite3VtabSavepoint($3412,0,$3416)|0); - HEAP32[$rc>>2] = $3417; - $3418 = HEAP32[$rc>>2]|0; - $3419 = ($3418|0)==(0); - if ($3419) { - $3420 = HEAP32[$pBt>>2]|0; - $3421 = HEAP32[$0>>2]|0; - $3422 = ((($3421)) + 104|0); - $3423 = HEAP32[$3422>>2]|0; - $3424 = (_sqlite3BtreeBeginStmt($3420,$3423)|0); - HEAP32[$rc>>2] = $3424; + $3474 = HEAP32[$db>>2]|0; + $3475 = HEAP32[$0>>2]|0; + $3476 = ((($3475)) + 48|0); + $3477 = HEAP32[$3476>>2]|0; + $3478 = (($3477) - 1)|0; + $3479 = (_sqlite3VtabSavepoint($3474,0,$3478)|0); + HEAP32[$rc>>2] = $3479; + $3480 = HEAP32[$rc>>2]|0; + $3481 = ($3480|0)==(0); + if ($3481) { + $3482 = HEAP32[$pBt>>2]|0; + $3483 = HEAP32[$0>>2]|0; + $3484 = ((($3483)) + 48|0); + $3485 = HEAP32[$3484>>2]|0; + $3486 = (_sqlite3BtreeBeginStmt($3482,$3485)|0); + HEAP32[$rc>>2] = $3486; } - $3425 = HEAP32[$db>>2]|0; - $3426 = ((($3425)) + 440|0); - $3427 = $3426; - $3428 = $3427; - $3429 = HEAP32[$3428>>2]|0; - $3430 = (($3427) + 4)|0; - $3431 = $3430; - $3432 = HEAP32[$3431>>2]|0; - $3433 = HEAP32[$0>>2]|0; - $3434 = ((($3433)) + 152|0); - $3435 = $3434; - $3436 = $3435; - HEAP32[$3436>>2] = $3429; - $3437 = (($3435) + 4)|0; - $3438 = $3437; - HEAP32[$3438>>2] = $3432; - $3439 = HEAP32[$db>>2]|0; - $3440 = ((($3439)) + 448|0); - $3441 = $3440; - $3442 = $3441; - $3443 = HEAP32[$3442>>2]|0; - $3444 = (($3441) + 4)|0; - $3445 = $3444; - $3446 = HEAP32[$3445>>2]|0; - $3447 = HEAP32[$0>>2]|0; - $3448 = ((($3447)) + 160|0); - $3449 = $3448; - $3450 = $3449; - HEAP32[$3450>>2] = $3443; - $3451 = (($3449) + 4)|0; - $3452 = $3451; - HEAP32[$3452>>2] = $3446; + $3487 = HEAP32[$db>>2]|0; + $3488 = ((($3487)) + 440|0); + $3489 = $3488; + $3490 = $3489; + $3491 = HEAP32[$3490>>2]|0; + $3492 = (($3489) + 4)|0; + $3493 = $3492; + $3494 = HEAP32[$3493>>2]|0; + $3495 = HEAP32[$0>>2]|0; + $3496 = ((($3495)) + 72|0); + $3497 = $3496; + $3498 = $3497; + HEAP32[$3498>>2] = $3491; + $3499 = (($3497) + 4)|0; + $3500 = $3499; + HEAP32[$3500>>2] = $3494; + $3501 = HEAP32[$db>>2]|0; + $3502 = ((($3501)) + 448|0); + $3503 = $3502; + $3504 = $3503; + $3505 = HEAP32[$3504>>2]|0; + $3506 = (($3503) + 4)|0; + $3507 = $3506; + $3508 = HEAP32[$3507>>2]|0; + $3509 = HEAP32[$0>>2]|0; + $3510 = ((($3509)) + 80|0); + $3511 = $3510; + $3512 = $3511; + HEAP32[$3512>>2] = $3505; + $3513 = (($3511) + 4)|0; + $3514 = $3513; + HEAP32[$3514>>2] = $3508; } } } while(0); - $3453 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeGetMeta($3453,1,$iMeta); - $3454 = HEAP32[$pOp>>2]|0; - $3455 = ((($3454)) + 4|0); - $3456 = HEAP32[$3455>>2]|0; - $3457 = HEAP32[$db>>2]|0; - $3458 = ((($3457)) + 16|0); - $3459 = HEAP32[$3458>>2]|0; - $3460 = (($3459) + ($3456<<4)|0); - $3461 = ((($3460)) + 12|0); - $3462 = HEAP32[$3461>>2]|0; - $3463 = ((($3462)) + 4|0); - $3464 = HEAP32[$3463>>2]|0; - HEAP32[$iGen>>2] = $3464; + $3515 = HEAP32[$pBt>>2]|0; + _sqlite3BtreeGetMeta($3515,1,$iMeta); + $3516 = HEAP32[$pOp>>2]|0; + $3517 = ((($3516)) + 4|0); + $3518 = HEAP32[$3517>>2]|0; + $3519 = HEAP32[$db>>2]|0; + $3520 = ((($3519)) + 16|0); + $3521 = HEAP32[$3520>>2]|0; + $3522 = (($3521) + ($3518<<4)|0); + $3523 = ((($3522)) + 12|0); + $3524 = HEAP32[$3523>>2]|0; + $3525 = ((($3524)) + 4|0); + $3526 = HEAP32[$3525>>2]|0; + HEAP32[$iGen>>2] = $3526; } else { HEAP32[$iMeta>>2] = 0; HEAP32[$iGen>>2] = 0; } - $3465 = HEAP32[$pOp>>2]|0; - $3466 = ((($3465)) + 3|0); - $3467 = HEAP8[$3466>>0]|0; - $3468 = $3467&255; - $3469 = ($3468|0)!=(0); + $3527 = HEAP32[$pOp>>2]|0; + $3528 = ((($3527)) + 3|0); + $3529 = HEAP8[$3528>>0]|0; + $3530 = $3529&255; + $3531 = ($3530|0)!=(0); do { - if ($3469) { - $3470 = HEAP32[$iMeta>>2]|0; - $3471 = HEAP32[$pOp>>2]|0; - $3472 = ((($3471)) + 12|0); - $3473 = HEAP32[$3472>>2]|0; - $3474 = ($3470|0)!=($3473|0); - if (!($3474)) { - $3475 = HEAP32[$iGen>>2]|0; - $3476 = HEAP32[$pOp>>2]|0; - $3477 = ((($3476)) + 16|0); - $3478 = HEAP32[$3477>>2]|0; - $3479 = ($3475|0)!=($3478|0); - if (!($3479)) { + if ($3531) { + $3532 = HEAP32[$iMeta>>2]|0; + $3533 = HEAP32[$pOp>>2]|0; + $3534 = ((($3533)) + 12|0); + $3535 = HEAP32[$3534>>2]|0; + $3536 = ($3532|0)!=($3535|0); + if (!($3536)) { + $3537 = HEAP32[$iGen>>2]|0; + $3538 = HEAP32[$pOp>>2]|0; + $3539 = ((($3538)) + 16|0); + $3540 = HEAP32[$3539>>2]|0; + $3541 = ($3537|0)!=($3540|0); + if (!($3541)) { break; } } - $3480 = HEAP32[$db>>2]|0; - $3481 = HEAP32[$0>>2]|0; - $3482 = ((($3481)) + 44|0); - $3483 = HEAP32[$3482>>2]|0; - _sqlite3DbFree($3480,$3483); - $3484 = HEAP32[$db>>2]|0; - $3485 = (_sqlite3DbStrDup($3484,40724)|0); - $3486 = HEAP32[$0>>2]|0; - $3487 = ((($3486)) + 44|0); - HEAP32[$3487>>2] = $3485; - $3488 = HEAP32[$pOp>>2]|0; - $3489 = ((($3488)) + 4|0); - $3490 = HEAP32[$3489>>2]|0; - $3491 = HEAP32[$db>>2]|0; - $3492 = ((($3491)) + 16|0); - $3493 = HEAP32[$3492>>2]|0; - $3494 = (($3493) + ($3490<<4)|0); - $3495 = ((($3494)) + 12|0); - $3496 = HEAP32[$3495>>2]|0; - $3497 = HEAP32[$3496>>2]|0; - $3498 = HEAP32[$iMeta>>2]|0; - $3499 = ($3497|0)!=($3498|0); - if ($3499) { - $3500 = HEAP32[$db>>2]|0; - $3501 = HEAP32[$pOp>>2]|0; - $3502 = ((($3501)) + 4|0); - $3503 = HEAP32[$3502>>2]|0; - _sqlite3ResetOneSchema($3500,$3503); + $3542 = HEAP32[$db>>2]|0; + $3543 = HEAP32[$0>>2]|0; + $3544 = ((($3543)) + 108|0); + $3545 = HEAP32[$3544>>2]|0; + _sqlite3DbFree($3542,$3545); + $3546 = HEAP32[$db>>2]|0; + $3547 = (_sqlite3DbStrDup($3546,40265)|0); + $3548 = HEAP32[$0>>2]|0; + $3549 = ((($3548)) + 108|0); + HEAP32[$3549>>2] = $3547; + $3550 = HEAP32[$pOp>>2]|0; + $3551 = ((($3550)) + 4|0); + $3552 = HEAP32[$3551>>2]|0; + $3553 = HEAP32[$db>>2]|0; + $3554 = ((($3553)) + 16|0); + $3555 = HEAP32[$3554>>2]|0; + $3556 = (($3555) + ($3552<<4)|0); + $3557 = ((($3556)) + 12|0); + $3558 = HEAP32[$3557>>2]|0; + $3559 = HEAP32[$3558>>2]|0; + $3560 = HEAP32[$iMeta>>2]|0; + $3561 = ($3559|0)!=($3560|0); + if ($3561) { + $3562 = HEAP32[$db>>2]|0; + $3563 = HEAP32[$pOp>>2]|0; + $3564 = ((($3563)) + 4|0); + $3565 = HEAP32[$3564>>2]|0; + _sqlite3ResetOneSchema($3562,$3565); } - $3504 = HEAP32[$0>>2]|0; - $3505 = ((($3504)) + 87|0); - $3506 = HEAP8[$3505>>0]|0; - $3507 = $3506 & -2; - $3508 = $3507 | 1; - HEAP8[$3505>>0] = $3508; + $3566 = HEAP32[$0>>2]|0; + $3567 = ((($3566)) + 144|0); + $3568 = HEAP16[$3567>>1]|0; + $3569 = $3568 & -2; + $3570 = $3569 | 1; + HEAP16[$3567>>1] = $3570; HEAP32[$rc>>2] = 17; } } while(0); - $3509 = HEAP32[$rc>>2]|0; - $3510 = ($3509|0)!=(0); - if ($3510) { + $3571 = HEAP32[$rc>>2]|0; + $3572 = ($3571|0)!=(0); + if ($3572) { break L1; } break; } - case 99: { - $3511 = HEAP32[$pOp>>2]|0; - $3512 = ((($3511)) + 4|0); - $3513 = HEAP32[$3512>>2]|0; - HEAP32[$iDb>>2] = $3513; - $3514 = HEAP32[$pOp>>2]|0; - $3515 = ((($3514)) + 12|0); - $3516 = HEAP32[$3515>>2]|0; - HEAP32[$iCookie>>2] = $3516; - $3517 = HEAP32[$iDb>>2]|0; - $3518 = HEAP32[$db>>2]|0; - $3519 = ((($3518)) + 16|0); - $3520 = HEAP32[$3519>>2]|0; - $3521 = (($3520) + ($3517<<4)|0); - $3522 = ((($3521)) + 4|0); - $3523 = HEAP32[$3522>>2]|0; - $3524 = HEAP32[$iCookie>>2]|0; - _sqlite3BtreeGetMeta($3523,$3524,$iMeta19); - $3525 = HEAP32[$0>>2]|0; - $3526 = HEAP32[$pOp>>2]|0; - $3527 = (_out2Prerelease($3525,$3526)|0); - HEAP32[$pOut>>2] = $3527; - $3528 = HEAP32[$iMeta19>>2]|0; - $3529 = ($3528|0)<(0); - $3530 = $3529 << 31 >> 31; - $3531 = HEAP32[$pOut>>2]|0; - $3532 = $3531; - $3533 = $3532; - HEAP32[$3533>>2] = $3528; - $3534 = (($3532) + 4)|0; - $3535 = $3534; - HEAP32[$3535>>2] = $3530; + case 101: { + $3573 = HEAP32[$pOp>>2]|0; + $3574 = ((($3573)) + 4|0); + $3575 = HEAP32[$3574>>2]|0; + HEAP32[$iDb>>2] = $3575; + $3576 = HEAP32[$pOp>>2]|0; + $3577 = ((($3576)) + 12|0); + $3578 = HEAP32[$3577>>2]|0; + HEAP32[$iCookie>>2] = $3578; + $3579 = HEAP32[$iDb>>2]|0; + $3580 = HEAP32[$db>>2]|0; + $3581 = ((($3580)) + 16|0); + $3582 = HEAP32[$3581>>2]|0; + $3583 = (($3582) + ($3579<<4)|0); + $3584 = ((($3583)) + 4|0); + $3585 = HEAP32[$3584>>2]|0; + $3586 = HEAP32[$iCookie>>2]|0; + _sqlite3BtreeGetMeta($3585,$3586,$iMeta19); + $3587 = HEAP32[$0>>2]|0; + $3588 = HEAP32[$pOp>>2]|0; + $3589 = (_out2Prerelease($3587,$3588)|0); + HEAP32[$pOut>>2] = $3589; + $3590 = HEAP32[$iMeta19>>2]|0; + $3591 = ($3590|0)<(0); + $3592 = $3591 << 31 >> 31; + $3593 = HEAP32[$pOut>>2]|0; + $3594 = $3593; + $3595 = $3594; + HEAP32[$3595>>2] = $3590; + $3596 = (($3594) + 4)|0; + $3597 = $3596; + HEAP32[$3597>>2] = $3592; break; } - case 100: { - $3536 = HEAP32[$pOp>>2]|0; - $3537 = ((($3536)) + 4|0); - $3538 = HEAP32[$3537>>2]|0; - $3539 = HEAP32[$db>>2]|0; - $3540 = ((($3539)) + 16|0); - $3541 = HEAP32[$3540>>2]|0; - $3542 = (($3541) + ($3538<<4)|0); - HEAP32[$pDb>>2] = $3542; - $3543 = HEAP32[$pDb>>2]|0; - $3544 = ((($3543)) + 4|0); - $3545 = HEAP32[$3544>>2]|0; - $3546 = HEAP32[$pOp>>2]|0; - $3547 = ((($3546)) + 8|0); - $3548 = HEAP32[$3547>>2]|0; - $3549 = HEAP32[$pOp>>2]|0; - $3550 = ((($3549)) + 12|0); - $3551 = HEAP32[$3550>>2]|0; - $3552 = (_sqlite3BtreeUpdateMeta($3545,$3548,$3551)|0); - HEAP32[$rc>>2] = $3552; - $3553 = HEAP32[$pOp>>2]|0; - $3554 = ((($3553)) + 8|0); - $3555 = HEAP32[$3554>>2]|0; - $3556 = ($3555|0)==(1); - $3557 = HEAP32[$pOp>>2]|0; - if ($3556) { - $3558 = ((($3557)) + 12|0); - $3559 = HEAP32[$3558>>2]|0; - $3560 = HEAP32[$pDb>>2]|0; - $3561 = ((($3560)) + 12|0); - $3562 = HEAP32[$3561>>2]|0; - HEAP32[$3562>>2] = $3559; - $3563 = HEAP32[$db>>2]|0; - $3564 = ((($3563)) + 24|0); - $3565 = HEAP32[$3564>>2]|0; - $3566 = $3565 | 2; - HEAP32[$3564>>2] = $3566; + case 102: { + $3598 = HEAP32[$pOp>>2]|0; + $3599 = ((($3598)) + 4|0); + $3600 = HEAP32[$3599>>2]|0; + $3601 = HEAP32[$db>>2]|0; + $3602 = ((($3601)) + 16|0); + $3603 = HEAP32[$3602>>2]|0; + $3604 = (($3603) + ($3600<<4)|0); + HEAP32[$pDb>>2] = $3604; + $3605 = HEAP32[$pDb>>2]|0; + $3606 = ((($3605)) + 4|0); + $3607 = HEAP32[$3606>>2]|0; + $3608 = HEAP32[$pOp>>2]|0; + $3609 = ((($3608)) + 8|0); + $3610 = HEAP32[$3609>>2]|0; + $3611 = HEAP32[$pOp>>2]|0; + $3612 = ((($3611)) + 12|0); + $3613 = HEAP32[$3612>>2]|0; + $3614 = (_sqlite3BtreeUpdateMeta($3607,$3610,$3613)|0); + HEAP32[$rc>>2] = $3614; + $3615 = HEAP32[$pOp>>2]|0; + $3616 = ((($3615)) + 8|0); + $3617 = HEAP32[$3616>>2]|0; + $3618 = ($3617|0)==(1); + $3619 = HEAP32[$pOp>>2]|0; + if ($3618) { + $3620 = ((($3619)) + 12|0); + $3621 = HEAP32[$3620>>2]|0; + $3622 = HEAP32[$pDb>>2]|0; + $3623 = ((($3622)) + 12|0); + $3624 = HEAP32[$3623>>2]|0; + HEAP32[$3624>>2] = $3621; + $3625 = HEAP32[$db>>2]|0; + $3626 = ((($3625)) + 24|0); + $3627 = HEAP32[$3626>>2]|0; + $3628 = $3627 | 2; + HEAP32[$3626>>2] = $3628; } else { - $3567 = ((($3557)) + 8|0); - $3568 = HEAP32[$3567>>2]|0; - $3569 = ($3568|0)==(2); - if ($3569) { - $3570 = HEAP32[$pOp>>2]|0; - $3571 = ((($3570)) + 12|0); - $3572 = HEAP32[$3571>>2]|0; - $3573 = $3572&255; - $3574 = HEAP32[$pDb>>2]|0; - $3575 = ((($3574)) + 12|0); - $3576 = HEAP32[$3575>>2]|0; - $3577 = ((($3576)) + 76|0); - HEAP8[$3577>>0] = $3573; + $3629 = ((($3619)) + 8|0); + $3630 = HEAP32[$3629>>2]|0; + $3631 = ($3630|0)==(2); + if ($3631) { + $3632 = HEAP32[$pOp>>2]|0; + $3633 = ((($3632)) + 12|0); + $3634 = HEAP32[$3633>>2]|0; + $3635 = $3634&255; + $3636 = HEAP32[$pDb>>2]|0; + $3637 = ((($3636)) + 12|0); + $3638 = HEAP32[$3637>>2]|0; + $3639 = ((($3638)) + 76|0); + HEAP8[$3639>>0] = $3635; } } - $3578 = HEAP32[$pOp>>2]|0; - $3579 = ((($3578)) + 4|0); - $3580 = HEAP32[$3579>>2]|0; - $3581 = ($3580|0)==(1); - if ($3581) { - $3582 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($3582); - $3583 = HEAP32[$0>>2]|0; - $3584 = ((($3583)) + 87|0); - $3585 = HEAP8[$3584>>0]|0; - $3586 = $3585 & -2; - HEAP8[$3584>>0] = $3586; + $3640 = HEAP32[$pOp>>2]|0; + $3641 = ((($3640)) + 4|0); + $3642 = HEAP32[$3641>>2]|0; + $3643 = ($3642|0)==(1); + if ($3643) { + $3644 = HEAP32[$db>>2]|0; + _sqlite3ExpirePreparedStatements($3644); + $3645 = HEAP32[$0>>2]|0; + $3646 = ((($3645)) + 144|0); + $3647 = HEAP16[$3646>>1]|0; + $3648 = $3647 & -2; + HEAP16[$3646>>1] = $3648; } - $3587 = HEAP32[$rc>>2]|0; - $3588 = ($3587|0)!=(0); - if ($3588) { + $3649 = HEAP32[$rc>>2]|0; + $3650 = ($3649|0)!=(0); + if ($3650) { break L1; } break; } - case 101: { - $3589 = HEAP32[$pOp>>2]|0; - $3590 = ((($3589)) + 4|0); - $3591 = HEAP32[$3590>>2]|0; - $3592 = HEAP32[$0>>2]|0; - $3593 = ((($3592)) + 56|0); - $3594 = HEAP32[$3593>>2]|0; - $3595 = (($3594) + ($3591<<2)|0); - $3596 = HEAP32[$3595>>2]|0; - HEAP32[$pCur>>2] = $3596; - $3597 = HEAP32[$pCur>>2]|0; - $3598 = ($3597|0)!=(0|0); - if ($3598) { - $3599 = HEAP32[$pCur>>2]|0; - $3600 = ((($3599)) + 8|0); - $3601 = HEAP32[$3600>>2]|0; - $3602 = HEAP32[$pOp>>2]|0; - $3603 = ((($3602)) + 8|0); - $3604 = HEAP32[$3603>>2]|0; - $3605 = ($3601|0)==($3604|0); - if ($3605) { - label = 452; + case 103: { + $3651 = HEAP32[$pOp>>2]|0; + $3652 = ((($3651)) + 4|0); + $3653 = HEAP32[$3652>>2]|0; + $3654 = HEAP32[$0>>2]|0; + $3655 = ((($3654)) + 112|0); + $3656 = HEAP32[$3655>>2]|0; + $3657 = (($3656) + ($3653<<2)|0); + $3658 = HEAP32[$3657>>2]|0; + HEAP32[$pCur>>2] = $3658; + $3659 = HEAP32[$pCur>>2]|0; + $3660 = ($3659|0)!=(0|0); + if ($3660) { + $3661 = HEAP32[$pCur>>2]|0; + $3662 = ((($3661)) + 8|0); + $3663 = HEAP32[$3662>>2]|0; + $3664 = HEAP32[$pOp>>2]|0; + $3665 = ((($3664)) + 8|0); + $3666 = HEAP32[$3665>>2]|0; + $3667 = ($3663|0)==($3666|0); + if ($3667) { + label = 458; } else { - label = 438; + label = 444; } } else { - label = 438; + label = 444; } break; } - case 103: case 102: { - label = 438; + case 105: case 104: { + label = 444; break; } - case 105: case 104: { - $3744 = HEAP32[$0>>2]|0; - $3745 = HEAP32[$pOp>>2]|0; - $3746 = ((($3745)) + 4|0); - $3747 = HEAP32[$3746>>2]|0; - $3748 = HEAP32[$pOp>>2]|0; - $3749 = ((($3748)) + 8|0); - $3750 = HEAP32[$3749>>2]|0; - $3751 = (_allocateCursor($3744,$3747,$3750,-1,0)|0); - HEAP32[$pCx>>2] = $3751; - $3752 = HEAP32[$pCx>>2]|0; - $3753 = ($3752|0)==(0|0); - if ($3753) { - label = 881; + case 107: case 106: { + $3806 = HEAP32[$0>>2]|0; + $3807 = HEAP32[$pOp>>2]|0; + $3808 = ((($3807)) + 4|0); + $3809 = HEAP32[$3808>>2]|0; + $3810 = HEAP32[$pOp>>2]|0; + $3811 = ((($3810)) + 8|0); + $3812 = HEAP32[$3811>>2]|0; + $3813 = (_allocateCursor($3806,$3809,$3812,-1,0)|0); + HEAP32[$pCx>>2] = $3813; + $3814 = HEAP32[$pCx>>2]|0; + $3815 = ($3814|0)==(0|0); + if ($3815) { + label = 889; break L1; } - $3754 = HEAP32[$pCx>>2]|0; - $3755 = ((($3754)) + 2|0); - HEAP8[$3755>>0] = 1; - $3756 = HEAP32[$pCx>>2]|0; - $3757 = ((($3756)) + 5|0); - $3758 = HEAP8[$3757>>0]|0; - $3759 = $3758 & -2; - $3760 = $3759 | 1; - HEAP8[$3757>>0] = $3760; - $3761 = HEAP32[$db>>2]|0; - $3762 = HEAP32[$3761>>2]|0; - $3763 = HEAP32[$db>>2]|0; - $3764 = HEAP32[$pCx>>2]|0; - $3765 = ((($3764)) + 20|0); - $3766 = HEAP32[$pOp>>2]|0; - $3767 = ((($3766)) + 3|0); - $3768 = HEAP8[$3767>>0]|0; - $3769 = $3768&255; - $3770 = 5 | $3769; - $3771 = (_sqlite3BtreeOpen($3762,0,$3763,$3765,$3770,1054)|0); - HEAP32[$rc>>2] = $3771; - $3772 = HEAP32[$rc>>2]|0; - $3773 = ($3772|0)==(0); - if ($3773) { - $3774 = HEAP32[$pCx>>2]|0; - $3775 = ((($3774)) + 20|0); - $3776 = HEAP32[$3775>>2]|0; - $3777 = (_sqlite3BtreeBeginTrans($3776,1)|0); - HEAP32[$rc>>2] = $3777; + $3816 = HEAP32[$pCx>>2]|0; + $3817 = ((($3816)) + 2|0); + HEAP8[$3817>>0] = 1; + $3818 = HEAP32[$pCx>>2]|0; + $3819 = ((($3818)) + 5|0); + $3820 = HEAP8[$3819>>0]|0; + $3821 = $3820 & -2; + $3822 = $3821 | 1; + HEAP8[$3819>>0] = $3822; + $3823 = HEAP32[$db>>2]|0; + $3824 = HEAP32[$3823>>2]|0; + $3825 = HEAP32[$db>>2]|0; + $3826 = HEAP32[$pCx>>2]|0; + $3827 = ((($3826)) + 20|0); + $3828 = HEAP32[$pOp>>2]|0; + $3829 = ((($3828)) + 3|0); + $3830 = HEAP8[$3829>>0]|0; + $3831 = $3830&255; + $3832 = 5 | $3831; + $3833 = (_sqlite3BtreeOpen($3824,0,$3825,$3827,$3832,1054)|0); + HEAP32[$rc>>2] = $3833; + $3834 = HEAP32[$rc>>2]|0; + $3835 = ($3834|0)==(0); + if ($3835) { + $3836 = HEAP32[$pCx>>2]|0; + $3837 = ((($3836)) + 20|0); + $3838 = HEAP32[$3837>>2]|0; + $3839 = (_sqlite3BtreeBeginTrans($3838,1)|0); + HEAP32[$rc>>2] = $3839; } - $3778 = HEAP32[$rc>>2]|0; - $3779 = ($3778|0)==(0); + $3840 = HEAP32[$rc>>2]|0; + $3841 = ($3840|0)==(0); do { - if ($3779) { - $3780 = HEAP32[$pOp>>2]|0; - $3781 = ((($3780)) + 16|0); - $3782 = HEAP32[$3781>>2]|0; - HEAP32[$pKeyInfo25>>2] = $3782; - $3783 = ($3782|0)!=(0|0); - $3784 = HEAP32[$pCx>>2]|0; - $3785 = ((($3784)) + 20|0); - $3786 = HEAP32[$3785>>2]|0; - if (!($3783)) { - $3809 = HEAP32[$pCx>>2]|0; - $3810 = ((($3809)) + 16|0); - $3811 = HEAP32[$3810>>2]|0; - $3812 = (_sqlite3BtreeCursor($3786,1,4,0,$3811)|0); - HEAP32[$rc>>2] = $3812; - $3813 = HEAP32[$pCx>>2]|0; - $3814 = ((($3813)) + 4|0); - HEAP8[$3814>>0] = 1; + if ($3841) { + $3842 = HEAP32[$pOp>>2]|0; + $3843 = ((($3842)) + 16|0); + $3844 = HEAP32[$3843>>2]|0; + HEAP32[$pKeyInfo25>>2] = $3844; + $3845 = ($3844|0)!=(0|0); + $3846 = HEAP32[$pCx>>2]|0; + $3847 = ((($3846)) + 20|0); + $3848 = HEAP32[$3847>>2]|0; + if (!($3845)) { + $3871 = HEAP32[$pCx>>2]|0; + $3872 = ((($3871)) + 16|0); + $3873 = HEAP32[$3872>>2]|0; + $3874 = (_sqlite3BtreeCursor($3848,1,4,0,$3873)|0); + HEAP32[$rc>>2] = $3874; + $3875 = HEAP32[$pCx>>2]|0; + $3876 = ((($3875)) + 4|0); + HEAP8[$3876>>0] = 1; break; } - $3787 = HEAP32[$pOp>>2]|0; - $3788 = ((($3787)) + 3|0); - $3789 = HEAP8[$3788>>0]|0; - $3790 = $3789&255; - $3791 = 2 | $3790; - $3792 = (_sqlite3BtreeCreateTable($3786,$pgno,$3791)|0); - HEAP32[$rc>>2] = $3792; - $3793 = HEAP32[$rc>>2]|0; - $3794 = ($3793|0)==(0); - if ($3794) { - $3795 = HEAP32[$pKeyInfo25>>2]|0; - $3796 = HEAP32[$pCx>>2]|0; - $3797 = ((($3796)) + 24|0); - HEAP32[$3797>>2] = $3795; - $3798 = HEAP32[$pCx>>2]|0; - $3799 = ((($3798)) + 20|0); - $3800 = HEAP32[$3799>>2]|0; - $3801 = HEAP32[$pgno>>2]|0; - $3802 = HEAP32[$pKeyInfo25>>2]|0; - $3803 = HEAP32[$pCx>>2]|0; - $3804 = ((($3803)) + 16|0); - $3805 = HEAP32[$3804>>2]|0; - $3806 = (_sqlite3BtreeCursor($3800,$3801,4,$3802,$3805)|0); - HEAP32[$rc>>2] = $3806; + $3849 = HEAP32[$pOp>>2]|0; + $3850 = ((($3849)) + 3|0); + $3851 = HEAP8[$3850>>0]|0; + $3852 = $3851&255; + $3853 = 2 | $3852; + $3854 = (_sqlite3BtreeCreateTable($3848,$pgno,$3853)|0); + HEAP32[$rc>>2] = $3854; + $3855 = HEAP32[$rc>>2]|0; + $3856 = ($3855|0)==(0); + if ($3856) { + $3857 = HEAP32[$pKeyInfo25>>2]|0; + $3858 = HEAP32[$pCx>>2]|0; + $3859 = ((($3858)) + 24|0); + HEAP32[$3859>>2] = $3857; + $3860 = HEAP32[$pCx>>2]|0; + $3861 = ((($3860)) + 20|0); + $3862 = HEAP32[$3861>>2]|0; + $3863 = HEAP32[$pgno>>2]|0; + $3864 = HEAP32[$pKeyInfo25>>2]|0; + $3865 = HEAP32[$pCx>>2]|0; + $3866 = ((($3865)) + 16|0); + $3867 = HEAP32[$3866>>2]|0; + $3868 = (_sqlite3BtreeCursor($3862,$3863,4,$3864,$3867)|0); + HEAP32[$rc>>2] = $3868; } - $3807 = HEAP32[$pCx>>2]|0; - $3808 = ((($3807)) + 4|0); - HEAP8[$3808>>0] = 0; + $3869 = HEAP32[$pCx>>2]|0; + $3870 = ((($3869)) + 4|0); + HEAP8[$3870>>0] = 0; } } while(0); - $3815 = HEAP32[$rc>>2]|0; - $3816 = ($3815|0)!=(0); - if ($3816) { + $3877 = HEAP32[$rc>>2]|0; + $3878 = ($3877|0)!=(0); + if ($3878) { break L1; } - $3817 = HEAP32[$pOp>>2]|0; - $3818 = ((($3817)) + 3|0); - $3819 = HEAP8[$3818>>0]|0; - $3820 = $3819&255; - $3821 = ($3820|0)!=(8); - $3822 = $3821&1; - $3823 = HEAP32[$pCx>>2]|0; - $3824 = ((($3823)) + 5|0); - $3825 = $3822&255; - $3826 = HEAP8[$3824>>0]|0; - $3827 = $3825 & 1; - $3828 = ($3827 << 2)&255; - $3829 = $3826 & -5; - $3830 = $3829 | $3828; - HEAP8[$3824>>0] = $3830; + $3879 = HEAP32[$pOp>>2]|0; + $3880 = ((($3879)) + 3|0); + $3881 = HEAP8[$3880>>0]|0; + $3882 = $3881&255; + $3883 = ($3882|0)!=(8); + $3884 = $3883&1; + $3885 = HEAP32[$pCx>>2]|0; + $3886 = ((($3885)) + 5|0); + $3887 = $3884&255; + $3888 = HEAP8[$3886>>0]|0; + $3889 = $3887 & 1; + $3890 = ($3889 << 2)&255; + $3891 = $3888 & -5; + $3892 = $3891 | $3890; + HEAP8[$3886>>0] = $3892; break; } - case 106: { - $3831 = HEAP32[$0>>2]|0; - $3832 = HEAP32[$pOp>>2]|0; - $3833 = ((($3832)) + 4|0); - $3834 = HEAP32[$3833>>2]|0; - $3835 = HEAP32[$pOp>>2]|0; - $3836 = ((($3835)) + 8|0); - $3837 = HEAP32[$3836>>2]|0; - $3838 = (_allocateCursor($3831,$3834,$3837,-1,1)|0); - HEAP32[$pCx26>>2] = $3838; - $3839 = HEAP32[$pCx26>>2]|0; - $3840 = ($3839|0)==(0|0); - if ($3840) { - label = 881; + case 108: { + $3893 = HEAP32[$0>>2]|0; + $3894 = HEAP32[$pOp>>2]|0; + $3895 = ((($3894)) + 4|0); + $3896 = HEAP32[$3895>>2]|0; + $3897 = HEAP32[$pOp>>2]|0; + $3898 = ((($3897)) + 8|0); + $3899 = HEAP32[$3898>>2]|0; + $3900 = (_allocateCursor($3893,$3896,$3899,-1,1)|0); + HEAP32[$pCx26>>2] = $3900; + $3901 = HEAP32[$pCx26>>2]|0; + $3902 = ($3901|0)==(0|0); + if ($3902) { + label = 889; break L1; } - $3841 = HEAP32[$pOp>>2]|0; - $3842 = ((($3841)) + 16|0); - $3843 = HEAP32[$3842>>2]|0; - $3844 = HEAP32[$pCx26>>2]|0; - $3845 = ((($3844)) + 24|0); - HEAP32[$3845>>2] = $3843; - $3846 = HEAP32[$db>>2]|0; - $3847 = HEAP32[$pOp>>2]|0; - $3848 = ((($3847)) + 12|0); - $3849 = HEAP32[$3848>>2]|0; - $3850 = HEAP32[$pCx26>>2]|0; - $3851 = (_sqlite3VdbeSorterInit($3846,$3849,$3850)|0); - HEAP32[$rc>>2] = $3851; - $3852 = HEAP32[$rc>>2]|0; - $3853 = ($3852|0)!=(0); - if ($3853) { + $3903 = HEAP32[$pOp>>2]|0; + $3904 = ((($3903)) + 16|0); + $3905 = HEAP32[$3904>>2]|0; + $3906 = HEAP32[$pCx26>>2]|0; + $3907 = ((($3906)) + 24|0); + HEAP32[$3907>>2] = $3905; + $3908 = HEAP32[$db>>2]|0; + $3909 = HEAP32[$pOp>>2]|0; + $3910 = ((($3909)) + 12|0); + $3911 = HEAP32[$3910>>2]|0; + $3912 = HEAP32[$pCx26>>2]|0; + $3913 = (_sqlite3VdbeSorterInit($3908,$3911,$3912)|0); + HEAP32[$rc>>2] = $3913; + $3914 = HEAP32[$rc>>2]|0; + $3915 = ($3914|0)!=(0); + if ($3915) { break L1; } break; } - case 107: { - $3854 = HEAP32[$pOp>>2]|0; - $3855 = ((($3854)) + 4|0); - $3856 = HEAP32[$3855>>2]|0; - $3857 = HEAP32[$0>>2]|0; - $3858 = ((($3857)) + 56|0); - $3859 = HEAP32[$3858>>2]|0; - $3860 = (($3859) + ($3856<<2)|0); - $3861 = HEAP32[$3860>>2]|0; - HEAP32[$pC27>>2] = $3861; - $3862 = HEAP32[$pC27>>2]|0; - $3863 = ((($3862)) + 32|0); - $3864 = $3863; - $3865 = $3864; - $3866 = HEAP32[$3865>>2]|0; - $3867 = (($3864) + 4)|0; - $3868 = $3867; - $3869 = HEAP32[$3868>>2]|0; - $3870 = (_i64Add(($3866|0),($3869|0),1,0)|0); - $3871 = tempRet0; - $3872 = $3863; - $3873 = $3872; - HEAP32[$3873>>2] = $3870; - $3874 = (($3872) + 4)|0; - $3875 = $3874; - HEAP32[$3875>>2] = $3871; - $3876 = ($3866|0)==(0); - $3877 = ($3869|0)==(0); - $3878 = $3876 & $3877; - if ($3878) { + case 109: { + $3916 = HEAP32[$pOp>>2]|0; + $3917 = ((($3916)) + 4|0); + $3918 = HEAP32[$3917>>2]|0; + $3919 = HEAP32[$0>>2]|0; + $3920 = ((($3919)) + 112|0); + $3921 = HEAP32[$3920>>2]|0; + $3922 = (($3921) + ($3918<<2)|0); + $3923 = HEAP32[$3922>>2]|0; + HEAP32[$pC27>>2] = $3923; + $3924 = HEAP32[$pC27>>2]|0; + $3925 = ((($3924)) + 32|0); + $3926 = $3925; + $3927 = $3926; + $3928 = HEAP32[$3927>>2]|0; + $3929 = (($3926) + 4)|0; + $3930 = $3929; + $3931 = HEAP32[$3930>>2]|0; + $3932 = (_i64Add(($3928|0),($3931|0),1,0)|0); + $3933 = tempRet0; + $3934 = $3925; + $3935 = $3934; + HEAP32[$3935>>2] = $3932; + $3936 = (($3934) + 4)|0; + $3937 = $3936; + HEAP32[$3937>>2] = $3933; + $3938 = ($3928|0)==(0); + $3939 = ($3931|0)==(0); + $3940 = $3938 & $3939; + if ($3940) { label = 14; } break; } - case 108: { - $3879 = HEAP32[$0>>2]|0; - $3880 = HEAP32[$pOp>>2]|0; - $3881 = ((($3880)) + 4|0); - $3882 = HEAP32[$3881>>2]|0; - $3883 = HEAP32[$pOp>>2]|0; - $3884 = ((($3883)) + 12|0); - $3885 = HEAP32[$3884>>2]|0; - $3886 = (_allocateCursor($3879,$3882,$3885,-1,3)|0); - HEAP32[$pCx28>>2] = $3886; - $3887 = HEAP32[$pCx28>>2]|0; - $3888 = ($3887|0)==(0|0); - if ($3888) { - label = 881; + case 110: { + $3941 = HEAP32[$0>>2]|0; + $3942 = HEAP32[$pOp>>2]|0; + $3943 = ((($3942)) + 4|0); + $3944 = HEAP32[$3943>>2]|0; + $3945 = HEAP32[$pOp>>2]|0; + $3946 = ((($3945)) + 12|0); + $3947 = HEAP32[$3946>>2]|0; + $3948 = (_allocateCursor($3941,$3944,$3947,-1,3)|0); + HEAP32[$pCx28>>2] = $3948; + $3949 = HEAP32[$pCx28>>2]|0; + $3950 = ($3949|0)==(0|0); + if ($3950) { + label = 889; break L1; } - $3889 = HEAP32[$pCx28>>2]|0; - $3890 = ((($3889)) + 2|0); - HEAP8[$3890>>0] = 1; - $3891 = HEAP32[$pOp>>2]|0; - $3892 = ((($3891)) + 8|0); - $3893 = HEAP32[$3892>>2]|0; - $3894 = HEAP32[$pCx28>>2]|0; - $3895 = ((($3894)) + 16|0); - HEAP32[$3895>>2] = $3893; - $3896 = HEAP32[$pCx28>>2]|0; - $3897 = ((($3896)) + 4|0); - HEAP8[$3897>>0] = 1; + $3951 = HEAP32[$pCx28>>2]|0; + $3952 = ((($3951)) + 2|0); + HEAP8[$3952>>0] = 1; + $3953 = HEAP32[$pOp>>2]|0; + $3954 = ((($3953)) + 8|0); + $3955 = HEAP32[$3954>>2]|0; + $3956 = HEAP32[$pCx28>>2]|0; + $3957 = ((($3956)) + 16|0); + HEAP32[$3957>>2] = $3955; + $3958 = HEAP32[$pCx28>>2]|0; + $3959 = ((($3958)) + 4|0); + HEAP8[$3959>>0] = 1; break; } - case 109: { - $3898 = HEAP32[$0>>2]|0; - $3899 = HEAP32[$pOp>>2]|0; - $3900 = ((($3899)) + 4|0); - $3901 = HEAP32[$3900>>2]|0; - $3902 = HEAP32[$0>>2]|0; - $3903 = ((($3902)) + 56|0); - $3904 = HEAP32[$3903>>2]|0; - $3905 = (($3904) + ($3901<<2)|0); - $3906 = HEAP32[$3905>>2]|0; - _sqlite3VdbeFreeCursor($3898,$3906); - $3907 = HEAP32[$pOp>>2]|0; - $3908 = ((($3907)) + 4|0); - $3909 = HEAP32[$3908>>2]|0; - $3910 = HEAP32[$0>>2]|0; - $3911 = ((($3910)) + 56|0); - $3912 = HEAP32[$3911>>2]|0; - $3913 = (($3912) + ($3909<<2)|0); - HEAP32[$3913>>2] = 0; + case 111: { + $3960 = HEAP32[$0>>2]|0; + $3961 = HEAP32[$pOp>>2]|0; + $3962 = ((($3961)) + 4|0); + $3963 = HEAP32[$3962>>2]|0; + $3964 = HEAP32[$0>>2]|0; + $3965 = ((($3964)) + 112|0); + $3966 = HEAP32[$3965>>2]|0; + $3967 = (($3966) + ($3963<<2)|0); + $3968 = HEAP32[$3967>>2]|0; + _sqlite3VdbeFreeCursor($3960,$3968); + $3969 = HEAP32[$pOp>>2]|0; + $3970 = ((($3969)) + 4|0); + $3971 = HEAP32[$3970>>2]|0; + $3972 = HEAP32[$0>>2]|0; + $3973 = ((($3972)) + 112|0); + $3974 = HEAP32[$3973>>2]|0; + $3975 = (($3974) + ($3971<<2)|0); + HEAP32[$3975>>2] = 0; break; } case 26: case 25: case 24: case 23: { - $3914 = HEAP32[$pOp>>2]|0; - $3915 = ((($3914)) + 4|0); - $3916 = HEAP32[$3915>>2]|0; - $3917 = HEAP32[$0>>2]|0; - $3918 = ((($3917)) + 56|0); - $3919 = HEAP32[$3918>>2]|0; - $3920 = (($3919) + ($3916<<2)|0); - $3921 = HEAP32[$3920>>2]|0; - HEAP32[$pC30>>2] = $3921; - $3922 = HEAP32[$pOp>>2]|0; - $3923 = HEAP8[$3922>>0]|0; - $3924 = $3923&255; - HEAP32[$oc>>2] = $3924; + $3976 = HEAP32[$pOp>>2]|0; + $3977 = ((($3976)) + 4|0); + $3978 = HEAP32[$3977>>2]|0; + $3979 = HEAP32[$0>>2]|0; + $3980 = ((($3979)) + 112|0); + $3981 = HEAP32[$3980>>2]|0; + $3982 = (($3981) + ($3978<<2)|0); + $3983 = HEAP32[$3982>>2]|0; + HEAP32[$pC30>>2] = $3983; + $3984 = HEAP32[$pOp>>2]|0; + $3985 = HEAP8[$3984>>0]|0; + $3986 = $3985&255; + HEAP32[$oc>>2] = $3986; HEAP32[$eqOnly>>2] = 0; - $3925 = HEAP32[$pC30>>2]|0; - $3926 = ((($3925)) + 2|0); - HEAP8[$3926>>0] = 0; - $3927 = HEAP32[$pC30>>2]|0; - $3928 = ((($3927)) + 4|0); - $3929 = HEAP8[$3928>>0]|0; - $3930 = ($3929<<24>>24)!=(0); - if ($3930) { - $3931 = HEAP32[$pOp>>2]|0; - $3932 = ((($3931)) + 12|0); - $3933 = HEAP32[$3932>>2]|0; - $3934 = HEAP32[$aMem>>2]|0; - $3935 = (($3934) + (($3933*40)|0)|0); - HEAP32[$pIn3>>2] = $3935; - $3936 = HEAP32[$pIn3>>2]|0; - $3937 = ((($3936)) + 8|0); - $3938 = HEAP16[$3937>>1]|0; - $3939 = $3938&65535; - $3940 = $3939 & 14; - $3941 = ($3940|0)==(2); - if ($3941) { - $3942 = HEAP32[$pIn3>>2]|0; - _applyNumericAffinity($3942,0); + $3987 = HEAP32[$pC30>>2]|0; + $3988 = ((($3987)) + 2|0); + HEAP8[$3988>>0] = 0; + $3989 = HEAP32[$pC30>>2]|0; + $3990 = ((($3989)) + 4|0); + $3991 = HEAP8[$3990>>0]|0; + $3992 = ($3991<<24>>24)!=(0); + if ($3992) { + $3993 = HEAP32[$pOp>>2]|0; + $3994 = ((($3993)) + 12|0); + $3995 = HEAP32[$3994>>2]|0; + $3996 = HEAP32[$aMem>>2]|0; + $3997 = (($3996) + (($3995*40)|0)|0); + HEAP32[$pIn3>>2] = $3997; + $3998 = HEAP32[$pIn3>>2]|0; + $3999 = ((($3998)) + 8|0); + $4000 = HEAP16[$3999>>1]|0; + $4001 = $4000&65535; + $4002 = $4001 & 14; + $4003 = ($4002|0)==(2); + if ($4003) { + $4004 = HEAP32[$pIn3>>2]|0; + _applyNumericAffinity($4004,0); } - $3943 = HEAP32[$pIn3>>2]|0; - $3944 = (_sqlite3VdbeIntValue($3943)|0); - $3945 = tempRet0; - $3946 = $iKey; - $3947 = $3946; - HEAP32[$3947>>2] = $3944; - $3948 = (($3946) + 4)|0; - $3949 = $3948; - HEAP32[$3949>>2] = $3945; - $3950 = HEAP32[$pIn3>>2]|0; - $3951 = ((($3950)) + 8|0); - $3952 = HEAP16[$3951>>1]|0; - $3953 = $3952&65535; - $3954 = $3953 & 4; - $3955 = ($3954|0)==(0); + $4005 = HEAP32[$pIn3>>2]|0; + $4006 = (_sqlite3VdbeIntValue($4005)|0); + $4007 = tempRet0; + $4008 = $iKey; + $4009 = $4008; + HEAP32[$4009>>2] = $4006; + $4010 = (($4008) + 4)|0; + $4011 = $4010; + HEAP32[$4011>>2] = $4007; + $4012 = HEAP32[$pIn3>>2]|0; + $4013 = ((($4012)) + 8|0); + $4014 = HEAP16[$4013>>1]|0; + $4015 = $4014&65535; + $4016 = $4015 & 4; + $4017 = ($4016|0)==(0); do { - if ($3955) { - $3956 = HEAP32[$pIn3>>2]|0; - $3957 = ((($3956)) + 8|0); - $3958 = HEAP16[$3957>>1]|0; - $3959 = $3958&65535; - $3960 = $3959 & 8; - $3961 = ($3960|0)==(0); - if ($3961) { + if ($4017) { + $4018 = HEAP32[$pIn3>>2]|0; + $4019 = ((($4018)) + 8|0); + $4020 = HEAP16[$4019>>1]|0; + $4021 = $4020&65535; + $4022 = $4021 & 8; + $4023 = ($4022|0)==(0); + if ($4023) { label = 14; break L10; } - $3962 = HEAP32[$pIn3>>2]|0; - $3963 = +HEAPF64[$3962>>3]; - $3964 = $iKey; - $3965 = $3964; - $3966 = HEAP32[$3965>>2]|0; - $3967 = (($3964) + 4)|0; - $3968 = $3967; - $3969 = HEAP32[$3968>>2]|0; - $3970 = (+($3966>>>0)) + (4294967296.0*(+($3969|0))); - $3971 = $3963 < $3970; - if ($3971) { - $3972 = HEAP32[$oc>>2]|0; - $3973 = $3972 & 1; - $3974 = ($3973|0)==(0); - if (!($3974)) { + $4024 = HEAP32[$pIn3>>2]|0; + $4025 = +HEAPF64[$4024>>3]; + $4026 = $iKey; + $4027 = $4026; + $4028 = HEAP32[$4027>>2]|0; + $4029 = (($4026) + 4)|0; + $4030 = $4029; + $4031 = HEAP32[$4030>>2]|0; + $4032 = (+($4028>>>0)) + (4294967296.0*(+($4031|0))); + $4033 = $4025 < $4032; + if ($4033) { + $4034 = HEAP32[$oc>>2]|0; + $4035 = $4034 & 1; + $4036 = ($4035|0)==(0); + if (!($4036)) { break; } - $3975 = HEAP32[$oc>>2]|0; - $3976 = (($3975) + -1)|0; - HEAP32[$oc>>2] = $3976; + $4037 = HEAP32[$oc>>2]|0; + $4038 = (($4037) + -1)|0; + HEAP32[$oc>>2] = $4038; break; } - $3977 = HEAP32[$pIn3>>2]|0; - $3978 = +HEAPF64[$3977>>3]; - $3979 = $iKey; - $3980 = $3979; - $3981 = HEAP32[$3980>>2]|0; - $3982 = (($3979) + 4)|0; - $3983 = $3982; - $3984 = HEAP32[$3983>>2]|0; - $3985 = (+($3981>>>0)) + (4294967296.0*(+($3984|0))); - $3986 = $3978 > $3985; - if ($3986) { - $3987 = HEAP32[$oc>>2]|0; - $3988 = $3987 & 1; - $3989 = ($3988|0)==(1); - if ($3989) { - $3990 = HEAP32[$oc>>2]|0; - $3991 = (($3990) + 1)|0; - HEAP32[$oc>>2] = $3991; + $4039 = HEAP32[$pIn3>>2]|0; + $4040 = +HEAPF64[$4039>>3]; + $4041 = $iKey; + $4042 = $4041; + $4043 = HEAP32[$4042>>2]|0; + $4044 = (($4041) + 4)|0; + $4045 = $4044; + $4046 = HEAP32[$4045>>2]|0; + $4047 = (+($4043>>>0)) + (4294967296.0*(+($4046|0))); + $4048 = $4040 > $4047; + if ($4048) { + $4049 = HEAP32[$oc>>2]|0; + $4050 = $4049 & 1; + $4051 = ($4050|0)==(1); + if ($4051) { + $4052 = HEAP32[$oc>>2]|0; + $4053 = (($4052) + 1)|0; + HEAP32[$oc>>2] = $4053; } } } } while(0); - $3992 = HEAP32[$pC30>>2]|0; - $3993 = ((($3992)) + 16|0); - $3994 = HEAP32[$3993>>2]|0; - $3995 = $iKey; - $3996 = $3995; - $3997 = HEAP32[$3996>>2]|0; - $3998 = (($3995) + 4)|0; - $3999 = $3998; - $4000 = HEAP32[$3999>>2]|0; - $4001 = (_sqlite3BtreeMovetoUnpacked($3994,0,$3997,$4000,0,$res29)|0); - HEAP32[$rc>>2] = $4001; - $4002 = $iKey; - $4003 = $4002; - $4004 = HEAP32[$4003>>2]|0; - $4005 = (($4002) + 4)|0; - $4006 = $4005; - $4007 = HEAP32[$4006>>2]|0; - $4008 = HEAP32[$pC30>>2]|0; - $4009 = ((($4008)) + 40|0); - $4010 = $4009; - $4011 = $4010; - HEAP32[$4011>>2] = $4004; - $4012 = (($4010) + 4)|0; - $4013 = $4012; - HEAP32[$4013>>2] = $4007; - $4014 = HEAP32[$rc>>2]|0; - $4015 = ($4014|0)!=(0); - if ($4015) { + $4054 = HEAP32[$pC30>>2]|0; + $4055 = ((($4054)) + 16|0); + $4056 = HEAP32[$4055>>2]|0; + $4057 = $iKey; + $4058 = $4057; + $4059 = HEAP32[$4058>>2]|0; + $4060 = (($4057) + 4)|0; + $4061 = $4060; + $4062 = HEAP32[$4061>>2]|0; + $4063 = (_sqlite3BtreeMovetoUnpacked($4056,0,$4059,$4062,0,$res29)|0); + HEAP32[$rc>>2] = $4063; + $4064 = $iKey; + $4065 = $4064; + $4066 = HEAP32[$4065>>2]|0; + $4067 = (($4064) + 4)|0; + $4068 = $4067; + $4069 = HEAP32[$4068>>2]|0; + $4070 = HEAP32[$pC30>>2]|0; + $4071 = ((($4070)) + 40|0); + $4072 = $4071; + $4073 = $4072; + HEAP32[$4073>>2] = $4066; + $4074 = (($4072) + 4)|0; + $4075 = $4074; + HEAP32[$4075>>2] = $4069; + $4076 = HEAP32[$rc>>2]|0; + $4077 = ($4076|0)!=(0); + if ($4077) { break L1; } else { - label = 489; + label = 493; } } else { - $4016 = HEAP32[$pC30>>2]|0; - $4017 = ((($4016)) + 16|0); - $4018 = HEAP32[$4017>>2]|0; - $4019 = (_sqlite3BtreeCursorHasHint($4018,2)|0); - $4020 = ($4019|0)!=(0); - if ($4020) { + $4078 = HEAP32[$pC30>>2]|0; + $4079 = ((($4078)) + 16|0); + $4080 = HEAP32[$4079>>2]|0; + $4081 = (_sqlite3BtreeCursorHasHint($4080,2)|0); + $4082 = ($4081|0)!=(0); + if ($4082) { HEAP32[$eqOnly>>2] = 1; } - $4021 = HEAP32[$pOp>>2]|0; - $4022 = ((($4021)) + 16|0); - $4023 = HEAP32[$4022>>2]|0; - HEAP32[$nField31>>2] = $4023; - $4024 = HEAP32[$pC30>>2]|0; - $4025 = ((($4024)) + 24|0); - $4026 = HEAP32[$4025>>2]|0; - HEAP32[$r>>2] = $4026; - $4027 = HEAP32[$nField31>>2]|0; - $4028 = $4027&65535; - $4029 = ((($r)) + 8|0); - HEAP16[$4029>>1] = $4028; - $4030 = HEAP32[$oc>>2]|0; - $4031 = (($4030) - 23)|0; - $4032 = 1 & $4031; - $4033 = ($4032|0)!=(0); - $4034 = $4033 ? -1 : 1; - $4035 = $4034&255; - $4036 = ((($r)) + 10|0); - HEAP8[$4036>>0] = $4035; - $4037 = HEAP32[$pOp>>2]|0; - $4038 = ((($4037)) + 12|0); - $4039 = HEAP32[$4038>>2]|0; - $4040 = HEAP32[$aMem>>2]|0; - $4041 = (($4040) + (($4039*40)|0)|0); - $4042 = ((($r)) + 4|0); - HEAP32[$4042>>2] = $4041; - $4043 = ((($r)) + 4|0); - $4044 = HEAP32[$4043>>2]|0; - $4045 = ((($4044)) + 8|0); - $4046 = HEAP16[$4045>>1]|0; - $4047 = $4046&65535; - $4048 = $4047 & 16384; - $4049 = ($4048|0)!=(0); - if ($4049) { - $4050 = ((($r)) + 4|0); - $4051 = HEAP32[$4050>>2]|0; - (_sqlite3VdbeMemExpandBlob($4051)|0); - } - $4052 = ((($r)) + 14|0); - HEAP8[$4052>>0] = 0; - $4053 = HEAP32[$pC30>>2]|0; - $4054 = ((($4053)) + 16|0); - $4055 = HEAP32[$4054>>2]|0; - $4056 = (_sqlite3BtreeMovetoUnpacked($4055,$r,0,0,0,$res29)|0); - HEAP32[$rc>>2] = $4056; - $4057 = HEAP32[$rc>>2]|0; - $4058 = ($4057|0)!=(0); - if ($4058) { + $4083 = HEAP32[$pOp>>2]|0; + $4084 = ((($4083)) + 16|0); + $4085 = HEAP32[$4084>>2]|0; + HEAP32[$nField31>>2] = $4085; + $4086 = HEAP32[$pC30>>2]|0; + $4087 = ((($4086)) + 24|0); + $4088 = HEAP32[$4087>>2]|0; + HEAP32[$r>>2] = $4088; + $4089 = HEAP32[$nField31>>2]|0; + $4090 = $4089&65535; + $4091 = ((($r)) + 8|0); + HEAP16[$4091>>1] = $4090; + $4092 = HEAP32[$oc>>2]|0; + $4093 = (($4092) - 23)|0; + $4094 = 1 & $4093; + $4095 = ($4094|0)!=(0); + $4096 = $4095 ? -1 : 1; + $4097 = $4096&255; + $4098 = ((($r)) + 10|0); + HEAP8[$4098>>0] = $4097; + $4099 = HEAP32[$pOp>>2]|0; + $4100 = ((($4099)) + 12|0); + $4101 = HEAP32[$4100>>2]|0; + $4102 = HEAP32[$aMem>>2]|0; + $4103 = (($4102) + (($4101*40)|0)|0); + $4104 = ((($r)) + 4|0); + HEAP32[$4104>>2] = $4103; + $4105 = ((($r)) + 14|0); + HEAP8[$4105>>0] = 0; + $4106 = HEAP32[$pC30>>2]|0; + $4107 = ((($4106)) + 16|0); + $4108 = HEAP32[$4107>>2]|0; + $4109 = (_sqlite3BtreeMovetoUnpacked($4108,$r,0,0,0,$res29)|0); + HEAP32[$rc>>2] = $4109; + $4110 = HEAP32[$rc>>2]|0; + $4111 = ($4110|0)!=(0); + if ($4111) { break L1; } - $4059 = HEAP32[$eqOnly>>2]|0; - $4060 = ($4059|0)!=(0); - if ($4060) { - $4061 = ((($r)) + 14|0); - $4062 = HEAP8[$4061>>0]|0; - $4063 = $4062&255; - $4064 = ($4063|0)==(0); - if (!($4064)) { - label = 489; + $4112 = HEAP32[$eqOnly>>2]|0; + $4113 = ($4112|0)!=(0); + if ($4113) { + $4114 = ((($r)) + 14|0); + $4115 = HEAP8[$4114>>0]|0; + $4116 = $4115&255; + $4117 = ($4116|0)==(0); + if (!($4117)) { + label = 493; } } else { - label = 489; + label = 493; } } do { - if ((label|0) == 489) { + if ((label|0) == 493) { label = 0; - $4065 = HEAP32[$pC30>>2]|0; - $4066 = ((($4065)) + 3|0); - HEAP8[$4066>>0] = 0; - $4067 = HEAP32[$pC30>>2]|0; - $4068 = ((($4067)) + 56|0); - HEAP32[$4068>>2] = 0; - $4069 = HEAP32[$oc>>2]|0; - $4070 = ($4069|0)>=(25); - $4071 = HEAP32[$res29>>2]|0; - if ($4070) { - $4072 = ($4071|0)<(0); - if (!($4072)) { - $4073 = HEAP32[$res29>>2]|0; - $4074 = ($4073|0)==(0); - $4075 = HEAP32[$oc>>2]|0; - $4076 = ($4075|0)==(26); - $or$cond12 = $4074 & $4076; + $4118 = HEAP32[$pC30>>2]|0; + $4119 = ((($4118)) + 3|0); + HEAP8[$4119>>0] = 0; + $4120 = HEAP32[$pC30>>2]|0; + $4121 = ((($4120)) + 56|0); + HEAP32[$4121>>2] = 0; + $4122 = HEAP32[$oc>>2]|0; + $4123 = ($4122|0)>=(25); + $4124 = HEAP32[$res29>>2]|0; + if ($4123) { + $4125 = ($4124|0)<(0); + if (!($4125)) { + $4126 = HEAP32[$res29>>2]|0; + $4127 = ($4126|0)==(0); + $4128 = HEAP32[$oc>>2]|0; + $4129 = ($4128|0)==(26); + $or$cond12 = $4127 & $4129; if (!($or$cond12)) { HEAP32[$res29>>2] = 0; break; } } HEAP32[$res29>>2] = 0; - $4077 = HEAP32[$pC30>>2]|0; - $4078 = ((($4077)) + 16|0); - $4079 = HEAP32[$4078>>2]|0; - $4080 = (_sqlite3BtreeNext($4079,$res29)|0); - HEAP32[$rc>>2] = $4080; - $4081 = HEAP32[$rc>>2]|0; - $4082 = ($4081|0)!=(0); - if ($4082) { + $4130 = HEAP32[$pC30>>2]|0; + $4131 = ((($4130)) + 16|0); + $4132 = HEAP32[$4131>>2]|0; + $4133 = (_sqlite3BtreeNext($4132,$res29)|0); + HEAP32[$rc>>2] = $4133; + $4134 = HEAP32[$rc>>2]|0; + $4135 = ($4134|0)!=(0); + if ($4135) { break L1; } else { break; } } else { - $4083 = ($4071|0)>(0); - if (!($4083)) { - $4084 = HEAP32[$res29>>2]|0; - $4085 = ($4084|0)==(0); - $4086 = HEAP32[$oc>>2]|0; - $4087 = ($4086|0)==(23); - $or$cond14 = $4085 & $4087; + $4136 = ($4124|0)>(0); + if (!($4136)) { + $4137 = HEAP32[$res29>>2]|0; + $4138 = ($4137|0)==(0); + $4139 = HEAP32[$oc>>2]|0; + $4140 = ($4139|0)==(23); + $or$cond14 = $4138 & $4140; if (!($or$cond14)) { - $4094 = HEAP32[$pC30>>2]|0; - $4095 = ((($4094)) + 16|0); - $4096 = HEAP32[$4095>>2]|0; - $4097 = (_sqlite3BtreeEof($4096)|0); - HEAP32[$res29>>2] = $4097; + $4147 = HEAP32[$pC30>>2]|0; + $4148 = ((($4147)) + 16|0); + $4149 = HEAP32[$4148>>2]|0; + $4150 = (_sqlite3BtreeEof($4149)|0); + HEAP32[$res29>>2] = $4150; break; } } HEAP32[$res29>>2] = 0; - $4088 = HEAP32[$pC30>>2]|0; - $4089 = ((($4088)) + 16|0); - $4090 = HEAP32[$4089>>2]|0; - $4091 = (_sqlite3BtreePrevious($4090,$res29)|0); - HEAP32[$rc>>2] = $4091; - $4092 = HEAP32[$rc>>2]|0; - $4093 = ($4092|0)!=(0); - if ($4093) { + $4141 = HEAP32[$pC30>>2]|0; + $4142 = ((($4141)) + 16|0); + $4143 = HEAP32[$4142>>2]|0; + $4144 = (_sqlite3BtreePrevious($4143,$res29)|0); + HEAP32[$rc>>2] = $4144; + $4145 = HEAP32[$rc>>2]|0; + $4146 = ($4145|0)!=(0); + if ($4146) { break L1; } else { break; @@ -216414,212 +220838,182 @@ function _sqlite3VdbeExec($p) { } } } while(0); - $4098 = HEAP32[$res29>>2]|0; - $4099 = ($4098|0)!=(0); - if ($4099) { + $4151 = HEAP32[$res29>>2]|0; + $4152 = ($4151|0)!=(0); + if ($4152) { label = 14; } else { - $4100 = HEAP32[$eqOnly>>2]|0; - $4101 = ($4100|0)!=(0); - if ($4101) { - $4102 = HEAP32[$pOp>>2]|0; - $4103 = ((($4102)) + 20|0); - HEAP32[$pOp>>2] = $4103; + $4153 = HEAP32[$eqOnly>>2]|0; + $4154 = ($4153|0)!=(0); + if ($4154) { + $4155 = HEAP32[$pOp>>2]|0; + $4156 = ((($4155)) + 20|0); + HEAP32[$pOp>>2] = $4156; } } break; } case 31: case 30: case 29: { - $4104 = HEAP32[$pOp>>2]|0; - $4105 = ((($4104)) + 4|0); - $4106 = HEAP32[$4105>>2]|0; - $4107 = HEAP32[$0>>2]|0; - $4108 = ((($4107)) + 56|0); - $4109 = HEAP32[$4108>>2]|0; - $4110 = (($4109) + ($4106<<2)|0); - $4111 = HEAP32[$4110>>2]|0; - HEAP32[$pC33>>2] = $4111; - $4112 = HEAP32[$pOp>>2]|0; - $4113 = ((($4112)) + 12|0); - $4114 = HEAP32[$4113>>2]|0; - $4115 = HEAP32[$aMem>>2]|0; - $4116 = (($4115) + (($4114*40)|0)|0); - HEAP32[$pIn3>>2] = $4116; + $4157 = HEAP32[$pOp>>2]|0; + $4158 = ((($4157)) + 4|0); + $4159 = HEAP32[$4158>>2]|0; + $4160 = HEAP32[$0>>2]|0; + $4161 = ((($4160)) + 112|0); + $4162 = HEAP32[$4161>>2]|0; + $4163 = (($4162) + ($4159<<2)|0); + $4164 = HEAP32[$4163>>2]|0; + HEAP32[$pC33>>2] = $4164; + $4165 = HEAP32[$pOp>>2]|0; + $4166 = ((($4165)) + 12|0); + $4167 = HEAP32[$4166>>2]|0; + $4168 = HEAP32[$aMem>>2]|0; + $4169 = (($4168) + (($4167*40)|0)|0); + HEAP32[$pIn3>>2] = $4169; HEAP32[$pFree>>2] = 0; - $4117 = HEAP32[$pOp>>2]|0; - $4118 = ((($4117)) + 16|0); - $4119 = HEAP32[$4118>>2]|0; - $4120 = ($4119|0)>(0); - $4121 = HEAP32[$pC33>>2]|0; - $4122 = ((($4121)) + 24|0); - $4123 = HEAP32[$4122>>2]|0; - if ($4120) { - HEAP32[$r35>>2] = $4123; - $4124 = HEAP32[$pOp>>2]|0; - $4125 = ((($4124)) + 16|0); - $4126 = HEAP32[$4125>>2]|0; - $4127 = $4126&65535; - $4128 = ((($r35)) + 8|0); - HEAP16[$4128>>1] = $4127; - $4129 = HEAP32[$pIn3>>2]|0; - $4130 = ((($r35)) + 4|0); - HEAP32[$4130>>2] = $4129; - HEAP32[$ii32>>2] = 0; - while(1) { - $4131 = HEAP32[$ii32>>2]|0; - $4132 = ((($r35)) + 8|0); - $4133 = HEAP16[$4132>>1]|0; - $4134 = $4133&65535; - $4135 = ($4131|0)<($4134|0); - if (!($4135)) { - break; - } - $4136 = HEAP32[$ii32>>2]|0; - $4137 = ((($r35)) + 4|0); - $4138 = HEAP32[$4137>>2]|0; - $4139 = (($4138) + (($4136*40)|0)|0); - $4140 = ((($4139)) + 8|0); - $4141 = HEAP16[$4140>>1]|0; - $4142 = $4141&65535; - $4143 = $4142 & 16384; - $4144 = ($4143|0)!=(0); - if ($4144) { - $4145 = HEAP32[$ii32>>2]|0; - $4146 = ((($r35)) + 4|0); - $4147 = HEAP32[$4146>>2]|0; - $4148 = (($4147) + (($4145*40)|0)|0); - (_sqlite3VdbeMemExpandBlob($4148)|0); - } - $4149 = HEAP32[$ii32>>2]|0; - $4150 = (($4149) + 1)|0; - HEAP32[$ii32>>2] = $4150; - } + $4170 = HEAP32[$pOp>>2]|0; + $4171 = ((($4170)) + 16|0); + $4172 = HEAP32[$4171>>2]|0; + $4173 = ($4172|0)>(0); + $4174 = HEAP32[$pC33>>2]|0; + $4175 = ((($4174)) + 24|0); + $4176 = HEAP32[$4175>>2]|0; + if ($4173) { + HEAP32[$r35>>2] = $4176; + $4177 = HEAP32[$pOp>>2]|0; + $4178 = ((($4177)) + 16|0); + $4179 = HEAP32[$4178>>2]|0; + $4180 = $4179&65535; + $4181 = ((($r35)) + 8|0); + HEAP16[$4181>>1] = $4180; + $4182 = HEAP32[$pIn3>>2]|0; + $4183 = ((($r35)) + 4|0); + HEAP32[$4183>>2] = $4182; HEAP32[$pIdxKey>>2] = $r35; } else { - $4151 = (_sqlite3VdbeAllocUnpackedRecord($4123,$aTempRec,183,$pFree)|0); - HEAP32[$pIdxKey>>2] = $4151; - $4152 = HEAP32[$pIdxKey>>2]|0; - $4153 = ($4152|0)==(0|0); - if ($4153) { - label = 881; + $4184 = (_sqlite3VdbeAllocUnpackedRecord($4176,$aTempRec,183,$pFree)|0); + HEAP32[$pIdxKey>>2] = $4184; + $4185 = HEAP32[$pIdxKey>>2]|0; + $4186 = ($4185|0)==(0|0); + if ($4186) { + label = 889; break L1; } - $4154 = HEAP32[$pIn3>>2]|0; - $4155 = ((($4154)) + 8|0); - $4156 = HEAP16[$4155>>1]|0; - $4157 = $4156&65535; - $4158 = $4157 & 16384; - $4159 = ($4158|0)!=(0); - if ($4159) { - $4160 = HEAP32[$pIn3>>2]|0; - (_sqlite3VdbeMemExpandBlob($4160)|0); + $4187 = HEAP32[$pIn3>>2]|0; + $4188 = ((($4187)) + 8|0); + $4189 = HEAP16[$4188>>1]|0; + $4190 = $4189&65535; + $4191 = $4190 & 16384; + $4192 = ($4191|0)!=(0); + if ($4192) { + $4193 = HEAP32[$pIn3>>2]|0; + (_sqlite3VdbeMemExpandBlob($4193)|0); } - $4161 = HEAP32[$pC33>>2]|0; - $4162 = ((($4161)) + 24|0); - $4163 = HEAP32[$4162>>2]|0; - $4164 = HEAP32[$pIn3>>2]|0; - $4165 = ((($4164)) + 12|0); - $4166 = HEAP32[$4165>>2]|0; - $4167 = HEAP32[$pIn3>>2]|0; - $4168 = ((($4167)) + 16|0); - $4169 = HEAP32[$4168>>2]|0; - $4170 = HEAP32[$pIdxKey>>2]|0; - _sqlite3VdbeRecordUnpack($4163,$4166,$4169,$4170); + $4194 = HEAP32[$pC33>>2]|0; + $4195 = ((($4194)) + 24|0); + $4196 = HEAP32[$4195>>2]|0; + $4197 = HEAP32[$pIn3>>2]|0; + $4198 = ((($4197)) + 12|0); + $4199 = HEAP32[$4198>>2]|0; + $4200 = HEAP32[$pIn3>>2]|0; + $4201 = ((($4200)) + 16|0); + $4202 = HEAP32[$4201>>2]|0; + $4203 = HEAP32[$pIdxKey>>2]|0; + _sqlite3VdbeRecordUnpack($4196,$4199,$4202,$4203); } - $4171 = HEAP32[$pIdxKey>>2]|0; - $4172 = ((($4171)) + 10|0); - HEAP8[$4172>>0] = 0; + $4204 = HEAP32[$pIdxKey>>2]|0; + $4205 = ((($4204)) + 10|0); + HEAP8[$4205>>0] = 0; HEAP32[$takeJump>>2] = 0; - $4173 = HEAP32[$pOp>>2]|0; - $4174 = HEAP8[$4173>>0]|0; - $4175 = $4174&255; - $4176 = ($4175|0)==(29); - L556: do { - if ($4176) { + $4206 = HEAP32[$pOp>>2]|0; + $4207 = HEAP8[$4206>>0]|0; + $4208 = $4207&255; + $4209 = ($4208|0)==(29); + L554: do { + if ($4209) { HEAP32[$ii32>>2] = 0; while(1) { - $4177 = HEAP32[$ii32>>2]|0; - $4178 = HEAP32[$pIdxKey>>2]|0; - $4179 = ((($4178)) + 8|0); - $4180 = HEAP16[$4179>>1]|0; - $4181 = $4180&65535; - $4182 = ($4177|0)<($4181|0); - if (!($4182)) { - break L556; + $4210 = HEAP32[$ii32>>2]|0; + $4211 = HEAP32[$pIdxKey>>2]|0; + $4212 = ((($4211)) + 8|0); + $4213 = HEAP16[$4212>>1]|0; + $4214 = $4213&65535; + $4215 = ($4210|0)<($4214|0); + if (!($4215)) { + break L554; } - $4183 = HEAP32[$ii32>>2]|0; - $4184 = HEAP32[$pIdxKey>>2]|0; - $4185 = ((($4184)) + 4|0); - $4186 = HEAP32[$4185>>2]|0; - $4187 = (($4186) + (($4183*40)|0)|0); - $4188 = ((($4187)) + 8|0); - $4189 = HEAP16[$4188>>1]|0; - $4190 = $4189&65535; - $4191 = $4190 & 1; - $4192 = ($4191|0)!=(0); - if ($4192) { + $4216 = HEAP32[$ii32>>2]|0; + $4217 = HEAP32[$pIdxKey>>2]|0; + $4218 = ((($4217)) + 4|0); + $4219 = HEAP32[$4218>>2]|0; + $4220 = (($4219) + (($4216*40)|0)|0); + $4221 = ((($4220)) + 8|0); + $4222 = HEAP16[$4221>>1]|0; + $4223 = $4222&65535; + $4224 = $4223 & 1; + $4225 = ($4224|0)!=(0); + if ($4225) { break; } - $4193 = HEAP32[$ii32>>2]|0; - $4194 = (($4193) + 1)|0; - HEAP32[$ii32>>2] = $4194; + $4226 = HEAP32[$ii32>>2]|0; + $4227 = (($4226) + 1)|0; + HEAP32[$ii32>>2] = $4227; } HEAP32[$takeJump>>2] = 1; } } while(0); - $4195 = HEAP32[$pC33>>2]|0; - $4196 = ((($4195)) + 16|0); - $4197 = HEAP32[$4196>>2]|0; - $4198 = HEAP32[$pIdxKey>>2]|0; - $4199 = (_sqlite3BtreeMovetoUnpacked($4197,$4198,0,0,0,$res34)|0); - HEAP32[$rc>>2] = $4199; - $4200 = HEAP32[$db>>2]|0; - $4201 = HEAP32[$pFree>>2]|0; - _sqlite3DbFree($4200,$4201); - $4202 = HEAP32[$rc>>2]|0; - $4203 = ($4202|0)!=(0); - if ($4203) { + $4228 = HEAP32[$pC33>>2]|0; + $4229 = ((($4228)) + 16|0); + $4230 = HEAP32[$4229>>2]|0; + $4231 = HEAP32[$pIdxKey>>2]|0; + $4232 = (_sqlite3BtreeMovetoUnpacked($4230,$4231,0,0,0,$res34)|0); + HEAP32[$rc>>2] = $4232; + $4233 = HEAP32[$db>>2]|0; + $4234 = HEAP32[$pFree>>2]|0; + _sqlite3DbFree($4233,$4234); + $4235 = HEAP32[$rc>>2]|0; + $4236 = ($4235|0)!=(0); + if ($4236) { break L1; } - $4204 = HEAP32[$res34>>2]|0; - $4205 = HEAP32[$pC33>>2]|0; - $4206 = ((($4205)) + 28|0); - HEAP32[$4206>>2] = $4204; - $4207 = HEAP32[$res34>>2]|0; - $4208 = ($4207|0)==(0); - $4209 = $4208&1; - HEAP32[$alreadyExists>>2] = $4209; - $4210 = HEAP32[$alreadyExists>>2]|0; - $4211 = (1 - ($4210))|0; - $4212 = $4211&255; - $4213 = HEAP32[$pC33>>2]|0; - $4214 = ((($4213)) + 2|0); - HEAP8[$4214>>0] = $4212; - $4215 = HEAP32[$pC33>>2]|0; - $4216 = ((($4215)) + 3|0); - HEAP8[$4216>>0] = 0; - $4217 = HEAP32[$pC33>>2]|0; - $4218 = ((($4217)) + 56|0); - HEAP32[$4218>>2] = 0; - $4219 = HEAP32[$pOp>>2]|0; - $4220 = HEAP8[$4219>>0]|0; - $4221 = $4220&255; - $4222 = ($4221|0)==(31); - if ($4222) { - $4223 = HEAP32[$alreadyExists>>2]|0; - $4224 = ($4223|0)!=(0); - if ($4224) { + $4237 = HEAP32[$res34>>2]|0; + $4238 = HEAP32[$pC33>>2]|0; + $4239 = ((($4238)) + 28|0); + HEAP32[$4239>>2] = $4237; + $4240 = HEAP32[$res34>>2]|0; + $4241 = ($4240|0)==(0); + $4242 = $4241&1; + HEAP32[$alreadyExists>>2] = $4242; + $4243 = HEAP32[$alreadyExists>>2]|0; + $4244 = (1 - ($4243))|0; + $4245 = $4244&255; + $4246 = HEAP32[$pC33>>2]|0; + $4247 = ((($4246)) + 2|0); + HEAP8[$4247>>0] = $4245; + $4248 = HEAP32[$pC33>>2]|0; + $4249 = ((($4248)) + 3|0); + HEAP8[$4249>>0] = 0; + $4250 = HEAP32[$pC33>>2]|0; + $4251 = ((($4250)) + 56|0); + HEAP32[$4251>>2] = 0; + $4252 = HEAP32[$pOp>>2]|0; + $4253 = HEAP8[$4252>>0]|0; + $4254 = $4253&255; + $4255 = ($4254|0)==(31); + if ($4255) { + $4256 = HEAP32[$alreadyExists>>2]|0; + $4257 = ($4256|0)!=(0); + if ($4257) { label = 14; break L10; } else { break L10; } } else { - $4225 = HEAP32[$takeJump>>2]|0; - $4226 = ($4225|0)==(0); - $4227 = HEAP32[$alreadyExists>>2]|0; - $4228 = ($4227|0)!=(0); - $or$cond16 = $4226 & $4228; + $4258 = HEAP32[$takeJump>>2]|0; + $4259 = ($4258|0)==(0); + $4260 = HEAP32[$alreadyExists>>2]|0; + $4261 = ($4260|0)!=(0); + $or$cond16 = $4259 & $4261; if ($or$cond16) { break L10; } else { @@ -216630,1788 +221024,1725 @@ function _sqlite3VdbeExec($p) { break; } case 32: { - $4229 = HEAP32[$pOp>>2]|0; - $4230 = ((($4229)) + 12|0); - $4231 = HEAP32[$4230>>2]|0; - $4232 = HEAP32[$aMem>>2]|0; - $4233 = (($4232) + (($4231*40)|0)|0); - HEAP32[$pIn3>>2] = $4233; - $4234 = HEAP32[$pOp>>2]|0; - $4235 = ((($4234)) + 4|0); - $4236 = HEAP32[$4235>>2]|0; - $4237 = HEAP32[$0>>2]|0; - $4238 = ((($4237)) + 56|0); - $4239 = HEAP32[$4238>>2]|0; - $4240 = (($4239) + ($4236<<2)|0); - $4241 = HEAP32[$4240>>2]|0; - HEAP32[$pC36>>2] = $4241; - $4242 = HEAP32[$pC36>>2]|0; - $4243 = ((($4242)) + 16|0); - $4244 = HEAP32[$4243>>2]|0; - HEAP32[$pCrsr37>>2] = $4244; - HEAP32[$res38>>2] = 0; - $4245 = HEAP32[$pIn3>>2]|0; - $4246 = $4245; - $4247 = $4246; - $4248 = HEAP32[$4247>>2]|0; - $4249 = (($4246) + 4)|0; - $4250 = $4249; - $4251 = HEAP32[$4250>>2]|0; - $4252 = $iKey39; - $4253 = $4252; - HEAP32[$4253>>2] = $4248; - $4254 = (($4252) + 4)|0; - $4255 = $4254; - HEAP32[$4255>>2] = $4251; - $4256 = HEAP32[$pCrsr37>>2]|0; - $4257 = $iKey39; - $4258 = $4257; - $4259 = HEAP32[$4258>>2]|0; - $4260 = (($4257) + 4)|0; - $4261 = $4260; - $4262 = HEAP32[$4261>>2]|0; - $4263 = (_sqlite3BtreeMovetoUnpacked($4256,0,$4259,$4262,0,$res38)|0); - HEAP32[$rc>>2] = $4263; - $4264 = $iKey39; - $4265 = $4264; - $4266 = HEAP32[$4265>>2]|0; - $4267 = (($4264) + 4)|0; - $4268 = $4267; - $4269 = HEAP32[$4268>>2]|0; - $4270 = HEAP32[$pC36>>2]|0; - $4271 = ((($4270)) + 40|0); - $4272 = $4271; - $4273 = $4272; - HEAP32[$4273>>2] = $4266; - $4274 = (($4272) + 4)|0; - $4275 = $4274; - HEAP32[$4275>>2] = $4269; - $4276 = HEAP32[$pC36>>2]|0; - $4277 = ((($4276)) + 2|0); - HEAP8[$4277>>0] = 0; - $4278 = HEAP32[$pC36>>2]|0; - $4279 = ((($4278)) + 56|0); - HEAP32[$4279>>2] = 0; - $4280 = HEAP32[$pC36>>2]|0; - $4281 = ((($4280)) + 3|0); - HEAP8[$4281>>0] = 0; - $4282 = HEAP32[$res38>>2]|0; - $4283 = HEAP32[$pC36>>2]|0; - $4284 = ((($4283)) + 28|0); - HEAP32[$4284>>2] = $4282; - $4285 = HEAP32[$res38>>2]|0; - $4286 = ($4285|0)!=(0); - if ($4286) { - $4287 = HEAP32[$pOp>>2]|0; - $4288 = ((($4287)) + 8|0); - $4289 = HEAP32[$4288>>2]|0; - $4290 = ($4289|0)==(0); - if (!($4290)) { + $4262 = HEAP32[$pOp>>2]|0; + $4263 = ((($4262)) + 12|0); + $4264 = HEAP32[$4263>>2]|0; + $4265 = HEAP32[$aMem>>2]|0; + $4266 = (($4265) + (($4264*40)|0)|0); + HEAP32[$pIn3>>2] = $4266; + $4267 = HEAP32[$pIn3>>2]|0; + $4268 = ((($4267)) + 8|0); + $4269 = HEAP16[$4268>>1]|0; + $4270 = $4269&65535; + $4271 = $4270 & 4; + $4272 = ($4271|0)==(0); + if ($4272) { + $4273 = HEAP32[$pIn3>>2]|0; + $4274 = HEAP8[$encoding>>0]|0; + _applyAffinity($4273,67,$4274); + $4275 = HEAP32[$pIn3>>2]|0; + $4276 = ((($4275)) + 8|0); + $4277 = HEAP16[$4276>>1]|0; + $4278 = $4277&65535; + $4279 = $4278 & 4; + $4280 = ($4279|0)==(0); + if ($4280) { label = 14; - break L10; + } else { + label = 523; } - $4291 = (_sqlite3CorruptError(80748)|0); - HEAP32[$rc>>2] = $4291; - } - $4292 = HEAP32[$rc>>2]|0; - $4293 = ($4292|0)!=(0); - if ($4293) { - break L1; + } else { + label = 523; } break; } - case 111: { - $4294 = HEAP32[$0>>2]|0; - $4295 = HEAP32[$pOp>>2]|0; - $4296 = (_out2Prerelease($4294,$4295)|0); - HEAP32[$pOut>>2] = $4296; - $4297 = HEAP32[$pOp>>2]|0; - $4298 = ((($4297)) + 4|0); - $4299 = HEAP32[$4298>>2]|0; - $4300 = HEAP32[$0>>2]|0; - $4301 = ((($4300)) + 56|0); - $4302 = HEAP32[$4301>>2]|0; - $4303 = (($4302) + ($4299<<2)|0); - $4304 = HEAP32[$4303>>2]|0; - $4305 = ((($4304)) + 32|0); - $4306 = $4305; - $4307 = $4306; - $4308 = HEAP32[$4307>>2]|0; - $4309 = (($4306) + 4)|0; - $4310 = $4309; - $4311 = HEAP32[$4310>>2]|0; - $4312 = (_i64Add(($4308|0),($4311|0),1,0)|0); - $4313 = tempRet0; - $4314 = $4305; - $4315 = $4314; - HEAP32[$4315>>2] = $4312; - $4316 = (($4314) + 4)|0; - $4317 = $4316; - HEAP32[$4317>>2] = $4313; - $4318 = HEAP32[$pOut>>2]|0; - $4319 = $4318; - $4320 = $4319; - HEAP32[$4320>>2] = $4308; - $4321 = (($4319) + 4)|0; - $4322 = $4321; - HEAP32[$4322>>2] = $4311; + case 33: { + label = 523; break; } - case 112: { - $4323 = $v; - $4324 = $4323; - HEAP32[$4324>>2] = 0; - $4325 = (($4323) + 4)|0; - $4326 = $4325; - HEAP32[$4326>>2] = 0; + case 113: { + $4346 = HEAP32[$0>>2]|0; + $4347 = HEAP32[$pOp>>2]|0; + $4348 = (_out2Prerelease($4346,$4347)|0); + HEAP32[$pOut>>2] = $4348; + $4349 = HEAP32[$pOp>>2]|0; + $4350 = ((($4349)) + 4|0); + $4351 = HEAP32[$4350>>2]|0; + $4352 = HEAP32[$0>>2]|0; + $4353 = ((($4352)) + 112|0); + $4354 = HEAP32[$4353>>2]|0; + $4355 = (($4354) + ($4351<<2)|0); + $4356 = HEAP32[$4355>>2]|0; + $4357 = ((($4356)) + 32|0); + $4358 = $4357; + $4359 = $4358; + $4360 = HEAP32[$4359>>2]|0; + $4361 = (($4358) + 4)|0; + $4362 = $4361; + $4363 = HEAP32[$4362>>2]|0; + $4364 = (_i64Add(($4360|0),($4363|0),1,0)|0); + $4365 = tempRet0; + $4366 = $4357; + $4367 = $4366; + HEAP32[$4367>>2] = $4364; + $4368 = (($4366) + 4)|0; + $4369 = $4368; + HEAP32[$4369>>2] = $4365; + $4370 = HEAP32[$pOut>>2]|0; + $4371 = $4370; + $4372 = $4371; + HEAP32[$4372>>2] = $4360; + $4373 = (($4371) + 4)|0; + $4374 = $4373; + HEAP32[$4374>>2] = $4363; + break; + } + case 114: { + $4375 = $v; + $4376 = $4375; + HEAP32[$4376>>2] = 0; + $4377 = (($4375) + 4)|0; + $4378 = $4377; + HEAP32[$4378>>2] = 0; HEAP32[$res41>>2] = 0; - $4327 = HEAP32[$0>>2]|0; - $4328 = HEAP32[$pOp>>2]|0; - $4329 = (_out2Prerelease($4327,$4328)|0); - HEAP32[$pOut>>2] = $4329; - $4330 = HEAP32[$pOp>>2]|0; - $4331 = ((($4330)) + 4|0); - $4332 = HEAP32[$4331>>2]|0; - $4333 = HEAP32[$0>>2]|0; - $4334 = ((($4333)) + 56|0); - $4335 = HEAP32[$4334>>2]|0; - $4336 = (($4335) + ($4332<<2)|0); - $4337 = HEAP32[$4336>>2]|0; - HEAP32[$pC40>>2] = $4337; - $4338 = HEAP32[$pC40>>2]|0; - $4339 = ((($4338)) + 5|0); - $4340 = HEAP8[$4339>>0]|0; - $4341 = ($4340&255) >>> 1; - $4342 = $4341 & 1; - $4343 = $4342&255; - $4344 = ($4343|0)!=(0); + $4379 = HEAP32[$0>>2]|0; + $4380 = HEAP32[$pOp>>2]|0; + $4381 = (_out2Prerelease($4379,$4380)|0); + HEAP32[$pOut>>2] = $4381; + $4382 = HEAP32[$pOp>>2]|0; + $4383 = ((($4382)) + 4|0); + $4384 = HEAP32[$4383>>2]|0; + $4385 = HEAP32[$0>>2]|0; + $4386 = ((($4385)) + 112|0); + $4387 = HEAP32[$4386>>2]|0; + $4388 = (($4387) + ($4384<<2)|0); + $4389 = HEAP32[$4388>>2]|0; + HEAP32[$pC40>>2] = $4389; + $4390 = HEAP32[$pC40>>2]|0; + $4391 = ((($4390)) + 5|0); + $4392 = HEAP8[$4391>>0]|0; + $4393 = ($4392&255) >>> 1; + $4394 = $4393 & 1; + $4395 = $4394&255; + $4396 = ($4395|0)!=(0); do { - if (!($4344)) { - $4345 = HEAP32[$pC40>>2]|0; - $4346 = ((($4345)) + 16|0); - $4347 = HEAP32[$4346>>2]|0; - $4348 = (_sqlite3BtreeLast($4347,$res41)|0); - HEAP32[$rc>>2] = $4348; - $4349 = HEAP32[$rc>>2]|0; - $4350 = ($4349|0)!=(0); - if ($4350) { + if (!($4396)) { + $4397 = HEAP32[$pC40>>2]|0; + $4398 = ((($4397)) + 16|0); + $4399 = HEAP32[$4398>>2]|0; + $4400 = (_sqlite3BtreeLast($4399,$res41)|0); + HEAP32[$rc>>2] = $4400; + $4401 = HEAP32[$rc>>2]|0; + $4402 = ($4401|0)!=(0); + if ($4402) { break L1; } - $4351 = HEAP32[$res41>>2]|0; - $4352 = ($4351|0)!=(0); - if ($4352) { - $4353 = $v; - $4354 = $4353; - HEAP32[$4354>>2] = 1; - $4355 = (($4353) + 4)|0; - $4356 = $4355; - HEAP32[$4356>>2] = 0; + $4403 = HEAP32[$res41>>2]|0; + $4404 = ($4403|0)!=(0); + if ($4404) { + $4405 = $v; + $4406 = $4405; + HEAP32[$4406>>2] = 1; + $4407 = (($4405) + 4)|0; + $4408 = $4407; + HEAP32[$4408>>2] = 0; break; } - $4357 = HEAP32[$pC40>>2]|0; - $4358 = ((($4357)) + 16|0); - $4359 = HEAP32[$4358>>2]|0; - $4360 = (_sqlite3BtreeKeySize($4359,$v)|0); - HEAP32[$rc>>2] = $4360; - $4361 = $v; - $4362 = $4361; - $4363 = HEAP32[$4362>>2]|0; - $4364 = (($4361) + 4)|0; - $4365 = $4364; - $4366 = HEAP32[$4365>>2]|0; - $4367 = ($4366|0)>(2147483647); - $4368 = ($4363>>>0)>=(4294967295); - $4369 = ($4366|0)==(2147483647); - $4370 = $4369 & $4368; - $4371 = $4367 | $4370; - if ($4371) { - $4372 = HEAP32[$pC40>>2]|0; - $4373 = ((($4372)) + 5|0); - $4374 = HEAP8[$4373>>0]|0; - $4375 = $4374 & -3; - $4376 = $4375 | 2; - HEAP8[$4373>>0] = $4376; + $4409 = HEAP32[$pC40>>2]|0; + $4410 = ((($4409)) + 16|0); + $4411 = HEAP32[$4410>>2]|0; + $4412 = (_sqlite3BtreeIntegerKey($4411)|0); + $4413 = tempRet0; + $4414 = $v; + $4415 = $4414; + HEAP32[$4415>>2] = $4412; + $4416 = (($4414) + 4)|0; + $4417 = $4416; + HEAP32[$4417>>2] = $4413; + $4418 = $v; + $4419 = $4418; + $4420 = HEAP32[$4419>>2]|0; + $4421 = (($4418) + 4)|0; + $4422 = $4421; + $4423 = HEAP32[$4422>>2]|0; + $4424 = ($4423|0)>(2147483647); + $4425 = ($4420>>>0)>=(4294967295); + $4426 = ($4423|0)==(2147483647); + $4427 = $4426 & $4425; + $4428 = $4424 | $4427; + if ($4428) { + $4429 = HEAP32[$pC40>>2]|0; + $4430 = ((($4429)) + 5|0); + $4431 = HEAP8[$4430>>0]|0; + $4432 = $4431 & -3; + $4433 = $4432 | 2; + HEAP8[$4430>>0] = $4433; break; } else { - $4377 = $v; - $4378 = $4377; - $4379 = HEAP32[$4378>>2]|0; - $4380 = (($4377) + 4)|0; - $4381 = $4380; - $4382 = HEAP32[$4381>>2]|0; - $4383 = (_i64Add(($4379|0),($4382|0),1,0)|0); - $4384 = tempRet0; - $4385 = $v; - $4386 = $4385; - HEAP32[$4386>>2] = $4383; - $4387 = (($4385) + 4)|0; - $4388 = $4387; - HEAP32[$4388>>2] = $4384; + $4434 = $v; + $4435 = $4434; + $4436 = HEAP32[$4435>>2]|0; + $4437 = (($4434) + 4)|0; + $4438 = $4437; + $4439 = HEAP32[$4438>>2]|0; + $4440 = (_i64Add(($4436|0),($4439|0),1,0)|0); + $4441 = tempRet0; + $4442 = $v; + $4443 = $4442; + HEAP32[$4443>>2] = $4440; + $4444 = (($4442) + 4)|0; + $4445 = $4444; + HEAP32[$4445>>2] = $4441; break; } } } while(0); - $4389 = HEAP32[$pOp>>2]|0; - $4390 = ((($4389)) + 12|0); - $4391 = HEAP32[$4390>>2]|0; - $4392 = ($4391|0)!=(0); - if ($4392) { - $4393 = HEAP32[$0>>2]|0; - $4394 = ((($4393)) + 176|0); - $4395 = HEAP32[$4394>>2]|0; - $4396 = ($4395|0)!=(0|0); - if ($4396) { - $4397 = HEAP32[$0>>2]|0; - $4398 = ((($4397)) + 176|0); - $4399 = HEAP32[$4398>>2]|0; - HEAP32[$pFrame44>>2] = $4399; + $4446 = HEAP32[$pOp>>2]|0; + $4447 = ((($4446)) + 12|0); + $4448 = HEAP32[$4447>>2]|0; + $4449 = ($4448|0)!=(0); + if ($4449) { + $4450 = HEAP32[$0>>2]|0; + $4451 = ((($4450)) + 184|0); + $4452 = HEAP32[$4451>>2]|0; + $4453 = ($4452|0)!=(0|0); + if ($4453) { + $4454 = HEAP32[$0>>2]|0; + $4455 = ((($4454)) + 184|0); + $4456 = HEAP32[$4455>>2]|0; + HEAP32[$pFrame44>>2] = $4456; while(1) { - $4400 = HEAP32[$pFrame44>>2]|0; - $4401 = ((($4400)) + 4|0); - $4402 = HEAP32[$4401>>2]|0; - $4403 = ($4402|0)!=(0|0); - if (!($4403)) { + $4457 = HEAP32[$pFrame44>>2]|0; + $4458 = ((($4457)) + 4|0); + $4459 = HEAP32[$4458>>2]|0; + $4460 = ($4459|0)!=(0|0); + if (!($4460)) { break; } - $4404 = HEAP32[$pFrame44>>2]|0; - $4405 = ((($4404)) + 4|0); - $4406 = HEAP32[$4405>>2]|0; - HEAP32[$pFrame44>>2] = $4406; + $4461 = HEAP32[$pFrame44>>2]|0; + $4462 = ((($4461)) + 4|0); + $4463 = HEAP32[$4462>>2]|0; + HEAP32[$pFrame44>>2] = $4463; } - $4407 = HEAP32[$pOp>>2]|0; - $4408 = ((($4407)) + 12|0); - $4409 = HEAP32[$4408>>2]|0; - $4410 = HEAP32[$pFrame44>>2]|0; - $4411 = ((($4410)) + 16|0); - $4412 = HEAP32[$4411>>2]|0; - $4413 = (($4412) + (($4409*40)|0)|0); - HEAP32[$pMem43>>2] = $4413; + $4464 = HEAP32[$pOp>>2]|0; + $4465 = ((($4464)) + 12|0); + $4466 = HEAP32[$4465>>2]|0; + $4467 = HEAP32[$pFrame44>>2]|0; + $4468 = ((($4467)) + 16|0); + $4469 = HEAP32[$4468>>2]|0; + $4470 = (($4469) + (($4466*40)|0)|0); + HEAP32[$pMem43>>2] = $4470; } else { - $4414 = HEAP32[$pOp>>2]|0; - $4415 = ((($4414)) + 12|0); - $4416 = HEAP32[$4415>>2]|0; - $4417 = HEAP32[$aMem>>2]|0; - $4418 = (($4417) + (($4416*40)|0)|0); - HEAP32[$pMem43>>2] = $4418; + $4471 = HEAP32[$pOp>>2]|0; + $4472 = ((($4471)) + 12|0); + $4473 = HEAP32[$4472>>2]|0; + $4474 = HEAP32[$aMem>>2]|0; + $4475 = (($4474) + (($4473*40)|0)|0); + HEAP32[$pMem43>>2] = $4475; } - $4419 = HEAP32[$pMem43>>2]|0; - (_sqlite3VdbeMemIntegerify($4419)|0); - $4420 = HEAP32[$pMem43>>2]|0; - $4421 = $4420; - $4422 = $4421; - $4423 = HEAP32[$4422>>2]|0; - $4424 = (($4421) + 4)|0; - $4425 = $4424; - $4426 = HEAP32[$4425>>2]|0; - $4427 = ($4423|0)==(-1); - $4428 = ($4426|0)==(2147483647); - $4429 = $4427 & $4428; - if ($4429) { - label = 543; + $4476 = HEAP32[$pMem43>>2]|0; + (_sqlite3VdbeMemIntegerify($4476)|0); + $4477 = HEAP32[$pMem43>>2]|0; + $4478 = $4477; + $4479 = $4478; + $4480 = HEAP32[$4479>>2]|0; + $4481 = (($4478) + 4)|0; + $4482 = $4481; + $4483 = HEAP32[$4482>>2]|0; + $4484 = ($4480|0)==(-1); + $4485 = ($4483|0)==(2147483647); + $4486 = $4484 & $4485; + if ($4486) { + label = 544; break L8; } - $4430 = HEAP32[$pC40>>2]|0; - $4431 = ((($4430)) + 5|0); - $4432 = HEAP8[$4431>>0]|0; - $4433 = ($4432&255) >>> 1; - $4434 = $4433 & 1; - $4435 = $4434&255; - $4436 = ($4435|0)!=(0); - if ($4436) { - label = 543; + $4487 = HEAP32[$pC40>>2]|0; + $4488 = ((($4487)) + 5|0); + $4489 = HEAP8[$4488>>0]|0; + $4490 = ($4489&255) >>> 1; + $4491 = $4490 & 1; + $4492 = $4491&255; + $4493 = ($4492|0)!=(0); + if ($4493) { + label = 544; break L8; } - $4437 = $v; - $4438 = $4437; - $4439 = HEAP32[$4438>>2]|0; - $4440 = (($4437) + 4)|0; - $4441 = $4440; - $4442 = HEAP32[$4441>>2]|0; - $4443 = HEAP32[$pMem43>>2]|0; - $4444 = $4443; - $4445 = $4444; - $4446 = HEAP32[$4445>>2]|0; - $4447 = (($4444) + 4)|0; - $4448 = $4447; - $4449 = HEAP32[$4448>>2]|0; - $4450 = (_i64Add(($4446|0),($4449|0),1,0)|0); - $4451 = tempRet0; - $4452 = ($4442|0)<($4451|0); - $4453 = ($4439>>>0)<($4450>>>0); - $4454 = ($4442|0)==($4451|0); - $4455 = $4454 & $4453; - $4456 = $4452 | $4455; - if ($4456) { - $4457 = HEAP32[$pMem43>>2]|0; - $4458 = $4457; - $4459 = $4458; - $4460 = HEAP32[$4459>>2]|0; - $4461 = (($4458) + 4)|0; - $4462 = $4461; - $4463 = HEAP32[$4462>>2]|0; - $4464 = (_i64Add(($4460|0),($4463|0),1,0)|0); - $4465 = tempRet0; - $4466 = $v; - $4467 = $4466; - HEAP32[$4467>>2] = $4464; - $4468 = (($4466) + 4)|0; - $4469 = $4468; - HEAP32[$4469>>2] = $4465; + $4494 = $v; + $4495 = $4494; + $4496 = HEAP32[$4495>>2]|0; + $4497 = (($4494) + 4)|0; + $4498 = $4497; + $4499 = HEAP32[$4498>>2]|0; + $4500 = HEAP32[$pMem43>>2]|0; + $4501 = $4500; + $4502 = $4501; + $4503 = HEAP32[$4502>>2]|0; + $4504 = (($4501) + 4)|0; + $4505 = $4504; + $4506 = HEAP32[$4505>>2]|0; + $4507 = (_i64Add(($4503|0),($4506|0),1,0)|0); + $4508 = tempRet0; + $4509 = ($4499|0)<($4508|0); + $4510 = ($4496>>>0)<($4507>>>0); + $4511 = ($4499|0)==($4508|0); + $4512 = $4511 & $4510; + $4513 = $4509 | $4512; + if ($4513) { + $4514 = HEAP32[$pMem43>>2]|0; + $4515 = $4514; + $4516 = $4515; + $4517 = HEAP32[$4516>>2]|0; + $4518 = (($4515) + 4)|0; + $4519 = $4518; + $4520 = HEAP32[$4519>>2]|0; + $4521 = (_i64Add(($4517|0),($4520|0),1,0)|0); + $4522 = tempRet0; + $4523 = $v; + $4524 = $4523; + HEAP32[$4524>>2] = $4521; + $4525 = (($4523) + 4)|0; + $4526 = $4525; + HEAP32[$4526>>2] = $4522; } - $4470 = $v; - $4471 = $4470; - $4472 = HEAP32[$4471>>2]|0; - $4473 = (($4470) + 4)|0; - $4474 = $4473; - $4475 = HEAP32[$4474>>2]|0; - $4476 = HEAP32[$pMem43>>2]|0; - $4477 = $4476; - $4478 = $4477; - HEAP32[$4478>>2] = $4472; - $4479 = (($4477) + 4)|0; - $4480 = $4479; - HEAP32[$4480>>2] = $4475; + $4527 = $v; + $4528 = $4527; + $4529 = HEAP32[$4528>>2]|0; + $4530 = (($4527) + 4)|0; + $4531 = $4530; + $4532 = HEAP32[$4531>>2]|0; + $4533 = HEAP32[$pMem43>>2]|0; + $4534 = $4533; + $4535 = $4534; + HEAP32[$4535>>2] = $4529; + $4536 = (($4534) + 4)|0; + $4537 = $4536; + HEAP32[$4537>>2] = $4532; } - $4481 = HEAP32[$pC40>>2]|0; - $4482 = ((($4481)) + 5|0); - $4483 = HEAP8[$4482>>0]|0; - $4484 = ($4483&255) >>> 1; - $4485 = $4484 & 1; - $4486 = $4485&255; - $4487 = ($4486|0)!=(0); - if ($4487) { + $4538 = HEAP32[$pC40>>2]|0; + $4539 = ((($4538)) + 5|0); + $4540 = HEAP8[$4539>>0]|0; + $4541 = ($4540&255) >>> 1; + $4542 = $4541 & 1; + $4543 = $4542&255; + $4544 = ($4543|0)!=(0); + if ($4544) { HEAP32[$cnt42>>2] = 0; while(1) { _sqlite3_randomness(8,$v); - $4488 = $v; - $4489 = $4488; - $4490 = HEAP32[$4489>>2]|0; - $4491 = (($4488) + 4)|0; - $4492 = $4491; - $4493 = HEAP32[$4492>>2]|0; - $4494 = $4493 & 1073741823; - $4495 = $v; - $4496 = $4495; - HEAP32[$4496>>2] = $4490; - $4497 = (($4495) + 4)|0; - $4498 = $4497; - HEAP32[$4498>>2] = $4494; - $4499 = $v; - $4500 = $4499; - $4501 = HEAP32[$4500>>2]|0; - $4502 = (($4499) + 4)|0; - $4503 = $4502; - $4504 = HEAP32[$4503>>2]|0; - $4505 = (_i64Add(($4501|0),($4504|0),1,0)|0); - $4506 = tempRet0; - $4507 = $v; - $4508 = $4507; - HEAP32[$4508>>2] = $4505; - $4509 = (($4507) + 4)|0; - $4510 = $4509; - HEAP32[$4510>>2] = $4506; - $4511 = HEAP32[$pC40>>2]|0; - $4512 = ((($4511)) + 16|0); - $4513 = HEAP32[$4512>>2]|0; - $4514 = $v; - $4515 = $4514; - $4516 = HEAP32[$4515>>2]|0; - $4517 = (($4514) + 4)|0; - $4518 = $4517; - $4519 = HEAP32[$4518>>2]|0; - $4520 = (_sqlite3BtreeMovetoUnpacked($4513,0,$4516,$4519,0,$res41)|0); - HEAP32[$rc>>2] = $4520; - $4521 = ($4520|0)==(0); - $4522 = HEAP32[$res41>>2]|0; - $4523 = ($4522|0)==(0); - $or$cond18 = $4521 & $4523; + $4545 = $v; + $4546 = $4545; + $4547 = HEAP32[$4546>>2]|0; + $4548 = (($4545) + 4)|0; + $4549 = $4548; + $4550 = HEAP32[$4549>>2]|0; + $4551 = $4550 & 1073741823; + $4552 = $v; + $4553 = $4552; + HEAP32[$4553>>2] = $4547; + $4554 = (($4552) + 4)|0; + $4555 = $4554; + HEAP32[$4555>>2] = $4551; + $4556 = $v; + $4557 = $4556; + $4558 = HEAP32[$4557>>2]|0; + $4559 = (($4556) + 4)|0; + $4560 = $4559; + $4561 = HEAP32[$4560>>2]|0; + $4562 = (_i64Add(($4558|0),($4561|0),1,0)|0); + $4563 = tempRet0; + $4564 = $v; + $4565 = $4564; + HEAP32[$4565>>2] = $4562; + $4566 = (($4564) + 4)|0; + $4567 = $4566; + HEAP32[$4567>>2] = $4563; + $4568 = HEAP32[$pC40>>2]|0; + $4569 = ((($4568)) + 16|0); + $4570 = HEAP32[$4569>>2]|0; + $4571 = $v; + $4572 = $4571; + $4573 = HEAP32[$4572>>2]|0; + $4574 = (($4571) + 4)|0; + $4575 = $4574; + $4576 = HEAP32[$4575>>2]|0; + $4577 = (_sqlite3BtreeMovetoUnpacked($4570,0,$4573,$4576,0,$res41)|0); + HEAP32[$rc>>2] = $4577; + $4578 = ($4577|0)==(0); + $4579 = HEAP32[$res41>>2]|0; + $4580 = ($4579|0)==(0); + $or$cond18 = $4578 & $4580; if (!($or$cond18)) { break; } - $4524 = HEAP32[$cnt42>>2]|0; - $4525 = (($4524) + 1)|0; - HEAP32[$cnt42>>2] = $4525; - $4526 = ($4525|0)<(100); - if (!($4526)) { + $4581 = HEAP32[$cnt42>>2]|0; + $4582 = (($4581) + 1)|0; + HEAP32[$cnt42>>2] = $4582; + $4583 = ($4582|0)<(100); + if (!($4583)) { break; } } - $4527 = HEAP32[$rc>>2]|0; - $4528 = ($4527|0)!=(0); - if ($4528) { + $4584 = HEAP32[$rc>>2]|0; + $4585 = ($4584|0)!=(0); + if ($4585) { break L1; } - $4529 = HEAP32[$res41>>2]|0; - $4530 = ($4529|0)==(0); - if ($4530) { - label = 553; + $4586 = HEAP32[$res41>>2]|0; + $4587 = ($4586|0)==(0); + if ($4587) { + label = 554; break L8; } } - $4531 = HEAP32[$pC40>>2]|0; - $4532 = ((($4531)) + 3|0); - HEAP8[$4532>>0] = 0; - $4533 = HEAP32[$pC40>>2]|0; - $4534 = ((($4533)) + 56|0); - HEAP32[$4534>>2] = 0; - $4535 = $v; - $4536 = $4535; - $4537 = HEAP32[$4536>>2]|0; - $4538 = (($4535) + 4)|0; - $4539 = $4538; - $4540 = HEAP32[$4539>>2]|0; - $4541 = HEAP32[$pOut>>2]|0; - $4542 = $4541; - $4543 = $4542; - HEAP32[$4543>>2] = $4537; - $4544 = (($4542) + 4)|0; - $4545 = $4544; - HEAP32[$4545>>2] = $4540; + $4588 = HEAP32[$pC40>>2]|0; + $4589 = ((($4588)) + 3|0); + HEAP8[$4589>>0] = 0; + $4590 = HEAP32[$pC40>>2]|0; + $4591 = ((($4590)) + 56|0); + HEAP32[$4591>>2] = 0; + $4592 = $v; + $4593 = $4592; + $4594 = HEAP32[$4593>>2]|0; + $4595 = (($4592) + 4)|0; + $4596 = $4595; + $4597 = HEAP32[$4596>>2]|0; + $4598 = HEAP32[$pOut>>2]|0; + $4599 = $4598; + $4600 = $4599; + HEAP32[$4600>>2] = $4594; + $4601 = (($4599) + 4)|0; + $4602 = $4601; + HEAP32[$4602>>2] = $4597; break; } - case 114: case 113: { - HEAP32[$op48>>2] = 0; - $4546 = HEAP32[$pOp>>2]|0; - $4547 = ((($4546)) + 8|0); - $4548 = HEAP32[$4547>>2]|0; - $4549 = HEAP32[$aMem>>2]|0; - $4550 = (($4549) + (($4548*40)|0)|0); - HEAP32[$pData>>2] = $4550; - $4551 = HEAP32[$pOp>>2]|0; - $4552 = ((($4551)) + 4|0); - $4553 = HEAP32[$4552>>2]|0; - $4554 = HEAP32[$0>>2]|0; - $4555 = ((($4554)) + 56|0); - $4556 = HEAP32[$4555>>2]|0; - $4557 = (($4556) + ($4553<<2)|0); - $4558 = HEAP32[$4557>>2]|0; - HEAP32[$pC46>>2] = $4558; - $4559 = HEAP32[$pOp>>2]|0; - $4560 = HEAP8[$4559>>0]|0; - $4561 = $4560&255; - $4562 = ($4561|0)==(113); - $4563 = HEAP32[$pOp>>2]|0; - $4564 = ((($4563)) + 12|0); - $4565 = HEAP32[$4564>>2]|0; - if ($4562) { - $4566 = HEAP32[$aMem>>2]|0; - $4567 = (($4566) + (($4565*40)|0)|0); - HEAP32[$pKey>>2] = $4567; - $4568 = HEAP32[$pKey>>2]|0; - $4569 = $4568; - $4570 = $4569; - $4571 = HEAP32[$4570>>2]|0; - $4572 = (($4569) + 4)|0; - $4573 = $4572; - $4574 = HEAP32[$4573>>2]|0; - $4575 = $iKey45; - $4576 = $4575; - HEAP32[$4576>>2] = $4571; - $4577 = (($4575) + 4)|0; - $4578 = $4577; - HEAP32[$4578>>2] = $4574; + case 116: case 115: { + HEAP32[$op46>>2] = 0; + $4603 = HEAP32[$pOp>>2]|0; + $4604 = ((($4603)) + 8|0); + $4605 = HEAP32[$4604>>2]|0; + $4606 = HEAP32[$aMem>>2]|0; + $4607 = (($4606) + (($4605*40)|0)|0); + HEAP32[$pData>>2] = $4607; + $4608 = HEAP32[$pOp>>2]|0; + $4609 = ((($4608)) + 4|0); + $4610 = HEAP32[$4609>>2]|0; + $4611 = HEAP32[$0>>2]|0; + $4612 = ((($4611)) + 112|0); + $4613 = HEAP32[$4612>>2]|0; + $4614 = (($4613) + ($4610<<2)|0); + $4615 = HEAP32[$4614>>2]|0; + HEAP32[$pC45>>2] = $4615; + $4616 = HEAP32[$pOp>>2]|0; + $4617 = HEAP8[$4616>>0]|0; + $4618 = $4617&255; + $4619 = ($4618|0)==(115); + $4620 = HEAP32[$pOp>>2]|0; + $4621 = ((($4620)) + 12|0); + $4622 = HEAP32[$4621>>2]|0; + if ($4619) { + $4623 = HEAP32[$aMem>>2]|0; + $4624 = (($4623) + (($4622*40)|0)|0); + HEAP32[$pKey>>2] = $4624; + $4625 = HEAP32[$pKey>>2]|0; + $4626 = $4625; + $4627 = $4626; + $4628 = HEAP32[$4627>>2]|0; + $4629 = (($4626) + 4)|0; + $4630 = $4629; + $4631 = HEAP32[$4630>>2]|0; + $4632 = ((($x)) + 8|0); + $4633 = $4632; + $4634 = $4633; + HEAP32[$4634>>2] = $4628; + $4635 = (($4633) + 4)|0; + $4636 = $4635; + HEAP32[$4636>>2] = $4631; } else { - $4579 = ($4565|0)<(0); - $4580 = $4579 << 31 >> 31; - $4581 = $iKey45; - $4582 = $4581; - HEAP32[$4582>>2] = $4565; - $4583 = (($4581) + 4)|0; - $4584 = $4583; - HEAP32[$4584>>2] = $4580; + $4637 = ($4622|0)<(0); + $4638 = $4637 << 31 >> 31; + $4639 = ((($x)) + 8|0); + $4640 = $4639; + $4641 = $4640; + HEAP32[$4641>>2] = $4622; + $4642 = (($4640) + 4)|0; + $4643 = $4642; + HEAP32[$4643>>2] = $4638; } - $4585 = HEAP32[$pOp>>2]|0; - $4586 = ((($4585)) + 1|0); - $4587 = HEAP8[$4586>>0]|0; - $4588 = $4587 << 24 >> 24; - $4589 = ($4588|0)==(-20); - if ($4589) { - $4590 = HEAP32[$db>>2]|0; - $4591 = ((($4590)) + 216|0); - $4592 = HEAP32[$4591>>2]|0; - $4593 = ($4592|0)!=(0|0); - if ($4593) { - $4594 = HEAP32[$pC46>>2]|0; - $4595 = ((($4594)) + 1|0); - $4596 = HEAP8[$4595>>0]|0; - $4597 = $4596 << 24 >> 24; - $4598 = HEAP32[$db>>2]|0; - $4599 = ((($4598)) + 16|0); - $4600 = HEAP32[$4599>>2]|0; - $4601 = (($4600) + ($4597<<4)|0); - $4602 = HEAP32[$4601>>2]|0; - HEAP32[$zDb>>2] = $4602; - $4603 = HEAP32[$pOp>>2]|0; - $4604 = ((($4603)) + 16|0); - $4605 = HEAP32[$4604>>2]|0; - HEAP32[$pTab>>2] = $4605; - $4606 = HEAP32[$pOp>>2]|0; - $4607 = ((($4606)) + 3|0); - $4608 = HEAP8[$4607>>0]|0; - $4609 = $4608&255; - $4610 = $4609 & 4; - $4611 = ($4610|0)!=(0); - $4612 = $4611 ? 23 : 18; - HEAP32[$op48>>2] = $4612; + $4644 = HEAP32[$pOp>>2]|0; + $4645 = ((($4644)) + 1|0); + $4646 = HEAP8[$4645>>0]|0; + $4647 = $4646 << 24 >> 24; + $4648 = ($4647|0)==(-20); + if ($4648) { + $4649 = HEAP32[$db>>2]|0; + $4650 = ((($4649)) + 220|0); + $4651 = HEAP32[$4650>>2]|0; + $4652 = ($4651|0)!=(0|0); + if ($4652) { + $4653 = HEAP32[$pC45>>2]|0; + $4654 = ((($4653)) + 1|0); + $4655 = HEAP8[$4654>>0]|0; + $4656 = $4655 << 24 >> 24; + $4657 = HEAP32[$db>>2]|0; + $4658 = ((($4657)) + 16|0); + $4659 = HEAP32[$4658>>2]|0; + $4660 = (($4659) + ($4656<<4)|0); + $4661 = HEAP32[$4660>>2]|0; + HEAP32[$zDb>>2] = $4661; + $4662 = HEAP32[$pOp>>2]|0; + $4663 = ((($4662)) + 16|0); + $4664 = HEAP32[$4663>>2]|0; + HEAP32[$pTab>>2] = $4664; + $4665 = HEAP32[$pOp>>2]|0; + $4666 = ((($4665)) + 3|0); + $4667 = HEAP8[$4666>>0]|0; + $4668 = $4667&255; + $4669 = $4668 & 4; + $4670 = ($4669|0)!=(0); + $4671 = $4670 ? 23 : 18; + HEAP32[$op46>>2] = $4671; } else { - label = 561; + label = 562; } } else { - label = 561; + label = 562; } - if ((label|0) == 561) { + if ((label|0) == 562) { label = 0; HEAP32[$pTab>>2] = 0; HEAP32[$zDb>>2] = 0; } - $4613 = HEAP32[$pOp>>2]|0; - $4614 = ((($4613)) + 3|0); - $4615 = HEAP8[$4614>>0]|0; - $4616 = $4615&255; - $4617 = $4616 & 1; - $4618 = ($4617|0)!=(0); - if ($4618) { - $4619 = HEAP32[$0>>2]|0; - $4620 = ((($4619)) + 92|0); - $4621 = HEAP32[$4620>>2]|0; - $4622 = (($4621) + 1)|0; - HEAP32[$4620>>2] = $4622; + $4672 = HEAP32[$pOp>>2]|0; + $4673 = ((($4672)) + 3|0); + $4674 = HEAP8[$4673>>0]|0; + $4675 = $4674&255; + $4676 = $4675 & 1; + $4677 = ($4676|0)!=(0); + if ($4677) { + $4678 = HEAP32[$0>>2]|0; + $4679 = ((($4678)) + 44|0); + $4680 = HEAP32[$4679>>2]|0; + $4681 = (($4680) + 1)|0; + HEAP32[$4679>>2] = $4681; } - $4623 = HEAP32[$pOp>>2]|0; - $4624 = ((($4623)) + 3|0); - $4625 = HEAP8[$4624>>0]|0; - $4626 = $4625&255; - $4627 = $4626 & 2; - $4628 = ($4627|0)!=(0); - if ($4628) { - $4629 = $iKey45; - $4630 = $4629; - $4631 = HEAP32[$4630>>2]|0; - $4632 = (($4629) + 4)|0; - $4633 = $4632; - $4634 = HEAP32[$4633>>2]|0; - $4635 = $lastRowid; - $4636 = $4635; - HEAP32[$4636>>2] = $4631; - $4637 = (($4635) + 4)|0; - $4638 = $4637; - HEAP32[$4638>>2] = $4634; - $4639 = HEAP32[$db>>2]|0; - $4640 = ((($4639)) + 32|0); - $4641 = $4640; - $4642 = $4641; - HEAP32[$4642>>2] = $4631; - $4643 = (($4641) + 4)|0; - $4644 = $4643; - HEAP32[$4644>>2] = $4634; + $4682 = HEAP32[$pOp>>2]|0; + $4683 = ((($4682)) + 3|0); + $4684 = HEAP8[$4683>>0]|0; + $4685 = $4684&255; + $4686 = $4685 & 2; + $4687 = ($4686|0)!=(0); + if ($4687) { + $4688 = ((($x)) + 8|0); + $4689 = $4688; + $4690 = $4689; + $4691 = HEAP32[$4690>>2]|0; + $4692 = (($4689) + 4)|0; + $4693 = $4692; + $4694 = HEAP32[$4693>>2]|0; + $4695 = $lastRowid; + $4696 = $4695; + HEAP32[$4696>>2] = $4691; + $4697 = (($4695) + 4)|0; + $4698 = $4697; + HEAP32[$4698>>2] = $4694; + $4699 = HEAP32[$db>>2]|0; + $4700 = ((($4699)) + 32|0); + $4701 = $4700; + $4702 = $4701; + HEAP32[$4702>>2] = $4691; + $4703 = (($4701) + 4)|0; + $4704 = $4703; + HEAP32[$4704>>2] = $4694; } - $4645 = HEAP32[$pData>>2]|0; - $4646 = ((($4645)) + 8|0); - $4647 = HEAP16[$4646>>1]|0; - $4648 = $4647&65535; - $4649 = $4648 & 1; - $4650 = ($4649|0)!=(0); - if ($4650) { - $4651 = HEAP32[$pData>>2]|0; - $4652 = ((($4651)) + 16|0); - HEAP32[$4652>>2] = 0; - $4653 = HEAP32[$pData>>2]|0; - $4654 = ((($4653)) + 12|0); - HEAP32[$4654>>2] = 0; + $4705 = HEAP32[$pData>>2]|0; + $4706 = ((($4705)) + 8|0); + $4707 = HEAP16[$4706>>1]|0; + $4708 = $4707&65535; + $4709 = $4708 & 1; + $4710 = ($4709|0)!=(0); + if ($4710) { + $4711 = ((($x)) + 16|0); + HEAP32[$4711>>2] = 0; + $4712 = ((($x)) + 20|0); + HEAP32[$4712>>2] = 0; + } else { + $4713 = HEAP32[$pData>>2]|0; + $4714 = ((($4713)) + 16|0); + $4715 = HEAP32[$4714>>2]|0; + $4716 = ((($x)) + 16|0); + HEAP32[$4716>>2] = $4715; + $4717 = HEAP32[$pData>>2]|0; + $4718 = ((($4717)) + 12|0); + $4719 = HEAP32[$4718>>2]|0; + $4720 = ((($x)) + 20|0); + HEAP32[$4720>>2] = $4719; } - $4655 = HEAP32[$pOp>>2]|0; - $4656 = ((($4655)) + 3|0); - $4657 = HEAP8[$4656>>0]|0; - $4658 = $4657&255; - $4659 = $4658 & 16; - $4660 = ($4659|0)!=(0); - if ($4660) { - $4661 = HEAP32[$pC46>>2]|0; - $4662 = ((($4661)) + 28|0); - $4663 = HEAP32[$4662>>2]|0; - $4664 = $4663; + $4721 = HEAP32[$pOp>>2]|0; + $4722 = ((($4721)) + 3|0); + $4723 = HEAP8[$4722>>0]|0; + $4724 = $4723&255; + $4725 = $4724 & 16; + $4726 = ($4725|0)!=(0); + if ($4726) { + $4727 = HEAP32[$pC45>>2]|0; + $4728 = ((($4727)) + 28|0); + $4729 = HEAP32[$4728>>2]|0; + $4730 = $4729; } else { - $4664 = 0; + $4730 = 0; } - HEAP32[$seekResult>>2] = $4664; - $4665 = HEAP32[$pData>>2]|0; - $4666 = ((($4665)) + 8|0); - $4667 = HEAP16[$4666>>1]|0; - $4668 = $4667&65535; - $4669 = $4668 & 16384; - $4670 = ($4669|0)!=(0); - if ($4670) { - $4671 = HEAP32[$pData>>2]|0; - $4672 = HEAP32[$4671>>2]|0; - HEAP32[$nZero47>>2] = $4672; + HEAP32[$seekResult>>2] = $4730; + $4731 = HEAP32[$pData>>2]|0; + $4732 = ((($4731)) + 8|0); + $4733 = HEAP16[$4732>>1]|0; + $4734 = $4733&65535; + $4735 = $4734 & 16384; + $4736 = ($4735|0)!=(0); + if ($4736) { + $4737 = HEAP32[$pData>>2]|0; + $4738 = HEAP32[$4737>>2]|0; + $4739 = ((($x)) + 24|0); + HEAP32[$4739>>2] = $4738; } else { - HEAP32[$nZero47>>2] = 0; + $4740 = ((($x)) + 24|0); + HEAP32[$4740>>2] = 0; } - $4673 = HEAP32[$pC46>>2]|0; - $4674 = ((($4673)) + 16|0); - $4675 = HEAP32[$4674>>2]|0; - $4676 = $iKey45; - $4677 = $4676; - $4678 = HEAP32[$4677>>2]|0; - $4679 = (($4676) + 4)|0; - $4680 = $4679; - $4681 = HEAP32[$4680>>2]|0; - $4682 = HEAP32[$pData>>2]|0; - $4683 = ((($4682)) + 16|0); - $4684 = HEAP32[$4683>>2]|0; - $4685 = HEAP32[$pData>>2]|0; - $4686 = ((($4685)) + 12|0); - $4687 = HEAP32[$4686>>2]|0; - $4688 = HEAP32[$nZero47>>2]|0; - $4689 = HEAP32[$pOp>>2]|0; - $4690 = ((($4689)) + 3|0); - $4691 = HEAP8[$4690>>0]|0; - $4692 = $4691&255; - $4693 = $4692 & 8; - $4694 = ($4693|0)!=(0); - $4695 = $4694&1; - $4696 = HEAP32[$seekResult>>2]|0; - $4697 = (_sqlite3BtreeInsert($4675,0,$4678,$4681,$4684,$4687,$4688,$4695,$4696)|0); - HEAP32[$rc>>2] = $4697; - $4698 = HEAP32[$pC46>>2]|0; - $4699 = ((($4698)) + 3|0); - HEAP8[$4699>>0] = 0; - $4700 = HEAP32[$pC46>>2]|0; - $4701 = ((($4700)) + 56|0); - HEAP32[$4701>>2] = 0; - $4702 = HEAP32[$rc>>2]|0; - $4703 = ($4702|0)!=(0); - if ($4703) { + HEAP32[$x>>2] = 0; + $4741 = HEAP32[$pC45>>2]|0; + $4742 = ((($4741)) + 16|0); + $4743 = HEAP32[$4742>>2]|0; + $4744 = HEAP32[$pOp>>2]|0; + $4745 = ((($4744)) + 3|0); + $4746 = HEAP8[$4745>>0]|0; + $4747 = $4746&255; + $4748 = $4747 & 8; + $4749 = ($4748|0)!=(0); + $4750 = $4749&1; + $4751 = HEAP32[$seekResult>>2]|0; + $4752 = (_sqlite3BtreeInsert($4743,$x,$4750,$4751)|0); + HEAP32[$rc>>2] = $4752; + $4753 = HEAP32[$pC45>>2]|0; + $4754 = ((($4753)) + 3|0); + HEAP8[$4754>>0] = 0; + $4755 = HEAP32[$pC45>>2]|0; + $4756 = ((($4755)) + 56|0); + HEAP32[$4756>>2] = 0; + $4757 = HEAP32[$rc>>2]|0; + $4758 = ($4757|0)!=(0); + if ($4758) { break L1; } - $4704 = HEAP32[$db>>2]|0; - $4705 = ((($4704)) + 216|0); - $4706 = HEAP32[$4705>>2]|0; - $4707 = ($4706|0)!=(0|0); - $4708 = HEAP32[$op48>>2]|0; - $4709 = ($4708|0)!=(0); - $or$cond21 = $4707 & $4709; + $4759 = HEAP32[$db>>2]|0; + $4760 = ((($4759)) + 220|0); + $4761 = HEAP32[$4760>>2]|0; + $4762 = ($4761|0)!=(0|0); + $4763 = HEAP32[$op46>>2]|0; + $4764 = ($4763|0)!=(0); + $or$cond21 = $4762 & $4764; if ($or$cond21) { - $4710 = HEAP32[$db>>2]|0; - $4711 = ((($4710)) + 216|0); - $4712 = HEAP32[$4711>>2]|0; - $4713 = HEAP32[$db>>2]|0; - $4714 = ((($4713)) + 212|0); - $4715 = HEAP32[$4714>>2]|0; - $4716 = HEAP32[$op48>>2]|0; - $4717 = HEAP32[$zDb>>2]|0; - $4718 = HEAP32[$pTab>>2]|0; - $4719 = HEAP32[$4718>>2]|0; - $4720 = $iKey45; - $4721 = $4720; - $4722 = HEAP32[$4721>>2]|0; - $4723 = (($4720) + 4)|0; - $4724 = $4723; - $4725 = HEAP32[$4724>>2]|0; - FUNCTION_TABLE_viiiiii[$4712 & 255]($4715,$4716,$4717,$4719,$4722,$4725); + $4765 = HEAP32[$db>>2]|0; + $4766 = ((($4765)) + 220|0); + $4767 = HEAP32[$4766>>2]|0; + $4768 = HEAP32[$db>>2]|0; + $4769 = ((($4768)) + 216|0); + $4770 = HEAP32[$4769>>2]|0; + $4771 = HEAP32[$op46>>2]|0; + $4772 = HEAP32[$zDb>>2]|0; + $4773 = HEAP32[$pTab>>2]|0; + $4774 = HEAP32[$4773>>2]|0; + $4775 = ((($x)) + 8|0); + $4776 = $4775; + $4777 = $4776; + $4778 = HEAP32[$4777>>2]|0; + $4779 = (($4776) + 4)|0; + $4780 = $4779; + $4781 = HEAP32[$4780>>2]|0; + FUNCTION_TABLE_viiiiii[$4767 & 255]($4770,$4771,$4772,$4774,$4778,$4781); } break; } - case 115: { - $4726 = HEAP32[$pOp>>2]|0; - $4727 = ((($4726)) + 8|0); - $4728 = HEAP32[$4727>>2]|0; - HEAP32[$opflags>>2] = $4728; - $4729 = HEAP32[$pOp>>2]|0; - $4730 = ((($4729)) + 4|0); - $4731 = HEAP32[$4730>>2]|0; - $4732 = HEAP32[$0>>2]|0; - $4733 = ((($4732)) + 56|0); - $4734 = HEAP32[$4733>>2]|0; - $4735 = (($4734) + ($4731<<2)|0); - $4736 = HEAP32[$4735>>2]|0; - HEAP32[$pC49>>2] = $4736; - $4737 = HEAP32[$pOp>>2]|0; - $4738 = ((($4737)) + 1|0); - $4739 = HEAP8[$4738>>0]|0; - $4740 = $4739 << 24 >> 24; - $4741 = ($4740|0)==(-20); - if ($4741) { - $4742 = HEAP32[$db>>2]|0; - $4743 = ((($4742)) + 216|0); - $4744 = HEAP32[$4743>>2]|0; - $4745 = ($4744|0)!=(0|0); - if ($4745) { - $4746 = HEAP32[$pC49>>2]|0; - $4747 = ((($4746)) + 1|0); - $4748 = HEAP8[$4747>>0]|0; - $4749 = $4748 << 24 >> 24; - $4750 = HEAP32[$db>>2]|0; - $4751 = ((($4750)) + 16|0); - $4752 = HEAP32[$4751>>2]|0; - $4753 = (($4752) + ($4749<<4)|0); - $4754 = HEAP32[$4753>>2]|0; - HEAP32[$zDb50>>2] = $4754; - $4755 = HEAP32[$pOp>>2]|0; - $4756 = ((($4755)) + 16|0); - $4757 = HEAP32[$4756>>2]|0; - HEAP32[$pTab51>>2] = $4757; - $4758 = HEAP32[$pOp>>2]|0; - $4759 = ((($4758)) + 3|0); - $4760 = HEAP8[$4759>>0]|0; - $4761 = $4760&255; - $4762 = $4761 & 2; - $4763 = ($4762|0)!=(0); - if ($4763) { - $4764 = HEAP32[$pC49>>2]|0; - $4765 = ((($4764)) + 4|0); - $4766 = HEAP8[$4765>>0]|0; - $4767 = $4766&255; - $4768 = ($4767|0)!=(0); - if ($4768) { - $4769 = HEAP32[$pC49>>2]|0; - $4770 = ((($4769)) + 16|0); - $4771 = HEAP32[$4770>>2]|0; - $4772 = HEAP32[$pC49>>2]|0; - $4773 = ((($4772)) + 40|0); - (_sqlite3BtreeKeySize($4771,$4773)|0); + case 117: { + $4782 = HEAP32[$pOp>>2]|0; + $4783 = ((($4782)) + 8|0); + $4784 = HEAP32[$4783>>2]|0; + HEAP32[$opflags>>2] = $4784; + $4785 = HEAP32[$pOp>>2]|0; + $4786 = ((($4785)) + 4|0); + $4787 = HEAP32[$4786>>2]|0; + $4788 = HEAP32[$0>>2]|0; + $4789 = ((($4788)) + 112|0); + $4790 = HEAP32[$4789>>2]|0; + $4791 = (($4790) + ($4787<<2)|0); + $4792 = HEAP32[$4791>>2]|0; + HEAP32[$pC47>>2] = $4792; + $4793 = HEAP32[$pOp>>2]|0; + $4794 = ((($4793)) + 1|0); + $4795 = HEAP8[$4794>>0]|0; + $4796 = $4795 << 24 >> 24; + $4797 = ($4796|0)==(-20); + if ($4797) { + $4798 = HEAP32[$db>>2]|0; + $4799 = ((($4798)) + 220|0); + $4800 = HEAP32[$4799>>2]|0; + $4801 = ($4800|0)!=(0|0); + if ($4801) { + $4802 = HEAP32[$pC47>>2]|0; + $4803 = ((($4802)) + 1|0); + $4804 = HEAP8[$4803>>0]|0; + $4805 = $4804 << 24 >> 24; + $4806 = HEAP32[$db>>2]|0; + $4807 = ((($4806)) + 16|0); + $4808 = HEAP32[$4807>>2]|0; + $4809 = (($4808) + ($4805<<4)|0); + $4810 = HEAP32[$4809>>2]|0; + HEAP32[$zDb48>>2] = $4810; + $4811 = HEAP32[$pOp>>2]|0; + $4812 = ((($4811)) + 16|0); + $4813 = HEAP32[$4812>>2]|0; + HEAP32[$pTab49>>2] = $4813; + $4814 = HEAP32[$pOp>>2]|0; + $4815 = ((($4814)) + 3|0); + $4816 = HEAP8[$4815>>0]|0; + $4817 = $4816&255; + $4818 = $4817 & 2; + $4819 = ($4818|0)!=(0); + if ($4819) { + $4820 = HEAP32[$pC47>>2]|0; + $4821 = ((($4820)) + 4|0); + $4822 = HEAP8[$4821>>0]|0; + $4823 = $4822&255; + $4824 = ($4823|0)!=(0); + if ($4824) { + $4825 = HEAP32[$pC47>>2]|0; + $4826 = ((($4825)) + 16|0); + $4827 = HEAP32[$4826>>2]|0; + $4828 = (_sqlite3BtreeIntegerKey($4827)|0); + $4829 = tempRet0; + $4830 = HEAP32[$pC47>>2]|0; + $4831 = ((($4830)) + 40|0); + $4832 = $4831; + $4833 = $4832; + HEAP32[$4833>>2] = $4828; + $4834 = (($4832) + 4)|0; + $4835 = $4834; + HEAP32[$4835>>2] = $4829; } } } else { - label = 581; + label = 583; } } else { - label = 581; + label = 583; } - if ((label|0) == 581) { + if ((label|0) == 583) { label = 0; - HEAP32[$zDb50>>2] = 0; - HEAP32[$pTab51>>2] = 0; + HEAP32[$zDb48>>2] = 0; + HEAP32[$pTab49>>2] = 0; } - $4774 = HEAP32[$pC49>>2]|0; - $4775 = ((($4774)) + 16|0); - $4776 = HEAP32[$4775>>2]|0; - $4777 = HEAP32[$pOp>>2]|0; - $4778 = ((($4777)) + 3|0); - $4779 = HEAP8[$4778>>0]|0; - $4780 = (_sqlite3BtreeDelete($4776,$4779)|0); - HEAP32[$rc>>2] = $4780; - $4781 = HEAP32[$pC49>>2]|0; - $4782 = ((($4781)) + 56|0); - HEAP32[$4782>>2] = 0; - $4783 = HEAP32[$rc>>2]|0; - $4784 = ($4783|0)!=(0); - if ($4784) { + $4836 = HEAP32[$pC47>>2]|0; + $4837 = ((($4836)) + 16|0); + $4838 = HEAP32[$4837>>2]|0; + $4839 = HEAP32[$pOp>>2]|0; + $4840 = ((($4839)) + 3|0); + $4841 = HEAP8[$4840>>0]|0; + $4842 = (_sqlite3BtreeDelete($4838,$4841)|0); + HEAP32[$rc>>2] = $4842; + $4843 = HEAP32[$pC47>>2]|0; + $4844 = ((($4843)) + 56|0); + HEAP32[$4844>>2] = 0; + $4845 = HEAP32[$rc>>2]|0; + $4846 = ($4845|0)!=(0); + if ($4846) { break L1; } - $4785 = HEAP32[$opflags>>2]|0; - $4786 = $4785 & 1; - $4787 = ($4786|0)!=(0); - if ($4787) { - $4788 = HEAP32[$0>>2]|0; - $4789 = ((($4788)) + 92|0); - $4790 = HEAP32[$4789>>2]|0; - $4791 = (($4790) + 1)|0; - HEAP32[$4789>>2] = $4791; - $4792 = HEAP32[$db>>2]|0; - $4793 = ((($4792)) + 216|0); - $4794 = HEAP32[$4793>>2]|0; - $4795 = ($4794|0)!=(0|0); - if ($4795) { - $4796 = HEAP32[$pTab51>>2]|0; - $4797 = ((($4796)) + 42|0); - $4798 = HEAP8[$4797>>0]|0; - $4799 = $4798&255; - $4800 = $4799 & 32; - $4801 = ($4800|0)==(0); - if ($4801) { - $4802 = HEAP32[$db>>2]|0; - $4803 = ((($4802)) + 216|0); - $4804 = HEAP32[$4803>>2]|0; - $4805 = HEAP32[$db>>2]|0; - $4806 = ((($4805)) + 212|0); - $4807 = HEAP32[$4806>>2]|0; - $4808 = HEAP32[$zDb50>>2]|0; - $4809 = HEAP32[$pTab51>>2]|0; - $4810 = HEAP32[$4809>>2]|0; - $4811 = HEAP32[$pC49>>2]|0; - $4812 = ((($4811)) + 40|0); - $4813 = $4812; - $4814 = $4813; - $4815 = HEAP32[$4814>>2]|0; - $4816 = (($4813) + 4)|0; - $4817 = $4816; - $4818 = HEAP32[$4817>>2]|0; - FUNCTION_TABLE_viiiiii[$4804 & 255]($4807,9,$4808,$4810,$4815,$4818); + $4847 = HEAP32[$opflags>>2]|0; + $4848 = $4847 & 1; + $4849 = ($4848|0)!=(0); + if ($4849) { + $4850 = HEAP32[$0>>2]|0; + $4851 = ((($4850)) + 44|0); + $4852 = HEAP32[$4851>>2]|0; + $4853 = (($4852) + 1)|0; + HEAP32[$4851>>2] = $4853; + $4854 = HEAP32[$db>>2]|0; + $4855 = ((($4854)) + 220|0); + $4856 = HEAP32[$4855>>2]|0; + $4857 = ($4856|0)!=(0|0); + if ($4857) { + $4858 = HEAP32[$pTab49>>2]|0; + $4859 = ((($4858)) + 42|0); + $4860 = HEAP8[$4859>>0]|0; + $4861 = $4860&255; + $4862 = $4861 & 32; + $4863 = ($4862|0)==(0); + if ($4863) { + $4864 = HEAP32[$db>>2]|0; + $4865 = ((($4864)) + 220|0); + $4866 = HEAP32[$4865>>2]|0; + $4867 = HEAP32[$db>>2]|0; + $4868 = ((($4867)) + 216|0); + $4869 = HEAP32[$4868>>2]|0; + $4870 = HEAP32[$zDb48>>2]|0; + $4871 = HEAP32[$pTab49>>2]|0; + $4872 = HEAP32[$4871>>2]|0; + $4873 = HEAP32[$pC47>>2]|0; + $4874 = ((($4873)) + 40|0); + $4875 = $4874; + $4876 = $4875; + $4877 = HEAP32[$4876>>2]|0; + $4878 = (($4875) + 4)|0; + $4879 = $4878; + $4880 = HEAP32[$4879>>2]|0; + FUNCTION_TABLE_viiiiii[$4866 & 255]($4869,9,$4870,$4872,$4877,$4880); } } } break; } - case 116: { - $4819 = HEAP32[$db>>2]|0; - $4820 = HEAP32[$0>>2]|0; - $4821 = ((($4820)) + 92|0); - $4822 = HEAP32[$4821>>2]|0; - _sqlite3VdbeSetChanges($4819,$4822); - $4823 = HEAP32[$0>>2]|0; - $4824 = ((($4823)) + 92|0); - HEAP32[$4824>>2] = 0; + case 118: { + $4881 = HEAP32[$db>>2]|0; + $4882 = HEAP32[$0>>2]|0; + $4883 = ((($4882)) + 44|0); + $4884 = HEAP32[$4883>>2]|0; + _sqlite3VdbeSetChanges($4881,$4884); + $4885 = HEAP32[$0>>2]|0; + $4886 = ((($4885)) + 44|0); + HEAP32[$4886>>2] = 0; break; } - case 117: { - $4825 = HEAP32[$pOp>>2]|0; - $4826 = ((($4825)) + 4|0); - $4827 = HEAP32[$4826>>2]|0; - $4828 = HEAP32[$0>>2]|0; - $4829 = ((($4828)) + 56|0); - $4830 = HEAP32[$4829>>2]|0; - $4831 = (($4830) + ($4827<<2)|0); - $4832 = HEAP32[$4831>>2]|0; - HEAP32[$pC52>>2] = $4832; - $4833 = HEAP32[$pOp>>2]|0; - $4834 = ((($4833)) + 12|0); - $4835 = HEAP32[$4834>>2]|0; - $4836 = HEAP32[$aMem>>2]|0; - $4837 = (($4836) + (($4835*40)|0)|0); - HEAP32[$pIn3>>2] = $4837; - $4838 = HEAP32[$pOp>>2]|0; - $4839 = ((($4838)) + 16|0); - $4840 = HEAP32[$4839>>2]|0; - HEAP32[$nKeyCol>>2] = $4840; - HEAP32[$res53>>2] = 0; - $4841 = HEAP32[$pC52>>2]|0; - $4842 = HEAP32[$pIn3>>2]|0; - $4843 = HEAP32[$nKeyCol>>2]|0; - $4844 = (_sqlite3VdbeSorterCompare($4841,$4842,$4843,$res53)|0); - HEAP32[$rc>>2] = $4844; - $4845 = HEAP32[$rc>>2]|0; - $4846 = ($4845|0)!=(0); - if ($4846) { + case 119: { + $4887 = HEAP32[$pOp>>2]|0; + $4888 = ((($4887)) + 4|0); + $4889 = HEAP32[$4888>>2]|0; + $4890 = HEAP32[$0>>2]|0; + $4891 = ((($4890)) + 112|0); + $4892 = HEAP32[$4891>>2]|0; + $4893 = (($4892) + ($4889<<2)|0); + $4894 = HEAP32[$4893>>2]|0; + HEAP32[$pC50>>2] = $4894; + $4895 = HEAP32[$pOp>>2]|0; + $4896 = ((($4895)) + 12|0); + $4897 = HEAP32[$4896>>2]|0; + $4898 = HEAP32[$aMem>>2]|0; + $4899 = (($4898) + (($4897*40)|0)|0); + HEAP32[$pIn3>>2] = $4899; + $4900 = HEAP32[$pOp>>2]|0; + $4901 = ((($4900)) + 16|0); + $4902 = HEAP32[$4901>>2]|0; + HEAP32[$nKeyCol>>2] = $4902; + HEAP32[$res51>>2] = 0; + $4903 = HEAP32[$pC50>>2]|0; + $4904 = HEAP32[$pIn3>>2]|0; + $4905 = HEAP32[$nKeyCol>>2]|0; + $4906 = (_sqlite3VdbeSorterCompare($4903,$4904,$4905,$res51)|0); + HEAP32[$rc>>2] = $4906; + $4907 = HEAP32[$rc>>2]|0; + $4908 = ($4907|0)!=(0); + if ($4908) { break L1; } - $4847 = HEAP32[$res53>>2]|0; - $4848 = ($4847|0)!=(0); - if ($4848) { + $4909 = HEAP32[$res51>>2]|0; + $4910 = ($4909|0)!=(0); + if ($4910) { label = 14; } break; } - case 118: { - $4849 = HEAP32[$pOp>>2]|0; - $4850 = ((($4849)) + 8|0); - $4851 = HEAP32[$4850>>2]|0; - $4852 = HEAP32[$aMem>>2]|0; - $4853 = (($4852) + (($4851*40)|0)|0); - HEAP32[$pOut>>2] = $4853; - $4854 = HEAP32[$pOp>>2]|0; - $4855 = ((($4854)) + 4|0); - $4856 = HEAP32[$4855>>2]|0; - $4857 = HEAP32[$0>>2]|0; - $4858 = ((($4857)) + 56|0); - $4859 = HEAP32[$4858>>2]|0; - $4860 = (($4859) + ($4856<<2)|0); - $4861 = HEAP32[$4860>>2]|0; - HEAP32[$pC54>>2] = $4861; - $4862 = HEAP32[$pC54>>2]|0; - $4863 = HEAP32[$pOut>>2]|0; - $4864 = (_sqlite3VdbeSorterRowkey($4862,$4863)|0); - HEAP32[$rc>>2] = $4864; - $4865 = HEAP32[$rc>>2]|0; - $4866 = ($4865|0)!=(0); - if ($4866) { + case 120: { + $4911 = HEAP32[$pOp>>2]|0; + $4912 = ((($4911)) + 8|0); + $4913 = HEAP32[$4912>>2]|0; + $4914 = HEAP32[$aMem>>2]|0; + $4915 = (($4914) + (($4913*40)|0)|0); + HEAP32[$pOut>>2] = $4915; + $4916 = HEAP32[$pOp>>2]|0; + $4917 = ((($4916)) + 4|0); + $4918 = HEAP32[$4917>>2]|0; + $4919 = HEAP32[$0>>2]|0; + $4920 = ((($4919)) + 112|0); + $4921 = HEAP32[$4920>>2]|0; + $4922 = (($4921) + ($4918<<2)|0); + $4923 = HEAP32[$4922>>2]|0; + HEAP32[$pC52>>2] = $4923; + $4924 = HEAP32[$pC52>>2]|0; + $4925 = HEAP32[$pOut>>2]|0; + $4926 = (_sqlite3VdbeSorterRowkey($4924,$4925)|0); + HEAP32[$rc>>2] = $4926; + $4927 = HEAP32[$rc>>2]|0; + $4928 = ($4927|0)!=(0); + if ($4928) { break L1; } - $4867 = HEAP32[$pOp>>2]|0; - $4868 = ((($4867)) + 12|0); - $4869 = HEAP32[$4868>>2]|0; - $4870 = HEAP32[$0>>2]|0; - $4871 = ((($4870)) + 56|0); - $4872 = HEAP32[$4871>>2]|0; - $4873 = (($4872) + ($4869<<2)|0); - $4874 = HEAP32[$4873>>2]|0; - $4875 = ((($4874)) + 56|0); - HEAP32[$4875>>2] = 0; + $4929 = HEAP32[$pOp>>2]|0; + $4930 = ((($4929)) + 12|0); + $4931 = HEAP32[$4930>>2]|0; + $4932 = HEAP32[$0>>2]|0; + $4933 = ((($4932)) + 112|0); + $4934 = HEAP32[$4933>>2]|0; + $4935 = (($4934) + ($4931<<2)|0); + $4936 = HEAP32[$4935>>2]|0; + $4937 = ((($4936)) + 56|0); + HEAP32[$4937>>2] = 0; break; } - case 120: case 119: { - $4876 = HEAP32[$pOp>>2]|0; - $4877 = ((($4876)) + 8|0); - $4878 = HEAP32[$4877>>2]|0; - $4879 = HEAP32[$aMem>>2]|0; - $4880 = (($4879) + (($4878*40)|0)|0); - HEAP32[$pOut>>2] = $4880; - $4881 = HEAP32[$pOp>>2]|0; - $4882 = ((($4881)) + 4|0); - $4883 = HEAP32[$4882>>2]|0; - $4884 = HEAP32[$0>>2]|0; - $4885 = ((($4884)) + 56|0); - $4886 = HEAP32[$4885>>2]|0; - $4887 = (($4886) + ($4883<<2)|0); - $4888 = HEAP32[$4887>>2]|0; - HEAP32[$pC55>>2] = $4888; - $4889 = HEAP32[$pC55>>2]|0; - $4890 = ((($4889)) + 16|0); - $4891 = HEAP32[$4890>>2]|0; - HEAP32[$pCrsr56>>2] = $4891; - $4892 = HEAP32[$pC55>>2]|0; - $4893 = ((($4892)) + 4|0); - $4894 = HEAP8[$4893>>0]|0; - $4895 = $4894&255; - $4896 = ($4895|0)==(0); - $4897 = HEAP32[$pCrsr56>>2]|0; - if ($4896) { - (_sqlite3BtreeKeySize($4897,$n64)|0); - $4898 = $n64; - $4899 = $4898; - $4900 = HEAP32[$4899>>2]|0; - $4901 = (($4898) + 4)|0; - $4902 = $4901; - $4903 = HEAP32[$4902>>2]|0; - $4904 = HEAP32[$db>>2]|0; - $4905 = ((($4904)) + 92|0); - $4906 = HEAP32[$4905>>2]|0; - $4907 = ($4906|0)<(0); - $4908 = $4907 << 31 >> 31; - $4909 = ($4903|0)>($4908|0); - $4910 = ($4900>>>0)>($4906>>>0); - $4911 = ($4903|0)==($4908|0); - $4912 = $4911 & $4910; - $4913 = $4909 | $4912; - if ($4913) { - label = 880; - break L8; - } - $4914 = $n64; - $4915 = $4914; - $4916 = HEAP32[$4915>>2]|0; - $4917 = (($4914) + 4)|0; - $4918 = $4917; - $4919 = HEAP32[$4918>>2]|0; - HEAP32[$n57>>2] = $4916; - } else { - (_sqlite3BtreeDataSize($4897,$n57)|0); - $4920 = HEAP32[$n57>>2]|0; - $4921 = HEAP32[$db>>2]|0; - $4922 = ((($4921)) + 92|0); - $4923 = HEAP32[$4922>>2]|0; - $4924 = ($4920>>>0)>($4923>>>0); - if ($4924) { - label = 880; - break L8; - } + case 122: case 121: { + $4938 = HEAP32[$pOp>>2]|0; + $4939 = ((($4938)) + 8|0); + $4940 = HEAP32[$4939>>2]|0; + $4941 = HEAP32[$aMem>>2]|0; + $4942 = (($4941) + (($4940*40)|0)|0); + HEAP32[$pOut>>2] = $4942; + $4943 = HEAP32[$pOp>>2]|0; + $4944 = ((($4943)) + 4|0); + $4945 = HEAP32[$4944>>2]|0; + $4946 = HEAP32[$0>>2]|0; + $4947 = ((($4946)) + 112|0); + $4948 = HEAP32[$4947>>2]|0; + $4949 = (($4948) + ($4945<<2)|0); + $4950 = HEAP32[$4949>>2]|0; + HEAP32[$pC53>>2] = $4950; + $4951 = HEAP32[$pC53>>2]|0; + $4952 = ((($4951)) + 16|0); + $4953 = HEAP32[$4952>>2]|0; + HEAP32[$pCrsr54>>2] = $4953; + $4954 = HEAP32[$pCrsr54>>2]|0; + $4955 = (_sqlite3BtreePayloadSize($4954)|0); + HEAP32[$n55>>2] = $4955; + $4956 = HEAP32[$n55>>2]|0; + $4957 = HEAP32[$db>>2]|0; + $4958 = ((($4957)) + 96|0); + $4959 = HEAP32[$4958>>2]|0; + $4960 = ($4956>>>0)>($4959>>>0); + if ($4960) { + label = 888; + break L8; } - $4925 = HEAP32[$pOut>>2]|0; - $4926 = HEAP32[$n57>>2]|0; - $4927 = ($4926>>>0)>(32); - $4928 = HEAP32[$n57>>2]|0; - $4929 = $4927 ? $4928 : 32; - $4930 = (_sqlite3VdbeMemClearAndResize($4925,$4929)|0); - $4931 = ($4930|0)!=(0); - if ($4931) { - label = 881; + $4961 = HEAP32[$pOut>>2]|0; + $4962 = HEAP32[$n55>>2]|0; + $4963 = ($4962>>>0)>(32); + $4964 = HEAP32[$n55>>2]|0; + $4965 = $4963 ? $4964 : 32; + $4966 = (_sqlite3VdbeMemClearAndResize($4961,$4965)|0); + $4967 = ($4966|0)!=(0); + if ($4967) { + label = 889; break L1; } - $4932 = HEAP32[$n57>>2]|0; - $4933 = HEAP32[$pOut>>2]|0; - $4934 = ((($4933)) + 12|0); - HEAP32[$4934>>2] = $4932; - $4935 = HEAP32[$pOut>>2]|0; - $4936 = ((($4935)) + 8|0); - $4937 = HEAP16[$4936>>1]|0; - $4938 = $4937&65535; - $4939 = $4938 & -49664; - $4940 = $4939 | 16; - $4941 = $4940&65535; - $4942 = HEAP32[$pOut>>2]|0; - $4943 = ((($4942)) + 8|0); - HEAP16[$4943>>1] = $4941; - $4944 = HEAP32[$pC55>>2]|0; - $4945 = ((($4944)) + 4|0); - $4946 = HEAP8[$4945>>0]|0; - $4947 = $4946&255; - $4948 = ($4947|0)==(0); - $4949 = HEAP32[$pCrsr56>>2]|0; - $4950 = HEAP32[$n57>>2]|0; - $4951 = HEAP32[$pOut>>2]|0; - $4952 = ((($4951)) + 16|0); - $4953 = HEAP32[$4952>>2]|0; - if ($4948) { - $4954 = (_sqlite3BtreeKey($4949,0,$4950,$4953)|0); - HEAP32[$rc>>2] = $4954; + $4968 = HEAP32[$n55>>2]|0; + $4969 = HEAP32[$pOut>>2]|0; + $4970 = ((($4969)) + 12|0); + HEAP32[$4970>>2] = $4968; + $4971 = HEAP32[$pOut>>2]|0; + $4972 = ((($4971)) + 8|0); + $4973 = HEAP16[$4972>>1]|0; + $4974 = $4973&65535; + $4975 = $4974 & -49664; + $4976 = $4975 | 16; + $4977 = $4976&65535; + $4978 = HEAP32[$pOut>>2]|0; + $4979 = ((($4978)) + 8|0); + HEAP16[$4979>>1] = $4977; + $4980 = HEAP32[$pC53>>2]|0; + $4981 = ((($4980)) + 4|0); + $4982 = HEAP8[$4981>>0]|0; + $4983 = $4982&255; + $4984 = ($4983|0)==(0); + $4985 = HEAP32[$pCrsr54>>2]|0; + $4986 = HEAP32[$n55>>2]|0; + $4987 = HEAP32[$pOut>>2]|0; + $4988 = ((($4987)) + 16|0); + $4989 = HEAP32[$4988>>2]|0; + if ($4984) { + $4990 = (_sqlite3BtreeKey($4985,0,$4986,$4989)|0); + HEAP32[$rc>>2] = $4990; } else { - $4955 = (_sqlite3BtreeData($4949,0,$4950,$4953)|0); - HEAP32[$rc>>2] = $4955; + $4991 = (_sqlite3BtreeData($4985,0,$4986,$4989)|0); + HEAP32[$rc>>2] = $4991; } - $4956 = HEAP32[$rc>>2]|0; - $4957 = ($4956|0)!=(0); - if ($4957) { + $4992 = HEAP32[$rc>>2]|0; + $4993 = ($4992|0)!=(0); + if ($4993) { break L1; } - $4958 = HEAP32[$pOut>>2]|0; - $4959 = ((($4958)) + 10|0); - HEAP8[$4959>>0] = 1; + $4994 = HEAP32[$pOut>>2]|0; + $4995 = ((($4994)) + 10|0); + HEAP8[$4995>>0] = 1; break; } - case 121: { - $4960 = HEAP32[$0>>2]|0; - $4961 = HEAP32[$pOp>>2]|0; - $4962 = (_out2Prerelease($4960,$4961)|0); - HEAP32[$pOut>>2] = $4962; - $4963 = HEAP32[$pOp>>2]|0; - $4964 = ((($4963)) + 4|0); - $4965 = HEAP32[$4964>>2]|0; - $4966 = HEAP32[$0>>2]|0; - $4967 = ((($4966)) + 56|0); - $4968 = HEAP32[$4967>>2]|0; - $4969 = (($4968) + ($4965<<2)|0); - $4970 = HEAP32[$4969>>2]|0; - HEAP32[$pC58>>2] = $4970; - $4971 = HEAP32[$pC58>>2]|0; - $4972 = ((($4971)) + 2|0); - $4973 = HEAP8[$4972>>0]|0; - $4974 = ($4973<<24>>24)!=(0); - if ($4974) { - $4975 = HEAP32[$pOut>>2]|0; - $4976 = ((($4975)) + 8|0); - HEAP16[$4976>>1] = 1; + case 123: { + $4996 = HEAP32[$0>>2]|0; + $4997 = HEAP32[$pOp>>2]|0; + $4998 = (_out2Prerelease($4996,$4997)|0); + HEAP32[$pOut>>2] = $4998; + $4999 = HEAP32[$pOp>>2]|0; + $5000 = ((($4999)) + 4|0); + $5001 = HEAP32[$5000>>2]|0; + $5002 = HEAP32[$0>>2]|0; + $5003 = ((($5002)) + 112|0); + $5004 = HEAP32[$5003>>2]|0; + $5005 = (($5004) + ($5001<<2)|0); + $5006 = HEAP32[$5005>>2]|0; + HEAP32[$pC56>>2] = $5006; + $5007 = HEAP32[$pC56>>2]|0; + $5008 = ((($5007)) + 2|0); + $5009 = HEAP8[$5008>>0]|0; + $5010 = ($5009<<24>>24)!=(0); + if ($5010) { + $5011 = HEAP32[$pOut>>2]|0; + $5012 = ((($5011)) + 8|0); + HEAP16[$5012>>1] = 1; break L10; } - $4977 = HEAP32[$pC58>>2]|0; - $4978 = ((($4977)) + 3|0); - $4979 = HEAP8[$4978>>0]|0; - $4980 = ($4979<<24>>24)!=(0); - $4981 = HEAP32[$pC58>>2]|0; + $5013 = HEAP32[$pC56>>2]|0; + $5014 = ((($5013)) + 3|0); + $5015 = HEAP8[$5014>>0]|0; + $5016 = ($5015<<24>>24)!=(0); + $5017 = HEAP32[$pC56>>2]|0; do { - if ($4980) { - $4982 = ((($4981)) + 40|0); - $4983 = $4982; - $4984 = $4983; - $4985 = HEAP32[$4984>>2]|0; - $4986 = (($4983) + 4)|0; - $4987 = $4986; - $4988 = HEAP32[$4987>>2]|0; - $4989 = $v59; - $4990 = $4989; - HEAP32[$4990>>2] = $4985; - $4991 = (($4989) + 4)|0; - $4992 = $4991; - HEAP32[$4992>>2] = $4988; + if ($5016) { + $5018 = ((($5017)) + 40|0); + $5019 = $5018; + $5020 = $5019; + $5021 = HEAP32[$5020>>2]|0; + $5022 = (($5019) + 4)|0; + $5023 = $5022; + $5024 = HEAP32[$5023>>2]|0; + $5025 = $v57; + $5026 = $5025; + HEAP32[$5026>>2] = $5021; + $5027 = (($5025) + 4)|0; + $5028 = $5027; + HEAP32[$5028>>2] = $5024; } else { - $4993 = HEAP8[$4981>>0]|0; - $4994 = $4993&255; - $4995 = ($4994|0)==(2); - $4996 = HEAP32[$pC58>>2]|0; - if ($4995) { - $4997 = ((($4996)) + 16|0); - $4998 = HEAP32[$4997>>2]|0; - $4999 = HEAP32[$4998>>2]|0; - HEAP32[$pVtab>>2] = $4999; - $5000 = HEAP32[$pVtab>>2]|0; - $5001 = HEAP32[$5000>>2]|0; - HEAP32[$pModule>>2] = $5001; - $5002 = HEAP32[$pModule>>2]|0; - $5003 = ((($5002)) + 48|0); - $5004 = HEAP32[$5003>>2]|0; - $5005 = HEAP32[$pC58>>2]|0; - $5006 = ((($5005)) + 16|0); - $5007 = HEAP32[$5006>>2]|0; - $5008 = (FUNCTION_TABLE_iii[$5004 & 255]($5007,$v59)|0); - HEAP32[$rc>>2] = $5008; - $5009 = HEAP32[$0>>2]|0; - $5010 = HEAP32[$pVtab>>2]|0; - _sqlite3VtabImportErrmsg($5009,$5010); - $5011 = HEAP32[$rc>>2]|0; - $5012 = ($5011|0)!=(0); - if ($5012) { + $5029 = HEAP8[$5017>>0]|0; + $5030 = $5029&255; + $5031 = ($5030|0)==(2); + $5032 = HEAP32[$pC56>>2]|0; + if ($5031) { + $5033 = ((($5032)) + 16|0); + $5034 = HEAP32[$5033>>2]|0; + $5035 = HEAP32[$5034>>2]|0; + HEAP32[$pVtab>>2] = $5035; + $5036 = HEAP32[$pVtab>>2]|0; + $5037 = HEAP32[$5036>>2]|0; + HEAP32[$pModule>>2] = $5037; + $5038 = HEAP32[$pModule>>2]|0; + $5039 = ((($5038)) + 48|0); + $5040 = HEAP32[$5039>>2]|0; + $5041 = HEAP32[$pC56>>2]|0; + $5042 = ((($5041)) + 16|0); + $5043 = HEAP32[$5042>>2]|0; + $5044 = (FUNCTION_TABLE_iii[$5040 & 255]($5043,$v57)|0); + HEAP32[$rc>>2] = $5044; + $5045 = HEAP32[$0>>2]|0; + $5046 = HEAP32[$pVtab>>2]|0; + _sqlite3VtabImportErrmsg($5045,$5046); + $5047 = HEAP32[$rc>>2]|0; + $5048 = ($5047|0)!=(0); + if ($5048) { break L1; } else { break; } } - $5013 = (_sqlite3VdbeCursorRestore($4996)|0); - HEAP32[$rc>>2] = $5013; - $5014 = HEAP32[$rc>>2]|0; - $5015 = ($5014|0)!=(0); - if ($5015) { + $5049 = (_sqlite3VdbeCursorRestore($5032)|0); + HEAP32[$rc>>2] = $5049; + $5050 = HEAP32[$rc>>2]|0; + $5051 = ($5050|0)!=(0); + if ($5051) { break L1; } - $5016 = HEAP32[$pC58>>2]|0; - $5017 = ((($5016)) + 2|0); - $5018 = HEAP8[$5017>>0]|0; - $5019 = ($5018<<24>>24)!=(0); - if ($5019) { - $5020 = HEAP32[$pOut>>2]|0; - $5021 = ((($5020)) + 8|0); - HEAP16[$5021>>1] = 1; + $5052 = HEAP32[$pC56>>2]|0; + $5053 = ((($5052)) + 2|0); + $5054 = HEAP8[$5053>>0]|0; + $5055 = ($5054<<24>>24)!=(0); + if ($5055) { + $5056 = HEAP32[$pOut>>2]|0; + $5057 = ((($5056)) + 8|0); + HEAP16[$5057>>1] = 1; break L10; } else { - $5022 = HEAP32[$pC58>>2]|0; - $5023 = ((($5022)) + 16|0); - $5024 = HEAP32[$5023>>2]|0; - $5025 = (_sqlite3BtreeKeySize($5024,$v59)|0); - HEAP32[$rc>>2] = $5025; + $5058 = HEAP32[$pC56>>2]|0; + $5059 = ((($5058)) + 16|0); + $5060 = HEAP32[$5059>>2]|0; + $5061 = (_sqlite3BtreeIntegerKey($5060)|0); + $5062 = tempRet0; + $5063 = $v57; + $5064 = $5063; + HEAP32[$5064>>2] = $5061; + $5065 = (($5063) + 4)|0; + $5066 = $5065; + HEAP32[$5066>>2] = $5062; break; } } } while(0); - $5026 = $v59; - $5027 = $5026; - $5028 = HEAP32[$5027>>2]|0; - $5029 = (($5026) + 4)|0; - $5030 = $5029; - $5031 = HEAP32[$5030>>2]|0; - $5032 = HEAP32[$pOut>>2]|0; - $5033 = $5032; - $5034 = $5033; - HEAP32[$5034>>2] = $5028; - $5035 = (($5033) + 4)|0; - $5036 = $5035; - HEAP32[$5036>>2] = $5031; + $5067 = $v57; + $5068 = $5067; + $5069 = HEAP32[$5068>>2]|0; + $5070 = (($5067) + 4)|0; + $5071 = $5070; + $5072 = HEAP32[$5071>>2]|0; + $5073 = HEAP32[$pOut>>2]|0; + $5074 = $5073; + $5075 = $5074; + HEAP32[$5075>>2] = $5069; + $5076 = (($5074) + 4)|0; + $5077 = $5076; + HEAP32[$5077>>2] = $5072; break; } - case 122: { - $5037 = HEAP32[$pOp>>2]|0; - $5038 = ((($5037)) + 4|0); - $5039 = HEAP32[$5038>>2]|0; - $5040 = HEAP32[$0>>2]|0; - $5041 = ((($5040)) + 56|0); - $5042 = HEAP32[$5041>>2]|0; - $5043 = (($5042) + ($5039<<2)|0); - $5044 = HEAP32[$5043>>2]|0; - HEAP32[$pC60>>2] = $5044; - $5045 = HEAP32[$pC60>>2]|0; - $5046 = ((($5045)) + 2|0); - HEAP8[$5046>>0] = 1; - $5047 = HEAP32[$pC60>>2]|0; - $5048 = ((($5047)) + 56|0); - HEAP32[$5048>>2] = 0; - $5049 = HEAP32[$pC60>>2]|0; - $5050 = HEAP8[$5049>>0]|0; - $5051 = $5050&255; - $5052 = ($5051|0)==(0); - if ($5052) { - $5053 = HEAP32[$pC60>>2]|0; - $5054 = ((($5053)) + 16|0); - $5055 = HEAP32[$5054>>2]|0; - _sqlite3BtreeClearCursor($5055); + case 124: { + $5078 = HEAP32[$pOp>>2]|0; + $5079 = ((($5078)) + 4|0); + $5080 = HEAP32[$5079>>2]|0; + $5081 = HEAP32[$0>>2]|0; + $5082 = ((($5081)) + 112|0); + $5083 = HEAP32[$5082>>2]|0; + $5084 = (($5083) + ($5080<<2)|0); + $5085 = HEAP32[$5084>>2]|0; + HEAP32[$pC58>>2] = $5085; + $5086 = HEAP32[$pC58>>2]|0; + $5087 = ((($5086)) + 2|0); + HEAP8[$5087>>0] = 1; + $5088 = HEAP32[$pC58>>2]|0; + $5089 = ((($5088)) + 56|0); + HEAP32[$5089>>2] = 0; + $5090 = HEAP32[$pC58>>2]|0; + $5091 = HEAP8[$5090>>0]|0; + $5092 = $5091&255; + $5093 = ($5092|0)==(0); + if ($5093) { + $5094 = HEAP32[$pC58>>2]|0; + $5095 = ((($5094)) + 16|0); + $5096 = HEAP32[$5095>>2]|0; + _sqlite3BtreeClearCursor($5096); } break; } - case 33: { - $5056 = HEAP32[$pOp>>2]|0; - $5057 = ((($5056)) + 4|0); - $5058 = HEAP32[$5057>>2]|0; - $5059 = HEAP32[$0>>2]|0; - $5060 = ((($5059)) + 56|0); - $5061 = HEAP32[$5060>>2]|0; - $5062 = (($5061) + ($5058<<2)|0); - $5063 = HEAP32[$5062>>2]|0; - HEAP32[$pC61>>2] = $5063; - $5064 = HEAP32[$pC61>>2]|0; - $5065 = ((($5064)) + 16|0); - $5066 = HEAP32[$5065>>2]|0; - HEAP32[$pCrsr62>>2] = $5066; - HEAP32[$res63>>2] = 0; - $5067 = HEAP32[$pCrsr62>>2]|0; - $5068 = (_sqlite3BtreeLast($5067,$res63)|0); - HEAP32[$rc>>2] = $5068; - $5069 = HEAP32[$res63>>2]|0; - $5070 = $5069&255; - $5071 = HEAP32[$pC61>>2]|0; - $5072 = ((($5071)) + 2|0); - HEAP8[$5072>>0] = $5070; - $5073 = HEAP32[$pC61>>2]|0; - $5074 = ((($5073)) + 3|0); - HEAP8[$5074>>0] = 0; - $5075 = HEAP32[$pC61>>2]|0; - $5076 = ((($5075)) + 56|0); - HEAP32[$5076>>2] = 0; - $5077 = HEAP32[$pOp>>2]|0; - $5078 = ((($5077)) + 12|0); - $5079 = HEAP32[$5078>>2]|0; - $5080 = HEAP32[$pC61>>2]|0; - $5081 = ((($5080)) + 28|0); - HEAP32[$5081>>2] = $5079; - $5082 = HEAP32[$rc>>2]|0; - $5083 = ($5082|0)!=(0); - if ($5083) { + case 53: { + $5097 = HEAP32[$pOp>>2]|0; + $5098 = ((($5097)) + 4|0); + $5099 = HEAP32[$5098>>2]|0; + $5100 = HEAP32[$0>>2]|0; + $5101 = ((($5100)) + 112|0); + $5102 = HEAP32[$5101>>2]|0; + $5103 = (($5102) + ($5099<<2)|0); + $5104 = HEAP32[$5103>>2]|0; + HEAP32[$pC59>>2] = $5104; + $5105 = HEAP32[$pC59>>2]|0; + $5106 = ((($5105)) + 16|0); + $5107 = HEAP32[$5106>>2]|0; + HEAP32[$pCrsr60>>2] = $5107; + HEAP32[$res61>>2] = 0; + $5108 = HEAP32[$pCrsr60>>2]|0; + $5109 = (_sqlite3BtreeLast($5108,$res61)|0); + HEAP32[$rc>>2] = $5109; + $5110 = HEAP32[$res61>>2]|0; + $5111 = $5110&255; + $5112 = HEAP32[$pC59>>2]|0; + $5113 = ((($5112)) + 2|0); + HEAP8[$5113>>0] = $5111; + $5114 = HEAP32[$pC59>>2]|0; + $5115 = ((($5114)) + 3|0); + HEAP8[$5115>>0] = 0; + $5116 = HEAP32[$pC59>>2]|0; + $5117 = ((($5116)) + 56|0); + HEAP32[$5117>>2] = 0; + $5118 = HEAP32[$pOp>>2]|0; + $5119 = ((($5118)) + 12|0); + $5120 = HEAP32[$5119>>2]|0; + $5121 = HEAP32[$pC59>>2]|0; + $5122 = ((($5121)) + 28|0); + HEAP32[$5122>>2] = $5120; + $5123 = HEAP32[$rc>>2]|0; + $5124 = ($5123|0)!=(0); + if ($5124) { break L1; } - $5084 = HEAP32[$pOp>>2]|0; - $5085 = ((($5084)) + 8|0); - $5086 = HEAP32[$5085>>2]|0; - $5087 = ($5086|0)>(0); - $5088 = HEAP32[$res63>>2]|0; - $5089 = ($5088|0)!=(0); - $or$cond31 = $5087 & $5089; + $5125 = HEAP32[$pOp>>2]|0; + $5126 = ((($5125)) + 8|0); + $5127 = HEAP32[$5126>>2]|0; + $5128 = ($5127|0)>(0); + $5129 = HEAP32[$res61>>2]|0; + $5130 = ($5129|0)!=(0); + $or$cond31 = $5128 & $5130; if ($or$cond31) { label = 14; } break; } - case 53: case 42: { - $5090 = HEAP32[$0>>2]|0; - $5091 = ((($5090)) + 108|0); - $5092 = ((($5091)) + 8|0); - $5093 = HEAP32[$5092>>2]|0; - $5094 = (($5093) + 1)|0; - HEAP32[$5092>>2] = $5094; - label = 618; + case 56: case 55: { + $5131 = HEAP32[$0>>2]|0; + $5132 = ((($5131)) + 156|0); + $5133 = ((($5132)) + 8|0); + $5134 = HEAP32[$5133>>2]|0; + $5135 = (($5134) + 1)|0; + HEAP32[$5133>>2] = $5135; + label = 617; break; } - case 55: { - label = 618; + case 57: { + label = 617; break; } case 3: { - $5125 = HEAP32[$pOp>>2]|0; - $5126 = ((($5125)) + 4|0); - $5127 = HEAP32[$5126>>2]|0; - $5128 = HEAP32[$0>>2]|0; - $5129 = ((($5128)) + 56|0); - $5130 = HEAP32[$5129>>2]|0; - $5131 = (($5130) + ($5127<<2)|0); - $5132 = HEAP32[$5131>>2]|0; - HEAP32[$pC67>>2] = $5132; - HEAP32[$res68>>2] = 0; - $5133 = HEAP32[$db>>2]|0; - $5134 = HEAP32[$pC67>>2]|0; - $5135 = (_sqlite3VdbeSorterNext($5133,$5134,$res68)|0); - HEAP32[$rc>>2] = $5135; - label = 626; + $5166 = HEAP32[$pOp>>2]|0; + $5167 = ((($5166)) + 4|0); + $5168 = HEAP32[$5167>>2]|0; + $5169 = HEAP32[$0>>2]|0; + $5170 = ((($5169)) + 112|0); + $5171 = HEAP32[$5170>>2]|0; + $5172 = (($5171) + ($5168<<2)|0); + $5173 = HEAP32[$5172>>2]|0; + HEAP32[$pC65>>2] = $5173; + HEAP32[$res66>>2] = 0; + $5174 = HEAP32[$db>>2]|0; + $5175 = HEAP32[$pC65>>2]|0; + $5176 = (_sqlite3VdbeSorterNext($5174,$5175,$res66)|0); + HEAP32[$rc>>2] = $5176; + label = 625; break; } case 5: case 4: { - $5136 = HEAP32[$pOp>>2]|0; - $5137 = ((($5136)) + 4|0); - $5138 = HEAP32[$5137>>2]|0; - $5139 = HEAP32[$0>>2]|0; - $5140 = ((($5139)) + 56|0); - $5141 = HEAP32[$5140>>2]|0; - $5142 = (($5141) + ($5138<<2)|0); - $5143 = HEAP32[$5142>>2]|0; - $5144 = ($5143|0)==(0|0); - if (!($5144)) { - label = 625; + $5177 = HEAP32[$pOp>>2]|0; + $5178 = ((($5177)) + 4|0); + $5179 = HEAP32[$5178>>2]|0; + $5180 = HEAP32[$0>>2]|0; + $5181 = ((($5180)) + 112|0); + $5182 = HEAP32[$5181>>2]|0; + $5183 = (($5182) + ($5179<<2)|0); + $5184 = HEAP32[$5183>>2]|0; + $5185 = ($5184|0)==(0|0); + if (!($5185)) { + label = 624; } break; } case 7: case 6: { - label = 625; + label = 624; break; } - case 124: case 123: { - $5180 = HEAP32[$pOp>>2]|0; - $5181 = ((($5180)) + 4|0); - $5182 = HEAP32[$5181>>2]|0; - $5183 = HEAP32[$0>>2]|0; - $5184 = ((($5183)) + 56|0); - $5185 = HEAP32[$5184>>2]|0; - $5186 = (($5185) + ($5182<<2)|0); - $5187 = HEAP32[$5186>>2]|0; - HEAP32[$pC69>>2] = $5187; - $5188 = HEAP32[$pOp>>2]|0; - $5189 = ((($5188)) + 8|0); - $5190 = HEAP32[$5189>>2]|0; - $5191 = HEAP32[$aMem>>2]|0; - $5192 = (($5191) + (($5190*40)|0)|0); - HEAP32[$pIn2>>2] = $5192; - $5193 = HEAP32[$pOp>>2]|0; - $5194 = ((($5193)) + 3|0); - $5195 = HEAP8[$5194>>0]|0; - $5196 = $5195&255; - $5197 = $5196 & 1; - $5198 = ($5197|0)!=(0); - if ($5198) { - $5199 = HEAP32[$0>>2]|0; - $5200 = ((($5199)) + 92|0); - $5201 = HEAP32[$5200>>2]|0; - $5202 = (($5201) + 1)|0; - HEAP32[$5200>>2] = $5202; + case 126: case 125: { + $5221 = HEAP32[$pOp>>2]|0; + $5222 = ((($5221)) + 4|0); + $5223 = HEAP32[$5222>>2]|0; + $5224 = HEAP32[$0>>2]|0; + $5225 = ((($5224)) + 112|0); + $5226 = HEAP32[$5225>>2]|0; + $5227 = (($5226) + ($5223<<2)|0); + $5228 = HEAP32[$5227>>2]|0; + HEAP32[$pC67>>2] = $5228; + $5229 = HEAP32[$pOp>>2]|0; + $5230 = ((($5229)) + 8|0); + $5231 = HEAP32[$5230>>2]|0; + $5232 = HEAP32[$aMem>>2]|0; + $5233 = (($5232) + (($5231*40)|0)|0); + HEAP32[$pIn2>>2] = $5233; + $5234 = HEAP32[$pOp>>2]|0; + $5235 = ((($5234)) + 3|0); + $5236 = HEAP8[$5235>>0]|0; + $5237 = $5236&255; + $5238 = $5237 & 1; + $5239 = ($5238|0)!=(0); + if ($5239) { + $5240 = HEAP32[$0>>2]|0; + $5241 = ((($5240)) + 44|0); + $5242 = HEAP32[$5241>>2]|0; + $5243 = (($5242) + 1)|0; + HEAP32[$5241>>2] = $5243; } - $5203 = HEAP32[$pIn2>>2]|0; - $5204 = ((($5203)) + 8|0); - $5205 = HEAP16[$5204>>1]|0; - $5206 = $5205&65535; - $5207 = $5206 & 16384; - $5208 = ($5207|0)!=(0); - if ($5208) { - $5209 = HEAP32[$pIn2>>2]|0; - $5210 = (_sqlite3VdbeMemExpandBlob($5209)|0); - $5211 = $5210; + $5244 = HEAP32[$pIn2>>2]|0; + $5245 = ((($5244)) + 8|0); + $5246 = HEAP16[$5245>>1]|0; + $5247 = $5246&65535; + $5248 = $5247 & 16384; + $5249 = ($5248|0)!=(0); + if ($5249) { + $5250 = HEAP32[$pIn2>>2]|0; + $5251 = (_sqlite3VdbeMemExpandBlob($5250)|0); + $5252 = $5251; } else { - $5211 = 0; + $5252 = 0; } - HEAP32[$rc>>2] = $5211; - $5212 = HEAP32[$rc>>2]|0; - $5213 = ($5212|0)!=(0); - if ($5213) { + HEAP32[$rc>>2] = $5252; + $5253 = HEAP32[$rc>>2]|0; + $5254 = ($5253|0)!=(0); + if ($5254) { break L1; } - $5214 = HEAP32[$pOp>>2]|0; - $5215 = HEAP8[$5214>>0]|0; - $5216 = $5215&255; - $5217 = ($5216|0)==(123); - if ($5217) { - $5218 = HEAP32[$pC69>>2]|0; - $5219 = HEAP32[$pIn2>>2]|0; - $5220 = (_sqlite3VdbeSorterWrite($5218,$5219)|0); - HEAP32[$rc>>2] = $5220; + $5255 = HEAP32[$pOp>>2]|0; + $5256 = HEAP8[$5255>>0]|0; + $5257 = $5256&255; + $5258 = ($5257|0)==(125); + if ($5258) { + $5259 = HEAP32[$pC67>>2]|0; + $5260 = HEAP32[$pIn2>>2]|0; + $5261 = (_sqlite3VdbeSorterWrite($5259,$5260)|0); + HEAP32[$rc>>2] = $5261; } else { - $5221 = HEAP32[$pIn2>>2]|0; - $5222 = ((($5221)) + 12|0); - $5223 = HEAP32[$5222>>2]|0; - HEAP32[$nKey>>2] = $5223; - $5224 = HEAP32[$pIn2>>2]|0; - $5225 = ((($5224)) + 16|0); - $5226 = HEAP32[$5225>>2]|0; - HEAP32[$zKey>>2] = $5226; - $5227 = HEAP32[$pC69>>2]|0; - $5228 = ((($5227)) + 16|0); - $5229 = HEAP32[$5228>>2]|0; - $5230 = HEAP32[$zKey>>2]|0; - $5231 = HEAP32[$nKey>>2]|0; - $5232 = ($5231|0)<(0); - $5233 = $5232 << 31 >> 31; - $5234 = HEAP32[$pOp>>2]|0; - $5235 = ((($5234)) + 12|0); - $5236 = HEAP32[$5235>>2]|0; - $5237 = HEAP32[$pOp>>2]|0; - $5238 = ((($5237)) + 3|0); - $5239 = HEAP8[$5238>>0]|0; - $5240 = $5239&255; - $5241 = $5240 & 16; - $5242 = ($5241|0)!=(0); - if ($5242) { - $5243 = HEAP32[$pC69>>2]|0; - $5244 = ((($5243)) + 28|0); - $5245 = HEAP32[$5244>>2]|0; - $5246 = $5245; + $5262 = HEAP32[$pIn2>>2]|0; + $5263 = ((($5262)) + 12|0); + $5264 = HEAP32[$5263>>2]|0; + $5265 = ($5264|0)<(0); + $5266 = $5265 << 31 >> 31; + $5267 = ((($x68)) + 8|0); + $5268 = $5267; + $5269 = $5268; + HEAP32[$5269>>2] = $5264; + $5270 = (($5268) + 4)|0; + $5271 = $5270; + HEAP32[$5271>>2] = $5266; + $5272 = HEAP32[$pIn2>>2]|0; + $5273 = ((($5272)) + 16|0); + $5274 = HEAP32[$5273>>2]|0; + HEAP32[$x68>>2] = $5274; + $5275 = HEAP32[$pC67>>2]|0; + $5276 = ((($5275)) + 16|0); + $5277 = HEAP32[$5276>>2]|0; + $5278 = HEAP32[$pOp>>2]|0; + $5279 = ((($5278)) + 12|0); + $5280 = HEAP32[$5279>>2]|0; + $5281 = HEAP32[$pOp>>2]|0; + $5282 = ((($5281)) + 3|0); + $5283 = HEAP8[$5282>>0]|0; + $5284 = $5283&255; + $5285 = $5284 & 16; + $5286 = ($5285|0)!=(0); + if ($5286) { + $5287 = HEAP32[$pC67>>2]|0; + $5288 = ((($5287)) + 28|0); + $5289 = HEAP32[$5288>>2]|0; + $5290 = $5289; } else { - $5246 = 0; + $5290 = 0; } - $5247 = (_sqlite3BtreeInsert($5229,$5230,$5231,$5233,19018,0,0,$5236,$5246)|0); - HEAP32[$rc>>2] = $5247; - $5248 = HEAP32[$pC69>>2]|0; - $5249 = ((($5248)) + 56|0); - HEAP32[$5249>>2] = 0; + $5291 = (_sqlite3BtreeInsert($5277,$x68,$5280,$5290)|0); + HEAP32[$rc>>2] = $5291; + $5292 = HEAP32[$pC67>>2]|0; + $5293 = ((($5292)) + 56|0); + HEAP32[$5293>>2] = 0; } - $5250 = HEAP32[$rc>>2]|0; - $5251 = ($5250|0)!=(0); - if ($5251) { + $5294 = HEAP32[$rc>>2]|0; + $5295 = ($5294|0)!=(0); + if ($5295) { break L1; } break; } - case 125: { - $5252 = HEAP32[$pOp>>2]|0; - $5253 = ((($5252)) + 4|0); - $5254 = HEAP32[$5253>>2]|0; - $5255 = HEAP32[$0>>2]|0; - $5256 = ((($5255)) + 56|0); - $5257 = HEAP32[$5256>>2]|0; - $5258 = (($5257) + ($5254<<2)|0); - $5259 = HEAP32[$5258>>2]|0; - HEAP32[$pC70>>2] = $5259; - $5260 = HEAP32[$pC70>>2]|0; - $5261 = ((($5260)) + 16|0); - $5262 = HEAP32[$5261>>2]|0; - HEAP32[$pCrsr71>>2] = $5262; - $5263 = HEAP32[$pC70>>2]|0; - $5264 = ((($5263)) + 24|0); - $5265 = HEAP32[$5264>>2]|0; - HEAP32[$r73>>2] = $5265; - $5266 = HEAP32[$pOp>>2]|0; - $5267 = ((($5266)) + 12|0); - $5268 = HEAP32[$5267>>2]|0; - $5269 = $5268&65535; - $5270 = ((($r73)) + 8|0); - HEAP16[$5270>>1] = $5269; - $5271 = ((($r73)) + 10|0); - HEAP8[$5271>>0] = 0; - $5272 = HEAP32[$pOp>>2]|0; - $5273 = ((($5272)) + 8|0); - $5274 = HEAP32[$5273>>2]|0; - $5275 = HEAP32[$aMem>>2]|0; - $5276 = (($5275) + (($5274*40)|0)|0); - $5277 = ((($r73)) + 4|0); - HEAP32[$5277>>2] = $5276; - $5278 = HEAP32[$pCrsr71>>2]|0; - $5279 = (_sqlite3BtreeMovetoUnpacked($5278,$r73,0,0,0,$res72)|0); - HEAP32[$rc>>2] = $5279; - $5280 = HEAP32[$rc>>2]|0; - $5281 = ($5280|0)!=(0); - if ($5281) { + case 127: { + $5296 = HEAP32[$pOp>>2]|0; + $5297 = ((($5296)) + 4|0); + $5298 = HEAP32[$5297>>2]|0; + $5299 = HEAP32[$0>>2]|0; + $5300 = ((($5299)) + 112|0); + $5301 = HEAP32[$5300>>2]|0; + $5302 = (($5301) + ($5298<<2)|0); + $5303 = HEAP32[$5302>>2]|0; + HEAP32[$pC69>>2] = $5303; + $5304 = HEAP32[$pC69>>2]|0; + $5305 = ((($5304)) + 16|0); + $5306 = HEAP32[$5305>>2]|0; + HEAP32[$pCrsr70>>2] = $5306; + $5307 = HEAP32[$pC69>>2]|0; + $5308 = ((($5307)) + 24|0); + $5309 = HEAP32[$5308>>2]|0; + HEAP32[$r72>>2] = $5309; + $5310 = HEAP32[$pOp>>2]|0; + $5311 = ((($5310)) + 12|0); + $5312 = HEAP32[$5311>>2]|0; + $5313 = $5312&65535; + $5314 = ((($r72)) + 8|0); + HEAP16[$5314>>1] = $5313; + $5315 = ((($r72)) + 10|0); + HEAP8[$5315>>0] = 0; + $5316 = HEAP32[$pOp>>2]|0; + $5317 = ((($5316)) + 8|0); + $5318 = HEAP32[$5317>>2]|0; + $5319 = HEAP32[$aMem>>2]|0; + $5320 = (($5319) + (($5318*40)|0)|0); + $5321 = ((($r72)) + 4|0); + HEAP32[$5321>>2] = $5320; + $5322 = HEAP32[$pCrsr70>>2]|0; + $5323 = (_sqlite3BtreeMovetoUnpacked($5322,$r72,0,0,0,$res71)|0); + HEAP32[$rc>>2] = $5323; + $5324 = HEAP32[$rc>>2]|0; + $5325 = ($5324|0)!=(0); + if ($5325) { break L1; } - $5282 = HEAP32[$res72>>2]|0; - $5283 = ($5282|0)==(0); - if ($5283) { - $5284 = HEAP32[$pCrsr71>>2]|0; - $5285 = (_sqlite3BtreeDelete($5284,4)|0); - HEAP32[$rc>>2] = $5285; - $5286 = HEAP32[$rc>>2]|0; - $5287 = ($5286|0)!=(0); - if ($5287) { + $5326 = HEAP32[$res71>>2]|0; + $5327 = ($5326|0)==(0); + if ($5327) { + $5328 = HEAP32[$pCrsr70>>2]|0; + $5329 = (_sqlite3BtreeDelete($5328,4)|0); + HEAP32[$rc>>2] = $5329; + $5330 = HEAP32[$rc>>2]|0; + $5331 = ($5330|0)!=(0); + if ($5331) { break L1; } } - $5288 = HEAP32[$pC70>>2]|0; - $5289 = ((($5288)) + 56|0); - HEAP32[$5289>>2] = 0; + $5332 = HEAP32[$pC69>>2]|0; + $5333 = ((($5332)) + 56|0); + HEAP32[$5333>>2] = 0; break; } - case 127: case 126: { - $5290 = HEAP32[$pOp>>2]|0; - $5291 = ((($5290)) + 4|0); - $5292 = HEAP32[$5291>>2]|0; - $5293 = HEAP32[$0>>2]|0; - $5294 = ((($5293)) + 56|0); - $5295 = HEAP32[$5294>>2]|0; - $5296 = (($5295) + ($5292<<2)|0); - $5297 = HEAP32[$5296>>2]|0; - HEAP32[$pC74>>2] = $5297; - $5298 = HEAP32[$pC74>>2]|0; - $5299 = (_sqlite3VdbeCursorRestore($5298)|0); - HEAP32[$rc>>2] = $5299; - $5300 = HEAP32[$rc>>2]|0; - $5301 = ($5300|0)!=(0); - if ($5301) { + case 129: case 128: { + $5334 = HEAP32[$pOp>>2]|0; + $5335 = ((($5334)) + 4|0); + $5336 = HEAP32[$5335>>2]|0; + $5337 = HEAP32[$0>>2]|0; + $5338 = ((($5337)) + 112|0); + $5339 = HEAP32[$5338>>2]|0; + $5340 = (($5339) + ($5336<<2)|0); + $5341 = HEAP32[$5340>>2]|0; + HEAP32[$pC73>>2] = $5341; + $5342 = HEAP32[$pC73>>2]|0; + $5343 = (_sqlite3VdbeCursorRestore($5342)|0); + HEAP32[$rc>>2] = $5343; + $5344 = HEAP32[$rc>>2]|0; + $5345 = ($5344|0)!=(0); + if ($5345) { break L1; } - $5302 = HEAP32[$pC74>>2]|0; - $5303 = ((($5302)) + 2|0); - $5304 = HEAP8[$5303>>0]|0; - $5305 = ($5304<<24>>24)!=(0); - if ($5305) { - $5369 = HEAP32[$pOp>>2]|0; - $5370 = ((($5369)) + 8|0); - $5371 = HEAP32[$5370>>2]|0; - $5372 = HEAP32[$aMem>>2]|0; - $5373 = (($5372) + (($5371*40)|0)|0); - _sqlite3VdbeMemSetNull($5373); + $5346 = HEAP32[$pC73>>2]|0; + $5347 = ((($5346)) + 2|0); + $5348 = HEAP8[$5347>>0]|0; + $5349 = ($5348<<24>>24)!=(0); + if ($5349) { + $5413 = HEAP32[$pOp>>2]|0; + $5414 = ((($5413)) + 8|0); + $5415 = HEAP32[$5414>>2]|0; + $5416 = HEAP32[$aMem>>2]|0; + $5417 = (($5416) + (($5415*40)|0)|0); + _sqlite3VdbeMemSetNull($5417); break L10; } - $5306 = $rowid; - $5307 = $5306; - HEAP32[$5307>>2] = 0; - $5308 = (($5306) + 4)|0; - $5309 = $5308; - HEAP32[$5309>>2] = 0; - $5310 = HEAP32[$db>>2]|0; - $5311 = HEAP32[$pC74>>2]|0; - $5312 = ((($5311)) + 16|0); - $5313 = HEAP32[$5312>>2]|0; - $5314 = (_sqlite3VdbeIdxRowid($5310,$5313,$rowid)|0); - HEAP32[$rc>>2] = $5314; - $5315 = HEAP32[$rc>>2]|0; - $5316 = ($5315|0)!=(0); - if ($5316) { + $5350 = $rowid; + $5351 = $5350; + HEAP32[$5351>>2] = 0; + $5352 = (($5350) + 4)|0; + $5353 = $5352; + HEAP32[$5353>>2] = 0; + $5354 = HEAP32[$db>>2]|0; + $5355 = HEAP32[$pC73>>2]|0; + $5356 = ((($5355)) + 16|0); + $5357 = HEAP32[$5356>>2]|0; + $5358 = (_sqlite3VdbeIdxRowid($5354,$5357,$rowid)|0); + HEAP32[$rc>>2] = $5358; + $5359 = HEAP32[$rc>>2]|0; + $5360 = ($5359|0)!=(0); + if ($5360) { break L1; } - $5317 = HEAP32[$pOp>>2]|0; - $5318 = HEAP8[$5317>>0]|0; - $5319 = $5318&255; - $5320 = ($5319|0)==(126); - if ($5320) { - $5321 = HEAP32[$pOp>>2]|0; - $5322 = ((($5321)) + 12|0); - $5323 = HEAP32[$5322>>2]|0; - $5324 = HEAP32[$0>>2]|0; - $5325 = ((($5324)) + 56|0); - $5326 = HEAP32[$5325>>2]|0; - $5327 = (($5326) + ($5323<<2)|0); - $5328 = HEAP32[$5327>>2]|0; - HEAP32[$pTabCur>>2] = $5328; - $5329 = HEAP32[$pTabCur>>2]|0; - $5330 = ((($5329)) + 2|0); - HEAP8[$5330>>0] = 0; - $5331 = $rowid; - $5332 = $5331; - $5333 = HEAP32[$5332>>2]|0; - $5334 = (($5331) + 4)|0; - $5335 = $5334; - $5336 = HEAP32[$5335>>2]|0; - $5337 = HEAP32[$pTabCur>>2]|0; - $5338 = ((($5337)) + 40|0); - $5339 = $5338; - $5340 = $5339; - HEAP32[$5340>>2] = $5333; - $5341 = (($5339) + 4)|0; - $5342 = $5341; - HEAP32[$5342>>2] = $5336; - $5343 = HEAP32[$pTabCur>>2]|0; - $5344 = ((($5343)) + 3|0); - HEAP8[$5344>>0] = 1; - $5345 = HEAP32[$pOp>>2]|0; - $5346 = ((($5345)) + 16|0); - $5347 = HEAP32[$5346>>2]|0; - $5348 = HEAP32[$pTabCur>>2]|0; - $5349 = ((($5348)) + 52|0); - HEAP32[$5349>>2] = $5347; - $5350 = HEAP32[$pC74>>2]|0; - $5351 = HEAP32[$pTabCur>>2]|0; - $5352 = ((($5351)) + 48|0); - HEAP32[$5352>>2] = $5350; + $5361 = HEAP32[$pOp>>2]|0; + $5362 = HEAP8[$5361>>0]|0; + $5363 = $5362&255; + $5364 = ($5363|0)==(128); + if ($5364) { + $5365 = HEAP32[$pOp>>2]|0; + $5366 = ((($5365)) + 12|0); + $5367 = HEAP32[$5366>>2]|0; + $5368 = HEAP32[$0>>2]|0; + $5369 = ((($5368)) + 112|0); + $5370 = HEAP32[$5369>>2]|0; + $5371 = (($5370) + ($5367<<2)|0); + $5372 = HEAP32[$5371>>2]|0; + HEAP32[$pTabCur>>2] = $5372; + $5373 = HEAP32[$pTabCur>>2]|0; + $5374 = ((($5373)) + 2|0); + HEAP8[$5374>>0] = 0; + $5375 = $rowid; + $5376 = $5375; + $5377 = HEAP32[$5376>>2]|0; + $5378 = (($5375) + 4)|0; + $5379 = $5378; + $5380 = HEAP32[$5379>>2]|0; + $5381 = HEAP32[$pTabCur>>2]|0; + $5382 = ((($5381)) + 40|0); + $5383 = $5382; + $5384 = $5383; + HEAP32[$5384>>2] = $5377; + $5385 = (($5383) + 4)|0; + $5386 = $5385; + HEAP32[$5386>>2] = $5380; + $5387 = HEAP32[$pTabCur>>2]|0; + $5388 = ((($5387)) + 3|0); + HEAP8[$5388>>0] = 1; + $5389 = HEAP32[$pOp>>2]|0; + $5390 = ((($5389)) + 16|0); + $5391 = HEAP32[$5390>>2]|0; + $5392 = HEAP32[$pTabCur>>2]|0; + $5393 = ((($5392)) + 52|0); + HEAP32[$5393>>2] = $5391; + $5394 = HEAP32[$pC73>>2]|0; + $5395 = HEAP32[$pTabCur>>2]|0; + $5396 = ((($5395)) + 48|0); + HEAP32[$5396>>2] = $5394; break L10; } else { - $5353 = HEAP32[$0>>2]|0; - $5354 = HEAP32[$pOp>>2]|0; - $5355 = (_out2Prerelease($5353,$5354)|0); - HEAP32[$pOut>>2] = $5355; - $5356 = $rowid; - $5357 = $5356; - $5358 = HEAP32[$5357>>2]|0; - $5359 = (($5356) + 4)|0; - $5360 = $5359; - $5361 = HEAP32[$5360>>2]|0; - $5362 = HEAP32[$pOut>>2]|0; - $5363 = $5362; - $5364 = $5363; - HEAP32[$5364>>2] = $5358; - $5365 = (($5363) + 4)|0; - $5366 = $5365; - HEAP32[$5366>>2] = $5361; - $5367 = HEAP32[$pOut>>2]|0; - $5368 = ((($5367)) + 8|0); - HEAP16[$5368>>1] = 4; + $5397 = HEAP32[$0>>2]|0; + $5398 = HEAP32[$pOp>>2]|0; + $5399 = (_out2Prerelease($5397,$5398)|0); + HEAP32[$pOut>>2] = $5399; + $5400 = $rowid; + $5401 = $5400; + $5402 = HEAP32[$5401>>2]|0; + $5403 = (($5400) + 4)|0; + $5404 = $5403; + $5405 = HEAP32[$5404>>2]|0; + $5406 = HEAP32[$pOut>>2]|0; + $5407 = $5406; + $5408 = $5407; + HEAP32[$5408>>2] = $5402; + $5409 = (($5407) + 4)|0; + $5410 = $5409; + HEAP32[$5410>>2] = $5405; + $5411 = HEAP32[$pOut>>2]|0; + $5412 = ((($5411)) + 8|0); + HEAP16[$5412>>1] = 4; break L10; } break; } - case 59: case 58: case 57: case 56: { - $5374 = HEAP32[$pOp>>2]|0; - $5375 = ((($5374)) + 4|0); - $5376 = HEAP32[$5375>>2]|0; - $5377 = HEAP32[$0>>2]|0; - $5378 = ((($5377)) + 56|0); - $5379 = HEAP32[$5378>>2]|0; - $5380 = (($5379) + ($5376<<2)|0); - $5381 = HEAP32[$5380>>2]|0; - HEAP32[$pC75>>2] = $5381; - $5382 = HEAP32[$pC75>>2]|0; - $5383 = ((($5382)) + 24|0); - $5384 = HEAP32[$5383>>2]|0; - HEAP32[$r77>>2] = $5384; - $5385 = HEAP32[$pOp>>2]|0; - $5386 = ((($5385)) + 16|0); - $5387 = HEAP32[$5386>>2]|0; - $5388 = $5387&65535; - $5389 = ((($r77)) + 8|0); - HEAP16[$5389>>1] = $5388; - $5390 = HEAP32[$pOp>>2]|0; - $5391 = HEAP8[$5390>>0]|0; - $5392 = $5391&255; - $5393 = ($5392|0)<(58); - $5394 = ((($r77)) + 10|0); - if ($5393) { - HEAP8[$5394>>0] = -1; + case 61: case 60: case 59: case 58: { + $5418 = HEAP32[$pOp>>2]|0; + $5419 = ((($5418)) + 4|0); + $5420 = HEAP32[$5419>>2]|0; + $5421 = HEAP32[$0>>2]|0; + $5422 = ((($5421)) + 112|0); + $5423 = HEAP32[$5422>>2]|0; + $5424 = (($5423) + ($5420<<2)|0); + $5425 = HEAP32[$5424>>2]|0; + HEAP32[$pC74>>2] = $5425; + $5426 = HEAP32[$pC74>>2]|0; + $5427 = ((($5426)) + 24|0); + $5428 = HEAP32[$5427>>2]|0; + HEAP32[$r76>>2] = $5428; + $5429 = HEAP32[$pOp>>2]|0; + $5430 = ((($5429)) + 16|0); + $5431 = HEAP32[$5430>>2]|0; + $5432 = $5431&65535; + $5433 = ((($r76)) + 8|0); + HEAP16[$5433>>1] = $5432; + $5434 = HEAP32[$pOp>>2]|0; + $5435 = HEAP8[$5434>>0]|0; + $5436 = $5435&255; + $5437 = ($5436|0)<(60); + $5438 = ((($r76)) + 10|0); + if ($5437) { + HEAP8[$5438>>0] = -1; } else { - HEAP8[$5394>>0] = 0; + HEAP8[$5438>>0] = 0; } - $5395 = HEAP32[$pOp>>2]|0; - $5396 = ((($5395)) + 12|0); - $5397 = HEAP32[$5396>>2]|0; - $5398 = HEAP32[$aMem>>2]|0; - $5399 = (($5398) + (($5397*40)|0)|0); - $5400 = ((($r77)) + 4|0); - HEAP32[$5400>>2] = $5399; - HEAP32[$res76>>2] = 0; - $5401 = HEAP32[$db>>2]|0; - $5402 = HEAP32[$pC75>>2]|0; - $5403 = (_sqlite3VdbeIdxKeyCompare($5401,$5402,$r77,$res76)|0); - HEAP32[$rc>>2] = $5403; - $5404 = HEAP32[$pOp>>2]|0; - $5405 = HEAP8[$5404>>0]|0; - $5406 = $5405&255; - $5407 = $5406 & 1; - $5408 = ($5407|0)==(0); - $5409 = HEAP32[$res76>>2]|0; - if ($5408) { - $5410 = (0 - ($5409))|0; - HEAP32[$res76>>2] = $5410; + $5439 = HEAP32[$pOp>>2]|0; + $5440 = ((($5439)) + 12|0); + $5441 = HEAP32[$5440>>2]|0; + $5442 = HEAP32[$aMem>>2]|0; + $5443 = (($5442) + (($5441*40)|0)|0); + $5444 = ((($r76)) + 4|0); + HEAP32[$5444>>2] = $5443; + HEAP32[$res75>>2] = 0; + $5445 = HEAP32[$db>>2]|0; + $5446 = HEAP32[$pC74>>2]|0; + $5447 = (_sqlite3VdbeIdxKeyCompare($5445,$5446,$r76,$res75)|0); + HEAP32[$rc>>2] = $5447; + $5448 = HEAP32[$pOp>>2]|0; + $5449 = HEAP8[$5448>>0]|0; + $5450 = $5449&255; + $5451 = $5450 & 1; + $5452 = ($5451|0)==(0); + $5453 = HEAP32[$res75>>2]|0; + if ($5452) { + $5454 = (0 - ($5453))|0; + HEAP32[$res75>>2] = $5454; } else { - $5411 = (($5409) + 1)|0; - HEAP32[$res76>>2] = $5411; + $5455 = (($5453) + 1)|0; + HEAP32[$res75>>2] = $5455; } - $5412 = HEAP32[$rc>>2]|0; - $5413 = ($5412|0)!=(0); - if ($5413) { + $5456 = HEAP32[$rc>>2]|0; + $5457 = ($5456|0)!=(0); + if ($5457) { break L1; } - $5414 = HEAP32[$res76>>2]|0; - $5415 = ($5414|0)>(0); - if ($5415) { + $5458 = HEAP32[$res75>>2]|0; + $5459 = ($5458|0)>(0); + if ($5459) { label = 14; } break; } - case 128: { - $5416 = HEAP32[$0>>2]|0; - $5417 = HEAP32[$pOp>>2]|0; - $5418 = (_out2Prerelease($5416,$5417)|0); - HEAP32[$pOut>>2] = $5418; - $5419 = HEAP32[$pOut>>2]|0; - $5420 = ((($5419)) + 8|0); - HEAP16[$5420>>1] = 1; - $5421 = HEAP32[$db>>2]|0; - $5422 = ((($5421)) + 156|0); - $5423 = HEAP32[$5422>>2]|0; - $5424 = HEAP32[$db>>2]|0; - $5425 = ((($5424)) + 168|0); - $5426 = HEAP32[$5425>>2]|0; - $5427 = (($5426) + 1)|0; - $5428 = ($5423|0)>($5427|0); - if ($5428) { - label = 661; + case 130: { + $5460 = HEAP32[$0>>2]|0; + $5461 = HEAP32[$pOp>>2]|0; + $5462 = (_out2Prerelease($5460,$5461)|0); + HEAP32[$pOut>>2] = $5462; + $5463 = HEAP32[$pOut>>2]|0; + $5464 = ((($5463)) + 8|0); + HEAP16[$5464>>1] = 1; + $5465 = HEAP32[$db>>2]|0; + $5466 = ((($5465)) + 160|0); + $5467 = HEAP32[$5466>>2]|0; + $5468 = HEAP32[$db>>2]|0; + $5469 = ((($5468)) + 172|0); + $5470 = HEAP32[$5469>>2]|0; + $5471 = (($5470) + 1)|0; + $5472 = ($5467|0)>($5471|0); + if ($5472) { + label = 660; break L8; } - $5431 = HEAP32[$pOp>>2]|0; - $5432 = ((($5431)) + 12|0); - $5433 = HEAP32[$5432>>2]|0; - HEAP32[$iDb78>>2] = $5433; + $5475 = HEAP32[$pOp>>2]|0; + $5476 = ((($5475)) + 12|0); + $5477 = HEAP32[$5476>>2]|0; + HEAP32[$iDb77>>2] = $5477; HEAP32[$iMoved>>2] = 0; - $5434 = HEAP32[$iDb78>>2]|0; - $5435 = HEAP32[$db>>2]|0; - $5436 = ((($5435)) + 16|0); - $5437 = HEAP32[$5436>>2]|0; - $5438 = (($5437) + ($5434<<4)|0); - $5439 = ((($5438)) + 4|0); - $5440 = HEAP32[$5439>>2]|0; - $5441 = HEAP32[$pOp>>2]|0; - $5442 = ((($5441)) + 4|0); - $5443 = HEAP32[$5442>>2]|0; - $5444 = (_sqlite3BtreeDropTable($5440,$5443,$iMoved)|0); - HEAP32[$rc>>2] = $5444; - $5445 = HEAP32[$pOut>>2]|0; - $5446 = ((($5445)) + 8|0); - HEAP16[$5446>>1] = 4; - $5447 = HEAP32[$iMoved>>2]|0; - $5448 = ($5447|0)<(0); - $5449 = $5448 << 31 >> 31; - $5450 = HEAP32[$pOut>>2]|0; - $5451 = $5450; - $5452 = $5451; - HEAP32[$5452>>2] = $5447; - $5453 = (($5451) + 4)|0; - $5454 = $5453; - HEAP32[$5454>>2] = $5449; - $5455 = HEAP32[$rc>>2]|0; - $5456 = ($5455|0)!=(0); - if ($5456) { + $5478 = HEAP32[$iDb77>>2]|0; + $5479 = HEAP32[$db>>2]|0; + $5480 = ((($5479)) + 16|0); + $5481 = HEAP32[$5480>>2]|0; + $5482 = (($5481) + ($5478<<4)|0); + $5483 = ((($5482)) + 4|0); + $5484 = HEAP32[$5483>>2]|0; + $5485 = HEAP32[$pOp>>2]|0; + $5486 = ((($5485)) + 4|0); + $5487 = HEAP32[$5486>>2]|0; + $5488 = (_sqlite3BtreeDropTable($5484,$5487,$iMoved)|0); + HEAP32[$rc>>2] = $5488; + $5489 = HEAP32[$pOut>>2]|0; + $5490 = ((($5489)) + 8|0); + HEAP16[$5490>>1] = 4; + $5491 = HEAP32[$iMoved>>2]|0; + $5492 = ($5491|0)<(0); + $5493 = $5492 << 31 >> 31; + $5494 = HEAP32[$pOut>>2]|0; + $5495 = $5494; + $5496 = $5495; + HEAP32[$5496>>2] = $5491; + $5497 = (($5495) + 4)|0; + $5498 = $5497; + HEAP32[$5498>>2] = $5493; + $5499 = HEAP32[$rc>>2]|0; + $5500 = ($5499|0)!=(0); + if ($5500) { break L1; } - $5457 = HEAP32[$iMoved>>2]|0; - $5458 = ($5457|0)!=(0); - if ($5458) { - $5459 = HEAP32[$db>>2]|0; - $5460 = HEAP32[$iDb78>>2]|0; - $5461 = HEAP32[$iMoved>>2]|0; - $5462 = HEAP32[$pOp>>2]|0; - $5463 = ((($5462)) + 4|0); - $5464 = HEAP32[$5463>>2]|0; - _sqlite3RootPageMoved($5459,$5460,$5461,$5464); - $5465 = HEAP32[$iDb78>>2]|0; - $5466 = (($5465) + 1)|0; - $5467 = $5466&255; - HEAP8[$resetSchemaOnFault>>0] = $5467; + $5501 = HEAP32[$iMoved>>2]|0; + $5502 = ($5501|0)!=(0); + if ($5502) { + $5503 = HEAP32[$db>>2]|0; + $5504 = HEAP32[$iDb77>>2]|0; + $5505 = HEAP32[$iMoved>>2]|0; + $5506 = HEAP32[$pOp>>2]|0; + $5507 = ((($5506)) + 4|0); + $5508 = HEAP32[$5507>>2]|0; + _sqlite3RootPageMoved($5503,$5504,$5505,$5508); + $5509 = HEAP32[$iDb77>>2]|0; + $5510 = (($5509) + 1)|0; + $5511 = $5510&255; + HEAP8[$resetSchemaOnFault>>0] = $5511; } break; } - case 129: { + case 131: { HEAP32[$nChange>>2] = 0; - $5468 = HEAP32[$pOp>>2]|0; - $5469 = ((($5468)) + 8|0); - $5470 = HEAP32[$5469>>2]|0; - $5471 = HEAP32[$db>>2]|0; - $5472 = ((($5471)) + 16|0); - $5473 = HEAP32[$5472>>2]|0; - $5474 = (($5473) + ($5470<<4)|0); - $5475 = ((($5474)) + 4|0); - $5476 = HEAP32[$5475>>2]|0; - $5477 = HEAP32[$pOp>>2]|0; - $5478 = ((($5477)) + 4|0); - $5479 = HEAP32[$5478>>2]|0; - $5480 = HEAP32[$pOp>>2]|0; - $5481 = ((($5480)) + 12|0); - $5482 = HEAP32[$5481>>2]|0; - $5483 = ($5482|0)!=(0); - $nChange$ = $5483 ? $nChange : 0; - $5484 = (_sqlite3BtreeClearTable($5476,$5479,$nChange$)|0); - HEAP32[$rc>>2] = $5484; - $5485 = HEAP32[$pOp>>2]|0; - $5486 = ((($5485)) + 12|0); - $5487 = HEAP32[$5486>>2]|0; - $5488 = ($5487|0)!=(0); - if ($5488) { - $5489 = HEAP32[$nChange>>2]|0; - $5490 = HEAP32[$0>>2]|0; - $5491 = ((($5490)) + 92|0); - $5492 = HEAP32[$5491>>2]|0; - $5493 = (($5492) + ($5489))|0; - HEAP32[$5491>>2] = $5493; - $5494 = HEAP32[$pOp>>2]|0; - $5495 = ((($5494)) + 12|0); - $5496 = HEAP32[$5495>>2]|0; - $5497 = ($5496|0)>(0); - if ($5497) { - $5498 = HEAP32[$nChange>>2]|0; - $5499 = ($5498|0)<(0); - $5500 = $5499 << 31 >> 31; - $5501 = HEAP32[$pOp>>2]|0; - $5502 = ((($5501)) + 12|0); - $5503 = HEAP32[$5502>>2]|0; - $5504 = HEAP32[$aMem>>2]|0; - $5505 = (($5504) + (($5503*40)|0)|0); - $5506 = $5505; - $5507 = $5506; - $5508 = HEAP32[$5507>>2]|0; - $5509 = (($5506) + 4)|0; - $5510 = $5509; - $5511 = HEAP32[$5510>>2]|0; - $5512 = (_i64Add(($5508|0),($5511|0),($5498|0),($5500|0))|0); - $5513 = tempRet0; - $5514 = $5505; - $5515 = $5514; - HEAP32[$5515>>2] = $5512; - $5516 = (($5514) + 4)|0; - $5517 = $5516; - HEAP32[$5517>>2] = $5513; + $5512 = HEAP32[$pOp>>2]|0; + $5513 = ((($5512)) + 8|0); + $5514 = HEAP32[$5513>>2]|0; + $5515 = HEAP32[$db>>2]|0; + $5516 = ((($5515)) + 16|0); + $5517 = HEAP32[$5516>>2]|0; + $5518 = (($5517) + ($5514<<4)|0); + $5519 = ((($5518)) + 4|0); + $5520 = HEAP32[$5519>>2]|0; + $5521 = HEAP32[$pOp>>2]|0; + $5522 = ((($5521)) + 4|0); + $5523 = HEAP32[$5522>>2]|0; + $5524 = HEAP32[$pOp>>2]|0; + $5525 = ((($5524)) + 12|0); + $5526 = HEAP32[$5525>>2]|0; + $5527 = ($5526|0)!=(0); + $nChange$ = $5527 ? $nChange : 0; + $5528 = (_sqlite3BtreeClearTable($5520,$5523,$nChange$)|0); + HEAP32[$rc>>2] = $5528; + $5529 = HEAP32[$pOp>>2]|0; + $5530 = ((($5529)) + 12|0); + $5531 = HEAP32[$5530>>2]|0; + $5532 = ($5531|0)!=(0); + if ($5532) { + $5533 = HEAP32[$nChange>>2]|0; + $5534 = HEAP32[$0>>2]|0; + $5535 = ((($5534)) + 44|0); + $5536 = HEAP32[$5535>>2]|0; + $5537 = (($5536) + ($5533))|0; + HEAP32[$5535>>2] = $5537; + $5538 = HEAP32[$pOp>>2]|0; + $5539 = ((($5538)) + 12|0); + $5540 = HEAP32[$5539>>2]|0; + $5541 = ($5540|0)>(0); + if ($5541) { + $5542 = HEAP32[$nChange>>2]|0; + $5543 = ($5542|0)<(0); + $5544 = $5543 << 31 >> 31; + $5545 = HEAP32[$pOp>>2]|0; + $5546 = ((($5545)) + 12|0); + $5547 = HEAP32[$5546>>2]|0; + $5548 = HEAP32[$aMem>>2]|0; + $5549 = (($5548) + (($5547*40)|0)|0); + $5550 = $5549; + $5551 = $5550; + $5552 = HEAP32[$5551>>2]|0; + $5553 = (($5550) + 4)|0; + $5554 = $5553; + $5555 = HEAP32[$5554>>2]|0; + $5556 = (_i64Add(($5552|0),($5555|0),($5542|0),($5544|0))|0); + $5557 = tempRet0; + $5558 = $5549; + $5559 = $5558; + HEAP32[$5559>>2] = $5556; + $5560 = (($5558) + 4)|0; + $5561 = $5560; + HEAP32[$5561>>2] = $5557; } } - $5518 = HEAP32[$rc>>2]|0; - $5519 = ($5518|0)!=(0); - if ($5519) { + $5562 = HEAP32[$rc>>2]|0; + $5563 = ($5562|0)!=(0); + if ($5563) { break L1; } break; } - case 130: { - $5520 = HEAP32[$pOp>>2]|0; - $5521 = ((($5520)) + 4|0); - $5522 = HEAP32[$5521>>2]|0; - $5523 = HEAP32[$0>>2]|0; - $5524 = ((($5523)) + 56|0); - $5525 = HEAP32[$5524>>2]|0; - $5526 = (($5525) + ($5522<<2)|0); - $5527 = HEAP32[$5526>>2]|0; - HEAP32[$pC79>>2] = $5527; - $5528 = HEAP32[$pC79>>2]|0; - $5529 = HEAP8[$5528>>0]|0; - $5530 = $5529&255; - $5531 = ($5530|0)==(1); - if ($5531) { - $5532 = HEAP32[$db>>2]|0; - $5533 = HEAP32[$pC79>>2]|0; - $5534 = ((($5533)) + 16|0); - $5535 = HEAP32[$5534>>2]|0; - _sqlite3VdbeSorterReset($5532,$5535); + case 133: { + $5564 = HEAP32[$pOp>>2]|0; + $5565 = ((($5564)) + 4|0); + $5566 = HEAP32[$5565>>2]|0; + $5567 = HEAP32[$0>>2]|0; + $5568 = ((($5567)) + 112|0); + $5569 = HEAP32[$5568>>2]|0; + $5570 = (($5569) + ($5566<<2)|0); + $5571 = HEAP32[$5570>>2]|0; + HEAP32[$pC78>>2] = $5571; + $5572 = HEAP32[$pC78>>2]|0; + $5573 = HEAP8[$5572>>0]|0; + $5574 = $5573&255; + $5575 = ($5574|0)==(1); + if ($5575) { + $5576 = HEAP32[$db>>2]|0; + $5577 = HEAP32[$pC78>>2]|0; + $5578 = ((($5577)) + 16|0); + $5579 = HEAP32[$5578>>2]|0; + _sqlite3VdbeSorterReset($5576,$5579); break L10; } else { - $5536 = HEAP32[$pC79>>2]|0; - $5537 = ((($5536)) + 16|0); - $5538 = HEAP32[$5537>>2]|0; - $5539 = (_sqlite3BtreeClearTableOfCursor($5538)|0); - HEAP32[$rc>>2] = $5539; - $5540 = HEAP32[$rc>>2]|0; - $5541 = ($5540|0)!=(0); - if ($5541) { + $5580 = HEAP32[$pC78>>2]|0; + $5581 = ((($5580)) + 16|0); + $5582 = HEAP32[$5581>>2]|0; + $5583 = (_sqlite3BtreeClearTableOfCursor($5582)|0); + HEAP32[$rc>>2] = $5583; + $5584 = HEAP32[$rc>>2]|0; + $5585 = ($5584|0)!=(0); + if ($5585) { break L1; } else { break L10; @@ -218419,941 +222750,901 @@ function _sqlite3VdbeExec($p) { } break; } - case 132: case 131: { - $5542 = HEAP32[$0>>2]|0; - $5543 = HEAP32[$pOp>>2]|0; - $5544 = (_out2Prerelease($5542,$5543)|0); - HEAP32[$pOut>>2] = $5544; - HEAP32[$pgno80>>2] = 0; - $5545 = HEAP32[$pOp>>2]|0; - $5546 = ((($5545)) + 4|0); - $5547 = HEAP32[$5546>>2]|0; - $5548 = HEAP32[$db>>2]|0; - $5549 = ((($5548)) + 16|0); - $5550 = HEAP32[$5549>>2]|0; - $5551 = (($5550) + ($5547<<4)|0); - HEAP32[$pDb82>>2] = $5551; - $5552 = HEAP32[$pOp>>2]|0; - $5553 = HEAP8[$5552>>0]|0; - $5554 = $5553&255; - $5555 = ($5554|0)==(132); - if ($5555) { - HEAP32[$flags81>>2] = 1; + case 135: case 134: { + $5586 = HEAP32[$0>>2]|0; + $5587 = HEAP32[$pOp>>2]|0; + $5588 = (_out2Prerelease($5586,$5587)|0); + HEAP32[$pOut>>2] = $5588; + HEAP32[$pgno79>>2] = 0; + $5589 = HEAP32[$pOp>>2]|0; + $5590 = ((($5589)) + 4|0); + $5591 = HEAP32[$5590>>2]|0; + $5592 = HEAP32[$db>>2]|0; + $5593 = ((($5592)) + 16|0); + $5594 = HEAP32[$5593>>2]|0; + $5595 = (($5594) + ($5591<<4)|0); + HEAP32[$pDb81>>2] = $5595; + $5596 = HEAP32[$pOp>>2]|0; + $5597 = HEAP8[$5596>>0]|0; + $5598 = $5597&255; + $5599 = ($5598|0)==(135); + if ($5599) { + HEAP32[$flags80>>2] = 1; } else { - HEAP32[$flags81>>2] = 2; + HEAP32[$flags80>>2] = 2; } - $5556 = HEAP32[$pDb82>>2]|0; - $5557 = ((($5556)) + 4|0); - $5558 = HEAP32[$5557>>2]|0; - $5559 = HEAP32[$flags81>>2]|0; - $5560 = (_sqlite3BtreeCreateTable($5558,$pgno80,$5559)|0); - HEAP32[$rc>>2] = $5560; - $5561 = HEAP32[$rc>>2]|0; - $5562 = ($5561|0)!=(0); - if ($5562) { + $5600 = HEAP32[$pDb81>>2]|0; + $5601 = ((($5600)) + 4|0); + $5602 = HEAP32[$5601>>2]|0; + $5603 = HEAP32[$flags80>>2]|0; + $5604 = (_sqlite3BtreeCreateTable($5602,$pgno79,$5603)|0); + HEAP32[$rc>>2] = $5604; + $5605 = HEAP32[$rc>>2]|0; + $5606 = ($5605|0)!=(0); + if ($5606) { break L1; } - $5563 = HEAP32[$pgno80>>2]|0; - $5564 = ($5563|0)<(0); - $5565 = $5564 << 31 >> 31; - $5566 = HEAP32[$pOut>>2]|0; - $5567 = $5566; - $5568 = $5567; - HEAP32[$5568>>2] = $5563; - $5569 = (($5567) + 4)|0; - $5570 = $5569; - HEAP32[$5570>>2] = $5565; + $5607 = HEAP32[$pgno79>>2]|0; + $5608 = ($5607|0)<(0); + $5609 = $5608 << 31 >> 31; + $5610 = HEAP32[$pOut>>2]|0; + $5611 = $5610; + $5612 = $5611; + HEAP32[$5612>>2] = $5607; + $5613 = (($5611) + 4)|0; + $5614 = $5613; + HEAP32[$5614>>2] = $5609; break; } - case 134: { - $5571 = HEAP32[$pOp>>2]|0; - $5572 = ((($5571)) + 4|0); - $5573 = HEAP32[$5572>>2]|0; - HEAP32[$iDb83>>2] = $5573; - $5574 = HEAP32[$iDb83>>2]|0; - $5575 = ($5574|0)==(1); - $5576 = $5575 ? 20521 : 20540; - HEAP32[$zMaster>>2] = $5576; - $5577 = HEAP32[$db>>2]|0; - HEAP32[$initData>>2] = $5577; - $5578 = HEAP32[$pOp>>2]|0; - $5579 = ((($5578)) + 4|0); - $5580 = HEAP32[$5579>>2]|0; - $5581 = ((($initData)) + 8|0); - HEAP32[$5581>>2] = $5580; - $5582 = HEAP32[$0>>2]|0; - $5583 = ((($5582)) + 44|0); - $5584 = ((($initData)) + 4|0); - HEAP32[$5584>>2] = $5583; - $5585 = HEAP32[$db>>2]|0; - $5586 = HEAP32[$iDb83>>2]|0; - $5587 = HEAP32[$db>>2]|0; - $5588 = ((($5587)) + 16|0); - $5589 = HEAP32[$5588>>2]|0; - $5590 = (($5589) + ($5586<<4)|0); - $5591 = HEAP32[$5590>>2]|0; - $5592 = HEAP32[$zMaster>>2]|0; - $5593 = HEAP32[$pOp>>2]|0; - $5594 = ((($5593)) + 16|0); - $5595 = HEAP32[$5594>>2]|0; - HEAP32[$vararg_buffer58>>2] = $5591; + case 136: { + $5615 = HEAP32[$pOp>>2]|0; + $5616 = ((($5615)) + 4|0); + $5617 = HEAP32[$5616>>2]|0; + HEAP32[$iDb82>>2] = $5617; + $5618 = HEAP32[$iDb82>>2]|0; + $5619 = ($5618|0)==(1); + $5620 = $5619 ? 19905 : 19924; + HEAP32[$zMaster>>2] = $5620; + $5621 = HEAP32[$db>>2]|0; + HEAP32[$initData>>2] = $5621; + $5622 = HEAP32[$pOp>>2]|0; + $5623 = ((($5622)) + 4|0); + $5624 = HEAP32[$5623>>2]|0; + $5625 = ((($initData)) + 8|0); + HEAP32[$5625>>2] = $5624; + $5626 = HEAP32[$0>>2]|0; + $5627 = ((($5626)) + 108|0); + $5628 = ((($initData)) + 4|0); + HEAP32[$5628>>2] = $5627; + $5629 = HEAP32[$db>>2]|0; + $5630 = HEAP32[$iDb82>>2]|0; + $5631 = HEAP32[$db>>2]|0; + $5632 = ((($5631)) + 16|0); + $5633 = HEAP32[$5632>>2]|0; + $5634 = (($5633) + ($5630<<4)|0); + $5635 = HEAP32[$5634>>2]|0; + $5636 = HEAP32[$zMaster>>2]|0; + $5637 = HEAP32[$pOp>>2]|0; + $5638 = ((($5637)) + 16|0); + $5639 = HEAP32[$5638>>2]|0; + HEAP32[$vararg_buffer58>>2] = $5635; $vararg_ptr61 = ((($vararg_buffer58)) + 4|0); - HEAP32[$vararg_ptr61>>2] = $5592; + HEAP32[$vararg_ptr61>>2] = $5636; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); - HEAP32[$vararg_ptr62>>2] = $5595; - $5596 = (_sqlite3MPrintf($5585,40752,$vararg_buffer58)|0); - HEAP32[$zSql>>2] = $5596; - $5597 = HEAP32[$zSql>>2]|0; - $5598 = ($5597|0)==(0|0); - if ($5598) { + HEAP32[$vararg_ptr62>>2] = $5639; + $5640 = (_sqlite3MPrintf($5629,40293,$vararg_buffer58)|0); + HEAP32[$zSql>>2] = $5640; + $5641 = HEAP32[$zSql>>2]|0; + $5642 = ($5641|0)==(0|0); + if ($5642) { HEAP32[$rc>>2] = 7; } else { - $5599 = HEAP32[$db>>2]|0; - $5600 = ((($5599)) + 144|0); - $5601 = ((($5600)) + 5|0); - HEAP8[$5601>>0] = 1; - $5602 = ((($initData)) + 12|0); - HEAP32[$5602>>2] = 0; - $5603 = HEAP32[$db>>2]|0; - $5604 = HEAP32[$zSql>>2]|0; - $5605 = (_sqlite3_exec($5603,$5604,140,$initData,0)|0); - HEAP32[$rc>>2] = $5605; - $5606 = HEAP32[$rc>>2]|0; - $5607 = ($5606|0)==(0); - if ($5607) { - $5608 = ((($initData)) + 12|0); - $5609 = HEAP32[$5608>>2]|0; - HEAP32[$rc>>2] = $5609; + $5643 = HEAP32[$db>>2]|0; + $5644 = ((($5643)) + 148|0); + $5645 = ((($5644)) + 5|0); + HEAP8[$5645>>0] = 1; + $5646 = ((($initData)) + 12|0); + HEAP32[$5646>>2] = 0; + $5647 = HEAP32[$db>>2]|0; + $5648 = HEAP32[$zSql>>2]|0; + $5649 = (_sqlite3_exec($5647,$5648,140,$initData,0)|0); + HEAP32[$rc>>2] = $5649; + $5650 = HEAP32[$rc>>2]|0; + $5651 = ($5650|0)==(0); + if ($5651) { + $5652 = ((($initData)) + 12|0); + $5653 = HEAP32[$5652>>2]|0; + HEAP32[$rc>>2] = $5653; } - $5610 = HEAP32[$db>>2]|0; - $5611 = HEAP32[$zSql>>2]|0; - _sqlite3DbFree($5610,$5611); - $5612 = HEAP32[$db>>2]|0; - $5613 = ((($5612)) + 144|0); - $5614 = ((($5613)) + 5|0); - HEAP8[$5614>>0] = 0; + $5654 = HEAP32[$db>>2]|0; + $5655 = HEAP32[$zSql>>2]|0; + _sqlite3DbFree($5654,$5655); + $5656 = HEAP32[$db>>2]|0; + $5657 = ((($5656)) + 148|0); + $5658 = ((($5657)) + 5|0); + HEAP8[$5658>>0] = 0; } - $5615 = HEAP32[$rc>>2]|0; - $5616 = ($5615|0)!=(0); - if ($5616) { - label = 683; + $5659 = HEAP32[$rc>>2]|0; + $5660 = ($5659|0)!=(0); + if ($5660) { + label = 682; break L8; } break; } - case 135: { - $5620 = HEAP32[$db>>2]|0; - $5621 = HEAP32[$pOp>>2]|0; - $5622 = ((($5621)) + 4|0); - $5623 = HEAP32[$5622>>2]|0; - $5624 = (_sqlite3AnalysisLoad($5620,$5623)|0); - HEAP32[$rc>>2] = $5624; - $5625 = HEAP32[$rc>>2]|0; - $5626 = ($5625|0)!=(0); - if ($5626) { + case 137: { + $5664 = HEAP32[$db>>2]|0; + $5665 = HEAP32[$pOp>>2]|0; + $5666 = ((($5665)) + 4|0); + $5667 = HEAP32[$5666>>2]|0; + $5668 = (_sqlite3AnalysisLoad($5664,$5667)|0); + HEAP32[$rc>>2] = $5668; + $5669 = HEAP32[$rc>>2]|0; + $5670 = ($5669|0)!=(0); + if ($5670) { break L1; } break; } - case 136: { - $5627 = HEAP32[$db>>2]|0; - $5628 = HEAP32[$pOp>>2]|0; - $5629 = ((($5628)) + 4|0); - $5630 = HEAP32[$5629>>2]|0; - $5631 = HEAP32[$pOp>>2]|0; - $5632 = ((($5631)) + 16|0); - $5633 = HEAP32[$5632>>2]|0; - _sqlite3UnlinkAndDeleteTable($5627,$5630,$5633); + case 138: { + $5671 = HEAP32[$db>>2]|0; + $5672 = HEAP32[$pOp>>2]|0; + $5673 = ((($5672)) + 4|0); + $5674 = HEAP32[$5673>>2]|0; + $5675 = HEAP32[$pOp>>2]|0; + $5676 = ((($5675)) + 16|0); + $5677 = HEAP32[$5676>>2]|0; + _sqlite3UnlinkAndDeleteTable($5671,$5674,$5677); break; } - case 137: { - $5634 = HEAP32[$db>>2]|0; - $5635 = HEAP32[$pOp>>2]|0; - $5636 = ((($5635)) + 4|0); - $5637 = HEAP32[$5636>>2]|0; - $5638 = HEAP32[$pOp>>2]|0; - $5639 = ((($5638)) + 16|0); - $5640 = HEAP32[$5639>>2]|0; - _sqlite3UnlinkAndDeleteIndex($5634,$5637,$5640); + case 139: { + $5678 = HEAP32[$db>>2]|0; + $5679 = HEAP32[$pOp>>2]|0; + $5680 = ((($5679)) + 4|0); + $5681 = HEAP32[$5680>>2]|0; + $5682 = HEAP32[$pOp>>2]|0; + $5683 = ((($5682)) + 16|0); + $5684 = HEAP32[$5683>>2]|0; + _sqlite3UnlinkAndDeleteIndex($5678,$5681,$5684); break; } - case 138: { - $5641 = HEAP32[$db>>2]|0; - $5642 = HEAP32[$pOp>>2]|0; - $5643 = ((($5642)) + 4|0); - $5644 = HEAP32[$5643>>2]|0; - $5645 = HEAP32[$pOp>>2]|0; - $5646 = ((($5645)) + 16|0); - $5647 = HEAP32[$5646>>2]|0; - _sqlite3UnlinkAndDeleteTrigger($5641,$5644,$5647); + case 140: { + $5685 = HEAP32[$db>>2]|0; + $5686 = HEAP32[$pOp>>2]|0; + $5687 = ((($5686)) + 4|0); + $5688 = HEAP32[$5687>>2]|0; + $5689 = HEAP32[$pOp>>2]|0; + $5690 = ((($5689)) + 16|0); + $5691 = HEAP32[$5690>>2]|0; + _sqlite3UnlinkAndDeleteTrigger($5685,$5688,$5691); break; } - case 139: { - $5648 = HEAP32[$pOp>>2]|0; - $5649 = ((($5648)) + 8|0); - $5650 = HEAP32[$5649>>2]|0; - HEAP32[$nRoot>>2] = $5650; - $5651 = HEAP32[$pOp>>2]|0; - $5652 = ((($5651)) + 16|0); - $5653 = HEAP32[$5652>>2]|0; - HEAP32[$aRoot>>2] = $5653; - $5654 = HEAP32[$pOp>>2]|0; - $5655 = ((($5654)) + 12|0); - $5656 = HEAP32[$5655>>2]|0; - $5657 = HEAP32[$aMem>>2]|0; - $5658 = (($5657) + (($5656*40)|0)|0); - HEAP32[$pnErr>>2] = $5658; - $5659 = HEAP32[$pOp>>2]|0; - $5660 = ((($5659)) + 4|0); - $5661 = HEAP32[$5660>>2]|0; - $5662 = HEAP32[$aMem>>2]|0; - $5663 = (($5662) + (($5661*40)|0)|0); - HEAP32[$pIn1>>2] = $5663; - $5664 = HEAP32[$pOp>>2]|0; - $5665 = ((($5664)) + 3|0); - $5666 = HEAP8[$5665>>0]|0; - $5667 = $5666&255; - $5668 = HEAP32[$db>>2]|0; - $5669 = ((($5668)) + 16|0); - $5670 = HEAP32[$5669>>2]|0; - $5671 = (($5670) + ($5667<<4)|0); - $5672 = ((($5671)) + 4|0); - $5673 = HEAP32[$5672>>2]|0; - $5674 = HEAP32[$aRoot>>2]|0; - $5675 = HEAP32[$nRoot>>2]|0; - $5676 = HEAP32[$pnErr>>2]|0; - $5677 = $5676; - $5678 = $5677; - $5679 = HEAP32[$5678>>2]|0; - $5680 = (($5677) + 4)|0; - $5681 = $5680; - $5682 = HEAP32[$5681>>2]|0; - $5683 = (_sqlite3BtreeIntegrityCheck($5673,$5674,$5675,$5679,$nErr)|0); - HEAP32[$z>>2] = $5683; - $5684 = HEAP32[$nErr>>2]|0; - $5685 = ($5684|0)<(0); - $5686 = $5685 << 31 >> 31; - $5687 = HEAP32[$pnErr>>2]|0; - $5688 = $5687; - $5689 = $5688; - $5690 = HEAP32[$5689>>2]|0; - $5691 = (($5688) + 4)|0; - $5692 = $5691; - $5693 = HEAP32[$5692>>2]|0; - $5694 = (_i64Subtract(($5690|0),($5693|0),($5684|0),($5686|0))|0); - $5695 = tempRet0; - $5696 = $5687; - $5697 = $5696; - HEAP32[$5697>>2] = $5694; - $5698 = (($5696) + 4)|0; - $5699 = $5698; - HEAP32[$5699>>2] = $5695; - $5700 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetNull($5700); - $5701 = HEAP32[$nErr>>2]|0; - $5702 = ($5701|0)==(0); - if (!($5702)) { - $5703 = HEAP32[$z>>2]|0; - $5704 = ($5703|0)==(0|0); - if ($5704) { - label = 881; + case 141: { + $5692 = HEAP32[$pOp>>2]|0; + $5693 = ((($5692)) + 8|0); + $5694 = HEAP32[$5693>>2]|0; + HEAP32[$nRoot>>2] = $5694; + $5695 = HEAP32[$pOp>>2]|0; + $5696 = ((($5695)) + 16|0); + $5697 = HEAP32[$5696>>2]|0; + HEAP32[$aRoot>>2] = $5697; + $5698 = HEAP32[$pOp>>2]|0; + $5699 = ((($5698)) + 12|0); + $5700 = HEAP32[$5699>>2]|0; + $5701 = HEAP32[$aMem>>2]|0; + $5702 = (($5701) + (($5700*40)|0)|0); + HEAP32[$pnErr>>2] = $5702; + $5703 = HEAP32[$pOp>>2]|0; + $5704 = ((($5703)) + 4|0); + $5705 = HEAP32[$5704>>2]|0; + $5706 = HEAP32[$aMem>>2]|0; + $5707 = (($5706) + (($5705*40)|0)|0); + HEAP32[$pIn1>>2] = $5707; + $5708 = HEAP32[$pOp>>2]|0; + $5709 = ((($5708)) + 3|0); + $5710 = HEAP8[$5709>>0]|0; + $5711 = $5710&255; + $5712 = HEAP32[$db>>2]|0; + $5713 = ((($5712)) + 16|0); + $5714 = HEAP32[$5713>>2]|0; + $5715 = (($5714) + ($5711<<4)|0); + $5716 = ((($5715)) + 4|0); + $5717 = HEAP32[$5716>>2]|0; + $5718 = HEAP32[$aRoot>>2]|0; + $5719 = HEAP32[$nRoot>>2]|0; + $5720 = HEAP32[$pnErr>>2]|0; + $5721 = $5720; + $5722 = $5721; + $5723 = HEAP32[$5722>>2]|0; + $5724 = (($5721) + 4)|0; + $5725 = $5724; + $5726 = HEAP32[$5725>>2]|0; + $5727 = (_sqlite3BtreeIntegrityCheck($5717,$5718,$5719,$5723,$nErr)|0); + HEAP32[$z>>2] = $5727; + $5728 = HEAP32[$nErr>>2]|0; + $5729 = ($5728|0)<(0); + $5730 = $5729 << 31 >> 31; + $5731 = HEAP32[$pnErr>>2]|0; + $5732 = $5731; + $5733 = $5732; + $5734 = HEAP32[$5733>>2]|0; + $5735 = (($5732) + 4)|0; + $5736 = $5735; + $5737 = HEAP32[$5736>>2]|0; + $5738 = (_i64Subtract(($5734|0),($5737|0),($5728|0),($5730|0))|0); + $5739 = tempRet0; + $5740 = $5731; + $5741 = $5740; + HEAP32[$5741>>2] = $5738; + $5742 = (($5740) + 4)|0; + $5743 = $5742; + HEAP32[$5743>>2] = $5739; + $5744 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetNull($5744); + $5745 = HEAP32[$nErr>>2]|0; + $5746 = ($5745|0)==(0); + if (!($5746)) { + $5747 = HEAP32[$z>>2]|0; + $5748 = ($5747|0)==(0|0); + if ($5748) { + label = 889; break L1; } - $5705 = HEAP32[$pIn1>>2]|0; - $5706 = HEAP32[$z>>2]|0; - (_sqlite3VdbeMemSetStr($5705,$5706,-1,1,148)|0); + $5749 = HEAP32[$pIn1>>2]|0; + $5750 = HEAP32[$z>>2]|0; + (_sqlite3VdbeMemSetStr($5749,$5750,-1,1,148)|0); } - $5707 = HEAP32[$pIn1>>2]|0; - $5708 = HEAP8[$encoding>>0]|0; - $5709 = $5708&255; - (_sqlite3VdbeChangeEncoding($5707,$5709)|0); + $5751 = HEAP32[$pIn1>>2]|0; + $5752 = HEAP8[$encoding>>0]|0; + $5753 = $5752&255; + (_sqlite3VdbeChangeEncoding($5751,$5753)|0); break; } - case 140: { - $5710 = HEAP32[$pOp>>2]|0; - $5711 = ((($5710)) + 4|0); - $5712 = HEAP32[$5711>>2]|0; - $5713 = HEAP32[$aMem>>2]|0; - $5714 = (($5713) + (($5712*40)|0)|0); - HEAP32[$pIn1>>2] = $5714; - $5715 = HEAP32[$pOp>>2]|0; - $5716 = ((($5715)) + 8|0); - $5717 = HEAP32[$5716>>2]|0; - $5718 = HEAP32[$aMem>>2]|0; - $5719 = (($5718) + (($5717*40)|0)|0); - HEAP32[$pIn2>>2] = $5719; - $5720 = HEAP32[$pIn1>>2]|0; - $5721 = ((($5720)) + 8|0); - $5722 = HEAP16[$5721>>1]|0; - $5723 = $5722&65535; - $5724 = $5723 & 32; - $5725 = ($5724|0)==(0); - if ($5725) { - $5726 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetRowSet($5726); - $5727 = HEAP32[$pIn1>>2]|0; - $5728 = ((($5727)) + 8|0); - $5729 = HEAP16[$5728>>1]|0; - $5730 = $5729&65535; - $5731 = $5730 & 32; - $5732 = ($5731|0)==(0); - if ($5732) { - label = 881; + case 142: { + $5754 = HEAP32[$pOp>>2]|0; + $5755 = ((($5754)) + 4|0); + $5756 = HEAP32[$5755>>2]|0; + $5757 = HEAP32[$aMem>>2]|0; + $5758 = (($5757) + (($5756*40)|0)|0); + HEAP32[$pIn1>>2] = $5758; + $5759 = HEAP32[$pOp>>2]|0; + $5760 = ((($5759)) + 8|0); + $5761 = HEAP32[$5760>>2]|0; + $5762 = HEAP32[$aMem>>2]|0; + $5763 = (($5762) + (($5761*40)|0)|0); + HEAP32[$pIn2>>2] = $5763; + $5764 = HEAP32[$pIn1>>2]|0; + $5765 = ((($5764)) + 8|0); + $5766 = HEAP16[$5765>>1]|0; + $5767 = $5766&65535; + $5768 = $5767 & 32; + $5769 = ($5768|0)==(0); + if ($5769) { + $5770 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetRowSet($5770); + $5771 = HEAP32[$pIn1>>2]|0; + $5772 = ((($5771)) + 8|0); + $5773 = HEAP16[$5772>>1]|0; + $5774 = $5773&65535; + $5775 = $5774 & 32; + $5776 = ($5775|0)==(0); + if ($5776) { + label = 889; break L1; } } - $5733 = HEAP32[$pIn1>>2]|0; - $5734 = HEAP32[$5733>>2]|0; - $5735 = HEAP32[$pIn2>>2]|0; - $5736 = $5735; - $5737 = $5736; - $5738 = HEAP32[$5737>>2]|0; - $5739 = (($5736) + 4)|0; - $5740 = $5739; - $5741 = HEAP32[$5740>>2]|0; - _sqlite3RowSetInsert($5734,$5738,$5741); + $5777 = HEAP32[$pIn1>>2]|0; + $5778 = HEAP32[$5777>>2]|0; + $5779 = HEAP32[$pIn2>>2]|0; + $5780 = $5779; + $5781 = $5780; + $5782 = HEAP32[$5781>>2]|0; + $5783 = (($5780) + 4)|0; + $5784 = $5783; + $5785 = HEAP32[$5784>>2]|0; + _sqlite3RowSetInsert($5778,$5782,$5785); break; } - case 60: { - $5742 = HEAP32[$pOp>>2]|0; - $5743 = ((($5742)) + 4|0); - $5744 = HEAP32[$5743>>2]|0; - $5745 = HEAP32[$aMem>>2]|0; - $5746 = (($5745) + (($5744*40)|0)|0); - HEAP32[$pIn1>>2] = $5746; - $5747 = HEAP32[$pIn1>>2]|0; - $5748 = ((($5747)) + 8|0); - $5749 = HEAP16[$5748>>1]|0; - $5750 = $5749&65535; - $5751 = $5750 & 32; - $5752 = ($5751|0)==(0); - if (!($5752)) { - $5753 = HEAP32[$pIn1>>2]|0; - $5754 = HEAP32[$5753>>2]|0; - $5755 = (_sqlite3RowSetNext($5754,$val)|0); - $5756 = ($5755|0)==(0); - if (!($5756)) { - $5758 = HEAP32[$pOp>>2]|0; - $5759 = ((($5758)) + 12|0); - $5760 = HEAP32[$5759>>2]|0; - $5761 = HEAP32[$aMem>>2]|0; - $5762 = (($5761) + (($5760*40)|0)|0); - $5763 = $val; - $5764 = $5763; - $5765 = HEAP32[$5764>>2]|0; - $5766 = (($5763) + 4)|0; - $5767 = $5766; - $5768 = HEAP32[$5767>>2]|0; - _sqlite3VdbeMemSetInt64($5762,$5765,$5768); + case 62: { + $5786 = HEAP32[$pOp>>2]|0; + $5787 = ((($5786)) + 4|0); + $5788 = HEAP32[$5787>>2]|0; + $5789 = HEAP32[$aMem>>2]|0; + $5790 = (($5789) + (($5788*40)|0)|0); + HEAP32[$pIn1>>2] = $5790; + $5791 = HEAP32[$pIn1>>2]|0; + $5792 = ((($5791)) + 8|0); + $5793 = HEAP16[$5792>>1]|0; + $5794 = $5793&65535; + $5795 = $5794 & 32; + $5796 = ($5795|0)==(0); + if (!($5796)) { + $5797 = HEAP32[$pIn1>>2]|0; + $5798 = HEAP32[$5797>>2]|0; + $5799 = (_sqlite3RowSetNext($5798,$val)|0); + $5800 = ($5799|0)==(0); + if (!($5800)) { + $5802 = HEAP32[$pOp>>2]|0; + $5803 = ((($5802)) + 12|0); + $5804 = HEAP32[$5803>>2]|0; + $5805 = HEAP32[$aMem>>2]|0; + $5806 = (($5805) + (($5804*40)|0)|0); + $5807 = $val; + $5808 = $5807; + $5809 = HEAP32[$5808>>2]|0; + $5810 = (($5807) + 4)|0; + $5811 = $5810; + $5812 = HEAP32[$5811>>2]|0; + _sqlite3VdbeMemSetInt64($5806,$5809,$5812); label = 8; break L10; } } - $5757 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetNull($5757); + $5801 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetNull($5801); label = 7; break; } - case 61: { - $5769 = HEAP32[$pOp>>2]|0; - $5770 = ((($5769)) + 4|0); - $5771 = HEAP32[$5770>>2]|0; - $5772 = HEAP32[$aMem>>2]|0; - $5773 = (($5772) + (($5771*40)|0)|0); - HEAP32[$pIn1>>2] = $5773; - $5774 = HEAP32[$pOp>>2]|0; - $5775 = ((($5774)) + 12|0); - $5776 = HEAP32[$5775>>2]|0; - $5777 = HEAP32[$aMem>>2]|0; - $5778 = (($5777) + (($5776*40)|0)|0); - HEAP32[$pIn3>>2] = $5778; - $5779 = HEAP32[$pOp>>2]|0; - $5780 = ((($5779)) + 16|0); - $5781 = HEAP32[$5780>>2]|0; - HEAP32[$iSet>>2] = $5781; - $5782 = HEAP32[$pIn1>>2]|0; - $5783 = ((($5782)) + 8|0); - $5784 = HEAP16[$5783>>1]|0; - $5785 = $5784&65535; - $5786 = $5785 & 32; - $5787 = ($5786|0)==(0); - if ($5787) { - $5788 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetRowSet($5788); - $5789 = HEAP32[$pIn1>>2]|0; - $5790 = ((($5789)) + 8|0); - $5791 = HEAP16[$5790>>1]|0; - $5792 = $5791&65535; - $5793 = $5792 & 32; - $5794 = ($5793|0)==(0); - if ($5794) { - label = 881; + case 63: { + $5813 = HEAP32[$pOp>>2]|0; + $5814 = ((($5813)) + 4|0); + $5815 = HEAP32[$5814>>2]|0; + $5816 = HEAP32[$aMem>>2]|0; + $5817 = (($5816) + (($5815*40)|0)|0); + HEAP32[$pIn1>>2] = $5817; + $5818 = HEAP32[$pOp>>2]|0; + $5819 = ((($5818)) + 12|0); + $5820 = HEAP32[$5819>>2]|0; + $5821 = HEAP32[$aMem>>2]|0; + $5822 = (($5821) + (($5820*40)|0)|0); + HEAP32[$pIn3>>2] = $5822; + $5823 = HEAP32[$pOp>>2]|0; + $5824 = ((($5823)) + 16|0); + $5825 = HEAP32[$5824>>2]|0; + HEAP32[$iSet>>2] = $5825; + $5826 = HEAP32[$pIn1>>2]|0; + $5827 = ((($5826)) + 8|0); + $5828 = HEAP16[$5827>>1]|0; + $5829 = $5828&65535; + $5830 = $5829 & 32; + $5831 = ($5830|0)==(0); + if ($5831) { + $5832 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetRowSet($5832); + $5833 = HEAP32[$pIn1>>2]|0; + $5834 = ((($5833)) + 8|0); + $5835 = HEAP16[$5834>>1]|0; + $5836 = $5835&65535; + $5837 = $5836 & 32; + $5838 = ($5837|0)==(0); + if ($5838) { + label = 889; break L1; } } - $5795 = HEAP32[$iSet>>2]|0; - $5796 = ($5795|0)!=(0); - if ($5796) { - $5797 = HEAP32[$pIn1>>2]|0; - $5798 = HEAP32[$5797>>2]|0; - $5799 = HEAP32[$iSet>>2]|0; - $5800 = HEAP32[$pIn3>>2]|0; - $5801 = $5800; - $5802 = $5801; - $5803 = HEAP32[$5802>>2]|0; - $5804 = (($5801) + 4)|0; - $5805 = $5804; - $5806 = HEAP32[$5805>>2]|0; - $5807 = (_sqlite3RowSetTest($5798,$5799,$5803,$5806)|0); - HEAP32[$exists>>2] = $5807; - $5808 = HEAP32[$exists>>2]|0; - $5809 = ($5808|0)!=(0); - if ($5809) { + $5839 = HEAP32[$iSet>>2]|0; + $5840 = ($5839|0)!=(0); + if ($5840) { + $5841 = HEAP32[$pIn1>>2]|0; + $5842 = HEAP32[$5841>>2]|0; + $5843 = HEAP32[$iSet>>2]|0; + $5844 = HEAP32[$pIn3>>2]|0; + $5845 = $5844; + $5846 = $5845; + $5847 = HEAP32[$5846>>2]|0; + $5848 = (($5845) + 4)|0; + $5849 = $5848; + $5850 = HEAP32[$5849>>2]|0; + $5851 = (_sqlite3RowSetTest($5842,$5843,$5847,$5850)|0); + HEAP32[$exists>>2] = $5851; + $5852 = HEAP32[$exists>>2]|0; + $5853 = ($5852|0)!=(0); + if ($5853) { label = 14; break L10; } } - $5810 = HEAP32[$iSet>>2]|0; - $5811 = ($5810|0)>=(0); - if ($5811) { - $5812 = HEAP32[$pIn1>>2]|0; - $5813 = HEAP32[$5812>>2]|0; - $5814 = HEAP32[$pIn3>>2]|0; - $5815 = $5814; - $5816 = $5815; - $5817 = HEAP32[$5816>>2]|0; - $5818 = (($5815) + 4)|0; - $5819 = $5818; - $5820 = HEAP32[$5819>>2]|0; - _sqlite3RowSetInsert($5813,$5817,$5820); + $5854 = HEAP32[$iSet>>2]|0; + $5855 = ($5854|0)>=(0); + if ($5855) { + $5856 = HEAP32[$pIn1>>2]|0; + $5857 = HEAP32[$5856>>2]|0; + $5858 = HEAP32[$pIn3>>2]|0; + $5859 = $5858; + $5860 = $5859; + $5861 = HEAP32[$5860>>2]|0; + $5862 = (($5859) + 4)|0; + $5863 = $5862; + $5864 = HEAP32[$5863>>2]|0; + _sqlite3RowSetInsert($5857,$5861,$5864); } break; } - case 62: { - $5821 = HEAP32[$pOp>>2]|0; - $5822 = ((($5821)) + 16|0); - $5823 = HEAP32[$5822>>2]|0; - HEAP32[$pProgram>>2] = $5823; - $5824 = HEAP32[$pOp>>2]|0; - $5825 = ((($5824)) + 12|0); - $5826 = HEAP32[$5825>>2]|0; - $5827 = HEAP32[$aMem>>2]|0; - $5828 = (($5827) + (($5826*40)|0)|0); - HEAP32[$pRt>>2] = $5828; - $5829 = HEAP32[$pOp>>2]|0; - $5830 = ((($5829)) + 3|0); - $5831 = HEAP8[$5830>>0]|0; - $5832 = ($5831<<24>>24)!=(0); - if ($5832) { - $5833 = HEAP32[$pProgram>>2]|0; - $5834 = ((($5833)) + 20|0); - $5835 = HEAP32[$5834>>2]|0; - HEAP32[$t87>>2] = $5835; - $5836 = HEAP32[$0>>2]|0; - $5837 = ((($5836)) + 176|0); - $5838 = HEAP32[$5837>>2]|0; - HEAP32[$pFrame86>>2] = $5838; + case 64: { + $5865 = HEAP32[$pOp>>2]|0; + $5866 = ((($5865)) + 16|0); + $5867 = HEAP32[$5866>>2]|0; + HEAP32[$pProgram>>2] = $5867; + $5868 = HEAP32[$pOp>>2]|0; + $5869 = ((($5868)) + 12|0); + $5870 = HEAP32[$5869>>2]|0; + $5871 = HEAP32[$aMem>>2]|0; + $5872 = (($5871) + (($5870*40)|0)|0); + HEAP32[$pRt>>2] = $5872; + $5873 = HEAP32[$pOp>>2]|0; + $5874 = ((($5873)) + 3|0); + $5875 = HEAP8[$5874>>0]|0; + $5876 = ($5875<<24>>24)!=(0); + if ($5876) { + $5877 = HEAP32[$pProgram>>2]|0; + $5878 = ((($5877)) + 16|0); + $5879 = HEAP32[$5878>>2]|0; + HEAP32[$t86>>2] = $5879; + $5880 = HEAP32[$0>>2]|0; + $5881 = ((($5880)) + 184|0); + $5882 = HEAP32[$5881>>2]|0; + HEAP32[$pFrame85>>2] = $5882; while(1) { - $5839 = HEAP32[$pFrame86>>2]|0; - $5840 = ($5839|0)!=(0|0); - if (!($5840)) { + $5883 = HEAP32[$pFrame85>>2]|0; + $5884 = ($5883|0)!=(0|0); + if (!($5884)) { break; } - $5841 = HEAP32[$pFrame86>>2]|0; - $5842 = ((($5841)) + 28|0); - $5843 = HEAP32[$5842>>2]|0; - $5844 = HEAP32[$t87>>2]|0; - $5845 = ($5843|0)!=($5844|0); - if (!($5845)) { + $5885 = HEAP32[$pFrame85>>2]|0; + $5886 = ((($5885)) + 24|0); + $5887 = HEAP32[$5886>>2]|0; + $5888 = HEAP32[$t86>>2]|0; + $5889 = ($5887|0)!=($5888|0); + if (!($5889)) { break; } - $5846 = HEAP32[$pFrame86>>2]|0; - $5847 = ((($5846)) + 4|0); - $5848 = HEAP32[$5847>>2]|0; - HEAP32[$pFrame86>>2] = $5848; + $5890 = HEAP32[$pFrame85>>2]|0; + $5891 = ((($5890)) + 4|0); + $5892 = HEAP32[$5891>>2]|0; + HEAP32[$pFrame85>>2] = $5892; } - $5849 = HEAP32[$pFrame86>>2]|0; - $5850 = ($5849|0)!=(0|0); - if ($5850) { + $5893 = HEAP32[$pFrame85>>2]|0; + $5894 = ($5893|0)!=(0|0); + if ($5894) { break L10; } } - $5851 = HEAP32[$0>>2]|0; - $5852 = ((($5851)) + 184|0); - $5853 = HEAP32[$5852>>2]|0; - $5854 = HEAP32[$db>>2]|0; - $5855 = ((($5854)) + 92|0); - $5856 = ((($5855)) + 40|0); - $5857 = HEAP32[$5856>>2]|0; - $5858 = ($5853|0)>=($5857|0); - if ($5858) { - label = 712; + $5895 = HEAP32[$0>>2]|0; + $5896 = ((($5895)) + 192|0); + $5897 = HEAP32[$5896>>2]|0; + $5898 = HEAP32[$db>>2]|0; + $5899 = ((($5898)) + 96|0); + $5900 = ((($5899)) + 40|0); + $5901 = HEAP32[$5900>>2]|0; + $5902 = ($5897|0)>=($5901|0); + if ($5902) { + label = 711; break L8; } - $5860 = HEAP32[$pRt>>2]|0; - $5861 = ((($5860)) + 8|0); - $5862 = HEAP16[$5861>>1]|0; - $5863 = $5862&65535; - $5864 = $5863 & 64; - $5865 = ($5864|0)==(0); - L792: do { - if ($5865) { - $5866 = HEAP32[$pProgram>>2]|0; - $5867 = ((($5866)) + 8|0); - $5868 = HEAP32[$5867>>2]|0; - $5869 = HEAP32[$pProgram>>2]|0; - $5870 = ((($5869)) + 12|0); - $5871 = HEAP32[$5870>>2]|0; - $5872 = (($5868) + ($5871))|0; - HEAP32[$nMem>>2] = $5872; - $5873 = HEAP32[$pProgram>>2]|0; - $5874 = ((($5873)) + 12|0); - $5875 = HEAP32[$5874>>2]|0; - $5876 = ($5875|0)==(0); - if ($5876) { - $5877 = HEAP32[$nMem>>2]|0; - $5878 = (($5877) + 1)|0; - HEAP32[$nMem>>2] = $5878; + $5904 = HEAP32[$pRt>>2]|0; + $5905 = ((($5904)) + 8|0); + $5906 = HEAP16[$5905>>1]|0; + $5907 = $5906&65535; + $5908 = $5907 & 64; + $5909 = ($5908|0)==(0); + L784: do { + if ($5909) { + $5910 = HEAP32[$pProgram>>2]|0; + $5911 = ((($5910)) + 8|0); + $5912 = HEAP32[$5911>>2]|0; + $5913 = HEAP32[$pProgram>>2]|0; + $5914 = ((($5913)) + 12|0); + $5915 = HEAP32[$5914>>2]|0; + $5916 = (($5912) + ($5915))|0; + HEAP32[$nMem>>2] = $5916; + $5917 = HEAP32[$pProgram>>2]|0; + $5918 = ((($5917)) + 12|0); + $5919 = HEAP32[$5918>>2]|0; + $5920 = ($5919|0)==(0); + if ($5920) { + $5921 = HEAP32[$nMem>>2]|0; + $5922 = (($5921) + 1)|0; + HEAP32[$nMem>>2] = $5922; } - $5879 = HEAP32[$nMem>>2]|0; - $5880 = ($5879*40)|0; - $5881 = (80 + ($5880))|0; - $5882 = HEAP32[$pProgram>>2]|0; - $5883 = ((($5882)) + 12|0); - $5884 = HEAP32[$5883>>2]|0; - $5885 = $5884<<2; - $5886 = (($5881) + ($5885))|0; - $5887 = HEAP32[$pProgram>>2]|0; - $5888 = ((($5887)) + 16|0); - $5889 = HEAP32[$5888>>2]|0; - $5890 = $5889; - $5891 = (($5886) + ($5890))|0; - HEAP32[$nByte84>>2] = $5891; - $5892 = HEAP32[$db>>2]|0; - $5893 = HEAP32[$nByte84>>2]|0; - $5894 = ($5893|0)<(0); - $5895 = $5894 << 31 >> 31; - $5896 = (_sqlite3DbMallocZero($5892,$5893,$5895)|0); - HEAP32[$pFrame86>>2] = $5896; - $5897 = HEAP32[$pFrame86>>2]|0; - $5898 = ($5897|0)!=(0|0); - if (!($5898)) { - label = 881; + $5923 = HEAP32[$nMem>>2]|0; + $5924 = ($5923*40)|0; + $5925 = (80 + ($5924))|0; + $5926 = HEAP32[$pProgram>>2]|0; + $5927 = ((($5926)) + 12|0); + $5928 = HEAP32[$5927>>2]|0; + $5929 = $5928<<2; + $5930 = (($5925) + ($5929))|0; + HEAP32[$nByte83>>2] = $5930; + $5931 = HEAP32[$db>>2]|0; + $5932 = HEAP32[$nByte83>>2]|0; + $5933 = ($5932|0)<(0); + $5934 = $5933 << 31 >> 31; + $5935 = (_sqlite3DbMallocZero($5931,$5932,$5934)|0); + HEAP32[$pFrame85>>2] = $5935; + $5936 = HEAP32[$pFrame85>>2]|0; + $5937 = ($5936|0)!=(0|0); + if (!($5937)) { + label = 889; break L1; } - $5899 = HEAP32[$pRt>>2]|0; - _sqlite3VdbeMemRelease($5899); - $5900 = HEAP32[$pRt>>2]|0; - $5901 = ((($5900)) + 8|0); - HEAP16[$5901>>1] = 64; - $5902 = HEAP32[$pFrame86>>2]|0; - $5903 = HEAP32[$pRt>>2]|0; - HEAP32[$5903>>2] = $5902; - $5904 = HEAP32[$0>>2]|0; - $5905 = HEAP32[$pFrame86>>2]|0; - HEAP32[$5905>>2] = $5904; - $5906 = HEAP32[$nMem>>2]|0; - $5907 = HEAP32[$pFrame86>>2]|0; - $5908 = ((($5907)) + 64|0); - HEAP32[$5908>>2] = $5906; - $5909 = HEAP32[$pProgram>>2]|0; - $5910 = ((($5909)) + 12|0); - $5911 = HEAP32[$5910>>2]|0; - $5912 = HEAP32[$pFrame86>>2]|0; - $5913 = ((($5912)) + 68|0); - HEAP32[$5913>>2] = $5911; - $5914 = HEAP32[$pOp>>2]|0; - $5915 = HEAP32[$aOp>>2]|0; - $5916 = $5914; - $5917 = $5915; - $5918 = (($5916) - ($5917))|0; - $5919 = (($5918|0) / 20)&-1; - $5920 = HEAP32[$pFrame86>>2]|0; - $5921 = ((($5920)) + 48|0); - HEAP32[$5921>>2] = $5919; - $5922 = HEAP32[$0>>2]|0; - $5923 = ((($5922)) + 8|0); - $5924 = HEAP32[$5923>>2]|0; - $5925 = HEAP32[$pFrame86>>2]|0; - $5926 = ((($5925)) + 16|0); - HEAP32[$5926>>2] = $5924; - $5927 = HEAP32[$0>>2]|0; - $5928 = ((($5927)) + 28|0); - $5929 = HEAP32[$5928>>2]|0; - $5930 = HEAP32[$pFrame86>>2]|0; - $5931 = ((($5930)) + 56|0); - HEAP32[$5931>>2] = $5929; - $5932 = HEAP32[$0>>2]|0; - $5933 = ((($5932)) + 56|0); - $5934 = HEAP32[$5933>>2]|0; - $5935 = HEAP32[$pFrame86>>2]|0; - $5936 = ((($5935)) + 24|0); - HEAP32[$5936>>2] = $5934; - $5937 = HEAP32[$0>>2]|0; - $5938 = ((($5937)) + 36|0); - $5939 = HEAP32[$5938>>2]|0; - $5940 = HEAP32[$pFrame86>>2]|0; - $5941 = ((($5940)) + 44|0); - HEAP32[$5941>>2] = $5939; - $5942 = HEAP32[$0>>2]|0; - $5943 = ((($5942)) + 4|0); - $5944 = HEAP32[$5943>>2]|0; - $5945 = HEAP32[$pFrame86>>2]|0; - $5946 = ((($5945)) + 8|0); - HEAP32[$5946>>2] = $5944; - $5947 = HEAP32[$0>>2]|0; - $5948 = ((($5947)) + 32|0); - $5949 = HEAP32[$5948>>2]|0; - $5950 = HEAP32[$pFrame86>>2]|0; - $5951 = ((($5950)) + 52|0); - HEAP32[$5951>>2] = $5949; - $5952 = HEAP32[$pProgram>>2]|0; - $5953 = ((($5952)) + 20|0); - $5954 = HEAP32[$5953>>2]|0; - $5955 = HEAP32[$pFrame86>>2]|0; - $5956 = ((($5955)) + 28|0); - HEAP32[$5956>>2] = $5954; - $5957 = HEAP32[$0>>2]|0; - $5958 = ((($5957)) + 200|0); - $5959 = HEAP32[$5958>>2]|0; - $5960 = HEAP32[$pFrame86>>2]|0; - $5961 = ((($5960)) + 20|0); - HEAP32[$5961>>2] = $5959; - $5962 = HEAP32[$0>>2]|0; - $5963 = ((($5962)) + 196|0); - $5964 = HEAP32[$5963>>2]|0; - $5965 = HEAP32[$pFrame86>>2]|0; - $5966 = ((($5965)) + 60|0); - HEAP32[$5966>>2] = $5964; - $5967 = HEAP32[$pFrame86>>2]|0; - $5968 = ((($5967)) + 64|0); - $5969 = HEAP32[$5968>>2]|0; - $5970 = HEAP32[$pFrame86>>2]|0; - $5971 = ((($5970)) + 80|0); - $5972 = (($5971) + (($5969*40)|0)|0); - HEAP32[$pEnd>>2] = $5972; - $5973 = HEAP32[$pFrame86>>2]|0; - $5974 = ((($5973)) + 80|0); - HEAP32[$pMem85>>2] = $5974; + $5938 = HEAP32[$pRt>>2]|0; + _sqlite3VdbeMemRelease($5938); + $5939 = HEAP32[$pRt>>2]|0; + $5940 = ((($5939)) + 8|0); + HEAP16[$5940>>1] = 64; + $5941 = HEAP32[$pFrame85>>2]|0; + $5942 = HEAP32[$pRt>>2]|0; + HEAP32[$5942>>2] = $5941; + $5943 = HEAP32[$0>>2]|0; + $5944 = HEAP32[$pFrame85>>2]|0; + HEAP32[$5944>>2] = $5943; + $5945 = HEAP32[$nMem>>2]|0; + $5946 = HEAP32[$pFrame85>>2]|0; + $5947 = ((($5946)) + 60|0); + HEAP32[$5947>>2] = $5945; + $5948 = HEAP32[$pProgram>>2]|0; + $5949 = ((($5948)) + 12|0); + $5950 = HEAP32[$5949>>2]|0; + $5951 = HEAP32[$pFrame85>>2]|0; + $5952 = ((($5951)) + 64|0); + HEAP32[$5952>>2] = $5950; + $5953 = HEAP32[$pOp>>2]|0; + $5954 = HEAP32[$aOp>>2]|0; + $5955 = $5953; + $5956 = $5954; + $5957 = (($5955) - ($5956))|0; + $5958 = (($5957|0) / 20)&-1; + $5959 = HEAP32[$pFrame85>>2]|0; + $5960 = ((($5959)) + 48|0); + HEAP32[$5960>>2] = $5958; + $5961 = HEAP32[$0>>2]|0; + $5962 = ((($5961)) + 92|0); + $5963 = HEAP32[$5962>>2]|0; + $5964 = HEAP32[$pFrame85>>2]|0; + $5965 = ((($5964)) + 16|0); + HEAP32[$5965>>2] = $5963; + $5966 = HEAP32[$0>>2]|0; + $5967 = ((($5966)) + 24|0); + $5968 = HEAP32[$5967>>2]|0; + $5969 = HEAP32[$pFrame85>>2]|0; + $5970 = ((($5969)) + 56|0); + HEAP32[$5970>>2] = $5968; + $5971 = HEAP32[$0>>2]|0; + $5972 = ((($5971)) + 112|0); + $5973 = HEAP32[$5972>>2]|0; + $5974 = HEAP32[$pFrame85>>2]|0; + $5975 = ((($5974)) + 20|0); + HEAP32[$5975>>2] = $5973; + $5976 = HEAP32[$0>>2]|0; + $5977 = ((($5976)) + 28|0); + $5978 = HEAP32[$5977>>2]|0; + $5979 = HEAP32[$pFrame85>>2]|0; + $5980 = ((($5979)) + 44|0); + HEAP32[$5980>>2] = $5978; + $5981 = HEAP32[$0>>2]|0; + $5982 = ((($5981)) + 88|0); + $5983 = HEAP32[$5982>>2]|0; + $5984 = HEAP32[$pFrame85>>2]|0; + $5985 = ((($5984)) + 8|0); + HEAP32[$5985>>2] = $5983; + $5986 = HEAP32[$0>>2]|0; + $5987 = ((($5986)) + 136|0); + $5988 = HEAP32[$5987>>2]|0; + $5989 = HEAP32[$pFrame85>>2]|0; + $5990 = ((($5989)) + 52|0); + HEAP32[$5990>>2] = $5988; + $5991 = HEAP32[$pProgram>>2]|0; + $5992 = ((($5991)) + 16|0); + $5993 = HEAP32[$5992>>2]|0; + $5994 = HEAP32[$pFrame85>>2]|0; + $5995 = ((($5994)) + 24|0); + HEAP32[$5995>>2] = $5993; + $5996 = HEAP32[$pFrame85>>2]|0; + $5997 = ((($5996)) + 60|0); + $5998 = HEAP32[$5997>>2]|0; + $5999 = HEAP32[$pFrame85>>2]|0; + $6000 = ((($5999)) + 80|0); + $6001 = (($6000) + (($5998*40)|0)|0); + HEAP32[$pEnd>>2] = $6001; + $6002 = HEAP32[$pFrame85>>2]|0; + $6003 = ((($6002)) + 80|0); + HEAP32[$pMem84>>2] = $6003; while(1) { - $5975 = HEAP32[$pMem85>>2]|0; - $5976 = HEAP32[$pEnd>>2]|0; - $5977 = ($5975|0)!=($5976|0); - if (!($5977)) { - break L792; + $6004 = HEAP32[$pMem84>>2]|0; + $6005 = HEAP32[$pEnd>>2]|0; + $6006 = ($6004|0)!=($6005|0); + if (!($6006)) { + break L784; } - $5978 = HEAP32[$pMem85>>2]|0; - $5979 = ((($5978)) + 8|0); - HEAP16[$5979>>1] = 128; - $5980 = HEAP32[$db>>2]|0; - $5981 = HEAP32[$pMem85>>2]|0; - $5982 = ((($5981)) + 32|0); - HEAP32[$5982>>2] = $5980; - $5983 = HEAP32[$pMem85>>2]|0; - $5984 = ((($5983)) + 40|0); - HEAP32[$pMem85>>2] = $5984; + $6007 = HEAP32[$pMem84>>2]|0; + $6008 = ((($6007)) + 8|0); + HEAP16[$6008>>1] = 128; + $6009 = HEAP32[$db>>2]|0; + $6010 = HEAP32[$pMem84>>2]|0; + $6011 = ((($6010)) + 32|0); + HEAP32[$6011>>2] = $6009; + $6012 = HEAP32[$pMem84>>2]|0; + $6013 = ((($6012)) + 40|0); + HEAP32[$pMem84>>2] = $6013; } } else { - $5985 = HEAP32[$pRt>>2]|0; - $5986 = HEAP32[$5985>>2]|0; - HEAP32[$pFrame86>>2] = $5986; + $6014 = HEAP32[$pRt>>2]|0; + $6015 = HEAP32[$6014>>2]|0; + HEAP32[$pFrame85>>2] = $6015; } } while(0); - $5987 = HEAP32[$0>>2]|0; - $5988 = ((($5987)) + 184|0); - $5989 = HEAP32[$5988>>2]|0; - $5990 = (($5989) + 1)|0; - HEAP32[$5988>>2] = $5990; - $5991 = HEAP32[$0>>2]|0; - $5992 = ((($5991)) + 176|0); - $5993 = HEAP32[$5992>>2]|0; - $5994 = HEAP32[$pFrame86>>2]|0; - $5995 = ((($5994)) + 4|0); - HEAP32[$5995>>2] = $5993; - $5996 = $lastRowid; - $5997 = $5996; - $5998 = HEAP32[$5997>>2]|0; - $5999 = (($5996) + 4)|0; - $6000 = $5999; - $6001 = HEAP32[$6000>>2]|0; - $6002 = HEAP32[$pFrame86>>2]|0; - $6003 = ((($6002)) + 32|0); - $6004 = $6003; - $6005 = $6004; - HEAP32[$6005>>2] = $5998; - $6006 = (($6004) + 4)|0; - $6007 = $6006; - HEAP32[$6007>>2] = $6001; - $6008 = HEAP32[$0>>2]|0; - $6009 = ((($6008)) + 92|0); - $6010 = HEAP32[$6009>>2]|0; - $6011 = HEAP32[$pFrame86>>2]|0; - $6012 = ((($6011)) + 72|0); - HEAP32[$6012>>2] = $6010; - $6013 = HEAP32[$0>>2]|0; - $6014 = HEAP32[$6013>>2]|0; - $6015 = ((($6014)) + 84|0); - $6016 = HEAP32[$6015>>2]|0; - $6017 = HEAP32[$pFrame86>>2]|0; - $6018 = ((($6017)) + 76|0); - HEAP32[$6018>>2] = $6016; - $6019 = HEAP32[$0>>2]|0; - $6020 = ((($6019)) + 204|0); - $6021 = HEAP32[$6020>>2]|0; - $6022 = HEAP32[$pFrame86>>2]|0; - $6023 = ((($6022)) + 40|0); - HEAP32[$6023>>2] = $6021; - $6024 = HEAP32[$0>>2]|0; - $6025 = ((($6024)) + 204|0); - HEAP32[$6025>>2] = 0; - $6026 = HEAP32[$0>>2]|0; - $6027 = ((($6026)) + 92|0); - HEAP32[$6027>>2] = 0; - $6028 = HEAP32[$pFrame86>>2]|0; - $6029 = HEAP32[$0>>2]|0; - $6030 = ((($6029)) + 176|0); - HEAP32[$6030>>2] = $6028; - $6031 = HEAP32[$pFrame86>>2]|0; - $6032 = ((($6031)) + 80|0); - HEAP32[$aMem>>2] = $6032; - $6033 = HEAP32[$0>>2]|0; - $6034 = ((($6033)) + 8|0); - HEAP32[$6034>>2] = $6032; - $6035 = HEAP32[$pFrame86>>2]|0; - $6036 = ((($6035)) + 64|0); - $6037 = HEAP32[$6036>>2]|0; - $6038 = HEAP32[$0>>2]|0; - $6039 = ((($6038)) + 28|0); - HEAP32[$6039>>2] = $6037; - $6040 = HEAP32[$pFrame86>>2]|0; + $6016 = HEAP32[$0>>2]|0; + $6017 = ((($6016)) + 192|0); + $6018 = HEAP32[$6017>>2]|0; + $6019 = (($6018) + 1)|0; + HEAP32[$6017>>2] = $6019; + $6020 = HEAP32[$0>>2]|0; + $6021 = ((($6020)) + 184|0); + $6022 = HEAP32[$6021>>2]|0; + $6023 = HEAP32[$pFrame85>>2]|0; + $6024 = ((($6023)) + 4|0); + HEAP32[$6024>>2] = $6022; + $6025 = $lastRowid; + $6026 = $6025; + $6027 = HEAP32[$6026>>2]|0; + $6028 = (($6025) + 4)|0; + $6029 = $6028; + $6030 = HEAP32[$6029>>2]|0; + $6031 = HEAP32[$pFrame85>>2]|0; + $6032 = ((($6031)) + 32|0); + $6033 = $6032; + $6034 = $6033; + HEAP32[$6034>>2] = $6027; + $6035 = (($6033) + 4)|0; + $6036 = $6035; + HEAP32[$6036>>2] = $6030; + $6037 = HEAP32[$0>>2]|0; + $6038 = ((($6037)) + 44|0); + $6039 = HEAP32[$6038>>2]|0; + $6040 = HEAP32[$pFrame85>>2]|0; $6041 = ((($6040)) + 68|0); - $6042 = HEAP32[$6041>>2]|0; - $6043 = $6042&65535; - $6044 = $6043&65535; - $6045 = HEAP32[$0>>2]|0; - $6046 = ((($6045)) + 36|0); - HEAP32[$6046>>2] = $6044; - $6047 = HEAP32[$0>>2]|0; - $6048 = ((($6047)) + 28|0); - $6049 = HEAP32[$6048>>2]|0; - $6050 = HEAP32[$aMem>>2]|0; - $6051 = (($6050) + (($6049*40)|0)|0); - $6052 = HEAP32[$0>>2]|0; - $6053 = ((($6052)) + 56|0); - HEAP32[$6053>>2] = $6051; - $6054 = HEAP32[$pProgram>>2]|0; - $6055 = HEAP32[$6054>>2]|0; - HEAP32[$aOp>>2] = $6055; - $6056 = HEAP32[$0>>2]|0; - $6057 = ((($6056)) + 4|0); - HEAP32[$6057>>2] = $6055; - $6058 = HEAP32[$pProgram>>2]|0; - $6059 = ((($6058)) + 4|0); - $6060 = HEAP32[$6059>>2]|0; - $6061 = HEAP32[$0>>2]|0; - $6062 = ((($6061)) + 32|0); - HEAP32[$6062>>2] = $6060; - $6063 = HEAP32[$0>>2]|0; - $6064 = ((($6063)) + 36|0); - $6065 = HEAP32[$6064>>2]|0; - $6066 = HEAP32[$0>>2]|0; - $6067 = ((($6066)) + 56|0); - $6068 = HEAP32[$6067>>2]|0; - $6069 = (($6068) + ($6065<<2)|0); - $6070 = HEAP32[$0>>2]|0; - $6071 = ((($6070)) + 200|0); - HEAP32[$6071>>2] = $6069; - $6072 = HEAP32[$pProgram>>2]|0; - $6073 = ((($6072)) + 16|0); - $6074 = HEAP32[$6073>>2]|0; - $6075 = HEAP32[$0>>2]|0; - $6076 = ((($6075)) + 196|0); - HEAP32[$6076>>2] = $6074; - $6077 = HEAP32[$aOp>>2]|0; - $6078 = ((($6077)) + -20|0); - HEAP32[$pOp>>2] = $6078; - $6079 = HEAP32[$0>>2]|0; - $6080 = ((($6079)) + 200|0); - $6081 = HEAP32[$6080>>2]|0; - $6082 = HEAP32[$0>>2]|0; - $6083 = ((($6082)) + 196|0); + HEAP32[$6041>>2] = $6039; + $6042 = HEAP32[$0>>2]|0; + $6043 = HEAP32[$6042>>2]|0; + $6044 = ((($6043)) + 88|0); + $6045 = HEAP32[$6044>>2]|0; + $6046 = HEAP32[$pFrame85>>2]|0; + $6047 = ((($6046)) + 72|0); + HEAP32[$6047>>2] = $6045; + $6048 = HEAP32[$0>>2]|0; + $6049 = ((($6048)) + 204|0); + $6050 = HEAP32[$6049>>2]|0; + $6051 = HEAP32[$pFrame85>>2]|0; + $6052 = ((($6051)) + 40|0); + HEAP32[$6052>>2] = $6050; + $6053 = HEAP32[$0>>2]|0; + $6054 = ((($6053)) + 204|0); + HEAP32[$6054>>2] = 0; + $6055 = HEAP32[$0>>2]|0; + $6056 = ((($6055)) + 44|0); + HEAP32[$6056>>2] = 0; + $6057 = HEAP32[$pFrame85>>2]|0; + $6058 = HEAP32[$0>>2]|0; + $6059 = ((($6058)) + 184|0); + HEAP32[$6059>>2] = $6057; + $6060 = HEAP32[$pFrame85>>2]|0; + $6061 = ((($6060)) + 80|0); + HEAP32[$aMem>>2] = $6061; + $6062 = HEAP32[$0>>2]|0; + $6063 = ((($6062)) + 92|0); + HEAP32[$6063>>2] = $6061; + $6064 = HEAP32[$pFrame85>>2]|0; + $6065 = ((($6064)) + 60|0); + $6066 = HEAP32[$6065>>2]|0; + $6067 = HEAP32[$0>>2]|0; + $6068 = ((($6067)) + 24|0); + HEAP32[$6068>>2] = $6066; + $6069 = HEAP32[$pFrame85>>2]|0; + $6070 = ((($6069)) + 64|0); + $6071 = HEAP32[$6070>>2]|0; + $6072 = $6071&65535; + $6073 = $6072&65535; + $6074 = HEAP32[$0>>2]|0; + $6075 = ((($6074)) + 28|0); + HEAP32[$6075>>2] = $6073; + $6076 = HEAP32[$0>>2]|0; + $6077 = ((($6076)) + 24|0); + $6078 = HEAP32[$6077>>2]|0; + $6079 = HEAP32[$aMem>>2]|0; + $6080 = (($6079) + (($6078*40)|0)|0); + $6081 = HEAP32[$0>>2]|0; + $6082 = ((($6081)) + 112|0); + HEAP32[$6082>>2] = $6080; + $6083 = HEAP32[$pProgram>>2]|0; $6084 = HEAP32[$6083>>2]|0; - _memset(($6081|0),0,($6084|0))|0; + HEAP32[$aOp>>2] = $6084; + $6085 = HEAP32[$0>>2]|0; + $6086 = ((($6085)) + 88|0); + HEAP32[$6086>>2] = $6084; + $6087 = HEAP32[$pProgram>>2]|0; + $6088 = ((($6087)) + 4|0); + $6089 = HEAP32[$6088>>2]|0; + $6090 = HEAP32[$0>>2]|0; + $6091 = ((($6090)) + 136|0); + HEAP32[$6091>>2] = $6089; + $6092 = HEAP32[$aOp>>2]|0; + $6093 = ((($6092)) + -20|0); + HEAP32[$pOp>>2] = $6093; break; } - case 141: { - $6085 = HEAP32[$0>>2]|0; - $6086 = HEAP32[$pOp>>2]|0; - $6087 = (_out2Prerelease($6085,$6086)|0); - HEAP32[$pOut>>2] = $6087; - $6088 = HEAP32[$0>>2]|0; - $6089 = ((($6088)) + 176|0); - $6090 = HEAP32[$6089>>2]|0; - HEAP32[$pFrame88>>2] = $6090; - $6091 = HEAP32[$pOp>>2]|0; - $6092 = ((($6091)) + 4|0); - $6093 = HEAP32[$6092>>2]|0; - $6094 = HEAP32[$pFrame88>>2]|0; - $6095 = ((($6094)) + 48|0); - $6096 = HEAP32[$6095>>2]|0; - $6097 = HEAP32[$pFrame88>>2]|0; - $6098 = ((($6097)) + 8|0); + case 143: { + $6094 = HEAP32[$0>>2]|0; + $6095 = HEAP32[$pOp>>2]|0; + $6096 = (_out2Prerelease($6094,$6095)|0); + HEAP32[$pOut>>2] = $6096; + $6097 = HEAP32[$0>>2]|0; + $6098 = ((($6097)) + 184|0); $6099 = HEAP32[$6098>>2]|0; - $6100 = (($6099) + (($6096*20)|0)|0); + HEAP32[$pFrame87>>2] = $6099; + $6100 = HEAP32[$pOp>>2]|0; $6101 = ((($6100)) + 4|0); $6102 = HEAP32[$6101>>2]|0; - $6103 = (($6093) + ($6102))|0; - $6104 = HEAP32[$pFrame88>>2]|0; - $6105 = ((($6104)) + 16|0); - $6106 = HEAP32[$6105>>2]|0; - $6107 = (($6106) + (($6103*40)|0)|0); - HEAP32[$pIn>>2] = $6107; - $6108 = HEAP32[$pOut>>2]|0; - $6109 = HEAP32[$pIn>>2]|0; - _sqlite3VdbeMemShallowCopy($6108,$6109,4096); + $6103 = HEAP32[$pFrame87>>2]|0; + $6104 = ((($6103)) + 48|0); + $6105 = HEAP32[$6104>>2]|0; + $6106 = HEAP32[$pFrame87>>2]|0; + $6107 = ((($6106)) + 8|0); + $6108 = HEAP32[$6107>>2]|0; + $6109 = (($6108) + (($6105*20)|0)|0); + $6110 = ((($6109)) + 4|0); + $6111 = HEAP32[$6110>>2]|0; + $6112 = (($6102) + ($6111))|0; + $6113 = HEAP32[$pFrame87>>2]|0; + $6114 = ((($6113)) + 16|0); + $6115 = HEAP32[$6114>>2]|0; + $6116 = (($6115) + (($6112*40)|0)|0); + HEAP32[$pIn>>2] = $6116; + $6117 = HEAP32[$pOut>>2]|0; + $6118 = HEAP32[$pIn>>2]|0; + _sqlite3VdbeMemShallowCopy($6117,$6118,4096); break; } - case 142: { - $6110 = HEAP32[$db>>2]|0; - $6111 = ((($6110)) + 24|0); - $6112 = HEAP32[$6111>>2]|0; - $6113 = $6112 & 33554432; - $6114 = ($6113|0)!=(0); - $6115 = HEAP32[$pOp>>2]|0; - if ($6114) { - $6116 = ((($6115)) + 8|0); - $6117 = HEAP32[$6116>>2]|0; - $6118 = ($6117|0)<(0); - $6119 = $6118 << 31 >> 31; - $6120 = HEAP32[$db>>2]|0; - $6121 = ((($6120)) + 448|0); - $6122 = $6121; - $6123 = $6122; - $6124 = HEAP32[$6123>>2]|0; - $6125 = (($6122) + 4)|0; - $6126 = $6125; - $6127 = HEAP32[$6126>>2]|0; - $6128 = (_i64Add(($6124|0),($6127|0),($6117|0),($6119|0))|0); - $6129 = tempRet0; - $6130 = $6121; + case 144: { + $6119 = HEAP32[$db>>2]|0; + $6120 = ((($6119)) + 24|0); + $6121 = HEAP32[$6120>>2]|0; + $6122 = $6121 & 33554432; + $6123 = ($6122|0)!=(0); + $6124 = HEAP32[$pOp>>2]|0; + if ($6123) { + $6125 = ((($6124)) + 8|0); + $6126 = HEAP32[$6125>>2]|0; + $6127 = ($6126|0)<(0); + $6128 = $6127 << 31 >> 31; + $6129 = HEAP32[$db>>2]|0; + $6130 = ((($6129)) + 448|0); $6131 = $6130; - HEAP32[$6131>>2] = $6128; - $6132 = (($6130) + 4)|0; - $6133 = $6132; - HEAP32[$6133>>2] = $6129; + $6132 = $6131; + $6133 = HEAP32[$6132>>2]|0; + $6134 = (($6131) + 4)|0; + $6135 = $6134; + $6136 = HEAP32[$6135>>2]|0; + $6137 = (_i64Add(($6133|0),($6136|0),($6126|0),($6128|0))|0); + $6138 = tempRet0; + $6139 = $6130; + $6140 = $6139; + HEAP32[$6140>>2] = $6137; + $6141 = (($6139) + 4)|0; + $6142 = $6141; + HEAP32[$6142>>2] = $6138; break L10; } - $6134 = ((($6115)) + 4|0); - $6135 = HEAP32[$6134>>2]|0; - $6136 = ($6135|0)!=(0); - $6137 = HEAP32[$pOp>>2]|0; - $6138 = ((($6137)) + 8|0); - $6139 = HEAP32[$6138>>2]|0; - $6140 = ($6139|0)<(0); - $6141 = $6140 << 31 >> 31; - if ($6136) { - $6142 = HEAP32[$db>>2]|0; - $6143 = ((($6142)) + 440|0); - $6144 = $6143; - $6145 = $6144; - $6146 = HEAP32[$6145>>2]|0; - $6147 = (($6144) + 4)|0; - $6148 = $6147; - $6149 = HEAP32[$6148>>2]|0; - $6150 = (_i64Add(($6146|0),($6149|0),($6139|0),($6141|0))|0); - $6151 = tempRet0; - $6152 = $6143; + $6143 = ((($6124)) + 4|0); + $6144 = HEAP32[$6143>>2]|0; + $6145 = ($6144|0)!=(0); + $6146 = HEAP32[$pOp>>2]|0; + $6147 = ((($6146)) + 8|0); + $6148 = HEAP32[$6147>>2]|0; + $6149 = ($6148|0)<(0); + $6150 = $6149 << 31 >> 31; + if ($6145) { + $6151 = HEAP32[$db>>2]|0; + $6152 = ((($6151)) + 440|0); $6153 = $6152; - HEAP32[$6153>>2] = $6150; - $6154 = (($6152) + 4)|0; - $6155 = $6154; - HEAP32[$6155>>2] = $6151; + $6154 = $6153; + $6155 = HEAP32[$6154>>2]|0; + $6156 = (($6153) + 4)|0; + $6157 = $6156; + $6158 = HEAP32[$6157>>2]|0; + $6159 = (_i64Add(($6155|0),($6158|0),($6148|0),($6150|0))|0); + $6160 = tempRet0; + $6161 = $6152; + $6162 = $6161; + HEAP32[$6162>>2] = $6159; + $6163 = (($6161) + 4)|0; + $6164 = $6163; + HEAP32[$6164>>2] = $6160; break L10; } else { - $6156 = HEAP32[$0>>2]|0; - $6157 = ((($6156)) + 144|0); - $6158 = $6157; - $6159 = $6158; - $6160 = HEAP32[$6159>>2]|0; - $6161 = (($6158) + 4)|0; - $6162 = $6161; - $6163 = HEAP32[$6162>>2]|0; - $6164 = (_i64Add(($6160|0),($6163|0),($6139|0),($6141|0))|0); - $6165 = tempRet0; - $6166 = $6157; + $6165 = HEAP32[$0>>2]|0; + $6166 = ((($6165)) + 64|0); $6167 = $6166; - HEAP32[$6167>>2] = $6164; - $6168 = (($6166) + 4)|0; - $6169 = $6168; - HEAP32[$6169>>2] = $6165; + $6168 = $6167; + $6169 = HEAP32[$6168>>2]|0; + $6170 = (($6167) + 4)|0; + $6171 = $6170; + $6172 = HEAP32[$6171>>2]|0; + $6173 = (_i64Add(($6169|0),($6172|0),($6148|0),($6150|0))|0); + $6174 = tempRet0; + $6175 = $6166; + $6176 = $6175; + HEAP32[$6176>>2] = $6173; + $6177 = (($6175) + 4)|0; + $6178 = $6177; + HEAP32[$6178>>2] = $6174; break L10; } break; } - case 63: { - $6170 = HEAP32[$pOp>>2]|0; - $6171 = ((($6170)) + 4|0); - $6172 = HEAP32[$6171>>2]|0; - $6173 = ($6172|0)!=(0); - if ($6173) { - $6174 = HEAP32[$db>>2]|0; - $6175 = ((($6174)) + 440|0); - $6176 = $6175; - $6177 = $6176; - $6178 = HEAP32[$6177>>2]|0; - $6179 = (($6176) + 4)|0; - $6180 = $6179; - $6181 = HEAP32[$6180>>2]|0; - $6182 = ($6178|0)==(0); - $6183 = ($6181|0)==(0); - $6184 = $6182 & $6183; - if (!($6184)) { + case 65: { + $6179 = HEAP32[$pOp>>2]|0; + $6180 = ((($6179)) + 4|0); + $6181 = HEAP32[$6180>>2]|0; + $6182 = ($6181|0)!=(0); + if ($6182) { + $6183 = HEAP32[$db>>2]|0; + $6184 = ((($6183)) + 440|0); + $6185 = $6184; + $6186 = $6185; + $6187 = HEAP32[$6186>>2]|0; + $6188 = (($6185) + 4)|0; + $6189 = $6188; + $6190 = HEAP32[$6189>>2]|0; + $6191 = ($6187|0)==(0); + $6192 = ($6190|0)==(0); + $6193 = $6191 & $6192; + if (!($6193)) { break L10; } - $6185 = HEAP32[$db>>2]|0; - $6186 = ((($6185)) + 448|0); - $6187 = $6186; - $6188 = $6187; - $6189 = HEAP32[$6188>>2]|0; - $6190 = (($6187) + 4)|0; - $6191 = $6190; - $6192 = HEAP32[$6191>>2]|0; - $6193 = ($6189|0)==(0); - $6194 = ($6192|0)==(0); - $6195 = $6193 & $6194; - if ($6195) { + $6194 = HEAP32[$db>>2]|0; + $6195 = ((($6194)) + 448|0); + $6196 = $6195; + $6197 = $6196; + $6198 = HEAP32[$6197>>2]|0; + $6199 = (($6196) + 4)|0; + $6200 = $6199; + $6201 = HEAP32[$6200>>2]|0; + $6202 = ($6198|0)==(0); + $6203 = ($6201|0)==(0); + $6204 = $6202 & $6203; + if ($6204) { label = 14; break L10; } else { break L10; } } else { - $6196 = HEAP32[$0>>2]|0; - $6197 = ((($6196)) + 144|0); - $6198 = $6197; - $6199 = $6198; - $6200 = HEAP32[$6199>>2]|0; - $6201 = (($6198) + 4)|0; - $6202 = $6201; - $6203 = HEAP32[$6202>>2]|0; - $6204 = ($6200|0)==(0); - $6205 = ($6203|0)==(0); - $6206 = $6204 & $6205; - if (!($6206)) { + $6205 = HEAP32[$0>>2]|0; + $6206 = ((($6205)) + 64|0); + $6207 = $6206; + $6208 = $6207; + $6209 = HEAP32[$6208>>2]|0; + $6210 = (($6207) + 4)|0; + $6211 = $6210; + $6212 = HEAP32[$6211>>2]|0; + $6213 = ($6209|0)==(0); + $6214 = ($6212|0)==(0); + $6215 = $6213 & $6214; + if (!($6215)) { break L10; } - $6207 = HEAP32[$db>>2]|0; - $6208 = ((($6207)) + 448|0); - $6209 = $6208; - $6210 = $6209; - $6211 = HEAP32[$6210>>2]|0; - $6212 = (($6209) + 4)|0; - $6213 = $6212; - $6214 = HEAP32[$6213>>2]|0; - $6215 = ($6211|0)==(0); - $6216 = ($6214|0)==(0); - $6217 = $6215 & $6216; - if ($6217) { + $6216 = HEAP32[$db>>2]|0; + $6217 = ((($6216)) + 448|0); + $6218 = $6217; + $6219 = $6218; + $6220 = HEAP32[$6219>>2]|0; + $6221 = (($6218) + 4)|0; + $6222 = $6221; + $6223 = HEAP32[$6222>>2]|0; + $6224 = ($6220|0)==(0); + $6225 = ($6223|0)==(0); + $6226 = $6224 & $6225; + if ($6226) { label = 14; break L10; } else { @@ -219362,633 +223653,636 @@ function _sqlite3VdbeExec($p) { } break; } - case 143: { - $6218 = HEAP32[$0>>2]|0; - $6219 = ((($6218)) + 176|0); - $6220 = HEAP32[$6219>>2]|0; - $6221 = ($6220|0)!=(0|0); - if ($6221) { - $6222 = HEAP32[$0>>2]|0; - $6223 = ((($6222)) + 176|0); - $6224 = HEAP32[$6223>>2]|0; - HEAP32[$pFrame89>>2] = $6224; + case 145: { + $6227 = HEAP32[$0>>2]|0; + $6228 = ((($6227)) + 184|0); + $6229 = HEAP32[$6228>>2]|0; + $6230 = ($6229|0)!=(0|0); + if ($6230) { + $6231 = HEAP32[$0>>2]|0; + $6232 = ((($6231)) + 184|0); + $6233 = HEAP32[$6232>>2]|0; + HEAP32[$pFrame88>>2] = $6233; while(1) { - $6225 = HEAP32[$pFrame89>>2]|0; - $6226 = ((($6225)) + 4|0); - $6227 = HEAP32[$6226>>2]|0; - $6228 = ($6227|0)!=(0|0); - if (!($6228)) { + $6234 = HEAP32[$pFrame88>>2]|0; + $6235 = ((($6234)) + 4|0); + $6236 = HEAP32[$6235>>2]|0; + $6237 = ($6236|0)!=(0|0); + if (!($6237)) { break; } - $6229 = HEAP32[$pFrame89>>2]|0; - $6230 = ((($6229)) + 4|0); - $6231 = HEAP32[$6230>>2]|0; - HEAP32[$pFrame89>>2] = $6231; + $6238 = HEAP32[$pFrame88>>2]|0; + $6239 = ((($6238)) + 4|0); + $6240 = HEAP32[$6239>>2]|0; + HEAP32[$pFrame88>>2] = $6240; } - $6232 = HEAP32[$pOp>>2]|0; - $6233 = ((($6232)) + 4|0); - $6234 = HEAP32[$6233>>2]|0; - $6235 = HEAP32[$pFrame89>>2]|0; - $6236 = ((($6235)) + 16|0); - $6237 = HEAP32[$6236>>2]|0; - $6238 = (($6237) + (($6234*40)|0)|0); - HEAP32[$pIn1>>2] = $6238; + $6241 = HEAP32[$pOp>>2]|0; + $6242 = ((($6241)) + 4|0); + $6243 = HEAP32[$6242>>2]|0; + $6244 = HEAP32[$pFrame88>>2]|0; + $6245 = ((($6244)) + 16|0); + $6246 = HEAP32[$6245>>2]|0; + $6247 = (($6246) + (($6243*40)|0)|0); + HEAP32[$pIn1>>2] = $6247; } else { - $6239 = HEAP32[$pOp>>2]|0; - $6240 = ((($6239)) + 4|0); - $6241 = HEAP32[$6240>>2]|0; - $6242 = HEAP32[$aMem>>2]|0; - $6243 = (($6242) + (($6241*40)|0)|0); - HEAP32[$pIn1>>2] = $6243; + $6248 = HEAP32[$pOp>>2]|0; + $6249 = ((($6248)) + 4|0); + $6250 = HEAP32[$6249>>2]|0; + $6251 = HEAP32[$aMem>>2]|0; + $6252 = (($6251) + (($6250*40)|0)|0); + HEAP32[$pIn1>>2] = $6252; } - $6244 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemIntegerify($6244)|0); - $6245 = HEAP32[$pOp>>2]|0; - $6246 = ((($6245)) + 8|0); - $6247 = HEAP32[$6246>>2]|0; - $6248 = HEAP32[$aMem>>2]|0; - $6249 = (($6248) + (($6247*40)|0)|0); - HEAP32[$pIn2>>2] = $6249; - $6250 = HEAP32[$pIn2>>2]|0; - (_sqlite3VdbeMemIntegerify($6250)|0); - $6251 = HEAP32[$pIn1>>2]|0; - $6252 = $6251; - $6253 = $6252; - $6254 = HEAP32[$6253>>2]|0; - $6255 = (($6252) + 4)|0; - $6256 = $6255; - $6257 = HEAP32[$6256>>2]|0; - $6258 = HEAP32[$pIn2>>2]|0; - $6259 = $6258; - $6260 = $6259; - $6261 = HEAP32[$6260>>2]|0; - $6262 = (($6259) + 4)|0; - $6263 = $6262; - $6264 = HEAP32[$6263>>2]|0; - $6265 = ($6257|0)<($6264|0); - $6266 = ($6254>>>0)<($6261>>>0); - $6267 = ($6257|0)==($6264|0); - $6268 = $6267 & $6266; - $6269 = $6265 | $6268; - if ($6269) { - $6270 = HEAP32[$pIn2>>2]|0; - $6271 = $6270; - $6272 = $6271; - $6273 = HEAP32[$6272>>2]|0; - $6274 = (($6271) + 4)|0; - $6275 = $6274; - $6276 = HEAP32[$6275>>2]|0; - $6277 = HEAP32[$pIn1>>2]|0; - $6278 = $6277; - $6279 = $6278; - HEAP32[$6279>>2] = $6273; - $6280 = (($6278) + 4)|0; + $6253 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemIntegerify($6253)|0); + $6254 = HEAP32[$pOp>>2]|0; + $6255 = ((($6254)) + 8|0); + $6256 = HEAP32[$6255>>2]|0; + $6257 = HEAP32[$aMem>>2]|0; + $6258 = (($6257) + (($6256*40)|0)|0); + HEAP32[$pIn2>>2] = $6258; + $6259 = HEAP32[$pIn2>>2]|0; + (_sqlite3VdbeMemIntegerify($6259)|0); + $6260 = HEAP32[$pIn1>>2]|0; + $6261 = $6260; + $6262 = $6261; + $6263 = HEAP32[$6262>>2]|0; + $6264 = (($6261) + 4)|0; + $6265 = $6264; + $6266 = HEAP32[$6265>>2]|0; + $6267 = HEAP32[$pIn2>>2]|0; + $6268 = $6267; + $6269 = $6268; + $6270 = HEAP32[$6269>>2]|0; + $6271 = (($6268) + 4)|0; + $6272 = $6271; + $6273 = HEAP32[$6272>>2]|0; + $6274 = ($6266|0)<($6273|0); + $6275 = ($6263>>>0)<($6270>>>0); + $6276 = ($6266|0)==($6273|0); + $6277 = $6276 & $6275; + $6278 = $6274 | $6277; + if ($6278) { + $6279 = HEAP32[$pIn2>>2]|0; + $6280 = $6279; $6281 = $6280; - HEAP32[$6281>>2] = $6276; + $6282 = HEAP32[$6281>>2]|0; + $6283 = (($6280) + 4)|0; + $6284 = $6283; + $6285 = HEAP32[$6284>>2]|0; + $6286 = HEAP32[$pIn1>>2]|0; + $6287 = $6286; + $6288 = $6287; + HEAP32[$6288>>2] = $6282; + $6289 = (($6287) + 4)|0; + $6290 = $6289; + HEAP32[$6290>>2] = $6285; } break; } - case 64: { - $6282 = HEAP32[$pOp>>2]|0; - $6283 = ((($6282)) + 4|0); - $6284 = HEAP32[$6283>>2]|0; - $6285 = HEAP32[$aMem>>2]|0; - $6286 = (($6285) + (($6284*40)|0)|0); - HEAP32[$pIn1>>2] = $6286; - $6287 = HEAP32[$pIn1>>2]|0; - $6288 = $6287; - $6289 = $6288; - $6290 = HEAP32[$6289>>2]|0; - $6291 = (($6288) + 4)|0; - $6292 = $6291; + case 66: { + $6291 = HEAP32[$pOp>>2]|0; + $6292 = ((($6291)) + 4|0); $6293 = HEAP32[$6292>>2]|0; - $6294 = ($6293|0)>(0); - $6295 = ($6290>>>0)>(0); - $6296 = ($6293|0)==(0); - $6297 = $6296 & $6295; - $6298 = $6294 | $6297; - if ($6298) { - $6299 = HEAP32[$pOp>>2]|0; - $6300 = ((($6299)) + 12|0); - $6301 = HEAP32[$6300>>2]|0; - $6302 = ($6301|0)<(0); - $6303 = $6302 << 31 >> 31; - $6304 = HEAP32[$pIn1>>2]|0; - $6305 = $6304; - $6306 = $6305; - $6307 = HEAP32[$6306>>2]|0; - $6308 = (($6305) + 4)|0; - $6309 = $6308; + $6294 = HEAP32[$aMem>>2]|0; + $6295 = (($6294) + (($6293*40)|0)|0); + HEAP32[$pIn1>>2] = $6295; + $6296 = HEAP32[$pIn1>>2]|0; + $6297 = $6296; + $6298 = $6297; + $6299 = HEAP32[$6298>>2]|0; + $6300 = (($6297) + 4)|0; + $6301 = $6300; + $6302 = HEAP32[$6301>>2]|0; + $6303 = ($6302|0)>(0); + $6304 = ($6299>>>0)>(0); + $6305 = ($6302|0)==(0); + $6306 = $6305 & $6304; + $6307 = $6303 | $6306; + if ($6307) { + $6308 = HEAP32[$pOp>>2]|0; + $6309 = ((($6308)) + 12|0); $6310 = HEAP32[$6309>>2]|0; - $6311 = (_i64Subtract(($6307|0),($6310|0),($6301|0),($6303|0))|0); - $6312 = tempRet0; - $6313 = $6304; + $6311 = ($6310|0)<(0); + $6312 = $6311 << 31 >> 31; + $6313 = HEAP32[$pIn1>>2]|0; $6314 = $6313; - HEAP32[$6314>>2] = $6311; - $6315 = (($6313) + 4)|0; - $6316 = $6315; - HEAP32[$6316>>2] = $6312; + $6315 = $6314; + $6316 = HEAP32[$6315>>2]|0; + $6317 = (($6314) + 4)|0; + $6318 = $6317; + $6319 = HEAP32[$6318>>2]|0; + $6320 = (_i64Subtract(($6316|0),($6319|0),($6310|0),($6312|0))|0); + $6321 = tempRet0; + $6322 = $6313; + $6323 = $6322; + HEAP32[$6323>>2] = $6320; + $6324 = (($6322) + 4)|0; + $6325 = $6324; + HEAP32[$6325>>2] = $6321; label = 14; } break; } - case 144: { - $6317 = HEAP32[$pOp>>2]|0; - $6318 = ((($6317)) + 4|0); - $6319 = HEAP32[$6318>>2]|0; - $6320 = HEAP32[$aMem>>2]|0; - $6321 = (($6320) + (($6319*40)|0)|0); - HEAP32[$pIn1>>2] = $6321; - $6322 = HEAP32[$pOp>>2]|0; - $6323 = ((($6322)) + 12|0); - $6324 = HEAP32[$6323>>2]|0; - $6325 = HEAP32[$aMem>>2]|0; - $6326 = (($6325) + (($6324*40)|0)|0); - HEAP32[$pIn3>>2] = $6326; - $6327 = HEAP32[$0>>2]|0; - $6328 = HEAP32[$pOp>>2]|0; - $6329 = (_out2Prerelease($6327,$6328)|0); - HEAP32[$pOut>>2] = $6329; - $6330 = HEAP32[$pIn1>>2]|0; - $6331 = $6330; - $6332 = $6331; + case 146: { + $6326 = HEAP32[$pOp>>2]|0; + $6327 = ((($6326)) + 4|0); + $6328 = HEAP32[$6327>>2]|0; + $6329 = HEAP32[$aMem>>2]|0; + $6330 = (($6329) + (($6328*40)|0)|0); + HEAP32[$pIn1>>2] = $6330; + $6331 = HEAP32[$pOp>>2]|0; + $6332 = ((($6331)) + 12|0); $6333 = HEAP32[$6332>>2]|0; - $6334 = (($6331) + 4)|0; - $6335 = $6334; - $6336 = HEAP32[$6335>>2]|0; - $6337 = ($6336|0)<(0); - $6338 = ($6333>>>0)<=(0); - $6339 = ($6336|0)==(0); - $6340 = $6339 & $6338; - $6341 = $6337 | $6340; - if ($6341) { - $6375 = -1;$6378 = -1; + $6334 = HEAP32[$aMem>>2]|0; + $6335 = (($6334) + (($6333*40)|0)|0); + HEAP32[$pIn3>>2] = $6335; + $6336 = HEAP32[$0>>2]|0; + $6337 = HEAP32[$pOp>>2]|0; + $6338 = (_out2Prerelease($6336,$6337)|0); + HEAP32[$pOut>>2] = $6338; + $6339 = HEAP32[$pIn1>>2]|0; + $6340 = $6339; + $6341 = $6340; + $6342 = HEAP32[$6341>>2]|0; + $6343 = (($6340) + 4)|0; + $6344 = $6343; + $6345 = HEAP32[$6344>>2]|0; + $6346 = ($6345|0)<(0); + $6347 = ($6342>>>0)<=(0); + $6348 = ($6345|0)==(0); + $6349 = $6348 & $6347; + $6350 = $6346 | $6349; + if ($6350) { + $6384 = -1;$6387 = -1; } else { - $6342 = HEAP32[$pIn1>>2]|0; - $6343 = $6342; - $6344 = $6343; - $6345 = HEAP32[$6344>>2]|0; - $6346 = (($6343) + 4)|0; - $6347 = $6346; - $6348 = HEAP32[$6347>>2]|0; - $6349 = HEAP32[$pIn3>>2]|0; - $6350 = $6349; - $6351 = $6350; - $6352 = HEAP32[$6351>>2]|0; - $6353 = (($6350) + 4)|0; - $6354 = $6353; - $6355 = HEAP32[$6354>>2]|0; - $6356 = ($6355|0)>(0); - $6357 = ($6352>>>0)>(0); - $6358 = ($6355|0)==(0); - $6359 = $6358 & $6357; - $6360 = $6356 | $6359; - if ($6360) { - $6361 = HEAP32[$pIn3>>2]|0; - $6362 = $6361; - $6363 = $6362; - $6364 = HEAP32[$6363>>2]|0; - $6365 = (($6362) + 4)|0; - $6366 = $6365; - $6367 = HEAP32[$6366>>2]|0; - $6368 = $6364;$6369 = $6367; + $6351 = HEAP32[$pIn1>>2]|0; + $6352 = $6351; + $6353 = $6352; + $6354 = HEAP32[$6353>>2]|0; + $6355 = (($6352) + 4)|0; + $6356 = $6355; + $6357 = HEAP32[$6356>>2]|0; + $6358 = HEAP32[$pIn3>>2]|0; + $6359 = $6358; + $6360 = $6359; + $6361 = HEAP32[$6360>>2]|0; + $6362 = (($6359) + 4)|0; + $6363 = $6362; + $6364 = HEAP32[$6363>>2]|0; + $6365 = ($6364|0)>(0); + $6366 = ($6361>>>0)>(0); + $6367 = ($6364|0)==(0); + $6368 = $6367 & $6366; + $6369 = $6365 | $6368; + if ($6369) { + $6370 = HEAP32[$pIn3>>2]|0; + $6371 = $6370; + $6372 = $6371; + $6373 = HEAP32[$6372>>2]|0; + $6374 = (($6371) + 4)|0; + $6375 = $6374; + $6376 = HEAP32[$6375>>2]|0; + $6377 = $6373;$6378 = $6376; } else { - $6368 = 0;$6369 = 0; + $6377 = 0;$6378 = 0; } - $6370 = (_i64Add(($6345|0),($6348|0),($6368|0),($6369|0))|0); - $6371 = tempRet0; - $6375 = $6370;$6378 = $6371; + $6379 = (_i64Add(($6354|0),($6357|0),($6377|0),($6378|0))|0); + $6380 = tempRet0; + $6384 = $6379;$6387 = $6380; } - $6372 = HEAP32[$pOut>>2]|0; - $6373 = $6372; - $6374 = $6373; - HEAP32[$6374>>2] = $6375; - $6376 = (($6373) + 4)|0; - $6377 = $6376; - HEAP32[$6377>>2] = $6378; + $6381 = HEAP32[$pOut>>2]|0; + $6382 = $6381; + $6383 = $6382; + HEAP32[$6383>>2] = $6384; + $6385 = (($6382) + 4)|0; + $6386 = $6385; + HEAP32[$6386>>2] = $6387; break; } - case 65: { - $6379 = HEAP32[$pOp>>2]|0; - $6380 = ((($6379)) + 4|0); - $6381 = HEAP32[$6380>>2]|0; - $6382 = HEAP32[$aMem>>2]|0; - $6383 = (($6382) + (($6381*40)|0)|0); - HEAP32[$pIn1>>2] = $6383; - $6384 = HEAP32[$pIn1>>2]|0; - $6385 = $6384; - $6386 = $6385; - $6387 = HEAP32[$6386>>2]|0; - $6388 = (($6385) + 4)|0; - $6389 = $6388; + case 67: { + $6388 = HEAP32[$pOp>>2]|0; + $6389 = ((($6388)) + 4|0); $6390 = HEAP32[$6389>>2]|0; - $6391 = ($6387|0)!=(0); - $6392 = ($6390|0)!=(0); - $6393 = $6391 | $6392; - if ($6393) { - $6394 = HEAP32[$pOp>>2]|0; - $6395 = ((($6394)) + 12|0); - $6396 = HEAP32[$6395>>2]|0; - $6397 = ($6396|0)<(0); - $6398 = $6397 << 31 >> 31; - $6399 = HEAP32[$pIn1>>2]|0; - $6400 = $6399; - $6401 = $6400; - $6402 = HEAP32[$6401>>2]|0; - $6403 = (($6400) + 4)|0; - $6404 = $6403; + $6391 = HEAP32[$aMem>>2]|0; + $6392 = (($6391) + (($6390*40)|0)|0); + HEAP32[$pIn1>>2] = $6392; + $6393 = HEAP32[$pIn1>>2]|0; + $6394 = $6393; + $6395 = $6394; + $6396 = HEAP32[$6395>>2]|0; + $6397 = (($6394) + 4)|0; + $6398 = $6397; + $6399 = HEAP32[$6398>>2]|0; + $6400 = ($6396|0)!=(0); + $6401 = ($6399|0)!=(0); + $6402 = $6400 | $6401; + if ($6402) { + $6403 = HEAP32[$pOp>>2]|0; + $6404 = ((($6403)) + 12|0); $6405 = HEAP32[$6404>>2]|0; - $6406 = (_i64Subtract(($6402|0),($6405|0),($6396|0),($6398|0))|0); - $6407 = tempRet0; - $6408 = $6399; + $6406 = ($6405|0)<(0); + $6407 = $6406 << 31 >> 31; + $6408 = HEAP32[$pIn1>>2]|0; $6409 = $6408; - HEAP32[$6409>>2] = $6406; - $6410 = (($6408) + 4)|0; - $6411 = $6410; - HEAP32[$6411>>2] = $6407; + $6410 = $6409; + $6411 = HEAP32[$6410>>2]|0; + $6412 = (($6409) + 4)|0; + $6413 = $6412; + $6414 = HEAP32[$6413>>2]|0; + $6415 = (_i64Subtract(($6411|0),($6414|0),($6405|0),($6407|0))|0); + $6416 = tempRet0; + $6417 = $6408; + $6418 = $6417; + HEAP32[$6418>>2] = $6415; + $6419 = (($6417) + 4)|0; + $6420 = $6419; + HEAP32[$6420>>2] = $6416; label = 14; } break; } - case 66: { - $6412 = HEAP32[$pOp>>2]|0; - $6413 = ((($6412)) + 4|0); - $6414 = HEAP32[$6413>>2]|0; - $6415 = HEAP32[$aMem>>2]|0; - $6416 = (($6415) + (($6414*40)|0)|0); - HEAP32[$pIn1>>2] = $6416; - $6417 = HEAP32[$pIn1>>2]|0; - $6418 = $6417; - $6419 = $6418; - $6420 = HEAP32[$6419>>2]|0; - $6421 = (($6418) + 4)|0; - $6422 = $6421; + case 68: { + $6421 = HEAP32[$pOp>>2]|0; + $6422 = ((($6421)) + 4|0); $6423 = HEAP32[$6422>>2]|0; - $6424 = (_i64Add(($6420|0),($6423|0),-1,-1)|0); - $6425 = tempRet0; - $6426 = $6417; + $6424 = HEAP32[$aMem>>2]|0; + $6425 = (($6424) + (($6423*40)|0)|0); + HEAP32[$pIn1>>2] = $6425; + $6426 = HEAP32[$pIn1>>2]|0; $6427 = $6426; - HEAP32[$6427>>2] = $6424; - $6428 = (($6426) + 4)|0; - $6429 = $6428; - HEAP32[$6429>>2] = $6425; - $6430 = HEAP32[$pIn1>>2]|0; + $6428 = $6427; + $6429 = HEAP32[$6428>>2]|0; + $6430 = (($6427) + 4)|0; $6431 = $6430; - $6432 = $6431; - $6433 = HEAP32[$6432>>2]|0; - $6434 = (($6431) + 4)|0; - $6435 = $6434; - $6436 = HEAP32[$6435>>2]|0; - $6437 = ($6433|0)==(0); - $6438 = ($6436|0)==(0); - $6439 = $6437 & $6438; - if ($6439) { + $6432 = HEAP32[$6431>>2]|0; + $6433 = (_i64Add(($6429|0),($6432|0),-1,-1)|0); + $6434 = tempRet0; + $6435 = $6426; + $6436 = $6435; + HEAP32[$6436>>2] = $6433; + $6437 = (($6435) + 4)|0; + $6438 = $6437; + HEAP32[$6438>>2] = $6434; + $6439 = HEAP32[$pIn1>>2]|0; + $6440 = $6439; + $6441 = $6440; + $6442 = HEAP32[$6441>>2]|0; + $6443 = (($6440) + 4)|0; + $6444 = $6443; + $6445 = HEAP32[$6444>>2]|0; + $6446 = ($6442|0)==(0); + $6447 = ($6445|0)==(0); + $6448 = $6446 & $6447; + if ($6448) { label = 14; } break; } - case 145: { - $6440 = HEAP32[$pOp>>2]|0; - $6441 = ((($6440)) + 3|0); - $6442 = HEAP8[$6441>>0]|0; - $6443 = $6442&255; - HEAP32[$n90>>2] = $6443; - $6444 = HEAP32[$db>>2]|0; - $6445 = HEAP32[$n90>>2]|0; - $6446 = (($6445) - 1)|0; - $6447 = $6446<<2; - $6448 = (32 + ($6447))|0; - $6449 = (_sqlite3DbMallocRawNN($6444,$6448,0)|0); - HEAP32[$pCtx91>>2] = $6449; - $6450 = HEAP32[$pCtx91>>2]|0; - $6451 = ($6450|0)==(0|0); - if ($6451) { - label = 881; + case 147: { + $6449 = HEAP32[$pOp>>2]|0; + $6450 = ((($6449)) + 3|0); + $6451 = HEAP8[$6450>>0]|0; + $6452 = $6451&255; + HEAP32[$n89>>2] = $6452; + $6453 = HEAP32[$db>>2]|0; + $6454 = HEAP32[$n89>>2]|0; + $6455 = (($6454) - 1)|0; + $6456 = $6455<<2; + $6457 = (32 + ($6456))|0; + $6458 = (_sqlite3DbMallocRawNN($6453,$6457,0)|0); + HEAP32[$pCtx90>>2] = $6458; + $6459 = HEAP32[$pCtx90>>2]|0; + $6460 = ($6459|0)==(0|0); + if ($6460) { + label = 889; break L1; } - $6452 = HEAP32[$pCtx91>>2]|0; - $6453 = ((($6452)) + 8|0); - HEAP32[$6453>>2] = 0; - $6454 = HEAP32[$pOp>>2]|0; - $6455 = ((($6454)) + 16|0); - $6456 = HEAP32[$6455>>2]|0; - $6457 = HEAP32[$pCtx91>>2]|0; - $6458 = ((($6457)) + 4|0); - HEAP32[$6458>>2] = $6456; - $6459 = HEAP32[$pOp>>2]|0; - $6460 = HEAP32[$aOp>>2]|0; - $6461 = $6459; - $6462 = $6460; - $6463 = (($6461) - ($6462))|0; - $6464 = (($6463|0) / 20)&-1; - $6465 = HEAP32[$pCtx91>>2]|0; - $6466 = ((($6465)) + 16|0); - HEAP32[$6466>>2] = $6464; - $6467 = HEAP32[$0>>2]|0; - $6468 = HEAP32[$pCtx91>>2]|0; - $6469 = ((($6468)) + 12|0); - HEAP32[$6469>>2] = $6467; - $6470 = HEAP32[$n90>>2]|0; - $6471 = $6470&255; - $6472 = HEAP32[$pCtx91>>2]|0; - $6473 = ((($6472)) + 26|0); - HEAP8[$6473>>0] = $6471; - $6474 = HEAP32[$pOp>>2]|0; - $6475 = ((($6474)) + 1|0); - HEAP8[$6475>>0] = -21; - $6476 = HEAP32[$pCtx91>>2]|0; - $6477 = HEAP32[$pOp>>2]|0; - $6478 = ((($6477)) + 16|0); + $6461 = HEAP32[$pCtx90>>2]|0; + $6462 = ((($6461)) + 8|0); + HEAP32[$6462>>2] = 0; + $6463 = HEAP32[$pOp>>2]|0; + $6464 = ((($6463)) + 16|0); + $6465 = HEAP32[$6464>>2]|0; + $6466 = HEAP32[$pCtx90>>2]|0; + $6467 = ((($6466)) + 4|0); + HEAP32[$6467>>2] = $6465; + $6468 = HEAP32[$pOp>>2]|0; + $6469 = HEAP32[$aOp>>2]|0; + $6470 = $6468; + $6471 = $6469; + $6472 = (($6470) - ($6471))|0; + $6473 = (($6472|0) / 20)&-1; + $6474 = HEAP32[$pCtx90>>2]|0; + $6475 = ((($6474)) + 16|0); + HEAP32[$6475>>2] = $6473; + $6476 = HEAP32[$0>>2]|0; + $6477 = HEAP32[$pCtx90>>2]|0; + $6478 = ((($6477)) + 12|0); HEAP32[$6478>>2] = $6476; - $6479 = HEAP32[$pOp>>2]|0; - HEAP8[$6479>>0] = -110; - label = 753; + $6479 = HEAP32[$n89>>2]|0; + $6480 = $6479&255; + $6481 = HEAP32[$pCtx90>>2]|0; + $6482 = ((($6481)) + 26|0); + HEAP8[$6482>>0] = $6480; + $6483 = HEAP32[$pOp>>2]|0; + $6484 = ((($6483)) + 1|0); + HEAP8[$6484>>0] = -21; + $6485 = HEAP32[$pCtx90>>2]|0; + $6486 = HEAP32[$pOp>>2]|0; + $6487 = ((($6486)) + 16|0); + HEAP32[$6487>>2] = $6485; + $6488 = HEAP32[$pOp>>2]|0; + HEAP8[$6488>>0] = -108; + label = 752; break; } - case 146: { - label = 753; + case 148: { + label = 752; break; } - case 147: { - $6566 = HEAP32[$pOp>>2]|0; - $6567 = ((($6566)) + 4|0); - $6568 = HEAP32[$6567>>2]|0; - $6569 = HEAP32[$aMem>>2]|0; - $6570 = (($6569) + (($6568*40)|0)|0); - HEAP32[$pMem96>>2] = $6570; - $6571 = HEAP32[$pMem96>>2]|0; - $6572 = HEAP32[$pOp>>2]|0; - $6573 = ((($6572)) + 16|0); - $6574 = HEAP32[$6573>>2]|0; - $6575 = (_sqlite3VdbeMemFinalize($6571,$6574)|0); - HEAP32[$rc>>2] = $6575; - $6576 = HEAP32[$rc>>2]|0; - $6577 = ($6576|0)!=(0); - if ($6577) { - label = 765; - break L8; - } - $6581 = HEAP32[$pMem96>>2]|0; - $6582 = HEAP8[$encoding>>0]|0; - $6583 = $6582&255; - (_sqlite3VdbeChangeEncoding($6581,$6583)|0); - $6584 = HEAP32[$pMem96>>2]|0; - $6585 = (_sqlite3VdbeMemTooBig($6584)|0); + case 149: { + $6575 = HEAP32[$pOp>>2]|0; + $6576 = ((($6575)) + 4|0); + $6577 = HEAP32[$6576>>2]|0; + $6578 = HEAP32[$aMem>>2]|0; + $6579 = (($6578) + (($6577*40)|0)|0); + HEAP32[$pMem95>>2] = $6579; + $6580 = HEAP32[$pMem95>>2]|0; + $6581 = HEAP32[$pOp>>2]|0; + $6582 = ((($6581)) + 16|0); + $6583 = HEAP32[$6582>>2]|0; + $6584 = (_sqlite3VdbeMemFinalize($6580,$6583)|0); + HEAP32[$rc>>2] = $6584; + $6585 = HEAP32[$rc>>2]|0; $6586 = ($6585|0)!=(0); if ($6586) { - label = 880; + label = 764; + break L8; + } + $6590 = HEAP32[$pMem95>>2]|0; + $6591 = HEAP8[$encoding>>0]|0; + $6592 = $6591&255; + (_sqlite3VdbeChangeEncoding($6590,$6592)|0); + $6593 = HEAP32[$pMem95>>2]|0; + $6594 = (_sqlite3VdbeMemTooBig($6593)|0); + $6595 = ($6594|0)!=(0); + if ($6595) { + label = 888; break L8; } break; } case 8: { HEAP32[$aRes>>2] = 0; - $6587 = ((($aRes)) + 8|0); - HEAP32[$6587>>2] = -1; - $6588 = ((($aRes)) + 4|0); - HEAP32[$6588>>2] = -1; - $6589 = HEAP32[$db>>2]|0; - $6590 = HEAP32[$pOp>>2]|0; - $6591 = ((($6590)) + 4|0); - $6592 = HEAP32[$6591>>2]|0; - $6593 = HEAP32[$pOp>>2]|0; - $6594 = ((($6593)) + 8|0); - $6595 = HEAP32[$6594>>2]|0; - $6596 = ((($aRes)) + 4|0); - $6597 = ((($aRes)) + 8|0); - $6598 = (_sqlite3Checkpoint($6589,$6592,$6595,$6596,$6597)|0); - HEAP32[$rc>>2] = $6598; - $6599 = HEAP32[$rc>>2]|0; - $6600 = ($6599|0)!=(0); - if ($6600) { - $6601 = HEAP32[$rc>>2]|0; - $6602 = ($6601|0)!=(5); - if ($6602) { + $6596 = ((($aRes)) + 8|0); + HEAP32[$6596>>2] = -1; + $6597 = ((($aRes)) + 4|0); + HEAP32[$6597>>2] = -1; + $6598 = HEAP32[$db>>2]|0; + $6599 = HEAP32[$pOp>>2]|0; + $6600 = ((($6599)) + 4|0); + $6601 = HEAP32[$6600>>2]|0; + $6602 = HEAP32[$pOp>>2]|0; + $6603 = ((($6602)) + 8|0); + $6604 = HEAP32[$6603>>2]|0; + $6605 = ((($aRes)) + 4|0); + $6606 = ((($aRes)) + 8|0); + $6607 = (_sqlite3Checkpoint($6598,$6601,$6604,$6605,$6606)|0); + HEAP32[$rc>>2] = $6607; + $6608 = HEAP32[$rc>>2]|0; + $6609 = ($6608|0)!=(0); + if ($6609) { + $6610 = HEAP32[$rc>>2]|0; + $6611 = ($6610|0)!=(5); + if ($6611) { break L1; } HEAP32[$rc>>2] = 0; HEAP32[$aRes>>2] = 1; } - HEAP32[$i97>>2] = 0; - $6603 = HEAP32[$pOp>>2]|0; - $6604 = ((($6603)) + 12|0); - $6605 = HEAP32[$6604>>2]|0; - $6606 = HEAP32[$aMem>>2]|0; - $6607 = (($6606) + (($6605*40)|0)|0); - HEAP32[$pMem98>>2] = $6607; + HEAP32[$i96>>2] = 0; + $6612 = HEAP32[$pOp>>2]|0; + $6613 = ((($6612)) + 12|0); + $6614 = HEAP32[$6613>>2]|0; + $6615 = HEAP32[$aMem>>2]|0; + $6616 = (($6615) + (($6614*40)|0)|0); + HEAP32[$pMem97>>2] = $6616; while(1) { - $6608 = HEAP32[$i97>>2]|0; - $6609 = ($6608|0)<(3); - if (!($6609)) { + $6617 = HEAP32[$i96>>2]|0; + $6618 = ($6617|0)<(3); + if (!($6618)) { break L10; } - $6610 = HEAP32[$pMem98>>2]|0; - $6611 = HEAP32[$i97>>2]|0; - $6612 = (($aRes) + ($6611<<2)|0); - $6613 = HEAP32[$6612>>2]|0; - $6614 = ($6613|0)<(0); - $6615 = $6614 << 31 >> 31; - _sqlite3VdbeMemSetInt64($6610,$6613,$6615); - $6616 = HEAP32[$i97>>2]|0; - $6617 = (($6616) + 1)|0; - HEAP32[$i97>>2] = $6617; - $6618 = HEAP32[$pMem98>>2]|0; - $6619 = ((($6618)) + 40|0); - HEAP32[$pMem98>>2] = $6619; + $6619 = HEAP32[$pMem97>>2]|0; + $6620 = HEAP32[$i96>>2]|0; + $6621 = (($aRes) + ($6620<<2)|0); + $6622 = HEAP32[$6621>>2]|0; + $6623 = ($6622|0)<(0); + $6624 = $6623 << 31 >> 31; + _sqlite3VdbeMemSetInt64($6619,$6622,$6624); + $6625 = HEAP32[$i96>>2]|0; + $6626 = (($6625) + 1)|0; + HEAP32[$i96>>2] = $6626; + $6627 = HEAP32[$pMem97>>2]|0; + $6628 = ((($6627)) + 40|0); + HEAP32[$pMem97>>2] = $6628; } break; } case 9: { - $6620 = HEAP32[$0>>2]|0; - $6621 = HEAP32[$pOp>>2]|0; - $6622 = (_out2Prerelease($6620,$6621)|0); - HEAP32[$pOut>>2] = $6622; - $6623 = HEAP32[$pOp>>2]|0; - $6624 = ((($6623)) + 12|0); - $6625 = HEAP32[$6624>>2]|0; - HEAP32[$eNew>>2] = $6625; - $6626 = HEAP32[$pOp>>2]|0; - $6627 = ((($6626)) + 4|0); - $6628 = HEAP32[$6627>>2]|0; - $6629 = HEAP32[$db>>2]|0; - $6630 = ((($6629)) + 16|0); - $6631 = HEAP32[$6630>>2]|0; - $6632 = (($6631) + ($6628<<4)|0); - $6633 = ((($6632)) + 4|0); + $6629 = HEAP32[$0>>2]|0; + $6630 = HEAP32[$pOp>>2]|0; + $6631 = (_out2Prerelease($6629,$6630)|0); + HEAP32[$pOut>>2] = $6631; + $6632 = HEAP32[$pOp>>2]|0; + $6633 = ((($6632)) + 12|0); $6634 = HEAP32[$6633>>2]|0; - HEAP32[$pBt99>>2] = $6634; - $6635 = HEAP32[$pBt99>>2]|0; - $6636 = (_sqlite3BtreePager($6635)|0); - HEAP32[$pPager>>2] = $6636; - $6637 = HEAP32[$pPager>>2]|0; - $6638 = (_sqlite3PagerGetJournalMode($6637)|0); - HEAP32[$eOld>>2] = $6638; - $6639 = HEAP32[$eNew>>2]|0; - $6640 = ($6639|0)==(-1); - if ($6640) { - $6641 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6641; - } - $6642 = HEAP32[$pPager>>2]|0; - $6643 = (_sqlite3PagerOkToChangeJournalMode($6642)|0); - $6644 = ($6643|0)!=(0); - if (!($6644)) { - $6645 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6645; - } + HEAP32[$eNew>>2] = $6634; + $6635 = HEAP32[$pOp>>2]|0; + $6636 = ((($6635)) + 4|0); + $6637 = HEAP32[$6636>>2]|0; + $6638 = HEAP32[$db>>2]|0; + $6639 = ((($6638)) + 16|0); + $6640 = HEAP32[$6639>>2]|0; + $6641 = (($6640) + ($6637<<4)|0); + $6642 = ((($6641)) + 4|0); + $6643 = HEAP32[$6642>>2]|0; + HEAP32[$pBt98>>2] = $6643; + $6644 = HEAP32[$pBt98>>2]|0; + $6645 = (_sqlite3BtreePager($6644)|0); + HEAP32[$pPager>>2] = $6645; $6646 = HEAP32[$pPager>>2]|0; - $6647 = (_sqlite3PagerFilename($6646,1)|0); - HEAP32[$zFilename>>2] = $6647; + $6647 = (_sqlite3PagerGetJournalMode($6646)|0); + HEAP32[$eOld>>2] = $6647; $6648 = HEAP32[$eNew>>2]|0; - $6649 = ($6648|0)==(5); + $6649 = ($6648|0)==(-1); + if ($6649) { + $6650 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6650; + } + $6651 = HEAP32[$pPager>>2]|0; + $6652 = (_sqlite3PagerOkToChangeJournalMode($6651)|0); + $6653 = ($6652|0)!=(0); + if (!($6653)) { + $6654 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6654; + } + $6655 = HEAP32[$pPager>>2]|0; + $6656 = (_sqlite3PagerFilename($6655,1)|0); + HEAP32[$zFilename>>2] = $6656; + $6657 = HEAP32[$eNew>>2]|0; + $6658 = ($6657|0)==(5); do { - if ($6649) { - $6650 = HEAP32[$zFilename>>2]|0; - $6651 = (_sqlite3Strlen30($6650)|0); - $6652 = ($6651|0)==(0); - if (!($6652)) { - $6653 = HEAP32[$pPager>>2]|0; - $6654 = (_sqlite3PagerWalSupported($6653)|0); - $6655 = ($6654|0)!=(0); - if ($6655) { + if ($6658) { + $6659 = HEAP32[$zFilename>>2]|0; + $6660 = (_sqlite3Strlen30($6659)|0); + $6661 = ($6660|0)==(0); + if (!($6661)) { + $6662 = HEAP32[$pPager>>2]|0; + $6663 = (_sqlite3PagerWalSupported($6662)|0); + $6664 = ($6663|0)!=(0); + if ($6664) { break; } } - $6656 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6656; + $6665 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6665; } } while(0); - $6657 = HEAP32[$eNew>>2]|0; - $6658 = HEAP32[$eOld>>2]|0; - $6659 = ($6657|0)!=($6658|0); - if ($6659) { - $6660 = HEAP32[$eOld>>2]|0; - $6661 = ($6660|0)==(5); - $6662 = HEAP32[$eNew>>2]|0; - $6663 = ($6662|0)==(5); - $or$cond24 = $6661 | $6663; + $6666 = HEAP32[$eNew>>2]|0; + $6667 = HEAP32[$eOld>>2]|0; + $6668 = ($6666|0)!=($6667|0); + if ($6668) { + $6669 = HEAP32[$eOld>>2]|0; + $6670 = ($6669|0)==(5); + $6671 = HEAP32[$eNew>>2]|0; + $6672 = ($6671|0)==(5); + $or$cond24 = $6670 | $6672; if ($or$cond24) { - $6664 = HEAP32[$db>>2]|0; - $6665 = ((($6664)) + 67|0); - $6666 = HEAP8[$6665>>0]|0; - $6667 = ($6666<<24>>24)!=(0); - if (!($6667)) { - label = 785; + $6673 = HEAP32[$db>>2]|0; + $6674 = ((($6673)) + 67|0); + $6675 = HEAP8[$6674>>0]|0; + $6676 = ($6675<<24>>24)!=(0); + if (!($6676)) { + label = 784; break L8; } - $6668 = HEAP32[$db>>2]|0; - $6669 = ((($6668)) + 156|0); - $6670 = HEAP32[$6669>>2]|0; - $6671 = ($6670|0)>(1); - if ($6671) { - label = 785; + $6677 = HEAP32[$db>>2]|0; + $6678 = ((($6677)) + 160|0); + $6679 = HEAP32[$6678>>2]|0; + $6680 = ($6679|0)>(1); + if ($6680) { + label = 784; break L8; } - $6676 = HEAP32[$eOld>>2]|0; - $6677 = ($6676|0)==(5); - if ($6677) { - $6678 = HEAP32[$pPager>>2]|0; - $6679 = (_sqlite3PagerCloseWal($6678)|0); - HEAP32[$rc>>2] = $6679; - $6680 = HEAP32[$rc>>2]|0; - $6681 = ($6680|0)==(0); - if ($6681) { - $6682 = HEAP32[$pPager>>2]|0; - $6683 = HEAP32[$eNew>>2]|0; - (_sqlite3PagerSetJournalMode($6682,$6683)|0); + $6685 = HEAP32[$eOld>>2]|0; + $6686 = ($6685|0)==(5); + if ($6686) { + $6687 = HEAP32[$pPager>>2]|0; + $6688 = (_sqlite3PagerCloseWal($6687)|0); + HEAP32[$rc>>2] = $6688; + $6689 = HEAP32[$rc>>2]|0; + $6690 = ($6689|0)==(0); + if ($6690) { + $6691 = HEAP32[$pPager>>2]|0; + $6692 = HEAP32[$eNew>>2]|0; + (_sqlite3PagerSetJournalMode($6691,$6692)|0); } } else { - $6684 = HEAP32[$eOld>>2]|0; - $6685 = ($6684|0)==(4); - if ($6685) { - $6686 = HEAP32[$pPager>>2]|0; - (_sqlite3PagerSetJournalMode($6686,2)|0); + $6693 = HEAP32[$eOld>>2]|0; + $6694 = ($6693|0)==(4); + if ($6694) { + $6695 = HEAP32[$pPager>>2]|0; + (_sqlite3PagerSetJournalMode($6695,2)|0); } } - $6687 = HEAP32[$rc>>2]|0; - $6688 = ($6687|0)==(0); - if ($6688) { - $6689 = HEAP32[$pBt99>>2]|0; - $6690 = HEAP32[$eNew>>2]|0; - $6691 = ($6690|0)==(5); - $6692 = $6691 ? 2 : 1; - $6693 = (_sqlite3BtreeSetVersion($6689,$6692)|0); - HEAP32[$rc>>2] = $6693; + $6696 = HEAP32[$rc>>2]|0; + $6697 = ($6696|0)==(0); + if ($6697) { + $6698 = HEAP32[$pBt98>>2]|0; + $6699 = HEAP32[$eNew>>2]|0; + $6700 = ($6699|0)==(5); + $6701 = $6700 ? 2 : 1; + $6702 = (_sqlite3BtreeSetVersion($6698,$6701)|0); + HEAP32[$rc>>2] = $6702; } } } - $6694 = HEAP32[$rc>>2]|0; - $6695 = ($6694|0)!=(0); - if ($6695) { - $6696 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6696; + $6703 = HEAP32[$rc>>2]|0; + $6704 = ($6703|0)!=(0); + if ($6704) { + $6705 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6705; } - $6697 = HEAP32[$pPager>>2]|0; - $6698 = HEAP32[$eNew>>2]|0; - $6699 = (_sqlite3PagerSetJournalMode($6697,$6698)|0); - HEAP32[$eNew>>2] = $6699; - $6700 = HEAP32[$pOut>>2]|0; - $6701 = ((($6700)) + 8|0); - HEAP16[$6701>>1] = 2562; - $6702 = HEAP32[$eNew>>2]|0; - $6703 = (_sqlite3JournalModename($6702)|0); - $6704 = HEAP32[$pOut>>2]|0; - $6705 = ((($6704)) + 16|0); - HEAP32[$6705>>2] = $6703; - $6706 = HEAP32[$pOut>>2]|0; - $6707 = ((($6706)) + 16|0); - $6708 = HEAP32[$6707>>2]|0; - $6709 = (_sqlite3Strlen30($6708)|0); - $6710 = HEAP32[$pOut>>2]|0; - $6711 = ((($6710)) + 12|0); - HEAP32[$6711>>2] = $6709; - $6712 = HEAP32[$pOut>>2]|0; - $6713 = ((($6712)) + 10|0); - HEAP8[$6713>>0] = 1; - $6714 = HEAP32[$pOut>>2]|0; - $6715 = HEAP8[$encoding>>0]|0; - $6716 = $6715&255; - (_sqlite3VdbeChangeEncoding($6714,$6716)|0); - $6717 = HEAP32[$rc>>2]|0; - $6718 = ($6717|0)!=(0); - if ($6718) { + $6706 = HEAP32[$pPager>>2]|0; + $6707 = HEAP32[$eNew>>2]|0; + $6708 = (_sqlite3PagerSetJournalMode($6706,$6707)|0); + HEAP32[$eNew>>2] = $6708; + $6709 = HEAP32[$pOut>>2]|0; + $6710 = ((($6709)) + 8|0); + HEAP16[$6710>>1] = 2562; + $6711 = HEAP32[$eNew>>2]|0; + $6712 = (_sqlite3JournalModename($6711)|0); + $6713 = HEAP32[$pOut>>2]|0; + $6714 = ((($6713)) + 16|0); + HEAP32[$6714>>2] = $6712; + $6715 = HEAP32[$pOut>>2]|0; + $6716 = ((($6715)) + 16|0); + $6717 = HEAP32[$6716>>2]|0; + $6718 = (_sqlite3Strlen30($6717)|0); + $6719 = HEAP32[$pOut>>2]|0; + $6720 = ((($6719)) + 12|0); + HEAP32[$6720>>2] = $6718; + $6721 = HEAP32[$pOut>>2]|0; + $6722 = ((($6721)) + 10|0); + HEAP8[$6722>>0] = 1; + $6723 = HEAP32[$pOut>>2]|0; + $6724 = HEAP8[$encoding>>0]|0; + $6725 = $6724&255; + (_sqlite3VdbeChangeEncoding($6723,$6725)|0); + $6726 = HEAP32[$rc>>2]|0; + $6727 = ($6726|0)!=(0); + if ($6727) { break L1; } break; } case 10: { - $6719 = HEAP32[$0>>2]|0; - $6720 = ((($6719)) + 44|0); - $6721 = HEAP32[$db>>2]|0; - $6722 = (_sqlite3RunVacuum($6720,$6721)|0); - HEAP32[$rc>>2] = $6722; - $6723 = HEAP32[$rc>>2]|0; - $6724 = ($6723|0)!=(0); - if ($6724) { + $6728 = HEAP32[$0>>2]|0; + $6729 = ((($6728)) + 108|0); + $6730 = HEAP32[$db>>2]|0; + $6731 = HEAP32[$pOp>>2]|0; + $6732 = ((($6731)) + 4|0); + $6733 = HEAP32[$6732>>2]|0; + $6734 = (_sqlite3RunVacuum($6729,$6730,$6733)|0); + HEAP32[$rc>>2] = $6734; + $6735 = HEAP32[$rc>>2]|0; + $6736 = ($6735|0)!=(0); + if ($6736) { break L1; } break; } - case 67: { - $6725 = HEAP32[$pOp>>2]|0; - $6726 = ((($6725)) + 4|0); - $6727 = HEAP32[$6726>>2]|0; - $6728 = HEAP32[$db>>2]|0; - $6729 = ((($6728)) + 16|0); - $6730 = HEAP32[$6729>>2]|0; - $6731 = (($6730) + ($6727<<4)|0); - $6732 = ((($6731)) + 4|0); - $6733 = HEAP32[$6732>>2]|0; - HEAP32[$pBt100>>2] = $6733; - $6734 = HEAP32[$pBt100>>2]|0; - $6735 = (_sqlite3BtreeIncrVacuum($6734)|0); - HEAP32[$rc>>2] = $6735; - $6736 = HEAP32[$rc>>2]|0; - $6737 = ($6736|0)!=(0); - if ($6737) { - $6738 = HEAP32[$rc>>2]|0; - $6739 = ($6738|0)!=(101); - if ($6739) { + case 69: { + $6737 = HEAP32[$pOp>>2]|0; + $6738 = ((($6737)) + 4|0); + $6739 = HEAP32[$6738>>2]|0; + $6740 = HEAP32[$db>>2]|0; + $6741 = ((($6740)) + 16|0); + $6742 = HEAP32[$6741>>2]|0; + $6743 = (($6742) + ($6739<<4)|0); + $6744 = ((($6743)) + 4|0); + $6745 = HEAP32[$6744>>2]|0; + HEAP32[$pBt99>>2] = $6745; + $6746 = HEAP32[$pBt99>>2]|0; + $6747 = (_sqlite3BtreeIncrVacuum($6746)|0); + HEAP32[$rc>>2] = $6747; + $6748 = HEAP32[$rc>>2]|0; + $6749 = ($6748|0)!=(0); + if ($6749) { + $6750 = HEAP32[$rc>>2]|0; + $6751 = ($6750|0)!=(101); + if ($6751) { break L1; } HEAP32[$rc>>2] = 0; @@ -219996,465 +224290,465 @@ function _sqlite3VdbeExec($p) { } break; } - case 148: { - $6740 = HEAP32[$pOp>>2]|0; - $6741 = ((($6740)) + 4|0); - $6742 = HEAP32[$6741>>2]|0; - $6743 = ($6742|0)!=(0); - if ($6743) { - $6745 = HEAP32[$0>>2]|0; - $6746 = ((($6745)) + 87|0); - $6747 = HEAP8[$6746>>0]|0; - $6748 = $6747 & -2; - $6749 = $6748 | 1; - HEAP8[$6746>>0] = $6749; + case 150: { + $6752 = HEAP32[$pOp>>2]|0; + $6753 = ((($6752)) + 4|0); + $6754 = HEAP32[$6753>>2]|0; + $6755 = ($6754|0)!=(0); + if ($6755) { + $6757 = HEAP32[$0>>2]|0; + $6758 = ((($6757)) + 144|0); + $6759 = HEAP16[$6758>>1]|0; + $6760 = $6759 & -2; + $6761 = $6760 | 1; + HEAP16[$6758>>1] = $6761; break L10; } else { - $6744 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($6744); + $6756 = HEAP32[$db>>2]|0; + _sqlite3ExpirePreparedStatements($6756); break L10; } break; } - case 149: { - $6750 = HEAP32[$pOp>>2]|0; - $6751 = ((($6750)) + 12|0); - $6752 = HEAP32[$6751>>2]|0; - $6753 = $6752&255; - HEAP8[$isWriteLock>>0] = $6753; - $6754 = HEAP8[$isWriteLock>>0]|0; - $6755 = $6754&255; - $6756 = ($6755|0)!=(0); - if (!($6756)) { - $6757 = HEAP32[$db>>2]|0; - $6758 = ((($6757)) + 24|0); - $6759 = HEAP32[$6758>>2]|0; - $6760 = $6759 & 16384; - $6761 = (0)==($6760|0); - if (!($6761)) { + case 151: { + $6762 = HEAP32[$pOp>>2]|0; + $6763 = ((($6762)) + 12|0); + $6764 = HEAP32[$6763>>2]|0; + $6765 = $6764&255; + HEAP8[$isWriteLock>>0] = $6765; + $6766 = HEAP8[$isWriteLock>>0]|0; + $6767 = $6766&255; + $6768 = ($6767|0)!=(0); + if (!($6768)) { + $6769 = HEAP32[$db>>2]|0; + $6770 = ((($6769)) + 24|0); + $6771 = HEAP32[$6770>>2]|0; + $6772 = $6771 & 16384; + $6773 = (0)==($6772|0); + if (!($6773)) { break L10; } } - $6762 = HEAP32[$pOp>>2]|0; - $6763 = ((($6762)) + 4|0); - $6764 = HEAP32[$6763>>2]|0; - HEAP32[$p1101>>2] = $6764; - $6765 = HEAP32[$p1101>>2]|0; - $6766 = HEAP32[$db>>2]|0; - $6767 = ((($6766)) + 16|0); - $6768 = HEAP32[$6767>>2]|0; - $6769 = (($6768) + ($6765<<4)|0); - $6770 = ((($6769)) + 4|0); - $6771 = HEAP32[$6770>>2]|0; - $6772 = HEAP32[$pOp>>2]|0; - $6773 = ((($6772)) + 8|0); - $6774 = HEAP32[$6773>>2]|0; - $6775 = HEAP8[$isWriteLock>>0]|0; - $6776 = (_sqlite3BtreeLockTable($6771,$6774,$6775)|0); - HEAP32[$rc>>2] = $6776; - $6777 = HEAP32[$rc>>2]|0; - $6778 = ($6777|0)!=(0); - if ($6778) { - label = 806; + $6774 = HEAP32[$pOp>>2]|0; + $6775 = ((($6774)) + 4|0); + $6776 = HEAP32[$6775>>2]|0; + HEAP32[$p1100>>2] = $6776; + $6777 = HEAP32[$p1100>>2]|0; + $6778 = HEAP32[$db>>2]|0; + $6779 = ((($6778)) + 16|0); + $6780 = HEAP32[$6779>>2]|0; + $6781 = (($6780) + ($6777<<4)|0); + $6782 = ((($6781)) + 4|0); + $6783 = HEAP32[$6782>>2]|0; + $6784 = HEAP32[$pOp>>2]|0; + $6785 = ((($6784)) + 8|0); + $6786 = HEAP32[$6785>>2]|0; + $6787 = HEAP8[$isWriteLock>>0]|0; + $6788 = (_sqlite3BtreeLockTable($6783,$6786,$6787)|0); + HEAP32[$rc>>2] = $6788; + $6789 = HEAP32[$rc>>2]|0; + $6790 = ($6789|0)!=(0); + if ($6790) { + label = 805; break L8; } break; } - case 150: { - $6787 = HEAP32[$pOp>>2]|0; - $6788 = ((($6787)) + 16|0); - $6789 = HEAP32[$6788>>2]|0; - HEAP32[$pVTab>>2] = $6789; - $6790 = HEAP32[$db>>2]|0; - $6791 = HEAP32[$pVTab>>2]|0; - $6792 = (_sqlite3VtabBegin($6790,$6791)|0); - HEAP32[$rc>>2] = $6792; - $6793 = HEAP32[$pVTab>>2]|0; - $6794 = ($6793|0)!=(0|0); - if ($6794) { - $6795 = HEAP32[$0>>2]|0; - $6796 = HEAP32[$pVTab>>2]|0; - $6797 = ((($6796)) + 8|0); - $6798 = HEAP32[$6797>>2]|0; - _sqlite3VtabImportErrmsg($6795,$6798); + case 152: { + $6799 = HEAP32[$pOp>>2]|0; + $6800 = ((($6799)) + 16|0); + $6801 = HEAP32[$6800>>2]|0; + HEAP32[$pVTab>>2] = $6801; + $6802 = HEAP32[$db>>2]|0; + $6803 = HEAP32[$pVTab>>2]|0; + $6804 = (_sqlite3VtabBegin($6802,$6803)|0); + HEAP32[$rc>>2] = $6804; + $6805 = HEAP32[$pVTab>>2]|0; + $6806 = ($6805|0)!=(0|0); + if ($6806) { + $6807 = HEAP32[$0>>2]|0; + $6808 = HEAP32[$pVTab>>2]|0; + $6809 = ((($6808)) + 8|0); + $6810 = HEAP32[$6809>>2]|0; + _sqlite3VtabImportErrmsg($6807,$6810); } - $6799 = HEAP32[$rc>>2]|0; - $6800 = ($6799|0)!=(0); - if ($6800) { + $6811 = HEAP32[$rc>>2]|0; + $6812 = ($6811|0)!=(0); + if ($6812) { break L1; } break; } - case 151: { - dest=$sMem103; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6801 = HEAP32[$db>>2]|0; - $6802 = ((($sMem103)) + 32|0); - HEAP32[$6802>>2] = $6801; - $6803 = HEAP32[$pOp>>2]|0; - $6804 = ((($6803)) + 8|0); - $6805 = HEAP32[$6804>>2]|0; - $6806 = HEAP32[$aMem>>2]|0; - $6807 = (($6806) + (($6805*40)|0)|0); - $6808 = (_sqlite3VdbeMemCopy($sMem103,$6807)|0); - HEAP32[$rc>>2] = $6808; - $6809 = (_sqlite3_value_text($sMem103)|0); - HEAP32[$zTab>>2] = $6809; - $6810 = HEAP32[$zTab>>2]|0; - $6811 = ($6810|0)!=(0|0); - if ($6811) { - $6812 = HEAP32[$db>>2]|0; - $6813 = HEAP32[$pOp>>2]|0; - $6814 = ((($6813)) + 4|0); - $6815 = HEAP32[$6814>>2]|0; - $6816 = HEAP32[$zTab>>2]|0; - $6817 = HEAP32[$0>>2]|0; - $6818 = ((($6817)) + 44|0); - $6819 = (_sqlite3VtabCallCreate($6812,$6815,$6816,$6818)|0); - HEAP32[$rc>>2] = $6819; + case 153: { + dest=$sMem102; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6813 = HEAP32[$db>>2]|0; + $6814 = ((($sMem102)) + 32|0); + HEAP32[$6814>>2] = $6813; + $6815 = HEAP32[$pOp>>2]|0; + $6816 = ((($6815)) + 8|0); + $6817 = HEAP32[$6816>>2]|0; + $6818 = HEAP32[$aMem>>2]|0; + $6819 = (($6818) + (($6817*40)|0)|0); + $6820 = (_sqlite3VdbeMemCopy($sMem102,$6819)|0); + HEAP32[$rc>>2] = $6820; + $6821 = (_sqlite3_value_text($sMem102)|0); + HEAP32[$zTab>>2] = $6821; + $6822 = HEAP32[$zTab>>2]|0; + $6823 = ($6822|0)!=(0|0); + if ($6823) { + $6824 = HEAP32[$db>>2]|0; + $6825 = HEAP32[$pOp>>2]|0; + $6826 = ((($6825)) + 4|0); + $6827 = HEAP32[$6826>>2]|0; + $6828 = HEAP32[$zTab>>2]|0; + $6829 = HEAP32[$0>>2]|0; + $6830 = ((($6829)) + 108|0); + $6831 = (_sqlite3VtabCallCreate($6824,$6827,$6828,$6830)|0); + HEAP32[$rc>>2] = $6831; } - _sqlite3VdbeMemRelease($sMem103); - $6820 = HEAP32[$rc>>2]|0; - $6821 = ($6820|0)!=(0); - if ($6821) { + _sqlite3VdbeMemRelease($sMem102); + $6832 = HEAP32[$rc>>2]|0; + $6833 = ($6832|0)!=(0); + if ($6833) { break L1; } break; } - case 152: { - $6822 = HEAP32[$db>>2]|0; - $6823 = ((($6822)) + 168|0); - $6824 = HEAP32[$6823>>2]|0; - $6825 = (($6824) + 1)|0; - HEAP32[$6823>>2] = $6825; - $6826 = HEAP32[$db>>2]|0; - $6827 = HEAP32[$pOp>>2]|0; - $6828 = ((($6827)) + 4|0); - $6829 = HEAP32[$6828>>2]|0; - $6830 = HEAP32[$pOp>>2]|0; - $6831 = ((($6830)) + 16|0); - $6832 = HEAP32[$6831>>2]|0; - $6833 = (_sqlite3VtabCallDestroy($6826,$6829,$6832)|0); - HEAP32[$rc>>2] = $6833; + case 154: { $6834 = HEAP32[$db>>2]|0; - $6835 = ((($6834)) + 168|0); + $6835 = ((($6834)) + 172|0); $6836 = HEAP32[$6835>>2]|0; - $6837 = (($6836) + -1)|0; + $6837 = (($6836) + 1)|0; HEAP32[$6835>>2] = $6837; - $6838 = HEAP32[$rc>>2]|0; - $6839 = ($6838|0)!=(0); - if ($6839) { + $6838 = HEAP32[$db>>2]|0; + $6839 = HEAP32[$pOp>>2]|0; + $6840 = ((($6839)) + 4|0); + $6841 = HEAP32[$6840>>2]|0; + $6842 = HEAP32[$pOp>>2]|0; + $6843 = ((($6842)) + 16|0); + $6844 = HEAP32[$6843>>2]|0; + $6845 = (_sqlite3VtabCallDestroy($6838,$6841,$6844)|0); + HEAP32[$rc>>2] = $6845; + $6846 = HEAP32[$db>>2]|0; + $6847 = ((($6846)) + 172|0); + $6848 = HEAP32[$6847>>2]|0; + $6849 = (($6848) + -1)|0; + HEAP32[$6847>>2] = $6849; + $6850 = HEAP32[$rc>>2]|0; + $6851 = ($6850|0)!=(0); + if ($6851) { break L1; } break; } - case 153: { - HEAP32[$pCur104>>2] = 0; + case 155: { + HEAP32[$pCur103>>2] = 0; HEAP32[$pVCur>>2] = 0; - $6840 = HEAP32[$pOp>>2]|0; - $6841 = ((($6840)) + 16|0); - $6842 = HEAP32[$6841>>2]|0; - $6843 = ((($6842)) + 8|0); - $6844 = HEAP32[$6843>>2]|0; - HEAP32[$pVtab105>>2] = $6844; - $6845 = HEAP32[$pVtab105>>2]|0; - $6846 = ($6845|0)==(0|0); - if ($6846) { - label = 817; + $6852 = HEAP32[$pOp>>2]|0; + $6853 = ((($6852)) + 16|0); + $6854 = HEAP32[$6853>>2]|0; + $6855 = ((($6854)) + 8|0); + $6856 = HEAP32[$6855>>2]|0; + HEAP32[$pVtab104>>2] = $6856; + $6857 = HEAP32[$pVtab104>>2]|0; + $6858 = ($6857|0)==(0|0); + if ($6858) { + label = 816; break L8; } - $6847 = HEAP32[$pVtab105>>2]|0; - $6848 = HEAP32[$6847>>2]|0; - $6849 = ($6848|0)==(0|0); - if ($6849) { - label = 817; + $6859 = HEAP32[$pVtab104>>2]|0; + $6860 = HEAP32[$6859>>2]|0; + $6861 = ($6860|0)==(0|0); + if ($6861) { + label = 816; break L8; } - $6850 = HEAP32[$pVtab105>>2]|0; - $6851 = HEAP32[$6850>>2]|0; - HEAP32[$pModule106>>2] = $6851; - $6852 = HEAP32[$pModule106>>2]|0; - $6853 = ((($6852)) + 24|0); - $6854 = HEAP32[$6853>>2]|0; - $6855 = HEAP32[$pVtab105>>2]|0; - $6856 = (FUNCTION_TABLE_iii[$6854 & 255]($6855,$pVCur)|0); - HEAP32[$rc>>2] = $6856; - $6857 = HEAP32[$0>>2]|0; - $6858 = HEAP32[$pVtab105>>2]|0; - _sqlite3VtabImportErrmsg($6857,$6858); - $6859 = HEAP32[$rc>>2]|0; - $6860 = ($6859|0)!=(0); - if ($6860) { + $6862 = HEAP32[$pVtab104>>2]|0; + $6863 = HEAP32[$6862>>2]|0; + HEAP32[$pModule105>>2] = $6863; + $6864 = HEAP32[$pModule105>>2]|0; + $6865 = ((($6864)) + 24|0); + $6866 = HEAP32[$6865>>2]|0; + $6867 = HEAP32[$pVtab104>>2]|0; + $6868 = (FUNCTION_TABLE_iii[$6866 & 255]($6867,$pVCur)|0); + HEAP32[$rc>>2] = $6868; + $6869 = HEAP32[$0>>2]|0; + $6870 = HEAP32[$pVtab104>>2]|0; + _sqlite3VtabImportErrmsg($6869,$6870); + $6871 = HEAP32[$rc>>2]|0; + $6872 = ($6871|0)!=(0); + if ($6872) { break L1; } - $6861 = HEAP32[$pVtab105>>2]|0; - $6862 = HEAP32[$pVCur>>2]|0; - HEAP32[$6862>>2] = $6861; - $6863 = HEAP32[$0>>2]|0; - $6864 = HEAP32[$pOp>>2]|0; - $6865 = ((($6864)) + 4|0); - $6866 = HEAP32[$6865>>2]|0; - $6867 = (_allocateCursor($6863,$6866,0,-1,2)|0); - HEAP32[$pCur104>>2] = $6867; - $6868 = HEAP32[$pCur104>>2]|0; - $6869 = ($6868|0)!=(0|0); - if (!($6869)) { - label = 821; + $6873 = HEAP32[$pVtab104>>2]|0; + $6874 = HEAP32[$pVCur>>2]|0; + HEAP32[$6874>>2] = $6873; + $6875 = HEAP32[$0>>2]|0; + $6876 = HEAP32[$pOp>>2]|0; + $6877 = ((($6876)) + 4|0); + $6878 = HEAP32[$6877>>2]|0; + $6879 = (_allocateCursor($6875,$6878,0,-1,2)|0); + HEAP32[$pCur103>>2] = $6879; + $6880 = HEAP32[$pCur103>>2]|0; + $6881 = ($6880|0)!=(0|0); + if (!($6881)) { + label = 820; break L8; } - $6870 = HEAP32[$pVCur>>2]|0; - $6871 = HEAP32[$pCur104>>2]|0; - $6872 = ((($6871)) + 16|0); - HEAP32[$6872>>2] = $6870; - $6873 = HEAP32[$pVtab105>>2]|0; - $6874 = ((($6873)) + 4|0); - $6875 = HEAP32[$6874>>2]|0; - $6876 = (($6875) + 1)|0; - HEAP32[$6874>>2] = $6876; + $6882 = HEAP32[$pVCur>>2]|0; + $6883 = HEAP32[$pCur103>>2]|0; + $6884 = ((($6883)) + 16|0); + HEAP32[$6884>>2] = $6882; + $6885 = HEAP32[$pVtab104>>2]|0; + $6886 = ((($6885)) + 4|0); + $6887 = HEAP32[$6886>>2]|0; + $6888 = (($6887) + 1)|0; + HEAP32[$6886>>2] = $6888; break; } case 11: { - $6881 = HEAP32[$pOp>>2]|0; - $6882 = ((($6881)) + 12|0); - $6883 = HEAP32[$6882>>2]|0; - $6884 = HEAP32[$aMem>>2]|0; - $6885 = (($6884) + (($6883*40)|0)|0); - HEAP32[$pQuery>>2] = $6885; - $6886 = HEAP32[$pQuery>>2]|0; - $6887 = ((($6886)) + 40|0); - HEAP32[$pArgc>>2] = $6887; - $6888 = HEAP32[$pOp>>2]|0; - $6889 = ((($6888)) + 4|0); - $6890 = HEAP32[$6889>>2]|0; - $6891 = HEAP32[$0>>2]|0; - $6892 = ((($6891)) + 56|0); - $6893 = HEAP32[$6892>>2]|0; - $6894 = (($6893) + ($6890<<2)|0); + $6893 = HEAP32[$pOp>>2]|0; + $6894 = ((($6893)) + 12|0); $6895 = HEAP32[$6894>>2]|0; - HEAP32[$pCur110>>2] = $6895; - $6896 = HEAP32[$pCur110>>2]|0; - $6897 = ((($6896)) + 16|0); - $6898 = HEAP32[$6897>>2]|0; - HEAP32[$pVCur108>>2] = $6898; - $6899 = HEAP32[$pVCur108>>2]|0; - $6900 = HEAP32[$6899>>2]|0; - HEAP32[$pVtab109>>2] = $6900; - $6901 = HEAP32[$pVtab109>>2]|0; + $6896 = HEAP32[$aMem>>2]|0; + $6897 = (($6896) + (($6895*40)|0)|0); + HEAP32[$pQuery>>2] = $6897; + $6898 = HEAP32[$pQuery>>2]|0; + $6899 = ((($6898)) + 40|0); + HEAP32[$pArgc>>2] = $6899; + $6900 = HEAP32[$pOp>>2]|0; + $6901 = ((($6900)) + 4|0); $6902 = HEAP32[$6901>>2]|0; - HEAP32[$pModule107>>2] = $6902; - $6903 = HEAP32[$pArgc>>2]|0; - $6904 = $6903; - $6905 = $6904; - $6906 = HEAP32[$6905>>2]|0; - $6907 = (($6904) + 4)|0; - $6908 = $6907; - $6909 = HEAP32[$6908>>2]|0; - HEAP32[$nArg>>2] = $6906; - $6910 = HEAP32[$pQuery>>2]|0; - $6911 = $6910; - $6912 = $6911; - $6913 = HEAP32[$6912>>2]|0; - $6914 = (($6911) + 4)|0; - $6915 = $6914; - $6916 = HEAP32[$6915>>2]|0; - HEAP32[$iQuery>>2] = $6913; - HEAP32[$res111>>2] = 0; - $6917 = HEAP32[$0>>2]|0; - $6918 = ((($6917)) + 12|0); - $6919 = HEAP32[$6918>>2]|0; - HEAP32[$apArg>>2] = $6919; - HEAP32[$i112>>2] = 0; + $6903 = HEAP32[$0>>2]|0; + $6904 = ((($6903)) + 112|0); + $6905 = HEAP32[$6904>>2]|0; + $6906 = (($6905) + ($6902<<2)|0); + $6907 = HEAP32[$6906>>2]|0; + HEAP32[$pCur109>>2] = $6907; + $6908 = HEAP32[$pCur109>>2]|0; + $6909 = ((($6908)) + 16|0); + $6910 = HEAP32[$6909>>2]|0; + HEAP32[$pVCur107>>2] = $6910; + $6911 = HEAP32[$pVCur107>>2]|0; + $6912 = HEAP32[$6911>>2]|0; + HEAP32[$pVtab108>>2] = $6912; + $6913 = HEAP32[$pVtab108>>2]|0; + $6914 = HEAP32[$6913>>2]|0; + HEAP32[$pModule106>>2] = $6914; + $6915 = HEAP32[$pArgc>>2]|0; + $6916 = $6915; + $6917 = $6916; + $6918 = HEAP32[$6917>>2]|0; + $6919 = (($6916) + 4)|0; + $6920 = $6919; + $6921 = HEAP32[$6920>>2]|0; + HEAP32[$nArg>>2] = $6918; + $6922 = HEAP32[$pQuery>>2]|0; + $6923 = $6922; + $6924 = $6923; + $6925 = HEAP32[$6924>>2]|0; + $6926 = (($6923) + 4)|0; + $6927 = $6926; + $6928 = HEAP32[$6927>>2]|0; + HEAP32[$iQuery>>2] = $6925; + HEAP32[$res110>>2] = 0; + $6929 = HEAP32[$0>>2]|0; + $6930 = ((($6929)) + 96|0); + $6931 = HEAP32[$6930>>2]|0; + HEAP32[$apArg>>2] = $6931; + HEAP32[$i111>>2] = 0; while(1) { - $6920 = HEAP32[$i112>>2]|0; - $6921 = HEAP32[$nArg>>2]|0; - $6922 = ($6920|0)<($6921|0); - if (!($6922)) { + $6932 = HEAP32[$i111>>2]|0; + $6933 = HEAP32[$nArg>>2]|0; + $6934 = ($6932|0)<($6933|0); + if (!($6934)) { break; } - $6923 = HEAP32[$i112>>2]|0; - $6924 = (($6923) + 1)|0; - $6925 = HEAP32[$pArgc>>2]|0; - $6926 = (($6925) + (($6924*40)|0)|0); - $6927 = HEAP32[$i112>>2]|0; - $6928 = HEAP32[$apArg>>2]|0; - $6929 = (($6928) + ($6927<<2)|0); - HEAP32[$6929>>2] = $6926; - $6930 = HEAP32[$i112>>2]|0; - $6931 = (($6930) + 1)|0; - HEAP32[$i112>>2] = $6931; + $6935 = HEAP32[$i111>>2]|0; + $6936 = (($6935) + 1)|0; + $6937 = HEAP32[$pArgc>>2]|0; + $6938 = (($6937) + (($6936*40)|0)|0); + $6939 = HEAP32[$i111>>2]|0; + $6940 = HEAP32[$apArg>>2]|0; + $6941 = (($6940) + ($6939<<2)|0); + HEAP32[$6941>>2] = $6938; + $6942 = HEAP32[$i111>>2]|0; + $6943 = (($6942) + 1)|0; + HEAP32[$i111>>2] = $6943; } - $6932 = HEAP32[$pModule107>>2]|0; - $6933 = ((($6932)) + 32|0); - $6934 = HEAP32[$6933>>2]|0; - $6935 = HEAP32[$pVCur108>>2]|0; - $6936 = HEAP32[$iQuery>>2]|0; - $6937 = HEAP32[$pOp>>2]|0; - $6938 = ((($6937)) + 16|0); - $6939 = HEAP32[$6938>>2]|0; - $6940 = HEAP32[$nArg>>2]|0; - $6941 = HEAP32[$apArg>>2]|0; - $6942 = (FUNCTION_TABLE_iiiiii[$6934 & 255]($6935,$6936,$6939,$6940,$6941)|0); - HEAP32[$rc>>2] = $6942; - $6943 = HEAP32[$0>>2]|0; - $6944 = HEAP32[$pVtab109>>2]|0; - _sqlite3VtabImportErrmsg($6943,$6944); - $6945 = HEAP32[$rc>>2]|0; - $6946 = ($6945|0)!=(0); - if ($6946) { + $6944 = HEAP32[$pModule106>>2]|0; + $6945 = ((($6944)) + 32|0); + $6946 = HEAP32[$6945>>2]|0; + $6947 = HEAP32[$pVCur107>>2]|0; + $6948 = HEAP32[$iQuery>>2]|0; + $6949 = HEAP32[$pOp>>2]|0; + $6950 = ((($6949)) + 16|0); + $6951 = HEAP32[$6950>>2]|0; + $6952 = HEAP32[$nArg>>2]|0; + $6953 = HEAP32[$apArg>>2]|0; + $6954 = (FUNCTION_TABLE_iiiiii[$6946 & 255]($6947,$6948,$6951,$6952,$6953)|0); + HEAP32[$rc>>2] = $6954; + $6955 = HEAP32[$0>>2]|0; + $6956 = HEAP32[$pVtab108>>2]|0; + _sqlite3VtabImportErrmsg($6955,$6956); + $6957 = HEAP32[$rc>>2]|0; + $6958 = ($6957|0)!=(0); + if ($6958) { break L1; } - $6947 = HEAP32[$pModule107>>2]|0; - $6948 = ((($6947)) + 40|0); - $6949 = HEAP32[$6948>>2]|0; - $6950 = HEAP32[$pVCur108>>2]|0; - $6951 = (FUNCTION_TABLE_ii[$6949 & 255]($6950)|0); - HEAP32[$res111>>2] = $6951; - $6952 = HEAP32[$pCur110>>2]|0; - $6953 = ((($6952)) + 2|0); - HEAP8[$6953>>0] = 0; - $6954 = HEAP32[$res111>>2]|0; - $6955 = ($6954|0)!=(0); - if ($6955) { + $6959 = HEAP32[$pModule106>>2]|0; + $6960 = ((($6959)) + 40|0); + $6961 = HEAP32[$6960>>2]|0; + $6962 = HEAP32[$pVCur107>>2]|0; + $6963 = (FUNCTION_TABLE_ii[$6961 & 255]($6962)|0); + HEAP32[$res110>>2] = $6963; + $6964 = HEAP32[$pCur109>>2]|0; + $6965 = ((($6964)) + 2|0); + HEAP8[$6965>>0] = 0; + $6966 = HEAP32[$res110>>2]|0; + $6967 = ($6966|0)!=(0); + if ($6967) { label = 14; } break; } - case 154: { - $6956 = HEAP32[$pOp>>2]|0; - $6957 = ((($6956)) + 4|0); - $6958 = HEAP32[$6957>>2]|0; - $6959 = HEAP32[$0>>2]|0; - $6960 = ((($6959)) + 56|0); - $6961 = HEAP32[$6960>>2]|0; - $6962 = (($6961) + ($6958<<2)|0); - $6963 = HEAP32[$6962>>2]|0; - HEAP32[$pCur116>>2] = $6963; - $6964 = HEAP32[$pOp>>2]|0; - $6965 = ((($6964)) + 12|0); - $6966 = HEAP32[$6965>>2]|0; - $6967 = HEAP32[$aMem>>2]|0; - $6968 = (($6967) + (($6966*40)|0)|0); - HEAP32[$pDest115>>2] = $6968; - $6969 = HEAP32[$pCur116>>2]|0; - $6970 = ((($6969)) + 2|0); - $6971 = HEAP8[$6970>>0]|0; - $6972 = ($6971<<24>>24)!=(0); - if ($6972) { - $6973 = HEAP32[$pDest115>>2]|0; - _sqlite3VdbeMemSetNull($6973); + case 156: { + $6968 = HEAP32[$pOp>>2]|0; + $6969 = ((($6968)) + 4|0); + $6970 = HEAP32[$6969>>2]|0; + $6971 = HEAP32[$0>>2]|0; + $6972 = ((($6971)) + 112|0); + $6973 = HEAP32[$6972>>2]|0; + $6974 = (($6973) + ($6970<<2)|0); + $6975 = HEAP32[$6974>>2]|0; + HEAP32[$pCur115>>2] = $6975; + $6976 = HEAP32[$pOp>>2]|0; + $6977 = ((($6976)) + 12|0); + $6978 = HEAP32[$6977>>2]|0; + $6979 = HEAP32[$aMem>>2]|0; + $6980 = (($6979) + (($6978*40)|0)|0); + HEAP32[$pDest114>>2] = $6980; + $6981 = HEAP32[$pCur115>>2]|0; + $6982 = ((($6981)) + 2|0); + $6983 = HEAP8[$6982>>0]|0; + $6984 = ($6983<<24>>24)!=(0); + if ($6984) { + $6985 = HEAP32[$pDest114>>2]|0; + _sqlite3VdbeMemSetNull($6985); break L10; } - $6974 = HEAP32[$pCur116>>2]|0; - $6975 = ((($6974)) + 16|0); - $6976 = HEAP32[$6975>>2]|0; - $6977 = HEAP32[$6976>>2]|0; - HEAP32[$pVtab113>>2] = $6977; - $6978 = HEAP32[$pVtab113>>2]|0; - $6979 = HEAP32[$6978>>2]|0; - HEAP32[$pModule114>>2] = $6979; + $6986 = HEAP32[$pCur115>>2]|0; + $6987 = ((($6986)) + 16|0); + $6988 = HEAP32[$6987>>2]|0; + $6989 = HEAP32[$6988>>2]|0; + HEAP32[$pVtab112>>2] = $6989; + $6990 = HEAP32[$pVtab112>>2]|0; + $6991 = HEAP32[$6990>>2]|0; + HEAP32[$pModule113>>2] = $6991; ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0;HEAP32[$sContext+8>>2]=0|0;HEAP32[$sContext+12>>2]=0|0;HEAP32[$sContext+16>>2]=0|0;HEAP32[$sContext+20>>2]=0|0;HEAP32[$sContext+24>>2]=0|0;HEAP32[$sContext+28>>2]=0|0; - $6980 = HEAP32[$pDest115>>2]|0; - HEAP32[$sContext>>2] = $6980; - $6981 = HEAP32[$pDest115>>2]|0; - $6982 = ((($6981)) + 8|0); - $6983 = HEAP16[$6982>>1]|0; - $6984 = $6983&65535; - $6985 = $6984 & -49664; - $6986 = $6985 | 1; - $6987 = $6986&65535; - $6988 = HEAP32[$pDest115>>2]|0; - $6989 = ((($6988)) + 8|0); - HEAP16[$6989>>1] = $6987; - $6990 = HEAP32[$pModule114>>2]|0; - $6991 = ((($6990)) + 44|0); - $6992 = HEAP32[$6991>>2]|0; - $6993 = HEAP32[$pCur116>>2]|0; - $6994 = ((($6993)) + 16|0); - $6995 = HEAP32[$6994>>2]|0; - $6996 = HEAP32[$pOp>>2]|0; - $6997 = ((($6996)) + 8|0); - $6998 = HEAP32[$6997>>2]|0; - $6999 = (FUNCTION_TABLE_iiii[$6992 & 255]($6995,$sContext,$6998)|0); - HEAP32[$rc>>2] = $6999; - $7000 = HEAP32[$0>>2]|0; - $7001 = HEAP32[$pVtab113>>2]|0; - _sqlite3VtabImportErrmsg($7000,$7001); - $7002 = ((($sContext)) + 20|0); - $7003 = HEAP32[$7002>>2]|0; - $7004 = ($7003|0)!=(0); - if ($7004) { - $7005 = ((($sContext)) + 20|0); - $7006 = HEAP32[$7005>>2]|0; - HEAP32[$rc>>2] = $7006; + $6992 = HEAP32[$pDest114>>2]|0; + HEAP32[$sContext>>2] = $6992; + $6993 = HEAP32[$pDest114>>2]|0; + $6994 = ((($6993)) + 8|0); + $6995 = HEAP16[$6994>>1]|0; + $6996 = $6995&65535; + $6997 = $6996 & -49664; + $6998 = $6997 | 1; + $6999 = $6998&65535; + $7000 = HEAP32[$pDest114>>2]|0; + $7001 = ((($7000)) + 8|0); + HEAP16[$7001>>1] = $6999; + $7002 = HEAP32[$pModule113>>2]|0; + $7003 = ((($7002)) + 44|0); + $7004 = HEAP32[$7003>>2]|0; + $7005 = HEAP32[$pCur115>>2]|0; + $7006 = ((($7005)) + 16|0); + $7007 = HEAP32[$7006>>2]|0; + $7008 = HEAP32[$pOp>>2]|0; + $7009 = ((($7008)) + 8|0); + $7010 = HEAP32[$7009>>2]|0; + $7011 = (FUNCTION_TABLE_iiii[$7004 & 255]($7007,$sContext,$7010)|0); + HEAP32[$rc>>2] = $7011; + $7012 = HEAP32[$0>>2]|0; + $7013 = HEAP32[$pVtab112>>2]|0; + _sqlite3VtabImportErrmsg($7012,$7013); + $7014 = ((($sContext)) + 20|0); + $7015 = HEAP32[$7014>>2]|0; + $7016 = ($7015|0)!=(0); + if ($7016) { + $7017 = ((($sContext)) + 20|0); + $7018 = HEAP32[$7017>>2]|0; + HEAP32[$rc>>2] = $7018; } - $7007 = HEAP32[$pDest115>>2]|0; - $7008 = HEAP8[$encoding>>0]|0; - $7009 = $7008&255; - (_sqlite3VdbeChangeEncoding($7007,$7009)|0); - $7010 = HEAP32[$pDest115>>2]|0; - $7011 = (_sqlite3VdbeMemTooBig($7010)|0); - $7012 = ($7011|0)!=(0); - if ($7012) { - label = 880; + $7019 = HEAP32[$pDest114>>2]|0; + $7020 = HEAP8[$encoding>>0]|0; + $7021 = $7020&255; + (_sqlite3VdbeChangeEncoding($7019,$7021)|0); + $7022 = HEAP32[$pDest114>>2]|0; + $7023 = (_sqlite3VdbeMemTooBig($7022)|0); + $7024 = ($7023|0)!=(0); + if ($7024) { + label = 888; break L8; } - $7013 = HEAP32[$rc>>2]|0; - $7014 = ($7013|0)!=(0); - if ($7014) { + $7025 = HEAP32[$rc>>2]|0; + $7026 = ($7025|0)!=(0); + if ($7026) { break L1; } break; } - case 68: { - HEAP32[$res119>>2] = 0; - $7015 = HEAP32[$pOp>>2]|0; - $7016 = ((($7015)) + 4|0); - $7017 = HEAP32[$7016>>2]|0; - $7018 = HEAP32[$0>>2]|0; - $7019 = ((($7018)) + 56|0); - $7020 = HEAP32[$7019>>2]|0; - $7021 = (($7020) + ($7017<<2)|0); - $7022 = HEAP32[$7021>>2]|0; - HEAP32[$pCur120>>2] = $7022; - $7023 = HEAP32[$pCur120>>2]|0; - $7024 = ((($7023)) + 2|0); - $7025 = HEAP8[$7024>>0]|0; - $7026 = ($7025<<24>>24)!=(0); - if (!($7026)) { - $7027 = HEAP32[$pCur120>>2]|0; - $7028 = ((($7027)) + 16|0); - $7029 = HEAP32[$7028>>2]|0; - $7030 = HEAP32[$7029>>2]|0; - HEAP32[$pVtab117>>2] = $7030; - $7031 = HEAP32[$pVtab117>>2]|0; - $7032 = HEAP32[$7031>>2]|0; - HEAP32[$pModule118>>2] = $7032; - $7033 = HEAP32[$pModule118>>2]|0; - $7034 = ((($7033)) + 36|0); - $7035 = HEAP32[$7034>>2]|0; - $7036 = HEAP32[$pCur120>>2]|0; - $7037 = ((($7036)) + 16|0); - $7038 = HEAP32[$7037>>2]|0; - $7039 = (FUNCTION_TABLE_ii[$7035 & 255]($7038)|0); - HEAP32[$rc>>2] = $7039; - $7040 = HEAP32[$0>>2]|0; - $7041 = HEAP32[$pVtab117>>2]|0; - _sqlite3VtabImportErrmsg($7040,$7041); - $7042 = HEAP32[$rc>>2]|0; - $7043 = ($7042|0)!=(0); - if ($7043) { + case 70: { + HEAP32[$res118>>2] = 0; + $7027 = HEAP32[$pOp>>2]|0; + $7028 = ((($7027)) + 4|0); + $7029 = HEAP32[$7028>>2]|0; + $7030 = HEAP32[$0>>2]|0; + $7031 = ((($7030)) + 112|0); + $7032 = HEAP32[$7031>>2]|0; + $7033 = (($7032) + ($7029<<2)|0); + $7034 = HEAP32[$7033>>2]|0; + HEAP32[$pCur119>>2] = $7034; + $7035 = HEAP32[$pCur119>>2]|0; + $7036 = ((($7035)) + 2|0); + $7037 = HEAP8[$7036>>0]|0; + $7038 = ($7037<<24>>24)!=(0); + if (!($7038)) { + $7039 = HEAP32[$pCur119>>2]|0; + $7040 = ((($7039)) + 16|0); + $7041 = HEAP32[$7040>>2]|0; + $7042 = HEAP32[$7041>>2]|0; + HEAP32[$pVtab116>>2] = $7042; + $7043 = HEAP32[$pVtab116>>2]|0; + $7044 = HEAP32[$7043>>2]|0; + HEAP32[$pModule117>>2] = $7044; + $7045 = HEAP32[$pModule117>>2]|0; + $7046 = ((($7045)) + 36|0); + $7047 = HEAP32[$7046>>2]|0; + $7048 = HEAP32[$pCur119>>2]|0; + $7049 = ((($7048)) + 16|0); + $7050 = HEAP32[$7049>>2]|0; + $7051 = (FUNCTION_TABLE_ii[$7047 & 255]($7050)|0); + HEAP32[$rc>>2] = $7051; + $7052 = HEAP32[$0>>2]|0; + $7053 = HEAP32[$pVtab116>>2]|0; + _sqlite3VtabImportErrmsg($7052,$7053); + $7054 = HEAP32[$rc>>2]|0; + $7055 = ($7054|0)!=(0); + if ($7055) { break L1; } - $7044 = HEAP32[$pModule118>>2]|0; - $7045 = ((($7044)) + 40|0); - $7046 = HEAP32[$7045>>2]|0; - $7047 = HEAP32[$pCur120>>2]|0; - $7048 = ((($7047)) + 16|0); - $7049 = HEAP32[$7048>>2]|0; - $7050 = (FUNCTION_TABLE_ii[$7046 & 255]($7049)|0); - HEAP32[$res119>>2] = $7050; - $7051 = HEAP32[$res119>>2]|0; - $7052 = ($7051|0)!=(0); - if ($7052) { + $7056 = HEAP32[$pModule117>>2]|0; + $7057 = ((($7056)) + 40|0); + $7058 = HEAP32[$7057>>2]|0; + $7059 = HEAP32[$pCur119>>2]|0; + $7060 = ((($7059)) + 16|0); + $7061 = HEAP32[$7060>>2]|0; + $7062 = (FUNCTION_TABLE_ii[$7058 & 255]($7061)|0); + HEAP32[$res118>>2] = $7062; + $7063 = HEAP32[$res118>>2]|0; + $7064 = ($7063|0)!=(0); + if ($7064) { label = 8; } else { label = 7; @@ -220462,1058 +224756,1213 @@ function _sqlite3VdbeExec($p) { } break; } - case 155: { - $7053 = HEAP32[$pOp>>2]|0; - $7054 = ((($7053)) + 16|0); - $7055 = HEAP32[$7054>>2]|0; - $7056 = ((($7055)) + 8|0); - $7057 = HEAP32[$7056>>2]|0; - HEAP32[$pVtab121>>2] = $7057; - $7058 = HEAP32[$pOp>>2]|0; - $7059 = ((($7058)) + 4|0); - $7060 = HEAP32[$7059>>2]|0; - $7061 = HEAP32[$aMem>>2]|0; - $7062 = (($7061) + (($7060*40)|0)|0); - HEAP32[$pName>>2] = $7062; - $7063 = HEAP32[$pName>>2]|0; - $7064 = (_sqlite3VdbeChangeEncoding($7063,1)|0); - HEAP32[$rc>>2] = $7064; - $7065 = HEAP32[$rc>>2]|0; - $7066 = ($7065|0)!=(0); - if ($7066) { + case 157: { + $7065 = HEAP32[$pOp>>2]|0; + $7066 = ((($7065)) + 16|0); + $7067 = HEAP32[$7066>>2]|0; + $7068 = ((($7067)) + 8|0); + $7069 = HEAP32[$7068>>2]|0; + HEAP32[$pVtab120>>2] = $7069; + $7070 = HEAP32[$pOp>>2]|0; + $7071 = ((($7070)) + 4|0); + $7072 = HEAP32[$7071>>2]|0; + $7073 = HEAP32[$aMem>>2]|0; + $7074 = (($7073) + (($7072*40)|0)|0); + HEAP32[$pName>>2] = $7074; + $7075 = HEAP32[$pName>>2]|0; + $7076 = (_sqlite3VdbeChangeEncoding($7075,1)|0); + HEAP32[$rc>>2] = $7076; + $7077 = HEAP32[$rc>>2]|0; + $7078 = ($7077|0)!=(0); + if ($7078) { break L1; } - $7067 = HEAP32[$pVtab121>>2]|0; - $7068 = HEAP32[$7067>>2]|0; - $7069 = ((($7068)) + 76|0); - $7070 = HEAP32[$7069>>2]|0; - $7071 = HEAP32[$pVtab121>>2]|0; - $7072 = HEAP32[$pName>>2]|0; - $7073 = ((($7072)) + 16|0); - $7074 = HEAP32[$7073>>2]|0; - $7075 = (FUNCTION_TABLE_iii[$7070 & 255]($7071,$7074)|0); - HEAP32[$rc>>2] = $7075; - $7076 = HEAP32[$0>>2]|0; - $7077 = HEAP32[$pVtab121>>2]|0; - _sqlite3VtabImportErrmsg($7076,$7077); - $7078 = HEAP32[$0>>2]|0; - $7079 = ((($7078)) + 87|0); - $7080 = HEAP8[$7079>>0]|0; - $7081 = $7080 & -2; - HEAP8[$7079>>0] = $7081; - $7082 = HEAP32[$rc>>2]|0; - $7083 = ($7082|0)!=(0); - if ($7083) { + $7079 = HEAP32[$pVtab120>>2]|0; + $7080 = HEAP32[$7079>>2]|0; + $7081 = ((($7080)) + 76|0); + $7082 = HEAP32[$7081>>2]|0; + $7083 = HEAP32[$pVtab120>>2]|0; + $7084 = HEAP32[$pName>>2]|0; + $7085 = ((($7084)) + 16|0); + $7086 = HEAP32[$7085>>2]|0; + $7087 = (FUNCTION_TABLE_iii[$7082 & 255]($7083,$7086)|0); + HEAP32[$rc>>2] = $7087; + $7088 = HEAP32[$0>>2]|0; + $7089 = HEAP32[$pVtab120>>2]|0; + _sqlite3VtabImportErrmsg($7088,$7089); + $7090 = HEAP32[$0>>2]|0; + $7091 = ((($7090)) + 144|0); + $7092 = HEAP16[$7091>>1]|0; + $7093 = $7092 & -2; + HEAP16[$7091>>1] = $7093; + $7094 = HEAP32[$rc>>2]|0; + $7095 = ($7094|0)!=(0); + if ($7095) { break L1; } break; } case 12: { - $7084 = HEAP32[$pOp>>2]|0; - $7085 = ((($7084)) + 16|0); - $7086 = HEAP32[$7085>>2]|0; - $7087 = ((($7086)) + 8|0); - $7088 = HEAP32[$7087>>2]|0; - HEAP32[$pVtab122>>2] = $7088; - $7089 = HEAP32[$pVtab122>>2]|0; - $7090 = ($7089|0)==(0|0); - if ($7090) { - label = 840; + $7096 = HEAP32[$pOp>>2]|0; + $7097 = ((($7096)) + 16|0); + $7098 = HEAP32[$7097>>2]|0; + $7099 = ((($7098)) + 8|0); + $7100 = HEAP32[$7099>>2]|0; + HEAP32[$pVtab121>>2] = $7100; + $7101 = HEAP32[$pVtab121>>2]|0; + $7102 = ($7101|0)==(0|0); + if ($7102) { + label = 839; break L8; } - $7091 = HEAP32[$pVtab122>>2]|0; - $7092 = HEAP32[$7091>>2]|0; - $7093 = ($7092|0)==(0|0); - if ($7093) { - label = 840; + $7103 = HEAP32[$pVtab121>>2]|0; + $7104 = HEAP32[$7103>>2]|0; + $7105 = ($7104|0)==(0|0); + if ($7105) { + label = 839; break L8; } - $7094 = HEAP32[$pVtab122>>2]|0; - $7095 = HEAP32[$7094>>2]|0; - HEAP32[$pModule123>>2] = $7095; - $7096 = HEAP32[$pOp>>2]|0; - $7097 = ((($7096)) + 8|0); - $7098 = HEAP32[$7097>>2]|0; - HEAP32[$nArg124>>2] = $7098; - $7099 = HEAP32[$pModule123>>2]|0; - $7100 = ((($7099)) + 52|0); - $7101 = HEAP32[$7100>>2]|0; - $7102 = ($7101|0)!=(0|0); - if ($7102) { - $7103 = HEAP32[$db>>2]|0; - $7104 = ((($7103)) + 74|0); - $7105 = HEAP8[$7104>>0]|0; - HEAP8[$vtabOnConflict>>0] = $7105; - $7106 = HEAP32[$0>>2]|0; - $7107 = ((($7106)) + 12|0); - $7108 = HEAP32[$7107>>2]|0; - HEAP32[$apArg127>>2] = $7108; - $7109 = HEAP32[$pOp>>2]|0; - $7110 = ((($7109)) + 12|0); - $7111 = HEAP32[$7110>>2]|0; - $7112 = HEAP32[$aMem>>2]|0; - $7113 = (($7112) + (($7111*40)|0)|0); - HEAP32[$pX128>>2] = $7113; - HEAP32[$i125>>2] = 0; + $7106 = HEAP32[$pVtab121>>2]|0; + $7107 = HEAP32[$7106>>2]|0; + HEAP32[$pModule122>>2] = $7107; + $7108 = HEAP32[$pOp>>2]|0; + $7109 = ((($7108)) + 8|0); + $7110 = HEAP32[$7109>>2]|0; + HEAP32[$nArg123>>2] = $7110; + $7111 = HEAP32[$pModule122>>2]|0; + $7112 = ((($7111)) + 52|0); + $7113 = HEAP32[$7112>>2]|0; + $7114 = ($7113|0)!=(0|0); + if ($7114) { + $7115 = HEAP32[$db>>2]|0; + $7116 = ((($7115)) + 74|0); + $7117 = HEAP8[$7116>>0]|0; + HEAP8[$vtabOnConflict>>0] = $7117; + $7118 = HEAP32[$0>>2]|0; + $7119 = ((($7118)) + 96|0); + $7120 = HEAP32[$7119>>2]|0; + HEAP32[$apArg126>>2] = $7120; + $7121 = HEAP32[$pOp>>2]|0; + $7122 = ((($7121)) + 12|0); + $7123 = HEAP32[$7122>>2]|0; + $7124 = HEAP32[$aMem>>2]|0; + $7125 = (($7124) + (($7123*40)|0)|0); + HEAP32[$pX127>>2] = $7125; + HEAP32[$i124>>2] = 0; while(1) { - $7114 = HEAP32[$i125>>2]|0; - $7115 = HEAP32[$nArg124>>2]|0; - $7116 = ($7114|0)<($7115|0); - if (!($7116)) { + $7126 = HEAP32[$i124>>2]|0; + $7127 = HEAP32[$nArg123>>2]|0; + $7128 = ($7126|0)<($7127|0); + if (!($7128)) { break; } - $7117 = HEAP32[$pX128>>2]|0; - $7118 = HEAP32[$i125>>2]|0; - $7119 = HEAP32[$apArg127>>2]|0; - $7120 = (($7119) + ($7118<<2)|0); - HEAP32[$7120>>2] = $7117; - $7121 = HEAP32[$pX128>>2]|0; - $7122 = ((($7121)) + 40|0); - HEAP32[$pX128>>2] = $7122; - $7123 = HEAP32[$i125>>2]|0; - $7124 = (($7123) + 1)|0; - HEAP32[$i125>>2] = $7124; + $7129 = HEAP32[$pX127>>2]|0; + $7130 = HEAP32[$i124>>2]|0; + $7131 = HEAP32[$apArg126>>2]|0; + $7132 = (($7131) + ($7130<<2)|0); + HEAP32[$7132>>2] = $7129; + $7133 = HEAP32[$pX127>>2]|0; + $7134 = ((($7133)) + 40|0); + HEAP32[$pX127>>2] = $7134; + $7135 = HEAP32[$i124>>2]|0; + $7136 = (($7135) + 1)|0; + HEAP32[$i124>>2] = $7136; } - $7125 = HEAP32[$pOp>>2]|0; - $7126 = ((($7125)) + 3|0); - $7127 = HEAP8[$7126>>0]|0; - $7128 = HEAP32[$db>>2]|0; - $7129 = ((($7128)) + 74|0); - HEAP8[$7129>>0] = $7127; - $7130 = HEAP32[$pModule123>>2]|0; - $7131 = ((($7130)) + 52|0); - $7132 = HEAP32[$7131>>2]|0; - $7133 = HEAP32[$pVtab122>>2]|0; - $7134 = HEAP32[$nArg124>>2]|0; - $7135 = HEAP32[$apArg127>>2]|0; - $7136 = (FUNCTION_TABLE_iiiii[$7132 & 255]($7133,$7134,$7135,$rowid126)|0); - HEAP32[$rc>>2] = $7136; - $7137 = HEAP8[$vtabOnConflict>>0]|0; - $7138 = HEAP32[$db>>2]|0; - $7139 = ((($7138)) + 74|0); - HEAP8[$7139>>0] = $7137; - $7140 = HEAP32[$0>>2]|0; - $7141 = HEAP32[$pVtab122>>2]|0; - _sqlite3VtabImportErrmsg($7140,$7141); - $7142 = HEAP32[$rc>>2]|0; - $7143 = ($7142|0)==(0); - if ($7143) { - $7144 = HEAP32[$pOp>>2]|0; - $7145 = ((($7144)) + 4|0); - $7146 = HEAP32[$7145>>2]|0; - $7147 = ($7146|0)!=(0); - if ($7147) { - $7148 = $rowid126; - $7149 = $7148; - $7150 = HEAP32[$7149>>2]|0; - $7151 = (($7148) + 4)|0; - $7152 = $7151; - $7153 = HEAP32[$7152>>2]|0; - $7154 = $lastRowid; - $7155 = $7154; - HEAP32[$7155>>2] = $7150; - $7156 = (($7154) + 4)|0; - $7157 = $7156; - HEAP32[$7157>>2] = $7153; - $7158 = HEAP32[$db>>2]|0; - $7159 = ((($7158)) + 32|0); - $7160 = $7159; + $7137 = HEAP32[$pOp>>2]|0; + $7138 = ((($7137)) + 3|0); + $7139 = HEAP8[$7138>>0]|0; + $7140 = HEAP32[$db>>2]|0; + $7141 = ((($7140)) + 74|0); + HEAP8[$7141>>0] = $7139; + $7142 = HEAP32[$pModule122>>2]|0; + $7143 = ((($7142)) + 52|0); + $7144 = HEAP32[$7143>>2]|0; + $7145 = HEAP32[$pVtab121>>2]|0; + $7146 = HEAP32[$nArg123>>2]|0; + $7147 = HEAP32[$apArg126>>2]|0; + $7148 = (FUNCTION_TABLE_iiiii[$7144 & 255]($7145,$7146,$7147,$rowid125)|0); + HEAP32[$rc>>2] = $7148; + $7149 = HEAP8[$vtabOnConflict>>0]|0; + $7150 = HEAP32[$db>>2]|0; + $7151 = ((($7150)) + 74|0); + HEAP8[$7151>>0] = $7149; + $7152 = HEAP32[$0>>2]|0; + $7153 = HEAP32[$pVtab121>>2]|0; + _sqlite3VtabImportErrmsg($7152,$7153); + $7154 = HEAP32[$rc>>2]|0; + $7155 = ($7154|0)==(0); + if ($7155) { + $7156 = HEAP32[$pOp>>2]|0; + $7157 = ((($7156)) + 4|0); + $7158 = HEAP32[$7157>>2]|0; + $7159 = ($7158|0)!=(0); + if ($7159) { + $7160 = $rowid125; $7161 = $7160; - HEAP32[$7161>>2] = $7150; - $7162 = (($7160) + 4)|0; - $7163 = $7162; - HEAP32[$7163>>2] = $7153; + $7162 = HEAP32[$7161>>2]|0; + $7163 = (($7160) + 4)|0; + $7164 = $7163; + $7165 = HEAP32[$7164>>2]|0; + $7166 = $lastRowid; + $7167 = $7166; + HEAP32[$7167>>2] = $7162; + $7168 = (($7166) + 4)|0; + $7169 = $7168; + HEAP32[$7169>>2] = $7165; + $7170 = HEAP32[$db>>2]|0; + $7171 = ((($7170)) + 32|0); + $7172 = $7171; + $7173 = $7172; + HEAP32[$7173>>2] = $7162; + $7174 = (($7172) + 4)|0; + $7175 = $7174; + HEAP32[$7175>>2] = $7165; } } - $7164 = HEAP32[$rc>>2]|0; - $7165 = $7164 & 255; - $7166 = ($7165|0)==(19); + $7176 = HEAP32[$rc>>2]|0; + $7177 = $7176 & 255; + $7178 = ($7177|0)==(19); do { - if ($7166) { - $7167 = HEAP32[$pOp>>2]|0; - $7168 = ((($7167)) + 16|0); - $7169 = HEAP32[$7168>>2]|0; - $7170 = ((($7169)) + 16|0); - $7171 = HEAP8[$7170>>0]|0; - $7172 = $7171&255; - $7173 = ($7172|0)!=(0); - if ($7173) { - $7174 = HEAP32[$pOp>>2]|0; - $7175 = ((($7174)) + 3|0); - $7176 = HEAP8[$7175>>0]|0; - $7177 = $7176&255; - $7178 = ($7177|0)==(4); - if ($7178) { + if ($7178) { + $7179 = HEAP32[$pOp>>2]|0; + $7180 = ((($7179)) + 16|0); + $7181 = HEAP32[$7180>>2]|0; + $7182 = ((($7181)) + 16|0); + $7183 = HEAP8[$7182>>0]|0; + $7184 = $7183&255; + $7185 = ($7184|0)!=(0); + if ($7185) { + $7186 = HEAP32[$pOp>>2]|0; + $7187 = ((($7186)) + 3|0); + $7188 = HEAP8[$7187>>0]|0; + $7189 = $7188&255; + $7190 = ($7189|0)==(4); + if ($7190) { HEAP32[$rc>>2] = 0; break; } - $7179 = HEAP32[$pOp>>2]|0; - $7180 = ((($7179)) + 3|0); - $7181 = HEAP8[$7180>>0]|0; - $7182 = $7181&255; - $7183 = ($7182|0)==(5); - if ($7183) { - $7189 = 2; + $7191 = HEAP32[$pOp>>2]|0; + $7192 = ((($7191)) + 3|0); + $7193 = HEAP8[$7192>>0]|0; + $7194 = $7193&255; + $7195 = ($7194|0)==(5); + if ($7195) { + $7201 = 2; } else { - $7184 = HEAP32[$pOp>>2]|0; - $7185 = ((($7184)) + 3|0); - $7186 = HEAP8[$7185>>0]|0; - $7187 = $7186&255; - $7189 = $7187; + $7196 = HEAP32[$pOp>>2]|0; + $7197 = ((($7196)) + 3|0); + $7198 = HEAP8[$7197>>0]|0; + $7199 = $7198&255; + $7201 = $7199; } - $7188 = $7189&255; - $7190 = HEAP32[$0>>2]|0; - $7191 = ((($7190)) + 86|0); - HEAP8[$7191>>0] = $7188; + $7200 = $7201&255; + $7202 = HEAP32[$0>>2]|0; + $7203 = ((($7202)) + 142|0); + HEAP8[$7203>>0] = $7200; } else { - label = 855; + label = 854; } } else { - label = 855; + label = 854; } } while(0); - if ((label|0) == 855) { + if ((label|0) == 854) { label = 0; - $7192 = HEAP32[$0>>2]|0; - $7193 = ((($7192)) + 92|0); - $7194 = HEAP32[$7193>>2]|0; - $7195 = (($7194) + 1)|0; - HEAP32[$7193>>2] = $7195; + $7204 = HEAP32[$0>>2]|0; + $7205 = ((($7204)) + 44|0); + $7206 = HEAP32[$7205>>2]|0; + $7207 = (($7206) + 1)|0; + HEAP32[$7205>>2] = $7207; } - $7196 = HEAP32[$rc>>2]|0; - $7197 = ($7196|0)!=(0); - if ($7197) { + $7208 = HEAP32[$rc>>2]|0; + $7209 = ($7208|0)!=(0); + if ($7209) { break L1; } } break; } - case 156: { - $7198 = HEAP32[$0>>2]|0; - $7199 = HEAP32[$pOp>>2]|0; - $7200 = (_out2Prerelease($7198,$7199)|0); - HEAP32[$pOut>>2] = $7200; - $7201 = HEAP32[$pOp>>2]|0; - $7202 = ((($7201)) + 4|0); - $7203 = HEAP32[$7202>>2]|0; - $7204 = HEAP32[$db>>2]|0; - $7205 = ((($7204)) + 16|0); - $7206 = HEAP32[$7205>>2]|0; - $7207 = (($7206) + ($7203<<4)|0); - $7208 = ((($7207)) + 4|0); - $7209 = HEAP32[$7208>>2]|0; - $7210 = (_sqlite3BtreeLastPage($7209)|0); - $7211 = HEAP32[$pOut>>2]|0; - $7212 = $7211; - $7213 = $7212; - HEAP32[$7213>>2] = $7210; - $7214 = (($7212) + 4)|0; - $7215 = $7214; - HEAP32[$7215>>2] = 0; - break; - } - case 157: { - $7216 = HEAP32[$0>>2]|0; - $7217 = HEAP32[$pOp>>2]|0; - $7218 = (_out2Prerelease($7216,$7217)|0); - HEAP32[$pOut>>2] = $7218; - $7219 = HEAP32[$pOp>>2]|0; + case 158: { + $7210 = HEAP32[$0>>2]|0; + $7211 = HEAP32[$pOp>>2]|0; + $7212 = (_out2Prerelease($7210,$7211)|0); + HEAP32[$pOut>>2] = $7212; + $7213 = HEAP32[$pOp>>2]|0; + $7214 = ((($7213)) + 4|0); + $7215 = HEAP32[$7214>>2]|0; + $7216 = HEAP32[$db>>2]|0; + $7217 = ((($7216)) + 16|0); + $7218 = HEAP32[$7217>>2]|0; + $7219 = (($7218) + ($7215<<4)|0); $7220 = ((($7219)) + 4|0); $7221 = HEAP32[$7220>>2]|0; - $7222 = HEAP32[$db>>2]|0; - $7223 = ((($7222)) + 16|0); - $7224 = HEAP32[$7223>>2]|0; - $7225 = (($7224) + ($7221<<4)|0); - $7226 = ((($7225)) + 4|0); - $7227 = HEAP32[$7226>>2]|0; - HEAP32[$pBt129>>2] = $7227; + $7222 = (_sqlite3BtreeLastPage($7221)|0); + $7223 = HEAP32[$pOut>>2]|0; + $7224 = $7223; + $7225 = $7224; + HEAP32[$7225>>2] = $7222; + $7226 = (($7224) + 4)|0; + $7227 = $7226; + HEAP32[$7227>>2] = 0; + break; + } + case 159: { + $7228 = HEAP32[$0>>2]|0; + $7229 = HEAP32[$pOp>>2]|0; + $7230 = (_out2Prerelease($7228,$7229)|0); + HEAP32[$pOut>>2] = $7230; + $7231 = HEAP32[$pOp>>2]|0; + $7232 = ((($7231)) + 4|0); + $7233 = HEAP32[$7232>>2]|0; + $7234 = HEAP32[$db>>2]|0; + $7235 = ((($7234)) + 16|0); + $7236 = HEAP32[$7235>>2]|0; + $7237 = (($7236) + ($7233<<4)|0); + $7238 = ((($7237)) + 4|0); + $7239 = HEAP32[$7238>>2]|0; + HEAP32[$pBt128>>2] = $7239; HEAP32[$newMax>>2] = 0; - $7228 = HEAP32[$pOp>>2]|0; - $7229 = ((($7228)) + 12|0); - $7230 = HEAP32[$7229>>2]|0; - $7231 = ($7230|0)!=(0); - if ($7231) { - $7232 = HEAP32[$pBt129>>2]|0; - $7233 = (_sqlite3BtreeLastPage($7232)|0); - HEAP32[$newMax>>2] = $7233; - $7234 = HEAP32[$newMax>>2]|0; - $7235 = HEAP32[$pOp>>2]|0; - $7236 = ((($7235)) + 12|0); - $7237 = HEAP32[$7236>>2]|0; - $7238 = ($7234>>>0)<($7237>>>0); - if ($7238) { - $7239 = HEAP32[$pOp>>2]|0; - $7240 = ((($7239)) + 12|0); - $7241 = HEAP32[$7240>>2]|0; - HEAP32[$newMax>>2] = $7241; + $7240 = HEAP32[$pOp>>2]|0; + $7241 = ((($7240)) + 12|0); + $7242 = HEAP32[$7241>>2]|0; + $7243 = ($7242|0)!=(0); + if ($7243) { + $7244 = HEAP32[$pBt128>>2]|0; + $7245 = (_sqlite3BtreeLastPage($7244)|0); + HEAP32[$newMax>>2] = $7245; + $7246 = HEAP32[$newMax>>2]|0; + $7247 = HEAP32[$pOp>>2]|0; + $7248 = ((($7247)) + 12|0); + $7249 = HEAP32[$7248>>2]|0; + $7250 = ($7246>>>0)<($7249>>>0); + if ($7250) { + $7251 = HEAP32[$pOp>>2]|0; + $7252 = ((($7251)) + 12|0); + $7253 = HEAP32[$7252>>2]|0; + HEAP32[$newMax>>2] = $7253; } } - $7242 = HEAP32[$pBt129>>2]|0; - $7243 = HEAP32[$newMax>>2]|0; - $7244 = (_sqlite3BtreeMaxPageCount($7242,$7243)|0); - $7245 = ($7244|0)<(0); - $7246 = $7245 << 31 >> 31; - $7247 = HEAP32[$pOut>>2]|0; - $7248 = $7247; - $7249 = $7248; - HEAP32[$7249>>2] = $7244; - $7250 = (($7248) + 4)|0; - $7251 = $7250; - HEAP32[$7251>>2] = $7246; + $7254 = HEAP32[$pBt128>>2]|0; + $7255 = HEAP32[$newMax>>2]|0; + $7256 = (_sqlite3BtreeMaxPageCount($7254,$7255)|0); + $7257 = ($7256|0)<(0); + $7258 = $7257 << 31 >> 31; + $7259 = HEAP32[$pOut>>2]|0; + $7260 = $7259; + $7261 = $7260; + HEAP32[$7261>>2] = $7256; + $7262 = (($7260) + 4)|0; + $7263 = $7262; + HEAP32[$7263>>2] = $7258; break; } - case 69: { - $7252 = HEAP32[$db>>2]|0; - $7253 = ((($7252)) + 180|0); - $7254 = HEAP32[$7253>>2]|0; - $7255 = ($7254|0)!=(0|0); - if ($7255) { - $7256 = HEAP32[$0>>2]|0; - $7257 = ((($7256)) + 87|0); - $7258 = HEAP8[$7257>>0]|0; - $7259 = ($7258&255) >>> 1; - $7260 = $7259 & 1; - $7261 = $7260&255; - $7262 = ($7261|0)!=(0); - if (!($7262)) { - $7263 = HEAP32[$pOp>>2]|0; - $7264 = ((($7263)) + 16|0); - $7265 = HEAP32[$7264>>2]|0; - $7266 = ($7265|0)!=(0|0); - if ($7266) { - $7267 = HEAP32[$pOp>>2]|0; - $7268 = ((($7267)) + 16|0); - $7269 = HEAP32[$7268>>2]|0; - $7273 = $7269; - } else { - $7270 = HEAP32[$0>>2]|0; - $7271 = ((($7270)) + 168|0); - $7272 = HEAP32[$7271>>2]|0; - $7273 = $7272; + case 71: { + $7264 = HEAP32[$db>>2]|0; + $7265 = ((($7264)) + 76|0); + $7266 = HEAP8[$7265>>0]|0; + $7267 = $7266&255; + $7268 = $7267 & 129; + $7269 = ($7268|0)!=(0); + do { + if ($7269) { + $7270 = HEAP32[$0>>2]|0; + $7271 = ((($7270)) + 144|0); + $7272 = HEAP16[$7271>>1]|0; + $7273 = ($7272&65535) >>> 1; + $7274 = $7273 & 1; + $7275 = $7274&65535; + $7276 = ($7275|0)!=(0); + if (!($7276)) { + $7277 = HEAP32[$pOp>>2]|0; + $7278 = ((($7277)) + 16|0); + $7279 = HEAP32[$7278>>2]|0; + $7280 = ($7279|0)!=(0|0); + if ($7280) { + $7281 = HEAP32[$pOp>>2]|0; + $7282 = ((($7281)) + 16|0); + $7283 = HEAP32[$7282>>2]|0; + $7287 = $7283; + } else { + $7284 = HEAP32[$0>>2]|0; + $7285 = ((($7284)) + 176|0); + $7286 = HEAP32[$7285>>2]|0; + $7287 = $7286; + } + HEAP32[$zTrace>>2] = $7287; + $7288 = ($7287|0)!=(0|0); + if ($7288) { + $7289 = HEAP32[$db>>2]|0; + $7290 = ((($7289)) + 76|0); + $7291 = HEAP8[$7290>>0]|0; + $7292 = $7291&255; + $7293 = $7292 & 128; + $7294 = ($7293|0)!=(0); + $7295 = HEAP32[$db>>2]|0; + $7296 = ((($7295)) + 184|0); + $7297 = HEAP32[$7296>>2]|0; + if ($7294) { + HEAP32[$x130>>2] = $7297; + $7298 = HEAP32[$0>>2]|0; + $7299 = HEAP32[$zTrace>>2]|0; + $7300 = (_sqlite3VdbeExpandSql($7298,$7299)|0); + HEAP32[$z131>>2] = $7300; + $7301 = HEAP32[$x130>>2]|0; + $7302 = HEAP32[$db>>2]|0; + $7303 = ((($7302)) + 188|0); + $7304 = HEAP32[$7303>>2]|0; + $7305 = HEAP32[$z131>>2]|0; + FUNCTION_TABLE_vii[$7301 & 255]($7304,$7305); + $7306 = HEAP32[$z131>>2]|0; + _sqlite3_free($7306); + break; + } else { + $7307 = HEAP32[$db>>2]|0; + $7308 = ((($7307)) + 188|0); + $7309 = HEAP32[$7308>>2]|0; + $7310 = HEAP32[$0>>2]|0; + $7311 = HEAP32[$zTrace>>2]|0; + (FUNCTION_TABLE_iiiii[$7297 & 255](1,$7309,$7310,$7311)|0); + break; + } + } + } + } + } while(0); + $7312 = HEAP32[$pOp>>2]|0; + $7313 = ((($7312)) + 4|0); + $7314 = HEAP32[$7313>>2]|0; + $7315 = HEAP32[(280)>>2]|0; + $7316 = ($7314|0)>=($7315|0); + if ($7316) { + HEAP32[$i129>>2] = 1; + while(1) { + $7317 = HEAP32[$i129>>2]|0; + $7318 = HEAP32[$0>>2]|0; + $7319 = ((($7318)) + 136|0); + $7320 = HEAP32[$7319>>2]|0; + $7321 = ($7317|0)<($7320|0); + if (!($7321)) { + break; } - HEAP32[$zTrace>>2] = $7273; - $7274 = ($7273|0)!=(0|0); - if ($7274) { - $7275 = HEAP32[$0>>2]|0; - $7276 = HEAP32[$zTrace>>2]|0; - $7277 = (_sqlite3VdbeExpandSql($7275,$7276)|0); - HEAP32[$z130>>2] = $7277; - $7278 = HEAP32[$db>>2]|0; - $7279 = ((($7278)) + 180|0); - $7280 = HEAP32[$7279>>2]|0; - $7281 = HEAP32[$db>>2]|0; - $7282 = ((($7281)) + 184|0); - $7283 = HEAP32[$7282>>2]|0; - $7284 = HEAP32[$z130>>2]|0; - FUNCTION_TABLE_vii[$7280 & 255]($7283,$7284); - $7285 = HEAP32[$db>>2]|0; - $7286 = HEAP32[$z130>>2]|0; - _sqlite3DbFree($7285,$7286); + $7322 = HEAP32[$i129>>2]|0; + $7323 = HEAP32[$0>>2]|0; + $7324 = ((($7323)) + 88|0); + $7325 = HEAP32[$7324>>2]|0; + $7326 = (($7325) + (($7322*20)|0)|0); + $7327 = HEAP8[$7326>>0]|0; + $7328 = $7327&255; + $7329 = ($7328|0)==(20); + if ($7329) { + $7330 = HEAP32[$i129>>2]|0; + $7331 = HEAP32[$0>>2]|0; + $7332 = ((($7331)) + 88|0); + $7333 = HEAP32[$7332>>2]|0; + $7334 = (($7333) + (($7330*20)|0)|0); + $7335 = ((($7334)) + 4|0); + HEAP32[$7335>>2] = 0; } + $7336 = HEAP32[$i129>>2]|0; + $7337 = (($7336) + 1)|0; + HEAP32[$i129>>2] = $7337; } + $7338 = HEAP32[$pOp>>2]|0; + $7339 = ((($7338)) + 4|0); + HEAP32[$7339>>2] = 0; } - $7287 = HEAP32[$pOp>>2]|0; - $7288 = ((($7287)) + 8|0); - $7289 = HEAP32[$7288>>2]|0; - $7290 = ($7289|0)!=(0); - if ($7290) { - label = 14; - } + $7340 = HEAP32[$pOp>>2]|0; + $7341 = ((($7340)) + 4|0); + $7342 = HEAP32[$7341>>2]|0; + $7343 = (($7342) + 1)|0; + HEAP32[$7341>>2] = $7343; + label = 14; break; } default: { } } } while(0); - if ((label|0) == 20) { - label = 0; - $237 = HEAP32[$pOp>>2]|0; - $238 = HEAP32[$aOp>>2]|0; - $239 = $237; - $240 = $238; - $241 = (($239) - ($240))|0; - $242 = (($241|0) / 20)&-1; - HEAP32[$pcx>>2] = $242; - $243 = HEAP32[$pOp>>2]|0; - $244 = ((($243)) + 4|0); - $245 = HEAP32[$244>>2]|0; - $246 = ($245|0)==(0); - if (!($246)) { - label = 25; - break; - } - $247 = HEAP32[$0>>2]|0; - $248 = ((($247)) + 176|0); - $249 = HEAP32[$248>>2]|0; - $250 = ($249|0)!=(0|0); - if (!($250)) { - label = 25; - break; - } - $251 = HEAP32[$0>>2]|0; - $252 = ((($251)) + 176|0); - $253 = HEAP32[$252>>2]|0; - HEAP32[$pFrame>>2] = $253; - $254 = HEAP32[$pFrame>>2]|0; - $255 = ((($254)) + 4|0); - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$0>>2]|0; - $258 = ((($257)) + 176|0); - HEAP32[$258>>2] = $256; - $259 = HEAP32[$0>>2]|0; - $260 = ((($259)) + 184|0); - $261 = HEAP32[$260>>2]|0; - $262 = (($261) + -1)|0; - HEAP32[$260>>2] = $262; - $263 = HEAP32[$db>>2]|0; - $264 = HEAP32[$0>>2]|0; - $265 = ((($264)) + 92|0); - $266 = HEAP32[$265>>2]|0; - _sqlite3VdbeSetChanges($263,$266); - $267 = HEAP32[$pFrame>>2]|0; - $268 = (_sqlite3VdbeFrameRestore($267)|0); - HEAP32[$pcx>>2] = $268; - $269 = HEAP32[$db>>2]|0; - $270 = ((($269)) + 32|0); - $271 = $270; - $272 = $271; - $273 = HEAP32[$272>>2]|0; - $274 = (($271) + 4)|0; - $275 = $274; - $276 = HEAP32[$275>>2]|0; - $277 = $lastRowid; - $278 = $277; - HEAP32[$278>>2] = $273; - $279 = (($277) + 4)|0; - $280 = $279; - HEAP32[$280>>2] = $276; - $281 = HEAP32[$pOp>>2]|0; - $282 = ((($281)) + 8|0); - $283 = HEAP32[$282>>2]|0; - $284 = ($283|0)==(4); - if ($284) { - $285 = HEAP32[$pcx>>2]|0; - $286 = HEAP32[$0>>2]|0; - $287 = ((($286)) + 4|0); - $288 = HEAP32[$287>>2]|0; - $289 = (($288) + (($285*20)|0)|0); - $290 = ((($289)) + 8|0); - $291 = HEAP32[$290>>2]|0; - $292 = (($291) - 1)|0; - HEAP32[$pcx>>2] = $292; + do { + if ((label|0) == 20) { + label = 0; + $237 = HEAP32[$pOp>>2]|0; + $238 = HEAP32[$aOp>>2]|0; + $239 = $237; + $240 = $238; + $241 = (($239) - ($240))|0; + $242 = (($241|0) / 20)&-1; + HEAP32[$pcx>>2] = $242; + $243 = HEAP32[$pOp>>2]|0; + $244 = ((($243)) + 4|0); + $245 = HEAP32[$244>>2]|0; + $246 = ($245|0)==(0); + if (!($246)) { + label = 25; + break L8; + } + $247 = HEAP32[$0>>2]|0; + $248 = ((($247)) + 184|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($249|0)!=(0|0); + if (!($250)) { + label = 25; + break L8; + } + $251 = HEAP32[$0>>2]|0; + $252 = ((($251)) + 184|0); + $253 = HEAP32[$252>>2]|0; + HEAP32[$pFrame>>2] = $253; + $254 = HEAP32[$pFrame>>2]|0; + $255 = ((($254)) + 4|0); + $256 = HEAP32[$255>>2]|0; + $257 = HEAP32[$0>>2]|0; + $258 = ((($257)) + 184|0); + HEAP32[$258>>2] = $256; + $259 = HEAP32[$0>>2]|0; + $260 = ((($259)) + 192|0); + $261 = HEAP32[$260>>2]|0; + $262 = (($261) + -1)|0; + HEAP32[$260>>2] = $262; + $263 = HEAP32[$db>>2]|0; + $264 = HEAP32[$0>>2]|0; + $265 = ((($264)) + 44|0); + $266 = HEAP32[$265>>2]|0; + _sqlite3VdbeSetChanges($263,$266); + $267 = HEAP32[$pFrame>>2]|0; + $268 = (_sqlite3VdbeFrameRestore($267)|0); + HEAP32[$pcx>>2] = $268; + $269 = HEAP32[$db>>2]|0; + $270 = ((($269)) + 32|0); + $271 = $270; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = (($271) + 4)|0; + $275 = $274; + $276 = HEAP32[$275>>2]|0; + $277 = $lastRowid; + $278 = $277; + HEAP32[$278>>2] = $273; + $279 = (($277) + 4)|0; + $280 = $279; + HEAP32[$280>>2] = $276; + $281 = HEAP32[$pOp>>2]|0; + $282 = ((($281)) + 8|0); + $283 = HEAP32[$282>>2]|0; + $284 = ($283|0)==(4); + if ($284) { + $285 = HEAP32[$pcx>>2]|0; + $286 = HEAP32[$0>>2]|0; + $287 = ((($286)) + 88|0); + $288 = HEAP32[$287>>2]|0; + $289 = (($288) + (($285*20)|0)|0); + $290 = ((($289)) + 8|0); + $291 = HEAP32[$290>>2]|0; + $292 = (($291) - 1)|0; + HEAP32[$pcx>>2] = $292; + } + $293 = HEAP32[$0>>2]|0; + $294 = ((($293)) + 88|0); + $295 = HEAP32[$294>>2]|0; + HEAP32[$aOp>>2] = $295; + $296 = HEAP32[$0>>2]|0; + $297 = ((($296)) + 92|0); + $298 = HEAP32[$297>>2]|0; + HEAP32[$aMem>>2] = $298; + $299 = HEAP32[$pcx>>2]|0; + $300 = HEAP32[$aOp>>2]|0; + $301 = (($300) + (($299*20)|0)|0); + HEAP32[$pOp>>2] = $301; } - $293 = HEAP32[$0>>2]|0; - $294 = ((($293)) + 4|0); - $295 = HEAP32[$294>>2]|0; - HEAP32[$aOp>>2] = $295; - $296 = HEAP32[$0>>2]|0; - $297 = ((($296)) + 8|0); - $298 = HEAP32[$297>>2]|0; - HEAP32[$aMem>>2] = $298; - $299 = HEAP32[$pcx>>2]|0; - $300 = HEAP32[$aOp>>2]|0; - $301 = (($300) + (($299*20)|0)|0); - HEAP32[$pOp>>2] = $301; - } - else if ((label|0) == 43) { - label = 0; - $466 = HEAP32[$0>>2]|0; - $467 = HEAP32[$pOp>>2]|0; - $468 = (_out2Prerelease($466,$467)|0); - HEAP32[$pOut>>2] = $468; - $469 = HEAP32[$pOut>>2]|0; - $470 = ((($469)) + 8|0); - HEAP16[$470>>1] = 2562; - $471 = HEAP32[$pOp>>2]|0; - $472 = ((($471)) + 16|0); - $473 = HEAP32[$472>>2]|0; - $474 = HEAP32[$pOut>>2]|0; - $475 = ((($474)) + 16|0); - HEAP32[$475>>2] = $473; - $476 = HEAP32[$pOp>>2]|0; - $477 = ((($476)) + 4|0); - $478 = HEAP32[$477>>2]|0; - $479 = HEAP32[$pOut>>2]|0; - $480 = ((($479)) + 12|0); - HEAP32[$480>>2] = $478; - $481 = HEAP8[$encoding>>0]|0; - $482 = HEAP32[$pOut>>2]|0; - $483 = ((($482)) + 10|0); - HEAP8[$483>>0] = $481; - $484 = HEAP32[$pOp>>2]|0; - $485 = ((($484)) + 12|0); - $486 = HEAP32[$485>>2]|0; - $487 = ($486|0)>(0); - if ($487) { - $488 = HEAP32[$pOp>>2]|0; - $489 = ((($488)) + 12|0); - $490 = HEAP32[$489>>2]|0; - $491 = HEAP32[$aMem>>2]|0; - $492 = (($491) + (($490*40)|0)|0); - HEAP32[$pIn3>>2] = $492; - $493 = HEAP32[$pIn3>>2]|0; - $494 = $493; - $495 = $494; - $496 = HEAP32[$495>>2]|0; - $497 = (($494) + 4)|0; - $498 = $497; - $499 = HEAP32[$498>>2]|0; - $500 = HEAP32[$pOp>>2]|0; - $501 = ((($500)) + 3|0); - $502 = HEAP8[$501>>0]|0; - $503 = $502&255; - $504 = ($496|0)==($503|0); - $505 = ($499|0)==(0); - $506 = $504 & $505; - if ($506) { - $507 = HEAP32[$pOut>>2]|0; - $508 = ((($507)) + 8|0); - HEAP16[$508>>1] = 2576; + else if ((label|0) == 43) { + label = 0; + $466 = HEAP32[$0>>2]|0; + $467 = HEAP32[$pOp>>2]|0; + $468 = (_out2Prerelease($466,$467)|0); + HEAP32[$pOut>>2] = $468; + $469 = HEAP32[$pOut>>2]|0; + $470 = ((($469)) + 8|0); + HEAP16[$470>>1] = 2562; + $471 = HEAP32[$pOp>>2]|0; + $472 = ((($471)) + 16|0); + $473 = HEAP32[$472>>2]|0; + $474 = HEAP32[$pOut>>2]|0; + $475 = ((($474)) + 16|0); + HEAP32[$475>>2] = $473; + $476 = HEAP32[$pOp>>2]|0; + $477 = ((($476)) + 4|0); + $478 = HEAP32[$477>>2]|0; + $479 = HEAP32[$pOut>>2]|0; + $480 = ((($479)) + 12|0); + HEAP32[$480>>2] = $478; + $481 = HEAP8[$encoding>>0]|0; + $482 = HEAP32[$pOut>>2]|0; + $483 = ((($482)) + 10|0); + HEAP8[$483>>0] = $481; + $484 = HEAP32[$pOp>>2]|0; + $485 = ((($484)) + 12|0); + $486 = HEAP32[$485>>2]|0; + $487 = ($486|0)>(0); + if ($487) { + $488 = HEAP32[$pOp>>2]|0; + $489 = ((($488)) + 12|0); + $490 = HEAP32[$489>>2]|0; + $491 = HEAP32[$aMem>>2]|0; + $492 = (($491) + (($490*40)|0)|0); + HEAP32[$pIn3>>2] = $492; + $493 = HEAP32[$pIn3>>2]|0; + $494 = $493; + $495 = $494; + $496 = HEAP32[$495>>2]|0; + $497 = (($494) + 4)|0; + $498 = $497; + $499 = HEAP32[$498>>2]|0; + $500 = HEAP32[$pOp>>2]|0; + $501 = ((($500)) + 3|0); + $502 = HEAP8[$501>>0]|0; + $503 = $502&255; + $504 = ($496|0)==($503|0); + $505 = ($499|0)==(0); + $506 = $504 & $505; + if ($506) { + $507 = HEAP32[$pOut>>2]|0; + $508 = ((($507)) + 8|0); + HEAP16[$508>>1] = 2576; + } } } - } - else if ((label|0) == 124) { - label = 0; - $1264 = HEAP32[$pOp>>2]|0; - $1265 = ((($1264)) + 16|0); - $1266 = HEAP32[$1265>>2]|0; - HEAP32[$pCtx4>>2] = $1266; - $1267 = HEAP32[$pOp>>2]|0; - $1268 = ((($1267)) + 12|0); - $1269 = HEAP32[$1268>>2]|0; - $1270 = HEAP32[$aMem>>2]|0; - $1271 = (($1270) + (($1269*40)|0)|0); - HEAP32[$pOut>>2] = $1271; - $1272 = HEAP32[$pCtx4>>2]|0; - $1273 = HEAP32[$1272>>2]|0; - $1274 = HEAP32[$pOut>>2]|0; - $1275 = ($1273|0)!=($1274|0); - L976: do { - if ($1275) { - $1276 = HEAP32[$pOut>>2]|0; - $1277 = HEAP32[$pCtx4>>2]|0; - HEAP32[$1277>>2] = $1276; - $1278 = HEAP32[$pCtx4>>2]|0; - $1279 = ((($1278)) + 26|0); - $1280 = HEAP8[$1279>>0]|0; - $1281 = $1280&255; - $1282 = (($1281) - 1)|0; - HEAP32[$i3>>2] = $1282; - while(1) { - $1283 = HEAP32[$i3>>2]|0; - $1284 = ($1283|0)>=(0); - if (!($1284)) { - break L976; + else if ((label|0) == 126) { + label = 0; + $1281 = HEAP32[$pOp>>2]|0; + $1282 = ((($1281)) + 16|0); + $1283 = HEAP32[$1282>>2]|0; + HEAP32[$pCtx4>>2] = $1283; + $1284 = HEAP32[$pOp>>2]|0; + $1285 = ((($1284)) + 12|0); + $1286 = HEAP32[$1285>>2]|0; + $1287 = HEAP32[$aMem>>2]|0; + $1288 = (($1287) + (($1286*40)|0)|0); + HEAP32[$pOut>>2] = $1288; + $1289 = HEAP32[$pCtx4>>2]|0; + $1290 = HEAP32[$1289>>2]|0; + $1291 = HEAP32[$pOut>>2]|0; + $1292 = ($1290|0)!=($1291|0); + L981: do { + if ($1292) { + $1293 = HEAP32[$pOut>>2]|0; + $1294 = HEAP32[$pCtx4>>2]|0; + HEAP32[$1294>>2] = $1293; + $1295 = HEAP32[$pCtx4>>2]|0; + $1296 = ((($1295)) + 26|0); + $1297 = HEAP8[$1296>>0]|0; + $1298 = $1297&255; + $1299 = (($1298) - 1)|0; + HEAP32[$i3>>2] = $1299; + while(1) { + $1300 = HEAP32[$i3>>2]|0; + $1301 = ($1300|0)>=(0); + if (!($1301)) { + break L981; + } + $1302 = HEAP32[$pOp>>2]|0; + $1303 = ((($1302)) + 8|0); + $1304 = HEAP32[$1303>>2]|0; + $1305 = HEAP32[$i3>>2]|0; + $1306 = (($1304) + ($1305))|0; + $1307 = HEAP32[$aMem>>2]|0; + $1308 = (($1307) + (($1306*40)|0)|0); + $1309 = HEAP32[$i3>>2]|0; + $1310 = HEAP32[$pCtx4>>2]|0; + $1311 = ((($1310)) + 28|0); + $1312 = (($1311) + ($1309<<2)|0); + HEAP32[$1312>>2] = $1308; + $1313 = HEAP32[$i3>>2]|0; + $1314 = (($1313) + -1)|0; + HEAP32[$i3>>2] = $1314; } - $1285 = HEAP32[$pOp>>2]|0; - $1286 = ((($1285)) + 8|0); - $1287 = HEAP32[$1286>>2]|0; - $1288 = HEAP32[$i3>>2]|0; - $1289 = (($1287) + ($1288))|0; - $1290 = HEAP32[$aMem>>2]|0; - $1291 = (($1290) + (($1289*40)|0)|0); - $1292 = HEAP32[$i3>>2]|0; - $1293 = HEAP32[$pCtx4>>2]|0; - $1294 = ((($1293)) + 28|0); - $1295 = (($1294) + ($1292<<2)|0); - HEAP32[$1295>>2] = $1291; - $1296 = HEAP32[$i3>>2]|0; - $1297 = (($1296) + -1)|0; - HEAP32[$i3>>2] = $1297; + } + } while(0); + $1315 = HEAP32[$pCtx4>>2]|0; + $1316 = HEAP32[$1315>>2]|0; + $1317 = ((($1316)) + 8|0); + $1318 = HEAP16[$1317>>1]|0; + $1319 = $1318&65535; + $1320 = $1319 & -49664; + $1321 = $1320 | 1; + $1322 = $1321&65535; + $1323 = HEAP32[$pCtx4>>2]|0; + $1324 = HEAP32[$1323>>2]|0; + $1325 = ((($1324)) + 8|0); + HEAP16[$1325>>1] = $1322; + $1326 = HEAP32[$pCtx4>>2]|0; + $1327 = ((($1326)) + 25|0); + HEAP8[$1327>>0] = 0; + $1328 = $lastRowid; + $1329 = $1328; + $1330 = HEAP32[$1329>>2]|0; + $1331 = (($1328) + 4)|0; + $1332 = $1331; + $1333 = HEAP32[$1332>>2]|0; + $1334 = HEAP32[$db>>2]|0; + $1335 = ((($1334)) + 32|0); + $1336 = $1335; + $1337 = $1336; + HEAP32[$1337>>2] = $1330; + $1338 = (($1336) + 4)|0; + $1339 = $1338; + HEAP32[$1339>>2] = $1333; + $1340 = HEAP32[$pCtx4>>2]|0; + $1341 = ((($1340)) + 4|0); + $1342 = HEAP32[$1341>>2]|0; + $1343 = ((($1342)) + 12|0); + $1344 = HEAP32[$1343>>2]|0; + $1345 = HEAP32[$pCtx4>>2]|0; + $1346 = HEAP32[$pCtx4>>2]|0; + $1347 = ((($1346)) + 26|0); + $1348 = HEAP8[$1347>>0]|0; + $1349 = $1348&255; + $1350 = HEAP32[$pCtx4>>2]|0; + $1351 = ((($1350)) + 28|0); + FUNCTION_TABLE_viii[$1344 & 255]($1345,$1349,$1351); + $1352 = HEAP32[$db>>2]|0; + $1353 = ((($1352)) + 32|0); + $1354 = $1353; + $1355 = $1354; + $1356 = HEAP32[$1355>>2]|0; + $1357 = (($1354) + 4)|0; + $1358 = $1357; + $1359 = HEAP32[$1358>>2]|0; + $1360 = $lastRowid; + $1361 = $1360; + HEAP32[$1361>>2] = $1356; + $1362 = (($1360) + 4)|0; + $1363 = $1362; + HEAP32[$1363>>2] = $1359; + $1364 = HEAP32[$pCtx4>>2]|0; + $1365 = ((($1364)) + 25|0); + $1366 = HEAP8[$1365>>0]|0; + $1367 = ($1366<<24>>24)!=(0); + if ($1367) { + $1368 = HEAP32[$pCtx4>>2]|0; + $1369 = ((($1368)) + 20|0); + $1370 = HEAP32[$1369>>2]|0; + $1371 = ($1370|0)!=(0); + if ($1371) { + $1372 = HEAP32[$0>>2]|0; + $1373 = HEAP32[$pCtx4>>2]|0; + $1374 = HEAP32[$1373>>2]|0; + $1375 = (_sqlite3_value_text($1374)|0); + HEAP32[$vararg_buffer44>>2] = $1375; + _sqlite3VdbeError($1372,18391,$vararg_buffer44); + $1376 = HEAP32[$pCtx4>>2]|0; + $1377 = ((($1376)) + 20|0); + $1378 = HEAP32[$1377>>2]|0; + HEAP32[$rc>>2] = $1378; + } + $1379 = HEAP32[$db>>2]|0; + $1380 = HEAP32[$0>>2]|0; + $1381 = ((($1380)) + 204|0); + $1382 = HEAP32[$pCtx4>>2]|0; + $1383 = ((($1382)) + 16|0); + $1384 = HEAP32[$1383>>2]|0; + $1385 = HEAP32[$pOp>>2]|0; + $1386 = ((($1385)) + 4|0); + $1387 = HEAP32[$1386>>2]|0; + _sqlite3VdbeDeleteAuxData($1379,$1381,$1384,$1387); + $1388 = HEAP32[$rc>>2]|0; + $1389 = ($1388|0)!=(0); + if ($1389) { + break L1; } } - } while(0); - $1298 = HEAP32[$pCtx4>>2]|0; - $1299 = HEAP32[$1298>>2]|0; - $1300 = ((($1299)) + 8|0); - $1301 = HEAP16[$1300>>1]|0; - $1302 = $1301&65535; - $1303 = $1302 & -49664; - $1304 = $1303 | 1; - $1305 = $1304&65535; - $1306 = HEAP32[$pCtx4>>2]|0; - $1307 = HEAP32[$1306>>2]|0; - $1308 = ((($1307)) + 8|0); - HEAP16[$1308>>1] = $1305; - $1309 = HEAP32[$pCtx4>>2]|0; - $1310 = ((($1309)) + 25|0); - HEAP8[$1310>>0] = 0; - $1311 = $lastRowid; - $1312 = $1311; - $1313 = HEAP32[$1312>>2]|0; - $1314 = (($1311) + 4)|0; - $1315 = $1314; - $1316 = HEAP32[$1315>>2]|0; - $1317 = HEAP32[$db>>2]|0; - $1318 = ((($1317)) + 32|0); - $1319 = $1318; - $1320 = $1319; - HEAP32[$1320>>2] = $1313; - $1321 = (($1319) + 4)|0; - $1322 = $1321; - HEAP32[$1322>>2] = $1316; - $1323 = HEAP32[$pCtx4>>2]|0; - $1324 = ((($1323)) + 4|0); - $1325 = HEAP32[$1324>>2]|0; - $1326 = ((($1325)) + 12|0); - $1327 = HEAP32[$1326>>2]|0; - $1328 = HEAP32[$pCtx4>>2]|0; - $1329 = HEAP32[$pCtx4>>2]|0; - $1330 = ((($1329)) + 26|0); - $1331 = HEAP8[$1330>>0]|0; - $1332 = $1331&255; - $1333 = HEAP32[$pCtx4>>2]|0; - $1334 = ((($1333)) + 28|0); - FUNCTION_TABLE_viii[$1327 & 255]($1328,$1332,$1334); - $1335 = HEAP32[$db>>2]|0; - $1336 = ((($1335)) + 32|0); - $1337 = $1336; - $1338 = $1337; - $1339 = HEAP32[$1338>>2]|0; - $1340 = (($1337) + 4)|0; - $1341 = $1340; - $1342 = HEAP32[$1341>>2]|0; - $1343 = $lastRowid; - $1344 = $1343; - HEAP32[$1344>>2] = $1339; - $1345 = (($1343) + 4)|0; - $1346 = $1345; - HEAP32[$1346>>2] = $1342; - $1347 = HEAP32[$pCtx4>>2]|0; - $1348 = ((($1347)) + 25|0); - $1349 = HEAP8[$1348>>0]|0; - $1350 = ($1349<<24>>24)!=(0); - if ($1350) { - $1351 = HEAP32[$pCtx4>>2]|0; - $1352 = ((($1351)) + 20|0); - $1353 = HEAP32[$1352>>2]|0; - $1354 = ($1353|0)!=(0); - if ($1354) { - $1355 = HEAP32[$0>>2]|0; - $1356 = HEAP32[$pCtx4>>2]|0; - $1357 = HEAP32[$1356>>2]|0; - $1358 = (_sqlite3_value_text($1357)|0); - HEAP32[$vararg_buffer44>>2] = $1358; - _sqlite3VdbeError($1355,19007,$vararg_buffer44); - $1359 = HEAP32[$pCtx4>>2]|0; - $1360 = ((($1359)) + 20|0); - $1361 = HEAP32[$1360>>2]|0; - HEAP32[$rc>>2] = $1361; - } - $1362 = HEAP32[$db>>2]|0; - $1363 = HEAP32[$0>>2]|0; - $1364 = ((($1363)) + 204|0); - $1365 = HEAP32[$pCtx4>>2]|0; - $1366 = ((($1365)) + 16|0); - $1367 = HEAP32[$1366>>2]|0; - $1368 = HEAP32[$pOp>>2]|0; - $1369 = ((($1368)) + 4|0); - $1370 = HEAP32[$1369>>2]|0; - _sqlite3VdbeDeleteAuxData($1362,$1364,$1367,$1370); - $1371 = HEAP32[$rc>>2]|0; - $1372 = ($1371|0)!=(0); - if ($1372) { - break L1; - } - } - $1373 = HEAP32[$pOut>>2]|0; - $1374 = ((($1373)) + 8|0); - $1375 = HEAP16[$1374>>1]|0; - $1376 = $1375&65535; - $1377 = $1376 & 18; - $1378 = ($1377|0)!=(0); - if ($1378) { - $1379 = HEAP32[$pCtx4>>2]|0; - $1380 = HEAP32[$1379>>2]|0; - $1381 = HEAP8[$encoding>>0]|0; - $1382 = $1381&255; - (_sqlite3VdbeChangeEncoding($1380,$1382)|0); - $1383 = HEAP32[$pCtx4>>2]|0; - $1384 = HEAP32[$1383>>2]|0; - $1385 = (_sqlite3VdbeMemTooBig($1384)|0); - $1386 = ($1385|0)!=(0); - if ($1386) { - label = 880; - break; + $1390 = HEAP32[$pOut>>2]|0; + $1391 = ((($1390)) + 8|0); + $1392 = HEAP16[$1391>>1]|0; + $1393 = $1392&65535; + $1394 = $1393 & 18; + $1395 = ($1394|0)!=(0); + if ($1395) { + $1396 = HEAP32[$pCtx4>>2]|0; + $1397 = HEAP32[$1396>>2]|0; + $1398 = HEAP8[$encoding>>0]|0; + $1399 = $1398&255; + (_sqlite3VdbeChangeEncoding($1397,$1399)|0); + $1400 = HEAP32[$pCtx4>>2]|0; + $1401 = HEAP32[$1400>>2]|0; + $1402 = (_sqlite3VdbeMemTooBig($1401)|0); + $1403 = ($1402|0)!=(0); + if ($1403) { + label = 888; + break L8; + } } } - } - else if ((label|0) == 438) { - label = 0; - $3606 = HEAP32[$0>>2]|0; - $3607 = ((($3606)) + 87|0); - $3608 = HEAP8[$3607>>0]|0; - $3609 = $3608 & 1; - $3610 = $3609&255; - $3611 = ($3610|0)!=(0); - if ($3611) { - label = 439; - break; - } - HEAP32[$nField20>>2] = 0; - HEAP32[$pKeyInfo21>>2] = 0; - $3612 = HEAP32[$pOp>>2]|0; - $3613 = ((($3612)) + 8|0); - $3614 = HEAP32[$3613>>2]|0; - HEAP32[$p222>>2] = $3614; - $3615 = HEAP32[$pOp>>2]|0; - $3616 = ((($3615)) + 12|0); - $3617 = HEAP32[$3616>>2]|0; - HEAP32[$iDb23>>2] = $3617; - $3618 = HEAP32[$iDb23>>2]|0; - $3619 = HEAP32[$db>>2]|0; - $3620 = ((($3619)) + 16|0); - $3621 = HEAP32[$3620>>2]|0; - $3622 = (($3621) + ($3618<<4)|0); - HEAP32[$pDb24>>2] = $3622; - $3623 = HEAP32[$pDb24>>2]|0; - $3624 = ((($3623)) + 4|0); - $3625 = HEAP32[$3624>>2]|0; - HEAP32[$pX>>2] = $3625; - $3626 = HEAP32[$pOp>>2]|0; - $3627 = HEAP8[$3626>>0]|0; - $3628 = $3627&255; - $3629 = ($3628|0)==(103); - if ($3629) { - $3630 = HEAP32[$pOp>>2]|0; - $3631 = ((($3630)) + 3|0); - $3632 = HEAP8[$3631>>0]|0; - $3633 = $3632&255; - $3634 = $3633 & 8; - $3635 = 4 | $3634; - HEAP32[$wrFlag>>2] = $3635; - $3636 = HEAP32[$pDb24>>2]|0; - $3637 = ((($3636)) + 12|0); - $3638 = HEAP32[$3637>>2]|0; - $3639 = ((($3638)) + 76|0); - $3640 = HEAP8[$3639>>0]|0; - $3641 = $3640&255; - $3642 = HEAP32[$0>>2]|0; - $3643 = ((($3642)) + 88|0); - $3644 = HEAP8[$3643>>0]|0; - $3645 = $3644&255; - $3646 = ($3641|0)<($3645|0); - if ($3646) { - $3647 = HEAP32[$pDb24>>2]|0; - $3648 = ((($3647)) + 12|0); - $3649 = HEAP32[$3648>>2]|0; - $3650 = ((($3649)) + 76|0); - $3651 = HEAP8[$3650>>0]|0; - $3652 = HEAP32[$0>>2]|0; - $3653 = ((($3652)) + 88|0); - HEAP8[$3653>>0] = $3651; + else if ((label|0) == 444) { + label = 0; + $3668 = HEAP32[$0>>2]|0; + $3669 = ((($3668)) + 144|0); + $3670 = HEAP16[$3669>>1]|0; + $3671 = $3670 & 1; + $3672 = $3671&65535; + $3673 = ($3672|0)!=(0); + if ($3673) { + label = 445; + break L8; } - } else { - HEAP32[$wrFlag>>2] = 0; - } - $3654 = HEAP32[$pOp>>2]|0; - $3655 = ((($3654)) + 3|0); - $3656 = HEAP8[$3655>>0]|0; - $3657 = $3656&255; - $3658 = $3657 & 16; - $3659 = ($3658|0)!=(0); - if ($3659) { - $3660 = HEAP32[$p222>>2]|0; - $3661 = HEAP32[$aMem>>2]|0; - $3662 = (($3661) + (($3660*40)|0)|0); - HEAP32[$pIn2>>2] = $3662; - $3663 = HEAP32[$pIn2>>2]|0; - (_sqlite3VdbeMemIntegerify($3663)|0); - $3664 = HEAP32[$pIn2>>2]|0; - $3665 = $3664; - $3666 = $3665; - $3667 = HEAP32[$3666>>2]|0; - $3668 = (($3665) + 4)|0; - $3669 = $3668; - $3670 = HEAP32[$3669>>2]|0; - HEAP32[$p222>>2] = $3667; - } - $3671 = HEAP32[$pOp>>2]|0; - $3672 = ((($3671)) + 1|0); - $3673 = HEAP8[$3672>>0]|0; - $3674 = $3673 << 24 >> 24; - $3675 = ($3674|0)==(-6); - $3676 = HEAP32[$pOp>>2]|0; - if ($3675) { - $3677 = ((($3676)) + 16|0); - $3678 = HEAP32[$3677>>2]|0; - HEAP32[$pKeyInfo21>>2] = $3678; - $3679 = HEAP32[$pKeyInfo21>>2]|0; - $3680 = ((($3679)) + 6|0); - $3681 = HEAP16[$3680>>1]|0; - $3682 = $3681&65535; - $3683 = HEAP32[$pKeyInfo21>>2]|0; - $3684 = ((($3683)) + 8|0); - $3685 = HEAP16[$3684>>1]|0; - $3686 = $3685&65535; - $3687 = (($3682) + ($3686))|0; - HEAP32[$nField20>>2] = $3687; - } else { - $3688 = ((($3676)) + 1|0); + HEAP32[$nField20>>2] = 0; + HEAP32[$pKeyInfo21>>2] = 0; + $3674 = HEAP32[$pOp>>2]|0; + $3675 = ((($3674)) + 8|0); + $3676 = HEAP32[$3675>>2]|0; + HEAP32[$p222>>2] = $3676; + $3677 = HEAP32[$pOp>>2]|0; + $3678 = ((($3677)) + 12|0); + $3679 = HEAP32[$3678>>2]|0; + HEAP32[$iDb23>>2] = $3679; + $3680 = HEAP32[$iDb23>>2]|0; + $3681 = HEAP32[$db>>2]|0; + $3682 = ((($3681)) + 16|0); + $3683 = HEAP32[$3682>>2]|0; + $3684 = (($3683) + ($3680<<4)|0); + HEAP32[$pDb24>>2] = $3684; + $3685 = HEAP32[$pDb24>>2]|0; + $3686 = ((($3685)) + 4|0); + $3687 = HEAP32[$3686>>2]|0; + HEAP32[$pX>>2] = $3687; + $3688 = HEAP32[$pOp>>2]|0; $3689 = HEAP8[$3688>>0]|0; - $3690 = $3689 << 24 >> 24; - $3691 = ($3690|0)==(-14); + $3690 = $3689&255; + $3691 = ($3690|0)==(105); if ($3691) { $3692 = HEAP32[$pOp>>2]|0; - $3693 = ((($3692)) + 16|0); - $3694 = HEAP32[$3693>>2]|0; - HEAP32[$nField20>>2] = $3694; + $3693 = ((($3692)) + 3|0); + $3694 = HEAP8[$3693>>0]|0; + $3695 = $3694&255; + $3696 = $3695 & 8; + $3697 = 4 | $3696; + HEAP32[$wrFlag>>2] = $3697; + $3698 = HEAP32[$pDb24>>2]|0; + $3699 = ((($3698)) + 12|0); + $3700 = HEAP32[$3699>>2]|0; + $3701 = ((($3700)) + 76|0); + $3702 = HEAP8[$3701>>0]|0; + $3703 = $3702&255; + $3704 = HEAP32[$0>>2]|0; + $3705 = ((($3704)) + 143|0); + $3706 = HEAP8[$3705>>0]|0; + $3707 = $3706&255; + $3708 = ($3703|0)<($3707|0); + if ($3708) { + $3709 = HEAP32[$pDb24>>2]|0; + $3710 = ((($3709)) + 12|0); + $3711 = HEAP32[$3710>>2]|0; + $3712 = ((($3711)) + 76|0); + $3713 = HEAP8[$3712>>0]|0; + $3714 = HEAP32[$0>>2]|0; + $3715 = ((($3714)) + 143|0); + HEAP8[$3715>>0] = $3713; + } + } else { + HEAP32[$wrFlag>>2] = 0; } + $3716 = HEAP32[$pOp>>2]|0; + $3717 = ((($3716)) + 3|0); + $3718 = HEAP8[$3717>>0]|0; + $3719 = $3718&255; + $3720 = $3719 & 16; + $3721 = ($3720|0)!=(0); + if ($3721) { + $3722 = HEAP32[$p222>>2]|0; + $3723 = HEAP32[$aMem>>2]|0; + $3724 = (($3723) + (($3722*40)|0)|0); + HEAP32[$pIn2>>2] = $3724; + $3725 = HEAP32[$pIn2>>2]|0; + (_sqlite3VdbeMemIntegerify($3725)|0); + $3726 = HEAP32[$pIn2>>2]|0; + $3727 = $3726; + $3728 = $3727; + $3729 = HEAP32[$3728>>2]|0; + $3730 = (($3727) + 4)|0; + $3731 = $3730; + $3732 = HEAP32[$3731>>2]|0; + HEAP32[$p222>>2] = $3729; + } + $3733 = HEAP32[$pOp>>2]|0; + $3734 = ((($3733)) + 1|0); + $3735 = HEAP8[$3734>>0]|0; + $3736 = $3735 << 24 >> 24; + $3737 = ($3736|0)==(-6); + $3738 = HEAP32[$pOp>>2]|0; + if ($3737) { + $3739 = ((($3738)) + 16|0); + $3740 = HEAP32[$3739>>2]|0; + HEAP32[$pKeyInfo21>>2] = $3740; + $3741 = HEAP32[$pKeyInfo21>>2]|0; + $3742 = ((($3741)) + 6|0); + $3743 = HEAP16[$3742>>1]|0; + $3744 = $3743&65535; + $3745 = HEAP32[$pKeyInfo21>>2]|0; + $3746 = ((($3745)) + 8|0); + $3747 = HEAP16[$3746>>1]|0; + $3748 = $3747&65535; + $3749 = (($3744) + ($3748))|0; + HEAP32[$nField20>>2] = $3749; + } else { + $3750 = ((($3738)) + 1|0); + $3751 = HEAP8[$3750>>0]|0; + $3752 = $3751 << 24 >> 24; + $3753 = ($3752|0)==(-14); + if ($3753) { + $3754 = HEAP32[$pOp>>2]|0; + $3755 = ((($3754)) + 16|0); + $3756 = HEAP32[$3755>>2]|0; + HEAP32[$nField20>>2] = $3756; + } + } + $3757 = HEAP32[$0>>2]|0; + $3758 = HEAP32[$pOp>>2]|0; + $3759 = ((($3758)) + 4|0); + $3760 = HEAP32[$3759>>2]|0; + $3761 = HEAP32[$nField20>>2]|0; + $3762 = HEAP32[$iDb23>>2]|0; + $3763 = (_allocateCursor($3757,$3760,$3761,$3762,0)|0); + HEAP32[$pCur>>2] = $3763; + $3764 = HEAP32[$pCur>>2]|0; + $3765 = ($3764|0)==(0|0); + if ($3765) { + label = 889; + break L1; + } + $3766 = HEAP32[$pCur>>2]|0; + $3767 = ((($3766)) + 2|0); + HEAP8[$3767>>0] = 1; + $3768 = HEAP32[$pCur>>2]|0; + $3769 = ((($3768)) + 5|0); + $3770 = HEAP8[$3769>>0]|0; + $3771 = $3770 & -5; + $3772 = $3771 | 4; + HEAP8[$3769>>0] = $3772; + $3773 = HEAP32[$p222>>2]|0; + $3774 = HEAP32[$pCur>>2]|0; + $3775 = ((($3774)) + 8|0); + HEAP32[$3775>>2] = $3773; + $3776 = HEAP32[$pX>>2]|0; + $3777 = HEAP32[$p222>>2]|0; + $3778 = HEAP32[$wrFlag>>2]|0; + $3779 = HEAP32[$pKeyInfo21>>2]|0; + $3780 = HEAP32[$pCur>>2]|0; + $3781 = ((($3780)) + 16|0); + $3782 = HEAP32[$3781>>2]|0; + $3783 = (_sqlite3BtreeCursor($3776,$3777,$3778,$3779,$3782)|0); + HEAP32[$rc>>2] = $3783; + $3784 = HEAP32[$pKeyInfo21>>2]|0; + $3785 = HEAP32[$pCur>>2]|0; + $3786 = ((($3785)) + 24|0); + HEAP32[$3786>>2] = $3784; + $3787 = HEAP32[$pOp>>2]|0; + $3788 = ((($3787)) + 1|0); + $3789 = HEAP8[$3788>>0]|0; + $3790 = $3789 << 24 >> 24; + $3791 = ($3790|0)!=(-6); + $3792 = $3791&1; + $3793 = $3792&255; + $3794 = HEAP32[$pCur>>2]|0; + $3795 = ((($3794)) + 4|0); + HEAP8[$3795>>0] = $3793; + label = 458; } - $3695 = HEAP32[$0>>2]|0; - $3696 = HEAP32[$pOp>>2]|0; - $3697 = ((($3696)) + 4|0); - $3698 = HEAP32[$3697>>2]|0; - $3699 = HEAP32[$nField20>>2]|0; - $3700 = HEAP32[$iDb23>>2]|0; - $3701 = (_allocateCursor($3695,$3698,$3699,$3700,0)|0); - HEAP32[$pCur>>2] = $3701; - $3702 = HEAP32[$pCur>>2]|0; - $3703 = ($3702|0)==(0|0); - if ($3703) { - label = 881; - break L1; - } - $3704 = HEAP32[$pCur>>2]|0; - $3705 = ((($3704)) + 2|0); - HEAP8[$3705>>0] = 1; - $3706 = HEAP32[$pCur>>2]|0; - $3707 = ((($3706)) + 5|0); - $3708 = HEAP8[$3707>>0]|0; - $3709 = $3708 & -5; - $3710 = $3709 | 4; - HEAP8[$3707>>0] = $3710; - $3711 = HEAP32[$p222>>2]|0; - $3712 = HEAP32[$pCur>>2]|0; - $3713 = ((($3712)) + 8|0); - HEAP32[$3713>>2] = $3711; - $3714 = HEAP32[$pX>>2]|0; - $3715 = HEAP32[$p222>>2]|0; - $3716 = HEAP32[$wrFlag>>2]|0; - $3717 = HEAP32[$pKeyInfo21>>2]|0; - $3718 = HEAP32[$pCur>>2]|0; - $3719 = ((($3718)) + 16|0); - $3720 = HEAP32[$3719>>2]|0; - $3721 = (_sqlite3BtreeCursor($3714,$3715,$3716,$3717,$3720)|0); - HEAP32[$rc>>2] = $3721; - $3722 = HEAP32[$pKeyInfo21>>2]|0; - $3723 = HEAP32[$pCur>>2]|0; - $3724 = ((($3723)) + 24|0); - HEAP32[$3724>>2] = $3722; - $3725 = HEAP32[$pOp>>2]|0; - $3726 = ((($3725)) + 1|0); - $3727 = HEAP8[$3726>>0]|0; - $3728 = $3727 << 24 >> 24; - $3729 = ($3728|0)!=(-6); - $3730 = $3729&1; - $3731 = $3730&255; - $3732 = HEAP32[$pCur>>2]|0; - $3733 = ((($3732)) + 4|0); - HEAP8[$3733>>0] = $3731; - label = 452; - } - else if ((label|0) == 618) { - label = 0; - $5095 = HEAP32[$pOp>>2]|0; - $5096 = ((($5095)) + 4|0); - $5097 = HEAP32[$5096>>2]|0; - $5098 = HEAP32[$0>>2]|0; - $5099 = ((($5098)) + 56|0); - $5100 = HEAP32[$5099>>2]|0; - $5101 = (($5100) + ($5097<<2)|0); - $5102 = HEAP32[$5101>>2]|0; - HEAP32[$pC64>>2] = $5102; - HEAP32[$res66>>2] = 1; - $5103 = HEAP32[$pC64>>2]|0; - $5104 = HEAP8[$5103>>0]|0; - $5105 = $5104&255; - $5106 = ($5105|0)==(1); - $5107 = HEAP32[$pC64>>2]|0; - if ($5106) { - $5108 = (_sqlite3VdbeSorterRewind($5107,$res66)|0); - HEAP32[$rc>>2] = $5108; - } else { - $5109 = ((($5107)) + 16|0); - $5110 = HEAP32[$5109>>2]|0; - HEAP32[$pCrsr65>>2] = $5110; - $5111 = HEAP32[$pCrsr65>>2]|0; - $5112 = (_sqlite3BtreeFirst($5111,$res66)|0); - HEAP32[$rc>>2] = $5112; - $5113 = HEAP32[$pC64>>2]|0; - $5114 = ((($5113)) + 3|0); - HEAP8[$5114>>0] = 0; - $5115 = HEAP32[$pC64>>2]|0; - $5116 = ((($5115)) + 56|0); - HEAP32[$5116>>2] = 0; - } - $5117 = HEAP32[$rc>>2]|0; - $5118 = ($5117|0)!=(0); - if ($5118) { - break L1; - } - $5119 = HEAP32[$res66>>2]|0; - $5120 = $5119&255; - $5121 = HEAP32[$pC64>>2]|0; - $5122 = ((($5121)) + 2|0); - HEAP8[$5122>>0] = $5120; - $5123 = HEAP32[$res66>>2]|0; - $5124 = ($5123|0)!=(0); - if ($5124) { - label = 14; - } - } - else if ((label|0) == 625) { - label = 0; - $5145 = HEAP32[$pOp>>2]|0; - $5146 = ((($5145)) + 4|0); - $5147 = HEAP32[$5146>>2]|0; - $5148 = HEAP32[$0>>2]|0; - $5149 = ((($5148)) + 56|0); - $5150 = HEAP32[$5149>>2]|0; - $5151 = (($5150) + ($5147<<2)|0); - $5152 = HEAP32[$5151>>2]|0; - HEAP32[$pC67>>2] = $5152; - $5153 = HEAP32[$pOp>>2]|0; - $5154 = ((($5153)) + 12|0); - $5155 = HEAP32[$5154>>2]|0; - HEAP32[$res68>>2] = $5155; - $5156 = HEAP32[$pOp>>2]|0; - $5157 = ((($5156)) + 16|0); - $5158 = HEAP32[$5157>>2]|0; - $5159 = HEAP32[$pC67>>2]|0; - $5160 = ((($5159)) + 16|0); - $5161 = HEAP32[$5160>>2]|0; - $5162 = (FUNCTION_TABLE_iii[$5158 & 255]($5161,$res68)|0); - HEAP32[$rc>>2] = $5162; - label = 626; - } - else if ((label|0) == 753) { - label = 0; - $6480 = HEAP32[$pOp>>2]|0; - $6481 = ((($6480)) + 16|0); - $6482 = HEAP32[$6481>>2]|0; - HEAP32[$pCtx93>>2] = $6482; - $6483 = HEAP32[$pOp>>2]|0; - $6484 = ((($6483)) + 12|0); - $6485 = HEAP32[$6484>>2]|0; - $6486 = HEAP32[$aMem>>2]|0; - $6487 = (($6486) + (($6485*40)|0)|0); - HEAP32[$pMem94>>2] = $6487; - $6488 = HEAP32[$pCtx93>>2]|0; - $6489 = ((($6488)) + 8|0); - $6490 = HEAP32[$6489>>2]|0; - $6491 = HEAP32[$pMem94>>2]|0; - $6492 = ($6490|0)!=($6491|0); - L1013: do { - if ($6492) { - $6493 = HEAP32[$pMem94>>2]|0; - $6494 = HEAP32[$pCtx93>>2]|0; - $6495 = ((($6494)) + 8|0); - HEAP32[$6495>>2] = $6493; - $6496 = HEAP32[$pCtx93>>2]|0; - $6497 = ((($6496)) + 26|0); - $6498 = HEAP8[$6497>>0]|0; - $6499 = $6498&255; - $6500 = (($6499) - 1)|0; - HEAP32[$i92>>2] = $6500; - while(1) { - $6501 = HEAP32[$i92>>2]|0; - $6502 = ($6501|0)>=(0); - if (!($6502)) { - break L1013; - } - $6503 = HEAP32[$pOp>>2]|0; - $6504 = ((($6503)) + 8|0); - $6505 = HEAP32[$6504>>2]|0; - $6506 = HEAP32[$i92>>2]|0; - $6507 = (($6505) + ($6506))|0; - $6508 = HEAP32[$aMem>>2]|0; - $6509 = (($6508) + (($6507*40)|0)|0); - $6510 = HEAP32[$i92>>2]|0; - $6511 = HEAP32[$pCtx93>>2]|0; - $6512 = ((($6511)) + 28|0); - $6513 = (($6512) + ($6510<<2)|0); - HEAP32[$6513>>2] = $6509; - $6514 = HEAP32[$i92>>2]|0; - $6515 = (($6514) + -1)|0; - HEAP32[$i92>>2] = $6515; + else if ((label|0) == 523) { + label = 0; + $4281 = HEAP32[$pOp>>2]|0; + $4282 = ((($4281)) + 12|0); + $4283 = HEAP32[$4282>>2]|0; + $4284 = HEAP32[$aMem>>2]|0; + $4285 = (($4284) + (($4283*40)|0)|0); + HEAP32[$pIn3>>2] = $4285; + $4286 = HEAP32[$pOp>>2]|0; + $4287 = ((($4286)) + 4|0); + $4288 = HEAP32[$4287>>2]|0; + $4289 = HEAP32[$0>>2]|0; + $4290 = ((($4289)) + 112|0); + $4291 = HEAP32[$4290>>2]|0; + $4292 = (($4291) + ($4288<<2)|0); + $4293 = HEAP32[$4292>>2]|0; + HEAP32[$pC36>>2] = $4293; + $4294 = HEAP32[$pC36>>2]|0; + $4295 = ((($4294)) + 16|0); + $4296 = HEAP32[$4295>>2]|0; + HEAP32[$pCrsr37>>2] = $4296; + HEAP32[$res38>>2] = 0; + $4297 = HEAP32[$pIn3>>2]|0; + $4298 = $4297; + $4299 = $4298; + $4300 = HEAP32[$4299>>2]|0; + $4301 = (($4298) + 4)|0; + $4302 = $4301; + $4303 = HEAP32[$4302>>2]|0; + $4304 = $iKey39; + $4305 = $4304; + HEAP32[$4305>>2] = $4300; + $4306 = (($4304) + 4)|0; + $4307 = $4306; + HEAP32[$4307>>2] = $4303; + $4308 = HEAP32[$pCrsr37>>2]|0; + $4309 = $iKey39; + $4310 = $4309; + $4311 = HEAP32[$4310>>2]|0; + $4312 = (($4309) + 4)|0; + $4313 = $4312; + $4314 = HEAP32[$4313>>2]|0; + $4315 = (_sqlite3BtreeMovetoUnpacked($4308,0,$4311,$4314,0,$res38)|0); + HEAP32[$rc>>2] = $4315; + $4316 = $iKey39; + $4317 = $4316; + $4318 = HEAP32[$4317>>2]|0; + $4319 = (($4316) + 4)|0; + $4320 = $4319; + $4321 = HEAP32[$4320>>2]|0; + $4322 = HEAP32[$pC36>>2]|0; + $4323 = ((($4322)) + 40|0); + $4324 = $4323; + $4325 = $4324; + HEAP32[$4325>>2] = $4318; + $4326 = (($4324) + 4)|0; + $4327 = $4326; + HEAP32[$4327>>2] = $4321; + $4328 = HEAP32[$pC36>>2]|0; + $4329 = ((($4328)) + 2|0); + HEAP8[$4329>>0] = 0; + $4330 = HEAP32[$pC36>>2]|0; + $4331 = ((($4330)) + 56|0); + HEAP32[$4331>>2] = 0; + $4332 = HEAP32[$pC36>>2]|0; + $4333 = ((($4332)) + 3|0); + HEAP8[$4333>>0] = 0; + $4334 = HEAP32[$res38>>2]|0; + $4335 = HEAP32[$pC36>>2]|0; + $4336 = ((($4335)) + 28|0); + HEAP32[$4336>>2] = $4334; + $4337 = HEAP32[$res38>>2]|0; + $4338 = ($4337|0)!=(0); + if ($4338) { + $4339 = HEAP32[$pOp>>2]|0; + $4340 = ((($4339)) + 8|0); + $4341 = HEAP32[$4340>>2]|0; + $4342 = ($4341|0)==(0); + if (!($4342)) { + label = 14; + break; } + $4343 = (_sqlite3CorruptError(81458)|0); + HEAP32[$rc>>2] = $4343; } - } while(0); - $6516 = HEAP32[$pMem94>>2]|0; - $6517 = ((($6516)) + 12|0); - $6518 = HEAP32[$6517>>2]|0; - $6519 = (($6518) + 1)|0; - HEAP32[$6517>>2] = $6519; - $6520 = HEAP32[$db>>2]|0; - _sqlite3VdbeMemInit($t95,$6520,1); - $6521 = HEAP32[$pCtx93>>2]|0; - HEAP32[$6521>>2] = $t95; - $6522 = HEAP32[$pCtx93>>2]|0; - $6523 = ((($6522)) + 25|0); - HEAP8[$6523>>0] = 0; - $6524 = HEAP32[$pCtx93>>2]|0; - $6525 = ((($6524)) + 24|0); - HEAP8[$6525>>0] = 0; - $6526 = HEAP32[$pCtx93>>2]|0; - $6527 = ((($6526)) + 4|0); - $6528 = HEAP32[$6527>>2]|0; - $6529 = ((($6528)) + 12|0); - $6530 = HEAP32[$6529>>2]|0; - $6531 = HEAP32[$pCtx93>>2]|0; - $6532 = HEAP32[$pCtx93>>2]|0; - $6533 = ((($6532)) + 26|0); - $6534 = HEAP8[$6533>>0]|0; - $6535 = $6534&255; - $6536 = HEAP32[$pCtx93>>2]|0; - $6537 = ((($6536)) + 28|0); - FUNCTION_TABLE_viii[$6530 & 255]($6531,$6535,$6537); - $6538 = HEAP32[$pCtx93>>2]|0; - $6539 = ((($6538)) + 25|0); - $6540 = HEAP8[$6539>>0]|0; - $6541 = ($6540<<24>>24)!=(0); - if ($6541) { - $6542 = HEAP32[$pCtx93>>2]|0; - $6543 = ((($6542)) + 20|0); - $6544 = HEAP32[$6543>>2]|0; - $6545 = ($6544|0)!=(0); - if ($6545) { - $6546 = HEAP32[$0>>2]|0; - $6547 = (_sqlite3_value_text($t95)|0); - HEAP32[$vararg_buffer65>>2] = $6547; - _sqlite3VdbeError($6546,19007,$vararg_buffer65); - $6548 = HEAP32[$pCtx93>>2]|0; - $6549 = ((($6548)) + 20|0); - $6550 = HEAP32[$6549>>2]|0; - HEAP32[$rc>>2] = $6550; + $4344 = HEAP32[$rc>>2]|0; + $4345 = ($4344|0)!=(0); + if ($4345) { + break L1; + } + } + else if ((label|0) == 617) { + label = 0; + $5136 = HEAP32[$pOp>>2]|0; + $5137 = ((($5136)) + 4|0); + $5138 = HEAP32[$5137>>2]|0; + $5139 = HEAP32[$0>>2]|0; + $5140 = ((($5139)) + 112|0); + $5141 = HEAP32[$5140>>2]|0; + $5142 = (($5141) + ($5138<<2)|0); + $5143 = HEAP32[$5142>>2]|0; + HEAP32[$pC62>>2] = $5143; + HEAP32[$res64>>2] = 1; + $5144 = HEAP32[$pC62>>2]|0; + $5145 = HEAP8[$5144>>0]|0; + $5146 = $5145&255; + $5147 = ($5146|0)==(1); + $5148 = HEAP32[$pC62>>2]|0; + if ($5147) { + $5149 = (_sqlite3VdbeSorterRewind($5148,$res64)|0); + HEAP32[$rc>>2] = $5149; + } else { + $5150 = ((($5148)) + 16|0); + $5151 = HEAP32[$5150>>2]|0; + HEAP32[$pCrsr63>>2] = $5151; + $5152 = HEAP32[$pCrsr63>>2]|0; + $5153 = (_sqlite3BtreeFirst($5152,$res64)|0); + HEAP32[$rc>>2] = $5153; + $5154 = HEAP32[$pC62>>2]|0; + $5155 = ((($5154)) + 3|0); + HEAP8[$5155>>0] = 0; + $5156 = HEAP32[$pC62>>2]|0; + $5157 = ((($5156)) + 56|0); + HEAP32[$5157>>2] = 0; } - _sqlite3VdbeMemRelease($t95); - $6551 = HEAP32[$rc>>2]|0; - $6552 = ($6551|0)!=(0); - if ($6552) { + $5158 = HEAP32[$rc>>2]|0; + $5159 = ($5158|0)!=(0); + if ($5159) { break L1; } + $5160 = HEAP32[$res64>>2]|0; + $5161 = $5160&255; + $5162 = HEAP32[$pC62>>2]|0; + $5163 = ((($5162)) + 2|0); + HEAP8[$5163>>0] = $5161; + $5164 = HEAP32[$res64>>2]|0; + $5165 = ($5164|0)!=(0); + if ($5165) { + label = 14; + } + } + else if ((label|0) == 624) { + label = 0; + $5186 = HEAP32[$pOp>>2]|0; + $5187 = ((($5186)) + 4|0); + $5188 = HEAP32[$5187>>2]|0; + $5189 = HEAP32[$0>>2]|0; + $5190 = ((($5189)) + 112|0); + $5191 = HEAP32[$5190>>2]|0; + $5192 = (($5191) + ($5188<<2)|0); + $5193 = HEAP32[$5192>>2]|0; + HEAP32[$pC65>>2] = $5193; + $5194 = HEAP32[$pOp>>2]|0; + $5195 = ((($5194)) + 12|0); + $5196 = HEAP32[$5195>>2]|0; + HEAP32[$res66>>2] = $5196; + $5197 = HEAP32[$pOp>>2]|0; + $5198 = ((($5197)) + 16|0); + $5199 = HEAP32[$5198>>2]|0; + $5200 = HEAP32[$pC65>>2]|0; + $5201 = ((($5200)) + 16|0); + $5202 = HEAP32[$5201>>2]|0; + $5203 = (FUNCTION_TABLE_iii[$5199 & 255]($5202,$res66)|0); + HEAP32[$rc>>2] = $5203; + label = 625; } - $6553 = HEAP32[$pCtx93>>2]|0; - $6554 = ((($6553)) + 24|0); - $6555 = HEAP8[$6554>>0]|0; - $6556 = ($6555<<24>>24)!=(0); - if ($6556) { - $6557 = HEAP32[$pOp>>2]|0; - $6558 = ((($6557)) + -20|0); - $6559 = ((($6558)) + 4|0); - $6560 = HEAP32[$6559>>2]|0; - HEAP32[$i92>>2] = $6560; - $6561 = HEAP32[$i92>>2]|0; - $6562 = ($6561|0)!=(0); - if ($6562) { - $6563 = HEAP32[$i92>>2]|0; - $6564 = HEAP32[$aMem>>2]|0; - $6565 = (($6564) + (($6563*40)|0)|0); - _sqlite3VdbeMemSetInt64($6565,1,0); + else if ((label|0) == 752) { + label = 0; + $6489 = HEAP32[$pOp>>2]|0; + $6490 = ((($6489)) + 16|0); + $6491 = HEAP32[$6490>>2]|0; + HEAP32[$pCtx92>>2] = $6491; + $6492 = HEAP32[$pOp>>2]|0; + $6493 = ((($6492)) + 12|0); + $6494 = HEAP32[$6493>>2]|0; + $6495 = HEAP32[$aMem>>2]|0; + $6496 = (($6495) + (($6494*40)|0)|0); + HEAP32[$pMem93>>2] = $6496; + $6497 = HEAP32[$pCtx92>>2]|0; + $6498 = ((($6497)) + 8|0); + $6499 = HEAP32[$6498>>2]|0; + $6500 = HEAP32[$pMem93>>2]|0; + $6501 = ($6499|0)!=($6500|0); + L1023: do { + if ($6501) { + $6502 = HEAP32[$pMem93>>2]|0; + $6503 = HEAP32[$pCtx92>>2]|0; + $6504 = ((($6503)) + 8|0); + HEAP32[$6504>>2] = $6502; + $6505 = HEAP32[$pCtx92>>2]|0; + $6506 = ((($6505)) + 26|0); + $6507 = HEAP8[$6506>>0]|0; + $6508 = $6507&255; + $6509 = (($6508) - 1)|0; + HEAP32[$i91>>2] = $6509; + while(1) { + $6510 = HEAP32[$i91>>2]|0; + $6511 = ($6510|0)>=(0); + if (!($6511)) { + break L1023; + } + $6512 = HEAP32[$pOp>>2]|0; + $6513 = ((($6512)) + 8|0); + $6514 = HEAP32[$6513>>2]|0; + $6515 = HEAP32[$i91>>2]|0; + $6516 = (($6514) + ($6515))|0; + $6517 = HEAP32[$aMem>>2]|0; + $6518 = (($6517) + (($6516*40)|0)|0); + $6519 = HEAP32[$i91>>2]|0; + $6520 = HEAP32[$pCtx92>>2]|0; + $6521 = ((($6520)) + 28|0); + $6522 = (($6521) + ($6519<<2)|0); + HEAP32[$6522>>2] = $6518; + $6523 = HEAP32[$i91>>2]|0; + $6524 = (($6523) + -1)|0; + HEAP32[$i91>>2] = $6524; + } + } + } while(0); + $6525 = HEAP32[$pMem93>>2]|0; + $6526 = ((($6525)) + 12|0); + $6527 = HEAP32[$6526>>2]|0; + $6528 = (($6527) + 1)|0; + HEAP32[$6526>>2] = $6528; + $6529 = HEAP32[$db>>2]|0; + _sqlite3VdbeMemInit($t94,$6529,1); + $6530 = HEAP32[$pCtx92>>2]|0; + HEAP32[$6530>>2] = $t94; + $6531 = HEAP32[$pCtx92>>2]|0; + $6532 = ((($6531)) + 25|0); + HEAP8[$6532>>0] = 0; + $6533 = HEAP32[$pCtx92>>2]|0; + $6534 = ((($6533)) + 24|0); + HEAP8[$6534>>0] = 0; + $6535 = HEAP32[$pCtx92>>2]|0; + $6536 = ((($6535)) + 4|0); + $6537 = HEAP32[$6536>>2]|0; + $6538 = ((($6537)) + 12|0); + $6539 = HEAP32[$6538>>2]|0; + $6540 = HEAP32[$pCtx92>>2]|0; + $6541 = HEAP32[$pCtx92>>2]|0; + $6542 = ((($6541)) + 26|0); + $6543 = HEAP8[$6542>>0]|0; + $6544 = $6543&255; + $6545 = HEAP32[$pCtx92>>2]|0; + $6546 = ((($6545)) + 28|0); + FUNCTION_TABLE_viii[$6539 & 255]($6540,$6544,$6546); + $6547 = HEAP32[$pCtx92>>2]|0; + $6548 = ((($6547)) + 25|0); + $6549 = HEAP8[$6548>>0]|0; + $6550 = ($6549<<24>>24)!=(0); + if ($6550) { + $6551 = HEAP32[$pCtx92>>2]|0; + $6552 = ((($6551)) + 20|0); + $6553 = HEAP32[$6552>>2]|0; + $6554 = ($6553|0)!=(0); + if ($6554) { + $6555 = HEAP32[$0>>2]|0; + $6556 = (_sqlite3_value_text($t94)|0); + HEAP32[$vararg_buffer65>>2] = $6556; + _sqlite3VdbeError($6555,18391,$vararg_buffer65); + $6557 = HEAP32[$pCtx92>>2]|0; + $6558 = ((($6557)) + 20|0); + $6559 = HEAP32[$6558>>2]|0; + HEAP32[$rc>>2] = $6559; + } + _sqlite3VdbeMemRelease($t94); + $6560 = HEAP32[$rc>>2]|0; + $6561 = ($6560|0)!=(0); + if ($6561) { + break L1; + } + } + $6562 = HEAP32[$pCtx92>>2]|0; + $6563 = ((($6562)) + 24|0); + $6564 = HEAP8[$6563>>0]|0; + $6565 = ($6564<<24>>24)!=(0); + if ($6565) { + $6566 = HEAP32[$pOp>>2]|0; + $6567 = ((($6566)) + -20|0); + $6568 = ((($6567)) + 4|0); + $6569 = HEAP32[$6568>>2]|0; + HEAP32[$i91>>2] = $6569; + $6570 = HEAP32[$i91>>2]|0; + $6571 = ($6570|0)!=(0); + if ($6571) { + $6572 = HEAP32[$i91>>2]|0; + $6573 = HEAP32[$aMem>>2]|0; + $6574 = (($6573) + (($6572*40)|0)|0); + _sqlite3VdbeMemSetInt64($6574,1,0); + } } } - } + } while(0); do { if ((label|0) == 14) { label = 0; @@ -221525,53 +225974,53 @@ function _sqlite3VdbeExec($p) { $135 = (($134) + (($133*20)|0)|0); HEAP32[$pOp>>2] = $135; } - else if ((label|0) == 452) { + else if ((label|0) == 458) { label = 0; - $3734 = HEAP32[$pCur>>2]|0; - $3735 = ((($3734)) + 16|0); - $3736 = HEAP32[$3735>>2]|0; - $3737 = HEAP32[$pOp>>2]|0; - $3738 = ((($3737)) + 3|0); - $3739 = HEAP8[$3738>>0]|0; - $3740 = $3739&255; - $3741 = $3740 & 3; - _sqlite3BtreeCursorHintFlags($3736,$3741); - $3742 = HEAP32[$rc>>2]|0; - $3743 = ($3742|0)!=(0); - if ($3743) { + $3796 = HEAP32[$pCur>>2]|0; + $3797 = ((($3796)) + 16|0); + $3798 = HEAP32[$3797>>2]|0; + $3799 = HEAP32[$pOp>>2]|0; + $3800 = ((($3799)) + 3|0); + $3801 = HEAP8[$3800>>0]|0; + $3802 = $3801&255; + $3803 = $3802 & 3; + _sqlite3BtreeCursorHintFlags($3798,$3803); + $3804 = HEAP32[$rc>>2]|0; + $3805 = ($3804|0)!=(0); + if ($3805) { break L1; } } - else if ((label|0) == 626) { + else if ((label|0) == 625) { label = 0; - $5163 = HEAP32[$pC67>>2]|0; - $5164 = ((($5163)) + 56|0); - HEAP32[$5164>>2] = 0; - $5165 = HEAP32[$rc>>2]|0; - $5166 = ($5165|0)!=(0); - if ($5166) { + $5204 = HEAP32[$pC65>>2]|0; + $5205 = ((($5204)) + 56|0); + HEAP32[$5205>>2] = 0; + $5206 = HEAP32[$rc>>2]|0; + $5207 = ($5206|0)!=(0); + if ($5207) { break L1; } - $5167 = HEAP32[$res68>>2]|0; - $5168 = ($5167|0)==(0); - $5169 = HEAP32[$pC67>>2]|0; - $5170 = ((($5169)) + 2|0); - if ($5168) { - HEAP8[$5170>>0] = 0; - $5171 = HEAP32[$pOp>>2]|0; - $5172 = ((($5171)) + 3|0); - $5173 = HEAP8[$5172>>0]|0; - $5174 = $5173&255; - $5175 = HEAP32[$0>>2]|0; - $5176 = ((($5175)) + 108|0); - $5177 = (($5176) + ($5174<<2)|0); - $5178 = HEAP32[$5177>>2]|0; - $5179 = (($5178) + 1)|0; - HEAP32[$5177>>2] = $5179; + $5208 = HEAP32[$res66>>2]|0; + $5209 = ($5208|0)==(0); + $5210 = HEAP32[$pC65>>2]|0; + $5211 = ((($5210)) + 2|0); + if ($5209) { + HEAP8[$5211>>0] = 0; + $5212 = HEAP32[$pOp>>2]|0; + $5213 = ((($5212)) + 3|0); + $5214 = HEAP8[$5213>>0]|0; + $5215 = $5214&255; + $5216 = HEAP32[$0>>2]|0; + $5217 = ((($5216)) + 156|0); + $5218 = (($5217) + ($5215<<2)|0); + $5219 = HEAP32[$5218>>2]|0; + $5220 = (($5219) + 1)|0; + HEAP32[$5218>>2] = $5220; label = 7; break; } else { - HEAP8[$5170>>0] = 1; + HEAP8[$5211>>0] = 1; label = 8; break; } @@ -221633,9 +226082,9 @@ function _sqlite3VdbeExec($p) { } } } - $7291 = HEAP32[$pOp>>2]|0; - $7292 = ((($7291)) + 20|0); - HEAP32[$pOp>>2] = $7292; + $7344 = HEAP32[$pOp>>2]|0; + $7345 = ((($7344)) + 20|0); + HEAP32[$pOp>>2] = $7345; } switch (label|0) { case 12: { @@ -221648,21 +226097,21 @@ function _sqlite3VdbeExec($p) { $303 = ((($302)) + 4|0); $304 = HEAP32[$303>>2]|0; $305 = HEAP32[$0>>2]|0; - $306 = ((($305)) + 80|0); + $306 = ((($305)) + 40|0); HEAP32[$306>>2] = $304; $307 = HEAP32[$pOp>>2]|0; $308 = ((($307)) + 8|0); $309 = HEAP32[$308>>2]|0; $310 = $309&255; $311 = HEAP32[$0>>2]|0; - $312 = ((($311)) + 86|0); + $312 = ((($311)) + 142|0); HEAP8[$312>>0] = $310; $313 = HEAP32[$pcx>>2]|0; $314 = HEAP32[$0>>2]|0; - $315 = ((($314)) + 76|0); + $315 = ((($314)) + 36|0); HEAP32[$315>>2] = $313; $316 = HEAP32[$0>>2]|0; - $317 = ((($316)) + 80|0); + $317 = ((($316)) + 40|0); $318 = HEAP32[$317>>2]|0; $319 = ($318|0)!=(0); if ($319) { @@ -221677,10 +226126,10 @@ function _sqlite3VdbeExec($p) { $327 = HEAP8[$326>>0]|0; $328 = $327&255; $329 = (($328) - 1)|0; - $330 = (6412 + ($329<<2)|0); + $330 = (5572 + ($329<<2)|0); $331 = HEAP32[$330>>2]|0; HEAP32[$vararg_buffer>>2] = $331; - _sqlite3VdbeError($324,40332,$vararg_buffer); + _sqlite3VdbeError($324,39873,$vararg_buffer); $332 = HEAP32[$pOp>>2]|0; $333 = ((($332)) + 16|0); $334 = HEAP32[$333>>2]|0; @@ -221688,7 +226137,7 @@ function _sqlite3VdbeExec($p) { if ($335) { $336 = HEAP32[$db>>2]|0; $337 = HEAP32[$0>>2]|0; - $338 = ((($337)) + 44|0); + $338 = ((($337)) + 108|0); $339 = HEAP32[$338>>2]|0; $340 = HEAP32[$pOp>>2]|0; $341 = ((($340)) + 16|0); @@ -221696,33 +226145,33 @@ function _sqlite3VdbeExec($p) { HEAP32[$vararg_buffer32>>2] = $339; $vararg_ptr35 = ((($vararg_buffer32)) + 4|0); HEAP32[$vararg_ptr35>>2] = $342; - $343 = (_sqlite3MPrintf($336,40353,$vararg_buffer32)|0); + $343 = (_sqlite3MPrintf($336,39894,$vararg_buffer32)|0); $344 = HEAP32[$0>>2]|0; - $345 = ((($344)) + 44|0); + $345 = ((($344)) + 108|0); HEAP32[$345>>2] = $343; } } else { $346 = ((($325)) + 16|0); $347 = HEAP32[$346>>2]|0; HEAP32[$vararg_buffer36>>2] = $347; - _sqlite3VdbeError($324,19007,$vararg_buffer36); + _sqlite3VdbeError($324,18391,$vararg_buffer36); } $348 = HEAP32[$pOp>>2]|0; $349 = ((($348)) + 4|0); $350 = HEAP32[$349>>2]|0; $351 = HEAP32[$pcx>>2]|0; $352 = HEAP32[$0>>2]|0; - $353 = ((($352)) + 168|0); + $353 = ((($352)) + 176|0); $354 = HEAP32[$353>>2]|0; $355 = HEAP32[$0>>2]|0; - $356 = ((($355)) + 44|0); + $356 = ((($355)) + 108|0); $357 = HEAP32[$356>>2]|0; HEAP32[$vararg_buffer39>>2] = $351; $vararg_ptr42 = ((($vararg_buffer39)) + 4|0); HEAP32[$vararg_ptr42>>2] = $354; $vararg_ptr43 = ((($vararg_buffer39)) + 8|0); HEAP32[$vararg_ptr43>>2] = $357; - _sqlite3_log($350,40360,$vararg_buffer39); + _sqlite3_log($350,39901,$vararg_buffer39); } $358 = HEAP32[$0>>2]|0; $359 = (_sqlite3VdbeHalt($358)|0); @@ -221730,634 +226179,656 @@ function _sqlite3VdbeExec($p) { $360 = HEAP32[$rc>>2]|0; $361 = ($360|0)==(5); $362 = HEAP32[$0>>2]|0; - $363 = ((($362)) + 80|0); + $363 = ((($362)) + 40|0); if ($361) { HEAP32[$363>>2] = 5; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); } else { $364 = HEAP32[$363>>2]|0; $365 = ($364|0)!=(0); $366 = $365 ? 1 : 101; HEAP32[$rc>>2] = $366; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); } break; } case 64: { - $674 = HEAP32[$db>>2]|0; - $675 = ((($674)) + 304|0); - $676 = HEAP32[$675>>2]|0; - $677 = ($676|0)!=(0|0); - if ($677) { - $678 = HEAP32[$nVmStep>>2]|0; - $679 = HEAP32[$nProgressLimit>>2]|0; - $680 = ($678>>>0)>=($679>>>0); - if ($680) { - $681 = HEAP32[$db>>2]|0; - $682 = ((($681)) + 304|0); - $683 = HEAP32[$682>>2]|0; - $684 = HEAP32[$db>>2]|0; - $685 = ((($684)) + 308|0); - $686 = HEAP32[$685>>2]|0; - $687 = (FUNCTION_TABLE_ii[$683 & 255]($686)|0); - $688 = ($687|0)!=(0); - if ($688) { + $678 = HEAP32[$db>>2]|0; + $679 = ((($678)) + 304|0); + $680 = HEAP32[$679>>2]|0; + $681 = ($680|0)!=(0|0); + if ($681) { + $682 = HEAP32[$nVmStep>>2]|0; + $683 = HEAP32[$nProgressLimit>>2]|0; + $684 = ($682>>>0)>=($683>>>0); + if ($684) { + $685 = HEAP32[$db>>2]|0; + $686 = ((($685)) + 304|0); + $687 = HEAP32[$686>>2]|0; + $688 = HEAP32[$db>>2]|0; + $689 = ((($688)) + 308|0); + $690 = HEAP32[$689>>2]|0; + $691 = (FUNCTION_TABLE_ii[$687 & 255]($690)|0); + $692 = ($691|0)!=(0); + if ($692) { HEAP32[$rc>>2] = 9; break L1; } } } - $689 = HEAP32[$0>>2]|0; - $690 = (_sqlite3VdbeCheckFk($689,0)|0); - HEAP32[$rc>>2] = $690; - $691 = (0)!=($690|0); - if ($691) { + $693 = HEAP32[$0>>2]|0; + $694 = (_sqlite3VdbeCheckFk($693,0)|0); + HEAP32[$rc>>2] = $694; + $695 = (0)!=($694|0); + if ($695) { break L1; } - $692 = HEAP32[$0>>2]|0; - $693 = (_sqlite3VdbeCloseStatement($692,1)|0); - HEAP32[$rc>>2] = $693; - $694 = HEAP32[$0>>2]|0; - $695 = ((($694)) + 72|0); - $696 = HEAP32[$695>>2]|0; - $697 = (($696) + 2)|0; - $698 = $697 | 1; - $699 = HEAP32[$0>>2]|0; - $700 = ((($699)) + 72|0); - HEAP32[$700>>2] = $698; - $701 = HEAP32[$pOp>>2]|0; - $702 = ((($701)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = HEAP32[$aMem>>2]|0; - $705 = (($704) + (($703*40)|0)|0); - $706 = HEAP32[$0>>2]|0; - $707 = ((($706)) + 20|0); - HEAP32[$707>>2] = $705; - HEAP32[$pMem>>2] = $705; + $696 = HEAP32[$0>>2]|0; + $697 = (_sqlite3VdbeCloseStatement($696,1)|0); + HEAP32[$rc>>2] = $697; + $698 = HEAP32[$0>>2]|0; + $699 = ((($698)) + 32|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + 2)|0; + $702 = $701 | 1; + $703 = HEAP32[$0>>2]|0; + $704 = ((($703)) + 32|0); + HEAP32[$704>>2] = $702; + $705 = HEAP32[$pOp>>2]|0; + $706 = ((($705)) + 4|0); + $707 = HEAP32[$706>>2]|0; + $708 = HEAP32[$aMem>>2]|0; + $709 = (($708) + (($707*40)|0)|0); + $710 = HEAP32[$0>>2]|0; + $711 = ((($710)) + 104|0); + HEAP32[$711>>2] = $709; + HEAP32[$pMem>>2] = $709; HEAP32[$i>>2] = 0; while(1) { - $708 = HEAP32[$i>>2]|0; - $709 = HEAP32[$pOp>>2]|0; - $710 = ((($709)) + 8|0); - $711 = HEAP32[$710>>2]|0; - $712 = ($708|0)<($711|0); - if (!($712)) { + $712 = HEAP32[$i>>2]|0; + $713 = HEAP32[$pOp>>2]|0; + $714 = ((($713)) + 8|0); + $715 = HEAP32[$714>>2]|0; + $716 = ($712|0)<($715|0); + if (!($716)) { break; } - $713 = HEAP32[$i>>2]|0; - $714 = HEAP32[$pMem>>2]|0; - $715 = (($714) + (($713*40)|0)|0); - $716 = ((($715)) + 8|0); - $717 = HEAP16[$716>>1]|0; - $718 = $717&65535; - $719 = $718 & 4096; - $720 = ($719|0)!=(0); - if ($720) { - $721 = HEAP32[$i>>2]|0; - $722 = HEAP32[$pMem>>2]|0; - $723 = (($722) + (($721*40)|0)|0); - $724 = (_sqlite3VdbeMemMakeWriteable($723)|0); - $725 = ($724|0)!=(0); - if ($725) { - label = 881; + $717 = HEAP32[$i>>2]|0; + $718 = HEAP32[$pMem>>2]|0; + $719 = (($718) + (($717*40)|0)|0); + $720 = ((($719)) + 8|0); + $721 = HEAP16[$720>>1]|0; + $722 = $721&65535; + $723 = $722 & 4096; + $724 = ($723|0)!=(0); + if ($724) { + $725 = HEAP32[$i>>2]|0; + $726 = HEAP32[$pMem>>2]|0; + $727 = (($726) + (($725*40)|0)|0); + $728 = (_sqlite3VdbeMemMakeWriteable($727)|0); + $729 = ($728|0)!=(0); + if ($729) { + label = 889; break L1; } } - $726 = HEAP32[$i>>2]|0; - $727 = HEAP32[$pMem>>2]|0; - $728 = (($727) + (($726*40)|0)|0); - (_sqlite3VdbeMemNulTerminate($728)|0); - $729 = HEAP32[$i>>2]|0; - $730 = (($729) + 1)|0; - HEAP32[$i>>2] = $730; + $730 = HEAP32[$i>>2]|0; + $731 = HEAP32[$pMem>>2]|0; + $732 = (($731) + (($730*40)|0)|0); + (_sqlite3VdbeMemNulTerminate($732)|0); + $733 = HEAP32[$i>>2]|0; + $734 = (($733) + 1)|0; + HEAP32[$i>>2] = $734; } - $731 = HEAP32[$db>>2]|0; - $732 = ((($731)) + 69|0); - $733 = HEAP8[$732>>0]|0; - $734 = ($733<<24>>24)!=(0); - if ($734) { - label = 881; + $735 = HEAP32[$db>>2]|0; + $736 = ((($735)) + 69|0); + $737 = HEAP8[$736>>0]|0; + $738 = ($737<<24>>24)!=(0); + if ($738) { + label = 889; break L1; } - $735 = HEAP32[$pOp>>2]|0; - $736 = HEAP32[$aOp>>2]|0; - $737 = $735; - $738 = $736; - $739 = (($737) - ($738))|0; - $740 = (($739|0) / 20)&-1; - $741 = (($740) + 1)|0; - $742 = HEAP32[$0>>2]|0; - $743 = ((($742)) + 76|0); - HEAP32[$743>>2] = $741; + $739 = HEAP32[$db>>2]|0; + $740 = ((($739)) + 76|0); + $741 = HEAP8[$740>>0]|0; + $742 = $741&255; + $743 = $742 & 4; + $744 = ($743|0)!=(0); + if ($744) { + $745 = HEAP32[$db>>2]|0; + $746 = ((($745)) + 184|0); + $747 = HEAP32[$746>>2]|0; + $748 = HEAP32[$db>>2]|0; + $749 = ((($748)) + 188|0); + $750 = HEAP32[$749>>2]|0; + $751 = HEAP32[$0>>2]|0; + (FUNCTION_TABLE_iiiii[$747 & 255](4,$750,$751,0)|0); + } + $752 = HEAP32[$pOp>>2]|0; + $753 = HEAP32[$aOp>>2]|0; + $754 = $752; + $755 = $753; + $756 = (($754) - ($755))|0; + $757 = (($756|0) / 20)&-1; + $758 = (($757) + 1)|0; + $759 = HEAP32[$0>>2]|0; + $760 = ((($759)) + 36|0); + HEAP32[$760>>2] = $758; HEAP32[$rc>>2] = 100; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); break; } - case 157: { + case 159: { HEAP32[$rc>>2] = 20; break L1; break; } - case 263: { - $2358 = (_sqlite3CorruptError(79160)|0); - HEAP32[$rc>>2] = $2358; + case 267: { + $2411 = (_sqlite3CorruptError(79835)|0); + HEAP32[$rc>>2] = $2411; break L1; break; } - case 280: { - $2516 = HEAP32[$pC>>2]|0; - $2517 = ((($2516)) + 72|0); - $2518 = HEAP32[$2517>>2]|0; - $2519 = ($2518|0)==(0|0); - if ($2519) { + case 286: { + $2564 = HEAP32[$pC>>2]|0; + $2565 = ((($2564)) + 72|0); + $2566 = HEAP32[$2565>>2]|0; + $2567 = ($2566|0)==(0|0); + if ($2567) { _sqlite3VdbeMemRelease($sMem); } - $2520 = (_sqlite3CorruptError(79221)|0); - HEAP32[$rc>>2] = $2520; + $2568 = (_sqlite3CorruptError(79894)|0); + HEAP32[$rc>>2] = $2568; break L1; break; } - case 364: { - $3120 = HEAP32[$pOp>>2]|0; - $3121 = HEAP32[$aOp>>2]|0; - $3122 = $3120; - $3123 = $3121; - $3124 = (($3122) - ($3123))|0; - $3125 = (($3124|0) / 20)&-1; - $3126 = HEAP32[$0>>2]|0; - $3127 = ((($3126)) + 76|0); - HEAP32[$3127>>2] = $3125; - $3128 = HEAP32[$db>>2]|0; - $3129 = ((($3128)) + 67|0); - HEAP8[$3129>>0] = 0; + case 370: { + $3182 = HEAP32[$pOp>>2]|0; + $3183 = HEAP32[$aOp>>2]|0; + $3184 = $3182; + $3185 = $3183; + $3186 = (($3184) - ($3185))|0; + $3187 = (($3186|0) / 20)&-1; + $3188 = HEAP32[$0>>2]|0; + $3189 = ((($3188)) + 36|0); + HEAP32[$3189>>2] = $3187; + $3190 = HEAP32[$db>>2]|0; + $3191 = ((($3190)) + 67|0); + HEAP8[$3191>>0] = 0; HEAP32[$rc>>2] = 5; - $3130 = HEAP32[$0>>2]|0; - $3131 = ((($3130)) + 80|0); - HEAP32[$3131>>2] = 5; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $3192 = HEAP32[$0>>2]|0; + $3193 = ((($3192)) + 40|0); + HEAP32[$3193>>2] = 5; + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); break; } - case 387: { - $3273 = HEAP32[$pOp>>2]|0; - $3274 = ((($3273)) + 4|0); - $3275 = HEAP32[$3274>>2]|0; - HEAP32[$desiredAutoCommit>>2] = $3275; - $3276 = HEAP32[$pOp>>2]|0; - $3277 = ((($3276)) + 8|0); - $3278 = HEAP32[$3277>>2]|0; - HEAP32[$iRollback>>2] = $3278; - $3279 = HEAP32[$desiredAutoCommit>>2]|0; - $3280 = HEAP32[$db>>2]|0; - $3281 = ((($3280)) + 67|0); - $3282 = HEAP8[$3281>>0]|0; - $3283 = $3282&255; - $3284 = ($3279|0)!=($3283|0); - if (!($3284)) { - $3327 = HEAP32[$0>>2]|0; - $3328 = HEAP32[$desiredAutoCommit>>2]|0; - $3329 = ($3328|0)!=(0); - if ($3329) { - $3330 = HEAP32[$iRollback>>2]|0; - $3331 = ($3330|0)!=(0); - $3332 = $3331 ? 40592 : 40635; - $3333 = $3332; + case 393: { + $3335 = HEAP32[$pOp>>2]|0; + $3336 = ((($3335)) + 4|0); + $3337 = HEAP32[$3336>>2]|0; + HEAP32[$desiredAutoCommit>>2] = $3337; + $3338 = HEAP32[$pOp>>2]|0; + $3339 = ((($3338)) + 8|0); + $3340 = HEAP32[$3339>>2]|0; + HEAP32[$iRollback>>2] = $3340; + $3341 = HEAP32[$desiredAutoCommit>>2]|0; + $3342 = HEAP32[$db>>2]|0; + $3343 = ((($3342)) + 67|0); + $3344 = HEAP8[$3343>>0]|0; + $3345 = $3344&255; + $3346 = ($3341|0)!=($3345|0); + if (!($3346)) { + $3389 = HEAP32[$0>>2]|0; + $3390 = HEAP32[$desiredAutoCommit>>2]|0; + $3391 = ($3390|0)!=(0); + if ($3391) { + $3392 = HEAP32[$iRollback>>2]|0; + $3393 = ($3392|0)!=(0); + $3394 = $3393 ? 40133 : 40176; + $3395 = $3394; } else { - $3333 = 40676; + $3395 = 40217; } - _sqlite3VdbeError($3327,$3333,$vararg_buffer56); + _sqlite3VdbeError($3389,$3395,$vararg_buffer56); HEAP32[$rc>>2] = 1; break L1; } - $3285 = HEAP32[$iRollback>>2]|0; - $3286 = ($3285|0)!=(0); + $3347 = HEAP32[$iRollback>>2]|0; + $3348 = ($3347|0)!=(0); do { - if ($3286) { - $3287 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($3287,516); - $3288 = HEAP32[$db>>2]|0; - $3289 = ((($3288)) + 67|0); - HEAP8[$3289>>0] = 1; + if ($3348) { + $3349 = HEAP32[$db>>2]|0; + _sqlite3RollbackAll($3349,516); + $3350 = HEAP32[$db>>2]|0; + $3351 = ((($3350)) + 67|0); + HEAP8[$3351>>0] = 1; } else { - $3290 = HEAP32[$desiredAutoCommit>>2]|0; - $3291 = ($3290|0)!=(0); - if ($3291) { - $3292 = HEAP32[$db>>2]|0; - $3293 = ((($3292)) + 160|0); - $3294 = HEAP32[$3293>>2]|0; - $3295 = ($3294|0)>(0); - if ($3295) { - $3296 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($3296,40537,$vararg_buffer54); + $3352 = HEAP32[$desiredAutoCommit>>2]|0; + $3353 = ($3352|0)!=(0); + if ($3353) { + $3354 = HEAP32[$db>>2]|0; + $3355 = ((($3354)) + 164|0); + $3356 = HEAP32[$3355>>2]|0; + $3357 = ($3356|0)>(0); + if ($3357) { + $3358 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($3358,40078,$vararg_buffer54); HEAP32[$rc>>2] = 5; break L1; } } - $3297 = HEAP32[$0>>2]|0; - $3298 = (_sqlite3VdbeCheckFk($3297,1)|0); - HEAP32[$rc>>2] = $3298; - $3299 = ($3298|0)!=(0); - if ($3299) { - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $3359 = HEAP32[$0>>2]|0; + $3360 = (_sqlite3VdbeCheckFk($3359,1)|0); + HEAP32[$rc>>2] = $3360; + $3361 = ($3360|0)!=(0); + if ($3361) { + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); } else { - $3300 = HEAP32[$desiredAutoCommit>>2]|0; - $3301 = $3300&255; - $3302 = HEAP32[$db>>2]|0; - $3303 = ((($3302)) + 67|0); - HEAP8[$3303>>0] = $3301; + $3362 = HEAP32[$desiredAutoCommit>>2]|0; + $3363 = $3362&255; + $3364 = HEAP32[$db>>2]|0; + $3365 = ((($3364)) + 67|0); + HEAP8[$3365>>0] = $3363; break; } } } while(0); - $3304 = HEAP32[$0>>2]|0; - $3305 = (_sqlite3VdbeHalt($3304)|0); - $3306 = ($3305|0)==(5); - if ($3306) { - $3307 = HEAP32[$pOp>>2]|0; - $3308 = HEAP32[$aOp>>2]|0; - $3309 = $3307; - $3310 = $3308; - $3311 = (($3309) - ($3310))|0; - $3312 = (($3311|0) / 20)&-1; - $3313 = HEAP32[$0>>2]|0; - $3314 = ((($3313)) + 76|0); - HEAP32[$3314>>2] = $3312; - $3315 = HEAP32[$desiredAutoCommit>>2]|0; - $3316 = (1 - ($3315))|0; - $3317 = $3316&255; - $3318 = HEAP32[$db>>2]|0; - $3319 = ((($3318)) + 67|0); - HEAP8[$3319>>0] = $3317; + $3366 = HEAP32[$0>>2]|0; + $3367 = (_sqlite3VdbeHalt($3366)|0); + $3368 = ($3367|0)==(5); + if ($3368) { + $3369 = HEAP32[$pOp>>2]|0; + $3370 = HEAP32[$aOp>>2]|0; + $3371 = $3369; + $3372 = $3370; + $3373 = (($3371) - ($3372))|0; + $3374 = (($3373|0) / 20)&-1; + $3375 = HEAP32[$0>>2]|0; + $3376 = ((($3375)) + 36|0); + HEAP32[$3376>>2] = $3374; + $3377 = HEAP32[$desiredAutoCommit>>2]|0; + $3378 = (1 - ($3377))|0; + $3379 = $3378&255; + $3380 = HEAP32[$db>>2]|0; + $3381 = ((($3380)) + 67|0); + HEAP8[$3381>>0] = $3379; HEAP32[$rc>>2] = 5; - $3320 = HEAP32[$0>>2]|0; - $3321 = ((($3320)) + 80|0); - HEAP32[$3321>>2] = 5; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $3382 = HEAP32[$0>>2]|0; + $3383 = ((($3382)) + 40|0); + HEAP32[$3383>>2] = 5; + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); } - $3322 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($3322); - $3323 = HEAP32[$0>>2]|0; - $3324 = ((($3323)) + 80|0); - $3325 = HEAP32[$3324>>2]|0; - $3326 = ($3325|0)==(0); - if ($3326) { + $3384 = HEAP32[$db>>2]|0; + _sqlite3CloseSavepoints($3384); + $3385 = HEAP32[$0>>2]|0; + $3386 = ((($3385)) + 40|0); + $3387 = HEAP32[$3386>>2]|0; + $3388 = ($3387|0)==(0); + if ($3388) { HEAP32[$rc>>2] = 101; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); } else { HEAP32[$rc>>2] = 1; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); } break; } - case 405: { + case 411: { HEAP32[$rc>>2] = 8; break L1; break; } - case 408: { - $3362 = HEAP32[$pOp>>2]|0; - $3363 = HEAP32[$aOp>>2]|0; - $3364 = $3362; - $3365 = $3363; - $3366 = (($3364) - ($3365))|0; - $3367 = (($3366|0) / 20)&-1; - $3368 = HEAP32[$0>>2]|0; - $3369 = ((($3368)) + 76|0); - HEAP32[$3369>>2] = $3367; - $3370 = HEAP32[$rc>>2]|0; - $3371 = HEAP32[$0>>2]|0; - $3372 = ((($3371)) + 80|0); - HEAP32[$3372>>2] = $3370; - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + case 414: { + $3423 = HEAP32[$rc>>2]|0; + $3424 = $3423 & 255; + $3425 = ($3424|0)==(5); + if (!($3425)) { + break L1; + } + $3426 = HEAP32[$pOp>>2]|0; + $3427 = HEAP32[$aOp>>2]|0; + $3428 = $3426; + $3429 = $3427; + $3430 = (($3428) - ($3429))|0; + $3431 = (($3430|0) / 20)&-1; + $3432 = HEAP32[$0>>2]|0; + $3433 = ((($3432)) + 36|0); + HEAP32[$3433>>2] = $3431; + $3434 = HEAP32[$rc>>2]|0; + $3435 = HEAP32[$0>>2]|0; + $3436 = ((($3435)) + 40|0); + HEAP32[$3436>>2] = $3434; + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); break; } - case 439: { + case 445: { HEAP32[$rc>>2] = 516; break L1; break; } - case 543: { + case 544: { HEAP32[$rc>>2] = 13; break L1; break; } - case 553: { + case 554: { HEAP32[$rc>>2] = 13; break L1; break; } - case 661: { + case 660: { HEAP32[$rc>>2] = 6; - $5429 = HEAP32[$0>>2]|0; - $5430 = ((($5429)) + 86|0); - HEAP8[$5430>>0] = 2; + $5473 = HEAP32[$0>>2]|0; + $5474 = ((($5473)) + 142|0); + HEAP8[$5474>>0] = 2; break L1; break; } - case 683: { - $5617 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($5617); - $5618 = HEAP32[$rc>>2]|0; - $5619 = ($5618|0)==(7); - if ($5619) { - label = 881; + case 682: { + $5661 = HEAP32[$db>>2]|0; + _sqlite3ResetAllSchemasOfConnection($5661); + $5662 = HEAP32[$rc>>2]|0; + $5663 = ($5662|0)==(7); + if ($5663) { + label = 889; break L1; } else { break L1; } break; } - case 712: { + case 711: { HEAP32[$rc>>2] = 1; - $5859 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($5859,40816,$vararg_buffer63); + $5903 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($5903,40357,$vararg_buffer63); break L1; break; } - case 765: { - $6578 = HEAP32[$0>>2]|0; - $6579 = HEAP32[$pMem96>>2]|0; - $6580 = (_sqlite3_value_text($6579)|0); - HEAP32[$vararg_buffer68>>2] = $6580; - _sqlite3VdbeError($6578,19007,$vararg_buffer68); + case 764: { + $6587 = HEAP32[$0>>2]|0; + $6588 = HEAP32[$pMem95>>2]|0; + $6589 = (_sqlite3_value_text($6588)|0); + HEAP32[$vararg_buffer68>>2] = $6589; + _sqlite3VdbeError($6587,18391,$vararg_buffer68); break L1; break; } - case 785: { + case 784: { HEAP32[$rc>>2] = 1; - $6672 = HEAP32[$0>>2]|0; - $6673 = HEAP32[$eNew>>2]|0; - $6674 = ($6673|0)==(5); - $6675 = $6674 ? 40853 : 40858; - HEAP32[$vararg_buffer71>>2] = $6675; - _sqlite3VdbeError($6672,40865,$vararg_buffer71); + $6681 = HEAP32[$0>>2]|0; + $6682 = HEAP32[$eNew>>2]|0; + $6683 = ($6682|0)==(5); + $6684 = $6683 ? 40394 : 40399; + HEAP32[$vararg_buffer71>>2] = $6684; + _sqlite3VdbeError($6681,40406,$vararg_buffer71); break L1; break; } - case 806: { - $6779 = HEAP32[$rc>>2]|0; - $6780 = $6779 & 255; - $6781 = ($6780|0)==(6); - if (!($6781)) { + case 805: { + $6791 = HEAP32[$rc>>2]|0; + $6792 = $6791 & 255; + $6793 = ($6792|0)==(6); + if (!($6793)) { break L1; } - $6782 = HEAP32[$pOp>>2]|0; - $6783 = ((($6782)) + 16|0); - $6784 = HEAP32[$6783>>2]|0; - HEAP32[$z102>>2] = $6784; - $6785 = HEAP32[$0>>2]|0; - $6786 = HEAP32[$z102>>2]|0; - HEAP32[$vararg_buffer74>>2] = $6786; - _sqlite3VdbeError($6785,40917,$vararg_buffer74); + $6794 = HEAP32[$pOp>>2]|0; + $6795 = ((($6794)) + 16|0); + $6796 = HEAP32[$6795>>2]|0; + HEAP32[$z101>>2] = $6796; + $6797 = HEAP32[$0>>2]|0; + $6798 = HEAP32[$z101>>2]|0; + HEAP32[$vararg_buffer74>>2] = $6798; + _sqlite3VdbeError($6797,40458,$vararg_buffer74); break L1; break; } - case 817: { + case 816: { HEAP32[$rc>>2] = 6; break L1; break; } - case 821: { - $6877 = HEAP32[$pModule106>>2]|0; - $6878 = ((($6877)) + 28|0); - $6879 = HEAP32[$6878>>2]|0; - $6880 = HEAP32[$pVCur>>2]|0; - (FUNCTION_TABLE_ii[$6879 & 255]($6880)|0); - label = 881; + case 820: { + $6889 = HEAP32[$pModule105>>2]|0; + $6890 = ((($6889)) + 28|0); + $6891 = HEAP32[$6890>>2]|0; + $6892 = HEAP32[$pVCur>>2]|0; + (FUNCTION_TABLE_ii[$6891 & 255]($6892)|0); + label = 889; break L1; break; } - case 840: { + case 839: { HEAP32[$rc>>2] = 6; break L1; break; } - case 879: { - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + case 887: { + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); break; } - case 880: { - $7354 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($7354,18786,$vararg_buffer85); + case 888: { + $7407 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($7407,18170,$vararg_buffer85); HEAP32[$rc>>2] = 18; break L1; break; @@ -222365,143 +226836,143 @@ function _sqlite3VdbeExec($p) { } } } while(0); - $7357 = HEAP32[$db>>2]|0; - $7358 = ((($7357)) + 69|0); - $7359 = HEAP8[$7358>>0]|0; - $7360 = $7359&255; - $7361 = ($7360|0)!=(0); - $7362 = $7361 ? 7 : 9; - HEAP32[$rc>>2] = $7362; - $7363 = HEAP32[$rc>>2]|0; - $7364 = HEAP32[$0>>2]|0; - $7365 = ((($7364)) + 80|0); - HEAP32[$7365>>2] = $7363; - $7366 = HEAP32[$0>>2]|0; - $7367 = HEAP32[$rc>>2]|0; - $7368 = (_sqlite3ErrStr($7367)|0); - HEAP32[$vararg_buffer89>>2] = $7368; - _sqlite3VdbeError($7366,19007,$vararg_buffer89); + $7410 = HEAP32[$db>>2]|0; + $7411 = ((($7410)) + 69|0); + $7412 = HEAP8[$7411>>0]|0; + $7413 = $7412&255; + $7414 = ($7413|0)!=(0); + $7415 = $7414 ? 7 : 9; + HEAP32[$rc>>2] = $7415; + $7416 = HEAP32[$rc>>2]|0; + $7417 = HEAP32[$0>>2]|0; + $7418 = ((($7417)) + 40|0); + HEAP32[$7418>>2] = $7416; + $7419 = HEAP32[$0>>2]|0; + $7420 = HEAP32[$rc>>2]|0; + $7421 = (_sqlite3ErrStr($7420)|0); + HEAP32[$vararg_buffer89>>2] = $7421; + _sqlite3VdbeError($7419,18391,$vararg_buffer89); } } while(0); - if ((label|0) == 881) { - $7355 = HEAP32[$db>>2]|0; - _sqlite3OomFault($7355); - $7356 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($7356,25632,$vararg_buffer87); + if ((label|0) == 889) { + $7408 = HEAP32[$db>>2]|0; + _sqlite3OomFault($7408); + $7409 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($7409,25016,$vararg_buffer87); HEAP32[$rc>>2] = 7; } - $7293 = HEAP32[$db>>2]|0; - $7294 = ((($7293)) + 69|0); - $7295 = HEAP8[$7294>>0]|0; - $7296 = ($7295<<24>>24)!=(0); - if ($7296) { + $7346 = HEAP32[$db>>2]|0; + $7347 = ((($7346)) + 69|0); + $7348 = HEAP8[$7347>>0]|0; + $7349 = ($7348<<24>>24)!=(0); + if ($7349) { HEAP32[$rc>>2] = 7; } - $7297 = HEAP32[$0>>2]|0; - $7298 = ((($7297)) + 44|0); - $7299 = HEAP32[$7298>>2]|0; - $7300 = ($7299|0)==(0|0); - $7301 = HEAP32[$rc>>2]|0; - $7302 = ($7301|0)!=(3082); - $or$cond26 = $7300 & $7302; + $7350 = HEAP32[$0>>2]|0; + $7351 = ((($7350)) + 108|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = ($7352|0)==(0|0); + $7354 = HEAP32[$rc>>2]|0; + $7355 = ($7354|0)!=(3082); + $or$cond26 = $7353 & $7355; if ($or$cond26) { - $7303 = HEAP32[$0>>2]|0; - $7304 = HEAP32[$rc>>2]|0; - $7305 = (_sqlite3ErrStr($7304)|0); - HEAP32[$vararg_buffer77>>2] = $7305; - _sqlite3VdbeError($7303,19007,$vararg_buffer77); - } - $7306 = HEAP32[$rc>>2]|0; - $7307 = HEAP32[$0>>2]|0; - $7308 = ((($7307)) + 80|0); - HEAP32[$7308>>2] = $7306; - $7309 = HEAP32[$db>>2]|0; - $7310 = HEAP32[$rc>>2]|0; - _sqlite3SystemError($7309,$7310); - $7311 = HEAP32[$rc>>2]|0; - $7312 = HEAP32[$pOp>>2]|0; - $7313 = HEAP32[$aOp>>2]|0; - $7314 = $7312; - $7315 = $7313; - $7316 = (($7314) - ($7315))|0; - $7317 = (($7316|0) / 20)&-1; - $7318 = HEAP32[$0>>2]|0; - $7319 = ((($7318)) + 168|0); - $7320 = HEAP32[$7319>>2]|0; - $7321 = HEAP32[$0>>2]|0; - $7322 = ((($7321)) + 44|0); - $7323 = HEAP32[$7322>>2]|0; - HEAP32[$vararg_buffer80>>2] = $7317; + $7356 = HEAP32[$0>>2]|0; + $7357 = HEAP32[$rc>>2]|0; + $7358 = (_sqlite3ErrStr($7357)|0); + HEAP32[$vararg_buffer77>>2] = $7358; + _sqlite3VdbeError($7356,18391,$vararg_buffer77); + } + $7359 = HEAP32[$rc>>2]|0; + $7360 = HEAP32[$0>>2]|0; + $7361 = ((($7360)) + 40|0); + HEAP32[$7361>>2] = $7359; + $7362 = HEAP32[$db>>2]|0; + $7363 = HEAP32[$rc>>2]|0; + _sqlite3SystemError($7362,$7363); + $7364 = HEAP32[$rc>>2]|0; + $7365 = HEAP32[$pOp>>2]|0; + $7366 = HEAP32[$aOp>>2]|0; + $7367 = $7365; + $7368 = $7366; + $7369 = (($7367) - ($7368))|0; + $7370 = (($7369|0) / 20)&-1; + $7371 = HEAP32[$0>>2]|0; + $7372 = ((($7371)) + 176|0); + $7373 = HEAP32[$7372>>2]|0; + $7374 = HEAP32[$0>>2]|0; + $7375 = ((($7374)) + 108|0); + $7376 = HEAP32[$7375>>2]|0; + HEAP32[$vararg_buffer80>>2] = $7370; $vararg_ptr83 = ((($vararg_buffer80)) + 4|0); - HEAP32[$vararg_ptr83>>2] = $7320; + HEAP32[$vararg_ptr83>>2] = $7373; $vararg_ptr84 = ((($vararg_buffer80)) + 8|0); - HEAP32[$vararg_ptr84>>2] = $7323; - _sqlite3_log($7311,40946,$vararg_buffer80); - $7324 = HEAP32[$0>>2]|0; - (_sqlite3VdbeHalt($7324)|0); - $7325 = HEAP32[$rc>>2]|0; - $7326 = ($7325|0)==(3082); - if ($7326) { - $7327 = HEAP32[$db>>2]|0; - _sqlite3OomFault($7327); + HEAP32[$vararg_ptr84>>2] = $7376; + _sqlite3_log($7364,40487,$vararg_buffer80); + $7377 = HEAP32[$0>>2]|0; + (_sqlite3VdbeHalt($7377)|0); + $7378 = HEAP32[$rc>>2]|0; + $7379 = ($7378|0)==(3082); + if ($7379) { + $7380 = HEAP32[$db>>2]|0; + _sqlite3OomFault($7380); } HEAP32[$rc>>2] = 1; - $7328 = HEAP8[$resetSchemaOnFault>>0]|0; - $7329 = $7328&255; - $7330 = ($7329|0)>(0); - if (!($7330)) { - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); - } - $7331 = HEAP32[$db>>2]|0; - $7332 = HEAP8[$resetSchemaOnFault>>0]|0; - $7333 = $7332&255; - $7334 = (($7333) - 1)|0; - _sqlite3ResetOneSchema($7331,$7334); - $7335 = $lastRowid; - $7336 = $7335; - $7337 = HEAP32[$7336>>2]|0; - $7338 = (($7335) + 4)|0; - $7339 = $7338; - $7340 = HEAP32[$7339>>2]|0; - $7341 = HEAP32[$db>>2]|0; - $7342 = ((($7341)) + 32|0); - $7343 = $7342; - $7344 = $7343; - HEAP32[$7344>>2] = $7337; - $7345 = (($7343) + 4)|0; - $7346 = $7345; - HEAP32[$7346>>2] = $7340; - $7347 = HEAP32[$nVmStep>>2]|0; - $7348 = HEAP32[$0>>2]|0; - $7349 = ((($7348)) + 108|0); - $7350 = ((($7349)) + 16|0); - $7351 = HEAP32[$7350>>2]|0; - $7352 = (($7351) + ($7347))|0; - HEAP32[$7350>>2] = $7352; - $7353 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7353|0); + $7381 = HEAP8[$resetSchemaOnFault>>0]|0; + $7382 = $7381&255; + $7383 = ($7382|0)>(0); + if (!($7383)) { + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); + } + $7384 = HEAP32[$db>>2]|0; + $7385 = HEAP8[$resetSchemaOnFault>>0]|0; + $7386 = $7385&255; + $7387 = (($7386) - 1)|0; + _sqlite3ResetOneSchema($7384,$7387); + $7388 = $lastRowid; + $7389 = $7388; + $7390 = HEAP32[$7389>>2]|0; + $7391 = (($7388) + 4)|0; + $7392 = $7391; + $7393 = HEAP32[$7392>>2]|0; + $7394 = HEAP32[$db>>2]|0; + $7395 = ((($7394)) + 32|0); + $7396 = $7395; + $7397 = $7396; + HEAP32[$7397>>2] = $7390; + $7398 = (($7396) + 4)|0; + $7399 = $7398; + HEAP32[$7399>>2] = $7393; + $7400 = HEAP32[$nVmStep>>2]|0; + $7401 = HEAP32[$0>>2]|0; + $7402 = ((($7401)) + 156|0); + $7403 = ((($7402)) + 16|0); + $7404 = HEAP32[$7403>>2]|0; + $7405 = (($7404) + ($7400))|0; + HEAP32[$7403>>2] = $7405; + $7406 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7406|0); } function _doWalCallbacks($db) { $db = $db|0; @@ -222545,7 +227016,7 @@ function _doWalCallbacks($db) { $18 = (_sqlite3PagerWalCallback($17)|0); HEAP32[$nEntry>>2] = $18; $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 220|0); + $20 = ((($19)) + 224|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)!=(0|0); $23 = HEAP32[$nEntry>>2]|0; @@ -222556,10 +227027,10 @@ function _doWalCallbacks($db) { $or$cond3 = $or$cond & $26; if ($or$cond3) { $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 220|0); + $28 = ((($27)) + 224|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 224|0); + $31 = ((($30)) + 228|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$0>>2]|0; $34 = HEAP32[$i>>2]|0; @@ -222595,11 +227066,11 @@ function _sqlite3VdbeTransferError($p) { $2 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 80|0); + $4 = ((($3)) + 40|0); $5 = HEAP32[$4>>2]|0; HEAP32[$rc>>2] = $5; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 44|0); + $7 = ((($6)) + 108|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)!=(0|0); $10 = HEAP32[$db>>2]|0; @@ -222615,21 +227086,21 @@ function _sqlite3VdbeTransferError($p) { HEAP8[$11>>0] = $13; _sqlite3BeginBenignMalloc(); $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 240|0); + $15 = ((($14)) + 244|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==(0|0); if ($17) { $18 = HEAP32[$db>>2]|0; $19 = (_sqlite3ValueNew($18)|0); $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 240|0); + $21 = ((($20)) + 244|0); HEAP32[$21>>2] = $19; } $22 = HEAP32[$db>>2]|0; - $23 = ((($22)) + 240|0); + $23 = ((($22)) + 244|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 44|0); + $26 = ((($25)) + 108|0); $27 = HEAP32[$26>>2]|0; _sqlite3ValueSetStr($24,-1,$27,1,(-1)); _sqlite3EndBenignMalloc(); @@ -222697,7 +227168,7 @@ function _sqlite3VdbeEnter($p) { $nDb = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 100|0); + $2 = ((($1)) + 152|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if ($4) { @@ -222726,7 +227197,7 @@ function _sqlite3VdbeEnter($p) { $17 = ($16|0)!=(1); if ($17) { $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 100|0); + $19 = ((($18)) + 152|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$i>>2]|0; $22 = 1 << $21; @@ -222767,11 +227238,11 @@ function _sqlite3VdbeSetChanges($db,$nChange) { HEAP32[$1>>2] = $nChange; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 84|0); + $4 = ((($3)) + 88|0); HEAP32[$4>>2] = $2; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 88|0); + $7 = ((($6)) + 92|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($5))|0; HEAP32[$7>>2] = $9; @@ -222782,8 +227253,7 @@ function _sqlite3VdbeFrameRestore($pFrame) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $v = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -222795,101 +227265,89 @@ function _sqlite3VdbeFrameRestore($pFrame) { $3 = HEAP32[$v>>2]|0; _closeCursorsInFrame($3); $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 20|0); + $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$v>>2]|0; - $8 = ((($7)) + 200|0); + $8 = ((($7)) + 88|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 60|0); + $10 = ((($9)) + 52|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$v>>2]|0; - $13 = ((($12)) + 196|0); + $13 = ((($12)) + 136|0); HEAP32[$13>>2] = $11; $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 8|0); + $15 = ((($14)) + 16|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$v>>2]|0; - $18 = ((($17)) + 4|0); + $18 = ((($17)) + 92|0); HEAP32[$18>>2] = $16; $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 52|0); + $20 = ((($19)) + 56|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$v>>2]|0; - $23 = ((($22)) + 32|0); + $23 = ((($22)) + 24|0); HEAP32[$23>>2] = $21; $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 16|0); + $25 = ((($24)) + 20|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$v>>2]|0; - $28 = ((($27)) + 8|0); + $28 = ((($27)) + 112|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 56|0); + $30 = ((($29)) + 44|0); $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$v>>2]|0; $33 = ((($32)) + 28|0); HEAP32[$33>>2] = $31; $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 24|0); - $36 = HEAP32[$35>>2]|0; - $37 = HEAP32[$v>>2]|0; - $38 = ((($37)) + 56|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 44|0); + $35 = ((($34)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$v>>2]|0; - $43 = ((($42)) + 36|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 32|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($43)) + 32|0); + $45 = $44; $46 = $45; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = (($46) + 4)|0; - $50 = $49; + HEAP32[$46>>2] = $38; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $41; + $49 = HEAP32[$0>>2]|0; + $50 = ((($49)) + 68|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$v>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 32|0); - $55 = $54; - $56 = $55; - HEAP32[$56>>2] = $48; - $57 = (($55) + 4)|0; - $58 = $57; - HEAP32[$58>>2] = $51; - $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 72|0); + $53 = ((($52)) + 44|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$0>>2]|0; + $55 = ((($54)) + 72|0); + $56 = HEAP32[$55>>2]|0; + $57 = HEAP32[$v>>2]|0; + $58 = HEAP32[$57>>2]|0; + $59 = ((($58)) + 88|0); + HEAP32[$59>>2] = $56; + $60 = HEAP32[$v>>2]|0; $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$v>>2]|0; - $63 = ((($62)) + 92|0); - HEAP32[$63>>2] = $61; + $63 = ((($62)) + 204|0); + _sqlite3VdbeDeleteAuxData($61,$63,-1,0); $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 76|0); + $65 = ((($64)) + 40|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$v>>2]|0; - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 84|0); - HEAP32[$69>>2] = $66; - $70 = HEAP32[$v>>2]|0; - $71 = HEAP32[$70>>2]|0; - $72 = HEAP32[$v>>2]|0; - $73 = ((($72)) + 204|0); - _sqlite3VdbeDeleteAuxData($71,$73,-1,0); - $74 = HEAP32[$0>>2]|0; - $75 = ((($74)) + 40|0); - $76 = HEAP32[$75>>2]|0; - $77 = HEAP32[$v>>2]|0; - $78 = ((($77)) + 204|0); - HEAP32[$78>>2] = $76; - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 40|0); - HEAP32[$80>>2] = 0; - $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 48|0); - $83 = HEAP32[$82>>2]|0; - STACKTOP = sp;return ($83|0); + $68 = ((($67)) + 204|0); + HEAP32[$68>>2] = $66; + $69 = HEAP32[$0>>2]|0; + $70 = ((($69)) + 40|0); + HEAP32[$70>>2] = 0; + $71 = HEAP32[$0>>2]|0; + $72 = ((($71)) + 48|0); + $73 = HEAP32[$72>>2]|0; + STACKTOP = sp;return ($73|0); } function _sqlite3VdbeError($p,$zFormat,$varargs) { $p = $p|0; @@ -222906,7 +227364,7 @@ function _sqlite3VdbeError($p,$zFormat,$varargs) { $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 44|0); + $5 = ((($4)) + 108|0); $6 = HEAP32[$5>>2]|0; _sqlite3DbFree($3,$6); HEAP32[$ap>>2] = $varargs; @@ -222915,7 +227373,7 @@ function _sqlite3VdbeError($p,$zFormat,$varargs) { $9 = HEAP32[$1>>2]|0; $10 = (_sqlite3VMPrintf($8,$9,$ap)|0); $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 44|0); + $12 = ((($11)) + 108|0); HEAP32[$12>>2] = $10; STACKTOP = sp;return; } @@ -222930,12 +227388,12 @@ function _sqlite3VdbeHalt($p) { var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $eStatementOp = 0, $isSpecialError = 0, $mrc = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $rc = 0, label = 0, sp = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $eStatementOp = 0, $isSpecialError = 0, $mrc = 0, $or$cond = 0; + var $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -222955,319 +227413,306 @@ function _sqlite3VdbeHalt($p) { $7 = ($6<<24>>24)!=(0); if ($7) { $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 80|0); + $9 = ((($8)) + 40|0); HEAP32[$9>>2] = 7; } $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 200|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)!=(0|0); - if ($13) { - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 200|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 196|0); - $19 = HEAP32[$18>>2]|0; - _memset(($16|0),0,($19|0))|0; - } - $20 = HEAP32[$1>>2]|0; - _closeAllCursors($20); - $21 = HEAP32[$1>>2]|0; - $22 = ((($21)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)!=(-1108210269); - if ($24) { + _closeAllCursors($10); + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(770837923); + if ($14) { HEAP32[$0>>2] = 0; - $284 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($284|0); + $274 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($274|0); } - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 76|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)>=(0); - if ($28) { - $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 89|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31&255) >>> 6; - $33 = $32 & 1; - $34 = $33&255; - $35 = ($34|0)!=(0); - if ($35) { + $15 = HEAP32[$1>>2]|0; + $16 = ((($15)) + 36|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>=(0); + if ($18) { + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 144|0); + $21 = HEAP16[$20>>1]|0; + $22 = ($21&65535) >>> 8; + $23 = $22 & 1; + $24 = $23&65535; + $25 = ($24|0)!=(0); + if ($25) { HEAP32[$eStatementOp>>2] = 0; - $36 = HEAP32[$1>>2]|0; - _sqlite3VdbeEnter($36); - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 80|0); - $39 = HEAP32[$38>>2]|0; - $40 = $39 & 255; - HEAP32[$mrc>>2] = $40; - $41 = HEAP32[$mrc>>2]|0; - $42 = ($41|0)==(7); - $43 = HEAP32[$mrc>>2]|0; - $44 = ($43|0)==(10); - $or$cond = $42 | $44; - $45 = HEAP32[$mrc>>2]|0; - $46 = ($45|0)==(9); - $or$cond3 = $or$cond | $46; + $26 = HEAP32[$1>>2]|0; + _sqlite3VdbeEnter($26); + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 40|0); + $29 = HEAP32[$28>>2]|0; + $30 = $29 & 255; + HEAP32[$mrc>>2] = $30; + $31 = HEAP32[$mrc>>2]|0; + $32 = ($31|0)==(7); + $33 = HEAP32[$mrc>>2]|0; + $34 = ($33|0)==(10); + $or$cond = $32 | $34; + $35 = HEAP32[$mrc>>2]|0; + $36 = ($35|0)==(9); + $or$cond3 = $or$cond | $36; if ($or$cond3) { - $50 = 1; + $40 = 1; } else { - $47 = HEAP32[$mrc>>2]|0; - $48 = ($47|0)==(13); - $50 = $48; + $37 = HEAP32[$mrc>>2]|0; + $38 = ($37|0)==(13); + $40 = $38; } - $49 = $50&1; - HEAP32[$isSpecialError>>2] = $49; - $51 = HEAP32[$isSpecialError>>2]|0; - $52 = ($51|0)!=(0); + $39 = $40&1; + HEAP32[$isSpecialError>>2] = $39; + $41 = HEAP32[$isSpecialError>>2]|0; + $42 = ($41|0)!=(0); do { - if ($52) { - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 89|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55&255) >>> 5; - $57 = $56 & 1; - $58 = $57&255; - $59 = ($58|0)==(0); - $60 = HEAP32[$mrc>>2]|0; - $61 = ($60|0)!=(9); - $or$cond5 = $59 | $61; + if ($42) { + $43 = HEAP32[$1>>2]|0; + $44 = ((($43)) + 144|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45&65535) >>> 7; + $47 = $46 & 1; + $48 = $47&65535; + $49 = ($48|0)==(0); + $50 = HEAP32[$mrc>>2]|0; + $51 = ($50|0)!=(9); + $or$cond5 = $49 | $51; if ($or$cond5) { - $62 = HEAP32[$mrc>>2]|0; - $63 = ($62|0)==(7); - $64 = HEAP32[$mrc>>2]|0; - $65 = ($64|0)==(13); - $or$cond7 = $63 | $65; + $52 = HEAP32[$mrc>>2]|0; + $53 = ($52|0)==(7); + $54 = HEAP32[$mrc>>2]|0; + $55 = ($54|0)==(13); + $or$cond7 = $53 | $55; if ($or$cond7) { - $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 89|0); - $68 = HEAP8[$67>>0]|0; - $69 = ($68&255) >>> 4; - $70 = $69 & 1; - $71 = $70&255; - $72 = ($71|0)!=(0); - if ($72) { + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 144|0); + $58 = HEAP16[$57>>1]|0; + $59 = ($58&65535) >>> 6; + $60 = $59 & 1; + $61 = $60&65535; + $62 = ($61|0)!=(0); + if ($62) { HEAP32[$eStatementOp>>2] = 2; break; } } - $73 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($73,516); - $74 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($74); - $75 = HEAP32[$db>>2]|0; - $76 = ((($75)) + 67|0); - HEAP8[$76>>0] = 1; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 92|0); - HEAP32[$78>>2] = 0; + $63 = HEAP32[$db>>2]|0; + _sqlite3RollbackAll($63,516); + $64 = HEAP32[$db>>2]|0; + _sqlite3CloseSavepoints($64); + $65 = HEAP32[$db>>2]|0; + $66 = ((($65)) + 67|0); + HEAP8[$66>>0] = 1; + $67 = HEAP32[$1>>2]|0; + $68 = ((($67)) + 44|0); + HEAP32[$68>>2] = 0; } } } while(0); - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 80|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==(0); - if ($82) { - $83 = HEAP32[$1>>2]|0; - (_sqlite3VdbeCheckFk($83,0)|0); + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 40|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0); + if ($72) { + $73 = HEAP32[$1>>2]|0; + (_sqlite3VdbeCheckFk($73,0)|0); } - $84 = HEAP32[$db>>2]|0; - $85 = ((($84)) + 316|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)>(0); - if ($87) { - $88 = HEAP32[$db>>2]|0; - $89 = ((($88)) + 340|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0|0); - if ($91) { - label = 38; + $74 = HEAP32[$db>>2]|0; + $75 = ((($74)) + 316|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(0); + if ($77) { + $78 = HEAP32[$db>>2]|0; + $79 = ((($78)) + 340|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)==(0|0); + if ($81) { + label = 36; } else { - label = 21; + label = 19; } } else { - label = 21; + label = 19; } - if ((label|0) == 21) { - $92 = HEAP32[$db>>2]|0; - $93 = ((($92)) + 67|0); - $94 = HEAP8[$93>>0]|0; - $95 = $94&255; - $96 = ($95|0)!=(0); - if ($96) { - $97 = HEAP32[$db>>2]|0; - $98 = ((($97)) + 160|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 89|0); - $102 = HEAP8[$101>>0]|0; - $103 = ($102&255) >>> 5; - $104 = $103 & 1; - $105 = $104&255; - $106 = ($105|0)==(0); - $107 = $106&1; - $108 = ($99|0)==($107|0); - if ($108) { - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 80|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==(0); - if ($112) { - label = 25; + if ((label|0) == 19) { + $82 = HEAP32[$db>>2]|0; + $83 = ((($82)) + 67|0); + $84 = HEAP8[$83>>0]|0; + $85 = $84&255; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$db>>2]|0; + $88 = ((($87)) + 164|0); + $89 = HEAP32[$88>>2]|0; + $90 = HEAP32[$1>>2]|0; + $91 = ((($90)) + 144|0); + $92 = HEAP16[$91>>1]|0; + $93 = ($92&65535) >>> 7; + $94 = $93 & 1; + $95 = $94&65535; + $96 = ($95|0)==(0); + $97 = $96&1; + $98 = ($89|0)==($97|0); + if ($98) { + $99 = HEAP32[$1>>2]|0; + $100 = ((($99)) + 40|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)==(0); + if ($102) { + label = 23; } else { - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 86|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = ($116|0)!=(3); - $118 = HEAP32[$isSpecialError>>2]|0; - $119 = ($118|0)!=(0); - $or$cond9 = $117 | $119; + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 142|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ($106|0)!=(3); + $108 = HEAP32[$isSpecialError>>2]|0; + $109 = ($108|0)!=(0); + $or$cond9 = $107 | $109; if ($or$cond9) { - $168 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($168,0); - $169 = HEAP32[$1>>2]|0; - $170 = ((($169)) + 92|0); - HEAP32[$170>>2] = 0; + $158 = HEAP32[$db>>2]|0; + _sqlite3RollbackAll($158,0); + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 44|0); + HEAP32[$160>>2] = 0; } else { - label = 25; + label = 23; } } do { - if ((label|0) == 25) { - $120 = HEAP32[$1>>2]|0; - $121 = (_sqlite3VdbeCheckFk($120,1)|0); - HEAP32[$rc>>2] = $121; - $122 = HEAP32[$rc>>2]|0; - $123 = ($122|0)!=(0); + if ((label|0) == 23) { + $110 = HEAP32[$1>>2]|0; + $111 = (_sqlite3VdbeCheckFk($110,1)|0); + HEAP32[$rc>>2] = $111; + $112 = HEAP32[$rc>>2]|0; + $113 = ($112|0)!=(0); do { - if ($123) { - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 89|0); - $126 = HEAP8[$125>>0]|0; - $127 = ($126&255) >>> 5; - $128 = $127 & 1; - $129 = $128&255; - $130 = ($129|0)!=(0); - if (!($130)) { + if ($113) { + $114 = HEAP32[$1>>2]|0; + $115 = ((($114)) + 144|0); + $116 = HEAP16[$115>>1]|0; + $117 = ($116&65535) >>> 7; + $118 = $117 & 1; + $119 = $118&65535; + $120 = ($119|0)!=(0); + if (!($120)) { HEAP32[$rc>>2] = 787; break; } HEAP32[$0>>2] = 1; - $284 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($284|0); + $274 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($274|0); } else { - $131 = HEAP32[$db>>2]|0; - $132 = HEAP32[$1>>2]|0; - $133 = (_vdbeCommit($131,$132)|0); - HEAP32[$rc>>2] = $133; + $121 = HEAP32[$db>>2]|0; + $122 = HEAP32[$1>>2]|0; + $123 = (_vdbeCommit($121,$122)|0); + HEAP32[$rc>>2] = $123; } } while(0); - $134 = HEAP32[$rc>>2]|0; - $135 = ($134|0)==(5); - if ($135) { - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 89|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138&255) >>> 5; - $140 = $139 & 1; - $141 = $140&255; - $142 = ($141|0)!=(0); - if ($142) { + $124 = HEAP32[$rc>>2]|0; + $125 = ($124|0)==(5); + if ($125) { + $126 = HEAP32[$1>>2]|0; + $127 = ((($126)) + 144|0); + $128 = HEAP16[$127>>1]|0; + $129 = ($128&65535) >>> 7; + $130 = $129 & 1; + $131 = $130&65535; + $132 = ($131|0)!=(0); + if ($132) { HEAP32[$0>>2] = 5; - $284 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($284|0); + $274 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($274|0); } } - $143 = HEAP32[$rc>>2]|0; - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$rc>>2]|0; - $146 = HEAP32[$1>>2]|0; - $147 = ((($146)) + 80|0); - HEAP32[$147>>2] = $145; - $148 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($148,0); - $149 = HEAP32[$1>>2]|0; - $150 = ((($149)) + 92|0); - HEAP32[$150>>2] = 0; + $133 = HEAP32[$rc>>2]|0; + $134 = ($133|0)!=(0); + if ($134) { + $135 = HEAP32[$rc>>2]|0; + $136 = HEAP32[$1>>2]|0; + $137 = ((($136)) + 40|0); + HEAP32[$137>>2] = $135; + $138 = HEAP32[$db>>2]|0; + _sqlite3RollbackAll($138,0); + $139 = HEAP32[$1>>2]|0; + $140 = ((($139)) + 44|0); + HEAP32[$140>>2] = 0; break; } else { - $151 = HEAP32[$db>>2]|0; - $152 = ((($151)) + 440|0); - $153 = $152; - $154 = $153; - HEAP32[$154>>2] = 0; - $155 = (($153) + 4)|0; - $156 = $155; - HEAP32[$156>>2] = 0; + $141 = HEAP32[$db>>2]|0; + $142 = ((($141)) + 440|0); + $143 = $142; + $144 = $143; + HEAP32[$144>>2] = 0; + $145 = (($143) + 4)|0; + $146 = $145; + HEAP32[$146>>2] = 0; + $147 = HEAP32[$db>>2]|0; + $148 = ((($147)) + 448|0); + $149 = $148; + $150 = $149; + HEAP32[$150>>2] = 0; + $151 = (($149) + 4)|0; + $152 = $151; + HEAP32[$152>>2] = 0; + $153 = HEAP32[$db>>2]|0; + $154 = ((($153)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = $155 & -33554433; + HEAP32[$154>>2] = $156; $157 = HEAP32[$db>>2]|0; - $158 = ((($157)) + 448|0); - $159 = $158; - $160 = $159; - HEAP32[$160>>2] = 0; - $161 = (($159) + 4)|0; - $162 = $161; - HEAP32[$162>>2] = 0; - $163 = HEAP32[$db>>2]|0; - $164 = ((($163)) + 24|0); - $165 = HEAP32[$164>>2]|0; - $166 = $165 & -33554433; - HEAP32[$164>>2] = $166; - $167 = HEAP32[$db>>2]|0; - _sqlite3CommitInternalChanges($167); + _sqlite3CommitInternalChanges($157); break; } } } while(0); - $171 = HEAP32[$db>>2]|0; - $172 = ((($171)) + 436|0); - HEAP32[$172>>2] = 0; + $161 = HEAP32[$db>>2]|0; + $162 = ((($161)) + 436|0); + HEAP32[$162>>2] = 0; } else { - label = 38; + label = 36; } } else { - label = 38; + label = 36; } } do { - if ((label|0) == 38) { - $173 = HEAP32[$eStatementOp>>2]|0; - $174 = ($173|0)==(0); - if ($174) { - $175 = HEAP32[$1>>2]|0; - $176 = ((($175)) + 80|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0); - if (!($178)) { - $179 = HEAP32[$1>>2]|0; - $180 = ((($179)) + 86|0); - $181 = HEAP8[$180>>0]|0; - $182 = $181&255; - $183 = ($182|0)==(3); - if (!($183)) { - $184 = HEAP32[$1>>2]|0; - $185 = ((($184)) + 86|0); - $186 = HEAP8[$185>>0]|0; - $187 = $186&255; - $188 = ($187|0)==(2); - if ($188) { + if ((label|0) == 36) { + $163 = HEAP32[$eStatementOp>>2]|0; + $164 = ($163|0)==(0); + if ($164) { + $165 = HEAP32[$1>>2]|0; + $166 = ((($165)) + 40|0); + $167 = HEAP32[$166>>2]|0; + $168 = ($167|0)==(0); + if (!($168)) { + $169 = HEAP32[$1>>2]|0; + $170 = ((($169)) + 142|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + $173 = ($172|0)==(3); + if (!($173)) { + $174 = HEAP32[$1>>2]|0; + $175 = ((($174)) + 142|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = ($177|0)==(2); + if ($178) { HEAP32[$eStatementOp>>2] = 2; break; } else { - $189 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($189,516); - $190 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($190); - $191 = HEAP32[$db>>2]|0; - $192 = ((($191)) + 67|0); - HEAP8[$192>>0] = 1; - $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 92|0); - HEAP32[$194>>2] = 0; + $179 = HEAP32[$db>>2]|0; + _sqlite3RollbackAll($179,516); + $180 = HEAP32[$db>>2]|0; + _sqlite3CloseSavepoints($180); + $181 = HEAP32[$db>>2]|0; + $182 = ((($181)) + 67|0); + HEAP8[$182>>0] = 1; + $183 = HEAP32[$1>>2]|0; + $184 = ((($183)) + 44|0); + HEAP32[$184>>2] = 0; break; } } @@ -223276,142 +227721,142 @@ function _sqlite3VdbeHalt($p) { } } } while(0); - $195 = HEAP32[$eStatementOp>>2]|0; - $196 = ($195|0)!=(0); - if ($196) { - $197 = HEAP32[$1>>2]|0; - $198 = HEAP32[$eStatementOp>>2]|0; - $199 = (_sqlite3VdbeCloseStatement($197,$198)|0); - HEAP32[$rc>>2] = $199; - $200 = HEAP32[$rc>>2]|0; - $201 = ($200|0)!=(0); - if ($201) { - $202 = HEAP32[$1>>2]|0; - $203 = ((($202)) + 80|0); - $204 = HEAP32[$203>>2]|0; - $205 = ($204|0)==(0); - if ($205) { - label = 49; + $185 = HEAP32[$eStatementOp>>2]|0; + $186 = ($185|0)!=(0); + if ($186) { + $187 = HEAP32[$1>>2]|0; + $188 = HEAP32[$eStatementOp>>2]|0; + $189 = (_sqlite3VdbeCloseStatement($187,$188)|0); + HEAP32[$rc>>2] = $189; + $190 = HEAP32[$rc>>2]|0; + $191 = ($190|0)!=(0); + if ($191) { + $192 = HEAP32[$1>>2]|0; + $193 = ((($192)) + 40|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0); + if ($195) { + label = 47; } else { - $206 = HEAP32[$1>>2]|0; - $207 = ((($206)) + 80|0); - $208 = HEAP32[$207>>2]|0; - $209 = $208 & 255; - $210 = ($209|0)==(19); - if ($210) { - label = 49; + $196 = HEAP32[$1>>2]|0; + $197 = ((($196)) + 40|0); + $198 = HEAP32[$197>>2]|0; + $199 = $198 & 255; + $200 = ($199|0)==(19); + if ($200) { + label = 47; } } - if ((label|0) == 49) { - $211 = HEAP32[$rc>>2]|0; - $212 = HEAP32[$1>>2]|0; - $213 = ((($212)) + 80|0); - HEAP32[$213>>2] = $211; - $214 = HEAP32[$db>>2]|0; - $215 = HEAP32[$1>>2]|0; - $216 = ((($215)) + 44|0); - $217 = HEAP32[$216>>2]|0; - _sqlite3DbFree($214,$217); - $218 = HEAP32[$1>>2]|0; - $219 = ((($218)) + 44|0); - HEAP32[$219>>2] = 0; - } - $220 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($220,516); - $221 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($221); - $222 = HEAP32[$db>>2]|0; - $223 = ((($222)) + 67|0); - HEAP8[$223>>0] = 1; - $224 = HEAP32[$1>>2]|0; - $225 = ((($224)) + 92|0); - HEAP32[$225>>2] = 0; + if ((label|0) == 47) { + $201 = HEAP32[$rc>>2]|0; + $202 = HEAP32[$1>>2]|0; + $203 = ((($202)) + 40|0); + HEAP32[$203>>2] = $201; + $204 = HEAP32[$db>>2]|0; + $205 = HEAP32[$1>>2]|0; + $206 = ((($205)) + 108|0); + $207 = HEAP32[$206>>2]|0; + _sqlite3DbFree($204,$207); + $208 = HEAP32[$1>>2]|0; + $209 = ((($208)) + 108|0); + HEAP32[$209>>2] = 0; + } + $210 = HEAP32[$db>>2]|0; + _sqlite3RollbackAll($210,516); + $211 = HEAP32[$db>>2]|0; + _sqlite3CloseSavepoints($211); + $212 = HEAP32[$db>>2]|0; + $213 = ((($212)) + 67|0); + HEAP8[$213>>0] = 1; + $214 = HEAP32[$1>>2]|0; + $215 = ((($214)) + 44|0); + HEAP32[$215>>2] = 0; } } - $226 = HEAP32[$1>>2]|0; - $227 = ((($226)) + 89|0); - $228 = HEAP8[$227>>0]|0; - $229 = ($228&255) >>> 2; - $230 = $229 & 1; - $231 = $230&255; - $232 = ($231|0)!=(0); - if ($232) { - $233 = HEAP32[$eStatementOp>>2]|0; - $234 = ($233|0)!=(2); - $235 = HEAP32[$db>>2]|0; - if ($234) { - $236 = HEAP32[$1>>2]|0; - $237 = ((($236)) + 92|0); - $238 = HEAP32[$237>>2]|0; - _sqlite3VdbeSetChanges($235,$238); + $216 = HEAP32[$1>>2]|0; + $217 = ((($216)) + 144|0); + $218 = HEAP16[$217>>1]|0; + $219 = ($218&65535) >>> 4; + $220 = $219 & 1; + $221 = $220&65535; + $222 = ($221|0)!=(0); + if ($222) { + $223 = HEAP32[$eStatementOp>>2]|0; + $224 = ($223|0)!=(2); + $225 = HEAP32[$db>>2]|0; + if ($224) { + $226 = HEAP32[$1>>2]|0; + $227 = ((($226)) + 44|0); + $228 = HEAP32[$227>>2]|0; + _sqlite3VdbeSetChanges($225,$228); } else { - _sqlite3VdbeSetChanges($235,0); + _sqlite3VdbeSetChanges($225,0); } - $239 = HEAP32[$1>>2]|0; - $240 = ((($239)) + 92|0); - HEAP32[$240>>2] = 0; + $229 = HEAP32[$1>>2]|0; + $230 = ((($229)) + 44|0); + HEAP32[$230>>2] = 0; } } } - $241 = HEAP32[$1>>2]|0; - $242 = ((($241)) + 76|0); - $243 = HEAP32[$242>>2]|0; - $244 = ($243|0)>=(0); - if ($244) { - $245 = HEAP32[$db>>2]|0; - $246 = ((($245)) + 152|0); - $247 = HEAP32[$246>>2]|0; - $248 = (($247) + -1)|0; - HEAP32[$246>>2] = $248; - $249 = HEAP32[$1>>2]|0; - $250 = ((($249)) + 89|0); - $251 = HEAP8[$250>>0]|0; - $252 = ($251&255) >>> 5; - $253 = $252 & 1; - $254 = $253&255; - $255 = ($254|0)!=(0); - if (!($255)) { - $256 = HEAP32[$db>>2]|0; - $257 = ((($256)) + 160|0); - $258 = HEAP32[$257>>2]|0; - $259 = (($258) + -1)|0; - HEAP32[$257>>2] = $259; - } - $260 = HEAP32[$1>>2]|0; - $261 = ((($260)) + 89|0); - $262 = HEAP8[$261>>0]|0; - $263 = ($262&255) >>> 6; - $264 = $263 & 1; - $265 = $264&255; - $266 = ($265|0)!=(0); - if ($266) { - $267 = HEAP32[$db>>2]|0; - $268 = ((($267)) + 156|0); - $269 = HEAP32[$268>>2]|0; - $270 = (($269) + -1)|0; - HEAP32[$268>>2] = $270; - } - } - $271 = HEAP32[$1>>2]|0; - $272 = ((($271)) + 40|0); - HEAP32[$272>>2] = 1369188723; - $273 = HEAP32[$db>>2]|0; - $274 = ((($273)) + 69|0); - $275 = HEAP8[$274>>0]|0; - $276 = ($275<<24>>24)!=(0); - if ($276) { - $277 = HEAP32[$1>>2]|0; - $278 = ((($277)) + 80|0); - HEAP32[$278>>2] = 7; - } - $279 = HEAP32[$1>>2]|0; - $280 = ((($279)) + 80|0); - $281 = HEAP32[$280>>2]|0; - $282 = ($281|0)==(5); - $283 = $282 ? 5 : 0; - HEAP32[$0>>2] = $283; - $284 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($284|0); + $231 = HEAP32[$1>>2]|0; + $232 = ((($231)) + 36|0); + $233 = HEAP32[$232>>2]|0; + $234 = ($233|0)>=(0); + if ($234) { + $235 = HEAP32[$db>>2]|0; + $236 = ((($235)) + 156|0); + $237 = HEAP32[$236>>2]|0; + $238 = (($237) + -1)|0; + HEAP32[$236>>2] = $238; + $239 = HEAP32[$1>>2]|0; + $240 = ((($239)) + 144|0); + $241 = HEAP16[$240>>1]|0; + $242 = ($241&65535) >>> 7; + $243 = $242 & 1; + $244 = $243&65535; + $245 = ($244|0)!=(0); + if (!($245)) { + $246 = HEAP32[$db>>2]|0; + $247 = ((($246)) + 164|0); + $248 = HEAP32[$247>>2]|0; + $249 = (($248) + -1)|0; + HEAP32[$247>>2] = $249; + } + $250 = HEAP32[$1>>2]|0; + $251 = ((($250)) + 144|0); + $252 = HEAP16[$251>>1]|0; + $253 = ($252&65535) >>> 8; + $254 = $253 & 1; + $255 = $254&65535; + $256 = ($255|0)!=(0); + if ($256) { + $257 = HEAP32[$db>>2]|0; + $258 = ((($257)) + 160|0); + $259 = HEAP32[$258>>2]|0; + $260 = (($259) + -1)|0; + HEAP32[$258>>2] = $260; + } + } + $261 = HEAP32[$1>>2]|0; + $262 = ((($261)) + 20|0); + HEAP32[$262>>2] = 832317811; + $263 = HEAP32[$db>>2]|0; + $264 = ((($263)) + 69|0); + $265 = HEAP8[$264>>0]|0; + $266 = ($265<<24>>24)!=(0); + if ($266) { + $267 = HEAP32[$1>>2]|0; + $268 = ((($267)) + 40|0); + HEAP32[$268>>2] = 7; + } + $269 = HEAP32[$1>>2]|0; + $270 = ((($269)) + 40|0); + $271 = HEAP32[$270>>2]|0; + $272 = ($271|0)==(5); + $273 = $272 ? 5 : 0; + HEAP32[$0>>2] = $273; + $274 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($274|0); } function _out2Prerelease($p,$pOp) { $p = $p|0; @@ -223430,7 +227875,7 @@ function _out2Prerelease($p,$pOp) { $4 = ((($3)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 8|0); + $7 = ((($6)) + 92|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + (($5*40)|0)|0); HEAP32[$pOut>>2] = $9; @@ -223498,7 +227943,7 @@ function _sqlite3VdbeMemTooBig($p) { $22 = HEAP32[$1>>2]|0; $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 92|0); + $25 = ((($24)) + 96|0); $26 = HEAP32[$25>>2]|0; $27 = ($21|0)>($26|0); $28 = $27&1; @@ -223562,7 +228007,7 @@ function _sqlite3VdbeCheckFk($p,$deferred) { $31 = ($30|0)!=(0); if (!($31)) { $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 144|0); + $33 = ((($32)) + 64|0); $34 = $33; $35 = $34; $36 = HEAP32[$35>>2]|0; @@ -223584,13 +228029,13 @@ function _sqlite3VdbeCheckFk($p,$deferred) { } } while(0); $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 80|0); + $46 = ((($45)) + 40|0); HEAP32[$46>>2] = 787; $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 86|0); + $48 = ((($47)) + 142|0); HEAP8[$48>>0] = 2; $49 = HEAP32[$1>>2]|0; - _sqlite3VdbeError($49,35704,$vararg_buffer); + _sqlite3VdbeError($49,35189,$vararg_buffer); HEAP32[$0>>2] = 1; $50 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($50|0); @@ -223629,7 +228074,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { STACKTOP = sp;return ($93|0); } $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 104|0); + $9 = ((($8)) + 48|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0); if (!($11)) { @@ -223637,7 +228082,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { STACKTOP = sp;return ($93|0); } $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 104|0); + $13 = ((($12)) + 48|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) - 1)|0; HEAP32[$iSavepoint>>2] = $15; @@ -223696,7 +228141,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { $48 = (($47) + -1)|0; HEAP32[$46>>2] = $48; $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 104|0); + $50 = ((($49)) + 48|0); HEAP32[$50>>2] = 0; $51 = HEAP32[$rc>>2]|0; $52 = ($51|0)==(0); @@ -223725,7 +228170,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { STACKTOP = sp;return ($93|0); } $65 = HEAP32[$0>>2]|0; - $66 = ((($65)) + 152|0); + $66 = ((($65)) + 72|0); $67 = $66; $68 = $67; $69 = HEAP32[$68>>2]|0; @@ -223741,7 +228186,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { $78 = $77; HEAP32[$78>>2] = $72; $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 160|0); + $80 = ((($79)) + 80|0); $81 = $80; $82 = $81; $83 = HEAP32[$82>>2]|0; @@ -224064,24 +228509,17 @@ function _sqlite3MulInt64($pA,$0,$1) { var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $iA = 0, $iA0 = 0, $iA1 = 0, $iB0 = 0, $iB1 = 0, $or$cond = 0, $r = 0, label = 0, sp = 0; + var $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iA = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $2 = sp + 60|0; - $3 = sp + 56|0; - $4 = sp + 48|0; - $iA = sp + 40|0; - $iA1 = sp + 32|0; - $iA0 = sp + 24|0; - $iB1 = sp + 16|0; - $iB0 = sp + 8|0; - $r = sp; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $iA = sp; HEAP32[$3>>2] = $pA; $5 = $4; $6 = $5; @@ -224102,239 +228540,206 @@ function _sqlite3MulInt64($pA,$0,$1) { $18 = (($16) + 4)|0; $19 = $18; HEAP32[$19>>2] = $15; - $20 = $iA; + $20 = $4; $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = (($20) + 4)|0; $24 = $23; $25 = HEAP32[$24>>2]|0; - $26 = (___divdi3(($22|0),($25|0),0,1)|0); - $27 = tempRet0; - $28 = $iA1; - $29 = $28; - HEAP32[$29>>2] = $26; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = $27; - $32 = $iA; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (___remdi3(($34|0),($37|0),0,1)|0); - $39 = tempRet0; - $40 = $iA0; - $41 = $40; - HEAP32[$41>>2] = $38; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = $39; - $44 = $4; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (___divdi3(($46|0),($49|0),0,1)|0); - $51 = tempRet0; - $52 = $iB1; - $53 = $52; - HEAP32[$53>>2] = $50; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $51; - $56 = $4; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (___remdi3(($58|0),($61|0),0,1)|0); - $63 = tempRet0; - $64 = $iB0; - $65 = $64; - HEAP32[$65>>2] = $62; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $63; - $68 = $iA1; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = ($70|0)==(0); - $75 = ($73|0)==(0); - $76 = $74 & $75; - $77 = $iB1; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = ($79|0)==(0); - $84 = ($82|0)==(0); - $85 = $83 & $84; + $26 = ($25|0)>(0); + $27 = ($22>>>0)>(0); + $28 = ($25|0)==(0); + $29 = $28 & $27; + $30 = $26 | $29; do { - if ($76) { - if (!($85)) { - $105 = $iA0; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = $iB1; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; - $117 = (___muldi3(($107|0),($110|0),($113|0),($116|0))|0); - $118 = tempRet0; - $119 = $r; - $120 = $119; - HEAP32[$120>>2] = $117; - $121 = (($119) + 4)|0; - $122 = $121; - HEAP32[$122>>2] = $118; - break; + if ($30) { + $31 = $iA; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = $4; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (___divdi3(-1,2147483647,($39|0),($42|0))|0); + $44 = tempRet0; + $45 = ($36|0)>($44|0); + $46 = ($33>>>0)>($43>>>0); + $47 = ($36|0)==($44|0); + $48 = $47 & $46; + $49 = $45 | $48; + if ($49) { + HEAP32[$2>>2] = 1; + $173 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($173|0); + } + $50 = $iA; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + 4)|0; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = $4; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (($56) + 4)|0; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (___divdi3(0,-2147483648,($58|0),($61|0))|0); + $63 = tempRet0; + $64 = ($55|0)<($63|0); + $65 = ($52>>>0)<($62>>>0); + $66 = ($55|0)==($63|0); + $67 = $66 & $65; + $68 = $64 | $67; + if ($68) { + HEAP32[$2>>2] = 1; + $173 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($173|0); } - $86 = $4; - $87 = $86; - $88 = HEAP32[$87>>2]|0; - $89 = (($86) + 4)|0; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = HEAP32[$3>>2]|0; - $93 = $92; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (___muldi3(($95|0),($98|0),($88|0),($91|0))|0); - $100 = tempRet0; - $101 = $92; - $102 = $101; - HEAP32[$102>>2] = $99; - $103 = (($101) + 4)|0; - $104 = $103; - HEAP32[$104>>2] = $100; - HEAP32[$2>>2] = 0; - $202 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($202|0); } else { - if ($85) { - $123 = $iA1; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = (($123) + 4)|0; - $127 = $126; - $128 = HEAP32[$127>>2]|0; - $129 = $iB0; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (___muldi3(($125|0),($128|0),($131|0),($134|0))|0); - $136 = tempRet0; - $137 = $r; - $138 = $137; - HEAP32[$138>>2] = $135; - $139 = (($137) + 4)|0; - $140 = $139; - HEAP32[$140>>2] = $136; - break; + $69 = $4; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)<(0); + if ($75) { + $76 = $iA; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)>(0); + $83 = ($78>>>0)>(0); + $84 = ($81|0)==(0); + $85 = $84 & $83; + $86 = $82 | $85; + if ($86) { + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $iA; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (___divdi3(0,-2147483648,($95|0),($98|0))|0); + $100 = tempRet0; + $101 = ($92|0)<($100|0); + $102 = ($89>>>0)<($99>>>0); + $103 = ($92|0)==($100|0); + $104 = $103 & $102; + $105 = $101 | $104; + if (!($105)) { + break; + } + HEAP32[$2>>2] = 1; + $173 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($173|0); + } + $106 = $iA; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)<(0); + if ($112) { + $113 = $4; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = (($113) + 4)|0; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = ($115|0)==(0); + $120 = ($118|0)==(-2147483648); + $121 = $119 & $120; + if ($121) { + HEAP32[$2>>2] = 1; + $173 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($173|0); + } + $122 = $iA; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = ($124|0)==(0); + $129 = ($127|0)==(-2147483648); + $130 = $128 & $129; + if ($130) { + HEAP32[$2>>2] = 1; + $173 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($173|0); + } + $131 = $iA; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = (_i64Subtract(0,0,($133|0),($136|0))|0); + $138 = tempRet0; + $139 = $4; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (($139) + 4)|0; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (_i64Subtract(0,0,($141|0),($144|0))|0); + $146 = tempRet0; + $147 = (___divdi3(-1,2147483647,($145|0),($146|0))|0); + $148 = tempRet0; + $149 = ($138|0)>($148|0); + $150 = ($137>>>0)>($147>>>0); + $151 = ($138|0)==($148|0); + $152 = $151 & $150; + $153 = $149 | $152; + if ($153) { + HEAP32[$2>>2] = 1; + $173 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($173|0); + } + } } - HEAP32[$2>>2] = 1; - $202 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($202|0); } } while(0); - $141 = $r; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = (($141) + 4)|0; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)<(-1); - $148 = ($143>>>0)<(2147483648); - $149 = ($146|0)==(-1); - $150 = $149 & $148; - $151 = $147 | $150; - $152 = $r; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)>(0); - $159 = ($154>>>0)>=(2147483648); - $160 = ($157|0)==(0); - $161 = $160 & $159; - $162 = $158 | $161; - $or$cond = $151 | $162; - if ($or$cond) { - HEAP32[$2>>2] = 1; - $202 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($202|0); - } - $163 = $r; + $154 = $iA; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = $4; + $161 = $160; + $162 = HEAP32[$161>>2]|0; + $163 = (($160) + 4)|0; $164 = $163; $165 = HEAP32[$164>>2]|0; - $166 = (($163) + 4)|0; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $169 = (___muldi3(($165|0),($168|0),0,1)|0); - $170 = tempRet0; - $171 = $r; + $166 = (___muldi3(($156|0),($159|0),($162|0),($165|0))|0); + $167 = tempRet0; + $168 = HEAP32[$3>>2]|0; + $169 = $168; + $170 = $169; + HEAP32[$170>>2] = $166; + $171 = (($169) + 4)|0; $172 = $171; - HEAP32[$172>>2] = $169; - $173 = (($171) + 4)|0; - $174 = $173; - HEAP32[$174>>2] = $170; - $175 = $iA0; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = (($175) + 4)|0; - $179 = $178; - $180 = HEAP32[$179>>2]|0; - $181 = $iB0; - $182 = $181; - $183 = HEAP32[$182>>2]|0; - $184 = (($181) + 4)|0; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - $187 = (___muldi3(($177|0),($180|0),($183|0),($186|0))|0); - $188 = tempRet0; - $189 = (_sqlite3AddInt64($r,$187,$188)|0); - $190 = ($189|0)!=(0); - if ($190) { - HEAP32[$2>>2] = 1; - $202 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($202|0); - } else { - $191 = $r; - $192 = $191; - $193 = HEAP32[$192>>2]|0; - $194 = (($191) + 4)|0; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = HEAP32[$3>>2]|0; - $198 = $197; - $199 = $198; - HEAP32[$199>>2] = $193; - $200 = (($198) + 4)|0; - $201 = $200; - HEAP32[$201>>2] = $196; - HEAP32[$2>>2] = 0; - $202 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($202|0); - } - return (0)|0; + HEAP32[$172>>2] = $167; + HEAP32[$2>>2] = 0; + $173 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($173|0); } function _sqlite3VdbeDeleteAuxData($db,$pp,$iOp,$mask) { $db = $db|0; @@ -224736,42 +229141,7 @@ function _sqlite3VdbeCursorMoveto($pp,$piCol) { $41 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($41|0); } -function _sqlite3BtreeKeyFetch($pCur,$pAmt) { - $pCur = $pCur|0; - $pAmt = $pAmt|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $pAmt; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = (_fetchPayload($2,$3)|0); - STACKTOP = sp;return ($4|0); -} -function _sqlite3BtreeDataSize($pCur,$pSize) { - $pCur = $pCur|0; - $pSize = $pSize|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $1 = sp; - HEAP32[$0>>2] = $pCur; - HEAP32[$1>>2] = $pSize; - $2 = HEAP32[$0>>2]|0; - _getCellInfo($2); - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 16|0); - $5 = ((($4)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$1>>2]|0; - HEAP32[$7>>2] = $6; - STACKTOP = sp;return 0; -} -function _sqlite3BtreeDataFetch($pCur,$pAmt) { +function _sqlite3BtreePayloadFetch($pCur,$pAmt) { $pCur = $pCur|0; $pAmt = $pAmt|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; @@ -224793,7 +229163,7 @@ function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { $key = $key|0; $pMem = $pMem|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $rc = 0, $zData = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $rc = 0, $zData = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; @@ -224811,47 +229181,40 @@ function _sqlite3VdbeMemFromBtree($pCur,$offset,$amt,$key,$pMem) { HEAP32[$4>>2] = $pMem; HEAP32[$available>>2] = 0; HEAP32[$rc>>2] = 0; - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)!=(0); - $7 = HEAP32[$0>>2]|0; - if ($6) { - $8 = (_sqlite3BtreeKeyFetch($7,$available)|0); - HEAP32[$zData>>2] = $8; - } else { - $9 = (_sqlite3BtreeDataFetch($7,$available)|0); - HEAP32[$zData>>2] = $9; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = (($10) + ($11))|0; - $13 = HEAP32[$available>>2]|0; - $14 = ($12>>>0)<=($13>>>0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$zData>>2]|0; - $17 = (($16) + ($15)|0); - $18 = HEAP32[$4>>2]|0; - $19 = ((($18)) + 16|0); - HEAP32[$19>>2] = $17; + $5 = HEAP32[$0>>2]|0; + $6 = (_sqlite3BtreePayloadFetch($5,$available)|0); + HEAP32[$zData>>2] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$2>>2]|0; + $9 = (($7) + ($8))|0; + $10 = HEAP32[$available>>2]|0; + $11 = ($9>>>0)<=($10>>>0); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$zData>>2]|0; + $14 = (($13) + ($12)|0); + $15 = HEAP32[$4>>2]|0; + $16 = ((($15)) + 16|0); + HEAP32[$16>>2] = $14; + $17 = HEAP32[$4>>2]|0; + $18 = ((($17)) + 8|0); + HEAP16[$18>>1] = 4112; + $19 = HEAP32[$2>>2]|0; $20 = HEAP32[$4>>2]|0; - $21 = ((($20)) + 8|0); - HEAP16[$21>>1] = 4112; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = ((($23)) + 12|0); - HEAP32[$24>>2] = $22; - $31 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($31|0); + $21 = ((($20)) + 12|0); + HEAP32[$21>>2] = $19; + $28 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($28|0); } else { - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = HEAP32[$3>>2]|0; - $29 = HEAP32[$4>>2]|0; - $30 = (_vdbeMemFromBtreeResize($25,$26,$27,$28,$29)|0); - HEAP32[$rc>>2] = $30; - $31 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($31|0); + $22 = HEAP32[$0>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = HEAP32[$2>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = (_vdbeMemFromBtreeResize($22,$23,$24,$25,$26)|0); + HEAP32[$rc>>2] = $27; + $28 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($28|0); } return (0)|0; } @@ -224864,7 +229227,7 @@ function _sqlite3VdbeOneByteSerialTypeLen($serial_type) { HEAP8[$0>>0] = $serial_type; $1 = HEAP8[$0>>0]|0; $2 = $1&255; - $3 = (35576 + ($2)|0); + $3 = (35061 + ($2)|0); $4 = HEAP8[$3>>0]|0; STACKTOP = sp;return ($4|0); } @@ -225266,7 +229629,7 @@ function _sqlite3VdbeSerialPut($buf,$pMem,$serial_type) { HEAP32[$21>>2] = $17; } $22 = HEAP32[$3>>2]|0; - $23 = (35576 + ($22)|0); + $23 = (35061 + ($22)|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; HEAP32[$i>>2] = $25; @@ -225966,7 +230329,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $7 = ($6|0)!=(0); if ($7) { $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 144|0); + $9 = ((($8)) + 148|0); $10 = ((($9)) + 5|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; @@ -226026,7 +230389,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $46 = ($45|0)!=(0); if ($46) { $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 144|0); + $48 = ((($47)) + 148|0); $49 = ((($48)) + 5|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; @@ -226060,7 +230423,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $70 = $69 & -33554433; HEAP32[$68>>2] = $70; $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 208|0); + $72 = ((($71)) + 212|0); $73 = HEAP32[$72>>2]|0; $74 = ($73|0)!=(0|0); if (!($74)) { @@ -226078,10 +230441,10 @@ function _sqlite3RollbackAll($db,$tripCode) { } } $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 208|0); + $82 = ((($81)) + 212|0); $83 = HEAP32[$82>>2]|0; $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 204|0); + $85 = ((($84)) + 208|0); $86 = HEAP32[$85>>2]|0; FUNCTION_TABLE_vi[$83 & 255]($86); STACKTOP = sp;return; @@ -226183,17 +230546,17 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$eCurType) { $6 = ($5|0)>(0); $7 = HEAP32[$0>>2]|0; if ($6) { - $8 = ((($7)) + 28|0); + $8 = ((($7)) + 24|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$1>>2]|0; $11 = (($9) - ($10))|0; $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 8|0); + $13 = ((($12)) + 92|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) + (($11*40)|0)|0); $18 = $15; } else { - $16 = ((($7)) + 8|0); + $16 = ((($7)) + 92|0); $17 = HEAP32[$16>>2]|0; $18 = $17; } @@ -226215,7 +230578,7 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$eCurType) { HEAP32[$nByte>>2] = $26; $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 56|0); + $30 = ((($29)) + 112|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + ($28<<2)|0); $33 = HEAP32[$32>>2]|0; @@ -226224,14 +230587,14 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$eCurType) { $35 = HEAP32[$0>>2]|0; $36 = HEAP32[$1>>2]|0; $37 = HEAP32[$0>>2]|0; - $38 = ((($37)) + 56|0); + $38 = ((($37)) + 112|0); $39 = HEAP32[$38>>2]|0; $40 = (($39) + ($36<<2)|0); $41 = HEAP32[$40>>2]|0; _sqlite3VdbeFreeCursor($35,$41); $42 = HEAP32[$1>>2]|0; $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 56|0); + $44 = ((($43)) + 112|0); $45 = HEAP32[$44>>2]|0; $46 = (($45) + ($42<<2)|0); HEAP32[$46>>2] = 0; @@ -226250,7 +230613,7 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$eCurType) { HEAP32[$pCx>>2] = $53; $54 = HEAP32[$1>>2]|0; $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 56|0); + $56 = ((($55)) + 112|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + ($54<<2)|0); HEAP32[$58>>2] = $53; @@ -226323,7 +230686,7 @@ function _sqlite3BtreeCursor($p,$iTable,$wrFlag,$pKeyInfo,$pCur) { $5 = HEAP32[$1>>2]|0; $6 = ($5|0)<(1); if ($6) { - $7 = (_sqlite3CorruptError(61882)|0); + $7 = (_sqlite3CorruptError(62410)|0); HEAP32[$rc>>2] = $7; $15 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($15|0); @@ -226902,395 +231265,374 @@ function _sqlite3BtreeLast($pCur,$pRes) { $37 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($37|0); } -function _sqlite3BtreeInsert($pCur,$pKey,$0,$1,$pData,$nData,$nZero,$appendBias,$seekResult) { +function _sqlite3BtreeInsert($pCur,$pX,$appendBias,$seekResult) { $pCur = $pCur|0; - $pKey = $pKey|0; - $0 = $0|0; - $1 = $1|0; - $pData = $pData|0; - $nData = $nData|0; - $nZero = $nZero|0; + $pX = $pX|0; $appendBias = $appendBias|0; $seekResult = $seekResult|0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $idx = 0, $loc = 0, $newCell = 0, $oldCell = 0, $or$cond = 0; - var $p = 0, $pBt = 0, $pPage = 0, $rc = 0, $szNew = 0, $szOld = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $idx = 0, $loc = 0, $newCell = 0, $oldCell = 0, $p = 0, $pBt = 0, $pPage = 0, $rc = 0, $szNew = 0, $szOld = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp; - $6 = sp + 60|0; - $7 = sp + 56|0; - $8 = sp + 52|0; - $9 = sp + 48|0; - $10 = sp + 44|0; - $rc = sp + 40|0; - $loc = sp + 36|0; - $szNew = sp + 32|0; - $idx = sp + 28|0; - $pPage = sp + 24|0; - $p = sp + 20|0; - $pBt = sp + 16|0; - $oldCell = sp + 12|0; - $newCell = sp + 8|0; - $szOld = sp + 76|0; - HEAP32[$3>>2] = $pCur; - HEAP32[$4>>2] = $pKey; - $11 = $5; - $12 = $11; - HEAP32[$12>>2] = $0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = $1; - HEAP32[$6>>2] = $pData; - HEAP32[$7>>2] = $nData; - HEAP32[$8>>2] = $nZero; - HEAP32[$9>>2] = $appendBias; - HEAP32[$10>>2] = $seekResult; - $15 = HEAP32[$10>>2]|0; - HEAP32[$loc>>2] = $15; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 52|0; + $1 = sp + 48|0; + $2 = sp + 44|0; + $3 = sp + 40|0; + $4 = sp + 36|0; + $rc = sp + 32|0; + $loc = sp + 28|0; + $szNew = sp + 24|0; + $idx = sp + 20|0; + $pPage = sp + 16|0; + $p = sp + 12|0; + $pBt = sp + 8|0; + $oldCell = sp + 4|0; + $newCell = sp; + $szOld = sp + 56|0; + HEAP32[$1>>2] = $pCur; + HEAP32[$2>>2] = $pX; + HEAP32[$3>>2] = $appendBias; + HEAP32[$4>>2] = $seekResult; + $5 = HEAP32[$4>>2]|0; + HEAP32[$loc>>2] = $5; HEAP32[$szNew>>2] = 0; - $16 = HEAP32[$3>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$p>>2] = $17; - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pBt>>2] = $20; + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$p>>2] = $7; + $8 = HEAP32[$p>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$pBt>>2] = $10; HEAP32[$newCell>>2] = 0; - $21 = HEAP32[$3>>2]|0; - $22 = ((($21)) + 66|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = ($24|0)==(4); - $26 = HEAP32[$3>>2]|0; - if ($25) { - $27 = ((($26)) + 60|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$2>>2] = $28; - $256 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($256|0); + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 66|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(4); + $16 = HEAP32[$1>>2]|0; + if ($15) { + $17 = ((($16)) + 60|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$0>>2] = $18; + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } - $29 = ((($26)) + 64|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = $31 & 32; - $33 = ($32|0)!=(0); - if ($33) { - $34 = HEAP32[$pBt>>2]|0; - $35 = HEAP32[$3>>2]|0; - $36 = ((($35)) + 52|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$3>>2]|0; - $39 = (_saveAllCursors($34,$37,$38)|0); - HEAP32[$rc>>2] = $39; - $40 = HEAP32[$rc>>2]|0; - $41 = ($40|0)!=(0); - if ($41) { - $42 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $42; - $256 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($256|0); + $19 = ((($16)) + 64|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 & 32; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$pBt>>2]|0; + $25 = HEAP32[$1>>2]|0; + $26 = ((($25)) + 52|0); + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = (_saveAllCursors($24,$27,$28)|0); + HEAP32[$rc>>2] = $29; + $30 = HEAP32[$rc>>2]|0; + $31 = ($30|0)!=(0); + if ($31) { + $32 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $32; + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } } - $43 = HEAP32[$3>>2]|0; - $44 = ((($43)) + 72|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0|0); + $33 = HEAP32[$1>>2]|0; + $34 = ((($33)) + 72|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); do { - if ($46) { - $47 = HEAP32[$p>>2]|0; - $48 = $5; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = (($48) + 4)|0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - _invalidateIncrblobCursors($47,$50,$53,0); - $54 = HEAP32[$3>>2]|0; - $55 = ((($54)) + 64|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = $57 & 2; - $59 = ($58|0)!=(0); - $60 = $5; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)>(0); - $67 = ($62>>>0)>(0); - $68 = ($65|0)==(0); - $69 = $68 & $67; - $70 = $66 | $69; - $or$cond = $59 & $70; - if ($or$cond) { - $71 = HEAP32[$3>>2]|0; - $72 = ((($71)) + 16|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = $5; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (($79) + 4)|0; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (_i64Subtract(($81|0),($84|0),1,0)|0); - $86 = tempRet0; - $87 = ($75|0)==($85|0); - $88 = ($78|0)==($86|0); - $89 = $87 & $88; - if ($89) { - HEAP32[$loc>>2] = -1; - break; + if ($36) { + $37 = HEAP32[$p>>2]|0; + $38 = HEAP32[$2>>2]|0; + $39 = ((($38)) + 8|0); + $40 = $39; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + _invalidateIncrblobCursors($37,$42,$45,0); + $46 = HEAP32[$1>>2]|0; + $47 = ((($46)) + 64|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = $49 & 2; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 8|0); + $54 = $53; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)>(0); + $61 = ($56>>>0)>(0); + $62 = ($59|0)==(0); + $63 = $62 & $61; + $64 = $60 | $63; + if ($64) { + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 16|0); + $67 = $66; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 8|0); + $75 = $74; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_i64Subtract(($77|0),($80|0),1,0)|0); + $82 = tempRet0; + $83 = ($69|0)==($81|0); + $84 = ($72|0)==($82|0); + $85 = $83 & $84; + if ($85) { + HEAP32[$loc>>2] = -1; + break; + } } } - $90 = HEAP32[$loc>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - $92 = HEAP32[$3>>2]|0; - $93 = $5; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$9>>2]|0; - $100 = (_sqlite3BtreeMovetoUnpacked($92,0,$95,$98,$99,$loc)|0); - HEAP32[$rc>>2] = $100; - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)!=(0); - if ($102) { - $103 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $103; - $256 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($256|0); + $86 = HEAP32[$loc>>2]|0; + $87 = ($86|0)==(0); + if ($87) { + $88 = HEAP32[$1>>2]|0; + $89 = HEAP32[$2>>2]|0; + $90 = ((($89)) + 8|0); + $91 = $90; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (($91) + 4)|0; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = HEAP32[$3>>2]|0; + $98 = (_sqlite3BtreeMovetoUnpacked($88,0,$93,$96,$97,$loc)|0); + HEAP32[$rc>>2] = $98; + $99 = HEAP32[$rc>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + $101 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $101; + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } } } else { - $104 = HEAP32[$loc>>2]|0; - $105 = ($104|0)==(0); - if ($105) { - $106 = HEAP32[$3>>2]|0; - $107 = HEAP32[$4>>2]|0; - $108 = $5; + $102 = HEAP32[$loc>>2]|0; + $103 = ($102|0)==(0); + if ($103) { + $104 = HEAP32[$1>>2]|0; + $105 = HEAP32[$2>>2]|0; + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 8|0); $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (($108) + 4)|0; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$9>>2]|0; - $115 = (_btreeMoveto($106,$107,$110,$113,$114,$loc)|0); - HEAP32[$rc>>2] = $115; - $116 = HEAP32[$rc>>2]|0; - $117 = ($116|0)!=(0); - if ($117) { - $118 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $118; - $256 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($256|0); + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$3>>2]|0; + $116 = (_btreeMoveto($104,$106,$111,$114,$115,$loc)|0); + HEAP32[$rc>>2] = $116; + $117 = HEAP32[$rc>>2]|0; + $118 = ($117|0)!=(0); + if ($118) { + $119 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $119; + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } } } } while(0); - $119 = HEAP32[$3>>2]|0; - $120 = ((($119)) + 68|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121 << 24 >> 24; - $123 = HEAP32[$3>>2]|0; - $124 = ((($123)) + 120|0); - $125 = (($124) + ($122<<2)|0); - $126 = HEAP32[$125>>2]|0; - HEAP32[$pPage>>2] = $126; - $127 = HEAP32[$pBt>>2]|0; - $128 = ((($127)) + 80|0); - $129 = HEAP32[$128>>2]|0; - HEAP32[$newCell>>2] = $129; - $130 = HEAP32[$pPage>>2]|0; - $131 = HEAP32[$newCell>>2]|0; - $132 = HEAP32[$4>>2]|0; - $133 = $5; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (($133) + 4)|0; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = HEAP32[$6>>2]|0; - $140 = HEAP32[$7>>2]|0; - $141 = HEAP32[$8>>2]|0; - $142 = (_fillInCell($130,$131,$132,$135,$138,$139,$140,$141,$szNew)|0); - HEAP32[$rc>>2] = $142; - $143 = HEAP32[$rc>>2]|0; - $144 = ($143|0)!=(0); + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 68|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122 << 24 >> 24; + $124 = HEAP32[$1>>2]|0; + $125 = ((($124)) + 120|0); + $126 = (($125) + ($123<<2)|0); + $127 = HEAP32[$126>>2]|0; + HEAP32[$pPage>>2] = $127; + $128 = HEAP32[$pBt>>2]|0; + $129 = ((($128)) + 80|0); + $130 = HEAP32[$129>>2]|0; + HEAP32[$newCell>>2] = $130; + $131 = HEAP32[$pPage>>2]|0; + $132 = HEAP32[$newCell>>2]|0; + $133 = HEAP32[$2>>2]|0; + $134 = (_fillInCell($131,$132,$133,$szNew)|0); + HEAP32[$rc>>2] = $134; + $135 = HEAP32[$rc>>2]|0; + $136 = ($135|0)!=(0); do { - if (!($144)) { - $145 = HEAP32[$3>>2]|0; - $146 = ((($145)) + 68|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147 << 24 >> 24; - $149 = HEAP32[$3>>2]|0; - $150 = ((($149)) + 80|0); - $151 = (($150) + ($148<<1)|0); - $152 = HEAP16[$151>>1]|0; - $153 = $152&65535; - HEAP32[$idx>>2] = $153; - $154 = HEAP32[$loc>>2]|0; - $155 = ($154|0)==(0); - if ($155) { - $156 = HEAP32[$pPage>>2]|0; - $157 = ((($156)) + 72|0); - $158 = HEAP32[$157>>2]|0; - $159 = (_sqlite3PagerWrite($158)|0); - HEAP32[$rc>>2] = $159; - $160 = HEAP32[$rc>>2]|0; - $161 = ($160|0)!=(0); - if ($161) { + if (!($136)) { + $137 = HEAP32[$1>>2]|0; + $138 = ((($137)) + 68|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139 << 24 >> 24; + $141 = HEAP32[$1>>2]|0; + $142 = ((($141)) + 80|0); + $143 = (($142) + ($140<<1)|0); + $144 = HEAP16[$143>>1]|0; + $145 = $144&65535; + HEAP32[$idx>>2] = $145; + $146 = HEAP32[$loc>>2]|0; + $147 = ($146|0)==(0); + if ($147) { + $148 = HEAP32[$pPage>>2]|0; + $149 = ((($148)) + 72|0); + $150 = HEAP32[$149>>2]|0; + $151 = (_sqlite3PagerWrite($150)|0); + HEAP32[$rc>>2] = $151; + $152 = HEAP32[$rc>>2]|0; + $153 = ($152|0)!=(0); + if ($153) { break; } - $162 = HEAP32[$pPage>>2]|0; - $163 = ((($162)) + 56|0); - $164 = HEAP32[$163>>2]|0; - $165 = HEAP32[$pPage>>2]|0; - $166 = ((($165)) + 20|0); - $167 = HEAP16[$166>>1]|0; - $168 = $167&65535; - $169 = HEAP32[$idx>>2]|0; - $170 = $169<<1; - $171 = HEAP32[$pPage>>2]|0; - $172 = ((($171)) + 64|0); - $173 = HEAP32[$172>>2]|0; - $174 = (($173) + ($170)|0); - $175 = HEAP8[$174>>0]|0; - $176 = $175&255; - $177 = $176 << 8; - $178 = HEAP32[$idx>>2]|0; - $179 = $178<<1; - $180 = HEAP32[$pPage>>2]|0; - $181 = ((($180)) + 64|0); - $182 = HEAP32[$181>>2]|0; - $183 = (($182) + ($179)|0); - $184 = ((($183)) + 1|0); - $185 = HEAP8[$184>>0]|0; - $186 = $185&255; - $187 = $177 | $186; - $188 = $168 & $187; - $189 = (($164) + ($188)|0); - HEAP32[$oldCell>>2] = $189; - $190 = HEAP32[$pPage>>2]|0; - $191 = ((($190)) + 4|0); - $192 = HEAP8[$191>>0]|0; - $193 = ($192<<24>>24)!=(0); - if (!($193)) { - $194 = HEAP32[$newCell>>2]|0; - $195 = HEAP32[$oldCell>>2]|0; - ;HEAP8[$194>>0]=HEAP8[$195>>0]|0;HEAP8[$194+1>>0]=HEAP8[$195+1>>0]|0;HEAP8[$194+2>>0]=HEAP8[$195+2>>0]|0;HEAP8[$194+3>>0]=HEAP8[$195+3>>0]|0; - } - $196 = HEAP32[$pPage>>2]|0; - $197 = HEAP32[$oldCell>>2]|0; - $198 = (_clearCell($196,$197,$szOld)|0); - HEAP32[$rc>>2] = $198; - $199 = HEAP32[$pPage>>2]|0; - $200 = HEAP32[$idx>>2]|0; - $201 = HEAP16[$szOld>>1]|0; - $202 = $201&65535; - _dropCell($199,$200,$202,$rc); - $203 = HEAP32[$rc>>2]|0; - $204 = ($203|0)!=(0); - if ($204) { + $154 = HEAP32[$pPage>>2]|0; + $155 = ((($154)) + 56|0); + $156 = HEAP32[$155>>2]|0; + $157 = HEAP32[$pPage>>2]|0; + $158 = ((($157)) + 20|0); + $159 = HEAP16[$158>>1]|0; + $160 = $159&65535; + $161 = HEAP32[$idx>>2]|0; + $162 = $161<<1; + $163 = HEAP32[$pPage>>2]|0; + $164 = ((($163)) + 64|0); + $165 = HEAP32[$164>>2]|0; + $166 = (($165) + ($162)|0); + $167 = HEAP8[$166>>0]|0; + $168 = $167&255; + $169 = $168 << 8; + $170 = HEAP32[$idx>>2]|0; + $171 = $170<<1; + $172 = HEAP32[$pPage>>2]|0; + $173 = ((($172)) + 64|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + ($171)|0); + $176 = ((($175)) + 1|0); + $177 = HEAP8[$176>>0]|0; + $178 = $177&255; + $179 = $169 | $178; + $180 = $160 & $179; + $181 = (($156) + ($180)|0); + HEAP32[$oldCell>>2] = $181; + $182 = HEAP32[$pPage>>2]|0; + $183 = ((($182)) + 4|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)!=(0); + if (!($185)) { + $186 = HEAP32[$newCell>>2]|0; + $187 = HEAP32[$oldCell>>2]|0; + ;HEAP8[$186>>0]=HEAP8[$187>>0]|0;HEAP8[$186+1>>0]=HEAP8[$187+1>>0]|0;HEAP8[$186+2>>0]=HEAP8[$187+2>>0]|0;HEAP8[$186+3>>0]=HEAP8[$187+3>>0]|0; + } + $188 = HEAP32[$pPage>>2]|0; + $189 = HEAP32[$oldCell>>2]|0; + $190 = (_clearCell($188,$189,$szOld)|0); + HEAP32[$rc>>2] = $190; + $191 = HEAP32[$pPage>>2]|0; + $192 = HEAP32[$idx>>2]|0; + $193 = HEAP16[$szOld>>1]|0; + $194 = $193&65535; + _dropCell($191,$192,$194,$rc); + $195 = HEAP32[$rc>>2]|0; + $196 = ($195|0)!=(0); + if ($196) { break; } } else { - $205 = HEAP32[$loc>>2]|0; - $206 = ($205|0)<(0); - if ($206) { - $207 = HEAP32[$pPage>>2]|0; - $208 = ((($207)) + 18|0); - $209 = HEAP16[$208>>1]|0; - $210 = $209&65535; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$3>>2]|0; - $213 = ((($212)) + 68|0); - $214 = HEAP8[$213>>0]|0; - $215 = $214 << 24 >> 24; - $216 = HEAP32[$3>>2]|0; - $217 = ((($216)) + 80|0); - $218 = (($217) + ($215<<1)|0); - $219 = HEAP16[$218>>1]|0; - $220 = (($219) + 1)<<16>>16; - HEAP16[$218>>1] = $220; - $221 = $220&65535; - HEAP32[$idx>>2] = $221; - } - } - } - $222 = HEAP32[$pPage>>2]|0; - $223 = HEAP32[$idx>>2]|0; - $224 = HEAP32[$newCell>>2]|0; - $225 = HEAP32[$szNew>>2]|0; - _insertCell($222,$223,$224,$225,0,0,$rc); - $226 = HEAP32[$3>>2]|0; - $227 = ((($226)) + 16|0); - $228 = ((($227)) + 18|0); - HEAP16[$228>>1] = 0; - $229 = HEAP32[$rc>>2]|0; - $230 = ($229|0)==(0); - if ($230) { - $231 = HEAP32[$pPage>>2]|0; - $232 = ((($231)) + 1|0); - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = ($234|0)!=(0); - if ($235) { - $236 = HEAP32[$3>>2]|0; - $237 = ((($236)) + 64|0); - $238 = HEAP8[$237>>0]|0; - $239 = $238&255; - $240 = $239 & -3; - $241 = $240&255; - HEAP8[$237>>0] = $241; - $242 = HEAP32[$3>>2]|0; - $243 = (_balance($242)|0); - HEAP32[$rc>>2] = $243; - $244 = HEAP32[$3>>2]|0; - $245 = ((($244)) + 68|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246 << 24 >> 24; - $248 = HEAP32[$3>>2]|0; - $249 = ((($248)) + 120|0); - $250 = (($249) + ($247<<2)|0); - $251 = HEAP32[$250>>2]|0; - $252 = ((($251)) + 1|0); - HEAP8[$252>>0] = 0; - $253 = HEAP32[$3>>2]|0; - $254 = ((($253)) + 66|0); - HEAP8[$254>>0] = 0; - } + $197 = HEAP32[$loc>>2]|0; + $198 = ($197|0)<(0); + if ($198) { + $199 = HEAP32[$pPage>>2]|0; + $200 = ((($199)) + 18|0); + $201 = HEAP16[$200>>1]|0; + $202 = $201&65535; + $203 = ($202|0)>(0); + if ($203) { + $204 = HEAP32[$1>>2]|0; + $205 = ((($204)) + 68|0); + $206 = HEAP8[$205>>0]|0; + $207 = $206 << 24 >> 24; + $208 = HEAP32[$1>>2]|0; + $209 = ((($208)) + 80|0); + $210 = (($209) + ($207<<1)|0); + $211 = HEAP16[$210>>1]|0; + $212 = (($211) + 1)<<16>>16; + HEAP16[$210>>1] = $212; + $213 = $212&65535; + HEAP32[$idx>>2] = $213; + } + } + } + $214 = HEAP32[$pPage>>2]|0; + $215 = HEAP32[$idx>>2]|0; + $216 = HEAP32[$newCell>>2]|0; + $217 = HEAP32[$szNew>>2]|0; + _insertCell($214,$215,$216,$217,0,0,$rc); + $218 = HEAP32[$1>>2]|0; + $219 = ((($218)) + 16|0); + $220 = ((($219)) + 18|0); + HEAP16[$220>>1] = 0; + $221 = HEAP32[$pPage>>2]|0; + $222 = ((($221)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)!=(0); + if ($224) { + $225 = HEAP32[$1>>2]|0; + $226 = ((($225)) + 64|0); + $227 = HEAP8[$226>>0]|0; + $228 = $227&255; + $229 = $228 & -3; + $230 = $229&255; + HEAP8[$226>>0] = $230; + $231 = HEAP32[$1>>2]|0; + $232 = (_balance($231)|0); + HEAP32[$rc>>2] = $232; + $233 = HEAP32[$1>>2]|0; + $234 = ((($233)) + 68|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235 << 24 >> 24; + $237 = HEAP32[$1>>2]|0; + $238 = ((($237)) + 120|0); + $239 = (($238) + ($236<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ((($240)) + 1|0); + HEAP8[$241>>0] = 0; + $242 = HEAP32[$1>>2]|0; + $243 = ((($242)) + 66|0); + HEAP8[$243>>0] = 0; } } } while(0); - $255 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $255; - $256 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($256|0); + $244 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $244; + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } function _sqlite3BtreeDelete($pCur,$flags) { $pCur = $pCur|0; @@ -227305,12 +231647,12 @@ function _sqlite3BtreeDelete($pCur,$flags) { var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bPreserve = 0, $bSkipnext = 0, $iCellDepth = 0, $iCellIdx = 0, $n = 0, $nCell = 0, $notUsed = 0, $p = 0, $pBt = 0, $pCell = 0, $pLeaf = 0, $pPage = 0; - var $pTmp = 0, $rc = 0, $szCell = 0, label = 0, sp = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bPreserve = 0, $bSkipnext = 0, $iCellDepth = 0, $iCellIdx = 0, $n = 0, $nCell = 0, $notUsed = 0, $p = 0, $pBt = 0, $pCell = 0; + var $pLeaf = 0, $pPage = 0, $pTmp = 0, $rc = 0, $szCell = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 56|0; @@ -227431,8 +231773,8 @@ function _sqlite3BtreeDelete($pCur,$flags) { if ($80) { $81 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $81; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } } } while(0); @@ -227450,8 +231792,8 @@ function _sqlite3BtreeDelete($pCur,$flags) { if ($89) { $90 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $90; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } } $91 = HEAP32[$1>>2]|0; @@ -227473,8 +231815,8 @@ function _sqlite3BtreeDelete($pCur,$flags) { if ($104) { $105 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $105; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } } $106 = HEAP32[$1>>2]|0; @@ -227503,8 +231845,8 @@ function _sqlite3BtreeDelete($pCur,$flags) { if ($124) { $125 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $125; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } $126 = HEAP32[$pPage>>2]|0; $127 = HEAP32[$pCell>>2]|0; @@ -227520,8 +231862,8 @@ function _sqlite3BtreeDelete($pCur,$flags) { if ($134) { $135 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $135; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } $136 = HEAP32[$pPage>>2]|0; $137 = ((($136)) + 4|0); @@ -227590,10 +231932,10 @@ function _sqlite3BtreeDelete($pCur,$flags) { $196 = ((($195)) + 4|0); $197 = ($192>>>0)<($196>>>0); if ($197) { - $198 = (_sqlite3CorruptError(65938)|0); + $198 = (_sqlite3CorruptError(66449)|0); HEAP32[$0>>2] = $198; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } $199 = HEAP32[$pLeaf>>2]|0; $200 = ((($199)) + 76|0); @@ -227612,125 +231954,129 @@ function _sqlite3BtreeDelete($pCur,$flags) { $211 = HEAP32[$210>>2]|0; $212 = (_sqlite3PagerWrite($211)|0); HEAP32[$rc>>2] = $212; - $213 = HEAP32[$pPage>>2]|0; - $214 = HEAP32[$iCellIdx>>2]|0; - $215 = HEAP32[$pCell>>2]|0; - $216 = ((($215)) + -4|0); - $217 = HEAP32[$nCell>>2]|0; - $218 = (($217) + 4)|0; - $219 = HEAP32[$pTmp>>2]|0; - $220 = HEAP32[$n>>2]|0; - _insertCell($213,$214,$216,$218,$219,$220,$rc); - $221 = HEAP32[$pLeaf>>2]|0; - $222 = HEAP32[$pLeaf>>2]|0; - $223 = ((($222)) + 18|0); - $224 = HEAP16[$223>>1]|0; - $225 = $224&65535; - $226 = (($225) - 1)|0; - $227 = HEAP32[$nCell>>2]|0; - _dropCell($221,$226,$227,$rc); - $228 = HEAP32[$rc>>2]|0; - $229 = ($228|0)!=(0); - if ($229) { - $230 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $230; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); - } - } - $231 = HEAP32[$1>>2]|0; - $232 = (_balance($231)|0); - HEAP32[$rc>>2] = $232; - $233 = HEAP32[$rc>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - $235 = HEAP32[$1>>2]|0; - $236 = ((($235)) + 68|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237 << 24 >> 24; - $239 = HEAP32[$iCellDepth>>2]|0; - $240 = ($238|0)>($239|0); - if ($240) { + $213 = HEAP32[$rc>>2]|0; + $214 = ($213|0)==(0); + if ($214) { + $215 = HEAP32[$pPage>>2]|0; + $216 = HEAP32[$iCellIdx>>2]|0; + $217 = HEAP32[$pCell>>2]|0; + $218 = ((($217)) + -4|0); + $219 = HEAP32[$nCell>>2]|0; + $220 = (($219) + 4)|0; + $221 = HEAP32[$pTmp>>2]|0; + $222 = HEAP32[$n>>2]|0; + _insertCell($215,$216,$218,$220,$221,$222,$rc); + } + $223 = HEAP32[$pLeaf>>2]|0; + $224 = HEAP32[$pLeaf>>2]|0; + $225 = ((($224)) + 18|0); + $226 = HEAP16[$225>>1]|0; + $227 = $226&65535; + $228 = (($227) - 1)|0; + $229 = HEAP32[$nCell>>2]|0; + _dropCell($223,$228,$229,$rc); + $230 = HEAP32[$rc>>2]|0; + $231 = ($230|0)!=(0); + if ($231) { + $232 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $232; + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); + } + } + $233 = HEAP32[$1>>2]|0; + $234 = (_balance($233)|0); + HEAP32[$rc>>2] = $234; + $235 = HEAP32[$rc>>2]|0; + $236 = ($235|0)==(0); + if ($236) { + $237 = HEAP32[$1>>2]|0; + $238 = ((($237)) + 68|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239 << 24 >> 24; + $241 = HEAP32[$iCellDepth>>2]|0; + $242 = ($240|0)>($241|0); + if ($242) { while(1) { - $241 = HEAP32[$1>>2]|0; - $242 = ((($241)) + 68|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243 << 24 >> 24; - $245 = HEAP32[$iCellDepth>>2]|0; - $246 = ($244|0)>($245|0); - $247 = HEAP32[$1>>2]|0; - if (!($246)) { + $243 = HEAP32[$1>>2]|0; + $244 = ((($243)) + 68|0); + $245 = HEAP8[$244>>0]|0; + $246 = $245 << 24 >> 24; + $247 = HEAP32[$iCellDepth>>2]|0; + $248 = ($246|0)>($247|0); + $249 = HEAP32[$1>>2]|0; + if (!($248)) { break; } - $248 = ((($247)) + 68|0); - $249 = HEAP8[$248>>0]|0; - $250 = (($249) + -1)<<24>>24; - HEAP8[$248>>0] = $250; - $251 = $249 << 24 >> 24; - $252 = HEAP32[$1>>2]|0; - $253 = ((($252)) + 120|0); - $254 = (($253) + ($251<<2)|0); - $255 = HEAP32[$254>>2]|0; - _releasePage($255); + $250 = ((($249)) + 68|0); + $251 = HEAP8[$250>>0]|0; + $252 = (($251) + -1)<<24>>24; + HEAP8[$250>>0] = $252; + $253 = $251 << 24 >> 24; + $254 = HEAP32[$1>>2]|0; + $255 = ((($254)) + 120|0); + $256 = (($255) + ($253<<2)|0); + $257 = HEAP32[$256>>2]|0; + _releasePage($257); } - $256 = (_balance($247)|0); - HEAP32[$rc>>2] = $256; + $258 = (_balance($249)|0); + HEAP32[$rc>>2] = $258; } } - $257 = HEAP32[$rc>>2]|0; - $258 = ($257|0)==(0); + $259 = HEAP32[$rc>>2]|0; + $260 = ($259|0)==(0); do { - if ($258) { - $259 = HEAP32[$bSkipnext>>2]|0; - $260 = ($259|0)!=(0); - $261 = HEAP32[$1>>2]|0; - if (!($260)) { - $281 = (_moveToRoot($261)|0); - HEAP32[$rc>>2] = $281; - $282 = HEAP8[$bPreserve>>0]|0; - $283 = ($282<<24>>24)!=(0); - if (!($283)) { + if ($260) { + $261 = HEAP32[$bSkipnext>>2]|0; + $262 = ($261|0)!=(0); + $263 = HEAP32[$1>>2]|0; + if (!($262)) { + $283 = (_moveToRoot($263)|0); + HEAP32[$rc>>2] = $283; + $284 = HEAP8[$bPreserve>>0]|0; + $285 = ($284<<24>>24)!=(0); + if (!($285)) { break; } - $284 = HEAP32[$1>>2]|0; - $285 = ((($284)) + 66|0); - HEAP8[$285>>0] = 3; + $286 = HEAP32[$1>>2]|0; + $287 = ((($286)) + 66|0); + HEAP8[$287>>0] = 3; break; } - $262 = ((($261)) + 66|0); - HEAP8[$262>>0] = 2; - $263 = HEAP32[$iCellIdx>>2]|0; - $264 = HEAP32[$pPage>>2]|0; - $265 = ((($264)) + 18|0); - $266 = HEAP16[$265>>1]|0; - $267 = $266&65535; - $268 = ($263|0)>=($267|0); - $269 = HEAP32[$1>>2]|0; - $270 = ((($269)) + 60|0); - if ($268) { - HEAP32[$270>>2] = -1; - $271 = HEAP32[$pPage>>2]|0; - $272 = ((($271)) + 18|0); - $273 = HEAP16[$272>>1]|0; - $274 = $273&65535; - $275 = (($274) - 1)|0; + $264 = ((($263)) + 66|0); + HEAP8[$264>>0] = 2; + $265 = HEAP32[$iCellIdx>>2]|0; + $266 = HEAP32[$pPage>>2]|0; + $267 = ((($266)) + 18|0); + $268 = HEAP16[$267>>1]|0; + $269 = $268&65535; + $270 = ($265|0)>=($269|0); + $271 = HEAP32[$1>>2]|0; + $272 = ((($271)) + 60|0); + if ($270) { + HEAP32[$272>>2] = -1; + $273 = HEAP32[$pPage>>2]|0; + $274 = ((($273)) + 18|0); + $275 = HEAP16[$274>>1]|0; $276 = $275&65535; - $277 = HEAP32[$iCellDepth>>2]|0; - $278 = HEAP32[$1>>2]|0; - $279 = ((($278)) + 80|0); - $280 = (($279) + ($277<<1)|0); - HEAP16[$280>>1] = $276; + $277 = (($276) - 1)|0; + $278 = $277&65535; + $279 = HEAP32[$iCellDepth>>2]|0; + $280 = HEAP32[$1>>2]|0; + $281 = ((($280)) + 80|0); + $282 = (($281) + ($279<<1)|0); + HEAP16[$282>>1] = $278; break; } else { - HEAP32[$270>>2] = 1; + HEAP32[$272>>2] = 1; break; } } } while(0); - $286 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $286; - $287 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($287|0); + $288 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $288; + $289 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($289|0); } function _sqlite3VdbeSorterCompare($pCsr,$pVal,$nKeyCol,$pRes) { $pCsr = $pCsr|0; @@ -227936,7 +232282,7 @@ function _sqlite3VtabImportErrmsg($p,$pVtab) { HEAP32[$db>>2] = $7; $8 = HEAP32[$db>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 44|0); + $10 = ((($9)) + 108|0); $11 = HEAP32[$10>>2]|0; _sqlite3DbFree($8,$11); $12 = HEAP32[$db>>2]|0; @@ -227945,7 +232291,7 @@ function _sqlite3VtabImportErrmsg($p,$pVtab) { $15 = HEAP32[$14>>2]|0; $16 = (_sqlite3DbStrDup($12,$15)|0); $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 44|0); + $18 = ((($17)) + 108|0); HEAP32[$18>>2] = $16; $19 = HEAP32[$1>>2]|0; $20 = ((($19)) + 8|0); @@ -228549,7 +232895,8 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $lenRowid = 0, $m = 0, $nCellKey = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $szHdr = 0, $typeRowid = 0, $v = 0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $lenRowid = 0, $m = 0, $nCellKey = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, $szHdr = 0; + var $typeRowid = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 116|0; @@ -228573,124 +232920,130 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { $7 = $6; HEAP32[$7>>2] = 0; $8 = HEAP32[$2>>2]|0; - (_sqlite3BtreeKeySize($8,$nCellKey)|0); - $9 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemInit($m,$9,0); - $10 = HEAP32[$2>>2]|0; - $11 = $nCellKey; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3VdbeMemFromBtree($10,0,$13,1,$m)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - $20 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $20; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); + $9 = (_sqlite3BtreePayloadSize($8)|0); + $10 = $nCellKey; + $11 = $10; + HEAP32[$11>>2] = $9; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = 0; + $14 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemInit($m,$14,0); + $15 = HEAP32[$2>>2]|0; + $16 = $nCellKey; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (_sqlite3VdbeMemFromBtree($15,0,$18,1,$m)|0); + HEAP32[$rc>>2] = $22; + $23 = HEAP32[$rc>>2]|0; + $24 = ($23|0)!=(0); + if ($24) { + $25 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $25; + $92 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($92|0); } - $21 = ((($m)) + 16|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = ($24|0)<(128); $26 = ((($m)) + 16|0); $27 = HEAP32[$26>>2]|0; - if ($25) { - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - HEAP32[$szHdr>>2] = $29; + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = ($29|0)<(128); + $31 = ((($m)) + 16|0); + $32 = HEAP32[$31>>2]|0; + if ($30) { + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + HEAP32[$szHdr>>2] = $34; } else { - (_sqlite3GetVarint32($27,$szHdr)|0); + (_sqlite3GetVarint32($32,$szHdr)|0); } - $30 = HEAP32[$szHdr>>2]|0; - $31 = ($30>>>0)<(3); - if (!($31)) { - $32 = HEAP32[$szHdr>>2]|0; - $33 = ((($m)) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($32|0)>($34|0); - if (!($35)) { - $36 = HEAP32[$szHdr>>2]|0; - $37 = (($36) - 1)|0; - $38 = ((($m)) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = (($39) + ($37)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($42|0)<(128); - $44 = HEAP32[$szHdr>>2]|0; - $45 = (($44) - 1)|0; - $46 = ((($m)) + 16|0); - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($45)|0); - if ($43) { - $49 = HEAP8[$48>>0]|0; - $50 = $49&255; - HEAP32[$typeRowid>>2] = $50; + $35 = HEAP32[$szHdr>>2]|0; + $36 = ($35>>>0)<(3); + if (!($36)) { + $37 = HEAP32[$szHdr>>2]|0; + $38 = ((($m)) + 12|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($37|0)>($39|0); + if (!($40)) { + $41 = HEAP32[$szHdr>>2]|0; + $42 = (($41) - 1)|0; + $43 = ((($m)) + 16|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) + ($42)|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($47|0)<(128); + $49 = HEAP32[$szHdr>>2]|0; + $50 = (($49) - 1)|0; + $51 = ((($m)) + 16|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + ($50)|0); + if ($48) { + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + HEAP32[$typeRowid>>2] = $55; } else { - (_sqlite3GetVarint32($48,$typeRowid)|0); - } - $51 = HEAP32[$typeRowid>>2]|0; - $52 = ($51>>>0)<(1); - $53 = HEAP32[$typeRowid>>2]|0; - $54 = ($53>>>0)>(9); - $or$cond = $52 | $54; - $55 = HEAP32[$typeRowid>>2]|0; - $56 = ($55|0)==(7); - $or$cond3 = $or$cond | $56; + (_sqlite3GetVarint32($53,$typeRowid)|0); + } + $56 = HEAP32[$typeRowid>>2]|0; + $57 = ($56>>>0)<(1); + $58 = HEAP32[$typeRowid>>2]|0; + $59 = ($58>>>0)>(9); + $or$cond = $57 | $59; + $60 = HEAP32[$typeRowid>>2]|0; + $61 = ($60|0)==(7); + $or$cond3 = $or$cond | $61; if (!($or$cond3)) { - $57 = HEAP32[$typeRowid>>2]|0; - $58 = (35576 + ($57)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - HEAP32[$lenRowid>>2] = $60; - $61 = ((($m)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$szHdr>>2]|0; - $64 = HEAP32[$lenRowid>>2]|0; - $65 = (($63) + ($64))|0; - $66 = ($62>>>0)<($65>>>0); - if (!($66)) { - $67 = ((($m)) + 12|0); - $68 = HEAP32[$67>>2]|0; - $69 = HEAP32[$lenRowid>>2]|0; - $70 = (($68) - ($69))|0; - $71 = ((($m)) + 16|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) + ($70)|0); - $74 = HEAP32[$typeRowid>>2]|0; - (_sqlite3VdbeSerialGet($73,$74,$v)|0); - $75 = $v; - $76 = $75; + $62 = HEAP32[$typeRowid>>2]|0; + $63 = (35061 + ($62)|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64&255; + HEAP32[$lenRowid>>2] = $65; + $66 = ((($m)) + 12|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$szHdr>>2]|0; + $69 = HEAP32[$lenRowid>>2]|0; + $70 = (($68) + ($69))|0; + $71 = ($67>>>0)<($70>>>0); + if (!($71)) { + $72 = ((($m)) + 12|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$lenRowid>>2]|0; + $75 = (($73) - ($74))|0; + $76 = ((($m)) + 16|0); $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = HEAP32[$3>>2]|0; - $82 = $81; - $83 = $82; - HEAP32[$83>>2] = $77; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = $80; + $78 = (($77) + ($75)|0); + $79 = HEAP32[$typeRowid>>2]|0; + (_sqlite3VdbeSerialGet($78,$79,$v)|0); + $80 = $v; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (($80) + 4)|0; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$3>>2]|0; + $87 = $86; + $88 = $87; + HEAP32[$88>>2] = $82; + $89 = (($87) + 4)|0; + $90 = $89; + HEAP32[$90>>2] = $85; _sqlite3VdbeMemRelease($m); HEAP32[$0>>2] = 0; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); + $92 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($92|0); } } } } _sqlite3VdbeMemRelease($m); - $86 = (_sqlite3CorruptError(74309)|0); - HEAP32[$0>>2] = $86; - $87 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($87|0); + $91 = (_sqlite3CorruptError(74890)|0); + HEAP32[$0>>2] = $91; + $92 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($92|0); } function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { $db = $db|0; @@ -228699,8 +233052,8 @@ function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { $res = $res|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $m = 0, $nCellKey = 0, $or$cond = 0; - var $pCur = 0, $rc = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; + var $8 = 0, $9 = 0, $m = 0, $nCellKey = 0, $or$cond = 0, $pCur = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 72|0; @@ -228727,69 +233080,75 @@ function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { $11 = HEAP32[$10>>2]|0; HEAP32[$pCur>>2] = $11; $12 = HEAP32[$pCur>>2]|0; - (_sqlite3BtreeKeySize($12,$nCellKey)|0); - $13 = $nCellKey; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = (($13) + 4)|0; + $13 = (_sqlite3BtreePayloadSize($12)|0); + $14 = $nCellKey; + $15 = $14; + HEAP32[$15>>2] = $13; + $16 = (($14) + 4)|0; $17 = $16; - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)<(0); - $20 = ($15>>>0)<=(0); - $21 = ($18|0)==(0); - $22 = $21 & $20; - $23 = $19 | $22; - $24 = $nCellKey; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)>(0); - $31 = ($26>>>0)>(2147483647); - $32 = ($29|0)==(0); - $33 = $32 & $31; - $34 = $30 | $33; - $or$cond = $23 | $34; + HEAP32[$17>>2] = 0; + $18 = $nCellKey; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)<(0); + $25 = ($20>>>0)<=(0); + $26 = ($23|0)==(0); + $27 = $26 & $25; + $28 = $24 | $27; + $29 = $nCellKey; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)>(0); + $36 = ($31>>>0)>(2147483647); + $37 = ($34|0)==(0); + $38 = $37 & $36; + $39 = $35 | $38; + $or$cond = $28 | $39; if ($or$cond) { - $35 = HEAP32[$4>>2]|0; - HEAP32[$35>>2] = 0; - $36 = (_sqlite3CorruptError(74343)|0); - HEAP32[$0>>2] = $36; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $40 = HEAP32[$4>>2]|0; + HEAP32[$40>>2] = 0; + $41 = (_sqlite3CorruptError(74923)|0); + HEAP32[$0>>2] = $41; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); } - $37 = HEAP32[$1>>2]|0; - _sqlite3VdbeMemInit($m,$37,0); - $38 = HEAP32[$pCur>>2]|0; - $39 = $nCellKey; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (($39) + 4)|0; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (_sqlite3VdbeMemFromBtree($38,0,$41,1,$m)|0); - HEAP32[$rc>>2] = $45; - $46 = HEAP32[$rc>>2]|0; - $47 = ($46|0)!=(0); - if ($47) { - $48 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $48; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $42 = HEAP32[$1>>2]|0; + _sqlite3VdbeMemInit($m,$42,0); + $43 = HEAP32[$pCur>>2]|0; + $44 = $nCellKey; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3VdbeMemFromBtree($43,0,$46,1,$m)|0); + HEAP32[$rc>>2] = $50; + $51 = HEAP32[$rc>>2]|0; + $52 = ($51|0)!=(0); + if ($52) { + $53 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $53; + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); } else { - $49 = ((($m)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($m)) + 16|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$3>>2]|0; - $54 = (_sqlite3VdbeRecordCompare($50,$52,$53)|0); - $55 = HEAP32[$4>>2]|0; - HEAP32[$55>>2] = $54; + $54 = ((($m)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($m)) + 16|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$3>>2]|0; + $59 = (_sqlite3VdbeRecordCompare($55,$57,$58)|0); + $60 = HEAP32[$4>>2]|0; + HEAP32[$60>>2] = $59; _sqlite3VdbeMemRelease($m); HEAP32[$0>>2] = 0; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); + $61 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($61|0); } return (0)|0; } @@ -229401,7 +233760,7 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { HEAP32[$54>>2] = 1; break; } - $55 = HEAP32[1524>>2]|0; + $55 = HEAP32[1536>>2]|0; $56 = HEAP32[$pBt>>2]|0; $57 = ((($56)) + 32|0); $58 = HEAP32[$57>>2]|0; @@ -229417,7 +233776,7 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { _setPageReferenced($sCheck,$65); } $66 = ((($sCheck)) + 28|0); - HEAP32[$66>>2] = 42219; + HEAP32[$66>>2] = 41095; $67 = HEAP32[$pBt>>2]|0; $68 = ((($67)) + 12|0); $69 = HEAP32[$68>>2]|0; @@ -229529,7 +233888,7 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { } $145 = HEAP32[$i>>2]|0; HEAP32[$vararg_buffer>>2] = $145; - _checkAppendMsg($sCheck,42235,$vararg_buffer); + _checkAppendMsg($sCheck,41111,$vararg_buffer); } } while(0); $146 = HEAP32[$i>>2]|0; @@ -229550,7 +233909,7 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { if ($158) { $159 = HEAP32[$i>>2]|0; HEAP32[$vararg_buffer1>>2] = $159; - _checkAppendMsg($sCheck,42257,$vararg_buffer1); + _checkAppendMsg($sCheck,41133,$vararg_buffer1); } } } @@ -230428,9 +234787,10 @@ function _sqlite3PagerSetJournalMode($pPager,$eMode) { $85 = $84&255; STACKTOP = sp;return ($85|0); } -function _sqlite3RunVacuum($pzErrMsg,$db) { +function _sqlite3RunVacuum($pzErrMsg,$db,$iDb) { $pzErrMsg = $pzErrMsg|0; $db = $db|0; + $iDb = $iDb|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; @@ -230438,414 +234798,401 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $isMemDb = 0, $meta = 0, $nDb = 0, $nRes = 0, $pDb = 0, $pMain = 0, $pTemp = 0, $rc = 0, $saved_flags = 0, $saved_nChange = 0, $saved_nTotalChange = 0, $saved_xTrace = 0, $zSql = 0; - var label = 0, sp = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $i = 0, $isMemDb = 0, $meta = 0, $nDb = 0, $nRes = 0, $pDb = 0, $pMain = 0, $pTemp = 0, $rc = 0, $saved_flags = 0, $saved_mTrace = 0, $saved_nChange = 0, $saved_nTotalChange = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $zDbMain = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $rc = sp + 52|0; - $pMain = sp + 48|0; - $pTemp = sp + 44|0; - $zSql = sp + 40|0; - $saved_flags = sp + 36|0; - $saved_nChange = sp + 32|0; - $saved_nTotalChange = sp + 28|0; - $saved_xTrace = sp + 24|0; - $pDb = sp + 20|0; - $isMemDb = sp + 16|0; - $nRes = sp + 12|0; - $nDb = sp + 8|0; - $meta = sp + 4|0; - $i = sp; + STACKTOP = STACKTOP + 112|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 92|0; + $1 = sp + 88|0; + $2 = sp + 84|0; + $3 = sp + 80|0; + $rc = sp + 76|0; + $pMain = sp + 72|0; + $pTemp = sp + 68|0; + $saved_flags = sp + 64|0; + $saved_nChange = sp + 60|0; + $saved_nTotalChange = sp + 56|0; + $saved_mTrace = sp + 96|0; + $pDb = sp + 52|0; + $isMemDb = sp + 48|0; + $nRes = sp + 44|0; + $nDb = sp + 40|0; + $zDbMain = sp + 36|0; + $meta = sp + 32|0; + $i = sp + 28|0; HEAP32[$1>>2] = $pzErrMsg; HEAP32[$2>>2] = $db; + HEAP32[$3>>2] = $iDb; HEAP32[$rc>>2] = 0; - HEAP32[$zSql>>2] = 0; HEAP32[$pDb>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 67|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)!=(0); - if (!($6)) { - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$2>>2]|0; - _sqlite3SetString($7,$8,41012); + $4 = HEAP32[$2>>2]|0; + $5 = ((($4)) + 67|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)!=(0); + if (!($7)) { + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$2>>2]|0; + _sqlite3SetString($8,$9,40519); HEAP32[$0>>2] = 1; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $240 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($240|0); } - $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 152|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(1); - if ($12) { - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$2>>2]|0; - _sqlite3SetString($13,$14,41052); + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 156|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)>(1); + if ($13) { + $14 = HEAP32[$1>>2]|0; + $15 = HEAP32[$2>>2]|0; + _sqlite3SetString($14,$15,40559); HEAP32[$0>>2] = 1; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $240 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($240|0); } - $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 24|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$saved_flags>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 84|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$saved_nChange>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 88|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$saved_nTotalChange>>2] = $23; - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 180|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$saved_xTrace>>2] = $26; - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 24|0); - $29 = HEAP32[$28>>2]|0; - $30 = $29 | 2107392; - HEAP32[$28>>2] = $30; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 24|0); - $33 = HEAP32[$32>>2]|0; - $34 = $33 & -655361; - HEAP32[$32>>2] = $34; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 180|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 4|0); + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 24|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$saved_flags>>2] = $18; + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 88|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$saved_nChange>>2] = $21; + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 92|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$saved_nTotalChange>>2] = $24; + $25 = HEAP32[$2>>2]|0; + $26 = ((($25)) + 76|0); + $27 = HEAP8[$26>>0]|0; + HEAP8[$saved_mTrace>>0] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 24|0); + $30 = HEAP32[$29>>2]|0; + $31 = $30 | 270542848; + HEAP32[$29>>2] = $31; + $32 = HEAP32[$2>>2]|0; + $33 = ((($32)) + 24|0); + $34 = HEAP32[$33>>2]|0; + $35 = $34 & -655489; + HEAP32[$33>>2] = $35; + $36 = HEAP32[$2>>2]|0; + $37 = ((($36)) + 76|0); + HEAP8[$37>>0] = 0; + $38 = HEAP32[$3>>2]|0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 16|0); $41 = HEAP32[$40>>2]|0; - HEAP32[$pMain>>2] = $41; - $42 = HEAP32[$pMain>>2]|0; - $43 = (_sqlite3BtreePager($42)|0); - $44 = (_sqlite3PagerIsMemdb($43)|0); - HEAP32[$isMemDb>>2] = $44; + $42 = (($41) + ($38<<4)|0); + $43 = HEAP32[$42>>2]|0; + HEAP32[$zDbMain>>2] = $43; + $44 = HEAP32[$3>>2]|0; $45 = HEAP32[$2>>2]|0; - $46 = ((($45)) + 20|0); + $46 = ((($45)) + 16|0); $47 = HEAP32[$46>>2]|0; - HEAP32[$nDb>>2] = $47; - $48 = HEAP32[$2>>2]|0; - $49 = (_sqlite3TempInMemory($48)|0); - $50 = ($49|0)!=(0); - if ($50) { - HEAP32[$zSql>>2] = 41095; - } else { - HEAP32[$zSql>>2] = 41127; - } - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = HEAP32[$zSql>>2]|0; - $54 = (_execSql($51,$52,$53)|0); - HEAP32[$rc>>2] = $54; - $55 = HEAP32[$2>>2]|0; - $56 = ((($55)) + 20|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$nDb>>2]|0; - $59 = ($57|0)>($58|0); - if ($59) { - $60 = HEAP32[$2>>2]|0; - $61 = ((($60)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) - 1)|0; - $64 = HEAP32[$2>>2]|0; - $65 = ((($64)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $67 = (($66) + ($63<<4)|0); - HEAP32[$pDb>>2] = $67; - } - $68 = HEAP32[$rc>>2]|0; - $69 = ($68|0)!=(0); - L16: do { - if (!($69)) { - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - $73 = (($72) - 1)|0; - $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 16|0); - $76 = HEAP32[$75>>2]|0; - $77 = (($76) + ($73<<4)|0); - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - HEAP32[$pTemp>>2] = $79; - $80 = HEAP32[$pTemp>>2]|0; - (_sqlite3BtreeCommit($80)|0); - $81 = HEAP32[$pMain>>2]|0; - $82 = (_sqlite3BtreeGetOptimalReserve($81)|0); - HEAP32[$nRes>>2] = $82; - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$1>>2]|0; - $85 = (_execSql($83,$84,41151)|0); - HEAP32[$rc>>2] = $85; - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)!=(0); - if (!($87)) { - $88 = HEAP32[$2>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = (_execSql($88,$89,41184)|0); - HEAP32[$rc>>2] = $90; - $91 = HEAP32[$rc>>2]|0; - $92 = ($91|0)!=(0); - if (!($92)) { - $93 = HEAP32[$pMain>>2]|0; - $94 = (_sqlite3BtreeBeginTrans($93,2)|0); - HEAP32[$rc>>2] = $94; - $95 = HEAP32[$rc>>2]|0; - $96 = ($95|0)!=(0); - if (!($96)) { - $97 = HEAP32[$pMain>>2]|0; - $98 = (_sqlite3BtreePager($97)|0); - $99 = (_sqlite3PagerGetJournalMode($98)|0); - $100 = ($99|0)==(5); - if ($100) { - $101 = HEAP32[$2>>2]|0; - $102 = ((($101)) + 76|0); - HEAP32[$102>>2] = 0; - } - $103 = HEAP32[$pTemp>>2]|0; - $104 = HEAP32[$pMain>>2]|0; - $105 = (_sqlite3BtreeGetPageSize($104)|0); - $106 = HEAP32[$nRes>>2]|0; - $107 = (_sqlite3BtreeSetPageSize($103,$105,$106,0)|0); - $108 = ($107|0)!=(0); - do { - if (!($108)) { - $109 = HEAP32[$isMemDb>>2]|0; - $110 = ($109|0)!=(0); - if (!($110)) { - $111 = HEAP32[$pTemp>>2]|0; - $112 = HEAP32[$2>>2]|0; - $113 = ((($112)) + 76|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$nRes>>2]|0; - $116 = (_sqlite3BtreeSetPageSize($111,$114,$115,0)|0); - $117 = ($116|0)!=(0); - if ($117) { - break; - } + $48 = (($47) + ($44<<4)|0); + $49 = ((($48)) + 4|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$pMain>>2] = $50; + $51 = HEAP32[$pMain>>2]|0; + $52 = (_sqlite3BtreePager($51)|0); + $53 = (_sqlite3PagerIsMemdb($52)|0); + HEAP32[$isMemDb>>2] = $53; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 20|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$nDb>>2] = $56; + $57 = HEAP32[$2>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = (_execSql($57,$58,40602)|0); + HEAP32[$rc>>2] = $59; + $60 = HEAP32[$rc>>2]|0; + $61 = ($60|0)!=(0); + L9: do { + if (!($61)) { + $62 = HEAP32[$nDb>>2]|0; + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = (($65) + ($62<<4)|0); + HEAP32[$pDb>>2] = $66; + $67 = HEAP32[$pDb>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + HEAP32[$pTemp>>2] = $69; + $70 = HEAP32[$pTemp>>2]|0; + (_sqlite3BtreeCommit($70)|0); + $71 = HEAP32[$pMain>>2]|0; + $72 = (_sqlite3BtreeGetOptimalReserve($71)|0); + HEAP32[$nRes>>2] = $72; + $73 = HEAP32[$pTemp>>2]|0; + $74 = HEAP32[$3>>2]|0; + $75 = HEAP32[$2>>2]|0; + $76 = ((($75)) + 16|0); + $77 = HEAP32[$76>>2]|0; + $78 = (($77) + ($74<<4)|0); + $79 = ((($78)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($80)) + 80|0); + $82 = HEAP32[$81>>2]|0; + (_sqlite3BtreeSetCacheSize($73,$82)|0); + $83 = HEAP32[$pTemp>>2]|0; + $84 = HEAP32[$pMain>>2]|0; + $85 = (_sqlite3BtreeSetSpillSize($84,0)|0); + (_sqlite3BtreeSetSpillSize($83,$85)|0); + $86 = HEAP32[$pTemp>>2]|0; + (_sqlite3BtreeSetPagerFlags($86,33)|0); + $87 = HEAP32[$2>>2]|0; + $88 = HEAP32[$1>>2]|0; + $89 = (_execSql($87,$88,37527)|0); + HEAP32[$rc>>2] = $89; + $90 = HEAP32[$rc>>2]|0; + $91 = ($90|0)!=(0); + if (!($91)) { + $92 = HEAP32[$pMain>>2]|0; + $93 = (_sqlite3BtreeBeginTrans($92,2)|0); + HEAP32[$rc>>2] = $93; + $94 = HEAP32[$rc>>2]|0; + $95 = ($94|0)!=(0); + if (!($95)) { + $96 = HEAP32[$pMain>>2]|0; + $97 = (_sqlite3BtreePager($96)|0); + $98 = (_sqlite3PagerGetJournalMode($97)|0); + $99 = ($98|0)==(5); + if ($99) { + $100 = HEAP32[$2>>2]|0; + $101 = ((($100)) + 80|0); + HEAP32[$101>>2] = 0; + } + $102 = HEAP32[$pTemp>>2]|0; + $103 = HEAP32[$pMain>>2]|0; + $104 = (_sqlite3BtreeGetPageSize($103)|0); + $105 = HEAP32[$nRes>>2]|0; + $106 = (_sqlite3BtreeSetPageSize($102,$104,$105,0)|0); + $107 = ($106|0)!=(0); + do { + if (!($107)) { + $108 = HEAP32[$isMemDb>>2]|0; + $109 = ($108|0)!=(0); + if (!($109)) { + $110 = HEAP32[$pTemp>>2]|0; + $111 = HEAP32[$2>>2]|0; + $112 = ((($111)) + 80|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$nRes>>2]|0; + $115 = (_sqlite3BtreeSetPageSize($110,$113,$114,0)|0); + $116 = ($115|0)!=(0); + if ($116) { + break; } - $118 = HEAP32[$2>>2]|0; - $119 = ((($118)) + 69|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = ($121|0)!=(0); - if (!($122)) { - $123 = HEAP32[$pTemp>>2]|0; - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 72|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126 << 24 >> 24; - $128 = ($127|0)>=(0); - if ($128) { - $129 = HEAP32[$2>>2]|0; - $130 = ((($129)) + 72|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131 << 24 >> 24; - $135 = $132; - } else { - $133 = HEAP32[$pMain>>2]|0; - $134 = (_sqlite3BtreeGetAutoVacuum($133)|0); - $135 = $134; - } - (_sqlite3BtreeSetAutoVacuum($123,$135)|0); - $136 = HEAP32[$2>>2]|0; - $137 = HEAP32[$1>>2]|0; - $138 = (_execExecSql($136,$137,41191)|0); - HEAP32[$rc>>2] = $138; - $139 = HEAP32[$rc>>2]|0; - $140 = ($139|0)!=(0); - if ($140) { - break L16; - } - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$1>>2]|0; - $143 = (_execExecSql($141,$142,41339)|0); - HEAP32[$rc>>2] = $143; - $144 = HEAP32[$rc>>2]|0; - $145 = ($144|0)!=(0); - if ($145) { - break L16; - } - $146 = HEAP32[$2>>2]|0; - $147 = HEAP32[$1>>2]|0; - $148 = (_execExecSql($146,$147,41443)|0); - HEAP32[$rc>>2] = $148; - $149 = HEAP32[$rc>>2]|0; - $150 = ($149|0)!=(0); - if ($150) { - break L16; - } - $151 = HEAP32[$2>>2]|0; - $152 = ((($151)) + 24|0); - $153 = HEAP32[$152>>2]|0; - $154 = $153 | 268435456; - HEAP32[$152>>2] = $154; - $155 = HEAP32[$2>>2]|0; - $156 = HEAP32[$1>>2]|0; - $157 = (_execExecSql($155,$156,41561)|0); - HEAP32[$rc>>2] = $157; - $158 = HEAP32[$2>>2]|0; - $159 = ((($158)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = $160 & -268435457; - HEAP32[$159>>2] = $161; - $162 = HEAP32[$rc>>2]|0; - $163 = ($162|0)!=(0); - if ($163) { - break L16; - } - $164 = HEAP32[$2>>2]|0; - $165 = HEAP32[$1>>2]|0; - $166 = (_execExecSql($164,$165,41757)|0); - HEAP32[$rc>>2] = $166; - $167 = HEAP32[$rc>>2]|0; - $168 = ($167|0)!=(0); - if ($168) { - break L16; - } - $169 = HEAP32[$2>>2]|0; - $170 = HEAP32[$1>>2]|0; - $171 = (_execExecSql($169,$170,41870)|0); - HEAP32[$rc>>2] = $171; - $172 = HEAP32[$rc>>2]|0; - $173 = ($172|0)!=(0); - if ($173) { - break L16; - } - $174 = HEAP32[$2>>2]|0; - $175 = HEAP32[$1>>2]|0; - $176 = (_execSql($174,$175,42025)|0); - HEAP32[$rc>>2] = $176; - $177 = HEAP32[$rc>>2]|0; - $178 = ($177|0)!=(0); - if ($178) { - break L16; - } - HEAP32[$i>>2] = 0; - while(1) { - $179 = HEAP32[$i>>2]|0; - $180 = ($179|0)<(10); - $181 = HEAP32[$pMain>>2]|0; - if (!($180)) { - break; - } - $182 = HEAP32[$i>>2]|0; - $183 = (42209 + ($182)|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - _sqlite3BtreeGetMeta($181,$185,$meta); - $186 = HEAP32[$pTemp>>2]|0; - $187 = HEAP32[$i>>2]|0; - $188 = (42209 + ($187)|0); - $189 = HEAP8[$188>>0]|0; - $190 = $189&255; - $191 = HEAP32[$meta>>2]|0; - $192 = HEAP32[$i>>2]|0; - $193 = (($192) + 1)|0; - $194 = (42209 + ($193)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = (($191) + ($196))|0; - $198 = (_sqlite3BtreeUpdateMeta($186,$190,$197)|0); - HEAP32[$rc>>2] = $198; - $199 = HEAP32[$rc>>2]|0; - $200 = ($199|0)!=(0); - if ($200) { - break L16; - } - $201 = HEAP32[$i>>2]|0; - $202 = (($201) + 2)|0; - HEAP32[$i>>2] = $202; - } - $203 = HEAP32[$pTemp>>2]|0; - $204 = (_sqlite3BtreeCopyFile($181,$203)|0); - HEAP32[$rc>>2] = $204; - $205 = HEAP32[$rc>>2]|0; - $206 = ($205|0)!=(0); - if ($206) { - break L16; + } + $117 = HEAP32[$2>>2]|0; + $118 = ((($117)) + 69|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = ($120|0)!=(0); + if (!($121)) { + $122 = HEAP32[$pTemp>>2]|0; + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 72|0); + $125 = HEAP8[$124>>0]|0; + $126 = $125 << 24 >> 24; + $127 = ($126|0)>=(0); + if ($127) { + $128 = HEAP32[$2>>2]|0; + $129 = ((($128)) + 72|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $134 = $131; + } else { + $132 = HEAP32[$pMain>>2]|0; + $133 = (_sqlite3BtreeGetAutoVacuum($132)|0); + $134 = $133; + } + (_sqlite3BtreeSetAutoVacuum($122,$134)|0); + $135 = HEAP32[$nDb>>2]|0; + $136 = $135&255; + $137 = HEAP32[$2>>2]|0; + $138 = ((($137)) + 148|0); + $139 = ((($138)) + 4|0); + HEAP8[$139>>0] = $136; + $140 = HEAP32[$2>>2]|0; + $141 = HEAP32[$1>>2]|0; + $142 = HEAP32[$zDbMain>>2]|0; + HEAP32[$vararg_buffer>>2] = $142; + $143 = (_execSqlF($140,$141,40623,$vararg_buffer)|0); + HEAP32[$rc>>2] = $143; + $144 = HEAP32[$rc>>2]|0; + $145 = ($144|0)!=(0); + if ($145) { + break L9; + } + $146 = HEAP32[$2>>2]|0; + $147 = HEAP32[$1>>2]|0; + $148 = HEAP32[$zDbMain>>2]|0; + HEAP32[$vararg_buffer1>>2] = $148; + $149 = (_execSqlF($146,$147,40731,$vararg_buffer1)|0); + HEAP32[$rc>>2] = $149; + $150 = HEAP32[$rc>>2]|0; + $151 = ($150|0)!=(0); + if ($151) { + break L9; + } + $152 = HEAP32[$2>>2]|0; + $153 = ((($152)) + 148|0); + $154 = ((($153)) + 4|0); + HEAP8[$154>>0] = 0; + $155 = HEAP32[$2>>2]|0; + $156 = HEAP32[$1>>2]|0; + $157 = HEAP32[$zDbMain>>2]|0; + HEAP32[$vararg_buffer4>>2] = $157; + $158 = (_execSqlF($155,$156,40804,$vararg_buffer4)|0); + HEAP32[$rc>>2] = $158; + $159 = HEAP32[$2>>2]|0; + $160 = ((($159)) + 24|0); + $161 = HEAP32[$160>>2]|0; + $162 = $161 & -268435457; + HEAP32[$160>>2] = $162; + $163 = HEAP32[$rc>>2]|0; + $164 = ($163|0)!=(0); + if ($164) { + break L9; + } + $165 = HEAP32[$2>>2]|0; + $166 = HEAP32[$1>>2]|0; + $167 = HEAP32[$zDbMain>>2]|0; + HEAP32[$vararg_buffer7>>2] = $167; + $168 = (_execSqlF($165,$166,40955,$vararg_buffer7)|0); + HEAP32[$rc>>2] = $168; + $169 = HEAP32[$rc>>2]|0; + $170 = ($169|0)!=(0); + if ($170) { + break L9; + } + HEAP32[$i>>2] = 0; + while(1) { + $171 = HEAP32[$i>>2]|0; + $172 = ($171|0)<(10); + $173 = HEAP32[$pMain>>2]|0; + if (!($172)) { + break; } - $207 = HEAP32[$pTemp>>2]|0; - $208 = (_sqlite3BtreeCommit($207)|0); - HEAP32[$rc>>2] = $208; - $209 = HEAP32[$rc>>2]|0; - $210 = ($209|0)!=(0); - if ($210) { - break L16; + $174 = HEAP32[$i>>2]|0; + $175 = (41085 + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + _sqlite3BtreeGetMeta($173,$177,$meta); + $178 = HEAP32[$pTemp>>2]|0; + $179 = HEAP32[$i>>2]|0; + $180 = (41085 + ($179)|0); + $181 = HEAP8[$180>>0]|0; + $182 = $181&255; + $183 = HEAP32[$meta>>2]|0; + $184 = HEAP32[$i>>2]|0; + $185 = (($184) + 1)|0; + $186 = (41085 + ($185)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187&255; + $189 = (($183) + ($188))|0; + $190 = (_sqlite3BtreeUpdateMeta($178,$182,$189)|0); + HEAP32[$rc>>2] = $190; + $191 = HEAP32[$rc>>2]|0; + $192 = ($191|0)!=(0); + if ($192) { + break L9; } - $211 = HEAP32[$pMain>>2]|0; - $212 = HEAP32[$pTemp>>2]|0; - $213 = (_sqlite3BtreeGetAutoVacuum($212)|0); - (_sqlite3BtreeSetAutoVacuum($211,$213)|0); - $214 = HEAP32[$pMain>>2]|0; - $215 = HEAP32[$pTemp>>2]|0; - $216 = (_sqlite3BtreeGetPageSize($215)|0); - $217 = HEAP32[$nRes>>2]|0; - $218 = (_sqlite3BtreeSetPageSize($214,$216,$217,1)|0); - HEAP32[$rc>>2] = $218; - break L16; + $193 = HEAP32[$i>>2]|0; + $194 = (($193) + 2)|0; + HEAP32[$i>>2] = $194; + } + $195 = HEAP32[$pTemp>>2]|0; + $196 = (_sqlite3BtreeCopyFile($173,$195)|0); + HEAP32[$rc>>2] = $196; + $197 = HEAP32[$rc>>2]|0; + $198 = ($197|0)!=(0); + if ($198) { + break L9; } + $199 = HEAP32[$pTemp>>2]|0; + $200 = (_sqlite3BtreeCommit($199)|0); + HEAP32[$rc>>2] = $200; + $201 = HEAP32[$rc>>2]|0; + $202 = ($201|0)!=(0); + if ($202) { + break L9; + } + $203 = HEAP32[$pMain>>2]|0; + $204 = HEAP32[$pTemp>>2]|0; + $205 = (_sqlite3BtreeGetAutoVacuum($204)|0); + (_sqlite3BtreeSetAutoVacuum($203,$205)|0); + $206 = HEAP32[$pMain>>2]|0; + $207 = HEAP32[$pTemp>>2]|0; + $208 = (_sqlite3BtreeGetPageSize($207)|0); + $209 = HEAP32[$nRes>>2]|0; + $210 = (_sqlite3BtreeSetPageSize($206,$208,$209,1)|0); + HEAP32[$rc>>2] = $210; + break L9; } - } while(0); - HEAP32[$rc>>2] = 7; - } + } + } while(0); + HEAP32[$rc>>2] = 7; } } } } while(0); - $219 = HEAP32[$saved_flags>>2]|0; - $220 = HEAP32[$2>>2]|0; - $221 = ((($220)) + 24|0); - HEAP32[$221>>2] = $219; - $222 = HEAP32[$saved_nChange>>2]|0; - $223 = HEAP32[$2>>2]|0; - $224 = ((($223)) + 84|0); - HEAP32[$224>>2] = $222; - $225 = HEAP32[$saved_nTotalChange>>2]|0; - $226 = HEAP32[$2>>2]|0; - $227 = ((($226)) + 88|0); - HEAP32[$227>>2] = $225; - $228 = HEAP32[$saved_xTrace>>2]|0; - $229 = HEAP32[$2>>2]|0; - $230 = ((($229)) + 180|0); - HEAP32[$230>>2] = $228; - $231 = HEAP32[$pMain>>2]|0; - (_sqlite3BtreeSetPageSize($231,-1,-1,1)|0); - $232 = HEAP32[$2>>2]|0; - $233 = ((($232)) + 67|0); - HEAP8[$233>>0] = 1; - $234 = HEAP32[$pDb>>2]|0; - $235 = ($234|0)!=(0|0); - if ($235) { + $211 = HEAP32[$2>>2]|0; + $212 = ((($211)) + 148|0); + $213 = ((($212)) + 4|0); + HEAP8[$213>>0] = 0; + $214 = HEAP32[$saved_flags>>2]|0; + $215 = HEAP32[$2>>2]|0; + $216 = ((($215)) + 24|0); + HEAP32[$216>>2] = $214; + $217 = HEAP32[$saved_nChange>>2]|0; + $218 = HEAP32[$2>>2]|0; + $219 = ((($218)) + 88|0); + HEAP32[$219>>2] = $217; + $220 = HEAP32[$saved_nTotalChange>>2]|0; + $221 = HEAP32[$2>>2]|0; + $222 = ((($221)) + 92|0); + HEAP32[$222>>2] = $220; + $223 = HEAP8[$saved_mTrace>>0]|0; + $224 = HEAP32[$2>>2]|0; + $225 = ((($224)) + 76|0); + HEAP8[$225>>0] = $223; + $226 = HEAP32[$pMain>>2]|0; + (_sqlite3BtreeSetPageSize($226,-1,-1,1)|0); + $227 = HEAP32[$2>>2]|0; + $228 = ((($227)) + 67|0); + HEAP8[$228>>0] = 1; + $229 = HEAP32[$pDb>>2]|0; + $230 = ($229|0)!=(0|0); + if ($230) { + $231 = HEAP32[$pDb>>2]|0; + $232 = ((($231)) + 4|0); + $233 = HEAP32[$232>>2]|0; + (_sqlite3BtreeClose($233)|0); + $234 = HEAP32[$pDb>>2]|0; + $235 = ((($234)) + 4|0); + HEAP32[$235>>2] = 0; $236 = HEAP32[$pDb>>2]|0; - $237 = ((($236)) + 4|0); - $238 = HEAP32[$237>>2]|0; - (_sqlite3BtreeClose($238)|0); - $239 = HEAP32[$pDb>>2]|0; - $240 = ((($239)) + 4|0); - HEAP32[$240>>2] = 0; - $241 = HEAP32[$pDb>>2]|0; - $242 = ((($241)) + 12|0); - HEAP32[$242>>2] = 0; + $237 = ((($236)) + 12|0); + HEAP32[$237>>2] = 0; } - $243 = HEAP32[$2>>2]|0; - _sqlite3ResetAllSchemasOfConnection($243); - $244 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $244; - $245 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($245|0); + $238 = HEAP32[$2>>2]|0; + _sqlite3ResetAllSchemasOfConnection($238); + $239 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $239; + $240 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($240|0); } function _sqlite3BtreeIncrVacuum($p) { $p = $p|0; @@ -230897,7 +235244,7 @@ function _sqlite3BtreeIncrVacuum($p) { $23 = HEAP32[$nFin>>2]|0; $24 = ($22>>>0)<($23>>>0); if ($24) { - $25 = (_sqlite3CorruptError(61338)|0); + $25 = (_sqlite3CorruptError(61866)|0); HEAP32[$rc>>2] = $25; $54 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($54|0); @@ -231006,7 +235353,8 @@ function _sqlite3VtabBegin($db,$pVTab) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $iSvpt = 0, $pModule = 0, $rc = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $i = 0, $iSvpt = 0; + var $pModule = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -231030,16 +235378,16 @@ function _sqlite3VtabBegin($db,$pVTab) { $10 = ($9|0)==(0|0); if ($10) { HEAP32[$0>>2] = 6; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $77 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($77|0); } } $11 = HEAP32[$2>>2]|0; $12 = ($11|0)!=(0|0); if (!($12)) { HEAP32[$0>>2] = 0; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $77 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($77|0); } $13 = HEAP32[$2>>2]|0; $14 = ((($13)) + 8|0); @@ -231079,8 +235427,8 @@ function _sqlite3VtabBegin($db,$pVTab) { } if ((label|0) == 10) { HEAP32[$0>>2] = 0; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $77 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($77|0); } $36 = HEAP32[$1>>2]|0; $37 = (_growVTrans($36)|0); @@ -231113,19 +235461,34 @@ function _sqlite3VtabBegin($db,$pVTab) { $58 = HEAP32[$iSvpt>>2]|0; $59 = ($58|0)!=(0); if ($59) { - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$iSvpt>>2]|0; - $62 = (($61) - 1)|0; - $63 = (_sqlite3VtabSavepoint($60,0,$62)|0); - HEAP32[$rc>>2] = $63; + $60 = HEAP32[$pModule>>2]|0; + $61 = ((($60)) + 80|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)!=(0|0); + if ($63) { + $64 = HEAP32[$iSvpt>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 20|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$pModule>>2]|0; + $68 = ((($67)) + 80|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$2>>2]|0; + $71 = ((($70)) + 8|0); + $72 = HEAP32[$71>>2]|0; + $73 = HEAP32[$iSvpt>>2]|0; + $74 = (($73) - 1)|0; + $75 = (FUNCTION_TABLE_iii[$69 & 255]($72,$74)|0); + HEAP32[$rc>>2] = $75; + } } } } } - $64 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $64; - $65 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($65|0); + $76 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $76; + $77 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($77|0); } function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { $db = $db|0; @@ -231210,7 +235573,7 @@ function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { $33 = HEAP32[$0>>2]|0; $34 = HEAP32[$zMod>>2]|0; HEAP32[$vararg_buffer>>2] = $34; - $35 = (_sqlite3MPrintf($33,31227,$vararg_buffer)|0); + $35 = (_sqlite3MPrintf($33,30631,$vararg_buffer)|0); $36 = HEAP32[$3>>2]|0; HEAP32[$36>>2] = $35; HEAP32[$rc>>2] = 1; @@ -231382,318 +235745,6 @@ function _sqlite3BtreeMaxPageCount($p,$mxPage) { $9 = HEAP32[$n>>2]|0; STACKTOP = sp;return ($9|0); } -function _sqlite3VdbeExpandSql($p,$zRawSql) { - $p = $p|0; - $zRawSql = $zRawSql|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $db = 0, $enc = 0, $i = 0, $idx = 0, $n = 0, $nOut = 0, $nOut1 = 0, $nToken = 0, $nextIndex = 0, $out = 0, $pVar = 0, $utf8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $zBase = 0, $zStart = 0; - var dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $vararg_buffer11 = sp + 72|0; - $vararg_buffer8 = sp + 64|0; - $vararg_buffer4 = sp + 56|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 40|0; - $0 = sp + 148|0; - $1 = sp + 144|0; - $db = sp + 140|0; - $idx = sp + 136|0; - $nextIndex = sp + 132|0; - $n = sp + 128|0; - $nToken = sp + 124|0; - $i = sp + 120|0; - $pVar = sp + 116|0; - $out = sp + 88|0; - $zBase = sp + 156|0; - $zStart = sp + 84|0; - $nOut = sp + 80|0; - $enc = sp + 152|0; - $utf8 = sp; - $nOut1 = sp + 76|0; - HEAP32[$0>>2] = $p; - HEAP32[$1>>2] = $zRawSql; - HEAP32[$idx>>2] = 0; - HEAP32[$nextIndex>>2] = 1; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$db>>2]|0; - $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 92|0); - $7 = HEAP32[$6>>2]|0; - _sqlite3StrAccumInit($out,$4,$zBase,100,$7); - $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 164|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(1); - if ($11) { - while(1) { - $12 = HEAP32[$1>>2]|0; - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)!=(0); - if (!($14)) { - break; - } - $15 = HEAP32[$1>>2]|0; - HEAP32[$zStart>>2] = $15; - while(1) { - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 1|0); - HEAP32[$1>>2] = $17; - $18 = HEAP8[$16>>0]|0; - $19 = $18 << 24 >> 24; - $20 = ($19|0)!=(10); - if (!($20)) { - break; - } - $21 = HEAP32[$1>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22 << 24 >> 24; - $24 = ($23|0)!=(0); - if (!($24)) { - break; - } - } - _sqlite3StrAccumAppend($out,40978,3); - $25 = HEAP32[$zStart>>2]|0; - $26 = HEAP32[$1>>2]|0; - $27 = HEAP32[$zStart>>2]|0; - $28 = $26; - $29 = $27; - $30 = (($28) - ($29))|0; - _sqlite3StrAccumAppend($out,$25,$30); - } - $159 = (_sqlite3StrAccumFinish($out)|0); - STACKTOP = sp;return ($159|0); - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 68|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33 << 16 >> 16; - $35 = ($34|0)==(0); - if ($35) { - $36 = HEAP32[$1>>2]|0; - $37 = HEAP32[$1>>2]|0; - $38 = (_sqlite3Strlen30($37)|0); - _sqlite3StrAccumAppend($out,$36,$38); - $159 = (_sqlite3StrAccumFinish($out)|0); - STACKTOP = sp;return ($159|0); - } - while(1) { - $39 = HEAP32[$1>>2]|0; - $40 = HEAP8[$39>>0]|0; - $41 = ($40<<24>>24)!=(0); - if (!($41)) { - label = 33; - break; - } - $42 = HEAP32[$1>>2]|0; - $43 = (_findNextHostParameter($42,$nToken)|0); - HEAP32[$n>>2] = $43; - $44 = HEAP32[$1>>2]|0; - $45 = HEAP32[$n>>2]|0; - _sqlite3StrAccumAppend($out,$44,$45); - $46 = HEAP32[$n>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = (($47) + ($46)|0); - HEAP32[$1>>2] = $48; - $49 = HEAP32[$nToken>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - label = 33; - break; - } - $51 = HEAP32[$1>>2]|0; - $52 = HEAP8[$51>>0]|0; - $53 = $52 << 24 >> 24; - $54 = ($53|0)==(63); - do { - if ($54) { - $55 = HEAP32[$nToken>>2]|0; - $56 = ($55|0)>(1); - if ($56) { - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 1|0); - (_sqlite3GetInt32($58,$idx)|0); - break; - } else { - $59 = HEAP32[$nextIndex>>2]|0; - HEAP32[$idx>>2] = $59; - break; - } - } else { - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = HEAP32[$nToken>>2]|0; - $63 = (_sqlite3VdbeParameterIndex($60,$61,$62)|0); - HEAP32[$idx>>2] = $63; - } - } while(0); - $64 = HEAP32[$nToken>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = (($65) + ($64)|0); - HEAP32[$1>>2] = $66; - $67 = HEAP32[$idx>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$nextIndex>>2] = $68; - $69 = HEAP32[$idx>>2]|0; - $70 = (($69) - 1)|0; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 60|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73) + (($70*40)|0)|0); - HEAP32[$pVar>>2] = $74; - $75 = HEAP32[$pVar>>2]|0; - $76 = ((($75)) + 8|0); - $77 = HEAP16[$76>>1]|0; - $78 = $77&65535; - $79 = $78 & 1; - $80 = ($79|0)!=(0); - if ($80) { - _sqlite3StrAccumAppend($out,40184,4); - continue; - } - $81 = HEAP32[$pVar>>2]|0; - $82 = ((($81)) + 8|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = $84 & 4; - $86 = ($85|0)!=(0); - $87 = HEAP32[$pVar>>2]|0; - if ($86) { - $88 = $87; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = $vararg_buffer; - $95 = $94; - HEAP32[$95>>2] = $90; - $96 = (($94) + 4)|0; - $97 = $96; - HEAP32[$97>>2] = $93; - _sqlite3XPrintf($out,28870,$vararg_buffer); - continue; - } - $98 = ((($87)) + 8|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99&65535; - $101 = $100 & 8; - $102 = ($101|0)!=(0); - $103 = HEAP32[$pVar>>2]|0; - if ($102) { - $104 = +HEAPF64[$103>>3]; - HEAPF64[$vararg_buffer1>>3] = $104; - _sqlite3XPrintf($out,28875,$vararg_buffer1); - continue; - } - $105 = ((($103)) + 8|0); - $106 = HEAP16[$105>>1]|0; - $107 = $106&65535; - $108 = $107 & 2; - $109 = ($108|0)!=(0); - if ($109) { - $110 = HEAP32[$db>>2]|0; - $111 = ((($110)) + 66|0); - $112 = HEAP8[$111>>0]|0; - HEAP8[$enc>>0] = $112; - $113 = HEAP8[$enc>>0]|0; - $114 = $113&255; - $115 = ($114|0)!=(1); - if ($115) { - dest=$utf8; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $116 = HEAP32[$db>>2]|0; - $117 = ((($utf8)) + 32|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[$pVar>>2]|0; - $119 = ((($118)) + 16|0); - $120 = HEAP32[$119>>2]|0; - $121 = HEAP32[$pVar>>2]|0; - $122 = ((($121)) + 12|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP8[$enc>>0]|0; - (_sqlite3VdbeMemSetStr($utf8,$120,$123,$124,0)|0); - (_sqlite3VdbeChangeEncoding($utf8,1)|0); - HEAP32[$pVar>>2] = $utf8; - } - $125 = HEAP32[$pVar>>2]|0; - $126 = ((($125)) + 12|0); - $127 = HEAP32[$126>>2]|0; - HEAP32[$nOut>>2] = $127; - $128 = HEAP32[$nOut>>2]|0; - $129 = HEAP32[$pVar>>2]|0; - $130 = ((($129)) + 16|0); - $131 = HEAP32[$130>>2]|0; - HEAP32[$vararg_buffer4>>2] = $128; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $131; - _sqlite3XPrintf($out,40982,$vararg_buffer4); - $132 = HEAP8[$enc>>0]|0; - $133 = $132&255; - $134 = ($133|0)!=(1); - if (!($134)) { - continue; - } - _sqlite3VdbeMemRelease($utf8); - continue; - } - $135 = HEAP32[$pVar>>2]|0; - $136 = ((($135)) + 8|0); - $137 = HEAP16[$136>>1]|0; - $138 = $137&65535; - $139 = $138 & 16384; - $140 = ($139|0)!=(0); - if ($140) { - $141 = HEAP32[$pVar>>2]|0; - $142 = HEAP32[$141>>2]|0; - HEAP32[$vararg_buffer8>>2] = $142; - _sqlite3XPrintf($out,40989,$vararg_buffer8); - continue; - } - _sqlite3StrAccumAppend($out,41002,2); - $143 = HEAP32[$pVar>>2]|0; - $144 = ((($143)) + 12|0); - $145 = HEAP32[$144>>2]|0; - HEAP32[$nOut1>>2] = $145; - HEAP32[$i>>2] = 0; - while(1) { - $146 = HEAP32[$i>>2]|0; - $147 = HEAP32[$nOut1>>2]|0; - $148 = ($146|0)<($147|0); - if (!($148)) { - break; - } - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$pVar>>2]|0; - $151 = ((($150)) + 16|0); - $152 = HEAP32[$151>>2]|0; - $153 = (($152) + ($149)|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154 << 24 >> 24; - $156 = $155 & 255; - HEAP32[$vararg_buffer11>>2] = $156; - _sqlite3XPrintf($out,41005,$vararg_buffer11); - $157 = HEAP32[$i>>2]|0; - $158 = (($157) + 1)|0; - HEAP32[$i>>2] = $158; - } - _sqlite3StrAccumAppend($out,41010,1); - } - if ((label|0) == 33) { - $159 = (_sqlite3StrAccumFinish($out)|0); - STACKTOP = sp;return ($159|0); - } - return (0)|0; -} function _sqlite3SystemError($db,$rc) { $db = $db|0; $rc = $rc|0; @@ -231751,57 +235802,6 @@ function _sqlite3OsGetLastError($pVfs) { $10 = $9; STACKTOP = sp;return ($10|0); } -function _findNextHostParameter($zSql,$pnToken) { - $zSql = $zSql|0; - $pnToken = $pnToken|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $nTotal = 0; - var $tokenType = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $tokenType = sp + 8|0; - $nTotal = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $zSql; - HEAP32[$1>>2] = $pnToken; - HEAP32[$nTotal>>2] = 0; - $2 = HEAP32[$1>>2]|0; - HEAP32[$2>>2] = 0; - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)!=(0); - if (!($5)) { - label = 6; - break; - } - $6 = HEAP32[$0>>2]|0; - $7 = (_sqlite3GetToken($6,$tokenType)|0); - HEAP32[$n>>2] = $7; - $8 = HEAP32[$tokenType>>2]|0; - $9 = ($8|0)==(135); - $10 = HEAP32[$n>>2]|0; - if ($9) { - break; - } - $12 = HEAP32[$nTotal>>2]|0; - $13 = (($12) + ($10))|0; - HEAP32[$nTotal>>2] = $13; - $14 = HEAP32[$n>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + ($14)|0); - HEAP32[$0>>2] = $16; - } - if ((label|0) == 6) { - $17 = HEAP32[$nTotal>>2]|0; - STACKTOP = sp;return ($17|0); - } - $11 = HEAP32[$1>>2]|0; - HEAP32[$11>>2] = $10; - $17 = HEAP32[$nTotal>>2]|0; - STACKTOP = sp;return ($17|0); -} function _sqlite3PagerMaxPageCount($pPager,$mxPage) { $pPager = $pPager|0; $mxPage = $mxPage|0; @@ -231825,6 +235825,73 @@ function _sqlite3PagerMaxPageCount($pPager,$mxPage) { $9 = HEAP32[$8>>2]|0; STACKTOP = sp;return ($9|0); } +function _vtabDisconnectAll($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db2 = 0, $pNext = 0, $pRet = 0, $pVTable = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $pRet = sp + 12|0; + $pVTable = sp + 8|0; + $db2 = sp + 4|0; + $pNext = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + HEAP32[$pRet>>2] = 0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 56|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$pVTable>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 56|0); + HEAP32[$6>>2] = 0; + while(1) { + $7 = HEAP32[$pVTable>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + break; + } + $9 = HEAP32[$pVTable>>2]|0; + $10 = HEAP32[$9>>2]|0; + HEAP32[$db2>>2] = $10; + $11 = HEAP32[$pVTable>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$pNext>>2] = $13; + $14 = HEAP32[$db2>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = ($14|0)==($15|0); + if ($16) { + $17 = HEAP32[$pVTable>>2]|0; + HEAP32[$pRet>>2] = $17; + $18 = HEAP32[$pRet>>2]|0; + $19 = HEAP32[$1>>2]|0; + $20 = ((($19)) + 56|0); + HEAP32[$20>>2] = $18; + $21 = HEAP32[$pRet>>2]|0; + $22 = ((($21)) + 24|0); + HEAP32[$22>>2] = 0; + } else { + $23 = HEAP32[$db2>>2]|0; + $24 = ((($23)) + 344|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$pVTable>>2]|0; + $27 = ((($26)) + 24|0); + HEAP32[$27>>2] = $25; + $28 = HEAP32[$pVTable>>2]|0; + $29 = HEAP32[$db2>>2]|0; + $30 = ((($29)) + 344|0); + HEAP32[$30>>2] = $28; + } + $31 = HEAP32[$pNext>>2]|0; + HEAP32[$pVTable>>2] = $31; + } + $32 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($32|0); +} function _growVTrans($db) { $db = $db|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; @@ -232060,7 +236127,7 @@ function _finalDbSize($pBt,$nOrig,$nFree) { $22 = (($20) - ($21))|0; HEAP32[$nFin>>2] = $22; $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[1524>>2]|0; + $24 = HEAP32[1536>>2]|0; $25 = HEAP32[$0>>2]|0; $26 = ((($25)) + 32|0); $27 = HEAP32[$26>>2]|0; @@ -232069,7 +236136,7 @@ function _finalDbSize($pBt,$nOrig,$nFree) { $30 = ($23>>>0)>($29>>>0); if ($30) { $31 = HEAP32[$nFin>>2]|0; - $32 = HEAP32[1524>>2]|0; + $32 = HEAP32[1536>>2]|0; $33 = HEAP32[$0>>2]|0; $34 = ((($33)) + 32|0); $35 = HEAP32[$34>>2]|0; @@ -232092,7 +236159,7 @@ function _finalDbSize($pBt,$nOrig,$nFree) { $56 = 1; } else { $46 = HEAP32[$nFin>>2]|0; - $47 = HEAP32[1524>>2]|0; + $47 = HEAP32[1536>>2]|0; $48 = HEAP32[$0>>2]|0; $49 = ((($48)) + 32|0); $50 = HEAP32[$49>>2]|0; @@ -232183,7 +236250,7 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { do { if (!($9)) { $10 = HEAP32[$3>>2]|0; - $11 = HEAP32[1524>>2]|0; + $11 = HEAP32[1536>>2]|0; $12 = HEAP32[$1>>2]|0; $13 = ((($12)) + 32|0); $14 = HEAP32[$13>>2]|0; @@ -232222,7 +236289,7 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { $34 = $33&255; $35 = ($34|0)==(1); if ($35) { - $36 = (_sqlite3CorruptError(61223)|0); + $36 = (_sqlite3CorruptError(61751)|0); HEAP32[$0>>2] = $36; $105 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($105|0); @@ -232336,7 +236403,7 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { $86 = (($85) + -1)|0; HEAP32[$3>>2] = $86; $87 = HEAP32[$3>>2]|0; - $88 = HEAP32[1524>>2]|0; + $88 = HEAP32[1536>>2]|0; $89 = HEAP32[$1>>2]|0; $90 = ((($89)) + 32|0); $91 = HEAP32[$90>>2]|0; @@ -232452,7 +236519,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $17 = HEAP32[$mxPage>>2]|0; $18 = ($16>>>0)>=($17>>>0); if ($18) { - $19 = (_sqlite3CorruptError(63280)|0); + $19 = (_sqlite3CorruptError(63793)|0); HEAP32[$0>>2] = $19; $458 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($458|0); @@ -232564,7 +236631,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { } if ((label|0) == 20) { label = 0; - $72 = (_sqlite3CorruptError(63336)|0); + $72 = (_sqlite3CorruptError(63849)|0); HEAP32[$rc>>2] = $72; } $76 = HEAP32[$rc>>2]|0; @@ -233000,12 +237067,12 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break; } else if ((label|0) == 28) { - $111 = (_sqlite3CorruptError(63365)|0); + $111 = (_sqlite3CorruptError(63878)|0); HEAP32[$rc>>2] = $111; break; } else if ((label|0) == 40) { - $165 = (_sqlite3CorruptError(63399)|0); + $165 = (_sqlite3CorruptError(63912)|0); HEAP32[$rc>>2] = $165; break; } @@ -233014,7 +237081,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break; } else if ((label|0) == 63) { - $276 = (_sqlite3CorruptError(63464)|0); + $276 = (_sqlite3CorruptError(63977)|0); HEAP32[$rc>>2] = $276; break; } @@ -233049,7 +237116,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $361 = HEAP32[$1>>2]|0; $362 = ((($361)) + 44|0); $363 = HEAP32[$362>>2]|0; - $364 = HEAP32[1524>>2]|0; + $364 = HEAP32[1536>>2]|0; $365 = HEAP32[$1>>2]|0; $366 = ((($365)) + 32|0); $367 = HEAP32[$366>>2]|0; @@ -233115,7 +237182,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $409 = HEAP32[$1>>2]|0; $410 = ((($409)) + 44|0); $411 = HEAP32[$410>>2]|0; - $412 = HEAP32[1524>>2]|0; + $412 = HEAP32[1536>>2]|0; $413 = HEAP32[$1>>2]|0; $414 = ((($413)) + 32|0); $415 = HEAP32[$414>>2]|0; @@ -233727,7 +237794,7 @@ function _ptrmapPut($pBt,$key,$eType,$parent,$pRC) { $8 = HEAP32[$1>>2]|0; $9 = ($8|0)==(0); if ($9) { - $10 = (_sqlite3CorruptError(58660)|0); + $10 = (_sqlite3CorruptError(59184)|0); $11 = HEAP32[$4>>2]|0; HEAP32[$11>>2] = $10; STACKTOP = sp;return; @@ -233759,7 +237826,7 @@ function _ptrmapPut($pBt,$key,$eType,$parent,$pRC) { $29 = ($28|0)<(0); do { if ($29) { - $30 = (_sqlite3CorruptError(58671)|0); + $30 = (_sqlite3CorruptError(59195)|0); $31 = HEAP32[$4>>2]|0; HEAP32[$31>>2] = $30; } else { @@ -233861,7 +237928,7 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { _sqlite3Put4byte($17,$18); break; } - $14 = (_sqlite3CorruptError(61053)|0); + $14 = (_sqlite3CorruptError(61581)|0); HEAP32[$0>>2] = $14; $144 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($144|0); @@ -234034,7 +238101,7 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { break; } } - $131 = (_sqlite3CorruptError(61089)|0); + $131 = (_sqlite3CorruptError(61617)|0); HEAP32[$0>>2] = $131; $144 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($144|0); @@ -234202,7 +238269,7 @@ function _btreeGetUnusedPage($pBt,$pgno,$ppPage,$flags) { _releasePage($19); $20 = HEAP32[$3>>2]|0; HEAP32[$20>>2] = 0; - $21 = (_sqlite3CorruptError(59789)|0); + $21 = (_sqlite3CorruptError(60316)|0); HEAP32[$0>>2] = $21; $23 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($23|0); @@ -234271,52 +238338,79 @@ function _execSql($db,$pzErrMsg,$zSql) { $db = $db|0; $pzErrMsg = $pzErrMsg|0; $zSql = $zSql|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $pStmt = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0, $zSubSql = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $pStmt = sp; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $pStmt = sp + 8|0; + $rc = sp + 4|0; + $zSubSql = sp; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pzErrMsg; HEAP32[$3>>2] = $zSql; - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - HEAP32[$0>>2] = 7; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_sqlite3_prepare_v2($4,$5,-1,$pStmt,0)|0); + HEAP32[$rc>>2] = $6; + $7 = HEAP32[$rc>>2]|0; + $8 = ($7|0)!=(0); + if ($8) { + $9 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $9; + $33 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($33|0); } - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (_sqlite3_prepare($6,$7,-1,$pStmt,0)|0); - $9 = (0)!=($8|0); - if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = (_sqlite3_errmsg($12)|0); - _sqlite3SetString($10,$11,$13); - $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3_errcode($14)|0); - HEAP32[$0>>2] = $15; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); - } else { - $16 = HEAP32[$pStmt>>2]|0; - (_sqlite3_step($16)|0); + while(1) { + $10 = HEAP32[$pStmt>>2]|0; + $11 = (_sqlite3_step($10)|0); + HEAP32[$rc>>2] = $11; + $12 = (100)==($11|0); + if (!($12)) { + break; + } + $13 = HEAP32[$pStmt>>2]|0; + $14 = (_sqlite3_column_text($13,0)|0); + HEAP32[$zSubSql>>2] = $14; + $15 = HEAP32[$zSubSql>>2]|0; + $16 = ($15|0)!=(0|0); + if (!($16)) { + continue; + } $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$pStmt>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_vacuumFinalize($17,$18,$19)|0); - HEAP32[$0>>2] = $20; - $21 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($21|0); + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$zSubSql>>2]|0; + $20 = (_execSql($17,$18,$19)|0); + HEAP32[$rc>>2] = $20; + $21 = HEAP32[$rc>>2]|0; + $22 = ($21|0)!=(0); + if ($22) { + break; + } } - return (0)|0; + $23 = HEAP32[$rc>>2]|0; + $24 = ($23|0)==(101); + if ($24) { + HEAP32[$rc>>2] = 0; + } + $25 = HEAP32[$rc>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$1>>2]|0; + $30 = (_sqlite3_errmsg($29)|0); + _sqlite3SetString($27,$28,$30); + } + $31 = HEAP32[$pStmt>>2]|0; + (_sqlite3_finalize($31)|0); + $32 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $32; + $33 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($33|0); } function _sqlite3BtreeGetOptimalReserve($p) { $p = $p|0; @@ -234334,73 +238428,49 @@ function _sqlite3BtreeGetOptimalReserve($p) { $4 = HEAP32[$n>>2]|0; STACKTOP = sp;return ($4|0); } -function _execExecSql($db,$pzErrMsg,$zSql) { +function _execSqlF($db,$pzErrMsg,$zSql,$varargs) { $db = $db|0; $pzErrMsg = $pzErrMsg|0; $zSql = $zSql|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pStmt = 0, $rc = 0, label = 0, sp = 0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $rc = 0, $z = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $pStmt = sp + 4|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 40|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $z = sp + 24|0; + $ap = sp + 8|0; $rc = sp; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $pzErrMsg; HEAP32[$3>>2] = $zSql; + HEAP32[$ap>>2] = $varargs; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$3>>2]|0; - $6 = (_sqlite3_prepare($4,$5,-1,$pStmt,0)|0); - HEAP32[$rc>>2] = $6; - $7 = HEAP32[$rc>>2]|0; - $8 = ($7|0)!=(0); + $6 = (_sqlite3VMPrintf($4,$5,$ap)|0); + HEAP32[$z>>2] = $6; + $7 = HEAP32[$z>>2]|0; + $8 = ($7|0)==(0|0); if ($8) { - $9 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $9; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - while(1) { - $10 = HEAP32[$pStmt>>2]|0; - $11 = (_sqlite3_step($10)|0); - $12 = (100)==($11|0); + HEAP32[$0>>2] = 7; + $16 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($16|0); + } else { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$z>>2]|0; + $12 = (_execSql($9,$10,$11)|0); + HEAP32[$rc>>2] = $12; $13 = HEAP32[$1>>2]|0; - if (!($12)) { - label = 6; - break; - } - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$pStmt>>2]|0; - $16 = (_sqlite3_column_text($15,0)|0); - $17 = (_execSql($13,$14,$16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - $19 = ($18|0)!=(0); - if ($19) { - label = 5; - break; - } - } - if ((label|0) == 5) { - $20 = HEAP32[$1>>2]|0; - $21 = HEAP32[$pStmt>>2]|0; - $22 = HEAP32[$2>>2]|0; - (_vacuumFinalize($20,$21,$22)|0); - $23 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $23; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); - } - else if ((label|0) == 6) { - $24 = HEAP32[$pStmt>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = (_vacuumFinalize($13,$24,$25)|0); - HEAP32[$0>>2] = $26; - $27 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($27|0); + $14 = HEAP32[$z>>2]|0; + _sqlite3DbFree($13,$14); + $15 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $15; + $16 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($16|0); } return (0)|0; } @@ -234519,37 +238589,6 @@ function _sqlite3PagerClearCache($pPager) { _pager_reset($6); STACKTOP = sp;return; } -function _vacuumFinalize($db,$pStmt,$pzErrMsg) { - $db = $db|0; - $pStmt = $pStmt|0; - $pzErrMsg = $pzErrMsg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $db; - HEAP32[$1>>2] = $pStmt; - HEAP32[$2>>2] = $pzErrMsg; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3VdbeFinalize($3)|0); - HEAP32[$rc>>2] = $4; - $5 = HEAP32[$rc>>2]|0; - $6 = ($5|0)!=(0); - if (!($6)) { - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); - } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = (_sqlite3_errmsg($9)|0); - _sqlite3SetString($7,$8,$10); - $11 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($11|0); -} function _sqlite3BtreeGetReserveNoMutex($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, label = 0, sp = 0; @@ -234598,7 +238637,7 @@ function _sqlite3PagerSharedLock($pPager) { HEAP32[$0>>2] = $pPager; HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = (_pagerUseWal($1)|0); + $2 = (_sqlite3PagerUseWal($1)|0); $3 = ($2|0)!=(0); do { if ($3) { @@ -234689,7 +238728,7 @@ function _sqlite3PagerSharedLock($pPager) { $60 = $59 & 1; $61 = ($60|0)!=(0); if ($61) { - $62 = (_sqlite3CantopenError(50989)|0); + $62 = (_sqlite3CantopenError(51483)|0); HEAP32[$rc>>2] = $62; $63 = HEAP32[$0>>2]|0; $64 = ((($63)) + 68|0); @@ -234804,7 +238843,7 @@ function _sqlite3PagerSharedLock($pPager) { } while(0); if ((label|0) == 32) { $123 = HEAP32[$0>>2]|0; - $124 = (_pagerUseWal($123)|0); + $124 = (_sqlite3PagerUseWal($123)|0); $125 = ($124|0)!=(0); if ($125) { $126 = HEAP32[$0>>2]|0; @@ -235616,7 +239655,8 @@ function _sqlite3OsCheckReservedLock($id,$pResOut) { function _rowSetEntrySort($pIn) { $pIn = $pIn|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aBucket = 0, $i = 0, $pNext = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aBucket = 0, $i = 0, $pNext = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; $0 = sp + 168|0; @@ -235667,25 +239707,43 @@ function _rowSetEntrySort($pIn) { $24 = HEAP32[$pNext>>2]|0; HEAP32[$0>>2] = $24; } - HEAP32[$0>>2] = 0; - HEAP32[$i>>2] = 0; + $25 = HEAP32[$aBucket>>2]|0; + HEAP32[$0>>2] = $25; + HEAP32[$i>>2] = 1; while(1) { - $25 = HEAP32[$i>>2]|0; - $26 = ($25>>>0)<(40); - $27 = HEAP32[$0>>2]|0; - if (!($26)) { + $26 = HEAP32[$i>>2]|0; + $27 = ($26>>>0)<(40); + if (!($27)) { break; } $28 = HEAP32[$i>>2]|0; $29 = (($aBucket) + ($28<<2)|0); $30 = HEAP32[$29>>2]|0; - $31 = (_rowSetEntryMerge($27,$30)|0); - HEAP32[$0>>2] = $31; - $32 = HEAP32[$i>>2]|0; - $33 = (($32) + 1)|0; - HEAP32[$i>>2] = $33; + $31 = ($30|0)==(0|0); + if (!($31)) { + $32 = HEAP32[$0>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$i>>2]|0; + $36 = (($aBucket) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_rowSetEntryMerge($34,$37)|0); + $42 = $38; + } else { + $39 = HEAP32[$i>>2]|0; + $40 = (($aBucket) + ($39<<2)|0); + $41 = HEAP32[$40>>2]|0; + $42 = $41; + } + HEAP32[$0>>2] = $42; + } + $43 = HEAP32[$i>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$i>>2] = $44; } - STACKTOP = sp;return ($27|0); + $45 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($45|0); } function _rowSetListToTree($pList) { $pList = $pList|0; @@ -235798,7 +239856,7 @@ function _rowSetEntryMerge($pA,$pB) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $head = 0, $pTail = 0, label = 0, sp = 0; + var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $head = 0, $pTail = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -235810,105 +239868,97 @@ function _rowSetEntryMerge($pA,$pB) { HEAP32[$pTail>>2] = $head; while(1) { $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)!=(0|0); - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - $6 = $3 ? $5 : 0; - $7 = HEAP32[$0>>2]|0; - if (!($6)) { - break; + $3 = $2; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + 4)|0; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = $9; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = ($8|0)<($15|0); + $17 = ($5>>>0)<=($12>>>0); + $18 = ($8|0)==($15|0); + $19 = $18 & $17; + $20 = $16 | $19; + if (!($20)) { + $51 = HEAP32[$1>>2]|0; + $52 = HEAP32[$pTail>>2]|0; + $53 = ((($52)) + 8|0); + HEAP32[$53>>2] = $51; + HEAP32[$pTail>>2] = $51; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 8|0); + $56 = HEAP32[$55>>2]|0; + HEAP32[$1>>2] = $56; + $57 = HEAP32[$1>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + label = 8; + break; + } else { + continue; + } } - $8 = $7; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = ($13|0)<($20|0); - $22 = ($10>>>0)<($17>>>0); - $23 = ($13|0)==($20|0); - $24 = $23 & $22; - $25 = $21 | $24; - if ($25) { - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$pTail>>2]|0; - $28 = ((($27)) + 8|0); - HEAP32[$28>>2] = $26; - $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 8|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$0>>2] = $31; - $32 = HEAP32[$pTail>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$pTail>>2] = $34; - continue; + $21 = HEAP32[$0>>2]|0; + $22 = $21; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = $28; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = ($27|0)<($34|0); + $36 = ($24>>>0)<($31>>>0); + $37 = ($27|0)==($34|0); + $38 = $37 & $36; + $39 = $35 | $38; + if ($39) { + $40 = HEAP32[$0>>2]|0; + $41 = HEAP32[$pTail>>2]|0; + $42 = ((($41)) + 8|0); + HEAP32[$42>>2] = $40; + HEAP32[$pTail>>2] = $40; } - $35 = HEAP32[$1>>2]|0; - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$0>>2]|0; - $43 = $42; - $44 = $43; + $43 = HEAP32[$0>>2]|0; + $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = ($41|0)<($48|0); - $50 = ($38>>>0)<($45>>>0); - $51 = ($41|0)==($48|0); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$pTail>>2]|0; - $56 = ((($55)) + 8|0); - HEAP32[$56>>2] = $54; - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 8|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$1>>2] = $59; - $60 = HEAP32[$pTail>>2]|0; - $61 = ((($60)) + 8|0); - $62 = HEAP32[$61>>2]|0; - HEAP32[$pTail>>2] = $62; - continue; - } else { - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 8|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$0>>2] = $65; - continue; + HEAP32[$0>>2] = $45; + $46 = HEAP32[$0>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + label = 6; + break; } } - $66 = ($7|0)!=(0|0); - if ($66) { - $67 = HEAP32[$0>>2]|0; - $68 = HEAP32[$pTail>>2]|0; - $69 = ((($68)) + 8|0); - HEAP32[$69>>2] = $67; - $73 = ((($head)) + 8|0); - $74 = HEAP32[$73>>2]|0; - STACKTOP = sp;return ($74|0); - } else { - $70 = HEAP32[$1>>2]|0; - $71 = HEAP32[$pTail>>2]|0; - $72 = ((($71)) + 8|0); - HEAP32[$72>>2] = $70; - $73 = ((($head)) + 8|0); - $74 = HEAP32[$73>>2]|0; - STACKTOP = sp;return ($74|0); + if ((label|0) == 6) { + $48 = HEAP32[$1>>2]|0; + $49 = HEAP32[$pTail>>2]|0; + $50 = ((($49)) + 8|0); + HEAP32[$50>>2] = $48; + $62 = ((($head)) + 8|0); + $63 = HEAP32[$62>>2]|0; + STACKTOP = sp;return ($63|0); + } + else if ((label|0) == 8) { + $59 = HEAP32[$0>>2]|0; + $60 = HEAP32[$pTail>>2]|0; + $61 = ((($60)) + 8|0); + HEAP32[$61>>2] = $59; + $62 = ((($head)) + 8|0); + $63 = HEAP32[$62>>2]|0; + STACKTOP = sp;return ($63|0); } return (0)|0; } @@ -236242,7 +240292,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { $53 = HEAP32[$0>>2]|0; $54 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer7>>2] = $54; - _checkAppendMsg($53,42835,$vararg_buffer7); + _checkAppendMsg($53,41711,$vararg_buffer7); $55 = HEAP32[$3>>2]|0; $56 = (($55) + -1)|0; HEAP32[$3>>2] = $56; @@ -236324,7 +240374,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { continue; } $103 = HEAP32[$0>>2]|0; - _checkAppendMsg($103,42874,$vararg_buffer10); + _checkAppendMsg($103,41750,$vararg_buffer10); } if ((label|0) == 5) { $16 = HEAP32[$3>>2]|0; @@ -236336,14 +240386,14 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { HEAP32[$vararg_ptr2>>2] = $18; $vararg_ptr3 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr3>>2] = $19; - _checkAppendMsg($15,42756,$vararg_buffer); + _checkAppendMsg($15,41632,$vararg_buffer); STACKTOP = sp;return; } else if ((label|0) == 8) { $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer4>>2] = $30; - _checkAppendMsg($29,42813,$vararg_buffer4); + _checkAppendMsg($29,41689,$vararg_buffer4); STACKTOP = sp;return; } else if ((label|0) == 25) { @@ -236394,7 +240444,7 @@ function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $17; - _checkAppendMsg($16,42673,$vararg_buffer); + _checkAppendMsg($16,41549,$vararg_buffer); STACKTOP = sp;return; } $18 = HEAP8[$ePtrmapType>>0]|0; @@ -236427,7 +240477,7 @@ function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { HEAP32[$vararg_ptr7>>2] = $32; $vararg_ptr8 = ((($vararg_buffer2)) + 16|0); HEAP32[$vararg_ptr8>>2] = $33; - _checkAppendMsg($26,42702,$vararg_buffer2); + _checkAppendMsg($26,41578,$vararg_buffer2); STACKTOP = sp;return; } function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { @@ -236564,7 +240614,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { } $31 = HEAP32[$3>>2]|0; $32 = ((($31)) + 28|0); - HEAP32[$32>>2] = 42293; + HEAP32[$32>>2] = 41169; $33 = HEAP32[$4>>2]|0; $34 = HEAP32[$3>>2]|0; $35 = ((($34)) + 32|0); @@ -236579,7 +240629,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $40 = HEAP32[$3>>2]|0; $41 = HEAP32[$rc>>2]|0; HEAP32[$vararg_buffer>>2] = $41; - _checkAppendMsg($40,42303,$vararg_buffer); + _checkAppendMsg($40,41179,$vararg_buffer); } else { $42 = HEAP32[$pPage>>2]|0; $43 = HEAP8[$42>>0]|0; @@ -236594,7 +240644,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $48 = HEAP32[$3>>2]|0; $49 = HEAP32[$rc>>2]|0; HEAP32[$vararg_buffer1>>2] = $49; - _checkAppendMsg($48,42341,$vararg_buffer1); + _checkAppendMsg($48,41217,$vararg_buffer1); break; } $50 = HEAP32[$pPage>>2]|0; @@ -236608,7 +240658,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$hdr>>2] = $56; $57 = HEAP32[$3>>2]|0; $58 = ((($57)) + 28|0); - HEAP32[$58>>2] = 42379; + HEAP32[$58>>2] = 41255; $59 = HEAP32[$hdr>>2]|0; $60 = (($59) + 5)|0; $61 = HEAP32[$data>>2]|0; @@ -236686,7 +240736,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { if ($119) { $120 = HEAP32[$3>>2]|0; $121 = ((($120)) + 28|0); - HEAP32[$121>>2] = 42405; + HEAP32[$121>>2] = 41281; $122 = HEAP32[$3>>2]|0; $123 = HEAP32[$pgno>>2]|0; $124 = HEAP32[$4>>2]|0; @@ -236770,7 +240820,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $186 = ($184>>>0)>($185>>>0); if ($186) { $187 = HEAP32[$3>>2]|0; - _checkAppendMsg($187,42463,$vararg_buffer9); + _checkAppendMsg($187,41339,$vararg_buffer9); HEAP32[$doCoverageCheck>>2] = 0; break; } @@ -236827,7 +240877,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $225 = (($223) + 4)|0; $226 = $225; HEAP32[$226>>2] = $222; - _checkAppendMsg($216,42487,$vararg_buffer11); + _checkAppendMsg($216,41363,$vararg_buffer11); } $227 = $info; $228 = $227; @@ -236932,7 +240982,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $296 = ($294|0)!=($295|0); if ($296) { $297 = HEAP32[$3>>2]|0; - _checkAppendMsg($297,42511,$vararg_buffer14); + _checkAppendMsg($297,41387,$vararg_buffer14); $298 = HEAP32[$d2>>2]|0; HEAP32[$depth>>2] = $298; } @@ -236951,7 +241001,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$vararg_ptr7>>2] = $169; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $171; - _checkAppendMsg($167,42433,$vararg_buffer4); + _checkAppendMsg($167,41309,$vararg_buffer4); HEAP32[$doCoverageCheck>>2] = 0; } $309 = HEAP32[$i>>2]|0; @@ -237152,7 +241202,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$vararg_buffer16>>2] = $446; $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); HEAP32[$vararg_ptr19>>2] = $447; - _checkAppendMsg($444,42536,$vararg_buffer16); + _checkAppendMsg($444,41412,$vararg_buffer16); } $457 = HEAP32[$usableSize>>2]|0; $458 = HEAP32[$prev>>2]|0; @@ -237189,7 +241239,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$vararg_ptr23>>2] = $482; $vararg_ptr24 = ((($vararg_buffer20)) + 8|0); HEAP32[$vararg_ptr24>>2] = $483; - _checkAppendMsg($475,42573,$vararg_buffer20); + _checkAppendMsg($475,41449,$vararg_buffer20); } } } @@ -237288,7 +241338,7 @@ function _checkAppendMsg($pCheck,$zFormat,$varargs) { if ($18) { $19 = HEAP32[$0>>2]|0; $20 = ((($19)) + 40|0); - _sqlite3StrAccumAppend($20,42291,1); + _sqlite3StrAccumAppend($20,41167,1); } $21 = HEAP32[$0>>2]|0; $22 = ((($21)) + 28|0); @@ -237358,7 +241408,7 @@ function _checkRef($pCheck,$iPage) { $11 = HEAP32[$2>>2]|0; if ($9) { HEAP32[$vararg_buffer>>2] = $11; - _checkAppendMsg($10,42625,$vararg_buffer); + _checkAppendMsg($10,41501,$vararg_buffer); HEAP32[$0>>2] = 1; break; } @@ -237368,7 +241418,7 @@ function _checkRef($pCheck,$iPage) { $15 = HEAP32[$2>>2]|0; if ($13) { HEAP32[$vararg_buffer1>>2] = $15; - _checkAppendMsg($14,42648,$vararg_buffer1); + _checkAppendMsg($14,41524,$vararg_buffer1); HEAP32[$0>>2] = 1; break; } else { @@ -237874,7 +241924,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $7 = (_btreePagecount($6)|0); $8 = ($5>>>0)>($7>>>0); if ($8) { - $9 = (_sqlite3CorruptError(66175)|0); + $9 = (_sqlite3CorruptError(66688)|0); HEAP32[$0>>2] = $9; $123 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($123|0); @@ -237897,7 +241947,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $19 = ($18<<24>>24)!=(0); L9: do { if ($19) { - $20 = (_sqlite3CorruptError(66180)|0); + $20 = (_sqlite3CorruptError(66693)|0); HEAP32[$rc>>2] = $20; } else { $21 = HEAP32[$pPage>>2]|0; @@ -238116,7 +242166,7 @@ function _clearCell($pPage,$pCell,$pnSize) { $34 = (($29) + ($33)|0); $35 = ($26>>>0)>($34>>>0); if ($35) { - $36 = (_sqlite3CorruptError(63736)|0); + $36 = (_sqlite3CorruptError(64249)|0); HEAP32[$0>>2] = $36; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -238209,7 +242259,7 @@ function _clearCell($pPage,$pCell,$pnSize) { $86 = (_sqlite3PagerPageRefcount($85)|0); $87 = ($86|0)!=(1); if ($87) { - $88 = (_sqlite3CorruptError(63772)|0); + $88 = (_sqlite3CorruptError(64285)|0); HEAP32[$rc>>2] = $88; } else { label = 17; @@ -238241,7 +242291,7 @@ function _clearCell($pPage,$pCell,$pnSize) { HEAP32[$ovflPgno>>2] = $101; } if ((label|0) == 9) { - $68 = (_sqlite3CorruptError(63752)|0); + $68 = (_sqlite3CorruptError(64265)|0); HEAP32[$0>>2] = $68; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -238491,7 +242541,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { $7 = HEAP32[$3>>2]|0; $8 = ($7>>>0)<(2); if ($8) { - $9 = (_sqlite3CorruptError(63590)|0); + $9 = (_sqlite3CorruptError(64103)|0); HEAP32[$0>>2] = $9; $166 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($166|0); @@ -238617,7 +242667,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { $91 = (($90) - 2)|0; $92 = ($86>>>0)>($91>>>0); if ($92) { - $93 = (_sqlite3CorruptError(63643)|0); + $93 = (_sqlite3CorruptError(64156)|0); HEAP32[$rc>>2] = $93; break; } @@ -238948,7 +242998,7 @@ function _btreeDropTable($p,$iTable,$piMoved) { $11 = HEAP32[$2>>2]|0; $12 = ($11>>>0)<(2); if ($12) { - $13 = (_sqlite3CorruptError(66301)|0); + $13 = (_sqlite3CorruptError(66814)|0); HEAP32[$0>>2] = $13; $88 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($88|0); @@ -239062,7 +243112,7 @@ function _btreeDropTable($p,$iTable,$piMoved) { HEAP32[$maxRootPgno>>2] = $66; while(1) { $67 = HEAP32[$maxRootPgno>>2]|0; - $68 = HEAP32[1524>>2]|0; + $68 = HEAP32[1536>>2]|0; $69 = HEAP32[$pBt>>2]|0; $70 = ((($69)) + 32|0); $71 = HEAP32[$70>>2]|0; @@ -239301,7 +243351,8 @@ function _vdbeSorterSort($pTask,$pList) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $9 = 0, $aSlot = 0, $i = 0, $p = 0, $pNext = 0, $rc = 0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $aSlot = 0, $i = 0, $p = 0, $pNext = 0; + var $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; @@ -239322,8 +243373,8 @@ function _vdbeSorterSort($pTask,$pList) { if ($6) { $7 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $7; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $95 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($95|0); } $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$8>>2]|0; @@ -239341,8 +243392,8 @@ function _vdbeSorterSort($pTask,$pList) { $18 = ($17|0)!=(0|0); if (!($18)) { HEAP32[$0>>2] = 7; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $95 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($95|0); } while(1) { $19 = HEAP32[$p>>2]|0; @@ -239400,56 +243451,76 @@ function _vdbeSorterSort($pTask,$pList) { $49 = HEAP32[$aSlot>>2]|0; $50 = (($49) + ($48<<2)|0); $51 = HEAP32[$50>>2]|0; - _vdbeSorterMerge($46,$47,$51,$p); - $52 = HEAP32[$i>>2]|0; - $53 = HEAP32[$aSlot>>2]|0; - $54 = (($53) + ($52<<2)|0); - HEAP32[$54>>2] = 0; - $55 = HEAP32[$i>>2]|0; - $56 = (($55) + 1)|0; - HEAP32[$i>>2] = $56; + $52 = (_vdbeSorterMerge($46,$47,$51)|0); + HEAP32[$p>>2] = $52; + $53 = HEAP32[$i>>2]|0; + $54 = HEAP32[$aSlot>>2]|0; + $55 = (($54) + ($53<<2)|0); + HEAP32[$55>>2] = 0; + $56 = HEAP32[$i>>2]|0; + $57 = (($56) + 1)|0; + HEAP32[$i>>2] = $57; } - $57 = HEAP32[$p>>2]|0; - $58 = HEAP32[$i>>2]|0; - $59 = HEAP32[$aSlot>>2]|0; - $60 = (($59) + ($58<<2)|0); - HEAP32[$60>>2] = $57; - $61 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $61; + $58 = HEAP32[$p>>2]|0; + $59 = HEAP32[$i>>2]|0; + $60 = HEAP32[$aSlot>>2]|0; + $61 = (($60) + ($59<<2)|0); + HEAP32[$61>>2] = $58; + $62 = HEAP32[$pNext>>2]|0; + HEAP32[$p>>2] = $62; } HEAP32[$p>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $62 = HEAP32[$i>>2]|0; - $63 = ($62|0)<(64); - if (!($63)) { + $63 = HEAP32[$i>>2]|0; + $64 = ($63|0)<(64); + if (!($64)) { break; } - $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[$p>>2]|0; - $66 = HEAP32[$i>>2]|0; - $67 = HEAP32[$aSlot>>2]|0; - $68 = (($67) + ($66<<2)|0); - $69 = HEAP32[$68>>2]|0; - _vdbeSorterMerge($64,$65,$69,$p); - $70 = HEAP32[$i>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$i>>2] = $71; + $65 = HEAP32[$i>>2]|0; + $66 = HEAP32[$aSlot>>2]|0; + $67 = (($66) + ($65<<2)|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)==(0|0); + if (!($69)) { + $70 = HEAP32[$p>>2]|0; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$1>>2]|0; + $73 = HEAP32[$p>>2]|0; + $74 = HEAP32[$i>>2]|0; + $75 = HEAP32[$aSlot>>2]|0; + $76 = (($75) + ($74<<2)|0); + $77 = HEAP32[$76>>2]|0; + $78 = (_vdbeSorterMerge($72,$73,$77)|0); + $83 = $78; + } else { + $79 = HEAP32[$i>>2]|0; + $80 = HEAP32[$aSlot>>2]|0; + $81 = (($80) + ($79<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = $82; + } + HEAP32[$p>>2] = $83; + } + $84 = HEAP32[$i>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$i>>2] = $85; } - $72 = HEAP32[$p>>2]|0; - $73 = HEAP32[$2>>2]|0; - HEAP32[$73>>2] = $72; - $74 = HEAP32[$aSlot>>2]|0; - _sqlite3_free($74); - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 12|0); - $77 = HEAP32[$76>>2]|0; - $78 = ((($77)) + 11|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - HEAP32[$0>>2] = $80; - $81 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($81|0); + $86 = HEAP32[$p>>2]|0; + $87 = HEAP32[$2>>2]|0; + HEAP32[$87>>2] = $86; + $88 = HEAP32[$aSlot>>2]|0; + _sqlite3_free($88); + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 12|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($91)) + 11|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + HEAP32[$0>>2] = $94; + $95 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($95|0); } function _vdbePmaWriterInit($pFd,$p,$nBuf,$0,$1) { $pFd = $pFd|0; @@ -239925,20 +243996,18 @@ function _vdbeSorterGetCompare($p) { $12 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($12|0); } -function _vdbeSorterMerge($pTask,$p1,$p2,$ppOut) { +function _vdbeSorterMerge($pTask,$p1,$p2) { $pTask = $pTask|0; $p1 = $p1|0; $p2 = $p2|0; - $ppOut = $ppOut|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bCached = 0, $pFinal = 0, $pp = 0, $res = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $bCached = 0, $pFinal = 0, $pp = 0, $res = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; $pFinal = sp + 12|0; $pp = sp + 8|0; $bCached = sp + 4|0; @@ -239946,73 +244015,82 @@ function _vdbeSorterMerge($pTask,$p1,$p2,$ppOut) { HEAP32[$0>>2] = $pTask; HEAP32[$1>>2] = $p1; HEAP32[$2>>2] = $p2; - HEAP32[$3>>2] = $ppOut; HEAP32[$pFinal>>2] = 0; HEAP32[$pp>>2] = $pFinal; HEAP32[$bCached>>2] = 0; while(1) { - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)!=(0|0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)!=(0|0); - $8 = $5 ? $7 : 0; - if (!($8)) { - break; - } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 8|0); - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_iiiiiii[$11 & 255]($12,$bCached,$14,$16,$18,$20)|0); - HEAP32[$res>>2] = $21; - $22 = HEAP32[$res>>2]|0; - $23 = ($22|0)<=(0); - if ($23) { - $24 = HEAP32[$1>>2]|0; - $25 = HEAP32[$pp>>2]|0; - HEAP32[$25>>2] = $24; - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 4|0); - HEAP32[$pp>>2] = $27; - $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - continue; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (FUNCTION_TABLE_iiiiiii[$5 & 255]($6,$bCached,$8,$10,$12,$14)|0); + HEAP32[$res>>2] = $15; + $16 = HEAP32[$res>>2]|0; + $17 = ($16|0)<=(0); + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$pp>>2]|0; + HEAP32[$19>>2] = $18; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$pp>>2] = $21; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 4|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $24; + $25 = HEAP32[$1>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + label = 4; + break; + } else { + continue; + } } else { + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$pp>>2]|0; + HEAP32[$30>>2] = $29; $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$pp>>2]|0; - HEAP32[$32>>2] = $31; + $32 = ((($31)) + 4|0); + HEAP32[$pp>>2] = $32; $33 = HEAP32[$2>>2]|0; $34 = ((($33)) + 4|0); - HEAP32[$pp>>2] = $34; - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$2>>2] = $37; + $35 = HEAP32[$34>>2]|0; + HEAP32[$2>>2] = $35; HEAP32[$bCached>>2] = 0; - continue; + $36 = HEAP32[$2>>2]|0; + $37 = ($36|0)==(0|0); + if ($37) { + label = 6; + break; + } else { + continue; + } } } - $38 = HEAP32[$1>>2]|0; - $39 = ($38|0)!=(0|0); - $40 = HEAP32[$1>>2]|0; - $41 = HEAP32[$2>>2]|0; - $42 = $39 ? $40 : $41; - $43 = HEAP32[$pp>>2]|0; - HEAP32[$43>>2] = $42; - $44 = HEAP32[$pFinal>>2]|0; - $45 = HEAP32[$3>>2]|0; - HEAP32[$45>>2] = $44; - STACKTOP = sp;return; + if ((label|0) == 4) { + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$pp>>2]|0; + HEAP32[$28>>2] = $27; + $40 = HEAP32[$pFinal>>2]|0; + STACKTOP = sp;return ($40|0); + } + else if ((label|0) == 6) { + $38 = HEAP32[$1>>2]|0; + $39 = HEAP32[$pp>>2]|0; + HEAP32[$39>>2] = $38; + $40 = HEAP32[$pFinal>>2]|0; + STACKTOP = sp;return ($40|0); + } + return (0)|0; } function _vdbeSorterCompareInt($pTask,$pbKey2Cached,$pKey1,$nKey1,$pKey2,$nKey2) { $pTask = $pTask|0; @@ -240114,7 +244192,7 @@ function _vdbeSorterCompareInt($pTask,$pbKey2Cached,$pKey1,$nKey1,$pKey2,$nKey2) while(1) { $49 = HEAP32[$i>>2]|0; $50 = HEAP32[$s1>>2]|0; - $51 = (42913 + ($50)|0); + $51 = (41789 + ($50)|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; $54 = ($49|0)<($53|0); @@ -241712,7 +245790,7 @@ function _vdbeSorterMapFile($pTask,$pFile,$pp) { $13 = HEAP32[$12>>2]|0; $14 = ((($13)) + 24|0); $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 140|0); + $16 = ((($15)) + 144|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)<(0); $19 = $18 << 31 >> 31; @@ -243527,7 +247605,7 @@ function _dropCell($pPage,$idx,$sz,$pRC) { } } } - $55 = (_sqlite3CorruptError(64006)|0); + $55 = (_sqlite3CorruptError(64508)|0); $56 = HEAP32[$3>>2]|0; HEAP32[$56>>2] = $55; STACKTOP = sp;return; @@ -243542,12 +247620,12 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { $pRC = $pRC|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $idx = 0, $j = 0, $pIns = 0, $rc = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $data = 0, $idx = 0, $j = 0, $pIns = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -243570,191 +247648,185 @@ function _insertCell($pPage,$i,$pCell,$sz,$pTemp,$iChild,$pRC) { HEAP32[$5>>2] = $iChild; HEAP32[$6>>2] = $pRC; HEAP32[$idx>>2] = 0; - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)!=(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if (!($14)) { - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + 2)|0; - $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 16|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = ($16|0)>($20|0); - if (!($21)) { - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 72|0); - $50 = HEAP32[$49>>2]|0; - $51 = (_sqlite3PagerWrite($50)|0); - HEAP32[$rc>>2] = $51; - $52 = HEAP32[$rc>>2]|0; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP32[$rc>>2]|0; - $55 = HEAP32[$6>>2]|0; - HEAP32[$55>>2] = $54; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + if (!($11)) { + $12 = HEAP32[$3>>2]|0; + $13 = (($12) + 2)|0; + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 16|0); + $16 = HEAP16[$15>>1]|0; + $17 = $16&65535; + $18 = ($13|0)>($17|0); + if (!($18)) { + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 72|0); + $47 = HEAP32[$46>>2]|0; + $48 = (_sqlite3PagerWrite($47)|0); + HEAP32[$rc>>2] = $48; + $49 = HEAP32[$rc>>2]|0; + $50 = ($49|0)!=(0); + if ($50) { + $51 = HEAP32[$rc>>2]|0; + $52 = HEAP32[$6>>2]|0; + HEAP32[$52>>2] = $51; STACKTOP = sp;return; } + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 56|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$data>>2] = $55; $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 56|0); - $58 = HEAP32[$57>>2]|0; - HEAP32[$data>>2] = $58; - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$3>>2]|0; - $61 = (_allocateSpace($59,$60,$idx)|0); - HEAP32[$rc>>2] = $61; - $62 = HEAP32[$rc>>2]|0; - $63 = ($62|0)!=(0); - if ($63) { - $64 = HEAP32[$rc>>2]|0; - $65 = HEAP32[$6>>2]|0; - HEAP32[$65>>2] = $64; + $57 = HEAP32[$3>>2]|0; + $58 = (_allocateSpace($56,$57,$idx)|0); + HEAP32[$rc>>2] = $58; + $59 = HEAP32[$rc>>2]|0; + $60 = ($59|0)!=(0); + if ($60) { + $61 = HEAP32[$rc>>2]|0; + $62 = HEAP32[$6>>2]|0; + HEAP32[$62>>2] = $61; STACKTOP = sp;return; } - $66 = HEAP32[$3>>2]|0; - $67 = (2 + ($66))|0; - $68 = $67&65535; - $69 = $68&65535; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 16|0); - $72 = HEAP16[$71>>1]|0; - $73 = $72&65535; - $74 = (($73) - ($69))|0; - $75 = $74&65535; - HEAP16[$71>>1] = $75; - $76 = HEAP32[$idx>>2]|0; - $77 = HEAP32[$data>>2]|0; - $78 = (($77) + ($76)|0); - $79 = HEAP32[$2>>2]|0; - $80 = HEAP32[$3>>2]|0; - _memcpy(($78|0),($79|0),($80|0))|0; - $81 = HEAP32[$5>>2]|0; - $82 = ($81|0)!=(0); - if ($82) { - $83 = HEAP32[$idx>>2]|0; - $84 = HEAP32[$data>>2]|0; - $85 = (($84) + ($83)|0); - $86 = HEAP32[$5>>2]|0; - _sqlite3Put4byte($85,$86); + $63 = HEAP32[$3>>2]|0; + $64 = (2 + ($63))|0; + $65 = $64&65535; + $66 = $65&65535; + $67 = HEAP32[$0>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP16[$68>>1]|0; + $70 = $69&65535; + $71 = (($70) - ($66))|0; + $72 = $71&65535; + HEAP16[$68>>1] = $72; + $73 = HEAP32[$idx>>2]|0; + $74 = HEAP32[$data>>2]|0; + $75 = (($74) + ($73)|0); + $76 = HEAP32[$2>>2]|0; + $77 = HEAP32[$3>>2]|0; + _memcpy(($75|0),($76|0),($77|0))|0; + $78 = HEAP32[$5>>2]|0; + $79 = ($78|0)!=(0); + if ($79) { + $80 = HEAP32[$idx>>2]|0; + $81 = HEAP32[$data>>2]|0; + $82 = (($81) + ($80)|0); + $83 = HEAP32[$5>>2]|0; + _sqlite3Put4byte($82,$83); } - $87 = HEAP32[$0>>2]|0; - $88 = ((($87)) + 64|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = $90<<1; - $92 = (($89) + ($91)|0); - HEAP32[$pIns>>2] = $92; - $93 = HEAP32[$pIns>>2]|0; - $94 = ((($93)) + 2|0); - $95 = HEAP32[$pIns>>2]|0; - $96 = HEAP32[$0>>2]|0; - $97 = ((($96)) + 18|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = HEAP32[$1>>2]|0; - $101 = (($99) - ($100))|0; - $102 = $101<<1; - _memmove(($94|0),($95|0),($102|0))|0; - $103 = HEAP32[$idx>>2]|0; - $104 = $103 >> 8; + $84 = HEAP32[$0>>2]|0; + $85 = ((($84)) + 64|0); + $86 = HEAP32[$85>>2]|0; + $87 = HEAP32[$1>>2]|0; + $88 = $87<<1; + $89 = (($86) + ($88)|0); + HEAP32[$pIns>>2] = $89; + $90 = HEAP32[$pIns>>2]|0; + $91 = ((($90)) + 2|0); + $92 = HEAP32[$pIns>>2]|0; + $93 = HEAP32[$0>>2]|0; + $94 = ((($93)) + 18|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = HEAP32[$1>>2]|0; + $98 = (($96) - ($97))|0; + $99 = $98<<1; + _memmove(($91|0),($92|0),($99|0))|0; + $100 = HEAP32[$idx>>2]|0; + $101 = $100 >> 8; + $102 = $101&255; + $103 = HEAP32[$pIns>>2]|0; + HEAP8[$103>>0] = $102; + $104 = HEAP32[$idx>>2]|0; $105 = $104&255; $106 = HEAP32[$pIns>>2]|0; - HEAP8[$106>>0] = $105; - $107 = HEAP32[$idx>>2]|0; - $108 = $107&255; - $109 = HEAP32[$pIns>>2]|0; - $110 = ((($109)) + 1|0); - HEAP8[$110>>0] = $108; - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + 18|0); - $113 = HEAP16[$112>>1]|0; - $114 = (($113) + 1)<<16>>16; - HEAP16[$112>>1] = $114; - $115 = HEAP32[$0>>2]|0; - $116 = ((($115)) + 5|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (($118) + 4)|0; - $120 = HEAP32[$data>>2]|0; - $121 = (($120) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = (($122) + 1)<<24>>24; - HEAP8[$121>>0] = $123; - $124 = $123&255; - $125 = ($124|0)==(0); - if ($125) { - $126 = HEAP32[$0>>2]|0; - $127 = ((($126)) + 5|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = (($129) + 3)|0; - $131 = HEAP32[$data>>2]|0; - $132 = (($131) + ($130)|0); - $133 = HEAP8[$132>>0]|0; - $134 = (($133) + 1)<<24>>24; - HEAP8[$132>>0] = $134; + $107 = ((($106)) + 1|0); + HEAP8[$107>>0] = $105; + $108 = HEAP32[$0>>2]|0; + $109 = ((($108)) + 18|0); + $110 = HEAP16[$109>>1]|0; + $111 = (($110) + 1)<<16>>16; + HEAP16[$109>>1] = $111; + $112 = HEAP32[$0>>2]|0; + $113 = ((($112)) + 5|0); + $114 = HEAP8[$113>>0]|0; + $115 = $114&255; + $116 = (($115) + 4)|0; + $117 = HEAP32[$data>>2]|0; + $118 = (($117) + ($116)|0); + $119 = HEAP8[$118>>0]|0; + $120 = (($119) + 1)<<24>>24; + HEAP8[$118>>0] = $120; + $121 = $120&255; + $122 = ($121|0)==(0); + if ($122) { + $123 = HEAP32[$0>>2]|0; + $124 = ((($123)) + 5|0); + $125 = HEAP8[$124>>0]|0; + $126 = $125&255; + $127 = (($126) + 3)|0; + $128 = HEAP32[$data>>2]|0; + $129 = (($128) + ($127)|0); + $130 = HEAP8[$129>>0]|0; + $131 = (($130) + 1)<<24>>24; + HEAP8[$129>>0] = $131; } - $135 = HEAP32[$0>>2]|0; - $136 = ((($135)) + 52|0); - $137 = HEAP32[$136>>2]|0; - $138 = ((($137)) + 17|0); - $139 = HEAP8[$138>>0]|0; - $140 = ($139<<24>>24)!=(0); - if (!($140)) { + $132 = HEAP32[$0>>2]|0; + $133 = ((($132)) + 52|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 17|0); + $136 = HEAP8[$135>>0]|0; + $137 = ($136<<24>>24)!=(0); + if (!($137)) { STACKTOP = sp;return; } - $141 = HEAP32[$0>>2]|0; - $142 = HEAP32[$2>>2]|0; - $143 = HEAP32[$6>>2]|0; - _ptrmapPutOvflPtr($141,$142,$143); + $138 = HEAP32[$0>>2]|0; + $139 = HEAP32[$2>>2]|0; + $140 = HEAP32[$6>>2]|0; + _ptrmapPutOvflPtr($138,$139,$140); STACKTOP = sp;return; } } - $22 = HEAP32[$4>>2]|0; - $23 = ($22|0)!=(0|0); - if ($23) { + $19 = HEAP32[$4>>2]|0; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$4>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$3>>2]|0; + _memcpy(($21|0),($22|0),($23|0))|0; $24 = HEAP32[$4>>2]|0; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$3>>2]|0; - _memcpy(($24|0),($25|0),($26|0))|0; - $27 = HEAP32[$4>>2]|0; - HEAP32[$2>>2] = $27; + HEAP32[$2>>2] = $24; } - $28 = HEAP32[$5>>2]|0; - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$5>>2]|0; - _sqlite3Put4byte($30,$31); + $25 = HEAP32[$5>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$5>>2]|0; + _sqlite3Put4byte($27,$28); } - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = (($34) + 1)<<24>>24; - HEAP8[$33>>0] = $35; - $36 = $34&255; - HEAP32[$j>>2] = $36; - $37 = HEAP32[$2>>2]|0; - $38 = HEAP32[$j>>2]|0; - $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 32|0); - $41 = (($40) + ($38<<2)|0); - HEAP32[$41>>2] = $37; - $42 = HEAP32[$1>>2]|0; - $43 = $42&65535; - $44 = HEAP32[$j>>2]|0; - $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 22|0); - $47 = (($46) + ($44<<1)|0); - HEAP16[$47>>1] = $43; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = (($31) + 1)<<24>>24; + HEAP8[$30>>0] = $32; + $33 = $31&255; + HEAP32[$j>>2] = $33; + $34 = HEAP32[$2>>2]|0; + $35 = HEAP32[$j>>2]|0; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 32|0); + $38 = (($37) + ($35<<2)|0); + HEAP32[$38>>2] = $34; + $39 = HEAP32[$1>>2]|0; + $40 = $39&65535; + $41 = HEAP32[$j>>2]|0; + $42 = HEAP32[$0>>2]|0; + $43 = ((($42)) + 22|0); + $44 = (($43) + ($41<<1)|0); + HEAP16[$44>>1] = $40; STACKTOP = sp;return; } function _balance($pCur) { @@ -244100,12 +248172,12 @@ function _balance_quick($pParent,$pPage,$pSpace) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pBt = 0, $pCell = 0, $pNew = 0, $pOut = 0, $pStop = 0, $pgnoNew = 0; - var $rc = 0, $szCell = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pBt = 0, $pCell = 0, $pNew = 0, $pOut = 0; + var $pStop = 0, $pgnoNew = 0, $rc = 0, $szCell = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 40|0; @@ -244133,10 +248205,10 @@ function _balance_quick($pParent,$pPage,$pSpace) { $10 = $9&65535; $11 = ($10|0)==(0); if ($11) { - $12 = (_sqlite3CorruptError(64503)|0); + $12 = (_sqlite3CorruptError(65006)|0); HEAP32[$0>>2] = $12; - $153 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($153|0); + $155 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($155|0); } $13 = HEAP32[$pBt>>2]|0; $14 = (_allocateBtreePage($13,$pNew,$pgnoNew,0,0)|0); @@ -244168,8 +248240,8 @@ function _balance_quick($pParent,$pPage,$pSpace) { if ($32) { $33 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $33; - $153 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($153|0); + $155 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($155|0); } $34 = HEAP32[$pBt>>2]|0; $35 = ((($34)) + 36|0); @@ -244294,39 +248366,43 @@ function _balance_quick($pParent,$pPage,$pSpace) { break; } } - $127 = HEAP32[$1>>2]|0; - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 18|0); - $130 = HEAP16[$129>>1]|0; - $131 = $130&65535; - $132 = HEAP32[$3>>2]|0; - $133 = HEAP32[$pOut>>2]|0; - $134 = HEAP32[$3>>2]|0; - $135 = $133; - $136 = $134; - $137 = (($135) - ($136))|0; - $138 = HEAP32[$2>>2]|0; - $139 = ((($138)) + 84|0); - $140 = HEAP32[$139>>2]|0; - _insertCell($127,$131,$132,$137,0,$140,$rc); - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 5|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $145 = (($144) + 8)|0; - $146 = HEAP32[$1>>2]|0; - $147 = ((($146)) + 56|0); - $148 = HEAP32[$147>>2]|0; - $149 = (($148) + ($145)|0); - $150 = HEAP32[$pgnoNew>>2]|0; - _sqlite3Put4byte($149,$150); - $151 = HEAP32[$pNew>>2]|0; - _releasePage($151); + $127 = HEAP32[$rc>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = HEAP32[$1>>2]|0; + $130 = HEAP32[$1>>2]|0; + $131 = ((($130)) + 18|0); + $132 = HEAP16[$131>>1]|0; + $133 = $132&65535; + $134 = HEAP32[$3>>2]|0; + $135 = HEAP32[$pOut>>2]|0; + $136 = HEAP32[$3>>2]|0; + $137 = $135; + $138 = $136; + $139 = (($137) - ($138))|0; + $140 = HEAP32[$2>>2]|0; + $141 = ((($140)) + 84|0); + $142 = HEAP32[$141>>2]|0; + _insertCell($129,$133,$134,$139,0,$142,$rc); + } + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 5|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + 8)|0; + $148 = HEAP32[$1>>2]|0; + $149 = ((($148)) + 56|0); + $150 = HEAP32[$149>>2]|0; + $151 = (($150) + ($147)|0); + $152 = HEAP32[$pgnoNew>>2]|0; + _sqlite3Put4byte($151,$152); + $153 = HEAP32[$pNew>>2]|0; + _releasePage($153); } - $152 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $152; - $153 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($153|0); + $154 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $154; + $155 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($155|0); } function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $pParent = $pParent|0; @@ -244355,58 +248431,58 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0; var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0; var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0; - var $1376 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0; - var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0; - var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0; - var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; - var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; - var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; - var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; - var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; - var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; - var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; - var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; - var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; - var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; - var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; - var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; - var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; - var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; - var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; - var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; - var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0; - var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0; - var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0; - var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0; - var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0; - var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0; - var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0; - var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0; - var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0; - var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0; - var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0; - var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0; - var $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0; - var $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0; - var $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0; - var $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0; - var $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0; - var $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0; - var $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0; - var $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0; - var $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0; - var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0; - var $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0; - var $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0; - var $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aData = 0, $aOld = 0, $aPgFlags = 0; - var $aPgOrder = 0, $aPgno = 0, $aSpace1 = 0, $abDone = 0, $apDiv = 0, $apNew = 0, $apOld = 0, $b = 0, $cntNew = 0, $cntOld = 0, $cntOldNext = 0, $d = 0, $i = 0, $iBest = 0, $iNew = 0, $iNew9 = 0, $iOff = 0, $iOld = 0, $iOld10 = 0, $iOvflSpace = 0; - var $iPg = 0, $iSpace1 = 0, $info = 0, $j = 0, $k = 0, $key = 0, $leafCorrection = 0, $leafData = 0, $limit = 0, $maskPage = 0, $nMaxCells = 0, $nNew = 0, $nNewCell = 0, $nOld = 0, $nxDiv = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pCell = 0; - var $pCell5 = 0, $pNew = 0, $pNew3 = 0, $pNew8 = 0, $pOld = 0, $pOld2 = 0, $pOld4 = 0, $pRight = 0, $pTemp = 0, $pTemp6 = 0, $pageFlags = 0, $pgno = 0, $piCell = 0, $piEnd = 0, $r = 0, $rc = 0, $sz = 0, $sz1 = 0, $sz7 = 0, $szLeft = 0; - var $szNew = 0, $szRight = 0, $szScratch = 0, $usableSize = 0, $usableSpace = 0, label = 0, sp = 0; + var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; + var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; + var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0; + var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0; + var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0; + var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0; + var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0; + var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0; + var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0; + var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0; + var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0; + var $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0; + var $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0; + var $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0; + var $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0; + var $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0; + var $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0; + var $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0; + var $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0; + var $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0; + var $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0; + var $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0; + var $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0; + var $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0; + var $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0; + var $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0; + var $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0; + var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0; + var $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0; + var $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0; + var $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0; + var $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0; + var $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0; + var $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0; + var $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0; + var $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0; + var $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0; + var $998 = 0, $999 = 0, $aData = 0, $aOld = 0, $aPgFlags = 0, $aPgOrder = 0, $aPgno = 0, $aSpace1 = 0, $abDone = 0, $apDiv = 0, $apNew = 0, $apOld = 0, $b = 0, $cntNew = 0, $cntOld = 0, $cntOldNext = 0, $d = 0, $i = 0, $iBest = 0, $iNew = 0; + var $iNew9 = 0, $iOff = 0, $iOld = 0, $iOld10 = 0, $iOvflSpace = 0, $iPg = 0, $iSpace1 = 0, $info = 0, $j = 0, $k = 0, $key = 0, $leafCorrection = 0, $leafData = 0, $limit = 0, $maskPage = 0, $nMaxCells = 0, $nNew = 0, $nNewCell = 0, $nOld = 0, $nxDiv = 0; + var $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pCell = 0, $pCell5 = 0, $pNew = 0, $pNew3 = 0, $pNew8 = 0, $pOld = 0, $pOld2 = 0, $pOld4 = 0, $pRight = 0, $pTemp = 0, $pTemp6 = 0, $pageFlags = 0, $pgno = 0, $piCell = 0, $piEnd = 0, $r = 0; + var $rc = 0, $sz = 0, $sz1 = 0, $sz7 = 0, $szLeft = 0, $szNew = 0, $szRight = 0, $szScratch = 0, $usableSize = 0, $usableSpace = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 448|0; $0 = sp + 412|0; @@ -244503,8 +248579,8 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $11 = ($10|0)!=(0|0); if (!($11)) { HEAP32[$0>>2] = 7; - $1376 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1376|0); + $1381 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1381|0); } $12 = HEAP32[$1>>2]|0; $13 = ((($12)) + 1|0); @@ -244844,7 +248920,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { _memset(($apOld|0),0,($112|0))|0; } else if ((label|0) == 23) { - $250 = (_sqlite3CorruptError(64842)|0); + $250 = (_sqlite3CorruptError(65347)|0); HEAP32[$rc>>2] = $250; $251 = HEAP32[$i>>2]|0; $252 = (($251) + 1)|0; @@ -245205,7 +249281,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $552; } if ((label|0) == 31) { - $362 = (_sqlite3CorruptError(64909)|0); + $362 = (_sqlite3CorruptError(65414)|0); HEAP32[$rc>>2] = $362; break; } @@ -245289,7 +249365,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $609; } if ((label|0) == 52) { - $578 = (_sqlite3CorruptError(65007)|0); + $578 = (_sqlite3CorruptError(65512)|0); HEAP32[$rc>>2] = $578; break; } @@ -245491,12 +249567,12 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $735; } if ((label|0) == 62) { - $627 = (_sqlite3CorruptError(65019)|0); + $627 = (_sqlite3CorruptError(65524)|0); HEAP32[$rc>>2] = $627; break; } else if ((label|0) == 81) { - $733 = (_sqlite3CorruptError(65052)|0); + $733 = (_sqlite3CorruptError(65557)|0); HEAP32[$rc>>2] = $733; break; } @@ -245559,460 +249635,465 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $775 = (($774) + ($772<<1)|0); $776 = HEAP16[$775>>1]|0; $777 = $776&65535; - $778 = (($777) + 2)|0; - $779 = (($771) - ($778))|0; - $780 = ($770|0)>($779|0); - if ($780) { + $778 = HEAP32[$i>>2]|0; + $779 = HEAP32[$k>>2]|0; + $780 = (($779) - 1)|0; + $781 = ($778|0)==($780|0); + $782 = $781 ? 0 : 2; + $783 = (($777) + ($782))|0; + $784 = (($771) - ($783))|0; + $785 = ($770|0)>($784|0); + if ($785) { break; } } - $781 = HEAP32[$d>>2]|0; - $782 = ((($b)) + 12|0); - $783 = HEAP32[$782>>2]|0; - $784 = (($783) + ($781<<1)|0); - $785 = HEAP16[$784>>1]|0; - $786 = $785&65535; - $787 = (($786) + 2)|0; - $788 = HEAP32[$szRight>>2]|0; - $789 = (($788) + ($787))|0; - HEAP32[$szRight>>2] = $789; - $790 = HEAP32[$r>>2]|0; - $791 = ((($b)) + 12|0); - $792 = HEAP32[$791>>2]|0; - $793 = (($792) + ($790<<1)|0); - $794 = HEAP16[$793>>1]|0; - $795 = $794&65535; - $796 = (($795) + 2)|0; - $797 = HEAP32[$szLeft>>2]|0; - $798 = (($797) - ($796))|0; - HEAP32[$szLeft>>2] = $798; - $799 = HEAP32[$r>>2]|0; - $800 = HEAP32[$i>>2]|0; - $801 = (($800) - 1)|0; - $802 = (($cntNew) + ($801<<2)|0); - HEAP32[$802>>2] = $799; - $803 = HEAP32[$r>>2]|0; - $804 = (($803) + -1)|0; - HEAP32[$r>>2] = $804; - $805 = HEAP32[$d>>2]|0; - $806 = (($805) + -1)|0; - HEAP32[$d>>2] = $806; - $807 = HEAP32[$r>>2]|0; - $808 = ($807|0)>=(0); - if (!($808)) { + $786 = HEAP32[$d>>2]|0; + $787 = ((($b)) + 12|0); + $788 = HEAP32[$787>>2]|0; + $789 = (($788) + ($786<<1)|0); + $790 = HEAP16[$789>>1]|0; + $791 = $790&65535; + $792 = (($791) + 2)|0; + $793 = HEAP32[$szRight>>2]|0; + $794 = (($793) + ($792))|0; + HEAP32[$szRight>>2] = $794; + $795 = HEAP32[$r>>2]|0; + $796 = ((($b)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = (($797) + ($795<<1)|0); + $799 = HEAP16[$798>>1]|0; + $800 = $799&65535; + $801 = (($800) + 2)|0; + $802 = HEAP32[$szLeft>>2]|0; + $803 = (($802) - ($801))|0; + HEAP32[$szLeft>>2] = $803; + $804 = HEAP32[$r>>2]|0; + $805 = HEAP32[$i>>2]|0; + $806 = (($805) - 1)|0; + $807 = (($cntNew) + ($806<<2)|0); + HEAP32[$807>>2] = $804; + $808 = HEAP32[$r>>2]|0; + $809 = (($808) + -1)|0; + HEAP32[$r>>2] = $809; + $810 = HEAP32[$d>>2]|0; + $811 = (($810) + -1)|0; + HEAP32[$d>>2] = $811; + $812 = HEAP32[$r>>2]|0; + $813 = ($812|0)>=(0); + if (!($813)) { break; } } - $809 = HEAP32[$szRight>>2]|0; - $810 = HEAP32[$i>>2]|0; - $811 = (($szNew) + ($810<<2)|0); - HEAP32[$811>>2] = $809; - $812 = HEAP32[$szLeft>>2]|0; - $813 = HEAP32[$i>>2]|0; - $814 = (($813) - 1)|0; - $815 = (($szNew) + ($814<<2)|0); - HEAP32[$815>>2] = $812; - $816 = HEAP32[$i>>2]|0; - $817 = (($816) - 1)|0; - $818 = (($cntNew) + ($817<<2)|0); - $819 = HEAP32[$818>>2]|0; - $820 = HEAP32[$i>>2]|0; - $821 = ($820|0)>(1); - if ($821) { - $822 = HEAP32[$i>>2]|0; - $823 = (($822) - 2)|0; - $824 = (($cntNew) + ($823<<2)|0); - $825 = HEAP32[$824>>2]|0; - $827 = $825; + $814 = HEAP32[$szRight>>2]|0; + $815 = HEAP32[$i>>2]|0; + $816 = (($szNew) + ($815<<2)|0); + HEAP32[$816>>2] = $814; + $817 = HEAP32[$szLeft>>2]|0; + $818 = HEAP32[$i>>2]|0; + $819 = (($818) - 1)|0; + $820 = (($szNew) + ($819<<2)|0); + HEAP32[$820>>2] = $817; + $821 = HEAP32[$i>>2]|0; + $822 = (($821) - 1)|0; + $823 = (($cntNew) + ($822<<2)|0); + $824 = HEAP32[$823>>2]|0; + $825 = HEAP32[$i>>2]|0; + $826 = ($825|0)>(1); + if ($826) { + $827 = HEAP32[$i>>2]|0; + $828 = (($827) - 2)|0; + $829 = (($cntNew) + ($828<<2)|0); + $830 = HEAP32[$829>>2]|0; + $832 = $830; } else { - $827 = 0; + $832 = 0; } - $826 = ($819|0)<=($827|0); - if ($826) { + $831 = ($824|0)<=($832|0); + if ($831) { label = 93; break; } - $829 = HEAP32[$i>>2]|0; - $830 = (($829) + -1)|0; - HEAP32[$i>>2] = $830; + $834 = HEAP32[$i>>2]|0; + $835 = (($834) + -1)|0; + HEAP32[$i>>2] = $835; } if ((label|0) == 93) { - $828 = (_sqlite3CorruptError(65094)|0); - HEAP32[$rc>>2] = $828; + $833 = (_sqlite3CorruptError(65599)|0); + HEAP32[$rc>>2] = $833; break; } - $831 = HEAP32[$apOld>>2]|0; - $832 = ((($831)) + 56|0); - $833 = HEAP32[$832>>2]|0; - $834 = HEAP8[$833>>0]|0; - $835 = $834&255; - HEAP32[$pageFlags>>2] = $835; + $836 = HEAP32[$apOld>>2]|0; + $837 = ((($836)) + 56|0); + $838 = HEAP32[$837>>2]|0; + $839 = HEAP8[$838>>0]|0; + $840 = $839&255; + HEAP32[$pageFlags>>2] = $840; HEAP32[$i>>2] = 0; while(1) { - $836 = HEAP32[$i>>2]|0; - $837 = HEAP32[$k>>2]|0; - $838 = ($836|0)<($837|0); - if (!($838)) { + $841 = HEAP32[$i>>2]|0; + $842 = HEAP32[$k>>2]|0; + $843 = ($841|0)<($842|0); + if (!($843)) { break; } - $839 = HEAP32[$i>>2]|0; - $840 = HEAP32[$nOld>>2]|0; - $841 = ($839|0)<($840|0); - if ($841) { - $842 = HEAP32[$i>>2]|0; - $843 = (($apOld) + ($842<<2)|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[$i>>2]|0; - $846 = (($apNew) + ($845<<2)|0); - HEAP32[$846>>2] = $844; - HEAP32[$pNew>>2] = $844; + $844 = HEAP32[$i>>2]|0; + $845 = HEAP32[$nOld>>2]|0; + $846 = ($844|0)<($845|0); + if ($846) { $847 = HEAP32[$i>>2]|0; $848 = (($apOld) + ($847<<2)|0); - HEAP32[$848>>2] = 0; - $849 = HEAP32[$pNew>>2]|0; - $850 = ((($849)) + 72|0); - $851 = HEAP32[$850>>2]|0; - $852 = (_sqlite3PagerWrite($851)|0); - HEAP32[$rc>>2] = $852; - $853 = HEAP32[$nNew>>2]|0; - $854 = (($853) + 1)|0; - HEAP32[$nNew>>2] = $854; - $855 = HEAP32[$rc>>2]|0; - $856 = ($855|0)!=(0); - if ($856) { + $849 = HEAP32[$848>>2]|0; + $850 = HEAP32[$i>>2]|0; + $851 = (($apNew) + ($850<<2)|0); + HEAP32[$851>>2] = $849; + HEAP32[$pNew>>2] = $849; + $852 = HEAP32[$i>>2]|0; + $853 = (($apOld) + ($852<<2)|0); + HEAP32[$853>>2] = 0; + $854 = HEAP32[$pNew>>2]|0; + $855 = ((($854)) + 72|0); + $856 = HEAP32[$855>>2]|0; + $857 = (_sqlite3PagerWrite($856)|0); + HEAP32[$rc>>2] = $857; + $858 = HEAP32[$nNew>>2]|0; + $859 = (($858) + 1)|0; + HEAP32[$nNew>>2] = $859; + $860 = HEAP32[$rc>>2]|0; + $861 = ($860|0)!=(0); + if ($861) { break L32; } } else { - $857 = HEAP32[$pBt>>2]|0; - $858 = HEAP32[$5>>2]|0; - $859 = ($858|0)!=(0); - $860 = HEAP32[$pgno>>2]|0; - $861 = $859 ? 1 : $860; - $862 = (_allocateBtreePage($857,$pNew,$pgno,$861,0)|0); - HEAP32[$rc>>2] = $862; - $863 = HEAP32[$rc>>2]|0; + $862 = HEAP32[$pBt>>2]|0; + $863 = HEAP32[$5>>2]|0; $864 = ($863|0)!=(0); - if ($864) { + $865 = HEAP32[$pgno>>2]|0; + $866 = $864 ? 1 : $865; + $867 = (_allocateBtreePage($862,$pNew,$pgno,$866,0)|0); + HEAP32[$rc>>2] = $867; + $868 = HEAP32[$rc>>2]|0; + $869 = ($868|0)!=(0); + if ($869) { break L32; } - $865 = HEAP32[$pNew>>2]|0; - $866 = HEAP32[$pageFlags>>2]|0; - _zeroPage($865,$866); - $867 = HEAP32[$pNew>>2]|0; - $868 = HEAP32[$i>>2]|0; - $869 = (($apNew) + ($868<<2)|0); - HEAP32[$869>>2] = $867; - $870 = HEAP32[$nNew>>2]|0; - $871 = (($870) + 1)|0; - HEAP32[$nNew>>2] = $871; - $872 = HEAP32[$b>>2]|0; + $870 = HEAP32[$pNew>>2]|0; + $871 = HEAP32[$pageFlags>>2]|0; + _zeroPage($870,$871); + $872 = HEAP32[$pNew>>2]|0; $873 = HEAP32[$i>>2]|0; - $874 = (($cntOld) + ($873<<2)|0); + $874 = (($apNew) + ($873<<2)|0); HEAP32[$874>>2] = $872; - $875 = HEAP32[$pBt>>2]|0; - $876 = ((($875)) + 17|0); - $877 = HEAP8[$876>>0]|0; - $878 = ($877<<24>>24)!=(0); - if ($878) { - $879 = HEAP32[$pBt>>2]|0; - $880 = HEAP32[$pNew>>2]|0; - $881 = ((($880)) + 84|0); - $882 = HEAP32[$881>>2]|0; - $883 = HEAP32[$1>>2]|0; - $884 = ((($883)) + 84|0); - $885 = HEAP32[$884>>2]|0; - _ptrmapPut($879,$882,5,$885,$rc); - $886 = HEAP32[$rc>>2]|0; - $887 = ($886|0)!=(0); - if ($887) { + $875 = HEAP32[$nNew>>2]|0; + $876 = (($875) + 1)|0; + HEAP32[$nNew>>2] = $876; + $877 = HEAP32[$b>>2]|0; + $878 = HEAP32[$i>>2]|0; + $879 = (($cntOld) + ($878<<2)|0); + HEAP32[$879>>2] = $877; + $880 = HEAP32[$pBt>>2]|0; + $881 = ((($880)) + 17|0); + $882 = HEAP8[$881>>0]|0; + $883 = ($882<<24>>24)!=(0); + if ($883) { + $884 = HEAP32[$pBt>>2]|0; + $885 = HEAP32[$pNew>>2]|0; + $886 = ((($885)) + 84|0); + $887 = HEAP32[$886>>2]|0; + $888 = HEAP32[$1>>2]|0; + $889 = ((($888)) + 84|0); + $890 = HEAP32[$889>>2]|0; + _ptrmapPut($884,$887,5,$890,$rc); + $891 = HEAP32[$rc>>2]|0; + $892 = ($891|0)!=(0); + if ($892) { break L32; } } } - $888 = HEAP32[$i>>2]|0; - $889 = (($888) + 1)|0; - HEAP32[$i>>2] = $889; + $893 = HEAP32[$i>>2]|0; + $894 = (($893) + 1)|0; + HEAP32[$i>>2] = $894; } HEAP32[$i>>2] = 0; L142: while(1) { - $890 = HEAP32[$i>>2]|0; - $891 = HEAP32[$nNew>>2]|0; - $892 = ($890|0)<($891|0); - if (!($892)) { + $895 = HEAP32[$i>>2]|0; + $896 = HEAP32[$nNew>>2]|0; + $897 = ($895|0)<($896|0); + if (!($897)) { break; } - $893 = HEAP32[$i>>2]|0; - $894 = (($apNew) + ($893<<2)|0); - $895 = HEAP32[$894>>2]|0; - $896 = ((($895)) + 84|0); - $897 = HEAP32[$896>>2]|0; $898 = HEAP32[$i>>2]|0; - $899 = (($aPgno) + ($898<<2)|0); - HEAP32[$899>>2] = $897; - $900 = HEAP32[$i>>2]|0; - $901 = (($aPgOrder) + ($900<<2)|0); - HEAP32[$901>>2] = $897; - $902 = HEAP32[$i>>2]|0; - $903 = (($apNew) + ($902<<2)|0); - $904 = HEAP32[$903>>2]|0; - $905 = ((($904)) + 72|0); - $906 = HEAP32[$905>>2]|0; - $907 = ((($906)) + 24|0); - $908 = HEAP16[$907>>1]|0; - $909 = HEAP32[$i>>2]|0; - $910 = (($aPgFlags) + ($909<<1)|0); - HEAP16[$910>>1] = $908; + $899 = (($apNew) + ($898<<2)|0); + $900 = HEAP32[$899>>2]|0; + $901 = ((($900)) + 84|0); + $902 = HEAP32[$901>>2]|0; + $903 = HEAP32[$i>>2]|0; + $904 = (($aPgno) + ($903<<2)|0); + HEAP32[$904>>2] = $902; + $905 = HEAP32[$i>>2]|0; + $906 = (($aPgOrder) + ($905<<2)|0); + HEAP32[$906>>2] = $902; + $907 = HEAP32[$i>>2]|0; + $908 = (($apNew) + ($907<<2)|0); + $909 = HEAP32[$908>>2]|0; + $910 = ((($909)) + 72|0); + $911 = HEAP32[$910>>2]|0; + $912 = ((($911)) + 24|0); + $913 = HEAP16[$912>>1]|0; + $914 = HEAP32[$i>>2]|0; + $915 = (($aPgFlags) + ($914<<1)|0); + HEAP16[$915>>1] = $913; HEAP32[$j>>2] = 0; while(1) { - $911 = HEAP32[$j>>2]|0; - $912 = HEAP32[$i>>2]|0; - $913 = ($911|0)<($912|0); - if (!($913)) { + $916 = HEAP32[$j>>2]|0; + $917 = HEAP32[$i>>2]|0; + $918 = ($916|0)<($917|0); + if (!($918)) { break; } - $914 = HEAP32[$j>>2]|0; - $915 = (($aPgno) + ($914<<2)|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[$i>>2]|0; - $918 = (($aPgno) + ($917<<2)|0); - $919 = HEAP32[$918>>2]|0; - $920 = ($916|0)==($919|0); - if ($920) { + $919 = HEAP32[$j>>2]|0; + $920 = (($aPgno) + ($919<<2)|0); + $921 = HEAP32[$920>>2]|0; + $922 = HEAP32[$i>>2]|0; + $923 = (($aPgno) + ($922<<2)|0); + $924 = HEAP32[$923>>2]|0; + $925 = ($921|0)==($924|0); + if ($925) { label = 108; break L142; } - $922 = HEAP32[$j>>2]|0; - $923 = (($922) + 1)|0; - HEAP32[$j>>2] = $923; + $927 = HEAP32[$j>>2]|0; + $928 = (($927) + 1)|0; + HEAP32[$j>>2] = $928; } - $924 = HEAP32[$i>>2]|0; - $925 = (($924) + 1)|0; - HEAP32[$i>>2] = $925; + $929 = HEAP32[$i>>2]|0; + $930 = (($929) + 1)|0; + HEAP32[$i>>2] = $930; } if ((label|0) == 108) { - $921 = (_sqlite3CorruptError(65168)|0); - HEAP32[$rc>>2] = $921; + $926 = (_sqlite3CorruptError(65673)|0); + HEAP32[$rc>>2] = $926; break; } HEAP32[$i>>2] = 0; while(1) { - $926 = HEAP32[$i>>2]|0; - $927 = HEAP32[$nNew>>2]|0; - $928 = ($926|0)<($927|0); - if (!($928)) { + $931 = HEAP32[$i>>2]|0; + $932 = HEAP32[$nNew>>2]|0; + $933 = ($931|0)<($932|0); + if (!($933)) { break; } HEAP32[$iBest>>2] = 0; HEAP32[$j>>2] = 1; while(1) { - $929 = HEAP32[$j>>2]|0; - $930 = HEAP32[$nNew>>2]|0; - $931 = ($929|0)<($930|0); - if (!($931)) { + $934 = HEAP32[$j>>2]|0; + $935 = HEAP32[$nNew>>2]|0; + $936 = ($934|0)<($935|0); + if (!($936)) { break; } - $932 = HEAP32[$j>>2]|0; - $933 = (($aPgOrder) + ($932<<2)|0); - $934 = HEAP32[$933>>2]|0; - $935 = HEAP32[$iBest>>2]|0; - $936 = (($aPgOrder) + ($935<<2)|0); - $937 = HEAP32[$936>>2]|0; - $938 = ($934>>>0)<($937>>>0); - if ($938) { - $939 = HEAP32[$j>>2]|0; - HEAP32[$iBest>>2] = $939; + $937 = HEAP32[$j>>2]|0; + $938 = (($aPgOrder) + ($937<<2)|0); + $939 = HEAP32[$938>>2]|0; + $940 = HEAP32[$iBest>>2]|0; + $941 = (($aPgOrder) + ($940<<2)|0); + $942 = HEAP32[$941>>2]|0; + $943 = ($939>>>0)<($942>>>0); + if ($943) { + $944 = HEAP32[$j>>2]|0; + HEAP32[$iBest>>2] = $944; } - $940 = HEAP32[$j>>2]|0; - $941 = (($940) + 1)|0; - HEAP32[$j>>2] = $941; - } - $942 = HEAP32[$iBest>>2]|0; - $943 = (($aPgOrder) + ($942<<2)|0); - $944 = HEAP32[$943>>2]|0; - HEAP32[$pgno>>2] = $944; - $945 = HEAP32[$iBest>>2]|0; - $946 = (($aPgOrder) + ($945<<2)|0); - HEAP32[$946>>2] = -1; + $945 = HEAP32[$j>>2]|0; + $946 = (($945) + 1)|0; + HEAP32[$j>>2] = $946; + } $947 = HEAP32[$iBest>>2]|0; - $948 = HEAP32[$i>>2]|0; - $949 = ($947|0)!=($948|0); - if ($949) { - $950 = HEAP32[$iBest>>2]|0; - $951 = HEAP32[$i>>2]|0; - $952 = ($950|0)>($951|0); - if ($952) { - $953 = HEAP32[$iBest>>2]|0; - $954 = (($apNew) + ($953<<2)|0); - $955 = HEAP32[$954>>2]|0; - $956 = ((($955)) + 72|0); - $957 = HEAP32[$956>>2]|0; - $958 = HEAP32[$pBt>>2]|0; - $959 = ((($958)) + 44|0); + $948 = (($aPgOrder) + ($947<<2)|0); + $949 = HEAP32[$948>>2]|0; + HEAP32[$pgno>>2] = $949; + $950 = HEAP32[$iBest>>2]|0; + $951 = (($aPgOrder) + ($950<<2)|0); + HEAP32[$951>>2] = -1; + $952 = HEAP32[$iBest>>2]|0; + $953 = HEAP32[$i>>2]|0; + $954 = ($952|0)!=($953|0); + if ($954) { + $955 = HEAP32[$iBest>>2]|0; + $956 = HEAP32[$i>>2]|0; + $957 = ($955|0)>($956|0); + if ($957) { + $958 = HEAP32[$iBest>>2]|0; + $959 = (($apNew) + ($958<<2)|0); $960 = HEAP32[$959>>2]|0; - $961 = HEAP32[$iBest>>2]|0; - $962 = (($960) + ($961))|0; - $963 = (($962) + 1)|0; - _sqlite3PagerRekey($957,$963,0); + $961 = ((($960)) + 72|0); + $962 = HEAP32[$961>>2]|0; + $963 = HEAP32[$pBt>>2]|0; + $964 = ((($963)) + 44|0); + $965 = HEAP32[$964>>2]|0; + $966 = HEAP32[$iBest>>2]|0; + $967 = (($965) + ($966))|0; + $968 = (($967) + 1)|0; + _sqlite3PagerRekey($962,$968,0); } - $964 = HEAP32[$i>>2]|0; - $965 = (($apNew) + ($964<<2)|0); - $966 = HEAP32[$965>>2]|0; - $967 = ((($966)) + 72|0); - $968 = HEAP32[$967>>2]|0; - $969 = HEAP32[$pgno>>2]|0; - $970 = HEAP32[$iBest>>2]|0; - $971 = (($aPgFlags) + ($970<<1)|0); - $972 = HEAP16[$971>>1]|0; - _sqlite3PagerRekey($968,$969,$972); - $973 = HEAP32[$pgno>>2]|0; - $974 = HEAP32[$i>>2]|0; - $975 = (($apNew) + ($974<<2)|0); - $976 = HEAP32[$975>>2]|0; - $977 = ((($976)) + 84|0); - HEAP32[$977>>2] = $973; - } - $978 = HEAP32[$i>>2]|0; - $979 = (($978) + 1)|0; - HEAP32[$i>>2] = $979; - } - $980 = HEAP32[$pRight>>2]|0; - $981 = HEAP32[$nNew>>2]|0; - $982 = (($981) - 1)|0; - $983 = (($apNew) + ($982<<2)|0); - $984 = HEAP32[$983>>2]|0; - $985 = ((($984)) + 84|0); - $986 = HEAP32[$985>>2]|0; - _sqlite3Put4byte($980,$986); - $987 = HEAP32[$pageFlags>>2]|0; - $988 = $987 & 8; - $989 = ($988|0)==(0); - if ($989) { - $990 = HEAP32[$nOld>>2]|0; - $991 = HEAP32[$nNew>>2]|0; - $992 = ($990|0)!=($991|0); - if ($992) { - $993 = HEAP32[$nOld>>2]|0; - $994 = (($993) - 1)|0; - $995 = HEAP32[$nNew>>2]|0; - $996 = HEAP32[$nOld>>2]|0; - $997 = ($995|0)>($996|0); - $998 = $997 ? $apNew : $apOld; - $999 = (($998) + ($994<<2)|0); - $1000 = HEAP32[$999>>2]|0; - HEAP32[$pOld2>>2] = $1000; - $1001 = HEAP32[$nNew>>2]|0; - $1002 = (($1001) - 1)|0; - $1003 = (($apNew) + ($1002<<2)|0); - $1004 = HEAP32[$1003>>2]|0; - $1005 = ((($1004)) + 56|0); - $1006 = HEAP32[$1005>>2]|0; - $1007 = ((($1006)) + 8|0); - $1008 = HEAP32[$pOld2>>2]|0; - $1009 = ((($1008)) + 56|0); - $1010 = HEAP32[$1009>>2]|0; - $1011 = ((($1010)) + 8|0); - ;HEAP8[$1007>>0]=HEAP8[$1011>>0]|0;HEAP8[$1007+1>>0]=HEAP8[$1011+1>>0]|0;HEAP8[$1007+2>>0]=HEAP8[$1011+2>>0]|0;HEAP8[$1007+3>>0]=HEAP8[$1011+3>>0]|0; - } - } - $1012 = HEAP32[$pBt>>2]|0; - $1013 = ((($1012)) + 17|0); - $1014 = HEAP8[$1013>>0]|0; - $1015 = ($1014<<24>>24)!=(0); + $969 = HEAP32[$i>>2]|0; + $970 = (($apNew) + ($969<<2)|0); + $971 = HEAP32[$970>>2]|0; + $972 = ((($971)) + 72|0); + $973 = HEAP32[$972>>2]|0; + $974 = HEAP32[$pgno>>2]|0; + $975 = HEAP32[$iBest>>2]|0; + $976 = (($aPgFlags) + ($975<<1)|0); + $977 = HEAP16[$976>>1]|0; + _sqlite3PagerRekey($973,$974,$977); + $978 = HEAP32[$pgno>>2]|0; + $979 = HEAP32[$i>>2]|0; + $980 = (($apNew) + ($979<<2)|0); + $981 = HEAP32[$980>>2]|0; + $982 = ((($981)) + 84|0); + HEAP32[$982>>2] = $978; + } + $983 = HEAP32[$i>>2]|0; + $984 = (($983) + 1)|0; + HEAP32[$i>>2] = $984; + } + $985 = HEAP32[$pRight>>2]|0; + $986 = HEAP32[$nNew>>2]|0; + $987 = (($986) - 1)|0; + $988 = (($apNew) + ($987<<2)|0); + $989 = HEAP32[$988>>2]|0; + $990 = ((($989)) + 84|0); + $991 = HEAP32[$990>>2]|0; + _sqlite3Put4byte($985,$991); + $992 = HEAP32[$pageFlags>>2]|0; + $993 = $992 & 8; + $994 = ($993|0)==(0); + if ($994) { + $995 = HEAP32[$nOld>>2]|0; + $996 = HEAP32[$nNew>>2]|0; + $997 = ($995|0)!=($996|0); + if ($997) { + $998 = HEAP32[$nOld>>2]|0; + $999 = (($998) - 1)|0; + $1000 = HEAP32[$nNew>>2]|0; + $1001 = HEAP32[$nOld>>2]|0; + $1002 = ($1000|0)>($1001|0); + $1003 = $1002 ? $apNew : $apOld; + $1004 = (($1003) + ($999<<2)|0); + $1005 = HEAP32[$1004>>2]|0; + HEAP32[$pOld2>>2] = $1005; + $1006 = HEAP32[$nNew>>2]|0; + $1007 = (($1006) - 1)|0; + $1008 = (($apNew) + ($1007<<2)|0); + $1009 = HEAP32[$1008>>2]|0; + $1010 = ((($1009)) + 56|0); + $1011 = HEAP32[$1010>>2]|0; + $1012 = ((($1011)) + 8|0); + $1013 = HEAP32[$pOld2>>2]|0; + $1014 = ((($1013)) + 56|0); + $1015 = HEAP32[$1014>>2]|0; + $1016 = ((($1015)) + 8|0); + ;HEAP8[$1012>>0]=HEAP8[$1016>>0]|0;HEAP8[$1012+1>>0]=HEAP8[$1016+1>>0]|0;HEAP8[$1012+2>>0]=HEAP8[$1016+2>>0]|0;HEAP8[$1012+3>>0]=HEAP8[$1016+3>>0]|0; + } + } + $1017 = HEAP32[$pBt>>2]|0; + $1018 = ((($1017)) + 17|0); + $1019 = HEAP8[$1018>>0]|0; + $1020 = ($1019<<24>>24)!=(0); L174: do { - if ($1015) { - $1016 = HEAP32[$apNew>>2]|0; - HEAP32[$pNew3>>2] = $1016; - $1017 = HEAP32[$pNew3>>2]|0; - $1018 = ((($1017)) + 56|0); - $1019 = HEAP32[$1018>>2]|0; - HEAP32[$aOld>>2] = $1019; - $1020 = HEAP32[$pNew3>>2]|0; - $1021 = ((($1020)) + 18|0); - $1022 = HEAP16[$1021>>1]|0; - $1023 = $1022&65535; - $1024 = HEAP32[$pNew3>>2]|0; - $1025 = ((($1024)) + 1|0); - $1026 = HEAP8[$1025>>0]|0; - $1027 = $1026&255; - $1028 = (($1023) + ($1027))|0; - HEAP32[$cntOldNext>>2] = $1028; - $1029 = HEAP32[$pBt>>2]|0; - $1030 = ((($1029)) + 36|0); - $1031 = HEAP32[$1030>>2]|0; - HEAP32[$usableSize>>2] = $1031; + if ($1020) { + $1021 = HEAP32[$apNew>>2]|0; + HEAP32[$pNew3>>2] = $1021; + $1022 = HEAP32[$pNew3>>2]|0; + $1023 = ((($1022)) + 56|0); + $1024 = HEAP32[$1023>>2]|0; + HEAP32[$aOld>>2] = $1024; + $1025 = HEAP32[$pNew3>>2]|0; + $1026 = ((($1025)) + 18|0); + $1027 = HEAP16[$1026>>1]|0; + $1028 = $1027&65535; + $1029 = HEAP32[$pNew3>>2]|0; + $1030 = ((($1029)) + 1|0); + $1031 = HEAP8[$1030>>0]|0; + $1032 = $1031&255; + $1033 = (($1028) + ($1032))|0; + HEAP32[$cntOldNext>>2] = $1033; + $1034 = HEAP32[$pBt>>2]|0; + $1035 = ((($1034)) + 36|0); + $1036 = HEAP32[$1035>>2]|0; + HEAP32[$usableSize>>2] = $1036; HEAP32[$iNew>>2] = 0; HEAP32[$iOld>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $1032 = HEAP32[$i>>2]|0; - $1033 = HEAP32[$b>>2]|0; - $1034 = ($1032|0)<($1033|0); - if (!($1034)) { + $1037 = HEAP32[$i>>2]|0; + $1038 = HEAP32[$b>>2]|0; + $1039 = ($1037|0)<($1038|0); + if (!($1039)) { break L174; } - $1035 = HEAP32[$i>>2]|0; - $1036 = ((($b)) + 8|0); - $1037 = HEAP32[$1036>>2]|0; - $1038 = (($1037) + ($1035<<2)|0); - $1039 = HEAP32[$1038>>2]|0; - HEAP32[$pCell>>2] = $1039; $1040 = HEAP32[$i>>2]|0; - $1041 = HEAP32[$cntOldNext>>2]|0; - $1042 = ($1040|0)==($1041|0); - if ($1042) { - $1043 = HEAP32[$iOld>>2]|0; - $1044 = (($1043) + 1)|0; - HEAP32[$iOld>>2] = $1044; - $1045 = HEAP32[$nNew>>2]|0; - $1046 = ($1044|0)<($1045|0); - $1047 = HEAP32[$iOld>>2]|0; - if ($1046) { - $1048 = (($apNew) + ($1047<<2)|0); - $1049 = HEAP32[$1048>>2]|0; - $1052 = $1049; + $1041 = ((($b)) + 8|0); + $1042 = HEAP32[$1041>>2]|0; + $1043 = (($1042) + ($1040<<2)|0); + $1044 = HEAP32[$1043>>2]|0; + HEAP32[$pCell>>2] = $1044; + $1045 = HEAP32[$i>>2]|0; + $1046 = HEAP32[$cntOldNext>>2]|0; + $1047 = ($1045|0)==($1046|0); + if ($1047) { + $1048 = HEAP32[$iOld>>2]|0; + $1049 = (($1048) + 1)|0; + HEAP32[$iOld>>2] = $1049; + $1050 = HEAP32[$nNew>>2]|0; + $1051 = ($1049|0)<($1050|0); + $1052 = HEAP32[$iOld>>2]|0; + if ($1051) { + $1053 = (($apNew) + ($1052<<2)|0); + $1054 = HEAP32[$1053>>2]|0; + $1057 = $1054; } else { - $1050 = (($apOld) + ($1047<<2)|0); - $1051 = HEAP32[$1050>>2]|0; - $1052 = $1051; + $1055 = (($apOld) + ($1052<<2)|0); + $1056 = HEAP32[$1055>>2]|0; + $1057 = $1056; } - HEAP32[$pOld4>>2] = $1052; - $1053 = HEAP32[$pOld4>>2]|0; - $1054 = ((($1053)) + 18|0); - $1055 = HEAP16[$1054>>1]|0; - $1056 = $1055&65535; - $1057 = HEAP32[$pOld4>>2]|0; - $1058 = ((($1057)) + 1|0); - $1059 = HEAP8[$1058>>0]|0; - $1060 = $1059&255; - $1061 = (($1056) + ($1060))|0; - $1062 = HEAP32[$leafData>>2]|0; - $1063 = ($1062|0)!=(0); - $1064 = $1063 ^ 1; - $1065 = $1064&1; + HEAP32[$pOld4>>2] = $1057; + $1058 = HEAP32[$pOld4>>2]|0; + $1059 = ((($1058)) + 18|0); + $1060 = HEAP16[$1059>>1]|0; + $1061 = $1060&65535; + $1062 = HEAP32[$pOld4>>2]|0; + $1063 = ((($1062)) + 1|0); + $1064 = HEAP8[$1063>>0]|0; + $1065 = $1064&255; $1066 = (($1061) + ($1065))|0; - $1067 = HEAP32[$cntOldNext>>2]|0; - $1068 = (($1067) + ($1066))|0; - HEAP32[$cntOldNext>>2] = $1068; - $1069 = HEAP32[$pOld4>>2]|0; - $1070 = ((($1069)) + 56|0); - $1071 = HEAP32[$1070>>2]|0; - HEAP32[$aOld>>2] = $1071; + $1067 = HEAP32[$leafData>>2]|0; + $1068 = ($1067|0)!=(0); + $1069 = $1068 ^ 1; + $1070 = $1069&1; + $1071 = (($1066) + ($1070))|0; + $1072 = HEAP32[$cntOldNext>>2]|0; + $1073 = (($1072) + ($1071))|0; + HEAP32[$cntOldNext>>2] = $1073; + $1074 = HEAP32[$pOld4>>2]|0; + $1075 = ((($1074)) + 56|0); + $1076 = HEAP32[$1075>>2]|0; + HEAP32[$aOld>>2] = $1076; } - $1072 = HEAP32[$i>>2]|0; - $1073 = HEAP32[$iNew>>2]|0; - $1074 = (($cntNew) + ($1073<<2)|0); - $1075 = HEAP32[$1074>>2]|0; - $1076 = ($1072|0)==($1075|0); - if ($1076) { - $1077 = HEAP32[$iNew>>2]|0; - $1078 = (($1077) + 1)|0; - HEAP32[$iNew>>2] = $1078; - $1079 = (($apNew) + ($1078<<2)|0); - $1080 = HEAP32[$1079>>2]|0; - HEAP32[$pNew3>>2] = $1080; - $1081 = HEAP32[$leafData>>2]|0; - $1082 = ($1081|0)!=(0); - if ($1082) { + $1077 = HEAP32[$i>>2]|0; + $1078 = HEAP32[$iNew>>2]|0; + $1079 = (($cntNew) + ($1078<<2)|0); + $1080 = HEAP32[$1079>>2]|0; + $1081 = ($1077|0)==($1080|0); + if ($1081) { + $1082 = HEAP32[$iNew>>2]|0; + $1083 = (($1082) + 1)|0; + HEAP32[$iNew>>2] = $1083; + $1084 = (($apNew) + ($1083<<2)|0); + $1085 = HEAP32[$1084>>2]|0; + HEAP32[$pNew3>>2] = $1085; + $1086 = HEAP32[$leafData>>2]|0; + $1087 = ($1086|0)!=(0); + if ($1087) { label = 136; } } else { @@ -246021,346 +250102,346 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { do { if ((label|0) == 136) { label = 0; - $1083 = HEAP32[$iOld>>2]|0; - $1084 = HEAP32[$nNew>>2]|0; - $1085 = ($1083|0)>=($1084|0); - if (!($1085)) { - $1086 = HEAP32[$pNew3>>2]|0; - $1087 = ((($1086)) + 84|0); - $1088 = HEAP32[$1087>>2]|0; - $1089 = HEAP32[$iOld>>2]|0; - $1090 = (($aPgno) + ($1089<<2)|0); - $1091 = HEAP32[$1090>>2]|0; - $1092 = ($1088|0)!=($1091|0); - if (!($1092)) { - $1093 = HEAP32[$pCell>>2]|0; - $1094 = $1093; - $1095 = HEAP32[$aOld>>2]|0; - $1096 = $1095; - $1097 = ($1094>>>0)>=($1096>>>0); - if ($1097) { - $1098 = HEAP32[$pCell>>2]|0; - $1099 = $1098; - $1100 = HEAP32[$usableSize>>2]|0; - $1101 = HEAP32[$aOld>>2]|0; - $1102 = (($1101) + ($1100)|0); - $1103 = $1102; - $1104 = ($1099>>>0)<($1103>>>0); - if ($1104) { + $1088 = HEAP32[$iOld>>2]|0; + $1089 = HEAP32[$nNew>>2]|0; + $1090 = ($1088|0)>=($1089|0); + if (!($1090)) { + $1091 = HEAP32[$pNew3>>2]|0; + $1092 = ((($1091)) + 84|0); + $1093 = HEAP32[$1092>>2]|0; + $1094 = HEAP32[$iOld>>2]|0; + $1095 = (($aPgno) + ($1094<<2)|0); + $1096 = HEAP32[$1095>>2]|0; + $1097 = ($1093|0)!=($1096|0); + if (!($1097)) { + $1098 = HEAP32[$pCell>>2]|0; + $1099 = $1098; + $1100 = HEAP32[$aOld>>2]|0; + $1101 = $1100; + $1102 = ($1099>>>0)>=($1101>>>0); + if ($1102) { + $1103 = HEAP32[$pCell>>2]|0; + $1104 = $1103; + $1105 = HEAP32[$usableSize>>2]|0; + $1106 = HEAP32[$aOld>>2]|0; + $1107 = (($1106) + ($1105)|0); + $1108 = $1107; + $1109 = ($1104>>>0)<($1108>>>0); + if ($1109) { break; } } } } - $1105 = HEAP16[$leafCorrection>>1]|0; - $1106 = ($1105<<16>>16)!=(0); - if (!($1106)) { - $1107 = HEAP32[$pBt>>2]|0; - $1108 = HEAP32[$pCell>>2]|0; - $1109 = (_sqlite3Get4byte($1108)|0); - $1110 = HEAP32[$pNew3>>2]|0; - $1111 = ((($1110)) + 84|0); - $1112 = HEAP32[$1111>>2]|0; - _ptrmapPut($1107,$1109,5,$1112,$rc); + $1110 = HEAP16[$leafCorrection>>1]|0; + $1111 = ($1110<<16>>16)!=(0); + if (!($1111)) { + $1112 = HEAP32[$pBt>>2]|0; + $1113 = HEAP32[$pCell>>2]|0; + $1114 = (_sqlite3Get4byte($1113)|0); + $1115 = HEAP32[$pNew3>>2]|0; + $1116 = ((($1115)) + 84|0); + $1117 = HEAP32[$1116>>2]|0; + _ptrmapPut($1112,$1114,5,$1117,$rc); } - $1113 = HEAP32[$i>>2]|0; - $1114 = (_cachedCellSize($b,$1113)|0); - $1115 = $1114&65535; - $1116 = HEAP32[$pNew3>>2]|0; - $1117 = ((($1116)) + 12|0); - $1118 = HEAP16[$1117>>1]|0; - $1119 = $1118&65535; - $1120 = ($1115|0)>($1119|0); - if ($1120) { - $1121 = HEAP32[$pNew3>>2]|0; - $1122 = HEAP32[$pCell>>2]|0; - _ptrmapPutOvflPtr($1121,$1122,$rc); + $1118 = HEAP32[$i>>2]|0; + $1119 = (_cachedCellSize($b,$1118)|0); + $1120 = $1119&65535; + $1121 = HEAP32[$pNew3>>2]|0; + $1122 = ((($1121)) + 12|0); + $1123 = HEAP16[$1122>>1]|0; + $1124 = $1123&65535; + $1125 = ($1120|0)>($1124|0); + if ($1125) { + $1126 = HEAP32[$pNew3>>2]|0; + $1127 = HEAP32[$pCell>>2]|0; + _ptrmapPutOvflPtr($1126,$1127,$rc); } - $1123 = HEAP32[$rc>>2]|0; - $1124 = ($1123|0)!=(0); - if ($1124) { + $1128 = HEAP32[$rc>>2]|0; + $1129 = ($1128|0)!=(0); + if ($1129) { break L32; } } } while(0); - $1125 = HEAP32[$i>>2]|0; - $1126 = (($1125) + 1)|0; - HEAP32[$i>>2] = $1126; + $1130 = HEAP32[$i>>2]|0; + $1131 = (($1130) + 1)|0; + HEAP32[$i>>2] = $1131; } } } while(0); HEAP32[$i>>2] = 0; while(1) { - $1127 = HEAP32[$i>>2]|0; - $1128 = HEAP32[$nNew>>2]|0; - $1129 = (($1128) - 1)|0; - $1130 = ($1127|0)<($1129|0); - if (!($1130)) { + $1132 = HEAP32[$i>>2]|0; + $1133 = HEAP32[$nNew>>2]|0; + $1134 = (($1133) - 1)|0; + $1135 = ($1132|0)<($1134|0); + if (!($1135)) { break; } - $1131 = HEAP32[$i>>2]|0; - $1132 = (($apNew) + ($1131<<2)|0); - $1133 = HEAP32[$1132>>2]|0; - HEAP32[$pNew8>>2] = $1133; - $1134 = HEAP32[$i>>2]|0; - $1135 = (($cntNew) + ($1134<<2)|0); - $1136 = HEAP32[$1135>>2]|0; - HEAP32[$j>>2] = $1136; - $1137 = HEAP32[$j>>2]|0; - $1138 = ((($b)) + 8|0); - $1139 = HEAP32[$1138>>2]|0; - $1140 = (($1139) + ($1137<<2)|0); + $1136 = HEAP32[$i>>2]|0; + $1137 = (($apNew) + ($1136<<2)|0); + $1138 = HEAP32[$1137>>2]|0; + HEAP32[$pNew8>>2] = $1138; + $1139 = HEAP32[$i>>2]|0; + $1140 = (($cntNew) + ($1139<<2)|0); $1141 = HEAP32[$1140>>2]|0; - HEAP32[$pCell5>>2] = $1141; + HEAP32[$j>>2] = $1141; $1142 = HEAP32[$j>>2]|0; - $1143 = ((($b)) + 12|0); + $1143 = ((($b)) + 8|0); $1144 = HEAP32[$1143>>2]|0; - $1145 = (($1144) + ($1142<<1)|0); - $1146 = HEAP16[$1145>>1]|0; - $1147 = $1146&65535; - $1148 = HEAP16[$leafCorrection>>1]|0; - $1149 = $1148&65535; - $1150 = (($1147) + ($1149))|0; - HEAP32[$sz7>>2] = $1150; - $1151 = HEAP32[$iOvflSpace>>2]|0; - $1152 = HEAP32[$3>>2]|0; - $1153 = (($1152) + ($1151)|0); - HEAP32[$pTemp6>>2] = $1153; - $1154 = HEAP32[$pNew8>>2]|0; - $1155 = ((($1154)) + 4|0); - $1156 = HEAP8[$1155>>0]|0; - $1157 = ($1156<<24>>24)!=(0); + $1145 = (($1144) + ($1142<<2)|0); + $1146 = HEAP32[$1145>>2]|0; + HEAP32[$pCell5>>2] = $1146; + $1147 = HEAP32[$j>>2]|0; + $1148 = ((($b)) + 12|0); + $1149 = HEAP32[$1148>>2]|0; + $1150 = (($1149) + ($1147<<1)|0); + $1151 = HEAP16[$1150>>1]|0; + $1152 = $1151&65535; + $1153 = HEAP16[$leafCorrection>>1]|0; + $1154 = $1153&65535; + $1155 = (($1152) + ($1154))|0; + HEAP32[$sz7>>2] = $1155; + $1156 = HEAP32[$iOvflSpace>>2]|0; + $1157 = HEAP32[$3>>2]|0; + $1158 = (($1157) + ($1156)|0); + HEAP32[$pTemp6>>2] = $1158; + $1159 = HEAP32[$pNew8>>2]|0; + $1160 = ((($1159)) + 4|0); + $1161 = HEAP8[$1160>>0]|0; + $1162 = ($1161<<24>>24)!=(0); do { - if ($1157) { - $1163 = HEAP32[$leafData>>2]|0; - $1164 = ($1163|0)!=(0); - if ($1164) { - $1165 = HEAP32[$j>>2]|0; - $1166 = (($1165) + -1)|0; - HEAP32[$j>>2] = $1166; - $1167 = HEAP32[$pNew8>>2]|0; - $1168 = ((($1167)) + 80|0); - $1169 = HEAP32[$1168>>2]|0; - $1170 = HEAP32[$pNew8>>2]|0; - $1171 = HEAP32[$j>>2]|0; - $1172 = ((($b)) + 8|0); - $1173 = HEAP32[$1172>>2]|0; - $1174 = (($1173) + ($1171<<2)|0); - $1175 = HEAP32[$1174>>2]|0; - FUNCTION_TABLE_viii[$1169 & 255]($1170,$1175,$info); - $1176 = HEAP32[$pTemp6>>2]|0; - HEAP32[$pCell5>>2] = $1176; - $1177 = HEAP32[$pCell5>>2]|0; - $1178 = ((($1177)) + 4|0); - $1179 = $info; - $1180 = $1179; - $1181 = HEAP32[$1180>>2]|0; - $1182 = (($1179) + 4)|0; - $1183 = $1182; - $1184 = HEAP32[$1183>>2]|0; - $1185 = (_sqlite3PutVarint($1178,$1181,$1184)|0); - $1186 = (4 + ($1185))|0; - HEAP32[$sz7>>2] = $1186; + if ($1162) { + $1168 = HEAP32[$leafData>>2]|0; + $1169 = ($1168|0)!=(0); + if ($1169) { + $1170 = HEAP32[$j>>2]|0; + $1171 = (($1170) + -1)|0; + HEAP32[$j>>2] = $1171; + $1172 = HEAP32[$pNew8>>2]|0; + $1173 = ((($1172)) + 80|0); + $1174 = HEAP32[$1173>>2]|0; + $1175 = HEAP32[$pNew8>>2]|0; + $1176 = HEAP32[$j>>2]|0; + $1177 = ((($b)) + 8|0); + $1178 = HEAP32[$1177>>2]|0; + $1179 = (($1178) + ($1176<<2)|0); + $1180 = HEAP32[$1179>>2]|0; + FUNCTION_TABLE_viii[$1174 & 255]($1175,$1180,$info); + $1181 = HEAP32[$pTemp6>>2]|0; + HEAP32[$pCell5>>2] = $1181; + $1182 = HEAP32[$pCell5>>2]|0; + $1183 = ((($1182)) + 4|0); + $1184 = $info; + $1185 = $1184; + $1186 = HEAP32[$1185>>2]|0; + $1187 = (($1184) + 4)|0; + $1188 = $1187; + $1189 = HEAP32[$1188>>2]|0; + $1190 = (_sqlite3PutVarint($1183,$1186,$1189)|0); + $1191 = (4 + ($1190))|0; + HEAP32[$sz7>>2] = $1191; HEAP32[$pTemp6>>2] = 0; break; } - $1187 = HEAP32[$pCell5>>2]|0; - $1188 = ((($1187)) + -4|0); - HEAP32[$pCell5>>2] = $1188; - $1189 = HEAP32[$j>>2]|0; - $1190 = ((($b)) + 12|0); - $1191 = HEAP32[$1190>>2]|0; - $1192 = (($1191) + ($1189<<1)|0); - $1193 = HEAP16[$1192>>1]|0; - $1194 = $1193&65535; - $1195 = ($1194|0)==(4); - if ($1195) { - $1196 = HEAP32[$1>>2]|0; - $1197 = ((($1196)) + 76|0); - $1198 = HEAP32[$1197>>2]|0; - $1199 = HEAP32[$1>>2]|0; - $1200 = HEAP32[$pCell5>>2]|0; - $1201 = (FUNCTION_TABLE_iii[$1198 & 255]($1199,$1200)|0); - $1202 = $1201&65535; - HEAP32[$sz7>>2] = $1202; + $1192 = HEAP32[$pCell5>>2]|0; + $1193 = ((($1192)) + -4|0); + HEAP32[$pCell5>>2] = $1193; + $1194 = HEAP32[$j>>2]|0; + $1195 = ((($b)) + 12|0); + $1196 = HEAP32[$1195>>2]|0; + $1197 = (($1196) + ($1194<<1)|0); + $1198 = HEAP16[$1197>>1]|0; + $1199 = $1198&65535; + $1200 = ($1199|0)==(4); + if ($1200) { + $1201 = HEAP32[$1>>2]|0; + $1202 = ((($1201)) + 76|0); + $1203 = HEAP32[$1202>>2]|0; + $1204 = HEAP32[$1>>2]|0; + $1205 = HEAP32[$pCell5>>2]|0; + $1206 = (FUNCTION_TABLE_iii[$1203 & 255]($1204,$1205)|0); + $1207 = $1206&65535; + HEAP32[$sz7>>2] = $1207; } } else { - $1158 = HEAP32[$pNew8>>2]|0; - $1159 = ((($1158)) + 56|0); - $1160 = HEAP32[$1159>>2]|0; - $1161 = ((($1160)) + 8|0); - $1162 = HEAP32[$pCell5>>2]|0; - ;HEAP8[$1161>>0]=HEAP8[$1162>>0]|0;HEAP8[$1161+1>>0]=HEAP8[$1162+1>>0]|0;HEAP8[$1161+2>>0]=HEAP8[$1162+2>>0]|0;HEAP8[$1161+3>>0]=HEAP8[$1162+3>>0]|0; + $1163 = HEAP32[$pNew8>>2]|0; + $1164 = ((($1163)) + 56|0); + $1165 = HEAP32[$1164>>2]|0; + $1166 = ((($1165)) + 8|0); + $1167 = HEAP32[$pCell5>>2]|0; + ;HEAP8[$1166>>0]=HEAP8[$1167>>0]|0;HEAP8[$1166+1>>0]=HEAP8[$1167+1>>0]|0;HEAP8[$1166+2>>0]=HEAP8[$1167+2>>0]|0;HEAP8[$1166+3>>0]=HEAP8[$1167+3>>0]|0; } } while(0); - $1203 = HEAP32[$sz7>>2]|0; - $1204 = HEAP32[$iOvflSpace>>2]|0; - $1205 = (($1204) + ($1203))|0; - HEAP32[$iOvflSpace>>2] = $1205; - $1206 = HEAP32[$1>>2]|0; - $1207 = HEAP32[$nxDiv>>2]|0; - $1208 = HEAP32[$i>>2]|0; - $1209 = (($1207) + ($1208))|0; - $1210 = HEAP32[$pCell5>>2]|0; - $1211 = HEAP32[$sz7>>2]|0; - $1212 = HEAP32[$pTemp6>>2]|0; - $1213 = HEAP32[$pNew8>>2]|0; - $1214 = ((($1213)) + 84|0); - $1215 = HEAP32[$1214>>2]|0; - _insertCell($1206,$1209,$1210,$1211,$1212,$1215,$rc); - $1216 = HEAP32[$rc>>2]|0; - $1217 = ($1216|0)!=(0); - if ($1217) { + $1208 = HEAP32[$sz7>>2]|0; + $1209 = HEAP32[$iOvflSpace>>2]|0; + $1210 = (($1209) + ($1208))|0; + HEAP32[$iOvflSpace>>2] = $1210; + $1211 = HEAP32[$1>>2]|0; + $1212 = HEAP32[$nxDiv>>2]|0; + $1213 = HEAP32[$i>>2]|0; + $1214 = (($1212) + ($1213))|0; + $1215 = HEAP32[$pCell5>>2]|0; + $1216 = HEAP32[$sz7>>2]|0; + $1217 = HEAP32[$pTemp6>>2]|0; + $1218 = HEAP32[$pNew8>>2]|0; + $1219 = ((($1218)) + 84|0); + $1220 = HEAP32[$1219>>2]|0; + _insertCell($1211,$1214,$1215,$1216,$1217,$1220,$rc); + $1221 = HEAP32[$rc>>2]|0; + $1222 = ($1221|0)!=(0); + if ($1222) { break L32; } - $1218 = HEAP32[$i>>2]|0; - $1219 = (($1218) + 1)|0; - HEAP32[$i>>2] = $1219; + $1223 = HEAP32[$i>>2]|0; + $1224 = (($1223) + 1)|0; + HEAP32[$i>>2] = $1224; } - $1220 = HEAP32[$nNew>>2]|0; - $1221 = (1 - ($1220))|0; - HEAP32[$i>>2] = $1221; + $1225 = HEAP32[$nNew>>2]|0; + $1226 = (1 - ($1225))|0; + HEAP32[$i>>2] = $1226; while(1) { - $1222 = HEAP32[$i>>2]|0; - $1223 = HEAP32[$nNew>>2]|0; - $1224 = ($1222|0)<($1223|0); - if (!($1224)) { + $1227 = HEAP32[$i>>2]|0; + $1228 = HEAP32[$nNew>>2]|0; + $1229 = ($1227|0)<($1228|0); + if (!($1229)) { break; } - $1225 = HEAP32[$i>>2]|0; - $1226 = ($1225|0)<(0); - $1227 = HEAP32[$i>>2]|0; - $1228 = (0 - ($1227))|0; - $1229 = $1226 ? $1228 : $1227; - HEAP32[$iPg>>2] = $1229; - $1230 = HEAP32[$iPg>>2]|0; - $1231 = (($abDone) + ($1230)|0); - $1232 = HEAP8[$1231>>0]|0; - $1233 = ($1232<<24>>24)!=(0); + $1230 = HEAP32[$i>>2]|0; + $1231 = ($1230|0)<(0); + $1232 = HEAP32[$i>>2]|0; + $1233 = (0 - ($1232))|0; + $1234 = $1231 ? $1233 : $1232; + HEAP32[$iPg>>2] = $1234; + $1235 = HEAP32[$iPg>>2]|0; + $1236 = (($abDone) + ($1235)|0); + $1237 = HEAP8[$1236>>0]|0; + $1238 = ($1237<<24>>24)!=(0); do { - if (!($1233)) { - $1234 = HEAP32[$i>>2]|0; - $1235 = ($1234|0)>=(0); - if (!($1235)) { - $1236 = HEAP32[$iPg>>2]|0; - $1237 = (($1236) - 1)|0; - $1238 = (($cntOld) + ($1237<<2)|0); - $1239 = HEAP32[$1238>>2]|0; - $1240 = HEAP32[$iPg>>2]|0; - $1241 = (($1240) - 1)|0; - $1242 = (($cntNew) + ($1241<<2)|0); - $1243 = HEAP32[$1242>>2]|0; - $1244 = ($1239|0)>=($1243|0); - if (!($1244)) { + if (!($1238)) { + $1239 = HEAP32[$i>>2]|0; + $1240 = ($1239|0)>=(0); + if (!($1240)) { + $1241 = HEAP32[$iPg>>2]|0; + $1242 = (($1241) - 1)|0; + $1243 = (($cntOld) + ($1242<<2)|0); + $1244 = HEAP32[$1243>>2]|0; + $1245 = HEAP32[$iPg>>2]|0; + $1246 = (($1245) - 1)|0; + $1247 = (($cntNew) + ($1246<<2)|0); + $1248 = HEAP32[$1247>>2]|0; + $1249 = ($1244|0)>=($1248|0); + if (!($1249)) { break; } } - $1245 = HEAP32[$iPg>>2]|0; - $1246 = ($1245|0)==(0); - if ($1246) { + $1250 = HEAP32[$iPg>>2]|0; + $1251 = ($1250|0)==(0); + if ($1251) { HEAP32[$iOld10>>2] = 0; HEAP32[$iNew9>>2] = 0; - $1247 = HEAP32[$cntNew>>2]|0; - HEAP32[$nNewCell>>2] = $1247; + $1252 = HEAP32[$cntNew>>2]|0; + HEAP32[$nNewCell>>2] = $1252; } else { - $1248 = HEAP32[$iPg>>2]|0; - $1249 = HEAP32[$nOld>>2]|0; - $1250 = ($1248|0)<($1249|0); - if ($1250) { - $1251 = HEAP32[$iPg>>2]|0; - $1252 = (($1251) - 1)|0; - $1253 = (($cntOld) + ($1252<<2)|0); - $1254 = HEAP32[$1253>>2]|0; - $1255 = HEAP32[$leafData>>2]|0; - $1256 = ($1255|0)!=(0); - $1257 = $1256 ^ 1; - $1258 = $1257&1; - $1259 = (($1254) + ($1258))|0; - $1261 = $1259; + $1253 = HEAP32[$iPg>>2]|0; + $1254 = HEAP32[$nOld>>2]|0; + $1255 = ($1253|0)<($1254|0); + if ($1255) { + $1256 = HEAP32[$iPg>>2]|0; + $1257 = (($1256) - 1)|0; + $1258 = (($cntOld) + ($1257<<2)|0); + $1259 = HEAP32[$1258>>2]|0; + $1260 = HEAP32[$leafData>>2]|0; + $1261 = ($1260|0)!=(0); + $1262 = $1261 ^ 1; + $1263 = $1262&1; + $1264 = (($1259) + ($1263))|0; + $1266 = $1264; } else { - $1260 = HEAP32[$b>>2]|0; - $1261 = $1260; + $1265 = HEAP32[$b>>2]|0; + $1266 = $1265; } - HEAP32[$iOld10>>2] = $1261; - $1262 = HEAP32[$iPg>>2]|0; - $1263 = (($1262) - 1)|0; - $1264 = (($cntNew) + ($1263<<2)|0); - $1265 = HEAP32[$1264>>2]|0; - $1266 = HEAP32[$leafData>>2]|0; - $1267 = ($1266|0)!=(0); - $1268 = $1267 ^ 1; - $1269 = $1268&1; - $1270 = (($1265) + ($1269))|0; - HEAP32[$iNew9>>2] = $1270; - $1271 = HEAP32[$iPg>>2]|0; - $1272 = (($cntNew) + ($1271<<2)|0); - $1273 = HEAP32[$1272>>2]|0; - $1274 = HEAP32[$iNew9>>2]|0; - $1275 = (($1273) - ($1274))|0; - HEAP32[$nNewCell>>2] = $1275; + HEAP32[$iOld10>>2] = $1266; + $1267 = HEAP32[$iPg>>2]|0; + $1268 = (($1267) - 1)|0; + $1269 = (($cntNew) + ($1268<<2)|0); + $1270 = HEAP32[$1269>>2]|0; + $1271 = HEAP32[$leafData>>2]|0; + $1272 = ($1271|0)!=(0); + $1273 = $1272 ^ 1; + $1274 = $1273&1; + $1275 = (($1270) + ($1274))|0; + HEAP32[$iNew9>>2] = $1275; + $1276 = HEAP32[$iPg>>2]|0; + $1277 = (($cntNew) + ($1276<<2)|0); + $1278 = HEAP32[$1277>>2]|0; + $1279 = HEAP32[$iNew9>>2]|0; + $1280 = (($1278) - ($1279))|0; + HEAP32[$nNewCell>>2] = $1280; } - $1276 = HEAP32[$iPg>>2]|0; - $1277 = (($apNew) + ($1276<<2)|0); - $1278 = HEAP32[$1277>>2]|0; - $1279 = HEAP32[$iOld10>>2]|0; - $1280 = HEAP32[$iNew9>>2]|0; - $1281 = HEAP32[$nNewCell>>2]|0; - $1282 = (_editPage($1278,$1279,$1280,$1281,$b)|0); - HEAP32[$rc>>2] = $1282; - $1283 = HEAP32[$rc>>2]|0; - $1284 = ($1283|0)!=(0); - if ($1284) { + $1281 = HEAP32[$iPg>>2]|0; + $1282 = (($apNew) + ($1281<<2)|0); + $1283 = HEAP32[$1282>>2]|0; + $1284 = HEAP32[$iOld10>>2]|0; + $1285 = HEAP32[$iNew9>>2]|0; + $1286 = HEAP32[$nNewCell>>2]|0; + $1287 = (_editPage($1283,$1284,$1285,$1286,$b)|0); + HEAP32[$rc>>2] = $1287; + $1288 = HEAP32[$rc>>2]|0; + $1289 = ($1288|0)!=(0); + if ($1289) { break L32; } - $1285 = HEAP32[$iPg>>2]|0; - $1286 = (($abDone) + ($1285)|0); - $1287 = HEAP8[$1286>>0]|0; - $1288 = (($1287) + 1)<<24>>24; - HEAP8[$1286>>0] = $1288; - $1289 = HEAP32[$usableSpace>>2]|0; $1290 = HEAP32[$iPg>>2]|0; - $1291 = (($szNew) + ($1290<<2)|0); - $1292 = HEAP32[$1291>>2]|0; - $1293 = (($1289) - ($1292))|0; - $1294 = $1293&65535; + $1291 = (($abDone) + ($1290)|0); + $1292 = HEAP8[$1291>>0]|0; + $1293 = (($1292) + 1)<<24>>24; + HEAP8[$1291>>0] = $1293; + $1294 = HEAP32[$usableSpace>>2]|0; $1295 = HEAP32[$iPg>>2]|0; - $1296 = (($apNew) + ($1295<<2)|0); + $1296 = (($szNew) + ($1295<<2)|0); $1297 = HEAP32[$1296>>2]|0; - $1298 = ((($1297)) + 16|0); - HEAP16[$1298>>1] = $1294; + $1298 = (($1294) - ($1297))|0; + $1299 = $1298&65535; + $1300 = HEAP32[$iPg>>2]|0; + $1301 = (($apNew) + ($1300<<2)|0); + $1302 = HEAP32[$1301>>2]|0; + $1303 = ((($1302)) + 16|0); + HEAP16[$1303>>1] = $1299; } } while(0); - $1299 = HEAP32[$i>>2]|0; - $1300 = (($1299) + 1)|0; - HEAP32[$i>>2] = $1300; - } - $1301 = HEAP32[$4>>2]|0; - $1302 = ($1301|0)!=(0); - if ($1302) { - $1303 = HEAP32[$1>>2]|0; - $1304 = ((($1303)) + 18|0); - $1305 = HEAP16[$1304>>1]|0; - $1306 = $1305&65535; - $1307 = ($1306|0)==(0); - if ($1307) { - $1308 = HEAP32[$1>>2]|0; - $1309 = ((($1308)) + 5|0); - $1310 = HEAP8[$1309>>0]|0; - $1311 = $1310&255; - $1312 = HEAP32[$apNew>>2]|0; - $1313 = ((($1312)) + 16|0); - $1314 = HEAP16[$1313>>1]|0; - $1315 = $1314&65535; - $1316 = ($1311|0)<=($1315|0); - if ($1316) { - $1317 = HEAP32[$apNew>>2]|0; - $1318 = (_defragmentPage($1317)|0); - HEAP32[$rc>>2] = $1318; - $1319 = HEAP32[$apNew>>2]|0; - $1320 = HEAP32[$1>>2]|0; - _copyNodeContent($1319,$1320,$rc); - $1321 = HEAP32[$apNew>>2]|0; - _freePage($1321,$rc); + $1304 = HEAP32[$i>>2]|0; + $1305 = (($1304) + 1)|0; + HEAP32[$i>>2] = $1305; + } + $1306 = HEAP32[$4>>2]|0; + $1307 = ($1306|0)!=(0); + if ($1307) { + $1308 = HEAP32[$1>>2]|0; + $1309 = ((($1308)) + 18|0); + $1310 = HEAP16[$1309>>1]|0; + $1311 = $1310&65535; + $1312 = ($1311|0)==(0); + if ($1312) { + $1313 = HEAP32[$1>>2]|0; + $1314 = ((($1313)) + 5|0); + $1315 = HEAP8[$1314>>0]|0; + $1316 = $1315&255; + $1317 = HEAP32[$apNew>>2]|0; + $1318 = ((($1317)) + 16|0); + $1319 = HEAP16[$1318>>1]|0; + $1320 = $1319&65535; + $1321 = ($1316|0)<=($1320|0); + if ($1321) { + $1322 = HEAP32[$apNew>>2]|0; + $1323 = (_defragmentPage($1322)|0); + HEAP32[$rc>>2] = $1323; + $1324 = HEAP32[$apNew>>2]|0; + $1325 = HEAP32[$1>>2]|0; + _copyNodeContent($1324,$1325,$rc); + $1326 = HEAP32[$apNew>>2]|0; + _freePage($1326,$rc); } else { label = 174; } @@ -246372,105 +250453,105 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { } L239: do { if ((label|0) == 174) { - $1322 = HEAP32[$pBt>>2]|0; - $1323 = ((($1322)) + 17|0); - $1324 = HEAP8[$1323>>0]|0; - $1325 = $1324&255; - $1326 = ($1325|0)==(0); - $1327 = HEAP16[$leafCorrection>>1]|0; - $1328 = ($1327<<16>>16)!=(0); - $or$cond3 = $1326 | $1328; + $1327 = HEAP32[$pBt>>2]|0; + $1328 = ((($1327)) + 17|0); + $1329 = HEAP8[$1328>>0]|0; + $1330 = $1329&255; + $1331 = ($1330|0)==(0); + $1332 = HEAP16[$leafCorrection>>1]|0; + $1333 = ($1332<<16>>16)!=(0); + $or$cond3 = $1331 | $1333; if (!($or$cond3)) { HEAP32[$i>>2] = 0; while(1) { - $1329 = HEAP32[$i>>2]|0; - $1330 = HEAP32[$nNew>>2]|0; - $1331 = ($1329|0)<($1330|0); - if (!($1331)) { + $1334 = HEAP32[$i>>2]|0; + $1335 = HEAP32[$nNew>>2]|0; + $1336 = ($1334|0)<($1335|0); + if (!($1336)) { break L239; } - $1332 = HEAP32[$i>>2]|0; - $1333 = (($apNew) + ($1332<<2)|0); - $1334 = HEAP32[$1333>>2]|0; - $1335 = ((($1334)) + 56|0); - $1336 = HEAP32[$1335>>2]|0; - $1337 = ((($1336)) + 8|0); - $1338 = (_sqlite3Get4byte($1337)|0); - HEAP32[$key>>2] = $1338; - $1339 = HEAP32[$pBt>>2]|0; - $1340 = HEAP32[$key>>2]|0; - $1341 = HEAP32[$i>>2]|0; - $1342 = (($apNew) + ($1341<<2)|0); - $1343 = HEAP32[$1342>>2]|0; - $1344 = ((($1343)) + 84|0); - $1345 = HEAP32[$1344>>2]|0; - _ptrmapPut($1339,$1340,5,$1345,$rc); + $1337 = HEAP32[$i>>2]|0; + $1338 = (($apNew) + ($1337<<2)|0); + $1339 = HEAP32[$1338>>2]|0; + $1340 = ((($1339)) + 56|0); + $1341 = HEAP32[$1340>>2]|0; + $1342 = ((($1341)) + 8|0); + $1343 = (_sqlite3Get4byte($1342)|0); + HEAP32[$key>>2] = $1343; + $1344 = HEAP32[$pBt>>2]|0; + $1345 = HEAP32[$key>>2]|0; $1346 = HEAP32[$i>>2]|0; - $1347 = (($1346) + 1)|0; - HEAP32[$i>>2] = $1347; + $1347 = (($apNew) + ($1346<<2)|0); + $1348 = HEAP32[$1347>>2]|0; + $1349 = ((($1348)) + 84|0); + $1350 = HEAP32[$1349>>2]|0; + _ptrmapPut($1344,$1345,5,$1350,$rc); + $1351 = HEAP32[$i>>2]|0; + $1352 = (($1351) + 1)|0; + HEAP32[$i>>2] = $1352; } } } } while(0); - $1348 = HEAP32[$nNew>>2]|0; - HEAP32[$i>>2] = $1348; + $1353 = HEAP32[$nNew>>2]|0; + HEAP32[$i>>2] = $1353; while(1) { - $1349 = HEAP32[$i>>2]|0; - $1350 = HEAP32[$nOld>>2]|0; - $1351 = ($1349|0)<($1350|0); - if (!($1351)) { + $1354 = HEAP32[$i>>2]|0; + $1355 = HEAP32[$nOld>>2]|0; + $1356 = ($1354|0)<($1355|0); + if (!($1356)) { break L32; } - $1352 = HEAP32[$i>>2]|0; - $1353 = (($apOld) + ($1352<<2)|0); - $1354 = HEAP32[$1353>>2]|0; - _freePage($1354,$rc); - $1355 = HEAP32[$i>>2]|0; - $1356 = (($1355) + 1)|0; - HEAP32[$i>>2] = $1356; + $1357 = HEAP32[$i>>2]|0; + $1358 = (($apOld) + ($1357<<2)|0); + $1359 = HEAP32[$1358>>2]|0; + _freePage($1359,$rc); + $1360 = HEAP32[$i>>2]|0; + $1361 = (($1360) + 1)|0; + HEAP32[$i>>2] = $1361; } } } } while(0); - $1357 = ((($b)) + 8|0); - $1358 = HEAP32[$1357>>2]|0; - _sqlite3ScratchFree($1358); + $1362 = ((($b)) + 8|0); + $1363 = HEAP32[$1362>>2]|0; + _sqlite3ScratchFree($1363); HEAP32[$i>>2] = 0; while(1) { - $1359 = HEAP32[$i>>2]|0; - $1360 = HEAP32[$nOld>>2]|0; - $1361 = ($1359|0)<($1360|0); - if (!($1361)) { + $1364 = HEAP32[$i>>2]|0; + $1365 = HEAP32[$nOld>>2]|0; + $1366 = ($1364|0)<($1365|0); + if (!($1366)) { break; } - $1362 = HEAP32[$i>>2]|0; - $1363 = (($apOld) + ($1362<<2)|0); - $1364 = HEAP32[$1363>>2]|0; - _releasePage($1364); - $1365 = HEAP32[$i>>2]|0; - $1366 = (($1365) + 1)|0; - HEAP32[$i>>2] = $1366; + $1367 = HEAP32[$i>>2]|0; + $1368 = (($apOld) + ($1367<<2)|0); + $1369 = HEAP32[$1368>>2]|0; + _releasePage($1369); + $1370 = HEAP32[$i>>2]|0; + $1371 = (($1370) + 1)|0; + HEAP32[$i>>2] = $1371; } HEAP32[$i>>2] = 0; while(1) { - $1367 = HEAP32[$i>>2]|0; - $1368 = HEAP32[$nNew>>2]|0; - $1369 = ($1367|0)<($1368|0); - if (!($1369)) { + $1372 = HEAP32[$i>>2]|0; + $1373 = HEAP32[$nNew>>2]|0; + $1374 = ($1372|0)<($1373|0); + if (!($1374)) { break; } - $1370 = HEAP32[$i>>2]|0; - $1371 = (($apNew) + ($1370<<2)|0); - $1372 = HEAP32[$1371>>2]|0; - _releasePage($1372); - $1373 = HEAP32[$i>>2]|0; - $1374 = (($1373) + 1)|0; - HEAP32[$i>>2] = $1374; - } - $1375 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $1375; - $1376 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1376|0); + $1375 = HEAP32[$i>>2]|0; + $1376 = (($apNew) + ($1375<<2)|0); + $1377 = HEAP32[$1376>>2]|0; + _releasePage($1377); + $1378 = HEAP32[$i>>2]|0; + $1379 = (($1378) + 1)|0; + HEAP32[$i>>2] = $1379; + } + $1380 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $1380; + $1381 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1381|0); } function _cachedCellSize($p,$N) { $p = $p|0; @@ -247110,13 +251191,13 @@ function _defragmentPage($pPage) { HEAP32[$i>>2] = $128; } if ((label|0) == 5) { - $53 = (_sqlite3CorruptError(59093)|0); + $53 = (_sqlite3CorruptError(59617)|0); HEAP32[$0>>2] = $53; $170 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($170|0); } else if ((label|0) == 8) { - $74 = (_sqlite3CorruptError(59099)|0); + $74 = (_sqlite3CorruptError(59623)|0); HEAP32[$0>>2] = $74; $170 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($170|0); @@ -247169,7 +251250,7 @@ function _defragmentPage($pPage) { $167 = $166&65535; $168 = ($163|0)!=($167|0); if ($168) { - $169 = (_sqlite3CorruptError(59123)|0); + $169 = (_sqlite3CorruptError(59647)|0); HEAP32[$0>>2] = $169; $170 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($170|0); @@ -247892,7 +251973,7 @@ function _rebuildPage($pPg,$nCell,$apCell,$szCell) { HEAP32[$i>>2] = $115; } if ((label|0) == 7) { - $106 = (_sqlite3CorruptError(64213)|0); + $106 = (_sqlite3CorruptError(64716)|0); HEAP32[$0>>2] = $106; $176 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($176|0); @@ -248099,7 +252180,7 @@ function _pageFindSlot($pPg,$nByte,$pRc) { } } if ((label|0) == 4) { - $39 = (_sqlite3CorruptError(59156)|0); + $39 = (_sqlite3CorruptError(59680)|0); $40 = HEAP32[$3>>2]|0; HEAP32[$40>>2] = $39; HEAP32[$0>>2] = 0; @@ -248190,7 +252271,7 @@ function _pageFindSlot($pPg,$nByte,$pRc) { STACKTOP = sp;return ($139|0); } } - $77 = (_sqlite3CorruptError(59167)|0); + $77 = (_sqlite3CorruptError(59691)|0); $78 = HEAP32[$3>>2]|0; HEAP32[$78>>2] = $77; HEAP32[$0>>2] = 0; @@ -248336,373 +252417,371 @@ function _freeSpace($pPage,$iStart,$iSize) { $70 = $69&65535; HEAP16[$iFreeBlk>>1] = $70; $71 = $70&65535; - $72 = ($71|0)>(0); - if ($72) { - $73 = HEAP16[$iFreeBlk>>1]|0; - $74 = $73&65535; - $75 = HEAP16[$2>>1]|0; - $76 = $75&65535; - $77 = ($74|0)<($76|0); - $344 = $77; - } else { - $344 = 0; - } - $78 = HEAP16[$iFreeBlk>>1]|0; - $79 = $78&65535; - if (!($344)) { + $72 = HEAP16[$2>>1]|0; + $73 = $72&65535; + $74 = ($71|0)<($73|0); + if (!($74)) { break; } - $80 = HEAP16[$iPtr>>1]|0; - $81 = $80&65535; - $82 = (($81) + 4)|0; - $83 = ($79|0)<($82|0); - if ($83) { - label = 10; + $75 = HEAP16[$iFreeBlk>>1]|0; + $76 = $75&65535; + $77 = HEAP16[$iPtr>>1]|0; + $78 = $77&65535; + $79 = (($78) + 4)|0; + $80 = ($76|0)<($79|0); + $81 = HEAP16[$iFreeBlk>>1]|0; + if ($80) { + label = 8; break; } - $85 = HEAP16[$iFreeBlk>>1]|0; - HEAP16[$iPtr>>1] = $85; + HEAP16[$iPtr>>1] = $81; label = 6; } - if ((label|0) == 10) { - $84 = (_sqlite3CorruptError(59328)|0); - HEAP32[$0>>2] = $84; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + if ((label|0) == 8) { + $82 = $81&65535; + $83 = ($82|0)==(0); + if (!($83)) { + $84 = (_sqlite3CorruptError(59854)|0); + HEAP32[$0>>2] = $84; + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); + } } - $86 = HEAP32[$iLast>>2]|0; - $87 = ($79>>>0)>($86>>>0); - if ($87) { - $88 = (_sqlite3CorruptError(59331)|0); - HEAP32[$0>>2] = $88; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $85 = HEAP16[$iFreeBlk>>1]|0; + $86 = $85&65535; + $87 = HEAP32[$iLast>>2]|0; + $88 = ($86>>>0)>($87>>>0); + if ($88) { + $89 = (_sqlite3CorruptError(59858)|0); + HEAP32[$0>>2] = $89; + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); } - $89 = HEAP16[$iFreeBlk>>1]|0; - $90 = $89&65535; - $91 = ($90|0)!=(0); + $90 = HEAP16[$iFreeBlk>>1]|0; + $91 = $90&65535; + $92 = ($91|0)!=(0); do { - if ($91) { - $92 = HEAP32[$iEnd>>2]|0; - $93 = (($92) + 3)|0; - $94 = HEAP16[$iFreeBlk>>1]|0; - $95 = $94&65535; - $96 = ($93>>>0)>=($95>>>0); - if ($96) { - $97 = HEAP16[$iFreeBlk>>1]|0; - $98 = $97&65535; - $99 = HEAP32[$iEnd>>2]|0; - $100 = (($98) - ($99))|0; - $101 = $100&255; - HEAP8[$nFrag>>0] = $101; - $102 = HEAP32[$iEnd>>2]|0; - $103 = HEAP16[$iFreeBlk>>1]|0; - $104 = $103&65535; - $105 = ($102>>>0)>($104>>>0); - if ($105) { - $106 = (_sqlite3CorruptError(59342)|0); - HEAP32[$0>>2] = $106; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + if ($92) { + $93 = HEAP32[$iEnd>>2]|0; + $94 = (($93) + 3)|0; + $95 = HEAP16[$iFreeBlk>>1]|0; + $96 = $95&65535; + $97 = ($94>>>0)>=($96>>>0); + if ($97) { + $98 = HEAP16[$iFreeBlk>>1]|0; + $99 = $98&65535; + $100 = HEAP32[$iEnd>>2]|0; + $101 = (($99) - ($100))|0; + $102 = $101&255; + HEAP8[$nFrag>>0] = $102; + $103 = HEAP32[$iEnd>>2]|0; + $104 = HEAP16[$iFreeBlk>>1]|0; + $105 = $104&65535; + $106 = ($103>>>0)>($105>>>0); + if ($106) { + $107 = (_sqlite3CorruptError(59869)|0); + HEAP32[$0>>2] = $107; + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); } - $107 = HEAP16[$iFreeBlk>>1]|0; - $108 = $107&65535; - $109 = HEAP16[$iFreeBlk>>1]|0; - $110 = $109&65535; - $111 = (($110) + 2)|0; - $112 = HEAP32[$data>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = $115 << 8; - $117 = HEAP16[$iFreeBlk>>1]|0; - $118 = $117&65535; - $119 = (($118) + 2)|0; - $120 = HEAP32[$data>>2]|0; - $121 = (($120) + ($119)|0); - $122 = ((($121)) + 1|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = $116 | $124; - $126 = (($108) + ($125))|0; - HEAP32[$iEnd>>2] = $126; - $127 = HEAP32[$iEnd>>2]|0; - $128 = HEAP32[$1>>2]|0; - $129 = ((($128)) + 52|0); - $130 = HEAP32[$129>>2]|0; - $131 = ((($130)) + 36|0); - $132 = HEAP32[$131>>2]|0; - $133 = ($127>>>0)>($132>>>0); - if (!($133)) { - $135 = HEAP32[$iEnd>>2]|0; - $136 = HEAP16[$2>>1]|0; - $137 = $136&65535; - $138 = (($135) - ($137))|0; - $139 = $138&65535; - HEAP16[$3>>1] = $139; - $140 = HEAP16[$iFreeBlk>>1]|0; - $141 = $140&65535; - $142 = HEAP32[$data>>2]|0; - $143 = (($142) + ($141)|0); - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = $145 << 8; - $147 = HEAP16[$iFreeBlk>>1]|0; - $148 = $147&65535; - $149 = HEAP32[$data>>2]|0; - $150 = (($149) + ($148)|0); - $151 = ((($150)) + 1|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = $146 | $153; - $155 = $154&65535; - HEAP16[$iFreeBlk>>1] = $155; + $108 = HEAP16[$iFreeBlk>>1]|0; + $109 = $108&65535; + $110 = HEAP16[$iFreeBlk>>1]|0; + $111 = $110&65535; + $112 = (($111) + 2)|0; + $113 = HEAP32[$data>>2]|0; + $114 = (($113) + ($112)|0); + $115 = HEAP8[$114>>0]|0; + $116 = $115&255; + $117 = $116 << 8; + $118 = HEAP16[$iFreeBlk>>1]|0; + $119 = $118&65535; + $120 = (($119) + 2)|0; + $121 = HEAP32[$data>>2]|0; + $122 = (($121) + ($120)|0); + $123 = ((($122)) + 1|0); + $124 = HEAP8[$123>>0]|0; + $125 = $124&255; + $126 = $117 | $125; + $127 = (($109) + ($126))|0; + HEAP32[$iEnd>>2] = $127; + $128 = HEAP32[$iEnd>>2]|0; + $129 = HEAP32[$1>>2]|0; + $130 = ((($129)) + 52|0); + $131 = HEAP32[$130>>2]|0; + $132 = ((($131)) + 36|0); + $133 = HEAP32[$132>>2]|0; + $134 = ($128>>>0)>($133>>>0); + if (!($134)) { + $136 = HEAP32[$iEnd>>2]|0; + $137 = HEAP16[$2>>1]|0; + $138 = $137&65535; + $139 = (($136) - ($138))|0; + $140 = $139&65535; + HEAP16[$3>>1] = $140; + $141 = HEAP16[$iFreeBlk>>1]|0; + $142 = $141&65535; + $143 = HEAP32[$data>>2]|0; + $144 = (($143) + ($142)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = $146 << 8; + $148 = HEAP16[$iFreeBlk>>1]|0; + $149 = $148&65535; + $150 = HEAP32[$data>>2]|0; + $151 = (($150) + ($149)|0); + $152 = ((($151)) + 1|0); + $153 = HEAP8[$152>>0]|0; + $154 = $153&255; + $155 = $147 | $154; + $156 = $155&65535; + HEAP16[$iFreeBlk>>1] = $156; break; } - $134 = (_sqlite3CorruptError(59344)|0); - HEAP32[$0>>2] = $134; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $135 = (_sqlite3CorruptError(59871)|0); + HEAP32[$0>>2] = $135; + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); } } } while(0); - $156 = HEAP16[$iPtr>>1]|0; - $157 = $156&65535; - $158 = HEAP8[$hdr>>0]|0; - $159 = $158&255; - $160 = (($159) + 1)|0; - $161 = ($157|0)>($160|0); + $157 = HEAP16[$iPtr>>1]|0; + $158 = $157&65535; + $159 = HEAP8[$hdr>>0]|0; + $160 = $159&255; + $161 = (($160) + 1)|0; + $162 = ($158|0)>($161|0); do { - if ($161) { - $162 = HEAP16[$iPtr>>1]|0; - $163 = $162&65535; - $164 = HEAP16[$iPtr>>1]|0; - $165 = $164&65535; - $166 = (($165) + 2)|0; - $167 = HEAP32[$data>>2]|0; - $168 = (($167) + ($166)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $170 << 8; - $172 = HEAP16[$iPtr>>1]|0; - $173 = $172&65535; - $174 = (($173) + 2)|0; - $175 = HEAP32[$data>>2]|0; - $176 = (($175) + ($174)|0); - $177 = ((($176)) + 1|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = $171 | $179; - $181 = (($163) + ($180))|0; - HEAP32[$iPtrEnd>>2] = $181; - $182 = HEAP32[$iPtrEnd>>2]|0; - $183 = (($182) + 3)|0; - $184 = HEAP16[$2>>1]|0; - $185 = $184&65535; - $186 = ($183|0)>=($185|0); - if ($186) { - $187 = HEAP32[$iPtrEnd>>2]|0; - $188 = HEAP16[$2>>1]|0; - $189 = $188&65535; - $190 = ($187|0)>($189|0); - if (!($190)) { - $192 = HEAP16[$2>>1]|0; - $193 = $192&65535; - $194 = HEAP32[$iPtrEnd>>2]|0; - $195 = (($193) - ($194))|0; - $196 = HEAP8[$nFrag>>0]|0; - $197 = $196&255; - $198 = (($197) + ($195))|0; - $199 = $198&255; - HEAP8[$nFrag>>0] = $199; - $200 = HEAP32[$iEnd>>2]|0; - $201 = HEAP16[$iPtr>>1]|0; - $202 = $201&65535; - $203 = (($200) - ($202))|0; - $204 = $203&65535; - HEAP16[$3>>1] = $204; - $205 = HEAP16[$iPtr>>1]|0; - HEAP16[$2>>1] = $205; + if ($162) { + $163 = HEAP16[$iPtr>>1]|0; + $164 = $163&65535; + $165 = HEAP16[$iPtr>>1]|0; + $166 = $165&65535; + $167 = (($166) + 2)|0; + $168 = HEAP32[$data>>2]|0; + $169 = (($168) + ($167)|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $172 = $171 << 8; + $173 = HEAP16[$iPtr>>1]|0; + $174 = $173&65535; + $175 = (($174) + 2)|0; + $176 = HEAP32[$data>>2]|0; + $177 = (($176) + ($175)|0); + $178 = ((($177)) + 1|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = $172 | $180; + $182 = (($164) + ($181))|0; + HEAP32[$iPtrEnd>>2] = $182; + $183 = HEAP32[$iPtrEnd>>2]|0; + $184 = (($183) + 3)|0; + $185 = HEAP16[$2>>1]|0; + $186 = $185&65535; + $187 = ($184|0)>=($186|0); + if ($187) { + $188 = HEAP32[$iPtrEnd>>2]|0; + $189 = HEAP16[$2>>1]|0; + $190 = $189&65535; + $191 = ($188|0)>($190|0); + if (!($191)) { + $193 = HEAP16[$2>>1]|0; + $194 = $193&65535; + $195 = HEAP32[$iPtrEnd>>2]|0; + $196 = (($194) - ($195))|0; + $197 = HEAP8[$nFrag>>0]|0; + $198 = $197&255; + $199 = (($198) + ($196))|0; + $200 = $199&255; + HEAP8[$nFrag>>0] = $200; + $201 = HEAP32[$iEnd>>2]|0; + $202 = HEAP16[$iPtr>>1]|0; + $203 = $202&65535; + $204 = (($201) - ($203))|0; + $205 = $204&65535; + HEAP16[$3>>1] = $205; + $206 = HEAP16[$iPtr>>1]|0; + HEAP16[$2>>1] = $206; break; } - $191 = (_sqlite3CorruptError(59356)|0); - HEAP32[$0>>2] = $191; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $192 = (_sqlite3CorruptError(59883)|0); + HEAP32[$0>>2] = $192; + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); } } } while(0); - $206 = HEAP8[$nFrag>>0]|0; - $207 = $206&255; - $208 = HEAP8[$hdr>>0]|0; - $209 = $208&255; - $210 = (($209) + 7)|0; - $211 = HEAP32[$data>>2]|0; - $212 = (($211) + ($210)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = ($207|0)>($214|0); - if (!($215)) { - $217 = HEAP8[$nFrag>>0]|0; - $218 = $217&255; - $219 = HEAP8[$hdr>>0]|0; - $220 = $219&255; - $221 = (($220) + 7)|0; - $222 = HEAP32[$data>>2]|0; - $223 = (($222) + ($221)|0); - $224 = HEAP8[$223>>0]|0; - $225 = $224&255; - $226 = (($225) - ($218))|0; - $227 = $226&255; - HEAP8[$223>>0] = $227; + $207 = HEAP8[$nFrag>>0]|0; + $208 = $207&255; + $209 = HEAP8[$hdr>>0]|0; + $210 = $209&255; + $211 = (($210) + 7)|0; + $212 = HEAP32[$data>>2]|0; + $213 = (($212) + ($211)|0); + $214 = HEAP8[$213>>0]|0; + $215 = $214&255; + $216 = ($208|0)>($215|0); + if (!($216)) { + $218 = HEAP8[$nFrag>>0]|0; + $219 = $218&255; + $220 = HEAP8[$hdr>>0]|0; + $221 = $220&255; + $222 = (($221) + 7)|0; + $223 = HEAP32[$data>>2]|0; + $224 = (($223) + ($222)|0); + $225 = HEAP8[$224>>0]|0; + $226 = $225&255; + $227 = (($226) - ($219))|0; + $228 = $227&255; + HEAP8[$224>>0] = $228; break; } - $216 = (_sqlite3CorruptError(59362)|0); - HEAP32[$0>>2] = $216; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $217 = (_sqlite3CorruptError(59889)|0); + HEAP32[$0>>2] = $217; + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); } } while(0); - $228 = HEAP16[$2>>1]|0; - $229 = $228&65535; - $230 = HEAP8[$hdr>>0]|0; - $231 = $230&255; - $232 = (($231) + 5)|0; - $233 = HEAP32[$data>>2]|0; - $234 = (($233) + ($232)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = $236 << 8; - $238 = HEAP8[$hdr>>0]|0; - $239 = $238&255; - $240 = (($239) + 5)|0; - $241 = HEAP32[$data>>2]|0; - $242 = (($241) + ($240)|0); - $243 = ((($242)) + 1|0); - $244 = HEAP8[$243>>0]|0; - $245 = $244&255; - $246 = $237 | $245; - $247 = ($229|0)==($246|0); + $229 = HEAP16[$2>>1]|0; + $230 = $229&65535; + $231 = HEAP8[$hdr>>0]|0; + $232 = $231&255; + $233 = (($232) + 5)|0; + $234 = HEAP32[$data>>2]|0; + $235 = (($234) + ($233)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = $237 << 8; + $239 = HEAP8[$hdr>>0]|0; + $240 = $239&255; + $241 = (($240) + 5)|0; + $242 = HEAP32[$data>>2]|0; + $243 = (($242) + ($241)|0); + $244 = ((($243)) + 1|0); + $245 = HEAP8[$244>>0]|0; + $246 = $245&255; + $247 = $238 | $246; + $248 = ($230|0)==($247|0); do { - if ($247) { - $248 = HEAP16[$iPtr>>1]|0; - $249 = $248&65535; - $250 = HEAP8[$hdr>>0]|0; - $251 = $250&255; - $252 = (($251) + 1)|0; - $253 = ($249|0)!=($252|0); - if (!($253)) { - $255 = HEAP16[$iFreeBlk>>1]|0; - $256 = $255&65535; - $257 = $256 >> 8; - $258 = $257&255; - $259 = HEAP8[$hdr>>0]|0; - $260 = $259&255; - $261 = (($260) + 1)|0; - $262 = HEAP32[$data>>2]|0; - $263 = (($262) + ($261)|0); - HEAP8[$263>>0] = $258; - $264 = HEAP16[$iFreeBlk>>1]|0; - $265 = $264&255; - $266 = HEAP8[$hdr>>0]|0; - $267 = $266&255; - $268 = (($267) + 1)|0; - $269 = HEAP32[$data>>2]|0; - $270 = (($269) + ($268)|0); - $271 = ((($270)) + 1|0); - HEAP8[$271>>0] = $265; - $272 = HEAP32[$iEnd>>2]|0; - $273 = $272 >>> 8; - $274 = $273&255; - $275 = HEAP8[$hdr>>0]|0; - $276 = $275&255; - $277 = (($276) + 5)|0; - $278 = HEAP32[$data>>2]|0; - $279 = (($278) + ($277)|0); - HEAP8[$279>>0] = $274; - $280 = HEAP32[$iEnd>>2]|0; - $281 = $280&255; - $282 = HEAP8[$hdr>>0]|0; - $283 = $282&255; - $284 = (($283) + 5)|0; - $285 = HEAP32[$data>>2]|0; - $286 = (($285) + ($284)|0); - $287 = ((($286)) + 1|0); - HEAP8[$287>>0] = $281; + if ($248) { + $249 = HEAP16[$iPtr>>1]|0; + $250 = $249&65535; + $251 = HEAP8[$hdr>>0]|0; + $252 = $251&255; + $253 = (($252) + 1)|0; + $254 = ($250|0)!=($253|0); + if (!($254)) { + $256 = HEAP16[$iFreeBlk>>1]|0; + $257 = $256&65535; + $258 = $257 >> 8; + $259 = $258&255; + $260 = HEAP8[$hdr>>0]|0; + $261 = $260&255; + $262 = (($261) + 1)|0; + $263 = HEAP32[$data>>2]|0; + $264 = (($263) + ($262)|0); + HEAP8[$264>>0] = $259; + $265 = HEAP16[$iFreeBlk>>1]|0; + $266 = $265&255; + $267 = HEAP8[$hdr>>0]|0; + $268 = $267&255; + $269 = (($268) + 1)|0; + $270 = HEAP32[$data>>2]|0; + $271 = (($270) + ($269)|0); + $272 = ((($271)) + 1|0); + HEAP8[$272>>0] = $266; + $273 = HEAP32[$iEnd>>2]|0; + $274 = $273 >>> 8; + $275 = $274&255; + $276 = HEAP8[$hdr>>0]|0; + $277 = $276&255; + $278 = (($277) + 5)|0; + $279 = HEAP32[$data>>2]|0; + $280 = (($279) + ($278)|0); + HEAP8[$280>>0] = $275; + $281 = HEAP32[$iEnd>>2]|0; + $282 = $281&255; + $283 = HEAP8[$hdr>>0]|0; + $284 = $283&255; + $285 = (($284) + 5)|0; + $286 = HEAP32[$data>>2]|0; + $287 = (($286) + ($285)|0); + $288 = ((($287)) + 1|0); + HEAP8[$288>>0] = $282; break; } - $254 = (_sqlite3CorruptError(59369)|0); - HEAP32[$0>>2] = $254; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $255 = (_sqlite3CorruptError(59896)|0); + HEAP32[$0>>2] = $255; + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); } else { - $288 = HEAP16[$2>>1]|0; - $289 = $288&65535; - $290 = $289 >> 8; - $291 = $290&255; - $292 = HEAP16[$iPtr>>1]|0; - $293 = $292&65535; - $294 = HEAP32[$data>>2]|0; - $295 = (($294) + ($293)|0); - HEAP8[$295>>0] = $291; - $296 = HEAP16[$2>>1]|0; - $297 = $296&255; - $298 = HEAP16[$iPtr>>1]|0; - $299 = $298&65535; - $300 = HEAP32[$data>>2]|0; - $301 = (($300) + ($299)|0); - $302 = ((($301)) + 1|0); - HEAP8[$302>>0] = $297; - $303 = HEAP16[$iFreeBlk>>1]|0; - $304 = $303&65535; - $305 = $304 >> 8; - $306 = $305&255; - $307 = HEAP16[$2>>1]|0; - $308 = $307&65535; - $309 = HEAP32[$data>>2]|0; - $310 = (($309) + ($308)|0); - HEAP8[$310>>0] = $306; - $311 = HEAP16[$iFreeBlk>>1]|0; - $312 = $311&255; - $313 = HEAP16[$2>>1]|0; - $314 = $313&65535; - $315 = HEAP32[$data>>2]|0; - $316 = (($315) + ($314)|0); - $317 = ((($316)) + 1|0); - HEAP8[$317>>0] = $312; - $318 = HEAP16[$3>>1]|0; - $319 = $318&65535; - $320 = $319 >> 8; - $321 = $320&255; - $322 = HEAP16[$2>>1]|0; - $323 = $322&65535; - $324 = (($323) + 2)|0; - $325 = HEAP32[$data>>2]|0; - $326 = (($325) + ($324)|0); - HEAP8[$326>>0] = $321; - $327 = HEAP16[$3>>1]|0; - $328 = $327&255; - $329 = HEAP16[$2>>1]|0; - $330 = $329&65535; - $331 = (($330) + 2)|0; - $332 = HEAP32[$data>>2]|0; - $333 = (($332) + ($331)|0); - $334 = ((($333)) + 1|0); - HEAP8[$334>>0] = $328; + $289 = HEAP16[$2>>1]|0; + $290 = $289&65535; + $291 = $290 >> 8; + $292 = $291&255; + $293 = HEAP16[$iPtr>>1]|0; + $294 = $293&65535; + $295 = HEAP32[$data>>2]|0; + $296 = (($295) + ($294)|0); + HEAP8[$296>>0] = $292; + $297 = HEAP16[$2>>1]|0; + $298 = $297&255; + $299 = HEAP16[$iPtr>>1]|0; + $300 = $299&65535; + $301 = HEAP32[$data>>2]|0; + $302 = (($301) + ($300)|0); + $303 = ((($302)) + 1|0); + HEAP8[$303>>0] = $298; + $304 = HEAP16[$iFreeBlk>>1]|0; + $305 = $304&65535; + $306 = $305 >> 8; + $307 = $306&255; + $308 = HEAP16[$2>>1]|0; + $309 = $308&65535; + $310 = HEAP32[$data>>2]|0; + $311 = (($310) + ($309)|0); + HEAP8[$311>>0] = $307; + $312 = HEAP16[$iFreeBlk>>1]|0; + $313 = $312&255; + $314 = HEAP16[$2>>1]|0; + $315 = $314&65535; + $316 = HEAP32[$data>>2]|0; + $317 = (($316) + ($315)|0); + $318 = ((($317)) + 1|0); + HEAP8[$318>>0] = $313; + $319 = HEAP16[$3>>1]|0; + $320 = $319&65535; + $321 = $320 >> 8; + $322 = $321&255; + $323 = HEAP16[$2>>1]|0; + $324 = $323&65535; + $325 = (($324) + 2)|0; + $326 = HEAP32[$data>>2]|0; + $327 = (($326) + ($325)|0); + HEAP8[$327>>0] = $322; + $328 = HEAP16[$3>>1]|0; + $329 = $328&255; + $330 = HEAP16[$2>>1]|0; + $331 = $330&65535; + $332 = (($331) + 2)|0; + $333 = HEAP32[$data>>2]|0; + $334 = (($333) + ($332)|0); + $335 = ((($334)) + 1|0); + HEAP8[$335>>0] = $329; } } while(0); - $335 = HEAP16[$iOrigSize>>1]|0; - $336 = $335&65535; - $337 = HEAP32[$1>>2]|0; - $338 = ((($337)) + 16|0); - $339 = HEAP16[$338>>1]|0; - $340 = $339&65535; - $341 = (($340) + ($336))|0; - $342 = $341&65535; - HEAP16[$338>>1] = $342; + $336 = HEAP16[$iOrigSize>>1]|0; + $337 = $336&65535; + $338 = HEAP32[$1>>2]|0; + $339 = ((($338)) + 16|0); + $340 = HEAP16[$339>>1]|0; + $341 = $340&65535; + $342 = (($341) + ($337))|0; + $343 = $342&65535; + HEAP16[$339>>1] = $343; HEAP32[$0>>2] = 0; - $343 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($343|0); + $344 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($344|0); } function _computeCellSize($p,$N) { $p = $p|0; @@ -248826,7 +252905,7 @@ function _allocateSpace($pPage,$nByte,$pIdx) { break; } } - $47 = (_sqlite3CorruptError(59234)|0); + $47 = (_sqlite3CorruptError(59758)|0); HEAP32[$0>>2] = $47; $128 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($128|0); @@ -248955,103 +253034,97 @@ function _allocateSpace($pPage,$nByte,$pIdx) { $128 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($128|0); } -function _fillInCell($pPage,$pCell,$pKey,$0,$1,$pData,$nData,$nZero,$pnSize) { +function _fillInCell($pPage,$pCell,$pX,$pnSize) { $pPage = $pPage|0; $pCell = $pCell|0; - $pKey = $pKey|0; - $0 = $0|0; - $1 = $1|0; - $pData = $pData|0; - $nData = $nData|0; - $nZero = $nZero|0; + $pX = $pX|0; $pnSize = $pnSize|0; - var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $eType = 0, $mn = 0, $n = 0, $nHeader = 0, $nPayload = 0, $nSrc = 0, $or$cond = 0, $pBt = 0; - var $pOvfl = 0, $pPayload = 0, $pPrior = 0, $pSrc = 0, $pToRelease = 0, $pgnoOvfl = 0, $pgnoPtrmap = 0, $rc = 0, $spaceLeft = 0, label = 0, sp = 0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $eType = 0, $mn = 0, $n = 0, $nHeader = 0, $nPayload = 0, $nSrc = 0, $or$cond = 0, $pBt = 0, $pOvfl = 0, $pPayload = 0, $pPrior = 0, $pSrc = 0, $pToRelease = 0, $pgnoOvfl = 0, $pgnoPtrmap = 0, $rc = 0, $spaceLeft = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $2 = sp + 96|0; - $3 = sp + 92|0; - $4 = sp + 88|0; - $5 = sp + 84|0; - $6 = sp; - $7 = sp + 80|0; - $8 = sp + 76|0; - $9 = sp + 72|0; - $10 = sp + 68|0; - $nPayload = sp + 64|0; - $pSrc = sp + 60|0; - $nSrc = sp + 56|0; - $n = sp + 52|0; - $rc = sp + 48|0; - $spaceLeft = sp + 44|0; - $pOvfl = sp + 40|0; - $pToRelease = sp + 36|0; - $pPrior = sp + 32|0; - $pPayload = sp + 28|0; - $pBt = sp + 24|0; - $pgnoOvfl = sp + 20|0; - $nHeader = sp + 16|0; - $mn = sp + 12|0; - $pgnoPtrmap = sp + 8|0; - $eType = sp + 100|0; - HEAP32[$3>>2] = $pPage; - HEAP32[$4>>2] = $pCell; - HEAP32[$5>>2] = $pKey; - $11 = $6; - $12 = $11; - HEAP32[$12>>2] = $0; - $13 = (($11) + 4)|0; - $14 = $13; - HEAP32[$14>>2] = $1; - HEAP32[$7>>2] = $pData; - HEAP32[$8>>2] = $nData; - HEAP32[$9>>2] = $nZero; - HEAP32[$10>>2] = $pnSize; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 76|0; + $1 = sp + 72|0; + $2 = sp + 68|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $nPayload = sp + 56|0; + $pSrc = sp + 52|0; + $nSrc = sp + 48|0; + $n = sp + 44|0; + $rc = sp + 40|0; + $spaceLeft = sp + 36|0; + $pOvfl = sp + 32|0; + $pToRelease = sp + 28|0; + $pPrior = sp + 24|0; + $pPayload = sp + 20|0; + $pBt = sp + 16|0; + $pgnoOvfl = sp + 12|0; + $nHeader = sp + 8|0; + $mn = sp + 4|0; + $pgnoPtrmap = sp; + $eType = sp + 80|0; + HEAP32[$1>>2] = $pPage; + HEAP32[$2>>2] = $pCell; + HEAP32[$3>>2] = $pX; + HEAP32[$4>>2] = $pnSize; HEAP32[$pOvfl>>2] = 0; HEAP32[$pToRelease>>2] = 0; - $15 = HEAP32[$3>>2]|0; - $16 = ((($15)) + 52|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$pBt>>2] = $17; + $5 = HEAP32[$1>>2]|0; + $6 = ((($5)) + 52|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$pBt>>2] = $7; HEAP32[$pgnoOvfl>>2] = 0; - $18 = HEAP32[$3>>2]|0; - $19 = ((($18)) + 6|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - HEAP32[$nHeader>>2] = $21; - $22 = HEAP32[$8>>2]|0; - $23 = HEAP32[$9>>2]|0; - $24 = (($22) + ($23))|0; - HEAP32[$nPayload>>2] = $24; - $25 = HEAP32[$3>>2]|0; - $26 = ((($25)) + 3|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)!=(0); - if ($28) { + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 6|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + HEAP32[$nHeader>>2] = $11; + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)!=(0); + $16 = HEAP32[$3>>2]|0; + if ($15) { + $17 = ((($16)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$3>>2]|0; + $20 = ((($19)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($18) + ($21))|0; + HEAP32[$nPayload>>2] = $22; + $23 = HEAP32[$3>>2]|0; + $24 = ((($23)) + 16|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$pSrc>>2] = $25; + $26 = HEAP32[$3>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$nSrc>>2] = $28; $29 = HEAP32[$nPayload>>2]|0; $30 = ($29>>>0)<(128); if ($30) { $31 = HEAP32[$nPayload>>2]|0; $32 = $31&255; $33 = HEAP32[$nHeader>>2]|0; - $34 = HEAP32[$4>>2]|0; + $34 = HEAP32[$2>>2]|0; $35 = (($34) + ($33)|0); HEAP8[$35>>0] = $32; $44 = 1; } else { $36 = HEAP32[$nHeader>>2]|0; - $37 = HEAP32[$4>>2]|0; + $37 = HEAP32[$2>>2]|0; $38 = (($37) + ($36)|0); $39 = HEAP32[$nPayload>>2]|0; $40 = ($39|0)<(0); @@ -249064,292 +253137,295 @@ function _fillInCell($pPage,$pCell,$pKey,$0,$1,$pData,$nData,$nZero,$pnSize) { $46 = HEAP32[$nHeader>>2]|0; $47 = (($46) + ($45))|0; HEAP32[$nHeader>>2] = $47; - } - $48 = HEAP32[$nHeader>>2]|0; - $49 = HEAP32[$4>>2]|0; - $50 = (($49) + ($48)|0); - $51 = $6; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = (_sqlite3PutVarint($50,$53,$56)|0); - $58 = HEAP32[$nHeader>>2]|0; - $59 = (($58) + ($57))|0; - HEAP32[$nHeader>>2] = $59; - $60 = HEAP32[$3>>2]|0; - $61 = ((($60)) + 2|0); - $62 = HEAP8[$61>>0]|0; - $63 = ($62<<24>>24)!=(0); - if ($63) { - $64 = HEAP32[$7>>2]|0; - HEAP32[$pSrc>>2] = $64; - $65 = HEAP32[$8>>2]|0; - HEAP32[$nSrc>>2] = $65; - HEAP32[$8>>2] = 0; + $48 = HEAP32[$nHeader>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = (($49) + ($48)|0); + $51 = HEAP32[$3>>2]|0; + $52 = ((($51)) + 8|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3PutVarint($50,$55,$58)|0); + $60 = HEAP32[$nHeader>>2]|0; + $61 = (($60) + ($59))|0; + HEAP32[$nHeader>>2] = $61; } else { - $66 = $6; + $62 = ((($16)) + 8|0); + $63 = $62; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = (($63) + 4)|0; $67 = $66; $68 = HEAP32[$67>>2]|0; - $69 = (($66) + 4)|0; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - HEAP32[$nPayload>>2] = $68; - $72 = HEAP32[$5>>2]|0; - HEAP32[$pSrc>>2] = $72; - $73 = $6; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - HEAP32[$nSrc>>2] = $75; + HEAP32[$nPayload>>2] = $65; + HEAP32[$nSrc>>2] = $65; + $69 = HEAP32[$3>>2]|0; + $70 = HEAP32[$69>>2]|0; + HEAP32[$pSrc>>2] = $70; + $71 = HEAP32[$nPayload>>2]|0; + $72 = ($71>>>0)<(128); + if ($72) { + $73 = HEAP32[$nPayload>>2]|0; + $74 = $73&255; + $75 = HEAP32[$nHeader>>2]|0; + $76 = HEAP32[$2>>2]|0; + $77 = (($76) + ($75)|0); + HEAP8[$77>>0] = $74; + $86 = 1; + } else { + $78 = HEAP32[$nHeader>>2]|0; + $79 = HEAP32[$2>>2]|0; + $80 = (($79) + ($78)|0); + $81 = HEAP32[$nPayload>>2]|0; + $82 = ($81|0)<(0); + $83 = $82 << 31 >> 31; + $84 = (_sqlite3PutVarint($80,$81,$83)|0); + $86 = $84; + } + $85 = $86&255; + $87 = $85&255; + $88 = HEAP32[$nHeader>>2]|0; + $89 = (($88) + ($87))|0; + HEAP32[$nHeader>>2] = $89; } - $79 = HEAP32[$nPayload>>2]|0; - $80 = HEAP32[$3>>2]|0; - $81 = ((($80)) + 10|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = ($79|0)<=($83|0); - if ($84) { - $85 = HEAP32[$nHeader>>2]|0; - $86 = HEAP32[$nPayload>>2]|0; - $87 = (($85) + ($86))|0; - HEAP32[$n>>2] = $87; - $88 = HEAP32[$n>>2]|0; - $89 = ($88|0)<(4); - $$ = $89 ? 4 : $87; + $90 = HEAP32[$nPayload>>2]|0; + $91 = HEAP32[$1>>2]|0; + $92 = ((($91)) + 10|0); + $93 = HEAP16[$92>>1]|0; + $94 = $93&65535; + $95 = ($90|0)<=($94|0); + if ($95) { + $96 = HEAP32[$nHeader>>2]|0; + $97 = HEAP32[$nPayload>>2]|0; + $98 = (($96) + ($97))|0; + HEAP32[$n>>2] = $98; + $99 = HEAP32[$n>>2]|0; + $100 = ($99|0)<(4); + $$ = $100 ? 4 : $98; HEAP32[$n>>2] = $$; - $90 = HEAP32[$n>>2]|0; - $91 = HEAP32[$10>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[$nPayload>>2]|0; - HEAP32[$spaceLeft>>2] = $92; - $93 = HEAP32[$4>>2]|0; - HEAP32[$pPrior>>2] = $93; + $101 = HEAP32[$n>>2]|0; + $102 = HEAP32[$4>>2]|0; + HEAP32[$102>>2] = $101; + $103 = HEAP32[$nPayload>>2]|0; + HEAP32[$spaceLeft>>2] = $103; + $104 = HEAP32[$2>>2]|0; + HEAP32[$pPrior>>2] = $104; } else { - $94 = HEAP32[$3>>2]|0; - $95 = ((($94)) + 12|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96&65535; - HEAP32[$mn>>2] = $97; - $98 = HEAP32[$mn>>2]|0; - $99 = HEAP32[$nPayload>>2]|0; - $100 = HEAP32[$mn>>2]|0; - $101 = (($99) - ($100))|0; - $102 = HEAP32[$3>>2]|0; - $103 = ((($102)) + 52|0); - $104 = HEAP32[$103>>2]|0; - $105 = ((($104)) + 36|0); - $106 = HEAP32[$105>>2]|0; - $107 = (($106) - 4)|0; - $108 = (($101>>>0) % ($107>>>0))&-1; - $109 = (($98) + ($108))|0; - HEAP32[$n>>2] = $109; - $110 = HEAP32[$n>>2]|0; - $111 = HEAP32[$3>>2]|0; - $112 = ((($111)) + 10|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113&65535; - $115 = ($110|0)>($114|0); - if ($115) { - $116 = HEAP32[$mn>>2]|0; - HEAP32[$n>>2] = $116; - } - $117 = HEAP32[$n>>2]|0; - HEAP32[$spaceLeft>>2] = $117; - $118 = HEAP32[$n>>2]|0; - $119 = HEAP32[$nHeader>>2]|0; - $120 = (($118) + ($119))|0; - $121 = (($120) + 4)|0; - $122 = HEAP32[$10>>2]|0; - HEAP32[$122>>2] = $121; - $123 = HEAP32[$nHeader>>2]|0; - $124 = HEAP32[$n>>2]|0; - $125 = (($123) + ($124))|0; - $126 = HEAP32[$4>>2]|0; - $127 = (($126) + ($125)|0); - HEAP32[$pPrior>>2] = $127; - } - $128 = HEAP32[$nHeader>>2]|0; - $129 = HEAP32[$4>>2]|0; - $130 = (($129) + ($128)|0); - HEAP32[$pPayload>>2] = $130; + $105 = HEAP32[$1>>2]|0; + $106 = ((($105)) + 12|0); + $107 = HEAP16[$106>>1]|0; + $108 = $107&65535; + HEAP32[$mn>>2] = $108; + $109 = HEAP32[$mn>>2]|0; + $110 = HEAP32[$nPayload>>2]|0; + $111 = HEAP32[$mn>>2]|0; + $112 = (($110) - ($111))|0; + $113 = HEAP32[$1>>2]|0; + $114 = ((($113)) + 52|0); + $115 = HEAP32[$114>>2]|0; + $116 = ((($115)) + 36|0); + $117 = HEAP32[$116>>2]|0; + $118 = (($117) - 4)|0; + $119 = (($112>>>0) % ($118>>>0))&-1; + $120 = (($109) + ($119))|0; + HEAP32[$n>>2] = $120; + $121 = HEAP32[$n>>2]|0; + $122 = HEAP32[$1>>2]|0; + $123 = ((($122)) + 10|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124&65535; + $126 = ($121|0)>($125|0); + if ($126) { + $127 = HEAP32[$mn>>2]|0; + HEAP32[$n>>2] = $127; + } + $128 = HEAP32[$n>>2]|0; + HEAP32[$spaceLeft>>2] = $128; + $129 = HEAP32[$n>>2]|0; + $130 = HEAP32[$nHeader>>2]|0; + $131 = (($129) + ($130))|0; + $132 = (($131) + 4)|0; + $133 = HEAP32[$4>>2]|0; + HEAP32[$133>>2] = $132; + $134 = HEAP32[$nHeader>>2]|0; + $135 = HEAP32[$n>>2]|0; + $136 = (($134) + ($135))|0; + $137 = HEAP32[$2>>2]|0; + $138 = (($137) + ($136)|0); + HEAP32[$pPrior>>2] = $138; + } + $139 = HEAP32[$nHeader>>2]|0; + $140 = HEAP32[$2>>2]|0; + $141 = (($140) + ($139)|0); + HEAP32[$pPayload>>2] = $141; while(1) { - $131 = HEAP32[$nPayload>>2]|0; - $132 = ($131|0)>(0); - if (!($132)) { + $142 = HEAP32[$nPayload>>2]|0; + $143 = ($142|0)>(0); + if (!($143)) { label = 35; break; } - $133 = HEAP32[$spaceLeft>>2]|0; - $134 = ($133|0)==(0); - if ($134) { - $135 = HEAP32[$pgnoOvfl>>2]|0; - HEAP32[$pgnoPtrmap>>2] = $135; - $136 = HEAP32[$pBt>>2]|0; - $137 = ((($136)) + 17|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138<<24>>24)!=(0); - if ($139) { + $144 = HEAP32[$spaceLeft>>2]|0; + $145 = ($144|0)==(0); + if ($145) { + $146 = HEAP32[$pgnoOvfl>>2]|0; + HEAP32[$pgnoPtrmap>>2] = $146; + $147 = HEAP32[$pBt>>2]|0; + $148 = ((($147)) + 17|0); + $149 = HEAP8[$148>>0]|0; + $150 = ($149<<24>>24)!=(0); + if ($150) { while(1) { - $140 = HEAP32[$pgnoOvfl>>2]|0; - $141 = (($140) + 1)|0; - HEAP32[$pgnoOvfl>>2] = $141; - $142 = HEAP32[$pBt>>2]|0; - $143 = HEAP32[$pgnoOvfl>>2]|0; - $144 = (_ptrmapPageno($142,$143)|0); - $145 = HEAP32[$pgnoOvfl>>2]|0; - $146 = ($144|0)==($145|0); - if ($146) { + $151 = HEAP32[$pgnoOvfl>>2]|0; + $152 = (($151) + 1)|0; + HEAP32[$pgnoOvfl>>2] = $152; + $153 = HEAP32[$pBt>>2]|0; + $154 = HEAP32[$pgnoOvfl>>2]|0; + $155 = (_ptrmapPageno($153,$154)|0); + $156 = HEAP32[$pgnoOvfl>>2]|0; + $157 = ($155|0)==($156|0); + if ($157) { continue; } - $147 = HEAP32[$pgnoOvfl>>2]|0; - $148 = HEAP32[1524>>2]|0; - $149 = HEAP32[$pBt>>2]|0; - $150 = ((($149)) + 32|0); - $151 = HEAP32[$150>>2]|0; - $152 = (($148>>>0) / ($151>>>0))&-1; - $153 = (($152) + 1)|0; - $154 = ($147|0)==($153|0); - if (!($154)) { + $158 = HEAP32[$pgnoOvfl>>2]|0; + $159 = HEAP32[1536>>2]|0; + $160 = HEAP32[$pBt>>2]|0; + $161 = ((($160)) + 32|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($159>>>0) / ($162>>>0))&-1; + $164 = (($163) + 1)|0; + $165 = ($158|0)==($164|0); + if (!($165)) { break; } } } - $155 = HEAP32[$pBt>>2]|0; - $156 = HEAP32[$pgnoOvfl>>2]|0; - $157 = (_allocateBtreePage($155,$pOvfl,$pgnoOvfl,$156,0)|0); - HEAP32[$rc>>2] = $157; - $158 = HEAP32[$pBt>>2]|0; - $159 = ((($158)) + 17|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $162 = ($161|0)!=(0); - $163 = HEAP32[$rc>>2]|0; - $164 = ($163|0)==(0); - $or$cond = $162 & $164; + $166 = HEAP32[$pBt>>2]|0; + $167 = HEAP32[$pgnoOvfl>>2]|0; + $168 = (_allocateBtreePage($166,$pOvfl,$pgnoOvfl,$167,0)|0); + HEAP32[$rc>>2] = $168; + $169 = HEAP32[$pBt>>2]|0; + $170 = ((($169)) + 17|0); + $171 = HEAP8[$170>>0]|0; + $172 = $171&255; + $173 = ($172|0)!=(0); + $174 = HEAP32[$rc>>2]|0; + $175 = ($174|0)==(0); + $or$cond = $173 & $175; if ($or$cond) { - $165 = HEAP32[$pgnoPtrmap>>2]|0; - $166 = ($165|0)!=(0); - $167 = $166 ? 4 : 3; - $168 = $167&255; - HEAP8[$eType>>0] = $168; - $169 = HEAP32[$pBt>>2]|0; - $170 = HEAP32[$pgnoOvfl>>2]|0; - $171 = HEAP8[$eType>>0]|0; - $172 = HEAP32[$pgnoPtrmap>>2]|0; - _ptrmapPut($169,$170,$171,$172,$rc); - $173 = HEAP32[$rc>>2]|0; - $174 = ($173|0)!=(0); - if ($174) { - $175 = HEAP32[$pOvfl>>2]|0; - _releasePage($175); + $176 = HEAP32[$pgnoPtrmap>>2]|0; + $177 = ($176|0)!=(0); + $178 = $177 ? 4 : 3; + $179 = $178&255; + HEAP8[$eType>>0] = $179; + $180 = HEAP32[$pBt>>2]|0; + $181 = HEAP32[$pgnoOvfl>>2]|0; + $182 = HEAP8[$eType>>0]|0; + $183 = HEAP32[$pgnoPtrmap>>2]|0; + _ptrmapPut($180,$181,$182,$183,$rc); + $184 = HEAP32[$rc>>2]|0; + $185 = ($184|0)!=(0); + if ($185) { + $186 = HEAP32[$pOvfl>>2]|0; + _releasePage($186); } } - $176 = HEAP32[$rc>>2]|0; - $177 = ($176|0)!=(0); - if ($177) { - label = 24; + $187 = HEAP32[$rc>>2]|0; + $188 = ($187|0)!=(0); + if ($188) { + label = 25; break; } - $180 = HEAP32[$pPrior>>2]|0; - $181 = HEAP32[$pgnoOvfl>>2]|0; - _sqlite3Put4byte($180,$181); - $182 = HEAP32[$pToRelease>>2]|0; - _releasePage($182); - $183 = HEAP32[$pOvfl>>2]|0; - HEAP32[$pToRelease>>2] = $183; - $184 = HEAP32[$pOvfl>>2]|0; - $185 = ((($184)) + 56|0); - $186 = HEAP32[$185>>2]|0; - HEAP32[$pPrior>>2] = $186; - $187 = HEAP32[$pPrior>>2]|0; - _sqlite3Put4byte($187,0); - $188 = HEAP32[$pOvfl>>2]|0; - $189 = ((($188)) + 56|0); - $190 = HEAP32[$189>>2]|0; - $191 = ((($190)) + 4|0); - HEAP32[$pPayload>>2] = $191; - $192 = HEAP32[$pBt>>2]|0; - $193 = ((($192)) + 36|0); - $194 = HEAP32[$193>>2]|0; - $195 = (($194) - 4)|0; - HEAP32[$spaceLeft>>2] = $195; - } - $196 = HEAP32[$nPayload>>2]|0; - HEAP32[$n>>2] = $196; - $197 = HEAP32[$n>>2]|0; - $198 = HEAP32[$spaceLeft>>2]|0; - $199 = ($197|0)>($198|0); - if ($199) { - $200 = HEAP32[$spaceLeft>>2]|0; - HEAP32[$n>>2] = $200; - } - $201 = HEAP32[$nSrc>>2]|0; - $202 = ($201|0)>(0); - if ($202) { - $203 = HEAP32[$n>>2]|0; - $204 = HEAP32[$nSrc>>2]|0; - $205 = ($203|0)>($204|0); - if ($205) { - $206 = HEAP32[$nSrc>>2]|0; - HEAP32[$n>>2] = $206; - } - $207 = HEAP32[$pPayload>>2]|0; - $208 = HEAP32[$pSrc>>2]|0; - $209 = HEAP32[$n>>2]|0; - _memcpy(($207|0),($208|0),($209|0))|0; + $191 = HEAP32[$pPrior>>2]|0; + $192 = HEAP32[$pgnoOvfl>>2]|0; + _sqlite3Put4byte($191,$192); + $193 = HEAP32[$pToRelease>>2]|0; + _releasePage($193); + $194 = HEAP32[$pOvfl>>2]|0; + HEAP32[$pToRelease>>2] = $194; + $195 = HEAP32[$pOvfl>>2]|0; + $196 = ((($195)) + 56|0); + $197 = HEAP32[$196>>2]|0; + HEAP32[$pPrior>>2] = $197; + $198 = HEAP32[$pPrior>>2]|0; + _sqlite3Put4byte($198,0); + $199 = HEAP32[$pOvfl>>2]|0; + $200 = ((($199)) + 56|0); + $201 = HEAP32[$200>>2]|0; + $202 = ((($201)) + 4|0); + HEAP32[$pPayload>>2] = $202; + $203 = HEAP32[$pBt>>2]|0; + $204 = ((($203)) + 36|0); + $205 = HEAP32[$204>>2]|0; + $206 = (($205) - 4)|0; + HEAP32[$spaceLeft>>2] = $206; + } + $207 = HEAP32[$nPayload>>2]|0; + HEAP32[$n>>2] = $207; + $208 = HEAP32[$n>>2]|0; + $209 = HEAP32[$spaceLeft>>2]|0; + $210 = ($208|0)>($209|0); + if ($210) { + $211 = HEAP32[$spaceLeft>>2]|0; + HEAP32[$n>>2] = $211; + } + $212 = HEAP32[$nSrc>>2]|0; + $213 = ($212|0)>(0); + if ($213) { + $214 = HEAP32[$n>>2]|0; + $215 = HEAP32[$nSrc>>2]|0; + $216 = ($214|0)>($215|0); + if ($216) { + $217 = HEAP32[$nSrc>>2]|0; + HEAP32[$n>>2] = $217; + } + $218 = HEAP32[$pPayload>>2]|0; + $219 = HEAP32[$pSrc>>2]|0; + $220 = HEAP32[$n>>2]|0; + _memcpy(($218|0),($219|0),($220|0))|0; } else { - $210 = HEAP32[$pPayload>>2]|0; - $211 = HEAP32[$n>>2]|0; - _memset(($210|0),0,($211|0))|0; - } - $212 = HEAP32[$n>>2]|0; - $213 = HEAP32[$nPayload>>2]|0; - $214 = (($213) - ($212))|0; - HEAP32[$nPayload>>2] = $214; - $215 = HEAP32[$n>>2]|0; - $216 = HEAP32[$pPayload>>2]|0; - $217 = (($216) + ($215)|0); - HEAP32[$pPayload>>2] = $217; - $218 = HEAP32[$n>>2]|0; - $219 = HEAP32[$pSrc>>2]|0; - $220 = (($219) + ($218)|0); - HEAP32[$pSrc>>2] = $220; - $221 = HEAP32[$n>>2]|0; - $222 = HEAP32[$nSrc>>2]|0; - $223 = (($222) - ($221))|0; - HEAP32[$nSrc>>2] = $223; - $224 = HEAP32[$n>>2]|0; - $225 = HEAP32[$spaceLeft>>2]|0; - $226 = (($225) - ($224))|0; - HEAP32[$spaceLeft>>2] = $226; - $227 = HEAP32[$nSrc>>2]|0; - $228 = ($227|0)==(0); - if (!($228)) { - continue; - } - $229 = HEAP32[$8>>2]|0; - HEAP32[$nSrc>>2] = $229; - $230 = HEAP32[$7>>2]|0; - HEAP32[$pSrc>>2] = $230; + $221 = HEAP32[$pPayload>>2]|0; + $222 = HEAP32[$n>>2]|0; + _memset(($221|0),0,($222|0))|0; + } + $223 = HEAP32[$n>>2]|0; + $224 = HEAP32[$nPayload>>2]|0; + $225 = (($224) - ($223))|0; + HEAP32[$nPayload>>2] = $225; + $226 = HEAP32[$n>>2]|0; + $227 = HEAP32[$pPayload>>2]|0; + $228 = (($227) + ($226)|0); + HEAP32[$pPayload>>2] = $228; + $229 = HEAP32[$n>>2]|0; + $230 = HEAP32[$pSrc>>2]|0; + $231 = (($230) + ($229)|0); + HEAP32[$pSrc>>2] = $231; + $232 = HEAP32[$n>>2]|0; + $233 = HEAP32[$nSrc>>2]|0; + $234 = (($233) - ($232))|0; + HEAP32[$nSrc>>2] = $234; + $235 = HEAP32[$n>>2]|0; + $236 = HEAP32[$spaceLeft>>2]|0; + $237 = (($236) - ($235))|0; + HEAP32[$spaceLeft>>2] = $237; } - if ((label|0) == 24) { - $178 = HEAP32[$pToRelease>>2]|0; - _releasePage($178); - $179 = HEAP32[$rc>>2]|0; - HEAP32[$2>>2] = $179; - $232 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($232|0); + if ((label|0) == 25) { + $189 = HEAP32[$pToRelease>>2]|0; + _releasePage($189); + $190 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $190; + $239 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($239|0); } else if ((label|0) == 35) { - $231 = HEAP32[$pToRelease>>2]|0; - _releasePage($231); - HEAP32[$2>>2] = 0; - $232 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($232|0); + $238 = HEAP32[$pToRelease>>2]|0; + _releasePage($238); + HEAP32[$0>>2] = 0; + $239 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($239|0); } return (0)|0; } @@ -249442,7 +253518,7 @@ function _btreeCreateTable($p,$piTable,$createTabFlags) { $19 = ($15|0)==($18|0); if (!($19)) { $20 = HEAP32[$pgnoRoot>>2]|0; - $21 = HEAP32[1524>>2]|0; + $21 = HEAP32[1536>>2]|0; $22 = HEAP32[$pBt>>2]|0; $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; @@ -249518,7 +253594,7 @@ function _btreeCreateTable($p,$piTable,$createTabFlags) { } } if ((label|0) == 15) { - $60 = (_sqlite3CorruptError(66085)|0); + $60 = (_sqlite3CorruptError(66598)|0); HEAP32[$rc>>2] = $60; } $61 = HEAP32[$rc>>2]|0; @@ -250027,7 +254103,7 @@ function _pagerOpenSavepoint($pPager,$nSavepoint) { break; } $99 = HEAP32[$1>>2]|0; - $100 = (_pagerUseWal($99)|0); + $100 = (_sqlite3PagerUseWal($99)|0); $101 = ($100|0)!=(0); if ($101) { $102 = HEAP32[$1>>2]|0; @@ -250147,7 +254223,7 @@ function _newDatabase($pBt) { STACKTOP = sp;return ($81|0); } else { $19 = HEAP32[$data>>2]|0; - dest=$19; src=42920; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=$19; src=41796; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $20 = HEAP32[$1>>2]|0; $21 = ((($20)) + 32|0); $22 = HEAP32[$21>>2]|0; @@ -250583,7 +254659,7 @@ function _handleDeferredMoveto($p) { $17 = HEAP32[$res>>2]|0; $18 = ($17|0)!=(0); if ($18) { - $19 = (_sqlite3CorruptError(72951)|0); + $19 = (_sqlite3CorruptError(73491)|0); HEAP32[$0>>2] = $19; $24 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($24|0); @@ -250604,59 +254680,139 @@ function _sqlite3BlobCompare($pB1,$pB2) { $pB1 = $pB1|0; $pB2 = $pB2|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $c = 0, $n1 = 0, $n2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $c = sp; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $c = sp + 8|0; + $n1 = sp + 4|0; + $n2 = sp; HEAP32[$1>>2] = $pB1; HEAP32[$2>>2] = $pB2; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 16|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; + HEAP32[$n1>>2] = $5; $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 16|0); + $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; + HEAP32[$n2>>2] = $8; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($11|0)>($14|0); - if ($15) { - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $22 = $18; - } else { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = $21; + $10 = ((($9)) + 8|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP16[$14>>1]|0; + $16 = $15&65535; + $17 = $12 | $16; + $18 = $17 & 16384; + $19 = ($18|0)!=(0); + $20 = HEAP32[$1>>2]|0; + if (!($19)) { + $65 = ((($20)) + 16|0); + $66 = HEAP32[$65>>2]|0; + $67 = HEAP32[$2>>2]|0; + $68 = ((($67)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$n1>>2]|0; + $71 = HEAP32[$n2>>2]|0; + $72 = ($70|0)>($71|0); + $73 = HEAP32[$n2>>2]|0; + $74 = HEAP32[$n1>>2]|0; + $75 = $72 ? $73 : $74; + $76 = (_memcmp($66,$69,$75)|0); + HEAP32[$c>>2] = $76; + $77 = HEAP32[$c>>2]|0; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$c>>2]|0; + HEAP32[$0>>2] = $79; + $83 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($83|0); + } else { + $80 = HEAP32[$n1>>2]|0; + $81 = HEAP32[$n2>>2]|0; + $82 = (($80) - ($81))|0; + HEAP32[$0>>2] = $82; + $83 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($83|0); + } } - $23 = (_memcmp($5,$8,$22)|0); - HEAP32[$c>>2] = $23; - $24 = HEAP32[$c>>2]|0; - $25 = ($24|0)!=(0); - if ($25) { - $26 = HEAP32[$c>>2]|0; - HEAP32[$0>>2] = $26; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); - } else { - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 12|0); + $21 = ((($20)) + 8|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 8|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26&65535; + $28 = $23 & $27; + $29 = $28 & 16384; + $30 = ($29|0)!=(0); + $31 = HEAP32[$1>>2]|0; + if ($30) { $32 = HEAP32[$31>>2]|0; - $33 = (($29) - ($32))|0; - HEAP32[$0>>2] = $33; - $34 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($34|0); + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) - ($34))|0; + HEAP32[$0>>2] = $35; + $83 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($83|0); + } + $36 = ((($31)) + 8|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + $39 = $38 & 16384; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$2>>2]|0; + $42 = ((($41)) + 16|0); + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_isAllZero($43,$46)|0); + $48 = ($47|0)!=(0); + if ($48) { + $49 = HEAP32[$1>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$n2>>2]|0; + $52 = (($50) - ($51))|0; + HEAP32[$0>>2] = $52; + $83 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($83|0); + } else { + HEAP32[$0>>2] = -1; + $83 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($83|0); + } + } else { + $53 = HEAP32[$1>>2]|0; + $54 = ((($53)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 12|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_isAllZero($55,$58)|0); + $60 = ($59|0)!=(0); + if ($60) { + $61 = HEAP32[$n1>>2]|0; + $62 = HEAP32[$2>>2]|0; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) - ($63))|0; + HEAP32[$0>>2] = $64; + $83 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($83|0); + } else { + HEAP32[$0>>2] = 1; + $83 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($83|0); + } } return (0)|0; } @@ -250787,12 +254943,12 @@ function _closeAllCursors($p) { $pDel = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 176|0); + $2 = ((($1)) + 184|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if ($4) { $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 176|0); + $6 = ((($5)) + 184|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pFrame>>2] = $7; while(1) { @@ -250810,44 +254966,44 @@ function _closeAllCursors($p) { } (_sqlite3VdbeFrameRestore($12)|0); $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 176|0); + $16 = ((($15)) + 184|0); HEAP32[$16>>2] = 0; $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 184|0); + $18 = ((($17)) + 192|0); HEAP32[$18>>2] = 0; } $19 = HEAP32[$0>>2]|0; _closeCursorsInFrame($19); $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 8|0); + $21 = ((($20)) + 92|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); if ($23) { $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 8|0); + $25 = ((($24)) + 92|0); $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 28|0); + $28 = ((($27)) + 24|0); $29 = HEAP32[$28>>2]|0; _releaseMemArray($26,$29); } while(1) { $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 180|0); + $31 = ((($30)) + 188|0); $32 = HEAP32[$31>>2]|0; $33 = ($32|0)!=(0|0); $34 = HEAP32[$0>>2]|0; if (!($33)) { break; } - $35 = ((($34)) + 180|0); + $35 = ((($34)) + 188|0); $36 = HEAP32[$35>>2]|0; HEAP32[$pDel>>2] = $36; $37 = HEAP32[$pDel>>2]|0; $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 180|0); + $41 = ((($40)) + 188|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pDel>>2]|0; _sqlite3VdbeFrameDelete($42); @@ -250969,7 +255125,7 @@ function _vdbeCommit($db,$p) { if ($34) { $35 = HEAP32[$pPager>>2]|0; $36 = (_sqlite3PagerGetJournalMode($35)|0); - $37 = (42936 + ($36)|0); + $37 = (41812 + ($36)|0); $38 = HEAP8[$37>>0]|0; $39 = $38&255; $40 = ($39|0)!=(0); @@ -250999,15 +255155,15 @@ function _vdbeCommit($db,$p) { $51 = ($50|0)!=(0); if ($51) { $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 200|0); + $53 = ((($52)) + 204|0); $54 = HEAP32[$53>>2]|0; $55 = ($54|0)!=(0|0); if ($55) { $56 = HEAP32[$1>>2]|0; - $57 = ((($56)) + 200|0); + $57 = ((($56)) + 204|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 196|0); + $60 = ((($59)) + 200|0); $61 = HEAP32[$60>>2]|0; $62 = (FUNCTION_TABLE_ii[$58 & 255]($61)|0); HEAP32[$rc>>2] = $62; @@ -251132,7 +255288,7 @@ function _vdbeCommit($db,$p) { $132 = HEAP32[$1>>2]|0; $133 = HEAP32[$zMainFile>>2]|0; HEAP32[$vararg_buffer>>2] = $133; - $134 = (_sqlite3MPrintf($132,42942,$vararg_buffer)|0); + $134 = (_sqlite3MPrintf($132,41818,$vararg_buffer)|0); HEAP32[$zMaster>>2] = $134; $135 = HEAP32[$zMaster>>2]|0; $136 = ($135|0)==(0|0); @@ -251156,7 +255312,7 @@ function _vdbeCommit($db,$p) { if ($145) { $146 = HEAP32[$zMaster>>2]|0; HEAP32[$vararg_buffer8>>2] = $146; - _sqlite3_log(13,42972,$vararg_buffer8); + _sqlite3_log(13,41848,$vararg_buffer8); } } $147 = HEAP32[$retryCount>>2]|0; @@ -251174,7 +255330,7 @@ function _vdbeCommit($db,$p) { HEAP32[$vararg_buffer11>>2] = $154; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $156; - (_sqlite3_snprintf(13,$151,42987,$vararg_buffer11)|0); + (_sqlite3_snprintf(13,$151,41863,$vararg_buffer11)|0); $157 = HEAP32[$pVfs>>2]|0; $158 = HEAP32[$zMaster>>2]|0; $159 = (_sqlite3OsAccess($157,$158,0,$res)|0); @@ -251191,7 +255347,7 @@ function _vdbeCommit($db,$p) { if ((label|0) == 35) { $141 = HEAP32[$zMaster>>2]|0; HEAP32[$vararg_buffer5>>2] = $141; - _sqlite3_log(13,42958,$vararg_buffer5); + _sqlite3_log(13,41834,$vararg_buffer5); $142 = HEAP32[$pVfs>>2]|0; $143 = HEAP32[$zMaster>>2]|0; (_sqlite3OsDelete($142,$143,0)|0); @@ -251557,7 +255713,7 @@ function _closeCursorsInFrame($p) { $pC = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 56|0); + $2 = ((($1)) + 112|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); if (!($4)) { @@ -251567,7 +255723,7 @@ function _closeCursorsInFrame($p) { while(1) { $5 = HEAP32[$i>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 36|0); + $7 = ((($6)) + 28|0); $8 = HEAP32[$7>>2]|0; $9 = ($5|0)<($8|0); if (!($9)) { @@ -251575,7 +255731,7 @@ function _closeCursorsInFrame($p) { } $10 = HEAP32[$i>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 56|0); + $12 = ((($11)) + 112|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + ($10<<2)|0); $15 = HEAP32[$14>>2]|0; @@ -251588,7 +255744,7 @@ function _closeCursorsInFrame($p) { _sqlite3VdbeFreeCursor($18,$19); $20 = HEAP32[$i>>2]|0; $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 56|0); + $22 = ((($21)) + 112|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + ($20<<2)|0); HEAP32[$24>>2] = 0; @@ -251614,7 +255770,7 @@ function _sqlite3VdbeFrameDelete($p) { $2 = ((($1)) + 80|0); HEAP32[$aMem>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 64|0); + $4 = ((($3)) + 60|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$aMem>>2]|0; $7 = (($6) + (($5*40)|0)|0); @@ -251623,7 +255779,7 @@ function _sqlite3VdbeFrameDelete($p) { while(1) { $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 68|0); + $10 = ((($9)) + 64|0); $11 = HEAP32[$10>>2]|0; $12 = ($8|0)<($11|0); if (!($12)) { @@ -251642,7 +255798,7 @@ function _sqlite3VdbeFrameDelete($p) { } $21 = HEAP32[$aMem>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 64|0); + $23 = ((($22)) + 60|0); $24 = HEAP32[$23>>2]|0; _releaseMemArray($21,$24); $25 = HEAP32[$0>>2]|0; @@ -251666,7 +255822,7 @@ function _sqlite3OpcodeName($i) { $0 = sp; HEAP32[$0>>2] = $i; $1 = HEAP32[$0>>2]|0; - $2 = (6428 + ($1<<2)|0); + $2 = (5588 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -251739,7 +255895,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $15 = HEAP16[$14>>1]|0; $16 = $15&65535; HEAP32[$vararg_buffer>>2] = $16; - _sqlite3XPrintf($x,43039,$vararg_buffer); + _sqlite3XPrintf($x,41915,$vararg_buffer); HEAP32[$j>>2] = 0; while(1) { $17 = HEAP32[$j>>2]|0; @@ -251764,13 +255920,13 @@ function _displayP4($pOp,$zTemp,$nTemp) { $31 = HEAP32[$30>>2]|0; $32 = $31; } else { - $32 = 19018; + $32 = 18402; } HEAP32[$zColl>>2] = $32; $33 = HEAP32[$zColl>>2]|0; - $34 = (_strcmp($33,35351)|0); + $34 = (_strcmp($33,34834)|0); $35 = ($34|0)==(0); - $$ = $35 ? 43044 : $32; + $$ = $35 ? 41920 : $32; HEAP32[$zColl>>2] = $$; $36 = HEAP32[$j>>2]|0; $37 = HEAP32[$pKeyInfo>>2]|0; @@ -251780,17 +255936,17 @@ function _displayP4($pOp,$zTemp,$nTemp) { $41 = HEAP8[$40>>0]|0; $42 = $41&255; $43 = ($42|0)!=(0); - $44 = $43 ? 28868 : 19018; + $44 = $43 ? 28264 : 18402; $45 = HEAP32[$zColl>>2]|0; HEAP32[$vararg_buffer1>>2] = $44; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $45; - _sqlite3XPrintf($x,43046,$vararg_buffer1); + _sqlite3XPrintf($x,41922,$vararg_buffer1); $46 = HEAP32[$j>>2]|0; $47 = (($46) + 1)|0; HEAP32[$j>>2] = $47; } - _sqlite3StrAccumAppend($x,35227,1); + _sqlite3StrAccumAppend($x,34706,1); break; } case -4: { @@ -251801,7 +255957,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $51 = HEAP32[$pColl1>>2]|0; $52 = HEAP32[$51>>2]|0; HEAP32[$vararg_buffer5>>2] = $52; - _sqlite3XPrintf($x,43052,$vararg_buffer5); + _sqlite3XPrintf($x,41928,$vararg_buffer5); break; } case -5: { @@ -251818,7 +255974,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { HEAP32[$vararg_buffer8>>2] = $58; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $61; - _sqlite3XPrintf($x,43060,$vararg_buffer8); + _sqlite3XPrintf($x,41936,$vararg_buffer8); break; } case -13: { @@ -251837,7 +255993,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $73 = (($71) + 4)|0; $74 = $73; HEAP32[$74>>2] = $70; - _sqlite3XPrintf($x,28870,$vararg_buffer12); + _sqlite3XPrintf($x,28266,$vararg_buffer12); break; } case -14: { @@ -251845,7 +256001,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $76 = ((($75)) + 16|0); $77 = HEAP32[$76>>2]|0; HEAP32[$vararg_buffer15>>2] = $77; - _sqlite3XPrintf($x,43067,$vararg_buffer15); + _sqlite3XPrintf($x,41943,$vararg_buffer15); break; } case -12: { @@ -251854,7 +256010,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $80 = HEAP32[$79>>2]|0; $81 = +HEAPF64[$80>>3]; HEAPF64[$vararg_buffer18>>3] = $81; - _sqlite3XPrintf($x,43070,$vararg_buffer18); + _sqlite3XPrintf($x,41946,$vararg_buffer18); break; } case -8: { @@ -251894,7 +256050,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - _sqlite3XPrintf($x,28870,$vararg_buffer21); + _sqlite3XPrintf($x,28266,$vararg_buffer21); break L1; } $110 = ((($99)) + 8|0); @@ -251906,7 +256062,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { if ($114) { $116 = +HEAPF64[$115>>3]; HEAPF64[$vararg_buffer24>>3] = $116; - _sqlite3XPrintf($x,43070,$vararg_buffer24); + _sqlite3XPrintf($x,41946,$vararg_buffer24); break L1; } $117 = ((($115)) + 8|0); @@ -251915,10 +256071,10 @@ function _displayP4($pOp,$zTemp,$nTemp) { $120 = $119 & 1; $121 = ($120|0)!=(0); if ($121) { - HEAP32[$zP4>>2] = 40184; + HEAP32[$zP4>>2] = 39691; break L1; } else { - HEAP32[$zP4>>2] = 43076; + HEAP32[$zP4>>2] = 41952; break L1; } break; @@ -251932,7 +256088,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { HEAP32[$pVtab>>2] = $126; $127 = HEAP32[$pVtab>>2]|0; HEAP32[$vararg_buffer27>>2] = $127; - _sqlite3XPrintf($x,43083,$vararg_buffer27); + _sqlite3XPrintf($x,41959,$vararg_buffer27); break; } case -15: { @@ -251956,18 +256112,18 @@ function _displayP4($pOp,$zTemp,$nTemp) { $138 = (($137) + ($136<<2)|0); $139 = HEAP32[$138>>2]|0; HEAP32[$vararg_buffer30>>2] = $139; - _sqlite3XPrintf($x,43091,$vararg_buffer30); + _sqlite3XPrintf($x,41967,$vararg_buffer30); $140 = HEAP32[$i>>2]|0; $141 = (($140) + 1)|0; HEAP32[$i>>2] = $141; } $142 = HEAP32[$1>>2]|0; HEAP8[$142>>0] = 91; - _sqlite3StrAccumAppend($x,43095,1); + _sqlite3StrAccumAppend($x,41971,1); break; } case -18: { - _sqlite3XPrintf($x,43097,$vararg_buffer33); + _sqlite3XPrintf($x,41973,$vararg_buffer33); break; } case -19: { @@ -251981,7 +256137,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $146 = HEAP32[$145>>2]|0; $147 = HEAP32[$146>>2]|0; HEAP32[$vararg_buffer35>>2] = $147; - _sqlite3XPrintf($x,19007,$vararg_buffer35); + _sqlite3XPrintf($x,18391,$vararg_buffer35); break; } default: { @@ -252187,8 +256343,7 @@ function _valueToText($pVal,$enc) { $enc = $enc|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -252211,77 +256366,67 @@ function _valueToText($pVal,$enc) { $14 = $13&65535; HEAP16[$10>>1] = $14; $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 8|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = $18 & 16384; - $20 = ($19|0)!=(0); - if ($20) { - $21 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemExpandBlob($21)|0); - } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 10|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = HEAP8[$2>>0]|0; - $27 = $26&255; - $28 = $27 & -9; - $29 = ($25|0)!=($28|0); - if ($29) { - $30 = HEAP32[$1>>2]|0; - $31 = HEAP8[$2>>0]|0; - $32 = $31&255; - $33 = $32 & -9; - (_sqlite3VdbeChangeEncoding($30,$33)|0); + $16 = ((($15)) + 10|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = HEAP8[$2>>0]|0; + $20 = $19&255; + $21 = $20 & -9; + $22 = ($18|0)!=($21|0); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = HEAP8[$2>>0]|0; + $25 = $24&255; + $26 = $25 & -9; + (_sqlite3VdbeChangeEncoding($23,$26)|0); } - $34 = HEAP8[$2>>0]|0; - $35 = $34&255; - $36 = $35 & 8; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = $40; - $42 = 1 & $41; - $43 = (1)==($42|0); - if ($43) { - $44 = HEAP32[$1>>2]|0; - $45 = (_sqlite3VdbeMemMakeWriteable($44)|0); - $46 = ($45|0)!=(0); - if ($46) { + $27 = HEAP8[$2>>0]|0; + $28 = $27&255; + $29 = $28 & 8; + $30 = ($29|0)!=(0); + if ($30) { + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = $33; + $35 = 1 & $34; + $36 = (1)==($35|0); + if ($36) { + $37 = HEAP32[$1>>2]|0; + $38 = (_sqlite3VdbeMemMakeWriteable($37)|0); + $39 = ($38|0)!=(0); + if ($39) { HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $53 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($53|0); } } } - $47 = HEAP32[$1>>2]|0; - (_sqlite3VdbeMemNulTerminate($47)|0); + $40 = HEAP32[$1>>2]|0; + (_sqlite3VdbeMemNulTerminate($40)|0); } else { - $48 = HEAP8[$2>>0]|0; - (_sqlite3VdbeMemStringify($9,$48,0)|0); + $41 = HEAP8[$2>>0]|0; + (_sqlite3VdbeMemStringify($9,$41,0)|0); } - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 10|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = HEAP8[$2>>0]|0; - $54 = $53&255; - $55 = $54 & -9; - $56 = ($52|0)==($55|0); - if ($56) { - $57 = HEAP32[$1>>2]|0; - $58 = ((($57)) + 16|0); - $59 = HEAP32[$58>>2]|0; - HEAP32[$0>>2] = $59; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 10|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = HEAP8[$2>>0]|0; + $47 = $46&255; + $48 = $47 & -9; + $49 = ($45|0)==($48|0); + if ($49) { + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 16|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$0>>2] = $52; + $53 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($53|0); } else { HEAP32[$0>>2] = 0; - $60 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($60|0); + $53 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($53|0); } return (0)|0; } @@ -252341,14 +256486,14 @@ function _Cleanup($p) { HEAP32[$db>>2] = $2; $3 = HEAP32[$db>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 44|0); + $5 = ((($4)) + 108|0); $6 = HEAP32[$5>>2]|0; _sqlite3DbFree($3,$6); $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 44|0); + $8 = ((($7)) + 108|0); HEAP32[$8>>2] = 0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 20|0); + $10 = ((($9)) + 104|0); HEAP32[$10>>2] = 0; STACKTOP = sp;return; } @@ -252409,7 +256554,7 @@ function _btreeEndTransaction($p) { $12 = ($11|0)>(0); if ($12) { $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 156|0); + $14 = ((($13)) + 160|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)>(1); if ($16) { @@ -252629,7 +256774,7 @@ function _autoVacuumCommit($pBt) { $15 = ($13|0)==($14|0); if (!($15)) { $16 = HEAP32[$nOrig>>2]|0; - $17 = HEAP32[1524>>2]|0; + $17 = HEAP32[1536>>2]|0; $18 = HEAP32[$1>>2]|0; $19 = ((($18)) + 32|0); $20 = HEAP32[$19>>2]|0; @@ -252654,7 +256799,7 @@ function _autoVacuumCommit($pBt) { $37 = HEAP32[$nOrig>>2]|0; $38 = ($36>>>0)>($37>>>0); if ($38) { - $39 = (_sqlite3CorruptError(61391)|0); + $39 = (_sqlite3CorruptError(61919)|0); HEAP32[$0>>2] = $39; $98 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($98|0); @@ -252744,7 +256889,7 @@ function _autoVacuumCommit($pBt) { break; } } - $24 = (_sqlite3CorruptError(61386)|0); + $24 = (_sqlite3CorruptError(61914)|0); HEAP32[$0>>2] = $24; $98 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($98|0); @@ -252985,7 +257130,7 @@ function _writeMasterJournal($pPager,$zMaster) { $62 = (($59) + 4)|0; $63 = $62; $64 = HEAP32[$63>>2]|0; - $65 = HEAP32[1524>>2]|0; + $65 = HEAP32[1536>>2]|0; $66 = HEAP32[$1>>2]|0; $67 = ((($66)) + 160|0); $68 = HEAP32[$67>>2]|0; @@ -253074,7 +257219,7 @@ function _writeMasterJournal($pPager,$zMaster) { $143 = tempRet0; $144 = (_i64Add(($142|0),($143|0),8,0)|0); $145 = tempRet0; - $146 = (_sqlite3OsWrite($130,26517,8,$144,$145)|0); + $146 = (_sqlite3OsWrite($130,25901,8,$144,$145)|0); HEAP32[$rc>>2] = $146; $147 = (0)!=($146|0); if (!($147)) { @@ -253311,7 +257456,7 @@ function _pagerWriteLargeSector($pPg) { if ((label|0) == 10) { label = 0; $71 = HEAP32[$pg>>2]|0; - $72 = HEAP32[1524>>2]|0; + $72 = HEAP32[1536>>2]|0; $73 = HEAP32[$pPager>>2]|0; $74 = ((($73)) + 160|0); $75 = HEAP32[$74>>2]|0; @@ -253565,7 +257710,7 @@ function _pager_open_journal($pPager) { $92 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($92|0); } - $11 = (_pagerUseWal($8)|0); + $11 = (_sqlite3PagerUseWal($8)|0); $12 = ($11|0)!=(0); if (!($12)) { $13 = HEAP32[$1>>2]|0; @@ -254316,7 +258461,7 @@ function _lockBtree($pBt) { HEAP32[$page1>>2] = $37; HEAP32[$rc>>2] = 26; $38 = HEAP32[$page1>>2]|0; - $39 = (_memcmp($38,42920,16)|0); + $39 = (_memcmp($38,41796,16)|0); $40 = ($39|0)!=(0); L16: do { if (!($40)) { @@ -254380,7 +258525,7 @@ function _lockBtree($pBt) { } while(0); $76 = HEAP32[$page1>>2]|0; $77 = ((($76)) + 21|0); - $78 = (_memcmp($77,45153,3)|0); + $78 = (_memcmp($77,44049,3)|0); $79 = ($78|0)!=(0); if (!($79)) { $80 = HEAP32[$page1>>2]|0; @@ -254458,7 +258603,7 @@ function _lockBtree($pBt) { $136 = HEAP32[$nPageFile>>2]|0; $137 = ($135|0)>($136|0); if ($137) { - $138 = (_sqlite3CorruptError(60663)|0); + $138 = (_sqlite3CorruptError(61191)|0); HEAP32[$rc>>2] = $138; break; } @@ -254624,7 +258769,7 @@ function _sqlite3PagerBegin($pPager,$exFlag,$subjInMemory) { $19 = ($18|0)==(1); if ($19) { $20 = HEAP32[$1>>2]|0; - $21 = (_pagerUseWal($20)|0); + $21 = (_sqlite3PagerUseWal($20)|0); $22 = ($21|0)!=(0); $23 = HEAP32[$1>>2]|0; if ($22) { @@ -254780,12 +258925,12 @@ function _sqlite3ErrorFinish($db,$err_code) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $err_code; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 240|0); + $3 = ((($2)) + 244|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); if ($5) { $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 240|0); + $7 = ((($6)) + 244|0); $8 = HEAP32[$7>>2]|0; _sqlite3ValueSetNull($8); } @@ -254899,12 +259044,12 @@ function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { HEAP32[$syncDir>>2] = $27; $29 = HEAP32[$2>>2]|0; HEAP32[$zName>>2] = $29; - $30 = HEAP32[7704>>2]|0; + $30 = HEAP32[6872>>2]|0; $31 = (_getpid()|0); $32 = ($30|0)!=($31|0); if ($32) { $33 = (_getpid()|0); - HEAP32[7704>>2] = $33; + HEAP32[6872>>2] = $33; _sqlite3_randomness(0,0); } $34 = HEAP32[$p>>2]|0; @@ -255041,9 +259186,9 @@ function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { $104 = HEAP32[$fd>>2]|0; $105 = ($104|0)<(0); if ($105) { - $106 = (_sqlite3CantopenError(34876)|0); + $106 = (_sqlite3CantopenError(35186)|0); $107 = HEAP32[$zName>>2]|0; - $108 = (_unixLogErrorAtLine($106,45232,$107,34876)|0); + $108 = (_unixLogErrorAtLine($106,44128,$107,35186)|0); HEAP32[$rc>>2] = $108; break; } @@ -255091,7 +259236,7 @@ function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { $132 = HEAP32[$isDelete>>2]|0; $133 = ($132|0)!=(0); if ($133) { - $134 = HEAP32[(7464)>>2]|0; + $134 = HEAP32[(6632)>>2]|0; $135 = HEAP32[$zName>>2]|0; (FUNCTION_TABLE_ii[$134 & 255]($135)|0); } @@ -255174,7 +259319,7 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { HEAP32[$2>>2] = $zPath; HEAP32[$3>>2] = $dirSync; HEAP32[$rc>>2] = 0; - $4 = HEAP32[(7464)>>2]|0; + $4 = HEAP32[(6632)>>2]|0; $5 = HEAP32[$2>>2]|0; $6 = (FUNCTION_TABLE_ii[$4 & 255]($5)|0); $7 = ($6|0)==(-1); @@ -255186,7 +259331,7 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { HEAP32[$rc>>2] = 5898; } else { $11 = HEAP32[$2>>2]|0; - $12 = (_unixLogErrorAtLine(2570,45329,$11,35002)|0); + $12 = (_unixLogErrorAtLine(2570,44225,$11,35312)|0); HEAP32[$rc>>2] = $12; } $13 = HEAP32[$rc>>2]|0; @@ -255199,7 +259344,7 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { $16 = ($15|0)!=(0); do { if ($16) { - $17 = HEAP32[(7476)>>2]|0; + $17 = HEAP32[(6644)>>2]|0; $18 = HEAP32[$2>>2]|0; $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,$fd)|0); HEAP32[$rc>>2] = $19; @@ -255214,11 +259359,11 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { $24 = ($23|0)!=(0); if ($24) { $25 = HEAP32[$2>>2]|0; - $26 = (_unixLogErrorAtLine(1290,45563,$25,35012)|0); + $26 = (_unixLogErrorAtLine(1290,44459,$25,35322)|0); HEAP32[$rc>>2] = $26; } $27 = HEAP32[$fd>>2]|0; - _robust_close(0,$27,35014); + _robust_close(0,$27,35324); } } while(0); $28 = HEAP32[$rc>>2]|0; @@ -255247,7 +259392,7 @@ function _unixAccess($NotUsed,$zPath,$flags,$pResOut) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0); if ($5) { - $6 = HEAP32[(7320)>>2]|0; + $6 = HEAP32[(6488)>>2]|0; $7 = HEAP32[$1>>2]|0; $8 = (FUNCTION_TABLE_iii[$6 & 255]($7,$buf)|0); $9 = (0)==($8|0); @@ -255260,7 +259405,7 @@ function _unixAccess($NotUsed,$zPath,$flags,$pResOut) { HEAP32[$15>>2] = $14; STACKTOP = sp;return 0; } else { - $16 = HEAP32[(7296)>>2]|0; + $16 = HEAP32[(6464)>>2]|0; $17 = HEAP32[$1>>2]|0; $18 = (FUNCTION_TABLE_iii[$16 & 255]($17,6)|0); $19 = ($18|0)==(0); @@ -255307,7 +259452,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { HEAP32[$zDel>>2] = 0; while(1) { HEAP32[$bLink>>2] = 0; - $5 = HEAP32[(7596)>>2]|0; + $5 = HEAP32[(6764)>>2]|0; $6 = HEAP32[$zIn>>2]|0; $7 = (FUNCTION_TABLE_iii[$5 & 255]($6,$buf)|0); $8 = ($7|0)!=(0); @@ -255316,9 +259461,9 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(2); if ($11) { - $12 = (_sqlite3CantopenError(35126)|0); + $12 = (_sqlite3CantopenError(35436)|0); $13 = HEAP32[$zIn>>2]|0; - $14 = (_unixLogErrorAtLine($12,45417,$13,35126)|0); + $14 = (_unixLogErrorAtLine($12,44313,$13,35436)|0); HEAP32[$rc>>2] = $14; } } else { @@ -255349,7 +259494,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { HEAP32[$nLink>>2] = $29; $30 = ($29|0)>(100); if ($30) { - $31 = (_sqlite3CantopenError(35137)|0); + $31 = (_sqlite3CantopenError(35447)|0); HEAP32[$rc>>2] = $31; } } @@ -255357,7 +259502,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $33 = ($32|0)==(0); do { if ($33) { - $34 = HEAP32[(7584)>>2]|0; + $34 = HEAP32[(6752)>>2]|0; $35 = HEAP32[$zIn>>2]|0; $36 = HEAP32[$zDel>>2]|0; $37 = HEAP32[$2>>2]|0; @@ -255367,9 +259512,9 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $40 = HEAP32[$nByte>>2]|0; $41 = ($40|0)<(0); if ($41) { - $42 = (_sqlite3CantopenError(35143)|0); + $42 = (_sqlite3CantopenError(35453)|0); $43 = HEAP32[$zIn>>2]|0; - $44 = (_unixLogErrorAtLine($42,45408,$43,35143)|0); + $44 = (_unixLogErrorAtLine($42,44304,$43,35453)|0); HEAP32[$rc>>2] = $44; break; } @@ -255409,7 +259554,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $66 = HEAP32[$2>>2]|0; $67 = ($65|0)>($66|0); if ($67) { - $68 = (_sqlite3CantopenError(35149)|0); + $68 = (_sqlite3CantopenError(35459)|0); HEAP32[$rc>>2] = $68; break; } else { @@ -255499,8 +259644,8 @@ function _unixRandomness($NotUsed,$nBuf,$zBuf) { $4 = HEAP32[$1>>2]|0; _memset(($3|0),0,($4|0))|0; $5 = (_getpid()|0); - HEAP32[7704>>2] = $5; - $6 = (_robust_open(45550,0,0)|0); + HEAP32[6872>>2] = $5; + $6 = (_robust_open(44446,0,0)|0); HEAP32[$fd>>2] = $6; $7 = HEAP32[$fd>>2]|0; $8 = ($7|0)<(0); @@ -255510,13 +259655,13 @@ function _unixRandomness($NotUsed,$nBuf,$zBuf) { ;HEAP8[$9>>0]=HEAP8[$t>>0]|0;HEAP8[$9+1>>0]=HEAP8[$t+1>>0]|0;HEAP8[$9+2>>0]=HEAP8[$t+2>>0]|0;HEAP8[$9+3>>0]=HEAP8[$t+3>>0]|0; $10 = HEAP32[$2>>2]|0; $11 = ((($10)) + 4|0); - ;HEAP8[$11>>0]=HEAP8[7704>>0]|0;HEAP8[$11+1>>0]=HEAP8[7704+1>>0]|0;HEAP8[$11+2>>0]=HEAP8[7704+2>>0]|0;HEAP8[$11+3>>0]=HEAP8[7704+3>>0]|0; + ;HEAP8[$11>>0]=HEAP8[6872>>0]|0;HEAP8[$11+1>>0]=HEAP8[6872+1>>0]|0;HEAP8[$11+2>>0]=HEAP8[6872+2>>0]|0;HEAP8[$11+3>>0]=HEAP8[6872+3>>0]|0; HEAP32[$1>>2] = 8; $23 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($23|0); } while(1) { - $12 = HEAP32[(7368)>>2]|0; + $12 = HEAP32[(6536)>>2]|0; $13 = HEAP32[$fd>>2]|0; $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$1>>2]|0; @@ -255535,7 +259680,7 @@ function _unixRandomness($NotUsed,$nBuf,$zBuf) { } } $22 = HEAP32[$fd>>2]|0; - _robust_close(0,$22,35273); + _robust_close(0,$22,35583); $23 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($23|0); } @@ -255680,17 +259825,17 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { break; } $7 = HEAP32[$i>>2]|0; - $8 = (7268 + (($7*12)|0)|0); + $8 = (6436 + (($7*12)|0)|0); $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$i>>2]|0; - $13 = (7268 + (($12*12)|0)|0); + $13 = (6436 + (($12*12)|0)|0); $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$i>>2]|0; - $17 = (7268 + (($16*12)|0)|0); + $17 = (6436 + (($16*12)|0)|0); $18 = ((($17)) + 4|0); HEAP32[$18>>2] = $15; } @@ -255711,7 +259856,7 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { } $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$i>>2]|0; - $25 = (7268 + (($24*12)|0)|0); + $25 = (6436 + (($24*12)|0)|0); $26 = HEAP32[$25>>2]|0; $27 = (_strcmp($23,$26)|0); $28 = ($27|0)==(0); @@ -255726,17 +259871,17 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { $52 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($52|0); } - $30 = (7268 + (($29*12)|0)|0); + $30 = (6436 + (($29*12)|0)|0); $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = ($32|0)==(0|0); if ($33) { $34 = HEAP32[$i>>2]|0; - $35 = (7268 + (($34*12)|0)|0); + $35 = (6436 + (($34*12)|0)|0); $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$i>>2]|0; - $39 = (7268 + (($38*12)|0)|0); + $39 = (6436 + (($38*12)|0)|0); $40 = ((($39)) + 8|0); HEAP32[$40>>2] = $37; } @@ -255745,14 +259890,14 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { $42 = ($41|0)==(0|0); if ($42) { $43 = HEAP32[$i>>2]|0; - $44 = (7268 + (($43*12)|0)|0); + $44 = (6436 + (($43*12)|0)|0); $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; HEAP32[$2>>2] = $46; } $47 = HEAP32[$2>>2]|0; $48 = HEAP32[$i>>2]|0; - $49 = (7268 + (($48*12)|0)|0); + $49 = (6436 + (($48*12)|0)|0); $50 = ((($49)) + 4|0); HEAP32[$50>>2] = $47; $52 = HEAP32[$rc>>2]|0; @@ -255780,7 +259925,7 @@ function _unixGetSystemCall($pNotUsed,$zName) { } $5 = HEAP32[$2>>2]|0; $6 = HEAP32[$i>>2]|0; - $7 = (7268 + (($6*12)|0)|0); + $7 = (6436 + (($6*12)|0)|0); $8 = HEAP32[$7>>2]|0; $9 = (_strcmp($5,$8)|0); $10 = ($9|0)==(0); @@ -255793,7 +259938,7 @@ function _unixGetSystemCall($pNotUsed,$zName) { HEAP32[$i>>2] = $15; } if ((label|0) == 4) { - $12 = (7268 + (($11*12)|0)|0); + $12 = (6436 + (($11*12)|0)|0); $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; HEAP32[$0>>2] = $14; @@ -255834,7 +259979,7 @@ function _unixNextSystemCall($p,$zName) { } $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$i>>2]|0; - $9 = (7268 + (($8*12)|0)|0); + $9 = (6436 + (($8*12)|0)|0); $10 = HEAP32[$9>>2]|0; $11 = (_strcmp($7,$10)|0); $12 = ($11|0)==(0); @@ -255858,7 +260003,7 @@ function _unixNextSystemCall($p,$zName) { break; } $19 = HEAP32[$i>>2]|0; - $20 = (7268 + (($19*12)|0)|0); + $20 = (6436 + (($19*12)|0)|0); $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); @@ -255871,7 +260016,7 @@ function _unixNextSystemCall($p,$zName) { HEAP32[$i>>2] = $27; } if ((label|0) == 9) { - $25 = (7268 + (($24*12)|0)|0); + $25 = (6436 + (($24*12)|0)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$0>>2] = $26; $28 = HEAP32[$0>>2]|0; @@ -255894,7 +260039,7 @@ function _dotlockIoFinderImpl($z,$p) { $1 = sp; HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $p; - STACKTOP = sp;return (7192|0); + STACKTOP = sp;return (6360|0); } function _dotlockClose($id) { $id = $id|0; @@ -256175,7 +260320,7 @@ function _unixTruncate($id,$0,$1) { $62 = HEAP32[$pFile>>2]|0; $63 = ((($62)) + 32|0); $64 = HEAP32[$63>>2]|0; - $65 = (_unixLogErrorAtLine(1546,45255,$64,32711)|0); + $65 = (_unixLogErrorAtLine(1546,44151,$64,32998)|0); HEAP32[$2>>2] = $65; $66 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($66|0); @@ -256231,7 +260376,7 @@ function _unixSync($id,$flags) { $21 = HEAP32[$pFile>>2]|0; $22 = ((($21)) + 32|0); $23 = HEAP32[$22>>2]|0; - $24 = (_unixLogErrorAtLine(1034,45539,$23,32666)|0); + $24 = (_unixLogErrorAtLine(1034,44435,$23,32953)|0); HEAP32[$0>>2] = $24; $47 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($47|0); @@ -256242,7 +260387,7 @@ function _unixSync($id,$flags) { $28 = $27 & 8; $29 = ($28|0)!=(0); if ($29) { - $30 = HEAP32[(7476)>>2]|0; + $30 = HEAP32[(6644)>>2]|0; $31 = HEAP32[$pFile>>2]|0; $32 = ((($31)) + 32|0); $33 = HEAP32[$32>>2]|0; @@ -256255,7 +260400,7 @@ function _unixSync($id,$flags) { (_full_fsync($37,0,0)|0); $38 = HEAP32[$pFile>>2]|0; $39 = HEAP32[$dirfd>>2]|0; - _robust_close($38,$39,32680); + _robust_close($38,$39,32967); } else { HEAP32[$rc>>2] = 0; } @@ -256287,7 +260432,7 @@ function _unixFileSize($id,$pSize) { $buf = sp; HEAP32[$1>>2] = $id; HEAP32[$2>>2] = $pSize; - $3 = HEAP32[(7332)>>2]|0; + $3 = HEAP32[(6500)>>2]|0; $4 = HEAP32[$1>>2]|0; $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; @@ -256379,7 +260524,7 @@ function _dotlockLock($id,$eFileLock) { $38 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($38|0); } - $17 = HEAP32[(7488)>>2]|0; + $17 = HEAP32[(6656)>>2]|0; $18 = HEAP32[$zLockFile>>2]|0; $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,511)|0); HEAP32[$rc>>2] = $19; @@ -256463,7 +260608,7 @@ function _dotlockUnlock($id,$eFileLock) { $31 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($31|0); } - $17 = HEAP32[(7500)>>2]|0; + $17 = HEAP32[(6668)>>2]|0; $18 = HEAP32[$zLockFile>>2]|0; $19 = (FUNCTION_TABLE_ii[$17 & 255]($18)|0); HEAP32[$rc>>2] = $19; @@ -256512,7 +260657,7 @@ function _dotlockCheckReservedLock($id,$pResOut) { HEAP32[$reserved>>2] = 0; $2 = HEAP32[$0>>2]|0; HEAP32[$pFile>>2] = $2; - $3 = HEAP32[(7296)>>2]|0; + $3 = HEAP32[(6464)>>2]|0; $4 = HEAP32[$pFile>>2]|0; $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; @@ -256616,7 +260761,7 @@ function _unixFileControl($id,$op,$pArg) { $36 = ((($35)) + 16|0); $37 = HEAP32[$36>>2]|0; HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3_mprintf(19007,$vararg_buffer)|0); + $38 = (_sqlite3_mprintf(18391,$vararg_buffer)|0); $39 = HEAP32[$3>>2]|0; HEAP32[$39>>2] = $38; HEAP32[$0>>2] = 0; @@ -257079,7 +261224,7 @@ function _unixShmUnmap($fd,$deleteFlag) { $39 = HEAP32[$38>>2]|0; $40 = ($39|0)>=(0); if ($40) { - $41 = HEAP32[(7464)>>2]|0; + $41 = HEAP32[(6632)>>2]|0; $42 = HEAP32[$pShmNode>>2]|0; $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; @@ -257195,7 +261340,7 @@ function _unixShmPurge($pFd) { $21 = HEAP32[$20>>2]|0; $22 = ($21|0)>=(0); if ($22) { - $23 = HEAP32[(7548)>>2]|0; + $23 = HEAP32[(6716)>>2]|0; $24 = HEAP32[$i>>2]|0; $25 = HEAP32[$p>>2]|0; $26 = ((($25)) + 24|0); @@ -257232,7 +261377,7 @@ function _unixShmPurge($pFd) { $49 = HEAP32[$p>>2]|0; $50 = ((($49)) + 12|0); $51 = HEAP32[$50>>2]|0; - _robust_close($48,$51,33287); + _robust_close($48,$51,33574); $52 = HEAP32[$p>>2]|0; $53 = ((($52)) + 12|0); HEAP32[$53>>2] = -1; @@ -257258,7 +261403,7 @@ function _unixShmRegionPerMap() { $shmsz = sp + 4|0; $pgsz = sp; HEAP32[$shmsz>>2] = 32768; - $1 = HEAP32[(7572)>>2]|0; + $1 = HEAP32[(6740)>>2]|0; $2 = (FUNCTION_TABLE_i[$1 & 255]()|0); HEAP32[$pgsz>>2] = $2; $3 = HEAP32[$pgsz>>2]|0; @@ -257291,7 +261436,7 @@ function _robust_close($pFile,$h,$lineno) { HEAP32[$0>>2] = $pFile; HEAP32[$1>>2] = $h; HEAP32[$2>>2] = $lineno; - $3 = HEAP32[(7284)>>2]|0; + $3 = HEAP32[(6452)>>2]|0; $4 = HEAP32[$1>>2]|0; $5 = (FUNCTION_TABLE_ii[$3 & 255]($4)|0); $6 = ($5|0)!=(0); @@ -257309,7 +261454,7 @@ function _robust_close($pFile,$h,$lineno) { $13 = 0; } $12 = HEAP32[$2>>2]|0; - (_unixLogErrorAtLine(4106,45195,$13,$12)|0); + (_unixLogErrorAtLine(4106,44091,$13,$12)|0); STACKTOP = sp;return; } function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { @@ -257341,7 +261486,7 @@ function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { $8 = HEAP32[$2>>2]|0; $9 = ($8|0)==(0|0); if ($9) { - HEAP32[$2>>2] = 19018; + HEAP32[$2>>2] = 18402; } $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$3>>2]|0; @@ -257358,7 +261503,7 @@ function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { HEAP32[$vararg_ptr3>>2] = $14; $vararg_ptr4 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr4>>2] = $15; - _sqlite3_log($10,45201,$vararg_buffer); + _sqlite3_log($10,44097,$vararg_buffer); $16 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($16|0); } @@ -257402,7 +261547,7 @@ function _openDirectory($zFilename,$pFd) { HEAP32[$fd>>2] = -1; $3 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - (_sqlite3_snprintf(512,$zDirname,19007,$vararg_buffer)|0); + (_sqlite3_snprintf(512,$zDirname,18391,$vararg_buffer)|0); $4 = (_strlen($zDirname)|0); HEAP32[$ii>>2] = $4; while(1) { @@ -257451,8 +261596,8 @@ function _openDirectory($zFilename,$pFd) { $29 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($29|0); } else { - $27 = (_sqlite3CantopenError(32625)|0); - $28 = (_unixLogErrorAtLine($27,45336,$zDirname,32625)|0); + $27 = (_sqlite3CantopenError(32912)|0); + $28 = (_unixLogErrorAtLine($27,44232,$zDirname,32912)|0); HEAP32[$0>>2] = $28; $29 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($29|0); @@ -257490,7 +261635,7 @@ function _robust_open($z,$f,$m) { $6 = $4 ? $5 : 420; HEAP32[$m2>>2] = $6; while(1) { - $7 = HEAP32[(7272)>>2]|0; + $7 = HEAP32[(6440)>>2]|0; $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$1>>2]|0; $10 = $9 | 524288; @@ -257514,7 +261659,7 @@ function _robust_open($z,$f,$m) { if ($19) { break; } - $20 = HEAP32[(7284)>>2]|0; + $20 = HEAP32[(6452)>>2]|0; $21 = HEAP32[$fd>>2]|0; (FUNCTION_TABLE_ii[$20 & 255]($21)|0); $22 = HEAP32[$0>>2]|0; @@ -257522,12 +261667,12 @@ function _robust_open($z,$f,$m) { HEAP32[$vararg_buffer>>2] = $22; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $23; - _sqlite3_log(28,45423,$vararg_buffer); + _sqlite3_log(28,44319,$vararg_buffer); HEAP32[$fd>>2] = -1; - $24 = HEAP32[(7272)>>2]|0; + $24 = HEAP32[(6440)>>2]|0; $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$2>>2]|0; - $27 = (FUNCTION_TABLE_iiii[$24 & 255](45466,$25,$26)|0); + $27 = (FUNCTION_TABLE_iiii[$24 & 255](44362,$25,$26)|0); $28 = ($27|0)<(0); if ($28) { break; @@ -257542,7 +261687,7 @@ function _robust_open($z,$f,$m) { $48 = HEAP32[$fd>>2]|0; STACKTOP = sp;return ($48|0); } - $33 = HEAP32[(7332)>>2]|0; + $33 = HEAP32[(6500)>>2]|0; $34 = HEAP32[$fd>>2]|0; $35 = (FUNCTION_TABLE_iii[$33 & 255]($34,$statbuf)|0); $36 = ($35|0)==(0); @@ -257566,7 +261711,7 @@ function _robust_open($z,$f,$m) { $48 = HEAP32[$fd>>2]|0; STACKTOP = sp;return ($48|0); } - $45 = HEAP32[(7440)>>2]|0; + $45 = HEAP32[(6608)>>2]|0; $46 = HEAP32[$fd>>2]|0; $47 = HEAP32[$2>>2]|0; (FUNCTION_TABLE_iii[$45 & 255]($46,$47)|0); @@ -257621,7 +261766,7 @@ function _unixShmSystemLock($pFile,$lockType,$ofst,$n) { $18 = HEAP32[$3>>2]|0; $19 = ((($f)) + 8|0); HEAP32[$19>>2] = $18; - $20 = HEAP32[(7356)>>2]|0; + $20 = HEAP32[(6524)>>2]|0; $21 = HEAP32[$pShmNode>>2]|0; $22 = ((($21)) + 12|0); $23 = HEAP32[$22>>2]|0; @@ -257671,7 +261816,7 @@ function _fcntlSizeHint($pFile,$0,$1) { $12 = ($11|0)>(0); L1: do { if ($12) { - $13 = HEAP32[(7332)>>2]|0; + $13 = HEAP32[(6500)>>2]|0; $14 = HEAP32[$3>>2]|0; $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; @@ -257822,7 +261967,7 @@ function _fcntlSizeHint($pFile,$0,$1) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = (_seekAndWrite($137,$140,$143,19018,1)|0); + $144 = (_seekAndWrite($137,$140,$143,18402,1)|0); HEAP32[$nWrite>>2] = $144; $145 = HEAP32[$nWrite>>2]|0; $146 = ($145|0)!=(1); @@ -257969,7 +262114,7 @@ function _unixGetTempname($nBuf,$zBuf) { HEAP32[$23>>2] = $19; $vararg_ptr2 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr2>>2] = 0; - (_sqlite3_snprintf($11,$12,45476,$vararg_buffer)|0); + (_sqlite3_snprintf($11,$12,44372,$vararg_buffer)|0); $24 = HEAP32[$1>>2]|0; $25 = (($24) - 2)|0; $26 = HEAP32[$2>>2]|0; @@ -257989,7 +262134,7 @@ function _unixGetTempname($nBuf,$zBuf) { label = 5; break; } - $34 = HEAP32[(7296)>>2]|0; + $34 = HEAP32[(6464)>>2]|0; $35 = HEAP32[$2>>2]|0; $36 = (FUNCTION_TABLE_iii[$34 & 255]($35,0)|0); $37 = ($36|0)==(0); @@ -258028,7 +262173,7 @@ function _fileHasMoved($pFile) { $19 = $20&1; STACKTOP = sp;return ($19|0); } - $5 = HEAP32[(7320)>>2]|0; + $5 = HEAP32[(6488)>>2]|0; $6 = HEAP32[$0>>2]|0; $7 = ((($6)) + 32|0); $8 = HEAP32[$7>>2]|0; @@ -258061,25 +262206,25 @@ function _unixTempFileDir() { $buf = sp + 4|0; $zDir = sp; HEAP32[$i>>2] = 0; - $1 = HEAP32[964>>2]|0; + $1 = HEAP32[972>>2]|0; HEAP32[$zDir>>2] = $1; - $2 = HEAP32[7604>>2]|0; + $2 = HEAP32[6772>>2]|0; $3 = ($2|0)!=(0|0); if (!($3)) { - $4 = (_getenv((45493|0))|0); - HEAP32[7604>>2] = $4; + $4 = (_getenv((44389|0))|0); + HEAP32[6772>>2] = $4; } - $5 = HEAP32[(7608)>>2]|0; + $5 = HEAP32[(6776)>>2]|0; $6 = ($5|0)!=(0|0); if (!($6)) { - $7 = (_getenv((45507|0))|0); - HEAP32[(7608)>>2] = $7; + $7 = (_getenv((44403|0))|0); + HEAP32[(6776)>>2] = $7; } while(1) { $8 = HEAP32[$zDir>>2]|0; $9 = ($8|0)!=(0|0); if ($9) { - $10 = HEAP32[(7320)>>2]|0; + $10 = HEAP32[(6488)>>2]|0; $11 = HEAP32[$zDir>>2]|0; $12 = (FUNCTION_TABLE_iii[$10 & 255]($11,$buf)|0); $13 = ($12|0)==(0); @@ -258089,7 +262234,7 @@ function _unixTempFileDir() { $16 = $15 & 61440; $17 = ($16|0)==(16384); if ($17) { - $18 = HEAP32[(7296)>>2]|0; + $18 = HEAP32[(6464)>>2]|0; $19 = HEAP32[$zDir>>2]|0; $20 = (FUNCTION_TABLE_iii[$18 & 255]($19,3)|0); $21 = ($20|0)==(0); @@ -258109,7 +262254,7 @@ function _unixTempFileDir() { $25 = HEAP32[$i>>2]|0; $26 = (($25) + 1)|0; HEAP32[$i>>2] = $26; - $27 = (7604 + ($25<<2)|0); + $27 = (6772 + ($25<<2)|0); $28 = HEAP32[$27>>2]|0; HEAP32[$zDir>>2] = $28; } @@ -258226,7 +262371,7 @@ function _seekAndWriteFd($fd,$0,$1,$pBuf,$nBuf,$piErrno) { label = 3; break; } - $34 = HEAP32[(7404)>>2]|0; + $34 = HEAP32[(6572)>>2]|0; $35 = HEAP32[$2>>2]|0; $36 = HEAP32[$4>>2]|0; $37 = HEAP32[$5>>2]|0; @@ -258344,7 +262489,7 @@ function _robust_ftruncate($h,$0,$1) { $7 = $6; HEAP32[$7>>2] = $1; while(1) { - $8 = HEAP32[(7344)>>2]|0; + $8 = HEAP32[(6512)>>2]|0; $9 = HEAP32[$2>>2]|0; $10 = $3; $11 = $10; @@ -258435,7 +262580,7 @@ function _seekAndRead($id,$0,$1,$pBuf,$cnt) { label = 3; break; } - $37 = HEAP32[(7368)>>2]|0; + $37 = HEAP32[(6536)>>2]|0; $38 = HEAP32[$3>>2]|0; $39 = ((($38)) + 12|0); $40 = HEAP32[$39>>2]|0; @@ -258544,7 +262689,7 @@ function _closeUnixFile($id) { $7 = HEAP32[$pFile>>2]|0; $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; - _robust_close($6,$9,31034); + _robust_close($6,$9,31321); $10 = HEAP32[$pFile>>2]|0; $11 = ((($10)) + 12|0); HEAP32[$11>>2] = -1; @@ -258567,7 +262712,7 @@ function _nolockIoFinderImpl($z,$p) { $1 = sp; HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $p; - STACKTOP = sp;return (7628|0); + STACKTOP = sp;return (6796|0); } function _nolockClose($id) { $id = $id|0; @@ -258647,7 +262792,7 @@ function _mkFullPathname($zPath,$zOut,$nOut) { $9 = ($8|0)!=(47); do { if ($9) { - $10 = HEAP32[(7308)>>2]|0; + $10 = HEAP32[(6476)>>2]|0; $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$3>>2]|0; $13 = (($12) - 2)|0; @@ -258665,9 +262810,9 @@ function _mkFullPathname($zPath,$zOut,$nOut) { HEAP8[$24>>0] = 47; break; } - $16 = (_sqlite3CantopenError(35069)|0); + $16 = (_sqlite3CantopenError(35379)|0); $17 = HEAP32[$1>>2]|0; - $18 = (_unixLogErrorAtLine($16,45237,$17,35069)|0); + $18 = (_unixLogErrorAtLine($16,44133,$17,35379)|0); HEAP32[$0>>2] = $18; $42 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($42|0); @@ -258684,7 +262829,7 @@ function _mkFullPathname($zPath,$zOut,$nOut) { $32 = HEAP32[$2>>2]|0; $33 = (($32) + ($31)|0); HEAP8[$33>>0] = 0; - $34 = (_sqlite3CantopenError(35078)|0); + $34 = (_sqlite3CantopenError(35388)|0); HEAP32[$0>>2] = $34; $42 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($42|0); @@ -258697,7 +262842,7 @@ function _mkFullPathname($zPath,$zOut,$nOut) { $40 = (($39) + ($38)|0); $41 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $41; - (_sqlite3_snprintf($37,$40,19007,$vararg_buffer)|0); + (_sqlite3_snprintf($37,$40,18391,$vararg_buffer)|0); HEAP32[$0>>2] = 0; $42 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($42|0); @@ -258721,7 +262866,7 @@ function _findReusableFd($zPath,$flags) { HEAP32[$0>>2] = $zPath; HEAP32[$1>>2] = $flags; HEAP32[$pUnused>>2] = 0; - $2 = HEAP32[(7320)>>2]|0; + $2 = HEAP32[(6488)>>2]|0; $3 = HEAP32[$0>>2]|0; $4 = (FUNCTION_TABLE_iii[$2 & 255]($3,$sStat)|0); $5 = (0)==($4|0); @@ -258730,7 +262875,7 @@ function _findReusableFd($zPath,$flags) { STACKTOP = sp;return ($45|0); } _unixEnterMutex(); - $6 = HEAP32[7784>>2]|0; + $6 = HEAP32[6952>>2]|0; HEAP32[$pInode>>2] = $6; while(1) { $7 = HEAP32[$pInode>>2]|0; @@ -258812,19 +262957,19 @@ function _findCreateFileMode($zPath,$flags,$pMode,$pUid,$pGid) { $pUid = $pUid|0; $pGid = $pGid|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nDb = 0, $rc = 0, $sStat = 0, $zDb = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nDb = 0, $rc = 0, $z = 0, $zDb = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $0 = sp + 100|0; - $1 = sp + 96|0; - $2 = sp + 92|0; - $3 = sp + 88|0; - $4 = sp + 84|0; - $rc = sp + 80|0; - $zDb = sp + 104|0; - $nDb = sp + 76|0; - $sStat = sp; + STACKTOP = STACKTOP + 560|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $rc = sp + 8|0; + $zDb = sp + 32|0; + $nDb = sp + 4|0; + $z = sp; HEAP32[$0>>2] = $zPath; HEAP32[$1>>2] = $flags; HEAP32[$2>>2] = $pMode; @@ -258840,68 +262985,72 @@ function _findCreateFileMode($zPath,$flags,$pMode,$pUid,$pGid) { $8 = HEAP32[$1>>2]|0; $9 = $8 & 526336; $10 = ($9|0)!=(0); - if (!($10)) { - $39 = HEAP32[$1>>2]|0; - $40 = $39 & 8; - $41 = ($40|0)!=(0); - if (!($41)) { - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); + if ($10) { + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3Strlen30($11)|0); + $13 = (($12) - 1)|0; + HEAP32[$nDb>>2] = $13; + while(1) { + $14 = HEAP32[$nDb>>2]|0; + $15 = HEAP32[$0>>2]|0; + $16 = (($15) + ($14)|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17 << 24 >> 24; + $19 = ($18|0)!=(45); + if (!($19)) { + break; + } + $20 = HEAP32[$nDb>>2]|0; + $21 = (($20) + -1)|0; + HEAP32[$nDb>>2] = $21; } - $42 = HEAP32[$2>>2]|0; - HEAP32[$42>>2] = 384; - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); + $22 = HEAP32[$0>>2]|0; + $23 = HEAP32[$nDb>>2]|0; + _memcpy(($zDb|0),($22|0),($23|0))|0; + $24 = HEAP32[$nDb>>2]|0; + $25 = (($zDb) + ($24)|0); + HEAP8[$25>>0] = 0; + $26 = HEAP32[$2>>2]|0; + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$4>>2]|0; + $29 = (_getFileMode($zDb,$26,$27,$28)|0); + HEAP32[$rc>>2] = $29; + $46 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($46|0); } - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3Strlen30($11)|0); - $13 = (($12) - 1)|0; - HEAP32[$nDb>>2] = $13; - while(1) { - $14 = HEAP32[$nDb>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) + ($14)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 << 24 >> 24; - $19 = ($18|0)!=(45); - if (!($19)) { - break; - } - $20 = HEAP32[$nDb>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$nDb>>2] = $21; + $30 = HEAP32[$1>>2]|0; + $31 = $30 & 8; + $32 = ($31|0)!=(0); + if ($32) { + $33 = HEAP32[$2>>2]|0; + HEAP32[$33>>2] = 384; + $46 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($46|0); } - $22 = HEAP32[$0>>2]|0; - $23 = HEAP32[$nDb>>2]|0; - _memcpy(($zDb|0),($22|0),($23|0))|0; - $24 = HEAP32[$nDb>>2]|0; - $25 = (($zDb) + ($24)|0); - HEAP8[$25>>0] = 0; - $26 = HEAP32[(7320)>>2]|0; - $27 = (FUNCTION_TABLE_iii[$26 & 255]($zDb,$sStat)|0); - $28 = (0)==($27|0); - if ($28) { - $29 = ((($sStat)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = $30 & 511; - $32 = HEAP32[$2>>2]|0; - HEAP32[$32>>2] = $31; - $33 = ((($sStat)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$3>>2]|0; - HEAP32[$35>>2] = $34; - $36 = ((($sStat)) + 24|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$4>>2]|0; - HEAP32[$38>>2] = $37; - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); - } else { - HEAP32[$rc>>2] = 1802; - $43 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($43|0); + $34 = HEAP32[$1>>2]|0; + $35 = $34 & 64; + $36 = ($35|0)!=(0); + if (!($36)) { + $46 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($46|0); } - return (0)|0; + $37 = HEAP32[$0>>2]|0; + $38 = (_sqlite3_uri_parameter($37,44606)|0); + HEAP32[$z>>2] = $38; + $39 = HEAP32[$z>>2]|0; + $40 = ($39|0)!=(0|0); + if (!($40)) { + $46 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($46|0); + } + $41 = HEAP32[$z>>2]|0; + $42 = HEAP32[$2>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = (_getFileMode($41,$42,$43,$44)|0); + HEAP32[$rc>>2] = $45; + $46 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($46|0); } function _robustFchown($fd,$uid,$gid) { $fd = $fd|0; @@ -258916,14 +263065,14 @@ function _robustFchown($fd,$uid,$gid) { HEAP32[$0>>2] = $fd; HEAP32[$1>>2] = $uid; HEAP32[$2>>2] = $gid; - $3 = HEAP32[(7524)>>2]|0; + $3 = HEAP32[(6692)>>2]|0; $4 = (FUNCTION_TABLE_i[$3 & 255]()|0); $5 = ($4|0)!=(0); if ($5) { $11 = 0; STACKTOP = sp;return ($11|0); } - $6 = HEAP32[(7512)>>2]|0; + $6 = HEAP32[(6680)>>2]|0; $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$2>>2]|0; @@ -258986,7 +263135,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $22 = ($21|0)!=(0); $23 = HEAP32[$3>>2]|0; $24 = $22 ? $23 : 0; - $25 = (_sqlite3_uri_boolean($24,45569,1)|0); + $25 = (_sqlite3_uri_boolean($24,44465,1)|0); $26 = ($25|0)!=(0); if ($26) { $27 = HEAP32[$pNew>>2]|0; @@ -259000,7 +263149,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $33 = HEAP32[$0>>2]|0; $34 = ((($33)) + 16|0); $35 = HEAP32[$34>>2]|0; - $36 = (_strcmp($35,45185)|0); + $36 = (_strcmp($35,44081)|0); $37 = ($36|0)==(0); if ($37) { $38 = HEAP32[$pNew>>2]|0; @@ -259015,7 +263164,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $45 = $44 & 128; $46 = ($45|0)!=(0); if ($46) { - HEAP32[$pLockingStyle>>2] = 7628; + HEAP32[$pLockingStyle>>2] = 6796; } else { $47 = HEAP32[$0>>2]|0; $48 = ((($47)) + 20|0); @@ -259027,7 +263176,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { HEAP32[$pLockingStyle>>2] = $53; } $54 = HEAP32[$pLockingStyle>>2]|0; - $55 = ($54|0)==(7708|0); + $55 = ($54|0)==(6876|0); if ($55) { _unixEnterMutex(); $56 = HEAP32[$pNew>>2]|0; @@ -259040,13 +263189,13 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { if ($61) { $62 = HEAP32[$pNew>>2]|0; $63 = HEAP32[$1>>2]|0; - _robust_close($62,$63,34405); + _robust_close($62,$63,34692); HEAP32[$1>>2] = -1; } _unixLeaveMutex(); } else { $64 = HEAP32[$pLockingStyle>>2]|0; - $65 = ($64|0)==(7192|0); + $65 = ($64|0)==(6360|0); if ($65) { $66 = HEAP32[$3>>2]|0; $67 = (_strlen($66)|0); @@ -259066,7 +263215,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $76 = HEAP32[$zLockFile>>2]|0; $77 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $77; - (_sqlite3_snprintf($75,$76,45574,$vararg_buffer)|0); + (_sqlite3_snprintf($75,$76,44470,$vararg_buffer)|0); } $78 = HEAP32[$zLockFile>>2]|0; $79 = HEAP32[$pNew>>2]|0; @@ -259095,7 +263244,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { } $86 = HEAP32[$pNew>>2]|0; $87 = HEAP32[$1>>2]|0; - _robust_close($86,$87,34490); + _robust_close($86,$87,34777); $91 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($91|0); } @@ -259123,7 +263272,7 @@ function _findInodeInfo($pFile,$ppInode) { $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$fd>>2] = $5; - $6 = HEAP32[(7332)>>2]|0; + $6 = HEAP32[(6500)>>2]|0; $7 = HEAP32[$fd>>2]|0; $8 = (FUNCTION_TABLE_iii[$6 & 255]($7,$statbuf)|0); HEAP32[$rc>>2] = $8; @@ -259155,7 +263304,7 @@ function _findInodeInfo($pFile,$ppInode) { $20 = HEAP32[$19>>2]|0; $21 = ((($fileId)) + 4|0); HEAP32[$21>>2] = $20; - $22 = HEAP32[7784>>2]|0; + $22 = HEAP32[6952>>2]|0; HEAP32[$pInode>>2] = $22; while(1) { $23 = HEAP32[$pInode>>2]|0; @@ -259194,23 +263343,23 @@ function _findInodeInfo($pFile,$ppInode) { $37 = HEAP32[$pInode>>2]|0; $38 = ((($37)) + 16|0); HEAP32[$38>>2] = 1; - $39 = HEAP32[7784>>2]|0; + $39 = HEAP32[6952>>2]|0; $40 = HEAP32[$pInode>>2]|0; $41 = ((($40)) + 32|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pInode>>2]|0; $43 = ((($42)) + 36|0); HEAP32[$43>>2] = 0; - $44 = HEAP32[7784>>2]|0; + $44 = HEAP32[6952>>2]|0; $45 = ($44|0)!=(0|0); if ($45) { $46 = HEAP32[$pInode>>2]|0; - $47 = HEAP32[7784>>2]|0; + $47 = HEAP32[6952>>2]|0; $48 = ((($47)) + 36|0); HEAP32[$48>>2] = $46; } $49 = HEAP32[$pInode>>2]|0; - HEAP32[7784>>2] = $49; + HEAP32[6952>>2] = $49; } else { $50 = HEAP32[$pInode>>2]|0; $51 = ((($50)) + 16|0); @@ -259249,7 +263398,7 @@ function _verifyDbFile($pFile) { if ($6) { STACKTOP = sp;return; } - $7 = HEAP32[(7332)>>2]|0; + $7 = HEAP32[(6500)>>2]|0; $8 = HEAP32[$0>>2]|0; $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; @@ -259262,7 +263411,7 @@ function _verifyDbFile($pFile) { $15 = ((($14)) + 32|0); $16 = HEAP32[$15>>2]|0; HEAP32[$vararg_buffer>>2] = $16; - _sqlite3_log(28,45582,$vararg_buffer); + _sqlite3_log(28,44478,$vararg_buffer); STACKTOP = sp;return; } $17 = ((($buf)) + 16|0); @@ -259273,7 +263422,7 @@ function _verifyDbFile($pFile) { $21 = ((($20)) + 32|0); $22 = HEAP32[$21>>2]|0; HEAP32[$vararg_buffer1>>2] = $22; - _sqlite3_log(28,45606,$vararg_buffer1); + _sqlite3_log(28,44502,$vararg_buffer1); STACKTOP = sp;return; } $23 = ((($buf)) + 16|0); @@ -259284,7 +263433,7 @@ function _verifyDbFile($pFile) { $27 = ((($26)) + 32|0); $28 = HEAP32[$27>>2]|0; HEAP32[$vararg_buffer4>>2] = $28; - _sqlite3_log(28,45635,$vararg_buffer4); + _sqlite3_log(28,44531,$vararg_buffer4); STACKTOP = sp;return; } $29 = (_fileHasMoved($26)|0); @@ -259296,7 +263445,7 @@ function _verifyDbFile($pFile) { $32 = ((($31)) + 32|0); $33 = HEAP32[$32>>2]|0; HEAP32[$vararg_buffer7>>2] = $33; - _sqlite3_log(28,45662,$vararg_buffer7); + _sqlite3_log(28,44558,$vararg_buffer7); STACKTOP = sp;return; } function _unixClose($id) { @@ -259477,7 +263626,7 @@ function _unixLock($id,$eFileLock) { $64 = $63 ? 0 : 1; $65 = $64&65535; HEAP16[$lock>>1] = $65; - $66 = HEAP32[1524>>2]|0; + $66 = HEAP32[1536>>2]|0; $67 = ((($lock)) + 4|0); HEAP32[$67>>2] = $66; $68 = HEAP32[$pFile>>2]|0; @@ -259505,7 +263654,7 @@ function _unixLock($id,$eFileLock) { $80 = ($79|0)==(1); do { if ($80) { - $81 = HEAP32[1524>>2]|0; + $81 = HEAP32[1536>>2]|0; $82 = (($81) + 2)|0; $83 = ((($lock)) + 4|0); HEAP32[$83>>2] = $82; @@ -259522,7 +263671,7 @@ function _unixLock($id,$eFileLock) { $91 = (_sqliteErrorFromPosixError($90,3850)|0); HEAP32[$rc>>2] = $91; } - $92 = HEAP32[1524>>2]|0; + $92 = HEAP32[1536>>2]|0; $93 = ((($lock)) + 4|0); HEAP32[$93>>2] = $92; $94 = ((($lock)) + 8|0); @@ -259581,7 +263730,7 @@ function _unixLock($id,$eFileLock) { HEAP16[$lock>>1] = 1; $122 = HEAP32[$2>>2]|0; $123 = ($122|0)==(2); - $124 = HEAP32[1524>>2]|0; + $124 = HEAP32[1536>>2]|0; if ($123) { $125 = (($124) + 1)|0; $126 = ((($lock)) + 4|0); @@ -259707,14 +263856,14 @@ function _unixCheckReservedLock($id,$pResOut) { if (!($17)) { $18 = ((($lock)) + 2|0); HEAP16[$18>>1] = 0; - $19 = HEAP32[1524>>2]|0; + $19 = HEAP32[1536>>2]|0; $20 = (($19) + 1)|0; $21 = ((($lock)) + 4|0); HEAP32[$21>>2] = $20; $22 = ((($lock)) + 8|0); HEAP32[$22>>2] = 1; HEAP16[$lock>>1] = 1; - $23 = HEAP32[(7356)>>2]|0; + $23 = HEAP32[(6524)>>2]|0; $24 = HEAP32[$pFile>>2]|0; $25 = ((($24)) + 12|0); $26 = HEAP32[$25>>2]|0; @@ -259849,7 +263998,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $44 = ($43|0)>=(0); L8: do { if ($44) { - $45 = HEAP32[(7332)>>2]|0; + $45 = HEAP32[(6500)>>2]|0; $46 = HEAP32[$pShmNode>>2]|0; $47 = ((($46)) + 12|0); $48 = HEAP32[$47>>2]|0; @@ -259891,7 +264040,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $70 = (($69) - 1)|0; $71 = ($70|0)<(0); $72 = $71 << 31 >> 31; - $73 = (_seekAndWriteFd($66,$70,$72,19018,1,$x)|0); + $73 = (_seekAndWriteFd($66,$70,$72,18402,1,$x)|0); $74 = ($73|0)!=(1); if ($74) { break; @@ -259905,7 +264054,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $77 = HEAP32[$76>>2]|0; HEAP32[$zFile>>2] = $77; $78 = HEAP32[$zFile>>2]|0; - $79 = (_unixLogErrorAtLine(4874,45290,$78,33552)|0); + $79 = (_unixLogErrorAtLine(4874,44186,$78,33839)|0); HEAP32[$rc>>2] = $79; break L6; } @@ -259947,7 +264096,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $104 = HEAP32[$103>>2]|0; $105 = ($104|0)>=(0); if ($105) { - $106 = HEAP32[(7536)>>2]|0; + $106 = HEAP32[(6704)>>2]|0; $107 = HEAP32[$nMap>>2]|0; $108 = HEAP32[$pShmNode>>2]|0; $109 = ((($108)) + 22|0); @@ -260032,7 +264181,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $129 = HEAP32[$pShmNode>>2]|0; $130 = ((($129)) + 8|0); $131 = HEAP32[$130>>2]|0; - $132 = (_unixLogErrorAtLine(5386,45377,$131,33579)|0); + $132 = (_unixLogErrorAtLine(5386,44273,$131,33866)|0); HEAP32[$rc>>2] = $132; break; } @@ -260131,7 +264280,7 @@ function _unixOpenSharedMemory($pDbFd) { $15 = ((($14)) + 32|0); $16 = HEAP32[$15>>2]|0; HEAP32[$zBasePath>>2] = $16; - $17 = HEAP32[(7332)>>2]|0; + $17 = HEAP32[(6500)>>2]|0; $18 = HEAP32[$1>>2]|0; $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; @@ -260169,7 +264318,7 @@ function _unixOpenSharedMemory($pDbFd) { $39 = HEAP32[$zShmFilename>>2]|0; $40 = HEAP32[$zBasePath>>2]|0; HEAP32[$vararg_buffer>>2] = $40; - (_sqlite3_snprintf($38,$39,45690,$vararg_buffer)|0); + (_sqlite3_snprintf($38,$39,44586,$vararg_buffer)|0); $41 = HEAP32[$pShmNode>>2]|0; $42 = ((($41)) + 12|0); HEAP32[$42>>2] = -1; @@ -260211,7 +264360,7 @@ function _unixOpenSharedMemory($pDbFd) { $65 = HEAP32[$1>>2]|0; $66 = ((($65)) + 32|0); $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3_uri_boolean($67,45697,0)|0); + $68 = (_sqlite3_uri_boolean($67,44593,0)|0); $69 = ($68|0)!=(0); if ($69) { HEAP32[$openFlags>>2] = 0; @@ -260233,9 +264382,9 @@ function _unixOpenSharedMemory($pDbFd) { $82 = HEAP32[$81>>2]|0; $83 = ($82|0)<(0); if ($83) { - $84 = (_sqlite3CantopenError(33404)|0); + $84 = (_sqlite3CantopenError(33691)|0); $85 = HEAP32[$zShmFilename>>2]|0; - $86 = (_unixLogErrorAtLine($84,45232,$85,33404)|0); + $86 = (_unixLogErrorAtLine($84,44128,$85,33691)|0); HEAP32[$rc>>2] = $86; break; } @@ -260259,7 +264408,7 @@ function _unixOpenSharedMemory($pDbFd) { $101 = ($100|0)!=(0); if ($101) { $102 = HEAP32[$zShmFilename>>2]|0; - $103 = (_unixLogErrorAtLine(4618,45255,$102,33420)|0); + $103 = (_unixLogErrorAtLine(4618,44151,$102,33707)|0); HEAP32[$rc>>2] = $103; } } @@ -260369,7 +264518,7 @@ function _posixUnlock($id,$eFileLock,$handleNFSUnlock) { HEAP16[$lock>>1] = 0; $21 = ((($lock)) + 2|0); HEAP16[$21>>1] = 0; - $22 = HEAP32[1524>>2]|0; + $22 = HEAP32[1536>>2]|0; $23 = (($22) + 2)|0; $24 = ((($lock)) + 4|0); HEAP32[$24>>2] = $23; @@ -260390,7 +264539,7 @@ function _posixUnlock($id,$eFileLock,$handleNFSUnlock) { HEAP16[$lock>>1] = 2; $32 = ((($lock)) + 2|0); HEAP16[$32>>1] = 0; - $33 = HEAP32[1524>>2]|0; + $33 = HEAP32[1536>>2]|0; $34 = ((($lock)) + 4|0); HEAP32[$34>>2] = $33; $35 = ((($lock)) + 8|0); @@ -260533,14 +264682,14 @@ function _unixFileLock($pFile,$pLock) { } $17 = ((($lock)) + 2|0); HEAP16[$17>>1] = 0; - $18 = HEAP32[1524>>2]|0; + $18 = HEAP32[1536>>2]|0; $19 = (($18) + 2)|0; $20 = ((($lock)) + 4|0); HEAP32[$20>>2] = $19; $21 = ((($lock)) + 8|0); HEAP32[$21>>2] = 510; HEAP16[$lock>>1] = 1; - $22 = HEAP32[(7356)>>2]|0; + $22 = HEAP32[(6524)>>2]|0; $23 = HEAP32[$1>>2]|0; $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; @@ -260565,7 +264714,7 @@ function _unixFileLock($pFile,$pLock) { $43 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($43|0); } else { - $36 = HEAP32[(7356)>>2]|0; + $36 = HEAP32[(6524)>>2]|0; $37 = HEAP32[$1>>2]|0; $38 = ((($37)) + 12|0); $39 = HEAP32[$38>>2]|0; @@ -260612,7 +264761,7 @@ function _closePendingFds($pFile) { $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$p>>2]|0; $14 = HEAP32[$13>>2]|0; - _robust_close($12,$14,30305); + _robust_close($12,$14,30592); $15 = HEAP32[$p>>2]|0; _sqlite3_free($15); $16 = HEAP32[$pNext>>2]|0; @@ -260706,7 +264855,7 @@ function _releaseInodeInfo($pFile) { $25 = ((($24)) + 32|0); HEAP32[$25>>2] = $21; } else { - HEAP32[7784>>2] = $21; + HEAP32[6952>>2] = $21; } $26 = HEAP32[$pInode>>2]|0; $27 = ((($26)) + 32|0); @@ -260726,6 +264875,53 @@ function _releaseInodeInfo($pFile) { _sqlite3_free($37); STACKTOP = sp;return; } +function _getFileMode($zFile,$pMode,$pUid,$pGid) { + $zFile = $zFile|0; + $pMode = $pMode|0; + $pUid = $pUid|0; + $pGid = $pGid|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0; + var $sStat = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $0 = sp + 92|0; + $1 = sp + 88|0; + $2 = sp + 84|0; + $3 = sp + 80|0; + $sStat = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $zFile; + HEAP32[$1>>2] = $pMode; + HEAP32[$2>>2] = $pUid; + HEAP32[$3>>2] = $pGid; + HEAP32[$rc>>2] = 0; + $4 = HEAP32[(6488)>>2]|0; + $5 = HEAP32[$0>>2]|0; + $6 = (FUNCTION_TABLE_iii[$4 & 255]($5,$sStat)|0); + $7 = (0)==($6|0); + if ($7) { + $8 = ((($sStat)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 511; + $11 = HEAP32[$1>>2]|0; + HEAP32[$11>>2] = $10; + $12 = ((($sStat)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$2>>2]|0; + HEAP32[$14>>2] = $13; + $15 = ((($sStat)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$3>>2]|0; + HEAP32[$17>>2] = $16; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); + } else { + HEAP32[$rc>>2] = 1802; + $18 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($18|0); + } + return (0)|0; +} function _posixIoFinderImpl($z,$p) { $z = $z|0; $p = $p|0; @@ -260736,7 +264932,7 @@ function _posixIoFinderImpl($z,$p) { $1 = sp; HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $p; - STACKTOP = sp;return (7708|0); + STACKTOP = sp;return (6876|0); } function _getIntArg($p) { $p = $p|0; @@ -260992,7 +265188,7 @@ function _sqlite3MallocAlarm($nByte) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $nByte; - $1 = (288); + $1 = (296); $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -261032,7 +265228,7 @@ function _mallocWithAlarm($n,$pp) { HEAP32[$nFull>>2] = $4; $5 = HEAP32[$0>>2]|0; _sqlite3StatusHighwater(5,$5); - $6 = (288); + $6 = (296); $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; @@ -261059,7 +265255,7 @@ function _mallocWithAlarm($n,$pp) { $26 = (($23) + 4)|0; $27 = $26; $28 = HEAP32[$27>>2]|0; - $29 = (288); + $29 = (296); $30 = $29; $31 = HEAP32[$30>>2]|0; $32 = (($29) + 4)|0; @@ -261076,12 +265272,12 @@ function _mallocWithAlarm($n,$pp) { $43 = $42 & $41; $44 = $40 | $43; if ($44) { - HEAP32[(308)>>2] = 1; + HEAP32[(316)>>2] = 1; $45 = HEAP32[$nFull>>2]|0; _sqlite3MallocAlarm($45); break; } else { - HEAP32[(308)>>2] = 0; + HEAP32[(316)>>2] = 0; break; } } @@ -261114,13 +265310,13 @@ function _mallocWithAlarm($n,$pp) { function _sqlite3AlterFunctions() { var label = 0, sp = 0; sp = STACKTOP; - _sqlite3InsertBuiltinFuncs(9612,3); + _sqlite3InsertBuiltinFuncs(8780,3); return; } function _sqlite3RegisterDateTimeFunctions() { var label = 0, sp = 0; sp = STACKTOP; - _sqlite3InsertBuiltinFuncs(9388,8); + _sqlite3InsertBuiltinFuncs(8556,8); return; } function _sqlite3InsertBuiltinFuncs($aDef,$nDef) { @@ -261161,7 +265357,7 @@ function _sqlite3InsertBuiltinFuncs($aDef,$nDef) { $12 = HEAP32[$zName>>2]|0; $13 = HEAP8[$12>>0]|0; $14 = $13&255; - $15 = (18229 + ($14)|0); + $15 = (17613 + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = HEAP32[$nName>>2]|0; @@ -261196,7 +265392,7 @@ function _sqlite3InsertBuiltinFuncs($aDef,$nDef) { $41 = ((($40)) + 8|0); HEAP32[$41>>2] = 0; $42 = HEAP32[$h>>2]|0; - $43 = (1080 + ($42<<2)|0); + $43 = (1092 + ($42<<2)|0); $44 = HEAP32[$43>>2]|0; $45 = HEAP32[$i>>2]|0; $46 = HEAP32[$0>>2]|0; @@ -261207,7 +265403,7 @@ function _sqlite3InsertBuiltinFuncs($aDef,$nDef) { $50 = HEAP32[$0>>2]|0; $51 = (($50) + (($49*28)|0)|0); $52 = HEAP32[$h>>2]|0; - $53 = (1080 + ($52<<2)|0); + $53 = (1092 + ($52<<2)|0); HEAP32[$53>>2] = $51; } $54 = HEAP32[$i>>2]|0; @@ -261346,8 +265542,8 @@ function _trimFunc($context,$argc,$argv) { L7: do { if ($16) { HEAP32[$nChar>>2] = 1; - HEAP32[$aLen>>2] = 46317; - HEAP32[$azChar>>2] = 9384; + HEAP32[$aLen>>2] = 45220; + HEAP32[$azChar>>2] = 8552; HEAP32[$zCharSet>>2] = 0; } else { $17 = HEAP32[$2>>2]|0; @@ -261852,23 +266048,23 @@ function _typeofFunc($context,$NotUsed,$argv) { $5 = (_sqlite3_value_type($4)|0); switch ($5|0) { case 1: { - HEAP32[$z>>2] = 40203; + HEAP32[$z>>2] = 39710; break; } case 3: { - HEAP32[$z>>2] = 46307; + HEAP32[$z>>2] = 45210; break; } case 2: { - HEAP32[$z>>2] = 40198; + HEAP32[$z>>2] = 39705; break; } case 4: { - HEAP32[$z>>2] = 46312; + HEAP32[$z>>2] = 45215; break; } default: { - HEAP32[$z>>2] = 40211; + HEAP32[$z>>2] = 39718; } } $6 = HEAP32[$0>>2]|0; @@ -262137,7 +266333,7 @@ function _printfFunc($context,$argc,$argv) { HEAP32[$16>>2] = $15; $17 = HEAP32[$db>>2]|0; $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 92|0); + $19 = ((($18)) + 96|0); $20 = HEAP32[$19>>2]|0; _sqlite3StrAccumInit($str,$17,0,0,$20); $21 = ((($str)) + 25|0); @@ -262489,7 +266685,7 @@ function _absFunc($context,$argc,$argv) { break; } $30 = HEAP32[$0>>2]|0; - _sqlite3_result_error($30,46262,-1); + _sqlite3_result_error($30,45165,-1); STACKTOP = sp;return; } } while(0); @@ -262633,7 +266829,7 @@ function _roundFunc($context,$argc,$argv) { HEAP32[$vararg_buffer>>2] = $50; $vararg_ptr6 = ((($vararg_buffer)) + 8|0); HEAPF64[$vararg_ptr6>>3] = $51; - $52 = (_sqlite3_mprintf(46302,$vararg_buffer)|0); + $52 = (_sqlite3_mprintf(45205,$vararg_buffer)|0); HEAP32[$zBuf>>2] = $52; $53 = HEAP32[$zBuf>>2]|0; $54 = ($53|0)==(0|0); @@ -262719,7 +266915,7 @@ function _upperFunc($context,$argc,$argv) { $30 = (($29) + ($28)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; - $33 = (19019 + ($32)|0); + $33 = (18403 + ($32)|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = $35 & 32; @@ -262798,7 +266994,7 @@ function _lowerFunc($context,$argc,$argv) { $25 = (($24) + ($23)|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; - $28 = (18229 + ($27)|0); + $28 = (17613 + ($27)|0); $29 = HEAP8[$28>>0]|0; $30 = HEAP32[$i>>2]|0; $31 = HEAP32[$z1>>2]|0; @@ -262874,7 +267070,7 @@ function _hexFunc($context,$argc,$argv) { $26 = $25&255; $27 = $26 >> 4; $28 = $27 & 15; - $29 = (46286 + ($28)|0); + $29 = (45189 + ($28)|0); $30 = HEAP8[$29>>0]|0; $31 = HEAP32[$z>>2]|0; $32 = ((($31)) + 1|0); @@ -262883,7 +267079,7 @@ function _hexFunc($context,$argc,$argv) { $33 = HEAP8[$c>>0]|0; $34 = $33&255; $35 = $34 & 15; - $36 = (46286 + ($35)|0); + $36 = (45189 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = HEAP32[$z>>2]|0; $39 = ((($38)) + 1|0); @@ -263073,7 +267269,7 @@ function _errlogFunc($context,$argc,$argv) { $8 = HEAP32[$7>>2]|0; $9 = (_sqlite3_value_text($8)|0); HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log($5,19007,$vararg_buffer); + _sqlite3_log($5,18391,$vararg_buffer); STACKTOP = sp;return; } function _quoteFunc($context,$argc,$argv) { @@ -263123,7 +267319,7 @@ function _quoteFunc($context,$argc,$argv) { HEAPF64[$r1>>3] = $8; $9 = +HEAPF64[$r1>>3]; HEAPF64[$vararg_buffer>>3] = $9; - (_sqlite3_snprintf(50,$zBuf,28875,$vararg_buffer)|0); + (_sqlite3_snprintf(50,$zBuf,28271,$vararg_buffer)|0); (_sqlite3AtoF($zBuf,$r2,20,1)|0); $10 = +HEAPF64[$r1>>3]; $11 = +HEAPF64[$r2>>3]; @@ -263131,7 +267327,7 @@ function _quoteFunc($context,$argc,$argv) { if ($12) { $13 = +HEAPF64[$r1>>3]; HEAPF64[$vararg_buffer1>>3] = $13; - (_sqlite3_snprintf(50,$zBuf,46279,$vararg_buffer1)|0); + (_sqlite3_snprintf(50,$zBuf,45182,$vararg_buffer1)|0); } $14 = HEAP32[$0>>2]|0; _sqlite3_result_text($14,$zBuf,-1,(-1)); @@ -263186,7 +267382,7 @@ function _quoteFunc($context,$argc,$argv) { $42 = $41 << 24 >> 24; $43 = $42 >> 4; $44 = $43 & 15; - $45 = (46286 + ($44)|0); + $45 = (45189 + ($44)|0); $46 = HEAP8[$45>>0]|0; $47 = HEAP32[$i>>2]|0; $48 = $47<<1; @@ -263200,7 +267396,7 @@ function _quoteFunc($context,$argc,$argv) { $55 = HEAP8[$54>>0]|0; $56 = $55 << 24 >> 24; $57 = $56 & 15; - $58 = (46286 + ($57)|0); + $58 = (45189 + ($57)|0); $59 = HEAP8[$58>>0]|0; $60 = HEAP32[$i>>2]|0; $61 = $60<<1; @@ -263370,7 +267566,7 @@ function _quoteFunc($context,$argc,$argv) { } default: { $170 = HEAP32[$0>>2]|0; - _sqlite3_result_text($170,40184,4,0); + _sqlite3_result_text($170,39691,4,0); STACKTOP = sp;return; } } @@ -263625,7 +267821,7 @@ function _replaceFunc($context,$argc,$argv) { $111 = (_i64Subtract(($107|0),($110|0),1,0)|0); $112 = tempRet0; $113 = HEAP32[$db>>2]|0; - $114 = ((($113)) + 92|0); + $114 = ((($113)) + 96|0); $115 = HEAP32[$114>>2]|0; $116 = ($115|0)<(0); $117 = $116 << 31 >> 31; @@ -263986,7 +268182,7 @@ function _substrFunc($context,$argc,$argv) { } else { $97 = HEAP32[$0>>2]|0; $98 = (_sqlite3_context_db_handle($97)|0); - $99 = ((($98)) + 92|0); + $99 = ((($98)) + 96|0); $100 = HEAP32[$99>>2]|0; $101 = ($100|0)<(0); $102 = $101 << 31 >> 31; @@ -264546,7 +268742,7 @@ function _sumFinalize($context) { $21 = ($20<<24>>24)!=(0); if ($21) { $22 = HEAP32[$0>>2]|0; - _sqlite3_result_error($22,46262,-1); + _sqlite3_result_error($22,45165,-1); STACKTOP = sp;return; } $23 = HEAP32[$p>>2]|0; @@ -264777,7 +268973,7 @@ function _groupConcatStep($context,$argc,$argv) { $17 = $16&1; HEAP32[$firstTerm>>2] = $17; $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 92|0); + $19 = ((($18)) + 96|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[$pAccum>>2]|0; $22 = ((($21)) + 20|0); @@ -264799,7 +268995,7 @@ function _groupConcatStep($context,$argc,$argv) { $34 = (_sqlite3_value_bytes($33)|0); HEAP32[$nSep>>2] = $34; } else { - HEAP32[$zSep>>2] = 37926; + HEAP32[$zSep>>2] = 34710; HEAP32[$nSep>>2] = 1; } $35 = HEAP32[$nSep>>2]|0; @@ -264902,7 +269098,7 @@ function _contextMalloc($context,$0,$1) { $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 92|0); + $17 = ((($16)) + 96|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)<(0); $20 = $19 << 31 >> 31; @@ -264952,7 +269148,7 @@ function _sqlite3GetFuncCollSeq($context) { $5 = HEAP32[$0>>2]|0; $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 4|0); + $8 = ((($7)) + 88|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + (($4*20)|0)|0); HEAP32[$pOp>>2] = $10; @@ -265045,7 +269241,7 @@ function _dateFunc($context,$argc,$argv) { HEAP32[$vararg_ptr1>>2] = $11; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $13; - (_sqlite3_snprintf(100,$zBuf,46603,$vararg_buffer)|0); + (_sqlite3_snprintf(100,$zBuf,45506,$vararg_buffer)|0); $14 = HEAP32[$0>>2]|0; _sqlite3_result_text($14,$zBuf,-1,(-1)); STACKTOP = sp;return; @@ -265088,7 +269284,7 @@ function _timeFunc($context,$argc,$argv) { HEAP32[$vararg_ptr1>>2] = $11; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $14; - (_sqlite3_snprintf(100,$zBuf,46588,$vararg_buffer)|0); + (_sqlite3_snprintf(100,$zBuf,45491,$vararg_buffer)|0); $15 = HEAP32[$0>>2]|0; _sqlite3_result_text($15,$zBuf,-1,(-1)); STACKTOP = sp;return; @@ -265143,7 +269339,7 @@ function _datetimeFunc($context,$argc,$argv) { HEAP32[$vararg_ptr4>>2] = $17; $vararg_ptr5 = ((($vararg_buffer)) + 20|0); HEAP32[$vararg_ptr5>>2] = $20; - (_sqlite3_snprintf(100,$zBuf,46558,$vararg_buffer)|0); + (_sqlite3_snprintf(100,$zBuf,45461,$vararg_buffer)|0); $21 = HEAP32[$0>>2]|0; _sqlite3_result_text($21,$zBuf,-1,(-1)); STACKTOP = sp;return; @@ -265400,7 +269596,7 @@ function _strftimeFunc($context,$argc,$argv) { $131 = $130; $132 = HEAP32[$131>>2]|0; $133 = HEAP32[$db>>2]|0; - $134 = ((($133)) + 92|0); + $134 = ((($133)) + 96|0); $135 = HEAP32[$134>>2]|0; $136 = ($135|0)<(0); $137 = $136 << 31 >> 31; @@ -265481,7 +269677,7 @@ function _strftimeFunc($context,$argc,$argv) { $185 = ((($x)) + 16|0); $186 = HEAP32[$185>>2]|0; HEAP32[$vararg_buffer>>2] = $186; - (_sqlite3_snprintf(3,$184,46400,$vararg_buffer)|0); + (_sqlite3_snprintf(3,$184,45303,$vararg_buffer)|0); $187 = HEAP32[$j>>2]|0; $188 = (($187) + 2)|0; HEAP32[$j>>2] = $188; @@ -265502,7 +269698,7 @@ function _strftimeFunc($context,$argc,$argv) { $195 = (($194) + ($193)|0); $196 = +HEAPF64[$s>>3]; HEAPF64[$vararg_buffer1>>3] = $196; - (_sqlite3_snprintf(7,$195,46405,$vararg_buffer1)|0); + (_sqlite3_snprintf(7,$195,45308,$vararg_buffer1)|0); $197 = HEAP32[$j>>2]|0; $198 = HEAP32[$z>>2]|0; $199 = (($198) + ($197)|0); @@ -265520,7 +269716,7 @@ function _strftimeFunc($context,$argc,$argv) { $206 = ((($x)) + 20|0); $207 = HEAP32[$206>>2]|0; HEAP32[$vararg_buffer4>>2] = $207; - (_sqlite3_snprintf(3,$205,46400,$vararg_buffer4)|0); + (_sqlite3_snprintf(3,$205,45303,$vararg_buffer4)|0); $208 = HEAP32[$j>>2]|0; $209 = (($208) + 2)|0; HEAP32[$j>>2] = $209; @@ -265584,7 +269780,7 @@ function _strftimeFunc($context,$argc,$argv) { $255 = (($253) - ($254))|0; $256 = (($255|0) / 7)&-1; HEAP32[$vararg_buffer7>>2] = $256; - (_sqlite3_snprintf(3,$251,46400,$vararg_buffer7)|0); + (_sqlite3_snprintf(3,$251,45303,$vararg_buffer7)|0); $257 = HEAP32[$j>>2]|0; $258 = (($257) + 2)|0; HEAP32[$j>>2] = $258; @@ -265596,7 +269792,7 @@ function _strftimeFunc($context,$argc,$argv) { $262 = HEAP32[$nDay>>2]|0; $263 = (($262) + 1)|0; HEAP32[$vararg_buffer10>>2] = $263; - (_sqlite3_snprintf(4,$261,46412,$vararg_buffer10)|0); + (_sqlite3_snprintf(4,$261,45315,$vararg_buffer10)|0); $264 = HEAP32[$j>>2]|0; $265 = (($264) + 3)|0; HEAP32[$j>>2] = $265; @@ -265617,7 +269813,7 @@ function _strftimeFunc($context,$argc,$argv) { $275 = (+($271>>>0)) + (4294967296.0*(+($274|0))); $276 = $275 / 8.64E+7; HEAPF64[$vararg_buffer13>>3] = $276; - (_sqlite3_snprintf(20,$268,43070,$vararg_buffer13)|0); + (_sqlite3_snprintf(20,$268,41946,$vararg_buffer13)|0); $277 = HEAP32[$j>>2]|0; $278 = HEAP32[$z>>2]|0; $279 = (($278) + ($277)|0); @@ -265635,7 +269831,7 @@ function _strftimeFunc($context,$argc,$argv) { $286 = ((($x)) + 12|0); $287 = HEAP32[$286>>2]|0; HEAP32[$vararg_buffer16>>2] = $287; - (_sqlite3_snprintf(3,$285,46400,$vararg_buffer16)|0); + (_sqlite3_snprintf(3,$285,45303,$vararg_buffer16)|0); $288 = HEAP32[$j>>2]|0; $289 = (($288) + 2)|0; HEAP32[$j>>2] = $289; @@ -265649,7 +269845,7 @@ function _strftimeFunc($context,$argc,$argv) { $293 = ((($x)) + 24|0); $294 = HEAP32[$293>>2]|0; HEAP32[$vararg_buffer19>>2] = $294; - (_sqlite3_snprintf(3,$292,46400,$vararg_buffer19)|0); + (_sqlite3_snprintf(3,$292,45303,$vararg_buffer19)|0); $295 = HEAP32[$j>>2]|0; $296 = (($295) + 2)|0; HEAP32[$j>>2] = $296; @@ -265676,7 +269872,7 @@ function _strftimeFunc($context,$argc,$argv) { $312 = (($310) + 4)|0; $313 = $312; HEAP32[$313>>2] = $309; - (_sqlite3_snprintf(30,$299,28870,$vararg_buffer22)|0); + (_sqlite3_snprintf(30,$299,28266,$vararg_buffer22)|0); $314 = HEAP32[$j>>2]|0; $315 = HEAP32[$z>>2]|0; $316 = (($315) + ($314)|0); @@ -265695,7 +269891,7 @@ function _strftimeFunc($context,$argc,$argv) { $324 = +HEAPF64[$323>>3]; $325 = (~~(($324))); HEAP32[$vararg_buffer25>>2] = $325; - (_sqlite3_snprintf(3,$322,46400,$vararg_buffer25)|0); + (_sqlite3_snprintf(3,$322,45303,$vararg_buffer25)|0); $326 = HEAP32[$j>>2]|0; $327 = (($326) + 2)|0; HEAP32[$j>>2] = $327; @@ -265735,7 +269931,7 @@ function _strftimeFunc($context,$argc,$argv) { $351 = ((($x)) + 8|0); $352 = HEAP32[$351>>2]|0; HEAP32[$vararg_buffer28>>2] = $352; - (_sqlite3_snprintf(5,$350,46417,$vararg_buffer28)|0); + (_sqlite3_snprintf(5,$350,45320,$vararg_buffer28)|0); $353 = HEAP32[$j>>2]|0; $354 = HEAP32[$z>>2]|0; $355 = (($354) + ($353)|0); @@ -266439,7 +270635,7 @@ function _parseDateOrTime($context,$zDate,$p) { STACKTOP = sp;return ($35|0); } $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3StrICmp($12,46542)|0); + $13 = (_sqlite3StrICmp($12,45445)|0); $14 = ($13|0)==(0); if ($14) { $15 = HEAP32[$1>>2]|0; @@ -266565,7 +270761,7 @@ function _parseModifier($pCtx,$zMod,$p) { $13 = (($12) + ($11)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; - $16 = (18229 + ($15)|0); + $16 = (17613 + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = HEAP32[$n>>2]|0; $19 = HEAP32[$z>>2]|0; @@ -266584,7 +270780,7 @@ function _parseModifier($pCtx,$zMod,$p) { switch ($27|0) { case 108: { $28 = HEAP32[$z>>2]|0; - $29 = (_strcmp($28,46422)|0); + $29 = (_strcmp($28,45325)|0); $30 = ($29|0)==(0); if (!($30)) { $642 = HEAP32[$rc>>2]|0; @@ -266619,7 +270815,7 @@ function _parseModifier($pCtx,$zMod,$p) { } case 117: { $50 = HEAP32[$z>>2]|0; - $51 = (_strcmp($50,46432)|0); + $51 = (_strcmp($50,45335)|0); $52 = ($51|0)==(0); if ($52) { $53 = HEAP32[$2>>2]|0; @@ -266656,7 +270852,7 @@ function _parseModifier($pCtx,$zMod,$p) { } } $77 = HEAP32[$z>>2]|0; - $78 = (_strcmp($77,46442)|0); + $78 = (_strcmp($77,45345)|0); $79 = ($78|0)==(0); if (!($79)) { $642 = HEAP32[$rc>>2]|0; @@ -266747,7 +270943,7 @@ function _parseModifier($pCtx,$zMod,$p) { } case 119: { $143 = HEAP32[$z>>2]|0; - $144 = (_strncmp($143,46446,8)|0); + $144 = (_strncmp($143,45349,8)|0); $145 = ($144|0)==(0); if (!($145)) { $642 = HEAP32[$rc>>2]|0; @@ -266876,7 +271072,7 @@ function _parseModifier($pCtx,$zMod,$p) { } case 115: { $238 = HEAP32[$z>>2]|0; - $239 = (_strncmp($238,46455,9)|0); + $239 = (_strncmp($238,45358,9)|0); $240 = ($239|0)!=(0); if ($240) { $642 = HEAP32[$rc>>2]|0; @@ -266906,7 +271102,7 @@ function _parseModifier($pCtx,$zMod,$p) { $255 = ((($254)) + 42|0); HEAP8[$255>>0] = 0; $256 = HEAP32[$z>>2]|0; - $257 = (_strcmp($256,46465)|0); + $257 = (_strcmp($256,45368)|0); $258 = ($257|0)==(0); if ($258) { $259 = HEAP32[$2>>2]|0; @@ -266917,7 +271113,7 @@ function _parseModifier($pCtx,$zMod,$p) { STACKTOP = sp;return ($642|0); } $261 = HEAP32[$z>>2]|0; - $262 = (_strcmp($261,46471)|0); + $262 = (_strcmp($261,45374)|0); $263 = ($262|0)==(0); if ($263) { $264 = HEAP32[$2>>2]|0; @@ -266933,7 +271129,7 @@ function _parseModifier($pCtx,$zMod,$p) { STACKTOP = sp;return ($642|0); } $269 = HEAP32[$z>>2]|0; - $270 = (_strcmp($269,46476)|0); + $270 = (_strcmp($269,45379)|0); $271 = ($270|0)==(0); if (!($271)) { $642 = HEAP32[$rc>>2]|0; @@ -266970,7 +271166,7 @@ function _parseModifier($pCtx,$zMod,$p) { $286 = (($285) + ($284)|0); $287 = HEAP8[$286>>0]|0; $288 = $287&255; - $289 = (19019 + ($288)|0); + $289 = (18403 + ($288)|0); $290 = HEAP8[$289>>0]|0; $291 = $290&255; $292 = $291 & 1; @@ -267004,7 +271200,7 @@ function _parseModifier($pCtx,$zMod,$p) { $308 = HEAP32[$z2>>2]|0; $309 = HEAP8[$308>>0]|0; $310 = $309&255; - $311 = (19019 + ($310)|0); + $311 = (18403 + ($310)|0); $312 = HEAP8[$311>>0]|0; $313 = $312&255; $314 = $313 & 4; @@ -267130,7 +271326,7 @@ function _parseModifier($pCtx,$zMod,$p) { $405 = HEAP32[$z>>2]|0; $406 = HEAP8[$405>>0]|0; $407 = $406&255; - $408 = (19019 + ($407)|0); + $408 = (18403 + ($407)|0); $409 = HEAP8[$408>>0]|0; $410 = $409&255; $411 = $410 & 1; @@ -267181,7 +271377,7 @@ function _parseModifier($pCtx,$zMod,$p) { $438 = ($437|0)==(3); if ($438) { $439 = HEAP32[$z>>2]|0; - $440 = (_strcmp($439,46476)|0); + $440 = (_strcmp($439,45379)|0); $441 = ($440|0)==(0); if ($441) { $442 = +HEAPF64[$r>>3]; @@ -267217,7 +271413,7 @@ function _parseModifier($pCtx,$zMod,$p) { $462 = ($461|0)==(4); if ($462) { $463 = HEAP32[$z>>2]|0; - $464 = (_strcmp($463,46480)|0); + $464 = (_strcmp($463,45383)|0); $465 = ($464|0)==(0); if ($465) { $466 = +HEAPF64[$r>>3]; @@ -267248,7 +271444,7 @@ function _parseModifier($pCtx,$zMod,$p) { $486 = ($485|0)==(6); if ($486) { $487 = HEAP32[$z>>2]|0; - $488 = (_strcmp($487,46485)|0); + $488 = (_strcmp($487,45388)|0); $489 = ($488|0)==(0); if ($489) { $490 = +HEAPF64[$r>>3]; @@ -267279,7 +271475,7 @@ function _parseModifier($pCtx,$zMod,$p) { $510 = ($509|0)==(6); if ($510) { $511 = HEAP32[$z>>2]|0; - $512 = (_strcmp($511,46492)|0); + $512 = (_strcmp($511,45395)|0); $513 = ($512|0)==(0); if ($513) { $514 = +HEAPF64[$r>>3]; @@ -267310,7 +271506,7 @@ function _parseModifier($pCtx,$zMod,$p) { $534 = ($533|0)==(5); if ($534) { $535 = HEAP32[$z>>2]|0; - $536 = (_strcmp($535,46465)|0); + $536 = (_strcmp($535,45368)|0); $537 = ($536|0)==(0); if ($537) { $538 = HEAP32[$2>>2]|0; @@ -267394,7 +271590,7 @@ function _parseModifier($pCtx,$zMod,$p) { $599 = ($598|0)==(4); if ($599) { $600 = HEAP32[$z>>2]|0; - $601 = (_strcmp($600,46471)|0); + $601 = (_strcmp($600,45374)|0); $602 = ($601|0)==(0); if ($602) { $603 = +HEAPF64[$r>>3]; @@ -267549,7 +271745,7 @@ function _localtimeOffset($p,$pCtx,$pRc) { $37 = ($36|0)!=(0); if ($37) { $38 = HEAP32[$2>>2]|0; - _sqlite3_result_error($38,46519,-1); + _sqlite3_result_error($38,45422,-1); $39 = HEAP32[$3>>2]|0; HEAP32[$39>>2] = 1; $40 = $0; @@ -267680,7 +271876,7 @@ function _parseHhMmSs($zDate,$p) { HEAP32[$vararg_buffer>>2] = $h; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $m; - $4 = (_getDigits($3,46499,$vararg_buffer)|0); + $4 = (_getDigits($3,45402,$vararg_buffer)|0); $5 = ($4|0)!=(2); if ($5) { HEAP32[$0>>2] = 1; @@ -267700,7 +271896,7 @@ function _parseHhMmSs($zDate,$p) { HEAP32[$1>>2] = $13; $14 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer2>>2] = $s; - $15 = (_getDigits($14,46507,$vararg_buffer2)|0); + $15 = (_getDigits($14,45410,$vararg_buffer2)|0); $16 = ($15|0)!=(1); if ($16) { HEAP32[$0>>2] = 1; @@ -267719,7 +271915,7 @@ function _parseHhMmSs($zDate,$p) { $24 = ((($23)) + 1|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; - $27 = (19019 + ($26)|0); + $27 = (18403 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = $29 & 4; @@ -267733,7 +271929,7 @@ function _parseHhMmSs($zDate,$p) { $34 = HEAP32[$1>>2]|0; $35 = HEAP8[$34>>0]|0; $36 = $35&255; - $37 = (19019 + ($36)|0); + $37 = (18403 + ($36)|0); $38 = HEAP8[$37>>0]|0; $39 = $38&255; $40 = $39 & 4; @@ -267855,7 +272051,7 @@ function _getDigits($zDate,$zFormat,$varargs) { $15 = HEAP8[$14>>0]|0; $16 = $15 << 24 >> 24; $17 = (($16) - 97)|0; - $18 = (17038 + ($17<<1)|0); + $18 = (16422 + ($17<<1)|0); $19 = HEAP16[$18>>1]|0; HEAP16[$max>>1] = $19; $20 = HEAP32[$1>>2]|0; @@ -267874,7 +272070,7 @@ function _getDigits($zDate,$zFormat,$varargs) { $26 = HEAP32[$0>>2]|0; $27 = HEAP8[$26>>0]|0; $28 = $27&255; - $29 = (19019 + ($28)|0); + $29 = (18403 + ($28)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = $31 & 4; @@ -267989,7 +272185,7 @@ function _parseTimezone($zDate,$p) { $3 = HEAP32[$1>>2]|0; $4 = HEAP8[$3>>0]|0; $5 = $4&255; - $6 = (19019 + ($5)|0); + $6 = (18403 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $8 & 1; @@ -268050,7 +272246,7 @@ function _parseTimezone($zDate,$p) { HEAP32[$vararg_buffer>>2] = $nHr; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $nMn; - $34 = (_getDigits($33,46511,$vararg_buffer)|0); + $34 = (_getDigits($33,45414,$vararg_buffer)|0); $35 = ($34|0)!=(2); if (!($35)) { $36 = HEAP32[$1>>2]|0; @@ -268076,7 +272272,7 @@ function _parseTimezone($zDate,$p) { $46 = HEAP32[$1>>2]|0; $47 = HEAP8[$46>>0]|0; $48 = $47&255; - $49 = (19019 + ($48)|0); + $49 = (18403 + ($48)|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = $51 & 1; @@ -268171,7 +272367,7 @@ function _parseYyyyMmDd($zDate,$p) { HEAP32[$vararg_ptr1>>2] = $M; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $D; - $10 = (_getDigits($9,46546,$vararg_buffer)|0); + $10 = (_getDigits($9,45449,$vararg_buffer)|0); $11 = ($10|0)!=(3); if ($11) { HEAP32[$0>>2] = 1; @@ -268185,7 +272381,7 @@ function _parseYyyyMmDd($zDate,$p) { $14 = HEAP32[$1>>2]|0; $15 = HEAP8[$14>>0]|0; $16 = $15&255; - $17 = (19019 + ($16)|0); + $17 = (18403 + ($16)|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = $19 & 1; @@ -268273,7 +272469,7 @@ function _sqlite3StmtCurrentTime($p) { $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 136|0); + $4 = ((($3)) + 56|0); HEAP32[$piTime>>2] = $4; $5 = HEAP32[$piTime>>2]|0; $6 = $5; @@ -268383,7 +272579,7 @@ function _renameTableFunc($context,$NotUsed,$argv) { $25 = (_sqlite3GetToken($24,$token)|0); HEAP32[$len>>2] = $25; $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(160); + $27 = ($26|0)==(162); if (!($27)) { break; } @@ -268419,7 +272615,7 @@ function _renameTableFunc($context,$NotUsed,$argv) { HEAP32[$vararg_ptr2>>2] = $40; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $44; - $45 = (_sqlite3MPrintf($33,46692,$vararg_buffer)|0); + $45 = (_sqlite3MPrintf($33,45595,$vararg_buffer)|0); HEAP32[$zRet>>2] = $45; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$zRet>>2]|0; @@ -268495,7 +272691,7 @@ function _renameTriggerFunc($context,$NotUsed,$argv) { $25 = (_sqlite3GetToken($24,$token)|0); HEAP32[$len>>2] = $25; $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(160); + $27 = ($26|0)==(162); if (!($27)) { break; } @@ -268549,7 +272745,7 @@ function _renameTriggerFunc($context,$NotUsed,$argv) { HEAP32[$vararg_ptr8>>2] = $49; $vararg_ptr9 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr9>>2] = $53; - $54 = (_sqlite3MPrintf($42,46692,$vararg_buffer)|0); + $54 = (_sqlite3MPrintf($42,45595,$vararg_buffer)|0); HEAP32[$zRet>>2] = $54; $55 = HEAP32[$0>>2]|0; $56 = HEAP32[$zRet>>2]|0; @@ -268637,13 +272833,13 @@ function _renameParentFunc($context,$NotUsed,$argv) { $32 = (_sqlite3GetToken($31,$token)|0); HEAP32[$n>>2] = $32; $33 = HEAP32[$token>>2]|0; - $34 = ($33|0)==(160); + $34 = ($33|0)==(162); if (!($34)) { break; } } $35 = HEAP32[$token>>2]|0; - $36 = ($35|0)==(161); + $36 = ($35|0)==(163); if ($36) { break; } @@ -268670,7 +272866,7 @@ function _renameParentFunc($context,$NotUsed,$argv) { $51 = HEAP32[$zOutput>>2]|0; $52 = ($51|0)!=(0|0); $53 = HEAP32[$zOutput>>2]|0; - $54 = $52 ? $53 : 19018; + $54 = $52 ? $53 : 18402; $55 = HEAP32[$z>>2]|0; $56 = HEAP32[$zInput>>2]|0; $57 = $55; @@ -268685,7 +272881,7 @@ function _renameParentFunc($context,$NotUsed,$argv) { HEAP32[$vararg_ptr3>>2] = $60; $vararg_ptr4 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr4>>2] = $61; - $62 = (_sqlite3MPrintf($50,46681,$vararg_buffer)|0); + $62 = (_sqlite3MPrintf($50,45584,$vararg_buffer)|0); HEAP32[$zOut>>2] = $62; $63 = HEAP32[$db>>2]|0; $64 = HEAP32[$zOutput>>2]|0; @@ -268710,12 +272906,12 @@ function _renameParentFunc($context,$NotUsed,$argv) { $75 = HEAP32[$zOutput>>2]|0; $76 = ($75|0)!=(0|0); $77 = HEAP32[$zOutput>>2]|0; - $78 = $76 ? $77 : 19018; + $78 = $76 ? $77 : 18402; $79 = HEAP32[$zInput>>2]|0; HEAP32[$vararg_buffer5>>2] = $78; $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); HEAP32[$vararg_ptr8>>2] = $79; - $80 = (_sqlite3MPrintf($74,25321,$vararg_buffer5)|0); + $80 = (_sqlite3MPrintf($74,24705,$vararg_buffer5)|0); HEAP32[$zResult>>2] = $80; $81 = HEAP32[$0>>2]|0; $82 = HEAP32[$zResult>>2]|0; @@ -268809,7 +273005,7 @@ function _deleteTable($db,$pTable) { $pTable = $pTable|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pIndex = 0, $pNext = 0, $zName = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pIndex = 0, $pNext = 0, $zName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; @@ -268834,8 +273030,10 @@ function _deleteTable($db,$pTable) { $9 = HEAP32[$8>>2]|0; HEAP32[$pNext>>2] = $9; $10 = HEAP32[$0>>2]|0; - $11 = ($10|0)!=(0|0); + $11 = ($10|0)==(0|0); if ($11) { + label = 5; + } else { $12 = HEAP32[$0>>2]|0; $13 = ((($12)) + 456|0); $14 = HEAP32[$13>>2]|0; @@ -268843,58 +273041,64 @@ function _deleteTable($db,$pTable) { if ($15) { label = 5; } - } else { - label = 5; } if ((label|0) == 5) { label = 0; - $16 = HEAP32[$pIndex>>2]|0; - $17 = HEAP32[$16>>2]|0; - HEAP32[$zName>>2] = $17; - $18 = HEAP32[$pIndex>>2]|0; - $19 = ((($18)) + 24|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($20)) + 24|0); - $22 = HEAP32[$zName>>2]|0; - (_sqlite3HashInsert($21,$22,0)|0); + $16 = HEAP32[$1>>2]|0; + $17 = ((($16)) + 42|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $19 & 16; + $21 = ($20|0)!=(0); + if (!($21)) { + $22 = HEAP32[$pIndex>>2]|0; + $23 = HEAP32[$22>>2]|0; + HEAP32[$zName>>2] = $23; + $24 = HEAP32[$pIndex>>2]|0; + $25 = ((($24)) + 24|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($26)) + 24|0); + $28 = HEAP32[$zName>>2]|0; + (_sqlite3HashInsert($27,$28,0)|0); + } } - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$pIndex>>2]|0; - _freeIndex($23,$24); - $25 = HEAP32[$pNext>>2]|0; - HEAP32[$pIndex>>2] = $25; + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$pIndex>>2]|0; + _freeIndex($29,$30); + $31 = HEAP32[$pNext>>2]|0; + HEAP32[$pIndex>>2] = $31; } - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$1>>2]|0; - _sqlite3FkDelete($26,$27); - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$1>>2]|0; - _sqlite3DeleteColumnNames($28,$29); - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$31>>2]|0; - _sqlite3DbFree($30,$32); - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 20|0); - $36 = HEAP32[$35>>2]|0; - _sqlite3DbFree($33,$36); - $37 = HEAP32[$0>>2]|0; - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 12|0); - $40 = HEAP32[$39>>2]|0; - _sqlite3SelectDelete($37,$40); - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 24|0); - $44 = HEAP32[$43>>2]|0; - _sqlite3ExprListDelete($41,$44); - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$1>>2]|0; - _sqlite3VtabClear($45,$46); + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$1>>2]|0; + _sqlite3FkDelete($32,$33); + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$1>>2]|0; + _sqlite3DeleteColumnNames($34,$35); + $36 = HEAP32[$0>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = HEAP32[$37>>2]|0; + _sqlite3DbFree($36,$38); + $39 = HEAP32[$0>>2]|0; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 20|0); + $42 = HEAP32[$41>>2]|0; + _sqlite3DbFree($39,$42); + $43 = HEAP32[$0>>2]|0; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 12|0); + $46 = HEAP32[$45>>2]|0; + _sqlite3SelectDelete($43,$46); $47 = HEAP32[$0>>2]|0; $48 = HEAP32[$1>>2]|0; - _sqlite3DbFree($47,$48); + $49 = ((($48)) + 24|0); + $50 = HEAP32[$49>>2]|0; + _sqlite3ExprListDelete($47,$50); + $51 = HEAP32[$0>>2]|0; + $52 = HEAP32[$1>>2]|0; + _sqlite3VtabClear($51,$52); + $53 = HEAP32[$0>>2]|0; + $54 = HEAP32[$1>>2]|0; + _sqlite3DbFree($53,$54); STACKTOP = sp;return; } function _sqlite3FkDelete($db,$pTab) { @@ -269015,6 +273219,75 @@ function _sqlite3FkDelete($db,$pTab) { } STACKTOP = sp;return; } +function _sqlite3VtabClear($db,$p) { + $db = $db|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $i = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $p; + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)!=(0|0); + if ($3) { + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 456|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $8 = HEAP32[$1>>2]|0; + (_vtabDisconnectAll(0,$8)|0); + } + $9 = HEAP32[$1>>2]|0; + $10 = ((($9)) + 52|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)!=(0|0); + if (!($12)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + while(1) { + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($14)) + 48|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($13|0)<($16|0); + if (!($17)) { + break; + } + $18 = HEAP32[$i>>2]|0; + $19 = ($18|0)!=(1); + if ($19) { + $20 = HEAP32[$0>>2]|0; + $21 = HEAP32[$i>>2]|0; + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 52|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = HEAP32[$25>>2]|0; + _sqlite3DbFree($20,$26); + } + $27 = HEAP32[$i>>2]|0; + $28 = (($27) + 1)|0; + HEAP32[$i>>2] = $28; + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 52|0); + $32 = HEAP32[$31>>2]|0; + _sqlite3DbFree($29,$32); + STACKTOP = sp;return; +} function _isalpha($c) { $c = $c|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; @@ -269076,10 +273349,10 @@ function _toupper($c) { function ___errno_location() { var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[9696>>2]|0; + $0 = HEAP32[8864>>2]|0; $1 = ($0|0)==(0|0); if ($1) { - $$0 = 9744; + $$0 = 8912; } else { $2 = (_pthread_self()|0); $3 = ((($2)) + 60|0); @@ -269095,7 +273368,7 @@ function _strerror($e) { sp = STACKTOP; $i$03 = 0; while(1) { - $1 = (46816 + ($i$03)|0); + $1 = (45740 + ($i$03)|0); $2 = HEAP8[$1>>0]|0; $3 = $2&255; $4 = ($3|0)==($e|0); @@ -269107,7 +273380,7 @@ function _strerror($e) { $5 = (($i$03) + 1)|0; $6 = ($5|0)==(87); if ($6) { - $i$12 = 87;$s$01 = 46904; + $i$12 = 87;$s$01 = 45828; label = 5; break; } else { @@ -269117,9 +273390,9 @@ function _strerror($e) { if ((label|0) == 2) { $0 = ($i$03$lcssa|0)==(0); if ($0) { - $s$0$lcssa = 46904; + $s$0$lcssa = 45828; } else { - $i$12 = $i$03$lcssa;$s$01 = 46904; + $i$12 = $i$03$lcssa;$s$01 = 45828; label = 5; } } @@ -269381,7 +273654,7 @@ function ___procfdname($buf,$fd) { sp = STACKTOP; $i$0 = 0; while(1) { - $0 = (48708 + ($i$0)|0); + $0 = (47632 + ($i$0)|0); $1 = HEAP8[$0>>0]|0; $2 = (($buf) + ($i$0)|0); HEAP8[$2>>0] = $1; @@ -270443,7 +274716,7 @@ function ___stdio_write($f,$buf,$len) { $11 = ((($f)) + 44|0); $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; while(1) { - $12 = HEAP32[9696>>2]|0; + $12 = HEAP32[8864>>2]|0; $13 = ($12|0)==(0|0); if ($13) { $17 = HEAP32[$10>>2]|0; @@ -270584,17 +274857,17 @@ function _fflush($f) { $0 = ($f|0)==(0|0); do { if ($0) { - $7 = HEAP32[9740>>2]|0; + $7 = HEAP32[8908>>2]|0; $8 = ($7|0)==(0|0); if ($8) { $27 = 0; } else { - $9 = HEAP32[9740>>2]|0; + $9 = HEAP32[8908>>2]|0; $10 = (_fflush($9)|0); $27 = $10; } - ___lock(((9724)|0)); - $$012 = HEAP32[(9720)>>2]|0; + ___lock(((8892)|0)); + $$012 = HEAP32[(8888)>>2]|0; $11 = ($$012|0)==(0|0); if ($11) { $r$0$lcssa = $27; @@ -270637,7 +274910,7 @@ function _fflush($f) { } } } - ___unlock(((9724)|0)); + ___unlock(((8892)|0)); $$0 = $r$0$lcssa; } else { $1 = ((($f)) + 76|0); @@ -272161,7 +276434,7 @@ function _malloc($bytes) { $3 = $2 & -8; $4 = $1 ? 16 : $3; $5 = $4 >>> 3; - $6 = HEAP32[9860>>2]|0; + $6 = HEAP32[9028>>2]|0; $7 = $6 >>> $5; $8 = $7 & 3; $9 = ($8|0)==(0); @@ -272170,9 +276443,9 @@ function _malloc($bytes) { $11 = $10 ^ 1; $12 = (($11) + ($5))|0; $13 = $12 << 1; - $14 = (9900 + ($13<<2)|0); + $14 = (9068 + ($13<<2)|0); $$sum10 = (($13) + 2)|0; - $15 = (9900 + ($$sum10<<2)|0); + $15 = (9068 + ($$sum10<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; @@ -272182,9 +276455,9 @@ function _malloc($bytes) { $20 = 1 << $12; $21 = $20 ^ -1; $22 = $6 & $21; - HEAP32[9860>>2] = $22; + HEAP32[9028>>2] = $22; } else { - $23 = HEAP32[(9876)>>2]|0; + $23 = HEAP32[(9044)>>2]|0; $24 = ($18>>>0)<($23>>>0); if ($24) { _abort(); @@ -272215,7 +276488,7 @@ function _malloc($bytes) { $mem$0 = $17; return ($mem$0|0); } - $34 = HEAP32[(9868)>>2]|0; + $34 = HEAP32[(9036)>>2]|0; $35 = ($4>>>0)>($34>>>0); if ($35) { $36 = ($7|0)==(0); @@ -272249,9 +276522,9 @@ function _malloc($bytes) { $63 = $59 >>> $61; $64 = (($62) + ($63))|0; $65 = $64 << 1; - $66 = (9900 + ($65<<2)|0); + $66 = (9068 + ($65<<2)|0); $$sum4 = (($65) + 2)|0; - $67 = (9900 + ($$sum4<<2)|0); + $67 = (9068 + ($$sum4<<2)|0); $68 = HEAP32[$67>>2]|0; $69 = ((($68)) + 8|0); $70 = HEAP32[$69>>2]|0; @@ -272261,10 +276534,10 @@ function _malloc($bytes) { $72 = 1 << $64; $73 = $72 ^ -1; $74 = $6 & $73; - HEAP32[9860>>2] = $74; + HEAP32[9028>>2] = $74; $89 = $34; } else { - $75 = HEAP32[(9876)>>2]|0; + $75 = HEAP32[(9044)>>2]|0; $76 = ($70>>>0)<($75>>>0); if ($76) { _abort(); @@ -272276,7 +276549,7 @@ function _malloc($bytes) { if ($79) { HEAP32[$77>>2] = $66; HEAP32[$67>>2] = $70; - $$pre = HEAP32[(9868)>>2]|0; + $$pre = HEAP32[(9036)>>2]|0; $89 = $$pre; break; } else { @@ -272299,25 +276572,25 @@ function _malloc($bytes) { HEAP32[$87>>2] = $81; $88 = ($89|0)==(0); if (!($88)) { - $90 = HEAP32[(9880)>>2]|0; + $90 = HEAP32[(9048)>>2]|0; $91 = $89 >>> 3; $92 = $91 << 1; - $93 = (9900 + ($92<<2)|0); - $94 = HEAP32[9860>>2]|0; + $93 = (9068 + ($92<<2)|0); + $94 = HEAP32[9028>>2]|0; $95 = 1 << $91; $96 = $94 & $95; $97 = ($96|0)==(0); if ($97) { $98 = $94 | $95; - HEAP32[9860>>2] = $98; + HEAP32[9028>>2] = $98; $$pre105 = (($92) + 2)|0; - $$pre106 = (9900 + ($$pre105<<2)|0); + $$pre106 = (9068 + ($$pre105<<2)|0); $$pre$phiZ2D = $$pre106;$F4$0 = $93; } else { $$sum9 = (($92) + 2)|0; - $99 = (9900 + ($$sum9<<2)|0); + $99 = (9068 + ($$sum9<<2)|0); $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(9876)>>2]|0; + $101 = HEAP32[(9044)>>2]|0; $102 = ($100>>>0)<($101>>>0); if ($102) { _abort(); @@ -272334,12 +276607,12 @@ function _malloc($bytes) { $105 = ((($90)) + 12|0); HEAP32[$105>>2] = $93; } - HEAP32[(9868)>>2] = $81; - HEAP32[(9880)>>2] = $84; + HEAP32[(9036)>>2] = $81; + HEAP32[(9048)>>2] = $84; $mem$0 = $69; return ($mem$0|0); } - $106 = HEAP32[(9864)>>2]|0; + $106 = HEAP32[(9032)>>2]|0; $107 = ($106|0)==(0); if ($107) { $nb$0 = $4; @@ -272367,7 +276640,7 @@ function _malloc($bytes) { $128 = $124 | $127; $129 = $125 >>> $127; $130 = (($128) + ($129))|0; - $131 = (10164 + ($130<<2)|0); + $131 = (9332 + ($130<<2)|0); $132 = HEAP32[$131>>2]|0; $133 = ((($132)) + 4|0); $134 = HEAP32[$133>>2]|0; @@ -272400,7 +276673,7 @@ function _malloc($bytes) { $$v$0$i = $148 ? $144 : $v$0$i; $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; } - $149 = HEAP32[(9876)>>2]|0; + $149 = HEAP32[(9044)>>2]|0; $150 = ($v$0$i$lcssa>>>0)<($149>>>0); if ($150) { _abort(); @@ -272496,7 +276769,7 @@ function _malloc($bytes) { if (!($180)) { $181 = ((($v$0$i$lcssa)) + 28|0); $182 = HEAP32[$181>>2]|0; - $183 = (10164 + ($182<<2)|0); + $183 = (9332 + ($182<<2)|0); $184 = HEAP32[$183>>2]|0; $185 = ($v$0$i$lcssa|0)==($184|0); if ($185) { @@ -272505,13 +276778,13 @@ function _malloc($bytes) { if ($cond$i) { $186 = 1 << $182; $187 = $186 ^ -1; - $188 = HEAP32[(9864)>>2]|0; + $188 = HEAP32[(9032)>>2]|0; $189 = $188 & $187; - HEAP32[(9864)>>2] = $189; + HEAP32[(9032)>>2] = $189; break; } } else { - $190 = HEAP32[(9876)>>2]|0; + $190 = HEAP32[(9044)>>2]|0; $191 = ($154>>>0)<($190>>>0); if ($191) { _abort(); @@ -272531,7 +276804,7 @@ function _malloc($bytes) { break; } } - $197 = HEAP32[(9876)>>2]|0; + $197 = HEAP32[(9044)>>2]|0; $198 = ($R$1$i>>>0)<($197>>>0); if ($198) { _abort(); @@ -272561,7 +276834,7 @@ function _malloc($bytes) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(9876)>>2]|0; + $209 = HEAP32[(9044)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -272598,28 +276871,28 @@ function _malloc($bytes) { $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(9868)>>2]|0; + $225 = HEAP32[(9036)>>2]|0; $226 = ($225|0)==(0); if (!($226)) { - $227 = HEAP32[(9880)>>2]|0; + $227 = HEAP32[(9048)>>2]|0; $228 = $225 >>> 3; $229 = $228 << 1; - $230 = (9900 + ($229<<2)|0); - $231 = HEAP32[9860>>2]|0; + $230 = (9068 + ($229<<2)|0); + $231 = HEAP32[9028>>2]|0; $232 = 1 << $228; $233 = $231 & $232; $234 = ($233|0)==(0); if ($234) { $235 = $231 | $232; - HEAP32[9860>>2] = $235; + HEAP32[9028>>2] = $235; $$pre$i = (($229) + 2)|0; - $$pre8$i = (9900 + ($$pre$i<<2)|0); + $$pre8$i = (9068 + ($$pre$i<<2)|0); $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; } else { $$sum3$i = (($229) + 2)|0; - $236 = (9900 + ($$sum3$i<<2)|0); + $236 = (9068 + ($$sum3$i<<2)|0); $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(9876)>>2]|0; + $238 = HEAP32[(9044)>>2]|0; $239 = ($237>>>0)<($238>>>0); if ($239) { _abort(); @@ -272636,8 +276909,8 @@ function _malloc($bytes) { $242 = ((($227)) + 12|0); HEAP32[$242>>2] = $230; } - HEAP32[(9868)>>2] = $rsize$0$i$lcssa; - HEAP32[(9880)>>2] = $151; + HEAP32[(9036)>>2] = $rsize$0$i$lcssa; + HEAP32[(9048)>>2] = $151; } $243 = ((($v$0$i$lcssa)) + 8|0); $mem$0 = $243; @@ -272653,7 +276926,7 @@ function _malloc($bytes) { } else { $245 = (($bytes) + 11)|0; $246 = $245 & -8; - $247 = HEAP32[(9864)>>2]|0; + $247 = HEAP32[(9032)>>2]|0; $248 = ($247|0)==(0); if ($248) { $nb$0 = $246; @@ -272693,7 +276966,7 @@ function _malloc($bytes) { $idx$0$i = $274; } } - $275 = (10164 + ($idx$0$i<<2)|0); + $275 = (9332 + ($idx$0$i<<2)|0); $276 = HEAP32[$275>>2]|0; $277 = ($276|0)==(0|0); L123: do { @@ -272783,7 +277056,7 @@ function _malloc($bytes) { $325 = $321 | $324; $326 = $322 >>> $324; $327 = (($325) + ($326))|0; - $328 = (10164 + ($327<<2)|0); + $328 = (9332 + ($327<<2)|0); $329 = HEAP32[$328>>2]|0; $t$2$ph$i = $329;$v$3$ph$i = 0; } else { @@ -272831,11 +277104,11 @@ function _malloc($bytes) { if ($342) { $nb$0 = $246; } else { - $343 = HEAP32[(9868)>>2]|0; + $343 = HEAP32[(9036)>>2]|0; $344 = (($343) - ($246))|0; $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); if ($345) { - $346 = HEAP32[(9876)>>2]|0; + $346 = HEAP32[(9044)>>2]|0; $347 = ($v$3$lcssa$i>>>0)<($346>>>0); if ($347) { _abort(); @@ -272931,7 +277204,7 @@ function _malloc($bytes) { if (!($377)) { $378 = ((($v$3$lcssa$i)) + 28|0); $379 = HEAP32[$378>>2]|0; - $380 = (10164 + ($379<<2)|0); + $380 = (9332 + ($379<<2)|0); $381 = HEAP32[$380>>2]|0; $382 = ($v$3$lcssa$i|0)==($381|0); if ($382) { @@ -272940,13 +277213,13 @@ function _malloc($bytes) { if ($cond$i21) { $383 = 1 << $379; $384 = $383 ^ -1; - $385 = HEAP32[(9864)>>2]|0; + $385 = HEAP32[(9032)>>2]|0; $386 = $385 & $384; - HEAP32[(9864)>>2] = $386; + HEAP32[(9032)>>2] = $386; break; } } else { - $387 = HEAP32[(9876)>>2]|0; + $387 = HEAP32[(9044)>>2]|0; $388 = ($351>>>0)<($387>>>0); if ($388) { _abort(); @@ -272966,7 +277239,7 @@ function _malloc($bytes) { break; } } - $394 = HEAP32[(9876)>>2]|0; + $394 = HEAP32[(9044)>>2]|0; $395 = ($R$1$i20>>>0)<($394>>>0); if ($395) { _abort(); @@ -272996,7 +277269,7 @@ function _malloc($bytes) { $404 = HEAP32[$403>>2]|0; $405 = ($404|0)==(0|0); if (!($405)) { - $406 = HEAP32[(9876)>>2]|0; + $406 = HEAP32[(9044)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -273038,22 +277311,22 @@ function _malloc($bytes) { $423 = ($rsize$3$lcssa$i>>>0)<(256); if ($423) { $424 = $422 << 1; - $425 = (9900 + ($424<<2)|0); - $426 = HEAP32[9860>>2]|0; + $425 = (9068 + ($424<<2)|0); + $426 = HEAP32[9028>>2]|0; $427 = 1 << $422; $428 = $426 & $427; $429 = ($428|0)==(0); if ($429) { $430 = $426 | $427; - HEAP32[9860>>2] = $430; + HEAP32[9028>>2] = $430; $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (9900 + ($$pre$i25<<2)|0); + $$pre43$i = (9068 + ($$pre$i25<<2)|0); $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; } else { $$sum17$i = (($424) + 2)|0; - $431 = (9900 + ($$sum17$i<<2)|0); + $431 = (9068 + ($$sum17$i<<2)|0); $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(9876)>>2]|0; + $433 = HEAP32[(9044)>>2]|0; $434 = ($432>>>0)<($433>>>0); if ($434) { _abort(); @@ -273107,7 +277380,7 @@ function _malloc($bytes) { $I7$0$i = $462; } } - $463 = (10164 + ($I7$0$i<<2)|0); + $463 = (9332 + ($I7$0$i<<2)|0); $$sum2$i = (($246) + 28)|0; $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); HEAP32[$464>>2] = $I7$0$i; @@ -273117,13 +277390,13 @@ function _malloc($bytes) { $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); HEAP32[$466>>2] = 0; HEAP32[$465>>2] = 0; - $467 = HEAP32[(9864)>>2]|0; + $467 = HEAP32[(9032)>>2]|0; $468 = 1 << $I7$0$i; $469 = $467 & $468; $470 = ($469|0)==(0); if ($470) { $471 = $467 | $468; - HEAP32[(9864)>>2] = $471; + HEAP32[(9032)>>2] = $471; HEAP32[$463>>2] = $348; $$sum5$i = (($246) + 24)|0; $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); @@ -273172,7 +277445,7 @@ function _malloc($bytes) { $K12$029$i = $485;$T$028$i = $487; } } - $494 = HEAP32[(9876)>>2]|0; + $494 = HEAP32[(9044)>>2]|0; $495 = ($$lcssa232>>>0)<($494>>>0); if ($495) { _abort(); @@ -273194,7 +277467,7 @@ function _malloc($bytes) { } while(0); $499 = ((($T$0$lcssa$i)) + 8|0); $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(9876)>>2]|0; + $501 = HEAP32[(9044)>>2]|0; $502 = ($500>>>0)>=($501>>>0); $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); $503 = $502 & $not$$i; @@ -273229,16 +277502,16 @@ function _malloc($bytes) { } } } while(0); - $509 = HEAP32[(9868)>>2]|0; + $509 = HEAP32[(9036)>>2]|0; $510 = ($509>>>0)<($nb$0>>>0); if (!($510)) { $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(9880)>>2]|0; + $512 = HEAP32[(9048)>>2]|0; $513 = ($511>>>0)>(15); if ($513) { $514 = (($512) + ($nb$0)|0); - HEAP32[(9880)>>2] = $514; - HEAP32[(9868)>>2] = $511; + HEAP32[(9048)>>2] = $514; + HEAP32[(9036)>>2] = $511; $515 = $511 | 1; $$sum2 = (($nb$0) + 4)|0; $516 = (($512) + ($$sum2)|0); @@ -273249,8 +277522,8 @@ function _malloc($bytes) { $519 = ((($512)) + 4|0); HEAP32[$519>>2] = $518; } else { - HEAP32[(9868)>>2] = 0; - HEAP32[(9880)>>2] = 0; + HEAP32[(9036)>>2] = 0; + HEAP32[(9048)>>2] = 0; $520 = $509 | 3; $521 = ((($512)) + 4|0); HEAP32[$521>>2] = $520; @@ -273264,14 +277537,14 @@ function _malloc($bytes) { $mem$0 = $525; return ($mem$0|0); } - $526 = HEAP32[(9872)>>2]|0; + $526 = HEAP32[(9040)>>2]|0; $527 = ($526>>>0)>($nb$0>>>0); if ($527) { $528 = (($526) - ($nb$0))|0; - HEAP32[(9872)>>2] = $528; - $529 = HEAP32[(9884)>>2]|0; + HEAP32[(9040)>>2] = $528; + $529 = HEAP32[(9052)>>2]|0; $530 = (($529) + ($nb$0)|0); - HEAP32[(9884)>>2] = $530; + HEAP32[(9052)>>2] = $530; $531 = $528 | 1; $$sum = (($nb$0) + 4)|0; $532 = (($529) + ($$sum)|0); @@ -273283,7 +277556,7 @@ function _malloc($bytes) { $mem$0 = $535; return ($mem$0|0); } - $536 = HEAP32[10332>>2]|0; + $536 = HEAP32[9500>>2]|0; $537 = ($536|0)==(0); do { if ($537) { @@ -273292,16 +277565,16 @@ function _malloc($bytes) { $540 = $539 & $538; $541 = ($540|0)==(0); if ($541) { - HEAP32[(10340)>>2] = $538; - HEAP32[(10336)>>2] = $538; - HEAP32[(10344)>>2] = -1; - HEAP32[(10348)>>2] = -1; - HEAP32[(10352)>>2] = 0; - HEAP32[(10304)>>2] = 0; + HEAP32[(9508)>>2] = $538; + HEAP32[(9504)>>2] = $538; + HEAP32[(9512)>>2] = -1; + HEAP32[(9516)>>2] = -1; + HEAP32[(9520)>>2] = 0; + HEAP32[(9472)>>2] = 0; $542 = (_time((0|0))|0); $543 = $542 & -16; $544 = $543 ^ 1431655768; - HEAP32[10332>>2] = $544; + HEAP32[9500>>2] = $544; break; } else { _abort(); @@ -273310,7 +277583,7 @@ function _malloc($bytes) { } } while(0); $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(10340)>>2]|0; + $546 = HEAP32[(9508)>>2]|0; $547 = (($nb$0) + 47)|0; $548 = (($546) + ($547))|0; $549 = (0 - ($546))|0; @@ -273320,10 +277593,10 @@ function _malloc($bytes) { $mem$0 = 0; return ($mem$0|0); } - $552 = HEAP32[(10300)>>2]|0; + $552 = HEAP32[(9468)>>2]|0; $553 = ($552|0)==(0); if (!($553)) { - $554 = HEAP32[(10292)>>2]|0; + $554 = HEAP32[(9460)>>2]|0; $555 = (($554) + ($550))|0; $556 = ($555>>>0)<=($554>>>0); $557 = ($555>>>0)>($552>>>0); @@ -273333,18 +277606,18 @@ function _malloc($bytes) { return ($mem$0|0); } } - $558 = HEAP32[(10304)>>2]|0; + $558 = HEAP32[(9472)>>2]|0; $559 = $558 & 4; $560 = ($559|0)==(0); L258: do { if ($560) { - $561 = HEAP32[(9884)>>2]|0; + $561 = HEAP32[(9052)>>2]|0; $562 = ($561|0)==(0|0); L260: do { if ($562) { label = 174; } else { - $sp$0$i$i = (10308); + $sp$0$i$i = (9476); while(1) { $563 = HEAP32[$sp$0$i$i>>2]|0; $564 = ($563>>>0)>($561>>>0); @@ -273368,7 +277641,7 @@ function _malloc($bytes) { $sp$0$i$i = $570; } } - $594 = HEAP32[(9872)>>2]|0; + $594 = HEAP32[(9040)>>2]|0; $595 = (($548) - ($594))|0; $596 = $595 & $549; $597 = ($596>>>0)<(2147483647); @@ -273405,7 +277678,7 @@ function _malloc($bytes) { $tsize$0323944$i = 0; } else { $574 = $572; - $575 = HEAP32[(10336)>>2]|0; + $575 = HEAP32[(9504)>>2]|0; $576 = (($575) + -1)|0; $577 = $576 & $574; $578 = ($577|0)==(0); @@ -273419,13 +277692,13 @@ function _malloc($bytes) { $583 = (($582) + ($581))|0; $ssize$0$i = $583; } - $584 = HEAP32[(10292)>>2]|0; + $584 = HEAP32[(9460)>>2]|0; $585 = (($584) + ($ssize$0$i))|0; $586 = ($ssize$0$i>>>0)>($nb$0>>>0); $587 = ($ssize$0$i>>>0)<(2147483647); $or$cond$i30 = $586 & $587; if ($or$cond$i30) { - $588 = HEAP32[(10300)>>2]|0; + $588 = HEAP32[(9468)>>2]|0; $589 = ($588|0)==(0); if (!($589)) { $590 = ($585>>>0)<=($584>>>0); @@ -273463,7 +277736,7 @@ function _malloc($bytes) { $or$cond6$i = $607 & $or$cond5$i; do { if ($or$cond6$i) { - $608 = HEAP32[(10340)>>2]|0; + $608 = HEAP32[(9508)>>2]|0; $609 = (($547) - ($ssize$1$ph$i))|0; $610 = (($609) + ($608))|0; $611 = (0 - ($608))|0; @@ -273498,9 +277771,9 @@ function _malloc($bytes) { } } } while(0); - $618 = HEAP32[(10304)>>2]|0; + $618 = HEAP32[(9472)>>2]|0; $619 = $618 | 4; - HEAP32[(10304)>>2] = $619; + HEAP32[(9472)>>2] = $619; $tsize$1$i = $tsize$0323944$i; label = 191; } else { @@ -273533,40 +277806,40 @@ function _malloc($bytes) { } } if ((label|0) == 194) { - $631 = HEAP32[(10292)>>2]|0; + $631 = HEAP32[(9460)>>2]|0; $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(10292)>>2] = $632; - $633 = HEAP32[(10296)>>2]|0; + HEAP32[(9460)>>2] = $632; + $633 = HEAP32[(9464)>>2]|0; $634 = ($632>>>0)>($633>>>0); if ($634) { - HEAP32[(10296)>>2] = $632; + HEAP32[(9464)>>2] = $632; } - $635 = HEAP32[(9884)>>2]|0; + $635 = HEAP32[(9052)>>2]|0; $636 = ($635|0)==(0|0); L299: do { if ($636) { - $637 = HEAP32[(9876)>>2]|0; + $637 = HEAP32[(9044)>>2]|0; $638 = ($637|0)==(0|0); $639 = ($tbase$255$i>>>0)<($637>>>0); $or$cond9$i = $638 | $639; if ($or$cond9$i) { - HEAP32[(9876)>>2] = $tbase$255$i; - } - HEAP32[(10308)>>2] = $tbase$255$i; - HEAP32[(10312)>>2] = $tsize$254$i; - HEAP32[(10320)>>2] = 0; - $640 = HEAP32[10332>>2]|0; - HEAP32[(9896)>>2] = $640; - HEAP32[(9892)>>2] = -1; + HEAP32[(9044)>>2] = $tbase$255$i; + } + HEAP32[(9476)>>2] = $tbase$255$i; + HEAP32[(9480)>>2] = $tsize$254$i; + HEAP32[(9488)>>2] = 0; + $640 = HEAP32[9500>>2]|0; + HEAP32[(9064)>>2] = $640; + HEAP32[(9060)>>2] = -1; $i$02$i$i = 0; while(1) { $641 = $i$02$i$i << 1; - $642 = (9900 + ($641<<2)|0); + $642 = (9068 + ($641<<2)|0); $$sum$i$i = (($641) + 3)|0; - $643 = (9900 + ($$sum$i$i<<2)|0); + $643 = (9068 + ($$sum$i$i<<2)|0); HEAP32[$643>>2] = $642; $$sum1$i$i = (($641) + 2)|0; - $644 = (9900 + ($$sum1$i$i<<2)|0); + $644 = (9068 + ($$sum1$i$i<<2)|0); HEAP32[$644>>2] = $642; $645 = (($i$02$i$i) + 1)|0; $exitcond$i$i = ($645|0)==(32); @@ -273586,8 +277859,8 @@ function _malloc($bytes) { $653 = $650 ? 0 : $652; $654 = (($tbase$255$i) + ($653)|0); $655 = (($646) - ($653))|0; - HEAP32[(9884)>>2] = $654; - HEAP32[(9872)>>2] = $655; + HEAP32[(9052)>>2] = $654; + HEAP32[(9040)>>2] = $655; $656 = $655 | 1; $$sum$i13$i = (($653) + 4)|0; $657 = (($tbase$255$i) + ($$sum$i13$i)|0); @@ -273595,10 +277868,10 @@ function _malloc($bytes) { $$sum2$i$i = (($tsize$254$i) + -36)|0; $658 = (($tbase$255$i) + ($$sum2$i$i)|0); HEAP32[$658>>2] = 40; - $659 = HEAP32[(10348)>>2]|0; - HEAP32[(9888)>>2] = $659; + $659 = HEAP32[(9516)>>2]|0; + HEAP32[(9056)>>2] = $659; } else { - $sp$084$i = (10308); + $sp$084$i = (9476); while(1) { $660 = HEAP32[$sp$084$i>>2]|0; $661 = ((($sp$084$i)) + 4|0); @@ -273631,7 +277904,7 @@ function _malloc($bytes) { if ($or$cond57$i) { $674 = (($$lcssa226) + ($tsize$254$i))|0; HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(9872)>>2]|0; + $675 = HEAP32[(9040)>>2]|0; $676 = (($675) + ($tsize$254$i))|0; $677 = ((($635)) + 8|0); $678 = $677; @@ -273642,8 +277915,8 @@ function _malloc($bytes) { $683 = $680 ? 0 : $682; $684 = (($635) + ($683)|0); $685 = (($676) - ($683))|0; - HEAP32[(9884)>>2] = $684; - HEAP32[(9872)>>2] = $685; + HEAP32[(9052)>>2] = $684; + HEAP32[(9040)>>2] = $685; $686 = $685 | 1; $$sum$i17$i = (($683) + 4)|0; $687 = (($635) + ($$sum$i17$i)|0); @@ -273651,22 +277924,22 @@ function _malloc($bytes) { $$sum2$i18$i = (($676) + 4)|0; $688 = (($635) + ($$sum2$i18$i)|0); HEAP32[$688>>2] = 40; - $689 = HEAP32[(10348)>>2]|0; - HEAP32[(9888)>>2] = $689; + $689 = HEAP32[(9516)>>2]|0; + HEAP32[(9056)>>2] = $689; break; } } } - $690 = HEAP32[(9876)>>2]|0; + $690 = HEAP32[(9044)>>2]|0; $691 = ($tbase$255$i>>>0)<($690>>>0); if ($691) { - HEAP32[(9876)>>2] = $tbase$255$i; + HEAP32[(9044)>>2] = $tbase$255$i; $755 = $tbase$255$i; } else { $755 = $690; } $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (10308); + $sp$183$i = (9476); while(1) { $693 = HEAP32[$sp$183$i>>2]|0; $694 = ($693|0)==($692|0); @@ -273679,7 +277952,7 @@ function _malloc($bytes) { $696 = HEAP32[$695>>2]|0; $697 = ($696|0)==(0|0); if ($697) { - $sp$0$i$i$i = (10308); + $sp$0$i$i$i = (9476); break; } else { $sp$183$i = $696; @@ -273727,22 +278000,22 @@ function _malloc($bytes) { $728 = ($720|0)==($635|0); L324: do { if ($728) { - $729 = HEAP32[(9872)>>2]|0; + $729 = HEAP32[(9040)>>2]|0; $730 = (($729) + ($725))|0; - HEAP32[(9872)>>2] = $730; - HEAP32[(9884)>>2] = $724; + HEAP32[(9040)>>2] = $730; + HEAP32[(9052)>>2] = $724; $731 = $730 | 1; $$sum42$i$i = (($$sum$i19$i) + 4)|0; $732 = (($tbase$255$i) + ($$sum42$i$i)|0); HEAP32[$732>>2] = $731; } else { - $733 = HEAP32[(9880)>>2]|0; + $733 = HEAP32[(9048)>>2]|0; $734 = ($720|0)==($733|0); if ($734) { - $735 = HEAP32[(9868)>>2]|0; + $735 = HEAP32[(9036)>>2]|0; $736 = (($735) + ($725))|0; - HEAP32[(9868)>>2] = $736; - HEAP32[(9880)>>2] = $724; + HEAP32[(9036)>>2] = $736; + HEAP32[(9048)>>2] = $724; $737 = $736 | 1; $$sum40$i$i = (($$sum$i19$i) + 4)|0; $738 = (($tbase$255$i) + ($$sum40$i$i)|0); @@ -273773,7 +278046,7 @@ function _malloc($bytes) { $749 = (($tbase$255$i) + ($$sum125$i)|0); $750 = HEAP32[$749>>2]|0; $751 = $745 << 1; - $752 = (9900 + ($751<<2)|0); + $752 = (9068 + ($751<<2)|0); $753 = ($748|0)==($752|0); do { if (!($753)) { @@ -273796,9 +278069,9 @@ function _malloc($bytes) { if ($759) { $760 = 1 << $745; $761 = $760 ^ -1; - $762 = HEAP32[9860>>2]|0; + $762 = HEAP32[9028>>2]|0; $763 = $762 & $761; - HEAP32[9860>>2] = $763; + HEAP32[9028>>2] = $763; break; } $764 = ($750|0)==($752|0); @@ -273923,7 +278196,7 @@ function _malloc($bytes) { $$sum118$i = (($$sum30$i$i) + ($719))|0; $798 = (($tbase$255$i) + ($$sum118$i)|0); $799 = HEAP32[$798>>2]|0; - $800 = (10164 + ($799<<2)|0); + $800 = (9332 + ($799<<2)|0); $801 = HEAP32[$800>>2]|0; $802 = ($720|0)==($801|0); do { @@ -273935,12 +278208,12 @@ function _malloc($bytes) { } $803 = 1 << $799; $804 = $803 ^ -1; - $805 = HEAP32[(9864)>>2]|0; + $805 = HEAP32[(9032)>>2]|0; $806 = $805 & $804; - HEAP32[(9864)>>2] = $806; + HEAP32[(9032)>>2] = $806; break L332; } else { - $807 = HEAP32[(9876)>>2]|0; + $807 = HEAP32[(9044)>>2]|0; $808 = ($771>>>0)<($807>>>0); if ($808) { _abort(); @@ -273961,7 +278234,7 @@ function _malloc($bytes) { } } } while(0); - $814 = HEAP32[(9876)>>2]|0; + $814 = HEAP32[(9044)>>2]|0; $815 = ($R$1$i$i>>>0)<($814>>>0); if ($815) { _abort(); @@ -273996,7 +278269,7 @@ function _malloc($bytes) { if ($825) { break; } - $826 = HEAP32[(9876)>>2]|0; + $826 = HEAP32[(9044)>>2]|0; $827 = ($824>>>0)<($826>>>0); if ($827) { _abort(); @@ -274033,23 +278306,23 @@ function _malloc($bytes) { $839 = ($qsize$0$i$i>>>0)<(256); if ($839) { $840 = $838 << 1; - $841 = (9900 + ($840<<2)|0); - $842 = HEAP32[9860>>2]|0; + $841 = (9068 + ($840<<2)|0); + $842 = HEAP32[9028>>2]|0; $843 = 1 << $838; $844 = $842 & $843; $845 = ($844|0)==(0); do { if ($845) { $846 = $842 | $843; - HEAP32[9860>>2] = $846; + HEAP32[9028>>2] = $846; $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (9900 + ($$pre$i22$i<<2)|0); + $$pre56$i$i = (9068 + ($$pre$i22$i<<2)|0); $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; } else { $$sum29$i$i = (($840) + 2)|0; - $847 = (9900 + ($$sum29$i$i<<2)|0); + $847 = (9068 + ($$sum29$i$i<<2)|0); $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(9876)>>2]|0; + $849 = HEAP32[(9044)>>2]|0; $850 = ($848>>>0)<($849>>>0); if (!($850)) { $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; @@ -274106,7 +278379,7 @@ function _malloc($bytes) { $I7$0$i$i = $878; } } while(0); - $879 = (10164 + ($I7$0$i$i<<2)|0); + $879 = (9332 + ($I7$0$i$i<<2)|0); $$sum12$i$i = (($$sum$i19$i) + 28)|0; $880 = (($tbase$255$i) + ($$sum12$i$i)|0); HEAP32[$880>>2] = $I7$0$i$i; @@ -274116,13 +278389,13 @@ function _malloc($bytes) { $882 = (($tbase$255$i) + ($$sum14$i$i)|0); HEAP32[$882>>2] = 0; HEAP32[$881>>2] = 0; - $883 = HEAP32[(9864)>>2]|0; + $883 = HEAP32[(9032)>>2]|0; $884 = 1 << $I7$0$i$i; $885 = $883 & $884; $886 = ($885|0)==(0); if ($886) { $887 = $883 | $884; - HEAP32[(9864)>>2] = $887; + HEAP32[(9032)>>2] = $887; HEAP32[$879>>2] = $724; $$sum15$i$i = (($$sum$i19$i) + 24)|0; $888 = (($tbase$255$i) + ($$sum15$i$i)|0); @@ -274171,7 +278444,7 @@ function _malloc($bytes) { $K8$051$i$i = $901;$T$050$i$i = $903; } } - $910 = HEAP32[(9876)>>2]|0; + $910 = HEAP32[(9044)>>2]|0; $911 = ($$lcssa>>>0)<($910>>>0); if ($911) { _abort(); @@ -274193,7 +278466,7 @@ function _malloc($bytes) { } while(0); $915 = ((($T$0$lcssa$i25$i)) + 8|0); $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(9876)>>2]|0; + $917 = HEAP32[(9044)>>2]|0; $918 = ($916>>>0)>=($917>>>0); $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); $919 = $918 & $not$$i26$i; @@ -274222,7 +278495,7 @@ function _malloc($bytes) { $mem$0 = $924; return ($mem$0|0); } else { - $sp$0$i$i$i = (10308); + $sp$0$i$i$i = (9476); } } while(1) { @@ -274267,8 +278540,8 @@ function _malloc($bytes) { $952 = $949 ? 0 : $951; $953 = (($tbase$255$i) + ($952)|0); $954 = (($945) - ($952))|0; - HEAP32[(9884)>>2] = $953; - HEAP32[(9872)>>2] = $954; + HEAP32[(9052)>>2] = $953; + HEAP32[(9040)>>2] = $954; $955 = $954 | 1; $$sum$i$i$i = (($952) + 4)|0; $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); @@ -274276,15 +278549,15 @@ function _malloc($bytes) { $$sum2$i$i$i = (($tsize$254$i) + -36)|0; $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); HEAP32[$957>>2] = 40; - $958 = HEAP32[(10348)>>2]|0; - HEAP32[(9888)>>2] = $958; + $958 = HEAP32[(9516)>>2]|0; + HEAP32[(9056)>>2] = $958; $959 = ((($943)) + 4|0); HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(10308)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(10308)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(10308)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(10308)+12>>2]|0; - HEAP32[(10308)>>2] = $tbase$255$i; - HEAP32[(10312)>>2] = $tsize$254$i; - HEAP32[(10320)>>2] = 0; - HEAP32[(10316)>>2] = $944; + ;HEAP32[$944>>2]=HEAP32[(9476)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(9476)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(9476)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(9476)+12>>2]|0; + HEAP32[(9476)>>2] = $tbase$255$i; + HEAP32[(9480)>>2] = $tsize$254$i; + HEAP32[(9488)>>2] = 0; + HEAP32[(9484)>>2] = $944; $960 = ((($943)) + 28|0); HEAP32[$960>>2] = 7; $961 = ((($943)) + 32|0); @@ -274319,22 +278592,22 @@ function _malloc($bytes) { $976 = ($970>>>0)<(256); if ($976) { $977 = $975 << 1; - $978 = (9900 + ($977<<2)|0); - $979 = HEAP32[9860>>2]|0; + $978 = (9068 + ($977<<2)|0); + $979 = HEAP32[9028>>2]|0; $980 = 1 << $975; $981 = $979 & $980; $982 = ($981|0)==(0); if ($982) { $983 = $979 | $980; - HEAP32[9860>>2] = $983; + HEAP32[9028>>2] = $983; $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (9900 + ($$pre$i$i<<2)|0); + $$pre14$i$i = (9068 + ($$pre$i$i<<2)|0); $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; } else { $$sum4$i$i = (($977) + 2)|0; - $984 = (9900 + ($$sum4$i$i<<2)|0); + $984 = (9068 + ($$sum4$i$i<<2)|0); $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(9876)>>2]|0; + $986 = HEAP32[(9044)>>2]|0; $987 = ($985>>>0)<($986>>>0); if ($987) { _abort(); @@ -274386,19 +278659,19 @@ function _malloc($bytes) { $I1$0$i$i = $1015; } } - $1016 = (10164 + ($I1$0$i$i<<2)|0); + $1016 = (9332 + ($I1$0$i$i<<2)|0); $1017 = ((($635)) + 28|0); HEAP32[$1017>>2] = $I1$0$i$i; $1018 = ((($635)) + 20|0); HEAP32[$1018>>2] = 0; HEAP32[$941>>2] = 0; - $1019 = HEAP32[(9864)>>2]|0; + $1019 = HEAP32[(9032)>>2]|0; $1020 = 1 << $I1$0$i$i; $1021 = $1019 & $1020; $1022 = ($1021|0)==(0); if ($1022) { $1023 = $1019 | $1020; - HEAP32[(9864)>>2] = $1023; + HEAP32[(9032)>>2] = $1023; HEAP32[$1016>>2] = $635; $1024 = ((($635)) + 24|0); HEAP32[$1024>>2] = $1016; @@ -274444,7 +278717,7 @@ function _malloc($bytes) { $K2$07$i$i = $1037;$T$06$i$i = $1039; } } - $1046 = HEAP32[(9876)>>2]|0; + $1046 = HEAP32[(9044)>>2]|0; $1047 = ($$lcssa211>>>0)<($1046>>>0); if ($1047) { _abort(); @@ -274463,7 +278736,7 @@ function _malloc($bytes) { } while(0); $1051 = ((($T$0$lcssa$i$i)) + 8|0); $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(9876)>>2]|0; + $1053 = HEAP32[(9044)>>2]|0; $1054 = ($1052>>>0)>=($1053>>>0); $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); $1055 = $1054 & $not$$i$i; @@ -274485,14 +278758,14 @@ function _malloc($bytes) { } } } while(0); - $1060 = HEAP32[(9872)>>2]|0; + $1060 = HEAP32[(9040)>>2]|0; $1061 = ($1060>>>0)>($nb$0>>>0); if ($1061) { $1062 = (($1060) - ($nb$0))|0; - HEAP32[(9872)>>2] = $1062; - $1063 = HEAP32[(9884)>>2]|0; + HEAP32[(9040)>>2] = $1062; + $1063 = HEAP32[(9052)>>2]|0; $1064 = (($1063) + ($nb$0)|0); - HEAP32[(9884)>>2] = $1064; + HEAP32[(9052)>>2] = $1064; $1065 = $1062 | 1; $$sum$i32 = (($nb$0) + 4)|0; $1066 = (($1063) + ($$sum$i32)|0); @@ -274537,7 +278810,7 @@ function _free($mem) { return; } $1 = ((($mem)) + -8|0); - $2 = HEAP32[(9876)>>2]|0; + $2 = HEAP32[(9044)>>2]|0; $3 = ($1>>>0)<($2>>>0); if ($3) { _abort(); @@ -274571,7 +278844,7 @@ function _free($mem) { _abort(); // unreachable; } - $17 = HEAP32[(9880)>>2]|0; + $17 = HEAP32[(9048)>>2]|0; $18 = ($14|0)==($17|0); if ($18) { $$sum3 = (($8) + -4)|0; @@ -274583,7 +278856,7 @@ function _free($mem) { $p$0 = $14;$psize$0 = $15; break; } - HEAP32[(9868)>>2] = $15; + HEAP32[(9036)>>2] = $15; $107 = $104 & -2; HEAP32[$103>>2] = $107; $108 = $15 | 1; @@ -274603,7 +278876,7 @@ function _free($mem) { $23 = (($mem) + ($$sum31)|0); $24 = HEAP32[$23>>2]|0; $25 = $19 << 1; - $26 = (9900 + ($25<<2)|0); + $26 = (9068 + ($25<<2)|0); $27 = ($22|0)==($26|0); if (!($27)) { $28 = ($22>>>0)<($2>>>0); @@ -274623,9 +278896,9 @@ function _free($mem) { if ($32) { $33 = 1 << $19; $34 = $33 ^ -1; - $35 = HEAP32[9860>>2]|0; + $35 = HEAP32[9028>>2]|0; $36 = $35 & $34; - HEAP32[9860>>2] = $36; + HEAP32[9028>>2] = $36; $p$0 = $14;$psize$0 = $15; break; } @@ -274746,7 +279019,7 @@ function _free($mem) { $$sum26 = (($$sum2) + 28)|0; $71 = (($mem) + ($$sum26)|0); $72 = HEAP32[$71>>2]|0; - $73 = (10164 + ($72<<2)|0); + $73 = (9332 + ($72<<2)|0); $74 = HEAP32[$73>>2]|0; $75 = ($14|0)==($74|0); if ($75) { @@ -274755,14 +279028,14 @@ function _free($mem) { if ($cond) { $76 = 1 << $72; $77 = $76 ^ -1; - $78 = HEAP32[(9864)>>2]|0; + $78 = HEAP32[(9032)>>2]|0; $79 = $78 & $77; - HEAP32[(9864)>>2] = $79; + HEAP32[(9032)>>2] = $79; $p$0 = $14;$psize$0 = $15; break; } } else { - $80 = HEAP32[(9876)>>2]|0; + $80 = HEAP32[(9044)>>2]|0; $81 = ($44>>>0)<($80>>>0); if ($81) { _abort(); @@ -274783,7 +279056,7 @@ function _free($mem) { break; } } - $87 = HEAP32[(9876)>>2]|0; + $87 = HEAP32[(9044)>>2]|0; $88 = ($R$1>>>0)<($87>>>0); if ($88) { _abort(); @@ -274817,7 +279090,7 @@ function _free($mem) { if ($98) { $p$0 = $14;$psize$0 = $15; } else { - $99 = HEAP32[(9876)>>2]|0; + $99 = HEAP32[(9044)>>2]|0; $100 = ($97>>>0)<($99>>>0); if ($100) { _abort(); @@ -274853,32 +279126,32 @@ function _free($mem) { $115 = $112 & 2; $116 = ($115|0)==(0); if ($116) { - $117 = HEAP32[(9884)>>2]|0; + $117 = HEAP32[(9052)>>2]|0; $118 = ($9|0)==($117|0); if ($118) { - $119 = HEAP32[(9872)>>2]|0; + $119 = HEAP32[(9040)>>2]|0; $120 = (($119) + ($psize$0))|0; - HEAP32[(9872)>>2] = $120; - HEAP32[(9884)>>2] = $p$0; + HEAP32[(9040)>>2] = $120; + HEAP32[(9052)>>2] = $p$0; $121 = $120 | 1; $122 = ((($p$0)) + 4|0); HEAP32[$122>>2] = $121; - $123 = HEAP32[(9880)>>2]|0; + $123 = HEAP32[(9048)>>2]|0; $124 = ($p$0|0)==($123|0); if (!($124)) { return; } - HEAP32[(9880)>>2] = 0; - HEAP32[(9868)>>2] = 0; + HEAP32[(9048)>>2] = 0; + HEAP32[(9036)>>2] = 0; return; } - $125 = HEAP32[(9880)>>2]|0; + $125 = HEAP32[(9048)>>2]|0; $126 = ($9|0)==($125|0); if ($126) { - $127 = HEAP32[(9868)>>2]|0; + $127 = HEAP32[(9036)>>2]|0; $128 = (($127) + ($psize$0))|0; - HEAP32[(9868)>>2] = $128; - HEAP32[(9880)>>2] = $p$0; + HEAP32[(9036)>>2] = $128; + HEAP32[(9048)>>2] = $p$0; $129 = $128 | 1; $130 = ((($p$0)) + 4|0); HEAP32[$130>>2] = $129; @@ -274898,10 +279171,10 @@ function _free($mem) { $138 = (($mem) + ($$sum1718)|0); $139 = HEAP32[$138>>2]|0; $140 = $134 << 1; - $141 = (9900 + ($140<<2)|0); + $141 = (9068 + ($140<<2)|0); $142 = ($137|0)==($141|0); if (!($142)) { - $143 = HEAP32[(9876)>>2]|0; + $143 = HEAP32[(9044)>>2]|0; $144 = ($137>>>0)<($143>>>0); if ($144) { _abort(); @@ -274919,9 +279192,9 @@ function _free($mem) { if ($148) { $149 = 1 << $134; $150 = $149 ^ -1; - $151 = HEAP32[9860>>2]|0; + $151 = HEAP32[9028>>2]|0; $152 = $151 & $150; - HEAP32[9860>>2] = $152; + HEAP32[9028>>2] = $152; break; } $153 = ($139|0)==($141|0); @@ -274929,7 +279202,7 @@ function _free($mem) { $$pre58 = ((($139)) + 8|0); $$pre$phi59Z2D = $$pre58; } else { - $154 = HEAP32[(9876)>>2]|0; + $154 = HEAP32[(9044)>>2]|0; $155 = ($139>>>0)<($154>>>0); if ($155) { _abort(); @@ -274994,7 +279267,7 @@ function _free($mem) { $R7$0 = $185;$RP9$0 = $184; } } - $187 = HEAP32[(9876)>>2]|0; + $187 = HEAP32[(9044)>>2]|0; $188 = ($RP9$0$lcssa>>>0)<($187>>>0); if ($188) { _abort(); @@ -275007,7 +279280,7 @@ function _free($mem) { } else { $165 = (($mem) + ($8)|0); $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(9876)>>2]|0; + $167 = HEAP32[(9044)>>2]|0; $168 = ($166>>>0)<($167>>>0); if ($168) { _abort(); @@ -275039,7 +279312,7 @@ function _free($mem) { $$sum12 = (($8) + 20)|0; $190 = (($mem) + ($$sum12)|0); $191 = HEAP32[$190>>2]|0; - $192 = (10164 + ($191<<2)|0); + $192 = (9332 + ($191<<2)|0); $193 = HEAP32[$192>>2]|0; $194 = ($9|0)==($193|0); if ($194) { @@ -275048,13 +279321,13 @@ function _free($mem) { if ($cond47) { $195 = 1 << $191; $196 = $195 ^ -1; - $197 = HEAP32[(9864)>>2]|0; + $197 = HEAP32[(9032)>>2]|0; $198 = $197 & $196; - HEAP32[(9864)>>2] = $198; + HEAP32[(9032)>>2] = $198; break; } } else { - $199 = HEAP32[(9876)>>2]|0; + $199 = HEAP32[(9044)>>2]|0; $200 = ($161>>>0)<($199>>>0); if ($200) { _abort(); @@ -275074,7 +279347,7 @@ function _free($mem) { break; } } - $206 = HEAP32[(9876)>>2]|0; + $206 = HEAP32[(9044)>>2]|0; $207 = ($R7$1>>>0)<($206>>>0); if ($207) { _abort(); @@ -275106,7 +279379,7 @@ function _free($mem) { $216 = HEAP32[$215>>2]|0; $217 = ($216|0)==(0|0); if (!($217)) { - $218 = HEAP32[(9876)>>2]|0; + $218 = HEAP32[(9044)>>2]|0; $219 = ($216>>>0)<($218>>>0); if ($219) { _abort(); @@ -275127,10 +279400,10 @@ function _free($mem) { HEAP32[$223>>2] = $222; $224 = (($p$0) + ($133)|0); HEAP32[$224>>2] = $133; - $225 = HEAP32[(9880)>>2]|0; + $225 = HEAP32[(9048)>>2]|0; $226 = ($p$0|0)==($225|0); if ($226) { - HEAP32[(9868)>>2] = $133; + HEAP32[(9036)>>2] = $133; return; } else { $psize$1 = $133; @@ -275149,22 +279422,22 @@ function _free($mem) { $232 = ($psize$1>>>0)<(256); if ($232) { $233 = $231 << 1; - $234 = (9900 + ($233<<2)|0); - $235 = HEAP32[9860>>2]|0; + $234 = (9068 + ($233<<2)|0); + $235 = HEAP32[9028>>2]|0; $236 = 1 << $231; $237 = $235 & $236; $238 = ($237|0)==(0); if ($238) { $239 = $235 | $236; - HEAP32[9860>>2] = $239; + HEAP32[9028>>2] = $239; $$pre = (($233) + 2)|0; - $$pre57 = (9900 + ($$pre<<2)|0); + $$pre57 = (9068 + ($$pre<<2)|0); $$pre$phiZ2D = $$pre57;$F16$0 = $234; } else { $$sum11 = (($233) + 2)|0; - $240 = (9900 + ($$sum11<<2)|0); + $240 = (9068 + ($$sum11<<2)|0); $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(9876)>>2]|0; + $242 = HEAP32[(9044)>>2]|0; $243 = ($241>>>0)<($242>>>0); if ($243) { _abort(); @@ -275216,21 +279489,21 @@ function _free($mem) { $I18$0 = $271; } } - $272 = (10164 + ($I18$0<<2)|0); + $272 = (9332 + ($I18$0<<2)|0); $273 = ((($p$0)) + 28|0); HEAP32[$273>>2] = $I18$0; $274 = ((($p$0)) + 16|0); $275 = ((($p$0)) + 20|0); HEAP32[$275>>2] = 0; HEAP32[$274>>2] = 0; - $276 = HEAP32[(9864)>>2]|0; + $276 = HEAP32[(9032)>>2]|0; $277 = 1 << $I18$0; $278 = $276 & $277; $279 = ($278|0)==(0); L199: do { if ($279) { $280 = $276 | $277; - HEAP32[(9864)>>2] = $280; + HEAP32[(9032)>>2] = $280; HEAP32[$272>>2] = $p$0; $281 = ((($p$0)) + 24|0); HEAP32[$281>>2] = $272; @@ -275275,7 +279548,7 @@ function _free($mem) { $K19$052 = $294;$T$051 = $296; } } - $303 = HEAP32[(9876)>>2]|0; + $303 = HEAP32[(9044)>>2]|0; $304 = ($$lcssa>>>0)<($303>>>0); if ($304) { _abort(); @@ -275294,7 +279567,7 @@ function _free($mem) { } while(0); $308 = ((($T$0$lcssa)) + 8|0); $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(9876)>>2]|0; + $310 = HEAP32[(9044)>>2]|0; $311 = ($309>>>0)>=($310>>>0); $not$ = ($T$0$lcssa>>>0)>=($310>>>0); $312 = $311 & $not$; @@ -275315,12 +279588,12 @@ function _free($mem) { } } } while(0); - $317 = HEAP32[(9892)>>2]|0; + $317 = HEAP32[(9060)>>2]|0; $318 = (($317) + -1)|0; - HEAP32[(9892)>>2] = $318; + HEAP32[(9060)>>2] = $318; $319 = ($318|0)==(0); if ($319) { - $sp$0$in$i = (10316); + $sp$0$in$i = (9484); } else { return; } @@ -275334,7 +279607,7 @@ function _free($mem) { $sp$0$in$i = $321; } } - HEAP32[(9892)>>2] = -1; + HEAP32[(9060)>>2] = -1; return; } function _calloc($n_elements,$elem_size) { @@ -275443,7 +279716,7 @@ function _try_realloc_chunk($p,$nb) { $1 = HEAP32[$0>>2]|0; $2 = $1 & -8; $3 = (($p) + ($2)|0); - $4 = HEAP32[(9876)>>2]|0; + $4 = HEAP32[(9044)>>2]|0; $5 = $1 & 3; $notlhs = ($p>>>0)>=($4>>>0); $notrhs = ($5|0)!=(1); @@ -275474,7 +279747,7 @@ function _try_realloc_chunk($p,$nb) { $14 = ($2>>>0)<($13>>>0); if (!($14)) { $15 = (($2) - ($nb))|0; - $16 = HEAP32[(10340)>>2]|0; + $16 = HEAP32[(9508)>>2]|0; $17 = $16 << 1; $18 = ($15>>>0)>($17>>>0); if (!($18)) { @@ -275509,10 +279782,10 @@ function _try_realloc_chunk($p,$nb) { $newp$0 = $p; return ($newp$0|0); } - $30 = HEAP32[(9884)>>2]|0; + $30 = HEAP32[(9052)>>2]|0; $31 = ($3|0)==($30|0); if ($31) { - $32 = HEAP32[(9872)>>2]|0; + $32 = HEAP32[(9040)>>2]|0; $33 = (($32) + ($2))|0; $34 = ($33>>>0)>($nb>>>0); if (!($34)) { @@ -275529,15 +279802,15 @@ function _try_realloc_chunk($p,$nb) { $40 = (($p) + ($$sum22)|0); $41 = $35 | 1; HEAP32[$40>>2] = $41; - HEAP32[(9884)>>2] = $36; - HEAP32[(9872)>>2] = $35; + HEAP32[(9052)>>2] = $36; + HEAP32[(9040)>>2] = $35; $newp$0 = $p; return ($newp$0|0); } - $42 = HEAP32[(9880)>>2]|0; + $42 = HEAP32[(9048)>>2]|0; $43 = ($3|0)==($42|0); if ($43) { - $44 = HEAP32[(9868)>>2]|0; + $44 = HEAP32[(9036)>>2]|0; $45 = (($44) + ($2))|0; $46 = ($45>>>0)<($nb>>>0); if ($46) { @@ -275576,8 +279849,8 @@ function _try_realloc_chunk($p,$nb) { HEAP32[$62>>2] = $64; $storemerge = 0;$storemerge21 = 0; } - HEAP32[(9868)>>2] = $storemerge21; - HEAP32[(9880)>>2] = $storemerge; + HEAP32[(9036)>>2] = $storemerge21; + HEAP32[(9048)>>2] = $storemerge; $newp$0 = $p; return ($newp$0|0); } @@ -275606,7 +279879,7 @@ function _try_realloc_chunk($p,$nb) { $75 = (($p) + ($$sum16)|0); $76 = HEAP32[$75>>2]|0; $77 = $71 << 1; - $78 = (9900 + ($77<<2)|0); + $78 = (9068 + ($77<<2)|0); $79 = ($74|0)==($78|0); if (!($79)) { $80 = ($74>>>0)<($4>>>0); @@ -275626,9 +279899,9 @@ function _try_realloc_chunk($p,$nb) { if ($84) { $85 = 1 << $71; $86 = $85 ^ -1; - $87 = HEAP32[9860>>2]|0; + $87 = HEAP32[9028>>2]|0; $88 = $87 & $86; - HEAP32[9860>>2] = $88; + HEAP32[9028>>2] = $88; break; } $89 = ($76|0)==($78|0); @@ -275744,7 +280017,7 @@ function _try_realloc_chunk($p,$nb) { $$sum11 = (($2) + 28)|0; $123 = (($p) + ($$sum11)|0); $124 = HEAP32[$123>>2]|0; - $125 = (10164 + ($124<<2)|0); + $125 = (9332 + ($124<<2)|0); $126 = HEAP32[$125>>2]|0; $127 = ($3|0)==($126|0); if ($127) { @@ -275753,13 +280026,13 @@ function _try_realloc_chunk($p,$nb) { if ($cond) { $128 = 1 << $124; $129 = $128 ^ -1; - $130 = HEAP32[(9864)>>2]|0; + $130 = HEAP32[(9032)>>2]|0; $131 = $130 & $129; - HEAP32[(9864)>>2] = $131; + HEAP32[(9032)>>2] = $131; break; } } else { - $132 = HEAP32[(9876)>>2]|0; + $132 = HEAP32[(9044)>>2]|0; $133 = ($96>>>0)<($132>>>0); if ($133) { _abort(); @@ -275779,7 +280052,7 @@ function _try_realloc_chunk($p,$nb) { break; } } - $139 = HEAP32[(9876)>>2]|0; + $139 = HEAP32[(9044)>>2]|0; $140 = ($R$1>>>0)<($139>>>0); if ($140) { _abort(); @@ -275811,7 +280084,7 @@ function _try_realloc_chunk($p,$nb) { $149 = HEAP32[$148>>2]|0; $150 = ($149|0)==(0|0); if (!($150)) { - $151 = HEAP32[(9876)>>2]|0; + $151 = HEAP32[(9044)>>2]|0; $152 = ($149>>>0)<($151>>>0); if ($152) { _abort(); @@ -275900,13 +280173,13 @@ function _dispose_chunk($p,$psize) { $8 = (0 - ($5))|0; $9 = (($p) + ($8)|0); $10 = (($5) + ($psize))|0; - $11 = HEAP32[(9876)>>2]|0; + $11 = HEAP32[(9044)>>2]|0; $12 = ($9>>>0)<($11>>>0); if ($12) { _abort(); // unreachable; } - $13 = HEAP32[(9880)>>2]|0; + $13 = HEAP32[(9048)>>2]|0; $14 = ($9|0)==($13|0); if ($14) { $$sum = (($psize) + 4)|0; @@ -275918,7 +280191,7 @@ function _dispose_chunk($p,$psize) { $$0 = $9;$$02 = $10; break; } - HEAP32[(9868)>>2] = $10; + HEAP32[(9036)>>2] = $10; $103 = $100 & -2; HEAP32[$99>>2] = $103; $104 = $10 | 1; @@ -275938,7 +280211,7 @@ function _dispose_chunk($p,$psize) { $19 = (($p) + ($$sum25)|0); $20 = HEAP32[$19>>2]|0; $21 = $15 << 1; - $22 = (9900 + ($21<<2)|0); + $22 = (9068 + ($21<<2)|0); $23 = ($18|0)==($22|0); if (!($23)) { $24 = ($18>>>0)<($11>>>0); @@ -275958,9 +280231,9 @@ function _dispose_chunk($p,$psize) { if ($28) { $29 = 1 << $15; $30 = $29 ^ -1; - $31 = HEAP32[9860>>2]|0; + $31 = HEAP32[9028>>2]|0; $32 = $31 & $30; - HEAP32[9860>>2] = $32; + HEAP32[9028>>2] = $32; $$0 = $9;$$02 = $10; break; } @@ -276081,7 +280354,7 @@ function _dispose_chunk($p,$psize) { $$sum20 = (28 - ($5))|0; $67 = (($p) + ($$sum20)|0); $68 = HEAP32[$67>>2]|0; - $69 = (10164 + ($68<<2)|0); + $69 = (9332 + ($68<<2)|0); $70 = HEAP32[$69>>2]|0; $71 = ($9|0)==($70|0); if ($71) { @@ -276090,14 +280363,14 @@ function _dispose_chunk($p,$psize) { if ($cond) { $72 = 1 << $68; $73 = $72 ^ -1; - $74 = HEAP32[(9864)>>2]|0; + $74 = HEAP32[(9032)>>2]|0; $75 = $74 & $73; - HEAP32[(9864)>>2] = $75; + HEAP32[(9032)>>2] = $75; $$0 = $9;$$02 = $10; break; } } else { - $76 = HEAP32[(9876)>>2]|0; + $76 = HEAP32[(9044)>>2]|0; $77 = ($40>>>0)<($76>>>0); if ($77) { _abort(); @@ -276118,7 +280391,7 @@ function _dispose_chunk($p,$psize) { break; } } - $83 = HEAP32[(9876)>>2]|0; + $83 = HEAP32[(9044)>>2]|0; $84 = ($R$1>>>0)<($83>>>0); if ($84) { _abort(); @@ -276152,7 +280425,7 @@ function _dispose_chunk($p,$psize) { if ($94) { $$0 = $9;$$02 = $10; } else { - $95 = HEAP32[(9876)>>2]|0; + $95 = HEAP32[(9044)>>2]|0; $96 = ($93>>>0)<($95>>>0); if ($96) { _abort(); @@ -276171,7 +280444,7 @@ function _dispose_chunk($p,$psize) { $$0 = $p;$$02 = $psize; } } while(0); - $106 = HEAP32[(9876)>>2]|0; + $106 = HEAP32[(9044)>>2]|0; $107 = ($0>>>0)<($106>>>0); if ($107) { _abort(); @@ -276183,32 +280456,32 @@ function _dispose_chunk($p,$psize) { $110 = $109 & 2; $111 = ($110|0)==(0); if ($111) { - $112 = HEAP32[(9884)>>2]|0; + $112 = HEAP32[(9052)>>2]|0; $113 = ($0|0)==($112|0); if ($113) { - $114 = HEAP32[(9872)>>2]|0; + $114 = HEAP32[(9040)>>2]|0; $115 = (($114) + ($$02))|0; - HEAP32[(9872)>>2] = $115; - HEAP32[(9884)>>2] = $$0; + HEAP32[(9040)>>2] = $115; + HEAP32[(9052)>>2] = $$0; $116 = $115 | 1; $117 = ((($$0)) + 4|0); HEAP32[$117>>2] = $116; - $118 = HEAP32[(9880)>>2]|0; + $118 = HEAP32[(9048)>>2]|0; $119 = ($$0|0)==($118|0); if (!($119)) { return; } - HEAP32[(9880)>>2] = 0; - HEAP32[(9868)>>2] = 0; + HEAP32[(9048)>>2] = 0; + HEAP32[(9036)>>2] = 0; return; } - $120 = HEAP32[(9880)>>2]|0; + $120 = HEAP32[(9048)>>2]|0; $121 = ($0|0)==($120|0); if ($121) { - $122 = HEAP32[(9868)>>2]|0; + $122 = HEAP32[(9036)>>2]|0; $123 = (($122) + ($$02))|0; - HEAP32[(9868)>>2] = $123; - HEAP32[(9880)>>2] = $$0; + HEAP32[(9036)>>2] = $123; + HEAP32[(9048)>>2] = $$0; $124 = $123 | 1; $125 = ((($$0)) + 4|0); HEAP32[$125>>2] = $124; @@ -276229,7 +280502,7 @@ function _dispose_chunk($p,$psize) { $133 = (($p) + ($$sum13)|0); $134 = HEAP32[$133>>2]|0; $135 = $129 << 1; - $136 = (9900 + ($135<<2)|0); + $136 = (9068 + ($135<<2)|0); $137 = ($132|0)==($136|0); if (!($137)) { $138 = ($132>>>0)<($106>>>0); @@ -276249,9 +280522,9 @@ function _dispose_chunk($p,$psize) { if ($142) { $143 = 1 << $129; $144 = $143 ^ -1; - $145 = HEAP32[9860>>2]|0; + $145 = HEAP32[9028>>2]|0; $146 = $145 & $144; - HEAP32[9860>>2] = $146; + HEAP32[9028>>2] = $146; break; } $147 = ($134|0)==($136|0); @@ -276367,7 +280640,7 @@ function _dispose_chunk($p,$psize) { $$sum8 = (($psize) + 28)|0; $181 = (($p) + ($$sum8)|0); $182 = HEAP32[$181>>2]|0; - $183 = (10164 + ($182<<2)|0); + $183 = (9332 + ($182<<2)|0); $184 = HEAP32[$183>>2]|0; $185 = ($0|0)==($184|0); if ($185) { @@ -276376,13 +280649,13 @@ function _dispose_chunk($p,$psize) { if ($cond39) { $186 = 1 << $182; $187 = $186 ^ -1; - $188 = HEAP32[(9864)>>2]|0; + $188 = HEAP32[(9032)>>2]|0; $189 = $188 & $187; - HEAP32[(9864)>>2] = $189; + HEAP32[(9032)>>2] = $189; break; } } else { - $190 = HEAP32[(9876)>>2]|0; + $190 = HEAP32[(9044)>>2]|0; $191 = ($154>>>0)<($190>>>0); if ($191) { _abort(); @@ -276402,7 +280675,7 @@ function _dispose_chunk($p,$psize) { break; } } - $197 = HEAP32[(9876)>>2]|0; + $197 = HEAP32[(9044)>>2]|0; $198 = ($R7$1>>>0)<($197>>>0); if ($198) { _abort(); @@ -276434,7 +280707,7 @@ function _dispose_chunk($p,$psize) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(9876)>>2]|0; + $209 = HEAP32[(9044)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -276455,10 +280728,10 @@ function _dispose_chunk($p,$psize) { HEAP32[$214>>2] = $213; $215 = (($$0) + ($128)|0); HEAP32[$215>>2] = $128; - $216 = HEAP32[(9880)>>2]|0; + $216 = HEAP32[(9048)>>2]|0; $217 = ($$0|0)==($216|0); if ($217) { - HEAP32[(9868)>>2] = $128; + HEAP32[(9036)>>2] = $128; return; } else { $$1 = $128; @@ -276477,22 +280750,22 @@ function _dispose_chunk($p,$psize) { $223 = ($$1>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (9900 + ($224<<2)|0); - $226 = HEAP32[9860>>2]|0; + $225 = (9068 + ($224<<2)|0); + $226 = HEAP32[9028>>2]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[9860>>2] = $230; + HEAP32[9028>>2] = $230; $$pre = (($224) + 2)|0; - $$pre48 = (9900 + ($$pre<<2)|0); + $$pre48 = (9068 + ($$pre<<2)|0); $$pre$phiZ2D = $$pre48;$F16$0 = $225; } else { $$sum7 = (($224) + 2)|0; - $231 = (9900 + ($$sum7<<2)|0); + $231 = (9068 + ($$sum7<<2)|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(9876)>>2]|0; + $233 = HEAP32[(9044)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -276544,20 +280817,20 @@ function _dispose_chunk($p,$psize) { $I19$0 = $262; } } - $263 = (10164 + ($I19$0<<2)|0); + $263 = (9332 + ($I19$0<<2)|0); $264 = ((($$0)) + 28|0); HEAP32[$264>>2] = $I19$0; $265 = ((($$0)) + 16|0); $266 = ((($$0)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(9864)>>2]|0; + $267 = HEAP32[(9032)>>2]|0; $268 = 1 << $I19$0; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(9864)>>2] = $271; + HEAP32[(9032)>>2] = $271; HEAP32[$263>>2] = $$0; $272 = ((($$0)) + 24|0); HEAP32[$272>>2] = $263; @@ -276603,7 +280876,7 @@ function _dispose_chunk($p,$psize) { $K20$043 = $285;$T$042 = $287; } } - $294 = HEAP32[(9876)>>2]|0; + $294 = HEAP32[(9044)>>2]|0; $295 = ($$lcssa>>>0)<($294>>>0); if ($295) { _abort(); @@ -276621,7 +280894,7 @@ function _dispose_chunk($p,$psize) { } while(0); $299 = ((($T$0$lcssa)) + 8|0); $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[(9876)>>2]|0; + $301 = HEAP32[(9044)>>2]|0; $302 = ($300>>>0)>=($301>>>0); $not$ = ($T$0$lcssa>>>0)>=($301>>>0); $303 = $302 & $not$; @@ -283136,7 +287409,7 @@ var FUNCTION_TABLE_iii = [b10,b10,jsCall_iii_0,b10,jsCall_iii_1,b10,jsCall_iii_2 ,b10,jsCall_iii_44,b10,jsCall_iii_45,b10,jsCall_iii_46,b10,jsCall_iii_47,b10,jsCall_iii_48,b10,jsCall_iii_49,b10,jsCall_iii_50,b10,jsCall_iii_51,b10,jsCall_iii_52,b10,jsCall_iii_53,b10,jsCall_iii_54,b10,jsCall_iii_55,b10,jsCall_iii_56,b10,jsCall_iii_57,b10,jsCall_iii_58 ,b10,jsCall_iii_59,b10,jsCall_iii_60,b10,jsCall_iii_61,b10,jsCall_iii_62,b10,jsCall_iii_63,b10,_unixSleep,_unixCurrentTime,_unixCurrentTimeInt64,_unixGetSystemCall,_unixNextSystemCall,_fts3BestIndexMethod,_fts3OpenMethod,_fts3RowidMethod,_fts3RenameMethod,_fts3SavepointMethod,_fts3ReleaseMethod,_fts3RollbackToMethod,_fts3tokBestIndexMethod,_fts3tokOpenMethod,_fts3tokRowidMethod,_fts3auxBestIndexMethod,_fts3auxOpenMethod,_fts3auxRowidMethod,_memjrnlSync ,_memjrnlFileSize,_sqlite3MemRealloc,_posixIoFinderImpl,_nolockIoFinderImpl,_dotlockIoFinderImpl,_unixSync,_unixFileSize,_dotlockLock,_dotlockUnlock,_dotlockCheckReservedLock,_unixShmUnmap,_access,_getcwd,_stat,_fstat,_ftruncate,_fchmod,_openDirectory,_mkdir,___munmap,_lstat,_nolockLock,_nolockUnlock,_nolockCheckReservedLock,_unixLock,_unixUnlock,_unixCheckReservedLock,_int_cmp,_double_cmp,_sqliteDefaultBusyCallback -,_sqlite3Malloc,_fts3StrHash,_fts3BinHash,_fts3SegReaderDoclistCmpRev,_fts3SegReaderDoclistCmp,_fts3SegReaderCmp,_fts3CompareElemByTerm,_pagerStress,_pagerUndoCallback,_cellSizePtr,_cellSizePtrNoPayload,_sqlite3ExprWalkNoop,_convertCompoundSelectToSubquery,_selectExpander,_resolveExprStep,_resolveSelectStep,_incrAggDepth,_exprSrcCount,_exprNodeIsConstant,_selectNodeIsConstant,_checkConstraintExprNode,_sqlite3BtreeNext,_sqlite3BtreePrevious,_analyzeAggregate,_analyzeAggregatesInSelect,b10,b10,b10,b10,b10 +,_sqlite3Malloc,_fts3StrHash,_fts3BinHash,_fts3SegReaderDoclistCmpRev,_fts3SegReaderDoclistCmp,_fts3SegReaderCmp,_fts3CompareElemByTerm,_pagerStress,_pagerUndoCallback,_cellSizePtr,_cellSizePtrNoPayload,_sqlite3ExprWalkNoop,_convertCompoundSelectToSubquery,_selectExpander,_resolveExprStep,_resolveSelectStep,_incrAggDepth,_exprSrcCount,_exprNodeIsConstant,_selectNodeIsConstant,_exprIdxCover,_checkConstraintExprNode,_sqlite3BtreeNext,_sqlite3BtreePrevious,_analyzeAggregate,_analyzeAggregatesInSelect,b10,b10,b10,b10 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10]; var FUNCTION_TABLE_iiiiii = [b11,b11,jsCall_iiiiii_0,b11,jsCall_iiiiii_1,b11,jsCall_iiiiii_2,b11,jsCall_iiiiii_3,b11,jsCall_iiiiii_4,b11,jsCall_iiiiii_5,b11,jsCall_iiiiii_6,b11,jsCall_iiiiii_7,b11,jsCall_iiiiii_8,b11,jsCall_iiiiii_9,b11,jsCall_iiiiii_10,b11,jsCall_iiiiii_11,b11,jsCall_iiiiii_12,b11,jsCall_iiiiii_13 @@ -283152,7 +287425,7 @@ var FUNCTION_TABLE_viiii = [b12,b12,jsCall_viiii_0,b12,jsCall_viiii_1,b12,jsCall ,b12,jsCall_viiii_14,b12,jsCall_viiii_15,b12,jsCall_viiii_16,b12,jsCall_viiii_17,b12,jsCall_viiii_18,b12,jsCall_viiii_19,b12,jsCall_viiii_20,b12,jsCall_viiii_21,b12,jsCall_viiii_22,b12,jsCall_viiii_23,b12,jsCall_viiii_24,b12,jsCall_viiii_25,b12,jsCall_viiii_26,b12,jsCall_viiii_27,b12,jsCall_viiii_28 ,b12,jsCall_viiii_29,b12,jsCall_viiii_30,b12,jsCall_viiii_31,b12,jsCall_viiii_32,b12,jsCall_viiii_33,b12,jsCall_viiii_34,b12,jsCall_viiii_35,b12,jsCall_viiii_36,b12,jsCall_viiii_37,b12,jsCall_viiii_38,b12,jsCall_viiii_39,b12,jsCall_viiii_40,b12,jsCall_viiii_41,b12,jsCall_viiii_42,b12,jsCall_viiii_43 ,b12,jsCall_viiii_44,b12,jsCall_viiii_45,b12,jsCall_viiii_46,b12,jsCall_viiii_47,b12,jsCall_viiii_48,b12,jsCall_viiii_49,b12,jsCall_viiii_50,b12,jsCall_viiii_51,b12,jsCall_viiii_52,b12,jsCall_viiii_53,b12,jsCall_viiii_54,b12,jsCall_viiii_55,b12,jsCall_viiii_56,b12,jsCall_viiii_57,b12,jsCall_viiii_58 -,b12,jsCall_viiii_59,b12,jsCall_viiii_60,b12,jsCall_viiii_61,b12,jsCall_viiii_62,b12,jsCall_viiii_63,b12,_pcache1Rekey,_modeIterate,_medianIterate,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 +,b12,jsCall_viiii_59,b12,jsCall_viiii_60,b12,jsCall_viiii_61,b12,jsCall_viiii_62,b12,jsCall_viiii_63,b12,_pcache1Rekey,_modeIterate,_medianIterate,_sqlite3ExprIfFalse,_sqlite3ExprIfTrue,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 diff --git a/js/sql-memory-growth.js b/js/sql-memory-growth.js index 77925644..b0845550 100644 --- a/js/sql-memory-growth.js +++ b/js/sql-memory-growth.js @@ -37,305 +37,302 @@ f.HEAP=void 0;f.buffer=buffer;f.HEAP8=w;f.HEAP16=Aa;f.HEAP32=y;f.HEAPU8=A;f.HEAP function lb(a){jb.unshift(a)}f.addOnPostRun=lb;function D(a,b,c){c=Array(0>0]=a[c],c+=1}f.writeStringToMemory=xa;function wa(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=wa; function Ma(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(w[b>>0]=0)}f.writeAsciiToMemory=Ma;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; var Ba=Math.abs,mb=Math.cos,nb=Math.sin,ob=Math.tan,pb=Math.acos,qb=Math.asin,rb=Math.atan,sb=Math.atan2,tb=Math.exp,ub=Math.log,vb=Math.sqrt,Ea=Math.ceil,Da=Math.floor,wb=Math.pow,Ca=Math.min,xb=0,yb=null,zb=null;function Ab(){xb++;f.monitorRunDependencies&&f.monitorRunDependencies(xb)}f.addRunDependency=Ab;function Bb(){xb--;f.monitorRunDependencies&&f.monitorRunDependencies(xb);if(0==xb&&(null!==yb&&(clearInterval(yb),yb=null),zb)){var a=zb;zb=null;a()}}f.removeRunDependency=Bb; -f.preloadedImages={};f.preloadedAudios={};Xa=8;na=Xa+49760;gb.push(); +f.preloadedImages={};f.preloadedAudios={};Xa=8;na=Xa+48688;gb.push(); z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,154,66,0,0,1,0,1,0,130,0,0,0,159,66,0,0,1,0,1,0,131,0,0,0,164,66,0,0,1,0,1,0,132,0,0,0,169,66,0,0,2,0,1,0,133,0,0,0,174,66,0,0,2,0,1,0,133,0,0,0,180,66,0,0,1,0,1,0,134,0,0,0,186,66,0,0,1,0,1,0,135,0,0,0,192,66,0,0,1,0,1,0,136,0,0,0,198,66,0,0,2,0,1,0,137,0,0,0,209,66,0,0,1,0,1,0,138,0,0,0,217,66, -0,0,1,0,1,0,139,0,0,0,225,66,0,0,1,0,1,0,140,0,0,0,229,66,0,0,1,0,1,0,141,0,0,0,233,66,0,0,1,0,1,0,142,0,0,0,237,66,0,0,1,0,1,0,143,0,0,0,241,66,0,0,1,0,1,0,144,0,0,0,246,66,0,0,1,0,1,0,145,0,0,0,251,66,0,0,1,0,1,0,146,0,0,0,0,67,0,0,1,0,1,0,147,0,0,0,5,67,0,0,1,0,1,0,148,0,0,0,247,100,0,0,1,0,1,0,149,0,0,0,9,67,0,0,1,0,1,0,150,0,0,0,15,67,0,0,2,0,1,0,151,0,0,0,21,67,0,0,1,0,1,0,152,0,0,0,26,67,0,0,1,0,1,0,153,0,0,0,31,67,0,0,1,0,1,0,154,0,0,0,38,67,0,0,1,0,1,0,155,0,0,0,43,67,0,0,1,0,1,0,156,0,0, -0,49,67,0,0,0,0,1,1,157,0,0,0,52,67,0,0,2,0,1,0,158,0,0,0,62,67,0,0,2,0,1,0,159,0,0,0,62,67,0,0,3,0,1,0,159,0,0,0,72,67,0,0,2,0,1,0,160,0,0,0,80,67,0,0,2,0,1,0,161,0,0,0,89,67,0,0,1,0,1,0,162,0,0,0,97,67,0,0,1,0,1,0,163,0,0,0,104,67,0,0,2,0,1,0,164,0,0,0,109,67,0,0,2,0,1,0,165,0,0,0,114,67,0,0,2,0,1,0,166,0,0,0,119,67,0,0,2,0,1,0,167,0,0,0,129,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,135,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,69,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,144,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0,151, -67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,166,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,118,182,0,0,130,182,0,0,142,182,0,0,166,182,0,0,177,182,0,0,197,182,0,0,211,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,101,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,106,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0, -133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,116,176,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,129,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0, -0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0, -137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,83,0,0,32,84,0,0,100,84,0,0,128,84,0,0,157,84,0,0,184,84,0,0,212,84,0,0,237,84,0,0,5,85,0,0,70,85,0,0,129,85,0,0,197,85,0,0,245,85,0,0,101,86,0,0,236,86,0,0,32,87,0,0,98,87,0,0,141, -87,0,0,200,87,0,0,239,87,0,0,27,88,0,0,68,88,0,0,115,88,0,0,157,88,0,0,74,74,0,0,74,74,0,0,195,88,0,0,250,88,0,0,55,89,0,0,174,89,0,0,21,90,0,0,76,90,0,0,134,90,0,0,241,90,0,0,64,91,0,0,129,91,0,0,189,91,0,0,237,91,0,0,87,92,0,0,160,92,0,0,110,82,0,0,170,0,0,0,118,82,0,0,171,0,0,0,136,82,0,0,172,0,0,0,126,82,0,0,173,0,0,0,104,95,0,0,2,0,4,0,107,95,0,0,3,1,3,0,111,95,0,0,3,1,2,0,115,95,0,0,4,0,1,0,126,82,0,0,9,0,0,0,84,99,0,0,6,0,0,0,203,96,0,0,8,0,0,0,212,96,0,0,10,0,0,0,91,99,0,0,5,0,0,0,141,96, -0,0,7,0,0,0,97,99,0,0,10,0,0,0,108,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0, -0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5, -164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0, -8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120, -65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0, -20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0, -6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160, -2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3, -4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4, -91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56, -240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0, +138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0, +0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1, +0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130, +0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0, +0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131, +0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0, +0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0, +243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255, +255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0, +9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24, +47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0, +6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110, +0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156, +0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1, +8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248, +3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68, +7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220, +7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150, +0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0, +0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234, +130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0, +0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0, +0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0, +76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116, +0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0, +0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0, +178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21, +167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168, +0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0, +0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0, +0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0, +25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0, +0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183, +0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0, +185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, +0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0, +199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0, +0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146, +0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0, +0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0, +0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,104,0,0,0,0,2,0,165,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,141,104,0,0,1,0,0,0,144,104,0,0,2,0,0,0,147,104,0,0,6,0, -0,0,151,104,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,135,0,0,1,0,0,0,74,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,13,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,3,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,239,122,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,81,0,0,76,123,0,0,89,123,0,0,0,0,0,0,102,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,94,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,219,124,0,0,0,0,0,0,32,132,0,0,0,0,0,0,8,0,0,0,0,128,0,0,1,1,0,0,0,0,0,0,47,132,0,0,2,0,0,0,0,0,16,0,63,132,0,0,3,0,0,0,0,0,0,0,123,127,0,0,4,1,0,0,0,0,0,0,32,128,0,0,5,0,0,0,0,0,0,0,76,132,0,0,6,0,0,0,0,0,0,0,96,132,0,0,2,0,0,0,0,0,0,32,112,132,0,0,2,0,0,0,16,0,0,0,133,132,0,0,7,0,0,0,0,0,0, -0,148,132,0,0,8,0,0,0,0,0,0,0,164,132,0,0,2,0,0,0,128,0,0,0,178,132,0,0,0,2,0,0,15,0,0,0,191,132,0,0,10,1,0,0,0,0,0,0,205,132,0,0,11,1,0,0,0,0,0,0,224,132,0,0,2,0,0,0,0,0,0,2,243,132,0,0,2,0,0,0,0,1,0,0,135,129,0,0,12,0,0,0,0,0,0,0,10,133,0,0,13,1,0,0,0,0,0,0,28,133,0,0,14,1,0,0,0,0,0,0,45,133,0,0,2,0,0,0,0,0,8,0,58,133,0,0,0,2,0,0,0,0,0,0,73,133,0,0,2,0,0,0,4,0,0,0,91,133,0,0,2,0,0,0,8,0,0,0,101,133,0,0,2,0,0,0,0,32,0,0,126,133,0,0,15,1,0,0,0,0,0,0,145,133,0,0,16,1,0,0,0,0,0,0,156,133,0,0,17,1,0, -0,0,0,0,0,167,133,0,0,16,1,0,0,1,0,0,0,230,128,0,0,18,1,0,0,0,0,0,0,224,127,0,0,19,1,0,0,0,0,0,0,237,127,0,0,20,0,0,0,0,0,0,0,179,133,0,0,2,0,0,0,0,128,0,0,211,127,0,0,22,0,0,0,0,0,0,0,198,133,0,0,23,1,0,0,0,0,0,0,44,128,0,0,24,0,0,0,0,0,0,0,213,133,0,0,23,1,0,0,0,0,0,0,170,127,0,0,25,0,0,0,0,0,0,0,224,133,0,0,2,0,0,0,0,0,0,4,235,133,0,0,18,1,0,0,0,0,0,0,247,133,0,0,2,0,0,0,0,64,0,0,8,134,0,0,2,0,0,0,0,0,4,0,27,134,0,0,2,0,0,0,0,0,2,0,53,134,0,0,0,0,0,0,1,0,0,0,180,127,0,0,26,0,0,0,0,0,0,0,68,134, -0,0,2,0,0,0,64,0,0,0,87,134,0,0,27,0,0,0,0,0,0,0,253,129,0,0,28,0,0,0,0,0,0,0,101,134,0,0,29,1,0,0,0,0,0,0,111,128,0,0,30,1,0,0,0,0,0,0,107,134,0,0,31,1,0,0,0,0,0,0,54,128,0,0,32,0,0,0,0,0,0,0,65,128,0,0,33,0,0,0,0,0,0,0,13,130,0,0,34,0,0,0,0,0,0,0,118,134,0,0,0,0,0,0,6,0,0,0,226,129,0,0,35,0,0,0,0,0,0,0,131,134,0,0,36,1,0,0,0,0,0,0,146,134,0,0,2,0,0,0,0,8,1,0,130,131,0,0,85,131,0,0,162,131,0,0,167,131,0,0,175,131,0,0,99,131,0,0,234,130,0,0,143,131,0,0,149,131,0,0,155,131,0,0,124,131,0,0,130,131, -0,0,85,131,0,0,113,96,0,0,134,131,0,0,139,131,0,0,47,131,0,0,85,131,0,0,102,131,0,0,109,131,0,0,116,131,0,0,95,131,0,0,97,131,0,0,99,131,0,0,47,131,0,0,85,131,0,0,90,131,0,0,47,131,0,0,85,131,0,0,44,131,0,0,47,131,0,0,234,130,0,0,51,131,0,0,56,131,0,0,59,131,0,0,69,131,0,0,79,131,0,0,234,130,0,0,17,99,0,0,240,130,0,0,247,130,0,0,39,130,0,0,1,0,0,0,44,130,0,0,1,0,0,0,50,130,0,0,2,0,0,0,59,130,0,0,3,0,0,0,68,130,0,0,2,0,0,0,76,130,0,0,3,0,0,0,84,130,0,0,0,0,0,0,91,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21, -130,0,0,247,100,0,0,26,130,0,0,9,132,0,0,16,132,0,0,24,132,0,0,217,129,0,0,151,104,0,0,28,132,0,0,79,131,0,0,64,0,0,0,106,130,0,0,66,0,0,0,101,130,0,0,65,0,0,0,30,138,0,0,67,0,0,0,76,119,0,0,3,0,0,0,72,119,0,0,3,0,0,0,74,74,0,0,66,148,0,0,72,148,0,0,77,148,0,0,82,148,0,0,198,148,0,0,204,148,0,0,212,148,0,0,197,156,0,0,202,156,0,0,209,156,0,0,212,156,0,0,215,156,0,0,218,156,0,0,221,156,0,0,224,156,0,0,232,156,0,0,91,99,0,0,51,131,0,0,241,156,0,0,248,167,0,0,1,168,0,0,8,168,0,0,14,168,0,0,97,168,0, -0,107,168,0,0,118,168,0,0,130,168,0,0,141,168,0,0,152,168,0,0,163,168,0,0,168,168,0,0,173,168,0,0,184,168,0,0,196,168,0,0,203,168,0,0,211,168,0,0,219,168,0,0,224,168,0,0,230,168,0,0,244,168,0,0,250,168,0,0,4,169,0,0,9,169,0,0,13,169,0,0,18,169,0,0,21,169,0,0,27,169,0,0,34,169,0,0,41,169,0,0,48,169,0,0,55,169,0,0,58,169,0,0,62,169,0,0,73,169,0,0,82,169,0,0,88,169,0,0,98,169,0,0,103,169,0,0,110,169,0,0,118,169,0,0,121,169,0,0,124,169,0,0,127,169,0,0,130,169,0,0,133,169,0,0,136,169,0,0,147,169,0,0,154, -169,0,0,160,169,0,0,170,169,0,0,181,169,0,0,185,169,0,0,194,169,0,0,203,169,0,0,210,169,0,0,220,169,0,0,227,169,0,0,232,169,0,0,239,169,0,0,246,169,0,0,252,169,0,0,2,170,0,0,8,170,0,0,14,170,0,0,25,170,0,0,36,170,0,0,44,170,0,0,53,170,0,0,59,170,0,0,69,170,0,0,82,170,0,0,93,170,0,0,99,170,0,0,104,170,0,0,111,170,0,0,124,170,0,0,135,170,0,0,140,170,0,0,148,170,0,0,154,170,0,0,161,170,0,0,166,170,0,0,175,170,0,0,180,170,0,0,189,170,0,0,194,170,0,0,199,170,0,0,205,170,0,0,213,170,0,0,223,170,0,0,231, -170,0,0,241,170,0,0,250,170,0,0,1,171,0,0,14,171,0,0,19,171,0,0,31,171,0,0,39,171,0,0,46,171,0,0,55,171,0,0,66,171,0,0,74,171,0,0,80,171,0,0,91,171,0,0,101,171,0,0,111,171,0,0,120,171,0,0,130,171,0,0,144,171,0,0,158,171,0,0,169,171,0,0,182,171,0,0,193,171,0,0,199,171,0,0,211,171,0,0,220,171,0,0,229,171,0,0,236,171,0,0,246,171,0,0,253,171,0,0,8,172,0,0,22,172,0,0,33,172,0,0,40,172,0,0,48,172,0,0,54,172,0,0,62,172,0,0,75,172,0,0,85,172,0,0,95,172,0,0,100,172,0,0,109,172,0,0,117,172,0,0,123,172,0,0, -135,172,0,0,147,172,0,0,159,172,0,0,164,172,0,0,176,172,0,0,189,172,0,0,199,172,0,0,209,172,0,0,221,172,0,0,233,172,0,0,243,172,0,0,249,172,0,0,3,173,0,0,10,173,0,0,22,173,0,0,31,173,0,0,39,173,0,0,48,173,0,0,55,173,0,0,65,173,0,0,72,173,0,0,80,173,0,0,89,173,0,0,95,173,0,0,103,173,0,0,111,173,0,0,121,173,0,0,130,173,0,0,141,173,0,0,146,173,0,0,230,173,0,0,243,173,0,0,0,0,0,0,23,174,0,0,48,174,0,0,79,174,0,0,98,174,0,0,32,100,0,0,123,174,0,0,160,174,0,0,172,174,0,0,187,174,0,0,220,174,0,0,238,174, -0,0,7,175,0,0,36,175,0,0,53,175,0,0,20,159,0,0,98,73,0,0,76,175,0,0,94,175,0,0,112,175,0,0,151,175,0,0,182,175,0,0,203,175,0,0,235,175,0,0,13,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,176,176,0,0,145,0,0,0,0,0,0,0,139,176,0,0,163,0,0,0,0,0,0,0,74,104,0,0,160,0,0,0,0,0,0,0,181,176,0,0,161,0,0,0,0,0,0,0,188,176,0,0,162, -0,0,0,0,0,0,0,193,176,0,0,163,0,0,0,0,0,0,0,199,176,0,0,164,0,0,0,0,0,0,0,209,176,0,0,146,0,0,0,0,0,0,0,215,176,0,0,147,0,0,0,0,0,0,0,220,176,0,0,0,0,0,0,0,0,0,0,226,176,0,0,0,0,0,0,0,0,0,0,234,176,0,0,148,0,0,0,0,0,0,0,240,176,0,0,0,0,0,0,0,0,0,0,247,176,0,0,0,0,0,0,0,0,0,0,0,177,0,0,165,0,0,0,0,0,0,0,7,177,0,0,0,0,0,0,0,0,0,0,17,177,0,0,164,0,0,0,0,0,0,0,24,177,0,0,166,0,0,0,0,0,0,0,38,177,0,0,167,0,0,0,0,0,0,0,44,177,0,0,165,0,0,0,0,0,0,0,50,177,0,0,149,0,0,0,0,0,0,0,57,177,0,0,130,0,0,0,0,0,0, -0,65,177,0,0,137,0,0,0,0,0,0,0,70,177,0,0,168,0,0,0,0,0,0,0,77,177,0,0,0,0,0,0,0,0,0,0,84,177,0,0,131,0,0,0,0,0,0,0,96,177,0,0,150,0,0,0,0,0,0,0,105,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,177,0,0,211,177,0,0,220,177,0,0,225,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0, -173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,90,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,116,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,141,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,150,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,161,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0, -0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,97,141,0,0,0,0,0,0, -255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,101,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,185,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,192,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,199,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,205,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,212,179,0,0,0, -0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,220,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,235,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,241,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,251,179,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,2,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,9,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,20,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,27,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,42,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,59,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,70,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,76,180,0,0,0,0,0,0,0,0,1,0, -0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,94,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,102,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,116,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,124,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,144,180,0,0,0,0,0,0,1,0,1,0,0, -0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,150,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,13,8,66,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,106,130,0,0,0,0,0,0,2,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0,0,3,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0, -0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,74,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,238,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,248,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,253,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0, -11,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,20,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,33,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,51,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,26,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,68,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,38,0,0,0,0,0,0,5,0,0,0, -0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,91,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); -z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133, -1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1, -152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14, -9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148, -1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167, -0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200, -255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240, -202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,19,2,234,1,113,2,207,255,16,1,200,1,254,1,144,1,253,1,50,2,114,0,23,2,102,2,186,2,128,1,226,2,239,2,178,2,163,1,41,2,249,2,204,1,124,2,255,2,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41, -0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,248,2,47,3,88,3,95,3,98,3,100,3,102,3,105,3,113,3,117,3,127,3,129,3,131,3,135,3,139,3,141,3,143,3,145,3,154,3,157,3,168,3,170,3,172,3,176,3,179,3,181,3,183,3,185,3,187,3,194,3,210,3,212,3,216,3,218,3,220,3,223,3,225,3,227,3,229,3,234,3,251,3,253,3,1,4,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,128,3,140,0,4,1,98,0,12,1,252,3,41,0,226,1,41,0,41,0,41,0,41,0,14,1,14,1,14,1,212,0,217,0,127,255,155,1,155,1,38,2,5,0,114,2,106,1,221,2,62,3,224,3,235,3,2,4,27,3, -171,2,39,3,126,2,51,3,241,2,180,3,62,0,49,3,56,3,132,0,175,2,99,2,96,3,9,4,147,1,175,3,198,3,215,3,8,4,14,4,16,4,192,3,228,3,236,1,206,255,57,0,131,0,153,0,221,0,206,1,76,2,84,2,163,2,209,2,52,3,66,3,89,3,146,3,211,3,10,4,41,4,57,4,63,4,71,4,72,4,73,4,74,4,77,4,80,4,81,4,64,1,244,1,143,2,82,4,83,4,247,1,84,4,86,4,89,4,169,2,90,4,91,4,231,3,92,4,93,4,94,4,221,0,95,4,96,4,97,4,98,4,99,4,100,4,20,3,188,3,17,4,27,4,29,4,247,1,43,4,55,4,104,4,56,4,42,4,44,4,21,4,59,4,23,4,79,4,78,4,101,4,102,4,49,4,38, -4,103,4,107,4,65,4,69,4,111,4,28,4,112,4,113,4,35,4,36,4,117,4,60,4,106,4,108,4,109,4,110,4,114,4,115,4,127,4,130,4,116,4,70,4,119,4,121,4,118,4,132,4,134,4,58,4,62,4,138,4,139,4,141,4,126,4,145,4,153,4,146,4,155,4,137,4,142,4,144,4,148,4,143,4,149,4,150,4,151,4,156,4,157,4,158,4,160,4,120,4,122,4,124,4,123,4,125,4,128,4,129,4,136,4,162,4,170,4,161,4,165,4,163,4,167,4,169,4,168,4,172,4,174,4,173,4,178,4,191,4,193,4,202,4,203,4,207,4,208,4,209,4,210,4,179,4,180,4,181,4,197,4,199,4,185,4,187,4,213, -4,59,1,42,3,83,1,36,3,5,0,194,0,194,0,30,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,34,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,184,3,35,3,35,3,35,3,154,3,86,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,88,0,88,0,87,0,87,0,87,0,86,0,83,1,4,3,184,3,184,3,59,1,87,0,87,0,87,0,86,0,83,1,5,3,68,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0, -91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,22,5,146,0,153,3,2,0,59,1,171,1,24,0,167,2,185,3,48,0,86,0,83,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,94,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,165,3,165,3,59,1,3,1,156,1,142,1,140,1,57,0,221,2,221,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,221,4,154,3,86,1,12,1,166, -3,167,3,241,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,145,3,15,5,170,2,175,2,15,5,233,0,141,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,85,0,82,0,168,0,168,2,175,1,170,3,171,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86, -0,83,1,59,1,63,1,145,3,16,5,29,3,143,3,16,5,169,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,79,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,108,3,108,3,117,1,85,0,82,0,168,0,176,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,128,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,114,1,51,1,205,3,111,1,1,0,143,3,177,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,189,0,89,0,89,0, -89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,208,2,180,3,165,3,165,3,149,0,206,2,180,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,82,1,170,3,171,3,179,3,182,2,172,3,206,3,59,1,185,3,48,0,166,3,167,3,203,2,177,2,71,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,64,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,156,1,147,1,52,3,52,3,64,3,67,3,74,0,92,0,81,0, -83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,186,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,3,1,142,2,143,2,144,2,137,1,111,0,75,1,153,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,188,0,187,0,186,0,56,3,169,3,72,1,219,0,185,3,48,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,188,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,226, -2,3,0,150,4,187,3,92,1,225,2,76,1,24,3,165,3,165,3,169,3,79,0,173,1,218,2,3,0,203,0,160,0,22,1,135,1,17,1,134,1,190,0,124,3,178,1,144,1,229,2,76,0,77,0,15,1,31,1,253,0,97,1,242,0,78,0,84,1,84,1,85,0,82,0,168,0,76,0,77,0,233,0,141,1,185,3,48,0,176,1,78,0,84,1,84,1,21,1,166,3,167,3,185,0,183,1,139,2,132,1,129,1,128,1,176,1,234,0,20,1,107,0,162,1,93,1,81,1,80,1,127,1,125,3,216,2,215,0,181,3,123,0,203,3,52,1,42,3,162,1,180,1,179,1,156,1,138,1,30,3,144,1,105,3,126,3,123,0,209,2,104,3,42,3,121,3,180,1, -179,1,215,0,181,3,30,3,95,1,210,2,185,2,124,1,178,1,3,3,115,1,22,0,178,1,144,1,79,0,173,1,232,0,3,0,189,0,157,1,102,3,35,3,35,3,35,3,37,3,18,0,54,0,148,0,185,3,48,0,188,3,113,0,185,3,9,0,35,3,35,3,35,3,37,3,18,0,54,1,123,0,236,2,76,0,77,0,230,2,123,0,69,1,187,3,98,3,78,0,84,1,84,1,113,0,94,1,103,1,85,0,82,0,168,0,87,1,192,3,192,3,176,1,2,3,156,1,158,1,151,1,23,0,216,4,216,4,79,0,173,1,101,1,3,0,166,0,91,0,91,0,91,0,91,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,178,1,180,1, -179,1,24,3,64,1,30,3,76,0,77,0,21,3,15,1,123,0,178,1,104,1,78,0,84,1,84,1,96,3,85,0,82,0,168,0,185,3,9,0,139,1,231,2,104,1,176,1,253,0,102,1,252,0,165,3,165,3,185,3,30,0,121,3,71,1,216,0,35,3,35,3,35,3,37,3,18,0,113,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,113,0,180,1,179,1,24,3,185,0,30,3,32,1,132,1,129,1,128,1,123,0,113,0,152,3,2,0,28,3,184,2,166,3,167,3,127,1,69,0,173,1,178,1,3,0,218,0,110,0,226,2,253,0,102,1,252,0,178,1,225,2,165,3,165,3,124,3,103,1,222,0,35,3,35,3, -35,3,37,3,18,0,185,3,47,0,165,3,165,3,165,3,165,3,76,0,77,0,185,3,9,0,110,1,136,3,217,0,78,0,84,1,84,1,165,2,49,1,48,1,47,1,206,0,45,1,224,0,3,1,152,2,176,1,81,1,80,1,178,1,228,0,247,0,144,0,166,3,167,3,165,3,165,3,155,2,125,3,68,1,235,4,96,0,178,1,162,1,28,3,166,3,167,3,166,3,167,3,185,3,48,0,145,1,148,0,33,1,126,3,42,3,161,1,180,1,179,1,165,2,247,2,30,3,185,3,9,0,58,1,220,0,162,0,161,0,170,0,146,1,239,0,185,3,8,0,194,0,171,2,171,2,154,1,166,3,167,3,238,0,191,3,165,3,165,3,225,0,152,1,177,3,109, -1,189,3,212,0,190,3,172,0,245,2,35,3,35,3,35,3,37,3,18,0,173,0,109,1,176,0,123,0,171,0,113,0,244,0,184,3,246,0,178,1,100,1,28,3,116,1,109,1,236,0,192,3,192,3,42,3,34,1,36,3,191,0,165,0,84,3,30,3,3,1,60,1,166,3,167,3,237,0,185,3,34,0,148,1,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,189,2,184,3,178,1,240,0,91,1,246,2,35,3,35,3,35,3,178,1,245,0,155,4,178,1,133,1,178,1,120,1,178,1,127,3,167,0,178,1,149,1,190,2,185,3,35,0,161,2,65,1,221,0,178,1,77,1,185,3,11,0,178, -1,185,3,26,0,185,3,36,0,185,3,37,0,251,0,185,3,38,0,178,1,3,1,178,1,245,2,178,1,73,1,185,3,27,0,178,1,223,0,185,3,28,0,178,1,178,2,178,1,67,0,178,1,65,0,178,1,94,3,185,3,39,0,185,3,40,0,185,3,41,0,167,1,178,1,185,3,10,0,178,1,4,3,185,3,42,0,185,3,98,0,185,3,43,0,185,3,44,0,5,3,178,1,90,1,178,1,75,0,178,1,73,0,185,3,31,0,178,1,185,3,45,0,178,1,3,1,178,1,178,2,178,1,245,2,178,1,119,3,178,1,185,3,46,0,185,3,32,0,185,3,115,0,178,1,10,1,185,3,116,0,183,3,185,3,117,0,185,3,52,0,185,3,33,0,185,3,99,0,185, -3,49,0,214,2,178,1,141,3,178,1,19,0,185,3,100,0,178,1,88,1,178,1,113,0,178,1,2,1,180,2,178,1,3,1,178,1,158,2,178,1,20,0,178,1,185,3,101,0,185,3,97,0,178,1,3,1,185,3,114,0,185,3,112,0,185,3,105,0,113,0,185,3,104,0,185,3,102,0,185,3,103,0,185,3,51,0,178,1,148,0,178,1,185,3,53,0,167,0,178,1,3,1,113,0,44,1,51,1,144,3,107,1,55,1,92,3,248,0,5,1,209,0,8,1,160,1,185,3,50,0,185,3,25,0,164,1,215,2,185,3,29,0,174,1,65,1,168,1,245,2,172,1,66,1,124,0,245,4,214,0,165,0,198,2,91,3,140,3,38,3,26,3,53,1,158,0,193, -0,105,1,254,0,211,2,108,1,67,0,125,1,13,1,223,2,199,0,67,0,70,0,113,0,188,2,187,2,195,2,196,2,116,3,113,0,254,2,113,0,87,3,193,0,115,3,199,0,101,3,101,3,163,2,100,3,100,3,109,0,112,1,255,0,4,1,7,1,24,1,91,3,9,1,38,3,206,3,11,1,199,2,183,2,16,1,252,2,26,1,27,3,28,1,150,0,232,2,243,2,159,1,36,1,37,1,34,3,166,2,160,2,149,2,148,2,150,2,159,3,6,0,50,1,130,1,96,1,18,3,243,0,250,0,118,3,106,1,163,0,30,1,163,1,42,1,162,3,159,0,200,3,196,0,126,0,135,3,133,3,197,3,55,0,58,0,67,1,19,1,89,3,136,0,147,0,182,2, -88,3,121,0,65,0,98,1,99,1,123,1,175,0,61,0,151,0,113,1,180,0,103,3,119,1,129,0,1,1,244,2,210,0,181,0,145,0,131,0,132,0,121,1,6,1,151,2,133,0,134,0,139,0,15,3,23,3,182,0,136,1,183,0,56,1,74,1,202,2,120,3,201,2,83,3,180,2,195,0,200,2,150,1,174,2,193,2,57,1,173,2,64,0,71,3,18,1,72,0,172,2,78,1,174,3,95,0,240,2,23,1,25,1,192,2,241,2,239,2,166,1,27,1,155,1,238,2,170,1,66,0,204,0,153,1,21,0,29,1,160,3,157,2,181,1,205,0,207,0,208,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,235,0,169, -0,89,1,106,0,222,2,22,3,40,1,38,1,39,1,120,0,41,1,99,3,97,3,127,0,128,0,130,0,212,2,229,0,174,0,249,0,114,3,137,0,230,0,138,0,135,0,117,3,231,0,59,0,60,0,177,0,113,3,7,0,178,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,152,0,154,2,122,1,20,1,184,0,14,1,122,0,142,0,126,1,131,1,62,0,13,0,14,0,191,2,63,0,125,0,61,1,62,1,227,0,41,3,40,3,69,3,220,2,15,0,164,0,224,2,4,0,253,2,211,0,143,1,213,0,192,0,143,0,248,2,70,0,67,0,16,0,17,0,70,3,68,3,123,3,73,3,122,3,198,0,197,0,149,3,154,0,165,1,155,3,150, -3,155,0,200,0,209,3,169,1,72,3,156,0,201,0,39,3,164,2,80,0,46,1,43,1,209,3,202,0,237,4,236,4,16,16,2,16,40,0,52,2,101,3,65,2,213,2,213,2,213,2,227,2,237,255,16,0,16,0,100,0,213,2,213,2,213,2,213,2,213,2,213,2,213,2,73,3,73,3,26,2,251,1,172,2,111,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,203,1,168,1,238,1,17,2,17,2,158,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213, -2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,53,3,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,184,3,199,2,199,2,199,2,199,2,199,2,254,2,23,0,32,0,43,3,109,3,151,2,90,2,90,2,43,3,73,0,113,0,205,255,161,255,161,255,161,255,245,1,245,1,245,1,83,2,83,2,41,3,205,0,20,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,192,0,116,2,242,1,242,1,113,0,222,255,222,255,222,255,222,255, -222,255,222,255,161,255,161,255,161,255,112,3,162,255,162,255,214,2,228,2,99,0,29,3,119,3,93,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,173,3,173,3,173,3,43,3,43,3,158,3,43,3,43,3,43,3,238,255,43,3,43,3,74,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,224,0,96,2,142,3,142,3,142,3,54,4,45,0,213,1,252,1,166,3,202,3,202,3,140,4,166,3,140,4,12,4,159,4,103,1,249,3,202,3,186,3,249,3,249,3,68,4,218,2,241,1,201,4,147,4,147,4,204,4,204,4,147,4,1,5,0,5,154, -4,11,5,11,5,11,5,11,5,147,4,13,5,154,4,1,5,0,5,0,5,154,4,147,4,13,5,152,4,220,4,147,4,147,4,13,5,22,5,147,4,13,5,147,4,13,5,22,5,205,4,205,4,205,4,239,4,22,5,205,4,214,4,205,4,239,4,205,4,205,4,198,4,221,4,198,4,221,4,198,4,221,4,198,4,221,4,147,4,147,4,194,4,22,5,24,5,24,5,22,5,206,4,218,4,219,4,222,4,154,4,67,5,68,5,83,5,83,5,95,5,95,5,95,5,95,5,161,255,161,255,161,255,161,255,161,255,161,255,161,255,161,255,195,1,108,3,90,1,135,4,75,4,185,1,55,3,164,4,87,4,166,4,171,4,175,4,176,4,237,3,105,4,200, -4,21,2,177,4,188,4,131,4,190,4,85,4,88,4,196,4,133,4,11,3,106,5,108,5,90,5,227,4,99,5,21,5,100,5,101,5,102,5,254,4,251,4,16,5,5,5,109,5,6,5,116,5,132,5,14,5,3,5,103,5,104,5,25,5,82,5,78,5,23,5,142,5,139,5,124,5,40,5,8,5,69,5,125,5,70,5,65,5,81,5,47,5,131,5,136,5,138,5,46,5,54,5,140,5,84,5,143,5,144,5,137,5,145,5,85,5,110,5,147,5,94,5,93,5,151,5,152,5,153,5,61,5,156,5,157,5,159,5,158,5,57,5,160,5,162,5,126,5,122,5,165,5,64,5,163,5,127,5,164,5,128,5,163,5,170,5,171,5,172,5,173,5,174,5,176,5,185,5,177, -5,179,5,178,5,180,5,181,5,183,5,184,5,180,5,186,5,188,5,189,5,190,5,192,5,89,5,96,5,97,5,98,5,193,5,200,5,202,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21, -5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, -21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223,3,156,4,56,4,223,3,56, -4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, -21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110, -50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116, -101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99, -47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70, -117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110, -99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,51,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10, -11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152, -153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2, -5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103, -110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,149,0,0,0,102,0,0,0,80,1,1,0,32,0,7,1,94,0,0,1,85,1,0,0,13,0,2,0,109,0,0,0,73,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0, -0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114, -105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,53,45,49,56,32,49,48,58,53,55,58,51,48,32,102,99,52,57,102,53,53,54,101,52,56,57,55,48,53,54,49,100,55,97,98,54,97,50,102,50,52,102,100,100,55,100,57,101,98,56,49,102,102,50,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102, -117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5, -6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73, -83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68, -65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69, -70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101, -31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0, -82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109],"i8",4,l.aa+10350); -z([101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101, -44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100, -32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101, -32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65, -84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122, -101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39, -32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113, -95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67, -84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32, -37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105, -114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89, -32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46, -39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87, -72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79, -32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99, -111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111, -99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101, -108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116, -97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32, -108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82, -32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45, -49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116, -58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0, -119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77, -65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32, -116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39, -0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110, -105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105, -110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75, -69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105, -114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115, -105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32, -37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116, -32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105, -122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108, -0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44, -32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97, -99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110, -99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115, -105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102, -115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116, -104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117, -110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111, -114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197, -1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173, -3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0, -240,2,149,1,149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108, -101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104, -105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69, -32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84, -32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97, -32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101, -114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117, -109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44, -37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100, -101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72, -69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81, -32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32, -110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108, -105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37, -115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79, -82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109, -117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0, -85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111, -111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46, -42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110, -115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32, -37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98, -108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115],"i8",4,l.aa+20590); -z([101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109, -110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98, -108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116, -114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32, -105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79, -77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115, -40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32, -37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111, -111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32, -116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116, -32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32, -118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85, -69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,99,0,1,3,64,1,8,0,74,0,2,0,48,1,2,1,64,1,8,0,74,0,1,0,159,0,0,0,85,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108, -0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,99,0,1,4,21,1,0,0,73,0,2,0,100,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116, -32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105, -0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120, -32,0,89,1,0,0,21,1,4,0,97,0,3,0,85,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,100,0,0,0,2,0,0,0,99,0,1,0,85,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109, -105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109, -117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116, -111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115, -116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101, -95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101, -95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115, -121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121, -0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105, -110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76, -69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32, -34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115, -32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,112,0,0,0,96,0,2,0,113,0,0,0,109,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,55,33,26,23,25,24,59,57,56,58,7,6,55,33,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115, -0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37, -115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120, -32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,1,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,0,0,16,16,16, -0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,0,16,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73, -71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119, -115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117, -114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78, -67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69, -32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83, -32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116, -101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69, -76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111, -108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114, -101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32, -116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65, -82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39, -37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93, -32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37, -115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44, -115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120, -105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,77,0,0,0,55,0,9,0,94,0,0,0,36,0,7,0,121,0,0,0,94,0,1,0,13,0,9,0,7,0,2,0,74,0,0,0,109,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46, -47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,92,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,249,22,172,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52, -53,19,0,1,2,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,168,169,170,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,157,22,23,23,96,26,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,221,222,223,185,27,28,29,30,31,32,33,34,35,36,37,38, -39,40,41,240,43,44,45,46,47,48,49,50,51,52,53,19,227,22,23,230,22,96,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,30,43,44,45,46,47,48,49,50,51,52,53,19,190,191,55,56,24,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,168,169,170,179,180,171,96,19,172,173,97,98,188,179,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,107,43,44,45,46,47,48,49,50,51,52,53,19,207,208,30,31,32,33,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50, -51,52,53,19,152,7,8,9,49,22,19,24,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,101,55,53,193,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,116,22,23,169,170,121,207,85,55,56,97,19,20,195,22,99,100,101,102,103,104,105,12,152,206,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,101,97,98,99,148,149,102,103,104,66,154,112,156,83,229,47,48,113,57,163,194,195,92,246,247,95,83, -97,98,207,208,101,206,59,73,92,75,63,95,163,97,98,194,195,101,219,85,181,19,152,175,77,196,152,206,19,20,199,22,30,163,11,132,133,134,135,136,209,152,172,173,152,196,172,173,132,133,134,135,136,164,92,213,47,48,49,92,186,169,170,54,55,56,196,100,219,221,222,223,243,132,133,66,175,207,208,152,231,119,120,19,20,236,22,152,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,152,97,98,85,107,101,47,48,163,112,92,152,152,54,55,56,229,221,222,223,172,173,163,49,152,66,108,109,110,55,56,172,173,163,186,22, -132,133,134,135,136,196,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,99,101,152,102,103,104,92,196,146,147,152,181,97,98,113,19,20,152,22,218,22,116,108,109,110,152,121,55,56,12,219,218,132,133,134,135,136,172,173,55,56,55,56,47,48,172,173,236,152,5,54,55,56,55,10,11,12,13,14,186,152,17,66,47,48,152,210,16,84,97,98,55,56,21,57,217,122,22,152,83,152,97,98,97,98,172,173,152,152,224,73,95,75,97,98,97,124,101,172,173,164,193,47,48,60,163,62,172,173,24,55,56,186,97,98,71,100,55,56,183,207,185,152, -107,23,109,82,26,132,133,134,135,136,89,152,26,92,93,196,88,55,90,152,91,152,217,152,152,132,133,95,152,97,211,212,103,101,152,114,97,98,152,172,173,19,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,65,97,152,152,141,124,132,133,134,152,140,140,152,78,152,233,152,193,98,152,56,86,172,173,166,167,237,152,217,172,173,152,172,173,172,173,172,173,237,172,173,152,152,152,124,152,111,172,173,152,237,172,173,152,55,152,26,152,130,152,152,172,173,172,173,172,173,249,152,172,173,152,61,172,173,172,173,172, -173,172,173,70,152,193,152,137,152,139,172,173,152,172,173,152,152,152,97,152,26,152,163,152,172,173,172,173,172,173,152,16,172,173,26,172,173,172,173,172,173,172,173,172,173,163,152,152,152,22,172,173,152,241,152,196,152,193,106,152,152,152,163,152,37,152,172,173,172,173,152,152,172,173,172,173,172,173,196,172,173,172,173,172,173,172,173,152,152,152,172,173,98,152,152,196,160,22,23,19,164,193,152,88,232,90,191,172,173,172,173,163,193,172,173,166,167,163,124,163,244,245,23,211,212,26,55,23,55,23, -26,123,26,152,23,193,56,26,23,23,23,26,26,26,196,100,101,7,8,152,196,23,196,23,26,152,26,132,133,23,132,133,26,152,152,152,152,210,97,152,97,96,152,152,152,152,152,210,152,210,197,152,152,152,152,152,152,152,152,152,152,152,152,198,150,176,214,201,214,238,201,238,184,214,226,200,155,198,67,122,242,159,159,69,239,239,159,175,175,22,220,180,175,27,130,18,159,18,158,137,220,159,158,235,74,189,234,159,159,158,22,192,192,177,159,159,192,192,189,201,189,158,107,158,177,76,174,201,174,201,106,159,174,125, -174,182,177,176,107,159,174,137,174,53,174,129,216,215,215,182,216,216,177,215,126,216,177,128,25,127,26,215,13,162,161,153,153,6,151,151,151,151,165,178,165,178,4,3,22,142,15,94,16,205,120,202,204,203,165,201,23,23,131,111,123,20,225,125,16,1,131,228,111,123,56,228,37,37,64,1,5,122,22,107,140,80,80,26,87,72,107,24,20,19,112,105,23,68,22,79,79,22,22,22,58,22,245,248,248,79,23,23,23,116,22,122,23,22,56,23,26,23,64,22,124,26,26,64,64,23,23,23,11,23,22,26,23,22,24,1,23,22,26,250,24,23,22,122,23,23,22, -15,23,250,122,122,122,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27, -27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105, -110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116, -32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111, -114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115, -116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111, -32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69, -32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, -99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109],"i8",4,l.aa+30830); -z([101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115, -117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115, -117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32, -115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32, -87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115, -113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117, -109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46, -115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109, -97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32, -112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117, -115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101, -97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103, -101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115, -0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110, -115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112, -0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,76,97,115,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,83,111,114,116,101,114,83,111,114,116,0,66,105,116,65,110,100,0,66,105,116,79, -114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,83,111,114,116,0,66,105,116,78,111,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102, -90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101, -0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,83,116,114,105,110,103,56,0,67,111,117,110,116,0, -82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101, -0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111, -119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,82,101,97,108,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109, -0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72, -105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101, -0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110, -116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32, -112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100, -0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119, -105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99, -97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97, -103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102, -115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112, -101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66, -67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101, -111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113, -117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54, -55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112, -111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0, -37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65, -66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123, -124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111, -114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101, -115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111, -110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101, -32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108, -105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105, -108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70, -117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115, -32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101, -32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108, -32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101, -116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116, -105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111, -114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41070);var Cb=l.ta(z(12,"i8",2),8);assert(0==Cb%8);f._i64Subtract=Db;f._i64Add=Eb; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71, +1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143, +1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118, +3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136, +31,150,8,152,31,150,8,168,31],"i8",4,l.aa); +z([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62, +121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255, +170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29, +25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76, +0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0, +217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4, +102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239, +4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209, +3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0, +98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3, +86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0, +178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94, +0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78, +3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83, +0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19, +0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166, +3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8, +3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12, +1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0, +42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121, +0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0, +242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0, +142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1, +134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211, +0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2, +248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31, +6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73, +5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4, +153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5, +252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5, +52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243, +4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111, +4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52, +5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14, +0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, +0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, +116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, +116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, +117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, +101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, +134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, +99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12, +0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110, +111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5, +4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73, +79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67, +65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83, +67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131, +81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8, +0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116, +41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32, +114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101, +109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97, +105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110],"i8",4,l.aa+10240); +z([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69, +32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81, +46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40, +83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111, +99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99, +107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116, +97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98, +108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101, +118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63, +0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101, +39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63, +32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32, +49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69, +32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39, +37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72, +69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32, +105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108, +61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116, +97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79, +73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114, +103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68, +69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80, +32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69, +88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102, +105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78, +44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116, +115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99, +107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37, +81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105, +108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109, +0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115, +116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118, +119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110, +111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115, +0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115, +116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32, +98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178, +0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3, +203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177, +0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1, +168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105, +101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32, +115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115, +0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35, +37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97, +116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32, +97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100, +101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40, +37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115, +113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95, +114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117, +116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95, +115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101, +32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101, +103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117, +108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102, +32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109, +97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115, +0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117, +101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108, +105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105, +98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0, +97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111, +116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37, +115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, +111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101],"i8",4,l.aa+20480); +z([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116, +101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32, +105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114, +45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98, +105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97, +99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110, +97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99, +97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101, +114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115, +32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111, +114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114, +121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78, +79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32, +105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101, +97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115, +115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113, +0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111, +114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111, +117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108, +116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0, +102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114, +121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116, +97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112, +101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32, +110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97, +108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66, +76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111, +119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115, +116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0, +0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55, +56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111, +119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37, +84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116, +101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97, +116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32, +98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119, +0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110, +97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115, +32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101, +32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105, +115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105, +99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32, +109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115, +32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115, +32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103, +101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101, +100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47, +48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119, +120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46, +47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33, +247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206, +179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83, +43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132, +133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172, +173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217, +166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159, +158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64, +22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3, +3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32, +100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114, +101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114, +101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110, +111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114, +111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104, +97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108, +32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65, +67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115, +99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34, +37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118],"i8",4,l.aa+30720); +z([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32, +37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79, +110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101, +32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110, +99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115, +116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115, +45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109, +0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117, +116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116, +0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84, +0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101, +114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112, +97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110, +99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111, +119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112, +73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79, +112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32, +97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, +99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105, +115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116, +32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32, +105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100, +58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114, +0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81, +76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116, +105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2, +14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103, +101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0, +110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110, +116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115, +116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101, +32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97, +114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25, +13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97, +32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99, +101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45, +111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100, +114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117, +115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100, +101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117, +108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109, +111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115, +99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111, +116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114, +101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111, +110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111, +116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+40960);var Cb=l.ta(z(12,"i8",2),8);assert(0==Cb%8);f._i64Subtract=Db;f._i64Add=Eb; var E={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Fb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core", 13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable", @@ -454,22 +451,22 @@ U();U();U();var d=N[c];if(!d)throw new G(E.L);yc(d.g);return 0}catch(e){return"u var X=(function(global,env,buffer) { "use asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=global.Math.floor;var W=global.Math.abs;var X=global.Math.sqrt;var Y=global.Math.pow;var Z=global.Math.cos;var _=global.Math.sin;var $=global.Math.tan;var aa=global.Math.acos;var ba=global.Math.asin;var ca=global.Math.atan;var da=global.Math.atan2;var ea=global.Math.exp;var fa=global.Math.log;var ga=global.Math.ceil;var ha=global.Math.imul;var ia=global.Math.min;var ja=global.Math.clz32;var ka=env.abort;var la=env.assert;var ma=env.invoke_iiii;var na=env.jsCall_iiii;var oa=env.invoke_i;var pa=env.jsCall_i;var qa=env.invoke_vi;var ra=env.jsCall_vi;var sa=env.invoke_vii;var ta=env.jsCall_vii;var ua=env.invoke_iiiiiii;var va=env.jsCall_iiiiiii;var wa=env.invoke_ii;var xa=env.jsCall_ii;var ya=env.invoke_viii;var za=env.jsCall_viii;var Aa=env.invoke_v;var Ba=env.jsCall_v;var Ca=env.invoke_iiiii;var Da=env.jsCall_iiiii;var Ea=env.invoke_viiiiii;var Fa=env.jsCall_viiiiii;var Ga=env.invoke_iii;var Ha=env.jsCall_iii;var Ia=env.invoke_iiiiii;var Ja=env.jsCall_iiiiii;var Ka=env.invoke_viiii;var La=env.jsCall_viiii;var Ma=env._pthread_cleanup_pop;var Na=env.___syscall85;var Oa=env._sin;var Pa=env._exp;var Qa=env._utimes;var Ra=env._llvm_pow_f64;var Sa=env._acos;var Ta=env.___syscall54;var Ua=env._pthread_cleanup_push;var Va=env._abort;var Wa=env.___syscall40;var Xa=env.___syscall118;var Ya=env.___setErrNo;var Za=env.___syscall20;var _a=env.___syscall183;var $a=env.___assert_fail;var ab=env._usleep;var bb=env._asin;var cb=env.___buildEnvironment;var db=env.___syscall202;var eb=env.___syscall91;var fb=env._cos;var gb=env.___syscall39;var hb=env._localtime_r;var ib=env._tzset;var jb=env._emscripten_set_main_loop_timing;var kb=env._sbrk;var lb=env.___syscall192;var mb=env.___syscall197;var nb=env.___syscall196;var ob=env.___syscall195;var pb=env.___syscall194;var qb=env.___syscall212;var rb=env._sysconf;var sb=env.___syscall94;var tb=env._nanosleep;var ub=env._emscripten_memcpy_big;var vb=env.___syscall221;var wb=env._floor;var xb=env._atan;var yb=env.___syscall201;var zb=env._pthread_self;var Ab=env._getenv;var Bb=env.___syscall33;var Cb=env._log;var Db=env.___unlock;var Eb=env.___syscall140;var Fb=env.___syscall15;var Gb=env._emscripten_set_main_loop;var Hb=env.___syscall10;var Ib=env._tan;var Jb=env.___syscall3;var Kb=env.___lock;var Lb=env.___syscall6;var Mb=env.___syscall5;var Nb=env.___syscall4;var Ob=env._time;var Pb=env._atan2;var Qb=env._gettimeofday;var Rb=env._ceil;var Sb=env._sqrt;var Tb=env._localtime;var Ub=env.___syscall207;var Vb=env.___syscall146;var Wb=0.0;function Xb(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function ri(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;C=D;p=D+56|0;q=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;n=D+12|0;A=D+8|0;o=D+4|0;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;k[x>>2]=g;k[y>>2]=h;k[z>>2]=l;do if(k[s>>2]|0){if((k[w>>2]|0)!=0?(k[y>>2]|0)!=0|(k[x>>2]|0)!=0:0)break;if(((k[w>>2]|0)==0&(k[y>>2]|0)!=0^1|(k[x>>2]|0)!=0?!((((k[w>>2]|0)!=0|(k[y>>2]|0)!=0)^1)&(k[x>>2]|0)!=0|(k[t>>2]|0)<-1|(k[t>>2]|0)>127):0)?(b=Tf(k[s>>2]|0)|0,k[n>>2]=b,255>=(b|0)):0){k[A>>2]=k[u>>2]&2048;k[u>>2]=k[u>>2]&7;do if((k[u>>2]|0)!=4){if((k[u>>2]|0)==5){b=ri(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,1|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){b=ri(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,2|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b}if(!(k[o>>2]|0)){k[u>>2]=3;break}k[p>>2]=k[o>>2];C=k[p>>2]|0;r=D;return C|0}}else k[u>>2]=(i[960]|0)==0?3:2;while(0);b=si(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,0)|0;k[B>>2]=b;do if(((k[B>>2]|0)!=0?(m[(k[B>>2]|0)+2>>1]&3|0)==(k[u>>2]|0):0)?(i[k[B>>2]>>0]|0)==(k[t>>2]|0):0){a=k[q>>2]|0;if(!(k[(k[q>>2]|0)+152>>2]|0)){_h(a);break}tg(a,5,26848,C);k[p>>2]=5;C=k[p>>2]|0;r=D;return C|0}while(0);C=si(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,1)|0;k[B>>2]=C;if(!(k[B>>2]|0)){k[p>>2]=7;C=k[p>>2]|0;r=D;return C|0}uu(k[q>>2]|0,k[B>>2]|0);if(k[z>>2]|0){C=k[z>>2]|0;k[C>>2]=(k[C>>2]|0)+1}k[(k[B>>2]|0)+24>>2]=k[z>>2];j[(k[B>>2]|0)+2>>1]=m[(k[B>>2]|0)+2>>1]&3|k[A>>2];k[(k[B>>2]|0)+12>>2]=(k[w>>2]|0)!=0?k[w>>2]|0:k[x>>2]|0;k[(k[B>>2]|0)+16>>2]=k[y>>2];k[(k[B>>2]|0)+4>>2]=k[v>>2];i[k[B>>2]>>0]=k[t>>2];k[p>>2]=0;C=k[p>>2]|0;r=D;return C|0}}while(0);C=Vf(137248)|0;k[p>>2]=C;C=k[p>>2]|0;r=D;return C|0}function si(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;f=y+44|0;g=y+40|0;h=y+36|0;m=y+32|0;n=y+49|0;o=y+48|0;t=y+28|0;u=y+24|0;p=y+20|0;q=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;i[n>>0]=d;i[o>>0]=e;k[u>>2]=0;k[p>>2]=0;b=Tf(k[h>>2]|0)|0;k[s>>2]=b;b=Aj((k[g>>2]|0)+348|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break;b=ou(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[w>>2]=b;if((k[w>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[w>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}a:do if(!(i[o>>0]|0)){if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&2097152|0)==0:0)break;k[p>>2]=0;k[q>>2]=((l[18229+(l[k[h>>2]>>0]|0)>>0]|0)+(k[s>>2]|0)|0)%23|0;b=pu(k[q>>2]|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break a;b=ou(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[x>>2]=b;if((k[x>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[x>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}}while(0);do if((l[o>>0]|0)!=0&(k[p>>2]|0)<6?(b=Bh(k[g>>2]|0,28+(k[s>>2]|0)+1|0,0)|0,k[u>>2]=b,(b|0)!=0):0){k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+28;i[k[u>>2]>>0]=k[m>>2];j[(k[u>>2]|0)+2>>1]=l[n>>0]|0;IR((k[u>>2]|0)+28|0,k[h>>2]|0,(k[s>>2]|0)+1|0)|0;b=ak((k[g>>2]|0)+348|0,k[(k[u>>2]|0)+20>>2]|0,k[u>>2]|0)|0;k[v>>2]=b;if((k[v>>2]|0)!=(k[u>>2]|0)){k[(k[u>>2]|0)+8>>2]=k[v>>2];break}bg(k[g>>2]|0,k[u>>2]|0);vh(k[g>>2]|0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}while(0);do if(k[u>>2]|0){if((k[(k[u>>2]|0)+12>>2]|0)==0?(l[o>>0]|0)==0:0)break;k[f>>2]=k[u>>2];b=k[f>>2]|0;r=y;return b|0}while(0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d;f=d+20|0;h=d+8|0;e=d+4|0;k[f>>2]=a;k[d+16>>2]=b;k[d+12>>2]=c;k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=Yd(26797,g)|0;k[e>>2]=a;te(k[f>>2]|0,k[e>>2]|0,-1);Ud(k[e>>2]|0);r=d;return}function ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=r;r=r+16|0;h=g+12|0;e=g+8|0;f=g+4|0;i=g;k[h>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=d;if((k[i>>2]|0)<(k[h>>2]|0)){r=g;return 0}ek();Mf(k[e>>2]|0,k[f>>2]|0)|0;fk();r=g;return 0}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=-1;if(!(k[d>>2]|0)){f=k[f>>2]|0;r=g;return f|0}k[f>>2]=(k[(k[c>>2]|0)+20>>2]|0)-1;k[e>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);while(1){if((k[f>>2]|0)<0){c=6;break}if(!(sg(k[k[e>>2]>>2]|0,k[d>>2]|0)|0)){c=6;break}k[f>>2]=(k[f>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-16}if((c|0)==6){f=k[f>>2]|0;r=g;return f|0}return 0}function wi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;k[l>>2]=0;k[m>>2]=0;while(1){if(!((k[m>>2]|0)<(k[(k[f>>2]|0)+20>>2]|0)?(k[n>>2]|0)==0:0))break;if(((k[g>>2]|0)==10?1:(k[m>>2]|0)==(k[g>>2]|0))?(d=mu(k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<4)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0,k[n>>2]=d,k[i>>2]=0,k[j>>2]=0,(k[n>>2]|0)==5):0){k[l>>2]=1;k[n>>2]=0}k[m>>2]=(k[m>>2]|0)+1}r=o;return ((k[n>>2]|0)==0&(k[l>>2]|0)!=0?5:k[n>>2]|0)|0}function xi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(l[(k[b>>2]|0)+69>>0]|0)){r=c;return}if(k[(k[b>>2]|0)+164>>2]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=0;k[(k[b>>2]|0)+248>>2]=0;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return}function yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s;f=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;e=s+12|0;q=s+8|0;p=s+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[q>>2]=0;k[p>>2]=0;k[k[h>>2]>>2]=0;d=Nd()|0;k[n>>2]=d;if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=s;return q|0}if(!(1<<(k[j>>2]&7)&70)){q=Vf(138404)|0;k[f>>2]=q;q=k[f>>2]|0;r=s;return q|0}do if(k[3]|0){if(k[j>>2]&32768){k[e>>2]=0;break}if(k[j>>2]&65536){k[e>>2]=1;break}else{k[e>>2]=k[4];break}}else k[e>>2]=0;while(0);if(!(k[j>>2]&262144)){if(k[57]|0)k[j>>2]=k[j>>2]|131072}else k[j>>2]=k[j>>2]&-131073;k[j>>2]=k[j>>2]&-655129;d=ug(464,0)|0;k[m>>2]=d;do if(k[m>>2]|0){if((k[e>>2]|0)!=0?(k[(k[m>>2]|0)+12>>2]=8,(k[(k[m>>2]|0)+12>>2]|0)==0):0){Ud(k[m>>2]|0);k[m>>2]=0;break}k[(k[m>>2]|0)+56>>2]=255;k[(k[m>>2]|0)+20>>2]=2;k[(k[m>>2]|0)+80>>2]=-264537850;k[(k[m>>2]|0)+16>>2]=(k[m>>2]|0)+392;c=(k[m>>2]|0)+92|0;e=1568;b=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(b|0));k[(k[m>>2]|0)+92+44>>2]=0;i[(k[m>>2]|0)+67>>0]=1;i[(k[m>>2]|0)+72>>0]=-1;b=184;a=k[b+4>>2]|0;d=(k[m>>2]|0)+40|0;k[d>>2]=k[b>>2];k[d+4>>2]=a;k[(k[m>>2]|0)+76>>2]=0;k[(k[m>>2]|0)+140>>2]=2147483647;d=(k[m>>2]|0)+24|0;k[d>>2]=k[d>>2]|17825888;Hj((k[m>>2]|0)+364|0);Hj((k[m>>2]|0)+320|0);zi(k[m>>2]|0,35351,1,0,141,0)|0;zi(k[m>>2]|0,35351,3,0,141,0)|0;zi(k[m>>2]|0,35351,2,0,141,0)|0;zi(k[m>>2]|0,21045,1,0,142,0)|0;zi(k[m>>2]|0,21052,1,1,141,0)|0;if(!(i[(k[m>>2]|0)+69>>0]|0)){d=_j(k[m>>2]|0,1,35351,0)|0;k[(k[m>>2]|0)+8>>2]=d;k[(k[m>>2]|0)+48>>2]=k[j>>2];l=ik(k[l>>2]|0,k[g>>2]|0,j,k[m>>2]|0,q,p)|0;k[n>>2]=l;if(k[n>>2]|0){if((k[n>>2]|0)==7)vh(k[m>>2]|0);g=k[m>>2]|0;j=k[n>>2]|0;l=(k[p>>2]|0)!=0?19007:0;k[o>>2]=k[p>>2];tg(g,j,l,o);Ud(k[p>>2]|0);break}p=jk(k[k[m>>2]>>2]|0,k[q>>2]|0,k[m>>2]|0,(k[(k[m>>2]|0)+16>>2]|0)+4|0,0,k[j>>2]|256)|0;k[n>>2]=p;if(k[n>>2]|0){if((k[n>>2]|0)==3082)k[n>>2]=7;vg(k[m>>2]|0,k[n>>2]|0);break}wg(k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0);p=kk(k[m>>2]|0,k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]=p;if(!(i[(k[m>>2]|0)+69>>0]|0))i[(k[m>>2]|0)+66>>0]=i[(k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;p=kk(k[m>>2]|0,0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+16+12>>2]=p;k[k[(k[m>>2]|0)+16>>2]>>2]=21058;i[(k[(k[m>>2]|0)+16>>2]|0)+8>>0]=3;k[(k[(k[m>>2]|0)+16>>2]|0)+16>>2]=19288;i[(k[(k[m>>2]|0)+16>>2]|0)+16+8>>0]=1;k[(k[m>>2]|0)+80>>2]=-1607883113;if(!(i[(k[m>>2]|0)+69>>0]|0)){vg(k[m>>2]|0,0);lk(k[m>>2]|0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)==0?(mk(k[m>>2]|0),p=Nf(k[m>>2]|0)|0,k[n>>2]=p,(k[n>>2]|0)!=0):0)break;if((k[n>>2]|0)==0?(i[(k[m>>2]|0)+69>>0]|0)==0:0){p=nk(k[m>>2]|0)|0;k[n>>2]=p}if(k[n>>2]|0)vg(k[m>>2]|0,k[n>>2]|0);oi(k[m>>2]|0,0,k[9]|0,k[10]|0)|0;Jf(k[m>>2]|0,1e3)|0}}}while(0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)!=7){if(k[n>>2]|0)k[(k[m>>2]|0)+80>>2]=1266094736}else{Cf(k[m>>2]|0)|0;k[m>>2]=0}k[k[h>>2]>>2]=k[m>>2];Ud(k[q>>2]|0);k[f>>2]=k[n>>2]&255;q=k[f>>2]|0;r=s;return q|0}function zi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;w=x;g=x+44|0;h=x+40|0;j=x+36|0;m=x+48|0;n=x+32|0;o=x+28|0;p=x+24|0;v=x+20|0;s=x+16|0;q=x+12|0;t=x+8|0;u=x+4|0;k[h>>2]=a;k[j>>2]=b;i[m>>0]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[s>>2]=l[m>>0];if((k[s>>2]|0)==4|(k[s>>2]|0)==8)k[s>>2]=(i[960]|0)==0?3:2;if((k[s>>2]|0)<1|(k[s>>2]|0)>3){w=Vf(137955)|0;k[g>>2]=w;w=k[g>>2]|0;r=x;return w|0}b=_j(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,0)|0;k[v>>2]=b;a:do if((k[v>>2]|0)!=0?(k[(k[v>>2]|0)+12>>2]|0)!=0:0){a=k[h>>2]|0;if(k[(k[h>>2]|0)+152>>2]|0){tg(a,5,20977,w);k[g>>2]=5;w=k[g>>2]|0;r=x;return w|0}_h(a);if((l[(k[v>>2]|0)+4>>0]&-9|0)==(k[s>>2]|0)){w=Aj((k[h>>2]|0)+364|0,k[j>>2]|0)|0;k[q>>2]=w;k[t>>2]=0;while(1){if((k[t>>2]|0)>=3)break a;k[u>>2]=(k[q>>2]|0)+((k[t>>2]|0)*20|0);if((l[(k[u>>2]|0)+4>>0]|0)==(l[(k[v>>2]|0)+4>>0]|0)){if(k[(k[u>>2]|0)+16>>2]|0)_b[k[(k[u>>2]|0)+16>>2]&255](k[(k[u>>2]|0)+8>>2]|0);k[(k[u>>2]|0)+12>>2]=0}k[t>>2]=(k[t>>2]|0)+1}}}while(0);w=_j(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,1)|0;k[v>>2]=w;if(!(k[v>>2]|0)){k[g>>2]=7;w=k[g>>2]|0;r=x;return w|0}else{k[(k[v>>2]|0)+12>>2]=k[o>>2];k[(k[v>>2]|0)+8>>2]=k[n>>2];k[(k[v>>2]|0)+16>>2]=k[p>>2];i[(k[v>>2]|0)+4>>0]=k[s>>2]|l[m>>0]&8;vg(k[h>>2]|0,0);k[g>>2]=0;w=k[g>>2]|0;r=x;return w|0}return 0}function Ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+24>>2]&2|0)!=0^1)&1;k[g>>2]=0;i[(k[c>>2]|0)+144+5>>0]=1;i[(k[c>>2]|0)+66>>0]=i[(k[(k[(k[c>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;k[f>>2]=0;while(1){if(k[g>>2]|0)break;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(!((k[f>>2]|0)==1?1:((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(b=Dj(k[c>>2]|0,k[f>>2]|0,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Ej(k[c>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if(((k[g>>2]|0)==0?((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(b=Dj(k[c>>2]|0,1,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Ej(k[c>>2]|0,1);i[(k[c>>2]|0)+144+5>>0]=0;if(!((k[g>>2]|0)==0&(k[e>>2]|0)!=0)){g=k[g>>2]|0;r=h;return g|0}Fj(k[c>>2]|0);g=k[g>>2]|0;r=h;return g|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;i=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){j=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))j=5;if((j|0)==5?(j=0,b=Aj((k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+8|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){j=7;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==7){r=l;return k[i>>2]|0}return 0}function Ci(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(sg(k[c>>2]|0,20503)|0){if(!(sg(k[c>>2]|0,20511)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,20517)|0)){k[b>>2]=1;break}else{k[b>>2]=0;break}}else k[b>>2]=1;while(0);r=d;return k[b>>2]|0}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((l[(k[d>>2]|0)+15>>0]|0)&4)){k[c>>2]=k[e>>2];b=k[c>>2]|0;r=f;return b|0}else{b=k[k[d>>2]>>2]|0;b=b+($Q(k[k[d>>2]>>2]|0)|0)+1|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}return 0}function Ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[e>>2]|0)+60>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){c=8;break}if(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2]|0){if(!(k[c>>2]|0)){c=6;break}if(!(sg(k[c>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0)){c=6;break}}k[f>>2]=(k[f>>2]|0)+1}if((c|0)==6){k[d>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];f=k[d>>2]|0;r=g;return f|0}else if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function Gi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Hi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if(k[(k[c>>2]|0)+216>>2]|0){c=zj(k[a+216>>2]|0)|0;r=b;return c|0}else{c=k[a+68>>2]|0;r=b;return c|0}return 0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function Ji(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[68];if(!(k[c>>2]|0)){c=0;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;n=r;r=r+32|0;e=n+24|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;l=n+4|0;i=n;k[o>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[o>>2]|0)+4>>2];wg(k[o>>2]|0);if((m[(k[i>>2]|0)+22>>1]|0)&2){k[e>>2]=8;o=k[e>>2]|0;r=n;return o|0}if((k[g>>2]|0)<0)k[g>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[(k[i>>2]|0)+36>>2]|0);if((k[f>>2]|0)>=512&(k[f>>2]|0)<=65536?((k[f>>2]|0)-1&k[f>>2]|0)==0:0){k[(k[i>>2]|0)+32>>2]=k[f>>2];aj(k[i>>2]|0)}o=bj(k[k[i>>2]>>2]|0,(k[i>>2]|0)+32|0,k[g>>2]|0)|0;k[l>>2]=o;k[(k[i>>2]|0)+36>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[g>>2]&65535);if(k[h>>2]|0){o=(k[i>>2]|0)+22|0;j[o>>1]=m[o>>1]|0|2}k[e>>2]=k[l>>2];o=k[e>>2]|0;r=n;return o|0}function Li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=55;$i(k[f>>2]|0,k[e>>2]|0,c)|0;r=d;return k[c>>2]|0}function Mi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;Zi(8,k[b>>2]|0);if((k[76]|0)!=0?(k[51]|0)>=(k[b>>2]|0):0){k[c>>2]=k[75];k[75]=k[k[75]>>2];k[76]=(k[76]|0)+-1;_i(3,1);c=k[c>>2]|0;r=d;return c|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!((k[2]|0)!=0&(k[c>>2]|0)!=0)){c=k[c>>2]|0;r=d;return c|0}_i(4,kg(k[c>>2]|0)|0);c=k[c>>2]|0;r=d;return c|0}function Ni(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[50]|0)>>>0?(k[b>>2]|0)>>>0<(k[74]|0)>>>0:0){k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[75];k[75]=k[d>>2];k[76]=(k[76]|0)+1;lg(3,1);r=e;return}if(k[2]|0){d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(4,k[c>>2]|0);lg(0,k[c>>2]|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=e;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=e;return}}function Oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=((Wi(k[e>>2]|0,1,i[d>>0]|0)|0)&255|0)!=0&255;r=c;return a|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;g=j;e=j+12|0;f=j+8|0;k[c>>2]=a;k[d>>2]=b;do if((i[k[c>>2]>>0]|0)==48){if((i[(k[c>>2]|0)+1>>0]|0)!=120?(i[(k[c>>2]|0)+1>>0]|0)!=88:0)break;a=g;k[a>>2]=0;k[a+4>>2]=0;k[e>>2]=2;while(1){b=k[e>>2]|0;if((i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)!=48)break;k[e>>2]=b+1}k[f>>2]=b;while(1){if(!(l[19019+(l[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)>>0]&8))break;a=g;a=RR(k[a>>2]|0,k[a+4>>2]|0,16,0)|0;b=L;b=GR(a|0,b|0,(Ti(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)|0)&255|0,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[f>>2]=(k[f>>2]|0)+1}d=k[d>>2]|0;k[d>>2]=k[g>>2];k[d+4>>2]=k[g+4>>2];if(!(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0))b=((k[f>>2]|0)-(k[e>>2]|0)|0)<=16;else b=0;k[h>>2]=b?0:1;h=k[h>>2]|0;r=j;return h|0}while(0);f=k[c>>2]|0;g=k[d>>2]|0;g=Ui(f,g,Tf(k[c>>2]|0)|0,1)|0;k[h>>2]=g;h=k[h>>2]|0;r=j;return h|0}function Qi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Si(k[k[(k[c>>2]|0)+4>>2]>>2]|0,1)|0;r=b;return a|0}function Ri(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[(k[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(l[(k[c>>2]|0)+16>>0]|0|0)!=0:0){e=19018;r=d;return e|0}e=k[(k[c>>2]|0)+176>>2]|0;r=d;return e|0}function Ti(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)+((1&k[b>>2]>>6)*9|0);r=c;return k[b>>2]&15|0}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;h=v+48|0;j=v+44|0;m=v+40|0;e=v+36|0;f=v+52|0;p=v+32|0;g=v;q=v+28|0;o=v+24|0;n=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;k[j>>2]=a;k[m>>2]=b;k[e>>2]=c;i[f>>0]=d;a=g;k[a>>2]=0;k[a+4>>2]=0;k[q>>2]=0;k[n>>2]=0;k[s>>2]=0;k[t>>2]=(k[j>>2]|0)+(k[e>>2]|0);if((l[f>>0]|0)==1)k[p>>2]=1;else{k[p>>2]=2;k[o>>2]=3-(l[f>>0]|0);while(1){if((k[o>>2]|0)>=(k[e>>2]|0))break;if(i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)break;k[o>>2]=(k[o>>2]|0)+2}k[s>>2]=(k[o>>2]|0)<(k[e>>2]|0)&1;k[t>>2]=(k[j>>2]|0)+(k[o>>2]^1);k[j>>2]=(k[j>>2]|0)+(l[f>>0]&1)}while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if(!(l[19019+(l[k[j>>2]>>0]|0)>>0]&1))break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}do if((k[j>>2]|0)>>>0<(k[t>>2]|0)>>>0){if((i[k[j>>2]>>0]|0)==45){k[q>>2]=1;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0);break}if((i[k[j>>2]>>0]|0)==43)k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}while(0);k[u>>2]=k[j>>2];while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if((i[k[j>>2]>>0]|0)!=48)break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}k[o>>2]=0;while(1){if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0<(k[t>>2]|0)>>>0?(a=i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0,k[n>>2]=a,(a|0)>=48):0)e=(k[n>>2]|0)<=57;else e=0;f=g;d=k[f>>2]|0;f=k[f+4>>2]|0;if(!e)break;a=RR(d|0,f|0,10,0)|0;b=k[n>>2]|0;b=GR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;b=FR(b|0,L|0,48,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[o>>2]=(k[o>>2]|0)+(k[p>>2]|0)}c=(k[q>>2]|0)!=0;do if(!(f>>>0>2147483647|(f|0)==2147483647&d>>>0>4294967295)){f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(c){g=FR(0,0,e|0,f|0)|0;m=k[m>>2]|0;k[m>>2]=g;k[m+4>>2]=L;break}else{m=k[m>>2]|0;k[m>>2]=e;k[m+4>>2]=f;break}}else{m=k[m>>2]|0;k[m>>2]=c?0:-1;k[m+4>>2]=c?-2147483648:2147483647}while(0);do if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0>=(k[t>>2]|0)>>>0){if((k[o>>2]|0)==0?(k[u>>2]|0)==(k[j>>2]|0):0)break;if(!((k[s>>2]|0)!=0?1:(k[o>>2]|0)>((k[p>>2]|0)*19|0))){if((k[o>>2]|0)<((k[p>>2]|0)*19|0)){k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}u=Vi(k[j>>2]|0,k[p>>2]|0)|0;k[n>>2]=u;if((k[n>>2]|0)<0){k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}if((k[n>>2]|0)>0){k[h>>2]=1;u=k[h>>2]|0;r=v;return u|0}else{k[h>>2]=(k[q>>2]|0)!=0?0:2;u=k[h>>2]|0;r=v;return u|0}}}while(0);k[h>>2]=1;u=k[h>>2]|0;r=v;return u|0}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[g>>2]=19383;k[f>>2]=0;while(1){if(!((k[e>>2]|0)==0?(k[f>>2]|0)<18:0))break;a=ha(k[f>>2]|0,k[d>>2]|0)|0;k[e>>2]=((i[(k[c>>2]|0)+a>>0]|0)-(i[(k[g>>2]|0)+(k[f>>2]|0)>>0]|0)|0)*10;k[f>>2]=(k[f>>2]|0)+1}if(k[e>>2]|0){a=k[e>>2]|0;r=h;return a|0}k[e>>2]=(i[(k[c>>2]|0)+((k[d>>2]|0)*18|0)>>0]|0)-56;a=k[e>>2]|0;r=h;return a|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;g=m+17|0;d=m+12|0;e=m+8|0;h=m+16|0;j=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;i[h>>0]=c;c=k[d>>2]|0;if((l[19019+(l[k[d>>2]>>0]|0)>>0]|0)&4){j=(Xi(c)|0)&255;i[g>>0]=j;j=i[g>>0]|0;r=m;return j|0}a=Tf(c)|0;k[f>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=8){c=11;break}if((l[19402+(k[j>>2]|0)>>0]|0|0)==(k[f>>2]|0)?(Jd(19418+(l[19410+(k[j>>2]|0)>>0]|0)|0,k[d>>2]|0,k[f>>2]|0)|0)==0:0){if(!(k[e>>2]|0)){c=9;break}if((l[19443+(k[j>>2]|0)>>0]|0|0)<=1){c=9;break}}k[j>>2]=(k[j>>2]|0)+1}if((c|0)==9){i[g>>0]=i[19443+(k[j>>2]|0)>>0]|0;j=i[g>>0]|0;r=m;return j|0}else if((c|0)==11){i[g>>0]=i[h>>0]|0;j=i[g>>0]|0;r=m;return j|0}return 0}function Xi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(k[b>>2]|0)Yi(k[b>>2]|0,c)|0;r=d;return k[c>>2]|0}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;f=n+32|0;g=n+28|0;h=n+24|0;e=n;j=n+20|0;c=n+16|0;d=n+12|0;m=n+8|0;k[g>>2]=a;k[h>>2]=b;a=e;k[a>>2]=0;k[a+4>>2]=0;k[d>>2]=0;do if((i[k[g>>2]>>0]|0)!=45){b=k[g>>2]|0;if((i[k[g>>2]>>0]|0)==43){k[g>>2]=b+1;break}if((i[b>>0]|0)==48){if((i[(k[g>>2]|0)+1>>0]|0)!=120?(i[(k[g>>2]|0)+1>>0]|0)!=88:0)break;if(l[19019+(l[(k[g>>2]|0)+2>>0]|0)>>0]&8){k[m>>2]=0;k[g>>2]=(k[g>>2]|0)+2;while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){b=k[m>>2]|0;if(!((l[19019+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)!=0?(k[j>>2]|0)<8:0))break;e=(b<<4)+((Ti(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)|0)&255)|0;k[m>>2]=e;k[j>>2]=(k[j>>2]|0)+1}if((b&-2147483648|0)==0?(l[19019+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)==0:0){k[k[h>>2]>>2]=k[m>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}}}else{k[d>>2]=1;k[g>>2]=(k[g>>2]|0)+1}while(0);while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){if((k[j>>2]|0)>=11)break;m=(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;k[c>>2]=m;if(!((m|0)>=0&(k[c>>2]|0)<=9))break;m=e;m=RR(k[m>>2]|0,k[m+4>>2]|0,10,0)|0;a=k[c>>2]|0;a=GR(m|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;m=e;k[m>>2]=a;k[m+4>>2]=L;k[j>>2]=(k[j>>2]|0)+1}if((k[j>>2]|0)>10){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}j=e;m=k[d>>2]|0;m=FR(k[j>>2]|0,k[j+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;j=L;if((j|0)>0|(j|0)==0&m>>>0>2147483647){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}if(k[d>>2]|0){j=e;j=FR(0,0,k[j>>2]|0,k[j+4>>2]|0)|0;m=e;k[m>>2]=j;k[m+4>>2]=L}k[k[h>>2]>>2]=k[e>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[f>>2];if((k[d>>2]|0)>>>0<=(k[1036+(k[c>>2]<<2)>>2]|0)>>>0){r=e;return}k[1036+(k[c>>2]<<2)>>2]=k[d>>2];r=e;return}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=996+(k[c>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+(k[e>>2]|0);if((k[996+(k[c>>2]<<2)>>2]|0)>>>0<=(k[1036+(k[c>>2]<<2)>>2]|0)>>>0){r=d;return}k[1036+(k[c>>2]<<2)>>2]=k[996+(k[c>>2]<<2)>>2];r=d;return}function $i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<2){n=k[e>>2]|0;r=o;return n|0}k[g>>2]=(l[18229+(l[k[d>>2]>>0]|0)>>0]<<2^(l[18229+(l[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)>>0]|0)*3^k[e>>2]|0)%127|0;k[g>>2]=(l[19451+(k[g>>2]|0)>>0]|0)-1;while(1){if((k[g>>2]|0)<0){n=13;break}if((l[19578+(k[g>>2]|0)>>0]|0)==(k[e>>2]|0)){k[h>>2]=0;k[j>>2]=19702+(m[10356+(k[g>>2]<<1)>>1]|0);while(1){if((k[h>>2]|0)<(k[e>>2]|0))c=(i[(k[d>>2]|0)+(k[h>>2]|0)>>0]&-33|0)==(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0);else c=0;b=k[h>>2]|0;if(!c)break;k[h>>2]=b+1}if((b|0)>=(k[e>>2]|0))break}k[g>>2]=(l[20379+(k[g>>2]|0)>>0]|0)-1}if((n|0)==13){n=k[e>>2]|0;r=o;return n|0}k[k[f>>2]>>2]=l[20255+(k[g>>2]|0)>>0];n=k[e>>2]|0;r=o;return n|0}function aj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+-4;hj(k[(k[b>>2]|0)+80>>2]|0);k[(k[b>>2]|0)+80>>2]=0;r=c;return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;m=o+16|0;i=o+12|0;h=o+8|0;g=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[i>>2]=k[k[e>>2]>>2];if(!((l[(k[d>>2]|0)+16>>0]|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)!=0:0))n=3;do if(((n|0)==3?(n=(cj(k[(k[d>>2]|0)+212>>2]|0)|0)==0,n&(k[i>>2]|0)!=0):0)?(k[i>>2]|0)!=(k[(k[d>>2]|0)+160>>2]|0):0){k[h>>2]=0;n=g;k[n>>2]=0;k[n+4>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0)>0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){n=dj(k[(k[d>>2]|0)+64>>2]|0,g)|0;k[m>>2]=n}if((k[m>>2]|0)==0?(n=ej(k[i>>2]|0)|0,k[h>>2]=n,(k[h>>2]|0)==0):0)k[m>>2]=7;if(!(k[m>>2]|0)){fj(k[d>>2]|0);n=gj(k[(k[d>>2]|0)+212>>2]|0,k[i>>2]|0)|0;k[m>>2]=n}if(!(k[m>>2]|0)){hj(k[(k[d>>2]|0)+208>>2]|0);k[(k[d>>2]|0)+208>>2]=k[h>>2];n=g;n=GR(k[n>>2]|0,k[n+4>>2]|0,k[i>>2]|0,0)|0;n=FR(n|0,L|0,1,0)|0;n=PR(n|0,L|0,k[i>>2]|0,0)|0;k[(k[d>>2]|0)+28>>2]=n;k[(k[d>>2]|0)+160>>2]=k[i>>2];break}else{hj(k[h>>2]|0);break}}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+160>>2];if(k[m>>2]|0){n=k[m>>2]|0;r=o;return n|0}if((k[f>>2]|0)<0)k[f>>2]=j[(k[d>>2]|0)+150>>1];j[(k[d>>2]|0)+150>>1]=k[f>>2];ij(k[d>>2]|0);n=k[m>>2]|0;r=o;return n|0}function cj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+12>>2]|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+24>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function ej(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=rj(k[c>>2]|0)|0;r=b;return a|0}function fj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;lj(k[(k[c>>2]|0)+96>>2]|0);mj(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0){b=Yb[k[132>>2]&255](k[e>>2]|0,(k[(k[d>>2]|0)+28>>2]|0)+40|0,l[(k[d>>2]|0)+32>>0]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=7;b=k[c>>2]|0;r=g;return b|0}h=k[34]|0;a=k[f>>2]|0;b=kj(k[d>>2]|0)|0;$b[h&255](a,b);if(k[(k[d>>2]|0)+44>>2]|0)_b[k[160>>2]&255](k[(k[d>>2]|0)+44>>2]|0);k[(k[d>>2]|0)+44>>2]=k[f>>2];k[(k[d>>2]|0)+24>>2]=k[e>>2]}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;jj(k[c>>2]|0);r=b;return}function ij(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function jj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[423]|0)>>>0?(k[b>>2]|0)>>>0<(k[424]|0)>>>0:0){lg(1,1);k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[426];k[426]=k[d>>2];k[427]=(k[427]|0)+1;k[428]=(k[427]|0)<(k[422]|0)&1;r=e;return}k[c>>2]=0;d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(2,k[c>>2]|0);Ud(k[b>>2]|0);r=e;return}function kj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[(k[c>>2]|0)+16>>2]|0;if((k[(k[c>>2]|0)+16>>2]|0)>=0){k[b>>2]=a;c=k[b>>2]|0;r=d;return c|0}else{a=RR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;c=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;c=PR(a|0,L|0,c|0,((c|0)<0)<<31>>31|0)|0;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}return 0}function lj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];while(1){if(!(k[b>>2]|0))break;k[(k[b>>2]|0)+16>>2]=1;k[b>>2]=k[(k[b>>2]|0)+44>>2]}r=c;return}function mj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;nj(k[c>>2]|0,0);r=b;return}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+44>>2]|0)){r=h;return}k[e>>2]=k[k[c>>2]>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+32>>2];if((k[(k[e>>2]|0)+20>>2]|0)>>>0>(k[d>>2]|0)>>>0)oj(k[e>>2]|0);k[e>>2]=k[f>>2]}if(((k[d>>2]|0)==0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)?(b=Yb[k[144>>2]&255](k[(k[c>>2]|0)+44>>2]|0,1,0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){KR(k[k[g>>2]>>2]|0,0,k[(k[c>>2]|0)+24>>2]|0)|0;k[d>>2]=1}$b[k[156>>2]&255](k[(k[c>>2]|0)+44>>2]|0,(k[d>>2]|0)+1|0);r=h;return}function oj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(m[(k[b>>2]|0)+24>>1]&2)){r=c;return}pj(k[b>>2]|0,1);a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-15;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|1;if(j[(k[b>>2]|0)+26>>1]|0){r=c;return}qj(k[b>>2]|0);r=c;return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+4|0;c=f+8|0;e=f;k[d>>2]=a;i[c>>0]=b;k[e>>2]=k[(k[d>>2]|0)+28>>2];if(l[c>>0]&1){if((k[(k[e>>2]|0)+8>>2]|0)==(k[d>>2]|0))k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+36>>2];b=k[(k[d>>2]|0)+36>>2]|0;if(k[(k[d>>2]|0)+32>>2]|0)k[(k[(k[d>>2]|0)+32>>2]|0)+36>>2]=b;else k[(k[e>>2]|0)+4>>2]=b;b=k[(k[d>>2]|0)+32>>2]|0;if(!(k[(k[d>>2]|0)+36>>2]|0)){k[k[e>>2]>>2]=b;if(!(k[k[e>>2]>>2]|0))i[(k[e>>2]|0)+33>>0]=2}else k[(k[(k[d>>2]|0)+36>>2]|0)+32>>2]=b;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+36>>2]=0}if(!(l[c>>0]&2)){r=f;return}k[(k[d>>2]|0)+32>>2]=k[k[e>>2]>>2];b=k[d>>2]|0;if(!(k[(k[d>>2]|0)+32>>2]|0)){k[(k[e>>2]|0)+4>>2]=b;if(i[(k[e>>2]|0)+32>>0]|0)i[(k[e>>2]|0)+33>>0]=1}else k[(k[(k[d>>2]|0)+32>>2]|0)+36>>2]=b;k[k[e>>2]>>2]=k[d>>2];if(k[(k[e>>2]|0)+8>>2]|0){r=f;return}if(m[(k[d>>2]|0)+24>>1]&8){r=f;return}k[(k[e>>2]|0)+8>>2]=k[d>>2];r=f;return}function qj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[(k[b>>2]|0)+28>>2]|0)+32>>0]|0)){r=c;return}cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,0);r=c;return}function rj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if((k[b>>2]|0)<=(k[420]|0)?(k[c>>2]=k[426],(k[c>>2]|0)!=0):0){k[426]=k[k[426]>>2];k[427]=(k[427]|0)+-1;k[428]=(k[427]|0)<(k[422]|0)&1;Zi(7,k[b>>2]|0);_i(1,1)}if(k[c>>2]|0){d=k[c>>2]|0;r=e;return d|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!(k[c>>2]|0)){d=k[c>>2]|0;r=e;return d|0}a=kg(k[c>>2]|0)|0;k[d>>2]=a;Zi(7,k[b>>2]|0);_i(2,k[d>>2]|0);d=k[c>>2]|0;r=e;return d|0}function sj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=ug(512,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[k[c>>2]>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;c=o+12|0;j=o+8|0;m=o+4|0;g=o;k[e>>2]=a;k[f>>2]=b;if(!(k[e>>2]|0)){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=(k[f>>2]|0)+-1;while(1){if((k[k[e>>2]>>2]|0)>>>0<=4e3)break;if(!(k[(k[e>>2]|0)+8>>2]|0))break;k[c>>2]=((k[f>>2]|0)>>>0)/((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;if((k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0?(a=sj(k[(k[e>>2]|0)+8>>2]|0)|0,k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]=a,(k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0):0){n=8;break}k[e>>2]=k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]}if((n|0)==8){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[f>>2]|0;if((k[k[e>>2]>>2]|0)>>>0<=4e3){n=(k[e>>2]|0)+12+(((k[f>>2]|0)>>>0)/8|0)|0;i[n>>0]=l[n>>0]|0|1<<(c&7);k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=c+1;k[h>>2]=(c>>>0)%125|0;a:do if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){if((k[(k[e>>2]|0)+4>>2]|0)>>>0>=124)n=17}else{while(1){if((k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[f>>2]|0))break;n=(k[h>>2]|0)+1|0;k[h>>2]=n;k[h>>2]=(k[h>>2]|0)>>>0>=125?0:n;if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){n=17;break a}}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((n|0)==17?(k[(k[e>>2]|0)+4>>2]|0)>>>0>=62:0){n=Kh(0,500,0)|0;k[g>>2]=n;if(!(k[g>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}IR(k[g>>2]|0,(k[e>>2]|0)+12|0,500)|0;KR((k[e>>2]|0)+12|0,0,500)|0;k[(k[e>>2]|0)+8>>2]=(((k[k[e>>2]>>2]|0)+125-1|0)>>>0)/125|0;n=tj(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=n;k[j>>2]=0;while(1){if((k[j>>2]|0)>>>0>=125)break;if(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0){n=tj(k[e>>2]|0,k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[m>>2]=k[m>>2]|n}k[j>>2]=(k[j>>2]|0)+1}bg(0,k[g>>2]|0);k[d>>2]=k[m>>2];n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]=k[f>>2];k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;h=o+12|0;m=o+8|0;g=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=o;return}k[e>>2]=(k[e>>2]|0)+-1;while(1){if(!(k[(k[d>>2]|0)+8>>2]|0))break;k[h>>2]=((k[e>>2]|0)>>>0)/((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[e>>2]=((k[e>>2]|0)>>>0)%((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=k[(k[d>>2]|0)+12+(k[h>>2]<<2)>>2];if(!(k[d>>2]|0)){n=16;break}}if((n|0)==16){r=o;return}if((k[k[d>>2]>>2]|0)>>>0<=4e3){n=(k[d>>2]|0)+12+(((k[e>>2]|0)>>>0)/8|0)|0;i[n>>0]=(l[n>>0]|0)&~(1<<(k[e>>2]&7));r=o;return}k[g>>2]=k[f>>2];IR(k[g>>2]|0,(k[d>>2]|0)+12|0,500)|0;KR((k[d>>2]|0)+12|0,0,500)|0;k[(k[d>>2]|0)+4>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>>>0>=125)break;if((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=0?(k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=((k[e>>2]|0)+1|0):0){k[j>>2]=(((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;n=(k[d>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;while(1){if(!(k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]|0))break;n=(k[j>>2]|0)+1|0;k[j>>2]=n;k[j>>2]=(k[j>>2]|0)>>>0>=125?0:n}k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]=k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]}k[m>>2]=(k[m>>2]|0)+1}r=o;return}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){a=0;a=a&1;r=e;return a|0}a=(yj(k[c>>2]|0,k[d>>2]|0)|0)!=0;a=a&1;r=e;return a|0}function wj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function xj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}a:do if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=125)break a;xj(k[(k[b>>2]|0)+12+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}}while(0);Ud(k[b>>2]|0);r=d;return}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;c=i+4|0;h=i;k[f>>2]=a;k[g>>2]=b;k[g>>2]=(k[g>>2]|0)+-1;if((k[g>>2]|0)>>>0>=(k[k[f>>2]>>2]|0)>>>0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}while(1){if(!(k[(k[f>>2]|0)+8>>2]|0))break;k[c>>2]=((k[g>>2]|0)>>>0)/((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[g>>2]=((k[g>>2]|0)>>>0)%((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=k[(k[f>>2]|0)+12+(k[c>>2]<<2)>>2];if(!(k[f>>2]|0)){d=5;break}}if((d|0)==5){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=k[g>>2]|0;if((k[k[f>>2]>>2]|0)>>>0<=4e3){k[e>>2]=((l[(k[f>>2]|0)+12+((c>>>0)/8|0)>>0]|0)&1<<(k[g>>2]&7)|0)!=0&1;h=k[e>>2]|0;r=i;return h|0}k[g>>2]=c+1;k[h>>2]=(c>>>0)%125|0;while(1){if(!(k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){d=13;break}if((k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[g>>2]|0)){d=11;break}k[h>>2]=(((k[h>>2]|0)+1|0)>>>0)%125|0}if((d|0)==11){k[e>>2]=1;h=k[e>>2]|0;r=i;return h|0}else if((d|0)==13){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}return 0}function zj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d+8|0;c=d+4|0;k[f>>2]=a;k[e>>2]=b;b=Bj(k[f>>2]|0,k[e>>2]|0,d)|0;k[c>>2]=b;if(!(k[c>>2]|0)){f=0;r=d;return f|0}f=k[(k[c>>2]|0)+8>>2]|0;r=d;return f|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m+28|0;d=m+24|0;h=m+20|0;e=m+16|0;j=m+12|0;i=m+8|0;f=m+4|0;g=m;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(k[(k[d>>2]|0)+12>>2]|0){b=Cj(k[h>>2]|0)|0;k[f>>2]=(b>>>0)%((k[k[d>>2]>>2]|0)>>>0)|0;k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);k[j>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=k[k[g>>2]>>2]}else{k[f>>2]=0;k[j>>2]=k[(k[d>>2]|0)+8>>2];k[i>>2]=k[(k[d>>2]|0)+4>>2]}k[k[e>>2]>>2]=k[f>>2];while(1){b=k[i>>2]|0;k[i>>2]=b+-1;if(!b){d=9;break}b=(sg(k[(k[j>>2]|0)+12>>2]|0,k[h>>2]|0)|0)==0;e=k[j>>2]|0;if(b){d=7;break}k[j>>2]=k[e>>2]}if((d|0)==7){k[l>>2]=e;l=k[l>>2]|0;r=m;return l|0}else if((d|0)==9){k[l>>2]=0;l=k[l>>2]|0;r=m;return l|0}return 0}function Cj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;c=e+8|0;k[b>>2]=a;k[d>>2]=0;while(1){f=k[b>>2]|0;k[b>>2]=f+1;f=i[f>>0]|0;i[c>>0]=f;a=k[d>>2]|0;if(!(f&255))break;k[d>>2]=a<<3^k[d>>2]^(l[18229+(l[c>>0]|0)>>0]|0)}r=e;return a|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+128|0;w=A;f=A+108|0;g=A+104|0;h=A+100|0;n=A+96|0;u=A+92|0;d=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;q=A+40|0;p=A+24|0;y=A+20|0;s=A+16|0;o=A+112|0;z=A+12|0;x=A+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[s>>2]=0;c=(k[h>>2]|0)==1?20521:20540;k[y>>2]=c;k[B>>2]=c;k[B+4>>2]=20554;k[B+8>>2]=20556;k[B+12>>2]=0;k[p>>2]=k[g>>2];k[p+8>>2]=k[h>>2];k[p+12>>2]=0;k[p+4>>2]=k[n>>2];Jj(p,3,B,0)|0;if(!(k[p+12>>2]|0)){k[t>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4);if(!(k[(k[t>>2]|0)+4>>2]|0)){if((k[h>>2]|0)==1){B=(k[(k[(k[g>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1}k[f>>2]=0;B=k[f>>2]|0;r=A;return B|0}wg(k[(k[t>>2]|0)+4>>2]|0);do if(!(Ag(k[(k[t>>2]|0)+4>>2]|0)|0)){B=yg(k[(k[t>>2]|0)+4>>2]|0,0)|0;k[u>>2]=B;if(k[u>>2]|0){z=k[n>>2]|0;B=k[g>>2]|0;Kj(z,B,uh(k[u>>2]|0)|0);break}else{k[s>>2]=1;e=11;break}}else e=11;while(0);a:do if((e|0)==11){k[d>>2]=0;while(1){if((k[d>>2]|0)>=5)break;zg(k[(k[t>>2]|0)+4>>2]|0,(k[d>>2]|0)+1|0,q+(k[d>>2]<<2)|0);k[d>>2]=(k[d>>2]|0)+1}k[k[(k[t>>2]|0)+12>>2]>>2]=k[q>>2];a=k[h>>2]|0;do if(k[q+16>>2]|0){d=k[q+16>>2]|0;if(!a){B=d&3;i[o>>0]=B;i[o>>0]=(l[o>>0]|0)==0?1:B;i[(k[g>>2]|0)+66>>0]=i[o>>0]|0;break}if((d|0)!=(l[(k[g>>2]|0)+66>>0]|0)){Kj(k[n>>2]|0,k[g>>2]|0,20632);k[u>>2]=1;break a}}else{B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(a<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|4}while(0);i[(k[(k[t>>2]|0)+12>>2]|0)+77>>0]=i[(k[g>>2]|0)+66>>0]|0;if(!(k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Lj(k[q+8>>2]|0)|0;k[v>>2]=B;k[v>>2]=(k[v>>2]|0)==0?-2e3:B;k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]=k[v>>2];Mj(k[(k[t>>2]|0)+4>>2]|0,k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=k[q+4>>2];if(!(l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0))i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=1;if((l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Kj(k[n>>2]|0,k[g>>2]|0,20700);k[u>>2]=1;break}if((k[h>>2]|0)==0?(k[q+4>>2]|0)>=4:0){B=(k[g>>2]|0)+24|0;k[B>>2]=k[B>>2]&-32769}B=k[g>>2]|0;y=k[y>>2]|0;k[w>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[w+4>>2]=y;B=Oh(B,20724,w)|0;k[z>>2]=B;k[x>>2]=k[(k[g>>2]|0)+296>>2];k[(k[g>>2]|0)+296>>2]=0;B=kf(k[g>>2]|0,k[z>>2]|0,140,p,0)|0;k[u>>2]=B;k[(k[g>>2]|0)+296>>2]=k[x>>2];if(!(k[u>>2]|0))k[u>>2]=k[p+12>>2];bg(k[g>>2]|0,k[z>>2]|0);if(!(k[u>>2]|0))Nj(k[g>>2]|0,k[h>>2]|0)|0;if(i[(k[g>>2]|0)+69>>0]|0){k[u>>2]=7;Lg(k[g>>2]|0)}if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0)break;B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1;k[u>>2]=0}while(0);if(k[s>>2]|0)Oj(k[(k[t>>2]|0)+4>>2]|0)|0}else k[u>>2]=k[p+12>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082)vh(k[g>>2]|0);k[f>>2]=k[u>>2];B=k[f>>2]|0;r=A;return B|0}function Ej(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);Gj(k[(k[d>>2]|0)+12>>2]|0);if((k[f>>2]|0)==1){r=e;return}k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+16;Gj(k[(k[d>>2]|0)+12>>2]|0);r=e;return}function Fj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;k[a>>2]=k[a>>2]&-3;r=b;return}function Gj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+64|0;h=g+48|0;e=g+32|0;f=g+16|0;b=g+8|0;c=g+4|0;d=g;k[h>>2]=a;k[c>>2]=k[h>>2];a=(k[c>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];a=(k[c>>2]|0)+40|0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];k[f+12>>2]=k[a+12>>2];Hj((k[c>>2]|0)+40|0);Ij((k[c>>2]|0)+24|0);k[b>>2]=k[f+8>>2];while(1){if(!(k[b>>2]|0))break;_f(0,k[(k[b>>2]|0)+8>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Ij(f);Hj((k[c>>2]|0)+8|0);k[b>>2]=k[e+8>>2];while(1){if(!(k[b>>2]|0))break;k[d>>2]=k[(k[b>>2]|0)+8>>2];$f(0,k[d>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Ij(e);Ij((k[c>>2]|0)+56|0);k[(k[c>>2]|0)+72>>2]=0;if(!((m[(k[c>>2]|0)+78>>1]|0)&1)){r=g;return}h=(k[c>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+1;h=(k[c>>2]|0)+78|0;j[h>>1]=(m[h>>1]|0)&-2;r=g;return}function Hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=0;k[(k[c>>2]|0)+4>>2]=0;k[k[c>>2]>>2]=0;k[(k[c>>2]|0)+12>>2]=0;r=b;return}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;Ud(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[k[b>>2]>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function Jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+40|0;s=q+36|0;f=q+28|0;l=q+20|0;g=q+16|0;h=q+12|0;p=q+8|0;o=q+4|0;n=q;k[s>>2]=a;k[q+32>>2]=b;k[f>>2]=c;k[q+24>>2]=d;k[l>>2]=k[s>>2];k[g>>2]=k[k[l>>2]>>2];k[h>>2]=k[(k[l>>2]|0)+8>>2];a=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[a>>1]=m[a>>1]&-5;if(i[(k[g>>2]|0)+69>>0]|0){Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);k[e>>2]=1;s=k[e>>2]|0;r=q;return s|0}if(!(k[f>>2]|0)){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}a:do if(!(k[(k[f>>2]|0)+4>>2]|0))Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);else{if(Jd(k[(k[f>>2]|0)+8>>2]|0,20866,7)|0){do if(k[k[f>>2]>>2]|0){if((k[(k[f>>2]|0)+8>>2]|0)!=0?(i[k[(k[f>>2]|0)+8>>2]>>0]|0)!=0:0)break;s=Sj(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0;k[n>>2]=s;if(!(k[n>>2]|0))break a;if(Yi(k[(k[f>>2]|0)+4>>2]|0,(k[n>>2]|0)+44|0)|0)break a;Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,20874);break a}while(0);Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);break}i[(k[g>>2]|0)+144+4>>0]=k[h>>2];s=Xi(k[(k[f>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+144>>2]=s;i[(k[g>>2]|0)+144+6>>0]=0;nf(k[g>>2]|0,k[(k[f>>2]|0)+8>>2]|0,-1,o,0)|0;k[p>>2]=k[(k[g>>2]|0)+52>>2];i[(k[g>>2]|0)+144+4>>0]=0;do if(0!=(k[p>>2]|0)?(i[(k[g>>2]|0)+144+6>>0]|0)==0:0){k[(k[l>>2]|0)+12>>2]=k[p>>2];if((k[p>>2]|0)==7){vh(k[g>>2]|0);break}if((k[p>>2]|0)!=9?(k[p>>2]&255|0)!=6:0){p=k[l>>2]|0;s=k[k[f>>2]>>2]|0;Xj(p,s,mf(k[g>>2]|0)|0)}}while(0);ge(k[o>>2]|0)|0}while(0);k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;bg(k[g>>2]|0,k[k[e>>2]>>2]|0);c=zh(k[g>>2]|0,k[f>>2]|0)|0;k[k[e>>2]>>2]=c;r=d;return}function Lj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;do if((k[c>>2]|0)<0)if((a|0)==-2147483648){k[b>>2]=2147483647;break}else{k[b>>2]=0-(k[c>>2]|0);break}else k[b>>2]=a;while(0);r=d;return k[b>>2]|0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);Vj(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function Nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;c=n+36|0;d=n+32|0;i=n+24|0;e=n+20|0;m=n+16|0;h=n+12|0;f=n+8|0;g=n+4|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];j[k[(k[f>>2]|0)+8>>2]>>1]=0;k[e>>2]=k[k[e>>2]>>2]}k[i>>2]=k[c>>2];k[i+4>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];do if(Bi(k[c>>2]|0,20779,k[i+4>>2]|0)|0){f=k[c>>2]|0;k[l>>2]=k[i+4>>2];l=Oh(f,20792,l)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[h>>2]=7;break}else{l=kf(k[c>>2]|0,k[m>>2]|0,141,i,0)|0;k[h>>2]=l;bg(k[c>>2]|0,k[m>>2]|0);break}}while(0);k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+8>>2];if(!(j[k[(k[g>>2]|0)+8>>2]>>1]|0))Qj(k[g>>2]|0);k[e>>2]=k[k[e>>2]>>2]}if((k[h>>2]|0)!=7){m=k[h>>2]|0;r=n;return m|0}vh(k[c>>2]|0);m=k[h>>2]|0;r=n;return m|0}function Oj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);a=Wg(k[b>>2]|0,0)|0;k[c>>2]=a;if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=Vg(k[b>>2]|0,0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+112|0;e=s+96|0;t=s+92|0;f=s+84|0;o=s+76|0;n=s+72|0;p=s+68|0;q=s+64|0;g=s+60|0;l=s+56|0;h=s;k[t>>2]=a;k[s+88>>2]=b;k[f>>2]=c;k[s+80>>2]=d;k[o>>2]=k[t>>2];if(((k[f>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0)?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){t=Bi(k[k[o>>2]>>2]|0,k[k[f>>2]>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}do if(k[(k[f>>2]|0)+4>>2]|0)if(!(be(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0)){t=Rj(k[p>>2]|0)|0;k[n>>2]=t;break}else{t=Sj(k[k[o>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[n>>2]=t;break}else k[n>>2]=0;while(0);k[q>>2]=k[(k[f>>2]|0)+8>>2];if(k[n>>2]|0){k[g>>2]=0;k[l>>2]=(m[(k[n>>2]|0)+50>>1]|0)+1;t=(k[n>>2]|0)+55|0;i[t>>0]=i[t>>0]&-5;Tj(k[q>>2]|0,k[l>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[n>>2]|0);if(!(k[(k[n>>2]|0)+36>>2]|0))j[(k[p>>2]|0)+38>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0}else{j[h+48>>1]=j[(k[p>>2]|0)+40>>1]|0;Tj(k[q>>2]|0,1,0,(k[p>>2]|0)+38|0,h);j[(k[p>>2]|0)+40>>1]=j[h+48>>1]|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}function Qj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;d=g+16|0;c=g+8|0;f=g+4|0;e=g;k[b>>2]=a;j[d>>1]=j[5302]|0;j[d+2>>1]=j[5303]|0;j[d+4>>1]=j[5304]|0;j[d+6>>1]=j[5305]|0;j[d+8>>1]=j[5306]|0;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(5<(m[(k[b>>2]|0)+50>>1]|0))a=5;else a=m[(k[b>>2]|0)+50>>1]|0;k[f>>2]=a;j[k[c>>2]>>1]=j[(k[(k[b>>2]|0)+12>>2]|0)+38>>1]|0;if((j[k[c>>2]>>1]|0)<33)j[k[c>>2]>>1]=33;IR((k[c>>2]|0)+2|0,d|0,k[f>>2]<<1|0)|0;k[e>>2]=(k[f>>2]|0)+1;while(1){if((k[e>>2]|0)>(m[(k[b>>2]|0)+50>>1]|0))break;j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=23;k[e>>2]=(k[e>>2]|0)+1}if(!(l[(k[b>>2]|0)+54>>0]|0)){r=g;return}j[(k[c>>2]|0)+(m[(k[b>>2]|0)+50>>1]<<1)>>1]=0;r=g;return}function Rj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0)){a=5;break}if(!((i[(k[b>>2]|0)+55>>0]&3|0)==2^1)){a=5;break}k[b>>2]=k[(k[b>>2]|0)+20>>2]}if((a|0)==5){r=c;return k[b>>2]|0}return 0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){l=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;k[j>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,b=Aj((k[j>>2]|0)+24|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){l=7;break}k[g>>2]=(k[g>>2]|0)+1}if((l|0)==7){r=m;return k[i>>2]|0}return 0}function Tj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+32|0;f=p+28|0;g=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;l=p+4|0;m=p;k[q>>2]=a;k[f>>2]=b;k[p+24>>2]=c;k[g>>2]=d;k[n>>2]=e;k[o>>2]=k[q>>2];k[l>>2]=0;while(1){if(!(i[k[o>>2]>>0]|0))break;if((k[l>>2]|0)>=(k[f>>2]|0))break;k[m>>2]=0;while(1){q=i[k[o>>2]>>0]|0;k[h>>2]=q;if(!((q|0)>=48?(k[h>>2]|0)<=57:0))break;k[m>>2]=((k[m>>2]|0)*10|0)+(k[h>>2]|0)-48;k[o>>2]=(k[o>>2]|0)+1}q=Uj(k[m>>2]|0,0)|0;j[(k[g>>2]|0)+(k[l>>2]<<1)>>1]=q;if((i[k[o>>2]>>0]|0)==32)k[o>>2]=(k[o>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+1}q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5;q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65;a:while(1){if(!(i[k[o>>2]>>0]|0))break;do if(hf(20833,k[o>>2]|0)|0){q=(hf(20844,k[o>>2]|0)|0)==0;f=k[o>>2]|0;if(q){q=Xi(f+3|0)|0;q=Uj(q,((q|0)<0)<<31>>31)|0;j[(k[n>>2]|0)+48>>1]=q;break}if(!(hf(20854,f)|0)){q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65|64}}else{q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5|4}while(0);while(1){if(!(i[k[o>>2]>>0]|0))break;if((i[k[o>>2]>>0]|0)==32)break;k[o>>2]=(k[o>>2]|0)+1}while(1){if((i[k[o>>2]>>0]|0)!=32)continue a;k[o>>2]=(k[o>>2]|0)+1}}r=p;return}function Uj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+10|0;d=f;e=f+8|0;g=d;k[g>>2]=a;k[g+4>>2]=b;j[e>>1]=40;b=d;a=k[b+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(k[b>>2]|0)>>>0<8){g=d;b=k[g+4>>2]|0;if(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<2){j[c>>1]=0;g=j[c>>1]|0;r=f;return g|0}else while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<8))break a;j[e>>1]=(j[e>>1]|0)-10;b=d;b=LR(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}else{while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>255))break;j[e>>1]=(j[e>>1]|0)+40;b=d;b=HR(k[b>>2]|0,k[b+4>>2]|0,4)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>15))break a;j[e>>1]=(j[e>>1]|0)+10;b=d;b=HR(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}while(0);j[c>>1]=(j[10614+((k[d>>2]&7)<<1)>>1]|0)+(j[e>>1]|0)-10;g=j[c>>1]|0;r=f;return g|0}function Vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;Wj(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0);r=c;return}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+16>>2]=k[d>>2];d=k[34]|0;b=k[(k[e>>2]|0)+44>>2]|0;a=kj(k[e>>2]|0)|0;$b[d&255](b,a);r=c;return}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;j=n+8|0;h=n;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if((i[(k[g>>2]|0)+69>>0]|0)==0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0){if(!(k[e>>2]|0))k[e>>2]=20891;b=k[g>>2]|0;k[h>>2]=k[e>>2];b=Oh(b,20893,h)|0;k[m>>2]=b;if(k[f>>2]|0){b=k[g>>2]|0;c=k[f>>2]|0;k[j>>2]=k[m>>2];k[j+4>>2]=c;b=Oh(b,20924,j)|0;k[m>>2]=b}bg(k[g>>2]|0,k[k[(k[d>>2]|0)+4>>2]>>2]|0);k[k[(k[d>>2]|0)+4>>2]>>2]=k[m>>2]}if(l[(k[g>>2]|0)+69>>0]|0){c=7;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}c=Yj(112037)|0;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}function Yj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Zj(11,k[c>>2]|0,20932)|0;r=b;return a|0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e;d=e+20|0;h=e+16|0;g=e+12|0;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;c=k[d>>2]|0;g=k[g>>2]|0;a=k[h>>2]|0;b=(uf()|0)+20|0;k[f>>2]=g;k[f+4>>2]=a;k[f+8>>2]=b;$d(c,20952,f);r=e;return k[d>>2]|0}function _j(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+12|0;e=j+16|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;i[e>>0]=b;k[f>>2]=c;k[g>>2]=d;d=k[m>>2]|0;if(k[f>>2]|0){m=$j(d,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=m}else k[h>>2]=k[d+8>>2];if(!(k[h>>2]|0)){m=k[h>>2]|0;r=j;return m|0}k[h>>2]=(k[h>>2]|0)+(((l[e>>0]|0)-1|0)*20|0);m=k[h>>2]|0;r=j;return m|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;l=j+12|0;g=j+8|0;f=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;b=Aj((k[d>>2]|0)+364|0,k[e>>2]|0)|0;k[g>>2]=b;if(!(0==(k[g>>2]|0)&(k[l>>2]|0)!=0)){l=k[g>>2]|0;r=j;return l|0}l=Tf(k[e>>2]|0)|0;k[f>>2]=l;l=Bh(k[d>>2]|0,60+(k[f>>2]|0)+1|0,0)|0;k[g>>2]=l;if(!(k[g>>2]|0)){l=k[g>>2]|0;r=j;return l|0}k[h>>2]=0;k[k[g>>2]>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+4>>0]=1;k[(k[g>>2]|0)+20>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+20+4>>0]=2;k[(k[g>>2]|0)+40>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+40+4>>0]=3;IR(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;i[(k[k[g>>2]>>2]|0)+(k[f>>2]|0)>>0]=0;l=ak((k[d>>2]|0)+364|0,k[k[g>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){l=k[g>>2]|0;r=j;return l|0}vh(k[d>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;i=m+28|0;j=m+24|0;d=m+20|0;e=m+16|0;g=m+12|0;f=m+8|0;l=m+4|0;h=m;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=Bj(k[j>>2]|0,k[d>>2]|0,g)|0;k[f>>2]=b;if(k[f>>2]|0){k[h>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[e>>2]|0))bk(k[j>>2]|0,k[f>>2]|0,k[g>>2]|0);else{k[(k[f>>2]|0)+8>>2]=k[e>>2];k[(k[f>>2]|0)+12>>2]=k[d>>2]}k[i>>2]=k[h>>2];l=k[i>>2]|0;r=m;return l|0}if(!(k[e>>2]|0)){k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}b=jg(16,0)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[i>>2]=k[e>>2];l=k[i>>2]|0;r=m;return l|0}k[(k[l>>2]|0)+12>>2]=k[d>>2];k[(k[l>>2]|0)+8>>2]=k[e>>2];b=(k[j>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+1;if(((k[(k[j>>2]|0)+4>>2]|0)>>>0>=10?(k[(k[j>>2]|0)+4>>2]|0)>>>0>k[k[j>>2]>>2]<<1>>>0:0)?(ck(k[j>>2]|0,k[(k[j>>2]|0)+4>>2]<<1)|0)!=0:0){b=Cj(k[d>>2]|0)|0;k[g>>2]=(b>>>0)%((k[k[j>>2]>>2]|0)>>>0)|0}if(k[(k[j>>2]|0)+12>>2]|0)d=(k[(k[j>>2]|0)+12>>2]|0)+(k[g>>2]<<3)|0;else d=0;dk(k[j>>2]|0,d,k[l>>2]|0);k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[d>>2]|0)+12>>2]|0){k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];g=k[g>>2]|0;k[g>>2]=(k[g>>2]|0)+-1}Ud(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if(k[(k[d>>2]|0)+4>>2]|0){r=h;return}Ij(k[d>>2]|0);r=h;return}function ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[e>>2]=k[e>>2]<<3>>>0>1024?128:b;if((k[e>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}ek();a=jg(k[e>>2]<<3,0)|0;k[h>>2]=a;fk();if(!(k[h>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}Ud(k[(k[d>>2]|0)+12>>2]|0);k[(k[d>>2]|0)+12>>2]=k[h>>2];a=((kg(k[h>>2]|0)|0)>>>0)/8|0;k[e>>2]=a;k[k[d>>2]>>2]=a;KR(k[h>>2]|0,0,k[e>>2]<<3|0)|0;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=Cj(k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=(a>>>0)%((k[e>>2]|0)>>>0)|0;k[i>>2]=k[k[f>>2]>>2];dk(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[i>>2]}k[c>>2]=1;a=k[c>>2]|0;r=j;return a|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;if(k[d>>2]|0){if(k[k[d>>2]>>2]|0)b=k[(k[d>>2]|0)+4>>2]|0;else b=0;k[g>>2]=b;c=k[d>>2]|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[d>>2]|0)+4>>2]=k[f>>2]}else k[g>>2]=0;if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[e>>2]|0)+8>>2]|0)k[(k[(k[e>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+8>>2]=k[f>>2];r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[e>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];r=h;return}function ek(){if(!(k[429]|0))return;dc[k[1716>>2]&255]();return}function fk(){if(!(k[430]|0))return;dc[k[1720>>2]&255]();return}function gk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=(k[g>>2]|0)<(k[i>>2]|0)?k[g>>2]|0:k[i>>2]|0;a=VQ(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[m>>2]=a;if(k[m>>2]|0){m=k[m>>2]|0;r=n;return m|0}if(((k[f>>2]|0)!=0?(lu((k[h>>2]|0)+(k[l>>2]|0)|0,(k[g>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0)?(lu((k[j>>2]|0)+(k[l>>2]|0)|0,(k[i>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0){m=k[m>>2]|0;r=n;return m|0}k[m>>2]=(k[g>>2]|0)-(k[i>>2]|0);m=k[m>>2]|0;r=n;return m|0}function hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;f=i+16|0;l=i+12|0;g=i+8|0;j=i+4|0;h=i;k[i+20>>2]=a;k[f>>2]=b;k[l>>2]=c;k[g>>2]=d;k[j>>2]=e;e=Jd(k[l>>2]|0,k[j>>2]|0,(k[f>>2]|0)<(k[g>>2]|0)?k[f>>2]|0:k[g>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){l=k[h>>2]|0;r=i;return l|0}k[h>>2]=(k[f>>2]|0)-(k[g>>2]|0);l=k[h>>2]|0;r=i;return l|0}function ik(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=r;r=r+160|0;J=S+32|0;I=S+24|0;H=S+16|0;G=S+8|0;j=S+140|0;T=S+136|0;m=S+132|0;n=S+128|0;o=S+124|0;p=S+120|0;q=S+116|0;F=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;h=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;g=S;E=S+76|0;C=S+72|0;P=S+68|0;D=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;K=S+36|0;k[T>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[F>>2]=0;k[v>>2]=k[k[n>>2]>>2];k[Q>>2]=k[T>>2];b=Tf(k[m>>2]|0)|0;k[h>>2]=b;a:do if(((k[v>>2]&64|0)!=0|(k[5]|0)!=0)&(k[h>>2]|0)>=5?(VQ(k[m>>2]|0,26639,5)|0)==0:0){k[y>>2]=0;b=(k[h>>2]|0)+2|0;T=g;k[T>>2]=b;k[T+4>>2]=((b|0)<0)<<31>>31;k[v>>2]=k[v>>2]|64;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[h>>2]|0))break;b=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==38&1;T=g;b=GR(k[T>>2]|0,k[T+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;T=g;k[T>>2]=b;k[T+4>>2]=L;k[x>>2]=(k[x>>2]|0)+1}T=g;T=Td(k[T>>2]|0,k[T+4>>2]|0)|0;k[M>>2]=T;if(!(k[M>>2]|0)){k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}k[x>>2]=5;do if((i[(k[m>>2]|0)+5>>0]|0)==47?(i[(k[m>>2]|0)+6>>0]|0)==47:0){k[x>>2]=7;while(1){if(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)g=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)!=47;else g=0;h=k[x>>2]|0;if(!g)break;k[x>>2]=h+1}if((h|0)!=7){if((k[x>>2]|0)==16?(VQ(26645,(k[m>>2]|0)+7|0,9)|0)==0:0)break;T=(k[m>>2]|0)+7|0;k[G>>2]=(k[x>>2]|0)-7;k[G+4>>2]=T;T=Yd(26655,G)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break a}}while(0);k[u>>2]=0;b:while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))break;if((i[t>>0]|0)==35)break;k[x>>2]=(k[x>>2]|0)+1;do if(((i[t>>0]|0)==37?(l[19019+(l[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(l[19019+(l[(k[m>>2]|0)+((k[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=k[x>>2]|0;k[x>>2]=T+1;T=((Ti(i[(k[m>>2]|0)+T>>0]|0)|0)&255)<<4;k[E>>2]=T;T=k[x>>2]|0;k[x>>2]=T+1;T=(Ti(i[(k[m>>2]|0)+T>>0]|0)|0)&255;k[E>>2]=(k[E>>2]|0)+T;if(k[E>>2]|0){i[t>>0]=k[E>>2];break}while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))continue b;if((i[t>>0]|0)==35)continue b;if((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)continue b;if((k[u>>2]|0)==1){if((i[t>>0]|0)==61)continue b;if((i[t>>0]|0)==38)continue b}if((k[u>>2]|0)==2?(i[t>>0]|0)==38:0)continue b;k[x>>2]=(k[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((k[u>>2]|0)==1){if((i[t>>0]|0)!=38?(i[t>>0]|0)!=61:0)break;if(!(i[(k[M>>2]|0)+((k[y>>2]|0)-1)>>0]|0))while(1){if(!(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0))continue b;if((i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==35)continue b;if((i[(k[m>>2]|0)+((k[x>>2]|0)-1)>>0]|0)==38)continue b;k[x>>2]=(k[x>>2]|0)+1}else{if((i[t>>0]|0)==38){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}else k[u>>2]=2;i[t>>0]=0;break c}}while(0);if(!((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)){if((k[u>>2]|0)!=2)break;if((i[t>>0]|0)!=38)break}i[t>>0]=0;k[u>>2]=1}while(0);G=i[t>>0]|0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=G}if((k[u>>2]|0)==1){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=(Tf(k[M>>2]|0)|0)+1|0;k[O>>2]=(k[M>>2]|0)+T;while(1){if(!(i[k[O>>2]>>0]|0)){R=84;break a}T=Tf(k[O>>2]|0)|0;k[C>>2]=T;k[P>>2]=(k[O>>2]|0)+((k[C>>2]|0)+1);T=Tf(k[P>>2]|0)|0;k[D>>2]=T;if((k[C>>2]|0)==3?(VQ(26683,k[O>>2]|0,3)|0)==0:0)k[Q>>2]=k[P>>2];else{k[s>>2]=0;k[N>>2]=0;k[A>>2]=0;k[z>>2]=0;if((k[C>>2]|0)==5?(VQ(26687,k[O>>2]|0,5)|0)==0:0){k[A>>2]=393216;k[s>>2]=4948;k[z>>2]=k[A>>2];k[N>>2]=26687}if((k[C>>2]|0)==4?(VQ(26693,k[O>>2]|0,4)|0)==0:0){k[A>>2]=135;k[s>>2]=4972;k[z>>2]=k[A>>2]&k[v>>2];k[N>>2]=26698}if(k[s>>2]|0){k[B>>2]=0;k[w>>2]=0;while(1){if(!(k[(k[s>>2]|0)+(k[w>>2]<<3)>>2]|0))break;k[K>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)>>2];T=k[D>>2]|0;if((T|0)==(Tf(k[K>>2]|0)|0)?0==(VQ(k[P>>2]|0,k[K>>2]|0,k[D>>2]|0)|0):0){R=73;break}k[w>>2]=(k[w>>2]|0)+1}if((R|0)==73){R=0;k[B>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)+4>>2]}if(!(k[B>>2]|0)){R=76;break}if((k[B>>2]&-129|0)>(k[z>>2]|0)){R=78;break}k[v>>2]=k[v>>2]&~k[A>>2]|k[B>>2]}}k[O>>2]=(k[P>>2]|0)+((k[D>>2]|0)+1)}if((R|0)==76){T=k[P>>2]|0;k[H>>2]=k[N>>2];k[H+4>>2]=T;T=Yd(26705,H)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break}else if((R|0)==78){T=k[P>>2]|0;k[I>>2]=k[N>>2];k[I+4>>2]=T;T=Yd(26725,I)|0;k[k[q>>2]>>2]=T;k[F>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(k[h>>2]|0)+2|0;T=Td(T,((T|0)<0)<<31>>31)|0;k[M>>2]=T;if(k[M>>2]|0){IR(k[M>>2]|0,k[m>>2]|0,k[h>>2]|0)|0;i[(k[M>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[M>>2]|0)+((k[h>>2]|0)+1)>>0]=0;k[v>>2]=k[v>>2]&-65;R=84;break}k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}while(0);if((R|0)==84?(T=Md(k[Q>>2]|0)|0,k[k[o>>2]>>2]=T,(k[k[o>>2]>>2]|0)==0):0){k[J>>2]=k[Q>>2];T=Yd(26749,J)|0;k[k[q>>2]>>2]=T;k[F>>2]=1}if(k[F>>2]|0){Ud(k[M>>2]|0);k[M>>2]=0}k[k[n>>2]>>2]=k[v>>2];k[k[p>>2]>>2]=k[M>>2];k[j>>2]=k[F>>2];T=k[j>>2]|0;r=S;return T|0}function jk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+192|0;C=I+76|0;g=I+72|0;h=I+68|0;n=I+64|0;D=I+60|0;o=I+56|0;p=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;q=I+4|0;G=I;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[D>>2]=d;k[o>>2]=e;k[p>>2]=f;k[F>>2]=0;k[I+40>>2]=0;k[H>>2]=0;if(!(k[h>>2]|0))c=1;else c=(i[k[h>>2]>>0]|0)==0;k[u>>2]=c&1;if((k[h>>2]|0)!=0?(YQ(k[h>>2]|0,26453)|0)==0:0)c=1;else B=5;do if((B|0)==5){if((k[u>>2]|0)!=0?(fr(k[n>>2]|0)|0)!=0:0){c=1;break}c=(k[p>>2]&128|0)!=0}while(0);k[t>>2]=c&1;if(k[t>>2]|0)k[o>>2]=k[o>>2]|2;if((k[p>>2]&256|0)!=0?(k[t>>2]|0)!=0|(k[u>>2]|0)!=0:0)k[p>>2]=k[p>>2]&-257|512;b=ug(48,0)|0;k[E>>2]=b;if(!(k[E>>2]|0)){k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}i[(k[E>>2]|0)+8>>0]=0;k[k[E>>2]>>2]=k[n>>2];k[(k[E>>2]|0)+32>>2]=k[E>>2];k[(k[E>>2]|0)+32+4>>2]=1;do if(!(k[u>>2]|0)){if((k[t>>2]|0)!=0?(k[p>>2]&64|0)==0:0)break;if(k[p>>2]&131072){u=(Tf(k[h>>2]|0)|0)+1|0;k[v>>2]=u;k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+1;u=(k[w>>2]|0)>(k[v>>2]|0)?k[w>>2]|0:k[v>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[A>>2]=u;i[(k[E>>2]|0)+9>>0]=1;if(!(k[A>>2]|0)){Ud(k[E>>2]|0);k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}if(!(k[t>>2]|0)){w=gr(k[g>>2]|0,k[h>>2]|0,k[w>>2]|0,k[A>>2]|0)|0;k[H>>2]=w;if(k[H>>2]|0){Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}}else IR(k[A>>2]|0,k[h>>2]|0,k[v>>2]|0)|0;k[F>>2]=k[1217];while(1){if(!(k[F>>2]|0))break;w=k[A>>2]|0;if(0==(YQ(w,Si(k[k[F>>2]>>2]|0,0)|0)|0)?(w=Gi(k[k[F>>2]>>2]|0)|0,(w|0)==(k[g>>2]|0)):0){B=29;break}k[F>>2]=k[(k[F>>2]|0)+68>>2]}do if((B|0)==29){k[s>>2]=(k[(k[n>>2]|0)+20>>2]|0)-1;while(1){if((k[s>>2]|0)<0){B=35;break}k[y>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[s>>2]<<4)+4>>2];if((k[y>>2]|0)!=0?(k[(k[y>>2]|0)+4>>2]|0)==(k[F>>2]|0):0)break;k[s>>2]=(k[s>>2]|0)+-1}if((B|0)==35){k[(k[E>>2]|0)+4>>2]=k[F>>2];y=(k[F>>2]|0)+64|0;k[y>>2]=(k[y>>2]|0)+1;break}Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=19;H=k[C>>2]|0;r=I;return H|0}while(0);Ud(k[A>>2]|0)}}while(0);do if(!(k[F>>2]|0)){A=ug(84,0)|0;k[F>>2]=A;if(!(k[F>>2]|0)){k[H>>2]=7;break}A=ir(k[g>>2]|0,k[F>>2]|0,k[h>>2]|0,88,k[o>>2]|0,k[p>>2]|0,149)|0;k[H>>2]=A;if(!(k[H>>2]|0)){A=(k[n>>2]|0)+40|0;jr(k[k[F>>2]>>2]|0,k[A>>2]|0,k[A+4>>2]|0);A=kr(k[k[F>>2]>>2]|0,100,z)|0;k[H>>2]=A}if(!(k[H>>2]|0)){i[(k[F>>2]|0)+16>>0]=k[o>>2];k[(k[F>>2]|0)+4>>2]=k[n>>2];mr(k[k[F>>2]>>2]|0,171,k[F>>2]|0);k[(k[E>>2]|0)+4>>2]=k[F>>2];k[(k[F>>2]|0)+8>>2]=0;k[(k[F>>2]|0)+12>>2]=0;if((nr(k[k[F>>2]>>2]|0)|0)<<24>>24){A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|1}k[(k[F>>2]|0)+32>>2]=l[z+16>>0]<<8|l[z+17>>0]<<16;if(((k[(k[F>>2]|0)+32>>2]|0)>>>0>=512?(k[(k[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((k[(k[F>>2]|0)+32>>2]|0)-1&k[(k[F>>2]|0)+32>>2]|0)==0:0){i[x>>0]=i[z+20>>0]|0;A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|2;A=(or(z+52|0)|0)!=0;i[(k[F>>2]|0)+17>>0]=A?1:0;A=(or(z+64|0)|0)!=0;i[(k[F>>2]|0)+18>>0]=A?1:0}else{k[(k[F>>2]|0)+32>>2]=0;if(!((k[h>>2]|0)==0|(k[t>>2]|0)!=0)){i[(k[F>>2]|0)+17>>0]=0;i[(k[F>>2]|0)+18>>0]=0}i[x>>0]=0}A=bj(k[k[F>>2]>>2]|0,(k[F>>2]|0)+32|0,l[x>>0]|0)|0;k[H>>2]=A;if(!(k[H>>2]|0)){k[(k[F>>2]|0)+36>>2]=(k[(k[F>>2]|0)+32>>2]|0)-(l[x>>0]|0);if(i[(k[E>>2]|0)+9>>0]|0){k[(k[F>>2]|0)+64>>2]=1;k[(k[F>>2]|0)+68>>2]=k[1217];k[1217]=k[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(i[(k[E>>2]|0)+9>>0]|0){k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break a;B=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0;k[G>>2]=B;if((B|0)!=0?(l[(k[G>>2]|0)+9>>0]|0)!=0:0)break;k[q>>2]=(k[q>>2]|0)+1}while(1){if(!(k[(k[G>>2]|0)+28>>2]|0))break;k[G>>2]=k[(k[G>>2]|0)+28>>2]}if((k[(k[E>>2]|0)+4>>2]|0)>>>0<(k[(k[G>>2]|0)+4>>2]|0)>>>0){k[(k[E>>2]|0)+24>>2]=k[G>>2];k[(k[E>>2]|0)+28>>2]=0;k[(k[G>>2]|0)+28>>2]=k[E>>2];break}while(1){if(k[(k[G>>2]|0)+24>>2]|0)e=(k[(k[(k[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(k[(k[E>>2]|0)+4>>2]|0)>>>0;else e=0;c=k[(k[G>>2]|0)+24>>2]|0;if(!e)break;k[G>>2]=c}k[(k[E>>2]|0)+24>>2]=c;k[(k[E>>2]|0)+28>>2]=k[G>>2];if(k[(k[E>>2]|0)+24>>2]|0)k[(k[(k[E>>2]|0)+24>>2]|0)+28>>2]=k[E>>2];k[(k[G>>2]|0)+24>>2]=k[E>>2]}while(0);k[k[D>>2]>>2]=k[E>>2]}if(!(k[H>>2]|0)){if(!(er(k[E>>2]|0,0,0)|0))Vj(k[k[(k[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((k[F>>2]|0)!=0?(k[k[F>>2]>>2]|0)!=0:0)pr(k[k[F>>2]>>2]|0)|0;Ud(k[F>>2]|0);Ud(k[E>>2]|0);k[k[D>>2]>>2]=0}k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}function kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=er(k[d>>2]|0,84,150)|0;k[e>>2]=b}else{b=Bh(0,84,0)|0;k[e>>2]=b}if(!(k[e>>2]|0)){vh(k[c>>2]|0);b=k[e>>2]|0;r=f;return b|0}if(l[(k[e>>2]|0)+76>>0]|0){b=k[e>>2]|0;r=f;return b|0}Hj((k[e>>2]|0)+8|0);Hj((k[e>>2]|0)+24|0);Hj((k[e>>2]|0)+40|0);Hj((k[e>>2]|0)+56|0);i[(k[e>>2]|0)+77>>0]=1;b=k[e>>2]|0;r=f;return b|0}function lk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;a=If(k[b>>2]|0,26447,2)|0;k[d>>2]=a;if((k[d>>2]|0)!=7){r=c;return}vh(k[b>>2]|0);r=c;return}function mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i;b=i+24|0;d=i+20|0;c=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;k[b>>2]=a;k[c>>2]=1;if(!(k[382]|0)){r=i;return}k[d>>2]=0;while(1){if(!(k[c>>2]|0))break;if((k[d>>2]|0)>>>0>=(k[382]|0)>>>0){k[g>>2]=0;k[c>>2]=0}else k[g>>2]=k[(k[383]|0)+(k[d>>2]<<2)>>2];k[h>>2]=0;if((k[g>>2]|0)!=0?(a=Yb[k[g>>2]&255](k[b>>2]|0,h,4012)|0,k[e>>2]=a,(a|0)!=0):0){j=k[b>>2]|0;a=k[e>>2]|0;k[f>>2]=k[h>>2];tg(j,a,26408,f);k[c>>2]=0}Ud(k[h>>2]|0);k[d>>2]=(k[d>>2]|0)+1}r=i;return}function nk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i+4|0;g=i;k[c>>2]=a;k[h>>2]=0;k[d>>2]=0;k[f>>2]=0;k[e>>2]=0;k[g>>2]=0;ok(g);a=pk(k[c>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}qk(f);rk(e);a=Sd(20)|0;k[d>>2]=a;if(k[d>>2]|0)sk(k[d>>2]|0,1,1);else k[h>>2]=7;do if(!(k[h>>2]|0)){if(((tk(k[d>>2]|0,21063,7,k[f>>2]|0)|0)==0?(tk(k[d>>2]|0,21070,7,k[e>>2]|0)|0)==0:0)?(tk(k[d>>2]|0,21077,10,k[g>>2]|0)|0)==0:0)break;k[h>>2]=7}while(0);if((((((0==(k[h>>2]|0)?(g=uk(k[c>>2]|0,k[d>>2]|0,21087)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21102,-1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21110,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21118,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21118,2)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21128,1)|0,k[h>>2]=g,0==(g|0)):0){g=pf(k[c>>2]|0,21137,1724,k[d>>2]|0,151)|0;k[h>>2]=g;if(!(k[h>>2]|0)){g=pf(k[c>>2]|0,21142,1724,k[d>>2]|0,0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){g=wk(k[c>>2]|0,k[d>>2]|0)|0;k[h>>2]=g}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}if(k[d>>2]|0){xk(k[d>>2]|0);Ud(k[d>>2]|0)}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}function ok(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2344;r=b;return}function pk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=of(k[d>>2]|0,26059,2252,0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function qk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2224;r=b;return}function rk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2196;r=b;return}function sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d;g=d+5|0;f=d+4|0;k[e>>2]=a;i[g>>0]=b;i[f>>0]=c;i[k[e>>2]>>0]=i[g>>0]|0;i[(k[e>>2]|0)+1>>0]=i[f>>0]|0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;r=d;return}function tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;h=s+40|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;e=s+12|0;q=s+8|0;t=s+4|0;f=s;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;b=Pk(i[k[j>>2]>>0]|0)|0;k[t>>2]=b;b=gc[k[t>>2]&255](k[l>>2]|0,k[m>>2]|0)|0;k[p>>2]=b;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;b=Qk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){k[f>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[n>>2]|0))iq(k[j>>2]|0,k[e>>2]|0,k[o>>2]|0);else k[(k[e>>2]|0)+8>>2]=k[n>>2];k[h>>2]=k[f>>2];t=k[h>>2]|0;r=s;return t|0}if(!(k[n>>2]|0)){k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}if(!((k[(k[j>>2]|0)+12>>2]|0)==0?(jq(k[j>>2]|0,8)|0)!=0:0))g=10;do if((g|0)==10){if((k[(k[j>>2]|0)+4>>2]|0)>=(k[(k[j>>2]|0)+12>>2]|0)?(jq(k[j>>2]|0,k[(k[j>>2]|0)+12>>2]<<1)|0)!=0:0)break;t=kq(20)|0;k[q>>2]=t;if(!(k[q>>2]|0)){k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}do if((k[l>>2]|0)!=0?(i[(k[j>>2]|0)+1>>0]|0)!=0:0){d=kq(k[m>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=d;d=k[q>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){IR(k[d+12>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;break}yk(d);k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}else k[(k[q>>2]|0)+12>>2]=k[l>>2];while(0);k[(k[q>>2]|0)+16>>2]=k[m>>2];t=(k[j>>2]|0)+4|0;k[t>>2]=(k[t>>2]|0)+1;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;lq(k[j>>2]|0,(k[(k[j>>2]|0)+16>>2]|0)+(k[o>>2]<<3)|0,k[q>>2]|0);k[(k[q>>2]|0)+8>>2]=k[n>>2];k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}while(0);k[(k[j>>2]|0)+4>>2]=0;k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=k[i>>2];k[h>>2]=5;if(!(k[g>>2]|0)){i=Gf(k[d>>2]|0,k[e>>2]|0,1,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=Gf(k[d>>2]|0,k[e>>2]|0,2,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function vk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];xk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=of(k[f>>2]|0,21147,1816,k[e>>2]|0)|0;k[c>>2]=b;r=d;return k[c>>2]|0}function xk(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;yk(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+12>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];if((i[(k[b>>2]|0)+1>>0]|0)!=0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)yk(k[(k[c>>2]|0)+12>>2]|0);yk(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function yk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function zk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+56|0;x=w+52|0;h=w+48|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;s=w+28|0;q=w+24|0;t=w+20|0;u=w+16|0;o=w+12|0;p=w+8|0;v=w+4|0;n=w;k[x>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[s>>2]=0;k[q>>2]=0;k[t>>2]=0;k[o>>2]=0;f=qf(k[x>>2]|0,21160)|0;k[u>>2]=f;if(k[u>>2]|0){k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}k[p>>2]=(k[i>>2]|0)-3;x=Kk(k[p>>2]|0,(k[j>>2]|0)+12|0,o)|0;k[u>>2]=x;if(!(k[u>>2]|0)){if((k[p>>2]|0)<1)k[v>>2]=21063;else k[v>>2]=k[k[o>>2]>>2];x=Lk(k[h>>2]|0,k[v>>2]|0,q,k[m>>2]|0)|0;k[u>>2]=x}if(!(k[u>>2]|0)){k[n>>2]=(k[o>>2]|0)+4;x=Yb[k[(k[q>>2]|0)+4>>2]&255]((k[p>>2]|0)>1?(k[p>>2]|0)-1|0:0,k[n>>2]|0,t)|0;k[u>>2]=x}if((k[u>>2]|0)==0?(x=Sd(20)|0,k[s>>2]=x,(k[s>>2]|0)==0):0)k[u>>2]=7;if(k[u>>2]|0){if(k[t>>2]|0)bc[k[(k[q>>2]|0)+8>>2]&255](k[t>>2]|0)|0}else{x=k[s>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[(k[s>>2]|0)+12>>2]=k[q>>2];k[(k[s>>2]|0)+16>>2]=k[t>>2];k[k[l>>2]>>2]=k[s>>2]}Ud(k[o>>2]|0);k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){b=8;break}if(((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+5>>0]|0|0)!=0?(k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)>>2]|0)==0:0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+4>>0]|0|0)==2:0){b=6;break}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==6){k[(k[d>>2]|0)+20>>2]=1;k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=1;i[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1;p[(k[d>>2]|0)+40>>3]=1.0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else if((b|0)==8){k[(k[d>>2]|0)+20>>2]=0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Bk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+16>>2]|0)|0;Ud(k[c>>2]|0);r=b;return 0}function Ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(36)|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}else{a=k[e>>2]|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Dk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Jk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+40|0;g=p+36|0;q=p+32|0;h=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;j=p;k[g>>2]=a;k[q>>2]=b;k[p+28>>2]=c;k[p+24>>2]=d;k[h>>2]=e;k[n>>2]=1;k[l>>2]=k[g>>2];k[m>>2]=k[k[g>>2]>>2];Jk(k[l>>2]|0);do if((k[q>>2]|0)==1){q=ke(k[k[h>>2]>>2]|0)|0;k[o>>2]=q;q=le(k[k[h>>2]>>2]|0)|0;k[j>>2]=q;q=Sd((k[j>>2]|0)+1|0)|0;k[(k[l>>2]|0)+4>>2]=q;if(!(k[(k[l>>2]|0)+4>>2]|0)){k[n>>2]=7;break}IR(k[(k[l>>2]|0)+4>>2]|0,k[o>>2]|0,k[j>>2]|0)|0;i[(k[(k[l>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]=0;q=ec[k[(k[(k[m>>2]|0)+12>>2]|0)+12>>2]&255](k[(k[m>>2]|0)+16>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[j>>2]|0,(k[l>>2]|0)+8|0)|0;k[n>>2]=q;if(!(k[n>>2]|0))k[k[(k[l>>2]|0)+8>>2]>>2]=k[(k[m>>2]|0)+16>>2]}while(0);if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=p;return q|0}else{q=Fk(k[g>>2]|0)|0;k[f>>2]=q;q=k[f>>2]|0;r=p;return q|0}return 0}function Fk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;b=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[b>>2]=k[f>>2];k[e>>2]=k[k[f>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;a=ac[k[(k[(k[e>>2]|0)+12>>2]|0)+20>>2]&255](k[(k[b>>2]|0)+8>>2]|0,(k[b>>2]|0)+16|0,(k[b>>2]|0)+20|0,(k[b>>2]|0)+24|0,(k[b>>2]|0)+28|0,(k[b>>2]|0)+32|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){f=k[c>>2]|0;r=d;return f|0}Jk(k[b>>2]|0);if((k[c>>2]|0)!=101){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=d;return f|0}function Gk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return (k[(k[b>>2]|0)+16>>2]|0)==0|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]|0,-1,-1);r=f;return 0}case 1:{xe(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0,-1);r=f;return 0}case 2:{ue(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0);r=f;return 0}case 3:{ue(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);r=f;return 0}default:{ue(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);r=f;return 0}}return 0}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];a=k[(k[e>>2]|0)+12>>2]|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;r=c;return 0}function Jk(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=k[k[b>>2]>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+16>>2]&255](k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=0}Ud(k[(k[b>>2]|0)+4>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+20>>2]=0;k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+12>>2]=0;r=d;return}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;m=n+20|0;h=n+16|0;j=n+12|0;g=n+8|0;l=n+4|0;i=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;if(!(k[d>>2]|0)){k[k[f>>2]>>2]=0;m=k[m>>2]|0;r=n;return m|0}k[j>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=($Q(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0)+1|0;k[j>>2]=(k[j>>2]|0)+c;k[h>>2]=(k[h>>2]|0)+1}c=Sd((k[d>>2]<<2)+(k[j>>2]|0)|0)|0;k[g>>2]=c;k[k[f>>2]>>2]=c;if(!(k[g>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+(k[d>>2]<<2);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=$Q(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[i>>2]=c;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[l>>2];IR(k[l>>2]|0,k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0,(k[i>>2]|0)+1|0)|0;Wk(k[l>>2]|0);k[l>>2]=(k[l>>2]|0)+((k[i>>2]|0)+1);k[h>>2]=(k[h>>2]|0)+1}m=k[m>>2]|0;r=n;return m|0}function Lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;j=l;e=l+28|0;n=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;i=l+8|0;m=l+4|0;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=$Q(k[f>>2]|0)|0;k[m>>2]=b;b=Mk(k[n>>2]|0,k[f>>2]|0,(k[m>>2]|0)+1|0)|0;k[i>>2]=b;if(k[i>>2]|0){k[k[g>>2]>>2]=k[i>>2];k[e>>2]=0;n=k[e>>2]|0;r=l;return n|0}else{n=k[h>>2]|0;k[j>>2]=k[f>>2];Nk(n,21211,j);k[e>>2]=1;n=k[e>>2]|0;r=l;return n|0}return 0}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=Ok(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){h=0;r=e;return h|0}h=k[(k[d>>2]|0)+8>>2]|0;r=e;return h|0}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;Ud(k[k[e>>2]>>2]|0);k[f>>2]=c;b=Xd(k[g>>2]|0,f)|0;k[k[e>>2]>>2]=b;r=d;return}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+16>>2]|0)!=0:0){b=Pk(i[k[e>>2]>>0]|0)|0;k[j>>2]=b;j=gc[k[j>>2]&255](k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=j;j=Qk(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]&(k[(k[e>>2]|0)+12>>2]|0)-1)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Pk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=180;else k[b>>2]=181;r=c;return k[b>>2]|0}function Qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;h=p+32|0;e=p+28|0;j=p+24|0;l=p+20|0;f=p+16|0;n=p+12|0;m=p+8|0;o=p+4|0;g=p;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[f>>2]=d;a:do if(k[(k[e>>2]|0)+16>>2]|0){k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<3);k[n>>2]=k[(k[g>>2]|0)+4>>2];k[m>>2]=k[k[g>>2]>>2];b=Rk(i[k[e>>2]>>0]|0)|0;k[o>>2]=b;while(1){b=k[m>>2]|0;k[m>>2]=b+-1;if(!((b|0)!=0?(k[n>>2]|0)!=0:0))break a;b=(ec[k[o>>2]&255](k[(k[n>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0;e=k[n>>2]|0;if(b)break;k[n>>2]=k[e>>2]}k[h>>2]=e;o=k[h>>2]|0;r=p;return o|0}while(0);k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}function Rk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=142;else k[b>>2]=143;r=c;return k[b>>2]|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=aR(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=VQ(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];k[d>>2]=0;if((k[c>>2]|0)<=0){g=$Q(k[e>>2]|0)|0;k[c>>2]=g}while(1){b=k[d>>2]|0;if((k[c>>2]|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0];k[c>>2]=(k[c>>2]|0)+-1}r=f;return b&2147483647|0}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=k[g>>2];while(1){g=k[c>>2]|0;k[c>>2]=g+-1;b=k[d>>2]|0;if((g|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0]}r=f;return b&2147483647|0}function Wk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;f=g+12|0;d=g+4|0;e=g;k[c>>2]=a;i[f>>0]=i[k[c>>2]>>0]|0;if((((i[f>>0]|0)!=91?(i[f>>0]|0)!=39:0)?(i[f>>0]|0)!=34:0)?(i[f>>0]|0)!=96:0){r=g;return}k[d>>2]=1;k[e>>2]=0;if((i[f>>0]|0)==91)i[f>>0]=93;while(1){if(!(i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0))break;a=k[d>>2]|0;b=a+1|0;if((i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)!=(i[f>>0]|0)){k[d>>2]=b;a=i[(k[c>>2]|0)+a>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;continue}if((i[(k[c>>2]|0)+b>>0]|0)!=(i[f>>0]|0))break;a=i[f>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;k[d>>2]=(k[d>>2]|0)+2}i[(k[c>>2]|0)+(k[e>>2]|0)>>0]=0;r=g;return}function Xk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Tp(1,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function Yk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Tp(0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function Zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+64|0;q=u+48|0;v=u+44|0;s=u+40|0;m=u+36|0;d=u+32|0;e=u+28|0;j=u+24|0;f=u+20|0;g=u+16|0;h=u+12|0;c=u+8|0;n=u+4|0;t=u;k[v>>2]=a;k[s>>2]=b;k[m>>2]=k[v>>2];k[e>>2]=-1;k[j>>2]=-1;k[f>>2]=-1;k[g>>2]=-1;k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=5.0e6;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=(k[k[s>>2]>>2]|0))break;k[n>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*12|0);b=k[n>>2]|0;b:do if(!(l[(k[n>>2]|0)+5>>0]|0)){if((l[b+4>>0]|0)==64){o=5;break a}}else{if((k[b>>2]|0)<0)b=1;else b=(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+1|0);k[c>>2]=b&1;if((k[e>>2]|0)<0?((k[c>>2]|0)!=0?(l[(k[n>>2]|0)+4>>0]|0)==2:0):0){k[(k[s>>2]|0)+20>>2]=1;p[(k[s>>2]|0)+40>>3]=1.0;k[e>>2]=k[d>>2]}if(((l[(k[n>>2]|0)+4>>0]|0)==64?(k[k[n>>2]>>2]|0)>=0:0)?(k[k[n>>2]>>2]|0)<=(k[(k[m>>2]|0)+24>>2]|0):0){k[(k[s>>2]|0)+20>>2]=2+(k[k[n>>2]>>2]|0);p[(k[s>>2]|0)+40>>3]=2.0;k[e>>2]=k[d>>2]}if((l[(k[n>>2]|0)+4>>0]|0)==2?(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+2|0):0)k[j>>2]=k[d>>2];if(k[c>>2]|0)switch(l[(k[n>>2]|0)+4>>0]|0){case 4:case 32:{k[f>>2]=k[d>>2];break b}case 16:case 8:{k[g>>2]=k[d>>2];break b}default:break b}}while(0);k[d>>2]=(k[d>>2]|0)+1}if((o|0)==5){k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=1.e+50;Rp(k[s>>2]|0,0,262144);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)==1)Sp(k[s>>2]|0);k[h>>2]=1;if((k[e>>2]|0)>=0){v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=v;i[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1}if((k[j>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|65536;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=v}if((k[f>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|131072;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[f>>2]<<3)>>2]=v}if((k[g>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|262144;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=v}do if((k[(k[s>>2]|0)+8>>2]|0)==1){k[t>>2]=k[(k[s>>2]|0)+12>>2];if((k[k[t>>2]>>2]|0)>=0?(k[k[t>>2]>>2]|0)!=((k[(k[m>>2]|0)+24>>2]|0)+1|0):0)break;b=(k[s>>2]|0)+24|0;if(i[(k[t>>2]|0)+4>>0]|0)k[b>>2]=24240;else k[b>>2]=24245;k[(k[s>>2]|0)+32>>2]=1}while(0);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}function _k(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[e>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;ge(k[(k[c>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[c>>2]|0)+240>>2]|0);Ud(k[(k[c>>2]|0)+216>>2]|0);Ud(k[(k[c>>2]|0)+220>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);bc[k[(k[k[(k[c>>2]|0)+36>>2]>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+36>>2]|0)|0;Ud(k[c>>2]|0);r=d;return 0}function $k(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;f=m;b=m+56|0;d=m+52|0;e=m+48|0;l=m+44|0;c=m+40|0;k[b>>2]=a;k[d>>2]=k[b>>2];k[e>>2]=0;k[l>>2]=k[(k[d>>2]|0)+16>>2];k[c>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[(k[d>>2]|0)+40>>2]|0)){a=k[c>>2]|0;n=k[(k[d>>2]|0)+20>>2]|0;k[f>>2]=k[l>>2];k[f+4>>2]=n;vl(e,a,24440,f)}n=k[c>>2]|0;f=k[(k[d>>2]|0)+20>>2]|0;k[i>>2]=k[l>>2];k[i+4>>2]=f;vl(e,n,24477,i);n=k[c>>2]|0;i=k[(k[d>>2]|0)+20>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=i;vl(e,n,24515,j);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[g>>2]=k[l>>2];k[g+4>>2]=j;vl(e,n,24551,g);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[h>>2]=k[l>>2];k[h+4>>2]=j;vl(e,n,24588,h);if(!(k[e>>2]|0)){n=_k(k[b>>2]|0)|0;r=m;return n|0}else{n=k[e>>2]|0;r=m;return n|0}return 0}function al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+12|0;f=e+4|0;c=e;k[e+8>>2]=a;k[f>>2]=b;b=Sd(96)|0;k[c>>2]=b;k[k[f>>2]>>2]=b;if(k[c>>2]|0){c=k[c>>2]|0;a=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=7;f=k[d>>2]|0;r=e;return f|0}return 0}function bl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ge(k[(k[c>>2]|0)+8>>2]|0)|0;op(k[(k[c>>2]|0)+12>>2]|0);Qp(k[c>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);Hm(k[(k[c>>2]|0)+92>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function cl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;B=D+32|0;A=D;t=D+108|0;u=D+104|0;f=D+100|0;m=D+96|0;g=D+88|0;z=D+84|0;C=D+80|0;n=D+76|0;v=D+72|0;w=D+68|0;p=D+64|0;q=D+60|0;x=D+56|0;y=D+52|0;h=D+48|0;o=D+44|0;s=D+40|0;k[u>>2]=a;k[f>>2]=b;k[m>>2]=c;k[D+92>>2]=d;k[g>>2]=e;k[z>>2]=0;k[v>>2]=k[k[u>>2]>>2];k[w>>2]=k[u>>2];k[p>>2]=0;k[q>>2]=0;k[x>>2]=0;k[y>>2]=0;k[n>>2]=k[f>>2]&65535;k[h>>2]=0;if(k[n>>2]|0){a=k[h>>2]|0;k[h>>2]=a+1;k[p>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&65536){a=k[h>>2]|0;k[h>>2]=a+1;k[q>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&131072){a=k[h>>2]|0;k[h>>2]=a+1;k[x>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&262144){a=k[h>>2]|0;k[h>>2]=a+1;k[y>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}ge(k[(k[w>>2]|0)+8>>2]|0)|0;Ud(k[(k[w>>2]|0)+44>>2]|0);Hm(k[(k[w>>2]|0)+92>>2]|0);op(k[(k[w>>2]|0)+12>>2]|0);f=(k[u>>2]|0)+4|0;g=f+92|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a=pp(k[x>>2]|0,0,-2147483648)|0;d=(k[w>>2]|0)+72|0;k[d>>2]=a;k[d+4>>2]=L;d=pp(k[y>>2]|0,-1,2147483647)|0;a=(k[w>>2]|0)+80|0;k[a>>2]=d;k[a+4>>2]=L;if(k[m>>2]|0)i[(k[w>>2]|0)+52>>0]=(i[k[m>>2]>>0]|0)==68;else i[(k[w>>2]|0)+52>>0]=i[(k[v>>2]|0)+231>>0]|0;j[(k[w>>2]|0)+4>>1]=k[n>>2];do if((k[n>>2]|0)!=1&(k[n>>2]|0)!=0){k[o>>2]=(k[n>>2]|0)-2;m=ke(k[p>>2]|0)|0;k[s>>2]=m;if((k[s>>2]|0)==0?(pe(k[p>>2]|0)|0)!=5:0){k[t>>2]=7;C=k[t>>2]|0;r=D;return C|0}k[(k[w>>2]|0)+16>>2]=0;if(k[q>>2]|0){q=ne(k[q>>2]|0)|0;k[(k[w>>2]|0)+16>>2]=q}s=qp(k[(k[v>>2]|0)+36>>2]|0,k[(k[w>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+28>>2]|0,l[(k[v>>2]|0)+228>>0]|0,k[(k[v>>2]|0)+24>>2]|0,k[o>>2]|0,k[s>>2]|0,-1,(k[w>>2]|0)+12|0,(k[v>>2]|0)+8|0)|0;k[z>>2]=s;if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}s=rp(k[w>>2]|0)|0;k[z>>2]=s;Gm(k[v>>2]|0);if(!(k[z>>2]|0)){k[(k[w>>2]|0)+40>>2]=k[(k[w>>2]|0)+44>>2];s=(k[w>>2]|0)+32|0;k[s>>2]=0;k[s+4>>2]=0;break}k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}while(0);do if(!(k[n>>2]|0)){f=k[(k[v>>2]|0)+216>>2]|0;g=k[w>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0){q=g+72|0;p=k[q>>2]|0;q=k[q+4>>2]|0;x=(k[w>>2]|0)+80|0;s=k[x>>2]|0;x=k[x+4>>2]|0;B=(l[(k[w>>2]|0)+52>>0]|0)!=0?24240:24245;k[A>>2]=f;y=A+8|0;k[y>>2]=p;k[y+4>>2]=q;y=A+16|0;k[y>>2]=s;k[y+4>>2]=x;k[A+24>>2]=B;B=Yd(24249,A)|0;k[C>>2]=B}else{A=(l[g+52>>0]|0)!=0?24240:24245;k[B>>2]=f;k[B+4>>2]=A;B=Yd(24311,B)|0;k[C>>2]=B}if(k[C>>2]|0){B=lf(k[(k[v>>2]|0)+12>>2]|0,k[C>>2]|0,-1,(k[w>>2]|0)+8|0,0)|0;k[z>>2]=B;Ud(k[C>>2]|0);break}else{k[z>>2]=7;break}}else if((k[n>>2]|0)==1?(C=Nn(k[w>>2]|0,(k[w>>2]|0)+8|0)|0,k[z>>2]=C,(k[z>>2]|0)==0):0){C=Ze(k[(k[w>>2]|0)+8>>2]|0,1,k[p>>2]|0)|0;k[z>>2]=C}while(0);if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}else{C=dl(k[u>>2]|0)|0;k[t>>2]=C;C=k[t>>2]|0;r=D;return C|0}return 0}function dl(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if((j[(k[c>>2]|0)+4>>1]|0)!=1?(j[(k[c>>2]|0)+4>>1]|0)!=0:0){c=np(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}a=100!=(Ee(k[(k[c>>2]|0)+8>>2]|0)|0);b=k[c>>2]|0;if(a){i[b+6>>0]=1;c=he(k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}else{a=Oe(k[b+8>>2]|0,0)|0;c=(k[c>>2]|0)+32|0;k[c>>2]=a;k[c+4>>2]=L;k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}return 0}function el(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+6>>0]|0|0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;d=j+20|0;e=j+16|0;i=j+12|0;h=j+8|0;g=j+4|0;f=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[i>>2]=0;k[h>>2]=k[l>>2];k[g>>2]=k[k[l>>2]>>2];if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+1|0)){l=(k[h>>2]|0)+32|0;ve(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==(k[(k[g>>2]|0)+24>>2]|0)){qe(k[d>>2]|0,h,4,-1);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)?(k[(k[h>>2]|0)+12>>2]|0)!=0:0){l=k[(k[h>>2]|0)+16>>2]|0;ve(k[d>>2]|0,l,((l|0)<0)<<31>>31);l=k[i>>2]|0;r=j;return l|0}l=Bn(0,k[h>>2]|0)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)){k[f>>2]=0;if(k[(k[g>>2]|0)+44>>2]|0){l=Ne(k[(k[h>>2]|0)+8>>2]|0,(k[(k[g>>2]|0)+24>>2]|0)+1|0)|0;k[f>>2]=l}ue(k[d>>2]|0,k[f>>2]|0);l=k[i>>2]|0;r=j;return l|0}else{l=Je(k[(k[h>>2]|0)+8>>2]|0)|0;if((l|0)<=((k[e>>2]|0)+1|0)){l=k[i>>2]|0;r=j;return l|0}l=k[d>>2]|0;ze(l,Qe(k[(k[h>>2]|0)+8>>2]|0,(k[e>>2]|0)+1|0)|0);l=k[i>>2]|0;r=j;return l|0}return 0}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+32|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=Oo(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return a|0}function il(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[(k[c>>2]|0)+52>>2]=0;a=tl(k[c>>2]|0)|0;r=b;return a|0}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;g=f+20|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[g>>2]=a;k[f+16>>2]=64;k[d>>2]=k[g>>2];a=ul(k[d>>2]|0)|0;k[e>>2]=a;if(((((k[e>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)>>>0>4:0)?(k[(k[d>>2]|0)+48>>2]|0)!=0:0)?(k[(k[d>>2]|0)+48>>2]|0)!=255:0)?(k[c>>2]=0,g=no(k[d>>2]|0,c)|0,k[e>>2]=g,g=ha(k[(k[d>>2]|0)+52>>2]|0,k[c>>2]|0)|0,k[b>>2]=g,k[b>>2]=(k[b>>2]|0)+((k[b>>2]|0)/2|0),(k[b>>2]|0)>64):0){g=oo(k[d>>2]|0,k[b>>2]|0,k[(k[d>>2]|0)+48>>2]|0)|0;k[e>>2]=g}Gm(k[d>>2]|0);r=f;return k[e>>2]|0}function kl(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function ll(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];rl(k[c>>2]|0);r=b;return 0}function ml(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+80|0;h=l+64|0;m=l+60|0;f=l+48|0;i=l+44|0;j=l+8|0;g=l;k[m>>2]=d;d=k[m>>2]|0;k[l+56>>2]=a;k[l+52>>2]=b;k[f>>2]=c;k[i>>2]=d;k[l+40>>2]=e;k[j>>2]=k[517];k[j+4>>2]=k[518];k[j+8>>2]=k[519];k[j+12>>2]=k[520];k[j+16>>2]=k[521];k[j+20>>2]=k[522];k[j+24>>2]=k[523];k[j+28>>2]=k[524];k[g>>2]=0;while(1){if((k[g>>2]|0)>=4){b=6;break}m=(YQ(k[f>>2]|0,k[j+(k[g>>2]<<3)>>2]|0)|0)==0;a=k[g>>2]|0;if(m){b=4;break}k[g>>2]=a+1}if((b|0)==4){k[k[i>>2]>>2]=k[j+(a<<3)+4>>2];k[h>>2]=1;m=k[h>>2]|0;r=l;return m|0}else if((b|0)==6){k[h>>2]=0;m=k[h>>2]|0;r=l;return m|0}return 0}function nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+96|0;j=n+64|0;h=n+48|0;m=n+32|0;l=n+16|0;g=n;o=n+92|0;c=n+88|0;e=n+84|0;d=n+80|0;f=n+76|0;k[o>>2]=a;k[c>>2]=b;k[e>>2]=k[o>>2];k[d>>2]=k[(k[e>>2]|0)+12>>2];b=tl(k[e>>2]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){o=ul(k[e>>2]|0)|0;k[f>>2]=o}if(!(k[(k[e>>2]|0)+40>>2]|0)){o=k[d>>2]|0;a=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[g>>2]=k[(k[e>>2]|0)+16>>2];k[g+4>>2]=a;k[g+8>>2]=b;vl(f,o,21233,g)}if(i[(k[e>>2]|0)+230>>0]|0){o=k[d>>2]|0;g=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[l>>2]=k[(k[e>>2]|0)+16>>2];k[l+4>>2]=g;k[l+8>>2]=b;vl(f,o,21286,l)}if(i[(k[e>>2]|0)+229>>0]|0){o=k[d>>2]|0;l=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[m>>2]=k[(k[e>>2]|0)+16>>2];k[m+4>>2]=l;k[m+8>>2]=b;vl(f,o,21339,m)}o=k[d>>2]|0;b=k[(k[e>>2]|0)+20>>2]|0;m=k[c>>2]|0;k[h>>2]=k[(k[e>>2]|0)+16>>2];k[h+4>>2]=b;k[h+8>>2]=m;vl(f,o,21386,h);o=k[d>>2]|0;m=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[j>>2]=k[(k[e>>2]|0)+16>>2];k[j+4>>2]=m;k[j+8>>2]=b;vl(f,o,21440,j);r=n;return k[f>>2]|0}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;k[e+4>>2]=b;k[d>>2]=0;if(l[(k[c>>2]|0)+232>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=jl(k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function pl(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];rl(k[d>>2]|0);r=c;return 0}function rl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+248>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+252>>2]|0)+((k[c>>2]|0)*24|0)+4;k[d>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+8>>2];sl(k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}xk(k[e>>2]|0);k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+260>>2]=0;r=g;return}function sl(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j;b=j+28|0;e=j+24|0;g=j+20|0;h=j+16|0;d=j+12|0;c=j+8|0;k[b>>2]=a;k[e>>2]=0;if((l[(k[b>>2]|0)+229>>0]|0|0)!=2){h=k[e>>2]|0;r=j;return h|0}k[g>>2]=23797;g=k[g>>2]|0;a=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=a;g=Yd(g,f)|0;k[h>>2]=g;if(!(k[h>>2]|0)){k[e>>2]=7;h=k[e>>2]|0;r=j;return h|0}k[d>>2]=0;g=lf(k[(k[b>>2]|0)+12>>2]|0,k[h>>2]|0,-1,d,0)|0;k[e>>2]=g;if((k[e>>2]|0)==0?(g=(Ee(k[d>>2]|0)|0)==100&1,k[c>>2]=g,g=ge(k[d>>2]|0)|0,k[e>>2]=g,(k[e>>2]|0)==0):0)i[(k[b>>2]|0)+229>>0]=k[c>>2];Ud(k[h>>2]|0);h=k[e>>2]|0;r=j;return h|0}function ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[f>>2]=0;k[d>>2]=0;while(1){if(!(k[f>>2]|0))a=(k[d>>2]|0)<(k[(k[c>>2]|0)+248>>2]|0);else a=0;b=k[c>>2]|0;if(!a)break;b=wl(b,k[(k[c>>2]|0)+272>>2]|0,k[d>>2]|0,-1)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==101?0:b;k[d>>2]=(k[d>>2]|0)+1}rl(b);if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}if(!(l[(k[c>>2]|0)+229>>0]|0)){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+48>>2]|0)!=255){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+52>>2]|0)>>>0<=0){f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;d=xl(k[c>>2]|0,22,e,0)|0;k[f>>2]=d;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}Ve(k[e>>2]|0,1,2)|0;d=Ee(k[e>>2]|0)|0;k[f>>2]=d;if((k[f>>2]|0)==100){d=Ne(k[e>>2]|0,0)|0;k[(k[c>>2]|0)+48>>2]=d;if((k[(k[c>>2]|0)+48>>2]|0)==1)k[(k[c>>2]|0)+48>>2]=8}else if((k[f>>2]|0)==101)k[(k[c>>2]|0)+48>>2]=0;e=he(k[e>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;e=j+32|0;f=j+28|0;g=j+24|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=j;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[k[e>>2]>>2]=7;r=j;return}else{c=kf(k[f>>2]|0,k[i>>2]|0,0,0,0)|0;k[k[e>>2]>>2]=c;Ud(k[i>>2]|0);r=j;return}}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+128|0;e=s+120|0;f=s+116|0;g=s+112|0;h=s+108|0;q=s+104|0;m=s+100|0;o=s+8|0;p=s+96|0;l=s+80|0;j=s+24|0;i=s+16|0;n=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=0;a=o;k[a>>2]=0;k[a+4>>2]=0;k[p>>2]=0;k[i>>2]=0;a=n;k[a>>2]=0;k[a+4>>2]=0;a=yl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0,1,0,j)|0;k[q>>2]=a;do if((k[q>>2]|0)==0?(k[j+4>>2]|0)!=0:0){if((k[h>>2]|0)!=-1?(a=zl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,n)|0,k[q>>2]=a,(k[q>>2]|0)!=0):0)break;if((k[h>>2]|0)==-2){if((k[j+4>>2]|0)==1?0==((k[(k[k[j>>2]>>2]|0)+56>>2]|0)!=0|0):0){k[q>>2]=101;break}b=n;d=k[b+4>>2]|0;a=o;k[a>>2]=k[b>>2];k[a+4>>2]=d;k[i>>2]=1}else{d=Al(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0)|0;a=o;k[a>>2]=d;k[a+4>>2]=L;a=Bl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0,m)|0;k[q>>2]=a;if((k[h>>2]|0)!=-1){a=o;b=k[a+4>>2]|0;c=n;d=k[c+4>>2]|0;c=(b|0)>(d|0)|((b|0)==(d|0)?(k[a>>2]|0)>>>0>(k[c>>2]|0)>>>0:0)}else c=0;k[i>>2]=c&1}if(!(k[q>>2]|0)){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+12>>2]=1;a=l+12|0;k[a>>2]=k[a>>2]|((k[i>>2]|0)!=0?2:0);l=Cl(k[e>>2]|0,j,l)|0;k[q>>2]=l;while(1){if(k[q>>2]|0)break;l=Dl(k[e>>2]|0,j)|0;k[q>>2]=l;if((k[q>>2]|0)!=100)break;l=El(k[e>>2]|0,p,1,k[j+40>>2]|0,k[j+44>>2]|0,k[j+48>>2]|0,k[j+52>>2]|0)|0;k[q>>2]=l}if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1){l=Fl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[q>>2]=l;if(!((k[q>>2]|0)==0&(k[p>>2]|0)!=0))break}else if(!(k[p>>2]|0))break;l=o;m=Gl(k[e>>2]|0,k[p>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0)|0;k[q>>2]=m;if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1?(m=o,i=k[m+4>>2]|0,n,l=k[n+4>>2]|0,!((i|0)<(l|0)|((i|0)==(l|0)?(k[m>>2]|0)>>>0<(k[n>>2]|0)>>>0:0))):0)break;n=o;o=(k[p>>2]|0)+56|0;o=Hl(k[e>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[q>>2]=o}}}}while(0);Il(k[p>>2]|0);Jl(j);r=s;return k[q>>2]|0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+240|0;n=t+24|0;m=t+16|0;f=t;g=t+228|0;h=t+224|0;p=t+220|0;i=t+216|0;e=t+56|0;s=t+48|0;q=t+44|0;o=t+40|0;j=t+36|0;l=t+32|0;k[g>>2]=a;k[h>>2]=b;k[p>>2]=c;k[i>>2]=d;IR(e|0,1908,160)|0;k[s>>2]=0;k[q>>2]=k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2];do if(!(k[q>>2]|0)){a=k[h>>2]|0;do if((k[h>>2]|0)!=18){d=k[e+(k[h>>2]<<2)>>2]|0;b=k[g>>2]|0;if((a|0)==7){k[m>>2]=k[b+216>>2];n=Yd(d,m)|0;k[o>>2]=n;break}else{m=k[(k[g>>2]|0)+20>>2]|0;k[n>>2]=k[b+16>>2];k[n+4>>2]=m;n=Yd(d,n)|0;k[o>>2]=n;break}}else{n=k[e+(a<<2)>>2]|0;e=k[(k[g>>2]|0)+20>>2]|0;m=k[(k[g>>2]|0)+220>>2]|0;k[f>>2]=k[(k[g>>2]|0)+16>>2];k[f+4>>2]=e;k[f+8>>2]=m;n=Yd(n,f)|0;k[o>>2]=n}while(0);if(k[o>>2]|0){n=lf(k[(k[g>>2]|0)+12>>2]|0,k[o>>2]|0,-1,q,0)|0;k[s>>2]=n;Ud(k[o>>2]|0);k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2]=k[q>>2];break}else{k[s>>2]=7;break}}while(0);if(!(k[i>>2]|0)){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}o=$e(k[q>>2]|0)|0;k[l>>2]=o;k[j>>2]=0;while(1){if(k[s>>2]|0){d=15;break}if((k[j>>2]|0)>=(k[l>>2]|0)){d=15;break}o=Ze(k[q>>2]|0,(k[j>>2]|0)+1|0,k[(k[i>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[s>>2]=o;k[j>>2]=(k[j>>2]|0)+1}if((d|0)==15){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}return 0}function yl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;j=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;s=u+4|0;t=u;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;c=k[t>>2]|0;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));t=rm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0)|0;r=u;return t|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;d=xl(k[f>>2]|0,15,j,0)|0;k[l>>2]=d;if(k[l>>2]|0){k[e>>2]=k[l>>2];l=k[e>>2]|0;r=m;return l|0}l=k[j>>2]|0;d=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;We(l,1,d,L)|0;d=k[j>>2]|0;l=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;We(d,2,l,L)|0;if(100==(Ee(k[j>>2]|0)|0)){d=Oe(k[j>>2]|0,0)|0;l=k[i>>2]|0;k[l>>2]=d;k[l+4>>2]=L}l=he(k[j>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=m;return l|0}function Al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;i=e+20|0;j=e+16|0;h=e+12|0;f=e+8|0;g=e;k[i>>2]=a;k[j>>2]=b;k[h>>2]=c;k[f>>2]=d;a=k[j>>2]|0;d=k[(k[i>>2]|0)+248>>2]|0;d=RR(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;a=k[h>>2]|0;a=GR(d|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;a=RR(a|0,L|0,1024,0)|0;d=g;k[d>>2]=a;k[d+4>>2]=L;d=g;a=k[f>>2]|0;a=GR(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;r=e;return a|0}function Bl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;e=xl(k[f>>2]|0,8,m,0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){a=k[m>>2]|0;e=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;We(a,1,e,L)|0;if(100==(Ee(k[m>>2]|0)|0)){e=Ne(k[m>>2]|0,0)|0;k[l>>2]=e}e=he(k[m>>2]|0)|0;k[n>>2]=e}if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[l>>2]|0)>=16){e=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[n>>2]=e;k[k[j>>2]>>2]=0;n=k[n>>2]|0;r=o;return n|0}else{k[k[j>>2]>>2]=k[l>>2];n=k[n>>2]|0;r=o;return n|0}return 0}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[f>>2]|0)+12>>2]=k[e>>2];c=pm(k[g>>2]|0,k[f>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;r=d;return c|0}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+128|0;c=J+120|0;d=J+116|0;e=J+112|0;G=J+108|0;s=J+104|0;u=J+100|0;p=J+96|0;t=J+92|0;v=J+88|0;q=J+84|0;h=J+80|0;B=J+76|0;D=J+72|0;H=J+68|0;A=J+64|0;j=J+60|0;F=J+56|0;y=J+52|0;o=J+16|0;w=J+48|0;E=J+44|0;z=J+40|0;x=J+36|0;n=J+8|0;m=J;g=J+32|0;f=J+28|0;C=J+24|0;k[d>>2]=a;k[e>>2]=b;k[G>>2]=0;k[s>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&2;k[u>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&1;k[p>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&4;k[t>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&8;k[v>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&16;k[q>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&32;k[h>>2]=k[k[e>>2]>>2];k[B>>2]=k[(k[e>>2]|0)+4>>2];k[D>>2]=k[(k[e>>2]|0)+12>>2];k[H>>2]=(l[(k[d>>2]|0)+231>>0]|0)!=0?182:183;if(!(k[(k[e>>2]|0)+4>>2]|0)){k[c>>2]=0;I=k[c>>2]|0;r=J;return I|0}a:while(1){k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[e>>2]|0)+8>>2]|0))break;k[F>>2]=k[(k[h>>2]|0)+(k[j>>2]<<2)>>2];if(i[(k[F>>2]|0)+4>>0]|0)Yl(k[F>>2]|0);else{b=Zl(k[d>>2]|0,k[F>>2]|0,0)|0;k[G>>2]=b}if(k[G>>2]|0){I=9;break a}k[j>>2]=(k[j>>2]|0)+1}$l(k[h>>2]|0,k[B>>2]|0,k[(k[e>>2]|0)+8>>2]|0,184);k[(k[e>>2]|0)+8>>2]=0;if(!(k[(k[k[h>>2]>>2]|0)+40>>2]|0)){I=61;break}k[(k[e>>2]|0)+44>>2]=k[(k[k[h>>2]>>2]|0)+60>>2];k[(k[e>>2]|0)+40>>2]=k[(k[k[h>>2]>>2]|0)+64>>2];if(!((k[v>>2]|0)!=0?1:(k[k[D>>2]>>2]|0)==0)){if((k[(k[e>>2]|0)+44>>2]|0)<(k[(k[D>>2]|0)+4>>2]|0)){I=61;break}if((k[t>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)>(k[(k[D>>2]|0)+4>>2]|0):0){I=61;break}if(VQ(k[(k[e>>2]|0)+40>>2]|0,k[k[D>>2]>>2]|0,k[(k[D>>2]|0)+4>>2]|0)|0){I=61;break}}k[A>>2]=1;while(1){if(((k[A>>2]|0)<(k[B>>2]|0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+60>>2]|0)==(k[(k[e>>2]|0)+44>>2]|0):0)b=0==(VQ(k[(k[e>>2]|0)+40>>2]|0,k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+64>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0);else b=0;a=k[A>>2]|0;if(!b)break;k[A>>2]=a+1}do if(!((a|0)!=1|(k[s>>2]|0)!=0|(k[q>>2]|0)!=0)){if((l[(k[d>>2]|0)+231>>0]|0)!=0?((k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){I=32;break}k[(k[e>>2]|0)+52>>2]=k[(k[k[h>>2]>>2]|0)+76>>2];if(k[(k[k[h>>2]>>2]|0)+56>>2]|0){b=am(k[e>>2]|0,k[(k[k[h>>2]>>2]|0)+72>>2]|0,k[(k[e>>2]|0)+52>>2]|0)|0;k[G>>2]=b;k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2]}else k[(k[e>>2]|0)+48>>2]=k[(k[k[h>>2]>>2]|0)+72>>2];if(!(k[G>>2]|0))k[G>>2]=100}else I=32;while(0);if((I|0)==32){I=0;k[y>>2]=0;b=o;k[b>>2]=0;k[b+4>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[A>>2]|0))break;bm(k[d>>2]|0,k[(k[h>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+1}$l(k[h>>2]|0,k[A>>2]|0,k[A>>2]|0,k[H>>2]|0);while(1){if(!(k[(k[k[h>>2]>>2]|0)+80>>2]|0))break;k[E>>2]=0;k[z>>2]=0;K=(k[k[h>>2]>>2]|0)+88|0;a=k[K+4>>2]|0;b=n;k[b>>2]=k[K>>2];k[b+4>>2]=a;cm(k[d>>2]|0,k[k[h>>2]>>2]|0,E,z)|0;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[A>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+80>>2]|0))break;b=(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+88|0;K=n;if(!((k[b>>2]|0)==(k[K>>2]|0)?(k[b+4>>2]|0)==(k[K+4>>2]|0):0))break;cm(k[d>>2]|0,k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=(k[w>>2]|0)+1}if(k[p>>2]|0)dm(k[(k[D>>2]|0)+8>>2]|0,0,E,z);do if((k[s>>2]|0)==0|(k[z>>2]|0)>0){if((k[y>>2]|0)>0?(l[(k[d>>2]|0)+231>>0]|0)!=0:0){K=o;b=n;b=FR(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}else{K=n;b=o;b=FR(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}K=m;K=Rl(k[K>>2]|0,k[K+4>>2]|0)|0;k[x>>2]=K+((k[u>>2]|0)!=0?(k[z>>2]|0)+1|0:0);if(((k[y>>2]|0)+(k[x>>2]|0)|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=(k[y>>2]|0)+(k[x>>2]|0)<<1;K=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[g>>2]=K;if(!(k[g>>2]|0)){I=50;break a}k[(k[e>>2]|0)+16>>2]=k[g>>2]}a=(k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0;if(k[q>>2]|0){k[f>>2]=a;K=m;K=em(k[K>>2]|0,k[K+4>>2]|0,k[E>>2]|0,k[z>>2]|0,k[f>>2]|0)|0;k[C>>2]=K;if(!(k[C>>2]|0))break;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;k[y>>2]=(k[y>>2]|0)+(k[C>>2]|0);break}else{b=m;a=Sl(a,k[b>>2]|0,k[b+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+a;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;if(!(k[u>>2]|0))break;IR((k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0,k[E>>2]|0,k[z>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+(k[z>>2]|0);K=k[y>>2]|0;k[y>>2]=K+1;i[(k[(k[e>>2]|0)+16>>2]|0)+K>>0]=0;break}}while(0);$l(k[h>>2]|0,k[A>>2]|0,k[w>>2]|0,k[H>>2]|0)}if((k[y>>2]|0)>0){k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2];k[(k[e>>2]|0)+52>>2]=k[y>>2];k[G>>2]=100}}k[(k[e>>2]|0)+8>>2]=k[A>>2];if(k[G>>2]|0){I=61;break}}if((I|0)==9){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}else if((I|0)==50){k[c>>2]=7;K=k[c>>2]|0;r=J;return K|0}else if((I|0)==61){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}return 0}function El(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+68|0;i=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;o=B+44|0;p=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;q=B+4|0;A=B;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[x>>2]=k[k[j>>2]>>2];if(!(k[x>>2]|0)){d=Sd(64)|0;k[x>>2]=d;if(!(k[x>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}f=k[x>>2]|0;c=f+64|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(c|0));k[k[j>>2]>>2]=k[x>>2];j=Sd(k[(k[i>>2]|0)+224>>2]|0)|0;k[(k[x>>2]|0)+48>>2]=j;if(!(k[(k[x>>2]|0)+48>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+40>>2]=k[(k[i>>2]|0)+224>>2];j=xl(k[i>>2]|0,10,w,0)|0;k[y>>2]=j;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}if(100==(Ee(k[w>>2]|0)|0)){d=Oe(k[w>>2]|0,0)|0;b=(k[x>>2]|0)+16|0;k[b>>2]=d;k[b+4>>2]=L;b=(k[x>>2]|0)+16|0;d=k[b+4>>2]|0;j=(k[x>>2]|0)+8|0;k[j>>2]=k[b>>2];k[j+4>>2]=d}w=he(k[w>>2]|0)|0;k[y>>2]=w;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}}k[s>>2]=k[(k[x>>2]|0)+44>>2];y=Ul(k[(k[x>>2]|0)+24>>2]|0,k[(k[x>>2]|0)+28>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[t>>2]=y;k[v>>2]=(k[n>>2]|0)-(k[t>>2]|0);y=k[t>>2]|0;y=Rl(y,((y|0)<0)<<31>>31)|0;w=k[v>>2]|0;w=y+(Rl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(k[v>>2]|0)|0;y=k[p>>2]|0;y=w+(Rl(y,((y|0)<0)<<31>>31)|0)|0;k[u>>2]=y+(k[p>>2]|0);do if((k[s>>2]|0)>0?((k[s>>2]|0)+(k[u>>2]|0)|0)>(k[(k[i>>2]|0)+224>>2]|0):0){j=k[i>>2]|0;d=(k[x>>2]|0)+16|0;y=d;w=k[y>>2]|0;y=k[y+4>>2]|0;b=GR(w|0,y|0,1,0)|0;k[d>>2]=b;k[d+4>>2]=L;y=Nl(j,w,y,k[(k[x>>2]|0)+48>>2]|0,k[s>>2]|0)|0;k[z>>2]=y;if(k[z>>2]|0){k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}y=(k[i>>2]|0)+52|0;k[y>>2]=(k[y>>2]|0)+1;y=Vl(k[i>>2]|0,k[x>>2]|0,k[l>>2]|0,k[m>>2]|0,(k[t>>2]|0)+1|0)|0;k[z>>2]=y;if(!(k[z>>2]|0)){k[s>>2]=0;k[(k[x>>2]|0)+28>>2]=0;k[t>>2]=0;k[v>>2]=k[n>>2];y=k[n>>2]|0;y=1+(Rl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(k[n>>2]|0)|0;z=k[p>>2]|0;z=y+(Rl(z,((z|0)<0)<<31>>31)|0)|0;k[u>>2]=z+(k[p>>2]|0);break}k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}while(0);y=k[u>>2]|0;z=(k[x>>2]|0)+56|0;w=z;y=GR(k[w>>2]|0,k[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;k[z>>2]=y;k[z+4>>2]=L;do if((k[u>>2]|0)>(k[(k[x>>2]|0)+40>>2]|0)){z=Vd(k[(k[x>>2]|0)+48>>2]|0,k[u>>2]|0)|0;k[q>>2]=z;if(k[q>>2]|0){k[(k[x>>2]|0)+48>>2]=k[q>>2];k[(k[x>>2]|0)+40>>2]=k[u>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);z=k[t>>2]|0;z=Sl((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;z=k[v>>2]|0;z=Sl((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;IR((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,(k[m>>2]|0)+(k[t>>2]|0)|0,k[v>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[v>>2]|0);z=k[p>>2]|0;z=Sl((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;IR((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;k[(k[x>>2]|0)+44>>2]=(k[s>>2]|0)+(k[p>>2]|0);if(k[l>>2]|0){do if((k[n>>2]|0)>(k[(k[x>>2]|0)+32>>2]|0)){z=Vd(k[(k[x>>2]|0)+36>>2]|0,k[n>>2]<<1)|0;k[A>>2]=z;if(k[A>>2]|0){k[(k[x>>2]|0)+32>>2]=k[n>>2]<<1;k[(k[x>>2]|0)+36>>2]=k[A>>2];k[(k[x>>2]|0)+24>>2]=k[A>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);IR(k[(k[x>>2]|0)+24>>2]|0,k[m>>2]|0,k[n>>2]|0)|0}else k[(k[x>>2]|0)+24>>2]=k[m>>2];k[(k[x>>2]|0)+28>>2]=k[n>>2];k[h>>2]=0;A=k[h>>2]|0;r=B;return A|0}function Fl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;g=s+16|0;h=s+12|0;q=s+8|0;i=s+4|0;p=s;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[q>>2]=0;k[p>>2]=0;k[i>>2]=0;while(1){if(k[q>>2]|0)break;if((k[i>>2]|0)>=(k[h>>2]|0))break;a=Tl(k[l>>2]|0,k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[q>>2]=a;k[i>>2]=(k[i>>2]|0)+1}if(k[q>>2]|0){k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}g=k[l>>2]|0;if((k[o>>2]|0)==-2){o=xl(g,26,p,0)|0;k[q>>2]=o;if(!(k[q>>2]|0)){o=k[p>>2]|0;a=Al(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,0)|0;We(o,1,a,L)|0;a=k[p>>2]|0;o=Al(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,1023)|0;We(a,2,o,L)|0}}else{a=xl(g,16,p,0)|0;k[q>>2]=a;if(!(k[q>>2]|0)){a=k[p>>2]|0;o=Al(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;We(a,1,o,L)|0}}if(!(k[q>>2]|0)){Ee(k[p>>2]|0)|0;p=he(k[p>>2]|0)|0;k[q>>2]=p}k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}function Gl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+44|0;g=p+40|0;h=p+16|0;i=p+36|0;n=p+32|0;j=p+8|0;l=p;o=p+28|0;m=p+24|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;if(!(k[k[g>>2]>>2]|0)){b=h;o=(k[g>>2]|0)+56|0;o=Pl(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[i>>2]|0,0,0,0,0,0,0,k[o>>2]|0,k[o+4>>2]|0,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}b=j;k[b>>2]=0;k[b+4>>2]=0;k[o>>2]=0;k[m>>2]=0;b=(k[g>>2]|0)+16|0;d=k[b+4>>2]|0;e=l;k[e>>2]=k[b>>2];k[e+4>>2]=d;e=k[f>>2]|0;d=(k[g>>2]|0)+16|0;b=d;a=k[b>>2]|0;b=k[b+4>>2]|0;c=GR(a|0,b|0,1,0)|0;k[d>>2]=c;k[d+4>>2]=L;b=Nl(e,a,b,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){a=(k[g>>2]|0)+8|0;b=(k[g>>2]|0)+16|0;b=Ol(k[f>>2]|0,k[k[g>>2]>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,j,o,m)|0;k[n>>2]=b}if(k[n>>2]|0){o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}e=(k[g>>2]|0)+8|0;a=j;b=(k[g>>2]|0)+56|0;o=Pl(k[f>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[i>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[o>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+80|0;f=v+72|0;g=v+40|0;h=v+32|0;t=v+68|0;p=v+64|0;i=v+60|0;m=v+24|0;n=v+16|0;o=v+8|0;j=v;l=v+56|0;q=v+52|0;s=v+48|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=0;a=xl(k[f>>2]|0,37,p,0)|0;k[t>>2]=a;if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}k[i>>2]=0;e=g;e=PR(k[e>>2]|0,k[e+4>>2]|0,1024,0)|0;e=GR(e|0,L|0,1,0)|0;e=RR(e|0,L|0,1024,0)|0;e=FR(e|0,L|0,1,0)|0;a=m;k[a>>2]=e;k[a+4>>2]=L;a=h;a=RR(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;a=PR(a|0,L|0,2,0)|0;h=n;k[h>>2]=a;k[h+4>>2]=L;h=k[p>>2]|0;a=g;a=GR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;We(h,1,a,L)|0;a=m;We(k[p>>2]|0,2,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(Ee(k[p>>2]|0)|0))break;a=o;k[a>>2]=0;k[a+4>>2]=0;Ml(k[p>>2]|0,2,j,o);a=o;m=k[a+4>>2]|0;if((m|0)<0|(m|0)==0&(k[a>>2]|0)>>>0<=0){u=6;break}m=o;e=k[m+4>>2]|0;a=n;h=k[a+4>>2]|0;if((e|0)>(h|0)|((e|0)==(h|0)?(k[m>>2]|0)>>>0>(k[a>>2]|0)>>>0:0)){u=6;break}k[i>>2]=1}if((u|0)==6)k[i>>2]=0;u=he(k[p>>2]|0)|0;k[t>>2]=u;if(!(k[i>>2]|0)){u=k[t>>2]|0;r=v;return u|0}k[l>>2]=0;k[q>>2]=0;k[s>>2]=0;if(!(k[t>>2]|0)){u=xl(k[f>>2]|0,38,q,0)|0;k[t>>2]=u}if(!(k[t>>2]|0)){u=xl(k[f>>2]|0,39,s,0)|0;k[t>>2]=u}a:do if(!(k[t>>2]|0)){u=g;We(k[p>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;do{if(100!=(Ee(k[p>>2]|0)|0))break a;a=k[q>>2]|0;u=k[l>>2]|0;k[l>>2]=u+1;Ve(a,1,u)|0;u=k[q>>2]|0;Ve(u,2,Ne(k[p>>2]|0,0)|0)|0;u=k[q>>2]|0;Ve(u,3,Ne(k[p>>2]|0,1)|0)|0;Ee(k[q>>2]|0)|0;u=he(k[q>>2]|0)|0;k[t>>2]=u}while((k[t>>2]|0)==0);he(k[p>>2]|0)|0}while(0);if(!(k[t>>2]|0)){u=he(k[p>>2]|0)|0;k[t>>2]=u}if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}u=g;We(k[s>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;Ee(k[s>>2]|0)|0;u=he(k[s>>2]|0)|0;k[t>>2]=u;u=k[t>>2]|0;r=v;return u|0}function Il(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Ud(k[(k[b>>2]|0)+48>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);Ll(k[k[b>>2]>>2]|0);Ud(k[b>>2]|0);r=c;return}function Jl(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;Kl(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}Ud(k[k[b>>2]>>2]|0);Ud(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[k[b>>2]>>2]=0;k[(k[b>>2]|0)+16>>2]=0;r=d;return}function Kl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=c;return}if(!(k[(k[b>>2]|0)+56>>2]|0))Ud(k[(k[b>>2]|0)+64>>2]|0);if(!(l[(k[b>>2]|0)+5>>0]|0))Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;a=k[b>>2]|0;Ud(a);r=c;return}function Ll(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}k[c>>2]=k[(k[b>>2]|0)+8>>2];Ll(k[k[c>>2]>>2]|0);while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+4>>2];if((k[(k[c>>2]|0)+36>>2]|0)!=((k[c>>2]|0)+40|0))Ud(k[(k[c>>2]|0)+36>>2]|0);Ud(k[(k[c>>2]|0)+28>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}r=e;return}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;g=m+12|0;h=m+8|0;i=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;d=Pe(k[o>>2]|0,k[n>>2]|0)|0;k[j>>2]=d;if(!(k[j>>2]|0)){r=m;return}k[h>>2]=1;o=i;k[o>>2]=0;k[o+4>>2]=0;k[g>>2]=0;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=RR(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=GR(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}o=k[e>>2]|0;k[o>>2]=a;k[o+4>>2]=c;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)!=32)break;k[g>>2]=(k[g>>2]|0)+1}o=i;k[o>>2]=0;k[o+4>>2]=0;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)==45){k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=-1}while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=RR(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=GR(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}n=k[h>>2]|0;n=RR(a|0,c|0,n|0,((n|0)<0)<<31>>31|0)|0;o=k[f>>2]|0;k[o>>2]=n;k[o+4>>2]=L;r=m;return}function Nl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;k[m>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;k[h>>2]=e;d=xl(k[m>>2]|0,9,i,0)|0;k[j>>2]=d;if(k[j>>2]|0){m=k[j>>2]|0;r=l;return m|0}m=f;We(k[i>>2]|0,1,k[m>>2]|0,k[m+4>>2]|0)|0;Te(k[i>>2]|0,2,k[g>>2]|0,k[h>>2]|0,0)|0;Ee(k[i>>2]|0)|0;m=he(k[i>>2]|0)|0;k[j>>2]=m;m=k[j>>2]|0;r=l;return m|0}function Ol(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;n=B+72|0;o=B+68|0;p=B+64|0;q=B+24|0;s=B+16|0;t=B+60|0;l=B+56|0;m=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;b=q;k[b>>2]=d;k[b+4>>2]=e;b=s;k[b>>2]=f;k[b+4>>2]=g;k[t>>2]=h;k[l>>2]=i;k[m>>2]=j;k[A>>2]=0;if(!(k[k[o>>2]>>2]|0)){h=q;h=Ql(k[o>>2]|0,k[p>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;h=s;h=FR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=k[t>>2]|0;k[j>>2]=h;k[j+4>>2]=L;k[k[m>>2]>>2]=(k[(k[o>>2]|0)+32>>2]|0)-(k[w>>2]|0);k[k[l>>2]>>2]=(k[(k[o>>2]|0)+36>>2]|0)+(k[w>>2]|0);A=k[A>>2]|0;r=B;return A|0}j=s;h=k[j+4>>2]|0;i=u;k[i>>2]=k[j>>2];k[i+4>>2]=h;i=q;h=k[i+4>>2]|0;j=v;k[j>>2]=k[i>>2];k[j+4>>2]=h;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0?(k[A>>2]|0)==0:0))break;j=v;j=Ql(k[z>>2]|0,k[p>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[x>>2]=j;k[y>>2]=(k[(k[z>>2]|0)+32>>2]|0)-(k[x>>2]|0);j=u;j=Nl(k[n>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[(k[z>>2]|0)+36>>2]|0)+(k[x>>2]|0)|0,k[y>>2]|0)|0;k[A>>2]=j;j=u;j=GR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;h=u;k[h>>2]=j;k[h+4>>2]=L;h=(k[(k[z>>2]|0)+12>>2]|0)+1|0;j=v;h=GR(k[j>>2]|0,k[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=v;k[j>>2]=h;k[j+4>>2]=L;k[z>>2]=k[(k[z>>2]|0)+4>>2]}if(k[A>>2]|0){A=k[A>>2]|0;r=B;return A|0}h=s;j=u;j=Ol(k[n>>2]|0,k[k[o>>2]>>2]|0,(k[p>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0,k[t>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[A>>2]=j;A=k[A>>2]|0;r=B;return A|0}function Pl(a,b,c,d,e,f,g,h,i,j,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;B=D+40|0;p=D+84|0;E=D+80|0;q=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;k[E>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[s>>2]=d;a=t;k[a>>2]=e;k[a+4>>2]=f;a=u;k[a>>2]=g;k[a+4>>2]=h;a=v;k[a>>2]=i;k[a+4>>2]=j;a=w;k[a>>2]=l;k[a+4>>2]=m;k[x>>2]=n;k[y>>2]=o;n=xl(k[E>>2]|0,11,z,0)|0;k[A>>2]=n;if(!(k[A>>2]|0)){E=q;We(k[z>>2]|0,1,k[E>>2]|0,k[E+4>>2]|0)|0;Ve(k[z>>2]|0,2,k[s>>2]|0)|0;E=t;We(k[z>>2]|0,3,k[E>>2]|0,k[E+4>>2]|0)|0;E=u;We(k[z>>2]|0,4,k[E>>2]|0,k[E+4>>2]|0)|0;E=w;do if((k[E>>2]|0)==0&(k[E+4>>2]|0)==0){E=v;We(k[z>>2]|0,5,k[E>>2]|0,k[E+4>>2]|0)|0}else{d=v;o=k[d+4>>2]|0;n=w;a=k[n>>2]|0;n=k[n+4>>2]|0;E=B;k[E>>2]=k[d>>2];k[E+4>>2]=o;E=B+8|0;k[E>>2]=a;k[E+4>>2]=n;E=Yd(23769,B)|0;k[C>>2]=E;if(k[C>>2]|0){Ye(k[z>>2]|0,5,k[C>>2]|0,-1,148)|0;break}k[p>>2]=7;E=k[p>>2]|0;r=D;return E|0}while(0);Te(k[z>>2]|0,6,k[x>>2]|0,k[y>>2]|0,0)|0;Ee(k[z>>2]|0)|0;E=he(k[z>>2]|0)|0;k[A>>2]=E}k[p>>2]=k[A>>2];E=k[p>>2]|0;r=D;return E|0}function Ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;h=f;e=f+8|0;k[g>>2]=a;k[j>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;a=h;a=10-(Rl(k[a>>2]|0,k[a+4>>2]|0)|0)|0;k[e>>2]=a;i[(k[(k[g>>2]|0)+36>>2]|0)+(k[e>>2]|0)>>0]=k[j>>2];a=h;Sl((k[(k[g>>2]|0)+36>>2]|0)+((k[e>>2]|0)+1)|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=f;return k[e>>2]|0}function Rl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=0;do{k[d>>2]=(k[d>>2]|0)+1;b=c;b=HR(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=c;k[f>>2]=b;k[f+4>>2]=L;f=c}while((k[f>>2]|0)!=0|(k[f+4>>2]|0)!=0);r=e;return k[d>>2]|0}function Sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+20|0;h=g+8|0;e=g+16|0;f=g;k[d>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[d>>2];b=h;c=k[b+4>>2]|0;a=f;k[a>>2]=k[b>>2];k[a+4>>2]=c;do{h=(k[f>>2]&127|128)&255;a=k[e>>2]|0;k[e>>2]=a+1;i[a>>0]=h;a=f;a=HR(k[a>>2]|0,k[a+4>>2]|0,7)|0;h=f;k[h>>2]=a;k[h+4>>2]=L;h=f}while((k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0);h=(k[e>>2]|0)+-1|0;i[h>>0]=(l[h>>0]|0)&127;r=g;return (k[e>>2]|0)-(k[d>>2]|0)|0}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;b=(k[d>>2]|0)+8|0;if(!((k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0)){f=k[f>>2]|0;r=g;return f|0}b=xl(k[c>>2]|0,17,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}b=(k[d>>2]|0)+8|0;We(k[e>>2]|0,1,k[b>>2]|0,k[b+4>>2]|0)|0;b=(k[d>>2]|0)+24|0;We(k[e>>2]|0,2,k[b>>2]|0,k[b+4>>2]|0)|0;Ee(k[e>>2]|0)|0;b=he(k[e>>2]|0)|0;k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}function Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j+4>>2]=d;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[f>>2]|0)){e=5;break}if((i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=(i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0)){e=5;break}k[h>>2]=(k[h>>2]|0)+1}if((e|0)==5){r=j;return k[h>>2]|0}return 0}function Vl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;l=w+56|0;m=w+52|0;n=w+48|0;o=w+44|0;p=w+40|0;q=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;f=w+20|0;h=w+16|0;g=w+12|0;i=w+8|0;j=w+4|0;t=w;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[u>>2]=k[k[n>>2]>>2];do if(k[u>>2]|0){k[f>>2]=k[(k[u>>2]|0)+32>>2];k[h>>2]=k[f>>2];b=Ul(k[(k[u>>2]|0)+16>>2]|0,k[(k[u>>2]|0)+20>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[g>>2]=b;k[i>>2]=(k[q>>2]|0)-(k[g>>2]|0);b=k[g>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;d=k[i>>2]|0;d=b+(Rl(d,((d|0)<0)<<31>>31)|0)|0;k[h>>2]=(k[h>>2]|0)+(d+(k[i>>2]|0));if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(k[(k[u>>2]|0)+16>>2]|0)!=0:0)break;if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(v=Sd(k[h>>2]|0)|0,k[(k[u>>2]|0)+36>>2]=v,(k[(k[u>>2]|0)+36>>2]|0)==0):0){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}if(k[(k[u>>2]|0)+16>>2]|0){v=k[g>>2]|0;v=Sl((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v}v=k[i>>2]|0;v=Sl((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v;IR((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,(k[p>>2]|0)+(k[g>>2]|0)|0,k[i>>2]|0)|0;k[(k[u>>2]|0)+32>>2]=(k[f>>2]|0)+(k[i>>2]|0);v=(k[u>>2]|0)+12|0;k[v>>2]=(k[v>>2]|0)+1;if(k[o>>2]|0){do if((k[(k[u>>2]|0)+24>>2]|0)<(k[q>>2]|0)){v=Vd(k[(k[u>>2]|0)+28>>2]|0,k[q>>2]<<1)|0;k[j>>2]=v;if(k[j>>2]|0){k[(k[u>>2]|0)+24>>2]=k[q>>2]<<1;k[(k[u>>2]|0)+28>>2]=k[j>>2];break}k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}while(0);k[(k[u>>2]|0)+16>>2]=k[(k[u>>2]|0)+28>>2];IR(k[(k[u>>2]|0)+16>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[(k[u>>2]|0)+20>>2]=k[q>>2]}else{k[(k[u>>2]|0)+16>>2]=k[p>>2];k[(k[u>>2]|0)+20>>2]=k[q>>2]}k[l>>2]=0;v=k[l>>2]|0;r=w;return v|0}while(0);d=Sd(40+(k[(k[m>>2]|0)+224>>2]|0)|0)|0;k[s>>2]=d;if(!(k[s>>2]|0)){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}c=k[s>>2]|0;f=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[s>>2]|0)+32>>2]=11;k[(k[s>>2]|0)+36>>2]=(k[s>>2]|0)+40;if(k[u>>2]|0){k[t>>2]=k[k[u>>2]>>2];q=Vl(k[m>>2]|0,t,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=q;if(!(k[k[u>>2]>>2]|0))k[k[u>>2]>>2]=k[t>>2];k[(k[u>>2]|0)+4>>2]=k[s>>2];k[(k[s>>2]|0)+8>>2]=k[(k[u>>2]|0)+8>>2];k[k[s>>2]>>2]=k[t>>2];k[(k[s>>2]|0)+28>>2]=k[(k[u>>2]|0)+28>>2];k[(k[s>>2]|0)+24>>2]=k[(k[u>>2]|0)+24>>2];k[(k[u>>2]|0)+28>>2]=0}else{k[(k[s>>2]|0)+8>>2]=k[s>>2];u=Vl(k[m>>2]|0,s,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=u}k[k[n>>2]>>2]=k[s>>2];k[l>>2]=k[v>>2];v=k[l>>2]|0;r=w;return v|0}function Wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)<(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Xl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Yl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+5>>0]|0){a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;k[(k[b>>2]|0)+52>>2]=0;a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;s=v+52|0;d=v+48|0;t=v+44|0;e=v+40|0;p=v+36|0;u=v+32|0;n=v+28|0;o=v+24|0;h=v+20|0;f=v+16|0;j=v+12|0;g=v+8|0;m=v+4|0;q=v;k[d>>2]=a;k[t>>2]=b;k[e>>2]=c;c=k[t>>2]|0;if(k[(k[t>>2]|0)+72>>2]|0)k[u>>2]=(k[(k[t>>2]|0)+72>>2]|0)+(k[c+76>>2]|0);else k[u>>2]=k[c+40>>2];if(!((k[u>>2]|0)!=0?(k[u>>2]|0)>>>0<((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0)){c=k[t>>2]|0;if(k[(k[t>>2]|0)+56>>2]|0){k[h>>2]=k[k[c+56>>2]>>2];Ud(k[(k[t>>2]|0)+40>>2]|0);k[(k[t>>2]|0)+40>>2]=0;do if(k[h>>2]|0){k[j>>2]=k[(k[h>>2]|0)+8>>2];k[g>>2]=(k[k[j>>2]>>2]|0)+1;k[(k[t>>2]|0)+64>>2]=k[(k[h>>2]|0)+12>>2];k[(k[t>>2]|0)+60>>2]=k[(k[h>>2]|0)+16>>2];u=Sd(k[g>>2]|0)|0;k[f>>2]=u;if(k[f>>2]|0){IR(k[f>>2]|0,k[(k[j>>2]|0)+4>>2]|0,k[g>>2]|0)|0;u=k[g>>2]|0;k[(k[t>>2]|0)+76>>2]=u;k[(k[t>>2]|0)+44>>2]=u;u=k[f>>2]|0;k[(k[t>>2]|0)+72>>2]=u;k[(k[t>>2]|0)+40>>2]=u;u=(k[t>>2]|0)+56|0;k[u>>2]=(k[u>>2]|0)+4;break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}Yl(c);h=(k[t>>2]|0)+32|0;f=k[h+4>>2]|0;j=(k[t>>2]|0)+16|0;g=k[j+4>>2]|0;if((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>=(k[j>>2]|0)>>>0:0)){k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}g=k[d>>2]|0;f=(k[t>>2]|0)+32|0;h=f;h=GR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;k[f>>2]=h;k[f+4>>2]=j;j=om(g,h,j,(k[t>>2]|0)+40|0,(k[t>>2]|0)+44|0,(k[e>>2]|0)!=0?(k[t>>2]|0)+48|0:0)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}if((k[e>>2]|0)!=0?(k[(k[t>>2]|0)+48>>2]|0)<(k[(k[t>>2]|0)+44>>2]|0):0){k[(k[t>>2]|0)+52>>2]=k[(k[d>>2]|0)+244>>2];k[(k[d>>2]|0)+244>>2]=0}k[u>>2]=k[(k[t>>2]|0)+40>>2]}j=km(k[t>>2]|0,k[u>>2]|0,20)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=hm(c,n)|0;else{k[n>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=hm(c,o)|0;else{k[o>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;if(!((k[n>>2]|0)<0|(k[o>>2]|0)<=0)?((k[u>>2]|0)+(k[o>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((k[n>>2]|0)+(k[o>>2]|0)|0)>(k[(k[t>>2]|0)+68>>2]|0)){k[m>>2]=(k[n>>2]|0)+(k[o>>2]|0)<<1;j=Vd(k[(k[t>>2]|0)+64>>2]|0,k[m>>2]|0)|0;k[q>>2]=j;if(k[q>>2]|0){k[(k[t>>2]|0)+64>>2]=k[q>>2];k[(k[t>>2]|0)+68>>2]=k[m>>2];break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);q=km(k[t>>2]|0,k[u>>2]|0,(k[o>>2]|0)+10|0)|0;k[p>>2]=q;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}IR((k[(k[t>>2]|0)+64>>2]|0)+(k[n>>2]|0)|0,k[u>>2]|0,k[o>>2]|0)|0;k[(k[t>>2]|0)+60>>2]=(k[n>>2]|0)+(k[o>>2]|0);k[u>>2]=(k[u>>2]|0)+(k[o>>2]|0);c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=hm(c,(k[t>>2]|0)+76|0)|0;else{k[(k[t>>2]|0)+76>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;k[(k[t>>2]|0)+72>>2]=k[u>>2];k[(k[t>>2]|0)+80>>2]=0;do if(((k[(k[t>>2]|0)+72>>2]|0)+(k[(k[t>>2]|0)+76>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0){if((k[(k[t>>2]|0)+48>>2]|0)==0?(i[(k[(k[t>>2]|0)+72>>2]|0)+((k[(k[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}function _l(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if((k[(k[c>>2]|0)+40>>2]|0)!=0?(k[(k[d>>2]|0)+40>>2]|0)!=0:0){k[f>>2]=(k[(k[c>>2]|0)+60>>2]|0)-(k[(k[d>>2]|0)+60>>2]|0);a=k[(k[c>>2]|0)+64>>2]|0;b=k[(k[d>>2]|0)+64>>2]|0;if((k[f>>2]|0)<0){b=VQ(a,b,k[(k[c>>2]|0)+60>>2]|0)|0;k[e>>2]=b}else{b=VQ(a,b,k[(k[d>>2]|0)+60>>2]|0)|0;k[e>>2]=b}if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else k[e>>2]=((k[(k[c>>2]|0)+40>>2]|0)==0&1)-((k[(k[d>>2]|0)+40>>2]|0)==0&1);if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[g>>2]|0)==(k[f>>2]|0))k[g>>2]=(k[g>>2]|0)+-1;k[i>>2]=(k[g>>2]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[j>>2]=k[i>>2];while(1){if((k[j>>2]|0)>=((k[f>>2]|0)-1|0))break;if((gc[k[h>>2]&255](k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0,k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]|0)|0)<0)break;k[l>>2]=k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2];k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]=k[(k[e>>2]|0)+(k[j>>2]<<2)>>2];k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[j>>2]=(k[j>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+-1}r=m;return}function am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;do if((k[g>>2]|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=k[g>>2]<<1;a=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[e>>2]|0)+16>>2]=k[h>>2];break}k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}while(0);IR(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;c=g+8|0;f=g+4|0;d=g+16|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;if((l[(k[h>>2]|0)+231>>0]|0|0)!=0?(k[(k[c>>2]|0)+56>>2]|0)!=0:0){i[d>>0]=0;h=(k[c>>2]|0)+88|0;k[h>>2]=0;k[h+4>>2]=0;k[(k[c>>2]|0)+84>>2]=0;im(0,k[(k[c>>2]|0)+72>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[c>>2]|0)+80|0,(k[c>>2]|0)+88|0,(k[c>>2]|0)+84|0,d);h=k[f>>2]|0;r=g;return h|0}h=km(k[c>>2]|0,k[(k[c>>2]|0)+72>>2]|0,10)|0;k[f>>2]=h;if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=gm(k[(k[c>>2]|0)+72>>2]|0,(k[c>>2]|0)+88|0)|0;k[e>>2]=h;k[(k[c>>2]|0)+80>>2]=(k[(k[c>>2]|0)+72>>2]|0)+(k[e>>2]|0);h=k[f>>2]|0;r=g;return h|0}function cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;s=u+36|0;t=u+32|0;q=u+28|0;e=u+24|0;f=u+20|0;p=u+16|0;n=u+12|0;h=u+41|0;g=u+40|0;o=u+8|0;m=u;k[t>>2]=a;k[q>>2]=b;k[e>>2]=c;k[f>>2]=d;k[p>>2]=0;k[n>>2]=k[(k[q>>2]|0)+80>>2];i[h>>0]=0;do if((l[(k[t>>2]|0)+231>>0]|0)!=0?(k[(k[q>>2]|0)+56>>2]|0)!=0:0){i[g>>0]=0;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[(k[q>>2]|0)+84>>2]|0)-1}im(0,k[(k[q>>2]|0)+72>>2]|0,k[(k[q>>2]|0)+76>>2]|0,n,(k[q>>2]|0)+88|0,(k[q>>2]|0)+84|0,g);if(i[g>>0]|0){k[(k[q>>2]|0)+80>>2]=0;break}else{k[(k[q>>2]|0)+80>>2]=k[n>>2];break}}else j=8;while(0);do if((j|0)==8){k[o>>2]=(k[(k[q>>2]|0)+72>>2]|0)+(k[(k[q>>2]|0)+76>>2]|0);while(1){if(i[k[n>>2]>>0]|i[h>>0]){c=k[n>>2]|0;k[n>>2]=c+1;i[h>>0]=i[c>>0]&128;continue}if(!(k[(k[q>>2]|0)+52>>2]|0))break;if((k[n>>2]|0)>>>0<((k[(k[q>>2]|0)+40>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0)|0)>>>0)break;c=jm(k[q>>2]|0)|0;k[p>>2]=c;if(k[p>>2]|0){j=14;break}}if((j|0)==14){k[s>>2]=k[p>>2];t=k[s>>2]|0;r=u;return t|0}k[n>>2]=(k[n>>2]|0)+1;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[n>>2]|0)-(k[(k[q>>2]|0)+80>>2]|0)-1}while(1){if((k[n>>2]|0)>>>0<(k[o>>2]|0)>>>0)e=(i[k[n>>2]>>0]|0)==0;else e=0;f=k[n>>2]|0;if(!e)break;k[n>>2]=f+1}e=k[q>>2]|0;if(f>>>0>=(k[o>>2]|0)>>>0){k[e+80>>2]=0;break}o=km(e,k[n>>2]|0,10)|0;k[p>>2]=o;if(!(k[p>>2]|0)){b=k[n>>2]|0;b=b+(gm(k[n>>2]|0,m)|0)|0;k[(k[q>>2]|0)+80>>2]=b;b=m;h=k[b>>2]|0;b=k[b+4>>2]|0;e=(k[q>>2]|0)+88|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(i[(k[t>>2]|0)+231>>0]|0){q=FR(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}else{q=GR(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}}}while(0);k[s>>2]=0;t=k[s>>2]|0;r=u;return t|0}function dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;q=t+16|0;n=t+12|0;p=t+8|0;m=t+4|0;o=t;j=t+36|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[q>>2]=k[k[g>>2]>>2];k[n>>2]=k[k[h>>2]>>2];k[p>>2]=(k[q>>2]|0)+(k[n>>2]|0);k[m>>2]=0;k[o>>2]=k[q>>2];while(1){i[j>>0]=0;while(1){if((k[o>>2]|0)>>>0>=(k[p>>2]|0)>>>0)break;if(!((i[j>>0]|i[k[o>>2]>>0])&254))break;c=k[o>>2]|0;k[o>>2]=c+1;i[j>>0]=i[c>>0]&128}b=(k[o>>2]|0)-(k[q>>2]|0)|0;if((k[e>>2]|0)==(k[m>>2]|0)){s=7;break}k[n>>2]=(k[n>>2]|0)-b;k[q>>2]=k[o>>2];if(!(k[n>>2]|0))break;k[o>>2]=(k[q>>2]|0)+1;b=k[o>>2]|0;if(l[k[o>>2]>>0]&128)b=hm(b,m)|0;else{k[m>>2]=l[b>>0];b=1}k[o>>2]=(k[o>>2]|0)+b}if((s|0)==7)k[n>>2]=b;if(!(k[f>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}if(((k[q>>2]|0)+(k[n>>2]|0)|0)==(k[p>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}KR((k[q>>2]|0)+(k[n>>2]|0)|0,0,(k[p>>2]|0)-((k[q>>2]|0)+(k[n>>2]|0))|0)|0;s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}function em(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+48|0;f=o+8|0;q=o+40|0;p=o+36|0;g=o+32|0;l=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;j=o;s=f;k[s>>2]=a;k[s+4>>2]=b;k[q>>2]=c;k[p>>2]=d;k[g>>2]=e;k[l>>2]=0;k[h>>2]=0;k[m>>2]=k[q>>2];k[n>>2]=(k[q>>2]|0)+(k[p>>2]|0);if((i[k[m>>2]>>0]|0)!=1){if((i[k[m>>2]>>0]|0)==2){s=f;s=Sl((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2;k[h>>2]=1}fm(0,m)}while(1){if((k[m>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;if((i[k[m>>2]>>0]|0)!=1)break;k[m>>2]=(k[m>>2]|0)+1;s=gm(k[m>>2]|0,j)|0;k[m>>2]=(k[m>>2]|0)+s;if((i[k[m>>2]>>0]|0)==2){if(!(k[h>>2]|0)){s=f;s=Sl((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;k[h>>2]=1}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=1;s=j;s=Sl((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2}fm(0,m)}if(!(k[h>>2]|0)){s=k[l>>2]|0;r=o;return s|0}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=0;s=k[l>>2]|0;r=o;return s|0}function fm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){if(!(254&(i[k[h>>2]>>0]|i[e>>0])))break;b=k[h>>2]|0;k[h>>2]=b+1;i[e>>0]=i[b>>0]&128}if(!(k[c>>2]|0)){a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];IR(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}function gm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+36|0;d=m+32|0;e=m+28|0;j=m+24|0;f=m+20|0;g=m+8|0;l=m+16|0;h=m;k[d>>2]=a;k[e>>2]=b;k[j>>2]=k[d>>2];a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=i[a>>0];a=k[f>>2]|0;if(!(k[f>>2]&128)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&127|i[b>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=2;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=3;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=4;l=k[c>>2]|0;r=m;return l|0}f=g;k[f>>2]=a&268435455;k[f+4>>2]=0;k[l>>2]=28;while(1){if((k[l>>2]|0)>63)break;f=k[d>>2]|0;k[d>>2]=f+1;f=i[f>>0]|0;b=h;k[b>>2]=f;k[b+4>>2]=((f|0)<0)<<31>>31;b=LR(k[h>>2]&127|0,0,k[l>>2]|0)|0;f=g;b=GR(k[f>>2]|0,k[f+4>>2]|0,b|0,L|0)|0;f=g;k[f>>2]=b;k[f+4>>2]=L;if((k[h>>2]&128|0)==0&0==0)break;k[l>>2]=(k[l>>2]|0)+7}h=k[g+4>>2]|0;l=k[e>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=h;k[c>>2]=(k[d>>2]|0)-(k[j>>2]|0);l=k[c>>2]|0;r=m;return l|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=i[b>>0];b=k[f>>2]&127;a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=b|i[a>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){k[k[e>>2]>>2]=a;k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){k[k[e>>2]>>2]=a;k[c>>2]=3;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){k[k[e>>2]>>2]=a;k[c>>2]=4;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=a&268435455;k[k[e>>2]>>2]=k[f>>2]|(i[k[d>>2]>>0]&15)<<28;k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}return 0}function im(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+76|0;j=B+72|0;l=B+68|0;m=B+64|0;n=B+60|0;o=B+56|0;p=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;q=B+8|0;v=B+28|0;s=B;A=B+24|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[w>>2]=k[k[m>>2]>>2];if(k[w>>2]|0){k[v>>2]=(k[h>>2]|0)!=0?-1:1;mm(w,k[j>>2]|0,s);d=k[v>>2]|0;f=s;f=RR(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=k[n>>2]|0;e=d;f=FR(k[e>>2]|0,k[e+4>>2]|0,f|0,L|0)|0;k[d>>2]=f;k[d+4>>2]=L;if((k[w>>2]|0)==(k[j>>2]|0))i[k[p>>2]>>0]=1;else{k[A>>2]=k[w>>2];nm(k[j>>2]|0,w);k[k[o>>2]>>2]=(k[A>>2]|0)-(k[w>>2]|0)}k[k[m>>2]>>2]=k[w>>2];r=B;return}d=t;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;k[x>>2]=k[j>>2];k[y>>2]=(k[j>>2]|0)+(k[l>>2]|0);k[u>>2]=1;while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;d=gm(k[x>>2]|0,q)|0;k[x>>2]=(k[x>>2]|0)+d;d=k[u>>2]|0;f=q;f=RR(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=t;f=GR(k[d>>2]|0,k[d+4>>2]|0,f|0,L|0)|0;d=t;k[d>>2]=f;k[d+4>>2]=L;k[z>>2]=k[x>>2];lm(0,x);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;if(i[k[x>>2]>>0]|0)break;k[x>>2]=(k[x>>2]|0)+1}k[u>>2]=(k[h>>2]|0)!=0?-1:1}k[k[o>>2]>>2]=(k[y>>2]|0)-(k[z>>2]|0);k[k[m>>2]>>2]=k[z>>2];e=t;f=k[e+4>>2]|0;d=k[n>>2]|0;k[d>>2]=k[e>>2];k[d+4>>2]=f;r=B;return}function jm(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(((k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0)<4096)a=(k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0;else a=4096;k[b>>2]=a;a=ef(k[(k[c>>2]|0)+52>>2]|0,(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0,k[b>>2]|0,k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+48|0;k[a>>2]=(k[a>>2]|0)+(k[b>>2]|0);a=(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));if((k[(k[c>>2]|0)+48>>2]|0)!=(k[(k[c>>2]|0)+44>>2]|0)){d=k[d>>2]|0;r=e;return d|0}df(k[(k[c>>2]|0)+52>>2]|0)|0;k[(k[c>>2]|0)+52>>2]=0;k[(k[c>>2]|0)+48>>2]=0;d=k[d>>2]|0;r=e;return d|0}function km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if(!((k[g>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=0:0)){d=5;break}if(((k[e>>2]|0)-(k[(k[d>>2]|0)+40>>2]|0)+(k[f>>2]|0)|0)<=(k[(k[d>>2]|0)+48>>2]|0)){d=5;break}a=jm(k[d>>2]|0)|0;k[g>>2]=a}if((d|0)==5){r=h;return k[g>>2]|0}return 0}function lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){b=(i[k[h>>2]>>0]|i[e>>0]|0)!=0;a=k[h>>2]|0;k[h>>2]=a+1;if(!b)break;i[e>>0]=i[a>>0]&128}if(!(k[c>>2]|0)){g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];IR(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[k[d>>2]>>2]|0)+-2;while(1){if((k[h>>2]|0)>>>0<(k[e>>2]|0)>>>0)break;if(!(i[k[h>>2]>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}k[h>>2]=(k[h>>2]|0)+1;k[k[d>>2]>>2]=k[h>>2];gm(k[h>>2]|0,g)|0;b=g;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;r=j;return}function nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+8|0;d=h+4|0;f=h;e=h+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=(k[k[d>>2]>>2]|0)+-2;i[e>>0]=0;do{if((k[f>>2]|0)>>>0<=(k[c>>2]|0)>>>0)break;b=k[f>>2]|0;k[f>>2]=b+-1;b=i[b>>0]|0;i[e>>0]=b}while((b<<24>>24|0)==0);while(1){if((k[f>>2]|0)>>>0>(k[c>>2]|0)>>>0)b=(i[k[f>>2]>>0]&128|i[e>>0]|0)!=0;else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=a+-1;i[e>>0]=i[a>>0]|0}if(a>>>0<=(k[c>>2]|0)>>>0){if((i[e>>0]|0)==0?(k[k[d>>2]>>2]|0)>>>0>((k[f>>2]|0)+2|0)>>>0:0)g=11}else g=11;if((g|0)==11)k[f>>2]=(k[f>>2]|0)+2;do{g=k[f>>2]|0;k[f>>2]=g+1}while((i[g>>0]&128|0)!=0);k[k[d>>2]>>2]=k[f>>2];r=h;return}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;n=t+8|0;o=t+40|0;g=t+36|0;h=t;p=t+32|0;j=t+28|0;l=t+24|0;s=t+20|0;m=t+16|0;q=t+12|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[p>>2]=d;k[j>>2]=e;k[l>>2]=f;b=k[g>>2]|0;if(k[(k[g>>2]|0)+244>>2]|0){n=h;n=gf(k[b+244>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[s>>2]=n}else{if(0==(k[b+240>>2]|0)?(k[n>>2]=k[(k[g>>2]|0)+20>>2],n=Yd(23779,n)|0,k[(k[g>>2]|0)+240>>2]=n,0==(k[(k[g>>2]|0)+240>>2]|0)):0){k[o>>2]=7;s=k[o>>2]|0;r=t;return s|0}n=h;n=cf(k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+240>>2]|0,23791,k[n>>2]|0,k[n+4>>2]|0,0,(k[g>>2]|0)+244|0)|0;k[s>>2]=n}if((k[s>>2]|0)==0?(n=ff(k[(k[g>>2]|0)+244>>2]|0)|0,k[m>>2]=n,k[k[j>>2]>>2]=k[m>>2],(k[p>>2]|0)!=0):0){n=Sd((k[m>>2]|0)+20|0)|0;k[q>>2]=n;if(k[q>>2]|0){if((k[l>>2]|0)!=0&(k[m>>2]|0)>16384){k[m>>2]=4096;k[k[l>>2]>>2]=k[m>>2]}b=ef(k[(k[g>>2]|0)+244>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[s>>2]=b;b=(k[q>>2]|0)+(k[m>>2]|0)|0;c=b+20|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0));if(k[s>>2]|0){Ud(k[q>>2]|0);k[q>>2]=0}}else k[s>>2]=7;k[k[p>>2]>>2]=k[q>>2]}k[o>>2]=k[s>>2];s=k[o>>2]|0;r=t;return s|0}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;m=q+36|0;e=q+32|0;n=q+28|0;f=q+24|0;g=q+20|0;h=q+16|0;o=q+12|0;j=q+8|0;i=q+4|0;p=q;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[(k[n>>2]|0)+4>>2];k[h>>2]=0;a:while(1){if(k[(k[n>>2]|0)+28>>2]|0){e=12;break}if((k[h>>2]|0)>=(k[(k[n>>2]|0)+4>>2]|0)){e=12;break}k[j>>2]=0;k[i>>2]=k[(k[k[n>>2]>>2]|0)+(k[h>>2]<<2)>>2];do{c=Zl(k[e>>2]|0,k[i>>2]|0,0)|0;k[p>>2]=c;if(k[p>>2]|0){e=6;break a}if(!(k[f>>2]|0))break;c=qm(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[j>>2]=c}while((c|0)<0);if((k[j>>2]|0)!=0?(l[(k[i>>2]|0)+4>>0]|0|0)!=0:0)Yl(k[i>>2]|0);k[h>>2]=(k[h>>2]|0)+1}if((e|0)==6){k[m>>2]=k[p>>2];p=k[m>>2]|0;r=q;return p|0}else if((e|0)==12){$l(k[k[n>>2]>>2]|0,k[o>>2]|0,k[o>>2]|0,184);k[m>>2]=0;p=k[m>>2]|0;r=q;return p|0}return 0}function qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(k[(k[e>>2]|0)+40>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=k[(k[e>>2]|0)+64>>2]|0;c=k[d>>2]|0;if((k[(k[e>>2]|0)+60>>2]|0)>(k[f>>2]|0)){d=VQ(a,c,k[f>>2]|0)|0;k[g>>2]=d}else{d=VQ(a,c,k[(k[e>>2]|0)+60>>2]|0)|0;k[g>>2]=d}if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}k[g>>2]=(k[(k[e>>2]|0)+60>>2]|0)-(k[f>>2]|0);g=k[g>>2]|0;r=h;return g|0}function rm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;j=F+88|0;l=F+84|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+68|0;q=F+64|0;s=F+60|0;t=F+56|0;C=F+52|0;A=F+48|0;D=F+44|0;y=F+40|0;z=F+36|0;w=F+16|0;v=F+8|0;u=F;x=F+32|0;E=F+28|0;B=F+24|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[C>>2]=0;k[A>>2]=0;if(((k[n>>2]|0)<0?(k[(k[j>>2]|0)+252>>2]|0)!=0:0)?(k[y>>2]=0,e=sm(k[j>>2]|0,k[m>>2]|0,k[o>>2]|0,k[p>>2]|0,((k[q>>2]|0)!=0?1:(k[s>>2]|0)!=0)&1,y)|0,k[C>>2]=e,(k[C>>2]|0)==0&(k[y>>2]|0)!=0):0){e=tm(k[t>>2]|0,k[y>>2]|0)|0;k[C>>2]=e}a:do if((k[n>>2]|0)!=-1){if(!(k[C>>2]|0)){e=um(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,A)|0;k[C>>2]=e}while(1){if(k[C>>2]|0)break a;e=Ee(k[A>>2]|0)|0;k[C>>2]=e;if(100!=(e|0))break a;k[z>>2]=0;y=Oe(k[A>>2]|0,1)|0;e=w;k[e>>2]=y;k[e+4>>2]=L;e=Oe(k[A>>2]|0,2)|0;y=v;k[y>>2]=e;k[y+4>>2]=L;y=Oe(k[A>>2]|0,3)|0;e=u;k[e>>2]=y;k[e+4>>2]=L;e=Le(k[A>>2]|0,4)|0;k[x>>2]=e;e=Ke(k[A>>2]|0,4)|0;k[E>>2]=e;e=w;if(((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)&(k[o>>2]|0)!=0){k[B>>2]=(k[q>>2]|0)!=0?v:0;e=vm(k[j>>2]|0,k[o>>2]|0,k[p>>2]|0,k[E>>2]|0,k[x>>2]|0,w,k[B>>2]|0)|0;k[C>>2]=e;if(k[C>>2]|0)break a;if((k[q>>2]|0)==0&(k[s>>2]|0)==0){i=w;y=k[i+4>>2]|0;e=v;k[e>>2]=k[i>>2];k[e+4>>2]=y}}i=w;y=v;e=u;e=wm((k[(k[t>>2]|0)+4>>2]|0)+1|0,((k[q>>2]|0)==0?(k[s>>2]|0)==0:0)&1,k[i>>2]|0,k[i+4>>2]|0,k[y>>2]|0,k[y+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[E>>2]|0,k[x>>2]|0,z)|0;k[C>>2]=e;if(k[C>>2]|0)break a;e=tm(k[t>>2]|0,k[z>>2]|0)|0;k[C>>2]=e}}while(0);e=he(k[A>>2]|0)|0;k[D>>2]=e;if((k[C>>2]|0)!=101){e=k[C>>2]|0;r=F;return e|0}k[C>>2]=k[D>>2];e=k[C>>2]|0;r=F;return e|0}function sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;A=y+64|0;z=y+60|0;g=y+56|0;h=y+52|0;i=y+48|0;j=y+44|0;u=y+40|0;s=y+36|0;l=y+32|0;p=y+28|0;v=y+24|0;t=y+20|0;n=y+16|0;w=y+12|0;q=y+8|0;m=y+4|0;o=y;k[A>>2]=a;k[z>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[u>>2]=0;k[l>>2]=0;k[p>>2]=0;k[v>>2]=0;k[t>>2]=(k[(k[A>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)+4;if(k[i>>2]|0){k[n>>2]=0;k[s>>2]=k[(k[t>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;k[w>>2]=k[(k[s>>2]|0)+12>>2];k[q>>2]=k[(k[s>>2]|0)+16>>2];if(k[h>>2]|0){if((k[q>>2]|0)>=(k[h>>2]|0)?0==(VQ(k[w>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((k[p>>2]|0)==(k[n>>2]|0)){k[n>>2]=(k[n>>2]|0)+16;A=Vd(k[l>>2]|0,k[n>>2]<<2)|0;k[m>>2]=A;if(!(k[m>>2]|0)){x=9;break}k[l>>2]=k[m>>2]}z=k[s>>2]|0;A=k[p>>2]|0;k[p>>2]=A+1;k[(k[l>>2]|0)+(A<<2)>>2]=z}k[s>>2]=k[k[s>>2]>>2]}if((x|0)==9){k[v>>2]=7;k[p>>2]=0}if((k[p>>2]|0)>1)UQ(k[l>>2]|0,k[p>>2]|0,4,185)}else{A=Ok(k[t>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[s>>2]=A;if(k[s>>2]|0){k[l>>2]=s;k[p>>2]=1}}do if((k[p>>2]|0)>0){k[o>>2]=96+((k[p>>2]|0)+1<<2);A=Sd(k[o>>2]|0)|0;k[u>>2]=A;if(k[u>>2]|0){KR(k[u>>2]|0,0,k[o>>2]|0)|0;k[k[u>>2]>>2]=2147483647;k[(k[u>>2]|0)+56>>2]=(k[u>>2]|0)+96;IR(k[(k[u>>2]|0)+56>>2]|0,k[l>>2]|0,k[p>>2]<<2|0)|0;break}else{k[v>>2]=7;break}}while(0);if(!(k[i>>2]|0)){z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}Ud(k[l>>2]|0);z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}function tm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;do if(!((k[(k[d>>2]|0)+4>>2]|0)%16|0)){k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+16<<2;b=Vd(k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){k[k[d>>2]>>2]=k[f>>2];break}Kl(k[e>>2]|0);k[c>>2]=7;b=k[c>>2]|0;r=h;return b|0}while(0);a=k[e>>2]|0;g=(k[d>>2]|0)+4|0;b=k[g>>2]|0;k[g>>2]=b+1;k[(k[k[d>>2]>>2]|0)+(b<<2)>>2]=a;k[c>>2]=0;b=k[c>>2]|0;r=h;return b|0}function um(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;c=k[f>>2]|0;if((k[i>>2]|0)<0){i=xl(c,13,l,0)|0;k[m>>2]=i;if(!(k[m>>2]|0)){i=k[l>>2]|0;e=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;We(i,1,e,L)|0;e=k[l>>2]|0;i=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;We(e,2,i,L)|0}}else{e=xl(c,12,l,0)|0;k[m>>2]=e;if(!(k[m>>2]|0)){e=k[l>>2]|0;i=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;We(e,1,i,L)|0}}k[k[j>>2]>>2]=k[l>>2];r=n;return k[m>>2]|0}function vm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;o=v+32|0;h=v+28|0;i=v+24|0;p=v+20|0;q=v+16|0;t=v+12|0;j=v+8|0;u=v+4|0;s=v;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[h>>2]=d;k[i>>2]=e;k[p>>2]=f;k[q>>2]=g;k[t>>2]=0;e=k[h>>2]|0;if((l[k[h>>2]>>0]|0)&128)hm(e,j)|0;else k[j>>2]=l[e>>0];i=xm(k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[i>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=i;if(!((k[t>>2]|0)==0&(k[j>>2]|0)>1)){u=k[t>>2]|0;r=v;return u|0}k[u>>2]=0;k[s>>2]=0;if((k[p>>2]|0)!=0&(k[q>>2]|0)!=0?(i=k[p>>2]|0,j=k[q>>2]|0,(k[i>>2]|0)!=(k[j>>2]|0)?1:(k[i+4>>2]|0)!=(k[j+4>>2]|0)):0){j=k[p>>2]|0;j=om(k[m>>2]|0,k[j>>2]|0,k[j+4>>2]|0,u,s,0)|0;k[t>>2]=j;if(!(k[t>>2]|0)){j=vm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=j}Ud(k[u>>2]|0);k[p>>2]=0;k[u>>2]=0}if(!(k[t>>2]|0)){if(k[p>>2]|0){c=k[p>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}else{c=k[q>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}j=om(k[m>>2]|0,e,c,u,s,0)|0;k[t>>2]=j}if(!(k[t>>2]|0)){s=vm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=s}Ud(k[u>>2]|0);u=k[t>>2]|0;r=v;return u|0}function wm(a,b,c,d,e,f,g,h,j,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;n=z+8|0;o=z;p=z+40|0;q=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;k[u>>2]=a;k[v>>2]=b;a=w;k[a>>2]=c;k[a+4>>2]=d;a=n;k[a>>2]=e;k[a+4>>2]=f;a=o;k[a>>2]=g;k[a+4>>2]=h;k[p>>2]=j;k[q>>2]=l;k[s>>2]=m;k[x>>2]=0;j=w;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0)k[x>>2]=(k[q>>2]|0)+20;j=Sd(96+(k[x>>2]|0)|0)|0;k[y>>2]=j;if(!(k[y>>2]|0)){k[t>>2]=7;y=k[t>>2]|0;r=z;return y|0}c=k[y>>2]|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[k[y>>2]>>2]=k[u>>2];i[(k[y>>2]|0)+4>>0]=(k[v>>2]|0)!=0;j=w;u=k[j+4>>2]|0;v=(k[y>>2]|0)+8|0;k[v>>2]=k[j>>2];k[v+4>>2]=u;v=k[n+4>>2]|0;u=(k[y>>2]|0)+16|0;k[u>>2]=k[n>>2];k[u+4>>2]=v;u=k[o+4>>2]|0;v=(k[y>>2]|0)+24|0;k[v>>2]=k[o>>2];k[v+4>>2]=u;if(k[x>>2]|0){k[(k[y>>2]|0)+40>>2]=(k[y>>2]|0)+96;i[(k[y>>2]|0)+5>>0]=1;k[(k[y>>2]|0)+44>>2]=k[q>>2];IR(k[(k[y>>2]|0)+40>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;c=(k[(k[y>>2]|0)+40>>2]|0)+(k[q>>2]|0)|0;d=c+20|0;do{i[c>>0]=0;c=c+1|0}while((c|0)<(d|0))}else{w=FR(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=(k[y>>2]|0)+32|0;k[x>>2]=w;k[x+4>>2]=L}k[k[s>>2]>>2]=k[y>>2];k[t>>2]=0;y=k[t>>2]|0;r=z;return y|0}function xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;u=A+76|0;g=A+72|0;h=A+68|0;C=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;q=A+44|0;s=A+40|0;z=A+36|0;m=A+32|0;j=A+28|0;x=A;i=A+24|0;p=A+20|0;o=A+16|0;n=A+12|0;t=A+8|0;k[g>>2]=a;k[h>>2]=b;k[C>>2]=c;k[B>>2]=d;k[v>>2]=e;k[w>>2]=f;k[y>>2]=0;k[q>>2]=k[C>>2];k[s>>2]=(k[q>>2]|0)+(k[B>>2]|0);k[z>>2]=0;k[m>>2]=0;k[j>>2]=1;a=gm(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;a=gm(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;if((k[q>>2]|0)>>>0>(k[s>>2]|0)>>>0){k[u>>2]=267;C=k[u>>2]|0;r=A;return C|0}while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0){d=28;break}if(!((k[v>>2]|0)!=0?1:(k[w>>2]|0)!=0)){d=28;break}k[o>>2]=0;if(!(k[j>>2]|0)){d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=hm(d,o)|0;else{k[o>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d}k[j>>2]=0;d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=hm(d,p)|0;else{k[p>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d;if((k[o>>2]|0)<0|(k[p>>2]|0)<0){d=15;break}if(((k[q>>2]|0)+(k[p>>2]|0)|0)>>>0>(k[s>>2]|0)>>>0){d=15;break}if(((k[o>>2]|0)+(k[p>>2]|0)|0)>(k[m>>2]|0)){k[m>>2]=(k[o>>2]|0)+(k[p>>2]|0)<<1;C=Vd(k[z>>2]|0,k[m>>2]|0)|0;k[t>>2]=C;if(!(k[t>>2]|0)){d=18;break}k[z>>2]=k[t>>2]}IR((k[z>>2]|0)+(k[o>>2]|0)|0,k[q>>2]|0,k[p>>2]|0)|0;k[n>>2]=(k[o>>2]|0)+(k[p>>2]|0);k[q>>2]=(k[q>>2]|0)+(k[p>>2]|0);C=VQ(k[g>>2]|0,k[z>>2]|0,(k[n>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[n>>2]|0)|0;k[i>>2]=C;do if(k[v>>2]|0){if((k[i>>2]|0)>=0){if(k[i>>2]|0)break;if((k[n>>2]|0)<=(k[h>>2]|0))break}a=x;B=k[a+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[v>>2]=0}while(0);if((k[w>>2]|0)!=0&(k[i>>2]|0)<0){a=x;B=k[a+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[w>>2]=0}B=x;B=GR(k[B>>2]|0,k[B+4>>2]|0,1,0)|0;C=x;k[C>>2]=B;k[C+4>>2]=L}if((d|0)==15)k[y>>2]=267;else if((d|0)==18)k[y>>2]=7;else if((d|0)==28){if(k[v>>2]|0){t=x;B=k[t+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=B}if(k[w>>2]|0){B=k[x+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[x>>2];k[C+4>>2]=B}}Ud(k[z>>2]|0);k[u>>2]=k[y>>2];C=k[u>>2]|0;r=A;return C|0}function ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+28|0;j=f+24|0;i=f+20|0;h=f+16|0;d=f+12|0;e=f+8|0;g=f+4|0;c=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=k[(k[k[l>>2]>>2]|0)+12>>2];k[h>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];k[d>>2]=k[(k[k[l>>2]>>2]|0)+16>>2];k[e>>2]=k[(k[k[j>>2]>>2]|0)+16>>2];k[g>>2]=(k[d>>2]|0)<(k[e>>2]|0)?k[d>>2]|0:k[e>>2]|0;b=VQ(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[c>>2]=b;if(k[c>>2]|0){l=k[c>>2]|0;r=f;return l|0}k[c>>2]=(k[d>>2]|0)-(k[e>>2]|0);l=k[c>>2]|0;r=f;return l|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;g=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;n=o+16|0;m=o+12|0;l=o+8|0;h=o+4|0;i=o;k[g>>2]=a;k[d>>2]=b;k[e>>2]=c;k[n>>2]=24043;k[m>>2]=24047;k[l>>2]=24052;k[h>>2]=-1;k[i>>2]=15;c=k[g>>2]|0;if((k[d>>2]|0)>6){te(c,24063,-1);r=o;return}if(Dm(c,21102,k[k[e>>2]>>2]|0,j)|0){r=o;return}switch(k[d>>2]|0){case 6:{f=ne(k[(k[e>>2]|0)+20>>2]|0)|0;k[i>>2]=f;f=6;break}case 5:{f=6;break}case 4:{f=7;break}case 3:{f=8;break}case 2:{f=9;break}default:{}}if((f|0)==6){d=ne(k[(k[e>>2]|0)+16>>2]|0)|0;k[h>>2]=d;f=7}if((f|0)==7){d=ke(k[(k[e>>2]|0)+12>>2]|0)|0;k[l>>2]=d;f=8}if((f|0)==8){d=ke(k[(k[e>>2]|0)+8>>2]|0)|0;k[m>>2]=d;f=9}if((f|0)==9){f=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=f}if(!((k[l>>2]|0)!=0&(k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){De(k[g>>2]|0);r=o;return}c=k[g>>2]|0;if(!(k[i>>2]|0)){xe(c,19018,-1,0);r=o;return}if(Bn(c,k[j>>2]|0)|0){r=o;return}fo(k[g>>2]|0,k[j>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0);r=o;return}function Am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;if(Dm(k[d>>2]|0,21110,k[k[g>>2]>>2]|0,e)|0){r=f;return}if(Bn(k[d>>2]|0,k[e>>2]|0)|0){r=f;return}ao(k[d>>2]|0,k[e>>2]|0);r=f;return}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+12|0;g=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[h+16>>2]=b;k[i>>2]=c;if(Dm(k[d>>2]|0,21128,k[k[i>>2]>>2]|0,f)|0){r=h;return}k[e>>2]=k[k[f>>2]>>2];i=_n(k[e>>2]|0)|0;k[g>>2]=i;switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,23947,-1,0);r=h;return}case 101:{xe(k[d>>2]|0,23963,-1,0);r=h;return}default:{Be(k[d>>2]|0,k[g>>2]|0);r=h;return}}}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Dm(k[d>>2]|0,21118,k[k[f>>2]>>2]|0,g)|0){r=i;return}k[h>>2]=0;if((k[e>>2]|0)>1){a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=a}Em(k[d>>2]|0,k[g>>2]|0,k[h>>2]|0);r=i;return}function Dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;m=o;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((pe(k[h>>2]|0)|0)==4?(le(k[h>>2]|0)|0)==4:0){b=je(k[h>>2]|0)|0;i[l>>0]=i[b>>0]|0;i[l+1>>0]=i[b+1>>0]|0;i[l+2>>0]=i[b+2>>0]|0;i[l+3>>0]=i[b+3>>0]|0;k[k[j>>2]>>2]=k[l>>2];k[e>>2]=0;b=k[e>>2]|0;r=o;return b|0}k[m>>2]=k[g>>2];b=Yd(23918,m)|0;k[n>>2]=b;te(k[f>>2]|0,k[n>>2]|0,-1);Ud(k[n>>2]|0);k[e>>2]=1;b=k[e>>2]|0;r=o;return b|0}function Em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[h>>2]=k[e>>2];else k[h>>2]=23853;d=k[d>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){Fm(d,k[f>>2]|0,k[h>>2]|0);Gm(k[g>>2]|0);r=i;return}else{qe(d,19018,0,0);r=i;return}}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;d=u+76|0;e=u+72|0;f=u+68|0;p=u;n=u+64|0;o=u+60|0;h=u+56|0;g=u+52|0;q=u+48|0;m=u+44|0;j=u+40|0;s=u+36|0;l=u+32|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[n>>2]=k[k[e>>2]>>2];k[o>>2]=0;k[h>>2]=0;k[g>>2]=0;k[q>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p+28>>2]=0;k[p>>2]=k[e>>2];k[p+4>>2]=k[(k[n>>2]|0)+24>>2];if((k[(k[e>>2]|0)+92>>2]|0)!=0?(YQ(k[(k[(k[e>>2]|0)+92>>2]|0)+12>>2]|0,k[f>>2]|0)|0)!=0:0){Hm(k[(k[e>>2]|0)+92>>2]|0);k[(k[e>>2]|0)+92>>2]=0}if(!(k[(k[e>>2]|0)+92>>2]|0)){k[m>>2]=0;c=Im(k[(k[e>>2]|0)+12>>2]|0)|0;k[(k[e>>2]|0)+20>>2]=c;k[p+8>>2]=k[(k[e>>2]|0)+20>>2];k[j>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[s>>2]=0;if(Jm(k[n>>2]|0,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0,s)|0){t=8;break}c=Km(p,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0)|0;k[m>>2]=(k[m>>2]|0)+c;k[j>>2]=(k[j>>2]|0)+1}if((t|0)==8){te(k[d>>2]|0,k[s>>2]|0,-1);Ud(k[s>>2]|0);r=u;return}t=Lm(k[m>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=t;if(!(k[(k[e>>2]|0)+92>>2]|0))k[o>>2]=7;k[(k[e>>2]|0)+88>>2]=1;k[h>>2]=1}if((k[o>>2]|0)==0?(t=Mm(k[(k[e>>2]|0)+92>>2]|0,g)|0,k[q>>2]=t,(k[q>>2]|0)==0):0)k[o>>2]=7;if((k[o>>2]|0)==0?(k[p+28>>2]=k[g>>2],k[p+8>>2]=k[(k[e>>2]|0)+20>>2],t=Nm(k[e>>2]|0,k[h>>2]|0,p,k[f>>2]|0)|0,k[o>>2]=t,(k[h>>2]|0)!=0):0)Om(k[(k[e>>2]|0)+92>>2]|0);if(!(k[o>>2]|0)){k[l>>2]=k[(k[(k[e>>2]|0)+92>>2]|0)+4>>2]<<2;qe(k[d>>2]|0,k[g>>2]|0,k[l>>2]|0,k[q>>2]|0);r=u;return}Be(k[d>>2]|0,k[o>>2]|0);if(!(k[q>>2]|0)){r=u;return}_b[k[q>>2]&255](k[g>>2]|0);r=u;return}function Gm(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;df(k[(k[c>>2]|0)+244>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=0;r=b;return}function Hm(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}i[k[b>>2]>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Im(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Vm(k[d>>2]|0,153,b)|0;r=c;return k[b>>2]|0}function Jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j;d=j+12|0;e=j+8|0;f=j+16|0;g=j+4|0;k[e>>2]=a;i[f>>0]=b;k[g>>2]=c;do if((i[f>>0]|0)!=112?(i[f>>0]|0)!=99:0){if((i[f>>0]|0)==110?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==97?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==108?(l[(k[e>>2]|0)+230>>0]|0)!=0:0)break;if((((i[f>>0]|0)!=115?(i[f>>0]|0)!=120:0)?(i[f>>0]|0)!=121:0)?(i[f>>0]|0)!=98:0){c=k[g>>2]|0;k[h>>2]=i[f>>0];Nk(c,23883,h);k[d>>2]=1;h=k[d>>2]|0;r=j;return h|0}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}function Km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;f=e+8|0;d=e;k[c>>2]=a;i[f>>0]=b;switch(i[f>>0]|0){case 99:case 112:case 110:{k[d>>2]=1;break}case 115:case 108:case 97:{k[d>>2]=k[(k[c>>2]|0)+4>>2];break}case 121:{f=ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=f;break}case 98:{f=ha(k[(k[c>>2]|0)+8>>2]|0,((k[(k[c>>2]|0)+4>>2]|0)+31|0)/32|0)|0;k[d>>2]=f;break}default:{f=(ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0)*3|0;k[d>>2]=f}}r=e;return k[d>>2]|0}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[c>>2]<<1)+1<<2)+20;b=$Q(k[d>>2]|0)|0;k[f>>2]=b;b=Sd((k[e>>2]|0)+(k[f>>2]|0)+1|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=k[g>>2]|0;r=h;return b|0}KR(k[g>>2]|0,0,k[e>>2]|0)|0;k[(k[g>>2]|0)+16>>2]=(k[g>>2]|0)+16+4-(k[g>>2]|0);k[(k[g>>2]|0)+16+(1+(k[c>>2]|0)<<2)>>2]=(k[(k[g>>2]|0)+16>>2]|0)+((k[c>>2]|0)+1<<2);k[(k[g>>2]|0)+4>>2]=k[c>>2];k[(k[g>>2]|0)+12>>2]=(k[g>>2]|0)+(k[e>>2]|0);IR(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,(k[f>>2]|0)+1|0)|0;i[k[g>>2]>>0]=1;b=k[g>>2]|0;r=h;return b|0}function Mm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[e>>2]=0;b=k[c>>2]|0;do if(l[(k[c>>2]|0)+1>>0]|0){a=k[c>>2]|0;if(!(l[b+2>>0]|0)){i[a+2>>0]=1;k[e>>2]=(k[c>>2]|0)+16+((k[(k[c>>2]|0)+4>>2]|0)+2<<2);k[f>>2]=152;break}b=Sd(k[a+4>>2]<<2)|0;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[f>>2]=148,(k[(k[c>>2]|0)+8>>2]|0)!=0):0)IR(k[e>>2]|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0}else{i[b+1>>0]=1;k[e>>2]=(k[c>>2]|0)+16+4;k[f>>2]=152}while(0);k[k[d>>2]>>2]=k[e>>2];r=g;return k[f>>2]|0}function Nm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;e=B+92|0;f=B+88|0;g=B+84|0;h=B+80|0;A=B+76|0;m=B+72|0;y=B+68|0;z=B+64|0;q=B+24|0;s=B+16|0;j=B+60|0;n=B+56|0;p=B+52|0;t=B+8|0;x=B+48|0;o=B+44|0;l=B+40|0;u=B;v=B+36|0;w=B+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[A>>2]=0;k[y>>2]=k[k[e>>2]>>2];k[z>>2]=0;k[m>>2]=0;while(1){if(k[A>>2]|0){e=31;break}if(!(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)){e=31;break}i[(k[g>>2]|0)+24>>0]=i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0;a:do switch(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0){case 112:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+8>>2];break}case 99:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+4>>2];break}case 110:{if(k[f>>2]|0){d=q;k[d>>2]=0;k[d+4>>2]=0;d=Pm(k[y>>2]|0,z,q,0)|0;k[A>>2]=d;k[k[(k[g>>2]|0)+28>>2]>>2]=k[q>>2]}break}case 97:{if((k[f>>2]|0)!=0?(d=Pm(k[y>>2]|0,z,s,j)|0,k[A>>2]=d,(k[A>>2]|0)==0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break a;d=gm(k[j>>2]|0,t)|0;k[j>>2]=(k[j>>2]|0)+d;d=k[t>>2]|0;c=s;c=PR(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;c=GR(d|0,0,c|0,L|0)|0;d=s;d=PR(c|0,L|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[p>>2]=d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[n>>2]<<2)>>2]=k[p>>2];k[n>>2]=(k[n>>2]|0)+1}}break}case 108:{k[x>>2]=0;d=(k[e>>2]|0)+32|0;d=Qm(k[y>>2]|0,k[d>>2]|0,k[d+4>>2]|0,x)|0;k[A>>2]=d;b:do if(!(k[A>>2]|0)){d=Ke(k[x>>2]|0,0)|0;k[l>>2]=d;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break b;d=gm(k[l>>2]|0,u)|0;k[l>>2]=(k[l>>2]|0)+d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[o>>2]<<2)>>2]=k[u>>2];k[o>>2]=(k[o>>2]|0)+1}}while(0);he(k[x>>2]|0)|0;break}case 115:{d=Rm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){d=Sm(k[e>>2]|0,k[g>>2]|0)|0;k[A>>2]=d}break}case 121:case 98:{d=(Km(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0)<<2;k[v>>2]=d;KR(k[(k[g>>2]|0)+28>>2]|0,0,k[v>>2]|0)|0;Tm(k[(k[e>>2]|0)+12>>2]|0,k[g>>2]|0);break}default:{k[w>>2]=k[(k[e>>2]|0)+12>>2];d=Rm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){if(k[f>>2]|0){if((k[(k[e>>2]|0)+24>>2]|0)!=0?(d=Pm(k[y>>2]|0,z,(k[g>>2]|0)+16|0,0)|0,k[A>>2]=d,(k[A>>2]|0)!=0):0)break a;d=Vm(k[w>>2]|0,154,k[g>>2]|0)|0;k[A>>2]=d;Wm(k[e>>2]|0,A)|0;if(k[A>>2]|0)break a}Vm(k[w>>2]|0,155,k[g>>2]|0)|0}}}while(0);c=Km(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0;d=(k[g>>2]|0)+28|0;k[d>>2]=(k[d>>2]|0)+(c<<2);k[m>>2]=(k[m>>2]|0)+1}if((e|0)==31){he(k[z>>2]|0)|0;r=B;return k[A>>2]|0}return 0}function Om(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=1;IR((k[c>>2]|0)+16+(2+(k[(k[c>>2]|0)+4>>2]|0)<<2)|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0;r=b;return}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;e=o+36|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;m=o+16|0;j=o+12|0;l=o;n=o+8|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)==0?(b=Xn(k[f>>2]|0,k[g>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)!=0):0){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}k[m>>2]=k[k[g>>2]>>2];n=Ke(k[m>>2]|0,0)|0;k[j>>2]=n;n=gm(k[j>>2]|0,l)|0;k[j>>2]=(k[j>>2]|0)+n;n=l;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0){k[e>>2]=267;n=k[e>>2]|0;r=o;return n|0}n=k[h>>2]|0;k[n>>2]=k[l>>2];k[n+4>>2]=0;if(k[i>>2]|0)k[k[i>>2]>>2]=k[j>>2];k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}function Qm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e;f=e+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;d=h;d=Wn(k[g>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+24|0;d=h+20|0;e=h+16|0;f=h+12|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g>>2]=k[i>>2];c=Vm(k[(k[i>>2]|0)+12>>2]|0,156,g)|0;k[f>>2]=c;if(k[d>>2]|0)k[k[d>>2]>>2]=k[g+4>>2];if(!(k[e>>2]|0)){i=k[f>>2]|0;r=h;return i|0}k[k[e>>2]>>2]=k[g+8>>2];i=k[f>>2]|0;r=h;return i|0}function Sm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;p=t+56|0;c=t+52|0;d=t+48|0;q=t+44|0;e=t+40|0;f=t+36|0;j=t+32|0;n=t+28|0;g=t+24|0;h=t+20|0;s=t+16|0;m=t+12|0;l=t+8|0;i=t+4|0;o=t;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;b=Sd(k[(k[c>>2]|0)+20>>2]<<4)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[p>>2]=7;s=k[p>>2]|0;r=t;return s|0}KR(k[q>>2]|0,0,k[(k[c>>2]|0)+20>>2]<<4|0)|0;Vm(k[(k[c>>2]|0)+12>>2]|0,157,k[q>>2]|0)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[n>>2]=(k[q>>2]|0)+(k[e>>2]<<4);k[j>>2]=(k[j>>2]|0)-(k[(k[(k[k[n>>2]>>2]|0)+20>>2]|0)+64>>2]|0);k[(k[n>>2]|0)+4>>2]=k[j>>2];k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){c=33;break}k[g>>2]=0;k[h>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[m>>2]=(k[q>>2]|0)+(k[e>>2]<<4);n=Ym(k[c>>2]|0,k[k[m>>2]>>2]|0,k[f>>2]|0,(k[m>>2]|0)+8|0)|0;k[s>>2]=n;if(k[s>>2]|0){c=11;break a}if(k[(k[m>>2]|0)+8>>2]|0){k[(k[m>>2]|0)+12>>2]=k[(k[m>>2]|0)+4>>2];Un((k[q>>2]|0)+(k[e>>2]<<4)|0)|0;k[h>>2]=(k[h>>2]|0)+1}k[e>>2]=(k[e>>2]|0)+1}while(1){if((k[h>>2]|0)<=0)break;k[l>>2]=0;k[i>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[o>>2]=(k[q>>2]|0)+(k[e>>2]<<4);if(k[(k[o>>2]|0)+8>>2]|0){if(!((k[l>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0):0))k[l>>2]=k[o>>2];if((k[i>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)!=(k[(k[o>>2]|0)+-16+12>>2]|0):0)k[i>>2]=1;else k[i>>2]=(k[i>>2]|0)+1;if((k[i>>2]|0)>(k[g>>2]|0))k[g>>2]=k[i>>2]}else k[i>>2]=0;k[e>>2]=(k[e>>2]|0)+1}if(!(Un(k[l>>2]|0)|0))continue;k[h>>2]=(k[h>>2]|0)+-1}k[(k[(k[d>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]=k[g>>2];k[f>>2]=(k[f>>2]|0)+1}if((c|0)==11){k[p>>2]=k[s>>2];s=k[p>>2]|0;r=t;return s|0}else if((c|0)==33){Ud(k[q>>2]|0);k[p>>2]=0;s=k[p>>2]|0;r=t;return s|0}return 0}function Tm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(l[(k[c>>2]|0)+32>>0]|0){r=e;return}b=(k[c>>2]|0)+24|0;a=(k[k[d>>2]>>2]|0)+32|0;if(!((k[b>>2]|0)==(k[a>>2]|0)?(k[b+4>>2]|0)==(k[a+4>>2]|0):0)){r=e;return}b=k[c>>2]|0;if(k[(k[c>>2]|0)+12>>2]|0){Tm(k[b+12>>2]|0,k[d>>2]|0);Tm(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0);r=e;return}else{Sn(b,k[d>>2]|0);r=e;return}}function Um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2];a=ha((k[g>>2]|0)*3|0,k[(k[e>>2]|0)+4>>2]|0)|0;a=Pn(k[k[e>>2]>>2]|0,k[f>>2]|0,(k[(k[e>>2]|0)+28>>2]|0)+(a<<2)|0)|0;r=d;return a|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;k[h>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=0;b=On(k[h>>2]|0,g,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Wm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[e>>2]=0;if(k[f>>2]|0){b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}if((k[(k[c>>2]|0)+24>>2]|0)!=0?(b=Bn(0,k[c>>2]|0)|0,k[f>>2]=b,(k[f>>2]|0)==0):0){b=Cn(k[c>>2]|0)|0;k[f>>2]=b}b=0==(Dn(k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,f)|0)&1;k[e>>2]=b;En(k[c>>2]|0);k[k[d>>2]>>2]=k[f>>2];b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;l=j+24|0;m=j+20|0;i=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;h=j;k[d>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=0;k[g>>2]=k[m>>2];a=(ha(k[l>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0)*3|0;k[f>>2]=a;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0)?(k[i>>2]|0)==0:0))break;m=Ym(k[k[g>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[i>>2]=m;if(k[h>>2]|0){m=Zm(h)|0;k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=m}else k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=j;return k[i>>2]|0}function Ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;z=F+80|0;o=F+76|0;e=F+72|0;A=F+68|0;B=F+64|0;x=F+60|0;m=F+56|0;D=F+52|0;C=F+48|0;u=F;n=F+44|0;p=F+40|0;g=F+36|0;h=F+85|0;v=F+32|0;j=F+28|0;s=F+24|0;f=F+20|0;q=F+84|0;y=F+16|0;w=F+12|0;t=F+8|0;k[o>>2]=a;k[e>>2]=b;k[A>>2]=c;k[B>>2]=d;k[x>>2]=k[(k[e>>2]|0)+20>>2];k[m>>2]=k[k[o>>2]>>2];k[k[B>>2]>>2]=0;if((k[(k[x>>2]|0)+68>>2]|0)<(k[(k[m>>2]|0)+24>>2]|0)?(k[(k[x>>2]|0)+68>>2]|0)!=(k[A>>2]|0):0){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a=(k[e>>2]|0)+24|0;d=k[a+4>>2]|0;b=u;k[b>>2]=k[a>>2];k[b+4>>2]=d;k[D>>2]=k[(k[x>>2]|0)+28>>2];b=u;d=(k[o>>2]|0)+32|0;if(!(!((k[b>>2]|0)!=(k[d>>2]|0)?1:(k[b+4>>2]|0)!=(k[d+4>>2]|0))?(l[(k[e>>2]|0)+32>>0]|0)==0:0))E=6;do if((E|0)==6){k[n>>2]=0;k[p>>2]=l[(k[m>>2]|0)+231>>0];k[g>>2]=0;i[h>>0]=0;k[j>>2]=k[e>>2];k[v>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[v>>2]|0))break;if((k[k[v>>2]>>2]|0)==4)k[g>>2]=1;if((k[k[v>>2]>>2]|0)==1)k[j>>2]=k[v>>2];if(i[(k[v>>2]|0)+32>>0]|0)i[h>>0]=1;k[v>>2]=k[(k[v>>2]|0)+8>>2]}if(!(k[g>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a:do if(k[(k[x>>2]|0)+40>>2]|0){k[f>>2]=l[(k[j>>2]|0)+32>>0];_m(k[o>>2]|0,k[j>>2]|0,n);b:while(1){if(k[n>>2]|0)break a;while(1){if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break a;$m(k[o>>2]|0,k[j>>2]|0,n);if(k[f>>2]|0)continue b;m=(k[j>>2]|0)+24|0;d=u;if(!(((k[m>>2]|0)!=(k[d>>2]|0)?1:(k[m+4>>2]|0)!=(k[d+4>>2]|0))&(k[n>>2]|0)==0))break a}}}while(0);c:do if((i[h>>0]|0)!=0&(k[n>>2]|0)==0)do{if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break c;$m(k[o>>2]|0,k[j>>2]|0,n)}while((k[n>>2]|0)==0);while(0);if(k[n>>2]|0){k[z>>2]=k[n>>2];E=k[z>>2]|0;r=F;return E|0}k[s>>2]=1;k[v>>2]=k[j>>2];while(1){if(!(k[v>>2]|0))break;i[q>>0]=0;k[y>>2]=k[v>>2];if((k[k[y>>2]>>2]|0)==1)k[y>>2]=k[(k[y>>2]|0)+16>>2];k[w>>2]=k[(k[y>>2]|0)+20>>2];k[D>>2]=k[(k[w>>2]|0)+48>>2];d=(k[w>>2]|0)+56|0;n=k[d+4>>2]|0;e=u;k[e>>2]=k[d>>2];k[e+4>>2]=n;e=(k[(k[w>>2]|0)+4>>2]|0)!=0;d:do if((l[(k[o>>2]|0)+52>>0]|0)==(k[p>>2]|0)){if(e)e=(k[D>>2]|0)>>>0>=((k[k[w>>2]>>2]|0)+(k[(k[w>>2]|0)+4>>2]|0)|0)>>>0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=FR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,RR(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,(L|0)>=0):0)break d;if(l[q>>0]|0)break d;an(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,q)}}else{if(e)if(k[D>>2]|0)e=(k[D>>2]|0)>>>0<=(k[k[w>>2]>>2]|0)>>>0;else e=0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=FR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,n=RR(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,d=L,!((d|0)>0|(d|0)==0&n>>>0>0)):0)break d;if(l[q>>0]|0)break d;im(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,t,q)}}while(0);k[(k[w>>2]|0)+48>>2]=k[D>>2];m=u;d=k[m+4>>2]|0;n=(k[w>>2]|0)+56|0;k[n>>2]=k[m>>2];k[n+4>>2]=d;if(!((l[q>>0]|0)==0?(d=u,n=(k[o>>2]|0)+32|0,!((k[d>>2]|0)!=(k[n>>2]|0)?1:(k[d+4>>2]|0)!=(k[n+4>>2]|0))):0))k[s>>2]=0;k[v>>2]=k[(k[v>>2]|0)+12>>2]}if(k[s>>2]|0){k[D>>2]=k[(k[x>>2]|0)+48>>2];break}else{k[D>>2]=0;break}}while(0);if(!(k[D>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if((i[k[D>>2]>>0]|0)==1){k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=hm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}else k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[A>>2]|0))break;fm(0,D);if(!(i[k[D>>2]>>0]|0)){E=65;break}k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=hm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}if((E|0)==65){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if(!(i[k[D>>2]>>0]|0))k[D>>2]=0;k[k[B>>2]>>2]=(k[A>>2]|0)==(k[C>>2]|0)?k[D>>2]|0:0;k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0} -function jc(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function kc(){return r|0}function lc(a){a=a|0;r=a}function mc(a,b){a=a|0;b=b|0;r=a;s=b}function nc(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function oc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function pc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function qc(a){a=a|0;L=a}function rc(){return L|0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=40)break;k[d>>2]=0;switch(l[352+((k[c>>2]|0)*12|0)+5>>0]|0){case 1:{k[d>>2]=k[b>>2];break}case 2:{k[d>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[352+((k[c>>2]|0)*12|0)>>2]|0,i[352+((k[c>>2]|0)*12|0)+4>>0]|0,l[352+((k[c>>2]|0)*12|0)+6>>0]|0,k[d>>2]|0,k[352+((k[c>>2]|0)*12|0)+8>>2]|0,0,0)|0;k[c>>2]=(k[c>>2]|0)+1}k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=6)break;k[e>>2]=0;switch(l[832+(k[c>>2]<<4)+5>>0]|0){case 1:{k[e>>2]=k[b>>2];break}case 2:{k[e>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[832+(k[c>>2]<<4)>>2]|0,i[832+(k[c>>2]<<4)+4>>0]|0,1,k[e>>2]|0,0,k[832+(k[c>>2]<<4)+8>>2]|0,k[832+(k[c>>2]<<4)+12>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,378,17374);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+aa(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,379,17383);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+ba(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,380,17392);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+ca(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[i>>2]|0)!=2)$a(17401,17350,570,17409);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+me(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=j;se(k[d>>2]|0,+da(+(+p[f>>3]),+(+p[g>>3])));r=h;return}we(k[d>>2]|0);r=h;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,394,17418);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+xQ(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,402,17428);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+yQ(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,410,17438);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+zQ(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;g=n+12|0;f=n+8|0;h=n+4|0;j=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[l>>2]=n+48;k[m>>2]=n+40;k[g>>2]=0;k[f>>2]=0;if((k[o>>2]|0)!=2)$a(17401,17350,1680,17448);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){o=ke(k[k[e>>2]>>2]|0)|0;k[h>>2]=o;o=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=o;wd(k[h>>2]|0,k[l>>2]|0);wd(k[j>>2]|0,k[m>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=4)break;o=xd(k[l>>2]|0)|0;if((o|0)==(xd(k[m>>2]|0)|0))k[g>>2]=(k[g>>2]|0)+1;do{o=(k[l>>2]|0)+1|0;k[l>>2]=o}while((192&i[o>>0]|0)==128);do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}ue(k[d>>2]|0,k[g>>2]|0);r=n;return}we(k[d>>2]|0);r=n;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,498,17852);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+yd(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,499,17864);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+zd(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,420,17876);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+Z(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,419,17884);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+_(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,421,17892);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+$(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,422,17900);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+Ad(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,446,17908);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+AQ(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,438,17917);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+EQ(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,454,17926);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+FQ(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,456,17935);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+Bd(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,474,17944);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+ea(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,472,17952);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+fa(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,473,17960);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+CQ(+p[f>>3]);p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+48|0;d=i+32|0;j=i+28|0;e=i+24|0;f=i+16|0;g=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[j>>2]|0)!=2)$a(17401,17350,546,17970);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){l=+me(k[k[e>>2]>>2]|0);p[f>>3]=l;l=+me(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=l;j=qQ()|0;k[j>>2]=0;l=+Y(+(+p[f>>3]),+(+p[g>>3]));p[h>>3]=l;j=qQ()|0;d=k[d>>2]|0;if(!(k[j>>2]|0)){se(d,+p[h>>3]);r=i;return}else{h=qQ()|0;h=rQ(k[h>>2]|0)|0;j=qQ()|0;te(d,h,k[j>>2]|0);r=i;return}}we(k[d>>2]|0);r=i;return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;g=h+24|0;i=h+20|0;d=h+16|0;f=h+8|0;e=h;k[g>>2]=a;k[i>>2]=b;k[d>>2]=c;p[f>>3]=0.0;a=e;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17342,17350,590,17980);switch(pe(k[k[d>>2]>>2]|0)|0){case 1:{f=oe(k[k[d>>2]>>2]|0)|0;i=e;k[i>>2]=f;k[i+4>>2]=L;i=e;f=k[i+4>>2]|0;if((f|0)>0|(f|0)==0&(k[i>>2]|0)>>>0>0)d=1;else d=(k[e+4>>2]|0)<0?-1:0;i=e;k[i>>2]=d;k[i+4>>2]=((d|0)<0)<<31>>31;i=e;ve(k[g>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[g>>2]|0);r=h;return}default:{j=+me(k[k[d>>2]>>2]|0);p[f>>3]=j;if(+p[f>>3]>0.0)d=1;else d=+p[f>>3]<0.0?-1:0;p[f>>3]=+(d|0);se(k[g>>2]|0,+p[f>>3]);r=h;return}}}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,375,17989);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=qQ()|0;k[i>>2]=0;j=+X(+(+p[f>>3]));p[g>>3]=j;i=qQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=qQ()|0;g=rQ(k[g>>2]|0)|0;i=qQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;p[g>>3]=0.0;if((k[i>>2]|0)!=1)$a(17342,17350,514,17998);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;a=f;k[a>>2]=g;k[a+4>>2]=L;a=k[d>>2]|0;g=f;i=f;ve(a,RR(k[g>>2]|0,k[g+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0,L);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;se(k[d>>2]|0,+p[g>>3]*+p[g>>3]);r=h;return}}}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17342,17350,620,18009);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ve(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+ga(+(+p[g>>3]));ve(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17342,17350,645,18018);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ve(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+V(+(+p[g>>3]));ve(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;se(k[e>>2]|0,3.141592653589793);r=d;return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+48|0;n=m+44|0;e=m+40|0;j=m+36|0;l=m+32|0;g=m+24|0;h=m+16|0;i=m+8|0;f=m;k[d>>2]=a;k[n>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;if((k[n>>2]|0)!=2){r=m;return}if(5==(pe(k[k[e>>2]>>2]|0)|0)){r=m;return}a=oe(k[(k[e>>2]|0)+4>>2]|0)|0;n=g;k[n>>2]=a;k[n+4>>2]=L;if((k[g+4>>2]|0)<0){te(k[d>>2]|0,18028,-1);r=m;return}a=le(k[k[e>>2]>>2]|0)|0;n=h;k[n>>2]=a;k[n+4>>2]=((a|0)<0)<<31>>31;n=h;a=g;a=RR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=i;k[n>>2]=a;k[n+4>>2]=L;n=i;n=GR(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[j>>2]=n;n=h;n=GR(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[l>>2]=n;if((k[j>>2]|0)!=0&(k[l>>2]|0)!=0){n=k[l>>2]|0;ZQ(n,ke(k[k[e>>2]>>2]|0)|0)|0;n=f;k[n>>2]=0;k[n+4>>2]=0;while(1){i=f;c=k[i+4>>2]|0;n=g;a=k[n+4>>2]|0;if(!((c|0)<(a|0)|((c|0)==(a|0)?(k[i>>2]|0)>>>0<(k[n>>2]|0)>>>0:0)))break;n=k[j>>2]|0;a=f;i=h;i=RR(k[a>>2]|0,k[a+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;ZQ(n+i|0,k[l>>2]|0)|0;i=f;i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;n=f;k[n>>2]=i;k[n+4>>2]=L}xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);Ud(k[l>>2]|0);r=m;return}De(k[d>>2]|0);if(k[j>>2]|0)Ud(k[j>>2]|0);if(!(k[l>>2]|0)){r=m;return}Ud(k[l>>2]|0);r=m;return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;i=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;k[g>>2]=0;if(!((k[e>>2]|0)==3|(k[e>>2]|0)==2))$a(18041,17350,1038,18059);if(5!=(pe(k[k[f>>2]>>2]|0)|0)?5!=(pe(k[(k[f>>2]|0)+4>>2]|0)|0):0){a=ke(k[k[f>>2]>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=l;return}a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[j>>2]=a;if((k[e>>2]|0)==3){a=(ne(k[(k[f>>2]|0)+8>>2]|0)|0)-1|0;k[h>>2]=a;k[h>>2]=(k[h>>2]|0)<0?0:a}else k[h>>2]=0;j=Cd(k[i>>2]|0,k[j>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=j;ue(k[d>>2]|0,(k[g>>2]|0)+1|0);r=l;return}we(k[d>>2]|0);r=l;return}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+32|0;p=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;n=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;if((k[p>>2]|0)!=2)$a(17401,17350,1073,18073);if(5!=(pe(k[k[e>>2]>>2]|0)|0)?5!=(pe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=p;p=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[m>>2];a:while(1){if(!(xd(k[n>>2]|0)|0))break;p=k[f>>2]|0;k[f>>2]=p+1;if((p|0)>=(k[h>>2]|0))break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&(l[p>>0]|0)|0)!=128)continue a}}k[g>>2]=(k[n>>2]|0)-(k[m>>2]|0);p=Sd((k[n>>2]|0)-(k[m>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){bR(k[j>>2]|0,k[m>>2]|0,(k[n>>2]|0)-(k[m>>2]|0)|0)|0;i[(k[j>>2]|0)+(k[g>>2]|0)>>0]=0;xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{De(k[d>>2]|0);r=o;return}}we(k[d>>2]|0);r=o;return}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+36|0;p=o+32|0;e=o+28|0;h=o+24|0;f=o+20|0;g=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=0;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17401,17350,1113,18082);if(5!=(pe(k[k[e>>2]>>2]|0)|0)?5!=(pe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=ke(k[k[e>>2]>>2]|0)|0;k[l>>2]=p;p=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[l>>2];while(1){if(!(xd(k[n>>2]|0)|0))break;do{p=(k[n>>2]|0)+1|0;k[n>>2]=p}while((192&i[p>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}k[m>>2]=k[n>>2];k[n>>2]=k[l>>2];p=(k[f>>2]|0)-(k[h>>2]|0)|0;k[g>>2]=p;k[g>>2]=(k[g>>2]|0)<0?0:p;a:while(1){p=k[g>>2]|0;k[g>>2]=p+-1;if((p|0)<=0)break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&i[p>>0]|0)!=128)continue a}}p=Sd((k[m>>2]|0)-(k[n>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){ZQ(k[j>>2]|0,k[n>>2]|0)|0;xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{De(k[d>>2]|0);r=o;return}}we(k[d>>2]|0);r=o;return}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n+8|0;g=n+4|0;f=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=0;if(1!=(k[o>>2]|0))$a(18092,17350,1323,18100);if(5==(pe(k[k[e>>2]>>2]|0)|0)){we(k[d>>2]|0);r=n;return}o=ke(k[k[e>>2]>>2]|0)|0;k[l>>2]=o;o=$Q(k[l>>2]|0)|0;k[g>>2]=o;o=Sd((k[g>>2]|0)+1|0)|0;k[h>>2]=o;if(!(k[h>>2]|0)){De(k[d>>2]|0);r=n;return}k[j>>2]=(k[h>>2]|0)+(k[g>>2]|0);o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=0;k[m>>2]=k[l>>2];a:while(1){if(!(xd(k[m>>2]|0)|0))break;k[l>>2]=k[m>>2];do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=1;while(1){if(((k[m>>2]|0)+(0-(k[f>>2]|0))|0)>>>0<(k[l>>2]|0)>>>0)continue a;g=i[(k[m>>2]|0)+(0-(k[f>>2]|0))>>0]|0;o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=g;k[f>>2]=(k[f>>2]|0)+1}}xe(k[d>>2]|0,k[h>>2]|0,-1,-1);Ud(k[h>>2]|0);r=n;return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;n=m+20|0;d=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m+28|0;f=m;k[e>>2]=a;k[n>>2]=b;k[d>>2]=c;k[f>>2]=1;if((k[n>>2]|0)!=1)$a(17342,17350,724,18112);if(5==(pe(k[k[d>>2]>>2]|0)|0)){we(k[e>>2]|0);r=m;return}n=ke(k[k[d>>2]>>2]|0)|0;k[h>>2]=n;n=Dd(k[h>>2]|0)|0;k[j>>2]=n;if(!(k[j>>2]|0)){De(k[e>>2]|0);r=m;return}k[l>>2]=k[j>>2];while(1){n=k[h>>2]|0;k[h>>2]=n+1;n=i[n>>0]|0;i[g>>0]=n;if(!(n<<24>>24))break;if(lQ(i[g>>0]|0)|0)k[f>>2]=1;else{d=i[g>>0]|0;if((k[f>>2]|0)==1){n=(pQ(d)|0)&255;i[g>>0]=n}else{n=(oQ(d)|0)&255;i[g>>0]=n}k[f>>2]=0}a=i[g>>0]|0;n=k[l>>2]|0;k[l>>2]=n+1;i[n>>0]=a}i[k[l>>2]>>0]=0;xe(k[e>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=m;return}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;l=n+40|0;o=n+36|0;d=n+32|0;f=n+8|0;h=n;e=n+28|0;g=n+24|0;m=n+20|0;j=n+16|0;k[l>>2]=a;k[o>>2]=b;k[d>>2]=c;k[e>>2]=0;if((k[o>>2]|0)!=2)$a(17401,17350,771,18123);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[l>>2]|0);r=n;return}a=ke(k[k[d>>2]>>2]|0)|0;k[g>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;o=f;k[o>>2]=a;k[o+4>>2]=L;if((k[f+4>>2]|0)<0){te(k[l>>2]|0,18028,-1);r=n;return}b=Ed(k[g>>2]|0,-1)|0;a=h;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=h;b=k[a+4>>2]|0;o=f;c=k[o+4>>2]|0;d=k[g>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[o>>2]|0)>>>0:0)){d=Dd(d)|0;k[m>>2]=d;d=k[l>>2]|0;if(k[m>>2]|0){xe(d,k[m>>2]|0,-1,-1);break}De(d);r=n;return}else{o=$Q(d)|0;a=f;a=GR(o|0,0,k[a>>2]|0,k[a+4>>2]|0)|0;o=h;o=FR(a|0,L|0,k[o>>2]|0,k[o+4>>2]|0)|0;o=GR(o|0,L|0,1,0)|0;o=Sd(o)|0;k[m>>2]=o;if(!(k[m>>2]|0)){De(k[l>>2]|0);r=n;return}k[j>>2]=k[m>>2];k[e>>2]=1;while(1){b=k[e>>2]|0;a=h;a=GR(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;o=f;c=k[o+4>>2]|0;d=k[j>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[o>>2]|0)>>>0:0)))break;k[j>>2]=d+1;i[d>>0]=32;k[e>>2]=(k[e>>2]|0)+1}ZQ(d,k[g>>2]|0)|0}while(0);xe(k[l>>2]|0,k[m>>2]|0,-1,-1);Ud(k[m>>2]|0);r=n;return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17401,17350,825,18160);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[m>>2]|0);r=o;return}a=ke(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){te(k[m>>2]|0,18028,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){xe(d,k[n>>2]|0,-1,-1);break}De(d);r=o;return}else{a=$Q(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=GR(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=FR(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=GR(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){De(k[m>>2]|0);r=o;return}p=ZQ(k[n>>2]|0,k[e>>2]|0)|0;k[l>>2]=p+(k[f>>2]|0);k[g>>2]=1;while(1){a=k[g>>2]|0;f=j;f=GR(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);xe(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17401,17350,880,18169);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[m>>2]|0);r=o;return}a=ke(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){te(k[m>>2]|0,18028,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){xe(d,k[n>>2]|0,-1,-1);break}De(d);r=o;return}else{a=$Q(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=GR(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=FR(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=GR(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){De(k[m>>2]|0);r=o;return}k[l>>2]=k[n>>2];k[g>>2]=1;while(1){b=k[g>>2]<<1;a=j;a=GR(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;p=h;c=k[p+4>>2]|0;d=k[l>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}ZQ(d,k[e>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);while(1){a=k[g>>2]|0;f=j;f=GR(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);xe(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;s=q+40|0;e=q+36|0;m=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;k[d>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;if((k[s>>2]|0)!=2)$a(17401,17350,939,18178);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){s=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=s;s=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=s;s=Sd(($Q(k[m>>2]|0)|0)+1|0)|0;k[o>>2]=s;if(!(k[o>>2]|0)){De(k[d>>2]|0);r=q;return}k[p>>2]=k[o>>2];k[h>>2]=k[m>>2];a:while(1){s=xd(k[h>>2]|0)|0;k[f>>2]=s;if(!s)break;k[j>>2]=k[n>>2];b:while(1){s=xd(k[j>>2]|0)|0;k[g>>2]=s;if(!s)break;if((k[g>>2]|0)==(k[f>>2]|0))break;while(1){s=(k[j>>2]|0)+1|0;k[j>>2]=s;if((192&i[s>>0]|0)!=128)continue b}}if(k[g>>2]|0){k[l>>2]=k[j>>2];do{s=(k[l>>2]|0)+1|0;k[l>>2]=s}while((192&i[s>>0]|0)==128);bR(k[p>>2]|0,k[j>>2]|0,(k[l>>2]|0)-(k[j>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+((k[l>>2]|0)-(k[j>>2]|0))}while(1){s=(k[h>>2]|0)+1|0;k[h>>2]=s;if((192&i[s>>0]|0)!=128)continue a}}i[k[p>>2]>>0]=0;xe(k[d>>2]|0,k[o>>2]|0,-1,-1);Ud(k[o>>2]|0);r=q;return}we(k[d>>2]|0);r=q;return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+32|0;d=i+28|0;j=i+24|0;e=i+20|0;g=i+16|0;f=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;if((k[j>>2]|0)!=1)$a(17342,17350,1395,18192);j=He(k[d>>2]|0,24)|0;k[g>>2]=j;if(5==(bf(k[k[e>>2]>>2]|0)|0)){r=i;return}a=(k[g>>2]|0)+16|0;j=a;j=GR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[a>>2]=j;k[a+4>>2]=L;l=+me(k[k[e>>2]>>2]|0);p[h>>3]=l;p[f>>3]=+p[h>>3]-+p[k[g>>2]>>3];a=(k[g>>2]|0)+16|0;j=k[g>>2]|0;p[j>>3]=+p[j>>3]+ +p[f>>3]/(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0));j=(k[g>>2]|0)+8|0;p[j>>3]=+p[j>>3]+ +p[f>>3]*(+p[h>>3]-+p[k[g>>2]>>3]);r=i;return}function ed(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=FR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;se(a,+X(+(f/(+(e>>>0)+4294967296.0*+(L|0)))));r=d;return}se(k[b>>2]|0,0.0);r=d;return}function fd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=FR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;se(a,f/(+(e>>>0)+4294967296.0*+(L|0)));r=d;return}se(k[b>>2]|0,0.0);r=d;return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0.0;o=r;r=r+80|0;d=o+64|0;q=o+60|0;e=o+56|0;l=o+52|0;n=o+8|0;m=o;j=o+48|0;i=o+44|0;h=o+40|0;f=o+28|0;g=o+16|0;k[d>>2]=a;k[q>>2]=b;k[e>>2]=c;a=n;k[a>>2]=0;k[a+4>>2]=0;p[m>>3]=0.0;if((k[q>>2]|0)!=1)$a(17342,17350,1418,18205);q=bf(k[k[e>>2]>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)==5){r=o;return}q=He(k[d>>2]|0,64)|0;k[l>>2]=q;do if(!(k[(k[l>>2]|0)+56>>2]|0)){d=AR(1,12)|0;k[(k[l>>2]|0)+56>>2]=d;d=k[l>>2]|0;if((k[h>>2]|0)==1){q=k[d+56>>2]|0;ld(f,176);k[q>>2]=k[f>>2];k[q+4>>2]=k[f+4>>2];k[q+8>>2]=k[f+8>>2];q=(k[l>>2]|0)+48|0;k[q>>2]=0;k[q+4>>2]=0;break}else{q=d+48|0;k[q>>2]=1;k[q+4>>2]=0;q=k[(k[l>>2]|0)+56>>2]|0;ld(g,177);k[q>>2]=k[g>>2];k[q+4>>2]=k[g+4>>2];k[q+8>>2]=k[g+8>>2];break}}while(0);q=(k[l>>2]|0)+16|0;d=q;d=GR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[q>>2]=d;k[q+4>>2]=L;q=(k[l>>2]|0)+48|0;d=k[k[e>>2]>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){q=oe(d)|0;m=n;k[m>>2]=q;k[m+4>>2]=L;m=AR(1,8)|0;k[j>>2]=m;m=n;n=k[m+4>>2]|0;q=k[j>>2]|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;pd(k[(k[l>>2]|0)+56>>2]|0,k[j>>2]|0);r=o;return}else{s=+me(d);p[m>>3]=s;q=AR(1,8)|0;k[i>>2]=q;p[k[i>>2]>>3]=+p[m>>3];pd(k[(k[l>>2]|0)+56>>2]|0,k[i>>2]|0);r=o;return}}function hd(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(!(k[(k[c>>2]|0)+56>>2]|0)){r=d;return}rd(k[(k[c>>2]|0)+56>>2]|0,131,k[c>>2]|0);td(k[(k[c>>2]|0)+56>>2]|0);zR(k[(k[c>>2]|0)+56>>2]|0);a=(k[c>>2]|0)+40|0;if(!(1==(k[a>>2]|0)?0==(k[a+4>>2]|0):0)){r=d;return}e=(k[c>>2]|0)+48|0;a=k[b>>2]|0;b=k[c>>2]|0;if(0==(k[e>>2]|0)?0==(k[e+4>>2]|0):0){e=b;ve(a,k[e>>2]|0,k[e+4>>2]|0);r=d;return}else{se(a,+p[b+8>>3]);r=d;return}}function id(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/2.0;Gd(k[b>>2]|0);r=d;return}function jd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/4.0;Gd(k[b>>2]|0);r=d;return}function kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;a=RR(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;p[(k[c>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(L|0))/4.0;Gd(k[b>>2]|0);r=d;return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+12|0;d=c;k[e>>2]=b;k[d+4>>2]=k[e>>2];k[d>>2]=0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];r=c;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;d=e;k[g>>2]=a;k[f>>2]=b;k[e+4>>2]=c;b=AR(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function nd(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;zR(k[c>>2]|0);r=b;return}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[k[d>>2]>>2]|0)){h=md(1,24,17333)|0;k[e>>2]=h;k[(k[e>>2]|0)+8>>2]=k[g>>2];h=(k[e>>2]|0)+16|0;k[h>>2]=1;k[h+4>>2]=0;k[k[d>>2]>>2]=k[e>>2];r=i;return}e=gc[k[f>>2]&255](k[(k[k[d>>2]>>2]|0)+8>>2]|0,k[g>>2]|0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){h=(k[k[d>>2]>>2]|0)+16|0;f=h;f=GR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[h>>2]=f;k[h+4>>2]=L;nd(k[g>>2]|0);r=i;return}d=k[k[d>>2]>>2]|0;if((k[h>>2]|0)>0){od(d,k[f>>2]|0,k[g>>2]|0);r=i;return}else{od(d+4|0,k[f>>2]|0,k[g>>2]|0);r=i;return}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;od(k[e>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[d>>2]|0);r=c;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}if(k[k[d>>2]>>2]|0)qd(k[k[d>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0);c=(k[d>>2]|0)+16|0;ic[k[e>>2]&255](k[(k[d>>2]|0)+8>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[f>>2]|0);if(!(k[(k[d>>2]|0)+4>>2]|0)){r=g;return}qd(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;qd(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function sd(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}nd(k[(k[b>>2]|0)+8>>2]|0);if(k[k[b>>2]>>2]|0)sd(k[k[b>>2]>>2]|0);if(k[(k[b>>2]|0)+4>>2]|0)sd(k[(k[b>>2]|0)+4>>2]|0);nd(k[b>>2]|0);r=c;return}function td(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sd(k[k[c>>2]>>2]|0);r=b;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;h=k[h>>2]|0;a=k[h+4>>2]|0;b=d;k[b>>2]=k[h>>2];k[b+4>>2]=a;g=k[g>>2]|0;b=k[g+4>>2]|0;a=e;k[a>>2]=k[g>>2];k[a+4>>2]=b;a=d;b=e;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[c>>2]=0;h=k[c>>2]|0;r=f;return h|0}g=d;b=k[g+4>>2]|0;h=e;e=k[h+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(k[g>>2]|0)>>>0<(k[h>>2]|0)>>>0:0)){k[c>>2]=-1;h=k[c>>2]|0;r=f;return h|0}else{k[c>>2]=1;h=k[c>>2]|0;r=f;return h|0}return 0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;p[d>>3]=+p[k[h>>2]>>3];p[e>>3]=+p[k[g>>2]>>3];do if(!(+p[d>>3]==+p[e>>3]))if(+p[d>>3]<+p[e>>3]){k[c>>2]=-1;break}else{k[c>>2]=1;break}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[c>>2]=a;k[f>>2]=b;k[e>>2]=0;while(1){if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;if(!((kQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)!=0^1))break;k[e>>2]=(k[e>>2]|0)+1}if(!(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)){ZQ(k[f>>2]|0,17591)|0;r=h;return}b=(pQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)&255;i[k[f>>2]>>0]=b;k[g>>2]=1;while(1){if((k[g>>2]|0)>=4)break;if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;k[d>>2]=l[17463+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]&127)>>0];if((k[d>>2]|0)>0){a=(k[d>>2]|0)+48&255;b=k[g>>2]|0;k[g>>2]=b+1;i[(k[f>>2]|0)+b>>0]=a}k[e>>2]=(k[e>>2]|0)+1}while(1){c=k[g>>2]|0;if((k[g>>2]|0)>=4)break;k[g>>2]=c+1;i[(k[f>>2]|0)+c>>0]=48}i[(k[f>>2]|0)+c>>0]=0;r=h;return}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=k[b>>2]|0;k[b>>2]=a+1;k[c>>2]=l[a>>0];k[d>>2]=l[17596+(k[c>>2]|0)>>0];switch(k[d>>2]|0){case 4:{k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}case 3:{a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);e=4;break}case 2:{e=4;break}case 1:break;default:{e=k[c>>2]|0;r=f;return e|0}}if((e|0)==4){a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0)}a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);k[c>>2]=(k[c>>2]|0)-(k[928+(k[d>>2]<<2)>>2]|0);if(((k[944+(k[d>>2]<<2)>>2]&k[c>>2]|0)!=0?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){e=k[c>>2]|0;r=f;return e|0}k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}function yd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*180.0/3.141592653589793)}function zd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*3.141592653589793/180.0)}function Ad(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+$(+(+p[c>>3]));r=b;return +a}function Bd(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+FQ(+p[c>>3]);r=b;return +a}function Cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;g=t+32|0;h=t+28|0;j=t+24|0;l=t+20|0;o=t+16|0;p=t+12|0;q=t+8|0;m=t+4|0;n=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[o>>2]=-1;if(!(i[k[f>>2]>>0]|0)){k[e>>2]=-1;s=k[e>>2]|0;r=t;return s|0}a:while(1){if(!(xd(k[g>>2]|0)|0))break;b=k[l>>2]|0;k[l>>2]=b+1;if((b|0)>=(k[h>>2]|0))break;while(1){b=(k[g>>2]|0)+1|0;k[g>>2]=b;if((192&i[b>>0]|0)!=128)continue a}}k[l>>2]=0;while(1){if(!(xd(k[g>>2]|0)|0))break;k[p>>2]=k[f>>2];k[q>>2]=k[g>>2];do{b=xd(k[p>>2]|0)|0;k[m>>2]=b;b=xd(k[q>>2]|0)|0;k[n>>2]=b;do{b=(k[p>>2]|0)+1|0;k[p>>2]=b}while((192&i[b>>0]|0)==128);do{b=(k[q>>2]|0)+1|0;k[q>>2]=b}while((192&i[b>>0]|0)==128)}while(((k[m>>2]|0)!=0?(k[m>>2]|0)==(k[n>>2]|0):0)&(k[n>>2]|0)!=0);if(!(k[m>>2]|0)){s=14;break}do{b=(k[g>>2]|0)+1|0;k[g>>2]=b}while((192&i[b>>0]|0)==128);k[l>>2]=(k[l>>2]|0)+1}if((s|0)==14)k[o>>2]=k[l>>2];if(k[j>>2]|0)k[k[j>>2]>>2]=k[g>>2];s=k[o>>2]|0;k[e>>2]=(k[o>>2]|0)>=0?s+(k[h>>2]|0)|0:s;s=k[e>>2]|0;r=t;return s|0}function Dd(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Sd(($Q(k[c>>2]|0)|0)+1|0)|0;k[d>>2]=a;a=ZQ(k[d>>2]|0,k[c>>2]|0)|0;r=b;return a|0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if((k[d>>2]|0)>=0)k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);else k[e>>2]=-1;if((k[c>>2]|0)>>>0>(k[e>>2]|0)>>>0)$a(18132,17350,316,18141);while(1){if(!(i[k[c>>2]>>0]|0)){c=10;break}if((k[c>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}k[c>>2]=(k[c>>2]|0)+((l[17596+(l[k[c>>2]>>0]|0)>>0]|0)+1);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;j=i+32|0;g=i+16|0;l=i+28|0;f=i+8|0;e=i;h=i+24|0;k[j>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[h>>2]=k[l>>2];d=(k[h>>2]|0)+48|0;b=k[j>>2]|0;if(0==(k[d>>2]|0)?0==(k[d+4>>2]|0):0){l=k[b>>2]|0;j=f;k[j>>2]=l;k[j+4>>2]=((l|0)<0)<<31>>31;j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=GR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;e=k[l+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}l=k[f+4>>2]|0;j=k[h>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=l;j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}else{p[e>>3]=+p[b>>3];j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=GR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;f=k[l+4>>2]|0;if(!((d|0)<(f|0)|((d|0)==(f|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}p[(k[h>>2]|0)+8>>3]=+p[e>>3];j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}}function Gd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;k[b>>2]=a;c=He(k[b>>2]|0,0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){r=e;return}if(!(k[(k[d>>2]|0)+56>>2]|0)){r=e;return}k[(k[d>>2]|0)+60>>2]=0;rd(k[(k[d>>2]|0)+56>>2]|0,132,k[d>>2]|0);td(k[(k[d>>2]|0)+56>>2]|0);zR(k[(k[d>>2]|0)+56>>2]|0);c=(k[d>>2]|0)+48|0;if(!(0==(k[c>>2]|0)?0==(k[c+4>>2]|0):0)){c=(k[d>>2]|0)+40|0;se(k[b>>2]|0,+p[(k[d>>2]|0)+8>>3]/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0)));r=e;return}f=(k[d>>2]|0)+40|0;b=k[b>>2]|0;c=k[d>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0;if(1==(k[f>>2]|0)?0==(k[f+4>>2]|0):0){ve(b,a,c);r=e;return}else{f=(k[d>>2]|0)+40|0;se(b,(+(a>>>0)+4294967296.0*+(c|0))*1.0/(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0)));r=e;return}}function Hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;g=o+56|0;j=o+32|0;q=o+52|0;m=o+24|0;l=o+16|0;e=o+8|0;h=o;f=o+48|0;i=o+44|0;n=o+40|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[q>>2]=d;k[n>>2]=k[q>>2];if((k[(k[n>>2]|0)+60>>2]|0)>0){r=o;return}p[e>>3]=+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+16|0;p[h>>3]=+((k[q>>2]|0)>>>0)+4294967296.0*+(k[q+4>>2]|0)-+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+32|0;d=j;d=GR(k[q>>2]|0,k[q+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[f>>2]=d;d=(k[n>>2]|0)+16|0;q=(k[n>>2]|0)+32|0;q=FR(k[d>>2]|0,k[d+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[i>>2]=q;do if(+(k[f>>2]|0)>=+p[e>>3]){b=k[n>>2]|0;if(!(+(k[i>>2]|0)>=+p[h>>3])){k[b+60>>2]=1;break}q=b+40|0;b=q;b=GR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[q>>2]=b;k[q+4>>2]=L;q=(k[n>>2]|0)+48|0;b=k[g>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){l=k[b>>2]|0;q=m;k[q>>2]=l;k[q+4>>2]=((l|0)<0)<<31>>31;q=k[n>>2]|0;l=q;m=GR(k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=m;k[q+4>>2]=L;break}else{p[l>>3]=+p[b>>3];q=(k[n>>2]|0)+8|0;p[q>>3]=+p[q>>3]+ +p[l>>3];break}}while(0);m=j;q=(k[n>>2]|0)+32|0;n=q;n=GR(k[n>>2]|0,k[n+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=n;k[q+4>>2]=L;r=o;return}function Id(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(!(Jd(k[b>>2]|0,18221,7)|0))k[b>>2]=(k[b>>2]|0)+7;a=Tf(k[b>>2]|0)|0;k[d>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=7){b=9;break}if((Jd(k[b>>2]|0,k[968+(k[c>>2]<<2)>>2]|0,k[d>>2]|0)|0)==0?(Uf(i[(k[968+(k[c>>2]<<2)>>2]|0)+(k[d>>2]|0)>>0]|0)|0)==0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[e>>2]|0;if(!(k[d>>2]|0)){k[i>>2]=(c|0)!=0?-1:0;i=k[i>>2]|0;r=j;return i|0}if(!c){k[i>>2]=1;i=k[i>>2]|0;r=j;return i|0}k[g>>2]=k[d>>2];k[h>>2]=k[e>>2];while(1){e=k[f>>2]|0;k[f>>2]=e+-1;if((e|0)<=0)break;if(!(l[k[g>>2]>>0]|0))break;if((l[18229+(l[k[g>>2]>>0]|0)>>0]|0|0)!=(l[18229+(l[k[h>>2]>>0]|0)>>0]|0|0))break;k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)<0)c=0;else c=(l[18229+(l[k[g>>2]>>0]|0)>>0]|0)-(l[18229+(l[k[h>>2]>>0]|0)>>0]|0)|0;k[i>>2]=c;i=k[i>>2]|0;r=j;return i|0}function Kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)>=0&(k[c>>2]|0)<7){k[b>>2]=k[968+(k[c>>2]<<2)>>2];a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[f>>2]|0)<0|(k[f>>2]|0)>=10){j=Vf(18094)|0;k[e>>2]=j;j=k[e>>2]|0;r=l;return j|0}if(i[18485+(k[f>>2]|0)>>0]|0)a=Wf()|0;else a=Xf()|0;k[l>>2]=a;g=k[g>>2]|0;k[g>>2]=k[996+(k[f>>2]<<2)>>2];k[g+4>>2]=0;h=k[h>>2]|0;k[h>>2]=k[1036+(k[f>>2]<<2)>>2];k[h+4>>2]=0;if(k[j>>2]|0)k[1036+(k[f>>2]<<2)>>2]=k[996+(k[f>>2]<<2)>>2];k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=0;a=Nd()|0;k[f>>2]=a;if(k[f>>2]|0){k[b>>2]=0;f=k[b>>2]|0;r=e;return f|0}k[d>>2]=k[269];while(1){if((k[d>>2]|0)==0|(k[c>>2]|0)==0)break;if(!(YQ(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0))break;k[d>>2]=k[(k[d>>2]|0)+12>>2]}k[b>>2]=k[d>>2];f=k[b>>2]|0;r=e;return f|0}function Nd(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+4|0;b=d;if(k[59]|0){k[a>>2]=0;e=k[a>>2]|0;r=d;return e|0}k[b>>2]=0;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}k[61]=1;if(!(k[62]|0)){e=cg()|0;k[b>>2]=e}if(((k[b>>2]|0)==0?(k[62]=1,(k[65]|0)==0):0)?(k[65]=8,!((k[3]|0)==0|(k[65]|0)!=0)):0)k[b>>2]=7;if(!(k[b>>2]|0))k[64]=(k[64]|0)+1;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}if((k[59]|0)==0&(k[60]|0)==0){k[60]=1;c=1080;e=c+92|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(e|0));dg();if(!(k[63]|0)){e=eg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){k[63]=1;e=fg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){gg(k[53]|0,k[54]|0,k[55]|0);k[59]=1}k[60]=0}k[64]=(k[64]|0)+-1;if((k[64]|0)<=0)k[65]=0;k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;a=Nd()|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];f=k[d>>2]|0;r=g;return f|0}hg(k[e>>2]|0);b=k[269]|0;if((k[f>>2]|0)!=0|(k[269]|0)==0){k[(k[e>>2]|0)+12>>2]=b;k[269]=k[e>>2]}else{k[(k[e>>2]|0)+12>>2]=k[b+12>>2];k[(k[269]|0)+12>>2]=k[e>>2]}k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Pd(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+48|0;d=h+32|0;e=h+24|0;g=h+16|0;f=h+8|0;c=h;i=h+40|0;j=e;k[j>>2]=a;k[j+4>>2]=b;b=Nd()|0;k[i>>2]=b;if(k[i>>2]|0){i=d;k[i>>2]=-1;k[i+4>>2]=-1;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=288;i=k[b+4>>2]|0;j=g;k[j>>2]=k[b>>2];k[j+4>>2]=i;if((k[e+4>>2]|0)<0){j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=e;j=k[b+4>>2]|0;i=288;k[i>>2]=k[b>>2];k[i+4>>2]=j;i=ig(0)|0;j=c;k[j>>2]=i;k[j+4>>2]=L;j=e;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0){j=e;b=k[j+4>>2]|0;a=c;i=k[a+4>>2]|0;a=(b|0)<(i|0)|((b|0)==(i|0)?(k[j>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)}else a=0;k[77]=a&1;j=Rd()|0;i=e;i=FR(j|0,L|0,k[i>>2]|0,k[i+4>>2]|0)|0;j=f;k[j>>2]=i;k[j+4>>2]=L;j=f;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0)Pd(k[f>>2]&2147483647)|0;j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}function Rd(){var a=0,b=0;b=r;r=r+16|0;a=b+8|0;Ld(0,a,b,0)|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Sd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d+4|0;b=d;k[b>>2]=a;if(Nd()|0){k[c>>2]=0;c=k[c>>2]|0;r=d;return c|0}if((k[b>>2]|0)<=0)b=0;else{b=k[b>>2]|0;b=jg(b,((b|0)<0)<<31>>31)|0}k[c>>2]=b;c=k[c>>2]|0;r=d;return c|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e;f=d;k[f>>2]=a;k[f+4>>2]=b;if(Nd()|0){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{f=d;f=jg(k[f>>2]|0,k[f+4>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}return 0}function Ud(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}if(k[2]|0){lg(0,kg(k[b>>2]|0)|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=c;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=c;return}}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)<0)k[e>>2]=0;a=k[e>>2]|0;a=mg(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(Nd()|0){k[d>>2]=0;a=k[d>>2]|0;r=g;return a|0}else{a=f;a=mg(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[d>>2]=a;a=k[d>>2]|0;r=g;return a|0}return 0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+128|0;c=h+40|0;d=h+36|0;e=h+32|0;g=h+28|0;f=h;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}else{ng(f,0,h+44|0,70,1e9);og(f,k[d>>2]|0,k[e>>2]|0);a=pg(f)|0;k[g>>2]=a;k[c>>2]=k[g>>2];a=k[c>>2]|0;r=h;return a|0}return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+28|0;d=g+24|0;e=g+8|0;f=g;k[d>>2]=a;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}else{k[e>>2]=b;a=Xd(k[d>>2]|0,e)|0;k[f>>2]=a;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}return 0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+48|0;e=j+44|0;f=j+40|0;l=j+36|0;g=j+32|0;h=j+28|0;i=j;k[f>>2]=a;k[l>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[l>>2]|0;if((k[f>>2]|0)<=0){k[e>>2]=d;l=k[e>>2]|0;r=j;return l|0}else{ng(i,0,d,k[f>>2]|0,0);og(i,k[g>>2]|0,k[h>>2]|0);l=pg(i)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}return 0}function _d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;j=f+28|0;i=f+24|0;h=f+20|0;e=f+16|0;g=f;k[j>>2]=a;k[i>>2]=b;k[h>>2]=c;k[g>>2]=d;c=Zd(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,g)|0;k[e>>2]=c;r=f;return k[e>>2]|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[66]|0)){r=g;return}k[f>>2]=c;qg(k[d>>2]|0,k[e>>2]|0,f);r=g;return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+288|0;c=j+12|0;d=j+8|0;g=j+272|0;h=j+4|0;e=j;f=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[d>>2];if(Nd()|0){r=j;return}if((k[c>>2]|0)<=0|(k[d>>2]|0)==0){i[18495]=0;r=j;return}if(!(i[18495]|0)){i[18497]=0;i[18496]=0;rg(Md(0)|0,256,f)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[18498+(k[e>>2]|0)>>0]=k[e>>2];k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[18497]=(l[18497]|0)+((l[18498+(k[e>>2]|0)>>0]|0)+(i[f+(k[e>>2]|0)>>0]|0));i[g>>0]=i[18498+(l[18497]|0)>>0]|0;i[18498+(l[18497]|0)>>0]=i[18498+(k[e>>2]|0)>>0]|0;i[18498+(k[e>>2]|0)>>0]=i[g>>0]|0;k[e>>2]=(k[e>>2]|0)+1}i[18495]=1}do{i[18496]=(i[18496]|0)+1<<24>>24;i[g>>0]=i[18498+(l[18496]|0)>>0]|0;i[18497]=(l[18497]|0)+(l[g>>0]|0);i[18498+(l[18496]|0)>>0]=i[18498+(l[18497]|0)>>0]|0;i[18498+(l[18497]|0)>>0]=i[g>>0]|0;i[g>>0]=(l[g>>0]|0)+(l[18498+(l[18496]|0)>>0]|0);f=i[18498+(l[g>>0]|0)>>0]|0;b=k[h>>2]|0;k[h>>2]=b+1;i[b>>0]=f;b=(k[c>>2]|0)+-1|0;k[c>>2]=b}while((b|0)!=0);r=j;return}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;do if(k[d>>2]|0)if(!a){k[c>>2]=1;break}else{e=sg(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=e;break}else k[c>>2]=(a|0)!=0?-1:0;while(0);r=f;return k[c>>2]|0}function ce(){var a=0,b=0;b=r;r=r+16|0;a=b;k[a>>2]=0;while(1){if((k[a>>2]|0)>>>0>=4)break;Od(1172+((k[a>>2]|0)*88|0)|0,(k[a>>2]|0)==0&1)|0;k[a>>2]=(k[a>>2]|0)+1}r=b;return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+112|0;q=E+108|0;c=E+104|0;C=E+100|0;d=E+96|0;B=E+92|0;o=E+88|0;z=E+84|0;x=E+80|0;g=E+76|0;j=E+72|0;s=E+68|0;f=E+64|0;n=E+60|0;h=E+56|0;p=E+52|0;v=E+16|0;y=E+48|0;e=E+44|0;i=E+40|0;u=E+8|0;t=E;m=E+36|0;A=E+32|0;w=E+28|0;D=E+24|0;k[q>>2]=a;k[c>>2]=b;k[B>>2]=0;k[o>>2]=0;wg(k[(k[q>>2]|0)+24>>2]|0);k[C>>2]=k[(k[q>>2]|0)+28>>2];if(xg(k[C>>2]|0)|0){D=k[C>>2]|0;r=E;return D|0}a=Zf(k[(k[q>>2]|0)+24>>2]|0)|0;k[z>>2]=a;a=Zf(k[(k[q>>2]|0)+4>>2]|0)|0;k[x>>2]=a;k[j>>2]=-1;k[s>>2]=0;if((k[k[q>>2]>>2]|0)!=0?(l[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)k[C>>2]=5;else k[C>>2]=0;if((0==(k[C>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==0:0)?(a=yg(k[(k[q>>2]|0)+4>>2]|0,2)|0,k[C>>2]=a,0==(a|0)):0){k[(k[q>>2]|0)+12>>2]=1;zg(k[(k[q>>2]|0)+4>>2]|0,1,(k[q>>2]|0)+8|0)}if((k[C>>2]|0)==0?0==(Ag(k[(k[q>>2]|0)+24>>2]|0)|0):0){a=yg(k[(k[q>>2]|0)+24>>2]|0,0)|0;k[C>>2]=a;k[s>>2]=1}a=Bg(k[(k[q>>2]|0)+24>>2]|0)|0;k[B>>2]=a;a=Bg(k[(k[q>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=Cg(Zf(k[(k[q>>2]|0)+4>>2]|0)|0)|0;k[d>>2]=a;if(0==(k[C>>2]|0)&(k[d>>2]|0)==5?(k[B>>2]|0)!=(k[o>>2]|0):0)k[C>>2]=8;a=Dg(k[(k[q>>2]|0)+24>>2]|0)|0;k[j>>2]=a;k[g>>2]=0;while(1){if((k[c>>2]|0)>=0?(k[g>>2]|0)>=(k[c>>2]|0):0)break;if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0)break;if(!((k[C>>2]|0)!=0^1))break;k[f>>2]=k[(k[q>>2]|0)+16>>2];if((k[f>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(a=Eg(k[z>>2]|0,k[f>>2]|0,n,2)|0,k[C>>2]=a,(k[C>>2]|0)==0):0){b=k[q>>2]|0;a=k[f>>2]|0;a=Gg(b,a,Fg(k[n>>2]|0)|0,0)|0;k[C>>2]=a;Hg(k[n>>2]|0)}a=(k[q>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}do if(!(k[C>>2]|0)){k[(k[q>>2]|0)+36>>2]=k[j>>2];k[(k[q>>2]|0)+32>>2]=(k[j>>2]|0)+1-(k[(k[q>>2]|0)+16>>2]|0);if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0){k[C>>2]=101;break}if(!(k[(k[q>>2]|0)+40>>2]|0))Ig(k[q>>2]|0)}while(0);if((k[C>>2]|0)==101){if(!(k[j>>2]|0)){n=Jg(k[(k[q>>2]|0)+4>>2]|0)|0;k[C>>2]=n;k[j>>2]=1}if((k[C>>2]|0)==0|(k[C>>2]|0)==101){n=Kg(k[(k[q>>2]|0)+4>>2]|0,1,(k[(k[q>>2]|0)+8>>2]|0)+1|0)|0;k[C>>2]=n}if(!(k[C>>2]|0)){if(k[k[q>>2]>>2]|0)Lg(k[k[q>>2]>>2]|0);if((k[d>>2]|0)==5){n=Mg(k[(k[q>>2]|0)+4>>2]|0,2)|0;k[C>>2]=n}}if(!(k[C>>2]|0)){if((k[B>>2]|0)<(k[o>>2]|0)){k[p>>2]=(k[o>>2]|0)/(k[B>>2]|0)|0;k[h>>2]=((k[j>>2]|0)+(k[p>>2]|0)-1|0)/(k[p>>2]|0)|0;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+-1}else{p=ha(k[j>>2]|0,(k[B>>2]|0)/(k[o>>2]|0)|0)|0;k[h>>2]=p}if((k[B>>2]|0)<(k[o>>2]|0)){p=k[B>>2]|0;n=k[j>>2]|0;n=RR(p|0,((p|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;p=v;k[p>>2]=n;k[p+4>>2]=L;p=Ng(k[x>>2]|0)|0;k[y>>2]=p;Og(k[x>>2]|0,i);k[e>>2]=k[h>>2];while(1){if(k[C>>2]|0)break;if((k[e>>2]|0)>>>0>(k[i>>2]|0)>>>0)break;do if((k[e>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){p=Eg(k[x>>2]|0,k[e>>2]|0,m,0)|0;k[C>>2]=p;if(k[C>>2]|0)break;p=Pg(k[m>>2]|0)|0;k[C>>2]=p;Hg(k[m>>2]|0)}while(0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[C>>2]|0)){p=Qg(k[x>>2]|0,0,1)|0;k[C>>2]=p}n=(k[381]|0)+(k[o>>2]|0)|0;a=((n|0)<0)<<31>>31;p=v;m=k[p+4>>2]|0;if((a|0)<(m|0)|((a|0)==(m|0)?n>>>0<(k[p>>2]|0)>>>0:0)){d=(k[381]|0)+(k[o>>2]|0)|0;c=d;d=((d|0)<0)<<31>>31}else{d=v;c=k[d>>2]|0;d=k[d+4>>2]|0}o=t;k[o>>2]=c;k[o+4>>2]=d;o=(k[381]|0)+(k[B>>2]|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=((o|0)<0)<<31>>31;while(1){if(k[C>>2]|0)break;o=u;m=k[o+4>>2]|0;p=t;n=k[p+4>>2]|0;if(!((m|0)<(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0)))break;k[A>>2]=0;o=u;p=k[B>>2]|0;p=PR(k[o>>2]|0,k[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=GR(p|0,L|0,1,0)|0;k[w>>2]=p;p=Eg(k[z>>2]|0,k[w>>2]|0,A,0)|0;k[C>>2]=p;if(!(k[C>>2]|0)){p=Fg(k[A>>2]|0)|0;k[D>>2]=p;p=u;p=Rg(k[y>>2]|0,k[D>>2]|0,k[B>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[C>>2]=p}Hg(k[A>>2]|0);o=k[B>>2]|0;p=u;o=GR(k[p>>2]|0,k[p+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=L}if(!(k[C>>2]|0)){D=v;D=Sg(k[y>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Tg(k[x>>2]|0,0)|0;k[C>>2]=D}}else{Ug(k[x>>2]|0,k[h>>2]|0);D=Qg(k[x>>2]|0,0,0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Vg(k[(k[q>>2]|0)+4>>2]|0,0)|0;k[C>>2]=D;k[C>>2]=0==(D|0)?101:D}}}if(k[s>>2]|0){Wg(k[(k[q>>2]|0)+24>>2]|0,0)|0;Vg(k[(k[q>>2]|0)+24>>2]|0,0)|0}if((k[C>>2]|0)==3082)k[C>>2]=7;k[(k[q>>2]|0)+28>>2]=k[C>>2];D=k[C>>2]|0;r=E;return D|0}function ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;b=g+8|0;e=g+4|0;f=g;k[d>>2]=a;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}k[e>>2]=k[(k[d>>2]|0)+20>>2];wg(k[(k[d>>2]|0)+24>>2]|0);if(k[k[d>>2]>>2]|0){a=(k[(k[d>>2]|0)+24>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1}if(k[(k[d>>2]|0)+40>>2]|0){a=Xg(Zf(k[(k[d>>2]|0)+24>>2]|0)|0)|0;k[b>>2]=a;while(1){if((k[k[b>>2]>>2]|0)==(k[d>>2]|0))break;k[b>>2]=(k[k[b>>2]>>2]|0)+44}k[k[b>>2]>>2]=k[(k[d>>2]|0)+44>>2]}Yg(k[(k[d>>2]|0)+4>>2]|0,0,0)|0;if((k[(k[d>>2]|0)+28>>2]|0)==101)a=0;else a=k[(k[d>>2]|0)+28>>2]|0;k[f>>2]=a;if(k[k[d>>2]>>2]|0){vg(k[k[d>>2]>>2]|0,k[f>>2]|0);Zg(k[k[d>>2]>>2]|0)}if(k[k[d>>2]>>2]|0)Ud(k[d>>2]|0);Zg(k[e>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}function fe(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+168>>2]|0;r=c;return d|0}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;if(!(k[c>>2]|0))k[e>>2]=0;else{k[f>>2]=k[c>>2];k[d>>2]=k[k[f>>2]>>2];if(_g(k[f>>2]|0)|0){f=Vf(74636)|0;k[b>>2]=f;f=k[b>>2]|0;r=g;return f|0}a=(k[f>>2]|0)+128|0;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0)$g(k[d>>2]|0,k[f>>2]|0);f=ah(k[f>>2]|0)|0;k[e>>2]=f;f=bh(k[d>>2]|0,k[e>>2]|0)|0;k[e>>2]=f;Zg(k[d>>2]|0)}k[b>>2]=k[e>>2];f=k[b>>2]|0;r=g;return f|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=0;e=k[d>>2]|0;r=f;return e|0}k[e>>2]=k[b>>2];k[c>>2]=k[k[e>>2]>>2];a=(k[e>>2]|0)+128|0;b=k[a+4>>2]|0;if((b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0)$g(k[c>>2]|0,k[e>>2]|0);a=ch(k[e>>2]|0)|0;k[d>>2]=a;dh(k[e>>2]|0);e=bh(k[c>>2]|0,k[d>>2]|0)|0;k[d>>2]=e;e=k[d>>2]|0;r=f;return e|0}function ie(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;d=e+4|0;c=e;k[f>>2]=a;k[d>>2]=0;k[c>>2]=k[f>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(j[(k[c>>2]|0)+68>>1]|0))break;eh((k[(k[c>>2]|0)+60>>2]|0)+((k[b>>2]|0)*40|0)|0);j[(k[(k[c>>2]|0)+60>>2]|0)+((k[b>>2]|0)*40|0)+8>>1]=1;k[b>>2]=(k[b>>2]|0)+1}if(!((l[(k[c>>2]|0)+89>>0]|0)>>>7&255)){f=k[d>>2]|0;r=e;return f|0}if(!(k[(k[c>>2]|0)+188>>2]|0)){f=k[d>>2]|0;r=e;return f|0}f=(k[c>>2]|0)+87|0;i[f>>0]=i[f>>0]&-2|1;f=k[d>>2]|0;r=e;return f|0}function je(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){a=ke(k[b>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}if(fh(k[c>>2]|0)|0){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|16;if(k[(k[c>>2]|0)+12>>2]|0)b=k[(k[c>>2]|0)+16>>2]|0;else b=0;k[d>>2]=b;d=k[d>>2]|0;r=e;return d|0}function ke(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=gh(k[c>>2]|0,1)|0;r=b;return a|0}function le(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=hh(k[c>>2]|0,1)|0;r=b;return a|0}function me(a){a=a|0;var b=0.0,c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;b=+ih(k[d>>2]|0);r=c;return +b}function ne(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jh(k[c>>2]|0)|0;r=b;return a|0}function oe(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jh(k[c>>2]|0)|0;r=b;return a|0}function pe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[18754+((m[(k[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;mh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0,k[f>>2]|0);r=e;return}function re(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;b=h;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){nh(k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;r=j;return}else{mh(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,k[i>>2]|0);r=j;return}}function se(a,b){a=a|0;b=+b;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;p[d>>3]=b;oh(k[k[e>>2]>>2]|0,+p[d>>3]);r=c;return}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[g>>2]|0)+20>>2]=1;i[(k[g>>2]|0)+25>>0]=1;ph(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0,1,-1)|0;r=d;return}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;qh(k[k[d>>2]>>2]|0,a,((a|0)<0)<<31>>31);r=c;return}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;qh(k[k[e>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=d;return}function we(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rh(k[k[c>>2]>>2]|0);r=b;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;mh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1,k[f>>2]|0);r=e;return}function ye(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+16|0;h=o+12|0;j=o;m=o+8|0;n=o+20|0;k[g>>2]=a;k[h>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[m>>2]=e;i[n>>0]=f;if((l[n>>0]|0)==4)i[n>>0]=(i[960]|0)==0?3:2;b=j;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){nh(k[h>>2]|0,k[m>>2]|0,k[g>>2]|0)|0;r=o;return}else{mh(k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0);r=o;return}}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;sh(k[k[e>>2]>>2]|0,k[d>>2]|0)|0;r=c;return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g+12|0;f=g;i=g+8|0;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;k[i>>2]=k[k[e>>2]>>2];c=f;h=k[c+4>>2]|0;a=k[(k[(k[i>>2]|0)+32>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if(h>>>0>b>>>0|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){k[d>>2]=18;i=k[d>>2]|0;r=g;return i|0}else{th(k[k[e>>2]>>2]|0,k[f>>2]|0);k[d>>2]=0;i=k[d>>2]|0;r=g;return i|0}return 0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+20>>2]=k[d>>2];i[(k[c>>2]|0)+25>>0]=1;if(!((m[(k[k[c>>2]>>2]|0)+8>>1]|0)&1)){r=e;return}a=k[k[c>>2]>>2]|0;ph(a,uh(k[d>>2]|0)|0,-1,1,0)|0;r=e;return}function Ce(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=18;i[(k[c>>2]|0)+25>>0]=1;ph(k[k[c>>2]>>2]|0,18786,-1,1,0)|0;r=b;return}function De(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rh(k[k[c>>2]>>2]|0);k[(k[c>>2]|0)+20>>2]=7;i[(k[c>>2]|0)+25>>0]=1;vh(k[(k[k[c>>2]>>2]|0)+32>>2]|0);r=b;return}function Ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;b=m+32|0;c=m+28|0;f=m+24|0;g=m+20|0;j=m+16|0;d=m+12|0;e=m+8|0;h=m+4|0;l=m;k[c>>2]=a;k[f>>2]=0;k[g>>2]=0;k[j>>2]=k[c>>2];k[d>>2]=0;if(wh(k[j>>2]|0)|0){l=Vf(75187)|0;k[b>>2]=l;l=k[b>>2]|0;r=m;return l|0}k[e>>2]=k[k[j>>2]>>2];a=(k[j>>2]|0)+87|0;i[a>>0]=i[a>>0]&-3;while(1){a=xh(k[j>>2]|0)|0;k[f>>2]=a;if((a|0)!=17)break;a=k[d>>2]|0;k[d>>2]=a+1;if((a|0)>=50)break;k[h>>2]=k[(k[j>>2]|0)+76>>2];a=yh(k[j>>2]|0)|0;k[f>>2]=a;k[g>>2]=a;if(k[f>>2]|0)break;he(k[c>>2]|0)|0;if((k[h>>2]|0)<0)continue;a=(k[j>>2]|0)+87|0;i[a>>0]=i[a>>0]&-3|2}do if(k[g>>2]|0){h=ke(k[(k[e>>2]|0)+240>>2]|0)|0;k[l>>2]=h;bg(k[e>>2]|0,k[(k[j>>2]|0)+44>>2]|0);if(i[(k[e>>2]|0)+69>>0]|0){k[(k[j>>2]|0)+44>>2]=0;k[f>>2]=7;k[(k[j>>2]|0)+80>>2]=7;break}else{l=zh(k[e>>2]|0,k[l>>2]|0)|0;k[(k[j>>2]|0)+44>>2]=l;k[(k[j>>2]|0)+80>>2]=k[g>>2];break}}while(0);l=bh(k[e>>2]|0,k[f>>2]|0)|0;k[f>>2]=l;k[b>>2]=k[f>>2];l=k[b>>2]|0;r=m;return l|0}function Fe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+4>>2]|0}function Ge(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[k[b>>2]>>2]|0)+32>>2]|0}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;b=k[f>>2]|0;if(!((m[(k[(k[f>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){f=Ah(b,k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=k[(k[b+8>>2]|0)+16>>2];f=k[c>>2]|0;r=e;return f|0}return 0}function Ie(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=m[(k[b>>2]|0)+84>>1]|0;r=c;return d|0}function Je(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=k[e>>2];if((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[b>>2]=m[(k[c>>2]|0)+84>>1];e=k[b>>2]|0;r=d;return e|0}k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=je(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=le(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0;d=r;r=r+16|0;e=d+12|0;g=d+8|0;c=d;k[e>>2]=a;k[g>>2]=b;f=+me(Ch(k[e>>2]|0,k[g>>2]|0)|0);p[c>>3]=f;Dh(k[e>>2]|0);r=d;return +(+p[c>>3])}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ne(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+12|0;f=c+8|0;d=c;k[e>>2]=a;k[f>>2]=b;b=oe(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;a=d;k[a>>2]=b;k[a+4>>2]=L;Dh(k[e>>2]|0);a=d;L=k[a+4>>2]|0;r=c;return k[a>>2]|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ke(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Ch(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(!((m[(k[d>>2]|0)+8>>1]|0)&2048)){f=k[c>>2]|0;Dh(f);f=k[d>>2]|0;r=e;return f|0}f=(k[d>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-2049;f=(k[d>>2]|0)+8|0;j[f>>1]=m[f>>1]|0|4096;f=k[c>>2]|0;Dh(f);f=k[d>>2]|0;r=e;return f|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=pe(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Eh(k[e>>2]|0,k[d>>2]|0,169,0)|0;r=c;return a|0}function Te(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Fh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0)|0;r=f;return c|0}function Ue(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;d=h+16|0;e=h;g=h+12|0;f=h+8|0;k[i>>2]=a;k[d>>2]=b;p[e>>3]=c;k[f>>2]=k[i>>2];a=Gh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}oh((k[(k[f>>2]|0)+60>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,+p[e>>3]);i=k[g>>2]|0;r=h;return i|0}function Ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;a=We(k[f>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;r=d;return a|0}function We(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i+16|0;f=i;h=i+12|0;g=i+8|0;k[j>>2]=a;k[e>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=k[j>>2];a=Gh(k[g>>2]|0,k[e>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=f;qh((k[(k[g>>2]|0)+60>>2]|0)+(((k[e>>2]|0)-1|0)*40|0)|0,k[j>>2]|0,k[j+4>>2]|0);j=k[h>>2]|0;r=i;return j|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[g>>2];a=Gh(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function Ye(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Fh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1)|0;r=f;return c|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(pe(k[f>>2]|0)|0){case 1:{f=k[f>>2]|0;f=We(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 2:{f=Ue(k[d>>2]|0,k[e>>2]|0,+p[k[f>>2]>>3])|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 4:{a=k[d>>2]|0;d=k[e>>2]|0;b=k[f>>2]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16384){f=_e(a,d,k[b>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}else{f=Te(a,d,k[b+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}case 3:{f=Fh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1,i[(k[f>>2]|0)+10>>0]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}default:{f=Xe(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}return 0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[i>>2];a=Gh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}th((k[(k[f>>2]|0)+60>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,k[e>>2]|0);i=k[g>>2]|0;r=h;return i|0}function $e(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=j[(k[b>>2]|0)+68>>1]|0;r=c;return d|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;b=Hh(a,b,Tf(k[d>>2]|0)|0)|0;r=c;return b|0}function bf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=pe(k[b>>2]|0)|0;k[c>>2]=a;if((k[c>>2]|0)!=3){a=k[c>>2]|0;r=e;return a|0}k[d>>2]=k[b>>2];Jh(k[d>>2]|0,0);a=pe(k[b>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=e;return a|0}function cf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;n=Q+128|0;o=Q+124|0;G=Q+120|0;p=Q;q=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[G>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[H>>2]=h;k[x>>2]=0;k[K>>2]=0;k[O>>2]=0;k[J>>2]=0;k[I>>2]=0;k[k[H>>2]>>2]=0;k[q>>2]=((k[q>>2]|0)!=0^1^1)&1;c=Bh(k[F>>2]|0,36,0)|0;k[I>>2]=c;a:do if((k[I>>2]|0)!=0?(c=Kh(k[F>>2]|0,544,0)|0,k[J>>2]=c,(k[J>>2]|0)!=0):0){while(1){KR(k[J>>2]|0,0,544)|0;k[k[J>>2]>>2]=k[F>>2];bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=0;Yf(k[F>>2]|0);c=Lh(k[J>>2]|0,0,k[o>>2]|0,k[n>>2]|0)|0;k[A>>2]=c;if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&16|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[C>>2]=k[o>>2];Mh(c,18809,C)}if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&32|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[D>>2]=k[o>>2];Mh(c,18839,D)}if((k[A>>2]|0)!=0?(k[(k[A>>2]|0)+12>>2]|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[E>>2]=k[o>>2];Mh(c,18875,E)}if(!(k[A>>2]|0)){e=13;break}k[(k[I>>2]|0)+32>>2]=k[A>>2];c=Nh(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[(k[I>>2]|0)+28>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(c<<4)>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;if(!(sg(k[(k[(k[A>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0,k[G>>2]|0)|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(j[(k[A>>2]|0)+34>>1]|0)){e=21;break}if(k[q>>2]|0){k[P>>2]=0;b:do if(k[(k[F>>2]|0)+24>>2]&524288){k[y>>2]=k[(k[A>>2]|0)+16>>2];while(1){if(!(k[y>>2]|0))break b;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[(k[y>>2]|0)+20>>2]|0))break;if((k[(k[y>>2]|0)+36+(k[v>>2]<<3)>>2]|0)==(k[t>>2]|0))k[P>>2]=18917;k[v>>2]=(k[v>>2]|0)+1}k[y>>2]=k[(k[y>>2]|0)+4>>2]}}while(0);k[z>>2]=k[(k[A>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[z>>2]|0)+50>>1]|0))break;if(!((j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=(k[t>>2]|0)?(j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=-2:0))k[P>>2]=18929;k[w>>2]=(k[w>>2]|0)+1}k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(k[P>>2]|0){e=42;break}}c=Ph(k[J>>2]|0)|0;k[(k[I>>2]|0)+20>>2]=c;if(k[(k[I>>2]|0)+20>>2]|0){k[B>>2]=k[(k[I>>2]|0)+20>>2];c=Nh(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[u>>2]=c;Qh(k[B>>2]|0,2,k[u>>2]|0,k[q>>2]|0,k[k[(k[A>>2]|0)+64>>2]>>2]|0,k[(k[(k[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Rh(k[B>>2]|0,1);c=Sh(k[B>>2]|0,9,18971,0)|0;k[s>>2]=c;Th(k[B>>2]|0,k[u>>2]|0);if(!(l[(k[F>>2]|0)+69>>0]|0)){k[(k[s>>2]|0)+4>>2]=k[u>>2];k[(k[s>>2]|0)+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+12>>2]=k[q>>2];Uh(k[B>>2]|0,1,k[k[A>>2]>>2]|0,0)}if(!(l[(k[F>>2]|0)+69>>0]|0)){if(k[q>>2]|0)i[(k[s>>2]|0)+20>>0]=103;k[(k[s>>2]|0)+20+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+20+12>>2]=k[u>>2];i[(k[s>>2]|0)+20+1>>0]=-14;k[(k[s>>2]|0)+20+16>>2]=(j[(k[A>>2]|0)+34>>1]|0)+1;k[(k[s>>2]|0)+80+8>>2]=j[(k[A>>2]|0)+34>>1];j[(k[J>>2]|0)+444>>1]=1;k[(k[J>>2]|0)+76>>2]=1;k[(k[J>>2]|0)+72>>2]=1;Vh(k[B>>2]|0,k[J>>2]|0)}}k[k[I>>2]>>2]=k[q>>2];k[(k[I>>2]|0)+12>>2]=k[t>>2];k[(k[I>>2]|0)+24>>2]=k[F>>2];if(i[(k[F>>2]|0)+69>>0]|0)break a;c=p;We(k[(k[I>>2]|0)+20>>2]|0,1,k[c>>2]|0,k[c+4>>2]|0)|0;c=p;c=Wh(k[I>>2]|0,k[c>>2]|0,k[c+4>>2]|0,O)|0;k[K>>2]=c;c=(k[x>>2]|0)+1|0;k[x>>2]=c;if(!((c|0)<50?(k[K>>2]|0)==17:0))break a}if((e|0)==13){if(k[(k[J>>2]|0)+4>>2]|0){bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=k[(k[J>>2]|0)+4>>2];k[(k[J>>2]|0)+4>>2]=0}k[K>>2]=1;break}else if((e|0)==21){bg(k[F>>2]|0,k[O>>2]|0);P=k[F>>2]|0;k[N>>2]=k[G>>2];P=Oh(P,18896,N)|0;k[O>>2]=P;k[K>>2]=1;break}else if((e|0)==42){bg(k[F>>2]|0,k[O>>2]|0);N=k[F>>2]|0;k[L>>2]=k[P>>2];P=Oh(N,18937,L)|0;k[O>>2]=P;k[K>>2]=1;break}}while(0);if((k[K>>2]|0)==0?(l[(k[F>>2]|0)+69>>0]|0)==0:0){k[k[H>>2]>>2]=k[I>>2];L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?19007:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Xh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=bh(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}if((k[I>>2]|0)!=0?(k[(k[I>>2]|0)+20>>2]|0)!=0:0)ah(k[(k[I>>2]|0)+20>>2]|0)|0;bg(k[F>>2]|0,k[I>>2]|0);L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?19007:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Xh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=bh(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];if(k[c>>2]|0){k[b>>2]=k[(k[c>>2]|0)+24>>2];f=ge(k[(k[c>>2]|0)+20>>2]|0)|0;k[d>>2]=f;bg(k[b>>2]|0,k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}return 0}function ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=Zh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,138)|0;r=e;return b|0}function ff(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}if(!(k[(k[b>>2]|0)+20>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+4>>2]|0;r=c;return d|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;i=l+8|0;d=l+32|0;m=l+28|0;e=l;h=l+24|0;g=l+20|0;f=l+16|0;j=l+12|0;k[m>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[m>>2];if(!(k[g>>2]|0)){m=Vf(84093)|0;k[d>>2]=m;m=k[d>>2]|0;r=l;return m|0}k[f>>2]=k[(k[g>>2]|0)+24>>2];if(k[(k[g>>2]|0)+20>>2]|0){m=e;m=Wh(k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0,j)|0;k[h>>2]=m;if(k[h>>2]|0){g=k[f>>2]|0;a=k[h>>2]|0;m=(k[j>>2]|0)!=0?19007:0;k[i>>2]=k[j>>2];tg(g,a,m,i);bg(k[f>>2]|0,k[j>>2]|0)}}else k[h>>2]=4;m=bh(k[f>>2]|0,k[h>>2]|0)|0;k[h>>2]=m;k[d>>2]=k[h>>2];m=k[d>>2]|0;r=l;return m|0}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=($h(k[e>>2]|0,k[d>>2]|0,19010,91)|0)==0&1;r=c;return b|0}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=($h(k[g>>2]|0,k[f>>2]|0,19014,k[e>>2]|0)|0)==0&1;r=d;return b|0}function kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+56|0;g=z+52|0;h=z+48|0;j=z+44|0;m=z+40|0;n=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;o=z+20|0;q=z+16|0;t=z+12|0;p=z+8|0;s=z+4|0;u=z;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[w>>2]=0;k[v>>2]=0;k[o>>2]=0;if(!(ai(k[g>>2]|0)|0)){y=Vf(108096)|0;k[f>>2]=y;y=k[f>>2]|0;r=z;return y|0}if(!(k[h>>2]|0))k[h>>2]=19018;vg(k[g>>2]|0,0);a:while(1){if(k[w>>2]|0)break;if(!(i[k[h>>2]>>0]|0))break;k[p>>2]=0;k[v>>2]=0;b=lf(k[g>>2]|0,k[h>>2]|0,-1,v,x)|0;k[w>>2]=b;if(k[w>>2]|0)continue;if(!(k[v>>2]|0)){k[h>>2]=k[x>>2];continue}k[q>>2]=0;b=Ie(k[v>>2]|0)|0;k[t>>2]=b;do{b=Ee(k[v>>2]|0)|0;k[w>>2]=b;do if(k[j>>2]|0){if(100!=(k[w>>2]|0)){if(101!=(k[w>>2]|0)|(k[q>>2]|0)!=0)break;if(!(k[(k[g>>2]|0)+24>>2]&256))break}if(!(k[q>>2]|0)){b=Bh(k[g>>2]|0,(k[t>>2]<<1<<2)+1|0,0)|0;k[o>>2]=b;if(!(k[o>>2]|0))break a;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break;b=Se(k[v>>2]|0,k[s>>2]|0)|0;k[(k[o>>2]|0)+(k[s>>2]<<2)>>2]=b;k[s>>2]=(k[s>>2]|0)+1}k[q>>2]=1}b:do if((k[w>>2]|0)==100){k[p>>2]=(k[o>>2]|0)+(k[t>>2]<<2);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break b;b=Pe(k[v>>2]|0,k[s>>2]|0)|0;k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]=b;if((k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]|0)==0?(Re(k[v>>2]|0,k[s>>2]|0)|0)!=5:0){y=27;break a}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(ec[k[j>>2]&255](k[m>>2]|0,k[t>>2]|0,k[p>>2]|0,k[o>>2]|0)|0){y=30;break a}}while(0)}while((k[w>>2]|0)==100);b=ah(k[v>>2]|0)|0;k[w>>2]=b;k[v>>2]=0;k[h>>2]=k[x>>2];while(1){if(!(l[19019+(l[k[h>>2]>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}bg(k[g>>2]|0,k[o>>2]|0);k[o>>2]=0}if((y|0)==27)vh(k[g>>2]|0);else if((y|0)==30){k[w>>2]=4;ah(k[v>>2]|0)|0;k[v>>2]=0;vg(k[g>>2]|0,4)}if(k[v>>2]|0)ah(k[v>>2]|0)|0;bg(k[g>>2]|0,k[o>>2]|0);y=bh(k[g>>2]|0,k[w>>2]|0)|0;k[w>>2]=y;do if((k[w>>2]|0)!=0&(k[n>>2]|0)!=0){y=1+(Tf(mf(k[g>>2]|0)|0)|0)|0;k[u>>2]=y;y=k[u>>2]|0;y=jg(y,((y|0)<0)<<31>>31)|0;k[k[n>>2]>>2]=y;if(k[k[n>>2]>>2]|0){b=k[k[n>>2]>>2]|0;y=mf(k[g>>2]|0)|0;IR(b|0,y|0,k[u>>2]|0)|0;break}else{k[w>>2]=7;vg(k[g>>2]|0,7);break}}else if(k[n>>2]|0)k[k[n>>2]>>2]=0;while(0);k[f>>2]=k[w>>2];y=k[f>>2]|0;r=z;return y|0}function lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=bi(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,1,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){d=uh(7)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(ci(k[c>>2]|0)|0)){d=uh(Vf(137829)|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(i[(k[c>>2]|0)+69>>0]|0)){a=ke(k[(k[c>>2]|0)+240>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=uh(k[(k[c>>2]|0)+52>>2]|0)|0;k[d>>2]=a}}else{a=uh(7)|0;k[d>>2]=a}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function nf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=bi(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=di(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return b|0}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;b=di(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return b|0}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;c=p+32|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;m=p+12|0;h=p+8|0;o=p+4|0;k[d>>2]=a;k[e>>2]=b;k[m>>2]=0;k[o>>2]=0;k[f>>2]=k[(k[d>>2]|0)+336>>2];if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)==0:0){k[h>>2]=k[(k[f>>2]|0)+4>>2];b=Bh(k[d>>2]|0,544,0)|0;k[g>>2]=b;if(!(k[g>>2]|0))k[m>>2]=7;else{i[(k[g>>2]|0)+454>>0]=1;k[k[g>>2]>>2]=k[d>>2];k[(k[g>>2]|0)+428>>2]=1;if((((0==(ei(k[g>>2]|0,k[e>>2]|0,o)|0)?(k[(k[g>>2]|0)+488>>2]|0)!=0:0)?(i[(k[d>>2]|0)+69>>0]|0)==0:0)?(k[(k[(k[g>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(l[(k[(k[g>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(k[(k[h>>2]|0)+4>>2]|0)){k[(k[h>>2]|0)+4>>2]=k[(k[(k[g>>2]|0)+488>>2]|0)+4>>2];j[(k[h>>2]|0)+34>>1]=j[(k[(k[g>>2]|0)+488>>2]|0)+34>>1]|0;j[(k[(k[g>>2]|0)+488>>2]|0)+34>>1]=0;k[(k[(k[g>>2]|0)+488>>2]|0)+4>>2]=0}k[(k[f>>2]|0)+12>>2]=1}else{h=k[d>>2]|0;b=(k[o>>2]|0)!=0?19007:0;k[n>>2]=k[o>>2];tg(h,1,b,n);bg(k[d>>2]|0,k[o>>2]|0);k[m>>2]=1}i[(k[g>>2]|0)+454>>0]=0;if(k[(k[g>>2]|0)+8>>2]|0)ah(k[(k[g>>2]|0)+8>>2]|0)|0;$f(k[d>>2]|0,k[(k[g>>2]|0)+488>>2]|0);Xh(k[g>>2]|0);bg(k[d>>2]|0,k[g>>2]|0)}o=bh(k[d>>2]|0,k[m>>2]|0)|0;k[m>>2]=o;k[c>>2]=k[m>>2];o=k[c>>2]|0;r=p;return o|0}vg(k[d>>2]|0,21);o=Vf(121797)|0;k[c>>2]=o;o=k[c>>2]|0;r=p;return o|0}function rf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[19275+((l[(k[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+28|0;j=h+24|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[j>>2]=b;k[g>>2]=0;k[e>>2]=c;do if((k[j>>2]|0)==1){k[f>>2]=k[(k[d>>2]|0)+336>>2];if(k[f>>2]|0){c=(k[e>>2]|0)+(4-1)&~(4-1);j=k[c>>2]|0;k[e>>2]=c+4;i[(k[k[f>>2]>>2]|0)+16>>0]=j;break}else{j=Vf(122248)|0;k[g>>2]=j;break}}else{j=Vf(122256)|0;k[g>>2]=j}while(0);if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}vg(k[d>>2]|0,k[g>>2]|0);j=k[g>>2]|0;r=h;return j|0}function tf(){return 18214}function uf(){return 19293}function vf(){return 3013e3}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;g=i+44|0;c=i+40|0;d=i+24|0;h=i+16|0;f=i+8|0;e=i;k[c>>2]=a;k[h>>2]=0;if(k[59]|0){h=Vf(136010)|0;k[g>>2]=h;h=k[g>>2]|0;r=i;return h|0}k[d>>2]=b;do switch(k[c>>2]|0){case 4:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[12]=k[b>>2];k[13]=k[b+4>>2];k[14]=k[b+8>>2];k[15]=k[b+12>>2];k[16]=k[b+16>>2];k[17]=k[b+20>>2];k[18]=k[b+24>>2];k[19]=k[b+28>>2];break}case 5:{if(!(k[12]|0))hi();f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[b>>2]=k[12];k[b+4>>2]=k[13];k[b+8>>2]=k[14];k[b+12>>2]=k[15];k[b+16>>2]=k[16];k[b+20>>2]=k[17];k[b+24>>2]=k[18];k[b+28>>2]=k[19];break}case 9:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[2]=b;break}case 6:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[50]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[51]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[52]=b;break}case 7:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[53]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[54]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[55]=b;break}case 24:{f=(ii()|0)+(ji()|0)+(ki()|0)|0;a=(k[d>>2]|0)+(4-1)&~(4-1);b=k[a>>2]|0;k[d>>2]=a+4;k[b>>2]=f;break}case 14:break;case 15:{k[h>>2]=1;break}case 18:{c=(k[d>>2]|0)+(4-1)&~(4-1);e=k[c>>2]|0;k[d>>2]=c+4;c=116;d=e;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 19:{if(!(k[31]|0))li();e=(k[d>>2]|0)+(4-1)&~(4-1);c=k[e>>2]|0;k[d>>2]=e+4;d=116;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 13:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[9]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[10]=b;break}case 16:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[66]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[67]=b;break}case 17:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[5]=b;break}case 20:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[6]=b;break}case 22:{b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;b=f;k[b>>2]=c;k[b+4>>2]=a;b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;d=e;k[d>>2]=c;k[d+4>>2]=a;d=e;b=k[d+4>>2]|0;d=(k[e+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>0);b=e;k[b>>2]=d?0:c;k[b+4>>2]=d?0:a;if((k[f+4>>2]|0)<0){b=f;k[b>>2]=0;k[b+4>>2]=0}a=f;c=k[a+4>>2]|0;b=e;d=k[b+4>>2]|0;if((c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){d=e;a=k[d+4>>2]|0;b=f;k[b>>2]=k[d>>2];k[b+4>>2]=a}b=k[e+4>>2]|0;a=192;k[a>>2]=k[e>>2];k[a+4>>2]=b;a=f;f=k[a+4>>2]|0;b=184;k[b>>2]=k[a>>2];k[b+4>>2]=f;break}case 25:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[58]=b;break}case 26:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[11]=b;break}default:k[h>>2]=1}while(0);k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}function xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0){a=Zf(k[d>>2]|0)|0;k[e>>2]=a;mi(k[e>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;d=q+52|0;e=q+48|0;f=q+32|0;n=q+28|0;l=q+24|0;o=q+20|0;g=q+16|0;h=q+12|0;j=q+8|0;m=q+4|0;i=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)==1001){c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[l>>2]=p;p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[o>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[g>>2]=p;p=oi(k[d>>2]|0,k[l>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;k[n>>2]=p;p=k[n>>2]|0;r=q;return p|0}k[n>>2]=1;k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=4){p=16;break}if((k[1536+(k[h>>2]<<3)>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}if((p|0)==16){p=k[n>>2]|0;r=q;return p|0}p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[j>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[m>>2]=p;k[i>>2]=k[(k[d>>2]|0)+24>>2];if((k[j>>2]|0)<=0){if(!(k[j>>2]|0)){p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]&~k[1536+(k[h>>2]<<3)+4>>2]}}else{p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]|k[1536+(k[h>>2]<<3)+4>>2]}if((k[i>>2]|0)!=(k[(k[d>>2]|0)+24>>2]|0))_h(k[d>>2]|0);if(k[m>>2]|0)k[k[m>>2]>>2]=(k[(k[d>>2]|0)+24>>2]&k[1536+(k[h>>2]<<3)+4>>2]|0)!=0&1;k[n>>2]=0;p=k[n>>2]|0;r=q;return p|0}function zf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+32|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Af(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+84>>2]|0}function Bf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+88>>2]|0}function Cf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=pi(k[c>>2]|0,0)|0;r=b;return a|0}function Df(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=pi(k[c>>2]|0,1)|0;r=b;return a|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+380>>2]=k[g>>2];k[(k[e>>2]|0)+380+4>>2]=k[f>>2];k[(k[e>>2]|0)+380+8>>2]=0;k[(k[e>>2]|0)+428>>2]=0;r=d;return 0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if((k[d>>2]|0)>0){Ef(a,178,k[c>>2]|0)|0;k[(k[c>>2]|0)+428>>2]=k[d>>2];r=e;return 0}else{Ef(a,0,0)|0;r=e;return 0}return 0}function Gf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;i=r;r=r+32|0;s=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;l=i+4|0;j=i;k[s>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[m>>2]=f;k[l>>2]=g;k[j>>2]=h;b=Hf(k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0)|0;r=i;return b|0}function Hf(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[v>>2]=1;k[u>>2]=0;do if(k[t>>2]|0){a=Bh(k[j>>2]|0,12,0)|0;k[u>>2]=a;a=k[t>>2]|0;if(k[u>>2]|0){k[(k[u>>2]|0)+4>>2]=a;k[(k[u>>2]|0)+8>>2]=k[o>>2];w=5;break}else{_b[a&255](k[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(w=ri(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[u>>2]|0)|0,k[v>>2]=w,(k[u>>2]|0)!=0):0)?(k[k[u>>2]>>2]|0)==0:0){_b[k[t>>2]&255](k[o>>2]|0);bg(k[j>>2]|0,k[u>>2]|0)}w=bh(k[j>>2]|0,k[v>>2]|0)|0;k[v>>2]=w;r=x;return k[v>>2]|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(si(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0)|0)){b=ri(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0,224,0,0,0)|0;k[g>>2]=b}b=bh(k[d>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;r=h;return k[g>>2]|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;a=k[e>>2]|0;if((k[c>>2]|0)>0){Kf(a,139,k[c>>2]|0)|0;r=d;return 0}else{Kf(a,0,0)|0;r=d;return 0}return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=k[(k[f>>2]|0)+224>>2];k[(k[f>>2]|0)+220>>2]=k[h>>2];k[(k[f>>2]|0)+224>>2]=k[g>>2];r=e;return k[d>>2]|0}function Lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=10;if(k[l>>2]|0)k[k[l>>2]>>2]=-1;if(k[m>>2]|0)k[k[m>>2]>>2]=-1;if((k[j>>2]|0)<0|(k[j>>2]|0)>3){k[f>>2]=21;b=k[f>>2]|0;r=q;return b|0}if((k[h>>2]|0)!=0?(i[k[h>>2]>>0]|0)!=0:0){b=vi(k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=b}if((k[n>>2]|0)<0){k[o>>2]=1;b=k[g>>2]|0;k[p>>2]=k[h>>2];tg(b,1,19354,p)}else{k[(k[g>>2]|0)+380+8>>2]=0;b=wi(k[g>>2]|0,k[n>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[o>>2]=b;vg(k[g>>2]|0,k[o>>2]|0)}b=bh(k[g>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;k[f>>2]=k[o>>2];b=k[f>>2]|0;r=q;return b|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Lf(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return b|0}function Nf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(ci(k[c>>2]|0)|0)==0:0){a=Vf(137898)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}if((k[c>>2]|0)!=0?(l[(k[c>>2]|0)+69>>0]|0|0)==0:0){k[b>>2]=k[(k[c>>2]|0)+52>>2]&k[(k[c>>2]|0)+56>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)<0|(k[f>>2]|0)>=12){k[d>>2]=-1;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+92+(k[f>>2]<<2)>>2];if((k[g>>2]|0)>=0){if((k[g>>2]|0)>(k[1568+(k[f>>2]<<2)>>2]|0))k[g>>2]=k[1568+(k[f>>2]<<2)>>2];k[(k[e>>2]|0)+92+(k[f>>2]<<2)>>2]=k[g>>2]}k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=yi(k[e>>2]|0,k[d>>2]|0,6,0)|0;r=c;return a|0}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;n=l+28|0;m=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;h=l+8|0;i=l+4|0;g=l;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=d;k[j>>2]=1;b=Fi(k[n>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){n=k[j>>2]|0;r=l;return n|0}wg(k[h>>2]|0);n=Zf(k[h>>2]|0)|0;k[i>>2]=n;n=Ng(k[i>>2]|0)|0;k[g>>2]=n;if((k[e>>2]|0)==7){k[k[f>>2]>>2]=k[g>>2];k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==27){n=Gi(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==28){n=Hi(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if(k[k[g>>2]>>2]|0){n=Ii(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[j>>2]=n;n=k[j>>2]|0;r=l;return n|0}else{k[j>>2]=12;n=k[j>>2]|0;r=l;return n|0}return 0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;while(1){if(!(i[k[c>>2]>>0]|0)){a=8;break}b=YQ(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;b=k[c>>2]|0;if(!(k[e>>2]|0)){a=6;break}b=(Tf(b)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;b=Rf(k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;k[d>>2]=(k[d>>2]|0)!=0&1;if(k[e>>2]|0){h=(Oi(k[e>>2]|0,k[d>>2]&255)|0)&255;r=f;return h|0}else{h=k[d>>2]|0;r=f;return h|0}return 0}function Tf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(k[c>>2]|0))k[b>>2]=0;else{a=1073741823&($Q(k[c>>2]|0)|0);k[b>>2]=a}r=d;return k[b>>2]|0}function Uf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return ((l[19019+(l[b>>0]|0)>>0]|0)&70|0)!=0|0}function Vf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Zj(21,k[c>>2]|0,46703)|0;r=b;return a|0}function Wf(){return k[425]|0}function Xf(){return k[70]|0}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+4>>2]=k[k[d>>2]>>2];k[c>>2]=(k[c>>2]|0)+1}r=e;return}function Zf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+4>>2]>>2]|0}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}wv(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+4>>2]|0);qv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))e=4;if((e|0)==4?(b=(k[d>>2]|0)+36|0,e=(j[b>>1]|0)+-1<<16>>16,j[b>>1]=e,(e&65535|0)>0):0){r=f;return}iQ(k[c>>2]|0,k[d>>2]|0);r=f;return}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;c=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;LC(k[(k[f>>2]|0)+60>>2]|0,j[(k[f>>2]|0)+68>>1]|0);LC(k[(k[f>>2]|0)+16>>2]|0,m[(k[f>>2]|0)+84>>1]<<1);k[d>>2]=k[(k[f>>2]|0)+192>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=k[(k[d>>2]|0)+24>>2];hQ(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);k[d>>2]=k[c>>2]}k[g>>2]=(j[(k[f>>2]|0)+70>>1]|0)-1;while(1){a=k[e>>2]|0;if((k[g>>2]|0)<0)break;bg(a,k[(k[(k[f>>2]|0)+64>>2]|0)+(k[g>>2]<<2)>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}bg(a,k[(k[f>>2]|0)+64>>2]|0);hQ(k[e>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[f>>2]|0)+32>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+168>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+172>>2]|0);r=h;return}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(k[c>>2]|0){a=k[c>>2]|0;b=k[d>>2]|0;if(k[(k[c>>2]|0)+456>>2]|0){gQ(a,b);r=f;return}if(tu(a,b)|0){k[e>>2]=k[d>>2];k[k[e>>2]>>2]=k[(k[c>>2]|0)+256+28>>2];k[(k[c>>2]|0)+256+28>>2]=k[e>>2];e=(k[c>>2]|0)+256+8|0;k[e>>2]=(k[e>>2]|0)+-1;r=f;return}}Ud(k[d>>2]|0);r=f;return}function cg(){var a=0,b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;a=f+12|0;b=f+8|0;e=f+4|0;c=f;if(!(k[12]|0))hi();k[70]=0;k[71]=0;k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;k[70]=8;if((k[50]|0)!=0&(k[51]|0)>=100&(k[52]|0)>0){k[e>>2]=k[51]&-8;k[51]=k[e>>2];k[c>>2]=k[50];k[b>>2]=k[52];k[75]=k[c>>2];k[76]=k[b>>2];k[a>>2]=0;while(1){if((k[a>>2]|0)>=((k[b>>2]|0)-1|0))break;k[k[c>>2]>>2]=(k[c>>2]|0)+(k[e>>2]|0);k[c>>2]=k[k[c>>2]>>2];k[a>>2]=(k[a>>2]|0)+1}k[k[c>>2]>>2]=0;k[74]=(k[c>>2]|0)+4}else{k[74]=0;k[50]=0;k[51]=0;k[52]=0}if((k[53]|0)==0|(k[54]|0)<512|(k[55]|0)<=0){k[53]=0;k[54]=0}e=bc[k[68>>2]&255](k[19]|0)|0;k[d>>2]=e;if(!(k[d>>2]|0)){e=k[d>>2]|0;r=f;return e|0};k[70]=0;k[71]=0;k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;e=k[d>>2]|0;r=f;return e|0}function dg(){RO();SO();TO(7788,57);return}function eg(){if(!(k[31]|0))li();return bc[k[124>>2]&255](k[30]|0)|0}function fg(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;a=c+4|0;b=c;d=Sd(10)|0;k[b>>2]=d;if(!(k[b>>2]|0)){k[a>>2]=7;d=k[a>>2]|0;r=c;return d|0}else{Ud(k[b>>2]|0);d=ce()|0;k[a>>2]=d;d=k[a>>2]|0;r=c;return d|0}return 0}function gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[417]|0)){r=h;return}if(!(k[d>>2]|0)){k[f>>2]=0;k[e>>2]=0}k[e>>2]=k[e>>2]&-8;k[420]=k[e>>2];b=k[f>>2]|0;k[427]=b;k[421]=b;if((k[f>>2]|0)>90)c=10;else c=((k[f>>2]|0)/10|0)+1|0;k[422]=c;k[423]=k[d>>2];k[426]=0;k[428]=0;while(1){b=k[f>>2]|0;k[f>>2]=b+-1;c=k[d>>2]|0;if(!b)break;k[g>>2]=c;k[k[g>>2]>>2]=k[426];k[426]=k[g>>2];k[d>>2]=(k[d>>2]|0)+(k[e>>2]|0)}k[424]=c;r=h;return}function hg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}if((k[269]|0)==(k[c>>2]|0)){k[269]=k[(k[c>>2]|0)+12>>2];r=e;return}if(!(k[269]|0)){r=e;return}k[d>>2]=k[269];while(1){if(k[(k[d>>2]|0)+12>>2]|0)b=(k[(k[d>>2]|0)+12>>2]|0)!=(k[c>>2]|0);else b=0;a=k[(k[d>>2]|0)+12>>2]|0;if(!b)break;k[d>>2]=a}if((a|0)!=(k[c>>2]|0)){r=e;return}k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+12>>2];r=e;return}function ig(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;L=0;r=c;return k[996+(k[b>>2]<<2)>>2]|0}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;f=c;b=c;a=k[b+4>>2]|0;if((k[f>>2]|0)==0&(k[f+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(k[b>>2]|0)>>>0>=2147483392)){k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}if(k[2]|0){QO(k[c>>2]|0,d)|0;f=k[d>>2]|0;r=e;return f|0}else{f=bc[k[48>>2]&255](k[c>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;r=e;return f|0}return 0}function kg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[60>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=996+(k[e>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)-(k[d>>2]|0);r=c;return}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;d=l+28|0;e=l+24|0;f=l;i=l+20|0;h=l+16|0;g=l+12|0;j=l+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!(k[e>>2]|0)){j=jg(b,c)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}if((b|0)==0&(c|0)==0){Ud(k[e>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=f;c=k[a+4>>2]|0;if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=2147483392){k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=kg(k[e>>2]|0)|0;k[i>>2]=a;a=bc[k[64>>2]&255](k[f>>2]|0)|0;k[h>>2]=a;do if((k[i>>2]|0)!=(k[h>>2]|0)){if(!(k[2]|0)){i=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=i;break}Zi(5,k[f>>2]|0);k[g>>2]=(k[h>>2]|0)-(k[i>>2]|0);c=ig(0)|0;m=L;b=288;a=k[g>>2]|0;a=FR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((m|0)>(b|0)|(m|0)==(b|0)&c>>>0>=a>>>0)PO(k[g>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m;m=288;g=k[m+4>>2]|0;if((k[j>>2]|0)==0&((g|0)>0|(g|0)==0&(k[m>>2]|0)>>>0>0)){PO(k[f>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m}if(k[j>>2]|0){m=kg(k[j>>2]|0)|0;k[h>>2]=m;_i(0,(k[h>>2]|0)-(k[i>>2]|0)|0)}}else k[j>>2]=k[e>>2];while(0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=l;return m|0}function ng(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[m>>2]=c;k[j>>2]=d;k[h>>2]=e;c=k[m>>2]|0;k[(k[g>>2]|0)+4>>2]=c;k[(k[g>>2]|0)+8>>2]=c;k[k[g>>2]>>2]=k[l>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[h>>2];i[(k[g>>2]|0)+24>>0]=0;i[(k[g>>2]|0)+25>>0]=0;r=f;return}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=r;r=r+272|0;e=ra+176|0;f=ra+172|0;g=ra+168|0;o=ra+164|0;n=ra+160|0;aa=ra+156|0;Q=ra+152|0;J=ra+148|0;ja=ra+144|0;B=ra+268|0;E=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;G=ra+263|0;C=ra+262|0;D=ra+261|0;t=ra+260|0;na=ra+259|0;h=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;K=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;F=ra+254|0;X=ra+112|0;m=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;j=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;H=ra+88|0;U=ra+84|0;I=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;q=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[na>>0]=16;k[oa>>2]=0;k[X>>2]=0;k[n>>2]=0;if(i[(k[e>>2]|0)+25>>0]|0){a=l[(k[e>>2]|0)+25>>0]&2;i[h>>0]=a;if(a&255){b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[X>>2]=a}i[ha>>0]=l[(k[e>>2]|0)+25>>0]&1}else{i[ha>>0]=0;i[h>>0]=0}a:while(1){a=i[k[f>>2]>>0]|0;k[o>>2]=a;if(!a){qa=268;break}if((k[o>>2]|0)!=37){k[n>>2]=k[f>>2];do{k[f>>2]=(k[f>>2]|0)+1;if(!(i[k[f>>2]>>0]|0))break}while((i[k[f>>2]>>0]|0)!=37);xA(k[e>>2]|0,k[n>>2]|0,(k[f>>2]|0)-(k[n>>2]|0)|0);if(!(i[k[f>>2]>>0]|0)){qa=268;break}}a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a;if(!a){qa=13;break}i[G>>0]=0;i[y>>0]=0;i[x>>0]=0;i[z>>0]=0;i[E>>0]=0;i[B>>0]=0;i[t>>0]=0;do{switch(k[o>>2]|0){case 45:{i[B>>0]=1;break}case 43:{i[E>>0]=1;break}case 32:{i[z>>0]=1;break}case 35:{i[x>>0]=1;break}case 33:{i[y>>0]=1;break}case 48:{i[G>>0]=1;break}default:i[t>>0]=1}if(i[t>>0]|0)break;a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a}while((a|0)!=0);if((k[o>>2]|0)==42){if(i[h>>0]|0){a=KO(k[X>>2]|0)|0;k[ja>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[ja>>2]=a}if((k[ja>>2]|0)<0){i[B>>0]=1;k[ja>>2]=(k[ja>>2]|0)>=-2147483647?0-(k[ja>>2]|0)|0:0}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}else{k[ka>>2]=0;while(1){c=k[ka>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ka>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[ja>>2]=c&2147483647}do if((k[o>>2]|0)==46){a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)!=42){k[ca>>2]=0;while(1){c=k[ca>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ca>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[aa>>2]=c&2147483647;break}if(i[h>>0]|0){a=KO(k[X>>2]|0)|0;k[aa>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[aa>>2]=a}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[aa>>2]|0)<0)k[aa>>2]=(k[aa>>2]|0)>=-2147483647?0-(k[aa>>2]|0)|0:-1}else k[aa>>2]=-1;while(0);do if((k[o>>2]|0)==108){i[C>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)==108){i[D>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];break}else{i[D>>0]=0;break}}else{i[D>>0]=0;i[C>>0]=0}while(0);k[K>>2]=45712;i[na>>0]=16;k[J>>2]=0;while(1){if((k[J>>2]|0)>=23)break;c=k[J>>2]|0;if((k[o>>2]|0)==(i[45712+((k[J>>2]|0)*6|0)>>0]|0)){qa=56;break}k[J>>2]=c+1}if((qa|0)==56){qa=0;k[K>>2]=45712+(c*6|0);if((l[ha>>0]|0)==0?(l[(k[K>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}i[na>>0]=i[(k[K>>2]|0)+3>>0]|0}b:do switch(l[na>>0]|0){case 13:{i[D>>0]=0;i[C>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(i[h>>0]|0){d=+LO(k[X>>2]|0);p[ea>>3]=d}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(8-1)&~(8-1);d=+p[b>>3];k[a>>2]=b+8;p[ea>>3]=d}if((k[aa>>2]|0)<0)k[aa>>2]=6;do if(!(+p[ea>>3]<0.0)){if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{p[ea>>3]=-+p[ea>>3];i[ba>>0]=45}while(0);if((l[na>>0]|0)==3&(k[aa>>2]|0)>0)k[aa>>2]=(k[aa>>2]|0)+-1;k[J>>2]=k[aa>>2]&4095;p[fa>>3]=.5;while(1){if((k[J>>2]|0)<=0)break;k[J>>2]=(k[J>>2]|0)+-1;p[fa>>3]=+p[fa>>3]*.1}if((l[na>>0]|0)==1)p[ea>>3]=+p[ea>>3]+ +p[fa>>3];k[w>>2]=0;if(dG(+p[ea>>3])|0){k[n>>2]=45899;k[Q>>2]=3;break b}if(+p[ea>>3]>0.0){p[ga>>3]=1.0;while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.e+100?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.e+100;k[w>>2]=(k[w>>2]|0)+100}while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.0e10?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.0e10;k[w>>2]=(k[w>>2]|0)+10}while(1){d=+p[ga>>3];if(!(+p[ea>>3]>=+p[ga>>3]*10.0?(k[w>>2]|0)<=350:0))break;p[ga>>3]=d*10.0;k[w>>2]=(k[w>>2]|0)+1}p[ea>>3]=+p[ea>>3]/d;while(1){if(!(+p[ea>>3]<1.0e-08))break;p[ea>>3]=+p[ea>>3]*1.0e8;k[w>>2]=(k[w>>2]|0)-8}while(1){if(!(+p[ea>>3]<1.0))break;p[ea>>3]=+p[ea>>3]*10.0;k[w>>2]=(k[w>>2]|0)+-1}if((k[w>>2]|0)>350){k[n>>2]=m;i[m>>0]=i[ba>>0]|0;a=m+((i[ba>>0]|0)!=0&1)|0;i[a>>0]=i[45903]|0;i[a+1>>0]=i[45904]|0;i[a+2>>0]=i[45905]|0;i[a+3>>0]=i[45906]|0;k[Q>>2]=3+((i[ba>>0]|0)!=0&1);break b}}k[n>>2]=m;if((l[na>>0]|0)!=1?(p[ea>>3]=+p[ea>>3]+ +p[fa>>3],+p[ea>>3]>=10.0):0){p[ea>>3]=+p[ea>>3]*.1;k[w>>2]=(k[w>>2]|0)+1}c:do if((l[na>>0]|0)==3){i[F>>0]=((i[x>>0]|0)!=0^1)&1;do if((k[w>>2]|0)>=-4){if((k[w>>2]|0)>(k[aa>>2]|0))break;k[aa>>2]=(k[aa>>2]|0)-(k[w>>2]|0);i[na>>0]=1;break c}while(0);i[na>>0]=2}else i[F>>0]=i[y>>0]|0;while(0);if((l[na>>0]|0)==2)k[u>>2]=0;else k[u>>2]=k[w>>2];a=(k[u>>2]|0)>0?k[u>>2]|0:0;b=k[aa>>2]|0;b=GR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=k[ja>>2]|0;a=GR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((b|0)>0|(b|0)==0&a>>>0>55?(a=(k[u>>2]|0)>0?k[u>>2]|0:0,b=k[aa>>2]|0,b=GR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=k[ja>>2]|0,a=GR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0,a=GR(a|0,L|0,15,0)|0,a=jg(a,L)|0,k[oa>>2]=a,k[n>>2]=a,(k[n>>2]|0)==0):0){qa=161;break a}k[pa>>2]=k[n>>2];k[W>>2]=16+((l[y>>0]|0)*10|0);i[A>>0]=((k[aa>>2]|0)>0?1:0)|l[x>>0]|l[y>>0];if(i[ba>>0]|0){b=i[ba>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}d:do if((k[u>>2]|0)<0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48}else while(1){if((k[u>>2]|0)<0)break d;b=MO(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[u>>2]=(k[u>>2]|0)+-1}while(0);if(i[A>>0]|0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=46}k[u>>2]=(k[u>>2]|0)+1;while(1){if((k[u>>2]|0)>=0)break;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48;k[aa>>2]=(k[aa>>2]|0)+-1;k[u>>2]=(k[u>>2]|0)+1}while(1){a=k[aa>>2]|0;k[aa>>2]=a+-1;if((a|0)<=0)break;b=MO(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}do if(l[F>>0]|0){if(!(l[A>>0]|0))break;while(1){c=(k[n>>2]|0)+-1|0;if((i[(k[n>>2]|0)+-1>>0]|0)!=48)break;k[n>>2]=c;i[c>>0]=0}if((i[c>>0]|0)!=46)break;c=k[n>>2]|0;if(i[y>>0]|0){k[n>>2]=c+1;i[c>>0]=48;break}else{a=c+-1|0;k[n>>2]=a;i[a>>0]=0;break}}while(0);if((l[na>>0]|0)==2){c=i[45859+(l[(k[K>>2]|0)+4>>0]|0)>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=c;a=(k[w>>2]|0)<0;c=k[n>>2]|0;k[n>>2]=c+1;if(a){i[c>>0]=45;k[w>>2]=0-(k[w>>2]|0)}else i[c>>0]=43;if((k[w>>2]|0)>=100){b=((k[w>>2]|0)/100|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[w>>2]=(k[w>>2]|0)%100|0}a=((k[w>>2]|0)/10|0)+48&255;b=k[n>>2]|0;k[n>>2]=b+1;i[b>>0]=a;b=((k[w>>2]|0)%10|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}i[k[n>>2]>>0]=0;k[Q>>2]=(k[n>>2]|0)-(k[pa>>2]|0);k[n>>2]=k[pa>>2];if((l[G>>0]|0)==0|(i[B>>0]|0)!=0)break b;if((k[Q>>2]|0)>=(k[ja>>2]|0))break b;k[U>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);k[H>>2]=k[ja>>2];while(1){if((k[H>>2]|0)<(k[U>>2]|0))break;i[(k[n>>2]|0)+(k[H>>2]|0)>>0]=i[(k[n>>2]|0)+((k[H>>2]|0)-(k[U>>2]|0))>>0]|0;k[H>>2]=(k[H>>2]|0)+-1}k[H>>2]=(i[ba>>0]|0)!=0&1;while(1){a=k[U>>2]|0;k[U>>2]=a+-1;if(!a)break;a=k[H>>2]|0;k[H>>2]=a+1;i[(k[n>>2]|0)+a>>0]=48}k[Q>>2]=k[ja>>2];break}case 4:{if(!(i[h>>0]|0)){b=k[(k[e>>2]|0)+12>>2]|0;c=k[g>>2]|0;sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;k[a>>2]=b}k[ja>>2]=0;k[Q>>2]=0;break}case 7:{i[m>>0]=37;k[n>>2]=m;k[Q>>2]=1;break}case 8:{if(i[h>>0]|0){sa=NO(k[X>>2]|0)|0;k[n>>2]=sa;if(k[n>>2]|0)c=i[k[n>>2]>>0]|0;else c=0;k[o>>2]=c}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[o>>2]=sa}if((k[aa>>2]|0)>1){k[ja>>2]=(k[ja>>2]|0)-((k[aa>>2]|0)-1);if(!((k[ja>>2]|0)<=1|(i[B>>0]|0)!=0)){OO(k[e>>2]|0,(k[ja>>2]|0)-1|0,32);k[ja>>2]=0}OO(k[e>>2]|0,(k[aa>>2]|0)-1|0,k[o>>2]&255)}k[Q>>2]=1;i[m>>0]=k[o>>2];k[n>>2]=m;break}case 6:case 5:{if(i[h>>0]|0){sa=NO(k[X>>2]|0)|0;k[n>>2]=sa;i[na>>0]=5}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[n>>2]=sa}if(k[n>>2]|0){if((l[na>>0]|0)==6)k[oa>>2]=k[n>>2]}else k[n>>2]=19018;if((k[aa>>2]|0)<0){sa=Tf(k[n>>2]|0)|0;k[Q>>2]=sa;break b}k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(k[aa>>2]|0))break b;if(!(i[(k[n>>2]|0)+(k[Q>>2]|0)>>0]|0))break b;k[Q>>2]=(k[Q>>2]|0)+1}}case 14:case 10:case 9:{i[da>>0]=(l[na>>0]|0)==14?34:39;if(i[h>>0]|0){sa=NO(k[X>>2]|0)|0;k[v>>2]=sa}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[v>>2]=sa}k[M>>2]=(k[v>>2]|0)==0&1;if(k[M>>2]|0)k[v>>2]=(l[na>>0]|0)==10?40184:45907;k[O>>2]=k[aa>>2];k[S>>2]=0;k[I>>2]=0;while(1){if(!(k[O>>2]|0))break;sa=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=sa;if(!(sa<<24>>24))break;if((i[q>>0]|0)==(i[da>>0]|0))k[S>>2]=(k[S>>2]|0)+1;k[I>>2]=(k[I>>2]|0)+1;k[O>>2]=(k[O>>2]|0)+-1}if(k[M>>2]|0)c=0;else c=(l[na>>0]|0)==10;k[V>>2]=c&1;k[S>>2]=(k[S>>2]|0)+((k[I>>2]|0)+3);if((k[S>>2]|0)>70){sa=k[S>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[n>>2]=sa;if(!(k[n>>2]|0)){qa=241;break a}}else k[n>>2]=m;k[N>>2]=0;if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[O>>2]=k[I>>2];k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[O>>2]|0))break;a=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=a;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a;if((i[q>>0]|0)==(i[da>>0]|0)){a=i[q>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[I>>2]=(k[I>>2]|0)+1}if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}i[(k[n>>2]|0)+(k[N>>2]|0)>>0]=0;k[Q>>2]=k[N>>2];break}case 11:{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[_>>2]=sa;if((k[_>>2]|0)!=0?(k[(k[_>>2]|0)+4>>2]|0)!=0:0)xA(k[e>>2]|0,k[k[_>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}case 12:{b=k[g>>2]|0;sa=(k[b>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[b>>2]=sa+4;k[Z>>2]=a;a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[P>>2]=sa;k[Y>>2]=(k[Z>>2]|0)+8+((k[P>>2]|0)*72|0);if(k[(k[Y>>2]|0)+4>>2]|0){XD(k[e>>2]|0,k[(k[Y>>2]|0)+4>>2]|0);xA(k[e>>2]|0,45537,1)}XD(k[e>>2]|0,k[(k[Y>>2]|0)+8>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;c=(i[h>>0]|0)!=0;do if(l[(k[K>>2]|0)+2>>0]&1){do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=ia;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=ia;k[sa>>2]=a;k[sa+4>>2]=((a|0)<0)<<31>>31;break}}else{a=KO(k[X>>2]|0)|0;sa=ia;k[sa>>2]=a;k[sa+4>>2]=L}while(0);b=ia;c=k[b>>2]|0;b=k[b+4>>2]|0;if((k[ia+4>>2]|0)<0){if((c|0)==0&(b|0)==-2147483648){sa=R;k[sa>>2]=0;k[sa+4>>2]=-2147483648}else{a=ia;a=FR(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}i[ba>>0]=45;break}sa=R;k[sa>>2]=c;k[sa+4>>2]=b;if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=R;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=R;k[sa>>2]=a;k[sa+4>>2]=0;break}}else{a=KO(k[X>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}while(0);i[ba>>0]=0}while(0);sa=R;if((k[sa>>2]|0)==0&(k[sa+4>>2]|0)==0)i[x>>0]=0;if((l[G>>0]|0)!=0?(k[aa>>2]|0)<((k[ja>>2]|0)-((i[ba>>0]|0)!=0&1)|0):0)k[aa>>2]=(k[ja>>2]|0)-((i[ba>>0]|0)!=0&1);if((k[aa>>2]|0)>=60){k[T>>2]=(k[aa>>2]|0)+10;sa=k[T>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[pa>>2]=sa;if(!(k[pa>>2]|0)){qa=92;break}}else{k[T>>2]=70;k[pa>>2]=m}k[n>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1);if((l[na>>0]|0)==15){sa=R;sa=TR(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0;k[la>>2]=sa;if(!((k[la>>2]|0)<4?(sa=R,sa=SR(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0,sa=TR(sa|0,L|0,10,0)|0,!((sa|0)==1&(L|0)==0)):0))k[la>>2]=0;sa=i[45850+((k[la>>2]<<1)+1)>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=i[45850+(k[la>>2]<<1)>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}k[s>>2]=45859+(l[(k[K>>2]|0)+4>>0]|0);i[j>>0]=i[(k[K>>2]|0)+1>>0]|0;do{sa=R;sa=TR(k[sa>>2]|0,k[sa+4>>2]|0,l[j>>0]|0,0)|0;sa=i[(k[s>>2]|0)+sa>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=R;a=SR(k[a>>2]|0,k[a+4>>2]|0,l[j>>0]|0,0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L;sa=R;a=k[sa+4>>2]|0}while(a>>>0>0|(a|0)==0&(k[sa>>2]|0)>>>0>0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0);k[J>>2]=(k[aa>>2]|0)-(k[Q>>2]|0);while(1){if((k[J>>2]|0)<=0)break;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=48;k[J>>2]=(k[J>>2]|0)+-1}if(i[ba>>0]|0){a=i[ba>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}e:do if((l[x>>0]|0)!=0?(l[(k[K>>2]|0)+5>>0]|0)!=0:0){k[$>>2]=45892+(l[(k[K>>2]|0)+5>>0]|0);while(1){sa=i[k[$>>2]>>0]|0;i[ma>>0]=sa;if(!(sa<<24>>24))break e;a=i[ma>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a;k[$>>2]=(k[$>>2]|0)+1}}while(0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0)}k[ja>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);if(!((k[ja>>2]|0)<=0|(i[B>>0]|0)!=0))OO(k[e>>2]|0,k[ja>>2]|0,32);xA(k[e>>2]|0,k[n>>2]|0,k[Q>>2]|0);if((k[ja>>2]|0)>0?(l[B>>0]|0)!=0:0)OO(k[e>>2]|0,k[ja>>2]|0,32);if(k[oa>>2]|0){bg(k[k[e>>2]>>2]|0,k[oa>>2]|0);k[oa>>2]=0}k[f>>2]=(k[f>>2]|0)+1}if((qa|0)==13){xA(k[e>>2]|0,45710,1);r=ra;return}else if((qa|0)==92){BA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==161){BA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==241){BA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==268){r=ra;return}}function pg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(((k[(k[b>>2]|0)+8>>2]|0)!=0?(i[(k[(k[b>>2]|0)+8>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0,(k[(k[b>>2]|0)+20>>2]|0)>>>0>0):0)?((l[(k[b>>2]|0)+25>>0]|0)&4|0)==0:0){a=Kh(k[k[b>>2]>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0,0)|0;k[(k[b>>2]|0)+8>>2]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+8>>2]|0){IR(k[a+8>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0)|0;a=(k[b>>2]|0)+25|0;i[a>>0]=l[a>>0]|0|4;break}else{BA(a,1);break}}while(0);r=c;return k[(k[b>>2]|0)+8>>2]|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+256|0;g=d+36|0;h=d+32|0;e=d+28|0;f=d;k[g>>2]=a;k[h>>2]=b;k[e>>2]=c;ng(f,0,d+40|0,210,0);og(f,k[h>>2]|0,k[e>>2]|0);e=k[66]|0;c=k[67]|0;a=k[g>>2]|0;b=pg(f)|0;cc[e&255](c,a,b);r=d;return}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[g>>2]|0)+56>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[c>>2]=k[h>>2];k[d>>2]=k[g>>2];while(1){k[e>>2]=(l[18229+(l[k[c>>2]>>0]|0)>>0]|0)-(l[18229+(l[k[d>>2]>>0]|0)>>0]|0);if(k[e>>2]|0){c=5;break}if(!(l[k[c>>2]>>0]|0)){c=5;break}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}if((c|0)==5){r=f;return k[e>>2]|0}return 0}function tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[(k[e>>2]|0)+52>>2]=k[f>>2];IJ(k[e>>2]|0,k[f>>2]|0);a=k[e>>2]|0;if(!(k[g>>2]|0)){vg(a,k[f>>2]|0);r=j;return}if((k[a+240>>2]|0)==0?(f=fi(k[e>>2]|0)|0,k[(k[e>>2]|0)+240>>2]=f,(f|0)==0):0){r=j;return}k[h>>2]=d;d=ux(k[e>>2]|0,k[g>>2]|0,h)|0;k[i>>2]=d;gi(k[(k[e>>2]|0)+240>>2]|0,-1,k[i>>2]|0,1,170);r=j;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;b=c;b=jg(k[b>>2]|0,k[b+4>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){f=k[d>>2]|0;r=e;return f|0}KR(k[d>>2]|0,0,k[c>>2]|0)|0;f=k[d>>2]|0;r=e;return f|0}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+52>>2]=k[d>>2];if((k[d>>2]|0)==0?(k[(k[c>>2]|0)+240>>2]|0)==0:0){r=e;return}kN(k[c>>2]|0,k[d>>2]|0);r=e;return}function wg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[(k[c>>2]|0)+4>>2]|0)+4>>2]=k[k[c>>2]>>2];r=b;return}function xg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)!=0&(k[b>>2]|0)!=5)){a=0;a=a&1;r=c;return a|0}a=(k[b>>2]|0)!=6;a=a&1;r=c;return a|0}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+24|0;d=o+20|0;f=o+16|0;n=o+12|0;e=o+8|0;g=o+4|0;h=o;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];k[n>>2]=0;wg(k[c>>2]|0);do if((l[(k[c>>2]|0)+8>>0]|0)!=2?((k[d>>2]|0)!=0?1:(l[(k[c>>2]|0)+8>>0]|0)!=1):0){if((k[d>>2]|0)!=0?(m[(k[f>>2]|0)+22>>1]&1|0)!=0:0){k[n>>2]=8;break}k[e>>2]=0;if((k[d>>2]|0)!=0?(l[(k[f>>2]|0)+20>>0]|0)==2:0)b=8;else b=7;a:do if((b|0)==7)if(!(m[(k[f>>2]|0)+22>>1]&64)){if((k[d>>2]|0)>1){k[g>>2]=k[(k[f>>2]|0)+72>>2];while(1){if(!(k[g>>2]|0))break a;a=k[g>>2]|0;if((k[k[g>>2]>>2]|0)!=(k[c>>2]|0))break;k[g>>2]=k[a+12>>2]}k[e>>2]=k[k[a>>2]>>2]}}else b=8;while(0);if((b|0)==8)k[e>>2]=k[k[(k[f>>2]|0)+76>>2]>>2];if(k[e>>2]|0){k[n>>2]=262;break}g=JH(k[c>>2]|0,1,1)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-9;if(!(k[(k[f>>2]|0)+44>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|8}while(1){if((k[(k[f>>2]|0)+12>>2]|0)==0?(g=hN(k[f>>2]|0)|0,k[n>>2]=g,0==(g|0)):0)continue;do if((k[n>>2]|0)==0&(k[d>>2]|0)!=0){if(m[(k[f>>2]|0)+22>>1]&1){k[n>>2]=8;break}e=k[k[f>>2]>>2]|0;g=(k[d>>2]|0)>1&1;g=iN(e,g,fr(k[k[c>>2]>>2]|0)|0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=rM(k[f>>2]|0)|0;k[n>>2]=g}}while(0);if(k[n>>2]|0)OB(k[f>>2]|0);if((k[n>>2]&255|0)!=5)break;if(l[(k[f>>2]|0)+20>>0]|0)break;if(!(lr(k[f>>2]|0)|0))break}if(!(k[n>>2]|0)){if((l[(k[c>>2]|0)+8>>0]|0)==0?(g=(k[f>>2]|0)+40|0,k[g>>2]=(k[g>>2]|0)+1,(i[(k[c>>2]|0)+9>>0]|0)!=0):0){i[(k[c>>2]|0)+32+8>>0]=1;k[(k[c>>2]|0)+32+12>>2]=k[(k[f>>2]|0)+72>>2];k[(k[f>>2]|0)+72>>2]=(k[c>>2]|0)+32}i[(k[c>>2]|0)+8>>0]=(k[d>>2]|0)!=0?2:1;if((l[(k[c>>2]|0)+8>>0]|0)>(l[(k[f>>2]|0)+20>>0]|0))i[(k[f>>2]|0)+20>>0]=i[(k[c>>2]|0)+8>>0]|0;if(k[d>>2]|0){k[h>>2]=k[(k[f>>2]|0)+12>>2];k[(k[f>>2]|0)+76>>2]=k[c>>2];g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-33;if((k[d>>2]|0)>1){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|32}g=k[(k[f>>2]|0)+44>>2]|0;if((g|0)!=(or((k[(k[h>>2]|0)+56>>2]|0)+28|0)|0)?(g=Pg(k[(k[h>>2]|0)+72>>2]|0)|0,k[n>>2]=g,(k[n>>2]|0)==0):0)nt((k[(k[h>>2]|0)+56>>2]|0)+28|0,k[(k[f>>2]|0)+44>>2]|0)}}}}while(0);if(!((k[n>>2]|0)==0&(k[d>>2]|0)!=0)){n=k[n>>2]|0;r=o;return n|0}h=oM(k[k[f>>2]>>2]|0,k[(k[k[c>>2]>>2]|0)+432>>2]|0)|0;k[n>>2]=h;n=k[n>>2]|0;r=o;return n|0}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((k[e>>2]|0)==15){c=gN(k[k[g>>2]>>2]|0)|0;k[k[f>>2]>>2]=c+(k[(k[d>>2]|0)+20>>2]|0);r=h;return}else{c=or((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(k[e>>2]<<2))|0)|0;k[k[f>>2]>>2]=c;r=h;return}}function Ag(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+8>>0]|0|0)!=0|0}function Bg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0}function Cg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+5>>0]|0|0}function Dg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=xF(k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function Eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;h=t+44|0;i=t+40|0;j=t+36|0;m=t+32|0;u=t+28|0;s=t+24|0;q=t+20|0;o=t+16|0;p=t+12|0;n=t+8|0;f=t+4|0;e=t;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[u>>2]=d;k[s>>2]=0;k[q>>2]=0;k[o>>2]=0;k[p>>2]=k[u>>2]&1;k[n>>2]=0;if((k[j>>2]|0)>>>0<=1&(k[j>>2]|0)==0){u=Yj(51210)|0;k[h>>2]=u;u=k[h>>2]|0;r=t;return u|0}do if(k[(k[i>>2]|0)+44>>2]|0){k[s>>2]=k[(k[i>>2]|0)+44>>2];g=24}else{if(((k[n>>2]|0)!=0?(Jr(k[i>>2]|0)|0)!=0:0)?(u=Ps(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;if((k[n>>2]|0)!=0&(k[o>>2]|0)==0){k[f>>2]=0;c=k[(k[i>>2]|0)+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=RR((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;u=xL(c,u,L,k[(k[i>>2]|0)+160>>2]|0,f)|0;k[s>>2]=u;if((k[s>>2]|0)==0&(k[f>>2]|0)!=0){if(!((l[(k[i>>2]|0)+17>>0]|0|0)<=1?(l[(k[i>>2]|0)+13>>0]|0|0)==0:0)){u=ps(k[i>>2]|0,k[j>>2]|0)|0;k[q>>2]=u}d=k[i>>2]|0;if(!(k[q>>2]|0)){u=dN(d,k[j>>2]|0,k[f>>2]|0,q)|0;k[s>>2]=u}else{c=k[d+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=RR((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Us(c,u,L,k[f>>2]|0)|0}if(k[q>>2]|0){k[k[m>>2]>>2]=k[q>>2];k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}}if(k[s>>2]|0)break}u=us(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,3)|0;k[e>>2]=u;if(!(k[e>>2]|0)){u=eN(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,e)|0;k[s>>2]=u;if(k[s>>2]|0)break;if(!(k[e>>2]|0)){k[k[m>>2]>>2]=0;k[q>>2]=0;k[s>>2]=7;break}}g=vs(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,k[e>>2]|0)|0;k[k[m>>2]>>2]=g;k[q>>2]=g;g=24}while(0);do if((g|0)==24){if(k[s>>2]|0){k[q>>2]=0;break}d=k[i>>2]|0;if(!((k[p>>2]|0)!=0?1:(k[(k[q>>2]|0)+16>>2]|0)==0)){u=d+192|0;k[u>>2]=(k[u>>2]|0)+1;k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}k[(k[q>>2]|0)+16>>2]=d;if((k[j>>2]|0)>>>0<=2147483647?(k[j>>2]|0)!=(((k[381]|0)/(k[(k[i>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[k[(k[i>>2]|0)+64>>2]>>2]|0)!=0?!((k[p>>2]|0)!=0?1:(k[(k[i>>2]|0)+28>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){u=(Jr(k[i>>2]|0)|0)!=0;if(u&(k[n>>2]|0)==0?(u=Ps(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;u=(k[i>>2]|0)+192+4|0;k[u>>2]=(k[u>>2]|0)+1;u=Qs(k[q>>2]|0,k[o>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0)break}else{if((k[j>>2]|0)>>>0>(k[(k[i>>2]|0)+164>>2]|0)>>>0){k[s>>2]=13;break}if(k[p>>2]|0){ek();if((k[j>>2]|0)>>>0<=(k[(k[i>>2]|0)+32>>2]|0)>>>0)tj(k[(k[i>>2]|0)+60>>2]|0,k[j>>2]|0)|0;_t(k[i>>2]|0,k[j>>2]|0)|0;fk()}KR(k[(k[q>>2]|0)+4>>2]|0,0,k[(k[i>>2]|0)+160>>2]|0)|0}k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}u=Yj(51299)|0;k[s>>2]=u}while(0);if(k[q>>2]|0)Os(k[q>>2]|0);Ts(k[i>>2]|0);k[k[m>>2]>>2]=0;k[h>>2]=k[s>>2];u=k[h>>2]|0;r=t;return u|0}function Fg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+4>>2]|0}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+80|0;e=w+68|0;x=w+64|0;f=w+60|0;g=w+56|0;p=w+52|0;o=w+48|0;n=w+44|0;m=w+40|0;j=w+8|0;v=w+36|0;l=w;q=w+32|0;h=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;k[e>>2]=a;k[x>>2]=b;k[f>>2]=c;k[g>>2]=d;a=Zf(k[(k[e>>2]|0)+4>>2]|0)|0;k[p>>2]=a;a=Bg(k[(k[e>>2]|0)+24>>2]|0)|0;k[o>>2]=a;a=Bg(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=a;k[m>>2]=(k[o>>2]|0)<(k[n>>2]|0)?k[o>>2]|0:k[n>>2]|0;a=k[o>>2]|0;a=RR(k[x>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=j;k[c>>2]=a;k[c+4>>2]=L;k[v>>2]=0;if((k[o>>2]|0)!=(k[n>>2]|0)?(aK(k[p>>2]|0)|0)!=0:0)k[v>>2]=8;x=j;c=k[o>>2]|0;c=FR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L;while(1){if(k[v>>2]|0){e=14;break}c=l;b=k[c+4>>2]|0;x=j;a=k[x+4>>2]|0;if(!((b|0)<(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0<(k[x>>2]|0)>>>0:0))){e=14;break}k[q>>2]=0;c=l;x=k[n>>2]|0;x=PR(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;k[h>>2]=x+1;if((k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=Eg(k[p>>2]|0,k[h>>2]|0,q,0)|0;k[v>>2]=x;if((0==(x|0)?(x=Pg(k[q>>2]|0)|0,k[v>>2]=x,0==(x|0)):0)?(x=l,c=k[o>>2]|0,c=QR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,k[t>>2]=(k[f>>2]|0)+c,c=Fg(k[q>>2]|0)|0,k[s>>2]=c,c=l,x=k[n>>2]|0,x=QR(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,k[u>>2]=(k[s>>2]|0)+x,IR(k[u>>2]|0,k[t>>2]|0,k[m>>2]|0)|0,x=au(k[q>>2]|0)|0,i[x>>0]=0,x=l,(k[x>>2]|0)==0&(k[x+4>>2]|0)==0&(k[g>>2]|0)==0):0){x=(k[u>>2]|0)+28|0;nt(x,Dg(k[(k[e>>2]|0)+24>>2]|0)|0)}Hg(k[q>>2]|0)}c=k[n>>2]|0;x=l;c=GR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L}if((e|0)==14){r=w;return k[v>>2]|0}return 0}function Hg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Rs(k[b>>2]|0);r=c;return}function Ig(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Xg(Zf(k[(k[c>>2]|0)+24>>2]|0)|0)|0;k[d>>2]=a;k[(k[c>>2]|0)+44>>2]=k[k[d>>2]>>2];k[k[d>>2]>>2]=k[c>>2];k[(k[c>>2]|0)+40>>2]=1;r=b;return}function Jg(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);k[(k[(k[d>>2]|0)+4>>2]|0)+44>>2]=0;a=rM(k[(k[d>>2]|0)+4>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;l=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[l>>2]|0)+4>>2];wg(k[l>>2]|0);k[g>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];a=Pg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){l=k[h>>2]|0;r=j;return l|0}nt((k[g>>2]|0)+(36+(k[d>>2]<<2))|0,k[e>>2]|0);if((k[d>>2]|0)!=7){l=k[h>>2]|0;r=j;return l|0}i[(k[f>>2]|0)+18>>0]=k[e>>2];l=k[h>>2]|0;r=j;return l|0}function Lg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(k[(k[d>>2]|0)+12>>2]|0)Gj(k[(k[d>>2]|0)+12>>2]|0);k[c>>2]=(k[c>>2]|0)+1}d=(k[b>>2]|0)+24|0;k[d>>2]=k[d>>2]&-3;Cu(k[b>>2]|0);JB(k[b>>2]|0);r=e;return}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;if((k[d>>2]|0)==1){a=(k[f>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|16}a=yg(k[c>>2]|0,0)|0;k[g>>2]=a;do if(!(k[g>>2]|0)){k[e>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];if((l[(k[e>>2]|0)+18>>0]|0|0)==(k[d>>2]&255|0)?(l[(k[e>>2]|0)+19>>0]|0|0)==(k[d>>2]&255|0):0)break;a=yg(k[c>>2]|0,2)|0;k[g>>2]=a;if((k[g>>2]|0)==0?(a=Pg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){i[(k[e>>2]|0)+18>>0]=k[d>>2];i[(k[e>>2]|0)+19>>0]=k[d>>2]}}while(0);a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;r=h;return k[g>>2]|0}function Ng(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+64>>2]|0}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+28>>2];r=c;return}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+16>>2];if(k[(k[d>>2]|0)+44>>2]|0){k[c>>2]=k[(k[d>>2]|0)+44>>2];d=k[c>>2]|0;r=e;return d|0}if(((m[(k[b>>2]|0)+24>>1]|0)&4|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)>>>0>=(k[(k[b>>2]|0)+20>>2]|0)>>>0:0)if(k[(k[d>>2]|0)+104>>2]|0){d=Et(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}b=k[b>>2]|0;if((k[(k[d>>2]|0)+156>>2]|0)>>>0>(k[(k[d>>2]|0)+160>>2]|0)>>>0){d=ZM(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{d=_M(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}return 0}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;n=o+12|0;j=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[d>>2]=k[(k[e>>2]|0)+44>>2];n=k[d>>2]|0;r=o;return n|0}if(Ji(400)|0){k[d>>2]=10;n=k[d>>2]|0;r=o;return n|0}if((l[(k[e>>2]|0)+17>>0]|0|0)<3){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=0==(Gr(k[e>>2]|0,1)|0);c=k[e>>2]|0;do if(!b){b=(Jr(c)|0)!=0;c=k[e>>2]|0;if(b){h=Is(k[c+212>>2]|0)|0;k[j>>2]=h;k[m>>2]=0;if(!(k[j>>2]|0)){h=Eg(k[e>>2]|0,1,m,0)|0;k[n>>2]=h;k[j>>2]=k[m>>2];k[(k[j>>2]|0)+12>>2]=0}if(k[j>>2]|0){j=Ft(k[e>>2]|0,k[j>>2]|0,k[(k[e>>2]|0)+28>>2]|0,1)|0;k[n>>2]=j}Hg(k[m>>2]|0);if(k[n>>2]|0)break;Hr(k[(k[e>>2]|0)+212>>2]|0);break}m=XM(c,0)|0;k[n>>2]=m;if((((k[n>>2]|0)==0?(m=YM(k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=Gt(k[e>>2]|0,0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=k[e>>2]|0,m=Ht(m,Is(k[(k[e>>2]|0)+212>>2]|0)|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0){Hr(k[(k[e>>2]|0)+212>>2]|0);if((k[(k[e>>2]|0)+28>>2]|0)>>>0>(k[(k[e>>2]|0)+36>>2]|0)>>>0){k[h>>2]=(k[(k[e>>2]|0)+28>>2]|0)-((k[(k[e>>2]|0)+28>>2]|0)==(((k[381]|0)/(k[(k[e>>2]|0)+160>>2]|0)|0)+1|0)&1);m=Lr(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;if((k[n>>2]|0)!=0|(k[g>>2]|0)!=0)break}else if(k[g>>2]|0)break;m=Tg(k[e>>2]|0,k[f>>2]|0)|0;k[n>>2]=m}}else lj(k[c+96>>2]|0);while(0);if((k[n>>2]|0)==0?(Jr(k[e>>2]|0)|0)==0:0)i[(k[e>>2]|0)+17>>0]=5;k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Rg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+12>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+20|0;e=h+8|0;f=h;g=h+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=dj(k[d>>2]|0,f)|0;k[g>>2]=a;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}b=k[f+4>>2]|0;a=e;c=k[a+4>>2]|0;if(!((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){g=k[g>>2]|0;r=h;return g|0}a=e;a=Cr(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(k[k[(k[c>>2]|0)+64>>2]>>2]|0){k[e>>2]=k[d>>2];b=Ii(k[(k[c>>2]|0)+64>>2]|0,21,k[e>>2]|0)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==12?0:b}if(k[f>>2]|0){b=k[f>>2]|0;r=g;return b|0}if(i[(k[c>>2]|0)+7>>0]|0){b=k[f>>2]|0;r=g;return b|0}b=Dr(k[(k[c>>2]|0)+64>>2]|0,l[(k[c>>2]|0)+12>>0]|0)|0;k[f>>2]=b;b=k[f>>2]|0;r=g;return b|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+28>>2]=k[e>>2];r=c;return}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(l[(k[d>>2]|0)+8>>0]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}wg(k[d>>2]|0);do if((l[(k[d>>2]|0)+8>>0]|0|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];a=WM(k[k[f>>2]>>2]|0)|0;k[g>>2]=a;if(!((k[g>>2]|0)!=0&(k[e>>2]|0)==0)){g=(k[d>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+-1;i[(k[f>>2]|0)+20>>0]=1;RM(k[f>>2]|0);break}k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}while(0);SM(k[d>>2]|0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((l[(k[d>>2]|0)+8>>0]|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((i[(k[f>>2]|0)+17>>0]|0)!=0?(b=VM(k[f>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}if(i[(k[f>>2]|0)+19>>0]|0)Ug(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+44>>2]|0);b=Qg(k[k[f>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=b}k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}function Xg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+96|0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;n=p+8|0;o=p+4|0;g=p;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if(!(k[e>>2]|0)){c=KH(k[h>>2]|0,0,0)|0;k[e>>2]=c;k[m>>2]=c;if(k[m>>2]|0)k[f>>2]=0}else k[m>>2]=0;if((k[e>>2]|0)!=0?(c=LI(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=c,(k[n>>2]|0)!=0):0)k[m>>2]=k[n>>2];if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){c=k[d>>2]|0;SM(c);c=k[m>>2]|0;r=p;return c|0}c=yr(k[k[h>>2]>>2]|0)|0;k[o>>2]=c;if(k[o>>2]|0)k[m>>2]=k[o>>2];if(!(LF(k[h>>2]|0,1,j,0)|0)){c=or((k[(k[j>>2]|0)+56>>2]|0)+28|0)|0;k[g>>2]=c;if(!(k[g>>2]|0))Og(k[k[h>>2]>>2]|0,g);k[(k[h>>2]|0)+44>>2]=k[g>>2];NB(k[j>>2]|0)}i[(k[h>>2]|0)+20>>0]=1;RM(k[h>>2]|0);c=k[d>>2]|0;SM(c);c=k[m>>2]|0;r=p;return c|0}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;e=l+8|0;f=l+4|0;h=l;k[b>>2]=a;if((k[(k[b>>2]|0)+80>>2]|0)!=1691352191){r=l;return}if(xu(k[b>>2]|0)|0){r=l;return}NI(k[b>>2]|0,0);OI(k[b>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(IB(k[(k[g>>2]|0)+4>>2]|0)|0,k[(k[g>>2]|0)+4>>2]=0,(k[d>>2]|0)!=1):0)k[(k[g>>2]|0)+12>>2]=0;k[d>>2]=(k[d>>2]|0)+1}if(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0)Gj(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);Cu(k[b>>2]|0);JB(k[b>>2]|0);k[c>>2]=k[(k[b>>2]|0)+348+8>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];do{uu(k[b>>2]|0,k[e>>2]|0);k[j>>2]=k[(k[e>>2]|0)+8>>2];bg(k[b>>2]|0,k[e>>2]|0);k[e>>2]=k[j>>2]}while((k[e>>2]|0)!=0);k[c>>2]=k[k[c>>2]>>2]}Ij((k[b>>2]|0)+348|0);k[c>>2]=k[(k[b>>2]|0)+364+8>>2];while(1){if(!(k[c>>2]|0))break;k[f>>2]=k[(k[c>>2]|0)+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3)break;if(k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0)_b[k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]&255](k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}bg(k[b>>2]|0,k[f>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Ij((k[b>>2]|0)+364|0);k[c>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[c>>2]|0))break;k[h>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[h>>2]|0)+12>>2]|0)_b[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0);YH(k[b>>2]|0,k[h>>2]|0);bg(k[b>>2]|0,k[h>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Ij((k[b>>2]|0)+320|0);vg(k[b>>2]|0,0);lh(k[(k[b>>2]|0)+240>>2]|0);k[(k[b>>2]|0)+80>>2]=-1254786768;bg(k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);k[(k[b>>2]|0)+80>>2]=-1623446221;if(i[(k[b>>2]|0)+256+6>>0]|0)Ud(k[(k[b>>2]|0)+256+32>>2]|0);Ud(k[b>>2]|0);r=l;return}function _g(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+8|0;d=c+4|0;k[d>>2]=a;if(!(k[k[d>>2]>>2]|0)){$d(21,45108,c);k[b>>2]=1;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=0;d=k[b>>2]|0;r=c;return d|0}return 0}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;e=c+12|0;d=c+8|0;g=c;k[e>>2]=a;k[d>>2]=b;dI(k[k[e>>2]>>2]|0,g)|0;f=k[(k[e>>2]|0)+188>>2]|0;e=k[(k[e>>2]|0)+192>>2]|0;a=k[(k[d>>2]|0)+168>>2]|0;b=(k[d>>2]|0)+128|0;b=FR(k[g>>2]|0,k[g+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=RR(b|0,L|0,1e6,0)|0;ic[f&255](e,a,b,L);b=(k[d>>2]|0)+128|0;k[b>>2]=0;k[b+4>>2]=0;r=c;return}function ah(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!((k[(k[b>>2]|0)+40>>2]|0)!=-1108210269?(k[(k[b>>2]|0)+40>>2]|0)!=1369188723:0)){a=ch(k[b>>2]|0)|0;k[c>>2]=a}kv(k[b>>2]|0);r=d;return k[c>>2]|0}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)==3082?1:(l[(k[d>>2]|0)+69>>0]|0|0)!=0){b=QM(k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}else{k[c>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];b=k[c>>2]|0;r=f;return b|0}return 0}function ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];oI(k[b>>2]|0)|0;a=k[b>>2]|0;if((k[(k[b>>2]|0)+76>>2]|0)>=0){hI(a)|0;bg(k[c>>2]|0,k[(k[b>>2]|0)+44>>2]|0);k[(k[b>>2]|0)+44>>2]=0;if((l[(k[b>>2]|0)+89>>0]|0)>>>3&1){d=(k[b>>2]|0)+87|0;i[d>>0]=i[d>>0]&-2|1}}else if((k[a+80>>2]|0)!=0?(i[(k[b>>2]|0)+87>>0]&1|0)!=0:0){g=k[c>>2]|0;f=k[(k[b>>2]|0)+80>>2]|0;a=(k[(k[b>>2]|0)+44>>2]|0)!=0?19007:0;k[d>>2]=k[(k[b>>2]|0)+44>>2];tg(g,f,a,d);bg(k[c>>2]|0,k[(k[b>>2]|0)+44>>2]|0);k[(k[b>>2]|0)+44>>2]=0}PM(k[b>>2]|0);g=(k[b>>2]|0)+136|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[b>>2]|0)+40>>2]=649915045;r=e;return k[(k[b>>2]|0)+80>>2]&k[(k[c>>2]|0)+56>>2]|0}function dh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+40>>2]=-1108210269;k[(k[c>>2]|0)+76>>2]=-1;k[(k[c>>2]|0)+80>>2]=0;i[(k[c>>2]|0)+86>>0]=2;k[(k[c>>2]|0)+92>>2]=0;k[(k[c>>2]|0)+72>>2]=1;i[(k[c>>2]|0)+88>>0]=-1;k[(k[c>>2]|0)+104>>2]=0;a=(k[c>>2]|0)+144|0;k[a>>2]=0;k[a+4>>2]=0;r=b;return}function eh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((m[(k[b>>2]|0)+8>>1]|0)&9312|0)==0?(k[(k[b>>2]|0)+24>>2]|0)==0:0){r=c;return}OM(k[b>>2]|0);r=c;return}function fh(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if((m[(k[c>>2]|0)+8>>1]|0)&16384){a=(k[(k[c>>2]|0)+12>>2]|0)+(k[k[c>>2]>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[d>>2]|0)<=0?1:a;if(!(Rx(k[c>>2]|0,k[d>>2]|0,1)|0)){KR((k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0,0,k[k[c>>2]>>2]|0)|0;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+(k[k[c>>2]>>2]|0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-16897;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;do if(k[d>>2]|0){if(((m[(k[d>>2]|0)+8>>1]|0)&514|0)==514?(l[(k[d>>2]|0)+10>>0]|0|0)==(l[e>>0]|0|0):0){k[c>>2]=k[(k[d>>2]|0)+16>>2];break}if((m[(k[d>>2]|0)+8>>1]|0)&1){k[c>>2]=0;break}else{a=NM(k[d>>2]|0,i[e>>0]|0)|0;k[c>>2]=a;break}}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+8|0;c=g+4|0;d=g+12|0;f=g;k[c>>2]=a;i[d>>0]=b;k[f>>2]=k[c>>2];if(((m[(k[f>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[c>>2]|0)+10>>0]|0|0)==(l[d>>0]|0|0):0){k[e>>2]=k[(k[f>>2]|0)+12>>2];f=k[e>>2]|0;r=g;return f|0}a=m[(k[f>>2]|0)+8>>1]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16){b=k[(k[f>>2]|0)+12>>2]|0;if(a&16384){k[e>>2]=b+(k[k[f>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{k[e>>2]=b;f=k[e>>2]|0;r=g;return f|0}}else if(a&1){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}else{f=MM(k[c>>2]|0,i[d>>0]|0)|0;k[e>>2]=f;f=k[e>>2]|0;r=g;return f|0}return 0}function ih(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0.0;f=r;r=r+32|0;c=f+8|0;d=f+16|0;e=f;k[d>>2]=a;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&8){p[c>>3]=+p[b>>3];g=+p[c>>3];r=f;return +g}a=k[d>>2]|0;if((m[b+8>>1]|0)&4){e=a;p[c>>3]=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0);g=+p[c>>3];r=f;return +g}if((m[a+8>>1]|0)&18){p[e>>3]=0.0;fz(k[(k[d>>2]|0)+16>>2]|0,e,k[(k[d>>2]|0)+12>>2]|0,i[(k[d>>2]|0)+10>>0]|0)|0;p[c>>3]=+p[e>>3];g=+p[c>>3];r=f;return +g}else{p[c>>3]=0.0;g=+p[c>>3];r=f;return +g}return 0.0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+8|0;c=f+20|0;d=f+16|0;e=f;k[c>>2]=a;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(!(k[d>>2]&4)){if(k[d>>2]&8){a=Nx(+p[k[c>>2]>>3])|0;e=b;k[e>>2]=a;k[e+4>>2]=L;break}if(k[d>>2]&18){d=e;k[d>>2]=0;k[d+4>>2]=0;Ui(k[(k[c>>2]|0)+16>>2]|0,e,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0;d=e;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a;break}else{e=b;k[e>>2]=0;k[e+4>>2]=0;break}}else{d=k[c>>2]|0;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a}while(0);e=b;L=k[e+4>>2]|0;r=f;return k[e>>2]|0}function kh(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&16384)fh(k[c>>2]|0)|0;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(k[d>>2]&18){if((k[(k[c>>2]|0)+24>>2]|0)!=0?(k[(k[c>>2]|0)+16>>2]|0)==(k[(k[c>>2]|0)+20>>2]|0):0)break;if(!(Rx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0)){i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-4097;k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function lh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}eh(k[b>>2]|0);bg(k[(k[b>>2]|0)+32>>2]|0,k[b>>2]|0);r=c;return}function mh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;g=r;r=r+32|0;f=g+12|0;m=g+8|0;l=g+4|0;j=g+16|0;h=g;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;i[j>>0]=d;k[h>>2]=e;if((ph(k[k[f>>2]>>2]|0,k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,k[h>>2]|0)|0)!=18){r=g;return}Ce(k[f>>2]|0);r=g;return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((k[e>>2]|0)==0|(k[e>>2]|0)==(-1|0)))_b[k[e>>2]&255](k[d>>2]|0);if(!(k[f>>2]|0)){r=g;return 18}Ce(k[f>>2]|0);r=g;return 18}function oh(a,b){a=a|0;b=+b;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=b;rh(k[c>>2]|0);if(dG(+p[d>>3])|0){r=e;return}p[k[c>>2]>>3]=+p[d>>3];j[(k[c>>2]|0)+8>>1]=8;r=e;return}function ph(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+28|0;n=u+24|0;f=u+20|0;v=u+16|0;o=u+34|0;p=u+12|0;t=u+8|0;s=u+4|0;q=u+32|0;g=u;k[n>>2]=a;k[f>>2]=b;k[v>>2]=c;i[o>>0]=d;k[p>>2]=e;k[t>>2]=k[v>>2];j[q>>1]=0;d=k[n>>2]|0;if(!(k[f>>2]|0)){rh(d);k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}if(k[d+32>>2]|0)k[s>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+92>>2];else k[s>>2]=1e9;j[q>>1]=(l[o>>0]|0)==0?16:2;if((k[t>>2]|0)<0){a:do if((l[o>>0]|0)==1){v=Tf(k[f>>2]|0)|0;k[t>>2]=v;if((k[t>>2]|0)>(k[s>>2]|0))k[t>>2]=(k[s>>2]|0)+1}else{k[t>>2]=0;while(1){if((k[t>>2]|0)>(k[s>>2]|0))break a;if(!(i[(k[f>>2]|0)+(k[t>>2]|0)>>0]|i[(k[f>>2]|0)+((k[t>>2]|0)+1)>>0]))break a;k[t>>2]=(k[t>>2]|0)+2}}while(0);j[q>>1]=m[q>>1]|512}do if((k[p>>2]|0)!=(-1|0)){v=(k[p>>2]|0)==170;eh(k[n>>2]|0);d=k[f>>2]|0;k[(k[n>>2]|0)+16>>2]=d;if(v){k[(k[n>>2]|0)+20>>2]=d;v=su(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=v;break}else{k[(k[n>>2]|0)+36>>2]=k[p>>2];j[q>>1]=m[q>>1]|((k[p>>2]|0)==0?2048:1024);break}}else{k[g>>2]=k[t>>2];if(m[q>>1]&512)k[g>>2]=(k[g>>2]|0)+((l[o>>0]|0)==1?1:2);if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}if(!(Qx(k[n>>2]|0,(k[g>>2]|0)>32?k[g>>2]|0:32)|0)){IR(k[(k[n>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;break}k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}while(0);k[(k[n>>2]|0)+12>>2]=k[t>>2];j[(k[n>>2]|0)+8>>1]=j[q>>1]|0;i[(k[n>>2]|0)+10>>0]=(l[o>>0]|0)==0?1:l[o>>0]|0;if((l[(k[n>>2]|0)+10>>0]|0)!=1?(LM(k[n>>2]|0)|0)!=0:0){k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}else{k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}return 0}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((m[(k[d>>2]|0)+8>>1]|0)&9312){a=e;KM(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=f;return}else{c=e;e=k[c+4>>2]|0;a=k[d>>2]|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;j[(k[d>>2]|0)+8>>1]=4;r=f;return}}function rh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if((m[(k[c>>2]|0)+8>>1]|0)&9312){$F(a);r=b;return}else{j[a+8>>1]=1;r=b;return}}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((m[(k[c>>2]|0)+8>>1]|0)&9312)$F(k[c>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-1025;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){e=k[e>>2]|0;r=f;return e|0}if((m[(k[d>>2]|0)+8>>1]|0)&2048){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|4096;a=kh(k[c>>2]|0)|0;k[e>>2]=a;e=k[e>>2]|0;r=f;return e|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;eh(k[c>>2]|0);j[(k[c>>2]|0)+8>>1]=16400;k[(k[c>>2]|0)+12>>2]=0;if((k[d>>2]|0)<0)k[d>>2]=0;k[k[c>>2]>>2]=k[d>>2];i[(k[c>>2]|0)+10>>0]=1;k[(k[c>>2]|0)+16>>2]=0;r=e;return}function uh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=44482;if((k[b>>2]|0)!=516){k[b>>2]=k[b>>2]&255;if((k[b>>2]|0)>=0&(k[b>>2]|0)<27?(k[7072+(k[b>>2]<<2)>>2]|0)!=0:0)k[c>>2]=k[7072+(k[b>>2]<<2)>>2]}else k[c>>2]=44496;r=d;return k[c>>2]|0}function vh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+69>>0]|0){r=c;return}if(l[(k[b>>2]|0)+70>>0]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=1;if((k[(k[b>>2]|0)+164>>2]|0)>0)k[(k[b>>2]|0)+248>>2]=1;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=c;return}function wh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;k[c>>2]=a;if(!(k[c>>2]|0)){$d(21,44442,d);k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}else{a=_g(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function xh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;if((k[(k[c>>2]|0)+40>>2]|0)!=-1108210269)he(k[c>>2]|0)|0;k[d>>2]=k[k[c>>2]>>2];a=k[c>>2]|0;if(i[(k[d>>2]|0)+69>>0]|0){k[a+80>>2]=7;k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}if((k[a+76>>2]|0)<=0?(i[(k[c>>2]|0)+87>>0]&1|0)!=0:0){k[(k[c>>2]|0)+80>>2]=17;k[e>>2]=1}else{if((k[(k[c>>2]|0)+76>>2]|0)<0){if(!(k[(k[d>>2]|0)+152>>2]|0))k[(k[d>>2]|0)+248>>2]=0;if(((k[(k[d>>2]|0)+188>>2]|0)!=0?(i[(k[d>>2]|0)+144+5>>0]|0)==0:0)?(k[(k[c>>2]|0)+168>>2]|0)!=0:0)dI(k[k[d>>2]>>2]|0,(k[c>>2]|0)+128|0)|0;a=(k[d>>2]|0)+152|0;k[a>>2]=(k[a>>2]|0)+1;if(!((l[(k[c>>2]|0)+89>>0]|0)>>>5&1)){a=(k[d>>2]|0)+160|0;k[a>>2]=(k[a>>2]|0)+1}if((l[(k[c>>2]|0)+89>>0]|0)>>>6&1){a=(k[d>>2]|0)+156|0;k[a>>2]=(k[a>>2]|0)+1}k[(k[c>>2]|0)+76>>2]=0}if(i[(k[c>>2]|0)+89>>0]&3){a=eI(k[c>>2]|0)|0;k[e>>2]=a}else{a=(k[d>>2]|0)+164|0;k[a>>2]=(k[a>>2]|0)+1;a=fI(k[c>>2]|0)|0;k[e>>2]=a;a=(k[d>>2]|0)+164|0;k[a>>2]=(k[a>>2]|0)+-1}if((k[e>>2]|0)!=100?(a=(k[c>>2]|0)+128|0,g=k[a+4>>2]|0,(g|0)>0|(g|0)==0&(k[a>>2]|0)>>>0>0):0)$g(k[d>>2]|0,k[c>>2]|0);if((k[e>>2]|0)==101?(g=gI(k[d>>2]|0)|0,k[(k[c>>2]|0)+80>>2]=g,(k[(k[c>>2]|0)+80>>2]|0)!=0):0)k[e>>2]=1;k[(k[d>>2]|0)+52>>2]=k[e>>2];if(7==(bh(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+80>>2]|0)|0))k[(k[c>>2]|0)+80>>2]=7}if(((k[e>>2]|0)!=100?((l[(k[c>>2]|0)+89>>0]|0)>>>7&255|0)!=0:0)&(k[e>>2]|0)!=101){g=hI(k[c>>2]|0)|0;k[e>>2]=g}k[b>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];g=k[b>>2]|0;r=f;return g|0}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+20|0;c=g+16|0;f=g+12|0;e=g+8|0;h=g+4|0;d=g;k[c>>2]=a;a=fe(k[c>>2]|0)|0;k[h>>2]=a;a=TA(k[c>>2]|0)|0;k[d>>2]=a;a=bi(k[d>>2]|0,k[h>>2]|0,-1,0,k[c>>2]|0,e,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){bI(k[e>>2]|0,k[c>>2]|0);Ih(k[e>>2]|0,k[c>>2]|0)|0;cI(k[e>>2]|0);ah(k[e>>2]|0)|0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}if((k[f>>2]|0)==7)vh(k[d>>2]|0);k[b>>2]=k[f>>2];h=k[b>>2]|0;r=g;return h|0}function zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}b=(Tf(k[e>>2]|0)|0)+1|0;k[f>>2]=b;b=k[f>>2]|0;b=Kh(k[d>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(k[g>>2]|0)IR(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[e>>2]|0;if((k[d>>2]|0)>0){Qx(b,k[d>>2]|0)|0;j[(k[e>>2]|0)+8>>1]=8192;k[k[e>>2]>>2]=k[(k[c>>2]|0)+4>>2];if(k[(k[e>>2]|0)+16>>2]|0)KR(k[(k[e>>2]|0)+16>>2]|0,0,k[d>>2]|0)|0}else{rh(b);k[(k[e>>2]|0)+16>>2]=0}r=f;return k[(k[e>>2]|0)+16>>2]|0}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;d=f;e=f+8|0;k[g>>2]=a;a=d;k[a>>2]=b;k[a+4>>2]=c;a=d;a=Kh(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}KR(k[e>>2]|0,0,k[d>>2]|0)|0;g=k[e>>2]|0;r=f;return g|0}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];if(((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)!=0:0)?((k[c>>2]|0)>=0?(k[c>>2]|0)<(m[(k[e>>2]|0)+84>>1]|0|0):0):0){k[d>>2]=(k[(k[e>>2]|0)+20>>2]|0)+((k[c>>2]|0)*40|0);g=k[d>>2]|0;r=f;return g|0}if((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0)vg(k[k[e>>2]>>2]|0,25);g=aI()|0;k[d>>2]=g;g=k[d>>2]|0;r=f;return g|0}function Dh(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){r=c;return}d=bh(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+80>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=d;r=c;return}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;m=n+12|0;l=n+8|0;j=n+4|0;h=n;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[m>>2]=0;k[l>>2]=k[o>>2];k[h>>2]=k[k[l>>2]>>2];c=Ie(k[o>>2]|0)|0;k[j>>2]=c;if(!((k[e>>2]|0)>=0?(k[e>>2]|0)<(k[j>>2]|0):0)){o=k[m>>2]|0;r=n;return o|0}o=ha(k[g>>2]|0,k[j>>2]|0)|0;k[e>>2]=(k[e>>2]|0)+o;o=bc[k[f>>2]&255]((k[(k[l>>2]|0)+16>>2]|0)+((k[e>>2]|0)*40|0)|0)|0;k[m>>2]=o;if(!(i[(k[h>>2]|0)+69>>0]|0)){o=k[m>>2]|0;r=n;return o|0}xi(k[h>>2]|0);k[m>>2]=0;o=k[m>>2]|0;r=n;return o|0}function Fh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;m=s+12|0;n=s+32|0;o=s+8|0;p=s+4|0;q=s;k[t>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=e;i[n>>0]=f;k[o>>2]=k[t>>2];c=Gh(k[o>>2]|0,k[g>>2]|0)|0;k[q>>2]=c;if(k[q>>2]|0){if(!((k[m>>2]|0)!=0&(k[m>>2]|0)!=(-1|0))){t=k[q>>2]|0;r=s;return t|0}_b[k[m>>2]&255](k[h>>2]|0);t=k[q>>2]|0;r=s;return t|0}if(!(k[h>>2]|0)){t=k[q>>2]|0;r=s;return t|0}k[p>>2]=(k[(k[o>>2]|0)+60>>2]|0)+(((k[g>>2]|0)-1|0)*40|0);t=ph(k[p>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0)|0;k[q>>2]=t;if((k[q>>2]|0)==0?(l[n>>0]|0|0)!=0:0){t=qu(k[p>>2]|0,l[(k[k[o>>2]>>2]|0)+66>>0]|0)|0;k[q>>2]=t}vg(k[k[o>>2]>>2]|0,k[q>>2]|0);t=bh(k[k[o>>2]>>2]|0,k[q>>2]|0)|0;k[q>>2]=t;t=k[q>>2]|0;r=s;return t|0}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0;m=r;r=r+32|0;g=m;c=m+16|0;d=m+12|0;e=m+8|0;f=m+4|0;k[d>>2]=a;k[e>>2]=b;if(wh(k[d>>2]|0)|0){h=Vf(75759)|0;k[c>>2]=h;h=k[c>>2]|0;r=m;return h|0}if((k[(k[d>>2]|0)+40>>2]|0)==-1108210269?(k[(k[d>>2]|0)+76>>2]|0)<0:0){if((k[e>>2]|0)>=1?(k[e>>2]|0)<=(j[(k[d>>2]|0)+68>>1]|0):0){k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=(k[(k[d>>2]|0)+60>>2]|0)+((k[e>>2]|0)*40|0);eh(k[f>>2]|0);j[(k[f>>2]|0)+8>>1]=1;vg(k[k[d>>2]>>2]|0,0);do if((l[(k[d>>2]|0)+89>>0]|0)>>>7&255){if(!((k[e>>2]|0)<32?(k[(k[d>>2]|0)+188>>2]&1<>2]|0)!=0:0))h=12;if((h|0)==12?(k[(k[d>>2]|0)+188>>2]|0)!=-1:0)break;h=(k[d>>2]|0)+87|0;i[h>>0]=i[h>>0]&-2|1}while(0);k[c>>2]=0;h=k[c>>2]|0;r=m;return h|0}vg(k[k[d>>2]>>2]|0,25);k[c>>2]=25;h=k[c>>2]|0;r=m;return h|0}vg(k[k[d>>2]>>2]|0,21);k[g>>2]=k[(k[d>>2]|0)+168>>2];$d(21,40292,g);h=Vf(75767)|0;k[c>>2]=h;h=k[c>>2]|0;r=m;return h|0}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[e>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}a:do if(k[f>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+70>>1]|0))break a;k[l>>2]=k[(k[(k[e>>2]|0)+64>>2]|0)+(k[h>>2]<<2)>>2];if(((k[l>>2]|0)!=0?(aR(k[l>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)==0:0)?(i[(k[l>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)break;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=(k[h>>2]|0)+1;b=k[d>>2]|0;r=m;return b|0}while(0);k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;d=f+8|0;e=f+4|0;c=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[e>>2]=k[g>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(j[(k[d>>2]|0)+68>>1]|0))break;$H((k[(k[e>>2]|0)+60>>2]|0)+((k[c>>2]|0)*40|0)|0,(k[(k[d>>2]|0)+60>>2]|0)+((k[c>>2]|0)*40|0)|0);k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;g=h+8|0;f=h;e=h+24|0;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+10>>0]|0;if(!(fz(k[(k[c>>2]|0)+16>>2]|0,g,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){r=h;return}if(!(Ui(k[(k[c>>2]|0)+16>>2]|0,f,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){a=k[f+4>>2]|0;g=k[c>>2]|0;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|4;r=h;return}p[k[c>>2]>>3]=+p[g>>3];g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|8;if(!(k[d>>2]|0)){r=h;return}Mx(k[c>>2]|0);r=h;return}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0){g=f;g=$w(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}else{a=f;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}return 0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+16|0;o=q;h=q+52|0;j=q+48|0;e=q+44|0;l=q+40|0;m=q+36|0;n=q+32|0;g=q+28|0;f=q+24|0;k[j>>2]=a;k[e>>2]=b;k[l>>2]=c;k[m>>2]=d;if(Mz(k[j>>2]|0)|0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}c=Bi(k[k[j>>2]>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[g>>2]=(k[e>>2]|0)!=0?40265:40278;if(((vi(k[k[j>>2]>>2]|0,k[m>>2]|0)|0)<1?(c=Aj((k[k[j>>2]>>2]|0)+320|0,k[l>>2]|0)|0,k[f>>2]=c,(k[f>>2]|0)!=0):0)?(XH(k[j>>2]|0,k[f>>2]|0)|0)!=0:0){k[h>>2]=k[(k[f>>2]|0)+16>>2];p=k[h>>2]|0;r=q;return p|0}b=k[j>>2]|0;e=k[g>>2]|0;if(k[m>>2]|0){m=k[m>>2]|0;p=k[l>>2]|0;k[o>>2]=e;k[o+4>>2]=m;k[o+8>>2]=p;Mh(b,30625,o)}else{o=k[l>>2]|0;k[p>>2]=e;k[p+4>>2]=o;Mh(b,30635,p)}i[(k[j>>2]|0)+17>>0]=1}k[h>>2]=k[n>>2];p=k[h>>2]|0;r=q;return p|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+48|0;d=g+32|0;j=g+28|0;f=g+24|0;h=g+8|0;e=g;k[d>>2]=a;k[j>>2]=b;k[e>>2]=k[k[d>>2]>>2];k[h>>2]=c;b=ux(k[e>>2]|0,k[j>>2]|0,h)|0;k[f>>2]=b;if(i[(k[e>>2]|0)+73>>0]|0){bg(k[e>>2]|0,k[f>>2]|0);r=g;return}else{j=(k[d>>2]|0)+68|0;k[j>>2]=(k[j>>2]|0)+1;bg(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);k[(k[d>>2]|0)+4>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=1;r=g;return}}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=-1e6;if(!(k[d>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){c=6;break}if((k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)==(k[d>>2]|0)){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){e=k[e>>2]|0;r=f;return e|0}return 0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e+28|0;g=e+24|0;f=e+8|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=ux(k[h>>2]|0,k[g>>2]|0,f)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function Ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];a=Bh(k[d>>2]|0,208,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[k[e>>2]>>2]=k[d>>2];if(k[(k[d>>2]|0)+4>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+48>>2]=k[e>>2];k[(k[e>>2]|0)+52>>2]=k[(k[d>>2]|0)+4>>2];k[(k[e>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+4>>2]=k[e>>2];k[(k[e>>2]|0)+40>>2]=649915045;k[(k[e>>2]|0)+24>>2]=k[c>>2];k[b>>2]=k[e>>2];a=k[b>>2]|0;r=f;return a|0}function Qh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=r;r=r+32|0;j=h+24|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;i=h+4|0;g=h;k[j>>2]=a;k[o>>2]=b;k[n>>2]=c;k[m>>2]=d;k[l>>2]=e;k[i>>2]=f;f=px(k[j>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;k[g>>2]=f;Uh(k[j>>2]|0,k[g>>2]|0,k[i>>2]|0,-14);r=h;return k[g>>2]|0}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if(i[(k[k[c>>2]>>2]|0)+69>>0]|0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[(k[c>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=i[d>>0]|0;r=e;return}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[o+12>>2]=d;if(((k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]|0)|0)>(k[(k[(k[f>>2]|0)+24>>2]|0)+88>>2]|0)?(rx(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}a=(k[(k[f>>2]|0)+4>>2]|0)+((k[(k[f>>2]|0)+32>>2]|0)*20|0)|0;k[n>>2]=a;k[m>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[g>>2]|0))break;i[k[n>>2]>>0]=i[k[h>>2]>>0]|0;k[(k[n>>2]|0)+4>>2]=i[(k[h>>2]|0)+1>>0];k[(k[n>>2]|0)+8>>2]=i[(k[h>>2]|0)+2>>0];if((l[35415+(l[k[h>>2]>>0]|0)>>0]&1|0)!=0?(i[(k[h>>2]|0)+2>>0]|0)>0:0){a=(k[n>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+32>>2]|0)}k[(k[n>>2]|0)+12>>2]=i[(k[h>>2]|0)+3>>0];i[(k[n>>2]|0)+1>>0]=0;k[(k[n>>2]|0)+16>>2]=0;i[(k[n>>2]|0)+3>>0]=0;k[j>>2]=(k[j>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+4;k[n>>2]=(k[n>>2]|0)+20}n=(k[f>>2]|0)+32|0;k[n>>2]=(k[n>>2]|0)+(k[g>>2]|0);k[e>>2]=k[m>>2];n=k[e>>2]|0;r=o;return n|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=(k[c>>2]|0)+96|0;k[a>>2]=k[a>>2]|1<>2];if((k[d>>2]|0)==1){r=e;return}if(!(WH(k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2]|0)|0)){r=e;return}a=(k[c>>2]|0)+100|0;k[a>>2]=k[a>>2]|1<>2];r=e;return}function Uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m;k[e>>2]=a;k[f>>2]=b;k[h>>2]=c;k[j>>2]=d;k[g>>2]=k[k[e>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){if((k[j>>2]|0)==-10){r=m;return}NA(k[g>>2]|0,k[j>>2]|0,k[h>>2]|0);r=m;return}if((k[f>>2]|0)<0)k[f>>2]=(k[(k[e>>2]|0)+32>>2]|0)-1;k[l>>2]=(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0);if((k[j>>2]|0)<0?(i[(k[l>>2]|0)+1>>0]|0)==0:0){e=k[h>>2]|0;if((k[j>>2]|0)==-14){k[(k[l>>2]|0)+16>>2]=e;i[(k[l>>2]|0)+1>>0]=-14;r=m;return}if(!e){r=m;return}k[(k[l>>2]|0)+16>>2]=k[h>>2];i[(k[l>>2]|0)+1>>0]=k[j>>2];if((k[j>>2]|0)!=-10){r=m;return}VH(k[h>>2]|0);r=m;return}UH(k[e>>2]|0,k[l>>2]|0,k[h>>2]|0,k[j>>2]|0);r=m;return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;m=q+28|0;h=q+24|0;g=q+20|0;n=q+16|0;f=q+12|0;p=q;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[o>>2]=j[(k[d>>2]|0)+444>>1];k[m>>2]=k[(k[d>>2]|0)+76>>2];k[h>>2]=k[(k[d>>2]|0)+72>>2];k[g>>2]=k[(k[d>>2]|0)+400>>2];b=k[(k[d>>2]|0)+84>>2]|0;k[n>>2]=b;k[n>>2]=(k[n>>2]|0)==0?1:b;k[m>>2]=(k[m>>2]|0)+(k[h>>2]|0);if((k[h>>2]|0)==0&(k[m>>2]|0)>0)k[m>>2]=(k[m>>2]|0)+1;k[f>>2]=((k[(k[c>>2]|0)+32>>2]|0)*20|0)+7&-8;k[p>>2]=(k[(k[c>>2]|0)+4>>2]|0)+(k[f>>2]|0);k[p+4>>2]=(k[(k[d>>2]|0)+92>>2]|0)-(k[f>>2]|0)&-8;if((k[p+4>>2]|0)>0)KR(k[p>>2]|0,0,k[p+4>>2]|0)|0;oF(k[c>>2]|0,g);if(l[(k[d>>2]|0)+20>>0]|0)a=(l[(k[d>>2]|0)+21>>0]|0)!=0;else a=0;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-17|(a&1)<<4&255;if((k[m>>2]|0)<10?(l[(k[d>>2]|0)+453>>0]|0)!=0:0)k[m>>2]=10;b=(k[c>>2]|0)+87|0;i[b>>0]=i[b>>0]&-2;do{k[p+8>>2]=0;b=TH(p,k[(k[c>>2]|0)+8>>2]|0,(k[m>>2]|0)*40|0)|0;k[(k[c>>2]|0)+8>>2]=b;b=TH(p,k[(k[c>>2]|0)+60>>2]|0,(k[o>>2]|0)*40|0)|0;k[(k[c>>2]|0)+60>>2]=b;b=TH(p,k[(k[c>>2]|0)+12>>2]|0,k[g>>2]<<2)|0;k[(k[c>>2]|0)+12>>2]=b;b=TH(p,k[(k[c>>2]|0)+56>>2]|0,k[h>>2]<<2)|0;k[(k[c>>2]|0)+56>>2]=b;b=TH(p,k[(k[c>>2]|0)+200>>2]|0,k[n>>2]|0)|0;k[(k[c>>2]|0)+200>>2]=b;if(!(k[p+8>>2]|0))break;b=k[p+8>>2]|0;b=Bh(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[c>>2]|0)+172>>2]=b;k[p>>2]=b;k[p+4>>2]=k[p+8>>2]}while((i[(k[e>>2]|0)+69>>0]|0)!=0^1);k[(k[c>>2]|0)+36>>2]=k[h>>2];k[(k[c>>2]|0)+196>>2]=k[n>>2];a:do if(k[(k[c>>2]|0)+60>>2]|0){j[(k[c>>2]|0)+68>>1]=k[o>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break a;j[(k[(k[c>>2]|0)+60>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]=1;k[(k[(k[c>>2]|0)+60>>2]|0)+((k[f>>2]|0)*40|0)+32>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+1}}while(0);j[(k[c>>2]|0)+70>>1]=k[(k[d>>2]|0)+448>>2];k[(k[c>>2]|0)+64>>2]=k[(k[d>>2]|0)+476>>2];k[(k[d>>2]|0)+448>>2]=0;k[(k[d>>2]|0)+476>>2]=0;if(!(k[(k[c>>2]|0)+8>>2]|0)){o=k[d>>2]|0;o=o+453|0;o=i[o>>0]|0;o=o&255;p=k[c>>2]|0;p=p+89|0;o=o&255;n=i[p>>0]|0;o=o&3;n=n&-4;o=n|o;i[p>>0]=o;p=k[c>>2]|0;dh(p);r=q;return}k[(k[c>>2]|0)+28>>2]=k[m>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;j[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]=128;k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]|0)*40|0)+32>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+1}o=k[d>>2]|0;o=o+453|0;o=i[o>>0]|0;o=o&255;p=k[c>>2]|0;p=p+89|0;o=o&255;n=i[p>>0]|0;o=o&3;n=n&-4;o=n|o;i[p>>0]=o;p=k[c>>2]|0;dh(p);r=q;return}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;p=s+24|0;o=s+16|0;h=s+8|0;i=s+52|0;l=s;m=s+48|0;n=s+44|0;q=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;k[i>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[q>>2]=0;k[e>>2]=k[(k[i>>2]|0)+20>>2];c=l;a=k[c+4>>2]|0;d=k[(k[e>>2]|0)+60>>2]|0;k[d>>2]=k[c>>2];k[d+4>>2]=a;d=Ee(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=d;do if((k[n>>2]|0)==100){k[f>>2]=k[k[(k[e>>2]|0)+56>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+80+(k[(k[i>>2]|0)+12>>2]<<2)>>2];b=k[i>>2]|0;if((k[g>>2]|0)>>>0>=12){k[(k[i>>2]|0)+8>>2]=k[(k[f>>2]|0)+80+((k[b+12>>2]|0)+(j[(k[f>>2]|0)+12>>1]|0)<<2)>>2];h=SF(k[g>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=h;k[(k[i>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2];SH(k[(k[i>>2]|0)+16>>2]|0);break}c=k[b+24>>2]|0;if(!(k[g>>2]|0))b=40211;else b=(k[g>>2]|0)==7?40198:40203;k[h>>2]=b;h=Oh(c,40216,h)|0;k[q>>2]=h;k[n>>2]=1;ge(k[(k[i>>2]|0)+20>>2]|0)|0;k[(k[i>>2]|0)+20>>2]=0}while(0);if((k[n>>2]|0)==100){k[n>>2]=0;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}if(!(k[(k[i>>2]|0)+20>>2]|0)){p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}b=ge(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=b;k[(k[i>>2]|0)+20>>2]=0;b=k[(k[i>>2]|0)+24>>2]|0;if(!(k[n>>2]|0)){i=l;l=k[i+4>>2]|0;p=o;k[p>>2]=k[i>>2];k[p+4>>2]=l;p=Oh(b,40245,o)|0;k[q>>2]=p;k[n>>2]=1;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}else{o=mf(k[(k[i>>2]|0)+24>>2]|0)|0;k[p>>2]=o;p=Oh(b,19007,p)|0;k[q>>2]=p;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}return 0}function Xh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];bg(k[c>>2]|0,k[(k[b>>2]|0)+120>>2]|0);mv(k[c>>2]|0,k[(k[b>>2]|0)+324>>2]|0);if(k[c>>2]|0){a=(k[c>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)-(l[(k[b>>2]|0)+24>>0]|0)}i[(k[b>>2]|0)+24>>0]=0;r=d;return}function Yh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if(!(l[(k[f>>2]|0)+66>>0]|0)){k[e>>2]=4;j=k[e>>2]|0;r=m;return j|0}if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)c=sF(k[f>>2]|0)|0;else c=0;k[j>>2]=c;if(!(k[j>>2]|0)){i=FF(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;k[j>>2]=i}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=m;return j|0}function Zh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;f=q+36|0;s=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;n=q+12|0;m=q+8|0;o=q+4|0;l=q;k[s>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=k[s>>2];if(!(k[m>>2]|0)){s=Vf(83995)|0;k[f>>2]=s;s=k[f>>2]|0;r=q;return s|0}k[l>>2]=k[(k[m>>2]|0)+24>>2];k[o>>2]=k[(k[m>>2]|0)+20>>2];do if(!((k[h>>2]|0)<0|(k[i>>2]|0)<0)?(a=k[i>>2]|0,b=k[h>>2]|0,b=GR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=L,s=k[(k[m>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>s>>>0)):0){if(!(k[o>>2]|0)){k[n>>2]=4;break}RH(k[(k[m>>2]|0)+16>>2]|0);s=ec[k[j>>2]&255](k[(k[m>>2]|0)+16>>2]|0,(k[i>>2]|0)+(k[(k[m>>2]|0)+8>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;k[n>>2]=s;if((k[n>>2]|0)==4){ah(k[o>>2]|0)|0;k[(k[m>>2]|0)+20>>2]=0;break}else{k[(k[o>>2]|0)+80>>2]=k[n>>2];break}}else p=5;while(0);if((p|0)==5)k[n>>2]=1;vg(k[l>>2]|0,k[n>>2]|0);s=bh(k[l>>2]|0,k[n>>2]|0)|0;k[n>>2]=s;k[f>>2]=k[n>>2];s=k[f>>2]|0;r=q;return s|0}function _h(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+4>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+87|0;i[d>>0]=i[d>>0]&-2|1;k[b>>2]=k[(k[b>>2]|0)+52>>2]}r=c;return}function $h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;p=x+32|0;q=x+28|0;m=x+24|0;j=x+20|0;o=x+56|0;h=x+16|0;n=x+12|0;f=x+8|0;g=x+4|0;e=x;k[t>>2]=a;k[u>>2]=b;k[v>>2]=c;k[w>>2]=d;k[m>>2]=l[(k[v>>2]|0)+1>>0];k[j>>2]=l[k[v>>2]>>0];i[o>>0]=i[(k[v>>2]|0)+3>>0]|0;k[h>>2]=0;a:while(1){if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=GC(t)|0;k[p>>2]=d;if(!d){a=83;break}if((k[p>>2]|0)==(k[j>>2]|0)){a=7;break}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){b=GC(t)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=49;break a}k[h>>2]=k[t>>2];break}k[f>>2]=0;k[g>>2]=0;k[e>>2]=0;b=GC(u)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=52;break a}b=GC(t)|0;k[q>>2]=b;if((k[q>>2]|0)==94){k[e>>2]=1;b=GC(t)|0;k[q>>2]=b}if((k[q>>2]|0)==93){if((k[p>>2]|0)==93)k[g>>2]=1;b=GC(t)|0;k[q>>2]=b}while(1){d=k[q>>2]|0;if(!((k[q>>2]|0)!=0?(k[q>>2]|0)!=93:0))break;if(((d|0)==45?(l[k[t>>2]>>0]|0)!=93:0)?((k[f>>2]|0)>>>0>0?(l[k[t>>2]>>0]|0)!=0:0):0){b=GC(t)|0;k[q>>2]=b;if((k[p>>2]|0)>>>0>=(k[f>>2]|0)>>>0?(k[p>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)k[g>>2]=1;k[f>>2]=0}else{if((k[p>>2]|0)==(k[q>>2]|0))k[g>>2]=1;k[f>>2]=k[q>>2]}b=GC(t)|0;k[q>>2]=b}if(!d){a=73;break a}if(!(k[g>>2]^k[e>>2])){a=73;break a}else continue a}while(0);if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=GC(u)|0;k[q>>2]=d;if((k[p>>2]|0)==(k[q>>2]|0))continue;if((l[o>>0]|0)!=0&(k[p>>2]|0)>>>0<128&(k[q>>2]|0)>>>0<128?(l[18229+(k[p>>2]&255)>>0]|0)==(l[18229+(k[q>>2]&255)>>0]|0):0)continue;if((k[p>>2]|0)!=(k[m>>2]|0)){a=82;break}if(!((k[q>>2]|0)!=0?(k[t>>2]|0)!=(k[h>>2]|0):0)){a=82;break}}if((a|0)==7){while(1){a=0;if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=GC(t)|0;k[p>>2]=d;if((d|0)==(k[j>>2]|0))d=1;else d=(k[p>>2]|0)==(k[m>>2]|0);c=k[p>>2]|0;if(!d)break;if((c|0)!=(k[m>>2]|0)){a=7;continue}if(!(GC(u)|0)){a=15;break}else a=7}if((a|0)==15){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}if(!c){k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){m=GC(t)|0;k[p>>2]=m;if(k[p>>2]|0)break;k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}b:while(1){if(l[k[u>>2]>>0]|0)d=($h((k[t>>2]|0)+-1|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)==0;else d=0;c=k[u>>2]|0;if(!d)break;k[u>>2]=c+1;if((l[c>>0]|0)<192)continue;while(1){if((l[k[u>>2]>>0]&192|0)!=128)continue b;k[u>>2]=(k[u>>2]|0)+1}}k[s>>2]=(l[c>>0]|0)!=0&1;w=k[s>>2]|0;r=x;return w|0}while(0);c:do if((k[p>>2]|0)>>>0<=128){d=k[p>>2]|0;if(i[o>>0]|0){k[n>>2]=d&~(l[19019+(k[p>>2]&255)>>0]&32);k[p>>2]=l[18229+(k[p>>2]&255)>>0]}else k[n>>2]=d;while(1){o=k[u>>2]|0;k[u>>2]=o+1;o=l[o>>0]|0;k[q>>2]=o;if(!o)break c;if((k[q>>2]|0)!=(k[p>>2]|0)?(k[q>>2]|0)!=(k[n>>2]|0):0)continue;if($h(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}else{while(1){if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=GC(u)|0;k[q>>2]=d;if(!d)break c;if((k[q>>2]|0)!=(k[p>>2]|0))continue;if($h(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}while(0);k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==49){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==52){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==73){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==82){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==83){k[s>>2]=(l[k[u>>2]>>0]|0)==0&1;w=k[s>>2]|0;r=x;return w|0}return 0}function ai(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[c>>2]|0)){EH(40184);k[b>>2]=0}else{k[d>>2]=k[(k[c>>2]|0)+80>>2];if((k[d>>2]|0)==-1607883113){k[b>>2]=1;break}if(ci(k[c>>2]|0)|0)EH(40189);k[b>>2]=0}while(0);r=e;return k[b>>2]|0}function bi(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+32|0;i=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[k[o>>2]>>2]=0;b=(ai(k[i>>2]|0)|0)==0;if(b|(k[j>>2]|0)==0){b=Vf(112684)|0;k[h>>2]=b;b=k[h>>2]|0;r=s;return b|0}Yf(k[i>>2]|0);b=FH(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b;if((k[q>>2]|0)==17){ge(k[k[o>>2]>>2]|0)|0;b=FH(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b}k[h>>2]=k[q>>2];b=k[h>>2]|0;r=s;return b|0}function ci(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;b=c+8|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[(k[e>>2]|0)+80>>2];if((k[d>>2]|0)!=1266094736&(k[d>>2]|0)!=-1607883113&(k[d>>2]|0)!=-264537850){EH(40031);k[b>>2]=0;e=k[b>>2]|0;r=c;return e|0}else{k[b>>2]=1;e=k[b>>2]|0;r=c;return e|0}return 0}function di(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;p=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=0;b=Tf(k[g>>2]|0)|0;k[l>>2]=b;if(!(Aj((k[f>>2]|0)+320|0,k[g>>2]|0)|0)){b=$w(k[f>>2]|0,20+(k[l>>2]|0)+1|0,0)|0;k[n>>2]=b;if((k[n>>2]|0)!=0?(k[p>>2]=(k[n>>2]|0)+20,IR(k[p>>2]|0,k[g>>2]|0,(k[l>>2]|0)+1|0)|0,k[(k[n>>2]|0)+4>>2]=k[p>>2],k[k[n>>2]>>2]=k[h>>2],k[(k[n>>2]|0)+8>>2]=k[i>>2],k[(k[n>>2]|0)+12>>2]=k[j>>2],k[(k[n>>2]|0)+16>>2]=0,b=ak((k[f>>2]|0)+320|0,k[p>>2]|0,k[n>>2]|0)|0,k[m>>2]=b,(k[m>>2]|0)!=0):0){vh(k[f>>2]|0);bg(k[f>>2]|0,k[m>>2]|0)}}else{b=Vf(121109)|0;k[o>>2]=b}b=bh(k[f>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;if(!((k[o>>2]|0)!=0&(k[j>>2]|0)!=0)){b=k[o>>2]|0;r=q;return b|0}_b[k[j>>2]&255](k[i>>2]|0);b=k[o>>2]|0;r=q;return b|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+80|0;d=z+72|0;p=z+16|0;o=z+8|0;n=z;s=z+68|0;t=z+64|0;e=z+60|0;f=z+56|0;w=z+52|0;v=z+48|0;j=z+44|0;m=z+40|0;g=z+36|0;u=z+32|0;h=z+28|0;x=z+24|0;y=z+20|0;k[t>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;k[g>>2]=-1;k[u>>2]=k[k[t>>2]>>2];k[h>>2]=k[(k[u>>2]|0)+92+4>>2];if(!(k[(k[u>>2]|0)+152>>2]|0))k[(k[u>>2]|0)+248>>2]=0;k[(k[t>>2]|0)+12>>2]=0;k[(k[t>>2]|0)+484>>2]=k[e>>2];k[v>>2]=0;b=gv(179)|0;k[j>>2]=b;if(!(k[j>>2]|0)){vh(k[u>>2]|0);k[s>>2]=7;y=k[s>>2]|0;r=z;return y|0}while(1){if(!(i[(k[e>>2]|0)+(k[v>>2]|0)>>0]|0))break;k[(k[t>>2]|0)+508>>2]=(k[e>>2]|0)+(k[v>>2]|0);b=hv((k[e>>2]|0)+(k[v>>2]|0)|0,m)|0;k[(k[t>>2]|0)+508+4>>2]=b;k[v>>2]=(k[v>>2]|0)+(k[(k[t>>2]|0)+508+4>>2]|0);if((k[v>>2]|0)>(k[h>>2]|0)){q=7;break}if((k[m>>2]|0)>=160){if(k[(k[u>>2]|0)+248>>2]|0){q=10;break}if((k[m>>2]|0)==161){q=12;break}else continue}else{a=k[j>>2]|0;c=k[m>>2]|0;A=(k[t>>2]|0)+508|0;b=k[t>>2]|0;k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];iv(a,c,d,b);k[g>>2]=k[m>>2];if(k[(k[t>>2]|0)+12>>2]|0)break;if(l[(k[u>>2]|0)+69>>0]|0)break;else continue}}if((q|0)==7)k[(k[t>>2]|0)+12>>2]=18;else if((q|0)==10)k[(k[t>>2]|0)+12>>2]=9;else if((q|0)==12){A=k[t>>2]|0;k[n>>2]=(k[t>>2]|0)+508;Mh(A,27053,n)}k[(k[t>>2]|0)+484>>2]=(k[e>>2]|0)+(k[v>>2]|0);if((k[(k[t>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+69>>0]|0)==0:0){if((k[g>>2]|0)!=1){q=k[j>>2]|0;b=(k[t>>2]|0)+508|0;A=k[t>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];iv(q,1,d,A)}if((k[(k[t>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+69>>0]|0)==0:0){q=k[j>>2]|0;b=(k[t>>2]|0)+508|0;A=k[t>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];iv(q,0,d,A)}}jv(k[j>>2]|0,148);if(i[(k[u>>2]|0)+69>>0]|0)k[(k[t>>2]|0)+12>>2]=7;if(((k[(k[t>>2]|0)+12>>2]|0)!=0?(k[(k[t>>2]|0)+12>>2]|0)!=101:0)?(k[(k[t>>2]|0)+4>>2]|0)==0:0){A=k[u>>2]|0;q=uh(k[(k[t>>2]|0)+12>>2]|0)|0;k[o>>2]=q;A=Oh(A,19007,o)|0;k[(k[t>>2]|0)+4>>2]=A}if(k[(k[t>>2]|0)+4>>2]|0){k[k[f>>2]>>2]=k[(k[t>>2]|0)+4>>2];A=k[(k[t>>2]|0)+12>>2]|0;k[p>>2]=k[k[f>>2]>>2];$d(A,19007,p);k[(k[t>>2]|0)+4>>2]=0;k[w>>2]=(k[w>>2]|0)+1}if(((k[(k[t>>2]|0)+8>>2]|0)!=0?(k[(k[t>>2]|0)+68>>2]|0)>0:0)?(l[(k[t>>2]|0)+18>>0]|0)==0:0){kv(k[(k[t>>2]|0)+8>>2]|0);k[(k[t>>2]|0)+8>>2]=0}if(!(l[(k[t>>2]|0)+18>>0]|0)){bg(k[u>>2]|0,k[(k[t>>2]|0)+408>>2]|0);k[(k[t>>2]|0)+408>>2]=0;k[(k[t>>2]|0)+404>>2]=0}Ud(k[(k[t>>2]|0)+524>>2]|0);if(!(i[(k[t>>2]|0)+454>>0]|0))$f(k[u>>2]|0,k[(k[t>>2]|0)+488>>2]|0);if(k[(k[t>>2]|0)+540>>2]|0)lv(k[u>>2]|0,k[(k[t>>2]|0)+540>>2]|0);_f(k[u>>2]|0,k[(k[t>>2]|0)+492>>2]|0);k[v>>2]=(k[(k[t>>2]|0)+448>>2]|0)-1;while(1){d=k[u>>2]|0;if((k[v>>2]|0)<0)break;bg(d,k[(k[(k[t>>2]|0)+476>>2]|0)+(k[v>>2]<<2)>>2]|0);k[v>>2]=(k[v>>2]|0)+-1}bg(d,k[(k[t>>2]|0)+476>>2]|0);while(1){if(!(k[(k[t>>2]|0)+412>>2]|0))break;k[x>>2]=k[(k[t>>2]|0)+412>>2];k[(k[t>>2]|0)+412>>2]=k[k[x>>2]>>2];bg(k[u>>2]|0,k[x>>2]|0)}while(1){if(!(k[(k[t>>2]|0)+528>>2]|0))break;k[y>>2]=k[(k[t>>2]|0)+528>>2];k[(k[t>>2]|0)+528>>2]=k[(k[y>>2]|0)+68>>2];$f(k[u>>2]|0,k[y>>2]|0)}k[s>>2]=k[w>>2];A=k[s>>2]|0;r=z;return A|0}function fi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Bh(k[b>>2]|0,40,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}j[(k[c>>2]|0)+8>>1]=1;k[(k[c>>2]|0)+32>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function gi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m+16|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[f>>2]|0)){r=m;return}ph(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,i[j>>0]|0,k[l>>2]|0)|0;r=m;return}function hi(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=5064;wf(4,b)|0;r=a;return}function ii(){return 88}function ji(){return 40}function ki(){return 32}function li(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=5012;wf(18,b)|0;r=a;return}function mi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Du(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function ni(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+8>>0]|0|0)==2;a=a&1;r=c;return a|0}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(k[(k[f>>2]|0)+256+8>>2]|0){k[e>>2]=5;c=k[e>>2]|0;r=p;return c|0}if(i[(k[f>>2]|0)+256+6>>0]|0)Ud(k[(k[f>>2]|0)+256+32>>2]|0);c=k[h>>2]&-8;k[h>>2]=c;k[h>>2]=(k[h>>2]|0)<=4?0:c;if((k[l>>2]|0)<0)k[l>>2]=0;do if(!((k[h>>2]|0)==0|(k[l>>2]|0)==0)){if(k[g>>2]|0){k[o>>2]=k[g>>2];break}ek();c=ha(k[h>>2]|0,k[l>>2]|0)|0;c=jg(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;fk();if(k[o>>2]|0){c=kg(k[o>>2]|0)|0;k[l>>2]=(c|0)/(k[h>>2]|0)|0}}else{k[h>>2]=0;k[o>>2]=0}while(0);k[(k[f>>2]|0)+256+32>>2]=k[o>>2];k[(k[f>>2]|0)+256+28>>2]=0;j[(k[f>>2]|0)+256+4>>1]=k[h>>2];if(k[o>>2]|0){k[n>>2]=k[o>>2];k[m>>2]=(k[l>>2]|0)-1;while(1){if((k[m>>2]|0)<0)break;k[k[n>>2]>>2]=k[(k[f>>2]|0)+256+28>>2];k[(k[f>>2]|0)+256+28>>2]=k[n>>2];k[n>>2]=(k[n>>2]|0)+(k[h>>2]|0);k[m>>2]=(k[m>>2]|0)+-1}k[(k[f>>2]|0)+256+36>>2]=k[n>>2];k[(k[f>>2]|0)+256>>2]=0;i[(k[f>>2]|0)+256+6>>0]=(k[g>>2]|0)==0?1:0}else{k[(k[f>>2]|0)+256+32>>2]=k[f>>2];k[(k[f>>2]|0)+256+36>>2]=k[f>>2];k[(k[f>>2]|0)+256>>2]=1;i[(k[f>>2]|0)+256+6>>0]=0}k[e>>2]=0;c=k[e>>2]|0;r=p;return c|0}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}if(!(ci(k[d>>2]|0)|0)){f=Vf(136682)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}vu(k[d>>2]|0);wu(k[d>>2]|0)|0;if((k[e>>2]|0)==0?(xu(k[d>>2]|0)|0)!=0:0){tg(k[d>>2]|0,5,26911,f);k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}k[(k[d>>2]|0)+80>>2]=1691352191;Zg(k[d>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;c=e+16|0;h=e+12|0;g=e+8|0;d=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[f>>2]=k[(k[h>>2]|0)+428>>2];if((((k[g>>2]|0)+1|0)*1e3|0)>(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=e;return h|0}else{Ei(k[k[d>>2]>>2]|0,1e6)|0;k[c>>2]=1;h=k[c>>2]|0;r=e;return h|0}return 0} -function kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+44|0;c=q+40|0;j=q+36|0;f=q+32|0;n=q+28|0;g=q+24|0;m=q+20|0;d=q+16|0;o=q+12|0;p=q+8|0;e=q;k[c>>2]=a;k[j>>2]=b;if(!(k[(k[j>>2]|0)+48>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}if(!(k[(k[j>>2]|0)+44>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[g>>2]=k[j>>2];while(1){if(!(k[g>>2]|0))break;if((l[(k[g>>2]|0)+4>>0]|0|0)!=116?(l[(k[g>>2]|0)+4>>0]|0|0)!=119:0)break;k[g>>2]=k[(k[g>>2]|0)+48>>2]}if(!(k[g>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[d>>2]=k[(k[(k[j>>2]|0)+44>>2]|0)+4>>2];k[f>>2]=(k[k[(k[j>>2]|0)+44>>2]>>2]|0)-1;while(1){if((k[f>>2]|0)<0)break;if(k[(k[(k[d>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[p>>2]=k[k[c>>2]>>2];k[m>>2]=k[k[p>>2]>>2];g=Bh(k[m>>2]|0,68,0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0};k[e>>2]=0;k[e+4>>2]=0;g=Zv(k[p>>2]|0,0,0,0,e,k[n>>2]|0,0,0)|0;k[o>>2]=g;if(!(k[o>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0}else{c=k[n>>2]|0;d=k[j>>2]|0;e=c+68|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[(k[j>>2]|0)+28>>2]=k[o>>2];p=k[p>>2]|0;p=$v(p,0,cw(k[m>>2]|0,158,0)|0)|0;k[k[j>>2]>>2]=p;i[(k[j>>2]|0)+4>>0]=119;k[(k[j>>2]|0)+32>>2]=0;k[(k[n>>2]|0)+36>>2]=0;k[(k[n>>2]|0)+40>>2]=0;k[(k[n>>2]|0)+44>>2]=0;k[(k[j>>2]|0)+48>>2]=0;k[(k[j>>2]|0)+52>>2]=0;k[(k[j>>2]|0)+64>>2]=0;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]&-257;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]|65536;k[(k[(k[n>>2]|0)+48>>2]|0)+52>>2]=k[n>>2];k[(k[n>>2]|0)+56>>2]=0;k[(k[n>>2]|0)+60>>2]=0;k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}return 0}function lz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;o=Y+8|0;g=Y;p=Y+196|0;c=Y+192|0;q=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;f=Y+202|0;n=Y+140|0;e=Y+136|0;d=Y+200|0;s=Y+132|0;E=Y+128|0;h=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;k[c>>2]=a;k[q>>2]=b;k[F>>2]=k[k[c>>2]>>2];k[t>>2]=k[k[F>>2]>>2];j[f>>1]=k[(k[q>>2]|0)+8>>2];a=(k[q>>2]|0)+8|0;k[a>>2]=k[a>>2]|64;if(i[(k[t>>2]|0)+69>>0]|0){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}if((k[(k[q>>2]|0)+28>>2]|0)!=0?(m[f>>1]&64|0)==0:0){k[J>>2]=k[(k[q>>2]|0)+28>>2];k[A>>2]=k[k[q>>2]>>2];if((k[(k[c>>2]|0)+12>>2]|0)==132){a=k[F>>2]|0;f=(nz(k[q>>2]|0)|0)+64|0;jw(a,k[f>>2]|0,0)}cy(k[F>>2]|0,k[J>>2]|0);k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;a:while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0)){d=38;break}if(!((l[(k[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(oz(k[c>>2]|0,k[C>>2]|0)|0){d=12;break}do if(!(k[(k[C>>2]|0)+16>>2]|0)){if(!(k[(k[C>>2]|0)+8>>2]|0)){k[e>>2]=k[(k[C>>2]|0)+20>>2];if(uy(k[c>>2]|0,k[e>>2]|0)|0){d=16;break a}f=Bh(k[t>>2]|0,72,0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=18;break a}j[(k[n>>2]|0)+36>>1]=1;f=k[t>>2]|0;k[g>>2]=k[n>>2];f=Oh(f,30705,g)|0;k[k[n>>2]>>2]=f;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}ey(k[F>>2]|0,k[k[e>>2]>>2]|0,(k[n>>2]|0)+34|0,(k[n>>2]|0)+4|0)|0;j[(k[n>>2]|0)+32>>1]=-1;j[(k[n>>2]|0)+38>>1]=200;f=(k[n>>2]|0)+42|0;i[f>>0]=l[f>>0]|2;break}f=vx(k[F>>2]|0,0,k[C>>2]|0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=24;break a}if((m[(k[n>>2]|0)+36>>1]|0)==65535){d=26;break a}f=(k[n>>2]|0)+36|0;j[f>>1]=(j[f>>1]|0)+1<<16>>16;if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(pz(k[F>>2]|0,k[C>>2]|0)|0)!=0:0){d=29;break a}if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(k[(k[n>>2]|0)+12>>2]|0)==0:0)break;if(Wx(k[F>>2]|0,k[n>>2]|0)|0){d=33;break a}f=by(k[t>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[C>>2]|0)+20>>2]=f;j[d>>1]=j[(k[n>>2]|0)+34>>1]|0;j[(k[n>>2]|0)+34>>1]=-1;uy(k[c>>2]|0,k[(k[C>>2]|0)+20>>2]|0)|0;j[(k[n>>2]|0)+34>>1]=j[d>>1]|0}while(0);if(qz(k[F>>2]|0,k[C>>2]|0)|0){d=36;break}}k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if((d|0)==12){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==16){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==18){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==24){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==26){X=k[F>>2]|0;k[o>>2]=k[k[n>>2]>>2];Mh(X,30718,o);k[(k[C>>2]|0)+16>>2]=0;k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==29){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==33){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==36){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==38){if((l[(k[t>>2]|0)+69>>0]|0)==0?(rz(k[F>>2]|0,k[q>>2]|0)|0)==0:0){k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[(k[A>>2]|0)+4>>2]|0)+((k[x>>2]|0)*20|0)>>2];if((l[k[z>>2]>>0]|0)==158)break;if((l[k[z>>2]>>0]|0)==122?(l[k[(k[z>>2]|0)+16>>2]>>0]|0)==158:0)break;k[x>>2]=(k[x>>2]|0)+1}if((k[x>>2]|0)<(k[k[A>>2]>>2]|0)){k[s>>2]=k[(k[A>>2]|0)+4>>2];k[E>>2]=0;k[h>>2]=k[(k[k[F>>2]>>2]|0)+24>>2];if(k[h>>2]&4)c=(k[h>>2]&64|0)==0;else c=0;k[y>>2]=c&1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2];k[G>>2]=k[(k[z>>2]|0)+16>>2];do if((l[k[z>>2]>>0]|0)!=158){if((l[k[z>>2]>>0]|0)==122?(l[k[G>>2]>>0]|0)==158:0){d=58;break}o=$v(k[F>>2]|0,k[E>>2]|0,k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]|0)|0;k[E>>2]=o;if(k[E>>2]|0){k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2];k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2];k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2]=0;k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2]=0}k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]=0}else d=58;while(0);do if((d|0)==58){d=0;k[M>>2]=0;k[V>>2]=0;if((l[k[z>>2]>>0]|0)==122)k[V>>2]=k[(k[(k[z>>2]|0)+12>>2]|0)+8>>2];k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0))break;k[I>>2]=k[(k[C>>2]|0)+16>>2];k[H>>2]=k[(k[C>>2]|0)+20>>2];k[W>>2]=k[(k[C>>2]|0)+12>>2];k[U>>2]=0;if(!(k[W>>2]|0))k[W>>2]=k[k[I>>2]>>2];if(i[(k[t>>2]|0)+69>>0]|0)break;if((k[H>>2]|0)!=0?(k[(k[H>>2]|0)+8>>2]&2048|0)!=0:0)d=72;else d=67;do if((d|0)==67){d=0;k[H>>2]=0;if((k[V>>2]|0)!=0?(sg(k[V>>2]|0,k[W>>2]|0)|0)!=0:0)break;o=Nh(k[t>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[v>>2]=o;if((k[v>>2]|0)>=0)c=k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)>>2]|0;else c=26067;k[U>>2]=c;d=72}while(0);b:do if((d|0)==72){d=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(j[(k[I>>2]|0)+34>>1]|0))break b;k[T>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)>>2];if(!((k[V>>2]|0)!=0&(k[H>>2]|0)!=0?(gz(k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0,0,k[V>>2]|0,0)|0)==0:0))d=76;do if((d|0)==76){d=0;if((k[(k[q>>2]|0)+8>>2]&131072|0)==0?(l[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)+15>>0]&2|0)!=0:0)break;k[M>>2]=1;if((k[u>>2]|0)>0&(k[V>>2]|0)==0){if((l[(k[C>>2]|0)+36>>0]&4|0)!=0?(sz(k[J>>2]|0,k[u>>2]|0,k[T>>2]|0,0,0)|0)!=0:0)break;if((tz(k[(k[C>>2]|0)+52>>2]|0,k[T>>2]|0)|0)>=0)break}o=cw(k[t>>2]|0,55,k[T>>2]|0)|0;k[G>>2]=o;k[S>>2]=k[T>>2];k[X>>2]=0;do if(k[y>>2]|0)d=84;else{if((k[k[J>>2]>>2]|0)>1){d=84;break}k[B>>2]=k[G>>2]}while(0);do if((d|0)==84){d=0;o=cw(k[t>>2]|0,55,k[W>>2]|0)|0;k[D>>2]=o;o=Mv(k[F>>2]|0,122,k[D>>2]|0,k[G>>2]|0,0)|0;k[B>>2]=o;if(k[U>>2]|0){o=cw(k[t>>2]|0,55,k[U>>2]|0)|0;k[D>>2]=o;o=Mv(k[F>>2]|0,122,k[D>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=o}if(!(k[y>>2]|0))break;o=k[t>>2]|0;n=k[T>>2]|0;k[R>>2]=k[W>>2];k[R+4>>2]=n;o=Oh(o,30757,R)|0;k[S>>2]=o;k[X>>2]=k[S>>2]}while(0);o=$v(k[F>>2]|0,k[E>>2]|0,k[B>>2]|0)|0;k[E>>2]=o;Zy(L,k[S>>2]|0);aw(k[F>>2]|0,k[E>>2]|0,L,0);do if(k[E>>2]|0){if(!(k[(k[q>>2]|0)+8>>2]&2048))break;k[K>>2]=(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0);c=k[t>>2]|0;if(k[H>>2]|0){o=zh(c,k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0)|0;k[(k[K>>2]|0)+8>>2]=o}else{n=k[W>>2]|0;o=k[S>>2]|0;k[N>>2]=k[U>>2];k[N+4>>2]=n;k[N+8>>2]=o;o=Oh(c,30763,N)|0;k[(k[K>>2]|0)+8>>2]=o}o=(k[K>>2]|0)+13|0;i[o>>0]=i[o>>0]&-3|2}while(0);bg(k[t>>2]|0,k[X>>2]|0)}while(0);k[w>>2]=(k[w>>2]|0)+1}}while(0);k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if(!(k[M>>2]|0)){c=k[F>>2]|0;if(k[V>>2]|0){k[O>>2]=k[V>>2];Mh(c,30772,O);break}else{Mh(c,30790,P);break}}}while(0);k[x>>2]=(k[x>>2]|0)+1}mv(k[t>>2]|0,k[A>>2]|0);k[k[q>>2]>>2]=k[E>>2]}if((k[k[q>>2]>>2]|0)!=0?(k[k[k[q>>2]>>2]>>2]|0)>(k[(k[t>>2]|0)+92+8>>2]|0):0){Mh(k[F>>2]|0,30810,Q);k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=0;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}}k[p>>2]=1;X=k[p>>2]|0;r=Y;return X|0}function mz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;c=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[c>>2]=k[k[g>>2]>>2];a=(nz(k[f>>2]|0)|0)+64|0;k[d>>2]=k[a>>2];if(!(k[d>>2]|0)){r=e;return}k[(k[c>>2]|0)+536>>2]=k[(k[d>>2]|0)+4>>2];r=e;return}function nz(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+52>>2]|0))break;k[b>>2]=k[a+52>>2]}r=c;return a|0}function oz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;u=B+16|0;n=B+8|0;d=B;v=B+88|0;w=B+84|0;e=B+80|0;y=B+76|0;c=B+72|0;x=B+68|0;o=B+64|0;t=B+60|0;q=B+56|0;A=B+52|0;s=B+48|0;p=B+44|0;z=B+40|0;f=B+36|0;h=B+32|0;g=B+28|0;k[w>>2]=a;k[e>>2]=b;k[y>>2]=k[k[w>>2]>>2];k[c>>2]=k[k[y>>2]>>2];a=Hz(k[(k[y>>2]|0)+536>>2]|0,k[e>>2]|0,o)|0;k[x>>2]=a;if(k[x>>2]|0){b=k[y>>2]|0;if(k[(k[x>>2]|0)+12>>2]|0){A=k[(k[x>>2]|0)+12>>2]|0;k[d>>2]=k[k[x>>2]>>2];Mh(b,A,d);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}if(pz(b,k[e>>2]|0)|0){k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}d=Bh(k[c>>2]|0,72,0)|0;k[t>>2]=d;k[(k[e>>2]|0)+16>>2]=d;if(!(k[t>>2]|0)){k[v>>2]=2;A=k[v>>2]|0;r=B;return A|0}j[(k[t>>2]|0)+36>>1]=1;d=zh(k[c>>2]|0,k[k[x>>2]>>2]|0)|0;k[k[t>>2]>>2]=d;j[(k[t>>2]|0)+32>>1]=-1;j[(k[t>>2]|0)+38>>1]=200;d=(k[t>>2]|0)+42|0;i[d>>0]=l[d>>0]|66;d=by(k[c>>2]|0,k[(k[x>>2]|0)+8>>2]|0,0)|0;k[(k[e>>2]|0)+20>>2]=d;if(i[(k[c>>2]|0)+69>>0]|0){k[v>>2]=7;A=k[v>>2]|0;r=B;return A|0}k[A>>2]=k[(k[e>>2]|0)+20>>2];if((l[(k[A>>2]|0)+4>>0]|0)==116)b=1;else b=(l[(k[A>>2]|0)+4>>0]|0)==115;k[p>>2]=b&1;a:do if(k[p>>2]|0){k[h>>2]=k[(k[(k[e>>2]|0)+20>>2]|0)+28>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[h>>2]>>2]|0))break a;k[g>>2]=(k[h>>2]|0)+8+((k[f>>2]|0)*72|0);if(((k[(k[g>>2]|0)+4>>2]|0)==0?(k[(k[g>>2]|0)+8>>2]|0)!=0:0)?0==(sg(k[(k[g>>2]|0)+8>>2]|0,k[k[x>>2]>>2]|0)|0):0){k[(k[g>>2]|0)+16>>2]=k[t>>2];e=(k[g>>2]|0)+36+1|0;i[e>>0]=i[e>>0]&-33|32;e=(k[t>>2]|0)+36|0;j[e>>1]=(j[e>>1]|0)+1<<16>>16;e=(k[A>>2]|0)+8|0;k[e>>2]=k[e>>2]|8192}k[f>>2]=(k[f>>2]|0)+1}}while(0);if((m[(k[t>>2]|0)+36>>1]|0)>2){A=k[y>>2]|0;k[n>>2]=k[k[x>>2]>>2];Mh(A,31051,n);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+12>>2]=31094;k[z>>2]=k[(k[y>>2]|0)+536>>2];k[(k[y>>2]|0)+536>>2]=k[o>>2];b=k[A>>2]|0;if(k[p>>2]|0)b=k[b+48>>2]|0;uy(k[w>>2]|0,b)|0;k[(k[y>>2]|0)+536>>2]=k[o>>2];k[s>>2]=k[A>>2];while(1){b=k[s>>2]|0;if(!(k[(k[s>>2]|0)+48>>2]|0))break;k[s>>2]=k[b+48>>2]}k[q>>2]=k[b>>2];if(k[(k[x>>2]|0)+4>>2]|0){if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[(k[x>>2]|0)+4>>2]>>2]|0):0){A=k[y>>2]|0;t=k[k[q>>2]>>2]|0;w=k[k[(k[x>>2]|0)+4>>2]>>2]|0;k[u>>2]=k[k[x>>2]>>2];k[u+4>>2]=t;k[u+8>>2]=w;Mh(A,31117,u);k[(k[y>>2]|0)+536>>2]=k[z>>2];k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[q>>2]=k[(k[x>>2]|0)+4>>2]}ey(k[y>>2]|0,k[q>>2]|0,(k[t>>2]|0)+34|0,(k[t>>2]|0)+4|0)|0;if(k[p>>2]|0){b=(k[x>>2]|0)+12|0;if(k[(k[A>>2]|0)+8>>2]&8192)k[b>>2]=31155;else k[b>>2]=31189;uy(k[w>>2]|0,k[A>>2]|0)|0}k[(k[x>>2]|0)+12>>2]=0;k[(k[y>>2]|0)+536>>2]=k[z>>2]}k[v>>2]=0;A=k[v>>2]|0;r=B;return A|0}function pz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1){a=k[d>>2]|0;k[f>>2]=k[(k[e>>2]|0)+8>>2];Mh(a,31028,f);k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}return 0}function qz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;c=m+28|0;d=m+24|0;e=m+20|0;g=m+16|0;j=m+12|0;f=m+8|0;k[d>>2]=a;k[e>>2]=b;do if((k[(k[e>>2]|0)+16>>2]|0)!=0?((l[(k[e>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){k[g>>2]=k[(k[e>>2]|0)+16>>2];k[j>>2]=k[(k[e>>2]|0)+64>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[f>>2]|0))break;if(!(sg(k[k[f>>2]>>2]|0,k[j>>2]|0)|0))break;k[f>>2]=k[(k[f>>2]|0)+20>>2]}if(k[f>>2]|0){k[(k[e>>2]|0)+68>>2]=k[f>>2];break}g=k[d>>2]|0;k[h>>2]=k[j>>2];k[h+4>>2]=0;Mh(g,31010,h);i[(k[d>>2]|0)+17>>0]=1;k[c>>2]=1;j=k[c>>2]|0;r=m;return j|0}while(0);k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}function rz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;c=C+84|0;u=C+80|0;d=C+76|0;n=C+72|0;o=C+68|0;s=C+64|0;p=C+60|0;t=C+56|0;m=C+52|0;v=C+48|0;e=C+44|0;g=C+40|0;q=C+36|0;B=C+32|0;f=C+28|0;h=C+24|0;i=C+20|0;k[x>>2]=a;k[c>>2]=b;k[u>>2]=k[(k[c>>2]|0)+28>>2];k[o>>2]=(k[u>>2]|0)+8;k[s>>2]=(k[o>>2]|0)+72;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=((k[k[u>>2]>>2]|0)-1|0)){c=28;break}k[p>>2]=k[(k[o>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+16>>2];b:do if(!((k[p>>2]|0)==0|(k[t>>2]|0)==0)){k[m>>2]=(l[(k[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(l[(k[s>>2]|0)+36>>0]&4){if(k[(k[s>>2]|0)+48>>2]|0){c=7;break a}if(k[(k[s>>2]|0)+52>>2]|0){c=7;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[t>>2]|0)+34>>1]|0))break c;k[v>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(sz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[v>>2]|0,e,g)|0)vz(k[x>>2]|0,k[u>>2]|0,k[e>>2]|0,k[g>>2]|0,(k[d>>2]|0)+1|0,k[n>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}while(0);if((k[(k[s>>2]|0)+48>>2]|0)!=0?(k[(k[s>>2]|0)+52>>2]|0)!=0:0){c=15;break a}if(k[(k[s>>2]|0)+48>>2]|0){if(k[m>>2]|0)wz(k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+44>>2]|0);a=xz(k[k[x>>2]>>2]|0,k[(k[c>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+48>>2]|0)|0;k[(k[c>>2]|0)+32>>2]=a;k[(k[s>>2]|0)+48>>2]=0}if(k[(k[s>>2]|0)+52>>2]|0){k[q>>2]=k[(k[s>>2]|0)+52>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+4>>2]|0))break b;k[B>>2]=k[(k[k[q>>2]>>2]|0)+(k[n>>2]<<3)>>2];a=uz(k[t>>2]|0,k[B>>2]|0)|0;k[i>>2]=a;if((k[i>>2]|0)<0){c=25;break a}if(!(sz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[B>>2]|0,f,h)|0)){c=25;break a}vz(k[x>>2]|0,k[u>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[d>>2]|0)+1|0,k[i>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}}while(0);k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+72;k[o>>2]=(k[o>>2]|0)+72}if((c|0)==7){B=k[x>>2]|0;k[y>>2]=0;Mh(B,30841,y);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==15){Mh(k[x>>2]|0,30891,z);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==25){z=k[x>>2]|0;k[A>>2]=k[B>>2];Mh(z,30946,A);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==28){k[w>>2]=0;B=k[w>>2]|0;r=C;return B|0}return 0}function sz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;l=p+8|0;m=p+4|0;n=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[h>>2]|0)){o=8;break}c=uz(k[(k[g>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2]|0,k[i>>2]|0)|0;k[n>>2]=c;if((k[n>>2]|0)>=0)break;k[m>>2]=(k[m>>2]|0)+1}if((o|0)==8){k[f>>2]=0;o=k[f>>2]|0;r=p;return o|0}if(k[j>>2]|0){k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=k[n>>2]}k[f>>2]=1;o=k[f>>2]|0;r=p;return o|0}function tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+4>>2]|0)){a=8;break}a=(sg(k[(k[k[c>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=6;break}k[e>>2]=b+1}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function uz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(j[(k[c>>2]|0)+34>>1]|0)){a=6;break}a=(sg(k[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=4;break}k[e>>2]=b+1}if((a|0)==4){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==6){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function vz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;o=r;r=r+48|0;s=o+44|0;v=o+40|0;x=o+36|0;w=o+32|0;u=o+28|0;t=o+24|0;p=o+20|0;i=o+16|0;l=o+12|0;q=o+8|0;m=o+4|0;n=o;k[s>>2]=a;k[v>>2]=b;k[x>>2]=c;k[w>>2]=d;k[u>>2]=e;k[t>>2]=f;k[p>>2]=g;k[i>>2]=h;k[l>>2]=k[k[s>>2]>>2];h=Gz(k[l>>2]|0,k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[q>>2]=h;h=Gz(k[l>>2]|0,k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0;k[m>>2]=h;h=Mv(k[s>>2]|0,37,k[q>>2]|0,k[m>>2]|0,0)|0;k[n>>2]=h;if(!((k[n>>2]|0)!=0&(k[p>>2]|0)!=0)){v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=xz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}v=(k[n>>2]|0)+4|0;k[v>>2]=k[v>>2]|1;j[(k[n>>2]|0)+36>>1]=k[(k[m>>2]|0)+28>>2];v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=xz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}function wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|1;j[(k[c>>2]|0)+36>>1]=k[d>>2];a:do if((l[k[c>>2]>>0]|0|0)==151?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[c>>2]|0)+20>>2]>>2]|0))break a;wz(k[(k[(k[(k[c>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}}while(0);wz(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0);k[c>>2]=k[(k[c>>2]|0)+16>>2]}r=f;return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if(!(k[f>>2]|0)){k[d>>2]=a;h=k[d>>2]|0;r=i;return h|0}b=k[f>>2]|0;if(!a){k[d>>2]=b;h=k[d>>2]|0;r=i;return h|0}if((yz(b)|0)==0?(yz(k[g>>2]|0)|0)==0:0){c=zz(k[e>>2]|0,28,0,0)|0;k[h>>2]=c;Az(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0);k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}qv(k[e>>2]|0,k[f>>2]|0);qv(k[e>>2]|0,k[g>>2]|0);h=zz(k[e>>2]|0,132,5116,0)|0;k[d>>2]=h;h=k[d>>2]|0;r=i;return h|0}function yz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Hy(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)==0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function zz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+12|0;o=p+8|0;n=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[m>>2]=0;do if(k[g>>2]|0){if(((k[f>>2]|0)==132?(k[k[g>>2]>>2]|0)!=0:0)?(Yi(k[k[g>>2]>>2]|0,m)|0)!=0:0)break;k[n>>2]=(k[(k[g>>2]|0)+4>>2]|0)+1}while(0);c=$w(k[e>>2]|0,48+(k[n>>2]|0)|0,0)|0;k[o>>2]=c;if(!(k[o>>2]|0)){o=k[o>>2]|0;r=p;return o|0}e=k[o>>2]|0;a=e+48|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(a|0));i[k[o>>2]>>0]=k[f>>2];j[(k[o>>2]|0)+34>>1]=-1;do if(k[g>>2]|0){e=k[o>>2]|0;if(!(k[n>>2]|0)){n=e+4|0;k[n>>2]=k[n>>2]|1024;k[(k[o>>2]|0)+8>>2]=k[m>>2];break}k[(k[o>>2]|0)+8>>2]=e+48;if(k[(k[g>>2]|0)+4>>2]|0)IR(k[(k[o>>2]|0)+8>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;i[(k[(k[o>>2]|0)+8>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)>>0]=0;if((k[h>>2]|0)!=0?(l[19019+(l[k[(k[o>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((i[k[(k[o>>2]|0)+8>>2]>>0]|0)==34){n=(k[o>>2]|0)+4|0;k[n>>2]=k[n>>2]|64}dx(k[(k[o>>2]|0)+8>>2]|0)}}while(0);k[(k[o>>2]|0)+24>>2]=1;o=k[o>>2]|0;r=p;return o|0}function Az(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){qv(k[e>>2]|0,k[g>>2]|0);qv(k[e>>2]|0,k[h>>2]|0);r=i;return}if(k[h>>2]|0){k[(k[f>>2]|0)+16>>2]=k[h>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[h>>2]|0)+4>>2]}if(k[g>>2]|0){k[(k[f>>2]|0)+12>>2]=k[g>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[g>>2]|0)+4>>2]}Bz(k[f>>2]|0);r=i;return}function Bz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;Cz(k[(k[b>>2]|0)+12>>2]|0,c);Cz(k[(k[b>>2]|0)+16>>2]|0,c);a=(k[b>>2]|0)+20|0;if(!(k[(k[b>>2]|0)+4>>2]&2048)){if(k[a>>2]|0){Ez(k[(k[b>>2]|0)+20>>2]|0,c);e=2097408&(Fz(k[(k[b>>2]|0)+20>>2]|0)|0);a=(k[b>>2]|0)+4|0;k[a>>2]=k[a>>2]|e}}else Dz(k[a>>2]|0,c);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)+1;r=d;return}function Cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}if((k[(k[c>>2]|0)+24>>2]|0)<=(k[k[d>>2]>>2]|0)){r=e;return}k[k[d>>2]>>2]=k[(k[c>>2]|0)+24>>2];r=e;return}function Dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}Cz(k[(k[c>>2]|0)+32>>2]|0,k[d>>2]|0);Cz(k[(k[c>>2]|0)+40>>2]|0,k[d>>2]|0);Cz(k[(k[c>>2]|0)+56>>2]|0,k[d>>2]|0);Cz(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0);Ez(k[k[c>>2]>>2]|0,k[d>>2]|0);Ez(k[(k[c>>2]|0)+36>>2]|0,k[d>>2]|0);Ez(k[(k[c>>2]|0)+44>>2]|0,k[d>>2]|0);Dz(k[(k[c>>2]|0)+48>>2]|0,k[d>>2]|0);r=e;return}function Ez(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0))break;Cz(k[(k[(k[c>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function Fz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=0;if(!(k[b>>2]|0)){a=k[d>>2]|0;r=f;return a|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];k[d>>2]=k[d>>2]|k[(k[e>>2]|0)+4>>2];k[c>>2]=(k[c>>2]|0)+1}a=k[d>>2]|0;r=f;return a|0}function Gz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0;l=r;r=r+32|0;m=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;b=zz(k[m>>2]|0,152,0,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){m=k[h>>2]|0;r=l;return m|0}k[i>>2]=(k[e>>2]|0)+8+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+44>>2]=k[(k[i>>2]|0)+16>>2];k[(k[h>>2]|0)+28>>2]=k[(k[i>>2]|0)+44>>2];if((j[(k[(k[h>>2]|0)+44>>2]|0)+32>>1]|0)==(k[g>>2]|0))j[(k[h>>2]|0)+32>>1]=-1;else{j[(k[h>>2]|0)+32>>1]=k[g>>2];c=LR(1,0,((k[g>>2]|0)>=64?63:k[g>>2]|0)|0)|0;m=(k[i>>2]|0)+56|0;i=m;b=k[i+4>>2]|L;k[m>>2]=k[i>>2]|c;k[m+4>>2]=b}m=(k[h>>2]|0)+4|0;k[m>>2]=k[m>>2]|4;m=k[h>>2]|0;r=l;return m|0}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;i=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a:do if((k[(k[f>>2]|0)+4>>2]|0)==0?(c=k[(k[f>>2]|0)+8>>2]|0,k[j>>2]=c,(c|0)!=0):0){k[i>>2]=k[e>>2];b:while(1){if(!(k[i>>2]|0))break a;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[i>>2]>>2]|0))break;if(!(sg(k[j>>2]|0,k[(k[i>>2]|0)+8+(k[h>>2]<<4)>>2]|0)|0))break b;k[h>>2]=(k[h>>2]|0)+1}k[i>>2]=k[(k[i>>2]|0)+4>>2]}k[k[g>>2]>>2]=k[i>>2];k[d>>2]=(k[i>>2]|0)+8+(k[h>>2]<<4);j=k[d>>2]|0;r=l;return j|0}while(0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;e=q+32|0;f=q+28|0;g=q+24|0;m=q+20|0;h=q+16|0;i=q+12|0;n=q+8|0;o=q+4|0;p=q;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((k[k[f>>2]>>2]|0)>0)a=((k[k[f>>2]>>2]|0)-1|0)*72|0;else a=0;k[i>>2]=80+a;i=k[i>>2]|0;i=$w(k[e>>2]|0,i,((i|0)<0)<<31>>31)|0;k[m>>2]=i;if(!(k[m>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}i=k[k[f>>2]>>2]|0;k[(k[m>>2]|0)+4>>2]=i;k[k[m>>2]>>2]=i;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=(k[m>>2]|0)+8+((k[h>>2]|0)*72|0);k[o>>2]=(k[f>>2]|0)+8+((k[h>>2]|0)*72|0);k[k[n>>2]>>2]=k[k[o>>2]>>2];i=zh(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+4>>2]=i;i=zh(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[n>>2]|0)+8>>2]=i;i=zh(k[e>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=i;k[(k[n>>2]|0)+36>>2]=k[(k[o>>2]|0)+36>>2];k[(k[n>>2]|0)+44>>2]=k[(k[o>>2]|0)+44>>2];k[(k[n>>2]|0)+24>>2]=k[(k[o>>2]|0)+24>>2];k[(k[n>>2]|0)+28>>2]=k[(k[o>>2]|0)+28>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>1&1){i=zh(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}k[(k[n>>2]|0)+68>>2]=k[(k[o>>2]|0)+68>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1){i=Sy(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}i=k[(k[o>>2]|0)+16>>2]|0;k[(k[n>>2]|0)+16>>2]=i;k[p>>2]=i;if(k[p>>2]|0){i=(k[p>>2]|0)+36|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16}c=by(k[e>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+20>>2]=c;c=Ky(k[e>>2]|0,k[(k[o>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+48>>2]=c;c=Kz(k[e>>2]|0,k[(k[o>>2]|0)+52>>2]|0)|0;k[(k[n>>2]|0)+52>>2]=c;c=(k[o>>2]|0)+56|0;b=k[c+4>>2]|0;i=(k[n>>2]|0)+56|0;k[i>>2]=k[c>>2];k[i+4>>2]=b;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];p=k[d>>2]|0;r=q;return p|0}function Jz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;if(!(k[d>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[f>>2]=24+((k[k[d>>2]>>2]|0)-1<<4);b=k[f>>2]|0;b=Bh(k[c>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(!(k[g>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[k[g>>2]>>2]=k[k[d>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;b=by(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+8>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+8>>2]=b;b=Sy(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+4>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+4>>2]=b;b=zh(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)>>2]|0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)>>2]=b;k[e>>2]=(k[e>>2]|0)+1}g=k[g>>2]|0;r=h;return g|0}function Kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}b=$w(k[d>>2]|0,8,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[(k[g>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];b=$w(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]<<3,0)|0;k[k[g>>2]>>2]=b;if(!(k[k[g>>2]>>2]|0)){bg(k[d>>2]|0,k[g>>2]|0);k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0))break;k[h>>2]=(k[k[g>>2]>>2]|0)+(k[f>>2]<<3);k[i>>2]=(k[k[e>>2]>>2]|0)+(k[f>>2]<<3);b=zh(k[d>>2]|0,k[k[i>>2]>>2]|0)|0;k[k[h>>2]>>2]=b;k[(k[h>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function Lz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;B=N+32|0;K=N+24|0;J=N+16|0;h=N+8|0;g=N;E=N+132|0;F=N+128|0;n=N+124|0;o=N+120|0;p=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;q=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;f=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[G>>2]=e;k[q>>2]=k[(k[n>>2]|0)+52>>2];k[w>>2]=k[(k[n>>2]|0)+48>>2];k[L>>2]=0;k[f>>2]=k[(k[F>>2]|0)+336>>2];while(1){if(!(k[f>>2]|0))break;if((k[(k[f>>2]|0)+4>>2]|0)==(k[n>>2]|0)){m=4;break}k[f>>2]=k[(k[f>>2]|0)+8>>2]}if((m|0)==4){M=k[F>>2]|0;k[g>>2]=k[k[n>>2]>>2];M=Oh(M,31246,g)|0;k[k[G>>2]>>2]=M;k[E>>2]=6;M=k[E>>2]|0;r=N;return M|0}m=k[F>>2]|0;k[h>>2]=k[k[n>>2]>>2];m=Oh(m,19007,h)|0;k[M>>2]=m;if(!(k[M>>2]|0)){k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}a=Bh(k[F>>2]|0,28,0)|0;k[H>>2]=a;a=k[F>>2]|0;if(!(k[H>>2]|0)){bg(a,k[M>>2]|0);k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}k[k[H>>2]>>2]=a;k[(k[H>>2]|0)+4>>2]=k[o>>2];m=Nh(k[F>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[u>>2]=m;k[(k[(k[n>>2]|0)+52>>2]|0)+4>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(k[u>>2]<<4)>>2];k[A+4>>2]=k[n>>2];k[A>>2]=k[H>>2];k[A+8>>2]=k[(k[F>>2]|0)+336>>2];k[A+12>>2]=0;k[(k[F>>2]|0)+336>>2]=A;w=ac[k[p>>2]&255](k[F>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[w>>2]|0,k[q>>2]|0,(k[H>>2]|0)+8|0,L)|0;k[I>>2]=w;k[(k[F>>2]|0)+336>>2]=k[A+8>>2];if((k[I>>2]|0)==7)vh(k[F>>2]|0);a:do if(!(k[I>>2]|0)){if(k[(k[H>>2]|0)+8>>2]|0){L=k[(k[H>>2]|0)+8>>2]|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[k[(k[H>>2]|0)+8>>2]>>2]=k[k[o>>2]>>2];k[(k[H>>2]|0)+12>>2]=1;if(!(k[A+12>>2]|0)){k[C>>2]=31318;K=k[F>>2]|0;L=k[C>>2]|0;k[B>>2]=k[k[n>>2]>>2];L=Oh(K,L,B)|0;k[k[G>>2]>>2]=L;Au(k[H>>2]|0);k[I>>2]=1;break}i[z>>0]=0;k[(k[H>>2]|0)+24>>2]=k[(k[n>>2]|0)+56>>2];k[(k[n>>2]|0)+56>>2]=k[H>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break a;L=Di((k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)|0,19018)|0;k[D>>2]=L;k[s>>2]=0;L=Tf(k[D>>2]|0)|0;k[y>>2]=L;k[s>>2]=0;b:while(1){if((k[s>>2]|0)>=(k[y>>2]|0))break;do if(!(Jd(31364,(k[D>>2]|0)+(k[s>>2]|0)|0,6)|0)){if((k[s>>2]|0)!=0?(i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0))break b;if((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)==32)break b}while(0);k[s>>2]=(k[s>>2]|0)+1}if((k[s>>2]|0)<(k[y>>2]|0)){k[x>>2]=6+((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)!=0?1:0);k[v>>2]=k[s>>2];while(1){if(((k[v>>2]|0)+(k[x>>2]|0)|0)>(k[y>>2]|0))break;i[(k[D>>2]|0)+(k[v>>2]|0)>>0]=i[(k[D>>2]|0)+((k[v>>2]|0)+(k[x>>2]|0))>>0]|0;k[v>>2]=(k[v>>2]|0)+1}if((k[s>>2]|0)>0?(i[(k[D>>2]|0)+(k[s>>2]|0)>>0]|0)==0:0)i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]=0;L=(k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+15|0;i[L>>0]=l[L>>0]|2;i[z>>0]=-128}else{L=(k[n>>2]|0)+42|0;i[L>>0]=l[L>>0]|l[z>>0]}k[t>>2]=(k[t>>2]|0)+1}}}else{a=k[F>>2]|0;if(!(k[L>>2]|0)){k[J>>2]=k[M>>2];L=Oh(a,31288,J)|0;k[k[G>>2]>>2]=L}else{k[K>>2]=k[L>>2];K=Oh(a,19007,K)|0;k[k[G>>2]>>2]=K;Ud(k[L>>2]|0)}bg(k[F>>2]|0,k[H>>2]|0)}while(0);bg(k[F>>2]|0,k[M>>2]|0);k[E>>2]=k[I>>2];M=k[E>>2]|0;r=N;return M|0}function Mz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[k[b>>2]>>2];if(!(i[(k[c>>2]|0)+144+5>>0]|0)){a=Ai(k[c>>2]|0,(k[b>>2]|0)+4|0)|0;k[d>>2]=a}if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}k[(k[b>>2]|0)+12>>2]=k[d>>2];a=(k[b>>2]|0)+68|0;k[a>>2]=(k[a>>2]|0)+1;d=k[d>>2]|0;r=e;return d|0}function Nz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;m=j+24|0;l=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[m>>2]=k[k[c>>2]>>2];k[l>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2];xx(k[c>>2]|0,0,k[d>>2]|0);k[f>>2]=k[(k[c>>2]|0)+72>>2];a=(k[c>>2]|0)+72|0;k[a>>2]=(k[a>>2]|0)+3;Rz(k[c>>2]|0,k[d>>2]|0,k[f>>2]|0,0,0);k[e>>2]=(k[(k[c>>2]|0)+76>>2]|0)+1;k[g>>2]=k[(k[c>>2]|0)+72>>2];k[h>>2]=k[(k[l>>2]|0)+8+8>>2];while(1){if(!(k[h>>2]|0))break;k[i>>2]=k[(k[h>>2]|0)+8>>2];Sz(k[c>>2]|0,k[i>>2]|0,0,k[f>>2]|0,k[e>>2]|0,k[g>>2]|0);k[h>>2]=k[k[h>>2]>>2]}Tz(k[c>>2]|0,k[d>>2]|0);r=j;return}function Oz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;c=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;b=Zw(k[f>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;b=vi(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;bg(k[f>>2]|0,k[e>>2]|0);r=d;return k[c>>2]|0}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Nh(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;xx(k[d>>2]|0,0,k[g>>2]|0);k[h>>2]=k[(k[d>>2]|0)+72>>2];c=(k[d>>2]|0)+72|0;k[c>>2]=(k[c>>2]|0)+3;c=k[d>>2]|0;a=k[g>>2]|0;b=k[h>>2]|0;if(k[f>>2]|0)Rz(c,a,b,k[k[f>>2]>>2]|0,31450);else Rz(c,a,b,k[k[e>>2]>>2]|0,31454);Sz(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+76>>2]|0)+1|0,k[(k[d>>2]|0)+72>>2]|0);Tz(k[d>>2]|0,k[g>>2]|0);r=i;return}function Qz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+8|0;o=q;e=q+36|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;n=q+16|0;m=q+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=k[k[f>>2]>>2];b=(k[m>>2]|0)+144|0;if((k[(k[h>>2]|0)+4>>2]|0)>>>0>0){if(i[b+5>>0]|0){Mh(k[f>>2]|0,31413,o);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}k[k[j>>2]>>2]=k[h>>2];o=Oz(k[m>>2]|0,k[g>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)<0){o=k[f>>2]|0;k[p>>2]=k[g>>2];Mh(o,31430,p);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}}else{k[n>>2]=l[b+4>>0];k[k[j>>2]>>2]=k[g>>2]}k[e>>2]=k[n>>2];p=k[e>>2]|0;r=q;return p|0}function Rz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;v=x+16|0;u=x;f=x+84|0;g=x+80|0;h=x+76|0;j=x+72|0;l=x+68|0;p=x+64|0;o=x+60|0;q=x+56|0;t=x+52|0;n=x+40|0;m=x+88|0;w=x+36|0;s=x+32|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[o>>2]=k[k[f>>2]>>2];e=jx(k[f>>2]|0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){r=x;return}k[q>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]<<4);k[p>>2]=0;while(1){if((k[p>>2]|0)>=3)break;k[w>>2]=k[5236+(k[p>>2]<<3)>>2];e=Bi(k[o>>2]|0,k[w>>2]|0,k[k[q>>2]>>2]|0)|0;k[s>>2]=e;do if(!e){if(k[5236+(k[p>>2]<<3)+4>>2]|0){e=k[f>>2]|0;a=k[w>>2]|0;d=k[5236+(k[p>>2]<<3)+4>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;k[u+8>>2]=d;ix(e,31511,u);k[n+(k[p>>2]<<2)>>2]=k[(k[f>>2]|0)+396>>2];i[m+(k[p>>2]|0)>>0]=16}}else{k[n+(k[p>>2]<<2)>>2]=k[(k[s>>2]|0)+28>>2];i[m+(k[p>>2]|0)>>0]=0;Vz(k[f>>2]|0,k[g>>2]|0,k[n+(k[p>>2]<<2)>>2]|0,1,k[w>>2]|0);if(k[j>>2]|0){e=k[f>>2]|0;c=k[w>>2]|0;a=k[l>>2]|0;d=k[j>>2]|0;k[v>>2]=k[k[q>>2]>>2];k[v+4>>2]=c;k[v+8>>2]=a;k[v+12>>2]=d;ix(e,31534,v);break}else{lx(k[t>>2]|0,129,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0)|0;break}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if(!(k[5236+(k[p>>2]<<3)+4>>2]|0))break;Qh(k[t>>2]|0,103,(k[h>>2]|0)+(k[p>>2]|0)|0,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0,3)|0;Rh(k[t>>2]|0,i[m+(k[p>>2]|0)>>0]|0);k[p>>2]=(k[p>>2]|0)+1}r=x;return}function Sz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+128|0;j=R+116|0;n=R+112|0;o=R+108|0;p=R+104|0;g=R+100|0;h=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;q=R+4|0;E=R;k[j>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[g>>2]=e;k[h>>2]=f;k[u>>2]=k[k[j>>2]>>2];k[A>>2]=-1;i[D>>0]=1;b=k[g>>2]|0;k[g>>2]=b+1;k[I>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[L>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[G>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[N>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[M>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[H>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[K>>2]=b;k[J>>2]=k[g>>2];if((k[(k[j>>2]|0)+76>>2]|0)>(k[g>>2]|0))g=k[(k[j>>2]|0)+76>>2]|0;else g=k[g>>2]|0;k[(k[j>>2]|0)+76>>2]=g;b=jx(k[j>>2]|0)|0;k[O>>2]=b;if((k[O>>2]|0)==0|(k[n>>2]|0)==0){r=R;return}if(!(k[(k[n>>2]|0)+28>>2]|0)){r=R;return}if(!(jf(31458,k[k[n>>2]>>2]|0,0)|0)){r=R;return}b=Nh(k[u>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[x>>2]=b;if(gx(k[j>>2]|0,28,k[k[n>>2]>>2]|0,0,k[(k[(k[u>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2]|0)|0){r=R;return}Vz(k[j>>2]|0,k[x>>2]|0,k[(k[n>>2]|0)+28>>2]|0,0,k[k[n>>2]>>2]|0);b=k[h>>2]|0;k[h>>2]=b+1;k[z>>2]=b;b=k[h>>2]|0;k[h>>2]=b+1;k[y>>2]=b;if((k[(k[j>>2]|0)+72>>2]|0)>(k[h>>2]|0))g=k[(k[j>>2]|0)+72>>2]|0;else g=k[h>>2]|0;k[(k[j>>2]|0)+72>>2]=g;Wz(k[j>>2]|0,k[z>>2]|0,k[x>>2]|0,k[n>>2]|0,102);nx(k[O>>2]|0,k[M>>2]|0,k[k[n>>2]>>2]|0)|0;k[F>>2]=k[(k[n>>2]|0)+8>>2];while(1){g=k[o>>2]|0;if(!(k[F>>2]|0))break;if(!((g|0)!=0?(k[o>>2]|0)!=(k[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(k[(k[F>>2]|0)+36>>2]|0))i[D>>0]=0;if(((l[(k[n>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[F>>2]|0)+55>>0]&3|0)==2:0){k[B>>2]=m[(k[F>>2]|0)+50>>1];k[P>>2]=k[k[n>>2]>>2];k[C>>2]=(k[B>>2]|0)-1}else{k[B>>2]=m[(k[F>>2]|0)+52>>1];k[P>>2]=k[k[F>>2]>>2];if((l[(k[F>>2]|0)+55>>0]|0)>>>3&1)g=m[(k[F>>2]|0)+50>>1]|0;else g=k[B>>2]|0;k[C>>2]=g-1}nx(k[O>>2]|0,k[H>>2]|0,k[P>>2]|0)|0;if((k[(k[j>>2]|0)+76>>2]|0)>((k[J>>2]|0)+(k[C>>2]|0)|0))g=k[(k[j>>2]|0)+76>>2]|0;else g=(k[J>>2]|0)+(k[C>>2]|0)|0;k[(k[j>>2]|0)+76>>2]=g;px(k[O>>2]|0,102,k[y>>2]|0,k[(k[F>>2]|0)+44>>2]|0,k[x>>2]|0)|0;Xz(k[j>>2]|0,k[F>>2]|0);lx(k[O>>2]|0,74,k[B>>2]|0,(k[L>>2]|0)+1|0)|0;lx(k[O>>2]|0,74,m[(k[F>>2]|0)+50>>1]|0,(k[L>>2]|0)+2|0)|0;ox(k[O>>2]|0,87,0,(k[L>>2]|0)+1|0,k[L>>2]|0,5132,-5)|0;Rh(k[O>>2]|0,2);h=Uz(k[O>>2]|0,55,k[y>>2]|0)|0;k[t>>2]=h;lx(k[O>>2]|0,74,0,k[G>>2]|0)|0;h=Yz(k[O>>2]|0)|0;k[s>>2]=h;if((k[C>>2]|0)>0){h=Zz(k[O>>2]|0)|0;k[v>>2]=h;h=$w(k[u>>2]|0,k[C>>2]<<2,0)|0;k[q>>2]=h;if(!(k[q>>2]|0))break;tx(k[O>>2]|0,13)|0;h=Yz(k[O>>2]|0)|0;k[s>>2]=h;if(((k[C>>2]|0)==1?(m[(k[F>>2]|0)+50>>1]|0|0)==1:0)?(l[(k[F>>2]|0)+54>>0]|0|0)!=0:0)lx(k[O>>2]|0,35,k[J>>2]|0,k[v>>2]|0)|0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[C>>2]|0))break;h=_z(k[j>>2]|0,k[(k[(k[F>>2]|0)+32>>2]|0)+(k[w>>2]<<2)>>2]|0)|0;k[E>>2]=h;lx(k[O>>2]|0,74,k[w>>2]|0,k[G>>2]|0)|0;px(k[O>>2]|0,94,k[y>>2]|0,k[w>>2]|0,k[N>>2]|0)|0;h=ox(k[O>>2]|0,36,k[N>>2]|0,0,(k[J>>2]|0)+(k[w>>2]|0)|0,k[E>>2]|0,-4)|0;k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]=h;Rh(k[O>>2]|0,-128);k[w>>2]=(k[w>>2]|0)+1}lx(k[O>>2]|0,74,k[C>>2]|0,k[G>>2]|0)|0;$z(k[O>>2]|0,k[v>>2]|0)|0;aA(k[O>>2]|0,(k[s>>2]|0)-1|0);k[w>>2]=0;while(1){g=k[O>>2]|0;if((k[w>>2]|0)>=(k[C>>2]|0))break;aA(g,k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]|0);px(k[O>>2]|0,94,k[y>>2]|0,k[w>>2]|0,(k[J>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+1}bA(g,k[v>>2]|0);bg(k[u>>2]|0,k[q>>2]|0)}ox(k[O>>2]|0,87,1,k[L>>2]|0,k[N>>2]|0,5160,-5)|0;Rh(k[O>>2]|0,2);lx(k[O>>2]|0,7,k[y>>2]|0,k[s>>2]|0)|0;cA(k[O>>2]|0,k[L>>2]|0,0,k[K>>2]|0);ox(k[O>>2]|0,96,k[M>>2]|0,3,k[N>>2]|0,31467,0)|0;lx(k[O>>2]|0,112,k[p>>2]|0,k[I>>2]|0)|0;px(k[O>>2]|0,113,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Rh(k[O>>2]|0,8);aA(k[O>>2]|0,k[t>>2]|0)}while(0);k[F>>2]=k[(k[F>>2]|0)+20>>2]}if(g){r=R;return}if(!(l[D>>0]|0)){r=R;return}lx(k[O>>2]|0,98,k[z>>2]|0,k[K>>2]|0)|0;Q=Uz(k[O>>2]|0,22,k[K>>2]|0)|0;k[A>>2]=Q;lx(k[O>>2]|0,77,0,k[H>>2]|0)|0;ox(k[O>>2]|0,96,k[M>>2]|0,3,k[N>>2]|0,31467,0)|0;lx(k[O>>2]|0,112,k[p>>2]|0,k[I>>2]|0)|0;px(k[O>>2]|0,113,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Rh(k[O>>2]|0,8);aA(k[O>>2]|0,k[A>>2]|0);r=R;return}function Tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;a=jx(k[f>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){r=e;return}Uz(k[d>>2]|0,135,k[c>>2]|0)|0;r=e;return}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=px(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;r=d;return c|0}function Vz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;j=s+24|0;m=s+20|0;n=s+32|0;o=s+16|0;p=s+12|0;f=s+8|0;g=s+4|0;q=s;k[t>>2]=a;k[j>>2]=b;k[m>>2]=c;i[n>>0]=d;k[o>>2]=e;b=k[t>>2]|0;if(k[(k[t>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[p>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+404>>2]|0))break;k[q>>2]=(k[(k[p>>2]|0)+408>>2]|0)+(k[f>>2]<<4);if((k[k[q>>2]>>2]|0)==(k[j>>2]|0)?(k[(k[q>>2]|0)+4>>2]|0)==(k[m>>2]|0):0){h=7;break}k[f>>2]=(k[f>>2]|0)+1}if((h|0)==7){if(l[(k[q>>2]|0)+8>>0]|0)b=1;else b=(l[n>>0]|0|0)!=0;i[(k[q>>2]|0)+8>>0]=b&1;r=s;return}k[g>>2]=(k[(k[p>>2]|0)+404>>2]|0)+1<<4;b=k[g>>2]|0;b=Sx(k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+408>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[p>>2]|0)+408>>2]=b;b=(k[p>>2]|0)+404|0;if(k[(k[p>>2]|0)+408>>2]|0){t=k[b>>2]|0;k[b>>2]=t+1;k[q>>2]=(k[(k[p>>2]|0)+408>>2]|0)+(t<<4);k[k[q>>2]>>2]=k[j>>2];k[(k[q>>2]|0)+4>>2]=k[m>>2];i[(k[q>>2]|0)+8>>0]=i[n>>0]|0;k[(k[q>>2]|0)+12>>2]=k[o>>2];r=s;return}else{k[b>>2]=0;vh(k[k[p>>2]>>2]|0);r=s;return}}function Wz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;d=jx(k[f>>2]|0)|0;k[o>>2]=d;Vz(k[f>>2]|0,k[h>>2]|0,k[(k[i>>2]|0)+28>>2]|0,((k[m>>2]|0)==103?1:0)&255,k[k[i>>2]>>2]|0);if(!(l[(k[i>>2]|0)+42>>0]&32)){Qh(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[i>>2]|0)+28>>2]|0,k[h>>2]|0,j[(k[i>>2]|0)+34>>1]|0)|0;r=p;return}else{d=Rj(k[i>>2]|0)|0;k[n>>2]=d;px(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+44>>2]|0,k[h>>2]|0)|0;Xz(k[f>>2]|0,k[n>>2]|0);r=p;return}}function Xz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;f=c;k[e>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[e>>2]|0)+8>>2];a=k[f>>2]|0;Uh(a,-1,kA(k[e>>2]|0,k[d>>2]|0)|0,-6);r=c;return}function Yz(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+32>>2]|0}function Zz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[(k[e>>2]|0)+24>>2];e=(k[c>>2]|0)+116|0;a=k[e>>2]|0;k[e>>2]=a+1;k[b>>2]=a;if(!(k[b>>2]&(k[b>>2]|0)-1)){e=Sx(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+120>>2]|0,(k[b>>2]<<1)+1<<2,0)|0;k[(k[c>>2]|0)+120>>2]=e}if(!(k[(k[c>>2]|0)+120>>2]|0)){e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}k[(k[(k[c>>2]|0)+120>>2]|0)+(k[b>>2]<<2)>>2]=-1;e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}function _z(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+32|0;c=g+12|0;d=g+8|0;j=g+4|0;e=g+17|0;h=g+16|0;f=g;k[c>>2]=a;k[d>>2]=b;k[j>>2]=k[k[c>>2]>>2];i[e>>0]=i[(k[j>>2]|0)+66>>0]|0;i[h>>0]=i[(k[j>>2]|0)+144+5>>0]|0;b=_j(k[j>>2]|0,i[e>>0]|0,k[d>>2]|0,l[h>>0]|0)|0;k[f>>2]=b;if(i[h>>0]|0){j=k[f>>2]|0;r=g;return j|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[f>>2]|0;r=g;return j|0}j=jy(k[c>>2]|0,i[e>>0]|0,k[f>>2]|0,k[d>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=g;return j|0}function $z(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=px(k[e>>2]|0,13,0,k[d>>2]|0,0)|0;r=c;return a|0}function aA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[(k[d>>2]|0)+24>>2]|0)+96>>2]=(k[(k[d>>2]|0)+32>>2]|0)-1;gA(k[d>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+32>>2]|0);r=c;return}function bA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;e=f+4|0;d=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[(k[c>>2]|0)+24>>2];k[d>>2]=-1-(k[g>>2]|0);if(k[(k[e>>2]|0)+120>>2]|0)k[(k[(k[e>>2]|0)+120>>2]|0)+(k[d>>2]<<2)>>2]=k[(k[c>>2]|0)+32>>2];k[(k[e>>2]|0)+96>>2]=(k[(k[c>>2]|0)+32>>2]|0)-1;r=f;return}function cA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e;k[f>>2]=a;k[h>>2]=b;k[e+4>>2]=c;k[g>>2]=d;ox(k[f>>2]|0,87,0,k[h>>2]|0,k[g>>2]|0,5188,-5)|0;Rh(k[f>>2]|0,1);r=e;return}function dA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;j=n+24|0;i=n+16|0;d=n+56|0;o=n+48|0;h=n+44|0;l=n+40|0;e=n+36|0;m=n+32|0;g=n+8|0;f=n;k[d>>2]=a;k[n+52>>2]=b;k[o>>2]=c;a=je(k[k[o>>2]>>2]|0)|0;k[h>>2]=a;a=((k[(k[h>>2]|0)+12>>2]|0)+1|0)*25|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[m>>2]=a;if(!(k[m>>2]|0)){De(k[d>>2]|0);r=n;return}o=k[m>>2]|0;a=i;k[a>>2]=k[k[h>>2]>>2];k[a+4>>2]=0;_d(24,o,31480,i)|0;o=k[m>>2]|0;o=o+(Tf(k[m>>2]|0)|0)|0;k[l>>2]=o;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;o=g;k[o>>2]=(k[(k[(k[h>>2]|0)+20+4>>2]|0)+(k[e>>2]<<2)>>2]|0)+1;k[o+4>>2]=0;o=g;o=GR(k[k[h>>2]>>2]|0,0,k[o>>2]|0,k[o+4>>2]|0)|0;o=FR(o|0,L|0,1,0)|0;c=g;c=SR(o|0,L|0,k[c>>2]|0,k[c+4>>2]|0)|0;o=f;k[o>>2]=c;k[o+4>>2]=L;o=k[l>>2]|0;c=f;a=k[c+4>>2]|0;i=j;k[i>>2]=k[c>>2];k[i+4>>2]=a;_d(24,o,31485,j)|0;o=Tf(k[l>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+o;k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[m>>2]|0,-1,148);r=n;return}function eA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[g+20>>2]=a;k[g+16>>2]=b;k[h>>2]=c;a=je(k[k[h>>2]>>2]|0)|0;k[f>>2]=a;a=ne(k[(k[h>>2]|0)+4>>2]|0)|0;k[e>>2]=a;if(!(k[k[f>>2]>>2]|0)){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}fA(k[f>>2]|0,k[e>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break;h=(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}k[d>>2]=k[e>>2];while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;h=(k[(k[f>>2]|0)+20+4>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}function fA(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function gA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(hA(k[f>>2]|0,k[e>>2]|0)|0)+8|0;k[c>>2]=a;r=d;return}function hA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)<0)k[e>>2]=(k[(k[d>>2]|0)+32>>2]|0)-1;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=5216;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0);a=k[c>>2]|0;r=f;return a|0}return 0}function iA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;d=j+32|0;m=j+24|0;i=j+20|0;f=j+16|0;h=j+12|0;g=j+8|0;l=j+4|0;e=j;k[d>>2]=a;k[j+28>>2]=b;k[m>>2]=c;a=ne(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;k[g>>2]=(k[f>>2]|0)+1&-2;a=ne(k[(k[m>>2]|0)+4>>2]|0)|0;k[h>>2]=a;k[l>>2]=56+(k[g>>2]<<2)+(k[g>>2]<<2);a=Ge(k[d>>2]|0)|0;k[e>>2]=a;a=k[l>>2]|0;a=Bh(k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;k[i>>2]=a;if(!(k[i>>2]|0)){De(k[d>>2]|0);r=j;return}else{k[(k[i>>2]|0)+52>>2]=k[e>>2];k[k[i>>2]>>2]=0;k[(k[i>>2]|0)+8>>2]=k[f>>2];k[(k[i>>2]|0)+12>>2]=k[h>>2];k[(k[i>>2]|0)+20+4>>2]=(k[i>>2]|0)+56;k[(k[i>>2]|0)+20>>2]=(k[(k[i>>2]|0)+20+4>>2]|0)+(k[g>>2]<<2);qe(k[d>>2]|0,k[i>>2]|0,56,153);r=j;return}}function jA(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bg(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0);r=b;return}function kA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;c=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;k[h>>2]=m[(k[f>>2]|0)+52>>1];k[c>>2]=m[(k[f>>2]|0)+50>>1];if(k[(k[e>>2]|0)+68>>2]|0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=k[k[e>>2]>>2]|0;if((l[(k[f>>2]|0)+55>>0]|0)>>>3&1){c=lA(b,k[c>>2]|0,(k[h>>2]|0)-(k[c>>2]|0)|0)|0;k[j>>2]=c}else{c=lA(b,k[h>>2]|0,0)|0;k[j>>2]=c}if(k[j>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[n>>2]=k[(k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]<<2)>>2];if((k[n>>2]|0)==35351)b=0;else b=_z(k[e>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+20+(k[g>>2]<<2)>>2]=b;i[(k[(k[j>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]|0)>>0]|0;k[g>>2]=(k[g>>2]|0)+1}if(k[(k[e>>2]|0)+68>>2]|0){mA(k[j>>2]|0);k[j>>2]=0}}k[d>>2]=k[j>>2];n=k[d>>2]|0;r=o;return n|0}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=((k[e>>2]|0)+(k[f>>2]|0)|0)*5;a=jg(24+(k[g>>2]|0)|0,0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+16>>2]=(k[h>>2]|0)+20+((k[e>>2]|0)+(k[f>>2]|0)<<2);j[(k[h>>2]|0)+6>>1]=k[e>>2];j[(k[h>>2]|0)+8>>1]=k[f>>2];i[(k[h>>2]|0)+4>>0]=i[(k[d>>2]|0)+66>>0]|0;k[(k[h>>2]|0)+12>>2]=k[d>>2];k[k[h>>2]>>2]=1;KR((k[h>>2]|0)+24|0,0,k[g>>2]|0)|0;h=k[h>>2]|0;r=l;return h|0}else{vh(k[d>>2]|0);h=k[h>>2]|0;r=l;return h|0}return 0}function mA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[k[b>>2]>>2]|0){r=c;return}bg(0,k[b>>2]|0);r=c;return}function nA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;k[h>>2]=k[(k[e>>2]|0)+16>>2];while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[h>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[g>>2]|0))break;k[i>>2]=k[(k[g>>2]|0)+8>>2];oA(k[c>>2]|0,k[i>>2]|0,k[d>>2]|0);k[g>>2]=k[k[g>>2]>>2]}k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+16}r=j;return}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if(!((k[f>>2]|0)!=0?(EB(k[f>>2]|0,k[h>>2]|0)|0)==0:0)){c=Nh(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;xx(k[d>>2]|0,0,k[g>>2]|0);pA(k[d>>2]|0,k[h>>2]|0,-1)}k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=i;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;j=x+64|0;n=x+60|0;d=x+56|0;h=x+52|0;t=x+48|0;q=x+44|0;s=x+40|0;o=x+36|0;p=x+32|0;i=x+28|0;f=x+24|0;w=x+20|0;g=x+16|0;v=x+12|0;y=x+8|0;e=x+4|0;u=x;k[j>>2]=a;k[n>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[n>>2]|0)+12>>2];a=(k[j>>2]|0)+72|0;b=k[a>>2]|0;k[a>>2]=b+1;k[t>>2]=b;b=(k[j>>2]|0)+72|0;a=k[b>>2]|0;k[b>>2]=a+1;k[q>>2]=a;k[y>>2]=k[k[j>>2]>>2];a=Nh(k[y>>2]|0,k[(k[n>>2]|0)+24>>2]|0)|0;k[e>>2]=a;if(gx(k[j>>2]|0,27,k[k[n>>2]>>2]|0,0,k[(k[(k[y>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0){r=x;return}Vz(k[j>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+28>>2]|0,1,k[k[h>>2]>>2]|0);y=jx(k[j>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0)){r=x;return}if((k[d>>2]|0)>=0)k[i>>2]=k[d>>2];else k[i>>2]=k[(k[n>>2]|0)+44>>2];a=kA(k[j>>2]|0,k[n>>2]|0)|0;k[g>>2]=a;a=(k[j>>2]|0)+72|0;b=k[a>>2]|0;k[a>>2]=b+1;k[s>>2]=b;b=k[w>>2]|0;a=k[s>>2]|0;y=m[(k[n>>2]|0)+50>>1]|0;ox(b,106,a,0,y,qA(k[g>>2]|0)|0,-6)|0;Wz(k[j>>2]|0,k[t>>2]|0,k[e>>2]|0,k[h>>2]|0,102);y=lx(k[w>>2]|0,55,k[t>>2]|0,0)|0;k[o>>2]=y;y=rA(k[j>>2]|0)|0;k[v>>2]=y;sA(k[j>>2]|0,k[n>>2]|0,k[t>>2]|0,k[v>>2]|0,0,f,0,0)|0;lx(k[w>>2]|0,123,k[s>>2]|0,k[v>>2]|0)|0;tA(k[j>>2]|0,k[f>>2]|0);lx(k[w>>2]|0,7,k[t>>2]|0,(k[o>>2]|0)+1|0)|0;aA(k[w>>2]|0,k[o>>2]|0);if((k[d>>2]|0)<0)lx(k[w>>2]|0,129,k[i>>2]|0,k[e>>2]|0)|0;ox(k[w>>2]|0,103,k[q>>2]|0,k[i>>2]|0,k[e>>2]|0,k[g>>2]|0,-6)|0;Rh(k[w>>2]|0,(1|((k[d>>2]|0)>=0?16:0))&255);y=lx(k[w>>2]|0,42,k[s>>2]|0,0)|0;k[o>>2]=y;y=(l[(k[n>>2]|0)+54>>0]|0|0)!=0;d=Yz(k[w>>2]|0)|0;if(y){k[u>>2]=d+3;$z(k[w>>2]|0,k[u>>2]|0)|0;y=Yz(k[w>>2]|0)|0;k[p>>2]=y;Qh(k[w>>2]|0,117,k[s>>2]|0,k[u>>2]|0,k[v>>2]|0,m[(k[n>>2]|0)+50>>1]|0)|0;uA(k[j>>2]|0,2,k[n>>2]|0)}else k[p>>2]=d;px(k[w>>2]|0,118,k[s>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;px(k[w>>2]|0,33,k[q>>2]|0,0,-1)|0;px(k[w>>2]|0,124,k[q>>2]|0,k[v>>2]|0,0)|0;Rh(k[w>>2]|0,16);vA(k[j>>2]|0,k[v>>2]|0);lx(k[w>>2]|0,3,k[s>>2]|0,k[p>>2]|0)|0;aA(k[w>>2]|0,k[o>>2]|0);Uz(k[w>>2]|0,109,k[t>>2]|0)|0;Uz(k[w>>2]|0,109,k[q>>2]|0)|0;Uz(k[w>>2]|0,109,k[s>>2]|0)|0;r=x;return}function qA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[b>>2]|0){a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+1}r=c;return k[b>>2]|0}function rA(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;if(!(l[(k[c>>2]|0)+19>>0]|0)){a=a+76|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}else{e=a+19|0;a=(i[e>>0]|0)+-1<<24>>24;i[e>>0]=a;k[b>>2]=k[(k[c>>2]|0)+28+((a&255)<<2)>>2];c=k[b>>2]|0;r=d;return c|0}return 0}function sA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;n=y+44|0;o=y+40|0;p=y+36|0;q=y+32|0;i=y+28|0;m=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[i>>2]=e;k[m>>2]=f;k[s>>2]=g;k[t>>2]=h;k[x>>2]=k[(k[n>>2]|0)+8>>2];do if(k[m>>2]|0)if(k[(k[o>>2]|0)+36>>2]|0){h=Zz(k[x>>2]|0)|0;k[k[m>>2]>>2]=h;k[(k[n>>2]|0)+104>>2]=k[p>>2];FA(k[n>>2]|0);GA(k[n>>2]|0,k[(k[o>>2]|0)+36>>2]|0,k[k[m>>2]>>2]|0,16);break}else{k[k[m>>2]>>2]=0;break}while(0);if((k[i>>2]|0)!=0?((l[(k[o>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)i=j[(k[o>>2]|0)+50>>1]|0;else i=j[(k[o>>2]|0)+52>>1]|0;k[v>>2]=i&65535;h=HA(k[n>>2]|0,k[v>>2]|0)|0;k[w>>2]=h;do if(k[s>>2]|0){if((k[w>>2]|0)==(k[t>>2]|0)?(k[(k[s>>2]|0)+36>>2]|0)==0:0)break;k[s>>2]=0}while(0);k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[v>>2]|0))break;if(!(((k[s>>2]|0)!=0?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)==(j[(k[(k[o>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0):0)?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)!=-2:0)){IA(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[u>>2]|0,(k[w>>2]|0)+(k[u>>2]|0)|0);JA(k[x>>2]|0,90)|0}k[u>>2]=(k[u>>2]|0)+1}if(!(k[q>>2]|0)){t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;KA(t,u,x);x=k[w>>2]|0;r=y;return x|0}px(k[x>>2]|0,96,k[w>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;KA(t,u,x);x=k[w>>2]|0;r=y;return x|0}function tA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}bA(k[(k[c>>2]|0)+8>>2]|0,k[d>>2]|0);DA(k[c>>2]|0);r=e;return}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+80|0;o=s+8|0;n=s;d=s+68|0;e=s+64|0;f=s+60|0;q=s+56|0;h=s+52|0;g=s+24|0;l=s+20|0;p=s+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=k[(k[f>>2]|0)+12>>2];ng(g,k[k[d>>2]>>2]|0,0,0,200);if(k[(k[f>>2]|0)+40>>2]|0){k[n>>2]=k[k[f>>2]>>2];wA(g,31649,n);n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;yA(n,o,p,q,-1,2);r=s;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break;k[p>>2]=k[(k[(k[l>>2]|0)+4>>2]|0)+(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]<<4)>>2];if(k[h>>2]|0)xA(g,31660,2);n=k[p>>2]|0;k[o>>2]=k[k[l>>2]>>2];k[o+4>>2]=n;wA(g,30757,o);k[h>>2]=(k[h>>2]|0)+1}n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;yA(n,o,p,q,-1,2);r=s;return}function vA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){r=g;return}if((l[(k[d>>2]|0)+19>>0]|0|0)>=8){r=g;return}k[c>>2]=0;k[f>>2]=(k[d>>2]|0)+124;while(1){if((k[c>>2]|0)>=10){c=8;break}if((k[(k[f>>2]|0)+12>>2]|0)==(k[e>>2]|0)){c=6;break}k[c>>2]=(k[c>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){i[(k[f>>2]|0)+6>>0]=1;r=g;return}else if((c|0)==8){e=k[e>>2]|0;a=(k[d>>2]|0)+19|0;f=i[a>>0]|0;i[a>>0]=f+1<<24>>24;k[(k[d>>2]|0)+28+((f&255)<<2)>>2]=e;r=g;return}}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;g=d+20|0;f=d+16|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;og(k[g>>2]|0,k[f>>2]|0,e);r=d;return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(((k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]|0)|0)>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0){zA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}else{b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);IR((k[(k[d>>2]|0)+8>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)-(k[f>>2]|0))|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}}function yA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+16|0;h=p+12|0;j=p+8|0;l=p+4|0;m=p+21|0;n=p+20|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;i[m>>0]=e;i[n>>0]=f;a=jx(k[g>>2]|0)|0;k[o>>2]=a;if((k[j>>2]|0)==2)Yx(k[g>>2]|0);ox(k[o>>2]|0,73,k[h>>2]|0,k[j>>2]|0,0,k[l>>2]|0,i[m>>0]|0)|0;Rh(k[o>>2]|0,i[n>>0]|0);r=p;return}function zA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=AA(k[d>>2]|0,k[f>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)<=0){r=g;return}IR((k[(k[d>>2]|0)+8>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0,k[e>>2]|0,k[f>>2]|0)|0;b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);r=g;return}function AA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;d=j+8|0;c=j;k[f>>2]=a;k[g>>2]=b;if(i[(k[f>>2]|0)+24>>0]|0){k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}b=k[f>>2]|0;if(!(k[(k[f>>2]|0)+20>>2]|0)){k[g>>2]=(k[b+16>>2]|0)-(k[(k[f>>2]|0)+12>>2]|0)-1;BA(k[f>>2]|0,2);k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}if(l[b+25>>0]&4)b=k[(k[f>>2]|0)+8>>2]|0;else b=0;k[d>>2]=b;b=c;k[b>>2]=k[(k[f>>2]|0)+12>>2];k[b+4>>2]=0;b=(k[g>>2]|0)+1|0;a=c;b=GR(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;a=c;a=GR(k[a>>2]|0,k[a+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;b=L;if((b|0)<0|((b|0)==0?a>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){b=c;b=GR(k[b>>2]|0,k[b+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L}a=c;b=k[a+4>>2]|0;if((b|0)>0|((b|0)==0?(k[a>>2]|0)>>>0>(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){CA(k[f>>2]|0);BA(k[f>>2]|0,2);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}k[(k[f>>2]|0)+16>>2]=k[c>>2];if(k[k[f>>2]>>2]|0){d=_w(k[k[f>>2]>>2]|0,k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}else{d=Wd(k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}b=k[f>>2]|0;if(!(k[h>>2]|0)){CA(b);BA(k[f>>2]|0,1);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}if((l[b+25>>0]&4|0)==0?(k[(k[f>>2]|0)+12>>2]|0)>>>0>0:0)IR(k[h>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8>>2]=k[h>>2];h=su(k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[(k[f>>2]|0)+16>>2]=h;h=(k[f>>2]|0)+25|0;i[h>>0]=l[h>>0]|4;k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}function BA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c;e=c+4|0;k[d>>2]=a;i[e>>0]=b;i[(k[d>>2]|0)+24>>0]=i[e>>0]|0;k[(k[d>>2]|0)+16>>2]=0;r=c;return}function CA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((l[(k[b>>2]|0)+25>>0]|0)&4)){a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}bg(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+8>>2]|0);a=(k[b>>2]|0)+25|0;i[a>>0]=(l[a>>0]|0)&-5;a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}function DA(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=(k[b>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+-1;k[c>>2]=0;k[d>>2]=(k[b>>2]|0)+124;while(1){if((k[c>>2]|0)>=10)break;if((k[(k[d>>2]|0)+12>>2]|0)!=0?(k[(k[d>>2]|0)+8>>2]|0)>(k[(k[b>>2]|0)+108>>2]|0):0)EA(k[b>>2]|0,k[d>>2]|0);k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+20}r=e;return}function EA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[d>>2]|0)+6>>0]|0){if((l[(k[c>>2]|0)+19>>0]|0)<8){b=k[(k[d>>2]|0)+12>>2]|0;f=(k[c>>2]|0)+19|0;a=i[f>>0]|0;i[f>>0]=a+1<<24>>24;k[(k[c>>2]|0)+28+((a&255)<<2)>>2]=b}i[(k[d>>2]|0)+6>>0]=0}k[(k[d>>2]|0)+12>>2]=0;f=(k[c>>2]|0)+25|0;i[f>>0]=(i[f>>0]|0)+-1<<24>>24;r=e;return}function FA(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function GA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=r;r=r+32|0;e=j+20|0;m=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];a=Ky(k[h>>2]|0,k[m>>2]|0,0)|0;k[i>>2]=a;if(l[(k[h>>2]|0)+69>>0]|0){a=k[h>>2]|0;m=k[i>>2]|0;qv(a,m);r=j;return}gB(k[e>>2]|0,k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=k[h>>2]|0;m=k[i>>2]|0;qv(a,m);r=j;return}function HA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;e=f+4|0;g=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+64>>2];k[g>>2]=k[(k[c>>2]|0)+60>>2];if((k[d>>2]|0)<=(k[g>>2]|0)){g=(k[c>>2]|0)+64|0;k[g>>2]=(k[g>>2]|0)+(k[d>>2]|0);g=(k[c>>2]|0)+60|0;k[g>>2]=(k[g>>2]|0)-(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}else{k[e>>2]=(k[(k[c>>2]|0)+76>>2]|0)+1;g=(k[c>>2]|0)+76|0;k[g>>2]=(k[g>>2]|0)+(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}return 0}function IA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;m=n+20|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;j[m>>1]=j[(k[(k[g>>2]|0)+4>>2]|0)+(k[i>>2]<<1)>>1]|0;if((j[m>>1]|0)==-2){k[(k[f>>2]|0)+104>>2]=k[h>>2];PA(k[f>>2]|0,k[(k[(k[(k[g>>2]|0)+40>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[l>>2]|0);r=n;return}else{QA(k[(k[f>>2]|0)+8>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,j[m>>1]|0,k[l>>2]|0);r=n;return}}function JA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;f=e+8|0;k[d>>2]=a;i[f>>0]=b;if(((k[(k[d>>2]|0)+32>>2]|0)-1|0)>(k[(k[(k[d>>2]|0)+24>>2]|0)+96>>2]|0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+(((k[(k[d>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(l[f>>0]|0|0):0){f=MA(k[d>>2]|0,(k[(k[d>>2]|0)+32>>2]|0)-1|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}function KA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;LA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if((k[f>>2]|0)<=(k[(k[d>>2]|0)+60>>2]|0)){r=g;return}k[(k[d>>2]|0)+60>>2]=k[f>>2];k[(k[d>>2]|0)+64>>2]=k[e>>2];r=g;return}function LA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=h;return}if(!(l[(k[d>>2]|0)+25>>0]|0)){r=h;return}k[g>>2]=(k[d>>2]|0)+124+180;while(1){if((k[(k[g>>2]|0)+12>>2]|0)>=(k[e>>2]|0)?(k[(k[g>>2]|0)+12>>2]|0)<((k[e>>2]|0)+(k[f>>2]|0)|0):0)EA(k[d>>2]|0,k[g>>2]|0);if((k[g>>2]|0)==((k[d>>2]|0)+124|0))break;k[g>>2]=(k[g>>2]|0)+-20}r=h;return}function MA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0);NA(k[k[d>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0;i[k[f>>2]>>0]=-97;k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}return 0}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[h>>2]=b;k[d>>2]=c;switch(k[h>>2]|0){case -21:{OA(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(k[(k[e>>2]|0)+456>>2]|0){r=g;return}mA(k[d>>2]|0);r=g;return}case -11:{if(k[(k[e>>2]|0)+456>>2]|0){r=g;return}Ud(k[d>>2]|0);r=g;return}case -5:{OA(k[e>>2]|0,k[d>>2]|0);r=g;return}case -8:{d=k[d>>2]|0;if(!(k[(k[e>>2]|0)+456>>2]|0)){lh(d);r=g;return}k[f>>2]=d;if(k[(k[f>>2]|0)+24>>2]|0)bg(k[e>>2]|0,k[(k[f>>2]|0)+20>>2]|0);bg(k[e>>2]|0,k[f>>2]|0);r=g;return}case -10:{if(k[(k[e>>2]|0)+456>>2]|0){r=g;return}Au(k[d>>2]|0);r=g;return}default:{r=g;return}}bg(k[e>>2]|0,k[d>>2]|0);r=g;return}function OA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}if(!((m[(k[d>>2]|0)+2>>1]|0)&16)){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];c=Ky(k[g>>2]|0,k[e>>2]|0,0)|0;k[e>>2]=c;if(i[(k[g>>2]|0)+69>>0]|0){a=k[g>>2]|0;c=k[e>>2]|0;qv(a,c);r=h;return}UA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);a=k[g>>2]|0;c=k[e>>2]|0;qv(a,c);r=h;return}function QA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;n=p+4|0;o=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;if((k[i>>2]|0)>=0?(k[i>>2]|0)!=(j[(k[g>>2]|0)+32>>1]|0):0){k[n>>2]=(l[(k[g>>2]|0)+42>>0]&16|0)!=0?154:94;k[o>>2]=k[i>>2];if(l[(k[g>>2]|0)+42>>0]&32){a=Rj(k[g>>2]|0)|0;a=(RA(a,k[i>>2]&65535)|0)<<16>>16;k[o>>2]=a}px(k[f>>2]|0,k[n>>2]|0,k[h>>2]|0,k[o>>2]|0,k[m>>2]|0)|0}else lx(k[f>>2]|0,121,k[h>>2]|0,k[m>>2]|0)|0;if((k[i>>2]|0)<0){r=p;return}SA(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0,k[m>>2]|0);r=p;return}function RA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+10|0;c=g+4|0;d=g+8|0;e=g;k[c>>2]=a;j[d>>1]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[c>>2]|0)+52>>1]|0)){b=6;break}a=k[e>>2]|0;if((j[d>>1]|0)==(j[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){j[f>>1]=a;f=j[f>>1]|0;r=g;return f|0}else if((b|0)==6){j[f>>1]=-1;f=j[f>>1]|0;r=g;return f|0}return 0}function SA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n+24|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[m>>2]=0;a=(TA(k[e>>2]|0)|0)+66|0;i[j>>0]=i[a>>0]|0;k[l>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4);a=TA(k[e>>2]|0)|0;Ax(a,k[(k[l>>2]|0)+4>>2]|0,i[j>>0]|0,i[(k[l>>2]|0)+13>>0]|0,m)|0;if(k[m>>2]|0)Uh(k[e>>2]|0,-1,k[m>>2]|0,-8);if((i[(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+13>>0]|0)!=69){r=n;return}Uz(k[e>>2]|0,90,k[h>>2]|0)|0;r=n;return}function TA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function UA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)!=0?(l[k[e>>2]>>0]|0|0)==157:0){lx(k[(k[d>>2]|0)+8>>2]|0,82,k[(k[e>>2]|0)+28>>2]|0,k[f>>2]|0)|0;r=h;return}c=VA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)==(k[f>>2]|0)){r=h;return}if(!(k[(k[d>>2]|0)+8>>2]|0)){r=h;return}lx(k[(k[d>>2]|0)+8>>2]|0,83,k[g>>2]|0,k[f>>2]|0)|0;r=h;return}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0;ka=r;r=r+320|0;C=ka+16|0;G=ka+8|0;B=ka;ba=ka+300|0;ca=ka+296|0;I=ka+292|0;da=ka+288|0;ia=ka+284|0;n=ka+280|0;ea=ka+276|0;fa=ka+272|0;ga=ka+268|0;Q=ka+264|0;y=ka+260|0;z=ka+256|0;A=ka+252|0;K=ka+248|0;T=ka+200|0;p=ka+196|0;q=ka+192|0;g=ka+188|0;h=ka+184|0;D=ka+180|0;E=ka+176|0;u=ka+172|0;d=ka+168|0;s=ka+164|0;S=ka+160|0;R=ka+156|0;P=ka+152|0;H=ka+148|0;J=ka+144|0;N=ka+140|0;F=ka+305|0;O=ka+136|0;L=ka+132|0;M=ka+304|0;e=ka+128|0;f=ka+124|0;v=ka+120|0;t=ka+116|0;w=ka+112|0;x=ka+108|0;o=ka+104|0;V=ka+100|0;Y=ka+96|0;X=ka+92|0;W=ka+88|0;_=ka+84|0;U=ka+80|0;Z=ka+32|0;aa=ka+24|0;$=ka+20|0;k[ca>>2]=a;k[I>>2]=b;k[da>>2]=c;k[ia>>2]=k[(k[ca>>2]|0)+8>>2];k[ea>>2]=k[da>>2];k[fa>>2]=0;k[ga>>2]=0;k[K>>2]=k[k[ca>>2]>>2];if(!(k[ia>>2]|0)){k[ba>>2]=0;ja=k[ba>>2]|0;r=ka;return ja|0}if(!(k[I>>2]|0))k[n>>2]=101;else k[n>>2]=l[k[I>>2]>>0];a:do switch(k[n>>2]|0){case 154:{k[p>>2]=k[(k[I>>2]|0)+40>>2];k[q>>2]=(k[(k[p>>2]|0)+28>>2]|0)+((j[(k[I>>2]|0)+34>>1]|0)*24|0);if(!(i[k[p>>2]>>0]|0)){k[ea>>2]=k[(k[q>>2]|0)+16>>2];break a}if(i[(k[p>>2]|0)+1>>0]|0)px(k[ia>>2]|0,94,k[(k[p>>2]|0)+8>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[da>>2]|0)|0;else ja=11;break}case 152:{ja=11;break}case 132:{XA(k[ca>>2]|0,k[I>>2]|0,0,k[da>>2]|0);break}case 133:{YA(k[ia>>2]|0,k[(k[I>>2]|0)+8>>2]|0,0,k[da>>2]|0);break}case 97:{nx(k[ia>>2]|0,k[da>>2]|0,k[(k[I>>2]|0)+8>>2]|0)|0;break}case 101:{lx(k[ia>>2]|0,77,0,k[da>>2]|0)|0;break}case 134:{k[D>>2]=(k[(k[I>>2]|0)+8>>2]|0)+2;aa=(Tf(k[D>>2]|0)|0)-1|0;k[h>>2]=aa;aa=Lx(TA(k[ia>>2]|0)|0,k[D>>2]|0,k[h>>2]|0)|0;k[E>>2]=aa;ox(k[ia>>2]|0,79,(k[h>>2]|0)/2|0,k[da>>2]|0,0,k[E>>2]|0,-1)|0;break}case 135:{lx(k[ia>>2]|0,80,j[(k[I>>2]|0)+32>>1]|0,k[da>>2]|0)|0;if(i[(k[(k[I>>2]|0)+8>>2]|0)+1>>0]|0)Uh(k[ia>>2]|0,-1,k[(k[(k[ca>>2]|0)+476>>2]|0)+((j[(k[I>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{k[ea>>2]=k[(k[I>>2]|0)+28>>2];break}case 66:{aa=VA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[da>>2]|0)|0;k[ea>>2]=aa;if((k[ea>>2]|0)!=(k[da>>2]|0)){lx(k[ia>>2]|0,83,k[ea>>2]|0,k[da>>2]|0)|0;k[ea>>2]=k[da>>2]}lx(k[ia>>2]|0,91,k[da>>2]|0,(Gx(k[(k[I>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;ZA(k[ca>>2]|0,k[ea>>2]|0,1);break}case 37:case 36:case 41:case 38:case 39:case 40:{ia=_A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=ia;ia=_A(k[ca>>2]|0,k[(k[I>>2]|0)+16>>2]|0,ga)|0;k[y>>2]=ia;$A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[(k[I>>2]|0)+16>>2]|0,k[n>>2]|0,k[Q>>2]|0,k[y>>2]|0,k[ea>>2]|0,32)|0;break}case 148:case 29:{ia=_A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=ia;ia=_A(k[ca>>2]|0,k[(k[I>>2]|0)+16>>2]|0,ga)|0;k[y>>2]=ia;k[n>>2]=(k[n>>2]|0)==29?37:36;$A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[(k[I>>2]|0)+16>>2]|0,k[n>>2]|0,k[Q>>2]|0,k[y>>2]|0,k[ea>>2]|0,160)|0;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{aa=_A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=aa;aa=_A(k[ca>>2]|0,k[(k[I>>2]|0)+16>>2]|0,ga)|0;k[y>>2]=aa;px(k[ia>>2]|0,k[n>>2]|0,k[y>>2]|0,k[Q>>2]|0,k[da>>2]|0)|0;break}case 155:{k[u>>2]=k[(k[I>>2]|0)+12>>2];do if((l[k[u>>2]>>0]|0)!=132)if((l[k[u>>2]>>0]|0)==133){YA(k[ia>>2]|0,k[(k[u>>2]|0)+8>>2]|0,1,k[da>>2]|0);break}else{i[T>>0]=-124;k[T+4>>2]=17408;k[T+8>>2]=0;aa=_A(k[ca>>2]|0,T,fa)|0;k[Q>>2]=aa;aa=_A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,ga)|0;k[y>>2]=aa;px(k[ia>>2]|0,48,k[y>>2]|0,k[Q>>2]|0,k[da>>2]|0)|0;break}else XA(k[ca>>2]|0,k[u>>2]|0,1,k[da>>2]|0);while(0);k[ea>>2]=k[da>>2];break}case 19:case 54:{aa=_A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=aa;k[ea>>2]=k[da>>2];lx(k[ia>>2]|0,k[n>>2]|0,k[Q>>2]|0,k[ea>>2]|0)|0;break}case 35:case 34:{lx(k[ia>>2]|0,74,1,k[da>>2]|0)|0;aa=_A(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=aa;aa=Uz(k[ia>>2]|0,k[n>>2]|0,k[Q>>2]|0)|0;k[d>>2]=aa;lx(k[ia>>2]|0,74,0,k[da>>2]|0)|0;aA(k[ia>>2]|0,k[d>>2]|0);break}case 153:{k[s>>2]=k[(k[I>>2]|0)+40>>2];if(!(k[s>>2]|0)){ia=k[ca>>2]|0;k[B>>2]=k[(k[I>>2]|0)+8>>2];Mh(ia,31663,B);break a}else{k[ea>>2]=k[(k[(k[s>>2]|0)+40>>2]|0)+(j[(k[I>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{k[J>>2]=0;i[F>>0]=i[(k[K>>2]|0)+66>>0]|0;k[O>>2]=0;if(k[(k[I>>2]|0)+4>>2]&16384)k[S>>2]=0;else k[S>>2]=k[(k[I>>2]|0)+20>>2];if(k[S>>2]|0)d=k[k[S>>2]>>2]|0;else d=0;k[R>>2]=d;k[H>>2]=k[(k[I>>2]|0)+8>>2];aa=si(k[K>>2]|0,k[H>>2]|0,k[R>>2]|0,i[F>>0]|0,0)|0;k[P>>2]=aa;if((k[P>>2]|0)!=0?(k[(k[P>>2]|0)+16>>2]|0)==0:0){if(m[(k[P>>2]|0)+2>>1]&512){aa=Zz(k[ia>>2]|0)|0;k[L>>2]=aa;UA(k[ca>>2]|0,k[k[(k[S>>2]|0)+4>>2]>>2]|0,k[da>>2]|0);k[N>>2]=1;while(1){d=k[ia>>2]|0;if((k[N>>2]|0)>=(k[R>>2]|0))break;lx(d,35,k[da>>2]|0,k[L>>2]|0)|0;LA(k[ca>>2]|0,k[da>>2]|0,1);FA(k[ca>>2]|0);UA(k[ca>>2]|0,k[(k[(k[S>>2]|0)+4>>2]|0)+((k[N>>2]|0)*20|0)>>2]|0,k[da>>2]|0);DA(k[ca>>2]|0);k[N>>2]=(k[N>>2]|0)+1}bA(d,k[L>>2]|0);break a}if(m[(k[P>>2]|0)+2>>1]&1024){ia=VA(k[ca>>2]|0,k[k[(k[S>>2]|0)+4>>2]>>2]|0,k[da>>2]|0)|0;k[ea>>2]=ia;break a}k[N>>2]=0;while(1){if((k[N>>2]|0)>=(k[R>>2]|0))break;if((k[N>>2]|0)<32?(aB(k[(k[(k[S>>2]|0)+4>>2]|0)+((k[N>>2]|0)*20|0)>>2]|0)|0)!=0:0)k[J>>2]=k[J>>2]|1<>2];if(!((k[O>>2]|0)!=0?1:(m[(k[P>>2]|0)+2>>1]&32|0)==0)){aa=iy(k[ca>>2]|0,k[(k[(k[S>>2]|0)+4>>2]|0)+((k[N>>2]|0)*20|0)>>2]|0)|0;k[O>>2]=aa}k[N>>2]=(k[N>>2]|0)+1}if(k[S>>2]|0){d=k[ca>>2]|0;if(k[J>>2]|0){k[Q>>2]=(k[d+76>>2]|0)+1;aa=(k[ca>>2]|0)+76|0;k[aa>>2]=(k[aa>>2]|0)+(k[R>>2]|0)}else{aa=HA(d,k[R>>2]|0)|0;k[Q>>2]=aa}do if(m[(k[P>>2]|0)+2>>1]&192){i[M>>0]=i[k[k[(k[S>>2]|0)+4>>2]>>2]>>0]|0;if((l[M>>0]|0)!=152?(l[M>>0]|0)!=154:0)break;i[(k[k[(k[S>>2]|0)+4>>2]>>2]|0)+38>>0]=m[(k[P>>2]|0)+2>>1]&192}while(0);FA(k[ca>>2]|0);bB(k[ca>>2]|0,k[S>>2]|0,k[Q>>2]|0,0,3)|0;DA(k[ca>>2]|0)}else k[Q>>2]=0;if((k[R>>2]|0)>=2?(k[(k[I>>2]|0)+4>>2]&128|0)!=0:0){aa=cB(k[K>>2]|0,k[P>>2]|0,k[R>>2]|0,k[(k[(k[S>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[P>>2]=aa}else ja=77;if((ja|0)==77?(k[R>>2]|0)>0:0){aa=cB(k[K>>2]|0,k[P>>2]|0,k[R>>2]|0,k[k[(k[S>>2]|0)+4>>2]>>2]|0)|0;k[P>>2]=aa}if(m[(k[P>>2]|0)+2>>1]&32){if(!(k[O>>2]|0))k[O>>2]=k[(k[K>>2]|0)+8>>2];ox(k[ia>>2]|0,86,0,0,0,k[O>>2]|0,-4)|0}ox(k[ia>>2]|0,87,k[J>>2]|0,k[Q>>2]|0,k[da>>2]|0,k[P>>2]|0,-5)|0;Rh(k[ia>>2]|0,k[R>>2]&255);if(!((k[R>>2]|0)!=0&(k[J>>2]|0)==0))break a;KA(k[ca>>2]|0,k[Q>>2]|0,k[R>>2]|0);break a}ia=k[ca>>2]|0;k[G>>2]=k[H>>2];Mh(ia,31689,G);break}case 119:case 20:{ia=dB(k[ca>>2]|0,k[I>>2]|0,0,0)|0;k[ea>>2]=ia;break}case 33:{aa=Zz(k[ia>>2]|0)|0;k[e>>2]=aa;aa=Zz(k[ia>>2]|0)|0;k[f>>2]=aa;lx(k[ia>>2]|0,77,0,k[da>>2]|0)|0;eB(k[ca>>2]|0,k[I>>2]|0,k[e>>2]|0,k[f>>2]|0);lx(k[ia>>2]|0,74,1,k[da>>2]|0)|0;bA(k[ia>>2]|0,k[e>>2]|0);lx(k[ia>>2]|0,89,k[da>>2]|0,0)|0;bA(k[ia>>2]|0,k[f>>2]|0);break}case 32:{k[v>>2]=k[(k[I>>2]|0)+12>>2];k[t>>2]=k[(k[(k[I>>2]|0)+20>>2]|0)+4>>2];k[w>>2]=k[k[t>>2]>>2];aa=_A(k[ca>>2]|0,k[v>>2]|0,fa)|0;k[Q>>2]=aa;aa=_A(k[ca>>2]|0,k[w>>2]|0,ga)|0;k[y>>2]=aa;aa=rA(k[ca>>2]|0)|0;k[z>>2]=aa;aa=rA(k[ca>>2]|0)|0;k[A>>2]=aa;$A(k[ca>>2]|0,k[v>>2]|0,k[w>>2]|0,41,k[Q>>2]|0,k[y>>2]|0,k[z>>2]|0,32)|0;k[t>>2]=(k[t>>2]|0)+20;k[w>>2]=k[k[t>>2]>>2];vA(k[ca>>2]|0,k[ga>>2]|0);aa=_A(k[ca>>2]|0,k[w>>2]|0,ga)|0;k[y>>2]=aa;$A(k[ca>>2]|0,k[v>>2]|0,k[w>>2]|0,39,k[Q>>2]|0,k[y>>2]|0,k[A>>2]|0,32)|0;px(k[ia>>2]|0,28,k[z>>2]|0,k[A>>2]|0,k[da>>2]|0)|0;vA(k[ca>>2]|0,k[z>>2]|0);vA(k[ca>>2]|0,k[A>>2]|0);break}case 156:case 53:case 159:{ia=VA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[da>>2]|0)|0;k[ea>>2]=ia;break}case 88:{k[x>>2]=k[(k[I>>2]|0)+44>>2];aa=(ha(k[(k[I>>2]|0)+28>>2]|0,(j[(k[x>>2]|0)+34>>1]|0)+1|0)|0)+1|0;k[o>>2]=aa+(j[(k[I>>2]|0)+32>>1]|0);lx(k[ia>>2]|0,141,k[o>>2]|0,k[da>>2]|0)|0;if((j[(k[I>>2]|0)+32>>1]|0)>=0?(i[(k[(k[x>>2]|0)+4>>2]|0)+(j[(k[I>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Uz(k[ia>>2]|0,90,k[da>>2]|0)|0;break}case 83:{if(!(k[(k[ca>>2]|0)+420>>2]|0)){Mh(k[ca>>2]|0,31712,C);k[ba>>2]=0;ja=k[ba>>2]|0;r=ka;return ja|0}if((i[(k[I>>2]|0)+1>>0]|0)==2)Yx(k[ca>>2]|0);if((i[(k[I>>2]|0)+1>>0]|0)==4){ox(k[ia>>2]|0,73,0,4,0,k[(k[I>>2]|0)+8>>2]|0,0)|0;break a}else{yA(k[ca>>2]|0,1811,i[(k[I>>2]|0)+1>>0]|0,k[(k[I>>2]|0)+8>>2]|0,0,0);break a}}default:{k[$>>2]=0;k[_>>2]=k[(k[I>>2]|0)+20>>2];k[U>>2]=k[(k[_>>2]|0)+4>>2];k[X>>2]=k[k[_>>2]>>2];S=Zz(k[ia>>2]|0)|0;k[V>>2]=S;S=k[(k[I>>2]|0)+12>>2]|0;k[aa>>2]=S;if(S){d=T;e=k[aa>>2]|0;f=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fB(T,_A(k[ca>>2]|0,k[aa>>2]|0,fa)|0);i[Z>>0]=37;k[Z+12>>2]=T;k[$>>2]=Z;k[fa>>2]=0}k[W>>2]=0;while(1){if((k[W>>2]|0)>=((k[X>>2]|0)-1|0))break;FA(k[ca>>2]|0);d=k[(k[U>>2]|0)+((k[W>>2]|0)*20|0)>>2]|0;if(k[aa>>2]|0)k[Z+16>>2]=d;else k[$>>2]=d;T=Zz(k[ia>>2]|0)|0;k[Y>>2]=T;gB(k[ca>>2]|0,k[$>>2]|0,k[Y>>2]|0,16);UA(k[ca>>2]|0,k[(k[U>>2]|0)+(((k[W>>2]|0)+1|0)*20|0)>>2]|0,k[da>>2]|0);$z(k[ia>>2]|0,k[V>>2]|0)|0;DA(k[ca>>2]|0);bA(k[ia>>2]|0,k[Y>>2]|0);k[W>>2]=(k[W>>2]|0)+2}if(k[X>>2]&1){FA(k[ca>>2]|0);UA(k[ca>>2]|0,k[(k[(k[_>>2]|0)+4>>2]|0)+(((k[X>>2]|0)-1|0)*20|0)>>2]|0,k[da>>2]|0);DA(k[ca>>2]|0)}else lx(k[ia>>2]|0,77,0,k[da>>2]|0)|0;bA(k[ia>>2]|0,k[V>>2]|0)}}while(0);b:do if((ja|0)==11){k[g>>2]=k[(k[I>>2]|0)+28>>2];do if((k[g>>2]|0)<0)if((k[(k[ca>>2]|0)+100>>2]|0)>0){k[ea>>2]=(j[(k[I>>2]|0)+32>>1]|0)+(k[(k[ca>>2]|0)+100>>2]|0);break b}else{k[g>>2]=k[(k[ca>>2]|0)+104>>2];break}while(0);ja=WA(k[ca>>2]|0,k[(k[I>>2]|0)+44>>2]|0,j[(k[I>>2]|0)+32>>1]|0,k[g>>2]|0,k[da>>2]|0,i[(k[I>>2]|0)+38>>0]|0)|0;k[ea>>2]=ja}while(0);vA(k[ca>>2]|0,k[fa>>2]|0);vA(k[ca>>2]|0,k[ga>>2]|0);k[ba>>2]=k[ea>>2];ja=k[ba>>2]|0;r=ka;return ja|0}function WA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;g=v+32|0;h=v+28|0;l=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+36|0;t=v+8|0;q=v+4|0;s=v;k[h>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;i[p>>0]=f;k[t>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=0;k[s>>2]=(k[h>>2]|0)+124;while(1){if((k[q>>2]|0)>=10)break;if(((k[(k[s>>2]|0)+12>>2]|0)>0?(k[k[s>>2]>>2]|0)==(k[n>>2]|0):0)?(j[(k[s>>2]|0)+4>>1]|0)==(k[m>>2]|0):0){u=6;break}k[q>>2]=(k[q>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}if((u|0)==6){t=(k[h>>2]|0)+112|0;u=k[t>>2]|0;k[t>>2]=u+1;k[(k[s>>2]|0)+16>>2]=u;CB(k[h>>2]|0,k[(k[s>>2]|0)+12>>2]|0);k[g>>2]=k[(k[s>>2]|0)+12>>2];u=k[g>>2]|0;r=v;return u|0}QA(k[t>>2]|0,k[l>>2]|0,k[n>>2]|0,k[m>>2]|0,k[o>>2]|0);if(i[p>>0]|0)Rh(k[t>>2]|0,i[p>>0]|0);else DB(k[h>>2]|0,k[n>>2]|0,k[m>>2]|0,k[o>>2]|0);k[g>>2]=k[o>>2];u=k[g>>2]|0;r=v;return u|0}function XA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;m=o+8|0;e=o+40|0;p=o+36|0;f=o+32|0;g=o+28|0;j=o+24|0;i=o+20|0;h=o+16|0;l=o;n=o+12|0;k[e>>2]=a;k[p>>2]=b;k[f>>2]=c;k[g>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];d=(k[p>>2]|0)+8|0;if(k[(k[p>>2]|0)+4>>2]&1024){k[i>>2]=k[d>>2];if(k[f>>2]|0)k[i>>2]=0-(k[i>>2]|0);lx(k[j>>2]|0,74,k[i>>2]|0,k[g>>2]|0)|0;r=o;return}k[n>>2]=k[d>>2];p=Pi(k[n>>2]|0,l)|0;k[h>>2]=p;if((k[h>>2]|0)!=0?!((k[h>>2]|0)==2&(k[f>>2]|0)!=0):0)if(!(Jd(k[n>>2]|0,31811,2)|0)){p=k[e>>2]|0;k[m>>2]=k[n>>2];Mh(p,31814,m);r=o;return}else{YA(k[j>>2]|0,k[n>>2]|0,k[f>>2]|0,k[g>>2]|0);r=o;return}if(k[f>>2]|0){n=(k[h>>2]|0)==2;m=l;m=FR(0,0,k[m>>2]|0,k[m+4>>2]|0)|0;p=l;k[p>>2]=n?0:m;k[p+4>>2]=n?-2147483648:L}BB(k[j>>2]|0,75,0,k[g>>2]|0,0,l,-13)|0;r=o;return}function YA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}b=k[f>>2]|0;fz(b,i,Tf(k[f>>2]|0)|0,1)|0;if(k[g>>2]|0)p[i>>3]=-+p[i>>3];BB(k[e>>2]|0,133,0,k[h>>2]|0,0,i,-12)|0;r=j;return}function ZA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;LA(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function _A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;n=p+16|0;i=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=ny(k[f>>2]|0)|0;k[f>>2]=c;if(((l[(k[e>>2]|0)+23>>0]|0|0)!=0?(l[k[f>>2]>>0]|0|0)!=157:0)?(AB(k[f>>2]|0)|0)!=0:0){k[i>>2]=k[(k[e>>2]|0)+324>>2];k[k[g>>2]>>2]=0;a:do if(k[i>>2]|0){k[j>>2]=k[(k[i>>2]|0)+4>>2];k[h>>2]=k[k[i>>2]>>2];while(1){if((k[h>>2]|0)<=0)break a;if(((l[(k[j>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(My(k[k[j>>2]>>2]|0,k[f>>2]|0,-1)|0)==0:0)break;k[j>>2]=(k[j>>2]|0)+20;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=k[(k[j>>2]|0)+16>>2];o=k[d>>2]|0;r=p;return o|0}while(0);c=(k[e>>2]|0)+76|0;m=(k[c>>2]|0)+1|0;k[c>>2]=m;k[n>>2]=m;vB(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,1)}else o=12;do if((o|0)==12){o=rA(k[e>>2]|0)|0;k[m>>2]=o;o=VA(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)==(k[m>>2]|0)){k[k[g>>2]>>2]=k[m>>2];break}else{vA(k[e>>2]|0,k[m>>2]|0);k[k[g>>2]>>2]=0;break}}while(0);k[d>>2]=k[n>>2];o=k[d>>2]|0;r=p;return o|0}function $A(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;j=r;r=r+48|0;m=j+40|0;v=j+36|0;u=j+32|0;s=j+28|0;o=j+24|0;q=j+20|0;p=j+16|0;t=j+12|0;l=j+8|0;i=j+4|0;n=j;k[m>>2]=a;k[v>>2]=b;k[u>>2]=c;k[s>>2]=d;k[o>>2]=e;k[q>>2]=f;k[p>>2]=g;k[t>>2]=h;c=qB(k[m>>2]|0,k[v>>2]|0,k[u>>2]|0)|0;k[n>>2]=c;c=(zB(k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0)&255;k[l>>2]=c;c=ox(k[(k[m>>2]|0)+8>>2]|0,k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,-4)|0;k[i>>2]=c;Rh(k[(k[m>>2]|0)+8>>2]|0,k[l>>2]&255);r=j;return k[i>>2]|0}function aB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=wB(k[c>>2]|0,1,0)|0;r=b;return a|0}function bB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+44|0;g=z+40|0;h=z+36|0;j=z+32|0;n=z+49|0;v=z+28|0;p=z+24|0;s=z+20|0;t=z+16|0;o=z+48|0;x=z+12|0;u=z+8|0;q=z+4|0;w=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;i[n>>0]=e;i[o>>0]=(l[n>>0]&1|0)!=0?82:83;k[x>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[k[g>>2]>>2];if(!(i[(k[f>>2]|0)+23>>0]|0))i[n>>0]=l[n>>0]&-3;k[v>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[t>>2]|0))break;k[u>>2]=k[k[v>>2]>>2];if((l[n>>0]&4|0)!=0?(c=m[(k[(k[g>>2]|0)+4>>2]|0)+((k[p>>2]|0)*20|0)+16>>1]|0,k[s>>2]=c,(c|0)>0):0)lx(k[x>>2]|0,l[o>>0]|0,(k[s>>2]|0)+(k[j>>2]|0)-1|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((l[n>>0]&2|0)!=0?(aB(k[u>>2]|0)|0)!=0:0){vB(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0,0);break}c=VA(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;k[q>>2]=c;if((k[q>>2]|0)!=((k[h>>2]|0)+(k[p>>2]|0)|0)){if((((l[o>>0]|0)==82?(c=hA(k[x>>2]|0,-1)|0,k[w>>2]=c,(l[c>>0]|0)==82):0)?((k[(k[w>>2]|0)+4>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==(k[q>>2]|0):0)?((k[(k[w>>2]|0)+8>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==((k[h>>2]|0)+(k[p>>2]|0)|0):0){c=(k[w>>2]|0)+12|0;k[c>>2]=(k[c>>2]|0)+1;break}lx(k[x>>2]|0,l[o>>0]|0,k[q>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+20}r=z;return k[t>>2]|0}function cB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+56|0;f=z+52|0;g=z+48|0;h=z+44|0;n=z+40|0;t=z+36|0;u=z+32|0;q=z+28|0;w=z+24|0;p=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;o=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[w>>2]=0;k[p>>2]=0;k[v>>2]=0;if(!(k[n>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}if((l[k[n>>2]>>0]|0)!=152){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}k[t>>2]=k[(k[n>>2]|0)+44>>2];if(!(k[t>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}if(!(l[(k[t>>2]|0)+42>>0]&16)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}t=(Xx(k[f>>2]|0,k[t>>2]|0)|0)+8|0;k[u>>2]=k[t>>2];k[q>>2]=k[k[u>>2]>>2];if(!(k[(k[q>>2]|0)+72>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}t=zh(k[f>>2]|0,k[(k[g>>2]|0)+20>>2]|0)|0;k[y>>2]=t;if(k[y>>2]|0){k[x>>2]=k[y>>2];while(1){if(!(i[k[x>>2]>>0]|0))break;i[k[x>>2]>>0]=i[18229+(l[k[x>>2]>>0]|0)>>0]|0;k[x>>2]=(k[x>>2]|0)+1}q=k[(k[q>>2]|0)+72>>2]|0;t=k[u>>2]|0;u=k[h>>2]|0;x=k[y>>2]|0;k[o>>2]=w;x=hc[q&255](t,u,x,k[o>>2]|0,p)|0;k[v>>2]=x;bg(k[f>>2]|0,k[y>>2]|0)}if(!(k[v>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}y=k[f>>2]|0;y=Bh(y,28+(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0,0)|0;k[s>>2]=y;if(!(k[s>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}else{x=k[s>>2]|0;y=k[g>>2]|0;k[x>>2]=k[y>>2];k[x+4>>2]=k[y+4>>2];k[x+8>>2]=k[y+8>>2];k[x+12>>2]=k[y+12>>2];k[x+16>>2]=k[y+16>>2];k[x+20>>2]=k[y+20>>2];k[x+24>>2]=k[y+24>>2];k[(k[s>>2]|0)+20>>2]=(k[s>>2]|0)+28;x=(k[s>>2]|0)+28|0;y=k[(k[g>>2]|0)+20>>2]|0;IR(x|0,y|0,(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0)|0;k[(k[s>>2]|0)+12>>2]=k[w>>2];k[(k[s>>2]|0)+4>>2]=k[p>>2];y=(k[s>>2]|0)+2|0;j[y>>1]=m[y>>1]|16;k[e>>2]=k[s>>2];y=k[e>>2]|0;r=z;return y|0}return 0}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+160|0;e=K;q=K+140|0;s=K+136|0;t=K+132|0;u=K+128|0;v=K+124|0;A=K+120|0;H=K+116|0;I=K+112|0;f=K+108|0;x=K+144|0;w=K+104|0;h=K+100|0;D=K+96|0;p=K+92|0;m=K+72|0;n=K+68|0;y=K+64|0;o=K+60|0;C=K+56|0;E=K+52|0;F=K+48|0;G=K+44|0;B=K+40|0;z=K+36|0;j=K+32|0;g=K+12|0;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[A>>2]=-1;k[H>>2]=0;c=jx(k[s>>2]|0)|0;k[I>>2]=c;if(!(k[I>>2]|0)){k[q>>2]=0;J=k[q>>2]|0;r=K;return J|0}FA(k[s>>2]|0);if(!(k[(k[t>>2]|0)+4>>2]&32)){c=pB(k[s>>2]|0)|0;k[A>>2]=c}if((l[(k[s>>2]|0)+453>>0]|0)==2){c=k[k[s>>2]>>2]|0;b=(l[k[t>>2]>>0]|0)==33?31774:31779;a=k[(k[s>>2]|0)+472>>2]|0;k[e>>2]=(k[A>>2]|0)>=0?19018:31762;k[e+4>>2]=b;k[e+8>>2]=a;e=Oh(c,31786,e)|0;k[f>>2]=e;ox(k[I>>2]|0,160,k[(k[s>>2]|0)+468>>2]|0,0,0,k[f>>2]|0,-1)|0}d=k[t>>2]|0;do if((l[k[t>>2]>>0]|0)==33){k[h>>2]=k[d+12>>2];k[D>>2]=0;h=hy(k[h>>2]|0)|0;i[x>>0]=h;h=(k[s>>2]|0)+72|0;j=k[h>>2]|0;k[h>>2]=j+1;k[(k[t>>2]|0)+28>>2]=j;j=lx(k[I>>2]|0,105,k[(k[t>>2]|0)+28>>2]|0,((k[v>>2]|0)!=0^1)&1)|0;k[w>>2]=j;if(k[v>>2]|0)d=0;else d=lA(k[k[s>>2]>>2]|0,1,1)|0;k[D>>2]=d;d=(k[t>>2]|0)+20|0;do if(!(k[(k[t>>2]|0)+4>>2]&2048)){if(k[d>>2]|0){k[o>>2]=k[(k[t>>2]|0)+20>>2];if(!(i[x>>0]|0))i[x>>0]=65;if(k[D>>2]|0){p=iy(k[s>>2]|0,k[(k[t>>2]|0)+12>>2]|0)|0;k[(k[D>>2]|0)+20>>2]=p}p=rA(k[s>>2]|0)|0;k[E>>2]=p;p=rA(k[s>>2]|0)|0;k[F>>2]=p;if(k[v>>2]|0)lx(k[I>>2]|0,77,0,k[F>>2]|0)|0;k[y>>2]=k[k[o>>2]>>2];k[C>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[y>>2]|0)<=0)break;k[B>>2]=k[k[C>>2]>>2];if((k[A>>2]|0)>=0?(aB(k[B>>2]|0)|0)==0:0){MA(k[I>>2]|0,k[A>>2]|0)|0;k[A>>2]=-1}if((k[v>>2]|0)!=0?(Hy(k[B>>2]|0,z)|0)!=0:0)px(k[I>>2]|0,114,k[(k[t>>2]|0)+28>>2]|0,k[F>>2]|0,k[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;d=VA(k[s>>2]|0,k[B>>2]|0,k[E>>2]|0)|0;k[G>>2]=d;d=k[I>>2]|0;b=k[G>>2]|0;if(k[v>>2]|0){lx(d,17,b,(Yz(k[I>>2]|0)|0)+2|0)|0;px(k[I>>2]|0,113,k[(k[t>>2]|0)+28>>2]|0,k[F>>2]|0,k[G>>2]|0)|0;break}else{ox(d,96,b,1,k[F>>2]|0,x,1)|0;ZA(k[s>>2]|0,k[G>>2]|0,1);lx(k[I>>2]|0,124,k[(k[t>>2]|0)+28>>2]|0,k[F>>2]|0)|0;break}}while(0);k[y>>2]=(k[y>>2]|0)+-1;k[C>>2]=(k[C>>2]|0)+20}vA(k[s>>2]|0,k[E>>2]|0);vA(k[s>>2]|0,k[F>>2]|0)}}else{k[p>>2]=k[d>>2];uB(m,11,k[(k[t>>2]|0)+28>>2]|0);i[m+1>>0]=i[x>>0]|0;k[(k[p>>2]|0)+12>>2]=0;if(!(Xv(k[s>>2]|0,k[p>>2]|0,m)|0)){k[n>>2]=k[k[p>>2]>>2];J=qB(k[s>>2]|0,k[(k[t>>2]|0)+12>>2]|0,k[k[(k[n>>2]|0)+4>>2]>>2]|0)|0;k[(k[D>>2]|0)+20>>2]=J;break}mA(k[D>>2]|0);k[q>>2]=0;J=k[q>>2]|0;r=K;return J|0}while(0);if(k[D>>2]|0)Uh(k[I>>2]|0,k[w>>2]|0,k[D>>2]|0,-6)}else{k[j>>2]=k[d+20>>2];G=(k[s>>2]|0)+76|0;J=(k[G>>2]|0)+1|0;k[G>>2]=J;uB(g,0,J);if((l[k[t>>2]>>0]|0)==119){i[g>>0]=10;k[g+8>>2]=k[g+4>>2];lx(k[I>>2]|0,77,0,k[g+4>>2]|0)|0}else{i[g>>0]=3;lx(k[I>>2]|0,74,0,k[g+4>>2]|0)|0}qv(k[k[s>>2]>>2]|0,k[(k[j>>2]|0)+56>>2]|0);J=Mv(k[s>>2]|0,132,0,0,5124)|0;k[(k[j>>2]|0)+56>>2]=J;k[(k[j>>2]|0)+12>>2]=0;J=(k[j>>2]|0)+8|0;k[J>>2]=k[J>>2]&-1025;if(!(Xv(k[s>>2]|0,k[j>>2]|0,g)|0)){k[H>>2]=k[g+4>>2];break}k[q>>2]=0;J=k[q>>2]|0;r=K;return J|0}while(0);if(k[u>>2]|0)sB(k[I>>2]|0,k[(k[t>>2]|0)+28>>2]|0,k[u>>2]|0);if((k[A>>2]|0)>=0)aA(k[I>>2]|0,k[A>>2]|0);DA(k[s>>2]|0);k[q>>2]=k[H>>2];J=k[q>>2]|0;r=K;return J|0}function eB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;s=z+64|0;q=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;o=z+68|0;p=z+44|0;w=z+40|0;y=z+36|0;h=z+32|0;g=z+28|0;f=z+24|0;j=z+20|0;m=z+16|0;l=z+12|0;e=z+8|0;n=z+4|0;v=z;k[s>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[x>>2]=0;k[y>>2]=k[(k[s>>2]|0)+8>>2];c=kB(k[s>>2]|0,k[q>>2]|0,3,(k[t>>2]|0)==(k[u>>2]|0)?0:x)|0;k[p>>2]=c;c=lB(k[q>>2]|0)|0;i[o>>0]=c;FA(k[s>>2]|0);c=rA(k[s>>2]|0)|0;k[w>>2]=c;UA(k[s>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[w>>2]|0);c=k[q>>2]|0;if((k[p>>2]|0)!=5){do if(mB(k[c+12>>2]|0)|0){c=k[y>>2]|0;d=k[w>>2]|0;if((k[u>>2]|0)==(k[t>>2]|0)){lx(c,34,d,k[u>>2]|0)|0;break}else{m=Uz(c,35,d)|0;k[n>>2]=m;lx(k[y>>2]|0,55,k[(k[q>>2]|0)+28>>2]|0,k[t>>2]|0)|0;$z(k[y>>2]|0,k[u>>2]|0)|0;aA(k[y>>2]|0,k[n>>2]|0);break}}while(0);c=k[y>>2]|0;d=k[w>>2]|0;if((k[p>>2]|0)==1){lx(c,17,d,k[t>>2]|0)|0;px(k[y>>2]|0,32,k[(k[q>>2]|0)+28>>2]|0,k[t>>2]|0,k[w>>2]|0)|0;x=k[s>>2]|0;y=k[w>>2]|0;vA(x,y);y=k[s>>2]|0;DA(y);r=z;return}ox(c,95,d,1,0,o,1)|0;d=k[y>>2]|0;c=k[(k[q>>2]|0)+28>>2]|0;if(!(k[x>>2]|0)){Qh(d,30,c,k[t>>2]|0,k[w>>2]|0,1)|0;x=k[s>>2]|0;y=k[w>>2]|0;vA(x,y);y=k[s>>2]|0;DA(y);r=z;return}else{q=Qh(d,31,c,0,k[w>>2]|0,1)|0;k[v>>2]=q;lx(k[y>>2]|0,34,k[x>>2]|0,k[u>>2]|0)|0;$z(k[y>>2]|0,k[t>>2]|0)|0;aA(k[y>>2]|0,k[v>>2]|0);x=k[s>>2]|0;y=k[w>>2]|0;vA(x,y);y=k[s>>2]|0;DA(y);r=z;return}}k[h>>2]=k[c+20>>2];x=iy(k[s>>2]|0,k[(k[q>>2]|0)+12>>2]|0)|0;k[g>>2]=x;x=Zz(k[y>>2]|0)|0;k[f>>2]=x;k[l>>2]=0;if((k[u>>2]|0)!=(k[t>>2]|0)){x=rA(k[s>>2]|0)|0;k[l>>2]=x;px(k[y>>2]|0,43,k[w>>2]|0,k[w>>2]|0,k[l>>2]|0)|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break;x=_A(k[s>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,m)|0;k[j>>2]=x;if((k[l>>2]|0)!=0?(mB(k[(k[(k[h>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0)!=0:0)px(k[y>>2]|0,43,k[l>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;if((k[e>>2]|0)>=((k[k[h>>2]>>2]|0)-1|0)?(k[u>>2]|0)==(k[t>>2]|0):0){ox(k[y>>2]|0,36,k[w>>2]|0,k[t>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;Rh(k[y>>2]|0,(i[o>>0]|16)&255)}else{ox(k[y>>2]|0,37,k[w>>2]|0,k[f>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;Rh(k[y>>2]|0,i[o>>0]|0)}vA(k[s>>2]|0,k[m>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(k[l>>2]|0){lx(k[y>>2]|0,34,k[l>>2]|0,k[u>>2]|0)|0;$z(k[y>>2]|0,k[t>>2]|0)|0}bA(k[y>>2]|0,k[f>>2]|0);vA(k[s>>2]|0,k[l>>2]|0);x=k[s>>2]|0;y=k[w>>2]|0;vA(x,y);y=k[s>>2]|0;DA(y);r=z;return}function fB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+38>>0]=i[k[d>>2]>>0]|0;i[k[d>>2]>>0]=-99;k[(k[d>>2]|0)+28>>2]=k[e>>2];a=(k[d>>2]|0)+4|0;k[a>>2]=k[a>>2]&-4097;r=c;return}function gB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+44|0;f=u+40|0;g=u+36|0;h=u+32|0;s=u+28|0;m=u+24|0;p=u+20|0;q=u+16|0;n=u+12|0;o=u+8|0;i=u+4|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=k[(k[e>>2]|0)+8>>2];k[m>>2]=0;k[p>>2]=0;k[q>>2]=0;if((k[s>>2]|0)==0|(k[f>>2]|0)==0){r=u;return}k[m>>2]=((l[k[f>>2]>>0]|0)+0^1)-0;a:do switch(l[k[f>>2]>>0]|0|0){case 28:{gB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);FA(k[e>>2]|0);gB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);DA(k[e>>2]|0);break}case 27:{o=Zz(k[s>>2]|0)|0;k[i>>2]=o;hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);FA(k[e>>2]|0);gB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);bA(k[s>>2]|0,k[i>>2]|0);DA(k[e>>2]|0);break}case 19:{hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 29:{k[m>>2]=(l[k[f>>2]>>0]|0|0)==29?36:37;k[h>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{o=_A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=o;lx(k[s>>2]|0,k[m>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;break}case 32:{iB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0);break}case 33:if(k[h>>2]|0){eB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[g>>2]|0);break a}else{o=Zz(k[s>>2]|0)|0;k[j>>2]=o;eB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[j>>2]|0);bA(k[s>>2]|0,k[j>>2]|0);break a}default:{if(yz(k[f>>2]|0)|0){$z(k[s>>2]|0,k[g>>2]|0)|0;break a}if(!(jB(k[f>>2]|0)|0)){o=_A(k[e>>2]|0,k[f>>2]|0,p)|0;k[n>>2]=o;px(k[s>>2]|0,22,k[n>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}}while(0);if((t|0)==7){t=_A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=t;t=_A(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,q)|0;k[o>>2]=t;$A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}vA(k[e>>2]|0,k[p>>2]|0);vA(k[e>>2]|0,k[q>>2]|0);r=u;return}function hB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+48|0;f=v+44|0;g=v+40|0;h=v+36|0;t=v+32|0;n=v+28|0;q=v+24|0;s=v+20|0;o=v+16|0;p=v+12|0;i=v+8|0;j=v+4|0;m=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[t>>2]=k[(k[e>>2]|0)+8>>2];k[n>>2]=0;k[q>>2]=0;k[s>>2]=0;if((k[t>>2]|0)==0|(k[f>>2]|0)==0){r=v;return}k[n>>2]=l[k[f>>2]>>0];a:do switch(k[n>>2]|0){case 28:{p=Zz(k[t>>2]|0)|0;k[i>>2]=p;gB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);FA(k[e>>2]|0);hB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);bA(k[t>>2]|0,k[i>>2]|0);DA(k[e>>2]|0);break}case 27:{hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);FA(k[e>>2]|0);hB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);DA(k[e>>2]|0);break}case 19:{gB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 29:{k[n>>2]=(k[n>>2]|0)==29?37:36;k[h>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{p=_A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=p;lx(k[t>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;break}case 32:{iB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1,k[h>>2]|0);break}case 33:{p=Zz(k[t>>2]|0)|0;k[j>>2]=p;k[m>>2]=(k[h>>2]|0)!=0?k[g>>2]|0:k[j>>2]|0;eB(k[e>>2]|0,k[f>>2]|0,k[j>>2]|0,k[m>>2]|0);$z(k[t>>2]|0,k[g>>2]|0)|0;bA(k[t>>2]|0,k[j>>2]|0);break}default:{if(jB(k[f>>2]|0)|0){$z(k[t>>2]|0,k[g>>2]|0)|0;break a}if(!(yz(k[f>>2]|0)|0)){p=_A(k[e>>2]|0,k[f>>2]|0,q)|0;k[o>>2]=p;px(k[t>>2]|0,21,k[o>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}}while(0);if((u|0)==7){u=_A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=u;u=_A(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,s)|0;k[p>>2]=u;$A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}vA(k[e>>2]|0,k[q>>2]|0);vA(k[e>>2]|0,k[s>>2]|0);r=v;return}function iB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+216|0;f=s+212|0;l=s+208|0;o=s+204|0;m=s+200|0;p=s+152|0;g=s+104|0;h=s+56|0;j=s+8|0;q=s;k[n>>2]=a;k[f>>2]=b;k[l>>2]=c;k[o>>2]=d;k[m>>2]=e;k[q>>2]=0;c=j;e=k[(k[f>>2]|0)+12>>2]|0;d=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(d|0));i[p>>0]=28;k[p+12>>2]=g;k[p+16>>2]=h;i[g>>0]=41;k[g+12>>2]=j;k[g+16>>2]=k[k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]>>2];i[h>>0]=39;k[h+12>>2]=j;k[h+16>>2]=k[(k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];fB(j,_A(k[n>>2]|0,j,q)|0);d=k[n>>2]|0;e=k[l>>2]|0;c=k[m>>2]|0;if(k[o>>2]|0){hB(d,p,e,c);p=k[n>>2]|0;q=k[q>>2]|0;vA(p,q);r=s;return}else{gB(d,p,e,c);p=k[n>>2]|0;q=k[q>>2]|0;vA(p,q);r=s;return}}function jB(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Hy(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)!=0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function kB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+80|0;f=F+72|0;g=F+68|0;h=F+64|0;n=F+60|0;e=F+56|0;q=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;p=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;o=F+12|0;t=F+8|0;D=F+4|0;C=F;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[q>>2]=0;b=(k[f>>2]|0)+72|0;d=k[b>>2]|0;k[b>>2]=d+1;k[w>>2]=d;d=jx(k[f>>2]|0)|0;k[E>>2]=d;k[x>>2]=(k[h>>2]&4|0)!=0&1;a:do if((k[(k[f>>2]|0)+68>>2]|0)==0?(d=oB(k[g>>2]|0)|0,k[e>>2]=d,(d|0)!=0):0){k[p>>2]=k[k[f>>2]>>2];k[B>>2]=k[(k[(k[e>>2]|0)+28>>2]|0)+8+16>>2];k[y>>2]=k[k[(k[k[e>>2]>>2]|0)+4>>2]>>2];j[u>>1]=j[(k[y>>2]|0)+32>>1]|0;c=(Nh(k[p>>2]|0,k[(k[B>>2]|0)+64>>2]|0)|0)&65535;j[v>>1]=c;yx(k[f>>2]|0,j[v>>1]|0);Vz(k[f>>2]|0,j[v>>1]|0,k[(k[B>>2]|0)+28>>2]|0,0,k[k[B>>2]>>2]|0);c=k[f>>2]|0;if((j[u>>1]|0)<0){A=pB(c)|0;k[s>>2]=A;Wz(k[f>>2]|0,k[w>>2]|0,j[v>>1]|0,k[B>>2]|0,102);k[q>>2]=1;aA(k[E>>2]|0,k[s>>2]|0);break}y=qB(c,k[(k[g>>2]|0)+12>>2]|0,k[y>>2]|0)|0;k[A>>2]=y;y=rB(k[g>>2]|0,i[(k[(k[B>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+13>>0]|0)|0;k[o>>2]=y;k[z>>2]=k[(k[B>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0&(k[q>>2]|0)==0&(k[o>>2]|0)!=0))break a;do if((j[k[(k[z>>2]|0)+4>>2]>>1]|0)==(j[u>>1]|0)?(y=_j(k[p>>2]|0,i[(k[p>>2]|0)+66>>0]|0,k[k[(k[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(k[A>>2]|0)):0){if(k[x>>2]|0){if((m[(k[z>>2]|0)+50>>1]|0)!=1)break;if(!(l[(k[z>>2]|0)+54>>0]|0))break}y=pB(k[f>>2]|0)|0;k[t>>2]=y;px(k[E>>2]|0,102,k[w>>2]|0,k[(k[z>>2]|0)+44>>2]|0,j[v>>1]|0)|0;Xz(k[f>>2]|0,k[z>>2]|0);k[q>>2]=3+(l[k[(k[z>>2]|0)+28>>2]>>0]|0);if((k[n>>2]|0)!=0?(i[(k[(k[B>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+12>>0]|0)==0:0){s=(k[f>>2]|0)+76|0;y=(k[s>>2]|0)+1|0;k[s>>2]=y;k[k[n>>2]>>2]=y;sB(k[E>>2]|0,k[w>>2]|0,k[k[n>>2]>>2]|0)}aA(k[E>>2]|0,k[t>>2]|0)}while(0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}}while(0);do if(((k[q>>2]|0)==0?(k[h>>2]&1|0)!=0:0)?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0){if((tB(k[g>>2]|0)|0)!=0?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)>2:0)break;k[q>>2]=5}while(0);if(k[q>>2]|0){k[(k[g>>2]|0)+28>>2]=k[w>>2];E=k[q>>2]|0;r=F;return E|0}k[D>>2]=k[(k[f>>2]|0)+428>>2];k[C>>2]=0;k[q>>2]=2;if(k[h>>2]&4){k[(k[f>>2]|0)+428>>2]=0;if((j[(k[(k[g>>2]|0)+12>>2]|0)+32>>1]|0)<0?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0)k[q>>2]=1}else if(k[n>>2]|0){B=(k[f>>2]|0)+76|0;E=(k[B>>2]|0)+1|0;k[B>>2]=E;k[C>>2]=E;k[k[n>>2]>>2]=E}dB(k[f>>2]|0,k[g>>2]|0,k[C>>2]|0,(k[q>>2]|0)==1&1)|0;k[(k[f>>2]|0)+428>>2]=k[D>>2];E=k[q>>2]|0;r=F;return E|0}function lB(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;a=hy(k[(k[b>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+16>>2]|0){b=nB(k[a+16>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(k[a+4>>2]&2048){b=nB(k[k[(k[k[(k[b>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(i[c>>0]|0){c=i[c>>0]|0;r=d;return c|0}i[c>>0]=65;c=i[c>>0]|0;r=d;return c|0}function mB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+4|0;c=f;d=f+8|0;k[c>>2]=a;while(1){if((l[k[c>>2]>>0]|0)==156)b=1;else b=(l[k[c>>2]>>0]|0)==155;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+12>>2]}i[d>>0]=i[a>>0]|0;if((l[d>>0]|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[d>>0]|0){case 134:case 133:case 97:case 132:{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}case 152:{if(!(k[(k[c>>2]|0)+4>>2]&1048576))if((j[(k[c>>2]|0)+32>>1]|0)>=0)a=(l[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+(j[(k[c>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else a=0;else a=1;k[e>>2]=a&1;e=k[e>>2]|0;r=f;return e|0}default:{k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}}return 0}function nB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+6|0;g=f;d=f+5|0;e=f+4|0;k[g>>2]=a;i[d>>0]=b;a=hy(k[g>>2]|0)|0;i[e>>0]=a;if((i[e>>0]|0)!=0?(i[d>>0]|0)!=0:0){if((i[e>>0]|0)<67?(i[d>>0]|0)<67:0){i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}i[c>>0]=67;g=i[c>>0]|0;r=f;return g|0}if((i[e>>0]|0)!=0|(i[d>>0]|0)!=0){i[c>>0]=(i[e>>0]|0)+(i[d>>0]|0);g=i[c>>0]|0;r=f;return g|0}else{i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}return 0}function oB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;d=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;h=i;k[c>>2]=a;do if(k[(k[c>>2]|0)+4>>2]&2048){if(k[(k[c>>2]|0)+4>>2]&32){k[b>>2]=0;break}k[d>>2]=k[(k[c>>2]|0)+20>>2];if(k[(k[d>>2]|0)+48>>2]|0){k[b>>2]=0;break}if(k[(k[d>>2]|0)+8>>2]&9){k[b>>2]=0;break}if(k[(k[d>>2]|0)+56>>2]|0){k[b>>2]=0;break}if(k[(k[d>>2]|0)+32>>2]|0){k[b>>2]=0;break}k[g>>2]=k[(k[d>>2]|0)+28>>2];if((k[k[g>>2]>>2]|0)!=1){k[b>>2]=0;break}if(k[(k[g>>2]|0)+8+20>>2]|0){k[b>>2]=0;break}k[h>>2]=k[(k[g>>2]|0)+8+16>>2];if((l[(k[h>>2]|0)+42>>0]|0)&16){k[b>>2]=0;break}k[e>>2]=k[k[d>>2]>>2];if((k[k[e>>2]>>2]|0)!=1){k[b>>2]=0;break}k[f>>2]=k[k[(k[e>>2]|0)+4>>2]>>2];if((l[k[f>>2]>>0]|0|0)!=152){k[b>>2]=0;break}else{k[b>>2]=k[d>>2];break}}else k[b>>2]=0;while(0);r=i;return k[b>>2]|0}function pB(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;a=jx(k[d>>2]|0)|0;k[c>>2]=a;c=k[c>>2]|0;d=(k[d>>2]|0)+84|0;a=k[d>>2]|0;k[d>>2]=a+1;a=Uz(c,20,a)|0;r=b;return a|0}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]&256){c=iy(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&256|0)!=0:0){c=iy(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}c=iy(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){c=k[g>>2]|0;r=h;return c|0}c=iy(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}function rB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+4|0;g=e;d=e+9|0;f=e+8|0;k[g>>2]=a;i[d>>0]=b;a=lB(k[g>>2]|0)|0;i[f>>0]=a;switch(i[f>>0]|0){case 65:{k[c>>2]=1;break}case 66:{k[c>>2]=(i[d>>0]|0)==66&1;break}default:k[c>>2]=(i[d>>0]|0)>=67&1}r=e;return k[c>>2]|0}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;h=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;lx(k[f>>2]|0,74,0,k[g>>2]|0)|0;a=Uz(k[f>>2]|0,55,k[h>>2]|0)|0;k[e>>2]=a;px(k[f>>2]|0,94,k[h>>2]|0,0,k[g>>2]|0)|0;Rh(k[f>>2]|0,-128);aA(k[f>>2]|0,k[e>>2]|0);r=d;return}function tB(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;d=c+8|0;e=c+4|0;b=c;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=0;a=aB(k[d>>2]|0)|0;k[b>>2]=a;k[(k[d>>2]|0)+12>>2]=k[e>>2];r=c;return k[b>>2]|0}function uB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;i[k[e>>2]>>0]=k[g>>2];k[(k[e>>2]|0)+4>>2]=k[f>>2];i[(k[e>>2]|0)+1>>0]=0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;r=d;return}function vB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;e=m+16|0;n=m+12|0;f=m+8|0;g=m+20|0;h=m+4|0;j=m;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;i[g>>0]=d;k[h>>2]=k[(k[e>>2]|0)+324>>2];d=Ky(k[k[e>>2]>>2]|0,k[n>>2]|0,0)|0;k[n>>2]=d;d=$v(k[e>>2]|0,k[h>>2]|0,k[n>>2]|0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){d=k[h>>2]|0;n=k[e>>2]|0;n=n+324|0;k[n>>2]=d;r=m;return}k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(((k[k[h>>2]>>2]|0)-1|0)*20|0);k[(k[j>>2]|0)+16>>2]=k[f>>2];d=(k[j>>2]|0)+13|0;i[d>>0]=i[d>>0]&-5|((l[g>>0]|0)&1)<<2&255;d=k[h>>2]|0;n=k[e>>2]|0;n=n+324|0;k[n>>2]=d;r=m;return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;f=e+36|0;h=e+32|0;g=e+28|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=k[h>>2];k[d+4>>2]=197;k[d+8>>2]=198;k[d+24>>2]=k[g>>2];yy(d,k[f>>2]|0)|0;r=e;return l[d+20>>0]|0|0}function xB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+20>>0]|0|0)==2?(k[(k[e>>2]|0)+4>>2]&1|0)!=0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2}else f=4;a:do if((f|0)==4){b:do switch(l[k[e>>2]>>0]|0|0){case 151:{if((l[(k[d>>2]|0)+20>>0]|0|0)<4?(k[(k[e>>2]|0)+4>>2]&524288|0)==0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}k[c>>2]=0;break a}case 154:case 153:case 152:case 55:{if((l[(k[d>>2]|0)+20>>0]|0|0)==3?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[d>>2]|0)+24>>2]|0):0){k[c>>2]=0;break a}i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}case 135:{if((l[(k[d>>2]|0)+20>>0]|0|0)==5){i[k[e>>2]>>0]=101;break b}if((l[(k[d>>2]|0)+20>>0]|0|0)==4){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}break}default:{}}while(0);k[c>>2]=0}while(0);r=g;return k[c>>2]|0}function yB(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;i[(k[d>>2]|0)+20>>0]=0;r=c;return 2}function zB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+8|0;h=e+4|0;f=e;d=e+12|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;b=hy(k[h>>2]|0)|0;i[d>>0]=b;b=(nB(k[g>>2]|0,i[d>>0]|0)|0)&255;i[d>>0]=b|k[f>>2]&255;r=e;return i[d>>0]|0}function AB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=wB(k[c>>2]|0,2,0)|0;r=b;return a|0}function BB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;h=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;f=$w(TA(k[h>>2]|0)|0,8,0)|0;k[q>>2]=f;if(k[q>>2]|0){f=k[q>>2]|0;g=k[o>>2]|0;i[f>>0]=i[g>>0]|0;i[f+1>>0]=i[g+1>>0]|0;i[f+2>>0]=i[g+2>>0]|0;i[f+3>>0]=i[g+3>>0]|0;i[f+4>>0]=i[g+4>>0]|0;i[f+5>>0]=i[g+5>>0]|0;i[f+6>>0]=i[g+6>>0]|0;i[f+7>>0]=i[g+7>>0]|0}f=ox(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;r=s;return f|0}function CB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=(k[g>>2]|0)+124;while(1){if((k[d>>2]|0)>=10)break;if((k[(k[e>>2]|0)+12>>2]|0)==(k[c>>2]|0))i[(k[e>>2]|0)+6>>0]=0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+20}r=f;return}function DB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;e=s+28|0;f=s+24|0;g=s+20|0;h=s+16|0;l=s+12|0;o=s+8|0;n=s+4|0;p=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((m[(k[k[e>>2]>>2]|0)+64>>1]|0)&2){r=s;return}k[l>>2]=0;k[p>>2]=(k[e>>2]|0)+124;while(1){if((k[l>>2]|0)>=10)break;if(!(k[(k[p>>2]|0)+12>>2]|0)){q=5;break}k[l>>2]=(k[l>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if((q|0)==5){k[(k[p>>2]|0)+8>>2]=k[(k[e>>2]|0)+108>>2];k[k[p>>2]>>2]=k[f>>2];j[(k[p>>2]|0)+4>>1]=k[g>>2];k[(k[p>>2]|0)+12>>2]=k[h>>2];i[(k[p>>2]|0)+6>>0]=0;a=(k[e>>2]|0)+112|0;q=k[a>>2]|0;k[a>>2]=q+1;k[(k[p>>2]|0)+16>>2]=q;q=(k[e>>2]|0)+25|0;i[q>>0]=(i[q>>0]|0)+1<<24>>24;r=s;return}k[o>>2]=2147483647;k[n>>2]=-1;k[l>>2]=0;k[p>>2]=(k[e>>2]|0)+124;while(1){if((k[l>>2]|0)>=10)break;if((k[(k[p>>2]|0)+16>>2]|0)<(k[o>>2]|0)){k[n>>2]=k[l>>2];k[o>>2]=k[(k[p>>2]|0)+16>>2]}k[l>>2]=(k[l>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if((k[n>>2]|0)<0){r=s;return}k[p>>2]=(k[e>>2]|0)+124+((k[n>>2]|0)*20|0);k[(k[p>>2]|0)+8>>2]=k[(k[e>>2]|0)+108>>2];k[k[p>>2]>>2]=k[f>>2];j[(k[p>>2]|0)+4>>1]=k[g>>2];k[(k[p>>2]|0)+12>>2]=k[h>>2];i[(k[p>>2]|0)+6>>0]=0;a=(k[e>>2]|0)+112|0;q=k[a>>2]|0;k[a>>2]=q+1;k[(k[p>>2]|0)+16>>2]=q;r=s;return}function EB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[d>>2]|0)+52>>1]|0)){c=7;break}k[f>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2];if((j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>=0?0==(sg(k[f>>2]|0,k[c>>2]|0)|0):0){c=5;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==5){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==7){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function FB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;h=y+76|0;j=y+72|0;m=y+68|0;n=y+64|0;o=y+60|0;p=y+56|0;q=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=k[k[h>>2]>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[h>>2];b=GB(v,k[o>>2]|0)|0;k[t>>2]=b;do if((0==(b|0)?(b=GB(v,k[p>>2]|0)|0,k[t>>2]=b,0==(b|0)):0)?(b=GB(v,k[q>>2]|0)|0,k[t>>2]=b,0==(b|0)):0){if(k[n>>2]|0){if((l[k[n>>2]>>0]|0)==97)k[x>>2]=k[(k[n>>2]|0)+8>>2];else k[x>>2]=0;x=gx(k[h>>2]|0,k[j>>2]|0,k[x>>2]|0,0,0)|0;k[t>>2]=x;if(k[t>>2]|0)break}x=jx(k[h>>2]|0)|0;k[w>>2]=x;x=HA(k[h>>2]|0,4)|0;k[u>>2]=x;UA(k[h>>2]|0,k[o>>2]|0,k[u>>2]|0);UA(k[h>>2]|0,k[p>>2]|0,(k[u>>2]|0)+1|0);UA(k[h>>2]|0,k[q>>2]|0,(k[u>>2]|0)+2|0);if(k[w>>2]|0){ox(k[w>>2]|0,87,0,(k[u>>2]|0)+3-(i[k[m>>2]>>0]|0)|0,(k[u>>2]|0)+3|0,k[m>>2]|0,-5)|0;Rh(k[w>>2]|0,i[k[m>>2]>>0]|0);Uz(k[w>>2]|0,148,(k[j>>2]|0)==24&1)|0}}while(0);qv(k[s>>2]|0,k[o>>2]|0);qv(k[s>>2]|0,k[p>>2]|0);qv(k[s>>2]|0,k[q>>2]|0);r=y;return}function GB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[d>>2]|0)if((l[k[d>>2]>>0]|0|0)!=55){a=Cy(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;break}else{i[k[d>>2]>>0]=97;break}while(0);r=f;return k[e>>2]|0}function HB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+192|0;m=p+24|0;l=p+16|0;j=p+8|0;h=p;d=p+52|0;q=p+44|0;o=p+40|0;e=p+36|0;f=p+32|0;g=p+28|0;n=p+56|0;k[d>>2]=a;k[p+48>>2]=b;k[q>>2]=c;a=ke(k[k[q>>2]>>2]|0)|0;k[o>>2]=a;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;k[g>>2]=0;if(!(k[o>>2]|0))k[o>>2]=19018;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,k[o>>2]|0)|0)==0:0)break;k[f>>2]=(k[f>>2]|0)+1}do if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[o>>2];_d(128,n,31852,h)|0}else{if((k[f>>2]|0)<2){k[j>>2]=k[o>>2];_d(128,n,31873,j)|0;break}if(!(i[(k[e>>2]|0)+67>>0]|0)){_d(128,n,31899,l)|0;break}if((Ag(k[(k[g>>2]|0)+4>>2]|0)|0)==0?(yu(k[(k[g>>2]|0)+4>>2]|0)|0)==0:0){IB(k[(k[g>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+4>>2]=0;k[(k[g>>2]|0)+12>>2]=0;JB(k[e>>2]|0);r=p;return}k[m>>2]=k[o>>2];_d(128,n,31941,m)|0}while(0);te(k[d>>2]|0,n,-1);r=p;return}function IB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];wg(k[b>>2]|0);k[d>>2]=k[(k[c>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];if((k[k[e>>2]>>2]|0)!=(k[b>>2]|0))continue;KB(k[e>>2]|0)|0}Yg(k[b>>2]|0,0,0)|0;if(!((i[(k[b>>2]|0)+9>>0]|0)!=0?(LB(k[c>>2]|0)|0)==0:0)){pr(k[k[c>>2]>>2]|0)|0;if((k[(k[c>>2]|0)+52>>2]|0)!=0?(k[(k[c>>2]|0)+48>>2]|0)!=0:0)_b[k[(k[c>>2]|0)+52>>2]&255](k[(k[c>>2]|0)+48>>2]|0);bg(0,k[(k[c>>2]|0)+48>>2]|0);aj(k[c>>2]|0);Ud(k[c>>2]|0)}if(k[(k[b>>2]|0)+28>>2]|0)k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];if(!(k[(k[b>>2]|0)+24>>2]|0)){e=k[b>>2]|0;Ud(e);r=f;return 0}k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];e=k[b>>2]|0;Ud(e);r=f;return 0}function JB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;k[c>>2]=2;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(!(k[(k[e>>2]|0)+4>>2]|0)){bg(k[b>>2]|0,k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0}else{if((k[d>>2]|0)<(k[c>>2]|0)){a=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)|0;g=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)|0;k[a>>2]=k[g>>2];k[a+4>>2]=k[g+4>>2];k[a+8>>2]=k[g+8>>2];k[a+12>>2]=k[g+12>>2]}k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+20>>2]=k[d>>2];if((k[(k[b>>2]|0)+20>>2]|0)>2){r=f;return}if((k[(k[b>>2]|0)+16>>2]|0)==((k[b>>2]|0)+392|0)){r=f;return}g=(k[b>>2]|0)+392|0;e=k[(k[b>>2]|0)+16>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];k[g+16>>2]=k[e+16>>2];k[g+20>>2]=k[e+20>>2];k[g+24>>2]=k[e+24>>2];k[g+28>>2]=k[e+28>>2];bg(k[b>>2]|0,k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=(k[b>>2]|0)+392;r=f;return}function KB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;c=g+8|0;d=g+4|0;f=g;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];if(!(k[e>>2]|0)){r=g;return 0}k[d>>2]=k[(k[b>>2]|0)+4>>2];wg(k[e>>2]|0);MB(k[b>>2]|0);a:do if((k[(k[d>>2]|0)+8>>2]|0)==(k[b>>2]|0))k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2];else{k[f>>2]=k[(k[d>>2]|0)+8>>2];while(1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[b>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[f>>2]|0))break a}k[(k[f>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2]}while(0);k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;NB(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}OB(k[d>>2]|0);Ud(k[(k[b>>2]|0)+12>>2]|0);r=g;return 0}function LB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[e>>2]=0;b=(k[c>>2]|0)+64|0;k[b>>2]=(k[b>>2]|0)+-1;if((k[(k[c>>2]|0)+64>>2]|0)>0){e=k[e>>2]|0;r=f;return e|0}if((k[1217]|0)!=(k[c>>2]|0)){k[d>>2]=k[1217];while(1){if(k[d>>2]|0)b=(k[(k[d>>2]|0)+68>>2]|0)!=(k[c>>2]|0);else b=0;a=k[d>>2]|0;if(!b)break;k[d>>2]=k[a+68>>2]}if(a)k[(k[d>>2]|0)+68>>2]=k[(k[c>>2]|0)+68>>2]}else k[1217]=k[(k[c>>2]|0)+68>>2];k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}function MB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+48>>2]|0);k[(k[c>>2]|0)+48>>2]=0;i[(k[c>>2]|0)+66>>0]=0;r=b;return}function NB(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}PB(k[b>>2]|0);r=c;return}function OB(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(l[(k[b>>2]|0)+20>>0]|0){r=d;return}if(!(k[(k[b>>2]|0)+12>>2]|0)){r=d;return}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;PB(k[c>>2]|0);r=d;return}function PB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Rs(k[(k[c>>2]|0)+72>>2]|0);r=b;return}function QB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;g=E+16|0;f=E+8|0;e=E;m=E+116|0;F=E+108|0;d=E+104|0;u=E+100|0;o=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;p=E+76|0;n=E+72|0;A=E+68|0;t=E+64|0;h=E+60|0;s=E+56|0;q=E+52|0;k[m>>2]=a;k[E+112>>2]=b;k[F>>2]=c;k[u>>2]=0;a=Ge(k[m>>2]|0)|0;k[o>>2]=a;k[D>>2]=0;k[z>>2]=0;k[A>>2]=0;a=ke(k[k[F>>2]>>2]|0)|0;k[B>>2]=a;a=ke(k[(k[F>>2]|0)+4>>2]|0)|0;k[C>>2]=a;if(!(k[B>>2]|0))k[B>>2]=19018;if(!(k[C>>2]|0))k[C>>2]=19018;b=k[o>>2]|0;do if((k[(k[o>>2]|0)+20>>2]|0)<((k[(k[o>>2]|0)+92+28>>2]|0)+2|0)){if(!(i[b+67>>0]|0)){F=Oh(k[o>>2]|0,32014,f)|0;k[A>>2]=F;break}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[o>>2]|0)+20>>2]|0))break;k[h>>2]=k[(k[(k[o>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];if(!(sg(k[h>>2]|0,k[C>>2]|0)|0)){j=12;break}k[d>>2]=(k[d>>2]|0)+1}if((j|0)==12){F=k[o>>2]|0;k[g>>2]=k[C>>2];F=Oh(F,32056,g)|0;k[A>>2]=F;break}b=k[o>>2]|0;do if((k[(k[o>>2]|0)+16>>2]|0)==((k[o>>2]|0)+392|0)){F=$w(b,48,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}else{F=k[n>>2]|0;j=k[(k[o>>2]|0)+16>>2]|0;k[F>>2]=k[j>>2];k[F+4>>2]=k[j+4>>2];k[F+8>>2]=k[j+8>>2];k[F+12>>2]=k[j+12>>2];k[F+16>>2]=k[j+16>>2];k[F+20>>2]=k[j+20>>2];k[F+24>>2]=k[j+24>>2];k[F+28>>2]=k[j+28>>2];break}}else{F=_w(b,k[(k[o>>2]|0)+16>>2]|0,(k[(k[o>>2]|0)+20>>2]|0)+1<<4,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}}while(0);k[(k[o>>2]|0)+16>>2]=k[n>>2];k[n>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[(k[o>>2]|0)+20>>2]<<4);F=k[n>>2]|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;k[p>>2]=k[(k[o>>2]|0)+48>>2];F=ik(k[(k[k[o>>2]>>2]|0)+16>>2]|0,k[B>>2]|0,p,t,D,z)|0;k[u>>2]=F;if(k[u>>2]|0){if((k[u>>2]|0)==7)vh(k[o>>2]|0);te(k[m>>2]|0,k[z>>2]|0,-1);Ud(k[z>>2]|0);r=E;return}k[p>>2]=k[p>>2]|256;F=jk(k[t>>2]|0,k[D>>2]|0,k[o>>2]|0,(k[n>>2]|0)+4|0,0,k[p>>2]|0)|0;k[u>>2]=F;Ud(k[D>>2]|0);F=(k[o>>2]|0)+20|0;k[F>>2]=(k[F>>2]|0)+1;if((k[u>>2]|0)!=19){if(!(k[u>>2]|0)){F=kk(k[o>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=F;if(k[(k[n>>2]|0)+12>>2]|0){if((l[(k[(k[n>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(l[(k[(k[n>>2]|0)+12>>2]|0)+77>>0]|0)!=(l[(k[o>>2]|0)+66>>0]|0):0){F=Oh(k[o>>2]|0,20632,y)|0;k[A>>2]=F;k[u>>2]=1}}else k[u>>2]=7;wg(k[(k[n>>2]|0)+4>>2]|0);F=Zf(k[(k[n>>2]|0)+4>>2]|0)|0;k[s>>2]=F;RB(k[s>>2]|0,l[(k[o>>2]|0)+71>>0]|0)|0;F=k[(k[n>>2]|0)+4>>2]|0;SB(F,SB(k[(k[(k[o>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;TB(k[(k[n>>2]|0)+4>>2]|0,3|k[(k[o>>2]|0)+24>>2]&56)|0}}else{k[u>>2]=1;F=Oh(k[o>>2]|0,32086,x)|0;k[A>>2]=F}i[(k[n>>2]|0)+8>>0]=3;F=zh(k[o>>2]|0,k[C>>2]|0)|0;k[k[n>>2]>>2]=F;if((k[u>>2]|0)==0?(k[k[n>>2]>>2]|0)==0:0)k[u>>2]=7;if(!(k[u>>2]|0)){Yf(k[o>>2]|0);F=Ai(k[o>>2]|0,A)|0;k[u>>2]=F}if(!(k[u>>2]|0)){r=E;return}k[q>>2]=(k[(k[o>>2]|0)+20>>2]|0)-1;if(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0){IB(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0)|0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]=0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+12>>2]=0}Lg(k[o>>2]|0);k[(k[o>>2]|0)+20>>2]=k[q>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082){vh(k[o>>2]|0);bg(k[o>>2]|0,k[A>>2]|0);F=Oh(k[o>>2]|0,25632,v)|0;k[A>>2]=F;break}if(!(k[A>>2]|0)){F=k[o>>2]|0;k[w>>2]=k[B>>2];F=Oh(F,32115,w)|0;k[A>>2]=F}}else{k[e>>2]=k[(k[o>>2]|0)+92+28>>2];F=Oh(b,31977,e)|0;k[A>>2]=F}while(0);if(k[A>>2]|0){te(k[m>>2]|0,k[A>>2]|0,-1);bg(k[o>>2]|0,k[A>>2]|0)}if(!(k[u>>2]|0)){r=E;return}Be(k[m>>2]|0,k[u>>2]|0);r=E;return}function RB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(((k[d>>2]|0)>=0?(i[(k[c>>2]|0)+13>>0]|0)==0:0)?(VB(k[(k[c>>2]|0)+216>>2]|0)|0)==0:0)i[(k[c>>2]|0)+4>>0]=k[d>>2];r=e;return l[(k[c>>2]|0)+4>>0]|0}function SB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}wg(k[d>>2]|0);if((k[e>>2]|0)>=0?(a=(k[(k[d>>2]|0)+4>>2]|0)+22|0,j[a>>1]=(m[a>>1]|0)&-5,(k[e>>2]|0)!=0):0){a=(k[(k[d>>2]|0)+4>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|4}k[f>>2]=((m[(k[(k[d>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}function TB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);UB(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function UB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;c=f;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[e>>2]&7;if(i[(k[d>>2]|0)+13>>0]|0){i[(k[d>>2]|0)+7>>0]=1;i[(k[d>>2]|0)+8>>0]=0;i[(k[d>>2]|0)+9>>0]=0}else{i[(k[d>>2]|0)+7>>0]=(k[c>>2]|0)==1?1:0;i[(k[d>>2]|0)+8>>0]=(k[c>>2]|0)>>>0>=3?1:0;i[(k[d>>2]|0)+9>>0]=(k[c>>2]|0)==4?1:0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if(k[e>>2]&8){i[(k[d>>2]|0)+12>>0]=3;i[(k[d>>2]|0)+10>>0]=3;break}b=(k[e>>2]&16|0)!=0;i[(k[d>>2]|0)+12>>0]=2;c=(k[d>>2]|0)+10|0;if(b){i[c>>0]=3;break}else{i[c>>0]=2;break}}else{i[(k[d>>2]|0)+12>>0]=0;i[(k[d>>2]|0)+10>>0]=0}while(0);i[(k[d>>2]|0)+11>>0]=i[(k[d>>2]|0)+12>>0]|0;if(i[(k[d>>2]|0)+8>>0]|0){b=(k[d>>2]|0)+11|0;i[b>>0]=l[b>>0]|32}c=(k[d>>2]|0)+21|0;a=l[c>>0]|0;if(k[e>>2]&32){i[c>>0]=a&-2;r=f;return}else{i[c>>0]=a|1;r=f;return}}function VB(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+43>>0]|0|0)==2;a=a&1;r=c;return a|0}function WB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);do if(k[(k[g>>2]|0)+4>>2]|0){if((k[d>>2]|0)!=0?0!=(sg(k[d>>2]|0,k[k[g>>2]>>2]|0)|0):0)break;yx(k[c>>2]|0,k[f>>2]|0)}while(0);k[f>>2]=(k[f>>2]|0)+1}r=h;return}function XB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n;c=n+44|0;d=n+40|0;h=n+36|0;i=n+32|0;f=n+28|0;g=n+24|0;e=n+20|0;l=n+16|0;m=n+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[c>>2]>>2];b=Nh(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=b;b=YB(k[d>>2]|0)|0;k[h>>2]=b;k[e>>2]=16;k[l>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[m>>2]=(k[g>>2]|0)==1?20521:20540;if((k[g>>2]|0)==1)k[e>>2]=14;if(gx(k[c>>2]|0,k[e>>2]|0,k[k[d>>2]>>2]|0,k[k[h>>2]>>2]|0,k[l>>2]|0)|0){r=n;return}if(gx(k[c>>2]|0,9,k[m>>2]|0,0,k[l>>2]|0)|0){r=n;return}m=jx(k[c>>2]|0)|0;k[i>>2]=m;if(!m){r=n;return}m=k[c>>2]|0;b=(k[g>>2]|0)==1?20521:20540;l=k[k[d>>2]>>2]|0;k[j>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[j+4>>2]=b;k[j+8>>2]=l;ix(m,32163,j);kx(k[c>>2]|0,k[g>>2]|0);ox(k[i>>2]|0,138,k[g>>2]|0,0,0,k[k[d>>2]>>2]|0,0)|0;r=n;return}function YB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Aj((k[(k[c>>2]|0)+24>>2]|0)+8|0,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;j=h+12|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;i[d>>0]=b;k[e>>2]=c;c=Bh(k[j>>2]|0,36+(k[(k[e>>2]|0)+4>>2]|0)+1|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[f>>2]|0;r=h;return j|0}k[g>>2]=(k[f>>2]|0)+36;IR(k[g>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;dx(k[g>>2]|0);k[(k[f>>2]|0)+12>>2]=k[g>>2];i[k[f>>2]>>0]=i[d>>0]|0;j=k[f>>2]|0;r=h;return j|0}function _B(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=(k[g>>2]|0)+8;b=vx(k[c>>2]|0,0,k[d>>2]|0)|0;k[e>>2]=b;$f(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[e>>2];if(k[e>>2]|0){g=(k[e>>2]|0)+36|0;j[g>>1]=(j[g>>1]|0)+1<<16>>16}if(!(qz(k[c>>2]|0,k[d>>2]|0)|0)){g=k[e>>2]|0;r=f;return g|0}k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}function $B(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;i=f+4|0;l=f;k[g>>2]=a;k[m>>2]=b;k[h>>2]=c;k[j>>2]=d;k[i>>2]=e;k[l>>2]=k[k[m>>2]>>2];k[k[g>>2]>>2]=k[m>>2];k[(k[g>>2]|0)+12>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[(k[g>>2]|0)+4>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[i>>2];k[(k[g>>2]|0)+8>>2]=(k[h>>2]|0)==1&1;r=f;return}function aC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;i=j;f=j+32|0;g=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;k[g>>2]=a;k[c>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}k[e>>2]=k[(k[g>>2]|0)+12>>2];k[d>>2]=0;k[h>>2]=(k[c>>2]|0)+8;while(1){if((k[d>>2]|0)>=(k[k[c>>2]>>2]|0)){c=15;break}if(!(k[(k[g>>2]|0)+8>>2]|0)){if((k[(k[h>>2]|0)+4>>2]|0)!=0?(sg(k[(k[h>>2]|0)+4>>2]|0,k[e>>2]|0)|0)!=0:0){c=8;break}bg(k[k[k[g>>2]>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0);k[(k[h>>2]|0)+4>>2]=0;k[k[h>>2]>>2]=k[(k[g>>2]|0)+4>>2]}if(bC(k[g>>2]|0,k[(k[h>>2]|0)+20>>2]|0)|0){c=11;break}if(cC(k[g>>2]|0,k[(k[h>>2]|0)+48>>2]|0)|0){c=13;break}k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+72}if((c|0)==8){e=k[k[g>>2]>>2]|0;b=k[(k[g>>2]|0)+20>>2]|0;h=k[(k[h>>2]|0)+4>>2]|0;k[i>>2]=k[(k[g>>2]|0)+16>>2];k[i+4>>2]=b;k[i+8>>2]=h;Mh(e,32461,i);k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==11){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==13){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==15){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}return 0}function bC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=20;break}if(dC(k[c>>2]|0,k[k[d>>2]>>2]|0)|0){c=4;break}if(aC(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0)|0){c=6;break}if(cC(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0){c=8;break}if(dC(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0){c=10;break}if(cC(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0){c=12;break}if(dC(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0){c=14;break}if(cC(k[c>>2]|0,k[(k[d>>2]|0)+56>>2]|0)|0){c=16;break}if(cC(k[c>>2]|0,k[(k[d>>2]|0)+60>>2]|0)|0){c=18;break}k[d>>2]=k[(k[d>>2]|0)+48>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=1;else if((c|0)==12)k[e>>2]=1;else if((c|0)==14)k[e>>2]=1;else if((c|0)==16)k[e>>2]=1;else if((c|0)==18)k[e>>2]=1;else if((c|0)==20)k[e>>2]=0;r=f;return k[e>>2]|0}function cC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+12|0;e=g+8|0;c=g+4|0;k[e>>2]=a;k[c>>2]=b;while(1){if(!(k[c>>2]|0)){b=16;break}if((l[k[c>>2]>>0]|0)==135){if(!(i[(k[k[k[e>>2]>>2]>>2]|0)+144+5>>0]|0)){b=6;break}i[k[c>>2]>>0]=101}if(k[(k[c>>2]|0)+4>>2]&16384){b=16;break}b=k[e>>2]|0;a=(k[c>>2]|0)+20|0;if(k[(k[c>>2]|0)+4>>2]&2048){if(bC(b,k[a>>2]|0)|0){b=10;break}}else if(dC(b,k[a>>2]|0)|0){b=12;break}if(cC(k[e>>2]|0,k[(k[c>>2]|0)+16>>2]|0)|0){b=14;break}k[c>>2]=k[(k[c>>2]|0)+12>>2]}if((b|0)==6){c=k[k[e>>2]>>2]|0;k[f>>2]=k[(k[e>>2]|0)+16>>2];Mh(c,32507,f);k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==10){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==12){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==14){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==16){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function dC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if(cC(k[c>>2]|0,k[k[f>>2]>>2]|0)|0){c=6;break}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==8){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function eC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=10;break}if(bC(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0){c=4;break}if(cC(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0){c=6;break}if(dC(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0){c=8;break}k[d>>2]=k[(k[d>>2]|0)+28>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=0;r=f;return k[e>>2]|0}function fC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+89|0;i[a>>0]=i[a>>0]&-9|8;r=b;return}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[f>>2]|0)){r=g;return}nx(k[d>>2]|0,1,k[f>>2]|0)|0;hC(k[d>>2]|0,k[e>>2]|0);lx(k[d>>2]|0,85,1,1)|0;r=g;return}function hC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;vC(k[e>>2]|0,1,d);r=c;return}function iC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;BB(k[f>>2]|0,75,0,1,0,h,-13)|0;hC(k[f>>2]|0,k[g>>2]|0);lx(k[f>>2]|0,85,1,1)|0;r=e;return}function jC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;g=f;k[c>>2]=a;k[h>>2]=b;k[g>>2]=k[k[c>>2]>>2];LC(k[(k[c>>2]|0)+16>>2]|0,(m[(k[c>>2]|0)+84>>1]|0)<<1);bg(k[g>>2]|0,k[(k[c>>2]|0)+16>>2]|0);k[d>>2]=k[h>>2]<<1;j[(k[c>>2]|0)+84>>1]=k[h>>2];a=Bh(k[g>>2]|0,(k[d>>2]|0)*40|0,0)|0;k[e>>2]=a;k[(k[c>>2]|0)+16>>2]=a;if(!(k[(k[c>>2]|0)+16>>2]|0)){r=f;return}while(1){h=k[d>>2]|0;k[d>>2]=h+-1;if((h|0)<=0)break;j[(k[e>>2]|0)+8>>1]=1;k[(k[e>>2]|0)+32>>2]=k[k[c>>2]>>2];k[e>>2]=(k[e>>2]|0)+40}r=f;return}function kC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;l=q+12|0;n=q+8|0;p=q+4|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[n>>2]=e;if(i[(k[k[g>>2]>>2]|0)+69>>0]|0){k[f>>2]=7;d=k[f>>2]|0;r=q;return d|0}else{d=(k[h>>2]|0)+(ha(k[j>>2]|0,m[(k[g>>2]|0)+84>>1]|0)|0)|0;k[o>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(d*40|0);d=ph(k[o>>2]|0,k[l>>2]|0,-1,1,k[n>>2]|0)|0;k[p>>2]=d;k[f>>2]=k[p>>2];d=k[f>>2]|0;r=q;return d|0}return 0}function lC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;do if(k[c>>2]|0){if(!(sg(k[c>>2]|0,32713)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,32706)|0))k[b>>2]=0;else d=6}else d=6;while(0);if((d|0)==6)k[b>>2]=-1;r=e;return k[b>>2]|0}function mC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)==6)k[b>>2]=0;else k[b>>2]=k[6260+(k[c>>2]<<2)>>2];r=d;return k[b>>2]|0}function nC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=e;c=k[a+4>>2]|0;if((c|0)>-1|(c|0)==-1&(k[a>>2]|0)>>>0>=4294967295){b=e;c=k[b+4>>2]|0;a=(k[d>>2]|0)+168|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;a=e;KC(k[(k[d>>2]|0)+216>>2]|0,k[a>>2]|0,k[a+4>>2]|0)}a=(k[d>>2]|0)+168|0;L=k[a+4>>2]|0;r=f;return k[a>>2]|0}function oC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);if(!(i[(k[(k[b>>2]|0)+4>>2]|0)+17>>0]|0)){a=0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}a=(i[(k[(k[b>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function pC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(sg(k[c>>2]|0,33784)|0){if(!(sg(k[c>>2]|0,33228)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,33789)|0)){k[b>>2]=2;break}else{a=Xi(k[c>>2]|0)|0;k[d>>2]=a;k[b>>2]=((k[d>>2]|0)>=0&(k[d>>2]|0)<=2?k[d>>2]|0:0)&255;break}}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function qC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;g=f+12|0;h=f+8|0;d=f+4|0;e=f;c=f+16|0;k[g>>2]=a;k[h>>2]=b;k[d>>2]=k[(k[g>>2]|0)+4>>2];k[e>>2]=0;i[c>>0]=k[h>>2];wg(k[g>>2]|0);if(((m[(k[d>>2]|0)+22>>1]|0)&2|0)!=0?(((l[c>>0]|0|0)!=0?1:0)|0)!=(l[(k[d>>2]|0)+17>>0]|0|0):0){k[e>>2]=8;h=k[e>>2]|0;r=f;return h|0}i[(k[d>>2]|0)+17>>0]=(l[c>>0]|0|0)!=0?1:0;i[(k[d>>2]|0)+18>>0]=(l[c>>0]|0|0)==2?1:0;h=k[e>>2]|0;r=f;return h|0}function rC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;f=d+4|0;c=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=IC(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function sC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(i[(k[b>>2]|0)+67>>0]|0)){r=e;return}k[d>>2]=k[(k[b>>2]|0)+16>>2];k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){a=k[c>>2]|0;k[c>>2]=a+-1;if((a|0)<=0)break;if(k[(k[d>>2]|0)+4>>2]|0)TB(k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|k[(k[b>>2]|0)+24>>2]&56)|0;k[d>>2]=(k[d>>2]|0)+16}r=e;return}function tC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;b=HC(k[h>>2]|0)|0;k[f>>2]=b;k[e>>2]=k[k[d>>2]>>2];if((l[(k[e>>2]|0)+68>>0]|0|0)==(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}if(uC(k[d>>2]|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}else{i[(k[e>>2]|0)+68>>0]=k[f>>2];k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}return 0}function uC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;b=f+12|0;c=f+8|0;d=f+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];do if(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0){if((i[(k[d>>2]|0)+67>>0]|0)!=0?(Ag(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){IB(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=0;Lg(k[d>>2]|0);break}Mh(k[c>>2]|0,33722,e);k[b>>2]=1;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;jC(k[d>>2]|0,k[e>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;kC(k[d>>2]|0,k[g>>2]|0,0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,0)|0;k[g>>2]=(k[g>>2]|0)+1}r=h;return}function wC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+8|0;l=n+4|0;j=n+36|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;while(1){c=i[(k[g>>2]|0)+(k[l>>2]|0)>>0]|0;i[j>>0]=c;if(!(c<<24>>24))break;if((i[j>>0]|0)==115){d=(k[h>>2]|0)+(4-1)&~(4-1);a=k[d>>2]|0;k[h>>2]=d+4;k[m>>2]=a;a=k[e>>2]|0;d=(k[m>>2]|0)==0?77:97;c=k[f>>2]|0;k[f>>2]=c+1;ox(a,d,0,c,0,k[m>>2]|0,0)|0}else{a=k[e>>2]|0;c=(k[h>>2]|0)+(4-1)&~(4-1);d=k[c>>2]|0;k[h>>2]=c+4;c=k[f>>2]|0;k[f>>2]=c+1;lx(a,74,d,c)|0}k[l>>2]=(k[l>>2]|0)+1}r=n;return}function xC(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;i[d>>0]=a;switch(l[d>>0]|0|0){case 7:{k[b>>2]=33532;break}case 8:{k[b>>2]=33541;break}case 9:{k[b>>2]=33553;break}case 6:{k[b>>2]=33561;break}default:k[b>>2]=33570}r=c;return k[b>>2]|0}function yC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;y=D;f=D+64|0;g=D+60|0;h=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;x=D+40|0;q=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[x>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[n>>2]|0)+20>>2];k[B>>2]=k[(k[n>>2]|0)+36+4>>2];do if((k[w>>2]|0)==1){if((j[(k[h>>2]|0)+32>>1]|0)>=0){if(!(k[B>>2]|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(sg(k[(k[(k[h>>2]|0)+4>>2]|0)+(j[(k[h>>2]|0)+32>>1]<<4)>>2]|0,k[B>>2]|0)|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}}}else if(k[p>>2]|0){d=$w(k[k[g>>2]>>2]|0,k[w>>2]<<2,0)|0;k[q>>2]=d;if(k[q>>2]|0){k[k[p>>2]>>2]=k[q>>2];break}k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}while(0);k[x>>2]=k[(k[h>>2]|0)+8>>2];a:while(1){if(!(k[x>>2]|0))break;do if((m[(k[x>>2]|0)+50>>1]|0)==(k[w>>2]|0)?(l[(k[x>>2]|0)+54>>0]|0)!=0:0){if(!(k[B>>2]|0))if((i[(k[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[w>>2]|0))break;j[u>>1]=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[t>>2]<<1)>>1]|0;if((j[u>>1]|0)<0)break;d=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+8>>2]|0;k[z>>2]=d;k[z>>2]=(k[z>>2]|0)!=0?d:35351;if(sg(k[(k[(k[x>>2]|0)+32>>2]|0)+(k[t>>2]<<2)>>2]|0,k[z>>2]|0)|0)break;k[A>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)>>2];k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[w>>2]|0))break;if(!(sg(k[(k[n>>2]|0)+36+(k[v>>2]<<3)+4>>2]|0,k[A>>2]|0)|0)){C=28;break}k[v>>2]=(k[v>>2]|0)+1}if((C|0)==28?(C=0,(k[q>>2]|0)!=0):0)k[(k[q>>2]|0)+(k[t>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[v>>2]<<3)>>2];if((k[v>>2]|0)==(k[w>>2]|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(k[w>>2]|0))break a}while(0);k[x>>2]=k[(k[x>>2]|0)+20>>2]}b:do if((C|0)==17?(k[q>>2]|0)!=0:0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break b;k[(k[q>>2]|0)+(k[s>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[s>>2]<<3)>>2];k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[x>>2]|0){k[k[o>>2]>>2]=k[x>>2];k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(i[(k[g>>2]|0)+442>>0]|0)){C=k[g>>2]|0;B=k[(k[n>>2]|0)+8>>2]|0;k[y>>2]=k[k[k[n>>2]>>2]>>2];k[y+4>>2]=B;Mh(C,33469,y)}bg(k[k[g>>2]>>2]|0,k[q>>2]|0);k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}function zC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+16|0;c=n+12|0;e=n+8|0;g=n+4|0;h=n;l=n+20|0;f=n+22|0;k[c>>2]=a;k[e>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+12>>2];b=(m[(k[e>>2]|0)+52>>1]|0)+1|0;b=Kh(0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+16>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){vh(k[c>>2]|0);k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[g>>2]=0;while(1){c=k[g>>2]|0;a=k[e>>2]|0;if((k[g>>2]|0)>=(m[(k[e>>2]|0)+52>>1]|0))break;j[l>>1]=j[(k[a+4>>2]|0)+(c<<1)>>1]|0;c=j[l>>1]|0;do if((j[l>>1]|0)<0){a=k[g>>2]|0;b=k[e>>2]|0;if((c|0)==-1){i[(k[b+16>>2]|0)+a>>0]=68;break}else{b=hy(k[(k[(k[b+40>>2]|0)+4>>2]|0)+(a*20|0)>>2]|0)|0;i[f>>0]=b;i[f>>0]=(i[f>>0]|0)==0?65:b;i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[f>>0]|0;break}}else i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[h>>2]|0)+4>>2]|0)+(c<<4)+13>>0]|0;while(0);k[g>>2]=(k[g>>2]|0)+1}i[(k[a+16>>2]|0)+c>>0]=0}k[d>>2]=k[(k[e>>2]|0)+16>>2];l=k[d>>2]|0;r=n;return l|0}function AC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0)k[e>>2]=33377;else k[e>>2]=19014;ri(k[c>>2]|0,33381,2,1,k[e>>2]|0,212,0,0,0)|0;ri(k[c>>2]|0,33381,3,1,k[e>>2]|0,212,0,0,0)|0;ri(k[c>>2]|0,33386,2,1,19010,212,0,0,0)|0;FC(k[c>>2]|0,33386,12);FC(k[c>>2]|0,33381,((k[d>>2]|0)!=0?12:4)&255);r=f;return}function BC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;k[d>>2]=(k[b>>2]|0)+124;while(1){if((k[c>>2]|0)>=10)break;if(k[(k[d>>2]|0)+12>>2]|0)EA(k[b>>2]|0,k[d>>2]|0);k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+20}r=e;return}function CC(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+64|0;o=C+52|0;p=C+48|0;q=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;j=C+24|0;x=C+20|0;y=C+16|0;m=C+12|0;A=C+8|0;B=C+4|0;z=C;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;i[t>>0]=d;k[u>>2]=e;k[v>>2]=f;k[w>>2]=g;k[j>>2]=h;if((l[(k[q>>2]|0)+42>>0]|0)&16){k[o>>2]=0;B=k[o>>2]|0;r=C;return B|0}h=Nh(k[k[p>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0;k[y>>2]=h;h=jx(k[p>>2]|0)|0;k[B>>2]=h;if((k[u>>2]|0)<0)k[u>>2]=k[(k[p>>2]|0)+72>>2];h=k[u>>2]|0;k[u>>2]=h+1;k[m>>2]=h;if(k[w>>2]|0)k[k[w>>2]>>2]=k[m>>2];do if(!((l[(k[q>>2]|0)+42>>0]|0)&32)){if((k[v>>2]|0)!=0?(l[k[v>>2]>>0]|0|0)==0:0){n=11;break}Wz(k[p>>2]|0,k[m>>2]|0,k[y>>2]|0,k[q>>2]|0,k[s>>2]|0)}else n=11;while(0);if((n|0)==11)Vz(k[p>>2]|0,k[y>>2]|0,k[(k[q>>2]|0)+28>>2]|0,(k[s>>2]|0)==103&255,k[k[q>>2]>>2]|0);if(k[j>>2]|0)k[k[j>>2]>>2]=k[u>>2];k[x>>2]=0;k[A>>2]=k[(k[q>>2]|0)+8>>2];while(1){j=k[u>>2]|0;if(!(k[A>>2]|0))break;k[u>>2]=j+1;k[z>>2]=j;if(!((k[v>>2]|0)!=0?(l[(k[v>>2]|0)+((k[x>>2]|0)+1)>>0]|0|0)==0:0)){px(k[B>>2]|0,k[s>>2]|0,k[z>>2]|0,k[(k[A>>2]|0)+44>>2]|0,k[y>>2]|0)|0;Xz(k[p>>2]|0,k[A>>2]|0)}if((i[(k[A>>2]|0)+55>>0]&3|0)==2?((l[(k[q>>2]|0)+42>>0]|0)&32|0)!=0:0){if(k[w>>2]|0)k[k[w>>2]>>2]=k[z>>2]}else Rh(k[B>>2]|0,i[t>>0]|0);k[A>>2]=k[(k[A>>2]|0)+20>>2];k[x>>2]=(k[x>>2]|0)+1}if((j|0)>(k[(k[p>>2]|0)+72>>2]|0))k[(k[p>>2]|0)+72>>2]=k[u>>2];k[o>>2]=k[x>>2];B=k[o>>2]|0;r=C;return B|0}function DC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+89|0;i[a>>0]=i[a>>0]&-9;r=b;return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;d=n+36|0;e=n+32|0;f=n+28|0;i=n+24|0;j=n+20|0;g=n+16|0;p=n+12|0;o=n+8|0;h=n+4|0;m=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Ge(k[d>>2]|0)|0;k[o>>2]=a;a=Fe(k[d>>2]|0)|0;k[h>>2]=a;a=ke(k[k[f>>2]>>2]|0)|0;k[j>>2]=a;a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=a;a=le(k[k[f>>2]>>2]|0)|0;k[p>>2]=a;if((k[p>>2]|0)>(k[(k[o>>2]|0)+92+32>>2]|0)){te(k[d>>2]|0,33391,-1);r=n;return}do if((k[e>>2]|0)==3){p=ke(k[(k[f>>2]|0)+8>>2]|0)|0;k[m>>2]=p;if(!(k[m>>2]|0)){r=n;return}if((Zx(k[m>>2]|0,-1)|0)==1){p=GC(m)|0;k[g>>2]=p;break}te(k[d>>2]|0,33424,-1);r=n;return}else k[g>>2]=l[(k[h>>2]|0)+2>>0];while(0);if(!((k[i>>2]|0)!=0&(k[j>>2]|0)!=0)){r=n;return}p=k[d>>2]|0;ue(p,$h(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0);r=n;return}function FC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+4|0;d=f+12|0;e=f;k[h>>2]=a;k[g>>2]=b;i[d>>0]=c;b=si(k[h>>2]|0,k[g>>2]|0,2,1,0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){r=f;return}h=(k[e>>2]|0)+2|0;j[h>>1]=m[h>>1]|0|(l[d>>0]|0);r=f;return}function GC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;e=k[b>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[c>>2]=l[a>>0];if((k[c>>2]|0)>>>0<192){e=k[c>>2]|0;r=d;return e|0}k[c>>2]=l[26179+((k[c>>2]|0)-192)>>0];while(1){a=k[c>>2]|0;if(((l[k[k[b>>2]>>2]>>0]|0)&192|0)!=128)break;f=k[b>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[c>>2]=(a<<6)+(63&(l[e>>0]|0))}if((a>>>0>=128?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=65533;f=k[c>>2]|0;r=d;return f|0}function HC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;if((i[k[c>>2]>>0]|0)>=48?(i[k[c>>2]>>0]|0)<=50:0)k[b>>2]=(i[k[c>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(sg(k[c>>2]|0,33626)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,26775)|0)){k[b>>2]=2;break}else{k[b>>2]=0;break}}while(0);r=e;return k[b>>2]|0}function IC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=JC(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function JC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){if((k[d>>2]|0)<0){b=k[d>>2]|0;b=RR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;a=PR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;k[d>>2]=a}k[(k[c>>2]|0)+20>>2]=k[d>>2]}a=kj(k[c>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=k[(k[c>>2]|0)+20>>2];e=k[e>>2]|0;r=f;return e|0}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if(!(k[d>>2]|0)){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+16|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function LC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[c>>2]=b;if(!((k[d>>2]|0)!=0&(k[c>>2]|0)!=0)){r=g;return}k[f>>2]=(k[d>>2]|0)+((k[c>>2]|0)*40|0);k[e>>2]=k[(k[d>>2]|0)+32>>2];if(k[(k[e>>2]|0)+456>>2]|0){do{if(k[(k[d>>2]|0)+24>>2]|0)bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}do{c=k[d>>2]|0;if(!((m[(k[d>>2]|0)+8>>1]|0)&9312)){if(k[c+24>>2]|0){bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+24>>2]=0}}else eh(c);j[(k[d>>2]|0)+8>>1]=128;a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}function MC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;j=n+8|0;i=n;e=n+44|0;o=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;l=n+24|0;m=n+48|0;k[e>>2]=a;k[o>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=k[(k[(k[k[e>>2]>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>4)break;k[i>>2]=k[h>>2];_d(24,m,34662,i)|0;if(Bi(k[k[e>>2]>>2]|0,m,k[l>>2]|0)|0){o=k[e>>2]|0;d=k[f>>2]|0;c=k[g>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=m;k[j+8>>2]=d;k[j+12>>2]=c;ix(o,31534,j)}k[h>>2]=(k[h>>2]|0)+1}r=n;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=r;r=r+48|0;g=d;f=d+36|0;h=d+32|0;j=d+28|0;i=d+24|0;e=d+20|0;k[f>>2]=a;k[h>>2]=b;k[j>>2]=c;a=jx(k[f>>2]|0)|0;k[i>>2]=a;a=rA(k[f>>2]|0)|0;k[e>>2]=a;px(k[i>>2]|0,128,k[h>>2]|0,k[e>>2]|0,k[j>>2]|0)|0;Yx(k[f>>2]|0);a=k[f>>2]|0;i=(k[j>>2]|0)==1?20521:20540;h=k[h>>2]|0;c=k[e>>2]|0;b=k[e>>2]|0;k[g>>2]=k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];k[g+4>>2]=i;k[g+8>>2]=h;k[g+12>>2]=c;k[g+16>>2]=b;ix(a,34606,g);vA(k[f>>2]|0,k[e>>2]|0);r=d;return}function OC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;l=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[k[j>>2]>>2];do if(!(k[m>>2]&(k[m>>2]|0)-1)){k[o>>2]=(k[m>>2]|0)==0?1:k[m>>2]<<1;c=ha(k[o>>2]|0,k[i>>2]|0)|0;c=_w(k[g>>2]|0,k[h>>2]|0,c,((c|0)<0)<<31>>31)|0;k[n>>2]=c;if(k[n>>2]|0){k[h>>2]=k[n>>2];break}k[k[l>>2]>>2]=-1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}while(0);k[p>>2]=k[h>>2];c=ha(k[m>>2]|0,k[i>>2]|0)|0;KR((k[p>>2]|0)+c|0,0,k[i>>2]|0)|0;k[k[l>>2]>>2]=k[m>>2];p=k[j>>2]|0;k[p>>2]=(k[p>>2]|0)+1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}function PC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=0;k[o>>2]=0;if(k[(k[k[f>>2]>>2]|0)+24>>2]&16777216){b=Cx(k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=b}k[n>>2]=k[o>>2];while(1){if(!(k[n>>2]|0))break;if((l[(k[n>>2]|0)+8>>0]|0|0)==(k[h>>2]|0)?(iG(k[(k[n>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)k[m>>2]=k[m>>2]|(l[(k[n>>2]|0)+9>>0]|0);k[n>>2]=k[(k[n>>2]|0)+32>>2]}if(!(k[j>>2]|0)){a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}k[k[j>>2]>>2]=k[m>>2];a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(((l[(k[f>>2]|0)+42>>0]|0)&16|0)!=0?(c=(Xx(k[k[e>>2]>>2]|0,k[f>>2]|0)|0)+4|0,(k[(k[k[c>>2]>>2]|0)+52>>2]|0)==0):0))j=3;do if((j|0)==3){if((((l[(k[f>>2]|0)+42>>0]|0)&1|0)!=0?(k[(k[k[e>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(l[(k[e>>2]|0)+18>>0]|0|0)==0:0)break;if((k[g>>2]|0)==0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[e>>2]|0;k[i>>2]=k[k[f>>2]>>2];Mh(j,35772,i);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);j=k[e>>2]|0;k[h>>2]=k[k[f>>2]>>2];Mh(j,35743,h);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}function RC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+89|0;i[a>>0]=i[a>>0]&-5|4;r=b;return}function SC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+128|0;u=O+108|0;v=O+104|0;w=O+100|0;f=O+96|0;q=O+92|0;x=O+88|0;z=O+84|0;h=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;n=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;p=O+20|0;K=O+16|0;L=O+12|0;g=O+8|0;o=O+4|0;G=O+112|0;N=O;k[v>>2]=a;k[w>>2]=b;k[f>>2]=c;k[q>>2]=d;k[x>>2]=e;k[z>>2]=k[k[v>>2]>>2];k[A>>2]=0;k[B>>2]=0;k[p>>2]=0;if(!(k[f>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[(k[v>>2]|0)+536>>2]|0)==0?(k[(k[f>>2]|0)+64>>2]|0)==0:0){if(Cx(k[v>>2]|0,k[w>>2]|0)|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[w>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[q>>2]|0)==10){if((j[(k[w>>2]|0)+32>>1]|0)>=0)k[q>>2]=l[(k[w>>2]|0)+43>>0];if((k[q>>2]|0)==10)k[q>>2]=2}if((k[k[(k[f>>2]|0)+28>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[(k[f>>2]|0)+28>>2]|0)+8+20>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+32>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+44>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+36>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+56>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+48>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+8>>2]&1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[h>>2]=k[k[f>>2]>>2];if((k[k[h>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((l[k[k[(k[h>>2]|0)+4>>2]>>2]>>0]|0)!=158){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[n>>2]=(k[(k[f>>2]|0)+28>>2]|0)+8;c=vx(k[v>>2]|0,0,k[n>>2]|0)|0;k[I>>2]=c;if(!(k[I>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[I>>2]|0)==(k[w>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(((l[(k[w>>2]|0)+42>>0]&32|0)==0|0)!=((l[(k[I>>2]|0)+42>>0]&32|0)==0|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[I>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[I>>2]|0)+12>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+34>>1]|0)!=(j[(k[I>>2]|0)+34>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+32>>1]|0)!=(j[(k[I>>2]|0)+32>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[C>>2]=0;a:while(1){if((k[C>>2]|0)>=(j[(k[w>>2]|0)+34>>1]|0)){f=64;break}k[g>>2]=(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<4);k[o>>2]=(k[(k[I>>2]|0)+4>>2]|0)+(k[C>>2]<<4);if((i[(k[g>>2]|0)+13>>0]|0)!=(i[(k[o>>2]|0)+13>>0]|0)){f=52;break}if(be(k[(k[g>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0){f=54;break}if((l[(k[g>>2]|0)+12>>0]|0)!=0?(i[(k[o>>2]|0)+12>>0]|0)==0:0){f=57;break}do if((k[C>>2]|0)>0){if(((k[(k[g>>2]|0)+4>>2]|0)==0|0)!=((k[(k[o>>2]|0)+4>>2]|0)==0|0)){f=62;break a}if(!(k[(k[g>>2]|0)+4>>2]|0))break;if(YQ(k[(k[(k[g>>2]|0)+4>>2]|0)+8>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);k[C>>2]=(k[C>>2]|0)+1}if((f|0)==52){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==54){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==57){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==62){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==64){k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;if(l[(k[H>>2]|0)+54>>0]|0)k[p>>2]=1;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(kG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}if(!(k[J>>2]|0)){f=73;break}k[H>>2]=k[(k[H>>2]|0)+20>>2]}if((f|0)==73){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}do if(k[(k[w>>2]|0)+24>>2]|0){if(!(Ny(k[(k[I>>2]|0)+24>>2]|0,k[(k[w>>2]|0)+24>>2]|0,-1)|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);do if(k[(k[z>>2]|0)+24>>2]&524288){if(!(k[(k[w>>2]|0)+16>>2]|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);if(k[(k[z>>2]|0)+24>>2]&128){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}o=Nh(k[z>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[D>>2]=o;o=jx(k[v>>2]|0)|0;k[M>>2]=o;yx(k[v>>2]|0,k[D>>2]|0);o=(k[v>>2]|0)+72|0;c=k[o>>2]|0;k[o>>2]=c+1;k[F>>2]=c;c=(k[v>>2]|0)+72|0;o=k[c>>2]|0;k[c>>2]=o+1;k[E>>2]=o;o=TC(k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[t>>2]=o;o=rA(k[v>>2]|0)|0;k[K>>2]=o;o=rA(k[v>>2]|0)|0;k[L>>2]=o;Wz(k[v>>2]|0,k[E>>2]|0,k[x>>2]|0,k[w>>2]|0,103);do if(!(k[(k[z>>2]|0)+24>>2]&268435456)){if((j[(k[w>>2]|0)+32>>1]|0)<0){if(!((k[p>>2]|0)!=0?1:(k[(k[w>>2]|0)+8>>2]|0)!=0))f=87}else if(!(k[p>>2]|0))f=87;if((f|0)==87?!((k[q>>2]|0)!=2&(k[q>>2]|0)!=1):0)break;p=lx(k[M>>2]|0,55,k[E>>2]|0,0)|0;k[y>>2]=p;p=tx(k[M>>2]|0,13)|0;k[A>>2]=p;aA(k[M>>2]|0,k[y>>2]|0)}while(0);f=k[v>>2]|0;if(!(l[(k[I>>2]|0)+42>>0]&32)){Wz(f,k[F>>2]|0,k[D>>2]|0,k[I>>2]|0,102);p=lx(k[M>>2]|0,55,k[F>>2]|0,0)|0;k[B>>2]=p;do if((j[(k[w>>2]|0)+32>>1]|0)<0){f=k[M>>2]|0;if(!(k[(k[w>>2]|0)+8>>2]|0)){t=lx(f,112,k[E>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}else{t=lx(f,121,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}}else{p=lx(k[M>>2]|0,121,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=p;p=px(k[M>>2]|0,32,k[E>>2]|0,0,k[L>>2]|0)|0;k[s>>2]=p;_E(k[v>>2]|0,k[q>>2]|0,k[w>>2]|0);aA(k[M>>2]|0,k[s>>2]|0);ZC(k[v>>2]|0,k[t>>2]|0,k[L>>2]|0)}while(0);lx(k[M>>2]|0,120,k[F>>2]|0,k[K>>2]|0)|0;ox(k[M>>2]|0,113,k[E>>2]|0,k[K>>2]|0,k[L>>2]|0,k[w>>2]|0,-20)|0;Rh(k[M>>2]|0,11);lx(k[M>>2]|0,7,k[F>>2]|0,k[y>>2]|0)|0;lx(k[M>>2]|0,109,k[F>>2]|0,0)|0;lx(k[M>>2]|0,109,k[E>>2]|0,0)|0}else{Vz(f,k[x>>2]|0,k[(k[w>>2]|0)+28>>2]|0,1,k[k[w>>2]>>2]|0);Vz(k[v>>2]|0,k[D>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0)}k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;i[G>>0]=0;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(kG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}px(k[M>>2]|0,102,k[F>>2]|0,k[(k[J>>2]|0)+44>>2]|0,k[D>>2]|0)|0;Xz(k[v>>2]|0,k[J>>2]|0);px(k[M>>2]|0,103,k[E>>2]|0,k[(k[H>>2]|0)+44>>2]|0,k[x>>2]|0)|0;Xz(k[v>>2]|0,k[H>>2]|0);Rh(k[M>>2]|0,1);w=lx(k[M>>2]|0,55,k[F>>2]|0,0)|0;k[y>>2]=w;lx(k[M>>2]|0,119,k[F>>2]|0,k[K>>2]|0)|0;do if(k[(k[z>>2]|0)+24>>2]&268435456){k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[(k[J>>2]|0)+52>>1]|0))break;k[N>>2]=k[(k[(k[J>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2];if(be(35351,k[N>>2]|0)|0)break;k[C>>2]=(k[C>>2]|0)+1}if((k[C>>2]|0)!=(m[(k[J>>2]|0)+52>>1]|0))break;i[G>>0]=16;px(k[M>>2]|0,33,k[E>>2]|0,0,-1)|0}while(0);do if(l[(k[I>>2]|0)+42>>0]&32){if((i[(k[H>>2]|0)+55>>0]&3|0)!=2)break;i[G>>0]=l[G>>0]|1}while(0);px(k[M>>2]|0,124,k[E>>2]|0,k[K>>2]|0,1)|0;Rh(k[M>>2]|0,i[G>>0]|0);lx(k[M>>2]|0,7,k[F>>2]|0,(k[y>>2]|0)+1|0)|0;aA(k[M>>2]|0,k[y>>2]|0);lx(k[M>>2]|0,109,k[F>>2]|0,0)|0;lx(k[M>>2]|0,109,k[E>>2]|0,0)|0;k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[B>>2]|0)aA(k[M>>2]|0,k[B>>2]|0);vA(k[v>>2]|0,k[L>>2]|0);vA(k[v>>2]|0,k[K>>2]|0);if(k[A>>2]|0){lx(k[M>>2]|0,73,0,0)|0;aA(k[M>>2]|0,k[A>>2]|0);lx(k[M>>2]|0,109,k[E>>2]|0,0)|0;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else{k[u>>2]=1;N=k[u>>2]|0;r=O;return N|0}}}k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}function TC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;if((l[(k[g>>2]|0)+42>>0]|0)&8){b=k[e>>2]|0;if(k[(k[e>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[j>>2]=b;k[i>>2]=k[(k[j>>2]|0)+412>>2];while(1){if(k[i>>2]|0)a=(k[(k[i>>2]|0)+4>>2]|0)!=(k[g>>2]|0);else a=0;b=k[i>>2]|0;if(!a)break;k[i>>2]=k[b>>2]}do if(!b){e=$w(k[k[e>>2]>>2]|0,16,0)|0;k[i>>2]=e;if(k[i>>2]|0){k[k[i>>2]>>2]=k[(k[j>>2]|0)+412>>2];k[(k[j>>2]|0)+412>>2]=k[i>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+8>>2]=k[f>>2];f=(k[j>>2]|0)+76|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[j>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[(k[i>>2]|0)+12>>2]=g;j=(k[j>>2]|0)+76|0;k[j>>2]=(k[j>>2]|0)+1;break}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);k[h>>2]=k[(k[i>>2]|0)+12>>2]}k[d>>2]=k[h>>2];j=k[d>>2]|0;r=m;return j|0}function UC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;Uz(k[d>>2]|0,71,k[e>>2]|0)|0;i[(k[(k[d>>2]|0)+24>>2]|0)+19>>0]=0;k[(k[(k[d>>2]|0)+24>>2]|0)+60>>2]=0;r=c;return}function VC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+40|0;d=q+36|0;e=q+32|0;f=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;m=q+12|0;j=q+8|0;i=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=jx(k[d>>2]|0)|0;k[o>>2]=c;c=Yz(k[o>>2]|0)|0;k[h>>2]=c;if((l[(k[f>>2]|0)+42>>0]|0)&16)d=Xx(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;else d=0;k[m>>2]=d;k[g>>2]=1;a:while(1){if((k[g>>2]|0)>=(k[h>>2]|0)){d=18;break}c=hA(k[o>>2]|0,k[g>>2]|0)|0;k[j>>2]=c;b:do if((l[k[j>>2]>>0]|0|0)==102?(k[(k[j>>2]|0)+12>>2]|0)==(k[e>>2]|0):0){k[n>>2]=k[(k[j>>2]|0)+8>>2];if((k[n>>2]|0)==(k[(k[f>>2]|0)+28>>2]|0)){d=8;break a}k[i>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[i>>2]|0))break b;if((k[n>>2]|0)==(k[(k[i>>2]|0)+44>>2]|0)){d=12;break a}k[i>>2]=k[(k[i>>2]|0)+20>>2]}}while(0);if((l[k[j>>2]>>0]|0|0)==153?(k[(k[j>>2]|0)+16>>2]|0)==(k[m>>2]|0):0){d=16;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==8){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==12){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==16){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==18){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}return 0}function WC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;i=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[i>>2]|0)+8>>2];UA(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=(k[i>>2]|0)+76|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[e>>2]=c;lx(k[h>>2]|0,82,k[g>>2]|0,k[e>>2]|0)|0;fB(k[f>>2]|0,k[e>>2]|0);r=d;return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=c;k[l>>2]=k[(k[e>>2]|0)+20>>2];if(!(k[l>>2]|0)){a=TA(k[d>>2]|0)|0;k[f>>2]=a;a=(j[(k[e>>2]|0)+34>>1]|0)+1|0;a=Kh(0,a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;if(!(k[l>>2]|0)){vh(k[f>>2]|0);r=m;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;i[(k[l>>2]|0)+(k[h>>2]|0)>>0]=i[(k[(k[e>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+13>>0]|0;k[h>>2]=(k[h>>2]|0)+1}do{a=k[h>>2]|0;k[h>>2]=a+-1;i[(k[l>>2]|0)+a>>0]=0;if((k[h>>2]|0)<0)break}while((i[(k[l>>2]|0)+(k[h>>2]|0)>>0]|0)==65);k[(k[e>>2]|0)+20>>2]=k[l>>2]}a=Tf(k[l>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=m;return}d=k[d>>2]|0;if(k[g>>2]|0){ox(d,95,k[g>>2]|0,k[h>>2]|0,0,k[l>>2]|0,k[h>>2]|0)|0;r=m;return}else{Uh(d,-1,k[l>>2]|0,k[h>>2]|0);r=m;return}}function YC(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+48|0;j=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;s=v+8|0;t=v+4|0;u=v;k[j>>2]=a;k[w>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[u>>2]=k[w>>2];while(1){if(!(k[u>>2]|0))break;if(((l[(k[u>>2]|0)+8>>0]|0|0)==(k[m>>2]|0)?(l[(k[u>>2]|0)+9>>0]|0|0)==(k[o>>2]|0):0)?(iG(k[(k[u>>2]|0)+16>>2]|0,k[n>>2]|0)|0)!=0:0)hF(k[j>>2]|0,k[u>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0);k[u>>2]=k[(k[u>>2]|0)+32>>2]}r=v;return}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}lx(k[(k[d>>2]|0)+8>>2]|0,143,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[(k[d>>2]|0)+23>>0]|0|0)!=0?(aB(k[e>>2]|0)|0)!=0:0){vB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0);r=g;return}UA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function $C(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;c=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;d=i;k[j>>2]=a;k[c>>2]=b;a=k[j>>2]|0;if(k[(k[j>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[g>>2]=a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+456>>2]|0))break;if((k[c>>2]|0)==(k[(k[(k[g>>2]|0)+524>>2]|0)+(k[e>>2]<<2)>>2]|0)){h=10;break}k[e>>2]=(k[e>>2]|0)+1}if((h|0)==10){r=i;return}k[f>>2]=(k[(k[g>>2]|0)+456>>2]|0)+1<<2;j=k[f>>2]|0;j=Wd(k[(k[g>>2]|0)+524>>2]|0,j,((j|0)<0)<<31>>31)|0;k[d>>2]=j;if(k[d>>2]|0){k[(k[g>>2]|0)+524>>2]=k[d>>2];h=k[c>>2]|0;f=(k[g>>2]|0)+456|0;j=k[f>>2]|0;k[f>>2]=j+1;k[(k[(k[g>>2]|0)+524>>2]|0)+(j<<2)>>2]=h;r=i;return}else{vh(k[k[g>>2]>>2]|0);r=i;return}}function aD(a,b,c,d,e,f,g,h,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=r;r=r+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;k[E>>2]=a;k[F>>2]=b;k[H>>2]=c;k[I>>2]=d;k[J>>2]=e;k[K>>2]=f;k[L>>2]=g;i[M>>0]=h;i[N>>0]=n;k[O>>2]=o;k[G>>2]=p;k[s>>2]=q;k[da>>2]=0;k[ja>>2]=0;k[X>>2]=0;k[W>>2]=0;i[R>>0]=0;k[ia>>2]=-1;i[Y>>0]=(k[L>>2]|0)!=0;k[S>>2]=k[k[E>>2]>>2];g=jx(k[E>>2]|0)|0;k[ka>>2]=g;k[w>>2]=j[(k[F>>2]|0)+34>>1];if(!(l[(k[F>>2]|0)+42>>0]&32)){k[da>>2]=0;k[_>>2]=1}else{g=Rj(k[F>>2]|0)|0;k[da>>2]=g;k[_>>2]=m[(k[da>>2]|0)+50>>1]}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[w>>2]|0))break;a:do if((k[T>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0)){if((k[s>>2]|0)!=0?(k[(k[s>>2]|0)+(k[T>>2]<<2)>>2]|0)<0:0)break;k[$>>2]=l[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+12>>0];if(k[$>>2]|0){if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if((k[$>>2]|0)==5?(k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0)==0:0)k[$>>2]=2;switch(k[$>>2]|0){case 2:{Yx(k[E>>2]|0);break}case 3:case 1:break;case 4:{lx(k[ka>>2]|0,34,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[O>>2]|0)|0;break a}default:{g=Uz(k[ka>>2]|0,35,(k[K>>2]|0)+1+(k[T>>2]|0)|0)|0;k[t>>2]=g;UA(k[E>>2]|0,k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0);aA(k[ka>>2]|0,k[t>>2]|0);break a}}g=k[S>>2]|0;f=k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)>>2]|0;k[A>>2]=k[k[F>>2]>>2];k[A+4>>2]=f;g=Oh(g,30757,A)|0;k[B>>2]=g;ox(k[ka>>2]|0,72,1299,k[$>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[B>>2]|0,-1)|0;Rh(k[ka>>2]|0,1)}}while(0);k[T>>2]=(k[T>>2]|0)+1}b:do if((k[(k[F>>2]|0)+24>>2]|0)!=0?(k[(k[S>>2]|0)+24>>2]&8192|0)==0:0){k[x>>2]=k[(k[F>>2]|0)+24>>2];k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;k[$>>2]=(l[N>>0]|0)!=10?l[N>>0]|0:2;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[k[x>>2]>>2]|0))break b;k[y>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2];if(!((k[s>>2]|0)!=0?(ZE(k[y>>2]|0,k[s>>2]|0,l[M>>0]|0)|0)!=0:0)){B=Zz(k[ka>>2]|0)|0;k[v>>2]=B;hB(k[E>>2]|0,k[y>>2]|0,k[v>>2]|0,16);if((k[$>>2]|0)==4)$z(k[ka>>2]|0,k[O>>2]|0)|0;else{k[C>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)+4>>2];if(!(k[C>>2]|0))k[C>>2]=k[k[F>>2]>>2];if((k[$>>2]|0)==5)k[$>>2]=2;yA(k[E>>2]|0,275,k[$>>2]|0,k[C>>2]|0,0,3)}bA(k[ka>>2]|0,k[v>>2]|0)}k[T>>2]=(k[T>>2]|0)+1}}while(0);if((l[M>>0]|0)!=0&(k[da>>2]|0)==0){C=Zz(k[ka>>2]|0)|0;k[u>>2]=C;k[$>>2]=l[(k[F>>2]|0)+43>>0];if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if(i[Y>>0]|0){px(k[ka>>2]|0,37,k[K>>2]|0,k[u>>2]|0,k[L>>2]|0)|0;Rh(k[ka>>2]|0,-112)}c:do if((k[$>>2]|0)==5?(l[N>>0]|0)!=5:0){k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break c;if((l[(k[ca>>2]|0)+54>>0]|0)==4)break;if((l[(k[ca>>2]|0)+54>>0]|0)==3)break;k[ca>>2]=k[(k[ca>>2]|0)+20>>2]}C=tx(k[ka>>2]|0,13)|0;k[X>>2]=C}while(0);px(k[ka>>2]|0,32,k[I>>2]|0,k[u>>2]|0,k[K>>2]|0)|0;switch(k[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{k[z>>2]=0;if(k[(k[S>>2]|0)+24>>2]&262144){C=PC(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[z>>2]=C}if((k[z>>2]|0)==0?($E(k[E>>2]|0,k[F>>2]|0,0,0)|0)==0:0){if(k[(k[F>>2]|0)+8>>2]|0){aF(k[E>>2]|0);cF(k[E>>2]|0,k[F>>2]|0,k[I>>2]|0,k[J>>2]|0,0,-1)}}else{aF(k[E>>2]|0);bF(k[E>>2]|0,k[F>>2]|0,k[z>>2]|0,k[I>>2]|0,k[J>>2]|0,k[K>>2]|0,1,0,5,1,-1)}k[ja>>2]=1;break}case 4:{$z(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[$>>2]=2;D=55}}if((D|0)==55)_E(k[E>>2]|0,k[$>>2]|0,k[F>>2]|0);bA(k[ka>>2]|0,k[u>>2]|0);if(k[X>>2]|0){D=tx(k[ka>>2]|0,13)|0;k[W>>2]=D;aA(k[ka>>2]|0,k[X>>2]|0)}}k[Z>>2]=0;k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break;do if(k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0){if(!(l[R>>0]|0)){XC(k[ka>>2]|0,k[F>>2]|0,(k[K>>2]|0)+1|0);i[R>>0]=1}k[V>>2]=(k[J>>2]|0)+(k[Z>>2]|0);D=Zz(k[ka>>2]|0)|0;k[Q>>2]=D;if(k[(k[ca>>2]|0)+36>>2]|0){lx(k[ka>>2]|0,77,0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;GA(k[E>>2]|0,k[(k[ca>>2]|0)+36>>2]|0,k[Q>>2]|0,16);k[(k[E>>2]|0)+100>>2]=0}D=HA(k[E>>2]|0,m[(k[ca>>2]|0)+52>>1]|0)|0;k[ga>>2]=D;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[ca>>2]|0)+52>>1]|0))break;k[U>>2]=j[(k[(k[ca>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];do if((k[U>>2]|0)==-2){k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;PA(k[E>>2]|0,k[(k[(k[(k[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0);k[(k[E>>2]|0)+100>>2]=0}else{if((k[U>>2]|0)!=-1?(k[U>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0):0)k[la>>2]=(k[U>>2]|0)+(k[K>>2]|0)+1;else{if((k[ia>>2]|0)==((k[ga>>2]|0)+(k[T>>2]|0)|0))break;k[la>>2]=k[K>>2];if(k[(k[ca>>2]|0)+36>>2]|0)s=-1;else s=(k[ga>>2]|0)+(k[T>>2]|0)|0;k[ia>>2]=s}lx(k[ka>>2]|0,(k[U>>2]|0)<0?84:83,k[la>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0)|0}while(0);k[T>>2]=(k[T>>2]|0)+1}px(k[ka>>2]|0,96,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;ZA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if(((l[Y>>0]|0)!=0?(k[da>>2]|0)==(k[ca>>2]|0):0)?(l[M>>0]|0)==0:0){bA(k[ka>>2]|0,k[Q>>2]|0);break}k[$>>2]=l[(k[ca>>2]|0)+54>>0];if(!(k[$>>2]|0)){KA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);bA(k[ka>>2]|0,k[Q>>2]|0);break}if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];Qh(k[ka>>2]|0,29,k[V>>2]|0,k[Q>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+50>>1]|0)|0;if((k[ca>>2]|0)==(k[da>>2]|0))s=k[ga>>2]|0;else s=HA(k[E>>2]|0,k[_>>2]|0)|0;k[ha>>2]=s;d:do if((l[Y>>0]|0)!=0|(k[$>>2]|0)==5){if(!(l[(k[F>>2]|0)+42>>0]&32)){lx(k[ka>>2]|0,127,k[V>>2]|0,k[ha>>2]|0)|0;if(!(i[Y>>0]|0))break;px(k[ka>>2]|0,37,k[ha>>2]|0,k[Q>>2]|0,k[L>>2]|0)|0;Rh(k[ka>>2]|0,-112);break}e:do if((k[ca>>2]|0)!=(k[da>>2]|0)){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break e;D=(RA(k[ca>>2]|0,j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1]|0)|0)<<16>>16;k[ma>>2]=D;px(k[ka>>2]|0,94,k[V>>2]|0,k[ma>>2]|0,(k[ha>>2]|0)+(k[T>>2]|0)|0)|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);if(i[Y>>0]|0){D=Yz(k[ka>>2]|0)|0;k[P>>2]=D+(m[(k[da>>2]|0)+50>>1]|0);k[aa>>2]=36;k[fa>>2]=(i[(k[ca>>2]|0)+55>>0]&3|0)==2?k[ga>>2]|0:k[ha>>2]|0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break d;D=_z(k[E>>2]|0,k[(k[(k[da>>2]|0)+32>>2]|0)+(k[T>>2]<<2)>>2]|0)|0;k[ba>>2]=D;k[ma>>2]=j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];if((k[T>>2]|0)==((m[(k[da>>2]|0)+50>>1]|0)-1|0)){k[P>>2]=k[Q>>2];k[aa>>2]=37}ox(k[ka>>2]|0,k[aa>>2]|0,(k[L>>2]|0)+1+(k[ma>>2]|0)|0,k[P>>2]|0,(k[fa>>2]|0)+(k[T>>2]|0)|0,k[ba>>2]|0,-4)|0;Rh(k[ka>>2]|0,-112);k[T>>2]=(k[T>>2]|0)+1}}}while(0);switch(k[$>>2]|0){case 3:case 2:case 1:{uA(k[E>>2]|0,k[$>>2]|0,k[ca>>2]|0);break}case 4:{$z(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[ea>>2]=0;aF(k[E>>2]|0);if(k[(k[S>>2]|0)+24>>2]&262144){D=PC(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[ea>>2]=D}bF(k[E>>2]|0,k[F>>2]|0,k[ea>>2]|0,k[I>>2]|0,k[J>>2]|0,k[ha>>2]|0,k[_>>2]&65535,0,5,((k[ca>>2]|0)==(k[da>>2]|0)?1:0)&255,-1);k[ja>>2]=1}}bA(k[ka>>2]|0,k[Q>>2]|0);KA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if((k[ha>>2]|0)!=(k[ga>>2]|0))KA(k[E>>2]|0,k[ha>>2]|0,k[_>>2]|0)}while(0);k[ca>>2]=k[(k[ca>>2]|0)+20>>2];k[Z>>2]=(k[Z>>2]|0)+1}if(!(k[X>>2]|0)){la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}$z(k[ka>>2]|0,(k[X>>2]|0)+1|0)|0;aA(k[ka>>2]|0,k[W>>2]|0);la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}function bD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+112|0;g=O+108|0;h=O+104|0;m=O+100|0;n=O+96|0;o=O+92|0;p=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;q=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[v>>2]=k[k[g>>2]>>2];k[C>>2]=l[(k[g>>2]|0)+442>>0];if(!(k[(k[v>>2]|0)+24>>2]&524288)){r=O;return}c=Nh(k[v>>2]|0,k[(k[h>>2]|0)+64>>2]|0)|0;k[z>>2]=c;k[M>>2]=k[(k[(k[v>>2]|0)+16>>2]|0)+(k[z>>2]<<4)>>2];k[D>>2]=k[(k[h>>2]|0)+16>>2];a:while(1){if(!(k[D>>2]|0)){N=39;break}k[E>>2]=0;k[t>>2]=0;k[u>>2]=0;if(!(((k[o>>2]|0)!=0?(be(k[k[h>>2]>>2]|0,k[(k[D>>2]|0)+8>>2]|0)|0)!=0:0)?(fD(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(i[(k[g>>2]|0)+442>>0]|0){c=Bi(k[v>>2]|0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}else{c=Lh(k[g>>2]|0,0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}if((k[I>>2]|0)!=0?(yC(k[g>>2]|0,k[I>>2]|0,k[D>>2]|0,E,t)|0)==0:0){if(k[t>>2]|0)k[q>>2]=k[t>>2];else{k[y>>2]=k[(k[D>>2]|0)+36>>2];k[q>>2]=y}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;if((k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]|0)==(j[(k[h>>2]|0)+32>>1]|0))k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]=-1;if(k[(k[v>>2]|0)+296>>2]|0){if(k[E>>2]|0)e=j[(k[(k[E>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0;else e=j[(k[I>>2]|0)+32>>1]|0;k[L>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2];c=jz(k[g>>2]|0,k[k[I>>2]>>2]|0,k[L>>2]|0,k[z>>2]|0)|0;k[J>>2]=c;k[u>>2]=(k[J>>2]|0)==2&1}k[x>>2]=(k[x>>2]|0)+1}Vz(k[g>>2]|0,k[z>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0);c=(k[g>>2]|0)+72|0;k[c>>2]=(k[c>>2]|0)+1;if(k[m>>2]|0)gD(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[m>>2]|0,-1,k[u>>2]|0);if((k[n>>2]|0)!=0?(hD(k[g>>2]|0,k[D>>2]|0)|0)==0:0)gD(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[n>>2]|0,1,k[u>>2]|0);bg(k[v>>2]|0,k[t>>2]|0);break}if(!(k[C>>2]|0)){N=59;break a}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break a}if(!(k[I>>2]|0)){c=jx(k[g>>2]|0)|0;k[K>>2]=c;c=Yz(k[K>>2]|0)|0;k[A>>2]=c+(k[(k[D>>2]|0)+20>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;k[B>>2]=(k[(k[D>>2]|0)+36+(k[x>>2]<<3)>>2]|0)+(k[m>>2]|0)+1;lx(k[K>>2]|0,34,k[B>>2]|0,k[A>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}lx(k[K>>2]|0,142,l[(k[D>>2]|0)+24>>0]|0,-1)|0}}while(0);k[D>>2]=k[(k[D>>2]|0)+4>>2]}if((N|0)==39){M=$x(k[h>>2]|0)|0;k[D>>2]=M;b:while(1){if(!(k[D>>2]|0)){N=59;break}k[F>>2]=0;k[s>>2]=0;if(!((k[o>>2]|0)!=0?(iD(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((i[(k[D>>2]|0)+24>>0]|0)==0?(k[(k[v>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[g>>2]|0)+416>>2]|0)==0:0)?(i[(k[g>>2]|0)+20>>0]|0)==0:0)break;if(yC(k[g>>2]|0,k[h>>2]|0,k[D>>2]|0,F,s)|0){if(!(k[C>>2]|0)){N=59;break b}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break b}else break}M=gw(k[v>>2]|0,0,0,0)|0;k[H>>2]=M;if(k[H>>2]|0){k[G>>2]=(k[H>>2]|0)+8;k[(k[G>>2]|0)+16>>2]=k[k[D>>2]>>2];k[(k[G>>2]|0)+8>>2]=k[k[k[D>>2]>>2]>>2];L=(k[(k[G>>2]|0)+16>>2]|0)+36|0;j[L>>1]=(j[L>>1]|0)+1<<16>>16;L=(k[g>>2]|0)+72|0;M=k[L>>2]|0;k[L>>2]=M+1;k[(k[G>>2]|0)+44>>2]=M;if(k[n>>2]|0)jD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[n>>2]|0,-1);if((k[m>>2]|0)!=0?(k[w>>2]=l[(k[D>>2]|0)+25+((k[o>>2]|0)!=0&1)>>0],jD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[m>>2]|0,1),((k[w>>2]|0)!=9?(i[(k[D>>2]|0)+24>>0]|0)==0:0)&(k[w>>2]|0)!=7):0)Yx(k[g>>2]|0);k[(k[G>>2]|0)+8>>2]=0;pv(k[v>>2]|0,k[H>>2]|0)}bg(k[v>>2]|0,k[s>>2]|0)}while(0);k[D>>2]=k[(k[D>>2]|0)+12>>2]}if((N|0)==59){r=O;return}}else if((N|0)==59){r=O;return}}function cD(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+64|0;n=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;i[x>>0]=0;m=jx(k[n>>2]|0)|0;k[D>>2]=m;k[y>>2]=0;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;if(k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0){i[x>>0]=1;if(k[(k[z>>2]|0)+36>>2]|0){e=k[D>>2]|0;m=k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0;lx(e,34,m,(Yz(k[D>>2]|0)|0)+2|0)|0}lx(k[D>>2]|0,124,(k[q>>2]|0)+(k[y>>2]|0)|0,k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0)|0;i[A>>0]=0;i[A>>0]=(k[w>>2]|0)!=0?16:0;if((i[(k[z>>2]|0)+55>>0]&3|0)==2?(l[(k[o>>2]|0)+42>>0]&32|0)!=0:0)i[A>>0]=l[A>>0]|1;Rh(k[D>>2]|0,i[A>>0]|0)}k[z>>2]=k[(k[z>>2]|0)+20>>2];k[y>>2]=(k[y>>2]|0)+1}if(l[(k[o>>2]|0)+42>>0]&32){r=E;return}k[B>>2]=(k[s>>2]|0)+1;m=rA(k[n>>2]|0)|0;k[C>>2]=m;px(k[D>>2]|0,96,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0,k[C>>2]|0)|0;if(!(i[x>>0]|0))XC(k[D>>2]|0,k[o>>2]|0,0);ZA(k[n>>2]|0,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0);if(i[(k[n>>2]|0)+18>>0]|0)i[A>>0]=0;else{i[A>>0]=1;i[A>>0]=l[A>>0]|((k[u>>2]|0)!=0?4:2)}if(k[v>>2]|0)i[A>>0]=l[A>>0]|8;if(k[w>>2]|0)i[A>>0]=l[A>>0]|16;px(k[D>>2]|0,113,k[p>>2]|0,k[C>>2]|0,k[s>>2]|0)|0;if(!(i[(k[n>>2]|0)+18>>0]|0))Uh(k[D>>2]|0,-1,k[o>>2]|0,-20);Rh(k[D>>2]|0,i[A>>0]|0);r=E;return}function dD(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+412>>2]|0)){r=c;return}eD(k[b>>2]|0);r=c;return}function eD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;g=l+24|0;j=l+20|0;d=l+16|0;c=l+12|0;h=l+8|0;e=l+4|0;f=l;k[b>>2]=a;k[j>>2]=k[(k[b>>2]|0)+8>>2];k[d>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+412>>2];while(1){if(!(k[g>>2]|0)){b=5;break}k[h>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[g>>2]|0)+8>>2]<<4);k[f>>2]=k[(k[g>>2]|0)+12>>2];a=rA(k[b>>2]|0)|0;k[e>>2]=a;Wz(k[b>>2]|0,0,k[(k[g>>2]|0)+8>>2]|0,k[(k[(k[h>>2]|0)+12>>2]|0)+72>>2]|0,103);a=Sh(k[j>>2]|0,5,34905,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+4>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+20+8>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+40+4>>2]=(k[f>>2]|0)-1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+8>>2]=k[e>>2];k[(k[c>>2]|0)+60+12>>2]=(k[f>>2]|0)+1;i[(k[c>>2]|0)+60+3>>0]=8;vA(k[b>>2]|0,k[e>>2]|0);k[g>>2]=k[k[g>>2]>>2]}if((b|0)==5){r=l;return}}function fD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[f>>2]|0)+20>>2]|0)){e=8;break}k[l>>2]=k[(k[f>>2]|0)+36+(k[i>>2]<<3)>>2];if((k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)>=0){e=4;break}if((k[h>>2]|0)!=0?(k[l>>2]|0)==(j[(k[e>>2]|0)+32>>1]|0):0){e=6;break}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==4){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==6){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==8){k[m>>2]=0;m=k[m>>2]|0;r=n;return m|0}return 0}function gD(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+96|0;n=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;g=jx(k[n>>2]|0)|0;k[J>>2]=g;k[z>>2]=(k[(k[n>>2]|0)+72>>2]|0)-1;g=Zz(k[J>>2]|0)|0;k[C>>2]=g;if((k[v>>2]|0)<0)lx(k[J>>2]|0,63,l[(k[s>>2]|0)+24>>0]|0,k[C>>2]|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[s>>2]|0)+20>>2]|0))break;k[E>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+(k[u>>2]|0)+1;lx(k[J>>2]|0,34,k[E>>2]|0,k[C>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}do if(!(k[w>>2]|0)){if(!(k[q>>2]|0)){I=rA(k[n>>2]|0)|0;k[H>>2]=I;lx(k[J>>2]|0,83,(k[k[t>>2]>>2]|0)+1+(k[u>>2]|0)|0,k[H>>2]|0)|0;I=lx(k[J>>2]|0,17,k[H>>2]|0,0)|0;k[B>>2]=I;if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){px(k[J>>2]|0,37,k[u>>2]|0,k[C>>2]|0,k[H>>2]|0)|0;Rh(k[J>>2]|0,-112)}Wz(k[n>>2]|0,k[z>>2]|0,k[o>>2]|0,k[p>>2]|0,102);px(k[J>>2]|0,32,k[z>>2]|0,0,k[H>>2]|0)|0;$z(k[J>>2]|0,k[C>>2]|0)|0;I=k[J>>2]|0;aA(I,(Yz(k[J>>2]|0)|0)-2|0);aA(k[J>>2]|0,k[B>>2]|0);vA(k[n>>2]|0,k[H>>2]|0);break}k[F>>2]=k[(k[s>>2]|0)+20>>2];H=HA(k[n>>2]|0,k[F>>2]|0)|0;k[I>>2]=H;H=rA(k[n>>2]|0)|0;k[G>>2]=H;px(k[J>>2]|0,102,k[z>>2]|0,k[(k[q>>2]|0)+44>>2]|0,k[o>>2]|0)|0;Xz(k[n>>2]|0,k[q>>2]|0);k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;lx(k[J>>2]|0,82,(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0)|0,(k[I>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){H=Yz(k[J>>2]|0)|0;k[A>>2]=H+(k[F>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;k[y>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0);k[D>>2]=(j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)+1+(k[u>>2]|0);if((j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)==(j[(k[p>>2]|0)+32>>1]|0))k[D>>2]=k[u>>2];px(k[J>>2]|0,36,k[y>>2]|0,k[A>>2]|0,k[D>>2]|0)|0;Rh(k[J>>2]|0,16);k[x>>2]=(k[x>>2]|0)+1}$z(k[J>>2]|0,k[C>>2]|0)|0}d=k[J>>2]|0;a=k[I>>2]|0;c=k[F>>2]|0;g=k[G>>2]|0;H=zC(k[k[n>>2]>>2]|0,k[q>>2]|0)|0;ox(d,96,a,c,g,H,k[F>>2]|0)|0;Qh(k[J>>2]|0,31,k[z>>2]|0,k[C>>2]|0,k[G>>2]|0,0)|0;vA(k[n>>2]|0,k[G>>2]|0);KA(k[n>>2]|0,k[I>>2]|0,k[F>>2]|0)}while(0);if((((i[(k[s>>2]|0)+24>>0]|0)==0?(k[(k[k[n>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[n>>2]|0)+416>>2]|0)==0:0)?(i[(k[n>>2]|0)+20>>0]|0)==0:0){yA(k[n>>2]|0,787,2,0,-2,4);H=k[J>>2]|0;I=k[C>>2]|0;bA(H,I);I=k[J>>2]|0;J=k[z>>2]|0;Uz(I,109,J)|0;r=K;return}if((k[v>>2]|0)>0?(l[(k[s>>2]|0)+24>>0]|0)==0:0)Yx(k[n>>2]|0);lx(k[J>>2]|0,142,l[(k[s>>2]|0)+24>>0]|0,k[v>>2]|0)|0;H=k[J>>2]|0;I=k[C>>2]|0;bA(H,I);I=k[J>>2]|0;J=k[z>>2]|0;Uz(I,109,J)|0;r=K;return}function hD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[h>>2]=a;k[d>>2]=b;b=k[h>>2]|0;if(k[(k[h>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[f>>2]=b;do if(k[(k[f>>2]|0)+532>>2]|0){k[e>>2]=k[k[(k[f>>2]|0)+532>>2]>>2];if(!((k[e>>2]|0)==(k[(k[d>>2]|0)+28>>2]|0)?(l[(k[d>>2]|0)+25>>0]|0|0)==7:0)){if((k[e>>2]|0)!=(k[(k[d>>2]|0)+28+4>>2]|0))break;if((l[(k[d>>2]|0)+25+1>>0]|0|0)!=7)break}k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}while(0);k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function iD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;i=s+16|0;m=s+12|0;p=s+8|0;n=s+4|0;o=s;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=0;a:while(1){if((k[m>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0)){q=14;break}k[p>>2]=k[(k[g>>2]|0)+36+(k[m>>2]<<3)+4>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;if(!((k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)<0?!((k[i>>2]|0)!=0?(k[n>>2]|0)==(j[(k[f>>2]|0)+32>>1]|0):0):0))q=7;do if((q|0)==7){q=0;k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<4);c=k[o>>2]|0;if(k[p>>2]|0)if(!(sg(k[c>>2]|0,k[p>>2]|0)|0)){q=9;break a}else break;else if(l[c+15>>0]&1){q=11;break a}else break}while(0);k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1}if((q|0)==9){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==11){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==14){k[e>>2]=0;q=k[e>>2]|0;r=s;return q|0}return 0} -function Vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;t=y+16|0;s=y+8|0;z=y;e=y+76|0;f=y+72|0;A=y+68|0;g=y+64|0;h=y+60|0;q=y+56|0;u=y+52|0;o=y+48|0;v=y+44|0;w=y+40|0;n=y+36|0;j=y+32|0;m=y+28|0;p=y+24|0;l=y+20|0;k[f>>2]=a;k[A>>2]=b;k[g>>2]=c;k[h>>2]=d;k[u>>2]=k[A>>2];k[o>>2]=0;k[z>>2]=k[A>>2];b=Yd(19007,z)|0;k[v>>2]=b;if(!(k[v>>2]|0)){k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=$Q(k[v>>2]|0)|0;k[w>>2]=(k[v>>2]|0)+A;A=Zp(k[v>>2]|0,o)|0;k[u>>2]=A;if(!(k[u>>2]|0))k[u>>2]=k[v>>2];i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Wk(k[u>>2]|0);z=k[f>>2]|0;A=k[u>>2]|0;A=Mk(z,A,($Q(k[u>>2]|0)|0)+1|0)|0;k[n>>2]=A;if(k[n>>2]|0){k[j>>2]=0;k[m>>2]=0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1);while(1){if((k[u>>2]|0)>>>0>=(k[w>>2]|0)>>>0)break;A=Zp(k[u>>2]|0,o)|0;k[u>>2]=A;if(!A)break;k[p>>2]=(k[m>>2]|0)+1<<2;A=Vd(k[j>>2]|0,k[p>>2]|0)|0;k[l>>2]=A;if(!(k[l>>2]|0)){x=11;break}k[j>>2]=k[l>>2];z=k[u>>2]|0;A=k[m>>2]|0;k[m>>2]=A+1;k[(k[j>>2]|0)+(A<<2)>>2]=z;i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Wk(k[u>>2]|0);k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1)}if((x|0)==11){Ud(k[v>>2]|0);Ud(k[j>>2]|0);k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=Yb[k[(k[n>>2]|0)+4>>2]&255](k[m>>2]|0,k[j>>2]|0,k[g>>2]|0)|0;k[q>>2]=A;if(k[q>>2]|0)Nk(k[h>>2]|0,25463,t);else k[k[k[g>>2]>>2]>>2]=k[n>>2];Ud(k[j>>2]|0)}else{A=k[h>>2]|0;k[s>>2]=k[u>>2];Nk(A,21211,s);k[q>>2]=1}Ud(k[v>>2]|0);k[e>>2]=k[q>>2];A=k[e>>2]|0;r=y;return A|0}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;h=n;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;l=n+8|0;j=n+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=k[e>>2];while(1){b=k[j>>2]|0;if((i[k[j>>2]>>0]|0)==61)break;if(!(i[b>>0]|0)){m=4;break}k[j>>2]=(k[j>>2]|0)+1}if((m|0)==4){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[k[f>>2]>>2]=b-(k[e>>2]|0);k[h>>2]=(k[j>>2]|0)+1;m=Yd(19007,h)|0;k[l>>2]=m;if(k[l>>2]|0)Wk(k[l>>2]|0);k[k[g>>2]>>2]=k[l>>2];k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}function Xp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+96|0;w=A+8|0;B=A;h=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;l=A+60|0;m=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;n=A+40|0;s=A+36|0;q=A+32|0;o=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;p=A+12|0;k[h>>2]=a;k[C>>2]=b;k[D>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[v>>2]=0;k[u>>2]=0;c=k[D>>2]|0;k[B>>2]=k[C>>2];k[B+4>>2]=c;c=Yd(25408,B)|0;k[z>>2]=c;if(k[z>>2]|0){D=nf(k[h>>2]|0,k[z>>2]|0,-1,u,0)|0;k[v>>2]=D;if(k[v>>2]|0){D=k[m>>2]|0;C=mf(k[h>>2]|0)|0;k[w>>2]=C;Nk(D,19007,w)}}else k[v>>2]=7;Ud(k[z>>2]|0);if(k[v>>2]|0){D=k[v>>2]|0;r=A;return D|0}k[s>>2]=0;D=Ie(k[u>>2]|0)|0;k[q>>2]=D;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;D=Se(k[u>>2]|0,k[o>>2]|0)|0;k[x>>2]=D;D=($Q(k[x>>2]|0)|0)+1|0;k[s>>2]=(k[s>>2]|0)+D;k[o>>2]=(k[o>>2]|0)+1}D=Sd((k[q>>2]<<2)+(k[s>>2]|0)|0)|0;k[n>>2]=D;a:do if(!(k[n>>2]|0))k[v>>2]=7;else{k[t>>2]=(k[n>>2]|0)+(k[q>>2]<<2);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;D=Se(k[u>>2]|0,k[o>>2]|0)|0;k[y>>2]=D;D=($Q(k[y>>2]|0)|0)+1|0;k[p>>2]=D;IR(k[t>>2]|0,k[y>>2]|0,k[p>>2]|0)|0;k[(k[n>>2]|0)+(k[o>>2]<<2)>>2]=k[t>>2];k[t>>2]=(k[t>>2]|0)+(k[p>>2]|0);k[o>>2]=(k[o>>2]|0)+1}}while(0);ge(k[u>>2]|0)|0;k[k[j>>2]>>2]=k[q>>2];k[k[l>>2]>>2]=k[s>>2];k[k[i>>2]>>2]=k[n>>2];D=k[v>>2]|0;r=A;return D|0}function Yp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;n=p+12|0;o=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=1;a:do if((k[e>>2]|0)!=0?(i[k[e>>2]>>0]|0)!=0:0){k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=k[e>>2];while(1){if(!(i[k[n>>2]>>0]|0))break a;if((i[k[n>>2]>>0]|0)==44)k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}}while(0);a=Sd((k[l>>2]|0)*24|0)|0;k[h>>2]=a;k[k[g>>2]>>2]=k[h>>2];if(!(k[h>>2]|0)){k[d>>2]=7;a=k[d>>2]|0;r=p;return a|0}KR(k[h>>2]|0,0,(k[l>>2]|0)*24|0)|0;b:do if(k[e>>2]|0){k[o>>2]=k[e>>2];k[j>>2]=1;while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break b;k[m>>2]=0;if(fq(o,m)|0)break;if(!(k[m>>2]|0)){k[l>>2]=(k[l>>2]|0)+-1;k[j>>2]=(k[j>>2]|0)+-1}else k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)>>2]=k[m>>2];k[o>>2]=(k[o>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}k[d>>2]=1;a=k[d>>2]|0;r=p;return a|0}while(0);k[k[f>>2]>>2]=k[l>>2];k[d>>2]=0;a=k[d>>2]|0;r=p;return a|0}function Zp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c=h+20|0;k[j>>2]=a;k[e>>2]=b;k[g>>2]=0;k[f>>2]=k[j>>2];a:while(1){if(k[g>>2]|0){b=21;break}i[c>>0]=i[k[f>>2]>>0]|0;switch(i[c>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{k[g>>2]=k[f>>2];while(1){j=(k[g>>2]|0)+1|0;k[g>>2]=j;if(!(i[j>>0]|0))continue a;if((i[k[g>>2]>>0]|0)!=(i[c>>0]|0))continue;j=(k[g>>2]|0)+1|0;k[g>>2]=j;if((i[j>>0]|0)!=(i[c>>0]|0))continue a}}case 91:{k[g>>2]=(k[f>>2]|0)+1;while(1){if(i[k[g>>2]>>0]|0)a=(i[k[g>>2]>>0]|0)!=93;else a=0;b=k[g>>2]|0;if(!a)break;k[g>>2]=b+1}if(!(i[b>>0]|0))continue a;k[g>>2]=(k[g>>2]|0)+1;continue a}default:{j=(Up(i[k[f>>2]>>0]|0)|0)!=0;b=(k[f>>2]|0)+1|0;if(!j){k[f>>2]=b;continue a}k[g>>2]=b;while(1){if(!(Up(i[k[g>>2]>>0]|0)|0))continue a;k[g>>2]=(k[g>>2]|0)+1}}}}if((b|0)==4){k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}else if((b|0)==21){k[k[e>>2]>>2]=(k[g>>2]|0)-(k[f>>2]|0);k[d>>2]=k[f>>2];j=k[d>>2]|0;r=h;return j|0}return 0}function _p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+96|0;q=t+56|0;j=t+48|0;i=t+40|0;m=t+32|0;l=t+24|0;h=t+8|0;g=t;p=t+92|0;d=t+88|0;e=t+84|0;s=t+80|0;n=t+76|0;o=t+72|0;f=t+68|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[s>>2]=0;k[n>>2]=0;if(k[(k[p>>2]|0)+40>>2]|0){eq(k[e>>2]|0,s,25361,m);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;o=k[e>>2]|0;k[i>>2]=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2];eq(o,s,25367,i);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[j>>2]=k[(k[p>>2]|0)+44>>2];eq(o,s,25347,j)}}else{if(k[d>>2]|0){b=dq(k[d>>2]|0)|0;k[o>>2]=b;k[n>>2]=b}else k[o>>2]=19018;eq(k[e>>2]|0,s,25326,g);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;b=k[e>>2]|0;j=k[f>>2]|0;m=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]|0;k[h>>2]=k[o>>2];k[h+4>>2]=j;k[h+8>>2]=m;eq(b,s,25332,h);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[l>>2]=25354;eq(o,s,25347,l)}Ud(k[n>>2]|0)}d=k[e>>2]|0;e=k[(k[p>>2]|0)+16>>2]|0;f=k[p>>2]|0;if(k[(k[p>>2]|0)+40>>2]|0){b=k[f+40>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?19018:25376;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;eq(d,s,25385,q);s=k[s>>2]|0;r=t;return s|0}else{b=k[f+20>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?19018:25376;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;eq(d,s,25385,q);s=k[s>>2]|0;r=t;return s|0}return 0}function $p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;i=n+16|0;h=n+8|0;d=n+44|0;e=n+40|0;f=n+36|0;m=n+32|0;j=n+28|0;l=n+24|0;g=n+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[j>>2]=0;if(k[e>>2]|0){b=dq(k[e>>2]|0)|0;k[l>>2]=b;k[j>>2]=b}else k[l>>2]=19018;eq(k[f>>2]|0,m,20891,n);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+24>>2]|0))break;b=k[f>>2]|0;k[h>>2]=k[l>>2];eq(b,m,25310,h);k[g>>2]=(k[g>>2]|0)+1}if(!(k[(k[d>>2]|0)+44>>2]|0)){l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}eq(k[f>>2]|0,m,25317,i);l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}function aq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+112|0;l=q+64|0;h=q+56|0;g=q+48|0;f=q+32|0;m=q+24|0;j=q+8|0;b=q+96|0;e=q+92|0;d=q+88|0;c=q+84|0;p=q+80|0;o=q+76|0;n=q+72|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];if(!(k[(k[b>>2]|0)+40>>2]|0)){k[p>>2]=k[(k[b>>2]|0)+44>>2];a=Yd(24935,q)|0;k[o>>2]=a;k[d>>2]=0;while(1){if(!(k[o>>2]|0))break;if((k[d>>2]|0)>=(k[(k[b>>2]|0)+24>>2]|0))break;k[n>>2]=k[(k[(k[b>>2]|0)+28>>2]|0)+(k[d>>2]<<2)>>2];s=k[d>>2]|0;a=k[n>>2]|0;k[j>>2]=k[o>>2];k[j+4>>2]=s;k[j+8>>2]=a;a=Yd(24961,j)|0;k[o>>2]=a;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)!=0&(k[o>>2]|0)!=0){s=k[p>>2]|0;k[m>>2]=k[o>>2];k[m+4>>2]=s;s=Yd(24973,m)|0;k[o>>2]=s}if(!(k[o>>2]|0))k[e>>2]=7;s=k[c>>2]|0;n=k[(k[b>>2]|0)+20>>2]|0;p=k[o>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=n;k[f+8>>2]=p;vl(e,s,24984,f);Ud(k[o>>2]|0)}s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[g>>2]=k[(k[b>>2]|0)+16>>2];k[g+4>>2]=p;vl(e,s,25017,g);s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[h>>2]=k[(k[b>>2]|0)+16>>2];k[h+4>>2]=p;vl(e,s,25089,h);if(i[(k[b>>2]|0)+230>>0]|0){s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[l>>2]=k[(k[b>>2]|0)+16>>2];k[l+4>>2]=p;vl(e,s,25242,l)}if(!(i[(k[b>>2]|0)+229>>0]|0)){s=k[e>>2]|0;r=q;return s|0}jp(e,k[b>>2]|0);s=k[e>>2]|0;r=q;return s|0}function bq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+20|0;d=i+16|0;f=i+12|0;h=i+8|0;e=i+4|0;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){r=i;return}k[g>>2]=k[(k[d>>2]|0)+16>>2];g=Yd(24915,g)|0;k[h>>2]=g;do if(k[h>>2]|0){g=nf(k[(k[d>>2]|0)+12>>2]|0,k[h>>2]|0,-1,e,0)|0;k[f>>2]=g;if(!(k[f>>2]|0)){Ee(k[e>>2]|0)|0;g=Ne(k[e>>2]|0,0)|0;k[(k[d>>2]|0)+236>>2]=g;g=ge(k[e>>2]|0)|0;k[f>>2]=g;break}if((k[f>>2]|0)==23){k[(k[d>>2]|0)+236>>2]=1024;k[f>>2]=0}}else k[f>>2]=7;while(0);Ud(k[h>>2]|0);k[k[c>>2]>>2]=k[f>>2];r=i;return}function cq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;j=o+24|0;i=o+16|0;d=o+8|0;c=o;e=o+60|0;f=o+56|0;g=o+52|0;h=o+48|0;n=o+44|0;l=o+40|0;m=o+36|0;k[e>>2]=a;k[f>>2]=b;if(k[k[e>>2]>>2]|0){r=o;return}if(k[(k[f>>2]|0)+44>>2]|0)b=k[(k[f>>2]|0)+44>>2]|0;else b=24840;k[m>>2]=b;a=k[(k[f>>2]|0)+12>>2]|0;k[c>>2]=1;sf(a,1,c)|0;k[d>>2]=k[k[(k[f>>2]|0)+28>>2]>>2];d=Yd(24849,d)|0;k[l>>2]=d;k[g>>2]=1;while(1){if(k[l>>2]|0)a=(k[g>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0);else a=0;b=k[l>>2]|0;if(!a)break;d=k[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]<<2)>>2]|0;k[i>>2]=b;k[i+4>>2]=d;d=Yd(24854,i)|0;k[l>>2]=d;k[g>>2]=(k[g>>2]|0)+1}i=k[(k[f>>2]|0)+20>>2]|0;m=k[m>>2]|0;k[j>>2]=b;k[j+4>>2]=i;k[j+8>>2]=m;m=Yd(24861,j)|0;k[n>>2]=m;if((k[l>>2]|0)!=0&(k[n>>2]|0)!=0){m=qf(k[(k[f>>2]|0)+12>>2]|0,k[n>>2]|0)|0;k[h>>2]=m}else k[h>>2]=7;Ud(k[n>>2]|0);Ud(k[l>>2]|0);k[k[e>>2]>>2]=k[h>>2];r=o;return}function dq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;g=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=2+(($Q(k[b>>2]|0)|0)<<1)+1|0;k[g>>2]=a;a=Sd(k[g>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}k[d>>2]=k[e>>2];g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;k[c>>2]=0;while(1){if(!(i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0))break;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==34){g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34}a=i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=a;k[c>>2]=(k[c>>2]|0)+1}g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=0;g=k[e>>2]|0;r=f;return g|0}function eq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;i=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+16|0;j=m+12|0;l=m+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=m;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[j>>2]=c;if((k[j>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0){c=k[j>>2]|0;k[i>>2]=k[k[f>>2]>>2];k[i+4>>2]=c;c=Yd(25321,i)|0;k[l>>2]=c;Ud(k[j>>2]|0);k[j>>2]=k[l>>2]}if(!(k[j>>2]|0))k[k[e>>2]>>2]=7;Ud(k[k[f>>2]>>2]|0);k[k[f>>2]>>2]=k[j>>2];r=m;return}function fq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;g=j+4|0;f=j;k[d>>2]=a;k[e>>2]=b;k[j+8>>2]=1e7;k[f>>2]=0;k[g>>2]=k[k[d>>2]>>2];while(1){if((i[k[g>>2]>>0]|0)<48)break;if((i[k[g>>2]>>0]|0)>57)break;k[f>>2]=((k[f>>2]|0)*10|0)+((i[k[g>>2]>>0]|0)-48);if((k[f>>2]|0)>1e7){h=5;break}k[g>>2]=(k[g>>2]|0)+1}if((h|0)==5)k[f>>2]=0;if((k[g>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}else{k[k[e>>2]>>2]=k[f>>2];k[k[d>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}return 0}function gq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;l=o;d=o+40|0;p=o+36|0;e=o+32|0;h=o+28|0;j=o+24|0;n=o+20|0;g=o+16|0;i=o+12|0;f=o+8|0;m=o+4|0;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[j>>2]=0;a=Fe(k[d>>2]|0)|0;k[h>>2]=a;a=ke(k[k[e>>2]>>2]|0)|0;k[n>>2]=a;a=(le(k[k[e>>2]>>2]|0)|0)+1|0;k[g>>2]=a;do if((k[p>>2]|0)==2){if(!(hq(k[d>>2]|0)|0)){te(k[d>>2]|0,25646,-1);r=o;return}p=le(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=p;if((k[n>>2]|0)==0|(k[f>>2]|0)!=4){te(k[d>>2]|0,25609,-1);r=o;return}else{p=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=k[p>>2];p=tk(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0,k[j>>2]|0)|0;k[i>>2]=p;if((k[i>>2]|0)!=(k[j>>2]|0))break;te(k[d>>2]|0,25632,-1);break}}else{if(k[n>>2]|0){p=Mk(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[j>>2]=p}if(!(k[j>>2]|0)){k[l>>2]=k[n>>2];p=Yd(21211,l)|0;k[m>>2]=p;te(k[d>>2]|0,k[m>>2]|0,-1);Ud(k[m>>2]|0);r=o;return}}while(0);qe(k[d>>2]|0,j,4,-1);r=o;return}function hq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;d=c;f=c+16|0;e=c+12|0;b=c+8|0;k[f>>2]=a;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;k[b>>2]=0;a=k[e>>2]|0;k[d>>2]=-1;k[d+4>>2]=b;yf(a,1004,d)|0;r=c;return k[b>>2]|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];f=k[g>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if((k[k[g>>2]>>2]|0)<=0)k[(k[g>>2]|0)+4>>2]=0;if((i[(k[d>>2]|0)+1>>0]|0)!=0?(k[(k[e>>2]|0)+12>>2]|0)!=0:0)yk(k[(k[e>>2]|0)+12>>2]|0);yk(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if((k[(k[d>>2]|0)+4>>2]|0)>0){r=h;return}xk(k[d>>2]|0);r=h;return}function jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;e=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;l=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;a=kq(k[e>>2]<<3)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}yk(k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[h>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=Pk(i[k[d>>2]>>0]|0)|0;k[l>>2]=a;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=gc[k[l>>2]&255](k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a&(k[e>>2]|0)-1;k[j>>2]=k[k[f>>2]>>2];lq(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[j>>2]}k[c>>2]=0;l=k[c>>2]|0;r=m;return l|0}function kq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}KR(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[e>>2]|0)+4>>2];if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[d>>2]|0)+8>>2]|0)k[(k[(k[d>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+16|0;e=g+4|0;f=g;k[g+12>>2]=a;k[g+8>>2]=b;k[e>>2]=c;c=Sd(4)|0;k[f>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=g;return f|0}else{k[k[f>>2]>>2]=0;k[k[e>>2]>>2]=k[f>>2];k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function nq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function oq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=Sd(28)|0;k[i>>2]=b;if(!(k[i>>2]|0)){k[e>>2]=7;b=k[e>>2]|0;r=j;return b|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){b=$Q(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=b;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;b=k[e>>2]|0;r=j;return b|0}function pq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function qq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+48|0;x=w+44|0;h=w+40|0;j=w+36|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;u=w+16|0;q=w+12|0;p=w+8|0;s=w+4|0;t=w;k[x>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=k[x>>2];k[u>>2]=k[(k[o>>2]|0)+4>>2];do{if((k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[o>>2]|0)+8>>2]|0)){v=23;break}while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)?(x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0,k[p>>2]=x,(x&128|0)==0):0)if((k[p>>2]|0)<48)a=1;else a=(i[25668+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[q>>2]=f;while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)){x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0;k[p>>2]=x;if(!(x&128))if((k[p>>2]|0)<48)a=1;else a=(i[25668+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;a=a^1}else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[q>>2]|0));if((v|0)==23){k[g>>2]=101;x=k[g>>2]|0;r=w;return x|0}k[s>>2]=(k[(k[o>>2]|0)+12>>2]|0)-(k[q>>2]|0);do if((k[s>>2]|0)>(k[(k[o>>2]|0)+24>>2]|0)){k[(k[o>>2]|0)+24>>2]=(k[s>>2]|0)+20;x=Vd(k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;k[t>>2]=x;if(k[t>>2]|0){k[(k[o>>2]|0)+20>>2]=k[t>>2];break}k[g>>2]=7;x=k[g>>2]|0;r=w;return x|0}while(0);rq((k[u>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[j>>2]|0);k[k[h>>2]>>2]=k[(k[o>>2]|0)+20>>2];k[k[l>>2]>>2]=k[q>>2];k[k[m>>2]>>2]=k[(k[o>>2]|0)+12>>2];v=(k[o>>2]|0)+16|0;x=k[v>>2]|0;k[v>>2]=x+1;k[k[n>>2]>>2]=x;k[g>>2]=0;x=k[g>>2]|0;r=w;return x|0}function rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;e=s+28|0;f=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;h=s+8|0;l=s+36|0;q=s+4|0;j=s;g=s+32|0;k[e>>2]=a;k[f>>2]=b;k[n>>2]=c;k[o>>2]=d;if((k[f>>2]|0)<3|(k[f>>2]|0)>=21){sq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}k[p>>2]=0;k[h>>2]=22;while(1){if((k[p>>2]|0)>=(k[f>>2]|0))break;i[g>>0]=i[(k[e>>2]|0)+(k[p>>2]|0)>>0]|0;if((i[g>>0]|0)>=65?(i[g>>0]|0)<=90:0)i[l+(k[h>>2]|0)>>0]=(i[g>>0]|0)+97-65;else{if((i[g>>0]|0)<97){m=11;break}if((i[g>>0]|0)>122){m=11;break}i[l+(k[h>>2]|0)>>0]=i[g>>0]|0}k[p>>2]=(k[p>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+-1}if((m|0)==11){sq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}m=l+23|0;i[m>>0]=0;i[m+1>>0]=0;i[m+2>>0]=0;i[m+3>>0]=0;i[m+4>>0]=0;k[q>>2]=l+((k[h>>2]|0)+1);if((((i[k[q>>2]>>0]|0)==115?(tq(q,25748,25753,0)|0)==0:0)?(tq(q,25756,25760,0)|0)==0:0)?(tq(q,25753,25753,0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1;k[j>>2]=k[q>>2];do if(!(tq(q,25762,25766,172)|0)){if((tq(q,25769,19018,173)|0)==0?(tq(q,25773,19018,173)|0)==0:0)break;if((((k[q>>2]|0)!=(k[j>>2]|0)?(tq(q,25776,25779,0)|0)==0:0)?(tq(q,25783,25786,0)|0)==0:0)?(tq(q,25790,25793,0)|0)==0:0){if((((wq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)!=108:0)?(i[k[q>>2]>>0]|0)!=115:0)?(i[k[q>>2]>>0]|0)!=122:0){k[q>>2]=(k[q>>2]|0)+1;break}if((xq(k[q>>2]|0)|0)!=0?(yq(k[q>>2]|0)|0)!=0:0){m=(k[q>>2]|0)+-1|0;k[q>>2]=m;i[m>>0]=101}}}while(0);if((i[k[q>>2]>>0]|0)==121?(vq((k[q>>2]|0)+1|0)|0)!=0:0)i[k[q>>2]>>0]=105;switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if(!(tq(q,25797,25779,172)|0))tq(q,25805,25812,172)|0;break}case 99:{if(!(tq(q,25817,25822,172)|0))tq(q,25827,25832,172)|0;break}case 101:{tq(q,25837,25793,172)|0;break}case 103:{tq(q,25842,25847,172)|0;break}case 108:{if((((tq(q,25851,25786,172)|0)==0?(tq(q,25855,25860,172)|0)==0:0)?(tq(q,25863,25869,172)|0)==0:0)?(tq(q,25873,25877,172)|0)==0:0)tq(q,25879,25885,172)|0;break}case 111:{if((tq(q,25889,25793,172)|0)==0?(tq(q,25897,25779,172)|0)==0:0)tq(q,25903,25779,172)|0;break}case 115:{if(((tq(q,25908,25860,172)|0)==0?(tq(q,25914,25922,172)|0)==0:0)?(tq(q,25926,25934,172)|0)==0:0)tq(q,25938,25885,172)|0;break}case 116:{if((tq(q,25946,25860,172)|0)==0?(tq(q,25952,25922,172)|0)==0:0)tq(q,25958,25786,172)|0;break}default:{}}switch(i[k[q>>2]>>0]|0){case 101:{if((tq(q,25965,25971,172)|0)==0?(tq(q,25974,19018,172)|0)==0:0)tq(q,25980,25860,172)|0;break}case 105:{tq(q,25986,25971,172)|0;break}case 108:{if(!(tq(q,25992,25971,172)|0))tq(q,25997,19018,172)|0;break}case 115:{tq(q,26001,19018,172)|0;break}default:{}}a:do switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if((i[k[q>>2]>>0]|0)==108?(zq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 99:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==110:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=101:0)break a;if(zq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 101:{if((i[k[q>>2]>>0]|0)==114?(zq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 105:{if((i[k[q>>2]>>0]|0)==99?(zq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 108:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==98:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=105:0)break a;if(zq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 110:{if((i[k[q>>2]>>0]|0)==116){e=k[q>>2]|0;if((i[(k[q>>2]|0)+2>>0]|0)==97){if(!(zq(e+3|0)|0))break a;k[q>>2]=(k[q>>2]|0)+3;break a}if(((i[e+2>>0]|0)==101?(tq(q,26006,19018,174)|0)==0:0)?(tq(q,26012,19018,174)|0)==0:0)tq(q,26017,19018,174)|0}break}case 111:{e=k[q>>2]|0;if((i[k[q>>2]>>0]|0)==117){if(!(zq(e+2|0)|0))break a;k[q>>2]=(k[q>>2]|0)+2;break a}if((i[e+3>>0]|0)!=115?(i[(k[q>>2]|0)+3>>0]|0)!=116:0)break a;tq(q,26021,19018,174)|0;break}case 115:{if(((i[k[q>>2]>>0]|0)==109?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(zq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 116:{if(!(tq(q,26025,19018,174)|0))tq(q,26029,19018,174)|0;break}case 117:{if(((i[k[q>>2]>>0]|0)==115?(i[(k[q>>2]|0)+2>>0]|0)==111:0)?(zq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 122:case 118:{if(((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(zq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}default:{}}while(0);do if((i[k[q>>2]>>0]|0)==101){m=(zq((k[q>>2]|0)+1|0)|0)!=0;e=(k[q>>2]|0)+1|0;if(m){k[q>>2]=e;break}if((xq(e)|0)!=0?(yq((k[q>>2]|0)+1|0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1}while(0);if(((zq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)==108:0)?(i[(k[q>>2]|0)+1>>0]|0)==108:0)k[q>>2]=(k[q>>2]|0)+1;m=$Q(k[q>>2]|0)|0;k[p>>2]=m;k[k[o>>2]>>2]=m;i[(k[n>>2]|0)+(k[p>>2]|0)>>0]=0;while(1){if(!(i[k[q>>2]>>0]|0))break;m=k[q>>2]|0;k[q>>2]=m+1;m=i[m>>0]|0;o=(k[p>>2]|0)+-1|0;k[p>>2]=o;i[(k[n>>2]|0)+o>>0]=m}r=s;return}function sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;j=p+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[j>>0]=i[(k[e>>2]|0)+(k[m>>2]|0)>>0]|0;if((i[j>>0]|0)>=65?(i[j>>0]|0)<=90:0)i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=(i[j>>0]|0)-65+97;else{if((i[j>>0]|0)>=48?(i[j>>0]|0)<=57:0)k[l>>2]=1;i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=i[j>>0]|0}k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=(k[l>>2]|0)!=0?3:10;if((k[f>>2]|0)<=(k[o>>2]<<1|0)){a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}k[n>>2]=k[o>>2];k[m>>2]=(k[f>>2]|0)-(k[o>>2]|0);while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[n>>2]|0)>>0]=i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0;k[m>>2]=(k[m>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=k[n>>2];a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];while(1){if(!(i[k[g>>2]>>0]|0))break;if((i[k[g>>2]>>0]|0)!=(i[k[l>>2]>>0]|0))break;k[l>>2]=(k[l>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}if(i[k[g>>2]>>0]|0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}if((k[j>>2]|0)!=0?(bc[k[j>>2]&255](k[l>>2]|0)|0)==0:0){k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}while(1){if(!(i[k[h>>2]>>0]|0))break;b=k[h>>2]|0;k[h>>2]=b+1;b=i[b>>0]|0;c=(k[l>>2]|0)+-1|0;k[l>>2]=c;i[c>>0]=b}k[k[f>>2]>>2]=k[l>>2];k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function uq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function vq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){d=(Bq(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!d)break;k[b>>2]=a+1}r=c;return (i[a>>0]|0)!=0|0}function wq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(Bq(k[b>>2]|0)|0)){a=0;a=a&1;r=c;return a|0}a=(i[k[b>>2]>>0]|0)==(i[(k[b>>2]|0)+1>>0]|0);a=a&1;r=c;return a|0}function xq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=1;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)==0&1;e=k[b>>2]|0;r=d;return e|0}function yq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((((Bq(k[b>>2]|0)|0)!=0?(i[k[b>>2]>>0]|0)!=119:0)?(i[k[b>>2]>>0]|0)!=120:0)?(i[k[b>>2]>>0]|0)!=121:0)?(Aq((k[b>>2]|0)+1|0)|0)!=0:0)b=(Bq((k[b>>2]|0)+2|0)|0)!=0;else b=0;r=c;return b&1|0}function zq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function Aq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;e=f+12|0;k[c>>2]=a;i[e>>0]=i[k[c>>2]>>0]|0;if(!(i[e>>0]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[d>>2]=i[26033+((i[e>>0]|0)-97)>>0];if((k[d>>2]|0)<2){k[b>>2]=1-(k[d>>2]|0);a=k[b>>2]|0;r=f;return a|0}else{a=Bq((k[c>>2]|0)+1|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=f;return a|0}return 0}function Bq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;b=f+4|0;c=f;d=f+12|0;k[b>>2]=a;i[d>>0]=i[k[b>>2]>>0]|0;if(!(i[d>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=i[26033+((i[d>>0]|0)-97)>>0];if((k[c>>2]|0)<2){k[e>>2]=k[c>>2];e=k[e>>2]|0;r=f;return e|0}if(!(i[(k[b>>2]|0)+1>>0]|0))b=1;else b=(Aq((k[b>>2]|0)+1|0)|0)!=0;k[e>>2]=b&1;e=k[e>>2]|0;r=f;return e|0}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;o=p+12|0;j=p+8|0;n=p+4|0;h=p+32|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=Sd(132)|0;k[o>>2]=c;if(!(k[o>>2]|0)){k[d>>2]=7;o=k[d>>2]|0;r=p;return o|0}KR(k[o>>2]|0,0,132)|0;a:do if((k[e>>2]|0)>1){c=$Q(k[(k[f>>2]|0)+4>>2]|0)|0;k[n>>2]=c;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[n>>2]|0))break a;i[h>>0]=i[(k[(k[f>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]|0;if((l[h>>0]|0|0)>=128)break;i[(k[o>>2]|0)+4+(l[h>>0]|0)>>0]=1;k[j>>2]=(k[j>>2]|0)+1}Ud(k[o>>2]|0);k[d>>2]=1;o=k[d>>2]|0;r=p;return o|0}else{k[m>>2]=1;while(1){if((k[m>>2]|0)>=128)break a;c=(Iq(k[m>>2]|0)|0)!=0^1;i[(k[o>>2]|0)+4+(k[m>>2]|0)>>0]=c?-1:0;k[m>>2]=(k[m>>2]|0)+1}}while(0);k[k[g>>2]>>2]=k[o>>2];k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}function Dq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function Eq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=$Q(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Fq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Gq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;m=z+52|0;A=z+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;s=z+28|0;t=z+24|0;h=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;g=z;u=z+56|0;k[A>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=k[A>>2];k[h>>2]=k[k[A>>2]>>2];k[y>>2]=k[(k[t>>2]|0)+4>>2];do{if((k[(k[t>>2]|0)+12>>2]|0)>=(k[(k[t>>2]|0)+8>>2]|0)){j=25;break}while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Hq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[w>>2]=f;while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Hq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[w>>2]|0));if((j|0)==25){k[m>>2]=101;A=k[m>>2]|0;r=z;return A|0}k[x>>2]=(k[(k[t>>2]|0)+12>>2]|0)-(k[w>>2]|0);do if((k[x>>2]|0)>(k[(k[t>>2]|0)+24>>2]|0)){k[(k[t>>2]|0)+24>>2]=(k[x>>2]|0)+20;A=Vd(k[(k[t>>2]|0)+20>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[g>>2]=A;if(k[g>>2]|0){k[(k[t>>2]|0)+20>>2]=k[g>>2];break}k[m>>2]=7;A=k[m>>2]|0;r=z;return A|0}while(0);k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[x>>2]|0))break;i[u>>0]=i[(k[y>>2]|0)+((k[w>>2]|0)+(k[v>>2]|0))>>0]|0;if((l[u>>0]|0|0)>=65?(l[u>>0]|0|0)<=90:0)a=(l[u>>0]|0)-65+97|0;else a=l[u>>0]|0;i[(k[(k[t>>2]|0)+20>>2]|0)+(k[v>>2]|0)>>0]=a;k[v>>2]=(k[v>>2]|0)+1}k[k[n>>2]>>2]=k[(k[t>>2]|0)+20>>2];k[k[o>>2]>>2]=k[x>>2];k[k[p>>2]>>2]=k[w>>2];k[k[q>>2]>>2]=k[(k[t>>2]|0)+12>>2];y=(k[t>>2]|0)+16|0;A=k[y>>2]|0;k[y>>2]=A+1;k[k[s>>2]>>2]=A;k[m>>2]=0;A=k[m>>2]|0;r=z;return A|0}function Hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((l[d>>0]|0)>=128){a=0;a=a&1;r=e;return a|0}a=(i[(k[c>>2]|0)+4+(l[d>>0]|0)>>0]|0)!=0;a=a&1;r=e;return a|0}function Iq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)>=48&(k[b>>2]|0)<=57)?!((k[b>>2]|0)>=65&(k[b>>2]|0)<=90):0)b=(k[b>>2]|0)>=97?(k[b>>2]|0)<=122:0;else b=1;r=c;return b&1|0}function Jq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;t=w;g=w+56|0;h=w+52|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;u=w+28|0;v=w+24|0;o=w+20|0;p=w+16|0;n=w+12|0;s=w+8|0;q=w+4|0;k[h>>2]=a;k[w+48>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;do if(!((k[i>>2]|0)!=4&(k[i>>2]|0)!=5)){k[u>>2]=k[(k[j>>2]|0)+4>>2];f=$Q(k[u>>2]|0)|0;k[o>>2]=f;if((k[i>>2]|0)==5){if((k[o>>2]|0)!=4)break;if(Jd(19288,k[u>>2]|0,4)|0)break;k[u>>2]=k[(k[j>>2]|0)+12>>2];t=$Q(k[u>>2]|0)|0;k[o>>2]=t;k[v>>2]=k[(k[j>>2]|0)+16>>2]}else k[v>>2]=k[(k[j>>2]|0)+12>>2];t=$Q(k[v>>2]|0)|0;k[p>>2]=t;t=qf(k[h>>2]|0,26069)|0;k[s>>2]=t;if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[n>>2]=296+(k[o>>2]|0)+(k[p>>2]|0)+2;t=Sd(k[n>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){KR(k[q>>2]|0,0,k[n>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=(k[q>>2]|0)+16;k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]=(k[(k[q>>2]|0)+12>>2]|0)+280;k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]=(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0)+((k[o>>2]|0)+1);k[(k[(k[q>>2]|0)+12>>2]|0)+12>>2]=k[h>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+248>>2]=1;IR(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;IR(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0,k[v>>2]|0,k[p>>2]|0)|0;Wk(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0);k[k[l>>2]>>2]=k[q>>2];k[g>>2]=0;v=k[g>>2]|0;r=w;return v|0}else{k[g>>2]=7;v=k[g>>2]|0;r=w;return v|0}}while(0);Nk(k[m>>2]|0,26138,t);k[g>>2]=1;v=k[g>>2]|0;r=w;return v|0}function Kq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;f=o+32|0;c=o+28|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;n=o+8|0;e=o+4|0;d=o;k[o+36>>2]=a;k[f>>2]=b;k[g>>2]=-1;k[h>>2]=-1;k[m>>2]=-1;k[j>>2]=-1;k[n>>2]=1;if(((k[(k[f>>2]|0)+8>>2]|0)==1?(k[k[(k[f>>2]|0)+12>>2]>>2]|0)==0:0)?(l[(k[(k[f>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)k[(k[f>>2]|0)+32>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[f>>2]>>2]|0))break;if(i[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+5>>0]|0){k[e>>2]=l[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+4>>0];k[d>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)>>2];if(!(k[d>>2]|0)){if((k[e>>2]|0)==2)k[g>>2]=k[c>>2];if((k[e>>2]|0)==16)k[m>>2]=k[c>>2];if((k[e>>2]|0)==8)k[m>>2]=k[c>>2];if((k[e>>2]|0)==4)k[h>>2]=k[c>>2];if((k[e>>2]|0)==32)k[h>>2]=k[c>>2]}if((k[d>>2]|0)==4&(k[e>>2]|0)==2)k[j>>2]=k[c>>2]}k[c>>2]=(k[c>>2]|0)+1}c=(k[f>>2]|0)+20|0;if((k[g>>2]|0)<0){k[c>>2]=0;p[(k[f>>2]|0)+40>>3]=2.0e4;if((k[h>>2]|0)>=0){g=(k[f>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+2;g=k[n>>2]|0;k[n>>2]=g+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>2]=g;h=(k[f>>2]|0)+40|0;p[h>>3]=+p[h>>3]/2.0}if((k[m>>2]|0)>=0){h=(k[f>>2]|0)+20|0;k[h>>2]=(k[h>>2]|0)+4;h=k[n>>2]|0;k[n>>2]=h+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<3)>>2]=h;m=(k[f>>2]|0)+40|0;p[m>>3]=+p[m>>3]/2.0}}else{k[c>>2]=1;m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=m;p[(k[f>>2]|0)+40>>3]=5.0}if((k[j>>2]|0)<0){r=o;return 0}m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=m;n=(k[f>>2]|0)+40|0;p[n>>3]=+p[n>>3]+-1.0;r=o;return 0}function Lq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];k[d>>2]=k[(k[c>>2]|0)+12>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;ge(k[(k[d>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[d>>2]|0)+240>>2]|0);Ud(k[c>>2]|0);r=e;return 0}function Mq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(120)|0;k[e>>2]=b;if(k[e>>2]|0){a=k[e>>2]|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}return 0}function Nq(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;d=b+4|0;c=b;k[e>>2]=a;k[d>>2]=k[(k[k[e>>2]>>2]|0)+12>>2];k[c>>2]=k[e>>2];Gm(k[d>>2]|0);Jl((k[c>>2]|0)+4|0);Ud(k[(k[c>>2]|0)+60>>2]|0);Ud(k[(k[c>>2]|0)+76>>2]|0);Ud(k[(k[c>>2]|0)+112>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;x=z+8|0;w=z;f=z+76|0;g=z+72|0;h=z+68|0;i=z+60|0;j=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;n=z+36|0;l=z+32|0;m=z+28|0;p=z+24|0;o=z+20|0;q=z+16|0;y=z+12|0;k[g>>2]=a;k[h>>2]=b;k[z+64>>2]=c;k[i>>2]=d;k[j>>2]=e;k[t>>2]=k[g>>2];k[u>>2]=k[(k[k[g>>2]>>2]|0)+12>>2];k[s>>2]=0;k[n>>2]=0;k[l>>2]=-1;k[m>>2]=-1;k[p>>2]=-1;k[o>>2]=-1;k[q>>2]=0;if((k[h>>2]|0)!=1){k[s>>2]=1;if(k[h>>2]&2){a=k[q>>2]|0;k[q>>2]=a+1;k[m>>2]=a}if(k[h>>2]&4){a=k[q>>2]|0;k[q>>2]=a+1;k[p>>2]=a}}else{a=k[q>>2]|0;k[q>>2]=a+1;k[l>>2]=a}if((k[q>>2]|0)<(k[i>>2]|0)){a=k[q>>2]|0;k[q>>2]=a+1;k[o>>2]=a}Jl((k[t>>2]|0)+4|0);Ud(k[(k[t>>2]|0)+60>>2]|0);Ud(k[(k[t>>2]|0)+112>>2]|0);KR((k[t>>2]|0)+4|0,0,(k[t>>2]|0)+120-((k[t>>2]|0)+4)|0)|0;k[(k[t>>2]|0)+60+12>>2]=3;if(k[s>>2]|0){a=(k[t>>2]|0)+60+12|0;k[a>>2]=k[a>>2]|16}if(((k[l>>2]|0)>=0|(k[m>>2]|0)>=0?(a=ke(k[k[j>>2]>>2]|0)|0,k[y>>2]=a,(k[y>>2]|0)!=0):0)?(k[w>>2]=k[y>>2],y=Yd(19007,w)|0,k[(k[t>>2]|0)+60>>2]=y,y=le(k[k[j>>2]>>2]|0)|0,k[(k[t>>2]|0)+60+4>>2]=y,(k[(k[t>>2]|0)+60>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[p>>2]|0)>=0?(y=ke(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[x>>2]=y,y=Yd(19007,x)|0,k[(k[t>>2]|0)+76>>2]=y,y=le(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[(k[t>>2]|0)+80>>2]=y,(k[(k[t>>2]|0)+76>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[o>>2]|0)>=0){y=ne(k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]|0)|0;k[n>>2]=y;k[n>>2]=(k[n>>2]|0)<0?0:y}k[(k[t>>2]|0)+84>>2]=k[n>>2];y=yl(k[u>>2]|0,k[n>>2]|0,0,-2,k[(k[t>>2]|0)+60>>2]|0,k[(k[t>>2]|0)+60+4>>2]|0,0,k[s>>2]|0,(k[t>>2]|0)+4|0)|0;k[v>>2]=y;if(!(k[v>>2]|0)){y=Cl(k[u>>2]|0,(k[t>>2]|0)+4|0,(k[t>>2]|0)+60|0)|0;k[v>>2]=y}if(!(k[v>>2]|0)){y=Pq(k[g>>2]|0)|0;k[v>>2]=y}k[f>>2]=k[v>>2];y=k[f>>2]|0;r=z;return y|0}function Pq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+64|0;c=p+52|0;q=p+48|0;l=p+44|0;b=p+40|0;m=p+36|0;f=p+32|0;j=p+28|0;d=p+24|0;g=p+20|0;e=p+16|0;i=p+12|0;h=p+8|0;n=p;k[q>>2]=a;k[l>>2]=k[q>>2];k[b>>2]=k[(k[k[q>>2]>>2]|0)+12>>2];a=(k[l>>2]|0)+96|0;q=a;q=GR(k[q>>2]|0,k[q+4>>2]|0,1,0)|0;k[a>>2]=q;k[a+4>>2]=L;a=(k[l>>2]|0)+104|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if((k[(k[l>>2]|0)+104>>2]|0)>=(k[(k[l>>2]|0)+108>>2]|0))break;q=(k[(k[l>>2]|0)+112>>2]|0)+(k[(k[l>>2]|0)+104>>2]<<4)|0;a=k[q+4>>2]|0;if((a|0)>0|(a|0)==0&(k[q>>2]|0)>>>0>0){o=4;break}q=(k[l>>2]|0)+104|0;k[q>>2]=(k[q>>2]|0)+1}if((o|0)==4){k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}q=Dl(k[b>>2]|0,(k[l>>2]|0)+4|0)|0;k[m>>2]=q;do if((k[m>>2]|0)==100){k[f>>2]=0;k[j>>2]=k[(k[l>>2]|0)+4+52>>2];k[d>>2]=k[(k[l>>2]|0)+4+48>>2];k[e>>2]=0;do if(k[(k[l>>2]|0)+76>>2]|0){a=k[l>>2]|0;if((k[(k[l>>2]|0)+80>>2]|0)<(k[(k[l>>2]|0)+4+44>>2]|0))a=k[a+80>>2]|0;else a=k[a+4+44>>2]|0;k[i>>2]=a;q=VQ(k[(k[l>>2]|0)+76>>2]|0,k[(k[l>>2]|0)+4+40>>2]|0,k[i>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)>=0){if(k[h>>2]|0)break;if((k[(k[l>>2]|0)+4+44>>2]|0)<=(k[(k[l>>2]|0)+80>>2]|0))break}k[(k[l>>2]|0)+88>>2]=1;k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}while(0);if(Tq(k[l>>2]|0,2)|0){k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}KR(k[(k[l>>2]|0)+112>>2]|0,0,k[(k[l>>2]|0)+108>>2]<<4|0)|0;k[g>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[j>>2]|0)){o=32;break}q=n;k[q>>2]=0;k[q+4>>2]=0;q=gm((k[d>>2]|0)+(k[f>>2]|0)|0,n)|0;k[f>>2]=(k[f>>2]|0)+q;switch(k[e>>2]|0){case 0:{q=k[(k[l>>2]|0)+112>>2]|0;i=q;i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=1;k[g>>2]=0;continue a}case 1:{q=n;i=k[q+4>>2]|0;if((i|0)>0|(i|0)==0&(k[q>>2]|0)>>>0>1){q=(k[(k[l>>2]|0)+112>>2]|0)+16|0;i=q;i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L}k[e>>2]=2;break}case 2:break;default:{k[g>>2]=k[n>>2];if(Tq(k[l>>2]|0,(k[g>>2]|0)+2|0)|0)break a;q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)|0;i=q;i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=2;continue a}}q=n;if((k[q>>2]|0)==0&(k[q+4>>2]|0)==0){k[e>>2]=0;continue}q=n;if((k[q>>2]|0)==1&(k[q+4>>2]|0)==0){k[e>>2]=3;continue}else{q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)+8|0;i=q;i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;q=(k[(k[l>>2]|0)+112>>2]|0)+8|0;i=q;i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;continue}}if((o|0)==32){k[(k[l>>2]|0)+104>>2]=0;k[m>>2]=0;break}k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}else k[(k[l>>2]|0)+88>>2]=1;while(0);k[c>>2]=k[m>>2];q=k[c>>2]|0;r=p;return q|0}function Qq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return k[(k[b>>2]|0)+88>>2]|0}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,k[(k[e>>2]|0)+4+40>>2]|0,k[(k[e>>2]|0)+4+44>>2]|0,-1);r=f;return 0}case 1:{d=k[d>>2]|0;if(k[(k[e>>2]|0)+104>>2]|0){ue(d,(k[(k[e>>2]|0)+104>>2]|0)-1|0);r=f;return 0}else{xe(d,26067,-1,0);r=f;return 0}}case 2:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)|0;ve(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}case 3:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)+8|0;ve(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}default:{ue(k[d>>2]|0,k[(k[e>>2]|0)+84>>2]|0);r=f;return 0}}return 0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+96|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function Tq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;do if((k[e>>2]|0)>(k[(k[d>>2]|0)+108>>2]|0)){a=Vd(k[(k[d>>2]|0)+112>>2]|0,k[e>>2]<<4)|0;k[f>>2]=a;if(k[f>>2]|0){KR((k[f>>2]|0)+(k[(k[d>>2]|0)+108>>2]<<4)|0,0,(k[e>>2]|0)-(k[(k[d>>2]|0)+108>>2]|0)<<4|0)|0;k[(k[d>>2]|0)+112>>2]=k[f>>2];k[(k[d>>2]|0)+108>>2]=k[e>>2];break}k[c>>2]=7;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function Uq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=0;c=Sd(16)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[j>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[(k[j>>2]|0)+4>>2]=1;k[h>>2]=0;while(1){if(k[l>>2]|0)break;if((k[h>>2]|0)>=(k[e>>2]|0))break;k[m>>2]=k[(k[f>>2]|0)+(k[h>>2]<<2)>>2];c=$Q(k[m>>2]|0)|0;k[i>>2]=c;if((k[i>>2]|0)==19?(VQ(26344,k[m>>2]|0,19)|0)==0:0)k[(k[j>>2]|0)+4>>2]=1;else n=9;do if((n|0)==9){n=0;if((k[i>>2]|0)==19?(VQ(26364,k[m>>2]|0,19)|0)==0:0){k[(k[j>>2]|0)+4>>2]=0;break}if((k[i>>2]|0)>=11?(VQ(26384,k[m>>2]|0,11)|0)==0:0){c=dr(k[j>>2]|0,1,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}if((k[i>>2]|0)>=11?(VQ(26396,k[m>>2]|0,11)|0)==0:0){c=dr(k[j>>2]|0,0,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}k[l>>2]=1}while(0);k[h>>2]=(k[h>>2]|0)+1}if(k[l>>2]|0){Vq(k[j>>2]|0)|0;k[j>>2]=0}k[k[g>>2]>>2]=k[j>>2];k[d>>2]=k[l>>2];n=k[d>>2]|0;r=o;return n|0}function Vq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return 0}k[c>>2]=k[b>>2];Ud(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);r=d;return 0}function Wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}d=k[i>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=$Q(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Xq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Yq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+80|0;o=A+64|0;B=A+60|0;p=A+56|0;q=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;j=A+32|0;g=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;n=A+8|0;h=A+4|0;m=A;k[B>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=k[B>>2];k[j>>2]=k[k[v>>2]>>2];k[g>>2]=0;k[w>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+12>>2]|0);k[z>>2]=k[w>>2];k[n>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+8>>2]|0);while(1){if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[26179+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))a=((l[k[w>>2]>>0]|0)&192|0)==128;else a=0;b=k[g>>2]|0;if(!a)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(b<<6)+(63&(l[B>>0]|0))}if(((b|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if(Zq(k[j>>2]|0,k[g>>2]|0)|0)break;k[z>>2]=k[w>>2]}if((k[z>>2]|0)>>>0>=(k[n>>2]|0)>>>0){k[o>>2]=101;B=k[o>>2]|0;r=A;return B|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0)|0)>=((k[(k[v>>2]|0)+24>>2]|0)-4|0)){B=Vd(k[(k[v>>2]|0)+20>>2]|0,(k[(k[v>>2]|0)+24>>2]|0)+64|0)|0;k[m>>2]=B;if(!(k[m>>2]|0)){a=20;break}k[y>>2]=(k[m>>2]|0)+((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0));k[(k[v>>2]|0)+20>>2]=k[m>>2];B=(k[v>>2]|0)+24|0;k[B>>2]=(k[B>>2]|0)+64}k[x>>2]=k[w>>2];B=_q(k[g>>2]|0,k[(k[j>>2]|0)+4>>2]|0)|0;k[h>>2]=B;do if(k[h>>2]|0){a=k[h>>2]|0;if((k[h>>2]|0)<128){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=a;break}b=k[h>>2]|0;if((a|0)<2048){c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=192+(b>>6&31);c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}a=k[h>>2]|0;if((b|0)<65536){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=224+(a>>12&15);B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}else{c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=240+(a>>18&7);c=128+(k[h>>2]>>12&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}}while(0);if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0){a=43;break}B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[26179+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))b=((l[k[w>>2]>>0]|0)&192|0)==128;else b=0;a=k[g>>2]|0;if(!b)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(a<<6)+(63&(l[B>>0]|0))}if(((a|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if(Zq(k[j>>2]|0,k[g>>2]|0)|0)continue;if(!($q(k[g>>2]|0)|0)){a=43;break}}if((a|0)==20){k[o>>2]=7;B=k[o>>2]|0;r=A;return B|0}else if((a|0)==43){k[(k[v>>2]|0)+12>>2]=(k[w>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[p>>2]>>2]=k[(k[v>>2]|0)+20>>2];k[k[q>>2]>>2]=(k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0);k[k[s>>2]>>2]=(k[z>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[t>>2]>>2]=(k[x>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);z=(k[v>>2]|0)+16|0;B=k[z>>2]|0;k[z>>2]=B+1;k[k[u>>2]>>2]=B;k[o>>2]=0;B=k[o>>2]|0;r=A;return B|0}return 0}function Zq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=br(k[d>>2]|0)|0;a=a^(cr(k[e>>2]|0,k[d>>2]|0)|0);r=c;return a|0}function _q(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=r;r=r+48|0;c=o+32|0;d=o+28|0;n=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;i=o+8|0;e=o+4|0;j=o;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[c>>2];b=k[c>>2]|0;if((k[c>>2]|0)<128){if(!((b|0)>=65&(k[c>>2]|0)<=90)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+32;n=k[n>>2]|0;r=o;return n|0}if((b|0)>=65536){if(!((k[c>>2]|0)>=66560&(k[c>>2]|0)<66600)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+40;n=k[n>>2]|0;r=o;return n|0}k[f>>2]=162;k[g>>2]=0;k[h>>2]=-1;while(1){if((k[f>>2]|0)<(k[g>>2]|0))break;k[i>>2]=((k[f>>2]|0)+(k[g>>2]|0)|0)/2|0;k[e>>2]=(k[c>>2]|0)-(m[10630+(k[i>>2]<<2)>>1]|0);b=k[i>>2]|0;if((k[e>>2]|0)>=0){k[h>>2]=b;k[g>>2]=(k[i>>2]|0)+1;continue}else{k[f>>2]=b-1;continue}}if(((k[h>>2]|0)>=0?(k[j>>2]=10630+(k[h>>2]<<2),(k[c>>2]|0)<((m[k[j>>2]>>1]|0)+(l[(k[j>>2]|0)+3>>0]|0)|0)):0)?0==(1&(l[(k[j>>2]|0)+2>>0]|0)&((m[k[j>>2]>>1]|0)^k[c>>2])|0):0)k[n>>2]=(k[c>>2]|0)+(m[11282+((l[(k[j>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(k[d>>2]|0)){n=k[n>>2]|0;r=o;return n|0}j=ar(k[n>>2]|0)|0;k[n>>2]=j;n=k[n>>2]|0;r=o;return n|0}function $q(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=134389727;k[d>>2]=221688;if((k[b>>2]|0)<768|(k[b>>2]|0)>817){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}if((k[b>>2]|0)<800)b=k[c>>2]&1<<(k[b>>2]|0)-768;else b=k[d>>2]&1<<(k[b>>2]|0)-768-32;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function ar(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0;o=r;r=r+336|0;d=o+20|0;f=o+24|0;e=o+226|0;n=o+16|0;j=o+12|0;g=o+8|0;h=o+4|0;l=o;k[d>>2]=a;IR(f|0,11436,202)|0;a=e;b=26243;c=a+101|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[n>>2]=k[d>>2]<<3|7;k[j>>2]=0;k[g>>2]=100;k[h>>2]=0;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break;k[l>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;a=k[l>>2]|0;if((k[n>>2]|0)>>>0>=(m[f+(k[l>>2]<<1)>>1]|0)>>>0){k[j>>2]=a;k[h>>2]=(k[l>>2]|0)+1;continue}else{k[g>>2]=a-1;continue}}if((k[d>>2]|0)>((m[f+(k[j>>2]<<1)>>1]>>3)+(m[f+(k[j>>2]<<1)>>1]&7)|0)){n=k[d>>2]|0;r=o;return n|0}else{n=i[e+(k[j>>2]|0)>>0]|0;r=o;return n|0}return 0}function br(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;f=i+12|0;d=i+8|0;e=i+4|0;g=i;k[c>>2]=a;a=k[c>>2]|0;if((k[c>>2]|0)<128){k[b>>2]=(k[2372+(a>>5<<2)>>2]&1<<(k[c>>2]&31)|0)==0&1;h=k[b>>2]|0;r=i;return h|0}if((a|0)>=4194304){k[b>>2]=1;h=k[b>>2]|0;r=i;return h|0}k[h>>2]=k[c>>2]<<10|1023;k[f>>2]=0;k[d>>2]=405;k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[e>>2]|0))break;k[g>>2]=((k[d>>2]|0)+(k[e>>2]|0)|0)/2|0;a=k[g>>2]|0;if((k[h>>2]|0)>>>0>=(k[2388+(k[g>>2]<<2)>>2]|0)>>>0){k[f>>2]=a;k[e>>2]=(k[g>>2]|0)+1;continue}else{k[d>>2]=a-1;continue}}k[b>>2]=(k[c>>2]|0)>>>0>=(((k[2388+(k[f>>2]<<2)>>2]|0)>>>10)+(k[2388+(k[f>>2]<<2)>>2]&1023)|0)>>>0&1;h=k[b>>2]|0;r=i;return h|0}function cr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;c=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[e>>2]=b;a:do if((k[(k[c>>2]|0)+8>>2]|0)>0){k[f>>2]=k[(k[c>>2]|0)+12>>2];k[h>>2]=0;k[g>>2]=(k[(k[c>>2]|0)+8>>2]|0)-1;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break a;k[i>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;if((k[e>>2]|0)==(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0))break;c=k[i>>2]|0;if((k[e>>2]|0)>(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0)){k[h>>2]=c+1;continue}else{k[g>>2]=c-1;continue}}k[d>>2]=1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function dr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;g=t+48|0;h=t+44|0;i=t+40|0;e=t+36|0;u=t+32|0;q=t+28|0;s=t+24|0;n=t+20|0;f=t+16|0;j=t+12|0;p=t+8|0;m=t+4|0;o=t;k[h>>2]=a;k[i>>2]=b;k[e>>2]=c;k[u>>2]=d;k[q>>2]=k[e>>2];k[s>>2]=(k[q>>2]|0)+(k[u>>2]|0);k[f>>2]=0;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[26179+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=br(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if($q(k[n>>2]|0)|0)continue;k[f>>2]=(k[f>>2]|0)+1}if(k[f>>2]|0){u=Vd(k[(k[h>>2]|0)+12>>2]|0,(k[(k[h>>2]|0)+8>>2]|0)+(k[f>>2]|0)<<2)|0;k[j>>2]=u;if(!(k[j>>2]|0)){k[g>>2]=7;u=k[g>>2]|0;r=t;return u|0}k[p>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=k[e>>2];while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[26179+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=br(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if($q(k[n>>2]|0)|0)continue;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;if((k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]|0)>=(k[n>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=k[p>>2];while(1){if((k[o>>2]|0)<=(k[m>>2]|0))break;k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]=k[(k[j>>2]|0)+((k[o>>2]|0)-1<<2)>>2];k[o>>2]=(k[o>>2]|0)+-1}k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]=k[n>>2];k[p>>2]=(k[p>>2]|0)+1}k[(k[h>>2]|0)+12>>2]=k[j>>2];k[(k[h>>2]|0)+8>>2]=k[p>>2]}k[g>>2]=0;u=k[g>>2]|0;r=t;return u|0}function er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!((k[d>>2]|0)!=0?(k[(k[f>>2]|0)+48>>2]|0)==0:0)){h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}h=k[d>>2]|0;h=Bh(0,h,((h|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+48>>2]=h;k[(k[f>>2]|0)+52>>2]=k[e>>2];h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}function fr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+68>>0]|0|0)==2|0}function gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=r;r=r+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;k[j>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;i[k[f>>2]>>0]=0;d=ec[k[(k[j>>2]|0)+36>>2]&255](k[j>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function hr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=au(k[b>>2]|0)|0;k[c>>2]=a;if(!(i[k[c>>2]>>0]|0)){r=d;return}i[k[c>>2]>>0]=0;if((bu(k[b>>2]|0)|0)<=1){r=d;return}cu(k[c>>2]|0)|0;r=d;return}function ir(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=r;r=r+112|0;q=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;m=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;h=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;n=K+24|0;F=K+20|0;p=K+16|0;l=K+12|0;o=K+8|0;y=K+4|0;z=K;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[L>>2]=e;k[w>>2]=f;k[x>>2]=g;k[C>>2]=0;k[D>>2]=0;k[G>>2]=0;k[A>>2]=0;k[E>>2]=0;k[I>>2]=0;k[B>>2]=0;k[H>>2]=(k[L>>2]&1|0)==0&1;c=At()|0;k[n>>2]=c;k[F>>2]=4096;k[p>>2]=0;k[l>>2]=0;c=(Bt(k[s>>2]|0)|0)+7&-8;k[h>>2]=c;k[k[t>>2]>>2]=0;do if(((k[L>>2]&2|0)!=0?(k[A>>2]=1,(k[u>>2]|0)!=0):0)?(i[k[u>>2]>>0]|0)!=0:0){L=zh(0,k[u>>2]|0)|0;k[I>>2]=L;if(k[I>>2]|0){L=Tf(k[I>>2]|0)|0;k[B>>2]=L;k[u>>2]=0;break}k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}while(0);if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[B>>2]=(k[(k[s>>2]|0)+8>>2]|0)+1;L=k[B>>2]<<1;L=Kh(0,L,((L|0)<0)<<31>>31)|0;k[I>>2]=L;if(!(k[I>>2]|0)){k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}i[k[I>>2]>>0]=0;L=gr(k[s>>2]|0,k[u>>2]|0,k[B>>2]|0,k[I>>2]|0)|0;k[D>>2]=L;L=Tf(k[I>>2]|0)|0;k[B>>2]=L;L=(Tf(k[u>>2]|0)|0)+1|0;L=(k[u>>2]|0)+L|0;k[p>>2]=L;k[o>>2]=L;while(1){e=k[o>>2]|0;if(!(i[k[o>>2]>>0]|0))break;L=(Tf(e)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L;L=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L}k[l>>2]=e+1-(k[p>>2]|0);if((k[D>>2]|0)==0?((k[B>>2]|0)+8|0)>(k[(k[s>>2]|0)+8>>2]|0):0){L=wt(50512)|0;k[D>>2]=L}if(k[D>>2]|0){bg(0,k[I>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}}L=ug(224+((k[n>>2]|0)+7&-8)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)+(k[h>>2]<<1)+(k[B>>2]|0)+1+(k[l>>2]|0)+(k[B>>2]|0)+8+2+(k[B>>2]|0)+4+2|0,0)|0;k[m>>2]=L;if(!(k[m>>2]|0)){bg(0,k[I>>2]|0);k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}k[C>>2]=k[m>>2];L=(k[m>>2]|0)+224|0;k[m>>2]=L;k[(k[C>>2]|0)+212>>2]=L;L=(k[m>>2]|0)+((k[n>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+64>>2]=L;L=(k[m>>2]|0)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+72>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+68>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+176>>2]=L;if(k[I>>2]|0){L=(k[m>>2]|0)+((k[B>>2]|0)+1+(k[l>>2]|0))|0;k[m>>2]=L;k[(k[C>>2]|0)+180>>2]=L;IR(k[(k[C>>2]|0)+176>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;if(k[l>>2]|0)IR((k[(k[C>>2]|0)+176>>2]|0)+((k[B>>2]|0)+1)|0,k[p>>2]|0,k[l>>2]|0)|0;IR(k[(k[C>>2]|0)+180>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;e=(k[(k[C>>2]|0)+180>>2]|0)+(k[B>>2]|0)|0;d=26605;a=e+10|0;do{i[e>>0]=i[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(a|0));k[(k[C>>2]|0)+220>>2]=(k[(k[C>>2]|0)+180>>2]|0)+((k[B>>2]|0)+8+1);IR(k[(k[C>>2]|0)+220>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;L=(k[(k[C>>2]|0)+220>>2]|0)+(k[B>>2]|0)|0;i[L>>0]=i[26615]|0;i[L+1>>0]=i[26616]|0;i[L+2>>0]=i[26617]|0;i[L+3>>0]=i[26618]|0;i[L+4>>0]=i[26619]|0;bg(0,k[I>>2]|0)}k[k[C>>2]>>2]=k[s>>2];k[(k[C>>2]|0)+152>>2]=k[w>>2];do if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[y>>2]=0;L=as(k[s>>2]|0,k[(k[C>>2]|0)+176>>2]|0,k[(k[C>>2]|0)+64>>2]|0,k[w>>2]|0,y)|0;k[D>>2]=L;k[E>>2]=k[y>>2]&1;if(!(k[D>>2]|0)){L=js(k[(k[C>>2]|0)+64>>2]|0)|0;k[z>>2]=L;do if((k[E>>2]|0)==0?(is(k[C>>2]|0),(k[F>>2]|0)>>>0<(k[(k[C>>2]|0)+156>>2]|0)>>>0):0)if((k[(k[C>>2]|0)+156>>2]|0)>>>0>8192){k[F>>2]=8192;break}else{k[F>>2]=k[(k[C>>2]|0)+156>>2];break}while(0);L=(Sf(k[u>>2]|0,26621,0)|0)&255;i[(k[C>>2]|0)+14>>0]=L;if((k[z>>2]&8192|0)==0?(Sf(k[u>>2]|0,26628,0)|0)==0:0)break;k[w>>2]=k[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){k[G>>2]=1;i[(k[C>>2]|0)+17>>0]=1;i[(k[C>>2]|0)+18>>0]=4;i[(k[C>>2]|0)+14>>0]=1;k[E>>2]=k[w>>2]&1}if(!(k[D>>2]|0)){L=bj(k[C>>2]|0,F,-1)|0;k[D>>2]=L}if(!(k[D>>2]|0)){k[v>>2]=(k[v>>2]|0)+7&-8;L=Dt(k[F>>2]|0,k[v>>2]|0,((k[A>>2]|0)!=0^1)&1,(k[A>>2]|0)!=0^1?186:0,k[C>>2]|0,k[(k[C>>2]|0)+212>>2]|0)|0;k[D>>2]=L}if(k[D>>2]|0){wr(k[(k[C>>2]|0)+64>>2]|0);hj(k[(k[C>>2]|0)+208>>2]|0);Ud(k[C>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}i[(k[C>>2]|0)+6>>0]=k[H>>2];k[(k[C>>2]|0)+164>>2]=1073741823;i[(k[C>>2]|0)+13>>0]=k[G>>2];i[(k[C>>2]|0)+4>>0]=k[G>>2];i[(k[C>>2]|0)+19>>0]=i[(k[C>>2]|0)+13>>0]|0;i[(k[C>>2]|0)+16>>0]=k[A>>2];i[(k[C>>2]|0)+15>>0]=k[E>>2];i[(k[C>>2]|0)+7>>0]=i[(k[C>>2]|0)+13>>0]|0;if(!(i[(k[C>>2]|0)+7>>0]|0)){i[(k[C>>2]|0)+8>>0]=1;i[(k[C>>2]|0)+9>>0]=0;i[(k[C>>2]|0)+12>>0]=2;i[(k[C>>2]|0)+11>>0]=34;i[(k[C>>2]|0)+10>>0]=2}j[(k[C>>2]|0)+148>>1]=k[v>>2];L=(k[C>>2]|0)+168|0;k[L>>2]=-1;k[L+4>>2]=-1;is(k[C>>2]|0);if(k[H>>2]|0){if(k[A>>2]|0)i[(k[C>>2]|0)+5>>0]=4}else i[(k[C>>2]|0)+5>>0]=2;k[(k[C>>2]|0)+204>>2]=k[x>>2];k[k[t>>2]>>2]=k[C>>2];k[q>>2]=0;L=k[q>>2]|0;r=K;return L|0}function jr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=f;c=k[b+4>>2]|0;a=(k[e>>2]|0)+136|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;ij(k[e>>2]|0);r=d;return}function kr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;KR(k[f>>2]|0,0,k[e>>2]|0)|0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=ms(k[(k[d>>2]|0)+64>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;k[g>>2]=a;k[g>>2]=(k[g>>2]|0)==522?0:a;g=k[g>>2]|0;r=h;return g|0}function lr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=zt((k[(k[c>>2]|0)+4>>2]|0)+380|0)|0;r=b;return a|0}function mr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[(k[d>>2]|0)+184>>2]=k[h>>2];k[(k[d>>2]|0)+188>>2]=k[g>>2];if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){r=f;return}k[e>>2]=(k[d>>2]|0)+184;$s(k[(k[d>>2]|0)+64>>2]|0,15,k[e>>2]|0);r=f;return}function nr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+15>>0]|0}function or(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[k[b>>2]>>0]|0)<<24|(l[(k[b>>2]|0)+1>>0]|0)<<16|(l[(k[b>>2]|0)+2>>0]|0)<<8|(l[(k[b>>2]|0)+3>>0]|0)|0}function pr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+208>>2];ek();qr(k[b>>2]|0);i[(k[b>>2]|0)+4>>0]=0;rr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[c>>2]|0)|0;k[(k[b>>2]|0)+216>>2]=0;fj(k[b>>2]|0);a=k[b>>2]|0;if(i[(k[b>>2]|0)+16>>0]|0)sr(a);else{if(k[k[a+68>>2]>>2]|0){a=k[b>>2]|0;ur(a,tr(k[b>>2]|0)|0)|0}vr(k[b>>2]|0)}fk();wr(k[(k[b>>2]|0)+68>>2]|0);wr(k[(k[b>>2]|0)+64>>2]|0);hj(k[c>>2]|0);xr(k[(k[b>>2]|0)+212>>2]|0);Ud(k[b>>2]|0);r=d;return 0}function qr(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+144>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+12>>2];Ud(k[b>>2]|0);k[b>>2]=k[c>>2]}r=d;return}function rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;if(!(k[e>>2]|0)){d=k[n>>2]|0;r=o;return d|0}k[m>>2]=0;d=Zs(k[(k[e>>2]|0)+4>>2]|0,4)|0;k[n>>2]=d;do if(!(k[n>>2]|0)){if(!(l[(k[e>>2]|0)+43>>0]|0))i[(k[e>>2]|0)+43>>0]=1;d=_s(k[e>>2]|0,0,0,0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[j>>2]=-1;$s(k[(k[e>>2]|0)+4>>2]|0,10,j);if((k[j>>2]|0)!=1){k[m>>2]=1;break}d=(k[e>>2]|0)+16|0;b=k[d+4>>2]|0;if((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>=0)at(k[e>>2]|0,0,0)}}while(0);bt(k[e>>2]|0,k[m>>2]|0);wr(k[(k[e>>2]|0)+8>>2]|0);if(k[m>>2]|0){ek();Fr(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0,0)|0;fk()}Ud(k[(k[e>>2]|0)+32>>2]|0);Ud(k[e>>2]|0);d=k[n>>2]|0;r=o;return d|0}function sr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+8|0;c=e+4|0;b=e;k[d>>2]=a;xj(k[(k[d>>2]|0)+60>>2]|0);k[(k[d>>2]|0)+60>>2]=0;Ar(k[d>>2]|0);f=(Jr(k[d>>2]|0)|0)!=0;a=k[d>>2]|0;if(!f){if(!(i[a+4>>0]|0)){if(k[k[(k[d>>2]|0)+64>>2]>>2]|0)a=js(k[(k[d>>2]|0)+64>>2]|0)|0;else a=0;k[b>>2]=a;if(!(0!=(k[b>>2]&2048|0)?1==(l[(k[d>>2]|0)+5>>0]&5|0):0))wr(k[(k[d>>2]|0)+68>>2]|0);f=Nr(k[d>>2]|0,0)|0;k[c>>2]=f;if((k[c>>2]|0)!=0?(l[(k[d>>2]|0)+17>>0]|0)==6:0)i[(k[d>>2]|0)+18>>0]=5;i[(k[d>>2]|0)+19>>0]=0;i[(k[d>>2]|0)+17>>0]=0}}else{Ys(k[a+216>>2]|0);i[(k[d>>2]|0)+17>>0]=0}if(!(k[(k[d>>2]|0)+44>>2]|0)){f=k[d>>2]|0;f=f+80|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+88|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}a=k[d>>2]|0;if(!(l[(k[d>>2]|0)+13>>0]|0)){fj(a);i[(k[d>>2]|0)+19>>0]=0;i[(k[d>>2]|0)+17>>0]=0}else i[(k[d>>2]|0)+17>>0]=(k[k[a+68>>2]>>2]|0)!=0?0:1;k[(k[d>>2]|0)+44>>2]=0;f=k[d>>2]|0;f=f+80|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+88|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}function tr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(i[(k[b>>2]|0)+7>>0]|0)){a=Dr(k[(k[b>>2]|0)+68>>2]|0,2)|0;k[c>>2]=a}if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=dj(k[(k[b>>2]|0)+68>>2]|0,(k[b>>2]|0)+88|0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[d>>2]&255;if(!((k[f>>2]|0)==13|(k[f>>2]|0)==10)){f=k[d>>2]|0;r=e;return f|0}k[(k[c>>2]|0)+44>>2]=k[d>>2];i[(k[c>>2]|0)+17>>0]=6;f=k[d>>2]|0;r=e;return f|0}function vr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if((l[(k[b>>2]|0)+17>>0]|0)!=6?(l[(k[b>>2]|0)+17>>0]|0)!=0:0){if((l[(k[b>>2]|0)+17>>0]|0)>=2){ek();yr(k[b>>2]|0)|0;fk();break}if(!(i[(k[b>>2]|0)+4>>0]|0))zr(k[b>>2]|0,0,0)|0}while(0);sr(k[b>>2]|0);r=c;return}function wr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[k[b>>2]>>2]|0)){r=c;return}bc[k[(k[k[b>>2]>>2]|0)+4>>2]&255](k[b>>2]|0)|0;k[k[b>>2]>>2]=0;r=c;return}function xr(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[160>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function yr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;k[e>>2]=0;a=k[c>>2]|0;if((l[(k[c>>2]|0)+17>>0]|0)==6){k[b>>2]=k[a+44>>2];f=k[b>>2]|0;r=g;return f|0}if((l[a+17>>0]|0)<=1){k[b>>2]=0;f=k[b>>2]|0;r=g;return f|0}h=(Jr(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;do if(h){h=bs(a,2,-1)|0;k[e>>2]=h;h=zr(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,0)|0;k[f>>2]=h;if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else{if((k[k[a+68>>2]>>2]|0)!=0?(l[(k[c>>2]|0)+17>>0]|0)!=2:0){h=cs(k[c>>2]|0,0)|0;k[e>>2]=h;break}k[d>>2]=l[(k[c>>2]|0)+17>>0];h=zr(k[c>>2]|0,0,0)|0;k[e>>2]=h;if((k[d>>2]|0)>2?(i[(k[c>>2]|0)+16>>0]|0)==0:0){k[(k[c>>2]|0)+44>>2]=4;i[(k[c>>2]|0)+17>>0]=6;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}}while(0);h=ur(k[c>>2]|0,k[e>>2]|0)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;d=n+16|0;h=n+12|0;j=n+8|0;m=n+4|0;e=n;k[g>>2]=a;k[d>>2]=b;k[h>>2]=c;k[j>>2]=0;k[m>>2]=0;if((l[(k[g>>2]|0)+17>>0]|0)<2?(l[(k[g>>2]|0)+18>>0]|0)<2:0){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}Ar(k[g>>2]|0);a:do if(k[k[(k[g>>2]|0)+68>>2]>>2]|0){a=(Br(k[(k[g>>2]|0)+68>>2]|0)|0)!=0;c=k[g>>2]|0;if(a){wr(k[c+68>>2]|0);break}b=k[g>>2]|0;if((l[c+5>>0]|0)==3){e=b+80|0;if(!((k[e>>2]|0)==0&(k[e+4>>2]|0)==0)){e=Cr(k[(k[g>>2]|0)+68>>2]|0,0,0)|0;k[j>>2]=e;if((k[j>>2]|0)==0?(l[(k[g>>2]|0)+8>>0]|0)!=0:0){e=Dr(k[(k[g>>2]|0)+68>>2]|0,l[(k[g>>2]|0)+12>>0]|0)|0;k[j>>2]=e}}else k[j>>2]=0;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0;break}do if((l[b+5>>0]|0)!=1){if((l[(k[g>>2]|0)+4>>0]|0)!=0?(l[(k[g>>2]|0)+5>>0]|0)!=5:0)break;k[e>>2]=((i[(k[g>>2]|0)+13>>0]|0)!=0^1)&1;wr(k[(k[g>>2]|0)+68>>2]|0);if(!(k[e>>2]|0))break a;e=Fr(k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+180>>2]|0,l[(k[g>>2]|0)+9>>0]|0)|0;k[j>>2]=e;break a}while(0);if(k[d>>2]|0)c=1;else c=(l[(k[g>>2]|0)+13>>0]|0)!=0;e=Er(k[g>>2]|0,c&1)|0;k[j>>2]=e;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0}while(0);xj(k[(k[g>>2]|0)+60>>2]|0);k[(k[g>>2]|0)+60>>2]=0;k[(k[g>>2]|0)+48>>2]=0;if(!(k[j>>2]|0)){e=(Gr(k[g>>2]|0,k[h>>2]|0)|0)!=0;c=k[(k[g>>2]|0)+212>>2]|0;if(e)Hr(c);else Ir(c);nj(k[(k[g>>2]|0)+212>>2]|0,k[(k[g>>2]|0)+28>>2]|0)}if(!(Jr(k[g>>2]|0)|0)){if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)>>>0>(k[(k[g>>2]|0)+28>>2]|0)>>>0:0){e=Lr(k[g>>2]|0,k[(k[g>>2]|0)+28>>2]|0)|0;k[j>>2]=e}}else{e=Kr(k[(k[g>>2]|0)+216>>2]|0)|0;k[m>>2]=e}if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?(k[k[(k[g>>2]|0)+64>>2]>>2]|0)!=0:0){h=Ii(k[(k[g>>2]|0)+64>>2]|0,22,0)|0;k[j>>2]=h;k[j>>2]=(k[j>>2]|0)==12?0:h}do if(!(i[(k[g>>2]|0)+4>>0]|0)){if((Jr(k[g>>2]|0)|0)!=0?(Mr(k[(k[g>>2]|0)+216>>2]|0,0)|0)==0:0)break;h=Nr(k[g>>2]|0,1)|0;k[m>>2]=h;i[(k[g>>2]|0)+19>>0]=0}while(0);i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+20>>0]=0;k[f>>2]=(k[j>>2]|0)==0?k[m>>2]|0:k[j>>2]|0;m=k[f>>2]|0;r=n;return m|0}function Ar(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+104>>2]|0))break;xj(k[(k[(k[b>>2]|0)+100>>2]|0)+((k[c>>2]|0)*48|0)+16>>2]|0);k[c>>2]=(k[c>>2]|0)+1}if(!((i[(k[b>>2]|0)+4>>0]|0)!=0?(Br(k[(k[b>>2]|0)+72>>2]|0)|0)==0:0))wr(k[(k[b>>2]|0)+72>>2]|0);Ud(k[(k[b>>2]|0)+100>>2]|0);k[(k[b>>2]|0)+100>>2]=0;k[(k[b>>2]|0)+104>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=d;return}function Br(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[b>>2]>>2]|0)==4872|0}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;a=Yb[k[(k[k[e>>2]>>2]|0)+16>>2]&255](k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=d;return a|0}function Dr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+20>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Er(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+24|0;d=h+20|0;f=h+16|0;e=h+8|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;a=(k[c>>2]|0)+80|0;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){g=k[f>>2]|0;r=h;return g|0}j=(k[c>>2]|0)+168|0;b=k[j+4>>2]|0;a=e;k[a>>2]=k[j>>2];k[a+4>>2]=b;a=e;b=k[(k[c>>2]|0)+68>>2]|0;if((k[d>>2]|0)!=0|(k[a>>2]|0)==0&(k[a+4>>2]|0)==0){j=Cr(b,0,0)|0;k[f>>2]=j}else{j=Rg(b,26462,28,0,0)|0;k[f>>2]=j}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+7>>0]|0)==0:0){j=Dr(k[(k[c>>2]|0)+68>>2]|0,16|l[(k[c>>2]|0)+12>>0])|0;k[f>>2]=j}j=e;d=k[j+4>>2]|0;if(!((k[f>>2]|0)==0&((d|0)>0|(d|0)==0&(k[j>>2]|0)>>>0>0))){j=k[f>>2]|0;r=h;return j|0}j=dj(k[(k[c>>2]|0)+68>>2]|0,g)|0;k[f>>2]=j;if(k[f>>2]|0){j=k[f>>2]|0;r=h;return j|0}a=k[g+4>>2]|0;j=e;d=k[j+4>>2]|0;if(!((a|0)>(d|0)|((a|0)==(d|0)?(k[g>>2]|0)>>>0>(k[j>>2]|0)>>>0:0))){j=k[f>>2]|0;r=h;return j|0}j=e;j=Cr(k[(k[c>>2]|0)+68>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=h;return j|0}function Fr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=Yb[k[(k[g>>2]|0)+28>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Gr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(l[(k[d>>2]|0)+13>>0]|0){if(!(k[e>>2]|0)){k[c>>2]=0;break}if(k[k[(k[d>>2]|0)+64>>2]>>2]|0){a=(Tr(k[(k[d>>2]|0)+212>>2]|0)|0)>=25&1;k[c>>2]=a;break}else{k[c>>2]=0;break}}else k[c>>2]=1;while(0);r=f;return k[c>>2]|0}function Hr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[k[b>>2]>>2]|0;k[c>>2]=a;if(!a)break;oj(k[c>>2]|0)}r=d;return}function Ir(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-13;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Jr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+216>>2]|0)!=0|0}function Kr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+44>>0]|0)){r=c;return 0}Sr(k[b>>2]|0,0,1);i[(k[b>>2]|0)+44>>0]=0;k[(k[b>>2]|0)+104>>2]=0;i[(k[b>>2]|0)+47>>0]=0;r=c;return 0}function Lr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;h=j+24|0;e=j+8|0;f=j;i=j+20|0;g=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){i=k[h>>2]|0;r=j;return i|0}if((l[(k[c>>2]|0)+17>>0]|0|0)<4?(l[(k[c>>2]|0)+17>>0]|0|0)!=0:0){i=k[h>>2]|0;r=j;return i|0}k[i>>2]=k[(k[c>>2]|0)+160>>2];b=dj(k[(k[c>>2]|0)+64>>2]|0,e)|0;k[h>>2]=b;b=k[i>>2]|0;b=RR(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,0)|0;a=f;k[a>>2]=b;k[a+4>>2]=L;if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}b=e;a=f;if(!((k[b>>2]|0)!=(k[a>>2]|0)?1:(k[b+4>>2]|0)!=(k[a+4>>2]|0))){i=k[h>>2]|0;r=j;return i|0}b=e;n=k[b+4>>2]|0;a=f;m=k[a+4>>2]|0;if(!((n|0)>(m|0)|((n|0)==(m|0)?(k[b>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){b=e;m=k[i>>2]|0;m=GR(k[b>>2]|0,k[b+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;b=L;n=f;a=k[n+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?m>>>0<=(k[n>>2]|0)>>>0:0)){k[g>>2]=k[(k[c>>2]|0)+208>>2];KR(k[g>>2]|0,0,k[i>>2]|0)|0;a=k[(k[c>>2]|0)+64>>2]|0;g=k[g>>2]|0;m=k[i>>2]|0;n=k[i>>2]|0;n=FR(k[f>>2]|0,k[f+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Rg(a,g,m,n,L)|0;k[h>>2]=n}}else{n=f;n=Cr(k[(k[c>>2]|0)+64>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[h>>2]=n}if(k[h>>2]|0){n=k[h>>2]|0;r=j;return n|0}k[(k[c>>2]|0)+36>>2]=k[d>>2];n=k[h>>2]|0;r=j;return n|0}function Mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=k[c>>2]|0;if((k[d>>2]|0)>0){Qr(b,3+(j[(k[c>>2]|0)+40>>1]|0)|0);i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=(l[b+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}}if(!(i[(k[c>>2]|0)+43>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+43>>0]=0;if(Pr(k[c>>2]|0,3+(j[(k[c>>2]|0)+40>>1]|0)|0)|0)i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=(l[(k[c>>2]|0)+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}function Nr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Or(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if((l[(k[c>>2]|0)+18>>0]|0|0)==5){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+32>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function Pr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[d>>2]|0)+43>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{a=Rr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,1,6)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[c>>2]|0)+43>>0]|0){r=e;return}Rr(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0,1,5)|0;r=e;return}function Rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[k[i>>2]>>2]|0)+56>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function Sr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(i[(k[d>>2]|0)+43>>0]|0){r=g;return}Rr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0,9)|0;r=g;return}function Tr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e+8|0;c=e+4|0;b=e;k[f>>2]=a;k[c>>2]=0;a=kj(k[f>>2]|0)|0;k[b>>2]=a;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=k[(k[d>>2]|0)+32>>2]}if(!(k[b>>2]|0)){f=0;r=e;return f|0}d=k[c>>2]|0;d=RR(d|0,((d|0)<0)<<31>>31|0,100,0)|0;f=k[b>>2]|0;f=PR(d|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;r=e;return f|0}function Ur(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];_r(k[c>>2]|0);r=b;return 0}function Vr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=r;r=r+64|0;t=q+52|0;s=q+48|0;g=q+44|0;h=q+8|0;n=q+40|0;p=q+36|0;m=q+32|0;i=q+28|0;o=q+24|0;f=q;j=q+20|0;l=q+16|0;k[t>>2]=a;k[s>>2]=b;k[g>>2]=c;c=h;k[c>>2]=d;k[c+4>>2]=e;k[n>>2]=k[t>>2];k[p>>2]=k[s>>2];k[m>>2]=k[g>>2];c=(k[n>>2]|0)+40|0;a=h;b=h;a:do if(((k[c>>2]|0)!=(k[a>>2]|0)?1:(k[c+4>>2]|0)!=(k[a+4>>2]|0))|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){t=f;k[t>>2]=0;k[t+4>>2]=0;k[o>>2]=k[(k[n>>2]|0)+16>>2];while(1){if(!(k[o>>2]|0))break a;a=f;s=k[(k[n>>2]|0)+4>>2]|0;s=GR(k[a>>2]|0,k[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=L;t=h;b=k[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(k[t>>2]|0)>>>0:0)))break a;s=k[(k[n>>2]|0)+4>>2]|0;t=f;s=GR(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=f;k[t>>2]=s;k[t+4>>2]=L;k[o>>2]=k[k[o>>2]>>2]}}else k[o>>2]=k[(k[n>>2]|0)+40+8>>2];while(0);s=h;t=k[(k[n>>2]|0)+4>>2]|0;t=QR(k[s>>2]|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;k[i>>2]=t;do{k[j>>2]=(k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0);if((k[m>>2]|0)<((k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))d=k[m>>2]|0;else d=(k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[l>>2]=d;IR(k[p>>2]|0,(k[o>>2]|0)+4+(k[i>>2]|0)|0,k[l>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+(k[l>>2]|0);k[m>>2]=(k[m>>2]|0)-(k[j>>2]|0);k[i>>2]=0;if((k[m>>2]|0)<0)break;t=k[k[o>>2]>>2]|0;k[o>>2]=t}while((t|0)!=0&(k[m>>2]|0)>0);if(!(k[o>>2]|0)){m=0;t=0;s=k[n>>2]|0;s=s+40|0;p=s;k[p>>2]=m;s=s+4|0;k[s>>2]=t;s=k[o>>2]|0;t=k[n>>2]|0;t=t+40|0;t=t+8|0;k[t>>2]=s;r=q;return 0}t=h;m=k[g>>2]|0;m=GR(k[t>>2]|0,k[t+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;t=L;s=k[n>>2]|0;s=s+40|0;p=s;k[p>>2]=m;s=s+4|0;k[s>>2]=t;s=k[o>>2]|0;t=k[n>>2]|0;t=t+40|0;t=t+8|0;k[t>>2]=s;r=q;return 0}function Wr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;p=u+52|0;f=u+48|0;g=u+44|0;q=u+40|0;s=u;t=u+36|0;l=u+32|0;o=u+28|0;h=u+24|0;m=u+20|0;i=u+16|0;j=u+12|0;n=u+8|0;k[f>>2]=a;k[g>>2]=b;k[q>>2]=c;b=s;k[b>>2]=d;k[b+4>>2]=e;k[t>>2]=k[f>>2];k[l>>2]=k[q>>2];k[o>>2]=k[g>>2];if((k[(k[t>>2]|0)+8>>2]|0)>0?(e=k[q>>2]|0,a=s,a=GR(e|0,((e|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0,e=L,b=k[(k[t>>2]|0)+8>>2]|0,c=((b|0)<0)<<31>>31,(e|0)>(c|0)|(e|0)==(c|0)&a>>>0>b>>>0):0){t=$r(k[t>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){t=s;t=Rg(k[f>>2]|0,k[g>>2]|0,k[q>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;k[h>>2]=t}k[p>>2]=k[h>>2];t=k[p>>2]|0;r=u;return t|0}while(1){if((k[l>>2]|0)<=0){d=18;break}k[m>>2]=k[(k[t>>2]|0)+24+8>>2];h=(k[t>>2]|0)+24|0;b=k[(k[t>>2]|0)+4>>2]|0;b=QR(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[i>>2]=b;if((k[l>>2]|0)<((k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))d=k[l>>2]|0;else d=(k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[j>>2]=d;if(!(k[i>>2]|0)){b=Sd(12+((k[(k[t>>2]|0)+4>>2]|0)-8)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){d=12;break}k[k[n>>2]>>2]=0;d=k[n>>2]|0;if(k[m>>2]|0)k[k[m>>2]>>2]=d;else k[(k[t>>2]|0)+16>>2]=d;k[(k[t>>2]|0)+24+8>>2]=k[n>>2]}IR((k[(k[t>>2]|0)+24+8>>2]|0)+4+(k[i>>2]|0)|0,k[o>>2]|0,k[j>>2]|0)|0;k[o>>2]=(k[o>>2]|0)+(k[j>>2]|0);k[l>>2]=(k[l>>2]|0)-(k[j>>2]|0);h=k[j>>2]|0;b=(k[t>>2]|0)+24|0;a=b;h=GR(k[a>>2]|0,k[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;k[b>>2]=h;k[b+4>>2]=L}if((d|0)==12){k[p>>2]=3082;t=k[p>>2]|0;r=u;return t|0}else if((d|0)==18){q=k[q>>2]|0;s=GR(q|0,((q|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=s;k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}return 0}function Xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e;d=e+8|0;k[g>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[d>>2]=k[g>>2];a=f;if(!((k[a>>2]|0)==0&(k[a+4>>2]|0)==0)){r=e;return 0}_r(k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+24+8>>2]=0;g=(k[d>>2]|0)+24|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[d>>2]|0)+40+8>>2]=0;g=(k[d>>2]|0)+40|0;k[g>>2]=0;k[g+4>>2]=0;r=e;return 0}function Yr(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function Zr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+24|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function _r(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+16>>2]=0;r=e;return}function $r(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+112|0;d=l+96|0;j=l+92|0;i=l+88|0;e=l+8|0;g=l+84|0;f=l;h=l+80|0;k[d>>2]=a;k[i>>2]=k[d>>2];a=e;b=k[d>>2]|0;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));a=k[d>>2]|0;c=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));c=as(k[e+60>>2]|0,k[e+64>>2]|0,k[i>>2]|0,k[e+56>>2]|0,0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[g>>2]=k[e+4>>2];c=f;k[c>>2]=0;k[c+4>>2]=0;k[h>>2]=k[e+16>>2];while(1){if(!(k[h>>2]|0))break;m=f;b=k[g>>2]|0;b=GR(k[m>>2]|0,k[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;m=L;c=e+24|0;a=k[c+4>>2]|0;if((m|0)>(a|0)|((m|0)==(a|0)?b>>>0>(k[c>>2]|0)>>>0:0)){c=e+24|0;m=f;m=FR(k[c>>2]|0,k[c+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m}m=f;m=Rg(k[i>>2]|0,(k[h>>2]|0)+4|0,k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0)break;c=k[g>>2]|0;m=f;c=GR(k[m>>2]|0,k[m+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;m=f;k[m>>2]=c;k[m+4>>2]=L;k[h>>2]=k[k[h>>2]>>2]}if(!(k[j>>2]|0))_r(e)}if(!(k[j>>2]|0)){m=k[j>>2]|0;r=l;return m|0}wr(k[i>>2]|0);a=k[d>>2]|0;b=e;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));m=k[j>>2]|0;r=l;return m|0}function as(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=hc[k[(k[m>>2]|0)+24>>2]&255](k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]&556927,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function bs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l+24|0;d=l+20|0;e=l+16|0;j=l+12|0;f=l+8|0;g=l+4|0;i=l;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[j>>2]=k[(k[h>>2]|0)+44>>2];if(k[j>>2]|0){j=k[j>>2]|0;r=l;return j|0}if((k[e>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0)){j=k[j>>2]|0;r=l;return j|0}k[g>>2]=(k[e>>2]|0)+((k[d>>2]|0)==1?0:1);k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0))break;xj(k[(k[(k[h>>2]|0)+100>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0);k[f>>2]=(k[f>>2]|0)+1}k[(k[h>>2]|0)+104>>2]=k[g>>2];if((k[d>>2]|0)!=1){if((Jr(k[h>>2]|0)|0)==0?(k[k[(k[h>>2]|0)+68>>2]>>2]|0)==0:0){j=k[j>>2]|0;r=l;return j|0}if(!(k[g>>2]|0))d=0;else d=(k[(k[h>>2]|0)+100>>2]|0)+(((k[g>>2]|0)-1|0)*48|0)|0;k[i>>2]=d;i=ys(k[h>>2]|0,k[i>>2]|0)|0;k[j>>2]=i;j=k[j>>2]|0;r=l;return j|0}if(k[g>>2]|0){j=k[j>>2]|0;r=l;return j|0}if(!(k[k[(k[h>>2]|0)+72>>2]>>2]|0)){j=k[j>>2]|0;r=l;return j|0}if(Br(k[(k[h>>2]|0)+72>>2]|0)|0){i=Cr(k[(k[h>>2]|0)+72>>2]|0,0,0)|0;k[j>>2]=i}k[(k[h>>2]|0)+56>>2]=0;j=k[j>>2]|0;r=l;return j|0}function cs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;q=t+8|0;j=t+56|0;m=t+52|0;f=t+48|0;g=t;d=t+44|0;h=t+40|0;c=t+36|0;o=t+32|0;p=t+28|0;s=t+24|0;e=t+20|0;n=t+16|0;k[j>>2]=a;k[m>>2]=b;k[f>>2]=k[k[j>>2]>>2];k[c>>2]=0;k[p>>2]=1;k[s>>2]=0;k[n>>2]=0;a=dj(k[(k[j>>2]|0)+68>>2]|0,g)|0;k[o>>2]=a;a:do if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];a=ds(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(i[k[s>>2]>>0]|0)!=0:0){f=es(k[f>>2]|0,k[s>>2]|0,0,p)|0;k[o>>2]=f}k[s>>2]=0;if((k[o>>2]|0)==0&(k[p>>2]|0)!=0){f=(k[j>>2]|0)+80|0;k[f>>2]=0;k[f+4>>2]=0;k[e>>2]=k[m>>2];b:while(1){f=g;f=fs(k[j>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0,d,c)|0;k[o>>2]=f;if(k[o>>2]|0){b=8;break}if((k[d>>2]|0)==-1){a=g;a=FR(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=PR(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}if(!((k[d>>2]|0)!=0|(k[m>>2]|0)!=0)?(a=(k[j>>2]|0)+88|0,a=GR(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0,f=(k[j>>2]|0)+80|0,(a|0)==(k[f>>2]|0)?(L|0)==(k[f+4>>2]|0):0):0){f=g;a=(k[j>>2]|0)+80|0;a=FR(k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=PR(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}f=(k[j>>2]|0)+80|0;if((k[f+4>>2]|0)==0?(k[f>>2]|0)==(k[(k[j>>2]|0)+156>>2]|0):0){f=Lr(k[j>>2]|0,k[c>>2]|0)|0;k[o>>2]=f;if(k[o>>2]|0)break a;k[(k[j>>2]|0)+28>>2]=k[c>>2]}k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=(k[d>>2]|0)>>>0)continue b;if(k[e>>2]|0){fj(k[j>>2]|0);k[e>>2]=0}f=gs(k[j>>2]|0,(k[j>>2]|0)+80|0,0,1,0)|0;k[o>>2]=f;if(k[o>>2]|0)break;k[n>>2]=(k[n>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[o>>2]|0)!=101){b=26;break}b=g;a=k[b+4>>2]|0;f=(k[j>>2]|0)+80|0;k[f>>2]=k[b>>2];k[f+4>>2]=a}if((b|0)==8){if((k[o>>2]|0)!=101)break;k[o>>2]=0;break}else if((b|0)==26){if((k[o>>2]|0)!=522)break;k[o>>2]=0;break}}}while(0);i[(k[j>>2]|0)+19>>0]=i[(k[j>>2]|0)+13>>0]|0;if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];h=ds(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=h}do if(!(k[o>>2]|0)){if((l[(k[j>>2]|0)+17>>0]|0)<4?(l[(k[j>>2]|0)+17>>0]|0)!=0:0)break;h=Tg(k[j>>2]|0,0)|0;k[o>>2]=h}while(0);if(!(k[o>>2]|0)){h=zr(k[j>>2]|0,(i[k[s>>2]>>0]|0)!=0&1,0)|0;k[o>>2]=h}if((k[o>>2]|0)==0?((k[p>>2]|0)!=0?(i[k[s>>2]>>0]|0)!=0:0):0){s=hs(k[j>>2]|0,k[s>>2]|0)|0;k[o>>2]=s}if(!((k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){s=k[j>>2]|0;is(s);s=k[o>>2]|0;r=t;return s|0}s=k[(k[j>>2]|0)+180>>2]|0;k[q>>2]=k[n>>2];k[q+4>>2]=s;$d(539,26490,q);s=k[j>>2]|0;is(s);s=k[o>>2]|0;r=t;return s|0}function ds(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;m=p+20|0;l=p+16|0;n=p;j=p+12|0;o=p+8|0;h=p+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[k[f>>2]>>0]=0;c=dj(k[e>>2]|0,n)|0;k[m>>2]=c;b=n;a=k[b+4>>2]|0;if((((((!(0!=(c|0)|((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<16))?(a=k[e>>2]|0,b=n,b=FR(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=ns(a,b,L,l)|0,k[m>>2]=b,0==(b|0)):0)?!((k[l>>2]|0)==0?1:(k[l>>2]|0)>>>0>=(k[g>>2]|0)>>>0):0)?(a=k[e>>2]|0,b=n,b=FR(k[b>>2]|0,k[b+4>>2]|0,12,0)|0,b=ns(a,b,L,j)|0,k[m>>2]=b,0==(b|0)):0)?(a=k[e>>2]|0,b=n,b=FR(k[b>>2]|0,k[b+4>>2]|0,8,0)|0,b=ms(a,h,8,b,L)|0,k[m>>2]=b,0==(b|0)):0)?(VQ(h,26517,8)|0)==0:0)?(h=k[e>>2]|0,c=k[f>>2]|0,a=k[l>>2]|0,b=n,b=FR(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=FR(b|0,L|0,k[l>>2]|0,0)|0,b=ms(h,c,a,b,L)|0,k[m>>2]=b,0==(b|0)):0){k[o>>2]=0;while(1){if((k[o>>2]|0)>>>0>=(k[l>>2]|0)>>>0)break;k[j>>2]=(k[j>>2]|0)-(i[(k[f>>2]|0)+(k[o>>2]|0)>>0]|0);k[o>>2]=(k[o>>2]|0)+1}if(k[j>>2]|0)k[l>>2]=0;i[(k[f>>2]|0)+(k[l>>2]|0)>>0]=0;k[d>>2]=0;b=k[d>>2]|0;r=p;return b|0}k[d>>2]=k[m>>2];b=k[d>>2]|0;r=p;return b|0}function es(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[i>>2]|0)+32>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function fs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;g=s+44|0;h=s+40|0;i=s+36|0;t=s+8|0;j=s+32|0;l=s+28|0;q=s+24|0;m=s+48|0;n=s;o=s+20|0;p=s+16|0;k[h>>2]=a;k[i>>2]=b;b=t;k[b>>2]=c;k[b+4>>2]=d;k[j>>2]=e;k[l>>2]=f;b=xs(k[h>>2]|0)|0;e=(k[h>>2]|0)+80|0;k[e>>2]=b;k[e+4>>2]=L;e=(k[h>>2]|0)+80|0;e=GR(k[e>>2]|0,k[e+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;b=L;a=t;f=k[a+4>>2]|0;if((b|0)>(f|0)|((b|0)==(f|0)?e>>>0>(k[a>>2]|0)>>>0:0)){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}e=(k[h>>2]|0)+80|0;a=k[e+4>>2]|0;t=n;k[t>>2]=k[e>>2];k[t+4>>2]=a;if(!((k[i>>2]|0)==0?(a=n,t=(k[h>>2]|0)+88|0,!((k[a>>2]|0)!=(k[t>>2]|0)?1:(k[a+4>>2]|0)!=(k[t+4>>2]|0))):0)){t=n;t=ms(k[(k[h>>2]|0)+68>>2]|0,m,8,k[t>>2]|0,k[t+4>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}if(VQ(m,26517,8)|0){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}}a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=GR(k[t>>2]|0,k[t+4>>2]|0,8,0)|0;t=ns(a,t,L,k[j>>2]|0)|0;k[q>>2]=t;if((0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=GR(k[t>>2]|0,k[t+4>>2]|0,12,0)|0,t=ns(a,t,L,(k[h>>2]|0)+52|0)|0,k[q>>2]=t,0==(t|0)):0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=GR(k[t>>2]|0,k[t+4>>2]|0,16,0)|0,t=ns(a,t,L,k[l>>2]|0)|0,k[q>>2]=t,0==(t|0)):0){t=(k[h>>2]|0)+80|0;do if((k[t>>2]|0)==0&(k[t+4>>2]|0)==0){a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=GR(k[t>>2]|0,k[t+4>>2]|0,20,0)|0;t=ns(a,t,L,p)|0;k[q>>2]=t;if(0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=GR(k[t>>2]|0,k[t+4>>2]|0,24,0)|0,t=ns(a,t,L,o)|0,k[q>>2]=t,0==(t|0)):0){if(!(k[o>>2]|0))k[o>>2]=k[(k[h>>2]|0)+160>>2];if((!((k[o>>2]|0)>>>0<512|(k[p>>2]|0)>>>0<32|(k[o>>2]|0)>>>0>65536|(k[p>>2]|0)>>>0>65536)?((k[o>>2]|0)-1&k[o>>2]|0)==0:0)?((k[p>>2]|0)-1&k[p>>2]|0)==0:0){t=bj(k[h>>2]|0,o,-1)|0;k[q>>2]=t;k[(k[h>>2]|0)+156>>2]=k[p>>2];break}k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}while(0);t=(k[h>>2]|0)+80|0;a=t;a=GR(k[a>>2]|0,k[a+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;k[t>>2]=a;k[t+4>>2]=L;k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}function gs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+64|0;y=B+60|0;p=B+56|0;f=B+52|0;g=B+48|0;q=B+44|0;h=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;n=B+24|0;s=B+20|0;o=B+16|0;t=B+12|0;u=B;x=B+8|0;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=e;k[s>>2]=k[(k[p>>2]|0)+208>>2];d=k[p>>2]|0;if(k[q>>2]|0)d=k[d+68>>2]|0;else d=k[d+72>>2]|0;k[o>>2]=d;a=k[f>>2]|0;a=ns(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0,v)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}e=k[o>>2]|0;c=k[s>>2]|0;b=k[(k[p>>2]|0)+160>>2]|0;a=k[f>>2]|0;a=GR(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;a=ms(e,c,b,a,L)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}b=(k[(k[p>>2]|0)+160>>2]|0)+4+(k[q>>2]<<2)|0;a=k[f>>2]|0;c=a;b=GR(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[a>>2]=b;k[a+4>>2]=L;if((k[v>>2]|0)!=0?(k[v>>2]|0)!=(((k[381]|0)/(k[(k[p>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[v>>2]|0)>>>0<=(k[(k[p>>2]|0)+28>>2]|0)>>>0?(vj(k[g>>2]|0,k[v>>2]|0)|0)==0:0){if(k[q>>2]|0){a=k[o>>2]|0;o=k[f>>2]|0;o=FR(k[o>>2]|0,k[o+4>>2]|0,4,0)|0;o=ns(a,o,L,n)|0;k[A>>2]=o;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[h>>2]|0)==0?(o=os(k[p>>2]|0,k[s>>2]|0)|0,(o|0)!=(k[n>>2]|0)):0){k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}}if((k[g>>2]|0)!=0?(o=tj(k[g>>2]|0,k[v>>2]|0)|0,k[A>>2]=o,(o|0)!=0):0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[v>>2]|0)==1?(j[(k[p>>2]|0)+150>>1]|0)!=(l[(k[s>>2]|0)+20>>0]|0):0)j[(k[p>>2]|0)+150>>1]=l[(k[s>>2]|0)+20>>0]|0;if(Jr(k[p>>2]|0)|0)k[z>>2]=0;else{o=ps(k[p>>2]|0,k[v>>2]|0)|0;k[z>>2]=o}if(k[q>>2]|0){if(l[(k[p>>2]|0)+7>>0]|0)d=1;else{o=k[f>>2]|0;h=k[o+4>>2]|0;d=(k[p>>2]|0)+88|0;n=k[d+4>>2]|0;d=(h|0)<(n|0)|((h|0)==(n|0)?(k[o>>2]|0)>>>0<=(k[d>>2]|0)>>>0:0)}k[t>>2]=d&1}else{if(!(k[z>>2]|0))d=1;else d=0==(m[(k[z>>2]|0)+24>>1]&8|0);k[t>>2]=d&1}do if(k[k[(k[p>>2]|0)+64>>2]>>2]|0){if((l[(k[p>>2]|0)+17>>0]|0)>=4){if(!(k[t>>2]|0)){w=44;break}}else if(!((k[t>>2]|0)!=0?(l[(k[p>>2]|0)+17>>0]|0)==0:0)){w=44;break}o=k[(k[p>>2]|0)+160>>2]|0;o=RR((k[v>>2]|0)-1|0,0,o|0,((o|0)<0)<<31>>31|0)|0;t=u;k[t>>2]=o;k[t+4>>2]=L;u=Rg(k[(k[p>>2]|0)+64>>2]|0,k[s>>2]|0,k[(k[p>>2]|0)+160>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[A>>2]=u;if((k[v>>2]|0)>>>0>(k[(k[p>>2]|0)+36>>2]|0)>>>0)k[(k[p>>2]|0)+36>>2]=k[v>>2];if(k[(k[p>>2]|0)+96>>2]|0){qs(k[(k[p>>2]|0)+96>>2]|0,k[v>>2]|0,k[s>>2]|0);k[s>>2]=k[s>>2]}}else w=44;while(0);do if((w|0)==44?(k[q>>2]|0)==0&(k[z>>2]|0)==0:0){w=(k[p>>2]|0)+21|0;i[w>>0]=l[w>>0]|2;w=Eg(k[p>>2]|0,k[v>>2]|0,z,1)|0;k[A>>2]=w;w=(k[p>>2]|0)+21|0;i[w>>0]=l[w>>0]&-3;if(!(k[A>>2]|0)){rs(k[z>>2]|0);break}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}while(0);if(k[z>>2]|0){k[x>>2]=k[(k[z>>2]|0)+4>>2];IR(k[x>>2]|0,k[s>>2]|0,k[(k[p>>2]|0)+160>>2]|0)|0;_b[k[(k[p>>2]|0)+204>>2]&255](k[z>>2]|0);if((k[v>>2]|0)==1){c=(k[p>>2]|0)+112|0;d=(k[x>>2]|0)+24|0;e=c+16|0;do{i[c>>0]=i[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0))}ss(k[z>>2]|0)}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}k[y>>2]=0;A=k[y>>2]|0;r=B;return A|0}k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}function hs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;t=s+60|0;c=s+56|0;m=s+52|0;n=s+48|0;l=s+44|0;j=s+40|0;p=s+36|0;g=s;o=s+32|0;q=s+28|0;h=s+24|0;e=s+16|0;d=s+12|0;f=s+8|0;k[t>>2]=a;k[c>>2]=b;k[m>>2]=k[k[t>>2]>>2];k[p>>2]=0;b=k[(k[m>>2]|0)+4>>2]<<1;b=ug(b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;k[j>>2]=(k[l>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0);if(k[l>>2]|0){k[s+20>>2]=16385;t=as(k[m>>2]|0,k[c>>2]|0,k[l>>2]|0,16385,0)|0;k[n>>2]=t}else k[n>>2]=7;a:do if((k[n>>2]|0)==0?(t=dj(k[l>>2]|0,g)|0,k[n>>2]=t,(k[n>>2]|0)==0):0){k[h>>2]=(k[(k[m>>2]|0)+8>>2]|0)+1;b=g;t=k[h>>2]|0;t=GR(k[b>>2]|0,k[b+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=GR(t|0,L|0,1,0)|0;t=jg(t,L)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[n>>2]=7;break}t=g;t=GR(k[t>>2]|0,k[t+4>>2]|0,1,0)|0;k[q>>2]=(k[p>>2]|0)+t;t=ms(k[l>>2]|0,k[p>>2]|0,k[g>>2]|0,0,0)|0;k[n>>2]=t;if(!(k[n>>2]|0)){i[(k[p>>2]|0)+(k[g>>2]|0)>>0]=0;k[o>>2]=k[p>>2];while(1){b=(k[o>>2]|0)-(k[p>>2]|0)|0;u=((b|0)<0)<<31>>31;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?b>>>0<(k[t>>2]|0)>>>0:0)))break;u=es(k[m>>2]|0,k[o>>2]|0,0,e)|0;k[n>>2]=u;if(k[n>>2]|0)break a;if(k[e>>2]|0){k[f>>2]=2049;u=as(k[m>>2]|0,k[o>>2]|0,k[j>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=u;if(k[n>>2]|0)break a;u=ds(k[j>>2]|0,k[q>>2]|0,k[h>>2]|0)|0;k[n>>2]=u;wr(k[j>>2]|0);if(k[n>>2]|0)break a;if(i[k[q>>2]>>0]|0)a=(YQ(k[q>>2]|0,k[c>>2]|0)|0)==0;else a=0;k[d>>2]=a&1;if(k[d>>2]|0)break a}u=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+u}wr(k[l>>2]|0);u=Fr(k[m>>2]|0,k[c>>2]|0,0)|0;k[n>>2]=u}}while(0);Ud(k[p>>2]|0);if(!(k[l>>2]|0)){u=k[n>>2]|0;r=s;return u|0}wr(k[l>>2]|0);Ud(k[l>>2]|0);u=k[n>>2]|0;r=s;return u|0}function is(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+13>>0]|0|0)==0?((js(k[(k[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=ks(k[(k[b>>2]|0)+64>>2]|0)|0;k[(k[b>>2]|0)+156>>2]=a;r=c;return}k[(k[b>>2]|0)+156>>2]=512;r=c;return}function js(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[(k[k[c>>2]>>2]|0)+48>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function ks(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=ls(k[d>>2]|0)|0;k[b>>2]=a;if((k[b>>2]|0)>=32){if((k[b>>2]|0)>65536)k[b>>2]=65536}else k[b>>2]=512;r=c;return k[b>>2]|0}function ls(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[k[b>>2]>>2]|0)+44>>2];if(!(k[c>>2]|0)){c=4096;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function ms(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+8>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;i=h+16|0;j=h;e=h+12|0;f=h+20|0;g=h+8|0;k[i>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=d;d=j;d=ms(k[i>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;r=h;return j|0}j=or(f)|0;k[k[e>>2]>>2]=j;j=k[g>>2]|0;r=h;return j|0}function os(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[g>>2]|0)+52>>2];k[e>>2]=(k[(k[g>>2]|0)+160>>2]|0)-200;while(1){if((k[e>>2]|0)<=0)break;k[d>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0);k[e>>2]=(k[e>>2]|0)-200}r=f;return k[d>>2]|0}function ps(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=us(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}else{b=vs(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}return 0}function qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}ts(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function rs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+24>>1]|0)&17)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-17;if(!((m[(k[b>>2]|0)+24>>1]|0)&1)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)^3;pj(k[b>>2]|0,2);r=c;return}function ss(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;d=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[d>>2]=(k[d>>2]|0)+-1;d=(k[b>>2]|0)+26|0;a=(j[d>>1]|0)+-1<<16>>16;j[d>>1]=a;if(a<<16>>16){r=c;return}a=k[b>>2]|0;if((m[(k[b>>2]|0)+24>>1]|0)&1){qj(a);r=c;return}if(!(k[a+36>>2]|0)){r=c;return}pj(k[b>>2]|0,3);r=c;return}function ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do{if(((xg(k[(k[d>>2]|0)+28>>2]|0)|0)==0?(k[e>>2]|0)>>>0<(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=Gg(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1)|0,k[g>>2]=a,(k[g>>2]|0)!=0):0)k[(k[d>>2]|0)+28>>2]=k[g>>2];a=k[(k[d>>2]|0)+44>>2]|0;k[d>>2]=a}while((a|0)!=0);r=h;return}function us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;h=e+16|0;g=e+12|0;i=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=k[i>>2]&(l[(k[h>>2]|0)+33>>0]|0);b=Yb[k[144>>2]&255](k[(k[h>>2]|0)+44>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function vs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[i>>2]|0;if(k[k[g>>2]>>2]|0){i=a+12|0;k[i>>2]=(k[i>>2]|0)+1;i=(k[g>>2]|0)+26|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16;k[d>>2]=k[g>>2];i=k[d>>2]|0;r=h;return i|0}else{i=ws(a,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}return 0}function ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[g>>2]|0;c=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));k[k[g>>2]>>2]=k[f>>2];k[(k[g>>2]|0)+4>>2]=k[k[f>>2]>>2];k[(k[g>>2]|0)+8>>2]=(k[g>>2]|0)+40;KR(k[(k[g>>2]|0)+8>>2]|0,0,k[(k[d>>2]|0)+28>>2]|0)|0;k[(k[g>>2]|0)+28>>2]=k[d>>2];k[(k[g>>2]|0)+20>>2]=k[e>>2];j[(k[g>>2]|0)+24>>1]=1;g=vs(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=h;return g|0}function xs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+32|0;b=e+16|0;d=e+8|0;c=e;k[b>>2]=a;g=d;k[g>>2]=0;k[g+4>>2]=0;g=(k[b>>2]|0)+80|0;f=k[g+4>>2]|0;a=c;k[a>>2]=k[g>>2];k[a+4>>2]=f;a=c;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}g=c;g=FR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;g=PR(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;g=GR(g|0,L|0,1,0)|0;g=RR(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}function ys(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;c=s+56|0;d=s+52|0;e=s+48|0;p=s+16|0;g=s+8|0;o=s+44|0;n=s+40|0;h=s+36|0;l=s+32|0;f=s+28|0;j=s+24|0;m=s;k[d>>2]=a;k[e>>2]=b;k[o>>2]=0;k[n>>2]=0;if((k[e>>2]|0)!=0?(b=sj(k[(k[e>>2]|0)+20>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)==0):0){k[c>>2]=7;q=k[c>>2]|0;r=s;return q|0}if(k[e>>2]|0)a=k[(k[e>>2]|0)+20>>2]|0;else a=k[(k[d>>2]|0)+32>>2]|0;k[(k[d>>2]|0)+28>>2]=a;i[(k[d>>2]|0)+19>>0]=i[(k[d>>2]|0)+13>>0]|0;if((k[e>>2]|0)==0?(Jr(k[d>>2]|0)|0)!=0:0){q=zs(k[d>>2]|0)|0;k[c>>2]=q;q=k[c>>2]|0;r=s;return q|0}t=(k[d>>2]|0)+80|0;a=k[t+4>>2]|0;b=p;k[b>>2]=k[t>>2];k[b+4>>2]=a;a:do if((k[e>>2]|0)!=0?(Jr(k[d>>2]|0)|0)==0:0){t=(k[e>>2]|0)+8|0;if((k[t>>2]|0)!=0|(k[t+4>>2]|0)!=0){b=(k[e>>2]|0)+8|0;a=k[b>>2]|0;b=k[b+4>>2]|0}else{b=p;a=k[b>>2]|0;b=k[b+4>>2]|0}t=g;k[t>>2]=a;k[t+4>>2]=b;a=k[e>>2]|0;b=k[a+4>>2]|0;t=(k[d>>2]|0)+80|0;k[t>>2]=k[a>>2];k[t+4>>2]=b;while(1){if(k[o>>2]|0)break a;b=(k[d>>2]|0)+80|0;u=k[b+4>>2]|0;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?(k[b>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)))break a;u=gs(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u}}else q=19;while(0);if((q|0)==19){u=(k[d>>2]|0)+80|0;k[u>>2]=0;k[u+4>>2]=0}b:while(1){if(k[o>>2]|0)break;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))break;k[l>>2]=0;u=p;u=fs(k[d>>2]|0,0,k[u>>2]|0,k[u+4>>2]|0,l,f)|0;k[o>>2]=u;if((k[l>>2]|0)==0?(t=(k[d>>2]|0)+88|0,t=GR(k[t>>2]|0,k[t+4>>2]|0,k[(k[d>>2]|0)+156>>2]|0,0)|0,u=(k[d>>2]|0)+80|0,(t|0)==(k[u>>2]|0)?(L|0)==(k[u+4>>2]|0):0):0){u=p;t=(k[d>>2]|0)+80|0;t=FR(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;u=(k[(k[d>>2]|0)+160>>2]|0)+8|0;u=PR(t|0,L|0,u|0,((u|0)<0)<<31>>31|0)|0;k[l>>2]=u}k[h>>2]=0;while(1){if(k[o>>2]|0)continue b;if((k[h>>2]|0)>>>0>=(k[l>>2]|0)>>>0)continue b;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))continue b;u=gs(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u;k[h>>2]=(k[h>>2]|0)+1}}c:do if(k[e>>2]|0){t=4+(k[(k[d>>2]|0)+160>>2]|0)|0;t=RR(k[(k[e>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;k[u>>2]=t;k[u+4>>2]=L;if(Jr(k[d>>2]|0)|0){u=As(k[(k[d>>2]|0)+216>>2]|0,(k[e>>2]|0)+28|0)|0;k[o>>2]=u}k[j>>2]=k[(k[e>>2]|0)+24>>2];while(1){if(k[o>>2]|0)break c;if((k[j>>2]|0)>>>0>=(k[(k[d>>2]|0)+56>>2]|0)>>>0)break c;u=gs(k[d>>2]|0,m,k[n>>2]|0,0,1)|0;k[o>>2]=u;k[j>>2]=(k[j>>2]|0)+1}}while(0);xj(k[n>>2]|0);if(!(k[o>>2]|0)){q=p;t=k[q+4>>2]|0;u=(k[d>>2]|0)+80|0;k[u>>2]=k[q>>2];k[u+4>>2]=t}k[c>>2]=k[o>>2];u=k[c>>2]|0;r=s;return u|0}function zs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[(k[b>>2]|0)+28>>2]=k[(k[b>>2]|0)+32>>2];a=Hs(k[(k[b>>2]|0)+216>>2]|0,187,k[b>>2]|0)|0;k[e>>2]=a;a=Is(k[(k[b>>2]|0)+212>>2]|0)|0;k[c>>2]=a;while(1){if(!((k[c>>2]|0)!=0?(k[e>>2]|0)==0:0))break;k[d>>2]=k[(k[c>>2]|0)+12>>2];a=Gs(k[b>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=a;k[c>>2]=k[d>>2]}r=f;return k[e>>2]|0}function As(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[d>>2]|0)+12>>2]|0)!=(k[(k[c>>2]|0)+112>>2]|0)){k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+112>>2]}if((k[k[d>>2]>>2]|0)>>>0>=(k[(k[c>>2]|0)+52+16>>2]|0)>>>0){e=k[e>>2]|0;r=f;return e|0}k[(k[c>>2]|0)+52+16>>2]=k[k[d>>2]>>2];k[(k[c>>2]|0)+52+24>>2]=k[(k[d>>2]|0)+4>>2];k[(k[c>>2]|0)+52+24+4>>2]=k[(k[d>>2]|0)+8>>2];Bs(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function Bs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;d=i+16|0;g=i+12|0;f=i+8|0;h=i+4|0;e=i;k[b>>2]=a;k[c>>2]=0;k[d>>2]=0;k[g>>2]=0;k[f>>2]=0;if(!(k[(k[b>>2]|0)+52+16>>2]|0)){r=i;return}a=k[b>>2]|0;Ds(a,Cs(k[(k[b>>2]|0)+52+16>>2]|0)|0,c,d,g)|0;k[f>>2]=(k[(k[b>>2]|0)+52+16>>2]|0)-(k[g>>2]|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=8192)break;if((m[(k[c>>2]|0)+(k[e>>2]<<1)>>1]|0|0)>(k[f>>2]|0))j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=0;k[e>>2]=(k[e>>2]|0)+1}k[h>>2]=(k[c>>2]|0)-((k[d>>2]|0)+((k[f>>2]|0)+1<<2));KR((k[d>>2]|0)+((k[f>>2]|0)+1<<2)|0,0,k[h>>2]|0)|0;r=i;return}function Cs(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(((k[d>>2]|0)+4096-4062-1|0)>>>0)/4096|0;r=c;return k[b>>2]|0}function Ds(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;p=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;n=o+12|0;l=o+8|0;m=o+4|0;j=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;e=Es(k[p>>2]|0,k[f>>2]|0,l)|0;k[n>>2]=e;if(k[n>>2]|0){p=k[n>>2]|0;r=o;return p|0}k[j>>2]=(k[l>>2]|0)+16384;if(!(k[f>>2]|0)){k[l>>2]=(k[l>>2]|0)+136;k[m>>2]=0}else k[m>>2]=4062+((k[f>>2]|0)-1<<12);k[k[h>>2]>>2]=(k[l>>2]|0)+-4;k[k[g>>2]>>2]=k[j>>2];k[k[i>>2]>>2]=k[m>>2];p=k[n>>2]|0;r=o;return p|0}function Es(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;m=n+8|0;j=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;do if((k[(k[e>>2]|0)+24>>2]|0)<=(k[f>>2]|0)){k[j>>2]=(k[f>>2]|0)+1<<2;c=k[j>>2]|0;c=Wd(k[(k[e>>2]|0)+32>>2]|0,c,((c|0)<0)<<31>>31)|0;k[h>>2]=c;if(k[h>>2]|0){KR((k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0,0,(k[f>>2]|0)+1-(k[(k[e>>2]|0)+24>>2]|0)<<2|0)|0;k[(k[e>>2]|0)+32>>2]=k[h>>2];k[(k[e>>2]|0)+24>>2]=(k[f>>2]|0)+1;break}k[k[g>>2]>>2]=0;k[d>>2]=7;m=k[d>>2]|0;r=n;return m|0}while(0);do if(!(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0))if((l[(k[e>>2]|0)+43>>0]|0|0)==2){c=ug(32768,0)|0;k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]=c;if(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0)break;k[m>>2]=7;break}else{c=Fs(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,32768,l[(k[e>>2]|0)+44>>0]|0,(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)|0)|0;k[m>>2]=c;if((k[m>>2]|0)!=8)break;c=(k[e>>2]|0)+46|0;i[c>>0]=l[c>>0]|0|2;k[m>>2]=0;break}while(0);k[k[g>>2]>>2]=k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[d>>2]=k[m>>2];m=k[d>>2]|0;r=n;return m|0}function Fs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=hc[k[(k[k[l>>2]>>2]|0)+52>>2]&255](k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return e|0}function Gs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;i=g+20|0;h=g+16|0;f=g+12|0;d=g+8|0;e=g+4|0;c=g;k[i>>2]=a;k[h>>2]=b;k[f>>2]=0;k[d>>2]=k[i>>2];a=ps(k[d>>2]|0,k[h>>2]|0)|0;k[e>>2]=a;do if(k[e>>2]|0){if((Ns(k[e>>2]|0)|0)==1){Os(k[e>>2]|0);break}k[c>>2]=0;i=Ps(k[(k[d>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+20>>2]|0,c)|0;k[f>>2]=i;if(!(k[f>>2]|0)){i=Qs(k[e>>2]|0,k[c>>2]|0)|0;k[f>>2]=i}if(!(k[f>>2]|0))_b[k[(k[d>>2]|0)+204>>2]&255](k[e>>2]|0);Rs(k[e>>2]|0)}while(0);lj(k[(k[d>>2]|0)+96>>2]|0);r=g;return k[f>>2]|0}function Hs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(i[(k[d>>2]|0)+44>>0]|0)){j=k[j>>2]|0;r=l;return j|0}k[h>>2]=k[(k[d>>2]|0)+52+16>>2];c=(k[d>>2]|0)+52|0;a=Ls(k[d>>2]|0)|0;b=c+48|0;do{i[c>>0]=i[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(b|0));k[g>>2]=(k[(k[d>>2]|0)+52+16>>2]|0)+1;while(1){if(k[j>>2]|0)break;if((k[g>>2]|0)>>>0>(k[h>>2]|0)>>>0)break;c=k[e>>2]|0;a=k[f>>2]|0;b=Ms(k[d>>2]|0,k[g>>2]|0)|0;b=gc[c&255](a,b)|0;k[j>>2]=b;k[g>>2]=(k[g>>2]|0)+1}if((k[h>>2]|0)==(k[(k[d>>2]|0)+52+16>>2]|0)){j=k[j>>2]|0;r=l;return j|0}Bs(k[d>>2]|0);j=k[j>>2]|0;r=l;return j|0}function Is(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32>>2];k[c>>2]=k[(k[c>>2]|0)+32>>2]}a=Js(k[k[b>>2]>>2]|0)|0;r=d;return a|0}function Js(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+144|0;c=h+136|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;a=e;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(k[c>>2]|0))break;k[g>>2]=k[c>>2];k[c>>2]=k[(k[g>>2]|0)+12>>2];k[(k[g>>2]|0)+12>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=31)break;if(!(k[e+(k[f>>2]<<2)>>2]|0)){d=6;break}b=Ks(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;k[e+(k[f>>2]<<2)>>2]=0;k[f>>2]=(k[f>>2]|0)+1}if((d|0)==6){d=0;k[e+(k[f>>2]<<2)>>2]=k[g>>2]}if((k[f>>2]|0)!=31)continue;b=Ks(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[e+(k[f>>2]<<2)>>2]=b}k[g>>2]=k[e>>2];k[f>>2]=1;while(1){a=k[g>>2]|0;if((k[f>>2]|0)>=32)break;d=Ks(a,k[e+(k[f>>2]<<2)>>2]|0)|0;k[g>>2]=d;k[f>>2]=(k[f>>2]|0)+1}r=h;return a|0}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;c=g+52|0;d=g+48|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=f;while(1){a=k[c>>2]|0;if(!((k[c>>2]|0)!=0?(k[d>>2]|0)!=0:0))break;if((k[a+20>>2]|0)>>>0<(k[(k[d>>2]|0)+20>>2]|0)>>>0){k[(k[e>>2]|0)+12>>2]=k[c>>2];k[e>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+12>>2];continue}else{k[(k[e>>2]|0)+12>>2]=k[d>>2];k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+12>>2];continue}}if(a){k[(k[e>>2]|0)+12>>2]=k[c>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}if(k[d>>2]|0){k[(k[e>>2]|0)+12>>2]=k[d>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}else{k[(k[e>>2]|0)+12>>2]=0;f=f+12|0;f=k[f>>2]|0;r=g;return f|0}return 0}function Ls(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+32>>2]>>2]|0}function Ms(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;b=Cs(k[g>>2]|0)|0;k[e>>2]=b;b=k[g>>2]|0;if(!(k[e>>2]|0)){k[c>>2]=k[(k[k[(k[d>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];g=k[c>>2]|0;r=f;return g|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];g=k[c>>2]|0;r=f;return g|0}return 0}function Ns(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+26>>1]|0}function Os(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+24>>1]|0)&2)pj(k[b>>2]|0,1);a=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,1);r=c;return}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;s=w+56|0;d=w+52|0;e=w+48|0;t=w+44|0;u=w+40|0;n=w+36|0;i=w+32|0;o=w+28|0;f=w+24|0;g=w+20|0;p=w+16|0;l=w+12|0;q=w+8|0;v=w+4|0;h=w;k[d>>2]=a;k[e>>2]=b;k[t>>2]=c;k[u>>2]=0;k[n>>2]=k[(k[d>>2]|0)+52+16>>2];if((k[n>>2]|0)!=0?(j[(k[d>>2]|0)+40>>1]|0)!=0:0){c=Cs(k[(k[d>>2]|0)+100>>2]|0)|0;k[o>>2]=c;c=Cs(k[n>>2]|0)|0;k[i>>2]=c;a:while(1){if(!((k[i>>2]|0)>=(k[o>>2]|0)?(k[u>>2]|0)==0:0)){d=18;break}c=Ds(k[d>>2]|0,k[i>>2]|0,f,g,p)|0;k[v>>2]=c;if(k[v>>2]|0){d=7;break}k[q>>2]=8192;c=Ws(k[e>>2]|0)|0;k[l>>2]=c;while(1){if(!(j[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0))break;k[h>>2]=(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0)+(k[p>>2]|0);if(((k[h>>2]|0)>>>0<=(k[n>>2]|0)>>>0?(k[h>>2]|0)>>>0>=(k[(k[d>>2]|0)+100>>2]|0)>>>0:0)?(k[(k[g>>2]|0)+(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]<<2)>>2]|0)==(k[e>>2]|0):0)k[u>>2]=k[h>>2];c=k[q>>2]|0;k[q>>2]=c+-1;if(!c){d=15;break a}c=Xs(k[l>>2]|0)|0;k[l>>2]=c}k[i>>2]=(k[i>>2]|0)+-1}if((d|0)==7){k[s>>2]=k[v>>2];v=k[s>>2]|0;r=w;return v|0}else if((d|0)==15){v=Yj(55832)|0;k[s>>2]=v;v=k[s>>2]|0;r=w;return v|0}else if((d|0)==18){k[k[t>>2]>>2]=k[u>>2];k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}}k[k[t>>2]>>2]=0;k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}function Qs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+32|0;d=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;h=m+12|0;e=m;j=m+8|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[g>>2]=k[(k[c>>2]|0)+20>>2];k[l>>2]=0;k[h>>2]=k[(k[f>>2]|0)+160>>2];if(k[d>>2]|0){h=Vs(k[(k[f>>2]|0)+216>>2]|0,k[d>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+4>>2]|0)|0;k[l>>2]=h}else{b=k[(k[f>>2]|0)+160>>2]|0;b=RR((k[g>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;h=ms(k[(k[f>>2]|0)+64>>2]|0,k[(k[c>>2]|0)+4>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[l>>2]=h;k[l>>2]=(k[l>>2]|0)==522?0:h}if((k[g>>2]|0)!=1){l=k[l>>2]|0;r=m;return l|0}if(k[l>>2]|0){b=(k[f>>2]|0)+112|0;d=b+16|0;do{i[b>>0]=255;b=b+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}else{k[j>>2]=(k[(k[c>>2]|0)+4>>2]|0)+24;b=(k[f>>2]|0)+112|0;c=k[j>>2]|0;d=b+16|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}return 0}function Rs(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+16>>2];a=k[d>>2]|0;if((m[(k[d>>2]|0)+24>>1]|0)&32){Ss(a);d=k[b>>2]|0;Ts(d);r=c;return}else{ss(a);d=k[b>>2]|0;Ts(d);r=c;return}}function Ss(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+4|0;e=b;k[c>>2]=a;k[e>>2]=k[(k[c>>2]|0)+16>>2];d=(k[e>>2]|0)+128|0;k[d>>2]=(k[d>>2]|0)+-1;k[(k[c>>2]|0)+12>>2]=k[(k[e>>2]|0)+144>>2];k[(k[e>>2]|0)+144>>2]=k[c>>2];d=k[(k[e>>2]|0)+64>>2]|0;a=k[(k[e>>2]|0)+160>>2]|0;a=RR((k[(k[c>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Us(d,a,L,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return}function Ts(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+128>>2]|0){r=c;return}if(cj(k[(k[b>>2]|0)+212>>2]|0)|0){r=c;return}vr(k[b>>2]|0);r=c;return}function Us(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function Vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;e=r;r=r+32|0;i=e+24|0;l=e+20|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e;k[i>>2]=a;k[l>>2]=b;k[f>>2]=c;k[h>>2]=d;k[g>>2]=m[(k[i>>2]|0)+52+14>>1];k[g>>2]=(k[g>>2]&65024)+((k[g>>2]&1)<<16);d=(k[g>>2]|0)+24|0;d=RR((k[l>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=GR(32,0,d|0,L|0)|0;d=GR(d|0,L|0,24,0)|0;a=j;k[a>>2]=d;k[a+4>>2]=L;a=j;a=ms(k[(k[i>>2]|0)+8>>2]|0,k[h>>2]|0,(k[f>>2]|0)>(k[g>>2]|0)?k[g>>2]|0:k[f>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=e;return a|0}function Ws(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)*383&8191|0}function Xs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+1&8191|0}function Ys(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Kr(k[b>>2]|0)|0;if((j[(k[b>>2]|0)+40>>1]|0)<0){r=c;return}Qr(k[b>>2]|0,3+(j[(k[b>>2]|0)+40>>1]|0)|0);j[(k[b>>2]|0)+40>>1]=-1;r=c;return}function Zs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+28>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function _s(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+64|0;z=A+52|0;v=A+48|0;w=A+44|0;l=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;k[v>>2]=a;k[w>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[s>>2]=j;k[t>>2]=0;k[x>>2]=k[w>>2];k[u>>2]=k[l>>2];if(i[(k[v>>2]|0)+46>>0]|0){k[z>>2]=8;z=k[z>>2]|0;r=A;return z|0}g=dt(k[v>>2]|0,1,1)|0;k[y>>2]=g;if(k[y>>2]|0){k[z>>2]=k[y>>2];z=k[z>>2]|0;r=A;return z|0}i[(k[v>>2]|0)+45>>0]=1;do if(k[w>>2]|0){g=et(k[v>>2]|0,k[l>>2]|0,k[m>>2]|0,0,1)|0;k[y>>2]=g;if(!(k[y>>2]|0)){i[(k[v>>2]|0)+44>>0]=1;break}if((k[y>>2]|0)==5){k[x>>2]=0;k[u>>2]=0;k[y>>2]=0}}while(0);if(((k[y>>2]|0)==0?(g=ft(k[v>>2]|0,t)|0,k[y>>2]=g,(k[t>>2]|0)!=0):0)?(k[k[k[(k[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Us(k[(k[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(k[y>>2]|0)){if((k[(k[v>>2]|0)+52+16>>2]|0)!=0?(g=gt(k[v>>2]|0)|0,(g|0)!=(k[o>>2]|0)):0){g=Yj(56532)|0;k[y>>2]=g}else{g=ht(k[v>>2]|0,k[x>>2]|0,k[u>>2]|0,k[m>>2]|0,k[n>>2]|0,k[p>>2]|0)|0;k[y>>2]=g}if((k[y>>2]|0)==0|(k[y>>2]|0)==5){if(k[q>>2]|0)k[k[q>>2]>>2]=k[(k[v>>2]|0)+52+16>>2];if(k[s>>2]|0){g=it(k[v>>2]|0)|0;k[k[s>>2]>>2]=k[g>>2]}}}if(k[t>>2]|0){l=(k[v>>2]|0)+52|0;m=l+48|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0))}Kr(k[v>>2]|0)|0;Sr(k[v>>2]|0,1,1);i[(k[v>>2]|0)+45>>0]=0;if((k[y>>2]|0)==0?(k[w>>2]|0)!=(k[x>>2]|0):0)l=5;else l=k[y>>2]|0;k[z>>2]=l;z=k[z>>2]|0;r=A;return z|0}function $s(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return}function at(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i+16|0;d=i+24|0;e=i+8|0;g=i;f=i+20|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;ek();a=dj(k[(k[d>>2]|0)+8>>2]|0,g)|0;k[f>>2]=a;if((k[f>>2]|0)==0?(a=g,b=k[a+4>>2]|0,g=e,c=k[g+4>>2]|0,(b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0){g=e;g=Cr(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[f>>2]=g}fk();if(!(k[f>>2]|0)){r=i;return}g=k[f>>2]|0;k[h>>2]=k[(k[d>>2]|0)+108>>2];$d(g,26525,h);r=i;return}function bt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+43>>0]|0|0)!=2){ct(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0)|0;r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+24>>2]|0))break;Ud(k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0);k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=f;return}function ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+64>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function dt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(i[(k[e>>2]|0)+43>>0]|0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}else{a=Rr(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,k[g>>2]|0,10)|0;k[h>>2]=a;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}return 0}function et(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;while(1){b=dt(k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=b;if(!((k[g>>2]|0)!=0&(k[l>>2]|0)==5)){f=4;break}if(!(bc[k[g>>2]&255](k[h>>2]|0)|0)){f=4;break}}if((f|0)==4){r=m;return k[l>>2]|0}return 0}function ft(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;a=Es(k[d>>2]|0,0,g)|0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}if(k[g>>2]|0)b=ut(k[d>>2]|0,k[e>>2]|0)|0;else b=1;k[f>>2]=b;do if(k[f>>2]|0){b=k[d>>2]|0;if((l[(k[d>>2]|0)+46>>0]|0)&2){g=Pr(b,0)|0;k[h>>2]=g;if(g)break;Qr(k[d>>2]|0,0);k[h>>2]=264;break}a=dt(b,0,1)|0;k[h>>2]=a;if(!a){i[(k[d>>2]|0)+44>>0]=1;g=Es(k[d>>2]|0,0,g)|0;k[h>>2]=g;if(0==(g|0)?(g=ut(k[d>>2]|0,k[e>>2]|0)|0,k[f>>2]=g,(k[f>>2]|0)!=0):0){g=vt(k[d>>2]|0)|0;k[h>>2]=g;k[k[e>>2]>>2]=1}i[(k[d>>2]|0)+44>>0]=0;Sr(k[d>>2]|0,0,1)}}while(0);if((k[f>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=3007e3:0){g=wt(55385)|0;k[h>>2]=g}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}function gt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[b>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function ht(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+112|0;g=G+104|0;h=G+100|0;i=G+96|0;j=G+92|0;l=G+88|0;m=G+84|0;n=G+80|0;A=G+76|0;D=G+72|0;z=G+68|0;p=G+64|0;q=G+60|0;u=G+56|0;t=G+52|0;o=G+48|0;y=G+44|0;E=G+40|0;x=G+24|0;v=G+36|0;w=G+16|0;s=G+8|0;C=G;B=G+32|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[A>>2]=0;k[z>>2]=0;k[p>>2]=0;k[q>>2]=0;f=gt(k[h>>2]|0)|0;k[D>>2]=f;f=it(k[h>>2]|0)|0;k[y>>2]=f;a:do if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){f=jt(k[h>>2]|0,z)|0;k[A>>2]=f;if(k[A>>2]|0){k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}k[u>>2]=k[(k[h>>2]|0)+52+16>>2];k[t>>2]=k[(k[h>>2]|0)+52+20>>2];k[o>>2]=1;while(1){if((k[o>>2]|0)>=5)break;k[E>>2]=k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2];do if((k[u>>2]|0)>>>0>(k[E>>2]|0)>>>0){f=et(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3+(k[o>>2]|0)|0,1)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2]=(k[o>>2]|0)==1?k[u>>2]|0:-1;Sr(k[h>>2]|0,3+(k[o>>2]|0)|0,1);break}if((k[A>>2]|0)!=5)break a;k[u>>2]=k[E>>2];k[j>>2]=0}while(0);k[o>>2]=(k[o>>2]|0)+1}if((k[k[y>>2]>>2]|0)>>>0<(k[u>>2]|0)>>>0?(F=et(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3,1)|0,k[A>>2]=F,(F|0)==0):0){k[v>>2]=k[k[y>>2]>>2];k[(k[y>>2]|0)+32>>2]=k[u>>2];if(k[m>>2]|0){F=Dr(k[(k[h>>2]|0)+8>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(((k[A>>2]|0)==0?(f=k[D>>2]|0,f=RR(k[t>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=w,k[F>>2]=f,k[F+4>>2]=L,F=dj(k[(k[h>>2]|0)+4>>2]|0,x)|0,k[A>>2]=F,(k[A>>2]|0)==0):0)?(f=x,c=k[f+4>>2]|0,F=w,E=k[F+4>>2]|0,(c|0)<(E|0)|((c|0)==(E|0)?(k[f>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0)$s(k[(k[h>>2]|0)+4>>2]|0,5,w);b:while(1){if(k[A>>2]|0)break;while(1){if(kt(k[z>>2]|0,p,q)|0)break b;if((k[q>>2]|0)>>>0<=(k[v>>2]|0)>>>0)continue b;if((k[q>>2]|0)>>>0>(k[u>>2]|0)>>>0)continue b;if((k[p>>2]|0)>>>0>(k[t>>2]|0)>>>0)continue b;f=(k[D>>2]|0)+24|0;f=RR((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=GR(32,0,f|0,L|0)|0;f=GR(f|0,L|0,24,0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=ms(k[(k[h>>2]|0)+8>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(k[A>>2]|0)break b;f=k[D>>2]|0;f=RR((k[p>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=Rg(k[(k[h>>2]|0)+4>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(!((k[A>>2]|0)==0&(k[A>>2]|0)==0))break b}}if(!(k[A>>2]|0)){f=k[u>>2]|0;F=(Ls(k[h>>2]|0)|0)+16|0;if((f|0)==(k[F>>2]|0)?(f=k[D>>2]|0,f=RR(k[(k[h>>2]|0)+52+20>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=C,k[F>>2]=f,k[F+4>>2]=L,F=C,F=Cr(k[(k[h>>2]|0)+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0,k[A>>2]=F,(k[A>>2]|0)==0&(k[m>>2]|0)!=0):0){F=Dr(k[(k[h>>2]|0)+4>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(!(k[A>>2]|0))k[k[y>>2]>>2]=k[u>>2]}Sr(k[h>>2]|0,3,1)}if((k[A>>2]|0)==5){k[A>>2]=0;F=36}else F=36}else F=36;while(0);do if((F|0)==36?(k[A>>2]|0)==0&(k[i>>2]|0)!=0:0){if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){k[A>>2]=5;break}if((k[i>>2]|0)>=2?(ae(4,B),F=et(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,4,4)|0,k[A>>2]=F,(k[A>>2]|0)==0):0){if((k[i>>2]|0)==3){lt(k[h>>2]|0,k[B>>2]|0);F=Cr(k[(k[h>>2]|0)+8>>2]|0,0,0)|0;k[A>>2]=F}Sr(k[h>>2]|0,4,4)}}while(0);mt(k[z>>2]|0);k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}function it(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[(k[b>>2]|0)+32>>2]>>2]|0)+96|0}function jt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+60|0;d=v+56|0;e=v+52|0;t=v+48|0;s=v+44|0;m=v+40|0;p=v+36|0;l=v+32|0;i=v+28|0;u=v+24|0;f=v+20|0;n=v+16|0;h=v+12|0;o=v+8|0;q=v+4|0;g=v;k[d>>2]=a;k[e>>2]=b;k[u>>2]=0;k[m>>2]=k[(k[d>>2]|0)+52+16>>2];b=(Cs(k[m>>2]|0)|0)+1|0;k[s>>2]=b;k[p>>2]=28+(((k[s>>2]|0)-1|0)*20|0)+(k[m>>2]<<1);b=k[p>>2]|0;b=Td(b,((b|0)<0)<<31>>31)|0;k[t>>2]=b;if(!(k[t>>2]|0)){k[c>>2]=7;u=k[c>>2]|0;r=v;return u|0}KR(k[t>>2]|0,0,k[p>>2]|0)|0;k[(k[t>>2]|0)+4>>2]=k[s>>2];b=Td(((k[m>>2]|0)>>>0>4096?4096:k[m>>2]|0)<<1,0)|0;k[i>>2]=b;if(!(k[i>>2]|0))k[u>>2]=7;k[l>>2]=0;while(1){if(k[u>>2]|0)break;if((k[l>>2]|0)>=(k[s>>2]|0))break;b=Ds(k[d>>2]|0,k[l>>2]|0,f,h,n)|0;k[u>>2]=b;if(!(k[u>>2]|0)){k[h>>2]=(k[h>>2]|0)+4;if(((k[l>>2]|0)+1|0)==(k[s>>2]|0))k[q>>2]=(k[m>>2]|0)-(k[n>>2]|0);else k[q>>2]=((k[f>>2]|0)-(k[h>>2]|0)|0)/4|0;k[g>>2]=(k[t>>2]|0)+8+((k[(k[t>>2]|0)+4>>2]|0)*20|0)+(k[n>>2]<<1);k[n>>2]=(k[n>>2]|0)+1;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;j[(k[g>>2]|0)+(k[o>>2]<<1)>>1]=k[o>>2];k[o>>2]=(k[o>>2]|0)+1}st(k[h>>2]|0,k[i>>2]|0,k[g>>2]|0,q);k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+16>>2]=k[n>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+12>>2]=k[q>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+4>>2]=k[g>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+8>>2]=k[h>>2]}k[l>>2]=(k[l>>2]|0)+1}Ud(k[i>>2]|0);if(k[u>>2]|0)mt(k[t>>2]|0);k[k[e>>2]>>2]=k[t>>2];k[c>>2]=k[u>>2];u=k[c>>2]|0;r=v;return u|0}function kt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;j=o+12|0;g=o+8|0;l=o+4|0;i=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=-1;k[h>>2]=k[k[d>>2]>>2];k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)-1;while(1){if((k[g>>2]|0)<0)break;k[l>>2]=(k[d>>2]|0)+8+((k[g>>2]|0)*20|0);while(1){if((k[k[l>>2]>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0))break;k[i>>2]=k[(k[(k[l>>2]|0)+8>>2]|0)+((m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)<<2)>>2];if((k[i>>2]|0)>>>0>(k[h>>2]|0)>>>0){n=6;break}b=k[l>>2]|0;k[b>>2]=(k[b>>2]|0)+1}if((n|0)==6?(n=0,(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){k[j>>2]=k[i>>2];k[k[f>>2]>>2]=(k[(k[l>>2]|0)+16>>2]|0)+(m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)}k[g>>2]=(k[g>>2]|0)+-1}n=k[j>>2]|0;k[k[d>>2]>>2]=n;k[k[e>>2]>>2]=n;r=o;return (k[j>>2]|0)==-1|0}function lt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e+16|0;g=e+12|0;d=e+8|0;c=e+4|0;h=e;k[f>>2]=a;k[g>>2]=b;b=it(k[f>>2]|0)|0;k[d>>2]=b;k[h>>2]=(k[f>>2]|0)+52+32;b=(k[f>>2]|0)+112|0;k[b>>2]=(k[b>>2]|0)+1;k[(k[f>>2]|0)+52+16>>2]=0;b=k[h>>2]|0;nt(b,1+(or(k[h>>2]|0)|0)|0);k[(k[f>>2]|0)+52+32+4>>2]=k[g>>2];ot(k[f>>2]|0);k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+4+4>>2]=0;k[c>>2]=2;while(1){if((k[c>>2]|0)>=5)break;k[(k[d>>2]|0)+4+(k[c>>2]<<2)>>2]=-1;k[c>>2]=(k[c>>2]|0)+1}r=e;return}function mt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function nt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[k[d>>2]>>0]=(k[e>>2]|0)>>>24;i[(k[d>>2]|0)+1>>0]=(k[e>>2]|0)>>>16;i[(k[d>>2]|0)+2>>0]=(k[e>>2]|0)>>>8;i[(k[d>>2]|0)+3>>0]=k[e>>2];r=c;return}function ot(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;k[d>>2]=a;a=Ls(k[d>>2]|0)|0;k[e>>2]=a;k[f>>2]=40;i[(k[d>>2]|0)+52+12>>0]=1;k[(k[d>>2]|0)+52>>2]=3007e3;pt(1,(k[d>>2]|0)+52|0,40,0,(k[d>>2]|0)+52+40|0);a=(k[e>>2]|0)+48|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));qt(k[d>>2]|0);a=k[e>>2]|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));r=f;return}function pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;f=n+32|0;p=n+28|0;o=n+24|0;g=n+20|0;h=n+16|0;l=n+12|0;m=n+8|0;i=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[p>>2];k[j>>2]=(k[p>>2]|0)+(k[o>>2]|0);if(k[g>>2]|0){k[l>>2]=k[k[g>>2]>>2];k[m>>2]=k[(k[g>>2]|0)+4>>2]}else{k[m>>2]=0;k[l>>2]=0}if(k[f>>2]|0){do{p=k[i>>2]|0;k[i>>2]=p+4;k[l>>2]=(k[l>>2]|0)+((k[p>>2]|0)+(k[m>>2]|0));p=k[i>>2]|0;k[i>>2]=p+4;k[m>>2]=(k[m>>2]|0)+((k[p>>2]|0)+(k[l>>2]|0))}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}else{do{k[l>>2]=(k[l>>2]|0)+(((k[k[i>>2]>>2]&255)<<24)+((k[k[i>>2]>>2]&65280)<<8)+((k[k[i>>2]>>2]&16711680)>>>8)+((k[k[i>>2]>>2]&-16777216)>>>24)+(k[m>>2]|0));k[m>>2]=(k[m>>2]|0)+(((k[(k[i>>2]|0)+4>>2]&255)<<24)+((k[(k[i>>2]|0)+4>>2]&65280)<<8)+((k[(k[i>>2]|0)+4>>2]&16711680)>>>8)+((k[(k[i>>2]|0)+4>>2]&-16777216)>>>24)+(k[l>>2]|0));k[i>>2]=(k[i>>2]|0)+8}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}}function qt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+43>>0]|0|0)==2){r=c;return}rt(k[(k[b>>2]|0)+4>>2]|0);r=c;return}function rt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[(k[k[c>>2]>>2]|0)+60>>2]&255](k[c>>2]|0);r=b;return}function st(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+160|0;e=s+144|0;f=s+140|0;g=s+136|0;h=s+132|0;n=s+128|0;o=s+124|0;i=s+120|0;l=s+116|0;m=s+112|0;j=s+8|0;p=s+4|0;q=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=k[k[h>>2]>>2];k[o>>2]=0;k[i>>2]=0;k[m>>2]=0;b=j;a=b+104|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[n>>2]|0))break;k[o>>2]=1;k[i>>2]=(k[g>>2]|0)+(k[l>>2]<<1);k[m>>2]=0;while(1){if(!(k[l>>2]&1<>2]))break;k[p>>2]=j+(k[m>>2]<<3);tt(k[e>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[k[p>>2]>>2]|0,i,o,k[f>>2]|0);k[m>>2]=(k[m>>2]|0)+1}k[j+(k[m>>2]<<3)+4>>2]=k[i>>2];k[j+(k[m>>2]<<3)>>2]=k[o>>2];k[l>>2]=(k[l>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1;while(1){if((k[m>>2]|0)>>>0>=13)break;if(k[n>>2]&1<>2]){k[q>>2]=j+(k[m>>2]<<3);tt(k[e>>2]|0,k[(k[q>>2]|0)+4>>2]|0,k[k[q>>2]>>2]|0,i,o,k[f>>2]|0)}k[m>>2]=(k[m>>2]|0)+1}k[k[h>>2]>>2]=k[o>>2];r=s;return}function tt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;g=y+44|0;h=y+40|0;i=y+36|0;l=y+32|0;n=y+28|0;o=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;p=y+4|0;v=y+48|0;q=y;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[l>>2]=d;k[n>>2]=e;k[o>>2]=f;k[s>>2]=0;k[u>>2]=0;k[t>>2]=0;k[w>>2]=k[k[n>>2]>>2];k[p>>2]=k[k[l>>2]>>2];while(1){if((k[u>>2]|0)>=(k[w>>2]|0)?(k[s>>2]|0)>=(k[i>>2]|0):0)break;do if((k[s>>2]|0)<(k[i>>2]|0)){if((k[u>>2]|0)<(k[w>>2]|0)?(k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(k[(k[g>>2]|0)+((m[(k[p>>2]|0)+(k[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}e=k[s>>2]|0;k[s>>2]=e+1;j[v>>1]=j[(k[h>>2]|0)+(e<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;e=k[u>>2]|0;k[u>>2]=e+1;j[v>>1]=j[(k[p>>2]|0)+(e<<1)>>1]|0}k[q>>2]=k[(k[g>>2]|0)+((m[v>>1]|0)<<2)>>2];d=j[v>>1]|0;e=k[t>>2]|0;k[t>>2]=e+1;j[(k[o>>2]|0)+(e<<1)>>1]=d;if((k[s>>2]|0)>=(k[i>>2]|0))continue;if((k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(k[q>>2]|0))continue;k[s>>2]=(k[s>>2]|0)+1}k[k[l>>2]>>2]=k[h>>2];k[k[n>>2]>>2]=k[t>>2];IR(k[h>>2]|0,k[o>>2]|0,k[t>>2]<<1|0)|0;r=y;return}function ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+128|0;d=o+120|0;e=o+116|0;f=o+112|0;g=o+104|0;j=o+56|0;n=o+8|0;h=o;k[e>>2]=a;k[f>>2]=b;b=Ls(k[e>>2]|0)|0;k[h>>2]=b;b=j;a=k[h>>2]|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));qt(k[e>>2]|0);b=n;a=(k[h>>2]|0)+48|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));if(VQ(j,n,48)|0){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}if(!(l[j+12>>0]|0)){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}pt(1,j,40,0,g);if((k[g>>2]|0)==(k[j+40>>2]|0)?(k[g+4>>2]|0)==(k[j+40+4>>2]|0):0){if(VQ((k[e>>2]|0)+52|0,j,48)|0){k[k[f>>2]>>2]=1;b=(k[e>>2]|0)+52|0;a=j;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));k[(k[e>>2]|0)+36>>2]=((m[(k[e>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[e>>2]|0)+52+14>>1]|0)&1)<<16)}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}function vt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+144|0;B=D+16|0;c=D+96|0;d=D+92|0;y=D+88|0;u=D+8|0;h=D+80|0;o=D+76|0;t=D+72|0;e=D+104|0;g=D+68|0;z=D+64|0;f=D+60|0;n=D+56|0;p=D;A=D+52|0;s=D+48|0;C=D+44|0;q=D+40|0;x=D+36|0;v=D+32|0;w=D+28|0;m=D+24|0;k[d>>2]=a;k[h>>2]=0;k[h+4>>2]=0;k[o>>2]=1+(l[(k[d>>2]|0)+45>>0]|0);k[t>>2]=8-(k[o>>2]|0);b=dt(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0)|0;k[y>>2]=b;if(k[y>>2]|0){k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}a=(k[d>>2]|0)+52|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));b=dj(k[(k[d>>2]|0)+8>>2]|0,u)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){b=u;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>32){k[g>>2]=0;b=ms(k[(k[d>>2]|0)+8>>2]|0,e,32,0,0)|0;k[y>>2]=b;if(k[y>>2]|0)break a;b=or(e)|0;k[s>>2]=b;b=or(e+8|0)|0;k[A>>2]=b;if((((k[s>>2]&-2|0)==931071618?!(((k[A>>2]|0)>65536?1:(k[A>>2]&(k[A>>2]|0)-1|0)!=0)|(k[A>>2]|0)<512):0)?(i[(k[d>>2]|0)+52+13>>0]=k[s>>2]&1,k[(k[d>>2]|0)+36>>2]=k[A>>2],s=or(e+12|0)|0,k[(k[d>>2]|0)+112>>2]=s,s=(k[d>>2]|0)+52+32|0,b=e+16|0,i[s>>0]=i[b>>0]|0,i[s+1>>0]=i[b+1>>0]|0,i[s+2>>0]=i[b+2>>0]|0,i[s+3>>0]=i[b+3>>0]|0,i[s+4>>0]=i[b+4>>0]|0,i[s+5>>0]=i[b+5>>0]|0,i[s+6>>0]=i[b+6>>0]|0,i[s+7>>0]=i[b+7>>0]|0,pt((l[(k[d>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1,e,24,0,(k[d>>2]|0)+52+24|0),s=k[(k[d>>2]|0)+52+24>>2]|0,(s|0)==(or(e+24|0)|0)):0)?(s=k[(k[d>>2]|0)+52+24+4>>2]|0,(s|0)==(or(e+28|0)|0)):0){s=or(e+4|0)|0;k[C>>2]=s;if((k[C>>2]|0)!=3007e3){C=wt(54439)|0;k[y>>2]=C;break}k[z>>2]=(k[A>>2]|0)+24;C=k[z>>2]|0;C=Td(C,((C|0)<0)<<31>>31)|0;k[g>>2]=C;if(!(k[g>>2]|0)){k[y>>2]=7;break a}k[f>>2]=(k[g>>2]|0)+24;k[n>>2]=0;C=p;k[C>>2]=32;k[C+4>>2]=0;while(1){b=p;s=k[z>>2]|0;s=GR(k[b>>2]|0,k[b+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;b=L;C=u;e=k[C+4>>2]|0;if(!((b|0)<(e|0)|((b|0)==(e|0)?s>>>0<=(k[C>>2]|0)>>>0:0)))break;k[n>>2]=(k[n>>2]|0)+1;C=p;C=ms(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[z>>2]|0,k[C>>2]|0,k[C+4>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;C=xt(k[d>>2]|0,x,v,k[f>>2]|0,k[g>>2]|0)|0;k[q>>2]=C;if(!(k[q>>2]|0))break;C=yt(k[d>>2]|0,k[n>>2]|0,k[x>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;if(k[v>>2]|0){k[(k[d>>2]|0)+52+16>>2]=k[n>>2];k[(k[d>>2]|0)+52+20>>2]=k[v>>2];j[(k[d>>2]|0)+52+14>>1]=k[A>>2]&65280|k[A>>2]>>16;k[h>>2]=k[(k[d>>2]|0)+52+24>>2];k[h+4>>2]=k[(k[d>>2]|0)+52+24+4>>2]}s=k[z>>2]|0;C=p;s=GR(k[C>>2]|0,k[C+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;C=p;k[C>>2]=s;k[C+4>>2]=L}Ud(k[g>>2]|0)}}while(0);if(!(k[y>>2]|0)){k[(k[d>>2]|0)+52+24>>2]=k[h>>2];k[(k[d>>2]|0)+52+24+4>>2]=k[h+4>>2];ot(k[d>>2]|0);C=it(k[d>>2]|0)|0;k[w>>2]=C;k[k[w>>2]>>2]=0;k[(k[w>>2]|0)+32>>2]=k[(k[d>>2]|0)+52+16>>2];k[(k[w>>2]|0)+4>>2]=0;k[m>>2]=1;while(1){if((k[m>>2]|0)>=5)break;k[(k[w>>2]|0)+4+(k[m>>2]<<2)>>2]=-1;k[m>>2]=(k[m>>2]|0)+1}if(k[(k[d>>2]|0)+52+16>>2]|0)k[(k[w>>2]|0)+4+4>>2]=k[(k[d>>2]|0)+52+16>>2];if(k[(k[d>>2]|0)+52+20>>2]|0){C=k[(k[d>>2]|0)+108>>2]|0;k[B>>2]=k[(k[d>>2]|0)+52+16>>2];k[B+4>>2]=C;$d(283,26568,B)}}}while(0);Sr(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0);k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}function wt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Zj(14,k[c>>2]|0,26551)|0;r=b;return a|0}function xt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+32|0;g=s+28|0;h=s+24|0;j=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=(k[g>>2]|0)+52+24;if(VQ((k[g>>2]|0)+52+32|0,(k[n>>2]|0)+8|0,8)|0){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}c=or(k[n>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}k[p>>2]=(l[(k[g>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1;pt(k[p>>2]|0,k[n>>2]|0,8,k[o>>2]|0,k[o>>2]|0);pt(k[p>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[o>>2]|0,k[o>>2]|0);c=k[k[o>>2]>>2]|0;if((c|0)==(or((k[n>>2]|0)+16|0)|0)?(c=k[(k[o>>2]|0)+4>>2]|0,(c|0)==(or((k[n>>2]|0)+20|0)|0)):0){k[k[h>>2]>>2]=k[q>>2];c=or((k[n>>2]|0)+4|0)|0;k[k[j>>2]>>2]=c;k[f>>2]=1;c=k[f>>2]|0;r=s;return c|0}k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}function yt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+44|0;e=t+40|0;f=t+36|0;g=t+32|0;q=t+28|0;m=t+24|0;i=t+20|0;h=t+16|0;l=t+12|0;n=t+8|0;p=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[i>>2]=0;k[h>>2]=0;a=k[e>>2]|0;a=Ds(a,Cs(k[f>>2]|0)|0,h,i,m)|0;k[q>>2]=a;do if(!(k[q>>2]|0)){k[n>>2]=(k[f>>2]|0)-(k[m>>2]|0);if((k[n>>2]|0)==1){k[o>>2]=(k[h>>2]|0)+16384-((k[i>>2]|0)+4);KR((k[i>>2]|0)+4|0,0,k[o>>2]|0)|0}if(k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]|0)Bs(k[e>>2]|0);k[p>>2]=k[n>>2];a=Ws(k[g>>2]|0)|0;k[l>>2]=a;while(1){if(!(j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]|0)){s=11;break}a=k[p>>2]|0;k[p>>2]=a+-1;if(!a)break;a=Xs(k[l>>2]|0)|0;k[l>>2]=a}if((s|0)==11){k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]=k[g>>2];j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]=k[n>>2];break}s=Yj(54308)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);k[d>>2]=k[q>>2];s=k[d>>2]|0;r=t;return s|0}function zt(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;if(((k[b>>2]|0)!=0?(k[k[b>>2]>>2]|0)!=0:0)?(k[(k[b>>2]|0)+8>>2]|0)>=0:0){a=gc[k[k[b>>2]>>2]&255](k[(k[b>>2]|0)+4>>2]|0,k[(k[b>>2]|0)+8>>2]|0)|0;k[d>>2]=a;b=(k[b>>2]|0)+8|0;if(!(k[d>>2]|0))k[b>>2]=-1;else k[b>>2]=(k[b>>2]|0)+1;k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}function At(){return 48}function Bt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[(k[b>>2]|0)+4>>2]|0)<=72){a=72;r=c;return a|0}a=k[(k[b>>2]|0)+4>>2]|0;r=c;return a|0}function Ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=k[h>>2];k[f>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}do if(l[(k[e>>2]|0)+21>>0]|0){if(((l[(k[e>>2]|0)+21>>0]|0)&3|0)==0?((m[(k[d>>2]|0)+24>>1]|0)&8|0)==0:0)break;k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}while(0);k[(k[d>>2]|0)+12>>2]=0;h=(Jr(k[e>>2]|0)|0)!=0;a=k[d>>2]|0;if(h){h=Et(a)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=Ft(k[e>>2]|0,k[d>>2]|0,0,0)|0;k[f>>2]=h}}else{if(!(((m[a+24>>1]|0)&8|0)==0?(l[(k[e>>2]|0)+17>>0]|0|0)!=3:0)){h=Gt(k[e>>2]|0,1)|0;k[f>>2]=h}if(!(k[f>>2]|0)){h=Ht(k[e>>2]|0,k[d>>2]|0)|0;k[f>>2]=h}}if(!(k[f>>2]|0))oj(k[d>>2]|0);h=ur(k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=h;h=k[c>>2]|0;r=g;return h|0}function Dt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;c=k[n>>2]|0;f=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+28>>2]=k[h>>2];i[(k[n>>2]|0)+32>>0]=k[j>>2];i[(k[n>>2]|0)+33>>0]=2;k[(k[n>>2]|0)+36>>2]=k[l>>2];k[(k[n>>2]|0)+40>>2]=k[m>>2];k[(k[n>>2]|0)+16>>2]=100;k[(k[n>>2]|0)+20>>2]=1;n=gj(k[n>>2]|0,k[g>>2]|0)|0;r=o;return n|0}function Et(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Wt(k[c>>2]|0)|0){a=Xt(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ft(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;n=o+12|0;i=o+8|0;j=o+4|0;m=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:do if(k[h>>2]|0){k[m>>2]=f;k[i>>2]=0;k[j>>2]=k[f>>2];while(1){a=k[j>>2]|0;k[k[m>>2]>>2]=a;if(!a)break a;if((k[(k[j>>2]|0)+20>>2]|0)>>>0<=(k[g>>2]|0)>>>0){k[m>>2]=(k[j>>2]|0)+12;k[i>>2]=(k[i>>2]|0)+1}k[j>>2]=k[(k[j>>2]|0)+12>>2]}}else k[i>>2]=1;while(0);m=(k[e>>2]|0)+192+8|0;k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0);if((k[(k[f>>2]|0)+20>>2]|0)==1)Jt(k[f>>2]|0);m=Pt(k[(k[e>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+160>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,l[(k[e>>2]|0)+11>>0]|0)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if(!(k[(k[e>>2]|0)+96>>2]|0)){n=k[n>>2]|0;r=o;return n|0}k[j>>2]=k[f>>2];while(1){if(!(k[j>>2]|0))break;qs(k[(k[e>>2]|0)+96>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+4>>2]|0);k[j>>2]=k[(k[j>>2]|0)+12>>2]}n=k[n>>2]|0;r=o;return n|0}function Gt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n+24|0;d=n+20|0;e=n+16|0;j=n+12|0;g=n+8|0;h=n;f=n+40|0;m=n+28|0;k[d>>2]=a;k[e>>2]=b;a=Kt(k[d>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if((k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0){a=js(k[(k[d>>2]|0)+64>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]&512)){i[m>>0]=i[26517]|0;i[m+1>>0]=i[26518]|0;i[m+2>>0]=i[26519]|0;i[m+3>>0]=i[26520]|0;i[m+4>>0]=i[26521]|0;i[m+5>>0]=i[26522]|0;i[m+6>>0]=i[26523]|0;i[m+7>>0]=i[26524]|0;nt(m+8|0,k[(k[d>>2]|0)+48>>2]|0);b=xs(k[d>>2]|0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L;a=h;a=ms(k[(k[d>>2]|0)+68>>2]|0,f,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a;if((k[j>>2]|0)==0?0==(VQ(f,26517,8)|0):0){a=h;a=Rg(k[(k[d>>2]|0)+68>>2]|0,26638,1,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a}if((k[j>>2]|0)!=0&(k[j>>2]|0)!=522){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}if(((l[(k[d>>2]|0)+8>>0]|0)!=0?0==(k[g>>2]&1024|0):0)?(a=Dr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|0)|0,k[j>>2]=a,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+88|0;m=Rg(k[(k[d>>2]|0)+68>>2]|0,m,12,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}}if(0==(k[g>>2]&1024|0)?(m=Dr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|((l[(k[d>>2]|0)+12>>0]|0)==3?16:0))|0,k[j>>2]=m,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}b=(k[d>>2]|0)+80|0;a=k[b+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[b>>2];k[m+4>>2]=a;if(!(k[e>>2]|0))break;if(k[g>>2]&512)break;k[(k[d>>2]|0)+48>>2]=0;m=Lt(k[d>>2]|0)|0;k[j>>2]=m;if(!(k[j>>2]|0))break;k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+80|0;j=k[a+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[a>>2];k[m+4>>2]=j}while(0);Mt(k[(k[d>>2]|0)+212>>2]|0);i[(k[d>>2]|0)+17>>0]=4;k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function Ht(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+48|0;d=l+32|0;e=l+28|0;j=l+24|0;c=l+8|0;h=l+20|0;f=l;g=l+16|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){a=It(k[d>>2]|0,k[(k[d>>2]|0)+64>>2]|0,k[(k[d>>2]|0)+152>>2]|0)|0;k[j>>2]=a}do if((k[j>>2]|0)==0?(k[(k[d>>2]|0)+40>>2]|0)>>>0<(k[(k[d>>2]|0)+28>>2]|0)>>>0:0){if((k[(k[e>>2]|0)+12>>2]|0)==0?(k[(k[e>>2]|0)+20>>2]|0)>>>0<=(k[(k[d>>2]|0)+40>>2]|0)>>>0:0)break;b=k[(k[d>>2]|0)+160>>2]|0;b=RR(b|0,((b|0)<0)<<31>>31|0,k[(k[d>>2]|0)+28>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;$s(k[(k[d>>2]|0)+64>>2]|0,5,c);k[(k[d>>2]|0)+40>>2]=k[(k[d>>2]|0)+28>>2]}while(0);while(1){if(!((k[j>>2]|0)==0?(k[e>>2]|0)!=0:0))break;k[h>>2]=k[(k[e>>2]|0)+20>>2];if((k[h>>2]|0)>>>0<=(k[(k[d>>2]|0)+28>>2]|0)>>>0?0==((m[(k[e>>2]|0)+24>>1]|0)&16|0):0){a=k[(k[d>>2]|0)+160>>2]|0;a=RR((k[h>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=f;k[c>>2]=a;k[c+4>>2]=L;if((k[(k[e>>2]|0)+20>>2]|0)==1)Jt(k[e>>2]|0);k[g>>2]=k[(k[e>>2]|0)+4>>2];c=f;c=Rg(k[(k[d>>2]|0)+64>>2]|0,k[g>>2]|0,k[(k[d>>2]|0)+160>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[j>>2]=c;if((k[h>>2]|0)==1){b=(k[d>>2]|0)+112|0;a=(k[g>>2]|0)+24|0;c=b+16|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0))}if((k[h>>2]|0)>>>0>(k[(k[d>>2]|0)+36>>2]|0)>>>0)k[(k[d>>2]|0)+36>>2]=k[h>>2];c=(k[d>>2]|0)+192+8|0;k[c>>2]=(k[c>>2]|0)+1;qs(k[(k[d>>2]|0)+96>>2]|0,k[h>>2]|0,k[(k[e>>2]|0)+4>>2]|0)}k[e>>2]=k[(k[e>>2]|0)+12>>2]}r=l;return k[j>>2]|0}function It(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;k[f>>2]=k[f>>2]|30;c=as(k[k[h>>2]>>2]|0,0,k[g>>2]|0,k[f>>2]|0,0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function Jt(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=(or((k[(k[c>>2]|0)+16>>2]|0)+112|0)|0)+1|0;k[d>>2]=a;nt((k[(k[c>>2]|0)+4>>2]|0)+24|0,k[d>>2]|0);nt((k[(k[c>>2]|0)+4>>2]|0)+92|0,k[d>>2]|0);nt((k[(k[c>>2]|0)+4>>2]|0)+96|0,3013e3);r=b;return}function Kt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+44>>2];if((k[c>>2]|0)==0?0==(Jr(k[b>>2]|0)|0):0){a=Nt(k[b>>2]|0,4)|0;k[c>>2]=a}r=d;return k[c>>2]|0}function Lt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;h=r;r=r+32|0;c=h+20|0;g=h+16|0;f=h+12|0;d=h+8|0;e=h+4|0;b=h;k[c>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[c>>2]|0)+208>>2];k[d>>2]=k[(k[c>>2]|0)+160>>2];if((k[d>>2]|0)>>>0>(k[(k[c>>2]|0)+156>>2]|0)>>>0)k[d>>2]=k[(k[c>>2]|0)+156>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){m=(k[c>>2]|0)+80|0;j=k[m+4>>2]|0;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;k[a>>2]=k[m>>2];k[a+4>>2]=j}k[b>>2]=(k[b>>2]|0)+1}a=xs(k[c>>2]|0)|0;j=L;m=(k[c>>2]|0)+80|0;k[m>>2]=a;k[m+4>>2]=j;m=(k[c>>2]|0)+88|0;k[m>>2]=a;k[m+4>>2]=j;if(((l[(k[c>>2]|0)+7>>0]|0|0)==0?(l[(k[c>>2]|0)+5>>0]|0|0)!=4:0)?((js(k[(k[c>>2]|0)+64>>2]|0)|0)&512|0)==0:0){b=k[f>>2]|0;a=b+12|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(a|0))}else{m=k[f>>2]|0;i[m>>0]=i[26517]|0;i[m+1>>0]=i[26518]|0;i[m+2>>0]=i[26519]|0;i[m+3>>0]=i[26520]|0;i[m+4>>0]=i[26521]|0;i[m+5>>0]=i[26522]|0;i[m+6>>0]=i[26523]|0;i[m+7>>0]=i[26524]|0;nt((k[f>>2]|0)+8|0,-1)}ae(4,(k[c>>2]|0)+52|0);nt((k[f>>2]|0)+12|0,k[(k[c>>2]|0)+52>>2]|0);nt((k[f>>2]|0)+16|0,k[(k[c>>2]|0)+32>>2]|0);nt((k[f>>2]|0)+20|0,k[(k[c>>2]|0)+156>>2]|0);nt((k[f>>2]|0)+24|0,k[(k[c>>2]|0)+160>>2]|0);KR((k[f>>2]|0)+28|0,0,(k[d>>2]|0)-28|0)|0;k[e>>2]=0;while(1){if(k[g>>2]|0){b=17;break}if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+156>>2]|0)>>>0){b=17;break}m=(k[c>>2]|0)+80|0;m=Rg(k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,k[d>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m;m=(k[c>>2]|0)+80|0;j=m;j=GR(k[j>>2]|0,k[j+4>>2]|0,k[d>>2]|0,0)|0;k[m>>2]=j;k[m+4>>2]=L;k[e>>2]=(k[e>>2]|0)+(k[d>>2]|0)}if((b|0)==17){r=h;return k[g>>2]|0}return 0}function Mt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-9;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Nt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){a=Ot(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)!=5){c=4;break}if(!(bc[k[(k[c>>2]|0)+184>>2]&255](k[(k[c>>2]|0)+188>>2]|0)|0)){c=4;break}}if((c|0)==4){r=f;return k[e>>2]|0}return 0}function Ot(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[(k[c>>2]|0)+18>>0]|0|0)>=(k[d>>2]|0)?(l[(k[c>>2]|0)+18>>0]|0|0)!=5:0){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Zs(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}if(!((k[d>>2]|0)==4?1:(l[(k[c>>2]|0)+18>>0]|0|0)!=5)){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Pt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;G=M+100|0;B=M+96|0;E=M+92|0;F=M+88|0;D=M+84|0;J=M+80|0;C=M+40|0;K=M+16|0;o=M+76|0;n=M+72|0;h=M+136|0;g=M+64|0;s=M+60|0;q=M+56|0;p=M+8|0;t=M+52|0;H=M+48|0;I=M;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[y>>2]=d;k[z>>2]=e;k[A>>2]=f;k[F>>2]=0;k[D>>2]=0;k[o>>2]=0;b=Ls(k[v>>2]|0)|0;k[n>>2]=b;if(VQ((k[v>>2]|0)+52|0,k[n>>2]|0,48)|0)k[o>>2]=(k[(k[n>>2]|0)+16>>2]|0)+1;b=Qt(k[v>>2]|0)|0;k[G>>2]=b;if(b){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}k[B>>2]=k[(k[v>>2]|0)+52+16>>2];if(!(k[B>>2]|0)){nt(h,931071618|(i[960]|0)==0);nt(h+4|0,3007e3);nt(h+8|0,k[w>>2]|0);nt(h+12|0,k[(k[v>>2]|0)+112>>2]|0);if(!(k[(k[v>>2]|0)+112>>2]|0))ae(8,(k[v>>2]|0)+52+32|0);b=h+16|0;f=(k[v>>2]|0)+52+32|0;i[b>>0]=i[f>>0]|0;i[b+1>>0]=i[f+1>>0]|0;i[b+2>>0]=i[f+2>>0]|0;i[b+3>>0]=i[f+3>>0]|0;i[b+4>>0]=i[f+4>>0]|0;i[b+5>>0]=i[f+5>>0]|0;i[b+6>>0]=i[f+6>>0]|0;i[b+7>>0]=i[f+7>>0]|0;pt(1,h,24,0,g);nt(h+24|0,k[g>>2]|0);nt(h+28|0,k[g+4>>2]|0);k[(k[v>>2]|0)+36>>2]=k[w>>2];i[(k[v>>2]|0)+52+13>>0]=(i[960]|0)==0;k[(k[v>>2]|0)+52+24>>2]=k[g>>2];k[(k[v>>2]|0)+52+24+4>>2]=k[g+4>>2];i[(k[v>>2]|0)+47>>0]=1;b=Rg(k[(k[v>>2]|0)+8>>2]|0,h,32,0,0)|0;k[G>>2]=b;if(k[G>>2]|0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}if(((k[A>>2]|0)!=0?(l[(k[v>>2]|0)+48>>0]|0)!=0:0)?(b=Dr(k[(k[v>>2]|0)+8>>2]|0,k[A>>2]&19)|0,k[G>>2]=b,(k[G>>2]|0)!=0):0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}}k[K>>2]=k[v>>2];k[K+4>>2]=k[(k[v>>2]|0)+8>>2];f=K+8|0;k[f>>2]=0;k[f+4>>2]=0;k[K+16>>2]=k[A>>2];k[K+20>>2]=k[w>>2];f=(k[w>>2]|0)+24|0;f=RR((k[B>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=GR(32,0,f|0,L|0)|0;b=C;k[b>>2]=f;k[b+4>>2]=L;k[J>>2]=(k[w>>2]|0)+24;k[E>>2]=k[x>>2];while(1){if(!(k[E>>2]|0)){g=30;break}if(((k[o>>2]|0)!=0?((k[z>>2]|0)==0?1:(k[(k[E>>2]|0)+12>>2]|0)!=0):0)?(k[q>>2]=0,Ps(k[v>>2]|0,k[(k[E>>2]|0)+20>>2]|0,q)|0,(k[q>>2]|0)>>>0>=(k[o>>2]|0)>>>0):0){f=(k[w>>2]|0)+24|0;f=RR((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=GR(32,0,f|0,L|0)|0;f=GR(f|0,L|0,24,0)|0;b=p;k[b>>2]=f;k[b+4>>2]=L;if(!((k[(k[v>>2]|0)+104>>2]|0)!=0?(k[q>>2]|0)>>>0>=(k[(k[v>>2]|0)+104>>2]|0)>>>0:0))k[(k[v>>2]|0)+104>>2]=k[q>>2];k[t>>2]=k[(k[E>>2]|0)+4>>2];b=p;b=Rg(k[(k[v>>2]|0)+8>>2]|0,k[t>>2]|0,k[w>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[G>>2]=b;if(k[G>>2]|0){g=22;break}b=(k[E>>2]|0)+24|0;j[b>>1]=m[b>>1]&-65}else{k[B>>2]=(k[B>>2]|0)+1;if(k[z>>2]|0)g=(k[(k[E>>2]|0)+12>>2]|0)==0?k[y>>2]|0:0;else g=0;k[s>>2]=g;b=C;b=Rt(K,k[E>>2]|0,k[s>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[G>>2]=b;if(k[G>>2]|0){g=27;break}k[F>>2]=k[E>>2];f=k[J>>2]|0;b=C;f=GR(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;b=C;k[b>>2]=f;k[b+4>>2]=L;b=(k[E>>2]|0)+24|0;j[b>>1]=m[b>>1]|64}k[E>>2]=k[(k[E>>2]|0)+12>>2]}if((g|0)==22){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}else if((g|0)==27){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}else if((g|0)==30){if(((k[z>>2]|0)!=0?(k[(k[v>>2]|0)+104>>2]|0)!=0:0)?(t=St(k[v>>2]|0,k[B>>2]|0)|0,k[G>>2]=t,(k[G>>2]|0)!=0):0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}a:do if((k[z>>2]|0)!=0?(k[A>>2]&32|0)!=0:0){if(!(i[(k[v>>2]|0)+49>>0]|0)){K=Dr(k[K+4>>2]|0,k[A>>2]&19)|0;k[G>>2]=K;break}t=ks(k[(k[v>>2]|0)+8>>2]|0)|0;k[H>>2]=t;t=C;A=k[H>>2]|0;A=GR(k[t>>2]|0,k[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=FR(A|0,L|0,1,0)|0;t=k[H>>2]|0;t=PR(A|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;A=k[H>>2]|0;A=RR(t|0,L|0,A|0,((A|0)<0)<<31>>31|0)|0;H=K+8|0;k[H>>2]=A;k[H+4>>2]=L;while(1){A=C;s=k[A+4>>2]|0;H=K+8|0;t=k[H+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(k[A>>2]|0)>>>0<(k[H>>2]|0)>>>0:0)))break a;H=C;H=Rt(K,k[F>>2]|0,k[y>>2]|0,k[H>>2]|0,k[H+4>>2]|0)|0;k[G>>2]=H;if(k[G>>2]|0)break;A=k[J>>2]|0;H=C;A=GR(k[H>>2]|0,k[H+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;H=C;k[H>>2]=A;k[H+4>>2]=L;k[D>>2]=(k[D>>2]|0)+1}k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}while(0);if(((k[z>>2]|0)!=0?(l[(k[v>>2]|0)+47>>0]|0)!=0:0)?(K=(k[v>>2]|0)+16|0,J=k[K+4>>2]|0,(J|0)>0|(J|0)==0&(k[K>>2]|0)>>>0>=0):0){K=(k[v>>2]|0)+16|0;C=k[K+4>>2]|0;J=I;k[J>>2]=k[K>>2];k[J+4>>2]=C;J=(k[w>>2]|0)+24|0;J=RR((k[B>>2]|0)+(k[D>>2]|0)+1-1|0,0,J|0,((J|0)<0)<<31>>31|0)|0;J=GR(32,0,J|0,L|0)|0;C=L;K=(k[v>>2]|0)+16|0;H=k[K+4>>2]|0;if((C|0)>(H|0)|((C|0)==(H|0)?J>>>0>(k[K>>2]|0)>>>0:0)){J=(k[w>>2]|0)+24|0;J=RR((k[B>>2]|0)+(k[D>>2]|0)+1-1|0,0,J|0,((J|0)<0)<<31>>31|0)|0;J=GR(32,0,J|0,L|0)|0;K=I;k[K>>2]=J;k[K+4>>2]=L}K=I;at(k[v>>2]|0,k[K>>2]|0,k[K+4>>2]|0);i[(k[v>>2]|0)+47>>0]=0}k[B>>2]=k[(k[v>>2]|0)+52+16>>2];k[E>>2]=k[x>>2];while(1){if(!((k[E>>2]|0)!=0?(k[G>>2]|0)==0:0))break;if(m[(k[E>>2]|0)+24>>1]&64){k[B>>2]=(k[B>>2]|0)+1;K=yt(k[v>>2]|0,k[B>>2]|0,k[(k[E>>2]|0)+20>>2]|0)|0;k[G>>2]=K}k[E>>2]=k[(k[E>>2]|0)+12>>2]}while(1){if(!((k[G>>2]|0)==0?(k[D>>2]|0)>0:0))break;k[B>>2]=(k[B>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+-1;K=yt(k[v>>2]|0,k[B>>2]|0,k[(k[F>>2]|0)+20>>2]|0)|0;k[G>>2]=K}if(!(k[G>>2]|0)){j[(k[v>>2]|0)+52+14>>1]=k[w>>2]&65280|k[w>>2]>>16;k[(k[v>>2]|0)+52+16>>2]=k[B>>2];if(k[z>>2]|0){K=(k[v>>2]|0)+52+8|0;k[K>>2]=(k[K>>2]|0)+1;k[(k[v>>2]|0)+52+20>>2]=k[y>>2]}if(k[z>>2]|0){ot(k[v>>2]|0);k[(k[v>>2]|0)+12>>2]=k[B>>2]}}k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}return 0}function Qt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;g=i+16|0;d=i+12|0;f=i+8|0;h=i+4|0;e=i;k[c>>2]=a;k[g>>2]=0;if(!(j[(k[c>>2]|0)+40>>1]|0)){a=it(k[c>>2]|0)|0;k[f>>2]=a;do if((k[k[f>>2]>>2]|0)>>>0>0){ae(4,h);a=dt(k[c>>2]|0,4,4)|0;k[g>>2]=a;if(!(k[g>>2]|0)){lt(k[c>>2]|0,k[h>>2]|0);Sr(k[c>>2]|0,4,4);break}if((k[g>>2]|0)!=5){k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}}while(0);Qr(k[c>>2]|0,3);j[(k[c>>2]|0)+40>>1]=-1;k[d>>2]=0;do{a=k[c>>2]|0;h=(k[d>>2]|0)+1|0;k[d>>2]=h;h=Vt(a,e,1,h)|0;k[g>>2]=h}while((k[g>>2]|0)==-1)}k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}function Rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;f=l+28|0;g=l+24|0;o=l+20|0;n=l+16|0;h=l;j=l+12|0;i=l+8|0;m=l+32|0;k[g>>2]=a;k[o>>2]=b;k[n>>2]=c;b=h;k[b>>2]=d;k[b+4>>2]=e;k[i>>2]=k[(k[o>>2]|0)+4>>2];Tt(k[k[g>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[n>>2]|0,k[i>>2]|0,m);b=h;b=Ut(k[g>>2]|0,m,24,k[b>>2]|0,k[b+4>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}else{b=k[g>>2]|0;m=k[i>>2]|0;n=k[(k[g>>2]|0)+20>>2]|0;o=h;o=GR(k[o>>2]|0,k[o+4>>2]|0,24,0)|0;o=Ut(b,m,n,o,L)|0;k[j>>2]=o;k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}return 0}function St(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;c=p+48|0;d=p+44|0;e=p+40|0;o=p+36|0;n=p+32|0;f=p+28|0;g=p+56|0;l=p+24|0;h=p+8|0;i=p;j=p+20|0;m=p+16|0;k[d>>2]=a;k[e>>2]=b;k[o>>2]=k[(k[d>>2]|0)+36>>2];k[n>>2]=0;a=Sd((k[o>>2]|0)+24|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}if((k[(k[d>>2]|0)+104>>2]|0)==1){a=h;k[a>>2]=24;k[a+4>>2]=0}else{b=(k[o>>2]|0)+24|0;b=RR((k[(k[d>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=GR(32,0,b|0,L|0)|0;b=GR(b|0,L|0,16,0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L}a=h;a=ms(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;a=or(k[f>>2]|0)|0;k[(k[d>>2]|0)+52+24>>2]=a;a=or((k[f>>2]|0)+4|0)|0;k[(k[d>>2]|0)+52+24+4>>2]=a;k[l>>2]=k[(k[d>>2]|0)+104>>2];k[(k[d>>2]|0)+104>>2]=0;while(1){if(k[n>>2]|0)break;if((k[l>>2]|0)>>>0>(k[e>>2]|0)>>>0)break;b=(k[o>>2]|0)+24|0;b=RR((k[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=GR(32,0,b|0,L|0)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=i;a=ms(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,(k[o>>2]|0)+24|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){a=or(k[f>>2]|0)|0;k[j>>2]=a;a=or((k[f>>2]|0)+4|0)|0;k[m>>2]=a;Tt(k[d>>2]|0,k[j>>2]|0,k[m>>2]|0,(k[f>>2]|0)+24|0,g);a=i;a=Rg(k[(k[d>>2]|0)+8>>2]|0,g,24,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a}k[l>>2]=(k[l>>2]|0)+1}Ud(k[f>>2]|0);k[c>>2]=k[n>>2];o=k[c>>2]|0;r=p;return o|0}function Tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+32|0;f=n+24|0;p=n+20|0;o=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=(k[f>>2]|0)+52+24;nt(k[h>>2]|0,k[p>>2]|0);nt((k[h>>2]|0)+4|0,k[o>>2]|0);d=(k[h>>2]|0)+8|0;if(!(k[(k[f>>2]|0)+104>>2]|0)){p=(k[f>>2]|0)+52+32|0;i[d>>0]=i[p>>0]|0;i[d+1>>0]=i[p+1>>0]|0;i[d+2>>0]=i[p+2>>0]|0;i[d+3>>0]=i[p+3>>0]|0;i[d+4>>0]=i[p+4>>0]|0;i[d+5>>0]=i[p+5>>0]|0;i[d+6>>0]=i[p+6>>0]|0;i[d+7>>0]=i[p+7>>0]|0;k[m>>2]=(l[(k[f>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1;pt(k[m>>2]|0,k[h>>2]|0,8,k[j>>2]|0,k[j>>2]|0);pt(k[m>>2]|0,k[g>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[j>>2]|0,k[j>>2]|0);nt((k[h>>2]|0)+16|0,k[k[j>>2]>>2]|0);nt((k[h>>2]|0)+20|0,k[(k[j>>2]|0)+4>>2]|0);r=n;return}else{e=d+16|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(e|0));r=n;return}}function Ut(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n;m=n+12|0;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;a=j;e=k[a+4>>2]|0;b=(k[g>>2]|0)+8|0;c=k[b+4>>2]|0;if((e|0)<(c|0)|((e|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?(e=j,a=k[i>>2]|0,a=GR(k[e>>2]|0,k[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,e=L,b=(k[g>>2]|0)+8|0,c=k[b+4>>2]|0,(e|0)>(c|0)|((e|0)==(c|0)?a>>>0>=(k[b>>2]|0)>>>0:0)):0){a=(k[g>>2]|0)+8|0;b=j;b=FR(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[l>>2]=b;b=j;b=Rg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[l>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}a=k[l>>2]|0;b=j;a=GR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;k[i>>2]=(k[i>>2]|0)-(k[l>>2]|0);k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);b=Dr(k[(k[g>>2]|0)+4>>2]|0,k[(k[g>>2]|0)+16>>2]&19)|0;k[m>>2]=b;if((k[i>>2]|0)==0|(k[m>>2]|0)!=0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}}b=j;b=Rg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}function Vt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;v=w+48|0;e=w+44|0;f=w+40|0;g=w+36|0;h=w+32|0;q=w+28|0;o=w+24|0;n=w+20|0;i=w+16|0;s=w+12|0;m=w+8|0;p=w+4|0;t=w;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=0;if((k[h>>2]|0)>5){k[p>>2]=1;if((k[h>>2]|0)>100){k[v>>2]=15;v=k[v>>2]|0;r=w;return v|0}if((k[h>>2]|0)>=10){c=(ha((k[h>>2]|0)-9|0,(k[h>>2]|0)-9|0)|0)*39|0;k[p>>2]=c}Ei(k[k[e>>2]>>2]|0,k[p>>2]|0)|0}if(!(k[g>>2]|0)){c=ft(k[e>>2]|0,k[f>>2]|0)|0;k[s>>2]=c;do if((k[s>>2]|0)==5){if(!(k[k[(k[e>>2]|0)+32>>2]>>2]|0)){k[s>>2]=-1;break}c=Pr(k[e>>2]|0,2)|0;k[s>>2]=c;if(!c){Qr(k[e>>2]|0,2);k[s>>2]=-1;break}if((k[s>>2]|0)==5)k[s>>2]=261}while(0);if(k[s>>2]|0){k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}}c=it(k[e>>2]|0)|0;k[q>>2]=c;do if((k[g>>2]|0)==0?(k[k[q>>2]>>2]|0)==(k[(k[e>>2]|0)+52+16>>2]|0):0){c=Pr(k[e>>2]|0,3)|0;k[s>>2]=c;qt(k[e>>2]|0);if(k[s>>2]|0){if((k[s>>2]|0)==5)break;k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}u=Ls(k[e>>2]|0)|0;u=(VQ(u,(k[e>>2]|0)+52|0,48)|0)!=0;e=k[e>>2]|0;if(u){Qr(e,3);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}else{j[e+40>>1]=0;k[v>>2]=0;v=k[v>>2]|0;r=w;return v|0}}while(0);k[o>>2]=0;k[n>>2]=0;k[m>>2]=k[(k[e>>2]|0)+52+16>>2];k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break;k[t>>2]=k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0<=(k[t>>2]|0)>>>0?(k[t>>2]|0)>>>0<=(k[m>>2]|0)>>>0:0){k[o>>2]=k[t>>2];k[n>>2]=k[i>>2]}k[i>>2]=(k[i>>2]|0)+1}a:do if(((l[(k[e>>2]|0)+46>>0]|0)&2|0)==0?((k[n>>2]|0)==0?1:(k[o>>2]|0)>>>0<(k[m>>2]|0)>>>0):0){k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break a;c=dt(k[e>>2]|0,3+(k[i>>2]|0)|0,1)|0;k[s>>2]=c;if(!(k[s>>2]|0)){u=36;break}if((k[s>>2]|0)!=5)break;k[i>>2]=(k[i>>2]|0)+1}if((u|0)==36){u=k[m>>2]|0;k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2]=u;k[o>>2]=u;k[n>>2]=k[i>>2];Sr(k[e>>2]|0,3+(k[i>>2]|0)|0,1);break}k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}while(0);if(!(k[n>>2]|0)){k[v>>2]=(k[s>>2]|0)==5?-1:520;v=k[v>>2]|0;r=w;return v|0}u=Pr(k[e>>2]|0,3+(k[n>>2]|0)|0)|0;k[s>>2]=u;if(k[s>>2]|0){k[v>>2]=(k[s>>2]|0)==5?-1:k[s>>2]|0;v=k[v>>2]|0;r=w;return v|0}k[(k[e>>2]|0)+100>>2]=(k[k[q>>2]>>2]|0)+1;qt(k[e>>2]|0);if((k[(k[q>>2]|0)+4+(k[n>>2]<<2)>>2]|0)==(k[o>>2]|0)?(u=Ls(k[e>>2]|0)|0,(VQ(u,(k[e>>2]|0)+52|0,48)|0)==0):0){j[(k[e>>2]|0)+40>>1]=k[n>>2];k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}Qr(k[e>>2]|0,3+(k[n>>2]|0)|0);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}function Wt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g+20|0;h=g+16|0;d=g+12|0;c=g+8|0;e=g+4|0;b=g;k[h>>2]=a;k[d>>2]=k[(k[h>>2]|0)+16>>2];k[e>>2]=k[(k[h>>2]|0)+20>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[d>>2]|0)+104>>2]|0)){b=7;break}k[c>>2]=(k[(k[d>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0);if((k[(k[c>>2]|0)+20>>2]|0)>>>0>=(k[e>>2]|0)>>>0?0==(yj(k[(k[c>>2]|0)+16>>2]|0,k[e>>2]|0)|0):0){b=5;break}k[b>>2]=(k[b>>2]|0)+1}if((b|0)==5){k[f>>2]=1;h=k[f>>2]|0;r=g;return h|0}else if((b|0)==7){k[f>>2]=0;h=k[f>>2]|0;r=g;return h|0}return 0}function Xt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;b=h+24|0;g=h+20|0;f=h+16|0;d=h+12|0;c=h;e=h+8|0;k[b>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[b>>2]|0)+16>>2];if(((l[(k[f>>2]|0)+5>>0]|0|0)!=2?(a=Yt(k[f>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0)?(k[d>>2]=k[(k[b>>2]|0)+4>>2],i=4+(k[(k[f>>2]|0)+160>>2]|0)|0,i=RR(k[(k[f>>2]|0)+56>>2]|0,0,i|0,((i|0)<0)<<31>>31|0)|0,a=c,k[a>>2]=i,k[a+4>>2]=L,k[e>>2]=k[d>>2],a=c,a=Zt(k[(k[f>>2]|0)+72>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){d=k[(k[f>>2]|0)+72>>2]|0;e=k[e>>2]|0;a=k[(k[f>>2]|0)+160>>2]|0;i=c;i=GR(k[i>>2]|0,k[i+4>>2]|0,4,0)|0;i=Rg(d,e,a,i,L)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=(k[f>>2]|0)+56|0;k[i>>2]=(k[i>>2]|0)+1;i=_t(k[f>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function Yt(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;d=e+8|0;c=e;k[b>>2]=a;k[d>>2]=0;if(k[k[(k[b>>2]|0)+72>>2]>>2]|0){d=k[d>>2]|0;r=e;return d|0}k[e+4>>2]=8222;k[c>>2]=k[11];if(!((l[(k[b>>2]|0)+5>>0]|0|0)!=4?(l[(k[b>>2]|0)+22>>0]|0|0)==0:0))k[c>>2]=-1;a=$t(k[k[b>>2]>>2]|0,0,k[(k[b>>2]|0)+72>>2]|0,8222,k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function Zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;g=e+12|0;h=e;i=e+8|0;f=e+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;nt(f,k[i>>2]|0);d=h;d=Rg(k[g>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;r=e;return d|0}function _t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;k[f>>2]=(k[(k[c>>2]|0)+100>>2]|0)+((k[e>>2]|0)*48|0);if((k[d>>2]|0)>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0){b=tj(k[(k[f>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[g>>2]=k[g>>2]|b}k[e>>2]=(k[e>>2]|0)+1}r=h;return k[g>>2]|0}function $t(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;l=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[i>>2];d=k[m>>2]|0;e=d+72|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(k[l>>2]|0)){m=as(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,0)|0;k[f>>2]=m;m=k[f>>2]|0;r=n;return m|0}if((k[l>>2]|0)>0)k[(k[m>>2]|0)+4>>2]=k[l>>2];else k[(k[m>>2]|0)+4>>2]=1020;k[k[m>>2]>>2]=4872;k[(k[m>>2]|0)+8>>2]=k[l>>2];k[(k[m>>2]|0)+56>>2]=k[j>>2];k[(k[m>>2]|0)+64>>2]=k[h>>2];k[(k[m>>2]|0)+60>>2]=k[g>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function au(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function bu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Ns(k[c>>2]|0)|0;r=b;return a|0}function cu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;f=x+40|0;g=x+36|0;t=x+50|0;n=x+52|0;h=x+32|0;d=x+28|0;w=x+24|0;b=x+48|0;q=x+20|0;v=x+16|0;o=x+12|0;p=x+8|0;c=x+4|0;e=x;s=x+46|0;u=x+44|0;k[g>>2]=a;do if(!(i[k[g>>2]>>0]|0)){k[d>>2]=k[(k[g>>2]|0)+52>>2];i[n>>0]=i[(k[g>>2]|0)+5>>0]|0;k[h>>2]=k[(k[g>>2]|0)+56>>2];if(du(k[g>>2]|0,l[(k[h>>2]|0)+(l[n>>0]|0)>>0]|0)|0){w=Yj(59479)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}j[(k[g>>2]|0)+20>>1]=(k[(k[d>>2]|0)+32>>2]|0)-1;i[(k[g>>2]|0)+1>>0]=0;k[w>>2]=k[(k[d>>2]|0)+36>>2];a=(l[n>>0]|0)+8+(l[(k[g>>2]|0)+6>>0]|0)&65535;j[b>>1]=a;j[(k[g>>2]|0)+14>>1]=a;k[(k[g>>2]|0)+60>>2]=(k[h>>2]|0)+(k[w>>2]|0);k[(k[g>>2]|0)+64>>2]=(k[h>>2]|0)+(m[b>>1]|0);k[(k[g>>2]|0)+68>>2]=(k[h>>2]|0)+(l[(k[g>>2]|0)+6>>0]|0);k[v>>2]=((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0])-1&65535)+1;j[(k[g>>2]|0)+18>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+3)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+3)+1>>0];if((m[(k[g>>2]|0)+18>>1]|0)>>>0>((((k[(k[d>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){w=Yj(59497)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}k[o>>2]=(m[b>>1]|0)+(m[(k[g>>2]|0)+18>>1]<<1);k[p>>2]=(k[w>>2]|0)-4;do if(k[(k[(k[d>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(i[(k[g>>2]|0)+4>>0]|0))k[p>>2]=(k[p>>2]|0)+-1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[g>>2]|0)+18>>1]|0)){b=17;break}j[t>>1]=l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))>>0]<<8|l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))+1>>0];if((m[t>>1]|0)<(k[o>>2]|0)){b=13;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=13;break}a=(gc[k[(k[g>>2]|0)+76>>2]&255](k[g>>2]|0,(k[h>>2]|0)+(m[t>>1]|0)|0)|0)&65535;k[e>>2]=a;if(((m[t>>1]|0)+(k[e>>2]|0)|0)>(k[w>>2]|0)){b=15;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==13){w=Yj(59525)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==15){w=Yj(59530)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==17){if(i[(k[g>>2]|0)+4>>0]|0)break;k[p>>2]=(k[p>>2]|0)+1;break}}while(0);j[t>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0];k[q>>2]=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0)+(k[v>>2]|0);while(1){if((m[t>>1]|0)<=0){b=29;break}if((m[t>>1]|0)<(k[o>>2]|0)){b=23;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=23;break}j[s>>1]=l[(k[h>>2]|0)+(m[t>>1]|0)>>0]<<8|l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0];j[u>>1]=l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]<<8|l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0];if((m[s>>1]|0)>0?(m[s>>1]|0)<=((m[t>>1]|0)+(m[u>>1]|0)+3|0):0){b=27;break}if(((m[t>>1]|0)+(m[u>>1]|0)|0)>(k[w>>2]|0)){b=27;break}k[q>>2]=(k[q>>2]|0)+(m[u>>1]|0);j[t>>1]=j[s>>1]|0}if((b|0)==23){w=Yj(59550)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==27){w=Yj(59557)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==29){if((k[q>>2]|0)<=(k[w>>2]|0)){j[(k[g>>2]|0)+16>>1]=(k[q>>2]|0)-(k[o>>2]|0);i[k[g>>2]>>0]=1;break}w=Yj(59571)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}}while(0);k[f>>2]=0;w=k[f>>2]|0;r=x;return w|0}function du(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;i[(k[e>>2]|0)+4>>0]=k[c>>2]>>3;k[c>>2]=k[c>>2]&-9;i[(k[e>>2]|0)+6>>0]=4-(l[(k[e>>2]|0)+4>>0]<<2);k[(k[e>>2]|0)+76>>2]=188;k[f>>2]=k[(k[e>>2]|0)+52>>2];do if((k[c>>2]|0)==5){i[(k[e>>2]|0)+2>>0]=1;c=(k[e>>2]|0)+3|0;if(i[(k[e>>2]|0)+4>>0]|0){i[c>>0]=1;k[(k[e>>2]|0)+80>>2]=226}else{i[c>>0]=0;k[(k[e>>2]|0)+76>>2]=189;k[(k[e>>2]|0)+80>>2]=227}j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+28>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+30>>1]|0}else{if((k[c>>2]|0)==2){i[(k[e>>2]|0)+2>>0]=0;i[(k[e>>2]|0)+3>>0]=0;k[(k[e>>2]|0)+80>>2]=228;j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+24>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+26>>1]|0;break}f=Yj(59437)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}while(0);i[(k[e>>2]|0)+7>>0]=i[(k[f>>2]|0)+21>>0]|0;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function eu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);k[f>>2]=l[k[h>>2]>>0];a:do if((k[f>>2]|0)>>>0>=128){k[g>>2]=(k[h>>2]|0)+8;k[f>>2]=k[f>>2]&127;do{b=k[f>>2]<<7;a=(k[h>>2]|0)+1|0;k[h>>2]=a;k[f>>2]=b|l[a>>0]&127;if((l[k[h>>2]>>0]|0)<128)break a}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);k[h>>2]=(k[h>>2]|0)+1;b:do if(i[(k[c>>2]|0)+2>>0]|0){k[g>>2]=(k[h>>2]|0)+9;do{a=k[h>>2]|0;k[h>>2]=a+1;if(!(l[a>>0]&128))break b}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);if((k[f>>2]|0)>>>0<=(m[(k[c>>2]|0)+10>>1]|0)>>>0){a=(k[f>>2]|0)+((k[h>>2]|0)-(k[d>>2]|0))|0;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<4?4:a;a=k[f>>2]|0;a=a&65535;r=j;return a|0}k[e>>2]=m[(k[c>>2]|0)+12>>1];k[f>>2]=(k[e>>2]|0)+((((k[f>>2]|0)-(k[e>>2]|0)|0)>>>0)%(((k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[f>>2]|0)>>>0>(m[(k[c>>2]|0)+10>>1]|0)>>>0)k[f>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+(4+((k[h>>2]|0)-(k[d>>2]|0)&65535));a=k[f>>2]|0;a=a&65535;r=j;return a|0}function fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;o=p+20|0;h=p+16|0;g=p;i=p+12|0;n=p+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[e>>2];k[h>>2]=l[k[o>>2]>>0];a:do if((k[h>>2]|0)>>>0>=128){k[i>>2]=(k[o>>2]|0)+8;k[h>>2]=k[h>>2]&127;do{c=k[h>>2]<<7;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[h>>2]=c|(l[a>>0]|0)&127;if((l[k[o>>2]>>0]|0|0)<128)break a}while((k[o>>2]|0)>>>0<(k[i>>2]|0)>>>0)}while(0);k[o>>2]=(k[o>>2]|0)+1;a=g;k[a>>2]=l[k[o>>2]>>0];k[a+4>>2]=0;a=g;c=k[a+4>>2]|0;b:do if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=128){k[n>>2]=(k[o>>2]|0)+7;a=g;k[a>>2]=k[g>>2]&127;k[a+4>>2]=0;do{i=g;i=LR(k[i>>2]|0,k[i+4>>2]|0,7)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;c=(l[c>>0]|0)&127;a=g;k[a>>2]=i|c;k[a+4>>2]=L|((c|0)<0)<<31>>31;if((l[k[o>>2]>>0]|0|0)<128)break b}while((k[o>>2]|0)>>>0<(k[n>>2]|0)>>>0);n=g;n=LR(k[n>>2]|0,k[n+4>>2]|0,8)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;a=g;k[a>>2]=n|(l[c>>0]|0);k[a+4>>2]=L}while(0);k[o>>2]=(k[o>>2]|0)+1;n=g;c=k[n+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[n>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+8>>2]=k[o>>2];if((k[h>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){ju(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=p;return}j[(k[f>>2]|0)+18>>1]=(k[h>>2]|0)+((k[o>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[h>>2];r=p;return}function gu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;e=f+4|0;d=f;k[f+12>>2]=a;k[c>>2]=b;k[e>>2]=(k[c>>2]|0)+4;k[d>>2]=(k[e>>2]|0)+9;do{a=k[e>>2]|0;k[e>>2]=a+1;if(!((l[a>>0]|0)&128))break}while((k[e>>2]|0)>>>0<(k[d>>2]|0)>>>0);r=f;return (k[e>>2]|0)-(k[c>>2]|0)&65535|0}function hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d;k[d+8>>2]=a;k[f>>2]=b;k[e>>2]=c;a=4+((ku((k[f>>2]|0)+4|0,k[e>>2]|0)|0)&255)&65535;j[(k[e>>2]|0)+18>>1]=a;k[(k[e>>2]|0)+12>>2]=0;j[(k[e>>2]|0)+16>>1]=0;k[(k[e>>2]|0)+8>>2]=0;r=d;return}function iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;i=n+8|0;g=n+4|0;h=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+6>>0]|0);k[g>>2]=l[k[i>>2]>>0];a:do if((k[g>>2]|0)>>>0>=128){k[h>>2]=(k[i>>2]|0)+8;k[g>>2]=k[g>>2]&127;do{c=k[g>>2]<<7;a=(k[i>>2]|0)+1|0;k[i>>2]=a;k[g>>2]=c|(l[a>>0]|0)&127;if((l[k[i>>2]>>0]|0|0)<128)break a}while((k[i>>2]|0)>>>0<(k[h>>2]|0)>>>0)}while(0);k[i>>2]=(k[i>>2]|0)+1;a=k[f>>2]|0;k[a>>2]=k[g>>2];k[a+4>>2]=0;k[(k[f>>2]|0)+12>>2]=k[g>>2];k[(k[f>>2]|0)+8>>2]=k[i>>2];if((k[g>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){ju(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=n;return}j[(k[f>>2]|0)+18>>1]=(k[g>>2]|0)+((k[i>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[g>>2];r=n;return}function ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=r;r=r+32|0;l=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=m[(k[l>>2]|0)+12>>1];k[i>>2]=m[(k[l>>2]|0)+10>>1];k[g>>2]=(k[f>>2]|0)+((((k[(k[e>>2]|0)+12>>2]|0)-(k[f>>2]|0)|0)>>>0)%(((k[(k[(k[l>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[g>>2]|0)<=(k[i>>2]|0))j[(k[e>>2]|0)+16>>1]=k[g>>2];else j[(k[e>>2]|0)+16>>1]=k[f>>2];j[(k[e>>2]|0)+18>>1]=((k[(k[e>>2]|0)+8>>2]|0)+(m[(k[e>>2]|0)+16>>1]|0)-(k[d>>2]|0)&65535)+4;r=h;return}function ku(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=1;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=2;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);b=(k[f>>2]&128|0)!=0;k[f>>2]=k[f>>2]&2080895;if(!b){k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=3;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);b=(k[g>>2]&128|0)!=0;k[g>>2]=k[g>>2]&2080895;a=k[f>>2]|0;if(!b){k[f>>2]=a<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=4;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=5;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=k[h>>2]<<7;k[h>>2]=k[h>>2]|k[g>>2];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=6;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);a=k[f>>2]|0;if(!(k[f>>2]&128)){k[f>>2]=a&-266354561;k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>11;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=7;h=i[c>>0]|0;r=j;return h|0}k[f>>2]=a&2080895;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(k[g>>2]&128){k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<15;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<8;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=k[h>>2]<<4;k[g>>2]=l[(k[d>>2]|0)+-4>>0];k[g>>2]=k[g>>2]&127;k[g>>2]=(k[g>>2]|0)>>>3;k[h>>2]=k[h>>2]|k[g>>2];g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=9;h=i[c>>0]|0;r=j;return h|0}else{k[g>>2]=k[g>>2]&-266354561;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>4;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=8;h=i[c>>0]|0;r=j;return h|0}return 0}function lu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;while(1){if((k[d>>2]|0)>0)a=(i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)==32;else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=b+-1}r=e;return (b|0)==0|0}function mu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;if(!(k[e>>2]|0)){j=k[j>>2]|0;r=m;return j|0}k[i>>2]=k[(k[e>>2]|0)+4>>2];wg(k[e>>2]|0);if(l[(k[i>>2]|0)+20>>0]|0){k[j>>2]=6;j=k[j>>2]|0;r=m;return j|0}else{c=nu(k[k[i>>2]>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;j=k[j>>2]|0;r=m;return j|0}return 0}function nu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;if(!(k[(k[e>>2]|0)+216>>2]|0)){i=k[i>>2]|0;r=j;return i|0}if(!(k[f>>2]|0))b=0;else b=k[(k[e>>2]|0)+184>>2]|0;h=_s(k[(k[e>>2]|0)+216>>2]|0,k[f>>2]|0,b,k[(k[e>>2]|0)+188>>2]|0,l[(k[e>>2]|0)+10>>0]|0,k[(k[e>>2]|0)+160>>2]|0,k[(k[e>>2]|0)+208>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}function ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;c=k[e>>2]|0;if((k[f>>2]|0)==-2){k[d>>2]=(k[c+12>>2]|0)==0?0:6;h=k[d>>2]|0;r=j;return h|0}if((i[c>>0]|0)!=(k[f>>2]|0)?(i[k[e>>2]>>0]|0)>=0:0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}if((i[k[e>>2]>>0]|0)==(k[f>>2]|0))k[h>>2]=4;else k[h>>2]=1;if((l[g>>0]|0)!=(m[(k[e>>2]|0)+2>>1]&3|0)){if(l[g>>0]&m[(k[e>>2]|0)+2>>1]&2)k[h>>2]=(k[h>>2]|0)+1}else k[h>>2]=(k[h>>2]|0)+2;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}function pu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;e=f+12|0;g=f+8|0;c=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[1080+(k[g>>2]<<2)>>2];while(1){if(!(k[d>>2]|0)){a=6;break}g=(sg(k[(k[d>>2]|0)+20>>2]|0,k[c>>2]|0)|0)==0;b=k[d>>2]|0;if(g){a=4;break}k[d>>2]=k[b+24>>2]}if((a|0)==4){k[e>>2]=b;g=k[e>>2]|0;r=f;return g|0}else if((a|0)==6){k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}return 0}function qu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(((m[(k[d>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[d>>2]|0)+10>>0]|0|0)!=(k[e>>2]|0):0){a=ru(k[d>>2]|0,k[e>>2]&255)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0} -function AJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;g=x+64|0;f=x+60|0;h=x+56|0;s=x+52|0;p=x+48|0;q=x+44|0;e=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;o=x+20|0;c=x+16|0;n=x+12|0;d=x+8|0;m=x+4|0;j=x;k[f>>2]=a;k[h>>2]=b;k[s>>2]=0;k[e>>2]=0;k[o>>2]=0;if(!(i[(k[h>>2]|0)+67>>0]|0)){Kj(k[f>>2]|0,k[h>>2]|0,41012);k[g>>2]=1;w=k[g>>2]|0;r=x;return w|0}if((k[(k[h>>2]|0)+152>>2]|0)>1){Kj(k[f>>2]|0,k[h>>2]|0,41052);k[g>>2]=1;w=k[g>>2]|0;r=x;return w|0}k[t>>2]=k[(k[h>>2]|0)+24>>2];k[u>>2]=k[(k[h>>2]|0)+84>>2];k[v>>2]=k[(k[h>>2]|0)+88>>2];k[w>>2]=k[(k[h>>2]|0)+180>>2];a=(k[h>>2]|0)+24|0;k[a>>2]=k[a>>2]|2107392;a=(k[h>>2]|0)+24|0;k[a>>2]=k[a>>2]&-655361;k[(k[h>>2]|0)+180>>2]=0;k[p>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+4>>2];a=aK(Zf(k[p>>2]|0)|0)|0;k[c>>2]=a;k[d>>2]=k[(k[h>>2]|0)+20>>2];if(fr(k[h>>2]|0)|0)k[e>>2]=41095;else k[e>>2]=41127;e=bK(k[h>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[s>>2]=e;if((k[(k[h>>2]|0)+20>>2]|0)>(k[d>>2]|0))k[o>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[(k[h>>2]|0)+20>>2]|0)-1<<4);a:do if((((k[s>>2]|0)==0?(k[q>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+((k[(k[h>>2]|0)+20>>2]|0)-1<<4)+4>>2],Oj(k[q>>2]|0)|0,e=cK(k[p>>2]|0)|0,k[n>>2]=e,e=bK(k[h>>2]|0,k[f>>2]|0,41151)|0,k[s>>2]=e,(k[s>>2]|0)==0):0)?(e=bK(k[h>>2]|0,k[f>>2]|0,41184)|0,k[s>>2]=e,(k[s>>2]|0)==0):0)?(e=yg(k[p>>2]|0,2)|0,k[s>>2]=e,(k[s>>2]|0)==0):0){if((Cg(Zf(k[p>>2]|0)|0)|0)==5)k[(k[h>>2]|0)+76>>2]=0;a=k[q>>2]|0;e=Bg(k[p>>2]|0)|0;do if(!(Ki(a,e,k[n>>2]|0,0)|0)){if((k[c>>2]|0)==0?(Ki(k[q>>2]|0,k[(k[h>>2]|0)+76>>2]|0,k[n>>2]|0,0)|0)!=0:0)break;if(!(l[(k[h>>2]|0)+69>>0]|0)){b=k[q>>2]|0;if((i[(k[h>>2]|0)+72>>0]|0)>=0)c=i[(k[h>>2]|0)+72>>0]|0;else c=oC(k[p>>2]|0)|0;qC(b,c)|0;e=dK(k[h>>2]|0,k[f>>2]|0,41191)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=dK(k[h>>2]|0,k[f>>2]|0,41339)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=dK(k[h>>2]|0,k[f>>2]|0,41443)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=(k[h>>2]|0)+24|0;k[e>>2]=k[e>>2]|268435456;e=dK(k[h>>2]|0,k[f>>2]|0,41561)|0;k[s>>2]=e;e=(k[h>>2]|0)+24|0;k[e>>2]=k[e>>2]&-268435457;if(k[s>>2]|0)break a;e=dK(k[h>>2]|0,k[f>>2]|0,41757)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=dK(k[h>>2]|0,k[f>>2]|0,41870)|0;k[s>>2]=e;if(k[s>>2]|0)break a;f=bK(k[h>>2]|0,k[f>>2]|0,42025)|0;k[s>>2]=f;if(k[s>>2]|0)break a;k[j>>2]=0;while(1){b=k[p>>2]|0;if((k[j>>2]|0)>=10)break;zg(b,l[42209+(k[j>>2]|0)>>0]|0,m);f=Kg(k[q>>2]|0,l[42209+(k[j>>2]|0)>>0]|0,(k[m>>2]|0)+(l[42209+((k[j>>2]|0)+1)>>0]|0)|0)|0;k[s>>2]=f;if(k[s>>2]|0)break a;k[j>>2]=(k[j>>2]|0)+2}m=eK(b,k[q>>2]|0)|0;k[s>>2]=m;if(k[s>>2]|0)break a;m=Oj(k[q>>2]|0)|0;k[s>>2]=m;if(k[s>>2]|0)break a;m=k[p>>2]|0;qC(m,oC(k[q>>2]|0)|0)|0;m=k[p>>2]|0;q=Bg(k[q>>2]|0)|0;q=Ki(m,q,k[n>>2]|0,1)|0;k[s>>2]=q;break a}}while(0);k[s>>2]=7}while(0);k[(k[h>>2]|0)+24>>2]=k[t>>2];k[(k[h>>2]|0)+84>>2]=k[u>>2];k[(k[h>>2]|0)+88>>2]=k[v>>2];k[(k[h>>2]|0)+180>>2]=k[w>>2];Ki(k[p>>2]|0,-1,-1,1)|0;i[(k[h>>2]|0)+67>>0]=1;if(k[o>>2]|0){IB(k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[o>>2]|0)+4>>2]=0;k[(k[o>>2]|0)+12>>2]=0}Lg(k[h>>2]|0);k[g>>2]=k[s>>2];w=k[g>>2]|0;r=x;return w|0}function BJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;f=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;b=g;k[h>>2]=a;k[e>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!(i[(k[e>>2]|0)+17>>0]|0)){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=xF(k[e>>2]|0)|0;k[d>>2]=h;h=or((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[c>>2]=h;h=PJ(k[e>>2]|0,k[d>>2]|0,k[c>>2]|0)|0;k[b>>2]=h;if((k[d>>2]|0)>>>0<(k[b>>2]|0)>>>0){h=Yj(61338)|0;k[f>>2]=h;h=k[f>>2]|0;r=g;return h|0}if((k[c>>2]|0)>>>0<=0){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=KH(k[e>>2]|0,0,0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){QJ(k[e>>2]|0);h=RJ(k[e>>2]|0,k[b>>2]|0,k[d>>2]|0,0)|0;k[f>>2]=h}if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=Pg(k[(k[(k[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[f>>2]=h;nt((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[e>>2]|0)+44>>2]|0);h=k[f>>2]|0;r=g;return h|0}function CJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;d=j+8|0;e=j+4|0;f=j+13|0;h=j;g=j+12|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;k[h>>2]=0;if(!(i[(k[d>>2]|0)+9>>0]|0)){h=k[h>>2]|0;r=j;return h|0}i[g>>0]=1+(l[f>>0]|0);wg(k[d>>2]|0);a=JH(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=j;return h|0}a=OJ(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;h=k[h>>2]|0;r=j;return h|0}function DJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;e=l+16|0;i=l+12|0;h=l+8|0;f=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[i>>2]=0;if((k[(k[d>>2]|0)+316>>2]|0)>0?(k[(k[d>>2]|0)+340>>2]|0)==0:0){k[c>>2]=6;j=k[c>>2]|0;r=l;return j|0}if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}k[h>>2]=k[k[(k[e>>2]|0)+8>>2]>>2];if(k[(k[h>>2]|0)+56>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0))break;if((k[(k[(k[d>>2]|0)+340>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[e>>2]|0)){j=10;break}k[f>>2]=(k[f>>2]|0)+1}if((j|0)==10){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}j=MJ(k[d>>2]|0)|0;k[i>>2]=j;if(((k[i>>2]|0)==0?(j=bc[k[(k[h>>2]|0)+56>>2]&255](k[(k[e>>2]|0)+8>>2]|0)|0,k[i>>2]=j,(k[i>>2]|0)==0):0)?(k[g>>2]=(k[(k[d>>2]|0)+436>>2]|0)+(k[(k[d>>2]|0)+432>>2]|0),NJ(k[d>>2]|0,k[e>>2]|0),(k[g>>2]|0)!=0):0){j=KI(k[d>>2]|0,0,(k[g>>2]|0)-1|0)|0;k[i>>2]=j}}k[c>>2]=k[i>>2];j=k[c>>2]|0;r=l;return j|0}function EJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;j=m;e=m+32|0;n=m+28|0;o=m+24|0;f=m+20|0;i=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;k[e>>2]=a;k[n>>2]=b;k[o>>2]=c;k[f>>2]=d;k[i>>2]=0;c=Bi(k[e>>2]|0,k[o>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2]|0)|0;k[h>>2]=c;k[l>>2]=k[k[(k[h>>2]|0)+52>>2]>>2];c=Aj((k[e>>2]|0)+320|0,k[l>>2]|0)|0;k[g>>2]=c;if(((k[g>>2]|0)!=0?(k[(k[k[g>>2]>>2]|0)+4>>2]|0)!=0:0)?(k[(k[k[g>>2]>>2]|0)+20>>2]|0)!=0:0){o=Lz(k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+4>>2]|0,k[f>>2]|0)|0;k[i>>2]=o}else{o=k[e>>2]|0;k[j>>2]=k[l>>2];o=Oh(o,31227,j)|0;k[k[f>>2]>>2]=o;k[i>>2]=1}if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}if(!(Xx(k[e>>2]|0,k[h>>2]|0)|0)){o=k[i>>2]|0;r=m;return o|0}o=MJ(k[e>>2]|0)|0;k[i>>2]=o;if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}o=k[e>>2]|0;NJ(o,Xx(k[e>>2]|0,k[h>>2]|0)|0);o=k[i>>2]|0;r=m;return o|0}function FJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;l=j+20|0;m=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;k[e>>2]=a;k[l>>2]=b;k[m>>2]=c;k[h>>2]=0;c=Bi(k[e>>2]|0,k[m>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[g>>2]=c;do if((k[g>>2]|0)!=0?(k[(k[g>>2]|0)+56>>2]|0)!=0:0){k[f>>2]=k[(k[g>>2]|0)+56>>2];while(1){if(!(k[f>>2]|0)){a=8;break}if((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}k[f>>2]=k[(k[f>>2]|0)+24>>2]}if((a|0)==6){k[d>>2]=6;m=k[d>>2]|0;r=j;return m|0}else if((a|0)==8){m=_H(k[e>>2]|0,k[g>>2]|0)|0;k[f>>2]=m;k[i>>2]=k[(k[k[(k[f>>2]|0)+4>>2]>>2]|0)+20>>2];m=bc[k[i>>2]&255](k[(k[f>>2]|0)+8>>2]|0)|0;k[h>>2]=m;if(k[h>>2]|0)break;k[(k[f>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+56>>2]=0;Au(k[f>>2]|0);break}}while(0);k[d>>2]=k[h>>2];m=k[d>>2]|0;r=j;return m|0}function GJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;wg(k[f>>2]|0);a=LJ(k[k[(k[f>>2]|0)+4>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function HJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;d=D+148|0;e=D+144|0;f=D+140|0;n=D+136|0;u=D+132|0;o=D+128|0;t=D+124|0;h=D+120|0;v=D+116|0;C=D+88|0;c=D+84|0;q=D+80|0;g=D+152|0;w=D;s=D+76|0;k[d>>2]=a;k[e>>2]=b;k[n>>2]=0;k[u>>2]=1;k[f>>2]=k[k[d>>2]>>2];ng(C,k[f>>2]|0,D+156|0,100,k[(k[f>>2]|0)+92>>2]|0);if((k[(k[f>>2]|0)+164>>2]|0)>1){while(1){if(!(i[k[e>>2]>>0]|0))break;k[c>>2]=k[e>>2];do{B=k[e>>2]|0;k[e>>2]=B+1;if((i[B>>0]|0)==10)break}while((i[k[e>>2]>>0]|0)!=0);xA(C,40978,3);xA(C,k[c>>2]|0,(k[e>>2]|0)-(k[c>>2]|0)|0)}C=pg(C)|0;r=D;return C|0}if(!(j[(k[d>>2]|0)+68>>1]|0)){B=k[e>>2]|0;xA(C,B,Tf(k[e>>2]|0)|0);C=pg(C)|0;r=D;return C|0}while(1){if(!(i[k[e>>2]>>0]|0)){a=33;break}c=KJ(k[e>>2]|0,t)|0;k[o>>2]=c;xA(C,k[e>>2]|0,k[o>>2]|0);k[e>>2]=(k[e>>2]|0)+(k[o>>2]|0);if(!(k[t>>2]|0)){a=33;break}do if((i[k[e>>2]>>0]|0)==63)if((k[t>>2]|0)>1){Yi((k[e>>2]|0)+1|0,n)|0;break}else{k[n>>2]=k[u>>2];break}else{c=Hh(k[d>>2]|0,k[e>>2]|0,k[t>>2]|0)|0;k[n>>2]=c}while(0);k[e>>2]=(k[e>>2]|0)+(k[t>>2]|0);k[u>>2]=(k[n>>2]|0)+1;k[v>>2]=(k[(k[d>>2]|0)+60>>2]|0)+(((k[n>>2]|0)-1|0)*40|0);if(m[(k[v>>2]|0)+8>>1]&1){xA(C,40184,4);continue}b=k[v>>2]|0;if(m[(k[v>>2]|0)+8>>1]&4){a=b;b=k[a+4>>2]|0;c=x;k[c>>2]=k[a>>2];k[c+4>>2]=b;wA(C,28870,x);continue}a=k[v>>2]|0;if(m[b+8>>1]&8){p[y>>3]=+p[a>>3];wA(C,28875,y);continue}if(m[a+8>>1]&2){i[g>>0]=i[(k[f>>2]|0)+66>>0]|0;if((l[g>>0]|0)!=1){a=w;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[w+32>>2]=k[f>>2];ph(w,k[(k[v>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+12>>2]|0,i[g>>0]|0,0)|0;qu(w,1)|0;k[v>>2]=w}k[q>>2]=k[(k[v>>2]|0)+12>>2];c=k[(k[v>>2]|0)+16>>2]|0;k[A>>2]=k[q>>2];k[A+4>>2]=c;wA(C,40982,A);if((l[g>>0]|0)==1)continue;eh(w);continue}if(m[(k[v>>2]|0)+8>>1]&16384){k[B>>2]=k[k[v>>2]>>2];wA(C,40989,B);continue}xA(C,41002,2);k[s>>2]=k[(k[v>>2]|0)+12>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[s>>2]|0))break;k[z>>2]=i[(k[(k[v>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]&255;wA(C,41005,z);k[h>>2]=(k[h>>2]|0)+1}xA(C,41010,1)}if((a|0)==33){C=pg(C)|0;r=D;return C|0}return 0}function IJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)==3082){r=e;return}k[d>>2]=k[d>>2]&255;if(!((k[d>>2]|0)==14|(k[d>>2]|0)==10)){r=e;return}b=JJ(k[k[c>>2]>>2]|0)|0;k[(k[c>>2]|0)+60>>2]=b;r=e;return}function JJ(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+68>>2]|0)){a=0;r=c;return a|0}a=Yb[k[(k[b>>2]|0)+68>>2]&255](k[b>>2]|0,0,0)|0;r=c;return a|0}function KJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[k[d>>2]>>2]=0;while(1){if(!(i[k[c>>2]>>0]|0)){h=6;break}b=hv(k[c>>2]|0,g)|0;k[e>>2]=b;b=k[e>>2]|0;if((k[g>>2]|0)==135)break;k[f>>2]=(k[f>>2]|0)+b;k[c>>2]=(k[c>>2]|0)+(k[e>>2]|0)}if((h|0)==6){h=k[f>>2]|0;r=j;return h|0}k[k[d>>2]>>2]=b;h=k[f>>2]|0;r=j;return h|0}function LJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>0)k[(k[c>>2]|0)+164>>2]=k[d>>2];r=e;return k[(k[c>>2]|0)+164>>2]|0}function MJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+16|0;c=f+12|0;d=f+4|0;e=f;k[c>>2]=a;k[f+8>>2]=5;do if(!((k[(k[c>>2]|0)+316>>2]|0)%5|0)){k[e>>2]=(k[(k[c>>2]|0)+316>>2]|0)+5<<2;e=k[e>>2]|0;e=_w(k[c>>2]|0,k[(k[c>>2]|0)+340>>2]|0,e,((e|0)<0)<<31>>31)|0;k[d>>2]=e;if(k[d>>2]|0){e=(k[d>>2]|0)+(k[(k[c>>2]|0)+316>>2]<<2)|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[(k[c>>2]|0)+340>>2]=k[d>>2];break}k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function NJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[d>>2]|0;f=(k[e>>2]|0)+316|0;b=k[f>>2]|0;k[f>>2]=b+1;k[(k[(k[e>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;VH(k[d>>2]|0);r=c;return}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+24|0;h=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];k[m>>2]=0;k[j>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[j>>2]|0))break;if((k[(k[j>>2]|0)+4>>2]|0)==(k[f>>2]|0)?(k[k[j>>2]>>2]|0)==(k[e>>2]|0):0){n=5;break}k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((n|0)==5)k[m>>2]=k[j>>2];do if(!(k[m>>2]|0)){n=ug(16,0)|0;k[m>>2]=n;if(k[m>>2]|0){k[(k[m>>2]|0)+4>>2]=k[f>>2];k[k[m>>2]>>2]=k[e>>2];k[(k[m>>2]|0)+12>>2]=k[(k[h>>2]|0)+72>>2];k[(k[h>>2]|0)+72>>2]=k[m>>2];break}k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}while(0);if((l[g>>0]|0|0)>(l[(k[m>>2]|0)+8>>0]|0|0))i[(k[m>>2]|0)+8>>0]=i[g>>0]|0;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function PJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;d=f+20|0;g=f+16|0;i=f+12|0;j=f+8|0;h=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[i>>2]=c;k[j>>2]=((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0;a=(k[i>>2]|0)-(k[g>>2]|0)|0;a=a+(JF(k[d>>2]|0,k[g>>2]|0)|0)|0;k[h>>2]=((a+(k[j>>2]|0)|0)>>>0)/((k[j>>2]|0)>>>0)|0;k[e>>2]=(k[g>>2]|0)-(k[i>>2]|0)-(k[h>>2]|0);if((k[g>>2]|0)>>>0>((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(k[e>>2]|0)>>>0<((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)k[e>>2]=(k[e>>2]|0)+-1;while(1){j=JF(k[d>>2]|0,k[e>>2]|0)|0;if((j|0)==(k[e>>2]|0))b=1;else b=(k[e>>2]|0)==((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0);c=k[e>>2]|0;if(!b)break;k[e>>2]=c+-1}r=f;return c|0}function QJ(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-5;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function RJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+52|0;f=z+48|0;g=z+44|0;h=z+40|0;j=z+36|0;t=z+32|0;x=z+28|0;n=z+57|0;s=z+24|0;o=z+20|0;u=z+16|0;p=z+12|0;w=z+8|0;m=z+56|0;q=z+4|0;v=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;a=JF(k[f>>2]|0,k[h>>2]|0)|0;do if((a|0)!=(k[h>>2]|0)?(k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=or((k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[t>>2]=a;if(!(k[t>>2]|0)){k[e>>2]=101;y=k[e>>2]|0;r=z;return y|0}a=KF(k[f>>2]|0,k[h>>2]|0,n,s)|0;k[x>>2]=a;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==1){y=Yj(61223)|0;k[e>>2]=y;y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==2){if(k[j>>2]|0)break;y=SJ(k[f>>2]|0,u,o,k[h>>2]|0,1)|0;k[x>>2]=y;if(!(k[x>>2]|0)){NB(k[u>>2]|0);break}k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}i[m>>0]=0;k[q>>2]=0;u=LF(k[f>>2]|0,k[h>>2]|0,w,0)|0;k[x>>2]=u;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if(!(k[j>>2]|0)){i[m>>0]=2;k[q>>2]=k[g>>2]}do{u=SJ(k[f>>2]|0,v,p,k[q>>2]|0,i[m>>0]|0)|0;k[x>>2]=u;if(k[x>>2]|0){y=19;break}NB(k[v>>2]|0);if(!(k[j>>2]|0))break}while((k[p>>2]|0)>>>0>(k[g>>2]|0)>>>0);if((y|0)==19){NB(k[w>>2]|0);k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}y=TJ(k[f>>2]|0,k[w>>2]|0,i[n>>0]|0,k[s>>2]|0,k[p>>2]|0,k[j>>2]|0)|0;k[x>>2]=y;NB(k[w>>2]|0);if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}}while(0);if(!(k[j>>2]|0)){while(1){k[h>>2]=(k[h>>2]|0)+-1;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=JF(k[f>>2]|0,k[h>>2]|0)|0;if((y|0)!=(k[h>>2]|0))break}i[(k[f>>2]|0)+19>>0]=1;k[(k[f>>2]|0)+44>>2]=k[h>>2]}k[e>>2]=0;y=k[e>>2]|0;r=z;return y|0}function SJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;H=L+96|0;j=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;p=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;g=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;q=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;f=L+4|0;h=L;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;i[p>>0]=e;k[J>>2]=0;k[I>>2]=0;k[F>>2]=k[(k[j>>2]|0)+12>>2];b=xF(k[j>>2]|0)|0;k[A>>2]=b;b=or((k[(k[F>>2]|0)+56>>2]|0)+36|0)|0;k[B>>2]=b;if((k[B>>2]|0)>>>0>=(k[A>>2]|0)>>>0){K=Yj(63280)|0;k[H>>2]=K;K=k[H>>2]|0;r=L;return K|0}a:do if((k[B>>2]|0)>>>0>0){i[G>>0]=0;k[C>>2]=0;do if((l[p>>0]|0)==1){if((k[o>>2]|0)>>>0<=(k[A>>2]|0)>>>0){b=KF(k[j>>2]|0,k[o>>2]|0,g,0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{if((l[g>>0]|0)!=2)break;i[G>>0]=1;break}}}else if((l[p>>0]|0)==2)i[G>>0]=1;while(0);b=Pg(k[(k[F>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}nt((k[(k[F>>2]|0)+56>>2]|0)+36|0,(k[B>>2]|0)-1|0);b:while(1){k[I>>2]=k[J>>2];if(k[I>>2]|0){b=or(k[(k[I>>2]|0)+56>>2]|0)|0;k[y>>2]=b}else{b=or((k[(k[F>>2]|0)+56>>2]|0)+32|0)|0;k[y>>2]=b}if((k[y>>2]|0)>>>0<=(k[A>>2]|0)>>>0?(b=k[C>>2]|0,k[C>>2]=b+1,b>>>0<=(k[B>>2]|0)>>>0):0){b=_J(k[j>>2]|0,k[y>>2]|0,J,0)|0;k[K>>2]=b}else{b=Yj(63336)|0;k[K>>2]=b}if(k[K>>2]|0){f=23;break}b=or((k[(k[J>>2]|0)+56>>2]|0)+4|0)|0;k[z>>2]=b;c:do if((k[z>>2]|0)!=0|(i[G>>0]|0)!=0){if((k[z>>2]|0)>>>0>((((k[(k[j>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){f=28;break b}do if(l[G>>0]|0){if((k[o>>2]|0)!=(k[y>>2]|0)){if((k[y>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[y>>2];k[k[m>>2]>>2]=k[J>>2];i[G>>0]=0;b=Pg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;do if(!(k[z>>2]|0)){if(!(k[I>>2]|0)){b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;break}b=Pg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;b=k[(k[I>>2]|0)+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}else{b=or((k[(k[J>>2]|0)+56>>2]|0)+8|0)|0;k[w>>2]=b;if((k[w>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=40;break b}b=_J(k[j>>2]|0,k[w>>2]|0,E,0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;e=Pg(k[(k[E>>2]|0)+72>>2]|0)|0;k[K>>2]=e;e=k[E>>2]|0;if(k[K>>2]|0){f=43;break b}b=k[e+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;nt((k[(k[E>>2]|0)+56>>2]|0)+4|0,(k[z>>2]|0)-1|0);IR((k[(k[E>>2]|0)+56>>2]|0)+8|0,(k[(k[J>>2]|0)+56>>2]|0)+12|0,(k[z>>2]|0)-1<<2|0)|0;NB(k[E>>2]|0);if(!(k[I>>2]|0)){nt((k[(k[F>>2]|0)+56>>2]|0)+32|0,k[w>>2]|0);break}b=Pg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;nt(k[(k[I>>2]|0)+56>>2]|0,k[w>>2]|0)}while(0);k[J>>2]=0;break c}while(0);if((k[z>>2]|0)>>>0>0){k[q>>2]=k[(k[J>>2]|0)+56>>2];b=(k[o>>2]|0)>>>0>0;k[s>>2]=0;d:do if(b)if((l[p>>0]|0)==2){k[v>>2]=0;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;f=or((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;k[x>>2]=f;f=k[v>>2]|0;if((k[x>>2]|0)>>>0<=(k[o>>2]|0)>>>0)break;k[v>>2]=f+1}k[s>>2]=f;break}else{b=or((k[q>>2]|0)+8|0)|0;b=Lj(b-(k[o>>2]|0)|0)|0;k[u>>2]=b;k[v>>2]=1;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;b=or((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;b=Lj(b-(k[o>>2]|0)|0)|0;k[t>>2]=b;if((k[t>>2]|0)<(k[u>>2]|0)){k[s>>2]=k[v>>2];k[u>>2]=k[t>>2]}k[v>>2]=(k[v>>2]|0)+1}}while(0);b=or((k[q>>2]|0)+(8+(k[s>>2]<<2))|0)|0;k[x>>2]=b;if((k[x>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=63;break b}if((i[G>>0]|0)!=0?(k[x>>2]|0)!=(k[o>>2]|0):0){if((k[x>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[x>>2];b=Pg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;if((k[s>>2]|0)>>>0<((k[z>>2]|0)-1|0)>>>0){b=(k[q>>2]|0)+(8+(k[s>>2]<<2))|0;c=(k[q>>2]|0)+(4+(k[z>>2]<<2))|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}nt((k[q>>2]|0)+4|0,(k[z>>2]|0)-1|0);b=($J(k[j>>2]|0,k[k[n>>2]>>2]|0)|0)!=0^1;k[D>>2]=b?1:0;b=_J(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[D>>2]|0)|0;k[K>>2]=b;do if(!(k[K>>2]|0)){b=Pg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(!(k[K>>2]|0))break;NB(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0}while(0);i[G>>0]=0}}else{b=Pg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;k[k[n>>2]>>2]=k[y>>2];b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;k[k[m>>2]>>2]=k[J>>2];k[J>>2]=0}while(0);NB(k[I>>2]|0);k[I>>2]=0;if(!(i[G>>0]|0))break a}if((f|0)==23){k[J>>2]=0;break}else if((f|0)==28){G=Yj(63365)|0;k[K>>2]=G;break}else if((f|0)==40){G=Yj(63399)|0;k[K>>2]=G;break}else if((f|0)==43){NB(e);break}else if((f|0)==63){G=Yj(63464)|0;k[K>>2]=G;break}}else{k[f>>2]=0==(l[(k[j>>2]|0)+19>>0]|0)?1:0;G=Pg(k[(k[(k[j>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)==((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1}do if((l[(k[j>>2]|0)+17>>0]|0)!=0?(G=JF(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0)|0,(G|0)==(k[(k[j>>2]|0)+44>>2]|0)):0){k[h>>2]=0;G=_J(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0,h,k[f>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0)){G=Pg(k[(k[h>>2]|0)+72>>2]|0)|0;k[K>>2]=G;NB(k[h>>2]|0)}if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;break}}while(0);nt((k[(k[(k[j>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[j>>2]|0)+44>>2]|0);k[k[n>>2]>>2]=k[(k[j>>2]|0)+44>>2];G=_J(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[f>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=Pg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0))break;NB(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;break}}while(0);NB(k[J>>2]|0);NB(k[I>>2]|0);k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}function TJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;g=v+32|0;o=v+44|0;p=v+28|0;q=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;h=v;k[n>>2]=a;k[g>>2]=b;i[o>>0]=c;k[p>>2]=d;k[q>>2]=e;k[w>>2]=f;k[s>>2]=k[(k[g>>2]|0)+84>>2];k[x>>2]=k[k[n>>2]>>2];b=UJ(k[x>>2]|0,k[(k[g>>2]|0)+72>>2]|0,k[q>>2]|0,k[w>>2]|0)|0;k[u>>2]=b;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}k[(k[g>>2]|0)+84>>2]=k[q>>2];if((l[o>>0]|0|0)!=5?(l[o>>0]|0|0)!=1:0){x=or(k[(k[g>>2]|0)+56>>2]|0)|0;k[h>>2]=x;if((k[h>>2]|0)!=0?(WJ(k[n>>2]|0,k[h>>2]|0,4,k[q>>2]|0,u),(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}}else j=5;if((j|0)==5?(x=VJ(k[g>>2]|0)|0,k[u>>2]=x,(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}do if((l[o>>0]|0|0)!=1){x=LF(k[n>>2]|0,k[p>>2]|0,t,0)|0;k[u>>2]=x;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}g=Pg(k[(k[t>>2]|0)+72>>2]|0)|0;k[u>>2]=g;g=k[t>>2]|0;if(k[u>>2]|0){NB(g);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}else{x=XJ(g,k[s>>2]|0,k[q>>2]|0,i[o>>0]|0)|0;k[u>>2]=x;NB(k[t>>2]|0);if(k[u>>2]|0)break;WJ(k[n>>2]|0,k[q>>2]|0,i[o>>0]|0,k[p>>2]|0,u);break}}while(0);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}function UJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;f=u+36|0;g=u+32|0;h=u+28|0;n=u+24|0;e=u+20|0;s=u+16|0;o=u+12|0;t=u+8|0;p=u+4|0;q=u;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[e>>2]=d;k[o>>2]=0;if((i[(k[g>>2]|0)+13>>0]|0)!=0?(c=Pg(k[h>>2]|0)|0,k[t>>2]=c,(k[t>>2]|0)!=0):0){k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}if((m[(k[h>>2]|0)+24>>1]&2|0)!=0?(c=Et(k[h>>2]|0)|0,k[t>>2]=c,0!=(c|0)):0){k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}if(!((k[e>>2]|0)!=0?1:(m[(k[h>>2]|0)+24>>1]&8|0)==0))k[o>>2]=k[(k[h>>2]|0)+20>>2];c=(k[h>>2]|0)+24|0;j[c>>1]=m[c>>1]&-9;c=ps(k[g>>2]|0,k[n>>2]|0)|0;k[s>>2]=c;do if(k[s>>2]|0){e=(k[h>>2]|0)+24|0;j[e>>1]=m[e>>1]|m[(k[s>>2]|0)+24>>1]&8;e=k[s>>2]|0;if(i[(k[g>>2]|0)+13>>0]|0){ZJ(e,(k[(k[g>>2]|0)+28>>2]|0)+1|0);break}else{Os(e);break}}while(0);k[p>>2]=k[(k[h>>2]|0)+20>>2];ZJ(k[h>>2]|0,k[n>>2]|0);rs(k[h>>2]|0);if((k[s>>2]|0)!=0?(l[(k[g>>2]|0)+13>>0]|0)!=0:0){ZJ(k[s>>2]|0,k[p>>2]|0);Rs(k[s>>2]|0)}do if(k[o>>2]|0){s=Eg(k[g>>2]|0,k[o>>2]|0,q,0)|0;k[t>>2]=s;if(!(k[t>>2]|0)){t=(k[q>>2]|0)+24|0;j[t>>1]=m[t>>1]|8;rs(k[q>>2]|0);Rs(k[q>>2]|0);break}if((k[o>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0)uj(k[(k[g>>2]|0)+60>>2]|0,k[o>>2]|0,k[(k[g>>2]|0)+208>>2]|0);k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}while(0);k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}function VJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0;p=r;r=r+48|0;b=p+32|0;e=p+28|0;g=p+24|0;o=p+20|0;h=p+16|0;f=p+36|0;n=p+12|0;j=p+8|0;c=p+4|0;d=p;k[b>>2]=a;k[h>>2]=k[(k[b>>2]|0)+52>>2];i[f>>0]=i[k[b>>2]>>0]|0;k[n>>2]=k[(k[b>>2]|0)+84>>2];a=cu(k[b>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}k[g>>2]=m[(k[b>>2]|0)+18>>1];k[e>>2]=0;while(1){a=k[b>>2]|0;if((k[e>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=(k[a+56>>2]|0)+(m[(k[b>>2]|0)+20>>1]&(l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)>>0]<<8|l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)+1>>0]));YJ(k[b>>2]|0,k[j>>2]|0,o);if(!(i[(k[b>>2]|0)+4>>0]|0)){a=or(k[j>>2]|0)|0;k[c>>2]=a;WJ(k[h>>2]|0,k[c>>2]|0,5,k[n>>2]|0,o)}k[e>>2]=(k[e>>2]|0)+1}if(i[a+4>>0]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}j=or((k[(k[b>>2]|0)+56>>2]|0)+((l[(k[b>>2]|0)+5>>0]|0)+8)|0)|0;k[d>>2]=j;WJ(k[h>>2]|0,k[d>>2]|0,5,k[n>>2]|0,o);j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}function WJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+32|0;g=t+28|0;h=t+36|0;j=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;s=t;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;k[j>>2]=d;k[m>>2]=e;if(k[k[m>>2]>>2]|0){r=t;return}if(!(k[g>>2]|0)){s=Yj(58660)|0;k[k[m>>2]>>2]=s;r=t;return}d=JF(k[f>>2]|0,k[g>>2]|0)|0;k[n>>2]=d;d=Eg(k[k[f>>2]>>2]|0,k[n>>2]|0,p,0)|0;k[s>>2]=d;if(k[s>>2]|0){k[k[m>>2]>>2]=k[s>>2];r=t;return}k[o>>2]=((k[g>>2]|0)-(k[n>>2]|0)-1|0)*5;do if((k[o>>2]|0)>=0){d=Fg(k[p>>2]|0)|0;k[q>>2]=d;if((l[h>>0]|0|0)==(l[(k[q>>2]|0)+(k[o>>2]|0)>>0]|0|0)?(d=or((k[q>>2]|0)+((k[o>>2]|0)+1)|0)|0,(d|0)==(k[j>>2]|0)):0)break;d=Pg(k[p>>2]|0)|0;k[s>>2]=d;k[k[m>>2]>>2]=d;if(!(k[s>>2]|0)){i[(k[q>>2]|0)+(k[o>>2]|0)>>0]=i[h>>0]|0;nt((k[q>>2]|0)+((k[o>>2]|0)+1)|0,k[j>>2]|0)}}else{s=Yj(58671)|0;k[k[m>>2]>>2]=s}while(0);Hg(k[p>>2]|0);r=t;return}function XJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+52|0;f=v+48|0;g=v+44|0;h=v+40|0;j=v+57|0;p=v+56|0;n=v+36|0;q=v+32|0;t=v+28|0;s=v+24|0;o=v;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;d=k[f>>2]|0;do if((l[j>>0]|0|0)==4){u=or(k[d+56>>2]|0)|0;if((u|0)==(k[g>>2]|0)){nt(k[(k[f>>2]|0)+56>>2]|0,k[h>>2]|0);break}u=Yj(61053)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}else{i[p>>0]=i[d>>0]|0;a=cu(k[f>>2]|0)|0;k[t>>2]=a;if(k[t>>2]|0){k[e>>2]=k[t>>2];u=k[e>>2]|0;r=v;return u|0}k[q>>2]=m[(k[f>>2]|0)+18>>1];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[q>>2]|0))break;k[s>>2]=(k[(k[f>>2]|0)+56>>2]|0)+((m[(k[f>>2]|0)+20>>1]|0)&((l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)>>0]|0)<<8|(l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)+1>>0]|0)));if((l[j>>0]|0|0)==3){cc[k[(k[f>>2]|0)+80>>2]&255](k[f>>2]|0,k[s>>2]|0,o);if(((m[o+16>>1]|0)>>>0<(k[o+12>>2]|0)>>>0?((k[s>>2]|0)+(m[o+18>>1]|0)+-1|0)>>>0<=((k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=k[g>>2]|0,(t|0)==(or((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=or(k[s>>2]|0)|0;if((t|0)==(k[g>>2]|0)){u=15;break}}k[n>>2]=(k[n>>2]|0)+1}if((u|0)==13)nt((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0,k[h>>2]|0);else if((u|0)==15)nt(k[s>>2]|0,k[h>>2]|0);do if((k[n>>2]|0)==(k[q>>2]|0)){if((l[j>>0]|0|0)==5?(u=or((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(k[g>>2]|0)):0){nt((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);break}u=Yj(61089)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}while(0);i[k[f>>2]>>0]=i[p>>0]|0}while(0);k[e>>2]=0;u=k[e>>2]|0;r=v;return u|0}function YJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;d=i+36|0;e=i+32|0;f=i+28|0;g=i;h=i+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}cc[k[(k[d>>2]|0)+80>>2]&255](k[d>>2]|0,k[e>>2]|0,g);if((m[g+16>>1]|0)>>>0>=(k[g+12>>2]|0)>>>0){r=i;return}c=or((k[e>>2]|0)+((m[g+18>>1]|0)-4)|0)|0;k[h>>2]=c;WJ(k[(k[d>>2]|0)+52>>2]|0,k[h>>2]|0,3,k[(k[d>>2]|0)+84>>2]|0,k[f>>2]|0);r=i;return}function ZJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[c>>2]|0)+28>>2];ic[k[152>>2]&255](k[(k[f>>2]|0)+44>>2]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+20>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+20>>2]=k[e>>2];if(!((m[(k[c>>2]|0)+24>>1]|0)&2)){r=d;return}if(!((m[(k[c>>2]|0)+24>>1]|0)&8)){r=d;return}pj(k[c>>2]|0,3);r=d;return}function _J(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;e=h+20|0;m=h+16|0;l=h+12|0;f=h+8|0;j=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[f>>2]=c;k[j>>2]=d;d=LF(k[m>>2]|0,k[l>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[g>>2]=d;d=k[f>>2]|0;do if(!(k[g>>2]|0)){m=(bu(k[(k[d>>2]|0)+72>>2]|0)|0)>1;d=k[k[f>>2]>>2]|0;if(!m){i[d>>0]=0;break}NB(d);k[k[f>>2]>>2]=0;m=Yj(59789)|0;k[e>>2]=m;m=k[e>>2]|0;r=h;return m|0}else k[d>>2]=0;while(0);k[e>>2]=k[g>>2];m=k[e>>2]|0;r=h;return m|0}function $J(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+60>>2];if(!(k[d>>2]|0)){f=0;f=f&1;r=e;return f|0}f=k[c>>2]|0;if(f>>>0>(wj(k[d>>2]|0)|0)>>>0){f=1;f=f&1;r=e;return f|0}f=(vj(k[d>>2]|0,k[c>>2]|0)|0)!=0;f=f&1;r=e;return f|0}function aK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+13>>0]|0|0}function bK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[g>>2]|0)){k[d>>2]=7;c=k[d>>2]|0;r=i;return c|0}if(nf(k[e>>2]|0,k[g>>2]|0,-1,h,0)|0){b=k[f>>2]|0;c=k[e>>2]|0;Kj(b,c,mf(k[e>>2]|0)|0);c=Nf(k[e>>2]|0)|0;k[d>>2]=c;c=k[d>>2]|0;r=i;return c|0}else{Ee(k[h>>2]|0)|0;c=gK(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;c=k[d>>2]|0;r=i;return c|0}return 0}function cK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=hK(k[d>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function dK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;c=nf(k[e>>2]|0,k[j>>2]|0,-1,g,0)|0;k[h>>2]=c;if(k[h>>2]|0){k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}while(1){j=100==(Ee(k[g>>2]|0)|0);a=k[e>>2]|0;if(!j){b=6;break}j=k[f>>2]|0;j=bK(a,j,Pe(k[g>>2]|0,0)|0)|0;k[h>>2]=j;if(k[h>>2]|0){b=5;break}}if((b|0)==5){gK(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}else if((b|0)==6){j=gK(a,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=i;return j|0}return 0}function eK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+80|0;e=i+68|0;f=i+64|0;h=i+60|0;d=i+56|0;g=i+8|0;c=i;k[e>>2]=a;k[f>>2]=b;wg(k[e>>2]|0);wg(k[f>>2]|0);a=Ng(Zf(k[e>>2]|0)|0)|0;k[d>>2]=a;if((k[k[d>>2]>>2]|0)!=0?(b=Bg(k[f>>2]|0)|0,b=RR(b|0,((b|0)<0)<<31>>31|0,Dg(k[f>>2]|0)|0,0)|0,a=c,k[a>>2]=b,k[a+4>>2]=L,a=Ii(k[d>>2]|0,11,c)|0,k[h>>2]=a,k[h>>2]=(k[h>>2]|0)==12?0:a,(k[h>>2]|0)!=0):0){h=k[h>>2]|0;r=i;return h|0}c=g;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[g+20>>2]=k[k[f>>2]>>2];k[g+24>>2]=k[f>>2];k[g+4>>2]=k[e>>2];k[g+16>>2]=1;de(g,2147483647)|0;f=ee(g)|0;k[h>>2]=f;if(!(k[h>>2]|0)){g=(k[(k[e>>2]|0)+4>>2]|0)+22|0;j[g>>1]=(m[g>>1]|0)&-3;h=k[h>>2]|0;r=i;return h|0}else{fK(Zf(k[g+4>>2]|0)|0);h=k[h>>2]|0;r=i;return h|0}return 0}function fK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+13>>0]|0){r=c;return}fj(k[b>>2]|0);r=c;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=ah(k[h>>2]|0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){h=k[f>>2]|0;r=g;return h|0}c=k[e>>2]|0;h=k[d>>2]|0;Kj(c,h,mf(k[d>>2]|0)|0);h=k[f>>2]|0;r=g;return h|0}function hK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+32>>2]|0)-(k[(k[(k[d>>2]|0)+4>>2]|0)+36>>2]|0);r=c;return k[b>>2]|0}function iK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o+28|0;n=o+24|0;c=o+20|0;f=o+16|0;b=o+12|0;e=o+8|0;d=o+4|0;g=o;j=o+32|0;k[m>>2]=a;k[n>>2]=0;do if((Jr(k[m>>2]|0)|0)==0?(l[(k[m>>2]|0)+17>>0]|0)==0:0){k[c>>2]=1;a=Nt(k[m>>2]|0,1)|0;k[n>>2]=a;if(!(k[n>>2]|0)){if((l[(k[m>>2]|0)+18>>0]|0)<=1){a=jK(k[m>>2]|0,c)|0;k[n>>2]=a}if(!(k[n>>2]|0)){if(k[c>>2]|0){if(i[(k[m>>2]|0)+15>>0]|0){k[n>>2]=776;break}a=Ot(k[m>>2]|0,4)|0;k[n>>2]=a;if(k[n>>2]|0)break;if((((k[k[(k[m>>2]|0)+68>>2]>>2]|0)==0?(k[f>>2]=k[k[m>>2]>>2],a=es(k[f>>2]|0,k[(k[m>>2]|0)+180>>2]|0,0,b)|0,k[n>>2]=a,(k[n>>2]|0)==0&(k[b>>2]|0)!=0):0)?(k[e>>2]=0,k[d>>2]=2050,f=as(k[f>>2]|0,k[(k[m>>2]|0)+180>>2]|0,k[(k[m>>2]|0)+68>>2]|0,k[d>>2]|0,e)|0,k[n>>2]=f,(k[n>>2]|0)==0):0)?(k[e>>2]&1|0)!=0:0){f=wt(50989)|0;k[n>>2]=f;wr(k[(k[m>>2]|0)+68>>2]|0)}b=k[m>>2]|0;if(k[k[(k[m>>2]|0)+68>>2]>>2]|0){f=tr(b)|0;k[n>>2]=f;if(!(k[n>>2]|0)){f=cs(k[m>>2]|0,((i[(k[m>>2]|0)+13>>0]|0)!=0^1)&1)|0;k[n>>2]=f;i[(k[m>>2]|0)+17>>0]=0}}else if(!(i[b+4>>0]|0))Nr(k[m>>2]|0,1)|0;if(k[n>>2]|0){ur(k[m>>2]|0,k[n>>2]|0)|0;break}}if((i[(k[m>>2]|0)+13>>0]|0)==0?(l[(k[m>>2]|0)+24>>0]|0)!=0:0){k[g>>2]=0;f=kK(k[m>>2]|0,g)|0;k[n>>2]=f;if(k[n>>2]|0)break;if((k[g>>2]|0)>>>0>0){g=ms(k[(k[m>>2]|0)+64>>2]|0,j,16,24,0)|0;k[n>>2]=g;if((k[n>>2]|0)!=0&(k[n>>2]|0)!=522)break}else{b=j;c=b+16|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0))}if(VQ((k[m>>2]|0)+112|0,j,16)|0)fj(k[m>>2]|0)}h=lK(k[m>>2]|0)|0;k[n>>2]=h;h=32}}}else h=32;while(0);if((h|0)==32){if(Jr(k[m>>2]|0)|0){j=mK(k[m>>2]|0)|0;k[n>>2]=j}if((l[(k[m>>2]|0)+13>>0]|0)==0?((k[n>>2]|0)==0?(l[(k[m>>2]|0)+17>>0]|0)==0:0):0){j=kK(k[m>>2]|0,(k[m>>2]|0)+28|0)|0;k[n>>2]=j}}b=k[m>>2]|0;if(k[n>>2]|0){sr(b);n=k[n>>2]|0;r=o;return n|0}else{i[b+17>>0]=1;i[(k[m>>2]|0)+24>>0]=1;n=k[n>>2]|0;r=o;return n|0}return 0}function jK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+32|0;d=p+28|0;n=p+24|0;o=p+20|0;e=p+16|0;h=p+12|0;j=p+8|0;m=p+4|0;f=p;g=p+36|0;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[k[c>>2]>>2];k[o>>2]=0;k[e>>2]=1;k[h>>2]=((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;k[k[d>>2]>>2]=0;if(!(k[h>>2]|0)){a=es(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0,e)|0;k[o>>2]=a}if(!((k[o>>2]|0)==0&(k[e>>2]|0)!=0)){o=k[o>>2]|0;r=p;return o|0}k[j>>2]=0;a=tK(k[(k[c>>2]|0)+64>>2]|0,j)|0;k[o>>2]=a;if((k[o>>2]|0)!=0|(k[j>>2]|0)!=0){o=k[o>>2]|0;r=p;return o|0}a=kK(k[c>>2]|0,m)|0;k[o>>2]=a;if(k[o>>2]|0){o=k[o>>2]|0;r=p;return o|0}if(!((k[m>>2]|0)!=0|(k[h>>2]|0)!=0)){ek();if((Ot(k[c>>2]|0,2)|0)==0?(Fr(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0,(i[(k[c>>2]|0)+4>>0]|0)==0):0)Nr(k[c>>2]|0,1)|0;fk();o=k[o>>2]|0;r=p;return o|0}if(!(k[h>>2]|0)){k[f>>2]=2049;n=as(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,f)|0;k[o>>2]=n}if(!(k[o>>2]|0)){i[g>>0]=0;n=ms(k[(k[c>>2]|0)+68>>2]|0,g,1,0,0)|0;k[o>>2]=n;k[o>>2]=(k[o>>2]|0)==522?0:n;if(!(k[h>>2]|0))wr(k[(k[c>>2]|0)+68>>2]|0);k[k[d>>2]>>2]=(l[g>>0]|0)!=0&1;o=k[o>>2]|0;r=p;return o|0}else{if((k[o>>2]|0)!=14){o=k[o>>2]|0;r=p;return o|0}k[k[d>>2]>>2]=1;k[o>>2]=0;o=k[o>>2]|0;r=p;return o|0}return 0}function kK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+24|0;d=i+20|0;e=i+16|0;g=i+12|0;f=i;h=i+8|0;k[d>>2]=a;k[e>>2]=b;b=sK(k[(k[d>>2]|0)+216>>2]|0)|0;k[g>>2]=b;do if((k[g>>2]|0)==0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){b=f;k[b>>2]=0;k[b+4>>2]=0;b=dj(k[(k[d>>2]|0)+64>>2]|0,f)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=f;b=k[(k[d>>2]|0)+160>>2]|0;b=GR(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=FR(b|0,L|0,1,0)|0;h=k[(k[d>>2]|0)+160>>2]|0;h=PR(b|0,L|0,h|0,((h|0)<0)<<31>>31|0)|0;k[g>>2]=h;break}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}while(0);if((k[g>>2]|0)>>>0>(k[(k[d>>2]|0)+164>>2]|0)>>>0)k[(k[d>>2]|0)+164>>2]=k[g>>2];k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}function lK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;c=h;k[e>>2]=a;k[g>>2]=0;do if(!(i[(k[e>>2]|0)+13>>0]|0)){b=kK(k[e>>2]|0,c)|0;k[g>>2]=b;if(k[g>>2]|0){k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}a=k[k[e>>2]>>2]|0;b=k[(k[e>>2]|0)+220>>2]|0;if(!(k[c>>2]|0)){c=Fr(a,b,0)|0;k[g>>2]=c;k[g>>2]=(k[g>>2]|0)==5898?0:c;k[f>>2]=0}else{c=es(a,b,0,f)|0;k[g>>2]=c}if(!(k[g>>2]|0)){a=k[e>>2]|0;if(k[f>>2]|0){f=oK(a,0)|0;k[g>>2]=f;break}if((l[a+5>>0]|0)==5)i[(k[e>>2]|0)+5>>0]=0}}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function mK(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[e>>2]=0;Ys(k[(k[b>>2]|0)+216>>2]|0);a=nK(k[(k[b>>2]|0)+216>>2]|0,e)|0;k[c>>2]=a;if(!((k[c>>2]|0)!=0|(k[e>>2]|0)!=0)){e=k[c>>2]|0;r=d;return e|0}fj(k[b>>2]|0);e=k[c>>2]|0;r=d;return e|0}function nK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do{h=k[c>>2]|0;b=k[d>>2]|0;a=(k[e>>2]|0)+1|0;k[e>>2]=a;a=Vt(h,b,0,a)|0;k[f>>2]=a}while((k[f>>2]|0)==-1);r=g;return k[f>>2]|0}function oK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if((i[(k[d>>2]|0)+13>>0]|0)==0?(k[(k[d>>2]|0)+216>>2]|0)==0:0)if(xJ(k[d>>2]|0)|0){wr(k[(k[d>>2]|0)+68>>2]|0);b=pK(k[d>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0)break;i[(k[d>>2]|0)+5>>0]=5;i[(k[d>>2]|0)+17>>0]=0;break}else{k[c>>2]=14;g=k[c>>2]|0;r=h;return g|0}else g=7;while(0);if((g|0)==7)k[k[e>>2]>>2]=1;k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function pK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(i[(k[b>>2]|0)+4>>0]|0){a=qK(k[b>>2]|0)|0;k[c>>2]=a}if(k[c>>2]|0){a=k[b>>2]|0;ij(a);c=k[c>>2]|0;r=d;return c|0}a=(k[b>>2]|0)+168|0;a=rK(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+64>>2]|0,k[(k[b>>2]|0)+220>>2]|0,l[(k[b>>2]|0)+4>>0]|0,k[a>>2]|0,k[a+4>>2]|0,(k[b>>2]|0)+216|0)|0;k[c>>2]=a;a=k[b>>2]|0;ij(a);c=k[c>>2]|0;r=d;return c|0}function qK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ot(k[b>>2]|0,4)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}Nr(k[b>>2]|0,1)|0;c=k[c>>2]|0;r=d;return c|0}function rK(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;h=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w;q=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[k[q>>2]>>2]=0;c=ug(120+(k[(k[l>>2]|0)+4>>2]|0)|0,0)|0;k[u>>2]=c;if(!(k[u>>2]|0)){k[h>>2]=7;c=k[h>>2]|0;r=w;return c|0}k[k[u>>2]>>2]=k[l>>2];k[(k[u>>2]|0)+8>>2]=(k[u>>2]|0)+120;k[(k[u>>2]|0)+4>>2]=k[m>>2];j[(k[u>>2]|0)+40>>1]=-1;a=p;g=k[a+4>>2]|0;c=(k[u>>2]|0)+16|0;k[c>>2]=k[a>>2];k[c+4>>2]=g;k[(k[u>>2]|0)+108>>2]=k[n>>2];i[(k[u>>2]|0)+48>>0]=1;i[(k[u>>2]|0)+49>>0]=1;i[(k[u>>2]|0)+43>>0]=(k[o>>2]|0)!=0?2:0;k[s>>2]=524294;c=as(k[l>>2]|0,k[n>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[s>>2]|0,s)|0;k[v>>2]=c;if((k[v>>2]|0)==0?(k[s>>2]&1|0)!=0:0)i[(k[u>>2]|0)+46>>0]=1;if(k[v>>2]|0){bt(k[u>>2]|0,0);wr(k[(k[u>>2]|0)+8>>2]|0);Ud(k[u>>2]|0)}else{c=js(k[m>>2]|0)|0;k[t>>2]=c;if(k[t>>2]&1024)i[(k[u>>2]|0)+48>>0]=0;if(k[t>>2]&4096)i[(k[u>>2]|0)+49>>0]=0;k[k[q>>2]>>2]=k[u>>2]}k[h>>2]=k[v>>2];c=k[h>>2]|0;r=w;return c|0}function sK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(j[(k[c>>2]|0)+40>>1]|0)>=0:0){k[b>>2]=k[(k[c>>2]|0)+52+20>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}function tK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+36>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function uK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+176|0;c=f+168|0;e=f+164|0;b=f+160|0;d=f;k[c>>2]=a;KR(d|0,0,160)|0;while(1){if(!(k[c>>2]|0))break;k[b>>2]=k[(k[c>>2]|0)+8>>2];k[(k[c>>2]|0)+8>>2]=0;k[e>>2]=0;while(1){if(!(k[d+(k[e>>2]<<2)>>2]|0))break;a=xK(k[d+(k[e>>2]<<2)>>2]|0,k[c>>2]|0)|0;k[c>>2]=a;k[d+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}k[d+(k[e>>2]<<2)>>2]=k[c>>2];k[c>>2]=k[b>>2]}k[c>>2]=0;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>>>0>=40)break;b=xK(a,k[d+(k[e>>2]<<2)>>2]|0)|0;k[c>>2]=b;k[e>>2]=(k[e>>2]|0)+1}r=f;return a|0}function vK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[c>>2]=1;while(1){a=k[d>>2]|0;if(!(k[b>>2]|0))break;k[e>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=zK(b,k[c>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=a;k[c>>2]=(k[c>>2]|0)+1}r=f;return a|0}function wK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;a=k[f>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){wK(k[a+12>>2]|0,k[d>>2]|0,e);k[(k[e>>2]|0)+8>>2]=k[f>>2]}else k[k[d>>2]>>2]=a;a=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0){wK(k[a+8>>2]|0,(k[f>>2]|0)+8|0,k[g>>2]|0);r=h;return}else{k[k[g>>2]>>2]=a;r=h;return}}function xK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+24|0;d=g+20|0;e=g;f=g+16|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=e;while(1){a=k[c>>2]|0;if(!((k[c>>2]|0)!=0?(k[d>>2]|0)!=0:0))break;i=k[a+4>>2]|0;b=k[d>>2]|0;h=k[b+4>>2]|0;if((i|0)<(h|0)|((i|0)==(h|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[(k[f>>2]|0)+8>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+8>>2];k[f>>2]=k[(k[f>>2]|0)+8>>2];continue}h=k[d>>2]|0;a=k[h+4>>2]|0;i=k[c>>2]|0;b=k[i+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0:0)){k[(k[f>>2]|0)+8>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[(k[f>>2]|0)+8>>2];continue}else{k[c>>2]=k[(k[c>>2]|0)+8>>2];continue}}if(a){k[(k[f>>2]|0)+8>>2]=k[c>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}else{k[(k[f>>2]|0)+8>>2]=k[d>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}return 0}function yK(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(m[(k[c>>2]|0)+24>>1]|0)){a=$w(k[(k[c>>2]|0)+4>>2]|0,1016,0)|0;k[d>>2]=a;if(k[d>>2]|0){k[k[d>>2]>>2]=k[k[c>>2]>>2];k[k[c>>2]>>2]=k[d>>2];k[(k[c>>2]|0)+16>>2]=(k[d>>2]|0)+8;j[(k[c>>2]|0)+24>>1]=63;break}k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=(j[a>>1]|0)+-1<<16>>16;a=(k[c>>2]|0)+16|0;d=k[a>>2]|0;k[a>>2]=d+16;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function zK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=b;if(!(k[k[e>>2]>>2]|0)){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}b=k[e>>2]|0;do if((k[f>>2]|0)>1){b=zK(b,(k[f>>2]|0)-1|0)|0;k[c>>2]=b;k[g>>2]=k[k[e>>2]>>2];b=k[c>>2]|0;if(k[g>>2]|0){k[(k[g>>2]|0)+12>>2]=b;k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];f=zK(k[e>>2]|0,(k[f>>2]|0)-1|0)|0;k[(k[g>>2]|0)+8>>2]=f;break}k[d>>2]=b;g=k[d>>2]|0;r=h;return g|0}else{k[g>>2]=k[b>>2];k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];k[(k[g>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=0}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function AK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=k[h>>2];k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+4>>2]=k[g>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+20>>2]=0;k[(k[d>>2]|0)+16>>2]=(k[d>>2]|0)+32;j[(k[d>>2]|0)+24>>1]=(((k[f>>2]|0)-32|0)>>>0)/16|0;j[(k[d>>2]|0)+26>>1]=1;k[(k[d>>2]|0)+28>>2]=0;r=e;return k[d>>2]|0}function BK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=(k[(k[e>>2]|0)+8>>2]|0)+(((k[d>>2]|0)>>>0)/8|0)|0;i[a>>0]=l[a>>0]|0|1<<(k[d>>2]&7);r=c;return}function CK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;n=x+32|0;o=x+24|0;w=x+16|0;v=x;p=x+76|0;e=x+72|0;q=x+68|0;s=x+64|0;f=x+60|0;t=x+56|0;u=x+52|0;m=x+48|0;j=x+44|0;h=x+40|0;g=x+36|0;k[p>>2]=a;k[e>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=k[s>>2];k[u>>2]=k[q>>2];while(1){a=k[s>>2]|0;k[s>>2]=a+-1;if((a|0)<=0){d=25;break}if(!(k[(k[p>>2]|0)+16>>2]|0)){d=25;break}c=k[p>>2]|0;if((k[q>>2]|0)<1){d=5;break}if(HK(c,k[q>>2]|0)|0){d=25;break}if(Eg(k[(k[p>>2]|0)+4>>2]|0,k[q>>2]|0,m,0)|0){d=8;break}a=Fg(k[m>>2]|0)|0;k[j>>2]=a;do if(!(k[e>>2]|0)){if((k[s>>2]|0)>0?(l[(k[k[p>>2]>>2]|0)+17>>0]|0)!=0:0){a=or(k[j>>2]|0)|0;k[f>>2]=a;DK(k[p>>2]|0,k[f>>2]|0,4,k[q>>2]|0)}}else{a=or((k[j>>2]|0)+4|0)|0;k[h>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)DK(k[p>>2]|0,k[q>>2]|0,2,0);if((k[h>>2]|0)>(((k[(k[k[p>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){a=k[p>>2]|0;k[o>>2]=k[q>>2];GK(a,42835,o);k[s>>2]=(k[s>>2]|0)+-1;break}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[h>>2]|0))break;a=or((k[j>>2]|0)+(8+(k[f>>2]<<2))|0)|0;k[g>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)DK(k[p>>2]|0,k[g>>2]|0,2,0);HK(k[p>>2]|0,k[g>>2]|0)|0;k[f>>2]=(k[f>>2]|0)+1}k[s>>2]=(k[s>>2]|0)-(k[h>>2]|0)}while(0);a=or(k[j>>2]|0)|0;k[q>>2]=a;Hg(k[m>>2]|0);if(!(k[e>>2]|0))continue;if((k[s>>2]|0)>=((k[q>>2]|0)!=0|0))continue;GK(k[p>>2]|0,42874,n)}if((d|0)==5){t=k[t>>2]|0;w=k[u>>2]|0;k[v>>2]=(k[s>>2]|0)+1;k[v+4>>2]=t;k[v+8>>2]=w;GK(c,42756,v);r=x;return}else if((d|0)==8){v=k[p>>2]|0;k[w>>2]=k[q>>2];GK(v,42813,w);r=x;return}else if((d|0)==25){r=x;return}}function DK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+44|0;f=q+40|0;g=q+49|0;h=q+36|0;n=q+32|0;j=q+48|0;m=q+28|0;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=d;a=KF(k[k[e>>2]>>2]|0,k[f>>2]|0,j,m)|0;k[n>>2]=a;if(k[n>>2]|0){if((k[n>>2]|0)==7|(k[n>>2]|0)==3082)k[(k[e>>2]|0)+24>>2]=1;p=k[e>>2]|0;k[o>>2]=k[f>>2];GK(p,42673,o);r=q;return}if((l[j>>0]|0|0)==(l[g>>0]|0|0)?(k[m>>2]|0)==(k[h>>2]|0):0){r=q;return}o=k[e>>2]|0;b=l[g>>0]|0;d=k[h>>2]|0;a=l[j>>0]|0;n=k[m>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=b;k[p+8>>2]=d;k[p+12>>2]=a;k[p+16>>2]=n;GK(o,42702,p);r=q;return}function EK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;h=ca+40|0;g=ca+32|0;j=ca+240|0;n=ca+236|0;o=ca+232|0;p=ca+228|0;q=ca+24|0;K=ca+224|0;A=ca+220|0;f=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;c=q;k[c>>2]=d;k[c+4>>2]=e;k[K>>2]=0;k[w>>2]=-1;k[x>>2]=1;k[D>>2]=1;k[z>>2]=0;k[O>>2]=0;k[S>>2]=k[(k[n>>2]|0)+28>>2];k[Q>>2]=k[(k[n>>2]|0)+32>>2];k[R>>2]=k[(k[n>>2]|0)+36>>2];i[P>>0]=0;k[H>>2]=k[k[n>>2]>>2];k[V>>2]=k[(k[H>>2]|0)+36>>2];if(!(k[o>>2]|0)){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}if(HK(k[n>>2]|0,k[o>>2]|0)|0){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}k[(k[n>>2]|0)+28>>2]=42293;k[(k[n>>2]|0)+32>>2]=k[o>>2];c=LF(k[H>>2]|0,k[o>>2]|0,K,0)|0;k[f>>2]=c;do if(!c){i[P>>0]=i[k[K>>2]>>0]|0;i[k[K>>2]>>0]=0;g=cu(k[K>>2]|0)|0;k[f>>2]=g;if(g){ba=k[n>>2]|0;k[h>>2]=k[f>>2];GK(ba,42341,h);break}k[v>>2]=k[(k[K>>2]|0)+56>>2];k[y>>2]=l[(k[K>>2]|0)+5>>0];k[(k[n>>2]|0)+28>>2]=42379;k[t>>2]=((l[(k[v>>2]|0)+((k[y>>2]|0)+5)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+5)+1>>0])-1&65535)+1;k[E>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+3)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+3)+1>>0];k[s>>2]=(k[y>>2]|0)+12-(l[(k[K>>2]|0)+4>>0]<<2);k[J>>2]=(k[v>>2]|0)+((k[s>>2]|0)+((k[E>>2]|0)-1<<1));if(i[(k[K>>2]|0)+4>>0]|0){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0}else{h=or((k[v>>2]|0)+((k[y>>2]|0)+8)|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0){k[(k[n>>2]|0)+28>>2]=42405;DK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0)}h=q;h=EK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;k[D>>2]=0}k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break;if(!(k[(k[n>>2]|0)+16>>2]|0))break;k[(k[n>>2]|0)+36>>2]=k[A>>2];k[L>>2]=l[k[J>>2]>>0]<<8|l[(k[J>>2]|0)+1>>0];k[J>>2]=(k[J>>2]|0)+-2;do if((k[L>>2]|0)>>>0>=(k[t>>2]|0)>>>0?(k[L>>2]|0)>>>0<=((k[V>>2]|0)-4|0)>>>0:0){k[I>>2]=(k[v>>2]|0)+(k[L>>2]|0);cc[k[(k[K>>2]|0)+80>>2]&255](k[K>>2]|0,k[I>>2]|0,B);if(((k[L>>2]|0)+(m[B+18>>1]|0)|0)>>>0>(k[V>>2]|0)>>>0){GK(k[n>>2]|0,42463,$);k[x>>2]=0;break}if(i[(k[K>>2]|0)+2>>0]|0){e=B;d=k[e>>2]|0;e=k[e+4>>2]|0;a=q;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[D>>2]|0){if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>b>>>0)ba=26}else if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>=b>>>0)ba=26;if((ba|0)==26){ba=0;h=k[n>>2]|0;c=B;f=k[c+4>>2]|0;g=W;k[g>>2]=k[c>>2];k[g+4>>2]=f;GK(h,42487,W)}f=B;g=k[f+4>>2]|0;h=q;k[h>>2]=k[f>>2];k[h+4>>2]=g}if((k[B+12>>2]|0)>>>0>(m[B+16>>1]|0)>>>0){k[G>>2]=(((k[B+12>>2]|0)-(m[B+16>>1]|0)+(k[V>>2]|0)-5|0)>>>0)/(((k[V>>2]|0)-4|0)>>>0)|0;h=or((k[I>>2]|0)+((m[B+18>>1]|0)-4)|0)|0;k[N>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)DK(k[n>>2]|0,k[N>>2]|0,3,k[o>>2]|0);CK(k[n>>2]|0,0,k[N>>2]|0,k[G>>2]|0)}if(i[(k[K>>2]|0)+4>>0]|0){IK(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(m[B+18>>1]|0)-1);break}h=or(k[I>>2]|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)DK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0);h=q;h=EK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[u>>2]=h;k[D>>2]=0;if((k[u>>2]|0)!=(k[w>>2]|0)){GK(k[n>>2]|0,42511,X);k[w>>2]=k[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;h=k[n>>2]|0;f=k[t>>2]|0;g=(k[V>>2]|0)-4|0;k[_>>2]=k[L>>2];k[_+4>>2]=f;k[_+8>>2]=g;GK(h,42433,_);k[x>>2]=0}k[A>>2]=(k[A>>2]|0)+-1}X=q;_=k[X+4>>2]|0;$=k[p>>2]|0;k[$>>2]=k[X>>2];k[$+4>>2]=_;k[(k[n>>2]|0)+28>>2]=0;if((k[x>>2]|0)!=0?(k[(k[n>>2]|0)+16>>2]|0)>0:0){a:do if(!(i[(k[K>>2]|0)+4>>0]|0)){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0;k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break a;k[L>>2]=l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))>>0]<<8|l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))+1>>0];$=(gc[k[(k[K>>2]|0)+76>>2]&255](k[K>>2]|0,(k[v>>2]|0)+(k[L>>2]|0)|0)|0)&65535;k[T>>2]=$;IK(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(k[T>>2]|0)-1);k[A>>2]=(k[A>>2]|0)+-1}}while(0);k[A>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+1)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+1)+1>>0];while(1){if((k[A>>2]|0)<=0)break;k[U>>2]=l[(k[v>>2]|0)+((k[A>>2]|0)+2)>>0]<<8|l[(k[v>>2]|0)+((k[A>>2]|0)+2)+1>>0];IK(k[z>>2]|0,k[A>>2]<<16|(k[A>>2]|0)+(k[U>>2]|0)-1);k[C>>2]=l[(k[v>>2]|0)+(k[A>>2]|0)>>0]<<8|l[(k[v>>2]|0)+(k[A>>2]|0)+1>>0];k[A>>2]=k[C>>2]}k[F>>2]=0;k[O>>2]=(k[t>>2]|0)-1;while(1){if(!(JK(k[z>>2]|0,aa)|0))break;if((k[O>>2]&65535)>>>0>=(k[aa>>2]|0)>>>16>>>0){ba=51;break}k[F>>2]=(k[F>>2]|0)+(((k[aa>>2]|0)>>>16)-(k[O>>2]&65535)-1);k[O>>2]=k[aa>>2]}if((ba|0)==51){ba=k[n>>2]|0;$=k[o>>2]|0;k[Y>>2]=(k[aa>>2]|0)>>>16;k[Y+4>>2]=$;GK(ba,42536,Y)}k[F>>2]=(k[F>>2]|0)+((k[V>>2]|0)-(k[O>>2]&65535)-1);if((k[k[z>>2]>>2]|0)==0?(k[F>>2]|0)!=(l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0):0){ba=k[n>>2]|0;$=l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0;aa=k[o>>2]|0;k[Z>>2]=k[F>>2];k[Z+4>>2]=$;k[Z+8>>2]=aa;GK(ba,42573,Z)}}}else{ba=k[n>>2]|0;k[g>>2]=k[f>>2];GK(ba,42303,g)}while(0);if(!(k[x>>2]|0))i[k[K>>2]>>0]=i[P>>0]|0;NB(k[K>>2]|0);k[(k[n>>2]|0)+28>>2]=k[S>>2];k[(k[n>>2]|0)+32>>2]=k[Q>>2];k[(k[n>>2]|0)+36>>2]=k[R>>2];k[j>>2]=(k[w>>2]|0)+1;ba=k[j>>2]|0;r=ca;return ba|0}function FK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return (l[(k[(k[d>>2]|0)+8>>2]|0)+(((k[c>>2]|0)>>>0)/8|0)>>0]|0)&1<<(k[c>>2]&7)|0}function GK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;d=h+28|0;e=h+24|0;f=h+8|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+16>>2]|0)){r=h;return}b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+-1;b=(k[d>>2]|0)+20|0;k[b>>2]=(k[b>>2]|0)+1;k[f>>2]=c;if(k[(k[d>>2]|0)+40+12>>2]|0)xA((k[d>>2]|0)+40|0,42291,1);if(k[(k[d>>2]|0)+28>>2]|0){c=(k[d>>2]|0)+40|0;b=k[(k[d>>2]|0)+28>>2]|0;a=k[(k[d>>2]|0)+36>>2]|0;k[g>>2]=k[(k[d>>2]|0)+32>>2];k[g+4>>2]=a;wA(c,b,g)}og((k[d>>2]|0)+40|0,k[e>>2]|0,f);if((l[(k[d>>2]|0)+40+24>>0]|0|0)!=1){r=h;return}k[(k[d>>2]|0)+24>>2]=1;r=h;return}function HK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+8|0;d=h;f=h+20|0;c=h+16|0;e=h+12|0;k[c>>2]=a;k[e>>2]=b;do if(k[e>>2]|0){b=k[c>>2]|0;a=k[e>>2]|0;if((k[e>>2]|0)>>>0>(k[(k[c>>2]|0)+12>>2]|0)>>>0){k[d>>2]=a;GK(b,42625,d);k[f>>2]=1;break}d=(FK(b,a)|0)!=0;a=k[c>>2]|0;b=k[e>>2]|0;if(d){k[g>>2]=b;GK(a,42648,g);k[f>>2]=1;break}else{BK(a,b);k[f>>2]=0;break}}else k[f>>2]=1;while(0);r=h;return k[f>>2]|0}function IK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;k[e>>2]=b;k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];while(1){b=((k[e>>2]|0)>>>0)/2|0;k[f>>2]=b;if(b>>>0<=0){c=5;break}if((k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<=(k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]|0)>>>0){c=5;break}k[d>>2]=k[(k[c>>2]|0)+(k[f>>2]<<2)>>2];k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[c>>2]|0)+(k[e>>2]<<2)>>2];k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];k[e>>2]=k[f>>2]}if((c|0)==5){r=g;return}}function JK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;b=k[k[d>>2]>>2]|0;k[h>>2]=b;if(!b){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[k[e>>2]>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[d>>2]|0)+(k[h>>2]<<2)>>2];k[(k[d>>2]|0)+(k[h>>2]<<2)>>2]=-1;b=k[d>>2]|0;k[b>>2]=(k[b>>2]|0)+-1;k[f>>2]=1;while(1){b=k[f>>2]<<1;k[g>>2]=b;if(b>>>0>(k[k[d>>2]>>2]|0)>>>0)break;if((k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0>(k[(k[d>>2]|0)+((k[g>>2]|0)+1<<2)>>2]|0)>>>0)k[g>>2]=(k[g>>2]|0)+1;if((k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<(k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0)break;k[h>>2]=k[(k[d>>2]|0)+(k[f>>2]<<2)>>2];k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[d>>2]|0)+(k[g>>2]<<2)>>2];k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]=k[h>>2];k[f>>2]=k[g>>2]}k[c>>2]=1;h=k[c>>2]|0;r=i;return h|0}function KK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;OK((k[(k[b>>2]|0)+12>>2]|0)+((k[c>>2]|0)*56|0)|0);k[c>>2]=(k[c>>2]|0)+1}a=k[b>>2]|0;Ud(a);r=d;return}function LK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;bg(k[e>>2]|0,k[(k[c>>2]|0)+12>>2]|0);MK(0,k[(k[c>>2]|0)+16>>2]|0);if(k[(k[c>>2]|0)+40>>2]|0)NK(k[(k[c>>2]|0)+40>>2]|0);if(!(k[(k[c>>2]|0)+56>>2]|0)){c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}NK(k[(k[c>>2]|0)+56>>2]|0);c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}function MK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[g>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+4>>2];bg(k[c>>2]|0,k[d>>2]|0);k[d>>2]=k[e>>2]}r=f;return}function NK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;wr(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function OK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Ud(k[(k[b>>2]|0)+28>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);if(k[(k[b>>2]|0)+44>>2]|0)Us(k[(k[b>>2]|0)+24>>2]|0,0,0,k[(k[b>>2]|0)+44>>2]|0)|0;PK(k[(k[b>>2]|0)+48>>2]|0);b=k[b>>2]|0;a=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));r=c;return}function PK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}KK(k[(k[b>>2]|0)+4>>2]|0);Ud(k[b>>2]|0);r=c;return}function QK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j;g=j+12|0;h=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(!(l[(k[e>>2]|0)+11>>0]|0)){r=j;return}i[(k[e>>2]|0)+11>>0]=0;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;do if((l[(k[h>>2]|0)+64>>0]|0)&16){i[(k[e>>2]|0)+11>>0]=1;if((k[g>>2]|0)==0?(d=(k[h>>2]|0)+16|0,a=f,!((k[d>>2]|0)==(k[a>>2]|0)?(k[d+4>>2]|0)==(k[a+4>>2]|0):0)):0)break;i[(k[h>>2]|0)+66>>0]=0}while(0);k[h>>2]=k[(k[h>>2]|0)+8>>2]}r=j;return}function RK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;o=u+36|0;f=u+32|0;e=u+28|0;p=u+24|0;g=u+20|0;s=u+16|0;t=u+12|0;j=u+8|0;h=u+4|0;q=u;n=u+40|0;k[f>>2]=a;k[e>>2]=b;k[p>>2]=c;k[g>>2]=d;d=k[e>>2]|0;if(d>>>0>(xF(k[f>>2]|0)|0)>>>0){t=Yj(66175)|0;k[o>>2]=t;t=k[o>>2]|0;r=u;return t|0}d=wF(k[f>>2]|0,k[e>>2]|0,s,0,0)|0;k[t>>2]=d;if(k[t>>2]|0){k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}a:do if(!(i[(k[s>>2]|0)+8>>0]|0)){i[(k[s>>2]|0)+8>>0]=1;k[q>>2]=l[(k[s>>2]|0)+5>>0];k[h>>2]=0;while(1){e=k[s>>2]|0;if((k[h>>2]|0)>=(m[(k[s>>2]|0)+18>>1]|0))break;k[j>>2]=(k[e+56>>2]|0)+(m[(k[s>>2]|0)+20>>1]&(l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)>>0]<<8|l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)+1>>0]));if((i[(k[s>>2]|0)+4>>0]|0)==0?(b=k[f>>2]|0,d=or(k[j>>2]|0)|0,d=RK(b,d,1,k[g>>2]|0)|0,k[t>>2]=d,(k[t>>2]|0)!=0):0)break a;d=SK(k[s>>2]|0,k[j>>2]|0,n)|0;k[t>>2]=d;if(k[t>>2]|0)break a;k[h>>2]=(k[h>>2]|0)+1}if(i[e+4>>0]|0){if(k[g>>2]|0){n=k[g>>2]|0;k[n>>2]=(k[n>>2]|0)+(m[(k[s>>2]|0)+18>>1]|0)}}else{j=k[f>>2]|0;n=or((k[(k[s>>2]|0)+56>>2]|0)+((k[q>>2]|0)+8)|0)|0;n=RK(j,n,1,k[g>>2]|0)|0;k[t>>2]=n;if(k[t>>2]|0)break}e=k[s>>2]|0;if(k[p>>2]|0){TK(e,t);break}p=Pg(k[e+72>>2]|0)|0;k[t>>2]=p;if(!p)UK(k[s>>2]|0,l[(k[(k[s>>2]|0)+56>>2]|0)+(k[q>>2]|0)>>0]|8)}else{q=Yj(66180)|0;k[t>>2]=q}while(0);i[(k[s>>2]|0)+8>>0]=0;NB(k[s>>2]|0);k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}function SK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+80|0;d=t+64|0;e=t+60|0;f=t+56|0;u=t+52|0;o=t+48|0;h=t;n=t+44|0;q=t+40|0;i=t+36|0;l=t+32|0;g=t+28|0;p=t+24|0;k[e>>2]=a;k[f>>2]=b;k[u>>2]=c;k[o>>2]=k[(k[e>>2]|0)+52>>2];cc[k[(k[e>>2]|0)+80>>2]&255](k[e>>2]|0,k[f>>2]|0,h);j[k[u>>2]>>1]=j[h+18>>1]|0;if((m[h+16>>1]|0|0)==(k[h+12>>2]|0)){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}if(((k[f>>2]|0)+(m[h+18>>1]|0)+-1|0)>>>0>((k[(k[e>>2]|0)+56>>2]|0)+(m[(k[e>>2]|0)+20>>1]|0)|0)>>>0){u=Yj(63736)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}u=or((k[f>>2]|0)+(m[h+18>>1]|0)+-4|0)|0;k[n>>2]=u;k[l>>2]=(k[(k[o>>2]|0)+36>>2]|0)-4;k[i>>2]=(((k[h+12>>2]|0)-(m[h+16>>1]|0)+(k[l>>2]|0)-1|0)>>>0)/((k[l>>2]|0)>>>0)|0;while(1){u=k[i>>2]|0;k[i>>2]=u+-1;if(!u){s=23;break}k[g>>2]=0;k[p>>2]=0;if((k[n>>2]|0)>>>0<2){s=9;break}u=k[n>>2]|0;if(u>>>0>(xF(k[o>>2]|0)|0)>>>0){s=9;break}if((k[i>>2]|0)!=0?(u=IF(k[o>>2]|0,k[n>>2]|0,p,g)|0,k[q>>2]=u,(k[q>>2]|0)!=0):0){s=12;break}if((k[p>>2]|0)==0?(u=XK(k[o>>2]|0,k[n>>2]|0)|0,k[p>>2]=u,(u|0)==0):0)s=17;else if((bu(k[(k[p>>2]|0)+72>>2]|0)|0)!=1){u=Yj(63772)|0;k[q>>2]=u}else s=17;if((s|0)==17){s=0;u=VK(k[o>>2]|0,k[p>>2]|0,k[n>>2]|0)|0;k[q>>2]=u}if(k[p>>2]|0)Hg(k[(k[p>>2]|0)+72>>2]|0);if(k[q>>2]|0){s=21;break}k[n>>2]=k[g>>2]}if((s|0)==9){u=Yj(63752)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}else if((s|0)==12){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==21){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==23){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}return 0}function TK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[k[d>>2]>>2]|0){r=e;return}b=VK(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+84>>2]|0)|0;k[k[d>>2]>>2]=b;r=e;return}function UK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0;n=r;r=r+32|0;c=n+12|0;d=n+8|0;e=n+4|0;h=n;g=n+18|0;f=n+16|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+56>>2];k[h>>2]=k[(k[c>>2]|0)+52>>2];i[g>>0]=i[(k[c>>2]|0)+5>>0]|0;if((m[(k[h>>2]|0)+22>>1]|0)&4)KR((k[e>>2]|0)+(l[g>>0]|0)|0,0,(k[(k[h>>2]|0)+36>>2]|0)-(l[g>>0]|0)|0)|0;i[(k[e>>2]|0)+(l[g>>0]|0)>>0]=k[d>>2];j[f>>1]=(l[g>>0]|0)+((k[d>>2]&8|0)==0?12:8);a=(k[e>>2]|0)+((l[g>>0]|0)+1)|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+7)>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+5)>>0]=(k[(k[h>>2]|0)+36>>2]|0)>>>8;i[(k[e>>2]|0)+((l[g>>0]|0)+5)+1>>0]=k[(k[h>>2]|0)+36>>2];j[(k[c>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[f>>1]|0);du(k[c>>2]|0,k[d>>2]|0)|0;j[(k[c>>2]|0)+14>>1]=j[f>>1]|0;k[(k[c>>2]|0)+60>>2]=(k[e>>2]|0)+(k[(k[h>>2]|0)+36>>2]|0);k[(k[c>>2]|0)+64>>2]=(k[e>>2]|0)+(m[f>>1]|0);k[(k[c>>2]|0)+68>>2]=(k[e>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);i[(k[c>>2]|0)+1>>0]=0;j[(k[c>>2]|0)+20>>1]=(k[(k[h>>2]|0)+32>>2]|0)-1;j[(k[c>>2]|0)+18>>1]=0;i[k[c>>2]>>0]=1;r=n;return}function VK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;p=s+24|0;h=s+20|0;o=s+16|0;n=s+12|0;q=s+8|0;j=s+4|0;l=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[p>>2]=0;k[h>>2]=0;k[o>>2]=k[(k[e>>2]|0)+12>>2];if((k[g>>2]|0)>>>0<2){q=Yj(63590)|0;k[d>>2]=q;q=k[d>>2]|0;r=s;return q|0}if(k[f>>2]|0){k[n>>2]=k[f>>2];WK(k[(k[n>>2]|0)+72>>2]|0)}else{b=XK(k[e>>2]|0,k[g>>2]|0)|0;k[n>>2]=b}b=Pg(k[(k[o>>2]|0)+72>>2]|0)|0;k[q>>2]=b;do if(!(k[q>>2]|0)){b=or((k[(k[o>>2]|0)+56>>2]|0)+36|0)|0;k[j>>2]=b;nt((k[(k[o>>2]|0)+56>>2]|0)+36|0,(k[j>>2]|0)+1|0);if(m[(k[e>>2]|0)+22>>1]&4){if((k[n>>2]|0)==0?(b=LF(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,(b|0)!=0):0)break;b=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(b)break;KR(k[(k[n>>2]|0)+56>>2]|0,0,k[(k[(k[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((i[(k[e>>2]|0)+17>>0]|0)!=0?(WJ(k[e>>2]|0,k[g>>2]|0,2,0,q),(k[q>>2]|0)!=0):0)break;if(k[j>>2]|0){b=or((k[(k[o>>2]|0)+56>>2]|0)+32|0)|0;k[h>>2]=b;b=LF(k[e>>2]|0,k[h>>2]|0,p,0)|0;k[q>>2]=b;if(k[q>>2]|0)break;b=or((k[(k[p>>2]|0)+56>>2]|0)+4|0)|0;k[l>>2]=b;if((k[l>>2]|0)>>>0>((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){o=Yj(63643)|0;k[q>>2]=o;break}if((k[l>>2]|0)>>>0<((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){o=Pg(k[(k[p>>2]|0)+72>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0)break;nt((k[(k[p>>2]|0)+56>>2]|0)+4|0,(k[l>>2]|0)+1|0);nt((k[(k[p>>2]|0)+56>>2]|0)+(8+(k[l>>2]<<2))|0,k[g>>2]|0);if((k[n>>2]|0)!=0?(m[(k[e>>2]|0)+22>>1]&4|0)==0:0)YK(k[(k[n>>2]|0)+72>>2]|0);o=ZK(k[e>>2]|0,k[g>>2]|0)|0;k[q>>2]=o;break}}if((k[n>>2]|0)==0?(b=LF(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,0!=(b|0)):0)break;b=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){nt(k[(k[n>>2]|0)+56>>2]|0,k[h>>2]|0);nt((k[(k[n>>2]|0)+56>>2]|0)+4|0,0);nt((k[(k[o>>2]|0)+56>>2]|0)+32|0,k[g>>2]|0)}}while(0);if(k[n>>2]|0)i[k[n>>2]>>0]=0;NB(k[n>>2]|0);NB(k[p>>2]|0);k[d>>2]=k[q>>2];q=k[d>>2]|0;r=s;return q|0}function WK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_K(k[c>>2]|0);r=b;return}function XK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=ps(k[k[d>>2]>>2]|0,k[e>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){b=yF(k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}else{k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}return 0}function YK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];if(i[(k[c>>2]|0)+13>>0]|0){r=d;return}if(!(m[(k[b>>2]|0)+24>>1]&2)){r=d;return}if(k[(k[c>>2]|0)+104>>2]|0){r=d;return}a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|16;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-5;r=d;return}function ZK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[c>>2]|0)+60>>2]|0)==0?(b=sj(k[(k[c>>2]|0)+44>>2]|0)|0,k[(k[c>>2]|0)+60>>2]=b,(k[(k[c>>2]|0)+60>>2]|0)==0):0)k[e>>2]=7;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}b=k[d>>2]|0;if(b>>>0>(wj(k[(k[c>>2]|0)+60>>2]|0)|0)>>>0){e=k[e>>2]|0;r=f;return e|0}b=tj(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function _K(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+26|0;j[a>>1]=(j[a>>1]|0)+1<<16>>16;a=(k[(k[c>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function $K(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;n=o+16|0;m=o+12|0;j=o+8|0;h=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[j>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[j>>2]|0)+8>>2]|0){k[d>>2]=262;n=k[d>>2]|0;r=o;return n|0}if((k[f>>2]|0)>>>0<2){n=Yj(66301)|0;k[d>>2]=n;n=k[d>>2]|0;r=o;return n|0}c=LF(k[j>>2]|0,k[f>>2]|0,m,0)|0;k[n>>2]=c;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}c=lJ(k[e>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=c;if(k[n>>2]|0){NB(k[m>>2]|0);k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[k[g>>2]>>2]=0;if(i[(k[j>>2]|0)+17>>0]|0){zg(k[e>>2]|0,4,h);b=k[m>>2]|0;do if((k[f>>2]|0)==(k[h>>2]|0)){TK(b,n);NB(k[m>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}}else{NB(b);m=LF(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}m=TJ(k[j>>2]|0,k[l>>2]|0,1,0,k[f>>2]|0,0)|0;k[n>>2]=m;NB(k[l>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[l>>2]=0;m=LF(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;TK(k[l>>2]|0,n);NB(k[l>>2]|0);if(!(k[n>>2]|0)){k[k[g>>2]>>2]=k[h>>2];break}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[h>>2]=(k[h>>2]|0)+-1;while(1){if((k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(m=JF(k[j>>2]|0,k[h>>2]|0)|0,(m|0)!=(k[h>>2]|0)):0)break;k[h>>2]=(k[h>>2]|0)+-1}m=Kg(k[e>>2]|0,4,k[h>>2]|0)|0;k[n>>2]=m}else{TK(k[m>>2]|0,n);NB(k[m>>2]|0)}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function aL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+56>>0]=1;a=bL((k[c>>2]|0)+64|0,(k[c>>2]|0)+36|0)|0;r=b;return a|0}function bL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+64|0;d=j+60|0;e=j+56|0;c=j+52|0;h=j+48|0;i=j;f=j+44|0;g=j+40|0;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+24>>2];k[h>>2]=0;b=i;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(k[(k[d>>2]|0)+40>>2]|0)){c=cL(k[c>>2]|0,0,0,(k[d>>2]|0)+40|0)|0;k[h>>2]=c}if(!(k[h>>2]|0)){c=dL(k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=c}if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}k[g>>2]=0;c=(k[d>>2]|0)+40+8|0;eL(k[(k[d>>2]|0)+40>>2]|0,i,k[(k[(k[d>>2]|0)+8>>2]|0)+12>>2]|0,k[c>>2]|0,k[c+4>>2]|0);c=(k[d>>2]|0)+28|0;k[c>>2]=(k[c>>2]|0)+1;c=k[(k[e>>2]|0)+8>>2]|0;fL(i,c,((c|0)<0)<<31>>31);k[f>>2]=k[k[e>>2]>>2];while(1){b=k[f>>2]|0;if(!(k[f>>2]|0))break;k[g>>2]=k[b+4>>2];c=k[k[f>>2]>>2]|0;fL(i,c,((c|0)<0)<<31>>31);gL(i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0);if(!(k[(k[e>>2]|0)+4>>2]|0))Ud(k[f>>2]|0);k[f>>2]=k[g>>2]}k[k[e>>2]>>2]=b;i=hL(i,(k[d>>2]|0)+40+8|0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}function cL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[f>>2]=a;a=j+8|0;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(Ji(202)|0){k[e>>2]=3338;i=k[e>>2]|0;r=j;return i|0}d=pL(k[k[f>>2]>>2]|0,0,k[g>>2]|0,4126,i)|0;k[i>>2]=d;if(!(k[i>>2]|0)){d=h;k[d>>2]=0;k[d+4>>2]=0;$s(k[k[g>>2]>>2]|0,18,h)}k[e>>2]=k[i>>2];i=k[e>>2]|0;r=j;return i|0}function dL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;g=m+12|0;i=m+8|0;c=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;a=iL(k[e>>2]|0)|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];j=k[d>>2]|0;r=m;return j|0}k[i>>2]=k[k[f>>2]>>2];c=jL(k[(k[e>>2]|0)+8>>2]|0)|0;k[(k[e>>2]|0)+32>>2]=c;c=ug(256,0)|0;k[g>>2]=c;if(!(k[g>>2]|0)){k[d>>2]=7;j=k[d>>2]|0;r=m;return j|0}while(1){if(!(k[i>>2]|0))break;b=k[i>>2]|0;do if(k[(k[f>>2]|0)+4>>2]|0)if((b|0)==(k[(k[f>>2]|0)+4>>2]|0)){k[j>>2]=0;break}else{k[j>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[(k[i>>2]|0)+4>>2]|0);break}else k[j>>2]=k[b+4>>2];while(0);k[(k[i>>2]|0)+4>>2]=0;k[h>>2]=0;while(1){if(!(k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0))break;kL(k[e>>2]|0,k[i>>2]|0,k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0,i);k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=0;k[h>>2]=(k[h>>2]|0)+1}k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[i>>2];k[i>>2]=k[j>>2]}k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=64)break;kL(k[e>>2]|0,k[i>>2]|0,k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0,i);k[h>>2]=(k[h>>2]|0)+1}k[k[f>>2]>>2]=k[i>>2];Ud(k[g>>2]|0);k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function eL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;a=i;k[a>>2]=d;k[a+4>>2]=e;d=k[g>>2]|0;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a=k[h>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+4>>2]=a;if(k[(k[g>>2]|0)+4>>2]|0){b=i;a=k[h>>2]|0;a=QR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[(k[g>>2]|0)+12>>2]=a;k[(k[g>>2]|0)+16>>2]=a;a=k[(k[g>>2]|0)+12>>2]|0;a=FR(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=(k[g>>2]|0)+24|0;k[i>>2]=a;k[i+4>>2]=L;k[(k[g>>2]|0)+8>>2]=k[h>>2];k[(k[g>>2]|0)+32>>2]=k[f>>2];r=j;return}else{k[k[g>>2]>>2]=7;r=j;return}}function fL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+12|0;h=d;e=d+8|0;f=d+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=h;a=HI(f,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;gL(k[g>>2]|0,f,k[e>>2]|0);r=d;return}function gL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[f>>2];while(1){if((k[h>>2]|0)<=0){d=9;break}if(k[k[d>>2]>>2]|0){d=9;break}k[g>>2]=k[h>>2];if((k[g>>2]|0)>((k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0)|0))k[g>>2]=(k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0);IR((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+16>>2]|0)|0,(k[e>>2]|0)+((k[f>>2]|0)-(k[h>>2]|0))|0,k[g>>2]|0)|0;b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+(k[g>>2]|0);if((k[(k[d>>2]|0)+16>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)){j=k[(k[d>>2]|0)+32>>2]|0;c=(k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0;b=(k[(k[d>>2]|0)+16>>2]|0)-(k[(k[d>>2]|0)+12>>2]|0)|0;l=(k[d>>2]|0)+24|0;a=k[(k[d>>2]|0)+12>>2]|0;a=GR(k[l>>2]|0,k[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Rg(j,c,b,a,L)|0;k[k[d>>2]>>2]=a;k[(k[d>>2]|0)+16>>2]=0;k[(k[d>>2]|0)+12>>2]=0;a=k[(k[d>>2]|0)+8>>2]|0;b=(k[d>>2]|0)+24|0;c=b;a=GR(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[b>>2]=a;k[b+4>>2]=L}k[h>>2]=(k[h>>2]|0)-(k[g>>2]|0)}if((d|0)==9){r=i;return}}function hL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(((k[k[c>>2]>>2]|0)==0?(k[(k[c>>2]|0)+4>>2]|0)!=0:0)?(k[(k[c>>2]|0)+16>>2]|0)>(k[(k[c>>2]|0)+12>>2]|0):0){h=k[(k[c>>2]|0)+32>>2]|0;g=(k[(k[c>>2]|0)+4>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0;a=(k[(k[c>>2]|0)+16>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0;i=(k[c>>2]|0)+24|0;b=k[(k[c>>2]|0)+12>>2]|0;b=GR(k[i>>2]|0,k[i+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Rg(h,g,a,b,L)|0;k[k[c>>2]>>2]=b}h=(k[c>>2]|0)+24|0;i=k[(k[c>>2]|0)+16>>2]|0;i=GR(k[h>>2]|0,k[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;d=k[d>>2]|0;k[d>>2]=i;k[d+4>>2]=L;Ud(k[(k[c>>2]|0)+4>>2]|0);k[e>>2]=k[k[c>>2]>>2];c=k[c>>2]|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));r=f;return k[e>>2]|0}function iL(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+12>>2]|0)){a=AF(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0,0,0,d)|0;k[(k[c>>2]|0)+12>>2]=a;if(k[d>>2]|0){j[(k[(k[c>>2]|0)+12>>2]|0)+8>>1]=j[(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;i[(k[(k[c>>2]|0)+12>>2]|0)+11>>0]=0;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function jL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((l[(k[c>>2]|0)+60>>0]|0|0)!=1)if((l[(k[c>>2]|0)+60>>0]|0|0)==2){k[b>>2]=139;break}else{k[b>>2]=140;break}else k[b>>2]=138;while(0);r=d;return k[b>>2]|0}function kL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[l>>2]=j;k[i>>2]=0;while(1){if(!((k[f>>2]|0)!=0?(k[g>>2]|0)!=0:0))break;d=ac[k[(k[e>>2]|0)+32>>2]&255](k[e>>2]|0,i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0,(k[g>>2]|0)+8|0,k[k[g>>2]>>2]|0)|0;k[m>>2]=d;if((k[m>>2]|0)<=0){k[k[l>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]|0)+4;k[f>>2]=k[(k[f>>2]|0)+4>>2];continue}else{k[k[l>>2]>>2]=k[g>>2];k[l>>2]=(k[g>>2]|0)+4;k[g>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=0;continue}}k[k[l>>2]>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:k[g>>2]|0;k[k[h>>2]>>2]=k[j>>2];r=n;return}function lL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=r;r=r+64|0;p=x+52|0;q=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;h=x+20|0;j=x+16|0;n=x+12|0;o=x+8|0;w=x+4|0;g=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[z>>2]=k[s>>2];k[y>>2]=k[u>>2];k[h>>2]=l[(k[z>>2]|0)+1>>0];k[j>>2]=l[(k[y>>2]|0)+1>>0];k[n>>2]=(k[z>>2]|0)+(l[k[z>>2]>>0]|0);k[o>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);d=k[h>>2]|0;f=k[j>>2]|0;a:do if(!((k[h>>2]|0)>7&(k[j>>2]|0)>7)){if((d|0)==(f|0)){if((l[k[n>>2]>>0]^l[k[o>>2]>>0])&128){k[w>>2]=(l[k[n>>2]>>0]&128|0)!=0?-1:1;break}k[w>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[42913+(k[h>>2]|0)>>0]|0))break a;z=(l[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0)-(l[(k[o>>2]|0)+(k[g>>2]|0)>>0]|0)|0;k[w>>2]=z;if(z)break a;k[g>>2]=(k[g>>2]|0)+1}}do if((k[j>>2]|0)<=7)if((k[h>>2]|0)>7){k[w>>2]=-1;break}else{k[w>>2]=(k[h>>2]|0)-(k[j>>2]|0);break}else k[w>>2]=1;while(0);if((k[w>>2]|0)>0){if(!(l[k[n>>2]>>0]&128))break;k[w>>2]=-1;break}else{if(!(l[k[o>>2]>>0]&128))break;k[w>>2]=1;break}}else k[w>>2]=d-f;while(0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){z=k[w>>2]|0;r=x;return z|0}z=oL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}else{if(!(i[k[d+16>>2]>>0]|0)){z=k[w>>2]|0;r=x;return z|0}z=ha(k[w>>2]|0,-1)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}return 0}function mL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;p=x+48|0;q=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;j=x+20|0;n=x+16|0;o=x+12|0;g=x+8|0;h=x+4|0;w=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[y>>2]=k[s>>2];k[j>>2]=k[u>>2];k[n>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);k[o>>2]=(k[j>>2]|0)+(l[k[j>>2]>>0]|0);d=(k[y>>2]|0)+1|0;if((l[(k[y>>2]|0)+1>>0]|0)<128)k[g>>2]=l[d>>0];else RF(d,g)|0;k[g>>2]=((k[g>>2]|0)-13|0)/2|0;d=(k[j>>2]|0)+1|0;if((l[(k[j>>2]|0)+1>>0]|0)<128)k[h>>2]=l[d>>0];else RF(d,h)|0;k[h>>2]=((k[h>>2]|0)-13|0)/2|0;y=VQ(k[n>>2]|0,k[o>>2]|0,(k[g>>2]|0)<(k[h>>2]|0)?k[g>>2]|0:k[h>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0))k[w>>2]=(k[g>>2]|0)-(k[h>>2]|0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){y=k[w>>2]|0;r=x;return y|0}y=oL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}else{if(!(i[k[d+16>>2]>>0]|0)){y=k[w>>2]|0;r=x;return y|0}y=ha(k[w>>2]|0,-1)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}return 0}function nL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=PF(a,b,n)|0;r=o;return n|0}BF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=PF(a,b,n)|0;r=o;return n|0}function oL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=QF(a,b,n,1)|0;r=o;return n|0}BF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=QF(a,b,n,1)|0;r=o;return n|0}function pL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;l=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[g>>2]=b;k[l>>2]=c;k[h>>2]=d;k[i>>2]=e;b=k[(k[f>>2]|0)+4>>2]|0;b=ug(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;if(!(k[j>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}f=as(k[f>>2]|0,k[g>>2]|0,k[j>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[m>>2]=f;f=k[j>>2]|0;if(k[m>>2]|0){Ud(f);m=k[m>>2]|0;r=n;return m|0}else{k[k[l>>2]>>2]=f;m=k[m>>2]|0;r=n;return m|0}return 0}function qL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+36|0;d=p+32|0;n=p+28|0;g=p+24|0;m=p+20|0;f=p+16|0;i=p+12|0;j=p+8|0;e=p+4|0;h=p;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2];k[m>>2]=k[(k[c>>2]|0)+4>>2];b=rL((k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){k[e>>2]=0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]&65534)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|1)*56|0);k[f>>2]=((k[k[c>>2]>>2]|0)+(k[g>>2]|0)|0)/2|0;while(1){if((k[f>>2]|0)<=0)break;do if(k[(k[i>>2]|0)+24>>2]|0)if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=-1;break}else{b=ac[k[(k[m>>2]|0)+32>>2]&255](k[m>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[h>>2]=b;break}else k[h>>2]=1;while(0);do if((k[h>>2]|0)<0)o=12;else{if((k[h>>2]|0)==0?(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0:0){o=12;break}if(k[(k[i>>2]|0)+24>>2]|0)k[e>>2]=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[j>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((o|0)==12){o=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[i>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0);k[e>>2]=0}k[f>>2]=(k[f>>2]|0)/2|0}k[k[d>>2]>>2]=(k[(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(k[n>>2]|0)){o=l[(k[(k[m>>2]|0)+12>>2]|0)+11>>0]|0;r=p;return o|0}else{o=k[n>>2]|0;r=p;return o|0}return 0}function rL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;b=h+24|0;c=h+20|0;g=h+16|0;e=h;f=h+12|0;d=h+8|0;k[c>>2]=a;k[g>>2]=0;i=e;k[i>>2]=0;k[i+4>>2]=0;i=k[c>>2]|0;l=k[i+4>>2]|0;a=(k[c>>2]|0)+8|0;j=k[a+4>>2]|0;if((l|0)>(j|0)|((l|0)==(j|0)?(k[i>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){k[f>>2]=k[(k[c>>2]|0)+48>>2];k[d>>2]=1;if(((k[f>>2]|0)!=0?(l=sL(k[f>>2]|0)|0,k[g>>2]=l,(k[g>>2]|0)==0):0)?(k[(k[f>>2]|0)+20>>2]|0)==0:0){l=(k[f>>2]|0)+8|0;l=tL(k[k[f>>2]>>2]|0,k[c>>2]|0,(k[f>>2]|0)+32|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[g>>2]=l;k[d>>2]=0}if(k[d>>2]|0){OK(k[c>>2]|0);k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}}if(!(k[g>>2]|0)){l=uL(k[c>>2]|0,e)|0;k[g>>2]=l}if(!(k[g>>2]|0)){k[(k[c>>2]|0)+20>>2]=k[e>>2];l=vL(k[c>>2]|0,k[e>>2]|0,(k[c>>2]|0)+32|0)|0;k[g>>2]=l}k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}function sL(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;e=yL(k[b>>2]|0)|0;k[c>>2]=e;e=(k[b>>2]|0)+32|0;a=(k[b>>2]|0)+32+16|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];e=(k[b>>2]|0)+32+8|0;a=(k[b>>2]|0)+8|0;if(!((k[e>>2]|0)==(k[a>>2]|0)?(k[e+4>>2]|0)==(k[a+4>>2]|0):0)){e=k[c>>2]|0;r=d;return e|0}k[(k[b>>2]|0)+20>>2]=1;e=k[c>>2]|0;r=d;return e|0}function tL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p;o=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;k[o>>2]=0;if(Ji(201)|0){k[f>>2]=266;o=k[f>>2]|0;r=p;return o|0}if(k[(k[h>>2]|0)+44>>2]|0){Us(k[(k[h>>2]|0)+24>>2]|0,0,0,k[(k[h>>2]|0)+44>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=0}a=j;b=k[a+4>>2]|0;c=k[h>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=(k[i>>2]|0)+8|0;b=k[c+4>>2]|0;a=(k[h>>2]|0)+8|0;k[a>>2]=k[c>>2];k[a+4>>2]=b;k[(k[h>>2]|0)+24>>2]=k[k[i>>2]>>2];a=wL(k[g>>2]|0,k[i>>2]|0,(k[h>>2]|0)+44|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(k[(k[h>>2]|0)+44>>2]|0)==0:0){k[n>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+12>>2];b=k[h>>2]|0;a=k[n>>2]|0;a=QR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[l>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0)){a=k[n>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[h>>2]|0)+36>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0))k[o>>2]=7;k[(k[h>>2]|0)+40>>2]=k[n>>2]}if((k[o>>2]|0)==0&(k[l>>2]|0)!=0){k[m>>2]=(k[n>>2]|0)-(k[l>>2]|0);c=k[h>>2]|0;a=k[m>>2]|0;a=GR(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;n=(k[h>>2]|0)+8|0;b=k[n+4>>2]|0;if((c|0)>(b|0)|((c|0)==(b|0)?a>>>0>(k[n>>2]|0)>>>0:0)){a=(k[h>>2]|0)+8|0;n=k[h>>2]|0;n=FR(k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[m>>2]=n}n=k[h>>2]|0;n=ms(k[(k[h>>2]|0)+24>>2]|0,(k[(k[h>>2]|0)+36>>2]|0)+(k[l>>2]|0)|0,k[m>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n}}k[f>>2]=k[o>>2];o=k[f>>2]|0;r=p;return o|0}function uL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;c=o+24|0;d=o+20|0;e=o+16|0;j=o+12|0;g=o+32|0;f=o+8|0;h=o+4|0;m=o;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;a=k[b>>2]|0;b=k[b+4>>2]|0;do if(k[(k[d>>2]|0)+44>>2]|0){m=(ku((k[(k[d>>2]|0)+44>>2]|0)+a|0,k[e>>2]|0)|0)&255;n=k[d>>2]|0;j=n;m=GR(k[j>>2]|0,k[j+4>>2]|0,m|0,0)|0;k[n>>2]=m;k[n+4>>2]=L}else{p=k[(k[d>>2]|0)+40>>2]|0;b=QR(a|0,b|0,p|0,((p|0)<0)<<31>>31|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=0?((k[(k[d>>2]|0)+40>>2]|0)-(k[j>>2]|0)|0)>=9:0){n=(ku((k[(k[d>>2]|0)+36>>2]|0)+(k[j>>2]|0)|0,k[e>>2]|0)|0)&255;p=k[d>>2]|0;m=p;n=GR(k[m>>2]|0,k[m+4>>2]|0,n|0,0)|0;k[p>>2]=n;k[p+4>>2]=L;break}k[h>>2]=0;while(1){p=vL(k[d>>2]|0,1,f)|0;k[m>>2]=p;if(k[m>>2]|0)break;j=i[k[f>>2]>>0]|0;p=k[h>>2]|0;k[h>>2]=p+1;i[g+(p&15)>>0]=j;if(!((l[k[f>>2]>>0]|0)&128)){n=10;break}}if((n|0)==10){ku(g,k[e>>2]|0)|0;break}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=o;return p|0}while(0);k[c>>2]=0;p=k[c>>2]|0;r=o;return p|0}function vL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+64|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;m=u+36|0;n=u+32|0;d=u+28|0;e=u+24|0;q=u+20|0;j=u+16|0;p=u+12|0;s=u+8|0;o=u+4|0;l=u;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=k[g>>2]|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[(k[g>>2]|0)+44>>2]|0){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+44>>2]|0)+b;s=k[h>>2]|0;t=k[g>>2]|0;q=t;s=GR(k[q>>2]|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}c=k[(k[g>>2]|0)+40>>2]|0;c=QR(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;k[m>>2]=c;if(!(k[m>>2]|0)){w=(k[g>>2]|0)+8|0;a=k[g>>2]|0;a=FR(k[w>>2]|0,k[w+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;w=L;c=k[(k[g>>2]|0)+40>>2]|0;v=((c|0)<0)<<31>>31;b=k[g>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>c>>>0)k[d>>2]=k[b+40>>2];else{v=b+8|0;w=k[g>>2]|0;w=FR(k[v>>2]|0,k[v+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[d>>2]=w}w=k[g>>2]|0;w=ms(k[(k[g>>2]|0)+24>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[d>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[e>>2]=w;if(k[e>>2]|0){k[f>>2]=k[e>>2];w=k[f>>2]|0;r=u;return w|0}}k[n>>2]=(k[(k[g>>2]|0)+40>>2]|0)-(k[m>>2]|0);do if((k[h>>2]|0)<=(k[n>>2]|0)){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0);v=k[h>>2]|0;w=k[g>>2]|0;t=w;v=GR(k[t>>2]|0,k[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L}else{do if((k[(k[g>>2]|0)+16>>2]|0)<(k[h>>2]|0)){if(128>(k[(k[g>>2]|0)+16>>2]<<1|0))b=128;else b=k[(k[g>>2]|0)+16>>2]<<1;k[p>>2]=b;while(1){if((k[h>>2]|0)<=(k[p>>2]|0))break;k[p>>2]=k[p>>2]<<1}w=k[p>>2]|0;w=mg(k[(k[g>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;k[j>>2]=w;if(k[j>>2]|0){k[(k[g>>2]|0)+16>>2]=k[p>>2];k[(k[g>>2]|0)+28>>2]=k[j>>2];break}k[f>>2]=7;w=k[f>>2]|0;r=u;return w|0}while(0);IR(k[(k[g>>2]|0)+28>>2]|0,(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0)|0,k[n>>2]|0)|0;v=k[n>>2]|0;w=k[g>>2]|0;p=w;v=GR(k[p>>2]|0,k[p+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L;k[q>>2]=(k[h>>2]|0)-(k[n>>2]|0);while(1){if((k[q>>2]|0)<=0){t=27;break}k[o>>2]=k[q>>2];if((k[q>>2]|0)>(k[(k[g>>2]|0)+40>>2]|0))k[o>>2]=k[(k[g>>2]|0)+40>>2];w=vL(k[g>>2]|0,k[o>>2]|0,l)|0;k[s>>2]=w;if(k[s>>2]|0)break;IR((k[(k[g>>2]|0)+28>>2]|0)+((k[h>>2]|0)-(k[q>>2]|0))|0,k[l>>2]|0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}if((t|0)==27){k[k[i>>2]>>2]=k[(k[g>>2]|0)+28>>2];break}k[f>>2]=k[s>>2];w=k[f>>2]|0;r=u;return w|0}while(0);k[f>>2]=0;w=k[f>>2]|0;r=u;return w|0}function wL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;a=(k[d>>2]|0)+8|0;i=k[a+4>>2]|0;c=k[(k[(k[(k[j>>2]|0)+8>>2]|0)+24>>2]|0)+140>>2]|0;b=((c|0)<0)<<31>>31;if(!((i|0)<(b|0)|((i|0)==(b|0)?(k[a>>2]|0)>>>0<=c>>>0:0))){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=k[k[d>>2]>>2];if((k[k[k[f>>2]>>2]>>2]|0)<3){j=k[g>>2]|0;r=h;return j|0}j=xL(k[f>>2]|0,0,0,k[(k[d>>2]|0)+8>>2]|0,k[e>>2]|0)|0;k[g>>2]=j;j=k[g>>2]|0;r=h;return j|0}function xL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function yL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+96|0;b=n+88|0;j=n+84|0;l=n+80|0;e=n+48|0;h=n+76|0;o=n+72|0;g=n+68|0;m=n+8|0;c=n+64|0;i=n+60|0;f=n+56|0;d=n;k[b>>2]=a;k[j>>2]=0;q=(k[b>>2]|0)+8|0;p=k[q+4>>2]|0;a=e;k[a>>2]=k[q>>2];k[a+4>>2]=p;k[h>>2]=(k[b>>2]|0)+32+16;k[o>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+4>>2];a=e;eL(k[k[h>>2]>>2]|0,m,k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]|0,k[a>>2]|0,k[a+4>>2]|0);while(1){if(k[j>>2]|0)break;k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+((k[(k[(k[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[f>>2]=k[(k[i>>2]|0)+20>>2];q=m+24|0;p=k[m+16>>2]|0;p=GR(k[q>>2]|0,k[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=d;k[q>>2]=p;k[q+4>>2]=L;if(!(k[(k[i>>2]|0)+24>>2]|0))break;a=d;o=k[f>>2]|0;o=GR(k[a>>2]|0,k[a+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;a=L;p=k[f>>2]|0;p=XF(p,((p|0)<0)<<31>>31)|0;p=GR(o|0,a|0,p|0,((p|0)<0)<<31>>31|0)|0;a=L;o=e;q=k[(k[b>>2]|0)+16>>2]|0;q=GR(k[o>>2]|0,k[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;o=L;if((a|0)>(o|0)|(a|0)==(o|0)&p>>>0>q>>>0)break;q=k[f>>2]|0;fL(m,q,((q|0)<0)<<31>>31);gL(m,k[(k[i>>2]|0)+32>>2]|0,k[f>>2]|0);q=qL(k[(k[b>>2]|0)+4>>2]|0,c)|0;k[j>>2]=q}q=hL(m,(k[h>>2]|0)+8|0)|0;k[l>>2]=q;if(k[j>>2]|0){q=k[j>>2]|0;r=n;return q|0}k[j>>2]=k[l>>2];q=k[j>>2]|0;r=n;return q|0}function zL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[d>>2]=(k[b>>2]|0)+64;k[c>>2]=0;a=AL(k[b>>2]|0,c)|0;k[e>>2]=a;if(!(k[e>>2]|0)){d=BL(k[d>>2]|0,k[c>>2]|0,0)|0;k[e>>2]=d;k[(k[b>>2]|0)+20>>2]=k[c>>2];k[c>>2]=0}if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}KK(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function AL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;c=s+52|0;d=s+48|0;m=s+44|0;q=s+40|0;h=s+36|0;p=s+32|0;o=s+28|0;i=s+24|0;f=s;e=s+20|0;g=s+16|0;n=s+12|0;j=s+8|0;k[c>>2]=a;k[d>>2]=b;k[m>>2]=0;k[q>>2]=0;k[h>>2]=0;while(1){if(k[q>>2]|0)break;if((k[h>>2]|0)>=(l[(k[c>>2]|0)+59>>0]|0|0))break;k[p>>2]=(k[c>>2]|0)+64+((k[h>>2]|0)*72|0);k[o>>2]=0;b=FL(k[(k[p>>2]|0)+28>>2]|0)|0;k[i>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;a:do if((k[(k[p>>2]|0)+28>>2]|0)<=16){b=GL(k[p>>2]|0,k[(k[p>>2]|0)+28>>2]|0,f,o)|0;k[q>>2]=b}else{k[g>>2]=0;b=HL(16)|0;k[o>>2]=b;if(!(k[o>>2]|0))k[q>>2]=7;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[p>>2]|0)+28>>2]|0)?(k[q>>2]|0)==0:0))break a;k[n>>2]=0;if(((k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0)<16)a=(k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0;else a=16;k[j>>2]=a;b=GL(k[p>>2]|0,k[j>>2]|0,f,n)|0;k[q>>2]=b;if(!(k[q>>2]|0)){t=k[p>>2]|0;a=k[i>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;b=IL(t,a,b,k[o>>2]|0,k[n>>2]|0)|0;k[q>>2]=b}k[e>>2]=(k[e>>2]|0)+16}}while(0);a=k[o>>2]|0;if(!(k[q>>2]|0))k[m>>2]=a;else KK(a);k[h>>2]=(k[h>>2]|0)+1}if(!(k[q>>2]|0)){p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}KK(k[m>>2]|0);k[m>>2]=0;p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}function BL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+8|0;g=m+4|0;h=m;k[e>>2]=a;k[f>>2]=b;k[m+12>>2]=c;k[i>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;a=CL((k[(k[f>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0,0)|0;k[i>>2]=a;if(k[i>>2]|0){j=4;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==4){k[d>>2]=k[i>>2];j=k[d>>2]|0;r=m;return j|0}k[g>>2]=(k[k[f>>2]>>2]|0)-1;while(1){if((k[g>>2]|0)<=0)break;DL(k[f>>2]|0,k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function CL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[c>>2]|0)+48>>2];k[e>>2]=0;if(!(k[g>>2]|0)){g=k[e>>2]|0;r=f;return g|0}g=EL(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function DL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if((k[d>>2]|0)>=((k[k[c>>2]>>2]|0)/2|0|0)){k[f>>2]=b-((k[k[c>>2]>>2]|0)/2|0)<<1;k[g>>2]=(k[f>>2]|0)+1}else{k[f>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+((k[d>>2]<<1)+1<<2)>>2]}k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[f>>2]|0)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0);do if(k[(k[i>>2]|0)+24>>2]|0){if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=k[f>>2];break}k[l>>2]=k[(k[c>>2]|0)+4>>2];k[e>>2]=0;l=ac[k[(k[l>>2]|0)+32>>2]&255](k[l>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[m>>2]=l;if((k[m>>2]|0)<=0){k[h>>2]=k[f>>2];break}else{k[h>>2]=k[g>>2];break}}else k[h>>2]=k[g>>2];while(0);k[(k[(k[c>>2]|0)+8>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2];r=n;return}function EL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;h=i+16|0;f=i+12|0;g=i+8|0;d=i+4|0;e=i;k[c>>2]=a;k[j>>2]=b;k[h>>2]=0;k[f>>2]=k[(k[c>>2]|0)+48>>2];k[g>>2]=k[k[f>>2]>>2];k[d>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+24>>2];a=BL(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[j>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[e>>2]=k[(k[f>>2]|0)+16>>2];if(!(k[(k[g>>2]|0)+56>>2]|0)){j=(k[g>>2]|0)+56+8|0;j=cL(k[d>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[g>>2]|0)+56|0)|0;k[h>>2]=j;j=(k[g>>2]|0)+56+8|0;k[j>>2]=0;k[j+4>>2]=0}if(!(k[h>>2]|0)){k[(k[f>>2]|0)+32+16>>2]=k[(k[g>>2]|0)+56>>2];b=(k[g>>2]|0)+56+8|0;j=k[b+4>>2]|0;a=(k[f>>2]|0)+8|0;k[a>>2]=k[b>>2];k[a+4>>2]=j;a=k[e>>2]|0;j=(k[g>>2]|0)+56+8|0;g=j;g=GR(k[g>>2]|0,k[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[j>>2]=g;k[j+4>>2]=L}}if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=rL(k[c>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function FL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[b>>2]=a;k[c>>2]=0;a=d;k[a>>2]=16;k[a+4>>2]=0;while(1){f=d;h=k[f+4>>2]|0;a=k[b>>2]|0;g=((a|0)<0)<<31>>31;if(!((h|0)<(g|0)|((h|0)==(g|0)?(k[f>>2]|0)>>>0>>0:0)))break;g=d;g=RR(k[g>>2]|0,k[g+4>>2]|0,16,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=L;k[c>>2]=(k[c>>2]|0)+1}r=e;return k[c>>2]|0}function GL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;m=p+28|0;j=p+8|0;i=p+24|0;o=p+20|0;l=p;n=p+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=k[g>>2]|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[o>>2]=0;d=HL(k[f>>2]|0)|0;k[m>>2]=d;k[k[h>>2]>>2]=d;if(!(k[m>>2]|0))k[o>>2]=7;k[i>>2]=0;while(1){if(!((k[i>>2]|0)<(k[f>>2]|0)?(k[o>>2]|0)==0:0))break;a=l;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=(k[(k[m>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);a=j;a=KL(k[e>>2]|0,(k[e>>2]|0)+40|0,k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=a;a=(k[n>>2]|0)+8|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[i>>2]=(k[i>>2]|0)+1}if(!(k[o>>2]|0)){c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}KK(k[m>>2]|0);k[k[h>>2]>>2]=0;c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}function HL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;while(1){a=k[d>>2]|0;if((k[d>>2]|0)>=(k[b>>2]|0))break;k[d>>2]=(k[d>>2]|0)+a}k[c>>2]=16+(a*60|0);if(Ji(100)|0)a=0;else{a=k[c>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0}k[e>>2]=a;if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[k[e>>2]>>2]=k[d>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=(k[e>>2]|0)+16;k[(k[e>>2]|0)+8>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[d>>2]|0)*56|0);e=k[e>>2]|0;r=f;return e|0}function IL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;f=s+48|0;g=s+44|0;o=s+40|0;u=s+36|0;t=s+32|0;q=s+28|0;j=s+24|0;h=s+20|0;p=s+16|0;l=s+12|0;i=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[u>>2]=d;k[t>>2]=e;k[q>>2]=0;k[j>>2]=1;k[p>>2]=k[u>>2];a=JL(k[f>>2]|0,k[t>>2]|0,l)|0;k[q>>2]=a;k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=k[j>>2]<<4;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=1;while(1){if(!((k[h>>2]|0)<(k[g>>2]|0)?(k[q>>2]|0)==0:0))break;k[i>>2]=((k[o>>2]|0)/(k[j>>2]|0)|0|0)%16|0;k[n>>2]=(k[(k[p>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);do if(!(k[(k[n>>2]|0)+48>>2]|0)){u=HL(16)|0;k[m>>2]=u;if(!(k[m>>2]|0)){k[q>>2]=7;break}else{u=JL(k[f>>2]|0,k[m>>2]|0,(k[n>>2]|0)+48|0)|0;k[q>>2]=u;break}}while(0);if(!(k[q>>2]|0)){k[p>>2]=k[(k[(k[n>>2]|0)+48>>2]|0)+4>>2];k[j>>2]=(k[j>>2]|0)/16|0}k[h>>2]=(k[h>>2]|0)+1}f=k[l>>2]|0;if(!(k[q>>2]|0)){k[(k[(k[p>>2]|0)+12>>2]|0)+(((k[o>>2]|0)%16|0)*56|0)+48>>2]=f;u=k[q>>2]|0;r=s;return u|0}else{PK(f);u=k[q>>2]|0;r=s;return u|0}return 0}function JL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;f=i+16|0;d=i+12|0;e=i+8|0;h=i+4|0;g=i;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;if(Ji(100)|0)b=0;else b=ug(64,0)|0;k[k[e>>2]>>2]=b;k[g>>2]=b;b=k[d>>2]|0;if(!(k[g>>2]|0)){KK(b);k[h>>2]=7;h=k[h>>2]|0;r=i;return h|0}k[(k[g>>2]|0)+4>>2]=b;k[k[g>>2]>>2]=k[f>>2];b=k[(k[f>>2]|0)+8>>2]|0;if(((k[(k[(k[f>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(k[b+8>>2]|0)+9|0;else b=(k[b+4>>2]|0)/2|0;k[(k[g>>2]|0)+16>>2]=b;e=k[(k[g>>2]|0)+16>>2]|0;g=(k[f>>2]|0)+56+8|0;f=g;f=GR(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[g>>2]=f;k[g+4>>2]=L;h=k[h>>2]|0;r=i;return h|0}function KL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+48|0;n=l+32|0;m=l+28|0;o=l+8|0;g=l+24|0;h=l+20|0;j=l+16|0;i=l;k[n>>2]=a;k[m>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=e;k[h>>2]=f;f=o;f=tL(k[n>>2]|0,k[g>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[j>>2]=f;if(!(k[j>>2]|0)){n=i;k[n>>2]=0;k[n+4>>2]=0;n=uL(k[g>>2]|0,i)|0;k[j>>2]=n;n=k[g>>2]|0;o=i;o=GR(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=(k[g>>2]|0)+8|0;k[n>>2]=o;k[n+4>>2]=L;n=i;o=k[h>>2]|0;m=o;n=GR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n;k[o+4>>2]=L}if(k[j>>2]|0){o=k[j>>2]|0;r=l;return o|0}o=rL(k[g>>2]|0)|0;k[j>>2]=o;o=k[j>>2]|0;r=l;return o|0}function LL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+66>>0]|0|0)!=1|0}function ML(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[b>>2]=a;a=NL(k[(k[b>>2]|0)+16>>2]|0,e)|0;k[c>>2]=a;k[(k[b>>2]|0)+56>>2]=0;if(!(k[e>>2]|0)){e=k[c>>2]|0;r=d;return e|0}i[(k[b>>2]|0)+2>>0]=1;e=k[c>>2]|0;r=d;return e|0}function NL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)a=sF(k[f>>2]|0)|0;else a=0;k[d>>2]=a;if(k[d>>2]|0){k[k[c>>2]>>2]=1;k[e>>2]=k[d>>2];f=k[e>>2]|0;r=g;return f|0}a=k[c>>2]|0;if((l[(k[f>>2]|0)+66>>0]|0|0)!=1)k[a>>2]=1;else k[a>>2]=0;k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}function OL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if(i[(k[c>>2]|0)+56>>0]|0){k[f>>2]=(k[(k[(k[c>>2]|0)+20>>2]|0)+12>>2]|0)+((k[(k[(k[a+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[k[d>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[e>>2]=k[(k[f>>2]|0)+32>>2];f=k[e>>2]|0;r=g;return f|0}else{k[k[d>>2]>>2]=k[k[a+36>>2]>>2];k[e>>2]=(k[(k[c>>2]|0)+36>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}return 0}function PL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;n=t+12|0;q=t+8|0;s=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[h>>2]>>2]|0){r=t;return}k[n>>2]=k[(k[e>>2]|0)+56>>2];k[q>>2]=(k[(k[e>>2]|0)+64>>2]|0)+(k[f>>2]<<1);k[p>>2]=(l[k[q>>2]>>0]|0)<<8|(l[(k[q>>2]|0)+1>>0]|0);k[o>>2]=l[(k[e>>2]|0)+5>>0];if((k[p>>2]|0)>>>0>=((l[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]|0)<<8|(l[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]|0))>>>0?((k[p>>2]|0)+(k[g>>2]|0)|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c=eM(k[e>>2]|0,k[p>>2]&65535,k[g>>2]&65535)|0;k[s>>2]=c;if(k[s>>2]|0){k[k[h>>2]>>2]=k[s>>2];r=t;return}c=(k[e>>2]|0)+18|0;j[c>>1]=(j[c>>1]|0)+-1<<16>>16;if(!(m[(k[e>>2]|0)+18>>1]|0)){c=(k[n>>2]|0)+((k[o>>2]|0)+1)|0;i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;i[c+3>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+7)>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]=k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2];j[(k[e>>2]|0)+16>>1]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-(l[(k[e>>2]|0)+5>>0]|0)-(l[(k[e>>2]|0)+6>>0]|0)-8;r=t;return}else{JR(k[q>>2]|0,(k[q>>2]|0)+2|0,(m[(k[e>>2]|0)+18>>1]|0)-(k[f>>2]|0)<<1|0)|0;i[(k[n>>2]|0)+((k[o>>2]|0)+3)>>0]=(m[(k[e>>2]|0)+18>>1]|0)>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+3)+1>>0]=j[(k[e>>2]|0)+18>>1];c=(k[e>>2]|0)+16|0;j[c>>1]=(m[c>>1]|0)+2;r=t;return}}c=Yj(64006)|0;k[k[h>>2]>>2]=c;r=t;return}function QL(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+48|0;h=z+44|0;n=z+40|0;o=z+36|0;p=z+32|0;q=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[v>>2]=0;if(k[k[t>>2]>>2]|0){r=z;return}if((l[(k[h>>2]|0)+1>>0]|0)==0?((k[p>>2]|0)+2|0)<=(m[(k[h>>2]|0)+16>>1]|0):0){d=Pg(k[(k[h>>2]|0)+72>>2]|0)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}k[u>>2]=k[(k[h>>2]|0)+56>>2];d=gM(k[h>>2]|0,k[p>>2]|0,v)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}d=(k[h>>2]|0)+16|0;j[d>>1]=(m[d>>1]|0)-(2+(k[p>>2]|0)&65535);IR((k[u>>2]|0)+(k[v>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;if(k[s>>2]|0)nt((k[u>>2]|0)+(k[v>>2]|0)|0,k[s>>2]|0);k[x>>2]=(k[(k[h>>2]|0)+64>>2]|0)+(k[n>>2]<<1);JR((k[x>>2]|0)+2|0,k[x>>2]|0,(m[(k[h>>2]|0)+18>>1]|0)-(k[n>>2]|0)<<1|0)|0;i[k[x>>2]>>0]=k[v>>2]>>8;i[(k[x>>2]|0)+1>>0]=k[v>>2];y=(k[h>>2]|0)+18|0;j[y>>1]=(j[y>>1]|0)+1<<16>>16;y=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+4)|0;d=(i[y>>0]|0)+1<<24>>24;i[y>>0]=d;if(!(d&255)){d=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+3)|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24}if(!(i[(k[(k[h>>2]|0)+52>>2]|0)+17>>0]|0)){r=z;return}YJ(k[h>>2]|0,k[o>>2]|0,k[t>>2]|0);r=z;return}if(k[q>>2]|0){IR(k[q>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[o>>2]=k[q>>2]}if(k[s>>2]|0)nt(k[o>>2]|0,k[s>>2]|0);y=(k[h>>2]|0)+1|0;d=i[y>>0]|0;i[y>>0]=d+1<<24>>24;k[w>>2]=d&255;k[(k[h>>2]|0)+32+(k[w>>2]<<2)>>2]=k[o>>2];j[(k[h>>2]|0)+22+(k[w>>2]<<1)>>1]=k[n>>2];r=z;return}function RL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;b=q+32|0;p=q+28|0;f=q+24|0;c=q+36|0;g=q+20|0;e=q+16|0;h=q+12|0;n=q+8|0;d=q+4|0;o=q;k[b>>2]=a;k[p>>2]=0;k[f>>2]=(k[(k[(k[b>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;k[g>>2]=0;do{k[e>>2]=i[(k[b>>2]|0)+68>>0];k[h>>2]=k[(k[b>>2]|0)+120+(k[e>>2]<<2)>>2];a=i[(k[h>>2]|0)+1>>0]|0;if(!(k[e>>2]|0)){if(!(a<<24>>24))break;a=SL(k[h>>2]|0,(k[b>>2]|0)+120+4|0)|0;k[p>>2]=a;if(!(k[p>>2]|0)){i[(k[b>>2]|0)+68>>0]=1;j[(k[b>>2]|0)+80>>1]=0;j[(k[b>>2]|0)+80+2>>1]=0}}else{if((a&255|0)==0?(m[(k[h>>2]|0)+16>>1]|0)<=(k[f>>2]|0):0)break;k[n>>2]=k[(k[b>>2]|0)+120+((k[e>>2]|0)-1<<2)>>2];k[d>>2]=m[(k[b>>2]|0)+80+((k[e>>2]|0)-1<<1)>>1];a=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[p>>2]=a;do if(!(k[p>>2]|0)){if(((((l[(k[h>>2]|0)+3>>0]|0)!=0?(l[(k[h>>2]|0)+1>>0]|0)==1:0)?(m[(k[h>>2]|0)+22>>1]|0)==(m[(k[h>>2]|0)+18>>1]|0):0)?(k[(k[n>>2]|0)+84>>2]|0)!=1:0)?(m[(k[n>>2]|0)+18>>1]|0)==(k[d>>2]|0):0){a=TL(k[n>>2]|0,k[h>>2]|0,c)|0;k[p>>2]=a;break}a=ej(k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0)|0;k[o>>2]=a;a=UL(k[n>>2]|0,k[d>>2]|0,k[o>>2]|0,(k[e>>2]|0)==1&1,l[(k[b>>2]|0)+67>>0]&1)|0;k[p>>2]=a;if(k[g>>2]|0)hj(k[g>>2]|0);k[g>>2]=k[o>>2]}while(0);i[(k[h>>2]|0)+1>>0]=0;NB(k[h>>2]|0);a=(k[b>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}}while((k[p>>2]|0)==0);if(!(k[g>>2]|0)){p=k[p>>2]|0;r=q;return p|0}hj(k[g>>2]|0);p=k[p>>2]|0;r=q;return p|0}function SL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;k[h>>2]=0;k[f>>2]=k[(k[d>>2]|0)+52>>2];b=Pg(k[(k[d>>2]|0)+72>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)==0?(b=SJ(k[f>>2]|0,g,h,k[(k[d>>2]|0)+84>>2]|0,0)|0,k[j>>2]=b,ZL(k[d>>2]|0,k[g>>2]|0,j),(i[(k[f>>2]|0)+17>>0]|0)!=0):0)WJ(k[f>>2]|0,k[h>>2]|0,5,k[(k[d>>2]|0)+84>>2]|0,j);if(k[j>>2]|0){k[k[e>>2]>>2]=0;NB(k[g>>2]|0);k[c>>2]=k[j>>2];j=k[c>>2]|0;r=m;return j|0}else{IR((k[g>>2]|0)+22|0,(k[d>>2]|0)+22|0,l[(k[d>>2]|0)+1>>0]<<1|0)|0;IR((k[g>>2]|0)+32|0,(k[d>>2]|0)+32|0,l[(k[d>>2]|0)+1>>0]<<2|0)|0;i[(k[g>>2]|0)+1>>0]=i[(k[d>>2]|0)+1>>0]|0;UK(k[d>>2]|0,l[k[(k[g>>2]|0)+56>>2]>>0]&-9);nt((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}return 0}function TL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;d=v+40|0;e=v+36|0;f=v+32|0;g=v+28|0;h=v+24|0;o=v+20|0;t=v+16|0;s=v+12|0;p=v+8|0;n=v+4|0;u=v+44|0;q=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[f>>2]|0)+52>>2];if(!(m[(k[f>>2]|0)+18>>1]|0)){u=Yj(64503)|0;k[d>>2]=u;u=k[d>>2]|0;r=v;return u|0}c=SJ(k[h>>2]|0,o,s,0,0)|0;k[t>>2]=c;if(!(k[t>>2]|0)){k[p>>2]=(k[g>>2]|0)+4;k[n>>2]=k[(k[f>>2]|0)+32>>2];c=gc[k[(k[f>>2]|0)+76>>2]&255](k[f>>2]|0,k[n>>2]|0)|0;j[u>>1]=c;UK(k[o>>2]|0,13);c=cM(k[o>>2]|0,1,n,u)|0;k[t>>2]=c;if(k[t>>2]|0){k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}j[(k[o>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[(k[o>>2]|0)+14>>1]|0)-2-(m[u>>1]|0);if((i[(k[h>>2]|0)+17>>0]|0)!=0?(WJ(k[h>>2]|0,k[s>>2]|0,5,k[(k[e>>2]|0)+84>>2]|0,t),(m[u>>1]|0)>(m[(k[o>>2]|0)+12>>1]|0)):0)YJ(k[o>>2]|0,k[n>>2]|0,t);k[n>>2]=(k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]&(l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)+1>>0]));k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;if(!(l[u>>0]&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;u=i[u>>0]|0;c=k[p>>2]|0;k[p>>2]=c+1;i[c>>0]=u;if(!(u&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);QL(k[e>>2]|0,m[(k[e>>2]|0)+18>>1]|0,k[g>>2]|0,(k[p>>2]|0)-(k[g>>2]|0)|0,0,k[(k[f>>2]|0)+84>>2]|0,t);nt((k[(k[e>>2]|0)+56>>2]|0)+((l[(k[e>>2]|0)+5>>0]|0)+8)|0,k[s>>2]|0);NB(k[o>>2]|0)}k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}function UL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=r;r=r+448|0;ga=Da+412|0;ha=Da+408|0;f=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;p=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;o=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;n=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;g=Da+152|0;v=Da+148|0;q=Da+144|0;h=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;k[ha>>2]=a;k[f>>2]=b;k[Q>>2]=c;k[ia>>2]=d;k[C>>2]=e;k[t>>2]=0;k[wa>>2]=0;k[Aa>>2]=0;k[p>>2]=0;k[W>>2]=0;i[ja>>0]=0;i[ja+1>>0]=0;i[ja+2>>0]=0;i[ja+3>>0]=0;i[ja+4>>0]=0;k[ma>>2]=0;k[ma+8>>2]=0;k[za>>2]=k[(k[ha>>2]|0)+52>>2];if(!(k[Q>>2]|0)){k[ga>>2]=7;Ca=k[ga>>2]|0;r=Da;return Ca|0}k[pa>>2]=(l[(k[ha>>2]|0)+1>>0]|0)+(m[(k[ha>>2]|0)+18>>1]|0);if((k[pa>>2]|0)<2)k[Z>>2]=0;else{do if(k[f>>2]|0)if((k[f>>2]|0)==(k[pa>>2]|0)){k[Z>>2]=(k[pa>>2]|0)-2+(k[C>>2]|0);break}else{k[Z>>2]=(k[f>>2]|0)-1;break}else k[Z>>2]=0;while(0);k[pa>>2]=2-(k[C>>2]|0)}k[ya>>2]=(k[pa>>2]|0)+1;f=k[ha>>2]|0;if(((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0)==(m[(k[ha>>2]|0)+18>>1]|0))k[K>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+((l[f+5>>0]|0)+8);else k[K>>2]=(k[f+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=or(k[K>>2]|0)|0;k[M>>2]=a;while(1){a=wF(k[za>>2]|0,k[M>>2]|0,la+(k[pa>>2]<<2)|0,0,0)|0;k[Aa>>2]=a;if(k[Aa>>2]|0){c=16;break}k[t>>2]=(k[t>>2]|0)+(1+(m[(k[la+(k[pa>>2]<<2)>>2]|0)+18>>1]|0)+(l[(k[la+(k[pa>>2]<<2)>>2]|0)+1>>0]|0));a=k[pa>>2]|0;k[pa>>2]=a+-1;if(!a){c=26;break}if(((k[pa>>2]|0)+(k[Z>>2]|0)|0)==(m[(k[ha>>2]|0)+22>>1]|0)?(l[(k[ha>>2]|0)+1>>0]|0)!=0:0){k[o+(k[pa>>2]<<2)>>2]=k[(k[ha>>2]|0)+32>>2];a=or(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;i[(k[ha>>2]|0)+1>>0]=0;continue}k[o+(k[pa>>2]<<2)>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=or(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;if(m[(k[za>>2]|0)+22>>1]&4){k[g>>2]=(k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0);if(((k[g>>2]|0)+(k[Ba+(k[pa>>2]<<2)>>2]|0)|0)>(k[(k[za>>2]|0)+36>>2]|0)){c=23;break}IR((k[Q>>2]|0)+(k[g>>2]|0)|0,k[o+(k[pa>>2]<<2)>>2]|0,k[Ba+(k[pa>>2]<<2)>>2]|0)|0;k[o+(k[pa>>2]<<2)>>2]=(k[Q>>2]|0)+((k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0))}PL(k[ha>>2]|0,(k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0,k[Ba+(k[pa>>2]<<2)>>2]|0,Aa)}a:do if((c|0)==16)KR(la|0,0,(k[pa>>2]|0)+1<<2|0)|0;else if((c|0)==23){Ca=Yj(64842)|0;k[Aa>>2]=Ca;KR(la|0,0,(k[pa>>2]|0)+1<<2|0)|0}else if((c|0)==26){k[t>>2]=(k[t>>2]|0)+3&-4;k[A>>2]=(k[t>>2]<<2)+(k[t>>2]<<1)+(k[(k[za>>2]|0)+32>>2]|0);A=Mi(k[A>>2]|0)|0;k[ma+8>>2]=A;if(!(k[ma+8>>2]|0)){k[Aa>>2]=7;break}k[ma+12>>2]=(k[ma+8>>2]|0)+(k[t>>2]<<2);k[n>>2]=(k[ma+12>>2]|0)+(k[t>>2]<<1);k[ma+4>>2]=k[la>>2];j[ua>>1]=l[(k[ma+4>>2]|0)+4>>0]<<2;k[va>>2]=l[(k[ma+4>>2]|0)+3>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[v>>2]=k[la+(k[pa>>2]<<2)>>2];k[q>>2]=m[(k[v>>2]|0)+18>>1];k[h>>2]=k[(k[v>>2]|0)+56>>2];j[s>>1]=j[(k[v>>2]|0)+20>>1]|0;k[x>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0);if((l[k[(k[v>>2]|0)+56>>2]>>0]|0)!=(l[k[(k[la>>2]|0)+56>>2]>>0]|0)){c=31;break}KR((k[ma+12>>2]|0)+(k[ma>>2]<<1)|0,0,(k[q>>2]|0)+(l[(k[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((l[(k[v>>2]|0)+1>>0]|0)>0){k[q>>2]=m[(k[v>>2]|0)+22>>1];k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[q>>2]|0))break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1;k[Y>>2]=(k[Y>>2]|0)+1}k[H>>2]=0;while(1){if((k[H>>2]|0)>=(l[(k[v>>2]|0)+1>>0]|0))break b;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=k[(k[v>>2]|0)+32+(k[H>>2]<<2)>>2];k[ma>>2]=(k[ma>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}}while(0);k[y>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0)+(m[(k[v>>2]|0)+18>>1]<<1);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1}k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if(!((k[va>>2]|0)!=0?1:(k[pa>>2]|0)>=((k[ya>>2]|0)-1|0))){j[z>>1]=k[Ba+(k[pa>>2]<<2)>>2];j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=j[z>>1]|0;k[w>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[p>>2]=(k[p>>2]|0)+(m[z>>1]|0);IR(k[w>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0,m[z>>1]|0)|0;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[w>>2]|0)+(m[ua>>1]|0);j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=(m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)-(m[ua>>1]|0);c:do if(i[(k[v>>2]|0)+4>>0]|0)while(1){if((m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)>=4)break c;A=k[p>>2]|0;k[p>>2]=A+1;i[(k[n>>2]|0)+A>>0]=0;A=(k[ma+12>>2]|0)+(k[ma>>2]<<1)|0;j[A>>1]=(j[A>>1]|0)+1<<16>>16}else{A=k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]|0;t=(k[(k[v>>2]|0)+56>>2]|0)+8|0;i[A>>0]=i[t>>0]|0;i[A+1>>0]=i[t+1>>0]|0;i[A+2>>0]=i[t+2>>0]|0;i[A+3>>0]=i[t+3>>0]|0}while(0);k[ma>>2]=(k[ma>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==31){Ca=Yj(64909)|0;k[Aa>>2]=Ca;break}k[Ca>>2]=(k[(k[za>>2]|0)+36>>2]|0)-12+(m[ua>>1]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[u>>2]=k[la+(k[pa>>2]<<2)>>2];k[Ba+(k[pa>>2]<<2)>>2]=(k[Ca>>2]|0)-(m[(k[u>>2]|0)+16>>1]|0);if((k[Ba+(k[pa>>2]<<2)>>2]|0)<0){c=52;break}k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(l[(k[u>>2]|0)+1>>0]|0))break;z=2+((gc[k[(k[u>>2]|0)+76>>2]&255](k[u>>2]|0,k[(k[u>>2]|0)+32+(k[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+z;k[Y>>2]=(k[Y>>2]|0)+1}k[na+(k[pa>>2]<<2)>>2]=k[oa+(k[pa>>2]<<2)>>2];k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==52){Ca=Yj(65007)|0;k[Aa>>2]=Ca;break}k[H>>2]=k[ya>>2];k[pa>>2]=0;d:while(1){if((k[pa>>2]|0)>=(k[H>>2]|0)){c=83;break}while(1){if((k[Ba+(k[pa>>2]<<2)>>2]|0)<=(k[Ca>>2]|0))break;if(((k[pa>>2]|0)+1|0)>=(k[H>>2]|0)){k[H>>2]=(k[pa>>2]|0)+2;if((k[H>>2]|0)>5){c=62;break d}k[Ba+((k[H>>2]|0)-1<<2)>>2]=0;k[na+((k[H>>2]|0)-1<<2)>>2]=k[ma>>2]}A=2+((VL(ma,(k[na+(k[pa>>2]<<2)>>2]|0)-1|0)|0)&65535)|0;k[B>>2]=A;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0);do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((VL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+-1}while(1){if((k[na+(k[pa>>2]<<2)>>2]|0)>=(k[ma>>2]|0))break;A=2+((VL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;if(((k[Ba+(k[pa>>2]<<2)>>2]|0)+(k[B>>2]|0)|0)>(k[Ca>>2]|0))break;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+1;do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((VL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0)}f=k[pa>>2]|0;if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){if((k[pa>>2]|0)>0)c=k[na+((k[pa>>2]|0)-1<<2)>>2]|0;else c=0;if((k[na+(f<<2)>>2]|0)<=(c|0)){c=81;break}}else k[H>>2]=f+1;k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==62){Ca=Yj(65019)|0;k[Aa>>2]=Ca;break}else if((c|0)==81){Ca=Yj(65052)|0;k[Aa>>2]=Ca;break}else if((c|0)==83){k[pa>>2]=(k[H>>2]|0)-1;while(1){if((k[pa>>2]|0)<=0)break;k[P>>2]=k[Ba+(k[pa>>2]<<2)>>2];k[O>>2]=k[Ba+((k[pa>>2]|0)-1<<2)>>2];k[N>>2]=(k[na+((k[pa>>2]|0)-1<<2)>>2]|0)-1;k[F>>2]=(k[N>>2]|0)+1-(k[va>>2]|0);VL(ma,k[F>>2]|0)|0;do{VL(ma,k[N>>2]|0)|0;if(k[P>>2]|0){if(k[C>>2]|0)break;if(((k[P>>2]|0)+(m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2|0)>((k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2)|0))break}k[P>>2]=(k[P>>2]|0)+((m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2);k[O>>2]=(k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2);k[na+((k[pa>>2]|0)-1<<2)>>2]=k[N>>2];k[N>>2]=(k[N>>2]|0)+-1;k[F>>2]=(k[F>>2]|0)+-1}while((k[N>>2]|0)>=0);k[Ba+(k[pa>>2]<<2)>>2]=k[P>>2];k[Ba+((k[pa>>2]|0)-1<<2)>>2]=k[O>>2];if((k[pa>>2]|0)>1)f=k[na+((k[pa>>2]|0)-2<<2)>>2]|0;else f=0;if((k[na+((k[pa>>2]|0)-1<<2)>>2]|0)<=(f|0)){c=93;break}k[pa>>2]=(k[pa>>2]|0)+-1}if((c|0)==93){Ca=Yj(65094)|0;k[Aa>>2]=Ca;break}k[L>>2]=l[k[(k[la>>2]|0)+56>>2]>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[H>>2]|0))break;if((k[pa>>2]|0)<(k[ya>>2]|0)){P=k[la+(k[pa>>2]<<2)>>2]|0;k[ka+(k[pa>>2]<<2)>>2]=P;k[I>>2]=P;k[la+(k[pa>>2]<<2)>>2]=0;P=Pg(k[(k[I>>2]|0)+72>>2]|0)|0;k[Aa>>2]=P;k[wa>>2]=(k[wa>>2]|0)+1;if(k[Aa>>2]|0)break a}else{P=SJ(k[za>>2]|0,I,M,(k[C>>2]|0)!=0?1:k[M>>2]|0,0)|0;k[Aa>>2]=P;if(k[Aa>>2]|0)break a;UK(k[I>>2]|0,k[L>>2]|0);k[ka+(k[pa>>2]<<2)>>2]=k[I>>2];k[wa>>2]=(k[wa>>2]|0)+1;k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if((i[(k[za>>2]|0)+17>>0]|0)!=0?(WJ(k[za>>2]|0,k[(k[I>>2]|0)+84>>2]|0,5,k[(k[ha>>2]|0)+84>>2]|0,Aa),(k[Aa>>2]|0)!=0):0)break a}k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;e:while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;P=k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0;k[S+(k[pa>>2]<<2)>>2]=P;k[E+(k[pa>>2]<<2)>>2]=P;j[D+(k[pa>>2]<<1)>>1]=j[(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[pa>>2]|0))break;if((k[S+(k[Y>>2]<<2)>>2]|0)==(k[S+(k[pa>>2]<<2)>>2]|0)){c=108;break e}k[Y>>2]=(k[Y>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==108){Ca=Yj(65168)|0;k[Aa>>2]=Ca;break}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;k[G>>2]=0;k[Y>>2]=1;while(1){if((k[Y>>2]|0)>=(k[wa>>2]|0))break;if((k[E+(k[Y>>2]<<2)>>2]|0)>>>0<(k[E+(k[G>>2]<<2)>>2]|0)>>>0)k[G>>2]=k[Y>>2];k[Y>>2]=(k[Y>>2]|0)+1}k[M>>2]=k[E+(k[G>>2]<<2)>>2];k[E+(k[G>>2]<<2)>>2]=-1;if((k[G>>2]|0)!=(k[pa>>2]|0)){if((k[G>>2]|0)>(k[pa>>2]|0))WL(k[(k[ka+(k[G>>2]<<2)>>2]|0)+72>>2]|0,(k[(k[za>>2]|0)+44>>2]|0)+(k[G>>2]|0)+1|0,0);WL(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0,k[M>>2]|0,j[D+(k[G>>2]<<1)>>1]|0);k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]=k[M>>2]}k[pa>>2]=(k[pa>>2]|0)+1}nt(k[K>>2]|0,k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((k[L>>2]&8|0)==0?(k[ya>>2]|0)!=(k[wa>>2]|0):0){k[J>>2]=k[((k[wa>>2]|0)>(k[ya>>2]|0)?ka:la)+((k[ya>>2]|0)-1<<2)>>2];P=(k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(k[(k[J>>2]|0)+56>>2]|0)+8|0;i[P>>0]=i[O>>0]|0;i[P+1>>0]=i[O+1>>0]|0;i[P+2>>0]=i[O+2>>0]|0;i[P+3>>0]=i[O+3>>0]|0}f:do if(i[(k[za>>2]|0)+17>>0]|0){k[aa>>2]=k[ka>>2];k[R>>2]=k[(k[aa>>2]|0)+56>>2];k[T>>2]=(m[(k[aa>>2]|0)+18>>1]|0)+(l[(k[aa>>2]|0)+1>>0]|0);k[fa>>2]=k[(k[za>>2]|0)+36>>2];k[U>>2]=0;k[V>>2]=0;k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ma>>2]|0))break f;k[_>>2]=k[(k[ma+8>>2]|0)+(k[pa>>2]<<2)>>2];if((k[pa>>2]|0)==(k[T>>2]|0)){P=(k[V>>2]|0)+1|0;k[V>>2]=P;f=k[V>>2]|0;if((P|0)<(k[wa>>2]|0))f=k[ka+(f<<2)>>2]|0;else f=k[la+(f<<2)>>2]|0;k[ca>>2]=f;k[T>>2]=(k[T>>2]|0)+((m[(k[ca>>2]|0)+18>>1]|0)+(l[(k[ca>>2]|0)+1>>0]|0)+(((k[va>>2]|0)!=0^1)&1));k[R>>2]=k[(k[ca>>2]|0)+56>>2]}if(!((k[pa>>2]|0)==(k[na+(k[U>>2]<<2)>>2]|0)?(P=(k[U>>2]|0)+1|0,k[U>>2]=P,k[aa>>2]=k[ka+(P<<2)>>2],(k[va>>2]|0)==0):0))c=136;do if((c|0)==136){c=0;if((((k[V>>2]|0)<(k[wa>>2]|0)?(k[(k[aa>>2]|0)+84>>2]|0)==(k[S+(k[V>>2]<<2)>>2]|0):0)?(k[_>>2]|0)>>>0>=(k[R>>2]|0)>>>0:0)?(k[_>>2]|0)>>>0<((k[R>>2]|0)+(k[fa>>2]|0)|0)>>>0:0)break;if(!(j[ua>>1]|0)){O=k[za>>2]|0;P=or(k[_>>2]|0)|0;WJ(O,P,5,k[(k[aa>>2]|0)+84>>2]|0,Aa)}P=(VL(ma,k[pa>>2]|0)|0)&65535;if((P|0)>(m[(k[aa>>2]|0)+12>>1]|0))YJ(k[aa>>2]|0,k[_>>2]|0,Aa);if(k[Aa>>2]|0)break a}while(0);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=((k[wa>>2]|0)-1|0))break;k[ba>>2]=k[ka+(k[pa>>2]<<2)>>2];k[Y>>2]=k[na+(k[pa>>2]<<2)>>2];k[$>>2]=k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2];k[ea>>2]=(m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)+(m[ua>>1]|0);k[da>>2]=(k[Q>>2]|0)+(k[W>>2]|0);do if(i[(k[ba>>2]|0)+4>>0]|0){if(k[va>>2]|0){k[Y>>2]=(k[Y>>2]|0)+-1;cc[k[(k[ba>>2]|0)+80>>2]&255](k[ba>>2]|0,k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2]|0,X);k[$>>2]=k[da>>2];fa=X;fa=4+(HI((k[$>>2]|0)+4|0,k[fa>>2]|0,k[fa+4>>2]|0)|0)|0;k[ea>>2]=fa;k[da>>2]=0;break}k[$>>2]=(k[$>>2]|0)+-4;if((m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)==4){fa=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[$>>2]|0)|0)&65535;k[ea>>2]=fa}}else{fa=(k[(k[ba>>2]|0)+56>>2]|0)+8|0;ca=k[$>>2]|0;i[fa>>0]=i[ca>>0]|0;i[fa+1>>0]=i[ca+1>>0]|0;i[fa+2>>0]=i[ca+2>>0]|0;i[fa+3>>0]=i[ca+3>>0]|0}while(0);k[W>>2]=(k[W>>2]|0)+(k[ea>>2]|0);QL(k[ha>>2]|0,(k[Z>>2]|0)+(k[pa>>2]|0)|0,k[$>>2]|0,k[ea>>2]|0,k[da>>2]|0,k[(k[ba>>2]|0)+84>>2]|0,Aa);if(k[Aa>>2]|0)break a;k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=1-(k[wa>>2]|0);while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;fa=k[pa>>2]|0;k[sa>>2]=(k[pa>>2]|0)<0?0-fa|0:fa;do if(!(i[ja+(k[sa>>2]|0)>>0]|0)){if((k[pa>>2]|0)<0?(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)<(k[na+((k[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(k[sa>>2]|0)){k[ra>>2]=0;k[qa>>2]=0;k[xa>>2]=k[na>>2]}else{if((k[sa>>2]|0)<(k[ya>>2]|0))f=(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1)|0;else f=k[ma>>2]|0;k[ra>>2]=f;k[qa>>2]=(k[na+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1);k[xa>>2]=(k[na+(k[sa>>2]<<2)>>2]|0)-(k[qa>>2]|0)}fa=XL(k[ka+(k[sa>>2]<<2)>>2]|0,k[ra>>2]|0,k[qa>>2]|0,k[xa>>2]|0,ma)|0;k[Aa>>2]=fa;if(k[Aa>>2]|0)break a;fa=ja+(k[sa>>2]|0)|0;i[fa>>0]=(i[fa>>0]|0)+1<<24>>24;j[(k[ka+(k[sa>>2]<<2)>>2]|0)+16>>1]=(k[Ca>>2]|0)-(k[Ba+(k[sa>>2]<<2)>>2]|0)}while(0);k[pa>>2]=(k[pa>>2]|0)+1}if(((k[ia>>2]|0)!=0?(m[(k[ha>>2]|0)+18>>1]|0)==0:0)?(l[(k[ha>>2]|0)+5>>0]|0)<=(m[(k[ka>>2]|0)+16>>1]|0):0){Ca=YL(k[ka>>2]|0)|0;k[Aa>>2]=Ca;ZL(k[ka>>2]|0,k[ha>>2]|0,Aa);TK(k[ka>>2]|0,Aa)}else c=174;g:do if((c|0)==174?!((j[ua>>1]|0)!=0?1:(l[(k[za>>2]|0)+17>>0]|0)==0):0){k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break g;Ca=or((k[(k[ka+(k[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;k[ta>>2]=Ca;WJ(k[za>>2]|0,k[ta>>2]|0,5,k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=k[wa>>2];while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break a;TK(k[la+(k[pa>>2]<<2)>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}}while(0);Ni(k[ma+8>>2]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;NB(k[la+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;NB(k[ka+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[ga>>2]=k[Aa>>2];Ca=k[ga>>2]|0;r=Da;return Ca|0}function VL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0){j[c>>1]=j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0;a=j[c>>1]|0;r=f;return a|0}else{a=fM(k[d>>2]|0,k[e>>2]|0)|0;j[c>>1]=a;a=j[c>>1]|0;r=f;return a|0}return 0}function WL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;j[g>>1]=c;j[(k[f>>2]|0)+24>>1]=j[g>>1]|0;ZJ(k[f>>2]|0,k[e>>2]|0);r=d;return}function XL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;g=D+16|0;f=D+12|0;h=D+8|0;y=D+4|0;x=D;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=k[(k[o>>2]|0)+56>>2];k[v>>2]=l[(k[o>>2]|0)+5>>0];k[A>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[s>>2]<<1);k[z>>2]=m[(k[o>>2]|0)+18>>1];k[g>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+18>>1]|0)+(l[(k[o>>2]|0)+1>>0]|0);k[f>>2]=(k[q>>2]|0)+(k[s>>2]|0);if((k[p>>2]|0)<(k[q>>2]|0)){a=$L(k[o>>2]|0,k[p>>2]|0,(k[q>>2]|0)-(k[p>>2]|0)|0,k[t>>2]|0)|0;k[h>>2]=a;JR(k[(k[o>>2]|0)+64>>2]|0,(k[(k[o>>2]|0)+64>>2]|0)+(k[h>>2]<<1)|0,k[z>>2]<<1|0)|0;k[z>>2]=(k[z>>2]|0)-(k[h>>2]|0)}if((k[f>>2]|0)<(k[g>>2]|0)){a=$L(k[o>>2]|0,k[f>>2]|0,(k[g>>2]|0)-(k[f>>2]|0)|0,k[t>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-a}k[C>>2]=(k[u>>2]|0)+((((l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((k[C>>2]|0)>>>0>=(k[A>>2]|0)>>>0){if((k[q>>2]|0)<(k[p>>2]|0)){if((k[s>>2]|0)<((k[p>>2]|0)-(k[q>>2]|0)|0))c=k[s>>2]|0;else c=(k[p>>2]|0)-(k[q>>2]|0)|0;k[y>>2]=c;k[B>>2]=k[(k[o>>2]|0)+64>>2];JR((k[B>>2]|0)+(k[y>>2]<<1)|0,k[B>>2]|0,k[z>>2]<<1|0)|0;if(aM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,k[q>>2]|0,k[y>>2]|0,k[t>>2]|0)|0)break;k[z>>2]=(k[z>>2]|0)+(k[y>>2]|0)}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(l[(k[o>>2]|0)+1>>0]|0|0))break;k[x>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+22+(k[w>>2]<<1)>>1]|0)-(k[q>>2]|0);if(((k[x>>2]|0)>=0?(k[x>>2]|0)<(k[s>>2]|0):0)?(k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[x>>2]<<1),JR((k[B>>2]|0)+2|0,k[B>>2]|0,(k[z>>2]|0)-(k[x>>2]|0)<<1|0)|0,k[z>>2]=(k[z>>2]|0)+1,(aM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[x>>2]|0)+(k[q>>2]|0)|0,1,k[t>>2]|0)|0)!=0):0)break a;k[w>>2]=(k[w>>2]|0)+1}k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[z>>2]<<1);if(!(aM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[q>>2]|0)+(k[z>>2]|0)|0,(k[s>>2]|0)-(k[z>>2]|0)|0,k[t>>2]|0)|0)){j[(k[o>>2]|0)+18>>1]=k[s>>2];i[(k[o>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[o>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[o>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[C>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[C>>2]|0)-(k[u>>2]|0);k[n>>2]=0;C=k[n>>2]|0;r=D;return C|0}}while(0);bM(k[t>>2]|0,k[q>>2]|0,k[s>>2]|0);C=cM(k[o>>2]|0,k[s>>2]|0,(k[(k[t>>2]|0)+8>>2]|0)+(k[q>>2]<<2)|0,(k[(k[t>>2]|0)+12>>2]|0)+(k[q>>2]<<1)|0)|0;k[n>>2]=C;C=k[n>>2]|0;r=D;return C|0}function YL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;b=y+64|0;c=y+60|0;h=y+56|0;q=y+52|0;g=y+48|0;s=y+44|0;v=y+40|0;e=y+36|0;d=y+32|0;o=y+28|0;f=y+24|0;u=y+20|0;t=y+16|0;j=y+12|0;n=y+8|0;p=y+4|0;w=y;k[c>>2]=a;k[u>>2]=0;a=k[(k[c>>2]|0)+56>>2]|0;k[f>>2]=a;k[t>>2]=a;k[g>>2]=l[(k[c>>2]|0)+5>>0];k[e>>2]=m[(k[c>>2]|0)+14>>1];k[o>>2]=m[(k[c>>2]|0)+18>>1];k[v>>2]=k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2];k[d>>2]=k[v>>2];k[j>>2]=(k[e>>2]|0)+(k[o>>2]<<1);k[n>>2]=(k[v>>2]|0)-4;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[o>>2]|0)){x=14;break}k[p>>2]=(k[f>>2]|0)+((k[e>>2]|0)+(k[h>>2]<<1));k[q>>2]=(l[k[p>>2]>>0]|0)<<8|(l[(k[p>>2]|0)+1>>0]|0);if((k[q>>2]|0)<(k[j>>2]|0)){x=5;break}if((k[q>>2]|0)>(k[n>>2]|0)){x=5;break}a=(gc[k[(k[c>>2]|0)+76>>2]&255](k[c>>2]|0,(k[t>>2]|0)+(k[q>>2]|0)|0)|0)&65535;k[s>>2]=a;k[d>>2]=(k[d>>2]|0)-(k[s>>2]|0);if((k[d>>2]|0)<(k[j>>2]|0)){x=8;break}if(((k[q>>2]|0)+(k[s>>2]|0)|0)>(k[v>>2]|0)){x=8;break}i[k[p>>2]>>0]=k[d>>2]>>8;i[(k[p>>2]|0)+1>>0]=k[d>>2];if(!(k[u>>2]|0)){if((k[d>>2]|0)!=(k[q>>2]|0)){x=_L(k[k[(k[c>>2]|0)+52>>2]>>2]|0)|0;k[u>>2]=x;k[w>>2]=(l[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]|0)<<8|(l[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]|0);IR((k[u>>2]|0)+(k[w>>2]|0)|0,(k[f>>2]|0)+(k[w>>2]|0)|0,(k[d>>2]|0)+(k[s>>2]|0)-(k[w>>2]|0)|0)|0;k[t>>2]=k[u>>2];x=12}}else x=12;if((x|0)==12){x=0;IR((k[f>>2]|0)+(k[d>>2]|0)|0,(k[t>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0)|0}k[h>>2]=(k[h>>2]|0)+1}if((x|0)==5){x=Yj(59093)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==8){x=Yj(59099)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==14){i[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]=k[d>>2]>>8;i[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]=k[d>>2];i[(k[f>>2]|0)+((k[g>>2]|0)+1)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+2)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+7)>>0]=0;KR((k[f>>2]|0)+(k[j>>2]|0)|0,0,(k[d>>2]|0)-(k[j>>2]|0)|0)|0;if(((k[d>>2]|0)-(k[j>>2]|0)|0)!=(m[(k[c>>2]|0)+16>>1]|0|0)){x=Yj(59123)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else{k[b>>2]=0;x=k[b>>2]|0;r=y;return x|0}}return 0}function ZL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;h=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;j=s;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=s;return}k[p>>2]=k[(k[d>>2]|0)+52>>2];k[g>>2]=k[(k[d>>2]|0)+56>>2];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[n>>2]=l[(k[d>>2]|0)+5>>0];k[o>>2]=(k[(k[e>>2]|0)+84>>2]|0)==1?100:0;k[j>>2]=l[(k[g>>2]|0)+((k[n>>2]|0)+5)>>0]<<8|l[(k[g>>2]|0)+((k[n>>2]|0)+5)+1>>0];IR((k[h>>2]|0)+(k[j>>2]|0)|0,(k[g>>2]|0)+(k[j>>2]|0)|0,(k[(k[p>>2]|0)+36>>2]|0)-(k[j>>2]|0)|0)|0;IR((k[h>>2]|0)+(k[o>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,(m[(k[d>>2]|0)+14>>1]|0)+(m[(k[d>>2]|0)+18>>1]<<1)|0)|0;i[k[e>>2]>>0]=0;b=cu(k[e>>2]|0)|0;k[q>>2]=b;if(k[q>>2]|0){k[k[f>>2]>>2]=k[q>>2];r=s;return}if(!(i[(k[p>>2]|0)+17>>0]|0)){r=s;return}q=VJ(k[e>>2]|0)|0;k[k[f>>2]>>2]=q;r=s;return}function _L(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+208>>2]|0}function $L(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+64|0;e=w+56|0;f=w+52|0;x=w+48|0;y=w+44|0;g=w+40|0;h=w+36|0;p=w+32|0;s=w+28|0;n=w+24|0;i=w+20|0;j=w+16|0;q=w+12|0;u=w+8|0;o=w+4|0;t=w;k[f>>2]=a;k[x>>2]=b;k[y>>2]=c;k[g>>2]=d;k[h>>2]=k[(k[f>>2]|0)+56>>2];k[p>>2]=(k[h>>2]|0)+(k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2]|0);k[s>>2]=(k[h>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8+(l[(k[f>>2]|0)+6>>0]|0));k[n>>2]=0;k[j>>2]=(k[x>>2]|0)+(k[y>>2]|0);k[q>>2]=0;k[u>>2]=0;k[i>>2]=k[x>>2];while(1){if((k[i>>2]|0)>=(k[j>>2]|0))break;k[o>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0>=(k[s>>2]|0)>>>0?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0){k[t>>2]=m[(k[(k[g>>2]|0)+12>>2]|0)+(k[i>>2]<<1)>>1];if((k[q>>2]|0)!=((k[o>>2]|0)+(k[t>>2]|0)|0)){if(k[q>>2]|0)eM(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[q>>2]=k[o>>2];k[u>>2]=k[t>>2];if(((k[q>>2]|0)+(k[t>>2]|0)|0)>>>0>(k[p>>2]|0)>>>0){v=9;break}}else{k[q>>2]=k[o>>2];k[u>>2]=(k[u>>2]|0)+(k[t>>2]|0)}k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+1}if((v|0)==9){k[e>>2]=0;y=k[e>>2]|0;r=w;return y|0}if(k[q>>2]|0)eM(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[e>>2]=k[n>>2];y=k[e>>2]|0;r=w;return y|0}function aM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+64|0;h=y+56|0;j=y+52|0;m=y+48|0;n=y+44|0;o=y+40|0;z=y+36|0;A=y+32|0;p=y+28|0;s=y+24|0;q=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[z>>2]=e;k[A>>2]=f;k[p>>2]=g;k[q>>2]=k[(k[j>>2]|0)+56>>2];k[u>>2]=k[k[n>>2]>>2];k[t>>2]=(k[z>>2]|0)+(k[A>>2]|0);k[s>>2]=k[z>>2];while(1){if((k[s>>2]|0)>=(k[t>>2]|0)){e=10;break}A=(VL(k[p>>2]|0,k[s>>2]|0)|0)&65535;k[x>>2]=A;if((l[(k[q>>2]|0)+1>>0]|0|0)==0?(l[(k[q>>2]|0)+2>>0]|0|0)==0:0)e=6;else e=5;if((e|0)==5?(e=0,A=dM(k[j>>2]|0,k[x>>2]|0,w)|0,k[v>>2]=A,(A|0)==0):0)e=6;if((e|0)==6){if(((k[u>>2]|0)-(k[m>>2]|0)|0)<(k[x>>2]|0)){e=7;break}k[u>>2]=(k[u>>2]|0)+(0-(k[x>>2]|0));k[v>>2]=k[u>>2]}JR(k[v>>2]|0,k[(k[(k[p>>2]|0)+8>>2]|0)+(k[s>>2]<<2)>>2]|0,k[x>>2]|0)|0;i[k[o>>2]>>0]=(k[v>>2]|0)-(k[q>>2]|0)>>8;i[(k[o>>2]|0)+1>>0]=(k[v>>2]|0)-(k[q>>2]|0);k[o>>2]=(k[o>>2]|0)+2;k[s>>2]=(k[s>>2]|0)+1}if((e|0)==7){k[h>>2]=1;A=k[h>>2]|0;r=y;return A|0}else if((e|0)==10){k[k[n>>2]>>2]=k[u>>2];k[h>>2]=0;A=k[h>>2]|0;r=y;return A|0}return 0}function bM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if((k[f>>2]|0)<=0)break;if(!(m[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0)){a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[e>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]=a}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+-1}r=g;return}function cM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;q=x+52|0;s=x+48|0;t=x+44|0;e=x+40|0;f=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;o=x+20|0;g=x+16|0;n=x+12|0;p=x+8|0;w=x+4|0;h=x;k[s>>2]=a;k[t>>2]=b;k[e>>2]=c;k[f>>2]=d;k[v>>2]=l[(k[s>>2]|0)+5>>0];k[u>>2]=k[(k[s>>2]|0)+56>>2];k[y>>2]=k[(k[(k[s>>2]|0)+52>>2]|0)+36>>2];k[o>>2]=(k[u>>2]|0)+(k[y>>2]|0);k[n>>2]=k[(k[s>>2]|0)+64>>2];d=_L(k[k[(k[s>>2]|0)+52>>2]>>2]|0)|0;k[p>>2]=d;k[g>>2]=(l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0);IR((k[p>>2]|0)+(k[g>>2]|0)|0,(k[u>>2]|0)+(k[g>>2]|0)|0,(k[y>>2]|0)-(k[g>>2]|0)|0)|0;k[w>>2]=k[o>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[t>>2]|0)){e=9;break}k[h>>2]=k[(k[e>>2]|0)+(k[g>>2]<<2)>>2];if((k[h>>2]|0)>>>0>=(k[u>>2]|0)>>>0?(k[h>>2]|0)>>>0<(k[o>>2]|0)>>>0:0)k[h>>2]=(k[p>>2]|0)+((k[h>>2]|0)-(k[u>>2]|0));k[w>>2]=(k[w>>2]|0)+(0-(m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0));i[k[n>>2]>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[n>>2]|0)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);k[n>>2]=(k[n>>2]|0)+2;if((k[w>>2]|0)>>>0<(k[n>>2]|0)>>>0){e=7;break}IR(k[w>>2]|0,k[h>>2]|0,m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0|0)|0;k[g>>2]=(k[g>>2]|0)+1}if((e|0)==7){y=Yj(64213)|0;k[q>>2]=y;y=k[q>>2]|0;r=x;return y|0}else if((e|0)==9){j[(k[s>>2]|0)+18>>1]=k[t>>2];i[(k[s>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[s>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[s>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);i[(k[u>>2]|0)+((k[v>>2]|0)+7)>>0]=0;k[q>>2]=0;y=k[q>>2]|0;r=x;return y|0}return 0}function dM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;d=t+32|0;g=t+28|0;j=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;s=t+8|0;q=t+4|0;p=t;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;k[j>>2]=l[(k[f>>2]|0)+5>>0];k[h>>2]=k[(k[f>>2]|0)+56>>2];k[n>>2]=(k[j>>2]|0)+1;k[o>>2]=(l[(k[h>>2]|0)+(k[n>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[n>>2]|0)+1>>0]|0);k[q>>2]=k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2];while(1){if((k[o>>2]|0)>((k[q>>2]|0)-4|0)){b=4;break}if((k[o>>2]|0)<((k[n>>2]|0)+4|0)){b=4;break}k[p>>2]=(l[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]|0);c=(k[p>>2]|0)-(k[d>>2]|0)|0;k[s>>2]=c;a=k[o>>2]|0;if((c|0)>=0){b=6;break}k[n>>2]=a;k[o>>2]=(l[(k[h>>2]|0)+(k[o>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[o>>2]|0)+1>>0]|0);if(!(k[o>>2]|0)){b=16;break}}if((b|0)==4){s=Yj(59156)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==6){if((a|0)>=((m[(k[f>>2]|0)+14>>1]|0)+((m[(k[f>>2]|0)+18>>1]|0)<<1)|0)?((k[p>>2]|0)+(k[o>>2]|0)|0)<=(k[q>>2]|0):0){do if((k[s>>2]|0)<4){if((l[(k[h>>2]|0)+((k[j>>2]|0)+7)>>0]|0|0)<=57){q=(k[h>>2]|0)+(k[n>>2]|0)|0;p=(k[h>>2]|0)+(k[o>>2]|0)|0;i[q>>0]=i[p>>0]|0;i[q+1>>0]=i[p+1>>0]|0;q=(k[h>>2]|0)+((k[j>>2]|0)+7)|0;i[q>>0]=(l[q>>0]|0)+(k[s>>2]&255);break}k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else{i[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]=k[s>>2]>>8;i[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]=k[s>>2]}while(0);k[e>>2]=(k[h>>2]|0)+((k[o>>2]|0)+(k[s>>2]|0));s=k[e>>2]|0;r=t;return s|0}s=Yj(59167)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==16){k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}return 0}function eM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;d=x+20|0;e=x+16|0;f=x+32|0;g=x+30|0;t=x+28|0;p=x+26|0;n=x+35|0;v=x+34|0;s=x+24|0;q=x+12|0;o=x+8|0;h=x+4|0;u=x;k[e>>2]=a;j[f>>1]=b;j[g>>1]=c;i[v>>0]=0;j[s>>1]=j[g>>1]|0;k[q>>2]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-4;k[o>>2]=(m[f>>1]|0)+(m[g>>1]|0);k[h>>2]=k[(k[e>>2]|0)+56>>2];if((m[(k[(k[e>>2]|0)+52>>2]|0)+22>>1]|0)&4)KR((k[h>>2]|0)+(m[f>>1]|0)|0,0,m[g>>1]|0|0)|0;i[n>>0]=i[(k[e>>2]|0)+5>>0]|0;j[t>>1]=(l[n>>0]|0)+1;if((l[(k[h>>2]|0)+((m[t>>1]|0)+1)>>0]|0|0)==0?(l[(k[h>>2]|0)+(m[t>>1]|0)>>0]|0|0)==0:0)j[p>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;a=((l[(k[h>>2]|0)+(m[t>>1]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0]|0))&65535;j[p>>1]=a;if((a&65535|0)>0)c=(m[p>>1]|0|0)<(m[f>>1]|0|0);else c=0;b=m[p>>1]|0;if(!c)break;if((b|0)<((m[t>>1]|0)+4|0)){w=10;break}j[t>>1]=j[p>>1]|0;w=6}if((w|0)==10){w=Yj(59328)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}if(b>>>0>(k[q>>2]|0)>>>0){w=Yj(59331)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}do if((m[p>>1]|0|0)!=0?((k[o>>2]|0)+3|0)>>>0>=(m[p>>1]|0)>>>0:0){i[v>>0]=(m[p>>1]|0)-(k[o>>2]|0);if((k[o>>2]|0)>>>0>(m[p>>1]|0)>>>0){w=Yj(59342)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}k[o>>2]=(m[p>>1]|0)+((l[(k[h>>2]|0)+((m[p>>1]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((m[p>>1]|0)+2)+1>>0]|0));if((k[o>>2]|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){j[g>>1]=(k[o>>2]|0)-(m[f>>1]|0);j[p>>1]=(l[(k[h>>2]|0)+(m[p>>1]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(m[p>>1]|0)+1>>0]|0);break}w=Yj(59344)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);do if((m[t>>1]|0|0)>((l[n>>0]|0)+1|0)?(k[u>>2]=(m[t>>1]|0)+((l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0]|0)),((k[u>>2]|0)+3|0)>=(m[f>>1]|0|0)):0){if((k[u>>2]|0)<=(m[f>>1]|0|0)){i[v>>0]=(l[v>>0]|0)+((m[f>>1]|0)-(k[u>>2]|0));j[g>>1]=(k[o>>2]|0)-(m[t>>1]|0);j[f>>1]=j[t>>1]|0;break}w=Yj(59356)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);if((l[v>>0]|0|0)<=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0|0)){w=(k[h>>2]|0)+((l[n>>0]|0)+7)|0;i[w>>0]=(l[w>>0]|0)-(l[v>>0]|0);break}w=Yj(59362)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);do if((m[f>>1]|0|0)==((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0]|0)|0)){if((m[t>>1]|0|0)==((l[n>>0]|0)+1|0)){i[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]=(m[p>>1]|0)>>8;i[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0]=j[p>>1];i[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]=(k[o>>2]|0)>>>8;i[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0]=k[o>>2];break}w=Yj(59369)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}else{i[(k[h>>2]|0)+(m[t>>1]|0)>>0]=(m[f>>1]|0)>>8;i[(k[h>>2]|0)+(m[t>>1]|0)+1>>0]=j[f>>1];i[(k[h>>2]|0)+(m[f>>1]|0)>>0]=(m[p>>1]|0)>>8;i[(k[h>>2]|0)+(m[f>>1]|0)+1>>0]=j[p>>1];i[(k[h>>2]|0)+((m[f>>1]|0)+2)>>0]=(m[g>>1]|0)>>8;i[(k[h>>2]|0)+((m[f>>1]|0)+2)+1>>0]=j[g>>1]}while(0);w=(k[e>>2]|0)+16|0;j[w>>1]=(m[w>>1]|0)+(m[s>>1]|0);k[d>>2]=0;w=k[d>>2]|0;r=x;return w|0}function fM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[c>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]=a;r=e;return j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]|0}function gM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+36|0;e=t+32|0;f=t+28|0;g=t+24|0;n=t+20|0;h=t+16|0;q=t+12|0;p=t+8|0;j=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=l[(k[e>>2]|0)+5>>0];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[p>>2]=0;k[j>>2]=(m[(k[e>>2]|0)+14>>1]|0)+((m[(k[e>>2]|0)+18>>1]|0)<<1);k[q>>2]=(l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0);do if((k[j>>2]|0)>(k[q>>2]|0)){if((k[q>>2]|0)==0?(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){k[q>>2]=65536;break}s=Yj(59234)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);if(!((l[(k[h>>2]|0)+((k[n>>2]|0)+2)>>0]|0|0)==0?(l[(k[h>>2]|0)+((k[n>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((k[j>>2]|0)+2|0)<=(k[q>>2]|0):0){s=dM(k[e>>2]|0,k[f>>2]|0,p)|0;k[o>>2]=s;if(k[o>>2]|0){k[k[g>>2]>>2]=(k[o>>2]|0)-(k[h>>2]|0);k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}if(k[p>>2]|0){k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}}do if(((k[j>>2]|0)+2+(k[f>>2]|0)|0)>(k[q>>2]|0)){s=YL(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0)){k[q>>2]=(((l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}while(0);k[q>>2]=(k[q>>2]|0)-(k[f>>2]|0);i[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]=k[q>>2]>>8;i[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]=k[q>>2];k[k[g>>2]>>2]=k[q>>2];k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}function hM(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=r;r=r+112|0;J=M+96|0;o=M+92|0;p=M+88|0;q=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;n=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;a=s;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=f;k[u>>2]=g;k[N>>2]=h;k[n>>2]=j;k[C>>2]=0;k[K>>2]=0;k[B>>2]=k[(k[o>>2]|0)+52>>2];k[G>>2]=0;k[y>>2]=l[(k[o>>2]|0)+6>>0];k[z>>2]=(k[u>>2]|0)+(k[N>>2]|0);if(i[(k[o>>2]|0)+3>>0]|0){if((k[z>>2]|0)>>>0<128){i[(k[p>>2]|0)+(k[y>>2]|0)>>0]=k[z>>2];d=1}else{d=k[z>>2]|0;d=HI((k[p>>2]|0)+(k[y>>2]|0)|0,d,((d|0)<0)<<31>>31)|0}k[y>>2]=(k[y>>2]|0)+(d&255)}N=s;N=HI((k[p>>2]|0)+(k[y>>2]|0)|0,k[N>>2]|0,k[N+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+N;if(i[(k[o>>2]|0)+2>>0]|0){k[F>>2]=k[t>>2];k[A>>2]=k[u>>2];k[u>>2]=0}else{k[z>>2]=k[s>>2];k[F>>2]=k[q>>2];k[A>>2]=k[s>>2]}if((k[z>>2]|0)<=(m[(k[o>>2]|0)+10>>1]|0)){N=(k[y>>2]|0)+(k[z>>2]|0)|0;k[x>>2]=N;k[x>>2]=(k[x>>2]|0)<4?4:N;k[k[n>>2]>>2]=k[x>>2];k[I>>2]=k[z>>2];k[E>>2]=k[p>>2]}else{k[w>>2]=m[(k[o>>2]|0)+12>>1];k[x>>2]=(k[w>>2]|0)+((((k[z>>2]|0)-(k[w>>2]|0)|0)>>>0)%(((k[(k[(k[o>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[x>>2]|0)>(m[(k[o>>2]|0)+10>>1]|0))k[x>>2]=k[w>>2];k[I>>2]=k[x>>2];k[k[n>>2]>>2]=(k[x>>2]|0)+(k[y>>2]|0)+4;k[E>>2]=(k[p>>2]|0)+((k[y>>2]|0)+(k[x>>2]|0))}k[D>>2]=(k[p>>2]|0)+(k[y>>2]|0);while(1){if((k[z>>2]|0)<=0){d=35;break}if(!(k[I>>2]|0)){k[H>>2]=k[G>>2];if(i[(k[B>>2]|0)+17>>0]|0)while(1){k[G>>2]=(k[G>>2]|0)+1;N=JF(k[B>>2]|0,k[G>>2]|0)|0;if((N|0)==(k[G>>2]|0))continue;if((k[G>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}N=SJ(k[B>>2]|0,C,G,k[G>>2]|0,0)|0;k[L>>2]=N;if(((k[L>>2]|0)==0?(l[(k[B>>2]|0)+17>>0]|0)!=0:0)?(i[v>>0]=(k[H>>2]|0)!=0?4:3,WJ(k[B>>2]|0,k[G>>2]|0,i[v>>0]|0,k[H>>2]|0,L),(k[L>>2]|0)!=0):0)NB(k[C>>2]|0);if(k[L>>2]|0){d=24;break}nt(k[E>>2]|0,k[G>>2]|0);NB(k[K>>2]|0);k[K>>2]=k[C>>2];k[E>>2]=k[(k[C>>2]|0)+56>>2];nt(k[E>>2]|0,0);k[D>>2]=(k[(k[C>>2]|0)+56>>2]|0)+4;k[I>>2]=(k[(k[B>>2]|0)+36>>2]|0)-4}k[x>>2]=k[z>>2];if((k[x>>2]|0)>(k[I>>2]|0))k[x>>2]=k[I>>2];if((k[A>>2]|0)>0){if((k[x>>2]|0)>(k[A>>2]|0))k[x>>2]=k[A>>2];IR(k[D>>2]|0,k[F>>2]|0,k[x>>2]|0)|0}else KR(k[D>>2]|0,0,k[x>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-(k[x>>2]|0);k[D>>2]=(k[D>>2]|0)+(k[x>>2]|0);k[F>>2]=(k[F>>2]|0)+(k[x>>2]|0);k[A>>2]=(k[A>>2]|0)-(k[x>>2]|0);k[I>>2]=(k[I>>2]|0)-(k[x>>2]|0);if(k[A>>2]|0)continue;k[A>>2]=k[u>>2];k[F>>2]=k[t>>2]}if((d|0)==24){NB(k[K>>2]|0);k[J>>2]=k[L>>2];N=k[J>>2]|0;r=M;return N|0}else if((d|0)==35){NB(k[K>>2]|0);k[J>>2]=0;N=k[J>>2]|0;r=M;return N|0}return 0}function iM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}mJ(k[c>>2]|0,k[e>>2]|0);Ud(k[(k[e>>2]|0)+36+4>>2]|0);bg(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function jM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;d=u+44|0;e=u+40|0;f=u+36|0;g=u+32|0;m=u+28|0;o=u+24|0;q=u+20|0;t=u+16|0;s=u+12|0;p=u+8|0;n=u+4|0;h=u+48|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=k[(k[e>>2]|0)+4>>2];c=k[m>>2]|0;if(i[(k[m>>2]|0)+17>>0]|0){QJ(c);zg(k[e>>2]|0,4,q);k[q>>2]=(k[q>>2]|0)+1;while(1){b=k[q>>2]|0;if((b|0)!=(JF(k[m>>2]|0,k[q>>2]|0)|0)?(k[q>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;k[q>>2]=(k[q>>2]|0)+1}b=SJ(k[m>>2]|0,n,p,k[q>>2]|0,1)|0;k[t>>2]=b;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}if((k[p>>2]|0)!=(k[q>>2]|0)){i[h>>0]=0;k[j>>2]=0;b=KH(k[m>>2]|0,0,0)|0;k[t>>2]=b;NB(k[n>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=LF(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=n;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=KF(k[m>>2]|0,k[q>>2]|0,h,j)|0;k[t>>2]=n;if(!((l[h>>0]|0)!=1?(l[h>>0]|0)!=2:0)){n=Yj(66085)|0;k[t>>2]=n}if(k[t>>2]|0){NB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=TJ(k[m>>2]|0,k[o>>2]|0,i[h>>0]|0,k[j>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=p;NB(k[o>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=LF(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Pg(k[(k[o>>2]|0)+72>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){NB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else k[o>>2]=k[n>>2];WJ(k[m>>2]|0,k[q>>2]|0,1,0,t);if(k[t>>2]|0){NB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Kg(k[e>>2]|0,4,k[q>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){NB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else{p=SJ(c,o,q,1,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}if(k[g>>2]&1)k[s>>2]=13;else k[s>>2]=10;UK(k[o>>2]|0,k[s>>2]|0);Hg(k[(k[o>>2]|0)+72>>2]|0);k[k[f>>2]>>2]=k[q>>2];k[d>>2]=0;t=k[d>>2]|0;r=u;return t|0}function kM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=k[(k[g>>2]|0)+4>>2];if((k[j>>2]|0)!=0?(lM(k[o>>2]|0),(k[(k[o>>2]|0)+80>>2]|0)==0):0){k[f>>2]=7;c=k[f>>2]|0;r=q;return c|0}if((k[h>>2]|0)==1?(xF(k[o>>2]|0)|0)==0:0)k[h>>2]=0;k[(k[n>>2]|0)+52>>2]=k[h>>2];i[(k[n>>2]|0)+68>>0]=-1;k[(k[n>>2]|0)+72>>2]=k[m>>2];k[k[n>>2]>>2]=k[g>>2];k[(k[n>>2]|0)+4>>2]=k[o>>2];i[(k[n>>2]|0)+64>>0]=(k[j>>2]|0)!=0?1:0;i[(k[n>>2]|0)+65>>0]=(k[j>>2]|0)!=0?0:2;k[p>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[p>>2]|0))break;if((k[(k[p>>2]|0)+52>>2]|0)==(k[h>>2]|0)){c=(k[p>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32;c=(k[n>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32}k[p>>2]=k[(k[p>>2]|0)+8>>2]}k[(k[n>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];k[(k[o>>2]|0)+8>>2]=k[n>>2];i[(k[n>>2]|0)+66>>0]=0;k[f>>2]=0;c=k[f>>2]|0;r=q;return c|0}function lM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+80>>2]|0){r=c;return}a=ej(k[(k[b>>2]|0)+32>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=k[(k[b>>2]|0)+80>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;i[a+6>>0]=0;i[a+7>>0]=0;a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+4;r=c;return}function mM(){return 200}function nM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function oM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>(k[(k[d>>2]|0)+104>>2]|0)?(l[(k[d>>2]|0)+6>>0]|0|0)!=0:0){a=pM(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}function pM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[i>>2]=0;k[g>>2]=k[(k[c>>2]|0)+104>>2];a=mg(k[(k[c>>2]|0)+100>>2]|0,(k[d>>2]|0)*48|0,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}KR((k[e>>2]|0)+((k[g>>2]|0)*48|0)|0,0,((k[d>>2]|0)-(k[g>>2]|0)|0)*48|0)|0;k[(k[c>>2]|0)+100>>2]=k[e>>2];k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[d>>2]|0)){c=14;break}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+20>>2]=k[(k[c>>2]|0)+28>>2];if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,b=k[a+4>>2]|0,(b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0):0){g=(k[c>>2]|0)+80|0;b=k[g+4>>2]|0;a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[g>>2];k[a+4>>2]=b}else{a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[(k[c>>2]|0)+156>>2];k[a+4>>2]=0}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+24>>2]=k[(k[c>>2]|0)+56>>2];a=sj(k[(k[c>>2]|0)+28>>2]|0)|0;k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]=a;if(!(k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0)){c=10;break}if(Jr(k[c>>2]|0)|0)qM(k[(k[c>>2]|0)+216>>2]|0,(k[e>>2]|0)+((k[f>>2]|0)*48|0)+28|0);k[(k[c>>2]|0)+104>>2]=(k[f>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}else if((c|0)==14){k[h>>2]=k[i>>2];i=k[h>>2]|0;r=j;return i|0}return 0}function qM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+52+16>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+52+24>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+52+24+4>>2];k[(k[d>>2]|0)+12>>2]=k[(k[e>>2]|0)+112>>2];r=c;return}function rM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;b=h;k[e>>2]=a;if((k[(k[e>>2]|0)+44>>2]|0)>>>0>0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}k[g>>2]=k[(k[e>>2]|0)+12>>2];k[f>>2]=k[(k[g>>2]|0)+56>>2];c=Pg(k[(k[g>>2]|0)+72>>2]|0)|0;k[b>>2]=c;if(k[b>>2]|0){k[d>>2]=k[b>>2];g=k[d>>2]|0;r=h;return g|0}else{a=k[f>>2]|0;b=42920;c=a+16|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));i[(k[f>>2]|0)+16>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>8;i[(k[f>>2]|0)+17>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>16;i[(k[f>>2]|0)+18>>0]=1;i[(k[f>>2]|0)+19>>0]=1;i[(k[f>>2]|0)+20>>0]=(k[(k[e>>2]|0)+32>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);i[(k[f>>2]|0)+21>>0]=64;i[(k[f>>2]|0)+22>>0]=32;i[(k[f>>2]|0)+23>>0]=32;a=(k[f>>2]|0)+24|0;c=a+76|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));UK(k[g>>2]|0,13);g=(k[e>>2]|0)+22|0;j[g>>1]=m[g>>1]|0|2;nt((k[f>>2]|0)+52|0,l[(k[e>>2]|0)+17>>0]|0);nt((k[f>>2]|0)+64|0,l[(k[e>>2]|0)+18>>0]|0);k[(k[e>>2]|0)+44>>2]=1;i[(k[f>>2]|0)+31>>0]=1;k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}return 0}function sM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;d=n+24|0;e=n+20|0;f=n;h=n+16|0;j=n+12|0;m=n+8|0;g=n+28|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(0!=0?1:(k[f+4>>2]&-16777216|0)!=0){i[(k[e>>2]|0)+8>>0]=k[f>>2];m=f;m=HR(k[m>>2]|0,k[m+4>>2]|0,8)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=7;while(1){if((k[h>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=k[f>>2]&127|128;m=f;m=HR(k[m>>2]|0,k[m+4>>2]|0,7)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=9;a=k[d>>2]|0;r=n;return a|0}k[m>>2]=0;do{a=(k[f>>2]&127|128)&255;c=k[m>>2]|0;k[m>>2]=c+1;i[g+c>>0]=a;c=f;c=HR(k[c>>2]|0,k[c+4>>2]|0,7)|0;a=f;k[a>>2]=c;k[a+4>>2]=L;a=f}while((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0);i[g>>0]=(l[g>>0]|0)&127;k[h>>2]=0;k[j>>2]=(k[m>>2]|0)-1;while(1){if((k[j>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=i[g+(k[j>>2]|0)>>0]|0;k[j>>2]=(k[j>>2]|0)+-1;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];a=k[d>>2]|0;r=n;return a|0}function tM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;j[(k[m>>2]|0)+8>>1]=1;e=Qx(k[m>>2]|0,(k[h>>2]|0)+2|0)|0;k[n>>2]=e;if(e){n=k[n>>2]|0;r=o;return n|0}b=k[f>>2]|0;f=k[g>>2]|0;c=k[h>>2]|0;d=k[(k[m>>2]|0)+16>>2]|0;if(k[l>>2]|0){l=QH(b,f,c,d)|0;k[n>>2]=l}else{l=Yh(b,f,c,d)|0;k[n>>2]=l}if(!(k[n>>2]|0)){i[(k[(k[m>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[(k[m>>2]|0)+16>>2]|0)+((k[h>>2]|0)+1)>>0]=0;j[(k[m>>2]|0)+8>>1]=528;k[(k[m>>2]|0)+12>>2]=k[h>>2];n=k[n>>2]|0;r=o;return n|0}else{eh(k[m>>2]|0);n=k[n>>2]|0;r=o;return n|0}return 0}function uM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[(k[c>>2]|0)+120+(i[(k[c>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(k[(k[c>>2]|0)+16+8>>2]|0);if((m[(k[c>>2]|0)+16+16>>1]|0)>>>0<(k[e>>2]|0)>>>0)k[e>>2]=m[(k[c>>2]|0)+16+16>>1];k[k[d>>2]>>2]=k[e>>2];r=f;return k[(k[c>>2]|0)+16+8>>2]|0}function vM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=(k[c>>2]|0)+40|0;a=CF(k[(k[c>>2]|0)+16>>2]|0,0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}if(k[e>>2]|0){e=Yj(72951)|0;k[b>>2]=e;e=k[b>>2]|0;r=f;return e|0}else{i[(k[c>>2]|0)+3>>0]=0;k[(k[c>>2]|0)+56>>2]=0;k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}return 0}function wM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if((k[(k[d>>2]|0)+12>>2]|0)>(k[(k[e>>2]|0)+12>>2]|0))a=k[(k[e>>2]|0)+12>>2]|0;else a=k[(k[d>>2]|0)+12>>2]|0;b=VQ(k[(k[d>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+16>>2]|0,a)|0;k[f>>2]=b;if(k[f>>2]|0){k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=(k[(k[d>>2]|0)+12>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0);f=k[c>>2]|0;r=g;return f|0}return 0}function xM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(fz(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=0;a=j[b>>1]|0;r=d;return a|0}if(!(Ui(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=4;a=j[b>>1]|0;r=d;return a|0}else{j[b>>1]=8;a=j[b>>1]|0;r=d;return a|0}return 0}function yM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Rx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0){k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}else{i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function zM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;rh(k[b>>2]|0);j[(k[b>>2]|0)+8>>1]=4;r=c;return k[b>>2]|0}function AM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(k[(k[c>>2]|0)+176>>2]|0){k[b>>2]=k[(k[c>>2]|0)+176>>2];while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+4>>2]|0))break;k[b>>2]=k[a+4>>2]}mI(a)|0;k[(k[c>>2]|0)+176>>2]=0;k[(k[c>>2]|0)+184>>2]=0}GM(k[c>>2]|0);if(k[(k[c>>2]|0)+8>>2]|0)LC(k[(k[c>>2]|0)+8>>2]|0,k[(k[c>>2]|0)+28>>2]|0);while(1){a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+180>>2]|0))break;k[d>>2]=k[a+180>>2];k[(k[c>>2]|0)+180>>2]=k[(k[d>>2]|0)+4>>2];HM(k[d>>2]|0)}if(!(k[a+204>>2]|0)){r=e;return}yI(k[k[c>>2]>>2]|0,(k[c>>2]|0)+204|0,-1,0);r=e;return}function BM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=r;r=r+144|0;A=H+32|0;C=H+24|0;B=H+16|0;z=H+8|0;c=H+128|0;d=H+124|0;I=H+120|0;e=H+116|0;h=H+112|0;w=H+108|0;i=H+104|0;m=H+100|0;u=H+96|0;n=H+92|0;o=H+88|0;v=H+84|0;F=H+80|0;E=H+76|0;t=H+72|0;j=H;x=H+68|0;y=H+64|0;g=H+60|0;f=H+56|0;p=H+52|0;D=H+48|0;q=H+44|0;s=H+40|0;k[d>>2]=a;k[I>>2]=b;k[h>>2]=0;k[w>>2]=0;k[i>>2]=0;b=CM(k[d>>2]|0,k[I>>2]|0)|0;k[w>>2]=b;k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[m>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(ni(k[m>>2]|0)|0){k[i>>2]=1;wg(k[m>>2]|0);I=Zf(k[m>>2]|0)|0;k[u>>2]=I;if((l[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+8>>0]|0|0)!=1?(I=42936+(Cg(k[u>>2]|0)|0)|0,(l[I>>0]|0|0)!=0):0)k[h>>2]=(k[h>>2]|0)+1;I=Kt(k[u>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(((k[i>>2]|0)!=0?(k[(k[d>>2]|0)+200>>2]|0)!=0:0)?(I=bc[k[(k[d>>2]|0)+200>>2]&255](k[(k[d>>2]|0)+196>>2]|0)|0,k[w>>2]=I,(k[w>>2]|0)!=0):0){k[c>>2]=531;I=k[c>>2]|0;r=H;return I|0}I=0==(Tf(Qi(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(k[h>>2]|0)<=1){k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[n>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[n>>2]|0){I=Wg(k[n>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[o>>2]|0){I=Vg(k[o>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(!(k[w>>2]|0))DM(k[d>>2]|0)|0}else{k[v>>2]=k[k[d>>2]>>2];k[F>>2]=0;I=Qi(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[E>>2]=I;k[t>>2]=0;I=j;k[I>>2]=0;k[I+4>>2]=0;k[y>>2]=0;I=Tf(k[E>>2]|0)|0;k[g>>2]=I;I=k[d>>2]|0;k[z>>2]=k[E>>2];I=Oh(I,42942,z)|0;k[F>>2]=I;if(!(k[F>>2]|0)){k[c>>2]=7;I=k[c>>2]|0;r=H;return I|0}do{if(k[y>>2]|0){if((k[y>>2]|0)>100){G=35;break}if((k[y>>2]|0)==1){k[C>>2]=k[F>>2];$d(13,42972,C)}}k[y>>2]=(k[y>>2]|0)+1;ae(4,f);I=(k[F>>2]|0)+(k[g>>2]|0)|0;E=k[f>>2]&255;k[A>>2]=(k[f>>2]|0)>>>8&16777215;k[A+4>>2]=E;_d(13,I,42987,A)|0;I=es(k[v>>2]|0,k[F>>2]|0,0,x)|0;k[w>>2]=I}while((k[w>>2]|0)==0?(k[x>>2]|0)!=0:0);if((G|0)==35){k[B>>2]=k[F>>2];$d(13,42958,B);Fr(k[v>>2]|0,k[F>>2]|0,0)|0}if(!(k[w>>2]|0)){I=pL(k[v>>2]|0,k[F>>2]|0,t,16406,0)|0;k[w>>2]=I}if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[p>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(((ni(k[p>>2]|0)|0)!=0?(I=EM(k[p>>2]|0)|0,k[D>>2]=I,(k[D>>2]|0)!=0):0)?(B=k[t>>2]|0,C=k[D>>2]|0,I=(Tf(k[D>>2]|0)|0)+1|0,E=j,E=Rg(B,C,I,k[E>>2]|0,k[E+4>>2]|0)|0,k[w>>2]=E,E=(Tf(k[D>>2]|0)|0)+1|0,I=j,E=GR(k[I>>2]|0,k[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0,I=j,k[I>>2]=E,k[I+4>>2]=L,(k[w>>2]|0)!=0):0){G=48;break}k[e>>2]=(k[e>>2]|0)+1}if((G|0)==48){NK(k[t>>2]|0);Fr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(0==((js(k[t>>2]|0)|0)&1024|0)?(I=Dr(k[t>>2]|0,2)|0,k[w>>2]=I,0!=(I|0)):0){NK(k[t>>2]|0);Fr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[q>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[q>>2]|0){I=Wg(k[q>>2]|0,k[F>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}NK(k[t>>2]|0);if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}I=Fr(k[v>>2]|0,k[F>>2]|0,1)|0;k[w>>2]=I;bg(k[d>>2]|0,k[F>>2]|0);k[F>>2]=0;if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}ek();k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[s>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[s>>2]|0)Vg(k[s>>2]|0,1)|0;k[e>>2]=(k[e>>2]|0)+1}fk();DM(k[d>>2]|0)|0}k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}function CM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;g=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;f=j+4|0;e=j;k[g>>2]=a;k[c>>2]=b;k[i>>2]=0;k[h>>2]=k[(k[g>>2]|0)+340>>2];k[(k[g>>2]|0)+340>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[g>>2]|0)+316>>2]|0)){c=8;break}k[e>>2]=k[(k[(k[h>>2]|0)+(k[d>>2]<<2)>>2]|0)+8>>2];if((k[e>>2]|0)!=0?(b=k[(k[k[e>>2]>>2]|0)+60>>2]|0,k[f>>2]=b,(b|0)!=0):0){b=bc[k[f>>2]&255](k[e>>2]|0)|0;k[i>>2]=b;bJ(k[c>>2]|0,k[e>>2]|0)}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){k[(k[g>>2]|0)+340>>2]=k[h>>2];r=j;return k[i>>2]|0}return 0}function DM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;zu(k[c>>2]|0,64);r=b;return 0}function EM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=FM(k[k[(k[c>>2]|0)+4>>2]>>2]|0)|0;r=b;return a|0}function FM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+180>>2]|0}function GM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+36>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+56>>2]|0)+(k[c>>2]<<2)>>2];if(k[d>>2]|0){VI(k[b>>2]|0,k[d>>2]|0);k[(k[(k[b>>2]|0)+56>>2]|0)+(k[c>>2]<<2)>>2]=0}k[c>>2]=(k[c>>2]|0)+1}r=e;return}function HM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=(k[b>>2]|0)+80;k[d>>2]=(k[c>>2]|0)+((k[(k[b>>2]|0)+64>>2]|0)*40|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[b>>2]|0)+68>>2]|0))break;VI(k[k[b>>2]>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}LC(k[c>>2]|0,k[(k[b>>2]|0)+64>>2]|0);yI(k[k[k[b>>2]>>2]>>2]|0,(k[b>>2]|0)+40|0,-1,0);bg(k[k[k[b>>2]>>2]>>2]|0,k[b>>2]|0);r=f;return}function IM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[6428+(k[b>>2]<<2)>>2]|0}function JM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=r;r=r+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;q=L;d=L+184|0;e=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;j=L+124|0;n=L+120|0;G=L+116|0;o=L+112|0;g=L+108|0;f=L+104|0;h=L+100|0;k[d>>2]=a;k[e>>2]=b;k[M>>2]=c;k[K>>2]=k[e>>2];ng(J,0,k[e>>2]|0,k[M>>2]|0,0);a:do switch(i[(k[d>>2]|0)+1>>0]|0){case -6:{k[D>>2]=k[(k[d>>2]|0)+16>>2];k[q>>2]=m[(k[D>>2]|0)+6>>1];wA(J,43039,q);k[B>>2]=0;while(1){if((k[B>>2]|0)>=(m[(k[D>>2]|0)+6>>1]|0))break;k[C>>2]=k[(k[D>>2]|0)+20+(k[B>>2]<<2)>>2];if(k[C>>2]|0)d=k[k[C>>2]>>2]|0;else d=19018;k[F>>2]=d;M=(YQ(k[F>>2]|0,35351)|0)==0;k[F>>2]=M?43044:d;M=k[F>>2]|0;k[E>>2]=(l[(k[(k[D>>2]|0)+16>>2]|0)+(k[B>>2]|0)>>0]|0)!=0?28868:19018;k[E+4>>2]=M;wA(J,43046,E);k[B>>2]=(k[B>>2]|0)+1}xA(J,35227,1);break}case -4:{k[j>>2]=k[(k[d>>2]|0)+16>>2];k[z>>2]=k[k[j>>2]>>2];wA(J,43052,z);break}case -5:{k[n>>2]=k[(k[d>>2]|0)+16>>2];M=i[k[n>>2]>>0]|0;k[A>>2]=k[(k[n>>2]|0)+20>>2];k[A+4>>2]=M;wA(J,43060,A);break}case -13:{H=k[(k[d>>2]|0)+16>>2]|0;I=k[H+4>>2]|0;M=s;k[M>>2]=k[H>>2];k[M+4>>2]=I;wA(J,28870,s);break}case -14:{k[t>>2]=k[(k[d>>2]|0)+16>>2];wA(J,43067,t);break}case -12:{p[u>>3]=+p[k[(k[d>>2]|0)+16>>2]>>3];wA(J,43070,u);break}case -8:{k[G>>2]=k[(k[d>>2]|0)+16>>2];d=k[G>>2]|0;if(m[(k[G>>2]|0)+8>>1]&2){k[K>>2]=k[d+16>>2];break a}e=k[G>>2]|0;if(m[d+8>>1]&4){G=e;I=k[G+4>>2]|0;M=H;k[M>>2]=k[G>>2];k[M+4>>2]=I;wA(J,28870,H);break a}d=k[G>>2]|0;if(m[e+8>>1]&8){p[I>>3]=+p[d>>3];wA(J,43070,I);break a}if(m[d+8>>1]&1){k[K>>2]=40184;break a}else{k[K>>2]=43076;break a}}case -10:{k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2];k[v>>2]=k[o>>2];wA(J,43083,v);break}case -15:{k[f>>2]=k[(k[d>>2]|0)+16>>2];k[h>>2]=k[k[f>>2]>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[w>>2]=k[(k[f>>2]|0)+(k[g>>2]<<2)>>2];wA(J,43091,w);k[g>>2]=(k[g>>2]|0)+1}i[k[e>>2]>>0]=91;xA(J,43095,1);break}case -18:{wA(J,43097,x);break}case -19:{i[k[e>>2]>>0]=0;break}case -20:{k[y>>2]=k[k[(k[d>>2]|0)+16>>2]>>2];wA(J,19007,y);break}default:{k[K>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[K>>2]|0)){k[K>>2]=k[e>>2];i[k[e>>2]>>0]=0}}}while(0);pg(J)|0;r=L;return k[K>>2]|0}function KM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;rh(k[e>>2]|0);b=f;c=k[b+4>>2]|0;a=k[e>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;j[(k[e>>2]|0)+8>>1]=4;r=d;return}function LM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g+4|0;f=g;e=g+10|0;c=g+9|0;d=g+8|0;k[b>>2]=a;k[f>>2]=0;i[e>>0]=0;if((k[(k[b>>2]|0)+12>>2]|0)>1){i[c>>0]=i[k[(k[b>>2]|0)+16>>2]>>0]|0;i[d>>0]=i[(k[(k[b>>2]|0)+16>>2]|0)+1>>0]|0;if((l[c>>0]|0)==254?(l[d>>0]|0)==255:0)i[e>>0]=3;if((l[c>>0]|0)==255?(l[d>>0]|0)==254:0)i[e>>0]=2}if(!(i[e>>0]|0)){f=k[f>>2]|0;r=g;return f|0}a=kh(k[b>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)-2;JR(k[(k[b>>2]|0)+16>>2]|0,(k[(k[b>>2]|0)+16>>2]|0)+2|0,k[(k[b>>2]|0)+12>>2]|0)|0;i[(k[(k[b>>2]|0)+16>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[b>>2]|0)+16>>2]|0)+((k[(k[b>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[b>>2]|0)+8|0;j[a>>1]=m[a>>1]|512;i[(k[b>>2]|0)+10>>0]=i[e>>0]|0;f=k[f>>2]|0;r=g;return f|0}function MM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+4|0;k[c>>2]=a;i[e>>0]=b;if(!(NM(k[c>>2]|0,i[e>>0]|0)|0)){e=0;r=d;return e|0}e=k[(k[c>>2]|0)+12>>2]|0;r=d;return e|0}function NM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&18){a=b+8|0;j[a>>1]=m[a>>1]|0|2;if((m[(k[d>>2]|0)+8>>1]|0)&16384)fh(k[d>>2]|0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)!=((l[e>>0]|0)&-9|0))qu(k[d>>2]|0,(l[e>>0]|0)&-9)|0;if((((l[e>>0]|0)&8|0)!=0?1==(1&k[(k[d>>2]|0)+16>>2]|0):0)?(kh(k[d>>2]|0)|0)!=0:0){k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}tI(k[d>>2]|0)|0}else Px(b,i[e>>0]|0,0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)==((l[e>>0]|0)&-9|0)){k[c>>2]=k[(k[d>>2]|0)+16>>2];e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function OM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+8>>1]|0)&9312)$F(k[b>>2]|0);if(!(k[(k[b>>2]|0)+24>>2]|0)){a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}bg(k[(k[b>>2]|0)+32>>2]|0,k[(k[b>>2]|0)+20>>2]|0);k[(k[b>>2]|0)+24>>2]=0;a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}function PM(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];bg(k[d>>2]|0,k[(k[c>>2]|0)+44>>2]|0);k[(k[c>>2]|0)+44>>2]=0;k[(k[c>>2]|0)+20>>2]=0;r=b;return}function QM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;xi(k[c>>2]|0);vg(k[c>>2]|0,7);r=b;return 7}function RM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;xj(k[(k[c>>2]|0)+60>>2]|0);k[(k[c>>2]|0)+60>>2]=0;r=b;return}function SM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];k[e>>2]=k[k[b>>2]>>2];i[(k[c>>2]|0)+19>>0]=0;if((l[(k[b>>2]|0)+8>>0]|0|0)>0?(k[(k[e>>2]|0)+156>>2]|0)>1:0){TM(k[b>>2]|0);i[(k[b>>2]|0)+8>>0]=1;r=d;return}if((l[(k[b>>2]|0)+8>>0]|0|0)!=0?(UM(k[b>>2]|0),e=(k[c>>2]|0)+40|0,k[e>>2]=(k[e>>2]|0)+-1,0==(k[(k[c>>2]|0)+40>>2]|0)):0)i[(k[c>>2]|0)+20>>0]=0;i[(k[b>>2]|0)+8>>0]=0;OB(k[c>>2]|0);r=d;return}function TM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+4>>2];if((k[(k[b>>2]|0)+76>>2]|0)!=(k[e>>2]|0)){r=d;return}k[(k[b>>2]|0)+76>>2]=0;e=(k[b>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;k[c>>2]=k[(k[b>>2]|0)+72>>2];while(1){if(!(k[c>>2]|0))break;i[(k[c>>2]|0)+8>>0]=1;k[c>>2]=k[(k[c>>2]|0)+12>>2]}r=d;return}function UM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+4>>2];k[c>>2]=(k[e>>2]|0)+72;while(1){if(!(k[k[c>>2]>>2]|0))break;k[b>>2]=k[k[c>>2]>>2];a=(k[b>>2]|0)+12|0;if((k[k[b>>2]>>2]|0)!=(k[d>>2]|0)){k[c>>2]=a;continue}k[k[c>>2]>>2]=k[a>>2];if((k[(k[b>>2]|0)+4>>2]|0)==1)continue;Ud(k[b>>2]|0)}a=k[e>>2]|0;if((k[(k[e>>2]|0)+76>>2]|0)==(k[d>>2]|0)){k[a+76>>2]=0;e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;r=f;return}if((k[a+40>>2]|0)!=2){r=f;return}e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-65;r=f;return}function VM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;j=l+20|0;h=l+16|0;e=l+12|0;f=l+8|0;d=l+4|0;g=l;k[c>>2]=a;k[j>>2]=0;k[h>>2]=k[k[c>>2]>>2];QJ(k[c>>2]|0);do if(!(i[(k[c>>2]|0)+18>>0]|0)){a=xF(k[c>>2]|0)|0;k[g>>2]=a;a=JF(k[c>>2]|0,k[g>>2]|0)|0;if((a|0)!=(k[g>>2]|0)?(k[g>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[c>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=or((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[f>>2]=a;a=PJ(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>>>0>(k[g>>2]|0)>>>0){j=Yj(61391)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}if((k[e>>2]|0)>>>0<(k[g>>2]|0)>>>0){a=KH(k[c>>2]|0,0,0)|0;k[j>>2]=a}k[d>>2]=k[g>>2];while(1){if(!((k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0?(k[j>>2]|0)==0:0))break;a=RJ(k[c>>2]|0,k[e>>2]|0,k[d>>2]|0,1)|0;k[j>>2]=a;k[d>>2]=(k[d>>2]|0)+-1}if(((k[j>>2]|0)==101|(k[j>>2]|0)==0)&(k[f>>2]|0)>>>0>0){a=Pg(k[(k[(k[c>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[j>>2]=a;nt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);nt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);nt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[e>>2]|0);i[(k[c>>2]|0)+19>>0]=1;k[(k[c>>2]|0)+44>>2]=k[e>>2]}if(!(k[j>>2]|0))break;yr(k[h>>2]|0)|0;break}j=Yj(61386)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}while(0);k[b>>2]=k[j>>2];j=k[b>>2]|0;r=l;return j|0}function WM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(k[(k[c>>2]|0)+44>>2]|0){k[b>>2]=k[a+44>>2];d=k[b>>2]|0;r=e;return d|0}if(((l[a+17>>0]|0|0)==2?(l[(k[c>>2]|0)+4>>0]|0|0)!=0:0)?(l[(k[c>>2]|0)+5>>0]|0|0)==1:0){i[(k[c>>2]|0)+17>>0]=1;k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;a=zr(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,1)|0;k[d>>2]=a;d=ur(k[c>>2]|0,k[d>>2]|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function XM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;e=f+4|0;d=f;k[c>>2]=a;k[f+8>>2]=b;k[e>>2]=0;if(i[(k[c>>2]|0)+19>>0]|0){e=k[e>>2]|0;r=f;return e|0}if((k[(k[c>>2]|0)+28>>2]|0)>>>0<=0){e=k[e>>2]|0;r=f;return e|0}a=Eg(k[c>>2]|0,1,d,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Pg(k[d>>2]|0)|0;k[e>>2]=a}if(!(k[e>>2]|0)){Jt(k[d>>2]|0);i[(k[c>>2]|0)+19>>0]=1}Hg(k[d>>2]|0);e=k[e>>2]|0;r=f;return e|0}function YM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;e=n+28|0;m=n+24|0;j=n+20|0;g=n+8|0;h=n;f=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(((k[e>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0)?(k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0:0){i[(k[d>>2]|0)+20>>0]=1;k[j>>2]=0;while(1){if(!(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[f>>2]=(k[f>>2]|0)+(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0);k[j>>2]=(k[j>>2]|0)+1}if(i[(k[d>>2]|0)+8>>0]|0){a=xs(k[d>>2]|0)|0;b=(k[d>>2]|0)+80|0;k[b>>2]=a;k[b+4>>2]=L}o=(k[d>>2]|0)+80|0;a=k[o+4>>2]|0;b=g;k[b>>2]=k[o>>2];k[b+4>>2]=a;b=g;b=Zt(k[(k[d>>2]|0)+68>>2]|0,k[b>>2]|0,k[b+4>>2]|0,((k[381]|0)/(k[(k[d>>2]|0)+160>>2]|0)|0)+1|0)|0;k[m>>2]=b;if((((0==(b|0)?(p=k[(k[d>>2]|0)+68>>2]|0,a=k[e>>2]|0,b=k[j>>2]|0,o=g,o=GR(k[o>>2]|0,k[o+4>>2]|0,4,0)|0,o=Rg(p,a,b,o,L)|0,k[m>>2]=o,0==(o|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=GR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=GR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=Zt(o,p,L,k[j>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=GR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=GR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=GR(p|0,L|0,4,0)|0,p=Zt(o,p,L,k[f>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=GR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=GR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=GR(p|0,L|0,8,0)|0,p=Rg(o,26517,8,p,L)|0,k[m>>2]=p,0==(p|0)):0){o=(k[j>>2]|0)+20|0;p=(k[d>>2]|0)+80|0;b=p;o=GR(k[b>>2]|0,k[b+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;k[p>>2]=o;k[p+4>>2]=L;p=dj(k[(k[d>>2]|0)+68>>2]|0,h)|0;k[m>>2]=p;if(0==(p|0)?(o=h,a=k[o+4>>2]|0,p=(k[d>>2]|0)+80|0,b=k[p+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[o>>2]|0)>>>0>(k[p>>2]|0)>>>0:0)):0){p=(k[d>>2]|0)+80|0;p=Cr(k[(k[d>>2]|0)+68>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[m>>2]=p}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=0;p=k[c>>2]|0;r=n;return p|0}function ZM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;b=u+44|0;s=u+40|0;e=u+36|0;q=u+32|0;d=u+28|0;c=u+24|0;g=u+20|0;o=u+16|0;f=u+12|0;p=u+8|0;h=u+4|0;n=u;k[b>>2]=a;k[s>>2]=0;k[d>>2]=0;k[g>>2]=0;k[o>>2]=k[(k[b>>2]|0)+16>>2];k[f>>2]=((k[(k[o>>2]|0)+156>>2]|0)>>>0)/((k[(k[o>>2]|0)+160>>2]|0)>>>0)|0;a=(k[o>>2]|0)+21|0;i[a>>0]=l[a>>0]|0|4;k[q>>2]=((k[(k[b>>2]|0)+20>>2]|0)-1&~((k[f>>2]|0)-1))+1;k[e>>2]=k[(k[o>>2]|0)+28>>2];do if((k[(k[b>>2]|0)+20>>2]|0)>>>0<=(k[e>>2]|0)>>>0)if(((k[q>>2]|0)+(k[f>>2]|0)-1|0)>>>0>(k[e>>2]|0)>>>0){k[d>>2]=(k[e>>2]|0)+1-(k[q>>2]|0);break}else{k[d>>2]=k[f>>2];break}else k[d>>2]=(k[(k[b>>2]|0)+20>>2]|0)-(k[q>>2]|0)+1;while(0);k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[d>>2]|0)?(k[s>>2]|0)==0:0))break;k[p>>2]=(k[q>>2]|0)+(k[c>>2]|0);if((k[p>>2]|0)!=(k[(k[b>>2]|0)+20>>2]|0)?(vj(k[(k[o>>2]|0)+60>>2]|0,k[p>>2]|0)|0)!=0:0){a=ps(k[o>>2]|0,k[p>>2]|0)|0;k[h>>2]=a;if(a){if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Rs(k[h>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(k[p>>2]|0)!=(((k[381]|0)/(k[(k[o>>2]|0)+160>>2]|0)|0)+1|0)):0)?(a=Eg(k[o>>2]|0,k[p>>2]|0,h,0)|0,k[s>>2]=a,(k[s>>2]|0)==0):0){a=_M(k[h>>2]|0)|0;k[s>>2]=a;if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Rs(k[h>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}if(!((k[s>>2]|0)==0&(k[g>>2]|0)!=0)){t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[d>>2]|0))break;t=ps(k[o>>2]|0,(k[q>>2]|0)+(k[c>>2]|0)|0)|0;k[n>>2]=t;if(k[n>>2]|0){t=(k[n>>2]|0)+24|0;j[t>>1]=m[t>>1]|0|8;Rs(k[n>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0} -function Zm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;e=f+4|0;c=f+12|0;d=f;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];i[c>>0]=0;k[d>>2]=0;while(1){a=k[e>>2]|0;if(!(254&(i[k[e>>2]>>0]|i[c>>0])))break;k[e>>2]=a+1;i[c>>0]=i[a>>0]&128;if(i[c>>0]|0)continue;k[d>>2]=(k[d>>2]|0)+1}k[k[b>>2]>>2]=a;r=f;return k[d>>2]|0}function _m(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=l;return}if(k[k[f>>2]>>2]|0){r=l;return}k[h>>2]=k[(k[e>>2]|0)+20>>2];if(k[h>>2]|0){bn(k[h>>2]|0);if(k[(k[h>>2]|0)+40>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0))break;k[j>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);if(k[(k[j>>2]|0)+20>>2]|0)ln(k[(k[j>>2]|0)+20>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+1}j=mn(k[d>>2]|0,0,k[h>>2]|0)|0;k[k[f>>2]>>2]=j}k[(k[h>>2]|0)+8>>2]=0;j=(k[h>>2]|0)+16|0;k[j>>2]=0;k[j+4>>2]=0;k[(k[h>>2]|0)+48>>2]=0}j=(k[e>>2]|0)+24|0;k[j>>2]=0;k[j+4>>2]=0;i[(k[e>>2]|0)+32>>0]=0;i[(k[e>>2]|0)+33>>0]=0;_m(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0);_m(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0);r=l;return}function $m(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;o=x+64|0;w=x+60|0;p=x+56|0;q=x+52|0;u=x+48|0;v=x+44|0;j=x+8|0;s=x+40|0;t=x+36|0;m=x+32|0;n=x+28|0;h=x;d=x+24|0;f=x+20|0;e=x+16|0;k[o>>2]=a;k[w>>2]=b;k[p>>2]=c;if(k[k[p>>2]>>2]|0){r=x;return}k[q>>2]=l[(k[o>>2]|0)+52>>0];i[(k[w>>2]|0)+33>>0]=1;switch(k[k[w>>2]>>2]|0){case 3:case 1:{k[u>>2]=k[(k[w>>2]|0)+12>>2];k[v>>2]=k[(k[w>>2]|0)+16>>2];if(i[(k[u>>2]|0)+34>>0]|0){$m(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);s=(k[v>>2]|0)+24|0;t=k[s+4>>2]|0;u=(k[w>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[v>>2]|0)+32>>0]|0;r=x;return}n=(i[(k[v>>2]|0)+34>>0]|0)!=0;$m(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0);if(n){s=(k[u>>2]|0)+24|0;t=k[s+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[s>>2];k[v+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[u>>2]|0)+32>>0]|0;r=x;return}$m(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);while(1){if(i[(k[u>>2]|0)+32>>0]|0)break;if(i[(k[v>>2]|0)+32>>0]|0)break;if(k[k[p>>2]>>2]|0)break;n=(k[q>>2]|0)!=0?-1:1;h=(k[u>>2]|0)+24|0;m=(k[v>>2]|0)+24|0;m=FR(k[h>>2]|0,k[h+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;m=RR(n|0,((n|0)<0)<<31>>31|0,m|0,L|0)|0;n=j;k[n>>2]=m;k[n+4>>2]=L;n=j;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0)break;a=k[o>>2]|0;if((k[j+4>>2]|0)<0){$m(a,k[u>>2]|0,k[p>>2]|0);continue}else{$m(a,k[v>>2]|0,k[p>>2]|0);continue}}m=(k[u>>2]|0)+24|0;n=k[m+4>>2]|0;q=(k[w>>2]|0)+24|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;if(l[(k[u>>2]|0)+32>>0]|0)a=1;else a=(l[(k[v>>2]|0)+32>>0]|0)!=0;i[(k[w>>2]|0)+32>>0]=a&1;if((k[k[w>>2]>>2]|0)!=1){r=x;return}if(!(l[(k[w>>2]|0)+32>>0]|0)){r=x;return}a:do if((k[(k[v>>2]|0)+20>>2]|0)!=0?(k[k[(k[v>>2]|0)+20>>2]>>2]|0)!=0:0){k[s>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0)break a;if(l[(k[v>>2]|0)+32>>0]|0)break a;KR(k[(k[s>>2]|0)+28>>2]|0,0,k[(k[s>>2]|0)+32>>2]|0)|0;$m(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0)}}while(0);if(!(k[(k[u>>2]|0)+20>>2]|0)){r=x;return}if(!(k[k[(k[u>>2]|0)+20>>2]>>2]|0)){r=x;return}k[t>>2]=k[(k[u>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0){g=53;break}if(l[(k[u>>2]|0)+32>>0]|0){g=53;break}KR(k[(k[t>>2]|0)+28>>2]|0,0,k[(k[t>>2]|0)+32>>2]|0)|0;$m(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0)}if((g|0)==53){r=x;return}break}case 4:{k[m>>2]=k[(k[w>>2]|0)+12>>2];k[n>>2]=k[(k[w>>2]|0)+16>>2];v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=FR(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=RR(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;do if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){if((l[(k[m>>2]|0)+32>>0]|0)==0?(v=h,u=k[v+4>>2]|0,!((l[(k[n>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(k[v>>2]|0)>>>0>0))):0){$m(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);$m(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);break}$m(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0)}else g=33;while(0);if((g|0)==33)$m(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);if(l[(k[m>>2]|0)+32>>0]|0)a=(l[(k[n>>2]|0)+32>>0]|0)!=0;else a=0;i[(k[w>>2]|0)+32>>0]=a&1;v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=FR(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=RR(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){u=(k[n>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}u=(k[m>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}case 2:{k[d>>2]=k[(k[w>>2]|0)+12>>2];k[f>>2]=k[(k[w>>2]|0)+16>>2];if(!(l[(k[f>>2]|0)+33>>0]|0))$m(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0);$m(k[o>>2]|0,k[d>>2]|0,k[p>>2]|0);b:do if(!(l[(k[d>>2]|0)+32>>0]|0))while(1){if(k[k[p>>2]>>2]|0)break b;if(i[(k[f>>2]|0)+32>>0]|0)break b;u=(k[q>>2]|0)!=0?-1:1;t=(k[d>>2]|0)+24|0;v=(k[f>>2]|0)+24|0;v=FR(k[t>>2]|0,k[t+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;v=RR(u|0,((u|0)<0)<<31>>31|0,v|0,L|0)|0;u=L;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;$m(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0)}while(0);t=(k[d>>2]|0)+24|0;u=k[t+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[t>>2];k[v+4>>2]=u;i[(k[w>>2]|0)+32>>0]=i[(k[d>>2]|0)+32>>0]|0;r=x;return}default:{k[e>>2]=k[(k[w>>2]|0)+20>>2];bn(k[e>>2]|0);u=cn(k[o>>2]|0,k[e>>2]|0,(k[w>>2]|0)+32|0)|0;k[k[p>>2]>>2]=u;u=(k[e>>2]|0)+16|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}}}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;n=q+12|0;p=q+8|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[p>>2]=k[k[l>>2]>>2];if(!(k[p>>2]|0)){k[p>>2]=k[h>>2];o=gm(k[p>>2]|0,k[m>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+o;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}lm(0,p);while(1){if((k[p>>2]|0)>>>0<((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0)a=(i[k[p>>2]>>0]|0)==0;else a=0;b=k[p>>2]|0;if(!a)break;k[p>>2]=b+1}if(b>>>0>=((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0){i[k[n>>2]>>0]=1;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}else{j=gm(k[p>>2]|0,o)|0;k[p>>2]=(k[p>>2]|0)+j;j=(k[g>>2]|0)!=0?-1:1;n=o;n=RR(j|0,((j|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;o=k[m>>2]|0;m=o;n=GR(k[m>>2]|0,k[m+4>>2]|0,n|0,L|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}}function bn(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+24>>2]|0)Ud(k[(k[b>>2]|0)+28>>2]|0);k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+24>>2]=0;r=c;return}function cn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;d=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=k[d>>2];k[g>>2]=k[k[j>>2]>>2];b=k[j>>2]|0;if(k[(k[d>>2]|0)+40>>2]|0){j=dn(b,k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}if((l[b+52>>0]|0|0)!=(l[(k[g>>2]|0)+231>>0]|0|0)?(k[(k[f>>2]|0)+4>>2]|0)!=0:0){im(l[(k[g>>2]|0)+231>>0]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[f>>2]|0)+8|0,(k[f>>2]|0)+16|0,(k[f>>2]|0)+32|0,k[e>>2]|0);k[(k[f>>2]|0)+28>>2]=k[(k[f>>2]|0)+8>>2];j=k[h>>2]|0;r=i;return j|0}en(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);j=k[h>>2]|0;r=i;return j|0}function dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+192|0;e=D+172|0;d=D+168|0;f=D+164|0;g=D+160|0;A=D+156|0;v=D+152|0;z=D+148|0;n=D+176|0;m=D+144|0;h=D+8|0;o=D+140|0;q=D;p=D+136|0;u=D+132|0;s=D+128|0;j=D+124|0;w=D+120|0;y=D+116|0;x=D+112|0;t=D+108|0;B=D+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[A>>2]=0;k[v>>2]=k[f>>2];k[z>>2]=k[k[d>>2]>>2];i[n>>0]=0;if((k[(k[f>>2]|0)+64>>2]|0)==1?(k[(k[f>>2]|0)+40>>2]|0)!=0:0){B=fn(k[z>>2]|0,k[(k[f>>2]|0)+72+20>>2]|0,(k[v>>2]|0)+16|0,(k[v>>2]|0)+28|0,(k[v>>2]|0)+32|0)|0;k[A>>2]=B;if(!(k[(k[v>>2]|0)+28>>2]|0))i[n>>0]=1}else C=5;a:do if((C|0)==5){k[m>>2]=l[(k[d>>2]|0)+52>>0];d=h;b=d+96|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(b|0));while(1){if(l[n>>0]|0)break a;k[o>>2]=0;c=q;k[c>>2]=0;k[c+4>>2]=0;k[p>>2]=0;while(1){if(k[A>>2]|0)break;if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;if(l[n>>0]|0)break;c=gn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=c;do if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){if((k[o>>2]|0)!=0?(a=(k[m>>2]|0)!=0?-1:1,b=q,c=h+((k[p>>2]|0)*24|0)+8|0,c=FR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0,RR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0,(L|0)>=0):0)break;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[o>>2]=1}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;while(1){if(k[A>>2]|0)break;if(l[n>>0]|0)break;if(k[h+((k[p>>2]|0)*24|0)>>2]|0)break;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=FR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;RR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;if((L|0)>=0)break;a=gn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=a;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=FR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=RR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;a=L;if(!((a|0)>0|(a|0)==0&c>>>0>0))continue;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[p>>2]=0}k[p>>2]=(k[p>>2]|0)+1}if(l[n>>0]|0)continue;k[u>>2]=0;k[s>>2]=k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c=Sd((k[s>>2]|0)+1|0)|0;k[j>>2]=c;if(!(k[j>>2]|0))break;IR(k[j>>2]|0,k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(k[s>>2]|0)+1|0)|0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=((k[(k[f>>2]|0)+64>>2]|0)-1|0))break;if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){k[w>>2]=k[h+((k[p>>2]|0)*24|0)+16>>2];k[y>>2]=k[j>>2];k[x>>2]=k[j>>2];k[t>>2]=(k[(k[f>>2]|0)+64>>2]|0)-1-(k[p>>2]|0);c=hn(x,k[t>>2]|0,0,1,w,y)|0;k[B>>2]=c;if(!(k[B>>2]|0))break;k[u>>2]=(k[x>>2]|0)-(k[j>>2]|0)}k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)==((k[(k[f>>2]|0)+64>>2]|0)-1|0)){C=35;break}Ud(k[j>>2]|0)}if((C|0)==35){z=q;B=k[z+4>>2]|0;C=(k[v>>2]|0)+16|0;k[C>>2]=k[z>>2];k[C+4>>2]=B;k[(k[v>>2]|0)+28>>2]=k[j>>2];k[(k[v>>2]|0)+32>>2]=k[u>>2];k[(k[v>>2]|0)+24>>2]=1;break}k[e>>2]=7;C=k[e>>2]|0;r=D;return C|0}while(0);i[k[g>>2]>>0]=i[n>>0]|0;k[e>>2]=k[A>>2];C=k[e>>2]|0;r=D;return C|0}function en(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;e=m;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);b=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0)k[j>>2]=k[b+8>>2];else k[j>>2]=k[b>>2];if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){i[k[g>>2]>>0]=1;r=m;return}c=gm(k[j>>2]|0,e)|0;k[j>>2]=(k[j>>2]|0)+c;if((l[(k[d>>2]|0)+231>>0]|0)!=0?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){d=e;e=(k[f>>2]|0)+16|0;c=e;d=FR(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}else{d=e;e=(k[f>>2]|0)+16|0;c=e;d=GR(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}k[(k[f>>2]|0)+28>>2]=k[j>>2];lm(0,j);k[(k[f>>2]|0)+32>>2]=(k[j>>2]|0)-(k[(k[f>>2]|0)+28>>2]|0);while(1){if((k[j>>2]|0)>>>0<(k[h>>2]|0)>>>0)a=(i[k[j>>2]>>0]|0)==0;else a=0;b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}k[(k[f>>2]|0)+8>>2]=b;i[k[g>>2]>>0]=0;r=m;return}function fn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;o=x+60|0;f=x+56|0;g=x+52|0;p=x+48|0;q=x+44|0;s=x+40|0;j=x+36|0;h=x+32|0;n=x+28|0;m=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;i=x+8|0;t=x;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[j>>2]=k[(k[g>>2]|0)+8>>2];k[h>>2]=k[k[g>>2]>>2];k[n>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(k[j>>2]|0)){k[k[q>>2]>>2]=0;k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}while(1){k[m>>2]=k[k[k[g>>2]>>2]>>2];if(!(k[(k[m>>2]|0)+80>>2]|0)){f=4;break}d=(k[k[h>>2]>>2]|0)+88|0;c=k[d+4>>2]|0;e=t;k[e>>2]=k[d>>2];k[e+4>>2]=c;e=cm(k[f>>2]|0,k[k[h>>2]>>2]|0,v,u)|0;k[w>>2]=e;k[i>>2]=1;while(1){if(k[w>>2]|0)break;if((k[i>>2]|0)>=(k[j>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+80>>2]|0))break;c=(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+88|0;e=t;if(!((k[c>>2]|0)==(k[e>>2]|0)?(k[c+4>>2]|0)==(k[e+4>>2]|0):0))break;e=cm(k[f>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=e;k[i>>2]=(k[i>>2]|0)+1}if(k[w>>2]|0){f=12;break}$l(k[k[g>>2]>>2]|0,k[j>>2]|0,k[i>>2]|0,k[n>>2]|0);if((k[u>>2]|0)>0?(k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0:0){e=am(k[g>>2]|0,k[v>>2]|0,(k[u>>2]|0)+1|0)|0;k[w>>2]=e;if(k[w>>2]|0){f=16;break}k[v>>2]=k[(k[g>>2]|0)+16>>2]}if((k[(k[g>>2]|0)+24>>2]|0)>=0)dm(k[(k[g>>2]|0)+24>>2]|0,1,v,u);if((k[u>>2]|0)>0){f=21;break}}if((f|0)==4)k[k[q>>2]>>2]=0;else if((f|0)==12){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==16){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==21){k[k[q>>2]>>2]=k[v>>2];v=k[t+4>>2]|0;w=k[p>>2]|0;k[w>>2]=k[t>>2];k[w+4>>2]=v;k[k[s>>2]>>2]=k[u>>2]}k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}function gn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;if((k[(k[g>>2]|0)+44>>2]|0)==(k[h>>2]|0)){en(k[f>>2]|0,k[g>>2]|0,k[l>>2]|0);k[(k[j>>2]|0)+16>>2]=k[(k[g>>2]|0)+28>>2];k[(k[j>>2]|0)+20>>2]=k[(k[g>>2]|0)+32>>2];a=(k[g>>2]|0)+16|0;m=k[a+4>>2]|0;e=(k[j>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=m;n=k[n>>2]|0;r=o;return n|0}k[m>>2]=(k[g>>2]|0)+72+((k[h>>2]|0)*24|0);if(!(k[(k[m>>2]|0)+20>>2]|0)){k[k[j>>2]>>2]=1;n=k[n>>2]|0;r=o;return n|0}e=fn(k[f>>2]|0,k[(k[m>>2]|0)+20>>2]|0,(k[j>>2]|0)+8|0,(k[j>>2]|0)+16|0,(k[j>>2]|0)+20|0)|0;k[n>>2]=e;if(k[(k[j>>2]|0)+16>>2]|0){n=k[n>>2]|0;r=o;return n|0}i[k[l>>2]>>0]=1;n=k[n>>2]|0;r=o;return n|0}function hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;g=C+80|0;h=C+76|0;j=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;p=C+56|0;x=C+52|0;y=C+48|0;z=C+44|0;q=C+40|0;s=C+36|0;A=C+32|0;v=C+24|0;t=C+16|0;u=C+8|0;w=C;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[x>>2]=k[k[h>>2]>>2];k[y>>2]=k[k[o>>2]>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=0;k[s>>2]=0;if((i[k[y>>2]>>0]|0)==1){k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=hm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d}if((i[k[z>>2]>>0]|0)==1){k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=hm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}while(1){if((k[q>>2]|0)!=(k[s>>2]|0))if((k[q>>2]|0)<(k[s>>2]|0)){fm(0,y);if(!(i[k[y>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=hm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;continue}else{fm(0,z);if(!(i[k[z>>2]>>0]|0))break;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=hm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d;continue}k[A>>2]=k[x>>2];f=v;k[f>>2]=0;k[f+4>>2]=0;f=t;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;if(k[q>>2]|0){f=k[x>>2]|0;k[x>>2]=f+1;i[f>>0]=1;f=k[q>>2]|0;f=Sl(k[x>>2]|0,f,((f|0)<0)<<31>>31)|0;k[x>>2]=(k[x>>2]|0)+f}jn(y,t);f=t;f=FR(k[f>>2]|0,k[f+4>>2]|0,2,0)|0;e=t;k[e>>2]=f;k[e+4>>2]=L;jn(z,u);e=u;e=FR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L;while(1){f=u;a=k[f>>2]|0;f=k[f+4>>2]|0;b=t;e=k[j>>2]|0;e=GR(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;if(!((a|0)==(e|0)&(f|0)==(L|0))){if(((k[n>>2]|0)==0?(e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,(b|0)>(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0>(k[f>>2]|0)>>>0:0)):0)?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=GR(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0)B=19}else B=19;if((B|0)==19){B=0;c=(k[m>>2]|0)!=0;b=t;a=u;f=c?k[b+4>>2]|0:k[a+4>>2]|0;e=w;k[e>>2]=c?k[b>>2]|0:k[a>>2]|0;k[e+4>>2]=f;e=w;e=GR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;kn(x,v,e,L);e=v;e=FR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=v;k[f>>2]=e;k[f+4>>2]=L;k[A>>2]=0}if(!((k[m>>2]|0)==0?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=GR(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0))B=22;if((B|0)==22?(B=0,e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,!((b|0)<(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0<=(k[f>>2]|0)>>>0:0))):0){if(!(i[k[y>>2]>>0]&254))break;jn(y,t);e=t;e=FR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=t;k[f>>2]=e;k[f+4>>2]=L;continue}if(!(i[k[z>>2]>>0]&254))break;jn(z,u);e=u;e=FR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L}if(k[A>>2]|0)k[x>>2]=k[A>>2];fm(0,y);fm(0,z);if(!(i[k[y>>2]>>0]|0))break;if(!(i[k[z>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=hm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=hm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}lm(0,z);lm(0,y);k[k[o>>2]>>2]=k[y>>2];k[k[p>>2]>>2]=k[z>>2];if((k[k[h>>2]>>2]|0)==(k[x>>2]|0)){k[g>>2]=0;B=k[g>>2]|0;r=C;return B|0}else{B=k[x>>2]|0;k[x>>2]=B+1;i[B>>0]=0;k[k[h>>2]>>2]=k[x>>2];k[g>>2]=1;B=k[g>>2]|0;r=C;return B|0}return 0}function jn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+12|0;d=c+8|0;e=c;k[f>>2]=a;k[d>>2]=b;a=gm(k[k[f>>2]>>2]|0,e)|0;b=k[f>>2]|0;k[b>>2]=(k[b>>2]|0)+a;b=e;a=k[d>>2]|0;d=a;b=GR(k[d>>2]|0,k[d+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;r=c;return}function kn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;f=e+8|0;g=e;k[h>>2]=a;k[f>>2]=b;a=g;k[a>>2]=c;k[a+4>>2]=d;d=k[k[h>>2]>>2]|0;a=g;b=k[f>>2]|0;b=FR(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=Sl(d,b,L)|0;d=k[h>>2]|0;k[d>>2]=(k[d>>2]|0)+b;d=g;b=k[d+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[d>>2];k[a+4>>2]=b;r=e;return}function ln(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+28>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+80>>2]=0;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+84>>2]=0;a=(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+88|0;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(k[c>>2]|0)+1}r=d;return 0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+44|0;t=s+40|0;i=s+36|0;o=s+32|0;q=s+28|0;j=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;m=s+8|0;p=s+4|0;n=s;k[d>>2]=a;k[t>>2]=b;k[i>>2]=c;k[o>>2]=k[k[d>>2]>>2];k[q>>2]=0;k[e>>2]=0;if(((k[t>>2]|0)!=0?(l[(k[d>>2]|0)+52>>0]|0|0)==(l[(k[o>>2]|0)+231>>0]|0|0):0)?(k[(k[i>>2]|0)+64>>2]|0)<=4:0)b=(k[(k[i>>2]|0)+64>>2]|0)>0;else b=0;k[f>>2]=b&1;k[j>>2]=0;while(1){if((k[f>>2]|0)!=1)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[g>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);if(!(k[(k[g>>2]|0)+12>>2]|0)){if((k[(k[g>>2]|0)+20>>2]|0)!=0?(k[(k[(k[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)h=11}else h=11;if((h|0)==11){h=0;k[f>>2]=0}if(k[(k[g>>2]|0)+20>>2]|0)k[e>>2]=1;k[j>>2]=(k[j>>2]|0)+1}if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){t=on(k[d>>2]|0,k[i>>2]|0)|0;k[q>>2]=t;k[(k[i>>2]|0)+40>>2]=0;t=k[q>>2]|0;r=s;return t|0}if((k[(k[i>>2]|0)+68>>2]|0)>=(k[(k[o>>2]|0)+24>>2]|0))b=-1;else b=k[(k[i>>2]|0)+68>>2]|0;k[m>>2]=b;k[j>>2]=0;while(1){if(k[q>>2]|0)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[p>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);k[n>>2]=k[(k[p>>2]|0)+20>>2];if(k[n>>2]|0){t=nn(k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0)|0;k[q>>2]=t}k[j>>2]=(k[j>>2]|0)+1}k[(k[i>>2]|0)+40>>2]=1;t=k[q>>2]|0;r=s;return t|0}function nn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;m=t+40|0;f=t+36|0;n=t+32|0;o=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;q=t+12|0;i=t+8|0;s=t+4|0;j=t;k[f>>2]=a;k[n>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[(k[n>>2]|0)+4>>2];k[s>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;d=pm(k[f>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[i>>2]|0))break;k[j>>2]=k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2];if(!(k[(k[j>>2]|0)+40>>2]|0))break;if(qm(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0)break;k[p>>2]=(k[p>>2]|0)+1}k[(k[n>>2]|0)+8>>2]=k[p>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[n>>2]|0)+8>>2]|0)){f=13;break}d=bm(k[f>>2]|0,k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){f=11;break}k[p>>2]=(k[p>>2]|0)+1}if((f|0)==11){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}else if((f|0)==13){$l(k[k[n>>2]>>2]|0,k[p>>2]|0,k[p>>2]|0,k[s>>2]|0);k[(k[n>>2]|0)+24>>2]=k[o>>2];k[m>>2]=0;s=k[m>>2]|0;r=t;return s|0}return 0}function on(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+28|0;c=j+24|0;f=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[c>>2]=b;k[f>>2]=k[k[l>>2]>>2];k[i>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0)){c=8;break}k[h>>2]=(k[c>>2]|0)+72+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[e>>2]=0,k[g>>2]=0,l=pn(k[f>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+68>>2]|0,e,g)|0,k[i>>2]=l,(k[i>>2]|0)==0):0){l=qn(k[f>>2]|0,k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[i>>2]=l}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){r=j;return k[i>>2]|0}return 0}function pn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+192|0;f=q+176|0;g=q+172|0;h=q+168|0;i=q+164|0;j=q+160|0;o=q+156|0;n=q+152|0;p=q+24|0;l=q+8|0;m=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=k[(k[g>>2]|0)+20>>2];c=p;a=c+128|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[l+12>>2]=3|((k[(k[g>>2]|0)+8>>2]|0)!=0?8:0)|((k[(k[g>>2]|0)+12>>2]|0)!=0?32:0)|((k[h>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0)?4:0);k[l+8>>2]=k[h>>2];k[l>>2]=k[k[g>>2]>>2];k[l+4>>2]=k[(k[g>>2]|0)+4>>2];l=Cl(k[f>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=l;while(1){if(k[o>>2]|0)break;l=Dl(k[f>>2]|0,k[n>>2]|0)|0;k[o>>2]=l;if(100!=(l|0))break;l=un(k[f>>2]|0,p,k[(k[n>>2]|0)+48>>2]|0,k[(k[n>>2]|0)+52>>2]|0)|0;k[o>>2]=l}if(!(k[o>>2]|0)){l=vn(k[f>>2]|0,p)|0;k[o>>2]=l}if(!(k[o>>2]|0)){k[k[j>>2]>>2]=k[p>>2];k[k[i>>2]>>2]=k[p+64>>2];p=k[n>>2]|0;wn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}k[m>>2]=0;while(1){if((k[m>>2]|0)>=16)break;Ud(k[p+(k[m>>2]<<2)>>2]|0);k[m>>2]=(k[m>>2]|0)+1}p=k[n>>2]|0;wn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}function qn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;s=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;m=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[s>>2]=0;c=k[g>>2]|0;do if(!(k[i>>2]|0)){Ud(k[c>>2]|0);k[k[g>>2]>>2]=0;k[(k[g>>2]|0)+4>>2]=0}else{if((k[c+44>>2]|0)<0){k[k[g>>2]>>2]=k[i>>2];k[(k[g>>2]|0)+4>>2]=k[j>>2];break}if(!(k[k[g>>2]>>2]|0)){Ud(k[i>>2]|0);break}c=k[k[g>>2]>>2]|0;if((k[(k[g>>2]|0)+44>>2]|0)<(k[h>>2]|0)){k[p>>2]=c;k[n>>2]=k[(k[g>>2]|0)+4>>2];k[q>>2]=k[i>>2];k[o>>2]=k[j>>2];k[m>>2]=(k[h>>2]|0)-(k[(k[g>>2]|0)+44>>2]|0)}else{k[q>>2]=c;k[o>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=k[i>>2];k[n>>2]=k[j>>2];k[m>>2]=(k[(k[g>>2]|0)+44>>2]|0)-(k[h>>2]|0)}n=rn(l[(k[f>>2]|0)+231>>0]|0,k[m>>2]|0,k[p>>2]|0,k[n>>2]|0,q,o)|0;k[s>>2]=n;Ud(k[p>>2]|0);k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[o>>2]}while(0);if((k[h>>2]|0)<=(k[(k[g>>2]|0)+44>>2]|0)){s=k[s>>2]|0;r=t;return s|0}k[(k[g>>2]|0)+44>>2]=k[h>>2];s=k[s>>2]|0;r=t;return s|0}function rn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=r;r=r+112|0;g=C+104|0;h=C+100|0;i=C+96|0;D=C+92|0;E=C+88|0;j=C+84|0;l=C+80|0;q=C+32|0;s=C+24|0;u=C+16|0;n=C+76|0;z=C+72|0;A=C+68|0;x=C+64|0;y=C+60|0;w=C+56|0;o=C+52|0;m=C+48|0;t=C+8|0;B=C+44|0;v=C;p=C+40|0;k[h>>2]=a;k[i>>2]=b;k[D>>2]=c;k[E>>2]=d;k[j>>2]=e;k[l>>2]=f;f=q;k[f>>2]=0;k[f+4>>2]=0;f=s;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;k[n>>2]=k[k[j>>2]>>2];k[z>>2]=(k[D>>2]|0)+(k[E>>2]|0);k[A>>2]=(k[n>>2]|0)+(k[k[l>>2]>>2]|0);k[x>>2]=k[D>>2];k[y>>2]=k[n>>2];k[o>>2]=0;if(k[h>>2]|0){E=Sd((k[k[l>>2]>>2]|0)+10|0)|0;k[m>>2]=E;if(!(k[m>>2]|0)){k[g>>2]=7;E=k[g>>2]|0;r=C;return E|0}}else k[m>>2]=k[n>>2];k[w>>2]=k[m>>2];sn(x,k[z>>2]|0,0,q);sn(y,k[A>>2]|0,0,s);while(1){if(!((k[x>>2]|0)!=0?(k[y>>2]|0)!=0:0))break;E=(k[h>>2]|0)!=0?-1:1;f=q;D=s;D=FR(k[f>>2]|0,k[f+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;D=RR(E|0,((E|0)<0)<<31>>31|0,D|0,L|0)|0;E=t;k[E>>2]=D;k[E+4>>2]=L;E=t;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))if((k[t+4>>2]|0)<0){lm(0,x);sn(x,k[z>>2]|0,k[h>>2]|0,q);continue}else{lm(0,y);sn(y,k[A>>2]|0,k[h>>2]|0,s);continue}else{k[B>>2]=k[w>>2];f=u;D=k[f+4>>2]|0;E=v;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[p>>2]=k[o>>2];E=q;tn(w,k[h>>2]|0,u,o,k[E>>2]|0,k[E+4>>2]|0);if(!(hn(w,k[i>>2]|0,0,1,x,y)|0)){k[w>>2]=k[B>>2];f=v;D=k[f+4>>2]|0;E=u;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[o>>2]=k[p>>2]}sn(x,k[z>>2]|0,k[h>>2]|0,q);sn(y,k[A>>2]|0,k[h>>2]|0,s);continue}}k[k[l>>2]>>2]=(k[w>>2]|0)-(k[m>>2]|0);if(k[h>>2]|0){Ud(k[n>>2]|0);k[k[j>>2]>>2]=k[m>>2]}k[g>>2]=0;E=k[g>>2]|0;r=C;return E|0}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+20|0;j=i+16|0;h=i+12|0;g=i+8|0;f=i;k[e>>2]=a;k[j>>2]=b;k[h>>2]=c;k[g>>2]=d;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>>>0>=(k[j>>2]|0)>>>0){k[c>>2]=0;r=i;return}a=gm(k[c>>2]|0,f)|0;e=k[e>>2]|0;k[e>>2]=(k[e>>2]|0)+a;e=f;a=k[e>>2]|0;e=k[e+4>>2]|0;c=k[g>>2]|0;d=c;b=k[d>>2]|0;d=k[d+4>>2]|0;if(k[h>>2]|0){h=FR(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}else{h=GR(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}}function tn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;g=m+28|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+8|0;l=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[i>>2]=d;a=j;k[a>>2]=e;k[a+4>>2]=f;if((k[n>>2]|0)!=0?(k[k[i>>2]>>2]|0)!=0:0){n=k[h>>2]|0;a=j;a=FR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}else{n=j;a=k[h>>2]|0;a=FR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}a=l;a=Sl(k[k[g>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;c=k[g>>2]|0;k[c>>2]=(k[c>>2]|0)+a;c=j;a=k[c+4>>2]|0;n=k[h>>2]|0;k[n>>2]=k[c>>2];k[n+4>>2]=a;k[k[i>>2]>>2]=1;r=m;return}function un(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;e=t+24|0;j=t+20|0;o=t+16|0;n=t+12|0;m=t+8|0;p=t+4|0;q=t;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[e>>2]=d;a:do if(!(k[k[h>>2]>>2]|0)){s=Sd((k[e>>2]|0)+10+1|0)|0;k[k[h>>2]>>2]=s;k[(k[h>>2]|0)+64>>2]=k[e>>2];if(k[k[h>>2]>>2]|0){IR(k[k[h>>2]>>2]|0,k[i>>2]|0,k[e>>2]|0)|0;break}k[f>>2]=7;s=k[f>>2]|0;r=t;return s|0}else{k[j>>2]=k[i>>2];k[o>>2]=k[e>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break a;if(!(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)){s=8;break}e=xn(l[(k[g>>2]|0)+231>>0]|0,k[j>>2]|0,k[o>>2]|0,k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]|0,m,p)|0;k[q>>2]=e;e=(k[j>>2]|0)!=(k[i>>2]|0);if(k[q>>2]|0)break;if(e)Ud(k[j>>2]|0);Ud(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0);k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=0;k[j>>2]=k[m>>2];k[o>>2]=k[p>>2];if(((k[n>>2]|0)+1|0)==16){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2]}k[n>>2]=(k[n>>2]|0)+1}if((s|0)==8){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2];break}if(e)Ud(k[j>>2]|0);k[f>>2]=k[q>>2];s=k[f>>2]|0;r=t;return s|0}while(0);k[f>>2]=0;s=k[f>>2]|0;r=t;return s|0}function vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=r;r=r+48|0;g=n+32|0;c=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;e=n+12|0;f=n+8|0;d=n+4|0;m=n;k[c>>2]=a;k[h>>2]=b;k[i>>2]=0;k[j>>2]=0;k[e>>2]=0;a:while(1){if((k[e>>2]|0)>=16){c=10;break}do if(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0){if(!(k[i>>2]|0)){k[i>>2]=k[(k[h>>2]|0)+(k[e>>2]<<2)>>2];k[j>>2]=k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2];k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;break}b=xn(l[(k[c>>2]|0)+231>>0]|0,k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2]|0,k[i>>2]|0,k[j>>2]|0,d,f)|0;k[m>>2]=b;if(k[m>>2]|0){c=7;break a}Ud(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0);Ud(k[i>>2]|0);k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;k[i>>2]=k[d>>2];k[j>>2]=k[f>>2]}while(0);k[e>>2]=(k[e>>2]|0)+1}if((c|0)==7){Ud(k[i>>2]|0);k[g>>2]=k[m>>2];m=k[g>>2]|0;r=n;return m|0}else if((c|0)==10){k[k[h>>2]>>2]=k[i>>2];k[(k[h>>2]|0)+64>>2]=k[j>>2];k[g>>2]=0;m=k[g>>2]|0;r=n;return m|0}return 0}function wn(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Jl(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function xn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=r;r=r+96|0;h=y+88|0;i=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;j=y+64|0;l=y+60|0;o=y+24|0;p=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;m=y+36|0;n=y+32|0;q=y;k[i>>2]=a;k[C>>2]=b;k[A>>2]=c;k[B>>2]=d;k[z>>2]=e;k[j>>2]=f;k[l>>2]=g;g=o;k[g>>2]=0;k[g+4>>2]=0;g=p;k[g>>2]=0;k[g+4>>2]=0;g=s;k[g>>2]=0;k[g+4>>2]=0;k[w>>2]=(k[C>>2]|0)+(k[A>>2]|0);k[x>>2]=(k[B>>2]|0)+(k[z>>2]|0);k[u>>2]=k[C>>2];k[v>>2]=k[B>>2];k[n>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;g=Sd((k[A>>2]|0)+(k[z>>2]|0)+10-1|0)|0;k[m>>2]=g;if(!(k[m>>2]|0)){k[h>>2]=7;C=k[h>>2]|0;r=y;return C|0}k[t>>2]=k[m>>2];sn(u,k[w>>2]|0,0,o);sn(v,k[x>>2]|0,0,p);while(1){if(!((k[u>>2]|0)!=0?1:(k[v>>2]|0)!=0))break;C=(k[i>>2]|0)!=0?-1:1;A=o;B=p;B=FR(k[A>>2]|0,k[A+4>>2]|0,k[B>>2]|0,k[B+4>>2]|0)|0;B=RR(C|0,((C|0)<0)<<31>>31|0,B|0,L|0)|0;C=q;k[C>>2]=B;k[C+4>>2]=L;C=q;if((k[v>>2]|0)!=0&(k[u>>2]|0)!=0&((k[C>>2]|0)==0&(k[C+4>>2]|0)==0)){C=o;tn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);yn(t,u,v);sn(u,k[w>>2]|0,k[i>>2]|0,o);sn(v,k[x>>2]|0,k[i>>2]|0,p);continue}if((k[v>>2]|0)!=0?!((k[u>>2]|0)!=0&(k[q+4>>2]|0)<0):0){C=p;tn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);lm(t,v);sn(v,k[x>>2]|0,k[i>>2]|0,p);continue}C=o;tn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);lm(t,u);sn(u,k[w>>2]|0,k[i>>2]|0,o)}k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=(k[t>>2]|0)-(k[m>>2]|0);k[h>>2]=0;C=k[h>>2]|0;r=y;return C|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;d=t+56|0;e=t+52|0;f=t+48|0;p=t+44|0;q=t+40|0;s=t+36|0;j=t+32|0;m=t+28|0;g=t+16|0;h=t+8|0;n=t;o=t+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[p>>2]=k[k[d>>2]>>2];k[q>>2]=k[k[e>>2]>>2];k[s>>2]=k[k[f>>2]>>2];a:while(1){if((i[k[q>>2]>>0]|0)==0?(i[k[s>>2]>>0]|0)==0:0)break;a=k[q>>2]|0;do if((i[k[q>>2]>>0]|0)==1){b=(k[q>>2]|0)+1|0;if(l[a+1>>0]&128){hm(b,j)|0;break}else{k[j>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[j>>2]=2147483647;break}else{k[j>>2]=0;break}while(0);a=k[s>>2]|0;do if((i[k[s>>2]>>0]|0)==1){b=(k[s>>2]|0)+1|0;if(l[a+1>>0]&128){hm(b,m)|0;break}else{k[m>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[m>>2]=2147483647;break}else{k[m>>2]=0;break}while(0);if((k[j>>2]|0)!=(k[m>>2]|0))if((k[j>>2]|0)<(k[m>>2]|0)){c=zn(p,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+c;fm(p,q);continue}else{c=zn(p,k[m>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+c;fm(p,s);continue}c=g;k[c>>2]=0;k[c+4>>2]=0;c=h;k[c>>2]=0;k[c+4>>2]=0;c=n;k[c>>2]=0;k[c+4>>2]=0;c=zn(p,k[j>>2]|0)|0;k[o>>2]=c;k[q>>2]=(k[q>>2]|0)+(k[o>>2]|0);k[s>>2]=(k[s>>2]|0)+(k[o>>2]|0);jn(q,g);jn(s,h);while(1){b=g;u=k[b+4>>2]|0;a=h;c=k[a+4>>2]|0;a=(u|0)<(c|0)|((u|0)==(c|0)?(k[b>>2]|0)>>>0<(k[a>>2]|0)>>>0:0);b=g;c=h;kn(p,n,a?k[b>>2]|0:k[c>>2]|0,a?k[b+4>>2]|0:k[c+4>>2]|0);c=n;c=FR(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;b=n;k[b>>2]=c;k[b+4>>2]=L;b=g;c=h;do if(!((k[b>>2]|0)==(k[c>>2]|0)?(k[b+4>>2]|0)==(k[c+4>>2]|0):0)){c=g;a=k[c+4>>2]|0;u=h;b=k[u+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)){An(q,g);break}else{An(s,h);break}}else{An(q,g);An(s,h)}while(0);c=g;u=h;if(!((k[c>>2]|0)!=2147483647|(k[c+4>>2]|0)!=0?1:(k[u>>2]|0)!=2147483647|(k[u+4>>2]|0)!=0))continue a}}u=k[p>>2]|0;k[p>>2]=u+1;i[u>>0]=0;k[k[d>>2]>>2]=k[p>>2];k[k[e>>2]>>2]=(k[q>>2]|0)+1;k[k[f>>2]>>2]=(k[s>>2]|0)+1;r=t;return}function zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[d>>2]|0)){a=k[e>>2]|0;r=g;return a|0}k[f>>2]=k[k[c>>2]>>2];a=k[d>>2]|0;a=1+(Sl((k[f>>2]|0)+1|0,a,((a|0)<0)<<31>>31)|0)|0;k[e>>2]=a;i[k[f>>2]>>0]=1;k[k[c>>2]>>2]=(k[f>>2]|0)+(k[e>>2]|0);a=k[e>>2]|0;r=g;return a|0}function An(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[k[k[c>>2]>>2]>>0]&254){jn(k[c>>2]|0,k[d>>2]|0);a=k[d>>2]|0;b=a;b=FR(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;k[a>>2]=b;k[a+4>>2]=L;r=e;return}else{a=k[d>>2]|0;k[a>>2]=2147483647;k[a+4>>2]=0;r=e;return}}function Bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((i[(k[e>>2]|0)+7>>0]|0)!=0?(k[f>>2]=0,f=Nn(k[e>>2]|0,f)|0,k[g>>2]=f,(k[g>>2]|0)==0):0){f=(k[e>>2]|0)+32|0;We(k[(k[e>>2]|0)+8>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;i[(k[e>>2]|0)+7>>0]=0;if(100==(Ee(k[(k[e>>2]|0)+8>>2]|0)|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}f=he(k[(k[e>>2]|0)+8>>2]|0)|0;k[g>>2]=f;if((k[g>>2]|0)==0?(k[(k[k[e>>2]>>2]|0)+40>>2]|0)==0:0){k[g>>2]=267;i[(k[e>>2]|0)+6>>0]=1}}if((k[g>>2]|0)!=0&(k[d>>2]|0)!=0)Be(k[d>>2]|0,k[g>>2]|0);k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function Cn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+80|0;b=v+64|0;q=v+60|0;c=v+56|0;d=v;j=v+52|0;i=v+48|0;o=v+44|0;m=v+40|0;s=v+36|0;p=v+32|0;t=v+28|0;h=v+24|0;e=v+20|0;f=v+16|0;g=v+12|0;n=v+8|0;k[b>>2]=a;k[q>>2]=0;if(!(k[(k[b>>2]|0)+24>>2]|0)){u=k[q>>2]|0;r=v;return u|0}k[i>>2]=k[k[b>>2]>>2];k[o>>2]=k[(k[i>>2]|0)+36>>2];k[m>>2]=k[k[o>>2]>>2];w=Oe(k[(k[b>>2]|0)+8>>2]|0,0)|0;a=d;k[a>>2]=w;k[a+4>>2]=L;k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[q>>2]|0)==0:0))break;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[c>>2]|0)>>0]|0)){w=Pe(k[(k[b>>2]|0)+8>>2]|0,(k[c>>2]|0)+1|0)|0;k[s>>2]=w;k[p>>2]=0;w=Kn(k[o>>2]|0,k[(k[b>>2]|0)+16>>2]|0,k[s>>2]|0,-1,p)|0;k[q>>2]=w;a:while(1){if(k[q>>2]|0)break;k[h>>2]=0;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;w=ac[k[(k[m>>2]|0)+20>>2]&255](k[p>>2]|0,t,h,e,f,g)|0;k[q>>2]=w;k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))continue a;k[n>>2]=k[k[j>>2]>>2];if(!((k[(k[j>>2]|0)+4>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[(k[j>>2]|0)+4>>2]|0)!=(k[c>>2]|0):0))u=11;do if((u|0)==11?(u=0,(k[g>>2]|0)==0?1:(k[(k[n>>2]|0)+12>>2]|0)==0):0){if((k[(k[n>>2]|0)+4>>2]|0)!=(k[h>>2]|0)){if(!(k[(k[n>>2]|0)+8>>2]|0))break;if((k[(k[n>>2]|0)+4>>2]|0)>=(k[h>>2]|0))break}if(!(VQ(k[t>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)){x=d;a=k[c>>2]|0;w=k[g>>2]|0;Ln((k[j>>2]|0)+12|0,k[x>>2]|0,k[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,q)|0}}while(0);k[j>>2]=k[(k[j>>2]|0)+8>>2]}}if(k[p>>2]|0)bc[k[(k[m>>2]|0)+16>>2]&255](k[p>>2]|0)|0;if((k[q>>2]|0)==101)k[q>>2]=0}k[c>>2]=(k[c>>2]|0)+1}k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))break;if(k[(k[j>>2]|0)+12>>2]|0){x=Mn((k[j>>2]|0)+12|0,0,0)|0;k[q>>2]=x}k[j>>2]=k[(k[j>>2]|0)+8>>2]}x=k[q>>2]|0;r=v;return x|0}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;j=o+28|0;h=o+24|0;d=o+20|0;n=o+16|0;m=o+12|0;e=o+8|0;f=o+4|0;g=o;k[j>>2]=a;k[h>>2]=b;k[d>>2]=c;k[n>>2]=1;if(k[k[d>>2]>>2]|0){n=k[n>>2]|0;r=o;return n|0}switch(k[k[h>>2]>>2]|0){case 3:case 1:{if((Dn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)!=0?(Dn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0:0)d=(Fn(k[h>>2]|0,k[d>>2]|0)|0)!=0;else d=0;k[n>>2]=d&1;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[k[h>>2]>>2]|0)!=1){n=k[n>>2]|0;r=o;return n|0}if((k[(k[h>>2]|0)+8>>2]|0)!=0?(k[k[(k[h>>2]|0)+8>>2]>>2]|0)==1:0){n=k[n>>2]|0;r=o;return n|0}k[m>>2]=k[h>>2];while(1){d=k[m>>2]|0;if(k[(k[m>>2]|0)+20>>2]|0)break;c=(k[d+16>>2]|0)+24|0;h=(k[j>>2]|0)+32|0;if((k[c>>2]|0)==(k[h>>2]|0)?(k[c+4>>2]|0)==(k[h+4>>2]|0):0)bn(k[(k[(k[m>>2]|0)+16>>2]|0)+20>>2]|0);k[m>>2]=k[(k[m>>2]|0)+12>>2]}h=d+24|0;j=(k[j>>2]|0)+32|0;if(!((k[h>>2]|0)==(k[j>>2]|0)?(k[h+4>>2]|0)==(k[j+4>>2]|0):0)){n=k[n>>2]|0;r=o;return n|0}bn(k[(k[m>>2]|0)+20>>2]|0);n=k[n>>2]|0;r=o;return n|0}case 4:{m=Dn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0;k[e>>2]=m;m=Dn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[f>>2]=m;k[n>>2]=((k[e>>2]|0)!=0?1:(k[f>>2]|0)!=0)&1;n=k[n>>2]|0;r=o;return n|0}case 2:{if(Dn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)d=(Dn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0^1;else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}default:{do if(k[(k[j>>2]|0)+24>>2]|0){c=(k[h>>2]|0)+24|0;m=(k[j>>2]|0)+32|0;if(!((k[c>>2]|0)==(k[m>>2]|0)?(k[c+4>>2]|0)==(k[m+4>>2]|0):0)?(l[(k[h>>2]|0)+34>>0]|0)==0:0)break;k[g>>2]=k[(k[h>>2]|0)+20>>2];if(i[(k[h>>2]|0)+34>>0]|0)bn(k[g>>2]|0);c=Gn(k[j>>2]|0,k[g>>2]|0)|0;k[k[d>>2]>>2]=c;k[n>>2]=(k[(k[g>>2]|0)+28>>2]|0)!=0&1;c=(k[j>>2]|0)+32|0;j=k[c+4>>2]|0;m=(k[h>>2]|0)+24|0;k[m>>2]=k[c>>2];k[m+4>>2]=j;n=k[n>>2]|0;r=o;return n|0}while(0);if(!(l[(k[h>>2]|0)+32>>0]|0)){m=(k[h>>2]|0)+24|0;d=(k[j>>2]|0)+32|0;d=(k[m>>2]|0)==(k[d>>2]|0)?(k[m+4>>2]|0)==(k[d+4>>2]|0):0}else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}}return 0}function En(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+24>>2];while(1){if(!(k[b>>2]|0))break;sl(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function Fn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q+44|0;d=q+40|0;p=q+36|0;n=q+32|0;f=q+28|0;i=q+24|0;h=q+20|0;m=q+16|0;g=q+12|0;e=q+8|0;j=q+4|0;o=q;k[c>>2]=a;k[d>>2]=b;k[p>>2]=1;if(k[k[d>>2]>>2]|0){p=k[p>>2]|0;r=q;return p|0}if((k[k[c>>2]>>2]|0)!=1){p=k[p>>2]|0;r=q;return p|0}if(l[(k[c>>2]|0)+32>>0]|0){p=k[p>>2]|0;r=q;return p|0}if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[k[(k[c>>2]|0)+8>>2]>>2]|0)==1:0){p=k[p>>2]|0;r=q;return p|0}k[f>>2]=0;k[n>>2]=k[c>>2];while(1){a=k[n>>2]|0;if(!(k[(k[n>>2]|0)+12>>2]|0))break;k[f>>2]=(k[f>>2]|0)+(k[(k[(k[a+16>>2]|0)+20>>2]|0)+32>>2]|0);k[n>>2]=k[(k[n>>2]|0)+12>>2]}k[f>>2]=(k[f>>2]|0)+(k[(k[a+20>>2]|0)+32>>2]|0);if(!(k[f>>2]|0)){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}f=Sd(k[f>>2]<<1)|0;k[i>>2]=f;a:do if(k[i>>2]|0){k[h>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];while(1){if(!((k[p>>2]|0)!=0&(k[n>>2]|0)!=0))break;if((k[k[n>>2]>>2]|0)!=1)break;k[g>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+20>>2];k[e>>2]=k[(k[n>>2]|0)+4>>2];f=In(k[e>>2]|0,k[i>>2]|0,h,m,k[g>>2]|0)|0;k[p>>2]=f;k[n>>2]=k[(k[n>>2]|0)+8>>2]}k[h>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[c>>2]|0)+12>>2];while(1){if(!((k[n>>2]|0)!=0?(k[p>>2]|0)!=0:0))break a;k[j>>2]=k[(k[(k[n>>2]|0)+8>>2]|0)+4>>2];a=k[n>>2]|0;if((k[k[n>>2]>>2]|0)==1)a=k[(k[a+16>>2]|0)+20>>2]|0;else a=k[a+20>>2]|0;k[o>>2]=a;g=In(k[j>>2]|0,k[i>>2]|0,h,m,k[o>>2]|0)|0;k[p>>2]=g;k[n>>2]=k[(k[n>>2]|0)+12>>2]}}else{k[k[d>>2]>>2]=7;k[p>>2]=0}while(0);Ud(k[i>>2]|0);p=k[p>>2]|0;r=q;return p|0}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;l=y+76|0;m=y+72|0;n=y+68|0;d=y+64|0;p=y+60|0;u=y+56|0;q=y+52|0;j=y+48|0;h=y+44|0;i=y+40|0;e=y+36|0;x=y+32|0;c=y+28|0;f=y+24|0;g=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;o=y;k[m>>2]=a;k[n>>2]=b;k[p>>2]=0;k[u>>2]=0;k[q>>2]=-1;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+64>>2]|0)){a=14;break}k[j>>2]=(k[n>>2]|0)+72+((k[d>>2]|0)*24|0);k[h>>2]=k[(k[j>>2]|0)+16>>2];if(k[h>>2]|0){b=Hn(k[h>>2]|0,i,e)|0;k[x>>2]=b;if(k[x>>2]|0){a=5;break}b=k[p>>2]|0;if(!(k[i>>2]|0)){a=7;break}a=k[i>>2]|0;if(b){k[c>>2]=a;k[f>>2]=k[p>>2];k[g>>2]=k[c>>2];hn(c,(k[d>>2]|0)-(k[q>>2]|0)|0,0,1,f,g)|0;Ud(k[p>>2]|0);k[p>>2]=k[i>>2];k[u>>2]=(k[c>>2]|0)-(k[p>>2]|0);if(!(k[u>>2]|0)){a=11;break}}else{k[p>>2]=a;k[u>>2]=k[e>>2]}k[q>>2]=k[d>>2]}k[d>>2]=(k[d>>2]|0)+1}if((a|0)==5){k[l>>2]=k[x>>2];x=k[l>>2]|0;r=y;return x|0}else if((a|0)==7){Ud(b);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==11){Ud(k[p>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==14){do if((k[q>>2]|0)>=0){k[t>>2]=k[(k[n>>2]|0)+44>>2];if((k[t>>2]|0)<0){k[(k[n>>2]|0)+28>>2]=k[p>>2];k[(k[n>>2]|0)+32>>2]=k[u>>2];v=(k[m>>2]|0)+32|0;w=k[v+4>>2]|0;x=(k[n>>2]|0)+16|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;k[(k[n>>2]|0)+24>>2]=1;break}if((k[t>>2]|0)>(k[q>>2]|0)){k[v>>2]=k[p>>2];k[w>>2]=k[(k[n>>2]|0)+28>>2];k[s>>2]=(k[t>>2]|0)-(k[q>>2]|0)}else{k[v>>2]=k[(k[n>>2]|0)+28>>2];k[w>>2]=k[p>>2];k[s>>2]=(k[q>>2]|0)-(k[t>>2]|0)}x=Sd((k[u>>2]|0)+8|0)|0;k[o>>2]=x;if(!(k[o>>2]|0)){Ud(k[p>>2]|0);k[l>>2]=7;x=k[l>>2]|0;r=y;return x|0}k[(k[n>>2]|0)+28>>2]=k[o>>2];if(hn(o,k[s>>2]|0,0,1,v,w)|0){k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+32>>2]=(k[o>>2]|0)-(k[(k[n>>2]|0)+28>>2]|0)}else{Ud(k[o>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0}Ud(k[p>>2]|0)}while(0);k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}return 0}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;f=j+20|0;g=j+16|0;i=j+12|0;h=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;if(!(k[(k[e>>2]|0)+12>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}b=Sd(k[k[(k[e>>2]|0)+12>>2]>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){b=gm(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0,j)|0;k[h>>2]=b;k[k[g>>2]>>2]=(k[k[(k[e>>2]|0)+12>>2]>>2]|0)-(k[h>>2]|0);k[k[f>>2]>>2]=k[i>>2];IR(k[i>>2]|0,(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)+(k[h>>2]|0)|0,k[k[g>>2]>>2]|0)|0;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=j;return b|0}return 0}function In(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;m=r;r=r+48|0;s=m+40|0;q=m+36|0;f=m+32|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[s>>2]=a;k[q>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[p>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+64>>2]|0);k[o>>2]=(k[s>>2]|0)+(k[k[g>>2]>>2]|0);d=k[(k[h>>2]|0)+28>>2]|0;k[j>>2]=d;k[n>>2]=d;d=Jn(j,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[f>>2]|0,n)|0;k[l>>2]=d;if(!(k[l>>2]|0)){s=k[l>>2]|0;r=m;return s|0}k[i>>2]=(k[j>>2]|0)-(k[(k[h>>2]|0)+28>>2]|0)-1;KR((k[(k[h>>2]|0)+28>>2]|0)+(k[i>>2]|0)|0,0,(k[(k[h>>2]|0)+32>>2]|0)-(k[i>>2]|0)|0)|0;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[k[f>>2]>>2]=k[(k[h>>2]|0)+28>>2];k[k[g>>2]>>2]=k[(k[h>>2]|0)+64>>2];s=k[l>>2]|0;r=m;return s|0}function Jn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r;r=r+48|0;g=n+44|0;h=n+40|0;u=n+36|0;q=n+32|0;o=n+28|0;p=n+24|0;t=n+20|0;s=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[u>>2]=c;k[q>>2]=d;k[o>>2]=e;k[p>>2]=f;k[t>>2]=k[k[o>>2]>>2];k[s>>2]=k[k[p>>2]>>2];k[j>>2]=k[h>>2];k[m>>2]=1;hn(j,k[u>>2]|0,0,0,k[o>>2]|0,k[p>>2]|0)|0;f=k[j>>2]|0;k[l>>2]=f;k[i>>2]=f;k[k[o>>2]>>2]=k[t>>2];k[k[p>>2]>>2]=k[s>>2];hn(l,k[q>>2]|0,1,0,k[p>>2]|0,k[o>>2]|0)|0;if((k[j>>2]|0)!=(k[h>>2]|0)?(k[l>>2]|0)!=(k[i>>2]|0):0){yn(k[g>>2]|0,h,i);u=k[m>>2]|0;r=n;return u|0}if((k[j>>2]|0)!=(k[h>>2]|0)){lm(k[g>>2]|0,h);u=k[m>>2]|0;r=n;return u|0}if((k[l>>2]|0)!=(k[i>>2]|0)){lm(k[g>>2]|0,i);u=k[m>>2]|0;r=n;return u|0}else{k[m>>2]=0;u=k[m>>2]|0;r=n;return u|0}return 0}function Kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+32|0;f=m+28|0;g=m+24|0;o=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;i=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[n>>2]=d;k[h>>2]=e;k[j>>2]=k[k[f>>2]>>2];k[i>>2]=0;c=ec[k[(k[j>>2]|0)+12>>2]&255](k[f>>2]|0,k[o>>2]|0,k[n>>2]|0,i)|0;k[l>>2]=c;if(((k[l>>2]|0)==0?(k[k[i>>2]>>2]=k[f>>2],(k[k[j>>2]>>2]|0)>=1):0)?(o=gc[k[(k[j>>2]|0)+24>>2]&255](k[i>>2]|0,k[g>>2]|0)|0,k[l>>2]=o,(k[l>>2]|0)!=0):0){bc[k[(k[j>>2]|0)+16>>2]&255](k[i>>2]|0)|0;k[i>>2]=0}k[k[h>>2]>>2]=k[i>>2];r=m;return k[l>>2]|0}function Ln(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;l=u+48|0;m=u+44|0;n=u+24|0;o=u+16|0;i=u+8|0;j=u+40|0;q=u+36|0;s=u+32|0;p=u;k[m>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;a=o;k[a>>2]=d;k[a+4>>2]=e;a=i;k[a>>2]=f;k[a+4>>2]=g;k[j>>2]=h;k[q>>2]=k[k[m>>2]>>2];k[s>>2]=0;if((k[q>>2]|0)!=0?(h=(k[q>>2]|0)+16|0,a=n,!((k[h>>2]|0)!=(k[a>>2]|0)?1:(k[h+4>>2]|0)!=(k[a+4>>2]|0))):0)t=9;else{b=n;if(k[q>>2]|0){d=(k[q>>2]|0)+16|0;c=k[d>>2]|0;d=k[d+4>>2]|0}else{c=0;d=0}h=FR(k[b>>2]|0,k[b+4>>2]|0,c|0,d|0)|0;a=p;k[a>>2]=h;k[a+4>>2]=L;if(k[q>>2]|0){a=k[q>>2]|0;k[a>>2]=(k[a>>2]|0)+1}p=Mn(q,k[p>>2]|0,k[p+4>>2]|0)|0;k[s>>2]=p;if(!p){p=(k[q>>2]|0)+24|0;k[p>>2]=-1;k[p+4>>2]=-1;p=(k[q>>2]|0)+32|0;k[p>>2]=0;k[p+4>>2]=0;p=k[n+4>>2]|0;t=(k[q>>2]|0)+16|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=9}}do if((t|0)==9){t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>0?(p=(k[q>>2]|0)+24|0,t=o,(k[p>>2]|0)!=(k[t>>2]|0)?1:(k[p+4>>2]|0)!=(k[t+4>>2]|0)):0){t=Mn(q,1,0)|0;k[s>>2]=t;if(t)break;t=o;t=Mn(q,k[t>>2]|0,k[t+4>>2]|0)|0;k[s>>2]=t;if(t)break;n=o;p=k[n+4>>2]|0;t=(k[q>>2]|0)+24|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=(k[q>>2]|0)+32|0;k[t>>2]=0;k[t+4>>2]=0}t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>=0?(p=i,p=GR(2,0,k[p>>2]|0,k[p+4>>2]|0)|0,t=(k[q>>2]|0)+32|0,t=FR(p|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0,t=Mn(q,t,L)|0,k[s>>2]=t,(k[s>>2]|0)==0):0){o=i;p=k[o+4>>2]|0;t=(k[q>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=p}}while(0);k[k[j>>2]>>2]=k[s>>2];if((k[q>>2]|0)!=(k[k[m>>2]>>2]|0)){k[k[m>>2]>>2]=k[q>>2];k[l>>2]=1;t=k[l>>2]|0;r=u;return t|0}else{k[l>>2]=0;t=k[l>>2]|0;r=u;return t|0}return 0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j;h=j+12|0;g=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=k[k[e>>2]>>2];do if(k[h>>2]|0){if(((k[k[h>>2]>>2]|0)+10+1|0)>(k[(k[h>>2]|0)+8>>2]|0)){k[g>>2]=k[(k[h>>2]|0)+8>>2]<<1;a=Vd(k[h>>2]|0,40+(k[g>>2]|0)|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=k[g>>2];k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;break}Ud(k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0;k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}}else{a=Sd(140)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=100;k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;k[k[h>>2]>>2]=0;break}k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}while(0);g=f;g=Sl((k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)|0,k[g>>2]|0,k[g+4>>2]|0)|0;a=k[h>>2]|0;k[a>>2]=(k[a>>2]|0)+g;i[(k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)>>0]=0;k[k[e>>2]>>2]=k[h>>2];k[d>>2]=0;a=k[d>>2]|0;r=j;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;i=j+4|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;do if(!(k[(k[d>>2]|0)+8>>2]|0)){k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+216>>2];h=Yd(23857,h)|0;k[i>>2]=h;if(k[i>>2]|0){h=lf(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,-1,(k[d>>2]|0)+8|0,0)|0;k[g>>2]=h;Ud(k[i>>2]|0);break}k[c>>2]=7;i=k[c>>2]|0;r=j;return i|0}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+8>>2];k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function On(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if((k[i>>2]|0)==5){c=Yb[k[g>>2]&255](k[e>>2]|0,k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[f>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[j>>2]|0;r=l;return c|0}c=On(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;if(!((k[j>>2]|0)==0&(k[i>>2]|0)!=2)){c=k[j>>2]|0;r=l;return c|0}c=On(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[j>>2]|0;r=l;return c|0}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];k[i>>2]=0;if((l[(k[e>>2]|0)+34>>0]|0|0)!=0?(k[k[(k[e>>2]|0)+8>>2]>>2]|0)!=1:0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}b=Qn(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){i=k[i>>2]|0;r=j;return i|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;d=s+44|0;e=s+40|0;c=s+36|0;p=s+32|0;o=s+28|0;n=s+24|0;j=s+20|0;h=s+8|0;g=s;f=s+48|0;m=s+16|0;k[e>>2]=a;k[c>>2]=b;k[p>>2]=0;do if(!(k[(k[c>>2]|0)+40>>2]|0)){k[o>>2]=k[k[e>>2]>>2];t=(k[e>>2]|0)+32|0;a=k[t+4>>2]|0;b=h;k[b>>2]=k[t>>2];k[b+4>>2]=a;k[n>>2]=k[c>>2];while(1){if(k[(k[n>>2]|0)+8>>2]|0)c=(k[k[(k[n>>2]|0)+8>>2]>>2]|0)==1;else c=0;a=k[n>>2]|0;if(!c)break;k[n>>2]=k[a+8>>2]}a=a+24|0;b=k[a+4>>2]|0;t=g;k[t>>2]=k[a>>2];k[t+4>>2]=b;i[f>>0]=i[(k[n>>2]|0)+32>>0]|0;k[j>>2]=k[n>>2];while(1){if(!(k[j>>2]|0))break;c=k[j>>2]|0;if((k[k[j>>2]>>2]|0)!=5)c=k[c+16>>2]|0;k[m>>2]=c;t=Sd((k[(k[o>>2]|0)+24>>2]|0)*3<<2)|0;k[(k[m>>2]|0)+40>>2]=t;if(!(k[(k[m>>2]|0)+40>>2]|0)){q=12;break}KR(k[(k[m>>2]|0)+40>>2]|0,0,(k[(k[o>>2]|0)+24>>2]|0)*3<<2|0)|0;k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((q|0)==12){k[d>>2]=7;t=k[d>>2]|0;r=s;return t|0}_m(k[e>>2]|0,k[n>>2]|0,p);while(1){if(!((l[(k[e>>2]|0)+6>>0]|0)==0?(k[p>>2]|0)==0:0))break;do{if(!(l[(k[e>>2]|0)+7>>0]|0))he(k[(k[e>>2]|0)+8>>2]|0)|0;$m(k[e>>2]|0,k[n>>2]|0,p);i[(k[e>>2]|0)+6>>0]=i[(k[n>>2]|0)+32>>0]|0;i[(k[e>>2]|0)+7>>0]=1;k[(k[e>>2]|0)+88>>2]=1;o=(k[n>>2]|0)+24|0;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(l[(k[e>>2]|0)+6>>0]|0)break;if((k[k[n>>2]>>2]|0)!=1)break}while((Wm(k[e>>2]|0,p)|0)!=0);if(k[p>>2]|0)continue;if(l[(k[e>>2]|0)+6>>0]|0)continue;Rn(k[n>>2]|0)}i[(k[e>>2]|0)+6>>0]=0;o=h;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(i[f>>0]|0){i[(k[n>>2]|0)+32>>0]=i[f>>0]|0;break}_m(k[e>>2]|0,k[n>>2]|0,p);do{$m(k[e>>2]|0,k[n>>2]|0,p);q=(k[n>>2]|0)+24|0;t=g}while(((k[q>>2]|0)!=(k[t>>2]|0)?1:(k[q+4>>2]|0)!=(k[t+4>>2]|0))?(k[p>>2]|0)==0:0)}while(0);k[d>>2]=k[p>>2];t=k[d>>2]|0;r=s;return t|0}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;b=h+12|0;f=h+8|0;g=h+4|0;d=h+20|0;e=h;k[c>>2]=a;if(!(k[c>>2]|0)){r=h;return}k[b>>2]=k[(k[c>>2]|0)+20>>2];a:do if((k[b>>2]|0)!=0?(k[(k[b>>2]|0)+28>>2]|0)!=0:0){k[f>>2]=0;k[g>>2]=k[(k[b>>2]|0)+28>>2];while(1){i[d>>0]=0;k[e>>2]=0;while(1){if(!(254&(i[k[g>>2]>>0]|l[d>>0])))break;if(!(l[d>>0]&128))k[e>>2]=(k[e>>2]|0)+1;b=k[g>>2]|0;k[g>>2]=b+1;i[d>>0]=i[b>>0]&128}b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+1<<2)|0;k[b>>2]=(k[b>>2]|0)+(k[e>>2]|0);b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+2<<2)|0;k[b>>2]=(k[b>>2]|0)+((k[e>>2]|0)>0&1);if(!(i[k[g>>2]>>0]|0))break a;k[g>>2]=(k[g>>2]|0)+1;a=k[g>>2]|0;if(l[k[g>>2]>>0]&128)a=hm(a,f)|0;else{k[f>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}}while(0);Rn(k[(k[c>>2]|0)+12>>2]|0);Rn(k[(k[c>>2]|0)+16>>2]|0);r=h;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;c=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;g=n+8|0;d=n+4|0;f=n;k[o>>2]=a;k[c>>2]=b;k[j>>2]=k[k[k[c>>2]>>2]>>2];k[h>>2]=k[(k[o>>2]|0)+20>>2];k[g>>2]=k[(k[h>>2]|0)+28>>2];k[d>>2]=0;b=k[(k[o>>2]|0)+36>>2]|0;a=k[(k[c>>2]|0)+4>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){o=ha(b,a)|0;k[e>>2]=o}else{o=ha(b,(a+31|0)/32|0)|0;k[e>>2]=o}while(1){o=Zm(g)|0;k[f>>2]=o;if(!((k[(k[h>>2]|0)+68>>2]|0)<(k[(k[j>>2]|0)+24>>2]|0)?(k[(k[h>>2]|0)+68>>2]|0)!=(k[d>>2]|0):0))m=6;do if((m|0)==6){m=0;b=k[f>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){k[(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(k[d>>2]|0)<<2)>>2]=b;break}if(b){o=(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(((k[d>>2]|0)+1|0)/32|0)<<2)|0;k[o>>2]=k[o>>2]|1<<(k[d>>2]&31)}}while(0);if((i[k[g>>2]>>0]|0)!=1)break;k[g>>2]=(k[g>>2]|0)+1;b=k[g>>2]|0;if(l[k[g>>2]>>0]&128)b=hm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}k[g>>2]=(k[g>>2]|0)+b}r=n;return}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;h=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[h>>2]=c;k[f>>2]=k[h>>2];k[(k[f>>2]|0)+(k[e>>2]<<4)>>2]=k[g>>2];r=d;return 0}function Un(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;d=f+12|0;c=f;e=f+8|0;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[e>>2]=0;g=gm(k[d>>2]|0,c)|0;k[d>>2]=(k[d>>2]|0)+g;g=c;a=c;if((k[g>>2]|0)==0&(k[g+4>>2]|0)==0|(k[a>>2]|0)==1&(k[a+4>>2]|0)==0){k[d>>2]=0;k[e>>2]=1;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}else{a=c;a=FR(k[a>>2]|0,k[a+4>>2]|0,2,0)|0;g=(k[b>>2]|0)+12|0;k[g>>2]=(k[g>>2]|0)+a;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}return 0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;i=e+20|0;h=e+12|0;d=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[e+16>>2]=b;k[h>>2]=c;k[d>>2]=0;k[f>>2]=k[(k[i>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=(k[g>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)+1;a=(k[g>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+64>>2]|0);r=e;return k[d>>2]|0}function Wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=xl(k[j>>2]|0,21,g,0)|0;k[h>>2]=d;do if(!(k[h>>2]|0)){j=e;We(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;j=Ee(k[g>>2]|0)|0;k[h>>2]=j;if((k[h>>2]|0)==100?(Re(k[g>>2]|0,0)|0)==4:0){k[h>>2]=0;break}j=he(k[g>>2]|0)|0;k[h>>2]=j;k[h>>2]=(k[h>>2]|0)==0?267:j;k[g>>2]=0}while(0);k[k[f>>2]>>2]=k[g>>2];r=i;return k[h>>2]|0}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=xl(k[g>>2]|0,22,d,0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){Ve(k[d>>2]|0,1,0)|0;if((Ee(k[d>>2]|0)|0)==100?(Re(k[d>>2]|0,0)|0)==4:0)break;g=he(k[d>>2]|0)|0;k[e>>2]=g;k[e>>2]=(k[e>>2]|0)==0?267:g;k[d>>2]=0}while(0);k[k[c>>2]>>2]=k[d>>2];r=f;return k[e>>2]|0}function Yn(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[d>>2]|0)+(0-(k[(k[d>>2]|0)+-4>>2]|0));a=k[b>>2]|0;if((k[d>>2]|0)==((k[b>>2]|0)+16+4|0))i[a+1>>0]=0;else i[a+2>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;g=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;k[a>>2]=(k[a>>2]|0)+1;k[(k[e>>2]|0)+36>>2]=k[f>>2];r=d;return 0}function _n(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=kf(k[(k[b>>2]|0)+12>>2]|0,23985,0,0,0)|0;k[c>>2]=a;do if(!(k[c>>2]|0)){a=$n(k[b>>2]|0,1)|0;k[c>>2]=a;a=k[(k[b>>2]|0)+12>>2]|0;if(!((k[c>>2]|0)==0|(k[c>>2]|0)==101)){kf(a,24013,0,0,0)|0;kf(k[(k[b>>2]|0)+12>>2]|0,24e3,0,0,0)|0;break}a=kf(a,24e3,0,0,0)|0;k[d>>2]=a;if(k[d>>2]|0)k[c>>2]=k[d>>2]}while(0);Gm(k[b>>2]|0);r=e;return k[c>>2]|0}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;h=l+12|0;j=l+8|0;f=l+4|0;g=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[h>>2]=0;a=xl(k[c>>2]|0,27,h,0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){Ve(k[h>>2]|0,1,k[(k[c>>2]|0)+272>>2]|0)|0;Ve(k[h>>2]|0,2,k[(k[c>>2]|0)+248>>2]|0)|0;a:while(1){a=(Ee(k[h>>2]|0)|0)==100;b=k[h>>2]|0;if(!a)break;a=Ne(b,0)|0;k[g>>2]=a;k[f>>2]=0;while(1){if(k[i>>2]|0)continue a;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+248>>2]|0))continue a;a=wl(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0,-2)|0;k[i>>2]=a;if((k[i>>2]|0)==101){k[e>>2]=1;k[i>>2]=0}k[f>>2]=(k[f>>2]|0)+1}}h=he(b)|0;k[j>>2]=h;if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}Gm(k[c>>2]|0);rl(k[c>>2]|0);r=l;return ((k[i>>2]|0)==0&(k[d>>2]|0)!=0&(k[e>>2]|0)!=0?101:k[i>>2]|0)|0}function ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+208|0;y=C+32|0;c=C+132|0;d=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;q=C+112|0;j=C+108|0;B=C+96|0;x=C;s=C+92|0;f=C+88|0;e=C+84|0;o=C+80|0;m=C+76|0;l=C+72|0;z=C+68|0;p=C+64|0;h=C+60|0;n=C+56|0;w=C+52|0;u=C+48|0;g=C+136|0;k[c>>2]=a;k[d>>2]=b;k[v>>2]=k[k[d>>2]>>2];k[t>>2]=k[k[(k[v>>2]|0)+36>>2]>>2];k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(k[(k[d>>2]|0)+12>>2]|0)){xe(k[c>>2]|0,19018,0,0);r=C;return};k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[x+20>>2]=0;k[x+24>>2]=0;k[x+28>>2]=0;a=Rm(k[d>>2]|0,0,q)|0;k[A>>2]=a;a:do if(!(k[A>>2]|0)){a=Sd((k[q>>2]|0)*12|0)|0;k[x+24>>2]=a;if(!(k[x+24>>2]|0)){k[A>>2]=7;break}D=(k[d>>2]|0)+32|0;b=k[D+4>>2]|0;a=x+16|0;k[a>>2]=k[D>>2];k[a+4>>2]=b;k[x>>2]=k[d>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[v>>2]|0)+24>>2]|0))break a;k[e>>2]=0;k[o>>2]=0;k[m>>2]=0;k[l>>2]=0;k[x+4>>2]=k[j>>2];k[x+8>>2]=0;Vm(k[(k[d>>2]|0)+12>>2]|0,158,x)|0;D=Pe(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[z>>2]=D;D=Le(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[p>>2]=D;if(!(k[z>>2]|0)){if((Re(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0)!=5)break}else{D=Kn(k[(k[v>>2]|0)+36>>2]|0,k[(k[d>>2]|0)+16>>2]|0,k[z>>2]|0,k[p>>2]|0,s)|0;k[A>>2]=D;if(k[A>>2]|0)break a;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D;while(1){if(k[A>>2]|0)break;k[n>>2]=2147483647;k[w>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[q>>2]|0))break;k[u>>2]=(k[x+24>>2]|0)+((k[h>>2]|0)*12|0);if((k[k[u>>2]>>2]|0)!=0?((k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0)|0)<(k[n>>2]|0):0){k[n>>2]=(k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0);k[w>>2]=k[u>>2]}k[h>>2]=(k[h>>2]|0)+1}if(!(k[w>>2]|0)){k[A>>2]=101;continue}b=k[w>>2]|0;if(!(254&i[k[k[w>>2]>>2]>>0]))k[b>>2]=0;else co(b,(k[w>>2]|0)+4|0);while(1){if(k[A>>2]|0)break;if((k[l>>2]|0)>=(k[n>>2]|0))break;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D}if(!(k[A>>2]|0)){b=((k[w>>2]|0)-(k[x+24>>2]|0)|0)/12|0;a=k[o>>2]|0;D=(k[m>>2]|0)-(k[o>>2]|0)|0;k[y>>2]=k[j>>2];k[y+4>>2]=b;k[y+8>>2]=a;k[y+12>>2]=D;_d(64,g,24030,y)|0;D=eo(B,g,-1)|0;k[A>>2]=D;continue}if((k[A>>2]|0)!=101)continue;if(k[(k[v>>2]|0)+40>>2]|0)continue;k[A>>2]=267}if((k[A>>2]|0)==101)k[A>>2]=0;bc[k[(k[t>>2]|0)+16>>2]&255](k[s>>2]|0)|0;if(k[A>>2]|0)break a}k[j>>2]=(k[j>>2]|0)+1}k[A>>2]=7}while(0);Ud(k[x+24>>2]|0);Gm(k[v>>2]|0);b=k[c>>2]|0;if(k[A>>2]|0){Be(b,k[A>>2]|0);Ud(k[B>>2]|0);r=C;return}else{xe(b,k[B>>2]|0,(k[B+4>>2]|0)-1|0,148);r=C;return}}function bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+48|0;m=l+36|0;n=l+28|0;g=l+24|0;f=l+20|0;e=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;i=l;k[m>>2]=a;k[l+32>>2]=b;k[n>>2]=c;k[g>>2]=k[n>>2];k[d>>2]=0;a=Ym(k[k[g>>2]>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+4>>2]|0,h)|0;k[j>>2]=a;k[f>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+64>>2];if(k[h>>2]|0)co(h,d);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;m=(k[g>>2]|0)+8|0;n=k[m>>2]|0;k[m>>2]=n+1;k[i>>2]=(k[(k[g>>2]|0)+24>>2]|0)+(n*12|0);k[(k[i>>2]|0)+8>>2]=(k[f>>2]|0)-(k[e>>2]|0)-1;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}r=l;return k[j>>2]|0}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;b=k[k[c>>2]>>2]|0;if((l[k[k[c>>2]>>2]>>0]|0)&128)b=hm(b,e)|0;else{k[e>>2]=l[b>>0];b=1}c=k[c>>2]|0;k[c>>2]=(k[c>>2]|0)+b;d=k[d>>2]|0;k[d>>2]=(k[d>>2]|0)+((k[e>>2]|0)-2);r=f;return}function eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[g>>2]|0)<0){b=$Q(k[f>>2]|0)|0;k[g>>2]=b}do if(((k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]|0)+1|0)>=(k[(k[e>>2]|0)+8>>2]|0)){k[h>>2]=(k[(k[e>>2]|0)+8>>2]|0)+(k[g>>2]|0)+100;b=Vd(k[k[e>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[k[e>>2]>>2]=k[j>>2];k[(k[e>>2]|0)+8>>2]=k[h>>2];break}k[d>>2]=7;j=k[d>>2]|0;r=l;return j|0}while(0);IR((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,k[f>>2]|0,k[g>>2]|0)|0;j=(k[e>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+(k[g>>2]|0);i[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function fo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+224|0;h=G+212|0;i=G+208|0;j=G+204|0;l=G+200|0;m=G+196|0;n=G+192|0;o=G+188|0;B=G+184|0;E=G+180|0;q=G+176|0;F=G+164|0;z=G+160|0;p=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[B>>2]=k[k[i>>2]>>2];k[E>>2]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[z>>2]=0;k[y>>2]=-1;if(!(k[(k[i>>2]|0)+12>>2]|0)){xe(k[h>>2]|0,19018,0,0);r=G;return}k[z>>2]=1;a:while(1){f=w;k[f>>2]=0;k[f+4>>2]=0;f=x;k[f>>2]=0;k[f+4>>2]=0;f=k[o>>2]|0;if((k[o>>2]|0)>=0)k[y>>2]=(f+(k[z>>2]|0)-1|0)/(k[z>>2]|0)|0;else{c=ha(-1,f)|0;k[y>>2]=c}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[z>>2]|0))break;k[s>>2]=-1;k[A>>2]=p+((k[v>>2]|0)*24|0);c=k[A>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[B>>2]|0)+24>>2]|0))break;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;k[C+16>>2]=0;k[C+20>>2]=0;k[u>>2]=0;if(!((k[n>>2]|0)>=0?(k[t>>2]|0)!=(k[n>>2]|0):0)){c=w;c=go(k[y>>2]|0,k[i>>2]|0,k[t>>2]|0,k[c>>2]|0,k[c+4>>2]|0,x,C,u)|0;k[E>>2]=c;if(k[E>>2]|0)break a;if((k[u>>2]|0)>(k[s>>2]|0)){c=k[A>>2]|0;k[c>>2]=k[C>>2];k[c+4>>2]=k[C+4>>2];k[c+8>>2]=k[C+8>>2];k[c+12>>2]=k[C+12>>2];k[c+16>>2]=k[C+16>>2];k[c+20>>2]=k[C+20>>2];k[s>>2]=k[u>>2]}}k[t>>2]=(k[t>>2]|0)+1}e=(k[A>>2]|0)+8|0;a=w;d=k[a+4>>2]|k[e+4>>2];c=w;k[c>>2]=k[a>>2]|k[e>>2];k[c+4>>2]=d;k[v>>2]=(k[v>>2]|0)+1}d=x;c=w;if(((k[d>>2]|0)==(k[c>>2]|0)?(k[d+4>>2]|0)==(k[c+4>>2]|0):0)|(k[z>>2]|0)==4){D=20;break}k[z>>2]=(k[z>>2]|0)+1}b:do if((D|0)==20){k[q>>2]=0;while(1){if(!((k[q>>2]|0)<(k[z>>2]|0)?(k[E>>2]|0)==0:0))break b;D=ho(k[i>>2]|0,p+((k[q>>2]|0)*24|0)|0,k[q>>2]|0,(k[q>>2]|0)==((k[z>>2]|0)-1|0)&1,k[y>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,F)|0;k[E>>2]=D;k[q>>2]=(k[q>>2]|0)+1}}while(0);Gm(k[B>>2]|0);f=k[h>>2]|0;if(k[E>>2]|0){Be(f,k[E>>2]|0);Ud(k[F>>2]|0);r=G;return}else{xe(f,k[F>>2]|0,-1,148);r=G;return}}function go(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+112|0;i=C+104|0;j=C+100|0;l=C+96|0;m=C+92|0;n=C+16|0;o=C+88|0;p=C+84|0;q=C+80|0;A=C+76|0;z=C+72|0;B=C+48|0;y=C+40|0;t=C+36|0;s=C+32|0;u=C+28|0;v=C+24|0;w=C+8|0;x=C;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[t>>2]=-1;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;f=Rm(k[l>>2]|0,z,0)|0;k[A>>2]=f;if(k[A>>2]|0){k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}k[y>>2]=(k[z>>2]|0)*24;f=Sd(k[y>>2]|0)|0;k[B+16>>2]=f;if(!(k[B+16>>2]|0)){k[i>>2]=7;B=k[i>>2]|0;r=C;return B|0}KR(k[B+16>>2]|0,0,k[y>>2]|0)|0;k[B>>2]=k[l>>2];k[B+4>>2]=k[m>>2];k[B+8>>2]=k[j>>2];k[B+12>>2]=k[z>>2];k[B+20>>2]=-1;f=Vm(k[(k[l>>2]|0)+12>>2]|0,159,B)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[z>>2]|0))break;if(k[(k[B+16>>2]|0)+((k[s>>2]|0)*24|0)+12>>2]|0){g=LR(1,0,k[s>>2]|0)|0;f=k[o>>2]|0;b=f;h=k[b+4>>2]|L;k[f>>2]=k[b>>2]|g;k[f+4>>2]=h}k[s>>2]=(k[s>>2]|0)+1}k[k[p>>2]>>2]=k[m>>2];while(1){if(!((ko(B)|0)!=0^1))break;f=n;lo(B,k[f>>2]|0,k[f+4>>2]|0,u,v,w,x);if((k[v>>2]|0)<=(k[t>>2]|0))continue;k[(k[p>>2]|0)+4>>2]=k[u>>2];f=x;h=k[f+4>>2]|0;g=(k[p>>2]|0)+16|0;k[g>>2]=k[f>>2];k[g+4>>2]=h;g=w;h=k[g+4>>2]|0;f=(k[p>>2]|0)+8|0;k[f>>2]=k[g>>2];k[f+4>>2]=h;k[t>>2]=k[v>>2]}k[k[q>>2]>>2]=k[t>>2]}Ud(k[B+16>>2]|0);k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}function ho(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;N=r;r=r+128|0;j=N+112|0;l=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;s=N+80|0;t=N+76|0;I=N+72|0;J=N+68|0;K=N+64|0;F=N+60|0;y=N+56|0;z=N+52|0;D=N+48|0;B=N+44|0;w=N;O=N+40|0;H=N+36|0;G=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;C=N+12|0;E=N+8|0;k[l>>2]=a;k[P>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[I>>2]=k[k[l>>2]>>2];k[y>>2]=0;k[z>>2]=0;k[D>>2]=0;k[B>>2]=k[(k[P>>2]|0)+4>>2];f=(k[P>>2]|0)+16|0;d=k[f+4>>2]|0;c=w;k[c>>2]=k[f>>2];k[c+4>>2]=d;k[O>>2]=(k[k[P>>2]>>2]|0)+1;c=Pe(k[(k[l>>2]|0)+8>>2]|0,k[O>>2]|0)|0;k[K>>2]=c;c=k[(k[l>>2]|0)+8>>2]|0;d=k[O>>2]|0;if(!(k[K>>2]|0))if((Re(c,d)|0)!=5){k[j>>2]=7;P=k[j>>2]|0;r=N;return P|0}else{k[j>>2]=0;P=k[j>>2]|0;r=N;return P|0}P=Le(c,d)|0;k[F>>2]=P;k[H>>2]=k[k[(k[I>>2]|0)+36>>2]>>2];P=Kn(k[(k[I>>2]|0)+36>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[K>>2]|0,k[F>>2]|0,G)|0;k[J>>2]=P;if(k[J>>2]|0){k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}while(1){if(k[J>>2]|0)break;k[u>>2]=-1;k[x>>2]=0;k[A>>2]=0;k[C>>2]=0;P=ac[k[(k[H>>2]|0)+20>>2]&255](k[G>>2]|0,v,u,x,A,y)|0;k[J>>2]=P;if(k[J>>2]|0){M=9;break}if((k[y>>2]|0)<(k[B>>2]|0))continue;if(!(k[D>>2]|0)){k[E>>2]=(k[F>>2]|0)-(k[x>>2]|0);P=io(k[I>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[o>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,k[E>>2]|0,B,w)|0;k[J>>2]=P;k[D>>2]=1;do if(!(k[J>>2]|0)){if((k[B>>2]|0)>0|(k[m>>2]|0)>0){P=eo(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P;break}if(k[x>>2]|0){P=eo(k[t>>2]|0,k[K>>2]|0,k[x>>2]|0)|0;k[J>>2]=P}}while(0);if(k[J>>2]|0)continue;if((k[y>>2]|0)<(k[B>>2]|0))continue}if((k[y>>2]|0)>=((k[B>>2]|0)+(k[o>>2]|0)|0)){M=21;break}P=w;f=k[P>>2]|0;P=k[P+4>>2]|0;O=LR(1,0,(k[y>>2]|0)-(k[B>>2]|0)|0)|0;k[C>>2]=((f&O|0)!=0|(P&L|0)!=0)&1;if((k[y>>2]|0)>(k[B>>2]|0)){P=eo(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,(k[x>>2]|0)-(k[z>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=eo(k[t>>2]|0,k[p>>2]|0,-1)|0;k[J>>2]=P}if(!(k[J>>2]|0)){P=eo(k[t>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,(k[A>>2]|0)-(k[x>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=eo(k[t>>2]|0,k[q>>2]|0,-1)|0;k[J>>2]=P}k[z>>2]=k[A>>2]}if((M|0)==9){if((k[J>>2]|0)==101){P=eo(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,-1)|0;k[J>>2]=P}}else if((M|0)==21?(k[n>>2]|0)!=0:0){P=eo(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P}bc[k[(k[H>>2]|0)+16>>2]&255](k[G>>2]|0)|0;k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}function io(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;w=E+84|0;h=E+80|0;i=E+76|0;x=E+72|0;j=E+68|0;l=E+64|0;y=E+60|0;z=E+56|0;A=E;s=E+52|0;t=E+48|0;q=E+44|0;C=E+40|0;B=E+36|0;D=E+32|0;v=E+28|0;u=E+24|0;p=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;k[h>>2]=a;k[i>>2]=b;k[x>>2]=c;k[j>>2]=d;k[l>>2]=e;k[y>>2]=f;k[z>>2]=g;a=k[z>>2]|0;f=k[a+4>>2]|0;d=A;k[d>>2]=k[a>>2];k[d+4>>2]=f;d=A;do if((k[d>>2]|0)!=0|(k[d+4>>2]|0)!=0){k[s>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=LR(1,0,k[s>>2]|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[s>>2]=(k[s>>2]|0)+1}k[t>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=LR(1,0,(k[x>>2]|0)-1-(k[t>>2]|0)|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[t>>2]=(k[t>>2]|0)+1}k[q>>2]=((k[s>>2]|0)-(k[t>>2]|0)|0)/2|0;if((k[q>>2]|0)>0){k[B>>2]=0;k[v>>2]=k[k[(k[h>>2]|0)+36>>2]>>2];d=Kn(k[(k[h>>2]|0)+36>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,u)|0;k[D>>2]=d;if(k[D>>2]|0){k[w>>2]=k[D>>2];D=k[w>>2]|0;r=E;return D|0}while(1){if(k[D>>2]|0)break;if((k[B>>2]|0)>=((k[x>>2]|0)+(k[q>>2]|0)|0))break;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;d=ac[k[(k[v>>2]|0)+20>>2]&255](k[u>>2]|0,p,m,n,o,B)|0;k[D>>2]=d}bc[k[(k[v>>2]|0)+16>>2]&255](k[u>>2]|0)|0;h=k[D>>2]|0;if((k[D>>2]|0)!=0&(k[D>>2]|0)!=101){k[w>>2]=h;D=k[w>>2]|0;r=E;return D|0}else{k[C>>2]=((h|0)==101&1)+(k[B>>2]|0)-(k[x>>2]|0);if((k[C>>2]|0)<=0)break;D=k[y>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[C>>2]|0);D=A;C=HR(k[D>>2]|0,k[D+4>>2]|0,k[C>>2]|0)|0;D=k[z>>2]|0;k[D>>2]=C;k[D+4>>2]=L;break}}}while(0);k[w>>2]=0;D=k[w>>2]|0;r=E;return D|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=r;r=r+32|0;j=h+28|0;l=h+24|0;m=h+20|0;i=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=k[m>>2];k[f>>2]=(k[(k[i>>2]|0)+16>>2]|0)+((k[l>>2]|0)*24|0);k[k[f>>2]>>2]=k[(k[(k[j>>2]|0)+20>>2]|0)+64>>2];a=Ym(k[k[i>>2]>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+4>>2]|0,e)|0;k[g>>2]=a;if(!(k[e>>2]|0)){m=k[g>>2]|0;r=h;return m|0}k[d>>2]=0;k[(k[f>>2]|0)+4>>2]=k[e>>2];co(e,d);k[(k[f>>2]|0)+12>>2]=k[e>>2];k[(k[f>>2]|0)+20>>2]=k[e>>2];k[(k[f>>2]|0)+8>>2]=k[d>>2];k[(k[f>>2]|0)+16>>2]=k[d>>2];m=k[g>>2]|0;r=h;return m|0}function ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;d=j+20|0;g=j+16|0;f=j+12|0;e=j+8|0;h=j+4|0;i=j;k[c>>2]=a;a:do if((k[(k[c>>2]|0)+20>>2]|0)<0){k[(k[c>>2]|0)+20>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[g>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);mo((k[g>>2]|0)+12|0,(k[g>>2]|0)+8|0,k[(k[c>>2]|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}else{k[e>>2]=2147483647;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break;k[h>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<(k[e>>2]|0):0)k[e>>2]=k[(k[h>>2]|0)+8>>2];k[d>>2]=(k[d>>2]|0)+1}if((k[e>>2]|0)==2147483647){k[b>>2]=1;i=k[b>>2]|0;r=j;return i|0}h=(k[e>>2]|0)-(k[(k[c>>2]|0)+8>>2]|0)+1|0;k[f>>2]=h;k[(k[c>>2]|0)+20>>2]=h;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[i>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);mo((k[i>>2]|0)+12|0,(k[i>>2]|0)+8|0,(k[e>>2]|0)+1|0);mo((k[i>>2]|0)+20|0,(k[i>>2]|0)+16|0,k[f>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=0;i=k[b>>2]|0;r=j;return i|0}function lo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;h=B+84|0;j=B+32|0;l=B+80|0;m=B+76|0;n=B+72|0;o=B+68|0;t=B+64|0;s=B+60|0;p=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;q=B+44|0;u=B+40|0;x=B+8|0;y=B;k[h>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[t>>2]=k[(k[h>>2]|0)+20>>2];k[s>>2]=0;g=v;k[g>>2]=0;k[g+4>>2]=0;g=w;k[g>>2]=0;k[g+4>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;k[A>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[p>>2]|0)*24|0);a:do if(k[(k[A>>2]|0)+20>>2]|0){k[z>>2]=k[(k[A>>2]|0)+20>>2];k[q>>2]=k[(k[A>>2]|0)+16>>2];while(1){if((k[q>>2]|0)>=((k[t>>2]|0)+(k[(k[h>>2]|0)+8>>2]|0)|0))break a;d=LR(1,0,k[p>>2]|0)|0;f=x;k[f>>2]=d;k[f+4>>2]=L;f=LR(1,0,(k[q>>2]|0)-(k[t>>2]|0)|0)|0;d=y;k[d>>2]=f;k[d+4>>2]=L;d=v;f=j;g=x;b=k[s>>2]|0;if(((k[d>>2]|k[f>>2])&k[g>>2]|0)!=0?1:((k[d+4>>2]|k[f+4>>2])&k[g+4>>2]|0)!=0)k[s>>2]=b+1;else k[s>>2]=b+1e3;d=x;e=v;f=k[e+4>>2]|k[d+4>>2];g=v;k[g>>2]=k[e>>2]|k[d>>2];k[g+4>>2]=f;k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[A>>2]>>2]|0))break;d=y;d=HR(k[d>>2]|0,k[d+4>>2]|0,k[u>>2]|0)|0;e=w;f=k[e+4>>2]|L;g=w;k[g>>2]=k[e>>2]|d;k[g+4>>2]=f;k[u>>2]=(k[u>>2]|0)+1}if(!(i[k[z>>2]>>0]&254))break a;co(z,q)}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[k[l>>2]>>2]=k[t>>2];k[k[m>>2]>>2]=k[s>>2];A=v;z=k[A+4>>2]|0;y=k[n>>2]|0;k[y>>2]=k[A>>2];k[y+4>>2]=z;y=w;z=k[y+4>>2]|0;A=k[o>>2]|0;k[A>>2]=k[y>>2];k[A+4>>2]=z;r=B;return}function mo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];if(!(k[h>>2]|0)){r=l;return}k[g>>2]=k[k[e>>2]>>2];while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;if(!(i[k[h>>2]>>0]&254)){j=5;break}co(h,g)}if((j|0)==5){k[g>>2]=-1;k[h>>2]=0}k[k[e>>2]>>2]=k[g>>2];k[k[d>>2]>>2]=k[h>>2];r=l;return}function no(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=0;b=xl(k[h>>2]|0,36,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}if(100==(Ee(k[e>>2]|0)|0)){h=Ne(k[e>>2]|0,0)|0;k[d>>2]=h}b=he(k[e>>2]|0)|0;k[f>>2]=b;b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}function oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+128|0;d=C+112|0;e=C+108|0;D=C+104|0;f=C+100|0;A=C+96|0;u=C+92|0;w=C+88|0;x=C+84|0;z=C+80|0;v=C+76|0;m=C+16|0;j=C+64|0;g=C+60|0;t=C+8|0;y=C+52|0;i=C+48|0;o=C+44|0;p=C+40|0;n=C;q=C+36|0;h=C+32|0;B=C+28|0;s=C+24|0;k[e>>2]=a;k[D>>2]=b;k[f>>2]=c;k[u>>2]=k[D>>2];k[v>>2]=0;a=m;k[a>>2]=0;k[a+4>>2]=0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[g>>2]=0;k[C+56>>2]=640;a=Sd(640)|0;k[z>>2]=a;if(!(k[z>>2]|0)){k[d>>2]=7;D=k[d>>2]|0;r=C;return D|0}k[x>>2]=(k[z>>2]|0)+568;k[w>>2]=(k[x>>2]|0)+16;D=po(k[e>>2]|0,j)|0;k[A>>2]=D;while(1){if(!((k[A>>2]|0)==0?(k[u>>2]|0)>0:0))break;a=k[(k[e>>2]|0)+248>>2]<<10;D=t;k[D>>2]=a;k[D+4>>2]=((a|0)<0)<<31>>31;k[y>>2]=0;k[i>>2]=0;k[o>>2]=0;D=xl(k[e>>2]|0,28,y,0)|0;k[A>>2]=D;Ve(k[y>>2]|0,1,2>(k[f>>2]|0)?2:k[f>>2]|0)|0;if((Ee(k[y>>2]|0)|0)==100){a=Oe(k[y>>2]|0,0)|0;D=m;k[D>>2]=a;k[D+4>>2]=L;D=Ne(k[y>>2]|0,1)|0;k[v>>2]=D}else k[v>>2]=-1;D=he(k[y>>2]|0)|0;k[A>>2]=D;do if((k[A>>2]|0)==0?(k[j+4>>2]|0)!=0:0){k[p>>2]=k[j+4>>2];D=n;k[D>>2]=0;k[D+4>>2]=0;k[q>>2]=0;D=qo(j,n,q)|0;k[A>>2]=D;if((k[v>>2]|0)>=0?(b=m,a=t,a=QR(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,c=n,D=t,D=QR(k[c>>2]|0,k[c+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0,c=L,!((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>=D>>>0)):0){k[j+4>>2]=k[p>>2];break}c=n;a=k[c+4>>2]|0;D=m;k[D>>2]=k[c>>2];k[D+4>>2]=a;k[v>>2]=k[q>>2];k[i>>2]=1;k[g>>2]=1}while(0);if((k[v>>2]|0)<0)break;KR(k[z>>2]|0,0,640)|0;k[(k[x>>2]|0)+12>>2]=1;do if(!(k[A>>2]|0)){D=m;D=ro(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,o)|0;k[A>>2]=D;if((k[o>>2]|0)!=0?!((k[i>>2]|0)!=0&(k[o>>2]|0)==1):0)break;k[h>>2]=0;a=k[e>>2]|0;D=m;D=GR(k[D>>2]|0,k[D+4>>2]|0,1,0)|0;D=so(a,D,L,h)|0;k[A>>2]=D;if(k[h>>2]|0){D=(k[x>>2]|0)+12|0;k[D>>2]=k[D>>2]|2}}while(0);if(!(k[A>>2]|0)){D=m;D=to(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if(((0==(k[A>>2]|0)?(k[(k[w>>2]|0)+4>>2]|0)==(k[v>>2]|0):0)?(D=Cl(k[e>>2]|0,k[w>>2]|0,k[x>>2]|0)|0,k[A>>2]=D,0==(D|0)):0)?(D=Dl(k[e>>2]|0,k[w>>2]|0)|0,k[A>>2]=D,100==(D|0)):0){if((k[i>>2]|0)!=0&(k[o>>2]|0)>0){k[B>>2]=k[(k[w>>2]|0)+40>>2];k[s>>2]=k[(k[w>>2]|0)+44>>2];D=m;D=uo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,(k[o>>2]|0)-1|0,k[B>>2]|0,k[s>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}else{D=m;D=vo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[o>>2]|0,k[w>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==0?(k[k[z>>2]>>2]|0)!=0:0){do{D=wo(k[e>>2]|0,k[z>>2]|0,k[w>>2]|0)|0;k[A>>2]=D;if(!(k[A>>2]|0)){D=Dl(k[e>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==100?(k[(k[z>>2]|0)+4>>2]|0)>=(k[u>>2]|0):0)k[A>>2]=0}while((k[A>>2]|0)==100);if((k[A>>2]|0)==0?(k[u>>2]=(k[u>>2]|0)-(1+(k[(k[z>>2]|0)+4>>2]|0)),D=m,D=xo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[w>>2]|0,v)|0,k[A>>2]=D,(k[v>>2]|0)!=0):0){k[g>>2]=1;D=m;yo(j,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,A)}}if(k[v>>2]|0){a=(k[z>>2]|0)+40|0;a=RR(k[a>>2]|0,k[a+4>>2]|0,-1,-1)|0;D=(k[z>>2]|0)+40|0;k[D>>2]=a;k[D+4>>2]=L}zo(k[e>>2]|0,k[z>>2]|0,A);if((k[v>>2]|0)==0?(l[(k[z>>2]|0)+48>>0]|0|0)==0:0){c=k[e>>2]|0;a=m;a=GR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;D=(k[z>>2]|0)+40|0;Hl(c,a,L,k[D>>2]|0,k[D+4>>2]|0)|0}}Jl(k[w>>2]|0)}if((k[g>>2]|0)!=0&(k[A>>2]|0)==0){D=Ao(k[e>>2]|0,j)|0;k[A>>2]=D}Ud(k[z>>2]|0);Ud(k[j>>2]|0);k[d>>2]=k[A>>2];D=k[d>>2]|0;r=C;return D|0}function po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+24|0;c=i+20|0;f=i+16|0;g=i+12|0;h=i+8|0;d=i+4|0;e=i;k[j>>2]=a;k[c>>2]=b;k[f>>2]=0;k[(k[c>>2]|0)+4>>2]=0;b=xl(k[j>>2]|0,22,f,0)|0;k[g>>2]=b;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}Ve(k[f>>2]|0,1,1)|0;if((100==(Ee(k[f>>2]|0)|0)?(j=Ke(k[f>>2]|0,0)|0,k[d>>2]=j,j=Le(k[f>>2]|0,0)|0,k[e>>2]=j,(k[d>>2]|0)!=0):0)?(Bo(k[c>>2]|0,k[e>>2]|0,g),(k[g>>2]|0)==0):0){IR(k[k[c>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[(k[c>>2]|0)+4>>2]=k[e>>2]}j=he(k[f>>2]|0)|0;k[h>>2]=j;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}k[g>>2]=k[h>>2];j=k[g>>2]|0;r=i;return j|0}function qo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;g=m+20|0;e=m+16|0;d=m+12|0;f=m+8|0;j=m+4|0;h=m;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[j>>2]=k[(k[e>>2]|0)+4>>2];k[h>>2]=(k[(k[e>>2]|0)+4>>2]|0)-2;while(1){if((k[h>>2]|0)<=0)break;if(!(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}while(1){if((k[h>>2]|0)>0)b=(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128|0)!=0;else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=a+-1}k[(k[e>>2]|0)+4>>2]=a;a=gm((k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0,k[d>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+a;a=(k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0;if(l[(k[k[e>>2]>>2]|0)+(k[h>>2]|0)>>0]&128)a=hm(a,k[f>>2]|0)|0;else{k[k[f>>2]>>2]=l[a>>0];a=1}k[h>>2]=(k[h>>2]|0)+a;if((k[h>>2]|0)!=(k[j>>2]|0)){k[g>>2]=267;j=k[g>>2]|0;r=m;return j|0}else{k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}return 0}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=xl(k[j>>2]|0,8,g,0)|0;k[h>>2]=d;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}d=k[g>>2]|0;j=e;j=GR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;We(d,1,j,L)|0;Ee(k[g>>2]|0)|0;j=Ne(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=j;j=he(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function so(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;d=xl(k[l>>2]|0,15,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){k[e>>2]=k[i>>2];l=k[e>>2]|0;r=j;return l|0}l=k[h>>2]|0;i=f;i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;We(l,1,i,L)|0;i=k[h>>2]|0;l=f;l=PR(k[l>>2]|0,k[l+4>>2]|0,1024,0)|0;l=GR(l|0,L|0,1,0)|0;l=RR(l|0,L|0,1024,0)|0;We(i,2,l,L)|0;k[k[g>>2]>>2]=0;if(100==(Ee(k[h>>2]|0)|0)){l=(Re(k[h>>2]|0,0)|0)==5&1;k[k[g>>2]>>2]=l}l=he(k[h>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}function to(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+36|0;g=p;h=p+32|0;i=p+28|0;n=p+24|0;m=p+20|0;l=p+16|0;j=p+12|0;o=p+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;b=k[i>>2]|0;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[l>>2]=k[h>>2]<<2;e=Sd(k[l>>2]|0)|0;k[k[i>>2]>>2]=e;if(!(k[k[i>>2]>>2]|0))k[n>>2]=7;else{KR(k[k[i>>2]>>2]|0,0,k[l>>2]|0)|0;l=xl(k[f>>2]|0,12,m,0)|0;k[n>>2]=l}if(k[n>>2]|0){o=k[n>>2]|0;r=p;return o|0}l=g;We(k[m>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;k[j>>2]=0;while(1){if(k[n>>2]|0)break;if((Ee(k[m>>2]|0)|0)!=100)break;if((k[j>>2]|0)>=(k[h>>2]|0))break;q=k[j>>2]|0;b=Oe(k[m>>2]|0,1)|0;c=L;d=Oe(k[m>>2]|0,2)|0;a=L;e=Oe(k[m>>2]|0,3)|0;f=L;g=Ke(k[m>>2]|0,4)|0;l=Le(k[m>>2]|0,4)|0;l=wm(q,0,b,c,d,a,e,f,g,l,(k[k[i>>2]>>2]|0)+(k[j>>2]<<2)|0)|0;k[n>>2]=l;l=(k[i>>2]|0)+4|0;k[l>>2]=(k[l>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}q=he(k[m>>2]|0)|0;k[o>>2]=q;if(k[n>>2]|0){q=k[n>>2]|0;r=p;return q|0}k[n>>2]=k[o>>2];q=k[n>>2]|0;r=p;return q|0}function uo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+208|0;y=J+200|0;z=J+196|0;h=J+120|0;j=J+192|0;l=J+188|0;m=J+184|0;A=J+180|0;G=J+176|0;F=J+172|0;s=J+112|0;q=J+104|0;p=J+96|0;v=J+168|0;x=J+164|0;H=J+160|0;o=J+156|0;n=J+152|0;t=J+148|0;u=J+48|0;C=J+144|0;w=J+140|0;E=J+136|0;I=J;B=J+132|0;D=J+128|0;k[z>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[A>>2]=g;k[F>>2]=0;e=xl(k[z>>2]|0,32,F,0)|0;k[G>>2]=e;if(!(k[G>>2]|0)){b=s;k[b>>2]=0;k[b+4>>2]=0;b=q;k[b>>2]=0;k[b+4>>2]=0;b=p;k[b>>2]=0;k[b+4>>2]=0;k[v>>2]=0;k[x>>2]=0;k[o>>2]=0;b=k[F>>2]|0;e=h;e=GR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;We(b,1,e,L)|0;Ve(k[F>>2]|0,2,k[j>>2]|0)|0;e=(Ee(k[F>>2]|0)|0)==100;b=k[F>>2]|0;if(!e){I=he(b)|0;k[y>>2]=I;I=k[y>>2]|0;r=J;return I|0}e=Oe(b,1)|0;g=s;k[g>>2]=e;k[g+4>>2]=L;g=Oe(k[F>>2]|0,2)|0;e=q;k[e>>2]=g;k[e+4>>2]=L;Ml(k[F>>2]|0,3,p,(k[A>>2]|0)+40|0);if((k[(k[A>>2]|0)+40+4>>2]|0)<0){g=(k[A>>2]|0)+40|0;g=RR(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;e=(k[A>>2]|0)+40|0;k[e>>2]=g;k[e+4>>2]=L}e=(k[A>>2]|0)+40|0;i[(k[A>>2]|0)+48>>0]=(k[e>>2]|0)==0&(k[e+4>>2]|0)==0&1;e=Le(k[F>>2]|0,4)|0;k[x>>2]=e;e=Ke(k[F>>2]|0,4)|0;k[v>>2]=e;e=p;e=No(k[z>>2]|0,k[e>>2]|0,k[e+4>>2]|0,o)|0;k[G>>2]=e;if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[n>>2]=0;k[t>>2]=0;q=om(k[z>>2]|0,k[q>>2]|0,k[q+4>>2]|0,n,t,0)|0;k[G>>2]=q;if(!(k[G>>2]|0)){t=Go(u,k[n>>2]|0,k[t>>2]|0)|0;k[G>>2]=t;while(1){if(!((k[G>>2]|0)==0?(k[u>>2]|0)!=0:0))break;t=Ko(u)|0;k[G>>2]=t}if((Ho(k[l>>2]|0,k[m>>2]|0,k[u+24>>2]|0,k[u+24+4>>2]|0)|0)<=0)k[o>>2]=0;Lo(u)}Ud(k[n>>2]|0)}a:do if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[w>>2]=i[k[v>>2]>>0];u=p;t=s;t=FR(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;t=GR(t|0,L|0,1,0)|0;k[k[A>>2]>>2]=(t|0)/16|0;t=k[s+4>>2]|0;u=(k[A>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;u=p;t=k[u+4>>2]|0;s=(k[A>>2]|0)+32|0;k[s>>2]=k[u>>2];k[s+4>>2]=t;s=h;t=k[s+4>>2]|0;u=(k[A>>2]|0)+8|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;k[(k[A>>2]|0)+16>>2]=k[j>>2];k[C>>2]=(k[w>>2]|0)+1;while(1){if((k[C>>2]|0)>=16)break;u=(k[A>>2]|0)+24|0;t=ha(k[C>>2]|0,k[k[A>>2]>>2]|0)|0;t=GR(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(k[A>>2]|0)+56+(k[C>>2]<<5)|0;k[u>>2]=t;k[u+4>>2]=L;k[C>>2]=(k[C>>2]|0)+1}k[E>>2]=(k[A>>2]|0)+56+(k[w>>2]<<5);u=(k[A>>2]|0)+24|0;t=ha(k[k[A>>2]>>2]|0,k[w>>2]|0)|0;t=GR(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=k[E>>2]|0;k[u>>2]=t;k[u+4>>2]=L;if((k[x>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[x>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Bo((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){IR(k[(k[E>>2]|0)+20>>2]|0,k[v>>2]|0,k[x>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[x>>2]}k[C>>2]=k[w>>2];while(1){if(!((k[C>>2]|0)>=0?(k[G>>2]|0)==0:0))break a;k[E>>2]=(k[A>>2]|0)+56+(k[C>>2]<<5);x=Go(I,k[(k[E>>2]|0)+20>>2]|0,k[(k[E>>2]|0)+20+4>>2]|0)|0;k[G>>2]=x;while(1){if(!((k[I>>2]|0)!=0?(k[G>>2]|0)==0:0))break;x=Ko(I)|0;k[G>>2]=x}Bo((k[E>>2]|0)+8|0,k[I+24+4>>2]|0,G);if((k[G>>2]|0)==0?(IR(k[(k[E>>2]|0)+8>>2]|0,k[I+24>>2]|0,k[I+24+4>>2]|0)|0,k[(k[E>>2]|0)+8+4>>2]=k[I+24+4>>2],(k[C>>2]|0)>0):0){k[B>>2]=0;k[D>>2]=0;k[E>>2]=(k[A>>2]|0)+56+((k[C>>2]|0)-1<<5);v=I+16|0;w=k[v+4>>2]|0;x=k[E>>2]|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;x=I+16|0;x=om(k[z>>2]|0,k[x>>2]|0,k[x+4>>2]|0,B,D,0)|0;k[G>>2]=x;if((k[D>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[D>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Bo((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){IR(k[(k[E>>2]|0)+20>>2]|0,k[B>>2]|0,k[D>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[D>>2]}Ud(k[B>>2]|0)}Lo(I);k[C>>2]=(k[C>>2]|0)+-1}}while(0);I=he(k[F>>2]|0)|0;k[H>>2]=I;if(!(k[G>>2]|0))k[G>>2]=k[H>>2]}k[y>>2]=k[G>>2];I=k[y>>2]|0;r=J;return I|0}function vo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+44|0;h=t+40|0;i=t;j=t+36|0;l=t+32|0;m=t+28|0;s=t+24|0;n=t+20|0;o=t+16|0;q=t+12|0;p=t+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;k[q>>2]=0;k[p>>2]=0;f=xl(k[h>>2]|0,29,q,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){f=i;We(k[q>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;f=k[(k[l>>2]|0)+4>>2]|0;We(k[q>>2]|0,2,f,((f|0)<0)<<31>>31)|0;if(100==(Ee(k[q>>2]|0)|0)){f=Ne(k[q>>2]|0,0)|0;k[o>>2]=f}f=he(k[q>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=xl(k[h>>2]|0,10,p,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){if(100==(Ee(k[p>>2]|0)|0)){q=Oe(k[p>>2]|0,0)|0;f=(k[m>>2]|0)+24|0;k[f>>2]=q;k[f+4>>2]=L;f=(k[m>>2]|0)+24|0;f=FR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;q=(k[m>>2]|0)+32|0;k[q>>2]=f;k[q+4>>2]=L;q=k[o>>2]<<4;f=(k[m>>2]|0)+32|0;e=f;q=GR(k[e>>2]|0,k[e+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;k[f>>2]=q;k[f+4>>2]=L}f=he(k[p>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=(k[m>>2]|0)+32|0;f=Nl(k[h>>2]|0,k[f>>2]|0,k[f+4>>2]|0,0,0)|0;k[s>>2]=f;if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}q=i;f=k[q+4>>2]|0;s=(k[m>>2]|0)+8|0;k[s>>2]=k[q>>2];k[s+4>>2]=f;k[k[m>>2]>>2]=k[o>>2];k[(k[m>>2]|0)+16>>2]=k[j>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break;s=(k[m>>2]|0)+24|0;f=ha(k[n>>2]|0,k[k[m>>2]>>2]|0)|0;f=GR(k[s>>2]|0,k[s+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;s=(k[m>>2]|0)+56+(k[n>>2]<<5)|0;k[s>>2]=f;k[s+4>>2]=L;k[n>>2]=(k[n>>2]|0)+1}k[g>>2]=0;s=k[g>>2]|0;r=t;return s|0}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;e=q+40|0;s=q+36|0;p=q+32|0;m=q+28|0;f=q+24|0;g=q+20|0;o=q+16|0;j=q+12|0;h=q+8|0;l=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[p>>2]=k[(k[s>>2]|0)+40>>2];k[m>>2]=k[(k[s>>2]|0)+44>>2];k[f>>2]=k[(k[s>>2]|0)+48>>2];k[g>>2]=k[(k[s>>2]|0)+52>>2];k[o>>2]=0;k[n>>2]=(k[e>>2]|0)+56;b=Ul(k[(k[n>>2]|0)+8>>2]|0,k[(k[n>>2]|0)+8+4>>2]|0,k[p>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;k[l>>2]=(k[m>>2]|0)-(k[h>>2]|0);b=k[h>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;b=k[l>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[l>>2]|0));b=k[g>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[g>>2]|0));if((k[(k[n>>2]|0)+20+4>>2]|0)>0?((k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0)>(k[(k[d>>2]|0)+224>>2]|0):0){s=k[n>>2]|0;s=Nl(k[d>>2]|0,k[s>>2]|0,k[s+4>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[(k[n>>2]|0)+20+4>>2]|0)|0;k[o>>2]=s;s=(k[e>>2]|0)+4|0;k[s>>2]=(k[s>>2]|0)+1;if(!(k[o>>2]|0)){s=Mo(k[d>>2]|0,k[e>>2]|0,k[p>>2]|0,(k[h>>2]|0)+1|0)|0;k[o>>2]=s}s=k[n>>2]|0;b=s;b=GR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[s>>2]=b;k[s+4>>2]=L;k[(k[n>>2]|0)+8+4>>2]=0;k[(k[n>>2]|0)+20+4>>2]=0;k[l>>2]=k[m>>2];k[j>>2]=1;s=k[l>>2]|0;s=Rl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[l>>2]|0));s=k[g>>2]|0;s=Rl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[g>>2]|0))}b=k[j>>2]|0;s=(k[e>>2]|0)+40|0;c=s;b=GR(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=b;k[s+4>>2]=L;Bo((k[n>>2]|0)+20|0,(k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0,o);if(k[o>>2]|0){s=k[o>>2]|0;r=q;return s|0}if(!(k[(k[n>>2]|0)+20+4>>2]|0)){k[(k[n>>2]|0)+20+4>>2]=1;i[k[(k[n>>2]|0)+20>>2]>>0]=0}s=Jo((k[n>>2]|0)+20|0,(k[n>>2]|0)+8|0,k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=s;s=k[o>>2]|0;r=q;return s|0}function xo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+44|0;g=s;h=s+40|0;i=s+36|0;j=s+32|0;m=s+28|0;p=s+24|0;o=s+20|0;l=s+16|0;q=s+12|0;n=s+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;k[p>>2]=0;k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)-1;while(1){if(!((k[j>>2]|0)>=0?(k[p>>2]|0)==0:0))break;k[o>>2]=0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0))break;k[o>>2]=k[(k[k[h>>2]>>2]|0)+(k[l>>2]<<2)>>2];if((k[k[o>>2]>>2]|0)==(k[j>>2]|0))break;k[l>>2]=(k[l>>2]|0)+1}if(!(k[(k[o>>2]|0)+40>>2]|0)){e=Tl(k[f>>2]|0,k[o>>2]|0)|0;k[p>>2]=e;if(!(k[p>>2]|0)){e=g;e=Co(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0)|0;k[p>>2]=e}k[k[i>>2]>>2]=0}else{k[q>>2]=k[(k[o>>2]|0)+64>>2];k[n>>2]=k[(k[o>>2]|0)+60>>2];e=g;e=Do(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0;k[p>>2]=e;k[m>>2]=(k[m>>2]|0)+1}k[j>>2]=(k[j>>2]|0)+-1}if(k[p>>2]|0){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}if((k[m>>2]|0)==(k[(k[h>>2]|0)+4>>2]|0)){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}e=g;e=Eo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[p>>2]=e;e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}function yo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i+16|0;g=i;h=i+12|0;j=i+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[j>>2]=e;Bo(k[f>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+20|0,k[j>>2]|0);if(k[k[j>>2]>>2]|0){r=i;return}j=g;j=Sl((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[j>>2]|0,k[j+4>>2]|0)|0;e=(k[f>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)+j;e=k[h>>2]|0;e=Sl((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;j=(k[f>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+e;r=i;return}function zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;m=q+32|0;n=q+28|0;e=q+24|0;f=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;j=q;k[d>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=k[k[n>>2]>>2];k[f>>2]=15;while(1){if((k[f>>2]|0)<0)break;k[h>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);if((k[(k[h>>2]|0)+20+4>>2]|0)>0)break;Ud(k[(k[h>>2]|0)+20>>2]|0);Ud(k[(k[h>>2]|0)+8>>2]|0);k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){r=q;return}if(!(k[f>>2]|0)){k[g>>2]=(k[m>>2]|0)+56+32+20;Bo(k[g>>2]|0,11,p);if(!(k[p>>2]|0)){i[k[k[g>>2]>>2]>>0]=1;b=(k[m>>2]|0)+56|0;b=1+(Sl((k[k[g>>2]>>2]|0)+1|0,k[b>>2]|0,k[b+4>>2]|0)|0)|0;k[(k[g>>2]|0)+4>>2]=b}k[f>>2]=1}k[o>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;k[j>>2]=(k[m>>2]|0)+56+(k[e>>2]<<5);if((k[p>>2]|0)==0?(k[(k[j>>2]|0)+20+4>>2]|0)>0:0){b=k[j>>2]|0;b=Nl(k[d>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+20+4>>2]|0)|0;k[p>>2]=b}Ud(k[(k[j>>2]|0)+20>>2]|0);Ud(k[(k[j>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[p>>2]|0)){j=k[d>>2]|0;d=(k[m>>2]|0)+8|0;d=GR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=(k[m>>2]|0)+24|0;f=(k[m>>2]|0)+56|0;a=(k[m>>2]|0)+32|0;if(!(l[(k[m>>2]|0)+48>>0]|0)){h=(k[m>>2]|0)+40|0;g=k[h>>2]|0;h=k[h+4>>2]|0}else{g=0;h=0}m=Pl(j,d,L,k[(k[m>>2]|0)+16>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,g,h,k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+20+4>>2]|0)|0;k[p>>2]=m}Ud(k[(k[o>>2]|0)+20>>2]|0);Ud(k[(k[o>>2]|0)+8>>2]|0);k[k[n>>2]>>2]=k[p>>2];r=q;return}function Ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=xl(k[g>>2]|0,23,d,0)|0;k[e>>2]=b;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}Ve(k[d>>2]|0,1,1)|0;Te(k[d>>2]|0,2,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,0)|0;Ee(k[d>>2]|0)|0;g=he(k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}if((k[e>>2]|0)<=(k[(k[d>>2]|0)+8>>2]|0)){r=i;return}k[h>>2]=k[e>>2];c=Vd(k[k[d>>2]>>2]|0,k[h>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[d>>2]|0)+8>>2]=k[h>>2];k[k[d>>2]>>2]=k[g>>2];r=i;return}else{k[k[f>>2]>>2]=7;r=i;return}}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;a=xl(k[j>>2]|0,30,g,0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=e;We(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Ve(k[g>>2]|0,2,k[f>>2]|0)|0;Ee(k[g>>2]|0)|0;j=he(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function Do(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+112|0;g=B+104|0;h=B+24|0;i=B+100|0;j=B+96|0;l=B+92|0;y=B+88|0;A=B+76|0;o=B+64|0;p=B+16|0;q=B+8|0;s=B;x=B+60|0;z=B+56|0;n=B+52|0;u=B+48|0;m=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[y>>2]=0;k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;e=p;k[e>>2]=0;k[e+4>>2]=0;e=q;k[e>>2]=0;k[e+4>>2]=0;e=s;k[e>>2]=0;k[e+4>>2]=0;k[x>>2]=0;e=xl(k[g>>2]|0,32,x,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=h;We(k[x>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Ve(k[x>>2]|0,2,k[i>>2]|0)|0;if(100==(Ee(k[x>>2]|0)|0)){a=Ke(k[x>>2]|0,4)|0;k[n>>2]=a;a=Le(k[x>>2]|0,4)|0;k[u>>2]=a;a=Oe(k[x>>2]|0,1)|0;e=s;k[e>>2]=a;k[e+4>>2]=L;e=Fo(k[n>>2]|0,k[u>>2]|0,A,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}e=he(k[x>>2]|0)|0;k[z>>2]=e;if(!(k[y>>2]|0))k[y>>2]=k[z>>2]}while(1){e=p;if(!((k[y>>2]|0)==0?(k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0:0))break;k[m>>2]=0;k[t>>2]=0;x=p;z=k[x+4>>2]|0;e=q;k[e>>2]=k[x>>2];k[e+4>>2]=z;e=p;e=om(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,m,t,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=Fo(k[m>>2]|0,k[t>>2]|0,o,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}if(!(k[y>>2]|0)){e=q;e=Nl(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[y>>2]=e}Ud(k[m>>2]|0)}e=q;if((k[y>>2]|0)==0&((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)?(k[w>>2]=0,e=xl(k[g>>2]|0,17,w,0)|0,k[y>>2]=e,(k[y>>2]|0)==0):0){z=s;We(k[w>>2]|0,1,k[z>>2]|0,k[z+4>>2]|0)|0;z=k[w>>2]|0;e=q;e=FR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;We(z,2,e,L)|0;Ee(k[w>>2]|0)|0;e=he(k[w>>2]|0)|0;k[y>>2]=e}if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}k[v>>2]=0;e=xl(k[g>>2]|0,33,v,0)|0;k[y>>2]=e;if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}e=q;We(k[v>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Te(k[v>>2]|0,2,k[A>>2]|0,k[A+4>>2]|0,0)|0;e=h;We(k[v>>2]|0,3,k[e>>2]|0,k[e+4>>2]|0)|0;Ve(k[v>>2]|0,4,k[i>>2]|0)|0;Ee(k[v>>2]|0)|0;e=he(k[v>>2]|0)|0;k[y>>2]=e;e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+44|0;e=s;o=s+40|0;f=s+36|0;l=s+32|0;j=s+28|0;h=s+24|0;m=s+20|0;n=s+16|0;p=s+12|0;g=s+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=0;k[l>>2]=0;k[j>>2]=0;k[m>>2]=0;k[n>>2]=0;a=xl(k[d>>2]|0,35,m,0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){a=e;We(k[m>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(Ee(k[m>>2]|0)|0))break;if((k[l>>2]|0)>=(k[j>>2]|0)){k[j>>2]=(k[j>>2]|0)+16;a=Vd(k[f>>2]|0,k[j>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0)){q=6;break}k[f>>2]=k[g>>2]}c=Ne(k[m>>2]|0,0)|0;a=k[l>>2]|0;k[l>>2]=a+1;k[(k[f>>2]|0)+(a<<2)>>2]=c}if((q|0)==6)k[o>>2]=7;q=he(k[m>>2]|0)|0;k[p>>2]=q;if(!(k[o>>2]|0))k[o>>2]=k[p>>2]}if(!(k[o>>2]|0)){q=xl(k[d>>2]|0,31,n,0)|0;k[o>>2]=q}if(!(k[o>>2]|0)){q=e;We(k[n>>2]|0,2,k[q>>2]|0,k[q+4>>2]|0)|0}i[(k[d>>2]|0)+232>>0]=1;k[h>>2]=0;while(1){if(k[o>>2]|0){q=21;break}if((k[h>>2]|0)>=(k[l>>2]|0)){q=21;break}if((k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)!=(k[h>>2]|0)){Ve(k[n>>2]|0,3,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;Ve(k[n>>2]|0,1,k[h>>2]|0)|0;Ee(k[n>>2]|0)|0;q=he(k[n>>2]|0)|0;k[o>>2]=q}k[h>>2]=(k[h>>2]|0)+1}if((q|0)==21){i[(k[d>>2]|0)+232>>0]=0;Ud(k[f>>2]|0);r=s;return k[o>>2]|0}return 0}function Fo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;g=w+96|0;h=w+92|0;j=w+88|0;l=w+84|0;m=w+80|0;n=w+76|0;o=w+72|0;t=w;q=w+60|0;s=w+56|0;p=w+52|0;u=w+48|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[s>>2]=0;k[p>>2]=(i[k[h>>2]>>0]|0)==0&1;Bo(k[l>>2]|0,k[j>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[(k[l>>2]|0)+4>>2]=0;d=Go(t,k[h>>2]|0,k[j>>2]|0)|0;k[s>>2]=d;while(1){if(!((k[s>>2]|0)==0?(k[t>>2]|0)!=0:0))break;if(!(k[(k[l>>2]|0)+4>>2]|0)){d=Ho(k[t+24>>2]|0,k[t+24+4>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[u>>2]=d;if((k[u>>2]|0)>=0?!((k[p>>2]|0)==0&(k[u>>2]|0)==0):0){f=t+16|0;Io(k[l>>2]|0,i[k[h>>2]>>0]|0,k[f>>2]|0,k[f+4>>2]|0);f=t+16|0;d=k[f+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[f>>2];k[v+4>>2]=d;v=9}}else v=9;if((v|0)==9?(v=0,d=Jo(k[l>>2]|0,q,k[t+24>>2]|0,k[t+24+4>>2]|0,k[t+36>>2]|0,k[t+40>>2]|0)|0,k[s>>2]=d,(k[s>>2]|0)!=0):0)break;d=Ko(t)|0;k[s>>2]=d}if(!(k[(k[l>>2]|0)+4>>2]|0)){u=t+16|0;Io(k[l>>2]|0,i[k[h>>2]>>0]|0,k[u>>2]|0,k[u+4>>2]|0);u=t+16|0;d=k[u+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[u>>2];k[v+4>>2]=d}Lo(t);Ud(k[q>>2]|0);k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+8|0;d=g+4|0;e=g;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;b=k[f>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[k[f>>2]>>2]=k[d>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];b=k[f>>2]|0;if(i[k[k[f>>2]>>2]>>0]|0){e=1+(gm((k[b>>2]|0)+1|0,(k[f>>2]|0)+16|0)|0)|0;k[(k[f>>2]|0)+8>>2]=e;f=k[f>>2]|0;f=Ko(f)|0;r=g;return f|0}else{k[b+8>>2]=1;f=k[f>>2]|0;f=Ko(f)|0;r=g;return f|0}return 0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;l=h+20|0;e=h+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[e>>2]=b;k[j>>2]=c;k[f>>2]=d;k[i>>2]=(k[e>>2]|0)<(k[f>>2]|0)?k[e>>2]|0:k[f>>2]|0;c=VQ(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){l=k[g>>2]|0;r=h;return l|0}k[g>>2]=(k[e>>2]|0)-(k[f>>2]|0);l=k[g>>2]|0;r=h;return l|0}function Io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;f=g;k[e>>2]=a;k[h>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;i[k[k[e>>2]>>2]>>0]=k[h>>2];a=f;c=k[e>>2]|0;if((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0){h=f;h=1+(Sl((k[c>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0)|0)|0;k[(k[e>>2]|0)+4>>2]=h;r=g;return}else{k[c+4>>2]=1;r=g;return}}function Jo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;o=t+8|0;p=t+4|0;q=t;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[s>>2]=0;k[o>>2]=(k[(k[i>>2]|0)+4>>2]|0)==0&1;Bo(k[i>>2]|0,k[l>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];c=k[g>>2]|0;r=t;return c|0}c=Ul(k[k[i>>2]>>2]|0,k[(k[i>>2]|0)+4>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[p>>2]=c;k[q>>2]=(k[l>>2]|0)-(k[p>>2]|0);IR(k[k[i>>2]>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=k[l>>2];if(!(k[o>>2]|0)){s=k[p>>2]|0;s=Sl((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s}s=k[q>>2]|0;s=Sl((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;IR((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,(k[j>>2]|0)+(k[p>>2]|0)|0,k[q>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[q>>2]|0);if(k[m>>2]|0){s=k[n>>2]|0;s=Sl((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;IR((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,k[m>>2]|0,k[n>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[n>>2]|0)}k[g>>2]=0;c=k[g>>2]|0;r=t;return c|0}function Ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;e=g+16|0;b=g+12|0;c=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[b>>2]=(k[(k[e>>2]|0)+24+4>>2]|0)==0&1;k[c>>2]=0;k[d>>2]=0;k[f>>2]=0;a=(k[e>>2]|0)+16|0;if(((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)&(k[b>>2]|0)==0){a=(k[e>>2]|0)+16|0;h=a;h=GR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;k[a>>2]=h;k[a+4>>2]=L}if((k[(k[e>>2]|0)+8>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0)){k[k[e>>2]>>2]=0;h=k[f>>2]|0;r=g;return h|0}if(!(k[b>>2]|0)){b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=hm(b,c)|0;else{k[c>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=hm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;Bo((k[e>>2]|0)+24|0,(k[c>>2]|0)+(k[d>>2]|0)|0,f);if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}IR((k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]|0)|0,(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+24+4>>2]=(k[c>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+16|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=k[f>>2]|0;r=g;return h|0}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=hm(b,(k[e>>2]|0)+40|0)|0;else{k[(k[e>>2]|0)+40>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;k[(k[e>>2]|0)+36>>2]=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[(k[e>>2]|0)+40>>2]|0);h=k[f>>2]|0;r=g;return h|0}function Lo(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+24>>2]|0);r=b;return}function Mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;t=v+60|0;e=v+56|0;f=v+52|0;g=v+48|0;h=v+44|0;m=v+8|0;j=v+40|0;l=v;s=v+36|0;u=v+32|0;n=v+28|0;p=v+24|0;o=v+20|0;q=v+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=(k[f>>2]|0)+56|0;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=1;while(1){if((k[j>>2]|0)>=16){e=16;break}c=l;k[c>>2]=0;k[c+4>>2]=0;k[s>>2]=(k[f>>2]|0)+56+(k[j>>2]<<5);k[u>>2]=0;c=Ul(k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+8+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=c;k[p>>2]=(k[h>>2]|0)-(k[n>>2]|0);c=k[n>>2]|0;c=Rl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;c=k[p>>2]|0;c=Rl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=(k[o>>2]|0)+(c+(k[p>>2]|0));if((k[(k[s>>2]|0)+8+4>>2]|0)!=0?((k[(k[s>>2]|0)+20+4>>2]|0)+(k[o>>2]|0)|0)>(k[(k[e>>2]|0)+224>>2]|0):0){b=k[s>>2]|0;b=Nl(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[s>>2]|0)+20>>2]|0,k[(k[s>>2]|0)+20+4>>2]|0)|0;k[u>>2]=b;i[k[(k[s>>2]|0)+20>>2]>>0]=k[j>>2];b=(k[(k[s>>2]|0)+20>>2]|0)+1|0;a=m;a=GR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;a=1+(Sl(b,a,L)|0)|0;k[(k[s>>2]|0)+20+4>>2]=a;a=k[s>>2]|0;b=k[a+4>>2]|0;c=l;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=k[s>>2]|0;b=c;b=GR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[c>>2]=b;k[c+4>>2]=L;k[(k[s>>2]|0)+8+4>>2]=0}else{k[q>>2]=(k[s>>2]|0)+20;if((k[(k[q>>2]|0)+4>>2]|0)==0?(Bo(k[q>>2]|0,k[(k[e>>2]|0)+224>>2]|0,u),(k[u>>2]|0)==0):0){i[k[k[q>>2]>>2]>>0]=k[j>>2];c=m;c=1+(Sl((k[k[q>>2]>>2]|0)+1|0,k[c>>2]|0,k[c+4>>2]|0)|0)|0;k[(k[q>>2]|0)+4>>2]=c}Bo(k[q>>2]|0,(k[(k[q>>2]|0)+4>>2]|0)+(k[o>>2]|0)|0,u);Bo((k[s>>2]|0)+8|0,k[h>>2]|0,u);if(!(k[u>>2]|0)){if(k[(k[s>>2]|0)+8+4>>2]|0){b=k[n>>2]|0;b=Sl((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b}b=k[p>>2]|0;b=Sl((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b;IR((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,k[p>>2]|0)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[p>>2]|0);IR(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[s>>2]|0)+8+4>>2]=k[h>>2]}}c=l;if((k[u>>2]|0)!=0|(k[c>>2]|0)==0&(k[c+4>>2]|0)==0){e=14;break}a=l;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=(k[j>>2]|0)+1}if((e|0)==14){k[t>>2]=k[u>>2];u=k[t>>2]|0;r=v;return u|0}else if((e|0)==16){k[t>>2]=0;u=k[t>>2]|0;r=v;return u|0}return 0}function No(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;e=j;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;k[h>>2]=0;d=xl(k[l>>2]|0,34,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}l=e;We(k[h>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;if(100==(Ee(k[h>>2]|0)|0))k[g>>2]=1;d=he(k[h>>2]|0)|0;k[i>>2]=d;d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;u=t+48|0;e=t+44|0;f=t+40|0;g=t+36|0;p=t+32|0;s=t+28|0;n=t+24|0;j=t+20|0;h=t+16|0;o=t+12|0;l=t+8|0;q=t+4|0;m=t;k[u>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[p>>2]=k[u>>2];k[s>>2]=0;k[n>>2]=0;k[j>>2]=0;k[h>>2]=0;k[o>>2]=0;k[l>>2]=0;if(((k[e>>2]|0)>1?(pe(k[k[f>>2]>>2]|0)|0)==5:0)?(pe(k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){u=Po(k[p>>2]|0,k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[s>>2]=u;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}if((k[e>>2]|0)>1?(ne(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){k[s>>2]=19;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}u=Sd((k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1)|0;k[h>>2]=u;if(!(k[h>>2]|0)){k[s>>2]=7;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}k[j>>2]=(k[h>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+1<<2);KR(k[h>>2]|0,0,(k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;u=Qo(k[p>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}do if((k[e>>2]|0)>1?(k[(k[p>>2]|0)+40>>2]|0)==0:0){k[q>>2]=k[(k[f>>2]|0)+(3+(k[(k[p>>2]|0)+24>>2]|0)<<2)>>2];if((pe(k[q>>2]|0)|0)==5)k[q>>2]=k[(k[f>>2]|0)+4>>2];if((pe(k[q>>2]|0)|0)!=5){if((pe(k[k[f>>2]>>2]|0)|0)!=5?(d=oe(k[k[f>>2]>>2]|0)|0,u=L,a=oe(k[q>>2]|0)|0,!((d|0)!=(a|0)|(u|0)!=(L|0))):0)break;u=(rf(k[(k[p>>2]|0)+12>>2]|0)|0)==5;c=k[p>>2]|0;if(u){u=Ro(c,k[q>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;break}else{u=So(c,k[f>>2]|0,k[g>>2]|0)|0;k[s>>2]=u;k[l>>2]=1;break}}}while(0);if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}if((pe(k[k[f>>2]>>2]|0)|0)!=5){u=Ro(k[p>>2]|0,k[k[f>>2]>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;k[n>>2]=1}if((k[e>>2]|0)>1&(k[s>>2]|0)==0){u=ne(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[m>>2]=u;if(((k[l>>2]|0)==0?(u=So(k[p>>2]|0,k[f>>2]|0,k[g>>2]|0)|0,k[s>>2]=u,(k[s>>2]|0)==19):0)?(k[(k[p>>2]|0)+40>>2]|0)==0:0)k[s>>2]=267;do if(!(k[s>>2]|0)){if((k[n>>2]|0)!=0?(q=k[g>>2]|0,u=(k[p>>2]|0)+264|0,!((k[q>>2]|0)!=(k[u>>2]|0)?1:(k[q+4>>2]|0)!=(k[u+4>>2]|0))):0)break;u=k[g>>2]|0;u=To(k[p>>2]|0,0,k[m>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[s>>2]=u}while(0);if(!(k[s>>2]|0)){u=Uo(k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[s>>2]=u}if(i[(k[p>>2]|0)+230>>0]|0)Vo(s,k[p>>2]|0,k[j>>2]|0);k[o>>2]=(k[o>>2]|0)+1}if(!(i[(k[p>>2]|0)+228>>0]|0)){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}Wo(s,k[p>>2]|0,k[j>>2]|0,k[h>>2]|0,k[o>>2]|0);u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}function Po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;e=i;k[d>>2]=a;k[j>>2]=b;b=ke(k[j>>2]|0)|0;k[g>>2]=b;b=le(k[j>>2]|0)|0;k[e>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=7;j=k[c>>2]|0;r=i;return j|0}if((k[e>>2]|0)==8?0==(Jd(k[g>>2]|0,21128,8)|0):0){j=$n(k[d>>2]|0,0)|0;k[f>>2]=j}else h=6;do if((h|0)==6){if((k[e>>2]|0)==7?0==(Jd(k[g>>2]|0,24111,7)|0):0){j=ep(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)==15?0==(Jd(k[g>>2]|0,24119,15)|0):0){j=fp(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>6?0==(Jd(k[g>>2]|0,24135,6)|0):0){j=gp(k[d>>2]|0,(k[g>>2]|0)+6|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>10?0==(Jd(k[g>>2]|0,24142,10)|0):0){j=hp(k[d>>2]|0,(k[g>>2]|0)+10|0)|0;k[f>>2]=j;break}k[f>>2]=1}while(0);k[c>>2]=k[f>>2];j=k[c>>2]|0;r=i;return j|0}function Qo(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if((k[(k[b>>2]|0)+260>>2]|0)==0?(a=xl(k[b>>2]|0,16,c,0)|0,k[d>>2]=a,(k[d>>2]|0)==0):0){Xe(k[c>>2]|0,1)|0;Ee(k[c>>2]|0)|0;c=he(k[c>>2]|0)|0;k[d>>2]=c}r=e;return k[d>>2]|0}function Ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;n=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[n>>2]=0;$o(l,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,n);if(!((k[n>>2]|0)!=0&(k[l>>2]|0)==0)){n=k[l>>2]|0;r=m;return n|0}k[j>>2]=0;n=ap(k[e>>2]|0,k[f>>2]|0,j)|0;k[l>>2]=n;if(k[l>>2]|0){n=k[l>>2]|0;r=m;return n|0}if(k[j>>2]|0){n=bp(k[e>>2]|0,1)|0;k[l>>2]=n;k[k[g>>2]>>2]=0;KR(k[h>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;n=k[l>>2]|0;r=m;return n|0}k[k[g>>2]>>2]=(k[k[g>>2]>>2]|0)-1;if(!(k[(k[e>>2]|0)+40>>2]|0))cp(l,k[e>>2]|0,0,f);if(!(i[(k[e>>2]|0)+230>>0]|0)){n=k[l>>2]|0;r=m;return n|0}cp(l,k[e>>2]|0,19,f);n=k[l>>2]|0;r=m;return n|0}function So(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=k[e>>2]|0;if(k[(k[e>>2]|0)+40>>2]|0){k[i>>2]=k[(k[f>>2]|0)+((k[b+24>>2]|0)+3<<2)>>2];if((pe(k[i>>2]|0)|0)==5)k[i>>2]=k[(k[f>>2]|0)+4>>2];if((pe(k[i>>2]|0)|0)!=1){k[d>>2]=19;j=k[d>>2]|0;r=l;return j|0}else{i=oe(k[i>>2]|0)|0;j=k[g>>2]|0;k[j>>2]=i;k[j+4>>2]=L;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}}i=xl(b,18,h,(k[f>>2]|0)+4|0)|0;k[j>>2]=i;if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)!=0:0){c=k[h>>2]|0;i=(k[(k[e>>2]|0)+24>>2]|0)+2|0;i=Ve(c,i,ne(k[(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0;k[j>>2]=i}if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}if(5!=(pe(k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(pe(k[k[f>>2]>>2]|0)|0)?5!=(pe(k[(k[f>>2]|0)+4>>2]|0)|0):0){k[d>>2]=1;j=k[d>>2]|0;r=l;return j|0}i=Ze(k[h>>2]|0,1,k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;k[j>>2]=i;if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}}Ee(k[h>>2]|0)|0;h=he(k[h>>2]|0)|0;k[j>>2]=h;h=zf(k[(k[e>>2]|0)+12>>2]|0)|0;i=k[g>>2]|0;k[i>>2]=h;k[i+4>>2]=L;k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}function To(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;c=j;e=k[c+4>>2]|0;a=(k[g>>2]|0)+264|0;b=k[a+4>>2]|0;do if(!((e|0)<(b|0)|((e|0)==(b|0)?(k[c>>2]|0)>>>0<(k[a>>2]|0)>>>0:0))){c=j;a=(k[g>>2]|0)+264|0;if(((k[c>>2]|0)==(k[a>>2]|0)?(k[c+4>>2]|0)==(k[a+4>>2]|0):0)?(k[(k[g>>2]|0)+276>>2]|0)==0:0){m=6;break}if(!((k[(k[g>>2]|0)+272>>2]|0)==(k[i>>2]|0)?(k[(k[g>>2]|0)+260>>2]|0)<=(k[(k[g>>2]|0)+256>>2]|0):0))m=6}else m=6;while(0);if((m|0)==6?(m=ul(k[g>>2]|0)|0,k[l>>2]=m,(k[l>>2]|0)!=0):0){k[f>>2]=k[l>>2];m=k[f>>2]|0;r=n;return m|0}a=j;l=k[a+4>>2]|0;m=(k[g>>2]|0)+264|0;k[m>>2]=k[a>>2];k[m+4>>2]=l;k[(k[g>>2]|0)+272>>2]=k[i>>2];k[(k[g>>2]|0)+276>>2]=k[h>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function Uo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+8|0;m=p+4|0;o=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=2;while(1){if((k[i>>2]|0)>=((k[(k[e>>2]|0)+24>>2]|0)+2|0)){e=8;break}k[j>>2]=(k[i>>2]|0)-2;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){a=ke(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[m>>2]=a;a=Zo(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0,k[j>>2]|0,(k[h>>2]|0)+(k[j>>2]<<2)|0)|0;k[o>>2]=a;if(k[o>>2]|0){e=5;break}b=le(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;a=(k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+b}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==5){k[n>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}else if((e|0)==8){k[n>>2]=0;o=k[n>>2]|0;r=p;return o|0}return 0}function Vo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[d>>2]>>2]|0){r=l;return}a=Sd((k[(k[e>>2]|0)+24>>2]|0)*10|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[k[d>>2]>>2]=7;r=l;return}Yo(k[(k[e>>2]|0)+24>>2]|0,k[f>>2]|0,k[h>>2]|0,g);a=xl(k[e>>2]|0,20,i,0)|0;k[j>>2]=a;if(k[j>>2]|0){Ud(k[h>>2]|0);k[k[d>>2]>>2]=k[j>>2];r=l;return}else{j=(k[e>>2]|0)+264|0;We(k[i>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Te(k[i>>2]|0,2,k[h>>2]|0,k[g>>2]|0,148)|0;Ee(k[i>>2]|0)|0;j=he(k[i>>2]|0)|0;k[k[d>>2]>>2]=j;r=l;return}}function Wo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;p=u+28|0;n=u+24|0;l=u+20|0;q=u+16|0;m=u+12|0;s=u+8|0;o=u+4|0;t=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=(k[(k[g>>2]|0)+24>>2]|0)+2;if(k[k[f>>2]>>2]|0){r=u;return}a=Sd((k[o>>2]|0)*14|0)|0;k[l>>2]=a;if(!(k[l>>2]|0)){k[k[f>>2]>>2]=7;r=u;return}k[p>>2]=(k[l>>2]|0)+(k[o>>2]<<2);a=xl(k[g>>2]|0,22,q,0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}Ve(k[q>>2]|0,1,0)|0;if((Ee(k[q>>2]|0)|0)==100){e=k[o>>2]|0;b=k[l>>2]|0;a=Ke(k[q>>2]|0,0)|0;Xo(e,b,a,Le(k[q>>2]|0,0)|0)}else KR(k[l>>2]|0,0,k[o>>2]<<2|0)|0;a=he(k[q>>2]|0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}if((k[j>>2]|0)<0?(k[k[l>>2]>>2]|0)>>>0<(0-(k[j>>2]|0)|0)>>>0:0)k[k[l>>2]>>2]=0;else{a=k[l>>2]|0;k[a>>2]=(k[a>>2]|0)+(k[j>>2]|0)}k[m>>2]=0;while(1){if((k[m>>2]|0)>=((k[(k[g>>2]|0)+24>>2]|0)+1|0))break;k[t>>2]=k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2];if(((k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)|0)>>>0<(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)>>>0)k[t>>2]=0;else k[t>>2]=(k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)-(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0);k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2]=k[t>>2];k[m>>2]=(k[m>>2]|0)+1}Yo(k[o>>2]|0,k[l>>2]|0,k[p>>2]|0,n);t=xl(k[g>>2]|0,23,q,0)|0;k[s>>2]=t;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}else{Ve(k[q>>2]|0,1,0)|0;Te(k[q>>2]|0,2,k[p>>2]|0,k[n>>2]|0,0)|0;Ee(k[q>>2]|0)|0;t=he(k[q>>2]|0)|0;k[k[f>>2]>>2]=t;Ud(k[l>>2]|0);r=u;return}}function Xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+12|0;i=l+8|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l+16>>2]=d;k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;c=gm((k[g>>2]|0)+(k[i>>2]|0)|0,j)|0;k[i>>2]=(k[i>>2]|0)+c;k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]=k[j>>2];k[h>>2]=(k[h>>2]|0)+1}r=l;return}function Yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[i>>2]=0;while(1){a=k[j>>2]|0;if((k[i>>2]|0)>=(k[e>>2]|0))break;c=Sl((k[g>>2]|0)+a|0,k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0,0)|0;k[j>>2]=(k[j>>2]|0)+c;k[i>>2]=(k[i>>2]|0)+1}k[k[h>>2]>>2]=a;r=l;return}function Zo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;j=B+56|0;l=B+52|0;x=B+48|0;p=B+44|0;n=B+40|0;o=B+36|0;s=B+32|0;z=B+28|0;q=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;m=B+4|0;u=B;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[p>>2]=0;k[n>>2]=0;k[o>>2]=0;k[s>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[g>>2]|0)+36>>2];k[v>>2]=k[k[w>>2]>>2];if(!(k[i>>2]|0)){k[k[l>>2]>>2]=0;k[f>>2]=0;A=k[f>>2]|0;r=B;return A|0}c=Kn(k[w>>2]|0,k[h>>2]|0,k[i>>2]|0,-1,t)|0;k[x>>2]=c;if(k[x>>2]|0){k[f>>2]=k[x>>2];A=k[f>>2]|0;r=B;return A|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];a:while(1){if(k[x>>2]|0)break;c=ac[k[y>>2]&255](k[t>>2]|0,z,q,p,n,o)|0;k[x>>2]=c;if(c)break;if((k[o>>2]|0)>=(k[s>>2]|0))k[s>>2]=(k[o>>2]|0)+1;if((k[o>>2]|0)>=0&(k[z>>2]|0)!=0^1|(k[q>>2]|0)<=0){A=11;break}c=_o(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[(k[g>>2]|0)+252>>2]|0)+4|0,k[z>>2]|0,k[q>>2]|0)|0;k[x>>2]=c;k[m>>2]=1;while(1){if(k[x>>2]|0)continue a;if((k[m>>2]|0)>=(k[(k[g>>2]|0)+248>>2]|0))continue a;k[u>>2]=(k[(k[g>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0);if((k[q>>2]|0)>=(k[k[u>>2]>>2]|0)){c=_o(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[u>>2]|0)+4|0,k[z>>2]|0,k[k[u>>2]>>2]|0)|0;k[x>>2]=c}k[m>>2]=(k[m>>2]|0)+1}}if((A|0)==11)k[x>>2]=1;bc[k[(k[v>>2]|0)+16>>2]&255](k[t>>2]|0)|0;A=k[l>>2]|0;k[A>>2]=(k[A>>2]|0)+(k[s>>2]|0);k[f>>2]=(k[x>>2]|0)==101?0:k[x>>2]|0;A=k[f>>2]|0;r=B;return A|0}function _o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;e=Mk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=e;if(k[n>>2]|0){e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)-((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20)}a=(k[g>>2]|0)+264|0;d=k[h>>2]|0;e=k[i>>2]|0;if((Ln(n,k[a>>2]|0,k[a+4>>2]|0,d,((d|0)<0)<<31>>31,e,((e|0)<0)<<31>>31,o)|0)!=0?(e=k[n>>2]|0,(e|0)==(tk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0)):0){Ud(k[n>>2]|0);k[o>>2]=7}if(k[o>>2]|0){e=k[o>>2]|0;r=p;return e|0}e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)+((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20);e=k[o>>2]|0;r=p;return e|0}function $o(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;g=u+48|0;h=u+44|0;f=u+40|0;i=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;m=u+20|0;p=u+16|0;o=u;n=u+12|0;t=u+8|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[i>>2]=d;k[j>>2]=e;if(k[k[g>>2]>>2]|0){r=u;return}f=xl(k[h>>2]|0,7,q,f)|0;k[s>>2]=f;f=k[q>>2]|0;if(!(k[s>>2]|0)){do if(100==(Ee(f)|0)){c=dp(k[h>>2]|0,k[q>>2]|0)|0;k[p>>2]=c;c=Oe(k[q>>2]|0,0)|0;e=o;k[e>>2]=c;k[e+4>>2]=L;o=To(k[h>>2]|0,1,k[p>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[s>>2]=o;k[m>>2]=1;while(1){if(k[s>>2]|0)break;if((k[m>>2]|0)>(k[(k[h>>2]|0)+24>>2]|0))break;k[n>>2]=(k[m>>2]|0)-1;if(!(l[(k[(k[h>>2]|0)+32>>2]|0)+(k[n>>2]|0)>>0]|0)){e=Pe(k[q>>2]|0,k[m>>2]|0)|0;k[t>>2]=e;e=Zo(k[h>>2]|0,k[p>>2]|0,k[t>>2]|0,-1,(k[i>>2]|0)+(k[n>>2]<<2)|0)|0;k[s>>2]=e;e=Le(k[q>>2]|0,k[m>>2]|0)|0;o=(k[i>>2]|0)+(k[(k[h>>2]|0)+24>>2]<<2)|0;k[o>>2]=(k[o>>2]|0)+e}k[m>>2]=(k[m>>2]|0)+1}if(!(k[s>>2]|0)){k[k[j>>2]>>2]=1;break}he(k[q>>2]|0)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}while(0);t=he(k[q>>2]|0)|0;k[s>>2]=t}else he(f)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+40>>2]|0){k[k[f>>2]>>2]=0;k[h>>2]=0;h=k[h>>2]|0;r=i;return h|0}c=xl(k[d>>2]|0,1,g,e)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if(100==(Ee(k[g>>2]|0)|0)){c=Ne(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=c}c=he(k[g>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function bp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=0;rl(k[c>>2]|0);if(k[f>>2]|0)cp(d,k[c>>2]|0,2,0);cp(d,k[c>>2]|0,3,0);cp(d,k[c>>2]|0,4,0);if(i[(k[c>>2]|0)+230>>0]|0)cp(d,k[c>>2]|0,5,0);if(!(i[(k[c>>2]|0)+229>>0]|0)){f=k[d>>2]|0;r=e;return f|0}cp(d,k[c>>2]|0,6,0);f=k[d>>2]|0;r=e;return f|0}function cp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[e>>2]>>2]|0){r=l;return}a=xl(k[f>>2]|0,k[g>>2]|0,i,k[h>>2]|0)|0;k[j>>2]=a;if(!(k[j>>2]|0)){Ee(k[i>>2]|0)|0;i=he(k[i>>2]|0)|0;k[j>>2]=i}k[k[e>>2]>>2]=k[j>>2];r=l;return}function dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+44>>2]|0)){b=k[e>>2]|0;r=f;return b|0}b=Ne(k[d>>2]|0,(k[(k[c>>2]|0)+24>>2]|0)+1|0)|0;k[e>>2]=b;b=k[e>>2]|0;r=f;return b|0}function ep(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;c=t;e=t+52|0;p=t+48|0;f=t+44|0;h=t+40|0;g=t+36|0;o=t+32|0;n=t+28|0;d=t+24|0;b=t+20|0;j=t+16|0;m=t+12|0;s=t+8|0;q=t+4|0;k[e>>2]=a;a=bp(k[e>>2]|0,0)|0;k[p>>2]=a;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[f>>2]=0;k[h>>2]=0;k[g>>2]=0;k[o>>2]=0;k[n>>2]=0;k[c>>2]=k[(k[e>>2]|0)+216>>2];c=Yd(24230,c)|0;k[d>>2]=c;if(k[d>>2]|0){c=lf(k[(k[e>>2]|0)+12>>2]|0,k[d>>2]|0,-1,o,0)|0;k[p>>2]=c;Ud(k[d>>2]|0)}else k[p>>2]=7;do if(!(k[p>>2]|0)){k[b>>2]=((k[(k[e>>2]|0)+24>>2]|0)+1<<2)*3;d=Sd(k[b>>2]|0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){k[p>>2]=7;break}else{KR(k[f>>2]|0,0,k[b>>2]|0)|0;k[h>>2]=(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);k[g>>2]=(k[h>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(k[p>>2]|0))b=100==(Ee(k[o>>2]|0)|0);else b=0;a=k[e>>2]|0;if(!b)break;a=dp(a,k[o>>2]|0)|0;k[m>>2]=a;a=k[e>>2]|0;c=k[m>>2]|0;d=Oe(k[o>>2]|0,0)|0;d=To(a,0,c,d,L)|0;k[p>>2]=d;KR(k[f>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2|0)|0;k[j>>2]=0;while(1){if(k[p>>2]|0)break;if((k[j>>2]|0)>=(k[(k[e>>2]|0)+24>>2]|0))break;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){c=Pe(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;k[s>>2]=c;c=Zo(k[e>>2]|0,k[m>>2]|0,k[s>>2]|0,k[j>>2]|0,(k[f>>2]|0)+(k[j>>2]<<2)|0)|0;k[p>>2]=c;c=Le(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;d=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+c}k[j>>2]=(k[j>>2]|0)+1}if(i[(k[e>>2]|0)+230>>0]|0)Vo(p,k[e>>2]|0,k[f>>2]|0);if(k[p>>2]|0){ge(k[o>>2]|0)|0;k[o>>2]=0;continue}k[n>>2]=(k[n>>2]|0)+1;k[j>>2]=0;while(1){if((k[j>>2]|0)>(k[(k[e>>2]|0)+24>>2]|0))continue a;d=(k[h>>2]|0)+(k[j>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0);k[j>>2]=(k[j>>2]|0)+1}}if(i[a+228>>0]|0)Wo(p,k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[n>>2]|0);Ud(k[f>>2]|0);if(!(k[o>>2]|0)){s=k[p>>2]|0;r=t;return s|0}s=ge(k[o>>2]|0)|0;k[q>>2]=s;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[p>>2]=k[q>>2];s=k[p>>2]|0;r=t;return s|0}function fp(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=0;a=kp(k[e>>2]|0,d)|0;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)==0&(k[d>>2]|0)==0?267:a;r=c;return k[b>>2]|0}function gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+20|0;j=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;k[c>>2]=a;k[j>>2]=b;k[e>>2]=8;k[d>>2]=0;k[g>>2]=k[j>>2];b=ip(g)|0;k[d>>2]=b;if((i[k[g>>2]>>0]|0)==44?(i[(k[g>>2]|0)+1>>0]|0)!=0:0){k[g>>2]=(k[g>>2]|0)+1;j=ip(g)|0;k[e>>2]=j}if((k[e>>2]|0)<2?1:(i[k[g>>2]>>0]|0)!=0){k[f>>2]=1;j=k[f>>2]|0;r=h;return j|0}k[f>>2]=0;if(!(i[(k[c>>2]|0)+229>>0]|0))jp(f,k[c>>2]|0);if(!(k[f>>2]|0)){j=oo(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=j}Gm(k[c>>2]|0);j=k[f>>2]|0;r=h;return j|0}function hp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;k[f>>2]=0;k[e>>2]=0;b=ip(h)|0;k[(k[d>>2]|0)+48>>2]=b;if(!((k[(k[d>>2]|0)+48>>2]|0)!=1?(k[(k[d>>2]|0)+48>>2]|0)<=16:0))k[(k[d>>2]|0)+48>>2]=8;if((i[(k[d>>2]|0)+229>>0]|0)==0?(jp(f,k[d>>2]|0),(k[f>>2]|0)!=0):0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}h=xl(k[d>>2]|0,23,e,0)|0;k[f>>2]=h;if(k[f>>2]|0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}else{Ve(k[e>>2]|0,1,2)|0;Ve(k[e>>2]|0,2,k[(k[d>>2]|0)+48>>2]|0)|0;Ee(k[e>>2]|0)|0;h=he(k[e>>2]|0)|0;k[f>>2]=h;k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}return 0}function ip(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[c>>2]=0;while(1){if((i[k[d>>2]>>0]|0)<48){a=5;break}if((i[k[d>>2]>>0]|0)>57){a=5;break}f=(k[c>>2]|0)*10|0;a=k[d>>2]|0;k[d>>2]=a+1;k[c>>2]=f+(i[a>>0]|0)-48}if((a|0)==5){k[k[b>>2]>>2]=k[d>>2];r=e;return k[c>>2]|0}return 0}function jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d;e=d+12|0;c=d+8|0;k[e>>2]=a;k[c>>2]=b;b=k[e>>2]|0;a=k[(k[c>>2]|0)+12>>2]|0;g=k[(k[c>>2]|0)+20>>2]|0;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[f+4>>2]=g;vl(b,a,24153,f);if(k[k[e>>2]>>2]|0){r=d;return}i[(k[c>>2]|0)+229>>0]=1;r=d;return}function kp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+112|0;g=E+24|0;i=E+108|0;j=E+104|0;B=E+100|0;m=E+16|0;n=E+8|0;e=E+96|0;f=E+92|0;d=E+88|0;c=E+84|0;y=E+80|0;z=E+76|0;h=E+72|0;q=E;u=E+68|0;p=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;D=E+48|0;x=E+44|0;s=E+40|0;t=E+36|0;v=E+32|0;o=E+28|0;k[i>>2]=a;k[j>>2]=b;k[B>>2]=0;b=m;k[b>>2]=0;k[b+4>>2]=0;b=n;k[b>>2]=0;k[b+4>>2]=0;k[e>>2]=0;b=xl(k[i>>2]|0,27,e,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Ve(k[e>>2]|0,1,k[(k[i>>2]|0)+272>>2]|0)|0;Ve(k[e>>2]|0,2,k[(k[i>>2]|0)+248>>2]|0)|0;a:while(1){if(!(k[B>>2]|0))a=(Ee(k[e>>2]|0)|0)==100;else a=0;b=k[e>>2]|0;if(!a)break;b=Ne(b,0)|0;k[d>>2]=b;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue a;a=m;G=k[a>>2]|0;a=k[a+4>>2]|0;F=lp(k[i>>2]|0,k[d>>2]|0,k[c>>2]|0,B)|0;b=m;k[b>>2]=G^F;k[b+4>>2]=a^L;k[c>>2]=(k[c>>2]|0)+1}}G=he(b)|0;k[f>>2]=G;if(!(k[B>>2]|0))k[B>>2]=k[f>>2]}if(k[B>>2]|0){D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}k[y>>2]=k[k[(k[i>>2]|0)+36>>2]>>2];k[z>>2]=0;k[g>>2]=k[(k[i>>2]|0)+216>>2];G=Yd(24230,g)|0;k[h>>2]=G;if(k[h>>2]|0){G=lf(k[(k[i>>2]|0)+12>>2]|0,k[h>>2]|0,-1,z,0)|0;k[B>>2]=G;Ud(k[h>>2]|0)}else k[B>>2]=7;b:while(1){if(!(k[B>>2]|0))a=100==(Ee(k[z>>2]|0)|0);else a=0;b=k[z>>2]|0;if(!a)break;F=Oe(b,0)|0;G=q;k[G>>2]=F;k[G+4>>2]=L;G=dp(k[i>>2]|0,k[z>>2]|0)|0;k[u>>2]=G;k[p>>2]=0;while(1){if(k[B>>2]|0)continue b;if((k[p>>2]|0)>=(k[(k[i>>2]|0)+24>>2]|0))continue b;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[p>>2]|0)>>0]|0)){G=Pe(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[C>>2]=G;G=Le(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[w>>2]=G;k[A>>2]=0;G=Kn(k[(k[i>>2]|0)+36>>2]|0,k[u>>2]|0,k[C>>2]|0,k[w>>2]|0,A)|0;k[B>>2]=G;c:while(1){if(k[B>>2]|0)break;k[x>>2]=0;k[s>>2]=0;k[t>>2]=0;k[v>>2]=0;G=ac[k[(k[y>>2]|0)+20>>2]&255](k[A>>2]|0,D,x,s,t,v)|0;k[B>>2]=G;if(k[B>>2]|0)continue;F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=mp(k[D>>2]|0,k[x>>2]|0,k[u>>2]|0,0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L;k[o>>2]=1;while(1){if((k[o>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue c;if((k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0)<=(k[x>>2]|0)){F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=mp(k[D>>2]|0,k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0,k[u>>2]|0,k[o>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L}k[o>>2]=(k[o>>2]|0)+1}}if(k[A>>2]|0)bc[k[(k[y>>2]|0)+16>>2]&255](k[A>>2]|0)|0;if((k[B>>2]|0)==101)k[B>>2]=0}k[p>>2]=(k[p>>2]|0)+1}}ge(b)|0;D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}function lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+144|0;f=u+140|0;g=u+136|0;h=u+132|0;i=u+128|0;e=u+112|0;l=u+56|0;t=u+48|0;j=u+32|0;q=u+44|0;s=u+40|0;n=u+24|0;m=u+16|0;o=u+8|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=j;k[c>>2]=0;k[c+4>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;c=l;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));k[e+12>>2]=3;d=e+12|0;k[d>>2]=k[d>>2]|16;d=yl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,-2,0,0,0,1,l)|0;k[t>>2]=d;if(!(k[t>>2]|0)){e=Cl(k[f>>2]|0,l,e)|0;k[t>>2]=e}if(k[t>>2]|0){Jl(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}a:while(1){e=Dl(k[f>>2]|0,l)|0;k[t>>2]=e;if(100!=(e|0))break;k[q>>2]=k[l+48>>2];k[s>>2]=(k[q>>2]|0)+(k[l+52>>2]|0);e=n;k[e>>2]=0;k[e+4>>2]=0;e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=gm(k[q>>2]|0,n)|0;k[q>>2]=(k[q>>2]|0)+e;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue a;e=p;k[e>>2]=0;k[e+4>>2]=0;e=gm(k[q>>2]|0,p)|0;k[q>>2]=(k[q>>2]|0)+e;if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue;d=p;e=p;if(!((k[d>>2]|0)==0&(k[d+4>>2]|0)==0|(k[e>>2]|0)==1&(k[e+4>>2]|0)==0)){b=p;b=FR(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;d=o;b=GR(k[d>>2]|0,k[d+4>>2]|0,b|0,L|0)|0;d=o;k[d>>2]=b;k[d+4>>2]=L;d=j;b=k[d>>2]|0;d=k[d+4>>2]|0;a=n;a=mp(k[l+40>>2]|0,k[l+44>>2]|0,k[g>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;e=j;k[e>>2]=b^a;k[e+4>>2]=d^L;continue}e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=p;c=k[q>>2]|0;if((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0){e=gm(c,m)|0;k[q>>2]=(k[q>>2]|0)+e;continue}else{d=gm(c,p)|0;k[q>>2]=(k[q>>2]|0)+d;d=p;e=n;d=GR(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;continue}}}Jl(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}function mp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=r;r=r+48|0;j=o+40|0;l=o+36|0;t=o+32|0;s=o+28|0;u=o+8|0;q=o+24|0;p=o+20|0;m=o+16|0;n=o;k[j>>2]=a;k[l>>2]=b;k[t>>2]=c;k[s>>2]=d;b=u;k[b>>2]=e;k[b+4>>2]=f;k[q>>2]=g;k[p>>2]=h;h=u;b=k[h+4>>2]|0;a=n;k[a>>2]=k[h>>2];k[a+4>>2]=b;a=n;a=LR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[t>>2]|0;b=GR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=GR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=LR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[s>>2]|0;b=GR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=GR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=LR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[q>>2]|0;b=GR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=GR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=LR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[p>>2]|0;b=GR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=GR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;k[m>>2]=0;while(1){f=n;e=k[f>>2]|0;f=k[f+4>>2]|0;if((k[m>>2]|0)>=(k[l>>2]|0))break;u=LR(e|0,f|0,3)|0;t=i[(k[j>>2]|0)+(k[m>>2]|0)>>0]|0;t=GR(u|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;t=GR(k[u>>2]|0,k[u+4>>2]|0,t|0,L|0)|0;u=n;k[u>>2]=t;k[u+4>>2]=L;k[m>>2]=(k[m>>2]|0)+1}L=f;r=o;return e|0}function np(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];a:do if(!(k[c>>2]|0))i[(k[b>>2]|0)+6>>0]=1;else do{if(!(l[(k[b>>2]|0)+7>>0]|0))he(k[(k[b>>2]|0)+8>>2]|0)|0;$m(k[b>>2]|0,k[c>>2]|0,d);i[(k[b>>2]|0)+6>>0]=i[(k[c>>2]|0)+32>>0]|0;i[(k[b>>2]|0)+7>>0]=1;k[(k[b>>2]|0)+88>>2]=1;g=(k[c>>2]|0)+24|0;f=k[g+4>>2]|0;a=(k[b>>2]|0)+32|0;k[a>>2]=k[g>>2];k[a+4>>2]=f;if(l[(k[b>>2]|0)+6>>0]|0)break a}while((Wm(k[b>>2]|0,d)|0)!=0);while(0);if(k[d>>2]|0){g=k[d>>2]|0;r=e;return g|0}if(!((l[(k[b>>2]|0)+52>>0]|0|0)==0?(f=(k[b>>2]|0)+32|0,a=k[f+4>>2]|0,g=(k[b>>2]|0)+80|0,c=k[g+4>>2]|0,(a|0)>(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0)){if(!(l[(k[b>>2]|0)+52>>0]|0)){g=k[d>>2]|0;r=e;return g|0}f=(k[b>>2]|0)+32|0;a=k[f+4>>2]|0;g=(k[b>>2]|0)+72|0;c=k[g+4>>2]|0;if(!((a|0)<(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0<(k[g>>2]|0)>>>0:0))){g=k[d>>2]|0;r=e;return g|0}}i[(k[b>>2]|0)+6>>0]=1;g=k[d>>2]|0;r=e;return g|0}function op(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];while(1){if(!(k[b>>2]|0))break;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)break;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}a:while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+8>>2];Op(k[b>>2]|0);if(((k[c>>2]|0)!=0?(k[b>>2]|0)==(k[(k[c>>2]|0)+12>>2]|0):0)?(k[(k[c>>2]|0)+16>>2]|0)!=0:0){k[b>>2]=k[(k[c>>2]|0)+16>>2];while(1){if(!(k[b>>2]|0))continue a;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)continue a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}}k[b>>2]=k[c>>2]}r=d;return}function pp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+8|0;e=h+20|0;f=h;g=h+16|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if((k[e>>2]|0)!=0?(a=bf(k[e>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==1):0){a=oe(k[e>>2]|0)|0;g=d;k[g>>2]=a;k[g+4>>2]=L;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}a=k[f+4>>2]|0;g=d;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}function qp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=r;r=r+64|0;q=s+8|0;p=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;l=s+28|0;t=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;k[z>>2]=a;k[y>>2]=b;k[x>>2]=c;k[w>>2]=d;k[v>>2]=e;k[u>>2]=f;k[l>>2]=g;k[t>>2]=h;k[m>>2]=i;k[n>>2]=j;g=Cp(k[z>>2]|0,k[y>>2]|0,k[x>>2]|0,k[w>>2]|0,k[v>>2]|0,k[u>>2]|0,k[l>>2]|0,k[t>>2]|0,k[m>>2]|0)|0;k[o>>2]=g;if(((k[o>>2]|0)==0?(k[k[m>>2]>>2]|0)!=0:0)?(z=Dp(k[m>>2]|0,12)|0,k[o>>2]=z,(k[o>>2]|0)==0):0){z=Ep(k[k[m>>2]>>2]|0,12)|0;k[o>>2]=z}if(!(k[o>>2]|0)){z=k[o>>2]|0;r=s;return z|0}op(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;if((k[o>>2]|0)==18){z=k[n>>2]|0;k[p>>2]=12;Nk(z,24339,p);k[o>>2]=1;z=k[o>>2]|0;r=s;return z|0}if((k[o>>2]|0)!=1){z=k[o>>2]|0;r=s;return z|0}z=k[n>>2]|0;k[q>>2]=k[l>>2];Nk(z,24391,q);z=k[o>>2]|0;r=s;return z|0}function rp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=r;r=r+48|0;b=m+36|0;n=m+32|0;j=m+28|0;g=m+24|0;f=m+20|0;c=m+16|0;d=m+12|0;e=m+8|0;h=m+4|0;i=m;k[b>>2]=a;k[n>>2]=k[k[b>>2]>>2];k[j>>2]=0;k[g>>2]=0;k[f>>2]=0;sp(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,g,f,j);do if((k[j>>2]|0)==0&(k[g>>2]|0)>1?(l[(k[n>>2]|0)+228>>0]|0|0)!=0:0){n=Sd(((k[g>>2]|0)*24|0)+(k[f>>2]<<2<<1)|0)|0;k[c>>2]=n;k[d>>2]=(k[c>>2]|0)+((k[g>>2]|0)*24|0);if(!(k[c>>2]|0)){k[j>>2]=7;break}k[h>>2]=k[c>>2];k[i>>2]=k[d>>2];tp(k[b>>2]|0,0,k[(k[b>>2]|0)+12>>2]|0,h,i,j);k[g>>2]=((k[h>>2]|0)-(k[c>>2]|0)|0)/24|0;k[f>>2]=((k[i>>2]|0)-(k[d>>2]|0)|0)/4|0;a:do if(!(k[j>>2]|0)){n=up(k[b>>2]|0,0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=0;while(1){if(k[j>>2]|0)break a;if((k[e>>2]|0)>=(k[f>>2]|0))break a;n=up(k[b>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=(k[e>>2]|0)+1}}while(0);Ud(k[c>>2]|0)}while(0);vp(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,j);r=m;return k[j>>2]|0}function sp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+32|0;m=p+28|0;g=p+24|0;h=p+20|0;n=p+16|0;i=p+12|0;j=p+8|0;l=p+4|0;o=p;k[f>>2]=a;k[m>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=e;if(!(k[m>>2]|0)){r=p;return}if(k[k[n>>2]>>2]|0){r=p;return}a=k[m>>2]|0;if((k[k[m>>2]>>2]|0)!=5){o=k[h>>2]|0;k[o>>2]=(k[o>>2]|0)+((k[a>>2]|0)==4&1);sp(k[f>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);sp(k[f>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);r=p;return}k[j>>2]=k[(k[a+20>>2]|0)+64>>2];h=k[g>>2]|0;k[h>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[j>>2]|0)){a=9;break}k[l>>2]=(k[(k[m>>2]|0)+20>>2]|0)+72+((k[i>>2]|0)*24|0);h=Ap(k[f>>2]|0,k[k[l>>2]>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[(k[l>>2]|0)+8>>2]|0,(k[l>>2]|0)+20|0)|0;k[o>>2]=h;if(k[o>>2]|0){a=7;break}k[i>>2]=(k[i>>2]|0)+1}if((a|0)==7){k[k[n>>2]>>2]=k[o>>2];r=p;return}else if((a|0)==9){k[(k[(k[m>>2]|0)+20>>2]|0)+44>>2]=-1;r=p;return}}function tp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;i=q;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;if(k[k[p>>2]>>2]|0){r=q;return}c=k[m>>2]|0;if((k[k[m>>2]>>2]|0)==5){k[h>>2]=k[c+20>>2];k[g>>2]=0;while(1){if(k[k[p>>2]>>2]|0){a=13;break}if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0)){a=13;break}m=k[n>>2]|0;o=k[m>>2]|0;k[m>>2]=o+24;k[i>>2]=o;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+12>>2]=k[l>>2];k[(k[i>>2]|0)+8>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);k[(k[i>>2]|0)+20>>2]=k[(k[h>>2]|0)+68>>2];o=zp(k[j>>2]|0,k[(k[(k[i>>2]|0)+8>>2]|0)+20>>2]|0,(k[i>>2]|0)+16|0)|0;k[k[p>>2]>>2]=o;k[g>>2]=(k[g>>2]|0)+1}if((a|0)==13){r=q;return}}if((k[c>>2]|0)==2){r=q;return}if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+12>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}tp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+16>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}tp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);r=q;return}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;e=B+76|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;w=B+56|0;n=B+52|0;z=B+48|0;l=B+44|0;s=B+40|0;t=B+36|0;q=B+32|0;p=B+28|0;j=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;o=B+8|0;u=B+4|0;m=B;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[w>>2]=k[k[f>>2]>>2];k[n>>2]=0;k[z>>2]=0;k[s>>2]=0;k[t>>2]=0;k[q>>2]=0;k[p>>2]=1;if(k[(k[w>>2]|0)+40>>2]|0){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[i>>2]|0))break;if((k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0)){k[s>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+16>>2]|0);k[t>>2]=(k[t>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1}if((k[s>>2]|0)==0|(k[t>>2]|0)<2){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}b=wp(k[f>>2]|0,n)|0;k[z>>2]=b;k[l>>2]=0;while(1){if(!((k[l>>2]|0)<(k[t>>2]|0)?(k[z>>2]|0)==0:0))break;k[v>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[i>>2]|0))break;do if((k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+8>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0):0){if((k[v>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+16>>2]|0)>=(k[(k[v>>2]|0)+16>>2]|0):0)break;k[v>>2]=(k[h>>2]|0)+((k[j>>2]|0)*24|0)}while(0);k[j>>2]=(k[j>>2]|0)+1}if((k[l>>2]|0)!=0?(k[(k[v>>2]|0)+16>>2]|0)>=(ha(((k[q>>2]|0)+((k[p>>2]|0)/4|0)-1|0)/((k[p>>2]|0)/4|0|0)|0,k[n>>2]|0)|0):0){k[x>>2]=k[(k[v>>2]|0)+8>>2];b=xp(k[f>>2]|0,k[x>>2]|0,k[(k[v>>2]|0)+20>>2]|0)|0;k[z>>2]=b;wn(k[(k[x>>2]|0)+20>>2]|0);k[(k[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((k[l>>2]|0)<12)k[p>>2]=k[p>>2]<<2;if(k[l>>2]|0){if((k[(k[k[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((k[l>>2]|0)==((k[t>>2]|0)-1|0))break}k[y>>2]=k[(k[v>>2]|0)+8>>2];k[o>>2]=0;k[u>>2]=0;b=pn(k[w>>2]|0,k[y>>2]|0,k[(k[v>>2]|0)+20>>2]|0,o,u)|0;k[z>>2]=b;if(!(k[z>>2]|0)){b=qn(k[w>>2]|0,k[k[v>>2]>>2]|0,k[(k[v>>2]|0)+4>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;k[z>>2]=b}if(!(k[z>>2]|0)){b=yp(k[k[k[v>>2]>>2]>>2]|0,k[(k[k[v>>2]>>2]|0)+4>>2]|0)|0;k[m>>2]=b;if((k[l>>2]|0)!=0?(k[m>>2]|0)>=(k[q>>2]|0):0)break;k[q>>2]=k[m>>2]}}while(0);k[(k[v>>2]|0)+8>>2]=0;k[l>>2]=(k[l>>2]|0)+1}k[e>>2]=k[z>>2];A=k[e>>2]|0;r=B;return A|0}function vp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;h=j+12|0;e=j+8|0;g=j+4|0;f=j;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(!(k[h>>2]|0)){r=j;return}if(k[k[e>>2]>>2]|0){r=j;return}if((k[k[h>>2]>>2]|0)!=5){vp(k[d>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0);vp(k[d>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0);if(l[(k[(k[h>>2]|0)+12>>2]|0)+34>>0]|0)d=(l[(k[(k[h>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else d=0;i[(k[h>>2]|0)+34>>0]=d&1;r=j;return}k[g>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+64>>2];if(k[g>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+20>>2]|0)+72+((k[f>>2]|0)*24|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}i[(k[h>>2]|0)+34>>0]=(k[f>>2]|0)==(k[g>>2]|0)}h=mn(k[d>>2]|0,1,k[(k[h>>2]|0)+20>>2]|0)|0;k[k[e>>2]>>2]=h;r=j;return}function wp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+44|0;d=n+40|0;e=n+36|0;m=n+32|0;i=n+28|0;l=n+24|0;h=n+8|0;g=n;j=n+20|0;f=n+16|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+60>>2]|0)){k[i>>2]=k[k[d>>2]>>2];b=h;k[b>>2]=0;k[b+4>>2]=0;b=g;k[b>>2]=0;k[b+4>>2]=0;b=Xn(k[i>>2]|0,l)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}b=Ke(k[l>>2]|0,0)|0;k[f>>2]=b;b=Le(k[l>>2]|0,0)|0;k[j>>2]=(k[f>>2]|0)+b;b=gm(k[f>>2]|0,h)|0;k[f>>2]=(k[f>>2]|0)+b;while(1){if((k[f>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break;b=gm(k[f>>2]|0,g)|0;k[f>>2]=(k[f>>2]|0)+b}j=h;b=g;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){he(k[l>>2]|0)|0;k[c>>2]=267;m=k[c>>2]|0;r=n;return m|0}a=h;b=k[a+4>>2]|0;j=(k[d>>2]|0)+64|0;k[j>>2]=k[a>>2];k[j+4>>2]=b;j=g;b=h;b=PR(k[j>>2]|0,k[j+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;j=k[(k[i>>2]|0)+236>>2]|0;j=GR(b|0,L|0,j|0,((j|0)<0)<<31>>31|0)|0;b=k[(k[i>>2]|0)+236>>2]|0;b=PR(j|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;k[(k[d>>2]|0)+60>>2]=b;b=he(k[l>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}}k[k[e>>2]>>2]=k[(k[d>>2]|0)+60>>2];k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=Sd(16)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[h>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[k[h>>2]>>2]=k[f>>2];k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+24>>2];k[(k[h>>2]|0)+4>>2]=k[g>>2];k[(k[e>>2]|0)+24>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[h>>2];k[d>>2]=0;b=k[d>>2]|0;r=i;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=i;return b|0}return 0}function yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[c>>2]|0)){g=k[f>>2]|0;r=h;return g|0}k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);k[g>>2]=k[c>>2];while(1){if((k[g>>2]|0)>>>0>=(k[e>>2]|0)>>>0)break;k[f>>2]=(k[f>>2]|0)+1;do{b=k[g>>2]|0;k[g>>2]=b+1}while((i[b>>0]&128|0)!=0);lm(0,g)}g=k[f>>2]|0;r=h;return g|0}function zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+44|0;d=p+40|0;m=p+36|0;h=p+32|0;n=p+28|0;e=p+24|0;o=p+20|0;j=p+16|0;i=p+12|0;f=p;g=p+8|0;k[q>>2]=a;k[d>>2]=b;k[m>>2]=c;k[h>>2]=k[k[q>>2]>>2];k[n>>2]=0;k[o>>2]=0;k[j>>2]=k[(k[h>>2]|0)+236>>2];k[e>>2]=0;while(1){if(k[o>>2]|0){d=13;break}if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){d=13;break}k[i>>2]=k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<2)>>2];a:do if((k[(k[i>>2]|0)+56>>2]|0)==0?(l[(k[i>>2]|0)+5>>0]|0|0)==0:0){b=(k[i>>2]|0)+8|0;c=k[b+4>>2]|0;q=f;k[q>>2]=k[b>>2];k[q+4>>2]=c;while(1){c=f;a=k[c+4>>2]|0;q=(k[i>>2]|0)+16|0;b=k[q+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)))break a;q=f;q=om(k[h>>2]|0,k[q>>2]|0,k[q+4>>2]|0,0,g,0)|0;k[o>>2]=q;if(k[o>>2]|0)break a;if(((k[g>>2]|0)+35|0)>(k[j>>2]|0))k[n>>2]=(k[n>>2]|0)+(((k[g>>2]|0)+34|0)/(k[j>>2]|0)|0);c=f;c=GR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;q=f;k[q>>2]=c;k[q+4>>2]=L}}while(0);k[e>>2]=(k[e>>2]|0)+1}if((d|0)==13){k[k[m>>2]>>2]=k[n>>2];r=p;return k[o>>2]|0}return 0}function Ap(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;l=q+4|0;n=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[p>>2]=7;b=Sd(56)|0;k[o>>2]=b;if(!(k[o>>2]|0)){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}k[l>>2]=0;k[n>>2]=k[k[f>>2]>>2];a:do if(k[i>>2]|0){k[m>>2]=1;while(1){if(k[l>>2]|0)break;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==(k[h>>2]|0)){k[l>>2]=1;b=yl(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,0,0,k[o>>2]|0)|0;k[p>>2]=b;k[(k[o>>2]|0)+36>>2]=1}k[m>>2]=(k[m>>2]|0)+1}k[m>>2]=1;while(1){if(k[l>>2]|0)break a;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break a;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==((k[h>>2]|0)+1|0)?(k[l>>2]=1,b=yl(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,1,0,k[o>>2]|0)|0,k[p>>2]=b,(k[p>>2]|0)==0):0){b=Bp(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[o>>2]|0)|0;k[p>>2]=b}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[l>>2]|0){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}e=yl(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0,-2,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0,k[o>>2]|0)|0;k[p>>2]=e;k[(k[o>>2]|0)+36>>2]=((k[i>>2]|0)!=0^1)&1;e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}function Bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=rm(k[l>>2]|0,k[j>>2]|0,0,-2,k[i>>2]|0,k[h>>2]|0,0,0,k[g>>2]|0)|0;r=f;return c|0}function Cp(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+96|0;j=y+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[s>>2]=g;k[t>>2]=h;k[u>>2]=i;c=x;d=c+36|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[x>>2]=k[l>>2];k[x+4>>2]=k[m>>2];k[x+8>>2]=k[n>>2];k[x+16>>2]=k[p>>2];k[x+20>>2]=k[q>>2];k[x+12>>2]=k[o>>2];if(!(k[s>>2]|0)){k[k[u>>2]>>2]=0;k[j>>2]=0;x=k[j>>2]|0;r=y;return x|0}if((k[t>>2]|0)<0){q=$Q(k[s>>2]|0)|0;k[t>>2]=q}v=Fp(x,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,v)|0;k[w>>2]=v;if((k[w>>2]|0)==0?(k[x+32>>2]|0)!=0:0)k[w>>2]=1;k[j>>2]=k[w>>2];x=k[j>>2]|0;r=y;return x|0}function Dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;e=t+52|0;f=t+48|0;q=t+44|0;p=t+40|0;n=t+36|0;h=t+32|0;g=t+28|0;i=t+24|0;l=t+20|0;j=t+16|0;o=t+12|0;m=t+8|0;c=t+4|0;d=t;k[e>>2]=a;k[f>>2]=b;k[q>>2]=0;k[p>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[h>>2]=k[k[p>>2]>>2];if(!(k[f>>2]|0))k[q>>2]=1;do if(!(k[q>>2]|0)){if(!((k[h>>2]|0)==3|(k[h>>2]|0)==4)){if((k[h>>2]|0)!=2)break;k[c>>2]=k[(k[p>>2]|0)+12>>2];k[d>>2]=k[(k[p>>2]|0)+16>>2];k[(k[p>>2]|0)+12>>2]=0;k[(k[p>>2]|0)+16>>2]=0;k[(k[c>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+8>>2]=0;s=Dp(c,(k[f>>2]|0)-1|0)|0;k[q>>2]=s;if(!(k[q>>2]|0)){s=Dp(d,(k[f>>2]|0)-1|0)|0;k[q>>2]=s}if(k[q>>2]|0){op(k[d>>2]|0);op(k[c>>2]|0);break}else{k[(k[p>>2]|0)+12>>2]=k[c>>2];k[(k[c>>2]|0)+8>>2]=k[p>>2];k[(k[p>>2]|0)+16>>2]=k[d>>2];k[(k[d>>2]|0)+8>>2]=k[p>>2];break}}a=Sd(k[f>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0))k[q>>2]=7;else KR(k[g>>2]|0,0,k[f>>2]<<2|0)|0;if(!(k[q>>2]|0)){k[l>>2]=k[p>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}while(1){k[o>>2]=k[(k[l>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;if(k[o>>2]|0)k[(k[o>>2]|0)+12>>2]=0;else k[p>>2]=0;a=Dp(l,(k[f>>2]|0)-1|0)|0;k[q>>2]=a;if(k[q>>2]|0)break;k[j>>2]=0;while(1){if(!(k[l>>2]|0))break;if((k[j>>2]|0)>=(k[f>>2]|0))break;if(!(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)){k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[l>>2]=0}else{k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[j>>2]<<2)>>2];k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(k[l>>2]|0){s=24;break}if(!(k[o>>2]|0))break;k[l>>2]=k[(k[o>>2]|0)+16>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}k[(k[(k[o>>2]|0)+16>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];b=k[(k[o>>2]|0)+16>>2]|0;if(k[(k[o>>2]|0)+8>>2]|0)k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]=b;else k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=k[n>>2];k[n>>2]=k[o>>2]}if((s|0)==24){op(k[l>>2]|0);k[q>>2]=18}a:do if(!(k[q>>2]|0)){k[l>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;do if(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)if(!(k[l>>2]|0)){k[l>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[l>>2]|0)+8>>2]=0;break}else{k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;break}while(0);k[i>>2]=(k[i>>2]|0)+1}k[p>>2]=k[l>>2]}else{k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;op(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0);k[i>>2]=(k[i>>2]|0)+1}while(1){s=k[n>>2]|0;k[m>>2]=s;if(!s)break a;k[n>>2]=k[(k[m>>2]|0)+8>>2];Ud(k[m>>2]|0)}}while(0);Ud(k[g>>2]|0)}}while(0);if(!(k[q>>2]|0)){p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}op(k[p>>2]|0);k[p>>2]=0;p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}function Ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[c>>2]|0){if((k[d>>2]|0)<0){k[e>>2]=18;break}a=Ep(k[(k[c>>2]|0)+12>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Ep(k[(k[c>>2]|0)+16>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a}}while(0);r=f;return k[e>>2]|0}function Fp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;f=x+64|0;y=x+60|0;n=x+56|0;o=x+52|0;p=x+48|0;v=x+44|0;l=x+40|0;u=x+36|0;s=x+32|0;m=x+28|0;w=x+24|0;q=x+20|0;t=x+16|0;i=x+12|0;h=x+8|0;g=x+4|0;j=x;k[f>>2]=a;k[y>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[v>>2]=0;k[l>>2]=0;k[u>>2]=0;k[s>>2]=k[n>>2];k[m>>2]=k[y>>2];k[w>>2]=0;k[q>>2]=1;while(1){if(k[w>>2]|0){c=25;break}k[t>>2]=0;k[i>>2]=0;y=Gp(k[f>>2]|0,k[m>>2]|0,k[s>>2]|0,t,i)|0;k[w>>2]=y;if((k[w>>2]|0)==0&(k[t>>2]|0)!=0){k[g>>2]=k[k[t>>2]>>2];if((k[g>>2]|0)==5)c=1;else c=(k[(k[t>>2]|0)+12>>2]|0)!=0;k[h>>2]=c&1;if((k[h>>2]|0)==0&(k[q>>2]|0)!=0){c=7;break}if(!((k[h>>2]|0)==0|(k[q>>2]|0)!=0)){y=Hp(48)|0;k[j>>2]=y;if(!(k[j>>2]|0)){c=10;break}k[k[j>>2]>>2]=3;Ip(v,k[l>>2]|0,k[j>>2]|0);k[l>>2]=k[j>>2]}if(k[l>>2]|0){if(!((k[g>>2]|0)!=1|(k[h>>2]|0)!=0)?(k[k[l>>2]>>2]|0)!=5:0){c=17;break}if((k[g>>2]|0)!=5&(k[h>>2]|0)!=0?(k[k[l>>2]>>2]|0)==1:0){c=17;break}}do if(k[h>>2]|0){c=k[t>>2]|0;if(k[v>>2]|0){k[(k[l>>2]|0)+16>>2]=c;k[(k[t>>2]|0)+8>>2]=k[l>>2];break}else{k[v>>2]=c;break}}else Ip(v,k[l>>2]|0,k[t>>2]|0);while(0);k[q>>2]=((k[h>>2]|0)!=0^1)&1;k[l>>2]=k[t>>2]}k[s>>2]=(k[s>>2]|0)-(k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0)}if((c|0)==7){op(k[t>>2]|0);k[w>>2]=1}else if((c|0)==10){op(k[t>>2]|0);k[w>>2]=7}else if((c|0)==17){op(k[t>>2]|0);k[w>>2]=1}else if((c|0)==25){if((k[w>>2]|0)==101&(k[v>>2]|0)!=0&(k[q>>2]|0)!=0)k[w>>2]=1;if((k[w>>2]|0)==101)k[w>>2]=0;k[k[p>>2]>>2]=(k[n>>2]|0)-(k[s>>2]|0)}if(!(k[w>>2]|0)){v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}op(k[v>>2]|0);op(k[u>>2]|0);k[v>>2]=0;v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}function Gp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+80|0;o=E+72|0;p=E+68|0;q=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;n=E+32|0;B=E+28|0;y=E+24|0;m=E+20|0;j=E+16|0;h=E+12|0;f=E+76|0;g=E+8|0;C=E+4|0;z=E;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[n>>2]=0;k[B>>2]=k[q>>2];k[y>>2]=k[s>>2];k[(k[p>>2]|0)+24>>2]=0;while(1){if((k[y>>2]|0)>0)a=(Kp(i[k[B>>2]>>0]|0)|0)!=0;else a=0;c=k[y>>2]|0;if(!a)break;k[y>>2]=c+-1;k[B>>2]=(k[B>>2]|0)+1}if(!c){k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[x>>2]=0;while(1){if((k[x>>2]|0)>=4)break;k[m>>2]=2100+(k[x>>2]<<3);if(((l[(k[m>>2]|0)+5>>0]&-2|0)==0?(k[y>>2]|0)>=(l[(k[m>>2]|0)+4>>0]|0):0)?0==(VQ(k[B>>2]|0,k[k[m>>2]>>2]|0,l[(k[m>>2]|0)+4>>0]|0)|0):0){k[j>>2]=10;k[h>>2]=l[(k[m>>2]|0)+4>>0];a:do if((((l[(k[m>>2]|0)+6>>0]|0)==1?(i[(k[B>>2]|0)+4>>0]|0)==47:0)?(i[(k[B>>2]|0)+5>>0]|0)>=48:0)?(i[(k[B>>2]|0)+5>>0]|0)<=57:0){k[j>>2]=0;k[h>>2]=5;while(1){if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)<48)break a;if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)>57)break a;k[j>>2]=((k[j>>2]|0)*10|0)+((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)-48);k[h>>2]=(k[h>>2]|0)+1}}while(0);i[f>>0]=i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0;if(Kp(i[f>>0]|0)|0){D=26;break}if((i[f>>0]|0)==34){D=26;break}if((i[f>>0]|0)==40){D=26;break}if((i[f>>0]|0)==41){D=26;break}if(!(i[f>>0]|0)){D=26;break}}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==26){D=Hp(48)|0;k[n>>2]=D;if(k[n>>2]|0){k[k[n>>2]>>2]=l[(k[m>>2]|0)+6>>0];k[(k[n>>2]|0)+4>>2]=k[j>>2];k[k[t>>2]>>2]=k[n>>2];k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[h>>2]|0);k[o>>2]=0;D=k[o>>2]|0;r=E;return D|0}else{k[o>>2]=7;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==34){k[x>>2]=1;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break;if((i[(k[B>>2]|0)+(k[x>>2]|0)>>0]|0)==34)break;k[x>>2]=(k[x>>2]|0)+1}k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[x>>2]|0)+1;if((k[x>>2]|0)==(k[y>>2]|0)){k[o>>2]=1;D=k[o>>2]|0;r=E;return D|0}else{D=Lp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[x>>2]|0)-1|0,k[t>>2]|0)|0;k[o>>2]=D;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==40){k[g>>2]=0;D=(k[p>>2]|0)+32|0;k[D>>2]=(k[D>>2]|0)+1;D=Fp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[y>>2]|0)-1|0,k[t>>2]|0,g)|0;k[A>>2]=D;if((k[A>>2]|0)==0?(k[k[t>>2]>>2]|0)==0:0)k[A>>2]=101;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1+(k[g>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}c=k[p>>2]|0;if((i[k[B>>2]>>0]|0)==41){D=c+32|0;k[D>>2]=(k[D>>2]|0)+-1;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1;k[k[t>>2]>>2]=0;k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[v>>2]=k[c+20>>2];k[w>>2]=0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[p>>2]|0)+16>>2]|0))break;k[C>>2]=k[(k[(k[p>>2]|0)+8>>2]|0)+(k[x>>2]<<2)>>2];n=$Q(k[C>>2]|0)|0;k[z>>2]=n;if(((k[y>>2]|0)>(k[z>>2]|0)?(i[(k[B>>2]|0)+(k[z>>2]|0)>>0]|0)==58:0)?(Jd(k[C>>2]|0,k[B>>2]|0,k[z>>2]|0)|0)==0:0){D=50;break}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==50){k[v>>2]=k[x>>2];k[w>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[z>>2]|0)+1}D=Mp(k[p>>2]|0,k[v>>2]|0,(k[q>>2]|0)+(k[w>>2]|0)|0,(k[s>>2]|0)-(k[w>>2]|0)|0,k[t>>2]|0,k[u>>2]|0)|0;k[A>>2]=D;D=k[u>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[w>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}function Hp(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}KR(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function Ip(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;k[f>>2]=k[h>>2];while(1){if(k[(k[f>>2]|0)+8>>2]|0){c=Jp(k[(k[f>>2]|0)+8>>2]|0)|0;c=(c|0)<=(Jp(k[e>>2]|0)|0)}else c=0;b=k[(k[f>>2]|0)+8>>2]|0;if(!c)break;k[f>>2]=b}c=k[e>>2]|0;if(b){k[(k[(k[f>>2]|0)+8>>2]|0)+16>>2]=c;k[(k[e>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}else{k[k[d>>2]>>2]=c;d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}}function Jp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Kp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(((((i[b>>0]|0)!=32?(i[b>>0]|0)!=9:0)?(i[b>>0]|0)!=10:0)?(i[b>>0]|0)!=13:0)?(i[b>>0]|0)!=11:0)b=(i[b>>0]|0)==12;else b=1;r=c;return b&1|0}function Lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;e=D+88|0;f=D+84|0;g=D+80|0;h=D+76|0;j=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;o=D+32|0;A=D+28|0;q=D+24|0;l=D+20|0;m=D+16|0;n=D+12|0;x=D+8|0;p=D+4|0;z=D;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[E>>2]=k[k[f>>2]>>2];k[w>>2]=k[k[E>>2]>>2];k[u>>2]=0;k[v>>2]=0;k[B>>2]=0;k[s>>2]=0;k[D+40>>2]=144;k[t>>2]=0;b=Kn(k[E>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[g>>2]|0,k[h>>2]|0,v)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){k[o>>2]=0;while(1){if(k[y>>2]|0)break;k[q>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;E=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,q,l,m,n)|0;k[y>>2]=E;if(!(k[y>>2]|0)){E=Np(k[u>>2]|0,144+((k[o>>2]|0)*24|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break a;E=Np(k[B>>2]|0,(k[s>>2]|0)+(k[q>>2]|0)|0)|0;k[B>>2]=E;if(!(k[B>>2]|0))break a;k[x>>2]=(k[u>>2]|0)+48+72+((k[o>>2]|0)*24|0);E=k[x>>2]|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;IR((k[B>>2]|0)+(k[s>>2]|0)|0,k[A>>2]|0,k[q>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[q>>2]|0);k[(k[x>>2]|0)+4>>2]=k[q>>2];if((k[m>>2]|0)<(k[h>>2]|0))c=(i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0)==42;else c=0;k[(k[x>>2]|0)+8>>2]=c&1;if((k[l>>2]|0)>0)c=(i[(k[g>>2]|0)+((k[l>>2]|0)-1)>>0]|0)==94;else c=0;k[(k[x>>2]|0)+12>>2]=c&1;k[t>>2]=(k[o>>2]|0)+1}k[o>>2]=(k[o>>2]|0)+1}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;k[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((k[y>>2]|0)==101){k[z>>2]=0;E=Np(k[u>>2]|0,144+((k[t>>2]|0)*24|0)+(k[s>>2]|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break;KR(k[u>>2]|0,0,(k[u>>2]|0)+48+72-(k[u>>2]|0)|0)|0;k[k[u>>2]>>2]=5;k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+48;k[(k[(k[u>>2]|0)+20>>2]|0)+68>>2]=k[(k[f>>2]|0)+20>>2];k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]=k[t>>2];k[z>>2]=(k[(k[u>>2]|0)+20>>2]|0)+72+((k[t>>2]|0)*24|0);if(k[B>>2]|0){IR(k[z>>2]|0,k[B>>2]|0,k[s>>2]|0)|0;Ud(k[B>>2]|0)}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]|0))break;k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)>>2]=k[z>>2];k[z>>2]=(k[z>>2]|0)+(k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)+4>>2]|0);k[p>>2]=(k[p>>2]|0)+1}k[y>>2]=0}k[k[j>>2]>>2]=k[u>>2];k[e>>2]=k[y>>2];E=k[e>>2]|0;r=D;return E|0}while(0);if(k[v>>2]|0)bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;Ud(k[B>>2]|0);Ud(k[u>>2]|0);k[k[j>>2]>>2]=0;k[e>>2]=7;E=k[e>>2]|0;r=D;return E|0}function Mp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;g=B+68|0;h=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;o=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;p=B+8|0;q=B+4|0;t=B;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[y>>2]=k[k[g>>2]>>2];k[w>>2]=k[k[y>>2]>>2];k[x>>2]=0;k[o>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[l>>2]|0))break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==40)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==41)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==34)break;k[o>>2]=(k[o>>2]|0)+1}k[k[n>>2]>>2]=k[o>>2];c=Kn(k[y>>2]|0,k[(k[g>>2]|0)+4>>2]|0,k[j>>2]|0,k[o>>2]|0,v)|0;k[z>>2]=c;if(k[z>>2]|0){c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}k[u>>2]=0;k[s>>2]=0;k[p>>2]=0;k[q>>2]=0;c=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,u,s,p,q)|0;k[z>>2]=c;if(k[z>>2]|0){if((k[o>>2]|0)!=0&(k[z>>2]|0)==101)k[z>>2]=0}else{k[t>>2]=144+(k[u>>2]|0);c=Hp(k[t>>2]|0)|0;k[x>>2]=c;a:do if(k[x>>2]|0){k[k[x>>2]>>2]=5;k[(k[x>>2]|0)+20>>2]=(k[x>>2]|0)+48;k[(k[(k[x>>2]|0)+20>>2]|0)+64>>2]=1;k[(k[(k[x>>2]|0)+20>>2]|0)+68>>2]=k[h>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72+4>>2]=k[u>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]=(k[(k[x>>2]|0)+20>>2]|0)+96;IR(k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]|0,k[A>>2]|0,k[u>>2]|0)|0;if((k[p>>2]|0)<(k[l>>2]|0)?(i[(k[j>>2]|0)+(k[p>>2]|0)>>0]|0)==42:0){k[(k[(k[x>>2]|0)+20>>2]|0)+72+8>>2]=1;k[p>>2]=(k[p>>2]|0)+1}while(1){if(!((k[s>>2]|0)>0?(k[(k[g>>2]|0)+12>>2]|0)!=0:0))break a;if((i[(k[j>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=94)break a;k[(k[(k[x>>2]|0)+20>>2]|0)+72+12>>2]=1;k[s>>2]=(k[s>>2]|0)+-1}}else k[z>>2]=7;while(0);k[k[n>>2]>>2]=k[p>>2]}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}function Np(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Vd(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){f=k[d>>2]|0;r=e;return f|0}Ud(k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}function Op(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Pp(k[(k[c>>2]|0)+20>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[c>>2]|0);r=b;return}function Pp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}Ud(k[k[c>>2]>>2]|0);bn(k[c>>2]|0);a=k[c>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0))break;wn(k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]|0);k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]=0;k[d>>2]=(k[d>>2]|0)+1}r=e;return}function Qp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+8>>2];sl(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+24>>2]=0;r=e;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((vf()|0)<3008002){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+48|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function Sp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((vf()|0)<3008012){r=c;return}a=(k[b>>2]|0)+56|0;k[a>>2]=k[a>>2]|1;r=c;return}function Tp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=r;r=r+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;p=ha+16|0;q=ha+8|0;o=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;h=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;m=ha+148|0;t=ha+144|0;j=ha+80|0;l=ha+76|0;n=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;k[v>>2]=a;k[w>>2]=b;k[ia>>2]=c;k[h>>2]=d;k[x>>2]=e;k[da>>2]=f;k[y>>2]=g;k[S>>2]=k[ia>>2];k[ea>>2]=0;k[ga>>2]=0;k[R>>2]=0;k[M>>2]=0;k[G>>2]=(i[(k[k[x>>2]>>2]|0)+3>>0]|0)==52&1;k[fa>>2]=0;k[O>>2]=0;k[A>>2]=0;k[D>>2]=0;k[C>>2]=0;k[ba>>2]=0;k[X>>2]=0;k[ca>>2]=0;k[Y>>2]=0;k[_>>2]=0;k[B>>2]=0;k[Q>>2]=0;g=($Q(k[(k[x>>2]|0)+4>>2]|0)|0)+1|0;k[N>>2]=g;g=($Q(k[(k[x>>2]|0)+8>>2]|0)|0)+1|0;k[P>>2]=g;k[L>>2]=(k[h>>2]|0)-2<<2;g=Sd(k[L>>2]|0)|0;k[z>>2]=g;if(k[z>>2]|0){KR(k[z>>2]|0,0,k[L>>2]|0)|0;ia=Sd(k[L>>2]|0)|0;k[B>>2]=ia}if(k[B>>2]|0)KR(k[B>>2]|0,0,k[L>>2]|0)|0;do if((k[z>>2]|0)!=0&(k[B>>2]|0)!=0){k[E>>2]=3;while(1){if(k[ga>>2]|0)break;if((k[E>>2]|0)>=(k[h>>2]|0))break;k[s>>2]=k[(k[x>>2]|0)+(k[E>>2]<<2)>>2];if((((k[fa>>2]|0)==0?($Q(k[s>>2]|0)|0)>>>0>8:0)?0==(Jd(k[s>>2]|0,24622,8)|0):0)?0==(Up(i[(k[s>>2]|0)+8>>0]|0)|0):0){ia=Vp(k[S>>2]|0,(k[s>>2]|0)+9|0,fa,k[y>>2]|0)|0;k[ga>>2]=ia}else u=15;do if((u|0)==15){u=0;if((k[G>>2]|0)!=0?(Wp(k[s>>2]|0,m,t)|0)!=0:0){d=j;e=2132;b=d+64|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));if(!(k[t>>2]|0)){k[ga>>2]=7;break}k[l>>2]=0;while(1){if((k[l>>2]|0)>=8)break;k[n>>2]=j+(k[l>>2]<<3);if((k[m>>2]|0)==(k[(k[n>>2]|0)+4>>2]|0)?(Jd(k[s>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)==0:0)break;k[l>>2]=(k[l>>2]|0)+1}a:do if((k[l>>2]|0)==8){ia=k[y>>2]|0;k[o>>2]=k[s>>2];Nk(ia,24631,o);k[ga>>2]=1}else switch(k[l>>2]|0){case 0:{if(!(($Q(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,21137,4)|0)==0:0)){ia=k[y>>2]|0;k[q>>2]=k[t>>2];Nk(ia,24658,q);k[ga>>2]=1}k[D>>2]=1;break a}case 1:{Ud(k[ba>>2]|0);k[ba>>2]=k[t>>2];k[t>>2]=0;break a}case 2:{Ud(k[X>>2]|0);k[X>>2]=k[t>>2];k[t>>2]=0;break a}case 3:{Ud(k[ca>>2]|0);k[ca>>2]=k[t>>2];k[t>>2]=0;break a}case 4:{if(!(($Q(k[t>>2]|0)|0)==3?(Jd(k[t>>2]|0,24685,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if(($Q(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,24689,4)|0)==0:0)break;ia=k[y>>2]|0;k[p>>2]=k[t>>2];Nk(ia,24694,p);k[ga>>2]=1}while(0);if((i[k[t>>2]>>0]|0)==100)d=1;else d=(i[k[t>>2]>>0]|0)==68;k[C>>2]=d&1;break a}case 5:{Ud(k[Y>>2]|0);k[Y>>2]=k[t>>2];k[t>>2]=0;break a}case 6:{Ud(k[_>>2]|0);k[_>>2]=k[t>>2];k[t>>2]=0;break a}case 7:{g=k[t>>2]|0;ia=k[Q>>2]|0;k[Q>>2]=ia+1;k[(k[B>>2]|0)+(ia<<2)>>2]=g;k[t>>2]=0;break a}default:break a}while(0);Ud(k[t>>2]|0);break}g=($Q(k[s>>2]|0)|0)+1|0;k[R>>2]=(k[R>>2]|0)+g;g=k[s>>2]|0;ia=k[M>>2]|0;k[M>>2]=ia+1;k[(k[z>>2]|0)+(ia<<2)>>2]=g}while(0);k[E>>2]=(k[E>>2]|0)+1}b:do if(((k[ga>>2]|0)==0&(k[Y>>2]|0)!=0?(Ud(k[X>>2]|0),Ud(k[ca>>2]|0),k[X>>2]=0,k[ca>>2]=0,(k[M>>2]|0)==0):0)?(Ud(k[z>>2]|0),k[z>>2]=0,ia=Xp(k[w>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[Y>>2]|0,z,M,R,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)==0&(k[_>>2]|0)!=0):0){k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[M>>2]|0))break b;ia=(be(k[_>>2]|0,k[(k[z>>2]|0)+(k[H>>2]<<2)>>2]|0)|0)==0;d=k[H>>2]|0;if(ia)break;k[H>>2]=d+1}k[I>>2]=d;while(1){if((k[I>>2]|0)>=(k[M>>2]|0))break;k[(k[z>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[z>>2]|0)+((k[I>>2]|0)+1<<2)>>2];k[I>>2]=(k[I>>2]|0)+1}k[M>>2]=(k[M>>2]|0)+-1}while(0);if(!(k[ga>>2]|0)){if(!(k[M>>2]|0)){k[k[z>>2]>>2]=24717;k[R>>2]=8;k[M>>2]=1}if((k[fa>>2]|0)==0?(ia=Vp(k[S>>2]|0,21063,fa,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)!=0):0)break;ia=Yp(k[ba>>2]|0,O,A)|0;k[ga>>2]=ia;if((k[ga>>2]|0)==1){ia=k[y>>2]|0;k[T>>2]=k[ba>>2];Nk(ia,24725,T)}if(!(k[ga>>2]|0)){k[L>>2]=280+(k[M>>2]<<2)+((k[O>>2]|0)*24|0)+(k[M>>2]|0)+(k[P>>2]|0)+(k[N>>2]|0)+(k[R>>2]|0);ia=Sd(k[L>>2]|0)|0;k[ea>>2]=ia;if(!(k[ea>>2]|0)){k[ga>>2]=7;break}KR(k[ea>>2]|0,0,k[L>>2]|0)|0;k[(k[ea>>2]|0)+12>>2]=k[w>>2];k[(k[ea>>2]|0)+24>>2]=k[M>>2];k[(k[ea>>2]|0)+260>>2]=0;k[(k[ea>>2]|0)+28>>2]=(k[ea>>2]|0)+280;k[(k[ea>>2]|0)+36>>2]=k[fa>>2];k[(k[ea>>2]|0)+256>>2]=1048576;i[(k[ea>>2]|0)+230>>0]=((k[G>>2]|0)!=0?(k[D>>2]|0)==0:0)&1;i[(k[ea>>2]|0)+229>>0]=k[G>>2];i[(k[ea>>2]|0)+228>>0]=k[G>>2];i[(k[ea>>2]|0)+231>>0]=k[C>>2];k[(k[ea>>2]|0)+48>>2]=255;k[(k[ea>>2]|0)+40>>2]=k[Y>>2];k[(k[ea>>2]|0)+44>>2]=k[_>>2];k[Y>>2]=0;k[_>>2]=0;k[(k[ea>>2]|0)+252>>2]=(k[(k[ea>>2]|0)+28>>2]|0)+(k[M>>2]<<2);IR(k[(k[ea>>2]|0)+252>>2]|0,k[A>>2]|0,(k[O>>2]|0)*24|0)|0;k[(k[ea>>2]|0)+248>>2]=k[O>>2];k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[O>>2]|0))break;sk((k[(k[ea>>2]|0)+252>>2]|0)+((k[E>>2]|0)*24|0)+4|0,1,1);k[E>>2]=(k[E>>2]|0)+1}k[(k[ea>>2]|0)+32>>2]=(k[(k[ea>>2]|0)+252>>2]|0)+((k[O>>2]|0)*24|0);k[Z>>2]=(k[(k[ea>>2]|0)+32>>2]|0)+(k[M>>2]|0);k[(k[ea>>2]|0)+20>>2]=k[Z>>2];IR(k[Z>>2]|0,k[(k[x>>2]|0)+8>>2]|0,k[P>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[P>>2]|0);k[(k[ea>>2]|0)+16>>2]=k[Z>>2];IR(k[Z>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[N>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[N>>2]|0);k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;k[J>>2]=0;ia=Zp(k[(k[z>>2]|0)+(k[F>>2]<<2)>>2]|0,J)|0;k[W>>2]=ia;IR(k[Z>>2]|0,k[W>>2]|0,k[J>>2]|0)|0;i[(k[Z>>2]|0)+(k[J>>2]|0)>>0]=0;Wk(k[Z>>2]|0);k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]=k[Z>>2];k[Z>>2]=(k[Z>>2]|0)+((k[J>>2]|0)+1);k[F>>2]=(k[F>>2]|0)+1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;ia=$Q(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0)|0;k[K>>2]=ia;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;k[aa>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];if(((k[aa>>2]|0)!=0?(ia=k[K>>2]|0,(ia|0)==($Q(k[aa>>2]|0)|0)):0)?0==(Jd(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0,k[aa>>2]|0,k[K>>2]|0)|0):0){i[(k[(k[ea>>2]|0)+32>>2]|0)+(k[F>>2]|0)>>0]=1;Ud(k[aa>>2]|0);k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]=0}k[E>>2]=(k[E>>2]|0)+1}k[F>>2]=(k[F>>2]|0)+1}k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;if(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0){ia=k[y>>2]|0;k[U>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];Nk(ia,24760,U);k[ga>>2]=1}k[E>>2]=(k[E>>2]|0)+1}if((k[ga>>2]|0)==0?((k[X>>2]|0)==0|0)!=((k[ca>>2]|0)==0|0):0){k[$>>2]=(k[X>>2]|0)==0?24779:24788;k[ga>>2]=1;ia=k[y>>2]|0;k[V>>2]=k[$>>2];Nk(ia,24799,V)}ia=_p(k[ea>>2]|0,k[ca>>2]|0,ga)|0;k[(k[ea>>2]|0)+216>>2]=ia;ia=$p(k[ea>>2]|0,k[X>>2]|0,ga)|0;k[(k[ea>>2]|0)+220>>2]=ia;if(!(k[ga>>2]|0)){if(k[v>>2]|0){ia=aq(k[ea>>2]|0)|0;k[ga>>2]=ia}if(!((k[G>>2]|0)!=0|(k[v>>2]|0)!=0))i[(k[ea>>2]|0)+229>>0]=2;bq(ga,k[ea>>2]|0);k[(k[ea>>2]|0)+224>>2]=(k[(k[ea>>2]|0)+236>>2]|0)-35;cq(ga,k[ea>>2]|0)}}}}else k[ga>>2]=7;while(0);Ud(k[ba>>2]|0);Ud(k[A>>2]|0);Ud(k[X>>2]|0);Ud(k[ca>>2]|0);Ud(k[Y>>2]|0);Ud(k[_>>2]|0);k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;Ud(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0);k[E>>2]=(k[E>>2]|0)+1}Ud(k[z>>2]|0);Ud(k[B>>2]|0);d=k[ea>>2]|0;if(!(k[ga>>2]|0)){k[k[da>>2]>>2]=d;ia=k[ga>>2]|0;r=ha;return ia|0}if(d){_k(k[ea>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}if(!(k[fa>>2]|0)){ia=k[ga>>2]|0;r=ha;return ia|0}bc[k[(k[k[fa>>2]>>2]|0)+8>>2]&255](k[fa>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}function Up(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(i[b>>0]&128){a=1;a=a&1;r=c;return a|0}a=(i[25481+(i[b>>0]|0)>>0]|0)!=0;a=a&1;r=c;return a|0} -function _M(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+16>>2];k[e>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0|0)==2?(a=$M(k[d>>2]|0)|0,k[e>>2]=a,(k[e>>2]|0)!=0):0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}rs(k[c>>2]|0);do if((k[(k[d>>2]|0)+60>>2]|0)!=0?(yj(k[(k[d>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0)==0:0){if((k[(k[c>>2]|0)+20>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){if((l[(k[d>>2]|0)+17>>0]|0|0)==4)break;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;break}a=aN(k[c>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|4;if((k[(k[d>>2]|0)+104>>2]|0)>0){a=Et(k[c>>2]|0)|0;k[e>>2]=a}if((k[(k[d>>2]|0)+28>>2]|0)>>>0<(k[(k[c>>2]|0)+20>>2]|0)>>>0)k[(k[d>>2]|0)+28>>2]=k[(k[c>>2]|0)+20>>2];k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function $M(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+20|0;f=h+16|0;g=h+12|0;d=h+8|0;b=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[d>>2]=k[k[f>>2]>>2];a=k[f>>2]|0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[a+44>>2];g=k[e>>2]|0;r=h;return g|0}if((Jr(a)|0)==0?(l[(k[f>>2]|0)+5>>0]|0)!=2:0){a=sj(k[(k[f>>2]|0)+28>>2]|0)|0;k[(k[f>>2]|0)+60>>2]=a;if(!(k[(k[f>>2]|0)+60>>2]|0)){k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}do if(!(k[k[(k[f>>2]|0)+68>>2]>>2]|0)){if((l[(k[f>>2]|0)+5>>0]|0)==4){bN(k[(k[f>>2]|0)+68>>2]|0);break}k[b>>2]=6;a=k[b>>2]|0;if(i[(k[f>>2]|0)+13>>0]|0){k[b>>2]=a|4104;k[c>>2]=k[11]}else{k[b>>2]=a|2048;k[c>>2]=0}a=cN(k[f>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){d=$t(k[d>>2]|0,k[(k[f>>2]|0)+180>>2]|0,k[(k[f>>2]|0)+68>>2]|0,k[b>>2]|0,k[c>>2]|0)|0;k[g>>2]=d}}while(0);if(!(k[g>>2]|0)){k[(k[f>>2]|0)+48>>2]=0;d=(k[f>>2]|0)+80|0;k[d>>2]=0;k[d+4>>2]=0;i[(k[f>>2]|0)+20>>0]=0;d=(k[f>>2]|0)+88|0;k[d>>2]=0;k[d+4>>2]=0;d=Lt(k[f>>2]|0)|0;k[g>>2]=d}}a=k[f>>2]|0;if(k[g>>2]|0){xj(k[a+60>>2]|0);k[(k[f>>2]|0)+60>>2]=0}else i[a+17>>0]=3;k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}function aN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;i=r;r=r+32|0;b=i+28|0;c=i+24|0;g=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i;k[c>>2]=a;k[g>>2]=k[(k[c>>2]|0)+16>>2];n=(k[g>>2]|0)+80|0;l=k[n+4>>2]|0;a=e;k[a>>2]=k[n>>2];k[a+4>>2]=l;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=os(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;a=e;a=Zt(k[(k[g>>2]|0)+68>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];n=k[b>>2]|0;r=i;return n|0}o=k[(k[g>>2]|0)+68>>2]|0;a=k[f>>2]|0;l=k[(k[g>>2]|0)+160>>2]|0;n=e;n=GR(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;n=Rg(o,a,l,n,L)|0;k[h>>2]=n;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}n=k[(k[g>>2]|0)+68>>2]|0;l=e;o=k[(k[g>>2]|0)+160>>2]|0;o=GR(k[l>>2]|0,k[l+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=GR(o|0,L|0,4,0)|0;o=Zt(n,o,L,k[d>>2]|0)|0;k[h>>2]=o;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}else{n=8+(k[(k[g>>2]|0)+160>>2]|0)|0;o=(k[g>>2]|0)+80|0;l=o;n=GR(k[l>>2]|0,k[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=(k[g>>2]|0)+48|0;k[o>>2]=(k[o>>2]|0)+1;o=tj(k[(k[g>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=o;o=_t(k[g>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=k[h>>2]|o;k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}return 0}function bN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;$t(0,0,k[c>>2]|0,0,-1)|0;r=b;return}function cN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=0;if(i[(k[c>>2]|0)+13>>0]|0){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}if(!(k[(k[c>>2]|0)+28>>2]|0)){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}a=Ii(k[(k[c>>2]|0)+64>>2]|0,20,d)|0;k[e>>2]=a;if((k[e>>2]|0)!=12){if((k[e>>2]|0)==0&(k[d>>2]|0)!=0)k[e>>2]=1032}else k[e>>2]=0;k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function dN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=k[f>>2]|0;do if(k[(k[f>>2]|0)+144>>2]|0){d=k[c+144>>2]|0;k[l>>2]=d;k[k[i>>2]>>2]=d;k[(k[f>>2]|0)+144>>2]=k[(k[l>>2]|0)+12>>2];k[(k[l>>2]|0)+12>>2]=0;KR(k[(k[l>>2]|0)+8>>2]|0,0,m[(k[f>>2]|0)+148>>1]|0|0)|0}else{d=ug(40+(m[c+148>>1]|0)|0,0)|0;k[l>>2]=d;k[k[i>>2]>>2]=d;if(k[l>>2]|0){k[(k[l>>2]|0)+8>>2]=(k[l>>2]|0)+40;j[(k[l>>2]|0)+24>>1]=32;j[(k[l>>2]|0)+26>>1]=1;k[(k[l>>2]|0)+16>>2]=k[f>>2];break}i=k[(k[f>>2]|0)+64>>2]|0;l=k[(k[f>>2]|0)+160>>2]|0;l=RR((k[g>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;Us(i,l,L,k[h>>2]|0)|0;k[e>>2]=7;l=k[e>>2]|0;r=n;return l|0}while(0);k[(k[l>>2]|0)+20>>2]=k[g>>2];k[(k[l>>2]|0)+4>>2]=k[h>>2];l=(k[f>>2]|0)+128|0;k[l>>2]=(k[l>>2]|0)+1;k[e>>2]=0;l=k[e>>2]|0;r=n;return l|0}function eN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[e>>2]|0)+33>>0]|0)==2){k[d>>2]=0;i=k[d>>2]|0;r=n;return i|0}c=fN(k[e>>2]|0)|0;if((c|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[(k[h>>2]|0)+26>>1]|0)==0?(m[(k[h>>2]|0)+24>>1]&8|0)==0:0)break;k[h>>2]=k[(k[h>>2]|0)+36>>2]}k[(k[e>>2]|0)+8>>2]=k[h>>2];a:do if(!(k[h>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+4>>2];while(1){if(!(k[h>>2]|0))break a;if(!(j[(k[h>>2]|0)+26>>1]|0))break a;k[h>>2]=k[(k[h>>2]|0)+36>>2]}}while(0);if((k[h>>2]|0)!=0?(c=gc[k[(k[e>>2]|0)+36>>2]&255](k[(k[e>>2]|0)+40>>2]|0,k[h>>2]|0)|0,k[i>>2]=c,(k[i>>2]|0)!=0&(k[i>>2]|0)!=5):0){k[d>>2]=k[i>>2];i=k[d>>2]|0;r=n;return i|0}}i=Yb[k[144>>2]&255](k[(k[e>>2]|0)+44>>2]|0,k[f>>2]|0,2)|0;k[k[g>>2]>>2]=i;k[d>>2]=(k[k[g>>2]>>2]|0)==0?7:0;i=k[d>>2]|0;r=n;return i|0}function fN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[140>>2]&255](k[(k[c>>2]|0)+44>>2]|0)|0;r=b;return a|0}function gN(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+108>>2]|0}function hN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+40|0;n=q+36|0;f=q+32|0;p=q+28|0;o=q+24|0;c=q+20|0;e=q+12|0;g=q+8|0;d=q+4|0;b=q;k[n>>2]=a;k[c>>2]=0;a=iK(k[k[n>>2]>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=LF(k[n>>2]|0,1,p,0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=or((k[(k[p>>2]|0)+56>>2]|0)+28|0)|0;k[q+16>>2]=a;k[o>>2]=a;Og(k[k[n>>2]>>2]|0,c);if(!((k[o>>2]|0)!=0?(VQ((k[(k[p>>2]|0)+56>>2]|0)+24|0,(k[(k[p>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))k[o>>2]=k[c>>2];a:do if((k[o>>2]|0)>0){k[d>>2]=k[(k[p>>2]|0)+56>>2];k[f>>2]=26;b:do if(!(VQ(k[d>>2]|0,42920,16)|0)){if((l[(k[d>>2]|0)+18>>0]|0|0)>2){a=(k[n>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|1}if((l[(k[d>>2]|0)+19>>0]|0|0)<=2){do if((l[(k[d>>2]|0)+19>>0]|0|0)==2?((m[(k[n>>2]|0)+22>>1]|0)&16|0)==0:0){k[b>>2]=0;a=oK(k[k[n>>2]>>2]|0,b)|0;k[f>>2]=a;if(k[f>>2]|0)break b;if(k[b>>2]|0){k[f>>2]=26;break}NB(k[p>>2]|0);k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}while(0);if((VQ((k[d>>2]|0)+21|0,45153,3)|0)==0?(k[e>>2]=(l[(k[d>>2]|0)+16>>0]|0)<<8|(l[(k[d>>2]|0)+17>>0]|0)<<16,!(((k[e>>2]|0)>>>0>65536?1:((k[e>>2]|0)-1&k[e>>2]|0)!=0)|(k[e>>2]|0)>>>0<=256)):0){k[g>>2]=(k[e>>2]|0)-(l[(k[d>>2]|0)+20>>0]|0);if((k[e>>2]|0)!=(k[(k[n>>2]|0)+32>>2]|0)){NB(k[p>>2]|0);k[(k[n>>2]|0)+36>>2]=k[g>>2];k[(k[n>>2]|0)+32>>2]=k[e>>2];aj(k[n>>2]|0);p=bj(k[k[n>>2]>>2]|0,(k[n>>2]|0)+32|0,(k[e>>2]|0)-(k[g>>2]|0)|0)|0;k[f>>2]=p;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}if((k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(k[o>>2]|0)>(k[c>>2]|0):0){o=Yj(60663)|0;k[f>>2]=o;break}if((k[g>>2]|0)>>>0>=480){k[(k[n>>2]|0)+32>>2]=k[e>>2];k[(k[n>>2]|0)+36>>2]=k[g>>2];g=(or((k[d>>2]|0)+52|0)|0)!=0;i[(k[n>>2]|0)+17>>0]=g?1:0;g=(or((k[d>>2]|0)+64|0)|0)!=0;i[(k[n>>2]|0)+18>>0]=g?1:0;break a}}}}while(0);NB(k[p>>2]|0);k[(k[n>>2]|0)+12>>2]=0;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}while(0);j[(k[n>>2]|0)+24>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;j[(k[n>>2]|0)+26>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;j[(k[n>>2]|0)+28>>1]=(k[(k[n>>2]|0)+36>>2]|0)-35;j[(k[n>>2]|0)+30>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b=k[n>>2]|0;if((m[(k[n>>2]|0)+24>>1]|0|0)>127)i[b+21>>0]=127;else i[(k[n>>2]|0)+21>>0]=j[b+24>>1];k[(k[n>>2]|0)+12>>2]=k[p>>2];k[(k[n>>2]|0)+44>>2]=k[o>>2];k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}function iN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;d=j+4|0;h=j;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[h>>2]=0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[(k[f>>2]|0)+44>>2];h=k[e>>2]|0;r=j;return h|0}i[(k[f>>2]|0)+22>>0]=k[d>>2];if((l[(k[f>>2]|0)+17>>0]|0|0)==1){c=(Jr(k[f>>2]|0)|0)!=0;d=k[f>>2]|0;if(!c){c=Ot(d,2)|0;k[h>>2]=c;if((k[h>>2]|0)==0&(k[g>>2]|0)!=0){g=Nt(k[f>>2]|0,4)|0;k[h>>2]=g}}else{do if((l[d+4>>0]|0|0)!=0?(Mr(k[(k[f>>2]|0)+216>>2]|0,-1)|0)!=0:0){g=Ot(k[f>>2]|0,4)|0;k[h>>2]=g;if(!(k[h>>2]|0)){Mr(k[(k[f>>2]|0)+216>>2]|0,1)|0;break}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}while(0);g=jN(k[(k[f>>2]|0)+216>>2]|0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){i[(k[f>>2]|0)+17>>0]=2;k[(k[f>>2]|0)+40>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+36>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+32>>2]=k[(k[f>>2]|0)+28>>2];g=(k[f>>2]|0)+80|0;k[g>>2]=0;k[g+4>>2]=0}}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}function jN(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(i[(k[c>>2]|0)+46>>0]|0){k[b>>2]=8;d=k[b>>2]|0;r=e;return d|0}a=dt(k[c>>2]|0,0,1)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}i[(k[c>>2]|0)+44>>0]=1;a=(k[c>>2]|0)+52|0;if(VQ(a,Ls(k[c>>2]|0)|0,48)|0){Sr(k[c>>2]|0,0,1);i[(k[c>>2]|0)+44>>0]=0;k[d>>2]=517}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function kN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+240>>2]|0)lN(k[(k[c>>2]|0)+240>>2]|0);IJ(k[c>>2]|0,k[d>>2]|0);r=e;return}function lN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rh(k[c>>2]|0);r=b;return}function mN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+624|0;f=H+92|0;g=H+88|0;h=H+84|0;i=H+80|0;j=H+76|0;l=H+72|0;z=H+68|0;o=H+64|0;x=H+60|0;n=H+56|0;w=H+52|0;B=H+48|0;m=H+44|0;t=H+40|0;s=H+36|0;q=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;p=H;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[z>>2]=k[i>>2];k[o>>2]=-1;k[x>>2]=0;k[n>>2]=k[j>>2]&-256;k[B>>2]=0;k[m>>2]=0;k[t>>2]=k[j>>2]&16;k[s>>2]=k[j>>2]&8;k[q>>2]=k[j>>2]&4;k[v>>2]=k[j>>2]&1;k[u>>2]=k[j>>2]&2;if(k[q>>2]|0)if((k[n>>2]|0)==16384|(k[n>>2]|0)==2048)d=1;else d=(k[n>>2]|0)==524288;else d=0;k[C>>2]=d&1;k[E>>2]=k[h>>2];b=k[1926]|0;if((b|0)!=(jR()|0)){b=jR()|0;k[1926]=b;ae(0,0)}d=k[z>>2]|0;c=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(c|0));d=k[E>>2]|0;do if((k[n>>2]|0)!=256){if(!d){A=bO(k[(k[g>>2]|0)+8>>2]|0,F)|0;k[B>>2]=A;if(!(k[B>>2]|0)){k[E>>2]=F;break}k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}}else{F=sO(d,k[j>>2]|0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){F=Td(12,0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){k[f>>2]=7;G=k[f>>2]|0;r=H;return G|0}}else k[o>>2]=k[k[A>>2]>>2];k[(k[z>>2]|0)+28>>2]=k[A>>2]}while(0);if(k[v>>2]|0)k[x>>2]=k[x>>2];if(k[u>>2]|0)k[x>>2]=k[x>>2]|2;if(k[q>>2]|0)k[x>>2]=k[x>>2]|64;if(k[t>>2]|0)k[x>>2]=k[x>>2]|131200;k[x>>2]=k[x>>2];do if((k[o>>2]|0)<0){F=tO(k[E>>2]|0,k[j>>2]|0,y,D,p)|0;k[B>>2]=F;if(k[B>>2]|0){k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}F=ZN(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F;if((k[o>>2]|0)<0?(F=qQ()|0,(k[F>>2]|0)!=21&(k[u>>2]|0)!=0):0){k[j>>2]=k[j>>2]&-7;k[x>>2]=k[x>>2]&-67;k[j>>2]=k[j>>2]|1;k[x>>2]=k[x>>2];k[v>>2]=1;F=ZN(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F}if((k[o>>2]|0)<0){F=wt(34876)|0;F=VN(F,45232,k[E>>2]|0,34876)|0;k[B>>2]=F;break}if(k[j>>2]&526336){uO(k[o>>2]|0,k[D>>2]|0,k[p>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(k[l>>2]|0)k[k[l>>2]>>2]=k[j>>2];if(k[(k[z>>2]|0)+28>>2]|0){k[k[(k[z>>2]|0)+28>>2]>>2]=k[o>>2];k[(k[(k[z>>2]|0)+28>>2]|0)+4>>2]=k[j>>2]}if(k[s>>2]|0)bc[k[7464>>2]&255](k[E>>2]|0)|0;if(k[s>>2]|0)k[m>>2]=k[m>>2]|32;if(k[v>>2]|0)k[m>>2]=k[m>>2]|2;k[w>>2]=(k[n>>2]|0)!=256&1;if(k[w>>2]|0)k[m>>2]=k[m>>2]|128;if(k[C>>2]|0)k[m>>2]=k[m>>2]|8;if(k[j>>2]&64)k[m>>2]=k[m>>2]|64;G=vO(k[g>>2]|0,k[o>>2]|0,k[i>>2]|0,k[h>>2]|0,k[m>>2]|0)|0;k[B>>2]=G}if(k[B>>2]|0)Ud(k[(k[z>>2]|0)+28>>2]|0);k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}function nN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+20|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[i+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if((bc[k[7464>>2]&255](k[e>>2]|0)|0)==-1){b=qQ()|0;if((k[b>>2]|0)==2)k[h>>2]=5898;else{b=VN(2570,45329,k[e>>2]|0,35002)|0;k[h>>2]=b}k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}do if(k[f>>2]&1){b=gc[k[7476>>2]&255](k[e>>2]|0,g)|0;k[h>>2]=b;if(k[h>>2]|0){k[h>>2]=0;break}if(iO(k[g>>2]|0,0,0)|0){b=VN(1290,45563,k[e>>2]|0,35012)|0;k[h>>2]=b}UN(0,k[g>>2]|0,35014)}while(0);k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}function oN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;e=h+84|0;i=h+80|0;f=h+76|0;g=h;k[h+88>>2]=a;k[e>>2]=b;k[i>>2]=c;k[f>>2]=d;if(!(k[i>>2]|0)){i=0==(gc[k[7320>>2]&255](k[e>>2]|0,g)|0);k[k[f>>2]>>2]=(i?(k[g+36>>2]|0)>0:0)&1;r=h;return 0}else{i=(gc[k[7296>>2]&255](k[e>>2]|0,6)|0)==0&1;k[k[f>>2]>>2]=i;r=h;return 0}return 0}function pN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+128|0;s=q+112|0;e=q+108|0;f=q+104|0;o=q+100|0;l=q+96|0;m=q+92|0;n=q+88|0;p=q+84|0;g=q+80|0;h=q+4|0;j=q;k[q+116>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=d;k[o>>2]=0;k[m>>2]=1;k[n>>2]=k[s>>2];k[p>>2]=0;while(1){k[g>>2]=0;if(gc[k[7596>>2]&255](k[n>>2]|0,h)|0){s=qQ()|0;if((k[s>>2]|0)!=2){s=wt(35126)|0;s=VN(s,45417,k[n>>2]|0,35126)|0;k[o>>2]=s}}else k[g>>2]=(k[h+12>>2]&61440|0)==40960&1;if(k[g>>2]|0){if(!(k[p>>2]|0)){s=Sd(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0))k[o>>2]=7}else{s=(k[m>>2]|0)+1|0;k[m>>2]=s;if((s|0)>100){s=wt(35137)|0;k[o>>2]=s}}do if(!(k[o>>2]|0)){s=Yb[k[7584>>2]&255](k[n>>2]|0,k[p>>2]|0,(k[e>>2]|0)-1|0)|0;k[l>>2]=s;if((k[l>>2]|0)<0){s=wt(35143)|0;s=VN(s,45408,k[n>>2]|0,35143)|0;k[o>>2]=s;break}do if((i[k[p>>2]>>0]|0)!=47){s=Tf(k[n>>2]|0)|0;k[j>>2]=s;while(1){if((k[j>>2]|0)<=0)break;if((i[(k[n>>2]|0)+((k[j>>2]|0)-1)>>0]|0)==47)break;k[j>>2]=(k[j>>2]|0)+-1}if(((k[l>>2]|0)+(k[j>>2]|0)+1|0)>(k[e>>2]|0)){s=wt(35149)|0;k[o>>2]=s;break}else{JR((k[p>>2]|0)+(k[j>>2]|0)|0,k[p>>2]|0,(k[l>>2]|0)+1|0)|0;IR(k[p>>2]|0,k[n>>2]|0,k[j>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[j>>2]|0);break}}while(0);i[(k[p>>2]|0)+(k[l>>2]|0)>>0]=0}while(0);k[n>>2]=k[p>>2]}if((k[o>>2]|0)==0?(k[n>>2]|0)!=(k[f>>2]|0):0){s=rO(k[n>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[o>>2]=s}if(!(k[g>>2]|0)){e=30;break}k[n>>2]=k[f>>2];if(k[o>>2]|0){e=30;break}}if((e|0)==30){Ud(k[p>>2]|0);r=q;return k[o>>2]|0}return 0}function qN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[j+20>>2]=a;k[d>>2]=b;k[e>>2]=c;KR(k[e>>2]|0,0,k[d>>2]|0)|0;c=jR()|0;k[1926]=c;c=ZN(45550,0,0)|0;k[f>>2]=c;if((k[f>>2]|0)<0){Ob(h|0)|0;c=k[e>>2]|0;i[c>>0]=i[h>>0]|0;i[c+1>>0]=i[h+1>>0]|0;i[c+2>>0]=i[h+2>>0]|0;i[c+3>>0]=i[h+3>>0]|0;c=(k[e>>2]|0)+4|0;i[c>>0]=i[7704]|0;i[c+1>>0]=i[7705]|0;i[c+2>>0]=i[7706]|0;i[c+3>>0]=i[7707]|0;k[d>>2]=8;c=k[d>>2]|0;r=j;return c|0}do{c=Yb[k[7368>>2]&255](k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)>=0)break;c=qQ()|0}while((k[c>>2]|0)==4);UN(0,k[f>>2]|0,35273);c=k[d>>2]|0;r=j;return c|0}function rN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[d+8>>2]=a;k[e>>2]=b;k[c>>2]=((k[e>>2]|0)+999999|0)/1e6|0;oR(k[c>>2]|0)|0;r=d;return (k[c>>2]|0)*1e6|0}function sN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;f=d;c=d+8|0;k[d+16>>2]=a;k[e>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;b=uN(0,f)|0;k[c>>2]=b;b=f;p[k[e>>2]>>3]=(+((k[b>>2]|0)>>>0)+4294967296.0*+(k[b+4>>2]|0))/864.0e5;r=d;return k[c>>2]|0}function tN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=r;r=r+16|0;k[d+8>>2]=a;k[d+4>>2]=b;k[d>>2]=c;c=qQ()|0;r=d;return k[c>>2]|0}function uN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;c=d+8|0;f=d;k[d+16>>2]=a;k[e>>2]=b;k[c>>2]=0;Qb(f|0,0)|0;b=k[f>>2]|0;b=RR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=GR(1045635584,49096,b|0,L|0)|0;a=(k[f+4>>2]|0)/1e3|0;a=GR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=k[e>>2]|0;k[b>>2]=a;k[b+4>>2]=L;r=d;return k[c>>2]|0}function vN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[i+16>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=12;if(!(k[d>>2]|0)){k[g>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28)break;if(k[7268+((k[f>>2]|0)*12|0)+8>>2]|0)k[7268+((k[f>>2]|0)*12|0)+4>>2]=k[7268+((k[f>>2]|0)*12|0)+8>>2];k[f>>2]=(k[f>>2]|0)+1}h=k[g>>2]|0;r=i;return h|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28){h=16;break}b=(YQ(k[d>>2]|0,k[7268+((k[f>>2]|0)*12|0)>>2]|0)|0)==0;c=k[f>>2]|0;if(b)break;k[f>>2]=c+1}if((h|0)==16){h=k[g>>2]|0;r=i;return h|0}if(!(k[7268+(c*12|0)+8>>2]|0))k[7268+((k[f>>2]|0)*12|0)+8>>2]=k[7268+((k[f>>2]|0)*12|0)+4>>2];k[g>>2]=0;if(!(k[e>>2]|0))k[e>>2]=k[7268+((k[f>>2]|0)*12|0)+8>>2];k[7268+((k[f>>2]|0)*12|0)+4>>2]=k[e>>2];h=k[g>>2]|0;r=i;return h|0}function wN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=0;while(1){if((k[d>>2]|0)>>>0>=28){a=6;break}a=(YQ(k[c>>2]|0,k[7268+((k[d>>2]|0)*12|0)>>2]|0)|0)==0;b=k[d>>2]|0;if(a){a=4;break}k[d>>2]=b+1}if((a|0)==4){k[e>>2]=k[7268+(b*12|0)+4>>2];e=k[e>>2]|0;r=f;return e|0}else if((a|0)==6){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function xN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=-1;a:do if(k[c>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=27)break a;if(!(YQ(k[c>>2]|0,k[7268+((k[d>>2]|0)*12|0)>>2]|0)|0))break a;k[d>>2]=(k[d>>2]|0)+1}}while(0);k[d>>2]=(k[d>>2]|0)+1;while(1){if((k[d>>2]|0)>=28){c=11;break}a=k[d>>2]|0;if(k[7268+((k[d>>2]|0)*12|0)+4>>2]|0){c=9;break}k[d>>2]=a+1}if((c|0)==9){k[e>>2]=k[7268+(a*12|0)>>2];e=k[e>>2]|0;r=f;return e|0}else if((c|0)==11){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function yN(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7192}function zN(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[c>>2];GN(k[c>>2]|0,0)|0;Ud(k[(k[d>>2]|0)+24>>2]|0);a=lO(k[c>>2]|0)|0;r=b;return a|0}function AN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;f=l+28|0;n=l+24|0;g=l+20|0;h=l+16|0;m=l;j=l+12|0;i=l+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=m;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];b=m;b=kO(k[j>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=b;if((k[i>>2]|0)==(k[h>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=l;return n|0}if((k[i>>2]|0)<0){k[f>>2]=266;n=k[f>>2]|0;r=l;return n|0}else{gO(k[j>>2]|0,0);KR((k[g>>2]|0)+(k[i>>2]|0)|0,0,(k[h>>2]|0)-(k[i>>2]|0)|0)|0;k[f>>2]=522;n=k[f>>2]|0;r=l;return n|0}return 0}function BN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+28|0;n=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;l=m+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=i;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];k[l>>2]=0;while(1){n=i;n=eO(k[j>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[l>>2]=n;if(!((n|0)<(k[h>>2]|0)?(k[l>>2]|0)>0:0))break;k[h>>2]=(k[h>>2]|0)-(k[l>>2]|0);b=k[l>>2]|0;n=i;b=GR(k[n>>2]|0,k[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=i;k[n>>2]=b;k[n+4>>2]=L;k[g>>2]=(k[g>>2]|0)+(k[l>>2]|0)}if((k[h>>2]|0)<=(k[l>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}if((k[l>>2]|0)<0?(k[(k[j>>2]|0)+20>>2]|0)!=28:0){k[f>>2]=778;n=k[f>>2]|0;r=m;return n|0}gO(k[j>>2]|0,0);k[f>>2]=13;n=k[f>>2]|0;r=m;return n|0}function CN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h;f=h+12|0;g=h+8|0;k[i>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=k[i>>2];if((k[(k[f>>2]|0)+40>>2]|0)>0){i=e;a=k[(k[f>>2]|0)+40>>2]|0;a=GR(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=FR(a|0,L|0,1,0)|0;i=k[(k[f>>2]|0)+40>>2]|0;i=PR(a|0,L|0,i|0,((i|0)<0)<<31>>31|0)|0;a=k[(k[f>>2]|0)+40>>2]|0;a=RR(i|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;i=e;k[i>>2]=a;k[i+4>>2]=L}i=e;i=jO(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;k[g>>2]=i;if(k[g>>2]|0){g=k[f>>2]|0;i=qQ()|0;gO(g,k[i>>2]|0);i=VN(1546,45255,k[(k[f>>2]|0)+32>>2]|0,32711)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}else{k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}return 0}function DN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=r;r=r+32|0;c=g+28|0;n=g+24|0;l=g+20|0;f=g+16|0;e=g+12|0;h=g+8|0;i=g+4|0;d=g;k[n>>2]=a;k[l>>2]=b;k[e>>2]=k[n>>2];k[h>>2]=k[l>>2]&16;k[i>>2]=(k[l>>2]&15|0)==3&1;b=iO(k[(k[e>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;b=k[e>>2]|0;if(k[f>>2]|0){n=qQ()|0;gO(b,k[n>>2]|0);n=VN(1034,45539,k[(k[e>>2]|0)+32>>2]|0,32666)|0;k[c>>2]=n;n=k[c>>2]|0;r=g;return n|0}if((m[b+18>>1]|0)&8){n=gc[k[7476>>2]&255](k[(k[e>>2]|0)+32>>2]|0,d)|0;k[f>>2]=n;if(!(k[f>>2]|0)){iO(k[d>>2]|0,0,0)|0;UN(k[e>>2]|0,k[d>>2]|0,32680)}else k[f>>2]=0;n=(k[e>>2]|0)+18|0;j[n>>1]=(m[n>>1]|0)&-9}k[c>>2]=k[f>>2];n=k[c>>2]|0;r=g;return n|0}function EN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+96|0;c=g+88|0;d=g+84|0;e=g+80|0;h=g+76|0;f=g;k[d>>2]=a;k[e>>2]=b;b=gc[k[7332>>2]&255](k[(k[d>>2]|0)+12>>2]|0,f)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[d>>2]|0;h=qQ()|0;gO(b,k[h>>2]|0);k[c>>2]=1802;h=k[c>>2]|0;r=g;return h|0}b=k[f+36>>2]|0;h=k[e>>2]|0;k[h>>2]=b;k[h+4>>2]=((b|0)<0)<<31>>31;h=k[e>>2]|0;if((k[h>>2]|0)==1&(k[h+4>>2]|0)==0){h=k[e>>2]|0;k[h>>2]=0;k[h+4>>2]=0}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function FN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];k[f>>2]=0;if((l[(k[e>>2]|0)+16>>0]|0|0)>0){i[(k[e>>2]|0)+16>>0]=k[d>>2];Qa(k[h>>2]|0,0)|0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=gc[k[7488>>2]&255](k[h>>2]|0,511)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=k[d>>2];k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}m=qQ()|0;k[g>>2]=k[m>>2];if(17!=(k[g>>2]|0)){m=hO(k[g>>2]|0,3850)|0;k[f>>2]=m;if((k[f>>2]|0)!=5)gO(k[e>>2]|0,k[g>>2]|0)}else k[f>>2]=5;k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function GN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];if((l[(k[e>>2]|0)+16>>0]|0|0)==(k[d>>2]|0)){k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}if((k[d>>2]|0)==1){i[(k[e>>2]|0)+16>>0]=1;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=bc[k[7500>>2]&255](k[h>>2]|0)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=qQ()|0;k[g>>2]=k[m>>2];if((k[g>>2]|0)==2)k[f>>2]=0;else{k[f>>2]=2058;gO(k[e>>2]|0,k[g>>2]|0)}k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function HN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;h=d+16|0;e=d+12|0;c=d+8|0;f=d+4|0;g=d;k[h>>2]=a;k[e>>2]=b;k[c>>2]=0;k[f>>2]=0;k[g>>2]=k[h>>2];b=(gc[k[7296>>2]&255](k[(k[g>>2]|0)+24>>2]|0,0)|0)==0&1;k[f>>2]=b;k[k[e>>2]>>2]=k[f>>2];r=d;return k[c>>2]|0}function IN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+32|0;h=j;d=j+28|0;n=j+24|0;m=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=k[n>>2];do switch(k[m>>2]|0){case 1:{k[k[e>>2]>>2]=l[(k[f>>2]|0)+16>>0];k[d>>2]=0;break}case 4:{k[k[e>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[d>>2]=0;break}case 6:{k[(k[f>>2]|0)+40>>2]=k[k[e>>2]>>2];k[d>>2]=0;break}case 5:{n=k[e>>2]|0;n=$N(k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[g>>2]=n;k[d>>2]=k[g>>2];break}case 10:{aO(k[f>>2]|0,4,k[e>>2]|0);k[d>>2]=0;break}case 13:{aO(k[f>>2]|0,16,k[e>>2]|0);k[d>>2]=0;break}case 12:{k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+16>>2];n=Yd(19007,h)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}case 16:{n=k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0;n=Td(n,((n|0)<0)<<31>>31)|0;k[i>>2]=n;if(k[i>>2]|0){bO(k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0,k[i>>2]|0)|0;k[k[e>>2]>>2]=k[i>>2]}k[d>>2]=0;break}case 20:{n=cO(k[f>>2]|0)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}default:k[d>>2]=12}while(0);r=j;return k[d>>2]|0}function JN(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 4096}function KN(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=0;if(!((m[(k[d>>2]|0)+18>>1]|0)&16)){e=k[b>>2]|0;r=c;return e|0}k[b>>2]=k[b>>2]|4096;e=k[b>>2]|0;r=c;return e|0}function LN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;v=u+32|0;e=u+28|0;f=u+24|0;g=u+20|0;o=u+16|0;n=u+12|0;q=u+8|0;p=u+4|0;s=u;l=u+40|0;h=u+38|0;i=u+36|0;k[v>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[v>>2];k[n>>2]=k[(k[o>>2]|0)+36>>2];k[p>>2]=k[k[n>>2]>>2];k[s>>2]=0;j[l>>1]=(1<<(k[e>>2]|0)+(k[f>>2]|0))-(1<>2]);if(k[g>>2]&1){j[h>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((k[q>>2]|0)!=(k[n>>2]|0))j[h>>1]=m[h>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if(!((m[l>>1]|0)&(m[h>>1]|0))){v=_N(k[o>>2]|0,2,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v}else k[s>>2]=0;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=(k[n>>2]|0)+10|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}if(!(k[g>>2]&4)){k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=28;break}if((m[(k[q>>2]|0)+10>>1]|0)&(m[l>>1]|0)){t=28;break}k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==28)k[s>>2]=5;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=_N(k[o>>2]|0,1,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}j[i>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=16;break}j[i>>1]=m[i>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==16)k[s>>2]=5;do if(!(k[s>>2]|0))if(!((m[i>>1]|0)&(m[l>>1]|0))){v=_N(k[o>>2]|0,0,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;break}else{k[s>>2]=0;break}while(0);if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+10|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}function MN(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;QN();SN();r=b;return}function NN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;f=i;k[j>>2]=a;k[d>>2]=b;k[f>>2]=k[j>>2];k[e>>2]=k[(k[f>>2]|0)+36>>2];if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}k[g>>2]=k[k[e>>2]>>2];k[h>>2]=(k[g>>2]|0)+32;while(1){if((k[k[h>>2]>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[k[h>>2]>>2]|0)+4}k[k[h>>2]>>2]=k[(k[e>>2]|0)+4>>2];Ud(k[e>>2]|0);k[(k[f>>2]|0)+36>>2]=0;QN();j=(k[g>>2]|0)+28|0;k[j>>2]=(k[j>>2]|0)+-1;if(!(k[(k[g>>2]|0)+28>>2]|0)){if((k[d>>2]|0)!=0?(k[(k[g>>2]|0)+12>>2]|0)>=0:0)bc[k[7464>>2]&255](k[(k[g>>2]|0)+8>>2]|0)|0;RN(k[f>>2]|0)}SN();k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}function ON(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function PN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function QN(){return}function RN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=k[(k[(k[b>>2]|0)+8>>2]|0)+20>>2];if(!(k[e>>2]|0)){r=f;return}if(k[(k[e>>2]|0)+28>>2]|0){r=f;return}a=TN()|0;k[d>>2]=a;k[c>>2]=0;while(1){a=k[e>>2]|0;if((k[c>>2]|0)>=(m[(k[e>>2]|0)+20>>1]|0|0))break;if((k[a+12>>2]|0)>=0)gc[k[7548>>2]&255](k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;else Ud(k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+(k[d>>2]|0)}Ud(k[a+24>>2]|0);if((k[(k[e>>2]|0)+12>>2]|0)>=0){UN(k[b>>2]|0,k[(k[e>>2]|0)+12>>2]|0,33287);k[(k[e>>2]|0)+12>>2]=-1}k[(k[k[e>>2]>>2]|0)+20>>2]=0;Ud(k[e>>2]|0);r=f;return}function SN(){return}function TN(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+8|0;c=d+4|0;b=d;k[c>>2]=32768;e=Zb[k[7572>>2]&255]()|0;k[b>>2]=e;if((k[b>>2]|0)<(k[c>>2]|0)){k[a>>2]=1;e=k[a>>2]|0;r=d;return e|0}else{k[a>>2]=(k[b>>2]|0)/(k[c>>2]|0)|0;e=k[a>>2]|0;r=d;return e|0}return 0}function UN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(bc[k[7284>>2]&255](k[g>>2]|0)|0)){r=f;return}if(k[d>>2]|0)d=k[(k[d>>2]|0)+32>>2]|0;else d=0;VN(4106,45195,d,k[e>>2]|0)|0;r=f;return}function VN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+28|0;l=m+24|0;i=m+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;c=qQ()|0;k[i>>2]=k[c>>2];c=rQ(k[i>>2]|0)|0;k[l>>2]=c;if(!(k[g>>2]|0))k[g>>2]=19018;c=k[e>>2]|0;a=k[i>>2]|0;i=k[f>>2]|0;d=k[g>>2]|0;b=k[l>>2]|0;k[j>>2]=k[h>>2];k[j+4>>2]=a;k[j+8>>2]=i;k[j+12>>2]=d;k[j+16>>2]=b;$d(c,45201,j);r=m;return k[e>>2]|0}function WN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;e=d;h=d+12|0;g=d+8|0;f=d+4|0;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;c=k[h>>2]|0;a=k[g>>2]|0;k[e>>2]=k[f>>2];a=tQ(c,a,e)|0;r=d;return a|0}function XN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=r;r=r+544|0;j=h;c=h+20|0;l=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h+24|0;k[l>>2]=a;k[d>>2]=b;k[e>>2]=-1;k[j>>2]=k[l>>2];_d(512,g,19007,j)|0;a=$Q(g)|0;k[f>>2]=a;while(1){if((k[f>>2]|0)<=0)break;if((i[g+(k[f>>2]|0)>>0]|0)==47)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)>0)i[g+(k[f>>2]|0)>>0]=0;else{if((i[g>>0]|0)!=47)i[g>>0]=46;i[g+1>>0]=0}l=ZN(g,0,0)|0;k[e>>2]=l;k[k[d>>2]>>2]=k[e>>2];if((k[e>>2]|0)>=0){k[c>>2]=0;l=k[c>>2]|0;r=h;return l|0}else{l=VN(wt(32625)|0,45336,g,32625)|0;k[c>>2]=l;l=k[c>>2]|0;r=h;return l|0}return 0}function YN(){return rb(30)|0}function ZN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+112|0;j=l;d=l+100|0;e=l+96|0;f=l+92|0;g=l+88|0;h=l+84|0;i=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:420;while(1){a=Yb[k[7272>>2]&255](k[d>>2]|0,k[e>>2]|524288,k[h>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)<0){a=qQ()|0;if((k[a>>2]|0)==4)continue;else break}if((k[g>>2]|0)>=3)break;bc[k[7284>>2]&255](k[g>>2]|0)|0;a=k[g>>2]|0;k[j>>2]=k[d>>2];k[j+4>>2]=a;$d(28,45423,j);k[g>>2]=-1;if((Yb[k[7272>>2]&255](45466,k[e>>2]|0,k[f>>2]|0)|0)<0)break}if(!((k[g>>2]|0)>=0&(k[f>>2]|0)!=0)){a=k[g>>2]|0;r=l;return a|0}if(gc[k[7332>>2]&255](k[g>>2]|0,i)|0){a=k[g>>2]|0;r=l;return a|0}if(k[i+36>>2]|0){a=k[g>>2]|0;r=l;return a|0}if((k[i+12>>2]&511|0)==(k[f>>2]|0)){a=k[g>>2]|0;r=l;return a|0}gc[k[7440>>2]&255](k[g>>2]|0,k[f>>2]|0)|0;a=k[g>>2]|0;r=l;return a|0}function _N(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;m=n;o=n+40|0;e=n+36|0;f=n+32|0;g=n+28|0;i=n+24|0;h=n+8|0;l=n+4|0;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[(k[o>>2]|0)+8>>2]|0)+20>>2];if((k[(k[i>>2]|0)+12>>2]|0)<0){o=k[l>>2]|0;r=n;return o|0};k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;j[h>>1]=k[e>>2];j[h+2>>1]=0;k[h+4>>2]=k[f>>2];k[h+8>>2]=k[g>>2];a=k[1839]|0;o=k[(k[i>>2]|0)+12>>2]|0;k[m>>2]=h;o=Yb[a&255](o,13,m)|0;k[l>>2]=o;k[l>>2]=(k[l>>2]|0)!=-1?0:5;o=k[l>>2]|0;r=n;return o|0}function $N(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+128|0;d=m+112|0;e=m+108|0;f=m+16|0;j=m+8|0;g=m+32|0;i=m+28|0;l=m+24|0;h=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a:do if((k[(k[e>>2]|0)+40>>2]|0)>0){if(gc[k[7332>>2]&255](k[(k[e>>2]|0)+12>>2]|0,g)|0){k[d>>2]=1802;a=k[d>>2]|0;r=m;return a|0}b=k[(k[e>>2]|0)+40>>2]|0;b=GR(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=FR(b|0,L|0,1,0)|0;f=k[(k[e>>2]|0)+40>>2]|0;f=PR(b|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;b=k[(k[e>>2]|0)+40>>2]|0;b=RR(f|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;k[f>>2]=b;k[f+4>>2]=L;f=j;b=k[f+4>>2]|0;a=k[g+36>>2]|0;c=((a|0)<0)<<31>>31;if((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>a>>>0:0)){k[i>>2]=k[g+40>>2];k[l>>2]=0;g=ha((k[g+36>>2]|0)/(k[i>>2]|0)|0,k[i>>2]|0)|0;g=g+(k[i>>2]|0)-1|0;a=h;k[a>>2]=g;k[a+4>>2]=((g|0)<0)<<31>>31;while(1){c=h;g=k[c>>2]|0;c=k[c+4>>2]|0;f=j;a=k[i>>2]|0;a=GR(k[f>>2]|0,k[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=FR(a|0,L|0,1,0)|0;f=L;if(!((c|0)<(f|0)|(c|0)==(f|0)&g>>>0>>0))break a;g=h;c=k[g+4>>2]|0;a=j;f=k[a+4>>2]|0;if((c|0)>(f|0)|((c|0)==(f|0)?(k[g>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){g=j;g=FR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}a=h;a=eO(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0,19018,1)|0;k[l>>2]=a;if((k[l>>2]|0)!=1)break;g=k[i>>2]|0;a=h;g=GR(k[a>>2]|0,k[a+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}k[d>>2]=778;a=k[d>>2]|0;r=m;return a|0}}while(0);k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}function aO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+4|0;d=g+8|0;f=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=c;if((k[k[f>>2]>>2]|0)<0){k[k[f>>2]>>2]=((m[(k[e>>2]|0)+18>>1]|0)&(l[d>>0]|0)|0)!=0&1;r=g;return}d=l[d>>0]|0;if(!(k[k[f>>2]>>2]|0)){f=(k[e>>2]|0)+18|0;j[f>>1]=(m[f>>1]|0)&~d;r=g;return}else{f=(k[e>>2]|0)+18|0;j[f>>1]=m[f>>1]|0|d;r=g;return}}function bO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;g=l+8|0;j=l+48|0;c=l+44|0;d=l+40|0;h=l+36|0;e=l+32|0;f=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;i[k[d>>2]>>0]=0;b=dO()|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[j>>2]=6410;j=k[j>>2]|0;r=l;return j|0}while(1){ae(8,f);i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]=0;a=k[c>>2]|0;b=k[d>>2]|0;n=f;o=k[n>>2]|0;n=k[n+4>>2]|0;k[g>>2]=k[h>>2];m=g+8|0;k[m>>2]=o;k[m+4>>2]=n;k[g+16>>2]=0;_d(a,b,45476,g)|0;if(i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]|0){c=5;break}o=k[e>>2]|0;k[e>>2]=o+1;if((o|0)>10){c=5;break}if(gc[k[7296>>2]&255](k[d>>2]|0,0)|0){c=7;break}}if((c|0)==5){k[j>>2]=1;o=k[j>>2]|0;r=l;return o|0}else if((c|0)==7){k[j>>2]=0;o=k[j>>2]|0;r=l;return o|0}return 0}function cO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+80|0;b=d+76|0;c=d;k[b>>2]=a;if(!(k[(k[b>>2]|0)+8>>2]|0)){a=0;a=a&1;r=d;return a|0}if(gc[k[7320>>2]&255](k[(k[b>>2]|0)+32>>2]|0,c)|0){a=1;a=a&1;r=d;return a|0}a=(k[c+72>>2]|0)!=(k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;r=d;return a|0}function dO(){var a=0,b=0,c=0,d=0,e=0,f=0;e=r;r=r+96|0;c=e+84|0;b=e+80|0;a=e+4|0;d=e;k[b>>2]=0;k[d>>2]=k[241];if(!(k[1901]|0)){f=Ab(45493)|0;k[1901]=f}if(!(k[1902]|0)){f=Ab(45507)|0;k[1902]=f}while(1){if((((k[d>>2]|0)!=0?(gc[k[7320>>2]&255](k[d>>2]|0,a)|0)==0:0)?(k[a+12>>2]&61440|0)==16384:0)?(gc[k[7296>>2]&255](k[d>>2]|0,3)|0)==0:0){a=9;break}if((k[b>>2]|0)>>>0>=6){a=12;break}f=k[b>>2]|0;k[b>>2]=f+1;k[d>>2]=k[7604+(f<<2)>>2]}if((a|0)==9){k[c>>2]=k[d>>2];f=k[c>>2]|0;r=e;return f|0}else if((a|0)==12){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}return 0}function eO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f;i=f+12|0;h=f+8|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[h>>2]=e;d=j;d=fO(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[i>>2]|0,k[h>>2]|0,(k[g>>2]|0)+20|0)|0;r=f;return d|0}function fO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[n>>2]=0;k[j>>2]=k[j>>2]&131071;do{d=kR(k[g>>2]|0,k[h>>2]|0,0)|0;f=m;k[f>>2]=d;k[f+4>>2]=((d|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}f=Yb[k[7404>>2]&255](k[g>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[n>>2]=f;if((k[n>>2]|0)>=0)break;f=qQ()|0}while((k[f>>2]|0)==4);if((o|0)==3)k[n>>2]=-1;if((k[n>>2]|0)>=0){o=k[n>>2]|0;r=p;return o|0}o=qQ()|0;k[k[l>>2]>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}function gO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+20>>2]=k[e>>2];r=c;return}function hO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;switch(k[f>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{k[c>>2]=5;break}case 1:{k[c>>2]=3;break}default:k[c>>2]=k[d>>2]}r=e;return k[c>>2]|0}function iO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e;k[f>>2]=a;k[e+8>>2]=b;k[e+4>>2]=c;b=fR(k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function jO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g;f=g+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;while(1){a=gc[k[7344>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)>=0){b=4;break}a=qQ()|0;if((k[a>>2]|0)!=4){b=4;break}}if((b|0)==4){r=g;return k[f>>2]|0}return 0}function kO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;do{a=kR(k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,0)|0;d=m;k[d>>2]=a;k[d+4>>2]=((a|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}d=Yb[k[7368>>2]&255](k[(k[g>>2]|0)+12>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=d;if((k[l>>2]|0)==(k[j>>2]|0))break;if((k[l>>2]|0)>=0){if((k[l>>2]|0)>0){k[j>>2]=(k[j>>2]|0)-(k[l>>2]|0);a=k[l>>2]|0;d=h;a=GR(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=a;k[d+4>>2]=L;k[n>>2]=(k[n>>2]|0)+(k[l>>2]|0);k[i>>2]=(k[i>>2]|0)+(k[l>>2]|0)}}else{d=qQ()|0;if((k[d>>2]|0)!=4){o=8;break}k[l>>2]=1}}while((k[l>>2]|0)>0);if((o|0)==3){n=k[g>>2]|0;o=qQ()|0;gO(n,k[o>>2]|0);k[f>>2]=-1;o=k[f>>2]|0;r=p;return o|0}else if((o|0)==8){k[n>>2]=0;d=k[g>>2]|0;o=qQ()|0;gO(d,k[o>>2]|0)}k[f>>2]=(k[l>>2]|0)+(k[n>>2]|0);o=k[f>>2]|0;r=p;return o|0}function lO(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if((k[(k[b>>2]|0)+12>>2]|0)>=0){UN(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,31034);k[(k[b>>2]|0)+12>>2]=-1}Ud(k[(k[b>>2]|0)+28>>2]|0);a=k[b>>2]|0;b=a+44|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return 0}function mO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7628}function nO(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=lO(k[c>>2]|0)|0;r=b;return a|0}function oO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function pO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function qO(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[c+4>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=0;r=c;return 0}function rO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;j=m+8|0;h=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=Tf(k[e>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;do if((i[k[e>>2]>>0]|0)!=47){if(gc[k[7308>>2]&255](k[f>>2]|0,(k[g>>2]|0)-2|0)|0){a=Tf(k[f>>2]|0)|0;k[h>>2]=a;a=k[h>>2]|0;k[h>>2]=a+1;i[(k[f>>2]|0)+a>>0]=47;break}a=wt(35069)|0;a=VN(a,45237,k[e>>2]|0,35069)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}while(0);if(((k[h>>2]|0)+(k[j>>2]|0)+1|0)>(k[g>>2]|0)){i[(k[f>>2]|0)+(k[h>>2]|0)>>0]=0;a=wt(35078)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}else{b=(k[g>>2]|0)-(k[h>>2]|0)|0;a=(k[f>>2]|0)+(k[h>>2]|0)|0;k[l>>2]=k[e>>2];_d(b,a,19007,l)|0;k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}return 0}function sO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;i=h+92|0;c=h+88|0;e=h+84|0;g=h+8|0;d=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[e>>2]=0;if(gc[k[7320>>2]&255](k[i>>2]|0,g)|0){i=k[e>>2]|0;r=h;return i|0}QN();k[d>>2]=k[1946];while(1){if(k[d>>2]|0)if((k[k[d>>2]>>2]|0)!=(k[g>>2]|0))a=1;else a=(k[(k[d>>2]|0)+4>>2]|0)!=(k[g+72>>2]|0);else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=k[b+32>>2]}if(b){k[f>>2]=(k[d>>2]|0)+28;while(1){if(!(k[k[f>>2]>>2]|0))break;if((k[(k[k[f>>2]>>2]|0)+4>>2]|0)==(k[c>>2]|0))break;k[f>>2]=(k[k[f>>2]>>2]|0)+8}k[e>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2]}SN();i=k[e>>2]|0;r=h;return i|0}function tO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+624|0;f=q+100|0;g=q+96|0;h=q+92|0;j=q+88|0;l=q+84|0;n=q+80|0;p=q+104|0;m=q+76|0;o=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;k[k[h>>2]>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;if(!(k[g>>2]&526336)){if(!(k[g>>2]&8)){a=k[n>>2]|0;r=q;return a|0}k[k[h>>2]>>2]=384;a=k[n>>2]|0;r=q;return a|0}a=(Tf(k[f>>2]|0)|0)-1|0;k[m>>2]=a;while(1){if((i[(k[f>>2]|0)+(k[m>>2]|0)>>0]|0)==45)break;k[m>>2]=(k[m>>2]|0)+-1}IR(p|0,k[f>>2]|0,k[m>>2]|0)|0;i[p+(k[m>>2]|0)>>0]=0;if(!(gc[k[7320>>2]&255](p,o)|0)){k[k[h>>2]>>2]=k[o+12>>2]&511;k[k[j>>2]>>2]=k[o+20>>2];k[k[l>>2]>>2]=k[o+24>>2];a=k[n>>2]|0;r=q;return a|0}else{k[n>>2]=1802;a=k[n>>2]|0;r=q;return a|0}return 0}function uO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Zb[k[7524>>2]&255]()|0){b=0;r=g;return b|0}b=Yb[k[7512>>2]&255](k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return b|0}function vO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;q=t;f=t+40|0;g=t+36|0;u=t+32|0;h=t+28|0;i=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;l=t+4|0;k[f>>2]=a;k[g>>2]=b;k[u>>2]=c;k[h>>2]=d;k[i>>2]=e;k[o>>2]=k[u>>2];k[p>>2]=0;k[(k[o>>2]|0)+12>>2]=k[g>>2];k[(k[o>>2]|0)+4>>2]=k[f>>2];k[(k[o>>2]|0)+32>>2]=k[h>>2];j[(k[o>>2]|0)+18>>1]=k[i>>2]&255;if(Sf((k[i>>2]&64|0)!=0?k[h>>2]|0:0,45569,1)|0){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|16}if(!(YQ(k[(k[f>>2]|0)+16>>2]|0,45185)|0)){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|1}if(k[i>>2]&128)k[n>>2]=7628;else{u=gc[k[k[(k[f>>2]|0)+20>>2]>>2]&255](k[h>>2]|0,k[o>>2]|0)|0;k[n>>2]=u}if((k[n>>2]|0)!=7708){if((k[n>>2]|0)==7192){u=($Q(k[h>>2]|0)|0)+6|0;k[l>>2]=u;u=k[l>>2]|0;u=Td(u,((u|0)<0)<<31>>31)|0;k[s>>2]=u;if(!(k[s>>2]|0))k[p>>2]=7;else{d=k[l>>2]|0;u=k[s>>2]|0;k[q>>2]=k[h>>2];_d(d,u,45574,q)|0}k[(k[o>>2]|0)+24>>2]=k[s>>2]}}else{QN();u=wO(k[o>>2]|0,(k[o>>2]|0)+8|0)|0;k[p>>2]=u;if(k[p>>2]|0){UN(k[o>>2]|0,k[g>>2]|0,34405);k[g>>2]=-1}SN()}gO(k[o>>2]|0,0);if(!(k[p>>2]|0)){k[k[o>>2]>>2]=k[n>>2];xO(k[o>>2]|0);u=k[p>>2]|0;r=t;return u|0}if((k[g>>2]|0)<0){u=k[p>>2]|0;r=t;return u|0}UN(k[o>>2]|0,k[g>>2]|0,34490);u=k[p>>2]|0;r=t;return u|0}function wO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+112|0;e=i+104|0;c=i+100|0;f=i+96|0;j=i+92|0;l=i+88|0;g=i+80|0;d=i+4|0;h=i;k[c>>2]=a;k[f>>2]=b;k[h>>2]=0;k[l>>2]=k[(k[c>>2]|0)+12>>2];b=gc[k[7332>>2]&255](k[l>>2]|0,d)|0;k[j>>2]=b;if(k[j>>2]|0){j=k[c>>2]|0;l=qQ()|0;gO(j,k[l>>2]|0);if((k[(k[c>>2]|0)+20>>2]|0)==75){k[e>>2]=22;l=k[e>>2]|0;r=i;return l|0}else{k[e>>2]=10;l=k[e>>2]|0;r=i;return l|0}};k[g>>2]=0;k[g+4>>2]=0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+72>>2];k[h>>2]=k[1946];while(1){if(k[h>>2]|0)a=(VQ(g,k[h>>2]|0,8)|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;k[h>>2]=k[c+32>>2]}if(!c){l=Td(40,0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){k[e>>2]=7;l=k[e>>2]|0;r=i;return l|0}c=k[h>>2]|0;a=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));l=k[h>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=k[g+4>>2];k[(k[h>>2]|0)+16>>2]=1;k[(k[h>>2]|0)+32>>2]=k[1946];k[(k[h>>2]|0)+36>>2]=0;if(k[1946]|0)k[(k[1946]|0)+36>>2]=k[h>>2];k[1946]=k[h>>2]}else{l=(k[h>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)+1}k[k[f>>2]>>2]=k[h>>2];k[e>>2]=0;l=k[e>>2]|0;r=i;return l|0}function xO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+112|0;h=i+24|0;g=i+16|0;d=i+8|0;c=i;e=i+108|0;f=i+32|0;b=i+28|0;k[e>>2]=a;if((m[(k[e>>2]|0)+18>>1]|0)&128){r=i;return}a=gc[k[7332>>2]&255](k[(k[e>>2]|0)+12>>2]|0,f)|0;k[b>>2]=a;if(k[b>>2]|0){k[c>>2]=k[(k[e>>2]|0)+32>>2];$d(28,45582,c);r=i;return}if(!(k[f+16>>2]|0)){k[d>>2]=k[(k[e>>2]|0)+32>>2];$d(28,45606,d);r=i;return}a=k[e>>2]|0;if((k[f+16>>2]|0)>>>0>1){k[g>>2]=k[a+32>>2];$d(28,45635,g);r=i;return}if(!(cO(a)|0)){r=i;return}k[h>>2]=k[(k[e>>2]|0)+32>>2];$d(28,45662,h);r=i;return}function yO(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[b>>2];xO(k[c>>2]|0);AO(k[b>>2]|0,0)|0;QN();if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[(k[(k[c>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)HO(k[c>>2]|0);IO(k[c>>2]|0);c=lO(k[b>>2]|0)|0;k[d>>2]=c;SN();r=e;return k[d>>2]|0}function zO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;f=o+44|0;p=o+40|0;g=o+36|0;n=o+32|0;h=o+28|0;m=o+24|0;d=o+8|0;e=o;k[p>>2]=a;k[g>>2]=b;k[n>>2]=0;k[h>>2]=k[p>>2];k[e>>2]=0;if((l[(k[h>>2]|0)+16>>0]|0|0)>=(k[g>>2]|0)){k[f>>2]=0;p=k[f>>2]|0;r=o;return p|0}QN();k[m>>2]=k[(k[h>>2]|0)+8>>2];if((l[(k[h>>2]|0)+16>>0]|0|0)!=(l[(k[m>>2]|0)+12>>0]|0|0)?((k[g>>2]|0)>1?1:(l[(k[m>>2]|0)+12>>0]|0|0)>=3):0)k[n>>2]=5;else c=6;a:do if((c|0)==6){do if((k[g>>2]|0)==1){if((l[(k[m>>2]|0)+12>>0]|0|0)!=1?(l[(k[m>>2]|0)+12>>0]|0|0)!=2:0)break;i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;break a}while(0);k[d+8>>2]=1;j[d+2>>1]=0;if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(l[(k[h>>2]|0)+16>>0]|0|0)<3:0)c=13}else c=13;if((c|0)==13?(j[d>>1]=(k[g>>2]|0)==1?0:1,k[d+4>>2]=k[381],(FO(k[h>>2]|0,d)|0)!=0):0){p=qQ()|0;k[e>>2]=k[p>>2];p=hO(k[e>>2]|0,3850)|0;k[n>>2]=p;if((k[n>>2]|0)==5)break;gO(k[h>>2]|0,k[e>>2]|0);break}do if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(k[(k[m>>2]|0)+8>>2]|0)>1:0){k[n>>2]=5;break}j[d>>1]=1;b=k[381]|0;if((k[g>>2]|0)==2){k[d+4>>2]=b+1;k[d+8>>2]=1}else{k[d+4>>2]=b+2;k[d+8>>2]=510}if((FO(k[h>>2]|0,d)|0)!=0?(p=qQ()|0,k[e>>2]=k[p>>2],p=hO(k[e>>2]|0,3850)|0,k[n>>2]=p,(k[n>>2]|0)!=5):0)gO(k[h>>2]|0,k[e>>2]|0)}else{k[d+4>>2]=(k[381]|0)+2;k[d+8>>2]=510;if(FO(k[h>>2]|0,d)|0){p=qQ()|0;k[e>>2]=k[p>>2];p=hO(k[e>>2]|0,3850)|0;k[n>>2]=p}k[d+4>>2]=k[381];k[d+8>>2]=1;j[d>>1]=2;p=(FO(k[h>>2]|0,d)|0)!=0;if(p&(k[n>>2]|0)==0){p=qQ()|0;k[e>>2]=k[p>>2];k[n>>2]=2058}if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[m>>2]|0)+8>>2]=1;break}if((k[n>>2]|0)==5)break a;gO(k[h>>2]|0,k[e>>2]|0);break a}while(0);b=k[g>>2]|0;if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=b;i[(k[m>>2]|0)+12>>0]=k[g>>2];break}if((b|0)==4){i[(k[h>>2]|0)+16>>0]=3;i[(k[m>>2]|0)+12>>0]=3}}while(0);SN();k[f>>2]=k[n>>2];p=k[f>>2]|0;r=o;return p|0}function AO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=EO(k[e>>2]|0,k[d>>2]|0,0)|0;r=c;return a|0}function BO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0;m=r;r=r+48|0;h=m;n=m+40|0;c=m+36|0;f=m+32|0;g=m+28|0;e=m+24|0;d=m+8|0;k[n>>2]=a;k[c>>2]=b;k[f>>2]=0;k[g>>2]=0;k[e>>2]=k[n>>2];QN();if((l[(k[(k[e>>2]|0)+8>>2]|0)+12>>0]|0)>1)k[g>>2]=1;do if((k[g>>2]|0)==0?(i[(k[(k[e>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){j[d+2>>1]=0;k[d+4>>2]=(k[381]|0)+1;k[d+8>>2]=1;j[d>>1]=1;b=k[1839]|0;n=k[(k[e>>2]|0)+12>>2]|0;k[h>>2]=d;if(Yb[b&255](n,12,h)|0){k[f>>2]=3594;h=k[e>>2]|0;n=qQ()|0;gO(h,k[n>>2]|0);break}if((j[d>>1]|0)!=2)k[g>>2]=1}while(0);SN();k[k[c>>2]>>2]=k[g>>2];r=m;return k[f>>2]|0}function CO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+160|0;z=E+152|0;F=E+148|0;A=E+144|0;f=E+140|0;g=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;q=E+108|0;h=E+104|0;o=E+100|0;w=E+24|0;n=E+20|0;x=E+16|0;y=E+12|0;p=E+8|0;i=E+4|0;v=E;k[F>>2]=a;k[A>>2]=b;k[f>>2]=c;k[g>>2]=d;k[B>>2]=e;k[u>>2]=k[F>>2];k[D>>2]=0;c=TN()|0;k[s>>2]=c;if((k[(k[u>>2]|0)+36>>2]|0)==0?(F=DO(k[u>>2]|0)|0,k[D>>2]=F,(k[D>>2]|0)!=0):0){k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}k[t>>2]=k[(k[u>>2]|0)+36>>2];k[C>>2]=k[k[t>>2]>>2];F=ha(((k[A>>2]|0)+(k[s>>2]|0)|0)/(k[s>>2]|0)|0,k[s>>2]|0)|0;k[q>>2]=F;a:do if((m[(k[C>>2]|0)+20>>1]|0|0)<(k[q>>2]|0)){F=ha(k[q>>2]|0,k[f>>2]|0)|0;k[o>>2]=F;k[(k[C>>2]|0)+16>>2]=k[f>>2];b:do if((k[(k[C>>2]|0)+12>>2]|0)>=0){if(gc[k[7332>>2]&255](k[(k[C>>2]|0)+12>>2]|0,w)|0){k[D>>2]=4874;break a}if((k[w+36>>2]|0)<(k[o>>2]|0)){if(!(k[g>>2]|0))break a;k[n>>2]=(k[w+36>>2]|0)/4096|0;while(1){if((k[n>>2]|0)>=((k[o>>2]|0)/4096|0|0))break b;k[x>>2]=0;F=(k[n>>2]<<12)+4096-1|0;if((fO(k[(k[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19018,1,x)|0)!=1)break;k[n>>2]=(k[n>>2]|0)+1}k[y>>2]=k[(k[C>>2]|0)+8>>2];F=VN(4874,45290,k[y>>2]|0,33552)|0;k[D>>2]=F;break a}}while(0);F=Vd(k[(k[C>>2]|0)+24>>2]|0,k[q>>2]<<2)|0;k[h>>2]=F;if(!(k[h>>2]|0)){k[D>>2]=3082;break}k[(k[C>>2]|0)+24>>2]=k[h>>2];while(1){if((m[(k[C>>2]|0)+20>>1]|0|0)>=(k[q>>2]|0))break a;F=ha(k[f>>2]|0,k[s>>2]|0)|0;k[p>>2]=F;if((k[(k[C>>2]|0)+12>>2]|0)>=0){w=k[1884]|0;c=k[p>>2]|0;x=(l[(k[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=k[(k[C>>2]|0)+12>>2]|0;F=k[f>>2]|0;F=RR(F|0,((F|0)<0)<<31>>31|0,m[(k[C>>2]|0)+20>>1]|0|0,0)|0;F=ac[w&255](0,c,x,1,y,F)|0;k[v>>2]=F;if((k[v>>2]|0)==(-1|0)){f=21;break}}else{F=k[f>>2]|0;F=Td(F,((F|0)<0)<<31>>31)|0;k[v>>2]=F;if(!(k[v>>2]|0)){f=23;break}KR(k[v>>2]|0,0,k[f>>2]|0)|0}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[s>>2]|0))break;F=ha(k[f>>2]|0,k[i>>2]|0)|0;k[(k[(k[C>>2]|0)+24>>2]|0)+((m[(k[C>>2]|0)+20>>1]|0)+(k[i>>2]|0)<<2)>>2]=(k[v>>2]|0)+F;k[i>>2]=(k[i>>2]|0)+1}F=(k[C>>2]|0)+20|0;j[F>>1]=(m[F>>1]|0)+(k[s>>2]|0)}if((f|0)==21){F=VN(5386,45377,k[(k[C>>2]|0)+8>>2]|0,33579)|0;k[D>>2]=F;break}else if((f|0)==23){k[D>>2]=7;break}}while(0);if((m[(k[C>>2]|0)+20>>1]|0|0)>(k[A>>2]|0))k[k[B>>2]>>2]=k[(k[(k[C>>2]|0)+24>>2]|0)+(k[A>>2]<<2)>>2];else k[k[B>>2]>>2]=0;if((k[D>>2]|0)==0?(l[(k[C>>2]|0)+22>>0]|0|0)!=0:0)k[D>>2]=8;k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}function DO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+128|0;n=q;b=q+116|0;c=q+112|0;f=q+108|0;h=q+104|0;j=q+100|0;g=q+96|0;p=q+92|0;d=q+88|0;m=q+12|0;o=q+8|0;e=q+4|0;k[c>>2]=a;k[f>>2]=0;a=Td(16,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[b>>2]=7;p=k[b>>2]|0;r=q;return p|0}a=k[f>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;QN();k[g>>2]=k[(k[c>>2]|0)+8>>2];k[h>>2]=k[(k[g>>2]|0)+20>>2];a:do if(!(k[h>>2]|0)){k[o>>2]=k[(k[c>>2]|0)+32>>2];do if(!(gc[k[7332>>2]&255](k[(k[c>>2]|0)+12>>2]|0,m)|0)){a=6+($Q(k[o>>2]|0)|0)|0;k[d>>2]=a;a=Td(36+(k[d>>2]|0)|0,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[j>>2]=7;break}KR(k[h>>2]|0,0,36+(k[d>>2]|0)|0)|0;a=(k[h>>2]|0)+36|0;k[(k[h>>2]|0)+8>>2]=a;k[p>>2]=a;d=k[d>>2]|0;a=k[p>>2]|0;k[n>>2]=k[o>>2];_d(d,a,45690,n)|0;k[(k[h>>2]|0)+12>>2]=-1;k[(k[(k[c>>2]|0)+8>>2]|0)+20>>2]=k[h>>2];k[k[h>>2]>>2]=k[(k[c>>2]|0)+8>>2];if((k[3]|0)!=0?(k[(k[h>>2]|0)+4>>2]=8,(k[(k[h>>2]|0)+4>>2]|0)==0):0){k[j>>2]=7;break}if(l[(k[g>>2]|0)+13>>0]|0)break a;k[e>>2]=66;if(Sf(k[(k[c>>2]|0)+32>>2]|0,45697,0)|0){k[e>>2]=0;i[(k[h>>2]|0)+22>>0]=1}o=ZN(k[p>>2]|0,k[e>>2]|0,k[m+12>>2]&511)|0;k[(k[h>>2]|0)+12>>2]=o;if((k[(k[h>>2]|0)+12>>2]|0)<0){o=wt(33404)|0;p=VN(o,45232,k[p>>2]|0,33404)|0;k[j>>2]=p;break}uO(k[(k[h>>2]|0)+12>>2]|0,k[m+20>>2]|0,k[m+24>>2]|0)|0;k[j>>2]=0;if((_N(k[c>>2]|0,1,128,1)|0)==0?(jO(k[(k[h>>2]|0)+12>>2]|0,0,0)|0)!=0:0){p=VN(4618,45255,k[p>>2]|0,33420)|0;k[j>>2]=p}if(!(k[j>>2]|0)){p=_N(k[c>>2]|0,0,128,1)|0;k[j>>2]=p}if(!(k[j>>2]|0))break a}else k[j>>2]=1802;while(0);RN(k[c>>2]|0);Ud(k[f>>2]|0);SN();k[b>>2]=k[j>>2];p=k[b>>2]|0;r=q;return p|0}while(0);k[k[f>>2]>>2]=k[h>>2];p=(k[h>>2]|0)+28|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[c>>2]|0)+36>>2]=k[f>>2];SN();k[(k[f>>2]|0)+4>>2]=k[(k[h>>2]|0)+32>>2];k[(k[h>>2]|0)+32>>2]=k[f>>2];k[b>>2]=0;p=k[b>>2]|0;r=q;return p|0}function EO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+44|0;p=o+40|0;e=o+36|0;g=o+28|0;h=o+24|0;f=o+8|0;m=o;k[p>>2]=a;k[e>>2]=b;k[o+32>>2]=c;k[g>>2]=k[p>>2];k[m>>2]=0;if((l[(k[g>>2]|0)+16>>0]|0|0)<=(k[e>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=o;return p|0}QN();k[h>>2]=k[(k[g>>2]|0)+8>>2];do if((l[(k[g>>2]|0)+16>>0]|0|0)>1){if((k[e>>2]|0)==1?(j[f>>1]=0,j[f+2>>1]=0,k[f+4>>2]=(k[381]|0)+2,k[f+8>>2]=510,(FO(k[g>>2]|0,f)|0)!=0):0){k[m>>2]=2314;a=k[g>>2]|0;p=qQ()|0;gO(a,k[p>>2]|0);break}j[f>>1]=2;j[f+2>>1]=0;k[f+4>>2]=k[381];k[f+8>>2]=2;if(!(FO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=1;n=10;break}else{k[m>>2]=2058;a=k[g>>2]|0;p=qQ()|0;gO(a,k[p>>2]|0);break}}else n=10;while(0);if((n|0)==10?(k[e>>2]|0)==0:0){p=(k[h>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+-1;do if(!(k[(k[h>>2]|0)+8>>2]|0)){j[f>>1]=2;j[f+2>>1]=0;k[f+8>>2]=0;k[f+4>>2]=0;if(!(FO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=0;break}else{k[m>>2]=2058;n=k[g>>2]|0;p=qQ()|0;gO(n,k[p>>2]|0);i[(k[h>>2]|0)+12>>0]=0;i[(k[g>>2]|0)+16>>0]=0;break}}while(0);p=(k[h>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+-1;if(!(k[(k[h>>2]|0)+24>>2]|0))GO(k[g>>2]|0)}SN();if(!(k[m>>2]|0))i[(k[g>>2]|0)+16>>0]=k[e>>2];k[d>>2]=k[m>>2];p=k[d>>2]|0;r=o;return p|0}function FO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p+8|0;n=p;c=p+48|0;d=p+44|0;e=p+40|0;h=p+36|0;g=p+32|0;f=p+16|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[(k[d>>2]|0)+8>>2];do if(((m[(k[d>>2]|0)+18>>1]|0)&3|0)==1){if(l[(k[g>>2]|0)+13>>0]|0){k[h>>2]=0;break}j[f+2>>1]=0;k[f+4>>2]=(k[381]|0)+2;k[f+8>>2]=510;j[f>>1]=1;b=k[1839]|0;o=k[(k[d>>2]|0)+12>>2]|0;k[n>>2]=f;o=Yb[b&255](o,13,n)|0;k[h>>2]=o;if((k[h>>2]|0)>=0){i[(k[g>>2]|0)+13>>0]=1;o=(k[g>>2]|0)+24|0;k[o>>2]=(k[o>>2]|0)+1;break}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}else{b=k[1839]|0;n=k[(k[d>>2]|0)+12>>2]|0;k[o>>2]=k[e>>2];o=Yb[b&255](n,13,o)|0;k[h>>2]=o}while(0);k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}function GO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[c>>2]=k[(k[d>>2]|0)+28>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];UN(k[b>>2]|0,k[k[c>>2]>>2]|0,30305);Ud(k[c>>2]|0);k[c>>2]=k[e>>2]}k[(k[d>>2]|0)+28>>2]=0;r=f;return}function HO(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+8|0;d=b+4|0;e=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[(k[c>>2]|0)+28>>2];k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+28>>2];k[(k[d>>2]|0)+28>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=-1;k[(k[c>>2]|0)+28>>2]=0;r=b;return}function IO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[c>>2]|0)+16>>2]|0){r=d;return}GO(k[b>>2]|0);b=k[(k[c>>2]|0)+32>>2]|0;if(k[(k[c>>2]|0)+36>>2]|0)k[(k[(k[c>>2]|0)+36>>2]|0)+32>>2]=b;else k[1946]=b;if(k[(k[c>>2]|0)+32>>2]|0)k[(k[(k[c>>2]|0)+32>>2]|0)+36>>2]=k[(k[c>>2]|0)+36>>2];Ud(k[c>>2]|0);r=d;return}function JO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7708}function KO(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){c=b;k[c>>2]=0;k[c+4>>2]=0;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=oe(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=L;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}return 0}function LO(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){p[b>>3]=0.0;e=+p[b>>3];r=d;return +e}else{f=(k[c>>2]|0)+4|0;a=k[f>>2]|0;k[f>>2]=a+1;e=+me(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);p[b>>3]=e;e=+p[b>>3];r=d;return +e}return 0.0}function MO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;k[d>>2]=a;k[e>>2]=b;if((k[k[e>>2]>>2]|0)<=0){i[c>>0]=48;a=i[c>>0]|0;r=h;return a|0}else{a=k[e>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;k[g>>2]=~~+p[k[d>>2]>>3];p[f>>3]=+(k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+48;p[k[d>>2]>>3]=(+p[k[d>>2]>>3]-+p[f>>3])*10.0;i[c>>0]=k[g>>2];a=i[c>>0]|0;r=h;return a|0}return 0}function NO(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=ke(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function OO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=k[e>>2]|0;a=GR(k[(k[d>>2]|0)+12>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;if((c|0)>0|((c|0)==0?a>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=AA(k[d>>2]|0,k[e>>2]|0)|0,k[e>>2]=a,(a|0)<=0):0){r=g;return}while(1){a=k[e>>2]|0;k[e>>2]=a+-1;if((a|0)<=0)break;c=i[f>>0]|0;b=(k[d>>2]|0)+12|0;a=k[b>>2]|0;k[b>>2]=a+1;i[(k[(k[d>>2]|0)+8>>2]|0)+a>>0]=c}r=g;return}function PO(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=288;d=k[a+4>>2]|0;if((d|0)<0|(d|0)==0&(k[a>>2]|0)>>>0<=0){r=c;return}Pd(k[b>>2]|0)|0;r=c;return}function QO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[h>>2]=a;k[c>>2]=b;b=bc[k[64>>2]&255](k[h>>2]|0)|0;k[d>>2]=b;Zi(5,k[h>>2]|0);b=288;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){b=ig(0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;b=k[a>>2]|0;a=k[a+4>>2]|0;e=288;h=k[d>>2]|0;h=FR(k[e>>2]|0,k[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;e=L;if((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>=h>>>0){k[77]=1;PO(k[d>>2]|0);break}else{k[77]=0;break}}while(0);h=bc[k[48>>2]&255](k[d>>2]|0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}b=kg(k[f>>2]|0)|0;k[d>>2]=b;_i(0,k[d>>2]|0);_i(9,1);b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}function RO(){TO(9612,3);return}function SO(){TO(9388,8);return}function TO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;h=j+12|0;i=j+8|0;g=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[d>>2]|0))break;k[i>>2]=k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+20>>2];b=Tf(k[i>>2]|0)|0;k[g>>2]=b;k[e>>2]=((l[18229+(l[k[i>>2]>>0]|0)>>0]|0)+(k[g>>2]|0)|0)%23|0;b=pu(k[e>>2]|0,k[i>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=k[(k[h>>2]|0)+8>>2];k[(k[h>>2]|0)+8>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}else{k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=0;k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+24>>2]=k[1080+(k[e>>2]<<2)>>2];k[1080+(k[e>>2]<<2)>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}k[f>>2]=(k[f>>2]|0)+1}r=j;return}function UO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=ke(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!a){r=f;return}g=k[d>>2]|0;ue(g,Id(k[e>>2]|0)|0);r=f;return}function VO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+4|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[g>>2]=c;a=ne(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;xe(a,Kd(k[e>>2]|0)|0,-1,0);r=d;return}function WO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;xe(a,tf()|0,-1,0);r=d;return}function XO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;d=v+52|0;e=v+48|0;f=v+44|0;u=v+40|0;t=v+36|0;q=v+32|0;j=v+28|0;m=v+24|0;g=v+20|0;h=v+16|0;p=v+12|0;s=v+8|0;n=v+4|0;o=v;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=v;return}a=ke(k[k[f>>2]>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=v;return}a=le(k[k[f>>2]>>2]|0)|0;k[q>>2]=a;a:do if((k[e>>2]|0)!=1){a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[t>>2]=a;if(!a){r=v;return}k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break;a=k[s>>2]|0;k[s>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break b;k[s>>2]=(k[s>>2]|0)+1}while(0);k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)>0){c=k[d>>2]|0;a=k[p>>2]|0;a=RR(a|0,((a|0)<0)<<31>>31|0,5,0)|0;a=EP(c,a,L)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=v;return}k[g>>2]=(k[h>>2]|0)+(k[p>>2]<<2);k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break a;k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]=k[s>>2];a=k[s>>2]|0;k[s>>2]=a+1;c:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break c;k[s>>2]=(k[s>>2]|0)+1}while(0);i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=(k[s>>2]|0)-(k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]|0);k[p>>2]=(k[p>>2]|0)+1}}}else{k[p>>2]=1;k[g>>2]=46317;k[h>>2]=9384;k[t>>2]=0}while(0);if((k[p>>2]|0)>0){s=Fe(k[d>>2]|0)|0;k[j>>2]=s;d:do if((k[j>>2]&1|0)!=0&(k[q>>2]|0)>0)do{k[n>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[n>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[n>>2]|0)<=(k[q>>2]|0)?(VQ(k[u>>2]|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[n>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break d;k[u>>2]=(k[u>>2]|0)+(k[n>>2]|0);k[q>>2]=(k[q>>2]|0)-(k[n>>2]|0)}while((k[q>>2]|0)>0);while(0);e:do if((k[j>>2]&2|0)!=0&(k[q>>2]|0)>0)do{k[o>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[o>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[o>>2]|0)<=(k[q>>2]|0)?(VQ((k[u>>2]|0)+((k[q>>2]|0)-(k[o>>2]|0))|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[o>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break e;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}while((k[q>>2]|0)>0);while(0);if(k[t>>2]|0)Ud(k[h>>2]|0)}xe(k[d>>2]|0,k[u>>2]|0,k[q>>2]|0,-1);r=v;return}function YO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(Fe(k[d>>2]|0)|0)==0;k[i>>2]=a?0:-1;a=FP(k[d>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=m;return}k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;if((pe(k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0)|0)==5){l=9;break}a=zI(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,k[j>>2]|0)|0;if((a^k[i>>2]|0)>=0)k[h>>2]=k[g>>2];k[g>>2]=(k[g>>2]|0)+1}if((l|0)==9){r=m;return}ze(k[d>>2]|0,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0);r=m;return}function ZO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;e=m+28|0;d=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;f=m+4|0;l=m;k[e>>2]=a;k[m+24>>2]=b;k[d>>2]=c;k[h>>2]=k[k[d>>2]>>2];a=He(k[e>>2]|0,40)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=m;return}a=(pe(k[k[d>>2]>>2]|0)|0)==5;d=(j[(k[i>>2]|0)+8>>1]|0)!=0;if(a){if(!d){r=m;return}GP(k[e>>2]|0);r=m;return}b=k[e>>2]|0;if(!d){l=Ge(b)|0;k[(k[i>>2]|0)+32>>2]=l;sh(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}a=FP(b)|0;k[l>>2]=a;a=(Fe(k[e>>2]|0)|0)!=0&1;k[g>>2]=a;l=zI(k[i>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[f>>2]=l;if(!((k[g>>2]|0)!=0&(k[f>>2]|0)<0)?!((k[g>>2]|0)==0&(k[f>>2]|0)>0):0){GP(k[e>>2]|0);r=m;return}sh(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}function _O(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(j[(k[c>>2]|0)+8>>1]|0)ze(k[b>>2]|0,k[c>>2]|0);eh(k[c>>2]|0);r=d;return}function $O(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;k[e>>2]=0;switch(pe(k[k[g>>2]>>2]|0)|0){case 1:{k[e>>2]=40203;break}case 3:{k[e>>2]=46307;break}case 2:{k[e>>2]=40198;break}case 4:{k[e>>2]=46312;break}default:k[e>>2]=40211}xe(k[d>>2]|0,k[e>>2]|0,-1,0);r=f;return}function aP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[h+12>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 2:case 1:case 4:{ue(k[d>>2]|0,le(k[k[e>>2]>>2]|0)|0);r=h;return}case 3:{a=ke(k[k[e>>2]>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}k[f>>2]=0;a:while(1){if(!(i[k[g>>2]>>0]|0))break;k[f>>2]=(k[f>>2]|0)+1;a=k[g>>2]|0;k[g>>2]=a+1;if((l[a>>0]|0)<192)continue;while(1){if((l[k[g>>2]>>0]&192|0)!=128)continue a;k[g>>2]=(k[g>>2]|0)+1}}ue(k[d>>2]|0,k[f>>2]|0);r=h;return}default:{we(k[d>>2]|0);r=h;return}}}function bP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+40|0;e=p+32|0;n=p+28|0;o=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;f=p+4|0;g=p;k[d>>2]=a;k[p+36>>2]=b;k[e>>2]=c;k[f>>2]=1;a=pe(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;a=pe(k[(k[e>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if((k[j>>2]|0)==5|(k[m>>2]|0)==5){r=p;return}b=le(k[k[e>>2]>>2]|0)|0;k[h>>2]=b;b=le(k[(k[e>>2]|0)+4>>2]|0)|0;k[i>>2]=b;b=k[k[e>>2]>>2]|0;if((k[j>>2]|0)==4&(k[m>>2]|0)==4){m=je(b)|0;k[n>>2]=m;m=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=0}else{m=ke(b)|0;k[n>>2]=m;m=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=1}a:while(1){if((k[i>>2]|0)>(k[h>>2]|0))break;if(!(VQ(k[n>>2]|0,k[o>>2]|0,k[i>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1;while(1){k[h>>2]=(k[h>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+1;if(!(k[g>>2]|0))continue a;if(((l[k[n>>2]>>0]|0)&192|0)!=128)continue a}}if((k[i>>2]|0)>(k[h>>2]|0))k[f>>2]=0;ue(k[d>>2]|0,k[f>>2]|0);r=p;return}function cP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+80|0;l=o;d=o+64|0;e=o+60|0;f=o+56|0;m=o+44|0;j=o+16|0;n=o+12|0;h=o+8|0;g=o+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Ge(k[d>>2]|0)|0;k[g>>2]=a;if((k[e>>2]|0)<1){r=o;return}a=ke(k[k[f>>2]>>2]|0)|0;k[n>>2]=a;if(!a){r=o;return}k[m>>2]=(k[e>>2]|0)-1;k[m+4>>2]=0;k[m+8>>2]=(k[f>>2]|0)+4;ng(j,k[g>>2]|0,0,0,k[(k[g>>2]|0)+92>>2]|0);i[j+25>>0]=2;n=k[n>>2]|0;k[l>>2]=m;wA(j,n,l);k[h>>2]=k[j+12>>2];m=k[d>>2]|0;n=pg(j)|0;xe(m,n,k[h>>2]|0,170);r=o;return}function dP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=ke(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}if(!(l[k[e>>2]>>0]|0)){r=f;return}g=k[d>>2]|0;ue(g,GC(e)|0);r=f;return}function eP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n;g=n+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(k[e>>2]<<2)+1|0;a=Td(a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;k[m>>2]=a;if(!(k[l>>2]|0)){De(k[d>>2]|0);r=n;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;o=oe(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;a=L;c=j;k[c>>2]=o;k[c+4>>2]=a;c=j;b=k[c+4>>2]|0;c=(k[j+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>1114111);b=j;k[b>>2]=c?65533:o;k[b+4>>2]=c?0:a;k[g>>2]=k[j>>2]&2097151;b=k[g>>2]|0;do if((k[g>>2]|0)>>>0>=128){c=k[g>>2]|0;if(b>>>0<2048){a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=192+(c>>>6&31);a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}b=k[g>>2]|0;if(c>>>0<65536){o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=224+(b>>>12&15);o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}else{a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=240+(b>>>18&7);a=128+((k[g>>2]|0)>>>12&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}}else{o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=b}while(0);k[h>>2]=(k[h>>2]|0)+1}o=(k[m>>2]|0)-(k[l>>2]|0)|0;ye(k[d>>2]|0,k[l>>2]|0,o,((o|0)<0)<<31>>31,148,1);r=n;return}function fP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=r;r=r+32|0;d=h+24|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[h+20>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{a=oe(k[k[e>>2]>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;do if((k[f+4>>2]|0)<0){g=f;if(!((k[g>>2]|0)==0?(k[g+4>>2]|0)==-2147483648:0)){a=f;a=FR(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;break}te(k[d>>2]|0,46262,-1);r=h;return}while(0);g=f;ve(k[d>>2]|0,k[g>>2]|0,k[g+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{i=+me(k[k[e>>2]>>2]|0);p[g>>3]=i;if(+p[g>>3]<0.0)p[g>>3]=-+p[g>>3];se(k[d>>2]|0,+p[g>>3]);r=h;return}}}function gP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0.0;j=r;r=r+48|0;h=j+8|0;d=j+40|0;l=j+36|0;e=j+32|0;f=j+28|0;g=j;i=j+24|0;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=0;do if((k[l>>2]|0)==2)if(5==(pe(k[(k[e>>2]|0)+4>>2]|0)|0)){r=j;return}else{l=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=l;l=(k[f>>2]|0)>30?30:l;k[f>>2]=l;k[f>>2]=(k[f>>2]|0)<0?0:l;break}while(0);if((pe(k[k[e>>2]>>2]|0)|0)==5){r=j;return}m=+me(k[k[e>>2]>>2]|0);p[g>>3]=m;do if((k[f>>2]|0)==0&+p[g>>3]>=0.0&+p[g>>3]<9223372036854775808.0){m=+p[g>>3]+.5;m=+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);p[g>>3]=m}else{if((k[f>>2]|0)==0&+p[g>>3]<0.0?-+p[g>>3]<9223372036854775808.0:0){m=-+p[g>>3]+.5;m=-(+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0));p[g>>3]=m;break}m=+p[g>>3];k[h>>2]=k[f>>2];p[h+8>>3]=m;l=Yd(46302,h)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;fz(l,g,Tf(k[i>>2]|0)|0,1)|0;Ud(k[i>>2]|0);break}De(k[d>>2]|0);r=j;return}while(0);se(k[d>>2]|0,+p[g>>3]);r=j;return}function hP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=ke(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=le(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=GR(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=EP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[(k[h>>2]|0)+(k[e>>2]|0)>>0]&~(l[19019+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]&32);k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function iP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=ke(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=le(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=GR(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=EP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[18229+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]|0;k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function jP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+28|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;e=n+32|0;k[d>>2]=a;k[n+24>>2]=b;k[o>>2]=c;c=je(k[k[o>>2]>>2]|0)|0;k[h>>2]=c;c=le(k[k[o>>2]>>2]|0)|0;k[g>>2]=c;c=k[d>>2]|0;a=k[g>>2]|0;a=RR(a|0,((a|0)<0)<<31>>31|0,2,0)|0;a=GR(a|0,L|0,1,0)|0;a=EP(c,a,L)|0;k[m>>2]=a;k[j>>2]=a;if(!(k[m>>2]|0)){r=n;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;i[e>>0]=i[k[h>>2]>>0]|0;o=i[46286+((l[e>>0]|0)>>4&15)>>0]|0;a=k[j>>2]|0;k[j>>2]=a+1;i[a>>0]=o;a=i[46286+((l[e>>0]|0)&15)>>0]|0;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=a;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}i[k[j>>2]>>0]=0;xe(k[d>>2]|0,k[m>>2]|0,k[g>>2]<<1,148);r=n;return}function kP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;e=f;k[d>>2]=a;k[f+12>>2]=b;k[f+8>>2]=c;ae(8,e);if((k[e+4>>2]|0)<0){c=e;c=FR(0,0,k[c>>2]|0,k[c+4>>2]&2147483647|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L}ve(k[d>>2]|0,k[e>>2]|0,k[e+4>>2]|0);r=f;return}function lP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[g+12>>2]=b;k[h>>2]=c;a=ne(k[k[h>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<1?1:a;a=k[e>>2]|0;a=EP(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=g;return}ae(k[e>>2]|0,k[f>>2]|0);qe(k[d>>2]|0,k[f>>2]|0,k[e>>2]|0,148);r=g;return}function mP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;e=f+4|0;g=f;k[d>>2]=a;k[f+8>>2]=b;k[e>>2]=c;a=FP(k[d>>2]|0)|0;k[g>>2]=a;if(!(zI(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0)){r=f;return}ze(k[d>>2]|0,k[k[e>>2]>>2]|0);r=f;return}function nP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;xe(a,uf()|0,-1,0);r=d;return}function oP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d;f=d+4|0;k[d+12>>2]=a;k[d+8>>2]=b;k[f>>2]=c;a=ne(k[k[f>>2]>>2]|0)|0;c=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[e>>2]=c;$d(a,19007,e);r=d;return}function pP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=r;r=r+144|0;s=y+32|0;q=y+24|0;d=y+80|0;e=y+72|0;n=y+16|0;o=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;m=y+60|0;f=y+56|0;g=y+52|0;h=y+48|0;j=y;u=y+44|0;t=y+40|0;k[d>>2]=a;k[y+76>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 2:{z=+me(k[k[e>>2]>>2]|0);p[n>>3]=z;p[q>>3]=+p[n>>3];_d(50,w,28875,q)|0;fz(w,o,20,1)|0;if(+p[n>>3]!=+p[o>>3]){p[s>>3]=+p[n>>3];_d(50,w,46279,s)|0}xe(k[d>>2]|0,w,-1,-1);r=y;return}case 1:{ze(k[d>>2]|0,k[k[e>>2]>>2]|0);r=y;return}case 4:{k[x>>2]=0;u=je(k[k[e>>2]>>2]|0)|0;k[v>>2]=u;u=le(k[k[e>>2]>>2]|0)|0;k[m>>2]=u;u=k[d>>2]|0;w=k[m>>2]|0;w=EP(u,GR(RR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,L|0,4,0)|0,L)|0;k[x>>2]=w;if(!(k[x>>2]|0)){r=y;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;i[(k[x>>2]|0)+((k[f>>2]<<1)+2)>>0]=i[46286+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]>>4&15)>>0]|0;i[(k[x>>2]|0)+((k[f>>2]<<1)+3)>>0]=i[46286+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]&15)>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[x>>2]|0)+((k[m>>2]<<1)+2)>>0]=39;i[(k[x>>2]|0)+((k[m>>2]<<1)+3)>>0]=0;i[k[x>>2]>>0]=88;i[(k[x>>2]|0)+1>>0]=39;xe(k[d>>2]|0,k[x>>2]|0,-1,-1);Ud(k[x>>2]|0);r=y;return}case 3:{x=ke(k[k[e>>2]>>2]|0)|0;k[u>>2]=x;if(!(k[u>>2]|0)){r=y;return}k[g>>2]=0;x=j;k[x>>2]=0;k[x+4>>2]=0;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){w=j;w=GR(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=j;k[x>>2]=w;k[x+4>>2]=L}k[g>>2]=(k[g>>2]|0)+1}w=k[d>>2]|0;v=k[g>>2]|0;x=j;x=GR(v|0,((v|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;x=GR(x|0,L|0,3,0)|0;x=EP(w,x,L)|0;k[t>>2]=x;if(!(k[t>>2]|0)){r=y;return}i[k[t>>2]>>0]=39;k[g>>2]=0;k[h>>2]=1;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;w=i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=w;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39}k[g>>2]=(k[g>>2]|0)+1}x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39;i[(k[t>>2]|0)+(k[h>>2]|0)>>0]=0;xe(k[d>>2]|0,k[t>>2]|0,k[h>>2]|0,148);r=y;return}default:{xe(k[d>>2]|0,40184,4,0);r=y;return}}}function qP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=Ge(k[f>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;a=zf(k[e>>2]|0)|0;ve(c,a,L);r=d;return}function rP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;ue(a,Af(k[e>>2]|0)|0);r=d;return}function sP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;ue(a,Bf(k[e>>2]|0)|0);r=d;return}function tP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;o=w+64|0;d=w+56|0;v=w+52|0;m=w+48|0;n=w+44|0;u=w+40|0;s=w+36|0;h=w+32|0;j=w+28|0;g=w;f=w+24|0;p=w+20|0;q=w+16|0;t=w+12|0;e=w+8|0;k[o>>2]=a;k[w+60>>2]=b;k[d>>2]=c;a=ke(k[k[d>>2]>>2]|0)|0;k[v>>2]=a;if(!(k[v>>2]|0)){r=w;return}a=le(k[k[d>>2]>>2]|0)|0;k[s>>2]=a;a=ke(k[(k[d>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){r=w;return}if(!(l[k[m>>2]>>0]|0)){ze(k[o>>2]|0,k[k[d>>2]>>2]|0);r=w;return}a=le(k[(k[d>>2]|0)+4>>2]|0)|0;k[h>>2]=a;a=ke(k[(k[d>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){r=w;return}c=le(k[(k[d>>2]|0)+8>>2]|0)|0;k[j>>2]=c;c=(k[s>>2]|0)+1|0;a=g;k[a>>2]=c;k[a+4>>2]=((c|0)<0)<<31>>31;a=g;a=EP(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=w;return}k[f>>2]=(k[s>>2]|0)-(k[h>>2]|0);k[q>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>(k[f>>2]|0)){d=18;break}if((l[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0|0)==(l[k[m>>2]>>0]|0|0)?(VQ((k[v>>2]|0)+(k[p>>2]|0)|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0){d=Ge(k[o>>2]|0)|0;k[e>>2]=d;d=(k[j>>2]|0)-(k[h>>2]|0)|0;c=g;d=GR(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c=g;k[c>>2]=d;k[c+4>>2]=L;c=g;c=FR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;d=L;a=k[(k[e>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((d|0)>(b|0)|(d|0)==(b|0)&c>>>0>a>>>0){d=13;break}k[t>>2]=k[u>>2];a=k[g>>2]|0;a=Wd(k[u>>2]|0,a,((a|0)<0)<<31>>31)|0;k[u>>2]=a;if(!(k[u>>2]|0)){d=15;break}IR((k[u>>2]|0)+(k[q>>2]|0)|0,k[n>>2]|0,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+(k[j>>2]|0);k[p>>2]=(k[p>>2]|0)+((k[h>>2]|0)-1)}else{c=i[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0;a=k[q>>2]|0;k[q>>2]=a+1;i[(k[u>>2]|0)+a>>0]=c}k[p>>2]=(k[p>>2]|0)+1}if((d|0)==13){Ce(k[o>>2]|0);Ud(k[u>>2]|0);r=w;return}else if((d|0)==15){De(k[o>>2]|0);Ud(k[t>>2]|0);r=w;return}else if((d|0)==18){IR((k[u>>2]|0)+(k[q>>2]|0)|0,(k[v>>2]|0)+(k[p>>2]|0)|0,(k[s>>2]|0)-(k[p>>2]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+((k[s>>2]|0)-(k[p>>2]|0));i[(k[u>>2]|0)+(k[q>>2]|0)>>0]=0;xe(k[o>>2]|0,k[u>>2]|0,k[q>>2]|0,148);r=w;return}}function uP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;d=f+20|0;h=f+12|0;g=f;e=f+8|0;k[d>>2]=a;k[f+16>>2]=b;k[h>>2]=c;h=oe(k[k[h>>2]>>2]|0)|0;c=L;b=g;k[b>>2]=h;k[b+4>>2]=c;b=(k[g+4>>2]|0)<0;a=g;k[a>>2]=b?0:h;k[a+4>>2]=b?0:c;a=g;a=Ae(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}Be(k[d>>2]|0,k[e>>2]|0);r=f;return}function vP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;p=q+28|0;f=q+24|0;h=q+20|0;m=q+8|0;n=q;g=q+16|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;if((pe(k[(k[e>>2]|0)+4>>2]|0)|0)==5){r=q;return}if((k[d>>2]|0)==3?(pe(k[(k[e>>2]|0)+8>>2]|0)|0)==5:0){r=q;return}a=pe(k[k[e>>2]>>2]|0)|0;k[h>>2]=a;a=ne(k[(k[e>>2]|0)+4>>2]|0)|0;b=m;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;b=k[k[e>>2]>>2]|0;a:do if((k[h>>2]|0)==4){a=le(b)|0;k[f>>2]=a;a=je(k[k[e>>2]>>2]|0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}}else{a=ke(b)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}k[f>>2]=0;if((k[m+4>>2]|0)<0){k[p>>2]=k[o>>2];while(1){if(!(i[k[p>>2]>>0]|0))break a;a=k[p>>2]|0;k[p>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break b;k[p>>2]=(k[p>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}}}while(0);if((k[d>>2]|0)==3){d=ne(k[(k[e>>2]|0)+8>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;if((k[n+4>>2]|0)<0){d=n;d=FR(0,0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;k[g>>2]=1}}else{d=(Ge(k[j>>2]|0)|0)+92|0;d=k[d>>2]|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31}do if((k[m+4>>2]|0)<0){d=k[f>>2]|0;e=m;d=GR(k[e>>2]|0,k[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;if((k[m+4>>2]|0)<0){c=m;d=n;c=GR(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;d=L;a=n;k[a>>2]=c;k[a+4>>2]=d;a=(k[n+4>>2]|0)<0;e=n;k[e>>2]=a?0:c;k[e+4>>2]=a?0:d;e=m;k[e>>2]=0;k[e+4>>2]=0}}else{e=m;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=m;d=GR(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;break}e=n;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=n;d=GR(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=n;k[e>>2]=d;k[e+4>>2]=L}}while(0);if((k[g>>2]|0)!=0?(e=n,g=m,e=FR(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0,g=m,k[g>>2]=e,k[g+4>>2]=L,(k[m+4>>2]|0)<0):0){e=m;g=n;e=GR(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;g=n;k[g>>2]=e;k[g+4>>2]=L;g=m;k[g>>2]=0;k[g+4>>2]=0}if((k[h>>2]|0)==4){e=m;h=n;h=GR(k[e>>2]|0,k[e+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;e=L;p=k[f>>2]|0;g=((p|0)<0)<<31>>31;if((e|0)>(g|0)|(e|0)==(g|0)&h>>>0>p>>>0){h=k[f>>2]|0;f=m;f=FR(h|0,((h|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=L;g=n;k[g>>2]=f;k[g+4>>2]=h;g=(k[n+4>>2]|0)<0;p=n;k[p>>2]=g?0:f;k[p+4>>2]=g?0:h}p=n;re(k[j>>2]|0,(k[o>>2]|0)+(k[m>>2]|0)|0,k[p>>2]|0,k[p+4>>2]|0,-1);r=q;return}while(1){h=m;b=k[o>>2]|0;if(!((l[k[o>>2]>>0]|0)!=0?(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0:0))break;k[o>>2]=b+1;c:do if((l[b>>0]|0)>=192)while(1){if((l[k[o>>2]>>0]&192|0)!=128)break c;k[o>>2]=(k[o>>2]|0)+1}while(0);g=m;g=GR(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;h=m;k[h>>2]=g;k[h+4>>2]=L}k[p>>2]=b;while(1){m=n;if(!((l[k[p>>2]>>0]|0)!=0?(k[m>>2]|0)!=0|(k[m+4>>2]|0)!=0:0))break;m=k[p>>2]|0;k[p>>2]=m+1;d:do if((l[m>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break d;k[p>>2]=(k[p>>2]|0)+1}while(0);h=n;h=GR(k[h>>2]|0,k[h+4>>2]|0,-1,-1)|0;m=n;k[m>>2]=h;k[m+4>>2]=L}p=(k[p>>2]|0)-(k[o>>2]|0)|0;ye(k[j>>2]|0,k[o>>2]|0,p,((p|0)<0)<<31>>31,-1,1);r=q;return}function wP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0.0;h=r;r=r+32|0;j=h+24|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;k[j>>2]=a;k[h+20>>2]=b;k[d>>2]=c;a=He(k[j>>2]|0,32)|0;k[e>>2]=a;a=bf(k[k[d>>2]>>2]|0)|0;k[f>>2]=a;if(!((k[e>>2]|0)!=0&(k[f>>2]|0)!=5)){r=h;return}j=(k[e>>2]|0)+16|0;a=j;a=GR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[j>>2]=a;k[j+4>>2]=L;d=k[k[d>>2]>>2]|0;if((k[f>>2]|0)!=1){m=+me(d);j=k[e>>2]|0;p[j>>3]=+p[j>>3]+m;i[(k[e>>2]|0)+25>>0]=1;r=h;return}j=oe(d)|0;f=g;k[f>>2]=j;k[f+4>>2]=L;f=g;j=k[e>>2]|0;p[j>>3]=+p[j>>3]+(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0));if(l[(k[e>>2]|0)+25>>0]|0|(l[(k[e>>2]|0)+24>>0]|0)){r=h;return}j=g;if(!(vI((k[e>>2]|0)+8|0,k[j>>2]|0,k[j+4>>2]|0)|0)){r=h;return}i[(k[e>>2]|0)+24>>0]=1;r=h;return}function xP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}if(i[(k[c>>2]|0)+24>>0]|0){te(k[b>>2]|0,46262,-1);r=d;return}b=k[b>>2]|0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+25>>0]|0){se(b,+p[a>>3]);r=d;return}else{e=a+8|0;ve(b,k[e>>2]|0,k[e+4>>2]|0);r=d;return}}function yP(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=He(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){e=0.0;se(a,e);r=c;return}e=+p[k[b>>2]>>3];se(a,e);r=c;return}function zP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}e=(k[c>>2]|0)+16|0;se(k[b>>2]|0,+p[k[c>>2]>>3]/(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0)));r=d;return}function AP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;a=He(k[h>>2]|0,8)|0;k[e>>2]=a;if(!(k[g>>2]|0)){if(!(k[e>>2]|0)){r=f;return}}else{h=5!=(pe(k[k[d>>2]>>2]|0)|0);if(!(h&(k[e>>2]|0)!=0)){r=f;return}}h=k[e>>2]|0;g=h;g=GR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[h>>2]=g;k[h+4>>2]=L;r=f;return}function BP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=He(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){b=0;d=0;ve(a,b,d);r=c;return}d=k[b>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0;ve(a,b,d);r=c;return}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+36|0;e=o+32|0;f=o+28|0;n=o+24|0;l=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;g=o+4|0;h=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=o;return}a=He(k[d>>2]|0,28)|0;k[l>>2]=a;if(!(k[l>>2]|0)){r=o;return}a=Ge(k[d>>2]|0)|0;k[g>>2]=a;k[h>>2]=(k[(k[l>>2]|0)+20>>2]|0)==0&1;k[(k[l>>2]|0)+20>>2]=k[(k[g>>2]|0)+92>>2];if(!(k[h>>2]|0)){if((k[e>>2]|0)==2){h=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[m>>2]=h;h=le(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=h}else{k[m>>2]=37926;k[i>>2]=1}if(k[i>>2]|0)xA(k[l>>2]|0,k[m>>2]|0,k[i>>2]|0)}m=ke(k[k[f>>2]>>2]|0)|0;k[n>>2]=m;m=le(k[k[f>>2]>>2]|0)|0;k[j>>2]=m;if(!(k[n>>2]|0)){r=o;return}xA(k[l>>2]|0,k[n>>2]|0,k[j>>2]|0);r=o;return}function DP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if((l[(k[c>>2]|0)+24>>0]|0|0)==2){Ce(k[b>>2]|0);r=d;return}b=k[b>>2]|0;if((l[(k[c>>2]|0)+24>>0]|0|0)==1){De(b);r=d;return}else{xe(b,pg(k[c>>2]|0)|0,-1,148);r=d;return}}function EP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g;f=g+12|0;i=g+8|0;k[d>>2]=a;h=e;k[h>>2]=b;k[h+4>>2]=c;c=Ge(k[d>>2]|0)|0;k[i>>2]=c;c=e;h=k[c+4>>2]|0;a=k[(k[i>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((h|0)>(b|0)|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){Ce(k[d>>2]|0);k[f>>2]=0;i=k[f>>2]|0;r=g;return i|0}i=e;i=jg(k[i>>2]|0,k[i+4>>2]|0)|0;k[f>>2]=i;if(k[f>>2]|0){i=k[f>>2]|0;r=g;return i|0}De(k[d>>2]|0);i=k[f>>2]|0;r=g;return i|0}function FP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(((k[(k[d>>2]|0)+16>>2]|0)-1|0)*20|0);r=c;return k[(k[b>>2]|0)+16>>2]|0}function GP(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+24>>0]=1;r=b;return}function HP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+64|0;d=f+56|0;h=f+52|0;g=f+48|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;if(PP(k[d>>2]|0,k[h>>2]|0,k[g>>2]|0,e)|0){r=f;return}QP(e);h=e;se(k[d>>2]|0,(+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0))/864.0e5);r=f;return}function IP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(PP(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}SP(f);i=k[f+12>>2]|0;j=k[f+16>>2]|0;k[e>>2]=k[f+8>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,46603,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function JP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(PP(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}TP(f);i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+20>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,46588,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function KP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+192|0;e=h+48|0;d=h+80|0;j=h+76|0;i=h+72|0;f=h;g=h+84|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(PP(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}RP(f);b=k[f+12>>2]|0;c=k[f+16>>2]|0;a=k[f+20>>2]|0;i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+8>>2];k[e+4>>2]=b;k[e+8>>2]=c;k[e+12>>2]=a;k[e+16>>2]=i;k[e+20>>2]=j;_d(100,g,46558,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function LP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+336|0;z=I+192|0;y=I+184|0;x=I+176|0;w=I+168|0;v=I+160|0;u=I+152|0;t=I+144|0;B=I+136|0;A=I+128|0;s=I+120|0;q=I+112|0;j=I+232|0;d=I+228|0;e=I+224|0;D=I+64|0;g=I+56|0;l=I+220|0;m=I+216|0;F=I+212|0;f=I+208|0;H=I+204|0;G=I+236|0;o=I+48|0;n=I+200|0;E=I;C=I+196|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;if(!(k[d>>2]|0)){r=I;return}a=ke(k[k[e>>2]>>2]|0)|0;k[H>>2]=a;if(!(k[H>>2]|0)){r=I;return}if(PP(k[j>>2]|0,(k[d>>2]|0)-1|0,(k[e>>2]|0)+4|0,D)|0){r=I;return}a=Ge(k[j>>2]|0)|0;k[f>>2]=a;k[l>>2]=0;a=g;k[a>>2]=1;k[a+4>>2]=0;a:while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==37){switch(i[(k[H>>2]|0)+((k[l>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{c=g;c=GR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 37:case 119:break;case 102:{c=g;c=GR(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 106:{c=g;c=GR(k[c>>2]|0,k[c+4>>2]|0,3,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 89:{c=g;c=GR(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 74:case 115:{c=g;c=GR(k[c>>2]|0,k[c+4>>2]|0,50,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}default:{h=44;break a}}k[l>>2]=(k[l>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1;c=g;c=GR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L}if((h|0)==44){r=I;return}h=g;a=k[h+4>>2]|0;if(!(a>>>0<0|(a|0)==0&(k[h>>2]|0)>>>0<100)){a=g;b=k[a+4>>2]|0;h=k[(k[f>>2]|0)+92>>2]|0;c=((h|0)<0)<<31>>31;if(b>>>0>c>>>0|((b|0)==(c|0)?(k[a>>2]|0)>>>0>h>>>0:0)){Ce(k[j>>2]|0);r=I;return}h=k[g>>2]|0;h=$w(k[f>>2]|0,h,((h|0)<0)<<31>>31)|0;k[F>>2]=h;if(!(k[F>>2]|0)){De(k[j>>2]|0);r=I;return}}else k[F>>2]=G;QP(D);RP(D);k[m>>2]=0;k[l>>2]=0;while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;d=k[l>>2]|0;b:do if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)!=37){g=i[(k[H>>2]|0)+d>>0]|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=g}else{k[l>>2]=d+1;do switch(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0){case 100:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[q>>2]=k[D+16>>2];_d(3,h,46400,q)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 102:{p[o>>3]=+p[D+32>>3];if(+p[o>>3]>59.999)p[o>>3]=59.999;h=(k[F>>2]|0)+(k[m>>2]|0)|0;p[s>>3]=+p[o>>3];_d(7,h,46405,s)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 72:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[A>>2]=k[D+20>>2];_d(3,h,46400,A)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 106:case 87:{d=E;e=D;b=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));i[E+42>>0]=0;k[E+12>>2]=1;k[E+16>>2]=1;QP(E);g=D;h=E;h=PR(GR(FR(k[g>>2]|0,k[g+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0,L|0,432e5,0)|0,L|0,864e5,0)|0;k[n>>2]=h;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==87){h=D;h=GR(k[h>>2]|0,k[h+4>>2]|0,432e5,0)|0;h=PR(h|0,L|0,864e5,0)|0;h=QR(h|0,L|0,7,0)|0;k[C>>2]=h;h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[B>>2]=((k[n>>2]|0)+7-(k[C>>2]|0)|0)/7|0;_d(3,h,46400,B)|0;k[m>>2]=(k[m>>2]|0)+2;break b}else{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[t>>2]=(k[n>>2]|0)+1;_d(4,h,46412,t)|0;k[m>>2]=(k[m>>2]|0)+3;break b}}case 74:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;g=D;p[u>>3]=(+((k[g>>2]|0)>>>0)+4294967296.0*+(k[g+4>>2]|0))/864.0e5;_d(20,h,43070,u)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 109:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[v>>2]=k[D+12>>2];_d(3,h,46400,v)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 77:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[w>>2]=k[D+24>>2];_d(3,h,46400,w)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 115:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;f=D;f=FR(PR(k[f>>2]|0,k[f+4>>2]|0,1e3,0)|0,L|0,413362496,49)|0;g=x;k[g>>2]=f;k[g+4>>2]=L;_d(30,h,28870,x)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 83:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[y>>2]=~~+p[D+32>>3];_d(3,h,46400,y)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 119:{g=D;g=QR(PR(GR(k[g>>2]|0,k[g+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=((g&255)<<24>>24)+48;break b}case 89:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[z>>2]=k[D+8>>2];_d(5,h,46417,z)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}default:{h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=37;break b}}while(0)}while(0);k[l>>2]=(k[l>>2]|0)+1}i[(k[F>>2]|0)+(k[m>>2]|0)>>0]=0;xe(k[j>>2]|0,k[F>>2]|0,-1,(k[F>>2]|0)==(G|0)?-1:170);r=I;return}function MP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;JP(k[e>>2]|0,0,0);r=d;return}function NP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;KP(k[e>>2]|0,0,0);r=d;return}function OP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;IP(k[e>>2]|0,0,0);r=d;return}function PP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0.0;o=r;r=r+32|0;n=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[h>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if(!(k[f>>2]|0)){m=UP(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;n=k[n>>2]|0;r=o;return n|0}d=pe(k[k[g>>2]>>2]|0)|0;k[j>>2]=d;b=k[k[g>>2]>>2]|0;do if((d|0)==2|(k[j>>2]|0)==1){p=+me(b)*864.0e5+.5;d=+W(p)>=1.0?(p>0.0?~~+ia(+V(p/4294967296.0),4294967295.0)>>>0:~~+ga((p-+(~~p>>>0))/4294967296.0)>>>0):0;j=k[h>>2]|0;k[j>>2]=~~p>>>0;k[j+4>>2]=d;i[(k[h>>2]|0)+42>>0]=1}else{j=ke(b)|0;k[m>>2]=j;if((k[m>>2]|0)!=0?(VP(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0)break;k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}while(0);k[l>>2]=1;while(1){if((k[l>>2]|0)>=(k[f>>2]|0)){b=14;break}j=ke(k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)|0;k[m>>2]=j;if(!(k[m>>2]|0)){b=12;break}if(WP(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0){b=12;break}k[l>>2]=(k[l>>2]|0)+1}if((b|0)==12){k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}else if((b|0)==14){k[n>>2]=0;n=k[n>>2]|0;r=o;return n|0}return 0}function QP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;f=l+20|0;e=l+16|0;c=l+12|0;d=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+42>>0]|0){r=l;return}if(i[(k[b>>2]|0)+40>>0]|0){k[j>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+12>>2];k[e>>2]=k[(k[b>>2]|0)+16>>2]}else{k[j>>2]=2e3;k[f>>2]=1;k[e>>2]=1}if((k[f>>2]|0)<=2){k[j>>2]=(k[j>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+12}k[c>>2]=(k[j>>2]|0)/100|0;k[d>>2]=2-(k[c>>2]|0)+((k[c>>2]|0)/4|0);k[g>>2]=(((k[j>>2]|0)+4716|0)*36525|0)/100|0;k[h>>2]=(((k[f>>2]|0)+1|0)*306001|0)/1e4|0;m=(+((k[g>>2]|0)+(k[h>>2]|0)+(k[e>>2]|0)+(k[d>>2]|0)|0)-1524.5)*864.0e5;j=+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0;a=k[b>>2]|0;k[a>>2]=~~m>>>0;k[a+4>>2]=j;i[(k[b>>2]|0)+42>>0]=1;if(!(i[(k[b>>2]|0)+41>>0]|0)){r=l;return}j=ha(k[(k[b>>2]|0)+20>>2]|0,36e5)|0;j=j+((k[(k[b>>2]|0)+24>>2]|0)*6e4|0)|0;m=+p[(k[b>>2]|0)+32>>3]*1.0e3;j=GR(j|0,((j|0)<0)<<31>>31|0,~~m>>>0|0,(+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0)|0;a=k[b>>2]|0;h=a;j=GR(k[h>>2]|0,k[h+4>>2]|0,j|0,L|0)|0;k[a>>2]=j;k[a+4>>2]=L;if(!(i[(k[b>>2]|0)+43>>0]|0)){r=l;return}j=(k[(k[b>>2]|0)+28>>2]|0)*6e4|0;a=k[b>>2]|0;h=a;j=FR(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k[a>>2]=j;k[a+4>>2]=L;i[(k[b>>2]|0)+40>>0]=0;i[(k[b>>2]|0)+41>>0]=0;i[(k[b>>2]|0)+43>>0]=0;r=l;return}function RP(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;SP(k[c>>2]|0);TP(k[c>>2]|0);r=b;return}function SP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;c=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+40>>0]|0){r=l;return}a=k[b>>2]|0;if(i[(k[b>>2]|0)+42>>0]|0){a=GR(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=PR(a|0,L|0,864e5,0)|0;k[j>>2]=a;k[c>>2]=~~((+(k[j>>2]|0)-1867216.25)/36524.25);k[c>>2]=(k[j>>2]|0)+1+(k[c>>2]|0)-((k[c>>2]|0)/4|0);k[d>>2]=(k[c>>2]|0)+1524;k[e>>2]=~~((+(k[d>>2]|0)-122.1)/365.25);k[f>>2]=((k[e>>2]&32767)*36525|0)/100|0;k[g>>2]=~~(+((k[d>>2]|0)-(k[f>>2]|0)|0)/30.6001);k[h>>2]=~~(+(k[g>>2]|0)*30.6001);k[(k[b>>2]|0)+16>>2]=(k[d>>2]|0)-(k[f>>2]|0)-(k[h>>2]|0);j=k[g>>2]|0;k[(k[b>>2]|0)+12>>2]=(k[g>>2]|0)<14?j-1|0:j-13|0;j=k[e>>2]|0;k[(k[b>>2]|0)+8>>2]=(k[(k[b>>2]|0)+12>>2]|0)>2?j-4716|0:j-4715|0}else{k[a+8>>2]=2e3;k[(k[b>>2]|0)+12>>2]=1;k[(k[b>>2]|0)+16>>2]=1}i[(k[b>>2]|0)+40>>0]=1;r=l;return}function TP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(i[(k[b>>2]|0)+41>>0]|0){r=d;return}QP(k[b>>2]|0);a=k[b>>2]|0;a=GR(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=QR(a|0,L|0,864e5,0)|0;k[c>>2]=a;p[(k[b>>2]|0)+32>>3]=+(k[c>>2]|0)/1.0e3;k[c>>2]=~~+p[(k[b>>2]|0)+32>>3];a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]-+(k[c>>2]|0);k[(k[b>>2]|0)+20>>2]=(k[c>>2]|0)/3600|0;k[c>>2]=(k[c>>2]|0)-((k[(k[b>>2]|0)+20>>2]|0)*3600|0);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)/60|0;a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]+ +((k[c>>2]|0)-((k[(k[b>>2]|0)+24>>2]|0)*60|0)|0);i[(k[b>>2]|0)+41>>0]=1;r=d;return}function UP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=cQ(k[f>>2]|0)|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=L;b=k[d>>2]|0;a=k[b+4>>2]|0;if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){i[(k[d>>2]|0)+42>>0]=1;k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=1;f=k[c>>2]|0;r=e;return f|0}return 0}function VP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0.0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(bQ(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(ZP(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(sg(k[f>>2]|0,46542)|0)){b=UP(k[e>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=j;return b|0}b=k[f>>2]|0;if(fz(b,h,Tf(k[f>>2]|0)|0,1)|0){l=+p[h>>3]*864.0e5+.5;h=+W(l)>=1.0?(l>0.0?~~+ia(+V(l/4294967296.0),4294967295.0)>>>0:~~+ga((l-+(~~l>>>0))/4294967296.0)>>>0):0;b=k[g>>2]|0;k[b>>2]=~~l>>>0;k[b+4>>2]=h;i[(k[g>>2]|0)+42>>0]=1;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=1;b=k[d>>2]|0;r=j;return b|0}return 0}function WP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=r;r=r+160|0;d=z+124|0;e=z+120|0;w=z+116|0;x=z+112|0;h=z+108|0;j=z+80|0;y=z+104|0;g=z+72|0;f=z+64|0;m=z+56|0;v=z+100|0;u=z+8|0;t=z;n=z+96|0;o=z+92|0;q=z+88|0;k[d>>2]=a;k[e>>2]=b;k[w>>2]=c;k[x>>2]=1;k[y>>2]=z+128;k[h>>2]=0;while(1){if((k[h>>2]|0)<29)a=(i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;i[(k[y>>2]|0)+(k[h>>2]|0)>>0]=i[18229+(l[(k[e>>2]|0)+c>>0]|0)>>0]|0;k[h>>2]=(k[h>>2]|0)+1}i[(k[y>>2]|0)+c>>0]=0;switch(i[k[y>>2]>>0]|0){case 108:{if(YQ(k[y>>2]|0,46422)|0){y=k[x>>2]|0;r=z;return y|0}QP(k[w>>2]|0);v=XP(k[w>>2]|0,k[d>>2]|0,x)|0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;YP(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}case 117:{if((YQ(k[y>>2]|0,46432)|0)==0?(i[(k[w>>2]|0)+42>>0]|0)!=0:0){v=k[w>>2]|0;v=GR(k[v>>2]|0,k[v+4>>2]|0,43200,0)|0;v=PR(v|0,L|0,86400,0)|0;v=GR(v|0,L|0,1045635584,49096)|0;y=k[w>>2]|0;k[y>>2]=v;k[y+4>>2]=L;YP(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(YQ(k[y>>2]|0,46442)|0){y=k[x>>2]|0;r=z;return y|0}if(i[(k[w>>2]|0)+44>>0]|0){k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}QP(k[w>>2]|0);v=XP(k[w>>2]|0,k[d>>2]|0,x)|0;y=g;k[y>>2]=v;k[y+4>>2]=L;if(!(k[x>>2]|0)){u=g;y=k[w>>2]|0;v=y;u=FR(k[v>>2]|0,k[v+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[y>>2]=u;k[y+4>>2]=L;YP(k[w>>2]|0);y=g;u=k[y>>2]|0;y=k[y+4>>2]|0;v=XP(k[w>>2]|0,k[d>>2]|0,x)|0;v=FR(u|0,y|0,v|0,L|0)|0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L}i[(k[w>>2]|0)+44>>0]=1;y=k[x>>2]|0;r=z;return y|0}case 119:{if(aR(k[y>>2]|0,46446,8)|0){y=k[x>>2]|0;r=z;return y|0}if(!(fz((k[y>>2]|0)+8|0,j,Tf((k[y>>2]|0)+8|0)|0,1)|0)){y=k[x>>2]|0;r=z;return y|0}y=~~+p[j>>3];k[h>>2]=y;if(!(((k[h>>2]|0)>=0?+(y|0)==+p[j>>3]:0)&+p[j>>3]<7.0)){y=k[x>>2]|0;r=z;return y|0}RP(k[w>>2]|0);i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;QP(k[w>>2]|0);t=k[w>>2]|0;t=QR(PR(GR(k[t>>2]|0,k[t+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;v=f;k[v>>2]=t;k[v+4>>2]=L;v=f;t=k[v+4>>2]|0;y=k[h>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(k[v>>2]|0)>>>0>y>>>0:0)){v=f;v=FR(k[v>>2]|0,k[v+4>>2]|0,7,0)|0;y=f;k[y>>2]=v;k[y+4>>2]=L}y=k[h>>2]|0;v=f;v=RR(FR(y|0,((y|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0,L|0,864e5,0)|0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;YP(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 115:{if(aR(k[y>>2]|0,46455,9)|0){y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+9;SP(k[w>>2]|0);i[(k[w>>2]|0)+41>>0]=1;k[(k[w>>2]|0)+24>>2]=0;k[(k[w>>2]|0)+20>>2]=0;p[(k[w>>2]|0)+32>>3]=0.0;i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;if(!(YQ(k[y>>2]|0,46465)|0)){k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(!(YQ(k[y>>2]|0,46471)|0)){SP(k[w>>2]|0);k[(k[w>>2]|0)+12>>2]=1;k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(YQ(k[y>>2]|0,46476)|0){y=k[x>>2]|0;r=z;return y|0}k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k[h>>2]=1;while(1){if(!(i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0))break;if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58)break;if(!((l[19019+(l[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;k[h>>2]=(k[h>>2]|0)+1}if(!(fz(k[y>>2]|0,j,k[h>>2]|0,1)|0)){k[x>>2]=1;y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58){k[v>>2]=k[y>>2];if(!(l[19019+(l[k[v>>2]>>0]|0)>>0]&4))k[v>>2]=(k[v>>2]|0)+1;c=u;a=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));if(ZP(k[v>>2]|0,u)|0){y=k[x>>2]|0;r=z;return y|0}QP(u);v=u;v=FR(k[v>>2]|0,k[v+4>>2]|0,432e5,0)|0;s=u;k[s>>2]=v;k[s+4>>2]=L;s=u;s=PR(k[s>>2]|0,k[s+4>>2]|0,864e5,0)|0;v=t;k[v>>2]=s;k[v+4>>2]=L;t=RR(k[t>>2]|0,k[t+4>>2]|0,864e5,0)|0;v=u;t=FR(k[v>>2]|0,k[v+4>>2]|0,t|0,L|0)|0;v=u;k[v>>2]=t;k[v+4>>2]=L;if((i[k[y>>2]>>0]|0)==45){v=u;v=FR(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;y=u;k[y>>2]=v;k[y+4>>2]=L}QP(k[w>>2]|0);YP(k[w>>2]|0);v=u;y=k[w>>2]|0;w=y;w=GR(k[w>>2]|0,k[w+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[y>>2]=w;k[y+4>>2]=L;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+(k[h>>2]|0);while(1){c=k[y>>2]|0;if(!(l[19019+(l[k[y>>2]>>0]|0)>>0]&1))break;k[y>>2]=c+1}v=Tf(c)|0;k[h>>2]=v;if((k[h>>2]|0)>10|(k[h>>2]|0)<3){y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]|0)==115){i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]=0;k[h>>2]=(k[h>>2]|0)+-1}QP(k[w>>2]|0);k[x>>2]=0;p[m>>3]=+p[j>>3]<0.0?-.5:.5;if((k[h>>2]|0)==3?(YQ(k[y>>2]|0,46476)|0)==0:0){A=+p[j>>3]*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L}else s=54;do if((s|0)==54){if((k[h>>2]|0)==4?(YQ(k[y>>2]|0,46480)|0)==0:0){A=+p[j>>3]*36.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(YQ(k[y>>2]|0,46485)|0)==0:0){A=+p[j>>3]*6.0e4+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(YQ(k[y>>2]|0,46492)|0)==0:0){A=+p[j>>3]*1.0e3+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==5?(YQ(k[y>>2]|0,46465)|0)==0:0){RP(k[w>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)+~~+p[j>>3];y=k[(k[w>>2]|0)+12>>2]|0;k[n>>2]=(((k[(k[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[n>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)-((k[n>>2]|0)*12|0);i[(k[w>>2]|0)+42>>0]=0;QP(k[w>>2]|0);k[o>>2]=~~+p[j>>3];if(!(+(k[o>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[o>>2]|0))*30.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==4?(YQ(k[y>>2]|0,46471)|0)==0:0){k[q>>2]=~~+p[j>>3];RP(k[w>>2]|0);y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[q>>2]|0);i[(k[w>>2]|0)+42>>0]=0;QP(k[w>>2]|0);if(!(+(k[q>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[q>>2]|0))*365.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=GR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}k[x>>2]=1}while(0);YP(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}default:{y=k[x>>2]|0;r=z;return y|0}}return 0}function XP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+176|0;e=o+96|0;d=o+164|0;f=o+160|0;g=o+156|0;m=o+48|0;n=o;l=o+152|0;j=o+108|0;h=o+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;b=j;c=b+44|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=m;a=k[d>>2]|0;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));RP(m);if((k[m+8>>2]|0)>=1971?(k[m+8>>2]|0)<2038:0){k[h>>2]=~~(+p[m+32>>3]+.5);p[m+32>>3]=+(k[h>>2]|0)}else{k[m+8>>2]=2e3;k[m+12>>2]=1;k[m+16>>2]=1;k[m+20>>2]=0;k[m+24>>2]=0;p[m+32>>3]=0.0}k[m+28>>2]=0;i[m+42>>0]=0;QP(m);h=m;h=PR(k[h>>2]|0,k[h+4>>2]|0,1e3,0)|0;h=FR(h|0,L|0,413362496,49)|0;k[l>>2]=h;if(aQ(l,j)|0){te(k[f>>2]|0,46519,-1);k[k[g>>2]>>2]=1;m=e;k[m>>2]=0;k[m+4>>2]=0;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}else{k[n+8>>2]=(k[j+20>>2]|0)+1900;k[n+12>>2]=(k[j+16>>2]|0)+1;k[n+16>>2]=k[j+12>>2];k[n+20>>2]=k[j+8>>2];k[n+24>>2]=k[j+4>>2];p[n+32>>3]=+(k[j>>2]|0);i[n+40>>0]=1;i[n+41>>0]=1;i[n+42>>0]=0;i[n+43>>0]=0;QP(n);k[k[g>>2]>>2]=0;l=n;n=m;n=FR(k[l>>2]|0,k[l+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;m=e;k[m>>2]=n;k[m+4>>2]=L;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}return 0}function YP(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+40>>0]=0;i[(k[c>>2]|0)+41>>0]=0;i[(k[c>>2]|0)+43>>0]=0;r=b;return}function ZP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;n=o+24|0;q=o+16|0;c=o+48|0;d=o+44|0;e=o+40|0;f=o+36|0;g=o+32|0;m=o+28|0;h=o+8|0;j=o;k[d>>2]=a;k[e>>2]=b;p[h>>3]=0.0;a=k[d>>2]|0;k[q>>2]=f;k[q+4>>2]=g;if((_P(a,46499,q)|0)!=2){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+5;if((i[k[d>>2]>>0]|0)==58){k[d>>2]=(k[d>>2]|0)+1;q=k[d>>2]|0;k[n>>2]=m;if((_P(q,46507,n)|0)!=1){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+2;if((i[k[d>>2]>>0]|0)==46?(l[19019+(l[(k[d>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){p[j>>3]=1.0;k[d>>2]=(k[d>>2]|0)+1;while(1){if(!(l[19019+(l[k[d>>2]>>0]|0)>>0]&4))break;p[h>>3]=+p[h>>3]*10.0+ +(i[k[d>>2]>>0]|0)-48.0;p[j>>3]=+p[j>>3]*10.0;k[d>>2]=(k[d>>2]|0)+1}p[h>>3]=+p[h>>3]/+p[j>>3]}}else k[m>>2]=0;i[(k[e>>2]|0)+42>>0]=0;i[(k[e>>2]|0)+41>>0]=1;k[(k[e>>2]|0)+20>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=k[g>>2];p[(k[e>>2]|0)+32>>3]=+(k[m>>2]|0)+ +p[h>>3];if($P(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}else{i[(k[e>>2]|0)+43>>0]=(k[(k[e>>2]|0)+28>>2]|0)!=0?1:0;k[c>>2]=0;q=k[c>>2]|0;r=o;return q|0}return 0}function _P(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+28|0;e=s+24|0;g=s+8|0;q=s+4|0;o=s+36|0;f=s+35|0;n=s+34|0;p=s;h=s+32|0;k[d>>2]=a;k[e>>2]=b;k[q>>2]=0;k[g>>2]=c;a:while(1){i[f>>0]=(i[k[e>>2]>>0]|0)-48;i[n>>0]=(i[(k[e>>2]|0)+1>>0]|0)-48;k[p>>2]=0;j[h>>1]=j[17038+((i[(k[e>>2]|0)+2>>0]|0)-97<<1)>>1]|0;i[o>>0]=i[(k[e>>2]|0)+3>>0]|0;k[p>>2]=0;while(1){b=i[f>>0]|0;i[f>>0]=b+-1<<24>>24;if(!(b<<24>>24))break;if(!(l[19019+(l[k[d>>2]>>0]|0)>>0]&4)){d=11;break a}k[p>>2]=((k[p>>2]|0)*10|0)+(i[k[d>>2]>>0]|0)-48;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)<(i[n>>0]|0)){d=11;break}if((k[p>>2]|0)>(m[h>>1]|0)){d=11;break}if((i[o>>0]|0)!=0?(i[o>>0]|0)!=(i[k[d>>2]>>0]|0):0){d=11;break}a=k[p>>2]|0;c=(k[g>>2]|0)+(4-1)&~(4-1);b=k[c>>2]|0;k[g>>2]=c+4;k[b>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+4;if(!(i[o>>0]|0)){d=11;break}}if((d|0)==11){r=s;return k[q>>2]|0}return 0}function $P(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o;c=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;g=o+16|0;h=o+12|0;f=o+8|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;while(1){if(!(l[19019+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}k[(k[e>>2]|0)+28>>2]=0;k[f>>2]=i[k[d>>2]>>0];do if((k[f>>2]|0)==45){k[j>>2]=-1;n=11}else{if((k[f>>2]|0)==43){k[j>>2]=1;n=11;break}if((k[f>>2]|0)==90|(k[f>>2]|0)==122){k[d>>2]=(k[d>>2]|0)+1;break}k[c>>2]=(k[f>>2]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}while(0);do if((n|0)==11){k[d>>2]=(k[d>>2]|0)+1;n=k[d>>2]|0;k[m>>2]=g;k[m+4>>2]=h;if((_P(n,46511,m)|0)==2){k[d>>2]=(k[d>>2]|0)+5;n=ha(k[j>>2]|0,(k[h>>2]|0)+((k[g>>2]|0)*60|0)|0)|0;k[(k[e>>2]|0)+28>>2]=n;break}k[c>>2]=1;n=k[c>>2]|0;r=o;return n|0}while(0);while(1){if(!(l[19019+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}i[(k[e>>2]|0)+44>>0]=1;k[c>>2]=(i[k[d>>2]>>0]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}function aQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=Tb(k[g>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[69]|0)!=0?0:a;if(k[d>>2]|0){c=k[c>>2]|0;b=k[d>>2]|0;a=c+44|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(a|0))}k[e>>2]=(k[d>>2]|0)==0&1;r=f;return k[e>>2]|0}function bQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n;d=n+36|0;e=n+32|0;f=n+28|0;j=n+24|0;h=n+20|0;g=n+16|0;m=n+12|0;k[e>>2]=a;k[f>>2]=b;if((i[k[e>>2]>>0]|0)==45){k[e>>2]=(k[e>>2]|0)+1;k[m>>2]=1}else k[m>>2]=0;a=k[e>>2]|0;k[c>>2]=j;k[c+4>>2]=h;k[c+8>>2]=g;if((_P(a,46546,c)|0)!=3){k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}k[e>>2]=(k[e>>2]|0)+10;while(1){if(l[19019+(l[k[e>>2]>>0]|0)>>0]&1)c=1;else c=84==(l[k[e>>2]>>0]|0);b=k[e>>2]|0;if(!c)break;k[e>>2]=b+1}do if(ZP(b,k[f>>2]|0)|0){if(!(i[k[e>>2]>>0]|0)){i[(k[f>>2]|0)+41>>0]=0;break}k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}while(0);i[(k[f>>2]|0)+42>>0]=0;i[(k[f>>2]|0)+40>>0]=1;j=k[j>>2]|0;k[(k[f>>2]|0)+8>>2]=(k[m>>2]|0)!=0?0-j|0:j;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[g>>2];if(i[(k[f>>2]|0)+43>>0]|0)QP(k[f>>2]|0);k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}function cQ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=(k[(k[b>>2]|0)+12>>2]|0)+136;a=k[c>>2]|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0?(a=dI(k[k[(k[k[b>>2]>>2]|0)+32>>2]>>2]|0,k[c>>2]|0)|0,k[d>>2]=a,(k[d>>2]|0)!=0):0){d=k[c>>2]|0;k[d>>2]=0;k[d+4>>2]=0}d=k[c>>2]|0;L=k[d+4>>2]|0;r=e;return k[d>>2]|0}function dQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+64|0;j=q;d=q+60|0;s=q+52|0;n=q+48|0;o=q+44|0;h=q+40|0;g=q+32|0;l=q+28|0;f=q+24|0;m=q+20|0;e=q+16|0;k[d>>2]=a;k[q+56>>2]=b;k[s>>2]=c;a=ke(k[k[s>>2]>>2]|0)|0;k[n>>2]=a;a=ke(k[(k[s>>2]|0)+4>>2]|0)|0;k[o>>2]=a;k[l>>2]=k[n>>2];k[f>>2]=0;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[n>>2]|0)){r=q;return}do{if(!(i[k[l>>2]>>0]|0)){p=7;break}k[g>>2]=k[l>>2];k[g+4>>2]=k[f>>2];do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);s=hv(k[l>>2]|0,h)|0;k[f>>2]=s}while((k[h>>2]|0)==160)}while((k[h>>2]|0)!=22?(k[h>>2]|0)!=125:0);if((p|0)==7){r=q;return}s=k[e>>2]|0;l=k[n>>2]|0;o=k[o>>2]|0;p=(k[g>>2]|0)+(k[g+4>>2]|0)|0;k[j>>2]=(k[g>>2]|0)-(k[n>>2]|0);k[j+4>>2]=l;k[j+8>>2]=o;k[j+12>>2]=p;s=Oh(s,46692,j)|0;k[m>>2]=s;xe(k[d>>2]|0,k[m>>2]|0,-1,170);r=q;return}function eQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+80|0;l=s;d=s+68|0;t=s+60|0;o=s+56|0;p=s+52|0;j=s+48|0;h=s+40|0;f=s+32|0;m=s+28|0;g=s+24|0;n=s+20|0;e=s+16|0;k[d>>2]=a;k[s+64>>2]=b;k[t>>2]=c;a=ke(k[k[t>>2]>>2]|0)|0;k[o>>2]=a;a=ke(k[(k[t>>2]|0)+4>>2]|0)|0;k[p>>2]=a;k[f>>2]=3;k[m>>2]=k[o>>2];k[g>>2]=0;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[o>>2]|0)){r=s;return}while(1){if(!(i[k[m>>2]>>0]|0)){q=8;break}k[h>>2]=k[m>>2];k[h+4>>2]=k[g>>2];do{k[m>>2]=(k[m>>2]|0)+(k[g>>2]|0);t=hv(k[m>>2]|0,j)|0;k[g>>2]=t}while((k[j>>2]|0)==160);t=(k[f>>2]|0)+1|0;k[f>>2]=t;k[f>>2]=(k[j>>2]|0)==122|(k[j>>2]|0)==107?0:t;if((k[f>>2]|0)!=2)continue;if(!((k[j>>2]|0)!=137&(k[j>>2]|0)!=74&(k[j>>2]|0)!=5))break}if((q|0)==8){r=s;return}t=k[e>>2]|0;m=k[o>>2]|0;p=k[p>>2]|0;q=(k[h>>2]|0)+(k[h+4>>2]|0)|0;k[l>>2]=(k[h>>2]|0)-(k[o>>2]|0);k[l+4>>2]=m;k[l+8>>2]=p;k[l+12>>2]=q;t=Oh(t,46692,l)|0;k[n>>2]=t;xe(k[d>>2]|0,k[n>>2]|0,-1,170);r=s;return}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+80|0;j=u+16|0;h=u;d=u+76|0;v=u+68|0;e=u+64|0;q=u+60|0;t=u+56|0;m=u+52|0;o=u+48|0;n=u+44|0;l=u+40|0;f=u+36|0;g=u+32|0;s=u+28|0;p=u+24|0;k[d>>2]=a;k[u+72>>2]=b;k[v>>2]=c;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;k[q>>2]=0;a=ke(k[k[v>>2]>>2]|0)|0;k[m>>2]=a;a=ke(k[(k[v>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=ke(k[(k[v>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if((k[m>>2]|0)==0|(k[o>>2]|0)==0){r=u;return}k[l>>2]=k[m>>2];while(1){if(!(i[k[l>>2]>>0]|0))break;v=hv(k[l>>2]|0,g)|0;k[f>>2]=v;if((k[g>>2]|0)==105){do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);v=hv(k[l>>2]|0,g)|0;k[f>>2]=v}while((k[g>>2]|0)==160);if((k[g>>2]|0)==161)break;v=k[f>>2]|0;v=cx(k[e>>2]|0,k[l>>2]|0,v,((v|0)<0)<<31>>31)|0;k[s>>2]=v;if(!(k[s>>2]|0))break;dx(k[s>>2]|0);if(!(sg(k[o>>2]|0,k[s>>2]|0)|0)){v=k[e>>2]|0;b=(k[l>>2]|0)-(k[m>>2]|0)|0;c=k[m>>2]|0;a=k[n>>2]|0;k[h>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:19018;k[h+4>>2]=b;k[h+8>>2]=c;k[h+12>>2]=a;v=Oh(v,46681,h)|0;k[p>>2]=v;bg(k[e>>2]|0,k[q>>2]|0);k[q>>2]=k[p>>2];k[m>>2]=(k[l>>2]|0)+(k[f>>2]|0)}bg(k[e>>2]|0,k[s>>2]|0)}k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0)}v=k[e>>2]|0;s=k[m>>2]|0;k[j>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:19018;k[j+4>>2]=s;v=Oh(v,25321,j)|0;k[t>>2]=v;xe(k[d>>2]|0,k[t>>2]|0,-1,170);bg(k[e>>2]|0,k[q>>2]|0);r=u;return}function gQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=su(k[d>>2]|0,k[e>>2]|0)|0;b=k[(k[d>>2]|0)+456>>2]|0;k[b>>2]=(k[b>>2]|0)+a;r=c;return}function hQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}k[g>>2]=k[e>>2];while(1){if((k[g>>2]|0)>>>0>=((k[e>>2]|0)+((k[f>>2]|0)*20|0)|0)>>>0)break;if(i[(k[g>>2]|0)+1>>0]|0)NA(k[d>>2]|0,i[(k[g>>2]|0)+1>>0]|0,k[(k[g>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+20}c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}function iQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+20>>2];if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0)){k[g>>2]=k[k[e>>2]>>2];ak((k[(k[e>>2]|0)+24>>2]|0)+24|0,k[g>>2]|0,0)|0}sH(k[c>>2]|0,k[e>>2]|0);k[e>>2]=k[f>>2]}jQ(k[c>>2]|0,k[d>>2]|0);nH(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);nv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);mv(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0);ZH(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=h;return}function jQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[f>>2]|0))break;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0)){a=k[(k[f>>2]|0)+12>>2]|0;if(k[(k[f>>2]|0)+16>>2]|0)k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2]=a;else{k[e>>2]=a;a=k[f>>2]|0;if(k[e>>2]|0)a=k[(k[a+12>>2]|0)+8>>2]|0;else a=k[a+8>>2]|0;k[h>>2]=a;ak((k[(k[d>>2]|0)+64>>2]|0)+56|0,k[h>>2]|0,k[e>>2]|0)|0}if(k[(k[f>>2]|0)+12>>2]|0)k[(k[(k[f>>2]|0)+12>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2]}hG(k[c>>2]|0,k[(k[f>>2]|0)+28>>2]|0);hG(k[c>>2]|0,k[(k[f>>2]|0)+28+4>>2]|0);k[g>>2]=k[(k[f>>2]|0)+4>>2];bg(k[c>>2]|0,k[f>>2]|0);k[f>>2]=k[g>>2]}r=i;return}function kQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function lQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function mQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function nQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function oQ(a){a=a|0;var b=0;b=(nQ(a)|0)==0;return (b?a:a|32)|0}function pQ(a){a=a|0;var b=0;b=(mQ(a)|0)==0;return (b?a:a&95)|0}function qQ(){var a=0;if(!(k[2424]|0))a=9744;else{a=(zb()|0)+60|0;a=k[a>>2]|0}return a|0}function rQ(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[46816+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=46904;c=5;break}}if((c|0)==2)if(!b)a=46904;else{a=46904;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function sQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+192|0;h=s+152|0;g=s+136|0;q=s+120|0;p=s+104|0;o=s+96|0;l=s+80|0;j=s+64|0;e=s+48|0;m=s+32|0;f=s+16|0;d=s;t=s+176|0;i=s+168|0;k[t>>2]=c;c=(k[t>>2]|0)+(4-1)&~(4-1);n=k[c>>2]|0;k[t>>2]=c+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{k[d>>2]=a;k[d+4>>2]=14;k[d+8>>2]=n;c=vQ(vb(221,d|0)|0)|0;break}case 9:{k[f>>2]=a;k[f+4>>2]=16;k[f+8>>2]=i;c=vb(221,f|0)|0;switch(c|0){case -22:{k[m>>2]=a;k[m+4>>2]=9;k[m+8>>2]=n;c=vb(221,m|0)|0;break a}case 0:{c=k[i+4>>2]|0;c=(k[i>>2]|0)==2?0-c|0:c;break a}default:{c=vQ(c)|0;break a}}}case 1030:{k[e>>2]=a;k[e+4>>2]=1030;k[e+8>>2]=n;c=vb(221,e|0)|0;if((c|0)!=-22){if((c|0)>-1){k[j>>2]=c;k[j+4>>2]=2;k[j+8>>2]=1;vb(221,j|0)|0}c=vQ(c)|0;break a}k[l>>2]=a;k[l+4>>2]=1030;k[l+8>>2]=0;c=vb(221,l|0)|0;if((c|0)==-22){k[p>>2]=a;k[p+4>>2]=0;k[p+8>>2]=n;c=vb(221,p|0)|0;if((c|0)>-1){k[q>>2]=c;k[q+4>>2]=2;k[q+8>>2]=1;vb(221,q|0)|0}c=vQ(c)|0;break a}else{if((c|0)>-1){k[o>>2]=c;Lb(6,o|0)|0}c=vQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=n;c=vQ(vb(221,g|0)|0)|0;break a}else{k[h>>2]=a;k[h+4>>2]=b;k[h+8>>2]=n;c=vQ(vb(221,h|0)|0)|0;break a}}while(0);r=s;return c|0}function tQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d;f=d+16|0;k[f>>2]=c;g=(k[f>>2]|0)+(4-1)&~(4-1);c=k[g>>2]|0;k[f>>2]=g+4;k[e>>2]=a;k[e+4>>2]=b|32768;k[e+8>>2]=c;c=vQ(Mb(5,e|0)|0)|0;r=d;return c|0}function uQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){i[a+c>>0]=i[48708+c>>0]|0;if((c|0)==14)break;else c=c+1|0}if(!b){i[a+14>>0]=48;i[a+15>>0]=0}else{c=14;d=b;while(1){c=c+1|0;if(d>>>0<10)break;else d=(d>>>0)/10|0}i[a+c>>0]=0;while(1){c=c+-1|0;i[a+c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}}return}function vQ(a){a=a|0;var b=0;if(a>>>0>4294963200){b=qQ()|0;k[b>>2]=0-a;a=-1}return a|0}function wQ(a){a=+a;return +(+ea(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function xQ(a){a=+a;var b=0;p[t>>3]=a;b=HR(k[t>>2]|0,k[t+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+fa(+(a*2.0-1.0/(+X(+(a*a+-1.0))+a)));break}else{a=+fa(+a)+.6931471805599453;break}else{a=a+-1.0;a=+DQ(a+ +X(+(a*a+a*2.0)))}while(0);return +a}function yQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=HR(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+fa(+(a*2.0+1.0/(a+ +X(+(a*a+1.0)))));break}if(b>>>0>996){e=a*a;a=+DQ(a+e/(+X(+(e+1.0))+1.0))}}else a=+fa(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function zQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=HR(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];if(b>>>0<1022){if(b>>>0>=991){e=a*2.0;a=+DQ(e+a*e/(1.0-a))*.5}}else a=+DQ(a/(1.0-a)*2.0)*.5;return +((c|0)<0?-a:a)}function AQ(a){a=+a;var b=0;p[t>>3]=a;b=k[t+4>>2]&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+BQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+ea(+a);a=(a+1.0/a)*.5;break}else{a=+wQ(a);break}while(0);return +a}function BQ(a){a=+a;var b=0.0,c=0.0,d=0,e=0,f=0,g=0,h=0.0,i=0,j=0.0;p[t>>3]=a;d=k[t>>2]|0;e=k[t+4>>2]|0;f=e&2147483647;g=HR(d|0,e|0,63)|0;do if(f>>>0>1078159481){f=e&2147483647;if(!(f>>>0>2146435072|(f|0)==2146435072&d>>>0>0))if(!g)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else i=11;else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{h=0.0;f=0;i=14;break}if(f>>>0<1072734898)if(!g){b=a+-.6931471803691238;d=1;c=1.9082149292705877e-10;i=12;break}else{b=a+.6931471803691238;d=-1;c=-1.9082149292705877e-10;i=12;break}else i=11}while(0);if((i|0)==11){d=~~(a*1.4426950408889634+((g|0)!=0?-.5:.5));c=+(d|0);b=a-c*.6931471803691238;c=c*1.9082149292705877e-10;i=12}if((i|0)==12){h=b-c;a=h;h=b-h-c;f=d;i=14}a:do if((i|0)==14){c=a*.5;b=a*c;j=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;c=3.0-c*j;c=b*((j-c)/(6.0-a*c));if(!f){a=a-(a*c-b);break}b=a*(c-h)-h-b;switch(f|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{g=LR(f+1023|0,0,52)|0;i=L;k[t>>2]=g;k[t+4>>2]=i;c=+p[t>>3];if(f>>>0>56){a=a-b+1.0;a=((f|0)==1024?a*2.0*8988465674311579538646525.0e283:c*a)+-1.0;break a}d=LR(1023-f|0,0,52)|0;e=L;if((f|0)<20){k[t>>2]=d;k[t+4>>2]=e;a=1.0-+p[t>>3]+(a-b)}else{k[t>>2]=d;k[t+4>>2]=e;a=a-(+p[t>>3]+b)+1.0}a=c*a;break a}}}while(0);return +a}function CQ(a){a=+a;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;c=k[t>>2]|0;b=k[t+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[t>>3]=a*18014398509481984.0;b=k[t+4>>2]|0;d=k[t>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;k[t>>2]=d;k[t+4>>2]=(e&1048575)+1072079006;j=+p[t>>3]+-1.0;a=j*(j*.5);h=j/(j+2.0);i=h*h;g=i*i;p[t>>3]=j-a;d=k[t+4>>2]|0;k[t>>2]=0;k[t+4>>2]=d;f=+p[t>>3];a=h*(a+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(j-f-a);j=f*.4342944818781689;g=+(c+(e>>>20)|0);i=g*.30102999566361177;h=i+j;a=h+(j+(i-h)+(a*.4342944818781689+(g*3.694239077158931e-13+(f+a)*2.5082946711645275e-11)))}return +a}function DQ(a){a=+a;var b=0,c=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;b=k[t+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){f=LR(b|0,0,1)|0;if(f>>>0<2034237440)break;if(b>>>0<3218259653){d=0.0;c=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-B;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){c=a+1.0;p[t>>3]=c;b=(k[t+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54)a=((e|0)>1?1.0-(c-a):a-(c+-1.0))/c;else a=0.0;k[t>>2]=k[t>>2];k[t+4>>2]=(b&1048575)+1072079006;d=a;a=+p[t>>3]+-1.0;c=+(e|0);e=11}if((e|0)==11){g=a*(a*.5);j=a/(a+2.0);i=j*j;h=i*i;a=c*.6931471803691238+(a+(d+c*1.9082149292705877e-10+j*(g+(h*(h*(h*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(h*(h*(h*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-g))}return +a}function EQ(a){a=+a;var b=0.0,c=0.0,d=0;p[t>>3]=a;d=k[t+4>>2]|0;c=(d|0)<0?-.5:.5;d=d&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=d;b=+p[t>>3];do if(d>>>0<1082535490){b=+BQ(b);if(d>>>0>=1072693248){a=c*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=c*(b*2.0-b*b/(b+1.0))}else a=c*2.0*+wQ(b);while(0);return +a}function FQ(a){a=+a;var b=0,c=0;p[t>>3]=a;c=k[t+4>>2]|0;b=c&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+BQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+BQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+BQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function GQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=r;r=r+32|0;g=i;do if((f&4095|0)==0&(((f|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){e=qQ()|0;k[e>>2]=12;e=-1;break}h=(d&16|0)!=0;if(h)vR(-1);k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=c;k[g+12>>2]=d;k[g+16>>2]=e;k[g+20>>2]=f>>12;e=vQ(lb(192,g|0)|0)|0;if(h)wR()}else{e=qQ()|0;k[e>>2]=22;e=-1}while(0);r=i;return e|0}function HQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;vR(-1);k[d>>2]=a;k[d+4>>2]=b;a=vQ(eb(91,d|0)|0)|0;wR();r=c;return a|0}function IQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=sb(94,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){uQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=vQ(Fb(15,f|0)|0)|0}else c=vQ(c)|0;r=g;return c|0}function JQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=mb(197,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){uQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=vQ(ob(195,f|0)|0)|0}else c=vQ(c)|0;r=g;return c|0}function KQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=vQ(nb(196,d|0)|0)|0;r=c;return a|0}function LQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=vQ(gb(39,d|0)|0)|0;r=c;return a|0}function MQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=vQ(ob(195,d|0)|0)|0;r=c;return a|0}function NQ(a){a=a|0;return 0}function OQ(a){a=a|0;return}function PQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=vQ(Lb(6,c|0)|0)|0;r=b;return a|0}function QQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((vQ(Eb(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function RQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[2424]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=vQ(Vb(146,m|0)|0)|0}else{Ua(154,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=vQ(Vb(146,l|0)|0)|0;Ma(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function SQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=163;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,(Ta(54,d|0)|0)!=0):0)i[a+75>>0]=-1;d=RQ(a,b,c)|0;r=e;return d|0}function TQ(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=sR(a)|0;break}c=(NQ(a)|0)==0;b=sR(a)|0;if(!c)OQ(a)}else{if(!(k[2435]|0))b=0;else b=TQ(k[2435]|0)|0;Kb(9724);a=k[2430]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=NQ(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=sR(a)|0|b;if(c)OQ(a);a=k[a+56>>2]|0}while((a|0)!=0);Db(9724)}while(0);return b|0}function UQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+208|0;n=q+8|0;o=q;e=ha(c,b)|0;m=o;k[m>>2]=1;k[m+4>>2]=0;if(e){h=e-c|0;k[n+4>>2]=c;k[n>>2]=c;f=c;b=c;g=2;while(1){b=b+c+f|0;k[n+(g<<2)>>2]=b;if(b>>>0>>0){m=f;f=b;g=g+1|0;b=m}else break}m=0-c|0;i=a+h|0;l=o+4|0;if((h|0)>0){h=i;e=1;g=1;while(1){do if((e&3|0)==3){tR(a,c,d,g,n);j=k[l>>2]|0;b=j<<30|(k[o>>2]|0)>>>2;k[o>>2]=b;k[l>>2]=j>>>2;g=g+2|0}else{b=g+-1|0;if((k[n+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)tR(a,c,d,g,n);else uR(a,c,d,o,g,0,n);if((g|0)==1){b=k[o>>2]|0;k[l>>2]=b>>>31|k[l>>2]<<1;b=b<<1;k[o>>2]=b;g=0;break}if(b>>>0>31){e=k[o>>2]|0;k[l>>2]=e;k[o>>2]=0;b=g+-33|0;f=0}else{e=k[l>>2]|0;f=k[o>>2]|0}k[l>>2]=f>>>(32-b|0)|e<>2]=b;g=1}while(0);e=b|1;k[o>>2]=e;b=a+c|0;if(b>>>0>=i>>>0){e=b;break}else a=b}}else{e=a;g=1}uR(e,c,d,o,g,0,n);j=o+4|0;b=k[o>>2]|0;if(!((g|0)==1&(b|0)==1&(k[j>>2]|0)==0)){f=e;while(1){if((g|0)<2){e=b+-1|0;do if(e){if(!(e&1)){h=e;e=0;do{e=e+1|0;h=h>>>1}while((h&1|0)==0);if(!e)p=24}else p=24;if((p|0)==24){p=0;i=k[l>>2]|0;if(!i){e=64;p=30;break}if(!(i&1)){h=i;e=0}else{a=0;h=i;e=0;break}while(1){a=e+1|0;h=h>>>1;if(h&1){h=a;break}else e=a}if(!h){a=0;h=i;e=0;break}else e=e+33|0}if(e>>>0>31)p=30;else{a=e;h=k[l>>2]|0}}else{e=32;p=30}while(0);if((p|0)==30){p=0;b=k[l>>2]|0;k[o>>2]=b;k[l>>2]=0;a=e+-32|0;h=0}k[o>>2]=h<<32-a|b>>>a;k[l>>2]=h>>>a;f=f+m|0;e=e+g|0}else{a=b>>>30;i=a|k[l>>2]<<2;e=g+-2|0;k[o>>2]=(b<<1&2147483646|a<<31)^3;k[l>>2]=i>>>1;uR(f+(0-((k[n+(e<<2)>>2]|0)+c))|0,c,d,o,g+-1|0,1,n);i=k[o>>2]|0;k[l>>2]=i>>>31|k[l>>2]<<1;k[o>>2]=i<<1|1;f=f+m|0;uR(f,c,d,o,e,1,n)}b=k[o>>2]|0;if((e|0)==1&(b|0)==1&(k[j>>2]|0)==0)break;else g=e}}}r=q;return}function VQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)c=0;else{e=c;d=a;while(1){a=i[d>>0]|0;c=i[b>>0]|0;if(a<<24>>24!=c<<24>>24)break;e=e+-1|0;if(!e){c=0;break a}else{d=d+1|0;b=b+1|0}}c=(a&255)-(c&255)|0}while(0);return c|0}function WQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function XQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;do if(!((e^a)&3)){d=(c|0)!=0;a:do if(d&(e&3|0)!=0)while(1){e=i[b>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break a;c=c+-1|0;b=b+1|0;a=a+1|0;d=(c|0)!=0;if(!(d&(b&3|0)!=0)){f=5;break}}else f=5;while(0);if((f|0)==5)if(!d){c=0;break}if(i[b>>0]|0){b:do if(c>>>0>3)do{d=k[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009)break b;k[a>>2]=d;c=c+-4|0;b=b+4|0;a=a+4|0}while(c>>>0>3);while(0);f=11}}else f=11;while(0);c:do if((f|0)==11)if(!c)c=0;else while(1){f=i[b>>0]|0;i[a>>0]=f;if(!(f<<24>>24))break c;c=c+-1|0;a=a+1|0;if(!c){c=0;break}else b=b+1|0}while(0);KR(a|0,0,c|0)|0;return a|0}function YQ(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function ZQ(a,b){a=a|0;b=b|0;WQ(a,b)|0;return a|0}function _Q(a){a=a|0;var b=0,c=0;c=($Q(a)|0)+1|0;b=yR(c)|0;if(!b)b=0;else IR(b|0,a|0,c|0)|0;return b|0}function $Q(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=a;a=d;while(1){if(!(i[b>>0]|0))break a;b=b+1|0;a=b;if(!(a&3)){a=b;c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function aR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c)b=0;else{d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(d<<24>>24==e<<24>>24&((c|0)!=0&e<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0}return b|0}function bR(a,b,c){a=a|0;b=b|0;c=c|0;XQ(a,b,c)|0;return a|0}function cR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=vQ(Bb(33,d|0)|0)|0;r=c;return a|0}function dR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Lb(6,c|0)|0;a=vQ((a|0)==-4?-115:a)|0;r=b;return a|0}function eR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+64|0;g=h+24|0;f=h+16|0;d=h;e=h+36|0;k[d>>2]=a;k[d+4>>2]=b;k[d+8>>2]=c;d=Ub(207,d|0)|0;if((d|0)==-9?(k[f>>2]=a,k[f+4>>2]=1,(vb(221,f|0)|0)>=0):0){uQ(e,a);k[g>>2]=e;k[g+4>>2]=b;k[g+8>>2]=c;d=vQ(qb(212,g|0)|0)|0}else d=vQ(d)|0;r=h;return d|0}function fR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=vQ(Xa(118,c|0)|0)|0;r=b;return a|0}function gR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=b;k[d+12>>2]=((b|0)<0)<<31>>31;b=vQ(pb(194,d|0)|0)|0;r=c;return b|0}function hR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+4112|0;d=f;c=f+8|0;if(a)if(!b){a=qQ()|0;k[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){k[d>>2]=a;k[d+4>>2]=b;if((vQ(_a(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=_Q(c)|0}else a=0}r=f;return a|0}function iR(){var a=0,b=0;b=r;r=r+16|0;a=yb(201,b|0)|0;r=b;return a|0}function jR(){var a=0,b=0;b=r;r=r+16|0;a=Za(20,b|0)|0;r=b;return a|0}function kR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=a;k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;c=(vQ(Eb(140,f|0)|0)|0)!=0;r=e;return (c?-1:k[d>>2]|0)|0}function lR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=vQ(Jb(3,e|0)|0)|0;r=d;return a|0}function mR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=vQ(Na(85,e|0)|0)|0;r=d;return a|0}function nR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=vQ(Wa(40,c|0)|0)|0;r=b;return a|0}function oR(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b+4>>2]=0;a=(tb(b|0,b|0)|0)==0;r=c;return (a?0:k[b>>2]|0)|0}function pR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=vQ(Hb(10,c|0)|0)|0;r=b;return a|0}function qR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=vQ(Nb(4,e|0)|0)|0;r=d;return a|0}function rR(a){a=a|0;if(!(k[a+68>>2]|0))OQ(a);return}function sR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(Yb[k[a+36>>2]&255](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)Yb[k[a+40>>2]&255](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function tR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+240|0;n=o;k[n>>2]=a;a:do if((d|0)>1){m=0-b|0;f=d;g=a;i=a;j=1;while(1){a=g+m|0;l=f+-2|0;h=g+(0-((k[e+(l<<2)>>2]|0)+b))|0;if((gc[c&255](i,h)|0)>-1?(gc[c&255](i,a)|0)>-1:0){d=j;break a}d=j+1|0;g=n+(j<<2)|0;if((gc[c&255](h,a)|0)>-1){k[g>>2]=h;a=h;f=f+-1|0}else{k[g>>2]=a;f=l}if((f|0)<=1)break a;g=a;i=k[n>>2]|0;j=d}}else d=1;while(0);xR(b,n,d);r=o;return}function uR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+240|0;o=q;i=k[d>>2]|0;d=k[d+4>>2]|0;k[o>>2]=a;n=0-b|0;a:do if((d|0)!=0|(i|0)!=1?(h=a+(0-(k[g+(e<<2)>>2]|0))|0,(gc[c&255](h,a)|0)>=1):0){f=(f|0)==0;m=h;j=i;l=d;h=1;while(1){if(f&(e|0)>1){d=k[g+(e+-2<<2)>>2]|0;if((gc[c&255](a+n|0,m)|0)>-1){f=e;d=h;p=20;break a}if((gc[c&255](a+(0-(d+b))|0,m)|0)>-1){f=e;d=h;p=20;break a}}d=h+1|0;k[o+(h<<2)>>2]=m;f=j+-1|0;do if(f){if(!(f&1)){a=f;f=0;do{f=f+1|0;a=a>>>1}while((a&1|0)==0);if(!f)p=11}else p=11;if((p|0)==11){p=0;if(!l){f=64;p=16;break}if(!(l&1)){a=l;f=0}else{i=0;a=j;h=l;f=0;break}while(1){h=f+1|0;a=a>>>1;if(a&1){a=h;break}else f=h}if(!a){i=0;a=j;h=l;f=0;break}else f=f+33|0}if(f>>>0>31)p=16;else{i=f;a=j;h=l}}else{f=32;p=16}while(0);if((p|0)==16){p=0;i=f+-32|0;a=l;h=0}j=h<<32-i|a>>>i;l=h>>>i;f=f+e|0;if(!((l|0)!=0|(j|0)!=1)){a=m;p=20;break a}a=m+(0-(k[g+(f<<2)>>2]|0))|0;if((gc[c&255](a,k[o>>2]|0)|0)<1){a=m;e=f;f=0;p=19;break}else{i=m;e=f;f=1;m=a;h=d;a=i}}}else{d=1;p=19}while(0);if((p|0)==19?(f|0)==0:0){f=e;p=20}if((p|0)==20){xR(b,o,d);tR(a,b,c,f,g)}r=q;return}function vR(a){a=a|0;return}function wR(){return}function xR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+256|0;d=g;a:do if((c|0)>=2?(f=b+(c<<2)|0,k[f>>2]=d,(a|0)!=0):0)while(1){e=a>>>0>256?256:a;IR(d|0,k[b>>2]|0,e|0)|0;d=0;do{h=b+(d<<2)|0;d=d+1|0;IR(k[h>>2]|0,k[b+(d<<2)>>2]|0,e|0)|0;k[h>>2]=(k[h>>2]|0)+e}while((d|0)!=(c|0));if((a|0)==(e|0))break a;a=a-e|0;d=k[f>>2]|0}while(0);r=g;return}function yR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;h=k[2465]|0;c=h>>>a;if(c&3){a=(c&1^1)+a|0;d=a<<1;c=9900+(d<<2)|0;d=9900+(d+2<<2)|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[2469]|0)>>>0)Va();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Va()}else k[2465]=h&~(1<>2]=M|3;M=e+(M|4)|0;k[M>>2]=k[M>>2]|1;M=f;return M|0}g=k[2467]|0;if(o>>>0>g>>>0){if(c){d=2<>>12&16;d=d>>>i;e=d>>>5&8;d=d>>>e;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;a=d>>>1&1;a=(e|i|f|c|a)+(d>>>a)|0;d=a<<1;c=9900+(d<<2)|0;d=9900+(d+2<<2)|0;f=k[d>>2]|0;i=f+8|0;e=k[i>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[2469]|0)>>>0)Va();b=e+12|0;if((k[b>>2]|0)==(f|0)){k[b>>2]=c;k[d>>2]=e;j=k[2467]|0;break}else Va()}else{k[2465]=h&~(1<>2]=o|3;h=f+o|0;k[f+(o|4)>>2]=g|1;k[f+M>>2]=g;if(j){e=k[2470]|0;c=j>>>3;b=c<<1;d=9900+(b<<2)|0;a=k[2465]|0;c=1<>2]|0;if(b>>>0<(k[2469]|0)>>>0)Va();else{l=a;m=b}}else{k[2465]=a|c;l=9900+(b+2<<2)|0;m=d}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=d}k[2467]=g;k[2470]=h;M=i;return M|0}a=k[2466]|0;if(a){c=(a&0-a)+-1|0;L=c>>>12&16;c=c>>>L;K=c>>>5&8;c=c>>>K;M=c>>>2&4;c=c>>>M;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=k[10164+((K|L|M|a|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;a=d;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b){i=c;break}}a=(k[b+4>>2]&-8)-o|0;M=a>>>0>>0;c=M?a:c;a=b;d=M?b:d}f=k[2469]|0;if(d>>>0>>0)Va();h=d+o|0;if(d>>>0>=h>>>0)Va();g=k[d+24>>2]|0;c=k[d+12>>2]|0;do if((c|0)==(d|0)){a=d+20|0;b=k[a>>2]|0;if(!b){a=d+16|0;b=k[a>>2]|0;if(!b){n=0;break}}while(1){c=b+20|0;e=k[c>>2]|0;if(e){b=e;a=c;continue}c=b+16|0;e=k[c>>2]|0;if(!e)break;else{b=e;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;n=b;break}}else{e=k[d+8>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(d|0))Va();a=c+8|0;if((k[a>>2]|0)==(d|0)){k[b>>2]=c;k[a>>2]=e;n=c;break}else Va()}while(0);do if(g){b=k[d+28>>2]|0;a=10164+(b<<2)|0;if((d|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[2466]=k[2466]&~(1<>>0<(k[2469]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(d|0))k[b>>2]=n;else k[g+20>>2]=n;if(!n)break}a=k[2469]|0;if(n>>>0>>0)Va();k[n+24>>2]=g;b=k[d+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);b=k[d+20>>2]|0;if(b)if(b>>>0<(k[2469]|0)>>>0)Va();else{k[n+20>>2]=b;k[b+24>>2]=n;break}}while(0);if(i>>>0<16){M=i+o|0;k[d+4>>2]=M|3;M=d+(M+4)|0;k[M>>2]=k[M>>2]|1}else{k[d+4>>2]=o|3;k[d+(o|4)>>2]=i|1;k[d+(i+o)>>2]=i;b=k[2467]|0;if(b){f=k[2470]|0;c=b>>>3;b=c<<1;e=9900+(b<<2)|0;a=k[2465]|0;c=1<>2]|0;if(a>>>0<(k[2469]|0)>>>0)Va();else{p=b;q=a}}else{k[2465]=a|c;p=9900+(b+2<<2)|0;q=e}k[p>>2]=f;k[q+12>>2]=f;k[f+8>>2]=q;k[f+12>>2]=e}k[2467]=i;k[2470]=h}M=d+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=k[2466]|0;if(l){c=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(p|q|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;a=k[10164+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=86}else{g=c;e=0;h=m<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){f=k[i+4>>2]&-8;c=f-m|0;if(c>>>0>>0)if((f|0)==(m|0)){f=i;a=i;v=90;break a}else a=i;else c=g;v=k[i+20>>2]|0;i=k[i+16+(h>>>31<<2)>>2]|0;e=(v|0)==0|(v|0)==(i|0)?e:v;if(!i){v=86;break}else{g=c;h=h<<1}}}while(0);if((v|0)==86){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;e=a>>>1&1;e=k[10164+((l|n|p|q|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){h=c;i=a}else{f=e;v=90}}if((v|0)==90)while(1){v=0;q=(k[f+4>>2]&-8)-m|0;e=q>>>0>>0;c=e?q:c;a=e?f:a;e=k[f+16>>2]|0;if(e){f=e;v=90;continue}f=k[f+20>>2]|0;if(!f){h=c;i=a;break}else v=90}if((i|0)!=0?h>>>0<((k[2467]|0)-m|0)>>>0:0){e=k[2469]|0;if(i>>>0>>0)Va();g=i+m|0;if(i>>>0>=g>>>0)Va();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){o=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;o=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Va();b=d+12|0;if((k[b>>2]|0)!=(i|0))Va();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;o=c;break}else Va()}while(0);do if(f){b=k[i+28>>2]|0;a=10164+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=o;if(!o){k[2466]=k[2466]&~(1<>>0<(k[2469]|0)>>>0)Va();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=o;else k[f+20>>2]=o;if(!o)break}a=k[2469]|0;if(o>>>0>>0)Va();k[o+24>>2]=f;b=k[i+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[o+16>>2]=b;k[b+24>>2]=o;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[2469]|0)>>>0)Va();else{k[o+20>>2]=b;k[b+24>>2]=o;break}}while(0);b:do if(h>>>0>=16){k[i+4>>2]=m|3;k[i+(m|4)>>2]=h|1;k[i+(h+m)>>2]=h;b=h>>>3;if(h>>>0<256){a=b<<1;d=9900+(a<<2)|0;c=k[2465]|0;b=1<>2]|0;if(a>>>0<(k[2469]|0)>>>0)Va();else{s=b;t=a}}else{k[2465]=c|b;s=9900+(a+2<<2)|0;t=d}k[s>>2]=g;k[t+12>>2]=g;k[i+(m+8)>>2]=t;k[i+(m+12)>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=10164+(d<<2)|0;k[i+(m+28)>>2]=d;k[i+(m+20)>>2]=0;k[i+(m+16)>>2]=0;a=k[2466]|0;c=1<>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break}b=k[b>>2]|0;c:do if((k[b+4>>2]&-8|0)!=(h|0)){d=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(h|0)){y=c;break c}else{d=d<<1;b=c}}if(a>>>0<(k[2469]|0)>>>0)Va();else{k[a>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break b}}else y=b;while(0);b=y+8|0;a=k[b>>2]|0;M=k[2469]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[i+(m+8)>>2]=a;k[i+(m+12)>>2]=y;k[i+(m+24)>>2]=0;break}else Va()}else{M=h+m|0;k[i+4>>2]=M|3;M=i+(M+4)|0;k[M>>2]=k[M>>2]|1}while(0);M=i+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);c=k[2467]|0;if(c>>>0>=q>>>0){b=c-q|0;a=k[2470]|0;if(b>>>0>15){k[2470]=a+q;k[2467]=b;k[a+(q+4)>>2]=b|1;k[a+c>>2]=b;k[a+4>>2]=q|3}else{k[2467]=0;k[2470]=0;k[a+4>>2]=c|3;M=a+(c+4)|0;k[M>>2]=k[M>>2]|1}M=a+8|0;return M|0}a=k[2468]|0;if(a>>>0>q>>>0){L=a-q|0;k[2468]=L;M=k[2471]|0;k[2471]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(k[2583]|0)){a=rb(30)|0;if(!(a+-1&a)){k[2585]=a;k[2584]=a;k[2586]=-1;k[2587]=-1;k[2588]=0;k[2576]=0;y=(Ob(0)|0)&-16^1431655768;k[2583]=y;break}else Va()}while(0);i=q+48|0;h=k[2585]|0;j=q+47|0;g=h+j|0;h=0-h|0;l=g&h;if(l>>>0<=q>>>0){M=0;return M|0}a=k[2575]|0;if((a|0)!=0?(t=k[2573]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(k[2576]&4)){a=k[2471]|0;e:do if(a){e=10308;while(1){c=k[e>>2]|0;if(c>>>0<=a>>>0?(r=e+4|0,(c+(k[r>>2]|0)|0)>>>0>a>>>0):0){f=e;a=r;break}e=k[e+8>>2]|0;if(!e){v=174;break e}}c=g-(k[2468]|0)&h;if(c>>>0<2147483647){e=kb(c|0)|0;y=(e|0)==((k[f>>2]|0)+(k[a>>2]|0)|0);a=y?c:0;if(y){if((e|0)!=(-1|0)){w=e;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){f=kb(0)|0;if((f|0)!=(-1|0)){a=f;c=k[2584]|0;e=c+-1|0;if(!(e&a))c=l;else c=l-a+(e+a&0-c)|0;a=k[2573]|0;e=a+c|0;if(c>>>0>q>>>0&c>>>0<2147483647){y=k[2575]|0;if((y|0)!=0?e>>>0<=a>>>0|e>>>0>y>>>0:0){a=0;break}e=kb(c|0)|0;y=(e|0)==(f|0);a=y?c:0;if(y){w=f;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){f=0-c|0;do if(i>>>0>c>>>0&(c>>>0<2147483647&(e|0)!=(-1|0))?(u=k[2585]|0,u=j-c+u&0-u,u>>>0<2147483647):0)if((kb(u|0)|0)==(-1|0)){kb(f|0)|0;break f}else{c=u+c|0;break}while(0);if((e|0)!=(-1|0)){w=e;p=c;v=194;break d}}while(0);k[2576]=k[2576]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=kb(l|0)|0,x=kb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(k[2573]|0)+p|0;k[2573]=a;if(a>>>0>(k[2574]|0)>>>0)k[2574]=a;g=k[2471]|0;g:do if(g){f=10308;do{a=k[f>>2]|0;c=f+4|0;e=k[c>>2]|0;if((w|0)==(a+e|0)){B=a;C=c;D=e;E=f;v=204;break}f=k[f+8>>2]|0}while((f|0)!=0);if(((v|0)==204?(k[E+12>>2]&8|0)==0:0)?g>>>0>>0&g>>>0>=B>>>0:0){k[C>>2]=D+p;M=(k[2468]|0)+p|0;L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;k[2471]=g+L;k[2468]=K;k[g+(L+4)>>2]=K|1;k[g+(M+4)>>2]=40;k[2472]=k[2587];break}a=k[2469]|0;if(w>>>0>>0){k[2469]=w;a=w}c=w+p|0;f=10308;while(1){if((k[f>>2]|0)==(c|0)){e=f;c=f;v=212;break}f=k[f+8>>2]|0;if(!f){c=10308;break}}if((v|0)==212)if(!(k[c+12>>2]&8)){k[e>>2]=w;n=c+4|0;k[n>>2]=(k[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;j=w+(p+8)|0;j=(j&7|0)==0?0:0-j&7;b=w+(j+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;k[w+(n+4)>>2]=q|3;h:do if((b|0)!=(g|0)){if((b|0)==(k[2470]|0)){M=(k[2467]|0)+l|0;k[2467]=M;k[2470]=o;k[w+(m+4)>>2]=M|1;k[w+(M+m)>>2]=M;break}h=p+4|0;c=k[w+(h+j)>>2]|0;if((c&3|0)==1){i=c&-8;f=c>>>3;i:do if(c>>>0>=256){g=k[w+((j|24)+p)>>2]|0;d=k[w+(p+12+j)>>2]|0;do if((d|0)==(b|0)){e=j|16;d=w+(h+e)|0;c=k[d>>2]|0;if(!c){d=w+(e+p)|0;c=k[d>>2]|0;if(!c){J=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;J=c;break}}else{e=k[w+((j|8)+p)>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((k[a>>2]|0)!=(b|0))Va();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;J=d;break}else Va()}while(0);if(!g)break;a=k[w+(p+28+j)>>2]|0;c=10164+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(g>>>0<(k[2469]|0)>>>0)Va();a=g+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=J;else k[g+20>>2]=J;if(!J)break i}else{k[c>>2]=J;if(J)break;k[2466]=k[2466]&~(1<>>0>>0)Va();k[J+24>>2]=g;b=j|16;a=k[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Va();else{k[J+16>>2]=a;k[a+24>>2]=J;break}while(0);b=k[w+(h+b)>>2]|0;if(!b)break;if(b>>>0<(k[2469]|0)>>>0)Va();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{d=k[w+((j|8)+p)>>2]|0;e=k[w+(p+12+j)>>2]|0;c=9900+(f<<1<<2)|0;do if((d|0)!=(c|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){k[2465]=k[2465]&~(1<>>0>>0)Va();a=e+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Va()}while(0);k[d+12>>2]=e;k[F>>2]=d}while(0);b=w+((i|j)+p)|0;e=i+l|0}else e=l;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[w+(m+4)>>2]=e|1;k[w+(e+m)>>2]=e;b=e>>>3;if(e>>>0<256){a=b<<1;d=9900+(a<<2)|0;c=k[2465]|0;b=1<>2]|0;if(a>>>0>=(k[2469]|0)>>>0){K=b;L=a;break}Va()}while(0);k[K>>2]=o;k[L+12>>2]=o;k[w+(m+8)>>2]=L;k[w+(m+12)>>2]=d;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=10164+(d<<2)|0;k[w+(m+28)>>2]=d;k[w+(m+20)>>2]=0;k[w+(m+16)>>2]=0;a=k[2466]|0;c=1<>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break}b=k[b>>2]|0;j:do if((k[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(e|0)){M=c;break j}else{d=d<<1;b=c}}if(a>>>0<(k[2469]|0)>>>0)Va();else{k[a>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=k[b>>2]|0;L=k[2469]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){k[a+12>>2]=o;k[b>>2]=o;k[w+(m+8)>>2]=a;k[w+(m+12)>>2]=M;k[w+(m+24)>>2]=0;break}else Va()}else{M=(k[2468]|0)+l|0;k[2468]=M;k[2471]=o;k[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else c=10308;while(1){a=k[c>>2]|0;if(a>>>0<=g>>>0?(b=k[c+4>>2]|0,d=a+b|0,d>>>0>g>>>0):0)break;c=k[c+8>>2]|0}e=a+(b+-39)|0;a=a+(b+-47+((e&7|0)==0?0:0-e&7))|0;e=g+16|0;a=a>>>0>>0?g:a;b=a+8|0;c=w+8|0;c=(c&7|0)==0?0:0-c&7;M=p+-40-c|0;k[2471]=w+c;k[2468]=M;k[w+(c+4)>>2]=M|1;k[w+(p+-36)>>2]=40;k[2472]=k[2587];c=a+4|0;k[c>>2]=27;k[b>>2]=k[2577];k[b+4>>2]=k[2578];k[b+8>>2]=k[2579];k[b+12>>2]=k[2580];k[2577]=w;k[2578]=p;k[2580]=0;k[2579]=b;b=a+28|0;k[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;k[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(g|0)){f=a-g|0;k[c>>2]=k[c>>2]&-2;k[g+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;d=9900+(a<<2)|0;c=k[2465]|0;b=1<>2]|0;if(a>>>0<(k[2469]|0)>>>0)Va();else{G=b;H=a}}else{k[2465]=c|b;G=9900+(a+2<<2)|0;H=d}k[G>>2]=g;k[H+12>>2]=g;k[g+8>>2]=H;k[g+12>>2]=d;break}b=f>>>8;if(b)if(f>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;c=10164+(d<<2)|0;k[g+28>>2]=d;k[g+20>>2]=0;k[e>>2]=0;b=k[2466]|0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}b=k[c>>2]|0;k:do if((k[b+4>>2]&-8|0)!=(f|0)){d=f<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(f|0)){I=c;break k}else{d=d<<1;b=c}}if(a>>>0<(k[2469]|0)>>>0)Va();else{k[a>>2]=g;k[g+24>>2]=b;k[g+12>>2]=g;k[g+8>>2]=g;break g}}else I=b;while(0);b=I+8|0;a=k[b>>2]|0;M=k[2469]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=I;k[g+24>>2]=0;break}else Va()}}else{M=k[2469]|0;if((M|0)==0|w>>>0>>0)k[2469]=w;k[2577]=w;k[2578]=p;k[2580]=0;k[2474]=k[2583];k[2473]=-1;b=0;do{M=b<<1;L=9900+(M<<2)|0;k[9900+(M+3<<2)>>2]=L;k[9900+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;k[2471]=w+M;k[2468]=L;k[w+(M+4)>>2]=L|1;k[w+(p+-36)>>2]=40;k[2472]=k[2587]}while(0);b=k[2468]|0;if(b>>>0>q>>>0){L=b-q|0;k[2468]=L;M=k[2471]|0;k[2471]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}}M=qQ()|0;k[M>>2]=12;M=0;return M|0}function zR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;h=k[2469]|0;if(b>>>0>>0)Va();c=k[a+-4>>2]|0;d=c&3;if((d|0)==1)Va();o=c&-8;q=a+(o+-8)|0;do if(!(c&1)){b=k[b>>2]|0;if(!d)return;i=-8-b|0;l=a+i|0;m=b+o|0;if(l>>>0>>0)Va();if((l|0)==(k[2470]|0)){b=a+(o+-4)|0;c=k[b>>2]|0;if((c&3|0)!=3){u=l;f=m;break}k[2467]=m;k[b>>2]=c&-2;k[a+(i+4)>>2]=m|1;k[q>>2]=m;return}e=b>>>3;if(b>>>0<256){d=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;b=9900+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)!=(l|0))Va()}if((c|0)==(d|0)){k[2465]=k[2465]&~(1<>>0>>0)Va();b=c+8|0;if((k[b>>2]|0)==(l|0))g=b;else Va()}else g=c+8|0;k[d+12>>2]=c;k[g>>2]=d;u=l;f=m;break}g=k[a+(i+24)>>2]|0;d=k[a+(i+12)>>2]|0;do if((d|0)==(l|0)){c=a+(i+20)|0;b=k[c>>2]|0;if(!b){c=a+(i+16)|0;b=k[c>>2]|0;if(!b){j=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)Va();else{k[c>>2]=0;j=b;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(l|0))Va();c=d+8|0;if((k[c>>2]|0)==(l|0)){k[b>>2]=d;k[c>>2]=e;j=d;break}else Va()}while(0);if(g){b=k[a+(i+28)>>2]|0;c=10164+(b<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[2466]=k[2466]&~(1<>>0<(k[2469]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(l|0))k[b>>2]=j;else k[g+20>>2]=j;if(!j){u=l;f=m;break}}c=k[2469]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;b=k[a+(i+16)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[j+16>>2]=b;k[b+24>>2]=j;break}while(0);b=k[a+(i+20)>>2]|0;if(b)if(b>>>0<(k[2469]|0)>>>0)Va();else{k[j+20>>2]=b;k[b+24>>2]=j;u=l;f=m;break}else{u=l;f=m}}else{u=l;f=m}}else{u=b;f=o}while(0);if(u>>>0>=q>>>0)Va();b=a+(o+-4)|0;c=k[b>>2]|0;if(!(c&1))Va();if(!(c&2)){if((q|0)==(k[2471]|0)){t=(k[2468]|0)+f|0;k[2468]=t;k[2471]=u;k[u+4>>2]=t|1;if((u|0)!=(k[2470]|0))return;k[2470]=0;k[2467]=0;return}if((q|0)==(k[2470]|0)){t=(k[2467]|0)+f|0;k[2467]=t;k[2470]=u;k[u+4>>2]=t|1;k[u+t>>2]=t;return}f=(c&-8)+f|0;e=c>>>3;do if(c>>>0>=256){g=k[a+(o+16)>>2]|0;b=k[a+(o|4)>>2]|0;do if((b|0)==(q|0)){c=a+(o+12)|0;b=k[c>>2]|0;if(!b){c=a+(o+8)|0;b=k[c>>2]|0;if(!b){p=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<(k[2469]|0)>>>0)Va();else{k[c>>2]=0;p=b;break}}else{c=k[a+o>>2]|0;if(c>>>0<(k[2469]|0)>>>0)Va();d=c+12|0;if((k[d>>2]|0)!=(q|0))Va();e=b+8|0;if((k[e>>2]|0)==(q|0)){k[d>>2]=b;k[e>>2]=c;p=b;break}else Va()}while(0);if(g){b=k[a+(o+20)>>2]|0;c=10164+(b<<2)|0;if((q|0)==(k[c>>2]|0)){k[c>>2]=p;if(!p){k[2466]=k[2466]&~(1<>>0<(k[2469]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(q|0))k[b>>2]=p;else k[g+20>>2]=p;if(!p)break}c=k[2469]|0;if(p>>>0>>0)Va();k[p+24>>2]=g;b=k[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[p+16>>2]=b;k[b+24>>2]=p;break}while(0);b=k[a+(o+12)>>2]|0;if(b)if(b>>>0<(k[2469]|0)>>>0)Va();else{k[p+20>>2]=b;k[b+24>>2]=p;break}}}else{d=k[a+o>>2]|0;c=k[a+(o|4)>>2]|0;b=9900+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<(k[2469]|0)>>>0)Va();if((k[d+12>>2]|0)!=(q|0))Va()}if((c|0)==(d|0)){k[2465]=k[2465]&~(1<>>0<(k[2469]|0)>>>0)Va();b=c+8|0;if((k[b>>2]|0)==(q|0))n=b;else Va()}else n=c+8|0;k[d+12>>2]=c;k[n>>2]=d}while(0);k[u+4>>2]=f|1;k[u+f>>2]=f;if((u|0)==(k[2470]|0)){k[2467]=f;return}}else{k[b>>2]=c&-2;k[u+4>>2]=f|1;k[u+f>>2]=f}b=f>>>3;if(f>>>0<256){c=b<<1;e=9900+(c<<2)|0;d=k[2465]|0;b=1<>2]|0;if(c>>>0<(k[2469]|0)>>>0)Va();else{r=b;s=c}}else{k[2465]=d|b;r=9900+(c+2<<2)|0;s=e}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=e;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=10164+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;c=k[2466]|0;d=1<>2]|0;b:do if((k[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){c=b+16+(e>>>31<<2)|0;d=k[c>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;b=d}}if(c>>>0<(k[2469]|0)>>>0)Va();else{k[c>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;c=k[b>>2]|0;s=k[2469]|0;if(c>>>0>=s>>>0&t>>>0>=s>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Va()}else{k[2466]=c|d;k[b>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u}while(0);u=(k[2473]|0)+-1|0;k[2473]=u;if(!u)b=10316;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[2473]=-1;return}function AR(a,b){a=a|0;b=b|0;var c=0;if(a){c=ha(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;b=yR(c)|0;if(!b)return b|0;if(!(k[b+-4>>2]&3))return b|0;KR(b|0,0,c|0)|0;return b|0}function BR(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=yR(b)|0;return a|0}if(b>>>0>4294967231){a=qQ()|0;k[a>>2]=12;a=0;return a|0}c=CR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c){a=c+8|0;return a|0}c=yR(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;IR(c|0,a|0,(d>>>0>>0?d:b)|0)|0;zR(a);a=c;return a|0}function CR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[2469]|0;c=p&3;if(!((c|0)!=1&a>>>0>=h>>>0&a>>>0>>0))Va();d=a+(i|4)|0;e=k[d>>2]|0;if(!(e&1))Va();if(!c){if(b>>>0<256){a=0;return a|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[2585]<<1>>>0:0)return a|0;a=0;return a|0}if(i>>>0>=b>>>0){c=i-b|0;if(c>>>0<=15)return a|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|3;k[d>>2]=k[d>>2]|1;DR(a+b|0,c);return a|0}if((l|0)==(k[2471]|0)){c=(k[2468]|0)+i|0;if(c>>>0<=b>>>0){a=0;return a|0}n=c-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|1;k[2471]=a+b;k[2468]=n;return a|0}if((l|0)==(k[2470]|0)){d=(k[2467]|0)+i|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[2467]=c;k[2470]=d;return a|0}if(e&2){a=0;return a|0}m=(e&-8)+i|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;f=e>>>3;do if(e>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){d=a+(i+20)|0;c=k[d>>2]|0;if(!c){d=a+(i+16)|0;c=k[d>>2]|0;if(!c){j=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;j=c;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();c=e+12|0;if((k[c>>2]|0)!=(l|0))Va();d=f+8|0;if((k[d>>2]|0)==(l|0)){k[c>>2]=f;k[d>>2]=e;j=f;break}else Va()}while(0);if(g){c=k[a+(i+28)>>2]|0;d=10164+(c<<2)|0;if((l|0)==(k[d>>2]|0)){k[d>>2]=j;if(!j){k[2466]=k[2466]&~(1<>>0<(k[2469]|0)>>>0)Va();c=g+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=j;else k[g+20>>2]=j;if(!j)break}d=k[2469]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;c=k[a+(i+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[j+16>>2]=c;k[c+24>>2]=j;break}while(0);c=k[a+(i+20)>>2]|0;if(c)if(c>>>0<(k[2469]|0)>>>0)Va();else{k[j+20>>2]=c;k[c+24>>2]=j;break}}}else{e=k[a+(i+8)>>2]|0;d=k[a+(i+12)>>2]|0;c=9900+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(l|0))Va()}if((d|0)==(e|0)){k[2465]=k[2465]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(l|0))g=c;else Va()}else g=d+8|0;k[e+12>>2]=d;k[g>>2]=e}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;b=a+(m|4)|0;k[b>>2]=k[b>>2]|1;return a|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;p=a+(m|4)|0;k[p>>2]=k[p>>2]|1;DR(a+b|0,n);return a|0}return 0}function DR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){j=k[a>>2]|0;if(!(c&3))return;n=a+(0-j)|0;m=j+b|0;i=k[2469]|0;if(n>>>0>>0)Va();if((n|0)==(k[2470]|0)){d=a+(b+4)|0;c=k[d>>2]|0;if((c&3|0)!=3){t=n;g=m;break}k[2467]=m;k[d>>2]=c&-2;k[a+(4-j)>>2]=m|1;k[q>>2]=m;return}f=j>>>3;if(j>>>0<256){e=k[a+(8-j)>>2]|0;d=k[a+(12-j)>>2]|0;c=9900+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(n|0))Va()}if((d|0)==(e|0)){k[2465]=k[2465]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(n|0))h=c;else Va()}else h=d+8|0;k[e+12>>2]=d;k[h>>2]=e;t=n;g=m;break}h=k[a+(24-j)>>2]|0;e=k[a+(12-j)>>2]|0;do if((e|0)==(n|0)){e=16-j|0;d=a+(e+4)|0;c=k[d>>2]|0;if(!c){d=a+e|0;c=k[d>>2]|0;if(!c){l=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;l=c;break}}else{f=k[a+(8-j)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(n|0))Va();d=e+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=e;k[d>>2]=f;l=e;break}else Va()}while(0);if(h){c=k[a+(28-j)>>2]|0;d=10164+(c<<2)|0;if((n|0)==(k[d>>2]|0)){k[d>>2]=l;if(!l){k[2466]=k[2466]&~(1<>>0<(k[2469]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(n|0))k[c>>2]=l;else k[h+20>>2]=l;if(!l){t=n;g=m;break}}e=k[2469]|0;if(l>>>0>>0)Va();k[l+24>>2]=h;c=16-j|0;d=k[a+c>>2]|0;do if(d)if(d>>>0>>0)Va();else{k[l+16>>2]=d;k[d+24>>2]=l;break}while(0);c=k[a+(c+4)>>2]|0;if(c)if(c>>>0<(k[2469]|0)>>>0)Va();else{k[l+20>>2]=c;k[c+24>>2]=l;t=n;g=m;break}else{t=n;g=m}}else{t=n;g=m}}else{t=a;g=b}while(0);i=k[2469]|0;if(q>>>0>>0)Va();c=a+(b+4)|0;d=k[c>>2]|0;if(!(d&2)){if((q|0)==(k[2471]|0)){s=(k[2468]|0)+g|0;k[2468]=s;k[2471]=t;k[t+4>>2]=s|1;if((t|0)!=(k[2470]|0))return;k[2470]=0;k[2467]=0;return}if((q|0)==(k[2470]|0)){s=(k[2467]|0)+g|0;k[2467]=s;k[2470]=t;k[t+4>>2]=s|1;k[t+s>>2]=s;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){d=a+(b+20)|0;c=k[d>>2]|0;if(!c){d=a+(b+16)|0;c=k[d>>2]|0;if(!c){p=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;p=c;break}}else{f=k[a+(b+8)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(q|0))Va();d=e+8|0;if((k[d>>2]|0)==(q|0)){k[c>>2]=e;k[d>>2]=f;p=e;break}else Va()}while(0);if(h){c=k[a+(b+28)>>2]|0;d=10164+(c<<2)|0;if((q|0)==(k[d>>2]|0)){k[d>>2]=p;if(!p){k[2466]=k[2466]&~(1<>>0<(k[2469]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(q|0))k[c>>2]=p;else k[h+20>>2]=p;if(!p)break}d=k[2469]|0;if(p>>>0>>0)Va();k[p+24>>2]=h;c=k[a+(b+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[p+16>>2]=c;k[c+24>>2]=p;break}while(0);c=k[a+(b+20)>>2]|0;if(c)if(c>>>0<(k[2469]|0)>>>0)Va();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{e=k[a+(b+8)>>2]|0;d=k[a+(b+12)>>2]|0;c=9900+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(q|0))Va()}if((d|0)==(e|0)){k[2465]=k[2465]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(q|0))o=c;else Va()}else o=d+8|0;k[e+12>>2]=d;k[o>>2]=e}while(0);k[t+4>>2]=g|1;k[t+g>>2]=g;if((t|0)==(k[2470]|0)){k[2467]=g;return}}else{k[c>>2]=d&-2;k[t+4>>2]=g|1;k[t+g>>2]=g}c=g>>>3;if(g>>>0<256){d=c<<1;f=9900+(d<<2)|0;e=k[2465]|0;c=1<>2]|0;if(d>>>0<(k[2469]|0)>>>0)Va();else{r=c;s=d}}else{k[2465]=e|c;r=9900+(d+2<<2)|0;s=f}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=f;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{r=(c+1048320|0)>>>16&8;s=c<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;c=10164+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[2466]|0;e=1<>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[c>>2]|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=c+16+(f>>>31<<2)|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[2469]|0)>>>0)Va();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;s=k[2469]|0;if(!(e>>>0>=s>>>0&c>>>0>=s>>>0))Va();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function ER(){}function FR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function GR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function IR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return ub(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function JR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else IR(a,b,c)|0;return a|0}function KR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function NR(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function OR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function PR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=FR(j^a,i^b,j,i)|0;g=L;a=f^j;b=e^i;return FR((UR(h,g,FR(f^c,e^d,f,e)|0,L,0)|0)^a,L^b,a,b)|0}function QR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=FR(g^a,f^b,g,f)|0;b=L;UR(a,b,FR(j^c,i^d,j,i)|0,L,h)|0;d=FR(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;c=L;r=e;return (L=c,d)|0}function RR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=OR(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function SR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return UR(a,b,c,d,0)|0}function TR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;UR(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function UR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (L=n,e)|0}f=g-1|0;if(f&g){h=(ja(g|0)|0)+33-(ja(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (L=o,p)|0}else{p=NR(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=o,p)|0}}else{if(f){if(e){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (L=o,p)|0}if(!l){if(e){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (L=o,p)|0}f=h-1|0;if(!(f&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((NR(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=GR(m|0,l|0,-1,-1)|0;c=L;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;FR(j,c,d,n)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=FR(d,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=L;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (L=o,p)|0}function VR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&255](b|0,c|0,d|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return na(0,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return na(1,a|0,b|0,c|0)|0} -function TE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;j=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if(((l[k[g>>2]>>0]|0|0)==151?(k[(k[g>>2]|0)+20>>2]|0)!=0:0)?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)==2:0){c=si(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0,2,1,0)|0;k[n>>2]=c;if((k[n>>2]|0)!=0?((m[(k[n>>2]|0)+2>>1]|0)&4|0)!=0:0){c=k[j>>2]|0;b=k[(k[n>>2]|0)+4>>2]|0;i[c>>0]=i[b>>0]|0;i[c+1>>0]=i[b+1>>0]|0;i[c+2>>0]=i[b+2>>0]|0;k[k[h>>2]>>2]=((m[(k[n>>2]|0)+2>>1]|0)&8|0)==0&1;k[e>>2]=1;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}function UE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+20|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;if((k[e>>2]|0)!=0?(k[h>>2]=(k[(k[e>>2]|0)+60>>2]|0)+(((k[f>>2]|0)-1|0)*40|0),0==((m[(k[h>>2]|0)+8>>1]|0)&1|0)):0){a=fi(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){sh(k[j>>2]|0,k[h>>2]|0)|0;Ix(k[j>>2]|0,i[g>>0]|0,1)}k[d>>2]=k[j>>2];a=k[d>>2]|0;r=l;return a|0}k[d>>2]=0;a=k[d>>2]|0;r=l;return a|0}function VE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>32){k[(k[c>>2]|0)+188>>2]=-1;r=e;return}else{a=(k[c>>2]|0)+188|0;k[a>>2]=k[a>>2]|1<<(k[d>>2]|0)-1;r=e;return}}function WE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(hA(k[f>>2]|0,k[e>>2]|0)|0)+12|0;k[c>>2]=a;r=d;return}function XE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;if((m[(k[d>>2]|0)+18>>1]|0|0)!=1024){k[c>>2]=(b|0)==0?k[d>>2]|0:0;e=k[c>>2]|0;r=f;return e|0}if((b|0)<(k[(k[(k[d>>2]|0)+12>>2]|0)+12>>2]|0)){k[c>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0);e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function YE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+28|0;l=s+24|0;e=s+20|0;f=s+16|0;n=s+32|0;g=s+12|0;q=s+8|0;p=s+4|0;o=s;k[h>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=d;j[n>>1]=m[(k[e>>2]|0)+18>>1]|0|(m[(k[f>>2]|0)+18>>1]|0);if(!((m[(k[e>>2]|0)+18>>1]|0)&62)){r=s;return}if(!((m[(k[f>>2]|0)+18>>1]|0)&62)){r=s;return}if(((m[n>>1]|0)&26|0)!=(m[n>>1]|0|0)?((m[n>>1]|0)&38|0)!=(m[n>>1]|0|0):0){r=s;return}if(My(k[(k[k[e>>2]>>2]|0)+12>>2]|0,k[(k[k[f>>2]>>2]|0)+12>>2]|0,-1)|0){r=s;return}if(My(k[(k[k[e>>2]>>2]|0)+16>>2]|0,k[(k[k[f>>2]>>2]|0)+16>>2]|0,-1)|0){r=s;return}do if((m[n>>1]|0)&(m[n>>1]|0)-1)if((m[n>>1]|0)&24){j[n>>1]=8;break}else{j[n>>1]=32;break}while(0);k[g>>2]=k[k[k[k[l>>2]>>2]>>2]>>2];b=Ky(k[g>>2]|0,k[k[e>>2]>>2]|0,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){r=s;return}k[p>>2]=37;while(1){e=k[p>>2]|0;if((m[n>>1]|0|0)==(2<<(k[p>>2]|0)-37|0))break;k[p>>2]=e+1}i[k[q>>2]>>0]=e;q=LE(k[l>>2]|0,k[q>>2]|0,3)|0;k[o>>2]=q;HE(k[h>>2]|0,k[l>>2]|0,k[o>>2]|0);r=s;return}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+36|0;h=e+32|0;f=e+28|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=0;k[d+4>>2]=199;k[d+24>>2]=k[h>>2];yy(d,k[g>>2]|0)|0;if(k[f>>2]|0){h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}h=d+20|0;i[h>>0]=(l[h>>0]|0)&-3;h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}function _E(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[k[d>>2]>>2]|0;b=k[k[f>>2]>>2]|0;if((j[(k[f>>2]|0)+32>>1]|0)>=0){f=k[(k[(k[f>>2]|0)+4>>2]|0)+(j[(k[f>>2]|0)+32>>1]<<4)>>2]|0;k[h>>2]=b;k[h+4>>2]=f;f=Oh(a,30757,h)|0;k[l>>2]=f;k[g>>2]=1555;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;yA(f,h,i,l,-1,2);r=m;return}else{k[i>>2]=b;f=Oh(a,35734,i)|0;k[l>>2]=f;k[g>>2]=2579;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;yA(f,h,i,l,-1,2);r=m;return}}function $E(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;j=l+20|0;m=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;a:do if(k[(k[k[m>>2]>>2]|0)+24>>2]&524288){c=k[e>>2]|0;if(!(k[f>>2]|0)){if($x(c)|0)c=1;else c=(k[(k[e>>2]|0)+16>>2]|0)!=0;k[j>>2]=c&1;m=k[j>>2]|0;r=l;return m|0}k[h>>2]=k[c+16>>2];while(1){c=k[e>>2]|0;if(!(k[h>>2]|0))break;if(fD(c,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){i=9;break}k[h>>2]=k[(k[h>>2]|0)+4>>2]}if((i|0)==9){k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}m=$x(c)|0;k[h>>2]=m;while(1){if(!(k[h>>2]|0))break a;if(iD(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}while(0);k[j>>2]=0;m=k[j>>2]|0;r=l;return m|0}function aF(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+20>>0]=1;r=c;return}function bF(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;p=K+48|0;q=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;k[p>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;j[x>>1]=g;i[y>>0]=h;i[z>>0]=m;i[A>>0]=n;k[s>>2]=o;k[I>>2]=k[(k[p>>2]|0)+8>>2];k[E>>2]=0;c=Zz(k[I>>2]|0)|0;k[D>>2]=c;i[G>>0]=(l[(k[q>>2]|0)+42>>0]&32|0)==0?32:30;if(!(l[A>>0]|0))Qh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;c=($E(k[p>>2]|0,k[q>>2]|0,0,0)|0)!=0;if(c|(k[t>>2]|0)!=0){c=dF(k[p>>2]|0,k[t>>2]|0,0,0,3,k[q>>2]|0,l[z>>0]|0)|0;k[F>>2]=c;c=eF(k[p>>2]|0,k[q>>2]|0)|0;k[F>>2]=k[F>>2]|c;k[E>>2]=(k[(k[p>>2]|0)+76>>2]|0)+1;c=(k[p>>2]|0)+76|0;k[c>>2]=(k[c>>2]|0)+(1+(j[(k[q>>2]|0)+34>>1]|0));lx(k[I>>2]|0,82,k[w>>2]|0,k[E>>2]|0)|0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;if((k[F>>2]|0)!=-1){if((k[C>>2]|0)<=31?(k[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;QA(k[I>>2]|0,k[q>>2]|0,k[u>>2]|0,k[C>>2]|0,(k[E>>2]|0)+(k[C>>2]|0)+1|0)}k[C>>2]=(k[C>>2]|0)+1}J=Yz(k[I>>2]|0)|0;k[B>>2]=J;YC(k[p>>2]|0,k[t>>2]|0,109,0,1,k[q>>2]|0,k[E>>2]|0,l[z>>0]|0,k[D>>2]|0);J=k[B>>2]|0;if((J|0)<(Yz(k[I>>2]|0)|0))Qh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;bD(k[p>>2]|0,k[q>>2]|0,k[E>>2]|0,0,0,0)}if(k[(k[q>>2]|0)+12>>2]|0){a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;fF(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;YC(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;bA(I,J);r=K;return}i[H>>0]=0;cF(k[p>>2]|0,k[q>>2]|0,k[u>>2]|0,k[v>>2]|0,0,k[s>>2]|0);lx(k[I>>2]|0,115,k[u>>2]|0,(l[y>>0]|0)!=0?1:0)|0;Uh(k[I>>2]|0,-1,k[q>>2]|0,-20);if(l[A>>0]|0)Rh(k[I>>2]|0,4);if((k[s>>2]|0)>=0)Uz(k[I>>2]|0,115,k[s>>2]|0)|0;if((l[A>>0]|0)==2)i[H>>0]=l[H>>0]|2;Rh(k[I>>2]|0,i[H>>0]|0);a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;fF(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;YC(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;bA(I,J);r=K;return}function cF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;h=y+48|0;g=y+44|0;i=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;v=y+20|0;q=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[v>>2]=-1;k[u>>2]=0;k[w>>2]=k[(k[h>>2]|0)+8>>2];if(!((l[(k[g>>2]|0)+42>>0]|0)&32))e=0;else e=Rj(k[g>>2]|0)|0;k[t>>2]=e;k[p>>2]=0;k[s>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;if(!((k[n>>2]|0)!=0?(k[(k[n>>2]|0)+(k[p>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(k[s>>2]|0)!=(k[t>>2]|0)):0)?((k[m>>2]|0)+(k[p>>2]|0)|0)!=(k[o>>2]|0):0){e=sA(k[h>>2]|0,k[s>>2]|0,k[i>>2]|0,0,1,q,k[u>>2]|0,k[v>>2]|0)|0;k[v>>2]=e;e=k[s>>2]|0;if((l[(k[s>>2]|0)+55>>0]|0)>>>3&1)e=j[e+50>>1]|0;else e=j[e+52>>1]|0;px(k[w>>2]|0,125,(k[m>>2]|0)+(k[p>>2]|0)|0,k[v>>2]|0,e&65535)|0;tA(k[h>>2]|0,k[q>>2]|0);k[u>>2]=k[s>>2]}k[p>>2]=(k[p>>2]|0)+1;k[s>>2]=k[(k[s>>2]|0)+20>>2]}r=y;return}function dF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+40|0;v=u+36|0;i=u+32|0;j=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;s=u+4|0;t=u;k[h>>2]=a;k[v>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[q>>2]=(k[i>>2]|0)!=0?110:109;k[p>>2]=0;k[s>>2]=k[v>>2];while(1){if(!(k[s>>2]|0))break;if((((l[(k[s>>2]|0)+8>>0]|0|0)==(k[q>>2]|0)?(k[m>>2]&(l[(k[s>>2]|0)+9>>0]|0)|0)!=0:0)?(iG(k[(k[s>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)?(v=iF(k[h>>2]|0,k[s>>2]|0,k[n>>2]|0,k[o>>2]|0)|0,k[t>>2]=v,(k[t>>2]|0)!=0):0)k[p>>2]=k[p>>2]|k[(k[t>>2]|0)+16+(k[j>>2]<<2)>>2];k[s>>2]=k[(k[s>>2]|0)+32>>2]}r=u;return k[p>>2]|0}function eF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[(k[k[c>>2]>>2]|0)+24>>2]&524288)){h=k[f>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[g>>2]|0))break;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0))break;if((k[(k[g>>2]|0)+36+(k[e>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(k[e>>2]<<3)>>2];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}k[g>>2]=k[(k[g>>2]|0)+4>>2]}b=$x(k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break;k[h>>2]=0;yC(k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,h,0)|0;a:do if(k[h>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break a;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[g>>2]=k[(k[g>>2]|0)+12>>2]}h=k[f>>2]|0;r=i;return h|0}function fF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;l=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;if(!(k[(k[k[g>>2]>>2]|0)+24>>2]&524288)){r=q;return}d=$x(k[h>>2]|0)|0;k[o>>2]=d;while(1){if(!(k[o>>2]|0))break;if(!((k[l>>2]|0)!=0?(iD(k[h>>2]|0,k[o>>2]|0,k[l>>2]|0,k[m>>2]|0)|0)==0:0))p=6;if((p|0)==6?(p=0,d=gF(k[g>>2]|0,k[h>>2]|0,k[o>>2]|0,k[i>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)!=0):0)hF(k[g>>2]|0,k[n>>2]|0,k[h>>2]|0,k[j>>2]|0,2,0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}r=q;return}function gF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;e=N+136|0;f=N+132|0;g=N+128|0;h=N+124|0;m=N+120|0;p=N+116|0;n=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;o=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;q=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;k[p>>2]=k[k[f>>2]>>2];k[s>>2]=(k[m>>2]|0)!=0&1;k[n>>2]=l[(k[h>>2]|0)+25+(k[s>>2]|0)>>0];if((k[n>>2]|0)==6?(k[(k[p>>2]|0)+24>>2]&33554432|0)!=0:0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[D>>2]=k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2];if(!((k[n>>2]|0)==0|(k[D>>2]|0)!=0)){k[x>>2]=0;k[o>>2]=0;k[C>>2]=0;k[F>>2]=0;k[y>>2]=0;k[B>>2]=0;k[E>>2]=0;if(yC(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,x,o)|0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[h>>2]|0)+20>>2]|0))break;k[J>>2]=k[1579];k[J+4>>2]=k[1580];k[I>>2]=k[1581];k[I+4>>2]=k[1582];if(k[o>>2]|0)d=k[(k[o>>2]|0)+(k[q>>2]<<2)>>2]|0;else d=k[(k[h>>2]|0)+36>>2]|0;k[t>>2]=d;if(k[x>>2]|0)d=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;else d=j[(k[g>>2]|0)+32>>1]|0;Zy(K,k[(k[(k[g>>2]|0)+4>>2]|0)+(d<<16>>16<<4)>>2]|0);Zy(H,k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0);a=k[f>>2]|0;c=k[f>>2]|0;b=zz(k[p>>2]|0,55,J,0)|0;b=Mv(c,122,b,zz(k[p>>2]|0,55,K,0)|0,0)|0;b=Mv(a,37,b,zz(k[p>>2]|0,55,H,0)|0,0)|0;k[w>>2]=b;b=xz(k[p>>2]|0,k[F>>2]|0,k[w>>2]|0)|0;k[F>>2]=b;if(k[m>>2]|0){d=k[f>>2]|0;a=k[f>>2]|0;c=zz(k[p>>2]|0,55,J,0)|0;c=Mv(a,122,c,zz(k[p>>2]|0,55,K,0)|0,0)|0;a=k[f>>2]|0;b=zz(k[p>>2]|0,55,I,0)|0;b=Mv(d,29,c,Mv(a,122,b,zz(k[p>>2]|0,55,K,0)|0,0)|0,0)|0;k[w>>2]=b;b=xz(k[p>>2]|0,k[E>>2]|0,k[w>>2]|0)|0;k[E>>2]=b}if((k[n>>2]|0)!=6?(k[n>>2]|0)!=9|(k[m>>2]|0)!=0:0){do if((k[n>>2]|0)!=9){if((k[n>>2]|0)!=8){b=Mv(k[f>>2]|0,101,0,0,0)|0;k[z>>2]=b;break}k[v>>2]=k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+4>>2];if(k[v>>2]|0){b=Ky(k[p>>2]|0,k[v>>2]|0,0)|0;k[z>>2]=b;break}else{b=Mv(k[f>>2]|0,101,0,0,0)|0;k[z>>2]=b;break}}else{a=k[f>>2]|0;b=zz(k[p>>2]|0,55,I,0)|0;b=Mv(a,122,b,zz(k[p>>2]|0,55,K,0)|0,0)|0;k[z>>2]=b}while(0);b=$v(k[f>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[y>>2]=b;aw(k[f>>2]|0,k[y>>2]|0,H,0)}k[q>>2]=(k[q>>2]|0)+1}bg(k[p>>2]|0,k[o>>2]|0);k[L>>2]=k[k[k[h>>2]>>2]>>2];K=Tf(k[L>>2]|0)|0;k[u>>2]=K;if((k[n>>2]|0)==6){k[G>>2]=k[L>>2];k[G+4>>2]=k[u>>2];K=cw(k[p>>2]|0,83,35704)|0;k[A>>2]=K;if(k[A>>2]|0)i[(k[A>>2]|0)+1>>0]=2;I=k[f>>2]|0;J=$v(k[f>>2]|0,0,k[A>>2]|0)|0;K=gw(k[p>>2]|0,0,G,0)|0;K=_v(I,J,K,k[F>>2]|0,0,0,0,0,0,0)|0;k[B>>2]=K;k[F>>2]=0}K=(k[p>>2]|0)+256|0;k[K>>2]=(k[K>>2]|0)+1;K=Bh(k[p>>2]|0,72+(k[u>>2]|0)+1|0,0)|0;k[D>>2]=K;if((k[D>>2]|0)!=0?(K=(k[D>>2]|0)+36|0,k[(k[D>>2]|0)+28>>2]=K,k[C>>2]=K,k[(k[C>>2]|0)+12>>2]=(k[C>>2]|0)+36,IR(k[(k[C>>2]|0)+12>>2]|0,k[L>>2]|0,k[u>>2]|0)|0,L=Ky(k[p>>2]|0,k[F>>2]|0,1)|0,k[(k[C>>2]|0)+16>>2]=L,L=Sy(k[p>>2]|0,k[y>>2]|0,1)|0,k[(k[C>>2]|0)+20>>2]=L,L=by(k[p>>2]|0,k[B>>2]|0,1)|0,k[(k[C>>2]|0)+8>>2]=L,(k[E>>2]|0)!=0):0){L=Mv(k[f>>2]|0,19,k[E>>2]|0,0,0)|0;k[E>>2]=L;L=Ky(k[p>>2]|0,k[E>>2]|0,1)|0;k[(k[D>>2]|0)+12>>2]=L}L=(k[p>>2]|0)+256|0;k[L>>2]=(k[L>>2]|0)+-1;qv(k[p>>2]|0,k[F>>2]|0);qv(k[p>>2]|0,k[E>>2]|0);mv(k[p>>2]|0,k[y>>2]|0);nv(k[p>>2]|0,k[B>>2]|0);if((l[(k[p>>2]|0)+69>>0]|0|0)==1){hG(k[p>>2]|0,k[D>>2]|0);k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}switch(k[n>>2]|0){case 6:{i[k[C>>2]>>0]=119;break}case 9:{if(k[m>>2]|0)M=41;else i[k[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)i[k[C>>2]>>0]=110;k[(k[C>>2]|0)+4>>2]=k[D>>2];k[(k[D>>2]|0)+20>>2]=k[(k[g>>2]|0)+64>>2];k[(k[D>>2]|0)+24>>2]=k[(k[g>>2]|0)+64>>2];k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2]=k[D>>2];i[(k[D>>2]|0)+8>>0]=(k[m>>2]|0)!=0?110:109}k[e>>2]=k[D>>2];M=k[e>>2]|0;r=N;return M|0}function hF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=r;r=r+48|0;h=o+32|0;g=o+28|0;q=o+24|0;i=o+20|0;p=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[h>>2]=a;k[g>>2]=b;k[q>>2]=c;k[i>>2]=d;k[p>>2]=e;k[j>>2]=f;d=jx(k[h>>2]|0)|0;k[n>>2]=d;d=iF(k[h>>2]|0,k[g>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;k[m>>2]=d;if(!(k[m>>2]|0)){r=o;return}if(k[k[g>>2]>>2]|0)g=0==(k[(k[k[h>>2]>>2]|0)+24>>2]&262144|0);else g=0;k[l>>2]=g&1;d=k[n>>2]|0;i=k[i>>2]|0;p=k[j>>2]|0;j=(k[h>>2]|0)+76|0;q=(k[j>>2]|0)+1|0;k[j>>2]=q;ox(d,62,i,p,q,k[(k[m>>2]|0)+8>>2]|0,-18)|0;Rh(k[n>>2]|0,k[l>>2]&255);r=o;return}function iF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[e>>2]|0;if(k[(k[e>>2]|0)+416>>2]|0)d=k[d+416>>2]|0;k[j>>2]=d;k[i>>2]=k[(k[j>>2]|0)+532>>2];while(1){if(!(k[i>>2]|0))break;if((k[k[i>>2]>>2]|0)==(k[f>>2]|0)?(k[(k[i>>2]|0)+12>>2]|0)==(k[h>>2]|0):0)break;k[i>>2]=k[(k[i>>2]|0)+4>>2]}if(k[i>>2]|0){j=k[i>>2]|0;r=l;return j|0}j=jF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;r=l;return j|0}function jF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;w=x;e=x+84|0;f=x+80|0;g=x+76|0;h=x+72|0;j=x+68|0;s=x+64|0;m=x+60|0;o=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;p=x+12|0;q=x+8|0;n=x+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;d=k[f>>2]|0;if(k[(k[f>>2]|0)+416>>2]|0)d=k[d+416>>2]|0;k[s>>2]=d;k[m>>2]=k[k[f>>2]>>2];k[t>>2]=0;k[p>>2]=0;k[n>>2]=0;b=Bh(k[m>>2]|0,24,0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}k[(k[o>>2]|0)+4>>2]=k[(k[s>>2]|0)+532>>2];k[(k[s>>2]|0)+532>>2]=k[o>>2];b=Bh(k[m>>2]|0,28,0)|0;k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=b;if(!(k[p>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}kF(k[(k[s>>2]|0)+8>>2]|0,k[p>>2]|0);k[k[o>>2]>>2]=k[g>>2];k[(k[o>>2]|0)+12>>2]=k[j>>2];k[(k[o>>2]|0)+16>>2]=-1;k[(k[o>>2]|0)+16+4>>2]=-1;b=Bh(k[m>>2]|0,544,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0};k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[u+16>>2]=0;k[u+20>>2]=0;k[u+24>>2]=0;k[u+28>>2]=0;k[u>>2]=k[q>>2];k[k[q>>2]>>2]=k[m>>2];k[(k[q>>2]|0)+420>>2]=k[h>>2];k[(k[q>>2]|0)+416>>2]=k[s>>2];k[(k[q>>2]|0)+496>>2]=k[k[g>>2]>>2];i[(k[q>>2]|0)+440>>0]=i[(k[g>>2]|0)+8>>0]|0;k[(k[q>>2]|0)+428>>2]=k[(k[f>>2]|0)+428>>2];h=jx(k[q>>2]|0)|0;k[v>>2]=h;if(k[v>>2]|0){b=k[v>>2]|0;h=k[m>>2]|0;k[w>>2]=k[k[g>>2]>>2];Uh(b,-1,Oh(h,35401,w)|0,-1);if(k[(k[g>>2]|0)+12>>2]|0){w=Ky(k[m>>2]|0,k[(k[g>>2]|0)+12>>2]|0,0)|0;k[t>>2]=w;if(0==(Cy(u,k[t>>2]|0)|0)?(l[(k[m>>2]|0)+69>>0]|0|0)==0:0){w=Zz(k[v>>2]|0)|0;k[n>>2]=w;gB(k[q>>2]|0,k[t>>2]|0,k[n>>2]|0,16)}qv(k[m>>2]|0,k[t>>2]|0)}lF(k[q>>2]|0,k[(k[g>>2]|0)+28>>2]|0,k[j>>2]|0)|0;if(k[n>>2]|0)bA(k[v>>2]|0,k[n>>2]|0);tx(k[v>>2]|0,73)|0;mF(k[f>>2]|0,k[q>>2]|0);if(!(l[(k[m>>2]|0)+69>>0]|0)){w=nF(k[v>>2]|0,(k[p>>2]|0)+4|0,(k[s>>2]|0)+400|0)|0;k[k[p>>2]>>2]=w}k[(k[p>>2]|0)+8>>2]=k[(k[q>>2]|0)+76>>2];k[(k[p>>2]|0)+12>>2]=k[(k[q>>2]|0)+72>>2];k[(k[p>>2]|0)+16>>2]=k[(k[q>>2]|0)+84>>2];k[(k[p>>2]|0)+20>>2]=k[g>>2];k[(k[o>>2]|0)+16>>2]=k[(k[q>>2]|0)+432>>2];k[(k[o>>2]|0)+16+4>>2]=k[(k[q>>2]|0)+436>>2];kv(k[v>>2]|0)}Xh(k[q>>2]|0);bg(k[m>>2]|0,k[q>>2]|0);k[e>>2]=k[o>>2];w=k[e>>2]|0;r=x;return w|0}function kF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[e>>2]|0)+24>>2]=k[(k[d>>2]|0)+192>>2];k[(k[d>>2]|0)+192>>2]=k[e>>2];r=c;return}function lF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+44|0;o=n+40|0;e=n+36|0;h=n+32|0;m=n+28|0;f=n+24|0;j=n+4|0;g=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[m>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[o>>2];while(1){if(!(k[h>>2]|0))break;if((k[e>>2]|0)==10)c=i[(k[h>>2]|0)+1>>0]|0;else c=k[e>>2]&255;i[(k[d>>2]|0)+441>>0]=c;switch(l[k[h>>2]>>0]|0|0){case 110:{a=k[d>>2]|0;b=gG(k[d>>2]|0,k[h>>2]|0)|0;o=Sy(k[f>>2]|0,k[(k[h>>2]|0)+20>>2]|0,0)|0;mw(a,b,o,Ky(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0,l[(k[d>>2]|0)+441>>0]|0);break}case 108:{a=k[d>>2]|0;b=gG(k[d>>2]|0,k[h>>2]|0)|0;o=by(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;nw(a,b,o,Kz(k[f>>2]|0,k[(k[h>>2]|0)+24>>2]|0)|0,l[(k[d>>2]|0)+441>>0]|0);break}case 109:{o=k[d>>2]|0;kw(o,gG(k[d>>2]|0,k[h>>2]|0)|0,Ky(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0);break}default:{o=by(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;k[g>>2]=o;uB(j,4,0);Xv(k[d>>2]|0,k[g>>2]|0,j)|0;nv(k[f>>2]|0,k[g>>2]|0)}}if((l[k[h>>2]>>0]|0|0)!=119)tx(k[m>>2]|0,116)|0;k[h>>2]=k[(k[h>>2]|0)+28>>2]}r=n;return 0}function mF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if(!(k[(k[c>>2]|0)+68>>2]|0)){k[(k[c>>2]|0)+4>>2]=k[b+4>>2];k[(k[c>>2]|0)+68>>2]=k[(k[d>>2]|0)+68>>2];k[(k[c>>2]|0)+12>>2]=k[(k[d>>2]|0)+12>>2];r=e;return}else{bg(k[b>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=e;return}}function nF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[(k[f>>2]|0)+4>>2];oF(k[f>>2]|0,k[h>>2]|0);k[k[g>>2]>>2]=k[(k[f>>2]|0)+32>>2];k[(k[f>>2]|0)+4>>2]=0;r=e;return k[d>>2]|0}function oF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;c=n+24|0;d=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;e=n+4|0;f=n;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[k[d>>2]>>2];k[j>>2]=k[(k[c>>2]|0)+24>>2];k[e>>2]=k[(k[j>>2]|0)+120>>2];b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-33|32;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-65;k[h>>2]=(k[(k[c>>2]|0)+4>>2]|0)+(((k[(k[c>>2]|0)+32>>2]|0)-1|0)*20|0);while(1){if((l[k[h>>2]>>0]|0|0)<=69){switch(l[k[h>>2]>>0]|0|0){case 2:{if(k[(k[h>>2]|0)+8>>2]|0){m=(k[c>>2]|0)+89|0;i[m>>0]=i[m>>0]&-33;m=6}else m=6;break}case 0:case 1:{m=6;break}case 9:case 10:case 8:{b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-33;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-65|64;break}case 12:{if((k[(k[h>>2]|0)+8>>2]|0)>(k[g>>2]|0))k[g>>2]=k[(k[h>>2]|0)+8>>2];break}case 11:{k[f>>2]=k[(k[h>>2]|0)+-20+4>>2];if((k[f>>2]|0)>(k[g>>2]|0))k[g>>2]=k[f>>2];break}case 3:case 5:case 7:{k[(k[h>>2]|0)+16>>2]=200;i[(k[h>>2]|0)+1>>0]=-19;break}case 4:case 6:{k[(k[h>>2]|0)+16>>2]=201;i[(k[h>>2]|0)+1>>0]=-19;break}default:{}}if((m|0)==6){m=0;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-65|64}if(((l[35415+(l[k[h>>2]>>0]|0)>>0]|0)&1|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<0:0)k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+(-1-(k[(k[h>>2]|0)+8>>2]|0)<<2)>>2]}if((k[h>>2]|0)==(k[(k[c>>2]|0)+4>>2]|0))break;k[h>>2]=(k[h>>2]|0)+-20}bg(k[k[c>>2]>>2]|0,k[(k[j>>2]|0)+120>>2]|0);k[(k[j>>2]|0)+120>>2]=0;k[(k[j>>2]|0)+116>>2]=0;k[k[d>>2]>>2]=k[g>>2];r=n;return}function pF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;k[k[e>>2]>>2]=0;a=k[d>>2]|0;if((l[(k[d>>2]|0)+66>>0]|0)!=1){f=eG(a,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}k[f>>2]=k[(k[d>>2]|0)+120+(i[a+68>>0]<<2)>>2];a=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;b=(j[a>>1]|0)+1<<16>>16;j[a>>1]=b;if((b&65535|0)>=(m[(k[f>>2]|0)+18>>1]|0)){f=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[f>>1]=(j[f>>1]|0)+-1<<16>>16;f=eG(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}if(i[(k[f>>2]|0)+4>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{f=fG(k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}return 0}function qF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[k[e>>2]>>2]=0;b=(k[d>>2]|0)+64|0;i[b>>0]=l[b>>0]&-15;j[(k[d>>2]|0)+16+18>>1]=0;if(((l[(k[d>>2]|0)+66>>0]|0)==1?(m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(l[(k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+-1<<16>>16;k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}b=rF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function rF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;h=o+8|0;g=o+4|0;c=o;k[e>>2]=a;k[f>>2]=b;if((l[(k[e>>2]|0)+66>>0]|0)!=1){if((l[(k[e>>2]|0)+66>>0]|0)>=3)a=sF(k[e>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}if(!(l[(k[e>>2]|0)+66>>0]|0)){k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}if((k[(k[e>>2]|0)+60>>2]|0)!=0?(i[(k[e>>2]|0)+66>>0]=1,b=(k[(k[e>>2]|0)+60>>2]|0)<0,k[(k[e>>2]|0)+60>>2]=0,b):0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];do if(i[(k[g>>2]|0)+4>>0]|0){while(1){a=i[(k[e>>2]|0)+68>>0]|0;if(m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1]|0)break;b=k[e>>2]|0;if(!a){n=17;break}vF(b)}if((n|0)==17){i[b+66>>0]=0;k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+80+(a<<1)|0;j[n>>1]=(j[n>>1]|0)+-1<<16>>16;k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];if((l[(k[g>>2]|0)+2>>0]|0)!=0?(i[(k[g>>2]|0)+4>>0]|0)==0:0){n=qF(k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=n;break}k[h>>2]=0}else{k[c>>2]=m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1];n=k[e>>2]|0;n=tF(n,or((k[(k[g>>2]|0)+56>>2]|0)+(m[(k[g>>2]|0)+20>>1]&(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[h>>2]=n;if(!(k[h>>2]|0)){n=uF(k[e>>2]|0)|0;k[h>>2]=n;break}k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}function sF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0|0)==4){k[b>>2]=k[a+60>>2];e=k[b>>2]|0;r=f;return e|0}i[a+66>>0]=0;a=(k[c>>2]|0)+40|0;a=zF(k[c>>2]|0,k[(k[c>>2]|0)+48>>2]|0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(((k[d>>2]|0)==0?(Ud(k[(k[c>>2]|0)+48>>2]|0),k[(k[c>>2]|0)+48>>2]=0,a=(k[c>>2]|0)+60|0,k[a>>2]=k[a>>2]|k[e>>2],(k[(k[c>>2]|0)+60>>2]|0)!=0):0)?(l[(k[c>>2]|0)+66>>0]|0|0)==1:0)i[(k[c>>2]|0)+66>>0]=2;k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}function tF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];if((i[(k[d>>2]|0)+68>>0]|0)>=19){a=Yj(62497)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}else{j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;a=(k[d>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;j[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]=0;a=wF(k[f>>2]|0,k[e>>2]|0,(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)|0,k[d>>2]|0,l[(k[d>>2]|0)+65>>0]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}return 0}function uF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[c>>2]=0;while(1){a=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;b=k[c>>2]|0;if(!((i[a+4>>0]|0)!=0^1)){a=5;break}b=or((k[(k[c>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0;k[d>>2]=b;j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=j[(k[c>>2]|0)+18>>1]|0;b=tF(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){a=4;break}}if((a|0)==4){k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}else if((a|0)==5){j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=(m[b+18>>1]|0)-1;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}return 0}function vF(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;j[(k[c>>2]|0)+16+18>>1]=0;d=(k[c>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-7;d=(k[c>>2]|0)+68|0;a=i[d>>0]|0;i[d>>0]=a+-1<<24>>24;PB(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0);r=b;return}function wF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;p=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;c=k[h>>2]|0;a:do if(c>>>0<=(xF(k[g>>2]|0)|0)>>>0){c=Eg(k[k[g>>2]>>2]|0,k[h>>2]|0,p,k[o>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){c=au(k[p>>2]|0)|0;k[k[j>>2]>>2]=c;if((l[k[k[j>>2]>>2]>>0]|0|0)==0?(yF(k[p>>2]|0,k[h>>2]|0,k[g>>2]|0)|0,c=cu(k[k[j>>2]>>2]|0)|0,k[q>>2]=c,(k[q>>2]|0)!=0):0){NB(k[k[j>>2]>>2]|0);break}do if(k[n>>2]|0){if((m[(k[k[j>>2]>>2]|0)+18>>1]|0|0)>=1?(l[(k[k[j>>2]>>2]|0)+2>>0]|0|0)==(l[(k[n>>2]|0)+69>>0]|0|0):0)break;c=Yj(59739)|0;k[q>>2]=c;NB(k[k[j>>2]>>2]|0);break a}while(0);k[f>>2]=0;q=k[f>>2]|0;r=s;return q|0}}else{c=Yj(59717)|0;k[q>>2]=c}while(0);if(k[n>>2]|0){c=(k[n>>2]|0)+68|0;i[c>>0]=(i[c>>0]|0)+-1<<24>>24}k[f>>2]=k[q>>2];q=k[f>>2]|0;r=s;return q|0}function xF(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+44>>2]|0}function yF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=au(k[d>>2]|0)|0;k[g>>2]=b;if((k[e>>2]|0)==(k[(k[g>>2]|0)+84>>2]|0)){b=k[g>>2]|0;r=h;return b|0}b=Fg(k[d>>2]|0)|0;k[(k[g>>2]|0)+56>>2]=b;k[(k[g>>2]|0)+72>>2]=k[d>>2];k[(k[g>>2]|0)+52>>2]=k[f>>2];k[(k[g>>2]|0)+84>>2]=k[e>>2];i[(k[g>>2]|0)+5>>0]=(k[e>>2]|0)==1?100:0;b=k[g>>2]|0;r=h;return b|0}function zF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+240|0;g=s+36|0;h=s+32|0;i=s+28|0;j=s;l=s+24|0;n=s+20|0;q=s+16|0;p=s+12|0;o=s+8|0;k[h>>2]=a;k[i>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[l>>2]=e;k[n>>2]=f;k[o>>2]=0;if(k[i>>2]|0){f=AF(k[(k[h>>2]|0)+72>>2]|0,s+40|0,200,o)|0;k[p>>2]=f;if(!(k[p>>2]|0)){k[g>>2]=7;q=k[g>>2]|0;r=s;return q|0}BF(k[(k[h>>2]|0)+72>>2]|0,k[j>>2]|0,k[i>>2]|0,k[p>>2]|0);if(!(m[(k[p>>2]|0)+8>>1]|0)){bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);q=Yj(58497)|0;k[g>>2]=q;q=k[g>>2]|0;r=s;return q|0}}else k[p>>2]=0;f=j;f=CF(k[h>>2]|0,k[p>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[q>>2]=f;if(k[o>>2]|0)bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);k[g>>2]=k[q>>2];q=k[g>>2]|0;r=s;return q|0}function AF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;p=o+16|0;h=o+12|0;n=o+8|0;l=o+4|0;i=o;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[h>>2]=d;k[l>>2]=8-(k[g>>2]&7)&7;k[i>>2]=16+(((m[(k[f>>2]|0)+6>>1]|0)+1|0)*40|0);if((k[i>>2]|0)>((k[p>>2]|0)+(k[l>>2]|0)|0)){p=k[i>>2]|0;p=Kh(k[(k[f>>2]|0)+12>>2]|0,p,((p|0)<0)<<31>>31)|0;k[n>>2]=p;k[k[h>>2]>>2]=k[n>>2];if(!(k[n>>2]|0)){k[e>>2]=0;p=k[e>>2]|0;r=o;return p|0}}else{k[n>>2]=(k[g>>2]|0)+(k[l>>2]|0);k[k[h>>2]>>2]=0}k[(k[n>>2]|0)+4>>2]=(k[n>>2]|0)+16;k[k[n>>2]>>2]=k[f>>2];j[(k[n>>2]|0)+8>>1]=(m[(k[f>>2]|0)+6>>1]|0)+1;k[e>>2]=k[n>>2];p=k[e>>2]|0;r=o;return p|0}function BF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;v=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;n=u+12|0;t=u+40|0;q=u+8|0;o=u+4|0;p=u;k[e>>2]=a;k[f>>2]=b;k[v>>2]=c;k[s>>2]=d;k[g>>2]=k[v>>2];k[o>>2]=k[(k[s>>2]|0)+4>>2];i[(k[s>>2]|0)+10>>0]=0;b=k[g>>2]|0;if((l[k[g>>2]>>0]|0|0)<128){k[q>>2]=l[b>>0];b=1}else b=(RF(b,q)|0)&255;k[n>>2]=b&255;k[h>>2]=k[q>>2];j[t>>1]=0;while(1){if((k[n>>2]|0)>>>0>=(k[q>>2]|0)>>>0){b=11;break}if((k[h>>2]|0)>(k[f>>2]|0)){b=11;break}b=(k[g>>2]|0)+(k[n>>2]|0)|0;if((l[(k[g>>2]|0)+(k[n>>2]|0)>>0]|0|0)<128){k[p>>2]=l[b>>0];b=1}else b=(RF(b,p)|0)&255;k[n>>2]=(k[n>>2]|0)+(b&255);i[(k[o>>2]|0)+10>>0]=i[(k[e>>2]|0)+4>>0]|0;k[(k[o>>2]|0)+32>>2]=k[(k[e>>2]|0)+12>>2];k[(k[o>>2]|0)+24>>2]=0;k[(k[o>>2]|0)+16>>2]=0;v=TF((k[g>>2]|0)+(k[h>>2]|0)|0,k[p>>2]|0,k[o>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+v;k[o>>2]=(k[o>>2]|0)+40;v=(j[t>>1]|0)+1<<16>>16;j[t>>1]=v;if((v&65535|0)>=(m[(k[s>>2]|0)+8>>1]|0|0)){b=11;break}}if((b|0)==11){j[(k[s>>2]|0)+8>>1]=j[t>>1]|0;r=u;return}}function CF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;g=F+80|0;h=F+76|0;n=F+72|0;o=F+8|0;p=F+68|0;q=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;if(((l[(k[h>>2]|0)+66>>0]|0)==1?(l[(k[h>>2]|0)+64>>0]&2|0)!=0:0)?(l[(k[h>>2]|0)+69>>0]|0)!=0:0){b=(k[h>>2]|0)+16|0;f=o;if((k[b>>2]|0)==(k[f>>2]|0)?(k[b+4>>2]|0)==(k[f+4>>2]|0):0){k[k[q>>2]>>2]=0;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}if((l[(k[h>>2]|0)+64>>0]&8|0)!=0?(b=(k[h>>2]|0)+16|0,e=k[b+4>>2]|0,f=o,a=k[f+4>>2]|0,(e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)):0){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}}if(k[n>>2]|0){f=DF(k[n>>2]|0)|0;k[E>>2]=f;i[(k[n>>2]|0)+11>>0]=0}else k[E>>2]=0;f=EF(k[h>>2]|0)|0;k[C>>2]=f;if(k[C>>2]|0){k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}if(!(l[(k[h>>2]|0)+66>>0]|0)){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}a:do{k[B>>2]=k[(k[h>>2]|0)+120+(i[(k[h>>2]|0)+68>>0]<<2)>>2];k[v>>2]=0;k[D>>2]=(m[(k[B>>2]|0)+18>>1]|0)-1;k[u>>2]=k[D>>2]>>1-(k[p>>2]|0);j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];b:do if(!(k[E>>2]|0)){while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));c:do if(i[(k[B>>2]|0)+3>>0]|0)while(1){f=k[y>>2]|0;k[y>>2]=f+1;if(128>(l[f>>0]|0))break c;if((k[y>>2]|0)>>>0>=(k[(k[B>>2]|0)+60>>2]|0)>>>0){d=20;break a}}while(0);ku(k[y>>2]|0,x)|0;b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if((e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)){k[v>>2]=(k[u>>2]|0)+1;if((k[v>>2]|0)>(k[D>>2]|0)){d=23;break}}else{b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if(!((e|0)>(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0:0))){d=27;break}k[D>>2]=(k[u>>2]|0)-1;if((k[v>>2]|0)>(k[D>>2]|0)){d=26;break}}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}if((d|0)==23){k[s>>2]=-1;d=51;break}else if((d|0)==26){k[s>>2]=1;d=51;break}else if((d|0)==27){d=0;a=(k[h>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;a=x;b=k[a+4>>2]|0;f=(k[h>>2]|0)+16|0;k[f>>2]=k[a>>2];k[f+4>>2]=b;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[B>>2]|0)+4>>0]|0){d=29;break a}k[v>>2]=k[u>>2];break}}else while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));k[w>>2]=l[k[y>>2]>>0];do if((k[w>>2]|0)<=(l[(k[B>>2]|0)+7>>0]|0)){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+1|0,k[n>>2]|0)|0;k[s>>2]=f}else{if((l[(k[y>>2]|0)+1>>0]&128|0)==0?(f=((k[w>>2]&127)<<7)+(l[(k[y>>2]|0)+1>>0]|0)|0,k[w>>2]=f,(f|0)<=(m[(k[B>>2]|0)+10>>1]|0)):0){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+2|0,k[n>>2]|0)|0;k[s>>2]=f;break}k[z>>2]=(k[y>>2]|0)+(0-(l[(k[B>>2]|0)+6>>0]|0));cc[k[(k[B>>2]|0)+80>>2]&255](k[B>>2]|0,k[z>>2]|0,(k[h>>2]|0)+16|0);k[w>>2]=k[(k[h>>2]|0)+16>>2];if((k[w>>2]|0)<2){d=37;break a}f=(k[w>>2]|0)+18|0;f=jg(f,((f|0)<0)<<31>>31)|0;k[A>>2]=f;if(!(k[A>>2]|0)){d=39;break a}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];f=FF(k[h>>2]|0,0,k[w>>2]|0,k[A>>2]|0,2)|0;k[C>>2]=f;if(k[C>>2]|0){d=41;break a}f=Yb[k[E>>2]&255](k[w>>2]|0,k[A>>2]|0,k[n>>2]|0)|0;k[s>>2]=f;Ud(k[A>>2]|0)}while(0);if((k[s>>2]|0)<0)k[v>>2]=(k[u>>2]|0)+1;else{if((k[s>>2]|0)<=0){d=47;break a}k[D>>2]=(k[u>>2]|0)-1}if((k[v>>2]|0)>(k[D>>2]|0)){d=51;break b}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}while(0);if((d|0)==51?(d=0,(i[(k[B>>2]|0)+4>>0]|0)!=0):0){d=52;break}c=k[B>>2]|0;if((k[v>>2]|0)>=(m[(k[B>>2]|0)+18>>1]|0)){f=or((k[(k[B>>2]|0)+56>>2]|0)+((l[c+5>>0]|0)+8)|0)|0;k[t>>2]=f}else{f=or((k[c+56>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)+1>>0]))|0)|0;k[t>>2]=f}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[v>>2];f=tF(k[h>>2]|0,k[t>>2]|0)|0;k[C>>2]=f}while((k[C>>2]|0)==0);if((d|0)==20){E=Yj(62874)|0;k[g>>2]=E;E=k[g>>2]|0;r=F;return E|0}else if((d|0)==29){k[k[q>>2]>>2]=0;k[C>>2]=0}else if((d|0)==37){E=Yj(62947)|0;k[C>>2]=E}else if((d|0)==39)k[C>>2]=7;else if((d|0)==41)Ud(k[A>>2]|0);else if((d|0)==47){k[k[q>>2]>>2]=0;k[C>>2]=0;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[n>>2]|0)+11>>0]|0)k[C>>2]=11}else if((d|0)==52){j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];k[k[q>>2]>>2]=k[s>>2];k[C>>2]=0}j[(k[h>>2]|0)+16+18>>1]=0;E=(k[h>>2]|0)+64|0;i[E>>0]=l[E>>0]&-7;k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}function DF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(((m[(k[k[c>>2]>>2]|0)+6>>1]|0)+(m[(k[k[c>>2]>>2]|0)+8>>1]|0)|0)<=13){k[d>>2]=m[(k[(k[c>>2]|0)+4>>2]|0)+8>>1];a=(k[c>>2]|0)+12|0;if(i[k[(k[k[c>>2]>>2]|0)+16>>2]>>0]|0){i[a>>0]=1;i[(k[c>>2]|0)+13>>0]=-1}else{i[a>>0]=-1;i[(k[c>>2]|0)+13>>0]=1}if(k[d>>2]&4){k[b>>2]=160;d=k[b>>2]|0;r=e;return d|0}if((k[d>>2]&25|0)==0?(k[(k[k[c>>2]>>2]|0)+20>>2]|0)==0:0){k[b>>2]=161;d=k[b>>2]|0;r=e;return d|0}}k[b>>2]=162;d=k[b>>2]|0;r=e;return d|0}function EF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=0;do if((l[(k[c>>2]|0)+66>>0]|0)>=3){a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0)!=4){MB(a);break}k[b>>2]=k[a+60>>2];f=k[b>>2]|0;r=g;return f|0}while(0);a:do if((i[(k[c>>2]|0)+68>>0]|0)>=0)while(1){if(!(i[(k[c>>2]|0)+68>>0]|0))break a;h=(k[c>>2]|0)+68|0;a=i[h>>0]|0;i[h>>0]=a+-1<<24>>24;PB(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0)}else{a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+52>>2]|0)){i[a+66>>0]=0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}a=wF(k[(k[a>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+52>>2]|0,(k[c>>2]|0)+120|0,0,l[(k[c>>2]|0)+65>>0]|0)|0;k[e>>2]=a;a=k[c>>2]|0;if(!(k[e>>2]|0)){i[a+68>>0]=0;i[(k[c>>2]|0)+69>>0]=i[(k[(k[c>>2]|0)+120>>2]|0)+2>>0]|0;break}i[a+66>>0]=0;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}while(0);k[d>>2]=k[(k[c>>2]|0)+120>>2];if((l[k[d>>2]>>0]|0)!=0?((k[(k[c>>2]|0)+72>>2]|0)==0|0)==(l[(k[d>>2]|0)+2>>0]|0):0){j[(k[c>>2]|0)+80>>1]=0;j[(k[c>>2]|0)+16+18>>1]=0;h=(k[c>>2]|0)+64|0;i[h>>0]=l[h>>0]&-15;do if((m[(k[d>>2]|0)+18>>1]|0)>0)i[(k[c>>2]|0)+66>>0]=1;else{if(i[(k[d>>2]|0)+4>>0]|0){i[(k[c>>2]|0)+66>>0]=0;break}if((k[(k[d>>2]|0)+84>>2]|0)==1){h=or((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0)|0;k[f>>2]=h;i[(k[c>>2]|0)+66>>0]=1;h=tF(k[c>>2]|0,k[f>>2]|0)|0;k[e>>2]=h;break}h=Yj(62635)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}while(0);k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}h=Yj(62624)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function FF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+80|0;f=C+68|0;g=C+64|0;h=C+60|0;j=C+56|0;n=C+52|0;o=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;p=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;q=C+4|0;z=C;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;k[B>>2]=0;k[u>>2]=0;k[A>>2]=k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2];k[y>>2]=k[(k[g>>2]|0)+4>>2];GF(k[g>>2]|0);k[t>>2]=k[(k[g>>2]|0)+16+8>>2];if(((k[t>>2]|0)-(k[(k[A>>2]|0)+56>>2]|0)|0)>>>0>((k[(k[y>>2]|0)+36>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)|0)>>>0){B=Yj(62208)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}if((k[h>>2]|0)>>>0<(m[(k[g>>2]|0)+16+16>>1]|0)>>>0){k[p>>2]=k[j>>2];if(((k[p>>2]|0)+(k[h>>2]|0)|0)>>>0>(m[(k[g>>2]|0)+16+16>>1]|0)>>>0)k[p>>2]=(m[(k[g>>2]|0)+16+16>>1]|0)-(k[h>>2]|0);A=HF((k[t>>2]|0)+(k[h>>2]|0)|0,k[n>>2]|0,k[p>>2]|0,k[o>>2]&1,k[(k[A>>2]|0)+72>>2]|0)|0;k[B>>2]=A;k[h>>2]=0;k[n>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[p>>2]|0)}else k[h>>2]=(k[h>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0);a:do if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){k[x>>2]=(k[(k[y>>2]|0)+36>>2]|0)-4;A=or((k[t>>2]|0)+(m[(k[g>>2]|0)+16+16>>1]|0)|0)|0;k[w>>2]=A;if((k[o>>2]|0)!=2?(l[(k[g>>2]|0)+64>>0]&4|0)==0:0){k[v>>2]=(((k[(k[g>>2]|0)+16+12>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)+(k[x>>2]|0)-1|0)>>>0)/((k[x>>2]|0)>>>0)|0;do if((k[v>>2]|0)>(k[(k[g>>2]|0)+56>>2]|0)){A=mg(k[(k[g>>2]|0)+12>>2]|0,k[v>>2]<<1<<2,0)|0;k[s>>2]=A;if(!(k[s>>2]|0)){k[B>>2]=7;break}else{k[(k[g>>2]|0)+56>>2]=k[v>>2]<<1;k[(k[g>>2]|0)+12>>2]=k[s>>2];break}}while(0);if(!(k[B>>2]|0)){KR(k[(k[g>>2]|0)+12>>2]|0,0,k[v>>2]<<2|0)|0;A=(k[g>>2]|0)+64|0;i[A>>0]=l[A>>0]|4}}if((l[(k[g>>2]|0)+64>>0]&4|0)!=0?(k[(k[(k[g>>2]|0)+12>>2]|0)+((((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){k[u>>2]=((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0;k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2];k[h>>2]=((k[h>>2]|0)>>>0)%((k[x>>2]|0)>>>0)|0}while(1){if(!((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0&(k[w>>2]|0)!=0))break a;if(l[(k[g>>2]|0)+64>>0]&4)k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2]=k[w>>2];if((k[h>>2]|0)>>>0>=(k[x>>2]|0)>>>0){if(k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2]|0)k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2];else{A=IF(k[y>>2]|0,k[w>>2]|0,0,w)|0;k[B>>2]=A}k[h>>2]=(k[h>>2]|0)-(k[x>>2]|0)}else{k[q>>2]=k[j>>2];if(((k[q>>2]|0)+(k[h>>2]|0)|0)>>>0>(k[x>>2]|0)>>>0)k[q>>2]=(k[x>>2]|0)-(k[h>>2]|0);A=Eg(k[k[y>>2]>>2]|0,k[w>>2]|0,z,(k[o>>2]&1|0)==0?2:0)|0;k[B>>2]=A;if(!(k[B>>2]|0)){A=Fg(k[z>>2]|0)|0;k[t>>2]=A;A=or(k[t>>2]|0)|0;k[w>>2]=A;A=HF((k[t>>2]|0)+((k[h>>2]|0)+4)|0,k[n>>2]|0,k[q>>2]|0,k[o>>2]&1,k[z>>2]|0)|0;k[B>>2]=A;Hg(k[z>>2]|0);k[h>>2]=0}k[j>>2]=(k[j>>2]|0)-(k[q>>2]|0);k[n>>2]=(k[n>>2]|0)+(k[q>>2]|0)}k[u>>2]=(k[u>>2]|0)+1}}while(0);if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){B=Yj(62365)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}else{k[f>>2]=k[B>>2];B=k[f>>2]|0;r=C;return B|0}return 0}function GF(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(m[(k[b>>2]|0)+16+18>>1]|0){r=d;return}k[c>>2]=i[(k[b>>2]|0)+68>>0];a=(k[b>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;MF(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0,m[(k[b>>2]|0)+80+(k[c>>2]<<1)>>1]|0,(k[b>>2]|0)+16|0);r=d;return}function HF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[n>>2]=d;k[j>>2]=e;do if(k[n>>2]|0){n=Pg(k[j>>2]|0)|0;k[l>>2]=n;if(!(k[l>>2]|0)){IR(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;break}k[f>>2]=k[l>>2];n=k[f>>2]|0;r=m;return n|0}else IR(k[h>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;while(0);k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}function IF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;j=s;h=s+36|0;k[e>>2]=a;k[f>>2]=b;k[p>>2]=c;k[g>>2]=d;k[m>>2]=0;k[n>>2]=0;k[q>>2]=0;if(i[(k[e>>2]|0)+17>>0]|0){k[j>>2]=(k[f>>2]|0)+1;while(1){c=JF(k[e>>2]|0,k[j>>2]|0)|0;if((c|0)==(k[j>>2]|0))a=1;else a=(k[j>>2]|0)==((((k[381]|0)>>>0)/((k[(k[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}if(((b>>>0<=(xF(k[e>>2]|0)|0)>>>0?(c=KF(k[e>>2]|0,k[j>>2]|0,h,o)|0,k[q>>2]=c,(k[q>>2]|0)==0):0)?(l[h>>0]|0)==4:0)?(k[o>>2]|0)==(k[f>>2]|0):0){k[m>>2]=k[j>>2];k[q>>2]=101}}if((k[q>>2]|0)==0?(o=LF(k[e>>2]|0,k[f>>2]|0,n,(k[p>>2]|0)==0?2:0)|0,k[q>>2]=o,(k[q>>2]|0)==0):0){o=or(k[(k[n>>2]|0)+56>>2]|0)|0;k[m>>2]=o}k[k[g>>2]>>2]=k[m>>2];b=k[n>>2]|0;if(k[p>>2]|0){k[k[p>>2]>>2]=b;p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}else{NB(b);p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}return 0}function JF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>>>0<2){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[g>>2]=(((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0)+1;k[f>>2]=(((k[e>>2]|0)-2|0)>>>0)/((k[g>>2]|0)>>>0)|0;b=(ha(k[f>>2]|0,k[g>>2]|0)|0)+2|0;k[h>>2]=b;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+1;k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}function KF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+36|0;s=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;n=q+16|0;j=q+12|0;o=q+8|0;m=q+4|0;p=q;k[s>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=JF(k[s>>2]|0,k[f>>2]|0)|0;k[j>>2]=d;d=Eg(k[k[s>>2]>>2]|0,k[j>>2]|0,n,0)|0;k[p>>2]=d;if(k[p>>2]|0){k[e>>2]=k[p>>2];s=k[e>>2]|0;r=q;return s|0}s=Fg(k[n>>2]|0)|0;k[o>>2]=s;k[m>>2]=((k[f>>2]|0)-(k[j>>2]|0)-1|0)*5;if((k[m>>2]|0)<0){Hg(k[n>>2]|0);s=Yj(58716)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}i[k[g>>2]>>0]=i[(k[o>>2]|0)+(k[m>>2]|0)>>0]|0;if(k[h>>2]|0){s=or((k[o>>2]|0)+((k[m>>2]|0)+1)|0)|0;k[k[h>>2]>>2]=s}Hg(k[n>>2]|0);if((l[k[g>>2]>>0]|0|0)>=1?(l[k[g>>2]>>0]|0|0)<=5:0){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}s=Yj(58724)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}function LF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;e=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;m=l+8|0;j=l+4|0;i=l;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;c=Eg(k[k[f>>2]>>2]|0,k[g>>2]|0,i,k[m>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0){k[e>>2]=k[j>>2];m=k[e>>2]|0;r=l;return m|0}else{m=yF(k[i>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[k[h>>2]>>2]=m;k[e>>2]=0;m=k[e>>2]|0;r=l;return m|0}return 0}function MF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;cc[k[(k[g>>2]|0)+80>>2]&255](k[g>>2]|0,(k[(k[g>>2]|0)+56>>2]|0)+((m[(k[g>>2]|0)+20>>1]|0)&((l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)>>0]|0)<<8|(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)+1>>0]|0)))|0,k[e>>2]|0);r=d;return}function NF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;j=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;d=s+36|0;t=s+32|0;q=s+28|0;h=s+24|0;g=s+16|0;f=s+8|0;e=s;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[d>>2]=(k[o>>2]|0)+(l[k[o>>2]>>0]&63);k[t>>2]=l[(k[o>>2]|0)+1>>0];a=k[(k[p>>2]|0)+4>>2]|0;b=k[a+4>>2]|0;c=f;k[c>>2]=k[a>>2];k[c+4>>2]=b;do switch(k[t>>2]|0){case 1:{h=i[k[d>>2]>>0]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 2:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 3:{h=i[k[d>>2]>>0]<<16|l[(k[d>>2]|0)+1>>0]<<8|l[(k[d>>2]|0)+2>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 4:{k[h>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];h=k[h>>2]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 5:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];h=GR(l[(k[d>>2]|0)+2>>0]<<24|l[(k[d>>2]|0)+2+1>>0]<<16|l[(k[d>>2]|0)+2+2>>0]<<8|l[(k[d>>2]|0)+2+3>>0]|0,0,RR(0,1,h|0,((h|0)<0)<<31>>31|0)|0,L|0)|0;t=e;k[t>>2]=h;k[t+4>>2]=L;break}case 6:{t=g;k[t>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];k[t+4>>2]=0;t=k[g>>2]|0;h=g;k[h>>2]=l[(k[d>>2]|0)+4>>0]<<24|l[(k[d>>2]|0)+4+1>>0]<<16|l[(k[d>>2]|0)+4+2>>0]<<8|l[(k[d>>2]|0)+4+3>>0];k[h+4>>2]=t;h=k[g+4>>2]|0;t=e;k[t>>2]=k[g>>2];k[t+4>>2]=h;break}case 8:{t=e;k[t>>2]=0;k[t+4>>2]=0;break}case 9:{t=e;k[t>>2]=1;k[t+4>>2]=0;break}case 7:case 0:{t=PF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}default:{t=PF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}}while(0);h=f;c=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;do if(!((c|0)>(g|0)|((c|0)==(g|0)?(k[h>>2]|0)>>>0>(k[t>>2]|0)>>>0:0))){h=f;f=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;d=k[p>>2]|0;if((f|0)<(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)){k[q>>2]=i[d+13>>0];break}if((m[d+8>>1]|0)>1){t=QF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1)|0;k[q>>2]=t;break}else{k[q>>2]=i[(k[p>>2]|0)+10>>0];i[(k[p>>2]|0)+14>>0]=1;break}}else k[q>>2]=i[(k[p>>2]|0)+12>>0];while(0);k[j>>2]=k[q>>2];t=k[j>>2]|0;r=s;return t|0}function OF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;p=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;d=s+16|0;q=s+12|0;j=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[f>>2];a=(k[h>>2]|0)+1|0;if((l[(k[h>>2]|0)+1>>0]|0)<128)k[d>>2]=l[a>>0];else RF(a,d)|0;do if((k[d>>2]|0)>=12){if(!(k[d>>2]&1)){k[q>>2]=i[(k[g>>2]|0)+13>>0];break}k[o>>2]=l[k[h>>2]>>0];k[n>>2]=((k[d>>2]|0)-12|0)/2|0;if(((k[o>>2]|0)+(k[n>>2]|0)|0)>(k[e>>2]|0)){q=(Yj(74160)|0)&255;i[(k[g>>2]|0)+11>>0]=q;k[p>>2]=0;q=k[p>>2]|0;r=s;return q|0}if((k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0)<(k[n>>2]|0))a=k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0;else a=k[n>>2]|0;k[j>>2]=a;o=VQ((k[h>>2]|0)+(k[o>>2]|0)|0,k[(k[(k[g>>2]|0)+4>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0){a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}k[q>>2]=(k[n>>2]|0)-(k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0);if(!(k[q>>2]|0))if((m[(k[g>>2]|0)+8>>1]|0)>1){o=QF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1)|0;k[q>>2]=o;break}else{k[q>>2]=i[(k[g>>2]|0)+10>>0];i[(k[g>>2]|0)+14>>0]=1;break}else{a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}}else k[q>>2]=i[(k[g>>2]|0)+12>>0];while(0);k[p>>2]=k[q>>2];q=k[p>>2]|0;r=s;return q|0}function PF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=QF(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;r=d;return c|0}function QF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+128|0;A=E+124|0;f=E+120|0;G=E+116|0;B=E+112|0;F=E+108|0;h=E+104|0;n=E+100|0;z=E+96|0;o=E+92|0;D=E+88|0;w=E+84|0;C=E+80|0;g=E+76|0;s=E+16|0;e=E+72|0;y=E+68|0;q=E+8|0;x=E;t=E+64|0;v=E+60|0;u=E+56|0;k[f>>2]=a;k[G>>2]=b;k[B>>2]=c;k[F>>2]=d;k[D>>2]=0;k[w>>2]=k[(k[B>>2]|0)+4>>2];k[C>>2]=k[k[B>>2]>>2];k[g>>2]=k[G>>2];a=k[g>>2]|0;do if(k[F>>2]|0){d=(k[g>>2]|0)+1|0;if((l[a+1>>0]|0)<128){k[e>>2]=l[d>>0];d=1}else d=(RF(d,e)|0)&255;k[o>>2]=1+(d&255);k[z>>2]=l[k[g>>2]>>0];G=k[z>>2]|0;G=G+(SF(k[e>>2]|0)|0)|0;k[h>>2]=G;k[n>>2]=1;k[w>>2]=(k[w>>2]|0)+40}else{d=k[g>>2]|0;if((l[a>>0]|0)<128){k[z>>2]=l[d>>0];d=1}else d=(RF(d,z)|0)&255;k[o>>2]=d&255;k[h>>2]=k[z>>2];if((k[h>>2]|0)>>>0<=(k[f>>2]|0)>>>0){k[n>>2]=0;break}G=(Yj(73878)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}while(0);a:while(1){do if(m[(k[w>>2]|0)+8>>1]&4){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}if((k[y>>2]|0)==7){TF((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;G=k[w>>2]|0;G=0-(UF(k[G>>2]|0,k[G+4>>2]|0,+p[s>>3])|0)|0;k[D>>2]=G;break}c=VF(k[y>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0)|0;G=q;k[G>>2]=c;k[G+4>>2]=L;G=k[w>>2]|0;c=k[G+4>>2]|0;F=x;k[F>>2]=k[G>>2];k[F+4>>2]=c;F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)<(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)){k[D>>2]=-1;break}F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)>(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0))k[D>>2]=1}else{if(m[(k[w>>2]|0)+8>>1]&8){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}TF((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;if((k[y>>2]|0)!=7){G=s;G=UF(k[G>>2]|0,k[G+4>>2]|0,+p[k[w>>2]>>3])|0;k[D>>2]=G;break}if(+p[s>>3]<+p[k[w>>2]>>3]){k[D>>2]=-1;break}if(!(+p[s>>3]>+p[k[w>>2]>>3]))break;k[D>>2]=1;break}if(!(m[(k[w>>2]|0)+8>>1]&2)){d=l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0;if(!(m[(k[w>>2]|0)+8>>1]&16)){k[y>>2]=d;k[D>>2]=(k[y>>2]|0)!=0&1;break}a=(k[g>>2]|0)+(k[o>>2]|0)|0;if((d|0)<128)k[y>>2]=l[a>>0];else RF(a,y)|0;if((k[y>>2]|0)>>>0>=12?(k[y>>2]&1|0)==0:0){k[v>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[v>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=59;break a}if((k[v>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[v>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[u>>2]=d;G=VQ((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[u>>2]|0)|0;k[D>>2]=G;if(k[D>>2]|0)break;k[D>>2]=(k[v>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0);break}k[D>>2]=-1;break}d=(k[g>>2]|0)+(k[o>>2]|0)|0;if((l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0)<128)k[y>>2]=l[d>>0];else RF(d,y)|0;if((k[y>>2]|0)>>>0<12){k[D>>2]=-1;break}if(!(k[y>>2]&1)){k[D>>2]=1;break}k[s+12>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[s+12>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=43;break a}if(k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0){i[s+10>>0]=i[(k[C>>2]|0)+4>>0]|0;k[s+32>>2]=k[(k[C>>2]|0)+12>>2];j[s+8>>1]=2;k[s+16>>2]=(k[g>>2]|0)+(k[h>>2]|0);G=WF(s,k[w>>2]|0,k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0,(k[B>>2]|0)+11|0)|0;k[D>>2]=G;break}if((k[s+12>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[s+12>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[t>>2]=d;G=VQ((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[t>>2]|0)|0;k[D>>2]=G;if(!(k[D>>2]|0))k[D>>2]=(k[s+12>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0)}while(0);a=k[n>>2]|0;if(k[D>>2]|0){d=67;break}k[n>>2]=a+1;k[w>>2]=(k[w>>2]|0)+40;G=SF(k[y>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+G;G=XF(k[y>>2]|0,0)|0;k[o>>2]=(k[o>>2]|0)+G;if((k[o>>2]|0)>>>0>=(k[z>>2]|0)>>>0){d=73;break}if((k[n>>2]|0)>=(m[(k[B>>2]|0)+8>>1]|0)){d=73;break}if((k[h>>2]|0)>>>0>(k[f>>2]|0)>>>0){d=73;break}}if((d|0)==43){G=(Yj(73953)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==59){G=(Yj(73982)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==67){if(i[(k[(k[C>>2]|0)+16>>2]|0)+a>>0]|0)k[D>>2]=0-(k[D>>2]|0);k[A>>2]=k[D>>2];G=k[A>>2]|0;r=E;return G|0}else if((d|0)==73){i[(k[B>>2]|0)+14>>0]=1;k[A>>2]=i[(k[B>>2]|0)+10>>0];G=k[A>>2]|0;r=E;return G|0}return 0}function RF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+25|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;j=m;h=m+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=2;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=3;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+-2;b=ku(k[d>>2]|0,j)|0;i[h>>0]=b;b=j;if(0!=(k[b+4>>2]|0)?1:(k[j>>2]|0)!=(k[b>>2]|0))k[k[e>>2]>>2]=-1;else k[k[e>>2]>>2]=k[j>>2];i[c>>0]=i[h>>0]|0;j=i[c>>0]|0;r=m;return j|0}function SF(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;a=k[d>>2]|0;if((k[d>>2]|0)>>>0>=128){k[b>>2]=((a-12|0)>>>0)/2|0;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=l[35576+a>>0];d=k[b>>2]|0;r=c;return d|0}return 0}function TF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;switch(k[f>>2]|0){case 0:case 11:case 10:{j[(k[g>>2]|0)+8>>1]=1;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}case 1:{c=i[k[e>>2]>>0]|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}case 2:{c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=2;b=k[d>>2]|0;r=h;return b|0}case 3:{c=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=3;b=k[d>>2]|0;r=h;return b|0}case 4:{c=i[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=4;b=k[d>>2]|0;r=h;return b|0}case 5:{b=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];c=GR(b|0,0,RR(0,1,c|0,((c|0)<0)<<31>>31|0)|0,L|0)|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=L;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=6;b=k[d>>2]|0;r=h;return b|0}case 7:case 6:{b=cG(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=h;return b|0}case 9:case 8:{b=k[g>>2]|0;k[b>>2]=(k[f>>2]|0)-8;k[b+4>>2]=0;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}default:{k[(k[g>>2]|0)+16>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(((k[f>>2]|0)-12|0)>>>0)/2|0;j[(k[g>>2]|0)+8>>1]=j[15270+((k[f>>2]&1)<<1)>>1]|0;k[d>>2]=k[(k[g>>2]|0)+12>>2];b=k[d>>2]|0;r=h;return b|0}}return 0}function UF(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;d=i+32|0;e=i+24|0;f=i+16|0;h=i+8|0;g=i;j=e;k[j>>2]=a;k[j+4>>2]=b;p[f>>3]=c;if(+p[f>>3]<-9223372036854775808.0){k[d>>2]=1;j=k[d>>2]|0;r=i;return j|0}if(+p[f>>3]>9223372036854775808.0){k[d>>2]=-1;j=k[d>>2]|0;r=i;return j|0}c=+p[f>>3];l=+W(c)>=1.0?(c>0.0?~~+ia(+V(c/4294967296.0),4294967295.0)>>>0:~~+ga((c-+(~~c>>>0))/4294967296.0)>>>0):0;b=h;k[b>>2]=~~c>>>0;k[b+4>>2]=l;b=e;l=k[b+4>>2]|0;j=h;a=k[j+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?(k[b>>2]|0)>>>0<(k[j>>2]|0)>>>0:0)){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}j=e;a=k[j+4>>2]|0;l=h;b=k[l+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(k[j>>2]|0)>>>0>(k[l>>2]|0)>>>0:0)){l=h;if(((k[l>>2]|0)==0?(k[l+4>>2]|0)==-2147483648:0)&+p[f>>3]>0.0){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}}l=e;p[g>>3]=+((k[l>>2]|0)>>>0)+4294967296.0*+(k[l+4>>2]|0);if(+p[g>>3]<+p[f>>3]){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}if(+p[g>>3]>+p[f>>3]){k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=0;l=k[d>>2]|0;r=i;return l|0}return 0}function VF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+8|0;d=h+24|0;e=h+20|0;g=h+16|0;f=h;k[d>>2]=a;k[e>>2]=b;switch(k[d>>2]|0){case 1:case 0:{f=i[k[e>>2]>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 2:{f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 3:{f=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 4:{k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];f=k[g>>2]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 5:{g=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];f=GR(g|0,0,RR(0,1,f|0,((f|0)<0)<<31>>31|0)|0,L|0)|0;g=c;k[g>>2]=f;k[g+4>>2]=L;break}case 6:{g=f;k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];k[g+4>>2]=0;g=k[f>>2]|0;a=f;k[a>>2]=l[(k[e>>2]|0)+4>>0]<<24|l[(k[e>>2]|0)+4+1>>0]<<16|l[(k[e>>2]|0)+4+2>>0]<<8|l[(k[e>>2]|0)+4+3>>0];k[a+4>>2]=g;a=f;f=k[a+4>>2]|0;g=c;k[g>>2]=k[a>>2];k[g+4>>2]=f;break}default:{g=c;k[g>>2]=(k[d>>2]|0)-8;k[g+4>>2]=0}}g=c;L=k[g+4>>2]|0;r=h;return k[g>>2]|0}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+128|0;e=u+116|0;f=u+112|0;g=u+108|0;h=u+104|0;j=u+100|0;q=u+96|0;s=u+92|0;t=u+88|0;o=u+84|0;p=u+80|0;m=u+40|0;n=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((l[(k[f>>2]|0)+10>>0]|0|0)==(l[(k[h>>2]|0)+4>>0]|0|0)){t=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[e>>2]=t;t=k[e>>2]|0;r=u;return t|0}YF(m,k[(k[f>>2]|0)+32>>2]|0,1);YF(n,k[(k[f>>2]|0)+32>>2]|0,1);ZF(m,k[f>>2]|0,4096);ZF(n,k[g>>2]|0,4096);d=gh(m,i[(k[h>>2]|0)+4>>0]|0)|0;k[s>>2]=d;k[o>>2]=(k[s>>2]|0)==0?0:k[m+12>>2]|0;d=gh(n,i[(k[h>>2]|0)+4>>0]|0)|0;k[t>>2]=d;k[p>>2]=(k[t>>2]|0)==0?0:k[n+12>>2]|0;d=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[o>>2]|0,k[s>>2]|0,k[p>>2]|0,k[t>>2]|0)|0;k[q>>2]=d;if(((k[s>>2]|0)==0|(k[t>>2]|0)==0)&(k[j>>2]|0)!=0)i[k[j>>2]>>0]=7;eh(m);eh(n);k[e>>2]=k[q>>2];t=k[e>>2]|0;r=u;return t|0}function XF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=1;while(1){b=c;b=HR(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=L;a=c;k[a>>2]=b;k[a+4>>2]=f;a=k[d>>2]|0;if(!((b|0)!=0|(f|0)!=0))break;k[d>>2]=a+1}r=e;return a|0}function YF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+4|0;f=d;g=d+8|0;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;j[(k[e>>2]|0)+8>>1]=j[g>>1]|0;k[(k[e>>2]|0)+32>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=0;r=d;return}function ZF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){_F(b,k[e>>2]|0,k[f>>2]|0);r=g;return}c=k[e>>2]|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];k[b+16>>2]=k[c+16>>2];if((m[(k[e>>2]|0)+8>>1]|0)&2048){r=g;return}e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-7169;e=(k[d>>2]|0)+8|0;j[e>>1]=m[e>>1]|0|k[f>>2];r=g;return}function _F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;$F(k[g>>2]|0);ZF(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function $F(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&8192)aG(k[c>>2]|0,k[k[c>>2]>>2]|0)|0;a=k[c>>2]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&1024)){b=k[c>>2]|0;if((m[a+8>>1]|0)&32){bG(k[b>>2]|0);break}if((m[b+8>>1]|0)&64){k[d>>2]=k[k[c>>2]>>2];k[(k[d>>2]|0)+4>>2]=k[(k[k[d>>2]>>2]|0)+180>>2];k[(k[k[d>>2]>>2]|0)+180>>2]=k[d>>2]}}else _b[k[a+36>>2]&255](k[(k[c>>2]|0)+16>>2]|0);while(0);j[(k[c>>2]|0)+8>>1]=1;r=e;return}function aG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+96|0;d=h+80|0;e=h+76|0;g=h+72|0;f=h+40|0;c=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if(!(k[e>>2]|0)){g=k[g>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+16>>2]|0)){g=k[g>>2]|0;r=h;return g|0};k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;b=c;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));j[c+8>>1]=1;k[c+32>>2]=k[(k[d>>2]|0)+32>>2];k[f>>2]=c;k[f+8>>2]=k[d>>2];k[f+4>>2]=k[e>>2];_b[k[(k[e>>2]|0)+16>>2]&255](f);if((k[(k[d>>2]|0)+24>>2]|0)>0)bg(k[(k[d>>2]|0)+32>>2]|0,k[(k[d>>2]|0)+20>>2]|0);b=k[d>>2]|0;a=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(a|0));k[g>>2]=k[f+20>>2];g=k[g>>2]|0;r=h;return g|0}function bG(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];bg(k[(k[b>>2]|0)+4>>2]|0,k[c>>2]|0);k[c>>2]=k[d>>2]}k[k[b>>2]>>2]=0;j[(k[b>>2]|0)+24>>1]=0;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+12>>2]=0;k[(k[b>>2]|0)+20>>2]=0;j[(k[b>>2]|0)+26>>1]=1;r=e;return}function cG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;i=f+20|0;g=f+16|0;d=f+12|0;e=f;h=f+8|0;k[i>>2]=a;k[g>>2]=b;k[d>>2]=c;c=e;k[c>>2]=(l[k[i>>2]>>0]|0)<<24|(l[(k[i>>2]|0)+1>>0]|0)<<16|(l[(k[i>>2]|0)+2>>0]|0)<<8|(l[(k[i>>2]|0)+3>>0]|0);k[c+4>>2]=0;k[h>>2]=(l[(k[i>>2]|0)+4>>0]|0)<<24|(l[(k[i>>2]|0)+4+1>>0]|0)<<16|(l[(k[i>>2]|0)+4+2>>0]|0)<<8|(l[(k[i>>2]|0)+4+3>>0]|0);c=GR(0,k[e>>2]|0,k[h>>2]|0,0)|0;b=e;k[b>>2]=c;k[b+4>>2]=L;if((k[g>>2]|0)==6){g=e;h=k[g+4>>2]|0;i=k[d>>2]|0;k[i>>2]=k[g>>2];k[i+4>>2]=h;j[(k[d>>2]|0)+8>>1]=4;r=f;return 8}else{i=k[d>>2]|0;k[i>>2]=k[e>>2];k[i+4>>2]=k[e+4>>2];i=(dG(+p[k[d>>2]>>3])|0)!=0;j[(k[d>>2]|0)+8>>1]=i?1:8;r=f;return 8}return 0}function dG(a){a=+a;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;f=c+16|0;b=c+24|0;e=c+8|0;d=c;p[f>>3]=a;p[e>>3]=+p[f>>3];p[d>>3]=+p[e>>3];k[b>>2]=+p[e>>3]!=+p[d>>3]&1;r=c;return k[b>>2]|0}function eG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+20|0;d=o+16|0;e=o+12|0;h=o+8|0;f=o+4|0;g=o;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+66>>0]|0)!=1){if((l[(k[d>>2]|0)+66>>0]|0)>=3)a=sF(k[d>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}if(!(l[(k[d>>2]|0)+66>>0]|0)){k[k[e>>2]>>2]=1;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if((k[(k[d>>2]|0)+60>>2]|0)!=0?(i[(k[d>>2]|0)+66>>0]=1,b=(k[(k[d>>2]|0)+60>>2]|0)>0,k[(k[d>>2]|0)+60>>2]=0,b):0){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2];b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;a=(j[b>>1]|0)+1<<16>>16;j[b>>1]=a;k[f>>2]=a&65535;a=(i[(k[g>>2]|0)+4>>0]|0)!=0;if((k[f>>2]|0)<(m[(k[g>>2]|0)+18>>1]|0))if(a){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}else{n=fG(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}if(!a){n=k[d>>2]|0;n=tF(n,or((k[(k[g>>2]|0)+56>>2]|0)+((l[(k[g>>2]|0)+5>>0]|0)+8)|0)|0)|0;k[h>>2]=n;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}else{n=fG(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}}do{if(!(i[(k[d>>2]|0)+68>>0]|0)){n=17;break}vF(k[d>>2]|0);k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]}while((m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[g>>2]|0)+18>>1]|0));if((n|0)==17){k[k[e>>2]>>2]=1;i[(k[d>>2]|0)+66>>0]=0;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if(i[(k[g>>2]|0)+2>>0]|0){n=pF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}else{k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}return 0}function fG(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;while(1){if(k[e>>2]|0){b=5;break}a=k[(k[b>>2]|0)+120+(i[(k[b>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;if(!((i[a+4>>0]|0)!=0^1)){b=5;break}a=or((k[(k[c>>2]|0)+56>>2]|0)+(m[(k[c>>2]|0)+20>>1]&(l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;k[d>>2]=a;a=tF(k[b>>2]|0,k[d>>2]|0)|0;k[e>>2]=a}if((b|0)==5){r=f;return k[e>>2]|0}return 0}function gG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=k[k[h>>2]>>2];b=gw(k[d>>2]|0,0,0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){h=k[f>>2]|0;r=g;return h|0}h=zh(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+8>>2]=h;h=Nh(k[d>>2]|0,k[(k[(k[c>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[e>>2]=h;if(!((k[e>>2]|0)==0|(k[e>>2]|0)>=2)){h=k[f>>2]|0;r=g;return h|0}h=zh(k[d>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+4>>2]=h;h=k[f>>2]|0;r=g;return h|0}function hG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=k[(k[d>>2]|0)+28>>2];qv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);mv(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);nv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);qv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function iG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((tz(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)+4>>2]|0)|0)>=0){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}else if((c|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function jG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0)!=152){r=e;return 0}if((j[(k[d>>2]|0)+32>>1]|0)<0){a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|2;r=e;return 0}if((k[(k[(k[c>>2]|0)+24>>2]|0)+(j[(k[d>>2]|0)+32>>1]<<2)>>2]|0)<0){r=e;return 0}a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|1;r=e;return 0}function kG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;if((m[(k[e>>2]|0)+50>>1]|0)!=(m[(k[f>>2]|0)+50>>1]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}if((l[(k[e>>2]|0)+54>>0]|0)!=(l[(k[f>>2]|0)+54>>0]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0)){c=17;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)!=(j[(k[(k[e>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)){c=8;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)==-2?(My(k[(k[(k[(k[f>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,k[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){c=11;break}if((l[(k[(k[f>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)!=(l[(k[(k[e>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)){c=13;break}if(be(k[(k[(k[f>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[(k[e>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0)|0){c=15;break}k[c>>2]=(k[c>>2]|0)+1}if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==11){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==13){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==17)if(My(k[(k[f>>2]|0)+36>>2]|0,k[(k[e>>2]|0)+36>>2]|0,-1)|0){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else{k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}return 0}function lG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[g>>2]|0)+4>>2]=k[e>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+496>>2];k[(k[e>>2]|0)+496>>2]=k[f>>2];r=d;return}function mG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;e=o+48|0;f=o+44|0;g=o+40|0;h=o+36|0;j=o+16|0;n=o+12|0;m=o+8|0;i=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];c=Nh(k[i>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[l>>2]=c;c=Ky(k[i>>2]|0,k[g>>2]|0,0)|0;k[g>>2]=c;c=gw(k[i>>2]|0,0,0,0)|0;k[m>>2]=c;if(k[m>>2]|0){c=zh(k[i>>2]|0,k[k[f>>2]>>2]|0)|0;k[(k[m>>2]|0)+8+8>>2]=c;c=zh(k[i>>2]|0,k[(k[(k[i>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[(k[m>>2]|0)+8+4>>2]=c}c=_v(k[e>>2]|0,0,k[m>>2]|0,k[g>>2]|0,0,0,0,131072,0,0)|0;k[n>>2]=c;uB(j,12,k[h>>2]|0);Xv(k[e>>2]|0,k[n>>2]|0,j)|0;nv(k[i>>2]|0,k[n>>2]|0);r=o;return}function nG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=r;r=r+96|0;q=F+88|0;H=F+84|0;s=F+80|0;l=F+76|0;m=F+72|0;n=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;p=F+16|0;o=F+8|0;v=F+4|0;u=F;k[q>>2]=a;k[H>>2]=b;k[s>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[G>>2]=g;k[t>>2]=h;k[E>>2]=k[(k[q>>2]|0)+8>>2];k[I>>2]=k[k[q>>2]>>2];c=Xx(k[I>>2]|0,k[s>>2]|0)|0;k[z>>2]=c;k[y>>2]=2+(j[(k[s>>2]|0)+34>>1]|0);k[p>>2]=k[(k[H>>2]|0)+8+44>>2];c=(k[q>>2]|0)+72|0;g=k[c>>2]|0;k[c>>2]=g+1;k[w>>2]=g;g=lx(k[E>>2]|0,105,k[w>>2]|0,k[y>>2]|0)|0;k[u>>2]=g;k[B>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;g=(k[q>>2]|0)+76|0;k[g>>2]=(k[g>>2]|0)+(k[y>>2]|0);g=(k[q>>2]|0)+76|0;c=(k[g>>2]|0)+1|0;k[g>>2]=c;k[C>>2]=c;c=(k[q>>2]|0)+76|0;g=(k[c>>2]|0)+1|0;k[c>>2]=g;k[D>>2]=g;g=mD(k[q>>2]|0,k[H>>2]|0,k[G>>2]|0,0,0,4,0)|0;k[A>>2]=g;if(!(k[A>>2]|0)){r=F;return}lx(k[E>>2]|0,121,k[p>>2]|0,k[B>>2]|0)|0;if(k[m>>2]|0)UA(k[q>>2]|0,k[m>>2]|0,(k[B>>2]|0)+1|0);else lx(k[E>>2]|0,121,k[p>>2]|0,(k[B>>2]|0)+1|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(j[(k[s>>2]|0)+34>>1]|0))break;if((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)>=0)UA(k[q>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0);else px(k[E>>2]|0,154,k[p>>2]|0,k[x>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}l=oG(k[A>>2]|0,o)|0;k[v>>2]=l;l=k[E>>2]|0;if(k[v>>2]|0){MA(l,k[u>>2]|0)|0;if(!(k[(k[q>>2]|0)+416>>2]|0))i[(k[q>>2]|0)+20>>0]=0}else{px(l,96,k[B>>2]|0,k[y>>2]|0,k[C>>2]|0)|0;lx(k[E>>2]|0,112,k[w>>2]|0,k[D>>2]|0)|0;px(k[E>>2]|0,113,k[w>>2]|0,k[C>>2]|0,k[D>>2]|0)|0}a:do if(!(k[v>>2]|0)){nD(k[A>>2]|0);I=Uz(k[E>>2]|0,55,k[w>>2]|0)|0;k[u>>2]=I;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break a;px(k[E>>2]|0,94,k[w>>2]|0,k[x>>2]|0,(k[B>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);$C(k[q>>2]|0,k[s>>2]|0);ox(k[E>>2]|0,12,0,k[y>>2]|0,k[B>>2]|0,k[z>>2]|0,-10)|0;Rh(k[E>>2]|0,((k[t>>2]|0)==10?2:k[t>>2]|0)&255);Yx(k[q>>2]|0);if(!(k[v>>2]|0)){lx(k[E>>2]|0,7,k[w>>2]|0,(k[u>>2]|0)+1|0)|0;aA(k[E>>2]|0,k[u>>2]|0);lx(k[E>>2]|0,109,k[w>>2]|0,0)|0;r=F;return}else{nD(k[A>>2]|0);r=F;return}}function oG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=k[e>>2]|0;b=(k[c>>2]|0)+60|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];r=d;return l[(k[c>>2]|0)+40>>0]|0|0}function pG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+4>>2]|0)){r=c;return}k[(k[(k[b>>2]|0)+4>>2]|0)+496>>2]=k[k[b>>2]>>2];k[(k[b>>2]|0)+4>>2]=0;r=c;return}function qG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;i=o+32|0;e=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;f=o+4|0;g=o;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;do if(((k[k[j>>2]>>2]|0)+(k[l>>2]|0)|0)>>>0>(k[(k[j>>2]|0)+4>>2]|0)>>>0){k[f>>2]=(k[k[j>>2]>>2]|0)+(k[l>>2]|0);b=_w(k[e>>2]|0,k[j>>2]|0,80+(((k[f>>2]|0)-1|0)*72|0)|0,0)|0;k[h>>2]=b;if(k[h>>2]|0){k[j>>2]=k[h>>2];b=((((su(k[e>>2]|0,k[h>>2]|0)|0)-80|0)>>>0)/72|0)+1|0;k[g>>2]=b;k[(k[j>>2]|0)+4>>2]=k[g>>2];break}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}while(0);k[n>>2]=(k[k[j>>2]>>2]|0)-1;while(1){if((k[n>>2]|0)<(k[m>>2]|0))break;e=(k[j>>2]|0)+8+(((k[n>>2]|0)+(k[l>>2]|0)|0)*72|0)|0;a=(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)|0;d=e+72|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));k[n>>2]=(k[n>>2]|0)+-1}b=k[j>>2]|0;k[b>>2]=(k[b>>2]|0)+(k[l>>2]|0);KR((k[j>>2]|0)+8+((k[m>>2]|0)*72|0)|0,0,(k[l>>2]|0)*72|0)|0;k[n>>2]=k[m>>2];while(1){if((k[n>>2]|0)>=((k[m>>2]|0)+(k[l>>2]|0)|0))break;k[(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]=-1;k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;f=g;d=g+20|0;e=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;k[e>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=l[k[j>>2]>>0];if((k[i>>2]|0)>1?(k[h>>2]|0)==10|(k[h>>2]|0)==11:0){Mh(k[e>>2]|0,36507,f);k[d>>2]=1;j=k[d>>2]|0;r=g;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=g;return j|0}function sG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;f=Q+96|0;A=Q+92|0;h=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;g=Q+40|0;o=Q+36|0;q=Q+32|0;n=Q+28|0;p=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;k[u>>2]=a;k[v>>2]=b;k[z>>2]=c;k[f>>2]=d;k[A>>2]=e;k[h>>2]=k[(k[u>>2]|0)+496>>2];k[B>>2]=k[k[u>>2]>>2];if(m[(k[B>>2]|0)+64>>1]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}k[J>>2]=k[(k[v>>2]|0)+28>>2];k[N>>2]=(k[J>>2]|0)+8+((k[z>>2]|0)*72|0);k[D>>2]=k[(k[N>>2]|0)+44>>2];k[K>>2]=k[(k[N>>2]|0)+20>>2];do if(k[A>>2]|0){if(k[f>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[k[J>>2]>>2]|0)>1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!((k[(k[v>>2]|0)+32>>2]|0)!=0?(k[(k[(k[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Fz(k[k[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((Fz(k[(k[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[M>>2]=k[(k[K>>2]|0)+28>>2];if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+60>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&256|0)!=0?(k[(k[K>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[k[M>>2]>>2]|0)){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?((k[f>>2]|0)!=0?1:(k[k[J>>2]>>2]|0)>1):0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[A>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+44>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[f>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+32>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&12288){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&8192|0)!=0?(k[(k[K>>2]|0)+48>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(l[(k[N>>2]|0)+36>>0]&32){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}a:do if(k[(k[K>>2]|0)+48>>2]|0){if(k[(k[K>>2]|0)+44>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}do if(!(k[f>>2]|0)){if(k[(k[v>>2]|0)+8>>2]&1)break;if((k[k[J>>2]>>2]|0)!=1)break;k[L>>2]=k[K>>2];while(1){if(!(k[L>>2]|0))break;if(k[(k[L>>2]|0)+8>>2]&9){t=62;break}if((k[(k[L>>2]|0)+48>>2]|0)!=0?(l[(k[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((k[k[(k[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}k[L>>2]=k[(k[L>>2]|0)+48>>2]}if((t|0)==62){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[(k[v>>2]|0)+44>>2]|0))break a;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[(k[v>>2]|0)+44>>2]>>2]|0))break a;if(!(m[(k[(k[(k[v>>2]|0)+44>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+16>>1]|0))break;k[g>>2]=(k[g>>2]|0)+1}k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[(k[u>>2]|0)+496>>2]=k[(k[N>>2]|0)+8>>2];gx(k[u>>2]|0,21,0,0,0)|0;k[(k[u>>2]|0)+496>>2]=k[h>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2];while(1){if(!(k[K>>2]|0))break;k[q>>2]=k[(k[v>>2]|0)+44>>2];k[n>>2]=k[(k[v>>2]|0)+56>>2];k[p>>2]=k[(k[v>>2]|0)+60>>2];k[s>>2]=k[(k[v>>2]|0)+48>>2];k[(k[v>>2]|0)+44>>2]=0;k[(k[v>>2]|0)+28>>2]=0;k[(k[v>>2]|0)+48>>2]=0;k[(k[v>>2]|0)+56>>2]=0;k[(k[v>>2]|0)+60>>2]=0;f=by(k[B>>2]|0,k[v>>2]|0,0)|0;k[o>>2]=f;k[(k[v>>2]|0)+60>>2]=k[p>>2];k[(k[v>>2]|0)+56>>2]=k[n>>2];k[(k[v>>2]|0)+44>>2]=k[q>>2];k[(k[v>>2]|0)+28>>2]=k[J>>2];i[(k[v>>2]|0)+4>>0]=116;f=k[s>>2]|0;if(!(k[o>>2]|0))k[(k[v>>2]|0)+48>>2]=f;else{k[(k[o>>2]|0)+48>>2]=f;if(k[s>>2]|0)k[(k[s>>2]|0)+52>>2]=k[o>>2];k[(k[o>>2]|0)+52>>2]=k[v>>2];k[(k[v>>2]|0)+48>>2]=k[o>>2]}if(i[(k[B>>2]|0)+69>>0]|0){t=78;break}k[K>>2]=k[(k[K>>2]|0)+48>>2]}if((t|0)==78){k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}t=k[(k[N>>2]|0)+20>>2]|0;k[L>>2]=t;k[K>>2]=t;bg(k[B>>2]|0,k[(k[N>>2]|0)+4>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+8>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+4>>2]=0;k[(k[N>>2]|0)+8>>2]=0;k[(k[N>>2]|0)+12>>2]=0;k[(k[N>>2]|0)+20>>2]=0;if(k[(k[N>>2]|0)+16>>2]|0){k[w>>2]=k[(k[N>>2]|0)+16>>2];if((m[(k[w>>2]|0)+36>>1]|0)==1){f=k[u>>2]|0;if(k[(k[u>>2]|0)+416>>2]|0)f=k[f+416>>2]|0;k[x>>2]=f;k[(k[w>>2]|0)+68>>2]=k[(k[x>>2]|0)+528>>2];k[(k[x>>2]|0)+528>>2]=k[w>>2]}else{x=(k[w>>2]|0)+36|0;j[x>>1]=(j[x>>1]|0)+-1<<16>>16}k[(k[N>>2]|0)+16>>2]=0}k[I>>2]=k[v>>2];while(1){if(!(k[I>>2]|0))break;i[E>>0]=0;k[M>>2]=k[(k[K>>2]|0)+28>>2];k[F>>2]=k[k[M>>2]>>2];k[J>>2]=k[(k[I>>2]|0)+28>>2];if(!(k[J>>2]|0)){x=gw(k[B>>2]|0,0,0,0)|0;k[(k[I>>2]|0)+28>>2]=x;k[J>>2]=x;if(!(k[J>>2]|0))break}else i[E>>0]=i[(k[N>>2]|0)+36>>0]|0;if((k[F>>2]|0)>1?(x=qG(k[B>>2]|0,k[J>>2]|0,(k[F>>2]|0)-1|0,(k[z>>2]|0)+1|0)|0,k[J>>2]=x,k[(k[I>>2]|0)+28>>2]=x,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[F>>2]|0))break;sv(k[B>>2]|0,k[(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)+52>>2]|0);f=(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)|0;c=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(g|0));f=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[C>>2]=(k[C>>2]|0)+1}i[(k[J>>2]|0)+8+((k[z>>2]|0)*72|0)+36>>0]=i[E>>0]|0;k[G>>2]=k[k[I>>2]>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[G>>2]>>2]|0))break;if(!(k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]|0)){x=zh(k[B>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+8>>2]|0)|0;k[P>>2]=x;dx(k[P>>2]|0);k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]=k[P>>2]}k[C>>2]=(k[C>>2]|0)+1}if(k[(k[K>>2]|0)+44>>2]|0){k[H>>2]=k[(k[K>>2]|0)+44>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[H>>2]>>2]|0))break;j[(k[(k[H>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+16>>1]=0;k[C>>2]=(k[C>>2]|0)+1}k[(k[I>>2]|0)+44>>2]=k[H>>2];k[(k[K>>2]|0)+44>>2]=0}x=Ky(k[B>>2]|0,k[(k[K>>2]|0)+32>>2]|0,0)|0;k[O>>2]=x;if(k[A>>2]|0){k[(k[I>>2]|0)+40>>2]=k[(k[I>>2]|0)+32>>2];k[(k[I>>2]|0)+32>>2]=k[O>>2];w=k[B>>2]|0;x=k[(k[I>>2]|0)+40>>2]|0;x=xz(w,x,Ky(k[B>>2]|0,k[(k[K>>2]|0)+40>>2]|0,0)|0)|0;k[(k[I>>2]|0)+40>>2]=x;x=Sy(k[B>>2]|0,k[(k[K>>2]|0)+36>>2]|0,0)|0;k[(k[I>>2]|0)+36>>2]=x}else{x=xz(k[B>>2]|0,k[(k[I>>2]|0)+32>>2]|0,k[O>>2]|0)|0;k[(k[I>>2]|0)+32>>2]=x}aH(k[B>>2]|0,k[I>>2]|0,k[D>>2]|0,k[k[K>>2]>>2]|0,0);x=(k[I>>2]|0)+8|0;k[x>>2]=k[x>>2]|k[(k[K>>2]|0)+8>>2]&1;if(k[(k[K>>2]|0)+56>>2]|0){k[(k[I>>2]|0)+56>>2]=k[(k[K>>2]|0)+56>>2];k[(k[K>>2]|0)+56>>2]=0}k[I>>2]=k[(k[I>>2]|0)+48>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2]}nv(k[B>>2]|0,k[L>>2]|0);k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}function tG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=r;r=r+240|0;Z=_+8|0;d=_;e=_+220|0;f=_+216|0;g=_+212|0;h=_+208|0;T=_+204|0;Q=_+200|0;Y=_+196|0;t=_+176|0;H=_+172|0;s=_+168|0;B=_+164|0;C=_+160|0;m=_+156|0;F=_+152|0;W=_+148|0;G=_+224|0;R=_+144|0;L=_+140|0;O=_+136|0;n=_+132|0;X=_+112|0;x=_+108|0;v=_+104|0;z=_+100|0;I=_+96|0;U=_+92|0;V=_+88|0;y=_+84|0;w=_+80|0;A=_+76|0;M=_+72|0;P=_+68|0;o=_+64|0;D=_+44|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;q=_+20|0;E=_+16|0;p=_+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[T>>2]=0;k[H>>2]=0;k[B>>2]=0;k[C>>2]=0;k[s>>2]=k[k[f>>2]>>2];k[Q>>2]=k[(k[g>>2]|0)+48>>2];a=k[h>>2]|0;k[t>>2]=k[a>>2];k[t+4>>2]=k[a+4>>2];k[t+8>>2]=k[a+8>>2];k[t+12>>2]=k[a+12>>2];k[t+16>>2]=k[a+16>>2];a:do if(!(k[(k[Q>>2]|0)+44>>2]|0)){b=k[f>>2]|0;if(k[(k[Q>>2]|0)+56>>2]|0){Y=Uy(l[(k[g>>2]|0)+4>>0]|0)|0;k[Z>>2]=Y;Mh(b,36364,Z);k[T>>2]=1;break}Z=jx(b)|0;k[Y>>2]=Z;if((l[t>>0]|0)==12){lx(k[Y>>2]|0,105,k[t+4>>2]|0,k[k[k[g>>2]>>2]>>2]|0)|0;i[t>>0]=14}if(k[(k[g>>2]|0)+8>>2]&1024){Z=cH(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;break}b:do if(k[(k[g>>2]|0)+8>>2]&8192)dH(k[f>>2]|0,k[g>>2]|0,t);else{if(k[(k[g>>2]|0)+44>>2]|0){Z=eH(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[e>>2]=Z;Z=k[e>>2]|0;r=_;return Z|0}switch(l[(k[g>>2]|0)+4>>0]|0){case 116:{k[m>>2]=0;k[(k[Q>>2]|0)+12>>2]=k[(k[g>>2]|0)+12>>2];k[(k[Q>>2]|0)+16>>2]=k[(k[g>>2]|0)+16>>2];k[(k[Q>>2]|0)+56>>2]=k[(k[g>>2]|0)+56>>2];k[(k[Q>>2]|0)+60>>2]=k[(k[g>>2]|0)+60>>2];k[B>>2]=k[(k[f>>2]|0)+472>>2];Z=Xv(k[f>>2]|0,k[Q>>2]|0,t)|0;k[T>>2]=Z;k[(k[g>>2]|0)+56>>2]=0;k[(k[g>>2]|0)+60>>2]=0;if(k[T>>2]|0)break a;k[(k[g>>2]|0)+48>>2]=0;k[(k[g>>2]|0)+12>>2]=k[(k[Q>>2]|0)+12>>2];k[(k[g>>2]|0)+16>>2]=k[(k[Q>>2]|0)+16>>2];if((k[(k[g>>2]|0)+12>>2]|0)!=0?(Z=Uz(k[Y>>2]|0,22,k[(k[g>>2]|0)+12>>2]|0)|0,k[m>>2]=Z,(k[(k[g>>2]|0)+16>>2]|0)!=0):0)px(k[Y>>2]|0,144,k[(k[g>>2]|0)+12>>2]|0,(k[(k[g>>2]|0)+16>>2]|0)+1|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[C>>2]=k[(k[f>>2]|0)+472>>2];Z=Xv(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];Z=fE(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z;if(((k[(k[Q>>2]|0)+56>>2]|0)!=0?(Z=(Hy(k[(k[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(k[F>>2]|0)>0):0)?(X=j[(k[g>>2]|0)+6>>1]|0,Z=k[F>>2]|0,(X|0)>((Uj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=k[F>>2]|0;Z=Uj(Z,((Z|0)<0)<<31>>31)|0;j[(k[g>>2]|0)+6>>1]=Z}if(!(k[m>>2]|0))break b;aA(k[Y>>2]|0,k[m>>2]|0);break b}case 115:case 117:{i[G>>0]=0;k[R>>2]=1;if((l[t>>0]|0)==(k[R>>2]|0))k[W>>2]=k[t+4>>2];else{V=(k[f>>2]|0)+72|0;Z=k[V>>2]|0;k[V>>2]=Z+1;k[W>>2]=Z;Z=lx(k[Y>>2]|0,105,k[W>>2]|0,0)|0;k[n>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[n>>2];Z=(nz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32}uB(X,k[R>>2]|0,k[W>>2]|0);k[B>>2]=k[(k[f>>2]|0)+472>>2];Z=Xv(k[f>>2]|0,k[Q>>2]|0,X)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;if((l[(k[g>>2]|0)+4>>0]|0)==117)i[G>>0]=2;else i[G>>0]=1;k[(k[g>>2]|0)+48>>2]=0;k[L>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[O>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;i[X>>0]=i[G>>0]|0;k[C>>2]=k[(k[f>>2]|0)+472>>2];Z=Xv(k[f>>2]|0,k[g>>2]|0,X)|0;k[T>>2]=Z;mv(k[s>>2]|0,k[(k[g>>2]|0)+44>>2]|0);k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];k[(k[g>>2]|0)+44>>2]=0;if((l[(k[g>>2]|0)+4>>0]|0)==115){Z=fE(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z}qv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[L>>2];k[(k[g>>2]|0)+60>>2]=k[O>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=0;if((l[t>>0]|0)==(k[R>>2]|0))break b;if((l[t>>0]|0)==9){k[I>>2]=k[g>>2];while(1){if(!(k[(k[I>>2]|0)+48>>2]|0))break;k[I>>2]=k[(k[I>>2]|0)+48>>2]}SG(k[f>>2]|0,k[(k[I>>2]|0)+28>>2]|0,k[k[I>>2]>>2]|0)}Z=Zz(k[Y>>2]|0)|0;k[v>>2]=Z;Z=Zz(k[Y>>2]|0)|0;k[x>>2]=Z;yG(k[f>>2]|0,k[g>>2]|0,k[v>>2]|0);lx(k[Y>>2]|0,55,k[W>>2]|0,k[v>>2]|0)|0;Z=Yz(k[Y>>2]|0)|0;k[z>>2]=Z;FG(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[W>>2]|0,0,0,t,k[x>>2]|0,k[v>>2]|0);bA(k[Y>>2]|0,k[x>>2]|0);lx(k[Y>>2]|0,7,k[W>>2]|0,k[z>>2]|0)|0;bA(k[Y>>2]|0,k[v>>2]|0);lx(k[Y>>2]|0,109,k[W>>2]|0,0)|0;break b}default:{Z=(k[f>>2]|0)+72|0;X=k[Z>>2]|0;k[Z>>2]=X+1;k[U>>2]=X;X=(k[f>>2]|0)+72|0;Z=k[X>>2]|0;k[X>>2]=Z+1;k[V>>2]=Z;Z=lx(k[Y>>2]|0,105,k[U>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[o>>2];Z=(nz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32;uB(D,1,k[U>>2]|0);k[B>>2]=k[(k[f>>2]|0)+472>>2];Z=Xv(k[f>>2]|0,k[Q>>2]|0,D)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;Z=lx(k[Y>>2]|0,105,k[V>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20+4>>2]=k[o>>2];k[(k[g>>2]|0)+48>>2]=0;k[M>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[P>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;k[D+4>>2]=k[V>>2];k[C>>2]=k[(k[f>>2]|0)+472>>2];Z=Xv(k[f>>2]|0,k[g>>2]|0,D)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];if((j[(k[g>>2]|0)+6>>1]|0)>(j[(k[Q>>2]|0)+6>>1]|0))j[(k[g>>2]|0)+6>>1]=j[(k[Q>>2]|0)+6>>1]|0;qv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[M>>2];k[(k[g>>2]|0)+60>>2]=k[P>>2];if((l[t>>0]|0)==9){k[J>>2]=k[g>>2];while(1){if(!(k[(k[J>>2]|0)+48>>2]|0))break;k[J>>2]=k[(k[J>>2]|0)+48>>2]}SG(k[f>>2]|0,k[(k[J>>2]|0)+28>>2]|0,k[k[J>>2]>>2]|0)}Z=Zz(k[Y>>2]|0)|0;k[w>>2]=Z;Z=Zz(k[Y>>2]|0)|0;k[y>>2]=Z;yG(k[f>>2]|0,k[g>>2]|0,k[w>>2]|0);lx(k[Y>>2]|0,55,k[U>>2]|0,k[w>>2]|0)|0;Z=rA(k[f>>2]|0)|0;k[S>>2]=Z;Z=lx(k[Y>>2]|0,119,k[U>>2]|0,k[S>>2]|0)|0;k[A>>2]=Z;Qh(k[Y>>2]|0,30,k[V>>2]|0,k[y>>2]|0,k[S>>2]|0,0)|0;vA(k[f>>2]|0,k[S>>2]|0);FG(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[U>>2]|0,0,0,t,k[y>>2]|0,k[w>>2]|0);bA(k[Y>>2]|0,k[y>>2]|0);lx(k[Y>>2]|0,7,k[U>>2]|0,k[A>>2]|0)|0;bA(k[Y>>2]|0,k[w>>2]|0);lx(k[Y>>2]|0,109,k[V>>2]|0,0)|0;lx(k[Y>>2]|0,109,k[U>>2]|0,0)|0;break b}}}while(0);fH(k[f>>2]|0,l[(k[g>>2]|0)+4>>0]|0,k[B>>2]|0,k[C>>2]|0,(l[(k[g>>2]|0)+4>>0]|0)!=116&1);if(k[(k[g>>2]|0)+8>>2]&32){k[E>>2]=k[k[k[g>>2]>>2]>>2];Z=lA(k[s>>2]|0,k[E>>2]|0,1)|0;k[K>>2]=Z;if(!(k[K>>2]|0)){k[T>>2]=7;break}k[u>>2]=0;k[q>>2]=(k[K>>2]|0)+20;while(1){if((k[u>>2]|0)>=(k[E>>2]|0))break;Z=gH(k[f>>2]|0,k[g>>2]|0,k[u>>2]|0)|0;k[k[q>>2]>>2]=Z;if(!(k[k[q>>2]>>2]|0))k[k[q>>2]>>2]=k[(k[s>>2]|0)+8>>2];k[u>>2]=(k[u>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+4}k[N>>2]=k[g>>2];while(1){if(!(k[N>>2]|0))break;k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break;k[p>>2]=k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2];if((k[p>>2]|0)<0)break;gA(k[Y>>2]|0,k[p>>2]|0,k[E>>2]|0);X=k[Y>>2]|0;Z=k[p>>2]|0;Uh(X,Z,qA(k[K>>2]|0)|0,-6);k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2]=-1;k[u>>2]=(k[u>>2]|0)+1}k[N>>2]=k[(k[N>>2]|0)+48>>2]}mA(k[K>>2]|0)}}else{Z=k[f>>2]|0;Y=Uy(l[(k[g>>2]|0)+4>>0]|0)|0;k[d>>2]=Y;Mh(Z,36316,d);k[T>>2]=1}while(0);k[(k[h>>2]|0)+8>>2]=k[t+8>>2];k[(k[h>>2]|0)+12>>2]=k[t+12>>2];nv(k[s>>2]|0,k[H>>2]|0);k[e>>2]=k[T>>2];Z=k[e>>2]|0;r=_;return Z|0}function uG(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Dz(k[d>>2]|0,b);r=c;return k[b>>2]|0}function vG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;j=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=0;if(!(k[h>>2]|0)){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}k[n>>2]=k[g>>2];while(1){if(!(k[n>>2]|0))break;if(k[(k[n>>2]|0)+8>>2]&8200){o=6;break}k[n>>2]=k[(k[n>>2]|0)+48>>2]}if((o|0)==6){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}if(k[(k[g>>2]|0)+56>>2]|0){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}while(1){if((l[k[h>>2]>>0]|0|0)!=28)break;o=vG(k[f>>2]|0,k[g>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[i>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+o;k[h>>2]=k[(k[h>>2]|0)+12>>2]}if(k[(k[h>>2]|0)+4>>2]&1){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}a:do if($D(k[h>>2]|0,k[i>>2]|0)|0){k[j>>2]=(k[j>>2]|0)+1;while(1){if(!(k[g>>2]|0))break a;o=Ky(k[f>>2]|0,k[h>>2]|0,0)|0;k[m>>2]=o;o=$G(k[f>>2]|0,k[m>>2]|0,k[i>>2]|0,k[k[g>>2]>>2]|0)|0;k[m>>2]=o;o=xz(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[m>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=o;k[g>>2]=k[(k[g>>2]|0)+48>>2]}}while(0);k[e>>2]=k[j>>2];o=k[e>>2]|0;r=p;return o|0}function wG(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+19>>0]=0;k[(k[c>>2]|0)+60>>2]=0;r=b;return}function xG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;e=p+36|0;f=p+32|0;g=p+28|0;q=p+24|0;l=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[l>>2]=k[k[f>>2]>>2];a=lA(k[h>>2]|0,(k[l>>2]|0)-(k[g>>2]|0)|0,(k[q>>2]|0)+1|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){q=k[n>>2]|0;r=p;return q|0}k[j>>2]=k[g>>2];k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break;q=iy(k[e>>2]|0,k[k[o>>2]>>2]|0)|0;k[m>>2]=q;if(!(k[m>>2]|0))k[m>>2]=k[(k[h>>2]|0)+8>>2];k[(k[n>>2]|0)+20+((k[j>>2]|0)-(k[g>>2]|0)<<2)>>2]=k[m>>2];i[(k[(k[n>>2]|0)+16>>2]|0)+((k[j>>2]|0)-(k[g>>2]|0))>>0]=i[(k[o>>2]|0)+12>>0]|0;k[j>>2]=(k[j>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+20}q=k[n>>2]|0;r=p;return q|0}function yG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;k[g>>2]=0;if(k[(k[e>>2]|0)+12>>2]|0){r=m;return}BC(k[d>>2]|0);if(!(k[(k[e>>2]|0)+56>>2]|0)){r=m;return}b=(k[d>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[g>>2]=a;k[(k[e>>2]|0)+12>>2]=a;a=jx(k[d>>2]|0)|0;k[l>>2]=a;do if(Hy(k[(k[e>>2]|0)+56>>2]|0,i)|0){lx(k[l>>2]|0,74,k[i>>2]|0,k[g>>2]|0)|0;if(!(k[i>>2]|0)){$z(k[l>>2]|0,k[f>>2]|0)|0;break}if((k[i>>2]|0)>=0?(b=j[(k[e>>2]|0)+6>>1]|0,a=k[i>>2]|0,(b|0)>((Uj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=k[i>>2]|0;a=Uj(a,((a|0)<0)<<31>>31)|0;j[(k[e>>2]|0)+6>>1]=a;a=(k[e>>2]|0)+8|0;k[a>>2]=k[a>>2]|16384}}else{UA(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0,k[g>>2]|0);Uz(k[l>>2]|0,17,k[g>>2]|0)|0;lx(k[l>>2]|0,22,k[g>>2]|0,k[f>>2]|0)|0}while(0);if(!(k[(k[e>>2]|0)+60>>2]|0)){r=m;return}b=(k[d>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[h>>2]=a;k[(k[e>>2]|0)+16>>2]=a;a=(k[d>>2]|0)+76|0;k[a>>2]=(k[a>>2]|0)+1;UA(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0,k[h>>2]|0);Uz(k[l>>2]|0,17,k[h>>2]|0)|0;px(k[l>>2]|0,144,k[g>>2]|0,(k[h>>2]|0)+1|0,k[h>>2]|0)|0;r=m;return}function zG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;i[g>>0]=c;c=i[g>>0]|0;a=hA(k[f>>2]|0,k[e>>2]|0)|0;i[a>>0]=c;r=d;return}function AG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+32>>1]|0}function BG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+42>>0]|0|0}function CG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+38>>0]|0}function DG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+48>>2]|0}function EG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+52>>2]|0}function FG(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=r;r=r+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;n=V+112|0;R=V+108|0;o=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;q=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;p=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;k[P>>2]=a;k[Q>>2]=b;k[t>>2]=c;k[n>>2]=d;k[R>>2]=e;k[o>>2]=f;k[M>>2]=g;k[u>>2]=h;k[S>>2]=j;k[U>>2]=k[(k[P>>2]|0)+8>>2];k[C>>2]=l[k[M>>2]>>0];k[O>>2]=k[(k[M>>2]|0)+4>>2];k[N>>2]=0;if(k[o>>2]|0)j=l[(k[o>>2]|0)+1>>0]|0;else j=0;k[q>>2]=j;if((k[R>>2]|0)!=0?(k[k[R>>2]>>2]|0)==0:0)k[R>>2]=0;if(!((k[R>>2]|0)!=0|(k[q>>2]|0)!=0))UG(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0);k[F>>2]=k[k[t>>2]>>2];if(k[(k[M>>2]|0)+8>>2]|0){if(((k[(k[M>>2]|0)+8>>2]|0)+(k[F>>2]|0)|0)>(k[(k[P>>2]|0)+76>>2]|0)){d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[F>>2]|0)}}else{if(k[R>>2]|0){k[N>>2]=k[k[k[R>>2]>>2]>>2];if(!((l[(k[R>>2]|0)+28>>0]|0)&1))k[N>>2]=(k[N>>2]|0)+1;d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[N>>2]|0)}k[(k[M>>2]|0)+8>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[F>>2]|0)}k[(k[M>>2]|0)+12>>2]=k[F>>2];k[T>>2]=k[(k[M>>2]|0)+8>>2];a:do if((k[n>>2]|0)<0){if((k[C>>2]|0)!=3){if((k[C>>2]|0)==10|(k[C>>2]|0)==9|(k[C>>2]|0)==13)i[p>>0]=1;else i[p>>0]=0;bB(k[P>>2]|0,k[t>>2]|0,k[T>>2]|0,0,i[p>>0]|0)|0}}else{k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[F>>2]|0))break a;px(k[U>>2]|0,94,k[n>>2]|0,k[D>>2]|0,(k[T>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}}while(0);if(k[q>>2]|0){switch(l[(k[o>>2]|0)+1>>0]|0|0){case 2:{k[A>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;q=(k[P>>2]|0)+76|0;k[q>>2]=(k[q>>2]|0)+(k[F>>2]|0);MA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;q=hA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[s>>2]=q;i[k[s>>2]>>0]=77;k[(k[s>>2]|0)+4>>2]=1;k[(k[s>>2]|0)+8>>2]=k[A>>2];s=Yz(k[U>>2]|0)|0;k[w>>2]=s+(k[F>>2]|0);k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[F>>2]|0))break;j=iy(k[P>>2]|0,k[(k[(k[t>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)>>2]|0)|0;k[x>>2]=j;j=k[U>>2]|0;h=(k[T>>2]|0)+(k[D>>2]|0)|0;if((k[D>>2]|0)<((k[F>>2]|0)-1|0))px(j,36,h,k[w>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;else px(j,37,h,k[u>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;Uh(k[U>>2]|0,-1,k[x>>2]|0,-4);Rh(k[U>>2]|0,-128);k[D>>2]=(k[D>>2]|0)+1}px(k[U>>2]|0,82,k[T>>2]|0,k[A>>2]|0,(k[F>>2]|0)-1|0)|0;break}case 1:{MA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;break}default:VG(k[P>>2]|0,k[(k[o>>2]|0)+4>>2]|0,k[u>>2]|0,k[F>>2]|0,k[T>>2]|0)}if(!(k[R>>2]|0))UG(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0)}b:do switch(k[C>>2]|0){case 1:{N=rA(k[P>>2]|0)|0;k[y>>2]=N;px(k[U>>2]|0,96,k[T>>2]|0,k[F>>2]|0,k[y>>2]|0)|0;lx(k[U>>2]|0,124,k[O>>2]|0,k[y>>2]|0)|0;vA(k[P>>2]|0,k[y>>2]|0);break}case 2:{px(k[U>>2]|0,125,k[O>>2]|0,k[T>>2]|0,k[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{M=HA(k[P>>2]|0,(k[N>>2]|0)+1|0)|0;k[H>>2]=M;px(k[U>>2]|0,96,k[T>>2]|0,k[F>>2]|0,(k[H>>2]|0)+(k[N>>2]|0)|0)|0;if((k[C>>2]|0)==6){M=(Yz(k[U>>2]|0)|0)+4|0;k[v>>2]=M;Qh(k[U>>2]|0,31,(k[O>>2]|0)+1|0,k[v>>2]|0,k[H>>2]|0,0)|0;lx(k[U>>2]|0,124,(k[O>>2]|0)+1|0,k[H>>2]|0)|0}j=k[P>>2]|0;if(k[R>>2]|0)_G(j,k[R>>2]|0,k[Q>>2]|0,(k[H>>2]|0)+(k[N>>2]|0)|0,k[T>>2]|0,1,k[N>>2]|0);else{T=rA(j)|0;k[K>>2]=T;lx(k[U>>2]|0,112,k[O>>2]|0,k[K>>2]|0)|0;px(k[U>>2]|0,113,k[O>>2]|0,k[H>>2]|0,k[K>>2]|0)|0;Rh(k[U>>2]|0,8);vA(k[P>>2]|0,k[K>>2]|0)}KA(k[P>>2]|0,k[H>>2]|0,(k[N>>2]|0)+1|0);break}case 11:{j=nB(k[k[(k[t>>2]|0)+4>>2]>>2]|0,i[(k[M>>2]|0)+1>>0]|0)|0;i[(k[M>>2]|0)+1>>0]=j;j=k[P>>2]|0;if(k[R>>2]|0){_G(j,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,1,k[N>>2]|0);break b}else{N=rA(j)|0;k[I>>2]=N;ox(k[U>>2]|0,96,k[T>>2]|0,1,k[I>>2]|0,(k[M>>2]|0)+1|0,1)|0;ZA(k[P>>2]|0,k[T>>2]|0,1);lx(k[U>>2]|0,124,k[O>>2]|0,k[I>>2]|0)|0;vA(k[P>>2]|0,k[I>>2]|0);break b}}case 3:{lx(k[U>>2]|0,74,1,k[O>>2]|0)|0;break}case 10:{if(k[R>>2]|0)_G(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,1,k[N>>2]|0);break}case 9:case 13:{if(k[R>>2]|0){_G(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[F>>2]|0,k[N>>2]|0);break b}j=k[U>>2]|0;if((k[C>>2]|0)==13){Uz(j,16,k[(k[M>>2]|0)+4>>2]|0)|0;break b}else{lx(j,85,k[T>>2]|0,k[F>>2]|0)|0;ZA(k[P>>2]|0,k[T>>2]|0,k[F>>2]|0);break b}}case 7:case 8:{k[B>>2]=0;k[G>>2]=k[(k[M>>2]|0)+16>>2];k[E>>2]=k[k[G>>2]>>2];N=rA(k[P>>2]|0)|0;k[J>>2]=N;N=HA(k[P>>2]|0,(k[E>>2]|0)+2|0)|0;k[L>>2]=N;k[z>>2]=(k[L>>2]|0)+(k[E>>2]|0)+1;if((k[C>>2]|0)==8){N=Qh(k[U>>2]|0,31,(k[O>>2]|0)+1|0,0,k[T>>2]|0,k[F>>2]|0)|0;k[B>>2]=N}px(k[U>>2]|0,96,k[T>>2]|0,k[F>>2]|0,k[z>>2]|0)|0;if((k[C>>2]|0)==8){lx(k[U>>2]|0,124,(k[O>>2]|0)+1|0,k[z>>2]|0)|0;Rh(k[U>>2]|0,16)}k[D>>2]=0;while(1){j=k[U>>2]|0;if((k[D>>2]|0)>=(k[E>>2]|0))break;lx(j,83,(k[T>>2]|0)+(m[(k[(k[G>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)+16>>1]|0)-1|0,(k[L>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}lx(j,111,k[O>>2]|0,(k[L>>2]|0)+(k[E>>2]|0)|0)|0;px(k[U>>2]|0,96,k[L>>2]|0,(k[E>>2]|0)+2|0,k[J>>2]|0)|0;lx(k[U>>2]|0,124,k[O>>2]|0,k[J>>2]|0)|0;if(k[B>>2]|0)aA(k[U>>2]|0,k[B>>2]|0);vA(k[P>>2]|0,k[J>>2]|0);KA(k[P>>2]|0,k[L>>2]|0,(k[E>>2]|0)+2|0);break}default:{}}while(0);if(k[R>>2]|0){r=V;return}if(!(k[(k[Q>>2]|0)+12>>2]|0)){r=V;return}lx(k[U>>2]|0,66,k[(k[Q>>2]|0)+12>>2]|0,k[S>>2]|0)|0;r=V;return}function GG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;HG(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}r=g;return}function HG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=202;k[e+8>>2]=203;k[e+24>>2]=k[f>>2];yy(e,k[d>>2]|0)|0;r=c;return}function IG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;f=h;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+453>>0]|0|0)!=2){r=h;return}k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[k[c>>2]>>2]|0;k[f>>2]=k[d>>2];b=Oh(b,36293,f)|0;k[g>>2]=b;ox(k[e>>2]|0,160,k[(k[c>>2]|0)+468>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}function JG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+39>>0]|0|0}function KG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=d;px(k[(k[h>>2]|0)+8>>2]|0,81,k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;LA(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function LG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+56|0;d=v+52|0;u=v+48|0;g=v+44|0;t=v+40|0;e=v+36|0;o=v+32|0;l=v+28|0;j=v+24|0;f=v+20|0;s=v+16|0;q=v+12|0;n=v+8|0;p=v+4|0;h=v;k[c>>2]=a;k[d>>2]=b;k[u>>2]=k[(k[c>>2]|0)+8>>2];k[t>>2]=0;k[e>>2]=0;i[k[d>>2]>>0]=1;k[g>>2]=0;k[o>>2]=k[(k[d>>2]|0)+40>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;k[f>>2]=0;k[q>>2]=k[(k[k[o>>2]>>2]|0)+20>>2];if(k[q>>2]|0){k[j>>2]=k[k[q>>2]>>2];a=HA(k[c>>2]|0,k[j>>2]|0)|0;k[s>>2]=a;bB(k[c>>2]|0,k[q>>2]|0,k[s>>2]|0,0,1)|0}else{k[j>>2]=0;k[s>>2]=0}if((k[(k[o>>2]|0)+12>>2]|0)>=0){a=Zz(k[u>>2]|0)|0;k[f>>2]=a;VG(k[c>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[f>>2]|0,1,k[s>>2]|0)}if((m[(k[(k[o>>2]|0)+4>>2]|0)+2>>1]|0)&32){k[n>>2]=0;k[h>>2]=0;k[p>>2]=k[(k[q>>2]|0)+4>>2];while(1){if(k[n>>2]|0)break;if((k[h>>2]|0)>=(k[j>>2]|0))break;a=iy(k[c>>2]|0,k[k[p>>2]>>2]|0)|0;k[n>>2]=a;k[h>>2]=(k[h>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if(!(k[n>>2]|0))k[n>>2]=k[(k[k[c>>2]>>2]|0)+8>>2];if((k[t>>2]|0)==0?(k[(k[d>>2]|0)+36>>2]|0)!=0:0){b=(k[c>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[t>>2]=a}ox(k[u>>2]|0,86,k[t>>2]|0,0,0,k[n>>2]|0,-4)|0}ox(k[u>>2]|0,145,0,k[s>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+4>>2]|0,-5)|0;Rh(k[u>>2]|0,k[j>>2]&255);ZA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);KA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);if(k[f>>2]|0){bA(k[u>>2]|0,k[f>>2]|0);BC(k[c>>2]|0)}k[g>>2]=(k[g>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+16}if(k[t>>2]|0){t=Uz(k[u>>2]|0,21,k[t>>2]|0)|0;k[e>>2]=t}BC(k[c>>2]|0);k[g>>2]=0;k[l>>2]=k[(k[d>>2]|0)+28>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+36>>2]|0))break;UA(k[c>>2]|0,k[(k[l>>2]|0)+20>>2]|0,k[(k[l>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+24}i[k[d>>2]>>0]=0;BC(k[c>>2]|0);if(!(k[e>>2]|0)){r=v;return}aA(k[u>>2]|0,k[e>>2]|0);r=v;return}function MG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;c=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[g>>2]=k[(k[i>>2]|0)+8>>2];k[d>>2]=0;k[e>>2]=k[(k[c>>2]|0)+40>>2];while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+44>>2]|0))break;k[f>>2]=k[(k[k[e>>2]>>2]|0)+20>>2];if(k[f>>2]|0)b=k[k[f>>2]>>2]|0;else b=0;ox(k[g>>2]|0,147,k[(k[e>>2]|0)+8>>2]|0,b,0,k[(k[e>>2]|0)+4>>2]|0,-5)|0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+16}r=h;return}function NG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;j=l;c=l+32|0;d=l+28|0;i=l+24|0;e=l+20|0;g=l+16|0;m=l+12|0;f=l+8|0;h=l+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[c>>2]|0)+8>>2];k[m>>2]=(k[(k[d>>2]|0)+44>>2]|0)+(k[(k[d>>2]|0)+32>>2]|0);if(!(k[m>>2]|0)){r=l;return}px(k[i>>2]|0,77,0,k[(k[d>>2]|0)+16>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=k[(k[d>>2]|0)+40>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;do if((k[(k[g>>2]|0)+12>>2]|0)>=0){k[f>>2]=k[k[g>>2]>>2];if((k[(k[f>>2]|0)+20>>2]|0)!=0?(k[k[(k[f>>2]|0)+20>>2]>>2]|0)==1:0){m=xG(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0,0,0)|0;k[h>>2]=m;ox(k[i>>2]|0,105,k[(k[g>>2]|0)+12>>2]|0,0,0,k[h>>2]|0,-6)|0;break}Mh(k[c>>2]|0,36242,j);k[(k[g>>2]|0)+12>>2]=-1}while(0);k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}r=l;return}function OG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if((((k[(k[d>>2]|0)+32>>2]|0)==0?(k[k[k[d>>2]>>2]>>2]|0)==1:0)?(k[k[(k[d>>2]|0)+28>>2]>>2]|0)==1:0)?(k[(k[(k[d>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){k[g>>2]=k[(k[(k[d>>2]|0)+28>>2]|0)+8+16>>2];k[f>>2]=k[k[(k[k[d>>2]>>2]|0)+4>>2]>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if((l[k[f>>2]>>0]|0|0)!=153){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+44>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!((m[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(k[(k[f>>2]|0)+4>>2]&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}else{k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}}k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;f=m+28|0;g=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;if((l[(k[f>>2]|0)+453>>0]|0|0)!=2){r=m;return}if(k[d>>2]|0)if(!((l[(k[g>>2]|0)+42>>0]|0)&32))c=1;else c=(i[(k[d>>2]|0)+55>>0]&3|0)==2^1;else c=0;k[e>>2]=c&1;a=k[k[f>>2]>>2]|0;b=(k[e>>2]|0)!=0?36201:19018;if(k[e>>2]|0)c=k[k[d>>2]>>2]|0;else c=19018;k[h>>2]=k[k[g>>2]>>2];k[h+4>>2]=b;k[h+8>>2]=c;h=Oh(a,36224,h)|0;k[j>>2]=h;ox(k[(k[f>>2]|0)+8>>2]|0,160,k[(k[f>>2]|0)+468>>2]|0,0,0,k[j>>2]|0,-1)|0;r=m;return}function QG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[k[d>>2]>>2]=0;do if((((k[(k[c>>2]|0)+44>>2]|0)==1?(k[g>>2]=k[k[(k[c>>2]|0)+40>>2]>>2],k[f>>2]=k[(k[g>>2]|0)+20>>2],(k[f>>2]|0)!=0):0)?(k[k[f>>2]>>2]|0)==1:0)?(l[k[k[(k[f>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){k[h>>2]=k[(k[g>>2]|0)+8>>2];if(!(sg(k[h>>2]|0,36193)|0)){k[e>>2]=1;k[k[d>>2]>>2]=k[f>>2];break}if(!(sg(k[h>>2]|0,36197)|0)){k[e>>2]=2;k[k[d>>2]>>2]=k[f>>2]}}while(0);r=i;return k[e>>2]&255|0}function RG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;s=E+84|0;f=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;g=E+48|0;z=E+44|0;p=E+40|0;w=E+36|0;j=E+32|0;x=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;o=E+12|0;i=E+8|0;h=E+4|0;q=E;k[s>>2]=a;k[f>>2]=b;k[B>>2]=c;k[t>>2]=d;k[u>>2]=e;k[D>>2]=k[(k[s>>2]|0)+8>>2];k[C>>2]=k[(k[B>>2]|0)+24>>2];c=Zz(k[D>>2]|0)|0;k[v>>2]=c;k[g>>2]=0;k[p>>2]=k[k[B>>2]>>2];k[w>>2]=l[k[u>>2]>>0];k[j>>2]=k[(k[u>>2]|0)+4>>2];if(k[(k[B>>2]|0)+16>>2]|0){lx(k[D>>2]|0,14,k[(k[B>>2]|0)+12>>2]|0,k[(k[B>>2]|0)+16>>2]|0)|0;$z(k[D>>2]|0,k[C>>2]|0)|0;bA(k[D>>2]|0,k[(k[B>>2]|0)+16>>2]|0)}k[z>>2]=k[(k[B>>2]|0)+8>>2];if((k[w>>2]|0)==9|(k[w>>2]|0)==13){k[y>>2]=0;k[x>>2]=k[(k[u>>2]|0)+8>>2];k[o>>2]=k[t>>2]}else{c=rA(k[s>>2]|0)|0;k[y>>2]=c;c=rA(k[s>>2]|0)|0;k[x>>2]=c;k[o>>2]=1}k[n>>2]=(k[k[p>>2]>>2]|0)-(k[(k[B>>2]|0)+4>>2]|0);if((l[(k[B>>2]|0)+28>>0]|0)&1){c=(k[s>>2]|0)+76|0;a=(k[c>>2]|0)+1|0;k[c>>2]=a;k[q>>2]=a;a=(k[s>>2]|0)+72|0;c=k[a>>2]|0;k[a>>2]=c+1;k[m>>2]=c;if(k[(k[B>>2]|0)+16>>2]|0){c=pB(k[s>>2]|0)|0;k[g>>2]=c}px(k[D>>2]|0,108,k[m>>2]|0,k[q>>2]|0,(k[n>>2]|0)+1+(k[o>>2]|0)|0)|0;if(k[g>>2]|0)aA(k[D>>2]|0,k[g>>2]|0);c=1+(lx(k[D>>2]|0,42,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=c;UG(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[v>>2]|0);px(k[D>>2]|0,118,k[z>>2]|0,k[q>>2]|0,k[m>>2]|0)|0;k[h>>2]=0}else{q=1+(lx(k[D>>2]|0,53,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=q;UG(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[v>>2]|0);k[m>>2]=k[z>>2];k[h>>2]=1}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[o>>2]|0))break;px(k[D>>2]|0,94,k[m>>2]|0,(k[n>>2]|0)+(k[h>>2]|0)+(k[i>>2]|0)|0,(k[x>>2]|0)+(k[i>>2]|0)|0)|0;k[i>>2]=(k[i>>2]|0)+1}a:do switch(k[w>>2]|0){case 12:{lx(k[D>>2]|0,112,k[j>>2]|0,k[y>>2]|0)|0;px(k[D>>2]|0,113,k[j>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;Rh(k[D>>2]|0,8);break}case 11:{ox(k[D>>2]|0,96,k[x>>2]|0,1,k[y>>2]|0,(k[u>>2]|0)+1|0,1)|0;ZA(k[s>>2]|0,k[x>>2]|0,1);lx(k[D>>2]|0,124,k[j>>2]|0,k[y>>2]|0)|0;break}case 10:{KG(k[s>>2]|0,k[x>>2]|0,k[j>>2]|0,1);break}default:{f=k[D>>2]|0;g=k[u>>2]|0;if((k[w>>2]|0)==9){lx(f,85,k[g+8>>2]|0,k[t>>2]|0)|0;ZA(k[s>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[t>>2]|0);break a}else{Uz(f,16,k[g+4>>2]|0)|0;break a}}}while(0);if(k[y>>2]|0){vA(k[s>>2]|0,k[x>>2]|0);vA(k[s>>2]|0,k[y>>2]|0)}bA(k[D>>2]|0,k[v>>2]|0);h=k[D>>2]|0;g=k[z>>2]|0;f=k[A>>2]|0;if((l[(k[B>>2]|0)+28>>0]|0)&1)lx(h,3,g,f)|0;else lx(h,7,g,f)|0;if(!(k[(k[B>>2]|0)+12>>2]|0)){B=k[D>>2]|0;D=k[C>>2]|0;bA(B,D);r=E;return}Uz(k[D>>2]|0,70,k[(k[B>>2]|0)+12>>2]|0)|0;B=k[D>>2]|0;D=k[C>>2]|0;bA(B,D);r=E;return}function SG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;v=A+8|0;u=A;d=A+72|0;e=A+68|0;f=A+64|0;t=A+60|0;m=A+56|0;o=A+52|0;g=A+48|0;h=A+44|0;s=A+40|0;p=A+36|0;y=A+32|0;q=A+28|0;x=A+24|0;n=A+20|0;z=A+16|0;w=A+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[t>>2]=k[(k[d>>2]|0)+8>>2];k[g>>2]=k[k[d>>2]>>2];if(i[(k[d>>2]|0)+453>>0]|0){r=A;return}if(l[(k[d>>2]|0)+16>>0]|0){r=A;return}if(l[(k[g>>2]|0)+69>>0]|0){r=A;return}i[(k[d>>2]|0)+16>>0]=1;k[h>>2]=(k[(k[g>>2]|0)+24>>2]&4|0)!=0&1;k[s>>2]=(k[(k[g>>2]|0)+24>>2]&64|0)!=0&1;jC(k[t>>2]|0,k[k[f>>2]>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[p>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2];do if(k[p>>2]|0){if(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2]|0){k[y>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2];kC(k[t>>2]|0,k[m>>2]|0,0,k[y>>2]|0,-1)|0;break}if((l[k[p>>2]>>0]|0)!=152?(l[k[p>>2]>>0]|0)!=154:0){k[w>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2];c=k[g>>2]|0;if(!(k[w>>2]|0)){k[v>>2]=(k[m>>2]|0)+1;c=Oh(c,36184,v)|0}else c=zh(c,k[w>>2]|0)|0;k[w>>2]=c;kC(k[t>>2]|0,k[m>>2]|0,0,k[w>>2]|0,170)|0;break}k[n>>2]=j[(k[p>>2]|0)+32>>1];k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[e>>2]>>2]|0))break;if((k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0)==(k[(k[p>>2]|0)+28>>2]|0))break;k[o>>2]=(k[o>>2]|0)+1}k[q>>2]=k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2];if((k[n>>2]|0)<0)k[n>>2]=j[(k[q>>2]|0)+32>>1];if((k[n>>2]|0)<0)k[x>>2]=25361;else k[x>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(!((k[s>>2]|0)!=0|(k[h>>2]|0)!=0)){a=k[t>>2]|0;b=k[m>>2]|0;kC(a,b,0,zh(k[g>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(k[h>>2]|0){k[z>>2]=0;b=k[g>>2]|0;a=k[x>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;b=Oh(b,30757,u)|0;k[z>>2]=b;kC(k[t>>2]|0,k[m>>2]|0,0,k[z>>2]|0,170)|0;break}else{kC(k[t>>2]|0,k[m>>2]|0,0,k[x>>2]|0,-1)|0;break}}while(0);k[m>>2]=(k[m>>2]|0)+1}TG(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=A;return}function TG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+64|0;l=j+56|0;m=j+52|0;d=j+48|0;h=j+44|0;e=j+40|0;g=j+8|0;f=j+4|0;i=j;k[l>>2]=a;k[m>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[l>>2]|0)+8>>2];k[g+4>>2]=k[m>>2];k[g>>2]=k[l>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];m=gy(g,k[f>>2]|0,0)|0;k[i>>2]=m;kC(k[h>>2]|0,k[e>>2]|0,1,k[i>>2]|0,-1)|0;k[e>>2]=(k[e>>2]|0)+1}r=j;return}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}px(k[d>>2]|0,64,k[e>>2]|0,k[f>>2]|0,1)|0;r=g;return}function VG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=r;r=r+32|0;h=f+24|0;i=f+20|0;n=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;g=f;k[h>>2]=a;k[i>>2]=b;k[n>>2]=c;k[l>>2]=d;k[m>>2]=e;k[j>>2]=k[(k[h>>2]|0)+8>>2];a=rA(k[h>>2]|0)|0;k[g>>2]=a;Qh(k[j>>2]|0,31,k[i>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;px(k[j>>2]|0,96,k[m>>2]|0,k[l>>2]|0,k[g>>2]|0)|0;lx(k[j>>2]|0,124,k[i>>2]|0,k[g>>2]|0)|0;vA(k[h>>2]|0,k[g>>2]|0);r=f;return}function WG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;t=A+64|0;c=A+60|0;u=A+56|0;w=A+52|0;p=A+48|0;z=A+44|0;q=A+40|0;x=A+36|0;o=A+32|0;g=A+28|0;e=A+24|0;d=A+20|0;f=A+16|0;n=A+12|0;s=A+8|0;h=A+4|0;y=A;v=A+68|0;k[c>>2]=a;k[u>>2]=b;k[p>>2]=k[(k[c>>2]|0)+24>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=k[(k[p>>2]|0)+4>>2];k[x>>2]=k[(k[p>>2]|0)+12>>2];switch(l[k[u>>2]>>0]|0){case 152:case 154:{a:do if(k[q>>2]|0){k[o>>2]=(k[q>>2]|0)+8;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[k[q>>2]>>2]|0))break a;if((k[(k[u>>2]|0)+28>>2]|0)==(k[(k[o>>2]|0)+44>>2]|0))break;k[w>>2]=(k[w>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+72}k[g>>2]=k[(k[x>>2]|0)+28>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0))break;if((k[(k[g>>2]|0)+4>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0)?(k[(k[g>>2]|0)+8>>2]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+24}if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0)?(y=YG(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[e>>2]=y,(y|0)>=0):0){k[g>>2]=(k[(k[x>>2]|0)+28>>2]|0)+((k[e>>2]|0)*24|0);k[k[g>>2]>>2]=k[(k[u>>2]|0)+44>>2];k[(k[g>>2]|0)+4>>2]=k[(k[u>>2]|0)+28>>2];k[(k[g>>2]|0)+8>>2]=j[(k[u>>2]|0)+32>>1];y=(k[z>>2]|0)+76|0;z=(k[y>>2]|0)+1|0;k[y>>2]=z;k[(k[g>>2]|0)+16>>2]=z;k[(k[g>>2]|0)+12>>2]=-1;k[(k[g>>2]|0)+20>>2]=k[u>>2];b:do if(k[(k[x>>2]|0)+24>>2]|0){k[n>>2]=k[(k[x>>2]|0)+24>>2];k[s>>2]=k[(k[n>>2]|0)+4>>2];k[f>>2]=k[k[n>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;k[h>>2]=k[k[s>>2]>>2];if(((l[k[h>>2]>>0]|0)==152?(k[(k[h>>2]|0)+28>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0):0)?(j[(k[h>>2]|0)+32>>1]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}k[(k[g>>2]|0)+12>>2]=k[d>>2]}while(0);if((k[(k[g>>2]|0)+12>>2]|0)<0){y=(k[x>>2]|0)+12|0;z=k[y>>2]|0;k[y>>2]=z+1;k[(k[g>>2]|0)+12>>2]=z}}k[(k[u>>2]|0)+40>>2]=k[x>>2];i[k[u>>2]>>0]=-102;j[(k[u>>2]|0)+34>>1]=k[e>>2]}while(0);k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}case 153:{if((m[(k[p>>2]|0)+28>>1]&8|0)==0?(k[(k[c>>2]|0)+16>>2]|0)==(l[(k[u>>2]|0)+38>>0]|0):0){k[y>>2]=k[(k[x>>2]|0)+40>>2];k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0))break;if(!(My(k[k[y>>2]>>2]|0,k[u>>2]|0,-1)|0))break;k[w>>2]=(k[w>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+16}do if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0)?(i[v>>0]=i[(k[k[z>>2]>>2]|0)+66>>0]|0,a=ZG(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[w>>2]=a,(k[w>>2]|0)>=0):0){k[y>>2]=(k[(k[x>>2]|0)+40>>2]|0)+(k[w>>2]<<4);k[k[y>>2]>>2]=k[u>>2];s=(k[z>>2]|0)+76|0;a=(k[s>>2]|0)+1|0;k[s>>2]=a;k[(k[y>>2]|0)+8>>2]=a;if(k[(k[u>>2]|0)+20>>2]|0)c=k[k[(k[u>>2]|0)+20>>2]>>2]|0;else c=0;v=si(k[k[z>>2]>>2]|0,k[(k[u>>2]|0)+8>>2]|0,c,i[v>>0]|0,0)|0;k[(k[y>>2]|0)+4>>2]=v;if(k[(k[u>>2]|0)+4>>2]&16){v=(k[z>>2]|0)+72|0;z=k[v>>2]|0;k[v>>2]=z+1;k[(k[y>>2]|0)+12>>2]=z;break}else{k[(k[y>>2]|0)+12>>2]=-1;break}}while(0);j[(k[u>>2]|0)+34>>1]=k[w>>2];k[(k[u>>2]|0)+40>>2]=k[x>>2];k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}default:{k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}}return 0}function XG(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function YG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=OC(k[f>>2]|0,k[(k[e>>2]|0)+28>>2]|0,24,(k[e>>2]|0)+32|0,c)|0;k[(k[e>>2]|0)+28>>2]=b;r=d;return k[c>>2]|0}function ZG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=OC(k[f>>2]|0,k[(k[e>>2]|0)+40>>2]|0,16,(k[e>>2]|0)+44|0,c)|0;k[(k[e>>2]|0)+40>>2]=b;r=d;return k[c>>2]|0}function _G(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+96|0;q=J+88|0;s=J+84|0;h=J+80|0;j=J+76|0;n=J+72|0;t=J+68|0;o=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;p=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;k[q>>2]=a;k[s>>2]=b;k[h>>2]=c;k[j>>2]=d;k[n>>2]=e;k[t>>2]=f;k[o>>2]=g;k[I>>2]=k[(k[q>>2]|0)+8>>2];k[x>>2]=(l[(k[s>>2]|0)+28>>0]&1|0)==0&1;k[z>>2]=k[k[k[s>>2]>>2]>>2];k[p>>2]=(k[z>>2]|0)+(k[x>>2]|0)+(k[t>>2]|0);d=(k[q>>2]|0)+76|0;e=(k[d>>2]|0)+1|0;k[d>>2]=e;k[H>>2]=e;k[B>>2]=k[(k[s>>2]|0)+4>>2];if(k[o>>2]|0)k[F>>2]=(k[j>>2]|0)-(k[z>>2]|0)-(k[x>>2]|0);else{k[F>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;e=(k[q>>2]|0)+76|0;k[e>>2]=(k[e>>2]|0)+(k[p>>2]|0)}f=k[h>>2]|0;if(k[(k[h>>2]|0)+16>>2]|0)f=(k[f+16>>2]|0)+1|0;else f=k[f+12>>2]|0;k[y>>2]=f;h=Zz(k[I>>2]|0)|0;k[(k[s>>2]|0)+24>>2]=h;bB(k[q>>2]|0,k[k[s>>2]>>2]|0,k[F>>2]|0,k[n>>2]|0,5)|0;if(k[x>>2]|0)lx(k[I>>2]|0,111,k[(k[s>>2]|0)+8>>2]|0,(k[F>>2]|0)+(k[z>>2]|0)|0)|0;if(!(k[o>>2]|0))KG(k[q>>2]|0,k[j>>2]|0,(k[F>>2]|0)+(k[z>>2]|0)+(k[x>>2]|0)|0,k[t>>2]|0);px(k[I>>2]|0,96,(k[F>>2]|0)+(k[B>>2]|0)|0,(k[p>>2]|0)-(k[B>>2]|0)|0,k[H>>2]|0)|0;if((k[B>>2]|0)>0){k[G>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;f=(k[q>>2]|0)+76|0;k[f>>2]=(k[f>>2]|0)+(k[(k[s>>2]|0)+4>>2]|0);k[A>>2]=(k[z>>2]|0)-(k[(k[s>>2]|0)+4>>2]|0)+(k[x>>2]|0);f=k[I>>2]|0;if(k[x>>2]|0){z=Uz(f,22,(k[F>>2]|0)+(k[z>>2]|0)|0)|0;k[v>>2]=z}else{z=Uz(f,107,k[(k[s>>2]|0)+8>>2]|0)|0;k[v>>2]=z}px(k[I>>2]|0,93,k[G>>2]|0,k[F>>2]|0,k[(k[s>>2]|0)+4>>2]|0)|0;z=hA(k[I>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;k[E>>2]=z;if(i[(k[k[q>>2]>>2]|0)+69>>0]|0){r=J;return}k[(k[E>>2]|0)+8>>2]=(k[A>>2]|0)+(k[t>>2]|0);k[D>>2]=k[(k[E>>2]|0)+16>>2];KR(k[(k[D>>2]|0)+16>>2]|0,0,m[(k[D>>2]|0)+6>>1]|0)|0;Uh(k[I>>2]|0,-1,k[D>>2]|0,-6);D=xG(k[q>>2]|0,k[k[s>>2]>>2]|0,k[B>>2]|0,(m[(k[D>>2]|0)+8>>1]|0)-1|0)|0;k[(k[E>>2]|0)+16>>2]=D;D=Yz(k[I>>2]|0)|0;k[w>>2]=D;px(k[I>>2]|0,18,(k[w>>2]|0)+1|0,0,(k[w>>2]|0)+1|0)|0;D=Zz(k[I>>2]|0)|0;k[(k[s>>2]|0)+16>>2]=D;D=(k[q>>2]|0)+76|0;E=(k[D>>2]|0)+1|0;k[D>>2]=E;k[(k[s>>2]|0)+12>>2]=E;lx(k[I>>2]|0,14,k[(k[s>>2]|0)+12>>2]|0,k[(k[s>>2]|0)+16>>2]|0)|0;Uz(k[I>>2]|0,130,k[(k[s>>2]|0)+8>>2]|0)|0;if(k[y>>2]|0)lx(k[I>>2]|0,22,k[y>>2]|0,k[(k[s>>2]|0)+24>>2]|0)|0;aA(k[I>>2]|0,k[v>>2]|0);KG(k[q>>2]|0,k[F>>2]|0,k[G>>2]|0,k[(k[s>>2]|0)+4>>2]|0);aA(k[I>>2]|0,k[w>>2]|0)}if(l[(k[s>>2]|0)+28>>0]&1)k[C>>2]=123;else k[C>>2]=124;lx(k[I>>2]|0,k[C>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[H>>2]|0)|0;if(!(k[y>>2]|0)){r=J;return}H=px(k[I>>2]|0,65,k[y>>2]|0,0,1)|0;k[u>>2]=H;Uz(k[I>>2]|0,33,k[(k[s>>2]|0)+8>>2]|0)|0;Uz(k[I>>2]|0,115,k[(k[s>>2]|0)+8>>2]|0)|0;aA(k[I>>2]|0,k[u>>2]|0);r=J;return}function $G(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;h=p+20|0;e=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;k[e>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;if(!(k[m>>2]|0)){k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}do if((l[k[m>>2]>>0]|0)==152?(k[(k[m>>2]|0)+28>>2]|0)==(k[n>>2]|0):0)if((j[(k[m>>2]|0)+32>>1]|0)<0){i[k[m>>2]>>0]=101;break}else{o=Ky(k[e>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;k[f>>2]=o;qv(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[f>>2];break}else g=8;while(0);do if((g|0)==8){a=$G(k[e>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+12>>2]=a;a=$G(k[e>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+16>>2]=a;e=k[e>>2]|0;a=(k[m>>2]|0)+20|0;if(k[(k[m>>2]|0)+4>>2]&2048){aH(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0,1);break}else{bH(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0);break}}while(0);k[h>>2]=k[m>>2];o=k[h>>2]|0;r=p;return o|0}function aH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;o=p+8|0;n=p+4|0;m=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if(!(k[g>>2]|0)){r=p;return}while(1){bH(k[f>>2]|0,k[k[g>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0);bH(k[f>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[h>>2]|0,k[i>>2]|0);bH(k[f>>2]|0,k[(k[g>>2]|0)+44>>2]|0,k[h>>2]|0,k[i>>2]|0);d=$G(k[f>>2]|0,k[(k[g>>2]|0)+40>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+40>>2]=d;d=$G(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=d;k[o>>2]=k[(k[g>>2]|0)+28>>2];k[m>>2]=k[k[o>>2]>>2];k[n>>2]=(k[o>>2]|0)+8;while(1){if((k[m>>2]|0)<=0)break;aH(k[f>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[h>>2]|0,k[i>>2]|0,1);if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1)bH(k[f>>2]|0,k[(k[n>>2]|0)+64>>2]|0,k[h>>2]|0,k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+72}if(!(k[j>>2]|0)){f=9;break}d=k[(k[g>>2]|0)+48>>2]|0;k[g>>2]=d;if(!d){f=9;break}}if((f|0)==9){r=p;return}}function bH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[k[f>>2]>>2]|0))break;b=$G(k[e>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]=b;k[i>>2]=(k[i>>2]|0)+1}r=j;return}function cH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=1;k[i>>2]=0;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2];k[g>>2]=(k[g>>2]|0)+1}while(1){if(!(k[e>>2]|0)){d=7;break}k[h>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=0;a=Xv(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[i>>2]=a;k[(k[e>>2]|0)+48>>2]=k[h>>2];if(k[i>>2]|0){d=7;break}j[(k[e>>2]|0)+6>>1]=k[g>>2];k[e>>2]=k[(k[e>>2]|0)+52>>2]}if((d|0)==7){r=l;return k[i>>2]|0}return 0}function dH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+128|0;F=G;n=G+112|0;o=G+108|0;p=G+104|0;e=G+100|0;i=G+96|0;E=G+92|0;A=G+88|0;t=G+84|0;s=G+80|0;q=G+76|0;v=G+72|0;B=G+68|0;w=G+64|0;h=G+60|0;g=G+56|0;u=G+36|0;d=G+32|0;m=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;j=G+4|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[e>>2]=k[(k[o>>2]|0)+28>>2];k[i>>2]=k[k[k[o>>2]>>2]>>2];k[E>>2]=k[(k[n>>2]|0)+8>>2];k[A>>2]=k[(k[o>>2]|0)+48>>2];k[v>>2]=0;k[h>>2]=0;k[g>>2]=5;if(gx(k[n>>2]|0,33,0,0,0)|0){r=G;return}a=Zz(k[E>>2]|0)|0;k[q>>2]=a;yG(k[n>>2]|0,k[o>>2]|0,k[q>>2]|0);k[x>>2]=k[(k[o>>2]|0)+56>>2];k[y>>2]=k[(k[o>>2]|0)+60>>2];k[C>>2]=k[(k[o>>2]|0)+12>>2];k[D>>2]=k[(k[o>>2]|0)+16>>2];k[(k[o>>2]|0)+60>>2]=0;k[(k[o>>2]|0)+56>>2]=0;k[(k[o>>2]|0)+16>>2]=0;k[(k[o>>2]|0)+12>>2]=0;k[z>>2]=k[(k[o>>2]|0)+44>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[e>>2]>>2]|0))break;b=k[d>>2]|0;if((l[(k[e>>2]|0)+8+((k[d>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){f=5;break}k[d>>2]=b+1}if((f|0)==5)k[v>>2]=k[(k[e>>2]|0)+8+(b*72|0)+44>>2];f=(k[n>>2]|0)+72|0;b=k[f>>2]|0;k[f>>2]=b+1;k[w>>2]=b;b=(k[z>>2]|0)!=0;if((l[(k[o>>2]|0)+4>>0]|0|0)==115){k[g>>2]=b?8:6;e=(k[n>>2]|0)+72|0;f=k[e>>2]|0;k[e>>2]=f+1;k[h>>2]=f}else k[g>>2]=b?7:5;uB(u,k[g>>2]|0,k[w>>2]|0);f=(k[n>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[B>>2]=g;px(k[E>>2]|0,108,k[v>>2]|0,k[B>>2]|0,k[i>>2]|0)|0;if(k[z>>2]|0){i=hH(k[n>>2]|0,k[o>>2]|0,1)|0;k[j>>2]=i;ox(k[E>>2]|0,105,k[w>>2]|0,(k[k[z>>2]>>2]|0)+2|0,0,k[j>>2]|0,-6)|0;k[u+16>>2]=k[z>>2]}else lx(k[E>>2]|0,105,k[w>>2]|0,k[i>>2]|0)|0;if(k[h>>2]|0){j=lx(k[E>>2]|0,105,k[h>>2]|0,0)|0;k[(k[o>>2]|0)+20>>2]=j;j=(k[o>>2]|0)+8|0;k[j>>2]=k[j>>2]|32}k[(k[o>>2]|0)+44>>2]=0;k[(k[A>>2]|0)+52>>2]=0;j=Xv(k[n>>2]|0,k[A>>2]|0,u)|0;k[m>>2]=j;k[(k[A>>2]|0)+52>>2]=k[o>>2];if(!(k[m>>2]|0)){b=lx(k[E>>2]|0,55,k[w>>2]|0,k[q>>2]|0)|0;k[t>>2]=b;Uz(k[E>>2]|0,122,k[v>>2]|0)|0;b=k[E>>2]|0;c=k[w>>2]|0;if(k[z>>2]|0)px(b,94,c,(k[k[z>>2]>>2]|0)+1|0,k[B>>2]|0)|0;else lx(b,120,c,k[B>>2]|0)|0;Uz(k[E>>2]|0,115,k[w>>2]|0)|0;B=Zz(k[E>>2]|0)|0;k[s>>2]=B;UG(k[E>>2]|0,k[D>>2]|0,k[s>>2]|0);FG(k[n>>2]|0,k[o>>2]|0,k[k[o>>2]>>2]|0,k[v>>2]|0,0,0,k[p>>2]|0,k[s>>2]|0,k[q>>2]|0);if(k[C>>2]|0)lx(k[E>>2]|0,66,k[C>>2]|0,k[q>>2]|0)|0;bA(k[E>>2]|0,k[s>>2]|0);if(k[(k[o>>2]|0)+8>>2]&8)Mh(k[n>>2]|0,36465,F);else{k[(k[o>>2]|0)+48>>2]=0;Xv(k[n>>2]|0,k[o>>2]|0,u)|0;k[(k[o>>2]|0)+48>>2]=k[A>>2]}$z(k[E>>2]|0,k[t>>2]|0)|0;bA(k[E>>2]|0,k[q>>2]|0)}mv(k[k[n>>2]>>2]|0,k[(k[o>>2]|0)+44>>2]|0);k[(k[o>>2]|0)+44>>2]=k[z>>2];k[(k[o>>2]|0)+56>>2]=k[x>>2];k[(k[o>>2]|0)+60>>2]=k[y>>2];r=G;return}function eH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=r;r=r+224|0;p=ba+212|0;q=ba+208|0;s=ba+204|0;t=ba+200|0;d=ba+196|0;e=ba+192|0;S=ba+188|0;aa=ba+184|0;H=ba+164|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;o=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;g=ba+16|0;n=ba+12|0;h=ba+8|0;f=ba+4|0;P=ba;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[D>>2]=0;k[Q>>2]=0;k[G>>2]=k[k[q>>2]>>2];k[aa>>2]=k[(k[q>>2]|0)+8>>2];a=Zz(k[aa>>2]|0)|0;k[M>>2]=a;a=Zz(k[aa>>2]|0)|0;k[L>>2]=a;k[O>>2]=l[(k[s>>2]|0)+4>>0];k[S>>2]=k[(k[s>>2]|0)+48>>2];k[o>>2]=k[(k[s>>2]|0)+44>>2];k[N>>2]=k[k[o>>2]>>2];a:do if((k[O>>2]|0)!=116){k[d>>2]=1;while(1){if(l[(k[G>>2]|0)+69>>0]|0)break a;if((k[d>>2]|0)>(k[k[k[s>>2]>>2]>>2]|0))break a;k[e>>2]=0;k[g>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[N>>2]|0))break;if((m[(k[g>>2]|0)+16>>1]|0)==(k[d>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+20}if((k[e>>2]|0)==(k[N>>2]|0)){a=cw(k[G>>2]|0,132,0)|0;k[n>>2]=a;if(!(k[n>>2]|0))break;a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[d>>2];a=$v(k[q>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){c=k[d>>2]&65535;a=k[N>>2]|0;k[N>>2]=a+1;j[(k[(k[o>>2]|0)+4>>2]|0)+(a*20|0)+16>>1]=c}}k[d>>2]=(k[d>>2]|0)+1}k[p>>2]=7;aa=k[p>>2]|0;r=ba;return aa|0}while(0);a=$w(k[G>>2]|0,(k[N>>2]|0)+1<<2,0)|0;k[u>>2]=a;if(k[u>>2]|0){k[k[u>>2]>>2]=k[N>>2];k[d>>2]=1;k[h>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[d>>2]|0)>(k[N>>2]|0))break;k[(k[u>>2]|0)+(k[d>>2]<<2)>>2]=(m[(k[h>>2]|0)+16>>1]|0)-1;k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}a=hH(k[q>>2]|0,k[s>>2]|0,1)|0;k[R>>2]=a}else k[R>>2]=0;k[(k[s>>2]|0)+44>>2]=k[o>>2];a=Sy(k[k[q>>2]>>2]|0,k[o>>2]|0,0)|0;k[(k[S>>2]|0)+44>>2]=a;b:do if((k[O>>2]|0)!=116){k[f>>2]=k[k[k[s>>2]>>2]>>2];k[Z>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;a=(k[q>>2]|0)+76|0;k[a>>2]=(k[a>>2]|0)+((k[f>>2]|0)+1);lx(k[aa>>2]|0,74,0,k[Z>>2]|0)|0;a=lA(k[G>>2]|0,k[f>>2]|0,1)|0;k[Q>>2]=a;if(k[Q>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;a=gH(k[q>>2]|0,k[s>>2]|0,k[d>>2]|0)|0;k[(k[Q>>2]|0)+20+(k[d>>2]<<2)>>2]=a;i[(k[(k[Q>>2]|0)+16>>2]|0)+(k[d>>2]|0)>>0]=0;k[d>>2]=(k[d>>2]|0)+1}}}else k[Z>>2]=0;while(0);k[(k[s>>2]|0)+48>>2]=0;k[(k[S>>2]|0)+52>>2]=0;Vy(k[q>>2]|0,k[s>>2]|0,k[(k[s>>2]|0)+44>>2]|0,29703)|0;if(!(k[(k[S>>2]|0)+48>>2]|0))Vy(k[q>>2]|0,k[S>>2]|0,k[(k[S>>2]|0)+44>>2]|0,29703)|0;yG(k[q>>2]|0,k[s>>2]|0,k[M>>2]|0);if((k[O>>2]|0)==116?(k[(k[s>>2]|0)+12>>2]|0)!=0:0){d=(k[q>>2]|0)+76|0;a=(k[d>>2]|0)+1|0;k[d>>2]=a;k[V>>2]=a;a=(k[q>>2]|0)+76|0;d=(k[a>>2]|0)+1|0;k[a>>2]=d;k[W>>2]=d;d=k[s>>2]|0;if(k[(k[s>>2]|0)+16>>2]|0)d=(k[d+16>>2]|0)+1|0;else d=k[d+12>>2]|0;lx(k[aa>>2]|0,82,d,k[V>>2]|0)|0;lx(k[aa>>2]|0,82,k[V>>2]|0,k[W>>2]|0)|0}else{k[W>>2]=0;k[V>>2]=0}qv(k[G>>2]|0,k[(k[s>>2]|0)+56>>2]|0);k[(k[s>>2]|0)+56>>2]=0;qv(k[G>>2]|0,k[(k[s>>2]|0)+60>>2]|0);k[(k[s>>2]|0)+60>>2]=0;a=(k[q>>2]|0)+76|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[T>>2]=o;o=(k[q>>2]|0)+76|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[U>>2]=a;a=(k[q>>2]|0)+76|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[X>>2]=o;o=(k[q>>2]|0)+76|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[Y>>2]=a;uB(H,13,k[T>>2]|0);uB(I,13,k[U>>2]|0);a=(Yz(k[aa>>2]|0)|0)+1|0;k[E>>2]=a;E=px(k[aa>>2]|0,15,k[T>>2]|0,0,k[E>>2]|0)|0;k[v>>2]=E;k[(k[S>>2]|0)+12>>2]=k[V>>2];k[J>>2]=k[(k[q>>2]|0)+472>>2];Xv(k[q>>2]|0,k[S>>2]|0,H)|0;UC(k[aa>>2]|0,k[T>>2]|0);aA(k[aa>>2]|0,k[v>>2]|0);V=(Yz(k[aa>>2]|0)|0)+1|0;k[F>>2]=V;V=px(k[aa>>2]|0,15,k[U>>2]|0,0,k[F>>2]|0)|0;k[v>>2]=V;k[_>>2]=k[(k[s>>2]|0)+12>>2];k[$>>2]=k[(k[s>>2]|0)+16>>2];k[(k[s>>2]|0)+12>>2]=k[W>>2];k[(k[s>>2]|0)+16>>2]=0;k[K>>2]=k[(k[q>>2]|0)+472>>2];Xv(k[q>>2]|0,k[s>>2]|0,I)|0;k[(k[s>>2]|0)+12>>2]=k[_>>2];k[(k[s>>2]|0)+16>>2]=k[$>>2];UC(k[aa>>2]|0,k[U>>2]|0);$=iH(k[q>>2]|0,k[s>>2]|0,H,k[t>>2]|0,k[X>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[C>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115){$=iH(k[q>>2]|0,k[s>>2]|0,I,k[t>>2]|0,k[Y>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[D>>2]=$}mA(k[Q>>2]|0);if((k[O>>2]|0)==117|(k[O>>2]|0)==118){$=k[M>>2]|0;k[z>>2]=$;k[A>>2]=$}else{$=lx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;k[z>>2]=$;$=lx(k[aa>>2]|0,16,k[U>>2]|0,k[M>>2]|0)|0;k[A>>2]=$;$z(k[aa>>2]|0,k[z>>2]|0)|0;$=fE(j[(k[s>>2]|0)+6>>1]|0,j[(k[S>>2]|0)+6>>1]|0)|0;j[(k[s>>2]|0)+6>>1]=$}if((k[O>>2]|0)==118){k[B>>2]=k[z>>2];if((j[(k[s>>2]|0)+6>>1]|0)>(j[(k[S>>2]|0)+6>>1]|0))j[(k[s>>2]|0)+6>>1]=j[(k[S>>2]|0)+6>>1]|0}else{$=lx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[B>>2]=$;lx(k[aa>>2]|0,16,k[T>>2]|0,k[M>>2]|0)|0;$z(k[aa>>2]|0,k[B>>2]|0)|0}$=lx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[y>>2]=$;lx(k[aa>>2]|0,16,k[T>>2]|0,k[z>>2]|0)|0;$z(k[aa>>2]|0,k[L>>2]|0)|0;do if((k[O>>2]|0)!=116)if((k[O>>2]|0)==118){k[w>>2]=k[y>>2];k[y>>2]=(k[y>>2]|0)+1;break}else{$=lx(k[aa>>2]|0,16,k[T>>2]|0,k[z>>2]|0)|0;k[w>>2]=$;$z(k[aa>>2]|0,k[L>>2]|0)|0;break}else k[w>>2]=k[y>>2];while(0);$=Yz(k[aa>>2]|0)|0;k[x>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115)lx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;lx(k[aa>>2]|0,16,k[U>>2]|0,k[B>>2]|0)|0;$z(k[aa>>2]|0,k[L>>2]|0)|0;aA(k[aa>>2]|0,k[v>>2]|0);lx(k[aa>>2]|0,16,k[T>>2]|0,k[A>>2]|0)|0;lx(k[aa>>2]|0,16,k[U>>2]|0,k[B>>2]|0)|0;bA(k[aa>>2]|0,k[L>>2]|0);ox(k[aa>>2]|0,92,0,0,0,k[u>>2]|0,-15)|0;ox(k[aa>>2]|0,93,k[H+8>>2]|0,k[I+8>>2]|0,k[N>>2]|0,k[R>>2]|0,-6)|0;Rh(k[aa>>2]|0,1);px(k[aa>>2]|0,18,k[y>>2]|0,k[w>>2]|0,k[x>>2]|0)|0;bA(k[aa>>2]|0,k[M>>2]|0);if((l[k[t>>2]>>0]|0)==9){k[P>>2]=k[S>>2];while(1){if(!(k[(k[P>>2]|0)+48>>2]|0))break;k[P>>2]=k[(k[P>>2]|0)+48>>2]}SG(k[q>>2]|0,k[(k[P>>2]|0)+28>>2]|0,k[k[P>>2]>>2]|0)}if(k[(k[s>>2]|0)+48>>2]|0)nv(k[G>>2]|0,k[(k[s>>2]|0)+48>>2]|0);k[(k[s>>2]|0)+48>>2]=k[S>>2];k[(k[S>>2]|0)+52>>2]=k[s>>2];fH(k[q>>2]|0,l[(k[s>>2]|0)+4>>0]|0,k[J>>2]|0,k[K>>2]|0,0);k[p>>2]=(k[(k[q>>2]|0)+68>>2]|0)!=0&1;aa=k[p>>2]|0;r=ba;return aa|0}function fH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;m=p+20|0;o=p+16|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((l[(k[f>>2]|0)+453>>0]|0|0)!=2){r=p;return}k[m>>2]=k[(k[f>>2]|0)+8>>2];a=k[k[f>>2]>>2]|0;e=k[h>>2]|0;c=k[i>>2]|0;d=(k[j>>2]|0)!=0?36409:19018;b=Uy(k[g>>2]|0)|0;k[n>>2]=e;k[n+4>>2]=c;k[n+8>>2]=d;k[n+12>>2]=b;n=Oh(a,36428,n)|0;k[o>>2]=n;ox(k[m>>2]|0,160,k[(k[f>>2]|0)+468>>2]|0,0,0,k[o>>2]|0,-1)|0;r=p;return}function gH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+48>>2]|0){a=gH(k[d>>2]|0,k[(k[e>>2]|0)+48>>2]|0,k[f>>2]|0)|0;k[g>>2]=a}else k[g>>2]=0;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}if((k[f>>2]|0)>=(k[k[k[e>>2]>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=iy(k[d>>2]|0,k[(k[(k[k[e>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function hH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+40|0;e=q+36|0;s=q+32|0;n=q+28|0;h=q+24|0;f=q+20|0;o=q+16|0;g=q+12|0;l=q+8|0;p=q+4|0;j=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[n>>2]=k[(k[e>>2]|0)+44>>2];k[h>>2]=k[k[(k[e>>2]|0)+44>>2]>>2];k[f>>2]=k[k[d>>2]>>2];a=lA(k[f>>2]|0,(k[h>>2]|0)+(k[s>>2]|0)|0,1)|0;k[o>>2]=a;if(!(k[o>>2]|0)){s=k[o>>2]|0;r=q;return s|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[l>>2]=(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);k[p>>2]=k[k[l>>2]>>2];c=k[d>>2]|0;if(k[(k[p>>2]|0)+4>>2]&256){s=iy(c,k[p>>2]|0)|0;k[j>>2]=s}else{s=gH(c,k[e>>2]|0,(m[(k[l>>2]|0)+16>>1]|0)-1|0)|0;k[j>>2]=s;if(!(k[j>>2]|0))k[j>>2]=k[(k[f>>2]|0)+8>>2];s=Yy(k[d>>2]|0,k[p>>2]|0,k[k[j>>2]>>2]|0)|0;k[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]=s}k[(k[o>>2]|0)+20+(k[g>>2]<<2)>>2]=k[j>>2];i[(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0;k[g>>2]=(k[g>>2]|0)+1}s=k[o>>2]|0;r=q;return s|0}function iH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;j=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[C>>2]=k[(k[m>>2]|0)+8>>2];e=Yz(k[C>>2]|0)|0;k[v>>2]=e;e=Zz(k[C>>2]|0)|0;k[y>>2]=e;if(k[s>>2]|0){g=Uz(k[C>>2]|0,22,k[s>>2]|0)|0;k[w>>2]=g;g=k[C>>2]|0;a=k[(k[o>>2]|0)+8>>2]|0;f=(k[s>>2]|0)+1|0;e=k[(k[o>>2]|0)+12>>2]|0;e=ox(g,93,a,f,e,qA(k[t>>2]|0)|0,-6)|0;k[x>>2]=e;px(k[C>>2]|0,18,(k[x>>2]|0)+2|0,k[y>>2]|0,(k[x>>2]|0)+2|0)|0;aA(k[C>>2]|0,k[w>>2]|0);px(k[C>>2]|0,82,k[(k[o>>2]|0)+8>>2]|0,(k[s>>2]|0)+1|0,(k[(k[o>>2]|0)+12>>2]|0)-1|0)|0;lx(k[C>>2]|0,74,1,k[s>>2]|0)|0}if(i[(k[k[m>>2]>>2]|0)+69>>0]|0){k[j>>2]=0;C=k[j>>2]|0;r=D;return C|0}UG(k[C>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[y>>2]|0);switch(l[k[p>>2]>>0]|0){case 12:{e=rA(k[m>>2]|0)|0;k[z>>2]=e;e=rA(k[m>>2]|0)|0;k[B>>2]=e;px(k[C>>2]|0,96,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[z>>2]|0)|0;lx(k[C>>2]|0,112,k[(k[p>>2]|0)+4>>2]|0,k[B>>2]|0)|0;px(k[C>>2]|0,113,k[(k[p>>2]|0)+4>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;Rh(k[C>>2]|0,8);vA(k[m>>2]|0,k[B>>2]|0);vA(k[m>>2]|0,k[z>>2]|0);break}case 11:{e=nB(k[k[(k[k[n>>2]>>2]|0)+4>>2]>>2]|0,i[(k[p>>2]|0)+1>>0]|0)|0;i[(k[p>>2]|0)+1>>0]=e;e=rA(k[m>>2]|0)|0;k[A>>2]=e;ox(k[C>>2]|0,96,k[(k[o>>2]|0)+8>>2]|0,1,k[A>>2]|0,(k[p>>2]|0)+1|0,1)|0;ZA(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,1);lx(k[C>>2]|0,124,k[(k[p>>2]|0)+4>>2]|0,k[A>>2]|0)|0;vA(k[m>>2]|0,k[A>>2]|0);break}case 10:{KG(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[p>>2]|0)+4>>2]|0,1);break}case 13:{if(!(k[(k[p>>2]|0)+8>>2]|0)){e=HA(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[p>>2]|0)+8>>2]=e;k[(k[p>>2]|0)+12>>2]=k[(k[o>>2]|0)+12>>2]}KG(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[p>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0);Uz(k[C>>2]|0,16,k[(k[p>>2]|0)+4>>2]|0)|0;break}default:{lx(k[C>>2]|0,85,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;ZA(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0)}}if(k[(k[n>>2]|0)+12>>2]|0)lx(k[C>>2]|0,66,k[(k[n>>2]|0)+12>>2]|0,k[u>>2]|0)|0;bA(k[C>>2]|0,k[y>>2]|0);Uz(k[C>>2]|0,70,k[q>>2]|0)|0;k[j>>2]=k[v>>2];C=k[j>>2]|0;r=D;return C|0}function jH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if(!(k[(k[g>>2]|0)+24>>2]&524288)){r=n;return}if((l[(k[f>>2]|0)+42>>0]|0)&16){r=n;return}if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[h>>2]=0;c=jx(k[d>>2]|0)|0;k[m>>2]=c;do if(!($x(k[f>>2]|0)|0)){k[j>>2]=k[(k[f>>2]|0)+16>>2];while(1){if(!(k[j>>2]|0))break;if(l[(k[j>>2]|0)+24>>0]|0)break;if(k[(k[g>>2]|0)+24>>2]&33554432)break;k[j>>2]=k[(k[j>>2]|0)+4>>2]}if(k[j>>2]|0){c=Zz(k[m>>2]|0)|0;k[h>>2]=c;lx(k[m>>2]|0,63,1,k[h>>2]|0)|0;break}else{r=n;return}}while(0);i[(k[d>>2]|0)+442>>0]=1;c=k[d>>2]|0;kw(c,Iz(k[g>>2]|0,k[e>>2]|0,0)|0,0);i[(k[d>>2]|0)+442>>0]=0;if(!(k[(k[g>>2]|0)+24>>2]&33554432)){c=k[m>>2]|0;lx(c,63,0,(Yz(k[m>>2]|0)|0)+2|0)|0;yA(k[d>>2]|0,787,2,0,-2,4)}if(!(k[h>>2]|0)){r=n;return}bA(k[m>>2]|0,k[h>>2]|0);r=n;return}function kH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;n=q+32|0;i=q+28|0;m=q+24|0;j=q+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[j>>2]=(k[(k[i>>2]|0)+16>>2]|0)+(k[g>>2]<<4);b=jx(k[e>>2]|0)|0;k[n>>2]=b;xx(k[e>>2]|0,1,k[g>>2]|0);if((l[(k[f>>2]|0)+42>>0]|0)&16)tx(k[n>>2]|0,150)|0;b=Cx(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=b;while(1){if(!(k[m>>2]|0))break;XB(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[(k[m>>2]|0)+32>>2]}if((l[(k[f>>2]|0)+42>>0]|0)&8){m=k[e>>2]|0;b=k[k[f>>2]>>2]|0;k[o>>2]=k[k[j>>2]>>2];k[o+4>>2]=b;ix(m,36726,o)}o=k[e>>2]|0;b=(k[g>>2]|0)==1?20521:20540;m=k[k[f>>2]>>2]|0;k[p>>2]=k[k[j>>2]>>2];k[p+4>>2]=b;k[p+8>>2]=m;ix(o,36771,p);if((k[h>>2]|0)==0?((l[(k[f>>2]|0)+42>>0]|0)&16|0)==0:0)lH(k[e>>2]|0,k[f>>2]|0);if(!((l[(k[f>>2]|0)+42>>0]|0)&16)){n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;ox(n,136,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;kx(p,o);o=k[i>>2]|0;p=k[g>>2]|0;mH(o,p);r=q;return}ox(k[n>>2]|0,152,k[g>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;ox(n,136,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;kx(p,o);o=k[i>>2]|0;p=k[g>>2]|0;mH(o,p);r=q;return}function lH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;i=m+20|0;f=m+16|0;j=m+12|0;h=m+8|0;g=m+4|0;e=m;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+28>>2];k[f>>2]=0;while(1){k[h>>2]=0;if(!((k[f>>2]|0)!=0?(k[i>>2]|0)>=(k[f>>2]|0):0))k[h>>2]=k[i>>2];k[j>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[g>>2]=k[(k[j>>2]|0)+44>>2];if(!((k[f>>2]|0)!=0?(k[g>>2]|0)>=(k[f>>2]|0):0))l=9;if((l|0)==9?(l=0,(k[g>>2]|0)>(k[h>>2]|0)):0)k[h>>2]=k[g>>2];k[j>>2]=k[(k[j>>2]|0)+20>>2]}if(!(k[h>>2]|0))break;b=Nh(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+64>>2]|0)|0;k[e>>2]=b;NC(k[c>>2]|0,k[h>>2]|0,k[e>>2]|0);k[f>>2]=k[h>>2]}r=m;return}function mH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){r=g;return}k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[f>>2]|0)+12>>2]|0){nH(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+4>>2]=0;j[(k[f>>2]|0)+34>>1]=0}k[e>>2]=k[k[e>>2]>>2]}f=(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78|0;j[f>>1]=(m[f>>1]|0)&-3;r=g;return}function nH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;b=k[(k[d>>2]|0)+4>>2]|0;k[f>>2]=b;if(!b){r=g;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;bg(a,k[k[f>>2]>>2]|0);qv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+16}bg(a,k[(k[d>>2]|0)+4>>2]|0);r=g;return}function oH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;o=r;r=r+144|0;f=o+128|0;g=o+124|0;h=o+120|0;i=o+116|0;l=o+112|0;n=o;m=o+80|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m+24>>2]=0;k[m+28>>2]=0;d=n;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=1;k[n+8+8>>2]=k[k[g>>2]>>2];k[n+8+16>>2]=k[g>>2];k[n+8+44>>2]=-1;k[m>>2]=k[f>>2];k[m+4>>2]=n;j[m+28>>1]=k[h>>2];n=(Cy(m,k[i>>2]|0)|0)==0;if(!(n&(k[l>>2]|0)!=0)){r=o;return}Dy(m,k[l>>2]|0)|0;r=o;return}function pH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;if((l[k[b>>2]>>0]|0|0)==97){i[a>>0]=55;r=c;return}if((l[a>>0]|0|0)!=53){r=c;return}if((l[k[(k[b>>2]|0)+12>>2]>>0]|0|0)!=97){r=c;return}i[k[(k[b>>2]|0)+12>>2]>>0]=55;r=c;return}function qH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){c=k[e>>2]|0;k[e>>2]=c+-1;if((c|0)<=0){d=5;break}b=k[f>>2]|0;c=k[d>>2]|0;k[d>>2]=c+2;if((b|0)==(j[c>>1]|0)){d=4;break}}if((d|0)==4){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((d|0)==5){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function rH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;e=g+8|0;d=g+4|0;c=g;f=g+16|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[(k[b>>2]|0)+12>>2]|0)+4>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[b>>2]|0)+52>>1]|0))break;j[f>>1]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0;if((j[f>>1]|0)<0)a=1;else a=l[(k[c>>2]|0)+(j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]<<4)+14>>0]|0;k[e>>2]=(k[e>>2]|0)+a;k[d>>2]=(k[d>>2]|0)+1}f=Uj(k[e>>2]<<2,0)|0;j[(k[b>>2]|0)+48>>1]=f;r=g;return}function sH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;tH(k[c>>2]|0,k[d>>2]|0);qv(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0);mv(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(!((l[(k[d>>2]|0)+55>>0]|0)>>>4&1)){a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}function tH(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function uH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=wB(k[e>>2]|0,4+(l[d>>0]|0)|0,0)|0;r=c;return a|0}function vH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+52|0;d=v+48|0;p=v+44|0;s=v+40|0;o=v+36|0;f=v+32|0;h=v+28|0;e=v+24|0;t=v+20|0;q=v+16|0;g=v+8|0;n=v;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[t>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[c>>2]|0)+424>>2]|0)zG(k[t>>2]|0,k[(k[c>>2]|0)+424>>2]|0,-125);a=k[d>>2]|0;do if((j[(k[d>>2]|0)+32>>1]|0)>=0){Zy(g,k[(k[(k[d>>2]|0)+4>>2]|0)+(j[a+32>>1]<<4)>>2]|0);t=k[c>>2]|0;t=$v(t,0,zz(k[e>>2]|0,55,g,0)|0)|0;k[q>>2]=t;if(!(k[q>>2]|0)){r=v;return}i[(k[(k[q>>2]|0)+4>>2]|0)+12>>0]=i[(k[c>>2]|0)+452>>0]|0;t=Qv(k[c>>2]|0,0,0,0,k[q>>2]|0,l[(k[d>>2]|0)+43>>0]|0,0,0,0,0)|0;k[s>>2]=t;if(!(k[s>>2]|0)){r=v;return}else{t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-4|2;j[(k[d>>2]|0)+32>>1]=-1;break}}else{q=Rj(a)|0;k[s>>2]=q;if(k[t>>2]|0)zG(k[t>>2]|0,k[(k[s>>2]|0)+44>>2]|0,13);k[h>>2]=1;k[f>>2]=1;while(1){if((k[f>>2]|0)>=(m[(k[s>>2]|0)+50>>1]|0))break;if(qH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0){t=(k[s>>2]|0)+52|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16}else{q=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;t=k[h>>2]|0;k[h>>2]=t+1;j[(k[(k[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=q}k[f>>2]=(k[f>>2]|0)+1}j[(k[s>>2]|0)+50>>1]=k[h>>2]}while(0);t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-33|32;k[o>>2]=m[(k[s>>2]|0)+50>>1];if(!(i[(k[e>>2]|0)+144+7>>0]|0)){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;i[(k[(k[d>>2]|0)+4>>2]|0)+(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]<<4)+12>>0]=2;k[f>>2]=(k[f>>2]|0)+1}t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-9|8}k[(k[s>>2]|0)+44>>2]=k[(k[d>>2]|0)+28>>2];k[p>>2]=k[(k[d>>2]|0)+8>>2];a:while(1){if(!(k[p>>2]|0))break;b:do if((i[(k[p>>2]|0)+55>>0]&3|0)!=2){k[n>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;if(!(qH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0))k[n>>2]=(k[n>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if(!(k[n>>2]|0)){j[(k[p>>2]|0)+52>>1]=j[(k[p>>2]|0)+50>>1]|0;break}if(AH(k[e>>2]|0,k[p>>2]|0,(m[(k[p>>2]|0)+50>>1]|0)+(k[n>>2]|0)|0)|0){u=46;break a}k[f>>2]=0;k[h>>2]=m[(k[p>>2]|0)+50>>1];while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break b;if(!(qH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0)){j[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;k[(k[(k[p>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=k[(k[(k[s>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}}while(0);k[p>>2]=k[(k[p>>2]|0)+20>>2]}if((u|0)==46){r=v;return}if((k[o>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0)){j[(k[s>>2]|0)+52>>1]=j[(k[d>>2]|0)+34>>1]|0;r=v;return}if(AH(k[e>>2]|0,k[s>>2]|0,j[(k[d>>2]|0)+34>>1]|0)|0){r=v;return}k[f>>2]=0;k[h>>2]=k[o>>2];while(1){if((k[f>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;if(!(qH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,k[f>>2]|0)|0)){j[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=k[f>>2];k[(k[(k[s>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=35351;k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}r=v;return}function wH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;k[c>>2]=j[(k[b>>2]|0)+34>>1];k[d>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[c>>2]|0)<=0)break;k[e>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+14>>0]|0);k[c>>2]=(k[c>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+16}if((j[(k[b>>2]|0)+32>>1]|0)>=0){d=k[e>>2]|0;d=d<<2;d=Uj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}k[e>>2]=(k[e>>2]|0)+1;d=k[e>>2]|0;d=d<<2;d=Uj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}function xH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;p=w+16|0;o=w+8|0;d=w;e=w+68|0;c=w+64|0;f=w+60|0;g=w+56|0;h=w+52|0;m=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;q=w+32|0;n=w+28|0;l=w+24|0;v=w+20|0;k[c>>2]=a;k[f>>2]=b;k[m>>2]=0;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;b=(yH(k[k[n>>2]>>2]|0)|0)+5|0;k[m>>2]=(k[m>>2]|0)+b;k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}b=yH(k[k[f>>2]>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+b;if((k[m>>2]|0)<50){k[s>>2]=19018;k[t>>2]=37926;k[q>>2]=35227}else{k[s>>2]=37928;k[t>>2]=37932;k[q>>2]=37937}k[m>>2]=(k[m>>2]|0)+(35+((j[(k[f>>2]|0)+34>>1]|0)*6|0));b=k[m>>2]|0;b=Kh(0,b,((b|0)<0)<<31>>31)|0;k[u>>2]=b;if(!(k[u>>2]|0)){vh(k[c>>2]|0);k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}_d(k[m>>2]|0,k[u>>2]|0,37940,d)|0;d=Tf(k[u>>2]|0)|0;k[h>>2]=d;zH(k[u>>2]|0,h,k[k[f>>2]>>2]|0);d=k[h>>2]|0;k[h>>2]=d+1;i[(k[u>>2]|0)+d>>0]=40;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){c=(k[m>>2]|0)-(k[h>>2]|0)|0;a=(k[u>>2]|0)+(k[h>>2]|0)|0;if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;_d(c,a,k[s>>2]|0,o)|0;d=Tf((k[u>>2]|0)+(k[h>>2]|0)|0)|0;k[h>>2]=(k[h>>2]|0)+d;k[s>>2]=k[t>>2];zH(k[u>>2]|0,h,k[k[n>>2]>>2]|0);k[v>>2]=k[6332+((i[(k[n>>2]|0)+13>>0]|0)-65<<2)>>2];d=Tf(k[v>>2]|0)|0;k[l>>2]=d;IR((k[u>>2]|0)+(k[h>>2]|0)|0,k[v>>2]|0,k[l>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}k[p>>2]=k[q>>2];_d(c,a,19007,p)|0;k[e>>2]=k[u>>2];v=k[e>>2]|0;r=w;return v|0}function yH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if(!(i[k[b>>2]>>0]|0))break;if((i[k[b>>2]>>0]|0)==34)k[c>>2]=(k[c>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+1;k[b>>2]=(k[b>>2]|0)+1}r=d;return (k[c>>2]|0)+2|0}function zH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;n=m+16|0;j=m+12|0;f=m+8|0;g=m+4|0;h=m;k[d>>2]=a;k[e>>2]=b;k[n>>2]=c;k[j>>2]=k[n>>2];k[f>>2]=k[k[e>>2]>>2];k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[19019+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&6|0)==0?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)!=95:0)break;k[g>>2]=(k[g>>2]|0)+1}if(((l[19019+(l[k[j>>2]>>0]|0)>>0]&4|0)==0?(Li(k[j>>2]|0,k[g>>2]|0)|0)==55:0)?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)b=(k[g>>2]|0)==0;else b=1;k[h>>2]=b&1;if(k[h>>2]|0){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;c=i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=c;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==34){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=(k[g>>2]|0)+1}if(!(k[h>>2]|0)){j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}j=k[f>>2]|0;k[f>>2]=j+1;i[(k[d>>2]|0)+j>>0]=34;j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}function AH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;l=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+52>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[h>>2]=(k[g>>2]|0)*7;b=k[h>>2]|0;b=Bh(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[d>>2]=7;l=k[d>>2]|0;r=n;return l|0}else{IR(k[l>>2]|0,k[(k[f>>2]|0)+32>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<2|0)|0;k[(k[f>>2]|0)+32>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<2);IR(k[l>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<1|0)|0;k[(k[f>>2]|0)+4>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<1);IR(k[l>>2]|0,k[(k[f>>2]|0)+28>>2]|0,m[(k[f>>2]|0)+52>>1]|0|0)|0;k[(k[f>>2]|0)+28>>2]=k[l>>2];j[(k[f>>2]|0)+52>>1]=k[g>>2];l=(k[f>>2]|0)+55|0;i[l>>0]=i[l>>0]&-17|16;k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}return 0}function BH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;a=jx(k[c>>2]|0)|0;k[f>>2]=a;Vz(k[c>>2]|0,k[e>>2]|0,1,1,(k[e>>2]|0)==1?20521:20540);Qh(k[f>>2]|0,103,0,1,k[e>>2]|0,5)|0;if(k[(k[c>>2]|0)+72>>2]|0){r=d;return}k[(k[c>>2]|0)+72>>2]=1;r=d;return}function CH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[b>>2]=a;a=jx(k[b>>2]|0)|0;k[f>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+404>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+408>>2]|0)+(k[c>>2]<<4);k[e>>2]=k[k[d>>2]>>2];ox(k[f>>2]|0,149,k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|0,k[(k[d>>2]|0)+12>>2]|0,-2)|0;k[c>>2]=(k[c>>2]|0)+1}r=g;return}function DH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;f=j+20|0;d=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;c=j;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[h>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+412>>2];while(1){if(!(k[f>>2]|0)){b=5;break}k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[f>>2]|0)+8>>2]<<4);k[e>>2]=k[(k[f>>2]|0)+12>>2];Wz(k[b>>2]|0,0,k[(k[f>>2]|0)+8>>2]|0,k[(k[(k[g>>2]|0)+12>>2]|0)+72>>2]|0,102);nx(k[h>>2]|0,(k[e>>2]|0)-1|0,k[k[(k[f>>2]|0)+4>>2]>>2]|0)|0;a=Sh(k[h>>2]|0,10,38116,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+8>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+4>>2]=(k[e>>2]|0)-1;k[(k[c>>2]|0)+60+12>>2]=k[e>>2];i[(k[c>>2]|0)+60+3>>0]=16;k[(k[c>>2]|0)+80+8>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+100+12>>2]=k[e>>2];k[(k[c>>2]|0)+160+8>>2]=k[e>>2];k[f>>2]=k[k[f>>2]>>2]}if((b|0)==5){r=j;return}}function EH(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+4|0;k[d>>2]=a;k[c>>2]=k[d>>2];$d(21,40039,c);r=b;return}function FH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+96|0;G=I+16|0;s=I+8|0;m=I;C=I+92|0;u=I+88|0;o=I+84|0;v=I+80|0;h=I+76|0;w=I+72|0;p=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;j=I+48|0;n=I+44|0;t=I+40|0;q=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;k[C>>2]=a;k[u>>2]=b;k[o>>2]=c;k[v>>2]=d;k[h>>2]=e;k[w>>2]=f;k[p>>2]=g;k[H>>2]=0;k[F>>2]=0;b=Bh(k[C>>2]|0,544,0)|0;k[D>>2]=b;if(!(k[D>>2]|0)){k[F>>2]=7;H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}k[(k[D>>2]|0)+480>>2]=k[h>>2];k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[C>>2]|0)+20>>2]|0))break;k[j>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if((k[j>>2]|0)!=0?(b=GH(k[j>>2]|0)|0,k[F>>2]=b,(k[F>>2]|0)!=0):0){B=7;break}k[x>>2]=(k[x>>2]|0)+1}if((B|0)==7){k[n>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2];G=k[C>>2]|0;H=k[F>>2]|0;k[m>>2]=k[n>>2];tg(G,H,40084,m);H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}Cu(k[C>>2]|0);k[k[D>>2]>>2]=k[C>>2];k[(k[D>>2]|0)+428>>2]=0;do if((k[o>>2]|0)>=0){if((k[o>>2]|0)!=0?(i[(k[u>>2]|0)+((k[o>>2]|0)-1)>>0]|0)==0:0){B=17;break}k[q>>2]=k[(k[C>>2]|0)+92+4>>2];h=k[C>>2]|0;if((k[o>>2]|0)>(k[q>>2]|0)){tg(h,18,40114,s);H=bh(k[C>>2]|0,18)|0;k[F>>2]=H;H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}s=k[o>>2]|0;s=cx(h,k[u>>2]|0,s,((s|0)<0)<<31>>31)|0;k[t>>2]=s;if(k[t>>2]|0){ei(k[D>>2]|0,k[t>>2]|0,H)|0;k[(k[D>>2]|0)+484>>2]=(k[u>>2]|0)+((k[(k[D>>2]|0)+484>>2]|0)-(k[t>>2]|0));bg(k[C>>2]|0,k[t>>2]|0);break}else{k[(k[D>>2]|0)+484>>2]=(k[u>>2]|0)+(k[o>>2]|0);break}}else B=17;while(0);if((B|0)==17)ei(k[D>>2]|0,k[u>>2]|0,H)|0;if((k[(k[D>>2]|0)+12>>2]|0)==101)k[(k[D>>2]|0)+12>>2]=0;if(i[(k[D>>2]|0)+17>>0]|0)HH(k[D>>2]|0);if(i[(k[C>>2]|0)+69>>0]|0)k[(k[D>>2]|0)+12>>2]=7;if(k[p>>2]|0)k[k[p>>2]>>2]=k[(k[D>>2]|0)+484>>2];k[F>>2]=k[(k[D>>2]|0)+12>>2];a:do if(((k[F>>2]|0)==0?(k[(k[D>>2]|0)+8>>2]|0)!=0:0)?(l[(k[D>>2]|0)+453>>0]|0)!=0:0){h=k[(k[D>>2]|0)+8>>2]|0;if((l[(k[D>>2]|0)+453>>0]|0)==2){jC(h,4);k[y>>2]=8;k[z>>2]=12}else{jC(h,8);k[y>>2]=0;k[z>>2]=8}k[x>>2]=k[y>>2];while(1){if((k[x>>2]|0)>=(k[z>>2]|0))break a;kC(k[(k[D>>2]|0)+8>>2]|0,(k[x>>2]|0)-(k[y>>2]|0)|0,0,k[6364+(k[x>>2]<<2)>>2]|0,0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);if(!(l[(k[C>>2]|0)+144+5>>0]|0)){k[A>>2]=k[(k[D>>2]|0)+8>>2];IH(k[A>>2]|0,k[u>>2]|0,(k[(k[D>>2]|0)+484>>2]|0)-(k[u>>2]|0)|0,k[v>>2]|0)}do if(k[(k[D>>2]|0)+8>>2]|0){if((k[F>>2]|0)==0?(l[(k[C>>2]|0)+69>>0]|0)==0:0){B=41;break}ah(k[(k[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)k[k[w>>2]>>2]=k[(k[D>>2]|0)+8>>2];h=k[C>>2]|0;a=k[F>>2]|0;if(k[H>>2]|0){k[G>>2]=k[H>>2];tg(h,a,19007,G);bg(k[C>>2]|0,k[H>>2]|0)}else vg(h,a);while(1){if(!(k[(k[D>>2]|0)+532>>2]|0))break;k[E>>2]=k[(k[D>>2]|0)+532>>2];k[(k[D>>2]|0)+532>>2]=k[(k[E>>2]|0)+4>>2];bg(k[C>>2]|0,k[E>>2]|0)}H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}function GH(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=JH(k[d>>2]|0,1,1)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function HH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;d=i+20|0;e=i+16|0;h=i+12|0;c=i+8|0;f=i+4|0;g=i;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){b=14;break}k[f>>2]=0;k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(!(Ag(k[g>>2]|0)|0)){a=yg(k[g>>2]|0,0)|0;k[h>>2]=a;if((k[h>>2]|0)==7|(k[h>>2]|0)==3082)vh(k[d>>2]|0);if(k[h>>2]|0){b=14;break}k[f>>2]=1}zg(k[g>>2]|0,1,c);if((k[c>>2]|0)!=(k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]>>2]|0)){Ej(k[d>>2]|0,k[e>>2]|0);k[(k[b>>2]|0)+12>>2]=17}if(k[f>>2]|0)Oj(k[g>>2]|0)|0}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==14){r=i;return}}function IH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[e>>2]|0)){r=j;return}b=k[g>>2]|0;b=cx(k[k[e>>2]>>2]|0,k[f>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+168>>2]=b;b=(k[e>>2]|0)+89|0;i[b>>0]=i[b>>0]&127|(k[h>>2]&1)<<7&255;r=j;return}function JH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+32|0;d=p+16|0;e=p+12|0;f=p+8|0;g=p+20|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];if(!(i[(k[e>>2]|0)+9>>0]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((k[(k[h>>2]|0)+76>>2]|0)!=(k[e>>2]|0)?(m[(k[h>>2]|0)+22>>1]&32|0)!=0:0){k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}k[n>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[n>>2]|0)){o=15;break}if(((k[k[n>>2]>>2]|0)!=(k[e>>2]|0)?(k[(k[n>>2]|0)+4>>2]|0)==(k[f>>2]|0):0)?(l[(k[n>>2]|0)+8>>0]|0)!=(l[g>>0]|0):0)break;k[n>>2]=k[(k[n>>2]|0)+12>>2]}if((o|0)==15){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((l[g>>0]|0)==2){o=(k[h>>2]|0)+22|0;j[o>>1]=m[o>>1]|64}k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}function KH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[j>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;if((k[g>>2]|0)!=(k[f>>2]|0)){if(!(k[e>>2]|0))break;if((k[(k[g>>2]|0)+52>>2]|0)==(k[e>>2]|0))break}k[g>>2]=k[(k[g>>2]|0)+8>>2]}if(k[g>>2]|0){j=LH(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=h;return j|0}if(k[f>>2]|0){j=(k[f>>2]|0)+64|0;i[j>>0]=(l[j>>0]|0)&-33}k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}function LH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a:while(1){do if((k[d>>2]|0)!=(k[f>>2]|0)){if(0!=(k[e>>2]|0)?(k[(k[d>>2]|0)+52>>2]|0)!=(k[e>>2]|0):0)break;if((l[(k[d>>2]|0)+66>>0]|0|0)!=1?(l[(k[d>>2]|0)+66>>0]|0|0)!=2:0){NH(k[d>>2]|0);break}c=MH(k[d>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){d=8;break a}}while(0);k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){d=11;break}}if((d|0)==8){k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}else if((d|0)==11){k[g>>2]=0;h=k[g>>2]|0;r=i;return h|0}return 0}function MH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=k[b>>2]|0;if((l[(k[b>>2]|0)+66>>0]|0|0)==2)i[a+66>>0]=1;else k[a+60>>2]=0;a=OH(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){NH(k[b>>2]|0);i[(k[b>>2]|0)+66>>0]=3}b=(k[b>>2]|0)+64|0;i[b>>0]=(l[b>>0]|0)&-15;r=d;return k[c>>2]|0}function NH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;NB(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]=0;k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+68>>0]=-1;r=d;return}function OH(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;b=e;k[c>>2]=a;a=PH(k[c>>2]|0,(k[c>>2]|0)+40|0)|0;k[d>>2]=a;if(l[(k[c>>2]|0)+69>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+40|0;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=7;d=k[d>>2]|0;r=e;return d|0}a=QH(k[c>>2]|0,0,k[(k[c>>2]|0)+40>>2]|0,k[b>>2]|0)|0;k[d>>2]=a;a=k[b>>2]|0;if(!(k[d>>2]|0)){k[(k[c>>2]|0)+48>>2]=a;d=k[d>>2]|0;r=e;return d|0}else{Ud(a);d=k[d>>2]|0;r=e;return d|0}return 0}function PH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;GF(k[d>>2]|0);d=(k[d>>2]|0)+16|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function QH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=FF(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return a|0}function RH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;wg(k[k[c>>2]>>2]|0);r=b;return}function SH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;i[a>>0]=l[a>>0]|0|16;i[(k[k[c>>2]>>2]|0)+11>>0]=1;r=b;return}function TH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[f>>2]=(k[f>>2]|0)+7&-8;c=k[f>>2]|0;a=k[d>>2]|0;if((k[f>>2]|0)<=(k[(k[d>>2]|0)+4>>2]|0)){f=a+4|0;k[f>>2]=(k[f>>2]|0)-c;k[e>>2]=(k[k[d>>2]>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{f=a+8|0;k[f>>2]=(k[f>>2]|0)+c;f=k[e>>2]|0;r=g;return f|0}return 0}function UH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(i[(k[f>>2]|0)+1>>0]|0){NA(k[k[e>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0}if((k[h>>2]|0)<0){Uh(k[e>>2]|0,((k[f>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0)/20|0,k[g>>2]|0,k[h>>2]|0);r=j;return}if(!(k[h>>2]|0)){c=Tf(k[g>>2]|0)|0;k[h>>2]=c}c=k[h>>2]|0;c=cx(k[k[e>>2]>>2]|0,k[g>>2]|0,c,((c|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+16>>2]=c;i[(k[f>>2]|0)+1>>0]=-1;r=j;return}function VH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function WH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+9>>0]|0|0}function XH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;c=q+36|0;d=q+32|0;e=q+28|0;h=q+24|0;m=q+20|0;p=q+16|0;g=q+12|0;n=q+8|0;f=q+4|0;k[d>>2]=a;k[e>>2]=b;k[h>>2]=k[k[e>>2]>>2];k[p>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(k[(k[e>>2]|0)+16>>2]|0){k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}if((k[(k[h>>2]|0)+4>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]|0)!=(k[(k[h>>2]|0)+8>>2]|0):0){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}a=(Tf(k[(k[e>>2]|0)+4>>2]|0)|0)+1|0;k[g>>2]=a;a=Bh(k[f>>2]|0,72+(k[g>>2]|0)|0,0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}k[(k[e>>2]|0)+16>>2]=k[m>>2];k[k[m>>2]>>2]=(k[m>>2]|0)+72;IR(k[k[m>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0;j[(k[m>>2]|0)+36>>1]=1;k[(k[m>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2];a=(k[m>>2]|0)+42|0;i[a>>0]=l[a>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;j[(k[m>>2]|0)+32>>1]=-1;a=k[f>>2]|0;b=k[m>>2]|0;fx(a,b,zh(k[f>>2]|0,k[k[m>>2]>>2]|0)|0);fx(k[f>>2]|0,k[m>>2]|0,0);b=k[f>>2]|0;a=k[m>>2]|0;fx(b,a,zh(k[f>>2]|0,k[k[m>>2]>>2]|0)|0);m=Lz(k[f>>2]|0,k[m>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+8>>2]|0,p)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[d>>2]|0;k[o>>2]=k[p>>2];Mh(n,19007,o);bg(k[f>>2]|0,k[p>>2]|0);YH(k[f>>2]|0,k[e>>2]|0);k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}else{k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}return 0}function YH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}nH(k[c>>2]|0,k[e>>2]|0);ZH(k[c>>2]|0,k[e>>2]|0);bg(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function ZH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))_H(0,k[d>>2]|0)|0;if(!(k[(k[d>>2]|0)+52>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+48>>2]|0))break;if((k[e>>2]|0)!=1)bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+52>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[(k[d>>2]|0)+52>>2]|0);r=f;return}function _H(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;h=i+8|0;e=i+4|0;f=i;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[h>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=0;while(1){if(!(k[h>>2]|0))break;k[e>>2]=k[k[h>>2]>>2];k[f>>2]=k[(k[h>>2]|0)+24>>2];if((k[e>>2]|0)==(k[c>>2]|0)){k[g>>2]=k[h>>2];k[(k[d>>2]|0)+56>>2]=k[g>>2];k[(k[g>>2]|0)+24>>2]=0}else{k[(k[h>>2]|0)+24>>2]=k[(k[e>>2]|0)+344>>2];k[(k[e>>2]|0)+344>>2]=k[h>>2]}k[h>>2]=k[f>>2]}r=i;return k[g>>2]|0}function $H(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;eh(k[c>>2]|0);b=k[c>>2]|0;a=k[d>>2]|0;c=b+40|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));j[(k[d>>2]|0)+8>>1]=1;k[(k[d>>2]|0)+24>>2]=0;r=e;return}function aI(){return 312}function bI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=r;r=r+224|0;d=c+220|0;e=c+216|0;h=c;g=c+212|0;f=c+208|0;k[d>>2]=a;k[e>>2]=b;IR(h|0,k[d>>2]|0,208)|0;IR(k[d>>2]|0,k[e>>2]|0,208)|0;IR(k[e>>2]|0,h|0,208)|0;k[g>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[e>>2]|0)+52>>2];k[(k[e>>2]|0)+52>>2]=k[g>>2];k[g>>2]=k[(k[d>>2]|0)+48>>2];k[(k[d>>2]|0)+48>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=k[g>>2];k[f>>2]=k[(k[d>>2]|0)+168>>2];k[(k[d>>2]|0)+168>>2]=k[(k[e>>2]|0)+168>>2];k[(k[e>>2]|0)+168>>2]=k[f>>2];b=(k[e>>2]|0)+89|0;i[b>>0]=i[b>>0]&127|((l[(k[d>>2]|0)+89>>0]|0)>>>7&1)<<7&255;r=c;return}function cI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+80>>2]=0;r=b;return}function dI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[k[c>>2]>>2]|0)>=2?(k[(k[c>>2]|0)+72>>2]|0)!=0:0){e=gc[k[(k[c>>2]|0)+72>>2]&255](k[c>>2]|0,k[d>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}a=gc[k[(k[c>>2]|0)+64>>2]&255](k[c>>2]|0,e)|0;k[f>>2]=a;h=+p[e>>3]*864.0e5;a=+W(h)>=1.0?(h>0.0?~~+ia(+V(h/4294967296.0),4294967295.0)>>>0:~~+ga((h-+(~~h>>>0))/4294967296.0)>>>0):0;e=k[d>>2]|0;k[e>>2]=~~h>>>0;k[e+4>>2]=a;f=k[f>>2]|0;r=g;return f|0}function eI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=r;r=r+80|0;w=y+8|0;p=y;q=y+68|0;s=y+64|0;h=y+60|0;n=y+56|0;b=y+52|0;o=y+48|0;c=y+44|0;d=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;e=y+20|0;g=y+16|0;f=y+12|0;k[s>>2]=a;k[n>>2]=0;k[b>>2]=0;k[o>>2]=0;k[c>>2]=k[k[s>>2]>>2];k[v>>2]=0;k[t>>2]=(k[(k[s>>2]|0)+8>>2]|0)+40;LC(k[t>>2]|0,8);k[(k[s>>2]|0)+20>>2]=0;if((k[(k[s>>2]|0)+80>>2]|0)==7){vh(k[c>>2]|0);k[q>>2]=1;x=k[q>>2]|0;r=y;return x|0}k[h>>2]=k[(k[s>>2]|0)+32>>2];a:do if((i[(k[s>>2]|0)+89>>0]&3|0)==1){k[o>>2]=(k[(k[s>>2]|0)+8>>2]|0)+360;if(m[(k[o>>2]|0)+8>>1]&16){k[n>>2]=((k[(k[o>>2]|0)+12>>2]|0)>>>0)/4|0;k[b>>2]=k[(k[o>>2]|0)+16>>2]}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[n>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[(k[(k[b>>2]|0)+(k[d>>2]<<2)>>2]|0)+4>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);do{z=(k[s>>2]|0)+76|0;a=k[z>>2]|0;k[z>>2]=a+1;k[d>>2]=a;if((k[d>>2]|0)>=(k[h>>2]|0))break;if((i[(k[s>>2]|0)+89>>0]&3|0)!=2)break}while((l[(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>0]|0)!=160);do if((k[d>>2]|0)>=(k[h>>2]|0)){k[(k[s>>2]|0)+80>>2]=0;k[v>>2]=101}else{if(k[(k[c>>2]|0)+248>>2]|0){k[(k[s>>2]|0)+80>>2]=9;k[v>>2]=1;z=k[s>>2]|0;nI(z,uh(k[(k[s>>2]|0)+80>>2]|0)|0,p);break}if((k[d>>2]|0)<(k[(k[s>>2]|0)+32>>2]|0))k[u>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0);else{k[d>>2]=(k[d>>2]|0)-(k[(k[s>>2]|0)+32>>2]|0);k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0))break;k[d>>2]=(k[d>>2]|0)-(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}k[u>>2]=(k[k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]>>2]|0)+((k[d>>2]|0)*20|0)}if((i[(k[s>>2]|0)+89>>0]&3|0)==1?(j[(k[t>>2]|0)+8>>1]=4,p=k[d>>2]|0,z=k[t>>2]|0,k[z>>2]=p,k[z+4>>2]=((p|0)<0)<<31>>31,k[t>>2]=(k[t>>2]|0)+40,j[(k[t>>2]|0)+8>>1]=2562,z=IM(l[k[u>>2]>>0]|0)|0,k[(k[t>>2]|0)+16>>2]=z,z=Tf(k[(k[t>>2]|0)+16>>2]|0)|0,k[(k[t>>2]|0)+12>>2]=z,i[(k[t>>2]|0)+10>>0]=1,k[t>>2]=(k[t>>2]|0)+40,(i[(k[u>>2]|0)+1>>0]|0)==-18):0){k[g>>2]=(k[n>>2]|0)+1<<2;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[n>>2]|0))break;if((k[(k[b>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[u>>2]|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}if((k[f>>2]|0)==(k[n>>2]|0)?0==(Rx(k[o>>2]|0,k[g>>2]|0,(k[n>>2]|0)!=0&1)|0):0){k[b>>2]=k[(k[o>>2]|0)+16>>2];p=k[(k[u>>2]|0)+16>>2]|0;z=k[n>>2]|0;k[n>>2]=z+1;k[(k[b>>2]|0)+(z<<2)>>2]=p;z=(k[o>>2]|0)+8|0;j[z>>1]=m[z>>1]|16;k[(k[o>>2]|0)+12>>2]=k[n>>2]<<2}}j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+4>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;z=k[(k[u>>2]|0)+8>>2]|0;p=k[t>>2]|0;k[p>>2]=z;k[p+4>>2]=((z|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+12>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;if(Qx(k[t>>2]|0,100)|0){k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}j[(k[t>>2]|0)+8>>1]=514;b=JM(k[u>>2]|0,k[(k[t>>2]|0)+16>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[x>>2]=b;b=k[t>>2]|0;if((k[x>>2]|0)!=(k[(k[t>>2]|0)+16>>2]|0))ph(b,k[x>>2]|0,-1,1,0)|0;else{z=Tf(k[b+16>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=z;i[(k[t>>2]|0)+10>>0]=1}k[t>>2]=(k[t>>2]|0)+40;do if((i[(k[s>>2]|0)+89>>0]&3|0)==1){if(!(Qx(k[t>>2]|0,4)|0)){j[(k[t>>2]|0)+8>>1]=514;k[(k[t>>2]|0)+12>>2]=2;z=k[(k[t>>2]|0)+16>>2]|0;k[w>>2]=l[(k[u>>2]|0)+3>>0];_d(3,z,43034,w)|0;i[(k[t>>2]|0)+10>>0]=1;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=1;break}k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}while(0);j[(k[s>>2]|0)+84>>1]=8-((i[(k[s>>2]|0)+89>>0]&3)-1<<2);k[(k[s>>2]|0)+20>>2]=(k[(k[s>>2]|0)+8>>2]|0)+40;k[(k[s>>2]|0)+80>>2]=0;k[v>>2]=100}while(0);k[q>>2]=k[v>>2];z=k[q>>2]|0;r=y;return z|0} -function nw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=r;r=r+304|0;E=qa+32|0;D=qa+16|0;C=qa;H=qa+288|0;I=qa+284|0;J=qa+280|0;K=qa+276|0;L=qa+272|0;R=qa+268|0;ea=qa+264|0;h=qa+260|0;g=qa+256|0;T=qa+252|0;$=qa+248|0;X=qa+244|0;pa=qa+240|0;ca=qa+236|0;aa=qa+232|0;ba=qa+228|0;U=qa+224|0;V=qa+220|0;Y=qa+216|0;S=qa+212|0;na=qa+208|0;P=qa+204|0;O=qa+200|0;q=qa+180|0;s=qa+176|0;f=qa+172|0;oa=qa+295|0;Q=qa+294|0;F=qa+293|0;p=qa+292|0;da=qa+168|0;ja=qa+164|0;ha=qa+160|0;la=qa+156|0;ka=qa+152|0;ma=qa+148|0;ia=qa+144|0;M=qa+140|0;_=qa+136|0;fa=qa+132|0;B=qa+128|0;z=qa+124|0;o=qa+120|0;v=qa+116|0;x=qa+112|0;y=qa+108|0;n=qa+104|0;A=qa+72|0;t=qa+68|0;w=qa+64|0;m=qa+60|0;u=qa+56|0;N=qa+52|0;W=qa+48|0;ga=qa+44|0;Z=qa+40|0;k[H>>2]=a;k[I>>2]=b;k[J>>2]=c;k[K>>2]=d;k[L>>2]=e;k[ba>>2]=0;k[U>>2]=0;k[V>>2]=0;k[Y>>2]=-1;k[na>>2]=0;k[P>>2]=0;k[O>>2]=0;i[oa>>0]=0;i[Q>>0]=0;k[da>>2]=0;k[ja>>2]=0;k[ha>>2]=0;k[la>>2]=0;k[M>>2]=0;k[R>>2]=k[k[H>>2]>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;a:do if((k[(k[H>>2]|0)+68>>2]|0)==0?(l[(k[R>>2]|0)+69>>0]|0)==0:0){if(((k[J>>2]|0)!=0?(k[(k[J>>2]|0)+8>>2]&512|0)!=0:0)?(k[(k[J>>2]|0)+48>>2]|0)==0:0){k[da>>2]=k[k[J>>2]>>2];k[k[J>>2]>>2]=0;nv(k[R>>2]|0,k[J>>2]|0);k[J>>2]=0}k[h>>2]=k[(k[I>>2]|0)+8+8>>2];if((((((k[h>>2]|0)!=0?(h=_B(k[H>>2]|0,k[I>>2]|0)|0,k[ea>>2]=h,(k[ea>>2]|0)!=0):0)?(h=Nh(k[R>>2]|0,k[(k[ea>>2]|0)+64>>2]|0)|0,k[s>>2]=h,k[f>>2]=(k[(k[R>>2]|0)+16>>2]|0)+(k[s>>2]<<4),k[g>>2]=k[k[f>>2]>>2],(gx(k[H>>2]|0,18,k[k[ea>>2]>>2]|0,0,k[g>>2]|0)|0)==0):0)?(i[F>>0]=((l[(k[ea>>2]|0)+42>>0]&32|0)==0^1)&1,h=PC(k[H>>2]|0,k[ea>>2]|0,108,0,B)|0,k[fa>>2]=h,k[_>>2]=(k[(k[ea>>2]|0)+12>>2]|0)!=0&1,(Wx(k[H>>2]|0,k[ea>>2]|0)|0)==0):0)?(QC(k[H>>2]|0,k[ea>>2]|0,k[B>>2]|0)|0)==0:0)?(h=jx(k[H>>2]|0)|0,k[pa>>2]=h,(k[pa>>2]|0)!=0):0){if(!(l[(k[H>>2]|0)+18>>0]|0))RC(k[pa>>2]|0);xx(k[H>>2]|0,((k[J>>2]|0)!=0?1:(k[fa>>2]|0)!=0)&1,k[s>>2]|0);if(!((k[K>>2]|0)==0?(SC(k[H>>2]|0,k[ea>>2]|0,k[J>>2]|0,k[L>>2]|0,k[s>>2]|0)|0)!=0:0))G=17;b:do if((G|0)==17){h=TC(k[H>>2]|0,k[s>>2]|0,k[ea>>2]|0)|0;k[ha>>2]=h;h=(k[(k[H>>2]|0)+76>>2]|0)+1|0;k[ka>>2]=h;k[ma>>2]=h;h=(k[H>>2]|0)+76|0;k[h>>2]=(k[h>>2]|0)+((j[(k[ea>>2]|0)+34>>1]|0)+1);if(l[(k[ea>>2]|0)+42>>0]&16){k[ma>>2]=(k[ma>>2]|0)+1;h=(k[H>>2]|0)+76|0;k[h>>2]=(k[h>>2]|0)+1}k[ia>>2]=(k[ma>>2]|0)+1;i[p>>0]=(l[(k[ea>>2]|0)+42>>0]&128|0)==0;c:do if(k[K>>2]|0){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break;k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)+4>>2]=-1;k[T>>2]=(k[T>>2]|0)+1}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break c;k[$>>2]=0;while(1){if((k[$>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;h=(sg(k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+(k[$>>2]<<4)>>2]|0)|0)==0;e=k[$>>2]|0;if(h){G=28;break}k[$>>2]=e+1}do if((G|0)==28){G=0;k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)+4>>2]=e;if((k[T>>2]|0)!=(k[$>>2]|0))i[p>>0]=0;if((k[$>>2]|0)!=(j[(k[ea>>2]|0)+32>>1]|0))break;k[Y>>2]=k[T>>2]}while(0);if((k[$>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0)){h=(Ci(k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)>>2]|0)|0)==0;if(h|(i[F>>0]|0)!=0)break;k[Y>>2]=k[T>>2];i[p>>0]=0}k[T>>2]=(k[T>>2]|0)+1}pa=k[H>>2]|0;oa=k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)>>2]|0;k[C>>2]=k[I>>2];k[C+4>>2]=0;k[C+8>>2]=oa;Mh(pa,34782,C);i[(k[H>>2]|0)+17>>0]=1;break a}while(0);do if(!(k[J>>2]|0)){k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[A+12>>2]=0;k[A+16>>2]=0;k[A+20>>2]=0;k[A+24>>2]=0;k[A+28>>2]=0;k[A>>2]=k[H>>2];k[na>>2]=-1;if(k[da>>2]|0){k[aa>>2]=k[k[da>>2]>>2];if(Dy(A,k[da>>2]|0)|0)break a;else break}else{k[aa>>2]=0;break}}else{A=(k[H>>2]|0)+76|0;C=(k[A>>2]|0)+1|0;k[A>>2]=C;k[z>>2]=C;C=(Yz(k[pa>>2]|0)|0)+1|0;k[o>>2]=C;px(k[pa>>2]|0,15,k[z>>2]|0,0,k[o>>2]|0)|0;uB(q,13,k[z>>2]|0);k[q+8>>2]=(l[p>>0]|0)!=0?k[ia>>2]|0:0;k[q+12>>2]=j[(k[ea>>2]|0)+34>>1];C=Xv(k[H>>2]|0,k[J>>2]|0,q)|0;k[v>>2]=C;k[ja>>2]=k[q+8>>2];if(k[v>>2]|0)break a;if(l[(k[R>>2]|0)+69>>0]|0)break a;if(k[(k[H>>2]|0)+68>>2]|0)break a;UC(k[pa>>2]|0,k[z>>2]|0);aA(k[pa>>2]|0,(k[o>>2]|0)-1|0);k[aa>>2]=k[k[k[J>>2]>>2]>>2];if(!((k[fa>>2]|0)==0?(VC(k[H>>2]|0,k[s>>2]|0,k[ea>>2]|0)|0)==0:0))i[oa>>0]=1;if(!(i[oa>>0]|0))break;A=(k[H>>2]|0)+72|0;C=k[A>>2]|0;k[A>>2]=C+1;k[na>>2]=C;C=rA(k[H>>2]|0)|0;k[x>>2]=C;C=rA(k[H>>2]|0)|0;k[y>>2]=C;lx(k[pa>>2]|0,105,k[na>>2]|0,k[aa>>2]|0)|0;C=Uz(k[pa>>2]|0,16,k[q+4>>2]|0)|0;k[n>>2]=C;px(k[pa>>2]|0,96,k[ja>>2]|0,k[aa>>2]|0,k[x>>2]|0)|0;lx(k[pa>>2]|0,112,k[na>>2]|0,k[y>>2]|0)|0;px(k[pa>>2]|0,113,k[na>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;$z(k[pa>>2]|0,k[n>>2]|0)|0;aA(k[pa>>2]|0,k[n>>2]|0);vA(k[H>>2]|0,k[x>>2]|0);vA(k[H>>2]|0,k[y>>2]|0)}while(0);if((k[K>>2]|0)==0&(k[aa>>2]|0)>0)k[Y>>2]=j[(k[ea>>2]|0)+32>>1];k[T>>2]=0;while(1){if((k[T>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;k[ba>>2]=(k[ba>>2]|0)+((l[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+15>>0]&2|0)!=0?1:0);k[T>>2]=(k[T>>2]|0)+1}if((k[K>>2]|0)==0&(k[aa>>2]|0)!=0?(k[aa>>2]|0)!=((j[(k[ea>>2]|0)+34>>1]|0)-(k[ba>>2]|0)|0):0){pa=k[H>>2]|0;na=(j[(k[ea>>2]|0)+34>>1]|0)-(k[ba>>2]|0)|0;oa=k[aa>>2]|0;k[D>>2]=k[I>>2];k[D+4>>2]=0;k[D+8>>2]=na;k[D+12>>2]=oa;Mh(pa,34814,D);break a}do if(k[K>>2]|0){if((k[aa>>2]|0)==(k[(k[K>>2]|0)+4>>2]|0))break;pa=k[H>>2]|0;oa=k[(k[K>>2]|0)+4>>2]|0;k[E>>2]=k[aa>>2];k[E+4>>2]=oa;Mh(pa,34866,E);break a}while(0);if(k[(k[R>>2]|0)+24>>2]&128){D=(k[H>>2]|0)+76|0;E=(k[D>>2]|0)+1|0;k[D>>2]=E;k[la>>2]=E;lx(k[pa>>2]|0,74,0,k[la>>2]|0)|0}d:do if(!(k[_>>2]|0)){E=CC(k[H>>2]|0,k[ea>>2]|0,103,0,-1,0,U,V)|0;k[t>>2]=E;E=$w(k[R>>2]|0,(k[t>>2]|0)+1<<2,0)|0;k[M>>2]=E;if(!(k[M>>2]|0))break a;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[t>>2]|0))break d;D=(k[H>>2]|0)+76|0;E=(k[D>>2]|0)+1|0;k[D>>2]=E;k[(k[M>>2]|0)+(k[T>>2]<<2)>>2]=E;k[T>>2]=(k[T>>2]|0)+1}}while(0);do if(i[oa>>0]|0){E=Uz(k[pa>>2]|0,55,k[na>>2]|0)|0;k[P>>2]=E;E=Yz(k[pa>>2]|0)|0;k[O>>2]=E}else{if(!(k[J>>2]|0))break;E=Uz(k[pa>>2]|0,16,k[q+4>>2]|0)|0;k[O>>2]=E;k[P>>2]=E}while(0);E=Zz(k[pa>>2]|0)|0;k[S>>2]=E;if(k[B>>2]&1){E=HA(k[H>>2]|0,(j[(k[ea>>2]|0)+34>>1]|0)+1|0)|0;k[w>>2]=E;if((k[Y>>2]|0)<0)lx(k[pa>>2]|0,74,-1,k[w>>2]|0)|0;else{if(i[oa>>0]|0)px(k[pa>>2]|0,94,k[na>>2]|0,k[Y>>2]|0,k[w>>2]|0)|0;else UA(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[Y>>2]|0)*20|0)>>2]|0,k[w>>2]|0);E=Uz(k[pa>>2]|0,35,k[w>>2]|0)|0;k[m>>2]=E;lx(k[pa>>2]|0,74,-1,k[w>>2]|0)|0;aA(k[pa>>2]|0,k[m>>2]|0);Uz(k[pa>>2]|0,17,k[w>>2]|0)|0}k[$>>2]=0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;e:do if(k[K>>2]|0){k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break e;if((k[(k[k[K>>2]>>2]|0)+(k[$>>2]<<3)+4>>2]|0)==(k[T>>2]|0))break e;k[$>>2]=(k[$>>2]|0)+1}}while(0);do if((i[oa>>0]|0)!=0|(k[da>>2]|0)!=0){if((k[K>>2]|0)!=0?(k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0):0){G=90;break}if(i[oa>>0]|0){px(k[pa>>2]|0,94,k[na>>2]|0,k[$>>2]|0,(k[w>>2]|0)+(k[T>>2]|0)+1|0)|0;break}else{WC(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[$>>2]|0)*20|0)>>2]|0,(k[w>>2]|0)+(k[T>>2]|0)+1|0);break}}else G=90;while(0);if((G|0)==90){G=0;UA(k[H>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,(k[w>>2]|0)+(k[T>>2]|0)+1|0)}if(!(k[K>>2]|0))k[$>>2]=(k[$>>2]|0)+1;k[T>>2]=(k[T>>2]|0)+1}if(!(k[_>>2]|0))XC(k[pa>>2]|0,k[ea>>2]|0,(k[w>>2]|0)+1|0);YC(k[H>>2]|0,k[fa>>2]|0,108,0,1,k[ea>>2]|0,(k[w>>2]|0)-(j[(k[ea>>2]|0)+34>>1]|0)-1|0,k[L>>2]|0,k[S>>2]|0);KA(k[H>>2]|0,k[w>>2]|0,(j[(k[ea>>2]|0)+34>>1]|0)+1|0)}do if(!(k[_>>2]|0)){if(l[(k[ea>>2]|0)+42>>0]&16)lx(k[pa>>2]|0,77,0,k[ka>>2]|0)|0;f:do if((k[Y>>2]|0)>=0){do if(i[oa>>0]|0)px(k[pa>>2]|0,94,k[na>>2]|0,k[Y>>2]|0,k[ma>>2]|0)|0;else{if(k[J>>2]|0){lx(k[pa>>2]|0,82,(k[ja>>2]|0)+(k[Y>>2]|0)|0,k[ma>>2]|0)|0;break}UA(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[Y>>2]|0)*20|0)>>2]|0,k[ma>>2]|0);G=hA(k[pa>>2]|0,-1)|0;k[u>>2]=G;if(!(k[u>>2]|0))break;if((l[k[u>>2]>>0]|0)!=77)break;if(l[(k[ea>>2]|0)+42>>0]&16)break;i[Q>>0]=1;i[k[u>>2]>>0]=112;k[(k[u>>2]|0)+4>>2]=k[U>>2];k[(k[u>>2]|0)+8>>2]=k[ma>>2];k[(k[u>>2]|0)+12>>2]=k[ha>>2]}while(0);if(i[Q>>0]|0)break;e=k[pa>>2]|0;if(l[(k[ea>>2]|0)+42>>0]&16){G=Yz(e)|0;k[N>>2]=G;lx(k[pa>>2]|0,34,k[ma>>2]|0,(k[N>>2]|0)+2|0)|0}else{G=Uz(e,35,k[ma>>2]|0)|0;k[N>>2]=G;px(k[pa>>2]|0,112,k[U>>2]|0,k[ma>>2]|0,k[ha>>2]|0)|0;aA(k[pa>>2]|0,k[N>>2]|0)}Uz(k[pa>>2]|0,17,k[ma>>2]|0)|0}else{do if(!(l[(k[ea>>2]|0)+42>>0]&16)){if(l[F>>0]|0)break;px(k[pa>>2]|0,112,k[U>>2]|0,k[ma>>2]|0,k[ha>>2]|0)|0;i[Q>>0]=1;break f}while(0);lx(k[pa>>2]|0,77,0,k[ma>>2]|0)|0}while(0);ZC(k[H>>2]|0,k[ha>>2]|0,k[ma>>2]|0);k[ba>>2]=0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;k[W>>2]=(k[ma>>2]|0)+1+(k[T>>2]|0);g:do if((k[T>>2]|0)==(j[(k[ea>>2]|0)+32>>1]|0))Uz(k[pa>>2]|0,78,k[W>>2]|0)|0;else{h:do if(!(k[K>>2]|0))if(l[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+15>>0]&2){k[$>>2]=-1;k[ba>>2]=(k[ba>>2]|0)+1;break}else{k[$>>2]=(k[T>>2]|0)-(k[ba>>2]|0);break}else{k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break h;if((k[(k[k[K>>2]>>2]|0)+(k[$>>2]<<3)+4>>2]|0)==(k[T>>2]|0))break h;k[$>>2]=(k[$>>2]|0)+1}}while(0);do if(!((k[$>>2]|0)<0|(k[aa>>2]|0)==0)){if((k[K>>2]|0)!=0?(k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0):0)break;if(i[oa>>0]|0){px(k[pa>>2]|0,94,k[na>>2]|0,k[$>>2]|0,k[W>>2]|0)|0;break g}if(!(k[J>>2]|0)){UA(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[$>>2]|0)*20|0)>>2]|0,k[W>>2]|0);break g}if((k[ja>>2]|0)==(k[ia>>2]|0))break g;lx(k[pa>>2]|0,83,(k[ja>>2]|0)+(k[$>>2]|0)|0,k[W>>2]|0)|0;break g}while(0);_C(k[H>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,k[W>>2]|0)}while(0);k[T>>2]=(k[T>>2]|0)+1}if(l[(k[ea>>2]|0)+42>>0]&16){ma=Xx(k[R>>2]|0,k[ea>>2]|0)|0;k[ga>>2]=ma;$C(k[H>>2]|0,k[ea>>2]|0);ox(k[pa>>2]|0,12,1,(j[(k[ea>>2]|0)+34>>1]|0)+2|0,k[ka>>2]|0,k[ga>>2]|0,-10)|0;Rh(k[pa>>2]|0,((k[L>>2]|0)==10?2:k[L>>2]|0)&255);Yx(k[H>>2]|0);break}else{aD(k[H>>2]|0,k[ea>>2]|0,k[M>>2]|0,k[U>>2]|0,k[V>>2]|0,k[ka>>2]|0,0,(k[Y>>2]|0)>=0&255,k[L>>2]&255,k[S>>2]|0,Z,0);bD(k[H>>2]|0,k[ea>>2]|0,0,k[ka>>2]|0,0,0);cD(k[H>>2]|0,k[ea>>2]|0,k[U>>2]|0,k[V>>2]|0,k[ka>>2]|0,k[M>>2]|0,0,l[Q>>0]|0,(k[Z>>2]|0)==0&1);break}}while(0);if(k[(k[R>>2]|0)+24>>2]&128)lx(k[pa>>2]|0,89,k[la>>2]|0,1)|0;if(k[fa>>2]|0)YC(k[H>>2]|0,k[fa>>2]|0,108,0,2,k[ea>>2]|0,(k[ia>>2]|0)-2-(j[(k[ea>>2]|0)+34>>1]|0)|0,k[L>>2]|0,k[S>>2]|0);bA(k[pa>>2]|0,k[S>>2]|0);do if(i[oa>>0]|0){lx(k[pa>>2]|0,7,k[na>>2]|0,k[O>>2]|0)|0;aA(k[pa>>2]|0,k[P>>2]|0);Uz(k[pa>>2]|0,109,k[na>>2]|0)|0}else{if(!(k[J>>2]|0))break;$z(k[pa>>2]|0,k[O>>2]|0)|0;aA(k[pa>>2]|0,k[P>>2]|0)}while(0);if((k[_>>2]|0)!=0?1:(l[(k[ea>>2]|0)+42>>0]&16|0)!=0)break;if((k[U>>2]|0)<(k[V>>2]|0))Uz(k[pa>>2]|0,109,k[U>>2]|0)|0;k[X>>2]=0;k[ca>>2]=k[(k[ea>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break b;Uz(k[pa>>2]|0,109,(k[X>>2]|0)+(k[V>>2]|0)|0)|0;k[ca>>2]=k[(k[ca>>2]|0)+20>>2];k[X>>2]=(k[X>>2]|0)+1}}while(0);if((l[(k[H>>2]|0)+18>>0]|0)==0?(k[(k[H>>2]|0)+420>>2]|0)==0:0)dD(k[H>>2]|0);if(((k[(k[R>>2]|0)+24>>2]&128|0)!=0?(i[(k[H>>2]|0)+18>>0]|0)==0:0)?(k[(k[H>>2]|0)+420>>2]|0)==0:0){lx(k[pa>>2]|0,85,k[la>>2]|0,1)|0;jC(k[pa>>2]|0,1);kC(k[pa>>2]|0,0,0,34891,0)|0}}}while(0);pv(k[R>>2]|0,k[I>>2]|0);mv(k[R>>2]|0,k[da>>2]|0);nv(k[R>>2]|0,k[J>>2]|0);sv(k[R>>2]|0,k[K>>2]|0);bg(k[R>>2]|0,k[M>>2]|0);r=qa;return}function ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)==0?(c=Bh(k[d>>2]|0,8,0)|0,k[f>>2]=c,(k[f>>2]|0)==0):0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=OC(k[d>>2]|0,k[k[f>>2]>>2]|0,8,(k[f>>2]|0)+4|0,h)|0;k[k[f>>2]>>2]=c;d=k[d>>2]|0;if((k[h>>2]|0)<0){sv(d,k[f>>2]|0);k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}else{g=Zw(d,k[g>>2]|0)|0;k[(k[k[f>>2]>>2]|0)+(k[h>>2]<<3)>>2]=g;k[e>>2]=k[f>>2];h=k[e>>2]|0;r=i;return h|0}return 0}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+4>>2]=k[k[g>>2]>>2];k[(k[e>>2]|0)+8>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);r=d;return}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;o=t+16|0;n=t+8|0;c=t+44|0;d=t+40|0;g=t+36|0;q=t+32|0;p=t+50|0;m=t+28|0;h=t;f=t+24|0;l=t+48|0;e=t+20|0;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[k[c>>2]>>2];if(!(k[d>>2]|0)){r=t;return}k[q>>2]=k[(k[d>>2]|0)+8>>2];do if(i[(k[q>>2]|0)+1>>0]|0){j[p>>1]=0;a=Tf(k[q>>2]|0)|0;k[m>>2]=a;if((i[k[q>>2]>>0]|0)==63){s=0==(Ui((k[q>>2]|0)+1|0,h,(k[m>>2]|0)-1|0,1)|0)&1;k[f>>2]=s;s=k[h>>2]&65535;j[p>>1]=s;j[(k[d>>2]|0)+32>>1]=s;s=h;a=k[s+4>>2]|0;if(!(!((k[f>>2]|0)==0|((a|0)<0|(a|0)==0&(k[s>>2]|0)>>>0<1))?(a=h,l=k[a+4>>2]|0,s=k[(k[g>>2]|0)+92+36>>2]|0,b=((s|0)<0)<<31>>31,!((l|0)>(b|0)|((l|0)==(b|0)?(k[a>>2]|0)>>>0>s>>>0:0))):0)){s=k[c>>2]|0;k[n>>2]=k[(k[g>>2]|0)+92+36>>2];Mh(s,34716,n);j[p>>1]=0}n=h;b=k[n+4>>2]|0;s=j[(k[c>>2]|0)+444>>1]|0;a=((s|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[n>>2]|0)>>>0>s>>>0:0))j[(k[c>>2]|0)+444>>1]=k[h>>2]}else{j[l>>1]=0;while(1){if((j[l>>1]|0)>=(k[(k[c>>2]|0)+448>>2]|0))break;if((k[(k[(k[c>>2]|0)+476>>2]|0)+(j[l>>1]<<2)>>2]|0)!=0?(YQ(k[(k[(k[c>>2]|0)+476>>2]|0)+(j[l>>1]<<2)>>2]|0,k[q>>2]|0)|0)==0:0){s=14;break}j[l>>1]=(j[l>>1]|0)+1<<16>>16}if((s|0)==14){s=(j[l>>1]|0)+1&65535;j[p>>1]=s;j[(k[d>>2]|0)+32>>1]=s}if(!(j[p>>1]|0)){n=(k[c>>2]|0)+444|0;s=(j[n>>1]|0)+1<<16>>16;j[n>>1]=s;j[(k[d>>2]|0)+32>>1]=s;j[p>>1]=s}}if((j[p>>1]|0)>0){do if((j[p>>1]|0)>(k[(k[c>>2]|0)+448>>2]|0)){s=_w(k[g>>2]|0,k[(k[c>>2]|0)+476>>2]|0,j[p>>1]<<2,0)|0;k[e>>2]=s;if(!(k[e>>2]|0)){r=t;return}else{k[(k[c>>2]|0)+476>>2]=k[e>>2];KR((k[e>>2]|0)+(k[(k[c>>2]|0)+448>>2]<<2)|0,0,(j[p>>1]|0)-(k[(k[c>>2]|0)+448>>2]|0)<<2|0)|0;k[(k[c>>2]|0)+448>>2]=j[p>>1];break}}while(0);if((i[k[q>>2]>>0]|0)==63?(k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]|0)!=0:0)break;bg(k[g>>2]|0,k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]|0);s=cx(k[g>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]=s}}else{q=(k[c>>2]|0)+444|0;s=(j[q>>1]|0)+1<<16>>16;j[q>>1]=s;j[(k[d>>2]|0)+32>>1]=s}while(0);if(k[(k[c>>2]|0)+68>>2]|0){r=t;return}if((j[(k[c>>2]|0)+444>>1]|0)<=(k[(k[g>>2]|0)+92+36>>2]|0)){r=t;return}Mh(k[c>>2]|0,34759,o);r=t;return}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[(k[g>>2]|0)+4>>2]|0)>>>0<=0){a=k[f>>2]|0;r=j;return a|0}a=zz(k[k[e>>2]>>2]|0,53,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){a=k[f>>2]|0;r=j;return a|0}k[(k[i>>2]|0)+12>>2]=k[f>>2];a=(k[i>>2]|0)+4|0;k[a>>2]=k[a>>2]|4352;k[f>>2]=k[i>>2];a=k[f>>2]|0;r=j;return a|0}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;h=i+4|0;g=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;k[g>>2]=k[k[e>>2]>>2];c=zz(k[g>>2]|0,151,k[j>>2]|0,1)|0;k[h>>2]=c;if(!(k[h>>2]|0)){mv(k[g>>2]|0,k[f>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=i;return j|0}else{k[(k[h>>2]|0)+20>>2]=k[f>>2];yw(k[e>>2]|0,k[h>>2]|0);k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}return 0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Mv(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=k[(k[g>>2]|0)+8>>2];r=e;return}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(k[g>>2]|0)){r=f;return}g=Mv(k[d>>2]|0,19,k[k[e>>2]>>2]|0,0,0)|0;k[k[e>>2]>>2]=g;r=f;return}function vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Mv(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0);r=e;return}function ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[m>>2]>>2];if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){r=j;return}if((l[k[e>>2]>>0]|0|0)!=101){r=j;return}i[k[f>>2]>>0]=k[g>>2];qv(k[h>>2]|0,k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=0;r=j;return}function xw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;l=f;k[g>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[l>>2]=e;k[(k[g>>2]|0)+4>>2]=k[k[l>>2]>>2];e=Mv(k[j>>2]|0,k[i>>2]|0,k[k[h>>2]>>2]|0,0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+8>>2]=k[(k[h>>2]|0)+8>>2];r=f;return}function yw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+68>>2]|0){r=e;return}Bz(k[d>>2]|0);$y(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0)|0;r=e;return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[(k[e>>2]|0)+20>>2]=k[f>>2];c=(k[e>>2]|0)+4|0;k[c>>2]=k[c>>2]|2099200;yw(k[d>>2]|0,k[e>>2]|0);r=g;return}else{nv(k[k[d>>2]>>2]|0,k[f>>2]|0);r=g;return}}function Aw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;j=r;r=r+32|0;i=j;f=j+28|0;o=j+24|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[n>>2]=d;k[m>>2]=e;e=$v(k[f>>2]|0,k[o>>2]|0,0)|0;k[h>>2]=e;if((k[n>>2]|0)!=0|(k[m>>2]|0)!=-1?(l[(k[k[f>>2]>>2]|0)+144+5>>0]|0|0)==0:0){o=k[f>>2]|0;n=k[k[g>>2]>>2]|0;k[i>>2]=k[(k[g>>2]|0)+4>>2];k[i+4>>2]=n;Mh(o,34676,i)}aw(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,1);r=j;return k[h>>2]|0}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;l=u+16|0;j=u+8|0;t=u;o=u+68|0;p=u+64|0;q=u+60|0;f=u+56|0;h=u+52|0;s=u+48|0;e=u+44|0;d=u+40|0;g=u+36|0;m=u+32|0;n=u+28|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=k[k[o>>2]>>2];if(i[(k[s>>2]|0)+69>>0]|0){s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}if(Mz(k[o>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}a=Sj(k[s>>2]|0,k[(k[p>>2]|0)+8+8>>2]|0,k[(k[p>>2]|0)+8+4>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){d=k[o>>2]|0;e=k[p>>2]|0;if(k[q>>2]|0)WB(d,k[e+8+4>>2]|0);else{k[t>>2]=e;k[t+4>>2]=0;Mh(d,34466,t)}i[(k[o>>2]|0)+17>>0]=1;s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}if(i[(k[f>>2]|0)+55>>0]&3){t=k[o>>2]|0;k[j>>2]=0;Mh(t,34484,j);s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}t=Nh(k[s>>2]|0,k[(k[f>>2]|0)+24>>2]|0)|0;k[e>>2]=t;k[d>>2]=10;k[g>>2]=k[(k[f>>2]|0)+12>>2];k[m>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[n>>2]=(k[e>>2]|0)==1?20521:20540;if(gx(k[o>>2]|0,9,k[n>>2]|0,0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}if(k[e>>2]|0)k[d>>2]=12;if(gx(k[o>>2]|0,k[d>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}t=jx(k[o>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}xx(k[o>>2]|0,1,k[e>>2]|0);t=k[o>>2]|0;n=(k[e>>2]|0)==1?20521:20540;q=k[k[f>>2]>>2]|0;k[l>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[l+4>>2]=n;k[l+8>>2]=q;ix(t,34557,l);MC(k[o>>2]|0,k[e>>2]|0,31450,k[k[f>>2]>>2]|0);kx(k[o>>2]|0,k[e>>2]|0);NC(k[o>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[e>>2]|0);ox(k[h>>2]|0,137,k[e>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;s=k[s>>2]|0;t=k[p>>2]|0;pv(s,t);r=u;return}function Cw(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=jx(k[d>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}lx(k[b>>2]|0,10,0,0)|0;Th(k[b>>2]|0,0);r=c;return}function Dw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=r;r=r+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;q=fc+40|0;o=fc+32|0;ac=fc+808|0;f=fc+804|0;s=fc+800|0;h=fc+796|0;n=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;g=fc+776|0;p=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;D=fc+684|0;fa=fc+680|0;T=fc+676|0;E=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;C=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;G=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;H=fc+548|0;A=fc+536|0;I=fc+532|0;J=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;K=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;F=fc+268|0;t=fc+8|0;u=fc;k[ac>>2]=a;k[f>>2]=b;k[s>>2]=c;k[h>>2]=d;k[n>>2]=e;k[dc>>2]=0;k[ec>>2]=0;k[_a>>2]=0;k[X>>2]=0;k[cc>>2]=k[k[ac>>2]>>2];d=jx(k[ac>>2]|0)|0;k[bc>>2]=d;if(!(k[bc>>2]|0)){r=fc;return}fC(k[bc>>2]|0);k[(k[ac>>2]|0)+76>>2]=2;d=Qz(k[ac>>2]|0,k[f>>2]|0,k[s>>2]|0,g)|0;k[$b>>2]=d;if((k[$b>>2]|0)<0){r=fc;return}k[Ea>>2]=(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4);if((k[$b>>2]|0)==1?(zx(k[ac>>2]|0)|0)!=0:0){r=fc;return}d=Zw(k[cc>>2]|0,k[g>>2]|0)|0;k[dc>>2]=d;if(!(k[dc>>2]|0)){r=fc;return}e=k[cc>>2]|0;f=k[h>>2]|0;if(k[n>>2]|0){k[o>>2]=f;o=Oh(e,32624,o)|0;k[ec>>2]=o}else{o=Zw(e,f)|0;k[ec>>2]=o}if((k[(k[s>>2]|0)+4>>2]|0)>>>0>0)f=k[k[Ea>>2]>>2]|0;else f=0;k[_a>>2]=f;a:do if(!(gx(k[ac>>2]|0,19,k[dc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0)){k[p>>2]=0;k[p+4>>2]=k[dc>>2];k[p+8>>2]=k[ec>>2];k[p+12>>2]=0;k[(k[cc>>2]|0)+380+8>>2]=0;o=Qf(k[cc>>2]|0,k[_a>>2]|0,14,p)|0;k[ka>>2]=o;if(!(k[ka>>2]|0)){gC(k[bc>>2]|0,32628,k[p>>2]|0);Ud(k[p>>2]|0);break}if((k[ka>>2]|0)!=12){if(k[p>>2]|0){bc=k[ac>>2]|0;k[q>>2]=k[p>>2];Mh(bc,19007,q);Ud(k[p>>2]|0)}bc=(k[ac>>2]|0)+68|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break}k[W>>2]=0;k[qa>>2]=57;while(1){if((k[W>>2]|0)>(k[qa>>2]|0))break;k[X>>2]=((k[W>>2]|0)+(k[qa>>2]|0)|0)/2|0;q=be(k[dc>>2]|0,k[5316+((k[X>>2]|0)*12|0)>>2]|0)|0;k[ka>>2]=q;if(!(k[ka>>2]|0))break;f=k[X>>2]|0;if((k[ka>>2]|0)<0){k[qa>>2]=f-1;continue}else{k[W>>2]=f+1;continue}}if((k[W>>2]|0)<=(k[qa>>2]|0)){k[Eb>>2]=5316+((k[X>>2]|0)*12|0);if((l[(k[Eb>>2]|0)+5>>0]&1|0)!=0?(Mz(k[ac>>2]|0)|0)!=0:0)break;do switch(l[(k[Eb>>2]|0)+4>>0]|0){case 11:{Th(k[bc>>2]|0,k[$b>>2]|0);if(k[ec>>2]|0){_b=Lj(Xi(k[ec>>2]|0)|0)|0;k[ma>>2]=_b;xx(k[ac>>2]|0,0,k[$b>>2]|0);px(k[bc>>2]|0,100,k[$b>>2]|0,3,k[ma>>2]|0)|0;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[ma>>2];Mj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{hC(k[bc>>2]|0,32635);ac=(k[ac>>2]|0)+76|0;k[ac>>2]=(k[ac>>2]|0)+2;bc=Sh(k[bc>>2]|0,9,32646,0)|0;k[v>>2]=bc;k[(k[v>>2]|0)+4>>2]=k[$b>>2];k[(k[v>>2]|0)+20+4>>2]=k[$b>>2];k[(k[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{k[_>>2]=k[(k[Ea>>2]|0)+4>>2];if(k[ec>>2]|0){bc=Xi(k[ec>>2]|0)|0;k[(k[cc>>2]|0)+76>>2]=bc;if(7!=(Ki(k[_>>2]|0,k[(k[cc>>2]|0)+76>>2]|0,-1,0)|0))break a;vh(k[cc>>2]|0);break a}if(k[_>>2]|0)f=Bg(k[_>>2]|0)|0;else f=0;k[Fa>>2]=f;ac=k[Fa>>2]|0;iC(k[bc>>2]|0,32682,ac,((ac|0)<0)<<31>>31);break a}case 26:{k[$>>2]=k[(k[Ea>>2]|0)+4>>2];k[B>>2]=-1;if(k[ec>>2]|0){ac=(Oi(k[ec>>2]|0,0)|0)&255;k[B>>2]=ac}b:do if((k[B>>2]|0)>=0?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[S>>2]=0;while(1){if((k[S>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break b;SB(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[S>>2]<<4)+4>>2]|0,k[B>>2]|0)|0;k[S>>2]=(k[S>>2]|0)+1}}while(0);ac=SB(k[$>>2]|0,k[B>>2]|0)|0;k[B>>2]=ac;ac=k[B>>2]|0;iC(k[bc>>2]|0,32692,ac,((ac|0)<0)<<31>>31);break a}case 23:{yx(k[ac>>2]|0,k[$b>>2]|0);f=(k[ac>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[Oa>>2]=g;g=k[bc>>2]|0;f=k[$b>>2]|0;e=k[Oa>>2]|0;if((l[18229+(l[k[dc>>2]>>0]|0)>>0]|0)==112)lx(g,156,f,e)|0;else px(g,157,f,e,Lj(Xi(k[ec>>2]|0)|0)|0)|0;lx(k[bc>>2]|0,85,k[Oa>>2]|0,1)|0;jC(k[bc>>2]|0,1);kC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;break a}case 22:{k[Ba>>2]=32706;ac=lC(k[ec>>2]|0)|0;k[D>>2]=ac;if((k[D>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0)k[D>>2]=l[(k[cc>>2]|0)+71>>0];else{if(!(k[(k[s>>2]|0)+4>>2]|0)){k[T>>2]=2;while(1){if((k[T>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;ac=Zf(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[T>>2]<<4)+4>>2]|0)|0;k[fa>>2]=ac;RB(k[fa>>2]|0,k[D>>2]|0)|0;k[T>>2]=(k[T>>2]|0)+1}i[(k[cc>>2]|0)+71>>0]=k[D>>2]}ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[fa>>2]=ac;ac=RB(k[fa>>2]|0,k[D>>2]|0)|0;k[D>>2]=ac}if((k[D>>2]|0)==1)k[Ba>>2]=32713;gC(k[bc>>2]|0,32723,k[Ba>>2]|0);break a}case 19:{hC(k[bc>>2]|0,32736);if(k[ec>>2]|0){ac=Tf(k[ec>>2]|0)|0;k[Y>>2]=ac;k[E>>2]=0;while(1){ac=mC(k[E>>2]|0)|0;k[Aa>>2]=ac;if(!ac)break;if(!(Jd(k[ec>>2]|0,k[Aa>>2]|0,k[Y>>2]|0)|0))break;k[E>>2]=(k[E>>2]|0)+1}if(!(k[Aa>>2]|0))k[E>>2]=-1}else k[E>>2]=-1;if((k[E>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[$b>>2]=0;k[(k[s>>2]|0)+4>>2]=1}k[U>>2]=(k[(k[cc>>2]|0)+20>>2]|0)-1;while(1){if((k[U>>2]|0)<0)break;do if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[U>>2]<<4)+4>>2]|0){if((k[U>>2]|0)!=(k[$b>>2]|0)?(k[(k[s>>2]|0)+4>>2]|0)!=0:0)break;Th(k[bc>>2]|0,k[U>>2]|0);px(k[bc>>2]|0,9,k[U>>2]|0,1,k[E>>2]|0)|0}while(0);k[U>>2]=(k[U>>2]|0)+-1}lx(k[bc>>2]|0,85,1,1)|0;break a}case 20:{ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[ga>>2]=ac;ac=Q;k[ac>>2]=-2;k[ac+4>>2]=-1;if((k[ec>>2]|0)!=0?(Pi(k[ec>>2]|0,Q)|0,ac=Q,$b=k[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(k[ac>>2]|0)>>>0<4294967295):0){ac=Q;k[ac>>2]=-1;k[ac+4>>2]=-1}$b=Q;$b=nC(k[ga>>2]|0,k[$b>>2]|0,k[$b+4>>2]|0)|0;ac=Q;k[ac>>2]=$b;k[ac+4>>2]=L;ac=Q;iC(k[bc>>2]|0,32749,k[ac>>2]|0,k[ac+4>>2]|0);break a}case 1:{k[aa>>2]=k[(k[Ea>>2]|0)+4>>2];if(!(k[ec>>2]|0)){ac=k[bc>>2]|0;bc=oC(k[aa>>2]|0)|0;iC(ac,32768,bc,((bc|0)<0)<<31>>31);break a}ac=pC(k[ec>>2]|0)|0;k[C>>2]=ac;i[(k[cc>>2]|0)+72>>0]=k[C>>2];ac=qC(k[aa>>2]|0,k[C>>2]|0)|0;k[ka>>2]=ac;if(k[ka>>2]|0)break a;if(!((k[C>>2]|0)==1|(k[C>>2]|0)==2))break a;ac=Yz(k[bc>>2]|0)|0;k[M>>2]=ac;ac=Sh(k[bc>>2]|0,5,32780,0)|0;k[y>>2]=ac;k[(k[y>>2]|0)+4>>2]=k[$b>>2];k[(k[y>>2]|0)+20+4>>2]=k[$b>>2];k[(k[y>>2]|0)+40+8>>2]=(k[M>>2]|0)+4;k[(k[y>>2]|0)+80+4>>2]=k[$b>>2];k[(k[y>>2]|0)+80+12>>2]=(k[C>>2]|0)-1;Th(k[bc>>2]|0,k[$b>>2]|0);break a}case 15:{if(!((k[ec>>2]|0)!=0?(_b=(Yi(k[ec>>2]|0,R)|0)==0,!(_b|(k[R>>2]|0)<=0)):0))k[R>>2]=2147483647;xx(k[ac>>2]|0,0,k[$b>>2]|0);lx(k[bc>>2]|0,74,k[R>>2]|0,1)|0;ac=Uz(k[bc>>2]|0,67,k[$b>>2]|0)|0;k[z>>2]=ac;Uz(k[bc>>2]|0,85,1)|0;lx(k[bc>>2]|0,89,1,-1)|0;lx(k[bc>>2]|0,64,1,k[z>>2]|0)|0;aA(k[bc>>2]|0,k[z>>2]|0);break a}case 4:if(k[ec>>2]|0){bc=Xi(k[ec>>2]|0)|0;k[na>>2]=bc;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[na>>2];Mj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0;iC(k[bc>>2]|0,32635,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(k[ec>>2]|0)){e=k[bc>>2]|0;if(!(k[(k[cc>>2]|0)+24>>2]&32))f=0;else f=rC(k[(k[Ea>>2]|0)+4>>2]|0,0)|0;iC(e,32800,f,((f|0)<0)<<31>>31);break a}k[oa>>2]=1;if(Yi(k[ec>>2]|0,oa)|0)rC(k[(k[Ea>>2]|0)+4>>2]|0,k[oa>>2]|0)|0;bc=(Oi(k[ec>>2]|0,(k[oa>>2]|0)!=0&255)|0)<<24>>24!=0;f=(k[cc>>2]|0)+24|0;e=k[f>>2]|0;if(bc)k[f>>2]=e|32;else k[f>>2]=e&-33;sC(k[cc>>2]|0);break a}case 24:{$b=pa;k[$b>>2]=0;k[$b+4>>2]=0;k[ka>>2]=0;if(!(k[ka>>2]|0)){ac=pa;iC(k[bc>>2]|0,32812,k[ac>>2]|0,k[ac+4>>2]|0);break a}if((k[ka>>2]|0)==12)break a;bc=(k[ac>>2]|0)+68|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break a}case 32:if(k[ec>>2]|0){tC(k[ac>>2]|0,k[ec>>2]|0)|0;break a}else{iC(k[bc>>2]|0,32822,l[(k[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(k[ec>>2]|0)){gC(k[bc>>2]|0,32833,k[241]|0);break a}if((i[k[ec>>2]>>0]|0)!=0?(bc=es(k[k[cc>>2]>>2]|0,k[ec>>2]|0,1,la)|0,k[ka>>2]=bc,(k[ka>>2]|0)!=0|(k[la>>2]|0)==0):0){Mh(k[ac>>2]|0,32854,ra);break a}if((l[(k[cc>>2]|0)+68>>0]|0)<=1)uC(k[ac>>2]|0)|0;Ud(k[241]|0);if(i[k[ec>>2]>>0]|0){k[sa>>2]=k[ec>>2];bc=Yd(19007,sa)|0;k[241]=bc;break a}else{k[241]=0;break a}}case 30:{if(!(k[ec>>2]|0)){ac=(l[(k[Ea>>2]|0)+8>>0]|0)-1|0;iC(k[bc>>2]|0,32879,ac,((ac|0)<0)<<31>>31);break a}if(i[(k[cc>>2]|0)+67>>0]|0){bc=((Wi(k[ec>>2]|0,0,1)|0)&255)+1&7;k[P>>2]=bc;k[P>>2]=(k[P>>2]|0)==0?1:bc;i[(k[Ea>>2]|0)+8>>0]=k[P>>2];i[(k[Ea>>2]|0)+9>>0]=1;sC(k[cc>>2]|0);break a}else{Mh(k[ac>>2]|0,32891,ta);break a}}case 2:{if(!(k[ec>>2]|0)){ac=(k[(k[cc>>2]|0)+24>>2]&k[(k[Eb>>2]|0)+8>>2]|0)!=0&1;iC(k[bc>>2]|0,k[k[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}k[Da>>2]=k[(k[Eb>>2]|0)+8>>2];if(!(l[(k[cc>>2]|0)+67>>0]|0))k[Da>>2]=k[Da>>2]&-524289;ac=(Oi(k[ec>>2]|0,0)|0)<<24>>24!=0;f=k[Da>>2]|0;if(!ac){ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]&~f;if((k[Da>>2]|0)==33554432){ac=(k[cc>>2]|0)+448|0;k[ac>>2]=0;k[ac+4>>2]=0}}else{ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]|f}lx(k[bc>>2]|0,148,0,0)|0;sC(k[cc>>2]|0);break a}case 31:{if(!(k[ec>>2]|0))break a;_b=Bi(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[Yb>>2]=_b;if(!(k[Yb>>2]|0))break a;k[Vb>>2]=0;_b=Rj(k[Yb>>2]|0)|0;k[Xb>>2]=_b;k[(k[ac>>2]|0)+76>>2]=6;yx(k[ac>>2]|0,k[$b>>2]|0);vC(k[bc>>2]|0,6,6012);Wx(k[ac>>2]|0,k[Yb>>2]|0)|0;k[Tb>>2]=0;k[Wb>>2]=k[(k[Yb>>2]|0)+4>>2];while(1){if((k[Tb>>2]|0)>=(j[(k[Yb>>2]|0)+34>>1]|0))break a;if(l[(k[Wb>>2]|0)+15>>0]&2)k[Vb>>2]=(k[Vb>>2]|0)+1;else{c:do if(!(l[(k[Wb>>2]|0)+15>>0]&1))k[Ub>>2]=0;else{ac=(k[Xb>>2]|0)==0;k[Ub>>2]=1;if(ac)break;while(1){if((k[Ub>>2]|0)>(j[(k[Yb>>2]|0)+34>>1]|0))break c;if((j[(k[(k[Xb>>2]|0)+4>>2]|0)+((k[Ub>>2]|0)-1<<1)>>1]|0)==(k[Tb>>2]|0))break c;k[Ub>>2]=(k[Ub>>2]|0)+1}}while(0);f=k[bc>>2]|0;e=(k[Tb>>2]|0)-(k[Vb>>2]|0)|0;g=k[k[Wb>>2]>>2]|0;b=Di(k[Wb>>2]|0,19018)|0;c=(l[(k[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(k[(k[Wb>>2]|0)+4>>2]|0)a=k[(k[(k[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else a=0;ac=k[Ub>>2]|0;k[Zb>>2]=e;k[Zb+4>>2]=g;k[Zb+8>>2]=b;k[Zb+12>>2]=c;k[Zb+16>>2]=a;k[Zb+20>>2]=ac;wC(f,1,32944,Zb);lx(k[bc>>2]|0,85,1,6)|0}k[Tb>>2]=(k[Tb>>2]|0)+1;k[Wb>>2]=(k[Wb>>2]|0)+16}}case 29:{_b=jx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+76>>2]=4;yx(k[ac>>2]|0,k[$b>>2]|0);vC(k[bc>>2]|0,4,6036);k[G>>2]=k[(k[(k[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[G>>2]|0))break a;k[ha>>2]=k[(k[G>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=j[(k[ha>>2]|0)+40>>1]|0;$b=j[(k[ha>>2]|0)+38>>1]|0;k[ua>>2]=k[k[ha>>2]>>2];k[ua+4>>2]=0;k[ua+8>>2]=_b;k[ua+12>>2]=$b;wC(ac,1,32951,ua);lx(k[bc>>2]|0,85,1,4)|0;k[da>>2]=k[(k[ha>>2]|0)+8>>2];while(1){if(!(k[da>>2]|0))break;ac=k[bc>>2]|0;_b=j[(k[da>>2]|0)+48>>1]|0;$b=j[k[(k[da>>2]|0)+8>>2]>>1]|0;k[va>>2]=k[k[da>>2]>>2];k[va+4>>2]=_b;k[va+8>>2]=$b;wC(ac,2,32956,va);lx(k[bc>>2]|0,85,1,4)|0;k[da>>2]=k[(k[da>>2]|0)+20>>2]}k[G>>2]=k[k[G>>2]>>2]}}case 16:{if(!(k[ec>>2]|0))break a;_b=Sj(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[zb>>2]=_b;if(!(k[zb>>2]|0))break a;f=k[zb>>2]|0;if(k[(k[Eb>>2]|0)+8>>2]|0){k[vb>>2]=m[f+52>>1];k[(k[ac>>2]|0)+76>>2]=6}else{k[vb>>2]=m[f+50>>1];k[(k[ac>>2]|0)+76>>2]=3}k[Gb>>2]=k[(k[zb>>2]|0)+12>>2];yx(k[ac>>2]|0,k[$b>>2]|0);vC(k[bc>>2]|0,k[(k[ac>>2]|0)+76>>2]|0,6052);k[fb>>2]=0;while(1){if((k[fb>>2]|0)>=(k[vb>>2]|0))break a;j[eb>>1]=j[(k[(k[zb>>2]|0)+4>>2]|0)+(k[fb>>2]<<1)>>1]|0;f=k[bc>>2]|0;e=j[eb>>1]|0;if((j[eb>>1]|0)<0)g=0;else g=k[(k[(k[Gb>>2]|0)+4>>2]|0)+(j[eb>>1]<<4)>>2]|0;k[Nb>>2]=k[fb>>2];k[Nb+4>>2]=e;k[Nb+8>>2]=g;wC(f,1,32960,Nb);if(k[(k[Eb>>2]|0)+8>>2]|0){$b=k[bc>>2]|0;Zb=k[(k[(k[zb>>2]|0)+32>>2]|0)+(k[fb>>2]<<2)>>2]|0;_b=(k[fb>>2]|0)<(m[(k[zb>>2]|0)+50>>1]|0)&1;k[Ob>>2]=l[(k[(k[zb>>2]|0)+28>>2]|0)+(k[fb>>2]|0)>>0];k[Ob+4>>2]=Zb;k[Ob+8>>2]=_b;wC($b,4,32964,Ob)}lx(k[bc>>2]|0,85,1,k[(k[ac>>2]|0)+76>>2]|0)|0;k[fb>>2]=(k[fb>>2]|0)+1}}case 17:{if(!(k[ec>>2]|0))break a;_b=Bi(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ia>>2]=_b;if(!(k[ia>>2]|0))break a;_b=jx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+76>>2]=5;yx(k[ac>>2]|0,k[$b>>2]|0);vC(k[bc>>2]|0,5,6076);k[ea>>2]=k[(k[ia>>2]|0)+8>>2];k[H>>2]=0;while(1){if(!(k[ea>>2]|0))break a;k[A>>2]=k[1524];k[A+4>>2]=k[1525];k[A+8>>2]=k[1526];ac=k[bc>>2]|0;Yb=k[k[ea>>2]>>2]|0;Zb=(l[(k[ea>>2]|0)+54>>0]|0)!=0&1;_b=k[A+((i[(k[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(k[(k[ea>>2]|0)+36>>2]|0)!=0&1;k[wa>>2]=k[H>>2];k[wa+4>>2]=Yb;k[wa+8>>2]=Zb;k[wa+12>>2]=_b;k[wa+16>>2]=$b;wC(ac,1,32968,wa);lx(k[bc>>2]|0,85,1,5)|0;k[ea>>2]=k[(k[ea>>2]|0)+20>>2];k[H>>2]=(k[H>>2]|0)+1}}case 10:{k[(k[ac>>2]|0)+76>>2]=3;vC(k[bc>>2]|0,3,6108);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break a;if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0){ac=k[bc>>2]|0;Zb=k[I>>2]|0;_b=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2]|0;$b=Qi(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0)|0;k[xa>>2]=Zb;k[xa+4>>2]=_b;k[xa+8>>2]=$b;wC(ac,1,32974,xa);lx(k[bc>>2]|0,85,1,3)|0}k[I>>2]=(k[I>>2]|0)+1}}case 7:{k[J>>2]=0;k[(k[ac>>2]|0)+76>>2]=2;vC(k[bc>>2]|0,2,6120);k[Z>>2]=k[(k[cc>>2]|0)+364+8>>2];while(1){if(!(k[Z>>2]|0))break a;k[ba>>2]=k[(k[Z>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=k[J>>2]|0;k[J>>2]=_b+1;$b=k[k[ba>>2]>>2]|0;k[ya>>2]=_b;k[ya+4>>2]=$b;wC(ac,1,32978,ya);lx(k[bc>>2]|0,85,1,2)|0;k[Z>>2]=k[k[Z>>2]>>2]}}case 14:{if(!(k[ec>>2]|0))break a;_b=Bi(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ja>>2]=_b;if(!(k[ja>>2]|0))break a;_b=jx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[ca>>2]=k[(k[ja>>2]|0)+16>>2];if(!(k[ca>>2]|0))break a;k[K>>2]=0;k[(k[ac>>2]|0)+76>>2]=8;yx(k[ac>>2]|0,k[$b>>2]|0);vC(k[bc>>2]|0,8,6128);while(1){if(!(k[ca>>2]|0))break a;k[V>>2]=0;while(1){if((k[V>>2]|0)>=(k[(k[ca>>2]|0)+20>>2]|0))break;ac=k[bc>>2]|0;Vb=k[K>>2]|0;Wb=k[V>>2]|0;Xb=k[(k[ca>>2]|0)+8>>2]|0;Yb=k[(k[(k[ja>>2]|0)+4>>2]|0)+(k[(k[ca>>2]|0)+36+(k[V>>2]<<3)>>2]<<4)>>2]|0;Zb=k[(k[ca>>2]|0)+36+(k[V>>2]<<3)+4>>2]|0;_b=xC(i[(k[ca>>2]|0)+25+1>>0]|0)|0;$b=xC(i[(k[ca>>2]|0)+25>>0]|0)|0;k[za>>2]=Vb;k[za+4>>2]=Wb;k[za+8>>2]=Xb;k[za+12>>2]=Yb;k[za+16>>2]=Zb;k[za+20>>2]=_b;k[za+24>>2]=$b;k[za+28>>2]=32990;wC(ac,1,32981,za);lx(k[bc>>2]|0,85,1,8)|0;k[V>>2]=(k[V>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1;k[ca>>2]=k[(k[ca>>2]|0)+4>>2]}}case 13:{k[Wa>>2]=(k[(k[ac>>2]|0)+76>>2]|0)+1;Zb=(k[ac>>2]|0)+76|0;k[Zb>>2]=(k[Zb>>2]|0)+4;Zb=(k[ac>>2]|0)+76|0;Yb=(k[Zb>>2]|0)+1|0;k[Zb>>2]=Yb;k[Va>>2]=Yb;Yb=(k[ac>>2]|0)+76|0;Zb=(k[Yb>>2]|0)+1|0;k[Yb>>2]=Zb;k[Xa>>2]=Zb;Zb=jx(k[ac>>2]|0)|0;k[bc>>2]=Zb;vC(k[bc>>2]|0,4,6160);yx(k[ac>>2]|0,k[$b>>2]|0);k[Qa>>2]=k[(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[Qa>>2]|0))break a;if(k[ec>>2]|0){Zb=Lh(k[ac>>2]|0,0,k[ec>>2]|0,k[_a>>2]|0)|0;k[Ua>>2]=Zb;k[Qa>>2]=0}else{k[Ua>>2]=k[(k[Qa>>2]|0)+8>>2];k[Qa>>2]=k[k[Qa>>2]>>2]}if(!(k[Ua>>2]|0))continue;if(!(k[(k[Ua>>2]|0)+16>>2]|0))continue;Vz(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ua>>2]|0)+28>>2]|0,0,k[k[Ua>>2]>>2]|0);if(((j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0)|0)>(k[(k[ac>>2]|0)+76>>2]|0))k[(k[ac>>2]|0)+76>>2]=(j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0);Wz(k[ac>>2]|0,0,k[$b>>2]|0,k[Ua>>2]|0,102);nx(k[bc>>2]|0,k[Wa>>2]|0,k[k[Ua>>2]>>2]|0)|0;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];d:while(1){if(!(k[Ra>>2]|0))break;Zb=Bi(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;do if(k[Ta>>2]|0){k[Sa>>2]=0;Vz(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ta>>2]|0)+28>>2]|0,0,k[k[Ta>>2]>>2]|0);Zb=yC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,0)|0;k[Za>>2]=Zb;if(k[Za>>2]|0){_b=207;break d}if(!(k[Sa>>2]|0)){Wz(k[ac>>2]|0,k[Ma>>2]|0,k[$b>>2]|0,k[Ta>>2]|0,102);break}else{px(k[bc>>2]|0,102,k[Ma>>2]|0,k[(k[Sa>>2]|0)+44>>2]|0,k[$b>>2]|0)|0;Xz(k[ac>>2]|0,k[Sa>>2]|0);break}}while(0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;k[Qa>>2]=0}if(k[Ra>>2]|0)break a;if((k[(k[ac>>2]|0)+72>>2]|0)<(k[Ma>>2]|0))k[(k[ac>>2]|0)+72>>2]=k[Ma>>2];Zb=Uz(k[bc>>2]|0,55,0)|0;k[Ka>>2]=Zb;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];while(1){if(!(k[Ra>>2]|0))break;Zb=Bi(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;k[Sa>>2]=0;k[La>>2]=0;if(k[Ta>>2]|0){Zb=yC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,La)|0;k[Za>>2]=Zb}Zb=Zz(k[bc>>2]|0)|0;k[Ja>>2]=Zb;do if((k[Ta>>2]|0)!=0&(k[Sa>>2]|0)==0){k[Na>>2]=k[(k[Ra>>2]|0)+36>>2];f=k[bc>>2]|0;if((k[Na>>2]|0)!=(j[(k[Ua>>2]|0)+32>>1]|0)){px(f,94,0,k[Na>>2]|0,k[Xa>>2]|0)|0;SA(k[bc>>2]|0,k[Ua>>2]|0,k[Na>>2]|0,k[Xa>>2]|0);lx(k[bc>>2]|0,34,k[Xa>>2]|0,k[Ja>>2]|0)|0;Yb=k[bc>>2]|0;Zb=k[Xa>>2]|0;lx(Yb,17,Zb,(Yz(k[bc>>2]|0)|0)+3|0)|0}else lx(f,121,0,k[Xa>>2]|0)|0;px(k[bc>>2]|0,32,k[Ma>>2]|0,0,k[Xa>>2]|0)|0;$z(k[bc>>2]|0,k[Ja>>2]|0)|0;Zb=k[bc>>2]|0;aA(Zb,(Yz(k[bc>>2]|0)|0)-2|0)}else{k[Pa>>2]=0;while(1){if((k[Pa>>2]|0)>=(k[(k[Ra>>2]|0)+20>>2]|0))break;f=k[Pa>>2]|0;if(k[La>>2]|0)f=k[(k[La>>2]|0)+(f<<2)>>2]|0;else f=k[(k[Ra>>2]|0)+36+(f<<3)>>2]|0;QA(k[bc>>2]|0,k[Ua>>2]|0,0,f,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0);lx(k[bc>>2]|0,34,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0,k[Ja>>2]|0)|0;k[Pa>>2]=(k[Pa>>2]|0)+1}if(!(k[Ta>>2]|0))break;Vb=k[bc>>2]|0;Wb=k[Xa>>2]|0;Xb=k[(k[Ra>>2]|0)+20>>2]|0;Yb=k[Va>>2]|0;Zb=zC(k[cc>>2]|0,k[Sa>>2]|0)|0;ox(Vb,96,Wb,Xb,Yb,Zb,k[(k[Ra>>2]|0)+20>>2]|0)|0;Qh(k[bc>>2]|0,31,k[Ma>>2]|0,k[Ja>>2]|0,k[Va>>2]|0,0)|0}while(0);lx(k[bc>>2]|0,121,0,(k[Wa>>2]|0)+1|0)|0;Yb=k[bc>>2]|0;Zb=(k[Wa>>2]|0)+2|0;Xb=(k[Ma>>2]|0)-1|0;k[Ya>>2]=k[(k[Ra>>2]|0)+8>>2];k[Ya+4>>2]=Xb;wC(Yb,Zb,32995,Ya);lx(k[bc>>2]|0,85,k[Wa>>2]|0,4)|0;bA(k[bc>>2]|0,k[Ja>>2]|0);bg(k[cc>>2]|0,k[La>>2]|0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}lx(k[bc>>2]|0,7,0,(k[Ka>>2]|0)+1|0)|0;aA(k[bc>>2]|0,k[Ka>>2]|0)}}case 6:{if(!(k[ec>>2]|0))break a;bc=k[cc>>2]|0;AC(bc,(Oi(k[ec>>2]|0,0)|0)&255);break a}case 18:{k[kb>>2]=(l[18229+(l[k[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(k[k[s>>2]>>2]|0))k[$b>>2]=-1;k[(k[ac>>2]|0)+76>>2]=6;hC(k[bc>>2]|0,32998);k[wb>>2]=100;if((k[ec>>2]|0)!=0?(Yi(k[ec>>2]|0,wb)|0,(k[wb>>2]|0)<=0):0)k[wb>>2]=100;lx(k[bc>>2]|0,74,k[wb>>2]|0,1)|0;k[gb>>2]=0;e:while(1){if((k[gb>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;k[db>>2]=0;k[xb>>2]=0;if(!((k[$b>>2]|0)>=0?(k[gb>>2]|0)!=(k[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;yx(k[ac>>2]|0,k[gb>>2]|0);Zb=Uz(k[bc>>2]|0,64,1)|0;k[bb>>2]=Zb;lx(k[bc>>2]|0,73,0,0)|0;aA(k[bc>>2]|0,k[bb>>2]|0);k[Kb>>2]=(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)+12>>2]|0)+8;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Hb>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Hb>>2]|0)+42>>0]&32))k[db>>2]=(k[db>>2]|0)+1;k[yb>>2]=0;k[Ab>>2]=k[(k[Hb>>2]|0)+8>>2];while(1){if(!(k[Ab>>2]|0))break;k[db>>2]=(k[db>>2]|0)+1;k[Ab>>2]=k[(k[Ab>>2]|0)+20>>2];k[yb>>2]=(k[yb>>2]|0)+1}if((k[yb>>2]|0)>(k[xb>>2]|0))k[xb>>2]=k[yb>>2];k[Rb>>2]=k[k[Rb>>2]>>2]}Zb=$w(k[cc>>2]|0,(k[db>>2]|0)+1<<2,0)|0;k[ab>>2]=Zb;if(!(k[ab>>2]|0))break e;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Ib>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Ib>>2]|0)+42>>0]&32)){Yb=k[(k[Ib>>2]|0)+28>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb}k[Bb>>2]=k[(k[Ib>>2]|0)+8>>2];while(1){if(!(k[Bb>>2]|0))break;Yb=k[(k[Bb>>2]|0)+44>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb;k[Bb>>2]=k[(k[Bb>>2]|0)+20>>2]}k[Rb>>2]=k[k[Rb>>2]>>2]}k[(k[ab>>2]|0)+(k[db>>2]<<2)>>2]=0;if((k[(k[ac>>2]|0)+76>>2]|0)>(8+(k[xb>>2]|0)|0))f=k[(k[ac>>2]|0)+76>>2]|0;else f=8+(k[xb>>2]|0)|0;k[(k[ac>>2]|0)+76>>2]=f;ox(k[bc>>2]|0,139,2,k[db>>2]|0,1,k[ab>>2]|0,-15)|0;Rh(k[bc>>2]|0,k[gb>>2]&255);Yb=Uz(k[bc>>2]|0,34,2)|0;k[bb>>2]=Yb;Yb=k[bc>>2]|0;Zb=k[cc>>2]|0;k[Pb>>2]=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)>>2];ox(Yb,97,0,3,0,Oh(Zb,33014,Pb)|0,-1)|0;px(k[bc>>2]|0,81,2,4,1)|0;px(k[bc>>2]|0,52,4,3,2)|0;lx(k[bc>>2]|0,85,2,1)|0;aA(k[bc>>2]|0,k[bb>>2]|0);k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break f;if(!((k[kb>>2]|0)!=0^1))break f;k[Jb>>2]=k[(k[Rb>>2]|0)+8>>2];k[Fb>>2]=0;k[Lb>>2]=-1;g:do if(k[(k[Jb>>2]|0)+8>>2]|0){if(!(l[(k[Jb>>2]|0)+42>>0]&32))f=0;else f=Rj(k[Jb>>2]|0)|0;k[Db>>2]=f;Zb=Uz(k[bc>>2]|0,64,1)|0;k[bb>>2]=Zb;lx(k[bc>>2]|0,73,0,0)|0;aA(k[bc>>2]|0,k[bb>>2]|0);BC(k[ac>>2]|0);CC(k[ac>>2]|0,k[Jb>>2]|0,102,0,1,0,ib,jb)|0;lx(k[bc>>2]|0,74,0,7)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;lx(f,74,0,8+(k[lb>>2]|0)|0)|0;k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}lx(f,55,k[ib>>2]|0,0)|0;Zb=lx(k[bc>>2]|0,89,7,1)|0;k[ub>>2]=Zb;k[lb>>2]=0;while(1){if((k[lb>>2]|0)>=(j[(k[Jb>>2]|0)+34>>1]|0))break;do if((k[lb>>2]|0)!=(j[(k[Jb>>2]|0)+32>>1]|0)){if(!(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)+12>>0]|0))break;QA(k[bc>>2]|0,k[Jb>>2]|0,k[ib>>2]|0,k[lb>>2]|0,3);Rh(k[bc>>2]|0,-128);Zb=Uz(k[bc>>2]|0,35,3)|0;k[mb>>2]=Zb;lx(k[bc>>2]|0,89,1,-1)|0;Zb=k[cc>>2]|0;Yb=k[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)>>2]|0;k[Qb>>2]=k[k[Jb>>2]>>2];k[Qb+4>>2]=Yb;Zb=Oh(Zb,33038,Qb)|0;k[Sb>>2]=Zb;ox(k[bc>>2]|0,97,0,3,0,k[Sb>>2]|0,-1)|0;lx(k[bc>>2]|0,85,3,1)|0;Zb=Uz(k[bc>>2]|0,64,1)|0;k[ob>>2]=Zb;tx(k[bc>>2]|0,73)|0;aA(k[bc>>2]|0,k[mb>>2]|0);aA(k[bc>>2]|0,k[ob>>2]|0)}while(0);k[lb>>2]=(k[lb>>2]|0)+1}k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;Zb=Zz(f)|0;k[cb>>2]=Zb;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=sA(k[ac>>2]|0,k[Cb>>2]|0,k[ib>>2]|0,0,0,pb,k[Fb>>2]|0,k[Lb>>2]|0)|0;k[Lb>>2]=Zb;k[Fb>>2]=k[Cb>>2];lx(k[bc>>2]|0,89,8+(k[lb>>2]|0)|0,1)|0;Zb=Qh(k[bc>>2]|0,31,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[cb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+52>>1]|0)|0;k[nb>>2]=Zb;lx(k[bc>>2]|0,89,1,-1)|0;nx(k[bc>>2]|0,3,33058)|0;px(k[bc>>2]|0,52,7,3,3)|0;nx(k[bc>>2]|0,4,33063)|0;px(k[bc>>2]|0,52,4,3,3)|0;Zb=nx(k[bc>>2]|0,4,k[k[Cb>>2]>>2]|0)|0;k[rb>>2]=Zb;px(k[bc>>2]|0,52,4,3,3)|0;lx(k[bc>>2]|0,85,3,1)|0;Zb=Uz(k[bc>>2]|0,64,1)|0;k[qb>>2]=Zb;tx(k[bc>>2]|0,73)|0;aA(k[bc>>2]|0,k[nb>>2]|0);if(l[(k[Cb>>2]|0)+54>>0]|0){Zb=Zz(k[bc>>2]|0)|0;k[Mb>>2]=Zb;k[tb>>2]=0;while(1){if((k[tb>>2]|0)>=(m[(k[Cb>>2]|0)+50>>1]|0))break;k[hb>>2]=j[(k[(k[Cb>>2]|0)+4>>2]|0)+(k[tb>>2]<<1)>>1];if(!((k[hb>>2]|0)>=0?(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[hb>>2]<<4)+12>>0]|0)!=0:0))lx(k[bc>>2]|0,34,(k[Lb>>2]|0)+(k[tb>>2]|0)|0,k[Mb>>2]|0)|0;k[tb>>2]=(k[tb>>2]|0)+1}Zb=Uz(k[bc>>2]|0,7,(k[jb>>2]|0)+(k[lb>>2]|0)|0)|0;k[sb>>2]=Zb;$z(k[bc>>2]|0,k[Mb>>2]|0)|0;aA(k[bc>>2]|0,k[sb>>2]|0);Qh(k[bc>>2]|0,57,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[Mb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+50>>1]|0)|0;lx(k[bc>>2]|0,89,1,-1)|0;nx(k[bc>>2]|0,3,33084)|0;$z(k[bc>>2]|0,k[rb>>2]|0)|0;bA(k[bc>>2]|0,k[Mb>>2]|0)}aA(k[bc>>2]|0,k[qb>>2]|0);tA(k[ac>>2]|0,k[pb>>2]|0)}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}lx(f,7,k[ib>>2]|0,k[ub>>2]|0)|0;aA(k[bc>>2]|0,(k[ub>>2]|0)-1|0);nx(k[bc>>2]|0,2,33111)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){if(!(k[Cb>>2]|0))break g;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=Yz(k[bc>>2]|0)|0;k[bb>>2]=Zb;lx(k[bc>>2]|0,64,1,(k[bb>>2]|0)+2|0)|0;lx(k[bc>>2]|0,73,0,0)|0;lx(k[bc>>2]|0,98,(k[jb>>2]|0)+(k[lb>>2]|0)|0,3)|0;px(k[bc>>2]|0,37,8+(k[lb>>2]|0)|0,(k[bb>>2]|0)+8|0,3)|0;Rh(k[bc>>2]|0,-112);lx(k[bc>>2]|0,89,1,-1)|0;nx(k[bc>>2]|0,3,k[k[Cb>>2]>>2]|0)|0;px(k[bc>>2]|0,52,3,2,7)|0;lx(k[bc>>2]|0,85,7,1)|0}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}}while(0);k[Rb>>2]=k[k[Rb>>2]>>2]}}while(0);k[gb>>2]=(k[gb>>2]|0)+1}bc=Sh(k[bc>>2]|0,4,33140,0)|0;k[$a>>2]=bc;if(!(k[$a>>2]|0))break a;k[(k[$a>>2]|0)+8>>2]=0-(k[wb>>2]|0);i[(k[$a>>2]|0)+40+1>>0]=-2;k[(k[$a>>2]|0)+40+16>>2]=33156;break a}case 12:{if(!(k[ec>>2]|0)){if(Mz(k[ac>>2]|0)|0)break a;gC(k[bc>>2]|0,33159,k[6176+(l[(k[k[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;k[Ha>>2]=6176;while(1){if(!(k[k[Ha>>2]>>2]|0))break;bc=0==(sg(k[ec>>2]|0,k[k[Ha>>2]>>2]|0)|0);f=k[Ha>>2]|0;if(bc){_b=309;break}k[Ha>>2]=f+8}if((_b|0)==309){if(l[f+4>>0]|0)f=l[(k[Ha>>2]|0)+4>>0]|0;else f=(i[960]|0)==0?3:2;bc=f&255;i[(k[cc>>2]|0)+66>>0]=bc;i[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(k[k[Ha>>2]>>2]|0)break a;bc=k[ac>>2]|0;k[Ia>>2]=k[ec>>2];Mh(bc,33168,Ia);break a}case 0:{k[O>>2]=k[(k[Eb>>2]|0)+8>>2];Th(k[bc>>2]|0,k[$b>>2]|0);if((k[ec>>2]|0)!=0?(l[(k[Eb>>2]|0)+5>>0]&2|0)==0:0){bc=Sh(k[bc>>2]|0,2,33193,0)|0;k[w>>2]=bc;k[(k[w>>2]|0)+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+8>>2]=k[O>>2];bc=Xi(k[ec>>2]|0)|0;k[(k[w>>2]|0)+20+12>>2]=bc;break a}ac=Sh(k[bc>>2]|0,3,33201,0)|0;k[x>>2]=ac;k[(k[x>>2]|0)+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+12>>2]=k[O>>2];jC(k[bc>>2]|0,1);kC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;DC(k[bc>>2]|0);break a}case 8:{k[Ca>>2]=0;k[(k[ac>>2]|0)+76>>2]=1;hC(k[bc>>2]|0,33213);while(1){ac=k[Ca>>2]|0;k[Ca>>2]=ac+1;ac=Kd(ac)|0;k[Ga>>2]=ac;f=k[bc>>2]|0;if(!ac)break;nx(f,1,k[Ga>>2]|0)|0;lx(k[bc>>2]|0,85,1,1)|0}DC(f);break a}case 36:{k[N>>2]=(k[k[s>>2]>>2]|0)!=0?k[$b>>2]|0:10;k[F>>2]=0;do if(k[ec>>2]|0){if(!(sg(k[ec>>2]|0,33228)|0)){k[F>>2]=1;break}if(!(sg(k[ec>>2]|0,33233)|0)){k[F>>2]=2;break}if(!(sg(k[ec>>2]|0,33241)|0))k[F>>2]=3}while(0);vC(k[bc>>2]|0,3,6248);k[(k[ac>>2]|0)+76>>2]=3;px(k[bc>>2]|0,8,k[N>>2]|0,k[F>>2]|0,1)|0;lx(k[bc>>2]|0,85,1,3)|0;break a}case 35:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Jf(ac,Xi(k[ec>>2]|0)|0)|0}if((k[(k[cc>>2]|0)+220>>2]|0)==139)f=k[(k[cc>>2]|0)+224>>2]|0;else f=0;iC(k[bc>>2]|0,33250,f,((f|0)<0)<<31>>31);break a}case 27:{xf(k[cc>>2]|0)|0;break a}case 28:{if((k[ec>>2]|0)!=0?(Pi(k[ec>>2]|0,t)|0)==0:0){ac=t;Qd(k[ac>>2]|0,k[ac+4>>2]|0)|0}ac=k[bc>>2]|0;bc=Qd(-1,-1)|0;iC(ac,33277,bc,L);break a}case 34:{if((k[ec>>2]|0)!=0?(_b=(Pi(k[ec>>2]|0,u)|0)==0,ac=u,$b=k[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(k[ac>>2]|0)>>>0>=0)):0)Of(k[cc>>2]|0,11,k[u>>2]&2147483647)|0;ac=k[bc>>2]|0;bc=Of(k[cc>>2]|0,11,-1)|0;iC(ac,33293,bc,((bc|0)<0)<<31>>31);break a}default:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Ff(ac,Xi(k[ec>>2]|0)|0)|0}ac=k[(k[cc>>2]|0)+428>>2]|0;iC(k[bc>>2]|0,33269,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);bg(k[cc>>2]|0,k[dc>>2]|0);bg(k[cc>>2]|0,k[ec>>2]|0);r=fc;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;t=w+24|0;s=w;d=w+108|0;e=w+104|0;f=w+100|0;o=w+96|0;v=w+92|0;g=w+88|0;p=w+64|0;h=w+56|0;j=w+48|0;q=w+44|0;u=w+40|0;m=w+36|0;l=w+32|0;n=w+28|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[(k[d>>2]|0)+492>>2];k[g>>2]=k[k[d>>2]>>2];k[(k[d>>2]|0)+492>>2]=0;do if((k[o>>2]|0)!=0?(k[(k[d>>2]|0)+68>>2]|0)==0:0){k[v>>2]=k[k[o>>2]>>2];b=Nh(k[k[d>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0)|0;k[h>>2]=b;k[(k[o>>2]|0)+28>>2]=k[e>>2];while(1){c=k[o>>2]|0;if(!(k[e>>2]|0))break;k[(k[e>>2]|0)+4>>2]=c;k[e>>2]=k[(k[e>>2]|0)+28>>2]}Zy(j,k[c>>2]|0);$B(p,k[d>>2]|0,k[h>>2]|0,19280,j);if((eC(p,k[(k[o>>2]|0)+28>>2]|0)|0)==0?(cC(p,k[(k[o>>2]|0)+12>>2]|0)|0)==0:0){if(!(i[(k[g>>2]|0)+144+5>>0]|0)){p=jx(k[d>>2]|0)|0;k[q>>2]=p;if(!(k[q>>2]|0))break;xx(k[d>>2]|0,0,k[h>>2]|0);p=cx(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,0)|0;k[u>>2]=p;p=k[d>>2]|0;a=(k[h>>2]|0)==1?20521:20540;b=k[v>>2]|0;f=k[(k[o>>2]|0)+4>>2]|0;j=k[u>>2]|0;k[s>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[s+4>>2]=a;k[s+8>>2]=b;k[s+12>>2]=f;k[s+16>>2]=j;ix(p,32531,s);bg(k[g>>2]|0,k[u>>2]|0);kx(k[d>>2]|0,k[h>>2]|0);q=k[q>>2]|0;s=k[h>>2]|0;u=k[g>>2]|0;k[t>>2]=k[v>>2];mx(q,s,Oh(u,32595,t)|0)}if(i[(k[g>>2]|0)+144+5>>0]|0){k[m>>2]=k[o>>2];k[l>>2]=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+40;v=ak(k[l>>2]|0,k[v>>2]|0,k[o>>2]|0)|0;k[o>>2]=v;if(k[o>>2]|0){vh(k[g>>2]|0);break}if((k[(k[m>>2]|0)+20>>2]|0)==(k[(k[m>>2]|0)+24>>2]|0)){v=Aj((k[(k[m>>2]|0)+24>>2]|0)+8|0,k[(k[m>>2]|0)+4>>2]|0)|0;k[n>>2]=v;k[(k[m>>2]|0)+32>>2]=k[(k[n>>2]|0)+60>>2];k[(k[n>>2]|0)+60>>2]=k[m>>2]}}}}while(0);_f(k[g>>2]|0,k[o>>2]|0);wv(k[g>>2]|0,k[e>>2]|0);r=w;return}function Fw(a,b,c,d,e,f,g,h,j,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;q=Q;I=Q+156|0;n=Q+152|0;o=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;p=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;k[I>>2]=a;k[n>>2]=b;k[o>>2]=c;k[x>>2]=d;k[y>>2]=e;k[J>>2]=f;k[K>>2]=g;k[L>>2]=h;k[z>>2]=j;k[A>>2]=m;k[O>>2]=0;k[P>>2]=0;k[M>>2]=k[k[I>>2]>>2];do if(k[z>>2]|0)if((k[(k[o>>2]|0)+4>>2]|0)>>>0<=0){k[N>>2]=1;k[D>>2]=k[n>>2];if(k[K>>2]|0){w=6;break}else break}else{Mh(k[I>>2]|0,32214,q);break}else{q=Qz(k[I>>2]|0,k[n>>2]|0,k[o>>2]|0,D)|0;k[N>>2]=q;if((k[N>>2]|0)>=0&(k[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(l[(k[M>>2]|0)+69>>0]|0)==0:0){if((k[N>>2]|0)!=1?(l[(k[M>>2]|0)+144+5>>0]|0)!=0:0){bg(k[M>>2]|0,k[(k[K>>2]|0)+8+4>>2]|0);k[(k[K>>2]|0)+8+4>>2]=0}w=_B(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(((l[(k[M>>2]|0)+144+5>>0]|0)==0?((k[E>>2]|0)!=0?(k[(k[o>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[E>>2]|0)+64>>2]|0)==(k[(k[(k[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[N>>2]=1;if((i[(k[M>>2]|0)+69>>0]|0)==0?($B(p,k[I>>2]|0,k[N>>2]|0,19280,k[D>>2]|0),(aC(p,k[K>>2]|0)|0)==0):0){w=_B(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(!(k[E>>2]|0)){if((l[(k[M>>2]|0)+144+4>>0]|0)!=1)break;i[(k[M>>2]|0)+144+6>>0]=1;break}if(l[(k[E>>2]|0)+42>>0]&16){Mh(k[I>>2]|0,32260,s);break}w=Zw(k[M>>2]|0,k[D>>2]|0)|0;k[P>>2]=w;if((k[P>>2]|0)!=0?0==(Vx(k[I>>2]|0,k[P>>2]|0)|0):0){if(Aj((k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2]|0)+40|0,k[P>>2]|0)|0){n=k[I>>2]|0;if(k[A>>2]|0){yx(n,k[N>>2]|0);break}else{k[F>>2]=k[D>>2];Mh(n,32301,F);break}}if(!(Jd(k[k[E>>2]>>2]|0,28448,7)|0)){Mh(k[I>>2]|0,32327,t);break}if((k[x>>2]|0)!=77?(k[(k[E>>2]|0)+12>>2]|0)!=0:0){N=k[I>>2]|0;H=k[K>>2]|0;k[u>>2]=(k[x>>2]|0)==63?32365:32372;k[u+4>>2]=H;k[u+8>>2]=0;Mh(N,32378,u);break}if((k[x>>2]|0)==77?(k[(k[E>>2]|0)+12>>2]|0)==0:0){N=k[I>>2]|0;k[v>>2]=k[K>>2];k[v+4>>2]=0;Mh(N,32415,v);break}F=Nh(k[M>>2]|0,k[(k[E>>2]|0)+64>>2]|0)|0;k[C>>2]=F;k[B>>2]=7;k[G>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[C>>2]<<4)>>2];if(k[z>>2]|0)n=k[(k[(k[M>>2]|0)+16>>2]|0)+16>>2]|0;else n=k[G>>2]|0;k[H>>2]=n;if((k[C>>2]|0)==1|(k[z>>2]|0)!=0)k[B>>2]=5;if((gx(k[I>>2]|0,k[B>>2]|0,k[P>>2]|0,k[k[E>>2]>>2]|0,k[H>>2]|0)|0)==0?(gx(k[I>>2]|0,18,(k[C>>2]|0)==1?20521:20540,0,k[G>>2]|0)|0)==0:0){if((k[x>>2]|0)==77)k[x>>2]=63;H=Bh(k[M>>2]|0,36,0)|0;k[O>>2]=H;if(!(k[O>>2]|0))break;k[k[O>>2]>>2]=k[P>>2];k[P>>2]=0;H=zh(k[M>>2]|0,k[(k[K>>2]|0)+8+8>>2]|0)|0;k[(k[O>>2]|0)+4>>2]=H;k[(k[O>>2]|0)+20>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2];k[(k[O>>2]|0)+24>>2]=k[(k[E>>2]|0)+64>>2];i[(k[O>>2]|0)+8>>0]=k[y>>2];i[(k[O>>2]|0)+9>>0]=(k[x>>2]|0)==63?1:2;N=Ky(k[M>>2]|0,k[L>>2]|0,1)|0;k[(k[O>>2]|0)+12>>2]=N;N=Kz(k[M>>2]|0,k[J>>2]|0)|0;k[(k[O>>2]|0)+16>>2]=N;k[(k[I>>2]|0)+492>>2]=k[O>>2]}}}}while(0);bg(k[M>>2]|0,k[P>>2]|0);pv(k[M>>2]|0,k[K>>2]|0);sv(k[M>>2]|0,k[J>>2]|0);qv(k[M>>2]|0,k[L>>2]|0);if(k[(k[I>>2]|0)+492>>2]|0){r=Q;return}_f(k[M>>2]|0,k[O>>2]|0);r=Q;return}function Gw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;d=ZB(k[f>>2]|0,110,k[n>>2]|0)|0;k[l>>2]=d;if(k[l>>2]|0){n=Sy(k[f>>2]|0,k[g>>2]|0,1)|0;k[(k[l>>2]|0)+20>>2]=n;n=Ky(k[f>>2]|0,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+16>>2]=n;i[(k[l>>2]|0)+1>>0]=i[j>>0]|0}mv(k[f>>2]|0,k[g>>2]|0);qv(k[f>>2]|0,k[h>>2]|0);r=m;return k[l>>2]|0}function Hw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;a=ZB(k[f>>2]|0,108,k[n>>2]|0)|0;k[l>>2]=a;a=k[f>>2]|0;if(k[l>>2]|0){n=by(a,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+8>>2]=n;k[(k[l>>2]|0)+24>>2]=k[g>>2];i[(k[l>>2]|0)+1>>0]=i[j>>0]|0;j=k[f>>2]|0;n=k[h>>2]|0;nv(j,n);n=k[l>>2]|0;r=m;return n|0}else{sv(a,k[g>>2]|0);j=k[f>>2]|0;n=k[h>>2]|0;nv(j,n);n=k[l>>2]|0;r=m;return n|0}return 0}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=ZB(k[d>>2]|0,109,k[h>>2]|0)|0;k[f>>2]=c;if(k[f>>2]|0){h=Ky(k[d>>2]|0,k[e>>2]|0,1)|0;k[(k[f>>2]|0)+16>>2]=h;i[(k[f>>2]|0)+1>>0]=10}qv(k[d>>2]|0,k[e>>2]|0);r=g;return k[f>>2]|0}function Jw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=Bh(k[d>>2]|0,36,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){nv(k[d>>2]|0,k[e>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{i[k[f>>2]>>0]=119;k[(k[f>>2]|0)+8>>2]=k[e>>2];i[(k[f>>2]|0)+1>>0]=10;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;j=q+40|0;l=q+36|0;m=q+32|0;f=q+28|0;d=q+24|0;p=q+20|0;g=q+16|0;n=q+12|0;e=q+8|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[f>>2]=0;k[n>>2]=k[k[j>>2]>>2];if(i[(k[n>>2]|0)+69>>0]|0){o=k[n>>2]|0;p=k[l>>2]|0;pv(o,p);r=q;return}if(Mz(k[j>>2]|0)|0){o=k[n>>2]|0;p=k[l>>2]|0;pv(o,p);r=q;return}k[p>>2]=k[(k[l>>2]|0)+8+4>>2];k[g>>2]=k[(k[l>>2]|0)+8+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break;a=k[d>>2]|0;k[e>>2]=(k[d>>2]|0)<2?a^1:a;if(!((k[p>>2]|0)!=0?(sg(k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0,k[p>>2]|0)|0)!=0:0))h=7;if((h|0)==7?(h=0,a=Aj((k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+40|0,k[g>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0)break;k[d>>2]=(k[d>>2]|0)+1}if(k[f>>2]|0){XB(k[j>>2]|0,k[f>>2]|0);o=k[n>>2]|0;p=k[l>>2]|0;pv(o,p);r=q;return}d=k[j>>2]|0;if(k[m>>2]|0)WB(d,k[p>>2]|0);else{k[o>>2]=k[l>>2];k[o+4>>2]=0;Mh(d,32143,o)}i[(k[j>>2]|0)+17>>0]=1;o=k[n>>2]|0;p=k[l>>2]|0;pv(o,p);r=q;return}function Lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;FB(k[i>>2]|0,24,5288,k[h>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function Mw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;FB(k[e>>2]|0,25,5260,k[d>>2]|0,0,0,k[d>>2]|0);r=c;return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;p=u+48|0;d=u+44|0;e=u+40|0;g=u+36|0;l=u+32|0;n=u+28|0;j=u+24|0;s=u+20|0;q=u+16|0;f=u+12|0;h=u+8|0;m=u+4|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[p>>2]>>2];if(Mz(k[p>>2]|0)|0){r=u;return}if(!(k[d>>2]|0)){nA(k[p>>2]|0,0);r=u;return}if(!((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0))o=6;do if((o|0)==6){o=Zw(k[k[p>>2]>>2]|0,k[d>>2]|0)|0;k[m>>2]=o;if(!(k[m>>2]|0)){r=u;return}o=_j(k[f>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[m>>2]|0,0)|0;k[g>>2]=o;if(!(k[g>>2]|0)){bg(k[f>>2]|0,k[m>>2]|0);break}nA(k[p>>2]|0,k[m>>2]|0);bg(k[f>>2]|0,k[m>>2]|0);r=u;return}while(0);o=Qz(k[p>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[q>>2]=o;if((k[q>>2]|0)<0){r=u;return}o=Zw(k[f>>2]|0,k[h>>2]|0)|0;k[l>>2]=o;if(!(k[l>>2]|0)){r=u;return}k[n>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[q>>2]<<4)>>2];o=Bi(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[j>>2]=o;if(k[j>>2]|0){oA(k[p>>2]|0,k[j>>2]|0,0);bg(k[f>>2]|0,k[l>>2]|0);r=u;return}d=Sj(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[s>>2]=d;bg(k[f>>2]|0,k[l>>2]|0);d=k[p>>2]|0;if(k[s>>2]|0){xx(d,0,k[q>>2]|0);pA(k[p>>2]|0,k[s>>2]|0,-1);r=u;return}else{Mh(d,31603,t);r=u;return}}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;l=q+32|0;g=q+28|0;f=q+24|0;p=q+20|0;i=q+16|0;n=q+12|0;m=q+8|0;h=q+4|0;o=q;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[l>>2]=k[k[j>>2]>>2];if(Mz(k[j>>2]|0)|0){r=q;return}a:do if(k[d>>2]|0){if(k[(k[e>>2]|0)+4>>2]|0){a=Qz(k[j>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[g>>2]=a;if((k[g>>2]|0)<0)break;k[i>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];h=Zw(k[l>>2]|0,k[h>>2]|0)|0;k[p>>2]=h;if(!(k[p>>2]|0))break;h=Sj(k[l>>2]|0,k[p>>2]|0,k[i>>2]|0)|0;k[m>>2]=h;d=k[j>>2]|0;if(!h){m=Lh(d,0,k[p>>2]|0,k[i>>2]|0)|0;k[n>>2]=m;if(m)Pz(k[j>>2]|0,k[n>>2]|0,0)}else Pz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0);break}i=Oz(k[l>>2]|0,k[d>>2]|0)|0;k[g>>2]=i;if((k[g>>2]|0)>=0){Nz(k[j>>2]|0,k[g>>2]|0);break}i=Zw(k[l>>2]|0,k[d>>2]|0)|0;k[p>>2]=i;if(k[p>>2]|0){i=Sj(k[l>>2]|0,k[p>>2]|0,0)|0;k[m>>2]=i;d=k[j>>2]|0;if(!i){m=Lh(d,0,k[p>>2]|0,0)|0;k[n>>2]=m;if(m)Pz(k[j>>2]|0,k[n>>2]|0,0)}else Pz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0)}}else{k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[l>>2]|0)+20>>2]|0))break a;if((k[f>>2]|0)!=1)Nz(k[j>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);p=jx(k[j>>2]|0)|0;k[o>>2]=p;if(!(k[o>>2]|0)){r=q;return}tx(k[o>>2]|0,148)|0;r=q;return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;e=E;f=E+172|0;g=E+168|0;d=E+164|0;m=E+160|0;A=E+156|0;q=E+152|0;B=E+148|0;h=E+144|0;n=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;j=E+116|0;o=E+112|0;p=E+108|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[B>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[D>>2]=0;k[s>>2]=0;k[t>>2]=k[(k[h>>2]|0)+24>>2];do if(((i[(k[h>>2]|0)+69>>0]|0)==0?(b=vx(k[f>>2]|0,0,(k[g>>2]|0)+8|0)|0,k[q>>2]=b,(k[q>>2]|0)!=0):0)?(b=Nh(k[k[f>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0,k[m>>2]=b,k[A>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+(k[m>>2]<<4)>>2],b=(k[h>>2]|0)+24|0,k[b>>2]=k[b>>2]|2097152,b=Zw(k[h>>2]|0,k[d>>2]|0)|0,k[B>>2]=b,(k[B>>2]|0)!=0):0){if((Bi(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0?(Sj(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0:0){if(wx(k[f>>2]|0,k[k[q>>2]>>2]|0)|0)break;if(Vx(k[f>>2]|0,k[B>>2]|0)|0)break;d=k[f>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){k[v>>2]=k[k[q>>2]>>2];Mh(d,28941,v);break}if(gx(d,26,k[A>>2]|0,k[k[q>>2]>>2]|0,0)|0)break;if(Wx(k[f>>2]|0,k[q>>2]|0)|0)break;if((l[(k[q>>2]|0)+42>>0]&16|0)!=0?(v=Xx(k[h>>2]|0,k[q>>2]|0)|0,k[s>>2]=v,(k[(k[k[(k[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)k[s>>2]=0;v=jx(k[f>>2]|0)|0;k[u>>2]=v;if(!(k[u>>2]|0))break;xx(k[f>>2]|0,(k[s>>2]|0)!=0&1,k[m>>2]|0);kx(k[f>>2]|0,k[m>>2]|0);if(k[s>>2]|0){e=(k[f>>2]|0)+76|0;v=(k[e>>2]|0)+1|0;k[e>>2]=v;k[j>>2]=v;nx(k[u>>2]|0,k[j>>2]|0,k[B>>2]|0)|0;ox(k[u>>2]|0,155,k[j>>2]|0,0,0,k[s>>2]|0,-10)|0;Yx(k[f>>2]|0)}k[C>>2]=k[k[q>>2]>>2];v=Zx(k[C>>2]|0,-1)|0;k[n>>2]=v;if((k[(k[h>>2]|0)+24>>2]&524288|0)!=0?(v=_x(k[f>>2]|0,k[q>>2]|0)|0,k[D>>2]=v,(v|0)!=0):0){v=k[f>>2]|0;e=(k[m>>2]|0)==1?20521:20540;j=k[C>>2]|0;s=k[B>>2]|0;u=k[D>>2]|0;k[z>>2]=k[A>>2];k[z+4>>2]=e;k[z+8>>2]=j;k[z+12>>2]=s;k[z+16>>2]=u;ix(v,28968,z);bg(k[h>>2]|0,k[D>>2]|0)}z=k[f>>2]|0;b=(k[m>>2]|0)==1?20521:20540;e=k[B>>2]|0;j=k[B>>2]|0;m=k[B>>2]|0;s=k[B>>2]|0;u=k[B>>2]|0;v=k[n>>2]|0;C=k[C>>2]|0;k[w>>2]=k[A>>2];k[w+4>>2]=b;k[w+8>>2]=e;k[w+12>>2]=j;k[w+16>>2]=m;k[w+20>>2]=s;k[w+24>>2]=u;k[w+28>>2]=v;k[w+32>>2]=C;ix(z,29037,w);if(Bi(k[h>>2]|0,29421,k[A>>2]|0)|0){C=k[f>>2]|0;w=k[B>>2]|0;z=k[k[q>>2]>>2]|0;k[x>>2]=k[A>>2];k[x+4>>2]=w;k[x+8>>2]=z;ix(C,29437,x)}C=Dx(k[f>>2]|0,k[q>>2]|0)|0;k[D>>2]=C;if(C){C=k[f>>2]|0;z=k[B>>2]|0;A=k[D>>2]|0;k[y>>2]=k[B>>2];k[y+4>>2]=z;k[y+8>>2]=A;ix(C,29495,y);bg(k[h>>2]|0,k[D>>2]|0)}a:do if(k[(k[h>>2]|0)+24>>2]&524288){D=$x(k[q>>2]|0)|0;k[o>>2]=D;while(1){if(!(k[o>>2]|0))break a;k[p>>2]=k[k[o>>2]>>2];if((k[p>>2]|0)!=(k[q>>2]|0))Bx(k[f>>2]|0,k[k[o>>2]>>2]|0,k[k[p>>2]>>2]|0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}}while(0);Bx(k[f>>2]|0,k[q>>2]|0,k[B>>2]|0);break}D=k[f>>2]|0;k[e>>2]=k[B>>2];Mh(D,28882,e)}while(0);pv(k[h>>2]|0,k[g>>2]|0);bg(k[h>>2]|0,k[B>>2]|0);k[(k[h>>2]|0)+24>>2]=k[t>>2];r=E;return}function Qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;c=D+124|0;d=D+120|0;m=D+116|0;n=D+112|0;f=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;g=D+92|0;h=D+88|0;e=D+84|0;s=D+80|0;o=D+76|0;p=D+72|0;B=D+68|0;q=D+64|0;k[c>>2]=a;k[d>>2]=b;k[s>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[k[c>>2]>>2];if(k[(k[c>>2]|0)+68>>2]|0){r=D;return}if(l[(k[e>>2]|0)+69>>0]|0){r=D;return}k[m>>2]=k[(k[c>>2]|0)+488>>2];a=Nh(k[e>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[f>>2]=a;k[A>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[C>>2]=(k[k[m>>2]>>2]|0)+16;k[g>>2]=(k[(k[m>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+34>>1]|0)-1<<4);k[h>>2]=k[(k[g>>2]|0)+4>>2];a=Bi(k[e>>2]|0,k[C>>2]|0,k[A>>2]|0)|0;k[n>>2]=a;if(gx(k[c>>2]|0,26,k[A>>2]|0,k[k[n>>2]>>2]|0,0)|0){r=D;return}if((k[h>>2]|0)!=0?(l[k[(k[h>>2]|0)+12>>2]>>0]|0)==101:0)k[h>>2]=0;if(l[(k[g>>2]|0)+15>>0]&1){Mh(k[c>>2]|0,28484,t);r=D;return}if(k[(k[m>>2]|0)+8>>2]|0){Mh(k[c>>2]|0,28516,w);r=D;return}if((k[(k[e>>2]|0)+24>>2]&524288|0)!=0?((k[h>>2]|0)!=0?(k[(k[m>>2]|0)+16>>2]|0)!=0:0):0){Mh(k[c>>2]|0,28543,x);r=D;return}if(!((k[h>>2]|0)!=0?1:(l[(k[g>>2]|0)+12>>0]|0)==0)){Mh(k[c>>2]|0,28602,y);r=D;return}do if(k[h>>2]|0){k[o>>2]=0;y=Ax(k[e>>2]|0,k[h>>2]|0,1,65,o)|0;k[p>>2]=y;if(k[p>>2]|0){r=D;return}if(k[o>>2]|0){lh(k[o>>2]|0);break}Mh(k[c>>2]|0,28655,u);r=D;return}while(0);y=cx(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[z>>2]=y;if(k[z>>2]|0){k[B>>2]=(k[z>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)-1);k[q>>2]=k[(k[e>>2]|0)+24>>2];while(1){if((k[B>>2]|0)>>>0<=(k[z>>2]|0)>>>0)break;if((i[k[B>>2]>>0]|0)!=59?(l[19019+(l[k[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=k[B>>2]|0;k[B>>2]=y+-1;i[y>>0]=0}B=(k[e>>2]|0)+24|0;k[B>>2]=k[B>>2]|2097152;B=k[c>>2]|0;u=(k[f>>2]|0)==1?20521:20540;w=k[(k[m>>2]|0)+44>>2]|0;x=k[z>>2]|0;y=(k[(k[m>>2]|0)+44>>2]|0)+1|0;C=k[C>>2]|0;k[v>>2]=k[A>>2];k[v+4>>2]=u;k[v+8>>2]=w;k[v+12>>2]=x;k[v+16>>2]=y;k[v+20>>2]=C;ix(B,28701,v);bg(k[e>>2]|0,k[z>>2]|0);k[(k[e>>2]|0)+24>>2]=k[q>>2]}px(k[s>>2]|0,100,k[f>>2]|0,2,4)|0;Bx(k[c>>2]|0,k[n>>2]|0,k[k[n>>2]>>2]|0);r=D;return}function Rw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u+16|0;s=u+8|0;c=u;d=u+56|0;e=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;h=u+36|0;g=u+32|0;m=u+28|0;f=u+24|0;n=u+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];do if((i[(k[f>>2]|0)+69>>0]|0)==0?(b=vx(k[d>>2]|0,0,(k[e>>2]|0)+8|0)|0,k[p>>2]=b,(k[p>>2]|0)!=0):0){if(l[(k[p>>2]|0)+42>>0]&16){Mh(k[d>>2]|0,28295,c);break}a=k[d>>2]|0;if(k[(k[p>>2]|0)+12>>2]|0){Mh(a,28329,s);break}if(((0==(wx(a,k[k[p>>2]>>2]|0)|0)?(s=Nh(k[f>>2]|0,k[(k[p>>2]|0)+64>>2]|0)|0,k[h>>2]=s,s=Bh(k[f>>2]|0,72,0)|0,k[o>>2]=s,(k[o>>2]|0)!=0):0)?(k[(k[d>>2]|0)+488>>2]=k[o>>2],j[(k[o>>2]|0)+36>>1]=1,j[(k[o>>2]|0)+34>>1]=j[(k[p>>2]|0)+34>>1]|0,k[m>>2]=((((j[(k[o>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=Bh(k[f>>2]|0,k[m>>2]<<4,0)|0,k[(k[o>>2]|0)+4>>2]=s,s=k[f>>2]|0,k[t>>2]=k[k[p>>2]>>2],t=Oh(s,28359,t)|0,k[k[o>>2]>>2]=t,(k[(k[o>>2]|0)+4>>2]|0)!=0):0)?(k[k[o>>2]>>2]|0)!=0:0){IR(k[(k[o>>2]|0)+4>>2]|0,k[(k[p>>2]|0)+4>>2]|0,j[(k[o>>2]|0)+34>>1]<<4|0)|0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[o>>2]|0)+34>>1]|0))break;k[n>>2]=(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4);t=zh(k[f>>2]|0,k[k[n>>2]>>2]|0)|0;k[k[n>>2]>>2]=t;k[(k[n>>2]|0)+8>>2]=0;k[(k[n>>2]|0)+4>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[(k[o>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[o>>2]|0)+44>>2]=k[(k[p>>2]|0)+44>>2];j[(k[o>>2]|0)+36>>1]=1;xx(k[d>>2]|0,0,k[h>>2]|0);t=jx(k[d>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0)kx(k[d>>2]|0,k[h>>2]|0)}}while(0);pv(k[f>>2]|0,k[e>>2]|0);r=u;return}function Sw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+96|0;p=u+32|0;o=u+8|0;n=u;c=u+80|0;d=u+76|0;l=u+72|0;e=u+68|0;s=u+64|0;t=u+60|0;f=u+56|0;g=u+52|0;m=u+48|0;h=u+44|0;j=u+40|0;q=u+36|0;k[c>>2]=a;k[d>>2]=b;k[l>>2]=k[(k[c>>2]|0)+488>>2];k[e>>2]=k[k[c>>2]>>2];if(!(k[l>>2]|0)){r=u;return}ex(k[c>>2]|0);k[(k[c>>2]|0)+516>>2]=0;if((k[(k[l>>2]|0)+48>>2]|0)<1){r=u;return}if(!(i[(k[e>>2]|0)+144+5>>0]|0)){if(k[d>>2]|0)k[(k[c>>2]|0)+500+4>>2]=(k[k[d>>2]>>2]|0)-(k[(k[c>>2]|0)+500>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);q=k[e>>2]|0;k[n>>2]=(k[c>>2]|0)+500;q=Oh(q,28156,n)|0;k[s>>2]=q;q=Nh(k[e>>2]|0,k[(k[l>>2]|0)+64>>2]|0)|0;k[f>>2]=q;q=k[c>>2]|0;b=(k[f>>2]|0)==1?20521:20540;h=k[k[l>>2]>>2]|0;a=k[k[l>>2]>>2]|0;j=k[s>>2]|0;n=k[(k[c>>2]|0)+392>>2]|0;k[o>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[o+4>>2]=b;k[o+8>>2]=h;k[o+12>>2]=a;k[o+16>>2]=j;k[o+20>>2]=n;ix(q,28180,o);bg(k[e>>2]|0,k[s>>2]|0);s=jx(k[c>>2]|0)|0;k[m>>2]=s;kx(k[c>>2]|0,k[f>>2]|0);lx(k[m>>2]|0,148,0,0)|0;s=k[e>>2]|0;k[p>>2]=k[k[l>>2]>>2];s=Oh(s,28268,p)|0;k[t>>2]=s;mx(k[m>>2]|0,k[f>>2]|0,k[t>>2]|0);s=(k[c>>2]|0)+76|0;t=(k[s>>2]|0)+1|0;k[s>>2]=t;k[g>>2]=t;nx(k[m>>2]|0,k[g>>2]|0,k[k[l>>2]>>2]|0)|0;lx(k[m>>2]|0,151,k[f>>2]|0,k[g>>2]|0)|0;r=u;return}k[j>>2]=k[(k[l>>2]|0)+64>>2];k[q>>2]=k[k[l>>2]>>2];t=ak((k[j>>2]|0)+8|0,k[q>>2]|0,k[l>>2]|0)|0;k[h>>2]=t;if(k[h>>2]|0){vh(k[e>>2]|0);r=u;return}else{k[(k[c>>2]|0)+488>>2]=0;r=u;return}}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+32|0;f=n+28|0;q=n+24|0;p=n+20|0;g=n+16|0;o=n+12|0;j=n+8|0;m=n+4|0;h=n;k[f>>2]=a;k[q>>2]=b;k[p>>2]=c;k[g>>2]=d;k[o>>2]=e;Hv(k[f>>2]|0,k[q>>2]|0,k[p>>2]|0,0,0,1,k[o>>2]|0);k[m>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[m>>2]|0)){r=n;return}k[h>>2]=k[k[f>>2]>>2];q=Nh(k[h>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[j>>2]=q;q=(k[m>>2]|0)+42|0;i[q>>0]=l[q>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;q=k[h>>2]|0;p=k[m>>2]|0;fx(q,p,Zw(k[h>>2]|0,k[g>>2]|0)|0);fx(k[h>>2]|0,k[m>>2]|0,0);p=k[h>>2]|0;q=k[m>>2]|0;fx(p,q,zh(k[h>>2]|0,k[k[m>>2]>>2]|0)|0);k[(k[f>>2]|0)+500+4>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)-(k[(k[f>>2]|0)+500>>2]|0);if(!(k[(k[m>>2]|0)+52>>2]|0)){r=n;return}gx(k[f>>2]|0,29,k[k[m>>2]>>2]|0,k[k[(k[m>>2]|0)+52>>2]>>2]|0,k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2]|0)|0;r=n;return}function Uw(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;ex(k[c>>2]|0);k[(k[c>>2]|0)+516>>2]=0;k[(k[c>>2]|0)+516+4>>2]=0;r=b;return}function Vw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=(k[f>>2]|0)+516;b=k[c>>2]|0;if(!(k[k[d>>2]>>2]|0)){k[k[d>>2]>>2]=k[b>>2];k[(k[d>>2]|0)+4>>2]=k[(k[c>>2]|0)+4>>2];r=e;return}else{k[(k[d>>2]|0)+4>>2]=(k[k[c>>2]>>2]|0)+(k[b+4>>2]|0)-(k[k[d>>2]>>2]|0);r=e;return}}function Ww(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;p=s;f=s+40|0;g=s+36|0;t=s+32|0;h=s+28|0;j=s+24|0;l=s+20|0;o=s+16|0;q=s+12|0;m=s+8|0;n=s+4|0;k[f>>2]=a;k[g>>2]=b;k[t>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=k[k[f>>2]>>2];b=Zw(k[k[f>>2]>>2]|0,k[t>>2]|0)|0;k[q>>2]=b;a:do if((k[q>>2]|0)!=0&(k[g>>2]|0)!=0){k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[g>>2]>>2]|0))break a;if(!(sg(k[q>>2]|0,k[(k[g>>2]|0)+8+(k[m>>2]<<4)>>2]|0)|0)){t=k[f>>2]|0;k[p>>2]=k[q>>2];Mh(t,28088,p)}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[g>>2]|0){k[n>>2]=24+(k[k[g>>2]>>2]<<4);t=k[n>>2]|0;t=_w(k[l>>2]|0,k[g>>2]|0,t,((t|0)<0)<<31>>31)|0;k[o>>2]=t}else{t=Bh(k[l>>2]|0,24,0)|0;k[o>>2]=t}if(i[(k[l>>2]|0)+69>>0]|0){mv(k[l>>2]|0,k[h>>2]|0);nv(k[l>>2]|0,k[j>>2]|0);bg(k[l>>2]|0,k[q>>2]|0);k[o>>2]=k[g>>2];t=k[o>>2]|0;r=s;return t|0}else{k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+8>>2]=k[j>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+4>>2]=k[h>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)>>2]=k[q>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+12>>2]=0;t=k[o>>2]|0;k[t>>2]=(k[t>>2]|0)+1;t=k[o>>2]|0;r=s;return t|0}return 0}function Xw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d+8|0;c=d;k[f>>2]=a;i[e>>0]=b;k[c>>2]=j[11638+(k[f>>2]<<1)>>1];k[c>>2]=(k[c>>2]|0)+(l[e>>0]|0);r=d;return m[12268+(k[c>>2]<<1)>>1]|0}function Yw(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[k[b>>2]>>2]|0)<0)break;uv(k[b>>2]|0)}k[(k[b>>2]|0)+4>>2]=k[c>>2];r=d;return}function Zw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=cx(k[c>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[e>>2]=b;dx(k[e>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function _w(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;c=k[f>>2]|0;if(!(k[g>>2]|0)){h=$w(c,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}if((tu(c,k[g>>2]|0)|0)!=0?(b=h,a=k[b+4>>2]|0,a>>>0<0|((a|0)==0?(k[b>>2]|0)>>>0<=(m[(k[f>>2]|0)+256+4>>1]|0)>>>0:0)):0){k[e>>2]=k[g>>2];h=k[e>>2]|0;r=i;return h|0}h=ax(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}function $w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;do if(k[(k[e>>2]|0)+256>>2]|0){if(i[(k[e>>2]|0)+69>>0]|0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}}else{a=f;c=k[a+4>>2]|0;b=(k[e>>2]|0)+256|0;if(c>>>0>0|((c|0)==0?(k[a>>2]|0)>>>0>(m[(k[e>>2]|0)+256+4>>1]|0)>>>0:0)){g=b+16+4|0;k[g>>2]=(k[g>>2]|0)+1;break}a=k[b+28>>2]|0;k[g>>2]=a;if(!a){g=(k[e>>2]|0)+256+16+8|0;k[g>>2]=(k[g>>2]|0)+1;break}k[(k[e>>2]|0)+256+28>>2]=k[k[g>>2]>>2];f=(k[e>>2]|0)+256+8|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[e>>2]|0)+256+16|0;k[f>>2]=(k[f>>2]|0)+1;if((k[(k[e>>2]|0)+256+8>>2]|0)>(k[(k[e>>2]|0)+256+12>>2]|0))k[(k[e>>2]|0)+256+12>>2]=k[(k[e>>2]|0)+256+8>>2];k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}while(0);g=f;g=bx(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}function ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;k[h>>2]=0;if(l[(k[e>>2]|0)+69>>0]|0){h=k[h>>2]|0;r=i;return h|0}if(tu(k[e>>2]|0,k[f>>2]|0)|0){b=g;b=$w(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=k[h>>2]|0;r=i;return h|0}IR(k[h>>2]|0,k[f>>2]|0,m[(k[e>>2]|0)+256+4>>1]|0|0)|0;bg(k[e>>2]|0,k[f>>2]|0);h=k[h>>2]|0;r=i;return h|0}else{b=g;b=Wd(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}vh(k[e>>2]|0);h=k[h>>2]|0;r=i;return h|0}return 0}function bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f;e=f+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=g;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}vh(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}function cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l;j=l+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;if(!(k[g>>2]|0)){k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}a=k[f>>2]|0;b=h;b=GR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;b=$w(a,b,L)|0;k[j>>2]=b;if(k[j>>2]|0){IR(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;i[(k[j>>2]|0)+(k[h>>2]|0)>>0]=0}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=l;return j|0}function dx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+8|0;e=f+12|0;c=f+4|0;d=f;k[b>>2]=a;if(!(k[b>>2]|0)){r=f;return}i[e>>0]=i[k[b>>2]>>0]|0;if(!(l[19019+(l[e>>0]|0)>>0]&128)){r=f;return}if((i[e>>0]|0)==91)i[e>>0]=93;k[c>>2]=1;k[d>>2]=0;while(1){a=k[c>>2]|0;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==(i[e>>0]|0)){if((i[(k[b>>2]|0)+(a+1)>>0]|0)!=(i[e>>0]|0))break;g=i[e>>0]|0;a=k[d>>2]|0;k[d>>2]=a+1;i[(k[b>>2]|0)+a>>0]=g;k[c>>2]=(k[c>>2]|0)+1}else{a=i[(k[b>>2]|0)+a>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[(k[b>>2]|0)+g>>0]=a}k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+(k[d>>2]|0)>>0]=0;r=f;return}function ex(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;if(!(k[(k[b>>2]|0)+516>>2]|0)){r=f;return}if(!(k[(k[b>>2]|0)+488>>2]|0)){r=f;return}k[e>>2]=k[(k[b>>2]|0)+516>>2];k[d>>2]=k[(k[b>>2]|0)+516+4>>2];k[c>>2]=k[k[b>>2]>>2];g=k[c>>2]|0;b=k[(k[b>>2]|0)+488>>2]|0;a=k[d>>2]|0;fx(g,b,cx(k[c>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0);r=f;return}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=2+(k[(k[e>>2]|0)+48>>2]|0)<<2;c=k[j>>2]|0;c=_w(k[d>>2]|0,k[(k[e>>2]|0)+52>>2]|0,c,((c|0)<0)<<31>>31)|0;k[g>>2]=c;if(!(k[g>>2]|0)){bg(k[d>>2]|0,k[f>>2]|0);r=i;return}else{c=(k[e>>2]|0)+48|0;j=k[c>>2]|0;k[c>>2]=j+1;k[h>>2]=j;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[f>>2];k[(k[g>>2]|0)+((k[h>>2]|0)+1<<2)>>2]=0;k[(k[e>>2]|0)+52>>2]=k[g>>2];r=i;return}}function gx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=k[k[g>>2]>>2];if((l[(k[n>>2]|0)+144+5>>0]|0|0)==0?(l[(k[g>>2]|0)+454>>0]|0|0)==0:0){if(!(k[(k[n>>2]|0)+296>>2]|0)){k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}e=ac[k[(k[n>>2]|0)+296>>2]&255](k[(k[n>>2]|0)+300>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+496>>2]|0)|0;k[o>>2]=e;if((k[o>>2]|0)!=1){if((k[o>>2]|0)!=0&(k[o>>2]|0)!=2){k[o>>2]=1;hx(k[g>>2]|0)}}else{Mh(k[g>>2]|0,28118,p);k[(k[g>>2]|0)+12>>2]=23}k[f>>2]=k[o>>2];e=k[f>>2]|0;r=q;return e|0}k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}function hx(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b+4|0;k[c>>2]=a;Mh(k[c>>2]|0,28133,b);k[(k[c>>2]|0)+12>>2]=1;r=b;return}function ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+144|0;f=n+36|0;d=n+32|0;e=n+16|0;m=n+8|0;l=n+4|0;g=n;h=n+40|0;k[f>>2]=a;k[d>>2]=b;k[l>>2]=0;k[g>>2]=k[k[f>>2]>>2];if(k[(k[f>>2]|0)+68>>2]|0){r=n;return}k[e>>2]=c;b=ux(k[g>>2]|0,k[d>>2]|0,e)|0;k[m>>2]=b;if(!(k[m>>2]|0)){r=n;return}d=(k[f>>2]|0)+18|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24;d=h;e=(k[f>>2]|0)+444|0;a=d+100|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));d=(k[f>>2]|0)+444|0;a=d+100|0;do{j[d>>1]=0;d=d+2|0}while((d|0)<(a|0));ei(k[f>>2]|0,k[m>>2]|0,l)|0;bg(k[g>>2]|0,k[l>>2]|0);bg(k[g>>2]|0,k[m>>2]|0);d=(k[f>>2]|0)+444|0;e=h;a=d+100|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));m=(k[f>>2]|0)+18|0;i[m>>0]=(i[m>>0]|0)+-1<<24>>24;r=n;return}function jx(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}else{c=sx(k[b>>2]|0)|0;r=d;return c|0}return 0}function kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;g=c+12|0;d=c+8|0;e=c+4|0;f=c;k[g>>2]=a;k[d>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];px(k[f>>2]|0,100,k[d>>2]|0,1,(k[k[(k[(k[e>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]>>2]|0)+1|0)|0;r=c;return}function lx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=px(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return d|0}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;ox(k[d>>2]|0,134,k[h>>2]|0,0,0,k[g>>2]|0,-1)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[k[d>>2]>>2]|0)+20>>2]|0))break;Th(k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=ox(k[g>>2]|0,97,0,k[f>>2]|0,0,k[e>>2]|0,0)|0;r=d;return c|0}function ox(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;i=r;r=r+32|0;m=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;l=i+8|0;j=i+4|0;h=i;k[m>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[l>>2]=f;k[j>>2]=g;f=px(k[m>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[h>>2]=f;Uh(k[m>>2]|0,k[h>>2]|0,k[l>>2]|0,k[j>>2]|0);r=i;return k[h>>2]|0}function px(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=k[(k[g>>2]|0)+32>>2];b=k[g>>2]|0;if((k[(k[(k[g>>2]|0)+24>>2]|0)+88>>2]|0)<=(k[n>>2]|0)){o=qx(b,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[f>>2]=o;o=k[f>>2]|0;r=p;return o|0}else{e=b+32|0;k[e>>2]=(k[e>>2]|0)+1;k[o>>2]=(k[(k[g>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0);i[k[o>>2]>>0]=k[h>>2];i[(k[o>>2]|0)+3>>0]=0;k[(k[o>>2]|0)+4>>2]=k[j>>2];k[(k[o>>2]|0)+8>>2]=k[l>>2];k[(k[o>>2]|0)+12>>2]=k[m>>2];k[(k[o>>2]|0)+16>>2]=0;i[(k[o>>2]|0)+1>>0]=0;k[f>>2]=k[n>>2];o=k[f>>2]|0;r=p;return o|0}return 0}function qx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;if(rx(k[g>>2]|0,1)|0){k[f>>2]=1;e=k[f>>2]|0;r=m;return e|0}else{e=px(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[f>>2]=e;e=k[f>>2]|0;r=m;return e|0}return 0}function rx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[g+12>>2]=b;k[e>>2]=k[(k[c>>2]|0)+24>>2];if(k[(k[e>>2]|0)+88>>2]|0)b=k[(k[e>>2]|0)+88>>2]<<1;else b=51;k[d>>2]=b;d=_w(k[k[e>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,(k[d>>2]|0)*20|0,0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}d=su(k[k[e>>2]>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=d;k[(k[e>>2]|0)+88>>2]=((k[(k[e>>2]|0)+92>>2]|0)>>>0)/20|0;k[(k[c>>2]|0)+4>>2]=k[f>>2];f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}function sx(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ph(k[b>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a;k[c>>2]=a;if(k[c>>2]|0)tx(k[c>>2]|0,69)|0;if(k[(k[b>>2]|0)+416>>2]|0){c=k[c>>2]|0;r=d;return c|0}if((m[(k[k[b>>2]>>2]|0)+64>>1]|0)&8){c=k[c>>2]|0;r=d;return c|0}i[(k[b>>2]|0)+23>>0]=1;c=k[c>>2]|0;r=d;return c|0}function tx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=px(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return a|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=r;r=r+128|0;d=f+40|0;j=f+36|0;h=f+32|0;e=f+28|0;g=f;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;ng(g,k[d>>2]|0,f+44|0,70,k[(k[d>>2]|0)+92>>2]|0);i[g+25>>0]=1;og(g,k[j>>2]|0,k[h>>2]|0);b=pg(g)|0;k[e>>2]=b;if((l[g+24>>0]|0|0)!=1){j=k[e>>2]|0;r=f;return j|0}vh(k[d>>2]|0);j=k[e>>2]|0;r=f;return j|0}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){a=Nh(k[k[d>>2]>>2]|0,k[k[f>>2]>>2]|0)|0;k[g>>2]=a;k[h>>2]=k[(k[(k[k[d>>2]>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]}else k[h>>2]=k[(k[f>>2]|0)+4>>2];h=Lh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[h>>2]|0)|0;r=i;return h|0}function wx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((Tf(k[e>>2]|0)|0)>6?0==(Jd(k[e>>2]|0,28448,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Mh(b,28456,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)c=k[c+416>>2]|0;k[g>>2]=c;yx(k[d>>2]|0,k[f>>2]|0);d=(k[g>>2]|0)+336|0;k[d>>2]=k[d>>2]|1<>2];g=(k[g>>2]|0)+20|0;i[g>>0]=l[g>>0]|0|k[e>>2];r=h;return}function yx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;b=k[g>>2]|0;if(k[(k[g>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[e>>2]=b;k[d>>2]=k[k[e>>2]>>2];if((k[(k[e>>2]|0)+340>>2]&1<>2]|0)!=0|0){r=f;return}g=(k[e>>2]|0)+340|0;k[g>>2]=k[g>>2]|1<>2];k[(k[e>>2]|0)+344+(k[c>>2]<<2)>>2]=k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]>>2];if((k[c>>2]|0)!=1){r=f;return}zx(k[e>>2]|0)|0;r=f;return}function zx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];if((k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(i[(k[c>>2]|0)+453>>0]|0)==0:0){a=jk(k[k[d>>2]>>2]|0,0,k[d>>2]|0,e,0,542)|0;k[f>>2]=a;if(k[f>>2]|0){Mh(k[c>>2]|0,28378,g);k[(k[c>>2]|0)+12>>2]=k[f>>2];k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=k[e>>2];if(7==(Ki(k[e>>2]|0,k[(k[d>>2]|0)+76>>2]|0,-1,0)|0)){vh(k[d>>2]|0);k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}}k[b>>2]=0;g=k[b>>2]|0;r=h;return g|0}function Ax(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+16|0;m=f+8|0;l=f+4|0;j=f+13|0;h=f+12|0;g=f;k[m>>2]=a;k[l>>2]=b;i[j>>0]=c;i[h>>0]=d;k[g>>2]=e;e=Fx(k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,i[h>>0]|0,k[g>>2]|0,0)|0;r=f;return e|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;d=n+32|0;e=n+28|0;f=n+24|0;j=n+20|0;m=n+16|0;g=n+12|0;i=n+8|0;h=n+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=jx(k[d>>2]|0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){r=n;return}c=Nh(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;c=Cx(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=c;while(1){if(!(k[i>>2]|0))break;c=Nh(k[k[d>>2]>>2]|0,k[(k[i>>2]|0)+20>>2]|0)|0;k[h>>2]=c;ox(k[j>>2]|0,138,k[h>>2]|0,0,0,k[k[i>>2]>>2]|0,0)|0;k[i>>2]=k[(k[i>>2]|0)+32>>2]}ox(k[j>>2]|0,136,k[g>>2]|0,0,0,k[k[e>>2]>>2]|0,0)|0;c=k[k[d>>2]>>2]|0;k[l>>2]=k[f>>2];c=Oh(c,28810,l)|0;k[m>>2]=c;if(!(k[m>>2]|0)){r=n;return}mx(k[j>>2]|0,k[g>>2]|0,k[m>>2]|0);c=Dx(k[d>>2]|0,k[e>>2]|0)|0;k[m>>2]=c;if(!c){r=n;return}mx(k[j>>2]|0,1,k[m>>2]|0);r=n;return}function Cx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;h=j+24|0;l=j+20|0;d=j+16|0;c=j+12|0;f=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[d>>2]=b;k[c>>2]=k[(k[(k[k[l>>2]>>2]|0)+16>>2]|0)+16+12>>2];k[f>>2]=0;if(i[(k[l>>2]|0)+442>>0]|0){k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}a:do if((k[c>>2]|0)!=(k[(k[d>>2]|0)+64>>2]|0)){k[e>>2]=k[(k[c>>2]|0)+40+8>>2];while(1){if(!(k[e>>2]|0))break a;k[g>>2]=k[(k[e>>2]|0)+8>>2];if((k[(k[g>>2]|0)+24>>2]|0)==(k[(k[d>>2]|0)+64>>2]|0)?0==(sg(k[(k[g>>2]|0)+4>>2]|0,k[k[d>>2]>>2]|0)|0):0){if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[(k[g>>2]|0)+32>>2]=a;k[f>>2]=k[g>>2]}k[e>>2]=k[k[e>>2]>>2]}}while(0);if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[h>>2]=a;l=k[h>>2]|0;r=j;return l|0}function Dx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l;c=l+28|0;d=l+24|0;g=l+20|0;j=l+16|0;f=l+12|0;e=l+8|0;i=l+4|0;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;k[f>>2]=k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((k[(k[d>>2]|0)+64>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[k[c>>2]>>2];b=Cx(k[c>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break a;if((k[(k[g>>2]|0)+20>>2]|0)==(k[f>>2]|0)){b=Ex(k[e>>2]|0,k[j>>2]|0,k[k[g>>2]>>2]|0)|0;k[j>>2]=b}k[g>>2]=k[(k[g>>2]|0)+32>>2]}}while(0);if(!(k[j>>2]|0)){j=k[j>>2]|0;r=l;return j|0}g=k[k[c>>2]>>2]|0;k[h>>2]=k[j>>2];h=Oh(g,28822,h)|0;k[i>>2]=h;bg(k[k[c>>2]>>2]|0,k[j>>2]|0);k[j>>2]=k[i>>2];j=k[j>>2]|0;r=l;return j|0}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+8|0;g=j;d=j+28|0;e=j+24|0;f=j+20|0;i=j+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if(k[e>>2]|0){g=k[f>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=g;h=Oh(a,28854,h)|0;k[i>>2]=h;bg(k[d>>2]|0,k[e>>2]|0);i=k[i>>2]|0;r=j;return i|0}else{k[g>>2]=k[f>>2];h=Oh(a,28846,g)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}return 0}function Fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;t=D;z=D+52|0;v=D+48|0;g=D+44|0;x=D+58|0;y=D+57|0;A=D+40|0;h=D+36|0;s=D+32|0;w=D+28|0;B=D+24|0;q=D+20|0;u=D+16|0;C=D+12|0;n=D+56|0;o=D+8|0;k[v>>2]=a;k[g>>2]=b;i[x>>0]=c;i[y>>0]=d;k[A>>2]=e;k[h>>2]=f;k[w>>2]=0;k[B>>2]=0;k[q>>2]=1;k[u>>2]=19018;k[C>>2]=0;if(!(k[g>>2]|0)){k[k[A>>2]>>2]=0;k[z>>2]=0;C=k[z>>2]|0;r=D;return C|0}while(1){e=l[k[g>>2]>>0]|0;k[s>>2]=e;if(!((e|0)==156?1:(k[s>>2]|0)==159))break;k[g>>2]=k[(k[g>>2]|0)+12>>2]}if((k[s>>2]|0)==157)k[s>>2]=l[(k[g>>2]|0)+38>>0];if((k[s>>2]|0)==66){B=Gx(k[(k[g>>2]|0)+8>>2]|0,0)|0;i[n>>0]=B;B=Fx(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[n>>0]|0,k[A>>2]|0,k[h>>2]|0)|0;k[C>>2]=B;if(k[k[A>>2]>>2]|0){Hx(k[k[A>>2]>>2]|0,i[n>>0]|0,1);Ix(k[k[A>>2]>>2]|0,i[y>>0]|0,1)}k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}do if((k[s>>2]|0)==155){if((l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=132?(l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;k[g>>2]=k[(k[g>>2]|0)+12>>2];k[s>>2]=l[k[g>>2]>>0];k[q>>2]=-1;k[u>>2]=28868}while(0);do if((k[s>>2]|0)==97|(k[s>>2]|0)==133|(k[s>>2]|0)==132){e=Jx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=e;if(k[B>>2]|0){if(k[(k[g>>2]|0)+4>>2]&1024){v=k[B>>2]|0;u=k[(k[g>>2]|0)+8>>2]|0;w=k[q>>2]|0;w=RR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;qh(v,w,L)}else{e=k[v>>2]|0;b=k[(k[g>>2]|0)+8>>2]|0;k[t>>2]=k[u>>2];k[t+4>>2]=b;u=Oh(e,25321,t)|0;k[w>>2]=u;if(!(k[w>>2]|0)){g=43;break}gi(k[B>>2]|0,-1,k[w>>2]|0,1,170)}if((k[s>>2]|0)==132|(k[s>>2]|0)==133?(l[y>>0]|0|0)==65:0)Ix(k[B>>2]|0,67,1);else Ix(k[B>>2]|0,i[y>>0]|0,1);if((m[(k[B>>2]|0)+8>>1]|0)&12){y=(k[B>>2]|0)+8|0;j[y>>1]=(m[y>>1]|0)&-3}if((l[x>>0]|0|0)!=1){g=qu(k[B>>2]|0,l[x>>0]|0)|0;k[C>>2]=g;g=42}else g=42}else g=43}else{if((k[s>>2]|0)!=155){if((k[s>>2]|0)==101){y=Jx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=43;break}else{g=42;break}}if((k[s>>2]|0)!=134){g=42;break}y=Jx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=43;break}k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+2;y=(Tf(k[w>>2]|0)|0)-1|0;k[o>>2]=y;y=k[B>>2]|0;g=Lx(k[v>>2]|0,k[w>>2]|0,k[o>>2]|0)|0;ph(y,g,(k[o>>2]|0)/2|0,0,170)|0;g=42;break}w=0==(Ax(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[y>>0]|0,B)|0);if(w&(k[B>>2]|0)!=0){Kx(k[B>>2]|0)|0;g=k[B>>2]|0;do if(!((m[(k[B>>2]|0)+8>>1]|0)&8)){w=g;g=k[B>>2]|0;if((k[w>>2]|0)==0?(k[w+4>>2]|0)==-2147483648:0){p[g>>3]=9223372036854775808.0;j[(k[B>>2]|0)+8>>1]=(m[(k[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=g;v=FR(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;w=k[B>>2]|0;k[w>>2]=v;k[w+4>>2]=L;break}}else p[k[B>>2]>>3]=-+p[g>>3];while(0);Ix(k[B>>2]|0,i[y>>0]|0,i[x>>0]|0);g=42}else g=42}while(0);if((g|0)==42){k[k[A>>2]>>2]=k[B>>2];k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}else if((g|0)==43){vh(k[v>>2]|0);bg(k[v>>2]|0,k[w>>2]|0);lh(k[B>>2]|0);k[z>>2]=7;C=k[z>>2]|0;r=D;return C|0}return 0}function Gx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+16|0;d=m+12|0;f=m+8|0;e=m+20|0;h=m+4|0;g=m;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;i[e>>0]=67;k[h>>2]=0;a:while(1){if(!(i[k[c>>2]>>0]|0))break;k[f>>2]=(k[f>>2]<<8)+(l[18229+(i[k[c>>2]>>0]&255)>>0]|0);k[c>>2]=(k[c>>2]|0)+1;if((k[f>>2]|0)==1667785074){i[e>>0]=66;k[h>>2]=k[c>>2];continue}if((k[f>>2]|0)==1668050786){i[e>>0]=66;continue}if((k[f>>2]|0)==1952807028){i[e>>0]=66;continue}do if((k[f>>2]|0)==1651273570){if((i[e>>0]|0)!=67?(i[e>>0]|0)!=69:0)break;i[e>>0]=65;if((i[k[c>>2]>>0]|0)!=40)continue a;k[h>>2]=k[c>>2];continue a}while(0);if((k[f>>2]|0)==1919246700?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1718382433?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1685026146?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]&16777215|0)==6909556){j=24;break}}if((j|0)==24)i[e>>0]=68;if(!(k[d>>2]|0)){j=i[e>>0]|0;r=m;return j|0}i[k[d>>2]>>0]=1;if((i[e>>0]|0)>=67){j=i[e>>0]|0;r=m;return j|0}if(!(k[h>>2]|0)){i[k[d>>2]>>0]=5;j=i[e>>0]|0;r=m;return j|0}while(1){if(!(i[k[h>>2]>>0]|0)){j=33;break}if(l[19019+(l[k[h>>2]>>0]|0)>>0]&4)break;k[h>>2]=(k[h>>2]|0)+1}if((j|0)==33){j=i[e>>0]|0;r=m;return j|0}k[g>>2]=0;Yi(k[h>>2]|0,g)|0;j=((k[g>>2]|0)/4|0)+1|0;k[g>>2]=j;k[g>>2]=(k[g>>2]|0)>255?255:j;i[k[d>>2]>>0]=k[g>>2];j=i[e>>0]|0;r=m;return j|0}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g;d=g+5|0;f=g+4|0;k[e>>2]=a;i[d>>0]=b;i[f>>0]=c;if((m[(k[e>>2]|0)+8>>1]|0)&1){r=g;return}switch(l[d>>0]|0|0){case 65:{d=k[e>>2]|0;if(!((m[(k[e>>2]|0)+8>>1]|0)&16)){Ix(d,66,i[f>>0]|0);j[(k[e>>2]|0)+8>>1]=(m[(k[e>>2]|0)+8>>1]|0)&-49664|16;r=g;return}else{f=d+8|0;j[f>>1]=(m[f>>1]|0)&-33264;r=g;return}}case 67:{Kx(k[e>>2]|0)|0;r=g;return}case 68:{Tx(k[e>>2]|0)|0;r=g;return}case 69:{Ux(k[e>>2]|0)|0;r=g;return}default:{a=(k[e>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|((m[(k[e>>2]|0)+8>>1]|0)&16)>>3;Ix(k[e>>2]|0,66,i[f>>0]|0);f=(k[e>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-16413;r=g;return}}}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;f=d+5|0;e=d+4|0;k[g>>2]=a;i[f>>0]=b;i[e>>0]=c;Ox(k[g>>2]|0,i[f>>0]|0,i[e>>0]|0);r=d;return}function Jx(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;b=fi(k[d>>2]|0)|0;r=c;return b|0}function Kx(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(!((m[(k[b>>2]|0)+8>>1]|0)&13)){d=0==(Ui(k[(k[b>>2]|0)+16>>2]|0,k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,i[(k[b>>2]|0)+10>>0]|0)|0);a=k[b>>2]|0;if(d){j[(k[b>>2]|0)+8>>1]=(m[a+8>>1]|0)&-49664|4;break}else{e=+ih(a);p[k[b>>2]>>3]=e;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|8;Mx(k[b>>2]|0);break}}while(0);d=(k[b>>2]|0)+8|0;j[d>>1]=(m[d>>1]|0)&-19;r=c;return 0}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=((k[e>>2]|0)/2|0)+1|0;b=$w(k[j>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;k[e>>2]=(k[e>>2]|0)+-1;if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=0;while(1){a=k[f>>2]|0;if((k[f>>2]|0)>=(k[e>>2]|0))break;j=((Ti(i[(k[d>>2]|0)+a>>0]|0)|0)&255)<<4;j=(j|(Ti(i[(k[d>>2]|0)+((k[f>>2]|0)+1)>>0]|0)|0)&255)&255;i[(k[g>>2]|0)+((k[f>>2]|0)/2|0)>>0]=j;k[f>>2]=(k[f>>2]|0)+2}i[(k[g>>2]|0)+((a|0)/2|0)>>0]=0;j=k[g>>2]|0;r=h;return j|0}function Mx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;b=d+8|0;c=d;k[b>>2]=a;f=Nx(+p[k[b>>2]>>3])|0;h=c;k[h>>2]=f;k[h+4>>2]=L;h=c;f=c;g=k[f+4>>2]|0;a=c;e=k[a+4>>2]|0;if(!(+p[k[b>>2]>>3]==+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0)&((g|0)>-2147483648|(g|0)==-2147483648&(k[f>>2]|0)>>>0>0)&((e|0)<2147483647|(e|0)==2147483647&(k[a>>2]|0)>>>0<4294967295))){r=d;return}f=c;g=k[f+4>>2]|0;h=k[b>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|4;r=d;return}function Nx(a){a=+a;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d;p[c>>3]=a;do if(!(+p[c>>3]<=-9223372036854775808.0))if(+p[c>>3]>=9223372036854775808.0){c=b;k[c>>2]=-1;k[c+4>>2]=2147483647;break}else{a=+p[c>>3];e=+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0;c=b;k[c>>2]=~~a>>>0;k[c+4>>2]=e;break}else{e=b;k[e>>2]=0;k[e+4>>2]=-2147483648}while(0);e=b;L=k[e+4>>2]|0;r=d;return k[e>>2]|0}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+5|0;e=g+4|0;k[f>>2]=a;i[d>>0]=b;i[e>>0]=c;if((i[d>>0]|0)<67){if((i[d>>0]|0)!=66){r=g;return}if(0==(m[(k[f>>2]|0)+8>>1]&2|0)?(m[(k[f>>2]|0)+8>>1]&12|0)!=0:0)Px(k[f>>2]|0,i[e>>0]|0,1)|0;f=(k[f>>2]|0)+8|0;j[f>>1]=m[f>>1]&-13;r=g;return}if(m[(k[f>>2]|0)+8>>1]&4){r=g;return}d=k[f>>2]|0;if(m[(k[f>>2]|0)+8>>1]&8){Mx(d);r=g;return}if(!(m[d+8>>1]&2)){r=g;return}Jh(k[f>>2]|0,1);r=g;return}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0;q=r;r=r+48|0;o=q+8|0;n=q;d=q+28|0;e=q+24|0;f=q+33|0;g=q+32|0;h=q+20|0;k[e>>2]=a;i[f>>0]=b;i[g>>0]=c;k[h>>2]=m[(k[e>>2]|0)+8>>1];k[q+16>>2]=32;if(Qx(k[e>>2]|0,32)|0){k[d>>2]=7;o=k[d>>2]|0;r=q;return o|0}c=k[(k[e>>2]|0)+16>>2]|0;b=k[e>>2]|0;if(k[h>>2]&4){a=b;h=k[a+4>>2]|0;o=n;k[o>>2]=k[a>>2];k[o+4>>2]=h;_d(32,c,28870,n)|0}else{p[o>>3]=+p[b>>3];_d(32,c,28875,o)|0}o=Tf(k[(k[e>>2]|0)+16>>2]|0)|0;k[(k[e>>2]|0)+12>>2]=o;i[(k[e>>2]|0)+10>>0]=1;o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]|514;if(i[g>>0]|0){o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]&-13}qu(k[e>>2]|0,l[f>>0]|0)|0;k[d>>2]=0;o=k[d>>2]|0;r=q;return o|0}function Qx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;if((k[(k[d>>2]|0)+24>>2]|0)<(k[e>>2]|0)){e=Rx(a,k[e>>2]|0,0)|0;k[c>>2]=e;e=k[c>>2]|0;r=f;return e|0}else{k[(k[d>>2]|0)+16>>2]=k[a+20>>2];e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&13;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;do if((k[(k[f>>2]|0)+24>>2]|0)<(k[d>>2]|0)){if((k[d>>2]|0)<32)k[d>>2]=32;if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+24>>2]|0)>0:0)?(k[(k[f>>2]|0)+16>>2]|0)==(k[(k[f>>2]|0)+20>>2]|0):0){a=k[d>>2]|0;a=Sx(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a;k[(k[f>>2]|0)+16>>2]=a;k[g>>2]=0}else{if((k[(k[f>>2]|0)+24>>2]|0)>0)bg(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0);a=k[d>>2]|0;a=Kh(k[(k[f>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a}d=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){a=su(k[d+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;break}rh(d);k[(k[f>>2]|0)+16>>2]=0;k[(k[f>>2]|0)+24>>2]=0;k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}while(0);if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+16>>2]|0)!=0:0)?(k[(k[f>>2]|0)+16>>2]|0)!=(k[(k[f>>2]|0)+20>>2]|0):0)IR(k[(k[f>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;if((m[(k[f>>2]|0)+8>>1]|0)&1024)_b[k[(k[f>>2]|0)+36>>2]&255](k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=k[(k[f>>2]|0)+20>>2];g=(k[f>>2]|0)+8|0;j[g>>1]=(m[g>>1]|0)&-7169;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}function Sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;i=h;g=h+8|0;k[e>>2]=a;k[f>>2]=b;b=i;k[b>>2]=c;k[b+4>>2]=d;b=i;b=_w(k[e>>2]|0,k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}bg(k[e>>2]|0,k[f>>2]|0);i=k[g>>2]|0;r=h;return i|0}function Tx(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=jh(k[c>>2]|0)|0;a=k[c>>2]|0;k[a>>2]=d;k[a+4>>2]=L;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|4;r=b;return 0}function Ux(a){a=a|0;var b=0,c=0,d=0.0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=+ih(k[c>>2]|0);p[k[c>>2]>>3]=d;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|8;r=b;return 0}function Vx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((((i[(k[k[d>>2]>>2]|0)+144+5>>0]|0)==0?(l[(k[d>>2]|0)+18>>0]|0)==0:0)?(k[(k[k[d>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Jd(k[e>>2]|0,28448,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Mh(b,31371,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function Wx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;c=q+36|0;d=q+32|0;e=q+28|0;n=q+24|0;i=q+20|0;h=q+16|0;g=q+12|0;f=q+8|0;p=q+4|0;k[d>>2]=a;k[e>>2]=b;k[h>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(ay(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}if(l[(k[e>>2]|0)+42>>0]&16){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}if((j[(k[e>>2]|0)+34>>1]|0)>0){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}if((j[(k[e>>2]|0)+34>>1]|0)<0){p=k[d>>2]|0;k[o>>2]=k[k[e>>2]>>2];Mh(p,29587,o);k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}o=by(k[f>>2]|0,k[(k[e>>2]|0)+12>>2]|0,0)|0;k[i>>2]=o;if(k[i>>2]|0){k[g>>2]=k[(k[d>>2]|0)+72>>2];cy(k[d>>2]|0,k[(k[i>>2]|0)+28>>2]|0);j[(k[e>>2]|0)+34>>1]=-1;o=(k[f>>2]|0)+256|0;k[o>>2]=(k[o>>2]|0)+1;k[p>>2]=k[(k[f>>2]|0)+296>>2];k[(k[f>>2]|0)+296>>2]=0;o=dy(k[d>>2]|0,k[i>>2]|0)|0;k[n>>2]=o;k[(k[f>>2]|0)+296>>2]=k[p>>2];k[(k[d>>2]|0)+72>>2]=k[g>>2];do if(k[(k[e>>2]|0)+24>>2]|0){ey(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0,(k[e>>2]|0)+34|0,(k[e>>2]|0)+4|0)|0;if(((l[(k[f>>2]|0)+69>>0]|0)==0?(k[(k[d>>2]|0)+68>>2]|0)==0:0)?(j[(k[e>>2]|0)+34>>1]|0)==(k[k[k[i>>2]>>2]>>2]|0):0)fy(k[d>>2]|0,k[e>>2]|0,k[i>>2]|0)}else if(k[n>>2]|0){j[(k[e>>2]|0)+34>>1]=j[(k[n>>2]|0)+34>>1]|0;k[(k[e>>2]|0)+4>>2]=k[(k[n>>2]|0)+4>>2];j[(k[n>>2]|0)+34>>1]=0;k[(k[n>>2]|0)+4>>2]=0;break}else{j[(k[e>>2]|0)+34>>1]=0;k[h>>2]=(k[h>>2]|0)+1;break}while(0);$f(k[f>>2]|0,k[n>>2]|0);nv(k[f>>2]|0,k[i>>2]|0);p=(k[f>>2]|0)+256|0;k[p>>2]=(k[p>>2]|0)+-1}else k[h>>2]=(k[h>>2]|0)+1;p=(k[(k[e>>2]|0)+64>>2]|0)+78|0;j[p>>1]=m[p>>1]|2;k[c>>2]=k[h>>2];p=k[c>>2]|0;r=q;return p|0}function Xx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+56>>2];while(1){if(!(k[d>>2]|0)){c=5;break}if((k[k[d>>2]>>2]|0)==(k[c>>2]|0)){c=5;break}k[d>>2]=k[(k[d>>2]|0)+24>>2]}if((c|0)==5){r=e;return k[d>>2]|0}return 0}function Yx(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+21>>0]=1;r=c;return}function Zx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[d>>2]=k[h>>2];if((k[c>>2]|0)>=0)k[e>>2]=(k[d>>2]|0)+(k[c>>2]|0);else k[e>>2]=-1;while(1){if(!(l[k[d>>2]>>0]|0)){c=10;break}if((k[d>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}h=k[d>>2]|0;k[d>>2]=h+1;a:do if((l[h>>0]|0|0)>=192)while(1){if(((l[k[d>>2]>>0]|0)&192|0)!=128)break a;k[d>>2]=(k[d>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function _x(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=0;b=$x(k[g>>2]|0)|0;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;g=Ex(k[k[c>>2]>>2]|0,k[e>>2]|0,k[k[k[d>>2]>>2]>>2]|0)|0;k[e>>2]=g;k[d>>2]=k[(k[d>>2]|0)+12>>2]}r=f;return k[e>>2]|0}function $x(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Aj((k[(k[c>>2]|0)+64>>2]|0)+56|0,k[k[c>>2]>>2]|0)|0;r=b;return a|0}function ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;j=p+8|0;i=p;c=p+44|0;d=p+40|0;e=p+36|0;f=p+32|0;n=p+28|0;g=p+24|0;h=p+20|0;o=p+16|0;m=p+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(((l[(k[e>>2]|0)+42>>0]|0)&16|0)!=0?(Xx(k[f>>2]|0,k[e>>2]|0)|0)==0:0){k[n>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=Aj((k[f>>2]|0)+320|0,k[n>>2]|0)|0;k[g>>2]=n;if(k[g>>2]|0){k[m>>2]=0;o=Lz(k[f>>2]|0,k[e>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+8>>2]|0,m)|0;k[h>>2]=o;if(k[h>>2]|0){o=k[d>>2]|0;k[j>>2]=k[m>>2];Mh(o,19007,j)}bg(k[f>>2]|0,k[m>>2]|0)}else{k[o>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=k[d>>2]|0;k[i>>2]=k[o>>2];Mh(n,31227,i);k[h>>2]=1}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}function by(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=$w(k[e>>2]|0,68,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=Sy(k[e>>2]|0,k[k[f>>2]>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=b;b=Iz(k[e>>2]|0,k[(k[f>>2]|0)+28>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=b;b=Ky(k[e>>2]|0,k[(k[f>>2]|0)+32>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+32>>2]=b;b=Sy(k[e>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+36>>2]=b;b=Ky(k[e>>2]|0,k[(k[f>>2]|0)+40>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+40>>2]=b;b=Sy(k[e>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=b;i[(k[h>>2]|0)+4>>0]=i[(k[f>>2]|0)+4>>0]|0;b=by(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[l>>2]=b;k[(k[h>>2]|0)+48>>2]=b;if(k[l>>2]|0)k[(k[l>>2]|0)+52>>2]=k[h>>2];k[(k[h>>2]|0)+52>>2]=0;l=Ky(k[e>>2]|0,k[(k[f>>2]|0)+56>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+56>>2]=l;l=Ky(k[e>>2]|0,k[(k[f>>2]|0)+60>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+60>>2]=l;k[(k[h>>2]|0)+12>>2]=0;k[(k[h>>2]|0)+16>>2]=0;k[(k[h>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2]&-33;k[(k[h>>2]|0)+20>>2]=-1;k[(k[h>>2]|0)+20+4>>2]=-1;j[(k[h>>2]|0)+6>>1]=j[(k[f>>2]|0)+6>>1]|0;l=Jz(k[e>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[(k[h>>2]|0)+64>>2]=l;k[d>>2]=k[h>>2];l=k[d>>2]|0;r=m;return l|0}function cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;k[f>>2]=(k[d>>2]|0)+8;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((k[(k[f>>2]|0)+44>>2]|0)>=0){c=8;break}b=(k[c>>2]|0)+72|0;a=k[b>>2]|0;k[b>>2]=a+1;k[(k[f>>2]|0)+44>>2]=a;if(k[(k[f>>2]|0)+20>>2]|0)cy(k[c>>2]|0,k[(k[(k[f>>2]|0)+20>>2]|0)+28>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}if((c|0)==8){r=g;return}}function dy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;c=l+20|0;d=l+16|0;e=l+12|0;g=l+8|0;f=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+24>>2];b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]&-5;b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]|64;oy(k[d>>2]|0,k[e>>2]|0,0);if(k[(k[d>>2]|0)+68>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}k[(k[f>>2]|0)+24>>2]=k[h>>2];h=Bh(k[f>>2]|0,72,0)|0;k[g>>2]=h;if(!(k[g>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}j[(k[g>>2]|0)+36>>1]=1;k[k[g>>2]>>2]=0;j[(k[g>>2]|0)+38>>1]=200;ey(k[d>>2]|0,k[k[e>>2]>>2]|0,(k[g>>2]|0)+34|0,(k[g>>2]|0)+4|0)|0;fy(k[d>>2]|0,k[g>>2]|0,k[e>>2]|0);j[(k[g>>2]|0)+32>>1]=-1;if(i[(k[f>>2]|0)+69>>0]|0){$f(k[f>>2]|0,k[g>>2]|0);k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}else{k[c>>2]=k[g>>2];h=k[c>>2]|0;r=l;return h|0}return 0}function ey(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;e=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;f=D+72|0;z=D+68|0;p=D+64|0;m=D+60|0;o=D+56|0;v=D+52|0;n=D+48|0;g=D+32|0;q=D+28|0;s=D+24|0;h=D+20|0;k[E>>2]=a;k[e>>2]=b;k[x>>2]=c;k[y>>2]=d;k[A>>2]=k[k[E>>2]>>2];Hj(g);if(k[e>>2]|0){k[m>>2]=k[k[e>>2]>>2];E=Bh(k[A>>2]|0,k[m>>2]<<4,0)|0;k[z>>2]=E}else{k[m>>2]=0;k[z>>2]=0}j[k[x>>2]>>1]=k[m>>2];k[k[y>>2]>>2]=k[z>>2];k[B>>2]=0;k[p>>2]=k[z>>2];while(1){if((k[B>>2]|0)>=(k[m>>2]|0))break;if(!((i[(k[A>>2]|0)+69>>0]|0)!=0^1))break;E=ny(k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=E;E=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+4>>2]|0;k[v>>2]=E;do if(!E){k[q>>2]=k[o>>2];while(1){b=k[q>>2]|0;if((l[k[q>>2]>>0]|0)!=122)break;k[q>>2]=k[b+16>>2]}if((l[b>>0]|0)==152?(k[(k[q>>2]|0)+44>>2]|0)!=0:0){k[h>>2]=j[(k[q>>2]|0)+32>>1];k[s>>2]=k[(k[q>>2]|0)+44>>2];if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)>=0)b=k[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;else b=25361;k[v>>2]=b;break}if((l[k[q>>2]>>0]|0)==55){k[v>>2]=k[(k[q>>2]|0)+8>>2];break}else{k[v>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+8>>2];break}}while(0);E=k[A>>2]|0;k[t>>2]=k[v>>2];E=Oh(E,19007,t)|0;k[v>>2]=E;k[f>>2]=0;while(1){if(k[v>>2]|0)a=(Aj(g,k[v>>2]|0)|0)!=0;else a=0;b=k[v>>2]|0;if(!a)break;E=Tf(b)|0;k[n>>2]=E;if((k[n>>2]|0)>0){k[C>>2]=(k[n>>2]|0)-1;while(1){if((k[C>>2]|0)<=0)break;if(!(l[19019+(l[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)>>0]&4))break;k[C>>2]=(k[C>>2]|0)+-1}if((i[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)==58)k[n>>2]=k[C>>2]}E=k[A>>2]|0;a=k[n>>2]|0;d=k[v>>2]|0;c=(k[f>>2]|0)+1|0;k[f>>2]=c;k[u>>2]=a;k[u+4>>2]=d;k[u+8>>2]=c;E=Oh(E,29651,u)|0;k[v>>2]=E;if((k[f>>2]|0)>>>0<=3)continue;ae(4,f)}k[k[p>>2]>>2]=b;if((k[v>>2]|0)!=0?(E=ak(g,k[v>>2]|0,k[p>>2]|0)|0,(E|0)==(k[p>>2]|0)):0)vh(k[A>>2]|0);k[B>>2]=(k[B>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+16}Ij(g);if(!(i[(k[A>>2]|0)+69>>0]|0)){k[w>>2]=0;E=k[w>>2]|0;r=D;return E|0}k[C>>2]=0;while(1){b=k[A>>2]|0;if((k[C>>2]|0)>=(k[B>>2]|0))break;bg(b,k[(k[z>>2]|0)+(k[C>>2]<<4)>>2]|0);k[C>>2]=(k[C>>2]|0)+1}bg(b,k[z>>2]|0);k[k[y>>2]>>2]=0;j[k[x>>2]>>1]=0;k[w>>2]=7;E=k[w>>2]|0;r=D;return E|0}function fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+96|0;d=w+84|0;e=w+80|0;f=w+76|0;h=w+72|0;t=w+40|0;q=w+36|0;s=w+32|0;m=w+28|0;p=w+24|0;g=w+20|0;u=w;v=w+16|0;o=w+12|0;n=w+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];b=u;k[b>>2]=0;k[b+4>>2]=0;if(i[(k[h>>2]|0)+69>>0]|0){r=w;return};k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[t+12>>2]=0;k[t+16>>2]=0;k[t+20>>2]=0;k[t+24>>2]=0;k[t+28>>2]=0;k[t+4>>2]=k[(k[f>>2]|0)+28>>2];k[g>>2]=k[(k[k[f>>2]>>2]|0)+4>>2];k[m>>2]=0;k[q>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[m>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;k[p>>2]=k[(k[g>>2]|0)+((k[m>>2]|0)*20|0)>>2];c=gy(t,k[p>>2]|0,(k[q>>2]|0)+14|0)|0;k[v>>2]=c;c=u;c=GR(k[c>>2]|0,k[c+4>>2]|0,l[(k[q>>2]|0)+14>>0]|0,0)|0;b=u;k[b>>2]=c;k[b+4>>2]=L;b=hy(k[p>>2]|0)|0;i[(k[q>>2]|0)+13>>0]=b;if(((k[v>>2]|0)!=0?(b=Tf(k[v>>2]|0)|0,k[n>>2]=b,(b|0)>0):0)?(b=Tf(k[k[q>>2]>>2]|0)|0,k[o>>2]=b,b=(k[o>>2]|0)+(k[n>>2]|0)+2|0,b=Sx(k[h>>2]|0,k[k[q>>2]>>2]|0,b,((b|0)<0)<<31>>31)|0,k[k[q>>2]>>2]=b,(k[k[q>>2]>>2]|0)!=0):0){IR((k[k[q>>2]>>2]|0)+((k[o>>2]|0)+1)|0,k[v>>2]|0,(k[n>>2]|0)+1|0)|0;b=(k[q>>2]|0)+15|0;i[b>>0]=l[b>>0]|4}if(!(i[(k[q>>2]|0)+13>>0]|0))i[(k[q>>2]|0)+13>>0]=65;b=iy(k[d>>2]|0,k[p>>2]|0)|0;k[s>>2]=b;if((k[s>>2]|0)!=0?(k[(k[q>>2]|0)+8>>2]|0)==0:0){b=zh(k[h>>2]|0,k[k[s>>2]>>2]|0)|0;k[(k[q>>2]|0)+8>>2]=b}k[m>>2]=(k[m>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+16}v=u;v=RR(k[v>>2]|0,k[v+4>>2]|0,4,0)|0;v=Uj(v,L)|0;j[(k[e>>2]|0)+40>>1]=v;r=w;return}function gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+128|0;d=x+112|0;e=x+108|0;f=x+104|0;w=x+100|0;m=x+96|0;g=x+116|0;s=x+92|0;p=x+88|0;h=x+84|0;t=x+80|0;u=x+48|0;n=x+40|0;v=x+8|0;q=x+4|0;o=x;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;i[g>>0]=1;a:do switch(l[k[e>>2]>>0]|0){case 152:case 154:{k[s>>2]=0;k[p>>2]=0;k[h>>2]=j[(k[e>>2]|0)+32>>1];while(1){if(!(k[d>>2]|0))break;if(!((k[s>>2]|0)!=0^1))break;k[t>>2]=k[(k[d>>2]|0)+4>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[t>>2]>>2]|0))break;if((k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+44>>2]|0)==(k[(k[e>>2]|0)+28>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)<(k[k[t>>2]>>2]|0)){k[s>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2];k[p>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+20>>2];continue}else{k[d>>2]=k[(k[d>>2]|0)+16>>2];continue}}if(k[s>>2]|0){if(k[p>>2]|0){if((k[h>>2]|0)<0)break a;if((k[h>>2]|0)>=(k[k[k[p>>2]>>2]>>2]|0))break a;k[n>>2]=k[(k[(k[k[p>>2]>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)>>2];k[u+4>>2]=k[(k[p>>2]|0)+28>>2];k[u+16>>2]=k[d>>2];k[u>>2]=k[k[d>>2]>>2];v=gy(u,k[n>>2]|0,g)|0;k[w>>2]=v;break a}if(k[(k[s>>2]|0)+64>>2]|0){if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)<0){k[w>>2]=19375;break a}else{v=Di((k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)|0,0)|0;k[w>>2]=v;i[g>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+14>>0]|0;break a}}}break}case 119:{k[q>>2]=k[(k[e>>2]|0)+20>>2];k[o>>2]=k[k[(k[k[q>>2]>>2]|0)+4>>2]>>2];k[v+4>>2]=k[(k[q>>2]|0)+28>>2];k[v+16>>2]=k[d>>2];k[v>>2]=k[k[d>>2]>>2];v=gy(v,k[o>>2]|0,g)|0;k[w>>2]=v;break}default:{}}while(0);if(!(k[f>>2]|0)){w=k[w>>2]|0;r=x;return w|0}i[k[f>>2]>>0]=i[g>>0]|0;w=k[w>>2]|0;r=x;return w|0}function hy(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=ny(k[c>>2]|0)|0;k[c>>2]=a;if(k[(k[c>>2]|0)+4>>2]&512){i[b>>0]=0;a=i[b>>0]|0;r=f;return a|0}k[e>>2]=l[k[c>>2]>>0];if((k[e>>2]|0)==119){a=hy(k[k[(k[k[(k[c>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;i[b>>0]=a;a=i[b>>0]|0;r=f;return a|0}if((k[e>>2]|0)==66){a=Gx(k[(k[c>>2]|0)+8>>2]|0,0)|0;i[b>>0]=a;a=i[b>>0]|0;r=f;return a|0}if((k[e>>2]|0)==154|(k[e>>2]|0)==152|(k[e>>2]|0)==157?(k[(k[c>>2]|0)+44>>2]|0)!=0:0){k[d>>2]=j[(k[c>>2]|0)+32>>1];if((k[d>>2]|0)<0){i[b>>0]=68;a=i[b>>0]|0;r=f;return a|0}else{i[b>>0]=i[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+(k[d>>2]<<4)+13>>0]|0;a=i[b>>0]|0;r=f;return a|0}}i[b>>0]=i[(k[c>>2]|0)+1>>0]|0;a=i[b>>0]|0;r=f;return a|0}function iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;c=q+36|0;s=q+32|0;d=q+28|0;m=q+24|0;h=q+20|0;g=q+16|0;f=q+12|0;o=q+8|0;n=q+4|0;e=q;k[c>>2]=a;k[s>>2]=b;k[d>>2]=k[k[c>>2]>>2];k[m>>2]=0;k[h>>2]=k[s>>2];while(1){if(!(k[h>>2]|0))break;k[g>>2]=l[k[h>>2]>>0];if(k[(k[h>>2]|0)+4>>2]&512)break;if((k[g>>2]|0)==66|(k[g>>2]|0)==156){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}if((k[g>>2]|0)==53){p=9;break}if((k[g>>2]|0)==157?(l[(k[h>>2]|0)+38>>0]|0)==53:0){p=9;break}if((k[g>>2]|0)==154|(k[g>>2]|0)==152|(k[g>>2]|0)==157|(k[g>>2]|0)==88?(k[(k[h>>2]|0)+44>>2]|0)!=0:0){p=12;break}if(!(k[(k[h>>2]|0)+4>>2]&256))break;if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[(k[h>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}k[n>>2]=k[(k[h>>2]|0)+16>>2];a:do if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]&2048|0)==0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[h>>2]|0)+20>>2]>>2]|0))break a;b=k[e>>2]|0;if(k[(k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[e>>2]=b+1}k[n>>2]=k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+(b*20|0)>>2]}while(0);k[h>>2]=k[n>>2]}if((p|0)==9){s=jy(k[c>>2]|0,i[(k[d>>2]|0)+66>>0]|0,0,k[(k[h>>2]|0)+8>>2]|0)|0;k[m>>2]=s}else if((p|0)==12?(k[f>>2]=j[(k[h>>2]|0)+32>>1],(k[f>>2]|0)>=0):0){k[o>>2]=k[(k[(k[(k[h>>2]|0)+44>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];s=_j(k[d>>2]|0,i[(k[d>>2]|0)+66>>0]|0,k[o>>2]|0,0)|0;k[m>>2]=s}if(!(ky(k[c>>2]|0,k[m>>2]|0)|0)){s=k[m>>2]|0;r=q;return s|0}k[m>>2]=0;s=k[m>>2]|0;r=q;return s|0}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;m=n;e=n+20|0;f=n+24|0;o=n+16|0;g=n+12|0;j=n+8|0;h=n+4|0;k[e>>2]=a;i[f>>0]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[j>>2]=k[o>>2];if(!(k[j>>2]|0)){o=_j(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(!((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)!=0:0)){ly(k[h>>2]|0,l[f>>0]|0,k[g>>2]|0);o=_j(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)==0:0)?(my(k[h>>2]|0,k[j>>2]|0)|0)!=0:0)k[j>>2]=0;if(k[j>>2]|0){o=k[j>>2]|0;r=n;return o|0}o=k[e>>2]|0;k[m>>2]=k[g>>2];Mh(o,29617,m);o=k[j>>2]|0;r=n;return o|0}function ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[h>>2]=k[k[e>>2]>>2],k[f>>2]=k[k[d>>2]>>2],h=jy(k[d>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[e>>2]|0,k[h>>2]|0)|0,k[g>>2]=h,(k[g>>2]|0)==0):0){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}function ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;h=m+8|0;j=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do if(k[(k[d>>2]|0)+228>>2]|0){c=zh(k[d>>2]|0,k[f>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){ic[k[(k[d>>2]|0)+228>>2]&255](k[(k[d>>2]|0)+236>>2]|0,k[d>>2]|0,k[e>>2]|0,k[h>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);break}else{r=m;return}}while(0);if(!(k[(k[d>>2]|0)+232>>2]|0)){r=m;return}c=fi(k[d>>2]|0)|0;k[g>>2]=c;gi(k[g>>2]|0,-1,k[f>>2]|0,1,0);c=gh(k[g>>2]|0,((i[960]|0)==0?3:2)&255)|0;k[j>>2]=c;if(k[j>>2]|0)ic[k[(k[d>>2]|0)+232>>2]&255](k[(k[d>>2]|0)+236>>2]|0,k[d>>2]|0,l[(k[d>>2]|0)+66>>0]|0,k[j>>2]|0);lh(k[g>>2]|0);r=m;return}function my(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j+20|0;c=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;d=j;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3){c=6;break}b=_j(k[c>>2]|0,i[29648+(k[d>>2]|0)>>0]|0,k[e>>2]|0,0)|0;k[h>>2]=b;if(k[(k[h>>2]|0)+12>>2]|0){c=4;break}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==4){e=k[g>>2]|0;h=k[h>>2]|0;k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];k[e+12>>2]=k[h+12>>2];k[e+16>>2]=k[h+16>>2];k[(k[g>>2]|0)+16>>2]=0;k[f>>2]=0;h=k[f>>2]|0;r=j;return h|0}else if((c|0)==6){k[f>>2]=1;h=k[f>>2]|0;r=j;return h|0}return 0}function ny(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d;k[c>>2]=a;while(1){if(k[c>>2]|0)a=(k[(k[c>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=k[c>>2]|0;if(!a)break;a=k[c>>2]|0;if(k[b+4>>2]&262144){k[c>>2]=k[k[(k[a+20>>2]|0)+4>>2]>>2];continue}else{k[c>>2]=k[a+12>>2];continue}}r=d;return b|0}function oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}k[g>>2]=k[k[d>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){r=h;return}if(k[(k[e>>2]|0)+8>>2]&128){r=h;return}py(k[d>>2]|0,k[e>>2]|0);if(k[(k[d>>2]|0)+68>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}qy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if(k[(k[d>>2]|0)+68>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}ry(k[d>>2]|0,k[e>>2]|0);r=h;return}function py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+48|0;f=e+32|0;c=e+28|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+4>>2]=190;k[d>>2]=k[f>>2];if(i[(k[f>>2]|0)+22>>0]|0){k[d+8>>2]=191;uy(d,k[c>>2]|0)|0}k[d+8>>2]=192;if(k[(k[c>>2]|0)+8>>2]&1024){f=k[c>>2]|0;uy(d,f)|0;r=e;return}k[d+12>>2]=132;f=k[c>>2]|0;uy(d,f)|0;r=e;return}function qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+48|0;h=d+36|0;e=d+32|0;g=d+28|0;f=d;k[h>>2]=a;k[e>>2]=b;k[g>>2]=c;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=193;k[f+8>>2]=194;k[f>>2]=k[h>>2];k[f+24>>2]=k[g>>2];uy(f,k[e>>2]|0)|0;r=d;return}function ry(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+12>>2]=133;k[e+4>>2]=190;k[e>>2]=k[f>>2];uy(e,k[d>>2]|0)|0;r=c;return}function sy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=r;r=r+32|0;m=i+28|0;j=i+24|0;e=i+20|0;c=i+16|0;h=i+12|0;d=i+8|0;g=i+4|0;f=i;k[m>>2]=a;k[j>>2]=b;a=(k[j>>2]|0)+8|0;k[a>>2]=k[a>>2]|128;k[e>>2]=k[k[m>>2]>>2];k[h>>2]=k[(k[j>>2]|0)+28>>2];k[c>>2]=0;k[d>>2]=(k[h>>2]|0)+8;while(1){if((k[c>>2]|0)>=(k[k[h>>2]>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+16>>2];if(((l[(k[g>>2]|0)+42>>0]|0)&2|0)!=0?(k[f>>2]=k[(k[d>>2]|0)+20>>2],(k[f>>2]|0)!=0):0){while(1){if(!(k[(k[f>>2]|0)+48>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+48>>2]}fy(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+72}r=i;return}function ty(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function uy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;do if(k[c>>2]|0){if((k[(k[e>>2]|0)+8>>2]|0)==0?(k[(k[e>>2]|0)+12>>2]|0)==0:0)break;k[f>>2]=0;a=(k[e>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if(!(k[c>>2]|0)){c=15;break}if((k[(k[e>>2]|0)+8>>2]|0)!=0?(a=gc[k[(k[e>>2]|0)+8>>2]&255](k[e>>2]|0,k[c>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0){c=15;break}if(vy(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(wy(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(k[(k[e>>2]|0)+12>>2]|0)$b[k[(k[e>>2]|0)+12>>2]&255](k[e>>2]|0,k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+48>>2]}if((c|0)==11){f=(k[e>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+-1;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){e=(k[e>>2]|0)+16|0;k[e>>2]=(k[e>>2]|0)+-1;k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function vy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(!(xy(k[d>>2]|0,k[k[e>>2]>>2]|0)|0)){if(yy(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0)|0){k[c>>2]=2;break}if(xy(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0)|0){k[c>>2]=2;break}if(yy(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0)|0){k[c>>2]=2;break}if(xy(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0){k[c>>2]=2;break}if(yy(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0)|0){k[c>>2]=2;break}if(yy(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0)|0){k[c>>2]=2;break}else{k[c>>2]=0;break}}else k[c>>2]=2;while(0);r=f;return k[c>>2]|0}function wy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;g=h+20|0;c=h+16|0;i=h+12|0;f=h+8|0;d=h+4|0;e=h;k[c>>2]=a;k[i>>2]=b;k[f>>2]=k[(k[i>>2]|0)+28>>2];a:do if(k[f>>2]|0){k[d>>2]=k[k[f>>2]>>2];k[e>>2]=(k[f>>2]|0)+8;while(1){if((k[d>>2]|0)<=0)break a;if(uy(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){c=5;break}if(((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(xy(k[c>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0)!=0:0){c=8;break}k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+72}if((c|0)==5){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}else if((c|0)==8){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}}while(0);k[g>>2]=0;i=k[g>>2]|0;r=h;return i|0}function xy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=k[k[e>>2]>>2];k[g>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[f>>2]|0)<=0)break a;if(yy(k[d>>2]|0,k[k[g>>2]>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+20}k[c>>2]=2;a=k[c>>2]|0;r=h;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}function yy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){a=0;r=e;return a|0}a=zy(k[c>>2]|0,k[d>>2]|0)|0;r=e;return a|0}function zy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=b;a=gc[k[(k[c>>2]|0)+4>>2]&255](k[c>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;do if((k[f>>2]|0)==0?(k[(k[e>>2]|0)+4>>2]&16384|0)==0:0){if(yy(k[c>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0){k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}if(yy(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0){k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}c=k[c>>2]|0;b=(k[e>>2]|0)+20|0;if(k[(k[e>>2]|0)+4>>2]&2048){if(!(uy(c,k[b>>2]|0)|0))break;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else{if(!(xy(c,k[b>>2]|0)|0))break;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}function Ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;h=J+112|0;n=J+108|0;x=J+104|0;z=J+100|0;e=J+96|0;g=J+92|0;f=J+88|0;d=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;q=J+64|0;o=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;p=J+120|0;y=J+44|0;c=J+40|0;k[h>>2]=a;k[n>>2]=b;k[x>>2]=k[(k[h>>2]|0)+24>>2];k[z>>2]=k[k[x>>2]>>2];if(k[(k[n>>2]|0)+4>>2]&4){k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|4;switch(l[k[n>>2]>>0]|0){case 55:{H=az(k[z>>2]|0,0,0,k[(k[n>>2]|0)+8>>2]|0,k[x>>2]|0,k[n>>2]|0)|0;k[I>>2]=H;I=k[I>>2]|0;r=J;return I|0}case 122:{bz(k[z>>2]|0,k[x>>2]|0,30165,32);k[d>>2]=k[(k[n>>2]|0)+16>>2];if((l[k[d>>2]>>0]|0)==55){k[f>>2]=0;k[g>>2]=k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2];k[e>>2]=k[(k[d>>2]|0)+8>>2]}else{k[f>>2]=k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2];k[g>>2]=k[(k[(k[d>>2]|0)+12>>2]|0)+8>>2];k[e>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2]}H=az(k[z>>2]|0,k[f>>2]|0,k[g>>2]|0,k[e>>2]|0,k[x>>2]|0,k[n>>2]|0)|0;k[I>>2]=H;I=k[I>>2]|0;r=J;return I|0}case 151:{k[w>>2]=k[(k[n>>2]|0)+20>>2];if(k[w>>2]|0)c=k[k[w>>2]>>2]|0;else c=0;k[s>>2]=c;k[u>>2]=0;k[F>>2]=0;k[q>>2]=0;i[p>>0]=i[(k[k[z>>2]>>2]|0)+66>>0]|0;bz(k[z>>2]|0,k[x>>2]|0,30182,2);k[G>>2]=k[(k[n>>2]|0)+8>>2];g=Tf(k[G>>2]|0)|0;k[t>>2]=g;g=si(k[k[z>>2]>>2]|0,k[G>>2]|0,k[s>>2]|0,i[p>>0]|0,0)|0;k[v>>2]=g;do if(!(k[v>>2]|0)){B=si(k[k[z>>2]>>2]|0,k[G>>2]|0,-2,i[p>>0]|0,0)|0;k[v>>2]=B;if(!(k[v>>2]|0)){k[u>>2]=1;break}else{k[F>>2]=1;break}}else{k[q>>2]=(k[(k[v>>2]|0)+16>>2]|0)!=0&1;do if(m[(k[v>>2]|0)+2>>1]&1024){p=(k[n>>2]|0)+4|0;k[p>>2]=k[p>>2]|266240;if((k[s>>2]|0)!=2){k[(k[n>>2]|0)+28>>2]=(i[k[(k[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=cz(k[(k[(k[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+28>>2]=s;if((k[(k[n>>2]|0)+28>>2]|0)<0){Mh(k[z>>2]|0,30192,A);A=(k[x>>2]|0)+24|0;k[A>>2]=(k[A>>2]|0)+1}}while(0);A=gx(k[z>>2]|0,31,0,k[(k[v>>2]|0)+20>>2]|0,0)|0;k[o>>2]=A;if(k[o>>2]|0){if((k[o>>2]|0)==1){H=k[z>>2]|0;k[B>>2]=k[(k[v>>2]|0)+20>>2];Mh(H,30263,B);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1}i[k[n>>2]>>0]=101;k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}else{if(m[(k[v>>2]|0)+2>>1]&10240){B=(k[n>>2]|0)+4|0;k[B>>2]=k[B>>2]|524288}if(m[(k[v>>2]|0)+2>>1]&2048)break;bz(k[z>>2]|0,k[x>>2]|0,30298,32);break}}while(0);if((k[q>>2]|0)!=0?(m[(k[x>>2]|0)+28>>1]&1|0)==0:0){F=k[z>>2]|0;G=k[G>>2]|0;k[D>>2]=k[t>>2];k[D+4>>2]=G;Mh(F,30326,D);G=(k[x>>2]|0)+24|0;k[G>>2]=(k[G>>2]|0)+1;k[q>>2]=0}else H=31;do if((H|0)==31){if((k[u>>2]|0)!=0?(l[(k[k[z>>2]>>2]|0)+144+5>>0]|0)==0:0){H=k[z>>2]|0;G=k[G>>2]|0;k[E>>2]=k[t>>2];k[E+4>>2]=G;Mh(H,30362,E);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1;break}if(k[F>>2]|0){H=k[z>>2]|0;G=k[G>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=G;Mh(H,30385,C);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1}}while(0);if(k[q>>2]|0){H=(k[x>>2]|0)+28|0;j[H>>1]=m[H>>1]&-2}xy(k[h>>2]|0,k[w>>2]|0)|0;if(k[q>>2]|0){k[y>>2]=k[x>>2];i[k[n>>2]>>0]=-103;i[(k[n>>2]|0)+38>>0]=0;while(1){if(!(k[y>>2]|0))break;if(!((dz(k[n>>2]|0,k[(k[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(k[n>>2]|0)+38|0;i[H>>0]=(i[H>>0]|0)+1<<24>>24;k[y>>2]=k[(k[y>>2]|0)+16>>2]}if(k[y>>2]|0){H=(k[y>>2]|0)+28|0;j[H>>1]=m[H>>1]|(16|m[(k[v>>2]|0)+2>>1]&4096)}H=(k[x>>2]|0)+28|0;j[H>>1]=m[H>>1]|1}k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}case 33:case 20:case 119:{if((k[(k[n>>2]|0)+4>>2]&2048|0)!=0?(k[c>>2]=k[(k[x>>2]|0)+20>>2],bz(k[z>>2]|0,k[x>>2]|0,30430,38),uy(k[h>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0,(k[c>>2]|0)!=(k[(k[x>>2]|0)+20>>2]|0)):0){H=(k[n>>2]|0)+4|0;k[H>>2]=k[H>>2]|32;H=(k[x>>2]|0)+28|0;j[H>>1]=m[H>>1]|64}break}case 135:{bz(k[z>>2]|0,k[x>>2]|0,30441,38);break}default:{}}if(k[(k[z>>2]|0)+68>>2]|0)c=1;else c=(l[(k[k[z>>2]>>2]|0)+69>>0]|0)!=0;k[I>>2]=c?2:0;I=k[I>>2]|0;r=J;return I|0}function By(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+128|0;C=E+8|0;B=E;D=E+116|0;c=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;f=E+64|0;A=E+60|0;e=E+56|0;h=E+52|0;z=E+48|0;d=E+44|0;t=E+40|0;n=E+36|0;q=E+32|0;g=E+28|0;w=E+24|0;o=E+20|0;u=E+16|0;p=E+12|0;k[c>>2]=a;k[x>>2]=b;if(k[(k[x>>2]|0)+8>>2]&4){k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}k[s>>2]=k[(k[c>>2]|0)+24>>2];k[A>>2]=k[k[c>>2]>>2];k[d>>2]=k[k[A>>2]>>2];if(!(k[(k[x>>2]|0)+8>>2]&64)){oy(k[A>>2]|0,k[x>>2]|0,k[s>>2]|0);if(k[(k[A>>2]|0)+68>>2]|0)c=1;else c=(l[(k[d>>2]|0)+69>>0]|0)!=0;k[D>>2]=c?2:1;D=k[D>>2]|0;r=E;return D|0}k[y>>2]=(k[(k[x>>2]|0)+48>>2]|0)!=0&1;k[f>>2]=0;k[z>>2]=k[x>>2];a:while(1){if(!(k[x>>2]|0)){c=68;break}a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|4;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[A>>2];if(Cy(v,k[(k[x>>2]|0)+56>>2]|0)|0){c=11;break}if(Cy(v,k[(k[x>>2]|0)+60>>2]|0)|0){c=11;break}if(k[(k[x>>2]|0)+8>>2]&65536){k[t>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[t>>2]|0)+44>>2]=k[(k[x>>2]|0)+44>>2];k[(k[x>>2]|0)+44>>2]=0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[n>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(k[(k[n>>2]|0)+20>>2]|0){k[g>>2]=0;k[w>>2]=k[(k[A>>2]|0)+496>>2];k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)+(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}if(k[(k[n>>2]|0)+8>>2]|0)k[(k[A>>2]|0)+496>>2]=k[(k[n>>2]|0)+8>>2];qy(k[A>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[s>>2]|0);k[(k[A>>2]|0)+496>>2]=k[w>>2];if(k[(k[A>>2]|0)+68>>2]|0){c=24;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=24;break a}k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)-(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}a=(k[n>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-9|((k[g>>2]|0)!=0&1)<<3&255}k[e>>2]=(k[e>>2]|0)+1}j[v+28>>1]=1;k[v+4>>2]=k[(k[x>>2]|0)+28>>2];k[v+16>>2]=k[s>>2];if(Dy(v,k[k[x>>2]>>2]|0)|0){c=31;break}k[h>>2]=k[(k[x>>2]|0)+36>>2];if((k[h>>2]|0)==0?(m[v+28>>1]&16|0)==0:0){a=v+28|0;j[a>>1]=m[a>>1]&-2}else{a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|(8|m[v+28>>1]&4096)}if(!((k[h>>2]|0)!=0?1:(k[(k[x>>2]|0)+40>>2]|0)==0)){c=37;break}k[v+8>>2]=k[k[x>>2]>>2];if(Cy(v,k[(k[x>>2]|0)+40>>2]|0)|0){c=39;break}if(Cy(v,k[(k[x>>2]|0)+32>>2]|0)|0){c=41;break}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[o>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(((l[(k[o>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(Dy(v,k[(k[o>>2]|0)+64>>2]|0)|0)!=0:0){c=46;break a}k[e>>2]=(k[e>>2]|0)+1}k[v+16>>2]=0;a=v+28|0;j[a>>1]=m[a>>1]|1;if(k[(k[x>>2]|0)+8>>2]&65536){k[u>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[x>>2]|0)+44>>2]=k[(k[u>>2]|0)+44>>2];k[(k[u>>2]|0)+44>>2]=0}if((k[y>>2]|0)<=(k[f>>2]|0)?(Ey(v,k[x>>2]|0,k[(k[x>>2]|0)+44>>2]|0,29703)|0)!=0:0){c=52;break}if(i[(k[d>>2]|0)+69>>0]|0){c=54;break}b:do if(k[h>>2]|0){if(Ey(v,k[x>>2]|0,k[h>>2]|0,29709)|0){c=58;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=58;break a}k[e>>2]=0;k[p>>2]=k[(k[h>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break b;if(k[(k[k[p>>2]>>2]|0)+4>>2]&2){c=62;break a}k[e>>2]=(k[e>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}}while(0);if((k[(k[x>>2]|0)+52>>2]|0)!=0?(k[k[k[x>>2]>>2]>>2]|0)!=(k[k[k[(k[x>>2]|0)+52>>2]>>2]>>2]|0):0){c=66;break}k[x>>2]=k[(k[x>>2]|0)+48>>2];k[f>>2]=(k[f>>2]|0)+1}switch(c|0){case 11:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 24:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 31:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 37:{Mh(k[A>>2]|0,29659,B);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 39:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 41:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 46:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 52:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 54:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 58:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 62:{Mh(k[A>>2]|0,29715,C);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 66:{Fy(k[A>>2]|0,k[(k[x>>2]|0)+52>>2]|0);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 68:{if((k[y>>2]|0)!=0?(Gy(k[A>>2]|0,k[z>>2]|0)|0)!=0:0){k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}}return 0}function Cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+48|0;c=l+40|0;d=l+36|0;e=l+32|0;g=l+44|0;h=l+4|0;f=l;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}k[f>>2]=k[k[d>>2]>>2];if($y(k[f>>2]|0,(k[(k[e>>2]|0)+24>>2]|0)+(k[(k[k[d>>2]>>2]|0)+464>>2]|0)|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=l;return h|0}f=(k[f>>2]|0)+464|0;k[f>>2]=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);j[g>>1]=(m[(k[d>>2]|0)+28>>1]|0)&4112;f=(k[d>>2]|0)+28|0;j[f>>1]=(m[f>>1]|0)&-4113;k[h>>2]=k[k[d>>2]>>2];k[h+4>>2]=193;k[h+8>>2]=194;k[h+12>>2]=0;k[h+16>>2]=0;i[h+20>>0]=0;k[h+24>>2]=k[d>>2];yy(h,k[e>>2]|0)|0;f=(k[k[d>>2]>>2]|0)+464|0;k[f>>2]=(k[f>>2]|0)-(k[(k[e>>2]|0)+24>>2]|0);if(!((k[(k[d>>2]|0)+24>>2]|0)<=0?(k[(k[h>>2]|0)+68>>2]|0)<=0:0)){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|8}if((m[(k[d>>2]|0)+28>>1]|0)&16){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|2}h=(k[d>>2]|0)+28|0;j[h>>1]=m[h>>1]|0|(m[g>>1]|0);k[c>>2]=(k[(k[e>>2]|0)+4>>2]&8|0)!=0&1;h=k[c>>2]|0;r=l;return h|0}function Dy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[e>>2]>>2]|0))break a;if(Cy(k[d>>2]|0,k[(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=2;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function Ey(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;e=w+48|0;f=w+44|0;g=w+40|0;h=w+36|0;l=w+32|0;m=w+28|0;o=w+24|0;n=w+20|0;t=w+16|0;u=w+12|0;p=w+8|0;q=w+4|0;s=w;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(!(k[h>>2]|0)){k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}k[p>>2]=k[k[k[g>>2]>>2]>>2];k[u>>2]=k[k[f>>2]>>2];k[m>>2]=0;k[t>>2]=k[(k[h>>2]|0)+4>>2];a:while(1){if((k[m>>2]|0)>=(k[k[h>>2]>>2]|0)){v=20;break}k[q>>2]=k[k[t>>2]>>2];d=ny(k[q>>2]|0)|0;k[s>>2]=d;if((i[k[l>>2]>>0]|0)!=71?(d=Jy(k[u>>2]|0,k[k[g>>2]>>2]|0,k[s>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)>0):0)j[(k[t>>2]|0)+16>>1]=k[n>>2];else v=8;b:do if((v|0)==8){v=0;if(Hy(k[s>>2]|0,n)|0){if((k[n>>2]|0)<1|(k[n>>2]|0)>65535){v=10;break a}j[(k[t>>2]|0)+16>>1]=k[n>>2];break}j[(k[t>>2]|0)+16>>1]=0;if(Cy(k[f>>2]|0,k[q>>2]|0)|0){v=13;break a}k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[k[g>>2]>>2]>>2]|0))break b;if(!(My(k[q>>2]|0,k[(k[(k[k[g>>2]>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,-1)|0))j[(k[t>>2]|0)+16>>1]=(k[o>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[m>>2]=(k[m>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}if((v|0)==10){Iy(k[u>>2]|0,k[l>>2]|0,(k[m>>2]|0)+1|0,k[p>>2]|0);k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==13){k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==20){v=Vy(k[u>>2]|0,k[g>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[e>>2]=v;v=k[e>>2]|0;r=w;return v|0}return 0}function Fy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+32|0;d=e+8|0;f=e+16|0;c=e+12|0;k[f>>2]=a;k[c>>2]=b;b=k[f>>2]|0;if(k[(k[c>>2]|0)+8>>2]&512){Mh(b,29925,e);r=e;return}else{f=Uy(l[(k[c>>2]|0)+4>>0]|0)|0;k[d>>2]=f;Mh(b,29971,d);r=e;return}}function Gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;v=w+8|0;p=w+64|0;q=w+60|0;c=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;d=w+40|0;f=w+36|0;m=w+32|0;e=w+28|0;h=w+24|0;g=w+20|0;n=w+16|0;o=w+12|0;k[q>>2]=a;k[c>>2]=b;k[f>>2]=1;k[u>>2]=k[(k[c>>2]|0)+44>>2];if(!(k[u>>2]|0)){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}k[d>>2]=k[k[q>>2]>>2];if((k[k[u>>2]>>2]|0)>(k[(k[d>>2]|0)+92+8>>2]|0)){Mh(k[q>>2]|0,29774,w);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;b=(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13|0;i[b>>0]=i[b>>0]&-2;k[s>>2]=(k[s>>2]|0)+1}k[(k[c>>2]|0)+52>>2]=0;while(1){if(!(k[(k[c>>2]|0)+48>>2]|0))break;k[(k[(k[c>>2]|0)+48>>2]|0)+52>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+48>>2]}a:while(1){if(!((k[c>>2]|0)!=0?(k[f>>2]|0)!=0:0)){c=36;break}k[f>>2]=0;k[t>>2]=k[k[c>>2]>>2];k[s>>2]=0;k[m>>2]=k[(k[u>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;k[e>>2]=-1;do if(!(i[(k[m>>2]|0)+13>>0]&1)){b=ny(k[k[m>>2]>>2]|0)|0;k[h>>2]=b;if(Hy(k[h>>2]|0,e)|0){if((k[e>>2]|0)<=0){c=18;break a}if((k[e>>2]|0)>(k[k[t>>2]>>2]|0)){c=18;break a}}else{b=Jy(k[q>>2]|0,k[t>>2]|0,k[h>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){b=Ky(k[d>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=b;if(!(i[(k[d>>2]|0)+69>>0]|0)){b=Ly(k[q>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[e>>2]=b}qv(k[d>>2]|0,k[g>>2]|0)}}if((k[e>>2]|0)<=0){k[f>>2]=1;break}b=cw(k[d>>2]|0,132,0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){c=25;break a}b=(k[n>>2]|0)+4|0;k[b>>2]=k[b>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[e>>2];if((k[k[m>>2]>>2]|0)==(k[h>>2]|0))k[k[m>>2]>>2]=k[n>>2];else{k[o>>2]=k[k[m>>2]>>2];while(1){if((l[k[(k[o>>2]|0)+12>>2]>>0]|0)!=53)break;k[o>>2]=k[(k[o>>2]|0)+12>>2]}k[(k[o>>2]|0)+12>>2]=k[n>>2]}qv(k[d>>2]|0,k[h>>2]|0);j[(k[m>>2]|0)+16>>1]=k[e>>2];b=(k[m>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2|1}while(0);k[s>>2]=(k[s>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+20}k[c>>2]=k[(k[c>>2]|0)+52>>2]}if((c|0)==18){Iy(k[q>>2]|0,29703,(k[s>>2]|0)+1|0,k[k[t>>2]>>2]|0);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==25){k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==36){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0)){c=41;break}if(!(i[(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13>>0]&1)){c=39;break}k[s>>2]=(k[s>>2]|0)+1}if((c|0)==39){u=k[q>>2]|0;k[v>>2]=(k[s>>2]|0)+1;Mh(u,29808,v);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==41){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}}return 0}function Hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;a=k[d>>2]|0;if(k[(k[d>>2]|0)+4>>2]&1024){k[k[e>>2]>>2]=k[a+8>>2];k[c>>2]=1;g=k[c>>2]|0;r=h;return g|0}switch(l[a>>0]|0|0){case 156:{g=Hy(k[(k[d>>2]|0)+12>>2]|0,k[e>>2]|0)|0;k[f>>2]=g;break}case 155:{if(Hy(k[(k[d>>2]|0)+12>>2]|0,g)|0){k[k[e>>2]>>2]=0-(k[g>>2]|0);k[f>>2]=1}break}default:{}}k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function Iy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;f=e;j=e+24|0;i=e+20|0;g=e+16|0;h=e+12|0;k[j>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[j>>2]|0;d=k[i>>2]|0;a=k[h>>2]|0;k[f>>2]=k[g>>2];k[f+4>>2]=d;k[f+8>>2]=a;Mh(b,29869,f);r=e;return}function Jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;k[j+20>>2]=a;k[e>>2]=b;k[f>>2]=c;a:do if((l[k[f>>2]>>0]|0|0)==55){k[i>>2]=k[(k[f>>2]|0)+8>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[e>>2]>>2]|0))break a;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+4>>2];if((k[h>>2]|0)!=0?(sg(k[h>>2]|0,k[i>>2]|0)|0)==0:0)break;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=(k[g>>2]|0)+1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){b=0;r=g;return b|0}b=Oy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0)|0;r=g;return b|0}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;h=r;r=r+80|0;g=h+60|0;p=h+56|0;q=h+52|0;d=h+48|0;e=h+44|0;f=h+40|0;o=h+8|0;m=h+4|0;l=h;n=h+64|0;k[p>>2]=a;k[q>>2]=b;k[d>>2]=c;k[f>>2]=k[k[q>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[p>>2];k[o+4>>2]=k[(k[q>>2]|0)+28>>2];k[o+8>>2]=k[f>>2];j[o+28>>1]=1;k[o+24>>2]=0;k[m>>2]=k[k[p>>2]>>2];i[n>>0]=i[(k[m>>2]|0)+73>>0]|0;i[(k[m>>2]|0)+73>>0]=1;b=Cy(o,k[d>>2]|0)|0;k[l>>2]=b;i[(k[m>>2]|0)+73>>0]=i[n>>0]|0;if(k[l>>2]|0){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0)){c=8;break}q=(My(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0,-1)|0)<2;a=(k[e>>2]|0)+1|0;if(q){c=6;break}k[e>>2]=a}if((c|0)==6){k[g>>2]=a;q=k[g>>2]|0;r=h;return q|0}else if((c|0)==8){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}return 0}function My(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)==0|(k[f>>2]|0)==0){k[d>>2]=(k[f>>2]|0)==(k[e>>2]|0)?0:2;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+4>>2]|k[(k[f>>2]|0)+4>>2];c=k[e>>2]|0;if(k[h>>2]&1024){if((k[c+4>>2]&k[(k[f>>2]|0)+4>>2]&1024|0)!=0?(k[(k[e>>2]|0)+8>>2]|0)==(k[(k[f>>2]|0)+8>>2]|0):0){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}a=l[k[e>>2]>>0]|0;if((l[c>>0]|0)!=(l[k[f>>2]>>0]|0)){if((a|0)==53?(My(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}if((l[k[f>>2]>>0]|0)==53?(My(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(((a|0)!=152?(l[k[e>>2]>>0]|0)!=154:0)?(k[(k[e>>2]|0)+8>>2]|0)!=0:0){c=k[(k[e>>2]|0)+8>>2]|0;a=k[(k[f>>2]|0)+8>>2]|0;if((l[k[e>>2]>>0]|0)==151){if(!(sg(c,a)|0))break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}else{if(!(YQ(c,a)|0))break;k[d>>2]=(l[k[e>>2]>>0]|0)==53?1:2;h=k[d>>2]|0;r=i;return h|0}}while(0);if((k[(k[e>>2]|0)+4>>2]&16|0)!=(k[(k[f>>2]|0)+4>>2]&16|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(!(k[h>>2]&16384)){if(k[h>>2]&2048){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(My(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(My(k[(k[e>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Ny(k[(k[e>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[h>>2]&8192|0)==0?(l[k[e>>2]>>0]|0)!=97:0){if((j[(k[e>>2]|0)+32>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[(k[e>>2]|0)+28>>2]|0)!=(k[(k[f>>2]|0)+28>>2]|0)){if((k[(k[e>>2]|0)+28>>2]|0)==(k[g>>2]|0)?(k[(k[f>>2]|0)+28>>2]|0)<0:0)break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;j=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[d>>2]|0)==0&(k[e>>2]|0)==0){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}if((k[d>>2]|0)==0|(k[e>>2]|0)==0){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}if((k[k[d>>2]>>2]|0)!=(k[k[e>>2]>>2]|0)){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[d>>2]>>2]|0)){d=14;break}k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];if((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)!=(l[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)){d=10;break}if(My(k[h>>2]|0,k[i>>2]|0,k[f>>2]|0)|0){d=12;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==10){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==12){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==14){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}return 0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;m=s+44|0;n=s+40|0;l=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;i=s+20|0;g=s+16|0;e=s+12|0;h=s+8|0;f=s+4|0;j=s;k[m>>2]=a;k[n>>2]=b;k[l>>2]=c;k[o>>2]=d;if(k[o>>2]|0){k[q>>2]=k[k[o>>2]>>2];k[i>>2]=32768}else{b=k[m>>2]|0;d=Py(k[n>>2]|0,k[l>>2]|0)|0;d=$w(b,d,((d|0)<0)<<31>>31)|0;k[q>>2]=d;k[i>>2]=0}k[p>>2]=k[q>>2];if(!(k[p>>2]|0)){q=k[p>>2]|0;r=s;return q|0}d=Qy(k[n>>2]|0,k[l>>2]|0)|0;k[g>>2]=d;k[e>>2]=k[g>>2]&4095;if((k[(k[n>>2]|0)+4>>2]&1024|0)==0?(k[(k[n>>2]|0)+8>>2]|0)!=0:0){d=(Tf(k[(k[n>>2]|0)+8>>2]|0)|0)+1|0;k[h>>2]=d}else k[h>>2]=0;if(!(k[l>>2]|0)){d=Ry(k[n>>2]|0)|0;k[f>>2]=d;IR(k[q>>2]|0,k[n>>2]|0,k[f>>2]|0)|0;if((k[f>>2]|0)>>>0<48)KR((k[q>>2]|0)+(k[f>>2]|0)|0,0,48-(k[f>>2]|0)|0)|0}else IR(k[q>>2]|0,k[n>>2]|0,k[e>>2]|0)|0;d=(k[p>>2]|0)+4|0;k[d>>2]=k[d>>2]&-122881;d=(k[p>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[g>>2]&24576;d=(k[p>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[i>>2];if(k[h>>2]|0){i=(k[q>>2]|0)+(k[e>>2]|0)|0;k[(k[p>>2]|0)+8>>2]=i;k[j>>2]=i;IR(k[j>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[h>>2]|0)|0}do if(!((k[(k[n>>2]|0)+4>>2]|k[(k[p>>2]|0)+4>>2])&16384)){a=k[m>>2]|0;c=(k[n>>2]|0)+20|0;if(k[(k[n>>2]|0)+4>>2]&2048){j=by(a,k[c>>2]|0,k[l>>2]|0)|0;k[(k[p>>2]|0)+20>>2]=j;break}else{j=Sy(a,k[c>>2]|0,k[l>>2]|0)|0;k[(k[p>>2]|0)+20>>2]=j;break}}while(0);a=k[n>>2]|0;if(!(k[(k[p>>2]|0)+4>>2]&24576)){if(k[a+4>>2]&16384){q=k[p>>2]|0;r=s;return q|0}q=Ky(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[p>>2]|0)+12>>2]=q;q=Ky(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,0)|0;k[(k[p>>2]|0)+16>>2]=q;q=k[p>>2]|0;r=s;return q|0}l=Ty(a,k[l>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+l;if(k[(k[p>>2]|0)+4>>2]&8192){if(k[(k[n>>2]|0)+12>>2]|0)a=Oy(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,1,q)|0;else a=0;k[(k[p>>2]|0)+12>>2]=a;if(k[(k[n>>2]|0)+16>>2]|0)a=Oy(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,1,q)|0;else a=0;k[(k[p>>2]|0)+16>>2]=a}if(!(k[o>>2]|0)){q=k[p>>2]|0;r=s;return q|0}k[k[o>>2]>>2]=k[q>>2];q=k[p>>2]|0;r=s;return q|0}function Py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[c>>2]|0)){a=k[e>>2]|0;r=f;return a|0}a=Ty(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if(!(k[d>>2]&1)){a=k[e>>2]|0;r=f;return a|0}a=Py(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0)|0;a=a+(Py(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0)|0)|0;k[e>>2]=(k[e>>2]|0)+a;a=k[e>>2]|0;r=f;return a|0}function Qy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;do if(!(k[f>>2]|0))k[d>>2]=48;else{if((k[(k[c>>2]|0)+12>>2]|0)==0?(k[(k[c>>2]|0)+20>>2]|0)==0:0){k[d>>2]=16396;break}k[d>>2]=8220}while(0);r=e;return k[d>>2]|0}function Ry(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+4>>2]&16384))if(k[(k[c>>2]|0)+4>>2]&8192){k[b>>2]=28;break}else{k[b>>2]=48;break}else k[b>>2]=12;while(0);r=d;return k[b>>2]|0}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;m=p+16|0;j=p+12|0;o=p+8|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=$w(k[e>>2]|0,8,0)|0;k[m>>2]=b;if(!(k[m>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=k[k[f>>2]>>2]|0;k[h>>2]=b;k[k[m>>2]>>2]=b;a:do if(!(k[g>>2]&1)){k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[h>>2]|0)}}while(0);b=$w(k[e>>2]|0,(k[h>>2]|0)*20|0,0)|0;k[j>>2]=b;k[(k[m>>2]|0)+4>>2]=b;if(!(k[j>>2]|0)){bg(k[e>>2]|0,k[m>>2]|0);k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}k[o>>2]=k[(k[f>>2]|0)+4>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=k[k[o>>2]>>2];b=Ky(k[e>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[k[j>>2]>>2]=b;b=zh(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[j>>2]|0)+4>>2]=b;b=zh(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[j>>2]|0)+8>>2]=b;i[(k[j>>2]|0)+12>>0]=i[(k[o>>2]|0)+12>>0]|0;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-3|((l[(k[o>>2]|0)+13>>0]|0)>>>1&1)<<1&255;k[(k[j>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2];k[h>>2]=(k[h>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+20;k[o>>2]=(k[o>>2]|0)+20}k[d>>2]=k[m>>2];o=k[d>>2]|0;r=p;return o|0}function Ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=(Qy(k[c>>2]|0,k[f>>2]|0)|0)&4095;k[d>>2]=a;if((k[(k[c>>2]|0)+4>>2]&1024|0)==0?(k[(k[c>>2]|0)+8>>2]|0)!=0:0){f=(Tf(k[(k[c>>2]|0)+8>>2]|0)|0)+1|0;k[d>>2]=(k[d>>2]|0)+f}r=e;return (k[d>>2]|0)+7&-8|0}function Uy(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;switch(k[d>>2]|0){case 116:{k[b>>2]=30053;break}case 118:{k[b>>2]=30063;break}case 117:{k[b>>2]=30073;break}default:k[b>>2]=30080}r=c;return k[b>>2]|0}function Vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t;o=t+36|0;h=t+32|0;e=t+28|0;i=t+24|0;p=t+20|0;q=t+16|0;f=t+12|0;s=t+8|0;n=t+4|0;k[h>>2]=a;k[e>>2]=b;k[i>>2]=c;k[p>>2]=d;k[f>>2]=k[k[h>>2]>>2];if((k[i>>2]|0)!=0?(l[(k[k[h>>2]>>2]|0)+69>>0]|0)==0:0){if((k[k[i>>2]>>2]|0)>(k[(k[f>>2]|0)+92+8>>2]|0)){s=k[h>>2]|0;k[g>>2]=k[p>>2];Mh(s,30086,g);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}k[s>>2]=k[k[e>>2]>>2];k[q>>2]=0;k[n>>2]=k[(k[i>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(k[k[i>>2]>>2]|0)){e=13;break}if(j[(k[n>>2]|0)+16>>1]|0){f=k[h>>2]|0;if((m[(k[n>>2]|0)+16>>1]|0)>(k[k[s>>2]>>2]|0)){e=10;break}Wy(f,k[s>>2]|0,(m[(k[n>>2]|0)+16>>1]|0)-1|0,k[k[n>>2]>>2]|0,k[p>>2]|0,0)}k[q>>2]=(k[q>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}if((e|0)==10){Iy(f,k[p>>2]|0,(k[q>>2]|0)+1|0,k[k[s>>2]>>2]|0);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}else if((e|0)==13){k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}}k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}function Wy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=r;r=r+48|0;g=p+32|0;t=p+28|0;s=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;q=p+8|0;o=p+4|0;n=p;k[g>>2]=a;k[t>>2]=b;k[s>>2]=c;k[m>>2]=d;k[h>>2]=e;k[j>>2]=f;k[q>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[n>>2]=k[k[g>>2]>>2];e=Ky(k[n>>2]|0,k[q>>2]|0,0)|0;k[o>>2]=e;if(!(k[o>>2]|0)){r=p;return}if((i[k[h>>2]>>0]|0)!=71)Xy(k[o>>2]|0,k[j>>2]|0);if((l[k[m>>2]>>0]|0)==53){t=Yy(k[g>>2]|0,k[o>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[o>>2]=t}g=(k[o>>2]|0)+4|0;k[g>>2]=k[g>>2]|4194304;g=(k[m>>2]|0)+4|0;k[g>>2]=k[g>>2]|32768;qv(k[n>>2]|0,k[m>>2]|0);g=k[m>>2]|0;h=k[o>>2]|0;j=g+48|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((k[(k[m>>2]|0)+4>>2]&1024|0)==0?(k[(k[m>>2]|0)+8>>2]|0)!=0:0){t=zh(k[n>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[(k[m>>2]|0)+8>>2]=t;t=(k[m>>2]|0)+4|0;k[t>>2]=k[t>>2]|65536}bg(k[n>>2]|0,k[o>>2]|0);r=p;return}function Xy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+48|0;c=f+32|0;d=f+28|0;e=f;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<=0){r=f;return};k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=195;k[e+24>>2]=k[d>>2];yy(e,k[c>>2]|0)|0;r=f;return}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+16|0;f=d+12|0;h=d+8|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;Zy(e,k[h>>2]|0);c=rw(k[g>>2]|0,k[f>>2]|0,e,0)|0;r=d;return c|0}function Zy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];b=Tf(k[e>>2]|0)|0;k[(k[d>>2]|0)+4>>2]=b;r=c;return}function _y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=153){r=e;return 0}a=(k[d>>2]|0)+38|0;i[a>>0]=(l[a>>0]|0)+(k[(k[c>>2]|0)+24>>2]|0);r=e;return 0}function $y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g;c=g+16|0;h=g+12|0;e=g+8|0;d=g+4|0;k[c>>2]=a;k[h>>2]=b;k[e>>2]=0;k[d>>2]=k[(k[k[c>>2]>>2]|0)+92+12>>2];if((k[h>>2]|0)<=(k[d>>2]|0)){h=k[e>>2]|0;r=g;return h|0}h=k[c>>2]|0;k[f>>2]=k[d>>2];Mh(h,30117,f);k[e>>2]=1;h=k[e>>2]|0;r=g;return h|0}function az(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+176|0;W=X+40|0;V=X+24|0;C=X+8|0;B=X;H=X+164|0;I=X+160|0;g=X+156|0;J=X+152|0;K=X+148|0;M=X+144|0;N=X+140|0;p=X+136|0;s=X+132|0;O=X+128|0;n=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;o=X+76|0;E=X+72|0;u=X+68|0;q=X+64|0;D=X+60|0;y=X+56|0;G=X+52|0;R=X+48|0;k[I>>2]=a;k[g>>2]=b;k[J>>2]=c;k[K>>2]=d;k[M>>2]=e;k[N>>2]=f;k[O>>2]=0;k[n>>2]=0;k[t>>2]=0;k[P>>2]=k[k[I>>2]>>2];k[S>>2]=0;k[U>>2]=k[M>>2];k[T>>2]=0;k[Q>>2]=0;k[A>>2]=0;k[(k[N>>2]|0)+28>>2]=-1;k[(k[N>>2]|0)+44>>2]=0;a:do if(k[g>>2]|0){if(m[(k[M>>2]|0)+28>>1]&6){k[g>>2]=0;break}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[P>>2]|0)+20>>2]|0))break a;c=(sg(k[(k[(k[P>>2]|0)+16>>2]|0)+(k[p>>2]<<4)>>2]|0,k[g>>2]|0)|0)==0;f=k[p>>2]|0;if(c)break;k[p>>2]=f+1}k[T>>2]=k[(k[(k[P>>2]|0)+16>>2]|0)+(f<<4)+12>>2]}while(0);b:while(1){if(!((k[M>>2]|0)!=0?(k[O>>2]|0)==0:0)){F=89;break}k[z>>2]=k[(k[M>>2]|0)+4>>2];if(k[z>>2]|0){k[p>>2]=0;k[x>>2]=(k[z>>2]|0)+8;while(1){if((k[p>>2]|0)>=(k[k[z>>2]>>2]|0))break;k[A>>2]=k[(k[x>>2]|0)+16>>2];if((k[(k[x>>2]|0)+20>>2]|0)!=0?(k[(k[(k[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){k[o>>2]=0;k[w>>2]=k[k[(k[x>>2]|0)+20>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break;if(gz(k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+8>>2]|0,k[K>>2]|0,k[J>>2]|0,k[g>>2]|0)|0){k[O>>2]=(k[O>>2]|0)+1;k[n>>2]=2;k[S>>2]=k[x>>2];j[(k[N>>2]|0)+32>>1]=k[s>>2];k[o>>2]=1}k[s>>2]=(k[s>>2]|0)+1}if(!((k[o>>2]|0)!=0|(k[J>>2]|0)==0))F=21}else F=21;c:do if((F|0)==21){F=0;if((k[g>>2]|0)!=0?(k[(k[A>>2]|0)+64>>2]|0)!=(k[T>>2]|0):0)break;if(k[J>>2]|0){if(k[(k[x>>2]|0)+12>>2]|0)f=k[(k[x>>2]|0)+12>>2]|0;else f=k[k[A>>2]>>2]|0;k[E>>2]=f;if(sg(k[E>>2]|0,k[J>>2]|0)|0)break}c=k[n>>2]|0;k[n>>2]=c+1;if(!c)k[S>>2]=k[x>>2];k[s>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break c;if(!(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)){if((k[O>>2]|0)!=1)break;if((l[(k[x>>2]|0)+36>>0]&4|0)==0?(hz(k[(k[x>>2]|0)+52>>2]|0,k[K>>2]|0)|0)==0:0)break}k[s>>2]=(k[s>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+16}k[O>>2]=(k[O>>2]|0)+1;k[S>>2]=k[x>>2];if((k[s>>2]|0)==(j[(k[A>>2]|0)+32>>1]|0))f=-1;else f=(k[s>>2]&65535)<<16>>16;j[(k[N>>2]|0)+32>>1]=f}while(0);k[p>>2]=(k[p>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+72}if(k[S>>2]|0){k[(k[N>>2]|0)+28>>2]=k[(k[S>>2]|0)+44>>2];k[(k[N>>2]|0)+44>>2]=k[(k[S>>2]|0)+16>>2];if(l[(k[S>>2]|0)+36>>0]&8){c=(k[N>>2]|0)+4|0;k[c>>2]=k[c>>2]|1048576}k[T>>2]=k[(k[(k[N>>2]|0)+44>>2]|0)+64>>2]}}if((k[g>>2]|0)==0&(k[J>>2]|0)!=0&(k[n>>2]|0)==0?(k[(k[I>>2]|0)+420>>2]|0)!=0:0){k[u>>2]=l[(k[I>>2]|0)+440>>0];if((k[u>>2]|0)!=109?(sg(30536,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=1;k[A>>2]=k[(k[I>>2]|0)+420>>2]}else F=50;do if((F|0)==50){F=0;if((k[u>>2]|0)!=108?(sg(30540,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=0;k[A>>2]=k[(k[I>>2]|0)+420>>2];break}k[A>>2]=0}while(0);if(k[A>>2]|0){k[T>>2]=k[(k[A>>2]|0)+64>>2];k[n>>2]=(k[n>>2]|0)+1;k[q>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;c=(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)==0;h=k[q>>2]|0;if(c){F=58;break}k[q>>2]=h+1;k[v>>2]=(k[v>>2]|0)+16}if((F|0)==58?(F=0,(h|0)==(j[(k[A>>2]|0)+32>>1]|0)):0)k[q>>2]=-1;if(((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0)?(Ci(k[K>>2]|0)|0)!=0:0)?(l[(k[A>>2]|0)+42>>0]&64|0)==0:0)k[q>>2]=-1;if((k[q>>2]|0)<(j[(k[A>>2]|0)+34>>1]|0)){k[O>>2]=(k[O>>2]|0)+1;f=k[N>>2]|0;do if((k[q>>2]|0)>=0){e=(k[q>>2]|0)>=32?-1:1<>2];a=k[I>>2]|0;if(!(k[f+28>>2]|0)){c=a+432|0;k[c>>2]=k[c>>2]|e;break}else{c=a+436|0;k[c>>2]=k[c>>2]|e;break}}else i[f+1>>0]=68;while(0);j[(k[N>>2]|0)+32>>1]=k[q>>2];k[(k[N>>2]|0)+44>>2]=k[A>>2];k[Q>>2]=1}}}if((((k[O>>2]|0)==0&(k[n>>2]|0)==1&(k[S>>2]|0)!=0?(m[(k[M>>2]|0)+28>>1]&32|0)==0:0)?(Ci(k[K>>2]|0)|0)!=0:0)?(l[(k[(k[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){k[O>>2]=1;j[(k[N>>2]|0)+32>>1]=-1;i[(k[N>>2]|0)+1>>0]=68}c=k[(k[M>>2]|0)+8>>2]|0;k[w>>2]=c;d:do if((c|0)!=0&(k[J>>2]|0)==0&(k[O>>2]|0)==0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break d;k[D>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2];if((k[D>>2]|0)!=0?(sg(k[D>>2]|0,k[K>>2]|0)|0)==0:0){F=82;break b}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[O>>2]|0)continue;k[M>>2]=k[(k[M>>2]|0)+16>>2];k[t>>2]=(k[t>>2]|0)+1}if((F|0)==82){k[y>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((m[(k[M>>2]|0)+28>>1]&1|0)==0?(k[(k[y>>2]|0)+4>>2]&2|0)!=0:0){W=k[I>>2]|0;k[B>>2]=k[D>>2];Mh(W,30544,B);k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}Wy(k[I>>2]|0,k[w>>2]|0,k[s>>2]|0,k[N>>2]|0,19018,k[t>>2]|0);k[O>>2]=1;k[S>>2]=0}else if((F|0)==89){if((k[O>>2]|0)==0&(k[J>>2]|0)==0?(k[(k[N>>2]|0)+4>>2]&64|0)!=0:0){i[k[N>>2]>>0]=97;k[(k[N>>2]|0)+44>>2]=0;k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}if((k[O>>2]|0)!=1){k[G>>2]=(k[O>>2]|0)==0?30575:30590;do if(!(k[g>>2]|0)){e=k[I>>2]|0;f=k[G>>2]|0;if(k[J>>2]|0){J=k[J>>2]|0;W=k[K>>2]|0;k[V>>2]=f;k[V+4>>2]=J;k[V+8>>2]=W;Mh(e,30625,V);break}else{V=k[K>>2]|0;k[W>>2]=f;k[W+4>>2]=V;Mh(e,30635,W);break}}else{W=k[I>>2]|0;F=k[g>>2]|0;J=k[J>>2]|0;V=k[K>>2]|0;k[C>>2]=k[G>>2];k[C+4>>2]=F;k[C+8>>2]=J;k[C+12>>2]=V;Mh(W,30612,C)}while(0);i[(k[I>>2]|0)+17>>0]=1;W=(k[U>>2]|0)+24|0;k[W>>2]=(k[W>>2]|0)+1}if((k[S>>2]|0)!=0?(j[(k[N>>2]|0)+32>>1]|0)>=0:0){W=j[(k[N>>2]|0)+32>>1]|0;k[R>>2]=W;k[R>>2]=(k[R>>2]|0)>=64?63:W;R=LR(1,0,k[R>>2]|0)|0;W=(k[S>>2]|0)+56|0;S=W;V=k[S+4>>2]|L;k[W>>2]=k[S>>2]|R;k[W+4>>2]=V}qv(k[P>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+12>>2]=0;qv(k[P>>2]|0,k[(k[N>>2]|0)+16>>2]|0);k[(k[N>>2]|0)+16>>2]=0;i[k[N>>2]>>0]=(k[Q>>2]|0)!=0?88:152}if((k[O>>2]|0)!=1){k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}if(!(k[(k[N>>2]|0)+4>>2]&4194304))iz(k[I>>2]|0,k[N>>2]|0,k[T>>2]|0,k[(k[M>>2]|0)+4>>2]|0);while(1){W=(k[U>>2]|0)+20|0;k[W>>2]=(k[W>>2]|0)+1;if((k[U>>2]|0)==(k[M>>2]|0))break;k[U>>2]=k[(k[U>>2]|0)+16>>2]}k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}function bz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;h=j;e=j+24|0;f=j+20|0;g=j+16|0;l=j+12|0;i=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=d;if(!((m[(k[f>>2]|0)+28>>1]|0)&k[l>>2])){r=j;return}k[i>>2]=30452;if(!((m[(k[f>>2]|0)+28>>1]|0)&32)){if((m[(k[f>>2]|0)+28>>1]|0)&4)k[i>>2]=30498}else k[i>>2]=30480;l=k[e>>2]|0;c=k[i>>2]|0;k[h>>2]=k[g>>2];k[h+4>>2]=c;Mh(l,30516,h);r=j;return}function cz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=-1.0;if((l[k[c>>2]>>0]|0|0)!=133){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}a=k[(k[c>>2]|0)+8>>2]|0;fz(a,d,Tf(k[(k[c>>2]|0)+8>>2]|0)|0,1)|0;if(+p[d>>3]>1.0){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}else{k[b>>2]=~~(+p[d>>3]*134217728.0);d=k[b>>2]|0;r=e;return d|0}return 0}function dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+48|0;e=d+44|0;g=d+40|0;f=d+12|0;c=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=196;k[f+24>>2]=c;k[c>>2]=k[g>>2];k[c+4>>2]=0;k[c+8>>2]=0;xy(f,k[(k[e>>2]|0)+20>>2]|0)|0;r=d;return ((k[c+4>>2]|0)>0?1:(k[c+8>>2]|0)==0)&1|0}function ez(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=152?(l[k[d>>2]>>0]|0|0)!=154:0){r=i;return 0}k[e>>2]=k[(k[c>>2]|0)+24>>2];k[f>>2]=k[k[e>>2]>>2];if(k[f>>2]|0)c=k[k[f>>2]>>2]|0;else c=0;k[h>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;if((k[(k[d>>2]|0)+28>>2]|0)==(k[(k[f>>2]|0)+8+((k[g>>2]|0)*72|0)+44>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}c=k[e>>2]|0;if((k[g>>2]|0)<(k[h>>2]|0)){h=c+4|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}else{h=c+8|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}return 0}function fz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;E=F+76|0;v=F+72|0;w=F+68|0;e=F+64|0;h=F+80|0;o=F+60|0;D=F+56|0;t=F+52|0;s=F+16|0;n=F+48|0;y=F+44|0;q=F+40|0;x=F+36|0;C=F+8|0;z=F+32|0;A=F+28|0;j=F+24|0;u=F;k[v>>2]=a;k[w>>2]=b;k[e>>2]=c;i[h>>0]=d;k[D>>2]=(k[v>>2]|0)+(k[e>>2]|0);k[t>>2]=1;a=s;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=0;k[y>>2]=1;k[q>>2]=0;k[x>>2]=1;k[z>>2]=0;k[A>>2]=0;p[k[w>>2]>>3]=0.0;if((l[h>>0]|0)==1)k[o>>2]=1;else{k[o>>2]=2;k[j>>2]=3-(l[h>>0]|0);while(1){if((k[j>>2]|0)>=(k[e>>2]|0))break;if(i[(k[v>>2]|0)+(k[j>>2]|0)>>0]|0)break;k[j>>2]=(k[j>>2]|0)+2}k[A>>2]=(k[j>>2]|0)<(k[e>>2]|0)&1;k[D>>2]=(k[v>>2]|0)+(k[j>>2]^1);k[v>>2]=(k[v>>2]|0)+(l[h>>0]&1)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[19019+(l[k[v>>2]>>0]|0)>>0]&1))break;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0){k[E>>2]=0;E=k[E>>2]|0;r=F;return E|0}if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}else{k[t>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;a=s;b=k[a+4>>2]|0;if(!((l[19019+(l[k[v>>2]>>0]|0)>>0]&4|0)!=0&((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835)))break;a=s;a=RR(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=GR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[19019+(l[k[v>>2]>>0]|0)>>0]&4))break;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}a:do if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){b:do if((i[k[v>>2]>>0]|0)==46){k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break b;if(!(l[19019+(l[k[v>>2]>>0]|0)>>0]&4))break b;a=s;b=k[a+4>>2]|0;if((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835){a=s;a=RR(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=GR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[n>>2]=(k[n>>2]|0)+-1}k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}}while(0);if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){if(!((i[k[v>>2]>>0]|0)!=101?(i[k[v>>2]>>0]|0)!=69:0))m=34;c:do if((m|0)==34){k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=0;if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}else{k[y>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break c;if(!(l[19019+(l[k[v>>2]>>0]|0)>>0]&4))break c;if((k[q>>2]|0)<1e4)e=((k[q>>2]|0)*10|0)+((i[k[v>>2]>>0]|0)-48)|0;else e=1e4;k[q>>2]=e;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=1}}while(0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if(!(l[19019+(l[k[v>>2]>>0]|0)>>0]&1))break a;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}}}while(0);o=ha(k[q>>2]|0,k[y>>2]|0)|0;k[q>>2]=o+(k[n>>2]|0);if((k[q>>2]|0)<0){k[y>>2]=-1;o=ha(k[q>>2]|0,-1)|0;k[q>>2]=o}else k[y>>2]=1;o=s;do if(!((k[o>>2]|0)==0&(k[o+4>>2]|0)==0)){while(1){if((k[q>>2]|0)<=0)break;h=s;e=k[h>>2]|0;h=k[h+4>>2]|0;if((k[y>>2]|0)>0){if((h|0)>214748364|(h|0)==214748364&e>>>0>=3435973836)break;n=s;n=RR(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=s;k[o>>2]=n;k[o+4>>2]=L}else{o=QR(e|0,h|0,10,0)|0;if((o|0)!=0|(L|0)!=0)break;n=s;n=PR(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=s;k[o>>2]=n;k[o+4>>2]=L}k[q>>2]=(k[q>>2]|0)+-1}n=(k[t>>2]|0)<0;o=s;m=k[o>>2]|0;o=k[o+4>>2]|0;a=FR(0,0,m|0,o|0)|0;t=s;k[t>>2]=n?a:m;k[t+4>>2]=n?L:o;if(!(k[q>>2]|0)){y=s;p[C>>3]=+((k[y>>2]|0)>>>0)+4294967296.0*+(k[y+4>>2]|0);break}p[u>>3]=1.0;if((k[q>>2]|0)<=307){while(1){if(!((k[q>>2]|0)%22|0))break;p[u>>3]=+p[u>>3]*10.0;k[q>>2]=(k[q>>2]|0)-1}while(1){if((k[q>>2]|0)<=0)break;p[u>>3]=+p[u>>3]*1.0e22;k[q>>2]=(k[q>>2]|0)-22}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;break}else{p[C>>3]=g*f;break}}if((k[q>>2]|0)>=342){u=s;f=+((k[u>>2]|0)>>>0)+4294967296.0*+(k[u+4>>2]|0);if((k[y>>2]|0)<0){p[C>>3]=0.0*f;break}else{p[C>>3]=B*f;break}}while(1){if(!((k[q>>2]|0)%308|0))break;p[u>>3]=+p[u>>3]*10.0;k[q>>2]=(k[q>>2]|0)-1}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;p[C>>3]=+p[C>>3]/1.e+308;break}else{p[C>>3]=g*f;p[C>>3]=+p[C>>3]*1.e+308;break}}else p[C>>3]=(k[t>>2]|0)<0?-0.0:0.0;while(0);p[k[w>>2]>>3]=+p[C>>3];if(((k[z>>2]|0)>0?(k[v>>2]|0)==(k[D>>2]|0):0)&(k[x>>2]|0)!=0)e=(k[A>>2]|0)==0;else e=0;k[E>>2]=e&1;E=k[E>>2]|0;r=F;return E|0}function gz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[j>>2]|0){if((Jd(k[f>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0?(i[(k[j>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[h>>2]|0){if((Jd(k[f>>2]|0,k[h>>2]|0,k[l>>2]|0)|0)==0?(i[(k[h>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);if((k[g>>2]|0)!=0?(sg(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[d>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break a;if(!(sg(k[(k[k[d>>2]>>2]|0)+(k[f>>2]<<3)>>2]|0,k[e>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}while(0);k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function iz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;f=s+36|0;g=s+32|0;e=s+28|0;h=s+24|0;t=s+20|0;p=s+16|0;q=s+12|0;o=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[h>>2]=d;k[t>>2]=k[k[f>>2]>>2];k[p>>2]=0;if(!(k[(k[t>>2]|0)+296>>2]|0)){r=s;return}t=Nh(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[n>>2]=t;if((k[n>>2]|0)<0){r=s;return}a:do if((l[k[g>>2]>>0]|0)==88)k[p>>2]=k[(k[f>>2]|0)+420>>2];else{k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[h>>2]>>2]|0))break a;e=k[o>>2]|0;if((k[(k[g>>2]|0)+28>>2]|0)==(k[(k[h>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0))break;k[o>>2]=e+1}k[p>>2]=k[(k[h>>2]|0)+8+(e*72|0)+16>>2]}while(0);k[m>>2]=j[(k[g>>2]|0)+32>>1];if(!(k[p>>2]|0)){r=s;return}do if((k[m>>2]|0)<0)if((j[(k[p>>2]|0)+32>>1]|0)>=0){k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(j[(k[p>>2]|0)+32>>1]<<4)>>2];break}else{k[q>>2]=20511;break}else k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2];while(0);if(2!=(jz(k[f>>2]|0,k[k[p>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)){r=s;return}i[k[g>>2]>>0]=101;r=s;return}function jz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;m=o+16|0;l=o;e=o+48|0;f=o+44|0;g=o+40|0;h=o+36|0;i=o+32|0;n=o+28|0;j=o+24|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[n>>2]=k[(k[(k[i>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];b=ac[k[(k[i>>2]|0)+296>>2]&255](k[(k[i>>2]|0)+300>>2]|0,20,k[f>>2]|0,k[g>>2]|0,k[n>>2]|0,k[(k[e>>2]|0)+496>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=1){if(!((k[j>>2]|0)!=2&(k[j>>2]|0)!=0)){n=k[j>>2]|0;r=o;return n|0}hx(k[e>>2]|0);n=k[j>>2]|0;r=o;return n|0}d=k[e>>2]|0;if((k[h>>2]|0)!=0?1:(k[(k[i>>2]|0)+20>>2]|0)>2){i=k[f>>2]|0;m=k[g>>2]|0;k[l>>2]=k[n>>2];k[l+4>>2]=i;k[l+8>>2]=m;Mh(d,30642,l)}else{n=k[g>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=n;Mh(d,30675,m)}k[(k[e>>2]|0)+12>>2]=23;n=k[j>>2]|0;r=o;return n|0} -function ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;h=v+40|0;n=v+36|0;o=v+45|0;e=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;q=v+16|0;p=v+12|0;d=v+44|0;c=v+8|0;f=v+4|0;g=v;k[n>>2]=a;i[o>>0]=b;if((l[(k[n>>2]|0)+10>>0]|0|0)!=1?(l[o>>0]|0|0)!=1:0){t=kh(k[n>>2]|0)|0;k[c>>2]=t;if(k[c>>2]|0){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]&-2);while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break;i[d>>0]=i[k[s>>2]>>0]|0;i[k[s>>2]>>0]=i[(k[s>>2]|0)+1>>0]|0;k[s>>2]=(k[s>>2]|0)+1;q=i[d>>0]|0;t=k[s>>2]|0;k[s>>2]=t+1;i[t>>0]=q}i[(k[n>>2]|0)+10>>0]=i[o>>0]|0}else{b=(k[n>>2]|0)+12|0;a=k[b>>2]|0;if((l[o>>0]|0|0)==1){k[b>>2]=a&-2;k[e>>2]=(k[(k[n>>2]|0)+12>>2]<<1)+1}else k[e>>2]=(a<<1)+2;k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]|0);e=k[e>>2]|0;e=Kh(k[(k[n>>2]|0)+32>>2]|0,e,((e|0)<0)<<31>>31)|0;k[t>>2]=e;if(!(k[t>>2]|0)){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[q>>2]=k[t>>2];if((l[(k[n>>2]|0)+10>>0]|0|0)==1){a:do if((l[o>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[26179+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;f=(k[p>>2]|0)>>>8&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{g=(b>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=216+(((k[p>>2]|0)-65536|0)>>>18&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=k[p>>2]&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=220+((k[p>>2]|0)>>>8&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[26179+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b>>>8;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=216+((b-65536|0)>>>18&3);f=((k[p>>2]|0)>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=220+((k[p>>2]|0)>>>8&3)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0);u=k[q>>2]|0;k[q>>2]=u+1;i[u>>0]=0}else{b:do if((l[(k[n>>2]|0)+10>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(k[p>>2]|0)+((l[g>>0]|0)<<8);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=(k[f>>2]|0)+((l[g>>0]|0)<<8);k[p>>2]=(k[f>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=224+(b>>>12&15);g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(k[p>>2]|0)+(l[f>>0]|0);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(k[g>>2]|0)+(l[f>>0]|0);k[p>>2]=(k[g>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=224+(b>>>12&15);f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0)}i[k[q>>2]>>0]=0;k[p>>2]=m[(k[n>>2]|0)+8>>1];eh(k[n>>2]|0);j[(k[n>>2]|0)+8>>1]=514|k[p>>2]&32799;i[(k[n>>2]|0)+10>>0]=i[o>>0]|0;k[(k[n>>2]|0)+16>>2]=k[t>>2];k[(k[n>>2]|0)+20>>2]=k[(k[n>>2]|0)+16>>2];u=su(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+16>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=u}k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}function su(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[d>>2]|0)!=0?(tu(k[d>>2]|0,k[e>>2]|0)|0)!=0:0){k[c>>2]=m[(k[d>>2]|0)+256+4>>1];b=k[c>>2]|0;r=f;return b|0}b=bc[k[60>>2]&255](k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;r=e;return b|0}b=(k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+36>>2]|0)>>>0;b=b&1;r=e;return b|0}function uu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+24>>2];if(!(k[d>>2]|0)){r=e;return}f=k[d>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if(k[k[d>>2]>>2]|0){r=e;return}_b[k[(k[d>>2]|0)+4>>2]&255](k[(k[d>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function vu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[f>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2];a:do if(k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]|0){k[d>>2]=k[(k[f>>2]|0)+8+8>>2];while(1){if(!(k[d>>2]|0))break a;k[g>>2]=k[(k[d>>2]|0)+8>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16)Bu(k[b>>2]|0,k[g>>2]|0);k[d>>2]=k[k[d>>2]>>2]}}while(0);k[c>>2]=(k[c>>2]|0)+1}k[d>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[e>>2]|0)+16>>2]|0)Bu(k[b>>2]|0,k[(k[e>>2]|0)+16>>2]|0);k[d>>2]=k[k[d>>2]>>2]}Cu(k[b>>2]|0);r=h;return}function wu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;zu(k[c>>2]|0,68);r=b;return 0}function xu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(k[(k[b>>2]|0)+4>>2]|0){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0)){b=9;break}k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[d>>2]|0)!=0?(yu(k[d>>2]|0)|0)!=0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function yu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+16>>2]|0)!=0|0}function zu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+340>>2]|0)){r=j;return}k[e>>2]=k[(k[c>>2]|0)+340>>2];k[(k[c>>2]|0)+340>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[c>>2]|0)+316>>2]|0))break;k[h>>2]=k[(k[e>>2]|0)+(k[f>>2]<<2)>>2];k[g>>2]=k[(k[h>>2]|0)+8>>2];if((k[g>>2]|0)!=0?(k[i>>2]=k[(k[k[g>>2]>>2]|0)+(k[d>>2]|0)>>2],(k[i>>2]|0)!=0):0)bc[k[i>>2]&255](k[g>>2]|0)|0;k[(k[h>>2]|0)+20>>2]=0;Au(k[h>>2]|0);k[f>>2]=(k[f>>2]|0)+1}bg(k[c>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+316>>2]=0;r=j;return}function Au(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[b>>2]|0)+12>>2]|0){r=e;return}k[d>>2]=k[(k[b>>2]|0)+8>>2];if(k[d>>2]|0)bc[k[(k[k[d>>2]>>2]|0)+16>>2]&255](k[d>>2]|0)|0;bg(k[c>>2]|0,k[b>>2]|0);r=e;return}function Bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;h=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[h>>2]=b;k[e>>2]=(k[h>>2]|0)+56;while(1){if(!(k[k[e>>2]>>2]|0)){f=6;break}a=k[k[e>>2]>>2]|0;if((k[k[k[e>>2]>>2]>>2]|0)==(k[c>>2]|0))break;k[e>>2]=a+24}if((f|0)==6){r=g;return}k[d>>2]=a;k[k[e>>2]>>2]=k[(k[d>>2]|0)+24>>2];Au(k[d>>2]|0);r=g;return}function Cu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+344>>2];k[(k[b>>2]|0)+344>>2]=0;if(!(k[c>>2]|0)){r=e;return}_h(k[b>>2]|0);do{k[d>>2]=k[(k[c>>2]|0)+24>>2];Au(k[c>>2]|0);k[c>>2]=k[d>>2]}while((k[c>>2]|0)!=0);r=e;return}function Du(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[164>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function Eu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1616;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[418]=(k[53]|0)==0&1;if((k[418]|0)!=0&(k[55]|0)!=0&(k[53]|0)==0){k[419]=k[55];k[407]=10;k[417]=1;r=c;return 0}else{k[419]=0;k[407]=10;k[417]=1;r=c;return 0}return 0}function Fu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1616;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;m=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=60+((k[418]|0)*52|0);a=k[m>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[g>>2]=a;if(!(k[g>>2]|0)){m=k[g>>2]|0;r=j;return m|0}if(k[418]|0){k[h>>2]=(k[g>>2]|0)+60;k[(k[h>>2]|0)+12>>2]=10}else k[h>>2]=1616;if(!(l[(k[h>>2]|0)+20+14>>0]|0)){i[(k[h>>2]|0)+20+14>>0]=1;m=(k[h>>2]|0)+20|0;k[(k[h>>2]|0)+20+24>>2]=m;k[(k[h>>2]|0)+20+28>>2]=m}k[k[g>>2]>>2]=k[h>>2];k[(k[g>>2]|0)+4>>2]=k[d>>2];k[(k[g>>2]|0)+8>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(k[d>>2]|0)+(k[e>>2]|0)+32;k[(k[g>>2]|0)+16>>2]=(k[f>>2]|0)!=0?1:0;Xu(k[g>>2]|0);if(k[f>>2]|0){k[(k[g>>2]|0)+20>>2]=10;m=(k[h>>2]|0)+8|0;k[m>>2]=(k[m>>2]|0)+(k[(k[g>>2]|0)+20>>2]|0);k[(k[h>>2]|0)+12>>2]=(k[(k[h>>2]|0)+4>>2]|0)+10-(k[(k[h>>2]|0)+8>>2]|0)}if(k[(k[g>>2]|0)+44>>2]|0){m=k[g>>2]|0;r=j;return m|0}Nu(k[g>>2]|0);k[g>>2]=0;m=k[g>>2]|0;r=j;return m|0}function Hu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];if(!(k[(k[d>>2]|0)+16>>2]|0)){r=f;return}k[e>>2]=k[k[d>>2]>>2];g=(k[e>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+((k[c>>2]|0)-(k[(k[d>>2]|0)+24>>2]|0));k[(k[e>>2]|0)+12>>2]=(k[(k[e>>2]|0)+4>>2]|0)+10-(k[(k[e>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+24>>2]=k[c>>2];k[(k[d>>2]|0)+28>>2]=(((k[(k[d>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Pu(k[d>>2]|0);r=f;return}function Iu(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=k[(k[d>>2]|0)+40>>2];r=c;return k[b>>2]|0}function Ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;a=Uu(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return a|0}function Ku(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;m=h+24|0;l=h+20|0;j=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[d>>2]=k[m>>2];k[f>>2]=k[l>>2];k[e>>2]=k[k[d>>2]>>2];if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+16>>2]|0)>>>0<=(k[(k[e>>2]|0)+4>>2]|0)>>>0:0){k[g>>2]=(k[e>>2]|0)+20+24;k[(k[f>>2]|0)+28>>2]=(k[e>>2]|0)+20;l=k[f>>2]|0;m=k[k[g>>2]>>2]|0;k[(k[f>>2]|0)+24>>2]=m;k[m+28>>2]=l;k[k[g>>2]>>2]=k[f>>2];m=(k[d>>2]|0)+36|0;k[m>>2]=(k[m>>2]|0)+1;i[(k[f>>2]|0)+12>>0]=0;r=h;return}Ru(k[f>>2]|0,1);r=h;return}function Lu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;n=j+28|0;m=j+24|0;l=j+20|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[e>>2]=d;k[g>>2]=k[n>>2];k[h>>2]=k[m>>2];k[f>>2]=((k[l>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[i>>2]=(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2);while(1){if((k[k[i>>2]>>2]|0)==(k[h>>2]|0))break;k[i>>2]=(k[k[i>>2]>>2]|0)+16}k[k[i>>2]>>2]=k[(k[h>>2]|0)+16>>2];k[f>>2]=((k[e>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[(k[h>>2]|0)+8>>2]=k[e>>2];k[(k[h>>2]|0)+16>>2]=k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2];k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]=k[h>>2];if((k[e>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0){r=j;return}k[(k[g>>2]|0)+32>>2]=k[e>>2];r=j;return}function Mu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];if((k[c>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){r=e;return}Tu(k[d>>2]|0,k[c>>2]|0);k[(k[d>>2]|0)+32>>2]=(k[c>>2]|0)-1;r=e;return}function Nu(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;c=b+4|0;d=b;k[e>>2]=a;k[c>>2]=k[e>>2];k[d>>2]=k[k[c>>2]>>2];Tu(k[c>>2]|0,0);a=(k[d>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)-(k[(k[c>>2]|0)+24>>2]|0);a=(k[d>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)-(k[(k[c>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+12>>2]=(k[(k[d>>2]|0)+4>>2]|0)+10-(k[(k[d>>2]|0)+8>>2]|0);Pu(k[c>>2]|0);Ud(k[(k[c>>2]|0)+56>>2]|0);Ud(k[(k[c>>2]|0)+48>>2]|0);Ud(k[c>>2]|0);r=b;return}function Ou(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];if(!(k[(k[b>>2]|0)+16>>2]|0)){r=e;return}k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=0;Pu(k[b>>2]|0);k[(k[c>>2]|0)+4>>2]=k[d>>2];r=e;return}function Pu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];while(1){if((k[(k[d>>2]|0)+16>>2]|0)>>>0<=(k[(k[d>>2]|0)+4>>2]|0)>>>0)break;a=k[(k[d>>2]|0)+20+28>>2]|0;k[c>>2]=a;if(l[a+14>>0]|0)break;Qu(k[c>>2]|0)|0;Ru(k[c>>2]|0,1)}if(k[(k[b>>2]|0)+40>>2]|0){r=e;return}if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}Ud(k[(k[b>>2]|0)+56>>2]|0);k[(k[b>>2]|0)+52>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=e;return}function Qu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+20>>2];k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;i[(k[b>>2]|0)+12>>0]=1;a=(k[d>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return k[b>>2]|0}function Ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+20>>2];k[h>>2]=((k[(k[c>>2]|0)+8>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2);while(1){b=(k[k[f>>2]>>2]|0)+16|0;if((k[k[f>>2]>>2]|0)==(k[c>>2]|0))break;k[f>>2]=b}k[k[f>>2]>>2]=k[b>>2];h=(k[e>>2]|0)+40|0;k[h>>2]=(k[h>>2]|0)+-1;if(!(k[d>>2]|0)){r=g;return}Su(k[c>>2]|0);r=g;return}function Su(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+20>>2];if(i[(k[b>>2]|0)+13>>0]|0){k[(k[b>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[b>>2]}else jj(k[k[b>>2]>>2]|0);if(!(k[(k[c>>2]|0)+16>>2]|0)){r=d;return}c=(k[k[c>>2]>>2]|0)+16|0;k[c>>2]=(k[c>>2]|0)+-1;r=d;return}function Tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2);while(1){a=k[k[g>>2]>>2]|0;k[f>>2]=a;if(!a)break;if((k[(k[f>>2]|0)+8>>2]|0)>>>0<(k[d>>2]|0)>>>0){k[g>>2]=(k[f>>2]|0)+16;continue}a=(k[c>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+-1;k[k[g>>2]>>2]=k[(k[f>>2]|0)+16>>2];if(!(i[(k[f>>2]|0)+12>>0]|0))Qu(k[f>>2]|0)|0;Su(k[f>>2]|0)}k[e>>2]=(k[e>>2]|0)+1}r=h;return}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;g=j+20|0;l=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[l>>2];k[h>>2]=0;k[h>>2]=k[(k[(k[f>>2]|0)+48>>2]|0)+((((k[d>>2]|0)>>>0)%((k[(k[f>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(k[h>>2]|0)b=(k[(k[h>>2]|0)+8>>2]|0)!=(k[d>>2]|0);else b=0;c=k[h>>2]|0;if(!b)break;k[h>>2]=k[c+16>>2]}if(c){c=k[h>>2]|0;if(i[(k[h>>2]|0)+12>>0]|0){k[g>>2]=c;l=k[g>>2]|0;r=j;return l|0}else{l=Qu(c)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}}else if(k[e>>2]|0){l=Vu(k[f>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}else{k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}return 0}function Vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[j>>2]=(k[(k[e>>2]|0)+40>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);do if((k[g>>2]|0)==1){if((k[j>>2]|0)>>>0<(k[(k[l>>2]|0)+12>>2]|0)>>>0?(k[j>>2]|0)>>>0<(k[(k[e>>2]|0)+28>>2]|0)>>>0:0){if(!(Wu(k[e>>2]|0)|0))break;if((k[(k[e>>2]|0)+36>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((k[(k[e>>2]|0)+40>>2]|0)>>>0>=(k[(k[e>>2]|0)+44>>2]|0)>>>0)Xu(k[e>>2]|0);do if((k[(k[e>>2]|0)+16>>2]|0)!=0?(i[(k[(k[l>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((k[(k[e>>2]|0)+40>>2]|0)+1|0)>>>0<(k[(k[e>>2]|0)+24>>2]|0)>>>0?(Wu(k[e>>2]|0)|0)==0:0)break;k[n>>2]=k[(k[l>>2]|0)+20+28>>2];Ru(k[n>>2]|0,0);Qu(k[n>>2]|0)|0;k[m>>2]=k[(k[n>>2]|0)+20>>2];if((k[(k[m>>2]|0)+12>>2]|0)!=(k[(k[e>>2]|0)+12>>2]|0)){Su(k[n>>2]|0);k[n>>2]=0;break}else{l=(k[l>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)-((k[(k[m>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+16>>2]|0));break}}while(0);if(!(k[n>>2]|0)){m=Yu(k[e>>2]|0,(k[g>>2]|0)==1&1)|0;k[n>>2]=m}if((k[n>>2]|0)!=0?(k[h>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0,m=(k[e>>2]|0)+40|0,k[m>>2]=(k[m>>2]|0)+1,k[(k[n>>2]|0)+8>>2]=k[f>>2],k[(k[n>>2]|0)+16>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2],k[(k[n>>2]|0)+20>>2]=k[e>>2],k[(k[n>>2]|0)+28>>2]=0,k[(k[n>>2]|0)+24>>2]=0,i[(k[n>>2]|0)+12>>0]=1,k[k[(k[n>>2]|0)+4>>2]>>2]=0,k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2]=k[n>>2],(k[f>>2]|0)>>>0>(k[(k[e>>2]|0)+32>>2]|0)>>>0):0)k[(k[e>>2]|0)+32>>2]=k[f>>2];k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Wu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[421]|0)!=0?((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+8>>2]|0)|0)<=(k[420]|0):0){k[b>>2]=k[428];d=k[b>>2]|0;r=c;return d|0}d=_u()|0;k[b>>2]=d;d=k[b>>2]|0;r=c;return d|0}function Xu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;f=i+16|0;e=i+12|0;h=i+8|0;g=i+4|0;d=i;k[b>>2]=a;a=k[(k[b>>2]|0)+44>>2]<<1;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<256?256:a;if(k[(k[b>>2]|0)+44>>2]|0)ek();a=ug(k[f>>2]<<2,0)|0;k[c>>2]=a;if(k[(k[b>>2]|0)+44>>2]|0)fk();if(!(k[c>>2]|0)){r=i;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[b>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=k[(k[(k[b>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2];while(1){a=k[g>>2]|0;k[h>>2]=a;if(!a)break;k[d>>2]=((k[(k[h>>2]|0)+8>>2]|0)>>>0)%((k[f>>2]|0)>>>0)|0;k[g>>2]=k[(k[h>>2]|0)+16>>2];k[(k[h>>2]|0)+16>>2]=k[(k[c>>2]|0)+(k[d>>2]<<2)>>2];k[(k[c>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2]}k[e>>2]=(k[e>>2]|0)+1}Ud(k[(k[b>>2]|0)+48>>2]|0);k[(k[b>>2]|0)+48>>2]=k[c>>2];k[(k[b>>2]|0)+44>>2]=k[f>>2];r=i;return}function Yu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(k[(k[d>>2]|0)+52>>2]|0)h=4;else{if((k[(k[d>>2]|0)+40>>2]|0)==0?(Zu(k[d>>2]|0)|0)!=0:0){h=4;break}if(k[e>>2]|0)ek();a=rj(k[(k[d>>2]|0)+12>>2]|0)|0;k[g>>2]=a;k[f>>2]=(k[g>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);if(k[e>>2]|0)fk();if(k[g>>2]|0){k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=0;i[(k[f>>2]|0)+14>>0]=0;break}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);if((h|0)==4){k[f>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[f>>2]|0)+16>>2];k[(k[f>>2]|0)+16>>2]=0}if(k[(k[d>>2]|0)+16>>2]|0){h=(k[k[d>>2]>>2]|0)+16|0;k[h>>2]=(k[h>>2]|0)+1}k[c>>2]=k[f>>2];h=k[c>>2]|0;r=j;return h|0}function Zu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;g=j;h=j+20|0;e=j+16|0;d=j+12|0;f=j+8|0;k[c>>2]=a;if(!(k[419]|0)){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}if((k[(k[c>>2]|0)+24>>2]|0)>>>0<3){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}ek();if((k[419]|0)>0){a=k[(k[c>>2]|0)+12>>2]|0;l=k[419]|0;l=RR(a|0,((a|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;a=g;k[a>>2]=l;k[a+4>>2]=L}else{a=k[419]|0;a=RR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;l=g;k[l>>2]=a;k[l+4>>2]=L}n=g;a=k[n>>2]|0;n=k[n+4>>2]|0;l=k[(k[c>>2]|0)+12>>2]|0;l=RR(l|0,((l|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;m=L;if((n|0)>(m|0)|(n|0)==(m|0)&a>>>0>l>>>0){m=ha(k[(k[c>>2]|0)+12>>2]|0,k[(k[c>>2]|0)+24>>2]|0)|0;n=g;k[n>>2]=m;k[n+4>>2]=0}n=g;n=jg(k[n>>2]|0,k[n+4>>2]|0)|0;k[(k[c>>2]|0)+56>>2]=n;k[h>>2]=n;fk();a:do if(k[h>>2]|0){n=kg(k[h>>2]|0)|0;k[e>>2]=(n|0)/(k[(k[c>>2]|0)+12>>2]|0)|0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break a;k[f>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+4>>2]|0);k[k[f>>2]>>2]=k[h>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=1;i[(k[f>>2]|0)+14>>0]=0;k[(k[f>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[f>>2];k[h>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=(k[(k[c>>2]|0)+52>>2]|0)!=0&1;n=k[b>>2]|0;r=j;return n|0}function _u(){return k[77]|0}function $u(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+8|0;b=d+4|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)+7&-8;a=yR((k[e>>2]|0)+8|0)|0;k[b>>2]=a;a=k[e>>2]|0;if(k[b>>2]|0){e=k[b>>2]|0;k[e>>2]=a;k[e+4>>2]=((a|0)<0)<<31>>31;k[b>>2]=(k[b>>2]|0)+8;e=k[b>>2]|0;r=d;return e|0}else{k[c>>2]=a;$d(7,27015,c);e=k[b>>2]|0;r=d;return e|0}return 0}function av(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[c>>2]=(k[c>>2]|0)+-8;zR(k[c>>2]|0);r=b;return}function bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[c>>2];k[e>>2]=(k[e>>2]|0)+-8;a=BR(k[e>>2]|0,(k[d>>2]|0)+8|0)|0;k[e>>2]=a;if(k[e>>2]|0){a=k[d>>2]|0;f=k[e>>2]|0;k[f>>2]=a;k[f+4>>2]=((a|0)<0)<<31>>31;k[e>>2]=(k[e>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}else{b=cv(k[c>>2]|0)|0;a=k[d>>2]|0;k[f>>2]=b;k[f+4>>2]=a;$d(7,26979,f);f=k[e>>2]|0;r=g;return f|0}return 0}function cv(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];k[b>>2]=(k[b>>2]|0)+-8;r=c;return k[k[b>>2]>>2]|0}function dv(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+7&-8|0}function ev(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function fv(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function gv(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=gc[k[d>>2]&255](1608,0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){d=k[b>>2]|0;r=c;return d|0}k[k[b>>2]>>2]=-1;d=k[b>>2]|0;r=c;return d|0}function hv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;f=n+8|0;c=n+4|0;d=n;k[j>>2]=a;k[e>>2]=b;a:do switch(l[39775+(l[k[j>>2]>>0]|0)>>0]|0){case 7:{k[h>>2]=1;while(1){if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 11:{if((l[(k[j>>2]|0)+1>>0]|0)!=45){k[k[e>>2]>>2]=48;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}k[h>>2]=2;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!((g|0)!=0?(k[f>>2]|0)!=10:0))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 17:{k[k[e>>2]>>2]=22;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 18:{k[k[e>>2]>>2]=23;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 19:{k[k[e>>2]>>2]=1;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 20:{k[k[e>>2]>>2]=47;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 21:{k[k[e>>2]>>2]=49;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 16:{if((l[(k[j>>2]|0)+1>>0]|0)==42?(l[(k[j>>2]|0)+2>>0]|0)!=0:0){k[h>>2]=3;k[f>>2]=l[(k[j>>2]|0)+2>>0];while(1){if((k[f>>2]|0)==42?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==47:0)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}if(k[f>>2]|0)k[h>>2]=(k[h>>2]|0)+1;k[k[e>>2]>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}k[k[e>>2]>>2]=50;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 22:{k[k[e>>2]>>2]=51;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 14:{k[k[e>>2]>>2]=37;k[m>>2]=1+((l[(k[j>>2]|0)+1>>0]|0)==61&1);m=k[m>>2]|0;r=n;return m|0}case 12:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=39;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}if((k[f>>2]|0)==62){k[k[e>>2]>>2]=36;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==60){k[c>>2]=45;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=40;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 13:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=41;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==62){k[c>>2]=46;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=38;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 15:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=61){k[c>>2]=161;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=36;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 10:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=124){k[c>>2]=44;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=52;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 23:{k[k[e>>2]>>2]=26;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 24:{k[k[e>>2]>>2]=43;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 25:{k[k[e>>2]>>2]=54;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 8:{k[c>>2]=l[k[j>>2]>>0];k[h>>2]=1;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)==(k[c>>2]|0)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=(k[c>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)==39){k[k[e>>2]>>2]=97;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if(k[f>>2]|0){k[c>>2]=55;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=161;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}}case 26:{if(l[19019+(l[(k[j>>2]|0)+1>>0]|0)>>0]&4)g=64;else{k[k[e>>2]>>2]=122;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}break}case 3:{g=64;break}case 9:{k[h>>2]=1;k[f>>2]=l[k[j>>2]>>0];while(1){if((k[f>>2]|0)==93)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=(k[f>>2]|0)==93?55:161;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 6:{k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){c=k[h>>2]|0;if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}case 5:case 4:{k[d>>2]=0;k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){a=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=a;if(!a)break;if(l[19019+(k[f>>2]&255)>>0]&70)k[d>>2]=(k[d>>2]|0)+1;else{if((k[f>>2]|0)==40&(k[d>>2]|0)>0){g=107;break}if((k[f>>2]|0)!=58)break;if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=58)break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}do if((g|0)==107){while(1){k[h>>2]=(k[h>>2]|0)+1;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)!=41?(l[19019+(k[f>>2]&255)>>0]&1|0)==0:0)g=107;else break}if((k[f>>2]|0)==41){k[h>>2]=(k[h>>2]|0)+1;break}else{k[k[e>>2]>>2]=161;break}}while(0);if(!(k[d>>2]|0))k[k[e>>2]>>2]=161;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 1:{k[h>>2]=1;while(1){c=k[h>>2]|0;if((l[39775+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]|0)>1)break;k[h>>2]=c+1}if(l[19019+(l[(k[j>>2]|0)+c>>0]|0)>>0]&70){k[h>>2]=(k[h>>2]|0)+1;break a}k[k[e>>2]>>2]=55;j=$i(k[j>>2]|0,k[h>>2]|0,k[e>>2]|0)|0;k[m>>2]=j;m=k[m>>2]|0;r=n;return m|0}case 0:{if((l[(k[j>>2]|0)+1>>0]|0)==39){k[k[e>>2]>>2]=134;k[h>>2]=2;while(1){c=k[h>>2]|0;if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}if(!((l[(k[j>>2]|0)+c>>0]|0)==39?((k[h>>2]|0)%2|0|0)==0:0))g=131;b:do if((g|0)==131){k[k[e>>2]>>2]=161;while(1){if(!(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0))break b;if((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==39)break b;k[h>>2]=(k[h>>2]|0)+1}}while(0);if(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else g=138;break}case 2:{g=138;break}default:{k[k[e>>2]>>2]=161;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}while(0);if((g|0)==64){k[k[e>>2]>>2]=132;do if((l[k[j>>2]>>0]|0)==48){if((l[(k[j>>2]|0)+1>>0]|0)!=120?(l[(k[j>>2]|0)+1>>0]|0)!=88:0)break;if(l[19019+(l[(k[j>>2]|0)+2>>0]|0)>>0]&8){k[h>>2]=3;while(1){c=k[h>>2]|0;if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}}while(0);k[h>>2]=0;while(1){c=k[h>>2]|0;if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}if((l[(k[j>>2]|0)+c>>0]|0)==46){k[h>>2]=(k[h>>2]|0)+1;while(1){if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=133}if(!((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=101?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=69:0))g=82;do if((g|0)==82){if(!(l[19019+(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)>>0]&4)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=43?(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=45:0)break;if(!(l[19019+(l[(k[j>>2]|0)+((k[h>>2]|0)+2)>>0]|0)>>0]&4))break}k[h>>2]=(k[h>>2]|0)+2;while(1){if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=133}while(0);while(1){if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[k[e>>2]>>2]=161;k[h>>2]=(k[h>>2]|0)+1}k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else if((g|0)==138)k[h>>2]=1;while(1){if(!(l[19019+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=55;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}function iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;h=n+32|0;o=n+28|0;f=n+24|0;e=n+20|0;l=n+8|0;g=n+4|0;m=n;k[o>>2]=a;k[f>>2]=b;k[e>>2]=d;k[m>>2]=k[o>>2];if((k[k[m>>2]>>2]|0)<0){k[k[m>>2]>>2]=0;j[(k[m>>2]|0)+8>>1]=0;i[(k[m>>2]|0)+8+2>>0]=0}k[(k[m>>2]|0)+4>>2]=k[e>>2];while(1){e=xv(k[m>>2]|0,k[f>>2]&255)|0;k[g>>2]=e;e=k[g>>2]|0;do if((k[g>>2]|0)>>>0>974)if(e>>>0<=1300){zv(k[m>>2]|0,(k[g>>2]|0)-975|0);break}else{k[l>>2]=k[c>>2];k[l+4>>2]=k[c+4>>2];a=k[m>>2]|0;o=k[f>>2]|0;k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];Av(a,o,h);vv(k[m>>2]|0,k[f>>2]&255,l);k[f>>2]=251;break}else{if(e>>>0>439)k[g>>2]=(k[g>>2]|0)+326;b=k[m>>2]|0;a=k[g>>2]|0;o=k[f>>2]|0;k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];yv(b,a,o,h);k[f>>2]=251}while(0);if((k[f>>2]|0)==251){e=13;break}if((k[k[m>>2]>>2]|0)<0){e=13;break}}if((e|0)==13){r=n;return}}function jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];while(1){if((k[k[d>>2]>>2]|0)<0)break;uv(k[d>>2]|0)}_b[k[c>>2]&255](k[d>>2]|0);r=e;return}function kv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];ag(k[c>>2]|0,k[b>>2]|0);a=k[(k[b>>2]|0)+52>>2]|0;if(k[(k[b>>2]|0)+48>>2]|0)k[(k[(k[b>>2]|0)+48>>2]|0)+52>>2]=a;else k[(k[c>>2]|0)+4>>2]=a;if(k[(k[b>>2]|0)+52>>2]|0)k[(k[(k[b>>2]|0)+52>>2]|0)+48>>2]=k[(k[b>>2]|0)+48>>2];k[(k[b>>2]|0)+40>>2]=-1241070648;k[k[b>>2]>>2]=0;bg(k[c>>2]|0,k[b>>2]|0);r=d;return}function lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=(k[d>>2]|0)+8+(k[e>>2]<<4);mv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);nv(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}tv(k[c>>2]|0,k[d>>2]|0);r=e;return}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}ov(k[c>>2]|0,k[d>>2]|0,1);r=e;return}function ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+48>>2];mv(k[d>>2]|0,k[k[e>>2]>>2]|0);pv(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);qv(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);mv(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0);qv(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0);mv(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0);qv(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0);qv(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0);if(k[(k[e>>2]|0)+64>>2]|0)lv(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0);if(k[f>>2]|0)bg(k[d>>2]|0,k[e>>2]|0);k[e>>2]=k[g>>2];k[f>>2]=1}r=h;return}function pv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=(k[d>>2]|0)+8;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;bg(a,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>1&1)bg(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>2&1)mv(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);$f(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0);nv(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0);qv(k[c>>2]|0,k[(k[f>>2]|0)+48>>2]|0);sv(k[c>>2]|0,k[(k[f>>2]|0)+52>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}bg(a,k[d>>2]|0);r=g;return}function qv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}rv(k[c>>2]|0,k[d>>2]|0);r=e;return}function rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;do if(!(k[(k[d>>2]|0)+4>>2]&16384)){qv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);qv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(k[(k[d>>2]|0)+4>>2]&65536)bg(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0);a=k[c>>2]|0;b=(k[d>>2]|0)+20|0;if(k[(k[d>>2]|0)+4>>2]&2048){nv(a,k[b>>2]|0);break}else{mv(a,k[b>>2]|0);break}}while(0);if(k[(k[d>>2]|0)+4>>2]&32768){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break;bg(a,k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(a,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;qv(a,k[k[f>>2]>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}bg(a,k[(k[d>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function uv(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+-1;k[c>>2]=(k[d>>2]|0)+8+(a<<4);vv(k[d>>2]|0,i[(k[c>>2]|0)+2>>0]|0,(k[c>>2]|0)+4|0);r=b;return}function vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+12|0;d=f+4|0;e=f;k[h>>2]=a;i[g>>0]=b;k[d>>2]=c;k[e>>2]=k[(k[h>>2]|0)+4>>2];do switch(l[g>>0]|0|0){case 206:case 195:case 194:case 163:{nv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 173:case 172:{qv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 225:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{mv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 212:case 211:case 200:case 193:{pv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 249:case 196:{lv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 240:case 235:case 226:case 224:case 215:case 203:case 201:{qv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 220:case 217:case 216:{sv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 236:case 231:{wv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 233:{sv(k[k[e>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=f;return}default:{r=f;return}}while(0)}function wv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+28>>2];qv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);mv(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);nv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);sv(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0);bg(k[c>>2]|0,k[e>>2]|0)}r=f;return}function xv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;o=r;r=r+32|0;c=o+16|0;p=o+12|0;d=o+21|0;e=o+8|0;h=o+4|0;f=o+20|0;g=o;k[p>>2]=a;i[d>>0]=b;k[h>>2]=m[(k[p>>2]|0)+8+(k[k[p>>2]>>2]<<4)>>1];if((k[h>>2]|0)>=975){k[c>>2]=k[h>>2];p=k[c>>2]|0;r=o;return p|0}while(1){k[e>>2]=j[15274+(k[h>>2]<<1)>>1];if((k[e>>2]|0)==-95){n=4;break}k[e>>2]=(k[e>>2]|0)+(l[d>>0]|0);if(!((k[e>>2]|0)<0|(k[e>>2]|0)>=1501)?(l[38178+(k[e>>2]|0)>>0]|0)==(l[d>>0]|0):0){n=15;break}if((l[d>>0]|0)<=0)break;if((l[d>>0]|0)>>>0>=96){n=11;break}p=i[39679+(l[d>>0]|0)>>0]|0;i[f>>0]=p;if(!(p&255)){n=11;break}i[d>>0]=i[f>>0]|0}if((n|0)==4){k[c>>2]=m[16154+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}else if((n|0)==11){k[g>>2]=(k[e>>2]|0)-(l[d>>0]|0)+96;if((k[g>>2]|0)<1501?(l[38178+(k[g>>2]|0)>>0]|0)==96:0){k[c>>2]=m[12268+(k[g>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}}else if((n|0)==15){k[c>>2]=m[12268+(k[e>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}k[c>>2]=m[16154+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}function yv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0;l=r;r=r+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=k[e>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>=100){Bv(c);r=l;return}else{k[h>>2]=(k[e>>2]|0)+8+(k[c>>2]<<4);j[k[h>>2]>>1]=k[f>>2];i[(k[h>>2]|0)+2>>0]=k[g>>2];h=(k[h>>2]|0)+4|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];r=l;return}}function zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=r;r=r+288|0;c=ba+272|0;P=ba+40|0;O=ba+32|0;R=ba+24|0;Q=ba+16|0;V=ba+8|0;N=ba;X=ba+264|0;Y=ba+260|0;_=ba+256|0;Z=ba+252|0;$=ba+248|0;aa=ba+244|0;W=ba+240|0;T=ba+228|0;L=ba+216|0;M=ba+204|0;e=ba+184|0;f=ba+180|0;z=ba+176|0;s=ba+172|0;o=ba+168|0;S=ba+160|0;A=ba+152|0;p=ba+148|0;g=ba+144|0;B=ba+140|0;q=ba+136|0;n=ba+132|0;w=ba+128|0;x=ba+124|0;E=ba+120|0;F=ba+116|0;H=ba+112|0;G=ba+108|0;I=ba+104|0;J=ba+100|0;K=ba+96|0;U=ba+88|0;t=ba+80|0;u=ba+76|0;v=ba+72|0;y=ba+68|0;D=ba+64|0;C=ba+60|0;h=ba+56|0;d=ba+48|0;k[X>>2]=a;k[Y>>2]=b;k[W>>2]=k[(k[X>>2]|0)+4>>2];k[$>>2]=(k[X>>2]|0)+8+(k[k[X>>2]>>2]<<4);if((l[27102+(k[Y>>2]<<1)+1>>0]|0)==0?(k[k[X>>2]>>2]|0)>=99:0){Bv(k[X>>2]|0);r=ba;return}a:do switch(k[Y>>2]|0){case 0:{i[(k[W>>2]|0)+453>>0]=1;break}case 1:{i[(k[W>>2]|0)+453>>0]=2;break}case 2:{Cv(k[W>>2]|0);break}case 3:{Dv(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 4:{k[(k[$>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{k[(k[$>>2]|0)+4>>2]=l[(k[$>>2]|0)+2>>0];break}case 9:case 8:{Ev(k[W>>2]|0);break}case 10:{Fv(k[W>>2]|0);break}case 11:{Gv(k[W>>2]|0,0,(k[$>>2]|0)+4|0);break}case 12:{Gv(k[W>>2]|0,1,(k[$>>2]|0)+4|0);break}case 13:{Gv(k[W>>2]|0,2,(k[$>>2]|0)+4|0);break}case 14:{Hv(k[W>>2]|0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0,k[(k[$>>2]|0)+-64+4>>2]|0,0,0,k[(k[$>>2]|0)+-32+4>>2]|0);break}case 15:{Iv(k[W>>2]|0);break}case 209:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 17:{k[(k[$>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{k[(k[$>>2]|0)+4>>2]=1;break}case 20:{Jv(k[W>>2]|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+-16+4|0,k[(k[$>>2]|0)+4>>2]&255,0);break}case 21:{Jv(k[W>>2]|0,0,0,0,k[(k[$>>2]|0)+4>>2]|0);nv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 23:{if((k[(k[$>>2]|0)+4+4>>2]|0)==5?(Jd(k[(k[$>>2]|0)+4>>2]|0,25361,5)|0)==0:0){k[(k[$>>2]|0)+-16+4>>2]=96;break a}k[(k[$>>2]|0)+-16+4>>2]=0;W=k[W>>2]|0;V=k[(k[$>>2]|0)+4>>2]|0;k[N>>2]=k[(k[$>>2]|0)+4+4>>2];k[N+4>>2]=V;Mh(W,27754,N);break}case 24:{Kv(k[W>>2]|0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0);break}case 96:case 60:case 25:{k[(k[$>>2]|0)+16+4+4>>2]=0;k[(k[$>>2]|0)+16+4>>2]=0;break}case 26:{k[(k[$>>2]|0)+-48+4+4>>2]=(k[(k[$>>2]|0)+4>>2]|0)+(k[(k[$>>2]|0)+4+4>>2]|0)-(k[(k[$>>2]|0)+-48+4>>2]|0);break}case 27:{k[(k[$>>2]|0)+-80+4+4>>2]=(k[(k[$>>2]|0)+4>>2]|0)+(k[(k[$>>2]|0)+4+4>>2]|0)-(k[(k[$>>2]|0)+-80+4>>2]|0);break}case 28:{k[(k[$>>2]|0)+-16+4+4>>2]=(k[(k[$>>2]|0)+4+4>>2]|0)+((k[(k[$>>2]|0)+4>>2]|0)-(k[(k[$>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{W=(k[W>>2]|0)+328|0;V=(k[$>>2]|0)+4|0;k[W>>2]=k[V>>2];k[W+4>>2]=k[V+4>>2];break}case 32:case 30:{Lv(k[W>>2]|0,(k[$>>2]|0)+4|0);break}case 31:{Lv(k[W>>2]|0,(k[$>>2]|0)+-16+4|0);break}case 33:{V=Mv(k[W>>2]|0,155,k[(k[$>>2]|0)+4>>2]|0,0,0)|0;k[L>>2]=V;k[L+4>>2]=k[(k[$>>2]|0)+-16+4>>2];k[L+8>>2]=k[(k[$>>2]|0)+4+8>>2];Lv(k[W>>2]|0,L);break}case 34:{V=k[W>>2]|0;U=(k[$>>2]|0)+4|0;k[c>>2]=k[U>>2];k[c+4>>2]=k[U+4>>2];Nv(M,V,97,c);Lv(k[W>>2]|0,M);break}case 35:{Ov(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 36:{Pv(k[W>>2]|0,0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0);break}case 37:{Qv(k[W>>2]|0,0,0,0,0,k[(k[$>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 38:{Rv(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 39:{Sv(k[W>>2]|0,0,(k[$>>2]|0)+-32+4|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 40:{Tv(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 41:{Uv(k[W>>2]|0,(k[$>>2]|0)+4|0);break}case 44:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 45:{k[(k[$>>2]|0)+-16+4>>2]=k[(k[$>>2]|0)+-16+4>>2]&~k[(k[$>>2]|0)+4+4>>2]|k[(k[$>>2]|0)+4>>2];break}case 46:{k[(k[$>>2]|0)+-16+4>>2]=0;k[(k[$>>2]|0)+-16+4+4>>2]=0;break}case 47:{k[(k[$>>2]|0)+-32+4>>2]=0;k[(k[$>>2]|0)+-32+4+4>>2]=0;break}case 48:{k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+4>>2];k[(k[$>>2]|0)+-32+4+4>>2]=255;break}case 49:{k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+4>>2]<<8;k[(k[$>>2]|0)+-32+4+4>>2]=65280;break}case 50:{k[(k[$>>2]|0)+-16+4>>2]=7;break}case 51:{k[(k[$>>2]|0)+-16+4>>2]=8;break}case 52:{k[(k[$>>2]|0)+4>>2]=9;break}case 53:{k[(k[$>>2]|0)+4>>2]=6;break}case 54:{k[(k[$>>2]|0)+-16+4>>2]=0;break}case 55:{k[(k[$>>2]|0)+-32+4>>2]=0;break}case 142:case 71:case 56:{k[(k[$>>2]|0)+-16+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 210:case 186:case 183:case 75:case 58:{k[(k[$>>2]|0)+-16+4>>2]=1;break}case 59:{k[(k[$>>2]|0)+-16+4>>2]=0;break}case 61:{k[(k[W>>2]|0)+328+4>>2]=0;break}case 63:{Pv(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,0);break}case 64:{Qv(k[W>>2]|0,0,0,0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 65:{Rv(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0);break}case 66:{Sv(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,(k[$>>2]|0)+-48+4|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);Tv(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 70:case 68:{k[(k[$>>2]|0)+16+4>>2]=10;break}case 69:{k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 72:{k[(k[$>>2]|0)+4>>2]=4;break}case 143:case 73:{k[(k[$>>2]|0)+4>>2]=5;break}case 74:{Vv(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0,0,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 77:{Wv(k[W>>2]|0,(k[$>>2]|0)+-128+4|0,(k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+-48+4|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-112+4>>2]|0,k[(k[$>>2]|0)+-80+4>>2]|0);break}case 78:{Vv(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0,1,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 79:{k[e>>2]=k[1274];k[e+4>>2]=k[1275];k[e+8>>2]=k[1276];k[e+12>>2]=k[1277];k[e+16>>2]=k[1278];Xv(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0,e)|0;nv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 80:{k[f>>2]=k[(k[$>>2]|0)+4>>2];if(k[f>>2]|0){k[(k[f>>2]|0)+64>>2]=k[(k[$>>2]|0)+-16+4>>2];Yv(k[W>>2]|0,k[f>>2]|0)}else lv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);k[(k[$>>2]|0)+-16+4>>2]=k[f>>2];break}case 81:{k[z>>2]=k[(k[$>>2]|0)+4>>2];k[s>>2]=k[(k[$>>2]|0)+-32+4>>2];if((k[z>>2]|0)!=0?(k[(k[z>>2]|0)+48>>2]|0)!=0:0){k[S+4>>2]=0;Yv(k[W>>2]|0,k[z>>2]|0);V=Zv(k[W>>2]|0,0,0,0,S,k[z>>2]|0,0,0)|0;k[o>>2]=V;V=_v(k[W>>2]|0,0,k[o>>2]|0,0,0,0,0,0,0,0)|0;k[z>>2]=V}if(k[z>>2]|0){i[(k[z>>2]|0)+4>>0]=k[(k[$>>2]|0)+-16+4>>2];k[(k[z>>2]|0)+48>>2]=k[s>>2];if(k[s>>2]|0){V=(k[s>>2]|0)+8|0;k[V>>2]=k[V>>2]&-1025}V=(k[z>>2]|0)+8|0;k[V>>2]=k[V>>2]&-1025;if((k[(k[$>>2]|0)+-16+4>>2]|0)!=116)i[(k[W>>2]|0)+22>>0]=1}else nv(k[k[W>>2]>>2]|0,k[s>>2]|0);k[(k[$>>2]|0)+-32+4>>2]=k[z>>2];break}case 84:case 82:{k[(k[$>>2]|0)+4>>2]=l[(k[$>>2]|0)+2>>0];break}case 83:{k[(k[$>>2]|0)+-16+4>>2]=116;break}case 85:{W=_v(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,k[(k[$>>2]|0)+-80+4>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+-112+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+4+4>>2]|0)|0;k[(k[$>>2]|0)+-128+4>>2]=W;break}case 86:{W=_v(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;k[(k[$>>2]|0)+-48+4>>2]=W;break}case 87:{k[p>>2]=k[(k[$>>2]|0)+-64+4>>2];W=_v(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;k[A>>2]=W;if(k[p>>2]|0){W=(k[p>>2]|0)+8|0;k[W>>2]=k[W>>2]&-1025}if(k[A>>2]|0){i[(k[A>>2]|0)+4>>0]=116;k[(k[A>>2]|0)+48>>2]=k[p>>2];k[(k[$>>2]|0)+-64+4>>2]=k[A>>2];break a}else{k[(k[$>>2]|0)+-64+4>>2]=k[p>>2];break a}}case 88:{k[(k[$>>2]|0)+4>>2]=1;break}case 89:{k[(k[$>>2]|0)+4>>2]=2;break}case 205:case 199:case 126:case 119:case 91:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 92:{V=$v(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0)|0;k[(k[$>>2]|0)+-32+4>>2]=V;if((k[(k[$>>2]|0)+4+4>>2]|0)>>>0>0)aw(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,(k[$>>2]|0)+4|0,1);bw(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,(k[$>>2]|0)+-16+4|0);break}case 93:{V=cw(k[k[W>>2]>>2]|0,158,0)|0;k[g>>2]=V;W=$v(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[g>>2]|0)|0;k[(k[$>>2]|0)+-16+4>>2]=W;break}case 94:{V=Mv(k[W>>2]|0,158,0,0,(k[$>>2]|0)+4|0)|0;k[B>>2]=V;V=Mv(k[W>>2]|0,55,0,0,(k[$>>2]|0)+-32+4|0)|0;k[q>>2]=V;V=Mv(k[W>>2]|0,122,k[q>>2]|0,k[B>>2]|0,0)|0;k[n>>2]=V;W=$v(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,k[n>>2]|0)|0;k[(k[$>>2]|0)+-48+4>>2]=W;break}case 220:case 219:case 106:case 95:{W=(k[$>>2]|0)+-16+4|0;V=(k[$>>2]|0)+4|0;k[W>>2]=k[V>>2];k[W+4>>2]=k[V+4>>2];break}case 97:{W=Bh(k[k[W>>2]>>2]|0,80,0)|0;k[(k[$>>2]|0)+16+4>>2]=W;break}case 98:{k[(k[$>>2]|0)+-16+4>>2]=k[(k[$>>2]|0)+4>>2];dw(k[(k[$>>2]|0)+-16+4>>2]|0);break}case 99:{if((k[(k[$>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[$>>2]|0)+-16+4>>2]>>2]|0)>0:0)i[(k[(k[$>>2]|0)+-16+4>>2]|0)+8+(((k[k[(k[$>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=k[(k[$>>2]|0)+4>>2];break}case 100:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 101:{V=Zv(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,(k[$>>2]|0)+-80+4|0,(k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+-48+4|0,0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-96+4>>2]=V;ew(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,(k[$>>2]|0)+-32+4|0);break}case 102:{V=Zv(k[W>>2]|0,k[(k[$>>2]|0)+-128+4>>2]|0,(k[$>>2]|0)+-112+4|0,(k[$>>2]|0)+-96+4|0,(k[$>>2]|0)+-32+4|0,0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-128+4>>2]=V;fw(k[W>>2]|0,k[(k[$>>2]|0)+-128+4>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0);break}case 103:{W=Zv(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,0,0,(k[$>>2]|0)+-32+4|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-96+4>>2]=W;break}case 104:{if((((k[(k[$>>2]|0)+-96+4>>2]|0)==0?(k[(k[$>>2]|0)+-32+4+4>>2]|0)==0:0)?(k[(k[$>>2]|0)+-16+4>>2]|0)==0:0)?(k[(k[$>>2]|0)+4>>2]|0)==0:0){k[(k[$>>2]|0)+-96+4>>2]=k[(k[$>>2]|0)+-64+4>>2];break a}if((k[k[(k[$>>2]|0)+-64+4>>2]>>2]|0)!=1){dw(k[(k[$>>2]|0)+-64+4>>2]|0);V=_v(k[W>>2]|0,0,k[(k[$>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;k[E>>2]=V;W=Zv(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,0,0,(k[$>>2]|0)+-32+4|0,k[E>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-96+4>>2]=W;break a}V=Zv(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,0,0,(k[$>>2]|0)+-32+4|0,0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-96+4>>2]=V;if(k[(k[$>>2]|0)+-96+4>>2]|0){k[w>>2]=(k[(k[$>>2]|0)+-96+4>>2]|0)+8+(((k[k[(k[$>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);k[x>>2]=(k[(k[$>>2]|0)+-64+4>>2]|0)+8;k[(k[w>>2]|0)+8>>2]=k[(k[x>>2]|0)+8>>2];k[(k[w>>2]|0)+4>>2]=k[(k[x>>2]|0)+4>>2];k[(k[w>>2]|0)+20>>2]=k[(k[x>>2]|0)+20>>2];k[(k[x>>2]|0)+4>>2]=0;k[(k[x>>2]|0)+8>>2]=0;k[(k[x>>2]|0)+20>>2]=0}pv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{k[(k[$>>2]|0)+16+4>>2]=0;k[(k[$>>2]|0)+16+4+4>>2]=0;break}case 107:{W=gw(k[k[W>>2]>>2]|0,0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0)|0;k[(k[$>>2]|0)+-16+4>>2]=W;break}case 108:{k[(k[$>>2]|0)+4>>2]=1;break}case 109:{W=hw(k[W>>2]|0,(k[$>>2]|0)+-16+4|0,0,0)|0;k[(k[$>>2]|0)+-16+4>>2]=W;break}case 110:{W=hw(k[W>>2]|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+-16+4|0,0)|0;k[(k[$>>2]|0)+-32+4>>2]=W;break}case 111:{W=hw(k[W>>2]|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+-16+4|0)|0;k[(k[$>>2]|0)+-48+4>>2]=W;break}case 195:case 136:case 129:case 112:{k[(k[$>>2]|0)+-16+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 198:case 196:case 135:case 128:case 113:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 115:{W=(k[$>>2]|0)+-32+4|0;V=(k[$>>2]|0)+4|0;k[W>>2]=k[V>>2];k[W+4>>2]=k[V+4>>2];break}case 116:{k[(k[$>>2]|0)+-16+4>>2]=0;k[(k[$>>2]|0)+-16+4+4>>2]=1;break}case 117:{k[(k[$>>2]|0)+-48+4>>2]=k[(k[$>>2]|0)+-16+4>>2];break}case 144:case 118:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 127:case 120:{k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 121:{W=$v(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0)|0;k[(k[$>>2]|0)+-48+4>>2]=W;iw(k[(k[$>>2]|0)+-48+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 122:{W=$v(k[W>>2]|0,0,k[(k[$>>2]|0)+-16+4>>2]|0)|0;k[(k[$>>2]|0)+-16+4>>2]=W;iw(k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 123:{k[(k[$>>2]|0)+4>>2]=0;break}case 124:{k[(k[$>>2]|0)+4>>2]=1;break}case 125:{k[(k[$>>2]|0)+16+4>>2]=-1;break}case 130:{k[(k[$>>2]|0)+16+4>>2]=0;k[(k[$>>2]|0)+16+4+4>>2]=0;break}case 131:{k[(k[$>>2]|0)+-16+4>>2]=k[(k[$>>2]|0)+4>>2];k[(k[$>>2]|0)+-16+4+4>>2]=0;break}case 132:{k[(k[$>>2]|0)+-48+4>>2]=k[(k[$>>2]|0)+-32+4>>2];k[(k[$>>2]|0)+-48+4+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 133:{k[(k[$>>2]|0)+-48+4+4>>2]=k[(k[$>>2]|0)+-32+4>>2];k[(k[$>>2]|0)+-48+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 134:{jw(k[W>>2]|0,k[(k[$>>2]|0)+-80+4>>2]|0,1);ew(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,(k[$>>2]|0)+-16+4|0);kw(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 137:{jw(k[W>>2]|0,k[(k[$>>2]|0)+-112+4>>2]|0,1);ew(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,(k[$>>2]|0)+-48+4|0);lw(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,27781);mw(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-80+4>>2]|0);break}case 138:{V=$v(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-64+4>>2]=V;aw(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,(k[$>>2]|0)+-32+4|0,1);break}case 139:{V=$v(k[W>>2]|0,0,k[(k[$>>2]|0)+4>>2]|0)|0;k[T>>2]=V;aw(k[W>>2]|0,k[T>>2]|0,(k[$>>2]|0)+-32+4|0,1);k[(k[$>>2]|0)+-32+4>>2]=k[T>>2];break}case 140:{jw(k[W>>2]|0,k[(k[$>>2]|0)+-80+4>>2]|0,1);nw(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0);break}case 141:{jw(k[W>>2]|0,k[(k[$>>2]|0)+-96+4>>2]|0,1);nw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+-80+4>>2]|0);break}case 145:{k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+-16+4>>2];break}case 146:{W=ow(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,(k[$>>2]|0)+4|0)|0;k[(k[$>>2]|0)+-32+4>>2]=W;break}case 147:{W=ow(k[k[W>>2]>>2]|0,0,(k[$>>2]|0)+4|0)|0;k[(k[$>>2]|0)+4>>2]=W;break}case 148:{pw((k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0);k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+-16+4>>2];break}case 155:case 154:case 149:{U=(k[$>>2]|0)+4|0;V=k[W>>2]|0;W=l[(k[$>>2]|0)+2>>0]|0;b=(k[$>>2]|0)+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];Nv(U,V,W,c);break}case 151:case 150:{V=(k[$>>2]|0)+4|0;W=k[W>>2]|0;U=(k[$>>2]|0)+4|0;k[c>>2]=k[U>>2];k[c+4>>2]=k[U+4>>2];Nv(V,W,55,c);break}case 152:{V=Mv(k[W>>2]|0,55,0,0,(k[$>>2]|0)+-32+4|0)|0;k[F>>2]=V;V=Mv(k[W>>2]|0,55,0,0,(k[$>>2]|0)+4|0)|0;k[H>>2]=V;pw((k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0);W=Mv(k[W>>2]|0,122,k[F>>2]|0,k[H>>2]|0,0)|0;k[(k[$>>2]|0)+-32+4>>2]=W;break}case 153:{V=Mv(k[W>>2]|0,55,0,0,(k[$>>2]|0)+-64+4|0)|0;k[G>>2]=V;V=Mv(k[W>>2]|0,55,0,0,(k[$>>2]|0)+-32+4|0)|0;k[I>>2]=V;V=Mv(k[W>>2]|0,55,0,0,(k[$>>2]|0)+4|0)|0;k[J>>2]=V;V=Mv(k[W>>2]|0,122,k[I>>2]|0,k[J>>2]|0,0)|0;k[K>>2]=V;pw((k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+4|0);W=Mv(k[W>>2]|0,122,k[G>>2]|0,k[K>>2]|0,0)|0;k[(k[$>>2]|0)+-64+4>>2]=W;break}case 156:{if((i[k[(k[$>>2]|0)+4>>2]>>0]|0)==35?(l[19019+(l[(k[(k[$>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){c=(k[$>>2]|0)+4|0;k[U>>2]=k[c>>2];k[U+4>>2]=k[c+4>>2];pw((k[$>>2]|0)+4|0,U,U);c=k[W>>2]|0;if(!(l[(k[W>>2]|0)+18>>0]|0)){k[V>>2]=U;Mh(c,27078,V);k[(k[$>>2]|0)+4>>2]=0;break a}W=Mv(c,157,0,0,U)|0;k[(k[$>>2]|0)+4>>2]=W;if(!(k[(k[$>>2]|0)+4>>2]|0))break a;Yi((k[U>>2]|0)+1|0,(k[(k[$>>2]|0)+4>>2]|0)+28|0)|0;break a}U=(k[$>>2]|0)+4|0;V=k[W>>2]|0;b=(k[$>>2]|0)+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];Nv(U,V,135,c);qw(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 157:{W=rw(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,(k[$>>2]|0)+4|0,1)|0;k[(k[$>>2]|0)+-32+4>>2]=W;k[(k[$>>2]|0)+-32+4+8>>2]=(k[(k[$>>2]|0)+4>>2]|0)+(k[(k[$>>2]|0)+4+4>>2]|0);break}case 158:{pw((k[$>>2]|0)+-80+4|0,(k[$>>2]|0)+-80+4|0,(k[$>>2]|0)+4|0);W=Mv(k[W>>2]|0,66,k[(k[$>>2]|0)+-48+4>>2]|0,0,(k[$>>2]|0)+-16+4|0)|0;k[(k[$>>2]|0)+-80+4>>2]=W;break}case 159:{if((k[(k[$>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[$>>2]|0)+-16+4>>2]>>2]|0)>(k[(k[k[W>>2]>>2]|0)+92+24>>2]|0):0){V=k[W>>2]|0;k[Q>>2]=(k[$>>2]|0)+-64+4;Mh(V,27790,Q)}W=sw(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,(k[$>>2]|0)+-64+4|0)|0;k[T>>2]=W;pw(T,(k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+4|0);if((k[(k[$>>2]|0)+-32+4>>2]|0)==1?(k[T>>2]|0)!=0:0){W=(k[T>>2]|0)+4|0;k[W>>2]=k[W>>2]|16}W=(k[$>>2]|0)+-64+4|0;k[W>>2]=k[T>>2];k[W+4>>2]=k[T+4>>2];k[W+8>>2]=k[T+8>>2];break}case 160:{W=sw(k[W>>2]|0,0,(k[$>>2]|0)+-48+4|0)|0;k[T>>2]=W;pw(T,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+4|0);W=(k[$>>2]|0)+-48+4|0;k[W>>2]=k[T>>2];k[W+4>>2]=k[T+4>>2];k[W+8>>2]=k[T+8>>2];break}case 161:{W=sw(k[W>>2]|0,0,(k[$>>2]|0)+4|0)|0;k[T>>2]=W;pw(T,(k[$>>2]|0)+4|0,(k[$>>2]|0)+4|0);W=(k[$>>2]|0)+4|0;k[W>>2]=k[T>>2];k[W+4>>2]=k[T+4>>2];k[W+8>>2]=k[T+8>>2];break}case 169:case 168:case 167:case 166:case 165:case 164:case 163:case 162:{tw(k[W>>2]|0,l[(k[$>>2]|0)+-16+2>>0]|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0);break}case 170:{W=(k[$>>2]|0)+4|0;V=(k[$>>2]|0)+4|0;k[W>>2]=k[V>>2];k[W+4>>2]=k[V+4>>2];k[(k[$>>2]|0)+4+8>>2]=0;break}case 171:{W=(k[$>>2]|0)+-16+4|0;V=(k[$>>2]|0)+4|0;k[W>>2]=k[V>>2];k[W+4>>2]=k[V+4>>2];k[(k[$>>2]|0)+-16+4+8>>2]=1;break}case 172:{V=$v(k[W>>2]|0,0,k[(k[$>>2]|0)+4>>2]|0)|0;k[t>>2]=V;V=$v(k[W>>2]|0,k[t>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0)|0;k[t>>2]=V;V=sw(k[W>>2]|0,k[t>>2]|0,(k[$>>2]|0)+-16+4|0)|0;k[(k[$>>2]|0)+-32+4>>2]=V;uw(k[W>>2]|0,k[(k[$>>2]|0)+-16+4+8>>2]|0,(k[$>>2]|0)+-32+4|0);k[(k[$>>2]|0)+-32+4+8>>2]=k[(k[$>>2]|0)+4+8>>2];if(k[(k[$>>2]|0)+-32+4>>2]|0){W=(k[(k[$>>2]|0)+-32+4>>2]|0)+4|0;k[W>>2]=k[W>>2]|128}break}case 173:{V=$v(k[W>>2]|0,0,k[(k[$>>2]|0)+-32+4>>2]|0)|0;k[u>>2]=V;V=$v(k[W>>2]|0,k[u>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0)|0;k[u>>2]=V;V=$v(k[W>>2]|0,k[u>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[u>>2]=V;V=sw(k[W>>2]|0,k[u>>2]|0,(k[$>>2]|0)+-48+4|0)|0;k[(k[$>>2]|0)+-64+4>>2]=V;uw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4+8>>2]|0,(k[$>>2]|0)+-64+4|0);k[(k[$>>2]|0)+-64+4+8>>2]=k[(k[$>>2]|0)+4+8>>2];if(k[(k[$>>2]|0)+-64+4>>2]|0){W=(k[(k[$>>2]|0)+-64+4>>2]|0)+4|0;k[W>>2]=k[W>>2]|128}break}case 174:{vw(k[W>>2]|0,l[(k[$>>2]|0)+2>>0]|0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0);break}case 175:{vw(k[W>>2]|0,35,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0);break}case 176:{tw(k[W>>2]|0,29,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0);ww(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,34);break}case 177:{tw(k[W>>2]|0,148,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+4|0);ww(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,35);break}case 179:case 178:{xw((k[$>>2]|0)+-16+4|0,k[W>>2]|0,l[(k[$>>2]|0)+-16+2>>0]|0,(k[$>>2]|0)+4|0,(k[$>>2]|0)+-16+4|0);break}case 180:{xw((k[$>>2]|0)+-16+4|0,k[W>>2]|0,155,(k[$>>2]|0)+4|0,(k[$>>2]|0)+-16+4|0);break}case 181:{xw((k[$>>2]|0)+-16+4|0,k[W>>2]|0,156,(k[$>>2]|0)+4|0,(k[$>>2]|0)+-16+4|0);break}case 185:case 182:{k[(k[$>>2]|0)+4>>2]=0;break}case 184:{V=$v(k[W>>2]|0,0,k[(k[$>>2]|0)+-32+4>>2]|0)|0;k[v>>2]=V;V=$v(k[W>>2]|0,k[v>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[v>>2]=V;V=Mv(k[W>>2]|0,32,k[(k[$>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[$>>2]|0)+-64+4>>2]=V;if(k[(k[$>>2]|0)+-64+4>>2]|0)k[(k[(k[$>>2]|0)+-64+4>>2]|0)+20>>2]=k[v>>2];else mv(k[k[W>>2]>>2]|0,k[v>>2]|0);uw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,(k[$>>2]|0)+-64+4|0);k[(k[$>>2]|0)+-64+4+8>>2]=k[(k[$>>2]|0)+4+8>>2];break}case 187:{do if(!(k[(k[$>>2]|0)+-16+4>>2]|0)){qv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0);W=Mv(k[W>>2]|0,132,0,0,5116+(k[(k[$>>2]|0)+-48+4>>2]<<3)|0)|0;k[(k[$>>2]|0)+-64+4>>2]=W}else{if((k[k[(k[$>>2]|0)+-16+4>>2]>>2]|0)==1){k[y>>2]=k[k[(k[(k[$>>2]|0)+-16+4>>2]|0)+4>>2]>>2];k[k[(k[(k[$>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;mv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);if(k[y>>2]|0){V=(k[y>>2]|0)+4|0;k[V>>2]=k[V>>2]&-257;V=(k[y>>2]|0)+4|0;k[V>>2]=k[V>>2]|512}W=Mv(k[W>>2]|0,(k[(k[$>>2]|0)+-48+4>>2]|0)!=0?36:37,k[(k[$>>2]|0)+-64+4>>2]|0,k[y>>2]|0,0)|0;k[(k[$>>2]|0)+-64+4>>2]=W;break}V=Mv(k[W>>2]|0,33,k[(k[$>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[$>>2]|0)+-64+4>>2]=V;if(k[(k[$>>2]|0)+-64+4>>2]|0){k[(k[(k[$>>2]|0)+-64+4>>2]|0)+20>>2]=k[(k[$>>2]|0)+-16+4>>2];yw(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0)}else mv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);uw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,(k[$>>2]|0)+-64+4|0)}while(0);k[(k[$>>2]|0)+-64+4+8>>2]=(k[(k[$>>2]|0)+4>>2]|0)+(k[(k[$>>2]|0)+4+4>>2]|0);break}case 188:{pw((k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0);V=Mv(k[W>>2]|0,119,0,0,0)|0;k[(k[$>>2]|0)+-32+4>>2]=V;zw(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 189:{V=Mv(k[W>>2]|0,33,k[(k[$>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[$>>2]|0)+-64+4>>2]=V;zw(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);uw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,(k[$>>2]|0)+-64+4|0);k[(k[$>>2]|0)+-64+4+8>>2]=(k[(k[$>>2]|0)+4>>2]|0)+(k[(k[$>>2]|0)+4+4>>2]|0);break}case 190:{c=gw(k[k[W>>2]>>2]|0,0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0)|0;k[D>>2]=c;c=_v(k[W>>2]|0,0,k[D>>2]|0,0,0,0,0,0,0,0)|0;k[C>>2]=c;c=Mv(k[W>>2]|0,33,k[(k[$>>2]|0)+-48+4>>2]|0,0,0)|0;k[(k[$>>2]|0)+-48+4>>2]=c;zw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,k[C>>2]|0);uw(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,(k[$>>2]|0)+-48+4|0);c=k[$>>2]|0;if(k[(k[$>>2]|0)+4>>2]|0)c=(k[(k[$>>2]|0)+4>>2]|0)+(k[c+4+4>>2]|0)|0;else c=(k[(k[$>>2]|0)+-16+4>>2]|0)+(k[c+-16+4+4>>2]|0)|0;k[(k[$>>2]|0)+-48+4+8>>2]=c;break}case 191:{pw((k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+4|0);V=Mv(k[W>>2]|0,20,0,0,0)|0;k[(k[$>>2]|0)+-48+4>>2]=V;k[h>>2]=V;zw(k[W>>2]|0,k[h>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 192:{pw((k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+4|0);V=Mv(k[W>>2]|0,136,k[(k[$>>2]|0)+-48+4>>2]|0,0,0)|0;k[(k[$>>2]|0)+-64+4>>2]=V;if(!(k[(k[$>>2]|0)+-64+4>>2]|0)){mv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0);qv(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);break a}if(k[(k[$>>2]|0)+-16+4>>2]|0)c=$v(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0)|0;else c=k[(k[$>>2]|0)+-32+4>>2]|0;k[(k[(k[$>>2]|0)+-64+4>>2]|0)+20>>2]=c;yw(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0);break}case 193:{V=$v(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0)|0;k[(k[$>>2]|0)+-64+4>>2]=V;W=$v(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-64+4>>2]=W;break}case 194:{V=$v(k[W>>2]|0,0,k[(k[$>>2]|0)+-32+4>>2]|0)|0;k[(k[$>>2]|0)+-48+4>>2]=V;W=$v(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-48+4>>2]=W;break}case 197:{k[(k[$>>2]|0)+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 200:{W=$v(k[W>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-32+4>>2]=W;break}case 201:{W=$v(k[W>>2]|0,0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+4>>2]=W;break}case 202:{Qv(k[W>>2]|0,(k[$>>2]|0)+-112+4|0,(k[$>>2]|0)+-96+4|0,gw(k[k[W>>2]>>2]|0,0,(k[$>>2]|0)+-64+4|0,0)|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+-160+4>>2]|0,(k[$>>2]|0)+-176+4|0,k[(k[$>>2]|0)+4>>2]|0,0,k[(k[$>>2]|0)+-128+4>>2]|0)|0;break}case 244:case 203:{k[(k[$>>2]|0)+4>>2]=2;break}case 204:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 206:{k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+-16+4>>2];break}case 207:{W=Aw(k[W>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,(k[$>>2]|0)+-32+4|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-64+4>>2]=W;break}case 208:{W=Aw(k[W>>2]|0,0,(k[$>>2]|0)+-32+4|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-32+4>>2]=W;break}case 211:{Bw(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 213:case 212:{Cw(k[W>>2]|0);break}case 214:{Dw(k[W>>2]|0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0,0,0);break}case 215:{Dw(k[W>>2]|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0,0);break}case 216:{Dw(k[W>>2]|0,(k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-16+4|0,0);break}case 217:{Dw(k[W>>2]|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0,1);break}case 218:{Dw(k[W>>2]|0,(k[$>>2]|0)+-64+4|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-16+4|0,1);break}case 221:{k[d>>2]=k[(k[$>>2]|0)+-48+4>>2];k[d+4>>2]=(k[(k[$>>2]|0)+4>>2]|0)-(k[(k[$>>2]|0)+-48+4>>2]|0)+(k[(k[$>>2]|0)+4+4>>2]|0);Ew(k[W>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,d);break}case 222:{Fw(k[W>>2]|0,(k[$>>2]|0)+-112+4|0,(k[$>>2]|0)+-96+4|0,k[(k[$>>2]|0)+-80+4>>2]|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-64+4+4>>2]|0,k[(k[$>>2]|0)+-32+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-160+4>>2]|0,k[(k[$>>2]|0)+-128+4>>2]|0);c=(k[$>>2]|0)+-160+4|0;d=k[$>>2]|0;if(!(k[(k[$>>2]|0)+-96+4+4>>2]|0)){W=d+-112+4|0;k[c>>2]=k[W>>2];k[c+4>>2]=k[W+4>>2];break a}else{W=d+-96+4|0;k[c>>2]=k[W>>2];k[c+4>>2]=k[W+4>>2];break a}}case 223:{k[(k[$>>2]|0)+4>>2]=63;break}case 224:{k[(k[$>>2]|0)+4>>2]=59;break}case 225:{k[(k[$>>2]|0)+-16+4>>2]=77;break}case 226:{k[(k[$>>2]|0)+16+4>>2]=63;break}case 228:case 227:{k[(k[$>>2]|0)+4>>2]=l[(k[$>>2]|0)+2>>0];k[(k[$>>2]|0)+4+4>>2]=0;break}case 229:{k[(k[$>>2]|0)+-32+4>>2]=110;k[(k[$>>2]|0)+-32+4+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 249:case 230:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 250:case 231:{k[(k[$>>2]|0)+-16+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 232:{k[(k[(k[(k[$>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=k[(k[$>>2]|0)+-16+4>>2];k[(k[(k[$>>2]|0)+-32+4>>2]|0)+32>>2]=k[(k[$>>2]|0)+-16+4>>2];break}case 233:{k[(k[(k[$>>2]|0)+-16+4>>2]|0)+32>>2]=k[(k[$>>2]|0)+-16+4>>2];break}case 234:{V=(k[$>>2]|0)+-32+4|0;U=(k[$>>2]|0)+4|0;k[V>>2]=k[U>>2];k[V+4>>2]=k[U+4>>2];Mh(k[W>>2]|0,27824,R);break}case 235:{Mh(k[W>>2]|0,27919,O);break}case 236:{Mh(k[W>>2]|0,28003,P);break}case 237:{W=Gw(k[k[W>>2]>>2]|0,(k[$>>2]|0)+-64+4|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-80+4>>2]&255)|0;k[(k[$>>2]|0)+-96+4>>2]=W;break}case 238:{W=Hw(k[k[W>>2]>>2]|0,(k[$>>2]|0)+-32+4|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-64+4>>2]&255)|0;k[(k[$>>2]|0)+-64+4>>2]=W;break}case 239:{W=Iw(k[k[W>>2]>>2]|0,(k[$>>2]|0)+-32+4|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+-64+4>>2]=W;break}case 240:{W=Jw(k[k[W>>2]>>2]|0,k[(k[$>>2]|0)+4>>2]|0)|0;k[(k[$>>2]|0)+4>>2]=W;break}case 241:{pw((k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+4|0);W=Mv(k[W>>2]|0,83,0,0,0)|0;k[(k[$>>2]|0)+-48+4>>2]=W;if(k[(k[$>>2]|0)+-48+4>>2]|0)i[(k[(k[$>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 242:{pw((k[$>>2]|0)+-80+4|0,(k[$>>2]|0)+-80+4|0,(k[$>>2]|0)+4|0);W=Mv(k[W>>2]|0,83,0,0,(k[$>>2]|0)+-16+4|0)|0;k[(k[$>>2]|0)+-80+4>>2]=W;if(k[(k[$>>2]|0)+-80+4>>2]|0)i[(k[(k[$>>2]|0)+-80+4>>2]|0)+1>>0]=k[(k[$>>2]|0)+-48+4>>2];break}case 243:{k[(k[$>>2]|0)+4>>2]=1;break}case 245:{k[(k[$>>2]|0)+4>>2]=3;break}case 246:{Kw(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0);break}case 247:{Lw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 248:{Mw(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 251:{Nw(k[W>>2]|0,0,0);break}case 252:{Nw(k[W>>2]|0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0);break}case 253:{Ow(k[W>>2]|0,0,0);break}case 254:{Ow(k[W>>2]|0,(k[$>>2]|0)+-16+4|0,(k[$>>2]|0)+4|0);break}case 255:{Pw(k[W>>2]|0,k[(k[$>>2]|0)+-48+4>>2]|0,(k[$>>2]|0)+4|0);break}case 256:{k[(k[$>>2]|0)+-16+4+4>>2]=(k[(k[W>>2]|0)+508>>2]|0)-(k[(k[$>>2]|0)+-16+4>>2]|0)+(k[(k[W>>2]|0)+508+4>>2]|0);Qw(k[W>>2]|0,(k[$>>2]|0)+-16+4|0);break}case 257:{Iv(k[W>>2]|0);Rw(k[W>>2]|0,k[(k[$>>2]|0)+4>>2]|0);break}case 258:{Sw(k[W>>2]|0,0);break}case 259:{Sw(k[W>>2]|0,(k[$>>2]|0)+4|0);break}case 260:{Tw(k[W>>2]|0,(k[$>>2]|0)+-48+4|0,(k[$>>2]|0)+-32+4|0,(k[$>>2]|0)+4|0,k[(k[$>>2]|0)+-64+4>>2]|0);break}case 261:{Uw(k[W>>2]|0);break}case 264:case 263:case 262:{Vw(k[W>>2]|0,(k[$>>2]|0)+4|0);break}case 265:{k[(k[$>>2]|0)+16+4>>2]=0;break}case 266:{k[(k[$>>2]|0)+-16+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 267:{k[(k[$>>2]|0)+-32+4>>2]=k[(k[$>>2]|0)+4>>2];break}case 268:{W=Ww(k[W>>2]|0,0,(k[$>>2]|0)+-80+4|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0)|0;k[(k[$>>2]|0)+-80+4>>2]=W;break}case 269:{W=Ww(k[W>>2]|0,k[(k[$>>2]|0)+-112+4>>2]|0,(k[$>>2]|0)+-80+4|0,k[(k[$>>2]|0)+-64+4>>2]|0,k[(k[$>>2]|0)+-16+4>>2]|0)|0;k[(k[$>>2]|0)+-112+4>>2]=W;break}default:{}}while(0);k[_>>2]=l[27102+(k[Y>>2]<<1)>>0];k[aa>>2]=l[27102+(k[Y>>2]<<1)+1>>0];Y=Xw(m[(k[$>>2]|0)+(0-(k[aa>>2]|0)<<4)>>1]|0,k[_>>2]&255)|0;k[Z>>2]=Y;if((k[Z>>2]|0)>974){$=k[X>>2]|0;k[$>>2]=(k[$>>2]|0)-(k[aa>>2]|0);Yw(k[X>>2]|0);r=ba;return}if((k[Z>>2]|0)>439)k[Z>>2]=(k[Z>>2]|0)+326;Y=k[X>>2]|0;k[Y>>2]=(k[Y>>2]|0)-((k[aa>>2]|0)-1);k[$>>2]=(k[$>>2]|0)+(0-((k[aa>>2]|0)-1)<<4);j[k[$>>2]>>1]=k[Z>>2];i[(k[$>>2]|0)+2>>0]=k[_>>2];r=ba;return}function Av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;e=d+12|0;f=d+4|0;k[e>>2]=a;k[d+8>>2]=b;k[f>>2]=k[(k[e>>2]|0)+4>>2];a=k[f>>2]|0;k[g>>2]=c;Mh(a,27078,g);k[(k[e>>2]|0)+4>>2]=k[f>>2];r=d;return}function Bv(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;while(1){if((k[k[b>>2]>>2]|0)<0)break;uv(k[b>>2]|0)}Mh(k[c>>2]|0,38156,d);k[(k[b>>2]|0)+4>>2]=k[c>>2];r=e;return}function Cv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;c=j+20|0;g=j+16|0;e=j+12|0;d=j+8|0;h=j+4|0;f=j;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];if(i[(k[b>>2]|0)+18>>0]|0){r=j;return}if((l[(k[c>>2]|0)+69>>0]|0)==0?(k[(k[b>>2]|0)+68>>2]|0)==0:0){a=jx(k[b>>2]|0)|0;k[g>>2]=a;do if(k[g>>2]|0){do{}while((JA(k[g>>2]|0,109)|0)!=0);tx(k[g>>2]|0,73)|0;if(!(l[(k[c>>2]|0)+69>>0]|0)){if((k[(k[b>>2]|0)+340>>2]|0)==0?(k[(k[b>>2]|0)+324>>2]|0)==0:0)break;aA(k[g>>2]|0,0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(((k[(k[b>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Th(k[g>>2]|0,k[e>>2]|0),Qh(k[g>>2]|0,2,k[e>>2]|0,(k[(k[b>>2]|0)+336>>2]&1<>2]|0)!=0&1,k[(k[b>>2]|0)+344+(k[e>>2]<<2)>>2]|0,k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(l[(k[c>>2]|0)+144+5>>0]|0)==0):0)Rh(k[g>>2]|0,1);k[e>>2]=(k[e>>2]|0)+1}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+456>>2]|0))break;a=Xx(k[c>>2]|0,k[(k[(k[b>>2]|0)+524>>2]|0)+(k[d>>2]<<2)>>2]|0)|0;k[h>>2]=a;ox(k[g>>2]|0,150,0,0,0,k[h>>2]|0,-10)|0;k[d>>2]=(k[d>>2]|0)+1}k[(k[b>>2]|0)+456>>2]=0;CH(k[b>>2]|0);DH(k[b>>2]|0);a:do if(k[(k[b>>2]|0)+324>>2]|0){k[f>>2]=k[(k[b>>2]|0)+324>>2];i[(k[b>>2]|0)+23>>0]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[f>>2]>>2]|0))break a;UA(k[b>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);$z(k[g>>2]|0,1)|0}}while(0);if(((k[g>>2]|0)!=0?(k[(k[b>>2]|0)+68>>2]|0)==0:0)?(i[(k[c>>2]|0)+69>>0]|0)==0:0){if((k[(k[b>>2]|0)+412>>2]|0)!=0?(k[(k[b>>2]|0)+72>>2]|0)==0:0)k[(k[b>>2]|0)+72>>2]=1;Vh(k[g>>2]|0,k[b>>2]|0);k[(k[b>>2]|0)+12>>2]=101;r=j;return}k[(k[b>>2]|0)+12>>2]=1;r=j;return}if(k[(k[b>>2]|0)+12>>2]|0){r=j;return}k[(k[b>>2]|0)+12>>2]=1;r=j;return}function Dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];if(gx(k[c>>2]|0,22,38086,0,0)|0){r=h;return}b=jx(k[c>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){r=h;return}a:do if((k[d>>2]|0)!=7){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break a;lx(k[g>>2]|0,2,k[f>>2]|0,((k[d>>2]|0)==9&1)+1|0)|0;Th(k[g>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);tx(k[g>>2]|0,1)|0;r=h;return}function Ev(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(gx(k[b>>2]|0,22,38109,0,0)|0){r=d;return}a=jx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}Uz(k[c>>2]|0,1,1)|0;r=d;return}function Fv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(gx(k[b>>2]|0,22,38100,0,0)|0){r=d;return}a=jx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}lx(k[c>>2]|0,1,1,1)|0;r=d;return}function Gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;i=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;a=Zw(k[k[d>>2]>>2]|0,k[i>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}i=jx(k[d>>2]|0)|0;k[f>>2]=i;if((k[f>>2]|0)!=0?(gx(k[d>>2]|0,32,k[6352+(k[e>>2]<<2)>>2]|0,k[g>>2]|0,0)|0)==0:0){ox(k[f>>2]|0,0,k[e>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}bg(k[k[d>>2]>>2]|0,k[g>>2]|0);r=h;return}function Hv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;h=J+92|0;m=J+88|0;n=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;q=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;o=J+36|0;p=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;k[w>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[x>>2]=e;k[y>>2]=f;k[z>>2]=g;k[H>>2]=0;k[A>>2]=k[k[w>>2]>>2];if((l[(k[A>>2]|0)+144+5>>0]|0)!=0?(k[(k[A>>2]|0)+144>>2]|0)==1:0){k[I>>2]=l[(k[A>>2]|0)+144+4>>0];s=zh(k[A>>2]|0,(k[I>>2]|0)==1?20521:20540)|0;k[H>>2]=s;k[B>>2]=k[h>>2]}else{a=Qz(k[w>>2]|0,k[h>>2]|0,k[m>>2]|0,B)|0;k[I>>2]=a;if((k[I>>2]|0)<0){r=J;return}if((k[n>>2]|0)!=0?((k[I>>2]|0)!=1?(k[(k[m>>2]|0)+4>>2]|0)>>>0>0:0):0){Mh(k[w>>2]|0,37976,s);r=J;return}if(k[n>>2]|0)k[I>>2]=1;s=Zw(k[A>>2]|0,k[B>>2]|0)|0;k[H>>2]=s}s=(k[w>>2]|0)+500|0;a=k[B>>2]|0;k[s>>2]=k[a>>2];k[s+4>>2]=k[a+4>>2];if(!(k[H>>2]|0)){r=J;return}a:do if(!(Vx(k[w>>2]|0,k[H>>2]|0)|0)){if((l[(k[A>>2]|0)+144+4>>0]|0)==1)k[n>>2]=1;k[u>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(!(gx(k[w>>2]|0,18,(k[n>>2]|0)==1?20521:20540,0,k[u>>2]|0)|0)){if((k[y>>2]|0)==0?(gx(k[w>>2]|0,l[38017+((k[n>>2]|0)+(k[x>>2]<<1))>>0]|0,k[H>>2]|0,0,k[u>>2]|0)|0)!=0:0)break;do if(!(i[(k[w>>2]|0)+454>>0]|0)){k[v>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(Mz(k[w>>2]|0)|0)break a;u=Bi(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0;k[q>>2]=u;if(!(k[q>>2]|0)){if(!(Sj(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0))break;I=k[w>>2]|0;k[t>>2]=k[H>>2];Mh(I,38045,t);break a}h=k[w>>2]|0;if(k[z>>2]|0){yx(h,k[I>>2]|0);break a}else{k[G>>2]=k[B>>2];Mh(h,38021,G);break a}}while(0);G=Bh(k[A>>2]|0,72,0)|0;k[q>>2]=G;if(!(k[q>>2]|0)){k[(k[w>>2]|0)+12>>2]=7;I=(k[w>>2]|0)+68|0;k[I>>2]=(k[I>>2]|0)+1;break}k[k[q>>2]>>2]=k[H>>2];j[(k[q>>2]|0)+32>>1]=-1;k[(k[q>>2]|0)+64>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+12>>2];j[(k[q>>2]|0)+36>>1]=1;j[(k[q>>2]|0)+38>>1]=200;k[(k[w>>2]|0)+488>>2]=k[q>>2];if((i[(k[w>>2]|0)+18>>0]|0)==0?(YQ(k[H>>2]|0,29421)|0)==0:0)k[(k[(k[q>>2]|0)+64>>2]|0)+72>>2]=k[q>>2];if(i[(k[A>>2]|0)+144+5>>0]|0){r=J;return}H=jx(k[w>>2]|0)|0;k[F>>2]=H;if(!H){r=J;return}xx(k[w>>2]|0,1,k[I>>2]|0);if(k[y>>2]|0)tx(k[F>>2]|0,150)|0;H=(k[w>>2]|0)+76|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[(k[w>>2]|0)+392>>2]=h;k[C>>2]=h;h=(k[w>>2]|0)+76|0;H=(k[h>>2]|0)+1|0;k[h>>2]=H;k[(k[w>>2]|0)+396>>2]=H;k[D>>2]=H;H=(k[w>>2]|0)+76|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[E>>2]=h;px(k[F>>2]|0,99,k[I>>2]|0,k[E>>2]|0,2)|0;Th(k[F>>2]|0,k[I>>2]|0);h=Uz(k[F>>2]|0,21,k[E>>2]|0)|0;k[o>>2]=h;k[p>>2]=(k[(k[A>>2]|0)+24>>2]&32768|0)!=0?1:4;px(k[F>>2]|0,100,k[I>>2]|0,2,k[p>>2]|0)|0;px(k[F>>2]|0,100,k[I>>2]|0,5,l[(k[A>>2]|0)+66>>0]|0)|0;aA(k[F>>2]|0,k[o>>2]|0);h=k[F>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0)lx(h,74,0,k[D>>2]|0)|0;else{H=lx(h,132,k[I>>2]|0,k[D>>2]|0)|0;k[(k[w>>2]|0)+424>>2]=H}BH(k[w>>2]|0,k[I>>2]|0);lx(k[F>>2]|0,112,0,k[C>>2]|0)|0;ox(k[F>>2]|0,79,6,k[E>>2]|0,0,38080,-2)|0;px(k[F>>2]|0,113,0,k[E>>2]|0,k[C>>2]|0)|0;Rh(k[F>>2]|0,8);tx(k[F>>2]|0,109)|0;r=J;return}}while(0);bg(k[A>>2]|0,k[H>>2]|0);r=J;return}function Iv(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;a=(k[k[c>>2]>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function Jv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;f=R+192|0;g=R+188|0;h=R+184|0;m=R+196|0;n=R+180|0;w=R+176|0;q=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;p=R+116|0;D=R+112|0;E=R+108|0;o=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[m>>0]=d;k[n>>2]=e;k[q>>2]=k[k[f>>2]>>2];if((k[h>>2]|0)==0&(k[n>>2]|0)==0){r=R;return}k[w>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[w>>2]|0)){r=R;return}if((i[(k[q>>2]|0)+144+5>>0]|0)!=0?(k[(k[w>>2]|0)+28>>2]=k[(k[q>>2]|0)+144>>2],(k[(k[w>>2]|0)+28>>2]|0)==1):0){d=(k[w>>2]|0)+42|0;i[d>>0]=l[d>>0]|1}do if(l[m>>0]&32){if(l[(k[w>>2]|0)+42>>0]&8){Mh(k[f>>2]|0,37655,H);r=R;return}if(!(l[(k[w>>2]|0)+42>>0]&4)){H=k[f>>2]|0;k[J>>2]=k[k[w>>2]>>2];Mh(H,37705,J);break}else{J=(k[w>>2]|0)+42|0;i[J>>0]=l[J>>0]|96;vH(k[f>>2]|0,k[w>>2]|0);break}}while(0);J=Nh(k[q>>2]|0,k[(k[w>>2]|0)+64>>2]|0)|0;k[t>>2]=J;if(k[(k[w>>2]|0)+24>>2]|0)oH(k[f>>2]|0,k[w>>2]|0,4,0,k[(k[w>>2]|0)+24>>2]|0);wH(k[w>>2]|0);k[z>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;rH(k[z>>2]|0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(!(i[(k[q>>2]|0)+144+5>>0]|0)){J=jx(k[f>>2]|0)|0;k[G>>2]=J;if(!(k[G>>2]|0)){r=R;return}Uz(k[G>>2]|0,109,0)|0;if(!(k[(k[w>>2]|0)+12>>2]|0)){k[P>>2]=33514;k[Q>>2]=37737}else{k[P>>2]=36615;k[Q>>2]=37743}do if(k[n>>2]|0){H=(k[f>>2]|0)+76|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[F>>2]=J;J=(k[f>>2]|0)+76|0;H=(k[J>>2]|0)+1|0;k[J>>2]=H;k[D>>2]=H;H=(k[f>>2]|0)+76|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[E>>2]=J;Yx(k[f>>2]|0);px(k[G>>2]|0,103,1,k[(k[f>>2]|0)+396>>2]|0,k[t>>2]|0)|0;Rh(k[G>>2]|0,16);k[(k[f>>2]|0)+72>>2]=2;J=(Yz(k[G>>2]|0)|0)+1|0;k[p>>2]=J;px(k[G>>2]|0,15,k[F>>2]|0,0,k[p>>2]|0)|0;uB(s,13,k[F>>2]|0);Xv(k[f>>2]|0,k[n>>2]|0,s)|0;UC(k[G>>2]|0,k[F>>2]|0);aA(k[G>>2]|0,(k[p>>2]|0)-1|0);if(k[(k[f>>2]|0)+68>>2]|0){r=R;return}J=dy(k[f>>2]|0,k[n>>2]|0)|0;k[C>>2]=J;if(!(k[C>>2]|0)){r=R;return}else{j[(k[w>>2]|0)+34>>1]=j[(k[C>>2]|0)+34>>1]|0;k[(k[w>>2]|0)+4>>2]=k[(k[C>>2]|0)+4>>2];j[(k[C>>2]|0)+34>>1]=0;k[(k[C>>2]|0)+4>>2]=0;$f(k[q>>2]|0,k[C>>2]|0);J=Uz(k[G>>2]|0,16,k[s+4>>2]|0)|0;k[o>>2]=J;px(k[G>>2]|0,96,k[s+8>>2]|0,k[s+12>>2]|0,k[D>>2]|0)|0;XC(k[G>>2]|0,k[w>>2]|0,0);lx(k[G>>2]|0,112,1,k[E>>2]|0)|0;px(k[G>>2]|0,113,1,k[D>>2]|0,k[E>>2]|0)|0;$z(k[G>>2]|0,k[o>>2]|0)|0;aA(k[G>>2]|0,k[o>>2]|0);Uz(k[G>>2]|0,109,1)|0;break}}while(0);if(k[n>>2]|0){Q=xH(k[q>>2]|0,k[w>>2]|0)|0;k[O>>2]=Q}else{k[y>>2]=(l[m>>0]|0)!=0?(k[f>>2]|0)+508|0:k[h>>2]|0;k[u>>2]=(k[k[y>>2]>>2]|0)-(k[(k[f>>2]|0)+500>>2]|0);if((i[k[k[y>>2]>>2]>>0]|0)!=59)k[u>>2]=(k[u>>2]|0)+(k[(k[y>>2]|0)+4>>2]|0);J=k[q>>2]|0;d=k[u>>2]|0;H=k[(k[f>>2]|0)+500>>2]|0;k[L>>2]=k[Q>>2];k[L+4>>2]=d;k[L+8>>2]=H;Q=Oh(J,37748,L)|0;k[O>>2]=Q}Q=k[f>>2]|0;E=(k[t>>2]|0)==1?20521:20540;F=k[P>>2]|0;d=k[k[w>>2]>>2]|0;H=k[k[w>>2]>>2]|0;J=k[(k[f>>2]|0)+396>>2]|0;L=k[O>>2]|0;P=k[(k[f>>2]|0)+392>>2]|0;k[M>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2];k[M+4>>2]=E;k[M+8>>2]=F;k[M+12>>2]=d;k[M+16>>2]=H;k[M+20>>2]=J;k[M+24>>2]=L;k[M+28>>2]=P;ix(Q,37763,M);bg(k[q>>2]|0,k[O>>2]|0);kx(k[f>>2]|0,k[t>>2]|0);if((l[(k[w>>2]|0)+42>>0]&8|0)!=0?(k[x>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4),(k[(k[(k[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=k[f>>2]|0;k[I>>2]=k[k[x>>2]>>2];ix(Q,37850,I)}O=k[G>>2]|0;P=k[t>>2]|0;Q=k[q>>2]|0;k[K>>2]=k[k[w>>2]>>2];mx(O,P,Oh(Q,37892,K)|0)}if(!(i[(k[q>>2]|0)+144+5>>0]|0)){r=R;return}k[B>>2]=k[(k[w>>2]|0)+64>>2];Q=ak((k[B>>2]|0)+8|0,k[k[w>>2]>>2]|0,k[w>>2]|0)|0;k[A>>2]=Q;if(k[A>>2]|0){vh(k[q>>2]|0);r=R;return}k[(k[f>>2]|0)+488>>2]=0;Q=(k[q>>2]|0)+24|0;k[Q>>2]=k[Q>>2]|2;if(k[(k[w>>2]|0)+12>>2]|0){r=R;return}k[N>>2]=k[(k[f>>2]|0)+500>>2];if(!(k[k[g>>2]>>2]|0))k[g>>2]=k[h>>2];k[v>>2]=(k[k[g>>2]>>2]|0)-(k[N>>2]|0);Q=13+(Zx(k[N>>2]|0,k[v>>2]|0)|0)|0;k[(k[w>>2]|0)+44>>2]=Q;r=R;return}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;q=v+8|0;p=v;d=v+48|0;e=v+44|0;f=v+40|0;n=v+36|0;m=v+32|0;s=v+28|0;t=v+24|0;o=v+20|0;h=v+16|0;g=v+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];c=k[(k[d>>2]|0)+488>>2]|0;k[n>>2]=c;if(!c){r=v;return}if(((j[(k[n>>2]|0)+34>>1]|0)+1|0)>(k[(k[h>>2]|0)+92+8>>2]|0)){u=k[d>>2]|0;k[p>>2]=k[k[n>>2]>>2];Mh(u,37606,p);r=v;return}p=Kh(k[h>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)+2|0,0)|0;k[s>>2]=p;if(!(k[s>>2]|0)){r=v;return}IR(k[s>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;i[(k[s>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;dx(k[s>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break;if(!(be(k[s>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2]|0)|0)){u=8;break}k[m>>2]=(k[m>>2]|0)+1}if((u|0)==8){u=k[d>>2]|0;k[q>>2]=k[s>>2];Mh(u,37629,q);bg(k[h>>2]|0,k[s>>2]|0);r=v;return}do if(!(j[(k[n>>2]|0)+34>>1]&7)){u=_w(k[h>>2]|0,k[(k[n>>2]|0)+4>>2]|0,(j[(k[n>>2]|0)+34>>1]|0)+8<<4,0)|0;k[g>>2]=u;if(k[g>>2]|0){k[(k[n>>2]|0)+4>>2]=k[g>>2];break}bg(k[h>>2]|0,k[s>>2]|0);r=v;return}while(0);k[o>>2]=(k[(k[n>>2]|0)+4>>2]|0)+(j[(k[n>>2]|0)+34>>1]<<4);u=k[o>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[k[o>>2]>>2]=k[s>>2];if(!(k[(k[f>>2]|0)+4>>2]|0)){i[(k[o>>2]|0)+13>>0]=65;i[(k[o>>2]|0)+14>>0]=1}else{u=k[s>>2]|0;u=u+(Tf(k[s>>2]|0)|0)+1|0;k[t>>2]=u;IR(k[t>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[t>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;dx(k[t>>2]|0);u=Gx(k[t>>2]|0,(k[o>>2]|0)+14|0)|0;i[(k[o>>2]|0)+13>>0]=u;u=(k[o>>2]|0)+15|0;i[u>>0]=l[u>>0]|4}u=(k[n>>2]|0)+34|0;j[u>>1]=(j[u>>1]|0)+1<<16>>16;k[(k[d>>2]|0)+328+4>>2]=0;r=v;return}function Lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+80|0;e=m;c=m+72|0;f=m+68|0;d=m+64|0;h=m+60|0;g=m+56|0;l=m+8|0;k[c>>2]=a;k[f>>2]=b;k[g>>2]=k[k[c>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+488>>2];if(!(k[d>>2]|0)){h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;qv(h,l);r=m;return}k[h>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4);if(uH(k[k[f>>2]>>2]|0,i[(k[g>>2]|0)+144+5>>0]|0)|0){qv(k[g>>2]|0,k[(k[h>>2]|0)+4>>2]|0);c=l;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));i[l>>0]=-97;e=(k[(k[f>>2]|0)+8>>2]|0)-(k[(k[f>>2]|0)+4>>2]|0)|0;e=cx(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;k[l+8>>2]=e;k[l+12>>2]=k[k[f>>2]>>2];k[l+4>>2]=4096;e=Ky(k[g>>2]|0,l,1)|0;k[(k[h>>2]|0)+4>>2]=e;bg(k[g>>2]|0,k[l+8>>2]|0);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;qv(h,l);r=m;return}else{l=k[c>>2]|0;k[e>>2]=k[k[h>>2]>>2];Mh(l,37561,e);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;qv(h,l);r=m;return}}function Mv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)==28?(k[(k[f>>2]|0)+68>>2]|0)==0:0){e=xz(k[k[f>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[l>>2]=e}else{e=zz(k[k[f>>2]>>2]|0,k[g>>2]&255,k[j>>2]|0,1)|0;k[l>>2]=e;Az(k[k[f>>2]>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0)}if(!(k[l>>2]|0)){e=k[l>>2]|0;r=m;return e|0}$y(k[f>>2]|0,k[(k[l>>2]|0)+24>>2]|0)|0;e=k[l>>2]|0;r=m;return e|0}function Nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+8|0;h=e+4|0;g=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;b=Mv(k[h>>2]|0,k[g>>2]|0,0,0,d)|0;k[k[f>>2]>>2]=b;k[(k[f>>2]|0)+4>>2]=k[d>>2];k[(k[f>>2]|0)+8>>2]=(k[d>>2]|0)+(k[d+4>>2]|0);r=e;return}function Ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[d>>2]|0)){r=e;return}if((j[(k[d>>2]|0)+34>>1]|0)<1){r=e;return}i[(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4)+12>>0]=k[c>>2];r=e;return}function Pv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;y=z+8|0;f=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;p=z+40|0;o=z+36|0;h=z+32|0;g=z+28|0;m=z+24|0;n=z+20|0;q=z+16|0;x=z+12|0;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[w>>2]=e;k[p>>2]=k[(k[s>>2]|0)+488>>2];k[o>>2]=0;k[h>>2]=-1;if(!(k[p>>2]|0)){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;mv(x,y);r=z;return}if(l[(k[s>>2]|0)+454>>0]|0){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;mv(x,y);r=z;return}if(l[(k[p>>2]|0)+42>>0]&4){x=k[s>>2]|0;k[f>>2]=k[k[p>>2]>>2];Mh(x,37464,f);x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;mv(x,y);r=z;return}f=(k[p>>2]|0)+42|0;i[f>>0]=l[f>>0]|4;a:do if(!(k[t>>2]|0)){k[h>>2]=(j[(k[p>>2]|0)+34>>1]|0)-1;k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4);q=(k[o>>2]|0)+15|0;i[q>>0]=l[q>>0]|1;k[m>>2]=1}else{k[m>>2]=k[k[t>>2]>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[m>>2]|0))break a;f=ny(k[(k[(k[t>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=f;pH(k[n>>2]|0);b:do if((l[k[n>>2]>>0]|0)==55){k[q>>2]=k[(k[n>>2]|0)+8>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[p>>2]|0)+34>>1]|0))break b;f=(sg(k[q>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)==0;d=k[h>>2]|0;if(f)break;k[h>>2]=d+1}k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(d<<4);f=(k[o>>2]|0)+15|0;i[f>>0]=l[f>>0]|1}while(0);k[g>>2]=(k[g>>2]|0)+1}}while(0);if((k[m>>2]|0)==1&(k[o>>2]|0)!=0?(q=(sg(Di(k[o>>2]|0,19018)|0,19375)|0)==0,q&(k[w>>2]|0)!=1):0){j[(k[p>>2]|0)+32>>1]=k[h>>2];i[(k[p>>2]|0)+43>>0]=k[u>>2];y=(k[p>>2]|0)+42|0;i[y>>0]=l[y>>0]|k[v>>2]<<3;if(!(k[t>>2]|0)){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;mv(x,y);r=z;return}i[(k[s>>2]|0)+452>>0]=i[(k[(k[t>>2]|0)+4>>2]|0)+12>>0]|0;x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;mv(x,y);r=z;return}d=k[s>>2]|0;if(k[v>>2]|0){Mh(d,37505,y);x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;mv(x,y);r=z;return}y=Qv(d,0,0,0,k[t>>2]|0,k[u>>2]|0,0,0,k[w>>2]|0,0)|0;k[x>>2]=y;if(k[x>>2]|0){y=(k[x>>2]|0)+55|0;i[y>>0]=i[y>>0]&-4|2}k[t>>2]=0;x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;mv(x,y);r=z;return}function Qv(a,b,c,d,e,f,g,h,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=r;r=r+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;p=ya+332|0;q=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;k[F>>2]=a;k[p>>2]=b;k[q>>2]=c;k[ra>>2]=d;k[sa>>2]=e;k[la>>2]=f;k[G>>2]=g;k[ta>>2]=h;k[s>>2]=n;k[H>>2]=o;k[wa>>2]=0;k[oa>>2]=0;k[va>>2]=0;k[xa>>2]=0;k[ua>>2]=k[k[F>>2]>>2];k[W>>2]=0;k[O>>2]=0;k[ja>>2]=0;k[X>>2]=0;a:do if((((l[(k[ua>>2]|0)+69>>0]|0)==0?(l[(k[F>>2]|0)+454>>0]|0)==0:0)?(k[(k[F>>2]|0)+68>>2]|0)<=0:0)?0==(Mz(k[F>>2]|0)|0):0){o=k[F>>2]|0;if(k[ra>>2]|0){p=Qz(o,k[p>>2]|0,k[q>>2]|0,W)|0;k[ma>>2]=p;if((k[ma>>2]|0)<0)break;if(((i[(k[ua>>2]|0)+144+5>>0]|0)==0?(p=_B(k[F>>2]|0,k[ra>>2]|0)|0,k[oa>>2]=p,(k[oa>>2]|0)!=0?(k[(k[q>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[oa>>2]|0)+64>>2]|0)==(k[(k[(k[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[ma>>2]=1;$B(x,k[F>>2]|0,k[ma>>2]|0,33679,k[W>>2]|0);aC(x,k[ra>>2]|0)|0;x=vx(k[F>>2]|0,0,(k[ra>>2]|0)+8|0)|0;k[oa>>2]=x;if(!(k[oa>>2]|0))break;if((k[ma>>2]|0)==1?(k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)+12>>2]|0)!=(k[(k[oa>>2]|0)+64>>2]|0):0){qa=k[F>>2]|0;k[y>>2]=k[k[oa>>2]>>2];Mh(qa,37030,y);break}if(l[(k[oa>>2]|0)+42>>0]&32){y=Rj(k[oa>>2]|0)|0;k[X>>2]=y}}else{k[oa>>2]=k[o+488>>2];if(!(k[oa>>2]|0))break;y=Nh(k[ua>>2]|0,k[(k[oa>>2]|0)+64>>2]|0)|0;k[ma>>2]=y}k[T>>2]=(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4);if(((Jd(k[k[oa>>2]>>2]|0,28448,7)|0)==0?(l[(k[ua>>2]|0)+144+5>>0]|0)==0:0)?(Jd((k[k[oa>>2]>>2]|0)+7|0,37080,9)|0)!=0:0){qa=k[F>>2]|0;k[C>>2]=k[k[oa>>2]>>2];Mh(qa,37090,C);break}if(k[(k[oa>>2]|0)+12>>2]|0){Mh(k[F>>2]|0,37118,D);break}if(l[(k[oa>>2]|0)+42>>0]&16){Mh(k[F>>2]|0,37143,z);break}if(k[W>>2]|0){D=Zw(k[ua>>2]|0,k[W>>2]|0)|0;k[xa>>2]=D;if(!(k[xa>>2]|0))break;if(Vx(k[F>>2]|0,k[xa>>2]|0)|0)break;if((i[(k[ua>>2]|0)+144+5>>0]|0)==0?(Bi(k[ua>>2]|0,k[xa>>2]|0,0)|0)!=0:0){qa=k[F>>2]|0;k[A>>2]=k[xa>>2];Mh(qa,37177,A);break}if(Sj(k[ua>>2]|0,k[xa>>2]|0,k[k[T>>2]>>2]|0)|0){o=k[F>>2]|0;if(k[H>>2]|0){yx(o,k[ma>>2]|0);break}else{k[$>>2]=k[xa>>2];Mh(o,37211,$);break}}}else{k[v>>2]=k[(k[oa>>2]|0)+8>>2];k[t>>2]=1;while(1){if(!(k[v>>2]|0))break;k[v>>2]=k[(k[v>>2]|0)+20>>2];k[t>>2]=(k[t>>2]|0)+1}$=k[ua>>2]|0;H=k[t>>2]|0;k[B>>2]=k[k[oa>>2]>>2];k[B+4>>2]=H;$=Oh($,37235,B)|0;k[xa>>2]=$;if(!(k[xa>>2]|0))break}k[E>>2]=k[k[T>>2]>>2];if((gx(k[F>>2]|0,18,(k[ma>>2]|0)==1?20521:20540,0,k[E>>2]|0)|0)==0?(k[I>>2]=1,k[I>>2]=(k[ma>>2]|0)==1?3:1,(gx(k[F>>2]|0,k[I>>2]|0,k[xa>>2]|0,k[k[oa>>2]>>2]|0,k[E>>2]|0)|0)==0):0){if(!(k[sa>>2]|0)){Zy(w,k[(k[(k[oa>>2]|0)+4>>2]|0)+((j[(k[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);$=k[F>>2]|0;$=$v($,0,zz(k[ua>>2]|0,55,w,0)|0)|0;k[sa>>2]=$;if(!(k[sa>>2]|0))break;iw(k[sa>>2]|0,k[s>>2]|0)}else lw(k[F>>2]|0,k[sa>>2]|0,33679);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[k[sa>>2]>>2]|0))break;k[u>>2]=k[(k[(k[sa>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)>>2];if((l[k[u>>2]>>0]|0)==53){$=1+(Tf(k[(k[u>>2]|0)+8>>2]|0)|0)|0;k[O>>2]=(k[O>>2]|0)+$}k[I>>2]=(k[I>>2]|0)+1}$=Tf(k[xa>>2]|0)|0;k[Q>>2]=$;if(k[X>>2]|0)o=m[(k[X>>2]|0)+50>>1]|0;else o=1;k[P>>2]=o;$=cE(k[ua>>2]|0,(k[k[sa>>2]>>2]|0)+(k[P>>2]|0)&65535,(k[Q>>2]|0)+(k[O>>2]|0)+1|0,ja)|0;k[va>>2]=$;if(!(i[(k[ua>>2]|0)+69>>0]|0)){k[k[va>>2]>>2]=k[ja>>2];k[ja>>2]=(k[ja>>2]|0)+((k[Q>>2]|0)+1);IR(k[k[va>>2]>>2]|0,k[xa>>2]|0,(k[Q>>2]|0)+1|0)|0;k[(k[va>>2]|0)+12>>2]=k[oa>>2];i[(k[va>>2]|0)+54>>0]=k[la>>2];$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9|((k[la>>2]|0)!=0&1)<<3&255;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-4|((k[W>>2]|0)!=0?0:1)&3;k[(k[va>>2]|0)+24>>2]=k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)+12>>2];j[(k[va>>2]|0)+50>>1]=k[k[sa>>2]>>2];if(k[ta>>2]|0){oH(k[F>>2]|0,k[oa>>2]|0,2,k[ta>>2]|0,0);k[(k[va>>2]|0)+36>>2]=k[ta>>2];k[ta>>2]=0}if((l[(k[(k[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)k[Z>>2]=-1;else k[Z>>2]=0;k[I>>2]=0;k[V>>2]=k[(k[sa>>2]|0)+4>>2];while(1){if((k[I>>2]|0)>=(k[k[sa>>2]>>2]|0))break;pH(k[k[V>>2]>>2]|0);oH(k[F>>2]|0,k[oa>>2]|0,32,k[k[V>>2]>>2]|0,0);if(k[(k[F>>2]|0)+68>>2]|0)break a;$=ny(k[k[V>>2]>>2]|0)|0;k[R>>2]=$;if((l[k[R>>2]>>0]|0)!=152){if((k[oa>>2]|0)==(k[(k[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(k[(k[va>>2]|0)+40>>2]|0)){$=Sy(k[ua>>2]|0,k[sa>>2]|0,0)|0;k[S>>2]=$;k[(k[va>>2]|0)+40>>2]=k[S>>2];if(i[(k[ua>>2]|0)+69>>0]|0)break;k[V>>2]=(k[(k[S>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)}while(0);k[K>>2]=-2;j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=-2;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9}else{k[K>>2]=j[(k[R>>2]|0)+32>>1];do if((k[K>>2]|0)<0)k[K>>2]=j[(k[oa>>2]|0)+32>>1];else{if(l[(k[(k[oa>>2]|0)+4>>2]|0)+(k[K>>2]<<4)+12>>0]|0)break;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9}while(0);j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=k[K>>2]}k[ia>>2]=0;do if((l[k[k[V>>2]>>2]>>0]|0)==53){k[ia>>2]=k[(k[k[V>>2]>>2]|0)+8>>2];$=(Tf(k[ia>>2]|0)|0)+1|0;k[N>>2]=$;IR(k[ja>>2]|0,k[ia>>2]|0,k[N>>2]|0)|0;k[ia>>2]=k[ja>>2];k[ja>>2]=(k[ja>>2]|0)+(k[N>>2]|0);k[O>>2]=(k[O>>2]|0)-(k[N>>2]|0)}else{if((k[K>>2]|0)<0)break;k[ia>>2]=k[(k[(k[oa>>2]|0)+4>>2]|0)+(k[K>>2]<<4)+8>>2]}while(0);if(!(k[ia>>2]|0))k[ia>>2]=35351;if((i[(k[ua>>2]|0)+144+5>>0]|0)==0?(_z(k[F>>2]|0,k[ia>>2]|0)|0)==0:0)break a;k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=k[ia>>2];k[Y>>2]=l[(k[V>>2]|0)+12>>0]&k[Z>>2];i[(k[(k[va>>2]|0)+28>>2]|0)+(k[I>>2]|0)>>0]=k[Y>>2];k[I>>2]=(k[I>>2]|0)+1;k[V>>2]=(k[V>>2]|0)+20}if((qa|0)==65){Mh(k[F>>2]|0,37258,aa);break}b:do if(k[X>>2]|0){k[K>>2]=0;while(1){if((k[K>>2]|0)>=(m[(k[X>>2]|0)+50>>1]|0))break b;k[fa>>2]=j[(k[(k[X>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1];if(qH(k[(k[va>>2]|0)+4>>2]|0,m[(k[va>>2]|0)+50>>1]|0,k[fa>>2]|0)|0){ja=(k[va>>2]|0)+52|0;j[ja>>1]=(j[ja>>1]|0)+-1<<16>>16}else{j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=k[fa>>2];k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[(k[X>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2];i[(k[(k[va>>2]|0)+28>>2]|0)+(k[I>>2]|0)>>0]=i[(k[(k[X>>2]|0)+28>>2]|0)+(k[K>>2]|0)>>0]|0;k[I>>2]=(k[I>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1}}else{j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=-1;k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=35351}while(0);Qj(k[va>>2]|0);if(!(k[(k[F>>2]|0)+488>>2]|0))rH(k[va>>2]|0);c:do if(k[ra>>2]|0){if((m[(k[va>>2]|0)+52>>1]|0)<(j[(k[oa>>2]|0)+34>>1]|0))break;ja=(k[va>>2]|0)+55|0;i[ja>>0]=i[ja>>0]&-33|32;k[K>>2]=0;while(1){if((k[K>>2]|0)>=(j[(k[oa>>2]|0)+34>>1]|0))break c;if((k[K>>2]|0)!=(j[(k[oa>>2]|0)+32>>1]|0)?((RA(k[va>>2]|0,k[K>>2]&65535)|0)<<16>>16|0)<0:0)break;k[K>>2]=(k[K>>2]|0)+1}ja=(k[va>>2]|0)+55|0;i[ja>>0]=i[ja>>0]&-33}while(0);d:do if((k[oa>>2]|0)==(k[(k[F>>2]|0)+488>>2]|0)){k[U>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(!(k[U>>2]|0))break d;if((m[(k[U>>2]|0)+50>>1]|0)==(m[(k[va>>2]|0)+50>>1]|0)){k[L>>2]=0;while(1){if((k[L>>2]|0)>=(m[(k[U>>2]|0)+50>>1]|0))break;if((j[(k[(k[U>>2]|0)+4>>2]|0)+(k[L>>2]<<1)>>1]|0)!=(j[(k[(k[va>>2]|0)+4>>2]|0)+(k[L>>2]<<1)>>1]|0))break;k[ga>>2]=k[(k[(k[U>>2]|0)+32>>2]|0)+(k[L>>2]<<2)>>2];k[ha>>2]=k[(k[(k[va>>2]|0)+32>>2]|0)+(k[L>>2]<<2)>>2];if(sg(k[ga>>2]|0,k[ha>>2]|0)|0)break;k[L>>2]=(k[L>>2]|0)+1}if((k[L>>2]|0)==(m[(k[U>>2]|0)+50>>1]|0))break}k[U>>2]=k[(k[U>>2]|0)+20>>2]}do if((l[(k[U>>2]|0)+54>>0]|0)!=(l[(k[va>>2]|0)+54>>0]|0)){do if((l[(k[U>>2]|0)+54>>0]|0)!=10){if((l[(k[va>>2]|0)+54>>0]|0)==10)break;qa=k[F>>2]|0;k[ba>>2]=0;Mh(qa,37319,ba)}while(0);if((l[(k[U>>2]|0)+54>>0]|0)!=10)break;i[(k[U>>2]|0)+54>>0]=i[(k[va>>2]|0)+54>>0]|0}while(0);k[wa>>2]=k[U>>2];break a}while(0);do if(i[(k[ua>>2]|0)+144+5>>0]|0){o=ak((k[(k[va>>2]|0)+24>>2]|0)+24|0,k[k[va>>2]>>2]|0,k[va>>2]|0)|0;k[na>>2]=o;o=k[ua>>2]|0;if(k[na>>2]|0){vh(o);break a}na=o+24|0;k[na>>2]=k[na>>2]|2;if(!(k[ra>>2]|0))break;k[(k[va>>2]|0)+44>>2]=k[(k[ua>>2]|0)+144>>2]}else{if(!((k[ra>>2]|0)!=0?1:(l[(k[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(k[F>>2]|0)+76|0;na=(k[ja>>2]|0)+1|0;k[ja>>2]=na;k[J>>2]=na;na=jx(k[F>>2]|0)|0;k[_>>2]=na;if(!(k[_>>2]|0))break a;xx(k[F>>2]|0,1,k[ma>>2]|0);na=tx(k[_>>2]|0,159)|0;k[(k[va>>2]|0)+44>>2]=na;lx(k[_>>2]|0,131,k[ma>>2]|0,k[J>>2]|0)|0;if(k[G>>2]|0){k[M>>2]=(k[(k[F>>2]|0)+508>>2]|0)-(k[k[W>>2]>>2]|0)+(k[(k[F>>2]|0)+508+4>>2]|0);if((i[(k[k[W>>2]>>2]|0)+((k[M>>2]|0)-1)>>0]|0)==59)k[M>>2]=(k[M>>2]|0)+-1;na=k[ua>>2]|0;ia=k[M>>2]|0;ja=k[k[W>>2]>>2]|0;k[ca>>2]=(k[la>>2]|0)==0?19018:37361;k[ca+4>>2]=ia;k[ca+8>>2]=ja;na=Oh(na,37369,ca)|0;k[ka>>2]=na}else k[ka>>2]=0;na=k[F>>2]|0;fa=(k[ma>>2]|0)==1?20521:20540;ga=k[k[va>>2]>>2]|0;ha=k[k[oa>>2]>>2]|0;ia=k[J>>2]|0;ja=k[ka>>2]|0;k[da>>2]=k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)>>2];k[da+4>>2]=fa;k[da+8>>2]=ga;k[da+12>>2]=ha;k[da+16>>2]=ia;k[da+20>>2]=ja;ix(na,37389,da);bg(k[ua>>2]|0,k[ka>>2]|0);if(k[ra>>2]|0){pA(k[F>>2]|0,k[va>>2]|0,k[J>>2]|0);kx(k[F>>2]|0,k[ma>>2]|0);ka=k[_>>2]|0;ma=k[ma>>2]|0;na=k[ua>>2]|0;k[ea>>2]=k[k[va>>2]>>2];mx(ka,ma,Oh(na,37437,ea)|0);Uz(k[_>>2]|0,148,0)|0}aA(k[_>>2]|0,k[(k[va>>2]|0)+44>>2]|0)}while(0);if(!((k[ra>>2]|0)==0?1:(l[(k[ua>>2]|0)+144+5>>0]|0)!=0))break;do if((k[la>>2]|0)!=5)qa=139;else{if(!(k[(k[oa>>2]|0)+8>>2]|0)){qa=139;break}if((l[(k[(k[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=139;break}k[pa>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(k[(k[pa>>2]|0)+20>>2]|0)f=(l[(k[(k[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else f=0;o=k[(k[pa>>2]|0)+20>>2]|0;if(!f)break;k[pa>>2]=o}k[(k[va>>2]|0)+20>>2]=o;k[(k[pa>>2]|0)+20>>2]=k[va>>2]}while(0);if((qa|0)==139){k[(k[va>>2]|0)+20>>2]=k[(k[oa>>2]|0)+8>>2];k[(k[oa>>2]|0)+8>>2]=k[va>>2]}k[wa>>2]=k[va>>2];k[va>>2]=0}}}while(0);if(!(k[va>>2]|0)){qa=k[ua>>2]|0;va=k[ta>>2]|0;qv(qa,va);va=k[ua>>2]|0;ta=k[sa>>2]|0;mv(va,ta);ta=k[ua>>2]|0;va=k[ra>>2]|0;pv(ta,va);va=k[ua>>2]|0;xa=k[xa>>2]|0;bg(va,xa);xa=k[wa>>2]|0;r=ya;return xa|0}sH(k[ua>>2]|0,k[va>>2]|0);qa=k[ua>>2]|0;va=k[ta>>2]|0;qv(qa,va);va=k[ua>>2]|0;ta=k[sa>>2]|0;mv(va,ta);ta=k[ua>>2]|0;va=k[ra>>2]|0;pv(ta,va);va=k[ua>>2]|0;xa=k[xa>>2]|0;bg(va,xa);xa=k[wa>>2]|0;r=ya;return xa|0}function Rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+488>>2];k[e>>2]=k[k[c>>2]>>2];if(((k[f>>2]|0)!=0?(i[(k[c>>2]|0)+454>>0]|0)==0:0)?(Ri(k[(k[(k[e>>2]|0)+16>>2]|0)+(l[(k[e>>2]|0)+144+4>>0]<<4)+4>>2]|0)|0)==0:0){a=$v(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,k[d>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;if(!(k[(k[c>>2]|0)+328+4>>2]|0)){r=g;return}aw(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[c>>2]|0)+328|0,1);r=g;return}qv(k[k[c>>2]>>2]|0,k[d>>2]|0);r=g;return}function Sv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;B=E+16|0;n=E+8|0;m=E;o=E+80|0;p=E+76|0;f=E+72|0;q=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;h=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;g=E+28|0;v=E+24|0;w=E+20|0;k[o>>2]=a;k[p>>2]=b;k[f>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=k[k[o>>2]>>2];k[z>>2]=0;k[y>>2]=k[(k[o>>2]|0)+488>>2];a:do if((k[y>>2]|0)!=0?(l[(k[o>>2]|0)+454>>0]|0)==0:0){if(!(k[p>>2]|0)){k[g>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;if((k[g>>2]|0)<0)break;if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=1:0){D=k[o>>2]|0;C=k[f>>2]|0;k[m>>2]=k[(k[(k[y>>2]|0)+4>>2]|0)+(k[g>>2]<<4)>>2];k[m+4>>2]=C;Mh(D,36827,m);break}k[x>>2]=1}else{if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[p>>2]>>2]|0):0){Mh(k[o>>2]|0,36890,n);break}k[x>>2]=k[k[p>>2]>>2]}k[h>>2]=44+((k[x>>2]|0)-1<<3)+(k[(k[f>>2]|0)+4>>2]|0)+1;b:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[q>>2]>>2]|0))break b;n=(Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;k[h>>2]=(k[h>>2]|0)+n;k[u>>2]=(k[u>>2]|0)+1}}while(0);n=k[h>>2]|0;n=Bh(k[t>>2]|0,n,((n|0)<0)<<31>>31)|0;k[z>>2]=n;if(k[z>>2]|0){k[k[z>>2]>>2]=k[y>>2];k[(k[z>>2]|0)+4>>2]=k[(k[y>>2]|0)+16>>2];k[C>>2]=(k[z>>2]|0)+36+(k[x>>2]<<3);k[(k[z>>2]|0)+8>>2]=k[C>>2];IR(k[C>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[C>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;dx(k[C>>2]|0);k[C>>2]=(k[C>>2]|0)+((k[(k[f>>2]|0)+4>>2]|0)+1);k[(k[z>>2]|0)+20>>2]=k[x>>2];c:do if(!(k[p>>2]|0))k[(k[z>>2]|0)+36>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;else{k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break c;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;n=(sg(k[(k[(k[y>>2]|0)+4>>2]|0)+(k[v>>2]<<4)>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)==0;f=k[v>>2]|0;if(n){D=25;break}k[v>>2]=f+1}if((D|0)==25){D=0;k[(k[z>>2]|0)+36+(k[u>>2]<<3)>>2]=f}if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;k[u>>2]=(k[u>>2]|0)+1}D=k[o>>2]|0;k[B>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2];Mh(D,36984,B);break a}while(0);d:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break d;D=Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0;k[w>>2]=D;k[(k[z>>2]|0)+36+(k[u>>2]<<3)+4>>2]=k[C>>2];IR(k[C>>2]|0,k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0,k[w>>2]|0)|0;i[(k[C>>2]|0)+(k[w>>2]|0)>>0]=0;k[C>>2]=(k[C>>2]|0)+((k[w>>2]|0)+1);k[u>>2]=(k[u>>2]|0)+1}}while(0);i[(k[z>>2]|0)+24>>0]=0;i[(k[z>>2]|0)+25>>0]=k[s>>2];i[(k[z>>2]|0)+25+1>>0]=k[s>>2]>>8;D=ak((k[(k[y>>2]|0)+64>>2]|0)+56|0,k[(k[z>>2]|0)+8>>2]|0,k[z>>2]|0)|0;k[A>>2]=D;if((k[A>>2]|0)==(k[z>>2]|0)){vh(k[t>>2]|0);break}if(k[A>>2]|0){k[(k[z>>2]|0)+12>>2]=k[A>>2];k[(k[A>>2]|0)+16>>2]=k[z>>2]}k[(k[y>>2]|0)+16>>2]=k[z>>2];k[z>>2]=0}}while(0);bg(k[t>>2]|0,k[z>>2]|0);mv(k[t>>2]|0,k[p>>2]|0);mv(k[t>>2]|0,k[q>>2]|0);r=E;return}function Tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=k[(k[g>>2]|0)+488>>2]|0;k[e>>2]=a;if(!a){r=f;return}g=k[(k[e>>2]|0)+16>>2]|0;k[d>>2]=g;if(!g){r=f;return}i[(k[d>>2]|0)+24>>0]=k[c>>2];r=f;return}function Uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;g=l+16|0;f=l+12|0;i=l+8|0;e=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;b=k[(k[c>>2]|0)+488>>2]|0;k[g>>2]=b;if(!b){r=l;return}k[f>>2]=(j[(k[g>>2]|0)+34>>1]|0)-1;k[e>>2]=k[k[c>>2]>>2];b=Zw(k[e>>2]|0,k[d>>2]|0)|0;k[i>>2]=b;if(!(k[i>>2]|0)){r=l;return}b=(_z(k[c>>2]|0,k[i>>2]|0)|0)!=0;c=k[e>>2]|0;if(!b){bg(c,k[i>>2]|0);r=l;return}bg(c,k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]|0);k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]=k[i>>2];k[h>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[k[(k[h>>2]|0)+4>>2]>>1]|0)==(k[f>>2]|0))k[k[(k[h>>2]|0)+32>>2]>>2]=k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=l;return}function Vv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;t=x+16|0;s=x+8|0;q=x;e=x+64|0;f=x+60|0;g=x+56|0;h=x+52|0;o=x+48|0;p=x+44|0;m=x+40|0;n=x+36|0;j=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=k[k[e>>2]>>2];do if((i[(k[m>>2]|0)+69>>0]|0)==0?(Mz(k[e>>2]|0)|0)==0:0){if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}a=vx(k[e>>2]|0,k[g>>2]|0,(k[f>>2]|0)+8|0)|0;k[o>>2]=a;if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}if(!(k[o>>2]|0)){if(!(k[h>>2]|0))break;WB(k[e>>2]|0,k[(k[f>>2]|0)+8+4>>2]|0);break}a=Nh(k[m>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[n>>2]=a;if((l[(k[o>>2]|0)+42>>0]&16|0)!=0?(Wx(k[e>>2]|0,k[o>>2]|0)|0)!=0:0)break;k[w>>2]=(k[n>>2]|0)==1?20521:20540;k[v>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2];k[u>>2]=0;if(!(gx(k[e>>2]|0,9,k[w>>2]|0,0,k[v>>2]|0)|0)){do if(k[g>>2]|0)if((k[n>>2]|0)==1){k[j>>2]=15;break}else{k[j>>2]=17;break}else{if(l[(k[o>>2]|0)+42>>0]&16){k[j>>2]=30;w=(Xx(k[m>>2]|0,k[o>>2]|0)|0)+4|0;k[u>>2]=k[(k[w>>2]|0)+4>>2];break}if((k[n>>2]|0)==1){k[j>>2]=13;break}else{k[j>>2]=11;break}}while(0);if((gx(k[e>>2]|0,k[j>>2]|0,k[k[o>>2]>>2]|0,k[u>>2]|0,k[v>>2]|0)|0)==0?(gx(k[e>>2]|0,9,k[k[o>>2]>>2]|0,0,k[v>>2]|0)|0)==0:0){if((Jd(k[k[o>>2]>>2]|0,28448,7)|0)==0?(Jd(k[k[o>>2]>>2]|0,36620,11)|0)!=0:0){w=k[e>>2]|0;k[q>>2]=k[k[o>>2]>>2];Mh(w,36632,q);break}if((k[g>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)==0:0){w=k[e>>2]|0;k[s>>2]=k[k[o>>2]>>2];Mh(w,36660,s);break}if((k[g>>2]|0)==0?(k[(k[o>>2]|0)+12>>2]|0)!=0:0){w=k[e>>2]|0;k[t>>2]=k[k[o>>2]>>2];Mh(w,36694,t);break}w=jx(k[e>>2]|0)|0;k[p>>2]=w;if(k[p>>2]|0){xx(k[e>>2]|0,1,k[n>>2]|0);MC(k[e>>2]|0,k[n>>2]|0,31454,k[k[o>>2]>>2]|0);jH(k[e>>2]|0,k[f>>2]|0,k[o>>2]|0);kH(k[e>>2]|0,k[o>>2]|0,k[n>>2]|0,k[g>>2]|0)}}}}while(0);pv(k[m>>2]|0,k[f>>2]|0);r=x;return}function Wv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+96|0;w=D+88|0;m=D+84|0;n=D+80|0;o=D+76|0;x=D+72|0;y=D+68|0;p=D+64|0;q=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;k[w>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[x>>2]=e;k[y>>2]=f;k[p>>2]=g;k[q>>2]=h;k[u>>2]=0;k[z>>2]=k[k[w>>2]>>2];g=k[w>>2]|0;if((j[(k[w>>2]|0)+444>>1]|0)<=0){Hv(g,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1,0,k[q>>2]|0);k[t>>2]=k[(k[w>>2]|0)+488>>2];if((((k[t>>2]|0)!=0?(k[(k[w>>2]|0)+68>>2]|0)==0:0)?(Qz(k[w>>2]|0,k[n>>2]|0,k[o>>2]|0,u)|0,q=Nh(k[z>>2]|0,k[(k[t>>2]|0)+64>>2]|0)|0,k[s>>2]=q,$B(v,k[w>>2]|0,k[s>>2]|0,36615,k[u>>2]|0),(bC(v,k[y>>2]|0)|0)==0):0)?(v=by(k[z>>2]|0,k[y>>2]|0,1)|0,k[(k[t>>2]|0)+12>>2]=v,v=Sy(k[z>>2]|0,k[x>>2]|0,1)|0,k[(k[t>>2]|0)+24>>2]=v,(i[(k[z>>2]|0)+69>>0]|0)==0):0){v=(k[w>>2]|0)+508|0;k[B>>2]=k[v>>2];k[B+4>>2]=k[v+4>>2];if((i[k[B>>2]>>0]|0)!=59)k[B>>2]=(k[B>>2]|0)+(k[B+4>>2]|0);k[B+4>>2]=0;k[A>>2]=(k[B>>2]|0)-(k[k[m>>2]>>2]|0);k[C>>2]=k[k[m>>2]>>2];while(1){g=k[A>>2]|0;if(!(l[19019+(l[(k[C>>2]|0)+((k[A>>2]|0)-1)>>0]|0)>>0]&1))break;k[A>>2]=g+-1}k[B>>2]=(k[C>>2]|0)+(g-1);k[B+4>>2]=1;Jv(k[w>>2]|0,0,B,0,0)}}else Mh(g,36579,D);nv(k[z>>2]|0,k[y>>2]|0);mv(k[z>>2]|0,k[x>>2]|0);r=D;return}function Xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=r;r=r+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;f=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+256|0;Y=Ca+252|0;da=Ca+248|0;n=Ca+244|0;q=Ca+240|0;g=Ca+236|0;t=Ca+232|0;o=Ca+228|0;e=Ca+208|0;s=Ca+204|0;d=Ca+200|0;v=Ca+196|0;h=Ca+192|0;u=Ca+188|0;p=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;k[O>>2]=a;k[P>>2]=b;k[Q>>2]=c;k[ka>>2]=0;k[ra>>2]=1;k[da>>2]=k[(k[O>>2]|0)+468>>2];c=(k[O>>2]|0)+472|0;a=k[c>>2]|0;k[c>>2]=a+1;k[(k[O>>2]|0)+468>>2]=a;k[Y>>2]=k[k[O>>2]>>2];if(((k[P>>2]|0)!=0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0)?(k[(k[O>>2]|0)+68>>2]|0)==0:0){if(gx(k[O>>2]|0,21,0,0,0)|0){k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}b=wa;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if((l[k[Q>>2]>>0]|0)<=8){mv(k[Y>>2]|0,k[(k[P>>2]|0)+44>>2]|0);k[(k[P>>2]|0)+44>>2]=0;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]&-2}oy(k[O>>2]|0,k[P>>2]|0,0);k[ya>>2]=0;k[ya+4>>2]=0;k[ya+8>>2]=0;k[ya+12>>2]=0;k[ya+16>>2]=0;k[ya+20>>2]=0;k[ya+24>>2]=0;k[ya+28>>2]=0;k[ya>>2]=k[(k[P>>2]|0)+44>>2];k[oa>>2]=k[(k[P>>2]|0)+28>>2];a:do if(((k[(k[O>>2]|0)+68>>2]|0)==0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0)?(k[f>>2]=(k[(k[P>>2]|0)+8>>2]&8|0)!=0&1,(rG(k[O>>2]|0,k[Q>>2]|0,k[k[k[P>>2]>>2]>>2]|0)|0)==0):0){k[_>>2]=0;while(1){if(k[(k[P>>2]|0)+48>>2]|0)break;if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[n>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[q>>2]=k[(k[n>>2]|0)+20>>2];k[t>>2]=k[(k[n>>2]|0)+16>>2];if(k[q>>2]|0){if((j[(k[t>>2]|0)+34>>1]|0)!=(k[k[k[q>>2]>>2]>>2]|0)){y=17;break}k[g>>2]=(k[(k[q>>2]|0)+8>>2]&8|0)!=0&1;if(sG(k[O>>2]|0,k[P>>2]|0,k[_>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){if(k[g>>2]|0){k[f>>2]=1;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]|8}k[_>>2]=-1}k[oa>>2]=k[(k[P>>2]|0)+28>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break a;if((l[k[Q>>2]>>0]|0)>8)k[ya>>2]=k[(k[P>>2]|0)+44>>2]}k[_>>2]=(k[_>>2]|0)+1}if((y|0)==17){Ba=k[O>>2]|0;za=k[k[t>>2]>>2]|0;Aa=k[k[k[q>>2]>>2]>>2]|0;k[w>>2]=j[(k[t>>2]|0)+34>>1];k[w+4>>2]=za;k[w+8>>2]=Aa;Mh(Ba,36094,w);break}w=jx(k[O>>2]|0)|0;k[Ba>>2]=w;if(k[Ba>>2]|0){if(k[(k[P>>2]|0)+48>>2]|0){Ba=tG(k[O>>2]|0,k[P>>2]|0,k[Q>>2]|0)|0;k[ra>>2]=Ba;k[(k[O>>2]|0)+468>>2]=k[da>>2];k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[o>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[s>>2]=k[(k[o>>2]|0)+20>>2];do if(k[s>>2]|0){if(k[(k[o>>2]|0)+24>>2]|0){if((l[(k[o>>2]|0)+36+1>>0]|0)>>>4&1)break;lx(k[Ba>>2]|0,14,k[(k[o>>2]|0)+28>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;break}t=uG(k[P>>2]|0)|0;w=(k[O>>2]|0)+464|0;k[w>>2]=(k[w>>2]|0)+t;if(!(l[(k[o>>2]|0)+36>>0]&32))vG(k[Y>>2]|0,k[s>>2]|0,k[(k[P>>2]|0)+32>>2]|0,k[(k[o>>2]|0)+44>>2]|0)|0;do if(!(k[_>>2]|0)){if((k[k[oa>>2]>>2]|0)!=1?(l[(k[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=43;break}if(k[(k[P>>2]|0)+8>>2]&2){y=43;break}if(m[(k[Y>>2]|0)+64>>1]&256){y=43;break}t=(Yz(k[Ba>>2]|0)|0)+1|0;k[d>>2]=t;t=(k[O>>2]|0)+76|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;px(k[Ba>>2]|0,15,k[(k[o>>2]|0)+28>>2]|0,0,k[d>>2]|0)|0;k[(k[o>>2]|0)+24>>2]=k[d>>2];uB(e,13,k[(k[o>>2]|0)+28>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+472>>2];Xv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;w=(k[o>>2]|0)+36+1|0;i[w>>0]=i[w>>0]&-17|16;k[(k[o>>2]|0)+32>>2]=k[e+8>>2];UC(k[Ba>>2]|0,k[(k[o>>2]|0)+28>>2]|0);aA(k[Ba>>2]|0,(k[d>>2]|0)-1|0);wG(k[O>>2]|0)}else y=43;while(0);if((y|0)==43){y=0;k[h>>2]=0;t=(k[O>>2]|0)+76|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;w=lx(k[Ba>>2]|0,74,0,k[(k[o>>2]|0)+28>>2]|0)|0;k[v>>2]=w;k[(k[o>>2]|0)+24>>2]=(k[v>>2]|0)+1;if(!((l[(k[o>>2]|0)+36+1>>0]|0)>>>3&1)){w=pB(k[O>>2]|0)|0;k[h>>2]=w}uB(e,12,k[(k[o>>2]|0)+44>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+472>>2];Xv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;if(k[h>>2]|0)aA(k[Ba>>2]|0,k[h>>2]|0);w=Uz(k[Ba>>2]|0,70,k[(k[o>>2]|0)+28>>2]|0)|0;k[u>>2]=w;TD(k[Ba>>2]|0,k[v>>2]|0,k[u>>2]|0);wG(k[O>>2]|0)}if(i[(k[Y>>2]|0)+69>>0]|0)break a;t=uG(k[P>>2]|0)|0;w=(k[O>>2]|0)+464|0;k[w>>2]=(k[w>>2]|0)-t}while(0);k[_>>2]=(k[_>>2]|0)+1}k[ka>>2]=k[k[P>>2]>>2];k[L>>2]=k[(k[P>>2]|0)+32>>2];k[la>>2]=k[(k[P>>2]|0)+36>>2];k[ma>>2]=k[(k[P>>2]|0)+40>>2];i[xa>>0]=(k[(k[P>>2]|0)+8>>2]&1|0)!=0;if((k[(k[P>>2]|0)+8>>2]&9|0)==1?(Ny(k[ya>>2]|0,k[ka>>2]|0,-1)|0)==0:0){y=(k[P>>2]|0)+8|0;k[y>>2]=k[y>>2]&-2;y=Sy(k[Y>>2]|0,k[ka>>2]|0,0)|0;k[(k[P>>2]|0)+36>>2]=y;k[la>>2]=y}if(k[ya>>2]|0){w=xG(k[O>>2]|0,k[ya>>2]|0,0,k[k[ka>>2]>>2]|0)|0;k[p>>2]=w;w=(k[O>>2]|0)+72|0;y=k[w>>2]|0;k[w>>2]=y+1;k[ya+8>>2]=y;y=ox(k[Ba>>2]|0,105,k[ya+8>>2]|0,(k[k[ya>>2]>>2]|0)+1+(k[k[ka>>2]>>2]|0)|0,0,k[p>>2]|0,-6)|0;k[ya+20>>2]=y}else k[ya+20>>2]=-1;if((l[k[Q>>2]>>0]|0)==12)lx(k[Ba>>2]|0,105,k[(k[Q>>2]|0)+4>>2]|0,k[k[ka>>2]>>2]|0)|0;y=Zz(k[Ba>>2]|0)|0;k[ca>>2]=y;j[(k[P>>2]|0)+6>>1]=320;yG(k[O>>2]|0,k[P>>2]|0,k[ca>>2]|0);if((k[(k[P>>2]|0)+12>>2]|0)==0?(k[ya+20>>2]|0)>=0:0){zG(k[Ba>>2]|0,k[ya+20>>2]|0,106);y=ya+28|0;i[y>>0]=l[y>>0]|1}if(k[(k[P>>2]|0)+8>>2]&1){y=(k[O>>2]|0)+72|0;w=k[y>>2]|0;k[y>>2]=w+1;k[xa+4>>2]=w;w=k[Ba>>2]|0;y=k[xa+4>>2]|0;y=ox(w,105,y,0,0,xG(k[O>>2]|0,k[k[P>>2]>>2]|0,0,0)|0,-6)|0;k[xa+8>>2]=y;Rh(k[Ba>>2]|0,8);i[xa+1>>0]=3}else i[xa+1>>0]=0;if((k[f>>2]|0)==0&(k[la>>2]|0)==0){j[x>>1]=(l[xa>>0]|0)!=0?1024:0;j[x>>1]=m[x>>1]|k[(k[P>>2]|0)+8>>2]&16384;Aa=mD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[ya>>2]|0,k[k[P>>2]>>2]|0,j[x>>1]|0,j[(k[P>>2]|0)+6>>1]|0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0))break;Aa=(AG(k[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(j[(k[P>>2]|0)+6>>1]|0)){Aa=AG(k[pa>>2]|0)|0;j[(k[P>>2]|0)+6>>1]=Aa}do if(l[xa>>0]|0){if(!(BG(k[pa>>2]|0)|0))break;Aa=(BG(k[pa>>2]|0)|0)&255;i[xa+1>>0]=Aa}while(0);do if(k[ya>>2]|0){Aa=CG(k[pa>>2]|0)|0;k[ya+4>>2]=Aa;if((k[ya+4>>2]|0)!=(k[k[ya>>2]>>2]|0))break;k[ya>>2]=0}while(0);do if((k[ya+20>>2]|0)>=0){if(k[ya>>2]|0)break;MA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ta=k[O>>2]|0;ua=k[P>>2]|0;va=k[ka>>2]|0;za=k[Q>>2]|0;Aa=DG(k[pa>>2]|0)|0;FG(ta,ua,va,-1,ya,xa,za,Aa,EG(k[pa>>2]|0)|0);nD(k[pa>>2]|0)}else{k[Aa>>2]=0;k[za>>2]=0;k[ia>>2]=0;b=k[P>>2]|0;do if(k[la>>2]|0){k[z>>2]=k[k[b>>2]>>2];k[A>>2]=k[(k[k[P>>2]>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}k[z>>2]=k[k[la>>2]>>2];k[A>>2]=k[(k[la>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}if((j[(k[P>>2]|0)+6>>1]|0)<=66)break;j[(k[P>>2]|0)+6>>1]=66}else j[b+6>>1]=0;while(0);if(!(Ny(k[la>>2]|0,k[ya>>2]|0,-1)|0))k[ia>>2]=1;A=Zz(k[Ba>>2]|0)|0;k[S>>2]=A;k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;k[M+24>>2]=0;k[M+28>>2]=0;k[M>>2]=k[O>>2];k[M+4>>2]=k[oa>>2];k[M+12>>2]=wa;k[wa+16>>2]=(k[(k[O>>2]|0)+76>>2]|0)+1;if(k[la>>2]|0)b=k[k[la>>2]>>2]|0;else b=0;k[wa+12>>2]=b;k[wa+24>>2]=k[la>>2];GG(M,k[ka>>2]|0);GG(M,k[ya>>2]|0);if(k[ma>>2]|0)HG(M,k[ma>>2]|0);k[wa+36>>2]=k[wa+32>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+44>>2]|0))break;A=M+28|0;j[A>>1]=m[A>>1]|8;GG(M,k[(k[(k[wa+40>>2]|0)+(k[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;j[A>>1]=m[A>>1]&-9;k[_>>2]=(k[_>>2]|0)+1}k[wa+20>>2]=k[(k[O>>2]|0)+76>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;if(k[la>>2]|0){K=(k[O>>2]|0)+72|0;M=k[K>>2]|0;k[K>>2]=M+1;k[wa+4>>2]=M;M=xG(k[O>>2]|0,k[la>>2]|0,0,k[wa+32>>2]|0)|0;k[na>>2]=M;M=ox(k[Ba>>2]|0,106,k[wa+4>>2]|0,k[wa+12>>2]|0,0,k[na>>2]|0,-6)|0;k[W>>2]=M;M=(k[O>>2]|0)+76|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ea>>2]=K;K=(k[O>>2]|0)+76|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[aa>>2]=M;M=(k[O>>2]|0)+76|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ta>>2]=K;K=Zz(k[Ba>>2]|0)|0;k[T>>2]=K;K=(k[O>>2]|0)+76|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[va>>2]=M;M=Zz(k[Ba>>2]|0)|0;k[U>>2]=M;k[$>>2]=(k[(k[O>>2]|0)+76>>2]|0)+1;M=(k[O>>2]|0)+76|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);k[ba>>2]=(k[(k[O>>2]|0)+76>>2]|0)+1;M=(k[O>>2]|0)+76|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);lx(k[Ba>>2]|0,74,0,k[aa>>2]|0)|0;lx(k[Ba>>2]|0,74,0,k[ea>>2]|0)|0;px(k[Ba>>2]|0,77,0,k[$>>2]|0,(k[$>>2]|0)+(k[k[la>>2]>>2]|0)-1|0)|0;lx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;M=mD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[la>>2]|0,0,(256|((k[ia>>2]|0)!=0?2048:0))&65535,0)|0;k[pa>>2]=M;if(!(k[pa>>2]|0))break;M=CG(k[pa>>2]|0)|0;if((M|0)==(k[k[la>>2]>>2]|0))k[Z>>2]=0;else{if(l[xa>>0]|0)b=(k[(k[P>>2]|0)+8>>2]&1|0)==0;else b=0;IG(k[O>>2]|0,b?36134:36143);k[Z>>2]=1;k[ha>>2]=k[k[la>>2]>>2];k[ga>>2]=k[ha>>2];k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;if((k[(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0)+12>>2]|0)>=(k[fa>>2]|0)){k[ga>>2]=(k[ga>>2]|0)+1;k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}M=HA(k[O>>2]|0,k[ga>>2]|0)|0;k[sa>>2]=M;BC(k[O>>2]|0);bB(k[O>>2]|0,k[la>>2]|0,k[sa>>2]|0,0,0)|0;k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;k[ja>>2]=(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0);if((k[(k[ja>>2]|0)+12>>2]|0)>=(k[fa>>2]|0)){k[qa>>2]=(k[fa>>2]|0)+(k[sa>>2]|0);SD(k[O>>2]|0,k[k[ja>>2]>>2]|0,k[(k[ja>>2]|0)+8>>2]|0,k[(k[ja>>2]|0)+4>>2]|0,k[qa>>2]|0);k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}qa=rA(k[O>>2]|0)|0;k[ua>>2]=qa;px(k[Ba>>2]|0,96,k[sa>>2]|0,k[ga>>2]|0,k[ua>>2]|0)|0;lx(k[Ba>>2]|0,123,k[wa+4>>2]|0,k[ua>>2]|0)|0;vA(k[O>>2]|0,k[ua>>2]|0);KA(k[O>>2]|0,k[sa>>2]|0,k[ga>>2]|0);nD(k[pa>>2]|0);sa=(k[O>>2]|0)+72|0;ua=k[sa>>2]|0;k[sa>>2]=ua+1;k[Aa>>2]=ua;k[wa+8>>2]=ua;ua=rA(k[O>>2]|0)|0;k[za>>2]=ua;px(k[Ba>>2]|0,108,k[Aa>>2]|0,k[za>>2]|0,k[ga>>2]|0)|0;lx(k[Ba>>2]|0,42,k[wa+4>>2]|0,k[S>>2]|0)|0;i[wa+1>>0]=1;BC(k[O>>2]|0)}do if(k[ia>>2]|0){if(m[(k[Y>>2]|0)+64>>1]&4)break;if((k[Z>>2]|0)==0?(JG(k[pa>>2]|0)|0)==0:0)break;k[ya>>2]=0;MA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ua=Yz(k[Ba>>2]|0)|0;k[X>>2]=ua;BC(k[O>>2]|0);if(k[Z>>2]|0)px(k[Ba>>2]|0,118,k[wa+4>>2]|0,k[za>>2]|0,k[Aa>>2]|0)|0;k[fa>>2]=0;while(1){if((k[fa>>2]|0)>=(k[k[la>>2]>>2]|0))break;if(k[Z>>2]|0)px(k[Ba>>2]|0,94,k[Aa>>2]|0,k[fa>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)|0;else{i[wa>>0]=1;UA(k[O>>2]|0,k[(k[(k[la>>2]|0)+4>>2]|0)+((k[fa>>2]|0)*20|0)>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)}k[fa>>2]=(k[fa>>2]|0)+1}sa=k[Ba>>2]|0;ua=k[$>>2]|0;za=k[ba>>2]|0;Aa=k[k[la>>2]>>2]|0;ox(sa,93,ua,za,Aa,qA(k[na>>2]|0)|0,-6)|0;Aa=Yz(k[Ba>>2]|0)|0;k[R>>2]=Aa;px(k[Ba>>2]|0,18,(k[R>>2]|0)+1|0,0,(k[R>>2]|0)+1|0)|0;KG(k[O>>2]|0,k[ba>>2]|0,k[$>>2]|0,k[k[la>>2]>>2]|0);lx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;lx(k[Ba>>2]|0,64,k[aa>>2]|0,k[S>>2]|0)|0;lx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;aA(k[Ba>>2]|0,k[R>>2]|0);LG(k[O>>2]|0,wa);lx(k[Ba>>2]|0,74,1,k[ea>>2]|0)|0;if(k[Z>>2]|0)lx(k[Ba>>2]|0,3,k[wa+4>>2]|0,k[X>>2]|0)|0;else{nD(k[pa>>2]|0);MA(k[Ba>>2]|0,k[W>>2]|0)|0}lx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;$z(k[Ba>>2]|0,k[S>>2]|0)|0;Aa=Yz(k[Ba>>2]|0)|0;k[V>>2]=Aa;lx(k[Ba>>2]|0,74,1,k[aa>>2]|0)|0;Uz(k[Ba>>2]|0,70,k[ta>>2]|0)|0;bA(k[Ba>>2]|0,k[T>>2]|0);Aa=Yz(k[Ba>>2]|0)|0;k[T>>2]=Aa;lx(k[Ba>>2]|0,64,k[ea>>2]|0,(k[T>>2]|0)+2|0)|0;Uz(k[Ba>>2]|0,70,k[ta>>2]|0)|0;MG(k[O>>2]|0,wa);gB(k[O>>2]|0,k[ma>>2]|0,(k[T>>2]|0)+1|0,16);FG(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,ya,xa,k[Q>>2]|0,(k[T>>2]|0)+1|0,k[V>>2]|0);Uz(k[Ba>>2]|0,70,k[ta>>2]|0)|0;bA(k[Ba>>2]|0,k[U>>2]|0);NG(k[O>>2]|0,wa);Uz(k[Ba>>2]|0,70,k[va>>2]|0)|0}else{k[G>>2]=0;Aa=OG(k[P>>2]|0,wa)|0;k[K>>2]=Aa;if(Aa){za=Nh(k[k[O>>2]>>2]|0,k[(k[K>>2]|0)+64>>2]|0)|0;k[D>>2]=za;za=(k[O>>2]|0)+72|0;Aa=k[za>>2]|0;k[za>>2]=Aa+1;k[C>>2]=Aa;k[I>>2]=0;k[F>>2]=0;k[E>>2]=k[(k[K>>2]|0)+28>>2];yx(k[O>>2]|0,k[D>>2]|0);Vz(k[O>>2]|0,k[D>>2]|0,k[(k[K>>2]|0)+28>>2]|0,0,k[k[K>>2]>>2]|0);if(l[(k[K>>2]|0)+42>>0]&32){Aa=Rj(k[K>>2]|0)|0;k[F>>2]=Aa}k[H>>2]=k[(k[K>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;do if(!((l[(k[H>>2]|0)+55>>0]|0)>>>2&1)){if((j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[K>>2]|0)+40>>1]|0))break;if(k[(k[H>>2]|0)+36>>2]|0)break;if((k[F>>2]|0)!=0?(j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[F>>2]|0)+48>>1]|0):0)break;k[F>>2]=k[H>>2]}while(0);k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[F>>2]|0){k[E>>2]=k[(k[F>>2]|0)+44>>2];Aa=kA(k[O>>2]|0,k[F>>2]|0)|0;k[I>>2]=Aa}Qh(k[Ba>>2]|0,102,k[C>>2]|0,k[E>>2]|0,k[D>>2]|0,1)|0;if(k[I>>2]|0)Uh(k[Ba>>2]|0,-1,k[I>>2]|0,-6);lx(k[Ba>>2]|0,98,k[C>>2]|0,k[(k[wa+40>>2]|0)+8>>2]|0)|0;Uz(k[Ba>>2]|0,109,k[C>>2]|0)|0;PG(k[O>>2]|0,k[K>>2]|0,k[F>>2]|0)}else{k[J>>2]=0;i[B>>0]=0;if(!(k[(k[P>>2]|0)+40>>2]|0)){Aa=QG(wa,J)|0;i[B>>0]=Aa}do if(i[B>>0]|0){Aa=Sy(k[Y>>2]|0,k[J>>2]|0,0)|0;k[J>>2]=Aa;k[G>>2]=k[J>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;i[(k[(k[J>>2]|0)+4>>2]|0)+12>>0]=(l[B>>0]|0)!=1?1:0;i[k[k[(k[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);NG(k[O>>2]|0,wa);Aa=mD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[J>>2]|0,0,l[B>>0]|0,0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0)){mv(k[Y>>2]|0,k[G>>2]|0);break}LG(k[O>>2]|0,wa);if((CG(k[pa>>2]|0)|0)>0){Aa=k[Ba>>2]|0;$z(Aa,EG(k[pa>>2]|0)|0)|0}nD(k[pa>>2]|0);MG(k[O>>2]|0,wa)}k[ya>>2]=0;gB(k[O>>2]|0,k[ma>>2]|0,k[S>>2]|0,16);FG(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,0,0,k[Q>>2]|0,k[S>>2]|0,k[S>>2]|0);mv(k[Y>>2]|0,k[G>>2]|0)}bA(k[Ba>>2]|0,k[S>>2]|0)}if((l[xa+1>>0]|0)==3)IG(k[O>>2]|0,36134);if(k[ya>>2]|0){IG(k[O>>2]|0,(k[ya+4>>2]|0)>0?36152:36175);RG(k[O>>2]|0,k[P>>2]|0,ya,k[k[ka>>2]>>2]|0,k[Q>>2]|0)}bA(k[Ba>>2]|0,k[ca>>2]|0);k[ra>>2]=(k[(k[O>>2]|0)+68>>2]|0)>0&1}}while(0);k[(k[O>>2]|0)+468>>2]=k[da>>2];if((k[ra>>2]|0)==0?(l[k[Q>>2]>>0]|0)==9:0)SG(k[O>>2]|0,k[oa>>2]|0,k[ka>>2]|0);bg(k[Y>>2]|0,k[wa+28>>2]|0);bg(k[Y>>2]|0,k[wa+40>>2]|0);k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}function Yv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j;c=j+24|0;d=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+48>>2]|0)){r=j;return}k[h>>2]=0;k[e>>2]=0;k[g>>2]=k[d>>2];while(1){if(!(k[g>>2]|0))break;k[(k[g>>2]|0)+52>>2]=k[h>>2];a=(k[g>>2]|0)+8|0;k[a>>2]=k[a>>2]|256;k[h>>2]=k[g>>2];k[g>>2]=k[(k[g>>2]|0)+48>>2];k[e>>2]=(k[e>>2]|0)+1}if(k[(k[d>>2]|0)+8>>2]&1024){r=j;return}a=k[(k[k[c>>2]>>2]|0)+92+16>>2]|0;k[f>>2]=a;if((a|0)<=0){r=j;return}if((k[e>>2]|0)<=(k[f>>2]|0)){r=j;return}Mh(k[c>>2]|0,36060,i);r=j;return}function Zv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;v=x;i=x+44|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=k[k[j>>2]>>2];if((k[l>>2]|0)==0?(k[q>>2]|0)!=0|(k[s>>2]|0)!=0:0){h=k[j>>2]|0;k[v>>2]=(k[q>>2]|0)!=0?36015:36018;Mh(h,36024,v)}else w=4;if(((w|0)==4?(w=gw(k[t>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0,k[l>>2]=w,(k[l>>2]|0)!=0):0)?(k[k[l>>2]>>2]|0)!=0:0){k[u>>2]=(k[l>>2]|0)+8+(((k[k[l>>2]>>2]|0)-1|0)*72|0);if(k[(k[o>>2]|0)+4>>2]|0){w=Zw(k[t>>2]|0,k[o>>2]|0)|0;k[(k[u>>2]|0)+12>>2]=w}k[(k[u>>2]|0)+20>>2]=k[p>>2];k[(k[u>>2]|0)+48>>2]=k[q>>2];k[(k[u>>2]|0)+52>>2]=k[s>>2];k[i>>2]=k[l>>2];w=k[i>>2]|0;r=x;return w|0}qv(k[t>>2]|0,k[q>>2]|0);sv(k[t>>2]|0,k[s>>2]|0);nv(k[t>>2]|0,k[p>>2]|0);k[i>>2]=0;w=k[i>>2]|0;r=x;return w|0}function _v(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+128|0;n=B+112|0;o=B+108|0;p=B+104|0;q=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=l;k[x>>2]=m;k[y>>2]=k[k[n>>2]>>2];h=$w(k[y>>2]|0,68,0)|0;k[z>>2]=h;k[z>>2]=(k[z>>2]|0)==0?A:h;if(!(k[o>>2]|0)){h=k[n>>2]|0;h=$v(h,0,cw(k[y>>2]|0,158,0)|0)|0;k[o>>2]=h}k[k[z>>2]>>2]=k[o>>2];i[(k[z>>2]|0)+4>>0]=119;k[(k[z>>2]|0)+8>>2]=k[v>>2];k[(k[z>>2]|0)+12>>2]=0;k[(k[z>>2]|0)+16>>2]=0;k[(k[z>>2]|0)+20>>2]=-1;k[(k[z>>2]|0)+20+4>>2]=-1;j[(k[z>>2]|0)+6>>1]=0;if(!(k[p>>2]|0)){h=Bh(k[y>>2]|0,80,0)|0;k[p>>2]=h}k[(k[z>>2]|0)+28>>2]=k[p>>2];k[(k[z>>2]|0)+32>>2]=k[q>>2];k[(k[z>>2]|0)+36>>2]=k[s>>2];k[(k[z>>2]|0)+40>>2]=k[t>>2];k[(k[z>>2]|0)+44>>2]=k[u>>2];k[(k[z>>2]|0)+48>>2]=0;k[(k[z>>2]|0)+52>>2]=0;k[(k[z>>2]|0)+56>>2]=k[w>>2];k[(k[z>>2]|0)+60>>2]=k[x>>2];k[(k[z>>2]|0)+64>>2]=0;if(!(i[(k[y>>2]|0)+69>>0]|0)){A=k[z>>2]|0;r=B;return A|0}ov(k[y>>2]|0,k[z>>2]|0,(k[z>>2]|0)!=(A|0)&1);k[z>>2]=0;A=k[z>>2]|0;r=B;return A|0}function $v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;d=j+4|0;i=j;k[l>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[k[l>>2]>>2];if(!(k[f>>2]|0)){l=$w(k[h>>2]|0,8,0)|0;k[f>>2]=l;if((k[f>>2]|0)!=0?(k[k[f>>2]>>2]=0,l=$w(k[h>>2]|0,20,0)|0,k[(k[f>>2]|0)+4>>2]=l,(k[(k[f>>2]|0)+4>>2]|0)!=0):0)d=7;else d=8}else if(!(k[k[f>>2]>>2]&(k[k[f>>2]>>2]|0)-1)){l=_w(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[k[f>>2]>>2]<<1)*20|0,0)|0;k[d>>2]=l;if(!(k[d>>2]|0))d=8;else{k[(k[f>>2]|0)+4>>2]=k[d>>2];d=7}}else d=7;if((d|0)==7){h=k[f>>2]|0;l=k[h>>2]|0;k[h>>2]=l+1;k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(l*20|0);l=k[i>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[k[i>>2]>>2]=k[g>>2];k[e>>2]=k[f>>2];l=k[e>>2]|0;r=j;return l|0}else if((d|0)==8){qv(k[h>>2]|0,k[g>>2]|0);mv(k[h>>2]|0,k[f>>2]|0);k[e>>2]=0;l=k[e>>2]|0;r=j;return l|0}return 0}function aw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0);a=cx(k[k[e>>2]>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[(k[i>>2]|0)+4>>2]=a;if(!(k[h>>2]|0)){r=j;return}dx(k[(k[i>>2]|0)+4>>2]|0);r=j;return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[i>>2]>>2];if(!(k[d>>2]|0)){r=h;return}k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+(((k[k[d>>2]>>2]|0)-1|0)*20|0);bg(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0);i=(k[(k[e>>2]|0)+8>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0;i=cx(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0,i,((i|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+8>>2]=i;r=h;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;k[g>>2]=k[d>>2];if(k[d>>2]|0)d=Tf(k[d>>2]|0)|0;else d=0;k[g+4>>2]=d;g=zz(k[e>>2]|0,k[f>>2]|0,g,0)|0;r=h;return g|0}function dw(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=(k[k[b>>2]>>2]|0)-1;while(1){if((k[c>>2]|0)<=0)break;i[(k[b>>2]|0)+8+((k[c>>2]|0)*72|0)+36>>0]=i[(k[b>>2]|0)+8+(((k[c>>2]|0)-1|0)*72|0)+36>>0]|0;k[c>>2]=(k[c>>2]|0)+-1}i[(k[b>>2]|0)+8+36>>0]=0;r=d;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}if((k[k[e>>2]>>2]|0)<=0){r=h;return}k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);if((k[(k[f>>2]|0)+4>>2]|0)==1?(k[k[f>>2]>>2]|0)==0:0){a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-2|1;r=h;return}a=Zw(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[(k[g>>2]|0)+64>>2]=a;a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-3|((k[(k[g>>2]|0)+64>>2]|0)!=0&1)<<1&255;r=h;return}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);k[(k[g>>2]|0)+64>>2]=k[f>>2];a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-5|4;r=h;return}else{mv(k[k[d>>2]>>2]|0,k[f>>2]|0);r=h;return}}function gw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;l=n+4|0;m=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;do if(!(k[g>>2]|0)){c=$w(k[f>>2]|0,80,0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[g>>2]|0)+4>>2]=1;k[k[g>>2]>>2]=0;break}k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}while(0);c=qG(k[f>>2]|0,k[g>>2]|0,1,k[k[g>>2]>>2]|0)|0;k[g>>2]=c;if(i[(k[f>>2]|0)+69>>0]|0){pv(k[f>>2]|0,k[g>>2]|0);k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+8+(((k[k[g>>2]>>2]|0)-1|0)*72|0);if((k[j>>2]|0)!=0?(k[k[j>>2]>>2]|0)==0:0)k[j>>2]=0;if(k[j>>2]|0){k[m>>2]=k[j>>2];k[j>>2]=k[h>>2];k[h>>2]=k[m>>2]}m=Zw(k[f>>2]|0,k[h>>2]|0)|0;k[(k[l>>2]|0)+8>>2]=m;m=Zw(k[f>>2]|0,k[j>>2]|0)|0;k[(k[l>>2]|0)+4>>2]=m;k[e>>2]=k[g>>2];m=k[e>>2]|0;r=n;return m|0}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;q=u+16|0;p=u;e=u+64|0;f=u+60|0;g=u+56|0;h=u+52|0;n=u+48|0;i=u+36|0;o=u+32|0;j=u+28|0;m=u+24|0;s=u+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[i>>2]=k[f>>2];k[i+4>>2]=k[g>>2];k[i+8>>2]=k[h>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=3)break;if(!(k[i+(k[j>>2]<<2)>>2]|0))break;k[o>>2]=k[i+(k[j>>2]<<2)>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=7)break;if((k[(k[o>>2]|0)+4>>2]|0)==(l[35859+((k[m>>2]|0)*3|0)+1>>0]|0|0)?(Jd(k[k[o>>2]>>2]|0,35880+(l[35859+((k[m>>2]|0)*3|0)>>0]|0)|0,k[(k[o>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}k[m>>2]=(k[m>>2]|0)+1}if((t|0)==8){t=0;k[n>>2]=k[n>>2]|(l[35859+((k[m>>2]|0)*3|0)+2>>0]|0)}if((k[m>>2]|0)>=7){t=11;break}k[j>>2]=(k[j>>2]|0)+1}if((t|0)==11)k[n>>2]=k[n>>2]|64;if((k[n>>2]&33|0)!=33?(k[n>>2]&64|0)==0:0){if(!(k[n>>2]&32)){t=k[n>>2]|0;r=u;return t|0}if((k[n>>2]&24|0)==8){t=k[n>>2]|0;r=u;return t|0}Mh(k[e>>2]|0,35960,q);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}k[s>>2]=35914;if(!(k[h>>2]|0))k[s>>2]=(k[s>>2]|0)+1;t=k[e>>2]|0;a=k[g>>2]|0;q=k[s>>2]|0;s=k[h>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=a;k[p+8>>2]=q;k[p+12>>2]=s;Mh(t,35916,p);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}function iw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)<0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[k[c>>2]>>2]|0)-1|0)*20|0)+12>>0]=k[d>>2];r=e;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;if(!(k[e>>2]|0)){r=g;return}k[(k[e>>2]|0)+4>>2]=k[(k[d>>2]|0)+536>>2];k[(k[d>>2]|0)+536>>2]=k[e>>2];if(!(i[f>>0]|0)){r=g;return}k[(k[d>>2]|0)+540>>2]=k[e>>2];r=g;return}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;h=Y+144|0;O=Y+140|0;Q=Y+136|0;n=Y+132|0;M=Y+128|0;W=Y+120|0;q=Y+88|0;f=Y+84|0;S=Y+80|0;p=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;g=Y+52|0;o=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;d=Y+28|0;x=Y+24|0;R=Y+20|0;E=Y+16|0;s=Y+184|0;e=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;k[H>>2]=a;k[I>>2]=b;k[J>>2]=c;k[O>>2]=0;k[Q>>2]=0;k[S>>2]=-1;k[K>>2]=0;k[g>>2]=0;j[o>>1]=1;k[P>>2]=0;k[C>>2]=0;k[v>>2]=0;k[L>>2]=0;k[d>>2]=0;k[W>>2]=0;k[W+4>>2]=0;k[M>>2]=k[k[H>>2]>>2];a:do if(((k[(k[H>>2]|0)+68>>2]|0)==0?(l[(k[M>>2]|0)+69>>0]|0)==0:0)?(c=_B(k[H>>2]|0,k[I>>2]|0)|0,k[V>>2]=c,(k[V>>2]|0)!=0):0){c=PC(k[H>>2]|0,k[V>>2]|0,109,0,0)|0;k[E>>2]=c;k[R>>2]=(k[(k[V>>2]|0)+12>>2]|0)!=0&1;if(k[E>>2]|0)a=1;else a=($E(k[H>>2]|0,k[V>>2]|0,0,0)|0)!=0;k[x>>2]=a&1;if(((Wx(k[H>>2]|0,k[V>>2]|0)|0)==0?(QC(k[H>>2]|0,k[V>>2]|0,(k[E>>2]|0)!=0?1:0)|0)==0:0)?(c=Nh(k[M>>2]|0,k[(k[V>>2]|0)+64>>2]|0)|0,k[f>>2]=c,k[t>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2],t=gx(k[H>>2]|0,9,k[k[V>>2]>>2]|0,0,k[t>>2]|0)|0,k[p>>2]=t,(k[p>>2]|0)!=1):0){c=(k[H>>2]|0)+72|0;t=k[c>>2]|0;k[c>>2]=t+1;k[(k[I>>2]|0)+8+44>>2]=t;k[h>>2]=t;k[n>>2]=0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break;t=(k[H>>2]|0)+72|0;k[t>>2]=(k[t>>2]|0)+1;k[T>>2]=k[(k[T>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if(k[R>>2]|0)lG(k[H>>2]|0,W,k[k[V>>2]>>2]|0);t=jx(k[H>>2]|0)|0;k[X>>2]=t;if(k[X>>2]|0){if(!(l[(k[H>>2]|0)+18>>0]|0))RC(k[X>>2]|0);xx(k[H>>2]|0,1,k[f>>2]|0);if(k[R>>2]|0){mG(k[H>>2]|0,k[V>>2]|0,k[J>>2]|0,k[h>>2]|0);t=k[h>>2]|0;k[Q>>2]=t;k[O>>2]=t};k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;k[q+24>>2]=0;k[q+28>>2]=0;k[q>>2]=k[H>>2];k[q+4>>2]=k[I>>2];if(!(Cy(q,k[J>>2]|0)|0)){if(k[(k[M>>2]|0)+24>>2]&128){c=(k[H>>2]|0)+76|0;t=(k[c>>2]|0)+1|0;k[c>>2]=t;k[S>>2]=t;lx(k[X>>2]|0,74,0,k[S>>2]|0)|0}b:do if(!((k[p>>2]|0)==0&(k[J>>2]|0)==0^1|(k[x>>2]|0)!=0)?(l[(k[V>>2]|0)+42>>0]&16|0)==0:0){Vz(k[H>>2]|0,k[f>>2]|0,k[(k[V>>2]|0)+28>>2]|0,1,k[k[V>>2]>>2]|0);if(!(l[(k[V>>2]|0)+42>>0]&32))ox(k[X>>2]|0,129,k[(k[V>>2]|0)+28>>2]|0,k[f>>2]|0,k[S>>2]|0,k[k[V>>2]>>2]|0,-2)|0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break b;lx(k[X>>2]|0,129,k[(k[T>>2]|0)+44>>2]|0,k[f>>2]|0)|0;k[T>>2]=k[(k[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){j[s>>1]=-32756;if(m[q+28>>1]&64)k[x>>2]=1;j[s>>1]=m[s>>1]|((k[x>>2]|0)!=0?0:8192);if(!(l[(k[V>>2]|0)+42>>0]&32)){k[U>>2]=0;j[o>>1]=1;t=(k[H>>2]|0)+76|0;u=(k[t>>2]|0)+1|0;k[t>>2]=u;k[C>>2]=u;lx(k[X>>2]|0,77,0,k[C>>2]|0)|0}else{t=Rj(k[V>>2]|0)|0;k[U>>2]=t;j[o>>1]=j[(k[U>>2]|0)+50>>1]|0;k[g>>2]=(k[(k[H>>2]|0)+76>>2]|0)+1;t=(k[H>>2]|0)+76|0;k[t>>2]=(k[t>>2]|0)+(j[o>>1]|0);t=(k[H>>2]|0)+72|0;u=k[t>>2]|0;k[t>>2]=u+1;k[P>>2]=u;u=lx(k[X>>2]|0,105,k[P>>2]|0,j[o>>1]|0)|0;k[d>>2]=u;Xz(k[H>>2]|0,k[U>>2]|0)}u=mD(k[H>>2]|0,k[I>>2]|0,k[J>>2]|0,0,0,j[s>>1]|0,(k[h>>2]|0)+1|0)|0;k[G>>2]=u;if(!(k[G>>2]|0))break a;u=oG(k[G>>2]|0,w)|0;k[z>>2]=u;if(k[(k[M>>2]|0)+24>>2]&128)lx(k[X>>2]|0,89,k[S>>2]|0,1)|0;do if(k[U>>2]|0){k[N>>2]=0;while(1){if((k[N>>2]|0)>=(j[o>>1]|0))break;QA(k[X>>2]|0,k[V>>2]|0,k[h>>2]|0,j[(k[(k[U>>2]|0)+4>>2]|0)+(k[N>>2]<<1)>>1]|0,(k[g>>2]|0)+(k[N>>2]|0)|0);k[N>>2]=(k[N>>2]|0)+1}k[B>>2]=k[g>>2]}else{k[B>>2]=(k[(k[H>>2]|0)+76>>2]|0)+1;u=WA(k[H>>2]|0,k[V>>2]|0,-1,k[h>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=u;if((k[B>>2]|0)<=(k[(k[H>>2]|0)+76>>2]|0))break;k[(k[H>>2]|0)+76>>2]=k[B>>2]}while(0);do if(!(k[z>>2]|0))if(k[U>>2]|0){q=(k[H>>2]|0)+76|0;p=(k[q>>2]|0)+1|0;k[q>>2]=p;k[B>>2]=p;j[D>>1]=0;p=k[X>>2]|0;q=k[g>>2]|0;s=j[o>>1]|0;t=k[B>>2]|0;u=zC(k[k[H>>2]>>2]|0,k[U>>2]|0)|0;ox(p,96,q,s,t,u,j[o>>1]|0)|0;lx(k[X>>2]|0,124,k[P>>2]|0,k[B>>2]|0)|0;break}else{j[D>>1]=1;lx(k[X>>2]|0,140,k[C>>2]|0,k[B>>2]|0)|0;break}else{j[D>>1]=j[o>>1]|0;u=(k[n>>2]|0)+2|0;u=$w(k[M>>2]|0,u,((u|0)<0)<<31>>31)|0;k[K>>2]=u;if(!(k[K>>2]|0)){nD(k[G>>2]|0);break a}KR(k[K>>2]|0,1,(k[n>>2]|0)+1|0)|0;i[(k[K>>2]|0)+((k[n>>2]|0)+1)>>0]=0;if((k[w>>2]|0)>=0)i[(k[K>>2]|0)+((k[w>>2]|0)-(k[h>>2]|0))>>0]=0;if((k[w+4>>2]|0)>=0)i[(k[K>>2]|0)+((k[w+4>>2]|0)-(k[h>>2]|0))>>0]=0;if(!(k[d>>2]|0))break;MA(k[X>>2]|0,k[d>>2]|0)|0}while(0);if(k[z>>2]|0){u=Zz(k[X>>2]|0)|0;k[v>>2]=u}else nD(k[G>>2]|0);do if(!(k[R>>2]|0)){k[e>>2]=0;if((k[z>>2]|0)==2){u=pB(k[H>>2]|0)|0;k[e>>2]=u}CC(k[H>>2]|0,k[V>>2]|0,103,8,k[h>>2]|0,k[K>>2]|0,O,Q)|0;if((k[z>>2]|0)!=2)break;aA(k[X>>2]|0,k[e>>2]|0)}while(0);do if(!(k[z>>2]|0)){a=k[X>>2]|0;if(k[U>>2]|0){C=Uz(a,55,k[P>>2]|0)|0;k[L>>2]=C;lx(k[X>>2]|0,119,k[P>>2]|0,k[B>>2]|0)|0;break}else{C=px(a,60,k[C>>2]|0,0,k[B>>2]|0)|0;k[L>>2]=C;break}}else{if(l[(k[V>>2]|0)+42>>0]&16)break;if(!(l[(k[K>>2]|0)+((k[O>>2]|0)-(k[h>>2]|0))>>0]|0))break;Qh(k[X>>2]|0,30,k[O>>2]|0,k[v>>2]|0,k[B>>2]|0,j[D>>1]|0)|0}while(0);do if(l[(k[V>>2]|0)+42>>0]&16){E=Xx(k[M>>2]|0,k[V>>2]|0)|0;k[F>>2]=E;$C(k[H>>2]|0,k[V>>2]|0);ox(k[X>>2]|0,12,0,1,k[B>>2]|0,k[F>>2]|0,-10)|0;Rh(k[X>>2]|0,2);Yx(k[H>>2]|0);if((k[z>>2]|0)!=1)break;if(k[(k[H>>2]|0)+416>>2]|0)break;i[(k[H>>2]|0)+20>>0]=0}else{k[y>>2]=(l[(k[H>>2]|0)+18>>0]|0)==0&1;k[A>>2]=-1;do if(!(k[x>>2]|0)){if((k[w+4>>2]|0)==(k[O>>2]|0))break;k[A>>2]=k[w+4>>2]}while(0);bF(k[H>>2]|0,k[V>>2]|0,k[E>>2]|0,k[O>>2]|0,k[Q>>2]|0,k[B>>2]|0,j[D>>1]|0,k[y>>2]&255,10,k[z>>2]&255,k[A>>2]|0)}while(0);do if(!(k[z>>2]|0)){a=k[X>>2]|0;if(k[U>>2]|0){lx(a,7,k[P>>2]|0,(k[L>>2]|0)+1|0)|0;aA(k[X>>2]|0,k[L>>2]|0);break}else{$z(a,k[L>>2]|0)|0;aA(k[X>>2]|0,k[L>>2]|0);break}}else{bA(k[X>>2]|0,k[v>>2]|0);nD(k[G>>2]|0)}while(0);if(k[R>>2]|0)break;if(l[(k[V>>2]|0)+42>>0]&16)break;if(!(k[U>>2]|0))Uz(k[X>>2]|0,109,k[O>>2]|0)|0;k[N>>2]=0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break c;Uz(k[X>>2]|0,109,(k[Q>>2]|0)+(k[N>>2]|0)|0)|0;k[N>>2]=(k[N>>2]|0)+1;k[T>>2]=k[(k[T>>2]|0)+20>>2]}}while(0);if((l[(k[H>>2]|0)+18>>0]|0)==0?(k[(k[H>>2]|0)+420>>2]|0)==0:0)dD(k[H>>2]|0);if(((k[(k[M>>2]|0)+24>>2]&128|0)!=0?(i[(k[H>>2]|0)+18>>0]|0)==0:0)?(k[(k[H>>2]|0)+420>>2]|0)==0:0){lx(k[X>>2]|0,85,k[S>>2]|0,1)|0;jC(k[X>>2]|0,1);kC(k[X>>2]|0,0,0,35846,0)|0}}}}}while(0);pG(W);pv(k[M>>2]|0,k[I>>2]|0);qv(k[M>>2]|0,k[J>>2]|0);bg(k[M>>2]|0,k[K>>2]|0);r=Y;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[k[d>>2]>>2]|0)+92+8>>2];if(!(k[e>>2]|0)){r=i;return}if((k[k[e>>2]>>2]|0)<=(k[g>>2]|0)){r=i;return}c=k[d>>2]|0;k[h>>2]=k[f>>2];Mh(c,35823,h);r=i;return}function mw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+256|0;p=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;o=oa+120|0;f=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;h=oa+28|0;n=oa+24|0;g=oa+250|0;u=oa+20|0;w=oa+248|0;q=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;k[X>>2]=a;k[Y>>2]=b;k[Z>>2]=c;k[_>>2]=d;k[K>>2]=e;k[ba>>2]=0;k[L>>2]=0;k[aa>>2]=0;k[z>>2]=0;k[fa>>2]=0;k[Q>>2]=0;k[la>>2]=0;k[V>>2]=0;k[U>>2]=0;k[I>>2]=0;k[F>>2]=0;k[A>>2]=0;k[T>>2]=0;k[ma>>2]=0;k[ma+4>>2]=0;k[ca>>2]=k[k[X>>2]>>2];if(k[(k[X>>2]|0)+68>>2]|0){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}if(l[(k[ca>>2]|0)+69>>0]|0){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}d=_B(k[X>>2]|0,k[Y>>2]|0)|0;k[ka>>2]=d;if(!(k[ka>>2]|0)){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}d=Nh(k[k[X>>2]>>2]|0,k[(k[ka>>2]|0)+64>>2]|0)|0;k[f>>2]=d;d=PC(k[X>>2]|0,k[ka>>2]|0,110,k[Z>>2]|0,G)|0;k[S>>2]=d;k[H>>2]=(k[(k[ka>>2]|0)+12>>2]|0)!=0&1;if(Wx(k[X>>2]|0,k[ka>>2]|0)|0){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}if(QC(k[X>>2]|0,k[ka>>2]|0,k[G>>2]|0)|0){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}b=(k[X>>2]|0)+72|0;d=k[b>>2]|0;k[b>>2]=d+1;k[ea>>2]=d;k[t>>2]=d;k[(k[Y>>2]|0)+8+44>>2]=d;k[ga>>2]=(k[ea>>2]|0)+1;if(!(l[(k[ka>>2]|0)+42>>0]&32))e=0;else e=Rj(k[ka>>2]|0)|0;k[ja>>2]=e;k[v>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if((k[ja>>2]|0)!=0?(i[(k[ia>>2]|0)+55>>0]&3|0)==2:0){k[ea>>2]=k[(k[X>>2]|0)+72>>2];k[(k[Y>>2]|0)+8+44>>2]=k[ea>>2]}d=(k[X>>2]|0)+72|0;k[d>>2]=(k[d>>2]|0)+1;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[v>>2]=(k[v>>2]|0)+1}d=$w(k[ca>>2]|0,((j[(k[ka>>2]|0)+34>>1]|0)+(k[v>>2]|0)<<2)+(k[v>>2]|0)+2|0,0)|0;k[aa>>2]=d;if(!(k[aa>>2]|0)){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}k[L>>2]=(k[aa>>2]|0)+(j[(k[ka>>2]|0)+34>>1]<<2);k[$>>2]=(k[L>>2]|0)+(k[v>>2]<<2);KR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;i[(k[$>>2]|0)+((k[v>>2]|0)+1)>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[X>>2];k[o+4>>2]=k[Y>>2];i[y>>0]=0;i[B>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(k[k[Z>>2]>>2]|0)){J=41;break}if(Cy(o,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;d=(sg(k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)==0;e=k[C>>2]|0;if(d){J=23;break}k[C>>2]=e+1}if((J|0)==23){J=0;if((e|0)!=(j[(k[ka>>2]|0)+32>>1]|0)){if((k[ja>>2]|0)!=0?(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)+15>>0]&1|0)!=0:0)i[y>>0]=1}else{i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=k[da>>2]}if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0)){if(k[ja>>2]|0){J=34;break}if(!(Ci(k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}k[C>>2]=-1;i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}if((k[C>>2]|0)<0)e=20511;else e=k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0;d=gx(k[X>>2]|0,23,k[k[ka>>2]>>2]|0,e,k[(k[(k[ca>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0;k[h>>2]=d;if((k[h>>2]|0)==1){J=185;break}if((k[h>>2]|0)==2)k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}if((J|0)==34){na=k[X>>2]|0;k[p>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2];Mh(na,24760,p);i[(k[X>>2]|0)+17>>0]=1;pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}else if((J|0)==41){i[O>>0]=(l[B>>0]|0)+(l[y>>0]|0);h=(l[(k[ka>>2]|0)+42>>0]&16|0)!=0;p=(k[Y>>2]|0)+8+56|0;k[p>>2]=h?-1:0;k[p+4>>2]=h?-1:0;p=$E(k[X>>2]|0,k[ka>>2]|0,k[aa>>2]|0,l[O>>0]|0)|0;k[P>>2]=p;k[C>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;a:do if((!((l[O>>0]|0)!=0|(k[P>>2]|0)!=0)?(k[(k[ia>>2]|0)+36>>2]|0)==0:0)?(k[ia>>2]|0)!=(k[ja>>2]|0):0){k[n>>2]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(m[(k[ia>>2]|0)+50>>1]|0))break a;j[g>>1]=j[(k[(k[ia>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0;if((j[g>>1]|0)<0)break;if((k[(k[aa>>2]|0)+(j[g>>1]<<2)>>2]|0)>=0)break;k[da>>2]=(k[da>>2]|0)+1}h=(k[X>>2]|0)+76|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}else J=46;while(0);if((J|0)==46){J=0;h=(k[X>>2]|0)+76|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}if(!(k[n>>2]|0))i[(k[$>>2]|0)+((k[C>>2]|0)+1)>>0]=0;k[(k[L>>2]|0)+(k[C>>2]<<2)>>2]=k[n>>2];k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[C>>2]=(k[C>>2]|0)+1}p=jx(k[X>>2]|0)|0;k[na>>2]=p;if(!(k[na>>2]|0)){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}if(!(l[(k[X>>2]|0)+18>>0]|0))RC(k[na>>2]|0);xx(k[X>>2]|0,1,k[f>>2]|0);if(!(l[(k[ka>>2]|0)+42>>0]&16)){p=(k[X>>2]|0)+76|0;n=(k[p>>2]|0)+1|0;k[p>>2]=n;k[A>>2]=n;n=(k[X>>2]|0)+76|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p;k[V>>2]=p;if((l[y>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){k[F>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if((l[O>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){n=(k[X>>2]|0)+76|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p}k[I>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if(k[H>>2]|0)lG(k[X>>2]|0,ma,k[k[ka>>2]>>2]|0);if(k[H>>2]|0)mG(k[X>>2]|0,k[ka>>2]|0,k[_>>2]|0,k[ea>>2]|0);if(Cy(o,k[_>>2]|0)|0){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}if(l[(k[ka>>2]|0)+42>>0]&16){nG(k[X>>2]|0,k[Y>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[z>>2]|0,k[aa>>2]|0,k[_>>2]|0,k[K>>2]|0);pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}if(!(l[(k[ka>>2]|0)+42>>0]&32)){px(k[na>>2]|0,77,0,k[A>>2]|0,k[V>>2]|0)|0;w=mD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,-32764,k[ga>>2]|0)|0;k[x>>2]=w;if(!(k[x>>2]|0)){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}w=oG(k[x>>2]|0,s)|0;k[R>>2]=w;lx(k[na>>2]|0,121,k[ea>>2]|0,k[V>>2]|0)|0;if(!(k[R>>2]|0))lx(k[na>>2]|0,140,k[A>>2]|0,k[V>>2]|0)|0;nD(k[x>>2]|0)}else{j[w>>1]=j[(k[ja>>2]|0)+50>>1]|0;k[u>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[w>>1]|0);p=(k[X>>2]|0)+76|0;o=(k[p>>2]|0)+1|0;k[p>>2]=o;k[T>>2]=o;o=(k[X>>2]|0)+72|0;p=k[o>>2]|0;k[o>>2]=p+1;k[fa>>2]=p;lx(k[na>>2]|0,77,0,k[u>>2]|0)|0;p=lx(k[na>>2]|0,105,k[fa>>2]|0,j[w>>1]|0)|0;k[q>>2]=p;Xz(k[X>>2]|0,k[ja>>2]|0);p=mD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,4,k[ga>>2]|0)|0;k[x>>2]=p;if(!(k[x>>2]|0)){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}p=oG(k[x>>2]|0,s)|0;k[R>>2]=p;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[w>>1]|0))break;QA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,j[(k[(k[ja>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0,(k[u>>2]|0)+(k[da>>2]|0)|0);k[da>>2]=(k[da>>2]|0)+1}e=k[na>>2]|0;if(k[R>>2]|0){MA(e,k[q>>2]|0)|0;k[Q>>2]=j[w>>1];k[T>>2]=k[u>>2]}else{o=k[u>>2]|0;p=j[w>>1]|0;q=k[T>>2]|0;u=zC(k[ca>>2]|0,k[ja>>2]|0)|0;ox(e,96,o,p,q,u,j[w>>1]|0)|0;lx(k[na>>2]|0,124,k[fa>>2]|0,k[T>>2]|0)|0}nD(k[x>>2]|0)}if((k[(k[ca>>2]|0)+24>>2]&128|0)!=0?(k[(k[X>>2]|0)+420>>2]|0)==0:0){w=(k[X>>2]|0)+76|0;x=(k[w>>2]|0)+1|0;k[w>>2]=x;k[la>>2]=x;lx(k[na>>2]|0,74,0,k[la>>2]|0)|0}x=Zz(k[na>>2]|0)|0;k[ha>>2]=x;if(!(k[H>>2]|0)){b:do if((k[K>>2]|0)==5)KR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;else{k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break b;if((l[(k[ia>>2]|0)+54>>0]|0)==5)break;k[ia>>2]=k[(k[ia>>2]|0)+20>>2]}KR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0}while(0);do if(k[R>>2]|0){if((k[s>>2]|0)>=0)i[(k[$>>2]|0)+((k[s>>2]|0)-(k[t>>2]|0))>>0]=0;if((k[s+4>>2]|0)<0)break;i[(k[$>>2]|0)+((k[s+4>>2]|0)-(k[t>>2]|0))>>0]=0}while(0);CC(k[X>>2]|0,k[ka>>2]|0,103,0,k[t>>2]|0,k[$>>2]|0,0,0)|0}do if(!(k[R>>2]|0)){e=k[na>>2]|0;if(k[ja>>2]|0){A=Zz(e)|0;k[W>>2]=A;lx(k[na>>2]|0,55,k[fa>>2]|0,k[ha>>2]|0)|0;A=lx(k[na>>2]|0,119,k[fa>>2]|0,k[T>>2]|0)|0;k[ba>>2]=A;Qh(k[na>>2]|0,30,k[ea>>2]|0,k[W>>2]|0,k[T>>2]|0,0)|0;break}else{A=px(e,60,k[A>>2]|0,k[ha>>2]|0,k[V>>2]|0)|0;k[W>>2]=A;px(k[na>>2]|0,32,k[ea>>2]|0,k[W>>2]|0,k[V>>2]|0)|0;break}}else{if(!((k[H>>2]|0)!=0?1:(l[(k[$>>2]|0)+((k[ea>>2]|0)-(k[t>>2]|0))>>0]|0)==0))Qh(k[na>>2]|0,30,k[ea>>2]|0,k[ha>>2]|0,k[T>>2]|0,k[Q>>2]|0)|0;k[W>>2]=k[ha>>2];lx(k[na>>2]|0,34,(k[ja>>2]|0)!=0?k[T>>2]|0:k[V>>2]|0,k[ha>>2]|0)|0}while(0);if(i[B>>0]|0){UA(k[X>>2]|0,k[z>>2]|0,k[U>>2]|0);Uz(k[na>>2]|0,17,k[U>>2]|0)|0}do if((l[y>>0]|0)!=0|(k[P>>2]|0)!=0|(k[S>>2]|0)!=0){if(k[P>>2]|0)e=eF(k[X>>2]|0,k[ka>>2]|0)|0;else e=0;k[E>>2]=e;A=dF(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,0,3,k[ka>>2]|0,k[K>>2]|0)|0;k[E>>2]=k[E>>2]|A;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;do if((k[E>>2]|0)==-1)J=120;else{if((k[da>>2]|0)<32?(k[E>>2]&1<>2]|0)!=0:0){J=120;break}if(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[da>>2]<<4)+15>>0]&1){J=120;break}lx(k[na>>2]|0,77,0,(k[F>>2]|0)+(k[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;QA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[F>>2]|0)+(k[da>>2]|0)|0)}k[da>>2]=(k[da>>2]|0)+1}if(!((l[B>>0]|0)==0&(k[ja>>2]|0)==0))break;lx(k[na>>2]|0,82,k[V>>2]|0,k[U>>2]|0)|0}while(0);F=dF(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,1,1,k[ka>>2]|0,k[K>>2]|0)|0;k[D>>2]=F;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;c:do if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))lx(k[na>>2]|0,77,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;else{k[C>>2]=k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2];if((k[C>>2]|0)>=0){UA(k[X>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0);break}do if(!((k[da>>2]|0)>31?1:0==(k[G>>2]&1|0))){if(k[D>>2]&1<>2])break;lx(k[na>>2]|0,77,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;break c}while(0);SD(k[X>>2]|0,k[ka>>2]|0,k[da>>2]|0,k[ea>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}d:do if(k[G>>2]&1){XC(k[na>>2]|0,k[ka>>2]|0,k[I>>2]|0);YC(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,1,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);e=k[na>>2]|0;c=k[ea>>2]|0;a=k[W>>2]|0;if(k[ja>>2]|0)Qh(e,30,c,a,k[T>>2]|0,k[Q>>2]|0)|0;else px(e,32,c,a,k[V>>2]|0)|0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break d;do if((k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]|0)<0){if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))break;QA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}}while(0);do if(!(k[H>>2]|0)){k[M>>2]=0;k[N>>2]=0;aD(k[X>>2]|0,k[ka>>2]|0,k[L>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[V>>2]|0,i[O>>0]|0,k[K>>2]&255,k[W>>2]|0,N,k[aa>>2]|0);if(k[P>>2]|0)bD(k[X>>2]|0,k[ka>>2]|0,k[V>>2]|0,0,k[aa>>2]|0,l[O>>0]|0);if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))J=151;do if((J|0)==151){e=k[na>>2]|0;c=k[ea>>2]|0;if(k[ja>>2]|0){T=Qh(e,30,c,0,k[T>>2]|0,k[Q>>2]|0)|0;k[M>>2]=T;break}else{T=px(e,32,c,0,k[V>>2]|0)|0;k[M>>2]=T;break}}while(0);cF(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[L>>2]|0,-1);if(!((k[P>>2]|0)==0?!((l[O>>0]|0)!=0|(k[ja>>2]|0)!=0):0))lx(k[na>>2]|0,115,k[ea>>2]|0,0)|0;if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))aA(k[na>>2]|0,k[M>>2]|0);if(k[P>>2]|0)bD(k[X>>2]|0,k[ka>>2]|0,0,k[U>>2]|0,k[aa>>2]|0,l[O>>0]|0);cD(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[L>>2]|0,1,0,0);if(!(k[P>>2]|0))break;fF(k[X>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[V>>2]|0,k[aa>>2]|0,l[O>>0]|0)}while(0);do if(k[(k[ca>>2]|0)+24>>2]&128){if(k[(k[X>>2]|0)+420>>2]|0)break;lx(k[na>>2]|0,89,k[la>>2]|0,1)|0}while(0);YC(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,2,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);do if(!(k[R>>2]|0)){c=k[na>>2]|0;e=k[W>>2]|0;if(k[ja>>2]|0){bA(c,e);lx(k[na>>2]|0,7,k[fa>>2]|0,k[ba>>2]|0)|0;break}else{$z(c,e)|0;break}}while(0);bA(k[na>>2]|0,k[ha>>2]|0);k[da>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if(i[(k[$>>2]|0)+((k[da>>2]|0)+1)>>0]|0)lx(k[na>>2]|0,109,(k[ga>>2]|0)+(k[da>>2]|0)|0,0)|0;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[da>>2]=(k[da>>2]|0)+1}if((k[ea>>2]|0)<(k[ga>>2]|0))lx(k[na>>2]|0,109,k[ea>>2]|0,0)|0;do if(!(l[(k[X>>2]|0)+18>>0]|0)){if(k[(k[X>>2]|0)+420>>2]|0)break;dD(k[X>>2]|0)}while(0);if(!(k[(k[ca>>2]|0)+24>>2]&128)){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}if(k[(k[X>>2]|0)+420>>2]|0){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}if(i[(k[X>>2]|0)+18>>0]|0){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}lx(k[na>>2]|0,85,k[la>>2]|0,1)|0;jC(k[na>>2]|0,1);kC(k[na>>2]|0,0,0,35810,0)|0;pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}else if((J|0)==185){pG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;pv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;mv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;qv(ma,na);r=oa;return}} -function jD(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+144|0;i=O+128|0;n=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;k[i>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[v>>2]=k[k[i>>2]>>2];k[K>>2]=0;k[z>>2]=0;g=jx(k[i>>2]|0)|0;k[M>>2]=g;if((k[u>>2]|0)<0){g=lx(k[M>>2]|0,63,l[(k[q>>2]|0)+24>>0]|0,0)|0;k[z>>2]=g}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[q>>2]|0)+20>>2]|0))break;if(k[p>>2]|0)f=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;else f=-1;j[x>>1]=f;g=kD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[x>>1]|0)|0;k[D>>2]=g;if(k[s>>2]|0)f=k[(k[s>>2]|0)+(k[w>>2]<<2)>>2]|0;else f=k[(k[q>>2]|0)+36>>2]|0;j[x>>1]=f;k[N>>2]=k[(k[(k[k[q>>2]>>2]|0)+4>>2]|0)+(j[x>>1]<<4)>>2];g=cw(k[v>>2]|0,55,k[N>>2]|0)|0;k[H>>2]=g;g=Mv(k[i>>2]|0,37,k[D>>2]|0,k[H>>2]|0,0)|0;k[B>>2]=g;g=xz(k[v>>2]|0,k[K>>2]|0,k[B>>2]|0)|0;k[K>>2]=g;k[w>>2]=(k[w>>2]|0)+1}if((k[u>>2]|0)>0?(k[o>>2]|0)==(k[k[q>>2]>>2]|0):0){if(!(l[(k[o>>2]|0)+42>>0]&32)){N=kD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,-1)|0;k[E>>2]=N;N=lD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,-1)|0;k[I>>2]=N;N=Mv(k[i>>2]|0,36,k[E>>2]|0,k[I>>2]|0,0)|0;k[F>>2]=N}else{k[A>>2]=0;N=Rj(k[o>>2]|0)|0;k[G>>2]=N;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[G>>2]|0)+50>>1]|0))break;j[y>>1]=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;N=kD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[y>>1]|0)|0;k[E>>2]=N;N=lD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,j[y>>1]|0)|0;k[I>>2]=N;N=Mv(k[i>>2]|0,37,k[E>>2]|0,k[I>>2]|0,0)|0;k[C>>2]=N;N=xz(k[v>>2]|0,k[A>>2]|0,k[C>>2]|0)|0;k[A>>2]=N;k[w>>2]=(k[w>>2]|0)+1}N=Mv(k[i>>2]|0,19,k[A>>2]|0,0,0)|0;k[F>>2]=N}N=xz(k[v>>2]|0,k[K>>2]|0,k[F>>2]|0)|0;k[K>>2]=N};k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L+24>>2]=0;k[L+28>>2]=0;k[L+4>>2]=k[n>>2];k[L>>2]=k[i>>2];Cy(L,k[K>>2]|0)|0;N=mD(k[i>>2]|0,k[n>>2]|0,k[K>>2]|0,0,0,0,0)|0;k[J>>2]=N;lx(k[M>>2]|0,142,l[(k[q>>2]|0)+24>>0]|0,k[u>>2]|0)|0;if(k[J>>2]|0)nD(k[J>>2]|0);qv(k[v>>2]|0,k[K>>2]|0);if(!(k[z>>2]|0)){r=O;return}aA(k[M>>2]|0,k[z>>2]|0);r=O;return}function kD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+28|0;n=p+12|0;m=p+8|0;o=p+4|0;l=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;k[l>>2]=k[k[e>>2]>>2];c=cw(k[l>>2]|0,157,0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){o=k[n>>2]|0;r=p;return o|0}if((j[h>>1]|0)>=0?(j[h>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0):0){k[m>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(j[h>>1]<<4);k[(k[n>>2]|0)+28>>2]=(k[g>>2]|0)+(j[h>>1]|0)+1;i[(k[n>>2]|0)+1>>0]=i[(k[m>>2]|0)+13>>0]|0;k[o>>2]=k[(k[m>>2]|0)+8>>2];if(!(k[o>>2]|0))k[o>>2]=k[k[(k[l>>2]|0)+8>>2]>>2];o=Yy(k[e>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}k[(k[n>>2]|0)+28>>2]=k[g>>2];i[(k[n>>2]|0)+1>>0]=68;o=k[n>>2]|0;r=p;return o|0}function lD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;i=r;r=r+32|0;l=i+12|0;e=i+8|0;f=i+4|0;g=i+16|0;h=i;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;j[g>>1]=d;b=cw(k[l>>2]|0,152,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){l=k[h>>2]|0;r=i;return l|0}k[(k[h>>2]|0)+44>>2]=k[e>>2];k[(k[h>>2]|0)+28>>2]=k[f>>2];j[(k[h>>2]|0)+32>>1]=j[g>>1]|0;l=k[h>>2]|0;r=i;return l|0}function mD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+192|0;h=ca+24|0;p=ca+180|0;q=ca+176|0;s=ca+172|0;n=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;o=ca+152|0;H=ca+148|0;W=ca+144|0;_=ca+140|0;I=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;F=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;D=ca+72|0;T=ca+68|0;V=ca+64|0;C=ca+60|0;J=ca+56|0;y=ca;G=ca+52|0;N=ca+48|0;E=ca+44|0;K=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;k[q>>2]=a;k[s>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[v>>1]=f;k[w>>2]=g;k[_>>2]=k[(k[q>>2]|0)+8>>2];i[z>>0]=0;k[B>>2]=k[k[q>>2]>>2];k[Y>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[Y+12>>2]=0;k[Y+16>>2]=0;if((k[t>>2]|0)!=0?(k[k[t>>2]>>2]|0)>=64:0)k[t>>2]=0;k[Y+8>>2]=k[t>>2];if(m[(k[B>>2]|0)+64>>1]&32)j[v>>1]=m[v>>1]&-1025;if((k[k[s>>2]>>2]|0)>64){ba=k[q>>2]|0;k[h>>2]=64;Mh(ba,34925,h);k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}if(m[v>>1]&64)g=1;else g=k[k[s>>2]>>2]|0;k[H>>2]=g;k[o>>2]=816+(((k[H>>2]|0)-1|0)*80|0)+7&-8;f=Bh(k[B>>2]|0,(k[o>>2]|0)+72|0,0)|0;k[W>>2]=f;a:do if(!(i[(k[B>>2]|0)+69>>0]|0)){k[(k[W>>2]|0)+60+4>>2]=-1;k[(k[W>>2]|0)+60>>2]=-1;i[(k[W>>2]|0)+43>>0]=k[H>>2];k[k[W>>2]>>2]=k[q>>2];k[(k[W>>2]|0)+4>>2]=k[s>>2];k[(k[W>>2]|0)+8>>2]=k[t>>2];k[(k[W>>2]|0)+12>>2]=k[u>>2];f=Zz(k[_>>2]|0)|0;k[(k[W>>2]|0)+48>>2]=f;k[(k[W>>2]|0)+52>>2]=f;j[(k[W>>2]|0)+36>>1]=j[v>>1]|0;j[(k[W>>2]|0)+34>>1]=k[w>>2];k[(k[W>>2]|0)+56>>2]=k[(k[q>>2]|0)+428>>2];k[R>>2]=(k[W>>2]|0)+68;k[Y>>2]=k[W>>2];k[Y+4>>2]=(k[W>>2]|0)+328;k[Y+12>>2]=(k[W>>2]|0)+(k[o>>2]|0);uD(k[Y+12>>2]|0);k[k[R>>2]>>2]=0;xD((k[W>>2]|0)+328|0,k[W>>2]|0);yD((k[W>>2]|0)+328|0,k[n>>2]|0,28);k[F>>2]=0;while(1){g=(k[H>>2]|0)==0;if((k[F>>2]|0)>=(k[(k[Y+4>>2]|0)+12>>2]|0))break;if(!(!g?(AB(k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0)|0)==0:0)){gB(k[q>>2]|0,k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0,k[(k[W>>2]|0)+52>>2]|0,16);o=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)+20|0;j[o>>1]=m[o>>1]|4}k[F>>2]=(k[F>>2]|0)+1}if(g){if(k[t>>2]|0)i[(k[W>>2]|0)+38>>0]=k[k[t>>2]>>2];if(m[v>>1]&1024)i[(k[W>>2]|0)+42>>0]=1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[k[s>>2]>>2]|0))break;zD(k[R>>2]|0,k[(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)+44>>2]|0);AD(k[q>>2]|0,(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)|0,(k[W>>2]|0)+328|0);k[F>>2]=(k[F>>2]|0)+1}BD(k[s>>2]|0,(k[W>>2]|0)+328|0);if(!(i[(k[B>>2]|0)+69>>0]|0)){do if(m[v>>1]&1024){if(CD(k[q>>2]|0,k[s>>2]|0,(k[W>>2]|0)+328|0,k[u>>2]|0)|0){i[(k[W>>2]|0)+42>>0]=1;break}if(!(k[t>>2]|0)){t=(k[W>>2]|0)+36|0;j[t>>1]=m[t>>1]|512;k[(k[W>>2]|0)+8>>2]=k[u>>2]}}while(0);if(!((k[H>>2]|0)==1?(DD(Y)|0)!=0:0)){t=ED(Y)|0;k[X>>2]=t;if(k[X>>2]|0)break;FD(k[W>>2]|0,0)|0;if(i[(k[B>>2]|0)+69>>0]|0)break;if((k[(k[W>>2]|0)+8>>2]|0)!=0?(FD(k[W>>2]|0,(j[(k[W>>2]|0)+32>>1]|0)+1&65535)|0,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break}if((k[(k[W>>2]|0)+8>>2]|0)==0?(k[(k[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(k[W>>2]|0)+24|0;k[X>>2]=-1;k[X+4>>2]=-1}if((k[(k[q>>2]|0)+68>>2]|0)==0?(l[(k[B>>2]|0)+69>>0]|0)==0:0){b:do if(((k[u>>2]|0)!=0?(l[(k[W>>2]|0)+43>>0]|0)>=2:0)?(m[(k[B>>2]|0)+64>>1]&1024|0)==0:0){u=GD(k[R>>2]|0,k[u>>2]|0)|0;X=Z;k[X>>2]=u;k[X+4>>2]=L;if(k[Y+8>>2]|0){u=GD(k[R>>2]|0,k[Y+8>>2]|0)|0;t=Z;R=k[t+4>>2]|L;X=Z;k[X>>2]=k[t>>2]|u;k[X+4>>2]=R}while(1){if((l[(k[W>>2]|0)+43>>0]|0)<2)break b;k[Q>>2]=k[(k[W>>2]|0)+736+(((l[(k[W>>2]|0)+43>>0]|0)-1|0)*80|0)+64>>2];if(!(l[(k[(k[W>>2]|0)+4>>2]|0)+8+((l[(k[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((m[v>>1]&1024|0)==0?(k[(k[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(k[Q>>2]|0)+8|0;if((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)break b;k[M>>2]=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[(k[Y+4>>2]|0)+12>>2]|0)*48|0);k[U>>2]=k[(k[Y+4>>2]|0)+20>>2];while(1){if((k[U>>2]|0)>>>0>=(k[M>>2]|0)>>>0)break;R=(k[U>>2]|0)+40|0;X=(k[Q>>2]|0)+8|0;if(((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)?(k[(k[k[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;k[U>>2]=(k[U>>2]|0)+48}if((k[U>>2]|0)>>>0<(k[M>>2]|0)>>>0)break b;X=(k[W>>2]|0)+43|0;i[X>>0]=(i[X>>0]|0)+-1<<24>>24;k[H>>2]=(k[H>>2]|0)+-1}}while(0);Z=(k[k[W>>2]>>2]|0)+428|0;k[Z>>2]=(k[Z>>2]|0)+(j[(k[W>>2]|0)+32>>1]|0);do if(m[v>>1]&4){k[$>>2]=k[(k[(k[W>>2]|0)+736+64>>2]|0)+36>>2];k[A>>2]=(k[$>>2]&4096|0)!=0&1;if(!(k[A>>2]|0)){if(!(m[v>>1]&8192))break;if(k[$>>2]&1024)break}i[(k[W>>2]|0)+40>>0]=(k[A>>2]|0)!=0?1:2;if((l[(k[(k[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(k[$>>2]&64|0)!=0:0){if(m[v>>1]&8192)i[z>>0]=8;k[(k[(k[W>>2]|0)+736+64>>2]|0)+36>>2]=k[$>>2]&-65}}while(0);k[F>>2]=0;k[P>>2]=(k[W>>2]|0)+736;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[T>>2]=(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0);k[S>>2]=k[(k[T>>2]|0)+16>>2];$=Nh(k[B>>2]|0,k[(k[S>>2]|0)+64>>2]|0)|0;k[D>>2]=$;k[Q>>2]=k[(k[P>>2]|0)+64>>2];c:do if((l[(k[S>>2]|0)+42>>0]&2|0)==0?(k[(k[S>>2]|0)+12>>2]|0)==0:0){if(k[(k[Q>>2]|0)+36>>2]&1024){$=Xx(k[B>>2]|0,k[S>>2]|0)|0;k[V>>2]=$;k[C>>2]=k[(k[T>>2]|0)+44>>2];ox(k[_>>2]|0,153,k[C>>2]|0,0,0,k[V>>2]|0,-10)|0;break}if(l[(k[S>>2]|0)+42>>0]&16)break;do if(!(k[(k[Q>>2]|0)+36>>2]&64)){if(m[v>>1]&16)break;k[J>>2]=102;if(l[(k[W>>2]|0)+40>>0]|0){k[J>>2]=103;k[(k[W>>2]|0)+60>>2]=k[(k[T>>2]|0)+44>>2]}Wz(k[q>>2]|0,k[(k[T>>2]|0)+44>>2]|0,k[D>>2]|0,k[S>>2]|0,k[J>>2]|0);do if(!(l[(k[W>>2]|0)+40>>0]|0)){if((j[(k[S>>2]|0)+34>>1]|0)>=64)break;if(l[(k[S>>2]|0)+42>>0]&32)break;Y=(k[T>>2]|0)+56|0;Z=k[Y+4>>2]|0;$=y;k[$>>2]=k[Y>>2];k[$+4>>2]=Z;k[G>>2]=0;while(1){$=y;if(!((k[$>>2]|0)!=0|(k[$+4>>2]|0)!=0))break;Z=y;Z=HR(k[Z>>2]|0,k[Z+4>>2]|0,1)|0;$=y;k[$>>2]=Z;k[$+4>>2]=L;k[G>>2]=(k[G>>2]|0)+1}Uh(k[_>>2]|0,-1,k[G>>2]|0,-14)}while(0);Rh(k[_>>2]|0,i[z>>0]|0);break c}while(0);Vz(k[q>>2]|0,k[D>>2]|0,k[(k[S>>2]|0)+28>>2]|0,0,k[k[S>>2]>>2]|0)}while(0);do if(k[(k[Q>>2]|0)+36>>2]&512){k[N>>2]=k[(k[Q>>2]|0)+24+4>>2];k[K>>2]=102;do if(!(l[(k[S>>2]|0)+42>>0]&32))ba=93;else{if((i[(k[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(m[v>>1]&64)){ba=93;break}k[E>>2]=k[(k[P>>2]|0)+4>>2];k[K>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(l[(k[W>>2]|0)+40>>0]|0){k[O>>2]=k[(k[(k[T>>2]|0)+16>>2]|0)+8>>2];k[E>>2]=k[w>>2];while(1){if(!(k[O>>2]|0))break;if((k[O>>2]|0)==(k[N>>2]|0))break;k[E>>2]=(k[E>>2]|0)+1;k[O>>2]=k[(k[O>>2]|0)+20>>2]}k[K>>2]=103;k[(k[W>>2]|0)+60+4>>2]=k[E>>2];break}else{do if(k[w>>2]|0){if(!(m[v>>1]&64))break;k[E>>2]=k[w>>2];if(!(m[v>>1]&4096))break d;k[K>>2]=101;break d}while(0);Z=(k[q>>2]|0)+72|0;$=k[Z>>2]|0;k[Z>>2]=$+1;k[E>>2]=$;break}}while(0);k[(k[P>>2]|0)+8>>2]=k[E>>2];if(!(k[K>>2]|0))break;px(k[_>>2]|0,k[K>>2]|0,k[E>>2]|0,k[(k[N>>2]|0)+44>>2]|0,k[D>>2]|0)|0;Xz(k[q>>2]|0,k[N>>2]|0);if(!(k[(k[Q>>2]|0)+36>>2]&15))break;if(k[(k[Q>>2]|0)+36>>2]&32770)break;if(m[(k[W>>2]|0)+36>>1]&1)break;Rh(k[_>>2]|0,2)}while(0);if((k[D>>2]|0)>=0)yx(k[q>>2]|0,k[D>>2]|0);k[F>>2]=(k[F>>2]|0)+1;k[P>>2]=(k[P>>2]|0)+80}ba=Yz(k[_>>2]|0)|0;k[(k[W>>2]|0)+44>>2]=ba;if(!(i[(k[B>>2]|0)+69>>0]|0)){ba=I;k[ba>>2]=-1;k[ba+4>>2]=-1;k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[P>>2]=(k[W>>2]|0)+736+((k[F>>2]|0)*80|0);k[aa>>2]=k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2];if((k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=I,HD(k[q>>2]|0,(k[W>>2]|0)+328|0,(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0)|0,k[ba>>2]|0,k[ba+4>>2]|0,k[P>>2]|0),(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break a;$=ID(k[q>>2]|0,k[s>>2]|0,k[P>>2]|0,k[F>>2]|0,l[(k[P>>2]|0)+44>>0]|0,j[v>>1]|0)|0;k[x>>2]=$;$=Yz(k[_>>2]|0)|0;k[(k[P>>2]|0)+32>>2]=$;$=I;$=JD(k[W>>2]|0,k[F>>2]|0,k[$>>2]|0,k[$+4>>2]|0)|0;ba=I;k[ba>>2]=$;k[ba+4>>2]=L;k[(k[W>>2]|0)+48>>2]=k[(k[P>>2]|0)+24>>2];do if((k[aa>>2]&8192|0)==0?(m[v>>1]&64|0)!=0:0)break;while(0);k[F>>2]=(k[F>>2]|0)+1}k[p>>2]=k[W>>2];ba=k[p>>2]|0;r=ca;return ba|0}}}}else{bg(k[B>>2]|0,k[W>>2]|0);k[W>>2]=0}while(0);if(k[W>>2]|0){k[(k[q>>2]|0)+428>>2]=k[(k[W>>2]|0)+56>>2];pD(k[B>>2]|0,k[W>>2]|0)}k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}function nD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;f=D+76|0;u=D+72|0;z=D+68|0;h=D+64|0;q=D+60|0;s=D+56|0;y=D+52|0;g=D+48|0;c=D+44|0;e=D+40|0;d=D+36|0;n=D+32|0;o=D+28|0;t=D+24|0;p=D+20|0;x=D+16|0;w=D+12|0;A=D+8|0;B=D+4|0;v=D;k[f>>2]=a;k[u>>2]=k[k[f>>2]>>2];k[z>>2]=k[(k[u>>2]|0)+8>>2];k[y>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=k[k[u>>2]>>2];BC(k[u>>2]|0);k[h>>2]=(l[(k[f>>2]|0)+43>>0]|0)-1;while(1){if((k[h>>2]|0)<0)break;k[q>>2]=(k[f>>2]|0)+736+((k[h>>2]|0)*80|0);k[s>>2]=k[(k[q>>2]|0)+64>>2];bA(k[z>>2]|0,k[(k[q>>2]|0)+24>>2]|0);if((l[(k[q>>2]|0)+45>>0]|0)!=159){px(k[z>>2]|0,l[(k[q>>2]|0)+45>>0]|0,k[(k[q>>2]|0)+48>>2]|0,k[(k[q>>2]|0)+52>>2]|0,l[(k[q>>2]|0)+46>>0]|0)|0;Rh(k[z>>2]|0,i[(k[q>>2]|0)+47>>0]|0)}a:do if((k[(k[s>>2]|0)+36>>2]&2048|0)!=0?(k[(k[q>>2]|0)+56>>2]|0)>0:0){bA(k[z>>2]|0,k[(k[q>>2]|0)+16>>2]|0);k[d>>2]=k[(k[q>>2]|0)+56>>2];k[e>>2]=(k[(k[q>>2]|0)+56+4>>2]|0)+(((k[d>>2]|0)-1|0)*12|0);while(1){if((k[d>>2]|0)<=0)break a;aA(k[z>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)+1|0);lx(k[z>>2]|0,l[(k[e>>2]|0)+8>>0]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;aA(k[z>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)-1|0);k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-12}}while(0);bA(k[z>>2]|0,k[(k[q>>2]|0)+12>>2]|0);if(k[(k[q>>2]|0)+20>>2]|0){$z(k[z>>2]|0,k[(k[q>>2]|0)+20>>2]|0)|0;aA(k[z>>2]|0,k[(k[q>>2]|0)+20>>2]|0);aA(k[z>>2]|0,(k[(k[q>>2]|0)+20>>2]|0)-2|0)}if(k[(k[q>>2]|0)+40>>2]|0)lx(k[z>>2]|0,66,(k[(k[q>>2]|0)+36>>2]|0)>>>1,k[(k[q>>2]|0)+40>>2]|0)|0;if(k[k[q>>2]>>2]|0){b=Uz(k[z>>2]|0,64,k[k[q>>2]>>2]|0)|0;k[c>>2]=b;if(!(k[(k[s>>2]|0)+36>>2]&64))Uz(k[z>>2]|0,122,k[(k[y>>2]|0)+8+((k[h>>2]|0)*72|0)+44>>2]|0)|0;if(k[(k[s>>2]|0)+36>>2]&512)Uz(k[z>>2]|0,122,k[(k[q>>2]|0)+8>>2]|0)|0;a=k[z>>2]|0;b=k[q>>2]|0;if((l[(k[q>>2]|0)+45>>0]|0)==70)lx(a,14,k[b+48>>2]|0,k[(k[q>>2]|0)+28>>2]|0)|0;else $z(a,k[b+28>>2]|0)|0;aA(k[z>>2]|0,k[c>>2]|0)}k[h>>2]=(k[h>>2]|0)+-1}bA(k[z>>2]|0,k[(k[f>>2]|0)+52>>2]|0);k[h>>2]=0;k[q>>2]=(k[f>>2]|0)+736;while(1){if((k[h>>2]|0)>=(l[(k[f>>2]|0)+43>>0]|0))break;k[p>>2]=0;k[x>>2]=(k[y>>2]|0)+8+((l[(k[q>>2]|0)+44>>0]|0)*72|0);k[w>>2]=k[(k[x>>2]|0)+16>>2];k[s>>2]=k[(k[q>>2]|0)+64>>2];if(((l[(k[x>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(i[(k[g>>2]|0)+69>>0]|0)==0:0)oD(k[z>>2]|0,k[(k[q>>2]|0)+32>>2]|0,k[(k[q>>2]|0)+4>>2]|0,k[(k[x>>2]|0)+32>>2]|0,0);else C=29;b:do if((C|0)==29){C=0;if(((l[(k[w>>2]|0)+42>>0]&2|0)==0?(k[(k[w>>2]|0)+12>>2]|0)==0:0)?(m[(k[f>>2]|0)+36>>1]&16|0)==0:0){k[A>>2]=k[(k[s>>2]|0)+36>>2];if((l[(k[f>>2]|0)+40>>0]|0)==0?(k[A>>2]&64|0)==0:0)Uz(k[z>>2]|0,109,k[(k[x>>2]|0)+44>>2]|0)|0;if(((k[A>>2]&512|0)!=0?(k[A>>2]&16640|0)==0:0)?(k[(k[q>>2]|0)+8>>2]|0)!=(k[(k[f>>2]|0)+60+4>>2]|0):0)Uz(k[z>>2]|0,109,k[(k[q>>2]|0)+8>>2]|0)|0}a=k[s>>2]|0;if(!(k[(k[s>>2]|0)+36>>2]&576)){if(k[a+36>>2]&8192)k[p>>2]=k[(k[q>>2]|0)+56>>2]}else k[p>>2]=k[a+24+4>>2];if(k[p>>2]|0){if((l[(k[f>>2]|0)+40>>0]|0)!=0?(l[(k[(k[p>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(i[(k[g>>2]|0)+69>>0]|0)){e=Yz(k[z>>2]|0)|0;k[o>>2]=e;k[n>>2]=k[(k[q>>2]|0)+32>>2];e=hA(k[z>>2]|0,k[n>>2]|0)|0;k[t>>2]=e;while(1){if((k[n>>2]|0)>=(k[o>>2]|0))break b;do if((k[(k[t>>2]|0)+4>>2]|0)==(k[(k[q>>2]|0)+4>>2]|0)){a=k[t>>2]|0;if((l[k[t>>2]>>0]|0)!=94){if((l[a>>0]|0)!=121)break;k[(k[t>>2]|0)+4>>2]=k[(k[q>>2]|0)+8>>2];i[k[t>>2]>>0]=127;break}k[B>>2]=k[a+8>>2];if(l[(k[w>>2]|0)+42>>0]&32){e=Rj(k[w>>2]|0)|0;k[v>>2]=e;k[B>>2]=j[(k[(k[v>>2]|0)+4>>2]|0)+(k[B>>2]<<1)>>1]}e=(RA(k[p>>2]|0,k[B>>2]&65535)|0)<<16>>16;k[B>>2]=e;if((k[B>>2]|0)>=0){k[(k[t>>2]|0)+8>>2]=k[B>>2];k[(k[t>>2]|0)+4>>2]=k[(k[q>>2]|0)+8>>2]}}while(0);k[n>>2]=(k[n>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}}}}while(0);k[h>>2]=(k[h>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+80}k[(k[u>>2]|0)+428>>2]=k[(k[f>>2]|0)+56>>2];pD(k[g>>2]|0,k[f>>2]|0);r=D;return}function oD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;p=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;j=o+8|0;n=o+4|0;m=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=e;a=hA(k[p>>2]|0,k[f>>2]|0)|0;k[n>>2]=a;a=Yz(k[p>>2]|0)|0;k[m>>2]=a;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;do if((k[(k[n>>2]|0)+4>>2]|0)==(k[g>>2]|0)){e=k[n>>2]|0;if((l[k[n>>2]>>0]|0|0)==94){i[e>>0]=82;k[(k[n>>2]|0)+4>>2]=(k[(k[n>>2]|0)+8>>2]|0)+(k[h>>2]|0);k[(k[n>>2]|0)+8>>2]=k[(k[n>>2]|0)+12>>2];k[(k[n>>2]|0)+12>>2]=0;break}if((l[e>>0]|0|0)==121){e=k[n>>2]|0;if(k[j>>2]|0){i[e>>0]=89;k[(k[n>>2]|0)+4>>2]=k[(k[n>>2]|0)+8>>2];k[(k[n>>2]|0)+8>>2]=1;break}else{i[e>>0]=77;k[(k[n>>2]|0)+4>>2]=0;k[(k[n>>2]|0)+12>>2]=0;break}}}while(0);k[f>>2]=(k[f>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}r=o;return}function pD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=h;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+43>>0]|0|0))break;k[g>>2]=(k[d>>2]|0)+736+((k[e>>2]|0)*80|0);if((k[(k[g>>2]|0)+64>>2]|0)!=0?(k[(k[(k[g>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)bg(k[c>>2]|0,k[(k[g>>2]|0)+56+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}qD((k[d>>2]|0)+328|0);while(1){if(!(k[(k[d>>2]|0)+16>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[f>>2]|0)+52>>2];rD(k[c>>2]|0,k[f>>2]|0)}bg(k[c>>2]|0,k[d>>2]|0);r=h;return}function qD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[d>>2]=k[k[k[k[b>>2]>>2]>>2]>>2];k[e>>2]=(k[(k[b>>2]|0)+12>>2]|0)-1;k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){if((k[e>>2]|0)<0)break;if((m[(k[c>>2]|0)+20>>1]|0)&1)qv(k[d>>2]|0,k[k[c>>2]>>2]|0);if(!((m[(k[c>>2]|0)+20>>1]|0)&16)){if((m[(k[c>>2]|0)+20>>1]|0)&32)wD(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)}else vD(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0);k[e>>2]=(k[e>>2]|0)+-1;k[c>>2]=(k[c>>2]|0)+48}if((k[(k[b>>2]|0)+20>>2]|0)==((k[b>>2]|0)+24|0)){r=f;return}bg(k[d>>2]|0,k[(k[b>>2]|0)+20>>2]|0);r=f;return}function rD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;sD(k[e>>2]|0,k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function sD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[(k[d>>2]|0)+48>>2]|0)!=((k[d>>2]|0)+56|0))bg(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0);tD(k[c>>2]|0,k[d>>2]|0);uD(k[d>>2]|0);r=e;return}function tD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+36>>2]&17408)){r=e;return}if((k[(k[d>>2]|0)+36>>2]&1024|0)!=0?(l[(k[d>>2]|0)+24+4>>0]|0|0)!=0:0){Ud(k[(k[d>>2]|0)+24+8>>2]|0);i[(k[d>>2]|0)+24+4>>0]=0;k[(k[d>>2]|0)+24+8>>2]=0;r=e;return}if(!(k[(k[d>>2]|0)+36>>2]&16384)){r=e;return}if(!(k[(k[d>>2]|0)+24+4>>2]|0)){r=e;return}bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+24+4>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+24+4>>2]|0);k[(k[d>>2]|0)+24+4>>2]=0;r=e;return}function uD(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+48>>2]=(k[c>>2]|0)+56;j[(k[c>>2]|0)+40>>1]=0;j[(k[c>>2]|0)+44>>1]=3;k[(k[c>>2]|0)+36>>2]=0;r=b;return}function vD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;qD(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function wD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;qD(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function xD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];k[(k[d>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+16>>2]=8;k[(k[d>>2]|0)+20>>2]=(k[d>>2]|0)+24;r=c;return}function yD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=ny(k[e>>2]|0)|0;k[g>>2]=a;i[(k[d>>2]|0)+8>>0]=i[f>>0]|0;if(!(k[g>>2]|0)){r=h;return}c=k[d>>2]|0;if((l[k[g>>2]>>0]|0|0)!=(l[f>>0]|0|0)){LE(c,k[e>>2]|0,0)|0;r=h;return}else{yD(c,k[(k[g>>2]|0)+12>>2]|0,i[f>>0]|0);yD(k[d>>2]|0,k[(k[g>>2]|0)+16>>2]|0,i[f>>0]|0);r=h;return}}function zD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[(k[d>>2]|0)+4+(a<<2)>>2]=b;r=c;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;d=q+40|0;e=q+36|0;f=q+32|0;o=q+28|0;n=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;m=q+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1)){r=q;return}k[o>>2]=k[(k[e>>2]|0)+16>>2];k[h>>2]=k[(k[e>>2]|0)+64>>2];if(!(k[h>>2]|0)){r=q;return}k[g>>2]=0;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[h>>2]>>2]|0)){b=13;break}while(1){if((k[g>>2]|0)<(j[(k[o>>2]|0)+34>>1]|0))b=(l[(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+15>>0]&2|0)==0;else b=0;a=k[g>>2]|0;if(!b)break;k[g>>2]=a+1}c=k[d>>2]|0;if((a|0)>=(j[(k[o>>2]|0)+34>>1]|0)){b=10;break}c=Mv(c,152,0,0,0)|0;k[i>>2]=c;if(!(k[i>>2]|0)){b=13;break}k[(k[i>>2]|0)+28>>2]=k[(k[e>>2]|0)+44>>2];a=k[g>>2]|0;k[g>>2]=a+1;j[(k[i>>2]|0)+32>>1]=a;k[(k[i>>2]|0)+44>>2]=k[o>>2];a=k[d>>2]|0;c=k[i>>2]|0;c=Mv(a,37,c,Ky(k[k[d>>2]>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[m>>2]=c;LE(k[f>>2]|0,k[m>>2]|0,1)|0;k[n>>2]=(k[n>>2]|0)+1}if((b|0)==10){n=k[n>>2]|0;k[p>>2]=k[k[o>>2]>>2];k[p+4>>2]=n;Mh(c,35365,p);r=q;return}else if((b|0)==13){r=q;return}}function BD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[d>>2]|0)+12>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;HE(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+-1}r=f;return}function CD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;s=u+16|0;q=u+12|0;n=u+8|0;o=u+4|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)!=1){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}k[o>>2]=k[(k[g>>2]|0)+8+44>>2];k[s>>2]=k[(k[g>>2]|0)+8+16>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[i>>2]>>2]|0))break;c=ny(k[(k[(k[i>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0;k[p>>2]=c;if(((l[k[p>>2]>>0]|0)==152?(k[(k[p>>2]|0)+28>>2]|0)==(k[o>>2]|0):0)?(j[(k[p>>2]|0)+32>>1]|0)<0:0){t=8;break}k[n>>2]=(k[n>>2]|0)+1}if((t|0)==8){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}k[q>>2]=k[(k[s>>2]|0)+8>>2];while(1){if(!(k[q>>2]|0)){t=22;break}if(l[(k[q>>2]|0)+54>>0]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[q>>2]|0)+50>>1]|0))break;if(!(UD(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0,-1,-1,2,k[q>>2]|0)|0)){if((GE(k[f>>2]|0,k[i>>2]|0,k[o>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)<0)break;if(!(yE(k[q>>2]|0,k[n>>2]|0)|0))break}k[n>>2]=(k[n>>2]|0)+1}if((k[n>>2]|0)==(m[(k[q>>2]|0)+50>>1]|0)){t=20;break}}k[q>>2]=k[(k[q>>2]|0)+20>>2]}if((t|0)==20){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}else if((t|0)==22){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}return 0}function DD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;b=t+44|0;c=t+40|0;s=t+36|0;h=t+32|0;q=t+28|0;p=t+24|0;n=t+20|0;d=t+16|0;e=t+12|0;o=t+8|0;g=t+4|0;f=t;k[c>>2]=a;k[s>>2]=k[k[c>>2]>>2];if((m[(k[s>>2]|0)+36>>1]|0)&32){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[h>>2]=(k[(k[s>>2]|0)+4>>2]|0)+8;k[o>>2]=k[(k[h>>2]|0)+16>>2];if((l[(k[o>>2]|0)+42>>0]|0)&16){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}if((l[(k[h>>2]|0)+36+1>>0]|0)>>>1&1){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[d>>2]=k[(k[h>>2]|0)+44>>2];k[q>>2]=(k[s>>2]|0)+328;k[n>>2]=k[(k[c>>2]|0)+12>>2];k[(k[n>>2]|0)+36>>2]=0;j[(k[n>>2]|0)+42>>1]=0;a=UD(k[q>>2]|0,k[d>>2]|0,-1,0,0,130,0)|0;k[p>>2]=a;a:do if(k[p>>2]|0){k[(k[n>>2]|0)+36>>2]=4353;k[k[(k[n>>2]|0)+48>>2]>>2]=k[p>>2];j[(k[n>>2]|0)+40>>1]=1;j[(k[n>>2]|0)+24>>1]=1;j[(k[n>>2]|0)+20>>1]=33}else{k[g>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break a;if(((l[(k[g>>2]|0)+54>>0]|0|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)==0:0)?(m[(k[g>>2]|0)+50>>1]|0|0)<=3:0){k[f>>2]=((l[(k[g>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[g>>2]|0)+50>>1]|0|0))break;o=UD(k[q>>2]|0,k[d>>2]|0,k[e>>2]|0,0,0,k[f>>2]|0,k[g>>2]|0)|0;k[p>>2]=o;if(!(k[p>>2]|0))break;k[(k[(k[n>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]=k[p>>2];k[e>>2]=(k[e>>2]|0)+1}if((k[e>>2]|0)==(m[(k[g>>2]|0)+50>>1]|0|0))break}k[g>>2]=k[(k[g>>2]|0)+20>>2]}k[(k[n>>2]|0)+36>>2]=4609;if(!(((l[(k[g>>2]|0)+55>>0]|0)>>>5&1|0)==0?(q=(k[h>>2]|0)+56|0,o=k[q>>2]|0,q=k[q+4>>2]|0,p=wE(k[g>>2]|0)|0,!((o&~p|0)==0&(q&~L|0)==0)):0)){q=(k[n>>2]|0)+36|0;k[q>>2]=k[q>>2]|64}j[(k[n>>2]|0)+40>>1]=k[e>>2];j[(k[n>>2]|0)+24>>1]=k[e>>2];k[(k[n>>2]|0)+24+4>>2]=k[g>>2];j[(k[n>>2]|0)+20>>1]=39}while(0);if(!(k[(k[n>>2]|0)+36>>2]|0)){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}j[(k[n>>2]|0)+22>>1]=1;k[(k[s>>2]|0)+736+64>>2]=k[n>>2];p=KD((k[s>>2]|0)+68|0,k[d>>2]|0)|0;q=(k[n>>2]|0)+8|0;k[q>>2]=p;k[q+4>>2]=L;k[(k[s>>2]|0)+736+4>>2]=k[d>>2];j[(k[s>>2]|0)+32>>1]=1;if(k[(k[s>>2]|0)+8>>2]|0)i[(k[s>>2]|0)+38>>0]=k[k[(k[s>>2]|0)+8>>2]>>2];if((m[(k[s>>2]|0)+36>>1]|0)&1024)i[(k[s>>2]|0)+42>>0]=1;k[b>>2]=1;s=k[b>>2]|0;r=t;return s|0}function ED(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=r;r=r+80|0;b=s+60|0;m=s+56|0;d=s+16|0;e=s+8|0;c=s+52|0;t=s+48|0;j=s+44|0;h=s+40|0;o=s+36|0;q=s+32|0;p=s+28|0;n=s+64|0;f=s;g=s+24|0;k[b>>2]=a;k[m>>2]=k[k[b>>2]>>2];a=d;k[a>>2]=0;k[a+4>>2]=0;a=e;k[a>>2]=0;k[a+4>>2]=0;k[t>>2]=k[(k[m>>2]|0)+4>>2];k[h>>2]=(k[t>>2]|0)+8+((l[(k[m>>2]|0)+43>>0]|0)*72|0);k[o>>2]=k[k[k[m>>2]>>2]>>2];k[q>>2]=0;i[n>>0]=0;k[p>>2]=k[(k[b>>2]|0)+12>>2];uD(k[p>>2]|0);k[c>>2]=0;k[j>>2]=(k[t>>2]|0)+8;while(1){if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){b=19;break}a=f;k[a>>2]=0;k[a+4>>2]=0;i[(k[p>>2]|0)+16>>0]=k[c>>2];a=KD((k[m>>2]|0)+68|0,k[(k[j>>2]|0)+44>>2]|0)|0;t=(k[p>>2]|0)+8|0;k[t>>2]=a;k[t+4>>2]=L;if((l[(k[j>>2]|0)+36>>0]|0|(l[n>>0]|0))&10){u=e;a=k[u+4>>2]|0;t=d;k[t>>2]=k[u>>2];k[t+4>>2]=a}i[n>>0]=i[(k[j>>2]|0)+36>>0]|0;if((l[(k[(k[j>>2]|0)+16>>2]|0)+42>>0]|0)&16){k[g>>2]=(k[j>>2]|0)+72;while(1){if((k[g>>2]|0)>>>0>=(k[h>>2]|0)>>>0)break;u=f;if(!(!((k[u>>2]|0)!=0|(k[u+4>>2]|0)!=0)?((l[(k[g>>2]|0)+36>>0]|0)&10|0)==0:0)){a=KD((k[m>>2]|0)+68|0,k[(k[g>>2]|0)+44>>2]|0)|0;v=f;t=k[v+4>>2]|L;u=f;k[u>>2]=k[v>>2]|a;k[u+4>>2]=t}k[g>>2]=(k[g>>2]|0)+72}u=d;v=f;v=jE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}else{v=d;v=kE(k[b>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}if(!(k[q>>2]|0)){u=d;v=f;v=lE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}t=(k[p>>2]|0)+8|0;a=e;u=k[a+4>>2]|k[t+4>>2];v=e;k[v>>2]=k[a>>2]|k[t>>2];k[v+4>>2]=u;if(k[q>>2]|0){b=19;break}if(l[(k[o>>2]|0)+69>>0]|0){b=19;break}k[c>>2]=(k[c>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+72}if((b|0)==19){sD(k[o>>2]|0,k[p>>2]|0);r=s;return k[q>>2]|0}return 0}function FD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=r;r=r+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;q=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;h=U+104|0;o=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;e=U+80|0;g=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;d=U+60|0;f=U+56|0;S=U+52|0;c=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;n=U+148|0;p=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;k[N>>2]=a;j[G>>1]=b;k[t>>2]=0;j[s>>1]=0;j[u>>1]=0;k[f>>2]=0;k[z>>2]=k[k[N>>2]>>2];k[O>>2]=k[k[z>>2]>>2];k[P>>2]=l[(k[N>>2]|0)+43>>0];if((k[P>>2]|0)<=1)b=1;else b=(k[P>>2]|0)==2?5:10;k[q>>2]=b;if((k[(k[N>>2]|0)+8>>2]|0)!=0?(j[G>>1]|0)!=0:0)k[w>>2]=k[k[(k[N>>2]|0)+8>>2]>>2];else k[w>>2]=0;a=(ha(32+(k[P>>2]<<2)|0,k[q>>2]|0)|0)<<1;k[c>>2]=a;k[c>>2]=(k[c>>2]|0)+(k[w>>2]<<1);c=k[c>>2]|0;c=$w(k[O>>2]|0,c,((c|0)<0)<<31>>31)|0;k[S>>2]=c;if(!(k[S>>2]|0)){k[M>>2]=7;T=k[M>>2]|0;r=U;return T|0}k[g>>2]=k[S>>2];k[e>>2]=(k[g>>2]|0)+(k[q>>2]<<5);c=k[e>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[c+28>>2]=0;k[d>>2]=(k[e>>2]|0)+(k[q>>2]<<5);k[h>>2]=k[q>>2]<<1;k[R>>2]=k[g>>2];while(1){if((k[h>>2]|0)<=0)break;k[(k[R>>2]|0)+24>>2]=k[d>>2];k[h>>2]=(k[h>>2]|0)+-1;k[R>>2]=(k[R>>2]|0)+32;k[d>>2]=(k[d>>2]|0)+(k[P>>2]<<2)}if(k[w>>2]|0){k[f>>2]=k[d>>2];KR(k[f>>2]|0,0,k[w>>2]<<1|0)|0}if((k[(k[z>>2]|0)+428>>2]|0)>>>0<48)b=k[(k[z>>2]|0)+428>>2]|0;else b=48;j[(k[e>>2]|0)+16>>1]=b;k[v>>2]=1;if(k[w>>2]|0)i[(k[e>>2]|0)+22>>0]=(k[P>>2]|0)>0?-1:k[w>>2]|0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[P>>2]|0))break;k[y>>2]=0;k[h>>2]=0;k[R>>2]=k[e>>2];while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;k[K>>2]=k[(k[N>>2]|0)+16>>2];while(1){if(!(k[K>>2]|0))break;i[n>>0]=i[(k[R>>2]|0)+22>>0]|0;c=D;k[c>>2]=0;k[c+4>>2]=0;c=k[K>>2]|0;d=k[R>>2]|0;a:do if(!((k[c>>2]&~k[d>>2]|0)!=0?1:(k[c+4>>2]&~k[d+4>>2]|0)!=0)?(c=(k[K>>2]|0)+8|0,d=k[R>>2]|0,!((k[c>>2]&k[d>>2]|0)!=0?1:(k[c+4>>2]&k[d+4>>2]|0)!=0)):0){if((k[(k[K>>2]|0)+36>>2]&16384|0)!=0?(j[(k[R>>2]|0)+16>>1]|0)<10:0)break;b=fE(j[(k[K>>2]|0)+18>>1]|0,(j[(k[K>>2]|0)+20>>1]|0)+(j[(k[R>>2]|0)+16>>1]|0)&65535)|0;j[C>>1]=b;b=fE(j[C>>1]|0,j[(k[R>>2]|0)+20>>1]|0)|0;j[C>>1]=b;j[x>>1]=(j[(k[R>>2]|0)+16>>1]|0)+(j[(k[K>>2]|0)+22>>1]|0);b=k[R>>2]|0;a=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[a+4>>2];d=p;k[d>>2]=k[b>>2]|k[a>>2];k[d+4>>2]=c;if((i[n>>0]|0)<0){d=gE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[R>>2]|0,j[(k[N>>2]|0)+36>>1]|0,k[H>>2]&65535,k[K>>2]|0,D)|0;i[n>>0]=d}else{a=(k[R>>2]|0)+8|0;c=k[a+4>>2]|0;d=D;k[d>>2]=k[a>>2];k[d+4>>2]=c}if((i[n>>0]|0)>=0?(i[n>>0]|0)<(k[w>>2]|0):0){if(!(j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)){d=hE(k[N>>2]|0,j[G>>1]|0,k[w>>2]|0,i[n>>0]|0)|0;j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]=d}d=fE(j[C>>1]|0,j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)|0;j[B>>1]=d}else j[B>>1]=j[C>>1]|0;k[o>>2]=0;k[A>>2]=k[g>>2];while(1){if((k[o>>2]|0)>=(k[y>>2]|0))break;c=k[A>>2]|0;d=p;if(((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)?((i[(k[A>>2]|0)+22>>0]^i[n>>0])&128|0)==0:0)break;k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}do if((k[o>>2]|0)<(k[y>>2]|0)){if((j[(k[A>>2]|0)+18>>1]|0)<(j[B>>1]|0))break a;if((j[(k[A>>2]|0)+18>>1]|0)!=(j[B>>1]|0))break;if((j[(k[A>>2]|0)+16>>1]|0)<=(j[x>>1]|0))break a}else{do if((k[y>>2]|0)>=(k[q>>2]|0)){if((j[B>>1]|0)>(j[s>>1]|0))break a;if((j[B>>1]|0)!=(j[s>>1]|0))break;if((j[C>>1]|0)>=(j[u>>1]|0))break a}while(0);if((k[y>>2]|0)<(k[q>>2]|0)){d=k[y>>2]|0;k[y>>2]=d+1;k[o>>2]=d}else k[o>>2]=k[t>>2];k[A>>2]=(k[g>>2]|0)+(k[o>>2]<<5)}while(0);b=k[R>>2]|0;d=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[d+4>>2];a=k[A>>2]|0;k[a>>2]=k[b>>2]|k[d>>2];k[a+4>>2]=c;a=D;c=k[a+4>>2]|0;d=(k[A>>2]|0)+8|0;k[d>>2]=k[a>>2];k[d+4>>2]=c;j[(k[A>>2]|0)+16>>1]=j[x>>1]|0;j[(k[A>>2]|0)+18>>1]=j[B>>1]|0;j[(k[A>>2]|0)+20>>1]=j[C>>1]|0;i[(k[A>>2]|0)+22>>0]=i[n>>0]|0;IR(k[(k[A>>2]|0)+24>>2]|0,k[(k[R>>2]|0)+24>>2]|0,k[H>>2]<<2|0)|0;k[(k[(k[A>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]=k[K>>2];if((k[y>>2]|0)>=(k[q>>2]|0)){k[t>>2]=0;j[s>>1]=j[(k[g>>2]|0)+18>>1]|0;j[u>>1]=j[(k[g>>2]|0)+16>>1]|0;k[o>>2]=1;k[A>>2]=(k[g>>2]|0)+32;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;do if((j[(k[A>>2]|0)+18>>1]|0)<=(j[s>>1]|0)){if((j[(k[A>>2]|0)+18>>1]|0)!=(j[s>>1]|0))break;if((j[(k[A>>2]|0)+20>>1]|0)>(j[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;j[s>>1]=j[(k[A>>2]|0)+18>>1]|0;j[u>>1]=j[(k[A>>2]|0)+20>>1]|0;k[t>>2]=k[o>>2]}k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}}}while(0);k[K>>2]=k[(k[K>>2]|0)+52>>2]}k[h>>2]=(k[h>>2]|0)+1;k[R>>2]=(k[R>>2]|0)+32}k[R>>2]=k[g>>2];k[g>>2]=k[e>>2];k[e>>2]=k[R>>2];k[v>>2]=k[y>>2];k[H>>2]=(k[H>>2]|0)+1}if(!(k[v>>2]|0)){Mh(k[z>>2]|0,35273,E);bg(k[O>>2]|0,k[S>>2]|0);k[M>>2]=1;T=k[M>>2]|0;r=U;return T|0}k[R>>2]=k[e>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;if((j[(k[R>>2]|0)+18>>1]|0)>(j[(k[e>>2]|0)+(k[h>>2]<<5)+18>>1]|0))k[R>>2]=(k[e>>2]|0)+(k[h>>2]<<5);k[h>>2]=(k[h>>2]|0)+1}k[H>>2]=0;while(1){b=k[N>>2]|0;if((k[H>>2]|0)>=(k[P>>2]|0))break;k[J>>2]=b+736+((k[H>>2]|0)*80|0);F=k[(k[(k[R>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]|0;k[K>>2]=F;k[(k[J>>2]|0)+64>>2]=F;i[(k[J>>2]|0)+44>>0]=i[(k[K>>2]|0)+16>>0]|0;k[(k[J>>2]|0)+4>>2]=k[(k[(k[N>>2]|0)+4>>2]|0)+8+((l[(k[J>>2]|0)+44>>0]|0)*72|0)+44>>2];k[H>>2]=(k[H>>2]|0)+1}if(((((m[b+36>>1]&1024|0)!=0?(m[(k[N>>2]|0)+36>>1]&512|0)==0:0)?(l[(k[N>>2]|0)+42>>0]|0)==0:0)?(j[G>>1]|0)!=0:0)?(K=(gE(k[N>>2]|0,k[(k[N>>2]|0)+12>>2]|0,k[R>>2]|0,512,(k[P>>2]|0)-1&65535,k[(k[(k[R>>2]|0)+24>>2]|0)+((k[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,k[L>>2]=K,(k[L>>2]|0)==(k[k[(k[N>>2]|0)+12>>2]>>2]|0)):0)i[(k[N>>2]|0)+42>>0]=2;if(k[(k[N>>2]|0)+8>>2]|0){b=i[(k[R>>2]|0)+22>>0]|0;if(m[(k[N>>2]|0)+36>>1]&512){if((b<<24>>24|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0))i[(k[N>>2]|0)+42>>0]=2}else{i[(k[N>>2]|0)+38>>0]=b;if((i[(k[N>>2]|0)+38>>0]|0)<0)i[(k[N>>2]|0)+38>>0]=0;J=(k[R>>2]|0)+8|0;K=k[J+4>>2]|0;L=(k[N>>2]|0)+24|0;k[L>>2]=k[J>>2];k[L+4>>2]=K}if(((m[(k[N>>2]|0)+36>>1]&2048|0)!=0?((k[P>>2]|0)>0?(i[(k[N>>2]|0)+38>>0]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,k[L>>2]=0,k[L+4>>2]=0,P=(gE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[R>>2]|0,0,(k[P>>2]|0)-1&65535,k[(k[(k[R>>2]|0)+24>>2]|0)+((k[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,k[Q>>2]=P,(k[Q>>2]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0)):0){i[(k[N>>2]|0)+39>>0]=1;P=T;Q=k[P+4>>2]|0;T=(k[N>>2]|0)+24|0;k[T>>2]=k[P>>2];k[T+4>>2]=Q}}j[(k[N>>2]|0)+32>>1]=j[(k[R>>2]|0)+16>>1]|0;bg(k[O>>2]|0,k[S>>2]|0);k[M>>2]=0;T=k[M>>2]|0;r=U;return T|0}function GD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[d>>2]|0)){b=f;a=b;a=k[a>>2]|0;b=b+4|0;b=k[b>>2]|0;L=b;r=g;return a|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;h=dE(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|h;k[a+4>>2]=b;k[e>>2]=(k[e>>2]|0)+1}h=f;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function HD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+176|0;p=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;D=Y+144|0;I=Y+140|0;J=Y+136|0;F=Y+132|0;X=Y+128|0;Q=Y+124|0;H=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;C=Y+100|0;E=Y+96|0;G=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;o=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;n=Y+64|0;h=Y+60|0;g=Y+8|0;z=Y+56|0;w=Y;K=Y+52|0;M=Y+48|0;k[N>>2]=a;k[t>>2]=b;k[u>>2]=c;b=v;k[b>>2]=d;k[b+4>>2]=e;k[O>>2]=f;i[o>>0]=0;k[T>>2]=0;k[A>>2]=0;k[P>>2]=0;k[X>>2]=k[(k[N>>2]|0)+8>>2];b=pB(k[N>>2]|0)|0;k[Q>>2]=b;k[D>>2]=0;k[H>>2]=k[(k[u>>2]|0)+16>>2];k[J>>2]=(k[(k[t>>2]|0)+20>>2]|0)+((k[(k[t>>2]|0)+12>>2]|0)*48|0);k[G>>2]=k[(k[O>>2]|0)+64>>2];b=B;k[b>>2]=0;k[b+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;k[n>>2]=k[k[I>>2]>>2];b=k[G>>2]|0;if((((k[b>>2]|0)==0&(k[b+4>>2]|0)==0?(m[(k[I>>2]|0)+20>>1]&2|0)==0:0)?(k[(k[n>>2]|0)+4>>2]&1|0)==0:0)?($D(k[n>>2]|0,k[(k[u>>2]|0)+44>>2]|0)|0)!=0:0){c=k[k[N>>2]>>2]|0;b=k[T>>2]|0;b=xz(c,b,Ky(k[k[N>>2]>>2]|0,k[n>>2]|0,0)|0)|0;k[T>>2]=b}b=v;if(aE(k[I>>2]|0,k[u>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0){k[h>>2]=k[(k[I>>2]|0)+12>>2];if((k[h>>2]|0)>=64){d=0;e=-2147483648}else{d=LR(1,0,k[h>>2]|0)|0;e=L}b=g;k[b>>2]=d;k[b+4>>2]=e;if(!(i[o>>0]|0)){b=k[(k[(k[H>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;k[p>>2]=k[k[H>>2]>>2];k[p+4>>2]=b;$d(284,35236,p);i[o>>0]=1}c=B;b=g;if((k[c>>2]&k[b>>2]|0)==0?(k[c+4>>2]&k[b+4>>2]|0)==0:0){if(bE(k[k[N>>2]>>2]|0,k[G>>2]|0,(k[D>>2]|0)+1|0)|0){q=57;break}f=k[I>>2]|0;a=k[D>>2]|0;k[D>>2]=a+1;k[(k[(k[G>>2]|0)+48>>2]|0)+(a<<2)>>2]=f;a=g;f=B;c=k[f+4>>2]|k[a+4>>2];b=B;k[b>>2]=k[f>>2]|k[a>>2];k[b+4>>2]=c}}k[I>>2]=(k[I>>2]|0)+48}if((q|0)==57){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;qv(W,X);r=Y;return}n=k[D>>2]&65535;j[(k[G>>2]|0)+40>>1]=n;j[(k[G>>2]|0)+24>>1]=n;k[(k[G>>2]|0)+36>>2]=16961;n=(k[u>>2]|0)+56|0;o=B;p=k[n+4>>2]&(~k[o+4>>2]|-2147483648);q=x;k[q>>2]=k[n>>2]&~k[o>>2];k[q+4>>2]=p;if(63<(j[(k[H>>2]|0)+34>>1]|0))d=63;else d=j[(k[H>>2]|0)+34>>1]|0;k[C>>2]=d;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;q=x;o=k[q>>2]|0;q=k[q+4>>2]|0;p=LR(1,0,k[y>>2]|0)|0;if((o&p|0)!=0|(q&L|0)!=0)k[D>>2]=(k[D>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)k[D>>2]=(k[D>>2]|0)+((j[(k[H>>2]|0)+34>>1]|0)-64+1);s=cE(k[k[N>>2]>>2]|0,(k[D>>2]|0)+1&65535,0,s)|0;k[F>>2]=s;if(!(k[F>>2]|0)){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;qv(W,X);r=Y;return}k[(k[G>>2]|0)+24+4>>2]=k[F>>2];k[k[F>>2]>>2]=35262;k[(k[F>>2]|0)+12>>2]=k[H>>2];k[S>>2]=0;s=B;k[s>>2]=0;k[s+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;s=v;if(aE(k[I>>2]|0,k[u>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0){k[z>>2]=k[(k[I>>2]|0)+12>>2];if((k[z>>2]|0)>=64){d=0;e=-2147483648}else{d=LR(1,0,k[z>>2]|0)|0;e=L}q=w;k[q>>2]=d;k[q+4>>2]=e;q=B;s=w;if((k[q>>2]&k[s>>2]|0)==0?(k[q+4>>2]&k[s+4>>2]|0)==0:0){k[K>>2]=k[k[I>>2]>>2];p=w;o=B;q=k[o+4>>2]|k[p+4>>2];s=B;k[s>>2]=k[o>>2]|k[p>>2];k[s+4>>2]=q;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[(k[I>>2]|0)+12>>2];s=qB(k[N>>2]|0,k[(k[K>>2]|0)+12>>2]|0,k[(k[K>>2]|0)+16>>2]|0)|0;k[E>>2]=s;if(k[E>>2]|0)d=k[k[E>>2]>>2]|0;else d=35351;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=d;k[S>>2]=(k[S>>2]|0)+1}}k[I>>2]=(k[I>>2]|0)+48}k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;K=x;I=k[K>>2]|0;K=k[K+4>>2]|0;J=LR(1,0,k[y>>2]|0)|0;if((I&J|0)!=0|(K&L|0)!=0){j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35351;k[S>>2]=(k[S>>2]|0)+1}k[y>>2]=(k[y>>2]|0)+1}a:do if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){k[y>>2]=63;while(1){if((k[y>>2]|0)>=(j[(k[H>>2]|0)+34>>1]|0))break a;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35351;k[S>>2]=(k[S>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}}while(0);j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=-1;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35351;J=(k[N>>2]|0)+72|0;K=k[J>>2]|0;k[J>>2]=K+1;k[(k[O>>2]|0)+8>>2]=K;lx(k[X>>2]|0,104,k[(k[O>>2]|0)+8>>2]|0,(k[D>>2]|0)+1|0)|0;Xz(k[N>>2]|0,k[F>>2]|0);FA(k[N>>2]|0);k[U>>2]=(k[(k[k[t>>2]>>2]|0)+4>>2]|0)+8+((l[(k[O>>2]|0)+44>>0]|0)*72|0);if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){k[M>>2]=k[(k[U>>2]|0)+28>>2];K=lx(k[X>>2]|0,74,0,0)|0;k[P>>2]=K;px(k[X>>2]|0,15,k[M>>2]|0,0,k[(k[U>>2]|0)+24>>2]|0)|0;M=Uz(k[X>>2]|0,16,k[M>>2]|0)|0;k[R>>2]=M}else{M=Uz(k[X>>2]|0,55,k[(k[O>>2]|0)+4>>2]|0)|0;k[R>>2]=M}if(k[T>>2]|0){M=Zz(k[X>>2]|0)|0;k[A>>2]=M;gB(k[N>>2]|0,k[T>>2]|0,k[A>>2]|0,16);M=(k[G>>2]|0)+36|0;k[M>>2]=k[M>>2]|131072}M=rA(k[N>>2]|0)|0;k[W>>2]=M;M=sA(k[N>>2]|0,k[F>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[W>>2]|0,0,0,0,0)|0;k[V>>2]=M;lx(k[X>>2]|0,124,k[(k[O>>2]|0)+8>>2]|0,k[W>>2]|0)|0;Rh(k[X>>2]|0,16);if(k[T>>2]|0)bA(k[X>>2]|0,k[A>>2]|0);d=k[X>>2]|0;if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){gA(d,k[P>>2]|0,(k[V>>2]|0)+(k[S>>2]|0)|0);oD(k[X>>2]|0,k[R>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[(k[U>>2]|0)+32>>2]|0,1);$z(k[X>>2]|0,k[R>>2]|0)|0;V=(k[U>>2]|0)+36+1|0;i[V>>0]=i[V>>0]&-17}else lx(d,7,k[(k[O>>2]|0)+4>>2]|0,(k[R>>2]|0)+1|0)|0;Rh(k[X>>2]|0,3);aA(k[X>>2]|0,k[R>>2]|0);vA(k[N>>2]|0,k[W>>2]|0);DA(k[N>>2]|0);aA(k[X>>2]|0,k[Q>>2]|0);W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;qv(W,X);r=Y;return}function ID(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;g=O+140|0;h=O+136|0;n=O+132|0;t=O+128|0;u=O+124|0;o=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;p=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;q=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[o>>1]=f;k[B>>2]=0;do if((l[(k[g>>2]|0)+453>>0]|0|0)==2){k[z>>2]=(k[h>>2]|0)+8+((l[(k[n>>2]|0)+44>>0]|0)*72|0);k[D>>2]=k[(k[g>>2]|0)+8>>2];k[p>>2]=k[k[g>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+468>>2];k[A>>2]=k[(k[n>>2]|0)+64>>2];k[v>>2]=k[(k[A>>2]|0)+36>>2];if((k[v>>2]&8192|0)==0?((m[o>>1]|0)&64|0)==0:0){do if(k[v>>2]&48)g=1;else{if((k[v>>2]&1024|0)==0?(m[(k[A>>2]|0)+24>>1]|0|0)>0:0){g=1;break}g=((m[o>>1]|0)&3|0)!=0}while(0);k[x>>2]=g&1;ng(C,k[p>>2]|0,q,100,1e9);XD(C,(k[x>>2]|0)!=0?34973:34980);g=k[z>>2]|0;if(k[(k[z>>2]|0)+20>>2]|0){k[E>>2]=l[g+40>>0];wA(C,34985,E)}else{k[F>>2]=k[g+8>>2];wA(C,34998,F)}if(k[(k[z>>2]|0)+12>>2]|0){k[I>>2]=k[(k[z>>2]|0)+12>>2];wA(C,35008,I)}do if(!(k[v>>2]&1280)){k[K>>2]=0;k[y>>2]=k[(k[A>>2]|0)+24+4>>2];if(((l[(k[(k[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[y>>2]|0)+55>>0]&3|0)==2:0){if(k[x>>2]|0)k[K>>2]=35015}else N=19;do if((N|0)==19){if(k[v>>2]&131072){k[K>>2]=35027;break}if(k[v>>2]&16384){k[K>>2]=35060;break}if(k[v>>2]&64){k[K>>2]=35085;break}else{k[K>>2]=35103;break}}while(0);if(k[K>>2]|0){xA(C,35112,7);N=k[K>>2]|0;k[J>>2]=k[k[y>>2]>>2];wA(C,N,J);YD(C,k[A>>2]|0)}}else{if((k[v>>2]&256|0)!=0?(k[v>>2]&15|0)!=0:0){do if(!(k[v>>2]&5)){if((k[v>>2]&48|0)==48){k[M>>2]=35122;break}if(k[v>>2]&32){k[M>>2]=35136;break}else{k[M>>2]=35138;break}}else k[M>>2]=35120;while(0);k[G>>2]=k[M>>2];wA(C,35140,G);break}if(k[v>>2]&1024){N=k[(k[A>>2]|0)+24+8>>2]|0;k[H>>2]=k[(k[A>>2]|0)+24>>2];k[H+4>>2]=N;wA(C,35178,H)}}while(0);N=pg(C)|0;k[L>>2]=N;N=ox(k[D>>2]|0,160,k[w>>2]|0,k[t>>2]|0,k[u>>2]|0,k[L>>2]|0,-1)|0;k[B>>2]=N;break}k[s>>2]=0;N=k[s>>2]|0;r=O;return N|0}while(0);k[s>>2]=k[B>>2];N=k[s>>2]|0;r=O;return N|0}function JD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0;cb=r;r=r+384|0;Ma=cb+8|0;Na=cb+372|0;ba=cb+368|0;Oa=cb;Sa=cb+364|0;La=cb+360|0;Ra=cb+356|0;I=cb+352|0;R=cb+348|0;Ia=cb+344|0;Xa=cb+340|0;Ja=cb+336|0;_a=cb+332|0;Za=cb+328|0;Ya=cb+324|0;Qa=cb+320|0;ab=cb+316|0;H=cb+312|0;v=cb+308|0;Pa=cb+304|0;O=cb+300|0;f=cb+296|0;e=cb+292|0;B=cb+288|0;z=cb+284|0;D=cb+280|0;A=cb+276|0;C=cb+272|0;E=cb+268|0;G=cb+264|0;F=cb+260|0;u=cb+256|0;t=cb+252|0;g=cb+248|0;n=cb+244|0;h=cb+240|0;o=cb+236|0;q=cb+232|0;s=cb+228|0;p=cb+224|0;Q=cb+378|0;Z=cb+220|0;W=cb+216|0;V=cb+212|0;_=cb+208|0;N=cb+204|0;$=cb+200|0;P=cb+196|0;T=cb+192|0;fa=cb+188|0;w=cb+184|0;S=cb+180|0;aa=cb+176|0;M=cb+383|0;J=cb+382|0;K=cb+381|0;x=cb+172|0;y=cb+380|0;X=cb+168|0;Y=cb+164|0;U=cb+160|0;wa=cb+156|0;ua=cb+152|0;ra=cb+148|0;ea=cb+144|0;Da=cb+140|0;Fa=cb+136|0;Ea=cb+132|0;ga=cb+128|0;ia=cb+124|0;Ga=cb+120|0;la=cb+116|0;Ha=cb+376|0;qa=cb+112|0;Ba=cb+108|0;na=cb+104|0;pa=cb+100|0;xa=cb+96|0;ka=cb+92|0;sa=cb+88|0;va=cb+84|0;Aa=cb+80|0;ta=cb+76|0;ma=cb+72|0;za=cb+68|0;ca=cb+64|0;Ca=cb+60|0;ja=cb+56|0;ya=cb+52|0;oa=cb+48|0;ha=cb+44|0;da=cb+40|0;Ua=cb+36|0;$a=cb+32|0;bb=cb+28|0;Va=cb+24|0;Wa=cb+20|0;Ta=cb+16|0;k[Na>>2]=a;k[ba>>2]=b;b=Oa;k[b>>2]=c;k[b+4>>2]=d;k[O>>2]=0;k[f>>2]=0;k[Ya>>2]=k[k[Na>>2]>>2];k[ab>>2]=k[(k[Ya>>2]|0)+8>>2];k[_a>>2]=(k[Na>>2]|0)+328;k[Qa>>2]=k[k[Ya>>2]>>2];k[Xa>>2]=(k[Na>>2]|0)+736+((k[ba>>2]|0)*80|0);k[Ja>>2]=k[(k[Xa>>2]|0)+64>>2];k[H>>2]=(k[(k[Na>>2]|0)+4>>2]|0)+8+((l[(k[Xa>>2]|0)+44>>0]|0)*72|0);k[Ra>>2]=k[(k[H>>2]|0)+44>>2];b=Oa;c=k[b>>2]|0;b=k[b+4>>2]|0;d=KD((k[Na>>2]|0)+68|0,k[Ra>>2]|0)|0;a=(k[Xa>>2]|0)+72|0;k[a>>2]=c&~d;k[a+4>>2]=b&~L;a=(k[Na>>2]|0)+24|0;a=HR(k[a>>2]|0,k[a+4>>2]|0,k[ba>>2]|0)|0;k[Ia>>2]=a&1;if(k[(k[Ja>>2]|0)+36>>2]&64)c=(m[(k[Na>>2]|0)+36>>1]&32|0)==0;else c=0;k[R>>2]=c&1;a=Zz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+16>>2]=a;k[(k[Xa>>2]|0)+12>>2]=a;k[v>>2]=a;a=Zz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+24>>2]=a;k[Pa>>2]=a;if((l[(k[Xa>>2]|0)+44>>0]|0)>0?(l[(k[H>>2]|0)+36>>0]&8|0)!=0:0){b=(k[Ya>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[k[Xa>>2]>>2]=a;lx(k[ab>>2]|0,74,0,k[k[Xa>>2]>>2]|0)|0}do if((l[(k[H>>2]|0)+36+1>>0]|0)>>>4&1){k[e>>2]=k[(k[H>>2]|0)+28>>2];px(k[ab>>2]|0,15,k[e>>2]|0,0,k[(k[H>>2]|0)+24>>2]|0)|0;La=lx(k[ab>>2]|0,16,k[e>>2]|0,k[v>>2]|0)|0;k[(k[Xa>>2]|0)+52>>2]=La;i[(k[Xa>>2]|0)+45>>0]=13}else{c=k[Ja>>2]|0;if(k[(k[Ja>>2]|0)+36>>2]&1024){k[D>>2]=m[c+40>>1];FA(k[Ya>>2]|0);La=HA(k[Ya>>2]|0,(k[D>>2]|0)+2|0)|0;k[B>>2]=La;k[z>>2]=k[(k[Xa>>2]|0)+12>>2];k[Sa>>2]=0;while(1){if((k[Sa>>2]|0)>=(k[D>>2]|0))break;k[C>>2]=(k[B>>2]|0)+(k[Sa>>2]|0)+2;k[Za>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(k[Sa>>2]<<2)>>2];do if(k[Za>>2]|0){c=k[Ya>>2]|0;d=k[Za>>2]|0;if(m[(k[Za>>2]|0)+18>>1]&1){LD(c,d,k[Xa>>2]|0,k[Sa>>2]|0,k[Ia>>2]|0,k[C>>2]|0)|0;k[z>>2]=k[(k[Xa>>2]|0)+16>>2];break}else{UA(c,k[(k[d>>2]|0)+16>>2]|0,k[C>>2]|0);break}}while(0);k[Sa>>2]=(k[Sa>>2]|0)+1}lx(k[ab>>2]|0,74,k[(k[Ja>>2]|0)+24>>2]|0,k[B>>2]|0)|0;lx(k[ab>>2]|0,74,k[D>>2]|0,(k[B>>2]|0)+1|0)|0;ox(k[ab>>2]|0,11,k[Ra>>2]|0,k[z>>2]|0,k[B>>2]|0,k[(k[Ja>>2]|0)+24+8>>2]|0,(l[(k[Ja>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;i[(k[Ja>>2]|0)+24+4>>0]=0;k[(k[Xa>>2]|0)+48>>2]=k[Ra>>2];i[(k[Xa>>2]|0)+45>>0]=(l[(k[Na>>2]|0)+40>>0]|0)!=0?159:68;La=Yz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+52>>2]=La;k[A>>2]=k[(k[Xa>>2]|0)+56>>2];k[Sa>>2]=(k[D>>2]|0)-1;while(1){if((k[Sa>>2]|0)<0)break;k[Za>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(k[Sa>>2]<<2)>>2];if((k[Sa>>2]|0)<16?(m[(k[Ja>>2]|0)+24+6>>1]>>k[Sa>>2]&1|0)!=0:0)MD(k[Xa>>2]|0,k[Za>>2]|0);else Ka=21;if((Ka|0)==21?(Ka=0,(m[(k[Za>>2]|0)+18>>1]&1|0)!=0):0){if(!(i[(k[Qa>>2]|0)+69>>0]|0)){Ia=k[ab>>2]|0;La=(k[A>>2]|0)+-1|0;k[A>>2]=La;La=hA(Ia,k[(k[(k[Xa>>2]|0)+56+4>>2]|0)+(La*12|0)+4>>2]|0)|0;k[F>>2]=La;px(k[ab>>2]|0,l[k[F>>2]>>0]|0,k[(k[F>>2]|0)+4>>2]|0,k[(k[F>>2]|0)+8>>2]|0,k[(k[F>>2]|0)+12>>2]|0)|0}La=Mv(k[Ya>>2]|0,37,0,0,0)|0;k[E>>2]=La;if(k[E>>2]|0){k[(k[E>>2]|0)+12>>2]=k[(k[k[Za>>2]>>2]|0)+12>>2];La=cw(k[Qa>>2]|0,157,0)|0;k[G>>2]=La;k[(k[E>>2]|0)+16>>2]=La;if(k[G>>2]|0){k[(k[G>>2]|0)+28>>2]=(k[B>>2]|0)+(k[Sa>>2]|0)+2;gB(k[Ya>>2]|0,k[E>>2]|0,k[(k[Xa>>2]|0)+24>>2]|0,0)}k[(k[E>>2]|0)+12>>2]=0;qv(k[Qa>>2]|0,k[E>>2]|0)}}k[Sa>>2]=(k[Sa>>2]|0)+-1}DA(k[Ya>>2]|0);break}if((k[c+36>>2]&256|0)!=0?(k[(k[Ja>>2]|0)+36>>2]&5|0)!=0:0){k[Za>>2]=k[k[(k[Ja>>2]|0)+48>>2]>>2];Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[f>>2]=La;La=LD(k[Ya>>2]|0,k[Za>>2]|0,k[Xa>>2]|0,0,k[Ia>>2]|0,k[f>>2]|0)|0;k[O>>2]=La;if((k[O>>2]|0)!=(k[f>>2]|0))vA(k[Ya>>2]|0,k[f>>2]|0);k[I>>2]=k[(k[Xa>>2]|0)+16>>2];lx(k[ab>>2]|0,17,k[O>>2]|0,k[I>>2]|0)|0;px(k[ab>>2]|0,32,k[Ra>>2]|0,k[I>>2]|0,k[O>>2]|0)|0;ZA(k[Ya>>2]|0,k[O>>2]|0,1);DB(k[Ya>>2]|0,k[Ra>>2]|0,-1,k[O>>2]|0);i[(k[Xa>>2]|0)+45>>0]=-97;break}if((k[(k[Ja>>2]|0)+36>>2]&256|0)!=0?(k[(k[Ja>>2]|0)+36>>2]&2|0)!=0:0){k[u>>2]=159;k[g>>2]=0;k[Sa>>2]=0;k[h>>2]=0;k[n>>2]=0;if(k[(k[Ja>>2]|0)+36>>2]&32){La=k[Sa>>2]|0;k[Sa>>2]=La+1;k[n>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(k[(k[Ja>>2]|0)+36>>2]&16){La=k[Sa>>2]|0;k[Sa>>2]=La+1;k[h>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(k[Ia>>2]|0){k[Za>>2]=k[n>>2];k[n>>2]=k[h>>2];k[h>>2]=k[Za>>2]}if(k[n>>2]|0){k[o>>2]=k[k[n>>2]>>2];La=_A(k[Ya>>2]|0,k[(k[o>>2]|0)+16>>2]|0,s)|0;k[q>>2]=La;px(k[ab>>2]|0,l[34953+((l[k[o>>2]>>0]|0)-38)>>0]|0,k[Ra>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;ZA(k[Ya>>2]|0,k[q>>2]|0,1);vA(k[Ya>>2]|0,k[s>>2]|0);MD(k[Xa>>2]|0,k[n>>2]|0)}else lx(k[ab>>2]|0,(k[Ia>>2]|0)!=0?33:55,k[Ra>>2]|0,k[v>>2]|0)|0;if(k[h>>2]|0){k[p>>2]=k[k[h>>2]>>2];Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[g>>2]=La;UA(k[Ya>>2]|0,k[(k[p>>2]|0)+16>>2]|0,k[g>>2]|0);if((l[k[p>>2]>>0]|0)!=40?(l[k[p>>2]>>0]|0)!=38:0)k[u>>2]=(k[Ia>>2]|0)!=0?40:38;else k[u>>2]=(k[Ia>>2]|0)!=0?39:41;MD(k[Xa>>2]|0,k[h>>2]|0)}La=Yz(k[ab>>2]|0)|0;k[t>>2]=La;i[(k[Xa>>2]|0)+45>>0]=(k[Ia>>2]|0)!=0?6:7;k[(k[Xa>>2]|0)+48>>2]=k[Ra>>2];k[(k[Xa>>2]|0)+52>>2]=k[t>>2];if((k[u>>2]|0)==159)break;Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[O>>2]=La;lx(k[ab>>2]|0,121,k[Ra>>2]|0,k[O>>2]|0)|0;DB(k[Ya>>2]|0,k[Ra>>2]|0,-1,k[O>>2]|0);px(k[ab>>2]|0,k[u>>2]|0,k[g>>2]|0,k[v>>2]|0,k[O>>2]|0)|0;Rh(k[ab>>2]|0,83);break}c=k[Ja>>2]|0;if(!(k[(k[Ja>>2]|0)+36>>2]&512)){if(!(k[c+36>>2]&8192))if((l[(k[H>>2]|0)+36+1>>0]|0)>>>5&1){i[(k[Xa>>2]|0)+45>>0]=-97;break}else{i[(k[Xa>>2]|0)+45>>0]=i[34969+(k[Ia>>2]|0)>>0]|0;k[(k[Xa>>2]|0)+48>>2]=k[Ra>>2];La=1+(lx(k[ab>>2]|0,l[34971+(k[Ia>>2]|0)>>0]|0,k[Ra>>2]|0,k[v>>2]|0)|0)|0;k[(k[Xa>>2]|0)+52>>2]=La;i[(k[Xa>>2]|0)+47>>0]=1;break}k[ra>>2]=0;c=(k[Ya>>2]|0)+72|0;Ia=k[c>>2]|0;k[c>>2]=Ia+1;k[ea>>2]=Ia;Ia=(k[Ya>>2]|0)+76|0;c=(k[Ia>>2]|0)+1|0;k[Ia>>2]=c;k[Da>>2]=c;k[Fa>>2]=0;k[Ea>>2]=0;c=Zz(k[ab>>2]|0)|0;k[ga>>2]=c;k[Ga>>2]=0;k[qa>>2]=0;k[Ba>>2]=k[(k[H>>2]|0)+16>>2];k[Za>>2]=k[k[(k[Ja>>2]|0)+48>>2]>>2];k[wa>>2]=k[(k[Za>>2]|0)+12>>2];i[(k[Xa>>2]|0)+45>>0]=70;k[(k[Xa>>2]|0)+48>>2]=k[Da>>2];c=k[Na>>2]|0;a:do if((l[(k[Na>>2]|0)+43>>0]|0)>1){k[na>>2]=(l[c+43>>0]|0)-(k[ba>>2]|0)-1;Ja=Kh(k[Qa>>2]|0,80+((k[na>>2]|0)*72|0)|0,0)|0;k[ua>>2]=Ja;if(!(k[ua>>2]|0)){$a=Oa;bb=k[$a+4>>2]|0;ab=Ma;k[ab>>2]=k[$a>>2];k[ab+4>>2]=bb;ab=Ma;bb=ab;bb=k[bb>>2]|0;ab=ab+4|0;ab=k[ab>>2]|0;L=ab;r=cb;return bb|0}k[(k[ua>>2]|0)+4>>2]=(k[na>>2]|0)+1&255;k[k[ua>>2]>>2]=k[(k[ua>>2]|0)+4>>2];b=(k[ua>>2]|0)+8|0;c=k[H>>2]|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[pa>>2]=(k[(k[Na>>2]|0)+4>>2]|0)+8;k[La>>2]=1;while(1){if((k[La>>2]|0)>(k[na>>2]|0))break a;b=(k[ua>>2]|0)+8+((k[La>>2]|0)*72|0)|0;c=(k[pa>>2]|0)+((l[(k[Xa>>2]|0)+((k[La>>2]|0)*80|0)+44>>0]|0)*72|0)|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[La>>2]=(k[La>>2]|0)+1}}else k[ua>>2]=k[c+4>>2];while(0);if(!(m[(k[Na>>2]|0)+36>>1]&8)){if(!(l[(k[Ba>>2]|0)+42>>0]&32)){Ja=(k[Ya>>2]|0)+76|0;La=(k[Ja>>2]|0)+1|0;k[Ja>>2]=La;k[Fa>>2]=La;lx(k[ab>>2]|0,77,0,k[Fa>>2]|0)|0}else{Ja=Rj(k[Ba>>2]|0)|0;k[xa>>2]=Ja;Ja=(k[Ya>>2]|0)+72|0;La=k[Ja>>2]|0;k[Ja>>2]=La+1;k[Fa>>2]=La;lx(k[ab>>2]|0,105,k[Fa>>2]|0,m[(k[xa>>2]|0)+50>>1]|0)|0;Xz(k[Ya>>2]|0,k[xa>>2]|0)}Ja=(k[Ya>>2]|0)+76|0;La=(k[Ja>>2]|0)+1|0;k[Ja>>2]=La;k[Ea>>2]=La}La=lx(k[ab>>2]|0,74,0,k[Da>>2]|0)|0;k[ia>>2]=La;if((k[(k[_a>>2]|0)+12>>2]|0)>1){k[ka>>2]=0;while(1){if((k[ka>>2]|0)>=(k[(k[_a>>2]|0)+12>>2]|0))break;k[sa>>2]=k[(k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)>>2];do if((((k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)|0)!=(k[Za>>2]|0)?(k[(k[sa>>2]|0)+4>>2]&1|0)==0:0)?(m[(k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)+20>>1]&6|0)==0:0){if(!(m[(k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)+18>>1]&8191))break;La=Ky(k[Qa>>2]|0,k[sa>>2]|0,0)|0;k[sa>>2]=La;La=xz(k[Qa>>2]|0,k[qa>>2]|0,k[sa>>2]|0)|0;k[qa>>2]=La}while(0);k[ka>>2]=(k[ka>>2]|0)+1}if(k[qa>>2]|0){La=Mv(k[Ya>>2]|0,284,0,k[qa>>2]|0,0)|0;k[qa>>2]=La}}j[Ha>>1]=240|m[(k[Na>>2]|0)+36>>1]&32768;k[la>>2]=0;while(1){if((k[la>>2]|0)>=(k[(k[wa>>2]|0)+12>>2]|0))break;k[va>>2]=(k[(k[wa>>2]|0)+20>>2]|0)+((k[la>>2]|0)*48|0);if(!((k[(k[va>>2]|0)+8>>2]|0)!=(k[Ra>>2]|0)?(m[(k[va>>2]|0)+18>>1]&1024|0)==0:0)){k[ta>>2]=k[k[va>>2]>>2];k[ma>>2]=0;if((k[qa>>2]|0)!=0?(k[(k[ta>>2]|0)+4>>2]&1|0)==0:0){k[(k[qa>>2]|0)+12>>2]=k[ta>>2];k[ta>>2]=k[qa>>2]}La=mD(k[Ya>>2]|0,k[ua>>2]|0,k[ta>>2]|0,0,0,j[Ha>>1]|0,k[ea>>2]|0)|0;k[Aa>>2]=La;if(k[Aa>>2]|0){La=ID(k[Ya>>2]|0,k[ua>>2]|0,(k[Aa>>2]|0)+736|0,k[ba>>2]|0,l[(k[Xa>>2]|0)+44>>0]|0,0)|0;k[ca>>2]=La;do if(!(m[(k[Na>>2]|0)+36>>1]&8)){k[ja>>2]=(k[la>>2]|0)==((k[(k[wa>>2]|0)+12>>2]|0)-1|0)?-1:k[la>>2]|0;if(!(l[(k[Ba>>2]|0)+42>>0]&32)){La=WA(k[Ya>>2]|0,k[Ba>>2]|0,-1,k[Ra>>2]|0,k[Ea>>2]|0,0)|0;k[Ca>>2]=La;La=Qh(k[ab>>2]|0,61,k[Fa>>2]|0,0,k[Ca>>2]|0,k[ja>>2]|0)|0;k[ma>>2]=La;break}La=Rj(k[Ba>>2]|0)|0;k[ya>>2]=La;k[oa>>2]=m[(k[ya>>2]|0)+50>>1];La=HA(k[Ya>>2]|0,k[oa>>2]|0)|0;k[Ca>>2]=La;k[ha>>2]=0;while(1){if((k[ha>>2]|0)>=(k[oa>>2]|0))break;k[da>>2]=j[(k[(k[ya>>2]|0)+4>>2]|0)+(k[ha>>2]<<1)>>1];SD(k[Ya>>2]|0,k[Ba>>2]|0,k[da>>2]|0,k[Ra>>2]|0,(k[Ca>>2]|0)+(k[ha>>2]|0)|0);k[ha>>2]=(k[ha>>2]|0)+1}if(k[ja>>2]|0){La=Qh(k[ab>>2]|0,31,k[Fa>>2]|0,0,k[Ca>>2]|0,k[oa>>2]|0)|0;k[ma>>2]=La}do if((k[ja>>2]|0)>=0){px(k[ab>>2]|0,96,k[Ca>>2]|0,k[oa>>2]|0,k[Ea>>2]|0)|0;px(k[ab>>2]|0,124,k[Fa>>2]|0,k[Ea>>2]|0,0)|0;if(!(k[ja>>2]|0))break;Rh(k[ab>>2]|0,16)}while(0);KA(k[Ya>>2]|0,k[Ca>>2]|0,k[oa>>2]|0)}while(0);lx(k[ab>>2]|0,14,k[Da>>2]|0,k[ga>>2]|0)|0;if(k[ma>>2]|0)aA(k[ab>>2]|0,k[ma>>2]|0);if(i[(k[Aa>>2]|0)+41>>0]|0)k[Ga>>2]=1;k[za>>2]=k[(k[Aa>>2]|0)+736+64>>2];do if(k[(k[za>>2]|0)+36>>2]&512){if((k[la>>2]|0)!=0?(k[(k[za>>2]|0)+24+4>>2]|0)!=(k[ra>>2]|0):0){Ka=179;break}if((l[(k[Ba>>2]|0)+42>>0]&32|0)!=0?(i[(k[(k[za>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ka=179;break}k[ra>>2]=k[(k[za>>2]|0)+24+4>>2];j[Ha>>1]=m[Ha>>1]|4096}else Ka=179;while(0);if((Ka|0)==179){Ka=0;k[ra>>2]=0}nD(k[Aa>>2]|0)}}k[la>>2]=(k[la>>2]|0)+1}k[(k[Xa>>2]|0)+56>>2]=k[ra>>2];if(k[ra>>2]|0)k[(k[Xa>>2]|0)+8>>2]=k[ea>>2];if(k[qa>>2]|0){k[(k[qa>>2]|0)+12>>2]=0;qv(k[Qa>>2]|0,k[qa>>2]|0)}Ka=k[ab>>2]|0;La=k[ia>>2]|0;TD(Ka,La,Yz(k[ab>>2]|0)|0);$z(k[ab>>2]|0,k[(k[Xa>>2]|0)+12>>2]|0)|0;bA(k[ab>>2]|0,k[ga>>2]|0);if((l[(k[Na>>2]|0)+43>>0]|0)>1)bg(k[Qa>>2]|0,k[ua>>2]|0);if(k[Ga>>2]|0)break;MD(k[Xa>>2]|0,k[Za>>2]|0);break}j[Q>>1]=j[c+24>>1]|0;k[W>>2]=0;k[V>>2]=0;k[w>>2]=0;i[M>>0]=0;i[J>>0]=0;i[K>>0]=0;k[T>>2]=k[(k[Ja>>2]|0)+24+4>>2];k[fa>>2]=k[(k[Xa>>2]|0)+8>>2];if(((m[(k[Na>>2]|0)+36>>1]&1|0)!=0?(i[(k[Na>>2]|0)+38>>0]|0)>0:0)?(m[(k[T>>2]|0)+50>>1]|0)>(m[Q>>1]|0):0){i[J>>0]=1;k[w>>2]=1}k[Sa>>2]=m[Q>>1];if(k[(k[Ja>>2]|0)+36>>2]&32){Ka=k[Sa>>2]|0;k[Sa>>2]=Ka+1;k[W>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];k[w>>2]=1}if(k[(k[Ja>>2]|0)+36>>2]&16){Ka=k[Sa>>2]|0;k[Sa>>2]=Ka+1;k[V>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];k[w>>2]=1;if(m[(k[V>>2]|0)+20>>1]&256){Ha=(k[Ya>>2]|0)+76|0;Ka=(k[Ha>>2]|0)+1|0;k[Ha>>2]=Ka;k[(k[Xa>>2]|0)+36>>2]=Ka;lx(k[ab>>2]|0,74,1,k[(k[Xa>>2]|0)+36>>2]|0)|0;Ka=Yz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+40>>2]=Ka;Ka=(k[Xa>>2]|0)+36|0;k[Ka>>2]=k[Ka>>2]<<1;Ka=(k[Xa>>2]|0)+36|0;k[Ka>>2]=k[Ka>>2]|k[Ia>>2]^(l[(k[(k[T>>2]|0)+28>>2]|0)+(m[Q>>1]|0)>>0]|0)==1}if(((k[W>>2]|0)==0?(Ka=j[(k[(k[T>>2]|0)+4>>2]|0)+(m[Q>>1]<<1)>>1]|0,k[Sa>>2]=Ka,(Ka|0)>=0):0)?(l[(k[(k[(k[T>>2]|0)+12>>2]|0)+4>>2]|0)+(k[Sa>>2]<<4)+12>>0]|0)==0:0)i[J>>0]=1}if((m[Q>>1]|0)<(m[(k[T>>2]|0)+50>>1]|0)?(k[Ia>>2]|0)==((l[(k[(k[T>>2]|0)+28>>2]|0)+(m[Q>>1]|0)>>0]|0)==0|0):0)Ka=72;else Ka=70;if(((Ka|0)==70?(k[Ia>>2]|0)!=0:0)?(m[(k[T>>2]|0)+50>>1]|0)==(m[Q>>1]|0):0)Ka=72;if((Ka|0)==72){k[x>>2]=k[V>>2];k[V>>2]=k[W>>2];k[W>>2]=k[x>>2];i[y>>0]=i[J>>0]|0;i[J>>0]=i[K>>0]|0;i[K>>0]=i[y>>0]|0}Ka=ND(k[Ya>>2]|0,k[Xa>>2]|0,k[Ia>>2]|0,k[w>>2]|0,aa)|0;k[Z>>2]=Ka;if(k[aa>>2]|0)i[M>>0]=i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]|0;k[I>>2]=k[(k[Xa>>2]|0)+16>>2];if(k[W>>2]|0)c=(m[(k[W>>2]|0)+18>>1]&40|0)!=0;else c=1;k[_>>2]=c&1;if(k[V>>2]|0)c=(m[(k[V>>2]|0)+18>>1]&40|0)!=0;else c=1;k[N>>2]=c&1;if(k[W>>2]|0)c=1;else c=(m[Q>>1]|0)>0;k[$>>2]=c&1;k[P>>2]=m[Q>>1];if(!(k[W>>2]|0)){if(i[J>>0]|0){lx(k[ab>>2]|0,77,0,(k[Z>>2]|0)+(m[Q>>1]|0)|0)|0;k[P>>2]=(k[P>>2]|0)+1;k[_>>2]=0;k[$>>2]=1}}else{k[X>>2]=k[(k[k[W>>2]>>2]|0)+16>>2];UA(k[Ya>>2]|0,k[X>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0);OD(k[ab>>2]|0,k[Xa>>2]|0,k[W>>2]|0);do if(!(m[(k[W>>2]|0)+20>>1]&0)){if(!(mB(k[X>>2]|0)|0))break;lx(k[ab>>2]|0,34,(k[Z>>2]|0)+(m[Q>>1]|0)|0,k[I>>2]|0)|0}while(0);do if(k[aa>>2]|0){if(((nB(k[X>>2]|0,i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]=65;if(!(PD(k[X>>2]|0,i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]|0)|0))break;i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]=65}while(0);k[P>>2]=(k[P>>2]|0)+1}QD(k[Ya>>2]|0,k[Z>>2]|0,(k[P>>2]|0)-(l[J>>0]|0)|0,k[aa>>2]|0);if(!((m[(k[Ja>>2]|0)+42>>1]|0)>0?(k[P>>2]|0)==(m[(k[Ja>>2]|0)+42>>1]|0):0)){k[S>>2]=l[34957+((k[$>>2]<<2)+(k[_>>2]<<1)+(k[Ia>>2]|0))>>0];Qh(k[ab>>2]|0,k[S>>2]|0,k[fa>>2]|0,k[I>>2]|0,k[Z>>2]|0,k[P>>2]|0)|0}k[P>>2]=m[Q>>1];do if(k[V>>2]|0){k[Y>>2]=k[(k[k[V>>2]>>2]|0)+16>>2];LA(k[Ya>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0,1);UA(k[Ya>>2]|0,k[Y>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0);OD(k[ab>>2]|0,k[Xa>>2]|0,k[V>>2]|0);do if(!(m[(k[V>>2]|0)+20>>1]&0)){if(!(mB(k[Y>>2]|0)|0))break;lx(k[ab>>2]|0,34,(k[Z>>2]|0)+(m[Q>>1]|0)|0,k[I>>2]|0)|0}while(0);do if(((nB(k[Y>>2]|0,i[M>>0]|0)|0)<<24>>24|0)!=65){if(PD(k[Y>>2]|0,i[M>>0]|0)|0)break;QD(k[Ya>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0,1,M)}while(0);k[P>>2]=(k[P>>2]|0)+1}else{if(!(i[K>>0]|0))break;lx(k[ab>>2]|0,77,0,(k[Z>>2]|0)+(m[Q>>1]|0)|0)|0;k[N>>2]=0;k[P>>2]=(k[P>>2]|0)+1}while(0);bg(k[Qa>>2]|0,k[aa>>2]|0);Ka=Yz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+52>>2]=Ka;if(k[P>>2]|0){k[S>>2]=l[34965+((k[Ia>>2]<<1)+(k[N>>2]|0))>>0];Qh(k[ab>>2]|0,k[S>>2]|0,k[fa>>2]|0,k[I>>2]|0,k[Z>>2]|0,k[P>>2]|0)|0}MD(k[Xa>>2]|0,k[W>>2]|0);MD(k[Xa>>2]|0,k[V>>2]|0);do if(!(k[R>>2]|0)){if(!(l[(k[(k[T>>2]|0)+12>>2]|0)+42>>0]&32))if(m[(k[Na>>2]|0)+36>>1]&32768){Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[O>>2]=La;lx(k[ab>>2]|0,127,k[fa>>2]|0,k[O>>2]|0)|0;DB(k[Ya>>2]|0,k[Ra>>2]|0,-1,k[O>>2]|0);px(k[ab>>2]|0,32,k[Ra>>2]|0,0,k[O>>2]|0)|0;break}else{RD(k[Na>>2]|0,k[T>>2]|0,k[Ra>>2]|0,k[fa>>2]|0);break}if((k[Ra>>2]|0)==(k[fa>>2]|0))break;Ka=Rj(k[(k[T>>2]|0)+12>>2]|0)|0;k[U>>2]=Ka;Ka=HA(k[Ya>>2]|0,m[(k[U>>2]|0)+50>>1]|0)|0;k[O>>2]=Ka;k[Sa>>2]=0;while(1){if((k[Sa>>2]|0)>=(m[(k[U>>2]|0)+50>>1]|0))break;Ka=(RA(k[T>>2]|0,j[(k[(k[U>>2]|0)+4>>2]|0)+(k[Sa>>2]<<1)>>1]|0)|0)<<16>>16;k[La>>2]=Ka;px(k[ab>>2]|0,94,k[fa>>2]|0,k[La>>2]|0,(k[O>>2]|0)+(k[Sa>>2]|0)|0)|0;k[Sa>>2]=(k[Sa>>2]|0)+1}Qh(k[ab>>2]|0,30,k[Ra>>2]|0,k[Pa>>2]|0,k[O>>2]|0,m[(k[U>>2]|0)+50>>1]|0)|0}while(0);do if(!(k[(k[Ja>>2]|0)+36>>2]&4096)){c=(k[Xa>>2]|0)+45|0;if(k[Ia>>2]|0){i[c>>0]=6;break}else{i[c>>0]=7;break}}else i[(k[Xa>>2]|0)+45>>0]=-97;while(0);k[(k[Xa>>2]|0)+48>>2]=k[fa>>2];i[(k[Xa>>2]|0)+46>>0]=(k[(k[Ja>>2]|0)+36>>2]&65536|0)!=0?1:0;if(k[(k[Ja>>2]|0)+36>>2]&15)break;i[(k[Xa>>2]|0)+47>>0]=1}while(0);k[Za>>2]=k[(k[_a>>2]|0)+20>>2];k[Sa>>2]=k[(k[_a>>2]|0)+12>>2];while(1){if((k[Sa>>2]|0)<=0)break;k[$a>>2]=0;do if(!(m[(k[Za>>2]|0)+20>>1]&6)){Ka=(k[Za>>2]|0)+40|0;La=(k[Xa>>2]|0)+72|0;if((k[Ka>>2]&k[La>>2]|0)!=0?1:(k[Ka+4>>2]&k[La+4>>2]|0)!=0){i[(k[Na>>2]|0)+41>>0]=1;break}k[Ua>>2]=k[k[Za>>2]>>2];if((k[k[Xa>>2]>>2]|0)!=0?(k[(k[Ua>>2]|0)+4>>2]&1|0)==0:0)break;if(m[(k[Za>>2]|0)+20>>1]&512){k[bb>>2]=k[(k[Xa>>2]|0)+36>>2];La=Uz(k[ab>>2]|0,(k[bb>>2]&1|0)!=0?22:21,(k[bb>>2]|0)>>>1)|0;k[$a>>2]=La}gB(k[Ya>>2]|0,k[Ua>>2]|0,k[Pa>>2]|0,16);if(k[$a>>2]|0)aA(k[ab>>2]|0,k[$a>>2]|0);La=(k[Za>>2]|0)+20|0;j[La>>1]=m[La>>1]|4}while(0);k[Sa>>2]=(k[Sa>>2]|0)+-1;k[Za>>2]=(k[Za>>2]|0)+48}k[Za>>2]=k[(k[_a>>2]|0)+20>>2];k[Sa>>2]=k[(k[_a>>2]|0)+12>>2];while(1){if((k[Sa>>2]|0)<=0)break;if((((((((m[(k[Za>>2]|0)+20>>1]&6|0)==0?(m[(k[Za>>2]|0)+18>>1]&130|0)!=0:0)?(m[(k[Za>>2]|0)+18>>1]&2048|0)!=0:0)?(k[(k[Za>>2]|0)+8>>2]|0)==(k[Ra>>2]|0):0)?(k[k[Xa>>2]>>2]|0)==0:0)?(k[Va>>2]=k[k[Za>>2]>>2],bb=Oa,bb=UD(k[_a>>2]|0,k[Ra>>2]|0,k[(k[Za>>2]|0)+12>>2]|0,k[bb>>2]|0,k[bb+4>>2]|0,131,0)|0,k[Ta>>2]=bb,(k[Ta>>2]|0)!=0):0)?(m[(k[Ta>>2]|0)+20>>1]&4|0)==0:0)?(bb=Kh(k[Qa>>2]|0,48,0)|0,k[Wa>>2]=bb,(k[Wa>>2]|0)!=0):0){b=k[Wa>>2]|0;c=k[k[Ta>>2]>>2]|0;d=b+48|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[(k[Wa>>2]|0)+12>>2]=k[(k[Va>>2]|0)+12>>2];gB(k[Ya>>2]|0,k[Wa>>2]|0,k[Pa>>2]|0,16);bg(k[Qa>>2]|0,k[Wa>>2]|0)}k[Sa>>2]=(k[Sa>>2]|0)+-1;k[Za>>2]=(k[Za>>2]|0)+48}b:do if(k[k[Xa>>2]>>2]|0){bb=Yz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+28>>2]=bb;lx(k[ab>>2]|0,74,1,k[k[Xa>>2]>>2]|0)|0;BC(k[Ya>>2]|0);k[Za>>2]=k[(k[_a>>2]|0)+20>>2];k[Sa>>2]=0;while(1){if((k[Sa>>2]|0)>=(k[(k[_a>>2]|0)+12>>2]|0))break b;if((m[(k[Za>>2]|0)+20>>1]&6|0)==0?(ab=(k[Za>>2]|0)+40|0,bb=(k[Xa>>2]|0)+72|0,!((k[ab>>2]&k[bb>>2]|0)!=0?1:(k[ab+4>>2]&k[bb+4>>2]|0)!=0)):0){gB(k[Ya>>2]|0,k[k[Za>>2]>>2]|0,k[Pa>>2]|0,16);bb=(k[Za>>2]|0)+20|0;j[bb>>1]=m[bb>>1]|4}k[Sa>>2]=(k[Sa>>2]|0)+1;k[Za>>2]=(k[Za>>2]|0)+48}}while(0);$a=(k[Xa>>2]|0)+72|0;bb=k[$a+4>>2]|0;ab=Ma;k[ab>>2]=k[$a>>2];k[ab+4>>2]=bb;ab=Ma;bb=ab;bb=k[bb>>2]|0;ab=ab+4|0;ab=k[ab>>2]|0;L=ab;r=cb;return bb|0}function KD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){b=6;break}a=k[e>>2]|0;if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){d=LR(1,0,a|0)|0;e=f;k[e>>2]=d;k[e+4>>2]=L;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}else if((b|0)==6){e=f;k[e>>2]=0;k[e+4>>2]=0;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}return 0}function LD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;g=x+48|0;p=x+44|0;q=x+40|0;h=x+36|0;s=x+32|0;j=x+28|0;n=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;o=x+8|0;v=x+4|0;m=x;k[g>>2]=a;k[p>>2]=b;k[q>>2]=c;k[h>>2]=d;k[s>>2]=e;k[j>>2]=f;k[n>>2]=k[k[p>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+8>>2];if((l[k[n>>2]>>0]|0|0)!=37?(l[k[n>>2]>>0]|0|0)!=29:0){if((l[k[n>>2]>>0]|0|0)==34){k[u>>2]=k[j>>2];lx(k[w>>2]|0,77,0,k[u>>2]|0)|0;v=k[q>>2]|0;w=k[p>>2]|0;MD(v,w);w=k[u>>2]|0;r=x;return w|0}k[m>>2]=k[(k[q>>2]|0)+64>>2];if(((k[(k[m>>2]|0)+36>>2]&1024|0)==0?(k[(k[m>>2]|0)+24+4>>2]|0)!=0:0)?(l[(k[(k[(k[m>>2]|0)+24+4>>2]|0)+28>>2]|0)+(k[h>>2]|0)>>0]|0|0)!=0:0)k[s>>2]=((k[s>>2]|0)!=0^1)&1;k[u>>2]=k[j>>2];b=kB(k[g>>2]|0,k[n>>2]|0,4,0)|0;k[t>>2]=b;if((k[t>>2]|0)==4)k[s>>2]=((k[s>>2]|0)!=0^1)&1;k[o>>2]=k[(k[n>>2]|0)+28>>2];lx(k[w>>2]|0,(k[s>>2]|0)!=0?33:55,k[o>>2]|0,0)|0;n=(k[m>>2]|0)+36|0;k[n>>2]=k[n>>2]|2048;if(!(k[(k[q>>2]|0)+56>>2]|0)){n=Zz(k[w>>2]|0)|0;k[(k[q>>2]|0)+16>>2]=n}n=(k[q>>2]|0)+56|0;k[n>>2]=(k[n>>2]|0)+1;g=Sx(k[k[g>>2]>>2]|0,k[(k[q>>2]|0)+56+4>>2]|0,(k[(k[q>>2]|0)+56>>2]|0)*12|0,0)|0;k[(k[q>>2]|0)+56+4>>2]=g;k[v>>2]=k[(k[q>>2]|0)+56+4>>2];g=(k[q>>2]|0)+56|0;if(!(k[v>>2]|0)){k[g>>2]=0;v=k[q>>2]|0;w=k[p>>2]|0;MD(v,w);w=k[u>>2]|0;r=x;return w|0}k[v>>2]=(k[v>>2]|0)+(((k[g>>2]|0)-1|0)*12|0);k[k[v>>2]>>2]=k[o>>2];j=k[w>>2]|0;g=k[o>>2]|0;h=k[u>>2]|0;if((k[t>>2]|0)==1){t=lx(j,121,g,h)|0;k[(k[v>>2]|0)+4>>2]=t}else{t=px(j,94,g,0,h)|0;k[(k[v>>2]|0)+4>>2]=t}i[(k[v>>2]|0)+8>>0]=(k[s>>2]|0)!=0?4:5;Uz(k[w>>2]|0,34,k[u>>2]|0)|0;v=k[q>>2]|0;w=k[p>>2]|0;MD(v,w);w=k[u>>2]|0;r=x;return w|0}v=VA(k[g>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[u>>2]=v;v=k[q>>2]|0;w=k[p>>2]|0;MD(v,w);w=k[u>>2]|0;r=x;return w|0}function MD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if(!(k[d>>2]|0)){c=14;break}if((m[(k[d>>2]|0)+20>>1]|0)&4){c=14;break}if((k[k[c>>2]>>2]|0)!=0?(k[(k[k[d>>2]>>2]|0)+4>>2]&1|0)==0:0){c=14;break}a=(k[c>>2]|0)+72|0;b=(k[d>>2]|0)+40|0;if(!((k[a>>2]&k[b>>2]|0)==0?(k[a+4>>2]&k[b+4>>2]|0)==0:0)){c=14;break}if((k[e>>2]|0)!=0?((m[(k[d>>2]|0)+20>>1]|0)&1024|0)!=0:0){b=(k[d>>2]|0)+20|0;j[b>>1]=m[b>>1]|0|512}else{b=(k[d>>2]|0)+20|0;j[b>>1]=m[b>>1]|0|4}if((k[(k[d>>2]|0)+4>>2]|0)<0){c=14;break}k[d>>2]=(k[(k[(k[d>>2]|0)+24>>2]|0)+20>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)*48|0);b=(k[d>>2]|0)+22|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;if(l[(k[d>>2]|0)+22>>0]|0){c=14;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==14){r=f;return}}function ND(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;f=A+60|0;g=A+56|0;h=A+52|0;C=A+48|0;l=A+44|0;p=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;o=A+24|0;x=A+20|0;q=A+16|0;z=A+12|0;n=A+8|0;w=A+4|0;u=A;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[C>>2]=d;k[l>>2]=e;k[y>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[(k[g>>2]|0)+64>>2];j[p>>1]=j[(k[t>>2]|0)+24>>1]|0;j[s>>1]=j[(k[t>>2]|0)+42>>1]|0;k[B>>2]=k[(k[t>>2]|0)+24+4>>2];k[x>>2]=(k[(k[f>>2]|0)+76>>2]|0)+1;k[q>>2]=(m[(k[t>>2]|0)+24>>1]|0)+(k[C>>2]|0);e=(k[f>>2]|0)+76|0;k[e>>2]=(k[e>>2]|0)+(k[q>>2]|0);e=k[k[f>>2]>>2]|0;e=zh(e,zC(k[k[f>>2]>>2]|0,k[B>>2]|0)|0)|0;k[z>>2]=e;a:do if(j[s>>1]|0){k[n>>2]=k[(k[g>>2]|0)+8>>2];Uz(k[y>>2]|0,(k[h>>2]|0)!=0?33:55,k[n>>2]|0)|0;C=tx(k[y>>2]|0,13)|0;k[o>>2]=C;C=Qh(k[y>>2]|0,(k[h>>2]|0)!=0?23:26,k[n>>2]|0,0,k[x>>2]|0,m[s>>1]|0)|0;k[(k[g>>2]|0)+20>>2]=C;aA(k[y>>2]|0,k[o>>2]|0);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[s>>1]|0))break a;px(k[y>>2]|0,94,k[n>>2]|0,k[o>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[o>>2]=m[s>>1];while(1){if((k[o>>2]|0)>=(m[p>>1]|0))break;k[v>>2]=k[(k[(k[t>>2]|0)+48>>2]|0)+(k[o>>2]<<2)>>2];C=LD(k[f>>2]|0,k[v>>2]|0,k[g>>2]|0,k[o>>2]|0,k[h>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;k[w>>2]=C;do if((k[w>>2]|0)!=((k[x>>2]|0)+(k[o>>2]|0)|0))if((k[q>>2]|0)==1){vA(k[f>>2]|0,k[x>>2]|0);k[x>>2]=k[w>>2];break}else{lx(k[y>>2]|0,83,k[w>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;break}while(0);if(!(m[(k[v>>2]|0)+18>>1]&257)){k[u>>2]=k[(k[k[v>>2]>>2]|0)+16>>2];if((m[(k[v>>2]|0)+20>>1]&2048|0)==0?(mB(k[u>>2]|0)|0)!=0:0)lx(k[y>>2]|0,34,(k[x>>2]|0)+(k[o>>2]|0)|0,k[(k[g>>2]|0)+12>>2]|0)|0;if(k[z>>2]|0){if(((nB(k[u>>2]|0,i[(k[z>>2]|0)+(k[o>>2]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[z>>2]|0)+(k[o>>2]|0)>>0]=65;if(PD(k[u>>2]|0,i[(k[z>>2]|0)+(k[o>>2]|0)>>0]|0)|0)i[(k[z>>2]|0)+(k[o>>2]|0)>>0]=65}}k[o>>2]=(k[o>>2]|0)+1}k[k[l>>2]>>2]=k[z>>2];r=A;return k[x>>2]|0}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[h>>2]=c;if(!((m[(k[h>>2]|0)+20>>1]|0)&256)){r=g;return}h=hA(k[d>>2]|0,-1)|0;k[f>>2]=h;k[(k[f>>2]|0)+12>>2]=(k[(k[e>>2]|0)+36>>2]|0)>>>1;i[(k[f>>2]|0)+3>>0]=k[(k[e>>2]|0)+36>>2]&1;r=g;return}function PD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+4|0;c=g;d=g+9|0;e=g+8|0;k[c>>2]=a;i[d>>0]=b;a:do if((i[d>>0]|0)==65)k[f>>2]=1;else{while(1){if((l[k[c>>2]>>0]|0)==156)a=1;else a=(l[k[c>>2]>>0]|0)==155;b=k[c>>2]|0;if(!a)break;k[c>>2]=k[b+12>>2]}i[e>>0]=i[b>>0]|0;if((l[e>>0]|0)==157)i[e>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[e>>0]|0){case 132:{if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 133:{if((i[d>>0]|0)==69)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 97:{k[f>>2]=(i[d>>0]|0)==66&1;break a}case 134:{k[f>>2]=1;break a}case 152:{if((j[(k[c>>2]|0)+32>>1]|0)<0)if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;else b=0;k[f>>2]=b&1;break a}default:{k[f>>2]=0;break a}}}while(0);r=g;return k[f>>2]|0}function QD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[h>>2]|0)){r=l;return}while(1){if((k[g>>2]|0)<=0)break;if((i[k[h>>2]>>0]|0)!=65)break;k[g>>2]=(k[g>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}while(1){if((k[g>>2]|0)>1)c=(i[(k[h>>2]|0)+((k[g>>2]|0)-1)>>0]|0)==65;else c=0;b=k[g>>2]|0;if(!c)break;k[g>>2]=b+-1}if((b|0)<=0){r=l;return}ox(k[j>>2]|0,95,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0,k[g>>2]|0)|0;ZA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);r=l;return}function RD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;n=r;r=r+48|0;o=n+32|0;e=n+28|0;p=n+24|0;q=n+20|0;h=n+16|0;l=n+12|0;g=n+8|0;i=n+4|0;f=n;k[o>>2]=a;k[e>>2]=b;k[p>>2]=c;k[q>>2]=d;k[h>>2]=k[k[o>>2]>>2];k[l>>2]=k[(k[h>>2]|0)+8>>2];px(k[l>>2]|0,126,k[q>>2]|0,0,k[p>>2]|0)|0;if(!(m[(k[o>>2]|0)+36>>1]&32)){r=n;return}c=k[h>>2]|0;if(k[(k[h>>2]|0)+416>>2]|0)c=k[c+416>>2]|0;if(k[c+336>>2]|0){r=n;return}k[i>>2]=k[(k[e>>2]|0)+12>>2];q=Bh(k[k[h>>2]>>2]|0,(j[(k[i>>2]|0)+34>>1]|0)+1<<2,0)|0;k[f>>2]=q;if(!(k[f>>2]|0)){r=n;return}k[k[f>>2]>>2]=j[(k[i>>2]|0)+34>>1];k[g>>2]=0;while(1){if((k[g>>2]|0)>=((m[(k[e>>2]|0)+52>>1]|0)-1|0))break;if((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)>=0)k[(k[f>>2]|0)+((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)+1<<2)>>2]=(k[g>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}Uh(k[l>>2]|0,-1,k[f>>2]|0,-15);r=n;return}function SD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=r;r=r+32|0;f=i+20|0;m=i+16|0;l=i+12|0;j=i+8|0;g=i+4|0;h=i;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[g>>2]=e;b=WA(k[f>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[g>>2]|0,0)|0;k[h>>2]=b;if((k[h>>2]|0)==(k[g>>2]|0)){r=i;return}lx(k[(k[f>>2]|0)+8>>2]|0,83,k[h>>2]|0,k[g>>2]|0)|0;r=i;return}function TD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(hA(k[f>>2]|0,k[e>>2]|0)|0)+4|0;k[c>>2]=a;r=d;return}function UD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=r;r=r+144|0;l=p+132|0;u=p+128|0;t=p+124|0;s=p+120|0;h=p;i=p+116|0;q=p+112|0;o=p+108|0;n=p+104|0;j=p+8|0;k[u>>2]=a;k[t>>2]=b;k[s>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[i>>2]=f;k[q>>2]=g;k[o>>2]=0;a=VD(j,k[u>>2]|0,k[t>>2]|0,k[s>>2]|0,k[i>>2]|0,k[q>>2]|0)|0;k[n>>2]=a;k[i>>2]=k[i>>2]&130;while(1){if(!(k[n>>2]|0)){d=10;break}t=(k[n>>2]|0)+32|0;u=h;if((k[t>>2]&k[u>>2]|0)==0?(k[t+4>>2]&k[u+4>>2]|0)==0:0){u=(k[n>>2]|0)+32|0;if((k[u>>2]|0)==0&(k[u+4>>2]|0)==0?((m[(k[n>>2]|0)+18>>1]|0)&k[i>>2]|0)!=0:0){d=6;break}if(!(k[o>>2]|0))k[o>>2]=k[n>>2]}u=WD(j)|0;k[n>>2]=u}if((d|0)==6){k[l>>2]=k[n>>2];u=k[l>>2]|0;r=p;return u|0}else if((d|0)==10){k[l>>2]=k[o>>2];u=k[l>>2]|0;r=p;return u|0}return 0}function VD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;g=p+24|0;q=p+20|0;h=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[q>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=0;k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[q>>2];k[(k[g>>2]|0)+12>>2]=0;if(k[n>>2]|0){k[o>>2]=k[l>>2];k[l>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1];if((k[l>>2]|0)==-2)k[(k[g>>2]|0)+12>>2]=k[(k[(k[(k[n>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2];if((k[l>>2]|0)==(j[(k[(k[n>>2]|0)+12>>2]|0)+32>>1]|0))k[l>>2]=-1}if((k[n>>2]|0)!=0&(k[l>>2]|0)>=0){i[(k[g>>2]|0)+16>>0]=i[(k[(k[(k[n>>2]|0)+12>>2]|0)+4>>2]|0)+(k[l>>2]<<4)+13>>0]|0;k[(k[g>>2]|0)+8>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+(k[o>>2]<<2)>>2]}else{i[(k[g>>2]|0)+16>>0]=0;k[(k[g>>2]|0)+8>>2]=0}k[(k[g>>2]|0)+20>>2]=k[m>>2];k[(k[g>>2]|0)+24>>2]=0;k[(k[g>>2]|0)+28>>2]=k[h>>2];j[(k[g>>2]|0)+72>>1]=k[l>>2];i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+18>>0]=1;q=WD(k[g>>2]|0)|0;r=p;return q|0}function WD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;o=s+32|0;c=s+28|0;b=s+40|0;h=s+24|0;g=s+20|0;q=s+16|0;p=s+12|0;d=s+8|0;e=s+4|0;f=s;k[o>>2]=a;k[p>>2]=k[(k[o>>2]|0)+24>>2];a:while(1){if((l[(k[o>>2]|0)+18>>0]|0)>(l[(k[o>>2]|0)+17>>0]|0)){b=40;break}k[c>>2]=k[(k[o>>2]|0)+28+((l[(k[o>>2]|0)+18>>0]|0)-1<<2)>>2];j[b>>1]=j[(k[o>>2]|0)+72+((l[(k[o>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((j[b>>1]|0)==-2?(k[(k[o>>2]|0)+12>>2]|0)==0:0){b=5;break}while(1){a=k[(k[o>>2]|0)+4>>2]|0;k[g>>2]=a;if(!a)break;k[q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[p>>2]|0)*48|0);while(1){if((k[p>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break;do if((k[(k[q>>2]|0)+8>>2]|0)==(k[c>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==(j[b>>1]|0):0){if((j[b>>1]|0)==-2?(My(k[(k[k[q>>2]>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[c>>2]|0)|0)!=0:0)break;if((l[(k[o>>2]|0)+18>>0]|0)>1?(k[(k[k[q>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((m[(k[q>>2]|0)+18>>1]&2048|0)!=0?(l[(k[o>>2]|0)+17>>0]|0)<11:0)?(a=ny(k[(k[k[q>>2]>>2]|0)+16>>2]|0)|0,k[h>>2]=a,(l[a>>0]|0)==152):0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(l[(k[o>>2]|0)+17>>0]|0))break;if((k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]|0)==(k[(k[h>>2]|0)+28>>2]|0)?(j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]|0)==(j[(k[h>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)==(l[(k[o>>2]|0)+17>>0]|0)){k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]=k[(k[h>>2]|0)+28>>2];j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]=j[(k[h>>2]|0)+32>>1]|0;a=(k[o>>2]|0)+17|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}}if(m[(k[q>>2]|0)+18>>1]&k[(k[o>>2]|0)+20>>2]){if((k[(k[o>>2]|0)+8>>2]|0)!=0?(m[(k[q>>2]|0)+18>>1]&256|0)==0:0){k[f>>2]=k[k[k[g>>2]>>2]>>2];k[h>>2]=k[k[q>>2]>>2];if(!(rB(k[h>>2]|0,i[(k[o>>2]|0)+16>>0]|0)|0))break;a=qB(k[f>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[(k[h>>2]|0)+16>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0))k[e>>2]=k[(k[k[f>>2]>>2]|0)+8>>2];if(sg(k[k[e>>2]>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0)break}if(!(m[(k[q>>2]|0)+18>>1]&130)){b=36;break a}a=k[(k[k[q>>2]>>2]|0)+16>>2]|0;k[h>>2]=a;if((l[a>>0]|0)!=152){b=36;break a}if((k[(k[h>>2]|0)+28>>2]|0)!=(k[(k[o>>2]|0)+28>>2]|0)){b=36;break a}if((j[(k[h>>2]|0)+32>>1]|0)!=(j[(k[o>>2]|0)+72>>1]|0)){b=36;break a}}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+48}k[(k[o>>2]|0)+4>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+4>>2];k[p>>2]=0}k[(k[o>>2]|0)+4>>2]=k[k[o>>2]>>2];k[p>>2]=0;a=(k[o>>2]|0)+18|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}if((b|0)==5){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}else if((b|0)==36){k[(k[o>>2]|0)+24>>2]=(k[p>>2]|0)+1;k[n>>2]=k[q>>2];q=k[n>>2]|0;r=s;return q|0}else if((b|0)==40){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function XD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;xA(a,b,Tf(k[d>>2]|0)|0);r=c;return}function YD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;l=q;c=q+32|0;d=q+28|0;i=q+24|0;g=q+38|0;h=q+36|0;e=q+20|0;f=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+24+4>>2];j[g>>1]=j[(k[d>>2]|0)+24>>1]|0;j[h>>1]=j[(k[d>>2]|0)+42>>1]|0;if((m[g>>1]|0|0)==0?(k[(k[d>>2]|0)+36>>2]&48|0)==0:0){r=q;return}xA(k[c>>2]|0,35205,2);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[g>>1]|0|0))break;a=ZD(k[i>>2]|0,k[e>>2]|0)|0;k[n>>2]=a;if(k[e>>2]|0)xA(k[c>>2]|0,35208,5);b=k[c>>2]|0;a=(k[e>>2]|0)>=(m[h>>1]|0|0)?35214:35219;k[l>>2]=k[n>>2];wA(b,a,l);k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=k[e>>2];if(k[(k[d>>2]|0)+36>>2]&32){l=ZD(k[i>>2]|0,k[e>>2]|0)|0;k[o>>2]=l;l=k[c>>2]|0;n=k[e>>2]|0;k[e>>2]=n+1;_D(l,n,k[o>>2]|0,35136)}if(k[(k[d>>2]|0)+36>>2]&16){o=ZD(k[i>>2]|0,k[f>>2]|0)|0;k[p>>2]=o;_D(k[c>>2]|0,k[e>>2]|0,k[p>>2]|0,35138)}xA(k[c>>2]|0,35227,1);r=q;return}function ZD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[e>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];if((k[e>>2]|0)==-2){k[c>>2]=35229;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)==-1){k[c>>2]=25361;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2];a=k[c>>2]|0;r=f;return a|0}return 0}function _D(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[i>>2]=b;k[f>>2]=c;k[g>>2]=d;if(k[i>>2]|0)xA(k[e>>2]|0,35208,5);XD(k[e>>2]|0,k[f>>2]|0);xA(k[e>>2]|0,k[g>>2]|0,1);xA(k[e>>2]|0,20891,1);r=h;return}function $D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=wB(k[e>>2]|0,3,k[d>>2]|0)|0;r=c;return a|0}function aE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l;j=l+20|0;k[f>>2]=a;k[g>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;if((k[(k[f>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+44>>2]|0)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if(!((m[(k[f>>2]|0)+18>>1]|0)&130)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}b=(k[f>>2]|0)+32|0;a=h;if((k[b>>2]&k[a>>2]|0)!=0?1:(k[b+4>>2]&k[a+4>>2]|0)!=0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if((k[(k[f>>2]|0)+12>>2]|0)<0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}i[j>>0]=i[(k[(k[(k[g>>2]|0)+16>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+12>>2]<<4)+13>>0]|0;if(rB(k[k[f>>2]>>2]|0,i[j>>0]|0)|0){k[e>>2]=1;a=k[e>>2]|0;r=l;return a|0}else{k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}return 0}function bE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+44>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[g>>2]=(k[g>>2]|0)+7&-8;b=$w(k[e>>2]|0,k[g>>2]<<2,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}IR(k[h>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[f>>2]|0)+44>>1]|0)<<2|0)|0;if((k[(k[f>>2]|0)+48>>2]|0)!=((k[f>>2]|0)+56|0))bg(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0);k[(k[f>>2]|0)+48>>2]=k[h>>2];j[(k[f>>2]|0)+44>>1]=k[g>>2];k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function cE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;l=r;r=r+32|0;m=l+20|0;e=l+24|0;n=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[m>>2]=a;j[e>>1]=b;k[n>>2]=c;k[f>>2]=d;k[g>>2]=56+((j[e>>1]<<2)+7&-8)+(((j[e>>1]|0)+1<<1)+(j[e>>1]<<1)+(j[e>>1]|0)+7&-8);d=(k[g>>2]|0)+(k[n>>2]|0)|0;d=Bh(k[m>>2]|0,d,((d|0)<0)<<31>>31)|0;k[h>>2]=d;if(!(k[h>>2]|0)){n=k[h>>2]|0;r=l;return n|0}k[i>>2]=(k[h>>2]|0)+56;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]<<2)+7&-8);k[(k[h>>2]|0)+8>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]|0)+1<<1);k[(k[h>>2]|0)+4>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+(j[e>>1]<<1);k[(k[h>>2]|0)+28>>2]=k[i>>2];j[(k[h>>2]|0)+52>>1]=j[e>>1]|0;j[(k[h>>2]|0)+50>>1]=(j[e>>1]|0)-1;k[k[f>>2]>>2]=(k[h>>2]|0)+(k[g>>2]|0);n=k[h>>2]|0;r=l;return n|0}function dE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+8|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[e>>2]|0)){e=c;k[e>>2]=0;k[e+4>>2]=0;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}b=k[d>>2]|0;a=k[e>>2]|0;if((l[k[e>>2]>>0]|0|0)==152){e=KD(b,k[a+28>>2]|0)|0;d=f;k[d>>2]=e;k[d+4>>2]=L;d=f;f=k[d+4>>2]|0;e=c;k[e>>2]=k[d>>2];k[e+4>>2]=f;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}b=dE(b,k[a+16>>2]|0)|0;a=f;k[a>>2]=b;k[a+4>>2]=L;if(k[(k[e>>2]|0)+12>>2]|0){h=dE(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|h;k[a+4>>2]=b}if(!(k[(k[e>>2]|0)+4>>2]&2048)){if(k[(k[e>>2]|0)+20>>2]|0){e=GD(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|L;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}}else{e=eE(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|L;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}i=k[f+4>>2]|0;h=c;k[h>>2]=k[f>>2];k[h+4>>2]=i;h=c;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function eE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;f=h;g=h+12|0;e=h+8|0;k[c>>2]=a;k[d>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;while(1){if(!(k[d>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+28>>2];i=GD(k[c>>2]|0,k[k[d>>2]>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=GD(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;j=GD(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|j;k[a+4>>2]=b;a=dE(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0;b=f;j=k[b+4>>2]|L;i=f;k[i>>2]=k[b>>2]|a;k[i+4>>2]=j;i=dE(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;a:do if(k[g>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[g>>2]>>2]|0))break a;i=eE(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+20>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=dE(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+48>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[d>>2]=k[(k[d>>2]|0)+48>>2]}j=f;L=k[j+4>>2]|0;r=h;return k[j>>2]|0}function fE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f+2|0;e=f;j[d>>1]=a;j[e>>1]=b;if((j[d>>1]|0)>=(j[e>>1]|0)){a=j[d>>1]|0;if((j[d>>1]|0)>((j[e>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[d>>1]|0;if((a<<16>>16|0)>((j[e>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[35291+((j[d>>1]|0)-(j[e>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}else{a=j[e>>1]|0;if((j[e>>1]|0)>((j[d>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[e>>1]|0;if((a<<16>>16|0)>((j[d>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[35291+((j[e>>1]|0)-(j[d>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}return 0}function gE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=r;r=r+144|0;W=$+141|0;h=$+120|0;n=$+116|0;o=$+112|0;p=$+132|0;q=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;F=$+128|0;E=$+126|0;G=$+124|0;z=$+100|0;X=$+96|0;C=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;K=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;H=$+32|0;I=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;J=$+48|0;D=$+8|0;Y=$;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;j[p>>1]=d;j[q>>1]=e;k[s>>2]=f;k[t>>2]=g;k[N>>2]=0;k[v>>2]=k[k[k[h>>2]>>2]>>2];d=Z;k[d>>2]=0;k[d+4>>2]=0;if((m[q>>1]|0)!=0?(m[(k[v>>2]|0)+64>>1]&128|0)!=0:0){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}j[G>>1]=k[k[n>>2]>>2];if((m[G>>1]|0)>63){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}i[B>>0]=1;a=LR(1,0,m[G>>1]|0)|0;a=FR(a|0,L|0,1,0)|0;d=H;k[d>>2]=a;k[d+4>>2]=L;d=I;k[d>>2]=0;k[d+4>>2]=0;d=Q;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;while(1){if(!(l[B>>0]|0))break;a=Z;c=k[a+4>>2]|0;d=H;g=k[d+4>>2]|0;if(!(c>>>0>>0|((c|0)==(g|0)?(k[a>>2]|0)>>>0<(k[d>>2]|0)>>>0:0)))break;if((k[z>>2]|0)>(m[q>>1]|0))break;if((k[z>>2]|0)>0){g=(k[N>>2]|0)+8|0;c=Q;a=k[c+4>>2]|k[g+4>>2];d=Q;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a}if((k[z>>2]|0)<(m[q>>1]|0))e=k[(k[(k[o>>2]|0)+24>>2]|0)+(k[z>>2]<<2)>>2]|0;else e=k[s>>2]|0;k[N>>2]=e;e=k[N>>2]|0;if(k[(k[N>>2]|0)+36>>2]&1024){_=16;break}k[y>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+8+((l[e+16>>0]|0)*72|0)+44>>2];k[X>>2]=0;while(1){if((k[X>>2]|0)>=(m[G>>1]|0))break;a=LR(1,0,k[X>>2]|0)|0;d=Z;do if(((!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)?(d=ny(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0,k[O>>2]=d,(l[k[O>>2]>>0]|0)==152):0)?(k[(k[O>>2]|0)+28>>2]|0)==(k[y>>2]|0):0)?(d=Q,d=UD((k[h>>2]|0)+328|0,k[y>>2]|0,j[(k[O>>2]|0)+32>>1]|0,~k[d>>2],~k[d+4>>2],386,0)|0,k[P>>2]=d,(k[P>>2]|0)!=0):0){if((m[(k[P>>2]|0)+18>>1]&130|0)!=0?(j[(k[O>>2]|0)+32>>1]|0)>=0:0){d=iy(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];k[U>>2]=k[k[K>>2]>>2];d=iy(k[k[h>>2]>>2]|0,k[k[P>>2]>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];k[V>>2]=k[k[K>>2]>>2];if(sg(k[U>>2]|0,k[V>>2]|0)|0)break}g=LR(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}while(0);k[X>>2]=(k[X>>2]|0)+1}if(!(k[(k[N>>2]|0)+36>>2]&4096)){if(k[(k[N>>2]|0)+36>>2]&256){k[M>>2]=0;j[F>>1]=0;j[E>>1]=1}else{d=k[(k[N>>2]|0)+24+4>>2]|0;k[M>>2]=d;if(!d){_=38;break}if((l[(k[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}j[F>>1]=j[(k[M>>2]|0)+50>>1]|0;j[E>>1]=j[(k[M>>2]|0)+52>>1]|0;i[B>>0]=(l[(k[M>>2]|0)+54>>0]|0)!=0}i[T>>0]=0;i[R>>0]=0;i[w>>0]=0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[E>>1]|0))break;if(((k[C>>2]|0)<(m[(k[N>>2]|0)+24>>1]|0)?(m[(k[N>>2]|0)+42>>1]|0)==0:0)?(d=m[(k[(k[(k[N>>2]|0)+48>>2]|0)+(k[C>>2]<<2)>>2]|0)+18>>1]|0,k[X>>2]=d,(d&386|0)!=0):0){if(k[X>>2]&256)i[B>>0]=0}else{if(k[M>>2]|0){k[x>>2]=j[(k[(k[M>>2]|0)+4>>2]|0)+(k[C>>2]<<1)>>1];i[S>>0]=i[(k[(k[M>>2]|0)+28>>2]|0)+(k[C>>2]|0)>>0]|0;if((k[x>>2]|0)==(j[(k[(k[M>>2]|0)+12>>2]|0)+32>>1]|0))k[x>>2]=-1}else{k[x>>2]=-1;i[S>>0]=0}do if((l[B>>0]|0)!=0&(k[x>>2]|0)>=0?(k[C>>2]|0)>=(m[(k[N>>2]|0)+24>>1]|0):0){if(l[(k[(k[(k[M>>2]|0)+12>>2]|0)+4>>2]|0)+(k[x>>2]<<4)+12>>0]|0)break;i[B>>0]=0}while(0);i[u>>0]=1;i[A>>0]=0;k[X>>2]=0;a:while(1){if(!(l[u>>0]|0))break;if((k[X>>2]|0)>=(m[G>>1]|0))break;a=LR(1,0,k[X>>2]|0)|0;d=Z;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){d=ny(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[O>>2]=d;if(!(m[p>>1]&768))i[u>>0]=0;e=k[O>>2]|0;if((k[x>>2]|0)>=-1){if((l[e>>0]|0)!=152)break;if((k[(k[O>>2]|0)+28>>2]|0)!=(k[y>>2]|0))break;if((j[(k[O>>2]|0)+32>>1]|0)!=(k[x>>2]|0))break}else if(My(e,k[(k[(k[(k[M>>2]|0)+40>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,k[y>>2]|0)|0)break;if((k[x>>2]|0)<0){_=70;break a}d=iy(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];if(!(sg(k[k[K>>2]>>2]|0,k[(k[(k[M>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);k[X>>2]=(k[X>>2]|0)+1}if((_|0)==70){_=0;i[A>>0]=1}do if(l[A>>0]|0){if(m[p>>1]&256)break;if(i[T>>0]|0){if((l[R>>0]^l[S>>0]|0)==(l[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+12>>0]|0))break;i[A>>0]=0;break}i[R>>0]=l[S>>0]^l[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+12>>0];if(i[R>>0]|0){g=LR(1,0,k[z>>2]|0)|0;d=k[t>>2]|0;c=d;a=k[c+4>>2]|L;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}i[T>>0]=1}while(0);if(!(i[A>>0]|0)){_=84;break}if((k[x>>2]|0)<0)i[w>>0]=1;g=LR(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}k[C>>2]=(k[C>>2]|0)+1}do if((_|0)==84){_=0;if((k[C>>2]|0)!=0?(k[C>>2]|0)>=(m[F>>1]|0):0)break;i[B>>0]=0}while(0);if(i[w>>0]|0)i[B>>0]=1}b:do if(i[B>>0]|0){g=(k[N>>2]|0)+8|0;c=I;a=k[c+4>>2]|k[g+4>>2];d=I;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(m[G>>1]|0))break b;a=LR(1,0,k[X>>2]|0)|0;d=Z;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){k[J>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2];a=dE((k[h>>2]|0)+68|0,k[J>>2]|0)|0;d=D;k[d>>2]=a;k[d+4>>2]=L;d=D;if((k[d>>2]|0)==0&(k[d+4>>2]|0)==0?(aB(k[J>>2]|0)|0)==0:0)break;a=D;d=I;if((k[a>>2]&~k[d>>2]|0)==0?(k[a+4>>2]&~k[d+4>>2]|0)==0:0){g=LR(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}}while(0);k[X>>2]=(k[X>>2]|0)+1}}while(0);k[z>>2]=(k[z>>2]|0)+1}if((_|0)==16){if(i[e+24+5>>0]|0){U=H;V=k[U+4>>2]|0;_=Z;k[_>>2]=k[U>>2];k[_+4>>2]=V}}else if((_|0)==38){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}V=Z;_=H;if((k[V>>2]|0)==(k[_>>2]|0)?(k[V+4>>2]|0)==(k[_+4>>2]|0):0){i[W>>0]=j[G>>1];_=i[W>>0]|0;r=$;return _|0}if(i[B>>0]|0){i[W>>0]=-1;_=i[W>>0]|0;r=$;return _|0}k[X>>2]=(m[G>>1]|0)-1;while(1){if((k[X>>2]|0)<=0){_=108;break}V=LR(1,0,k[X>>2]|0)|0;V=FR(V|0,L|0,1,0)|0;U=Y;k[U>>2]=V;k[U+4>>2]=L;U=Z;V=Y;_=Y;e=k[X>>2]|0;if((k[U>>2]&k[V>>2]|0)==(k[_>>2]|0)?(k[U+4>>2]&k[V+4>>2]|0)==(k[_+4>>2]|0):0){_=106;break}k[X>>2]=e+-1}if((_|0)==106){i[W>>0]=e;_=i[W>>0]|0;r=$;return _|0}else if((_|0)==108){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}return 0}function hE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;h=r;r=r+32|0;e=h+8|0;f=h+16|0;l=h+4|0;n=h;i=h+14|0;g=h+12|0;k[e>>2]=a;j[f>>1]=b;k[l>>2]=c;k[n>>2]=d;a=(((k[l>>2]|0)-(k[n>>2]|0)|0)*100|0)/(k[l>>2]|0)|0;a=((Uj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66&65535;j[i>>1]=a;j[g>>1]=(j[f>>1]|0)+(j[i>>1]|0)+16;if((m[(k[e>>2]|0)+36>>1]&16384|0)!=0?(j[(k[e>>2]|0)+34>>1]|0)<(j[f>>1]|0):0)j[f>>1]=j[(k[e>>2]|0)+34>>1]|0;n=(iE(j[f>>1]|0)|0)<<16>>16;j[g>>1]=(j[g>>1]|0)+n;r=h;return j[g>>1]|0}function iE(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;j[b>>1]=a;if((j[b>>1]|0)<=10){a=0;a=a&65535;r=c;return a|0}a=j[b>>1]|0;a=((Uj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;r=c;return a|0}function jE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=r;r=r+112|0;f=C+108|0;g=C+104|0;h=C+48|0;E=C+40|0;z=C+100|0;F=C+96|0;x=C+92|0;y=C+88|0;D=C+84|0;v=C+80|0;u=C+76|0;m=C+72|0;w=C+68|0;o=C+32|0;A=C+64|0;B=C+60|0;s=C+24|0;p=C+16|0;n=C+56|0;q=C+8|0;t=C;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=E;k[a>>2]=d;k[a+4>>2]=e;k[z>>2]=0;k[F>>2]=k[k[g>>2]>>2];k[x>>2]=k[k[F>>2]>>2];k[y>>2]=k[(k[g>>2]|0)+4>>2];k[w>>2]=k[(k[g>>2]|0)+12>>2];k[D>>2]=(k[(k[F>>2]|0)+4>>2]|0)+8+((l[(k[w>>2]|0)+16>>0]|0)*72|0);a=E;a=CE(k[x>>2]|0,k[y>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[D>>2]|0,k[(k[g>>2]|0)+8>>2]|0)|0;k[v>>2]=a;if(!(k[v>>2]|0)){k[f>>2]=7;F=k[f>>2]|0;r=C;return F|0}j[(k[w>>2]|0)+18>>1]=0;k[(k[w>>2]|0)+36>>2]=1024;j[(k[w>>2]|0)+40>>1]=0;i[(k[w>>2]|0)+24+4>>0]=0;k[u>>2]=k[k[v>>2]>>2];if(bE(k[k[x>>2]>>2]|0,k[w>>2]|0,k[u>>2]|0)|0){bg(k[k[x>>2]>>2]|0,k[v>>2]|0);k[f>>2]=7;F=k[f>>2]|0;r=C;return F|0}F=h;F=DE(k[g>>2]|0,k[F>>2]|0,k[F+4>>2]|0,-1,-1,0,k[v>>2]|0,m)|0;k[z>>2]=F;if((k[z>>2]|0)==0?(D=k[w>>2]|0,F=h,E=k[D>>2]&~k[F>>2],F=k[D+4>>2]&~k[F+4>>2],D=o,k[D>>2]=E,k[D+4>>2]=F,(E|0)!=0|(F|0)!=0):0){k[A>>2]=0;k[B>>2]=0;F=s;k[F>>2]=0;k[F+4>>2]=0;F=p;k[F>>2]=0;k[F+4>>2]=0;if((k[m>>2]|0)!=0?(a=h,a=DE(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0,-1,-1,1,k[v>>2]|0,m)|0,k[z>>2]=a,a=k[w>>2]|0,D=h,E=k[a+4>>2]&~k[D+4>>2],F=p,k[F>>2]=k[a>>2]&~k[D>>2],k[F+4>>2]=E,F=p,(k[F>>2]|0)==0&(k[F+4>>2]|0)==0):0){k[A>>2]=1;k[B>>2]=1}while(1){if(k[z>>2]|0)break;F=q;k[F>>2]=-1;k[F+4>>2]=-1;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[u>>2]|0))break;D=(k[(k[y>>2]|0)+20>>2]|0)+((k[(k[(k[v>>2]|0)+4>>2]|0)+((k[n>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;F=h;a=k[D+4>>2]&~k[F+4>>2];E=t;k[E>>2]=k[D>>2]&~k[F>>2];k[E+4>>2]=a;E=t;a=k[E+4>>2]|0;F=s;D=k[F+4>>2]|0;if(a>>>0>D>>>0|((a|0)==(D|0)?(k[E>>2]|0)>>>0>(k[F>>2]|0)>>>0:0)?(E=t,a=k[E+4>>2]|0,F=q,D=k[F+4>>2]|0,a>>>0>>0|((a|0)==(D|0)?(k[E>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0){D=t;E=k[D+4>>2]|0;F=q;k[F>>2]=k[D>>2];k[F+4>>2]=E}k[n>>2]=(k[n>>2]|0)+1}D=q;E=k[D+4>>2]|0;F=s;k[F>>2]=k[D>>2];k[F+4>>2]=E;F=q;if((k[F>>2]|0)==-1?(k[F+4>>2]|0)==-1:0)break;E=q;F=o;if((k[E>>2]|0)==(k[F>>2]|0)?(k[E+4>>2]|0)==(k[F+4>>2]|0):0)continue;E=q;F=p;if((k[E>>2]|0)==(k[F>>2]|0)?(k[E+4>>2]|0)==(k[F+4>>2]|0):0)continue;D=h;F=q;E=h;E=DE(k[g>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[F>>2]|k[E>>2],k[F+4>>2]|k[E+4>>2],0,k[v>>2]|0,m)|0;k[z>>2]=E;E=k[w>>2]|0;F=h;if(!((k[E>>2]|0)==(k[F>>2]|0)?(k[E+4>>2]|0)==(k[F+4>>2]|0):0))continue;k[A>>2]=1;if(k[m>>2]|0)continue;k[B>>2]=1}if((k[z>>2]|0)==0&(k[A>>2]|0)==0?(E=h,F=h,F=DE(k[g>>2]|0,k[E>>2]|0,k[E+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0,0,k[v>>2]|0,m)|0,k[z>>2]=F,(k[m>>2]|0)==0):0)k[B>>2]=1;if((k[z>>2]|0)==0&(k[B>>2]|0)==0){E=h;F=h;F=DE(k[g>>2]|0,k[E>>2]|0,k[E+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0,1,k[v>>2]|0,m)|0;k[z>>2]=F}}if(k[(k[v>>2]|0)+28>>2]|0)Ud(k[(k[v>>2]|0)+24>>2]|0);bg(k[k[x>>2]>>2]|0,k[v>>2]|0);k[f>>2]=k[z>>2];F=k[f>>2]|0;r=C;return F|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+144|0;d=D+128|0;e=D+8|0;y=D+124|0;s=D+120|0;B=D+64|0;g=D+140|0;f=D+136|0;E=D+56|0;t=D+52|0;q=D+48|0;C=D+44|0;n=D+40|0;h=D+36|0;A=D+134|0;z=D+132|0;w=D+32|0;u=D+28|0;p=D+24|0;v=D+20|0;x=D+16|0;o=D;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;j[f>>1]=-1;k[C>>2]=0;k[n>>2]=1;k[q>>2]=k[(k[d>>2]|0)+12>>2];k[y>>2]=k[k[d>>2]>>2];k[E>>2]=k[(k[y>>2]|0)+4>>2];k[t>>2]=(k[E>>2]|0)+8+((l[(k[q>>2]|0)+16>>0]|0)*72|0);k[u>>2]=k[(k[t>>2]|0)+16>>2];k[w>>2]=k[(k[d>>2]|0)+4>>2];do if(k[(k[t>>2]|0)+68>>2]|0)k[s>>2]=k[(k[t>>2]|0)+68>>2];else{if(l[(k[u>>2]|0)+42>>0]&32){k[s>>2]=k[(k[u>>2]|0)+8>>2];break}b=B;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));j[B+50>>1]=1;j[B+52>>1]=1;k[B+4>>2]=f;k[B+8>>2]=g;i[B+54>>0]=5;k[B+12>>2]=k[u>>2];j[B+48>>1]=j[(k[u>>2]|0)+40>>1]|0;j[g>>1]=j[(k[u>>2]|0)+38>>1]|0;j[g+2>>1]=0;k[p>>2]=k[(k[(k[t>>2]|0)+16>>2]|0)+8>>2];if(!(i[(k[t>>2]|0)+36+1>>0]&1))k[B+20>>2]=k[p>>2];k[s>>2]=B}while(0);j[A>>1]=j[(k[u>>2]|0)+38>>1]|0;E=iE(j[A>>1]|0)|0;j[z>>1]=E;a:do if((((((((k[(k[d>>2]|0)+16>>2]|0)==0?(m[(k[y>>2]|0)+36>>1]&128|0)==0:0)?(k[(k[k[k[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(k[(k[t>>2]|0)+68>>2]|0)==0:0)?(i[(k[t>>2]|0)+36+1>>0]&1|0)==0:0)?(l[(k[u>>2]|0)+42>>0]&32|0)==0:0)?((l[(k[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((l[(k[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[v>>2]=k[(k[w>>2]|0)+20>>2];while(1){if(k[C>>2]|0)break a;if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break a;B=(k[v>>2]|0)+32|0;E=(k[q>>2]|0)+8|0;if(!((k[B>>2]&k[E>>2]|0)!=0?1:(k[B+4>>2]&k[E+4>>2]|0)!=0)?(aE(k[v>>2]|0,k[t>>2]|0,0,0)|0)!=0:0){j[(k[q>>2]|0)+24>>1]=1;j[(k[q>>2]|0)+42>>1]=0;k[(k[q>>2]|0)+24+4>>2]=0;j[(k[q>>2]|0)+40>>1]=1;k[k[(k[q>>2]|0)+48>>2]>>2]=k[v>>2];j[(k[q>>2]|0)+18>>1]=(j[z>>1]|0)+(j[A>>1]|0)+4;if((k[(k[u>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+42>>0]&2|0)==0:0){E=(k[q>>2]|0)+18|0;j[E>>1]=(j[E>>1]|0)+24}j[(k[q>>2]|0)+22>>1]=43;g=fE(j[z>>1]|0,j[(k[q>>2]|0)+22>>1]|0)|0;j[(k[q>>2]|0)+20>>1]=g;k[(k[q>>2]|0)+36>>2]=16384;g=e;p=(k[v>>2]|0)+32|0;B=k[g+4>>2]|k[p+4>>2];E=k[q>>2]|0;k[E>>2]=k[g>>2]|k[p>>2];k[E+4>>2]=B;E=oE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E}k[v>>2]=(k[v>>2]|0)+48}}while(0);b:while(1){if(!((k[C>>2]|0)==0?(k[s>>2]|0)!=0:0)){b=46;break}if(!((k[(k[s>>2]|0)+36>>2]|0)!=0?(tE(k[(k[t>>2]|0)+44>>2]|0,k[w>>2]|0,k[(k[s>>2]|0)+36>>2]|0)|0)==0:0)){j[A>>1]=j[k[(k[s>>2]|0)+8>>2]>>1]|0;j[(k[q>>2]|0)+24>>1]=0;j[(k[q>>2]|0)+42>>1]=0;j[(k[q>>2]|0)+40>>1]=0;i[(k[q>>2]|0)+17>>0]=0;j[(k[q>>2]|0)+18>>1]=0;z=e;B=k[z+4>>2]|0;E=k[q>>2]|0;k[E>>2]=k[z>>2];k[E+4>>2]=B;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;k[(k[q>>2]|0)+24+4>>2]=k[s>>2];E=uE(k[d>>2]|0,k[s>>2]|0,k[(k[t>>2]|0)+44>>2]|0)|0;k[h>>2]=E;do if((k[(k[s>>2]|0)+44>>2]|0)<=0){k[(k[q>>2]|0)+36>>2]=256;i[(k[q>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[n>>2]|0:0;j[(k[q>>2]|0)+20>>1]=(j[A>>1]|0)+16;vE(k[w>>2]|0,k[q>>2]|0,j[A>>1]|0);E=oE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;if(k[C>>2]|0){b=46;break b}}else{if((l[(k[s>>2]|0)+55>>0]|0)>>>5&1){k[(k[q>>2]|0)+36>>2]=576;E=o;k[E>>2]=0;k[E+4>>2]=0}else{B=(k[t>>2]|0)+56|0;x=k[B>>2]|0;B=k[B+4>>2]|0;z=wE(k[s>>2]|0)|0;E=o;k[E>>2]=x&~z;k[E+4>>2]=B&~L;E=o;k[(k[q>>2]|0)+36>>2]=(k[E>>2]|0)==0&(k[E+4>>2]|0)==0?576:512}if((k[h>>2]|0)==0?(l[(k[u>>2]|0)+42>>0]&32|0)==0:0){E=o;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))break;if((l[(k[s>>2]|0)+55>>0]|0)>>>2&1)break;if((j[(k[s>>2]|0)+48>>1]|0)>=(j[(k[u>>2]|0)+40>>1]|0))break;if(!((k[6]|0)!=0?(m[(k[y>>2]|0)+36>>1]&4|0)==0:0))break;if(m[(k[k[k[y>>2]>>2]>>2]|0)+64>>1]&64)break}i[(k[q>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[n>>2]|0:0;j[(k[q>>2]|0)+20>>1]=(j[A>>1]|0)+1+(((j[(k[s>>2]|0)+48>>1]|0)*15|0)/(j[(k[u>>2]|0)+40>>1]|0)|0);E=o;if((k[E>>2]|0)!=0|(k[E+4>>2]|0)!=0){E=fE(j[(k[q>>2]|0)+20>>1]|0,(j[A>>1]|0)+16&65535)|0;j[(k[q>>2]|0)+20>>1]=E}vE(k[w>>2]|0,k[q>>2]|0,j[A>>1]|0);E=oE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;if(k[C>>2]|0){b=46;break b}}while(0);E=xE(k[d>>2]|0,k[t>>2]|0,k[s>>2]|0,0)|0;k[C>>2]=E;if(k[(k[t>>2]|0)+68>>2]|0){b=46;break}}k[s>>2]=k[(k[s>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if((b|0)==46){r=D;return k[C>>2]|0}return 0}function lE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+672|0;g=I+668|0;h=I+584|0;n=I+576|0;f=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;p=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;o=I+596|0;q=I+592|0;D=I;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[f>>2]=k[k[g>>2]>>2];k[B>>2]=0;k[z>>2]=k[(k[g>>2]|0)+4>>2];k[A>>2]=(k[(k[z>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+12>>2]|0)*48|0);k[u>>2]=k[(k[g>>2]|0)+12>>2];b=F;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[t>>2]=(k[(k[f>>2]|0)+4>>2]|0)+8+((l[(k[u>>2]|0)+16>>0]|0)*72|0);k[p>>2]=k[(k[t>>2]|0)+44>>2];k[y>>2]=k[(k[z>>2]|0)+20>>2];while(1){if(!((k[y>>2]|0)>>>0<(k[A>>2]|0)>>>0?(k[B>>2]|0)==0:0))break;a:do if((m[(k[y>>2]|0)+18>>1]&512|0)!=0?(a=(k[(k[y>>2]|0)+12>>2]|0)+408|0,f=(k[u>>2]|0)+8|0,(k[a>>2]&k[f>>2]|0)!=0?1:(k[a+4>>2]&k[f+4>>2]|0)!=0):0){k[w>>2]=k[(k[y>>2]|0)+12>>2];k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[s>>2]=1;f=k[g>>2]|0;k[E>>2]=k[f>>2];k[E+4>>2]=k[f+4>>2];k[E+8>>2]=k[f+8>>2];k[E+12>>2]=k[f+12>>2];k[E+16>>2]=k[f+16>>2];k[E+8>>2]=0;k[E+16>>2]=C;k[v>>2]=k[(k[w>>2]|0)+20>>2];b:while(1){if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break;b=k[v>>2]|0;if(!(m[(k[v>>2]|0)+18>>1]&1024)){if((k[b+8>>2]|0)==(k[p>>2]|0)){k[G>>2]=k[k[z>>2]>>2];k[G+4>>2]=k[z>>2];i[G+8>>0]=28;k[G+12>>2]=1;k[G+20>>2]=k[v>>2];k[E+4>>2]=G;H=11}}else{k[E+4>>2]=k[b+12>>2];H=11}c:do if((H|0)==11){H=0;j[C>>1]=0;c=h;b=k[c>>2]|0;c=k[c+4>>2]|0;if(l[(k[(k[t>>2]|0)+16>>2]|0)+42>>0]&16){f=n;f=jE(E,b,c,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}else{f=kE(E,b,c)|0;k[B>>2]=f}if(!(k[B>>2]|0)){a=h;f=n;f=lE(E,k[a>>2]|0,k[a+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}if(!(m[C>>1]|0)){H=17;break b}if(k[s>>2]|0){mE(F,C);k[s>>2]=0;break}mE(D,F);j[F>>1]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[D>>1]|0))break c;k[q>>2]=0;while(1){b=k[o>>2]|0;if((k[q>>2]|0)>=(m[C>>1]|0))break;f=D+8+(b<<4)|0;a=C+8+(k[q>>2]<<4)|0;e=k[f>>2]|k[a>>2];a=k[f+4>>2]|k[a+4>>2];f=fE(j[D+8+(k[o>>2]<<4)+8>>1]|0,j[C+8+(k[q>>2]<<4)+8>>1]|0)|0;nE(F,e,a,f,fE(j[D+8+(k[o>>2]<<4)+10>>1]|0,j[C+8+(k[q>>2]<<4)+10>>1]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+1}k[o>>2]=b+1}}while(0);k[v>>2]=(k[v>>2]|0)+48}if((H|0)==17){H=0;j[F>>1]=0}j[(k[u>>2]|0)+40>>1]=1;k[k[(k[u>>2]|0)+48>>2]>>2]=k[y>>2];k[(k[u>>2]|0)+36>>2]=8192;j[(k[u>>2]|0)+18>>1]=0;i[(k[u>>2]|0)+17>>0]=0;f=(k[u>>2]|0)+24|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[o>>2]=0;while(1){if(k[B>>2]|0)break a;if((k[o>>2]|0)>=(m[F>>1]|0))break a;j[(k[u>>2]|0)+20>>1]=(j[F+8+(k[o>>2]<<4)+8>>1]|0)+1;j[(k[u>>2]|0)+22>>1]=j[F+8+(k[o>>2]<<4)+10>>1]|0;e=F+8+(k[o>>2]<<4)|0;a=k[e+4>>2]|0;f=k[u>>2]|0;k[f>>2]=k[e>>2];k[f+4>>2]=a;f=oE(k[g>>2]|0,k[u>>2]|0)|0;k[B>>2]=f;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[y>>2]=(k[y>>2]|0)+48}r=I;return k[B>>2]|0}function mE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;j[k[d>>2]>>1]=j[k[e>>2]>>1]|0;IR((k[d>>2]|0)+8|0,(k[e>>2]|0)+8|0,(m[k[d>>2]>>1]|0)<<4|0)|0;r=c;return}function nE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+16|0;h=q+12|0;i=q;l=q+24|0;n=q+22|0;o=q+20|0;p=q+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;j[l>>1]=d;j[n>>1]=e;j[o>>1]=j[k[h>>2]>>1]|0;k[p>>2]=(k[h>>2]|0)+8;while(1){if((m[o>>1]|0)<=0){f=9;break}if((j[l>>1]|0)<=(j[(k[p>>2]|0)+8>>1]|0)?(e=i,a=k[p>>2]|0,d=i,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0)break;if((j[(k[p>>2]|0)+8>>1]|0)<=(j[l>>1]|0)?(e=k[p>>2]|0,a=i,d=k[p>>2]|0,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0){f=7;break}j[o>>1]=(j[o>>1]|0)+-1<<16>>16;k[p>>2]=(k[p>>2]|0)+16}if((f|0)==7){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}do if((f|0)==9){b=k[h>>2]|0;if((m[k[h>>2]>>1]|0)<3){o=j[b>>1]|0;j[b>>1]=o+1<<16>>16;k[p>>2]=(k[h>>2]|0)+8+((o&65535)<<4);j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;break}k[p>>2]=b+8;j[o>>1]=1;while(1){b=j[(k[p>>2]|0)+8>>1]|0;if((m[o>>1]|0)>=(m[k[h>>2]>>1]|0))break;if((b|0)>(j[(k[h>>2]|0)+8+(m[o>>1]<<4)+8>>1]|0))k[p>>2]=(k[h>>2]|0)+8+(m[o>>1]<<4);j[o>>1]=(j[o>>1]|0)+1<<16>>16}if((b|0)<=(j[l>>1]|0)){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}}while(0);h=i;i=k[h+4>>2]|0;o=k[p>>2]|0;k[o>>2]=k[h>>2];k[o+4>>2]=i;j[(k[p>>2]|0)+8>>1]=j[l>>1]|0;if((j[(k[p>>2]|0)+10>>1]|0)>(j[n>>1]|0))j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;k[g>>2]=1;p=k[g>>2]|0;r=q;return p|0}function oE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+40|0;d=p+36|0;e=p+32|0;m=p+28|0;g=p+24|0;l=p+20|0;f=p+16|0;o=p+12|0;n=p+8|0;i=p+4|0;h=p;k[d>>2]=a;k[e>>2]=b;k[l>>2]=k[k[d>>2]>>2];k[f>>2]=k[k[k[l>>2]>>2]>>2];if(k[(k[d>>2]|0)+16>>2]|0){if(j[(k[e>>2]|0)+40>>1]|0){o=k[e>>2]|0;nE(k[(k[d>>2]|0)+16>>2]|0,k[o>>2]|0,k[o+4>>2]|0,j[(k[e>>2]|0)+20>>1]|0,j[(k[e>>2]|0)+22>>1]|0)|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}pE(k[(k[l>>2]|0)+16>>2]|0,k[e>>2]|0);l=qE((k[l>>2]|0)+16|0,k[e>>2]|0)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}k[g>>2]=k[k[m>>2]>>2];a:do if(!(k[g>>2]|0)){n=$w(k[f>>2]|0,72,0)|0;k[g>>2]=n;k[k[m>>2]>>2]=n;if(k[g>>2]|0){uD(k[g>>2]|0);k[(k[g>>2]|0)+52>>2]=0;break}k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}else{k[n>>2]=(k[g>>2]|0)+52;while(1){if(!(k[k[n>>2]>>2]|0))break a;m=qE(k[n>>2]|0,k[e>>2]|0)|0;k[n>>2]=m;if(!(k[n>>2]|0))break a;k[i>>2]=k[k[n>>2]>>2];if(!(k[i>>2]|0))break a;k[k[n>>2]>>2]=k[(k[i>>2]|0)+52>>2];rD(k[f>>2]|0,k[i>>2]|0)}}while(0);n=rE(k[f>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[o>>2]=n;if(((k[(k[g>>2]|0)+36>>2]&1024|0)==0?(k[h>>2]=k[(k[g>>2]|0)+24+4>>2],(k[h>>2]|0)!=0):0)?(k[(k[h>>2]|0)+44>>2]|0)==0:0)k[(k[g>>2]|0)+24+4>>2]=0;k[c>>2]=k[o>>2];o=k[c>>2]|0;r=p;return o|0}function pE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[d>>2]|0)+36>>2]&512|0)!=0:0)){r=e;return}do{do if((l[(k[c>>2]|0)+16>>0]|0)==(l[(k[d>>2]|0)+16>>0]|0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0){if(sE(k[c>>2]|0,k[d>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)-1;break}if(sE(k[d>>2]|0,k[c>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)+1}}while(0);k[c>>2]=k[(k[c>>2]|0)+52>>2]}while((k[c>>2]|0)!=0);r=e;return}function qE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0)){c=19;break}if((l[(k[d>>2]|0)+16>>0]|0)==(l[(k[c>>2]|0)+16>>0]|0)?(l[(k[d>>2]|0)+17>>0]|0)==(l[(k[c>>2]|0)+17>>0]|0):0){if(((((k[(k[d>>2]|0)+36>>2]&16384|0)!=0?(m[(k[c>>2]|0)+42>>1]|0)==0:0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0)?(k[(k[c>>2]|0)+36>>2]&1|0)!=0:0)?(h=k[d>>2]|0,b=k[c>>2]|0,a=k[c>>2]|0,(k[h>>2]&k[b>>2]|0)==(k[a>>2]|0)?(k[h+4>>2]&k[b+4>>2]|0)==(k[a+4>>2]|0):0):0){c=19;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[d>>2]|0;if(((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+18>>1]|0)<=(j[(k[c>>2]|0)+18>>1]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)<=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)<=(j[(k[c>>2]|0)+22>>1]|0):0){c=14;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[c>>2]|0;if((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)>=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)>=(j[(k[c>>2]|0)+22>>1]|0):0){c=19;break}}k[f>>2]=(k[d>>2]|0)+52;k[d>>2]=k[k[f>>2]>>2]}if((c|0)==14){k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}else if((c|0)==19){k[e>>2]=k[f>>2];h=k[e>>2]|0;r=g;return h|0}return 0}function rE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=c;tD(k[h>>2]|0,k[d>>2]|0);b=(bE(k[h>>2]|0,k[d>>2]|0,m[(k[f>>2]|0)+40>>1]|0)|0)!=0;a=k[d>>2]|0;if(b){h=a+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e>>2]=7;h=k[e>>2]|0;r=g;return h|0}c=k[f>>2]|0;b=a+44|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(b|0));IR(k[(k[d>>2]|0)+48>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[d>>2]|0)+40>>1]|0)<<2|0)|0;a=k[f>>2]|0;if(!(k[(k[f>>2]|0)+36>>2]&1024)){if(k[a+36>>2]&16384)k[(k[f>>2]|0)+24+4>>2]=0}else i[a+24+4>>0]=0;k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}function sE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(((m[(k[c>>2]|0)+40>>1]|0)-(m[(k[c>>2]|0)+42>>1]|0)|0)>=((m[(k[d>>2]|0)+40>>1]|0)-(m[(k[d>>2]|0)+42>>1]|0)|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((m[(k[d>>2]|0)+42>>1]|0)>(m[(k[c>>2]|0)+42>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+20>>1]|0)>=(j[(k[d>>2]|0)+20>>1]|0)){if((j[(k[c>>2]|0)+20>>1]|0)>(j[(k[d>>2]|0)+20>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+22>>1]|0)>(j[(k[d>>2]|0)+22>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}}k[e>>2]=(m[(k[c>>2]|0)+40>>1]|0)-1;while(1){if((k[e>>2]|0)<0){c=20;break}if(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0){k[f>>2]=(m[(k[d>>2]|0)+40>>1]|0)-1;while(1){if((k[f>>2]|0)<0)break;if((k[(k[(k[d>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0))break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){c=18;break}}k[e>>2]=(k[e>>2]|0)+-1}if((c|0)==18){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==20){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}return 0}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;while(1){if((l[k[g>>2]>>0]|0)!=28)break;if(!(tE(k[e>>2]|0,k[f>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0)){n=4;break}k[g>>2]=k[(k[g>>2]|0)+16>>2]}if((n|0)==4){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[h>>2]=0;k[m>>2]=k[(k[f>>2]|0)+20>>2];while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+12>>2]|0)){n=13;break}k[i>>2]=k[k[m>>2]>>2];if(BE(k[i>>2]|0,k[g>>2]|0,k[e>>2]|0)|0){if(!(k[(k[i>>2]|0)+4>>2]&1)){n=11;break}if((j[(k[i>>2]|0)+36>>1]|0)==(k[e>>2]|0)){n=11;break}}k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+48}if((n|0)==11){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}else if((n|0)==13){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}return 0}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+32|0;e=s+28|0;f=s+24|0;g=s+20|0;p=s+16|0;h=s+12|0;i=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[f>>2]|0)+55>>0]|0)>>>2&1){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}b=k[(k[k[e>>2]>>2]|0)+8>>2]|0;k[p>>2]=b;if(!b){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}k[i>>2]=0;a:while(1){if((k[i>>2]|0)>=(k[k[p>>2]>>2]|0)){q=24;break}b=ny(k[(k[(k[p>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=b;b:do if((l[k[o>>2]>>0]|0)==152?(k[(k[o>>2]|0)+28>>2]|0)==(k[g>>2]|0):0){if((j[(k[o>>2]|0)+32>>1]|0)<0){q=10;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break b;if((j[(k[o>>2]|0)+32>>1]|0)==(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)){q=14;break a}k[n>>2]=(k[n>>2]|0)+1}}else q=16;while(0);c:do if((q|0)==16?(q=0,b=k[(k[f>>2]|0)+40>>2]|0,k[h>>2]=b,(b|0)!=0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break c;if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(My(k[o>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[g>>2]|0)|0)==0:0){q=21;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[i>>2]=(k[i>>2]|0)+1}if((q|0)==10){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==14){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==21){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==24){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}return 0}function vE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+42|0;p=s+28|0;q=s+24|0;n=s;g=s+20|0;i=s+16|0;l=s+12|0;h=s+40|0;o=s+8|0;k[d>>2]=a;k[e>>2]=b;j[f>>1]=c;t=k[e>>2]|0;c=(k[e>>2]|0)+8|0;b=~(k[t+4>>2]|k[c+4>>2]);a=n;k[a>>2]=~(k[t>>2]|k[c>>2]);k[a+4>>2]=b;j[h>>1]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];k[p>>2]=k[(k[d>>2]|0)+20>>2];while(1){if((k[g>>2]|0)<=0)break;if(m[(k[p>>2]|0)+20>>1]&2)break;a=(k[p>>2]|0)+40|0;t=(k[e>>2]|0)+8|0;do if(!((k[a>>2]&k[t>>2]|0)==0?(k[a+4>>2]&k[t+4>>2]|0)==0:0)?(a=(k[p>>2]|0)+40|0,t=n,!((k[a>>2]&k[t>>2]|0)!=0?1:(k[a+4>>2]&k[t+4>>2]|0)!=0)):0){k[i>>2]=(m[(k[e>>2]|0)+40>>1]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[q>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[i>>2]<<2)>>2];if(k[q>>2]|0){if((k[q>>2]|0)==(k[p>>2]|0))break;if((k[(k[q>>2]|0)+4>>2]|0)>=0?((k[(k[d>>2]|0)+20>>2]|0)+((k[(k[q>>2]|0)+4>>2]|0)*48|0)|0)==(k[p>>2]|0):0)break}k[i>>2]=(k[i>>2]|0)+-1}if((k[i>>2]|0)<0){if((j[(k[p>>2]|0)+16>>1]|0)<=0){t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+(j[(k[p>>2]|0)+16>>1]|0);break}t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16;if(m[(k[p>>2]|0)+18>>1]&130){k[o>>2]=k[(k[k[p>>2]>>2]|0)+16>>2];t=(Hy(k[o>>2]|0,l)|0)!=0;if(t&(k[l>>2]|0)>=-1&(k[l>>2]|0)<=1)k[l>>2]=10;else k[l>>2]=20;if((j[h>>1]|0)<(k[l>>2]|0))j[h>>1]=k[l>>2]}}}while(0);k[g>>2]=(k[g>>2]|0)+-1;k[p>>2]=(k[p>>2]|0)+48}if((j[(k[e>>2]|0)+22>>1]|0)<=((j[f>>1]|0)-(j[h>>1]|0)|0)){r=s;return}j[(k[e>>2]|0)+22>>1]=(j[f>>1]|0)-(j[h>>1]|0);r=s;return}function wE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;b=f+16|0;d=f;c=f+12|0;e=f+8|0;k[b>>2]=a;a=d;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(m[(k[b>>2]|0)+52>>1]|0)-1;while(1){if((k[c>>2]|0)<0)break;k[e>>2]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1];if((k[e>>2]|0)>=0&(k[e>>2]|0)<63){h=LR(1,0,k[e>>2]|0)|0;i=d;g=k[i+4>>2]|L;a=d;k[a>>2]=k[i>>2]|h;k[a+4>>2]=g}k[c>>2]=(k[c>>2]|0)+-1}i=d;L=k[i+4>>2]|0;r=f;return k[i>>2]|0}function xE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=r;r=r+208|0;f=O+172|0;g=O+168|0;h=O+164|0;n=O+160|0;o=O+196|0;P=O+156|0;A=O+152|0;p=O+148|0;z=O+144|0;B=O+140|0;e=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;q=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;j[o>>1]=d;k[P>>2]=k[k[g>>2]>>2];k[A>>2]=k[k[P>>2]>>2];k[p>>2]=k[k[A>>2]>>2];k[G>>2]=0;k[C>>2]=0;k[x>>2]=0;k[z>>2]=k[(k[g>>2]|0)+12>>2];if(i[(k[p>>2]|0)+69>>0]|0){k[f>>2]=7;P=k[f>>2]|0;r=O;return P|0}if(k[(k[z>>2]|0)+36>>2]&32)k[e>>2]=24;else k[e>>2]=447;if((l[(k[n>>2]|0)+55>>0]|0)>>>2&1)k[e>>2]=k[e>>2]&-61;j[H>>1]=j[(k[z>>2]|0)+24>>1]|0;j[K>>1]=j[(k[z>>2]|0)+42>>1]|0;j[I>>1]=j[(k[z>>2]|0)+40>>1]|0;k[M>>2]=k[(k[z>>2]|0)+36>>2];c=k[z>>2]|0;b=k[c+4>>2]|0;P=L;k[P>>2]=k[c>>2];k[P+4>>2]=b;j[J>>1]=j[(k[z>>2]|0)+22>>1]|0;P=VD(N,k[(k[g>>2]|0)+4>>2]|0,k[(k[h>>2]|0)+44>>2]|0,m[H>>1]|0,k[e>>2]|0,k[n>>2]|0)|0;k[B>>2]=P;j[(k[z>>2]|0)+18>>1]=0;j[F>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0;P=iE(j[F>>1]|0)|0;j[E>>1]=P;a:while(1){if(!((k[G>>2]|0)==0?(k[B>>2]|0)!=0:0))break;j[q>>1]=j[(k[B>>2]|0)+18>>1]|0;k[u>>2]=0;if((m[q>>1]|0)!=256?(m[(k[B>>2]|0)+20>>1]&0|0)==0:0)d=13;else d=12;if((d|0)==12?(d=0,(yE(k[n>>2]|0,m[H>>1]|0)|0)==0):0)d=13;do if((d|0)==13?(0,b=(k[B>>2]|0)+32|0,P=(k[z>>2]|0)+8|0,!((k[b>>2]&k[P>>2]|0)!=0?1:(k[b+4>>2]&k[P+4>>2]|0)!=0)):0){if((m[(k[B>>2]|0)+20>>1]&256|0)!=0?(m[(k[B>>2]|0)+18>>1]|0)==16:0)break;if(((l[(k[h>>2]|0)+36>>0]&8|0)!=0?(k[(k[k[B>>2]>>2]|0)+4>>2]&1|0)==0:0)?(m[q>>1]&384|0)!=0:0)break;k[(k[z>>2]|0)+36>>2]=k[M>>2];j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+40>>1]=j[I>>1]|0;if(bE(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0)break a;a=k[B>>2]|0;c=(k[z>>2]|0)+40|0;e=j[c>>1]|0;j[c>>1]=e+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((e&65535)<<2)>>2]=a;e=L;a=(k[B>>2]|0)+32|0;c=(k[z>>2]|0)+8|0;b=(k[e+4>>2]|k[a+4>>2])&~k[c+4>>2];P=k[z>>2]|0;k[P>>2]=(k[e>>2]|k[a>>2])&~k[c>>2];k[P+4>>2]=b;do if(m[q>>1]&1){k[y>>2]=k[k[B>>2]>>2];P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|4;if(k[(k[y>>2]|0)+4>>2]&2048){k[u>>2]=46;break}if((k[(k[y>>2]|0)+20>>2]|0)!=0?(k[k[(k[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=k[k[(k[y>>2]|0)+20>>2]>>2]|0;P=(Uj(P,((P|0)<0)<<31>>31)|0)<<16>>16;k[u>>2]=P}}else{if(m[q>>1]&130){k[s>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(m[H>>1]<<1)>>1];P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|1;if((k[s>>2]|0)!=-1){if((k[s>>2]|0)<=0)break;if(j[o>>1]|0)break;if((m[H>>1]|0)!=((m[(k[n>>2]|0)+50>>1]|0)-1|0))break}if((k[s>>2]|0)>=0?((l[(k[n>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|65536;break}P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|4096;break}if(m[q>>1]&256){P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|8;break}d=(k[z>>2]|0)+36|0;e=k[d>>2]|0;if(m[q>>1]&36){k[d>>2]=e|34;k[x>>2]=k[B>>2];k[C>>2]=0;if(!(m[(k[B>>2]|0)+20>>1]&256))break;k[C>>2]=(k[B>>2]|0)+48;if(bE(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0)break a;b=k[C>>2]|0;c=(k[z>>2]|0)+40|0;P=j[c>>1]|0;j[c>>1]=P+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=b;P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|16;break}else{k[d>>2]=e|18;k[C>>2]=k[B>>2];if(k[(k[z>>2]|0)+36>>2]&32)d=k[(k[(k[z>>2]|0)+48>>2]|0)+((m[(k[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else d=0;k[x>>2]=d;break}}while(0);do if(!(k[(k[z>>2]|0)+36>>2]&2)){b=(k[z>>2]|0)+24|0;P=(j[b>>1]|0)+1<<16>>16;j[b>>1]=P;k[t>>2]=P&65535;if((j[(k[B>>2]|0)+16>>1]|0)<=0?(j[(k[(k[n>>2]|0)+4>>2]|0)+(m[H>>1]<<1)>>1]|0)>=0:0){P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+(j[(k[B>>2]|0)+16>>1]|0);P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)-(k[u>>2]|0);break}P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+((j[(k[(k[n>>2]|0)+8>>2]|0)+(k[t>>2]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((k[t>>2]|0)-1<<1)>>1]|0));if(m[q>>1]&256){P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+10}}else zE(k[A>>2]|0,k[g>>2]|0,k[x>>2]|0,k[C>>2]|0,k[z>>2]|0)|0;while(0);j[D>>1]=(j[(k[z>>2]|0)+22>>1]|0)+1+(((j[(k[n>>2]|0)+48>>1]|0)*15|0)/(j[(k[(k[h>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=fE(j[E>>1]|0,j[D>>1]|0)|0;j[(k[z>>2]|0)+20>>1]=P;if(!(k[(k[z>>2]|0)+36>>2]&320)){P=fE(j[(k[z>>2]|0)+20>>1]|0,(j[(k[z>>2]|0)+22>>1]|0)+16&65535)|0;j[(k[z>>2]|0)+20>>1]=P}j[w>>1]=j[(k[z>>2]|0)+22>>1]|0;P=(k[z>>2]|0)+20|0;j[P>>1]=(j[P>>1]|0)+((j[o>>1]|0)+(k[u>>2]|0));P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+((j[o>>1]|0)+(k[u>>2]|0));vE(k[(k[g>>2]|0)+4>>2]|0,k[z>>2]|0,j[F>>1]|0);P=oE(k[g>>2]|0,k[z>>2]|0)|0;k[G>>2]=P;if(k[(k[z>>2]|0)+36>>2]&2)j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;else j[(k[z>>2]|0)+22>>1]=j[w>>1]|0;if((k[(k[z>>2]|0)+36>>2]&16|0)==0?(m[(k[z>>2]|0)+24>>1]|0)<(m[(k[n>>2]|0)+52>>1]|0):0)xE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[o>>1]|0)+(k[u>>2]|0)&65535)|0;j[(k[z>>2]|0)+22>>1]=j[J>>1]|0}while(0);P=WD(N)|0;k[B>>2]=P}N=k[L+4>>2]|0;P=k[z>>2]|0;k[P>>2]=k[L>>2];k[P+4>>2]=N;j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+42>>1]=j[K>>1]|0;k[(k[z>>2]|0)+36>>2]=k[M>>2];j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;j[(k[z>>2]|0)+40>>1]=j[I>>1]|0;if(((((m[H>>1]|0)==(m[K>>1]|0)?((m[H>>1]|0)+1|0)<(m[(k[n>>2]|0)+50>>1]|0):0)?((l[(k[n>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=bE(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0,k[G>>2]=P,(P|0)==0):0){N=(k[z>>2]|0)+24|0;j[N>>1]=(j[N>>1]|0)+1<<16>>16;N=(k[z>>2]|0)+42|0;j[N>>1]=(j[N>>1]|0)+1<<16>>16;N=(k[z>>2]|0)+40|0;P=j[N>>1]|0;j[N>>1]=P+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|32768;j[v>>1]=(j[(k[(k[n>>2]|0)+8>>2]|0)+(m[H>>1]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[H>>1]|0)+1<<1)>>1]|0);P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)-(j[v>>1]|0);j[v>>1]=(j[v>>1]|0)+5;xE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[v>>1]|0)+(j[o>>1]|0)&65535)|0;j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+42>>1]=j[K>>1]|0;k[(k[z>>2]|0)+36>>2]=k[M>>2]}k[f>>2]=k[G>>2];P=k[f>>2]|0;r=O;return P|0}function yE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;d=e+8|0;g=e+4|0;f=e;k[d>>2]=a;k[g>>2]=b;k[f>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1];b=k[f>>2]|0;if((k[f>>2]|0)>=0){k[c>>2]=l[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(b<<4)+12>>0];g=k[c>>2]|0;r=e;return g|0}if((b|0)==-1){k[c>>2]=1;g=k[c>>2]|0;r=e;return g|0}else{k[c>>2]=0;g=k[c>>2]|0;r=e;return g|0}return 0}function zE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;l=n;i=n+28|0;k[n+24>>2]=a;k[n+20>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[m>>2]=0;k[l>>2]=j[(k[h>>2]|0)+22>>1];d=AE(k[f>>2]|0,k[l>>2]&65535)|0;j[i>>1]=d;d=AE(k[g>>2]|0,j[i>>1]|0)|0;j[i>>1]=d;if(((k[f>>2]|0)!=0?((k[g>>2]|0)!=0?(j[(k[f>>2]|0)+16>>1]|0)>0:0):0)?(j[(k[g>>2]|0)+16>>1]|0)>0:0)j[i>>1]=(j[i>>1]|0)-20;k[l>>2]=(k[l>>2]|0)-(((k[f>>2]|0)!=0&1)+((k[g>>2]|0)!=0&1));if((j[i>>1]|0)<10)j[i>>1]=10;if((j[i>>1]|0)>=(k[l>>2]|0)){a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=j[i>>1];a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}function AE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;f=e+6|0;d=e+4|0;k[c>>2]=a;j[f>>1]=b;j[d>>1]=j[f>>1]|0;do if(k[c>>2]|0){b=k[c>>2]|0;if((j[(k[c>>2]|0)+16>>1]|0)<=0){j[d>>1]=(j[d>>1]|0)+(j[b+16>>1]|0);break}if(!(m[b+20>>1]&0))j[d>>1]=(j[d>>1]|0)-20}while(0);r=e;return j[d>>1]|0}function BE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(My(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}do if((l[k[f>>2]>>0]|0|0)==27){if((BE(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0?(BE(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0)==0:0)break;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}while(0);if((((l[k[f>>2]>>0]|0|0)==35?(My(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0:0)?(l[k[e>>2]>>0]|0|0)!=34:0)?(l[k[e>>2]>>0]|0|0)!=29:0){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}function CE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+96|0;F=G+8|0;g=G+76|0;h=G+72|0;n=G+68|0;o=G;p=G+64|0;q=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;k[w>>2]=0;k[s>>2]=0;k[D>>2]=k[(k[n>>2]|0)+20>>2];while(1){if((k[s>>2]|0)>=(k[(k[n>>2]|0)+12>>2]|0))break;if((((k[(k[D>>2]|0)+8>>2]|0)==(k[(k[p>>2]|0)+44>>2]|0)?(e=(k[D>>2]|0)+32|0,b=o,!((k[e>>2]&k[b>>2]|0)!=0?1:(k[e+4>>2]&k[b+4>>2]|0)!=0)):0)?(m[(k[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(m[(k[D>>2]|0)+20>>1]&0|0)==0:0)k[w>>2]=(k[w>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+48}k[v>>2]=0;if(k[q>>2]|0){k[u>>2]=k[k[q>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[u>>2]|0))break;k[y>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((l[k[y>>2]>>0]|0)!=152)break;if((k[(k[y>>2]|0)+28>>2]|0)!=(k[(k[p>>2]|0)+44>>2]|0))break;k[s>>2]=(k[s>>2]|0)+1}if((k[s>>2]|0)==(k[u>>2]|0))k[v>>2]=k[u>>2]}b=Bh(k[k[h>>2]>>2]|0,72+((k[w>>2]|0)*20|0)+(k[v>>2]<<3)|0,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Mh(k[h>>2]|0,25632,F);k[g>>2]=0;F=k[g>>2]|0;r=G;return F|0}k[A>>2]=(k[B>>2]|0)+72;k[C>>2]=(k[A>>2]|0)+((k[w>>2]|0)*12|0);k[E>>2]=(k[C>>2]|0)+(k[v>>2]<<3);k[k[B>>2]>>2]=k[w>>2];k[(k[B>>2]|0)+8>>2]=k[v>>2];k[(k[B>>2]|0)+4>>2]=k[A>>2];k[(k[B>>2]|0)+12>>2]=k[C>>2];k[(k[B>>2]|0)+16>>2]=k[E>>2];k[t>>2]=0;k[s>>2]=0;k[D>>2]=k[(k[n>>2]|0)+20>>2];while(1){if((k[s>>2]|0)>=(k[(k[n>>2]|0)+12>>2]|0))break;if((((k[(k[D>>2]|0)+8>>2]|0)==(k[(k[p>>2]|0)+44>>2]|0)?(b=(k[D>>2]|0)+32|0,F=o,!((k[b>>2]&k[F>>2]|0)!=0?1:(k[b+4>>2]&k[F+4>>2]|0)!=0)):0)?(m[(k[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(m[(k[D>>2]|0)+20>>1]&0|0)==0:0){k[(k[A>>2]|0)+((k[t>>2]|0)*12|0)>>2]=k[(k[D>>2]|0)+12>>2];k[(k[A>>2]|0)+((k[t>>2]|0)*12|0)+8>>2]=k[s>>2];F=j[(k[D>>2]|0)+18>>1]&255;i[x>>0]=F;i[x>>0]=(l[x>>0]|0)==1?2:F;if((l[x>>0]|0)==64)i[x>>0]=i[(k[D>>2]|0)+23>>0]|0;i[(k[A>>2]|0)+((k[t>>2]|0)*12|0)+4>>0]=i[x>>0]|0;k[t>>2]=(k[t>>2]|0)+1}k[s>>2]=(k[s>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+48}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[v>>2]|0))break;k[z>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[(k[C>>2]|0)+(k[s>>2]<<3)>>2]=j[(k[z>>2]|0)+32>>1];i[(k[C>>2]|0)+(k[s>>2]<<3)+4>>0]=i[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+12>>0]|0;k[s>>2]=(k[s>>2]|0)+1}k[g>>2]=k[B>>2];F=k[g>>2]|0;r=G;return F|0}function DE(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=r;r=r+96|0;E=L+16|0;G=L+88|0;H=L+84|0;M=L+8|0;o=L;q=L+92|0;I=L+80|0;n=L+76|0;D=L+72|0;x=L+68|0;C=L+64|0;s=L+60|0;v=L+56|0;K=L+52|0;J=L+48|0;y=L+44|0;z=L+40|0;w=L+36|0;A=L+32|0;t=L+28|0;B=L+24|0;u=L+20|0;k[H>>2]=a;a=M;k[a>>2]=b;k[a+4>>2]=c;a=o;k[a>>2]=d;k[a+4>>2]=e;j[q>>1]=f;k[I>>2]=g;k[n>>2]=h;k[D>>2]=k[(k[H>>2]|0)+4>>2];k[C>>2]=k[(k[I>>2]|0)+16>>2];k[K>>2]=0;k[J>>2]=k[(k[H>>2]|0)+12>>2];k[y>>2]=k[k[k[H>>2]>>2]>>2];k[z>>2]=(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+8+((l[(k[J>>2]|0)+16>>0]|0)*72|0);k[w>>2]=k[k[I>>2]>>2];k[k[n>>2]>>2]=0;a=M;g=k[a+4>>2]|0;h=k[J>>2]|0;k[h>>2]=k[a>>2];k[h+4>>2]=g;k[x>>2]=k[(k[I>>2]|0)+4>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break;k[A>>2]=(k[(k[D>>2]|0)+20>>2]|0)+((k[(k[x>>2]|0)+8>>2]|0)*48|0);i[(k[x>>2]|0)+5>>0]=0;g=(k[A>>2]|0)+32|0;h=o;M=(k[A>>2]|0)+32|0;if(((k[g>>2]&k[h>>2]|0)==(k[M>>2]|0)?(k[g+4>>2]&k[h+4>>2]|0)==(k[M+4>>2]|0):0)?(m[(k[A>>2]|0)+18>>1]&m[q>>1]|0)==0:0)i[(k[x>>2]|0)+5>>0]=1;k[s>>2]=(k[s>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+12}KR(k[C>>2]|0,0,k[w>>2]<<3|0)|0;k[(k[I>>2]|0)+24>>2]=0;k[(k[I>>2]|0)+20>>2]=0;k[(k[I>>2]|0)+32>>2]=0;p[(k[I>>2]|0)+40>>3]=5.e+98;A=(k[I>>2]|0)+48|0;k[A>>2]=25;k[A+4>>2]=0;k[(k[I>>2]|0)+56>>2]=0;A=(k[z>>2]|0)+56|0;h=k[A+4>>2]|0;M=(k[I>>2]|0)+64|0;k[M>>2]=k[A>>2];k[M+4>>2]=h;M=EE(k[y>>2]|0,k[(k[z>>2]|0)+16>>2]|0,k[I>>2]|0)|0;k[K>>2]=M;if(k[K>>2]|0){k[G>>2]=k[K>>2];M=k[G>>2]|0;r=L;return M|0}k[v>>2]=-1;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break;k[(k[(k[J>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]=0;k[s>>2]=(k[s>>2]|0)+1}j[(k[J>>2]|0)+24+6>>1]=0;k[x>>2]=k[(k[I>>2]|0)+4>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break;M=(k[(k[C>>2]|0)+(k[s>>2]<<3)>>2]|0)-1|0;k[t>>2]=M;if((M|0)>=0){k[u>>2]=k[(k[x>>2]|0)+8>>2];if((k[u>>2]|0)<0?1:(k[t>>2]|0)>=(k[w>>2]|0)){F=19;break}if((k[u>>2]|0)>=(k[(k[D>>2]|0)+12>>2]|0)){F=19;break}if(k[(k[(k[J>>2]|0)+48>>2]|0)+(k[t>>2]<<2)>>2]|0){F=19;break}if(!(l[(k[x>>2]|0)+5>>0]|0)){F=19;break}k[B>>2]=(k[(k[D>>2]|0)+20>>2]|0)+((k[u>>2]|0)*48|0);A=(k[B>>2]|0)+32|0;M=k[J>>2]|0;g=M;h=k[g+4>>2]|k[A+4>>2];k[M>>2]=k[g>>2]|k[A>>2];k[M+4>>2]=h;k[(k[(k[J>>2]|0)+48>>2]|0)+(k[t>>2]<<2)>>2]=k[B>>2];if((k[t>>2]|0)>(k[v>>2]|0))k[v>>2]=k[t>>2];if((k[t>>2]|0)<16?(l[(k[C>>2]|0)+(k[s>>2]<<3)+4>>0]|0)!=0:0){M=(k[J>>2]|0)+24+6|0;j[M>>1]=m[M>>1]|1<>2]}if(m[(k[B>>2]|0)+18>>1]&1){k[(k[I>>2]|0)+32>>2]=0;M=(k[I>>2]|0)+56|0;k[M>>2]=k[M>>2]&-2;k[k[n>>2]>>2]=1}}k[s>>2]=(k[s>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+12}if((F|0)==19){k[K>>2]=1;M=k[y>>2]|0;k[E>>2]=k[k[(k[z>>2]|0)+16>>2]>>2];Mh(M,35323,E);k[G>>2]=k[K>>2];M=k[G>>2]|0;r=L;return M|0}j[(k[J>>2]|0)+40>>1]=(k[v>>2]|0)+1;k[(k[J>>2]|0)+24>>2]=k[(k[I>>2]|0)+20>>2];i[(k[J>>2]|0)+24+4>>0]=k[(k[I>>2]|0)+28>>2];k[(k[I>>2]|0)+28>>2]=0;k[(k[J>>2]|0)+24+8>>2]=k[(k[I>>2]|0)+24>>2];if(k[(k[I>>2]|0)+32>>2]|0)b=k[(k[I>>2]|0)+8>>2]|0;else b=0;i[(k[J>>2]|0)+24+5>>0]=b;j[(k[J>>2]|0)+18>>1]=0;b=FE(+p[(k[I>>2]|0)+40>>3])|0;j[(k[J>>2]|0)+20>>1]=b;b=(k[I>>2]|0)+48|0;b=Uj(k[b>>2]|0,k[b+4>>2]|0)|0;j[(k[J>>2]|0)+22>>1]=b;b=(k[J>>2]|0)+36|0;c=k[b>>2]|0;if(k[(k[I>>2]|0)+56>>2]&1)k[b>>2]=c|4096;else k[b>>2]=c&-4097;M=oE(k[H>>2]|0,k[J>>2]|0)|0;k[K>>2]=M;if(i[(k[J>>2]|0)+24+4>>0]|0){Ud(k[(k[J>>2]|0)+24+8>>2]|0);i[(k[J>>2]|0)+24+4>>0]=0}k[G>>2]=k[K>>2];M=k[G>>2]|0;r=L;return M|0}function EE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;h=i+8|0;g=i;d=i+28|0;l=i+24|0;j=i+20|0;e=i+16|0;f=i+12|0;k[d>>2]=a;k[l>>2]=b;k[j>>2]=c;b=(Xx(k[k[d>>2]>>2]|0,k[l>>2]|0)|0)+8|0;k[e>>2]=k[b>>2];b=gc[k[(k[k[e>>2]>>2]|0)+12>>2]&255](k[e>>2]|0,k[j>>2]|0)|0;k[f>>2]=b;do if(k[f>>2]|0){if((k[f>>2]|0)==7){vh(k[k[d>>2]>>2]|0);break}c=k[d>>2]|0;if(k[(k[e>>2]|0)+8>>2]|0){k[h>>2]=k[(k[e>>2]|0)+8>>2];Mh(c,19007,h);break}else{l=uh(k[f>>2]|0)|0;k[g>>2]=l;Mh(c,19007,g);break}}while(0);Ud(k[(k[e>>2]|0)+8>>2]|0);k[(k[e>>2]|0)+8>>2]=0;r=i;return k[(k[d>>2]|0)+68>>2]|0}function FE(a){a=+a;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+18|0;c=f+8|0;d=f;e=f+16|0;p[c>>3]=a;if(+p[c>>3]<=1.0){j[b>>1]=0;e=j[b>>1]|0;r=f;return e|0}if(+p[c>>3]<=2.0e9){a=+p[c>>3];e=Uj(~~a>>>0,+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;j[b>>1]=e;e=j[b>>1]|0;r=f;return e|0}else{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];d=HR(k[d>>2]|0,k[d+4>>2]|0,52)|0;d=FR(d|0,L|0,1022,0)|0;j[e>>1]=d;j[b>>1]=(j[e>>1]|0)*10;e=j[b>>1]|0;r=f;return e|0}return 0}function GE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;q=t+36|0;f=t+32|0;g=t+28|0;h=t+24|0;i=t+20|0;m=t+16|0;s=t+12|0;p=t+8|0;n=t+4|0;o=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;k[p>>2]=k[(k[(k[i>>2]|0)+32>>2]|0)+(k[m>>2]<<2)>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[g>>2]>>2]|0)){f=10;break}a=ny(k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=a;if(((((l[k[n>>2]>>0]|0)==152?(j[(k[n>>2]|0)+32>>1]|0)==(j[(k[(k[i>>2]|0)+4>>2]|0)+(k[m>>2]<<1)>>1]|0):0)?(k[(k[n>>2]|0)+28>>2]|0)==(k[h>>2]|0):0)?(a=iy(k[f>>2]|0,k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0,k[o>>2]=a,(k[o>>2]|0)!=0):0)?0==(sg(k[k[o>>2]>>2]|0,k[p>>2]|0)|0):0){f=8;break}k[s>>2]=(k[s>>2]|0)+1}if((f|0)==8){k[q>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}else if((f|0)==10){k[q>>2]=-1;s=k[q>>2]|0;r=t;return s|0}return 0}function HE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+224|0;f=ga+196|0;g=ga+192|0;h=ga+188|0;d=ga+184|0;$=ga+180|0;P=ga+176|0;J=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;D=ga+164|0;E=ga+160|0;F=ga+156|0;W=ga+152|0;p=ga+148|0;s=ga+208|0;e=ga+16|0;x=ga+144|0;w=ga+140|0;K=ga+136|0;X=ga+132|0;G=ga+204|0;Q=ga+128|0;I=ga+124|0;q=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;n=ga+207|0;o=ga+206|0;H=ga+68|0;C=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[k[g>>2]>>2];b=t;k[b>>2]=0;k[b+4>>2]=0;k[Z>>2]=0;k[D>>2]=0;k[E>>2]=0;k[W>>2]=k[k[d>>2]>>2];k[p>>2]=k[k[W>>2]>>2];if(i[(k[p>>2]|0)+69>>0]|0){r=ga;return}k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);k[P>>2]=(k[d>>2]|0)+68;k[J>>2]=k[k[$>>2]>>2];b=dE(k[P>>2]|0,k[(k[J>>2]|0)+12>>2]|0)|0;d=da;k[d>>2]=b;k[d+4>>2]=L;k[F>>2]=l[k[J>>2]>>0];do if((k[F>>2]|0)==33){c=k[P>>2]|0;a=(k[J>>2]|0)+20|0;if(k[(k[J>>2]|0)+4>>2]&2048){b=eE(c,k[a>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}else{b=GD(c,k[a>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}}else if((k[F>>2]|0)==34){d=(k[$>>2]|0)+32|0;k[d>>2]=0;k[d+4>>2]=0;break}else{b=dE(k[P>>2]|0,k[(k[J>>2]|0)+16>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}while(0);b=dE(k[P>>2]|0,k[J>>2]|0)|0;d=aa;k[d>>2]=b;k[d+4>>2]=L;if(k[(k[J>>2]|0)+4>>2]&1){c=KD(k[P>>2]|0,j[(k[J>>2]|0)+36>>1]|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L;a=e;c=aa;b=k[c+4>>2]|k[a+4>>2];d=aa;k[d>>2]=k[c>>2]|k[a>>2];k[d+4>>2]=b;d=e;d=FR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=t;k[e>>2]=d;k[e+4>>2]=L}d=aa;c=k[d+4>>2]|0;e=(k[$>>2]|0)+40|0;k[e>>2]=k[d>>2];k[e+4>>2]=c;k[(k[$>>2]|0)+8>>2]=-1;k[(k[$>>2]|0)+4>>2]=-1;j[(k[$>>2]|0)+18>>1]=0;e=(IE(k[F>>2]|0)|0)!=0;c=k[J>>2]|0;a:do if(e){O=ny(k[c+12>>2]|0)|0;k[K>>2]=O;O=ny(k[(k[J>>2]|0)+16>>2]|0)|0;k[X>>2]=O;O=(k[$>>2]|0)+32|0;R=da;j[G>>1]=((k[O>>2]&k[R>>2]|0)==0?(k[O+4>>2]&k[R+4>>2]|0)==0:0)?8191:2048;R=da;if(JE(k[f>>2]|0,k[R>>2]|0,k[R+4>>2]|0,k[K>>2]|0,x,w)|0){k[(k[$>>2]|0)+8>>2]=k[x>>2];k[(k[$>>2]|0)+12>>2]=k[w>>2];R=(KE(k[F>>2]|0)|0)&65535;j[(k[$>>2]|0)+18>>1]=R&m[G>>1]}if((k[F>>2]|0)==29){R=(k[$>>2]|0)+20|0;j[R>>1]=m[R>>1]|2048}if((k[X>>2]|0)!=0?(R=(k[$>>2]|0)+32|0,(JE(k[f>>2]|0,k[R>>2]|0,k[R+4>>2]|0,k[X>>2]|0,x,w)|0)!=0):0){j[q>>1]=0;if((k[(k[$>>2]|0)+8>>2]|0)>=0){X=Ky(k[p>>2]|0,k[J>>2]|0,0)|0;k[I>>2]=X;if(i[(k[p>>2]|0)+69>>0]|0){qv(k[p>>2]|0,k[I>>2]|0);r=ga;return}X=LE(k[g>>2]|0,k[I>>2]|0,3)|0;k[y>>2]=X;if(!(k[y>>2]|0)){r=ga;return}k[Q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);ME(k[g>>2]|0,k[y>>2]|0,k[h>>2]|0);if((k[F>>2]|0)==29){X=(k[Q>>2]|0)+20|0;j[X>>1]=m[X>>1]|2048}k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);X=(k[$>>2]|0)+20|0;j[X>>1]=m[X>>1]|8;if(NE(k[W>>2]|0,k[I>>2]|0)|0){X=(k[$>>2]|0)+18|0;j[X>>1]=m[X>>1]|2048;j[q>>1]=2048}}else{k[I>>2]=k[J>>2];k[Q>>2]=k[$>>2]}OE(k[W>>2]|0,k[I>>2]|0);k[(k[Q>>2]|0)+8>>2]=k[x>>2];k[(k[Q>>2]|0)+12>>2]=k[w>>2];O=da;R=t;da=k[O+4>>2]|k[R+4>>2];X=(k[Q>>2]|0)+32|0;k[X>>2]=k[O>>2]|k[R>>2];k[X+4>>2]=da;X=aa;aa=k[X+4>>2]|0;da=(k[Q>>2]|0)+40|0;k[da>>2]=k[X>>2];k[da+4>>2]=aa;da=(KE(l[k[I>>2]>>0]|0)|0)&65535;j[(k[Q>>2]|0)+18>>1]=da+(m[q>>1]|0)&m[G>>1]}}else{if((l[c>>0]|0)==32?(l[(k[g>>2]|0)+8>>0]|0)==28:0){k[O>>2]=k[(k[J>>2]|0)+20>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break a;X=k[W>>2]|0;aa=l[35349+(k[u>>2]|0)>>0]|0;da=Ky(k[p>>2]|0,k[(k[J>>2]|0)+12>>2]|0,0)|0;da=Mv(X,aa,da,Ky(k[p>>2]|0,k[(k[(k[O>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[R>>2]=da;PE(k[R>>2]|0,k[J>>2]|0);da=LE(k[g>>2]|0,k[R>>2]|0,3)|0;k[z>>2]=da;HE(k[f>>2]|0,k[g>>2]|0,k[z>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);ME(k[g>>2]|0,k[z>>2]|0,k[h>>2]|0);k[u>>2]=(k[u>>2]|0)+1}}if((l[k[J>>2]>>0]|0)==27){QE(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0)}}while(0);if((l[(k[g>>2]|0)+8>>0]|0)==28?(RE(k[W>>2]|0,k[J>>2]|0,Z,D,E)|0)!=0:0){j[ea>>1]=259;k[M>>2]=k[(k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];ea=Ky(k[p>>2]|0,k[Z>>2]|0,0)|0;k[_>>2]=ea;b:do if((k[E>>2]|0)!=0?(i[(k[k[W>>2]>>2]|0)+69>>0]|0)==0:0){ea=(k[$>>2]|0)+20|0;j[ea>>1]=m[ea>>1]|1024;k[v>>2]=0;while(1){ea=i[(k[(k[Z>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]|0;i[n>>0]=ea;if(!(ea<<24>>24))break b;i[(k[(k[Z>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=i[n>>0]&~(l[19019+(l[n>>0]|0)>>0]&32);i[(k[(k[_>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=i[18229+(l[n>>0]|0)>>0]|0;k[v>>2]=(k[v>>2]|0)+1}}while(0);if(!(i[(k[p>>2]|0)+69>>0]|0)){ea=(Tf(k[(k[_>>2]|0)+8>>2]|0)|0)-1|0;k[H>>2]=(k[(k[_>>2]|0)+8>>2]|0)+ea;i[o>>0]=i[k[H>>2]>>0]|0;if(k[E>>2]|0){if((l[o>>0]|0)==64)k[D>>2]=0;i[o>>0]=i[18229+(l[o>>0]|0)>>0]|0}i[k[H>>2]>>0]=(l[o>>0]|0)+1}k[fa>>2]=(k[E>>2]|0)!=0?21045:35351;da=Ky(k[p>>2]|0,k[M>>2]|0,0)|0;k[S>>2]=da;da=k[W>>2]|0;ea=Yy(k[W>>2]|0,k[S>>2]|0,k[fa>>2]|0)|0;ea=Mv(da,41,ea,k[Z>>2]|0,0)|0;k[S>>2]=ea;PE(k[S>>2]|0,k[J>>2]|0);ea=LE(k[g>>2]|0,k[S>>2]|0,259)|0;k[A>>2]=ea;HE(k[f>>2]|0,k[g>>2]|0,k[A>>2]|0);ea=Ky(k[p>>2]|0,k[M>>2]|0,0)|0;k[T>>2]=ea;ea=k[W>>2]|0;fa=Yy(k[W>>2]|0,k[T>>2]|0,k[fa>>2]|0)|0;fa=Mv(ea,40,fa,k[_>>2]|0,0)|0;k[T>>2]=fa;PE(k[T>>2]|0,k[J>>2]|0);fa=LE(k[g>>2]|0,k[T>>2]|0,259)|0;k[B>>2]=fa;HE(k[f>>2]|0,k[g>>2]|0,k[B>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);if(k[D>>2]|0){ME(k[g>>2]|0,k[A>>2]|0,k[h>>2]|0);ME(k[g>>2]|0,k[B>>2]|0,k[h>>2]|0)}}if((SE(k[J>>2]|0,s)|0)!=0?(k[Y>>2]=k[k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]>>2],k[N>>2]=k[(k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=dE(k[P>>2]|0,k[Y>>2]|0)|0,fa=ca,k[fa>>2]=ea,k[fa+4>>2]=L,fa=dE(k[P>>2]|0,k[N>>2]|0)|0,ea=ba,k[ea>>2]=fa,k[ea+4>>2]=L,ea=ca,fa=ba,(k[ea>>2]&k[fa>>2]|0)==0?(k[ea+4>>2]&k[fa+4>>2]|0)==0:0):0){fa=k[W>>2]|0;fa=Mv(fa,30,0,Ky(k[p>>2]|0,k[Y>>2]|0,0)|0,0)|0;k[U>>2]=fa;fa=LE(k[g>>2]|0,k[U>>2]|0,3)|0;k[C>>2]=fa;k[V>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[C>>2]|0)*48|0);fa=ca;ea=k[fa+4>>2]|0;da=(k[V>>2]|0)+32|0;k[da>>2]=k[fa>>2];k[da+4>>2]=ea;k[(k[V>>2]|0)+8>>2]=k[(k[N>>2]|0)+28>>2];k[(k[V>>2]|0)+12>>2]=j[(k[N>>2]|0)+32>>1];j[(k[V>>2]|0)+18>>1]=64;i[(k[V>>2]|0)+23>>0]=i[s>>0]|0;ME(k[g>>2]|0,k[C>>2]|0,k[h>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);da=(k[$>>2]|0)+20|0;j[da>>1]=m[da>>1]|8;da=(k[$>>2]|0)+40|0;ea=k[da+4>>2]|0;fa=(k[V>>2]|0)+40|0;k[fa>>2]=k[da>>2];k[fa+4>>2]=ea}da=t;fa=(k[$>>2]|0)+32|0;ca=fa;ea=k[ca+4>>2]|k[da+4>>2];k[fa>>2]=k[ca>>2]|k[da>>2];k[fa+4>>2]=ea;r=ga;return}function IE(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[b>>2]|0)!=33?!((k[b>>2]|0)>=37&(k[b>>2]|0)<=41|(k[b>>2]|0)==34):0)b=(k[b>>2]|0)==29;else b=1;r=c;return b&1|0}function JE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;p=u+36|0;g=u+32|0;h=u;i=u+28|0;q=u+24|0;s=u+20|0;o=u+16|0;n=u+12|0;t=u+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[q>>2]=e;k[s>>2]=f;if((l[k[i>>2]>>0]|0)==152){k[k[q>>2]>>2]=k[(k[i>>2]|0)+28>>2];k[k[s>>2]>>2]=j[(k[i>>2]|0)+32>>1];k[p>>2]=1;t=k[p>>2]|0;r=u;return t|0}e=h;if((k[e>>2]|0)==0&(k[e+4>>2]|0)==0){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}e=h;a=k[e>>2]|0;e=k[e+4>>2]|0;f=h;f=FR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;if((a&f|0)!=0|(e&L|0)!=0){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}k[n>>2]=0;while(1){e=h;f=k[e+4>>2]|0;b=k[n>>2]|0;if(!(f>>>0>0|(f|0)==0&(k[e>>2]|0)>>>0>1))break;k[n>>2]=b+1;f=h;f=HR(k[f>>2]|0,k[f+4>>2]|0,1)|0;e=h;k[e>>2]=f;k[e+4>>2]=L}k[t>>2]=k[(k[g>>2]|0)+8+(b*72|0)+44>>2];k[o>>2]=k[(k[(k[g>>2]|0)+8+((k[n>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(k[o>>2]|0)){b=20;break}b:do if(k[(k[o>>2]|0)+40>>2]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[o>>2]|0)+50>>1]|0))break b;if((j[(k[(k[o>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(My(k[i>>2]|0,k[(k[(k[(k[o>>2]|0)+40>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[t>>2]|0)|0)==0:0){b=17;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[o>>2]=k[(k[o>>2]|0)+20>>2]}if((b|0)==17){k[k[q>>2]>>2]=k[t>>2];k[k[s>>2]>>2]=-2;k[p>>2]=1;t=k[p>>2]|0;r=u;return t|0}else if((b|0)==20){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}return 0}function KE(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;do if((k[b>>2]|0)!=33){if((k[b>>2]|0)==34){j[c>>1]=256;break}if((k[b>>2]|0)==29){j[c>>1]=128;break}else{j[c>>1]=2<<(k[b>>2]|0)-37;break}}else j[c>>1]=1;while(0);r=d;return j[c>>1]|0}function LE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+28|0;n=o+12|0;i=o+8|0;l=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;do if((k[(k[e>>2]|0)+12>>2]|0)>=(k[(k[e>>2]|0)+16>>2]|0)){k[l>>2]=k[(k[e>>2]|0)+20>>2];k[h>>2]=k[k[k[k[e>>2]>>2]>>2]>>2];c=$w(k[h>>2]|0,(k[(k[e>>2]|0)+16>>2]|0)*48<<1,0)|0;k[(k[e>>2]|0)+20>>2]=c;if(k[(k[e>>2]|0)+20>>2]|0){IR(k[(k[e>>2]|0)+20>>2]|0,k[l>>2]|0,(k[(k[e>>2]|0)+12>>2]|0)*48|0)|0;if((k[l>>2]|0)!=((k[e>>2]|0)+24|0))bg(k[h>>2]|0,k[l>>2]|0);c=((su(k[h>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0)>>>0)/48|0;k[(k[e>>2]|0)+16>>2]=c;KR((k[(k[e>>2]|0)+20>>2]|0)+((k[(k[e>>2]|0)+12>>2]|0)*48|0)|0,0,((k[(k[e>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((m[g>>1]|0)&1)qv(k[h>>2]|0,k[f>>2]|0);k[(k[e>>2]|0)+20>>2]=k[l>>2];k[d>>2]=0;c=k[d>>2]|0;r=o;return c|0}while(0);a=(k[e>>2]|0)+12|0;c=k[a>>2]|0;k[a>>2]=c+1;k[i>>2]=c;k[n>>2]=(k[(k[e>>2]|0)+20>>2]|0)+(c*48|0);if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&262144|0)!=0:0){c=k[(k[f>>2]|0)+28>>2]|0;c=((Uj(c,((c|0)<0)<<31>>31)|0)<<16>>16)-270&65535;j[(k[n>>2]|0)+16>>1]=c}else j[(k[n>>2]|0)+16>>1]=1;c=ny(k[f>>2]|0)|0;k[k[n>>2]>>2]=c;j[(k[n>>2]|0)+20>>1]=j[g>>1]|0;k[(k[n>>2]|0)+24>>2]=k[e>>2];k[(k[n>>2]|0)+4>>2]=-1;k[d>>2]=k[i>>2];c=k[d>>2]|0;r=o;return c|0}function ME(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+4>>2]=k[e>>2];j[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+16>>1]=j[(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+16>>1]|0;a=(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+22|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;r=d;return}function NE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;h=o+20|0;e=o+16|0;f=o+12|0;c=o+25|0;d=o+24|0;g=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;if(m[(k[k[e>>2]>>2]|0)+64>>1]&512){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if((l[k[f>>2]>>0]|0)!=37?(l[k[f>>2]>>0]|0)!=29:0){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if(k[(k[f>>2]|0)+4>>2]&1){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}a=hy(k[(k[f>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=hy(k[(k[f>>2]|0)+16>>2]|0)|0;i[d>>0]=a;do if((i[c>>0]|0)!=(i[d>>0]|0)){if((i[c>>0]|0)>=67?(i[d>>0]|0)>=67:0)break;k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}while(0);a=qB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,35351)|0)!=0:0){a=iy(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[j>>2]=c;f=iy(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=f;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[n>>2]=c;n=(sg(k[j>>2]|0,k[n>>2]|0)|0)==0&1;k[h>>2]=n;n=k[h>>2]|0;r=o;return n|0}k[h>>2]=1;n=k[h>>2]|0;r=o;return n|0}function OE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g+14|0;h=g+12|0;f=g;k[c>>2]=a;k[d>>2]=b;j[e>>1]=k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]&256;j[h>>1]=k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]&256;do if((m[e>>1]|0)==(m[h>>1]|0)){if(j[e>>1]|0){h=(k[(k[d>>2]|0)+16>>2]|0)+4|0;k[h>>2]=k[h>>2]&-257;break}if(iy(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0)|0){h=(k[(k[d>>2]|0)+12>>2]|0)+4|0;k[h>>2]=k[h>>2]|256}}while(0);k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];if((l[k[d>>2]>>0]|0)<38){r=g;return}i[k[d>>2]>>0]=((l[k[d>>2]>>0]|0)-38^2)+38;r=g;return}function PE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|k[(k[d>>2]|0)+4>>2]&1;j[(k[c>>2]|0)+36>>1]=j[(k[d>>2]|0)+36>>1]|0;r=e;return}function QE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=r;r=r+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;C=V+136|0;S=V+132|0;K=V+128|0;D=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;h=V+16|0;o=V+108|0;q=V+104|0;p=V+100|0;n=V+96|0;d=V+8|0;e=V;u=V+92|0;f=V+88|0;s=V+84|0;g=V+80|0;v=V+76|0;I=V+72|0;E=V+68|0;F=V+64|0;H=V+60|0;z=V+56|0;A=V+52|0;J=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;G=V+32|0;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[T>>2]=k[k[x>>2]>>2];k[R>>2]=k[k[T>>2]>>2];k[C>>2]=k[k[R>>2]>>2];k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);k[K>>2]=k[k[S>>2]>>2];b=Bh(k[C>>2]|0,416,0)|0;k[t>>2]=b;k[(k[S>>2]|0)+12>>2]=b;if(!(k[t>>2]|0)){r=V;return}b=(k[S>>2]|0)+20|0;j[b>>1]=m[b>>1]|16;k[Q>>2]=k[t>>2];KR((k[Q>>2]|0)+24|0,0,384)|0;xD(k[Q>>2]|0,k[T>>2]|0);yD(k[Q>>2]|0,k[K>>2]|0,27);BD(k[w>>2]|0,k[Q>>2]|0);if(i[(k[C>>2]|0)+69>>0]|0){r=V;return}b=h;k[b>>2]=-1;k[b+4>>2]=-1;b=B;k[b>>2]=-1;k[b+4>>2]=-1;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){b=h;if(!((k[D>>2]|0)>=0?(k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0:0))break;do if(!(m[(k[P>>2]|0)+18>>1]&511)){b=B;k[b>>2]=0;k[b+4>>2]=0;b=$w(k[C>>2]|0,408,0)|0;k[o>>2]=b;if(k[o>>2]|0){b=d;k[b>>2]=0;k[b+4>>2]=0;k[(k[P>>2]|0)+12>>2]=k[o>>2];b=(k[P>>2]|0)+20|0;j[b>>1]=m[b>>1]|32;j[(k[P>>2]|0)+18>>1]=1024;k[q>>2]=k[o>>2];KR((k[q>>2]|0)+24|0,0,384)|0;xD(k[q>>2]|0,k[k[x>>2]>>2]|0);yD(k[q>>2]|0,k[k[P>>2]>>2]|0,28);BD(k[w>>2]|0,k[q>>2]|0);k[(k[q>>2]|0)+4>>2]=k[x>>2];a:do if(!(i[(k[C>>2]|0)+69>>0]|0)){k[n>>2]=0;k[p>>2]=k[(k[q>>2]|0)+20>>2];while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+12>>2]|0))break a;if(IE(l[k[k[p>>2]>>2]>>0]|0)|0){c=KD((k[T>>2]|0)+68|0,k[(k[p>>2]|0)+8>>2]|0)|0;W=d;a=k[W+4>>2]|L;b=d;k[b>>2]=k[W>>2]|c;k[b+4>>2]=a}k[n>>2]=(k[n>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+48}}while(0);a=d;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b}}else if(!(m[(k[P>>2]|0)+20>>1]&8)){b=KD((k[T>>2]|0)+68|0,k[(k[P>>2]|0)+8>>2]|0)|0;W=e;k[W>>2]=b;k[W+4>>2]=L;if(m[(k[P>>2]|0)+20>>1]&2){k[u>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[(k[P>>2]|0)+4>>2]|0)*48|0);a=KD((k[T>>2]|0)+68|0,k[(k[u>>2]|0)+8>>2]|0)|0;c=e;b=k[c+4>>2]|L;W=e;k[W>>2]=k[c>>2]|a;k[W+4>>2]=b}a=e;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;if(!(m[(k[P>>2]|0)+18>>1]&2)){W=B;k[W>>2]=0;k[W+4>>2]=0;break}else{a=e;c=B;b=k[c+4>>2]&k[a+4>>2];W=B;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;break}}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}a=h;b=k[a+4>>2]|0;W=(k[t>>2]|0)+408|0;k[W>>2]=k[a>>2];k[W+4>>2]=b;W=h;j[(k[S>>2]|0)+18>>1]=(k[W>>2]|0)==0&(k[W+4>>2]|0)==0?0:512;W=h;b:do if((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0?(k[(k[Q>>2]|0)+12>>2]|0)==2:0){k[f>>2]=0;c:while(1){b=k[(k[Q>>2]|0)+20>>2]|0;W=k[f>>2]|0;k[f>>2]=W+1;W=XE(b,W)|0;k[s>>2]=W;if(!W)break b;k[g>>2]=0;while(1){b=(k[(k[Q>>2]|0)+20>>2]|0)+48|0;W=k[g>>2]|0;k[g>>2]=W+1;W=XE(b,W)|0;k[v>>2]=W;if(!W)continue c;YE(k[w>>2]|0,k[x>>2]|0,k[s>>2]|0,k[v>>2]|0)}}}while(0);W=B;if(!((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0)){r=V;return}k[I>>2]=0;k[E>>2]=-1;k[F>>2]=-1;k[H>>2]=0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=2)break;if(!((k[I>>2]|0)!=0^1))break;k[P>>2]=k[(k[Q>>2]|0)+20>>2];k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;while(1){if((k[D>>2]|0)<0)break;W=(k[P>>2]|0)+20|0;j[W>>1]=m[W>>1]&-65;if((k[(k[P>>2]|0)+8>>2]|0)!=(k[F>>2]|0)?(W=B,v=k[W>>2]|0,W=k[W+4>>2]|0,b=KD((k[T>>2]|0)+68|0,k[(k[P>>2]|0)+8>>2]|0)|0,!((v&b|0)==0&(W&L|0)==0)):0){U=36;break}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}if((U|0)==36){U=0;k[E>>2]=k[(k[P>>2]|0)+12>>2];k[F>>2]=k[(k[P>>2]|0)+8>>2]}if((k[D>>2]|0)<0)break;k[I>>2]=1;while(1){if(!((k[D>>2]|0)>=0?(k[I>>2]|0)!=0:0))break;d=k[P>>2]|0;do if((k[(k[P>>2]|0)+8>>2]|0)!=(k[F>>2]|0)){W=d+20|0;j[W>>1]=m[W>>1]&-65}else{if((k[d+12>>2]|0)!=(k[E>>2]|0)){k[I>>2]=0;break}W=(hy(k[(k[k[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;k[A>>2]=W;W=(hy(k[(k[k[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;k[z>>2]=W;if((k[A>>2]|0)!=0?(k[A>>2]|0)!=(k[z>>2]|0):0){k[I>>2]=0;break}W=(k[P>>2]|0)+20|0;j[W>>1]=m[W>>1]|64}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}k[H>>2]=(k[H>>2]|0)+1}if(!(k[I>>2]|0)){r=V;return}k[N>>2]=0;k[M>>2]=0;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){if((k[D>>2]|0)<0)break;if(m[(k[P>>2]|0)+20>>1]&64){W=Ky(k[C>>2]|0,k[(k[k[P>>2]>>2]|0)+16>>2]|0,0)|0;k[J>>2]=W;W=$v(k[k[T>>2]>>2]|0,k[N>>2]|0,k[J>>2]|0)|0;k[N>>2]=W;k[M>>2]=k[(k[k[P>>2]>>2]|0)+12>>2]}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}W=Ky(k[C>>2]|0,k[M>>2]|0,0)|0;k[J>>2]=W;W=Mv(k[R>>2]|0,33,k[J>>2]|0,0,0)|0;k[O>>2]=W;if(k[O>>2]|0){PE(k[O>>2]|0,k[K>>2]|0);k[(k[O>>2]|0)+20>>2]=k[N>>2];W=LE(k[x>>2]|0,k[O>>2]|0,3)|0;k[G>>2]=W;HE(k[w>>2]|0,k[x>>2]|0,k[G>>2]|0);k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);ME(k[x>>2]|0,k[G>>2]|0,k[y>>2]|0)}else mv(k[C>>2]|0,k[N>>2]|0);j[(k[S>>2]|0)+18>>1]=4096;r=V;return}function RE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=r;r=r+96|0;q=F+80|0;s=F+76|0;f=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;h=F+48|0;m=F+44|0;o=F+40|0;v=F+36|0;p=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;n=F+16|0;g=F+12|0;y=F+8|0;D=F+4|0;B=F;k[s>>2]=a;k[f>>2]=b;k[t>>2]=c;k[u>>2]=d;k[G>>2]=e;k[E>>2]=0;k[w>>2]=k[k[s>>2]>>2];k[A>>2]=0;if(!(TE(k[w>>2]|0,k[f>>2]|0,k[G>>2]|0,p)|0)){k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}k[m>>2]=k[(k[f>>2]|0)+20>>2];k[h>>2]=k[(k[(k[m>>2]|0)+4>>2]|0)+20>>2];if(((l[k[h>>2]>>0]|0)==152?((hy(k[h>>2]|0)|0)<<24>>24|0)==66:0)?(l[(k[(k[h>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){G=ny(k[k[(k[m>>2]|0)+4>>2]>>2]|0)|0;k[z>>2]=G;k[x>>2]=l[k[z>>2]>>0];if((k[x>>2]|0)!=135){if((k[x>>2]|0)==97)k[E>>2]=k[(k[z>>2]|0)+8>>2]}else{k[n>>2]=k[(k[s>>2]|0)+480>>2];k[g>>2]=j[(k[z>>2]|0)+32>>1];G=UE(k[n>>2]|0,k[g>>2]|0,65)|0;k[A>>2]=G;if((k[A>>2]|0)!=0?(pe(k[A>>2]|0)|0)==3:0){G=ke(k[A>>2]|0)|0;k[E>>2]=G}VE(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0)}do if(k[E>>2]|0){k[v>>2]=0;while(1){G=i[(k[E>>2]|0)+(k[v>>2]|0)>>0]|0;k[o>>2]=G;if(((G|0)!=0?(k[o>>2]|0)!=(i[p>>0]|0):0)?(k[o>>2]|0)!=(i[p+1>>0]|0):0)f=(k[o>>2]|0)!=(i[p+2>>0]|0);else f=0;g=k[v>>2]|0;if(!f)break;k[v>>2]=g+1}if((g|0)!=0?255!=(l[(k[E>>2]|0)+((k[v>>2]|0)-1)>>0]|0):0){if((k[o>>2]|0)==(i[p>>0]|0))f=(i[(k[E>>2]|0)+((k[v>>2]|0)+1)>>0]|0)==0;else f=0;k[k[u>>2]>>2]=f&1;G=cw(k[w>>2]|0,97,k[E>>2]|0)|0;k[y>>2]=G;if(k[y>>2]|0)i[(k[(k[y>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=0;k[k[t>>2]>>2]=k[y>>2];if((k[x>>2]|0)!=135)break;k[D>>2]=k[(k[s>>2]|0)+8>>2];VE(k[D>>2]|0,j[(k[z>>2]|0)+32>>1]|0);if(!(k[k[u>>2]>>2]|0))break;if(!(i[(k[(k[z>>2]|0)+8>>2]|0)+1>>0]|0))break;G=rA(k[s>>2]|0)|0;k[B>>2]=G;VA(k[s>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;G=k[D>>2]|0;WE(G,(Yz(k[D>>2]|0)|0)-1|0,0);vA(k[s>>2]|0,k[B>>2]|0);break}k[E>>2]=0}while(0);k[C>>2]=(k[E>>2]|0)!=0&1;lh(k[A>>2]|0);k[q>>2]=k[C>>2];G=k[q>>2]|0;r=F;return G|0}k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}function SE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+64|0;g=m+56|0;e=m+52|0;h=m+48|0;j=m+16|0;d=m+8|0;c=m+4|0;f=m;k[e>>2]=a;k[h>>2]=b;k[j>>2]=k[1571];k[j+4>>2]=k[1572];k[j+8>>2]=k[1573];k[j+12>>2]=k[1574];k[j+16>>2]=k[1575];k[j+20>>2]=k[1576];k[j+24>>2]=k[1577];k[j+28>>2]=k[1578];if((l[k[e>>2]>>0]|0|0)!=151){k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}k[d>>2]=k[(k[e>>2]|0)+20>>2];if((k[d>>2]|0)!=0?(k[k[d>>2]>>2]|0)==2:0){k[c>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2];if((l[k[c>>2]>>0]|0|0)==152?((l[(k[(k[c>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=4){c=14;break}b=(sg(k[(k[e>>2]|0)+8>>2]|0,k[j+(k[f>>2]<<3)>>2]|0)|0)==0;a=k[f>>2]|0;if(b){c=12;break}k[f>>2]=a+1}if((c|0)==12){i[k[h>>2]>>0]=i[j+(a<<3)+4>>0]|0;k[g>>2]=1;j=k[g>>2]|0;r=m;return j|0}else if((c|0)==14){k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}}k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0} -function fI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Zb=0,_b=0,ac=0,dc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=r;r=r+1840|0;Ke=vf+496|0;Je=vf+488|0;Ie=vf+480|0;hf=vf+464|0;gf=vf+456|0;He=vf+448|0;Ge=vf+440|0;Fe=vf+432|0;Ee=vf+424|0;De=vf+416|0;Ce=vf+400|0;ff=vf+392|0;Be=vf+384|0;Ae=vf+376|0;ze=vf+368|0;ye=vf+360|0;xe=vf+352|0;of=vf+336|0;nf=vf+328|0;mf=vf+320|0;lf=vf+312|0;qf=vf+1620|0;df=vf+1616|0;pf=vf+1612|0;uf=vf+1608|0;rf=vf+1604|0;ef=vf+1826|0;F=vf+1825|0;ba=vf+1600|0;tf=vf+1596|0;ab=vf+1592|0;e=vf+1588|0;Mc=vf+1584|0;Nc=vf+1580|0;Oc=vf+1576|0;gd=vf+1572|0;g=vf+1568|0;sf=vf+304|0;b=vf+1564|0;Vb=vf+1560|0;Gd=vf+1556|0;Ec=vf+1552|0;jf=vf+1548|0;A=vf+1544|0;gb=vf+1634|0;vd=vf+1540|0;Ea=vf+1536|0;nb=vf+1532|0;rb=vf+1528|0;Fa=vf+1524|0;Uc=vf+1520|0;O=vf+1516|0;Na=vf+296|0;w=vf+1824|0;J=vf+1632|0;pe=vf+1630|0;qe=vf+1628|0;Z=vf+288|0;$=vf+280|0;Od=vf+272|0;Pd=vf+264|0;Ga=vf+1512|0;kc=vf+1508|0;T=vf+1504|0;lc=vf+1500|0;_=vf+256|0;re=vf+248|0;aa=vf+240|0;kb=vf+1823|0;Qd=vf+1496|0;q=vf+1822|0;K=vf+1626|0;M=vf+1624|0;Ja=vf+1492|0;U=vf+1488|0;qb=vf+1484|0;sb=vf+1480|0;Qc=vf+1476|0;ua=vf+1472|0;Wb=vf+1468|0;x=vf+1464|0;te=vf+1460|0;ue=vf+1456|0;y=vf+1452|0;Fd=vf+232|0;tb=vf+1448|0;Ab=vf+1444|0;Xb=vf+1440|0;f=vf+1436|0;Ca=vf+1432|0;Q=vf+1428|0;Bc=vf+1424|0;ge=vf+192|0;Se=vf+1420|0;Xe=vf+1416|0;Ve=vf+1412|0;ib=vf+1408|0;jb=vf+184|0;v=vf+1404|0;le=vf+1400|0;ld=vf+1396|0;Qe=vf+1392|0;z=vf+1821|0;$e=vf+1388|0;kd=vf+1384|0;Ra=vf+176|0;Xa=vf+1380|0;Oa=vf+168|0;db=vf+160|0;cb=vf+1376|0;je=vf+1372|0;xc=vf+1368|0;Tc=vf+1364|0;Ua=vf+1360|0;Re=vf+1356|0;I=vf+1352|0;S=vf+1348|0;Ba=vf+1344|0;Da=vf+1340|0;Sa=vf+152|0;Zb=vf+1336|0;pb=vf+1332|0;_e=vf+1328|0;$a=vf+1324|0;fd=vf+1320|0;nd=vf+1316|0;rd=vf+1312|0;sa=vf+1308|0;va=vf+1304|0;za=vf+1300|0;ya=vf+1296|0;C=vf+1292|0;ra=vf+1288|0;wb=vf+1284|0;na=vf+1280|0;ja=vf+1276|0;oa=vf+1272|0;da=vf+1268|0;ca=vf+1264|0;yc=vf+1260|0;Va=vf+1256|0;Rc=vf+1252|0;ub=vf+1248|0;ea=vf+1244|0;Me=vf+1240|0;Dd=vf+1236|0;oc=vf+1232|0;zc=vf+1228|0;tc=vf+1224|0;Sc=vf+1220|0;Hd=vf+1216|0;uc=vf+1212|0;Bb=vf+1208|0;vc=vf+1204|0;Td=vf+1200|0;hb=vf+1196|0;Cb=vf+1192|0;Kd=vf+1176|0;Wa=vf+1168|0;ka=vf+144|0;G=vf+1164|0;s=vf+1160|0;oe=vf+1156|0;wa=vf+1152|0;Db=vf+1148|0;Ud=vf+1144|0;Jc=vf+1140|0;Kc=vf+1136|0;Ld=vf+1120|0;o=vf+1638|0;Eb=vf+1112|0;_b=vf+1108|0;Vd=vf+1104|0;la=vf+136|0;se=vf+128|0;Fb=vf+1100|0;Wd=vf+1096|0;B=vf+1092|0;Vc=vf+1088|0;Fc=vf+1084|0;wc=vf+1080|0;Pc=vf+1076|0;ma=vf+120|0;Gb=vf+1072|0;eb=vf+1068|0;ie=vf+1064|0;Te=vf+1060|0;od=vf+1056|0;lb=vf+1052|0;Hb=vf+1048|0;Ue=vf+1044|0;pd=vf+1040|0;mb=vf+1036|0;Ib=vf+1032|0;Xd=vf+1028|0;Za=vf+1024|0;Jb=vf+1020|0;Kb=vf+1016|0;ac=vf+1012|0;Ha=vf+1008|0;Ia=vf+112|0;Lb=vf+1004|0;ve=vf+104|0;wd=vf+1e3|0;_c=vf+996|0;Mb=vf+992|0;Nb=vf+988|0;dc=vf+984|0;Yd=vf+980|0;Ob=vf+976|0;ic=vf+972|0;Zd=vf+968|0;Pb=vf+964|0;_d=vf+960|0;Qb=vf+956|0;Ya=vf+952|0;Ye=vf+948|0;Rb=vf+944|0;jc=vf+940|0;be=vf+936|0;Md=vf+920|0;Sb=vf+916|0;qd=vf+912|0;de=vf+96|0;Tb=vf+908|0;ce=vf+904|0;Nd=vf+888|0;pa=vf+884|0;fa=vf+880|0;Qa=vf+876|0;Ub=vf+872|0;Id=vf+868|0;N=vf+864|0;Ac=vf+860|0;ha=vf+856|0;Ze=vf+852|0;af=vf+848|0;xa=vf+832|0;bb=vf+824|0;n=vf+820|0;Ta=vf+816|0;Ne=vf+812|0;Jd=vf+808|0;we=vf+88|0;ta=vf+804|0;H=vf+800|0;_a=vf+796|0;Pa=vf+792|0;md=vf+788|0;Wc=vf+784|0;Dc=vf+780|0;Gc=vf+776|0;id=vf+772|0;me=vf+768|0;Hc=vf+764|0;Lc=vf+760|0;Ic=vf+756|0;Ka=vf+752|0;mc=vf+748|0;X=vf+744|0;nc=vf+740|0;Xc=vf+736|0;ne=vf+48|0;Yc=vf+732|0;Y=vf+728|0;h=vf+716|0;Zc=vf+712|0;zb=vf+708|0;hd=vf+704|0;D=vf+700|0;E=vf+696|0;We=vf+692|0;xb=vf+688|0;Aa=vf+1637|0;ob=vf+684|0;Oe=vf+680|0;ud=vf+676|0;he=vf+8|0;bf=vf+672|0;pc=vf+668|0;sd=vf+664|0;xd=vf+660|0;$c=vf+656|0;La=vf+652|0;qa=vf+648|0;ad=vf+644|0;jd=vf+640|0;vb=vf+636|0;td=vf+632|0;yd=vf+628|0;qc=vf+624|0;Rd=vf+620|0;P=vf+616|0;t=vf+612|0;zd=vf+608|0;bd=vf+604|0;Cc=vf+600|0;fe=vf+568|0;rc=vf+564|0;Ad=vf+560|0;cd=vf+556|0;Sd=vf+552|0;sc=vf+548|0;Bd=vf+544|0;ed=vf+540|0;Cd=vf+536|0;dd=vf+532|0;Ma=vf+528|0;R=vf+524|0;ee=vf;u=vf+520|0;Ed=vf+516|0;Le=vf+1636|0;fb=vf+512|0;yb=vf+508|0;cf=vf+504|0;Pe=vf+500|0;k[qf>>2]=a;k[df>>2]=k[(k[qf>>2]|0)+4>>2];k[pf>>2]=k[df>>2];k[uf>>2]=0;k[rf>>2]=k[k[qf>>2]>>2];i[ef>>0]=0;i[F>>0]=i[(k[rf>>2]|0)+66>>0]|0;k[ba>>2]=0;k[tf>>2]=0;k[ab>>2]=0;k[e>>2]=k[(k[qf>>2]|0)+8>>2];k[Mc>>2]=0;k[Nc>>2]=0;k[Oc>>2]=0;k[gd>>2]=0;k[g>>2]=0;wf=(k[rf>>2]|0)+32|0;a=k[wf+4>>2]|0;c=sf;k[c>>2]=k[wf>>2];k[c+4>>2]=a;kI(k[qf>>2]|0);a:do if((k[(k[qf>>2]|0)+80>>2]|0)==7)d=881;else{k[(k[qf>>2]|0)+80>>2]=0;wf=(k[qf>>2]|0)+136|0;k[wf>>2]=0;k[wf+4>>2]=0;k[(k[qf>>2]|0)+20>>2]=0;k[(k[rf>>2]|0)+380+8>>2]=0;b:do if(!(k[(k[rf>>2]|0)+248>>2]|0)){if(k[(k[rf>>2]|0)+304>>2]|0){k[b>>2]=k[(k[qf>>2]|0)+108+16>>2];k[ab>>2]=(k[(k[rf>>2]|0)+312>>2]|0)-(((k[b>>2]|0)>>>0)%((k[(k[rf>>2]|0)+312>>2]|0)>>>0)|0)}k[pf>>2]=(k[df>>2]|0)+((k[(k[qf>>2]|0)+76>>2]|0)*20|0);c:while(1){k[tf>>2]=(k[tf>>2]|0)+1;d:do switch(l[k[pf>>2]>>0]|0){case 85:{d=64;break c}case 1:{d=387;break c}case 13:{d=7;break}case 14:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Mc>>2]|0)+8>>1]=4;wf=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;d=k[Mc>>2]|0;k[d>>2]=wf;k[d+4>>2]=((wf|0)<0)<<31>>31;d=14;break}case 70:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[pf>>2]=(k[df>>2]|0)+((k[k[Mc>>2]>>2]|0)*20|0);j[(k[Mc>>2]|0)+8>>1]=128;break}case 15:{k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);c=(k[(k[pf>>2]|0)+12>>2]|0)-1|0;wf=k[gd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;j[(k[gd>>2]|0)+8>>1]=4;if(k[(k[pf>>2]|0)+8>>2]|0)d=14;break}case 71:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Vb>>2]=(k[df>>2]|0)+((k[k[Mc>>2]>>2]|0)*20|0);k[pf>>2]=(k[df>>2]|0)+(((k[(k[Vb>>2]|0)+8>>2]|0)-1|0)*20|0);j[(k[Mc>>2]|0)+8>>1]=128;break}case 16:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Mc>>2]|0)+8>>1]=4;k[Gd>>2]=k[k[Mc>>2]>>2];c=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;wf=k[Mc>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;k[pf>>2]=(k[df>>2]|0)+((k[Gd>>2]|0)*20|0);break}case 72:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Oc>>2]|0)+8>>1]&1)d=20;break}case 73:{d=20;break}case 74:{c=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=c;c=k[(k[pf>>2]|0)+4>>2]|0;wf=k[gd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;break}case 75:{a=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=a;a=k[(k[pf>>2]|0)+16>>2]|0;c=k[a+4>>2]|0;wf=k[gd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;break}case 133:{wf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=wf;j[(k[gd>>2]|0)+8>>1]=8;p[k[gd>>2]>>3]=+p[k[(k[pf>>2]|0)+16>>2]>>3];break}case 97:{wf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=wf;i[k[pf>>2]>>0]=76;wf=Tf(k[(k[pf>>2]|0)+16>>2]|0)|0;k[(k[pf>>2]|0)+4>>2]=wf;if((l[F>>0]|0)!=1){wf=ph(k[gd>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,-1,1,0)|0;k[uf>>2]=wf;if(qu(k[gd>>2]|0,l[F>>0]|0)|0){d=881;break a}k[(k[gd>>2]|0)+24>>2]=0;wf=(k[gd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|2048;if((i[(k[pf>>2]|0)+1>>0]|0)==-1)bg(k[rf>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);i[(k[pf>>2]|0)+1>>0]=-1;k[(k[pf>>2]|0)+16>>2]=k[(k[gd>>2]|0)+16>>2];k[(k[pf>>2]|0)+4>>2]=k[(k[gd>>2]|0)+12>>2]}if((k[(k[pf>>2]|0)+4>>2]|0)>(k[(k[rf>>2]|0)+92>>2]|0)){d=880;break c}else d=43;break}case 76:{d=43;break}case 77:{wf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=wf;k[A>>2]=(k[(k[pf>>2]|0)+12>>2]|0)-(k[(k[pf>>2]|0)+8>>2]|0);wf=((k[(k[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;j[gb>>1]=wf;j[(k[gd>>2]|0)+8>>1]=wf;while(1){if((k[A>>2]|0)<=0)break d;k[gd>>2]=(k[gd>>2]|0)+40;rh(k[gd>>2]|0);j[(k[gd>>2]|0)+8>>1]=j[gb>>1]|0;k[A>>2]=(k[A>>2]|0)+-1}}case 78:{k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[gd>>2]|0)+8>>1]=(m[(k[gd>>2]|0)+8>>1]|1)&-129;break}case 79:{wf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=wf;ph(k[gd>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,0)|0;i[(k[gd>>2]|0)+10>>0]=i[F>>0]|0;break}case 80:{k[vd>>2]=(k[(k[qf>>2]|0)+60>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(qI(k[vd>>2]|0)|0){d=880;break c}wf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=wf;ZF(k[gd>>2]|0,k[vd>>2]|0,2048);break}case 81:{k[Ea>>2]=k[(k[pf>>2]|0)+12>>2];k[nb>>2]=k[(k[pf>>2]|0)+4>>2];k[rb>>2]=k[(k[pf>>2]|0)+8>>2];k[Mc>>2]=(k[e>>2]|0)+((k[nb>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[rb>>2]|0)*40|0);do{$H(k[gd>>2]|0,k[Mc>>2]|0);if((m[(k[gd>>2]|0)+8>>1]&4096|0)!=0?(kh(k[gd>>2]|0)|0)!=0:0){d=881;break a}k[Mc>>2]=(k[Mc>>2]|0)+40;k[gd>>2]=(k[gd>>2]|0)+40;wf=(k[Ea>>2]|0)+-1|0;k[Ea>>2]=wf}while((wf|0)!=0);break}case 82:{k[Fa>>2]=k[(k[pf>>2]|0)+12>>2];k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);while(1){ZF(k[gd>>2]|0,k[Mc>>2]|0,4096);if((m[(k[gd>>2]|0)+8>>1]&4096|0)!=0?(kh(k[gd>>2]|0)|0)!=0:0){d=881;break a}wf=k[Fa>>2]|0;k[Fa>>2]=wf+-1;if(!wf)break d;k[gd>>2]=(k[gd>>2]|0)+40;k[Mc>>2]=(k[Mc>>2]|0)+40}}case 83:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);ZF(k[gd>>2]|0,k[Mc>>2]|0,4096);break}case 84:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);wf=k[Mc>>2]|0;qh(k[gd>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0);break}case 52:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Nc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]|m[(k[Nc>>2]|0)+8>>1])&1){rh(k[gd>>2]|0);break d}if((m[(k[Mc>>2]|0)+8>>1]&16384|0)!=0?(fh(k[Mc>>2]|0)|0)!=0:0){d=881;break a}if((m[(k[Nc>>2]|0)+8>>1]&16384|0)!=0?(fh(k[Nc>>2]|0)|0)!=0:0){d=881;break a}if((m[(k[Mc>>2]|0)+8>>1]&18|0)==0?(Px(k[Mc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=881;break a}if((m[(k[Nc>>2]|0)+8>>1]&18|0)==0?(Px(k[Nc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=881;break a}b=(k[(k[Mc>>2]|0)+12>>2]|0)+(k[(k[Nc>>2]|0)+12>>2]|0)|0;c=Na;k[c>>2]=b;k[c+4>>2]=((b|0)<0)<<31>>31;c=Na;b=k[c+4>>2]|0;wf=k[(k[rf>>2]|0)+92>>2]|0;a=((wf|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0>wf>>>0:0)){d=880;break c}if(Rx(k[gd>>2]|0,(k[Na>>2]|0)+2|0,(k[gd>>2]|0)==(k[Nc>>2]|0)&1)|0){d=881;break a}j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|2;if((k[gd>>2]|0)!=(k[Nc>>2]|0))IR(k[(k[gd>>2]|0)+16>>2]|0,k[(k[Nc>>2]|0)+16>>2]|0,k[(k[Nc>>2]|0)+12>>2]|0)|0;IR((k[(k[gd>>2]|0)+16>>2]|0)+(k[(k[Nc>>2]|0)+12>>2]|0)|0,k[(k[Mc>>2]|0)+16>>2]|0,k[(k[Mc>>2]|0)+12>>2]|0)|0;i[(k[(k[gd>>2]|0)+16>>2]|0)+(k[Na>>2]|0)>>0]=0;wf=Na;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;i[(k[(k[gd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(k[gd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|512;k[(k[gd>>2]|0)+12>>2]=k[Na>>2];i[(k[gd>>2]|0)+10>>0]=i[F>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);wf=uI(k[Mc>>2]|0)|0;j[pe>>1]=wf;k[Nc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);wf=uI(k[Nc>>2]|0)|0;j[qe>>1]=wf;k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[J>>1]=m[(k[Mc>>2]|0)+8>>1]|m[(k[Nc>>2]|0)+8>>1];e:do if(!(m[J>>1]&1)){f:do if(m[pe>>1]&m[qe>>1]&4){wf=k[Mc>>2]|0;c=k[wf+4>>2]|0;a=Z;k[a>>2]=k[wf>>2];k[a+4>>2]=c;a=k[Nc>>2]|0;c=k[a+4>>2]|0;wf=$;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;i[w>>0]=1;switch(l[k[pf>>2]>>0]|0){case 47:{wf=Z;if(vI($,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 48:{wf=Z;if(wI($,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 49:{wf=Z;if(xI($,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 50:{wf=Z;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;c=Z;wf=$;if(((k[c>>2]|0)==-1?(k[c+4>>2]|0)==-1:0)&((k[wf>>2]|0)==0?(k[wf+4>>2]|0)==-2147483648:0))break f;c=Z;wf=$;c=PR(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=$;k[wf>>2]=c;k[wf+4>>2]=L;break}default:{wf=Z;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=Z;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=Z;k[wf>>2]=1;k[wf+4>>2]=0}c=Z;wf=$;c=QR(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=$;k[wf>>2]=c;k[wf+4>>2]=L}}a=$;c=k[a+4>>2]|0;wf=k[gd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;break d}else i[w>>0]=0;while(0);xf=+ih(k[Mc>>2]|0);p[Od>>3]=xf;xf=+ih(k[Nc>>2]|0);p[Pd>>3]=xf;switch(l[k[pf>>2]>>0]|0){case 47:{p[Pd>>3]=+p[Pd>>3]+ +p[Od>>3];break}case 48:{p[Pd>>3]=+p[Pd>>3]-+p[Od>>3];break}case 49:{p[Pd>>3]=+p[Pd>>3]*+p[Od>>3];break}case 50:{if(+p[Od>>3]==0.0)break e;p[Pd>>3]=+p[Pd>>3]/+p[Od>>3];break}default:{xf=+p[Od>>3];wf=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;c=Z;k[c>>2]=~~xf>>>0;k[c+4>>2]=wf;xf=+p[Pd>>3];c=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=$;k[wf>>2]=~~xf>>>0;k[wf+4>>2]=c;wf=Z;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=Z;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=Z;k[wf>>2]=1;k[wf+4>>2]=0}c=$;wf=Z;wf=QR(k[c>>2]|0,k[c+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;p[Pd>>3]=+(wf>>>0)+4294967296.0*+(L|0)}}if(!(dG(+p[Pd>>3])|0)){p[k[gd>>2]>>3]=+p[Pd>>3];j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|8;if((i[w>>0]|0)!=0?1:((m[pe>>1]|m[qe>>1])&8|0)!=0)break d;Mx(k[gd>>2]|0);break d}}while(0);rh(k[gd>>2]|0);break}case 86:{if(k[(k[pf>>2]|0)+4>>2]|0)qh((k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 87:{k[Ga>>2]=l[(k[pf>>2]|0)+3>>0];wf=$w(k[rf>>2]|0,32+((k[Ga>>2]|0)-1<<2)|0,0)|0;k[kc>>2]=wf;if(!(k[kc>>2]|0)){d=881;break a}k[k[kc>>2]>>2]=0;k[(k[kc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[kc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[kc>>2]|0)+12>>2]=k[qf>>2];i[(k[kc>>2]|0)+26>>0]=k[Ga>>2];i[(k[pf>>2]|0)+1>>0]=-21;k[(k[pf>>2]|0)+16>>2]=k[kc>>2];i[k[pf>>2]>>0]=88;d=124;break}case 88:{d=124;break}case 46:case 45:case 44:case 43:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Nc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]|m[(k[Nc>>2]|0)+8>>1])&1){rh(k[gd>>2]|0);break d}wf=jh(k[Nc>>2]|0)|0;c=_;k[c>>2]=wf;k[c+4>>2]=L;c=jh(k[Mc>>2]|0)|0;wf=aa;k[wf>>2]=c;k[wf+4>>2]=L;i[kb>>0]=i[k[pf>>2]>>0]|0;do if((l[kb>>0]|0)!=43){a=aa;b=k[a>>2]|0;a=k[a+4>>2]|0;if((l[kb>>0]|0)==44){yf=_;c=k[yf+4>>2]|a;wf=_;k[wf>>2]=k[yf>>2]|b;k[wf+4>>2]=c;break}if((b|0)!=0|(a|0)!=0){if((k[aa+4>>2]|0)<0){i[kb>>0]=91-(l[kb>>0]|0);wf=aa;c=k[wf+4>>2]|0;wf=(c|0)>-1|(c|0)==-1&(k[wf>>2]|0)>>>0>4294967232;c=aa;c=FR(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=aa;k[yf>>2]=wf?c:64;k[yf+4>>2]=wf?L:0}yf=aa;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=64){yf=_;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=0)b=1;else b=(l[kb>>0]|0)==45;wf=b?0:-1;yf=_;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break};k[re>>2]=k[_>>2];k[re+4>>2]=k[_+4>>2];b=k[aa>>2]|0;c=re;a=k[c>>2]|0;c=k[c+4>>2]|0;if((l[kb>>0]|0)!=45){wf=HR(a|0,c|0,b|0)|0;yf=re;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[_+4>>2]|0)<0){c=aa;c=FR(64,0,k[c>>2]|0,k[c+4>>2]|0)|0;c=LR(-1,-1,c|0)|0;a=re;wf=k[a+4>>2]|L;yf=re;k[yf>>2]=k[a>>2]|c;k[yf+4>>2]=wf}}else{wf=LR(a|0,c|0,b|0)|0;yf=re;k[yf>>2]=wf;k[yf+4>>2]=L};k[_>>2]=k[re>>2];k[_+4>>2]=k[re+4>>2]}}else{c=aa;a=_;wf=k[a+4>>2]&k[c+4>>2];yf=_;k[yf>>2]=k[a>>2]&k[c>>2];k[yf+4>>2]=wf}while(0);c=_;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;break}case 89:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Tx(k[Mc>>2]|0)|0;wf=k[(k[pf>>2]|0)+8>>2]|0;yf=k[Mc>>2]|0;c=yf;wf=GR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break}case 17:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]&4|0)==0?(Ox(k[Mc>>2]|0,67,i[F>>0]|0),(m[(k[Mc>>2]|0)+8>>1]&4|0)==0):0)if(!(k[(k[pf>>2]|0)+8>>2]|0)){d=157;break c}else{d=14;break d}j[(k[Mc>>2]|0)+8>>1]=m[(k[Mc>>2]|0)+8>>1]&-49664|4;break}case 90:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&4)Ux(k[Mc>>2]|0)|0;break}case 91:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&16384)b=fh(k[Mc>>2]|0)|0;else b=0;k[uf>>2]=b;Hx(k[Mc>>2]|0,k[(k[pf>>2]|0)+8>>2]&255,i[F>>0]|0);if(k[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[K>>1]=j[(k[Mc>>2]|0)+8>>1]|0;j[M>>1]=j[(k[Oc>>2]|0)+8>>1]|0;b=l[(k[pf>>2]|0)+3>>0]|0;do if((m[K>>1]|m[M>>1])&1){if(!(b&128)){b=k[pf>>2]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(l[b+3>>0]&16){d=14;break d}else break d;else{k[gd>>2]=(k[e>>2]|0)+((k[b+8>>2]|0)*40|0);j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|1;break d}}if(((m[K>>1]&1|0)!=0?(m[M>>1]&1|0)!=0:0)?(m[M>>1]&256|0)==0:0){k[Qd>>2]=0;break}k[Qd>>2]=1}else{i[q>>0]=b&71;if((i[q>>0]|0)>=67){if((m[K>>1]|m[M>>1])&2){if((m[K>>1]&14|0)==2)Jh(k[Mc>>2]|0,0);if((m[M>>1]&14|0)==2)Jh(k[Oc>>2]|0,0)}}else if((i[q>>0]|0)==66){if((m[K>>1]&2|0)==0?(m[K>>1]&12|0)!=0:0){Px(k[Mc>>2]|0,i[F>>0]|0,1)|0;j[K>>1]=m[(k[Mc>>2]|0)+8>>1]&-33280|m[K>>1]&33279}if((m[M>>1]&2|0)==0?(m[M>>1]&12|0)!=0:0){Px(k[Oc>>2]|0,i[F>>0]|0,1)|0;j[M>>1]=m[(k[Oc>>2]|0)+8>>1]&-33280|m[M>>1]&33279}}if(m[K>>1]&16384){fh(k[Mc>>2]|0)|0;j[K>>1]=m[K>>1]&-16385}if(m[M>>1]&16384){fh(k[Oc>>2]|0)|0;j[M>>1]=m[M>>1]&-16385}yf=zI(k[Oc>>2]|0,k[Mc>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[Qd>>2]=yf}while(0);switch(l[k[pf>>2]>>0]|0){case 37:{k[Qd>>2]=(k[Qd>>2]|0)==0&1;break}case 36:{k[Qd>>2]=(k[Qd>>2]|0)!=0&1;break}case 40:{k[Qd>>2]=(k[Qd>>2]|0)<0&1;break}case 39:{k[Qd>>2]=(k[Qd>>2]|0)<=0&1;break}case 38:{k[Qd>>2]=(k[Qd>>2]|0)>0&1;break}default:k[Qd>>2]=(k[Qd>>2]|0)>=0&1}j[(k[Mc>>2]|0)+8>>1]=j[K>>1]|0;j[(k[Oc>>2]|0)+8>>1]=j[M>>1]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(k[Qd>>2]|0){d=14;break d}else break d;else{k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;wf=k[Qd>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break d}}case 92:{k[g>>2]=(k[(k[pf>>2]|0)+16>>2]|0)+4;break}case 93:{if(!(l[(k[pf>>2]|0)+3>>0]&1))k[g>>2]=0;k[Ja>>2]=k[(k[pf>>2]|0)+12>>2];k[Qc>>2]=k[(k[pf>>2]|0)+16>>2];k[qb>>2]=k[(k[pf>>2]|0)+4>>2];k[sb>>2]=k[(k[pf>>2]|0)+8>>2];k[U>>2]=0;while(1){if((k[U>>2]|0)>=(k[Ja>>2]|0))break;b=k[U>>2]|0;if(k[g>>2]|0)b=k[(k[g>>2]|0)+(b<<2)>>2]|0;k[ua>>2]=b;k[Wb>>2]=k[(k[Qc>>2]|0)+20+(k[U>>2]<<2)>>2];k[x>>2]=l[(k[(k[Qc>>2]|0)+16>>2]|0)+(k[U>>2]|0)>>0];yf=zI((k[e>>2]|0)+(((k[qb>>2]|0)+(k[ua>>2]|0)|0)*40|0)|0,(k[e>>2]|0)+(((k[sb>>2]|0)+(k[ua>>2]|0)|0)*40|0)|0,k[Wb>>2]|0)|0;k[ba>>2]=yf;if(k[ba>>2]|0){d=210;break}k[U>>2]=(k[U>>2]|0)+1}if((d|0)==210?(d=0,(k[x>>2]|0)!=0):0)k[ba>>2]=0-(k[ba>>2]|0);k[g>>2]=0;break}case 18:{if((k[ba>>2]|0)<0){k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}b=k[pf>>2]|0;if(!(k[ba>>2]|0)){k[pf>>2]=(k[df>>2]|0)+(((k[b+8>>2]|0)-1|0)*20|0);break d}else{k[pf>>2]=(k[df>>2]|0)+(((k[b+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&1)k[te>>2]=2;else{yf=jh(k[Mc>>2]|0)|0;k[te>>2]=((yf|0)!=0|(L|0)!=0)&1}k[Nc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(m[(k[Nc>>2]|0)+8>>1]&1)k[ue>>2]=2;else{yf=jh(k[Nc>>2]|0)|0;k[ue>>2]=((yf|0)!=0|(L|0)!=0)&1}b=((k[te>>2]|0)*3|0)+(k[ue>>2]|0)|0;if((l[k[pf>>2]>>0]|0)==28)k[te>>2]=l[40384+b>>0];else k[te>>2]=l[40393+b>>0];k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((k[te>>2]|0)==2){j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|1;break d}else{wf=k[te>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);rh(k[gd>>2]|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1)){j[(k[gd>>2]|0)+8>>1]=4;wf=jh(k[Mc>>2]|0)|0;wf=(((wf|0)!=0|(L|0)!=0)^1)&1;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);rh(k[gd>>2]|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1)){j[(k[gd>>2]|0)+8>>1]=4;wf=jh(k[Mc>>2]|0)|0;yf=k[gd>>2]|0;k[yf>>2]=~wf;k[yf+4>>2]=~L}break}case 20:{if(i[(k[(k[qf>>2]|0)+200>>2]|0)+(k[(k[pf>>2]|0)+4>>2]|0)>>0]|0)d=14;else i[(k[(k[qf>>2]|0)+200>>2]|0)+(k[(k[pf>>2]|0)+4>>2]|0)>>0]=1;break}case 22:case 21:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1)){yf=+ih(k[Mc>>2]|0)!=0.0&1;k[y>>2]=yf;if((l[k[pf>>2]>>0]|0)==22)k[y>>2]=((k[y>>2]|0)!=0^1)&1}else k[y>>2]=k[(k[pf>>2]|0)+12>>2];if(k[y>>2]|0)d=14;break}case 34:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&1)d=14;break}case 35:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1))d=14;break}case 94:{k[Ab>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[tb>>2]=k[(k[pf>>2]|0)+8>>2];yf=AI(Ab,tb)|0;k[uf>>2]=yf;k[Bc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[f>>2]=k[(k[Ab>>2]|0)+76>>2];k[Xb>>2]=k[(k[Ab>>2]|0)+16>>2];if(k[uf>>2]|0)break a;b=k[Ab>>2]|0;if((k[(k[Ab>>2]|0)+56>>2]|0)!=(k[(k[qf>>2]|0)+72>>2]|0)){a=k[Ab>>2]|0;do if(i[b+2>>0]|0)if((l[a>>0]|0)==3){k[ld>>2]=(k[e>>2]|0)+((k[(k[Ab>>2]|0)+16>>2]|0)*40|0);yf=k[(k[ld>>2]|0)+12>>2]|0;k[v>>2]=yf;k[(k[Ab>>2]|0)+64>>2]=yf;k[(k[Ab>>2]|0)+60>>2]=yf;k[(k[Ab>>2]|0)+72>>2]=k[(k[ld>>2]|0)+16>>2];break}else{rh(k[Bc>>2]|0);break d}else{b=k[Xb>>2]|0;if(!(l[a+4>>0]|0)){PH(b,Fd)|0;yf=BI(k[Xb>>2]|0,v)|0;k[(k[Ab>>2]|0)+72>>2]=yf;k[(k[Ab>>2]|0)+60>>2]=k[Fd>>2]}else{CI(b,(k[Ab>>2]|0)+60|0)|0;yf=DI(k[Xb>>2]|0,v)|0;k[(k[Ab>>2]|0)+72>>2]=yf}b=k[(k[Ab>>2]|0)+60>>2]|0;if((k[(k[Ab>>2]|0)+60>>2]|0)>>>0<=(k[v>>2]|0)>>>0){k[(k[Ab>>2]|0)+64>>2]=b;break}if(b>>>0>(k[(k[rf>>2]|0)+92>>2]|0)>>>0){d=880;break c}k[(k[Ab>>2]|0)+64>>2]=k[v>>2]}while(0);k[(k[Ab>>2]|0)+56>>2]=k[(k[qf>>2]|0)+72>>2];b=k[(k[Ab>>2]|0)+72>>2]|0;if((l[k[(k[Ab>>2]|0)+72>>2]>>0]|0)<128){k[ib>>2]=l[b>>0];b=1}else b=(RF(b,ib)|0)&255;k[(k[Ab>>2]|0)+68>>2]=b&255;j[(k[Ab>>2]|0)+14>>1]=0;k[k[f>>2]>>2]=k[ib>>2];if((k[v>>2]|0)>>>0<(k[ib>>2]|0)>>>0){k[(k[Ab>>2]|0)+72>>2]=0;k[(k[Ab>>2]|0)+64>>2]=0;if((k[ib>>2]|0)>>>0>98307){d=263;break c}if((k[ib>>2]|0)>>>0>(k[(k[Ab>>2]|0)+60>>2]|0)>>>0){d=263;break c}else d=265}else d=265}else if((m[b+14>>1]|0)<=(k[tb>>2]|0))d=265;else k[le>>2]=k[(k[Ab>>2]|0)+80+(k[tb>>2]<<2)>>2];if((d|0)==265){d=0;if((k[(k[Ab>>2]|0)+68>>2]|0)>>>0<(k[k[f>>2]>>2]|0)>>>0){if(!(k[(k[Ab>>2]|0)+72>>2]|0)){b=ge;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));yf=EI(k[Xb>>2]|0,0,k[k[f>>2]>>2]|0,((i[(k[Ab>>2]|0)+4>>0]|0)!=0^1)&1,ge)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[Se>>2]=k[ge+16>>2]}else k[Se>>2]=k[(k[Ab>>2]|0)+72>>2];k[Q>>2]=m[(k[Ab>>2]|0)+14>>1];yf=jb;k[yf>>2]=k[(k[f>>2]|0)+(k[Q>>2]<<2)>>2];k[yf+4>>2]=0;k[Xe>>2]=(k[Se>>2]|0)+(k[(k[Ab>>2]|0)+68>>2]|0);k[Ve>>2]=(k[Se>>2]|0)+(k[k[f>>2]>>2]|0);do{yf=l[k[Xe>>2]>>0]|0;k[le>>2]=yf;b=k[Xe>>2]|0;if(yf>>>0<128){k[Xe>>2]=b+1;wf=(FI(k[le>>2]&255)|0)&255;yf=jb;wf=GR(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=jb;k[yf>>2]=wf;k[yf+4>>2]=L}else{wf=(RF(b,le)|0)&255;k[Xe>>2]=(k[Xe>>2]|0)+wf;wf=SF(k[le>>2]|0)|0;yf=jb;wf=GR(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=jb;k[yf>>2]=wf;k[yf+4>>2]=L}wf=k[le>>2]|0;yf=k[Q>>2]|0;k[Q>>2]=yf+1;k[(k[Ab>>2]|0)+80+(yf<<2)>>2]=wf;k[(k[f>>2]|0)+(k[Q>>2]<<2)>>2]=k[jb>>2];if((k[Q>>2]|0)>(k[tb>>2]|0))break}while((k[Xe>>2]|0)>>>0<(k[Ve>>2]|0)>>>0);j[(k[Ab>>2]|0)+14>>1]=k[Q>>2];k[(k[Ab>>2]|0)+68>>2]=(k[Xe>>2]|0)-(k[Se>>2]|0);if((k[Xe>>2]|0)>>>0>=(k[Ve>>2]|0)>>>0){if((k[Xe>>2]|0)>>>0>(k[Ve>>2]|0)>>>0){d=280;break c}yf=jb;if((k[yf+4>>2]|0)!=0?1:(k[yf>>2]|0)!=(k[(k[Ab>>2]|0)+60>>2]|0)){d=280;break c}}yf=jb;wf=k[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(k[yf>>2]|0)>>>0>(k[(k[Ab>>2]|0)+60>>2]|0)>>>0:0)){d=280;break c}if(!(k[(k[Ab>>2]|0)+72>>2]|0))eh(ge)}else k[le>>2]=0;if((m[(k[Ab>>2]|0)+14>>1]|0)<=(k[tb>>2]|0)){b=k[Bc>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)==-8){ZF(b,k[(k[pf>>2]|0)+16>>2]|0,2048);break d}else{rh(b);break d}}}if(m[(k[Bc>>2]|0)+8>>1]&9312)rh(k[Bc>>2]|0);i[(k[Bc>>2]|0)+10>>0]=i[F>>0]|0;if((k[(k[Ab>>2]|0)+64>>2]|0)>>>0>=(k[(k[f>>2]|0)+((k[tb>>2]|0)+1<<2)>>2]|0)>>>0){k[Se>>2]=(k[(k[Ab>>2]|0)+72>>2]|0)+(k[(k[f>>2]|0)+(k[tb>>2]<<2)>>2]|0);if((k[le>>2]|0)>>>0<12){TF(k[Se>>2]|0,k[le>>2]|0,k[Bc>>2]|0)|0;break d}b=(((k[le>>2]|0)-12|0)>>>0)/2|0;k[Ca>>2]=b;k[(k[Bc>>2]|0)+12>>2]=b;b=k[Bc>>2]|0;if((k[(k[Bc>>2]|0)+24>>2]|0)<((k[Ca>>2]|0)+2|0)){j[b+8>>1]=1;if(Rx(k[Bc>>2]|0,(k[Ca>>2]|0)+2|0,0)|0){d=881;break a}}else k[(k[Bc>>2]|0)+16>>2]=k[b+20>>2];IR(k[(k[Bc>>2]|0)+16>>2]|0,k[Se>>2]|0,k[Ca>>2]|0)|0;i[(k[(k[Bc>>2]|0)+16>>2]|0)+(k[Ca>>2]|0)>>0]=0;i[(k[(k[Bc>>2]|0)+16>>2]|0)+((k[Ca>>2]|0)+1)>>0]=0;j[(k[Bc>>2]|0)+8>>1]=j[17034+((k[le>>2]&1)<<1)>>1]|0;break d}do if(l[(k[pf>>2]|0)+3>>0]&192){if((k[le>>2]|0)>>>0>=12?(k[le>>2]&1|0)==0:0)break;if(!(l[(k[pf>>2]|0)+3>>0]&128))d=304}else d=304;while(0);if((d|0)==304?(d=0,yf=SF(k[le>>2]|0)|0,k[Ca>>2]=yf,(yf|0)!=0):0){yf=EI(k[Xb>>2]|0,k[(k[f>>2]|0)+(k[tb>>2]<<2)>>2]|0,k[Ca>>2]|0,((i[(k[Ab>>2]|0)+4>>0]|0)!=0^1)&1,k[Bc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;TF(k[(k[Bc>>2]|0)+16>>2]|0,k[le>>2]|0,k[Bc>>2]|0)|0;yf=(k[Bc>>2]|0)+8|0;j[yf>>1]=m[yf>>1]&-4097;break d}TF(40402,k[le>>2]|0,k[Bc>>2]|0)|0;break}case 95:{k[Qe>>2]=k[(k[pf>>2]|0)+16>>2];k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=k[Qe>>2]|0;k[Qe>>2]=yf+1;yf=i[yf>>0]|0;i[z>>0]=yf;if(!(yf<<24>>24))break d;Ox(k[Mc>>2]|0,i[z>>0]|0,i[F>>0]|0);k[Mc>>2]=(k[Mc>>2]|0)+40}}case 96:{yf=Ra;k[yf>>2]=0;k[yf+4>>2]=0;k[Xa>>2]=0;yf=db;k[yf>>2]=0;k[yf+4>>2]=0;k[Ua>>2]=k[(k[pf>>2]|0)+4>>2];k[Re>>2]=k[(k[pf>>2]|0)+16>>2];k[xc>>2]=(k[e>>2]|0)+((k[Ua>>2]|0)*40|0);k[Ua>>2]=k[(k[pf>>2]|0)+8>>2];k[Tc>>2]=(k[xc>>2]|0)+(((k[Ua>>2]|0)-1|0)*40|0);k[I>>2]=l[(k[qf>>2]|0)+88>>0];k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(k[Re>>2]|0){k[kd>>2]=k[xc>>2];do{wf=k[kd>>2]|0;k[kd>>2]=wf+40;yf=k[Re>>2]|0;k[Re>>2]=yf+1;Ox(wf,i[yf>>0]|0,i[F>>0]|0)}while((i[k[Re>>2]>>0]|0)!=0)}k[kd>>2]=k[Tc>>2];while(1){yf=GI(k[kd>>2]|0,k[I>>2]|0,Da)|0;k[je>>2]=yf;k[(k[kd>>2]|0)+28>>2]=yf;do if(m[(k[kd>>2]|0)+8>>1]&16384){yf=Ra;b=k[kd>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0)if(fh(b)|0){d=881;break a}else break;else{wf=k[b>>2]|0;yf=db;wf=GR(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=db;k[yf>>2]=wf;k[yf+4>>2]=L;k[Da>>2]=(k[Da>>2]|0)-(k[k[kd>>2]>>2]|0);break}}while(0);wf=Ra;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,k[Da>>2]|0,0)|0;yf=Ra;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[je>>2]|0)>>>0<=127)b=1;else b=XF(k[je>>2]|0,0)|0;k[Xa>>2]=(k[Xa>>2]|0)+b;if((k[kd>>2]|0)==(k[xc>>2]|0))break;k[kd>>2]=(k[kd>>2]|0)+-40}b=k[Xa>>2]|0;if((k[Xa>>2]|0)>126){wf=XF(b,((b|0)<0)<<31>>31)|0;k[cb>>2]=wf;k[Xa>>2]=(k[Xa>>2]|0)+(k[cb>>2]|0);wf=k[cb>>2]|0;yf=k[Xa>>2]|0;if((wf|0)<(XF(yf,((yf|0)<0)<<31>>31)|0))k[Xa>>2]=(k[Xa>>2]|0)+1}else k[Xa>>2]=b+1;a=k[Xa>>2]|0;wf=Ra;wf=GR(a|0,((a|0)<0)<<31>>31|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=Oa;k[a>>2]=wf;k[a+4>>2]=L;a=Oa;wf=db;wf=GR(k[a>>2]|0,k[a+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=L;yf=k[(k[rf>>2]|0)+92>>2]|0;c=((yf|0)<0)<<31>>31;if((a|0)>(c|0)|(a|0)==(c|0)&wf>>>0>yf>>>0){d=880;break c}if(Qx(k[gd>>2]|0,k[Oa>>2]|0)|0){d=881;break a}k[$e>>2]=k[(k[gd>>2]|0)+16>>2];if((k[Xa>>2]|0)>>>0<128){i[k[$e>>2]>>0]=k[Xa>>2];b=1}else{b=k[Xa>>2]|0;b=HI(k[$e>>2]|0,b,((b|0)<0)<<31>>31)|0}k[S>>2]=b&255;k[Ba>>2]=k[Xa>>2];k[kd>>2]=k[xc>>2];do{k[je>>2]=k[(k[kd>>2]|0)+28>>2];if((k[je>>2]|0)>>>0<128){i[(k[$e>>2]|0)+(k[S>>2]|0)>>0]=k[je>>2];b=1}else b=HI((k[$e>>2]|0)+(k[S>>2]|0)|0,k[je>>2]|0,0)|0;k[S>>2]=(k[S>>2]|0)+(b&255);yf=II((k[$e>>2]|0)+(k[Ba>>2]|0)|0,k[kd>>2]|0,k[je>>2]|0)|0;k[Ba>>2]=(k[Ba>>2]|0)+yf;yf=(k[kd>>2]|0)+40|0;k[kd>>2]=yf}while(yf>>>0<=(k[Tc>>2]|0)>>>0);k[(k[gd>>2]|0)+12>>2]=k[Oa>>2];j[(k[gd>>2]|0)+8>>1]=16;yf=db;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){k[k[gd>>2]>>2]=k[db>>2];yf=(k[gd>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|16384}i[(k[gd>>2]|0)+10>>0]=1;break}case 98:{k[Zb>>2]=k[(k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Sa;k[yf>>2]=0;k[yf+4>>2]=0;yf=JI(k[Zb>>2]|0,Sa)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;c=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=c;c=Sa;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 0:{k[pb>>2]=k[(k[pf>>2]|0)+4>>2];k[_e>>2]=k[(k[pf>>2]|0)+16>>2];do if(!(k[pb>>2]|0)){if((k[(k[rf>>2]|0)+160>>2]|0)>0){nI(k[qf>>2]|0,40410,ye);k[uf>>2]=5;break}yf=Tf(k[_e>>2]|0)|0;k[$a>>2]=yf;yf=KI(k[rf>>2]|0,0,(k[(k[rf>>2]|0)+436>>2]|0)+(k[(k[rf>>2]|0)+432>>2]|0)|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=$w(k[rf>>2]|0,32+(k[$a>>2]|0)+1|0,0)|0;k[fd>>2]=yf;if(k[fd>>2]|0){k[k[fd>>2]>>2]=(k[fd>>2]|0)+32;IR(k[k[fd>>2]>>2]|0,k[_e>>2]|0,(k[$a>>2]|0)+1|0)|0;b=k[rf>>2]|0;if(i[(k[rf>>2]|0)+67>>0]|0){i[b+67>>0]=0;i[(k[rf>>2]|0)+75>>0]=1}else{yf=b+432|0;k[yf>>2]=(k[yf>>2]|0)+1}k[(k[fd>>2]|0)+24>>2]=k[(k[rf>>2]|0)+424>>2];k[(k[rf>>2]|0)+424>>2]=k[fd>>2];yf=(k[rf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[fd>>2]|0)+8|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[rf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[fd>>2]|0)+16|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}}else{k[sa>>2]=0;k[nd>>2]=k[(k[rf>>2]|0)+424>>2];while(1){if(!(k[nd>>2]|0))break;if(!(sg(k[k[nd>>2]>>2]|0,k[_e>>2]|0)|0))break;k[sa>>2]=(k[sa>>2]|0)+1;k[nd>>2]=k[(k[nd>>2]|0)+24>>2]}if(!(k[nd>>2]|0)){yf=k[qf>>2]|0;k[ze>>2]=k[_e>>2];nI(yf,40461,ze);k[uf>>2]=1;break}if((k[pb>>2]|0)==1?(k[(k[rf>>2]|0)+160>>2]|0)>0:0){nI(k[qf>>2]|0,40483,Ae);k[uf>>2]=5;break}if(!(k[(k[nd>>2]|0)+24>>2]|0))b=(l[(k[rf>>2]|0)+75>>0]|0)!=0;else b=0;k[za>>2]=b&1;if(!((k[za>>2]|0)!=0&(k[pb>>2]|0)==1)){k[sa>>2]=(k[(k[rf>>2]|0)+432>>2]|0)-(k[sa>>2]|0)-1;g:do if((k[pb>>2]|0)==2){k[ya>>2]=(k[(k[rf>>2]|0)+24>>2]&2|0)!=0&1;k[va>>2]=0;while(1){if((k[va>>2]|0)>=(k[(k[rf>>2]|0)+20>>2]|0))break g;yf=LI(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[va>>2]<<4)+4>>2]|0,516,(k[ya>>2]|0)==0&1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[va>>2]=(k[va>>2]|0)+1}}else k[ya>>2]=0;while(0);k[va>>2]=0;while(1){if((k[va>>2]|0)>=(k[(k[rf>>2]|0)+20>>2]|0))break;yf=MI(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[va>>2]<<4)+4>>2]|0,k[pb>>2]|0,k[sa>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[va>>2]=(k[va>>2]|0)+1}if(k[ya>>2]|0){_h(k[rf>>2]|0);Lg(k[rf>>2]|0);k[(k[rf>>2]|0)+24>>2]=k[(k[rf>>2]|0)+24>>2]|2}}else{yf=rI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){d=879;break c}i[(k[rf>>2]|0)+67>>0]=1;if((oI(k[qf>>2]|0)|0)==5){d=364;break c}i[(k[rf>>2]|0)+75>>0]=0;k[uf>>2]=k[(k[qf>>2]|0)+80>>2]}while(1){if((k[(k[rf>>2]|0)+424>>2]|0)==(k[nd>>2]|0))break;k[rd>>2]=k[(k[rf>>2]|0)+424>>2];k[(k[rf>>2]|0)+424>>2]=k[(k[rd>>2]|0)+24>>2];bg(k[rf>>2]|0,k[rd>>2]|0);yf=(k[rf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}b=k[nd>>2]|0;if((k[pb>>2]|0)==1){k[(k[rf>>2]|0)+424>>2]=k[b+24>>2];bg(k[rf>>2]|0,k[nd>>2]|0);if(!(k[za>>2]|0)){yf=(k[rf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}}else{yf=b+8|0;wf=k[yf+4>>2]|0;c=(k[rf>>2]|0)+440|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[nd>>2]|0)+16|0;wf=k[c+4>>2]|0;yf=(k[rf>>2]|0)+448|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((k[za>>2]|0)==0|(k[pb>>2]|0)==2){yf=KI(k[rf>>2]|0,k[pb>>2]|0,k[sa>>2]|0)|0;k[uf>>2]=yf;if((k[uf>>2]|0)!=0|(k[uf>>2]|0)!=0)break a;else break d}}while(0);if(k[uf>>2]|0)break a;break}case 2:{if((k[(k[pf>>2]|0)+8>>2]|0)!=0?(k[(k[rf>>2]|0)+24>>2]&67108864|0)!=0:0){d=405;break c}k[wb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];if(k[wb>>2]|0){yf=yg(k[wb>>2]|0,k[(k[pf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;if((k[uf>>2]&255|0)==5){d=408;break c}if(k[uf>>2]|0)break a;do if((k[(k[pf>>2]|0)+8>>2]|0)!=0?((l[(k[qf>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){if((l[(k[rf>>2]|0)+67>>0]|0)!=0?(k[(k[rf>>2]|0)+156>>2]|0)<=1:0)break;if(!(k[(k[qf>>2]|0)+104>>2]|0)){yf=(k[rf>>2]|0)+436|0;k[yf>>2]=(k[yf>>2]|0)+1;k[(k[qf>>2]|0)+104>>2]=(k[(k[rf>>2]|0)+432>>2]|0)+(k[(k[rf>>2]|0)+436>>2]|0)}yf=KI(k[rf>>2]|0,0,(k[(k[qf>>2]|0)+104>>2]|0)-1|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=PI(k[wb>>2]|0,k[(k[qf>>2]|0)+104>>2]|0)|0;k[uf>>2]=yf}yf=(k[rf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[qf>>2]|0)+152|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[rf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[qf>>2]|0)+160|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);zg(k[wb>>2]|0,1,na);k[ja>>2]=k[(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{k[na>>2]=0;k[ja>>2]=0}do if(l[(k[pf>>2]|0)+3>>0]|0){if((k[na>>2]|0)==(k[(k[pf>>2]|0)+12>>2]|0)?(k[ja>>2]|0)==(k[(k[pf>>2]|0)+16>>2]|0):0)break;bg(k[rf>>2]|0,k[(k[qf>>2]|0)+44>>2]|0);yf=zh(k[rf>>2]|0,40724)|0;k[(k[qf>>2]|0)+44>>2]=yf;if((k[k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(k[na>>2]|0))Ej(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);yf=(k[qf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2|1;k[uf>>2]=17}while(0);if(k[uf>>2]|0)break a;break}case 99:{k[da>>2]=k[(k[pf>>2]|0)+4>>2];k[ca>>2]=k[(k[pf>>2]|0)+12>>2];zg(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[da>>2]<<4)+4>>2]|0,k[ca>>2]|0,oa);wf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=wf;wf=k[oa>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 100:{k[yc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);b=Kg(k[(k[yc>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,k[(k[pf>>2]|0)+12>>2]|0)|0;k[uf>>2]=b;b=k[pf>>2]|0;if((k[(k[pf>>2]|0)+8>>2]|0)!=1){if((k[b+8>>2]|0)==2)i[(k[(k[yc>>2]|0)+12>>2]|0)+76>>0]=k[(k[pf>>2]|0)+12>>2]}else{k[k[(k[yc>>2]|0)+12>>2]>>2]=k[b+12>>2];yf=(k[rf>>2]|0)+24|0;k[yf>>2]=k[yf>>2]|2}if((k[(k[pf>>2]|0)+4>>2]|0)==1){_h(k[rf>>2]|0);yf=(k[qf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2}if(k[uf>>2]|0)break a;break}case 101:{k[oc>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((k[oc>>2]|0)!=0?(k[(k[oc>>2]|0)+8>>2]|0)==(k[(k[pf>>2]|0)+8>>2]|0):0)d=452;else d=438;break}case 103:case 102:{d=438;break}case 105:case 104:{yf=QI(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,0)|0;k[tc>>2]=yf;if(!(k[tc>>2]|0)){d=881;break a}i[(k[tc>>2]|0)+2>>0]=1;yf=(k[tc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-2|1;yf=jk(k[k[rf>>2]>>2]|0,0,k[rf>>2]|0,(k[tc>>2]|0)+20|0,5|l[(k[pf>>2]|0)+3>>0],1054)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=yg(k[(k[tc>>2]|0)+20>>2]|0,1)|0;k[uf>>2]=yf}do if(!(k[uf>>2]|0)){yf=k[(k[pf>>2]|0)+16>>2]|0;k[Sc>>2]=yf;b=k[(k[tc>>2]|0)+20>>2]|0;if(!yf){yf=RI(b,1,4,0,k[(k[tc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;i[(k[tc>>2]|0)+4>>0]=1;break}yf=TI(b,Hd,2|l[(k[pf>>2]|0)+3>>0])|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){k[(k[tc>>2]|0)+24>>2]=k[Sc>>2];yf=RI(k[(k[tc>>2]|0)+20>>2]|0,k[Hd>>2]|0,4,k[Sc>>2]|0,k[(k[tc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf}i[(k[tc>>2]|0)+4>>0]=0}while(0);if(k[uf>>2]|0)break a;yf=(k[tc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-5|((l[(k[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 106:{yf=QI(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,1)|0;k[uc>>2]=yf;if(!(k[uc>>2]|0)){d=881;break a}k[(k[uc>>2]|0)+24>>2]=k[(k[pf>>2]|0)+16>>2];yf=UI(k[rf>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,k[uc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 107:{k[Bb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];c=(k[Bb>>2]|0)+32|0;yf=c;wf=k[yf>>2]|0;yf=k[yf+4>>2]|0;a=GR(wf|0,yf|0,1,0)|0;k[c>>2]=a;k[c+4>>2]=L;if((wf|0)==0&(yf|0)==0)d=14;break}case 108:{yf=QI(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,-1,3)|0;k[vc>>2]=yf;if(!(k[vc>>2]|0)){d=881;break a}i[(k[vc>>2]|0)+2>>0]=1;k[(k[vc>>2]|0)+16>>2]=k[(k[pf>>2]|0)+8>>2];i[(k[vc>>2]|0)+4>>0]=1;break}case 109:{VI(k[qf>>2]|0,k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0);k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{k[Cb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[hb>>2]=l[k[pf>>2]>>0];k[G>>2]=0;i[(k[Cb>>2]|0)+2>>0]=0;if(i[(k[Cb>>2]|0)+4>>0]|0){k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Oc>>2]|0)+8>>1]&14|0)==2)Jh(k[Oc>>2]|0,0);wf=jh(k[Oc>>2]|0)|0;yf=ka;k[yf>>2]=wf;k[yf+4>>2]=L;do if(!(m[(k[Oc>>2]|0)+8>>1]&4)){if(!(m[(k[Oc>>2]|0)+8>>1]&8)){d=14;break d}yf=ka;if(+p[k[Oc>>2]>>3]<+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)){if(k[hb>>2]&1)break;k[hb>>2]=(k[hb>>2]|0)+-1;break}yf=ka;if(+p[k[Oc>>2]>>3]>+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)?(k[hb>>2]&1|0)==1:0)k[hb>>2]=(k[hb>>2]|0)+1}while(0);c=ka;c=CF(k[(k[Cb>>2]|0)+16>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Td)|0;k[uf>>2]=c;c=ka;wf=k[c+4>>2]|0;yf=(k[Cb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(k[uf>>2]|0)break a;else d=489}else{if(WI(k[(k[Cb>>2]|0)+16>>2]|0,2)|0)k[G>>2]=1;k[Wa>>2]=k[(k[pf>>2]|0)+16>>2];k[Kd>>2]=k[(k[Cb>>2]|0)+24>>2];j[Kd+8>>1]=k[Wa>>2];i[Kd+10>>0]=(1&(k[hb>>2]|0)-23|0)!=0?-1:1;k[Kd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Kd+4>>2]|0)+8>>1]&16384)fh(k[Kd+4>>2]|0)|0;i[Kd+14>>0]=0;yf=CF(k[(k[Cb>>2]|0)+16>>2]|0,Kd,0,0,0,Td)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(!((k[G>>2]|0)!=0?(l[Kd+14>>0]|0)==0:0))d=489}do if((d|0)==489){d=0;i[(k[Cb>>2]|0)+3>>0]=0;k[(k[Cb>>2]|0)+56>>2]=0;b=k[Td>>2]|0;if((k[hb>>2]|0)>=25){if((b|0)>=0?!((k[Td>>2]|0)==0&(k[hb>>2]|0)==26):0){k[Td>>2]=0;break}k[Td>>2]=0;yf=pF(k[(k[Cb>>2]|0)+16>>2]|0,Td)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}else{if((b|0)<=0?!((k[Td>>2]|0)==0&(k[hb>>2]|0)==23):0){yf=XI(k[(k[Cb>>2]|0)+16>>2]|0)|0;k[Td>>2]=yf;break}k[Td>>2]=0;yf=qF(k[(k[Cb>>2]|0)+16>>2]|0,Td)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}}while(0);if(!(k[Td>>2]|0)){if(k[G>>2]|0)k[pf>>2]=(k[pf>>2]|0)+20}else d=14;break}case 31:case 30:case 29:{k[Db>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Jc>>2]=0;b=k[(k[Db>>2]|0)+24>>2]|0;if((k[(k[pf>>2]|0)+16>>2]|0)>0){k[Ld>>2]=b;j[Ld+8>>1]=k[(k[pf>>2]|0)+16>>2];k[Ld+4>>2]=k[Oc>>2];k[wa>>2]=0;while(1){if((k[wa>>2]|0)>=(m[Ld+8>>1]|0))break;if(m[(k[Ld+4>>2]|0)+((k[wa>>2]|0)*40|0)+8>>1]&16384)fh((k[Ld+4>>2]|0)+((k[wa>>2]|0)*40|0)|0)|0;k[wa>>2]=(k[wa>>2]|0)+1}k[Kc>>2]=Ld}else{yf=AF(b,o,183,Jc)|0;k[Kc>>2]=yf;if(!(k[Kc>>2]|0)){d=881;break a}if(m[(k[Oc>>2]|0)+8>>1]&16384)fh(k[Oc>>2]|0)|0;BF(k[(k[Db>>2]|0)+24>>2]|0,k[(k[Oc>>2]|0)+12>>2]|0,k[(k[Oc>>2]|0)+16>>2]|0,k[Kc>>2]|0)}i[(k[Kc>>2]|0)+10>>0]=0;k[oe>>2]=0;h:do if((l[k[pf>>2]>>0]|0)==29){k[wa>>2]=0;while(1){if((k[wa>>2]|0)>=(m[(k[Kc>>2]|0)+8>>1]|0))break h;if(m[(k[(k[Kc>>2]|0)+4>>2]|0)+((k[wa>>2]|0)*40|0)+8>>1]&1)break;k[wa>>2]=(k[wa>>2]|0)+1}k[oe>>2]=1}while(0);yf=CF(k[(k[Db>>2]|0)+16>>2]|0,k[Kc>>2]|0,0,0,0,Ud)|0;k[uf>>2]=yf;bg(k[rf>>2]|0,k[Jc>>2]|0);if(k[uf>>2]|0)break a;k[(k[Db>>2]|0)+28>>2]=k[Ud>>2];k[s>>2]=(k[Ud>>2]|0)==0&1;i[(k[Db>>2]|0)+2>>0]=1-(k[s>>2]|0);i[(k[Db>>2]|0)+3>>0]=0;k[(k[Db>>2]|0)+56>>2]=0;if((l[k[pf>>2]>>0]|0)==31)if(k[s>>2]|0){d=14;break d}else break d;else if((k[oe>>2]|0)==0&(k[s>>2]|0)!=0)break d;else{d=14;break d}}case 32:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Eb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[_b>>2]=k[(k[Eb>>2]|0)+16>>2];k[Vd>>2]=0;yf=k[Oc>>2]|0;wf=k[yf+4>>2]|0;c=la;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=la;c=CF(k[_b>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Vd)|0;k[uf>>2]=c;c=la;wf=k[c+4>>2]|0;yf=(k[Eb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[Eb>>2]|0)+2>>0]=0;k[(k[Eb>>2]|0)+56>>2]=0;i[(k[Eb>>2]|0)+3>>0]=0;k[(k[Eb>>2]|0)+28>>2]=k[Vd>>2];if(k[Vd>>2]|0){if(k[(k[pf>>2]|0)+8>>2]|0){d=14;break d}yf=Yj(80748)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a;break}case 111:{yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;yf=(k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;a=GR(c|0,wf|0,1,0)|0;k[yf>>2]=a;k[yf+4>>2]=L;yf=k[gd>>2]|0;k[yf>>2]=c;k[yf+4>>2]=wf;break}case 112:{yf=se;k[yf>>2]=0;k[yf+4>>2]=0;k[Wd>>2]=0;yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;k[Fb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];do if(!((l[(k[Fb>>2]|0)+5>>0]|0)>>>1&1)){yf=YI(k[(k[Fb>>2]|0)+16>>2]|0,Wd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Wd>>2]|0){yf=se;k[yf>>2]=1;k[yf+4>>2]=0;break}yf=PH(k[(k[Fb>>2]|0)+16>>2]|0,se)|0;k[uf>>2]=yf;yf=se;wf=k[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(k[yf>>2]|0)>>>0>=4294967295){yf=(k[Fb>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-3|2;break}else{wf=se;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=se;k[yf>>2]=wf;k[yf+4>>2]=L;break}}while(0);if(k[(k[pf>>2]|0)+12>>2]|0){if(k[(k[qf>>2]|0)+176>>2]|0){k[Fc>>2]=k[(k[qf>>2]|0)+176>>2];while(1){if(!(k[(k[Fc>>2]|0)+4>>2]|0))break;k[Fc>>2]=k[(k[Fc>>2]|0)+4>>2]}k[Vc>>2]=(k[(k[Fc>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)}else k[Vc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);Tx(k[Vc>>2]|0)|0;yf=k[Vc>>2]|0;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==2147483647:0){d=543;break c}if((l[(k[Fb>>2]|0)+5>>0]|0)>>>1&1){d=543;break c}a=se;wf=k[a>>2]|0;a=k[a+4>>2]|0;yf=k[Vc>>2]|0;yf=GR(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&wf>>>0>>0){wf=k[Vc>>2]|0;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=se;k[yf>>2]=wf;k[yf+4>>2]=L}c=se;wf=k[c+4>>2]|0;yf=k[Vc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((l[(k[Fb>>2]|0)+5>>0]|0)>>>1&1){k[B>>2]=0;do{ae(8,se);c=se;yf=k[c+4>>2]&1073741823;wf=se;k[wf>>2]=k[c>>2];k[wf+4>>2]=yf;wf=se;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=se;k[yf>>2]=wf;k[yf+4>>2]=L;yf=se;yf=CF(k[(k[Fb>>2]|0)+16>>2]|0,0,k[yf>>2]|0,k[yf+4>>2]|0,0,Wd)|0;k[uf>>2]=yf;if(!((yf|0)==0&(k[Wd>>2]|0)==0))break;yf=(k[B>>2]|0)+1|0;k[B>>2]=yf}while((yf|0)<100);if(k[uf>>2]|0)break a;if(!(k[Wd>>2]|0)){d=553;break c}}i[(k[Fb>>2]|0)+3>>0]=0;k[(k[Fb>>2]|0)+56>>2]=0;c=se;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 114:case 113:{k[lb>>2]=0;k[wc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Gb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];b=k[(k[pf>>2]|0)+12>>2]|0;if((l[k[pf>>2]>>0]|0)==113){k[Pc>>2]=(k[e>>2]|0)+(b*40|0);c=k[Pc>>2]|0;wf=k[c+4>>2]|0;yf=ma;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}else{yf=ma;k[yf>>2]=b;k[yf+4>>2]=((b|0)<0)<<31>>31}if((i[(k[pf>>2]|0)+1>>0]|0)==-20?(k[(k[rf>>2]|0)+216>>2]|0)!=0:0){k[Te>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(i[(k[Gb>>2]|0)+1>>0]<<4)>>2];k[od>>2]=k[(k[pf>>2]|0)+16>>2];k[lb>>2]=(l[(k[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{k[od>>2]=0;k[Te>>2]=0}if(l[(k[pf>>2]|0)+3>>0]&1){yf=(k[qf>>2]|0)+92|0;k[yf>>2]=(k[yf>>2]|0)+1}if(l[(k[pf>>2]|0)+3>>0]&2){wf=ma;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=sf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[rf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}if(m[(k[wc>>2]|0)+8>>1]&1){k[(k[wc>>2]|0)+16>>2]=0;k[(k[wc>>2]|0)+12>>2]=0}if(l[(k[pf>>2]|0)+3>>0]&16)b=k[(k[Gb>>2]|0)+28>>2]|0;else b=0;k[ie>>2]=b;if(m[(k[wc>>2]|0)+8>>1]&16384)k[eb>>2]=k[k[wc>>2]>>2];else k[eb>>2]=0;yf=ma;yf=ZI(k[(k[Gb>>2]|0)+16>>2]|0,0,k[yf>>2]|0,k[yf+4>>2]|0,k[(k[wc>>2]|0)+16>>2]|0,k[(k[wc>>2]|0)+12>>2]|0,k[eb>>2]|0,(l[(k[pf>>2]|0)+3>>0]&8|0)!=0&1,k[ie>>2]|0)|0;k[uf>>2]=yf;i[(k[Gb>>2]|0)+3>>0]=0;k[(k[Gb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if((k[lb>>2]|0)!=0?(k[(k[rf>>2]|0)+216>>2]|0)!=0:0){yf=ma;fc[k[(k[rf>>2]|0)+216>>2]&255](k[(k[rf>>2]|0)+212>>2]|0,k[lb>>2]|0,k[Te>>2]|0,k[k[od>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 115:{k[mb>>2]=k[(k[pf>>2]|0)+8>>2];k[Hb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((i[(k[pf>>2]|0)+1>>0]|0)==-20?(k[(k[rf>>2]|0)+216>>2]|0)!=0:0){k[Ue>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(i[(k[Hb>>2]|0)+1>>0]<<4)>>2];k[pd>>2]=k[(k[pf>>2]|0)+16>>2];if((l[(k[pf>>2]|0)+3>>0]&2|0)!=0?(l[(k[Hb>>2]|0)+4>>0]|0)!=0:0)PH(k[(k[Hb>>2]|0)+16>>2]|0,(k[Hb>>2]|0)+40|0)|0}else{k[Ue>>2]=0;k[pd>>2]=0}yf=_I(k[(k[Hb>>2]|0)+16>>2]|0,i[(k[pf>>2]|0)+3>>0]|0)|0;k[uf>>2]=yf;k[(k[Hb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if(((k[mb>>2]&1|0)!=0?(yf=(k[qf>>2]|0)+92|0,k[yf>>2]=(k[yf>>2]|0)+1,(k[(k[rf>>2]|0)+216>>2]|0)!=0):0)?(l[(k[pd>>2]|0)+42>>0]&32|0)==0:0){yf=(k[Hb>>2]|0)+40|0;fc[k[(k[rf>>2]|0)+216>>2]&255](k[(k[rf>>2]|0)+212>>2]|0,9,k[Ue>>2]|0,k[k[pd>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 116:{lI(k[rf>>2]|0,k[(k[qf>>2]|0)+92>>2]|0);k[(k[qf>>2]|0)+92>>2]=0;break}case 117:{k[Ib>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Za>>2]=k[(k[pf>>2]|0)+16>>2];k[Xd>>2]=0;yf=$I(k[Ib>>2]|0,k[Oc>>2]|0,k[Za>>2]|0,Xd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Xd>>2]|0)d=14;break}case 118:{k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Jb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];yf=aJ(k[Jb>>2]|0,k[gd>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[(k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 120:case 119:{k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Kb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[ac>>2]=k[(k[Kb>>2]|0)+16>>2];b=k[ac>>2]|0;if(l[(k[Kb>>2]|0)+4>>0]|0){CI(b,Ha)|0;if((k[Ha>>2]|0)>>>0>(k[(k[rf>>2]|0)+92>>2]|0)>>>0){d=880;break c}}else{PH(b,Ia)|0;wf=Ia;a=k[wf+4>>2]|0;yf=k[(k[rf>>2]|0)+92>>2]|0;c=((yf|0)<0)<<31>>31;if((a|0)>(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0>yf>>>0:0)){d=880;break c}k[Ha>>2]=k[Ia>>2]}if(Qx(k[gd>>2]|0,(k[Ha>>2]|0)>>>0>32?k[Ha>>2]|0:32)|0){d=881;break a}k[(k[gd>>2]|0)+12>>2]=k[Ha>>2];j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|16;b=k[ac>>2]|0;a=k[Ha>>2]|0;c=k[(k[gd>>2]|0)+16>>2]|0;if(!(l[(k[Kb>>2]|0)+4>>0]|0)){yf=QH(b,0,a,c)|0;k[uf>>2]=yf}else{yf=Yh(b,0,a,c)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a;i[(k[gd>>2]|0)+10>>0]=1;break}case 121:{yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;k[Lb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(i[(k[Lb>>2]|0)+2>>0]|0){j[(k[gd>>2]|0)+8>>1]=1;break d}b=k[Lb>>2]|0;do if(!(i[(k[Lb>>2]|0)+3>>0]|0)){a=k[Lb>>2]|0;if((l[b>>0]|0)==2){k[wd>>2]=k[k[a+16>>2]>>2];k[_c>>2]=k[k[wd>>2]>>2];yf=gc[k[(k[_c>>2]|0)+48>>2]&255](k[(k[Lb>>2]|0)+16>>2]|0,ve)|0;k[uf>>2]=yf;bJ(k[qf>>2]|0,k[wd>>2]|0);if(k[uf>>2]|0)break a;else break}yf=cJ(a)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Lb>>2]|0)+2>>0]|0){j[(k[gd>>2]|0)+8>>1]=1;break d}else{yf=PH(k[(k[Lb>>2]|0)+16>>2]|0,ve)|0;k[uf>>2]=yf;break}}else{c=b+40|0;wf=k[c+4>>2]|0;yf=ve;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);c=ve;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 122:{k[Mb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];i[(k[Mb>>2]|0)+2>>0]=1;k[(k[Mb>>2]|0)+56>>2]=0;if(!(l[k[Mb>>2]>>0]|0))MB(k[(k[Mb>>2]|0)+16>>2]|0);break}case 33:{k[Nb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[dc>>2]=k[(k[Nb>>2]|0)+16>>2];k[Yd>>2]=0;yf=YI(k[dc>>2]|0,Yd)|0;k[uf>>2]=yf;i[(k[Nb>>2]|0)+2>>0]=k[Yd>>2];i[(k[Nb>>2]|0)+3>>0]=0;k[(k[Nb>>2]|0)+56>>2]=0;k[(k[Nb>>2]|0)+28>>2]=k[(k[pf>>2]|0)+12>>2];if(k[uf>>2]|0)break a;if((k[Yd>>2]|0)!=0?(k[(k[pf>>2]|0)+8>>2]|0)>0:0)d=14;break}case 53:case 42:{d=(k[qf>>2]|0)+108+8|0;k[d>>2]=(k[d>>2]|0)+1;d=618;break}case 55:{d=618;break}case 3:{k[Pb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[_d>>2]=0;d=fJ(k[rf>>2]|0,k[Pb>>2]|0,_d)|0;k[uf>>2]=d;d=626;break}case 5:case 4:{if(k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)d=625;break}case 7:case 6:{d=625;break}case 124:case 123:{k[Qb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Nc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(l[(k[pf>>2]|0)+3>>0]&1){yf=(k[qf>>2]|0)+92|0;k[yf>>2]=(k[yf>>2]|0)+1}if(m[(k[Nc>>2]|0)+8>>1]&16384)b=fh(k[Nc>>2]|0)|0;else b=0;k[uf>>2]=b;if(k[uf>>2]|0)break a;if((l[k[pf>>2]>>0]|0)==123){yf=gJ(k[Qb>>2]|0,k[Nc>>2]|0)|0;k[uf>>2]=yf}else{k[Ya>>2]=k[(k[Nc>>2]|0)+12>>2];k[Ye>>2]=k[(k[Nc>>2]|0)+16>>2];b=k[Ya>>2]|0;if(l[(k[pf>>2]|0)+3>>0]&16)a=k[(k[Qb>>2]|0)+28>>2]|0;else a=0;yf=ZI(k[(k[Qb>>2]|0)+16>>2]|0,k[Ye>>2]|0,b,((b|0)<0)<<31>>31,19018,0,0,k[(k[pf>>2]|0)+12>>2]|0,a)|0;k[uf>>2]=yf;k[(k[Qb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;break}case 125:{k[Rb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[jc>>2]=k[(k[Rb>>2]|0)+16>>2];k[Md>>2]=k[(k[Rb>>2]|0)+24>>2];j[Md+8>>1]=k[(k[pf>>2]|0)+12>>2];i[Md+10>>0]=0;k[Md+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);yf=CF(k[jc>>2]|0,Md,0,0,0,be)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((k[be>>2]|0)==0?(yf=_I(k[jc>>2]|0,4)|0,k[uf>>2]=yf,(k[uf>>2]|0)!=0):0)break a;k[(k[Rb>>2]|0)+56>>2]=0;break}case 127:case 126:{k[Sb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];yf=cJ(k[Sb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Sb>>2]|0)+2>>0]|0){rh((k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=de;k[yf>>2]=0;k[yf+4>>2]=0;yf=hJ(k[rf>>2]|0,k[(k[Sb>>2]|0)+16>>2]|0,de)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((l[k[pf>>2]>>0]|0)==126){k[qd>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2];i[(k[qd>>2]|0)+2>>0]=0;c=de;wf=k[c+4>>2]|0;yf=(k[qd>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[qd>>2]|0)+3>>0]=1;k[(k[qd>>2]|0)+52>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[qd>>2]|0)+48>>2]=k[Sb>>2];break d}else{c=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=c;c=de;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[gd>>2]|0)+8>>1]=4;break d}}case 59:case 58:case 57:case 56:{k[Tb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Nd>>2]=k[(k[Tb>>2]|0)+24>>2];j[Nd+8>>1]=k[(k[pf>>2]|0)+16>>2];b=Nd+10|0;if((l[k[pf>>2]>>0]|0)<58)i[b>>0]=-1;else i[b>>0]=0;k[Nd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[ce>>2]=0;b=iJ(k[rf>>2]|0,k[Tb>>2]|0,Nd,ce)|0;k[uf>>2]=b;b=k[ce>>2]|0;if(!(l[k[pf>>2]>>0]&1))k[ce>>2]=0-b;else k[ce>>2]=b+1;if(k[uf>>2]|0)break a;if((k[ce>>2]|0)>0)d=14;break}case 128:{yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;j[(k[gd>>2]|0)+8>>1]=1;if((k[(k[rf>>2]|0)+156>>2]|0)>((k[(k[rf>>2]|0)+168>>2]|0)+1|0)){d=661;break c}k[fa>>2]=k[(k[pf>>2]|0)+12>>2];k[pa>>2]=0;wf=jJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[fa>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,pa)|0;k[uf>>2]=wf;j[(k[gd>>2]|0)+8>>1]=4;wf=k[pa>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;if(k[uf>>2]|0)break a;if(k[pa>>2]|0){kJ(k[rf>>2]|0,k[fa>>2]|0,k[pa>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);i[ef>>0]=(k[fa>>2]|0)+1}break}case 129:{k[Qa>>2]=0;yf=lJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+8>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,(k[(k[pf>>2]|0)+12>>2]|0)!=0?Qa:0)|0;k[uf>>2]=yf;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(yf=(k[qf>>2]|0)+92|0,k[yf>>2]=(k[yf>>2]|0)+(k[Qa>>2]|0),(k[(k[pf>>2]|0)+12>>2]|0)>0):0){wf=k[Qa>>2]|0;yf=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0;c=yf;wf=GR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L}if(k[uf>>2]|0)break a;break}case 130:{k[Ub>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((l[k[Ub>>2]>>0]|0)!=1){yf=nJ(k[(k[Ub>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break d}else{mJ(k[rf>>2]|0,k[(k[Ub>>2]|0)+16>>2]|0);break d}}case 132:case 131:{yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;k[Id>>2]=0;k[Ac>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);if((l[k[pf>>2]>>0]|0)==132)k[N>>2]=1;else k[N>>2]=2;yf=TI(k[(k[Ac>>2]|0)+4>>2]|0,Id,k[N>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;wf=k[Id>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 134:{k[ha>>2]=k[(k[pf>>2]|0)+4>>2];k[Ze>>2]=(k[ha>>2]|0)==1?20521:20540;k[xa>>2]=k[rf>>2];k[xa+8>>2]=k[(k[pf>>2]|0)+4>>2];k[xa+4>>2]=(k[qf>>2]|0)+44;yf=k[rf>>2]|0;c=k[Ze>>2]|0;wf=k[(k[pf>>2]|0)+16>>2]|0;k[Ce>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ha>>2]<<4)>>2];k[Ce+4>>2]=c;k[Ce+8>>2]=wf;yf=Oh(yf,40752,Ce)|0;k[af>>2]=yf;if(!(k[af>>2]|0))k[uf>>2]=7;else{i[(k[rf>>2]|0)+144+5>>0]=1;k[xa+12>>2]=0;yf=kf(k[rf>>2]|0,k[af>>2]|0,140,xa,0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))k[uf>>2]=k[xa+12>>2];bg(k[rf>>2]|0,k[af>>2]|0);i[(k[rf>>2]|0)+144+5>>0]=0}if(k[uf>>2]|0){d=683;break c}break}case 135:{yf=Nj(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 136:{oJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 137:{pJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 138:{qJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 139:{k[bb>>2]=k[(k[pf>>2]|0)+8>>2];k[n>>2]=k[(k[pf>>2]|0)+16>>2];k[Jd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);wf=rJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(l[(k[pf>>2]|0)+3>>0]<<4)+4>>2]|0,k[n>>2]|0,k[bb>>2]|0,k[k[Jd>>2]>>2]|0,Ta)|0;k[Ne>>2]=wf;wf=k[Ta>>2]|0;yf=k[Jd>>2]|0;c=yf;wf=FR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;rh(k[Mc>>2]|0);if(k[Ta>>2]|0){if(!(k[Ne>>2]|0)){d=881;break a}ph(k[Mc>>2]|0,k[Ne>>2]|0,-1,1,148)|0}qu(k[Mc>>2]|0,l[F>>0]|0)|0;break}case 140:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Nc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]&32|0)==0?(sJ(k[Mc>>2]|0),(m[(k[Mc>>2]|0)+8>>1]&32|0)==0):0){d=881;break a}yf=k[Nc>>2]|0;tJ(k[k[Mc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0);break}case 60:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]&32|0)!=0?(uJ(k[k[Mc>>2]>>2]|0,we)|0)!=0:0){d=we;qh((k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0,k[d>>2]|0,k[d+4>>2]|0);d=8;break d}rh(k[Mc>>2]|0);d=7;break}case 61:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[ta>>2]=k[(k[pf>>2]|0)+16>>2];if((m[(k[Mc>>2]|0)+8>>1]&32|0)==0?(sJ(k[Mc>>2]|0),(m[(k[Mc>>2]|0)+8>>1]&32|0)==0):0){d=881;break a}if((k[ta>>2]|0)!=0?(yf=k[Oc>>2]|0,yf=vJ(k[k[Mc>>2]>>2]|0,k[ta>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0,k[H>>2]=yf,(k[H>>2]|0)!=0):0){d=14;break d}if((k[ta>>2]|0)>=0){yf=k[Oc>>2]|0;tJ(k[k[Mc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 62:{k[id>>2]=k[(k[pf>>2]|0)+16>>2];k[md>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[pf>>2]|0)+3>>0]|0){k[me>>2]=k[(k[id>>2]|0)+20>>2];k[Gc>>2]=k[(k[qf>>2]|0)+176>>2];while(1){if(!(k[Gc>>2]|0))break;if((k[(k[Gc>>2]|0)+28>>2]|0)==(k[me>>2]|0))break;k[Gc>>2]=k[(k[Gc>>2]|0)+4>>2]}if(k[Gc>>2]|0)break d}if((k[(k[qf>>2]|0)+184>>2]|0)>=(k[(k[rf>>2]|0)+92+40>>2]|0)){d=712;break c}i:do if(!(m[(k[md>>2]|0)+8>>1]&64)){k[_a>>2]=(k[(k[id>>2]|0)+8>>2]|0)+(k[(k[id>>2]|0)+12>>2]|0);if(!(k[(k[id>>2]|0)+12>>2]|0))k[_a>>2]=(k[_a>>2]|0)+1;k[Pa>>2]=80+((k[_a>>2]|0)*40|0)+(k[(k[id>>2]|0)+12>>2]<<2)+(k[(k[id>>2]|0)+16>>2]|0);yf=k[Pa>>2]|0;yf=Bh(k[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;k[Gc>>2]=yf;if(!(k[Gc>>2]|0)){d=881;break a}eh(k[md>>2]|0);j[(k[md>>2]|0)+8>>1]=64;k[k[md>>2]>>2]=k[Gc>>2];k[k[Gc>>2]>>2]=k[qf>>2];k[(k[Gc>>2]|0)+64>>2]=k[_a>>2];k[(k[Gc>>2]|0)+68>>2]=k[(k[id>>2]|0)+12>>2];k[(k[Gc>>2]|0)+48>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[Gc>>2]|0)+16>>2]=k[(k[qf>>2]|0)+8>>2];k[(k[Gc>>2]|0)+56>>2]=k[(k[qf>>2]|0)+28>>2];k[(k[Gc>>2]|0)+24>>2]=k[(k[qf>>2]|0)+56>>2];k[(k[Gc>>2]|0)+44>>2]=k[(k[qf>>2]|0)+36>>2];k[(k[Gc>>2]|0)+8>>2]=k[(k[qf>>2]|0)+4>>2];k[(k[Gc>>2]|0)+52>>2]=k[(k[qf>>2]|0)+32>>2];k[(k[Gc>>2]|0)+28>>2]=k[(k[id>>2]|0)+20>>2];k[(k[Gc>>2]|0)+20>>2]=k[(k[qf>>2]|0)+200>>2];k[(k[Gc>>2]|0)+60>>2]=k[(k[qf>>2]|0)+196>>2];k[Dc>>2]=(k[Gc>>2]|0)+80+((k[(k[Gc>>2]|0)+64>>2]|0)*40|0);k[Wc>>2]=(k[Gc>>2]|0)+80;while(1){if((k[Wc>>2]|0)==(k[Dc>>2]|0))break i;j[(k[Wc>>2]|0)+8>>1]=128;k[(k[Wc>>2]|0)+32>>2]=k[rf>>2];k[Wc>>2]=(k[Wc>>2]|0)+40}}else k[Gc>>2]=k[k[md>>2]>>2];while(0);c=(k[qf>>2]|0)+184|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[Gc>>2]|0)+4>>2]=k[(k[qf>>2]|0)+176>>2];c=sf;wf=k[c+4>>2]|0;yf=(k[Gc>>2]|0)+32|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;k[(k[Gc>>2]|0)+72>>2]=k[(k[qf>>2]|0)+92>>2];k[(k[Gc>>2]|0)+76>>2]=k[(k[k[qf>>2]>>2]|0)+84>>2];k[(k[Gc>>2]|0)+40>>2]=k[(k[qf>>2]|0)+204>>2];k[(k[qf>>2]|0)+204>>2]=0;k[(k[qf>>2]|0)+92>>2]=0;k[(k[qf>>2]|0)+176>>2]=k[Gc>>2];yf=(k[Gc>>2]|0)+80|0;k[e>>2]=yf;k[(k[qf>>2]|0)+8>>2]=yf;k[(k[qf>>2]|0)+28>>2]=k[(k[Gc>>2]|0)+64>>2];k[(k[qf>>2]|0)+36>>2]=k[(k[Gc>>2]|0)+68>>2]&65535;k[(k[qf>>2]|0)+56>>2]=(k[e>>2]|0)+((k[(k[qf>>2]|0)+28>>2]|0)*40|0);yf=k[k[id>>2]>>2]|0;k[df>>2]=yf;k[(k[qf>>2]|0)+4>>2]=yf;k[(k[qf>>2]|0)+32>>2]=k[(k[id>>2]|0)+4>>2];k[(k[qf>>2]|0)+200>>2]=(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[qf>>2]|0)+36>>2]<<2);k[(k[qf>>2]|0)+196>>2]=k[(k[id>>2]|0)+16>>2];k[pf>>2]=(k[df>>2]|0)+-20;KR(k[(k[qf>>2]|0)+200>>2]|0,0,k[(k[qf>>2]|0)+196>>2]|0)|0;break}case 141:{yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;k[Hc>>2]=k[(k[qf>>2]|0)+176>>2];k[Lc>>2]=(k[(k[Hc>>2]|0)+16>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)+(k[(k[(k[Hc>>2]|0)+8>>2]|0)+((k[(k[Hc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);ZF(k[gd>>2]|0,k[Lc>>2]|0,4096);break}case 142:{b=k[pf>>2]|0;if(k[(k[rf>>2]|0)+24>>2]&33554432){wf=k[b+8>>2]|0;yf=(k[rf>>2]|0)+448|0;c=yf;wf=GR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}a=k[(k[pf>>2]|0)+8>>2]|0;c=((a|0)<0)<<31>>31;if(k[b+4>>2]|0){yf=(k[rf>>2]|0)+440|0;wf=yf;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}else{yf=(k[qf>>2]|0)+144|0;wf=yf;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}}case 63:if(k[(k[pf>>2]|0)+4>>2]|0){yf=(k[rf>>2]|0)+440|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[rf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}else{yf=(k[qf>>2]|0)+144|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[rf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}case 143:{if(k[(k[qf>>2]|0)+176>>2]|0){k[Ic>>2]=k[(k[qf>>2]|0)+176>>2];while(1){if(!(k[(k[Ic>>2]|0)+4>>2]|0))break;k[Ic>>2]=k[(k[Ic>>2]|0)+4>>2]}k[Mc>>2]=(k[(k[Ic>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)}else k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Tx(k[Mc>>2]|0)|0;k[Nc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);Tx(k[Nc>>2]|0)|0;wf=k[Mc>>2]|0;a=k[wf+4>>2]|0;yf=k[Nc>>2]|0;c=k[yf+4>>2]|0;if((a|0)<(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0<(k[yf>>2]|0)>>>0:0)){c=k[Nc>>2]|0;wf=k[c+4>>2]|0;yf=k[Mc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}break}case 64:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Mc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){yf=k[(k[pf>>2]|0)+12>>2]|0;d=k[Mc>>2]|0;wf=d;yf=FR(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 144:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;yf=k[Mc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(k[yf>>2]|0)>>>0<=0){b=-1;a=-1}else{b=k[Mc>>2]|0;yf=k[Oc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){c=k[Oc>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0}else{a=0;c=0}b=GR(k[b>>2]|0,k[b+4>>2]|0,a|0,c|0)|0;a=L}yf=k[gd>>2]|0;k[yf>>2]=b;k[yf+4>>2]=a;break}case 65:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Mc>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){yf=k[(k[pf>>2]|0)+12>>2]|0;d=k[Mc>>2]|0;wf=d;yf=FR(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 66:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Mc>>2]|0;wf=yf;wf=GR(k[wf>>2]|0,k[wf+4>>2]|0,-1,-1)|0;k[yf>>2]=wf;k[yf+4>>2]=L;yf=k[Mc>>2]|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)d=14;break}case 145:{k[Ka>>2]=l[(k[pf>>2]|0)+3>>0];yf=$w(k[rf>>2]|0,32+((k[Ka>>2]|0)-1<<2)|0,0)|0;k[mc>>2]=yf;if(!(k[mc>>2]|0)){d=881;break a}k[(k[mc>>2]|0)+8>>2]=0;k[(k[mc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[mc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[mc>>2]|0)+12>>2]=k[qf>>2];i[(k[mc>>2]|0)+26>>0]=k[Ka>>2];i[(k[pf>>2]|0)+1>>0]=-21;k[(k[pf>>2]|0)+16>>2]=k[mc>>2];i[k[pf>>2]>>0]=-110;d=753;break}case 146:{d=753;break}case 147:{k[Yc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=aG(k[Yc>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=765;break c}qu(k[Yc>>2]|0,l[F>>0]|0)|0;if(qI(k[Yc>>2]|0)|0){d=880;break c}break}case 8:{k[h>>2]=0;k[h+8>>2]=-1;k[h+4>>2]=-1;yf=wi(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,h+4|0,h+8|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=5)break a;k[uf>>2]=0;k[h>>2]=1}k[Y>>2]=0;k[Zc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((k[Y>>2]|0)>=3)break d;yf=k[h+(k[Y>>2]<<2)>>2]|0;qh(k[Zc>>2]|0,yf,((yf|0)<0)<<31>>31);k[Y>>2]=(k[Y>>2]|0)+1;k[Zc>>2]=(k[Zc>>2]|0)+40}}case 9:{yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;k[D>>2]=k[(k[pf>>2]|0)+12>>2];k[zb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];yf=Zf(k[zb>>2]|0)|0;k[hd>>2]=yf;yf=Cg(k[hd>>2]|0)|0;k[E>>2]=yf;if((k[D>>2]|0)==-1)k[D>>2]=k[E>>2];if(!(wJ(k[hd>>2]|0)|0))k[D>>2]=k[E>>2];yf=Si(k[hd>>2]|0,1)|0;k[We>>2]=yf;do if((k[D>>2]|0)==5){if((Tf(k[We>>2]|0)|0)!=0?(xJ(k[hd>>2]|0)|0)!=0:0)break;k[D>>2]=k[E>>2]}while(0);if((k[D>>2]|0)!=(k[E>>2]|0)?(k[E>>2]|0)==5|(k[D>>2]|0)==5:0){if(!(i[(k[rf>>2]|0)+67>>0]|0)){d=785;break c}if((k[(k[rf>>2]|0)+156>>2]|0)>1){d=785;break c}if((k[E>>2]|0)==5){yf=yJ(k[hd>>2]|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))zJ(k[hd>>2]|0,k[D>>2]|0)|0}else if((k[E>>2]|0)==4)zJ(k[hd>>2]|0,2)|0;if(!(k[uf>>2]|0)){yf=Mg(k[zb>>2]|0,(k[D>>2]|0)==5?2:1)|0;k[uf>>2]=yf}}if(k[uf>>2]|0)k[D>>2]=k[E>>2];yf=zJ(k[hd>>2]|0,k[D>>2]|0)|0;k[D>>2]=yf;j[(k[gd>>2]|0)+8>>1]=2562;yf=mC(k[D>>2]|0)|0;k[(k[gd>>2]|0)+16>>2]=yf;yf=Tf(k[(k[gd>>2]|0)+16>>2]|0)|0;k[(k[gd>>2]|0)+12>>2]=yf;i[(k[gd>>2]|0)+10>>0]=1;qu(k[gd>>2]|0,l[F>>0]|0)|0;if(k[uf>>2]|0)break a;break}case 10:{yf=AJ((k[qf>>2]|0)+44|0,k[rf>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 67:{k[xb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];yf=BJ(k[xb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=101)break a;k[uf>>2]=0;d=14}break}case 148:if(k[(k[pf>>2]|0)+4>>2]|0){yf=(k[qf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2|1;break d}else{_h(k[rf>>2]|0);break d}case 149:{i[Aa>>0]=k[(k[pf>>2]|0)+12>>2];if((l[Aa>>0]|0)==0?0!=(k[(k[rf>>2]|0)+24>>2]&16384|0):0)break d;k[ob>>2]=k[(k[pf>>2]|0)+4>>2];yf=CJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ob>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,i[Aa>>0]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=806;break c}break}case 150:{k[ud>>2]=k[(k[pf>>2]|0)+16>>2];yf=DJ(k[rf>>2]|0,k[ud>>2]|0)|0;k[uf>>2]=yf;if(k[ud>>2]|0)bJ(k[qf>>2]|0,k[(k[ud>>2]|0)+8>>2]|0);if(k[uf>>2]|0)break a;break}case 151:{b=he;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[he+32>>2]=k[rf>>2];yf=sh(he,(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;k[uf>>2]=yf;yf=ke(he)|0;k[bf>>2]=yf;if(k[bf>>2]|0){yf=EJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[bf>>2]|0,(k[qf>>2]|0)+44|0)|0;k[uf>>2]=yf}eh(he);if(k[uf>>2]|0)break a;break}case 152:{yf=(k[rf>>2]|0)+168|0;k[yf>>2]=(k[yf>>2]|0)+1;yf=FJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;yf=(k[rf>>2]|0)+168|0;k[yf>>2]=(k[yf>>2]|0)+-1;if(k[uf>>2]|0)break a;break}case 153:{k[pc>>2]=0;k[sd>>2]=0;k[xd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if(!(k[xd>>2]|0)){d=817;break c}if(!(k[k[xd>>2]>>2]|0)){d=817;break c}k[$c>>2]=k[k[xd>>2]>>2];yf=gc[k[(k[$c>>2]|0)+24>>2]&255](k[xd>>2]|0,sd)|0;k[uf>>2]=yf;bJ(k[qf>>2]|0,k[xd>>2]|0);if(k[uf>>2]|0)break a;k[k[sd>>2]>>2]=k[xd>>2];yf=QI(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,-1,2)|0;k[pc>>2]=yf;if(!(k[pc>>2]|0)){d=821;break c}k[(k[pc>>2]|0)+16>>2]=k[sd>>2];yf=(k[xd>>2]|0)+4|0;k[yf>>2]=(k[yf>>2]|0)+1;break}case 11:{k[jd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[vb>>2]=(k[jd>>2]|0)+40;k[qc>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[td>>2]=k[(k[qc>>2]|0)+16>>2];k[yd>>2]=k[k[td>>2]>>2];k[ad>>2]=k[k[yd>>2]>>2];k[La>>2]=k[k[vb>>2]>>2];k[qa>>2]=k[k[jd>>2]>>2];k[Rd>>2]=0;k[t>>2]=k[(k[qf>>2]|0)+12>>2];k[P>>2]=0;while(1){if((k[P>>2]|0)>=(k[La>>2]|0))break;k[(k[t>>2]|0)+(k[P>>2]<<2)>>2]=(k[vb>>2]|0)+(((k[P>>2]|0)+1|0)*40|0);k[P>>2]=(k[P>>2]|0)+1}yf=hc[k[(k[ad>>2]|0)+32>>2]&255](k[td>>2]|0,k[qa>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[La>>2]|0,k[t>>2]|0)|0;k[uf>>2]=yf;bJ(k[qf>>2]|0,k[yd>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[ad>>2]|0)+40>>2]&255](k[td>>2]|0)|0;k[Rd>>2]=yf;i[(k[qc>>2]|0)+2>>0]=0;if(k[Rd>>2]|0)d=14;break}case 154:{k[rc>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Cc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[rc>>2]|0)+2>>0]|0){rh(k[Cc>>2]|0);break d}k[zd>>2]=k[k[(k[rc>>2]|0)+16>>2]>>2];k[bd>>2]=k[k[zd>>2]>>2];k[fe>>2]=0;k[fe+4>>2]=0;k[fe+8>>2]=0;k[fe+12>>2]=0;k[fe+16>>2]=0;k[fe+20>>2]=0;k[fe+24>>2]=0;k[fe+28>>2]=0;k[fe>>2]=k[Cc>>2];j[(k[Cc>>2]|0)+8>>1]=m[(k[Cc>>2]|0)+8>>1]&-49664|1;yf=Yb[k[(k[bd>>2]|0)+44>>2]&255](k[(k[rc>>2]|0)+16>>2]|0,fe,k[(k[pf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;bJ(k[qf>>2]|0,k[zd>>2]|0);if(k[fe+20>>2]|0)k[uf>>2]=k[fe+20>>2];qu(k[Cc>>2]|0,l[F>>0]|0)|0;if(qI(k[Cc>>2]|0)|0){d=880;break c}if(k[uf>>2]|0)break a;break}case 68:{k[Sd>>2]=0;k[sc>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(!(i[(k[sc>>2]|0)+2>>0]|0)){k[Ad>>2]=k[k[(k[sc>>2]|0)+16>>2]>>2];k[cd>>2]=k[k[Ad>>2]>>2];yf=bc[k[(k[cd>>2]|0)+36>>2]&255](k[(k[sc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;bJ(k[qf>>2]|0,k[Ad>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[cd>>2]|0)+40>>2]&255](k[(k[sc>>2]|0)+16>>2]|0)|0;k[Sd>>2]=yf;if(k[Sd>>2]|0)d=8;else d=7}break}case 155:{k[Bd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];k[ed>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=qu(k[ed>>2]|0,1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=gc[k[(k[k[Bd>>2]>>2]|0)+76>>2]&255](k[Bd>>2]|0,k[(k[ed>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;bJ(k[qf>>2]|0,k[Bd>>2]|0);yf=(k[qf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2;if(k[uf>>2]|0)break a;break}case 12:{k[Cd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if(!(k[Cd>>2]|0)){d=840;break c}if(!(k[k[Cd>>2]>>2]|0)){d=840;break c}k[dd>>2]=k[k[Cd>>2]>>2];k[Ma>>2]=k[(k[pf>>2]|0)+8>>2];if(k[(k[dd>>2]|0)+52>>2]|0){i[Le>>0]=i[(k[rf>>2]|0)+74>>0]|0;k[u>>2]=k[(k[qf>>2]|0)+12>>2];k[Ed>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[Ma>>2]|0))break;k[(k[u>>2]|0)+(k[R>>2]<<2)>>2]=k[Ed>>2];k[Ed>>2]=(k[Ed>>2]|0)+40;k[R>>2]=(k[R>>2]|0)+1}i[(k[rf>>2]|0)+74>>0]=i[(k[pf>>2]|0)+3>>0]|0;yf=ec[k[(k[dd>>2]|0)+52>>2]&255](k[Cd>>2]|0,k[Ma>>2]|0,k[u>>2]|0,ee)|0;k[uf>>2]=yf;i[(k[rf>>2]|0)+74>>0]=i[Le>>0]|0;bJ(k[qf>>2]|0,k[Cd>>2]|0);if((k[uf>>2]|0)==0?(k[(k[pf>>2]|0)+4>>2]|0)!=0:0){wf=ee;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=sf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[rf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}do if((k[uf>>2]&255|0)==19?(l[(k[(k[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((l[(k[pf>>2]|0)+3>>0]|0)==4){k[uf>>2]=0;break}if((l[(k[pf>>2]|0)+3>>0]|0)==5)b=2;else b=l[(k[pf>>2]|0)+3>>0]|0;i[(k[qf>>2]|0)+86>>0]=b}else d=855;while(0);if((d|0)==855){d=0;yf=(k[qf>>2]|0)+92|0;k[yf>>2]=(k[yf>>2]|0)+1}if(k[uf>>2]|0)break a}break}case 156:{wf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=wf;wf=Dg(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=0;break}case 157:{yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;k[yb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];k[fb>>2]=0;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(yf=Dg(k[yb>>2]|0)|0,k[fb>>2]=yf,(k[fb>>2]|0)>>>0<(k[(k[pf>>2]|0)+12>>2]|0)>>>0):0)k[fb>>2]=k[(k[pf>>2]|0)+12>>2];wf=GJ(k[yb>>2]|0,k[fb>>2]|0)|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 69:{if((k[(k[rf>>2]|0)+180>>2]|0)!=0?((l[(k[qf>>2]|0)+87>>0]|0)>>>1&1|0)==0:0){if(k[(k[pf>>2]|0)+16>>2]|0)b=k[(k[pf>>2]|0)+16>>2]|0;else b=k[(k[qf>>2]|0)+168>>2]|0;k[cf>>2]=b;if(b){yf=HJ(k[qf>>2]|0,k[cf>>2]|0)|0;k[Pe>>2]=yf;$b[k[(k[rf>>2]|0)+180>>2]&255](k[(k[rf>>2]|0)+184>>2]|0,k[Pe>>2]|0);bg(k[rf>>2]|0,k[Pe>>2]|0)}}if(k[(k[pf>>2]|0)+8>>2]|0)d=14;break}default:{}}while(0);if((d|0)==20){d=0;k[jf>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;if(k[(k[pf>>2]|0)+4>>2]|0){d=25;break}if(!(k[(k[qf>>2]|0)+176>>2]|0)){d=25;break}k[Ec>>2]=k[(k[qf>>2]|0)+176>>2];k[(k[qf>>2]|0)+176>>2]=k[(k[Ec>>2]|0)+4>>2];c=(k[qf>>2]|0)+184|0;k[c>>2]=(k[c>>2]|0)+-1;lI(k[rf>>2]|0,k[(k[qf>>2]|0)+92>>2]|0);c=mI(k[Ec>>2]|0)|0;k[jf>>2]=c;c=(k[rf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=sf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if((k[(k[pf>>2]|0)+8>>2]|0)==4)k[jf>>2]=(k[(k[(k[qf>>2]|0)+4>>2]|0)+((k[jf>>2]|0)*20|0)+8>>2]|0)-1;k[df>>2]=k[(k[qf>>2]|0)+4>>2];k[e>>2]=k[(k[qf>>2]|0)+8>>2];k[pf>>2]=(k[df>>2]|0)+((k[jf>>2]|0)*20|0)}else if((d|0)==43){d=0;yf=pI(k[qf>>2]|0,k[pf>>2]|0)|0;k[gd>>2]=yf;j[(k[gd>>2]|0)+8>>1]=2562;k[(k[gd>>2]|0)+16>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[gd>>2]|0)+12>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[gd>>2]|0)+10>>0]=i[F>>0]|0;if((k[(k[pf>>2]|0)+12>>2]|0)>0?(k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0),yf=k[Oc>>2]|0,(k[yf+4>>2]|0)==0?(k[yf>>2]|0)==(l[(k[pf>>2]|0)+3>>0]|0):0):0)j[(k[gd>>2]|0)+8>>1]=2576}else if((d|0)==124){d=0;k[lc>>2]=k[(k[pf>>2]|0)+16>>2];k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j:do if((k[k[lc>>2]>>2]|0)!=(k[gd>>2]|0)){k[k[lc>>2]>>2]=k[gd>>2];k[T>>2]=(l[(k[lc>>2]|0)+26>>0]|0)-1;while(1){if((k[T>>2]|0)<0)break j;k[(k[lc>>2]|0)+28+(k[T>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[T>>2]|0)|0)*40|0);k[T>>2]=(k[T>>2]|0)+-1}}while(0);j[(k[k[lc>>2]>>2]|0)+8>>1]=m[(k[k[lc>>2]>>2]|0)+8>>1]&-49664|1;i[(k[lc>>2]|0)+25>>0]=0;yf=sf;wf=k[yf+4>>2]|0;c=(k[rf>>2]|0)+32|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;cc[k[(k[(k[lc>>2]|0)+4>>2]|0)+12>>2]&255](k[lc>>2]|0,l[(k[lc>>2]|0)+26>>0]|0,(k[lc>>2]|0)+28|0);c=(k[rf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=sf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(i[(k[lc>>2]|0)+25>>0]|0){if(k[(k[lc>>2]|0)+20>>2]|0){yf=k[qf>>2]|0;wf=ke(k[k[lc>>2]>>2]|0)|0;k[xe>>2]=wf;nI(yf,19007,xe);k[uf>>2]=k[(k[lc>>2]|0)+20>>2]}yI(k[rf>>2]|0,(k[qf>>2]|0)+204|0,k[(k[lc>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);if(k[uf>>2]|0)break a}if((m[(k[gd>>2]|0)+8>>1]&18|0)!=0?(qu(k[k[lc>>2]>>2]|0,l[F>>0]|0)|0,(qI(k[k[lc>>2]>>2]|0)|0)!=0):0){d=880;break}}else if((d|0)==438){if(i[(k[qf>>2]|0)+87>>0]&1){d=439;break}k[Va>>2]=0;k[Rc>>2]=0;k[ub>>2]=k[(k[pf>>2]|0)+8>>2];k[ea>>2]=k[(k[pf>>2]|0)+12>>2];k[zc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[ea>>2]<<4);k[Dd>>2]=k[(k[zc>>2]|0)+4>>2];if((l[k[pf>>2]>>0]|0)==103){k[Me>>2]=4|l[(k[pf>>2]|0)+3>>0]&8;if((l[(k[(k[zc>>2]|0)+12>>2]|0)+76>>0]|0)<(l[(k[qf>>2]|0)+88>>0]|0))i[(k[qf>>2]|0)+88>>0]=i[(k[(k[zc>>2]|0)+12>>2]|0)+76>>0]|0}else k[Me>>2]=0;if(l[(k[pf>>2]|0)+3>>0]&16){k[Nc>>2]=(k[e>>2]|0)+((k[ub>>2]|0)*40|0);Tx(k[Nc>>2]|0)|0;k[ub>>2]=k[k[Nc>>2]>>2]}b=k[pf>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)!=-6){if((i[b+1>>0]|0)==-14)k[Va>>2]=k[(k[pf>>2]|0)+16>>2]}else{k[Rc>>2]=k[b+16>>2];k[Va>>2]=(m[(k[Rc>>2]|0)+6>>1]|0)+(m[(k[Rc>>2]|0)+8>>1]|0)}yf=QI(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[Va>>2]|0,k[ea>>2]|0,0)|0;k[oc>>2]=yf;if(!(k[oc>>2]|0)){d=881;break a}i[(k[oc>>2]|0)+2>>0]=1;d=(k[oc>>2]|0)+5|0;i[d>>0]=i[d>>0]&-5|4;k[(k[oc>>2]|0)+8>>2]=k[ub>>2];d=RI(k[Dd>>2]|0,k[ub>>2]|0,k[Me>>2]|0,k[Rc>>2]|0,k[(k[oc>>2]|0)+16>>2]|0)|0;k[uf>>2]=d;k[(k[oc>>2]|0)+24>>2]=k[Rc>>2];i[(k[oc>>2]|0)+4>>0]=(i[(k[pf>>2]|0)+1>>0]|0)!=-6;d=452}else if((d|0)==618){d=0;k[Ob>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Zd>>2]=1;b=k[Ob>>2]|0;if((l[k[Ob>>2]>>0]|0)==1){yf=dJ(b,Zd)|0;k[uf>>2]=yf}else{k[ic>>2]=k[b+16>>2];yf=eJ(k[ic>>2]|0,Zd)|0;k[uf>>2]=yf;i[(k[Ob>>2]|0)+3>>0]=0;k[(k[Ob>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;i[(k[Ob>>2]|0)+2>>0]=k[Zd>>2];if(k[Zd>>2]|0)d=14}else if((d|0)==625){k[Pb>>2]=k[(k[(k[qf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[_d>>2]=k[(k[pf>>2]|0)+12>>2];yf=gc[k[(k[pf>>2]|0)+16>>2]&255](k[(k[Pb>>2]|0)+16>>2]|0,_d)|0;k[uf>>2]=yf;d=626}else if((d|0)==753){d=0;k[nc>>2]=k[(k[pf>>2]|0)+16>>2];k[Xc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k:do if((k[(k[nc>>2]|0)+8>>2]|0)!=(k[Xc>>2]|0)){k[(k[nc>>2]|0)+8>>2]=k[Xc>>2];k[X>>2]=(l[(k[nc>>2]|0)+26>>0]|0)-1;while(1){if((k[X>>2]|0)<0)break k;k[(k[nc>>2]|0)+28+(k[X>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[X>>2]|0)|0)*40|0);k[X>>2]=(k[X>>2]|0)+-1}}while(0);yf=(k[Xc>>2]|0)+12|0;k[yf>>2]=(k[yf>>2]|0)+1;YF(ne,k[rf>>2]|0,1);k[k[nc>>2]>>2]=ne;i[(k[nc>>2]|0)+25>>0]=0;i[(k[nc>>2]|0)+24>>0]=0;cc[k[(k[(k[nc>>2]|0)+4>>2]|0)+12>>2]&255](k[nc>>2]|0,l[(k[nc>>2]|0)+26>>0]|0,(k[nc>>2]|0)+28|0);if(i[(k[nc>>2]|0)+25>>0]|0){if(k[(k[nc>>2]|0)+20>>2]|0){yf=k[qf>>2]|0;wf=ke(ne)|0;k[Ee>>2]=wf;nI(yf,19007,Ee);k[uf>>2]=k[(k[nc>>2]|0)+20>>2]}eh(ne);if(k[uf>>2]|0)break a}if((i[(k[nc>>2]|0)+24>>0]|0)!=0?(k[X>>2]=k[(k[pf>>2]|0)+-20+4>>2],(k[X>>2]|0)!=0):0)qh((k[e>>2]|0)+((k[X>>2]|0)*40|0)|0,1,0)}do if((d|0)==14){d=0;k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((d|0)==452){d=0;SI(k[(k[oc>>2]|0)+16>>2]|0,l[(k[pf>>2]|0)+3>>0]&3);if(k[uf>>2]|0)break a}else if((d|0)==626){d=0;k[(k[Pb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;b=(k[Pb>>2]|0)+2|0;if(!(k[_d>>2]|0)){i[b>>0]=0;d=(k[qf>>2]|0)+108+(l[(k[pf>>2]|0)+3>>0]<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=7;break}else{i[b>>0]=1;d=8;break}}while(0);if((d|0)==7){k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0);d=8}if((d|0)==8){d=0;if(k[(k[rf>>2]|0)+248>>2]|0)break b;if(((k[(k[rf>>2]|0)+304>>2]|0)!=0?(k[tf>>2]|0)>>>0>=(k[ab>>2]|0)>>>0:0)?(k[ab>>2]=(k[tf>>2]|0)+(k[(k[rf>>2]|0)+312>>2]|0)-(((k[tf>>2]|0)>>>0)%((k[(k[rf>>2]|0)+312>>2]|0)>>>0)|0),(bc[k[(k[rf>>2]|0)+304>>2]&255](k[(k[rf>>2]|0)+308>>2]|0)|0)!=0):0){d=12;break}}k[pf>>2]=(k[pf>>2]|0)+20}switch(d|0){case 12:{k[uf>>2]=9;break a}case 25:{k[(k[qf>>2]|0)+80>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[qf>>2]|0)+86>>0]=k[(k[pf>>2]|0)+8>>2];k[(k[qf>>2]|0)+76>>2]=k[jf>>2];if(k[(k[qf>>2]|0)+80>>2]|0){b=k[qf>>2]|0;a=k[pf>>2]|0;if(i[(k[pf>>2]|0)+3>>0]|0){k[lf>>2]=k[6412+((l[a+3>>0]|0)-1<<2)>>2];nI(b,40332,lf);if(k[(k[pf>>2]|0)+16>>2]|0){yf=k[rf>>2]|0;wf=k[(k[pf>>2]|0)+16>>2]|0;k[mf>>2]=k[(k[qf>>2]|0)+44>>2];k[mf+4>>2]=wf;yf=Oh(yf,40353,mf)|0;k[(k[qf>>2]|0)+44>>2]=yf}}else{k[nf>>2]=k[a+16>>2];nI(b,19007,nf)}yf=k[(k[pf>>2]|0)+4>>2]|0;pf=k[(k[qf>>2]|0)+168>>2]|0;wf=k[(k[qf>>2]|0)+44>>2]|0;k[of>>2]=k[jf>>2];k[of+4>>2]=pf;k[of+8>>2]=wf;$d(yf,40360,of)}b=oI(k[qf>>2]|0)|0;k[uf>>2]=b;b=(k[qf>>2]|0)+80|0;if((k[uf>>2]|0)==5){k[b>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=(k[b>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 64:{if(((k[(k[rf>>2]|0)+304>>2]|0)!=0?(k[tf>>2]|0)>>>0>=(k[ab>>2]|0)>>>0:0)?(bc[k[(k[rf>>2]|0)+304>>2]&255](k[(k[rf>>2]|0)+308>>2]|0)|0)!=0:0){k[uf>>2]=9;break a}yf=rI(k[qf>>2]|0,0)|0;k[uf>>2]=yf;if(yf)break a;yf=sI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;k[(k[qf>>2]|0)+72>>2]=(k[(k[qf>>2]|0)+72>>2]|0)+2|1;yf=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0;k[(k[qf>>2]|0)+20>>2]=yf;k[Uc>>2]=yf;k[O>>2]=0;while(1){if((k[O>>2]|0)>=(k[(k[pf>>2]|0)+8>>2]|0))break;if((m[(k[Uc>>2]|0)+((k[O>>2]|0)*40|0)+8>>1]&4096|0)!=0?(kh((k[Uc>>2]|0)+((k[O>>2]|0)*40|0)|0)|0)!=0:0){d=881;break a}tI((k[Uc>>2]|0)+((k[O>>2]|0)*40|0)|0)|0;k[O>>2]=(k[O>>2]|0)+1}if(i[(k[rf>>2]|0)+69>>0]|0){d=881;break a}k[(k[qf>>2]|0)+76>>2]=(((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0)+1;k[uf>>2]=100;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 157:{k[uf>>2]=20;break a}case 263:{yf=Yj(79160)|0;k[uf>>2]=yf;break a}case 280:{if(!(k[(k[Ab>>2]|0)+72>>2]|0))eh(ge);yf=Yj(79221)|0;k[uf>>2]=yf;break a}case 364:{k[(k[qf>>2]|0)+76>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;i[(k[rf>>2]|0)+67>>0]=0;k[uf>>2]=5;k[(k[qf>>2]|0)+80>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 387:{k[C>>2]=k[(k[pf>>2]|0)+4>>2];k[ra>>2]=k[(k[pf>>2]|0)+8>>2];if((k[C>>2]|0)==(l[(k[rf>>2]|0)+67>>0]|0)){if(k[C>>2]|0)b=(k[ra>>2]|0)!=0?40592:40635;else b=40676;nI(k[qf>>2]|0,b,ff);k[uf>>2]=1;break a}do if(!(k[ra>>2]|0)){if((k[C>>2]|0)!=0?(k[(k[rf>>2]|0)+160>>2]|0)>0:0){nI(k[qf>>2]|0,40537,Be);k[uf>>2]=5;break a}yf=rI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{i[(k[rf>>2]|0)+67>>0]=k[C>>2];break}}else{NI(k[rf>>2]|0,516);i[(k[rf>>2]|0)+67>>0]=1}while(0);if((oI(k[qf>>2]|0)|0)==5){k[(k[qf>>2]|0)+76>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;i[(k[rf>>2]|0)+67>>0]=1-(k[C>>2]|0);k[uf>>2]=5;k[(k[qf>>2]|0)+80>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}OI(k[rf>>2]|0);if(!(k[(k[qf>>2]|0)+80>>2]|0)){k[uf>>2]=101;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=1;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 405:{k[uf>>2]=8;break a}case 408:{k[(k[qf>>2]|0)+76>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[qf>>2]|0)+80>>2]=k[uf>>2];yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 439:{k[uf>>2]=516;break a}case 543:{k[uf>>2]=13;break a}case 553:{k[uf>>2]=13;break a}case 661:{k[uf>>2]=6;i[(k[qf>>2]|0)+86>>0]=2;break a}case 683:{Lg(k[rf>>2]|0);if((k[uf>>2]|0)==7){d=881;break a}else break a}case 712:{k[uf>>2]=1;nI(k[qf>>2]|0,40816,De);break a}case 765:{yf=k[qf>>2]|0;wf=ke(k[Yc>>2]|0)|0;k[Fe>>2]=wf;nI(yf,19007,Fe);break a}case 785:{k[uf>>2]=1;yf=k[qf>>2]|0;k[Ge>>2]=(k[D>>2]|0)==5?40853:40858;nI(yf,40865,Ge);break a}case 806:{if((k[uf>>2]&255|0)!=6)break a;k[Oe>>2]=k[(k[pf>>2]|0)+16>>2];yf=k[qf>>2]|0;k[He>>2]=k[Oe>>2];nI(yf,40917,He);break a}case 817:{k[uf>>2]=6;break a}case 821:{bc[k[(k[$c>>2]|0)+28>>2]&255](k[sd>>2]|0)|0;d=881;break a}case 840:{k[uf>>2]=6;break a}case 879:{yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 880:{nI(k[qf>>2]|0,18786,Ie);k[uf>>2]=18;break a}}}while(0);k[uf>>2]=(l[(k[rf>>2]|0)+69>>0]|0)!=0?7:9;k[(k[qf>>2]|0)+80>>2]=k[uf>>2];yf=k[qf>>2]|0;wf=uh(k[uf>>2]|0)|0;k[Ke>>2]=wf;nI(yf,19007,Ke)}while(0);if((d|0)==881){vh(k[rf>>2]|0);nI(k[qf>>2]|0,25632,Je);k[uf>>2]=7}if(i[(k[rf>>2]|0)+69>>0]|0)k[uf>>2]=7;if((k[uf>>2]|0)!=3082?(k[(k[qf>>2]|0)+44>>2]|0)==0:0){yf=k[qf>>2]|0;wf=uh(k[uf>>2]|0)|0;k[gf>>2]=wf;nI(yf,19007,gf)}k[(k[qf>>2]|0)+80>>2]=k[uf>>2];IJ(k[rf>>2]|0,k[uf>>2]|0);yf=k[uf>>2]|0;of=k[(k[qf>>2]|0)+168>>2]|0;wf=k[(k[qf>>2]|0)+44>>2]|0;k[hf>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[hf+4>>2]=of;k[hf+8>>2]=wf;$d(yf,40946,hf);oI(k[qf>>2]|0)|0;if((k[uf>>2]|0)==3082)vh(k[rf>>2]|0);k[uf>>2]=1;if((l[ef>>0]|0)<=0){yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}Ej(k[rf>>2]|0,(l[ef>>0]|0)-1|0);yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}function gI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;f=g+12|0;c=g+8|0;e=g+4|0;d=g;k[b>>2]=a;k[f>>2]=0;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[e>>2]|0)!=0?(wg(k[e>>2]|0),a=iI(Zf(k[e>>2]|0)|0)|0,k[d>>2]=a,((k[d>>2]|0)>0?(k[(k[b>>2]|0)+220>>2]|0)!=0:0)&(k[f>>2]|0)==0):0){a=ec[k[(k[b>>2]|0)+220>>2]&255](k[(k[b>>2]|0)+224>>2]|0,k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)>>2]|0,k[d>>2]|0)|0;k[f>>2]=a}k[c>>2]=(k[c>>2]|0)+1}r=g;return k[f>>2]|0}function hI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[b>>2]|0)+80>>2];a=k[c>>2]|0;if(!(k[(k[b>>2]|0)+44>>2]|0)){vg(a,k[d>>2]|0);d=k[d>>2]|0;r=e;return d|0}a=a+70|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;ek();if(!(k[(k[c>>2]|0)+240>>2]|0)){a=fi(k[c>>2]|0)|0;k[(k[c>>2]|0)+240>>2]=a}gi(k[(k[c>>2]|0)+240>>2]|0,-1,k[(k[b>>2]|0)+44>>2]|0,1,-1);fk();b=(k[c>>2]|0)+70|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;k[(k[c>>2]|0)+52>>2]=k[d>>2];d=k[d>>2]|0;r=e;return d|0}function iI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jI(k[(k[c>>2]|0)+216>>2]|0)|0;r=b;return a|0}function jI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;c=k[c>>2]|0;r=d;return c|0}function kI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[b>>2]=a;if(!(k[(k[b>>2]|0)+100>>2]|0)){r=g;return}k[d>>2]=k[k[b>>2]>>2];k[c>>2]=k[(k[d>>2]|0)+16>>2];k[f>>2]=k[(k[d>>2]|0)+20>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;if(((k[e>>2]|0)!=1?(k[(k[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0)!=0:0)wg(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=g;return}function lI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+84>>2]=k[d>>2];b=(k[e>>2]|0)+88|0;k[b>>2]=(k[b>>2]|0)+(k[d>>2]|0);r=c;return}function mI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];GM(k[d>>2]|0);k[(k[d>>2]|0)+200>>2]=k[(k[b>>2]|0)+20>>2];k[(k[d>>2]|0)+196>>2]=k[(k[b>>2]|0)+60>>2];k[(k[d>>2]|0)+4>>2]=k[(k[b>>2]|0)+8>>2];k[(k[d>>2]|0)+32>>2]=k[(k[b>>2]|0)+52>>2];k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+16>>2];k[(k[d>>2]|0)+28>>2]=k[(k[b>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=k[(k[b>>2]|0)+24>>2];k[(k[d>>2]|0)+36>>2]=k[(k[b>>2]|0)+44>>2];f=(k[b>>2]|0)+32|0;e=k[f+4>>2]|0;a=(k[k[d>>2]>>2]|0)+32|0;k[a>>2]=k[f>>2];k[a+4>>2]=e;k[(k[d>>2]|0)+92>>2]=k[(k[b>>2]|0)+72>>2];k[(k[k[d>>2]>>2]|0)+84>>2]=k[(k[b>>2]|0)+76>>2];yI(k[k[d>>2]>>2]|0,(k[d>>2]|0)+204|0,-1,0);k[(k[d>>2]|0)+204>>2]=k[(k[b>>2]|0)+40>>2];k[(k[b>>2]|0)+40>>2]=0;r=c;return k[(k[b>>2]|0)+48>>2]|0}function nI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;bg(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+44>>2]|0);k[f>>2]=c;b=ux(k[k[e>>2]>>2]|0,k[g>>2]|0,f)|0;k[(k[e>>2]|0)+44>>2]=b;r=d;return}function oI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;f=m+24|0;g=m+20|0;d=m+16|0;h=m+12|0;c=m+8|0;j=m+4|0;b=m;k[g>>2]=a;k[h>>2]=k[k[g>>2]>>2];if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+80>>2]=7;if(k[(k[g>>2]|0)+200>>2]|0)KR(k[(k[g>>2]|0)+200>>2]|0,0,k[(k[g>>2]|0)+196>>2]|0)|0;AM(k[g>>2]|0);if((k[(k[g>>2]|0)+40>>2]|0)!=-1108210269){k[f>>2]=0;j=k[f>>2]|0;r=m;return j|0}if((k[(k[g>>2]|0)+76>>2]|0)>=0?((l[(k[g>>2]|0)+89>>0]|0)>>>6&1|0)!=0:0){k[j>>2]=0;kI(k[g>>2]|0);k[c>>2]=k[(k[g>>2]|0)+80>>2]&255;if((k[c>>2]|0)==7|(k[c>>2]|0)==10|(k[c>>2]|0)==9)a=1;else a=(k[c>>2]|0)==13;k[b>>2]=a&1;do if((k[b>>2]|0)!=0?((k[c>>2]|0)!=9?1:((l[(k[g>>2]|0)+89>>0]|0)>>>5&1|0)==0):0){if((k[c>>2]|0)==7|(k[c>>2]|0)==13?((l[(k[g>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){k[j>>2]=2;break}NI(k[h>>2]|0,516);OI(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+92>>2]=0}while(0);if(!(k[(k[g>>2]|0)+80>>2]|0))rI(k[g>>2]|0,0)|0;if((k[(k[h>>2]|0)+316>>2]|0)>0?(k[(k[h>>2]|0)+340>>2]|0)==0:0)e=38;else if((l[(k[h>>2]|0)+67>>0]|0)!=0?(k[(k[h>>2]|0)+160>>2]|0)==(((l[(k[g>>2]|0)+89>>0]|0)>>>5&1|0)==0|0):0){if((k[(k[g>>2]|0)+80>>2]|0)!=0?((k[b>>2]|0)!=0?1:(l[(k[g>>2]|0)+86>>0]|0)!=3):0){NI(k[h>>2]|0,0);k[(k[g>>2]|0)+92>>2]=0}else e=25;do if((e|0)==25){c=rI(k[g>>2]|0,1)|0;k[d>>2]=c;do if(k[d>>2]|0){if(!((l[(k[g>>2]|0)+89>>0]|0)>>>5&1)){k[d>>2]=787;break}k[f>>2]=1;j=k[f>>2]|0;r=m;return j|0}else{c=BM(k[h>>2]|0,k[g>>2]|0)|0;k[d>>2]=c}while(0);if((k[d>>2]|0)==5?((l[(k[g>>2]|0)+89>>0]|0)>>>5&1|0)!=0:0){k[f>>2]=5;j=k[f>>2]|0;r=m;return j|0}if(k[d>>2]|0){k[(k[g>>2]|0)+80>>2]=k[d>>2];NI(k[h>>2]|0,0);k[(k[g>>2]|0)+92>>2]=0;break}else{c=(k[h>>2]|0)+440|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+448|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+24|0;k[c>>2]=k[c>>2]&-33554433;Fj(k[h>>2]|0);break}}while(0);k[(k[h>>2]|0)+436>>2]=0}else e=38;do if((e|0)==38?(k[j>>2]|0)==0:0){if((k[(k[g>>2]|0)+80>>2]|0)!=0?(l[(k[g>>2]|0)+86>>0]|0)!=3:0)if((l[(k[g>>2]|0)+86>>0]|0)==2){k[j>>2]=2;break}else{NI(k[h>>2]|0,516);OI(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+92>>2]=0;break}k[j>>2]=1}while(0);if((k[j>>2]|0)!=0?(e=sI(k[g>>2]|0,k[j>>2]|0)|0,k[d>>2]=e,(k[d>>2]|0)!=0):0){if(!((k[(k[g>>2]|0)+80>>2]|0)!=0?(k[(k[g>>2]|0)+80>>2]&255|0)!=19:0)){k[(k[g>>2]|0)+80>>2]=k[d>>2];bg(k[h>>2]|0,k[(k[g>>2]|0)+44>>2]|0);k[(k[g>>2]|0)+44>>2]=0}NI(k[h>>2]|0,516);OI(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+92>>2]=0}if((l[(k[g>>2]|0)+89>>0]|0)>>>2&1){a=k[h>>2]|0;if((k[j>>2]|0)!=2)lI(a,k[(k[g>>2]|0)+92>>2]|0);else lI(a,0);k[(k[g>>2]|0)+92>>2]=0}}if((k[(k[g>>2]|0)+76>>2]|0)>=0){j=(k[h>>2]|0)+152|0;k[j>>2]=(k[j>>2]|0)+-1;if(!((l[(k[g>>2]|0)+89>>0]|0)>>>5&1)){j=(k[h>>2]|0)+160|0;k[j>>2]=(k[j>>2]|0)+-1}if((l[(k[g>>2]|0)+89>>0]|0)>>>6&1){j=(k[h>>2]|0)+156|0;k[j>>2]=(k[j>>2]|0)+-1}}k[(k[g>>2]|0)+40>>2]=1369188723;if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+80>>2]=7;k[f>>2]=(k[(k[g>>2]|0)+80>>2]|0)==5?5:0;j=k[f>>2]|0;r=m;return j|0}function pI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;g=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[g>>2]|0)+8>>2]|0)+((k[(k[f>>2]|0)+8>>2]|0)*40|0);a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){g=zM(a)|0;k[c>>2]=g;g=k[c>>2]|0;r=e;return g|0}else{j[a+8>>1]=4;k[c>>2]=k[d>>2];g=k[c>>2]|0;r=e;return g|0}return 0}function qI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}k[d>>2]=k[(k[c>>2]|0)+12>>2];if((m[(k[c>>2]|0)+8>>1]|0)&16384)k[d>>2]=(k[d>>2]|0)+(k[k[c>>2]>>2]|0);k[b>>2]=(k[d>>2]|0)>(k[(k[(k[c>>2]|0)+32>>2]|0)+92>>2]|0)&1;a=k[b>>2]|0;r=e;return a|0}function rI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(!((k[e>>2]|0)!=0?(b=(k[f>>2]|0)+440|0,a=(k[f>>2]|0)+448|0,a=GR(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,(b|0)>0|(b|0)==0&a>>>0>0):0))h=3;do if((h|0)==3){if((k[e>>2]|0)==0?(h=(k[d>>2]|0)+144|0,a=k[h+4>>2]|0,(a|0)>0|(a|0)==0&(k[h>>2]|0)>>>0>0):0)break;k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);k[(k[d>>2]|0)+80>>2]=787;i[(k[d>>2]|0)+86>>0]=2;nI(k[d>>2]|0,35704,g);k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}function sI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;f=l+12|0;g=l+8|0;j=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[i>>2]=0;if(!(k[(k[e>>2]|0)+436>>2]|0)){j=k[i>>2]|0;r=l;return j|0}if(!(k[(k[c>>2]|0)+104>>2]|0)){j=k[i>>2]|0;r=l;return j|0}k[g>>2]=(k[(k[c>>2]|0)+104>>2]|0)-1;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[j>>2]=0;k[h>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];if(k[h>>2]|0){if((k[d>>2]|0)==2){a=MI(k[h>>2]|0,2,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[j>>2]|0)){a=MI(k[h>>2]|0,1,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}k[f>>2]=(k[f>>2]|0)+1}j=(k[e>>2]|0)+436|0;k[j>>2]=(k[j>>2]|0)+-1;k[(k[c>>2]|0)+104>>2]=0;if(!(k[i>>2]|0)){if((k[d>>2]|0)==2){j=KI(k[e>>2]|0,2,k[g>>2]|0)|0;k[i>>2]=j}if(!(k[i>>2]|0)){j=KI(k[e>>2]|0,1,k[g>>2]|0)|0;k[i>>2]=j}}if((k[d>>2]|0)!=2){j=k[i>>2]|0;r=l;return j|0}j=(k[c>>2]|0)+152|0;h=k[j+4>>2]|0;a=(k[e>>2]|0)+440|0;k[a>>2]=k[j>>2];k[a+4>>2]=h;a=(k[c>>2]|0)+160|0;h=k[a+4>>2]|0;j=(k[e>>2]|0)+448|0;k[j>>2]=k[a>>2];k[j+4>>2]=h;j=k[i>>2]|0;r=l;return j|0}function tI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(((m[(k[c>>2]|0)+8>>1]|0)&514|0)!=2){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{a=yM(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function uI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=m[(k[c>>2]|0)+8>>1]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&12))if(a&18){c=xM(k[c>>2]|0)|0;j[b>>1]=c;break}else{j[b>>1]=0;break}else j[b>>1]=a&12;while(0);r=d;return j[b>>1]|0}function vI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;i=f;k[i>>2]=b;k[i+4>>2]=c;b=k[e>>2]|0;i=k[b+4>>2]|0;a=g;k[a>>2]=k[b>>2];k[a+4>>2]=i;a=f;i=k[a+4>>2]|0;b=g;c=k[b+4>>2]|0;if((i|0)>0|(i|0)==0&(k[a>>2]|0)>>>0>=0){if((c|0)>0|(c|0)==0&(k[b>>2]|0)>>>0>0?(g,g=FR(-1,2147483647,k[g>>2]|0,k[g+4>>2]|0)|0,c=L,i=f,a=k[i+4>>2]|0,(c|0)<(a|0)|((c|0)==(a|0)?g>>>0<(k[i>>2]|0)>>>0:0)):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}else if((c|0)<0?(g,g=GR(k[g>>2]|0,k[g+4>>2]|0,-1,2147483647)|0,g=FR(0,0,g|0,L|0)|0,c=L,i=f,i=GR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0,a=L,(c|0)>(a|0)|(c|0)==(a|0)&g>>>0>i>>>0):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}g=f;i=k[e>>2]|0;f=i;g=GR(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[i>>2]=g;k[i+4>>2]=L;k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}function wI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;b=k[e>>2]|0;if(!((k[a>>2]|0)==0?(k[a+4>>2]|0)==-2147483648:0)){f=FR(0,0,k[f>>2]|0,k[f+4>>2]|0)|0;f=vI(b,f,L)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}a=b;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>=0){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else{a=f;f=k[e>>2]|0;e=f;e=FR(k[e>>2]|0,k[e+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[f>>2]=e;k[f+4>>2]=L;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function xI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+60|0;e=m+56|0;f=m+48|0;n=m+40|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;l=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=k[e>>2]|0;b=k[c+4>>2]|0;a=n;k[a>>2]=k[c>>2];k[a+4>>2]=b;a=n;a=PR(k[a>>2]|0,k[a+4>>2]|0,0,1)|0;b=h;k[b>>2]=a;k[b+4>>2]=L;b=n;b=QR(k[b>>2]|0,k[b+4>>2]|0,0,1)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;a=f;a=PR(k[a>>2]|0,k[a+4>>2]|0,0,1)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;b=f;b=QR(k[b>>2]|0,k[b+4>>2]|0,0,1)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=h;b=j;b=(k[b>>2]|0)==0&(k[b+4>>2]|0)==0;do if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){if(!b){n=g;j=RR(k[n>>2]|0,k[n+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;n=l;k[n>>2]=j;k[n+4>>2]=L;break}l=f;n=k[e>>2]|0;j=n;l=RR(k[j>>2]|0,k[j+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[n>>2]=l;k[n+4>>2]=L;k[d>>2]=0;n=k[d>>2]|0;r=m;return n|0}else{if(b){n=h;j=i;j=RR(k[n>>2]|0,k[n+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;n=l;k[n>>2]=j;k[n+4>>2]=L;break}k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}while(0);h=l;f=k[h+4>>2]|0;n=l;j=k[n+4>>2]|0;if((f|0)<-1|(f|0)==-1&(k[h>>2]|0)>>>0<2147483648|((j|0)>0|(j|0)==0&(k[n>>2]|0)>>>0>=2147483648)){k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}n=l;n=RR(k[n>>2]|0,k[n+4>>2]|0,0,1)|0;j=l;k[j>>2]=n;k[j+4>>2]=L;j=g;n=i;n=RR(k[j>>2]|0,k[j+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;if(vI(l,n,L)|0){k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}else{j=l;l=k[j+4>>2]|0;n=k[e>>2]|0;k[n>>2]=k[j>>2];k[n+4>>2]=l;k[d>>2]=0;n=k[d>>2]|0;r=m;return n|0}return 0}function yI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:while(1){if(!(k[k[f>>2]>>2]|0))break;k[i>>2]=k[k[f>>2]>>2];do if((k[g>>2]|0)>=0){if((k[k[i>>2]>>2]|0)==(k[g>>2]|0)){if((k[(k[i>>2]|0)+4>>2]|0)>31)break;if(!(k[h>>2]&1<>2]|0)+4>>2]))break}k[f>>2]=(k[i>>2]|0)+16;continue a}while(0);if(k[(k[i>>2]|0)+12>>2]|0)_b[k[(k[i>>2]|0)+12>>2]&255](k[(k[i>>2]|0)+8>>2]|0);k[k[f>>2]>>2]=k[(k[i>>2]|0)+16>>2];bg(k[e>>2]|0,k[i>>2]|0)}r=j;return}function zI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;i=l+8|0;j=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[i>>2]=m[(k[e>>2]|0)+8>>1];k[j>>2]=m[(k[f>>2]|0)+8>>1];k[h>>2]=k[i>>2]|k[j>>2];do if(!(k[h>>2]&1)){if(!(k[h>>2]&12)){if(k[h>>2]&2){if(!(k[i>>2]&2)){k[d>>2]=1;break}if(!(k[j>>2]&2)){k[d>>2]=-1;break}if(k[g>>2]|0){b=WF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0)|0;k[d>>2]=b;break}}b=wM(k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;break}if(k[i>>2]&k[j>>2]&4){a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)<(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[d>>2]=-1;break}a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)>(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&k[j>>2]&8){if(+p[k[e>>2]>>3]<+p[k[f>>2]>>3]){k[d>>2]=-1;break}if(+p[k[e>>2]>>3]>+p[k[f>>2]>>3]){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&4)if(k[j>>2]&8){b=k[e>>2]|0;b=UF(k[b>>2]|0,k[b+4>>2]|0,+p[k[f>>2]>>3])|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}if(!(k[i>>2]&8)){k[d>>2]=1;break}if(k[j>>2]&4){b=k[f>>2]|0;b=0-(UF(k[b>>2]|0,k[b+4>>2]|0,+p[k[e>>2]>>3])|0)|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}}else k[d>>2]=(k[j>>2]&1)-(k[i>>2]&1);while(0);r=l;return k[d>>2]|0}function AI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[d>>2]>>2];do if(!(l[k[g>>2]>>0]|0)){b=k[g>>2]|0;if(!(i[(k[g>>2]|0)+3>>0]|0)){if(!(LL(k[b+16>>2]|0)|0))break;g=ML(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}if((k[b+52>>2]|0)!=0?(a=k[(k[(k[g>>2]|0)+52>>2]|0)+(1+(k[k[e>>2]>>2]|0)<<2)>>2]|0,k[f>>2]=a,(a|0)>0):0){k[k[d>>2]>>2]=k[(k[g>>2]|0)+48>>2];k[k[e>>2]>>2]=(k[f>>2]|0)-1;k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}g=vM(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}while(0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function BI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=uM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function CI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;GF(k[e>>2]|0);k[k[d>>2]>>2]=k[(k[e>>2]|0)+16+12>>2];r=c;return 0}function DI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=uM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function EI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[n>>2]=0;c=k[f>>2]|0;if(k[i>>2]|0){e=BI(c,m)|0;k[o>>2]=e}else{e=DI(c,m)|0;k[o>>2]=e}if(((k[g>>2]|0)+(k[h>>2]|0)|0)>>>0<=(k[m>>2]|0)>>>0){k[(k[l>>2]|0)+16>>2]=(k[o>>2]|0)+(k[g>>2]|0);j[(k[l>>2]|0)+8>>1]=4112;k[(k[l>>2]|0)+12>>2]=k[h>>2];o=k[n>>2]|0;r=p;return o|0}else{o=tM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[l>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}return 0}function FI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return i[35576+(l[b>>0]|0)>>0]|0}function GI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0;n=r;r=r+48|0;l=n+36|0;d=n+32|0;h=n+28|0;g=n+24|0;e=n+20|0;f=n+16|0;i=n+8|0;j=n;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[e>>2]=m[(k[d>>2]|0)+8>>1];if(k[e>>2]&1){k[k[g>>2]>>2]=0;k[l>>2]=0;l=k[l>>2]|0;r=n;return l|0}if(!(k[e>>2]&4)){if(k[e>>2]&8){k[k[g>>2]>>2]=8;k[l>>2]=7;l=k[l>>2]|0;r=n;return l|0}k[f>>2]=k[(k[d>>2]|0)+12>>2];if(k[e>>2]&16384)k[f>>2]=(k[f>>2]|0)+(k[k[d>>2]>>2]|0);k[k[g>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]<<1)+12+((k[e>>2]&2|0)!=0&1);l=k[l>>2]|0;r=n;return l|0}a=k[d>>2]|0;d=k[a+4>>2]|0;b=i;k[b>>2]=k[a>>2];k[b+4>>2]=d;b=i;d=k[b>>2]|0;b=k[b+4>>2]|0;if((k[i+4>>2]|0)<0){a=j;k[a>>2]=~d;k[a+4>>2]=~b}else{a=j;k[a>>2]=d;k[a+4>>2]=b}a=j;c=k[a+4>>2]|0;if(c>>>0<0|(c|0)==0&(k[a>>2]|0)>>>0<=127){a=i;d=k[g>>2]|0;if((0==(k[a+4>>2]|0)?(k[i>>2]&1|0)==(k[a>>2]|0):0)&(k[h>>2]|0)>=4){k[d>>2]=0;k[l>>2]=8+(k[j>>2]|0);l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=1;k[l>>2]=1;l=k[l>>2]|0;r=n;return l|0}}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=32767){k[k[g>>2]>>2]=2;k[l>>2]=2;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=8388607){k[k[g>>2]>>2]=3;k[l>>2]=3;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=2147483647){k[k[g>>2]>>2]=4;k[l>>2]=4;l=k[l>>2]|0;r=n;return l|0}i=k[j+4>>2]|0;d=k[g>>2]|0;if(i>>>0<32767|(i|0)==32767&(k[j>>2]|0)>>>0<=4294967295){k[d>>2]=6;k[l>>2]=5;l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=8;k[l>>2]=6;l=k[l>>2]|0;r=n;return l|0}return 0}function HI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;h=k[a+4>>2]|0;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[a>>2]|0)>>>0<=127){i[k[e>>2]>>0]=b&127;k[d>>2]=1;h=k[d>>2]|0;r=g;return h|0}if(c>>>0<0|(c|0)==0&b>>>0<=16383){h=f;h=HR(k[h>>2]|0,k[h+4>>2]|0,7)|0;i[k[e>>2]>>0]=h&127|128;i[(k[e>>2]|0)+1>>0]=k[f>>2]&127;k[d>>2]=2;h=k[d>>2]|0;r=g;return h|0}else{h=f;h=sM(k[e>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;r=g;return h|0}return 0}function II(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;j=n+12|0;m=n;h=n+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if((k[g>>2]|0)>>>0<=7&(k[g>>2]|0)>>>0>0){if((a|0)==7){f=k[f>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=k[f+4>>2]}else{b=k[f>>2]|0;c=k[b+4>>2]|0;f=m;k[f>>2]=k[b>>2];k[f+4>>2]=c}g=l[35576+(k[g>>2]|0)>>0]|0;k[h>>2]=g;k[j>>2]=g;do{g=k[m>>2]&255;f=(k[h>>2]|0)+-1|0;k[h>>2]=f;i[(k[e>>2]|0)+f>>0]=g;f=m;f=HR(k[f>>2]|0,k[f+4>>2]|0,8)|0;g=m;k[g>>2]=f;k[g+4>>2]=L}while((k[h>>2]|0)!=0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}else{if(a>>>0<12){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[j>>2]=k[(k[f>>2]|0)+12>>2];if((k[j>>2]|0)>>>0>0)IR(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}return 0}function JI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o;n=o+16|0;c=o+12|0;d=o+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=0;k[b+4>>2]=0;if(!(k[(k[f>>2]|0)+52>>2]|0)){n=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}b=EF(k[f>>2]|0)|0;k[n>>2]=b;a:while(1){if(k[n>>2]|0){a=16;break}k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2];if(!((l[(k[d>>2]|0)+4>>0]|0)==0?(i[(k[d>>2]|0)+2>>0]|0)!=0:0)){a=h;a=GR(k[a>>2]|0,k[a+4>>2]|0,m[(k[d>>2]|0)+18>>1]|0,0)|0;b=h;k[b>>2]=a;k[b+4>>2]=L}if(i[(k[d>>2]|0)+4>>0]|0){do{if(!(i[(k[f>>2]|0)+68>>0]|0)){a=10;break a}vF(k[f>>2]|0)}while((m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));b=(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+1<<16>>16;k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]}k[c>>2]=m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1];a=k[f>>2]|0;b=k[d>>2]|0;if((k[c>>2]|0)==(m[(k[d>>2]|0)+18>>1]|0)){b=tF(a,or((k[(k[d>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0)|0;k[n>>2]=b;continue}else{b=tF(a,or((k[b+56>>2]|0)+(m[(k[d>>2]|0)+20>>1]&(l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[n>>2]=b;continue}}if((a|0)==10){d=h;h=k[d+4>>2]|0;n=k[g>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=h;n=EF(k[f>>2]|0)|0;k[e>>2]=n;n=k[e>>2]|0;r=o;return n|0}else if((a|0)==16){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}return 0}function KI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;if(!(k[(k[d>>2]|0)+340>>2]|0)){l=k[l>>2]|0;r=m;return l|0}k[g>>2]=0;while(1){if(k[l>>2]|0){d=15;break}if((k[g>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0)){d=15;break}k[i>>2]=k[(k[(k[d>>2]|0)+340>>2]|0)+(k[g>>2]<<2)>>2];k[h>>2]=k[k[(k[i>>2]|0)+4>>2]>>2];if((k[(k[i>>2]|0)+8>>2]|0)!=0?(k[k[h>>2]>>2]|0)>=2:0){switch(k[e>>2]|0){case 0:{k[j>>2]=k[(k[h>>2]|0)+80>>2];k[(k[i>>2]|0)+20>>2]=(k[f>>2]|0)+1;break}case 2:{k[j>>2]=k[(k[h>>2]|0)+88>>2];break}default:k[j>>2]=k[(k[h>>2]|0)+84>>2]}if((k[j>>2]|0)!=0?(k[(k[i>>2]|0)+20>>2]|0)>(k[f>>2]|0):0){b=gc[k[j>>2]&255](k[(k[i>>2]|0)+8>>2]|0,k[f>>2]|0)|0;k[l>>2]=b}}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==15){l=k[l>>2]|0;r=m;return l|0}return 0}function LI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;h=n+8|0;j=n+4|0;g=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(k[d>>2]|0)){m=k[j>>2]|0;r=n;return m|0}wg(k[d>>2]|0);k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(k[h>>2]|0)){m=15;break}do if((k[f>>2]|0)!=0?(l[(k[h>>2]|0)+64>>0]&1|0)==0:0){if((l[(k[h>>2]|0)+66>>0]|0)!=1?(l[(k[h>>2]|0)+66>>0]|0)!=2:0)break;c=MH(k[h>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0)break a}else m=10;while(0);if((m|0)==10){m=0;MB(k[h>>2]|0);i[(k[h>>2]|0)+66>>0]=4;k[(k[h>>2]|0)+60>>2]=k[e>>2]}k[g>>2]=0;while(1){if((k[g>>2]|0)>(i[(k[h>>2]|0)+68>>0]|0))break;NB(k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]|0);k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[h>>2]=k[(k[h>>2]|0)+8>>2]}if((m|0)==15){m=k[j>>2]|0;r=n;return m|0}LI(k[d>>2]|0,k[j>>2]|0,0)|0;m=k[j>>2]|0;r=n;return m|0}function MI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if(!(k[d>>2]|0)){h=k[h>>2]|0;r=i;return h|0}if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){h=k[h>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);a=bs(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if((k[f>>2]|0)<0?((m[(k[g>>2]|0)+22>>1]|0)&8|0)!=0:0)k[(k[g>>2]|0)+44>>2]=0;a=rM(k[g>>2]|0)|0;k[h>>2]=a;a=or((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;k[(k[g>>2]|0)+44>>2]=a;h=k[h>>2]|0;r=i;return h|0}function NI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;ek();Yf(k[c>>2]|0);if(k[(k[c>>2]|0)+24>>2]&2)a=(l[(k[c>>2]|0)+144+5>>0]|0)==0;else a=0;k[h>>2]=a&1;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(ni(k[g>>2]|0)|0)k[f>>2]=1;Yg(k[g>>2]|0,k[d>>2]|0,((k[h>>2]|0)!=0^1)&1)|0}k[e>>2]=(k[e>>2]|0)+1}wu(k[c>>2]|0)|0;fk();if((k[(k[c>>2]|0)+24>>2]&2|0)!=0?(l[(k[c>>2]|0)+144+5>>0]|0)==0:0){_h(k[c>>2]|0);Lg(k[c>>2]|0)}h=(k[c>>2]|0)+440|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+448|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+24|0;k[h>>2]=k[h>>2]&-33554433;if(!(k[(k[c>>2]|0)+208>>2]|0)){r=j;return}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+67>>0]|0)!=0:0){r=j;return}_b[k[(k[c>>2]|0)+208>>2]&255](k[(k[c>>2]|0)+204>>2]|0);r=j;return}function OI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+424>>2]|0))break;k[c>>2]=k[a+424>>2];k[(k[b>>2]|0)+424>>2]=k[(k[c>>2]|0)+24>>2];bg(k[b>>2]|0,k[c>>2]|0)}k[a+432>>2]=0;k[(k[b>>2]|0)+436>>2]=0;i[(k[b>>2]|0)+75>>0]=0;r=d;return}function PI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=oM(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function QI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;o=s+28|0;q=s+8|0;h=s+4|0;p=s;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[n>>2]=d;i[o>>0]=e;e=k[f>>2]|0;if((k[g>>2]|0)>0)e=(k[(k[f>>2]|0)+8>>2]|0)+(((k[e+28>>2]|0)-(k[g>>2]|0)|0)*40|0)|0;else e=k[e+8>>2]|0;k[q>>2]=e;k[p>>2]=0;e=88+(k[m>>2]<<3)|0;if(!(l[o>>0]|0))b=mM()|0;else b=0;k[h>>2]=e+b;if(k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]|0){VI(k[f>>2]|0,k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]|0);k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]=0}if(Qx(k[q>>2]|0,k[h>>2]|0)|0){q=k[p>>2]|0;r=s;return q|0}e=k[(k[q>>2]|0)+16>>2]|0;k[p>>2]=e;k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]=e;e=k[p>>2]|0;b=e+88|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(b|0));i[k[p>>2]>>0]=i[o>>0]|0;i[(k[p>>2]|0)+1>>0]=k[n>>2];j[(k[p>>2]|0)+12>>1]=k[m>>2];k[(k[p>>2]|0)+76>>2]=(k[p>>2]|0)+80+(k[m>>2]<<2);if(l[o>>0]|0){q=k[p>>2]|0;r=s;return q|0}k[(k[p>>2]|0)+16>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(88+(k[m>>2]<<3));nM(k[(k[p>>2]|0)+16>>2]|0);q=k[p>>2]|0;r=s;return q|0}function RI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)<1){c=Yj(61882)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}else{wg(k[f>>2]|0);c=kM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}return 0}function SI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+67>>0]=k[e>>2];r=c;return}function TI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);b=jM(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function UI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;q=w+52|0;d=w+48|0;e=w+44|0;u=w+40|0;f=w+36|0;t=w+32|0;s=w+28|0;n=w+24|0;h=w+20|0;v=w+16|0;g=w+12|0;p=w;o=w+8|0;k[q>>2]=a;k[d>>2]=b;k[e>>2]=c;k[v>>2]=0;k[n>>2]=24+((m[(k[(k[e>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);k[h>>2]=136;c=(k[h>>2]|0)+(k[n>>2]|0)|0;c=Bh(k[q>>2]|0,c,((c|0)<0)<<31>>31)|0;k[t>>2]=c;k[(k[e>>2]|0)+16>>2]=k[t>>2];if(!(k[t>>2]|0)){k[v>>2]=7;v=k[v>>2]|0;r=w;return v|0}h=(k[t>>2]|0)+(k[h>>2]|0)|0;k[s>>2]=h;k[(k[t>>2]|0)+28>>2]=h;IR(k[s>>2]|0,k[(k[e>>2]|0)+24>>2]|0,k[n>>2]|0)|0;k[(k[s>>2]|0)+12>>2]=0;if(k[d>>2]|0){n=(k[s>>2]|0)+8|0;j[n>>1]=(m[n>>1]|0)+((m[(k[s>>2]|0)+6>>1]|0)-(k[d>>2]|0));j[(k[s>>2]|0)+6>>1]=k[d>>2]}n=Bg(k[(k[(k[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[u>>2]=n;k[(k[t>>2]|0)+12>>2]=n;i[(k[t>>2]|0)+59>>0]=1;i[(k[t>>2]|0)+58>>0]=-1;i[(k[t>>2]|0)+57>>0]=(l[(k[t>>2]|0)+59>>0]|0|0)>1;k[(k[t>>2]|0)+24>>2]=k[q>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(l[(k[t>>2]|0)+59>>0]|0|0))break;k[g>>2]=(k[t>>2]|0)+64+((k[f>>2]|0)*72|0);k[(k[g>>2]|0)+8>>2]=k[t>>2];k[f>>2]=(k[f>>2]|0)+1}if(!(fr(k[q>>2]|0)|0)){k[o>>2]=k[58];d=ha(k[o>>2]|0,k[u>>2]|0)|0;k[k[t>>2]>>2]=d;d=k[(k[(k[(k[q>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;e=p;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if((k[p+4>>2]|0)<0){n=RR(d|0,e|0,-1024,-1)|0;o=p;k[o>>2]=n;k[o+4>>2]=L}else{n=k[u>>2]|0;n=RR(d|0,e|0,n|0,((n|0)<0)<<31>>31|0)|0;o=p;k[o>>2]=n;k[o+4>>2]=L}g=p;h=k[g+4>>2]|0;g=(h|0)<0|(h|0)==0&(k[g>>2]|0)>>>0<536870912;h=p;n=g?k[h+4>>2]|0:0;o=p;k[o>>2]=g?k[h>>2]|0:536870912;k[o+4>>2]=n;if((k[k[t>>2]>>2]|0)>(k[p>>2]|0))d=k[k[t>>2]>>2]|0;else d=k[p>>2]|0;k[(k[t>>2]|0)+4>>2]=d;if((k[50]|0)==0?(k[(k[t>>2]|0)+52>>2]=k[u>>2],u=k[u>>2]|0,u=jg(u,((u|0)<0)<<31>>31)|0,k[(k[t>>2]|0)+36+4>>2]=u,(k[(k[t>>2]|0)+36+4>>2]|0)==0):0)k[v>>2]=7}if(((m[(k[s>>2]|0)+6>>1]|0)+(m[(k[s>>2]|0)+8>>1]|0)|0)>=13){v=k[v>>2]|0;r=w;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)!=0?(k[(k[s>>2]|0)+20>>2]|0)!=(k[(k[q>>2]|0)+8>>2]|0):0){v=k[v>>2]|0;r=w;return v|0}i[(k[t>>2]|0)+60>>0]=3;v=k[v>>2]|0;r=w;return v|0}function VI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[f>>2]=b;if(!(k[f>>2]|0)){r=g;return}switch(l[k[f>>2]>>0]|0|0){case 1:{iM(k[k[c>>2]>>2]|0,k[f>>2]|0);r=g;return}case 0:{c=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){IB(k[c+20>>2]|0)|0;r=g;return}else{KB(k[c+16>>2]|0)|0;r=g;return}}case 2:{k[e>>2]=k[(k[f>>2]|0)+16>>2];k[d>>2]=k[k[k[e>>2]>>2]>>2];f=(k[k[e>>2]>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+-1;bc[k[(k[d>>2]|0)+28>>2]&255](k[e>>2]|0)|0;r=g;return}default:{r=g;return}}}function WI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return ((l[(k[d>>2]|0)+67>>0]|0)&k[c>>2]|0)!=0|0}function XI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return 1!=(l[(k[b>>2]|0)+66>>0]|0|0)|0}function YI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[c>>2]=b;if(1==(l[(k[d>>2]|0)+66>>0]|0|0)?((l[(k[d>>2]|0)+64>>0]|0)&8|0)!=0:0){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}b=EF(k[d>>2]|0)|0;k[f>>2]=b;do if(!(k[f>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}k[c>>2]=0;c=uF(k[d>>2]|0)|0;k[f>>2]=c;c=(k[d>>2]|0)+64|0;a=l[c>>0]|0;if(!(k[f>>2]|0)){i[c>>0]=a|8;break}else{i[c>>0]=a&-9;break}}while(0);k[e>>2]=k[f>>2];f=k[e>>2]|0;r=g;return f|0}function ZI(a,b,c,d,e,f,g,h,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=r;r=r+80|0;o=H+72|0;p=H+68|0;q=H+64|0;s=H;t=H+60|0;u=H+56|0;v=H+52|0;w=H+48|0;I=H+44|0;E=H+40|0;y=H+36|0;F=H+32|0;x=H+28|0;D=H+24|0;B=H+20|0;C=H+16|0;A=H+12|0;z=H+8|0;G=H+76|0;k[p>>2]=a;k[q>>2]=b;b=s;k[b>>2]=c;k[b+4>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=g;k[w>>2]=h;k[I>>2]=n;k[y>>2]=k[I>>2];k[F>>2]=0;k[B>>2]=k[k[p>>2]>>2];k[C>>2]=k[(k[B>>2]|0)+4>>2];k[z>>2]=0;c=k[p>>2]|0;if((l[(k[p>>2]|0)+66>>0]|0)==4){k[o>>2]=k[c+60>>2];I=k[o>>2]|0;r=H;return I|0}if((l[c+64>>0]&32|0)!=0?(I=KH(k[C>>2]|0,k[(k[p>>2]|0)+52>>2]|0,k[p>>2]|0)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}do if(!(k[(k[p>>2]|0)+72>>2]|0)){I=s;QK(k[B>>2]|0,k[I>>2]|0,k[I+4>>2]|0,0);I=s;B=k[I+4>>2]|0;if((l[(k[p>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(k[I>>2]|0)>>>0>0)?(I=(k[p>>2]|0)+16|0,n=k[I>>2]|0,I=k[I+4>>2]|0,B=s,B=FR(k[B>>2]|0,k[B+4>>2]|0,1,0)|0,(n|0)==(B|0)&(I|0)==(L|0)):0){k[y>>2]=-1;break}if((k[y>>2]|0)==0?(I=s,I=CF(k[p>>2]|0,0,k[I>>2]|0,k[I+4>>2]|0,k[w>>2]|0,y)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}}else if((k[y>>2]|0)==0?(I=s,I=zF(k[p>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[w>>2]|0,y)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}while(0);k[D>>2]=k[(k[p>>2]|0)+120+(i[(k[p>>2]|0)+68>>0]<<2)>>2];k[z>>2]=k[(k[C>>2]|0)+80>>2];I=s;I=hM(k[D>>2]|0,k[z>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,F)|0;k[E>>2]=I;do if(!(k[E>>2]|0)){k[x>>2]=m[(k[p>>2]|0)+80+(i[(k[p>>2]|0)+68>>0]<<1)>>1];if(!(k[y>>2]|0)){I=Pg(k[(k[D>>2]|0)+72>>2]|0)|0;k[E>>2]=I;if(k[E>>2]|0)break;k[A>>2]=(k[(k[D>>2]|0)+56>>2]|0)+(m[(k[D>>2]|0)+20>>1]&(l[(k[(k[D>>2]|0)+64>>2]|0)+(k[x>>2]<<1)>>0]<<8|l[(k[(k[D>>2]|0)+64>>2]|0)+(k[x>>2]<<1)+1>>0]));if(!(i[(k[D>>2]|0)+4>>0]|0)){I=k[z>>2]|0;C=k[A>>2]|0;i[I>>0]=i[C>>0]|0;i[I+1>>0]=i[C+1>>0]|0;i[I+2>>0]=i[C+2>>0]|0;i[I+3>>0]=i[C+3>>0]|0}I=SK(k[D>>2]|0,k[A>>2]|0,G)|0;k[E>>2]=I;PL(k[D>>2]|0,k[x>>2]|0,m[G>>1]|0,E);if(k[E>>2]|0)break}else if((k[y>>2]|0)<0?(m[(k[D>>2]|0)+18>>1]|0)>0:0){G=(k[p>>2]|0)+80+(i[(k[p>>2]|0)+68>>0]<<1)|0;I=(j[G>>1]|0)+1<<16>>16;j[G>>1]=I;k[x>>2]=I&65535}QL(k[D>>2]|0,k[x>>2]|0,k[z>>2]|0,k[F>>2]|0,0,0,E);j[(k[p>>2]|0)+16+18>>1]=0;if((k[E>>2]|0)==0?(l[(k[D>>2]|0)+1>>0]|0)!=0:0){I=(k[p>>2]|0)+64|0;i[I>>0]=l[I>>0]&-3;I=RL(k[p>>2]|0)|0;k[E>>2]=I;i[(k[(k[p>>2]|0)+120+(i[(k[p>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;i[(k[p>>2]|0)+66>>0]=0}}while(0);k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}function _I(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;t=z+56|0;u=z+52|0;A=z+63|0;f=z+48|0;g=z+44|0;y=z+40|0;x=z+36|0;h=z+32|0;w=z+28|0;v=z+24|0;p=z+60|0;s=z+20|0;q=z+62|0;e=z+16|0;n=z+12|0;d=z+8|0;c=z+4|0;o=z;k[u>>2]=a;i[A>>0]=b;k[f>>2]=k[k[u>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+4>>2];k[s>>2]=0;i[q>>0]=l[A>>0]&2;k[v>>2]=i[(k[u>>2]|0)+68>>0];k[w>>2]=m[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1];k[x>>2]=k[(k[u>>2]|0)+120+(k[v>>2]<<2)>>2];k[h>>2]=(k[(k[x>>2]|0)+56>>2]|0)+(m[(k[x>>2]|0)+20>>1]&(l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)>>0]<<8|l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)+1>>0]));do if(i[q>>0]|0){if((i[(k[x>>2]|0)+4>>0]|0)!=0?(A=m[(k[x>>2]|0)+16>>1]|0,A=A+((eu(k[x>>2]|0,k[h>>2]|0)|0)&65535)+2|0,(A|0)<=((k[(k[g>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){k[s>>2]=1;break}A=OH(k[u>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}while(0);if((i[(k[x>>2]|0)+4>>0]|0)==0?(k[e>>2]=0,A=qF(k[u>>2]|0,e)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if((l[(k[u>>2]|0)+64>>0]&32|0)!=0?(A=KH(k[g>>2]|0,k[(k[u>>2]|0)+52>>2]|0,k[u>>2]|0)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(k[(k[u>>2]|0)+72>>2]|0)){A=(k[u>>2]|0)+16|0;QK(k[f>>2]|0,k[A>>2]|0,k[A+4>>2]|0,0)}A=Pg(k[(k[x>>2]|0)+72>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}A=SK(k[x>>2]|0,k[h>>2]|0,p)|0;k[y>>2]=A;PL(k[x>>2]|0,k[w>>2]|0,m[p>>1]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(i[(k[x>>2]|0)+4>>0]|0)){k[n>>2]=k[(k[u>>2]|0)+120+(i[(k[u>>2]|0)+68>>0]<<2)>>2];k[c>>2]=k[(k[(k[u>>2]|0)+120+((k[v>>2]|0)+1<<2)>>2]|0)+84>>2];k[h>>2]=(k[(k[n>>2]|0)+56>>2]|0)+(m[(k[n>>2]|0)+20>>1]&(l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((k[h>>2]|0)>>>0<((k[(k[n>>2]|0)+56>>2]|0)+4|0)>>>0){A=Yj(65938)|0;k[t>>2]=A;A=k[t>>2]|0;r=z;return A|0}A=(gc[k[(k[n>>2]|0)+76>>2]&255](k[n>>2]|0,k[h>>2]|0)|0)&65535;k[d>>2]=A;k[o>>2]=k[(k[g>>2]|0)+80>>2];A=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[y>>2]=A;QL(k[x>>2]|0,k[w>>2]|0,(k[h>>2]|0)+-4|0,(k[d>>2]|0)+4|0,k[o>>2]|0,k[c>>2]|0,y);PL(k[n>>2]|0,(m[(k[n>>2]|0)+18>>1]|0)-1|0,k[d>>2]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}A=RL(k[u>>2]|0)|0;k[y>>2]=A;if((k[y>>2]|0)==0?(i[(k[u>>2]|0)+68>>0]|0)>(k[v>>2]|0):0){while(1){b=k[u>>2]|0;if((i[(k[u>>2]|0)+68>>0]|0)<=(k[v>>2]|0))break;p=b+68|0;A=i[p>>0]|0;i[p>>0]=A+-1<<24>>24;NB(k[(k[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}A=RL(b)|0;k[y>>2]=A}do if(!(k[y>>2]|0)){b=k[u>>2]|0;if(!(k[s>>2]|0)){A=EF(b)|0;k[y>>2]=A;if(!(i[q>>0]|0))break;i[(k[u>>2]|0)+66>>0]=3;break}i[b+66>>0]=2;b=(k[u>>2]|0)+60|0;if((k[w>>2]|0)>=(m[(k[x>>2]|0)+18>>1]|0)){k[b>>2]=-1;j[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1]=(m[(k[x>>2]|0)+18>>1]|0)-1;break}else{k[b>>2]=1;break}}while(0);k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}function $I(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;n=s+44|0;t=s+40|0;o=s+36|0;e=s+32|0;p=s+28|0;l=s+24|0;q=s+20|0;i=s+16|0;f=s+12|0;h=s+8|0;g=s+4|0;k[t>>2]=a;k[o>>2]=b;k[e>>2]=c;k[p>>2]=d;k[l>>2]=k[(k[t>>2]|0)+16>>2];k[q>>2]=k[(k[l>>2]|0)+32>>2];k[i>>2]=k[(k[t>>2]|0)+24>>2];do if(!(k[q>>2]|0)){t=AF(k[i>>2]|0,0,0,s)|0;k[(k[l>>2]|0)+32>>2]=t;k[q>>2]=t;if(k[q>>2]|0){j[(k[q>>2]|0)+8>>1]=k[e>>2];break}k[n>>2]=7;t=k[n>>2]|0;r=s;return t|0}while(0);t=OL(k[l>>2]|0,g)|0;k[h>>2]=t;BF(k[i>>2]|0,k[g>>2]|0,k[h>>2]|0,k[q>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0)){e=10;break}if((m[(k[(k[q>>2]|0)+4>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]|0)&1){e=8;break}k[f>>2]=(k[f>>2]|0)+1}if((e|0)==8){k[k[p>>2]>>2]=-1;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}else if((e|0)==10){t=PF(k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[q>>2]|0)|0;k[k[p>>2]>>2]=t;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}return 0}function aJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+20|0;i=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[i>>2]=a;k[d>>2]=b;k[h>>2]=k[(k[i>>2]|0)+16>>2];b=OL(k[h>>2]|0,e)|0;k[f>>2]=b;if(Qx(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=7;i=k[c>>2]|0;r=g;return i|0}else{k[(k[d>>2]|0)+12>>2]=k[e>>2];j[(k[d>>2]|0)+8>>1]=(m[(k[d>>2]|0)+8>>1]|0)&-49664|16;IR(k[(k[d>>2]|0)+16>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=0;i=k[c>>2]|0;r=g;return i|0}return 0}function bJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+8>>2]|0)){r=f;return}k[e>>2]=k[k[c>>2]>>2];bg(k[e>>2]|0,k[(k[c>>2]|0)+44>>2]|0);b=zh(k[e>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[c>>2]|0)+44>>2]=b;Ud(k[(k[d>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+8>>2]=0;r=f;return}function cJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(LL(k[(k[c>>2]|0)+16>>2]|0)|0){a=ML(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function dJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+12|0;c=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[e>>2]=k[(k[h>>2]|0)+16>>2];b=k[e>>2]|0;if(l[(k[e>>2]|0)+56>>0]|0){h=aL(b)|0;k[f>>2]=h;k[f>>2]=k[f>>2];if(!(k[f>>2]|0)){h=zL(k[e>>2]|0)|0;k[f>>2]=h;k[k[c>>2]>>2]=0}k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}a=k[c>>2]|0;if(k[b+36>>2]|0){k[a>>2]=0;h=dL((k[e>>2]|0)+64|0,(k[e>>2]|0)+36|0)|0;k[f>>2]=h}else k[a>>2]=1;k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}function eJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;c=f+4|0;e=f;k[d>>2]=a;k[c>>2]=b;b=EF(k[d>>2]|0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}else{k[c>>2]=0;d=fG(k[d>>2]|0)|0;k[e>>2]=d;break}}while(0);r=f;return k[e>>2]|0}function fJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;d=j+20|0;l=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;f=j;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[g>>2]=k[(k[l>>2]|0)+16>>2];a=k[g>>2]|0;if(i[(k[g>>2]|0)+56>>0]|0){l=qL(k[a+20>>2]|0,k[e>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;r=j;return l|0}k[f>>2]=k[a+36>>2];k[(k[g>>2]|0)+36>>2]=k[(k[f>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;if(!(k[(k[g>>2]|0)+36+4>>2]|0))MK(k[d>>2]|0,k[f>>2]|0);k[k[e>>2]>>2]=((k[(k[g>>2]|0)+36>>2]|0)!=0^1)&1;k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}function gJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;f=t+52|0;u=t+48|0;g=t+44|0;q=t+40|0;s=t+36|0;p=t+32|0;d=t+28|0;o=t+24|0;e=t+20|0;c=t+16|0;m=t+12|0;h=t+8|0;j=t+4|0;n=t;k[u>>2]=a;k[g>>2]=b;k[s>>2]=0;k[q>>2]=k[(k[u>>2]|0)+16>>2];a=(k[(k[g>>2]|0)+16>>2]|0)+1|0;if((l[(k[(k[g>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)k[c>>2]=l[a>>0];else RF(a,c)|0;do if((k[c>>2]|0)>0&(k[c>>2]|0)<10&(k[c>>2]|0)!=7){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&1}else{if((k[c>>2]|0)>10?(k[c>>2]&1|0)!=0:0){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&2;break}i[(k[q>>2]|0)+60>>0]=0}while(0);k[o>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;c=k[(k[g>>2]|0)+12>>2]|0;u=k[(k[g>>2]|0)+12>>2]|0;u=c+(XF(u,((u|0)<0)<<31>>31)|0)|0;k[e>>2]=u;if(k[(k[q>>2]|0)+4>>2]|0){a=k[q>>2]|0;if(k[(k[q>>2]|0)+36+4>>2]|0){if(k[a+48>>2]|0)a=((k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0)|0)>(k[(k[q>>2]|0)+4>>2]|0);else a=0;k[d>>2]=a&1}else{if((k[a+36+8>>2]|0)<=(k[(k[q>>2]|0)+4>>2]|0))if((k[(k[q>>2]|0)+36+8>>2]|0)>(k[k[q>>2]>>2]|0))a=(_u()|0)!=0;else a=0;else a=1;k[d>>2]=a&1}if(k[d>>2]|0){u=aL(k[q>>2]|0)|0;k[s>>2]=u;k[(k[q>>2]|0)+36+8>>2]=0;k[(k[q>>2]|0)+48>>2]=0}}u=(k[q>>2]|0)+36+8|0;k[u>>2]=(k[u>>2]|0)+(k[e>>2]|0);if((k[e>>2]|0)>(k[(k[q>>2]|0)+8>>2]|0))k[(k[q>>2]|0)+8>>2]=k[e>>2];do if(k[(k[q>>2]|0)+36+4>>2]|0){k[m>>2]=(k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0);do if((k[m>>2]|0)>(k[(k[q>>2]|0)+52>>2]|0)){k[j>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0);k[n>>2]=k[(k[q>>2]|0)+52>>2]<<1;while(1){a=k[n>>2]|0;if((k[n>>2]|0)>=(k[m>>2]|0))break;k[n>>2]=a<<1}if((a|0)>(k[(k[q>>2]|0)+4>>2]|0))k[n>>2]=k[(k[q>>2]|0)+4>>2];if((k[n>>2]|0)<(k[m>>2]|0))k[n>>2]=k[m>>2];u=k[n>>2]|0;u=mg(k[(k[q>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;k[h>>2]=u;if(k[h>>2]|0){k[(k[q>>2]|0)+36>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[(k[q>>2]|0)+36+4>>2]=k[h>>2];k[(k[q>>2]|0)+52>>2]=k[n>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);k[p>>2]=(k[(k[q>>2]|0)+36+4>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0);u=(k[q>>2]|0)+48|0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+7&-8);if(k[(k[q>>2]|0)+36>>2]|0)k[(k[p>>2]|0)+4>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0)}else{u=k[o>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[p>>2]=u;if(k[p>>2]|0){k[(k[p>>2]|0)+4>>2]=k[(k[q>>2]|0)+36>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);IR((k[p>>2]|0)+8|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0;k[k[p>>2]>>2]=k[(k[g>>2]|0)+12>>2];k[(k[q>>2]|0)+36>>2]=k[p>>2];k[f>>2]=k[s>>2];u=k[f>>2]|0;r=t;return u|0}function hJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+128|0;e=n+116|0;q=n+112|0;p=n+108|0;f=n+104|0;o=n+80|0;d=n+100|0;i=n+96|0;j=n+92|0;g=n+88|0;h=n+40|0;m=n;k[q>>2]=a;k[p>>2]=b;k[f>>2]=c;c=o;k[c>>2]=0;k[c+4>>2]=0;PH(k[p>>2]|0,o)|0;YF(h,k[q>>2]|0,0);c=EI(k[p>>2]|0,0,k[o>>2]|0,1,h)|0;k[d>>2]=c;if(k[d>>2]|0){k[e>>2]=k[d>>2];q=k[e>>2]|0;r=n;return q|0}a=k[h+16>>2]|0;if((l[k[h+16>>2]>>0]|0|0)<128)k[i>>2]=l[a>>0];else RF(a,i)|0;if((k[i>>2]|0)>>>0>=3?(k[i>>2]|0)<=(k[h+12>>2]|0):0){a=(k[h+16>>2]|0)+((k[i>>2]|0)-1)|0;if((l[(k[h+16>>2]|0)+((k[i>>2]|0)-1)>>0]|0|0)<128)k[j>>2]=l[a>>0];else RF(a,j)|0;if(!((k[j>>2]|0)>>>0<1|(k[j>>2]|0)>>>0>9|(k[j>>2]|0)==7)?(k[g>>2]=l[35576+(k[j>>2]|0)>>0],(k[h+12>>2]|0)>>>0>=((k[i>>2]|0)+(k[g>>2]|0)|0)>>>0):0){TF((k[h+16>>2]|0)+((k[h+12>>2]|0)-(k[g>>2]|0))|0,k[j>>2]|0,m)|0;o=m;p=k[o+4>>2]|0;q=k[f>>2]|0;k[q>>2]=k[o>>2];k[q+4>>2]=p;eh(h);k[e>>2]=0;q=k[e>>2]|0;r=n;return q|0}}eh(h);q=Yj(74309)|0;k[e>>2]=q;q=k[e>>2]|0;r=n;return q|0}function iJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+72|0;f=n+68|0;o=n+64|0;g=n+60|0;h=n+56|0;j=n+40|0;m=n+52|0;l=n+48|0;i=n;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[h>>2]=d;b=j;k[b>>2]=0;k[b+4>>2]=0;k[l>>2]=k[(k[o>>2]|0)+16>>2];PH(k[l>>2]|0,j)|0;b=j;a=k[b+4>>2]|0;d=j;c=k[d+4>>2]|0;if((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<=0|((c|0)>0|(c|0)==0&(k[d>>2]|0)>>>0>2147483647)){k[k[h>>2]>>2]=0;o=Yj(74343)|0;k[e>>2]=o;o=k[e>>2]|0;r=n;return o|0}YF(i,k[f>>2]|0,0);o=EI(k[l>>2]|0,0,k[j>>2]|0,1,i)|0;k[m>>2]=o;if(k[m>>2]|0){k[e>>2]=k[m>>2];o=k[e>>2]|0;r=n;return o|0}else{o=PF(k[i+12>>2]|0,k[i+16>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=o;eh(i);k[e>>2]=0;o=k[e>>2]|0;r=n;return o|0}return 0}function jJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);c=$K(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function kJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;l=m+4|0;j=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;k[g>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[n>>2]<<4);k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[l>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[l>>2]|0)+28>>2]|0)==(k[e>>2]|0))k[(k[l>>2]|0)+28>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+24;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[j>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[j>>2]|0)+44>>2]|0)==(k[e>>2]|0))k[(k[j>>2]|0)+44>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}r=m;return}function lJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);c=KH(k[g>>2]|0,k[e>>2]|0,0)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}QK(k[d>>2]|0,0,0,1);c=RK(k[g>>2]|0,k[e>>2]|0,0,k[f>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function mJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;KK(k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+20>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+59>>0]|0|0))break;k[f>>2]=(k[d>>2]|0)+64+((k[e>>2]|0)*72|0);LK(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+8>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}if(!(k[(k[d>>2]|0)+36+4>>2]|0))MK(0,k[(k[d>>2]|0)+36>>2]|0);k[(k[d>>2]|0)+36>>2]=0;k[(k[d>>2]|0)+36+8>>2]=0;i[(k[d>>2]|0)+56>>0]=0;k[(k[d>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+8>>2]=0;bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);k[(k[d>>2]|0)+32>>2]=0;r=g;return}function nJ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=lJ(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+52>>2]|0,0)|0;r=b;return a|0}function oJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;e=d+16|0;i=d+12|0;g=d+8|0;f=d+4|0;h=d;k[e>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[i>>2]<<4);c=ak((k[(k[h>>2]|0)+12>>2]|0)+8|0,k[g>>2]|0,0)|0;k[f>>2]=c;$f(k[e>>2]|0,k[f>>2]|0);c=(k[e>>2]|0)+24|0;k[c>>2]=k[c>>2]|2;r=d;return}function pJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;d=g+20|0;j=g+16|0;h=g+12|0;f=g+8|0;i=g+4|0;e=g;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;k[i>>2]=(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[j>>2]<<4)+12>>2]|0)+24;c=ak(k[i>>2]|0,k[h>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}a=k[f>>2]|0;if((k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[(k[a+12>>2]|0)+8>>2];while(1){if(k[e>>2]|0)b=(k[(k[e>>2]|0)+20>>2]|0)!=(k[f>>2]|0);else b=0;a=k[e>>2]|0;if(!b)break;k[e>>2]=k[a+20>>2]}if((a|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)==(k[f>>2]|0):0)k[(k[e>>2]|0)+20>>2]=k[(k[f>>2]|0)+20>>2]}else k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]=k[a+20>>2];sH(k[d>>2]|0,k[f>>2]|0);j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}function qJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;e=h+24|0;l=h+20|0;i=h+16|0;f=h+12|0;j=h+8|0;d=h+4|0;g=h;k[e>>2]=a;k[l>>2]=b;k[i>>2]=c;k[j>>2]=(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)+12>>2]|0)+40;c=ak(k[j>>2]|0,k[i>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){r=h;return}if((k[(k[f>>2]|0)+20>>2]|0)==(k[(k[f>>2]|0)+24>>2]|0)){l=YB(k[f>>2]|0)|0;k[d>>2]=l;k[g>>2]=(k[d>>2]|0)+60;while(1){a=(k[k[g>>2]>>2]|0)+32|0;if((k[k[g>>2]>>2]|0)==(k[f>>2]|0))break;k[g>>2]=a}k[k[g>>2]>>2]=k[a>>2]}_f(k[e>>2]|0,k[f>>2]|0);l=(k[e>>2]|0)+24|0;k[l>>2]=k[l>>2]|2;r=h;return}function rJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+240|0;s=t+16|0;q=t+8|0;v=t+124|0;f=t+120|0;g=t+116|0;u=t+112|0;h=t+108|0;j=t+104|0;o=t+32|0;n=t+24|0;p=t+20|0;m=t;k[v>>2]=a;k[f>>2]=b;k[g>>2]=c;k[u>>2]=d;k[h>>2]=e;k[n>>2]=k[(k[v>>2]|0)+4>>2];k[p>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2];wg(k[v>>2]|0);k[o>>2]=k[n>>2];k[o+4>>2]=k[k[n>>2]>>2];e=xF(k[o>>2]|0)|0;k[o+12>>2]=e;k[o+16>>2]=k[u>>2];k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o+32>>2]=0;k[o+36>>2]=0;k[o+8>>2]=0;k[o+68>>2]=0;ng(o+40|0,0,t+128|0,100,1e9);i[o+40+25>>0]=1;a:do if(k[o+12>>2]|0){v=ug((((k[o+12>>2]|0)>>>0)/8|0)+1|0,0)|0;k[o+8>>2]=v;if(!(k[o+8>>2]|0)){k[o+24>>2]=1;break}v=ej(k[(k[n>>2]|0)+32>>2]|0)|0;k[o+68>>2]=v;if(!(k[o+68>>2]|0)){k[o+24>>2]=1;break}k[j>>2]=(((k[381]|0)>>>0)/((k[(k[n>>2]|0)+32>>2]|0)>>>0)|0)+1;if((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0)BK(o,k[j>>2]|0);k[o+28>>2]=42219;v=or((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;CK(o,1,v,or((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);k[o+28>>2]=0;v=(k[(k[n>>2]|0)+4>>2]|0)+24|0;k[v>>2]=k[v>>2]&-536870913;k[j>>2]=0;while(1){if(!((k[j>>2]|0)<(k[g>>2]|0)?(k[o+16>>2]|0)!=0:0))break;if(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0){if((l[(k[n>>2]|0)+17>>0]|0)!=0?(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0)>1:0)DK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,1,0);EK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,m,-1,2147483647)|0}k[j>>2]=(k[j>>2]|0)+1}k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]=k[p>>2];k[j>>2]=1;while(1){if(!((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0?(k[o+16>>2]|0)!=0:0))break a;do if(!(FK(o,k[j>>2]|0)|0)){v=JF(k[n>>2]|0,k[j>>2]|0)|0;if((v|0)==(k[j>>2]|0)?(i[(k[n>>2]|0)+17>>0]|0)!=0:0)break;k[q>>2]=k[j>>2];GK(o,42235,q)}while(0);if(((FK(o,k[j>>2]|0)|0)!=0?(v=JF(k[n>>2]|0,k[j>>2]|0)|0,(v|0)==(k[j>>2]|0)):0)?(l[(k[n>>2]|0)+17>>0]|0)!=0:0){k[s>>2]=k[j>>2];GK(o,42257,s)}k[j>>2]=(k[j>>2]|0)+1}}while(0);hj(k[o+68>>2]|0);Ud(k[o+8>>2]|0);if(k[o+24>>2]|0){CA(o+40|0);v=o+20|0;k[v>>2]=(k[v>>2]|0)+1}k[k[h>>2]>>2]=k[o+20>>2];if(k[o+20>>2]|0){v=o+40|0;v=pg(v)|0;r=t;return v|0}CA(o+40|0);v=o+40|0;v=pg(v)|0;r=t;return v|0}function sJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+32>>2];eh(k[b>>2]|0);a=$w(k[c>>2]|0,64,0)|0;k[(k[b>>2]|0)+20>>2]=a;if(i[(k[c>>2]|0)+69>>0]|0){j[(k[b>>2]|0)+8>>1]=1;k[(k[b>>2]|0)+24>>2]=0;r=d;return}else{a=su(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[(k[b>>2]|0)+24>>2]=a;a=AK(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0,k[(k[b>>2]|0)+24>>2]|0)|0;k[k[b>>2]>>2]=a;j[(k[b>>2]|0)+8>>1]=32;r=d;return}}function tJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=yK(k[d>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=h;return}b=e;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+8>>2]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];if(k[g>>2]|0){b=k[e+4>>2]|0;a=k[g>>2]|0;c=k[a+4>>2]|0;if((b|0)<(c|0)|((b|0)==(c|0)?(k[e>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)){a=(k[d>>2]|0)+26|0;j[a>>1]=(m[a>>1]|0)&-2}k[(k[g>>2]|0)+8>>2]=k[f>>2]}else k[(k[d>>2]|0)+8>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];r=h;return}function uJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((m[(k[d>>2]|0)+26>>1]|0)&2)){if(!((m[(k[d>>2]|0)+26>>1]|0)&1)){b=uK(k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=b}b=(k[d>>2]|0)+26|0;j[b>>1]=m[b>>1]|0|3}if(!(k[(k[d>>2]|0)+8>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}g=k[(k[d>>2]|0)+8>>2]|0;a=k[g+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[g>>2];k[b+4>>2]=a;k[(k[d>>2]|0)+8>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+8>>2];if(!(k[(k[d>>2]|0)+8>>2]|0))bG(k[d>>2]|0);k[c>>2]=1;g=k[c>>2]|0;r=f;return g|0}function vJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;e=s+32|0;f=s+28|0;o=s;p=s+24|0;q=s+20|0;i=s+16|0;g=s+12|0;h=s+8|0;k[e>>2]=a;k[f>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;if((k[f>>2]|0)!=(k[(k[e>>2]|0)+28>>2]|0)){k[p>>2]=k[(k[e>>2]|0)+8>>2];if(k[p>>2]|0){k[i>>2]=(k[e>>2]|0)+20;if(!((m[(k[e>>2]|0)+26>>1]|0)&1)){a=uK(k[p>>2]|0)|0;k[p>>2]=a}k[q>>2]=k[(k[e>>2]|0)+20>>2];while(1){if(!(k[q>>2]|0))break;k[i>>2]=(k[q>>2]|0)+8;if(!(k[(k[q>>2]|0)+12>>2]|0)){l=8;break}wK(k[(k[q>>2]|0)+12>>2]|0,g,h);k[(k[q>>2]|0)+12>>2]=0;a=xK(k[g>>2]|0,k[p>>2]|0)|0;k[p>>2]=a;k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==8){l=vK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}if((k[q>>2]|0)==0?(l=yK(k[e>>2]|0)|0,k[q>>2]=l,k[k[i>>2]>>2]=l,(k[q>>2]|0)!=0):0){l=k[q>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[(k[q>>2]|0)+8>>2]=0;l=vK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;l=(k[e>>2]|0)+26|0;j[l>>1]=m[l>>1]|0|1}k[(k[e>>2]|0)+28>>2]=k[f>>2]}k[q>>2]=k[(k[e>>2]|0)+20>>2];a:while(1){if(!(k[q>>2]|0)){l=25;break}k[p>>2]=k[(k[q>>2]|0)+12>>2];while(1){if(!(k[p>>2]|0))break;i=k[p>>2]|0;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;c=k[p>>2]|0;if((a|0)<(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0<(k[l>>2]|0)>>>0:0)){k[p>>2]=k[c+8>>2];continue}i=c;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;if(!((a|0)>(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0>(k[l>>2]|0)>>>0:0))){l=23;break a}k[p>>2]=k[(k[p>>2]|0)+12>>2]}k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==23){k[n>>2]=1;q=k[n>>2]|0;r=s;return q|0}else if((l|0)==25){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function wJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((l[(k[c>>2]|0)+17>>0]|0|0)>=3){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,c=k[a+4>>2]|0,(c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0):0){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}function xJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[k[(k[b>>2]|0)+64>>2]>>2];if(i[(k[b>>2]|0)+14>>0]|0){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}if(!(l[(k[b>>2]|0)+4>>0]|0))if((k[k[c>>2]>>2]|0)>=2)b=(k[(k[c>>2]|0)+52>>2]|0)!=0;else b=0;else b=1;k[d>>2]=b&1;d=k[d>>2]|0;r=e;return d|0}function yJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if(!(k[(k[b>>2]|0)+216>>2]|0)){k[c>>2]=0;a=Ot(k[b>>2]|0,1)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=es(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+220>>2]|0,0,c)|0;k[d>>2]=a}if((k[d>>2]|0)==0&(k[c>>2]|0)!=0){a=pK(k[b>>2]|0)|0;k[d>>2]=a}}if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}if(!(k[(k[b>>2]|0)+216>>2]|0)){d=k[d>>2]|0;r=e;return d|0}a=qK(k[b>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=rr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[(k[b>>2]|0)+208>>2]|0)|0;k[d>>2]=a;k[(k[b>>2]|0)+216>>2]=0;ij(k[b>>2]|0);if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}if(i[(k[b>>2]|0)+4>>0]|0){d=k[d>>2]|0;r=e;return d|0}Nr(k[b>>2]|0,1)|0;d=k[d>>2]|0;r=e;return d|0}function zJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+12|0;d=h+8|0;e=h+16|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+5>>0]|0;if((i[(k[c>>2]|0)+16>>0]|0)!=0?(k[d>>2]|0)!=4&(k[d>>2]|0)!=2:0)k[d>>2]=l[e>>0];do if((k[d>>2]|0)!=(l[e>>0]|0)){i[(k[c>>2]|0)+5>>0]=k[d>>2];if(((i[(k[c>>2]|0)+4>>0]|0)==0?(l[e>>0]&5|0)==1:0)?(k[d>>2]&1|0)==0:0){wr(k[(k[c>>2]|0)+68>>2]|0);if((l[(k[c>>2]|0)+18>>0]|0)>=2){Fr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;break}k[f>>2]=0;k[g>>2]=l[(k[c>>2]|0)+17>>0];if(!(k[g>>2]|0)){a=iK(k[c>>2]|0)|0;k[f>>2]=a}if((l[(k[c>>2]|0)+17>>0]|0)==1){a=Ot(k[c>>2]|0,2)|0;k[f>>2]=a}if(!(k[f>>2]|0))Fr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;if((k[f>>2]|0)==0&(k[g>>2]|0)==1){Nr(k[c>>2]|0,1)|0;break}if(k[g>>2]|0)break;sr(k[c>>2]|0);break}if((k[d>>2]|0)==2)wr(k[(k[c>>2]|0)+68>>2]|0)}while(0);r=h;return l[(k[c>>2]|0)+5>>0]|0} -function YR(a,b,c){a=a|0;b=b|0;c=c|0;return na(2,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return na(3,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return na(4,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return na(5,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return na(6,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return na(7,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return na(8,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return na(9,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return na(10,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return na(11,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return na(12,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return na(13,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return na(14,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return na(15,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return na(16,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return na(17,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return na(18,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return na(19,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return na(20,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return na(21,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return na(22,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return na(23,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return na(24,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return na(25,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return na(26,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return na(27,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return na(28,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return na(29,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return na(30,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return na(31,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return na(32,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return na(33,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return na(34,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return na(35,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return na(36,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return na(37,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return na(38,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return na(39,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return na(40,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return na(41,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return na(42,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return na(43,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return na(44,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return na(45,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return na(46,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return na(47,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return na(48,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return na(49,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return na(50,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return na(51,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return na(52,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return na(53,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return na(54,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return na(55,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return na(56,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return na(57,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return na(58,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return na(59,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return na(60,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return na(61,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return na(62,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return na(63,a|0,b|0,c|0)|0}function eT(a){a=a|0;return Zb[a&255]()|0}function fT(){return pa(0)|0}function gT(){return pa(1)|0}function hT(){return pa(2)|0}function iT(){return pa(3)|0}function jT(){return pa(4)|0}function kT(){return pa(5)|0}function lT(){return pa(6)|0}function mT(){return pa(7)|0}function nT(){return pa(8)|0}function oT(){return pa(9)|0}function pT(){return pa(10)|0}function qT(){return pa(11)|0}function rT(){return pa(12)|0}function sT(){return pa(13)|0}function tT(){return pa(14)|0}function uT(){return pa(15)|0}function vT(){return pa(16)|0}function wT(){return pa(17)|0}function xT(){return pa(18)|0}function yT(){return pa(19)|0}function zT(){return pa(20)|0}function AT(){return pa(21)|0}function BT(){return pa(22)|0}function CT(){return pa(23)|0}function DT(){return pa(24)|0}function ET(){return pa(25)|0}function FT(){return pa(26)|0}function GT(){return pa(27)|0}function HT(){return pa(28)|0}function IT(){return pa(29)|0}function JT(){return pa(30)|0}function KT(){return pa(31)|0}function LT(){return pa(32)|0}function MT(){return pa(33)|0}function NT(){return pa(34)|0}function OT(){return pa(35)|0}function PT(){return pa(36)|0}function QT(){return pa(37)|0}function RT(){return pa(38)|0}function ST(){return pa(39)|0}function TT(){return pa(40)|0}function UT(){return pa(41)|0}function VT(){return pa(42)|0}function WT(){return pa(43)|0}function XT(){return pa(44)|0}function YT(){return pa(45)|0}function ZT(){return pa(46)|0}function _T(){return pa(47)|0}function $T(){return pa(48)|0}function aU(){return pa(49)|0}function bU(){return pa(50)|0}function cU(){return pa(51)|0}function dU(){return pa(52)|0}function eU(){return pa(53)|0}function fU(){return pa(54)|0}function gU(){return pa(55)|0}function hU(){return pa(56)|0}function iU(){return pa(57)|0}function jU(){return pa(58)|0}function kU(){return pa(59)|0}function lU(){return pa(60)|0}function mU(){return pa(61)|0}function nU(){return pa(62)|0}function oU(){return pa(63)|0}function pU(a,b){a=a|0;b=b|0;_b[a&255](b|0)}function qU(a){a=a|0;ra(0,a|0)}function rU(a){a=a|0;ra(1,a|0)}function sU(a){a=a|0;ra(2,a|0)}function tU(a){a=a|0;ra(3,a|0)}function uU(a){a=a|0;ra(4,a|0)}function vU(a){a=a|0;ra(5,a|0)}function wU(a){a=a|0;ra(6,a|0)}function xU(a){a=a|0;ra(7,a|0)}function yU(a){a=a|0;ra(8,a|0)}function zU(a){a=a|0;ra(9,a|0)}function AU(a){a=a|0;ra(10,a|0)}function BU(a){a=a|0;ra(11,a|0)}function CU(a){a=a|0;ra(12,a|0)}function DU(a){a=a|0;ra(13,a|0)}function EU(a){a=a|0;ra(14,a|0)}function FU(a){a=a|0;ra(15,a|0)}function GU(a){a=a|0;ra(16,a|0)}function HU(a){a=a|0;ra(17,a|0)}function IU(a){a=a|0;ra(18,a|0)}function JU(a){a=a|0;ra(19,a|0)}function KU(a){a=a|0;ra(20,a|0)}function LU(a){a=a|0;ra(21,a|0)}function MU(a){a=a|0;ra(22,a|0)}function NU(a){a=a|0;ra(23,a|0)}function OU(a){a=a|0;ra(24,a|0)}function PU(a){a=a|0;ra(25,a|0)}function QU(a){a=a|0;ra(26,a|0)}function RU(a){a=a|0;ra(27,a|0)}function SU(a){a=a|0;ra(28,a|0)}function TU(a){a=a|0;ra(29,a|0)}function UU(a){a=a|0;ra(30,a|0)}function VU(a){a=a|0;ra(31,a|0)}function WU(a){a=a|0;ra(32,a|0)}function XU(a){a=a|0;ra(33,a|0)}function YU(a){a=a|0;ra(34,a|0)}function ZU(a){a=a|0;ra(35,a|0)}function _U(a){a=a|0;ra(36,a|0)}function $U(a){a=a|0;ra(37,a|0)}function aV(a){a=a|0;ra(38,a|0)}function bV(a){a=a|0;ra(39,a|0)}function cV(a){a=a|0;ra(40,a|0)}function dV(a){a=a|0;ra(41,a|0)}function eV(a){a=a|0;ra(42,a|0)}function fV(a){a=a|0;ra(43,a|0)}function gV(a){a=a|0;ra(44,a|0)}function hV(a){a=a|0;ra(45,a|0)}function iV(a){a=a|0;ra(46,a|0)}function jV(a){a=a|0;ra(47,a|0)}function kV(a){a=a|0;ra(48,a|0)}function lV(a){a=a|0;ra(49,a|0)}function mV(a){a=a|0;ra(50,a|0)}function nV(a){a=a|0;ra(51,a|0)}function oV(a){a=a|0;ra(52,a|0)}function pV(a){a=a|0;ra(53,a|0)}function qV(a){a=a|0;ra(54,a|0)}function rV(a){a=a|0;ra(55,a|0)}function sV(a){a=a|0;ra(56,a|0)}function tV(a){a=a|0;ra(57,a|0)}function uV(a){a=a|0;ra(58,a|0)}function vV(a){a=a|0;ra(59,a|0)}function wV(a){a=a|0;ra(60,a|0)}function xV(a){a=a|0;ra(61,a|0)}function yV(a){a=a|0;ra(62,a|0)}function zV(a){a=a|0;ra(63,a|0)}function AV(a,b,c){a=a|0;b=b|0;c=c|0;$b[a&255](b|0,c|0)}function BV(a,b){a=a|0;b=b|0;ta(0,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ta(1,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ta(2,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ta(3,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ta(4,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ta(5,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ta(6,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ta(7,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ta(8,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ta(9,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ta(10,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ta(11,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ta(12,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ta(13,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ta(14,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ta(15,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ta(16,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ta(17,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ta(18,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ta(19,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ta(20,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ta(21,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ta(22,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ta(23,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ta(24,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ta(25,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ta(26,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ta(27,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ta(28,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ta(29,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ta(30,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ta(31,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ta(32,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ta(33,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ta(34,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ta(35,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ta(36,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ta(37,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ta(38,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ta(39,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ta(40,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ta(41,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ta(42,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ta(43,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ta(44,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ta(45,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ta(46,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ta(47,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ta(48,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ta(49,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ta(50,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ta(51,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ta(52,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ta(53,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ta(54,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ta(55,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ta(56,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ta(57,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ta(58,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ta(59,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ta(60,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ta(61,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ta(62,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ta(63,a|0,b|0)}function LW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ac[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b){a=a|0;b=b|0;return bc[a&255](b|0)|0}function XX(a){a=a|0;return xa(0,a|0)|0}function YX(a){a=a|0;return xa(1,a|0)|0}function ZX(a){a=a|0;return xa(2,a|0)|0}function _X(a){a=a|0;return xa(3,a|0)|0}function $X(a){a=a|0;return xa(4,a|0)|0}function aY(a){a=a|0;return xa(5,a|0)|0}function bY(a){a=a|0;return xa(6,a|0)|0}function cY(a){a=a|0;return xa(7,a|0)|0}function dY(a){a=a|0;return xa(8,a|0)|0}function eY(a){a=a|0;return xa(9,a|0)|0}function fY(a){a=a|0;return xa(10,a|0)|0}function gY(a){a=a|0;return xa(11,a|0)|0}function hY(a){a=a|0;return xa(12,a|0)|0}function iY(a){a=a|0;return xa(13,a|0)|0}function jY(a){a=a|0;return xa(14,a|0)|0}function kY(a){a=a|0;return xa(15,a|0)|0}function lY(a){a=a|0;return xa(16,a|0)|0}function mY(a){a=a|0;return xa(17,a|0)|0}function nY(a){a=a|0;return xa(18,a|0)|0}function oY(a){a=a|0;return xa(19,a|0)|0}function pY(a){a=a|0;return xa(20,a|0)|0}function qY(a){a=a|0;return xa(21,a|0)|0}function rY(a){a=a|0;return xa(22,a|0)|0}function sY(a){a=a|0;return xa(23,a|0)|0}function tY(a){a=a|0;return xa(24,a|0)|0}function uY(a){a=a|0;return xa(25,a|0)|0}function vY(a){a=a|0;return xa(26,a|0)|0}function wY(a){a=a|0;return xa(27,a|0)|0}function xY(a){a=a|0;return xa(28,a|0)|0}function yY(a){a=a|0;return xa(29,a|0)|0}function zY(a){a=a|0;return xa(30,a|0)|0}function AY(a){a=a|0;return xa(31,a|0)|0}function BY(a){a=a|0;return xa(32,a|0)|0}function CY(a){a=a|0;return xa(33,a|0)|0}function DY(a){a=a|0;return xa(34,a|0)|0}function EY(a){a=a|0;return xa(35,a|0)|0}function FY(a){a=a|0;return xa(36,a|0)|0}function GY(a){a=a|0;return xa(37,a|0)|0}function HY(a){a=a|0;return xa(38,a|0)|0}function IY(a){a=a|0;return xa(39,a|0)|0}function JY(a){a=a|0;return xa(40,a|0)|0}function KY(a){a=a|0;return xa(41,a|0)|0}function LY(a){a=a|0;return xa(42,a|0)|0}function MY(a){a=a|0;return xa(43,a|0)|0}function NY(a){a=a|0;return xa(44,a|0)|0}function OY(a){a=a|0;return xa(45,a|0)|0}function PY(a){a=a|0;return xa(46,a|0)|0}function QY(a){a=a|0;return xa(47,a|0)|0}function RY(a){a=a|0;return xa(48,a|0)|0}function SY(a){a=a|0;return xa(49,a|0)|0}function TY(a){a=a|0;return xa(50,a|0)|0}function UY(a){a=a|0;return xa(51,a|0)|0}function VY(a){a=a|0;return xa(52,a|0)|0}function WY(a){a=a|0;return xa(53,a|0)|0}function XY(a){a=a|0;return xa(54,a|0)|0}function YY(a){a=a|0;return xa(55,a|0)|0}function ZY(a){a=a|0;return xa(56,a|0)|0}function _Y(a){a=a|0;return xa(57,a|0)|0}function $Y(a){a=a|0;return xa(58,a|0)|0}function aZ(a){a=a|0;return xa(59,a|0)|0}function bZ(a){a=a|0;return xa(60,a|0)|0}function cZ(a){a=a|0;return xa(61,a|0)|0}function dZ(a){a=a|0;return xa(62,a|0)|0}function eZ(a){a=a|0;return xa(63,a|0)|0}function fZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cc[a&255](b|0,c|0,d|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;za(0,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;za(1,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;za(2,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;za(3,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;za(4,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;za(5,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;za(6,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;za(7,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;za(8,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;za(9,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;za(10,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;za(11,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;za(12,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;za(13,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;za(14,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;za(15,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;za(16,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;za(17,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;za(18,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;za(19,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;za(20,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;za(21,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;za(22,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;za(23,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;za(24,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;za(25,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;za(26,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;za(27,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;za(28,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;za(29,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;za(30,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;za(31,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;za(32,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;za(33,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;za(34,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;za(35,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;za(36,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;za(37,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;za(38,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;za(39,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;za(40,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;za(41,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;za(42,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;za(43,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;za(44,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;za(45,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;za(46,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;za(47,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;za(48,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;za(49,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;za(50,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;za(51,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;za(52,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;za(53,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;za(54,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;za(55,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;za(56,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;za(57,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;za(58,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;za(59,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;za(60,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;za(61,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;za(62,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;za(63,a|0,b|0,c|0)}function q_(a){a=a|0;dc[a&255]()}function r_(){Ba(0)}function s_(){Ba(1)}function t_(){Ba(2)}function u_(){Ba(3)}function v_(){Ba(4)}function w_(){Ba(5)}function x_(){Ba(6)}function y_(){Ba(7)}function z_(){Ba(8)}function A_(){Ba(9)}function B_(){Ba(10)}function C_(){Ba(11)}function D_(){Ba(12)}function E_(){Ba(13)}function F_(){Ba(14)}function G_(){Ba(15)}function H_(){Ba(16)}function I_(){Ba(17)}function J_(){Ba(18)}function K_(){Ba(19)}function L_(){Ba(20)}function M_(){Ba(21)}function N_(){Ba(22)}function O_(){Ba(23)}function P_(){Ba(24)}function Q_(){Ba(25)}function R_(){Ba(26)}function S_(){Ba(27)}function T_(){Ba(28)}function U_(){Ba(29)}function V_(){Ba(30)}function W_(){Ba(31)}function X_(){Ba(32)}function Y_(){Ba(33)}function Z_(){Ba(34)}function __(){Ba(35)}function $_(){Ba(36)}function a$(){Ba(37)}function b$(){Ba(38)}function c$(){Ba(39)}function d$(){Ba(40)}function e$(){Ba(41)}function f$(){Ba(42)}function g$(){Ba(43)}function h$(){Ba(44)}function i$(){Ba(45)}function j$(){Ba(46)}function k$(){Ba(47)}function l$(){Ba(48)}function m$(){Ba(49)}function n$(){Ba(50)}function o$(){Ba(51)}function p$(){Ba(52)}function q$(){Ba(53)}function r$(){Ba(54)}function s$(){Ba(55)}function t$(){Ba(56)}function u$(){Ba(57)}function v$(){Ba(58)}function w$(){Ba(59)}function x$(){Ba(60)}function y$(){Ba(61)}function z$(){Ba(62)}function A$(){Ba(63)}function B$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ec[a&255](b|0,c|0,d|0,e|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(0,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(1,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(2,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(3,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(4,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(5,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(6,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(7,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(8,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(9,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(10,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(11,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(12,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(13,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(14,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(15,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(16,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(17,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(18,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(19,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(20,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(21,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(22,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(23,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(24,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(25,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(26,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(27,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(28,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(29,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(30,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(31,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(32,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(33,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(34,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(35,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(36,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(37,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(38,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(39,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(40,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(41,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(42,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(43,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(44,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(45,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(46,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(47,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(48,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(49,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(50,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(51,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(52,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(53,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(54,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(55,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(56,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(57,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(58,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(59,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(60,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(61,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(62,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(63,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;fc[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c){a=a|0;b=b|0;c=c|0;return gc[a&255](b|0,c|0)|0}function Y1(a,b){a=a|0;b=b|0;return Ha(0,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return Ha(1,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return Ha(2,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return Ha(3,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return Ha(4,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return Ha(5,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return Ha(6,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return Ha(7,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return Ha(8,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return Ha(9,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return Ha(10,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return Ha(11,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return Ha(12,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return Ha(13,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return Ha(14,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return Ha(15,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return Ha(16,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return Ha(17,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return Ha(18,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return Ha(19,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return Ha(20,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return Ha(21,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return Ha(22,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return Ha(23,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return Ha(24,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return Ha(25,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return Ha(26,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return Ha(27,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return Ha(28,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return Ha(29,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return Ha(30,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return Ha(31,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return Ha(32,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return Ha(33,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return Ha(34,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return Ha(35,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return Ha(36,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return Ha(37,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return Ha(38,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return Ha(39,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return Ha(40,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return Ha(41,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return Ha(42,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return Ha(43,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return Ha(44,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return Ha(45,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return Ha(46,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return Ha(47,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return Ha(48,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return Ha(49,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return Ha(50,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return Ha(51,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return Ha(52,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return Ha(53,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return Ha(54,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return Ha(55,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return Ha(56,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return Ha(57,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return Ha(58,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return Ha(59,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return Ha(60,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return Ha(61,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return Ha(62,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return Ha(63,a|0,b|0)|0}function g3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return hc[a&255](b|0,c|0,d|0,e|0,f|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(0,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(1,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(2,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(3,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(4,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(5,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(6,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(7,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(8,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(9,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(10,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(11,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(12,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(13,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(14,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(15,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(16,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(17,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(18,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(19,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(20,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(21,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(22,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(23,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(24,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(25,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(26,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(27,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(28,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(29,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(30,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(31,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(32,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(33,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(34,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(35,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(36,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(37,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(38,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(39,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(40,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(41,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(42,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(43,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(44,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(45,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(46,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(47,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(48,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(49,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(50,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(51,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(52,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(53,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(54,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(55,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(56,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(57,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(58,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(59,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(60,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(61,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(62,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(63,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ic[a&255](b|0,c|0,d|0,e|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(0,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(1,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(2,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(3,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(4,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(5,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(6,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(7,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(8,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(9,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(10,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(11,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(12,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(13,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(14,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(15,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(16,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(17,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(18,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(19,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(20,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(21,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(22,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(23,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(24,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(25,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(26,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(27,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(28,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(29,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(30,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(31,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(32,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(33,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(34,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(35,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(36,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(37,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(38,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(39,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(40,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(41,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(42,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(43,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(44,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(45,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(46,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(47,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(48,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(49,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(50,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(51,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(52,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(53,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(54,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(55,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(56,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(57,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(58,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(59,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(60,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(61,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(62,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(63,a|0,b|0,c|0,d|0)}function C5(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function D5(){ka(1);return 0}function E5(a){a=a|0;ka(2)}function F5(a,b){a=a|0;b=b|0;ka(3)}function G5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(4);return 0}function H5(a){a=a|0;ka(5);return 0}function I5(a,b,c){a=a|0;b=b|0;c=c|0;ka(6)}function J5(){ka(7)}function K5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(8);return 0}function L5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(9)}function M5(a,b){a=a|0;b=b|0;ka(10);return 0}function N5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(11);return 0}function O5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(12)} +function tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+44|0;c=q+40|0;j=q+36|0;f=q+32|0;n=q+28|0;g=q+24|0;m=q+20|0;d=q+16|0;o=q+12|0;p=q+8|0;e=q;k[c>>2]=a;k[j>>2]=b;if(!(k[(k[j>>2]|0)+48>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}if(!(k[(k[j>>2]|0)+44>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[g>>2]=k[j>>2];while(1){if(!(k[g>>2]|0))break;if((l[(k[g>>2]|0)+4>>0]|0|0)!=116?(l[(k[g>>2]|0)+4>>0]|0|0)!=119:0)break;k[g>>2]=k[(k[g>>2]|0)+48>>2]}if(!(k[g>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[d>>2]=k[(k[(k[j>>2]|0)+44>>2]|0)+4>>2];k[f>>2]=(k[k[(k[j>>2]|0)+44>>2]>>2]|0)-1;while(1){if((k[f>>2]|0)<0)break;if(k[(k[(k[d>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[p>>2]=k[k[c>>2]>>2];k[m>>2]=k[k[p>>2]>>2];g=Ch(k[m>>2]|0,68,0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0};k[e>>2]=0;k[e+4>>2]=0;g=$v(k[p>>2]|0,0,0,0,e,k[n>>2]|0,0,0)|0;k[o>>2]=g;if(!(k[o>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0}else{c=k[n>>2]|0;d=k[j>>2]|0;e=c+68|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[(k[j>>2]|0)+28>>2]=k[o>>2];p=k[p>>2]|0;p=bw(p,0,ew(k[m>>2]|0,160,0)|0)|0;k[k[j>>2]>>2]=p;i[(k[j>>2]|0)+4>>0]=119;k[(k[j>>2]|0)+32>>2]=0;k[(k[n>>2]|0)+36>>2]=0;k[(k[n>>2]|0)+40>>2]=0;k[(k[n>>2]|0)+44>>2]=0;k[(k[j>>2]|0)+48>>2]=0;k[(k[j>>2]|0)+52>>2]=0;k[(k[j>>2]|0)+64>>2]=0;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]&-257;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]|65536;k[(k[(k[n>>2]|0)+48>>2]|0)+52>>2]=k[n>>2];k[(k[n>>2]|0)+56>>2]=0;k[(k[n>>2]|0)+60>>2]=0;k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}return 0}function uz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;o=Y+8|0;g=Y;p=Y+196|0;c=Y+192|0;q=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;f=Y+202|0;n=Y+140|0;e=Y+136|0;d=Y+200|0;s=Y+132|0;E=Y+128|0;h=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;k[c>>2]=a;k[q>>2]=b;k[F>>2]=k[k[c>>2]>>2];k[t>>2]=k[k[F>>2]>>2];j[f>>1]=k[(k[q>>2]|0)+8>>2];a=(k[q>>2]|0)+8|0;k[a>>2]=k[a>>2]|64;if(i[(k[t>>2]|0)+69>>0]|0){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}if((k[(k[q>>2]|0)+28>>2]|0)!=0?(m[f>>1]&64|0)==0:0){k[J>>2]=k[(k[q>>2]|0)+28>>2];k[A>>2]=k[k[q>>2]>>2];if((k[(k[c>>2]|0)+12>>2]|0)==132){a=k[F>>2]|0;f=(wz(k[q>>2]|0)|0)+64|0;lw(a,k[f>>2]|0,0)}jy(k[F>>2]|0,k[J>>2]|0);k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;a:while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0)){d=38;break}if(!((l[(k[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(xz(k[c>>2]|0,k[C>>2]|0)|0){d=12;break}do if(!(k[(k[C>>2]|0)+16>>2]|0)){if(!(k[(k[C>>2]|0)+8>>2]|0)){k[e>>2]=k[(k[C>>2]|0)+20>>2];if(Cy(k[c>>2]|0,k[e>>2]|0)|0){d=16;break a}f=Ch(k[t>>2]|0,72,0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=18;break a}j[(k[n>>2]|0)+36>>1]=1;f=k[t>>2]|0;k[g>>2]=k[n>>2];f=Qh(f,30109,g)|0;k[k[n>>2]>>2]=f;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}ly(k[F>>2]|0,k[k[e>>2]>>2]|0,(k[n>>2]|0)+34|0,(k[n>>2]|0)+4|0)|0;j[(k[n>>2]|0)+32>>1]=-1;j[(k[n>>2]|0)+38>>1]=200;f=(k[n>>2]|0)+42|0;i[f>>0]=l[f>>0]|2;break}f=zx(k[F>>2]|0,0,k[C>>2]|0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=24;break a}if((m[(k[n>>2]|0)+36>>1]|0)==65535){d=26;break a}f=(k[n>>2]|0)+36|0;j[f>>1]=(j[f>>1]|0)+1<<16>>16;if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(yz(k[F>>2]|0,k[C>>2]|0)|0)!=0:0){d=29;break a}if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(k[(k[n>>2]|0)+12>>2]|0)==0:0)break;if(by(k[F>>2]|0,k[n>>2]|0)|0){d=33;break a}f=iy(k[t>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[C>>2]|0)+20>>2]=f;j[d>>1]=j[(k[n>>2]|0)+34>>1]|0;j[(k[n>>2]|0)+34>>1]=-1;Cy(k[c>>2]|0,k[(k[C>>2]|0)+20>>2]|0)|0;j[(k[n>>2]|0)+34>>1]=j[d>>1]|0}while(0);if(zz(k[F>>2]|0,k[C>>2]|0)|0){d=36;break}}k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if((d|0)==12){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==16){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==18){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==24){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==26){X=k[F>>2]|0;k[o>>2]=k[k[n>>2]>>2];Oh(X,30122,o);k[(k[C>>2]|0)+16>>2]=0;k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==29){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==33){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==36){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==38){if((l[(k[t>>2]|0)+69>>0]|0)==0?(Az(k[F>>2]|0,k[q>>2]|0)|0)==0:0){k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[(k[A>>2]|0)+4>>2]|0)+((k[x>>2]|0)*20|0)>>2];if((l[k[z>>2]>>0]|0)==160)break;if((l[k[z>>2]>>0]|0)==122?(l[k[(k[z>>2]|0)+16>>2]>>0]|0)==160:0)break;k[x>>2]=(k[x>>2]|0)+1}if((k[x>>2]|0)<(k[k[A>>2]>>2]|0)){k[s>>2]=k[(k[A>>2]|0)+4>>2];k[E>>2]=0;k[h>>2]=k[(k[k[F>>2]>>2]|0)+24>>2];if(k[h>>2]&4)c=(k[h>>2]&64|0)==0;else c=0;k[y>>2]=c&1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2];k[G>>2]=k[(k[z>>2]|0)+16>>2];do if((l[k[z>>2]>>0]|0)!=160){if((l[k[z>>2]>>0]|0)==122?(l[k[G>>2]>>0]|0)==160:0){d=58;break}o=bw(k[F>>2]|0,k[E>>2]|0,k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]|0)|0;k[E>>2]=o;if(k[E>>2]|0){k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2];k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2];k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2]=0;k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2]=0}k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]=0}else d=58;while(0);do if((d|0)==58){d=0;k[M>>2]=0;k[V>>2]=0;if((l[k[z>>2]>>0]|0)==122)k[V>>2]=k[(k[(k[z>>2]|0)+12>>2]|0)+8>>2];k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0))break;k[I>>2]=k[(k[C>>2]|0)+16>>2];k[H>>2]=k[(k[C>>2]|0)+20>>2];k[W>>2]=k[(k[C>>2]|0)+12>>2];k[U>>2]=0;if(!(k[W>>2]|0))k[W>>2]=k[k[I>>2]>>2];if(i[(k[t>>2]|0)+69>>0]|0)break;if((k[H>>2]|0)!=0?(k[(k[H>>2]|0)+8>>2]&2048|0)!=0:0)d=72;else d=67;do if((d|0)==67){d=0;k[H>>2]=0;if((k[V>>2]|0)!=0?(sg(k[V>>2]|0,k[W>>2]|0)|0)!=0:0)break;o=Ph(k[t>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[v>>2]=o;if((k[v>>2]|0)>=0)c=k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)>>2]|0;else c=25451;k[U>>2]=c;d=72}while(0);b:do if((d|0)==72){d=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(j[(k[I>>2]|0)+34>>1]|0))break b;k[T>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)>>2];if(!((k[V>>2]|0)!=0&(k[H>>2]|0)!=0?(pz(k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0,0,k[V>>2]|0,0)|0)==0:0))d=76;do if((d|0)==76){d=0;if((k[(k[q>>2]|0)+8>>2]&131072|0)==0?(l[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)+15>>0]&2|0)!=0:0)break;k[M>>2]=1;if((k[u>>2]|0)>0&(k[V>>2]|0)==0){if((l[(k[C>>2]|0)+36>>0]&4|0)!=0?(Bz(k[J>>2]|0,k[u>>2]|0,k[T>>2]|0,0,0)|0)!=0:0)break;if((Cz(k[(k[C>>2]|0)+52>>2]|0,k[T>>2]|0)|0)>=0)break}o=ew(k[t>>2]|0,55,k[T>>2]|0)|0;k[G>>2]=o;k[S>>2]=k[T>>2];k[X>>2]=0;do if(k[y>>2]|0)d=84;else{if((k[k[J>>2]>>2]|0)>1){d=84;break}k[B>>2]=k[G>>2]}while(0);do if((d|0)==84){d=0;o=ew(k[t>>2]|0,55,k[W>>2]|0)|0;k[D>>2]=o;o=Ov(k[F>>2]|0,122,k[D>>2]|0,k[G>>2]|0,0)|0;k[B>>2]=o;if(k[U>>2]|0){o=ew(k[t>>2]|0,55,k[U>>2]|0)|0;k[D>>2]=o;o=Ov(k[F>>2]|0,122,k[D>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=o}if(!(k[y>>2]|0))break;o=k[t>>2]|0;n=k[T>>2]|0;k[R>>2]=k[W>>2];k[R+4>>2]=n;o=Qh(o,30161,R)|0;k[S>>2]=o;k[X>>2]=k[S>>2]}while(0);o=bw(k[F>>2]|0,k[E>>2]|0,k[B>>2]|0)|0;k[E>>2]=o;fz(L,k[S>>2]|0);cw(k[F>>2]|0,k[E>>2]|0,L,0);do if(k[E>>2]|0){if(!(k[(k[q>>2]|0)+8>>2]&2048))break;k[K>>2]=(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0);c=k[t>>2]|0;if(k[H>>2]|0){o=Ah(c,k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0)|0;k[(k[K>>2]|0)+8>>2]=o}else{n=k[W>>2]|0;o=k[S>>2]|0;k[N>>2]=k[U>>2];k[N+4>>2]=n;k[N+8>>2]=o;o=Qh(c,30167,N)|0;k[(k[K>>2]|0)+8>>2]=o}o=(k[K>>2]|0)+13|0;i[o>>0]=i[o>>0]&-3|2}while(0);bg(k[t>>2]|0,k[X>>2]|0)}while(0);k[w>>2]=(k[w>>2]|0)+1}}while(0);k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if(!(k[M>>2]|0)){c=k[F>>2]|0;if(k[V>>2]|0){k[O>>2]=k[V>>2];Oh(c,30176,O);break}else{Oh(c,30194,P);break}}}while(0);k[x>>2]=(k[x>>2]|0)+1}ov(k[t>>2]|0,k[A>>2]|0);k[k[q>>2]>>2]=k[E>>2]}if((k[k[q>>2]>>2]|0)!=0?(k[k[k[q>>2]>>2]>>2]|0)>(k[(k[t>>2]|0)+96+8>>2]|0):0){Oh(k[F>>2]|0,30214,Q);k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=0;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}}k[p>>2]=1;X=k[p>>2]|0;r=Y;return X|0}function vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;c=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[c>>2]=k[k[g>>2]>>2];a=(wz(k[f>>2]|0)|0)+64|0;k[d>>2]=k[a>>2];if(!(k[d>>2]|0)){r=e;return}k[(k[c>>2]|0)+472>>2]=k[(k[d>>2]|0)+4>>2];r=e;return}function wz(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+52>>2]|0))break;k[b>>2]=k[a+52>>2]}r=c;return a|0}function xz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;u=B+16|0;n=B+8|0;d=B;v=B+88|0;w=B+84|0;e=B+80|0;y=B+76|0;c=B+72|0;x=B+68|0;o=B+64|0;t=B+60|0;q=B+56|0;A=B+52|0;s=B+48|0;p=B+44|0;z=B+40|0;f=B+36|0;h=B+32|0;g=B+28|0;k[w>>2]=a;k[e>>2]=b;k[y>>2]=k[k[w>>2]>>2];k[c>>2]=k[k[y>>2]>>2];a=Pz(k[(k[y>>2]|0)+472>>2]|0,k[e>>2]|0,o)|0;k[x>>2]=a;if(k[x>>2]|0){b=k[y>>2]|0;if(k[(k[x>>2]|0)+12>>2]|0){A=k[(k[x>>2]|0)+12>>2]|0;k[d>>2]=k[k[x>>2]>>2];Oh(b,A,d);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}if(yz(b,k[e>>2]|0)|0){k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}d=Ch(k[c>>2]|0,72,0)|0;k[t>>2]=d;k[(k[e>>2]|0)+16>>2]=d;if(!(k[t>>2]|0)){k[v>>2]=2;A=k[v>>2]|0;r=B;return A|0}j[(k[t>>2]|0)+36>>1]=1;d=Ah(k[c>>2]|0,k[k[x>>2]>>2]|0)|0;k[k[t>>2]>>2]=d;j[(k[t>>2]|0)+32>>1]=-1;j[(k[t>>2]|0)+38>>1]=200;d=(k[t>>2]|0)+42|0;i[d>>0]=l[d>>0]|66;d=iy(k[c>>2]|0,k[(k[x>>2]|0)+8>>2]|0,0)|0;k[(k[e>>2]|0)+20>>2]=d;if(i[(k[c>>2]|0)+69>>0]|0){k[v>>2]=7;A=k[v>>2]|0;r=B;return A|0}k[A>>2]=k[(k[e>>2]|0)+20>>2];if((l[(k[A>>2]|0)+4>>0]|0)==116)b=1;else b=(l[(k[A>>2]|0)+4>>0]|0)==115;k[p>>2]=b&1;a:do if(k[p>>2]|0){k[h>>2]=k[(k[(k[e>>2]|0)+20>>2]|0)+28>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[h>>2]>>2]|0))break a;k[g>>2]=(k[h>>2]|0)+8+((k[f>>2]|0)*72|0);if(((k[(k[g>>2]|0)+4>>2]|0)==0?(k[(k[g>>2]|0)+8>>2]|0)!=0:0)?0==(sg(k[(k[g>>2]|0)+8>>2]|0,k[k[x>>2]>>2]|0)|0):0){k[(k[g>>2]|0)+16>>2]=k[t>>2];e=(k[g>>2]|0)+36+1|0;i[e>>0]=i[e>>0]&-33|32;e=(k[t>>2]|0)+36|0;j[e>>1]=(j[e>>1]|0)+1<<16>>16;e=(k[A>>2]|0)+8|0;k[e>>2]=k[e>>2]|8192}k[f>>2]=(k[f>>2]|0)+1}}while(0);if((m[(k[t>>2]|0)+36>>1]|0)>2){A=k[y>>2]|0;k[n>>2]=k[k[x>>2]>>2];Oh(A,30455,n);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+12>>2]=30498;k[z>>2]=k[(k[y>>2]|0)+472>>2];k[(k[y>>2]|0)+472>>2]=k[o>>2];b=k[A>>2]|0;if(k[p>>2]|0)b=k[b+48>>2]|0;Cy(k[w>>2]|0,b)|0;k[(k[y>>2]|0)+472>>2]=k[o>>2];k[s>>2]=k[A>>2];while(1){b=k[s>>2]|0;if(!(k[(k[s>>2]|0)+48>>2]|0))break;k[s>>2]=k[b+48>>2]}k[q>>2]=k[b>>2];if(k[(k[x>>2]|0)+4>>2]|0){if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[(k[x>>2]|0)+4>>2]>>2]|0):0){A=k[y>>2]|0;t=k[k[q>>2]>>2]|0;w=k[k[(k[x>>2]|0)+4>>2]>>2]|0;k[u>>2]=k[k[x>>2]>>2];k[u+4>>2]=t;k[u+8>>2]=w;Oh(A,30521,u);k[(k[y>>2]|0)+472>>2]=k[z>>2];k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[q>>2]=k[(k[x>>2]|0)+4>>2]}ly(k[y>>2]|0,k[q>>2]|0,(k[t>>2]|0)+34|0,(k[t>>2]|0)+4|0)|0;if(k[p>>2]|0){b=(k[x>>2]|0)+12|0;if(k[(k[A>>2]|0)+8>>2]&8192)k[b>>2]=30559;else k[b>>2]=30593;Cy(k[w>>2]|0,k[A>>2]|0)|0}k[(k[x>>2]|0)+12>>2]=0;k[(k[y>>2]|0)+472>>2]=k[z>>2]}k[v>>2]=0;A=k[v>>2]|0;r=B;return A|0}function yz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1){a=k[d>>2]|0;k[f>>2]=k[(k[e>>2]|0)+8>>2];Oh(a,30432,f);k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}return 0}function zz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;c=m+28|0;d=m+24|0;e=m+20|0;g=m+16|0;j=m+12|0;f=m+8|0;k[d>>2]=a;k[e>>2]=b;do if((k[(k[e>>2]|0)+16>>2]|0)!=0?((l[(k[e>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){k[g>>2]=k[(k[e>>2]|0)+16>>2];k[j>>2]=k[(k[e>>2]|0)+64>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[f>>2]|0))break;if(!(sg(k[k[f>>2]>>2]|0,k[j>>2]|0)|0))break;k[f>>2]=k[(k[f>>2]|0)+20>>2]}if(k[f>>2]|0){k[(k[e>>2]|0)+68>>2]=k[f>>2];break}g=k[d>>2]|0;k[h>>2]=k[j>>2];k[h+4>>2]=0;Oh(g,30414,h);i[(k[d>>2]|0)+17>>0]=1;k[c>>2]=1;j=k[c>>2]|0;r=m;return j|0}while(0);k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}function Az(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;c=C+84|0;u=C+80|0;d=C+76|0;n=C+72|0;o=C+68|0;s=C+64|0;p=C+60|0;t=C+56|0;m=C+52|0;v=C+48|0;e=C+44|0;g=C+40|0;q=C+36|0;B=C+32|0;f=C+28|0;h=C+24|0;i=C+20|0;k[x>>2]=a;k[c>>2]=b;k[u>>2]=k[(k[c>>2]|0)+28>>2];k[o>>2]=(k[u>>2]|0)+8;k[s>>2]=(k[o>>2]|0)+72;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=((k[k[u>>2]>>2]|0)-1|0)){c=28;break}k[p>>2]=k[(k[o>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+16>>2];b:do if(!((k[p>>2]|0)==0|(k[t>>2]|0)==0)){k[m>>2]=(l[(k[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(l[(k[s>>2]|0)+36>>0]&4){if(k[(k[s>>2]|0)+48>>2]|0){c=7;break a}if(k[(k[s>>2]|0)+52>>2]|0){c=7;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[t>>2]|0)+34>>1]|0))break c;k[v>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(Bz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[v>>2]|0,e,g)|0)Ez(k[x>>2]|0,k[u>>2]|0,k[e>>2]|0,k[g>>2]|0,(k[d>>2]|0)+1|0,k[n>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}while(0);if((k[(k[s>>2]|0)+48>>2]|0)!=0?(k[(k[s>>2]|0)+52>>2]|0)!=0:0){c=15;break a}if(k[(k[s>>2]|0)+48>>2]|0){if(k[m>>2]|0)Fz(k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+44>>2]|0);a=Gz(k[k[x>>2]>>2]|0,k[(k[c>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+48>>2]|0)|0;k[(k[c>>2]|0)+32>>2]=a;k[(k[s>>2]|0)+48>>2]=0}if(k[(k[s>>2]|0)+52>>2]|0){k[q>>2]=k[(k[s>>2]|0)+52>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+4>>2]|0))break b;k[B>>2]=k[(k[k[q>>2]>>2]|0)+(k[n>>2]<<3)>>2];a=Dz(k[t>>2]|0,k[B>>2]|0)|0;k[i>>2]=a;if((k[i>>2]|0)<0){c=25;break a}if(!(Bz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[B>>2]|0,f,h)|0)){c=25;break a}Ez(k[x>>2]|0,k[u>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[d>>2]|0)+1|0,k[i>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}}while(0);k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+72;k[o>>2]=(k[o>>2]|0)+72}if((c|0)==7){B=k[x>>2]|0;k[y>>2]=0;Oh(B,30245,y);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==15){Oh(k[x>>2]|0,30295,z);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==25){z=k[x>>2]|0;k[A>>2]=k[B>>2];Oh(z,30350,A);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==28){k[w>>2]=0;B=k[w>>2]|0;r=C;return B|0}return 0}function Bz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;l=p+8|0;m=p+4|0;n=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[h>>2]|0)){o=8;break}c=Dz(k[(k[g>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2]|0,k[i>>2]|0)|0;k[n>>2]=c;if((k[n>>2]|0)>=0)break;k[m>>2]=(k[m>>2]|0)+1}if((o|0)==8){k[f>>2]=0;o=k[f>>2]|0;r=p;return o|0}if(k[j>>2]|0){k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=k[n>>2]}k[f>>2]=1;o=k[f>>2]|0;r=p;return o|0}function Cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+4>>2]|0)){a=8;break}a=(sg(k[(k[k[c>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=6;break}k[e>>2]=b+1}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function Dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(j[(k[c>>2]|0)+34>>1]|0)){a=6;break}a=(sg(k[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=4;break}k[e>>2]=b+1}if((a|0)==4){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==6){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function Ez(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;o=r;r=r+48|0;s=o+44|0;v=o+40|0;x=o+36|0;w=o+32|0;u=o+28|0;t=o+24|0;p=o+20|0;i=o+16|0;l=o+12|0;q=o+8|0;m=o+4|0;n=o;k[s>>2]=a;k[v>>2]=b;k[x>>2]=c;k[w>>2]=d;k[u>>2]=e;k[t>>2]=f;k[p>>2]=g;k[i>>2]=h;k[l>>2]=k[k[s>>2]>>2];h=Oz(k[l>>2]|0,k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[q>>2]=h;h=Oz(k[l>>2]|0,k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0;k[m>>2]=h;h=Ov(k[s>>2]|0,37,k[q>>2]|0,k[m>>2]|0,0)|0;k[n>>2]=h;if(!((k[n>>2]|0)!=0&(k[p>>2]|0)!=0)){v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=Gz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}v=(k[n>>2]|0)+4|0;k[v>>2]=k[v>>2]|1;j[(k[n>>2]|0)+36>>1]=k[(k[m>>2]|0)+28>>2];v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=Gz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}function Fz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|1;j[(k[c>>2]|0)+36>>1]=k[d>>2];a:do if((l[k[c>>2]>>0]|0|0)==151?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[c>>2]|0)+20>>2]>>2]|0))break a;Fz(k[(k[(k[(k[c>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}}while(0);Fz(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0);k[c>>2]=k[(k[c>>2]|0)+16>>2]}r=f;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if(!(k[f>>2]|0)){k[d>>2]=a;h=k[d>>2]|0;r=i;return h|0}b=k[f>>2]|0;if(!a){k[d>>2]=b;h=k[d>>2]|0;r=i;return h|0}if((Hz(b)|0)==0?(Hz(k[g>>2]|0)|0)==0:0){c=tw(k[e>>2]|0,28,0,0)|0;k[h>>2]=c;Iz(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0);k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}sv(k[e>>2]|0,k[f>>2]|0);sv(k[e>>2]|0,k[g>>2]|0);h=tw(k[e>>2]|0,134,4276,0)|0;k[d>>2]=h;h=k[d>>2]|0;r=i;return h|0}function Hz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Py(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)==0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function Iz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){sv(k[e>>2]|0,k[g>>2]|0);sv(k[e>>2]|0,k[h>>2]|0);r=i;return}if(k[h>>2]|0){k[(k[f>>2]|0)+16>>2]=k[h>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[h>>2]|0)+4>>2]}if(k[g>>2]|0){k[(k[f>>2]|0)+12>>2]=k[g>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[g>>2]|0)+4>>2]}Jz(k[f>>2]|0);r=i;return}function Jz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;Kz(k[(k[b>>2]|0)+12>>2]|0,c);Kz(k[(k[b>>2]|0)+16>>2]|0,c);a=(k[b>>2]|0)+20|0;if(!(k[(k[b>>2]|0)+4>>2]&2048)){if(k[a>>2]|0){Mz(k[(k[b>>2]|0)+20>>2]|0,c);e=2097408&(Nz(k[(k[b>>2]|0)+20>>2]|0)|0);a=(k[b>>2]|0)+4|0;k[a>>2]=k[a>>2]|e}}else Lz(k[a>>2]|0,c);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)+1;r=d;return}function Kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}if((k[(k[c>>2]|0)+24>>2]|0)<=(k[k[d>>2]>>2]|0)){r=e;return}k[k[d>>2]>>2]=k[(k[c>>2]|0)+24>>2];r=e;return}function Lz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}Kz(k[(k[c>>2]|0)+32>>2]|0,k[d>>2]|0);Kz(k[(k[c>>2]|0)+40>>2]|0,k[d>>2]|0);Kz(k[(k[c>>2]|0)+56>>2]|0,k[d>>2]|0);Kz(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0);Mz(k[k[c>>2]>>2]|0,k[d>>2]|0);Mz(k[(k[c>>2]|0)+36>>2]|0,k[d>>2]|0);Mz(k[(k[c>>2]|0)+44>>2]|0,k[d>>2]|0);Lz(k[(k[c>>2]|0)+48>>2]|0,k[d>>2]|0);r=e;return}function Mz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0))break;Kz(k[(k[(k[c>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function Nz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=0;if(!(k[b>>2]|0)){a=k[d>>2]|0;r=f;return a|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];k[d>>2]=k[d>>2]|k[(k[e>>2]|0)+4>>2];k[c>>2]=(k[c>>2]|0)+1}a=k[d>>2]|0;r=f;return a|0}function Oz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0;l=r;r=r+32|0;m=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;b=tw(k[m>>2]|0,152,0,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){m=k[h>>2]|0;r=l;return m|0}k[i>>2]=(k[e>>2]|0)+8+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+44>>2]=k[(k[i>>2]|0)+16>>2];k[(k[h>>2]|0)+28>>2]=k[(k[i>>2]|0)+44>>2];if((j[(k[(k[h>>2]|0)+44>>2]|0)+32>>1]|0)==(k[g>>2]|0))j[(k[h>>2]|0)+32>>1]=-1;else{j[(k[h>>2]|0)+32>>1]=k[g>>2];c=eS(1,0,((k[g>>2]|0)>=64?63:k[g>>2]|0)|0)|0;m=(k[i>>2]|0)+56|0;i=m;b=k[i+4>>2]|L;k[m>>2]=k[i>>2]|c;k[m+4>>2]=b}m=(k[h>>2]|0)+4|0;k[m>>2]=k[m>>2]|4;m=k[h>>2]|0;r=l;return m|0}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;i=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a:do if((k[(k[f>>2]|0)+4>>2]|0)==0?(c=k[(k[f>>2]|0)+8>>2]|0,k[j>>2]=c,(c|0)!=0):0){k[i>>2]=k[e>>2];b:while(1){if(!(k[i>>2]|0))break a;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[i>>2]>>2]|0))break;if(!(sg(k[j>>2]|0,k[(k[i>>2]|0)+8+(k[h>>2]<<4)>>2]|0)|0))break b;k[h>>2]=(k[h>>2]|0)+1}k[i>>2]=k[(k[i>>2]|0)+4>>2]}k[k[g>>2]>>2]=k[i>>2];k[d>>2]=(k[i>>2]|0)+8+(k[h>>2]<<4);j=k[d>>2]|0;r=l;return j|0}while(0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;e=q+32|0;f=q+28|0;g=q+24|0;m=q+20|0;h=q+16|0;i=q+12|0;n=q+8|0;o=q+4|0;p=q;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((k[k[f>>2]>>2]|0)>0)a=((k[k[f>>2]>>2]|0)-1|0)*72|0;else a=0;k[i>>2]=80+a;i=k[i>>2]|0;i=dx(k[e>>2]|0,i,((i|0)<0)<<31>>31)|0;k[m>>2]=i;if(!(k[m>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}i=k[k[f>>2]>>2]|0;k[(k[m>>2]|0)+4>>2]=i;k[k[m>>2]>>2]=i;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=(k[m>>2]|0)+8+((k[h>>2]|0)*72|0);k[o>>2]=(k[f>>2]|0)+8+((k[h>>2]|0)*72|0);k[k[n>>2]>>2]=k[k[o>>2]>>2];i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+4>>2]=i;i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[n>>2]|0)+8>>2]=i;i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=i;k[(k[n>>2]|0)+36>>2]=k[(k[o>>2]|0)+36>>2];k[(k[n>>2]|0)+44>>2]=k[(k[o>>2]|0)+44>>2];k[(k[n>>2]|0)+24>>2]=k[(k[o>>2]|0)+24>>2];k[(k[n>>2]|0)+28>>2]=k[(k[o>>2]|0)+28>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>1&1){i=Ah(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}k[(k[n>>2]|0)+68>>2]=k[(k[o>>2]|0)+68>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1){i=_y(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}i=k[(k[o>>2]|0)+16>>2]|0;k[(k[n>>2]|0)+16>>2]=i;k[p>>2]=i;if(k[p>>2]|0){i=(k[p>>2]|0)+36|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16}c=iy(k[e>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+20>>2]=c;c=Sy(k[e>>2]|0,k[(k[o>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+48>>2]=c;c=Sz(k[e>>2]|0,k[(k[o>>2]|0)+52>>2]|0)|0;k[(k[n>>2]|0)+52>>2]=c;c=(k[o>>2]|0)+56|0;b=k[c+4>>2]|0;i=(k[n>>2]|0)+56|0;k[i>>2]=k[c>>2];k[i+4>>2]=b;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];p=k[d>>2]|0;r=q;return p|0}function Rz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;if(!(k[d>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[f>>2]=24+((k[k[d>>2]>>2]|0)-1<<4);b=k[f>>2]|0;b=Ch(k[c>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(!(k[g>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[k[g>>2]>>2]=k[k[d>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;b=iy(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+8>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+8>>2]=b;b=_y(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+4>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+4>>2]=b;b=Ah(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)>>2]|0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)>>2]=b;k[e>>2]=(k[e>>2]|0)+1}g=k[g>>2]|0;r=h;return g|0}function Sz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}b=dx(k[d>>2]|0,8,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[(k[g>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];b=dx(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]<<3,0)|0;k[k[g>>2]>>2]=b;if(!(k[k[g>>2]>>2]|0)){bg(k[d>>2]|0,k[g>>2]|0);k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0))break;k[h>>2]=(k[k[g>>2]>>2]|0)+(k[f>>2]<<3);k[i>>2]=(k[k[e>>2]>>2]|0)+(k[f>>2]<<3);b=Ah(k[d>>2]|0,k[k[i>>2]>>2]|0)|0;k[k[h>>2]>>2]=b;k[(k[h>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function Tz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;B=N+32|0;K=N+24|0;J=N+16|0;h=N+8|0;g=N;E=N+132|0;F=N+128|0;n=N+124|0;o=N+120|0;p=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;q=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;f=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[G>>2]=e;k[q>>2]=k[(k[n>>2]|0)+52>>2];k[w>>2]=k[(k[n>>2]|0)+48>>2];k[L>>2]=0;k[f>>2]=k[(k[F>>2]|0)+336>>2];while(1){if(!(k[f>>2]|0))break;if((k[(k[f>>2]|0)+4>>2]|0)==(k[n>>2]|0)){m=4;break}k[f>>2]=k[(k[f>>2]|0)+8>>2]}if((m|0)==4){M=k[F>>2]|0;k[g>>2]=k[k[n>>2]>>2];M=Qh(M,30650,g)|0;k[k[G>>2]>>2]=M;k[E>>2]=6;M=k[E>>2]|0;r=N;return M|0}m=k[F>>2]|0;k[h>>2]=k[k[n>>2]>>2];m=Qh(m,18391,h)|0;k[M>>2]=m;if(!(k[M>>2]|0)){k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}a=Ch(k[F>>2]|0,28,0)|0;k[H>>2]=a;a=k[F>>2]|0;if(!(k[H>>2]|0)){bg(a,k[M>>2]|0);k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}k[k[H>>2]>>2]=a;k[(k[H>>2]|0)+4>>2]=k[o>>2];m=Ph(k[F>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[u>>2]=m;k[(k[(k[n>>2]|0)+52>>2]|0)+4>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(k[u>>2]<<4)>>2];k[A+4>>2]=k[n>>2];k[A>>2]=k[H>>2];k[A+8>>2]=k[(k[F>>2]|0)+336>>2];k[A+12>>2]=0;k[(k[F>>2]|0)+336>>2]=A;w=ac[k[p>>2]&255](k[F>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[w>>2]|0,k[q>>2]|0,(k[H>>2]|0)+8|0,L)|0;k[I>>2]=w;k[(k[F>>2]|0)+336>>2]=k[A+8>>2];if((k[I>>2]|0)==7)wh(k[F>>2]|0);a:do if(!(k[I>>2]|0)){if(k[(k[H>>2]|0)+8>>2]|0){L=k[(k[H>>2]|0)+8>>2]|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[k[(k[H>>2]|0)+8>>2]>>2]=k[k[o>>2]>>2];k[(k[H>>2]|0)+12>>2]=1;if(!(k[A+12>>2]|0)){k[C>>2]=30722;K=k[F>>2]|0;L=k[C>>2]|0;k[B>>2]=k[k[n>>2]>>2];L=Qh(K,L,B)|0;k[k[G>>2]>>2]=L;Cu(k[H>>2]|0);k[I>>2]=1;break}i[z>>0]=0;k[(k[H>>2]|0)+24>>2]=k[(k[n>>2]|0)+56>>2];k[(k[n>>2]|0)+56>>2]=k[H>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break a;L=Fi((k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)|0,18402)|0;k[D>>2]=L;k[s>>2]=0;L=Tf(k[D>>2]|0)|0;k[y>>2]=L;k[s>>2]=0;b:while(1){if((k[s>>2]|0)>=(k[y>>2]|0))break;do if(!(Jd(30768,(k[D>>2]|0)+(k[s>>2]|0)|0,6)|0)){if((k[s>>2]|0)!=0?(i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0))break b;if((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)==32)break b}while(0);k[s>>2]=(k[s>>2]|0)+1}if((k[s>>2]|0)<(k[y>>2]|0)){k[x>>2]=6+((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)!=0?1:0);k[v>>2]=k[s>>2];while(1){if(((k[v>>2]|0)+(k[x>>2]|0)|0)>(k[y>>2]|0))break;i[(k[D>>2]|0)+(k[v>>2]|0)>>0]=i[(k[D>>2]|0)+((k[v>>2]|0)+(k[x>>2]|0))>>0]|0;k[v>>2]=(k[v>>2]|0)+1}if((k[s>>2]|0)>0?(i[(k[D>>2]|0)+(k[s>>2]|0)>>0]|0)==0:0)i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]=0;L=(k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+15|0;i[L>>0]=l[L>>0]|2;i[z>>0]=-128}else{L=(k[n>>2]|0)+42|0;i[L>>0]=l[L>>0]|l[z>>0]}k[t>>2]=(k[t>>2]|0)+1}}}else{a=k[F>>2]|0;if(!(k[L>>2]|0)){k[J>>2]=k[M>>2];L=Qh(a,30692,J)|0;k[k[G>>2]>>2]=L}else{k[K>>2]=k[L>>2];K=Qh(a,18391,K)|0;k[k[G>>2]>>2]=K;Ud(k[L>>2]|0)}bg(k[F>>2]|0,k[H>>2]|0)}while(0);bg(k[F>>2]|0,k[M>>2]|0);k[E>>2]=k[I>>2];M=k[E>>2]|0;r=N;return M|0}function Uz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[k[b>>2]>>2];if(!(i[(k[c>>2]|0)+148+5>>0]|0)){a=Ci(k[c>>2]|0,(k[b>>2]|0)+4|0)|0;k[d>>2]=a}if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}k[(k[b>>2]|0)+12>>2]=k[d>>2];a=(k[b>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+1;d=k[d>>2]|0;r=e;return d|0}function Vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;m=j+24|0;l=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[m>>2]=k[k[c>>2]>>2];k[l>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2];Bx(k[c>>2]|0,0,k[d>>2]|0);k[f>>2]=k[(k[c>>2]|0)+40>>2];a=(k[c>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+3;Zz(k[c>>2]|0,k[d>>2]|0,k[f>>2]|0,0,0);k[e>>2]=(k[(k[c>>2]|0)+44>>2]|0)+1;k[g>>2]=k[(k[c>>2]|0)+40>>2];k[h>>2]=k[(k[l>>2]|0)+8+8>>2];while(1){if(!(k[h>>2]|0))break;k[i>>2]=k[(k[h>>2]|0)+8>>2];_z(k[c>>2]|0,k[i>>2]|0,0,k[f>>2]|0,k[e>>2]|0,k[g>>2]|0);k[h>>2]=k[k[h>>2]>>2]}$z(k[c>>2]|0,k[d>>2]|0);r=j;return}function Wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;c=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;b=bx(k[f>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;b=xi(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;bg(k[f>>2]|0,k[e>>2]|0);r=d;return k[c>>2]|0}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;Bx(k[d>>2]|0,0,k[g>>2]|0);k[h>>2]=k[(k[d>>2]|0)+40>>2];c=(k[d>>2]|0)+40|0;k[c>>2]=(k[c>>2]|0)+3;c=k[d>>2]|0;a=k[g>>2]|0;b=k[h>>2]|0;if(k[f>>2]|0)Zz(c,a,b,k[k[f>>2]>>2]|0,30854);else Zz(c,a,b,k[k[e>>2]>>2]|0,30858);_z(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+44>>2]|0)+1|0,k[(k[d>>2]|0)+40>>2]|0);$z(k[d>>2]|0,k[g>>2]|0);r=i;return}function Yz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+8|0;o=q;e=q+36|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;n=q+16|0;m=q+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=k[k[f>>2]>>2];b=(k[m>>2]|0)+148|0;if((k[(k[h>>2]|0)+4>>2]|0)>>>0>0){if(i[b+5>>0]|0){Oh(k[f>>2]|0,30817,o);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}k[k[j>>2]>>2]=k[h>>2];o=Wz(k[m>>2]|0,k[g>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)<0){o=k[f>>2]|0;k[p>>2]=k[g>>2];Oh(o,30834,p);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}}else{k[n>>2]=l[b+4>>0];k[k[j>>2]>>2]=k[g>>2]}k[e>>2]=k[n>>2];p=k[e>>2]|0;r=q;return p|0}function Zz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;v=x+16|0;u=x;f=x+84|0;g=x+80|0;h=x+76|0;j=x+72|0;l=x+68|0;p=x+64|0;o=x+60|0;q=x+56|0;t=x+52|0;n=x+40|0;m=x+88|0;w=x+36|0;s=x+32|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[o>>2]=k[k[f>>2]>>2];e=nx(k[f>>2]|0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){r=x;return}k[q>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]<<4);k[p>>2]=0;while(1){if((k[p>>2]|0)>=3)break;k[w>>2]=k[4396+(k[p>>2]<<3)>>2];e=Di(k[o>>2]|0,k[w>>2]|0,k[k[q>>2]>>2]|0)|0;k[s>>2]=e;do if(!e){if(k[4396+(k[p>>2]<<3)+4>>2]|0){e=k[f>>2]|0;a=k[w>>2]|0;d=k[4396+(k[p>>2]<<3)+4>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;k[u+8>>2]=d;mx(e,30915,u);k[n+(k[p>>2]<<2)>>2]=k[(k[f>>2]|0)+104>>2];i[m+(k[p>>2]|0)>>0]=16}}else{k[n+(k[p>>2]<<2)>>2]=k[(k[s>>2]|0)+28>>2];i[m+(k[p>>2]|0)>>0]=0;bA(k[f>>2]|0,k[g>>2]|0,k[n+(k[p>>2]<<2)>>2]|0,1,k[w>>2]|0);if(k[j>>2]|0){e=k[f>>2]|0;c=k[w>>2]|0;a=k[l>>2]|0;d=k[j>>2]|0;k[v>>2]=k[k[q>>2]>>2];k[v+4>>2]=c;k[v+8>>2]=a;k[v+12>>2]=d;mx(e,30938,v);break}else{sx(k[t>>2]|0,131,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0)|0;break}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if(!(k[4396+(k[p>>2]<<3)+4>>2]|0))break;Sh(k[t>>2]|0,105,(k[h>>2]|0)+(k[p>>2]|0)|0,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0,3)|0;Th(k[t>>2]|0,i[m+(k[p>>2]|0)>>0]|0);k[p>>2]=(k[p>>2]|0)+1}r=x;return}function _z(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+128|0;j=R+116|0;n=R+112|0;o=R+108|0;p=R+104|0;g=R+100|0;h=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;q=R+4|0;E=R;k[j>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[g>>2]=e;k[h>>2]=f;k[u>>2]=k[k[j>>2]>>2];k[A>>2]=-1;i[D>>0]=1;b=k[g>>2]|0;k[g>>2]=b+1;k[I>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[L>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[G>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[N>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[M>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[H>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[K>>2]=b;k[J>>2]=k[g>>2];if((k[(k[j>>2]|0)+44>>2]|0)>(k[g>>2]|0))g=k[(k[j>>2]|0)+44>>2]|0;else g=k[g>>2]|0;k[(k[j>>2]|0)+44>>2]=g;b=nx(k[j>>2]|0)|0;k[O>>2]=b;if((k[O>>2]|0)==0|(k[n>>2]|0)==0){r=R;return}if(!(k[(k[n>>2]|0)+28>>2]|0)){r=R;return}if(!(jf(30862,k[k[n>>2]>>2]|0,0)|0)){r=R;return}b=Ph(k[u>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[x>>2]=b;if(kx(k[j>>2]|0,28,k[k[n>>2]>>2]|0,0,k[(k[(k[u>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2]|0)|0){r=R;return}bA(k[j>>2]|0,k[x>>2]|0,k[(k[n>>2]|0)+28>>2]|0,0,k[k[n>>2]>>2]|0);b=k[h>>2]|0;k[h>>2]=b+1;k[z>>2]=b;b=k[h>>2]|0;k[h>>2]=b+1;k[y>>2]=b;if((k[(k[j>>2]|0)+40>>2]|0)>(k[h>>2]|0))g=k[(k[j>>2]|0)+40>>2]|0;else g=k[h>>2]|0;k[(k[j>>2]|0)+40>>2]=g;cA(k[j>>2]|0,k[z>>2]|0,k[x>>2]|0,k[n>>2]|0,104);rx(k[O>>2]|0,k[M>>2]|0,k[k[n>>2]>>2]|0)|0;k[F>>2]=k[(k[n>>2]|0)+8>>2];while(1){g=k[o>>2]|0;if(!(k[F>>2]|0))break;if(!((g|0)!=0?(k[o>>2]|0)!=(k[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(k[(k[F>>2]|0)+36>>2]|0))i[D>>0]=0;if(((l[(k[n>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[F>>2]|0)+55>>0]&3|0)==2:0){k[B>>2]=m[(k[F>>2]|0)+50>>1];k[P>>2]=k[k[n>>2]>>2];k[C>>2]=(k[B>>2]|0)-1}else{k[B>>2]=m[(k[F>>2]|0)+52>>1];k[P>>2]=k[k[F>>2]>>2];if((l[(k[F>>2]|0)+55>>0]|0)>>>3&1)g=m[(k[F>>2]|0)+50>>1]|0;else g=k[B>>2]|0;k[C>>2]=g-1}rx(k[O>>2]|0,k[H>>2]|0,k[P>>2]|0)|0;if((k[(k[j>>2]|0)+44>>2]|0)>((k[J>>2]|0)+(k[C>>2]|0)|0))g=k[(k[j>>2]|0)+44>>2]|0;else g=(k[J>>2]|0)+(k[C>>2]|0)|0;k[(k[j>>2]|0)+44>>2]=g;tx(k[O>>2]|0,104,k[y>>2]|0,k[(k[F>>2]|0)+44>>2]|0,k[x>>2]|0)|0;dA(k[j>>2]|0,k[F>>2]|0);sx(k[O>>2]|0,76,k[B>>2]|0,(k[L>>2]|0)+1|0)|0;sx(k[O>>2]|0,76,m[(k[F>>2]|0)+50>>1]|0,(k[L>>2]|0)+2|0)|0;wx(k[O>>2]|0,89,0,(k[L>>2]|0)+1|0,k[L>>2]|0,4292,-5)|0;Th(k[O>>2]|0,2);h=aA(k[O>>2]|0,57,k[y>>2]|0)|0;k[t>>2]=h;sx(k[O>>2]|0,76,0,k[G>>2]|0)|0;h=Gx(k[O>>2]|0)|0;k[s>>2]=h;if((k[C>>2]|0)>0){h=eA(k[O>>2]|0)|0;k[v>>2]=h;h=dx(k[u>>2]|0,k[C>>2]<<2,0)|0;k[q>>2]=h;if(!(k[q>>2]|0))break;px(k[O>>2]|0,13)|0;h=Gx(k[O>>2]|0)|0;k[s>>2]=h;if(((k[C>>2]|0)==1?(m[(k[F>>2]|0)+50>>1]|0|0)==1:0)?(l[(k[F>>2]|0)+54>>0]|0|0)!=0:0)sx(k[O>>2]|0,35,k[J>>2]|0,k[v>>2]|0)|0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[C>>2]|0))break;h=fA(k[j>>2]|0,k[(k[(k[F>>2]|0)+32>>2]|0)+(k[w>>2]<<2)>>2]|0)|0;k[E>>2]=h;sx(k[O>>2]|0,76,k[w>>2]|0,k[G>>2]|0)|0;tx(k[O>>2]|0,96,k[y>>2]|0,k[w>>2]|0,k[N>>2]|0)|0;h=wx(k[O>>2]|0,36,k[N>>2]|0,0,(k[J>>2]|0)+(k[w>>2]|0)|0,k[E>>2]|0,-4)|0;k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]=h;Th(k[O>>2]|0,-128);k[w>>2]=(k[w>>2]|0)+1}sx(k[O>>2]|0,76,k[C>>2]|0,k[G>>2]|0)|0;gA(k[O>>2]|0,k[v>>2]|0)|0;hA(k[O>>2]|0,(k[s>>2]|0)-1|0);k[w>>2]=0;while(1){g=k[O>>2]|0;if((k[w>>2]|0)>=(k[C>>2]|0))break;hA(g,k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]|0);tx(k[O>>2]|0,96,k[y>>2]|0,k[w>>2]|0,(k[J>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+1}iA(g,k[v>>2]|0);bg(k[u>>2]|0,k[q>>2]|0)}wx(k[O>>2]|0,89,1,k[L>>2]|0,k[N>>2]|0,4320,-5)|0;Th(k[O>>2]|0,2);sx(k[O>>2]|0,7,k[y>>2]|0,k[s>>2]|0)|0;jA(k[O>>2]|0,k[L>>2]|0,0,k[K>>2]|0);wx(k[O>>2]|0,99,k[M>>2]|0,3,k[N>>2]|0,30871,0)|0;sx(k[O>>2]|0,114,k[p>>2]|0,k[I>>2]|0)|0;tx(k[O>>2]|0,115,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Th(k[O>>2]|0,8);hA(k[O>>2]|0,k[t>>2]|0)}while(0);k[F>>2]=k[(k[F>>2]|0)+20>>2]}if(g){r=R;return}if(!(l[D>>0]|0)){r=R;return}sx(k[O>>2]|0,100,k[z>>2]|0,k[K>>2]|0)|0;Q=aA(k[O>>2]|0,22,k[K>>2]|0)|0;k[A>>2]=Q;sx(k[O>>2]|0,79,0,k[H>>2]|0)|0;wx(k[O>>2]|0,99,k[M>>2]|0,3,k[N>>2]|0,30871,0)|0;sx(k[O>>2]|0,114,k[p>>2]|0,k[I>>2]|0)|0;tx(k[O>>2]|0,115,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Th(k[O>>2]|0,8);hA(k[O>>2]|0,k[A>>2]|0);r=R;return}function $z(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;a=nx(k[f>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){r=e;return}aA(k[d>>2]|0,137,k[c>>2]|0)|0;r=e;return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=tx(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;r=d;return c|0}function bA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;j=s+24|0;m=s+20|0;n=s+32|0;o=s+16|0;p=s+12|0;f=s+8|0;g=s+4|0;q=s;k[t>>2]=a;k[j>>2]=b;k[m>>2]=c;i[n>>0]=d;k[o>>2]=e;b=k[t>>2]|0;if(k[(k[t>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[p>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+112>>2]|0))break;k[q>>2]=(k[(k[p>>2]|0)+116>>2]|0)+(k[f>>2]<<4);if((k[k[q>>2]>>2]|0)==(k[j>>2]|0)?(k[(k[q>>2]|0)+4>>2]|0)==(k[m>>2]|0):0){h=7;break}k[f>>2]=(k[f>>2]|0)+1}if((h|0)==7){if(l[(k[q>>2]|0)+8>>0]|0)b=1;else b=(l[n>>0]|0|0)!=0;i[(k[q>>2]|0)+8>>0]=b&1;r=s;return}k[g>>2]=(k[(k[p>>2]|0)+112>>2]|0)+1<<4;b=k[g>>2]|0;b=Zx(k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+116>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[p>>2]|0)+116>>2]=b;b=(k[p>>2]|0)+112|0;if(k[(k[p>>2]|0)+116>>2]|0){t=k[b>>2]|0;k[b>>2]=t+1;k[q>>2]=(k[(k[p>>2]|0)+116>>2]|0)+(t<<4);k[k[q>>2]>>2]=k[j>>2];k[(k[q>>2]|0)+4>>2]=k[m>>2];i[(k[q>>2]|0)+8>>0]=i[n>>0]|0;k[(k[q>>2]|0)+12>>2]=k[o>>2];r=s;return}else{k[b>>2]=0;wh(k[k[p>>2]>>2]|0);r=s;return}}function cA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;d=nx(k[f>>2]|0)|0;k[o>>2]=d;bA(k[f>>2]|0,k[h>>2]|0,k[(k[i>>2]|0)+28>>2]|0,((k[m>>2]|0)==105?1:0)&255,k[k[i>>2]>>2]|0);if(!(l[(k[i>>2]|0)+42>>0]&32)){Sh(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[i>>2]|0)+28>>2]|0,k[h>>2]|0,j[(k[i>>2]|0)+34>>1]|0)|0;r=p;return}else{d=Tj(k[i>>2]|0)|0;k[n>>2]=d;tx(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+44>>2]|0,k[h>>2]|0)|0;dA(k[f>>2]|0,k[n>>2]|0);r=p;return}}function dA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;f=c;k[e>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[e>>2]|0)+8>>2];a=k[f>>2]|0;Wh(a,-1,rA(k[e>>2]|0,k[d>>2]|0)|0,-6);r=c;return}function eA(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[(k[e>>2]|0)+12>>2];e=(k[c>>2]|0)+72|0;a=k[e>>2]|0;k[e>>2]=a+1;k[b>>2]=a;if(!(k[b>>2]&(k[b>>2]|0)-1)){e=Zx(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[b>>2]<<1)+1<<2,0)|0;k[(k[c>>2]|0)+76>>2]=e}if(!(k[(k[c>>2]|0)+76>>2]|0)){e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}k[(k[(k[c>>2]|0)+76>>2]|0)+(k[b>>2]<<2)>>2]=-1;e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}function fA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+32|0;c=g+12|0;d=g+8|0;j=g+4|0;e=g+17|0;h=g+16|0;f=g;k[c>>2]=a;k[d>>2]=b;k[j>>2]=k[k[c>>2]>>2];i[e>>0]=i[(k[j>>2]|0)+66>>0]|0;i[h>>0]=i[(k[j>>2]|0)+148+5>>0]|0;b=ak(k[j>>2]|0,i[e>>0]|0,k[d>>2]|0,l[h>>0]|0)|0;k[f>>2]=b;if(i[h>>0]|0){j=k[f>>2]|0;r=g;return j|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[f>>2]|0;r=g;return j|0}j=qy(k[c>>2]|0,i[e>>0]|0,k[f>>2]|0,k[d>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=g;return j|0}function gA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=tx(k[e>>2]|0,13,0,k[d>>2]|0,0)|0;r=c;return a|0}function hA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;nA(k[d>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+136>>2]|0);r=c;return}function iA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;e=f+4|0;d=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[(k[c>>2]|0)+12>>2];k[d>>2]=-1-(k[g>>2]|0);if(!(k[(k[e>>2]|0)+76>>2]|0)){r=f;return}k[(k[(k[e>>2]|0)+76>>2]|0)+(k[d>>2]<<2)>>2]=k[(k[c>>2]|0)+136>>2];r=f;return}function jA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e;k[f>>2]=a;k[h>>2]=b;k[e+4>>2]=c;k[g>>2]=d;wx(k[f>>2]|0,89,0,k[h>>2]|0,k[g>>2]|0,4348,-5)|0;Th(k[f>>2]|0,1);r=e;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;j=n+24|0;i=n+16|0;d=n+56|0;o=n+48|0;h=n+44|0;l=n+40|0;e=n+36|0;m=n+32|0;g=n+8|0;f=n;k[d>>2]=a;k[n+52>>2]=b;k[o>>2]=c;a=ie(k[k[o>>2]>>2]|0)|0;k[h>>2]=a;a=((k[(k[h>>2]|0)+12>>2]|0)+1|0)*25|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[m>>2]=a;if(!(k[m>>2]|0)){Ce(k[d>>2]|0);r=n;return}o=k[m>>2]|0;a=i;k[a>>2]=k[k[h>>2]>>2];k[a+4>>2]=0;_d(24,o,30884,i)|0;o=k[m>>2]|0;o=o+(Tf(k[m>>2]|0)|0)|0;k[l>>2]=o;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;o=g;k[o>>2]=(k[(k[(k[h>>2]|0)+20+4>>2]|0)+(k[e>>2]<<2)>>2]|0)+1;k[o+4>>2]=0;o=g;o=$R(k[k[h>>2]>>2]|0,0,k[o>>2]|0,k[o+4>>2]|0)|0;o=_R(o|0,L|0,1,0)|0;c=g;c=lS(o|0,L|0,k[c>>2]|0,k[c+4>>2]|0)|0;o=f;k[o>>2]=c;k[o+4>>2]=L;o=k[l>>2]|0;c=f;a=k[c+4>>2]|0;i=j;k[i>>2]=k[c>>2];k[i+4>>2]=a;_d(24,o,30889,j)|0;o=Tf(k[l>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+o;k[e>>2]=(k[e>>2]|0)+1}we(k[d>>2]|0,k[m>>2]|0,-1,148);r=n;return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[g+20>>2]=a;k[g+16>>2]=b;k[h>>2]=c;a=ie(k[k[h>>2]>>2]|0)|0;k[f>>2]=a;a=me(k[(k[h>>2]|0)+4>>2]|0)|0;k[e>>2]=a;if(!(k[k[f>>2]>>2]|0)){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}mA(k[f>>2]|0,k[e>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break;h=(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}k[d>>2]=k[e>>2];while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;h=(k[(k[f>>2]|0)+20+4>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}function mA(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(oA(k[f>>2]|0,k[e>>2]|0)|0)+8|0;k[c>>2]=a;r=d;return}function oA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)<0)k[e>>2]=(k[(k[d>>2]|0)+136>>2]|0)-1;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=4376;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=(k[(k[d>>2]|0)+88>>2]|0)+((k[e>>2]|0)*20|0);a=k[c>>2]|0;r=f;return a|0}return 0}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;d=j+32|0;m=j+24|0;i=j+20|0;f=j+16|0;h=j+12|0;g=j+8|0;l=j+4|0;e=j;k[d>>2]=a;k[j+28>>2]=b;k[m>>2]=c;a=me(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;k[g>>2]=(k[f>>2]|0)+1&-2;a=me(k[(k[m>>2]|0)+4>>2]|0)|0;k[h>>2]=a;k[l>>2]=56+(k[g>>2]<<2)+(k[g>>2]<<2);a=Fe(k[d>>2]|0)|0;k[e>>2]=a;a=k[l>>2]|0;a=Ch(k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;k[i>>2]=a;if(!(k[i>>2]|0)){Ce(k[d>>2]|0);r=j;return}else{k[(k[i>>2]|0)+52>>2]=k[e>>2];k[k[i>>2]>>2]=0;k[(k[i>>2]|0)+8>>2]=k[f>>2];k[(k[i>>2]|0)+12>>2]=k[h>>2];k[(k[i>>2]|0)+20+4>>2]=(k[i>>2]|0)+56;k[(k[i>>2]|0)+20>>2]=(k[(k[i>>2]|0)+20+4>>2]|0)+(k[g>>2]<<2);pe(k[d>>2]|0,k[i>>2]|0,56,153);r=j;return}}function qA(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bg(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0);r=b;return}function rA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;c=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;k[h>>2]=m[(k[f>>2]|0)+52>>1];k[c>>2]=m[(k[f>>2]|0)+50>>1];if(k[(k[e>>2]|0)+36>>2]|0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=k[k[e>>2]>>2]|0;if((l[(k[f>>2]|0)+55>>0]|0)>>>3&1){c=sA(b,k[c>>2]|0,(k[h>>2]|0)-(k[c>>2]|0)|0)|0;k[j>>2]=c}else{c=sA(b,k[h>>2]|0,0)|0;k[j>>2]=c}if(k[j>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[n>>2]=k[(k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]<<2)>>2];if((k[n>>2]|0)==34834)b=0;else b=fA(k[e>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+20+(k[g>>2]<<2)>>2]=b;i[(k[(k[j>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]|0)>>0]|0;k[g>>2]=(k[g>>2]|0)+1}if(k[(k[e>>2]|0)+36>>2]|0){tA(k[j>>2]|0);k[j>>2]=0}}k[d>>2]=k[j>>2];n=k[d>>2]|0;r=o;return n|0}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=((k[e>>2]|0)+(k[f>>2]|0)|0)*5;a=dx(k[d>>2]|0,24+(k[g>>2]|0)|0,0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+16>>2]=(k[h>>2]|0)+20+((k[e>>2]|0)+(k[f>>2]|0)<<2);j[(k[h>>2]|0)+6>>1]=k[e>>2];j[(k[h>>2]|0)+8>>1]=k[f>>2];i[(k[h>>2]|0)+4>>0]=i[(k[d>>2]|0)+66>>0]|0;k[(k[h>>2]|0)+12>>2]=k[d>>2];k[k[h>>2]>>2]=1;dS((k[h>>2]|0)+24|0,0,k[g>>2]|0)|0;h=k[h>>2]|0;r=l;return h|0}else{wh(k[d>>2]|0);h=k[h>>2]|0;r=l;return h|0}return 0}function tA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[k[b>>2]>>2]|0){r=c;return}bg(k[(k[b>>2]|0)+12>>2]|0,k[b>>2]|0);r=c;return}function uA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;k[h>>2]=k[(k[e>>2]|0)+16>>2];while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[h>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[g>>2]|0))break;k[i>>2]=k[(k[g>>2]|0)+8>>2];vA(k[c>>2]|0,k[i>>2]|0,k[d>>2]|0);k[g>>2]=k[k[g>>2]>>2]}k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+16}r=j;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if(!((k[f>>2]|0)!=0?(RB(k[f>>2]|0,k[h>>2]|0)|0)==0:0)){c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;Bx(k[d>>2]|0,0,k[g>>2]|0);wA(k[d>>2]|0,k[h>>2]|0,-1)}k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=i;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;j=x+64|0;n=x+60|0;d=x+56|0;h=x+52|0;t=x+48|0;q=x+44|0;s=x+40|0;o=x+36|0;p=x+32|0;i=x+28|0;f=x+24|0;w=x+20|0;g=x+16|0;v=x+12|0;y=x+8|0;e=x+4|0;u=x;k[j>>2]=a;k[n>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[n>>2]|0)+12>>2];a=(k[j>>2]|0)+40|0;b=k[a>>2]|0;k[a>>2]=b+1;k[t>>2]=b;b=(k[j>>2]|0)+40|0;a=k[b>>2]|0;k[b>>2]=a+1;k[q>>2]=a;k[y>>2]=k[k[j>>2]>>2];a=Ph(k[y>>2]|0,k[(k[n>>2]|0)+24>>2]|0)|0;k[e>>2]=a;if(kx(k[j>>2]|0,27,k[k[n>>2]>>2]|0,0,k[(k[(k[y>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0){r=x;return}bA(k[j>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+28>>2]|0,1,k[k[h>>2]>>2]|0);y=nx(k[j>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0)){r=x;return}if((k[d>>2]|0)>=0)k[i>>2]=k[d>>2];else k[i>>2]=k[(k[n>>2]|0)+44>>2];a=rA(k[j>>2]|0,k[n>>2]|0)|0;k[g>>2]=a;a=(k[j>>2]|0)+40|0;b=k[a>>2]|0;k[a>>2]=b+1;k[s>>2]=b;b=k[w>>2]|0;a=k[s>>2]|0;y=m[(k[n>>2]|0)+50>>1]|0;wx(b,108,a,0,y,xA(k[g>>2]|0)|0,-6)|0;cA(k[j>>2]|0,k[t>>2]|0,k[e>>2]|0,k[h>>2]|0,104);y=sx(k[w>>2]|0,57,k[t>>2]|0,0)|0;k[o>>2]=y;y=Fx(k[j>>2]|0)|0;k[v>>2]=y;yA(k[j>>2]|0,k[n>>2]|0,k[t>>2]|0,k[v>>2]|0,0,f,0,0)|0;sx(k[w>>2]|0,125,k[s>>2]|0,k[v>>2]|0)|0;zA(k[j>>2]|0,k[f>>2]|0);sx(k[w>>2]|0,7,k[t>>2]|0,(k[o>>2]|0)+1|0)|0;hA(k[w>>2]|0,k[o>>2]|0);if((k[d>>2]|0)<0)sx(k[w>>2]|0,131,k[i>>2]|0,k[e>>2]|0)|0;wx(k[w>>2]|0,105,k[q>>2]|0,k[i>>2]|0,k[e>>2]|0,k[g>>2]|0,-6)|0;Th(k[w>>2]|0,(1|((k[d>>2]|0)>=0?16:0))&255);y=sx(k[w>>2]|0,55,k[s>>2]|0,0)|0;k[o>>2]=y;y=(l[(k[n>>2]|0)+54>>0]|0|0)!=0;d=Gx(k[w>>2]|0)|0;if(y){k[u>>2]=d+3;gA(k[w>>2]|0,k[u>>2]|0)|0;y=Gx(k[w>>2]|0)|0;k[p>>2]=y;Sh(k[w>>2]|0,119,k[s>>2]|0,k[u>>2]|0,k[v>>2]|0,m[(k[n>>2]|0)+50>>1]|0)|0;AA(k[j>>2]|0,2,k[n>>2]|0)}else k[p>>2]=d;tx(k[w>>2]|0,120,k[s>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;tx(k[w>>2]|0,53,k[q>>2]|0,0,-1)|0;tx(k[w>>2]|0,126,k[q>>2]|0,k[v>>2]|0,0)|0;Th(k[w>>2]|0,16);Hx(k[j>>2]|0,k[v>>2]|0);sx(k[w>>2]|0,3,k[s>>2]|0,k[p>>2]|0)|0;hA(k[w>>2]|0,k[o>>2]|0);aA(k[w>>2]|0,111,k[t>>2]|0)|0;aA(k[w>>2]|0,111,k[q>>2]|0)|0;aA(k[w>>2]|0,111,k[s>>2]|0)|0;r=x;return}function xA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[b>>2]|0){a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+1}r=c;return k[b>>2]|0}function yA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;n=y+44|0;o=y+40|0;p=y+36|0;q=y+32|0;i=y+28|0;m=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[i>>2]=e;k[m>>2]=f;k[s>>2]=g;k[t>>2]=h;k[x>>2]=k[(k[n>>2]|0)+8>>2];do if(k[m>>2]|0)if(k[(k[o>>2]|0)+36>>2]|0){h=eA(k[x>>2]|0)|0;k[k[m>>2]>>2]=h;k[(k[n>>2]|0)+60>>2]=k[p>>2];KA(k[n>>2]|0);LA(k[n>>2]|0,k[(k[o>>2]|0)+36>>2]|0,k[k[m>>2]>>2]|0,16);break}else{k[k[m>>2]>>2]=0;break}while(0);if((k[i>>2]|0)!=0?((l[(k[o>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)i=j[(k[o>>2]|0)+50>>1]|0;else i=j[(k[o>>2]|0)+52>>1]|0;k[v>>2]=i&65535;h=MA(k[n>>2]|0,k[v>>2]|0)|0;k[w>>2]=h;do if(k[s>>2]|0){if((k[w>>2]|0)==(k[t>>2]|0)?(k[(k[s>>2]|0)+36>>2]|0)==0:0)break;k[s>>2]=0}while(0);k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[v>>2]|0))break;if(!(((k[s>>2]|0)!=0?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)==(j[(k[(k[o>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0):0)?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)!=-2:0)){NA(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[u>>2]|0,(k[w>>2]|0)+(k[u>>2]|0)|0);OA(k[x>>2]|0,92)|0}k[u>>2]=(k[u>>2]|0)+1}if(!(k[q>>2]|0)){t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;PA(t,u,x);x=k[w>>2]|0;r=y;return x|0}tx(k[x>>2]|0,99,k[w>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;PA(t,u,x);x=k[w>>2]|0;r=y;return x|0}function zA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}iA(k[(k[c>>2]|0)+8>>2]|0,k[d>>2]|0);IA(k[c>>2]|0);r=e;return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+80|0;o=s+8|0;n=s;d=s+68|0;e=s+64|0;f=s+60|0;q=s+56|0;h=s+52|0;g=s+24|0;l=s+20|0;p=s+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=k[(k[f>>2]|0)+12>>2];ng(g,k[k[d>>2]>>2]|0,0,0,200);if(k[(k[f>>2]|0)+40>>2]|0){k[n>>2]=k[k[f>>2]>>2];BA(g,31053,n);n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;DA(n,o,p,q,-1,2);r=s;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break;k[p>>2]=k[(k[(k[l>>2]|0)+4>>2]|0)+(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]<<4)>>2];if(k[h>>2]|0)CA(g,31064,2);n=k[p>>2]|0;k[o>>2]=k[k[l>>2]>>2];k[o+4>>2]=n;BA(g,30161,o);k[h>>2]=(k[h>>2]|0)+1}n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;DA(n,o,p,q,-1,2);r=s;return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;g=d+20|0;f=d+16|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;og(k[g>>2]|0,k[f>>2]|0,e);r=d;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(((k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]|0)|0)>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0){EA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}else{b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);bS((k[(k[d>>2]|0)+8>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)-(k[f>>2]|0))|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}}function DA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+16|0;h=p+12|0;j=p+8|0;l=p+4|0;m=p+21|0;n=p+20|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;i[m>>0]=e;i[n>>0]=f;a=nx(k[g>>2]|0)|0;k[o>>2]=a;if((k[j>>2]|0)==2)dy(k[g>>2]|0);wx(k[o>>2]|0,75,k[h>>2]|0,k[j>>2]|0,0,k[l>>2]|0,i[m>>0]|0)|0;Th(k[o>>2]|0,i[n>>0]|0);r=p;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=FA(k[d>>2]|0,k[f>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)<=0){r=g;return}bS((k[(k[d>>2]|0)+8>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0,k[e>>2]|0,k[f>>2]|0)|0;b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);r=g;return}function FA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;d=j+8|0;c=j;k[f>>2]=a;k[g>>2]=b;if(i[(k[f>>2]|0)+24>>0]|0){k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}b=k[f>>2]|0;if(!(k[(k[f>>2]|0)+20>>2]|0)){k[g>>2]=(k[b+16>>2]|0)-(k[(k[f>>2]|0)+12>>2]|0)-1;GA(k[f>>2]|0,2);k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}if(l[b+25>>0]&4)b=k[(k[f>>2]|0)+8>>2]|0;else b=0;k[d>>2]=b;b=c;k[b>>2]=k[(k[f>>2]|0)+12>>2];k[b+4>>2]=0;b=(k[g>>2]|0)+1|0;a=c;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;a=c;a=$R(k[a>>2]|0,k[a+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;b=L;if((b|0)<0|((b|0)==0?a>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){b=c;b=$R(k[b>>2]|0,k[b+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L}a=c;b=k[a+4>>2]|0;if((b|0)>0|((b|0)==0?(k[a>>2]|0)>>>0>(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){HA(k[f>>2]|0);GA(k[f>>2]|0,2);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}k[(k[f>>2]|0)+16>>2]=k[c>>2];if(k[k[f>>2]>>2]|0){d=cx(k[k[f>>2]>>2]|0,k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}else{d=Wd(k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}b=k[f>>2]|0;if(!(k[h>>2]|0)){HA(b);GA(k[f>>2]|0,1);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}if((l[b+25>>0]&4|0)==0?(k[(k[f>>2]|0)+12>>2]|0)>>>0>0:0)bS(k[h>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8>>2]=k[h>>2];h=uu(k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[(k[f>>2]|0)+16>>2]=h;h=(k[f>>2]|0)+25|0;i[h>>0]=l[h>>0]|4;k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}function GA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c;e=c+4|0;k[d>>2]=a;i[e>>0]=b;i[(k[d>>2]|0)+24>>0]=i[e>>0]|0;k[(k[d>>2]|0)+16>>2]=0;r=c;return}function HA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((l[(k[b>>2]|0)+25>>0]|0)&4)){a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}bg(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+8>>2]|0);a=(k[b>>2]|0)+25|0;i[a>>0]=(l[a>>0]|0)&-5;a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}function IA(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;a=(k[b>>2]|0)+64|0;k[a>>2]=(k[a>>2]|0)+-1;while(1){if((k[c>>2]|0)>=(l[(k[b>>2]|0)+25>>0]|0|0))break;if((k[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+8>>2]|0)>(k[(k[b>>2]|0)+64>>2]|0)){JA(k[b>>2]|0,k[c>>2]|0);continue}else{k[c>>2]=(k[c>>2]|0)+1;continue}}r=d;return}function JA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((i[(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)+6>>0]|0)!=0?(l[(k[c>>2]|0)+19>>0]|0)<8:0){b=k[(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)+12>>2]|0;f=(k[c>>2]|0)+19|0;a=i[f>>0]|0;i[f>>0]=a+1<<24>>24;k[(k[c>>2]|0)+352+((a&255)<<2)>>2]=b}f=(k[c>>2]|0)+25|0;i[f>>0]=(i[f>>0]|0)+-1<<24>>24;if((k[d>>2]|0)>=(l[(k[c>>2]|0)+25>>0]|0)){r=e;return}f=(k[c>>2]|0)+152+((k[d>>2]|0)*20|0)|0;a=(k[c>>2]|0)+152+((l[(k[c>>2]|0)+25>>0]|0)*20|0)|0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];k[f+12>>2]=k[a+12>>2];k[f+16>>2]=k[a+16>>2];r=e;return}function KA(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function LA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=r;r=r+32|0;e=j+20|0;m=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];a=Sy(k[h>>2]|0,k[m>>2]|0,0)|0;k[i>>2]=a;if(l[(k[h>>2]|0)+69>>0]|0){a=k[h>>2]|0;m=k[i>>2]|0;sv(a,m);r=j;return}sB(k[e>>2]|0,k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=k[h>>2]|0;m=k[i>>2]|0;sv(a,m);r=j;return}function MA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;if((k[e>>2]|0)==1){g=Fx(b)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}k[f>>2]=k[b+32>>2];k[g>>2]=k[(k[d>>2]|0)+28>>2];if((k[e>>2]|0)<=(k[g>>2]|0)){g=(k[d>>2]|0)+32|0;k[g>>2]=(k[g>>2]|0)+(k[e>>2]|0);g=(k[d>>2]|0)+28|0;k[g>>2]=(k[g>>2]|0)-(k[e>>2]|0)}else{k[f>>2]=(k[(k[d>>2]|0)+44>>2]|0)+1;g=(k[d>>2]|0)+44|0;k[g>>2]=(k[g>>2]|0)+(k[e>>2]|0)}k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function NA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;m=n+20|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;j[m>>1]=j[(k[(k[g>>2]|0)+4>>2]|0)+(k[i>>2]<<1)>>1]|0;if((j[m>>1]|0)==-2){k[(k[f>>2]|0)+60>>2]=k[h>>2];WA(k[f>>2]|0,k[(k[(k[(k[g>>2]|0)+40>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[l>>2]|0);r=n;return}else{XA(k[(k[f>>2]|0)+8>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,j[m>>1]|0,k[l>>2]|0);r=n;return}}function OA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;f=e+8|0;k[d>>2]=a;i[f>>0]=b;if((k[(k[d>>2]|0)+136>>2]|0)>0?(l[(k[(k[d>>2]|0)+88>>2]|0)+(((k[(k[d>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(l[f>>0]|0|0):0){f=RA(k[d>>2]|0,(k[(k[d>>2]|0)+136>>2]|0)-1|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[d>>2]|0;c=k[e>>2]|0;if((k[f>>2]|0)==1){Hx(b,c);r=g;return}QA(b,c,k[f>>2]|0);if((k[f>>2]|0)<=(k[(k[d>>2]|0)+28>>2]|0)){r=g;return}k[(k[d>>2]|0)+28>>2]=k[f>>2];k[(k[d>>2]|0)+32>>2]=k[e>>2];r=g;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[(k[d>>2]|0)+25>>0]|0|0))break;k[h>>2]=(k[d>>2]|0)+152+((k[g>>2]|0)*20|0);if((k[(k[h>>2]|0)+12>>2]|0)>=(k[e>>2]|0)?(k[(k[h>>2]|0)+12>>2]|0)<((k[e>>2]|0)+(k[f>>2]|0)|0):0){JA(k[d>>2]|0,k[g>>2]|0);continue}k[g>>2]=(k[g>>2]|0)+1}r=i;return}function RA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=(k[(k[d>>2]|0)+88>>2]|0)+((k[e>>2]|0)*20|0);SA(k[k[d>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0;i[k[f>>2]>>0]=-95;k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}return 0}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;a:do switch(k[g>>2]|0){case -21:{TA(k[d>>2]|0,k[e>>2]|0);break}case -15:case -1:case -13:case -12:{bg(k[d>>2]|0,k[e>>2]|0);break}case -6:{if(!(k[(k[d>>2]|0)+456>>2]|0))tA(k[e>>2]|0);break}case -11:{if(!(k[(k[d>>2]|0)+456>>2]|0))Ud(k[e>>2]|0);break}case -5:{UA(k[d>>2]|0,k[e>>2]|0);break}case -8:if(!(k[(k[d>>2]|0)+456>>2]|0)){mh(k[e>>2]|0);break a}else{VA(k[d>>2]|0,k[e>>2]|0);break a}case -10:{if(!(k[(k[d>>2]|0)+456>>2]|0))Cu(k[e>>2]|0);break}default:{}}while(0);r=f;return}function TA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;UA(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function UA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((m[(k[d>>2]|0)+2>>1]|0)&16)){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function VA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0)bg(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];c=Sy(k[g>>2]|0,k[e>>2]|0,0)|0;k[e>>2]=c;if(i[(k[g>>2]|0)+69>>0]|0){a=k[g>>2]|0;c=k[e>>2]|0;sv(a,c);r=h;return}$A(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);a=k[g>>2]|0;c=k[e>>2]|0;sv(a,c);r=h;return}function XA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;n=p+4|0;o=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;if((k[i>>2]|0)>=0?(k[i>>2]|0)!=(j[(k[g>>2]|0)+32>>1]|0):0){k[n>>2]=(l[(k[g>>2]|0)+42>>0]&16|0)!=0?156:96;k[o>>2]=k[i>>2];if((l[(k[g>>2]|0)+42>>0]&32|0)!=0?(l[(k[g>>2]|0)+42>>0]&16|0)==0:0){a=Tj(k[g>>2]|0)|0;a=(YA(a,k[i>>2]&65535)|0)<<16>>16;k[o>>2]=a}tx(k[f>>2]|0,k[n>>2]|0,k[h>>2]|0,k[o>>2]|0,k[m>>2]|0)|0}else sx(k[f>>2]|0,123,k[h>>2]|0,k[m>>2]|0)|0;if((k[i>>2]|0)<0){r=p;return}ZA(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0,k[m>>2]|0);r=p;return}function YA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+10|0;c=g+4|0;d=g+8|0;e=g;k[c>>2]=a;j[d>>1]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[c>>2]|0)+52>>1]|0)){b=6;break}a=k[e>>2]|0;if((j[d>>1]|0)==(j[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){j[f>>1]=a;f=j[f>>1]|0;r=g;return f|0}else if((b|0)==6){j[f>>1]=-1;f=j[f>>1]|0;r=g;return f|0}return 0}function ZA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n+24|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[m>>2]=0;a=(_A(k[e>>2]|0)|0)+66|0;i[j>>0]=i[a>>0]|0;k[l>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4);a=_A(k[e>>2]|0)|0;Ex(a,k[(k[l>>2]|0)+4>>2]|0,i[j>>0]|0,i[(k[l>>2]|0)+13>>0]|0,m)|0;if(k[m>>2]|0)Wh(k[e>>2]|0,-1,k[m>>2]|0,-8);if((i[(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+13>>0]|0)!=69){r=n;return}aA(k[e>>2]|0,92,k[h>>2]|0)|0;r=n;return}function _A(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)!=0?(l[k[e>>2]>>0]|0|0)==157:0){sx(k[(k[d>>2]|0)+8>>2]|0,84,k[(k[e>>2]|0)+28>>2]|0,k[f>>2]|0)|0;r=h;return}c=aB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)==(k[f>>2]|0)){r=h;return}if(!(k[(k[d>>2]|0)+8>>2]|0)){r=h;return}sx(k[(k[d>>2]|0)+8>>2]|0,85,k[g>>2]|0,k[f>>2]|0)|0;r=h;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0;ja=r;r=r+320|0;x=ja+24|0;w=ja+16|0;F=ja+8|0;v=ja;fa=ja+304|0;ga=ja+300|0;O=ja+296|0;ia=ja+292|0;da=ja+288|0;B=ja+284|0;aa=ja+280|0;ba=ja+276|0;ca=ja+272|0;R=ja+268|0;E=ja+264|0;S=ja+216|0;C=ja+208|0;p=ja+204|0;q=ja+200|0;g=ja+196|0;h=ja+192|0;y=ja+188|0;z=ja+184|0;D=ja+180|0;t=ja+176|0;d=ja+172|0;s=ja+168|0;Q=ja+164|0;P=ja+160|0;N=ja+156|0;G=ja+152|0;H=ja+148|0;L=ja+144|0;I=ja+140|0;A=ja+309|0;M=ja+136|0;J=ja+132|0;K=ja+308|0;n=ja+128|0;e=ja+124|0;f=ja+120|0;u=ja+116|0;o=ja+112|0;U=ja+108|0;X=ja+104|0;W=ja+100|0;V=ja+96|0;Z=ja+92|0;T=ja+88|0;Y=ja+40|0;$=ja+32|0;_=ja+28|0;k[ga>>2]=a;k[O>>2]=b;k[ia>>2]=c;k[da>>2]=k[(k[ga>>2]|0)+8>>2];k[aa>>2]=k[ia>>2];k[ba>>2]=0;k[ca>>2]=0;k[C>>2]=0;if(!(k[da>>2]|0)){k[fa>>2]=0;ia=k[fa>>2]|0;r=ja;return ia|0}if(!(k[O>>2]|0))k[B>>2]=101;else k[B>>2]=l[k[O>>2]>>0];a:do switch(k[B>>2]|0){case 154:{k[p>>2]=k[(k[O>>2]|0)+40>>2];k[q>>2]=(k[(k[p>>2]|0)+28>>2]|0)+((j[(k[O>>2]|0)+34>>1]|0)*24|0);if(!(i[k[p>>2]>>0]|0)){k[fa>>2]=k[(k[q>>2]|0)+16>>2];ia=k[fa>>2]|0;r=ja;return ia|0}if(i[(k[p>>2]|0)+1>>0]|0){tx(k[da>>2]|0,96,k[(k[p>>2]|0)+8>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}else ea=11;break}case 152:{ea=11;break}case 134:{cB(k[ga>>2]|0,k[O>>2]|0,0,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 132:{dB(k[da>>2]|0,k[(k[O>>2]|0)+8>>2]|0,0,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 97:{rx(k[da>>2]|0,k[ia>>2]|0,k[(k[O>>2]|0)+8>>2]|0)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 101:{sx(k[da>>2]|0,79,0,k[ia>>2]|0)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 133:{k[y>>2]=(k[(k[O>>2]|0)+8>>2]|0)+2;ga=(Tf(k[y>>2]|0)|0)-1|0;k[h>>2]=ga;ga=Sx(_A(k[da>>2]|0)|0,k[y>>2]|0,k[h>>2]|0)|0;k[z>>2]=ga;wx(k[da>>2]|0,81,(k[h>>2]|0)/2|0,k[ia>>2]|0,0,k[z>>2]|0,-1)|0;k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 135:{sx(k[da>>2]|0,82,j[(k[O>>2]|0)+32>>1]|0,k[ia>>2]|0)|0;if(i[(k[(k[O>>2]|0)+8>>2]|0)+1>>0]|0)Wh(k[da>>2]|0,-1,k[(k[(k[ga>>2]|0)+428>>2]|0)+((j[(k[O>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 157:{k[fa>>2]=k[(k[O>>2]|0)+28>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 66:{ea=aB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[aa>>2]=ea;if((k[aa>>2]|0)!=(k[ia>>2]|0)){sx(k[da>>2]|0,85,k[aa>>2]|0,k[ia>>2]|0)|0;k[aa>>2]=k[ia>>2]}sx(k[da>>2]|0,93,k[ia>>2]|0,(Nx(k[(k[O>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;eB(k[ga>>2]|0,k[aa>>2]|0,1);k[fa>>2]=k[aa>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 148:case 29:{k[B>>2]=(k[B>>2]|0)==29?37:36;k[C>>2]=128;ea=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{ea=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ba)|0;k[R>>2]=$;$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+16>>2]|0,ca)|0;k[E>>2]=$;tx(k[da>>2]|0,k[B>>2]|0,k[E>>2]|0,k[R>>2]|0,k[ia>>2]|0)|0;break}case 155:{k[t>>2]=k[(k[O>>2]|0)+12>>2];if((l[k[t>>2]>>0]|0)==134){cB(k[ga>>2]|0,k[t>>2]|0,1,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}if((l[k[t>>2]>>0]|0)!=132){i[S>>0]=-122;k[S+4>>2]=17408;k[S+8>>2]=0;$=hB(k[ga>>2]|0,S,ba)|0;k[R>>2]=$;$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ca)|0;k[E>>2]=$;tx(k[da>>2]|0,48,k[E>>2]|0,k[R>>2]|0,k[ia>>2]|0)|0;break a}dB(k[da>>2]|0,k[(k[t>>2]|0)+8>>2]|0,1,k[ia>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 19:case 54:{ia=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ba)|0;k[R>>2]=ia;sx(k[da>>2]|0,k[B>>2]|0,k[R>>2]|0,k[aa>>2]|0)|0;break}case 35:case 34:{sx(k[da>>2]|0,76,1,k[ia>>2]|0)|0;$=hB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,ba)|0;k[R>>2]=$;$=aA(k[da>>2]|0,k[B>>2]|0,k[R>>2]|0)|0;k[d>>2]=$;sx(k[da>>2]|0,76,0,k[ia>>2]|0)|0;hA(k[da>>2]|0,k[d>>2]|0);break}case 153:{k[s>>2]=k[(k[O>>2]|0)+40>>2];if(!(k[s>>2]|0)){ia=k[ga>>2]|0;k[v>>2]=k[(k[O>>2]|0)+8>>2];Oh(ia,31067,v);break a}k[fa>>2]=k[(k[(k[s>>2]|0)+40>>2]|0)+(j[(k[O>>2]|0)+34>>1]<<4)+8>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 151:{k[H>>2]=0;k[I>>2]=k[k[ga>>2]>>2];i[A>>0]=i[(k[I>>2]|0)+66>>0]|0;k[M>>2]=0;if(k[(k[O>>2]|0)+4>>2]&16384)k[Q>>2]=0;else k[Q>>2]=k[(k[O>>2]|0)+20>>2];if(k[Q>>2]|0)d=k[k[Q>>2]>>2]|0;else d=0;k[P>>2]=d;k[G>>2]=k[(k[O>>2]|0)+8>>2];$=ui(k[I>>2]|0,k[G>>2]|0,k[P>>2]|0,i[A>>0]|0,0)|0;k[N>>2]=$;if((k[N>>2]|0)!=0?(k[(k[N>>2]|0)+16>>2]|0)==0:0){if(m[(k[N>>2]|0)+2>>1]&512){$=eA(k[da>>2]|0)|0;k[J>>2]=$;$A(k[ga>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0,k[ia>>2]|0);k[L>>2]=1;while(1){d=k[da>>2]|0;if((k[L>>2]|0)>=(k[P>>2]|0))break;sx(d,35,k[ia>>2]|0,k[J>>2]|0)|0;QA(k[ga>>2]|0,k[ia>>2]|0,1);KA(k[ga>>2]|0);$A(k[ga>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[L>>2]|0)*20|0)>>2]|0,k[ia>>2]|0);IA(k[ga>>2]|0);k[L>>2]=(k[L>>2]|0)+1}iA(d,k[J>>2]|0);break a}if(m[(k[N>>2]|0)+2>>1]&1024){ia=aB(k[ga>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0,k[ia>>2]|0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}k[L>>2]=0;while(1){if((k[L>>2]|0)>=(k[P>>2]|0))break;if((k[L>>2]|0)<32?(jB(k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[L>>2]|0)*20|0)>>2]|0)|0)!=0:0)k[H>>2]=k[H>>2]|1<>2];if(!((k[M>>2]|0)!=0?1:(m[(k[N>>2]|0)+2>>1]&32|0)==0)){ca=py(k[ga>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+((k[L>>2]|0)*20|0)>>2]|0)|0;k[M>>2]=ca}k[L>>2]=(k[L>>2]|0)+1}if(k[Q>>2]|0){d=k[ga>>2]|0;if(k[H>>2]|0){k[R>>2]=(k[d+44>>2]|0)+1;ca=(k[ga>>2]|0)+44|0;k[ca>>2]=(k[ca>>2]|0)+(k[P>>2]|0)}else{ca=MA(d,k[P>>2]|0)|0;k[R>>2]=ca}do if(m[(k[N>>2]|0)+2>>1]&192){i[K>>0]=i[k[k[(k[Q>>2]|0)+4>>2]>>2]>>0]|0;if((l[K>>0]|0)!=152?(l[K>>0]|0)!=154:0)break;i[(k[k[(k[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=m[(k[N>>2]|0)+2>>1]&192}while(0);KA(k[ga>>2]|0);kB(k[ga>>2]|0,k[Q>>2]|0,k[R>>2]|0,0,3)|0;IA(k[ga>>2]|0)}else k[R>>2]=0;if((k[P>>2]|0)>=2?(k[(k[O>>2]|0)+4>>2]&128|0)!=0:0){ca=lB(k[I>>2]|0,k[N>>2]|0,k[P>>2]|0,k[(k[(k[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[N>>2]=ca}else ea=79;if((ea|0)==79?(k[P>>2]|0)>0:0){ea=lB(k[I>>2]|0,k[N>>2]|0,k[P>>2]|0,k[k[(k[Q>>2]|0)+4>>2]>>2]|0)|0;k[N>>2]=ea}if(m[(k[N>>2]|0)+2>>1]&32){if(!(k[M>>2]|0))k[M>>2]=k[(k[I>>2]|0)+8>>2];wx(k[da>>2]|0,88,0,0,0,k[M>>2]|0,-4)|0}wx(k[da>>2]|0,89,k[H>>2]|0,k[R>>2]|0,k[ia>>2]|0,k[N>>2]|0,-5)|0;Th(k[da>>2]|0,k[P>>2]&255);if((k[P>>2]|0)!=0&(k[H>>2]|0)==0)PA(k[ga>>2]|0,k[R>>2]|0,k[P>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}ia=k[ga>>2]|0;k[F>>2]=k[G>>2];Oh(ia,31093,F);break}case 119:case 20:{if((k[B>>2]|0)==119?(ia=k[k[k[(k[O>>2]|0)+20>>2]>>2]>>2]|0,k[n>>2]=ia,(ia|0)!=1):0){mB(k[ga>>2]|0,k[n>>2]|0,1);break a}ia=nB(k[ga>>2]|0,k[O>>2]|0,0,0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}case 159:{if(!(k[(k[(k[O>>2]|0)+12>>2]|0)+28>>2]|0)){ia=nB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,0,0)|0;k[(k[(k[O>>2]|0)+12>>2]|0)+28>>2]=ia}k[fa>>2]=(k[(k[(k[O>>2]|0)+12>>2]|0)+28>>2]|0)+(j[(k[O>>2]|0)+32>>1]|0);ia=k[fa>>2]|0;r=ja;return ia|0}case 33:{ea=eA(k[da>>2]|0)|0;k[e>>2]=ea;ea=eA(k[da>>2]|0)|0;k[f>>2]=ea;sx(k[da>>2]|0,79,0,k[ia>>2]|0)|0;oB(k[ga>>2]|0,k[O>>2]|0,k[e>>2]|0,k[f>>2]|0);sx(k[da>>2]|0,76,1,k[ia>>2]|0)|0;iA(k[da>>2]|0,k[e>>2]|0);sx(k[da>>2]|0,91,k[ia>>2]|0,0)|0;iA(k[da>>2]|0,k[f>>2]|0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 32:{pB(k[ga>>2]|0,k[O>>2]|0,k[ia>>2]|0,0,0);k[fa>>2]=k[ia>>2];ia=k[fa>>2]|0;r=ja;return ia|0}case 156:case 53:case 161:{ia=aB(k[ga>>2]|0,k[(k[O>>2]|0)+12>>2]|0,k[ia>>2]|0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}case 88:{k[u>>2]=k[(k[O>>2]|0)+44>>2];$=(ha(k[(k[O>>2]|0)+28>>2]|0,(j[(k[u>>2]|0)+34>>1]|0)+1|0)|0)+1|0;k[o>>2]=$+(j[(k[O>>2]|0)+32>>1]|0);sx(k[da>>2]|0,143,k[o>>2]|0,k[ia>>2]|0)|0;if((j[(k[O>>2]|0)+32>>1]|0)>=0?(i[(k[(k[u>>2]|0)+4>>2]|0)+(j[(k[O>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)aA(k[da>>2]|0,92,k[ia>>2]|0)|0;break}case 158:{Oh(k[ga>>2]|0,29838,w);break}case 83:{if(!(k[(k[ga>>2]|0)+128>>2]|0)){Oh(k[ga>>2]|0,31116,x);k[fa>>2]=0;ia=k[fa>>2]|0;r=ja;return ia|0}if((i[(k[O>>2]|0)+1>>0]|0)==2)dy(k[ga>>2]|0);if((i[(k[O>>2]|0)+1>>0]|0)==4){wx(k[da>>2]|0,75,0,4,0,k[(k[O>>2]|0)+8>>2]|0,0)|0;break a}else{DA(k[ga>>2]|0,1811,i[(k[O>>2]|0)+1>>0]|0,k[(k[O>>2]|0)+8>>2]|0,0,0);break a}}default:{k[_>>2]=0;k[Z>>2]=k[(k[O>>2]|0)+20>>2];k[T>>2]=k[(k[Z>>2]|0)+4>>2];k[W>>2]=k[k[Z>>2]>>2];R=eA(k[da>>2]|0)|0;k[U>>2]=R;R=k[(k[O>>2]|0)+12>>2]|0;k[$>>2]=R;if(R){d=S;e=k[$>>2]|0;f=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));rB(S,qB(k[ga>>2]|0,S,ba)|0);d=Y;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));i[Y>>0]=37;k[Y+12>>2]=S;k[_>>2]=Y;k[ba>>2]=0}k[V>>2]=0;while(1){if((k[V>>2]|0)>=((k[W>>2]|0)-1|0))break;KA(k[ga>>2]|0);d=k[(k[T>>2]|0)+((k[V>>2]|0)*20|0)>>2]|0;if(k[$>>2]|0)k[Y+16>>2]=d;else k[_>>2]=d;S=eA(k[da>>2]|0)|0;k[X>>2]=S;sB(k[ga>>2]|0,k[_>>2]|0,k[X>>2]|0,16);$A(k[ga>>2]|0,k[(k[T>>2]|0)+(((k[V>>2]|0)+1|0)*20|0)>>2]|0,k[ia>>2]|0);gA(k[da>>2]|0,k[U>>2]|0)|0;IA(k[ga>>2]|0);iA(k[da>>2]|0,k[X>>2]|0);k[V>>2]=(k[V>>2]|0)+2}if(k[W>>2]&1){KA(k[ga>>2]|0);$A(k[ga>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+(((k[W>>2]|0)-1|0)*20|0)>>2]|0,k[ia>>2]|0);IA(k[ga>>2]|0)}else sx(k[da>>2]|0,79,0,k[ia>>2]|0)|0;iA(k[da>>2]|0,k[U>>2]|0)}}while(0);do if((ea|0)==11){k[g>>2]=k[(k[O>>2]|0)+28>>2];do if((k[g>>2]|0)<0){if((k[(k[ga>>2]|0)+56>>2]|0)<=0){k[g>>2]=k[(k[ga>>2]|0)+60>>2];break}k[fa>>2]=(j[(k[O>>2]|0)+32>>1]|0)+(k[(k[ga>>2]|0)+56>>2]|0);ia=k[fa>>2]|0;r=ja;return ia|0}while(0);ia=bB(k[ga>>2]|0,k[(k[O>>2]|0)+44>>2]|0,j[(k[O>>2]|0)+32>>1]|0,k[g>>2]|0,k[ia>>2]|0,i[(k[O>>2]|0)+38>>0]|0)|0;k[fa>>2]=ia;ia=k[fa>>2]|0;r=ja;return ia|0}else if((ea|0)==29){k[D>>2]=k[(k[O>>2]|0)+12>>2];ea=(fB(k[D>>2]|0)|0)!=0;d=k[ga>>2]|0;if(ea){gB(d,k[O>>2]|0,k[ia>>2]|0,k[B>>2]&255,k[C>>2]&255);break}else{ia=hB(d,k[D>>2]|0,ba)|0;k[R>>2]=ia;ia=hB(k[ga>>2]|0,k[(k[O>>2]|0)+16>>2]|0,ca)|0;k[E>>2]=ia;iB(k[ga>>2]|0,k[D>>2]|0,k[(k[O>>2]|0)+16>>2]|0,k[B>>2]|0,k[R>>2]|0,k[E>>2]|0,k[aa>>2]|0,32|k[C>>2])|0;break}}while(0);Hx(k[ga>>2]|0,k[ba>>2]|0);Hx(k[ga>>2]|0,k[ca>>2]|0);k[fa>>2]=k[aa>>2];ia=k[fa>>2]|0;r=ja;return ia|0}function bB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;g=w+32|0;h=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+36|0;u=w+8|0;s=w+4|0;t=w;k[h>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;i[q>>0]=f;k[u>>2]=k[(k[h>>2]|0)+8>>2];k[s>>2]=0;k[t>>2]=(k[h>>2]|0)+152;while(1){if((k[s>>2]|0)>=(l[(k[h>>2]|0)+25>>0]|0))break;if((k[k[t>>2]>>2]|0)==(k[o>>2]|0)?(j[(k[t>>2]|0)+4>>1]|0)==(k[n>>2]|0):0){v=5;break}k[s>>2]=(k[s>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}if((v|0)==5){u=(k[h>>2]|0)+68|0;v=k[u>>2]|0;k[u>>2]=v+1;k[(k[t>>2]|0)+16>>2]=v;PB(k[h>>2]|0,k[(k[t>>2]|0)+12>>2]|0);k[g>>2]=k[(k[t>>2]|0)+12>>2];v=k[g>>2]|0;r=w;return v|0}XA(k[u>>2]|0,k[m>>2]|0,k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);if(i[q>>0]|0)Th(k[u>>2]|0,i[q>>0]|0);else QB(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);k[g>>2]=k[p>>2];v=k[g>>2]|0;r=w;return v|0}function cB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;m=o+8|0;e=o+40|0;p=o+36|0;f=o+32|0;g=o+28|0;j=o+24|0;i=o+20|0;h=o+16|0;l=o;n=o+12|0;k[e>>2]=a;k[p>>2]=b;k[f>>2]=c;k[g>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];d=(k[p>>2]|0)+8|0;if(k[(k[p>>2]|0)+4>>2]&1024){k[i>>2]=k[d>>2];if(k[f>>2]|0)k[i>>2]=0-(k[i>>2]|0);sx(k[j>>2]|0,76,k[i>>2]|0,k[g>>2]|0)|0;r=o;return}k[n>>2]=k[d>>2];p=Ri(k[n>>2]|0,l)|0;k[h>>2]=p;if((k[h>>2]|0)!=0?!((k[h>>2]|0)==2&(k[f>>2]|0)!=0):0)if(!(Jd(k[n>>2]|0,31290,2)|0)){p=k[e>>2]|0;k[m>>2]=k[n>>2];Oh(p,31293,m);r=o;return}else{dB(k[j>>2]|0,k[n>>2]|0,k[f>>2]|0,k[g>>2]|0);r=o;return}if(k[f>>2]|0){n=(k[h>>2]|0)==2;m=l;m=_R(0,0,k[m>>2]|0,k[m+4>>2]|0)|0;p=l;k[p>>2]=n?0:m;k[p+4>>2]=n?-2147483648:L}OB(k[j>>2]|0,77,0,k[g>>2]|0,0,l,-13)|0;r=o;return}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}b=k[f>>2]|0;oz(b,i,Tf(k[f>>2]|0)|0,1)|0;if(k[g>>2]|0)p[i>>3]=-+p[i>>3];OB(k[e>>2]|0,132,0,k[h>>2]|0,0,i,-12)|0;r=j;return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;QA(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function fB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(mz(k[c>>2]|0)|0)>1&1;r=b;return a|0}function gB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+80|0;f=C+64|0;D=C+60|0;g=C+56|0;h=C+70|0;j=C+69|0;B=C+52|0;s=C+48|0;u=C+44|0;o=C+40|0;n=C+36|0;z=C+32|0;A=C+28|0;p=C+68|0;m=C+24|0;x=C+20|0;y=C+16|0;q=C+12|0;t=C+8|0;v=C+4|0;w=C;k[f>>2]=a;k[D>>2]=b;k[g>>2]=c;i[h>>0]=d;i[j>>0]=e;k[B>>2]=k[(k[f>>2]|0)+8>>2];k[s>>2]=k[(k[D>>2]|0)+12>>2];k[u>>2]=k[(k[D>>2]|0)+16>>2];a=mz(k[s>>2]|0)|0;k[o>>2]=a;k[z>>2]=0;k[A>>2]=0;i[p>>0]=i[h>>0]|0;a=eA(k[B>>2]|0)|0;k[m>>2]=a;i[j>>0]=l[j>>0]|0|32;if((l[p>>0]|0|0)==39)i[p>>0]=40;if((l[p>>0]|0|0)==41)i[p>>0]=38;D=MB(k[f>>2]|0,k[s>>2]|0)|0;k[z>>2]=D;D=MB(k[f>>2]|0,k[u>>2]|0)|0;k[A>>2]=D;k[n>>2]=0;while(1){k[x>>2]=0;k[y>>2]=0;if((k[n>>2]|0)>0)KA(k[f>>2]|0);D=NB(k[f>>2]|0,k[s>>2]|0,k[n>>2]|0,k[z>>2]|0,q,x)|0;k[v>>2]=D;D=NB(k[f>>2]|0,k[u>>2]|0,k[n>>2]|0,k[A>>2]|0,t,y)|0;k[w>>2]=D;iB(k[f>>2]|0,k[q>>2]|0,k[t>>2]|0,l[p>>0]|0,k[v>>2]|0,k[w>>2]|0,k[g>>2]|0,l[j>>0]|0)|0;Hx(k[f>>2]|0,k[x>>2]|0);Hx(k[f>>2]|0,k[y>>2]|0);if((k[n>>2]|0)>0)IA(k[f>>2]|0);if((k[n>>2]|0)==((k[o>>2]|0)-1|0))break;do if((l[p>>0]|0|0)!=37){c=k[B>>2]|0;if((l[p>>0]|0|0)==36){sx(c,21,k[g>>2]|0,k[m>>2]|0)|0;i[j>>0]=l[j>>0]|0|8;break}sx(c,42,0,k[m>>2]|0)|0;if((k[n>>2]|0)==((k[o>>2]|0)-2|0))i[p>>0]=i[h>>0]|0}else{sx(k[B>>2]|0,22,k[g>>2]|0,k[m>>2]|0)|0;i[j>>0]=l[j>>0]|0|8}while(0);k[n>>2]=(k[n>>2]|0)+1}iA(k[B>>2]|0,k[m>>2]|0);r=C;return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;n=p+16|0;i=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=uy(k[f>>2]|0)|0;k[f>>2]=c;if(((l[(k[e>>2]|0)+23>>0]|0|0)!=0?(l[k[f>>2]>>0]|0|0)!=157:0)?(LB(k[f>>2]|0)|0)!=0:0){k[i>>2]=k[(k[e>>2]|0)+80>>2];k[k[g>>2]>>2]=0;a:do if(k[i>>2]|0){k[j>>2]=k[(k[i>>2]|0)+4>>2];k[h>>2]=k[k[i>>2]>>2];while(1){if((k[h>>2]|0)<=0)break a;if(((l[(k[j>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Uy(k[k[j>>2]>>2]|0,k[f>>2]|0,-1)|0)==0:0)break;k[j>>2]=(k[j>>2]|0)+20;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=k[(k[j>>2]|0)+16>>2];o=k[d>>2]|0;r=p;return o|0}while(0);c=(k[e>>2]|0)+44|0;m=(k[c>>2]|0)+1|0;k[c>>2]=m;k[n>>2]=m;GB(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,1)}else o=12;do if((o|0)==12){o=Fx(k[e>>2]|0)|0;k[m>>2]=o;o=aB(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)==(k[m>>2]|0)){k[k[g>>2]>>2]=k[m>>2];break}else{Hx(k[e>>2]|0,k[m>>2]|0);k[k[g>>2]>>2]=0;break}}while(0);k[d>>2]=k[n>>2];o=k[d>>2]|0;r=p;return o|0}function iB(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;j=r;r=r+48|0;m=j+40|0;v=j+36|0;u=j+32|0;s=j+28|0;o=j+24|0;q=j+20|0;p=j+16|0;t=j+12|0;l=j+8|0;i=j+4|0;n=j;k[m>>2]=a;k[v>>2]=b;k[u>>2]=c;k[s>>2]=d;k[o>>2]=e;k[q>>2]=f;k[p>>2]=g;k[t>>2]=h;c=CB(k[m>>2]|0,k[v>>2]|0,k[u>>2]|0)|0;k[n>>2]=c;c=(KB(k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0)&255;k[l>>2]=c;c=wx(k[(k[m>>2]|0)+8>>2]|0,k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,-4)|0;k[i>>2]=c;Th(k[(k[m>>2]|0)+8>>2]|0,k[l>>2]&255);r=j;return k[i>>2]|0}function jB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=HB(k[c>>2]|0,1,0)|0;r=b;return a|0}function kB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+44|0;g=z+40|0;h=z+36|0;j=z+32|0;n=z+49|0;v=z+28|0;p=z+24|0;s=z+20|0;t=z+16|0;o=z+48|0;x=z+12|0;u=z+8|0;q=z+4|0;w=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;i[n>>0]=e;i[o>>0]=(l[n>>0]&1|0)!=0?84:85;k[x>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[k[g>>2]>>2];if(!(i[(k[f>>2]|0)+23>>0]|0))i[n>>0]=l[n>>0]&-3;k[v>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[t>>2]|0))break;k[u>>2]=k[k[v>>2]>>2];if((l[n>>0]&4|0)!=0?(c=m[(k[(k[g>>2]|0)+4>>2]|0)+((k[p>>2]|0)*20|0)+16>>1]|0,k[s>>2]=c,(c|0)>0):0)sx(k[x>>2]|0,l[o>>0]|0,(k[s>>2]|0)+(k[j>>2]|0)-1|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((l[n>>0]&2|0)!=0?(jB(k[u>>2]|0)|0)!=0:0){GB(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0,0);break}c=aB(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;k[q>>2]=c;if((k[q>>2]|0)!=((k[h>>2]|0)+(k[p>>2]|0)|0)){if((((l[o>>0]|0)==84?(c=oA(k[x>>2]|0,-1)|0,k[w>>2]=c,(l[c>>0]|0)==84):0)?((k[(k[w>>2]|0)+4>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==(k[q>>2]|0):0)?((k[(k[w>>2]|0)+8>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==((k[h>>2]|0)+(k[p>>2]|0)|0):0){c=(k[w>>2]|0)+12|0;k[c>>2]=(k[c>>2]|0)+1;break}sx(k[x>>2]|0,l[o>>0]|0,k[q>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+20}r=z;return k[t>>2]|0}function lB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;e=y+52|0;f=y+48|0;g=y+44|0;h=y+40|0;n=y+36|0;s=y+32|0;t=y+28|0;p=y+24|0;v=y+20|0;o=y+16|0;q=y+12|0;u=y+8|0;x=y+4|0;w=y;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[v>>2]=0;k[o>>2]=0;k[u>>2]=0;if(!(k[n>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}if((l[k[n>>2]>>0]|0)!=152){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}k[s>>2]=k[(k[n>>2]|0)+44>>2];if(!(k[s>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}if(!(l[(k[s>>2]|0)+42>>0]&16)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}s=(cy(k[f>>2]|0,k[s>>2]|0)|0)+8|0;k[t>>2]=k[s>>2];k[p>>2]=k[k[t>>2]>>2];if(!(k[(k[p>>2]|0)+72>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}s=Ah(k[f>>2]|0,k[(k[g>>2]|0)+20>>2]|0)|0;k[x>>2]=s;if(k[x>>2]|0){k[w>>2]=k[x>>2];while(1){if(!(i[k[w>>2]>>0]|0))break;i[k[w>>2]>>0]=i[17613+(l[k[w>>2]>>0]|0)>>0]|0;k[w>>2]=(k[w>>2]|0)+1}w=hc[k[(k[p>>2]|0)+72>>2]&255](k[t>>2]|0,k[h>>2]|0,k[x>>2]|0,v,o)|0;k[u>>2]=w;bg(k[f>>2]|0,k[x>>2]|0)}if(!(k[u>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}x=k[f>>2]|0;x=Ch(x,28+(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0,0)|0;k[q>>2]=x;if(!(k[q>>2]|0)){k[e>>2]=k[g>>2];x=k[e>>2]|0;r=y;return x|0}else{w=k[q>>2]|0;x=k[g>>2]|0;k[w>>2]=k[x>>2];k[w+4>>2]=k[x+4>>2];k[w+8>>2]=k[x+8>>2];k[w+12>>2]=k[x+12>>2];k[w+16>>2]=k[x+16>>2];k[w+20>>2]=k[x+20>>2];k[w+24>>2]=k[x+24>>2];k[(k[q>>2]|0)+20>>2]=(k[q>>2]|0)+28;w=(k[q>>2]|0)+28|0;x=k[(k[g>>2]|0)+20>>2]|0;bS(w|0,x|0,(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0)|0;k[(k[q>>2]|0)+12>>2]=k[v>>2];k[(k[q>>2]|0)+4>>2]=k[o>>2];x=(k[q>>2]|0)+2|0;j[x>>1]=m[x>>1]|16;k[e>>2]=k[q>>2];x=k[e>>2]|0;r=y;return x|0}return 0}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;e=d;i=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=31246;c=k[i>>2]|0;a=k[h>>2]|0;b=k[g>>2]|0;k[e>>2]=k[f>>2];k[e+4>>2]=b;Oh(c,a,e);r=d;return}function nB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+176|0;e=O;H=O+168|0;I=O+164|0;J=O+160|0;K=O+156|0;v=O+152|0;L=O+148|0;M=O+144|0;N=O+140|0;f=O+136|0;w=O+132|0;s=O+128|0;C=O+124|0;o=O+120|0;u=O+116|0;q=O+112|0;m=O+88|0;n=O+80|0;p=O+76|0;x=O+172|0;y=O+72|0;t=O+68|0;B=O+64|0;D=O+60|0;E=O+56|0;F=O+52|0;A=O+48|0;z=O+44|0;j=O+40|0;g=O+16|0;h=O+12|0;k[I>>2]=a;k[J>>2]=b;k[K>>2]=c;k[v>>2]=d;k[L>>2]=-1;k[M>>2]=0;c=nx(k[I>>2]|0)|0;k[N>>2]=c;if(!(k[N>>2]|0)){k[H>>2]=0;N=k[H>>2]|0;r=O;return N|0}KA(k[I>>2]|0);if(!(k[(k[J>>2]|0)+4>>2]&32)){c=px(k[N>>2]|0,20)|0;k[L>>2]=c}if((l[(k[I>>2]|0)+409>>0]|0)==2){c=k[k[I>>2]>>2]|0;b=(l[k[J>>2]>>0]|0)==33?31209:31214;a=k[(k[I>>2]|0)+424>>2]|0;k[e>>2]=(k[L>>2]|0)>=0?18402:31197;k[e+4>>2]=b;k[e+8>>2]=a;e=Qh(c,31221,e)|0;k[f>>2]=e;wx(k[N>>2]|0,162,k[(k[I>>2]|0)+420>>2]|0,0,0,k[f>>2]|0,-1)|0}d=k[J>>2]|0;do if((l[k[J>>2]>>0]|0)==33){k[s>>2]=k[d+12>>2];k[C>>2]=0;h=mz(k[s>>2]|0)|0;k[o>>2]=h;h=(k[I>>2]|0)+40|0;j=k[h>>2]|0;k[h>>2]=j+1;k[(k[J>>2]|0)+28>>2]=j;j=sx(k[N>>2]|0,107,k[(k[J>>2]|0)+28>>2]|0,(k[v>>2]|0)!=0?0:k[o>>2]|0)|0;k[w>>2]=j;if(k[v>>2]|0)d=0;else d=sA(k[k[I>>2]>>2]|0,k[o>>2]|0,1)|0;k[C>>2]=d;d=(k[J>>2]|0)+20|0;a:do if(k[(k[J>>2]|0)+4>>2]&2048){k[u>>2]=k[d>>2];k[q>>2]=k[k[u>>2]>>2];if((k[k[q>>2]>>2]|0)==(k[o>>2]|0)){FB(m,11,k[(k[J>>2]|0)+28>>2]|0);G=wB(k[I>>2]|0,k[J>>2]|0)|0;k[m+4>>2]=G;k[(k[u>>2]|0)+12>>2]=0;G=(Zv(k[I>>2]|0,k[u>>2]|0,m)|0)!=0;bg(k[k[I>>2]>>2]|0,k[m+4>>2]|0);if(G){tA(k[C>>2]|0);k[H>>2]=0;N=k[H>>2]|0;r=O;return N|0}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[o>>2]|0))break a;G=zB(k[s>>2]|0,k[n>>2]|0)|0;k[p>>2]=G;G=CB(k[I>>2]|0,k[p>>2]|0,k[(k[(k[q>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0;k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]=G;k[n>>2]=(k[n>>2]|0)+1}}}else if(k[d>>2]|0){k[t>>2]=k[(k[J>>2]|0)+20>>2];u=oy(k[s>>2]|0)|0;i[x>>0]=u;i[x>>0]=(i[x>>0]|0)!=0?u:65;if(k[C>>2]|0){u=py(k[I>>2]|0,k[(k[J>>2]|0)+12>>2]|0)|0;k[(k[C>>2]|0)+20>>2]=u}u=Fx(k[I>>2]|0)|0;k[D>>2]=u;u=Fx(k[I>>2]|0)|0;k[E>>2]=u;if(k[v>>2]|0)sx(k[N>>2]|0,79,0,k[E>>2]|0)|0;k[y>>2]=k[k[t>>2]>>2];k[B>>2]=k[(k[t>>2]|0)+4>>2];while(1){if((k[y>>2]|0)<=0)break;k[A>>2]=k[k[B>>2]>>2];if((k[L>>2]|0)>=0?(jB(k[A>>2]|0)|0)==0:0){RA(k[N>>2]|0,k[L>>2]|0)|0;k[L>>2]=-1}if((k[v>>2]|0)!=0?(Py(k[A>>2]|0,z)|0)!=0:0)tx(k[N>>2]|0,116,k[(k[J>>2]|0)+28>>2]|0,k[E>>2]|0,k[z>>2]|0)|0;else G=30;do if((G|0)==30){G=0;d=aB(k[I>>2]|0,k[A>>2]|0,k[D>>2]|0)|0;k[F>>2]=d;d=k[N>>2]|0;b=k[F>>2]|0;if(k[v>>2]|0){sx(d,17,b,(Gx(k[N>>2]|0)|0)+2|0)|0;tx(k[N>>2]|0,115,k[(k[J>>2]|0)+28>>2]|0,k[E>>2]|0,k[F>>2]|0)|0;break}else{wx(d,99,b,1,k[E>>2]|0,x,1)|0;eB(k[I>>2]|0,k[F>>2]|0,1);sx(k[N>>2]|0,126,k[(k[J>>2]|0)+28>>2]|0,k[E>>2]|0)|0;break}}while(0);k[y>>2]=(k[y>>2]|0)+-1;k[B>>2]=(k[B>>2]|0)+20}Hx(k[I>>2]|0,k[D>>2]|0);Hx(k[I>>2]|0,k[E>>2]|0)}while(0);if(k[C>>2]|0)Wh(k[N>>2]|0,k[w>>2]|0,k[C>>2]|0,-6)}else{k[j>>2]=k[d+20>>2];if((l[k[J>>2]>>0]|0)==119)d=k[k[k[j>>2]>>2]>>2]|0;else d=1;k[h>>2]=d;FB(g,0,(k[(k[I>>2]|0)+44>>2]|0)+1|0);G=(k[I>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+(k[h>>2]|0);if((l[k[J>>2]>>0]|0)==119){i[g>>0]=10;k[g+12>>2]=k[g+8>>2];k[g+16>>2]=k[h>>2];tx(k[N>>2]|0,79,0,k[g+8>>2]|0,(k[g+8>>2]|0)+(k[h>>2]|0)-1|0)|0}else{i[g>>0]=3;sx(k[N>>2]|0,76,0,k[g+8>>2]|0)|0}sv(k[k[I>>2]>>2]|0,k[(k[j>>2]|0)+56>>2]|0);G=tw(k[k[I>>2]>>2]|0,134,4284,0)|0;k[(k[j>>2]|0)+56>>2]=G;k[(k[j>>2]|0)+12>>2]=0;G=(k[j>>2]|0)+8|0;k[G>>2]=k[G>>2]&-1025;if(!(Zv(k[I>>2]|0,k[j>>2]|0,g)|0)){k[M>>2]=k[g+8>>2];break}k[H>>2]=0;N=k[H>>2]|0;r=O;return N|0}while(0);if(k[K>>2]|0)DB(k[N>>2]|0,k[(k[J>>2]|0)+28>>2]|0,k[K>>2]|0);if((k[L>>2]|0)>=0)hA(k[N>>2]|0,k[L>>2]|0);IA(k[I>>2]|0);k[H>>2]=k[M>>2];N=k[H>>2]|0;r=O;return N|0}function oB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+128|0;q=L+120|0;s=L+116|0;t=L+112|0;u=L+108|0;I=L+104|0;p=L+100|0;G=L+96|0;H=L+92|0;J=L+88|0;x=L+84|0;K=L+80|0;B=L+76|0;E=L+68|0;A=L+64|0;e=L+60|0;z=L+56|0;w=L+52|0;y=L+48|0;v=L+44|0;l=L+40|0;j=L+36|0;g=L+32|0;m=L+28|0;o=L+24|0;n=L+20|0;f=L+16|0;h=L+12|0;C=L+8|0;D=L+4|0;F=L;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[u>>2]=d;k[I>>2]=0;k[x>>2]=0;k[K>>2]=0;k[z>>2]=0;k[E>>2]=k[(k[s>>2]|0)+12>>2];if(vB(k[q>>2]|0,k[s>>2]|0)|0){r=L;return}a=wB(k[q>>2]|0,k[s>>2]|0)|0;k[K>>2]=a;a=mz(k[(k[s>>2]|0)+12>>2]|0)|0;k[B>>2]=a;a=Ch(k[k[q>>2]>>2]|0,((k[B>>2]|0)*5|0)+1|0,0)|0;k[x>>2]=a;if(!(i[(k[k[q>>2]>>2]|0)+69>>0]|0)){k[J>>2]=k[(k[q>>2]|0)+8>>2];a=xB(k[q>>2]|0,k[s>>2]|0,3,(k[t>>2]|0)==(k[u>>2]|0)?0:I,k[x>>2]|0)|0;k[p>>2]=a;KA(k[q>>2]|0);a=qB(k[q>>2]|0,k[E>>2]|0,L+72|0)|0;k[H>>2]=a;k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break;if((k[(k[x>>2]|0)+(k[A>>2]<<2)>>2]|0)!=(k[A>>2]|0))break;k[A>>2]=(k[A>>2]|0)+1}a:do if((k[A>>2]|0)==(k[B>>2]|0))k[G>>2]=k[H>>2];else{a=MA(k[q>>2]|0,k[B>>2]|0)|0;k[G>>2]=a;k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break a;tx(k[J>>2]|0,84,(k[H>>2]|0)+(k[A>>2]|0)|0,(k[G>>2]|0)+(k[(k[x>>2]|0)+(k[A>>2]<<2)>>2]|0)|0,0)|0;k[A>>2]=(k[A>>2]|0)+1}}while(0);b:do if((k[p>>2]|0)==5){k[l>>2]=k[(k[s>>2]|0)+20>>2];I=py(k[q>>2]|0,k[(k[s>>2]|0)+12>>2]|0)|0;k[j>>2]=I;I=eA(k[J>>2]|0)|0;k[g>>2]=I;k[n>>2]=0;if((k[u>>2]|0)!=(k[t>>2]|0)){I=Fx(k[q>>2]|0)|0;k[n>>2]=I;tx(k[J>>2]|0,43,k[G>>2]|0,k[G>>2]|0,k[n>>2]|0)|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[l>>2]>>2]|0))break;I=hB(k[q>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0,o)|0;k[m>>2]=I;if((k[n>>2]|0)!=0?(yB(k[(k[(k[l>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)!=0:0)tx(k[J>>2]|0,43,k[n>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;if((k[f>>2]|0)>=((k[k[l>>2]>>2]|0)-1|0)?(k[u>>2]|0)==(k[t>>2]|0):0){wx(k[J>>2]|0,36,k[G>>2]|0,k[t>>2]|0,k[m>>2]|0,k[j>>2]|0,-4)|0;Th(k[J>>2]|0,(i[k[K>>2]>>0]|16)&255)}else{wx(k[J>>2]|0,37,k[G>>2]|0,k[g>>2]|0,k[m>>2]|0,k[j>>2]|0,-4)|0;Th(k[J>>2]|0,i[k[K>>2]>>0]|0)}Hx(k[q>>2]|0,k[o>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if(k[n>>2]|0){sx(k[J>>2]|0,34,k[n>>2]|0,k[u>>2]|0)|0;gA(k[J>>2]|0,k[t>>2]|0)|0}iA(k[J>>2]|0,k[g>>2]|0);Hx(k[q>>2]|0,k[n>>2]|0)}else{if((k[u>>2]|0)==(k[t>>2]|0))k[e>>2]=k[t>>2];else{o=eA(k[J>>2]|0)|0;k[z>>2]=o;k[e>>2]=o}k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break;o=zB(k[(k[s>>2]|0)+12>>2]|0,k[A>>2]|0)|0;k[h>>2]=o;if(yB(k[h>>2]|0)|0)sx(k[J>>2]|0,34,(k[G>>2]|0)+(k[A>>2]|0)|0,k[e>>2]|0)|0;k[A>>2]=(k[A>>2]|0)+1}c=k[J>>2]|0;do if((k[p>>2]|0)!=1){wx(c,98,k[G>>2]|0,k[B>>2]|0,0,k[K>>2]|0,k[B>>2]|0)|0;c=k[J>>2]|0;d=k[(k[s>>2]|0)+28>>2]|0;if((k[t>>2]|0)==(k[u>>2]|0)){Sh(c,30,d,k[t>>2]|0,k[G>>2]|0,k[B>>2]|0)|0;break b}else{p=Sh(c,31,d,0,k[G>>2]|0,k[B>>2]|0)|0;k[w>>2]=p;break}}else{tx(c,32,k[(k[s>>2]|0)+28>>2]|0,k[t>>2]|0,k[G>>2]|0)|0;p=px(k[J>>2]|0,13)|0;k[w>>2]=p}while(0);if((k[I>>2]|0)!=0&(k[B>>2]|0)==1)sx(k[J>>2]|0,35,k[I>>2]|0,k[t>>2]|0)|0;if((k[t>>2]|0)==(k[u>>2]|0))gA(k[J>>2]|0,k[t>>2]|0)|0;if(k[z>>2]|0)iA(k[J>>2]|0,k[z>>2]|0);I=sx(k[J>>2]|0,57,k[(k[s>>2]|0)+28>>2]|0,k[t>>2]|0)|0;k[v>>2]=I;if((k[B>>2]|0)>1){I=eA(k[J>>2]|0)|0;k[y>>2]=I}else k[y>>2]=k[t>>2];k[A>>2]=0;while(1){if((k[A>>2]|0)>=(k[B>>2]|0))break;I=Fx(k[q>>2]|0)|0;k[F>>2]=I;I=zB(k[E>>2]|0,k[A>>2]|0)|0;k[C>>2]=I;I=py(k[q>>2]|0,k[C>>2]|0)|0;k[D>>2]=I;tx(k[J>>2]|0,96,k[(k[s>>2]|0)+28>>2]|0,k[A>>2]|0,k[F>>2]|0)|0;wx(k[J>>2]|0,36,(k[G>>2]|0)+(k[A>>2]|0)|0,k[y>>2]|0,k[F>>2]|0,k[D>>2]|0,-4)|0;Hx(k[q>>2]|0,k[F>>2]|0);k[A>>2]=(k[A>>2]|0)+1}sx(k[J>>2]|0,13,0,k[u>>2]|0)|0;if((k[B>>2]|0)>1){iA(k[J>>2]|0,k[y>>2]|0);sx(k[J>>2]|0,7,k[(k[s>>2]|0)+28>>2]|0,(k[v>>2]|0)+1|0)|0;sx(k[J>>2]|0,13,0,k[t>>2]|0)|0}hA(k[J>>2]|0,k[w>>2]|0)}while(0);if((k[G>>2]|0)!=(k[H>>2]|0))Hx(k[q>>2]|0,k[G>>2]|0);IA(k[q>>2]|0)}bg(k[k[q>>2]>>2]|0,k[x>>2]|0);bg(k[k[q>>2]>>2]|0,k[K>>2]|0);r=L;return}function pB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;f=s+216|0;g=s+212|0;h=s+208|0;j=s+204|0;l=s+200|0;o=s+152|0;m=s+104|0;n=s+56|0;p=s+8|0;q=s;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[q>>2]=0;c=m;b=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));c=n;b=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));c=o;b=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));c=p;e=k[(k[g>>2]|0)+12>>2]|0;b=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(b|0));i[o>>0]=28;k[o+12>>2]=m;k[o+16>>2]=n;i[m>>0]=41;k[m+12>>2]=p;k[m+16>>2]=k[k[(k[(k[g>>2]|0)+20>>2]|0)+4>>2]>>2];i[n>>0]=39;k[n+12>>2]=p;k[n+16>>2]=k[(k[(k[(k[g>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];rB(p,qB(k[f>>2]|0,p,q)|0);if(k[j>>2]|0){ic[k[j>>2]&255](k[f>>2]|0,o,k[h>>2]|0,k[l>>2]|0);p=k[f>>2]|0;q=k[q>>2]|0;Hx(p,q);r=s;return}else{p=p+4|0;k[p>>2]=k[p>>2]|1;aB(k[f>>2]|0,o,k[h>>2]|0)|0;p=k[f>>2]|0;q=k[q>>2]|0;Hx(p,q);r=s;return}}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+16|0;d=j+12|0;h=j+8|0;i=j+4|0;g=j;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;c=mz(k[f>>2]|0)|0;k[i>>2]=c;if((k[i>>2]|0)==1){i=hB(k[e>>2]|0,k[f>>2]|0,k[d>>2]|0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}k[k[d>>2]>>2]=0;d=k[e>>2]|0;if((l[k[f>>2]>>0]|0|0)==119){i=nB(d,k[f>>2]|0,0,0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}k[h>>2]=(k[d+44>>2]|0)+1;c=(k[e>>2]|0)+44|0;k[c>>2]=(k[c>>2]|0)+(k[i>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[i>>2]|0))break;$A(k[e>>2]|0,k[(k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0);k[g>>2]=(k[g>>2]|0)+1}i=k[h>>2]|0;r=j;return i|0}function rB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+38>>0]=i[k[d>>2]>>0]|0;i[k[d>>2]>>0]=-99;k[(k[d>>2]|0)+28>>2]=k[e>>2];a=(k[d>>2]|0)+4|0;k[a>>2]=k[a>>2]&-4097;r=c;return}function sB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+44|0;f=u+40|0;g=u+36|0;h=u+32|0;s=u+28|0;m=u+24|0;p=u+20|0;q=u+16|0;n=u+12|0;o=u+8|0;i=u+4|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=k[(k[e>>2]|0)+8>>2];k[m>>2]=0;k[p>>2]=0;k[q>>2]=0;if((k[s>>2]|0)==0|(k[f>>2]|0)==0){r=u;return}k[m>>2]=((l[k[f>>2]>>0]|0)+0^1)-0;a:do switch(l[k[f>>2]>>0]|0|0){case 28:{sB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);KA(k[e>>2]|0);sB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);IA(k[e>>2]|0);break}case 27:{o=eA(k[s>>2]|0)|0;k[i>>2]=o;tB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);KA(k[e>>2]|0);sB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);iA(k[s>>2]|0,k[i>>2]|0);IA(k[e>>2]|0);break}case 19:{tB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 29:{k[m>>2]=(l[k[f>>2]>>0]|0|0)==29?36:37;k[h>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{o=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=o;sx(k[s>>2]|0,k[m>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;break}case 32:{pB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,133,k[h>>2]|0);break}case 33:if(k[h>>2]|0){oB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[g>>2]|0);break a}else{o=eA(k[s>>2]|0)|0;k[j>>2]=o;oB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[j>>2]|0);iA(k[s>>2]|0,k[j>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(fB(k[(k[f>>2]|0)+12>>2]|0)|0)t=14;else{s=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=s;s=hB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,q)|0;k[o>>2]=s;iB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}do if((t|0)==14){if(Hz(k[f>>2]|0)|0){gA(k[s>>2]|0,k[g>>2]|0)|0;break}if(!(uB(k[f>>2]|0)|0)){t=hB(k[e>>2]|0,k[f>>2]|0,p)|0;k[n>>2]=t;tx(k[s>>2]|0,22,k[n>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}while(0);Hx(k[e>>2]|0,k[p>>2]|0);Hx(k[e>>2]|0,k[q>>2]|0);r=u;return}function tB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+48|0;f=v+44|0;g=v+40|0;h=v+36|0;t=v+32|0;n=v+28|0;q=v+24|0;s=v+20|0;o=v+16|0;p=v+12|0;i=v+8|0;j=v+4|0;m=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[t>>2]=k[(k[e>>2]|0)+8>>2];k[n>>2]=0;k[q>>2]=0;k[s>>2]=0;if((k[t>>2]|0)==0|(k[f>>2]|0)==0){r=v;return}k[n>>2]=l[k[f>>2]>>0];switch(k[n>>2]|0){case 28:{p=eA(k[t>>2]|0)|0;k[i>>2]=p;sB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);KA(k[e>>2]|0);tB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);iA(k[t>>2]|0,k[i>>2]|0);IA(k[e>>2]|0);break}case 27:{tB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);KA(k[e>>2]|0);tB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);IA(k[e>>2]|0);break}case 19:{sB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 29:{k[n>>2]=(k[n>>2]|0)==29?37:36;k[h>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{p=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=p;sx(k[t>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;break}case 32:{pB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,134,k[h>>2]|0);break}case 33:{p=eA(k[t>>2]|0)|0;k[j>>2]=p;k[m>>2]=(k[h>>2]|0)!=0?k[g>>2]|0:k[j>>2]|0;oB(k[e>>2]|0,k[f>>2]|0,k[j>>2]|0,k[m>>2]|0);gA(k[t>>2]|0,k[g>>2]|0)|0;iA(k[t>>2]|0,k[j>>2]|0);break}default:u=12}if((u|0)==7)if(fB(k[(k[f>>2]|0)+12>>2]|0)|0)u=12;else{t=hB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=t;t=hB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,s)|0;k[p>>2]=t;iB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}do if((u|0)==12){if(uB(k[f>>2]|0)|0){gA(k[t>>2]|0,k[g>>2]|0)|0;break}if(!(Hz(k[f>>2]|0)|0)){u=hB(k[e>>2]|0,k[f>>2]|0,q)|0;k[o>>2]=u;tx(k[t>>2]|0,21,k[o>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}while(0);Hx(k[e>>2]|0,k[q>>2]|0);Hx(k[e>>2]|0,k[s>>2]|0);r=v;return}function uB(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Py(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)!=0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function vB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;d=h+16|0;c=h+12|0;e=h+8|0;f=h+4|0;k[c>>2]=a;k[e>>2]=b;b=mz(k[(k[e>>2]|0)+12>>2]|0)|0;k[f>>2]=b;b=k[f>>2]|0;if(k[(k[e>>2]|0)+4>>2]&2048){if((b|0)!=(k[k[k[(k[e>>2]|0)+20>>2]>>2]>>2]|0)){mB(k[c>>2]|0,k[k[k[(k[e>>2]|0)+20>>2]>>2]>>2]|0,k[f>>2]|0);k[d>>2]=1;g=k[d>>2]|0;r=h;return g|0}}else if((b|0)!=1){b=k[c>>2]|0;if(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]&2048)mB(b,k[f>>2]|0,1);else Oh(b,29838,g);k[d>>2]=1;g=k[d>>2]|0;r=h;return g|0}k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}function wB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n+28|0;c=n+24|0;j=n+20|0;g=n+16|0;l=n+12|0;m=n+8|0;f=n+4|0;h=n;e=n+32|0;k[d>>2]=a;k[c>>2]=b;k[j>>2]=k[(k[c>>2]|0)+12>>2];a=mz(k[j>>2]|0)|0;k[g>>2]=a;if(k[(k[c>>2]|0)+4>>2]&2048)c=k[(k[c>>2]|0)+20>>2]|0;else c=0;k[l>>2]=c;a=(k[g>>2]|0)+1|0;d=Ch(k[k[d>>2]>>2]|0,a,((a|0)<0)<<31>>31)|0;k[m>>2]=d;if(!(k[m>>2]|0)){m=k[m>>2]|0;r=n;return m|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;d=zB(k[j>>2]|0,k[f>>2]|0)|0;k[h>>2]=d;d=oy(k[h>>2]|0)|0;i[e>>0]=d;if(k[l>>2]|0){d=BB(k[(k[(k[k[l>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0,i[e>>0]|0)|0;i[(k[m>>2]|0)+(k[f>>2]|0)>>0]=d}else i[(k[m>>2]|0)+(k[f>>2]|0)>>0]=i[e>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[m>>2]|0)+(k[g>>2]|0)>>0]=0;m=k[m>>2]|0;r=n;return m|0}function xB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+160|0;W=X+16|0;f=X+140|0;g=X+136|0;h=X+132|0;n=X+128|0;o=X+124|0;J=X+120|0;u=X+116|0;C=X+112|0;G=X+108|0;V=X+104|0;v=X+100|0;K=X+96|0;t=X+92|0;S=X+88|0;B=X+144|0;M=X+84|0;I=X+80|0;y=X+76|0;N=X+72|0;p=X+68|0;w=X+64|0;O=X+60|0;A=X+56|0;D=X+147|0;q=X+146|0;s=X+8|0;F=X;P=X+52|0;R=X+48|0;Q=X+44|0;E=X+40|0;z=X+36|0;U=X+32|0;T=X+28|0;x=X+24|0;H=X+20|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[o>>2]=e;k[u>>2]=0;b=(k[f>>2]|0)+40|0;d=k[b>>2]|0;k[b>>2]=d+1;k[C>>2]=d;d=nx(k[f>>2]|0)|0;k[V>>2]=d;k[G>>2]=(k[h>>2]&4|0)!=0&1;if((k[n>>2]|0)!=0?(k[(k[g>>2]|0)+4>>2]&2048|0)!=0:0){k[K>>2]=k[k[(k[g>>2]|0)+20>>2]>>2];k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[k[K>>2]>>2]|0))break;if(yB(k[(k[(k[K>>2]|0)+4>>2]|0)+((k[v>>2]|0)*20|0)>>2]|0)|0)break;k[v>>2]=(k[v>>2]|0)+1}if((k[v>>2]|0)==(k[k[K>>2]>>2]|0))k[n>>2]=0}a:do if((k[(k[f>>2]|0)+36>>2]|0)==0?(d=AB(k[g>>2]|0)|0,k[J>>2]=d,(d|0)!=0):0){k[t>>2]=k[k[f>>2]>>2];k[M>>2]=k[k[J>>2]>>2];k[I>>2]=k[k[M>>2]>>2];k[S>>2]=k[(k[(k[J>>2]|0)+28>>2]|0)+8+16>>2];d=(Ph(k[t>>2]|0,k[(k[S>>2]|0)+64>>2]|0)|0)&65535;j[B>>1]=d;Cx(k[f>>2]|0,j[B>>1]|0);bA(k[f>>2]|0,j[B>>1]|0,k[(k[S>>2]|0)+28>>2]|0,0,k[k[S>>2]>>2]|0);if((k[I>>2]|0)==1?(j[(k[k[(k[M>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){W=px(k[V>>2]|0,20)|0;k[y>>2]=W;cA(k[f>>2]|0,k[C>>2]|0,j[B>>1]|0,k[S>>2]|0,104);k[u>>2]=1;hA(k[V>>2]|0,k[y>>2]|0);break}k[p>>2]=1;k[w>>2]=0;while(1){if(!((k[w>>2]|0)<(k[I>>2]|0)?(k[p>>2]|0)!=0:0))break;d=zB(k[(k[g>>2]|0)+12>>2]|0,k[w>>2]|0)|0;k[O>>2]=d;k[A>>2]=j[(k[(k[(k[M>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2]|0)+32>>1];d=vy(k[S>>2]|0,k[A>>2]|0)|0;i[D>>0]=d;d=BB(k[O>>2]|0,i[D>>0]|0)|0;i[q>>0]=d;if(((i[q>>0]|0)+-65|0)>>>0>=2)k[p>>2]=(i[D>>0]|0)>=67&1;k[w>>2]=(k[w>>2]|0)+1}if(k[p>>2]|0){k[N>>2]=k[(k[S>>2]|0)+8>>2];while(1){if(!((k[N>>2]|0)!=0?(k[u>>2]|0)==0:0))break a;do if((m[(k[N>>2]|0)+52>>1]|0)>=(k[I>>2]|0)?(m[(k[N>>2]|0)+52>>1]|0)<63:0){if(k[G>>2]|0){if((m[(k[N>>2]|0)+50>>1]|0)>(k[I>>2]|0))break;if((m[(k[N>>2]|0)+52>>1]|0)>(k[I>>2]|0)?(l[(k[N>>2]|0)+54>>0]|0)==0:0)break}d=s;k[d>>2]=0;k[d+4>>2]=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[I>>2]|0))break;d=zB(k[(k[g>>2]|0)+12>>2]|0,k[w>>2]|0)|0;k[P>>2]=d;k[R>>2]=k[(k[(k[M>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2];d=CB(k[f>>2]|0,k[P>>2]|0,k[R>>2]|0)|0;k[Q>>2]=d;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[I>>2]|0))break;if((j[(k[(k[N>>2]|0)+4>>2]|0)+(k[E>>2]<<1)>>1]|0)==(j[(k[R>>2]|0)+32>>1]|0)){if(!(k[Q>>2]|0))break;if(!(sg(k[k[Q>>2]>>2]|0,k[(k[(k[N>>2]|0)+32>>2]|0)+(k[E>>2]<<2)>>2]|0)|0))break}k[E>>2]=(k[E>>2]|0)+1}if((k[E>>2]|0)==(k[I>>2]|0))break;d=eS(1,0,k[E>>2]|0)|0;b=F;k[b>>2]=d;k[b+4>>2]=L;b=F;d=s;if((k[b>>2]&k[d>>2]|0)!=0?1:(k[b+4>>2]&k[d+4>>2]|0)!=0)break;S=F;a=s;b=k[a+4>>2]|k[S+4>>2];d=s;k[d>>2]=k[a>>2]|k[S>>2];k[d+4>>2]=b;if(k[o>>2]|0)k[(k[o>>2]|0)+(k[w>>2]<<2)>>2]=k[E>>2];k[w>>2]=(k[w>>2]|0)+1}d=s;S=k[d>>2]|0;d=k[d+4>>2]|0;b=eS(1,0,k[I>>2]|0)|0;b=_R(b|0,L|0,1,0)|0;if((S|0)==(b|0)&(d|0)==(L|0)){b=px(k[V>>2]|0,20)|0;k[z>>2]=b;b=k[V>>2]|0;d=k[t>>2]|0;k[W>>2]=k[k[N>>2]>>2];wx(b,162,0,0,0,Qh(d,31166,W)|0,-1)|0;tx(k[V>>2]|0,104,k[C>>2]|0,k[(k[N>>2]|0)+44>>2]|0,j[B>>1]|0)|0;dA(k[f>>2]|0,k[N>>2]|0);k[u>>2]=3+(l[k[(k[N>>2]|0)+28>>2]>>0]|0);if((k[n>>2]|0)!=0?(b=(k[f>>2]|0)+44|0,d=(k[b>>2]|0)+1|0,k[b>>2]=d,k[k[n>>2]>>2]=d,(k[I>>2]|0)==1):0)DB(k[V>>2]|0,k[C>>2]|0,k[k[n>>2]>>2]|0);hA(k[V>>2]|0,k[z>>2]|0)}}while(0);k[N>>2]=k[(k[N>>2]|0)+20>>2]}}}while(0);do if(((k[u>>2]|0)==0?(k[h>>2]&1|0)!=0:0)?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0){if((EB(k[g>>2]|0)|0)!=0?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)>2:0)break;k[u>>2]=5}while(0);if(!(k[u>>2]|0)){k[U>>2]=k[(k[f>>2]|0)+136>>2];k[T>>2]=0;k[u>>2]=2;if(k[h>>2]&4){k[(k[f>>2]|0)+136>>2]=0;if((j[(k[(k[g>>2]|0)+12>>2]|0)+32>>1]|0)<0?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0)k[u>>2]=1}else if(k[n>>2]|0){V=(k[f>>2]|0)+44|0;W=(k[V>>2]|0)+1|0;k[V>>2]=W;k[T>>2]=W;k[k[n>>2]>>2]=W}nB(k[f>>2]|0,k[g>>2]|0,k[T>>2]|0,(k[u>>2]|0)==1&1)|0;k[(k[f>>2]|0)+136>>2]=k[U>>2]}else k[(k[g>>2]|0)+28>>2]=k[C>>2];if(!((k[o>>2]|0)!=0&(k[u>>2]|0)!=3&(k[u>>2]|0)!=4)){W=k[u>>2]|0;r=X;return W|0}W=mz(k[(k[g>>2]|0)+12>>2]|0)|0;k[H>>2]=W;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[H>>2]|0))break;k[(k[o>>2]|0)+(k[x>>2]<<2)>>2]=k[x>>2];k[x>>2]=(k[x>>2]|0)+1}W=k[u>>2]|0;r=X;return W|0}function yB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+4|0;c=f;d=f+8|0;k[c>>2]=a;while(1){if((l[k[c>>2]>>0]|0)==156)b=1;else b=(l[k[c>>2]>>0]|0)==155;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+12>>2]}i[d>>0]=i[a>>0]|0;if((l[d>>0]|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[d>>0]|0){case 133:case 132:case 97:case 134:{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}case 152:{if(!(k[(k[c>>2]|0)+4>>2]&1048576))if((j[(k[c>>2]|0)+32>>1]|0)>=0)a=(l[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+(j[(k[c>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else a=0;else a=1;k[e>>2]=a&1;e=k[e>>2]|0;r=f;return e|0}default:{k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}}return 0}function zB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=(fB(k[d>>2]|0)|0)!=0;b=k[d>>2]|0;if(!a){k[c>>2]=b;e=k[c>>2]|0;r=f;return e|0}if((l[b>>0]|0|0)!=119?(l[(k[d>>2]|0)+38>>0]|0|0)!=119:0){k[c>>2]=k[(k[(k[(k[d>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];e=k[c>>2]|0;r=f;return e|0}k[c>>2]=k[(k[(k[k[(k[d>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];e=k[c>>2]|0;r=f;return e|0}function AB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+28|0;b=j+24|0;i=j+20|0;f=j+16|0;d=j+12|0;g=j+8|0;c=j+4|0;e=j;k[b>>2]=a;do if(k[(k[b>>2]|0)+4>>2]&2048){if(k[(k[b>>2]|0)+4>>2]&32){k[h>>2]=0;break}k[i>>2]=k[(k[b>>2]|0)+20>>2];if(k[(k[i>>2]|0)+48>>2]|0){k[h>>2]=0;break}if(k[(k[i>>2]|0)+8>>2]&9){k[h>>2]=0;break}if(k[(k[i>>2]|0)+56>>2]|0){k[h>>2]=0;break}if(k[(k[i>>2]|0)+32>>2]|0){k[h>>2]=0;break}k[f>>2]=k[(k[i>>2]|0)+28>>2];if((k[k[f>>2]>>2]|0)!=1){k[h>>2]=0;break}if(k[(k[f>>2]|0)+8+20>>2]|0){k[h>>2]=0;break}k[g>>2]=k[(k[f>>2]|0)+8+16>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16){k[h>>2]=0;break}k[d>>2]=k[k[i>>2]>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[d>>2]>>2]|0)){b=24;break}k[e>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];if((l[k[e>>2]>>0]|0|0)!=152){b=22;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==22){k[h>>2]=0;break}else if((b|0)==24){k[h>>2]=k[i>>2];break}}else k[h>>2]=0;while(0);r=j;return k[h>>2]|0}function BB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+6|0;g=f;d=f+5|0;e=f+4|0;k[g>>2]=a;i[d>>0]=b;a=oy(k[g>>2]|0)|0;i[e>>0]=a;if((i[e>>0]|0)!=0?(i[d>>0]|0)!=0:0){if((i[e>>0]|0)<67?(i[d>>0]|0)<67:0){i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}i[c>>0]=67;g=i[c>>0]|0;r=f;return g|0}if((i[e>>0]|0)!=0|(i[d>>0]|0)!=0){i[c>>0]=(i[e>>0]|0)+(i[d>>0]|0);g=i[c>>0]|0;r=f;return g|0}else{i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}return 0}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]&256){c=py(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&256|0)!=0:0){c=py(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}c=py(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){c=k[g>>2]|0;r=h;return c|0}c=py(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}function DB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;h=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;sx(k[f>>2]|0,76,0,k[g>>2]|0)|0;a=aA(k[f>>2]|0,57,k[h>>2]|0)|0;k[e>>2]=a;tx(k[f>>2]|0,96,k[h>>2]|0,0,k[g>>2]|0)|0;Th(k[f>>2]|0,-128);hA(k[f>>2]|0,k[e>>2]|0);r=d;return}function EB(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;d=c+8|0;e=c+4|0;b=c;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=0;a=jB(k[d>>2]|0)|0;k[b>>2]=a;k[(k[d>>2]|0)+12>>2]=k[e>>2];r=c;return k[b>>2]|0}function FB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;i[k[e>>2]>>0]=k[g>>2];k[(k[e>>2]|0)+8>>2]=k[f>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;r=d;return}function GB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;e=m+16|0;n=m+12|0;f=m+8|0;g=m+20|0;h=m+4|0;j=m;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;i[g>>0]=d;k[h>>2]=k[(k[e>>2]|0)+80>>2];d=Sy(k[k[e>>2]>>2]|0,k[n>>2]|0,0)|0;k[n>>2]=d;d=bw(k[e>>2]|0,k[h>>2]|0,k[n>>2]|0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){d=k[h>>2]|0;n=k[e>>2]|0;n=n+80|0;k[n>>2]=d;r=m;return}k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(((k[k[h>>2]>>2]|0)-1|0)*20|0);k[(k[j>>2]|0)+16>>2]=k[f>>2];d=(k[j>>2]|0)+13|0;i[d>>0]=i[d>>0]&-5|((l[g>>0]|0)&1)<<2&255;d=k[h>>2]|0;n=k[e>>2]|0;n=n+80|0;k[n>>2]=d;r=m;return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;f=e+36|0;h=e+32|0;g=e+28|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=k[h>>2];k[d+4>>2]=197;k[d+8>>2]=198;k[d+24>>2]=k[g>>2];Gy(d,k[f>>2]|0)|0;r=e;return l[d+20>>0]|0|0}function IB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+20>>0]|0|0)==2?(k[(k[e>>2]|0)+4>>2]&1|0)!=0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2}else f=4;a:do if((f|0)==4){b:do switch(l[k[e>>2]>>0]|0|0){case 151:{if((l[(k[d>>2]|0)+20>>0]|0|0)<4?(k[(k[e>>2]|0)+4>>2]&524288|0)==0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}k[c>>2]=0;break a}case 154:case 153:case 152:case 55:{if((l[(k[d>>2]|0)+20>>0]|0|0)==3?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[d>>2]|0)+24>>2]|0):0){k[c>>2]=0;break a}i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}case 135:{if((l[(k[d>>2]|0)+20>>0]|0|0)==5){i[k[e>>2]>>0]=101;break b}if((l[(k[d>>2]|0)+20>>0]|0|0)==4){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}break}default:{}}while(0);k[c>>2]=0}while(0);r=g;return k[c>>2]|0}function JB(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;i[(k[d>>2]|0)+20>>0]=0;r=c;return 2}function KB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+8|0;h=e+4|0;f=e;d=e+12|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;b=oy(k[h>>2]|0)|0;i[d>>0]=b;b=(BB(k[g>>2]|0,i[d>>0]|0)|0)&255;i[d>>0]=b|k[f>>2]&255;r=e;return i[d>>0]|0}function LB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=HB(k[c>>2]|0,2,0)|0;r=b;return a|0}function MB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[k[d>>2]>>0]|0|0)!=119){e=k[e>>2]|0;r=f;return e|0}a=nB(k[c>>2]|0,k[d>>2]|0,0,0)|0;k[e>>2]=a;e=k[e>>2]|0;r=f;return e|0}function NB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;h=s+24|0;j=s+20|0;g=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;q=s+28|0;k[j>>2]=a;k[g>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;i[q>>0]=i[k[g>>2]>>0]|0;if((l[q>>0]|0|0)==157){q=zB(k[g>>2]|0,k[m>>2]|0)|0;k[k[o>>2]>>2]=q;k[h>>2]=(k[(k[g>>2]|0)+28>>2]|0)+(k[m>>2]|0);q=k[h>>2]|0;r=s;return q|0}a=k[m>>2]|0;c=(k[g>>2]|0)+20|0;if((l[q>>0]|0|0)==119){k[k[o>>2]>>2]=k[(k[(k[k[c>>2]>>2]|0)+4>>2]|0)+(a*20|0)>>2];k[h>>2]=(k[n>>2]|0)+(k[m>>2]|0);q=k[h>>2]|0;r=s;return q|0}else{k[k[o>>2]>>2]=k[(k[(k[c>>2]|0)+4>>2]|0)+(a*20|0)>>2];q=hB(k[j>>2]|0,k[k[o>>2]>>2]|0,k[p>>2]|0)|0;k[h>>2]=q;q=k[h>>2]|0;r=s;return q|0}return 0}function OB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;h=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;f=dx(_A(k[h>>2]|0)|0,8,0)|0;k[q>>2]=f;if(k[q>>2]|0){f=k[q>>2]|0;g=k[o>>2]|0;i[f>>0]=i[g>>0]|0;i[f+1>>0]=i[g+1>>0]|0;i[f+2>>0]=i[g+2>>0]|0;i[f+3>>0]=i[g+3>>0]|0;i[f+4>>0]=i[g+4>>0]|0;i[f+5>>0]=i[g+5>>0]|0;i[f+6>>0]=i[g+6>>0]|0;i[f+7>>0]=i[g+7>>0]|0}f=wx(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;r=s;return f|0}function PB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[f>>2]=(k[c>>2]|0)+152;while(1){if((k[e>>2]|0)>=(l[(k[c>>2]|0)+25>>0]|0|0))break;if((k[(k[f>>2]|0)+12>>2]|0)==(k[d>>2]|0))i[(k[f>>2]|0)+6>>0]=0;k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}r=g;return}function QB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;e=s+28|0;f=s+24|0;g=s+20|0;h=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((m[(k[k[e>>2]>>2]|0)+64>>1]|0)&2){r=s;return}if((l[(k[e>>2]|0)+25>>0]|0|0)>=10){k[p>>2]=2147483647;k[o>>2]=-1;k[n>>2]=0;k[q>>2]=(k[e>>2]|0)+152;while(1){if((k[n>>2]|0)>=10)break;if((k[(k[q>>2]|0)+16>>2]|0)<(k[p>>2]|0)){k[o>>2]=k[n>>2];k[p>>2]=k[(k[q>>2]|0)+16>>2]}k[n>>2]=(k[n>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+20}k[q>>2]=(k[e>>2]|0)+152+((k[o>>2]|0)*20|0)}else{p=(k[e>>2]|0)+25|0;a=i[p>>0]|0;i[p>>0]=a+1<<24>>24;k[q>>2]=(k[e>>2]|0)+152+((a&255)*20|0)}k[(k[q>>2]|0)+8>>2]=k[(k[e>>2]|0)+64>>2];k[k[q>>2]>>2]=k[f>>2];j[(k[q>>2]|0)+4>>1]=k[g>>2];k[(k[q>>2]|0)+12>>2]=k[h>>2];i[(k[q>>2]|0)+6>>0]=0;p=(k[e>>2]|0)+68|0;a=k[p>>2]|0;k[p>>2]=a+1;k[(k[q>>2]|0)+16>>2]=a;r=s;return}function RB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[d>>2]|0)+52>>1]|0)){c=7;break}k[f>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2];if((j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>=0?0==(sg(k[f>>2]|0,k[c>>2]|0)|0):0){c=5;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==5){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==7){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function SB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;h=y+76|0;j=y+72|0;m=y+68|0;n=y+64|0;o=y+60|0;p=y+56|0;q=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=k[k[h>>2]>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[h>>2];b=TB(v,k[o>>2]|0)|0;k[t>>2]=b;do if((0==(b|0)?(b=TB(v,k[p>>2]|0)|0,k[t>>2]=b,0==(b|0)):0)?(b=TB(v,k[q>>2]|0)|0,k[t>>2]=b,0==(b|0)):0){if(k[n>>2]|0){if((l[k[n>>2]>>0]|0)==97)k[x>>2]=k[(k[n>>2]|0)+8>>2];else k[x>>2]=0;x=kx(k[h>>2]|0,k[j>>2]|0,k[x>>2]|0,0,0)|0;k[t>>2]=x;if(k[t>>2]|0)break}x=nx(k[h>>2]|0)|0;k[w>>2]=x;x=MA(k[h>>2]|0,4)|0;k[u>>2]=x;$A(k[h>>2]|0,k[o>>2]|0,k[u>>2]|0);$A(k[h>>2]|0,k[p>>2]|0,(k[u>>2]|0)+1|0);$A(k[h>>2]|0,k[q>>2]|0,(k[u>>2]|0)+2|0);if(k[w>>2]|0){wx(k[w>>2]|0,89,0,(k[u>>2]|0)+3-(i[k[m>>2]>>0]|0)|0,(k[u>>2]|0)+3|0,k[m>>2]|0,-5)|0;Th(k[w>>2]|0,i[k[m>>2]>>0]|0);aA(k[w>>2]|0,150,(k[j>>2]|0)==24&1)|0}}while(0);sv(k[s>>2]|0,k[o>>2]|0);sv(k[s>>2]|0,k[p>>2]|0);sv(k[s>>2]|0,k[q>>2]|0);r=y;return}function TB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[d>>2]|0)if((l[k[d>>2]>>0]|0|0)!=55){a=Ky(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;break}else{i[k[d>>2]>>0]=97;break}while(0);r=f;return k[e>>2]|0}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+192|0;m=p+24|0;l=p+16|0;j=p+8|0;h=p;d=p+52|0;q=p+44|0;o=p+40|0;e=p+36|0;f=p+32|0;g=p+28|0;n=p+56|0;k[d>>2]=a;k[p+48>>2]=b;k[q>>2]=c;a=je(k[k[q>>2]>>2]|0)|0;k[o>>2]=a;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;k[g>>2]=0;if(!(k[o>>2]|0))k[o>>2]=18402;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,k[o>>2]|0)|0)==0:0)break;k[f>>2]=(k[f>>2]|0)+1}do if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[o>>2];_d(128,n,31331,h)|0}else{if((k[f>>2]|0)<2){k[j>>2]=k[o>>2];_d(128,n,31352,j)|0;break}if(!(i[(k[e>>2]|0)+67>>0]|0)){_d(128,n,31378,l)|0;break}if((yg(k[(k[g>>2]|0)+4>>2]|0)|0)==0?(Au(k[(k[g>>2]|0)+4>>2]|0)|0)==0:0){VB(k[(k[g>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+4>>2]=0;k[(k[g>>2]|0)+12>>2]=0;WB(k[e>>2]|0);r=p;return}k[m>>2]=k[o>>2];_d(128,n,31420,m)|0}while(0);se(k[d>>2]|0,n,-1);r=p;return}function VB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];wg(k[b>>2]|0);k[d>>2]=k[(k[c>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];if((k[k[e>>2]>>2]|0)!=(k[b>>2]|0))continue;XB(k[e>>2]|0)|0}Zg(k[b>>2]|0,0,0)|0;if(!((i[(k[b>>2]|0)+9>>0]|0)!=0?(YB(k[c>>2]|0)|0)==0:0)){rr(k[k[c>>2]>>2]|0)|0;if((k[(k[c>>2]|0)+52>>2]|0)!=0?(k[(k[c>>2]|0)+48>>2]|0)!=0:0)_b[k[(k[c>>2]|0)+52>>2]&255](k[(k[c>>2]|0)+48>>2]|0);bg(0,k[(k[c>>2]|0)+48>>2]|0);cj(k[c>>2]|0);Ud(k[c>>2]|0)}if(k[(k[b>>2]|0)+28>>2]|0)k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];if(!(k[(k[b>>2]|0)+24>>2]|0)){e=k[b>>2]|0;Ud(e);r=f;return 0}k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];e=k[b>>2]|0;Ud(e);r=f;return 0}function WB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;k[c>>2]=2;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(!(k[(k[e>>2]|0)+4>>2]|0)){bg(k[b>>2]|0,k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0}else{if((k[d>>2]|0)<(k[c>>2]|0)){a=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)|0;g=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)|0;k[a>>2]=k[g>>2];k[a+4>>2]=k[g+4>>2];k[a+8>>2]=k[g+8>>2];k[a+12>>2]=k[g+12>>2]}k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+20>>2]=k[d>>2];if((k[(k[b>>2]|0)+20>>2]|0)>2){r=f;return}if((k[(k[b>>2]|0)+16>>2]|0)==((k[b>>2]|0)+392|0)){r=f;return}g=(k[b>>2]|0)+392|0;e=k[(k[b>>2]|0)+16>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];k[g+16>>2]=k[e+16>>2];k[g+20>>2]=k[e+20>>2];k[g+24>>2]=k[e+24>>2];k[g+28>>2]=k[e+28>>2];bg(k[b>>2]|0,k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=(k[b>>2]|0)+392;r=f;return}function XB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;c=g+8|0;d=g+4|0;f=g;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];if(!(k[e>>2]|0)){r=g;return 0}k[d>>2]=k[(k[b>>2]|0)+4>>2];wg(k[e>>2]|0);ZB(k[b>>2]|0);a:do if((k[(k[d>>2]|0)+8>>2]|0)==(k[b>>2]|0))k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2];else{k[f>>2]=k[(k[d>>2]|0)+8>>2];while(1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[b>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[f>>2]|0))break a}k[(k[f>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2]}while(0);k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;_B(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}$B(k[d>>2]|0);Ud(k[(k[b>>2]|0)+12>>2]|0);r=g;return 0}function YB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[e>>2]=0;b=(k[c>>2]|0)+64|0;k[b>>2]=(k[b>>2]|0)+-1;if((k[(k[c>>2]|0)+64>>2]|0)>0){e=k[e>>2]|0;r=f;return e|0}if((k[1006]|0)!=(k[c>>2]|0)){k[d>>2]=k[1006];while(1){if(k[d>>2]|0)b=(k[(k[d>>2]|0)+68>>2]|0)!=(k[c>>2]|0);else b=0;a=k[d>>2]|0;if(!b)break;k[d>>2]=k[a+68>>2]}if(a)k[(k[d>>2]|0)+68>>2]=k[(k[c>>2]|0)+68>>2]}else k[1006]=k[(k[c>>2]|0)+68>>2];k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}function ZB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+48>>2]|0);k[(k[c>>2]|0)+48>>2]=0;i[(k[c>>2]|0)+66>>0]=0;r=b;return}function _B(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}aC(k[b>>2]|0);r=c;return}function $B(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(l[(k[b>>2]|0)+20>>0]|0){r=d;return}if(!(k[(k[b>>2]|0)+12>>2]|0)){r=d;return}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;aC(k[c>>2]|0);r=d;return}function aC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ts(k[(k[c>>2]|0)+72>>2]|0);r=b;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;g=E+16|0;f=E+8|0;e=E;m=E+116|0;F=E+108|0;d=E+104|0;u=E+100|0;o=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;p=E+76|0;n=E+72|0;A=E+68|0;t=E+64|0;h=E+60|0;s=E+56|0;q=E+52|0;k[m>>2]=a;k[E+112>>2]=b;k[F>>2]=c;k[u>>2]=0;a=Fe(k[m>>2]|0)|0;k[o>>2]=a;k[D>>2]=0;k[z>>2]=0;k[A>>2]=0;a=je(k[k[F>>2]>>2]|0)|0;k[B>>2]=a;a=je(k[(k[F>>2]|0)+4>>2]|0)|0;k[C>>2]=a;if(!(k[B>>2]|0))k[B>>2]=18402;if(!(k[C>>2]|0))k[C>>2]=18402;b=k[o>>2]|0;do if((k[(k[o>>2]|0)+20>>2]|0)<((k[(k[o>>2]|0)+96+28>>2]|0)+2|0)){if(!(i[b+67>>0]|0)){F=Qh(k[o>>2]|0,31493,f)|0;k[A>>2]=F;break}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[o>>2]|0)+20>>2]|0))break;k[h>>2]=k[(k[(k[o>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];if(!(sg(k[h>>2]|0,k[C>>2]|0)|0)){j=12;break}k[d>>2]=(k[d>>2]|0)+1}if((j|0)==12){F=k[o>>2]|0;k[g>>2]=k[C>>2];F=Qh(F,31535,g)|0;k[A>>2]=F;break}b=k[o>>2]|0;do if((k[(k[o>>2]|0)+16>>2]|0)==((k[o>>2]|0)+392|0)){F=dx(b,48,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}else{F=k[n>>2]|0;j=k[(k[o>>2]|0)+16>>2]|0;k[F>>2]=k[j>>2];k[F+4>>2]=k[j+4>>2];k[F+8>>2]=k[j+8>>2];k[F+12>>2]=k[j+12>>2];k[F+16>>2]=k[j+16>>2];k[F+20>>2]=k[j+20>>2];k[F+24>>2]=k[j+24>>2];k[F+28>>2]=k[j+28>>2];break}}else{F=cx(b,k[(k[o>>2]|0)+16>>2]|0,(k[(k[o>>2]|0)+20>>2]|0)+1<<4,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}}while(0);k[(k[o>>2]|0)+16>>2]=k[n>>2];k[n>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[(k[o>>2]|0)+20>>2]<<4);F=k[n>>2]|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;k[p>>2]=k[(k[o>>2]|0)+48>>2];F=kk(k[(k[k[o>>2]>>2]|0)+16>>2]|0,k[B>>2]|0,p,t,D,z)|0;k[u>>2]=F;if(k[u>>2]|0){if((k[u>>2]|0)==7)wh(k[o>>2]|0);se(k[m>>2]|0,k[z>>2]|0,-1);Ud(k[z>>2]|0);r=E;return}k[p>>2]=k[p>>2]|256;F=lk(k[t>>2]|0,k[D>>2]|0,k[o>>2]|0,(k[n>>2]|0)+4|0,0,k[p>>2]|0)|0;k[u>>2]=F;Ud(k[D>>2]|0);F=(k[o>>2]|0)+20|0;k[F>>2]=(k[F>>2]|0)+1;if((k[u>>2]|0)!=19){if(!(k[u>>2]|0)){F=mk(k[o>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=F;if(k[(k[n>>2]|0)+12>>2]|0){if((l[(k[(k[n>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(l[(k[(k[n>>2]|0)+12>>2]|0)+77>>0]|0)!=(l[(k[o>>2]|0)+66>>0]|0):0){F=Qh(k[o>>2]|0,20016,y)|0;k[A>>2]=F;k[u>>2]=1}}else k[u>>2]=7;wg(k[(k[n>>2]|0)+4>>2]|0);F=Zf(k[(k[n>>2]|0)+4>>2]|0)|0;k[s>>2]=F;cC(k[s>>2]|0,l[(k[o>>2]|0)+71>>0]|0)|0;F=k[(k[n>>2]|0)+4>>2]|0;dC(F,dC(k[(k[(k[o>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;eC(k[(k[n>>2]|0)+4>>2]|0,3|k[(k[o>>2]|0)+24>>2]&56)|0}}else{k[u>>2]=1;F=Qh(k[o>>2]|0,31565,x)|0;k[A>>2]=F}i[(k[n>>2]|0)+8>>0]=3;F=Ah(k[o>>2]|0,k[C>>2]|0)|0;k[k[n>>2]>>2]=F;if((k[u>>2]|0)==0?(k[k[n>>2]>>2]|0)==0:0)k[u>>2]=7;if(!(k[u>>2]|0)){Yf(k[o>>2]|0);F=Ci(k[o>>2]|0,A)|0;k[u>>2]=F}if(!(k[u>>2]|0)){r=E;return}k[q>>2]=(k[(k[o>>2]|0)+20>>2]|0)-1;if(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0){VB(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0)|0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]=0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+12>>2]=0}Mg(k[o>>2]|0);k[(k[o>>2]|0)+20>>2]=k[q>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082){wh(k[o>>2]|0);bg(k[o>>2]|0,k[A>>2]|0);F=Qh(k[o>>2]|0,25016,v)|0;k[A>>2]=F;break}if(!(k[A>>2]|0)){F=k[o>>2]|0;k[w>>2]=k[B>>2];F=Qh(F,31594,w)|0;k[A>>2]=F}}else{k[e>>2]=k[(k[o>>2]|0)+96+28>>2];F=Qh(b,31456,e)|0;k[A>>2]=F}while(0);if(k[A>>2]|0){se(k[m>>2]|0,k[A>>2]|0,-1);bg(k[o>>2]|0,k[A>>2]|0)}if(!(k[u>>2]|0)){r=E;return}Ae(k[m>>2]|0,k[u>>2]|0);r=E;return}function cC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(((k[d>>2]|0)>=0?(i[(k[c>>2]|0)+13>>0]|0)==0:0)?(gC(k[(k[c>>2]|0)+216>>2]|0)|0)==0:0)i[(k[c>>2]|0)+4>>0]=k[d>>2];r=e;return l[(k[c>>2]|0)+4>>0]|0}function dC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}wg(k[d>>2]|0);if((k[e>>2]|0)>=0?(a=(k[(k[d>>2]|0)+4>>2]|0)+22|0,j[a>>1]=(m[a>>1]|0)&-5,(k[e>>2]|0)!=0):0){a=(k[(k[d>>2]|0)+4>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|4}k[f>>2]=((m[(k[(k[d>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}function eC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);fC(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function fC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;c=f;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[e>>2]&7;if(i[(k[d>>2]|0)+13>>0]|0){i[(k[d>>2]|0)+7>>0]=1;i[(k[d>>2]|0)+8>>0]=0;i[(k[d>>2]|0)+9>>0]=0}else{i[(k[d>>2]|0)+7>>0]=(k[c>>2]|0)==1?1:0;i[(k[d>>2]|0)+8>>0]=(k[c>>2]|0)>>>0>=3?1:0;i[(k[d>>2]|0)+9>>0]=(k[c>>2]|0)==4?1:0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if(k[e>>2]&8){i[(k[d>>2]|0)+12>>0]=3;i[(k[d>>2]|0)+10>>0]=3;break}b=(k[e>>2]&16|0)!=0;i[(k[d>>2]|0)+12>>0]=2;c=(k[d>>2]|0)+10|0;if(b){i[c>>0]=3;break}else{i[c>>0]=2;break}}else{i[(k[d>>2]|0)+12>>0]=0;i[(k[d>>2]|0)+10>>0]=0}while(0);i[(k[d>>2]|0)+11>>0]=i[(k[d>>2]|0)+12>>0]|0;if(i[(k[d>>2]|0)+8>>0]|0){b=(k[d>>2]|0)+11|0;i[b>>0]=l[b>>0]|32}c=(k[d>>2]|0)+21|0;a=l[c>>0]|0;if(k[e>>2]&32){i[c>>0]=a&-2;r=f;return}else{i[c>>0]=a|1;r=f;return}}function gC(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+43>>0]|0|0)==2;a=a&1;r=c;return a|0}function hC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);do if(k[(k[g>>2]|0)+4>>2]|0){if((k[d>>2]|0)!=0?0!=(sg(k[d>>2]|0,k[k[g>>2]>>2]|0)|0):0)break;Cx(k[c>>2]|0,k[f>>2]|0)}while(0);k[f>>2]=(k[f>>2]|0)+1}r=h;return}function iC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n;c=n+44|0;d=n+40|0;h=n+36|0;i=n+32|0;f=n+28|0;g=n+24|0;e=n+20|0;l=n+16|0;m=n+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[c>>2]>>2];b=Ph(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=b;b=jC(k[d>>2]|0)|0;k[h>>2]=b;k[e>>2]=16;k[l>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[m>>2]=(k[g>>2]|0)==1?19905:19924;if((k[g>>2]|0)==1)k[e>>2]=14;if(kx(k[c>>2]|0,k[e>>2]|0,k[k[d>>2]>>2]|0,k[k[h>>2]>>2]|0,k[l>>2]|0)|0){r=n;return}if(kx(k[c>>2]|0,9,k[m>>2]|0,0,k[l>>2]|0)|0){r=n;return}m=nx(k[c>>2]|0)|0;k[i>>2]=m;if(!m){r=n;return}m=k[c>>2]|0;b=(k[g>>2]|0)==1?19905:19924;l=k[k[d>>2]>>2]|0;k[j>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[j+4>>2]=b;k[j+8>>2]=l;mx(m,31642,j);ox(k[c>>2]|0,k[g>>2]|0);wx(k[i>>2]|0,140,k[g>>2]|0,0,0,k[k[d>>2]>>2]|0,0)|0;r=n;return}function jC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Cj((k[(k[c>>2]|0)+24>>2]|0)+8|0,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;j=h+12|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;i[d>>0]=b;k[e>>2]=c;c=Ch(k[j>>2]|0,36+(k[(k[e>>2]|0)+4>>2]|0)+1|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[f>>2]|0;r=h;return j|0}k[g>>2]=(k[f>>2]|0)+36;bS(k[g>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;hx(k[g>>2]|0);k[(k[f>>2]|0)+12>>2]=k[g>>2];i[k[f>>2]>>0]=i[d>>0]|0;j=k[f>>2]|0;r=h;return j|0}function lC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=(k[g>>2]|0)+8;b=zx(k[c>>2]|0,0,k[d>>2]|0)|0;k[e>>2]=b;$f(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[e>>2];if(k[e>>2]|0){g=(k[e>>2]|0)+36|0;j[g>>1]=(j[g>>1]|0)+1<<16>>16}if(!(zz(k[c>>2]|0,k[d>>2]|0)|0)){g=k[e>>2]|0;r=f;return g|0}k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}function mC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;i=f+4|0;l=f;k[g>>2]=a;k[m>>2]=b;k[h>>2]=c;k[j>>2]=d;k[i>>2]=e;k[l>>2]=k[k[m>>2]>>2];k[k[g>>2]>>2]=k[m>>2];k[(k[g>>2]|0)+12>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[(k[g>>2]|0)+4>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[i>>2];k[(k[g>>2]|0)+8>>2]=(k[h>>2]|0)==1&1;r=f;return}function nC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;i=j;f=j+32|0;g=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;k[g>>2]=a;k[c>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}k[e>>2]=k[(k[g>>2]|0)+12>>2];k[d>>2]=0;k[h>>2]=(k[c>>2]|0)+8;while(1){if((k[d>>2]|0)>=(k[k[c>>2]>>2]|0)){c=15;break}if(!(k[(k[g>>2]|0)+8>>2]|0)){if((k[(k[h>>2]|0)+4>>2]|0)!=0?(sg(k[(k[h>>2]|0)+4>>2]|0,k[e>>2]|0)|0)!=0:0){c=8;break}bg(k[k[k[g>>2]>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0);k[(k[h>>2]|0)+4>>2]=0;k[k[h>>2]>>2]=k[(k[g>>2]|0)+4>>2]}if(oC(k[g>>2]|0,k[(k[h>>2]|0)+20>>2]|0)|0){c=11;break}if(pC(k[g>>2]|0,k[(k[h>>2]|0)+48>>2]|0)|0){c=13;break}k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+72}if((c|0)==8){e=k[k[g>>2]>>2]|0;b=k[(k[g>>2]|0)+20>>2]|0;h=k[(k[h>>2]|0)+4>>2]|0;k[i>>2]=k[(k[g>>2]|0)+16>>2];k[i+4>>2]=b;k[i+8>>2]=h;Oh(e,31940,i);k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==11){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==13){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==15){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}return 0}function oC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=20;break}if(qC(k[c>>2]|0,k[k[d>>2]>>2]|0)|0){c=4;break}if(nC(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0)|0){c=6;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0){c=8;break}if(qC(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0){c=10;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0){c=12;break}if(qC(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0){c=14;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+56>>2]|0)|0){c=16;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+60>>2]|0)|0){c=18;break}k[d>>2]=k[(k[d>>2]|0)+48>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=1;else if((c|0)==12)k[e>>2]=1;else if((c|0)==14)k[e>>2]=1;else if((c|0)==16)k[e>>2]=1;else if((c|0)==18)k[e>>2]=1;else if((c|0)==20)k[e>>2]=0;r=f;return k[e>>2]|0}function pC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+12|0;e=g+8|0;c=g+4|0;k[e>>2]=a;k[c>>2]=b;while(1){if(!(k[c>>2]|0)){b=16;break}if((l[k[c>>2]>>0]|0)==135){if(!(i[(k[k[k[e>>2]>>2]>>2]|0)+148+5>>0]|0)){b=6;break}i[k[c>>2]>>0]=101}if(k[(k[c>>2]|0)+4>>2]&8404992){b=16;break}b=k[e>>2]|0;a=(k[c>>2]|0)+20|0;if(k[(k[c>>2]|0)+4>>2]&2048){if(oC(b,k[a>>2]|0)|0){b=10;break}}else if(qC(b,k[a>>2]|0)|0){b=12;break}if(pC(k[e>>2]|0,k[(k[c>>2]|0)+16>>2]|0)|0){b=14;break}k[c>>2]=k[(k[c>>2]|0)+12>>2]}if((b|0)==6){c=k[k[e>>2]>>2]|0;k[f>>2]=k[(k[e>>2]|0)+16>>2];Oh(c,31986,f);k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==10){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==12){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==14){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==16){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function qC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if(pC(k[c>>2]|0,k[k[f>>2]>>2]|0)|0){c=6;break}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==8){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function rC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=10;break}if(oC(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0){c=4;break}if(pC(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0){c=6;break}if(qC(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0){c=8;break}k[d>>2]=k[(k[d>>2]|0)+28>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=0;r=f;return k[e>>2]|0}function sC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-33|32;r=b;return}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[f>>2]|0)){r=g;return}rx(k[d>>2]|0,1,k[f>>2]|0)|0;uC(k[d>>2]|0,k[e>>2]|0);sx(k[d>>2]|0,87,1,1)|0;r=g;return}function uC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;IC(k[e>>2]|0,1,d);r=c;return}function vC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;OB(k[f>>2]|0,77,0,1,0,h,-13)|0;uC(k[f>>2]|0,k[g>>2]|0);sx(k[f>>2]|0,87,1,1)|0;r=e;return}function wC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+32|0;c=e+16|0;g=e+12|0;d=e+4|0;f=e;k[c>>2]=a;k[g>>2]=b;k[f>>2]=k[k[c>>2]>>2];YC(k[(k[c>>2]|0)+100>>2]|0,(m[(k[c>>2]|0)+140>>1]|0)<<1);bg(k[f>>2]|0,k[(k[c>>2]|0)+100>>2]|0);k[d>>2]=k[g>>2]<<1;j[(k[c>>2]|0)+140>>1]=k[g>>2];a=dx(k[f>>2]|0,(k[d>>2]|0)*40|0,0)|0;k[e+8>>2]=a;k[(k[c>>2]|0)+100>>2]=a;if(!(k[(k[c>>2]|0)+100>>2]|0)){r=e;return}ZC(k[(k[c>>2]|0)+100>>2]|0,k[d>>2]|0,k[k[c>>2]>>2]|0,1);r=e;return}function xC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;l=q+12|0;n=q+8|0;p=q+4|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[n>>2]=e;if(i[(k[k[g>>2]>>2]|0)+69>>0]|0){k[f>>2]=7;d=k[f>>2]|0;r=q;return d|0}else{d=(k[h>>2]|0)+(ha(k[j>>2]|0,m[(k[g>>2]|0)+140>>1]|0)|0)|0;k[o>>2]=(k[(k[g>>2]|0)+100>>2]|0)+(d*40|0);d=qh(k[o>>2]|0,k[l>>2]|0,-1,1,k[n>>2]|0)|0;k[p>>2]=d;k[f>>2]=k[p>>2];d=k[f>>2]|0;r=q;return d|0}return 0}function yC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;do if(k[c>>2]|0){if(!(sg(k[c>>2]|0,32192)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,32185)|0))k[b>>2]=0;else d=6}else d=6;while(0);if((d|0)==6)k[b>>2]=-1;r=e;return k[b>>2]|0}function zC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)==6)k[b>>2]=0;else k[b>>2]=k[5420+(k[c>>2]<<2)>>2];r=d;return k[b>>2]|0}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=e;c=k[a+4>>2]|0;if((c|0)>-1|(c|0)==-1&(k[a>>2]|0)>>>0>=4294967295){b=e;c=k[b+4>>2]|0;a=(k[d>>2]|0)+168|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;a=e;XC(k[(k[d>>2]|0)+216>>2]|0,k[a>>2]|0,k[a+4>>2]|0)}a=(k[d>>2]|0)+168|0;L=k[a+4>>2]|0;r=f;return k[a>>2]|0}function BC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);if(!(i[(k[(k[b>>2]|0)+4>>2]|0)+17>>0]|0)){a=0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}a=(i[(k[(k[b>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function CC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(sg(k[c>>2]|0,33263)|0){if(!(sg(k[c>>2]|0,32707)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,33268)|0)){k[b>>2]=2;break}else{a=Zi(k[c>>2]|0)|0;k[d>>2]=a;k[b>>2]=((k[d>>2]|0)>=0&(k[d>>2]|0)<=2?k[d>>2]|0:0)&255;break}}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function DC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;g=f+12|0;h=f+8|0;d=f+4|0;e=f;c=f+16|0;k[g>>2]=a;k[h>>2]=b;k[d>>2]=k[(k[g>>2]|0)+4>>2];k[e>>2]=0;i[c>>0]=k[h>>2];wg(k[g>>2]|0);if(((m[(k[d>>2]|0)+22>>1]|0)&2|0)!=0?(((l[c>>0]|0|0)!=0?1:0)|0)!=(l[(k[d>>2]|0)+17>>0]|0|0):0){k[e>>2]=8;h=k[e>>2]|0;r=f;return h|0}i[(k[d>>2]|0)+17>>0]=(l[c>>0]|0|0)!=0?1:0;i[(k[d>>2]|0)+18>>0]=(l[c>>0]|0|0)==2?1:0;h=k[e>>2]|0;r=f;return h|0}function EC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;f=d+4|0;c=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=VC(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function FC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(i[(k[b>>2]|0)+67>>0]|0)){r=e;return}k[d>>2]=k[(k[b>>2]|0)+16>>2];k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){a=k[c>>2]|0;k[c>>2]=a+-1;if((a|0)<=0)break;if(k[(k[d>>2]|0)+4>>2]|0)eC(k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|k[(k[b>>2]|0)+24>>2]&56)|0;k[d>>2]=(k[d>>2]|0)+16}r=e;return}function GC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;b=UC(k[h>>2]|0)|0;k[f>>2]=b;k[e>>2]=k[k[d>>2]>>2];if((l[(k[e>>2]|0)+68>>0]|0|0)==(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}if(HC(k[d>>2]|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}else{i[(k[e>>2]|0)+68>>0]=k[f>>2];k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}return 0}function HC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;b=f+12|0;c=f+8|0;d=f+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];do if(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0){if((i[(k[d>>2]|0)+67>>0]|0)!=0?(yg(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){VB(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=0;Mg(k[d>>2]|0);break}Oh(k[c>>2]|0,33201,e);k[b>>2]=1;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;wC(k[d>>2]|0,k[e>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;xC(k[d>>2]|0,k[g>>2]|0,0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,0)|0;k[g>>2]=(k[g>>2]|0)+1}r=h;return}function JC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+8|0;l=n+4|0;j=n+36|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;while(1){c=i[(k[g>>2]|0)+(k[l>>2]|0)>>0]|0;i[j>>0]=c;if(!(c<<24>>24))break;if((i[j>>0]|0)==115){d=(k[h>>2]|0)+(4-1)&~(4-1);a=k[d>>2]|0;k[h>>2]=d+4;k[m>>2]=a;a=k[e>>2]|0;d=(k[m>>2]|0)==0?79:97;c=k[f>>2]|0;k[f>>2]=c+1;wx(a,d,0,c,0,k[m>>2]|0,0)|0}else{a=k[e>>2]|0;c=(k[h>>2]|0)+(4-1)&~(4-1);d=k[c>>2]|0;k[h>>2]=c+4;c=k[f>>2]|0;k[f>>2]=c+1;sx(a,76,d,c)|0}k[l>>2]=(k[l>>2]|0)+1}r=n;return}function KC(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;i[d>>0]=a;switch(l[d>>0]|0|0){case 7:{k[b>>2]=33011;break}case 8:{k[b>>2]=33020;break}case 9:{k[b>>2]=33032;break}case 6:{k[b>>2]=33040;break}default:k[b>>2]=33049}r=c;return k[b>>2]|0}function LC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;y=D;f=D+64|0;g=D+60|0;h=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;x=D+40|0;q=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[x>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[n>>2]|0)+20>>2];k[B>>2]=k[(k[n>>2]|0)+36+4>>2];do if((k[w>>2]|0)==1){if((j[(k[h>>2]|0)+32>>1]|0)>=0){if(!(k[B>>2]|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(sg(k[(k[(k[h>>2]|0)+4>>2]|0)+(j[(k[h>>2]|0)+32>>1]<<4)>>2]|0,k[B>>2]|0)|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}}}else if(k[p>>2]|0){d=dx(k[k[g>>2]>>2]|0,k[w>>2]<<2,0)|0;k[q>>2]=d;if(k[q>>2]|0){k[k[p>>2]>>2]=k[q>>2];break}k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}while(0);k[x>>2]=k[(k[h>>2]|0)+8>>2];a:while(1){if(!(k[x>>2]|0))break;do if((m[(k[x>>2]|0)+50>>1]|0)==(k[w>>2]|0)?(l[(k[x>>2]|0)+54>>0]|0)!=0:0){if(!(k[B>>2]|0))if((i[(k[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[w>>2]|0))break;j[u>>1]=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[t>>2]<<1)>>1]|0;if((j[u>>1]|0)<0)break;d=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+8>>2]|0;k[z>>2]=d;k[z>>2]=(k[z>>2]|0)!=0?d:34834;if(sg(k[(k[(k[x>>2]|0)+32>>2]|0)+(k[t>>2]<<2)>>2]|0,k[z>>2]|0)|0)break;k[A>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)>>2];k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[w>>2]|0))break;if(!(sg(k[(k[n>>2]|0)+36+(k[v>>2]<<3)+4>>2]|0,k[A>>2]|0)|0)){C=28;break}k[v>>2]=(k[v>>2]|0)+1}if((C|0)==28?(C=0,(k[q>>2]|0)!=0):0)k[(k[q>>2]|0)+(k[t>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[v>>2]<<3)>>2];if((k[v>>2]|0)==(k[w>>2]|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(k[w>>2]|0))break a}while(0);k[x>>2]=k[(k[x>>2]|0)+20>>2]}b:do if((C|0)==17?(k[q>>2]|0)!=0:0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break b;k[(k[q>>2]|0)+(k[s>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[s>>2]<<3)>>2];k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[x>>2]|0){k[k[o>>2]>>2]=k[x>>2];k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(i[(k[g>>2]|0)+150>>0]|0)){C=k[g>>2]|0;B=k[(k[n>>2]|0)+8>>2]|0;k[y>>2]=k[k[k[n>>2]>>2]>>2];k[y+4>>2]=B;Oh(C,32948,y)}bg(k[k[g>>2]>>2]|0,k[q>>2]|0);k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}function MC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+16|0;c=n+12|0;e=n+8|0;g=n+4|0;h=n;l=n+20|0;f=n+22|0;k[c>>2]=a;k[e>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+12>>2];b=(m[(k[e>>2]|0)+52>>1]|0)+1|0;b=Mh(0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+16>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){wh(k[c>>2]|0);k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[g>>2]=0;while(1){c=k[g>>2]|0;a=k[e>>2]|0;if((k[g>>2]|0)>=(m[(k[e>>2]|0)+52>>1]|0))break;j[l>>1]=j[(k[a+4>>2]|0)+(c<<1)>>1]|0;c=j[l>>1]|0;do if((j[l>>1]|0)<0){a=k[g>>2]|0;b=k[e>>2]|0;if((c|0)==-1){i[(k[b+16>>2]|0)+a>>0]=68;break}else{b=oy(k[(k[(k[b+40>>2]|0)+4>>2]|0)+(a*20|0)>>2]|0)|0;i[f>>0]=b;i[f>>0]=(i[f>>0]|0)==0?65:b;i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[f>>0]|0;break}}else i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[h>>2]|0)+4>>2]|0)+(c<<4)+13>>0]|0;while(0);k[g>>2]=(k[g>>2]|0)+1}i[(k[a+16>>2]|0)+c>>0]=0}k[d>>2]=k[(k[e>>2]|0)+16>>2];l=k[d>>2]|0;r=n;return l|0}function NC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0)k[e>>2]=32856;else k[e>>2]=18398;ti(k[c>>2]|0,32860,2,1,k[e>>2]|0,212,0,0,0)|0;ti(k[c>>2]|0,32860,3,1,k[e>>2]|0,212,0,0,0)|0;ti(k[c>>2]|0,32865,2,1,18394,212,0,0,0)|0;SC(k[c>>2]|0,32865,12);SC(k[c>>2]|0,32860,((k[d>>2]|0)!=0?12:4)&255);r=f;return}function OC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(l[(k[b>>2]|0)+25>>0]|0|0))break;if((l[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+6>>0]|0|0)!=0?(l[(k[b>>2]|0)+19>>0]|0|0)<8:0){e=k[(k[b>>2]|0)+152+((k[c>>2]|0)*20|0)+12>>2]|0;f=(k[b>>2]|0)+19|0;a=i[f>>0]|0;i[f>>0]=a+1<<24>>24;k[(k[b>>2]|0)+352+((a&255)<<2)>>2]=e}k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+25>>0]=0;r=d;return}function PC(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+64|0;o=C+52|0;p=C+48|0;q=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;j=C+24|0;x=C+20|0;y=C+16|0;m=C+12|0;A=C+8|0;B=C+4|0;z=C;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;i[t>>0]=d;k[u>>2]=e;k[v>>2]=f;k[w>>2]=g;k[j>>2]=h;if((l[(k[q>>2]|0)+42>>0]|0)&16){k[o>>2]=0;B=k[o>>2]|0;r=C;return B|0}h=Ph(k[k[p>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0;k[y>>2]=h;h=nx(k[p>>2]|0)|0;k[B>>2]=h;if((k[u>>2]|0)<0)k[u>>2]=k[(k[p>>2]|0)+40>>2];h=k[u>>2]|0;k[u>>2]=h+1;k[m>>2]=h;if(k[w>>2]|0)k[k[w>>2]>>2]=k[m>>2];do if(!((l[(k[q>>2]|0)+42>>0]|0)&32)){if((k[v>>2]|0)!=0?(l[k[v>>2]>>0]|0|0)==0:0){n=11;break}cA(k[p>>2]|0,k[m>>2]|0,k[y>>2]|0,k[q>>2]|0,k[s>>2]|0)}else n=11;while(0);if((n|0)==11)bA(k[p>>2]|0,k[y>>2]|0,k[(k[q>>2]|0)+28>>2]|0,(k[s>>2]|0)==105&255,k[k[q>>2]>>2]|0);if(k[j>>2]|0)k[k[j>>2]>>2]=k[u>>2];k[x>>2]=0;k[A>>2]=k[(k[q>>2]|0)+8>>2];while(1){j=k[u>>2]|0;if(!(k[A>>2]|0))break;k[u>>2]=j+1;k[z>>2]=j;if((i[(k[A>>2]|0)+55>>0]&3|0)==2?((l[(k[q>>2]|0)+42>>0]|0)&32|0)!=0:0){if(k[w>>2]|0)k[k[w>>2]>>2]=k[z>>2];i[t>>0]=0}if(!((k[v>>2]|0)!=0?(l[(k[v>>2]|0)+((k[x>>2]|0)+1)>>0]|0|0)==0:0)){tx(k[B>>2]|0,k[s>>2]|0,k[z>>2]|0,k[(k[A>>2]|0)+44>>2]|0,k[y>>2]|0)|0;dA(k[p>>2]|0,k[A>>2]|0);Th(k[B>>2]|0,i[t>>0]|0)}k[A>>2]=k[(k[A>>2]|0)+20>>2];k[x>>2]=(k[x>>2]|0)+1}if((j|0)>(k[(k[p>>2]|0)+40>>2]|0))k[(k[p>>2]|0)+40>>2]=k[u>>2];k[o>>2]=k[x>>2];B=k[o>>2]|0;r=C;return B|0}function QC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-33;r=b;return}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;d=n+36|0;e=n+32|0;f=n+28|0;i=n+24|0;j=n+20|0;g=n+16|0;p=n+12|0;o=n+8|0;h=n+4|0;m=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Fe(k[d>>2]|0)|0;k[o>>2]=a;a=Ee(k[d>>2]|0)|0;k[h>>2]=a;a=je(k[k[f>>2]>>2]|0)|0;k[j>>2]=a;a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=a;a=ke(k[k[f>>2]>>2]|0)|0;k[p>>2]=a;if((k[p>>2]|0)>(k[(k[o>>2]|0)+96+32>>2]|0)){se(k[d>>2]|0,32870,-1);r=n;return}do if((k[e>>2]|0)==3){p=je(k[(k[f>>2]|0)+8>>2]|0)|0;k[m>>2]=p;if(!(k[m>>2]|0)){r=n;return}if((ey(k[m>>2]|0,-1)|0)==1){p=TC(m)|0;k[g>>2]=p;break}se(k[d>>2]|0,32903,-1);r=n;return}else k[g>>2]=l[(k[h>>2]|0)+2>>0];while(0);if(!((k[i>>2]|0)!=0&(k[j>>2]|0)!=0)){r=n;return}p=k[d>>2]|0;te(p,bi(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0);r=n;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+4|0;d=f+12|0;e=f;k[h>>2]=a;k[g>>2]=b;i[d>>0]=c;b=ui(k[h>>2]|0,k[g>>2]|0,2,1,0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){r=f;return}h=(k[e>>2]|0)+2|0;j[h>>1]=m[h>>1]|0|(l[d>>0]|0);r=f;return}function TC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;e=k[b>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[c>>2]=l[a>>0];if((k[c>>2]|0)>>>0<192){e=k[c>>2]|0;r=d;return e|0}k[c>>2]=l[25563+((k[c>>2]|0)-192)>>0];while(1){a=k[c>>2]|0;if(((l[k[k[b>>2]>>2]>>0]|0)&192|0)!=128)break;f=k[b>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[c>>2]=(a<<6)+(63&(l[e>>0]|0))}if((a>>>0>=128?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=65533;f=k[c>>2]|0;r=d;return f|0}function UC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;if((i[k[c>>2]>>0]|0)>=48?(i[k[c>>2]>>0]|0)<=50:0)k[b>>2]=(i[k[c>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(sg(k[c>>2]|0,33105)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,26159)|0)){k[b>>2]=2;break}else{k[b>>2]=0;break}}while(0);r=e;return k[b>>2]|0}function VC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=WC(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function WC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){if((k[d>>2]|0)<0){b=k[d>>2]|0;b=kS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;a=iS(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;k[d>>2]=a}k[(k[c>>2]|0)+20>>2]=k[d>>2]}a=mj(k[c>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=k[(k[c>>2]|0)+20>>2];e=k[e>>2]|0;r=f;return e|0}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if(!(k[d>>2]|0)){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+16|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function YC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[c>>2]=b;if(!((k[d>>2]|0)!=0&(k[c>>2]|0)!=0)){r=g;return}k[f>>2]=(k[d>>2]|0)+((k[c>>2]|0)*40|0);k[e>>2]=k[(k[d>>2]|0)+32>>2];if(k[(k[e>>2]|0)+456>>2]|0){do{if(k[(k[d>>2]|0)+24>>2]|0)bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}do{c=k[d>>2]|0;if(!((m[(k[d>>2]|0)+8>>1]|0)&9312)){if(k[c+24>>2]|0){bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+24>>2]=0}}else fh(c);j[(k[d>>2]|0)+8>>1]=128;a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}function ZC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+8|0;f=i+4|0;g=i;h=i+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;while(1){a=k[f>>2]|0;k[f>>2]=a+-1;if((a|0)<=0)break;k[(k[e>>2]|0)+32>>2]=k[g>>2];j[(k[e>>2]|0)+8>>1]=j[h>>1]|0;k[(k[e>>2]|0)+24>>2]=0;k[e>>2]=(k[e>>2]|0)+40}r=i;return}function _C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;j=n+8|0;i=n;e=n+44|0;o=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;l=n+24|0;m=n+48|0;k[e>>2]=a;k[o>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=k[(k[(k[k[e>>2]>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>4)break;k[i>>2]=k[h>>2];_d(24,m,34141,i)|0;if(Di(k[k[e>>2]>>2]|0,m,k[l>>2]|0)|0){o=k[e>>2]|0;d=k[f>>2]|0;c=k[g>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=m;k[j+8>>2]=d;k[j+12>>2]=c;mx(o,30938,j)}k[h>>2]=(k[h>>2]|0)+1}r=n;return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=r;r=r+48|0;g=d;f=d+36|0;h=d+32|0;j=d+28|0;i=d+24|0;e=d+20|0;k[f>>2]=a;k[h>>2]=b;k[j>>2]=c;a=nx(k[f>>2]|0)|0;k[i>>2]=a;a=Fx(k[f>>2]|0)|0;k[e>>2]=a;tx(k[i>>2]|0,130,k[h>>2]|0,k[e>>2]|0,k[j>>2]|0)|0;dy(k[f>>2]|0);a=k[f>>2]|0;i=(k[j>>2]|0)==1?19905:19924;h=k[h>>2]|0;c=k[e>>2]|0;b=k[e>>2]|0;k[g>>2]=k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];k[g+4>>2]=i;k[g+8>>2]=h;k[g+12>>2]=c;k[g+16>>2]=b;mx(a,34085,g);Hx(k[f>>2]|0,k[e>>2]|0);r=d;return}function aD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;l=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[k[j>>2]>>2];do if(!(k[m>>2]&(k[m>>2]|0)-1)){k[o>>2]=(k[m>>2]|0)==0?1:k[m>>2]<<1;c=ha(k[o>>2]|0,k[i>>2]|0)|0;c=cx(k[g>>2]|0,k[h>>2]|0,c,((c|0)<0)<<31>>31)|0;k[n>>2]=c;if(k[n>>2]|0){k[h>>2]=k[n>>2];break}k[k[l>>2]>>2]=-1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}while(0);k[p>>2]=k[h>>2];c=ha(k[m>>2]|0,k[i>>2]|0)|0;dS((k[p>>2]|0)+c|0,0,k[i>>2]|0)|0;k[k[l>>2]>>2]=k[m>>2];p=k[j>>2]|0;k[p>>2]=(k[p>>2]|0)+1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}function bD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=0;k[o>>2]=0;if(k[(k[k[f>>2]>>2]|0)+24>>2]&16777216){b=Jx(k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=b}k[n>>2]=k[o>>2];while(1){if(!(k[n>>2]|0))break;if((l[(k[n>>2]|0)+8>>0]|0|0)==(k[h>>2]|0)?(FG(k[(k[n>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)k[m>>2]=k[m>>2]|(l[(k[n>>2]|0)+9>>0]|0);k[n>>2]=k[(k[n>>2]|0)+32>>2]}if(!(k[j>>2]|0)){a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}k[k[j>>2]>>2]=k[m>>2];a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}function cD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(((l[(k[f>>2]|0)+42>>0]|0)&16|0)!=0?(c=(cy(k[k[e>>2]>>2]|0,k[f>>2]|0)|0)+4|0,(k[(k[k[c>>2]>>2]|0)+52>>2]|0)==0):0))j=3;do if((j|0)==3){if((((l[(k[f>>2]|0)+42>>0]|0)&1|0)!=0?(k[(k[k[e>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(l[(k[e>>2]|0)+18>>0]|0|0)==0:0)break;if((k[g>>2]|0)==0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[e>>2]|0;k[i>>2]=k[k[f>>2]>>2];Oh(j,35257,i);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);j=k[e>>2]|0;k[h>>2]=k[k[f>>2]>>2];Oh(j,35228,h);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}function dD(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+144|0;j[a>>1]=j[a>>1]&-17|16;r=b;return}function eD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+128|0;u=O+108|0;v=O+104|0;w=O+100|0;f=O+96|0;q=O+92|0;x=O+88|0;z=O+84|0;h=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;n=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;p=O+20|0;K=O+16|0;L=O+12|0;g=O+8|0;o=O+4|0;G=O+112|0;N=O;k[v>>2]=a;k[w>>2]=b;k[f>>2]=c;k[q>>2]=d;k[x>>2]=e;k[z>>2]=k[k[v>>2]>>2];k[A>>2]=0;k[B>>2]=0;k[p>>2]=0;if(!(k[f>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[(k[v>>2]|0)+472>>2]|0)==0?(k[(k[f>>2]|0)+64>>2]|0)==0:0){if(Jx(k[v>>2]|0,k[w>>2]|0)|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[w>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[q>>2]|0)==10){if((j[(k[w>>2]|0)+32>>1]|0)>=0)k[q>>2]=l[(k[w>>2]|0)+43>>0];if((k[q>>2]|0)==10)k[q>>2]=2}if((k[k[(k[f>>2]|0)+28>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[(k[f>>2]|0)+28>>2]|0)+8+20>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+32>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+44>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+36>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+56>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+48>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+8>>2]&1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[h>>2]=k[k[f>>2]>>2];if((k[k[h>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((l[k[k[(k[h>>2]|0)+4>>2]>>2]>>0]|0)!=160){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[n>>2]=(k[(k[f>>2]|0)+28>>2]|0)+8;c=zx(k[v>>2]|0,0,k[n>>2]|0)|0;k[I>>2]=c;if(!(k[I>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[I>>2]|0)==(k[w>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(((l[(k[w>>2]|0)+42>>0]&32|0)==0|0)!=((l[(k[I>>2]|0)+42>>0]&32|0)==0|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[I>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[I>>2]|0)+12>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+34>>1]|0)!=(j[(k[I>>2]|0)+34>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+32>>1]|0)!=(j[(k[I>>2]|0)+32>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[C>>2]=0;a:while(1){if((k[C>>2]|0)>=(j[(k[w>>2]|0)+34>>1]|0)){f=64;break}k[g>>2]=(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<4);k[o>>2]=(k[(k[I>>2]|0)+4>>2]|0)+(k[C>>2]<<4);if((i[(k[g>>2]|0)+13>>0]|0)!=(i[(k[o>>2]|0)+13>>0]|0)){f=52;break}if(be(k[(k[g>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0){f=54;break}if((l[(k[g>>2]|0)+12>>0]|0)!=0?(i[(k[o>>2]|0)+12>>0]|0)==0:0){f=57;break}do if((k[C>>2]|0)>0){if(((k[(k[g>>2]|0)+4>>2]|0)==0|0)!=((k[(k[o>>2]|0)+4>>2]|0)==0|0)){f=62;break a}if(!(k[(k[g>>2]|0)+4>>2]|0))break;if(rR(k[(k[(k[g>>2]|0)+4>>2]|0)+8>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);k[C>>2]=(k[C>>2]|0)+1}if((f|0)==52){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==54){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==57){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==62){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==64){k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;if(l[(k[H>>2]|0)+54>>0]|0)k[p>>2]=1;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(HG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}if(!(k[J>>2]|0)){f=73;break}k[H>>2]=k[(k[H>>2]|0)+20>>2]}if((f|0)==73){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}do if(k[(k[w>>2]|0)+24>>2]|0){if(!(Vy(k[(k[I>>2]|0)+24>>2]|0,k[(k[w>>2]|0)+24>>2]|0,-1)|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);do if(k[(k[z>>2]|0)+24>>2]&524288){if(!(k[(k[w>>2]|0)+16>>2]|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);if(k[(k[z>>2]|0)+24>>2]&128){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}o=Ph(k[z>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[D>>2]=o;o=nx(k[v>>2]|0)|0;k[M>>2]=o;Cx(k[v>>2]|0,k[D>>2]|0);o=(k[v>>2]|0)+40|0;c=k[o>>2]|0;k[o>>2]=c+1;k[F>>2]=c;c=(k[v>>2]|0)+40|0;o=k[c>>2]|0;k[c>>2]=o+1;k[E>>2]=o;o=fD(k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[t>>2]=o;o=Fx(k[v>>2]|0)|0;k[K>>2]=o;o=Fx(k[v>>2]|0)|0;k[L>>2]=o;cA(k[v>>2]|0,k[E>>2]|0,k[x>>2]|0,k[w>>2]|0,105);do if(!(k[(k[z>>2]|0)+24>>2]&268435456)){if((j[(k[w>>2]|0)+32>>1]|0)<0){if(!((k[p>>2]|0)!=0?1:(k[(k[w>>2]|0)+8>>2]|0)!=0))f=87}else if(!(k[p>>2]|0))f=87;if((f|0)==87?!((k[q>>2]|0)!=2&(k[q>>2]|0)!=1):0)break;p=sx(k[M>>2]|0,57,k[E>>2]|0,0)|0;k[y>>2]=p;p=px(k[M>>2]|0,13)|0;k[A>>2]=p;hA(k[M>>2]|0,k[y>>2]|0)}while(0);f=k[v>>2]|0;if(!(l[(k[I>>2]|0)+42>>0]&32)){cA(f,k[F>>2]|0,k[D>>2]|0,k[I>>2]|0,104);p=sx(k[M>>2]|0,57,k[F>>2]|0,0)|0;k[B>>2]=p;do if((j[(k[w>>2]|0)+32>>1]|0)<0){f=k[M>>2]|0;if(!(k[(k[w>>2]|0)+8>>2]|0)){t=sx(f,114,k[E>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}else{t=sx(f,123,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}}else{p=sx(k[M>>2]|0,123,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=p;p=tx(k[M>>2]|0,33,k[E>>2]|0,0,k[L>>2]|0)|0;k[s>>2]=p;uF(k[v>>2]|0,k[q>>2]|0,k[w>>2]|0);hA(k[M>>2]|0,k[s>>2]|0);lD(k[v>>2]|0,k[t>>2]|0,k[L>>2]|0)}while(0);sx(k[M>>2]|0,122,k[F>>2]|0,k[K>>2]|0)|0;wx(k[M>>2]|0,115,k[E>>2]|0,k[K>>2]|0,k[L>>2]|0,k[w>>2]|0,-20)|0;Th(k[M>>2]|0,11);sx(k[M>>2]|0,7,k[F>>2]|0,k[y>>2]|0)|0;sx(k[M>>2]|0,111,k[F>>2]|0,0)|0;sx(k[M>>2]|0,111,k[E>>2]|0,0)|0}else{bA(f,k[x>>2]|0,k[(k[w>>2]|0)+28>>2]|0,1,k[k[w>>2]>>2]|0);bA(k[v>>2]|0,k[D>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0)}k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;i[G>>0]=0;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(HG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}tx(k[M>>2]|0,104,k[F>>2]|0,k[(k[J>>2]|0)+44>>2]|0,k[D>>2]|0)|0;dA(k[v>>2]|0,k[J>>2]|0);tx(k[M>>2]|0,105,k[E>>2]|0,k[(k[H>>2]|0)+44>>2]|0,k[x>>2]|0)|0;dA(k[v>>2]|0,k[H>>2]|0);Th(k[M>>2]|0,1);w=sx(k[M>>2]|0,57,k[F>>2]|0,0)|0;k[y>>2]=w;sx(k[M>>2]|0,121,k[F>>2]|0,k[K>>2]|0)|0;do if(k[(k[z>>2]|0)+24>>2]&268435456){k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[(k[J>>2]|0)+52>>1]|0))break;k[N>>2]=k[(k[(k[J>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2];if(be(34834,k[N>>2]|0)|0)break;k[C>>2]=(k[C>>2]|0)+1}if((k[C>>2]|0)!=(m[(k[J>>2]|0)+52>>1]|0))break;i[G>>0]=16;tx(k[M>>2]|0,53,k[E>>2]|0,0,-1)|0}while(0);do if(l[(k[I>>2]|0)+42>>0]&32){if((i[(k[H>>2]|0)+55>>0]&3|0)!=2)break;i[G>>0]=l[G>>0]|1}while(0);tx(k[M>>2]|0,126,k[E>>2]|0,k[K>>2]|0,1)|0;Th(k[M>>2]|0,i[G>>0]|0);sx(k[M>>2]|0,7,k[F>>2]|0,(k[y>>2]|0)+1|0)|0;hA(k[M>>2]|0,k[y>>2]|0);sx(k[M>>2]|0,111,k[F>>2]|0,0)|0;sx(k[M>>2]|0,111,k[E>>2]|0,0)|0;k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[B>>2]|0)hA(k[M>>2]|0,k[B>>2]|0);Hx(k[v>>2]|0,k[L>>2]|0);Hx(k[v>>2]|0,k[K>>2]|0);if(k[A>>2]|0){rD(k[v>>2]|0);sx(k[M>>2]|0,75,0,0)|0;hA(k[M>>2]|0,k[A>>2]|0);sx(k[M>>2]|0,111,k[E>>2]|0,0)|0;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else{k[u>>2]=1;N=k[u>>2]|0;r=O;return N|0}}}k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}function fD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;if(((l[(k[g>>2]|0)+42>>0]|0)&8|0)!=0?(k[(k[k[e>>2]>>2]|0)+24>>2]&268435456|0)==0:0){b=k[e>>2]|0;if(k[(k[e>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[j>>2]=b;k[i>>2]=k[(k[j>>2]|0)+120>>2];while(1){if(k[i>>2]|0)a=(k[(k[i>>2]|0)+4>>2]|0)!=(k[g>>2]|0);else a=0;b=k[i>>2]|0;if(!a)break;k[i>>2]=k[b>>2]}do if(!b){e=dx(k[k[e>>2]>>2]|0,16,0)|0;k[i>>2]=e;if(k[i>>2]|0){k[k[i>>2]>>2]=k[(k[j>>2]|0)+120>>2];k[(k[j>>2]|0)+120>>2]=k[i>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+8>>2]=k[f>>2];f=(k[j>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[j>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[(k[i>>2]|0)+12>>2]=g;j=(k[j>>2]|0)+44|0;k[j>>2]=(k[j>>2]|0)+1;break}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);k[h>>2]=k[(k[i>>2]|0)+12>>2]}k[d>>2]=k[h>>2];j=k[d>>2]|0;r=m;return j|0}function gD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;aA(k[d>>2]|0,73,k[e>>2]|0)|0;i[(k[(k[d>>2]|0)+12>>2]|0)+19>>0]=0;k[(k[(k[d>>2]|0)+12>>2]|0)+28>>2]=0;r=c;return}function hD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+40|0;d=q+36|0;e=q+32|0;f=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;m=q+12|0;j=q+8|0;i=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=nx(k[d>>2]|0)|0;k[o>>2]=c;c=Gx(k[o>>2]|0)|0;k[h>>2]=c;if((l[(k[f>>2]|0)+42>>0]|0)&16)d=cy(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;else d=0;k[m>>2]=d;k[g>>2]=1;a:while(1){if((k[g>>2]|0)>=(k[h>>2]|0)){d=18;break}c=oA(k[o>>2]|0,k[g>>2]|0)|0;k[j>>2]=c;b:do if((l[k[j>>2]>>0]|0|0)==104?(k[(k[j>>2]|0)+12>>2]|0)==(k[e>>2]|0):0){k[n>>2]=k[(k[j>>2]|0)+8>>2];if((k[n>>2]|0)==(k[(k[f>>2]|0)+28>>2]|0)){d=8;break a}k[i>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[i>>2]|0))break b;if((k[n>>2]|0)==(k[(k[i>>2]|0)+44>>2]|0)){d=12;break a}k[i>>2]=k[(k[i>>2]|0)+20>>2]}}while(0);if((l[k[j>>2]>>0]|0|0)==155?(k[(k[j>>2]|0)+16>>2]|0)==(k[m>>2]|0):0){d=16;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==8){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==12){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==16){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==18){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}return 0}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;i=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[i>>2]|0)+8>>2];$A(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=(k[i>>2]|0)+44|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[e>>2]=c;sx(k[h>>2]|0,84,k[g>>2]|0,k[e>>2]|0)|0;rB(k[f>>2]|0,k[e>>2]|0);r=d;return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=c;k[l>>2]=k[(k[e>>2]|0)+20>>2];if(!(k[l>>2]|0)){a=_A(k[d>>2]|0)|0;k[f>>2]=a;a=(j[(k[e>>2]|0)+34>>1]|0)+1|0;a=Mh(0,a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;if(!(k[l>>2]|0)){wh(k[f>>2]|0);r=m;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;i[(k[l>>2]|0)+(k[h>>2]|0)>>0]=i[(k[(k[e>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+13>>0]|0;k[h>>2]=(k[h>>2]|0)+1}do{a=k[h>>2]|0;k[h>>2]=a+-1;i[(k[l>>2]|0)+a>>0]=0;if((k[h>>2]|0)<0)break}while((i[(k[l>>2]|0)+(k[h>>2]|0)>>0]|0)==65);k[(k[e>>2]|0)+20>>2]=k[l>>2]}a=Tf(k[l>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=m;return}d=k[d>>2]|0;if(k[g>>2]|0){wx(d,98,k[g>>2]|0,k[h>>2]|0,0,k[l>>2]|0,k[h>>2]|0)|0;r=m;return}else{Wh(d,-1,k[l>>2]|0,k[h>>2]|0);r=m;return}}function kD(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+48|0;j=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;s=v+8|0;t=v+4|0;u=v;k[j>>2]=a;k[w>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[u>>2]=k[w>>2];while(1){if(!(k[u>>2]|0))break;if(((l[(k[u>>2]|0)+8>>0]|0|0)==(k[m>>2]|0)?(l[(k[u>>2]|0)+9>>0]|0|0)==(k[o>>2]|0):0)?(FG(k[(k[u>>2]|0)+16>>2]|0,k[n>>2]|0)|0)!=0:0)DF(k[j>>2]|0,k[u>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0);k[u>>2]=k[(k[u>>2]|0)+32>>2]}r=v;return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}sx(k[(k[d>>2]|0)+8>>2]|0,145,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}function mD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[(k[d>>2]|0)+23>>0]|0|0)!=0?(jB(k[e>>2]|0)|0)!=0:0){GB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0);r=g;return}$A(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function nD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;c=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;d=i;k[j>>2]=a;k[c>>2]=b;a=k[j>>2]|0;if(k[(k[j>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[g>>2]=a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+412>>2]|0))break;if((k[c>>2]|0)==(k[(k[(k[g>>2]|0)+460>>2]|0)+(k[e>>2]<<2)>>2]|0)){h=10;break}k[e>>2]=(k[e>>2]|0)+1}if((h|0)==10){r=i;return}k[f>>2]=(k[(k[g>>2]|0)+412>>2]|0)+1<<2;j=k[f>>2]|0;j=Wd(k[(k[g>>2]|0)+460>>2]|0,j,((j|0)<0)<<31>>31)|0;k[d>>2]=j;if(k[d>>2]|0){k[(k[g>>2]|0)+460>>2]=k[d>>2];h=k[c>>2]|0;f=(k[g>>2]|0)+412|0;j=k[f>>2]|0;k[f>>2]=j+1;k[(k[(k[g>>2]|0)+460>>2]|0)+(j<<2)>>2]=h;r=i;return}else{wh(k[k[g>>2]>>2]|0);r=i;return}}function oD(a,b,c,d,e,f,g,h,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=r;r=r+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;k[E>>2]=a;k[F>>2]=b;k[H>>2]=c;k[I>>2]=d;k[J>>2]=e;k[K>>2]=f;k[L>>2]=g;i[M>>0]=h;i[N>>0]=n;k[O>>2]=o;k[G>>2]=p;k[s>>2]=q;k[da>>2]=0;k[ja>>2]=0;k[X>>2]=0;k[W>>2]=0;i[R>>0]=0;k[ia>>2]=-1;i[Y>>0]=(k[L>>2]|0)!=0;k[S>>2]=k[k[E>>2]>>2];g=nx(k[E>>2]|0)|0;k[ka>>2]=g;k[w>>2]=j[(k[F>>2]|0)+34>>1];if(!(l[(k[F>>2]|0)+42>>0]&32)){k[da>>2]=0;k[_>>2]=1}else{g=Tj(k[F>>2]|0)|0;k[da>>2]=g;k[_>>2]=m[(k[da>>2]|0)+50>>1]}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[w>>2]|0))break;a:do if((k[T>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0)){if((k[s>>2]|0)!=0?(k[(k[s>>2]|0)+(k[T>>2]<<2)>>2]|0)<0:0)break;k[$>>2]=l[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+12>>0];if(k[$>>2]|0){if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if((k[$>>2]|0)==5?(k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0)==0:0)k[$>>2]=2;switch(k[$>>2]|0){case 2:{dy(k[E>>2]|0);break}case 3:case 1:break;case 4:{sx(k[ka>>2]|0,34,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[O>>2]|0)|0;break a}default:{g=aA(k[ka>>2]|0,35,(k[K>>2]|0)+1+(k[T>>2]|0)|0)|0;k[t>>2]=g;$A(k[E>>2]|0,k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0);hA(k[ka>>2]|0,k[t>>2]|0);break a}}g=k[S>>2]|0;f=k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)>>2]|0;k[A>>2]=k[k[F>>2]>>2];k[A+4>>2]=f;g=Qh(g,30161,A)|0;k[B>>2]=g;wx(k[ka>>2]|0,74,1299,k[$>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[B>>2]|0,-1)|0;Th(k[ka>>2]|0,1)}}while(0);k[T>>2]=(k[T>>2]|0)+1}b:do if((k[(k[F>>2]|0)+24>>2]|0)!=0?(k[(k[S>>2]|0)+24>>2]&8192|0)==0:0){k[x>>2]=k[(k[F>>2]|0)+24>>2];k[(k[E>>2]|0)+56>>2]=(k[K>>2]|0)+1;k[$>>2]=(l[N>>0]|0)!=10?l[N>>0]|0:2;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[k[x>>2]>>2]|0))break b;k[y>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2];if(!((k[s>>2]|0)!=0?(tF(k[y>>2]|0,k[s>>2]|0,l[M>>0]|0)|0)!=0:0)){B=eA(k[ka>>2]|0)|0;k[v>>2]=B;tB(k[E>>2]|0,k[y>>2]|0,k[v>>2]|0,16);if((k[$>>2]|0)==4)gA(k[ka>>2]|0,k[O>>2]|0)|0;else{k[C>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)+4>>2];if(!(k[C>>2]|0))k[C>>2]=k[k[F>>2]>>2];if((k[$>>2]|0)==5)k[$>>2]=2;DA(k[E>>2]|0,275,k[$>>2]|0,k[C>>2]|0,0,3)}iA(k[ka>>2]|0,k[v>>2]|0)}k[T>>2]=(k[T>>2]|0)+1}}while(0);if((l[M>>0]|0)!=0&(k[da>>2]|0)==0){C=eA(k[ka>>2]|0)|0;k[u>>2]=C;k[$>>2]=l[(k[F>>2]|0)+43>>0];if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if(i[Y>>0]|0){tx(k[ka>>2]|0,37,k[K>>2]|0,k[u>>2]|0,k[L>>2]|0)|0;Th(k[ka>>2]|0,-112)}c:do if((k[$>>2]|0)==5?(l[N>>0]|0)!=5:0){k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break c;if((l[(k[ca>>2]|0)+54>>0]|0)==4)break;if((l[(k[ca>>2]|0)+54>>0]|0)==3)break;k[ca>>2]=k[(k[ca>>2]|0)+20>>2]}C=px(k[ka>>2]|0,13)|0;k[X>>2]=C}while(0);tx(k[ka>>2]|0,33,k[I>>2]|0,k[u>>2]|0,k[K>>2]|0)|0;switch(k[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{k[z>>2]=0;if(k[(k[S>>2]|0)+24>>2]&262144){C=bD(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[z>>2]=C}if((k[z>>2]|0)==0?(vF(k[E>>2]|0,k[F>>2]|0,0,0)|0)==0:0){if(k[(k[F>>2]|0)+8>>2]|0){wF(k[E>>2]|0);yF(k[E>>2]|0,k[F>>2]|0,k[I>>2]|0,k[J>>2]|0,0,-1)}}else{wF(k[E>>2]|0);xF(k[E>>2]|0,k[F>>2]|0,k[z>>2]|0,k[I>>2]|0,k[J>>2]|0,k[K>>2]|0,1,0,5,1,-1)}k[ja>>2]=1;break}case 4:{gA(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[$>>2]=2;D=55}}if((D|0)==55)uF(k[E>>2]|0,k[$>>2]|0,k[F>>2]|0);iA(k[ka>>2]|0,k[u>>2]|0);if(k[X>>2]|0){D=px(k[ka>>2]|0,13)|0;k[W>>2]=D;hA(k[ka>>2]|0,k[X>>2]|0)}}k[Z>>2]=0;k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break;do if(k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0){if(!(l[R>>0]|0)){jD(k[ka>>2]|0,k[F>>2]|0,(k[K>>2]|0)+1|0);i[R>>0]=1}k[V>>2]=(k[J>>2]|0)+(k[Z>>2]|0);D=eA(k[ka>>2]|0)|0;k[Q>>2]=D;if(k[(k[ca>>2]|0)+36>>2]|0){sx(k[ka>>2]|0,79,0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;k[(k[E>>2]|0)+56>>2]=(k[K>>2]|0)+1;LA(k[E>>2]|0,k[(k[ca>>2]|0)+36>>2]|0,k[Q>>2]|0,16);k[(k[E>>2]|0)+56>>2]=0}D=MA(k[E>>2]|0,m[(k[ca>>2]|0)+52>>1]|0)|0;k[ga>>2]=D;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[ca>>2]|0)+52>>1]|0))break;k[U>>2]=j[(k[(k[ca>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];do if((k[U>>2]|0)==-2){k[(k[E>>2]|0)+56>>2]=(k[K>>2]|0)+1;WA(k[E>>2]|0,k[(k[(k[(k[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0);k[(k[E>>2]|0)+56>>2]=0}else{if((k[U>>2]|0)!=-1?(k[U>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0):0)k[la>>2]=(k[U>>2]|0)+(k[K>>2]|0)+1;else{if((k[ia>>2]|0)==((k[ga>>2]|0)+(k[T>>2]|0)|0))break;k[la>>2]=k[K>>2];if(k[(k[ca>>2]|0)+36>>2]|0)s=-1;else s=(k[ga>>2]|0)+(k[T>>2]|0)|0;k[ia>>2]=s}sx(k[ka>>2]|0,(k[U>>2]|0)<0?86:85,k[la>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0)|0}while(0);k[T>>2]=(k[T>>2]|0)+1}tx(k[ka>>2]|0,99,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;eB(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if(((l[Y>>0]|0)!=0?(k[da>>2]|0)==(k[ca>>2]|0):0)?(l[M>>0]|0)==0:0){iA(k[ka>>2]|0,k[Q>>2]|0);break}k[$>>2]=l[(k[ca>>2]|0)+54>>0];if(!(k[$>>2]|0)){PA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);iA(k[ka>>2]|0,k[Q>>2]|0);break}if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];Sh(k[ka>>2]|0,29,k[V>>2]|0,k[Q>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+50>>1]|0)|0;if((k[ca>>2]|0)==(k[da>>2]|0))s=k[ga>>2]|0;else s=MA(k[E>>2]|0,k[_>>2]|0)|0;k[ha>>2]=s;d:do if((l[Y>>0]|0)!=0|(k[$>>2]|0)==5){if(!(l[(k[F>>2]|0)+42>>0]&32)){sx(k[ka>>2]|0,129,k[V>>2]|0,k[ha>>2]|0)|0;if(!(i[Y>>0]|0))break;tx(k[ka>>2]|0,37,k[ha>>2]|0,k[Q>>2]|0,k[L>>2]|0)|0;Th(k[ka>>2]|0,-112);break}e:do if((k[ca>>2]|0)!=(k[da>>2]|0)){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break e;D=(YA(k[ca>>2]|0,j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1]|0)|0)<<16>>16;k[ma>>2]=D;tx(k[ka>>2]|0,96,k[V>>2]|0,k[ma>>2]|0,(k[ha>>2]|0)+(k[T>>2]|0)|0)|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);if(i[Y>>0]|0){D=Gx(k[ka>>2]|0)|0;k[P>>2]=D+(m[(k[da>>2]|0)+50>>1]|0);k[aa>>2]=36;k[fa>>2]=(i[(k[ca>>2]|0)+55>>0]&3|0)==2?k[ga>>2]|0:k[ha>>2]|0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break d;D=fA(k[E>>2]|0,k[(k[(k[da>>2]|0)+32>>2]|0)+(k[T>>2]<<2)>>2]|0)|0;k[ba>>2]=D;k[ma>>2]=j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];if((k[T>>2]|0)==((m[(k[da>>2]|0)+50>>1]|0)-1|0)){k[P>>2]=k[Q>>2];k[aa>>2]=37}wx(k[ka>>2]|0,k[aa>>2]|0,(k[L>>2]|0)+1+(k[ma>>2]|0)|0,k[P>>2]|0,(k[fa>>2]|0)+(k[T>>2]|0)|0,k[ba>>2]|0,-4)|0;Th(k[ka>>2]|0,-112);k[T>>2]=(k[T>>2]|0)+1}}}while(0);switch(k[$>>2]|0){case 3:case 2:case 1:{AA(k[E>>2]|0,k[$>>2]|0,k[ca>>2]|0);break}case 4:{gA(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[ea>>2]=0;wF(k[E>>2]|0);if(k[(k[S>>2]|0)+24>>2]&262144){D=bD(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[ea>>2]=D}xF(k[E>>2]|0,k[F>>2]|0,k[ea>>2]|0,k[I>>2]|0,k[J>>2]|0,k[ha>>2]|0,k[_>>2]&65535,0,5,((k[ca>>2]|0)==(k[da>>2]|0)?1:0)&255,-1);k[ja>>2]=1}}iA(k[ka>>2]|0,k[Q>>2]|0);PA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if((k[ha>>2]|0)!=(k[ga>>2]|0))PA(k[E>>2]|0,k[ha>>2]|0,k[_>>2]|0)}while(0);k[ca>>2]=k[(k[ca>>2]|0)+20>>2];k[Z>>2]=(k[Z>>2]|0)+1}if(!(k[X>>2]|0)){la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}gA(k[ka>>2]|0,(k[X>>2]|0)+1|0)|0;hA(k[ka>>2]|0,k[W>>2]|0);la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}function pD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+112|0;g=O+108|0;h=O+104|0;m=O+100|0;n=O+96|0;o=O+92|0;p=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;q=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[v>>2]=k[k[g>>2]>>2];k[C>>2]=l[(k[g>>2]|0)+150>>0];if(!(k[(k[v>>2]|0)+24>>2]&524288)){r=O;return}c=Ph(k[v>>2]|0,k[(k[h>>2]|0)+64>>2]|0)|0;k[z>>2]=c;k[M>>2]=k[(k[(k[v>>2]|0)+16>>2]|0)+(k[z>>2]<<4)>>2];k[D>>2]=k[(k[h>>2]|0)+16>>2];a:while(1){if(!(k[D>>2]|0)){N=39;break}k[E>>2]=0;k[t>>2]=0;k[u>>2]=0;if(!(((k[o>>2]|0)!=0?(be(k[k[h>>2]>>2]|0,k[(k[D>>2]|0)+8>>2]|0)|0)!=0:0)?(tD(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(i[(k[g>>2]|0)+150>>0]|0){c=Di(k[v>>2]|0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}else{c=Nh(k[g>>2]|0,0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}if((k[I>>2]|0)!=0?(LC(k[g>>2]|0,k[I>>2]|0,k[D>>2]|0,E,t)|0)==0:0){if(k[t>>2]|0)k[q>>2]=k[t>>2];else{k[y>>2]=k[(k[D>>2]|0)+36>>2];k[q>>2]=y}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;if((k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]|0)==(j[(k[h>>2]|0)+32>>1]|0))k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]=-1;if(k[(k[v>>2]|0)+296>>2]|0){if(k[E>>2]|0)e=j[(k[(k[E>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0;else e=j[(k[I>>2]|0)+32>>1]|0;k[L>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2];c=sz(k[g>>2]|0,k[k[I>>2]>>2]|0,k[L>>2]|0,k[z>>2]|0)|0;k[J>>2]=c;k[u>>2]=(k[J>>2]|0)==2&1}k[x>>2]=(k[x>>2]|0)+1}bA(k[g>>2]|0,k[z>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0);c=(k[g>>2]|0)+40|0;k[c>>2]=(k[c>>2]|0)+1;if(k[m>>2]|0)uD(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[m>>2]|0,-1,k[u>>2]|0);if((k[n>>2]|0)!=0?(vD(k[g>>2]|0,k[D>>2]|0)|0)==0:0)uD(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[n>>2]|0,1,k[u>>2]|0);bg(k[v>>2]|0,k[t>>2]|0);break}if(!(k[C>>2]|0)){N=59;break a}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break a}if(!(k[I>>2]|0)){c=nx(k[g>>2]|0)|0;k[K>>2]=c;c=Gx(k[K>>2]|0)|0;k[A>>2]=c+(k[(k[D>>2]|0)+20>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;k[B>>2]=(k[(k[D>>2]|0)+36+(k[x>>2]<<3)>>2]|0)+(k[m>>2]|0)+1;sx(k[K>>2]|0,34,k[B>>2]|0,k[A>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}sx(k[K>>2]|0,144,l[(k[D>>2]|0)+24>>0]|0,-1)|0}}while(0);k[D>>2]=k[(k[D>>2]|0)+4>>2]}if((N|0)==39){M=gy(k[h>>2]|0)|0;k[D>>2]=M;b:while(1){if(!(k[D>>2]|0)){N=59;break}k[F>>2]=0;k[s>>2]=0;if(!((k[o>>2]|0)!=0?(wD(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((i[(k[D>>2]|0)+24>>0]|0)==0?(k[(k[v>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[g>>2]|0)+124>>2]|0)==0:0)?(i[(k[g>>2]|0)+20>>0]|0)==0:0)break;if(LC(k[g>>2]|0,k[h>>2]|0,k[D>>2]|0,F,s)|0){if(!(k[C>>2]|0)){N=59;break b}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break b}else break}M=iw(k[v>>2]|0,0,0,0)|0;k[H>>2]=M;if(k[H>>2]|0){k[G>>2]=(k[H>>2]|0)+8;k[(k[G>>2]|0)+16>>2]=k[k[D>>2]>>2];k[(k[G>>2]|0)+8>>2]=k[k[k[D>>2]>>2]>>2];L=(k[(k[G>>2]|0)+16>>2]|0)+36|0;j[L>>1]=(j[L>>1]|0)+1<<16>>16;L=(k[g>>2]|0)+40|0;M=k[L>>2]|0;k[L>>2]=M+1;k[(k[G>>2]|0)+44>>2]=M;if(k[n>>2]|0)xD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[n>>2]|0,-1);if((k[m>>2]|0)!=0?(k[w>>2]=l[(k[D>>2]|0)+25+((k[o>>2]|0)!=0&1)>>0],xD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[m>>2]|0,1),((k[w>>2]|0)!=9?(i[(k[D>>2]|0)+24>>0]|0)==0:0)&(k[w>>2]|0)!=7):0)dy(k[g>>2]|0);k[(k[G>>2]|0)+8>>2]=0;rv(k[v>>2]|0,k[H>>2]|0)}bg(k[v>>2]|0,k[s>>2]|0)}while(0);k[D>>2]=k[(k[D>>2]|0)+12>>2]}if((N|0)==59){r=O;return}}else if((N|0)==59){r=O;return}}function qD(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+64|0;n=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;i[x>>0]=0;m=nx(k[n>>2]|0)|0;k[D>>2]=m;k[y>>2]=0;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;if(k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0){i[x>>0]=1;if(k[(k[z>>2]|0)+36>>2]|0){e=k[D>>2]|0;m=k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0;sx(e,34,m,(Gx(k[D>>2]|0)|0)+2|0)|0}sx(k[D>>2]|0,126,(k[q>>2]|0)+(k[y>>2]|0)|0,k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0)|0;i[A>>0]=0;i[A>>0]=(k[w>>2]|0)!=0?16:0;if((i[(k[z>>2]|0)+55>>0]&3|0)==2?(l[(k[o>>2]|0)+42>>0]&32|0)!=0:0)i[A>>0]=l[A>>0]|1;Th(k[D>>2]|0,i[A>>0]|0)}k[z>>2]=k[(k[z>>2]|0)+20>>2];k[y>>2]=(k[y>>2]|0)+1}if(l[(k[o>>2]|0)+42>>0]&32){r=E;return}k[B>>2]=(k[s>>2]|0)+1;m=Fx(k[n>>2]|0)|0;k[C>>2]=m;tx(k[D>>2]|0,99,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0,k[C>>2]|0)|0;if(!(i[x>>0]|0))jD(k[D>>2]|0,k[o>>2]|0,0);eB(k[n>>2]|0,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0);if(i[(k[n>>2]|0)+18>>0]|0)i[A>>0]=0;else{i[A>>0]=1;i[A>>0]=l[A>>0]|((k[u>>2]|0)!=0?4:2)}if(k[v>>2]|0)i[A>>0]=l[A>>0]|8;if(k[w>>2]|0)i[A>>0]=l[A>>0]|16;tx(k[D>>2]|0,115,k[p>>2]|0,k[C>>2]|0,k[s>>2]|0)|0;if(!(i[(k[n>>2]|0)+18>>0]|0))Wh(k[D>>2]|0,-1,k[o>>2]|0,-20);Th(k[D>>2]|0,i[A>>0]|0);r=E;return}function rD(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+120>>2]|0)){r=c;return}sD(k[b>>2]|0);r=c;return}function sD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;g=l+24|0;j=l+20|0;d=l+16|0;c=l+12|0;h=l+8|0;e=l+4|0;f=l;k[b>>2]=a;k[j>>2]=k[(k[b>>2]|0)+8>>2];k[d>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+120>>2];while(1){if(!(k[g>>2]|0)){b=5;break}k[h>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[g>>2]|0)+8>>2]<<4);k[f>>2]=k[(k[g>>2]|0)+12>>2];a=Fx(k[b>>2]|0)|0;k[e>>2]=a;cA(k[b>>2]|0,0,k[(k[g>>2]|0)+8>>2]|0,k[(k[(k[h>>2]|0)+12>>2]|0)+72>>2]|0,105);a=Uh(k[j>>2]|0,5,34384,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+4>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+20+8>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+40+4>>2]=(k[f>>2]|0)-1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+8>>2]=k[e>>2];k[(k[c>>2]|0)+60+12>>2]=(k[f>>2]|0)+1;i[(k[c>>2]|0)+60+3>>0]=8;Hx(k[b>>2]|0,k[e>>2]|0);k[g>>2]=k[k[g>>2]>>2]}if((b|0)==5){r=l;return}}function tD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[f>>2]|0)+20>>2]|0)){e=8;break}k[l>>2]=k[(k[f>>2]|0)+36+(k[i>>2]<<3)>>2];if((k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)>=0){e=4;break}if((k[h>>2]|0)!=0?(k[l>>2]|0)==(j[(k[e>>2]|0)+32>>1]|0):0){e=6;break}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==4){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==6){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==8){k[m>>2]=0;m=k[m>>2]|0;r=n;return m|0}return 0} +function jc(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function kc(){return r|0}function lc(a){a=a|0;r=a}function mc(a,b){a=a|0;b=b|0;r=a;s=b}function nc(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function oc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function pc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function qc(a){a=a|0;L=a}function rc(){return L|0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=40)break;k[d>>2]=0;switch(l[360+((k[c>>2]|0)*12|0)+5>>0]|0){case 1:{k[d>>2]=k[b>>2];break}case 2:{k[d>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[360+((k[c>>2]|0)*12|0)>>2]|0,i[360+((k[c>>2]|0)*12|0)+4>>0]|0,l[360+((k[c>>2]|0)*12|0)+6>>0]|0,k[d>>2]|0,k[360+((k[c>>2]|0)*12|0)+8>>2]|0,0,0)|0;k[c>>2]=(k[c>>2]|0)+1}k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=6)break;k[e>>2]=0;switch(l[840+(k[c>>2]<<4)+5>>0]|0){case 1:{k[e>>2]=k[b>>2];break}case 2:{k[e>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[840+(k[c>>2]<<4)>>2]|0,i[840+(k[c>>2]<<4)+4>>0]|0,1,k[e>>2]|0,0,k[840+(k[c>>2]<<4)+8>>2]|0,k[840+(k[c>>2]<<4)+12>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,378,16758);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+aa(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,379,16767);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ba(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,380,16776);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ca(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[i>>2]|0)!=2)$a(16785,16734,570,16793);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+le(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=j;re(k[d>>2]|0,+da(+(+p[f>>3]),+(+p[g>>3])));r=h;return}ve(k[d>>2]|0);r=h;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,394,16802);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+SQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,402,16812);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+TQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,410,16822);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+UQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;g=n+12|0;f=n+8|0;h=n+4|0;j=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[l>>2]=n+48;k[m>>2]=n+40;k[g>>2]=0;k[f>>2]=0;if((k[o>>2]|0)!=2)$a(16785,16734,1680,16832);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){o=je(k[k[e>>2]>>2]|0)|0;k[h>>2]=o;o=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=o;wd(k[h>>2]|0,k[l>>2]|0);wd(k[j>>2]|0,k[m>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=4)break;o=xd(k[l>>2]|0)|0;if((o|0)==(xd(k[m>>2]|0)|0))k[g>>2]=(k[g>>2]|0)+1;do{o=(k[l>>2]|0)+1|0;k[l>>2]=o}while((192&i[o>>0]|0)==128);do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}te(k[d>>2]|0,k[g>>2]|0);r=n;return}ve(k[d>>2]|0);r=n;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,498,17236);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+yd(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,499,17248);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+zd(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,420,17260);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+Z(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,419,17268);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+_(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,421,17276);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+$(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,422,17284);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+Ad(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,446,17292);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+VQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,438,17301);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ZQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,454,17310);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+_Q(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,456,17319);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+Bd(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,474,17328);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+ea(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,472,17336);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+fa(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,473,17344);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+XQ(+p[f>>3]);p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+48|0;d=i+32|0;j=i+28|0;e=i+24|0;f=i+16|0;g=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[j>>2]|0)!=2)$a(16785,16734,546,17354);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){l=+le(k[k[e>>2]>>2]|0);p[f>>3]=l;l=+le(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=l;j=LQ()|0;k[j>>2]=0;l=+Y(+(+p[f>>3]),+(+p[g>>3]));p[h>>3]=l;j=LQ()|0;d=k[d>>2]|0;if(!(k[j>>2]|0)){re(d,+p[h>>3]);r=i;return}else{h=LQ()|0;h=MQ(k[h>>2]|0)|0;j=LQ()|0;se(d,h,k[j>>2]|0);r=i;return}}ve(k[d>>2]|0);r=i;return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;g=h+24|0;i=h+20|0;d=h+16|0;f=h+8|0;e=h;k[g>>2]=a;k[i>>2]=b;k[d>>2]=c;p[f>>3]=0.0;a=e;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(16726,16734,590,17364);switch(oe(k[k[d>>2]>>2]|0)|0){case 1:{f=ne(k[k[d>>2]>>2]|0)|0;i=e;k[i>>2]=f;k[i+4>>2]=L;i=e;f=k[i+4>>2]|0;if((f|0)>0|(f|0)==0&(k[i>>2]|0)>>>0>0)d=1;else d=(k[e+4>>2]|0)<0?-1:0;i=e;k[i>>2]=d;k[i+4>>2]=((d|0)<0)<<31>>31;i=e;ue(k[g>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{ve(k[g>>2]|0);r=h;return}default:{j=+le(k[k[d>>2]>>2]|0);p[f>>3]=j;if(+p[f>>3]>0.0)d=1;else d=+p[f>>3]<0.0?-1:0;p[f>>3]=+(d|0);re(k[g>>2]|0,+p[f>>3]);r=h;return}}}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,375,17373);if((oe(k[k[e>>2]>>2]|0)|0)==5){ve(k[d>>2]|0);r=h;return}j=+le(k[k[e>>2]>>2]|0);p[f>>3]=j;i=LQ()|0;k[i>>2]=0;j=+X(+(+p[f>>3]));p[g>>3]=j;i=LQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){re(d,+p[g>>3]);r=h;return}else{g=LQ()|0;g=MQ(k[g>>2]|0)|0;i=LQ()|0;se(d,g,k[i>>2]|0);r=h;return}}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;p[g>>3]=0.0;if((k[i>>2]|0)!=1)$a(16726,16734,514,17382);switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{g=ne(k[k[e>>2]>>2]|0)|0;a=f;k[a>>2]=g;k[a+4>>2]=L;a=k[d>>2]|0;g=f;i=f;ue(a,kS(k[g>>2]|0,k[g+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0,L);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{j=+le(k[k[e>>2]>>2]|0);p[g>>3]=j;re(k[d>>2]|0,+p[g>>3]*+p[g>>3]);r=h;return}}}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(16726,16734,620,17393);switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{g=ne(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ue(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{j=+le(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+ga(+(+p[g>>3]));ue(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(16726,16734,645,17402);switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{g=ne(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ue(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{j=+le(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+V(+(+p[g>>3]));ue(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;re(k[e>>2]|0,3.141592653589793);r=d;return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+48|0;n=m+44|0;e=m+40|0;j=m+36|0;l=m+32|0;g=m+24|0;h=m+16|0;i=m+8|0;f=m;k[d>>2]=a;k[n>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;if((k[n>>2]|0)!=2){r=m;return}if(5==(oe(k[k[e>>2]>>2]|0)|0)){r=m;return}a=ne(k[(k[e>>2]|0)+4>>2]|0)|0;n=g;k[n>>2]=a;k[n+4>>2]=L;if((k[g+4>>2]|0)<0){se(k[d>>2]|0,17412,-1);r=m;return}a=ke(k[k[e>>2]>>2]|0)|0;n=h;k[n>>2]=a;k[n+4>>2]=((a|0)<0)<<31>>31;n=h;a=g;a=kS(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=i;k[n>>2]=a;k[n+4>>2]=L;n=i;n=$R(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[j>>2]=n;n=h;n=$R(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[l>>2]=n;if((k[j>>2]|0)!=0&(k[l>>2]|0)!=0){n=k[l>>2]|0;sR(n,je(k[k[e>>2]>>2]|0)|0)|0;n=f;k[n>>2]=0;k[n+4>>2]=0;while(1){i=f;c=k[i+4>>2]|0;n=g;a=k[n+4>>2]|0;if(!((c|0)<(a|0)|((c|0)==(a|0)?(k[i>>2]|0)>>>0<(k[n>>2]|0)>>>0:0)))break;n=k[j>>2]|0;a=f;i=h;i=kS(k[a>>2]|0,k[a+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;sR(n+i|0,k[l>>2]|0)|0;i=f;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;n=f;k[n>>2]=i;k[n+4>>2]=L}we(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);Ud(k[l>>2]|0);r=m;return}Ce(k[d>>2]|0);if(k[j>>2]|0)Ud(k[j>>2]|0);if(!(k[l>>2]|0)){r=m;return}Ud(k[l>>2]|0);r=m;return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;i=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;k[g>>2]=0;if(!((k[e>>2]|0)==3|(k[e>>2]|0)==2))$a(17425,16734,1038,17443);if(5!=(oe(k[k[f>>2]>>2]|0)|0)?5!=(oe(k[(k[f>>2]|0)+4>>2]|0)|0):0){a=je(k[k[f>>2]>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=l;return}a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[j>>2]=a;if((k[e>>2]|0)==3){a=(me(k[(k[f>>2]|0)+8>>2]|0)|0)-1|0;k[h>>2]=a;k[h>>2]=(k[h>>2]|0)<0?0:a}else k[h>>2]=0;j=Cd(k[i>>2]|0,k[j>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=j;te(k[d>>2]|0,(k[g>>2]|0)+1|0);r=l;return}ve(k[d>>2]|0);r=l;return}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+32|0;p=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;n=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,1073,17457);if(5!=(oe(k[k[e>>2]>>2]|0)|0)?5!=(oe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=je(k[k[e>>2]>>2]|0)|0;k[m>>2]=p;p=me(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[m>>2];a:while(1){if(!(xd(k[n>>2]|0)|0))break;p=k[f>>2]|0;k[f>>2]=p+1;if((p|0)>=(k[h>>2]|0))break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&(l[p>>0]|0)|0)!=128)continue a}}k[g>>2]=(k[n>>2]|0)-(k[m>>2]|0);p=Sd((k[n>>2]|0)-(k[m>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){wR(k[j>>2]|0,k[m>>2]|0,(k[n>>2]|0)-(k[m>>2]|0)|0)|0;i[(k[j>>2]|0)+(k[g>>2]|0)>>0]=0;we(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{Ce(k[d>>2]|0);r=o;return}}ve(k[d>>2]|0);r=o;return}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+36|0;p=o+32|0;e=o+28|0;h=o+24|0;f=o+20|0;g=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=0;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,1113,17466);if(5!=(oe(k[k[e>>2]>>2]|0)|0)?5!=(oe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=je(k[k[e>>2]>>2]|0)|0;k[l>>2]=p;p=me(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[l>>2];while(1){if(!(xd(k[n>>2]|0)|0))break;do{p=(k[n>>2]|0)+1|0;k[n>>2]=p}while((192&i[p>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}k[m>>2]=k[n>>2];k[n>>2]=k[l>>2];p=(k[f>>2]|0)-(k[h>>2]|0)|0;k[g>>2]=p;k[g>>2]=(k[g>>2]|0)<0?0:p;a:while(1){p=k[g>>2]|0;k[g>>2]=p+-1;if((p|0)<=0)break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&i[p>>0]|0)!=128)continue a}}p=Sd((k[m>>2]|0)-(k[n>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){sR(k[j>>2]|0,k[n>>2]|0)|0;we(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{Ce(k[d>>2]|0);r=o;return}}ve(k[d>>2]|0);r=o;return}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n+8|0;g=n+4|0;f=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=0;if(1!=(k[o>>2]|0))$a(17476,16734,1323,17484);if(5==(oe(k[k[e>>2]>>2]|0)|0)){ve(k[d>>2]|0);r=n;return}o=je(k[k[e>>2]>>2]|0)|0;k[l>>2]=o;o=uR(k[l>>2]|0)|0;k[g>>2]=o;o=Sd((k[g>>2]|0)+1|0)|0;k[h>>2]=o;if(!(k[h>>2]|0)){Ce(k[d>>2]|0);r=n;return}k[j>>2]=(k[h>>2]|0)+(k[g>>2]|0);o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=0;k[m>>2]=k[l>>2];a:while(1){if(!(xd(k[m>>2]|0)|0))break;k[l>>2]=k[m>>2];do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=1;while(1){if(((k[m>>2]|0)+(0-(k[f>>2]|0))|0)>>>0<(k[l>>2]|0)>>>0)continue a;g=i[(k[m>>2]|0)+(0-(k[f>>2]|0))>>0]|0;o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=g;k[f>>2]=(k[f>>2]|0)+1}}we(k[d>>2]|0,k[h>>2]|0,-1,-1);Ud(k[h>>2]|0);r=n;return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;n=m+20|0;d=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m+28|0;f=m;k[e>>2]=a;k[n>>2]=b;k[d>>2]=c;k[f>>2]=1;if((k[n>>2]|0)!=1)$a(16726,16734,724,17496);if(5==(oe(k[k[d>>2]>>2]|0)|0)){ve(k[e>>2]|0);r=m;return}n=je(k[k[d>>2]>>2]|0)|0;k[h>>2]=n;n=Dd(k[h>>2]|0)|0;k[j>>2]=n;if(!(k[j>>2]|0)){Ce(k[e>>2]|0);r=m;return}k[l>>2]=k[j>>2];while(1){n=k[h>>2]|0;k[h>>2]=n+1;n=i[n>>0]|0;i[g>>0]=n;if(!(n<<24>>24))break;if(GQ(i[g>>0]|0)|0)k[f>>2]=1;else{d=i[g>>0]|0;if((k[f>>2]|0)==1){n=(KQ(d)|0)&255;i[g>>0]=n}else{n=(JQ(d)|0)&255;i[g>>0]=n}k[f>>2]=0}a=i[g>>0]|0;n=k[l>>2]|0;k[l>>2]=n+1;i[n>>0]=a}i[k[l>>2]>>0]=0;we(k[e>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=m;return}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;l=n+40|0;o=n+36|0;d=n+32|0;f=n+8|0;h=n;e=n+28|0;g=n+24|0;m=n+20|0;j=n+16|0;k[l>>2]=a;k[o>>2]=b;k[d>>2]=c;k[e>>2]=0;if((k[o>>2]|0)!=2)$a(16785,16734,771,17507);if((oe(k[k[d>>2]>>2]|0)|0)==5){ve(k[l>>2]|0);r=n;return}a=je(k[k[d>>2]>>2]|0)|0;k[g>>2]=a;a=ne(k[(k[d>>2]|0)+4>>2]|0)|0;o=f;k[o>>2]=a;k[o+4>>2]=L;if((k[f+4>>2]|0)<0){se(k[l>>2]|0,17412,-1);r=n;return}b=Ed(k[g>>2]|0,-1)|0;a=h;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=h;b=k[a+4>>2]|0;o=f;c=k[o+4>>2]|0;d=k[g>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[o>>2]|0)>>>0:0)){d=Dd(d)|0;k[m>>2]=d;d=k[l>>2]|0;if(k[m>>2]|0){we(d,k[m>>2]|0,-1,-1);break}Ce(d);r=n;return}else{o=uR(d)|0;a=f;a=$R(o|0,0,k[a>>2]|0,k[a+4>>2]|0)|0;o=h;o=_R(a|0,L|0,k[o>>2]|0,k[o+4>>2]|0)|0;o=$R(o|0,L|0,1,0)|0;o=Sd(o)|0;k[m>>2]=o;if(!(k[m>>2]|0)){Ce(k[l>>2]|0);r=n;return}k[j>>2]=k[m>>2];k[e>>2]=1;while(1){b=k[e>>2]|0;a=h;a=$R(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;o=f;c=k[o+4>>2]|0;d=k[j>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[o>>2]|0)>>>0:0)))break;k[j>>2]=d+1;i[d>>0]=32;k[e>>2]=(k[e>>2]|0)+1}sR(d,k[g>>2]|0)|0}while(0);we(k[l>>2]|0,k[m>>2]|0,-1,-1);Ud(k[m>>2]|0);r=n;return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,825,17544);if((oe(k[k[d>>2]>>2]|0)|0)==5){ve(k[m>>2]|0);r=o;return}a=je(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=ne(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){se(k[m>>2]|0,17412,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){we(d,k[n>>2]|0,-1,-1);break}Ce(d);r=o;return}else{a=uR(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=$R(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=_R(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=$R(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){Ce(k[m>>2]|0);r=o;return}p=sR(k[n>>2]|0,k[e>>2]|0)|0;k[l>>2]=p+(k[f>>2]|0);k[g>>2]=1;while(1){a=k[g>>2]|0;f=j;f=$R(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);we(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(16785,16734,880,17553);if((oe(k[k[d>>2]>>2]|0)|0)==5){ve(k[m>>2]|0);r=o;return}a=je(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=ne(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){se(k[m>>2]|0,17412,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){we(d,k[n>>2]|0,-1,-1);break}Ce(d);r=o;return}else{a=uR(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=$R(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=_R(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=$R(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){Ce(k[m>>2]|0);r=o;return}k[l>>2]=k[n>>2];k[g>>2]=1;while(1){b=k[g>>2]<<1;a=j;a=$R(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;p=h;c=k[p+4>>2]|0;d=k[l>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}sR(d,k[e>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);while(1){a=k[g>>2]|0;f=j;f=$R(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);we(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;s=q+40|0;e=q+36|0;m=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;k[d>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;if((k[s>>2]|0)!=2)$a(16785,16734,939,17562);if((oe(k[k[e>>2]>>2]|0)|0)!=5?(oe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){s=je(k[k[e>>2]>>2]|0)|0;k[m>>2]=s;s=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=s;s=Sd((uR(k[m>>2]|0)|0)+1|0)|0;k[o>>2]=s;if(!(k[o>>2]|0)){Ce(k[d>>2]|0);r=q;return}k[p>>2]=k[o>>2];k[h>>2]=k[m>>2];a:while(1){s=xd(k[h>>2]|0)|0;k[f>>2]=s;if(!s)break;k[j>>2]=k[n>>2];b:while(1){s=xd(k[j>>2]|0)|0;k[g>>2]=s;if(!s)break;if((k[g>>2]|0)==(k[f>>2]|0))break;while(1){s=(k[j>>2]|0)+1|0;k[j>>2]=s;if((192&i[s>>0]|0)!=128)continue b}}if(k[g>>2]|0){k[l>>2]=k[j>>2];do{s=(k[l>>2]|0)+1|0;k[l>>2]=s}while((192&i[s>>0]|0)==128);wR(k[p>>2]|0,k[j>>2]|0,(k[l>>2]|0)-(k[j>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+((k[l>>2]|0)-(k[j>>2]|0))}while(1){s=(k[h>>2]|0)+1|0;k[h>>2]=s;if((192&i[s>>0]|0)!=128)continue a}}i[k[p>>2]>>0]=0;we(k[d>>2]|0,k[o>>2]|0,-1,-1);Ud(k[o>>2]|0);r=q;return}ve(k[d>>2]|0);r=q;return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+32|0;d=i+28|0;j=i+24|0;e=i+20|0;g=i+16|0;f=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;if((k[j>>2]|0)!=1)$a(16726,16734,1395,17576);j=Ge(k[d>>2]|0,24)|0;k[g>>2]=j;if(5==(bf(k[k[e>>2]>>2]|0)|0)){r=i;return}a=(k[g>>2]|0)+16|0;j=a;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[a>>2]=j;k[a+4>>2]=L;l=+le(k[k[e>>2]>>2]|0);p[h>>3]=l;p[f>>3]=+p[h>>3]-+p[k[g>>2]>>3];a=(k[g>>2]|0)+16|0;j=k[g>>2]|0;p[j>>3]=+p[j>>3]+ +p[f>>3]/(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0));j=(k[g>>2]|0)+8|0;p[j>>3]=+p[j>>3]+ +p[f>>3]*(+p[h>>3]-+p[k[g>>2]>>3]);r=i;return}function ed(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=_R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;re(a,+X(+(f/(+(e>>>0)+4294967296.0*+(L|0)))));r=d;return}re(k[b>>2]|0,0.0);r=d;return}function fd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=_R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;re(a,f/(+(e>>>0)+4294967296.0*+(L|0)));r=d;return}re(k[b>>2]|0,0.0);r=d;return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0.0;o=r;r=r+80|0;d=o+64|0;q=o+60|0;e=o+56|0;l=o+52|0;n=o+8|0;m=o;j=o+48|0;i=o+44|0;h=o+40|0;f=o+28|0;g=o+16|0;k[d>>2]=a;k[q>>2]=b;k[e>>2]=c;a=n;k[a>>2]=0;k[a+4>>2]=0;p[m>>3]=0.0;if((k[q>>2]|0)!=1)$a(16726,16734,1418,17589);q=bf(k[k[e>>2]>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)==5){r=o;return}q=Ge(k[d>>2]|0,64)|0;k[l>>2]=q;do if(!(k[(k[l>>2]|0)+56>>2]|0)){d=VR(1,12)|0;k[(k[l>>2]|0)+56>>2]=d;d=k[l>>2]|0;if((k[h>>2]|0)==1){q=k[d+56>>2]|0;ld(f,176);k[q>>2]=k[f>>2];k[q+4>>2]=k[f+4>>2];k[q+8>>2]=k[f+8>>2];q=(k[l>>2]|0)+48|0;k[q>>2]=0;k[q+4>>2]=0;break}else{q=d+48|0;k[q>>2]=1;k[q+4>>2]=0;q=k[(k[l>>2]|0)+56>>2]|0;ld(g,177);k[q>>2]=k[g>>2];k[q+4>>2]=k[g+4>>2];k[q+8>>2]=k[g+8>>2];break}}while(0);q=(k[l>>2]|0)+16|0;d=q;d=$R(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[q>>2]=d;k[q+4>>2]=L;q=(k[l>>2]|0)+48|0;d=k[k[e>>2]>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){q=ne(d)|0;m=n;k[m>>2]=q;k[m+4>>2]=L;m=VR(1,8)|0;k[j>>2]=m;m=n;n=k[m+4>>2]|0;q=k[j>>2]|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;pd(k[(k[l>>2]|0)+56>>2]|0,k[j>>2]|0);r=o;return}else{s=+le(d);p[m>>3]=s;q=VR(1,8)|0;k[i>>2]=q;p[k[i>>2]>>3]=+p[m>>3];pd(k[(k[l>>2]|0)+56>>2]|0,k[i>>2]|0);r=o;return}}function hd(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(!(k[(k[c>>2]|0)+56>>2]|0)){r=d;return}rd(k[(k[c>>2]|0)+56>>2]|0,131,k[c>>2]|0);td(k[(k[c>>2]|0)+56>>2]|0);UR(k[(k[c>>2]|0)+56>>2]|0);a=(k[c>>2]|0)+40|0;if(!(1==(k[a>>2]|0)?0==(k[a+4>>2]|0):0)){r=d;return}e=(k[c>>2]|0)+48|0;a=k[b>>2]|0;b=k[c>>2]|0;if(0==(k[e>>2]|0)?0==(k[e+4>>2]|0):0){e=b;ue(a,k[e>>2]|0,k[e+4>>2]|0);r=d;return}else{re(a,+p[b+8>>3]);r=d;return}}function id(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/2.0;Gd(k[b>>2]|0);r=d;return}function jd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/4.0;Gd(k[b>>2]|0);r=d;return}function kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;a=kS(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;p[(k[c>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(L|0))/4.0;Gd(k[b>>2]|0);r=d;return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+12|0;d=c;k[e>>2]=b;k[d+4>>2]=k[e>>2];k[d>>2]=0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];r=c;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;d=e;k[g>>2]=a;k[f>>2]=b;k[e+4>>2]=c;b=VR(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function nd(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;UR(k[c>>2]|0);r=b;return}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[k[d>>2]>>2]|0)){h=md(1,24,16717)|0;k[e>>2]=h;k[(k[e>>2]|0)+8>>2]=k[g>>2];h=(k[e>>2]|0)+16|0;k[h>>2]=1;k[h+4>>2]=0;k[k[d>>2]>>2]=k[e>>2];r=i;return}e=gc[k[f>>2]&255](k[(k[k[d>>2]>>2]|0)+8>>2]|0,k[g>>2]|0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){h=(k[k[d>>2]>>2]|0)+16|0;f=h;f=$R(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[h>>2]=f;k[h+4>>2]=L;nd(k[g>>2]|0);r=i;return}d=k[k[d>>2]>>2]|0;if((k[h>>2]|0)>0){od(d,k[f>>2]|0,k[g>>2]|0);r=i;return}else{od(d+4|0,k[f>>2]|0,k[g>>2]|0);r=i;return}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;od(k[e>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[d>>2]|0);r=c;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}if(k[k[d>>2]>>2]|0)qd(k[k[d>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0);c=(k[d>>2]|0)+16|0;ic[k[e>>2]&255](k[(k[d>>2]|0)+8>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[f>>2]|0);if(!(k[(k[d>>2]|0)+4>>2]|0)){r=g;return}qd(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;qd(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function sd(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}nd(k[(k[b>>2]|0)+8>>2]|0);if(k[k[b>>2]>>2]|0)sd(k[k[b>>2]>>2]|0);if(k[(k[b>>2]|0)+4>>2]|0)sd(k[(k[b>>2]|0)+4>>2]|0);nd(k[b>>2]|0);r=c;return}function td(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sd(k[k[c>>2]>>2]|0);r=b;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;h=k[h>>2]|0;a=k[h+4>>2]|0;b=d;k[b>>2]=k[h>>2];k[b+4>>2]=a;g=k[g>>2]|0;b=k[g+4>>2]|0;a=e;k[a>>2]=k[g>>2];k[a+4>>2]=b;a=d;b=e;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[c>>2]=0;h=k[c>>2]|0;r=f;return h|0}g=d;b=k[g+4>>2]|0;h=e;e=k[h+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(k[g>>2]|0)>>>0<(k[h>>2]|0)>>>0:0)){k[c>>2]=-1;h=k[c>>2]|0;r=f;return h|0}else{k[c>>2]=1;h=k[c>>2]|0;r=f;return h|0}return 0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;p[d>>3]=+p[k[h>>2]>>3];p[e>>3]=+p[k[g>>2]>>3];do if(!(+p[d>>3]==+p[e>>3]))if(+p[d>>3]<+p[e>>3]){k[c>>2]=-1;break}else{k[c>>2]=1;break}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[c>>2]=a;k[f>>2]=b;k[e>>2]=0;while(1){if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;if(!((FQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)!=0^1))break;k[e>>2]=(k[e>>2]|0)+1}if(!(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)){sR(k[f>>2]|0,16975)|0;r=h;return}b=(KQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)&255;i[k[f>>2]>>0]=b;k[g>>2]=1;while(1){if((k[g>>2]|0)>=4)break;if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;k[d>>2]=l[16847+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]&127)>>0];if((k[d>>2]|0)>0){a=(k[d>>2]|0)+48&255;b=k[g>>2]|0;k[g>>2]=b+1;i[(k[f>>2]|0)+b>>0]=a}k[e>>2]=(k[e>>2]|0)+1}while(1){c=k[g>>2]|0;if((k[g>>2]|0)>=4)break;k[g>>2]=c+1;i[(k[f>>2]|0)+c>>0]=48}i[(k[f>>2]|0)+c>>0]=0;r=h;return}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=k[b>>2]|0;k[b>>2]=a+1;k[c>>2]=l[a>>0];k[d>>2]=l[16980+(k[c>>2]|0)>>0];switch(k[d>>2]|0){case 4:{k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}case 3:{a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);e=4;break}case 2:{e=4;break}case 1:break;default:{e=k[c>>2]|0;r=f;return e|0}}if((e|0)==4){a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0)}a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);k[c>>2]=(k[c>>2]|0)-(k[936+(k[d>>2]<<2)>>2]|0);if(((k[952+(k[d>>2]<<2)>>2]&k[c>>2]|0)!=0?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){e=k[c>>2]|0;r=f;return e|0}k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}function yd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*180.0/3.141592653589793)}function zd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*3.141592653589793/180.0)}function Ad(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+$(+(+p[c>>3]));r=b;return +a}function Bd(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+_Q(+p[c>>3]);r=b;return +a}function Cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;g=t+32|0;h=t+28|0;j=t+24|0;l=t+20|0;o=t+16|0;p=t+12|0;q=t+8|0;m=t+4|0;n=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[o>>2]=-1;if(!(i[k[f>>2]>>0]|0)){k[e>>2]=-1;s=k[e>>2]|0;r=t;return s|0}a:while(1){if(!(xd(k[g>>2]|0)|0))break;b=k[l>>2]|0;k[l>>2]=b+1;if((b|0)>=(k[h>>2]|0))break;while(1){b=(k[g>>2]|0)+1|0;k[g>>2]=b;if((192&i[b>>0]|0)!=128)continue a}}k[l>>2]=0;while(1){if(!(xd(k[g>>2]|0)|0))break;k[p>>2]=k[f>>2];k[q>>2]=k[g>>2];do{b=xd(k[p>>2]|0)|0;k[m>>2]=b;b=xd(k[q>>2]|0)|0;k[n>>2]=b;do{b=(k[p>>2]|0)+1|0;k[p>>2]=b}while((192&i[b>>0]|0)==128);do{b=(k[q>>2]|0)+1|0;k[q>>2]=b}while((192&i[b>>0]|0)==128)}while(((k[m>>2]|0)!=0?(k[m>>2]|0)==(k[n>>2]|0):0)&(k[n>>2]|0)!=0);if(!(k[m>>2]|0)){s=14;break}do{b=(k[g>>2]|0)+1|0;k[g>>2]=b}while((192&i[b>>0]|0)==128);k[l>>2]=(k[l>>2]|0)+1}if((s|0)==14)k[o>>2]=k[l>>2];if(k[j>>2]|0)k[k[j>>2]>>2]=k[g>>2];s=k[o>>2]|0;k[e>>2]=(k[o>>2]|0)>=0?s+(k[h>>2]|0)|0:s;s=k[e>>2]|0;r=t;return s|0}function Dd(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Sd((uR(k[c>>2]|0)|0)+1|0)|0;k[d>>2]=a;a=sR(k[d>>2]|0,k[c>>2]|0)|0;r=b;return a|0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if((k[d>>2]|0)>=0)k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);else k[e>>2]=-1;if((k[c>>2]|0)>>>0>(k[e>>2]|0)>>>0)$a(17516,16734,316,17525);while(1){if(!(i[k[c>>2]>>0]|0)){c=10;break}if((k[c>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}k[c>>2]=(k[c>>2]|0)+((l[16980+(l[k[c>>2]>>0]|0)>>0]|0)+1);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;j=i+32|0;g=i+16|0;l=i+28|0;f=i+8|0;e=i;h=i+24|0;k[j>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[h>>2]=k[l>>2];d=(k[h>>2]|0)+48|0;b=k[j>>2]|0;if(0==(k[d>>2]|0)?0==(k[d+4>>2]|0):0){l=k[b>>2]|0;j=f;k[j>>2]=l;k[j+4>>2]=((l|0)<0)<<31>>31;j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;e=k[l+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}l=k[f+4>>2]|0;j=k[h>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=l;j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}else{p[e>>3]=+p[b>>3];j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;f=k[l+4>>2]|0;if(!((d|0)<(f|0)|((d|0)==(f|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}p[(k[h>>2]|0)+8>>3]=+p[e>>3];j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}}function Gd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;k[b>>2]=a;c=Ge(k[b>>2]|0,0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){r=e;return}if(!(k[(k[d>>2]|0)+56>>2]|0)){r=e;return}k[(k[d>>2]|0)+60>>2]=0;rd(k[(k[d>>2]|0)+56>>2]|0,132,k[d>>2]|0);td(k[(k[d>>2]|0)+56>>2]|0);UR(k[(k[d>>2]|0)+56>>2]|0);c=(k[d>>2]|0)+48|0;if(!(0==(k[c>>2]|0)?0==(k[c+4>>2]|0):0)){c=(k[d>>2]|0)+40|0;re(k[b>>2]|0,+p[(k[d>>2]|0)+8>>3]/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0)));r=e;return}f=(k[d>>2]|0)+40|0;b=k[b>>2]|0;c=k[d>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0;if(1==(k[f>>2]|0)?0==(k[f+4>>2]|0):0){ue(b,a,c);r=e;return}else{f=(k[d>>2]|0)+40|0;re(b,(+(a>>>0)+4294967296.0*+(c|0))*1.0/(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0)));r=e;return}}function Hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;g=o+56|0;j=o+32|0;q=o+52|0;m=o+24|0;l=o+16|0;e=o+8|0;h=o;f=o+48|0;i=o+44|0;n=o+40|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[q>>2]=d;k[n>>2]=k[q>>2];if((k[(k[n>>2]|0)+60>>2]|0)>0){r=o;return}p[e>>3]=+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+16|0;p[h>>3]=+((k[q>>2]|0)>>>0)+4294967296.0*+(k[q+4>>2]|0)-+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+32|0;d=j;d=$R(k[q>>2]|0,k[q+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[f>>2]=d;d=(k[n>>2]|0)+16|0;q=(k[n>>2]|0)+32|0;q=_R(k[d>>2]|0,k[d+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[i>>2]=q;do if(+(k[f>>2]|0)>=+p[e>>3]){b=k[n>>2]|0;if(!(+(k[i>>2]|0)>=+p[h>>3])){k[b+60>>2]=1;break}q=b+40|0;b=q;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[q>>2]=b;k[q+4>>2]=L;q=(k[n>>2]|0)+48|0;b=k[g>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){l=k[b>>2]|0;q=m;k[q>>2]=l;k[q+4>>2]=((l|0)<0)<<31>>31;q=k[n>>2]|0;l=q;m=$R(k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=m;k[q+4>>2]=L;break}else{p[l>>3]=+p[b>>3];q=(k[n>>2]|0)+8|0;p[q>>3]=+p[q>>3]+ +p[l>>3];break}}while(0);m=j;q=(k[n>>2]|0)+32|0;n=q;n=$R(k[n>>2]|0,k[n+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=n;k[q+4>>2]=L;r=o;return}function Id(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(!(Jd(k[b>>2]|0,17605,7)|0))k[b>>2]=(k[b>>2]|0)+7;a=Tf(k[b>>2]|0)|0;k[d>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=8){b=9;break}if((Jd(k[b>>2]|0,k[976+(k[c>>2]<<2)>>2]|0,k[d>>2]|0)|0)==0?(Uf(i[(k[976+(k[c>>2]<<2)>>2]|0)+(k[d>>2]|0)>>0]|0)|0)==0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[e>>2]|0;if(!(k[d>>2]|0)){k[i>>2]=(c|0)!=0?-1:0;i=k[i>>2]|0;r=j;return i|0}if(!c){k[i>>2]=1;i=k[i>>2]|0;r=j;return i|0}k[g>>2]=k[d>>2];k[h>>2]=k[e>>2];while(1){e=k[f>>2]|0;k[f>>2]=e+-1;if((e|0)<=0)break;if(!(l[k[g>>2]>>0]|0))break;if((l[17613+(l[k[g>>2]>>0]|0)>>0]|0|0)!=(l[17613+(l[k[h>>2]>>0]|0)>>0]|0|0))break;k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)<0)c=0;else c=(l[17613+(l[k[g>>2]>>0]|0)>>0]|0)-(l[17613+(l[k[h>>2]>>0]|0)>>0]|0)|0;k[i>>2]=c;i=k[i>>2]|0;r=j;return i|0}function Kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)>=0&(k[c>>2]|0)<8){k[b>>2]=k[976+(k[c>>2]<<2)>>2];a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[f>>2]|0)<0|(k[f>>2]|0)>=10){j=Vf(18365)|0;k[e>>2]=j;j=k[e>>2]|0;r=l;return j|0}if(i[17869+(k[f>>2]|0)>>0]|0)a=Wf()|0;else a=Xf()|0;k[l>>2]=a;g=k[g>>2]|0;k[g>>2]=k[1008+(k[f>>2]<<2)>>2];k[g+4>>2]=0;h=k[h>>2]|0;k[h>>2]=k[1048+(k[f>>2]<<2)>>2];k[h+4>>2]=0;if(k[j>>2]|0)k[1048+(k[f>>2]<<2)>>2]=k[1008+(k[f>>2]<<2)>>2];k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=0;a=Nd()|0;k[f>>2]=a;if(k[f>>2]|0){k[b>>2]=0;f=k[b>>2]|0;r=e;return f|0}k[d>>2]=k[272];while(1){if((k[d>>2]|0)==0|(k[c>>2]|0)==0)break;if(!(rR(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0))break;k[d>>2]=k[(k[d>>2]|0)+12>>2]}k[b>>2]=k[d>>2];f=k[b>>2]|0;r=e;return f|0}function Nd(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+4|0;b=d;if(k[59]|0){k[a>>2]=0;e=k[a>>2]|0;r=d;return e|0}k[b>>2]=0;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}k[61]=1;if(!(k[62]|0)){e=cg()|0;k[b>>2]=e}if(((k[b>>2]|0)==0?(k[62]=1,(k[65]|0)==0):0)?(k[65]=8,!((k[3]|0)==0|(k[65]|0)!=0)):0)k[b>>2]=7;if(!(k[b>>2]|0))k[64]=(k[64]|0)+1;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}if((k[59]|0)==0&(k[60]|0)==0){k[60]=1;c=1092;e=c+92|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(e|0));dg();if(!(k[63]|0)){e=eg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){k[63]=1;e=fg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){gg(k[53]|0,k[54]|0,k[55]|0);k[59]=1}k[60]=0}k[64]=(k[64]|0)+-1;if((k[64]|0)<=0)k[65]=0;k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;a=Nd()|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];f=k[d>>2]|0;r=g;return f|0}hg(k[e>>2]|0);b=k[272]|0;if((k[f>>2]|0)!=0|(k[272]|0)==0){k[(k[e>>2]|0)+12>>2]=b;k[272]=k[e>>2]}else{k[(k[e>>2]|0)+12>>2]=k[b+12>>2];k[(k[272]|0)+12>>2]=k[e>>2]}k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Pd(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+48|0;d=h+32|0;e=h+24|0;g=h+16|0;f=h+8|0;c=h;i=h+40|0;j=e;k[j>>2]=a;k[j+4>>2]=b;b=Nd()|0;k[i>>2]=b;if(k[i>>2]|0){i=d;k[i>>2]=-1;k[i+4>>2]=-1;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=296;i=k[b+4>>2]|0;j=g;k[j>>2]=k[b>>2];k[j+4>>2]=i;if((k[e+4>>2]|0)<0){j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=e;j=k[b+4>>2]|0;i=296;k[i>>2]=k[b>>2];k[i+4>>2]=j;i=ig(0)|0;j=c;k[j>>2]=i;k[j+4>>2]=L;j=e;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0){j=e;b=k[j+4>>2]|0;a=c;i=k[a+4>>2]|0;a=(b|0)<(i|0)|((b|0)==(i|0)?(k[j>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)}else a=0;k[79]=a&1;j=Rd()|0;i=e;i=_R(j|0,L|0,k[i>>2]|0,k[i+4>>2]|0)|0;j=f;k[j>>2]=i;k[j+4>>2]=L;j=f;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0)Pd(k[f>>2]&2147483647)|0;j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}function Rd(){var a=0,b=0;b=r;r=r+16|0;a=b+8|0;Ld(0,a,b,0)|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Sd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d+4|0;b=d;k[b>>2]=a;if(Nd()|0){k[c>>2]=0;c=k[c>>2]|0;r=d;return c|0}if((k[b>>2]|0)<=0)b=0;else{b=k[b>>2]|0;b=jg(b,((b|0)<0)<<31>>31)|0}k[c>>2]=b;c=k[c>>2]|0;r=d;return c|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e;f=d;k[f>>2]=a;k[f+4>>2]=b;if(Nd()|0){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{f=d;f=jg(k[f>>2]|0,k[f+4>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}return 0}function Ud(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}if(k[2]|0){lg(0,kg(k[b>>2]|0)|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=c;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=c;return}}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)<0)k[e>>2]=0;a=k[e>>2]|0;a=mg(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(Nd()|0){k[d>>2]=0;a=k[d>>2]|0;r=g;return a|0}else{a=f;a=mg(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[d>>2]=a;a=k[d>>2]|0;r=g;return a|0}return 0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+128|0;c=h+40|0;d=h+36|0;e=h+32|0;g=h+28|0;f=h;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}else{ng(f,0,h+44|0,70,1e9);og(f,k[d>>2]|0,k[e>>2]|0);a=pg(f)|0;k[g>>2]=a;k[c>>2]=k[g>>2];a=k[c>>2]|0;r=h;return a|0}return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+28|0;d=g+24|0;e=g+8|0;f=g;k[d>>2]=a;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}else{k[e>>2]=b;a=Xd(k[d>>2]|0,e)|0;k[f>>2]=a;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}return 0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+48|0;e=j+44|0;f=j+40|0;l=j+36|0;g=j+32|0;h=j+28|0;i=j;k[f>>2]=a;k[l>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[l>>2]|0;if((k[f>>2]|0)<=0){k[e>>2]=d;l=k[e>>2]|0;r=j;return l|0}else{ng(i,0,d,k[f>>2]|0,0);og(i,k[g>>2]|0,k[h>>2]|0);l=pg(i)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}return 0}function _d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;j=f+28|0;i=f+24|0;h=f+20|0;e=f+16|0;g=f;k[j>>2]=a;k[i>>2]=b;k[h>>2]=c;k[g>>2]=d;c=Zd(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,g)|0;k[e>>2]=c;r=f;return k[e>>2]|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[66]|0)){r=g;return}k[f>>2]=c;qg(k[d>>2]|0,k[e>>2]|0,f);r=g;return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+288|0;c=j+12|0;d=j+8|0;g=j+272|0;h=j+4|0;e=j;f=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[d>>2];if(Nd()|0){r=j;return}if((k[c>>2]|0)<=0|(k[d>>2]|0)==0){i[17879]=0;r=j;return}if(!(i[17879]|0)){i[17881]=0;i[17880]=0;rg(Md(0)|0,256,f)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[17882+(k[e>>2]|0)>>0]=k[e>>2];k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[17881]=(l[17881]|0)+((l[17882+(k[e>>2]|0)>>0]|0)+(i[f+(k[e>>2]|0)>>0]|0));i[g>>0]=i[17882+(l[17881]|0)>>0]|0;i[17882+(l[17881]|0)>>0]=i[17882+(k[e>>2]|0)>>0]|0;i[17882+(k[e>>2]|0)>>0]=i[g>>0]|0;k[e>>2]=(k[e>>2]|0)+1}i[17879]=1}do{i[17880]=(i[17880]|0)+1<<24>>24;i[g>>0]=i[17882+(l[17880]|0)>>0]|0;i[17881]=(l[17881]|0)+(l[g>>0]|0);i[17882+(l[17880]|0)>>0]=i[17882+(l[17881]|0)>>0]|0;i[17882+(l[17881]|0)>>0]=i[g>>0]|0;i[g>>0]=(l[g>>0]|0)+(l[17882+(l[17880]|0)>>0]|0);f=i[17882+(l[g>>0]|0)>>0]|0;b=k[h>>2]|0;k[h>>2]=b+1;i[b>>0]=f;b=(k[c>>2]|0)+-1|0;k[c>>2]=b}while((b|0)!=0);r=j;return}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;do if(k[d>>2]|0)if(!a){k[c>>2]=1;break}else{e=sg(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=e;break}else k[c>>2]=(a|0)!=0?-1:0;while(0);r=f;return k[c>>2]|0}function ce(){var a=0,b=0;b=r;r=r+16|0;a=b;k[a>>2]=0;while(1){if((k[a>>2]|0)>>>0>=4)break;Od(1184+((k[a>>2]|0)*88|0)|0,(k[a>>2]|0)==0&1)|0;k[a>>2]=(k[a>>2]|0)+1}r=b;return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+112|0;q=E+108|0;c=E+104|0;C=E+100|0;d=E+96|0;B=E+92|0;o=E+88|0;z=E+84|0;x=E+80|0;g=E+76|0;j=E+72|0;s=E+68|0;f=E+64|0;n=E+60|0;h=E+56|0;p=E+52|0;v=E+16|0;y=E+48|0;e=E+44|0;i=E+40|0;u=E+8|0;t=E;m=E+36|0;A=E+32|0;w=E+28|0;D=E+24|0;k[q>>2]=a;k[c>>2]=b;k[B>>2]=0;k[o>>2]=0;wg(k[(k[q>>2]|0)+24>>2]|0);k[C>>2]=k[(k[q>>2]|0)+28>>2];if(xg(k[C>>2]|0)|0){D=k[C>>2]|0;r=E;return D|0}a=Zf(k[(k[q>>2]|0)+24>>2]|0)|0;k[z>>2]=a;a=Zf(k[(k[q>>2]|0)+4>>2]|0)|0;k[x>>2]=a;k[j>>2]=-1;k[s>>2]=0;if((k[k[q>>2]>>2]|0)!=0?(l[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)k[C>>2]=5;else k[C>>2]=0;if((k[C>>2]|0)==0?0==(yg(k[(k[q>>2]|0)+24>>2]|0)|0):0){a=zg(k[(k[q>>2]|0)+24>>2]|0,0)|0;k[C>>2]=a;k[s>>2]=1}if(((k[C>>2]|0)==0?(k[(k[q>>2]|0)+12>>2]|0)==0:0)?(Ag(k[q>>2]|0)|0)==7:0)k[C>>2]=7;if((0==(k[C>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==0:0)?(a=zg(k[(k[q>>2]|0)+4>>2]|0,2)|0,k[C>>2]=a,0==(a|0)):0){k[(k[q>>2]|0)+12>>2]=1;Bg(k[(k[q>>2]|0)+4>>2]|0,1,(k[q>>2]|0)+8|0)}a=Cg(k[(k[q>>2]|0)+24>>2]|0)|0;k[B>>2]=a;a=Cg(k[(k[q>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=Dg(Zf(k[(k[q>>2]|0)+4>>2]|0)|0)|0;k[d>>2]=a;if(0==(k[C>>2]|0)&(k[d>>2]|0)==5?(k[B>>2]|0)!=(k[o>>2]|0):0)k[C>>2]=8;a=Eg(k[(k[q>>2]|0)+24>>2]|0)|0;k[j>>2]=a;k[g>>2]=0;while(1){if((k[c>>2]|0)>=0?(k[g>>2]|0)>=(k[c>>2]|0):0)break;if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0)break;if(!((k[C>>2]|0)!=0^1))break;k[f>>2]=k[(k[q>>2]|0)+16>>2];if((k[f>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(a=Fg(k[z>>2]|0,k[f>>2]|0,n,2)|0,k[C>>2]=a,(k[C>>2]|0)==0):0){b=k[q>>2]|0;a=k[f>>2]|0;a=Hg(b,a,Gg(k[n>>2]|0)|0,0)|0;k[C>>2]=a;Ig(k[n>>2]|0)}a=(k[q>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}do if(!(k[C>>2]|0)){k[(k[q>>2]|0)+36>>2]=k[j>>2];k[(k[q>>2]|0)+32>>2]=(k[j>>2]|0)+1-(k[(k[q>>2]|0)+16>>2]|0);if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0){k[C>>2]=101;break}if(!(k[(k[q>>2]|0)+40>>2]|0))Jg(k[q>>2]|0)}while(0);if((k[C>>2]|0)==101){if(!(k[j>>2]|0)){n=Kg(k[(k[q>>2]|0)+4>>2]|0)|0;k[C>>2]=n;k[j>>2]=1}if((k[C>>2]|0)==0|(k[C>>2]|0)==101){n=Lg(k[(k[q>>2]|0)+4>>2]|0,1,(k[(k[q>>2]|0)+8>>2]|0)+1|0)|0;k[C>>2]=n}if(!(k[C>>2]|0)){if(k[k[q>>2]>>2]|0)Mg(k[k[q>>2]>>2]|0);if((k[d>>2]|0)==5){n=Ng(k[(k[q>>2]|0)+4>>2]|0,2)|0;k[C>>2]=n}}if(!(k[C>>2]|0)){if((k[B>>2]|0)<(k[o>>2]|0)){k[p>>2]=(k[o>>2]|0)/(k[B>>2]|0)|0;k[h>>2]=((k[j>>2]|0)+(k[p>>2]|0)-1|0)/(k[p>>2]|0)|0;if((k[h>>2]|0)==((((k[384]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+-1}else{p=ha(k[j>>2]|0,(k[B>>2]|0)/(k[o>>2]|0)|0)|0;k[h>>2]=p}if((k[B>>2]|0)<(k[o>>2]|0)){p=k[B>>2]|0;n=k[j>>2]|0;n=kS(p|0,((p|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;p=v;k[p>>2]=n;k[p+4>>2]=L;p=Og(k[x>>2]|0)|0;k[y>>2]=p;Pg(k[x>>2]|0,i);k[e>>2]=k[h>>2];while(1){if(k[C>>2]|0)break;if((k[e>>2]|0)>>>0>(k[i>>2]|0)>>>0)break;do if((k[e>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){p=Fg(k[x>>2]|0,k[e>>2]|0,m,0)|0;k[C>>2]=p;if(k[C>>2]|0)break;p=Qg(k[m>>2]|0)|0;k[C>>2]=p;Ig(k[m>>2]|0)}while(0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[C>>2]|0)){p=Rg(k[x>>2]|0,0,1)|0;k[C>>2]=p}n=(k[384]|0)+(k[o>>2]|0)|0;a=((n|0)<0)<<31>>31;p=v;m=k[p+4>>2]|0;if((a|0)<(m|0)|((a|0)==(m|0)?n>>>0<(k[p>>2]|0)>>>0:0)){d=(k[384]|0)+(k[o>>2]|0)|0;c=d;d=((d|0)<0)<<31>>31}else{d=v;c=k[d>>2]|0;d=k[d+4>>2]|0}o=t;k[o>>2]=c;k[o+4>>2]=d;o=(k[384]|0)+(k[B>>2]|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=((o|0)<0)<<31>>31;while(1){if(k[C>>2]|0)break;o=u;m=k[o+4>>2]|0;p=t;n=k[p+4>>2]|0;if(!((m|0)<(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0)))break;k[A>>2]=0;o=u;p=k[B>>2]|0;p=iS(k[o>>2]|0,k[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=$R(p|0,L|0,1,0)|0;k[w>>2]=p;p=Fg(k[z>>2]|0,k[w>>2]|0,A,0)|0;k[C>>2]=p;if(!(k[C>>2]|0)){p=Gg(k[A>>2]|0)|0;k[D>>2]=p;p=u;p=Sg(k[y>>2]|0,k[D>>2]|0,k[B>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[C>>2]=p}Ig(k[A>>2]|0);o=k[B>>2]|0;p=u;o=$R(k[p>>2]|0,k[p+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=L}if(!(k[C>>2]|0)){D=v;D=Tg(k[y>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Ug(k[x>>2]|0,0)|0;k[C>>2]=D}}else{Vg(k[x>>2]|0,k[h>>2]|0);D=Rg(k[x>>2]|0,0,0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Wg(k[(k[q>>2]|0)+4>>2]|0,0)|0;k[C>>2]=D;k[C>>2]=0==(D|0)?101:D}}}if(k[s>>2]|0){Xg(k[(k[q>>2]|0)+24>>2]|0,0)|0;Wg(k[(k[q>>2]|0)+24>>2]|0,0)|0}if((k[C>>2]|0)==3082)k[C>>2]=7;k[(k[q>>2]|0)+28>>2]=k[C>>2];D=k[C>>2]|0;r=E;return D|0}function ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;b=g+8|0;e=g+4|0;f=g;k[d>>2]=a;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}k[e>>2]=k[(k[d>>2]|0)+20>>2];wg(k[(k[d>>2]|0)+24>>2]|0);if(k[k[d>>2]>>2]|0){a=(k[(k[d>>2]|0)+24>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1}if(k[(k[d>>2]|0)+40>>2]|0){a=Yg(Zf(k[(k[d>>2]|0)+24>>2]|0)|0)|0;k[b>>2]=a;while(1){if((k[k[b>>2]>>2]|0)==(k[d>>2]|0))break;k[b>>2]=(k[k[b>>2]>>2]|0)+44}k[k[b>>2]>>2]=k[(k[d>>2]|0)+44>>2]}Zg(k[(k[d>>2]|0)+4>>2]|0,0,0)|0;if((k[(k[d>>2]|0)+28>>2]|0)==101)a=0;else a=k[(k[d>>2]|0)+28>>2]|0;k[f>>2]=a;if(k[k[d>>2]>>2]|0){vg(k[k[d>>2]>>2]|0,k[f>>2]|0);_g(k[k[d>>2]>>2]|0)}if(k[k[d>>2]>>2]|0)Ud(k[d>>2]|0);_g(k[e>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}function fe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;if(!(k[c>>2]|0))k[e>>2]=0;else{k[f>>2]=k[c>>2];k[d>>2]=k[k[f>>2]>>2];if($g(k[f>>2]|0)|0){f=Vf(75223)|0;k[b>>2]=f;f=k[b>>2]|0;r=g;return f|0}a=(k[f>>2]|0)+128|0;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0)ah(k[d>>2]|0,k[f>>2]|0);f=bh(k[f>>2]|0)|0;k[e>>2]=f;f=ch(k[d>>2]|0,k[e>>2]|0)|0;k[e>>2]=f;_g(k[d>>2]|0)}k[b>>2]=k[e>>2];f=k[b>>2]|0;r=g;return f|0}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=0;e=k[d>>2]|0;r=f;return e|0}k[e>>2]=k[b>>2];k[c>>2]=k[k[e>>2]>>2];a=(k[e>>2]|0)+128|0;b=k[a+4>>2]|0;if((b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0)ah(k[c>>2]|0,k[e>>2]|0);a=dh(k[e>>2]|0)|0;k[d>>2]=a;eh(k[e>>2]|0);e=ch(k[c>>2]|0,k[d>>2]|0)|0;k[d>>2]=e;e=k[d>>2]|0;r=f;return e|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;d=e+4|0;c=e;k[f>>2]=a;k[d>>2]=0;k[c>>2]=k[f>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(j[(k[c>>2]|0)+16>>1]|0))break;fh((k[(k[c>>2]|0)+116>>2]|0)+((k[b>>2]|0)*40|0)|0);j[(k[(k[c>>2]|0)+116>>2]|0)+((k[b>>2]|0)*40|0)+8>>1]=1;k[b>>2]=(k[b>>2]|0)+1}if(!((m[(k[c>>2]|0)+144>>1]|0)>>>9&1)){f=k[d>>2]|0;r=e;return f|0}if(!(k[(k[c>>2]|0)+196>>2]|0)){f=k[d>>2]|0;r=e;return f|0}f=(k[c>>2]|0)+144|0;j[f>>1]=j[f>>1]&-2|1;f=k[d>>2]|0;r=e;return f|0}function ie(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){c=je(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}if((m[(k[c>>2]|0)+8>>1]|0)&16384)b=gh(k[c>>2]|0)|0;else b=0;if(b){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|16;if(k[(k[c>>2]|0)+12>>2]|0)b=k[(k[c>>2]|0)+16>>2]|0;else b=0;k[d>>2]=b;d=k[d>>2]|0;r=e;return d|0}function je(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=hh(k[c>>2]|0,1)|0;r=b;return a|0}function ke(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ih(k[c>>2]|0,1)|0;r=b;return a|0}function le(a){a=a|0;var b=0.0,c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;b=+jh(k[d>>2]|0);r=c;return +b}function me(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=kh(k[c>>2]|0)|0;r=b;return a|0}function ne(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=kh(k[c>>2]|0)|0;r=b;return a|0}function oe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[18138+((m[(k[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;nh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0,k[f>>2]|0);r=e;return}function qe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;b=h;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){oh(k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;r=j;return}else{nh(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,k[i>>2]|0);r=j;return}}function re(a,b){a=a|0;b=+b;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;p[d>>3]=b;ph(k[k[e>>2]>>2]|0,+p[d>>3]);r=c;return}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[g>>2]|0)+20>>2]=1;i[(k[g>>2]|0)+25>>0]=1;qh(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0,1,-1)|0;r=d;return}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;rh(k[k[d>>2]>>2]|0,a,((a|0)<0)<<31>>31);r=c;return}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;rh(k[k[e>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=d;return}function ve(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sh(k[k[c>>2]>>2]|0);r=b;return}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;nh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1,k[f>>2]|0);r=e;return}function xe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+16|0;h=o+12|0;j=o;m=o+8|0;n=o+20|0;k[g>>2]=a;k[h>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[m>>2]=e;i[n>>0]=f;if((l[n>>0]|0)==4)i[n>>0]=(i[968]|0)==0?3:2;b=j;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){oh(k[h>>2]|0,k[m>>2]|0,k[g>>2]|0)|0;r=o;return}else{nh(k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0);r=o;return}}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;th(k[k[e>>2]>>2]|0,k[d>>2]|0)|0;r=c;return}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g+12|0;f=g;i=g+8|0;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;k[i>>2]=k[k[e>>2]>>2];c=f;h=k[c+4>>2]|0;a=k[(k[(k[i>>2]|0)+32>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if(h>>>0>b>>>0|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){k[d>>2]=18;i=k[d>>2]|0;r=g;return i|0}else{uh(k[k[e>>2]>>2]|0,k[f>>2]|0);k[d>>2]=0;i=k[d>>2]|0;r=g;return i|0}return 0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+20>>2]=k[d>>2];i[(k[c>>2]|0)+25>>0]=1;if(!((m[(k[k[c>>2]>>2]|0)+8>>1]|0)&1)){r=e;return}a=k[k[c>>2]>>2]|0;qh(a,vh(k[d>>2]|0)|0,-1,1,0)|0;r=e;return}function Be(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=18;i[(k[c>>2]|0)+25>>0]=1;qh(k[k[c>>2]>>2]|0,18170,-1,1,0)|0;r=b;return}function Ce(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sh(k[k[c>>2]>>2]|0);k[(k[c>>2]|0)+20>>2]=7;i[(k[c>>2]|0)+25>>0]=1;wh(k[(k[k[c>>2]>>2]|0)+32>>2]|0);r=b;return}function De(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+48|0;b=n+32|0;c=n+28|0;f=n+24|0;g=n+20|0;l=n+16|0;d=n+12|0;e=n+8|0;h=n+4|0;m=n;k[c>>2]=a;k[f>>2]=0;k[g>>2]=0;k[l>>2]=k[c>>2];k[d>>2]=0;if(xh(k[l>>2]|0)|0){m=Vf(75775)|0;k[b>>2]=m;m=k[b>>2]|0;r=n;return m|0}k[e>>2]=k[k[l>>2]>>2];a=(k[l>>2]|0)+144|0;j[a>>1]=j[a>>1]&-3;while(1){a=yh(k[l>>2]|0)|0;k[f>>2]=a;if((a|0)!=17)break;a=k[d>>2]|0;k[d>>2]=a+1;if((a|0)>=50)break;k[h>>2]=k[(k[l>>2]|0)+36>>2];a=zh(k[l>>2]|0)|0;k[f>>2]=a;k[g>>2]=a;if(k[f>>2]|0)break;ge(k[c>>2]|0)|0;if((k[h>>2]|0)<0)continue;a=(k[l>>2]|0)+144|0;j[a>>1]=j[a>>1]&-3|2}do if(k[g>>2]|0){h=je(k[(k[e>>2]|0)+244>>2]|0)|0;k[m>>2]=h;bg(k[e>>2]|0,k[(k[l>>2]|0)+108>>2]|0);if(i[(k[e>>2]|0)+69>>0]|0){k[(k[l>>2]|0)+108>>2]=0;k[f>>2]=7;k[(k[l>>2]|0)+40>>2]=7;break}else{m=Ah(k[e>>2]|0,k[m>>2]|0)|0;k[(k[l>>2]|0)+108>>2]=m;k[(k[l>>2]|0)+40>>2]=k[g>>2];break}}while(0);m=ch(k[e>>2]|0,k[f>>2]|0)|0;k[f>>2]=m;k[b>>2]=k[f>>2];m=k[b>>2]|0;r=n;return m|0}function Ee(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+4>>2]|0}function Fe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[k[b>>2]>>2]|0)+32>>2]|0}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;b=k[f>>2]|0;if(!((m[(k[(k[f>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){f=Bh(b,k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=k[(k[b+8>>2]|0)+16>>2];f=k[c>>2]|0;r=e;return f|0}return 0}function He(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=m[(k[b>>2]|0)+140>>1]|0;r=c;return d|0}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=k[e>>2];if((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+104>>2]|0)!=0:0){k[b>>2]=m[(k[c>>2]|0)+140>>1];e=k[b>>2]|0;r=d;return e|0}k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ie(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ke(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0;d=r;r=r+16|0;e=d+12|0;g=d+8|0;c=d;k[e>>2]=a;k[g>>2]=b;f=+le(Dh(k[e>>2]|0,k[g>>2]|0)|0);p[c>>3]=f;Eh(k[e>>2]|0);r=d;return +(+p[c>>3])}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=me(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+12|0;f=c+8|0;d=c;k[e>>2]=a;k[f>>2]=b;b=ne(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;a=d;k[a>>2]=b;k[a+4>>2]=L;Eh(k[e>>2]|0);a=d;L=k[a+4>>2]|0;r=c;return k[a>>2]|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=je(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Dh(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(!((m[(k[d>>2]|0)+8>>1]|0)&2048)){f=k[c>>2]|0;Eh(f);f=k[d>>2]|0;r=e;return f|0}f=(k[d>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-2049;f=(k[d>>2]|0)+8|0;j[f>>1]=m[f>>1]|0|4096;f=k[c>>2]|0;Eh(f);f=k[d>>2]|0;r=e;return f|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=oe(Dh(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Eh(k[e>>2]|0);r=d;return k[c>>2]|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Fh(k[e>>2]|0,k[d>>2]|0,169,0)|0;r=c;return a|0}function Se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Gh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0)|0;r=f;return c|0}function Te(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;d=h+16|0;e=h;g=h+12|0;f=h+8|0;k[i>>2]=a;k[d>>2]=b;p[e>>3]=c;k[f>>2]=k[i>>2];a=Hh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}ph((k[(k[f>>2]|0)+116>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,+p[e>>3]);i=k[g>>2]|0;r=h;return i|0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;a=Ve(k[f>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;r=d;return a|0}function Ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i+16|0;f=i;h=i+12|0;g=i+8|0;k[j>>2]=a;k[e>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=k[j>>2];a=Hh(k[g>>2]|0,k[e>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=f;rh((k[(k[g>>2]|0)+116>>2]|0)+(((k[e>>2]|0)-1|0)*40|0)|0,k[j>>2]|0,k[j+4>>2]|0);j=k[h>>2]|0;r=i;return j|0}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[g>>2];a=Hh(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Gh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1)|0;r=f;return c|0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(oe(k[f>>2]|0)|0){case 1:{f=k[f>>2]|0;f=Ve(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 2:{f=Te(k[d>>2]|0,k[e>>2]|0,+p[k[f>>2]>>3])|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 4:{a=k[d>>2]|0;d=k[e>>2]|0;b=k[f>>2]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16384){f=Ze(a,d,k[b>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}else{f=Se(a,d,k[b+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}case 3:{f=Gh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1,i[(k[f>>2]|0)+10>>0]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}default:{f=We(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}return 0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[i>>2];a=Hh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}uh((k[(k[f>>2]|0)+116>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,k[e>>2]|0);i=k[g>>2]|0;r=h;return i|0}function _e(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=j[(k[b>>2]|0)+16>>1]|0;r=c;return d|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;b=Ih(a,b,Tf(k[d>>2]|0)|0)|0;r=c;return b|0}function af(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+176>>2]|0;r=c;return d|0}function bf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=oe(k[b>>2]|0)|0;k[c>>2]=a;if((k[c>>2]|0)!=3){a=k[c>>2]|0;r=e;return a|0}k[d>>2]=k[b>>2];Lh(k[d>>2]|0,0);a=oe(k[b>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=e;return a|0}function cf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;n=Q+128|0;o=Q+124|0;G=Q+120|0;p=Q;q=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[G>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[H>>2]=h;k[x>>2]=0;k[K>>2]=0;k[O>>2]=0;k[J>>2]=0;k[I>>2]=0;k[k[H>>2]>>2]=0;k[q>>2]=((k[q>>2]|0)!=0^1^1)&1;c=Ch(k[F>>2]|0,36,0)|0;k[I>>2]=c;a:do if((k[I>>2]|0)!=0?(c=Mh(k[F>>2]|0,480,0)|0,k[J>>2]=c,(k[J>>2]|0)!=0):0){while(1){dS(k[J>>2]|0,0,480)|0;k[k[J>>2]>>2]=k[F>>2];bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=0;Yf(k[F>>2]|0);c=Nh(k[J>>2]|0,0,k[o>>2]|0,k[n>>2]|0)|0;k[A>>2]=c;if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&16|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[C>>2]=k[o>>2];Oh(c,18193,C)}if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&32|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[D>>2]=k[o>>2];Oh(c,18223,D)}if((k[A>>2]|0)!=0?(k[(k[A>>2]|0)+12>>2]|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[E>>2]=k[o>>2];Oh(c,18259,E)}if(!(k[A>>2]|0)){e=13;break}k[(k[I>>2]|0)+32>>2]=k[A>>2];c=Ph(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[(k[I>>2]|0)+28>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(c<<4)>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;if(!(sg(k[(k[(k[A>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0,k[G>>2]|0)|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(j[(k[A>>2]|0)+34>>1]|0)){e=21;break}if(k[q>>2]|0){k[P>>2]=0;b:do if(k[(k[F>>2]|0)+24>>2]&524288){k[y>>2]=k[(k[A>>2]|0)+16>>2];while(1){if(!(k[y>>2]|0))break b;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[(k[y>>2]|0)+20>>2]|0))break;if((k[(k[y>>2]|0)+36+(k[v>>2]<<3)>>2]|0)==(k[t>>2]|0))k[P>>2]=18301;k[v>>2]=(k[v>>2]|0)+1}k[y>>2]=k[(k[y>>2]|0)+4>>2]}}while(0);k[z>>2]=k[(k[A>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[z>>2]|0)+50>>1]|0))break;if(!((j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=(k[t>>2]|0)?(j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=-2:0))k[P>>2]=18313;k[w>>2]=(k[w>>2]|0)+1}k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(k[P>>2]|0){e=42;break}}c=Rh(k[J>>2]|0)|0;k[(k[I>>2]|0)+20>>2]=c;if(k[(k[I>>2]|0)+20>>2]|0){k[B>>2]=k[(k[I>>2]|0)+20>>2];c=Ph(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[u>>2]=c;Sh(k[B>>2]|0,2,k[u>>2]|0,k[q>>2]|0,k[k[(k[A>>2]|0)+64>>2]>>2]|0,k[(k[(k[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Th(k[B>>2]|0,1);c=Uh(k[B>>2]|0,9,18355,0)|0;k[s>>2]=c;Vh(k[B>>2]|0,k[u>>2]|0);if(!(l[(k[F>>2]|0)+69>>0]|0)){k[(k[s>>2]|0)+4>>2]=k[u>>2];k[(k[s>>2]|0)+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+12>>2]=k[q>>2];Wh(k[B>>2]|0,1,k[k[A>>2]>>2]|0,0)}if(!(l[(k[F>>2]|0)+69>>0]|0)){if(k[q>>2]|0)i[(k[s>>2]|0)+20>>0]=105;k[(k[s>>2]|0)+20+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+20+12>>2]=k[u>>2];i[(k[s>>2]|0)+20+1>>0]=-14;k[(k[s>>2]|0)+20+16>>2]=(j[(k[A>>2]|0)+34>>1]|0)+1;k[(k[s>>2]|0)+80+8>>2]=j[(k[A>>2]|0)+34>>1];j[(k[J>>2]|0)+400>>1]=1;k[(k[J>>2]|0)+44>>2]=1;k[(k[J>>2]|0)+40>>2]=1;Xh(k[B>>2]|0,k[J>>2]|0)}}k[k[I>>2]>>2]=k[q>>2];k[(k[I>>2]|0)+12>>2]=k[t>>2];k[(k[I>>2]|0)+24>>2]=k[F>>2];if(i[(k[F>>2]|0)+69>>0]|0)break a;c=p;Ve(k[(k[I>>2]|0)+20>>2]|0,1,k[c>>2]|0,k[c+4>>2]|0)|0;c=p;c=Yh(k[I>>2]|0,k[c>>2]|0,k[c+4>>2]|0,O)|0;k[K>>2]=c;c=(k[x>>2]|0)+1|0;k[x>>2]=c;if(!((c|0)<50?(k[K>>2]|0)==17:0))break a}if((e|0)==13){if(k[(k[J>>2]|0)+4>>2]|0){bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=k[(k[J>>2]|0)+4>>2];k[(k[J>>2]|0)+4>>2]=0}k[K>>2]=1;break}else if((e|0)==21){bg(k[F>>2]|0,k[O>>2]|0);P=k[F>>2]|0;k[N>>2]=k[G>>2];P=Qh(P,18280,N)|0;k[O>>2]=P;k[K>>2]=1;break}else if((e|0)==42){bg(k[F>>2]|0,k[O>>2]|0);N=k[F>>2]|0;k[L>>2]=k[P>>2];P=Qh(N,18321,L)|0;k[O>>2]=P;k[K>>2]=1;break}}while(0);if((k[K>>2]|0)==0?(l[(k[F>>2]|0)+69>>0]|0)==0:0){k[k[H>>2]>>2]=k[I>>2];L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Zh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=ch(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}if((k[I>>2]|0)!=0?(k[(k[I>>2]|0)+20>>2]|0)!=0:0)bh(k[(k[I>>2]|0)+20>>2]|0)|0;bg(k[F>>2]|0,k[I>>2]|0);L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Zh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=ch(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];if(k[c>>2]|0){k[b>>2]=k[(k[c>>2]|0)+24>>2];f=fe(k[(k[c>>2]|0)+20>>2]|0)|0;k[d>>2]=f;bg(k[b>>2]|0,k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}return 0}function ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=$h(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,138)|0;r=e;return b|0}function ff(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}if(!(k[(k[b>>2]|0)+20>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+4>>2]|0;r=c;return d|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;i=l+8|0;d=l+32|0;m=l+28|0;e=l;h=l+24|0;g=l+20|0;f=l+16|0;j=l+12|0;k[m>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[m>>2];if(!(k[g>>2]|0)){m=Vf(84814)|0;k[d>>2]=m;m=k[d>>2]|0;r=l;return m|0}k[f>>2]=k[(k[g>>2]|0)+24>>2];if(k[(k[g>>2]|0)+20>>2]|0){m=e;m=Yh(k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0,j)|0;k[h>>2]=m;if(k[h>>2]|0){g=k[f>>2]|0;a=k[h>>2]|0;m=(k[j>>2]|0)!=0?18391:0;k[i>>2]=k[j>>2];tg(g,a,m,i);bg(k[f>>2]|0,k[j>>2]|0)}}else k[h>>2]=4;m=ch(k[f>>2]|0,k[h>>2]|0)|0;k[h>>2]=m;k[d>>2]=k[h>>2];m=k[d>>2]|0;r=l;return m|0}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=(bi(k[e>>2]|0,k[d>>2]|0,18394,91)|0)==0&1;r=c;return b|0}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=(bi(k[g>>2]|0,k[f>>2]|0,18398,k[e>>2]|0)|0)==0&1;r=d;return b|0}function kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+56|0;g=z+52|0;h=z+48|0;j=z+44|0;m=z+40|0;n=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;o=z+20|0;q=z+16|0;t=z+12|0;p=z+8|0;s=z+4|0;u=z;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[w>>2]=0;k[v>>2]=0;k[o>>2]=0;if(!(ci(k[g>>2]|0)|0)){y=Vf(109597)|0;k[f>>2]=y;y=k[f>>2]|0;r=z;return y|0}if(!(k[h>>2]|0))k[h>>2]=18402;vg(k[g>>2]|0,0);a:while(1){if(k[w>>2]|0)break;if(!(i[k[h>>2]>>0]|0))break;k[p>>2]=0;k[v>>2]=0;b=lf(k[g>>2]|0,k[h>>2]|0,-1,v,x)|0;k[w>>2]=b;if(k[w>>2]|0)continue;if(!(k[v>>2]|0)){k[h>>2]=k[x>>2];continue}k[q>>2]=0;b=He(k[v>>2]|0)|0;k[t>>2]=b;do{b=De(k[v>>2]|0)|0;k[w>>2]=b;do if(k[j>>2]|0){if(100!=(k[w>>2]|0)){if(101!=(k[w>>2]|0)|(k[q>>2]|0)!=0)break;if(!(k[(k[g>>2]|0)+24>>2]&256))break}if(!(k[q>>2]|0)){b=Ch(k[g>>2]|0,(k[t>>2]<<1<<2)+1|0,0)|0;k[o>>2]=b;if(!(k[o>>2]|0))break a;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break;b=Re(k[v>>2]|0,k[s>>2]|0)|0;k[(k[o>>2]|0)+(k[s>>2]<<2)>>2]=b;k[s>>2]=(k[s>>2]|0)+1}k[q>>2]=1}b:do if((k[w>>2]|0)==100){k[p>>2]=(k[o>>2]|0)+(k[t>>2]<<2);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break b;b=Oe(k[v>>2]|0,k[s>>2]|0)|0;k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]=b;if((k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]|0)==0?(Qe(k[v>>2]|0,k[s>>2]|0)|0)!=5:0){y=27;break a}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(ec[k[j>>2]&255](k[m>>2]|0,k[t>>2]|0,k[p>>2]|0,k[o>>2]|0)|0){y=30;break a}}while(0)}while((k[w>>2]|0)==100);b=bh(k[v>>2]|0)|0;k[w>>2]=b;k[v>>2]=0;k[h>>2]=k[x>>2];while(1){if(!(l[18403+(l[k[h>>2]>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}bg(k[g>>2]|0,k[o>>2]|0);k[o>>2]=0}if((y|0)==27)wh(k[g>>2]|0);else if((y|0)==30){k[w>>2]=4;bh(k[v>>2]|0)|0;k[v>>2]=0;vg(k[g>>2]|0,4)}if(k[v>>2]|0)bh(k[v>>2]|0)|0;bg(k[g>>2]|0,k[o>>2]|0);y=ch(k[g>>2]|0,k[w>>2]|0)|0;k[w>>2]=y;do if((k[w>>2]|0)!=0&(k[n>>2]|0)!=0){y=1+(Tf(mf(k[g>>2]|0)|0)|0)|0;k[u>>2]=y;y=k[u>>2]|0;y=jg(y,((y|0)<0)<<31>>31)|0;k[k[n>>2]>>2]=y;if(k[k[n>>2]>>2]|0){b=k[k[n>>2]>>2]|0;y=mf(k[g>>2]|0)|0;bS(b|0,y|0,k[u>>2]|0)|0;break}else{k[w>>2]=7;vg(k[g>>2]|0,7);break}}else if(k[n>>2]|0)k[k[n>>2]>>2]=0;while(0);k[f>>2]=k[w>>2];y=k[f>>2]|0;r=z;return y|0}function lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=di(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,1,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){d=vh(7)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(ei(k[c>>2]|0)|0)){d=vh(Vf(140046)|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(i[(k[c>>2]|0)+69>>0]|0)){a=je(k[(k[c>>2]|0)+244>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=vh(k[(k[c>>2]|0)+52>>2]|0)|0;k[d>>2]=a}}else{a=vh(7)|0;k[d>>2]=a}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function nf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=di(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=fi(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return b|0}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;b=fi(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return b|0}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;p=s;c=s+40|0;d=s+36|0;e=s+32|0;f=s+28|0;m=s+24|0;o=s+20|0;n=s+16|0;q=s+12|0;h=s+8|0;g=s+4|0;k[d>>2]=a;k[e>>2]=b;k[o>>2]=0;k[q>>2]=0;k[f>>2]=k[(k[d>>2]|0)+336>>2];if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)==0:0){k[n>>2]=k[(k[f>>2]|0)+4>>2];b=Ch(k[d>>2]|0,480,0)|0;k[m>>2]=b;if(!(k[m>>2]|0))k[o>>2]=7;else{i[(k[m>>2]|0)+410>>0]=1;k[k[m>>2]>>2]=k[d>>2];k[(k[m>>2]|0)+136>>2]=1;if((((0==(gi(k[m>>2]|0,k[e>>2]|0,q)|0)?(k[(k[m>>2]|0)+440>>2]|0)!=0:0)?(i[(k[d>>2]|0)+69>>0]|0)==0:0)?(k[(k[(k[m>>2]|0)+440>>2]|0)+12>>2]|0)==0:0)?(l[(k[(k[m>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(k[(k[n>>2]|0)+4>>2]|0)){k[h>>2]=k[(k[m>>2]|0)+440>>2];k[(k[n>>2]|0)+4>>2]=k[(k[h>>2]|0)+4>>2];j[(k[n>>2]|0)+34>>1]=j[(k[h>>2]|0)+34>>1]|0;q=(k[n>>2]|0)+42|0;i[q>>0]=l[q>>0]|l[(k[h>>2]|0)+42>>0]&96;j[(k[h>>2]|0)+34>>1]=0;k[(k[h>>2]|0)+4>>2]=0;if((l[(k[h>>2]|0)+42>>0]&32|0)!=0?(k[(k[k[(k[k[f>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0)k[o>>2]=1;k[g>>2]=k[(k[h>>2]|0)+8>>2];if(k[g>>2]|0){k[(k[n>>2]|0)+8>>2]=k[g>>2];k[(k[h>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=k[n>>2]}}k[(k[f>>2]|0)+12>>2]=1}else{n=k[d>>2]|0;b=(k[q>>2]|0)!=0?18391:0;k[p>>2]=k[q>>2];tg(n,1,b,p);bg(k[d>>2]|0,k[q>>2]|0);k[o>>2]=1}i[(k[m>>2]|0)+410>>0]=0;if(k[(k[m>>2]|0)+8>>2]|0)bh(k[(k[m>>2]|0)+8>>2]|0)|0;$f(k[d>>2]|0,k[(k[m>>2]|0)+440>>2]|0);Zh(k[m>>2]|0);bg(k[d>>2]|0,k[m>>2]|0)}q=ch(k[d>>2]|0,k[o>>2]|0)|0;k[o>>2]=q;k[c>>2]=k[o>>2];q=k[c>>2]|0;r=s;return q|0}vg(k[d>>2]|0,21);q=Vf(123278)|0;k[c>>2]=q;q=k[c>>2]|0;r=s;return q|0}function rf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[18659+((l[(k[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+28|0;j=h+24|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[j>>2]=b;k[g>>2]=0;k[e>>2]=c;do if((k[j>>2]|0)==1){k[f>>2]=k[(k[d>>2]|0)+336>>2];if(k[f>>2]|0){c=(k[e>>2]|0)+(4-1)&~(4-1);j=k[c>>2]|0;k[e>>2]=c+4;i[(k[k[f>>2]>>2]|0)+16>>0]=j;break}else{j=Vf(123749)|0;k[g>>2]=j;break}}else{j=Vf(123757)|0;k[g>>2]=j}while(0);if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}vg(k[d>>2]|0,k[g>>2]|0);j=k[g>>2]|0;r=h;return j|0}function tf(){return 17598}function uf(){return 18677}function vf(){return 3015001}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;g=i+44|0;c=i+40|0;d=i+24|0;h=i+16|0;f=i+8|0;e=i;k[c>>2]=a;k[h>>2]=0;if(k[59]|0){h=Vf(138190)|0;k[g>>2]=h;h=k[g>>2]|0;r=i;return h|0}k[d>>2]=b;do switch(k[c>>2]|0){case 4:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[12]=k[b>>2];k[13]=k[b+4>>2];k[14]=k[b+8>>2];k[15]=k[b+12>>2];k[16]=k[b+16>>2];k[17]=k[b+20>>2];k[18]=k[b+24>>2];k[19]=k[b+28>>2];break}case 5:{if(!(k[12]|0))ji();f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[b>>2]=k[12];k[b+4>>2]=k[13];k[b+8>>2]=k[14];k[b+12>>2]=k[15];k[b+16>>2]=k[16];k[b+20>>2]=k[17];k[b+24>>2]=k[18];k[b+28>>2]=k[19];break}case 9:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[2]=b;break}case 6:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[50]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[51]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[52]=b;break}case 7:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[53]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[54]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[55]=b;break}case 24:{f=(ki()|0)+(li()|0)+(mi()|0)|0;a=(k[d>>2]|0)+(4-1)&~(4-1);b=k[a>>2]|0;k[d>>2]=a+4;k[b>>2]=f;break}case 14:break;case 15:{k[h>>2]=1;break}case 18:{c=(k[d>>2]|0)+(4-1)&~(4-1);e=k[c>>2]|0;k[d>>2]=c+4;c=116;d=e;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 19:{if(!(k[31]|0))ni();e=(k[d>>2]|0)+(4-1)&~(4-1);c=k[e>>2]|0;k[d>>2]=e+4;d=116;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 13:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[9]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[10]=b;break}case 16:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[66]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[67]=b;break}case 17:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[5]=b;break}case 20:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[6]=b;break}case 22:{b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;b=f;k[b>>2]=c;k[b+4>>2]=a;b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;d=e;k[d>>2]=c;k[d+4>>2]=a;d=e;b=k[d+4>>2]|0;d=(k[e+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>0);b=e;k[b>>2]=d?0:c;k[b+4>>2]=d?0:a;if((k[f+4>>2]|0)<0){b=f;k[b>>2]=0;k[b+4>>2]=0}a=f;c=k[a+4>>2]|0;b=e;d=k[b+4>>2]|0;if((c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){d=e;a=k[d+4>>2]|0;b=f;k[b>>2]=k[d>>2];k[b+4>>2]=a}b=k[e+4>>2]|0;a=192;k[a>>2]=k[e>>2];k[a+4>>2]=b;a=f;f=k[a+4>>2]|0;b=184;k[b>>2]=k[a>>2];k[b+4>>2]=f;break}case 25:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[58]=b;break}case 26:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[11]=b;break}default:k[h>>2]=1}while(0);k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}function xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0){a=Zf(k[d>>2]|0)|0;k[e>>2]=a;oi(k[e>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;d=q+52|0;e=q+48|0;f=q+32|0;n=q+28|0;l=q+24|0;o=q+20|0;g=q+16|0;h=q+12|0;j=q+8|0;m=q+4|0;i=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(k[e>>2]|0){case 1e3:{c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[k[(k[d>>2]|0)+16>>2]>>2]=p;k[n>>2]=0;p=k[n>>2]|0;r=q;return p|0}case 1001:{c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[l>>2]=p;p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[o>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[g>>2]=p;p=qi(k[d>>2]|0,k[l>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;k[n>>2]=p;p=k[n>>2]|0;r=q;return p|0}default:{k[n>>2]=1;k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=4){p=17;break}if((k[1548+(k[h>>2]<<3)>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}if((p|0)==17){p=k[n>>2]|0;r=q;return p|0}p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[j>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[m>>2]=p;k[i>>2]=k[(k[d>>2]|0)+24>>2];if((k[j>>2]|0)<=0){if(!(k[j>>2]|0)){p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]&~k[1548+(k[h>>2]<<3)+4>>2]}}else{p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]|k[1548+(k[h>>2]<<3)+4>>2]}if((k[i>>2]|0)!=(k[(k[d>>2]|0)+24>>2]|0))ai(k[d>>2]|0);if(k[m>>2]|0)k[k[m>>2]>>2]=(k[(k[d>>2]|0)+24>>2]&k[1548+(k[h>>2]<<3)+4>>2]|0)!=0&1;k[n>>2]=0;p=k[n>>2]|0;r=q;return p|0}}return 0}function zf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+32|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Af(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+88>>2]|0}function Bf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+92>>2]|0}function Cf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ri(k[c>>2]|0,0)|0;r=b;return a|0}function Df(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ri(k[c>>2]|0,1)|0;r=b;return a|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+380>>2]=k[g>>2];k[(k[e>>2]|0)+380+4>>2]=k[f>>2];k[(k[e>>2]|0)+380+8>>2]=0;k[(k[e>>2]|0)+428>>2]=0;r=d;return 0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if((k[d>>2]|0)>0){Ef(a,178,k[c>>2]|0)|0;k[(k[c>>2]|0)+428>>2]=k[d>>2];r=e;return 0}else{Ef(a,0,0)|0;r=e;return 0}return 0}function Gf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;i=r;r=r+32|0;s=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;l=i+4|0;j=i;k[s>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[m>>2]=f;k[l>>2]=g;k[j>>2]=h;b=Hf(k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0)|0;r=i;return b|0}function Hf(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[v>>2]=1;k[u>>2]=0;do if(k[t>>2]|0){a=Ch(k[j>>2]|0,12,0)|0;k[u>>2]=a;a=k[t>>2]|0;if(k[u>>2]|0){k[(k[u>>2]|0)+4>>2]=a;k[(k[u>>2]|0)+8>>2]=k[o>>2];w=5;break}else{_b[a&255](k[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(w=ti(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[u>>2]|0)|0,k[v>>2]=w,(k[u>>2]|0)!=0):0)?(k[k[u>>2]>>2]|0)==0:0){_b[k[t>>2]&255](k[o>>2]|0);bg(k[j>>2]|0,k[u>>2]|0)}w=ch(k[j>>2]|0,k[v>>2]|0)|0;k[v>>2]=w;r=x;return k[v>>2]|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(ui(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0)|0)){b=ti(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0,224,0,0,0)|0;k[g>>2]=b}b=ch(k[d>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;r=h;return k[g>>2]|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;a=k[e>>2]|0;if((k[c>>2]|0)>0){Kf(a,139,k[c>>2]|0)|0;r=d;return 0}else{Kf(a,0,0)|0;r=d;return 0}return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=k[(k[f>>2]|0)+228>>2];k[(k[f>>2]|0)+224>>2]=k[h>>2];k[(k[f>>2]|0)+228>>2]=k[g>>2];r=e;return k[d>>2]|0}function Lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=10;if(k[l>>2]|0)k[k[l>>2]>>2]=-1;if(k[m>>2]|0)k[k[m>>2]>>2]=-1;if((k[j>>2]|0)<0|(k[j>>2]|0)>3){k[f>>2]=21;b=k[f>>2]|0;r=q;return b|0}if((k[h>>2]|0)!=0?(i[k[h>>2]>>0]|0)!=0:0){b=xi(k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=b}if((k[n>>2]|0)<0){k[o>>2]=1;b=k[g>>2]|0;k[p>>2]=k[h>>2];tg(b,1,18738,p)}else{k[(k[g>>2]|0)+380+8>>2]=0;b=yi(k[g>>2]|0,k[n>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[o>>2]=b;vg(k[g>>2]|0,k[o>>2]|0)}b=ch(k[g>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;k[f>>2]=k[o>>2];b=k[f>>2]|0;r=q;return b|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Lf(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return b|0}function Nf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(ei(k[c>>2]|0)|0)==0:0){a=Vf(140115)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}if((k[c>>2]|0)!=0?(l[(k[c>>2]|0)+69>>0]|0|0)==0:0){k[b>>2]=k[(k[c>>2]|0)+52>>2]&k[(k[c>>2]|0)+56>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)<0|(k[f>>2]|0)>=12){k[d>>2]=-1;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+96+(k[f>>2]<<2)>>2];if((k[g>>2]|0)>=0){if((k[g>>2]|0)>(k[1580+(k[f>>2]<<2)>>2]|0))k[g>>2]=k[1580+(k[f>>2]<<2)>>2];k[(k[e>>2]|0)+96+(k[f>>2]<<2)>>2]=k[g>>2]}k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Ai(k[e>>2]|0,k[d>>2]|0,6,0)|0;r=c;return a|0}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;n=l+28|0;m=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;h=l+8|0;i=l+4|0;g=l;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=d;k[j>>2]=1;b=Hi(k[n>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){n=k[j>>2]|0;r=l;return n|0}wg(k[h>>2]|0);n=Zf(k[h>>2]|0)|0;k[i>>2]=n;n=Og(k[i>>2]|0)|0;k[g>>2]=n;if((k[e>>2]|0)==7){k[k[f>>2]>>2]=k[g>>2];k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==27){n=Ii(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==28){n=Ji(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if(k[k[g>>2]>>2]|0){n=Ki(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[j>>2]=n;n=k[j>>2]|0;r=l;return n|0}else{k[j>>2]=12;n=k[j>>2]|0;r=l;return n|0}return 0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;while(1){if(!(i[k[c>>2]>>0]|0)){a=8;break}b=rR(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;b=k[c>>2]|0;if(!(k[e>>2]|0)){a=6;break}b=(Tf(b)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;b=Rf(k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;k[d>>2]=(k[d>>2]|0)!=0&1;if(k[e>>2]|0){h=(Qi(k[e>>2]|0,k[d>>2]&255)|0)&255;r=f;return h|0}else{h=k[d>>2]|0;r=f;return h|0}return 0}function Tf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(k[c>>2]|0))k[b>>2]=0;else{a=1073741823&(uR(k[c>>2]|0)|0);k[b>>2]=a}r=d;return k[b>>2]|0}function Uf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return ((l[18403+(l[b>>0]|0)>>0]|0)&70|0)!=0|0}function Vf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=$j(21,k[c>>2]|0,45606)|0;r=b;return a|0}function Wf(){return k[428]|0}function Xf(){return k[72]|0}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+4>>2]=k[k[d>>2]>>2];k[c>>2]=(k[c>>2]|0)+1}r=e;return}function Zf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+4>>2]>>2]|0}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}yv(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+4>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);uv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))e=4;if((e|0)==4?(b=(k[d>>2]|0)+36|0,e=(j[b>>1]|0)+-1<<16>>16,j[b>>1]=e,(e&65535|0)>0):0){r=f;return}CQ(k[c>>2]|0,k[d>>2]|0);r=f;return}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;c=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;YC(k[(k[f>>2]|0)+100>>2]|0,m[(k[f>>2]|0)+140>>1]<<1);k[d>>2]=k[(k[f>>2]|0)+200>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=k[(k[d>>2]|0)+20>>2];BQ(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);k[d>>2]=k[c>>2]}if((k[(k[f>>2]|0)+20>>2]|0)!=381479589){YC(k[(k[f>>2]|0)+116>>2]|0,j[(k[f>>2]|0)+16>>1]|0);k[g>>2]=(j[(k[f>>2]|0)+18>>1]|0)-1;while(1){a=k[e>>2]|0;if((k[g>>2]|0)<0)break;bg(a,k[(k[(k[f>>2]|0)+120>>2]|0)+(k[g>>2]<<2)>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}bg(a,k[(k[f>>2]|0)+120>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+180>>2]|0)}BQ(k[e>>2]|0,k[(k[f>>2]|0)+88>>2]|0,k[(k[f>>2]|0)+136>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+100>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+176>>2]|0);r=h;return}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(k[c>>2]|0){a=k[c>>2]|0;b=k[d>>2]|0;if(k[(k[c>>2]|0)+456>>2]|0){AQ(a,b);r=f;return}if(vu(a,b)|0){k[e>>2]=k[d>>2];k[k[e>>2]>>2]=k[(k[c>>2]|0)+256+28>>2];k[(k[c>>2]|0)+256+28>>2]=k[e>>2];e=(k[c>>2]|0)+256+8|0;k[e>>2]=(k[e>>2]|0)+-1;r=f;return}}Ud(k[d>>2]|0);r=f;return}function cg(){var a=0,b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;a=f+12|0;b=f+8|0;e=f+4|0;c=f;if(!(k[12]|0))ji();k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;k[78]=0;k[79]=0;k[72]=8;if((k[50]|0)!=0&(k[51]|0)>=100&(k[52]|0)>0){k[e>>2]=k[51]&-8;k[51]=k[e>>2];k[c>>2]=k[50];k[b>>2]=k[52];k[77]=k[c>>2];k[78]=k[b>>2];k[a>>2]=0;while(1){if((k[a>>2]|0)>=((k[b>>2]|0)-1|0))break;k[k[c>>2]>>2]=(k[c>>2]|0)+(k[e>>2]|0);k[c>>2]=k[k[c>>2]>>2];k[a>>2]=(k[a>>2]|0)+1}k[k[c>>2]>>2]=0;k[76]=(k[c>>2]|0)+4}else{k[76]=0;k[50]=0;k[51]=0;k[52]=0}if((k[53]|0)==0|(k[54]|0)<512|(k[55]|0)<=0){k[53]=0;k[54]=0}e=bc[k[68>>2]&255](k[19]|0)|0;k[d>>2]=e;if(!(k[d>>2]|0)){e=k[d>>2]|0;r=f;return e|0};k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;k[78]=0;k[79]=0;e=k[d>>2]|0;r=f;return e|0}function dg(){jP();kP();lP(6956,57);return}function eg(){if(!(k[31]|0))ni();return bc[k[124>>2]&255](k[30]|0)|0}function fg(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;a=c+4|0;b=c;d=Sd(10)|0;k[b>>2]=d;if(!(k[b>>2]|0)){k[a>>2]=7;d=k[a>>2]|0;r=c;return d|0}else{Ud(k[b>>2]|0);d=ce()|0;k[a>>2]=d;d=k[a>>2]|0;r=c;return d|0}return 0}function gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[420]|0)){r=h;return}if(!(k[d>>2]|0)){k[f>>2]=0;k[e>>2]=0}k[e>>2]=k[e>>2]&-8;k[423]=k[e>>2];b=k[f>>2]|0;k[430]=b;k[424]=b;if((k[f>>2]|0)>90)c=10;else c=((k[f>>2]|0)/10|0)+1|0;k[425]=c;k[426]=k[d>>2];k[429]=0;k[431]=0;while(1){b=k[f>>2]|0;k[f>>2]=b+-1;c=k[d>>2]|0;if(!b)break;k[g>>2]=c;k[k[g>>2]>>2]=k[429];k[429]=k[g>>2];k[d>>2]=(k[d>>2]|0)+(k[e>>2]|0)}k[427]=c;r=h;return}function hg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}if((k[272]|0)==(k[c>>2]|0)){k[272]=k[(k[c>>2]|0)+12>>2];r=e;return}if(!(k[272]|0)){r=e;return}k[d>>2]=k[272];while(1){if(k[(k[d>>2]|0)+12>>2]|0)b=(k[(k[d>>2]|0)+12>>2]|0)!=(k[c>>2]|0);else b=0;a=k[(k[d>>2]|0)+12>>2]|0;if(!b)break;k[d>>2]=a}if((a|0)!=(k[c>>2]|0)){r=e;return}k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+12>>2];r=e;return}function ig(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;L=0;r=c;return k[1008+(k[b>>2]<<2)>>2]|0}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;f=c;b=c;a=k[b+4>>2]|0;if((k[f>>2]|0)==0&(k[f+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(k[b>>2]|0)>>>0>=2147483392)){k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}if(k[2]|0){iP(k[c>>2]|0,d)|0;f=k[d>>2]|0;r=e;return f|0}else{f=bc[k[48>>2]&255](k[c>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;r=e;return f|0}return 0}function kg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[60>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=1008+(k[e>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)-(k[d>>2]|0);r=c;return}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;d=l+28|0;e=l+24|0;f=l;i=l+20|0;h=l+16|0;g=l+12|0;j=l+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!(k[e>>2]|0)){j=jg(b,c)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}if((b|0)==0&(c|0)==0){Ud(k[e>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=f;c=k[a+4>>2]|0;if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=2147483392){k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=kg(k[e>>2]|0)|0;k[i>>2]=a;a=bc[k[64>>2]&255](k[f>>2]|0)|0;k[h>>2]=a;do if((k[i>>2]|0)!=(k[h>>2]|0)){if(!(k[2]|0)){i=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=i;break}$i(5,k[f>>2]|0);k[g>>2]=(k[h>>2]|0)-(k[i>>2]|0);c=ig(0)|0;m=L;b=296;a=k[g>>2]|0;a=_R(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((m|0)>(b|0)|(m|0)==(b|0)&c>>>0>=a>>>0)hP(k[g>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m;m=296;g=k[m+4>>2]|0;if((k[j>>2]|0)==0&((g|0)>0|(g|0)==0&(k[m>>2]|0)>>>0>0)){hP(k[f>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m}if(k[j>>2]|0){m=kg(k[j>>2]|0)|0;k[h>>2]=m;aj(0,(k[h>>2]|0)-(k[i>>2]|0)|0)}}else k[j>>2]=k[e>>2];while(0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=l;return m|0}function ng(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[m>>2]=c;k[j>>2]=d;k[h>>2]=e;c=k[m>>2]|0;k[(k[g>>2]|0)+4>>2]=c;k[(k[g>>2]|0)+8>>2]=c;k[k[g>>2]>>2]=k[l>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[h>>2];i[(k[g>>2]|0)+24>>0]=0;i[(k[g>>2]|0)+25>>0]=0;r=f;return}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=r;r=r+272|0;e=ra+176|0;f=ra+172|0;g=ra+168|0;o=ra+164|0;n=ra+160|0;aa=ra+156|0;Q=ra+152|0;J=ra+148|0;ja=ra+144|0;B=ra+268|0;E=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;G=ra+263|0;C=ra+262|0;D=ra+261|0;t=ra+260|0;na=ra+259|0;h=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;K=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;F=ra+254|0;X=ra+112|0;m=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;j=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;H=ra+88|0;U=ra+84|0;I=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;q=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[na>>0]=16;k[oa>>2]=0;k[X>>2]=0;k[n>>2]=0;if(i[(k[e>>2]|0)+25>>0]|0){a=l[(k[e>>2]|0)+25>>0]&2;i[h>>0]=a;if(a&255){b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[X>>2]=a}i[ha>>0]=l[(k[e>>2]|0)+25>>0]&1}else{i[ha>>0]=0;i[h>>0]=0}a:while(1){a=i[k[f>>2]>>0]|0;k[o>>2]=a;if(!a){qa=268;break}if((k[o>>2]|0)!=37){k[n>>2]=k[f>>2];do{k[f>>2]=(k[f>>2]|0)+1;if(!(i[k[f>>2]>>0]|0))break}while((i[k[f>>2]>>0]|0)!=37);CA(k[e>>2]|0,k[n>>2]|0,(k[f>>2]|0)-(k[n>>2]|0)|0);if(!(i[k[f>>2]>>0]|0)){qa=268;break}}a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a;if(!a){qa=13;break}i[G>>0]=0;i[y>>0]=0;i[x>>0]=0;i[z>>0]=0;i[E>>0]=0;i[B>>0]=0;i[t>>0]=0;do{switch(k[o>>2]|0){case 45:{i[B>>0]=1;break}case 43:{i[E>>0]=1;break}case 32:{i[z>>0]=1;break}case 35:{i[x>>0]=1;break}case 33:{i[y>>0]=1;break}case 48:{i[G>>0]=1;break}default:i[t>>0]=1}if(i[t>>0]|0)break;a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a}while((a|0)!=0);if((k[o>>2]|0)==42){if(i[h>>0]|0){a=cP(k[X>>2]|0)|0;k[ja>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[ja>>2]=a}if((k[ja>>2]|0)<0){i[B>>0]=1;k[ja>>2]=(k[ja>>2]|0)>=-2147483647?0-(k[ja>>2]|0)|0:0}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}else{k[ka>>2]=0;while(1){c=k[ka>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ka>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[ja>>2]=c&2147483647}do if((k[o>>2]|0)==46){a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)!=42){k[ca>>2]=0;while(1){c=k[ca>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ca>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[aa>>2]=c&2147483647;break}if(i[h>>0]|0){a=cP(k[X>>2]|0)|0;k[aa>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[aa>>2]=a}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[aa>>2]|0)<0)k[aa>>2]=(k[aa>>2]|0)>=-2147483647?0-(k[aa>>2]|0)|0:-1}else k[aa>>2]=-1;while(0);do if((k[o>>2]|0)==108){i[C>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)==108){i[D>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];break}else{i[D>>0]=0;break}}else{i[D>>0]=0;i[C>>0]=0}while(0);k[K>>2]=44615;i[na>>0]=16;k[J>>2]=0;while(1){if((k[J>>2]|0)>=23)break;c=k[J>>2]|0;if((k[o>>2]|0)==(i[44615+((k[J>>2]|0)*6|0)>>0]|0)){qa=56;break}k[J>>2]=c+1}if((qa|0)==56){qa=0;k[K>>2]=44615+(c*6|0);if((l[ha>>0]|0)==0?(l[(k[K>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}i[na>>0]=i[(k[K>>2]|0)+3>>0]|0}b:do switch(l[na>>0]|0){case 13:{i[D>>0]=0;i[C>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(i[h>>0]|0){d=+dP(k[X>>2]|0);p[ea>>3]=d}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(8-1)&~(8-1);d=+p[b>>3];k[a>>2]=b+8;p[ea>>3]=d}if((k[aa>>2]|0)<0)k[aa>>2]=6;do if(!(+p[ea>>3]<0.0)){if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{p[ea>>3]=-+p[ea>>3];i[ba>>0]=45}while(0);if((l[na>>0]|0)==3&(k[aa>>2]|0)>0)k[aa>>2]=(k[aa>>2]|0)+-1;k[J>>2]=k[aa>>2]&4095;p[fa>>3]=.5;while(1){if((k[J>>2]|0)<=0)break;k[J>>2]=(k[J>>2]|0)+-1;p[fa>>3]=+p[fa>>3]*.1}if((l[na>>0]|0)==1)p[ea>>3]=+p[ea>>3]+ +p[fa>>3];k[w>>2]=0;if(AG(+p[ea>>3])|0){k[n>>2]=44802;k[Q>>2]=3;break b}if(+p[ea>>3]>0.0){p[ga>>3]=1.0;while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.e+100?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.e+100;k[w>>2]=(k[w>>2]|0)+100}while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.0e10?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.0e10;k[w>>2]=(k[w>>2]|0)+10}while(1){d=+p[ga>>3];if(!(+p[ea>>3]>=+p[ga>>3]*10.0?(k[w>>2]|0)<=350:0))break;p[ga>>3]=d*10.0;k[w>>2]=(k[w>>2]|0)+1}p[ea>>3]=+p[ea>>3]/d;while(1){if(!(+p[ea>>3]<1.0e-08))break;p[ea>>3]=+p[ea>>3]*1.0e8;k[w>>2]=(k[w>>2]|0)-8}while(1){if(!(+p[ea>>3]<1.0))break;p[ea>>3]=+p[ea>>3]*10.0;k[w>>2]=(k[w>>2]|0)+-1}if((k[w>>2]|0)>350){k[n>>2]=m;i[m>>0]=i[ba>>0]|0;a=m+((i[ba>>0]|0)!=0&1)|0;i[a>>0]=i[44806]|0;i[a+1>>0]=i[44807]|0;i[a+2>>0]=i[44808]|0;i[a+3>>0]=i[44809]|0;k[Q>>2]=3+((i[ba>>0]|0)!=0&1);break b}}k[n>>2]=m;if((l[na>>0]|0)!=1?(p[ea>>3]=+p[ea>>3]+ +p[fa>>3],+p[ea>>3]>=10.0):0){p[ea>>3]=+p[ea>>3]*.1;k[w>>2]=(k[w>>2]|0)+1}c:do if((l[na>>0]|0)==3){i[F>>0]=((i[x>>0]|0)!=0^1)&1;do if((k[w>>2]|0)>=-4){if((k[w>>2]|0)>(k[aa>>2]|0))break;k[aa>>2]=(k[aa>>2]|0)-(k[w>>2]|0);i[na>>0]=1;break c}while(0);i[na>>0]=2}else i[F>>0]=i[y>>0]|0;while(0);if((l[na>>0]|0)==2)k[u>>2]=0;else k[u>>2]=k[w>>2];a=(k[u>>2]|0)>0?k[u>>2]|0:0;b=k[aa>>2]|0;b=$R(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=k[ja>>2]|0;a=$R(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((b|0)>0|(b|0)==0&a>>>0>55?(a=(k[u>>2]|0)>0?k[u>>2]|0:0,b=k[aa>>2]|0,b=$R(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=k[ja>>2]|0,a=$R(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0,a=$R(a|0,L|0,15,0)|0,a=jg(a,L)|0,k[oa>>2]=a,k[n>>2]=a,(k[n>>2]|0)==0):0){qa=161;break a}k[pa>>2]=k[n>>2];k[W>>2]=16+((l[y>>0]|0)*10|0);i[A>>0]=((k[aa>>2]|0)>0?1:0)|l[x>>0]|l[y>>0];if(i[ba>>0]|0){b=i[ba>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}d:do if((k[u>>2]|0)<0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48}else while(1){if((k[u>>2]|0)<0)break d;b=eP(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[u>>2]=(k[u>>2]|0)+-1}while(0);if(i[A>>0]|0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=46}k[u>>2]=(k[u>>2]|0)+1;while(1){if((k[u>>2]|0)>=0)break;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48;k[aa>>2]=(k[aa>>2]|0)+-1;k[u>>2]=(k[u>>2]|0)+1}while(1){a=k[aa>>2]|0;k[aa>>2]=a+-1;if((a|0)<=0)break;b=eP(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}do if(l[F>>0]|0){if(!(l[A>>0]|0))break;while(1){c=(k[n>>2]|0)+-1|0;if((i[(k[n>>2]|0)+-1>>0]|0)!=48)break;k[n>>2]=c;i[c>>0]=0}if((i[c>>0]|0)!=46)break;c=k[n>>2]|0;if(i[y>>0]|0){k[n>>2]=c+1;i[c>>0]=48;break}else{a=c+-1|0;k[n>>2]=a;i[a>>0]=0;break}}while(0);if((l[na>>0]|0)==2){c=i[44762+(l[(k[K>>2]|0)+4>>0]|0)>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=c;a=(k[w>>2]|0)<0;c=k[n>>2]|0;k[n>>2]=c+1;if(a){i[c>>0]=45;k[w>>2]=0-(k[w>>2]|0)}else i[c>>0]=43;if((k[w>>2]|0)>=100){b=((k[w>>2]|0)/100|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[w>>2]=(k[w>>2]|0)%100|0}a=((k[w>>2]|0)/10|0)+48&255;b=k[n>>2]|0;k[n>>2]=b+1;i[b>>0]=a;b=((k[w>>2]|0)%10|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}i[k[n>>2]>>0]=0;k[Q>>2]=(k[n>>2]|0)-(k[pa>>2]|0);k[n>>2]=k[pa>>2];if((l[G>>0]|0)==0|(i[B>>0]|0)!=0)break b;if((k[Q>>2]|0)>=(k[ja>>2]|0))break b;k[U>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);k[H>>2]=k[ja>>2];while(1){if((k[H>>2]|0)<(k[U>>2]|0))break;i[(k[n>>2]|0)+(k[H>>2]|0)>>0]=i[(k[n>>2]|0)+((k[H>>2]|0)-(k[U>>2]|0))>>0]|0;k[H>>2]=(k[H>>2]|0)+-1}k[H>>2]=(i[ba>>0]|0)!=0&1;while(1){a=k[U>>2]|0;k[U>>2]=a+-1;if(!a)break;a=k[H>>2]|0;k[H>>2]=a+1;i[(k[n>>2]|0)+a>>0]=48}k[Q>>2]=k[ja>>2];break}case 4:{if(!(i[h>>0]|0)){b=k[(k[e>>2]|0)+12>>2]|0;c=k[g>>2]|0;sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;k[a>>2]=b}k[ja>>2]=0;k[Q>>2]=0;break}case 7:{i[m>>0]=37;k[n>>2]=m;k[Q>>2]=1;break}case 8:{if(i[h>>0]|0){sa=fP(k[X>>2]|0)|0;k[n>>2]=sa;if(k[n>>2]|0)c=i[k[n>>2]>>0]|0;else c=0;k[o>>2]=c}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[o>>2]=sa}if((k[aa>>2]|0)>1){k[ja>>2]=(k[ja>>2]|0)-((k[aa>>2]|0)-1);if(!((k[ja>>2]|0)<=1|(i[B>>0]|0)!=0)){gP(k[e>>2]|0,(k[ja>>2]|0)-1|0,32);k[ja>>2]=0}gP(k[e>>2]|0,(k[aa>>2]|0)-1|0,k[o>>2]&255)}k[Q>>2]=1;i[m>>0]=k[o>>2];k[n>>2]=m;break}case 6:case 5:{if(i[h>>0]|0){sa=fP(k[X>>2]|0)|0;k[n>>2]=sa;i[na>>0]=5}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[n>>2]=sa}if(k[n>>2]|0){if((l[na>>0]|0)==6)k[oa>>2]=k[n>>2]}else k[n>>2]=18402;if((k[aa>>2]|0)<0){sa=Tf(k[n>>2]|0)|0;k[Q>>2]=sa;break b}k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(k[aa>>2]|0))break b;if(!(i[(k[n>>2]|0)+(k[Q>>2]|0)>>0]|0))break b;k[Q>>2]=(k[Q>>2]|0)+1}}case 14:case 10:case 9:{i[da>>0]=(l[na>>0]|0)==14?34:39;if(i[h>>0]|0){sa=fP(k[X>>2]|0)|0;k[v>>2]=sa}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[v>>2]=sa}k[M>>2]=(k[v>>2]|0)==0&1;if(k[M>>2]|0)k[v>>2]=(l[na>>0]|0)==10?39691:44810;k[O>>2]=k[aa>>2];k[S>>2]=0;k[I>>2]=0;while(1){if(!(k[O>>2]|0))break;sa=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=sa;if(!(sa<<24>>24))break;if((i[q>>0]|0)==(i[da>>0]|0))k[S>>2]=(k[S>>2]|0)+1;k[I>>2]=(k[I>>2]|0)+1;k[O>>2]=(k[O>>2]|0)+-1}if(k[M>>2]|0)c=0;else c=(l[na>>0]|0)==10;k[V>>2]=c&1;k[S>>2]=(k[S>>2]|0)+((k[I>>2]|0)+3);if((k[S>>2]|0)>70){sa=k[S>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[n>>2]=sa;if(!(k[n>>2]|0)){qa=241;break a}}else k[n>>2]=m;k[N>>2]=0;if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[O>>2]=k[I>>2];k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[O>>2]|0))break;a=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=a;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a;if((i[q>>0]|0)==(i[da>>0]|0)){a=i[q>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[I>>2]=(k[I>>2]|0)+1}if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}i[(k[n>>2]|0)+(k[N>>2]|0)>>0]=0;k[Q>>2]=k[N>>2];break}case 11:{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[_>>2]=sa;if((k[_>>2]|0)!=0?(k[(k[_>>2]|0)+4>>2]|0)!=0:0)CA(k[e>>2]|0,k[k[_>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}case 12:{b=k[g>>2]|0;sa=(k[b>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[b>>2]=sa+4;k[Z>>2]=a;a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[P>>2]=sa;k[Y>>2]=(k[Z>>2]|0)+8+((k[P>>2]|0)*72|0);if(k[(k[Y>>2]|0)+4>>2]|0){nE(k[e>>2]|0,k[(k[Y>>2]|0)+4>>2]|0);CA(k[e>>2]|0,44433,1)}nE(k[e>>2]|0,k[(k[Y>>2]|0)+8>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;c=(i[h>>0]|0)!=0;do if(l[(k[K>>2]|0)+2>>0]&1){do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=ia;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=ia;k[sa>>2]=a;k[sa+4>>2]=((a|0)<0)<<31>>31;break}}else{a=cP(k[X>>2]|0)|0;sa=ia;k[sa>>2]=a;k[sa+4>>2]=L}while(0);b=ia;c=k[b>>2]|0;b=k[b+4>>2]|0;if((k[ia+4>>2]|0)<0){if((c|0)==0&(b|0)==-2147483648){sa=R;k[sa>>2]=0;k[sa+4>>2]=-2147483648}else{a=ia;a=_R(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}i[ba>>0]=45;break}sa=R;k[sa>>2]=c;k[sa+4>>2]=b;if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=R;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=R;k[sa>>2]=a;k[sa+4>>2]=0;break}}else{a=cP(k[X>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}while(0);i[ba>>0]=0}while(0);sa=R;if((k[sa>>2]|0)==0&(k[sa+4>>2]|0)==0)i[x>>0]=0;if((l[G>>0]|0)!=0?(k[aa>>2]|0)<((k[ja>>2]|0)-((i[ba>>0]|0)!=0&1)|0):0)k[aa>>2]=(k[ja>>2]|0)-((i[ba>>0]|0)!=0&1);if((k[aa>>2]|0)>=60){k[T>>2]=(k[aa>>2]|0)+10;sa=k[T>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[pa>>2]=sa;if(!(k[pa>>2]|0)){qa=92;break}}else{k[T>>2]=70;k[pa>>2]=m}k[n>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1);if((l[na>>0]|0)==15){sa=R;sa=mS(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0;k[la>>2]=sa;if(!((k[la>>2]|0)<4?(sa=R,sa=lS(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0,sa=mS(sa|0,L|0,10,0)|0,!((sa|0)==1&(L|0)==0)):0))k[la>>2]=0;sa=i[44753+((k[la>>2]<<1)+1)>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=i[44753+(k[la>>2]<<1)>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}k[s>>2]=44762+(l[(k[K>>2]|0)+4>>0]|0);i[j>>0]=i[(k[K>>2]|0)+1>>0]|0;do{sa=R;sa=mS(k[sa>>2]|0,k[sa+4>>2]|0,l[j>>0]|0,0)|0;sa=i[(k[s>>2]|0)+sa>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=R;a=lS(k[a>>2]|0,k[a+4>>2]|0,l[j>>0]|0,0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L;sa=R;a=k[sa+4>>2]|0}while(a>>>0>0|(a|0)==0&(k[sa>>2]|0)>>>0>0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0);k[J>>2]=(k[aa>>2]|0)-(k[Q>>2]|0);while(1){if((k[J>>2]|0)<=0)break;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=48;k[J>>2]=(k[J>>2]|0)+-1}if(i[ba>>0]|0){a=i[ba>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}e:do if((l[x>>0]|0)!=0?(l[(k[K>>2]|0)+5>>0]|0)!=0:0){k[$>>2]=44795+(l[(k[K>>2]|0)+5>>0]|0);while(1){sa=i[k[$>>2]>>0]|0;i[ma>>0]=sa;if(!(sa<<24>>24))break e;a=i[ma>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a;k[$>>2]=(k[$>>2]|0)+1}}while(0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0)}k[ja>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);if(!((k[ja>>2]|0)<=0|(i[B>>0]|0)!=0))gP(k[e>>2]|0,k[ja>>2]|0,32);CA(k[e>>2]|0,k[n>>2]|0,k[Q>>2]|0);if((k[ja>>2]|0)>0?(l[B>>0]|0)!=0:0)gP(k[e>>2]|0,k[ja>>2]|0,32);if(k[oa>>2]|0){bg(k[k[e>>2]>>2]|0,k[oa>>2]|0);k[oa>>2]=0}k[f>>2]=(k[f>>2]|0)+1}if((qa|0)==13){CA(k[e>>2]|0,44613,1);r=ra;return}else if((qa|0)==92){GA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==161){GA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==241){GA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==268){r=ra;return}}function pg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(((k[(k[b>>2]|0)+8>>2]|0)!=0?(i[(k[(k[b>>2]|0)+8>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0,(k[(k[b>>2]|0)+20>>2]|0)>>>0>0):0)?((l[(k[b>>2]|0)+25>>0]|0)&4|0)==0:0){a=Mh(k[k[b>>2]>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0,0)|0;k[(k[b>>2]|0)+8>>2]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+8>>2]|0){bS(k[a+8>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0)|0;a=(k[b>>2]|0)+25|0;i[a>>0]=l[a>>0]|0|4;break}else{GA(a,1);break}}while(0);r=c;return k[(k[b>>2]|0)+8>>2]|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+256|0;g=d+36|0;h=d+32|0;e=d+28|0;f=d;k[g>>2]=a;k[h>>2]=b;k[e>>2]=c;ng(f,0,d+40|0,210,0);og(f,k[h>>2]|0,k[e>>2]|0);e=k[66]|0;c=k[67]|0;a=k[g>>2]|0;b=pg(f)|0;cc[e&255](c,a,b);r=d;return}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[g>>2]|0)+56>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[c>>2]=k[h>>2];k[d>>2]=k[g>>2];while(1){k[e>>2]=(l[17613+(l[k[c>>2]>>0]|0)>>0]|0)-(l[17613+(l[k[d>>2]>>0]|0)>>0]|0);if(k[e>>2]|0){c=5;break}if(!(l[k[c>>2]>>0]|0)){c=5;break}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}if((c|0)==5){r=f;return k[e>>2]|0}return 0}function tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[(k[e>>2]|0)+52>>2]=k[f>>2];aK(k[e>>2]|0,k[f>>2]|0);a=k[e>>2]|0;if(!(k[g>>2]|0)){vg(a,k[f>>2]|0);r=j;return}if((k[a+244>>2]|0)==0?(f=hi(k[e>>2]|0)|0,k[(k[e>>2]|0)+244>>2]=f,(f|0)==0):0){r=j;return}k[h>>2]=d;d=yx(k[e>>2]|0,k[g>>2]|0,h)|0;k[i>>2]=d;ii(k[(k[e>>2]|0)+244>>2]|0,-1,k[i>>2]|0,1,170);r=j;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;b=c;b=jg(k[b>>2]|0,k[b+4>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){f=k[d>>2]|0;r=e;return f|0}dS(k[d>>2]|0,0,k[c>>2]|0)|0;f=k[d>>2]|0;r=e;return f|0}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+52>>2]=k[d>>2];if((k[d>>2]|0)==0?(k[(k[c>>2]|0)+244>>2]|0)==0:0){r=e;return}DN(k[c>>2]|0,k[d>>2]|0);r=e;return}function wg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[(k[c>>2]|0)+4>>2]|0)+4>>2]=k[k[c>>2]>>2];r=b;return}function xg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)!=0&(k[b>>2]|0)!=5)){a=0;a=a&1;r=c;return a|0}a=(k[b>>2]|0)!=6;a=a&1;r=c;return a|0}function yg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+8>>0]|0|0)!=0|0}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+24|0;d=o+20|0;f=o+16|0;n=o+12|0;e=o+8|0;g=o+4|0;h=o;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];k[n>>2]=0;wg(k[c>>2]|0);do if((l[(k[c>>2]|0)+8>>0]|0)!=2?((k[d>>2]|0)!=0?1:(l[(k[c>>2]|0)+8>>0]|0)!=1):0){if((k[d>>2]|0)!=0?(m[(k[f>>2]|0)+22>>1]&1|0)!=0:0){k[n>>2]=8;break}k[e>>2]=0;if((k[d>>2]|0)!=0?(l[(k[f>>2]|0)+20>>0]|0)==2:0)b=8;else b=7;a:do if((b|0)==7)if(!(m[(k[f>>2]|0)+22>>1]&64)){if((k[d>>2]|0)>1){k[g>>2]=k[(k[f>>2]|0)+72>>2];while(1){if(!(k[g>>2]|0))break a;a=k[g>>2]|0;if((k[k[g>>2]>>2]|0)!=(k[c>>2]|0))break;k[g>>2]=k[a+12>>2]}k[e>>2]=k[k[a>>2]>>2]}}else b=8;while(0);if((b|0)==8)k[e>>2]=k[k[(k[f>>2]|0)+76>>2]>>2];if(k[e>>2]|0){k[n>>2]=262;break}g=eI(k[c>>2]|0,1,1)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-9;if(!(k[(k[f>>2]|0)+44>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|8}while(1){if((k[(k[f>>2]|0)+12>>2]|0)==0?(g=AN(k[f>>2]|0)|0,k[n>>2]=g,0==(g|0)):0)continue;do if((k[n>>2]|0)==0&(k[d>>2]|0)!=0){if(m[(k[f>>2]|0)+22>>1]&1){k[n>>2]=8;break}e=k[k[f>>2]>>2]|0;g=(k[d>>2]|0)>1&1;g=BN(e,g,hr(k[k[c>>2]>>2]|0)|0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=KM(k[f>>2]|0)|0;k[n>>2]=g}}while(0);if(k[n>>2]|0)$B(k[f>>2]|0);if((k[n>>2]&255|0)!=5)break;if(l[(k[f>>2]|0)+20>>0]|0)break;if(!(nr(k[f>>2]|0)|0))break}if(!(k[n>>2]|0)){if((l[(k[c>>2]|0)+8>>0]|0)==0?(g=(k[f>>2]|0)+40|0,k[g>>2]=(k[g>>2]|0)+1,(i[(k[c>>2]|0)+9>>0]|0)!=0):0){i[(k[c>>2]|0)+32+8>>0]=1;k[(k[c>>2]|0)+32+12>>2]=k[(k[f>>2]|0)+72>>2];k[(k[f>>2]|0)+72>>2]=(k[c>>2]|0)+32}i[(k[c>>2]|0)+8>>0]=(k[d>>2]|0)!=0?2:1;if((l[(k[c>>2]|0)+8>>0]|0)>(l[(k[f>>2]|0)+20>>0]|0))i[(k[f>>2]|0)+20>>0]=i[(k[c>>2]|0)+8>>0]|0;if(k[d>>2]|0){k[h>>2]=k[(k[f>>2]|0)+12>>2];k[(k[f>>2]|0)+76>>2]=k[c>>2];g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-33;if((k[d>>2]|0)>1){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|32}g=k[(k[f>>2]|0)+44>>2]|0;if((g|0)!=(qr((k[(k[h>>2]|0)+56>>2]|0)+28|0)|0)?(g=Qg(k[(k[h>>2]|0)+72>>2]|0)|0,k[n>>2]=g,(k[n>>2]|0)==0):0)pt((k[(k[h>>2]|0)+56>>2]|0)+28|0,k[(k[f>>2]|0)+44>>2]|0)}}}}while(0);if(!((k[n>>2]|0)==0&(k[d>>2]|0)!=0)){n=k[n>>2]|0;r=o;return n|0}h=HM(k[k[f>>2]>>2]|0,k[(k[k[c>>2]>>2]|0)+432>>2]|0)|0;k[n>>2]=h;n=k[n>>2]|0;r=o;return n|0}function Ag(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[(k[d>>2]|0)+4>>2]|0;a=Mi(a,Cg(k[(k[d>>2]|0)+24>>2]|0)|0,-1,0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((k[e>>2]|0)==15){c=zN(k[k[g>>2]>>2]|0)|0;k[k[f>>2]>>2]=c+(k[(k[d>>2]|0)+20>>2]|0);r=h;return}else{c=qr((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(k[e>>2]<<2))|0)|0;k[k[f>>2]>>2]=c;r=h;return}}function Cg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0}function Dg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+5>>0]|0|0}function Eg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=TF(k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;h=t+44|0;i=t+40|0;j=t+36|0;m=t+32|0;u=t+28|0;s=t+24|0;q=t+20|0;o=t+16|0;p=t+12|0;n=t+8|0;f=t+4|0;e=t;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[u>>2]=d;k[s>>2]=0;k[q>>2]=0;k[o>>2]=0;k[p>>2]=k[u>>2]&1;k[n>>2]=0;if((k[j>>2]|0)>>>0<=1&(k[j>>2]|0)==0){u=_j(51704)|0;k[h>>2]=u;u=k[h>>2]|0;r=t;return u|0}do if(k[(k[i>>2]|0)+44>>2]|0){k[s>>2]=k[(k[i>>2]|0)+44>>2];g=24}else{if(((k[n>>2]|0)!=0?(Lr(k[i>>2]|0)|0)!=0:0)?(u=Rs(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;if((k[n>>2]|0)!=0&(k[o>>2]|0)==0){k[f>>2]=0;c=k[(k[i>>2]|0)+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=kS((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;u=QL(c,u,L,k[(k[i>>2]|0)+160>>2]|0,f)|0;k[s>>2]=u;if((k[s>>2]|0)==0&(k[f>>2]|0)!=0){if(!((l[(k[i>>2]|0)+17>>0]|0|0)<=1?(l[(k[i>>2]|0)+13>>0]|0|0)==0:0)){u=rs(k[i>>2]|0,k[j>>2]|0)|0;k[q>>2]=u}d=k[i>>2]|0;if(!(k[q>>2]|0)){u=wN(d,k[j>>2]|0,k[f>>2]|0,q)|0;k[s>>2]=u}else{c=k[d+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=kS((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ws(c,u,L,k[f>>2]|0)|0}if(k[q>>2]|0){k[k[m>>2]>>2]=k[q>>2];k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}}if(k[s>>2]|0)break}u=ws(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,3)|0;k[e>>2]=u;if(!(k[e>>2]|0)){u=xN(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,e)|0;k[s>>2]=u;if(k[s>>2]|0)break;if(!(k[e>>2]|0)){k[k[m>>2]>>2]=0;k[q>>2]=0;k[s>>2]=7;break}}g=xs(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,k[e>>2]|0)|0;k[k[m>>2]>>2]=g;k[q>>2]=g;g=24}while(0);do if((g|0)==24){if(k[s>>2]|0){k[q>>2]=0;break}d=k[i>>2]|0;if(!((k[p>>2]|0)!=0?1:(k[(k[q>>2]|0)+16>>2]|0)==0)){u=d+192|0;k[u>>2]=(k[u>>2]|0)+1;k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}k[(k[q>>2]|0)+16>>2]=d;if((k[j>>2]|0)>>>0<=2147483647?(k[j>>2]|0)!=(((k[384]|0)/(k[(k[i>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[k[(k[i>>2]|0)+64>>2]>>2]|0)!=0?!((k[p>>2]|0)!=0?1:(k[(k[i>>2]|0)+28>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){u=(Lr(k[i>>2]|0)|0)!=0;if(u&(k[n>>2]|0)==0?(u=Rs(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;u=(k[i>>2]|0)+192+4|0;k[u>>2]=(k[u>>2]|0)+1;u=Ss(k[q>>2]|0,k[o>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0)break}else{if((k[j>>2]|0)>>>0>(k[(k[i>>2]|0)+164>>2]|0)>>>0){k[s>>2]=13;break}if(k[p>>2]|0){gk();if((k[j>>2]|0)>>>0<=(k[(k[i>>2]|0)+32>>2]|0)>>>0)vj(k[(k[i>>2]|0)+60>>2]|0,k[j>>2]|0)|0;au(k[i>>2]|0,k[j>>2]|0)|0;hk()}dS(k[(k[q>>2]|0)+4>>2]|0,0,k[(k[i>>2]|0)+160>>2]|0)|0}k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}u=_j(51793)|0;k[s>>2]=u}while(0);if(k[q>>2]|0)Qs(k[q>>2]|0);Vs(k[i>>2]|0);k[k[m>>2]>>2]=0;k[h>>2]=k[s>>2];u=k[h>>2]|0;r=t;return u|0}function Gg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+4>>2]|0}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+80|0;e=w+68|0;x=w+64|0;f=w+60|0;g=w+56|0;p=w+52|0;o=w+48|0;n=w+44|0;m=w+40|0;j=w+8|0;v=w+36|0;l=w;q=w+32|0;h=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;k[e>>2]=a;k[x>>2]=b;k[f>>2]=c;k[g>>2]=d;a=Zf(k[(k[e>>2]|0)+4>>2]|0)|0;k[p>>2]=a;a=Cg(k[(k[e>>2]|0)+24>>2]|0)|0;k[o>>2]=a;a=Cg(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=a;k[m>>2]=(k[o>>2]|0)<(k[n>>2]|0)?k[o>>2]|0:k[n>>2]|0;a=k[o>>2]|0;a=kS(k[x>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=j;k[c>>2]=a;k[c+4>>2]=L;k[v>>2]=0;if((k[o>>2]|0)!=(k[n>>2]|0)?(uK(k[p>>2]|0)|0)!=0:0)k[v>>2]=8;x=j;c=k[o>>2]|0;c=_R(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L;while(1){if(k[v>>2]|0){e=14;break}c=l;b=k[c+4>>2]|0;x=j;a=k[x+4>>2]|0;if(!((b|0)<(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0<(k[x>>2]|0)>>>0:0))){e=14;break}k[q>>2]=0;c=l;x=k[n>>2]|0;x=iS(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;k[h>>2]=x+1;if((k[h>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=Fg(k[p>>2]|0,k[h>>2]|0,q,0)|0;k[v>>2]=x;if((0==(x|0)?(x=Qg(k[q>>2]|0)|0,k[v>>2]=x,0==(x|0)):0)?(x=l,c=k[o>>2]|0,c=jS(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,k[t>>2]=(k[f>>2]|0)+c,c=Gg(k[q>>2]|0)|0,k[s>>2]=c,c=l,x=k[n>>2]|0,x=jS(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,k[u>>2]=(k[s>>2]|0)+x,bS(k[u>>2]|0,k[t>>2]|0,k[m>>2]|0)|0,x=cu(k[q>>2]|0)|0,i[x>>0]=0,x=l,(k[x>>2]|0)==0&(k[x+4>>2]|0)==0&(k[g>>2]|0)==0):0){x=(k[u>>2]|0)+28|0;pt(x,Eg(k[(k[e>>2]|0)+24>>2]|0)|0)}Ig(k[q>>2]|0)}c=k[n>>2]|0;x=l;c=$R(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L}if((e|0)==14){r=w;return k[v>>2]|0}return 0}function Ig(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Ts(k[b>>2]|0);r=c;return}function Jg(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Yg(Zf(k[(k[c>>2]|0)+24>>2]|0)|0)|0;k[d>>2]=a;k[(k[c>>2]|0)+44>>2]=k[k[d>>2]>>2];k[k[d>>2]>>2]=k[c>>2];k[(k[c>>2]|0)+40>>2]=1;r=b;return}function Kg(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);k[(k[(k[d>>2]|0)+4>>2]|0)+44>>2]=0;a=KM(k[(k[d>>2]|0)+4>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;l=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[l>>2]|0)+4>>2];wg(k[l>>2]|0);k[g>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];a=Qg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){l=k[h>>2]|0;r=j;return l|0}pt((k[g>>2]|0)+(36+(k[d>>2]<<2))|0,k[e>>2]|0);if((k[d>>2]|0)!=7){l=k[h>>2]|0;r=j;return l|0}i[(k[f>>2]|0)+18>>0]=k[e>>2];l=k[h>>2]|0;r=j;return l|0}function Mg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(k[(k[d>>2]|0)+12>>2]|0)Ij(k[(k[d>>2]|0)+12>>2]|0);k[c>>2]=(k[c>>2]|0)+1}d=(k[b>>2]|0)+24|0;k[d>>2]=k[d>>2]&-3;Eu(k[b>>2]|0);WB(k[b>>2]|0);r=e;return}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;if((k[d>>2]|0)==1){a=(k[f>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|16}a=zg(k[c>>2]|0,0)|0;k[g>>2]=a;do if(!(k[g>>2]|0)){k[e>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];if((l[(k[e>>2]|0)+18>>0]|0|0)==(k[d>>2]&255|0)?(l[(k[e>>2]|0)+19>>0]|0|0)==(k[d>>2]&255|0):0)break;a=zg(k[c>>2]|0,2)|0;k[g>>2]=a;if((k[g>>2]|0)==0?(a=Qg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){i[(k[e>>2]|0)+18>>0]=k[d>>2];i[(k[e>>2]|0)+19>>0]=k[d>>2]}}while(0);a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;r=h;return k[g>>2]|0}function Og(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+64>>2]|0}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+28>>2];r=c;return}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+16>>2];if(k[(k[d>>2]|0)+44>>2]|0){k[c>>2]=k[(k[d>>2]|0)+44>>2];d=k[c>>2]|0;r=e;return d|0}if(((m[(k[b>>2]|0)+24>>1]|0)&4|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)>>>0>=(k[(k[b>>2]|0)+20>>2]|0)>>>0:0)if(k[(k[d>>2]|0)+104>>2]|0){d=Gt(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}b=k[b>>2]|0;if((k[(k[d>>2]|0)+156>>2]|0)>>>0>(k[(k[d>>2]|0)+160>>2]|0)>>>0){d=qN(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{d=rN(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}return 0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;n=o+12|0;j=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[d>>2]=k[(k[e>>2]|0)+44>>2];n=k[d>>2]|0;r=o;return n|0}if(Li(400)|0){k[d>>2]=10;n=k[d>>2]|0;r=o;return n|0}if((l[(k[e>>2]|0)+17>>0]|0|0)<3){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=0==(Ir(k[e>>2]|0,1)|0);c=k[e>>2]|0;do if(!b){b=(Lr(c)|0)!=0;c=k[e>>2]|0;if(b){h=Ks(k[c+212>>2]|0)|0;k[j>>2]=h;k[m>>2]=0;if(!(k[j>>2]|0)){h=Fg(k[e>>2]|0,1,m,0)|0;k[n>>2]=h;k[j>>2]=k[m>>2];k[(k[j>>2]|0)+12>>2]=0}if(k[j>>2]|0){j=Ht(k[e>>2]|0,k[j>>2]|0,k[(k[e>>2]|0)+28>>2]|0,1)|0;k[n>>2]=j}Ig(k[m>>2]|0);if(k[n>>2]|0)break;Jr(k[(k[e>>2]|0)+212>>2]|0);break}m=oN(c,0)|0;k[n>>2]=m;if((((k[n>>2]|0)==0?(m=pN(k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=It(k[e>>2]|0,0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=k[e>>2]|0,m=Jt(m,Ks(k[(k[e>>2]|0)+212>>2]|0)|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0){Jr(k[(k[e>>2]|0)+212>>2]|0);if((k[(k[e>>2]|0)+28>>2]|0)>>>0>(k[(k[e>>2]|0)+36>>2]|0)>>>0){k[h>>2]=(k[(k[e>>2]|0)+28>>2]|0)-((k[(k[e>>2]|0)+28>>2]|0)==(((k[384]|0)/(k[(k[e>>2]|0)+160>>2]|0)|0)+1|0)&1);m=Nr(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;if((k[n>>2]|0)!=0|(k[g>>2]|0)!=0)break}else if(k[g>>2]|0)break;m=Ug(k[e>>2]|0,k[f>>2]|0)|0;k[n>>2]=m}}else nj(k[c+96>>2]|0);while(0);if((k[n>>2]|0)==0?(Lr(k[e>>2]|0)|0)==0:0)i[(k[e>>2]|0)+17>>0]=5;k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+12>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+20|0;e=h+8|0;f=h;g=h+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=fj(k[d>>2]|0,f)|0;k[g>>2]=a;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}b=k[f+4>>2]|0;a=e;c=k[a+4>>2]|0;if(!((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){g=k[g>>2]|0;r=h;return g|0}a=e;a=Er(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(k[k[(k[c>>2]|0)+64>>2]>>2]|0){k[e>>2]=k[d>>2];b=Ki(k[(k[c>>2]|0)+64>>2]|0,21,k[e>>2]|0)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==12?0:b}if(k[f>>2]|0){b=k[f>>2]|0;r=g;return b|0}if(i[(k[c>>2]|0)+7>>0]|0){b=k[f>>2]|0;r=g;return b|0}b=Fr(k[(k[c>>2]|0)+64>>2]|0,l[(k[c>>2]|0)+12>>0]|0)|0;k[f>>2]=b;b=k[f>>2]|0;r=g;return b|0}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+28>>2]=k[e>>2];r=c;return}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(l[(k[d>>2]|0)+8>>0]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}wg(k[d>>2]|0);do if((l[(k[d>>2]|0)+8>>0]|0|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];a=nN(k[k[f>>2]>>2]|0)|0;k[g>>2]=a;if(!((k[g>>2]|0)!=0&(k[e>>2]|0)==0)){g=(k[d>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+-1;i[(k[f>>2]|0)+20>>0]=1;iN(k[f>>2]|0);break}k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}while(0);jN(k[d>>2]|0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((l[(k[d>>2]|0)+8>>0]|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((i[(k[f>>2]|0)+17>>0]|0)!=0?(b=mN(k[f>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}if(i[(k[f>>2]|0)+19>>0]|0)Vg(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+44>>2]|0);b=Rg(k[k[f>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=b}k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}function Yg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+96|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;n=p+8|0;o=p+4|0;g=p;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if(!(k[e>>2]|0)){c=fI(k[h>>2]|0,0,0)|0;k[e>>2]=c;k[m>>2]=c;if(k[m>>2]|0)k[f>>2]=0}else k[m>>2]=0;if((k[e>>2]|0)!=0?(c=eJ(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=c,(k[n>>2]|0)!=0):0)k[m>>2]=k[n>>2];if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){c=k[d>>2]|0;jN(c);c=k[m>>2]|0;r=p;return c|0}c=Ar(k[k[h>>2]>>2]|0)|0;k[o>>2]=c;if(k[o>>2]|0)k[m>>2]=k[o>>2];if(!(fG(k[h>>2]|0,1,j,0)|0)){c=qr((k[(k[j>>2]|0)+56>>2]|0)+28|0)|0;k[g>>2]=c;if(!(k[g>>2]|0))Pg(k[k[h>>2]>>2]|0,g);k[(k[h>>2]|0)+44>>2]=k[g>>2];_B(k[j>>2]|0)}i[(k[h>>2]|0)+20>>0]=1;iN(k[h>>2]|0);c=k[d>>2]|0;jN(c);c=k[m>>2]|0;r=p;return c|0}function _g(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;e=l+8|0;f=l+4|0;h=l;k[b>>2]=a;if((k[(k[b>>2]|0)+84>>2]|0)!=1691352191){r=l;return}if(zu(k[b>>2]|0)|0){r=l;return}gJ(k[b>>2]|0,0);hJ(k[b>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(VB(k[(k[g>>2]|0)+4>>2]|0)|0,k[(k[g>>2]|0)+4>>2]=0,(k[d>>2]|0)!=1):0)k[(k[g>>2]|0)+12>>2]=0;k[d>>2]=(k[d>>2]|0)+1}if(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0)Ij(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);Eu(k[b>>2]|0);WB(k[b>>2]|0);k[c>>2]=k[(k[b>>2]|0)+348+8>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];do{wu(k[b>>2]|0,k[e>>2]|0);k[j>>2]=k[(k[e>>2]|0)+8>>2];bg(k[b>>2]|0,k[e>>2]|0);k[e>>2]=k[j>>2]}while((k[e>>2]|0)!=0);k[c>>2]=k[k[c>>2]>>2]}Kj((k[b>>2]|0)+348|0);k[c>>2]=k[(k[b>>2]|0)+364+8>>2];while(1){if(!(k[c>>2]|0))break;k[f>>2]=k[(k[c>>2]|0)+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3)break;if(k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0)_b[k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]&255](k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}bg(k[b>>2]|0,k[f>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Kj((k[b>>2]|0)+364|0);k[c>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[c>>2]|0))break;k[h>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[h>>2]|0)+12>>2]|0)_b[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0);uI(k[b>>2]|0,k[h>>2]|0);bg(k[b>>2]|0,k[h>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Kj((k[b>>2]|0)+320|0);vg(k[b>>2]|0,0);mh(k[(k[b>>2]|0)+244>>2]|0);k[(k[b>>2]|0)+84>>2]=-1254786768;bg(k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);k[(k[b>>2]|0)+84>>2]=-1623446221;if(i[(k[b>>2]|0)+256+6>>0]|0)Ud(k[(k[b>>2]|0)+256+32>>2]|0);Ud(k[b>>2]|0);r=l;return}function $g(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+8|0;d=c+4|0;k[d>>2]=a;if(!(k[k[d>>2]>>2]|0)){$d(21,44004,c);k[b>>2]=1;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=0;d=k[b>>2]|0;r=c;return d|0}return 0}function ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;c=f+20|0;d=f+16|0;g=f+8|0;e=f;k[c>>2]=a;k[d>>2]=b;AI(k[k[c>>2]>>2]|0,g)|0;b=g;a=(k[d>>2]|0)+128|0;a=_R(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;a=kS(a|0,L|0,1e6,0)|0;b=e;k[b>>2]=a;k[b+4>>2]=L;if(k[(k[c>>2]|0)+192>>2]|0){g=e;ic[k[(k[c>>2]|0)+192>>2]&255](k[(k[c>>2]|0)+196>>2]|0,k[(k[d>>2]|0)+176>>2]|0,k[g>>2]|0,k[g+4>>2]|0)}if(!((l[(k[c>>2]|0)+76>>0]|0)&2)){g=k[d>>2]|0;g=g+128|0;b=g;k[b>>2]=0;g=g+4|0;k[g>>2]=0;r=f;return}ec[k[(k[c>>2]|0)+184>>2]&255](2,k[(k[c>>2]|0)+188>>2]|0,k[d>>2]|0,e)|0;g=k[d>>2]|0;g=g+128|0;b=g;k[b>>2]=0;g=g+4|0;k[g>>2]=0;r=f;return}function bh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!((k[(k[b>>2]|0)+20>>2]|0)!=770837923?(k[(k[b>>2]|0)+20>>2]|0)!=832317811:0)){a=dh(k[b>>2]|0)|0;k[c>>2]=a}mv(k[b>>2]|0);r=d;return k[c>>2]|0}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)==3082?1:(l[(k[d>>2]|0)+69>>0]|0|0)!=0){b=hN(k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}else{k[c>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];b=k[c>>2]|0;r=f;return b|0}return 0}function dh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];LI(k[b>>2]|0)|0;a=k[b>>2]|0;if((k[(k[b>>2]|0)+36>>2]|0)>=0){EI(a)|0;bg(k[c>>2]|0,k[(k[b>>2]|0)+108>>2]|0);k[(k[b>>2]|0)+108>>2]=0;if((m[(k[b>>2]|0)+144>>1]|0)>>>5&1){d=(k[b>>2]|0)+144|0;j[d>>1]=j[d>>1]&-2|1}}else if((k[a+40>>2]|0)!=0?(j[(k[b>>2]|0)+144>>1]&1|0)!=0:0){g=k[c>>2]|0;f=k[(k[b>>2]|0)+40>>2]|0;a=(k[(k[b>>2]|0)+108>>2]|0)!=0?18391:0;k[d>>2]=k[(k[b>>2]|0)+108>>2];tg(g,f,a,d);bg(k[c>>2]|0,k[(k[b>>2]|0)+108>>2]|0);k[(k[b>>2]|0)+108>>2]=0}gN(k[b>>2]|0);g=(k[b>>2]|0)+56|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[b>>2]|0)+20>>2]=1224384374;r=e;return k[(k[b>>2]|0)+40>>2]&k[(k[c>>2]|0)+56>>2]|0}function eh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=770837923;k[(k[c>>2]|0)+36>>2]=-1;k[(k[c>>2]|0)+40>>2]=0;i[(k[c>>2]|0)+142>>0]=2;k[(k[c>>2]|0)+44>>2]=0;k[(k[c>>2]|0)+32>>2]=1;i[(k[c>>2]|0)+143>>0]=-1;k[(k[c>>2]|0)+48>>2]=0;a=(k[c>>2]|0)+64|0;k[a>>2]=0;k[a+4>>2]=0;r=b;return}function fh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((m[(k[b>>2]|0)+8>>1]|0)&9312|0)==0?(k[(k[b>>2]|0)+24>>2]|0)==0:0){r=c;return}fN(k[b>>2]|0);r=c;return}function gh(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[c>>2]=a;a=(k[(k[c>>2]|0)+12>>2]|0)+(k[k[c>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<=0?1:a;if(Yx(k[c>>2]|0,k[e>>2]|0,1)|0){k[b>>2]=7;e=k[b>>2]|0;r=d;return e|0}else{dS((k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0,0,k[k[c>>2]>>2]|0)|0;e=(k[c>>2]|0)+12|0;k[e>>2]=(k[e>>2]|0)+(k[k[c>>2]>>2]|0);e=(k[c>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-16897;k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}return 0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;do if(k[d>>2]|0){if(((m[(k[d>>2]|0)+8>>1]|0)&514|0)==514?(l[(k[d>>2]|0)+10>>0]|0|0)==(l[e>>0]|0|0):0){k[c>>2]=k[(k[d>>2]|0)+16>>2];break}if((m[(k[d>>2]|0)+8>>1]|0)&1){k[c>>2]=0;break}else{a=eN(k[d>>2]|0,i[e>>0]|0)|0;k[c>>2]=a;break}}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+8|0;c=g+4|0;d=g+12|0;f=g;k[c>>2]=a;i[d>>0]=b;k[f>>2]=k[c>>2];if(((m[(k[f>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[c>>2]|0)+10>>0]|0|0)==(l[d>>0]|0|0):0){k[e>>2]=k[(k[f>>2]|0)+12>>2];f=k[e>>2]|0;r=g;return f|0}a=m[(k[f>>2]|0)+8>>1]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16){b=k[(k[f>>2]|0)+12>>2]|0;if(a&16384){k[e>>2]=b+(k[k[f>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{k[e>>2]=b;f=k[e>>2]|0;r=g;return f|0}}else if(a&1){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}else{f=dN(k[c>>2]|0,i[d>>0]|0)|0;k[e>>2]=f;f=k[e>>2]|0;r=g;return f|0}return 0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0.0;f=r;r=r+32|0;c=f+8|0;d=f+16|0;e=f;k[d>>2]=a;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&8){p[c>>3]=+p[b>>3];g=+p[c>>3];r=f;return +g}a=k[d>>2]|0;if((m[b+8>>1]|0)&4){e=a;p[c>>3]=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0);g=+p[c>>3];r=f;return +g}if((m[a+8>>1]|0)&18){p[e>>3]=0.0;oz(k[(k[d>>2]|0)+16>>2]|0,e,k[(k[d>>2]|0)+12>>2]|0,i[(k[d>>2]|0)+10>>0]|0)|0;p[c>>3]=+p[e>>3];g=+p[c>>3];r=f;return +g}else{p[c>>3]=0.0;g=+p[c>>3];r=f;return +g}return 0.0}function kh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+8|0;c=f+20|0;d=f+16|0;e=f;k[c>>2]=a;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(!(k[d>>2]&4)){if(k[d>>2]&8){a=Ux(+p[k[c>>2]>>3])|0;e=b;k[e>>2]=a;k[e+4>>2]=L;break}if(k[d>>2]&18){d=e;k[d>>2]=0;k[d+4>>2]=0;Wi(k[(k[c>>2]|0)+16>>2]|0,e,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0;d=e;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a;break}else{e=b;k[e>>2]=0;k[e+4>>2]=0;break}}else{d=k[c>>2]|0;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a}while(0);e=b;L=k[e+4>>2]|0;r=f;return k[e>>2]|0}function lh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((m[(k[c>>2]|0)+8>>1]|0)&18){if(((m[(k[c>>2]|0)+8>>1]|0)&16384|0)!=0?(gh(k[c>>2]|0)|0)!=0:0){k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}if((k[(k[c>>2]|0)+24>>2]|0)!=0?(k[(k[c>>2]|0)+16>>2]|0)==(k[(k[c>>2]|0)+20>>2]|0):0)break;if(!(Yx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0)){i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;break}k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}while(0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-4097;k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}function mh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}fh(k[b>>2]|0);bg(k[(k[b>>2]|0)+32>>2]|0,k[b>>2]|0);r=c;return}function nh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;g=r;r=r+32|0;f=g+12|0;m=g+8|0;l=g+4|0;j=g+16|0;h=g;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;i[j>>0]=d;k[h>>2]=e;if((qh(k[k[f>>2]>>2]|0,k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,k[h>>2]|0)|0)!=18){r=g;return}Be(k[f>>2]|0);r=g;return}function oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((k[e>>2]|0)==0|(k[e>>2]|0)==(-1|0)))_b[k[e>>2]&255](k[d>>2]|0);if(!(k[f>>2]|0)){r=g;return 18}Be(k[f>>2]|0);r=g;return 18}function ph(a,b){a=a|0;b=+b;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=b;sh(k[c>>2]|0);if(AG(+p[d>>3])|0){r=e;return}p[k[c>>2]>>3]=+p[d>>3];j[(k[c>>2]|0)+8>>1]=8;r=e;return}function qh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+28|0;n=u+24|0;f=u+20|0;v=u+16|0;o=u+34|0;p=u+12|0;t=u+8|0;s=u+4|0;q=u+32|0;g=u;k[n>>2]=a;k[f>>2]=b;k[v>>2]=c;i[o>>0]=d;k[p>>2]=e;k[t>>2]=k[v>>2];j[q>>1]=0;d=k[n>>2]|0;if(!(k[f>>2]|0)){sh(d);k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}if(k[d+32>>2]|0)k[s>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+96>>2];else k[s>>2]=1e9;j[q>>1]=(l[o>>0]|0)==0?16:2;if((k[t>>2]|0)<0){a:do if((l[o>>0]|0)==1){v=Tf(k[f>>2]|0)|0;k[t>>2]=v;if((k[t>>2]|0)>(k[s>>2]|0))k[t>>2]=(k[s>>2]|0)+1}else{k[t>>2]=0;while(1){if((k[t>>2]|0)>(k[s>>2]|0))break a;if(!(i[(k[f>>2]|0)+(k[t>>2]|0)>>0]|i[(k[f>>2]|0)+((k[t>>2]|0)+1)>>0]))break a;k[t>>2]=(k[t>>2]|0)+2}}while(0);j[q>>1]=m[q>>1]|512}do if((k[p>>2]|0)!=(-1|0)){v=(k[p>>2]|0)==170;fh(k[n>>2]|0);d=k[f>>2]|0;k[(k[n>>2]|0)+16>>2]=d;if(v){k[(k[n>>2]|0)+20>>2]=d;v=uu(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=v;break}else{k[(k[n>>2]|0)+36>>2]=k[p>>2];j[q>>1]=m[q>>1]|((k[p>>2]|0)==0?2048:1024);break}}else{k[g>>2]=k[t>>2];if(m[q>>1]&512)k[g>>2]=(k[g>>2]|0)+((l[o>>0]|0)==1?1:2);if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}if(!(Xx(k[n>>2]|0,(k[g>>2]|0)>32?k[g>>2]|0:32)|0)){bS(k[(k[n>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;break}k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}while(0);k[(k[n>>2]|0)+12>>2]=k[t>>2];j[(k[n>>2]|0)+8>>1]=j[q>>1]|0;i[(k[n>>2]|0)+10>>0]=(l[o>>0]|0)==0?1:l[o>>0]|0;if((l[(k[n>>2]|0)+10>>0]|0)!=1?(cN(k[n>>2]|0)|0)!=0:0){k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}else{k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}return 0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((m[(k[d>>2]|0)+8>>1]|0)&9312){a=e;bN(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=f;return}else{c=e;e=k[c+4>>2]|0;a=k[d>>2]|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;j[(k[d>>2]|0)+8>>1]=4;r=f;return}}function sh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if((m[(k[c>>2]|0)+8>>1]|0)&9312){wG(a);r=b;return}else{j[a+8>>1]=1;r=b;return}}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((m[(k[c>>2]|0)+8>>1]|0)&9312)wG(k[c>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-1025;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){e=k[e>>2]|0;r=f;return e|0}if((m[(k[d>>2]|0)+8>>1]|0)&2048){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|4096;a=lh(k[c>>2]|0)|0;k[e>>2]=a;e=k[e>>2]|0;r=f;return e|0}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;fh(k[c>>2]|0);j[(k[c>>2]|0)+8>>1]=16400;k[(k[c>>2]|0)+12>>2]=0;if((k[d>>2]|0)<0)k[d>>2]=0;k[k[c>>2]>>2]=k[d>>2];i[(k[c>>2]|0)+10>>0]=1;k[(k[c>>2]|0)+16>>2]=0;r=e;return}function vh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=43378;if((k[b>>2]|0)!=516){k[b>>2]=k[b>>2]&255;if((k[b>>2]|0)>=0&(k[b>>2]|0)<27?(k[6240+(k[b>>2]<<2)>>2]|0)!=0:0)k[c>>2]=k[6240+(k[b>>2]<<2)>>2]}else k[c>>2]=43392;r=d;return k[c>>2]|0}function wh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+69>>0]|0){r=c;return}if(l[(k[b>>2]|0)+70>>0]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=1;if((k[(k[b>>2]|0)+168>>2]|0)>0)k[(k[b>>2]|0)+248>>2]=1;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=c;return}function xh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;k[c>>2]=a;if(!(k[c>>2]|0)){$d(21,43338,d);k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}else{a=$g(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;if((k[(k[c>>2]|0)+20>>2]|0)!=770837923)ge(k[c>>2]|0)|0;k[d>>2]=k[k[c>>2]>>2];a=k[c>>2]|0;if(i[(k[d>>2]|0)+69>>0]|0){k[a+40>>2]=7;k[b>>2]=7;f=k[b>>2]|0;r=g;return f|0}if((k[a+36>>2]|0)<=0?(j[(k[c>>2]|0)+144>>1]&1|0)!=0:0){k[(k[c>>2]|0)+40>>2]=17;k[e>>2]=1}else{if((k[(k[c>>2]|0)+36>>2]|0)<0){if(!(k[(k[d>>2]|0)+156>>2]|0))k[(k[d>>2]|0)+248>>2]=0;if(!((k[(k[d>>2]|0)+192>>2]|0)==0?(l[(k[d>>2]|0)+76>>0]&2|0)==0:0))f=13;if(((f|0)==13?(i[(k[d>>2]|0)+148+5>>0]|0)==0:0)?(k[(k[c>>2]|0)+176>>2]|0)!=0:0)AI(k[k[d>>2]>>2]|0,(k[c>>2]|0)+128|0)|0;f=(k[d>>2]|0)+156|0;k[f>>2]=(k[f>>2]|0)+1;if(!((m[(k[c>>2]|0)+144>>1]|0)>>>7&1)){f=(k[d>>2]|0)+164|0;k[f>>2]=(k[f>>2]|0)+1}if((m[(k[c>>2]|0)+144>>1]|0)>>>8&1){f=(k[d>>2]|0)+160|0;k[f>>2]=(k[f>>2]|0)+1}k[(k[c>>2]|0)+36>>2]=0}if((m[(k[c>>2]|0)+144>>1]|0)>>>2&3){f=BI(k[c>>2]|0)|0;k[e>>2]=f}else{f=(k[d>>2]|0)+168|0;k[f>>2]=(k[f>>2]|0)+1;f=CI(k[c>>2]|0)|0;k[e>>2]=f;f=(k[d>>2]|0)+168|0;k[f>>2]=(k[f>>2]|0)+-1}if((k[e>>2]|0)!=100?(f=(k[c>>2]|0)+128|0,a=k[f+4>>2]|0,(a|0)>0|(a|0)==0&(k[f>>2]|0)>>>0>0):0)ah(k[d>>2]|0,k[c>>2]|0);if((k[e>>2]|0)==101?(f=DI(k[d>>2]|0)|0,k[(k[c>>2]|0)+40>>2]=f,(k[(k[c>>2]|0)+40>>2]|0)!=0):0)k[e>>2]=1;k[(k[d>>2]|0)+52>>2]=k[e>>2];if(7==(ch(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+40>>2]|0)|0))k[(k[c>>2]|0)+40>>2]=7}if(((k[e>>2]|0)!=100?((m[(k[c>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(k[e>>2]|0)!=101){f=EI(k[c>>2]|0)|0;k[e>>2]=f}k[b>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];f=k[b>>2]|0;r=g;return f|0}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+20|0;c=g+16|0;f=g+12|0;e=g+8|0;h=g+4|0;d=g;k[c>>2]=a;a=af(k[c>>2]|0)|0;k[h>>2]=a;a=_A(k[c>>2]|0)|0;k[d>>2]=a;a=di(k[d>>2]|0,k[h>>2]|0,-1,0,k[c>>2]|0,e,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){yI(k[e>>2]|0,k[c>>2]|0);Jh(k[e>>2]|0,k[c>>2]|0)|0;zI(k[e>>2]|0);bh(k[e>>2]|0)|0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}if((k[f>>2]|0)==7)wh(k[d>>2]|0);k[b>>2]=k[f>>2];h=k[b>>2]|0;r=g;return h|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}b=(Tf(k[e>>2]|0)|0)+1|0;k[f>>2]=b;b=k[f>>2]|0;b=Mh(k[d>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(k[g>>2]|0)bS(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[e>>2]|0;if((k[d>>2]|0)>0){Xx(b,k[d>>2]|0)|0;j[(k[e>>2]|0)+8>>1]=8192;k[k[e>>2]>>2]=k[(k[c>>2]|0)+4>>2];if(k[(k[e>>2]|0)+16>>2]|0)dS(k[(k[e>>2]|0)+16>>2]|0,0,k[d>>2]|0)|0}else{sh(b);k[(k[e>>2]|0)+16>>2]=0}r=f;return k[(k[e>>2]|0)+16>>2]|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;d=f;e=f+8|0;k[g>>2]=a;a=d;k[a>>2]=b;k[a+4>>2]=c;a=d;a=Mh(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}dS(k[e>>2]|0,0,k[d>>2]|0)|0;g=k[e>>2]|0;r=f;return g|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=k[h>>2];if(!(k[f>>2]|0)){h=xI()|0;k[c>>2]=h;h=k[c>>2]|0;r=g;return h|0}if((k[(k[f>>2]|0)+104>>2]|0)!=0?((k[d>>2]|0)>=0?(k[d>>2]|0)<(m[(k[f>>2]|0)+140>>1]|0|0):0):0)k[e>>2]=(k[(k[f>>2]|0)+104>>2]|0)+((k[d>>2]|0)*40|0);else{vg(k[k[f>>2]>>2]|0,25);h=xI()|0;k[e>>2]=h}k[c>>2]=k[e>>2];h=k[c>>2]|0;r=g;return h|0}function Eh(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){r=c;return}d=ch(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+40>>2]|0)|0;k[(k[b>>2]|0)+40>>2]=d;r=c;return}function Fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;m=n+12|0;l=n+8|0;j=n+4|0;h=n;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[m>>2]=0;k[l>>2]=k[o>>2];k[h>>2]=k[k[l>>2]>>2];c=He(k[o>>2]|0)|0;k[j>>2]=c;if(!((k[e>>2]|0)>=0?(k[e>>2]|0)<(k[j>>2]|0):0)){o=k[m>>2]|0;r=n;return o|0}o=ha(k[g>>2]|0,k[j>>2]|0)|0;k[e>>2]=(k[e>>2]|0)+o;o=bc[k[f>>2]&255]((k[(k[l>>2]|0)+100>>2]|0)+((k[e>>2]|0)*40|0)|0)|0;k[m>>2]=o;if(!(i[(k[h>>2]|0)+69>>0]|0)){o=k[m>>2]|0;r=n;return o|0}zi(k[h>>2]|0);k[m>>2]=0;o=k[m>>2]|0;r=n;return o|0}function Gh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;m=s+12|0;n=s+32|0;o=s+8|0;p=s+4|0;q=s;k[t>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=e;i[n>>0]=f;k[o>>2]=k[t>>2];c=Hh(k[o>>2]|0,k[g>>2]|0)|0;k[q>>2]=c;if(k[q>>2]|0){if(!((k[m>>2]|0)!=0&(k[m>>2]|0)!=(-1|0))){t=k[q>>2]|0;r=s;return t|0}_b[k[m>>2]&255](k[h>>2]|0);t=k[q>>2]|0;r=s;return t|0}if(!(k[h>>2]|0)){t=k[q>>2]|0;r=s;return t|0}k[p>>2]=(k[(k[o>>2]|0)+116>>2]|0)+(((k[g>>2]|0)-1|0)*40|0);t=qh(k[p>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0)|0;k[q>>2]=t;if((k[q>>2]|0)==0?(l[n>>0]|0|0)!=0:0){t=su(k[p>>2]|0,l[(k[k[o>>2]>>2]|0)+66>>0]|0)|0;k[q>>2]=t}vg(k[k[o>>2]>>2]|0,k[q>>2]|0);t=ch(k[k[o>>2]>>2]|0,k[q>>2]|0)|0;k[q>>2]=t;t=k[q>>2]|0;r=s;return t|0}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;k[d>>2]=a;k[e>>2]=b;if(xh(k[d>>2]|0)|0){h=Vf(76348)|0;k[c>>2]=h;h=k[c>>2]|0;r=i;return h|0}if((k[(k[d>>2]|0)+20>>2]|0)==770837923?(k[(k[d>>2]|0)+36>>2]|0)<0:0){if((k[e>>2]|0)>=1?(k[e>>2]|0)<=(j[(k[d>>2]|0)+16>>1]|0):0){k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=(k[(k[d>>2]|0)+116>>2]|0)+((k[e>>2]|0)*40|0);fh(k[f>>2]|0);j[(k[f>>2]|0)+8>>1]=1;vg(k[k[d>>2]>>2]|0,0);do if((m[(k[d>>2]|0)+144>>1]|0)>>>9&1){if(!((k[e>>2]|0)<32?(k[(k[d>>2]|0)+196>>2]&1<>2]|0)!=0:0))h=12;if((h|0)==12?(k[(k[d>>2]|0)+196>>2]|0)!=-1:0)break;h=(k[d>>2]|0)+144|0;j[h>>1]=j[h>>1]&-2|1}while(0);k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}vg(k[k[d>>2]>>2]|0,25);k[c>>2]=25;h=k[c>>2]|0;r=i;return h|0}vg(k[k[d>>2]>>2]|0,21);k[g>>2]=k[(k[d>>2]|0)+176>>2];$d(21,39833,g);h=Vf(76356)|0;k[c>>2]=h;h=k[c>>2]|0;r=i;return h|0}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[e>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}a:do if(k[f>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+18>>1]|0))break a;k[l>>2]=k[(k[(k[e>>2]|0)+120>>2]|0)+(k[h>>2]<<2)>>2];if(((k[l>>2]|0)!=0?(vR(k[l>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)==0:0)?(i[(k[l>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)break;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=(k[h>>2]|0)+1;b=k[d>>2]|0;r=m;return b|0}while(0);k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;d=f+8|0;e=f+4|0;c=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[e>>2]=k[g>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(j[(k[d>>2]|0)+16>>1]|0))break;wI((k[(k[e>>2]|0)+116>>2]|0)+((k[c>>2]|0)*40|0)|0,(k[(k[d>>2]|0)+116>>2]|0)+((k[c>>2]|0)*40|0)|0);k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;d=D+148|0;e=D+144|0;f=D+140|0;n=D+136|0;u=D+132|0;o=D+128|0;t=D+124|0;h=D+120|0;w=D+116|0;v=D+88|0;x=D;c=D+84|0;q=D+80|0;g=D+152|0;s=D+76|0;k[d>>2]=a;k[e>>2]=b;k[n>>2]=0;k[u>>2]=1;k[f>>2]=k[k[d>>2]>>2];ng(v,0,D+156|0,100,k[(k[f>>2]|0)+96>>2]|0);a:do if((k[(k[f>>2]|0)+168>>2]|0)>1)while(1){if(!(i[k[e>>2]>>0]|0))break a;k[c>>2]=k[e>>2];do{C=k[e>>2]|0;k[e>>2]=C+1;if((i[C>>0]|0)==10)break}while((i[k[e>>2]>>0]|0)!=0);CA(v,39799,3);CA(v,k[c>>2]|0,(k[e>>2]|0)-(k[c>>2]|0)|0)}else{if(!(j[(k[d>>2]|0)+16>>1]|0)){C=k[e>>2]|0;CA(v,C,Tf(k[e>>2]|0)|0);break}while(1){if(!(i[k[e>>2]>>0]|0))break a;c=vI(k[e>>2]|0,t)|0;k[o>>2]=c;CA(v,k[e>>2]|0,k[o>>2]|0);k[e>>2]=(k[e>>2]|0)+(k[o>>2]|0);if(!(k[t>>2]|0))break a;do if((i[k[e>>2]>>0]|0)==63)if((k[t>>2]|0)>1){_i((k[e>>2]|0)+1|0,n)|0;break}else{k[n>>2]=k[u>>2];break}else{c=Ih(k[d>>2]|0,k[e>>2]|0,k[t>>2]|0)|0;k[n>>2]=c}while(0);k[e>>2]=(k[e>>2]|0)+(k[t>>2]|0);k[u>>2]=(k[n>>2]|0)+1;k[w>>2]=(k[(k[d>>2]|0)+116>>2]|0)+(((k[n>>2]|0)-1|0)*40|0);if(m[(k[w>>2]|0)+8>>1]&1){CA(v,39691,4);continue}b=k[w>>2]|0;if(m[(k[w>>2]|0)+8>>1]&4){a=b;b=k[a+4>>2]|0;c=y;k[c>>2]=k[a>>2];k[c+4>>2]=b;BA(v,28266,y);continue}a=k[w>>2]|0;if(m[b+8>>1]&8){p[z>>3]=+p[a>>3];BA(v,28271,z);continue}if(m[a+8>>1]&2){i[g>>0]=i[(k[f>>2]|0)+66>>0]|0;if((l[g>>0]|0)!=1){a=x;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[x+32>>2]=k[f>>2];qh(x,k[(k[w>>2]|0)+16>>2]|0,k[(k[w>>2]|0)+12>>2]|0,i[g>>0]|0,0)|0;if(7==(su(x,1)|0)){i[v+24>>0]=1;k[v+16>>2]=0}k[w>>2]=x}k[q>>2]=k[(k[w>>2]|0)+12>>2];c=k[(k[w>>2]|0)+16>>2]|0;k[B>>2]=k[q>>2];k[B+4>>2]=c;BA(v,39803,B);if((l[g>>0]|0)==1)continue;fh(x);continue}else{if(m[(k[w>>2]|0)+8>>1]&16384){k[C>>2]=k[k[w>>2]>>2];BA(v,39810,C);continue}CA(v,39823,2);k[s>>2]=k[(k[w>>2]|0)+12>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[s>>2]|0))break;k[A>>2]=i[(k[(k[w>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]&255;BA(v,39826,A);k[h>>2]=(k[h>>2]|0)+1}CA(v,39831,1);continue}}}while(0);if(!(i[v+24>>0]|0)){C=pg(v)|0;r=D;return C|0}HA(v);C=pg(v)|0;r=D;return C|0}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;g=h+8|0;f=h;e=h+24|0;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+10>>0]|0;if(!(oz(k[(k[c>>2]|0)+16>>2]|0,g,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){r=h;return}if(!(Wi(k[(k[c>>2]|0)+16>>2]|0,f,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){a=k[f+4>>2]|0;g=k[c>>2]|0;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|4;r=h;return}p[k[c>>2]>>3]=+p[g>>3];g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|8;if(!(k[d>>2]|0)){r=h;return}Tx(k[c>>2]|0);r=h;return}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0){g=f;g=dx(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}else{a=f;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}return 0}function Nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+16|0;o=q;h=q+52|0;j=q+48|0;e=q+44|0;l=q+40|0;m=q+36|0;n=q+32|0;g=q+28|0;f=q+24|0;k[j>>2]=a;k[e>>2]=b;k[l>>2]=c;k[m>>2]=d;if(Uz(k[j>>2]|0)|0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}c=Di(k[k[j>>2]>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[g>>2]=(k[e>>2]&1|0)!=0?39772:39785;if(((xi(k[k[j>>2]>>2]|0,k[m>>2]|0)|0)<1?(c=Cj((k[k[j>>2]>>2]|0)+320|0,k[l>>2]|0)|0,k[f>>2]=c,(k[f>>2]|0)!=0):0)?(tI(k[j>>2]|0,k[f>>2]|0)|0)!=0:0){k[h>>2]=k[(k[f>>2]|0)+16>>2];p=k[h>>2]|0;r=q;return p|0}if(!(k[e>>2]&2)){b=k[j>>2]|0;e=k[g>>2]|0;if(k[m>>2]|0){m=k[m>>2]|0;p=k[l>>2]|0;k[o>>2]=e;k[o+4>>2]=m;k[o+8>>2]=p;Oh(b,30029,o)}else{o=k[l>>2]|0;k[p>>2]=e;k[p+4>>2]=o;Oh(b,30039,p)}i[(k[j>>2]|0)+17>>0]=1}}k[h>>2]=k[n>>2];p=k[h>>2]|0;r=q;return p|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+48|0;d=g+32|0;j=g+28|0;f=g+24|0;h=g+8|0;e=g;k[d>>2]=a;k[j>>2]=b;k[e>>2]=k[k[d>>2]>>2];k[h>>2]=c;b=yx(k[e>>2]|0,k[j>>2]|0,h)|0;k[f>>2]=b;if(i[(k[e>>2]|0)+73>>0]|0){bg(k[e>>2]|0,k[f>>2]|0);r=g;return}else{j=(k[d>>2]|0)+36|0;k[j>>2]=(k[j>>2]|0)+1;bg(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);k[(k[d>>2]|0)+4>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=1;r=g;return}}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=-1e6;if(!(k[d>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){c=6;break}if((k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)==(k[d>>2]|0)){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){e=k[e>>2]|0;r=f;return e|0}return 0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e+28|0;g=e+24|0;f=e+8|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=yx(k[h>>2]|0,k[g>>2]|0,f)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function Rh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=k[k[d>>2]>>2];b=dx(k[e>>2]|0,208,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}a=(k[f>>2]|0)+88|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[f>>2]>>2]=k[e>>2];if(k[(k[e>>2]|0)+4>>2]|0)k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+8>>2]=k[(k[e>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+20>>2]=381479589;k[(k[f>>2]|0)+12>>2]=k[d>>2];k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}function Sh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=r;r=r+32|0;j=h+24|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;i=h+4|0;g=h;k[j>>2]=a;k[o>>2]=b;k[n>>2]=c;k[m>>2]=d;k[l>>2]=e;k[i>>2]=f;f=tx(k[j>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;k[g>>2]=f;Wh(k[j>>2]|0,k[g>>2]|0,k[i>>2]|0,-14);r=h;return k[g>>2]|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((k[(k[c>>2]|0)+136>>2]|0)<=0){r=e;return}i[(k[(k[c>>2]|0)+88>>2]|0)+(((k[(k[c>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=i[d>>0]|0;r=e;return}function Uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[o+12>>2]=d;if(((k[(k[f>>2]|0)+136>>2]|0)+(k[g>>2]|0)|0)>(k[(k[(k[f>>2]|0)+12>>2]|0)+48>>2]|0)?(vx(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}a=(k[(k[f>>2]|0)+88>>2]|0)+((k[(k[f>>2]|0)+136>>2]|0)*20|0)|0;k[n>>2]=a;k[m>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[g>>2]|0))break;i[k[n>>2]>>0]=i[k[h>>2]>>0]|0;k[(k[n>>2]|0)+4>>2]=i[(k[h>>2]|0)+1>>0];k[(k[n>>2]|0)+8>>2]=i[(k[h>>2]|0)+2>>0];if((l[34898+(l[k[h>>2]>>0]|0)>>0]&1|0)!=0?(i[(k[h>>2]|0)+2>>0]|0)>0:0){a=(k[n>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+136>>2]|0)}k[(k[n>>2]|0)+12>>2]=i[(k[h>>2]|0)+3>>0];i[(k[n>>2]|0)+1>>0]=0;k[(k[n>>2]|0)+16>>2]=0;i[(k[n>>2]|0)+3>>0]=0;k[j>>2]=(k[j>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+4;k[n>>2]=(k[n>>2]|0)+20}n=(k[f>>2]|0)+136|0;k[n>>2]=(k[n>>2]|0)+(k[g>>2]|0);k[e>>2]=k[m>>2];n=k[e>>2]|0;r=o;return n|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=(k[c>>2]|0)+148|0;k[a>>2]=k[a>>2]|1<>2];if((k[d>>2]|0)==1){r=e;return}if(!(sI(k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2]|0)|0)){r=e;return}a=(k[c>>2]|0)+152|0;k[a>>2]=k[a>>2]|1<>2];r=e;return}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m;k[e>>2]=a;k[f>>2]=b;k[h>>2]=c;k[j>>2]=d;k[g>>2]=k[k[e>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){if((k[j>>2]|0)==-10){r=m;return}SA(k[g>>2]|0,k[j>>2]|0,k[h>>2]|0);r=m;return}if((k[f>>2]|0)<0)k[f>>2]=(k[(k[e>>2]|0)+136>>2]|0)-1;k[l>>2]=(k[(k[e>>2]|0)+88>>2]|0)+((k[f>>2]|0)*20|0);if((k[j>>2]|0)<0?(i[(k[l>>2]|0)+1>>0]|0)==0:0){e=k[h>>2]|0;if((k[j>>2]|0)==-14){k[(k[l>>2]|0)+16>>2]=e;i[(k[l>>2]|0)+1>>0]=-14;r=m;return}if(!e){r=m;return}k[(k[l>>2]|0)+16>>2]=k[h>>2];i[(k[l>>2]|0)+1>>0]=k[j>>2];if((k[j>>2]|0)!=-10){r=m;return}rI(k[h>>2]|0);r=m;return}qI(k[e>>2]|0,k[l>>2]|0,k[h>>2]|0,k[j>>2]|0);r=m;return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+40|0;e=p+36|0;f=p+32|0;n=p+28|0;m=p+24|0;h=p+20|0;g=p+16|0;c=p+12|0;o=p;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[n>>2]=j[(k[e>>2]|0)+400>>1];k[m>>2]=k[(k[e>>2]|0)+44>>2];k[h>>2]=k[(k[e>>2]|0)+40>>2];k[g>>2]=k[(k[e>>2]|0)+108>>2];k[m>>2]=(k[m>>2]|0)+(k[h>>2]|0);if((k[h>>2]|0)==0&(k[m>>2]|0)>0)k[m>>2]=(k[m>>2]|0)+1;k[c>>2]=((k[(k[d>>2]|0)+136>>2]|0)*20|0)+7&-8;k[o>>2]=(k[(k[d>>2]|0)+88>>2]|0)+(k[c>>2]|0);k[o+4>>2]=(k[(k[e>>2]|0)+52>>2]|0)-(k[c>>2]|0)&-8;KF(k[d>>2]|0,g);if(l[(k[e>>2]|0)+20>>0]|0)c=(l[(k[e>>2]|0)+21>>0]|0)!=0;else c=0;b=(k[d>>2]|0)+144|0;j[b>>1]=j[b>>1]&-65|(c&1)<<6&65535;if((k[m>>2]|0)<10?(l[(k[e>>2]|0)+409>>0]|0)!=0:0)k[m>>2]=10;b=(k[d>>2]|0)+144|0;j[b>>1]=j[b>>1]&-2;do{k[o+8>>2]=0;b=pI(o,k[(k[d>>2]|0)+92>>2]|0,(k[m>>2]|0)*40|0)|0;k[(k[d>>2]|0)+92>>2]=b;b=pI(o,k[(k[d>>2]|0)+116>>2]|0,(k[n>>2]|0)*40|0)|0;k[(k[d>>2]|0)+116>>2]=b;b=pI(o,k[(k[d>>2]|0)+96>>2]|0,k[g>>2]<<2)|0;k[(k[d>>2]|0)+96>>2]=b;b=pI(o,k[(k[d>>2]|0)+112>>2]|0,k[h>>2]<<2)|0;k[(k[d>>2]|0)+112>>2]=b;if(!(k[o+8>>2]|0))break;b=k[o+8>>2]|0;b=dx(k[f>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[d>>2]|0)+180>>2]=b;k[o>>2]=b;k[o+4>>2]=k[o+8>>2]}while((i[(k[f>>2]|0)+69>>0]|0)!=0^1);j[(k[d>>2]|0)+18>>1]=k[(k[e>>2]|0)+404>>2];k[(k[d>>2]|0)+120>>2]=k[(k[e>>2]|0)+428>>2];k[(k[e>>2]|0)+404>>2]=0;k[(k[e>>2]|0)+428>>2]=0;o=(k[d>>2]|0)+144|0;j[o>>1]=j[o>>1]&-13|(l[(k[e>>2]|0)+409>>0]&3)<<2&65535;if(i[(k[f>>2]|0)+69>>0]|0){j[(k[d>>2]|0)+16>>1]=0;k[(k[d>>2]|0)+28>>2]=0;k[(k[d>>2]|0)+24>>2]=0;o=k[d>>2]|0;eh(o);r=p;return}else{k[(k[d>>2]|0)+28>>2]=k[h>>2];j[(k[d>>2]|0)+16>>1]=k[n>>2];ZC(k[(k[d>>2]|0)+116>>2]|0,k[n>>2]|0,k[f>>2]|0,1);k[(k[d>>2]|0)+24>>2]=k[m>>2];ZC(k[(k[d>>2]|0)+92>>2]|0,k[m>>2]|0,k[f>>2]|0,128);dS(k[(k[d>>2]|0)+112>>2]|0,0,k[h>>2]<<2|0)|0;o=k[d>>2]|0;eh(o);r=p;return}}function Yh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;p=s+24|0;o=s+16|0;h=s+8|0;i=s+52|0;l=s;m=s+48|0;n=s+44|0;q=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;k[i>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[q>>2]=0;k[e>>2]=k[(k[i>>2]|0)+20>>2];c=l;a=k[c+4>>2]|0;d=k[(k[e>>2]|0)+116>>2]|0;k[d>>2]=k[c>>2];k[d+4>>2]=a;d=De(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=d;do if((k[n>>2]|0)==100){k[f>>2]=k[k[(k[e>>2]|0)+112>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+80+(k[(k[i>>2]|0)+12>>2]<<2)>>2];b=k[i>>2]|0;if((k[g>>2]|0)>>>0>=12){k[(k[i>>2]|0)+8>>2]=k[(k[f>>2]|0)+80+((k[b+12>>2]|0)+(j[(k[f>>2]|0)+12>>1]|0)<<2)>>2];h=mG(k[g>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=h;k[(k[i>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2];oI(k[(k[i>>2]|0)+16>>2]|0);break}c=k[b+24>>2]|0;if(!(k[g>>2]|0))b=39718;else b=(k[g>>2]|0)==7?39705:39710;k[h>>2]=b;h=Qh(c,39723,h)|0;k[q>>2]=h;k[n>>2]=1;fe(k[(k[i>>2]|0)+20>>2]|0)|0;k[(k[i>>2]|0)+20>>2]=0}while(0);if((k[n>>2]|0)==100){k[n>>2]=0;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}if(!(k[(k[i>>2]|0)+20>>2]|0)){p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}b=fe(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=b;k[(k[i>>2]|0)+20>>2]=0;b=k[(k[i>>2]|0)+24>>2]|0;if(!(k[n>>2]|0)){i=l;l=k[i+4>>2]|0;p=o;k[p>>2]=k[i>>2];k[p+4>>2]=l;p=Qh(b,39752,o)|0;k[q>>2]=p;k[n>>2]=1;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}else{o=mf(k[(k[i>>2]|0)+24>>2]|0)|0;k[p>>2]=o;p=Qh(b,18391,p)|0;k[q>>2]=p;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}return 0}function Zh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];bg(k[c>>2]|0,k[(k[b>>2]|0)+76>>2]|0);ov(k[c>>2]|0,k[(k[b>>2]|0)+80>>2]|0);if(k[c>>2]|0){a=(k[c>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)-(l[(k[b>>2]|0)+24>>0]|0)}i[(k[b>>2]|0)+24>>0]=0;r=d;return}function _h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if(!(l[(k[f>>2]|0)+66>>0]|0)){k[e>>2]=4;j=k[e>>2]|0;r=m;return j|0}if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)c=OF(k[f>>2]|0)|0;else c=0;k[j>>2]=c;if(!(k[j>>2]|0)){i=$F(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;k[j>>2]=i}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=m;return j|0}function $h(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;f=q+36|0;s=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;n=q+12|0;m=q+8|0;o=q+4|0;l=q;k[s>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=k[s>>2];if(!(k[m>>2]|0)){s=Vf(84716)|0;k[f>>2]=s;s=k[f>>2]|0;r=q;return s|0}k[l>>2]=k[(k[m>>2]|0)+24>>2];k[o>>2]=k[(k[m>>2]|0)+20>>2];do if(!((k[h>>2]|0)<0|(k[i>>2]|0)<0)?(a=k[i>>2]|0,b=k[h>>2]|0,b=$R(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=L,s=k[(k[m>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>s>>>0)):0){if(!(k[o>>2]|0)){k[n>>2]=4;break}nI(k[(k[m>>2]|0)+16>>2]|0);s=ec[k[j>>2]&255](k[(k[m>>2]|0)+16>>2]|0,(k[i>>2]|0)+(k[(k[m>>2]|0)+8>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;k[n>>2]=s;if((k[n>>2]|0)==4){bh(k[o>>2]|0)|0;k[(k[m>>2]|0)+20>>2]=0;break}else{k[(k[o>>2]|0)+40>>2]=k[n>>2];break}}else p=5;while(0);if((p|0)==5)k[n>>2]=1;vg(k[l>>2]|0,k[n>>2]|0);s=ch(k[l>>2]|0,k[n>>2]|0)|0;k[n>>2]=s;k[f>>2]=k[n>>2];s=k[f>>2]|0;r=q;return s|0}function ai(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+4>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+144|0;j[d>>1]=j[d>>1]&-2|1;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;p=x+32|0;q=x+28|0;m=x+24|0;j=x+20|0;o=x+56|0;h=x+16|0;n=x+12|0;f=x+8|0;g=x+4|0;e=x;k[t>>2]=a;k[u>>2]=b;k[v>>2]=c;k[w>>2]=d;k[m>>2]=l[(k[v>>2]|0)+1>>0];k[j>>2]=l[k[v>>2]>>0];i[o>>0]=i[(k[v>>2]|0)+3>>0]|0;k[h>>2]=0;a:while(1){if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=TC(t)|0;k[p>>2]=d;if(!d){a=83;break}if((k[p>>2]|0)==(k[j>>2]|0)){a=7;break}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){b=TC(t)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=49;break a}k[h>>2]=k[t>>2];break}k[f>>2]=0;k[g>>2]=0;k[e>>2]=0;b=TC(u)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=52;break a}b=TC(t)|0;k[q>>2]=b;if((k[q>>2]|0)==94){k[e>>2]=1;b=TC(t)|0;k[q>>2]=b}if((k[q>>2]|0)==93){if((k[p>>2]|0)==93)k[g>>2]=1;b=TC(t)|0;k[q>>2]=b}while(1){d=k[q>>2]|0;if(!((k[q>>2]|0)!=0?(k[q>>2]|0)!=93:0))break;if(((d|0)==45?(l[k[t>>2]>>0]|0)!=93:0)?((k[f>>2]|0)>>>0>0?(l[k[t>>2]>>0]|0)!=0:0):0){b=TC(t)|0;k[q>>2]=b;if((k[p>>2]|0)>>>0>=(k[f>>2]|0)>>>0?(k[p>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)k[g>>2]=1;k[f>>2]=0}else{if((k[p>>2]|0)==(k[q>>2]|0))k[g>>2]=1;k[f>>2]=k[q>>2]}b=TC(t)|0;k[q>>2]=b}if(!d){a=73;break a}if(!(k[g>>2]^k[e>>2])){a=73;break a}else continue a}while(0);if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=TC(u)|0;k[q>>2]=d;if((k[p>>2]|0)==(k[q>>2]|0))continue;if((l[o>>0]|0)!=0?((k[p>>2]|0)>>>0<128?(l[17613+(k[p>>2]&255)>>0]|0)==(l[17613+(k[q>>2]&255)>>0]|0):0)&(k[q>>2]|0)>>>0<128:0)continue;if((k[p>>2]|0)!=(k[m>>2]|0)){a=82;break}if(!((k[q>>2]|0)!=0?(k[t>>2]|0)!=(k[h>>2]|0):0)){a=82;break}}if((a|0)==7){while(1){a=0;if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=TC(t)|0;k[p>>2]=d;if((d|0)==(k[j>>2]|0))d=1;else d=(k[p>>2]|0)==(k[m>>2]|0);c=k[p>>2]|0;if(!d)break;if((c|0)!=(k[m>>2]|0)){a=7;continue}if(!(TC(u)|0)){a=15;break}else a=7}if((a|0)==15){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}if(!c){k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){m=TC(t)|0;k[p>>2]=m;if(k[p>>2]|0)break;k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}b:while(1){if(l[k[u>>2]>>0]|0)d=(bi((k[t>>2]|0)+-1|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)==0;else d=0;c=k[u>>2]|0;if(!d)break;k[u>>2]=c+1;if((l[c>>0]|0)<192)continue;while(1){if((l[k[u>>2]>>0]&192|0)!=128)continue b;k[u>>2]=(k[u>>2]|0)+1}}k[s>>2]=(l[c>>0]|0)!=0&1;w=k[s>>2]|0;r=x;return w|0}while(0);c:do if((k[p>>2]|0)>>>0<=128){d=k[p>>2]|0;if(i[o>>0]|0){k[n>>2]=d&~(l[18403+(k[p>>2]&255)>>0]&32);k[p>>2]=l[17613+(k[p>>2]&255)>>0]}else k[n>>2]=d;while(1){o=k[u>>2]|0;k[u>>2]=o+1;o=l[o>>0]|0;k[q>>2]=o;if(!o)break c;if((k[q>>2]|0)!=(k[p>>2]|0)?(k[q>>2]|0)!=(k[n>>2]|0):0)continue;if(bi(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}else{while(1){if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=TC(u)|0;k[q>>2]=d;if(!d)break c;if((k[q>>2]|0)!=(k[p>>2]|0))continue;if(bi(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}while(0);k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==49){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==52){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==73){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==82){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==83){k[s>>2]=(l[k[u>>2]>>0]|0)==0&1;w=k[s>>2]|0;r=x;return w|0}return 0}function ci(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[c>>2]|0)){$H(39691);k[b>>2]=0}else{k[d>>2]=k[(k[c>>2]|0)+84>>2];if((k[d>>2]|0)==-1607883113){k[b>>2]=1;break}if(ei(k[c>>2]|0)|0)$H(39696);k[b>>2]=0}while(0);r=e;return k[b>>2]|0}function di(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+32|0;i=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[k[o>>2]>>2]=0;b=(ci(k[i>>2]|0)|0)==0;if(b|(k[j>>2]|0)==0){b=Vf(114197)|0;k[h>>2]=b;b=k[h>>2]|0;r=s;return b|0}Yf(k[i>>2]|0);b=aI(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b;if((k[q>>2]|0)==17){fe(k[k[o>>2]>>2]|0)|0;b=aI(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b}k[h>>2]=k[q>>2];b=k[h>>2]|0;r=s;return b|0}function ei(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;b=c+8|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[(k[e>>2]|0)+84>>2];if((k[d>>2]|0)!=1266094736&(k[d>>2]|0)!=-1607883113&(k[d>>2]|0)!=-264537850){$H(39538);k[b>>2]=0;e=k[b>>2]|0;r=c;return e|0}else{k[b>>2]=1;e=k[b>>2]|0;r=c;return e|0}return 0}function fi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;p=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=0;b=Tf(k[g>>2]|0)|0;k[l>>2]=b;if(!(Cj((k[f>>2]|0)+320|0,k[g>>2]|0)|0)){b=dx(k[f>>2]|0,20+(k[l>>2]|0)+1|0,0)|0;k[n>>2]=b;if((k[n>>2]|0)!=0?(k[p>>2]=(k[n>>2]|0)+20,bS(k[p>>2]|0,k[g>>2]|0,(k[l>>2]|0)+1|0)|0,k[(k[n>>2]|0)+4>>2]=k[p>>2],k[k[n>>2]>>2]=k[h>>2],k[(k[n>>2]|0)+8>>2]=k[i>>2],k[(k[n>>2]|0)+12>>2]=k[j>>2],k[(k[n>>2]|0)+16>>2]=0,b=ck((k[f>>2]|0)+320|0,k[p>>2]|0,k[n>>2]|0)|0,k[m>>2]=b,(k[m>>2]|0)!=0):0){wh(k[f>>2]|0);bg(k[f>>2]|0,k[m>>2]|0)}}else{b=Vf(122590)|0;k[o>>2]=b}b=ch(k[f>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;if(!((k[o>>2]|0)!=0&(k[j>>2]|0)!=0)){b=k[o>>2]|0;r=q;return b|0}_b[k[j>>2]&255](k[i>>2]|0);b=k[o>>2]|0;r=q;return b|0}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+80|0;d=z+72|0;p=z+16|0;o=z+8|0;n=z;s=z+68|0;t=z+64|0;e=z+60|0;f=z+56|0;w=z+52|0;v=z+48|0;j=z+44|0;m=z+40|0;g=z+36|0;u=z+32|0;h=z+28|0;x=z+24|0;y=z+20|0;k[t>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;k[g>>2]=-1;k[u>>2]=k[k[t>>2]>>2];k[h>>2]=k[(k[u>>2]|0)+96+4>>2];if(!(k[(k[u>>2]|0)+156>>2]|0))k[(k[u>>2]|0)+248>>2]=0;k[(k[t>>2]|0)+12>>2]=0;k[(k[t>>2]|0)+436>>2]=k[e>>2];k[v>>2]=0;b=iv(179)|0;k[j>>2]=b;if(!(k[j>>2]|0)){wh(k[u>>2]|0);k[s>>2]=7;y=k[s>>2]|0;r=z;return y|0}a:while(1){do if(i[(k[e>>2]|0)+(k[v>>2]|0)>>0]|0){k[(k[t>>2]|0)+392>>2]=(k[e>>2]|0)+(k[v>>2]|0);b=jv((k[e>>2]|0)+(k[v>>2]|0)|0,m)|0;k[(k[t>>2]|0)+392+4>>2]=b;k[v>>2]=(k[v>>2]|0)+(k[(k[t>>2]|0)+392+4>>2]|0);if((k[v>>2]|0)>(k[h>>2]|0)){q=7;break a}}else{if((k[g>>2]|0)==1){k[m>>2]=0;break}if(!(k[g>>2]|0))break a;k[m>>2]=1}while(0);if((k[m>>2]|0)>=162){if(k[(k[u>>2]|0)+248>>2]|0){q=14;break}if((k[m>>2]|0)==163){q=16;break}else continue}else{a=k[j>>2]|0;c=k[m>>2]|0;A=(k[t>>2]|0)+392|0;b=k[t>>2]|0;k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];kv(a,c,d,b);k[g>>2]=k[m>>2];if(k[(k[t>>2]|0)+12>>2]|0)break;if(l[(k[u>>2]|0)+69>>0]|0)break;else continue}}if((q|0)==7)k[(k[t>>2]|0)+12>>2]=18;else if((q|0)==14)k[(k[t>>2]|0)+12>>2]=9;else if((q|0)==16){A=k[t>>2]|0;k[n>>2]=(k[t>>2]|0)+392;Oh(A,26437,n)}k[(k[t>>2]|0)+436>>2]=(k[e>>2]|0)+(k[v>>2]|0);lv(k[j>>2]|0,148);if(i[(k[u>>2]|0)+69>>0]|0)k[(k[t>>2]|0)+12>>2]=7;if(((k[(k[t>>2]|0)+12>>2]|0)!=0?(k[(k[t>>2]|0)+12>>2]|0)!=101:0)?(k[(k[t>>2]|0)+4>>2]|0)==0:0){A=k[u>>2]|0;q=vh(k[(k[t>>2]|0)+12>>2]|0)|0;k[o>>2]=q;A=Qh(A,18391,o)|0;k[(k[t>>2]|0)+4>>2]=A}if(k[(k[t>>2]|0)+4>>2]|0){k[k[f>>2]>>2]=k[(k[t>>2]|0)+4>>2];A=k[(k[t>>2]|0)+12>>2]|0;k[p>>2]=k[k[f>>2]>>2];$d(A,18391,p);k[(k[t>>2]|0)+4>>2]=0;k[w>>2]=(k[w>>2]|0)+1}if(((k[(k[t>>2]|0)+8>>2]|0)!=0?(k[(k[t>>2]|0)+36>>2]|0)>0:0)?(l[(k[t>>2]|0)+18>>0]|0)==0:0){mv(k[(k[t>>2]|0)+8>>2]|0);k[(k[t>>2]|0)+8>>2]=0}if(!(l[(k[t>>2]|0)+18>>0]|0)){bg(k[u>>2]|0,k[(k[t>>2]|0)+116>>2]|0);k[(k[t>>2]|0)+116>>2]=0;k[(k[t>>2]|0)+112>>2]=0}Ud(k[(k[t>>2]|0)+460>>2]|0);if(!(i[(k[t>>2]|0)+410>>0]|0))$f(k[u>>2]|0,k[(k[t>>2]|0)+440>>2]|0);if(k[(k[t>>2]|0)+476>>2]|0)nv(k[u>>2]|0,k[(k[t>>2]|0)+476>>2]|0);_f(k[u>>2]|0,k[(k[t>>2]|0)+444>>2]|0);k[v>>2]=(k[(k[t>>2]|0)+404>>2]|0)-1;while(1){d=k[u>>2]|0;if((k[v>>2]|0)<0)break;bg(d,k[(k[(k[t>>2]|0)+428>>2]|0)+(k[v>>2]<<2)>>2]|0);k[v>>2]=(k[v>>2]|0)+-1}bg(d,k[(k[t>>2]|0)+428>>2]|0);while(1){if(!(k[(k[t>>2]|0)+120>>2]|0))break;k[x>>2]=k[(k[t>>2]|0)+120>>2];k[(k[t>>2]|0)+120>>2]=k[k[x>>2]>>2];bg(k[u>>2]|0,k[x>>2]|0)}while(1){if(!(k[(k[t>>2]|0)+464>>2]|0))break;k[y>>2]=k[(k[t>>2]|0)+464>>2];k[(k[t>>2]|0)+464>>2]=k[(k[y>>2]|0)+68>>2];$f(k[u>>2]|0,k[y>>2]|0)}k[s>>2]=k[w>>2];A=k[s>>2]|0;r=z;return A|0}function hi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ch(k[b>>2]|0,40,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}j[(k[c>>2]|0)+8>>1]=1;k[(k[c>>2]|0)+32>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function ii(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m+16|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[f>>2]|0)){r=m;return}qh(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,i[j>>0]|0,k[l>>2]|0)|0;r=m;return}function ji(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=4220;wf(4,b)|0;r=a;return}function ki(){return 88}function li(){return 40}function mi(){return 32}function ni(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=4168;wf(18,b)|0;r=a;return}function oi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Fu(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function pi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+8>>0]|0|0)==2;a=a&1;r=c;return a|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(k[(k[f>>2]|0)+256+8>>2]|0){k[e>>2]=5;c=k[e>>2]|0;r=p;return c|0}if(i[(k[f>>2]|0)+256+6>>0]|0)Ud(k[(k[f>>2]|0)+256+32>>2]|0);c=k[h>>2]&-8;k[h>>2]=c;k[h>>2]=(k[h>>2]|0)<=4?0:c;if((k[l>>2]|0)<0)k[l>>2]=0;do if(!((k[h>>2]|0)==0|(k[l>>2]|0)==0)){if(k[g>>2]|0){k[o>>2]=k[g>>2];break}gk();c=ha(k[h>>2]|0,k[l>>2]|0)|0;c=jg(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;hk();if(k[o>>2]|0){c=kg(k[o>>2]|0)|0;k[l>>2]=(c|0)/(k[h>>2]|0)|0}}else{k[h>>2]=0;k[o>>2]=0}while(0);k[(k[f>>2]|0)+256+32>>2]=k[o>>2];k[(k[f>>2]|0)+256+28>>2]=0;j[(k[f>>2]|0)+256+4>>1]=k[h>>2];if(k[o>>2]|0){k[n>>2]=k[o>>2];k[m>>2]=(k[l>>2]|0)-1;while(1){if((k[m>>2]|0)<0)break;k[k[n>>2]>>2]=k[(k[f>>2]|0)+256+28>>2];k[(k[f>>2]|0)+256+28>>2]=k[n>>2];k[n>>2]=(k[n>>2]|0)+(k[h>>2]|0);k[m>>2]=(k[m>>2]|0)+-1}k[(k[f>>2]|0)+256+36>>2]=k[n>>2];k[(k[f>>2]|0)+256>>2]=0;i[(k[f>>2]|0)+256+6>>0]=(k[g>>2]|0)==0?1:0}else{k[(k[f>>2]|0)+256+32>>2]=k[f>>2];k[(k[f>>2]|0)+256+36>>2]=k[f>>2];k[(k[f>>2]|0)+256>>2]=1;i[(k[f>>2]|0)+256+6>>0]=0}k[e>>2]=0;c=k[e>>2]|0;r=p;return c|0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}if(!(ei(k[d>>2]|0)|0)){f=Vf(138867)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}if((l[(k[d>>2]|0)+76>>0]|0)&8)ec[k[(k[d>>2]|0)+184>>2]&255](8,k[(k[d>>2]|0)+188>>2]|0,k[d>>2]|0,0)|0;xu(k[d>>2]|0);yu(k[d>>2]|0)|0;if((k[e>>2]|0)==0?(zu(k[d>>2]|0)|0)!=0:0){tg(k[d>>2]|0,5,26295,f);k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}k[(k[d>>2]|0)+84>>2]=1691352191;_g(k[d>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;c=e+16|0;h=e+12|0;g=e+8|0;d=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[f>>2]=k[(k[h>>2]|0)+428>>2];if((((k[g>>2]|0)+1|0)*1e3|0)>(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=e;return h|0}else{Gi(k[k[d>>2]>>2]|0,1e6)|0;k[c>>2]=1;h=k[c>>2]|0;r=e;return h|0}return 0} +function ti(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;C=D;p=D+56|0;q=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;n=D+12|0;A=D+8|0;o=D+4|0;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;k[x>>2]=g;k[y>>2]=h;k[z>>2]=l;do if(k[s>>2]|0){if((k[w>>2]|0)!=0?(k[y>>2]|0)!=0|(k[x>>2]|0)!=0:0)break;if(((k[w>>2]|0)==0&(k[y>>2]|0)!=0^1|(k[x>>2]|0)!=0?!((((k[w>>2]|0)!=0|(k[y>>2]|0)!=0)^1)&(k[x>>2]|0)!=0|(k[t>>2]|0)<-1|(k[t>>2]|0)>127):0)?(b=Tf(k[s>>2]|0)|0,k[n>>2]=b,255>=(b|0)):0){k[A>>2]=k[u>>2]&2048;k[u>>2]=k[u>>2]&7;do if((k[u>>2]|0)!=4){if((k[u>>2]|0)==5){b=ti(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,1|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){b=ti(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,2|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b}if(!(k[o>>2]|0)){k[u>>2]=3;break}k[p>>2]=k[o>>2];C=k[p>>2]|0;r=D;return C|0}}else k[u>>2]=(i[968]|0)==0?3:2;while(0);b=ui(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,0)|0;k[B>>2]=b;do if(((k[B>>2]|0)!=0?(m[(k[B>>2]|0)+2>>1]&3|0)==(k[u>>2]|0):0)?(i[k[B>>2]>>0]|0)==(k[t>>2]|0):0){a=k[q>>2]|0;if(!(k[(k[q>>2]|0)+156>>2]|0)){ai(a);break}tg(a,5,26232,C);k[p>>2]=5;C=k[p>>2]|0;r=D;return C|0}while(0);C=ui(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,1)|0;k[B>>2]=C;if(!(k[B>>2]|0)){k[p>>2]=7;C=k[p>>2]|0;r=D;return C|0}wu(k[q>>2]|0,k[B>>2]|0);if(k[z>>2]|0){C=k[z>>2]|0;k[C>>2]=(k[C>>2]|0)+1}k[(k[B>>2]|0)+24>>2]=k[z>>2];j[(k[B>>2]|0)+2>>1]=m[(k[B>>2]|0)+2>>1]&3|k[A>>2];k[(k[B>>2]|0)+12>>2]=(k[w>>2]|0)!=0?k[w>>2]|0:k[x>>2]|0;k[(k[B>>2]|0)+16>>2]=k[y>>2];k[(k[B>>2]|0)+4>>2]=k[v>>2];i[k[B>>2]>>0]=k[t>>2];k[p>>2]=0;C=k[p>>2]|0;r=D;return C|0}}while(0);C=Vf(139436)|0;k[p>>2]=C;C=k[p>>2]|0;r=D;return C|0}function ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;f=y+44|0;g=y+40|0;h=y+36|0;m=y+32|0;n=y+49|0;o=y+48|0;t=y+28|0;u=y+24|0;p=y+20|0;q=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;i[n>>0]=d;i[o>>0]=e;k[u>>2]=0;k[p>>2]=0;b=Tf(k[h>>2]|0)|0;k[s>>2]=b;b=Cj((k[g>>2]|0)+348|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break;b=qu(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[w>>2]=b;if((k[w>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[w>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}a:do if(!(i[o>>0]|0)){if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&2097152|0)==0:0)break;k[p>>2]=0;k[q>>2]=((l[17613+(l[k[h>>2]>>0]|0)>>0]|0)+(k[s>>2]|0)|0)%23|0;b=ru(k[q>>2]|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break a;b=qu(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[x>>2]=b;if((k[x>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[x>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}}while(0);do if((l[o>>0]|0)!=0&(k[p>>2]|0)<6?(b=Ch(k[g>>2]|0,28+(k[s>>2]|0)+1|0,0)|0,k[u>>2]=b,(b|0)!=0):0){k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+28;i[k[u>>2]>>0]=k[m>>2];j[(k[u>>2]|0)+2>>1]=l[n>>0]|0;bS((k[u>>2]|0)+28|0,k[h>>2]|0,(k[s>>2]|0)+1|0)|0;b=ck((k[g>>2]|0)+348|0,k[(k[u>>2]|0)+20>>2]|0,k[u>>2]|0)|0;k[v>>2]=b;if((k[v>>2]|0)!=(k[u>>2]|0)){k[(k[u>>2]|0)+8>>2]=k[v>>2];break}bg(k[g>>2]|0,k[u>>2]|0);wh(k[g>>2]|0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}while(0);do if(k[u>>2]|0){if((k[(k[u>>2]|0)+12>>2]|0)==0?(l[o>>0]|0)==0:0)break;k[f>>2]=k[u>>2];b=k[f>>2]|0;r=y;return b|0}while(0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}function vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d;f=d+20|0;h=d+8|0;e=d+4|0;k[f>>2]=a;k[d+16>>2]=b;k[d+12>>2]=c;k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=Yd(26181,g)|0;k[e>>2]=a;se(k[f>>2]|0,k[e>>2]|0,-1);Ud(k[e>>2]|0);r=d;return}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=r;r=r+16|0;h=g+12|0;e=g+8|0;f=g+4|0;i=g;k[h>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=d;if((k[i>>2]|0)<(k[h>>2]|0)){r=g;return 0}gk();Mf(k[e>>2]|0,k[f>>2]|0)|0;hk();r=g;return 0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=-1;if(!(k[d>>2]|0)){f=k[f>>2]|0;r=g;return f|0}k[f>>2]=(k[(k[c>>2]|0)+20>>2]|0)-1;k[e>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);while(1){if((k[f>>2]|0)<0){c=6;break}if(!(sg(k[k[e>>2]>>2]|0,k[d>>2]|0)|0)){c=6;break}k[f>>2]=(k[f>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-16}if((c|0)==6){f=k[f>>2]|0;r=g;return f|0}return 0}function yi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;k[l>>2]=0;k[m>>2]=0;while(1){if(!((k[m>>2]|0)<(k[(k[f>>2]|0)+20>>2]|0)?(k[n>>2]|0)==0:0))break;if(((k[g>>2]|0)==10?1:(k[m>>2]|0)==(k[g>>2]|0))?(d=ou(k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<4)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0,k[n>>2]=d,k[i>>2]=0,k[j>>2]=0,(k[n>>2]|0)==5):0){k[l>>2]=1;k[n>>2]=0}k[m>>2]=(k[m>>2]|0)+1}r=o;return ((k[n>>2]|0)==0&(k[l>>2]|0)!=0?5:k[n>>2]|0)|0}function zi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(l[(k[b>>2]|0)+69>>0]|0)){r=c;return}if(k[(k[b>>2]|0)+168>>2]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=0;k[(k[b>>2]|0)+248>>2]=0;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return}function Ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s;f=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;e=s+12|0;q=s+8|0;p=s+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[q>>2]=0;k[p>>2]=0;k[k[h>>2]>>2]=0;d=Nd()|0;k[n>>2]=d;if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=s;return q|0}if(!(1<<(k[j>>2]&7)&70)){q=Vf(140621)|0;k[f>>2]=q;q=k[f>>2]|0;r=s;return q|0}do if(k[3]|0){if(k[j>>2]&32768){k[e>>2]=0;break}if(k[j>>2]&65536){k[e>>2]=1;break}else{k[e>>2]=k[4];break}}else k[e>>2]=0;while(0);if(!(k[j>>2]&262144)){if(k[57]|0)k[j>>2]=k[j>>2]|131072}else k[j>>2]=k[j>>2]&-131073;k[j>>2]=k[j>>2]&-655129;d=ug(464,0)|0;k[m>>2]=d;do if(k[m>>2]|0){if((k[e>>2]|0)!=0?(k[(k[m>>2]|0)+12>>2]=8,(k[(k[m>>2]|0)+12>>2]|0)==0):0){Ud(k[m>>2]|0);k[m>>2]=0;break}k[(k[m>>2]|0)+56>>2]=255;k[(k[m>>2]|0)+20>>2]=2;k[(k[m>>2]|0)+84>>2]=-264537850;k[(k[m>>2]|0)+16>>2]=(k[m>>2]|0)+392;c=(k[m>>2]|0)+96|0;e=1580;b=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(b|0));k[(k[m>>2]|0)+96+44>>2]=0;i[(k[m>>2]|0)+67>>0]=1;i[(k[m>>2]|0)+72>>0]=-1;b=184;a=k[b+4>>2]|0;d=(k[m>>2]|0)+40|0;k[d>>2]=k[b>>2];k[d+4>>2]=a;k[(k[m>>2]|0)+80>>2]=0;k[(k[m>>2]|0)+144>>2]=2147483647;d=(k[m>>2]|0)+24|0;k[d>>2]=k[d>>2]|17825888;Jj((k[m>>2]|0)+364|0);Jj((k[m>>2]|0)+320|0);Bi(k[m>>2]|0,34834,1,0,141,0)|0;Bi(k[m>>2]|0,34834,3,0,141,0)|0;Bi(k[m>>2]|0,34834,2,0,141,0)|0;Bi(k[m>>2]|0,20429,1,0,142,0)|0;Bi(k[m>>2]|0,20436,1,1,141,0)|0;if(!(i[(k[m>>2]|0)+69>>0]|0)){d=ak(k[m>>2]|0,1,34834,0)|0;k[(k[m>>2]|0)+8>>2]=d;k[(k[m>>2]|0)+48>>2]=k[j>>2];l=kk(k[l>>2]|0,k[g>>2]|0,j,k[m>>2]|0,q,p)|0;k[n>>2]=l;if(k[n>>2]|0){if((k[n>>2]|0)==7)wh(k[m>>2]|0);g=k[m>>2]|0;j=k[n>>2]|0;l=(k[p>>2]|0)!=0?18391:0;k[o>>2]=k[p>>2];tg(g,j,l,o);Ud(k[p>>2]|0);break}p=lk(k[k[m>>2]>>2]|0,k[q>>2]|0,k[m>>2]|0,(k[(k[m>>2]|0)+16>>2]|0)+4|0,0,k[j>>2]|256)|0;k[n>>2]=p;if(k[n>>2]|0){if((k[n>>2]|0)==3082)k[n>>2]=7;vg(k[m>>2]|0,k[n>>2]|0);break}wg(k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0);p=mk(k[m>>2]|0,k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]=p;if(!(i[(k[m>>2]|0)+69>>0]|0))i[(k[m>>2]|0)+66>>0]=i[(k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;p=mk(k[m>>2]|0,0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+16+12>>2]=p;k[k[(k[m>>2]|0)+16>>2]>>2]=20442;i[(k[(k[m>>2]|0)+16>>2]|0)+8>>0]=3;k[(k[(k[m>>2]|0)+16>>2]|0)+16>>2]=18672;i[(k[(k[m>>2]|0)+16>>2]|0)+16+8>>0]=1;k[(k[m>>2]|0)+84>>2]=-1607883113;if(!(i[(k[m>>2]|0)+69>>0]|0)){vg(k[m>>2]|0,0);nk(k[m>>2]|0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)==0?(ok(k[m>>2]|0),p=Nf(k[m>>2]|0)|0,k[n>>2]=p,(k[n>>2]|0)!=0):0)break;if((k[n>>2]|0)==0?(i[(k[m>>2]|0)+69>>0]|0)==0:0){p=pk(k[m>>2]|0)|0;k[n>>2]=p}if(k[n>>2]|0)vg(k[m>>2]|0,k[n>>2]|0);qi(k[m>>2]|0,0,k[9]|0,k[10]|0)|0;Jf(k[m>>2]|0,1e3)|0}}}while(0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)!=7){if(k[n>>2]|0)k[(k[m>>2]|0)+84>>2]=1266094736}else{Cf(k[m>>2]|0)|0;k[m>>2]=0}k[k[h>>2]>>2]=k[m>>2];Ud(k[q>>2]|0);k[f>>2]=k[n>>2]&255;q=k[f>>2]|0;r=s;return q|0}function Bi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;w=x;g=x+44|0;h=x+40|0;j=x+36|0;m=x+48|0;n=x+32|0;o=x+28|0;p=x+24|0;v=x+20|0;s=x+16|0;q=x+12|0;t=x+8|0;u=x+4|0;k[h>>2]=a;k[j>>2]=b;i[m>>0]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[s>>2]=l[m>>0];if((k[s>>2]|0)==4|(k[s>>2]|0)==8)k[s>>2]=(i[968]|0)==0?3:2;if((k[s>>2]|0)<1|(k[s>>2]|0)>3){w=Vf(140172)|0;k[g>>2]=w;w=k[g>>2]|0;r=x;return w|0}b=ak(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,0)|0;k[v>>2]=b;a:do if((k[v>>2]|0)!=0?(k[(k[v>>2]|0)+12>>2]|0)!=0:0){a=k[h>>2]|0;if(k[(k[h>>2]|0)+156>>2]|0){tg(a,5,20361,w);k[g>>2]=5;w=k[g>>2]|0;r=x;return w|0}ai(a);if((l[(k[v>>2]|0)+4>>0]&-9|0)==(k[s>>2]|0)){w=Cj((k[h>>2]|0)+364|0,k[j>>2]|0)|0;k[q>>2]=w;k[t>>2]=0;while(1){if((k[t>>2]|0)>=3)break a;k[u>>2]=(k[q>>2]|0)+((k[t>>2]|0)*20|0);if((l[(k[u>>2]|0)+4>>0]|0)==(l[(k[v>>2]|0)+4>>0]|0)){if(k[(k[u>>2]|0)+16>>2]|0)_b[k[(k[u>>2]|0)+16>>2]&255](k[(k[u>>2]|0)+8>>2]|0);k[(k[u>>2]|0)+12>>2]=0}k[t>>2]=(k[t>>2]|0)+1}}}while(0);w=ak(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,1)|0;k[v>>2]=w;if(!(k[v>>2]|0)){k[g>>2]=7;w=k[g>>2]|0;r=x;return w|0}else{k[(k[v>>2]|0)+12>>2]=k[o>>2];k[(k[v>>2]|0)+8>>2]=k[n>>2];k[(k[v>>2]|0)+16>>2]=k[p>>2];i[(k[v>>2]|0)+4>>0]=k[s>>2]|l[m>>0]&8;vg(k[h>>2]|0,0);k[g>>2]=0;w=k[g>>2]|0;r=x;return w|0}return 0}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+24>>2]&2|0)!=0^1)&1;k[g>>2]=0;i[(k[c>>2]|0)+148+5>>0]=1;i[(k[c>>2]|0)+66>>0]=i[(k[(k[(k[c>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;k[f>>2]=0;while(1){if(k[g>>2]|0)break;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(!((k[f>>2]|0)==1?1:((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(b=Fj(k[c>>2]|0,k[f>>2]|0,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Gj(k[c>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if(((k[g>>2]|0)==0?((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(b=Fj(k[c>>2]|0,1,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Gj(k[c>>2]|0,1);i[(k[c>>2]|0)+148+5>>0]=0;if(!((k[g>>2]|0)==0&(k[e>>2]|0)!=0)){g=k[g>>2]|0;r=h;return g|0}Hj(k[c>>2]|0);g=k[g>>2]|0;r=h;return g|0}function Di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;i=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){j=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))j=5;if((j|0)==5?(j=0,b=Cj((k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+8|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){j=7;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==7){r=l;return k[i>>2]|0}return 0}function Ei(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(sg(k[c>>2]|0,19887)|0){if(!(sg(k[c>>2]|0,19895)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,19901)|0)){k[b>>2]=1;break}else{k[b>>2]=0;break}}else k[b>>2]=1;while(0);r=d;return k[b>>2]|0}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((l[(k[d>>2]|0)+15>>0]|0)&4)){k[c>>2]=k[e>>2];b=k[c>>2]|0;r=f;return b|0}else{b=k[k[d>>2]>>2]|0;b=b+(uR(k[k[d>>2]>>2]|0)|0)+1|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}return 0}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[e>>2]|0)+60>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){c=8;break}if(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2]|0){if(!(k[c>>2]|0)){c=6;break}if(!(sg(k[c>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0)){c=6;break}}k[f>>2]=(k[f>>2]|0)+1}if((c|0)==6){k[d>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];f=k[d>>2]|0;r=g;return f|0}else if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function Ii(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Ji(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if(k[(k[c>>2]|0)+216>>2]|0){c=Bj(k[a+216>>2]|0)|0;r=b;return c|0}else{c=k[a+68>>2]|0;r=b;return c|0}return 0}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function Li(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[68];if(!(k[c>>2]|0)){c=0;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function Mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;n=r;r=r+32|0;e=n+24|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;l=n+4|0;i=n;k[o>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[o>>2]|0)+4>>2];wg(k[o>>2]|0);if((m[(k[i>>2]|0)+22>>1]|0)&2){k[e>>2]=8;o=k[e>>2]|0;r=n;return o|0}if((k[g>>2]|0)<0)k[g>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[(k[i>>2]|0)+36>>2]|0);if((k[f>>2]|0)>=512&(k[f>>2]|0)<=65536?((k[f>>2]|0)-1&k[f>>2]|0)==0:0){k[(k[i>>2]|0)+32>>2]=k[f>>2];cj(k[i>>2]|0)}o=dj(k[k[i>>2]>>2]|0,(k[i>>2]|0)+32|0,k[g>>2]|0)|0;k[l>>2]=o;k[(k[i>>2]|0)+36>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[g>>2]&65535);if(k[h>>2]|0){o=(k[i>>2]|0)+22|0;j[o>>1]=m[o>>1]|0|2}k[e>>2]=k[l>>2];o=k[e>>2]|0;r=n;return o|0}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=55;bj(k[f>>2]|0,k[e>>2]|0,c)|0;r=d;return k[c>>2]|0}function Oi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;$i(8,k[b>>2]|0);if((k[78]|0)!=0?(k[51]|0)>=(k[b>>2]|0):0){k[c>>2]=k[77];k[77]=k[k[77]>>2];k[78]=(k[78]|0)+-1;aj(3,1);c=k[c>>2]|0;r=d;return c|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!((k[2]|0)!=0&(k[c>>2]|0)!=0)){c=k[c>>2]|0;r=d;return c|0}aj(4,kg(k[c>>2]|0)|0);c=k[c>>2]|0;r=d;return c|0}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[50]|0)>>>0?(k[b>>2]|0)>>>0<(k[76]|0)>>>0:0){k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[77];k[77]=k[d>>2];k[78]=(k[78]|0)+1;lg(3,1);r=e;return}if(k[2]|0){d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(4,k[c>>2]|0);lg(0,k[c>>2]|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=e;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=e;return}}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=((Yi(k[e>>2]|0,1,i[d>>0]|0)|0)&255|0)!=0&255;r=c;return a|0}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;g=j;e=j+12|0;f=j+8|0;k[c>>2]=a;k[d>>2]=b;do if((i[k[c>>2]>>0]|0)==48){if((i[(k[c>>2]|0)+1>>0]|0)!=120?(i[(k[c>>2]|0)+1>>0]|0)!=88:0)break;a=g;k[a>>2]=0;k[a+4>>2]=0;k[e>>2]=2;while(1){b=k[e>>2]|0;if((i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)!=48)break;k[e>>2]=b+1}k[f>>2]=b;while(1){if(!(l[18403+(l[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)>>0]&8))break;a=g;a=kS(k[a>>2]|0,k[a+4>>2]|0,16,0)|0;b=L;b=$R(a|0,b|0,(Vi(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)|0)&255|0,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[f>>2]=(k[f>>2]|0)+1}d=k[d>>2]|0;k[d>>2]=k[g>>2];k[d+4>>2]=k[g+4>>2];if(!(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0))b=((k[f>>2]|0)-(k[e>>2]|0)|0)<=16;else b=0;k[h>>2]=b?0:1;h=k[h>>2]|0;r=j;return h|0}while(0);f=k[c>>2]|0;g=k[d>>2]|0;g=Wi(f,g,Tf(k[c>>2]|0)|0,1)|0;k[h>>2]=g;h=k[h>>2]|0;r=j;return h|0}function Si(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Ui(k[k[(k[c>>2]|0)+4>>2]>>2]|0,1)|0;r=b;return a|0}function Ti(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[(k[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(l[(k[c>>2]|0)+16>>0]|0|0)!=0:0){e=18402;r=d;return e|0}e=k[(k[c>>2]|0)+176>>2]|0;r=d;return e|0}function Vi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)+((1&k[b>>2]>>6)*9|0);r=c;return k[b>>2]&15|0}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;h=v+48|0;j=v+44|0;m=v+40|0;e=v+36|0;f=v+52|0;p=v+32|0;g=v;q=v+28|0;o=v+24|0;n=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;k[j>>2]=a;k[m>>2]=b;k[e>>2]=c;i[f>>0]=d;a=g;k[a>>2]=0;k[a+4>>2]=0;k[q>>2]=0;k[n>>2]=0;k[s>>2]=0;k[t>>2]=(k[j>>2]|0)+(k[e>>2]|0);if((l[f>>0]|0)==1)k[p>>2]=1;else{k[p>>2]=2;k[o>>2]=3-(l[f>>0]|0);while(1){if((k[o>>2]|0)>=(k[e>>2]|0))break;if(i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)break;k[o>>2]=(k[o>>2]|0)+2}k[s>>2]=(k[o>>2]|0)<(k[e>>2]|0)&1;k[t>>2]=(k[j>>2]|0)+(k[o>>2]^1);k[j>>2]=(k[j>>2]|0)+(l[f>>0]&1)}while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if(!(l[18403+(l[k[j>>2]>>0]|0)>>0]&1))break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}do if((k[j>>2]|0)>>>0<(k[t>>2]|0)>>>0){if((i[k[j>>2]>>0]|0)==45){k[q>>2]=1;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0);break}if((i[k[j>>2]>>0]|0)==43)k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}while(0);k[u>>2]=k[j>>2];while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if((i[k[j>>2]>>0]|0)!=48)break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}k[o>>2]=0;while(1){if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0<(k[t>>2]|0)>>>0?(a=i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0,k[n>>2]=a,(a|0)>=48):0)e=(k[n>>2]|0)<=57;else e=0;f=g;d=k[f>>2]|0;f=k[f+4>>2]|0;if(!e)break;a=kS(d|0,f|0,10,0)|0;b=k[n>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;b=_R(b|0,L|0,48,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[o>>2]=(k[o>>2]|0)+(k[p>>2]|0)}c=(k[q>>2]|0)!=0;do if(!(f>>>0>2147483647|(f|0)==2147483647&d>>>0>4294967295)){f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(c){g=_R(0,0,e|0,f|0)|0;m=k[m>>2]|0;k[m>>2]=g;k[m+4>>2]=L;break}else{m=k[m>>2]|0;k[m>>2]=e;k[m+4>>2]=f;break}}else{m=k[m>>2]|0;k[m>>2]=c?0:-1;k[m+4>>2]=c?-2147483648:2147483647}while(0);do if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0>=(k[t>>2]|0)>>>0){if((k[o>>2]|0)==0?(k[u>>2]|0)==(k[j>>2]|0):0)break;if(!((k[s>>2]|0)!=0?1:(k[o>>2]|0)>((k[p>>2]|0)*19|0))){if((k[o>>2]|0)<((k[p>>2]|0)*19|0)){k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}u=Xi(k[j>>2]|0,k[p>>2]|0)|0;k[n>>2]=u;if((k[n>>2]|0)<0){k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}if((k[n>>2]|0)>0){k[h>>2]=1;u=k[h>>2]|0;r=v;return u|0}else{k[h>>2]=(k[q>>2]|0)!=0?0:2;u=k[h>>2]|0;r=v;return u|0}}}while(0);k[h>>2]=1;u=k[h>>2]|0;r=v;return u|0}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[g>>2]=18767;k[f>>2]=0;while(1){if(!((k[e>>2]|0)==0?(k[f>>2]|0)<18:0))break;a=ha(k[f>>2]|0,k[d>>2]|0)|0;k[e>>2]=((i[(k[c>>2]|0)+a>>0]|0)-(i[(k[g>>2]|0)+(k[f>>2]|0)>>0]|0)|0)*10;k[f>>2]=(k[f>>2]|0)+1}if(k[e>>2]|0){a=k[e>>2]|0;r=h;return a|0}k[e>>2]=(i[(k[c>>2]|0)+((k[d>>2]|0)*18|0)>>0]|0)-56;a=k[e>>2]|0;r=h;return a|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;g=m+17|0;d=m+12|0;e=m+8|0;h=m+16|0;j=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;i[h>>0]=c;c=k[d>>2]|0;if((l[18403+(l[k[d>>2]>>0]|0)>>0]|0)&4){j=(Zi(c)|0)&255;i[g>>0]=j;j=i[g>>0]|0;r=m;return j|0}a=Tf(c)|0;k[f>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=8){c=11;break}if((l[18786+(k[j>>2]|0)>>0]|0|0)==(k[f>>2]|0)?(Jd(18802+(l[18794+(k[j>>2]|0)>>0]|0)|0,k[d>>2]|0,k[f>>2]|0)|0)==0:0){if(!(k[e>>2]|0)){c=9;break}if((l[18827+(k[j>>2]|0)>>0]|0|0)<=1){c=9;break}}k[j>>2]=(k[j>>2]|0)+1}if((c|0)==9){i[g>>0]=i[18827+(k[j>>2]|0)>>0]|0;j=i[g>>0]|0;r=m;return j|0}else if((c|0)==11){i[g>>0]=i[h>>0]|0;j=i[g>>0]|0;r=m;return j|0}return 0}function Zi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(k[b>>2]|0)_i(k[b>>2]|0,c)|0;r=d;return k[c>>2]|0}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;f=n+32|0;g=n+28|0;h=n+24|0;e=n;j=n+20|0;c=n+16|0;d=n+12|0;m=n+8|0;k[g>>2]=a;k[h>>2]=b;a=e;k[a>>2]=0;k[a+4>>2]=0;k[d>>2]=0;do if((i[k[g>>2]>>0]|0)!=45){b=k[g>>2]|0;if((i[k[g>>2]>>0]|0)==43){k[g>>2]=b+1;break}if((i[b>>0]|0)==48){if((i[(k[g>>2]|0)+1>>0]|0)!=120?(i[(k[g>>2]|0)+1>>0]|0)!=88:0)break;if(l[18403+(l[(k[g>>2]|0)+2>>0]|0)>>0]&8){k[m>>2]=0;k[g>>2]=(k[g>>2]|0)+2;while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){b=k[m>>2]|0;if(!((l[18403+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)!=0?(k[j>>2]|0)<8:0))break;e=(b<<4)+((Vi(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)|0)&255)|0;k[m>>2]=e;k[j>>2]=(k[j>>2]|0)+1}if((b&-2147483648|0)==0?(l[18403+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)==0:0){k[k[h>>2]>>2]=k[m>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}}}else{k[d>>2]=1;k[g>>2]=(k[g>>2]|0)+1}while(0);while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){if((k[j>>2]|0)>=11)break;m=(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;k[c>>2]=m;if(!((m|0)>=0&(k[c>>2]|0)<=9))break;m=e;m=kS(k[m>>2]|0,k[m+4>>2]|0,10,0)|0;a=k[c>>2]|0;a=$R(m|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;m=e;k[m>>2]=a;k[m+4>>2]=L;k[j>>2]=(k[j>>2]|0)+1}if((k[j>>2]|0)>10){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}j=e;m=k[d>>2]|0;m=_R(k[j>>2]|0,k[j+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;j=L;if((j|0)>0|(j|0)==0&m>>>0>2147483647){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}if(k[d>>2]|0){j=e;j=_R(0,0,k[j>>2]|0,k[j+4>>2]|0)|0;m=e;k[m>>2]=j;k[m+4>>2]=L}k[k[h>>2]>>2]=k[e>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[f>>2];if((k[d>>2]|0)>>>0<=(k[1048+(k[c>>2]<<2)>>2]|0)>>>0){r=e;return}k[1048+(k[c>>2]<<2)>>2]=k[d>>2];r=e;return}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=1008+(k[c>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+(k[e>>2]|0);if((k[1008+(k[c>>2]<<2)>>2]|0)>>>0<=(k[1048+(k[c>>2]<<2)>>2]|0)>>>0){r=d;return}k[1048+(k[c>>2]<<2)>>2]=k[1008+(k[c>>2]<<2)>>2];r=d;return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<2){n=k[e>>2]|0;r=o;return n|0}k[g>>2]=(l[17613+(l[k[d>>2]>>0]|0)>>0]<<2^(l[17613+(l[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)>>0]|0)*3^k[e>>2]|0)%127|0;k[g>>2]=(l[18835+(k[g>>2]|0)>>0]|0)-1;while(1){if((k[g>>2]|0)<0){n=13;break}if((l[18962+(k[g>>2]|0)>>0]|0)==(k[e>>2]|0)){k[h>>2]=0;k[j>>2]=19086+(m[9524+(k[g>>2]<<1)>>1]|0);while(1){if((k[h>>2]|0)<(k[e>>2]|0))c=(i[(k[d>>2]|0)+(k[h>>2]|0)>>0]&-33|0)==(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0);else c=0;b=k[h>>2]|0;if(!c)break;k[h>>2]=b+1}if((b|0)>=(k[e>>2]|0))break}k[g>>2]=(l[19763+(k[g>>2]|0)>>0]|0)-1}if((n|0)==13){n=k[e>>2]|0;r=o;return n|0}k[k[f>>2]>>2]=l[19639+(k[g>>2]|0)>>0];n=k[e>>2]|0;r=o;return n|0}function cj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+-4;jj(k[(k[b>>2]|0)+80>>2]|0);k[(k[b>>2]|0)+80>>2]=0;r=c;return}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;m=o+16|0;i=o+12|0;h=o+8|0;g=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[i>>2]=k[k[e>>2]>>2];if(!((l[(k[d>>2]|0)+16>>0]|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)!=0:0))n=3;do if(((n|0)==3?(n=(ej(k[(k[d>>2]|0)+212>>2]|0)|0)==0,n&(k[i>>2]|0)!=0):0)?(k[i>>2]|0)!=(k[(k[d>>2]|0)+160>>2]|0):0){k[h>>2]=0;n=g;k[n>>2]=0;k[n+4>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0)>0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){n=fj(k[(k[d>>2]|0)+64>>2]|0,g)|0;k[m>>2]=n}if((k[m>>2]|0)==0?(n=gj(k[i>>2]|0)|0,k[h>>2]=n,(k[h>>2]|0)==0):0)k[m>>2]=7;if(!(k[m>>2]|0)){hj(k[d>>2]|0);n=ij(k[(k[d>>2]|0)+212>>2]|0,k[i>>2]|0)|0;k[m>>2]=n}if(!(k[m>>2]|0)){jj(k[(k[d>>2]|0)+208>>2]|0);k[(k[d>>2]|0)+208>>2]=k[h>>2];n=g;n=$R(k[n>>2]|0,k[n+4>>2]|0,k[i>>2]|0,0)|0;n=_R(n|0,L|0,1,0)|0;n=iS(n|0,L|0,k[i>>2]|0,0)|0;k[(k[d>>2]|0)+28>>2]=n;k[(k[d>>2]|0)+160>>2]=k[i>>2];break}else{jj(k[h>>2]|0);break}}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+160>>2];if(k[m>>2]|0){n=k[m>>2]|0;r=o;return n|0}if((k[f>>2]|0)<0)k[f>>2]=j[(k[d>>2]|0)+150>>1];j[(k[d>>2]|0)+150>>1]=k[f>>2];kj(k[d>>2]|0);n=k[m>>2]|0;r=o;return n|0}function ej(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+12>>2]|0}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+24>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function gj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=tj(k[c>>2]|0)|0;r=b;return a|0}function hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;nj(k[(k[c>>2]|0)+96>>2]|0);oj(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0){b=Yb[k[132>>2]&255](k[e>>2]|0,(k[(k[d>>2]|0)+28>>2]|0)+40|0,l[(k[d>>2]|0)+32>>0]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=7;b=k[c>>2]|0;r=g;return b|0}h=k[34]|0;a=k[f>>2]|0;b=mj(k[d>>2]|0)|0;$b[h&255](a,b);if(k[(k[d>>2]|0)+44>>2]|0)_b[k[160>>2]&255](k[(k[d>>2]|0)+44>>2]|0);k[(k[d>>2]|0)+44>>2]=k[f>>2];k[(k[d>>2]|0)+24>>2]=k[e>>2]}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function jj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;lj(k[c>>2]|0);r=b;return}function kj(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function lj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[426]|0)>>>0?(k[b>>2]|0)>>>0<(k[427]|0)>>>0:0){lg(1,1);k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[429];k[429]=k[d>>2];k[430]=(k[430]|0)+1;k[431]=(k[430]|0)<(k[425]|0)&1;r=e;return}k[c>>2]=0;d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(2,k[c>>2]|0);Ud(k[b>>2]|0);r=e;return}function mj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[(k[c>>2]|0)+16>>2]|0;if((k[(k[c>>2]|0)+16>>2]|0)>=0){k[b>>2]=a;c=k[b>>2]|0;r=d;return c|0}else{a=kS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;c=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;c=iS(a|0,L|0,c|0,((c|0)<0)<<31>>31|0)|0;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}return 0}function nj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];while(1){if(!(k[b>>2]|0))break;k[(k[b>>2]|0)+16>>2]=1;k[b>>2]=k[(k[b>>2]|0)+44>>2]}r=c;return}function oj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;pj(k[c>>2]|0,0);r=b;return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+44>>2]|0)){r=h;return}k[e>>2]=k[k[c>>2]>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+32>>2];if((k[(k[e>>2]|0)+20>>2]|0)>>>0>(k[d>>2]|0)>>>0)qj(k[e>>2]|0);k[e>>2]=k[f>>2]}if(((k[d>>2]|0)==0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)?(b=Yb[k[144>>2]&255](k[(k[c>>2]|0)+44>>2]|0,1,0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){dS(k[k[g>>2]>>2]|0,0,k[(k[c>>2]|0)+24>>2]|0)|0;k[d>>2]=1}$b[k[156>>2]&255](k[(k[c>>2]|0)+44>>2]|0,(k[d>>2]|0)+1|0);r=h;return}function qj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(m[(k[b>>2]|0)+24>>1]&2)){r=c;return}rj(k[b>>2]|0,1);a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-15;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|1;if(j[(k[b>>2]|0)+26>>1]|0){r=c;return}sj(k[b>>2]|0);r=c;return}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+4|0;c=f+8|0;e=f;k[d>>2]=a;i[c>>0]=b;k[e>>2]=k[(k[d>>2]|0)+28>>2];if(l[c>>0]&1){if((k[(k[e>>2]|0)+8>>2]|0)==(k[d>>2]|0))k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+36>>2];b=k[(k[d>>2]|0)+36>>2]|0;if(k[(k[d>>2]|0)+32>>2]|0)k[(k[(k[d>>2]|0)+32>>2]|0)+36>>2]=b;else k[(k[e>>2]|0)+4>>2]=b;b=k[(k[d>>2]|0)+32>>2]|0;if(!(k[(k[d>>2]|0)+36>>2]|0)){k[k[e>>2]>>2]=b;if(!(k[k[e>>2]>>2]|0))i[(k[e>>2]|0)+33>>0]=2}else k[(k[(k[d>>2]|0)+36>>2]|0)+32>>2]=b;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+36>>2]=0}if(!(l[c>>0]&2)){r=f;return}k[(k[d>>2]|0)+32>>2]=k[k[e>>2]>>2];b=k[d>>2]|0;if(!(k[(k[d>>2]|0)+32>>2]|0)){k[(k[e>>2]|0)+4>>2]=b;if(i[(k[e>>2]|0)+32>>0]|0)i[(k[e>>2]|0)+33>>0]=1}else k[(k[(k[d>>2]|0)+32>>2]|0)+36>>2]=b;k[k[e>>2]>>2]=k[d>>2];if(k[(k[e>>2]|0)+8>>2]|0){r=f;return}if(m[(k[d>>2]|0)+24>>1]&8){r=f;return}k[(k[e>>2]|0)+8>>2]=k[d>>2];r=f;return}function sj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[(k[b>>2]|0)+28>>2]|0)+32>>0]|0)){r=c;return}cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,0);r=c;return}function tj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if((k[b>>2]|0)<=(k[423]|0)?(k[c>>2]=k[429],(k[c>>2]|0)!=0):0){k[429]=k[k[429]>>2];k[430]=(k[430]|0)+-1;k[431]=(k[430]|0)<(k[425]|0)&1;$i(7,k[b>>2]|0);aj(1,1)}if(k[c>>2]|0){d=k[c>>2]|0;r=e;return d|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!(k[c>>2]|0)){d=k[c>>2]|0;r=e;return d|0}a=kg(k[c>>2]|0)|0;k[d>>2]=a;$i(7,k[b>>2]|0);aj(2,k[d>>2]|0);d=k[c>>2]|0;r=e;return d|0}function uj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=ug(512,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[k[c>>2]>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;c=o+12|0;j=o+8|0;m=o+4|0;g=o;k[e>>2]=a;k[f>>2]=b;if(!(k[e>>2]|0)){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=(k[f>>2]|0)+-1;while(1){if((k[k[e>>2]>>2]|0)>>>0<=4e3)break;if(!(k[(k[e>>2]|0)+8>>2]|0))break;k[c>>2]=((k[f>>2]|0)>>>0)/((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;if((k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0?(a=uj(k[(k[e>>2]|0)+8>>2]|0)|0,k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]=a,(k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0):0){n=8;break}k[e>>2]=k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]}if((n|0)==8){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[f>>2]|0;if((k[k[e>>2]>>2]|0)>>>0<=4e3){n=(k[e>>2]|0)+12+(((k[f>>2]|0)>>>0)/8|0)|0;i[n>>0]=l[n>>0]|0|1<<(c&7);k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=c+1;k[h>>2]=(c>>>0)%125|0;a:do if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){if((k[(k[e>>2]|0)+4>>2]|0)>>>0>=124)n=17}else{while(1){if((k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[f>>2]|0))break;n=(k[h>>2]|0)+1|0;k[h>>2]=n;k[h>>2]=(k[h>>2]|0)>>>0>=125?0:n;if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){n=17;break a}}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((n|0)==17?(k[(k[e>>2]|0)+4>>2]|0)>>>0>=62:0){n=Mh(0,500,0)|0;k[g>>2]=n;if(!(k[g>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}bS(k[g>>2]|0,(k[e>>2]|0)+12|0,500)|0;dS((k[e>>2]|0)+12|0,0,500)|0;k[(k[e>>2]|0)+8>>2]=(((k[k[e>>2]>>2]|0)+125-1|0)>>>0)/125|0;n=vj(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=n;k[j>>2]=0;while(1){if((k[j>>2]|0)>>>0>=125)break;if(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0){n=vj(k[e>>2]|0,k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[m>>2]=k[m>>2]|n}k[j>>2]=(k[j>>2]|0)+1}bg(0,k[g>>2]|0);k[d>>2]=k[m>>2];n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]=k[f>>2];k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;h=o+12|0;m=o+8|0;g=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=o;return}k[e>>2]=(k[e>>2]|0)+-1;while(1){if(!(k[(k[d>>2]|0)+8>>2]|0))break;k[h>>2]=((k[e>>2]|0)>>>0)/((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[e>>2]=((k[e>>2]|0)>>>0)%((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=k[(k[d>>2]|0)+12+(k[h>>2]<<2)>>2];if(!(k[d>>2]|0)){n=16;break}}if((n|0)==16){r=o;return}if((k[k[d>>2]>>2]|0)>>>0<=4e3){n=(k[d>>2]|0)+12+(((k[e>>2]|0)>>>0)/8|0)|0;i[n>>0]=(l[n>>0]|0)&~(1<<(k[e>>2]&7));r=o;return}k[g>>2]=k[f>>2];bS(k[g>>2]|0,(k[d>>2]|0)+12|0,500)|0;dS((k[d>>2]|0)+12|0,0,500)|0;k[(k[d>>2]|0)+4>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>>>0>=125)break;if((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=0?(k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=((k[e>>2]|0)+1|0):0){k[j>>2]=(((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;n=(k[d>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;while(1){if(!(k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]|0))break;n=(k[j>>2]|0)+1|0;k[j>>2]=n;k[j>>2]=(k[j>>2]|0)>>>0>=125?0:n}k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]=k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]}k[m>>2]=(k[m>>2]|0)+1}r=o;return}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){a=0;a=a&1;r=e;return a|0}a=(Aj(k[c>>2]|0,k[d>>2]|0)|0)!=0;a=a&1;r=e;return a|0}function yj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function zj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}a:do if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=125)break a;zj(k[(k[b>>2]|0)+12+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}}while(0);Ud(k[b>>2]|0);r=d;return}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;c=i+4|0;h=i;k[f>>2]=a;k[g>>2]=b;k[g>>2]=(k[g>>2]|0)+-1;if((k[g>>2]|0)>>>0>=(k[k[f>>2]>>2]|0)>>>0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}while(1){if(!(k[(k[f>>2]|0)+8>>2]|0))break;k[c>>2]=((k[g>>2]|0)>>>0)/((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[g>>2]=((k[g>>2]|0)>>>0)%((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=k[(k[f>>2]|0)+12+(k[c>>2]<<2)>>2];if(!(k[f>>2]|0)){d=5;break}}if((d|0)==5){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=k[g>>2]|0;if((k[k[f>>2]>>2]|0)>>>0<=4e3){k[e>>2]=((l[(k[f>>2]|0)+12+((c>>>0)/8|0)>>0]|0)&1<<(k[g>>2]&7)|0)!=0&1;h=k[e>>2]|0;r=i;return h|0}k[g>>2]=c+1;k[h>>2]=(c>>>0)%125|0;while(1){if(!(k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){d=13;break}if((k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[g>>2]|0)){d=11;break}k[h>>2]=(((k[h>>2]|0)+1|0)>>>0)%125|0}if((d|0)==11){k[e>>2]=1;h=k[e>>2]|0;r=i;return h|0}else if((d|0)==13){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}return 0}function Bj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d+8|0;c=d+4|0;k[f>>2]=a;k[e>>2]=b;b=Dj(k[f>>2]|0,k[e>>2]|0,d)|0;k[c>>2]=b;if(!(k[c>>2]|0)){f=0;r=d;return f|0}f=k[(k[c>>2]|0)+8>>2]|0;r=d;return f|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m+28|0;d=m+24|0;h=m+20|0;e=m+16|0;j=m+12|0;i=m+8|0;f=m+4|0;g=m;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(k[(k[d>>2]|0)+12>>2]|0){b=Ej(k[h>>2]|0)|0;k[f>>2]=(b>>>0)%((k[k[d>>2]>>2]|0)>>>0)|0;k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);k[j>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=k[k[g>>2]>>2]}else{k[f>>2]=0;k[j>>2]=k[(k[d>>2]|0)+8>>2];k[i>>2]=k[(k[d>>2]|0)+4>>2]}k[k[e>>2]>>2]=k[f>>2];while(1){b=k[i>>2]|0;k[i>>2]=b+-1;if(!b){d=9;break}b=(sg(k[(k[j>>2]|0)+12>>2]|0,k[h>>2]|0)|0)==0;e=k[j>>2]|0;if(b){d=7;break}k[j>>2]=k[e>>2]}if((d|0)==7){k[l>>2]=e;l=k[l>>2]|0;r=m;return l|0}else if((d|0)==9){k[l>>2]=0;l=k[l>>2]|0;r=m;return l|0}return 0}function Ej(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;d=e;c=e+8|0;k[b>>2]=a;k[d>>2]=0;while(1){a=k[b>>2]|0;k[b>>2]=a+1;a=i[a>>0]|0;i[c>>0]=a;if(!(a&255))break;k[d>>2]=(k[d>>2]|0)+(l[17613+(l[c>>0]|0)>>0]|0);a=ha(k[d>>2]|0,-1640531535)|0;k[d>>2]=a}r=e;return k[d>>2]|0}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+128|0;w=A;f=A+108|0;g=A+104|0;h=A+100|0;n=A+96|0;u=A+92|0;d=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;q=A+40|0;p=A+24|0;y=A+20|0;s=A+16|0;o=A+112|0;z=A+12|0;x=A+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[s>>2]=0;c=(k[h>>2]|0)==1?19905:19924;k[y>>2]=c;k[B>>2]=c;k[B+4>>2]=19938;k[B+8>>2]=19940;k[B+12>>2]=0;k[p>>2]=k[g>>2];k[p+8>>2]=k[h>>2];k[p+12>>2]=0;k[p+4>>2]=k[n>>2];Lj(p,3,B,0)|0;if(!(k[p+12>>2]|0)){k[t>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4);if(!(k[(k[t>>2]|0)+4>>2]|0)){if((k[h>>2]|0)==1){B=(k[(k[(k[g>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1}k[f>>2]=0;B=k[f>>2]|0;r=A;return B|0}wg(k[(k[t>>2]|0)+4>>2]|0);do if(!(yg(k[(k[t>>2]|0)+4>>2]|0)|0)){B=zg(k[(k[t>>2]|0)+4>>2]|0,0)|0;k[u>>2]=B;if(k[u>>2]|0){z=k[n>>2]|0;B=k[g>>2]|0;Mj(z,B,vh(k[u>>2]|0)|0);break}else{k[s>>2]=1;e=11;break}}else e=11;while(0);a:do if((e|0)==11){k[d>>2]=0;while(1){if((k[d>>2]|0)>=5)break;Bg(k[(k[t>>2]|0)+4>>2]|0,(k[d>>2]|0)+1|0,q+(k[d>>2]<<2)|0);k[d>>2]=(k[d>>2]|0)+1}k[k[(k[t>>2]|0)+12>>2]>>2]=k[q>>2];a=k[h>>2]|0;do if(k[q+16>>2]|0){d=k[q+16>>2]|0;if(!a){B=d&3;i[o>>0]=B;i[o>>0]=(l[o>>0]|0)==0?1:B;i[(k[g>>2]|0)+66>>0]=i[o>>0]|0;break}if((d|0)!=(l[(k[g>>2]|0)+66>>0]|0)){Mj(k[n>>2]|0,k[g>>2]|0,20016);k[u>>2]=1;break a}}else{B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(a<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|4}while(0);i[(k[(k[t>>2]|0)+12>>2]|0)+77>>0]=i[(k[g>>2]|0)+66>>0]|0;if(!(k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Nj(k[q+8>>2]|0)|0;k[v>>2]=B;k[v>>2]=(k[v>>2]|0)==0?-2e3:B;k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]=k[v>>2];Oj(k[(k[t>>2]|0)+4>>2]|0,k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=k[q+4>>2];if(!(l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0))i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=1;if((l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Mj(k[n>>2]|0,k[g>>2]|0,20084);k[u>>2]=1;break}if((k[h>>2]|0)==0?(k[q+4>>2]|0)>=4:0){B=(k[g>>2]|0)+24|0;k[B>>2]=k[B>>2]&-32769}B=k[g>>2]|0;y=k[y>>2]|0;k[w>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[w+4>>2]=y;B=Qh(B,20108,w)|0;k[z>>2]=B;k[x>>2]=k[(k[g>>2]|0)+296>>2];k[(k[g>>2]|0)+296>>2]=0;B=kf(k[g>>2]|0,k[z>>2]|0,140,p,0)|0;k[u>>2]=B;k[(k[g>>2]|0)+296>>2]=k[x>>2];if(!(k[u>>2]|0))k[u>>2]=k[p+12>>2];bg(k[g>>2]|0,k[z>>2]|0);if(!(k[u>>2]|0))Pj(k[g>>2]|0,k[h>>2]|0)|0;if(i[(k[g>>2]|0)+69>>0]|0){k[u>>2]=7;Mg(k[g>>2]|0)}if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0)break;B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1;k[u>>2]=0}while(0);if(k[s>>2]|0)Qj(k[(k[t>>2]|0)+4>>2]|0)|0}else k[u>>2]=k[p+12>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082)wh(k[g>>2]|0);k[f>>2]=k[u>>2];B=k[f>>2]|0;r=A;return B|0}function Gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);Ij(k[(k[d>>2]|0)+12>>2]|0);if((k[f>>2]|0)==1){r=e;return}k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+16;Ij(k[(k[d>>2]|0)+12>>2]|0);r=e;return}function Hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;k[a>>2]=k[a>>2]&-3;r=b;return}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+64|0;h=g+48|0;e=g+32|0;f=g+16|0;b=g+8|0;c=g+4|0;d=g;k[h>>2]=a;k[c>>2]=k[h>>2];a=(k[c>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];a=(k[c>>2]|0)+40|0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];k[f+12>>2]=k[a+12>>2];Jj((k[c>>2]|0)+40|0);Kj((k[c>>2]|0)+24|0);k[b>>2]=k[f+8>>2];while(1){if(!(k[b>>2]|0))break;_f(0,k[(k[b>>2]|0)+8>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Kj(f);Jj((k[c>>2]|0)+8|0);k[b>>2]=k[e+8>>2];while(1){if(!(k[b>>2]|0))break;k[d>>2]=k[(k[b>>2]|0)+8>>2];$f(0,k[d>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Kj(e);Kj((k[c>>2]|0)+56|0);k[(k[c>>2]|0)+72>>2]=0;if(!((m[(k[c>>2]|0)+78>>1]|0)&1)){r=g;return}h=(k[c>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+1;h=(k[c>>2]|0)+78|0;j[h>>1]=(m[h>>1]|0)&-2;r=g;return}function Jj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=0;k[(k[c>>2]|0)+4>>2]=0;k[k[c>>2]>>2]=0;k[(k[c>>2]|0)+12>>2]=0;r=b;return}function Kj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;Ud(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[k[b>>2]>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;e=s+40|0;t=s+36|0;f=s+28|0;l=s+20|0;g=s+16|0;h=s+12|0;p=s+8|0;q=s+44|0;o=s+4|0;n=s;k[t>>2]=a;k[s+32>>2]=b;k[f>>2]=c;k[s+24>>2]=d;k[l>>2]=k[t>>2];k[g>>2]=k[k[l>>2]>>2];k[h>>2]=k[(k[l>>2]|0)+8>>2];a=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[a>>1]=m[a>>1]&-5;if(i[(k[g>>2]|0)+69>>0]|0){Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);k[e>>2]=1;t=k[e>>2]|0;r=s;return t|0}if(!(k[f>>2]|0)){k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}a:do if(!(k[(k[f>>2]|0)+4>>2]|0))Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);else{if(Jd(k[(k[f>>2]|0)+8>>2]|0,20250,7)|0){do if(k[k[f>>2]>>2]|0){if((k[(k[f>>2]|0)+8>>2]|0)!=0?(i[k[(k[f>>2]|0)+8>>2]>>0]|0)!=0:0)break;t=Uj(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0;k[n>>2]=t;if(!(k[n>>2]|0))break a;if(_i(k[(k[f>>2]|0)+4>>2]|0,(k[n>>2]|0)+44|0)|0)break a;Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,20258);break a}while(0);Zj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);break}i[q>>0]=i[(k[g>>2]|0)+148+4>>0]|0;i[(k[g>>2]|0)+148+4>>0]=k[h>>2];t=Zi(k[(k[f>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+148>>2]=t;i[(k[g>>2]|0)+148+6>>0]=0;nf(k[g>>2]|0,k[(k[f>>2]|0)+8>>2]|0,-1,o,0)|0;k[p>>2]=k[(k[g>>2]|0)+52>>2];i[(k[g>>2]|0)+148+4>>0]=i[q>>0]|0;do if(0!=(k[p>>2]|0)?(i[(k[g>>2]|0)+148+6>>0]|0)==0:0){k[(k[l>>2]|0)+12>>2]=k[p>>2];if((k[p>>2]|0)==7){wh(k[g>>2]|0);break}if((k[p>>2]|0)!=9?(k[p>>2]&255|0)!=6:0){q=k[l>>2]|0;t=k[k[f>>2]>>2]|0;Zj(q,t,mf(k[g>>2]|0)|0)}}while(0);fe(k[o>>2]|0)|0}while(0);k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;bg(k[g>>2]|0,k[k[e>>2]>>2]|0);c=Ah(k[g>>2]|0,k[f>>2]|0)|0;k[k[e>>2]>>2]=c;r=d;return}function Nj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;do if((k[c>>2]|0)<0)if((a|0)==-2147483648){k[b>>2]=2147483647;break}else{k[b>>2]=0-(k[c>>2]|0);break}else k[b>>2]=a;while(0);r=d;return k[b>>2]|0}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);Xj(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;c=n+36|0;d=n+32|0;i=n+24|0;e=n+20|0;m=n+16|0;h=n+12|0;f=n+8|0;g=n+4|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];j[k[(k[f>>2]|0)+8>>2]>>1]=0;k[e>>2]=k[k[e>>2]>>2]}k[i>>2]=k[c>>2];k[i+4>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];do if(Di(k[c>>2]|0,20163,k[i+4>>2]|0)|0){f=k[c>>2]|0;k[l>>2]=k[i+4>>2];l=Qh(f,20176,l)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[h>>2]=7;break}else{l=kf(k[c>>2]|0,k[m>>2]|0,141,i,0)|0;k[h>>2]=l;bg(k[c>>2]|0,k[m>>2]|0);break}}while(0);k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+8>>2];if(!(j[k[(k[g>>2]|0)+8>>2]>>1]|0))Sj(k[g>>2]|0);k[e>>2]=k[k[e>>2]>>2]}if((k[h>>2]|0)!=7){m=k[h>>2]|0;r=n;return m|0}wh(k[c>>2]|0);m=k[h>>2]|0;r=n;return m|0}function Qj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);a=Xg(k[b>>2]|0,0)|0;k[c>>2]=a;if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=Wg(k[b>>2]|0,0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+112|0;e=s+96|0;t=s+92|0;f=s+84|0;o=s+76|0;n=s+72|0;p=s+68|0;q=s+64|0;g=s+60|0;l=s+56|0;h=s;k[t>>2]=a;k[s+88>>2]=b;k[f>>2]=c;k[s+80>>2]=d;k[o>>2]=k[t>>2];if(((k[f>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0)?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){t=Di(k[k[o>>2]>>2]|0,k[k[f>>2]>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}do if(k[(k[f>>2]|0)+4>>2]|0)if(!(be(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0)){t=Tj(k[p>>2]|0)|0;k[n>>2]=t;break}else{t=Uj(k[k[o>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[n>>2]=t;break}else k[n>>2]=0;while(0);k[q>>2]=k[(k[f>>2]|0)+8>>2];if(k[n>>2]|0){k[g>>2]=0;k[l>>2]=(m[(k[n>>2]|0)+50>>1]|0)+1;t=(k[n>>2]|0)+55|0;i[t>>0]=i[t>>0]&-5;Vj(k[q>>2]|0,k[l>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[n>>2]|0);if(!(k[(k[n>>2]|0)+36>>2]|0))j[(k[p>>2]|0)+38>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0}else{j[h+48>>1]=j[(k[p>>2]|0)+40>>1]|0;Vj(k[q>>2]|0,1,0,(k[p>>2]|0)+38|0,h);j[(k[p>>2]|0)+40>>1]=j[h+48>>1]|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}function Sj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;d=g+16|0;c=g+8|0;f=g+4|0;e=g;k[b>>2]=a;j[d>>1]=j[4886]|0;j[d+2>>1]=j[4887]|0;j[d+4>>1]=j[4888]|0;j[d+6>>1]=j[4889]|0;j[d+8>>1]=j[4890]|0;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(5<(m[(k[b>>2]|0)+50>>1]|0))a=5;else a=m[(k[b>>2]|0)+50>>1]|0;k[f>>2]=a;j[k[c>>2]>>1]=j[(k[(k[b>>2]|0)+12>>2]|0)+38>>1]|0;if(k[(k[b>>2]|0)+36>>2]|0){a=k[c>>2]|0;j[a>>1]=(j[a>>1]|0)-10}if((j[k[c>>2]>>1]|0)<33)j[k[c>>2]>>1]=33;bS((k[c>>2]|0)+2|0,d|0,k[f>>2]<<1|0)|0;k[e>>2]=(k[f>>2]|0)+1;while(1){if((k[e>>2]|0)>(m[(k[b>>2]|0)+50>>1]|0))break;j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=23;k[e>>2]=(k[e>>2]|0)+1}if(!(l[(k[b>>2]|0)+54>>0]|0)){r=g;return}j[(k[c>>2]|0)+(m[(k[b>>2]|0)+50>>1]<<1)>>1]=0;r=g;return}function Tj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0)){a=5;break}if(!((i[(k[b>>2]|0)+55>>0]&3|0)==2^1)){a=5;break}k[b>>2]=k[(k[b>>2]|0)+20>>2]}if((a|0)==5){r=c;return k[b>>2]|0}return 0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){l=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;k[j>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,b=Cj((k[j>>2]|0)+24|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){l=7;break}k[g>>2]=(k[g>>2]|0)+1}if((l|0)==7){r=m;return k[i>>2]|0}return 0}function Vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+32|0;f=p+28|0;g=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;l=p+4|0;m=p;k[q>>2]=a;k[f>>2]=b;k[p+24>>2]=c;k[g>>2]=d;k[n>>2]=e;k[o>>2]=k[q>>2];k[l>>2]=0;while(1){if(!(i[k[o>>2]>>0]|0))break;if((k[l>>2]|0)>=(k[f>>2]|0))break;k[m>>2]=0;while(1){q=i[k[o>>2]>>0]|0;k[h>>2]=q;if(!((q|0)>=48?(k[h>>2]|0)<=57:0))break;k[m>>2]=((k[m>>2]|0)*10|0)+(k[h>>2]|0)-48;k[o>>2]=(k[o>>2]|0)+1}q=Wj(k[m>>2]|0,0)|0;j[(k[g>>2]|0)+(k[l>>2]<<1)>>1]=q;if((i[k[o>>2]>>0]|0)==32)k[o>>2]=(k[o>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+1}q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5;q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65;a:while(1){if(!(i[k[o>>2]>>0]|0))break;do if(hf(20217,k[o>>2]|0)|0){q=(hf(20228,k[o>>2]|0)|0)==0;f=k[o>>2]|0;if(q){q=Zi(f+3|0)|0;q=Wj(q,((q|0)<0)<<31>>31)|0;j[(k[n>>2]|0)+48>>1]=q;break}if(!(hf(20238,f)|0)){q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65|64}}else{q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5|4}while(0);while(1){if(!(i[k[o>>2]>>0]|0))break;if((i[k[o>>2]>>0]|0)==32)break;k[o>>2]=(k[o>>2]|0)+1}while(1){if((i[k[o>>2]>>0]|0)!=32)continue a;k[o>>2]=(k[o>>2]|0)+1}}r=p;return}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+10|0;d=f;e=f+8|0;g=d;k[g>>2]=a;k[g+4>>2]=b;j[e>>1]=40;b=d;a=k[b+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(k[b>>2]|0)>>>0<8){g=d;b=k[g+4>>2]|0;if(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<2){j[c>>1]=0;g=j[c>>1]|0;r=f;return g|0}else while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<8))break a;j[e>>1]=(j[e>>1]|0)-10;b=d;b=eS(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}else{while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>255))break;j[e>>1]=(j[e>>1]|0)+40;b=d;b=aS(k[b>>2]|0,k[b+4>>2]|0,4)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>15))break a;j[e>>1]=(j[e>>1]|0)+10;b=d;b=aS(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}while(0);j[c>>1]=(j[9782+((k[d>>2]&7)<<1)>>1]|0)+(j[e>>1]|0)-10;g=j[c>>1]|0;r=f;return g|0}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;Yj(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0);r=c;return}function Yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+16>>2]=k[d>>2];d=k[34]|0;b=k[(k[e>>2]|0)+44>>2]|0;a=mj(k[e>>2]|0)|0;$b[d&255](b,a);r=c;return}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;j=n+8|0;h=n;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if((i[(k[g>>2]|0)+69>>0]|0)==0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0){if(!(k[e>>2]|0))k[e>>2]=20275;b=k[g>>2]|0;k[h>>2]=k[e>>2];b=Qh(b,20277,h)|0;k[m>>2]=b;if(k[f>>2]|0){b=k[g>>2]|0;c=k[f>>2]|0;k[j>>2]=k[m>>2];k[j+4>>2]=c;b=Qh(b,20308,j)|0;k[m>>2]=b}bg(k[g>>2]|0,k[k[(k[d>>2]|0)+4>>2]>>2]|0);k[k[(k[d>>2]|0)+4>>2]>>2]=k[m>>2]}if(l[(k[g>>2]|0)+69>>0]|0){c=7;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}c=_j(113554)|0;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}function _j(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=$j(11,k[c>>2]|0,20316)|0;r=b;return a|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e;d=e+20|0;h=e+16|0;g=e+12|0;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;c=k[d>>2]|0;g=k[g>>2]|0;a=k[h>>2]|0;b=(uf()|0)+20|0;k[f>>2]=g;k[f+4>>2]=a;k[f+8>>2]=b;$d(c,20336,f);r=e;return k[d>>2]|0}function ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+12|0;e=j+16|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;i[e>>0]=b;k[f>>2]=c;k[g>>2]=d;d=k[m>>2]|0;if(k[f>>2]|0){m=bk(d,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=m}else k[h>>2]=k[d+8>>2];if(!(k[h>>2]|0)){m=k[h>>2]|0;r=j;return m|0}k[h>>2]=(k[h>>2]|0)+(((l[e>>0]|0)-1|0)*20|0);m=k[h>>2]|0;r=j;return m|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;l=j+12|0;g=j+8|0;f=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;b=Cj((k[d>>2]|0)+364|0,k[e>>2]|0)|0;k[g>>2]=b;if(!(0==(k[g>>2]|0)&(k[l>>2]|0)!=0)){l=k[g>>2]|0;r=j;return l|0}l=Tf(k[e>>2]|0)|0;k[f>>2]=l;l=Ch(k[d>>2]|0,60+(k[f>>2]|0)+1|0,0)|0;k[g>>2]=l;if(!(k[g>>2]|0)){l=k[g>>2]|0;r=j;return l|0}k[h>>2]=0;k[k[g>>2]>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+4>>0]=1;k[(k[g>>2]|0)+20>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+20+4>>0]=2;k[(k[g>>2]|0)+40>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+40+4>>0]=3;bS(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;i[(k[k[g>>2]>>2]|0)+(k[f>>2]|0)>>0]=0;l=ck((k[d>>2]|0)+364|0,k[k[g>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){l=k[g>>2]|0;r=j;return l|0}wh(k[d>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;i=m+28|0;j=m+24|0;d=m+20|0;e=m+16|0;g=m+12|0;f=m+8|0;l=m+4|0;h=m;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=Dj(k[j>>2]|0,k[d>>2]|0,g)|0;k[f>>2]=b;if(k[f>>2]|0){k[h>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[e>>2]|0))dk(k[j>>2]|0,k[f>>2]|0,k[g>>2]|0);else{k[(k[f>>2]|0)+8>>2]=k[e>>2];k[(k[f>>2]|0)+12>>2]=k[d>>2]}k[i>>2]=k[h>>2];l=k[i>>2]|0;r=m;return l|0}if(!(k[e>>2]|0)){k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}b=jg(16,0)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[i>>2]=k[e>>2];l=k[i>>2]|0;r=m;return l|0}k[(k[l>>2]|0)+12>>2]=k[d>>2];k[(k[l>>2]|0)+8>>2]=k[e>>2];b=(k[j>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+1;if(((k[(k[j>>2]|0)+4>>2]|0)>>>0>=10?(k[(k[j>>2]|0)+4>>2]|0)>>>0>k[k[j>>2]>>2]<<1>>>0:0)?(ek(k[j>>2]|0,k[(k[j>>2]|0)+4>>2]<<1)|0)!=0:0){b=Ej(k[d>>2]|0)|0;k[g>>2]=(b>>>0)%((k[k[j>>2]>>2]|0)>>>0)|0}if(k[(k[j>>2]|0)+12>>2]|0)d=(k[(k[j>>2]|0)+12>>2]|0)+(k[g>>2]<<3)|0;else d=0;fk(k[j>>2]|0,d,k[l>>2]|0);k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[d>>2]|0)+12>>2]|0){k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];g=k[g>>2]|0;k[g>>2]=(k[g>>2]|0)+-1}Ud(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if(k[(k[d>>2]|0)+4>>2]|0){r=h;return}Kj(k[d>>2]|0);r=h;return}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[e>>2]=k[e>>2]<<3>>>0>1024?128:b;if((k[e>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}gk();a=jg(k[e>>2]<<3,0)|0;k[h>>2]=a;hk();if(!(k[h>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}Ud(k[(k[d>>2]|0)+12>>2]|0);k[(k[d>>2]|0)+12>>2]=k[h>>2];a=((kg(k[h>>2]|0)|0)>>>0)/8|0;k[e>>2]=a;k[k[d>>2]>>2]=a;dS(k[h>>2]|0,0,k[e>>2]<<3|0)|0;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=Ej(k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=(a>>>0)%((k[e>>2]|0)>>>0)|0;k[i>>2]=k[k[f>>2]>>2];fk(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[i>>2]}k[c>>2]=1;a=k[c>>2]|0;r=j;return a|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;if(k[d>>2]|0){if(k[k[d>>2]>>2]|0)b=k[(k[d>>2]|0)+4>>2]|0;else b=0;k[g>>2]=b;c=k[d>>2]|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[d>>2]|0)+4>>2]=k[f>>2]}else k[g>>2]=0;if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[e>>2]|0)+8>>2]|0)k[(k[(k[e>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+8>>2]=k[f>>2];r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[e>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];r=h;return}function gk(){if(!(k[432]|0))return;dc[k[1728>>2]&255]();return}function hk(){if(!(k[433]|0))return;dc[k[1732>>2]&255]();return}function ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=(k[g>>2]|0)<(k[i>>2]|0)?k[g>>2]|0:k[i>>2]|0;a=oR(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[m>>2]=a;if(k[m>>2]|0){m=k[m>>2]|0;r=n;return m|0}if(((k[f>>2]|0)!=0?(nu((k[h>>2]|0)+(k[l>>2]|0)|0,(k[g>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0)?(nu((k[j>>2]|0)+(k[l>>2]|0)|0,(k[i>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0){m=k[m>>2]|0;r=n;return m|0}k[m>>2]=(k[g>>2]|0)-(k[i>>2]|0);m=k[m>>2]|0;r=n;return m|0}function jk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;f=i+16|0;l=i+12|0;g=i+8|0;j=i+4|0;h=i;k[i+20>>2]=a;k[f>>2]=b;k[l>>2]=c;k[g>>2]=d;k[j>>2]=e;e=Jd(k[l>>2]|0,k[j>>2]|0,(k[f>>2]|0)<(k[g>>2]|0)?k[f>>2]|0:k[g>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){l=k[h>>2]|0;r=i;return l|0}k[h>>2]=(k[f>>2]|0)-(k[g>>2]|0);l=k[h>>2]|0;r=i;return l|0}function kk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=r;r=r+160|0;J=S+32|0;I=S+24|0;H=S+16|0;G=S+8|0;j=S+140|0;T=S+136|0;m=S+132|0;n=S+128|0;o=S+124|0;p=S+120|0;q=S+116|0;F=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;h=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;g=S;E=S+76|0;C=S+72|0;P=S+68|0;D=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;K=S+36|0;k[T>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[F>>2]=0;k[v>>2]=k[k[n>>2]>>2];k[Q>>2]=k[T>>2];b=Tf(k[m>>2]|0)|0;k[h>>2]=b;a:do if(((k[v>>2]&64|0)!=0|(k[5]|0)!=0)&(k[h>>2]|0)>=5?(oR(k[m>>2]|0,26023,5)|0)==0:0){k[y>>2]=0;b=(k[h>>2]|0)+2|0;T=g;k[T>>2]=b;k[T+4>>2]=((b|0)<0)<<31>>31;k[v>>2]=k[v>>2]|64;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[h>>2]|0))break;b=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==38&1;T=g;b=$R(k[T>>2]|0,k[T+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;T=g;k[T>>2]=b;k[T+4>>2]=L;k[x>>2]=(k[x>>2]|0)+1}T=g;T=Td(k[T>>2]|0,k[T+4>>2]|0)|0;k[M>>2]=T;if(!(k[M>>2]|0)){k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}k[x>>2]=5;do if((i[(k[m>>2]|0)+5>>0]|0)==47?(i[(k[m>>2]|0)+6>>0]|0)==47:0){k[x>>2]=7;while(1){if(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)g=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)!=47;else g=0;h=k[x>>2]|0;if(!g)break;k[x>>2]=h+1}if((h|0)!=7){if((k[x>>2]|0)==16?(oR(26029,(k[m>>2]|0)+7|0,9)|0)==0:0)break;T=(k[m>>2]|0)+7|0;k[G>>2]=(k[x>>2]|0)-7;k[G+4>>2]=T;T=Yd(26039,G)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break a}}while(0);k[u>>2]=0;b:while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))break;if((i[t>>0]|0)==35)break;k[x>>2]=(k[x>>2]|0)+1;do if(((i[t>>0]|0)==37?(l[18403+(l[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(l[18403+(l[(k[m>>2]|0)+((k[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=k[x>>2]|0;k[x>>2]=T+1;T=((Vi(i[(k[m>>2]|0)+T>>0]|0)|0)&255)<<4;k[E>>2]=T;T=k[x>>2]|0;k[x>>2]=T+1;T=(Vi(i[(k[m>>2]|0)+T>>0]|0)|0)&255;k[E>>2]=(k[E>>2]|0)+T;if(k[E>>2]|0){i[t>>0]=k[E>>2];break}while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))continue b;if((i[t>>0]|0)==35)continue b;if((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)continue b;if((k[u>>2]|0)==1){if((i[t>>0]|0)==61)continue b;if((i[t>>0]|0)==38)continue b}if((k[u>>2]|0)==2?(i[t>>0]|0)==38:0)continue b;k[x>>2]=(k[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((k[u>>2]|0)==1){if((i[t>>0]|0)!=38?(i[t>>0]|0)!=61:0)break;if(!(i[(k[M>>2]|0)+((k[y>>2]|0)-1)>>0]|0))while(1){if(!(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0))continue b;if((i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==35)continue b;if((i[(k[m>>2]|0)+((k[x>>2]|0)-1)>>0]|0)==38)continue b;k[x>>2]=(k[x>>2]|0)+1}else{if((i[t>>0]|0)==38){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}else k[u>>2]=2;i[t>>0]=0;break c}}while(0);if(!((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)){if((k[u>>2]|0)!=2)break;if((i[t>>0]|0)!=38)break}i[t>>0]=0;k[u>>2]=1}while(0);G=i[t>>0]|0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=G}if((k[u>>2]|0)==1){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=(Tf(k[M>>2]|0)|0)+1|0;k[O>>2]=(k[M>>2]|0)+T;while(1){if(!(i[k[O>>2]>>0]|0)){R=84;break a}T=Tf(k[O>>2]|0)|0;k[C>>2]=T;k[P>>2]=(k[O>>2]|0)+((k[C>>2]|0)+1);T=Tf(k[P>>2]|0)|0;k[D>>2]=T;if((k[C>>2]|0)==3?(oR(26067,k[O>>2]|0,3)|0)==0:0)k[Q>>2]=k[P>>2];else{k[s>>2]=0;k[N>>2]=0;k[A>>2]=0;k[z>>2]=0;if((k[C>>2]|0)==5?(oR(26071,k[O>>2]|0,5)|0)==0:0){k[A>>2]=393216;k[s>>2]=4104;k[z>>2]=k[A>>2];k[N>>2]=26071}if((k[C>>2]|0)==4?(oR(26077,k[O>>2]|0,4)|0)==0:0){k[A>>2]=135;k[s>>2]=4128;k[z>>2]=k[A>>2]&k[v>>2];k[N>>2]=26082}if(k[s>>2]|0){k[B>>2]=0;k[w>>2]=0;while(1){if(!(k[(k[s>>2]|0)+(k[w>>2]<<3)>>2]|0))break;k[K>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)>>2];T=k[D>>2]|0;if((T|0)==(Tf(k[K>>2]|0)|0)?0==(oR(k[P>>2]|0,k[K>>2]|0,k[D>>2]|0)|0):0){R=73;break}k[w>>2]=(k[w>>2]|0)+1}if((R|0)==73){R=0;k[B>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)+4>>2]}if(!(k[B>>2]|0)){R=76;break}if((k[B>>2]&-129|0)>(k[z>>2]|0)){R=78;break}k[v>>2]=k[v>>2]&~k[A>>2]|k[B>>2]}}k[O>>2]=(k[P>>2]|0)+((k[D>>2]|0)+1)}if((R|0)==76){T=k[P>>2]|0;k[H>>2]=k[N>>2];k[H+4>>2]=T;T=Yd(26089,H)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break}else if((R|0)==78){T=k[P>>2]|0;k[I>>2]=k[N>>2];k[I+4>>2]=T;T=Yd(26109,I)|0;k[k[q>>2]>>2]=T;k[F>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(k[h>>2]|0)+2|0;T=Td(T,((T|0)<0)<<31>>31)|0;k[M>>2]=T;if(k[M>>2]|0){bS(k[M>>2]|0,k[m>>2]|0,k[h>>2]|0)|0;i[(k[M>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[M>>2]|0)+((k[h>>2]|0)+1)>>0]=0;k[v>>2]=k[v>>2]&-65;R=84;break}k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}while(0);if((R|0)==84?(T=Md(k[Q>>2]|0)|0,k[k[o>>2]>>2]=T,(k[k[o>>2]>>2]|0)==0):0){k[J>>2]=k[Q>>2];T=Yd(26133,J)|0;k[k[q>>2]>>2]=T;k[F>>2]=1}if(k[F>>2]|0){Ud(k[M>>2]|0);k[M>>2]=0}k[k[n>>2]>>2]=k[v>>2];k[k[p>>2]>>2]=k[M>>2];k[j>>2]=k[F>>2];T=k[j>>2]|0;r=S;return T|0}function lk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+192|0;C=I+76|0;g=I+72|0;h=I+68|0;n=I+64|0;D=I+60|0;o=I+56|0;p=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;q=I+4|0;G=I;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[D>>2]=d;k[o>>2]=e;k[p>>2]=f;k[F>>2]=0;k[I+40>>2]=0;k[H>>2]=0;if(!(k[h>>2]|0))c=1;else c=(i[k[h>>2]>>0]|0)==0;k[u>>2]=c&1;if((k[h>>2]|0)!=0?(rR(k[h>>2]|0,25837)|0)==0:0)c=1;else B=5;do if((B|0)==5){if((k[u>>2]|0)!=0?(hr(k[n>>2]|0)|0)!=0:0){c=1;break}c=(k[p>>2]&128|0)!=0}while(0);k[t>>2]=c&1;if(k[t>>2]|0)k[o>>2]=k[o>>2]|2;if((k[p>>2]&256|0)!=0?(k[t>>2]|0)!=0|(k[u>>2]|0)!=0:0)k[p>>2]=k[p>>2]&-257|512;b=ug(48,0)|0;k[E>>2]=b;if(!(k[E>>2]|0)){k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}i[(k[E>>2]|0)+8>>0]=0;k[k[E>>2]>>2]=k[n>>2];k[(k[E>>2]|0)+32>>2]=k[E>>2];k[(k[E>>2]|0)+32+4>>2]=1;do if(!(k[u>>2]|0)){if((k[t>>2]|0)!=0?(k[p>>2]&64|0)==0:0)break;if(k[p>>2]&131072){u=(Tf(k[h>>2]|0)|0)+1|0;k[v>>2]=u;k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+1;u=(k[w>>2]|0)>(k[v>>2]|0)?k[w>>2]|0:k[v>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[A>>2]=u;i[(k[E>>2]|0)+9>>0]=1;if(!(k[A>>2]|0)){Ud(k[E>>2]|0);k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}if(!(k[t>>2]|0)){w=ir(k[g>>2]|0,k[h>>2]|0,k[w>>2]|0,k[A>>2]|0)|0;k[H>>2]=w;if(k[H>>2]|0){Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}}else bS(k[A>>2]|0,k[h>>2]|0,k[v>>2]|0)|0;k[F>>2]=k[1006];while(1){if(!(k[F>>2]|0))break;w=k[A>>2]|0;if(0==(rR(w,Ui(k[k[F>>2]>>2]|0,0)|0)|0)?(w=Ii(k[k[F>>2]>>2]|0)|0,(w|0)==(k[g>>2]|0)):0){B=29;break}k[F>>2]=k[(k[F>>2]|0)+68>>2]}do if((B|0)==29){k[s>>2]=(k[(k[n>>2]|0)+20>>2]|0)-1;while(1){if((k[s>>2]|0)<0){B=35;break}k[y>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[s>>2]<<4)+4>>2];if((k[y>>2]|0)!=0?(k[(k[y>>2]|0)+4>>2]|0)==(k[F>>2]|0):0)break;k[s>>2]=(k[s>>2]|0)+-1}if((B|0)==35){k[(k[E>>2]|0)+4>>2]=k[F>>2];y=(k[F>>2]|0)+64|0;k[y>>2]=(k[y>>2]|0)+1;break}Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=19;H=k[C>>2]|0;r=I;return H|0}while(0);Ud(k[A>>2]|0)}}while(0);do if(!(k[F>>2]|0)){A=ug(84,0)|0;k[F>>2]=A;if(!(k[F>>2]|0)){k[H>>2]=7;break}A=kr(k[g>>2]|0,k[F>>2]|0,k[h>>2]|0,88,k[o>>2]|0,k[p>>2]|0,149)|0;k[H>>2]=A;if(!(k[H>>2]|0)){A=(k[n>>2]|0)+40|0;lr(k[k[F>>2]>>2]|0,k[A>>2]|0,k[A+4>>2]|0);A=mr(k[k[F>>2]>>2]|0,100,z)|0;k[H>>2]=A}if(!(k[H>>2]|0)){i[(k[F>>2]|0)+16>>0]=k[o>>2];k[(k[F>>2]|0)+4>>2]=k[n>>2];or(k[k[F>>2]>>2]|0,171,k[F>>2]|0);k[(k[E>>2]|0)+4>>2]=k[F>>2];k[(k[F>>2]|0)+8>>2]=0;k[(k[F>>2]|0)+12>>2]=0;if((pr(k[k[F>>2]>>2]|0)|0)<<24>>24){A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|1}k[(k[F>>2]|0)+32>>2]=l[z+16>>0]<<8|l[z+17>>0]<<16;if(((k[(k[F>>2]|0)+32>>2]|0)>>>0>=512?(k[(k[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((k[(k[F>>2]|0)+32>>2]|0)-1&k[(k[F>>2]|0)+32>>2]|0)==0:0){i[x>>0]=i[z+20>>0]|0;A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|2;A=(qr(z+52|0)|0)!=0;i[(k[F>>2]|0)+17>>0]=A?1:0;A=(qr(z+64|0)|0)!=0;i[(k[F>>2]|0)+18>>0]=A?1:0}else{k[(k[F>>2]|0)+32>>2]=0;if(!((k[h>>2]|0)==0|(k[t>>2]|0)!=0)){i[(k[F>>2]|0)+17>>0]=0;i[(k[F>>2]|0)+18>>0]=0}i[x>>0]=0}A=dj(k[k[F>>2]>>2]|0,(k[F>>2]|0)+32|0,l[x>>0]|0)|0;k[H>>2]=A;if(!(k[H>>2]|0)){k[(k[F>>2]|0)+36>>2]=(k[(k[F>>2]|0)+32>>2]|0)-(l[x>>0]|0);k[(k[F>>2]|0)+64>>2]=1;if(i[(k[E>>2]|0)+9>>0]|0){k[(k[F>>2]|0)+68>>2]=k[1006];k[1006]=k[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(i[(k[E>>2]|0)+9>>0]|0){k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break a;B=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0;k[G>>2]=B;if((B|0)!=0?(l[(k[G>>2]|0)+9>>0]|0)!=0:0)break;k[q>>2]=(k[q>>2]|0)+1}while(1){if(!(k[(k[G>>2]|0)+28>>2]|0))break;k[G>>2]=k[(k[G>>2]|0)+28>>2]}if((k[(k[E>>2]|0)+4>>2]|0)>>>0<(k[(k[G>>2]|0)+4>>2]|0)>>>0){k[(k[E>>2]|0)+24>>2]=k[G>>2];k[(k[E>>2]|0)+28>>2]=0;k[(k[G>>2]|0)+28>>2]=k[E>>2];break}while(1){if(k[(k[G>>2]|0)+24>>2]|0)e=(k[(k[(k[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(k[(k[E>>2]|0)+4>>2]|0)>>>0;else e=0;c=k[(k[G>>2]|0)+24>>2]|0;if(!e)break;k[G>>2]=c}k[(k[E>>2]|0)+24>>2]=c;k[(k[E>>2]|0)+28>>2]=k[G>>2];if(k[(k[E>>2]|0)+24>>2]|0)k[(k[(k[E>>2]|0)+24>>2]|0)+28>>2]=k[E>>2];k[(k[G>>2]|0)+24>>2]=k[E>>2]}while(0);k[k[D>>2]>>2]=k[E>>2]}if(!(k[H>>2]|0)){if(!(gr(k[E>>2]|0,0,0)|0))Xj(k[k[(k[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((k[F>>2]|0)!=0?(k[k[F>>2]>>2]|0)!=0:0)rr(k[k[F>>2]>>2]|0)|0;Ud(k[F>>2]|0);Ud(k[E>>2]|0);k[k[D>>2]>>2]=0}k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=gr(k[d>>2]|0,84,150)|0;k[e>>2]=b}else{b=Ch(0,84,0)|0;k[e>>2]=b}if(!(k[e>>2]|0)){wh(k[c>>2]|0);b=k[e>>2]|0;r=f;return b|0}if(l[(k[e>>2]|0)+76>>0]|0){b=k[e>>2]|0;r=f;return b|0}Jj((k[e>>2]|0)+8|0);Jj((k[e>>2]|0)+24|0);Jj((k[e>>2]|0)+40|0);Jj((k[e>>2]|0)+56|0);i[(k[e>>2]|0)+77>>0]=1;b=k[e>>2]|0;r=f;return b|0}function nk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;a=If(k[b>>2]|0,25831,2)|0;k[d>>2]=a;if((k[d>>2]|0)!=7){r=c;return}wh(k[b>>2]|0);r=c;return}function ok(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;g=j;b=j+28|0;d=j+24|0;c=j+20|0;f=j+16|0;h=j+12|0;i=j+8|0;e=j+4|0;k[b>>2]=a;k[c>>2]=1;if(!(k[385]|0)){r=j;return}k[d>>2]=0;while(1){if(!(k[c>>2]|0))break;k[e>>2]=0;if((k[d>>2]|0)>>>0>=(k[385]|0)>>>0){k[h>>2]=0;k[c>>2]=0}else k[h>>2]=k[(k[386]|0)+(k[d>>2]<<2)>>2];k[i>>2]=0;if((k[h>>2]|0)!=0?(a=Yb[k[h>>2]&255](k[b>>2]|0,i,k[e>>2]|0)|0,k[f>>2]=a,(a|0)!=0):0){l=k[b>>2]|0;a=k[f>>2]|0;k[g>>2]=k[i>>2];tg(l,a,25792,g);k[c>>2]=0}Ud(k[i>>2]|0);k[d>>2]=(k[d>>2]|0)+1}r=j;return}function pk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i+4|0;g=i;k[c>>2]=a;k[h>>2]=0;k[d>>2]=0;k[f>>2]=0;k[e>>2]=0;k[g>>2]=0;qk(g);a=rk(k[c>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}sk(f);tk(e);a=Sd(20)|0;k[d>>2]=a;if(k[d>>2]|0)uk(k[d>>2]|0,1,1);else k[h>>2]=7;do if(!(k[h>>2]|0)){if(((vk(k[d>>2]|0,20447,7,k[f>>2]|0)|0)==0?(vk(k[d>>2]|0,20454,7,k[e>>2]|0)|0)==0:0)?(vk(k[d>>2]|0,20461,10,k[g>>2]|0)|0)==0:0)break;k[h>>2]=7}while(0);if((((((0==(k[h>>2]|0)?(g=wk(k[c>>2]|0,k[d>>2]|0,20471)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20486,-1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20494,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20502,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20502,2)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,20512,1)|0,k[h>>2]=g,0==(g|0)):0){g=pf(k[c>>2]|0,20521,1736,k[d>>2]|0,151)|0;k[h>>2]=g;if(!(k[h>>2]|0)){g=pf(k[c>>2]|0,20526,1736,k[d>>2]|0,0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){g=yk(k[c>>2]|0,k[d>>2]|0)|0;k[h>>2]=g}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}if(k[d>>2]|0){zk(k[d>>2]|0);Ud(k[d>>2]|0)}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}function qk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2356;r=b;return}function rk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=of(k[d>>2]|0,25443,2264,0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function sk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2236;r=b;return}function tk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2208;r=b;return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d;g=d+5|0;f=d+4|0;k[e>>2]=a;i[g>>0]=b;i[f>>0]=c;i[k[e>>2]>>0]=i[g>>0]|0;i[(k[e>>2]|0)+1>>0]=i[f>>0]|0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;r=d;return}function vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;h=s+40|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;e=s+12|0;q=s+8|0;t=s+4|0;f=s;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;b=Rk(i[k[j>>2]>>0]|0)|0;k[t>>2]=b;b=gc[k[t>>2]&255](k[l>>2]|0,k[m>>2]|0)|0;k[p>>2]=b;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;b=Sk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){k[f>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[n>>2]|0))kq(k[j>>2]|0,k[e>>2]|0,k[o>>2]|0);else k[(k[e>>2]|0)+8>>2]=k[n>>2];k[h>>2]=k[f>>2];t=k[h>>2]|0;r=s;return t|0}if(!(k[n>>2]|0)){k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}if(!((k[(k[j>>2]|0)+12>>2]|0)==0?(lq(k[j>>2]|0,8)|0)!=0:0))g=10;do if((g|0)==10){if((k[(k[j>>2]|0)+4>>2]|0)>=(k[(k[j>>2]|0)+12>>2]|0)?(lq(k[j>>2]|0,k[(k[j>>2]|0)+12>>2]<<1)|0)!=0:0)break;t=mq(20)|0;k[q>>2]=t;if(!(k[q>>2]|0)){k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}do if((k[l>>2]|0)!=0?(i[(k[j>>2]|0)+1>>0]|0)!=0:0){d=mq(k[m>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=d;d=k[q>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){bS(k[d+12>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;break}Ak(d);k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}else k[(k[q>>2]|0)+12>>2]=k[l>>2];while(0);k[(k[q>>2]|0)+16>>2]=k[m>>2];t=(k[j>>2]|0)+4|0;k[t>>2]=(k[t>>2]|0)+1;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;nq(k[j>>2]|0,(k[(k[j>>2]|0)+16>>2]|0)+(k[o>>2]<<3)|0,k[q>>2]|0);k[(k[q>>2]|0)+8>>2]=k[n>>2];k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}while(0);k[(k[j>>2]|0)+4>>2]=0;k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=k[i>>2];k[h>>2]=5;if(!(k[g>>2]|0)){i=Gf(k[d>>2]|0,k[e>>2]|0,1,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=Gf(k[d>>2]|0,k[e>>2]|0,2,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function xk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];zk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=of(k[f>>2]|0,20531,1828,k[e>>2]|0)|0;k[c>>2]=b;r=d;return k[c>>2]|0}function zk(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;Ak(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+12>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];if((i[(k[b>>2]|0)+1>>0]|0)!=0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)Ak(k[(k[c>>2]|0)+12>>2]|0);Ak(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function Ak(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function Bk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+56|0;x=w+52|0;h=w+48|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;s=w+28|0;q=w+24|0;t=w+20|0;u=w+16|0;o=w+12|0;p=w+8|0;v=w+4|0;n=w;k[x>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[s>>2]=0;k[q>>2]=0;k[t>>2]=0;k[o>>2]=0;f=qf(k[x>>2]|0,20544)|0;k[u>>2]=f;if(k[u>>2]|0){k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}k[p>>2]=(k[i>>2]|0)-3;x=Mk(k[p>>2]|0,(k[j>>2]|0)+12|0,o)|0;k[u>>2]=x;if(!(k[u>>2]|0)){if((k[p>>2]|0)<1)k[v>>2]=20447;else k[v>>2]=k[k[o>>2]>>2];x=Nk(k[h>>2]|0,k[v>>2]|0,q,k[m>>2]|0)|0;k[u>>2]=x}if(!(k[u>>2]|0)){k[n>>2]=(k[o>>2]|0)+4;x=Yb[k[(k[q>>2]|0)+4>>2]&255]((k[p>>2]|0)>1?(k[p>>2]|0)-1|0:0,k[n>>2]|0,t)|0;k[u>>2]=x}if((k[u>>2]|0)==0?(x=Sd(20)|0,k[s>>2]=x,(k[s>>2]|0)==0):0)k[u>>2]=7;if(k[u>>2]|0){if(k[t>>2]|0)bc[k[(k[q>>2]|0)+8>>2]&255](k[t>>2]|0)|0}else{x=k[s>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[(k[s>>2]|0)+12>>2]=k[q>>2];k[(k[s>>2]|0)+16>>2]=k[t>>2];k[k[l>>2]>>2]=k[s>>2]}Ud(k[o>>2]|0);k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}function Ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){b=8;break}if(((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+5>>0]|0|0)!=0?(k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)>>2]|0)==0:0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+4>>0]|0|0)==2:0){b=6;break}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==6){k[(k[d>>2]|0)+20>>2]=1;k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=1;i[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1;p[(k[d>>2]|0)+40>>3]=1.0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else if((b|0)==8){k[(k[d>>2]|0)+20>>2]=0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Dk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+16>>2]|0)|0;Ud(k[c>>2]|0);r=b;return 0}function Ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(36)|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}else{a=k[e>>2]|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Fk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Lk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Gk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+40|0;g=p+36|0;q=p+32|0;h=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;j=p;k[g>>2]=a;k[q>>2]=b;k[p+28>>2]=c;k[p+24>>2]=d;k[h>>2]=e;k[n>>2]=1;k[l>>2]=k[g>>2];k[m>>2]=k[k[g>>2]>>2];Lk(k[l>>2]|0);do if((k[q>>2]|0)==1){q=je(k[k[h>>2]>>2]|0)|0;k[o>>2]=q;q=ke(k[k[h>>2]>>2]|0)|0;k[j>>2]=q;q=Sd((k[j>>2]|0)+1|0)|0;k[(k[l>>2]|0)+4>>2]=q;if(!(k[(k[l>>2]|0)+4>>2]|0)){k[n>>2]=7;break}bS(k[(k[l>>2]|0)+4>>2]|0,k[o>>2]|0,k[j>>2]|0)|0;i[(k[(k[l>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]=0;q=ec[k[(k[(k[m>>2]|0)+12>>2]|0)+12>>2]&255](k[(k[m>>2]|0)+16>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[j>>2]|0,(k[l>>2]|0)+8|0)|0;k[n>>2]=q;if(!(k[n>>2]|0))k[k[(k[l>>2]|0)+8>>2]>>2]=k[(k[m>>2]|0)+16>>2]}while(0);if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=p;return q|0}else{q=Hk(k[g>>2]|0)|0;k[f>>2]=q;q=k[f>>2]|0;r=p;return q|0}return 0}function Hk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;b=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[b>>2]=k[f>>2];k[e>>2]=k[k[f>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;a=ac[k[(k[(k[e>>2]|0)+12>>2]|0)+20>>2]&255](k[(k[b>>2]|0)+8>>2]|0,(k[b>>2]|0)+16|0,(k[b>>2]|0)+20|0,(k[b>>2]|0)+24|0,(k[b>>2]|0)+28|0,(k[b>>2]|0)+32|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){f=k[c>>2]|0;r=d;return f|0}Lk(k[b>>2]|0);if((k[c>>2]|0)!=101){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=d;return f|0}function Ik(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return (k[(k[b>>2]|0)+16>>2]|0)==0|0}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{we(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]|0,-1,-1);r=f;return 0}case 1:{we(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0,-1);r=f;return 0}case 2:{te(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0);r=f;return 0}case 3:{te(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);r=f;return 0}default:{te(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);r=f;return 0}}return 0}function Kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];a=k[(k[e>>2]|0)+12>>2]|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;r=c;return 0}function Lk(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=k[k[b>>2]>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+16>>2]&255](k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=0}Ud(k[(k[b>>2]|0)+4>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+20>>2]=0;k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+12>>2]=0;r=d;return}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;m=n+20|0;h=n+16|0;j=n+12|0;g=n+8|0;l=n+4|0;i=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;if(!(k[d>>2]|0)){k[k[f>>2]>>2]=0;m=k[m>>2]|0;r=n;return m|0}k[j>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=(uR(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0)+1|0;k[j>>2]=(k[j>>2]|0)+c;k[h>>2]=(k[h>>2]|0)+1}c=Sd((k[d>>2]<<2)+(k[j>>2]|0)|0)|0;k[g>>2]=c;k[k[f>>2]>>2]=c;if(!(k[g>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+(k[d>>2]<<2);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=uR(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[i>>2]=c;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[l>>2];bS(k[l>>2]|0,k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0,(k[i>>2]|0)+1|0)|0;Yk(k[l>>2]|0);k[l>>2]=(k[l>>2]|0)+((k[i>>2]|0)+1);k[h>>2]=(k[h>>2]|0)+1}m=k[m>>2]|0;r=n;return m|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;j=l;e=l+28|0;n=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;i=l+8|0;m=l+4|0;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=uR(k[f>>2]|0)|0;k[m>>2]=b;b=Ok(k[n>>2]|0,k[f>>2]|0,(k[m>>2]|0)+1|0)|0;k[i>>2]=b;if(k[i>>2]|0){k[k[g>>2]>>2]=k[i>>2];k[e>>2]=0;n=k[e>>2]|0;r=l;return n|0}else{n=k[h>>2]|0;k[j>>2]=k[f>>2];Pk(n,20595,j);k[e>>2]=1;n=k[e>>2]|0;r=l;return n|0}return 0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=Qk(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){h=0;r=e;return h|0}h=k[(k[d>>2]|0)+8>>2]|0;r=e;return h|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;Ud(k[k[e>>2]>>2]|0);k[f>>2]=c;b=Xd(k[g>>2]|0,f)|0;k[k[e>>2]>>2]=b;r=d;return}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+16>>2]|0)!=0:0){b=Rk(i[k[e>>2]>>0]|0)|0;k[j>>2]=b;j=gc[k[j>>2]&255](k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=j;j=Sk(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]&(k[(k[e>>2]|0)+12>>2]|0)-1)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Rk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=180;else k[b>>2]=181;r=c;return k[b>>2]|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;h=p+32|0;e=p+28|0;j=p+24|0;l=p+20|0;f=p+16|0;n=p+12|0;m=p+8|0;o=p+4|0;g=p;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[f>>2]=d;a:do if(k[(k[e>>2]|0)+16>>2]|0){k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<3);k[n>>2]=k[(k[g>>2]|0)+4>>2];k[m>>2]=k[k[g>>2]>>2];b=Tk(i[k[e>>2]>>0]|0)|0;k[o>>2]=b;while(1){b=k[m>>2]|0;k[m>>2]=b+-1;if(!((b|0)!=0?(k[n>>2]|0)!=0:0))break a;b=(ec[k[o>>2]&255](k[(k[n>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0;e=k[n>>2]|0;if(b)break;k[n>>2]=k[e>>2]}k[h>>2]=e;o=k[h>>2]|0;r=p;return o|0}while(0);k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}function Tk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=142;else k[b>>2]=143;r=c;return k[b>>2]|0}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=vR(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=oR(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];k[d>>2]=0;if((k[c>>2]|0)<=0){g=uR(k[e>>2]|0)|0;k[c>>2]=g}while(1){b=k[d>>2]|0;if((k[c>>2]|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0];k[c>>2]=(k[c>>2]|0)+-1}r=f;return b&2147483647|0}function Xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=k[g>>2];while(1){g=k[c>>2]|0;k[c>>2]=g+-1;b=k[d>>2]|0;if((g|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0]}r=f;return b&2147483647|0}function Yk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;f=g+12|0;d=g+4|0;e=g;k[c>>2]=a;i[f>>0]=i[k[c>>2]>>0]|0;if((((i[f>>0]|0)!=91?(i[f>>0]|0)!=39:0)?(i[f>>0]|0)!=34:0)?(i[f>>0]|0)!=96:0){r=g;return}k[d>>2]=1;k[e>>2]=0;if((i[f>>0]|0)==91)i[f>>0]=93;while(1){if(!(i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0))break;a=k[d>>2]|0;b=a+1|0;if((i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)!=(i[f>>0]|0)){k[d>>2]=b;a=i[(k[c>>2]|0)+a>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;continue}if((i[(k[c>>2]|0)+b>>0]|0)!=(i[f>>0]|0))break;a=i[f>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;k[d>>2]=(k[d>>2]|0)+2}i[(k[c>>2]|0)+(k[e>>2]|0)>>0]=0;r=g;return}function Zk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Vp(1,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Vp(0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function $k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+64|0;q=u+48|0;v=u+44|0;s=u+40|0;m=u+36|0;d=u+32|0;e=u+28|0;j=u+24|0;f=u+20|0;g=u+16|0;h=u+12|0;c=u+8|0;n=u+4|0;t=u;k[v>>2]=a;k[s>>2]=b;k[m>>2]=k[v>>2];k[e>>2]=-1;k[j>>2]=-1;k[f>>2]=-1;k[g>>2]=-1;k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=5.0e6;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=(k[k[s>>2]>>2]|0))break;k[n>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*12|0);b=k[n>>2]|0;b:do if(!(l[(k[n>>2]|0)+5>>0]|0)){if((l[b+4>>0]|0)==64){o=5;break a}}else{if((k[b>>2]|0)<0)b=1;else b=(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+1|0);k[c>>2]=b&1;if((k[e>>2]|0)<0?((k[c>>2]|0)!=0?(l[(k[n>>2]|0)+4>>0]|0)==2:0):0){k[(k[s>>2]|0)+20>>2]=1;p[(k[s>>2]|0)+40>>3]=1.0;k[e>>2]=k[d>>2]}if(((l[(k[n>>2]|0)+4>>0]|0)==64?(k[k[n>>2]>>2]|0)>=0:0)?(k[k[n>>2]>>2]|0)<=(k[(k[m>>2]|0)+24>>2]|0):0){k[(k[s>>2]|0)+20>>2]=2+(k[k[n>>2]>>2]|0);p[(k[s>>2]|0)+40>>3]=2.0;k[e>>2]=k[d>>2]}if((l[(k[n>>2]|0)+4>>0]|0)==2?(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+2|0):0)k[j>>2]=k[d>>2];if(k[c>>2]|0)switch(l[(k[n>>2]|0)+4>>0]|0){case 4:case 32:{k[f>>2]=k[d>>2];break b}case 16:case 8:{k[g>>2]=k[d>>2];break b}default:break b}}while(0);k[d>>2]=(k[d>>2]|0)+1}if((o|0)==5){k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=1.e+50;Tp(k[s>>2]|0,0,262144);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)==1)Up(k[s>>2]|0);k[h>>2]=1;if((k[e>>2]|0)>=0){v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=v;i[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1}if((k[j>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|65536;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=v}if((k[f>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|131072;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[f>>2]<<3)>>2]=v}if((k[g>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|262144;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=v}do if((k[(k[s>>2]|0)+8>>2]|0)==1){k[t>>2]=k[(k[s>>2]|0)+12>>2];if((k[k[t>>2]>>2]|0)>=0?(k[k[t>>2]>>2]|0)!=((k[(k[m>>2]|0)+24>>2]|0)+1|0):0)break;b=(k[s>>2]|0)+24|0;if(i[(k[t>>2]|0)+4>>0]|0)k[b>>2]=23624;else k[b>>2]=23629;k[(k[s>>2]|0)+32>>2]=1}while(0);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}function al(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[e>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;fe(k[(k[c>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[c>>2]|0)+240>>2]|0);Ud(k[(k[c>>2]|0)+216>>2]|0);Ud(k[(k[c>>2]|0)+220>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);bc[k[(k[k[(k[c>>2]|0)+36>>2]>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+36>>2]|0)|0;Ud(k[c>>2]|0);r=d;return 0}function bl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;f=m;b=m+56|0;d=m+52|0;e=m+48|0;l=m+44|0;c=m+40|0;k[b>>2]=a;k[d>>2]=k[b>>2];k[e>>2]=0;k[l>>2]=k[(k[d>>2]|0)+16>>2];k[c>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[(k[d>>2]|0)+40>>2]|0)){a=k[c>>2]|0;n=k[(k[d>>2]|0)+20>>2]|0;k[f>>2]=k[l>>2];k[f+4>>2]=n;xl(e,a,23824,f)}n=k[c>>2]|0;f=k[(k[d>>2]|0)+20>>2]|0;k[i>>2]=k[l>>2];k[i+4>>2]=f;xl(e,n,23861,i);n=k[c>>2]|0;i=k[(k[d>>2]|0)+20>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=i;xl(e,n,23899,j);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[g>>2]=k[l>>2];k[g+4>>2]=j;xl(e,n,23935,g);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[h>>2]=k[l>>2];k[h+4>>2]=j;xl(e,n,23972,h);if(!(k[e>>2]|0)){n=al(k[b>>2]|0)|0;r=m;return n|0}else{n=k[e>>2]|0;r=m;return n|0}return 0}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+12|0;f=e+4|0;c=e;k[e+8>>2]=a;k[f>>2]=b;b=Sd(96)|0;k[c>>2]=b;k[k[f>>2]>>2]=b;if(k[c>>2]|0){c=k[c>>2]|0;a=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=7;f=k[d>>2]|0;r=e;return f|0}return 0}function dl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];fe(k[(k[c>>2]|0)+8>>2]|0)|0;qp(k[(k[c>>2]|0)+12>>2]|0);Sp(k[c>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);Jm(k[(k[c>>2]|0)+92>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function el(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;B=D+32|0;A=D;t=D+108|0;u=D+104|0;f=D+100|0;m=D+96|0;g=D+88|0;z=D+84|0;C=D+80|0;n=D+76|0;v=D+72|0;w=D+68|0;p=D+64|0;q=D+60|0;x=D+56|0;y=D+52|0;h=D+48|0;o=D+44|0;s=D+40|0;k[u>>2]=a;k[f>>2]=b;k[m>>2]=c;k[D+92>>2]=d;k[g>>2]=e;k[z>>2]=0;k[v>>2]=k[k[u>>2]>>2];k[w>>2]=k[u>>2];k[p>>2]=0;k[q>>2]=0;k[x>>2]=0;k[y>>2]=0;k[n>>2]=k[f>>2]&65535;k[h>>2]=0;if(k[n>>2]|0){a=k[h>>2]|0;k[h>>2]=a+1;k[p>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&65536){a=k[h>>2]|0;k[h>>2]=a+1;k[q>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&131072){a=k[h>>2]|0;k[h>>2]=a+1;k[x>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&262144){a=k[h>>2]|0;k[h>>2]=a+1;k[y>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}fe(k[(k[w>>2]|0)+8>>2]|0)|0;Ud(k[(k[w>>2]|0)+44>>2]|0);Jm(k[(k[w>>2]|0)+92>>2]|0);qp(k[(k[w>>2]|0)+12>>2]|0);f=(k[u>>2]|0)+4|0;g=f+92|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a=rp(k[x>>2]|0,0,-2147483648)|0;d=(k[w>>2]|0)+72|0;k[d>>2]=a;k[d+4>>2]=L;d=rp(k[y>>2]|0,-1,2147483647)|0;a=(k[w>>2]|0)+80|0;k[a>>2]=d;k[a+4>>2]=L;if(k[m>>2]|0)i[(k[w>>2]|0)+52>>0]=(i[k[m>>2]>>0]|0)==68;else i[(k[w>>2]|0)+52>>0]=i[(k[v>>2]|0)+231>>0]|0;j[(k[w>>2]|0)+4>>1]=k[n>>2];do if((k[n>>2]|0)!=1&(k[n>>2]|0)!=0){k[o>>2]=(k[n>>2]|0)-2;m=je(k[p>>2]|0)|0;k[s>>2]=m;if((k[s>>2]|0)==0?(oe(k[p>>2]|0)|0)!=5:0){k[t>>2]=7;C=k[t>>2]|0;r=D;return C|0}k[(k[w>>2]|0)+16>>2]=0;if(k[q>>2]|0){q=me(k[q>>2]|0)|0;k[(k[w>>2]|0)+16>>2]=q}s=sp(k[(k[v>>2]|0)+36>>2]|0,k[(k[w>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+28>>2]|0,l[(k[v>>2]|0)+228>>0]|0,k[(k[v>>2]|0)+24>>2]|0,k[o>>2]|0,k[s>>2]|0,-1,(k[w>>2]|0)+12|0,(k[v>>2]|0)+8|0)|0;k[z>>2]=s;if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}s=tp(k[w>>2]|0)|0;k[z>>2]=s;Im(k[v>>2]|0);if(!(k[z>>2]|0)){k[(k[w>>2]|0)+40>>2]=k[(k[w>>2]|0)+44>>2];s=(k[w>>2]|0)+32|0;k[s>>2]=0;k[s+4>>2]=0;break}k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}while(0);do if(!(k[n>>2]|0)){f=k[(k[v>>2]|0)+216>>2]|0;g=k[w>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0){q=g+72|0;p=k[q>>2]|0;q=k[q+4>>2]|0;x=(k[w>>2]|0)+80|0;s=k[x>>2]|0;x=k[x+4>>2]|0;B=(l[(k[w>>2]|0)+52>>0]|0)!=0?23624:23629;k[A>>2]=f;y=A+8|0;k[y>>2]=p;k[y+4>>2]=q;y=A+16|0;k[y>>2]=s;k[y+4>>2]=x;k[A+24>>2]=B;B=Yd(23633,A)|0;k[C>>2]=B}else{A=(l[g+52>>0]|0)!=0?23624:23629;k[B>>2]=f;k[B+4>>2]=A;B=Yd(23695,B)|0;k[C>>2]=B}if(k[C>>2]|0){B=lf(k[(k[v>>2]|0)+12>>2]|0,k[C>>2]|0,-1,(k[w>>2]|0)+8|0,0)|0;k[z>>2]=B;Ud(k[C>>2]|0);break}else{k[z>>2]=7;break}}else if((k[n>>2]|0)==1?(C=Pn(k[w>>2]|0,(k[w>>2]|0)+8|0)|0,k[z>>2]=C,(k[z>>2]|0)==0):0){C=Ye(k[(k[w>>2]|0)+8>>2]|0,1,k[p>>2]|0)|0;k[z>>2]=C}while(0);if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}else{C=fl(k[u>>2]|0)|0;k[t>>2]=C;C=k[t>>2]|0;r=D;return C|0}return 0}function fl(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if((j[(k[c>>2]|0)+4>>1]|0)!=1?(j[(k[c>>2]|0)+4>>1]|0)!=0:0){c=pp(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}a=100!=(De(k[(k[c>>2]|0)+8>>2]|0)|0);b=k[c>>2]|0;if(a){i[b+6>>0]=1;c=ge(k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}else{a=Ne(k[b+8>>2]|0,0)|0;c=(k[c>>2]|0)+32|0;k[c>>2]=a;k[c+4>>2]=L;k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}return 0}function gl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+6>>0]|0|0}function hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;d=j+20|0;e=j+16|0;i=j+12|0;h=j+8|0;g=j+4|0;f=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[i>>2]=0;k[h>>2]=k[l>>2];k[g>>2]=k[k[l>>2]>>2];if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+1|0)){l=(k[h>>2]|0)+32|0;ue(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==(k[(k[g>>2]|0)+24>>2]|0)){pe(k[d>>2]|0,h,4,-1);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)?(k[(k[h>>2]|0)+12>>2]|0)!=0:0){l=k[(k[h>>2]|0)+16>>2]|0;ue(k[d>>2]|0,l,((l|0)<0)<<31>>31);l=k[i>>2]|0;r=j;return l|0}l=Dn(0,k[h>>2]|0)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)){k[f>>2]=0;if(k[(k[g>>2]|0)+44>>2]|0){l=Me(k[(k[h>>2]|0)+8>>2]|0,(k[(k[g>>2]|0)+24>>2]|0)+1|0)|0;k[f>>2]=l}te(k[d>>2]|0,k[f>>2]|0);l=k[i>>2]|0;r=j;return l|0}else{l=Ie(k[(k[h>>2]|0)+8>>2]|0)|0;if((l|0)<=((k[e>>2]|0)+1|0)){l=k[i>>2]|0;r=j;return l|0}l=k[d>>2]|0;ye(l,Pe(k[(k[h>>2]|0)+8>>2]|0,(k[e>>2]|0)+1|0)|0);l=k[i>>2]|0;r=j;return l|0}return 0}function il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+32|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=Qo(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return a|0}function kl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[(k[c>>2]|0)+52>>2]=0;a=vl(k[c>>2]|0)|0;r=b;return a|0}function ll(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;g=f+20|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[g>>2]=a;k[f+16>>2]=64;k[d>>2]=k[g>>2];a=wl(k[d>>2]|0)|0;k[e>>2]=a;if(((((k[e>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)>>>0>4:0)?(k[(k[d>>2]|0)+48>>2]|0)!=0:0)?(k[(k[d>>2]|0)+48>>2]|0)!=255:0)?(k[c>>2]=0,g=po(k[d>>2]|0,c)|0,k[e>>2]=g,g=ha(k[(k[d>>2]|0)+52>>2]|0,k[c>>2]|0)|0,k[b>>2]=g,k[b>>2]=(k[b>>2]|0)+((k[b>>2]|0)/2|0),(k[b>>2]|0)>64):0){g=qo(k[d>>2]|0,k[b>>2]|0,k[(k[d>>2]|0)+48>>2]|0)|0;k[e>>2]=g}Im(k[d>>2]|0);r=f;return k[e>>2]|0}function ml(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function nl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];tl(k[c>>2]|0);r=b;return 0}function ol(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+64|0;h=l+60|0;f=l+48|0;i=l+44|0;j=l+8|0;g=l;k[l+56>>2]=a;k[l+52>>2]=b;k[f>>2]=c;k[i>>2]=d;k[l+40>>2]=e;k[j>>2]=k[520];k[j+4>>2]=k[521];k[j+8>>2]=k[522];k[j+12>>2]=k[523];k[j+16>>2]=k[524];k[j+20>>2]=k[525];k[j+24>>2]=k[526];k[j+28>>2]=k[527];k[g>>2]=0;while(1){if((k[g>>2]|0)>=4){b=6;break}c=(rR(k[f>>2]|0,k[j+(k[g>>2]<<3)>>2]|0)|0)==0;a=k[g>>2]|0;if(c){b=4;break}k[g>>2]=a+1}if((b|0)==4){k[k[i>>2]>>2]=k[j+(a<<3)+4>>2];k[h>>2]=1;j=k[h>>2]|0;r=l;return j|0}else if((b|0)==6){k[h>>2]=0;j=k[h>>2]|0;r=l;return j|0}return 0}function pl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+96|0;j=n+64|0;h=n+48|0;m=n+32|0;l=n+16|0;g=n;o=n+92|0;c=n+88|0;e=n+84|0;d=n+80|0;f=n+76|0;k[o>>2]=a;k[c>>2]=b;k[e>>2]=k[o>>2];k[d>>2]=k[(k[e>>2]|0)+12>>2];b=vl(k[e>>2]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){o=wl(k[e>>2]|0)|0;k[f>>2]=o}if(!(k[(k[e>>2]|0)+40>>2]|0)){o=k[d>>2]|0;a=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[g>>2]=k[(k[e>>2]|0)+16>>2];k[g+4>>2]=a;k[g+8>>2]=b;xl(f,o,20617,g)}if(i[(k[e>>2]|0)+230>>0]|0){o=k[d>>2]|0;g=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[l>>2]=k[(k[e>>2]|0)+16>>2];k[l+4>>2]=g;k[l+8>>2]=b;xl(f,o,20670,l)}if(i[(k[e>>2]|0)+229>>0]|0){o=k[d>>2]|0;l=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[m>>2]=k[(k[e>>2]|0)+16>>2];k[m+4>>2]=l;k[m+8>>2]=b;xl(f,o,20723,m)}o=k[d>>2]|0;b=k[(k[e>>2]|0)+20>>2]|0;m=k[c>>2]|0;k[h>>2]=k[(k[e>>2]|0)+16>>2];k[h+4>>2]=b;k[h+8>>2]=m;xl(f,o,20770,h);o=k[d>>2]|0;m=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[j>>2]=k[(k[e>>2]|0)+16>>2];k[j+4>>2]=m;k[j+8>>2]=b;xl(f,o,20824,j);r=n;return k[f>>2]|0}function ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;k[e+4>>2]=b;k[d>>2]=0;if(l[(k[c>>2]|0)+232>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=ll(k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function rl(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];tl(k[d>>2]|0);r=c;return 0}function tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+248>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+252>>2]|0)+((k[c>>2]|0)*24|0)+4;k[d>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+8>>2];ul(k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}zk(k[e>>2]|0);k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+260>>2]=0;r=g;return}function ul(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j;b=j+28|0;e=j+24|0;g=j+20|0;h=j+16|0;d=j+12|0;c=j+8|0;k[b>>2]=a;k[e>>2]=0;if((l[(k[b>>2]|0)+229>>0]|0|0)!=2){h=k[e>>2]|0;r=j;return h|0}k[g>>2]=23181;g=k[g>>2]|0;a=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=a;g=Yd(g,f)|0;k[h>>2]=g;if(!(k[h>>2]|0)){k[e>>2]=7;h=k[e>>2]|0;r=j;return h|0}k[d>>2]=0;g=lf(k[(k[b>>2]|0)+12>>2]|0,k[h>>2]|0,-1,d,0)|0;k[e>>2]=g;if((k[e>>2]|0)==0?(g=(De(k[d>>2]|0)|0)==100&1,k[c>>2]=g,g=fe(k[d>>2]|0)|0,k[e>>2]=g,(k[e>>2]|0)==0):0)i[(k[b>>2]|0)+229>>0]=k[c>>2];Ud(k[h>>2]|0);h=k[e>>2]|0;r=j;return h|0}function wl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[f>>2]=0;k[d>>2]=0;while(1){if(!(k[f>>2]|0))a=(k[d>>2]|0)<(k[(k[c>>2]|0)+248>>2]|0);else a=0;b=k[c>>2]|0;if(!a)break;b=yl(b,k[(k[c>>2]|0)+272>>2]|0,k[d>>2]|0,-1)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==101?0:b;k[d>>2]=(k[d>>2]|0)+1}tl(b);if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}if(!(l[(k[c>>2]|0)+229>>0]|0)){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+48>>2]|0)!=255){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+52>>2]|0)>>>0<=0){f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;d=zl(k[c>>2]|0,22,e,0)|0;k[f>>2]=d;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}Ue(k[e>>2]|0,1,2)|0;d=De(k[e>>2]|0)|0;k[f>>2]=d;if((k[f>>2]|0)==100){d=Me(k[e>>2]|0,0)|0;k[(k[c>>2]|0)+48>>2]=d;if((k[(k[c>>2]|0)+48>>2]|0)==1)k[(k[c>>2]|0)+48>>2]=8}else if((k[f>>2]|0)==101)k[(k[c>>2]|0)+48>>2]=0;e=ge(k[e>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;e=j+32|0;f=j+28|0;g=j+24|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=j;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[k[e>>2]>>2]=7;r=j;return}else{c=kf(k[f>>2]|0,k[i>>2]|0,0,0,0)|0;k[k[e>>2]>>2]=c;Ud(k[i>>2]|0);r=j;return}}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+128|0;e=s+120|0;f=s+116|0;g=s+112|0;h=s+108|0;q=s+104|0;m=s+100|0;o=s+8|0;p=s+96|0;l=s+80|0;j=s+24|0;i=s+16|0;n=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=0;a=o;k[a>>2]=0;k[a+4>>2]=0;k[p>>2]=0;k[i>>2]=0;a=n;k[a>>2]=0;k[a+4>>2]=0;a=Al(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0,1,0,j)|0;k[q>>2]=a;do if((k[q>>2]|0)==0?(k[j+4>>2]|0)!=0:0){if((k[h>>2]|0)!=-1?(a=Bl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,n)|0,k[q>>2]=a,(k[q>>2]|0)!=0):0)break;if((k[h>>2]|0)==-2){if((k[j+4>>2]|0)==1?0==((k[(k[k[j>>2]>>2]|0)+56>>2]|0)!=0|0):0){k[q>>2]=101;break}b=n;d=k[b+4>>2]|0;a=o;k[a>>2]=k[b>>2];k[a+4>>2]=d;k[i>>2]=1}else{d=Cl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0)|0;a=o;k[a>>2]=d;k[a+4>>2]=L;a=Dl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0,m)|0;k[q>>2]=a;if((k[h>>2]|0)!=-1){a=o;b=k[a+4>>2]|0;c=n;d=k[c+4>>2]|0;c=(b|0)>(d|0)|((b|0)==(d|0)?(k[a>>2]|0)>>>0>(k[c>>2]|0)>>>0:0)}else c=0;k[i>>2]=c&1}if(!(k[q>>2]|0)){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+12>>2]=1;a=l+12|0;k[a>>2]=k[a>>2]|((k[i>>2]|0)!=0?2:0);l=El(k[e>>2]|0,j,l)|0;k[q>>2]=l;while(1){if(k[q>>2]|0)break;l=Fl(k[e>>2]|0,j)|0;k[q>>2]=l;if((k[q>>2]|0)!=100)break;l=Gl(k[e>>2]|0,p,1,k[j+40>>2]|0,k[j+44>>2]|0,k[j+48>>2]|0,k[j+52>>2]|0)|0;k[q>>2]=l}if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1){l=Hl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[q>>2]=l;if(!((k[q>>2]|0)==0&(k[p>>2]|0)!=0))break}else if(!(k[p>>2]|0))break;l=o;m=Il(k[e>>2]|0,k[p>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0)|0;k[q>>2]=m;if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1?(m=o,i=k[m+4>>2]|0,n,l=k[n+4>>2]|0,!((i|0)<(l|0)|((i|0)==(l|0)?(k[m>>2]|0)>>>0<(k[n>>2]|0)>>>0:0))):0)break;n=o;o=(k[p>>2]|0)+56|0;o=Jl(k[e>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[q>>2]=o}}}}while(0);Kl(k[p>>2]|0);Ll(j);r=s;return k[q>>2]|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+240|0;n=t+24|0;m=t+16|0;f=t;g=t+228|0;h=t+224|0;p=t+220|0;i=t+216|0;e=t+56|0;s=t+48|0;q=t+44|0;o=t+40|0;j=t+36|0;l=t+32|0;k[g>>2]=a;k[h>>2]=b;k[p>>2]=c;k[i>>2]=d;bS(e|0,1920,160)|0;k[s>>2]=0;k[q>>2]=k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2];do if(!(k[q>>2]|0)){a=k[h>>2]|0;do if((k[h>>2]|0)!=18){d=k[e+(k[h>>2]<<2)>>2]|0;b=k[g>>2]|0;if((a|0)==7){k[m>>2]=k[b+216>>2];n=Yd(d,m)|0;k[o>>2]=n;break}else{m=k[(k[g>>2]|0)+20>>2]|0;k[n>>2]=k[b+16>>2];k[n+4>>2]=m;n=Yd(d,n)|0;k[o>>2]=n;break}}else{n=k[e+(a<<2)>>2]|0;e=k[(k[g>>2]|0)+20>>2]|0;m=k[(k[g>>2]|0)+220>>2]|0;k[f>>2]=k[(k[g>>2]|0)+16>>2];k[f+4>>2]=e;k[f+8>>2]=m;n=Yd(n,f)|0;k[o>>2]=n}while(0);if(k[o>>2]|0){n=lf(k[(k[g>>2]|0)+12>>2]|0,k[o>>2]|0,-1,q,0)|0;k[s>>2]=n;Ud(k[o>>2]|0);k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2]=k[q>>2];break}else{k[s>>2]=7;break}}while(0);if(!(k[i>>2]|0)){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}o=_e(k[q>>2]|0)|0;k[l>>2]=o;k[j>>2]=0;while(1){if(k[s>>2]|0){d=15;break}if((k[j>>2]|0)>=(k[l>>2]|0)){d=15;break}o=Ye(k[q>>2]|0,(k[j>>2]|0)+1|0,k[(k[i>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[s>>2]=o;k[j>>2]=(k[j>>2]|0)+1}if((d|0)==15){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}return 0}function Al(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;j=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;s=u+4|0;t=u;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;c=k[t>>2]|0;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));t=tm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0)|0;r=u;return t|0}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;d=zl(k[f>>2]|0,15,j,0)|0;k[l>>2]=d;if(k[l>>2]|0){k[e>>2]=k[l>>2];l=k[e>>2]|0;r=m;return l|0}l=k[j>>2]|0;d=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;Ve(l,1,d,L)|0;d=k[j>>2]|0;l=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;Ve(d,2,l,L)|0;if(100==(De(k[j>>2]|0)|0)){d=Ne(k[j>>2]|0,0)|0;l=k[i>>2]|0;k[l>>2]=d;k[l+4>>2]=L}l=ge(k[j>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=m;return l|0}function Cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;i=e+20|0;j=e+16|0;h=e+12|0;f=e+8|0;g=e;k[i>>2]=a;k[j>>2]=b;k[h>>2]=c;k[f>>2]=d;a=k[j>>2]|0;d=k[(k[i>>2]|0)+248>>2]|0;d=kS(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;a=k[h>>2]|0;a=$R(d|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;a=kS(a|0,L|0,1024,0)|0;d=g;k[d>>2]=a;k[d+4>>2]=L;d=g;a=k[f>>2]|0;a=$R(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;r=e;return a|0}function Dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;e=zl(k[f>>2]|0,8,m,0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){a=k[m>>2]|0;e=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;Ve(a,1,e,L)|0;if(100==(De(k[m>>2]|0)|0)){e=Me(k[m>>2]|0,0)|0;k[l>>2]=e}e=ge(k[m>>2]|0)|0;k[n>>2]=e}if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[l>>2]|0)>=16){e=yl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[n>>2]=e;k[k[j>>2]>>2]=0;n=k[n>>2]|0;r=o;return n|0}else{k[k[j>>2]>>2]=k[l>>2];n=k[n>>2]|0;r=o;return n|0}return 0}function El(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[f>>2]|0)+12>>2]=k[e>>2];c=rm(k[g>>2]|0,k[f>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;r=d;return c|0}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+128|0;c=J+120|0;d=J+116|0;e=J+112|0;G=J+108|0;s=J+104|0;u=J+100|0;p=J+96|0;t=J+92|0;v=J+88|0;q=J+84|0;h=J+80|0;B=J+76|0;D=J+72|0;H=J+68|0;A=J+64|0;j=J+60|0;F=J+56|0;y=J+52|0;o=J+16|0;w=J+48|0;E=J+44|0;z=J+40|0;x=J+36|0;n=J+8|0;m=J;g=J+32|0;f=J+28|0;C=J+24|0;k[d>>2]=a;k[e>>2]=b;k[G>>2]=0;k[s>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&2;k[u>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&1;k[p>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&4;k[t>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&8;k[v>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&16;k[q>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&32;k[h>>2]=k[k[e>>2]>>2];k[B>>2]=k[(k[e>>2]|0)+4>>2];k[D>>2]=k[(k[e>>2]|0)+12>>2];k[H>>2]=(l[(k[d>>2]|0)+231>>0]|0)!=0?182:183;if(!(k[(k[e>>2]|0)+4>>2]|0)){k[c>>2]=0;I=k[c>>2]|0;r=J;return I|0}a:while(1){k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[e>>2]|0)+8>>2]|0))break;k[F>>2]=k[(k[h>>2]|0)+(k[j>>2]<<2)>>2];if(i[(k[F>>2]|0)+4>>0]|0)_l(k[F>>2]|0);else{b=$l(k[d>>2]|0,k[F>>2]|0,0)|0;k[G>>2]=b}if(k[G>>2]|0){I=9;break a}k[j>>2]=(k[j>>2]|0)+1}bm(k[h>>2]|0,k[B>>2]|0,k[(k[e>>2]|0)+8>>2]|0,184);k[(k[e>>2]|0)+8>>2]=0;if(!(k[(k[k[h>>2]>>2]|0)+40>>2]|0)){I=61;break}k[(k[e>>2]|0)+44>>2]=k[(k[k[h>>2]>>2]|0)+60>>2];k[(k[e>>2]|0)+40>>2]=k[(k[k[h>>2]>>2]|0)+64>>2];if(!((k[v>>2]|0)!=0?1:(k[k[D>>2]>>2]|0)==0)){if((k[(k[e>>2]|0)+44>>2]|0)<(k[(k[D>>2]|0)+4>>2]|0)){I=61;break}if((k[t>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)>(k[(k[D>>2]|0)+4>>2]|0):0){I=61;break}if(oR(k[(k[e>>2]|0)+40>>2]|0,k[k[D>>2]>>2]|0,k[(k[D>>2]|0)+4>>2]|0)|0){I=61;break}}k[A>>2]=1;while(1){if(((k[A>>2]|0)<(k[B>>2]|0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+60>>2]|0)==(k[(k[e>>2]|0)+44>>2]|0):0)b=0==(oR(k[(k[e>>2]|0)+40>>2]|0,k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+64>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0);else b=0;a=k[A>>2]|0;if(!b)break;k[A>>2]=a+1}do if(!((a|0)!=1|(k[s>>2]|0)!=0|(k[q>>2]|0)!=0)){if((l[(k[d>>2]|0)+231>>0]|0)!=0?((k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){I=32;break}k[(k[e>>2]|0)+52>>2]=k[(k[k[h>>2]>>2]|0)+76>>2];if(k[(k[k[h>>2]>>2]|0)+56>>2]|0){b=cm(k[e>>2]|0,k[(k[k[h>>2]>>2]|0)+72>>2]|0,k[(k[e>>2]|0)+52>>2]|0)|0;k[G>>2]=b;k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2]}else k[(k[e>>2]|0)+48>>2]=k[(k[k[h>>2]>>2]|0)+72>>2];if(!(k[G>>2]|0))k[G>>2]=100}else I=32;while(0);if((I|0)==32){I=0;k[y>>2]=0;b=o;k[b>>2]=0;k[b+4>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[A>>2]|0))break;dm(k[d>>2]|0,k[(k[h>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+1}bm(k[h>>2]|0,k[A>>2]|0,k[A>>2]|0,k[H>>2]|0);while(1){if(!(k[(k[k[h>>2]>>2]|0)+80>>2]|0))break;k[E>>2]=0;k[z>>2]=0;K=(k[k[h>>2]>>2]|0)+88|0;a=k[K+4>>2]|0;b=n;k[b>>2]=k[K>>2];k[b+4>>2]=a;em(k[d>>2]|0,k[k[h>>2]>>2]|0,E,z)|0;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[A>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+80>>2]|0))break;b=(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+88|0;K=n;if(!((k[b>>2]|0)==(k[K>>2]|0)?(k[b+4>>2]|0)==(k[K+4>>2]|0):0))break;em(k[d>>2]|0,k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=(k[w>>2]|0)+1}if(k[p>>2]|0)fm(k[(k[D>>2]|0)+8>>2]|0,0,E,z);do if((k[s>>2]|0)==0|(k[z>>2]|0)>0){if((k[y>>2]|0)>0?(l[(k[d>>2]|0)+231>>0]|0)!=0:0){K=o;b=n;b=_R(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}else{K=n;b=o;b=_R(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}K=m;K=Tl(k[K>>2]|0,k[K+4>>2]|0)|0;k[x>>2]=K+((k[u>>2]|0)!=0?(k[z>>2]|0)+1|0:0);if(((k[y>>2]|0)+(k[x>>2]|0)|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=(k[y>>2]|0)+(k[x>>2]|0)<<1;K=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[g>>2]=K;if(!(k[g>>2]|0)){I=50;break a}k[(k[e>>2]|0)+16>>2]=k[g>>2]}a=(k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0;if(k[q>>2]|0){k[f>>2]=a;K=m;K=gm(k[K>>2]|0,k[K+4>>2]|0,k[E>>2]|0,k[z>>2]|0,k[f>>2]|0)|0;k[C>>2]=K;if(!(k[C>>2]|0))break;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;k[y>>2]=(k[y>>2]|0)+(k[C>>2]|0);break}else{b=m;a=Ul(a,k[b>>2]|0,k[b+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+a;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;if(!(k[u>>2]|0))break;bS((k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0,k[E>>2]|0,k[z>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+(k[z>>2]|0);K=k[y>>2]|0;k[y>>2]=K+1;i[(k[(k[e>>2]|0)+16>>2]|0)+K>>0]=0;break}}while(0);bm(k[h>>2]|0,k[A>>2]|0,k[w>>2]|0,k[H>>2]|0)}if((k[y>>2]|0)>0){k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2];k[(k[e>>2]|0)+52>>2]=k[y>>2];k[G>>2]=100}}k[(k[e>>2]|0)+8>>2]=k[A>>2];if(k[G>>2]|0){I=61;break}}if((I|0)==9){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}else if((I|0)==50){k[c>>2]=7;K=k[c>>2]|0;r=J;return K|0}else if((I|0)==61){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}return 0}function Gl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+68|0;i=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;o=B+44|0;p=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;q=B+4|0;A=B;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[x>>2]=k[k[j>>2]>>2];if(!(k[x>>2]|0)){d=Sd(64)|0;k[x>>2]=d;if(!(k[x>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}f=k[x>>2]|0;c=f+64|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(c|0));k[k[j>>2]>>2]=k[x>>2];j=Sd(k[(k[i>>2]|0)+224>>2]|0)|0;k[(k[x>>2]|0)+48>>2]=j;if(!(k[(k[x>>2]|0)+48>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+40>>2]=k[(k[i>>2]|0)+224>>2];j=zl(k[i>>2]|0,10,w,0)|0;k[y>>2]=j;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}if(100==(De(k[w>>2]|0)|0)){d=Ne(k[w>>2]|0,0)|0;b=(k[x>>2]|0)+16|0;k[b>>2]=d;k[b+4>>2]=L;b=(k[x>>2]|0)+16|0;d=k[b+4>>2]|0;j=(k[x>>2]|0)+8|0;k[j>>2]=k[b>>2];k[j+4>>2]=d}w=ge(k[w>>2]|0)|0;k[y>>2]=w;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}}k[s>>2]=k[(k[x>>2]|0)+44>>2];y=Wl(k[(k[x>>2]|0)+24>>2]|0,k[(k[x>>2]|0)+28>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[t>>2]=y;k[v>>2]=(k[n>>2]|0)-(k[t>>2]|0);y=k[t>>2]|0;y=Tl(y,((y|0)<0)<<31>>31)|0;w=k[v>>2]|0;w=y+(Tl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(k[v>>2]|0)|0;y=k[p>>2]|0;y=w+(Tl(y,((y|0)<0)<<31>>31)|0)|0;k[u>>2]=y+(k[p>>2]|0);do if((k[s>>2]|0)>0?((k[s>>2]|0)+(k[u>>2]|0)|0)>(k[(k[i>>2]|0)+224>>2]|0):0){j=k[i>>2]|0;d=(k[x>>2]|0)+16|0;y=d;w=k[y>>2]|0;y=k[y+4>>2]|0;b=$R(w|0,y|0,1,0)|0;k[d>>2]=b;k[d+4>>2]=L;y=Pl(j,w,y,k[(k[x>>2]|0)+48>>2]|0,k[s>>2]|0)|0;k[z>>2]=y;if(k[z>>2]|0){k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}y=(k[i>>2]|0)+52|0;k[y>>2]=(k[y>>2]|0)+1;y=Xl(k[i>>2]|0,k[x>>2]|0,k[l>>2]|0,k[m>>2]|0,(k[t>>2]|0)+1|0)|0;k[z>>2]=y;if(!(k[z>>2]|0)){k[s>>2]=0;k[(k[x>>2]|0)+28>>2]=0;k[t>>2]=0;k[v>>2]=k[n>>2];y=k[n>>2]|0;y=1+(Tl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(k[n>>2]|0)|0;z=k[p>>2]|0;z=y+(Tl(z,((z|0)<0)<<31>>31)|0)|0;k[u>>2]=z+(k[p>>2]|0);break}k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}while(0);y=k[u>>2]|0;z=(k[x>>2]|0)+56|0;w=z;y=$R(k[w>>2]|0,k[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;k[z>>2]=y;k[z+4>>2]=L;do if((k[u>>2]|0)>(k[(k[x>>2]|0)+40>>2]|0)){z=Vd(k[(k[x>>2]|0)+48>>2]|0,k[u>>2]|0)|0;k[q>>2]=z;if(k[q>>2]|0){k[(k[x>>2]|0)+48>>2]=k[q>>2];k[(k[x>>2]|0)+40>>2]=k[u>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);z=k[t>>2]|0;z=Ul((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;z=k[v>>2]|0;z=Ul((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;bS((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,(k[m>>2]|0)+(k[t>>2]|0)|0,k[v>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[v>>2]|0);z=k[p>>2]|0;z=Ul((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;bS((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;k[(k[x>>2]|0)+44>>2]=(k[s>>2]|0)+(k[p>>2]|0);if(k[l>>2]|0){do if((k[n>>2]|0)>(k[(k[x>>2]|0)+32>>2]|0)){z=Vd(k[(k[x>>2]|0)+36>>2]|0,k[n>>2]<<1)|0;k[A>>2]=z;if(k[A>>2]|0){k[(k[x>>2]|0)+32>>2]=k[n>>2]<<1;k[(k[x>>2]|0)+36>>2]=k[A>>2];k[(k[x>>2]|0)+24>>2]=k[A>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);bS(k[(k[x>>2]|0)+24>>2]|0,k[m>>2]|0,k[n>>2]|0)|0}else k[(k[x>>2]|0)+24>>2]=k[m>>2];k[(k[x>>2]|0)+28>>2]=k[n>>2];k[h>>2]=0;A=k[h>>2]|0;r=B;return A|0}function Hl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;g=s+16|0;h=s+12|0;q=s+8|0;i=s+4|0;p=s;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[q>>2]=0;k[p>>2]=0;k[i>>2]=0;while(1){if(k[q>>2]|0)break;if((k[i>>2]|0)>=(k[h>>2]|0))break;a=Vl(k[l>>2]|0,k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[q>>2]=a;k[i>>2]=(k[i>>2]|0)+1}if(k[q>>2]|0){k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}g=k[l>>2]|0;if((k[o>>2]|0)==-2){o=zl(g,26,p,0)|0;k[q>>2]=o;if(!(k[q>>2]|0)){o=k[p>>2]|0;a=Cl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,0)|0;Ve(o,1,a,L)|0;a=k[p>>2]|0;o=Cl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,1023)|0;Ve(a,2,o,L)|0}}else{a=zl(g,16,p,0)|0;k[q>>2]=a;if(!(k[q>>2]|0)){a=k[p>>2]|0;o=Cl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;Ve(a,1,o,L)|0}}if(!(k[q>>2]|0)){De(k[p>>2]|0)|0;p=ge(k[p>>2]|0)|0;k[q>>2]=p}k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}function Il(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+44|0;g=p+40|0;h=p+16|0;i=p+36|0;n=p+32|0;j=p+8|0;l=p;o=p+28|0;m=p+24|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;if(!(k[k[g>>2]>>2]|0)){b=h;o=(k[g>>2]|0)+56|0;o=Rl(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[i>>2]|0,0,0,0,0,0,0,k[o>>2]|0,k[o+4>>2]|0,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}b=j;k[b>>2]=0;k[b+4>>2]=0;k[o>>2]=0;k[m>>2]=0;b=(k[g>>2]|0)+16|0;d=k[b+4>>2]|0;e=l;k[e>>2]=k[b>>2];k[e+4>>2]=d;e=k[f>>2]|0;d=(k[g>>2]|0)+16|0;b=d;a=k[b>>2]|0;b=k[b+4>>2]|0;c=$R(a|0,b|0,1,0)|0;k[d>>2]=c;k[d+4>>2]=L;b=Pl(e,a,b,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){a=(k[g>>2]|0)+8|0;b=(k[g>>2]|0)+16|0;b=Ql(k[f>>2]|0,k[k[g>>2]>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,j,o,m)|0;k[n>>2]=b}if(k[n>>2]|0){o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}e=(k[g>>2]|0)+8|0;a=j;b=(k[g>>2]|0)+56|0;o=Rl(k[f>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[i>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[o>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}function Jl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+80|0;f=v+72|0;g=v+40|0;h=v+32|0;t=v+68|0;p=v+64|0;i=v+60|0;m=v+24|0;n=v+16|0;o=v+8|0;j=v;l=v+56|0;q=v+52|0;s=v+48|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=0;a=zl(k[f>>2]|0,37,p,0)|0;k[t>>2]=a;if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}k[i>>2]=0;e=g;e=iS(k[e>>2]|0,k[e+4>>2]|0,1024,0)|0;e=$R(e|0,L|0,1,0)|0;e=kS(e|0,L|0,1024,0)|0;e=_R(e|0,L|0,1,0)|0;a=m;k[a>>2]=e;k[a+4>>2]=L;a=h;a=kS(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;a=iS(a|0,L|0,2,0)|0;h=n;k[h>>2]=a;k[h+4>>2]=L;h=k[p>>2]|0;a=g;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;Ve(h,1,a,L)|0;a=m;Ve(k[p>>2]|0,2,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(De(k[p>>2]|0)|0))break;a=o;k[a>>2]=0;k[a+4>>2]=0;Ol(k[p>>2]|0,2,j,o);a=o;m=k[a+4>>2]|0;if((m|0)<0|(m|0)==0&(k[a>>2]|0)>>>0<=0){u=6;break}m=o;e=k[m+4>>2]|0;a=n;h=k[a+4>>2]|0;if((e|0)>(h|0)|((e|0)==(h|0)?(k[m>>2]|0)>>>0>(k[a>>2]|0)>>>0:0)){u=6;break}k[i>>2]=1}if((u|0)==6)k[i>>2]=0;u=ge(k[p>>2]|0)|0;k[t>>2]=u;if(!(k[i>>2]|0)){u=k[t>>2]|0;r=v;return u|0}k[l>>2]=0;k[q>>2]=0;k[s>>2]=0;if(!(k[t>>2]|0)){u=zl(k[f>>2]|0,38,q,0)|0;k[t>>2]=u}if(!(k[t>>2]|0)){u=zl(k[f>>2]|0,39,s,0)|0;k[t>>2]=u}a:do if(!(k[t>>2]|0)){u=g;Ve(k[p>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;do{if(100!=(De(k[p>>2]|0)|0))break a;a=k[q>>2]|0;u=k[l>>2]|0;k[l>>2]=u+1;Ue(a,1,u)|0;u=k[q>>2]|0;Ue(u,2,Me(k[p>>2]|0,0)|0)|0;u=k[q>>2]|0;Ue(u,3,Me(k[p>>2]|0,1)|0)|0;De(k[q>>2]|0)|0;u=ge(k[q>>2]|0)|0;k[t>>2]=u}while((k[t>>2]|0)==0);ge(k[p>>2]|0)|0}while(0);if(!(k[t>>2]|0)){u=ge(k[p>>2]|0)|0;k[t>>2]=u}if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}u=g;Ve(k[s>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;De(k[s>>2]|0)|0;u=ge(k[s>>2]|0)|0;k[t>>2]=u;u=k[t>>2]|0;r=v;return u|0}function Kl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Ud(k[(k[b>>2]|0)+48>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);Nl(k[k[b>>2]>>2]|0);Ud(k[b>>2]|0);r=c;return}function Ll(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;Ml(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}Ud(k[k[b>>2]>>2]|0);Ud(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[k[b>>2]>>2]=0;k[(k[b>>2]|0)+16>>2]=0;r=d;return}function Ml(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=c;return}if(!(k[(k[b>>2]|0)+56>>2]|0))Ud(k[(k[b>>2]|0)+64>>2]|0);if(!(l[(k[b>>2]|0)+5>>0]|0))Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;a=k[b>>2]|0;Ud(a);r=c;return}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}k[c>>2]=k[(k[b>>2]|0)+8>>2];Nl(k[k[c>>2]>>2]|0);while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+4>>2];if((k[(k[c>>2]|0)+36>>2]|0)!=((k[c>>2]|0)+40|0))Ud(k[(k[c>>2]|0)+36>>2]|0);Ud(k[(k[c>>2]|0)+28>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}r=e;return}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;g=m+12|0;h=m+8|0;i=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;d=Oe(k[o>>2]|0,k[n>>2]|0)|0;k[j>>2]=d;if(!(k[j>>2]|0)){r=m;return}k[h>>2]=1;o=i;k[o>>2]=0;k[o+4>>2]=0;k[g>>2]=0;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=kS(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=$R(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}o=k[e>>2]|0;k[o>>2]=a;k[o+4>>2]=c;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)!=32)break;k[g>>2]=(k[g>>2]|0)+1}o=i;k[o>>2]=0;k[o+4>>2]=0;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)==45){k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=-1}while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=kS(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=$R(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}n=k[h>>2]|0;n=kS(a|0,c|0,n|0,((n|0)<0)<<31>>31|0)|0;o=k[f>>2]|0;k[o>>2]=n;k[o+4>>2]=L;r=m;return}function Pl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;k[m>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;k[h>>2]=e;d=zl(k[m>>2]|0,9,i,0)|0;k[j>>2]=d;if(k[j>>2]|0){m=k[j>>2]|0;r=l;return m|0}m=f;Ve(k[i>>2]|0,1,k[m>>2]|0,k[m+4>>2]|0)|0;Se(k[i>>2]|0,2,k[g>>2]|0,k[h>>2]|0,0)|0;De(k[i>>2]|0)|0;m=ge(k[i>>2]|0)|0;k[j>>2]=m;m=k[j>>2]|0;r=l;return m|0}function Ql(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;n=B+72|0;o=B+68|0;p=B+64|0;q=B+24|0;s=B+16|0;t=B+60|0;l=B+56|0;m=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;b=q;k[b>>2]=d;k[b+4>>2]=e;b=s;k[b>>2]=f;k[b+4>>2]=g;k[t>>2]=h;k[l>>2]=i;k[m>>2]=j;k[A>>2]=0;if(!(k[k[o>>2]>>2]|0)){h=q;h=Sl(k[o>>2]|0,k[p>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;h=s;h=_R(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=k[t>>2]|0;k[j>>2]=h;k[j+4>>2]=L;k[k[m>>2]>>2]=(k[(k[o>>2]|0)+32>>2]|0)-(k[w>>2]|0);k[k[l>>2]>>2]=(k[(k[o>>2]|0)+36>>2]|0)+(k[w>>2]|0);A=k[A>>2]|0;r=B;return A|0}j=s;h=k[j+4>>2]|0;i=u;k[i>>2]=k[j>>2];k[i+4>>2]=h;i=q;h=k[i+4>>2]|0;j=v;k[j>>2]=k[i>>2];k[j+4>>2]=h;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0?(k[A>>2]|0)==0:0))break;j=v;j=Sl(k[z>>2]|0,k[p>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[x>>2]=j;k[y>>2]=(k[(k[z>>2]|0)+32>>2]|0)-(k[x>>2]|0);j=u;j=Pl(k[n>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[(k[z>>2]|0)+36>>2]|0)+(k[x>>2]|0)|0,k[y>>2]|0)|0;k[A>>2]=j;j=u;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;h=u;k[h>>2]=j;k[h+4>>2]=L;h=(k[(k[z>>2]|0)+12>>2]|0)+1|0;j=v;h=$R(k[j>>2]|0,k[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=v;k[j>>2]=h;k[j+4>>2]=L;k[z>>2]=k[(k[z>>2]|0)+4>>2]}if(k[A>>2]|0){A=k[A>>2]|0;r=B;return A|0}h=s;j=u;j=Ql(k[n>>2]|0,k[k[o>>2]>>2]|0,(k[p>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0,k[t>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[A>>2]=j;A=k[A>>2]|0;r=B;return A|0}function Rl(a,b,c,d,e,f,g,h,i,j,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;B=D+40|0;p=D+84|0;E=D+80|0;q=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;k[E>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[s>>2]=d;a=t;k[a>>2]=e;k[a+4>>2]=f;a=u;k[a>>2]=g;k[a+4>>2]=h;a=v;k[a>>2]=i;k[a+4>>2]=j;a=w;k[a>>2]=l;k[a+4>>2]=m;k[x>>2]=n;k[y>>2]=o;n=zl(k[E>>2]|0,11,z,0)|0;k[A>>2]=n;if(!(k[A>>2]|0)){E=q;Ve(k[z>>2]|0,1,k[E>>2]|0,k[E+4>>2]|0)|0;Ue(k[z>>2]|0,2,k[s>>2]|0)|0;E=t;Ve(k[z>>2]|0,3,k[E>>2]|0,k[E+4>>2]|0)|0;E=u;Ve(k[z>>2]|0,4,k[E>>2]|0,k[E+4>>2]|0)|0;E=w;do if((k[E>>2]|0)==0&(k[E+4>>2]|0)==0){E=v;Ve(k[z>>2]|0,5,k[E>>2]|0,k[E+4>>2]|0)|0}else{d=v;o=k[d+4>>2]|0;n=w;a=k[n>>2]|0;n=k[n+4>>2]|0;E=B;k[E>>2]=k[d>>2];k[E+4>>2]=o;E=B+8|0;k[E>>2]=a;k[E+4>>2]=n;E=Yd(23153,B)|0;k[C>>2]=E;if(k[C>>2]|0){Xe(k[z>>2]|0,5,k[C>>2]|0,-1,148)|0;break}k[p>>2]=7;E=k[p>>2]|0;r=D;return E|0}while(0);Se(k[z>>2]|0,6,k[x>>2]|0,k[y>>2]|0,0)|0;De(k[z>>2]|0)|0;E=ge(k[z>>2]|0)|0;k[A>>2]=E}k[p>>2]=k[A>>2];E=k[p>>2]|0;r=D;return E|0}function Sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;h=f;e=f+8|0;k[g>>2]=a;k[j>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;a=h;a=10-(Tl(k[a>>2]|0,k[a+4>>2]|0)|0)|0;k[e>>2]=a;i[(k[(k[g>>2]|0)+36>>2]|0)+(k[e>>2]|0)>>0]=k[j>>2];a=h;Ul((k[(k[g>>2]|0)+36>>2]|0)+((k[e>>2]|0)+1)|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=f;return k[e>>2]|0}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=0;do{k[d>>2]=(k[d>>2]|0)+1;b=c;b=aS(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=c;k[f>>2]=b;k[f+4>>2]=L;f=c}while((k[f>>2]|0)!=0|(k[f+4>>2]|0)!=0);r=e;return k[d>>2]|0}function Ul(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+20|0;h=g+8|0;e=g+16|0;f=g;k[d>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[d>>2];b=h;c=k[b+4>>2]|0;a=f;k[a>>2]=k[b>>2];k[a+4>>2]=c;do{h=(k[f>>2]&127|128)&255;a=k[e>>2]|0;k[e>>2]=a+1;i[a>>0]=h;a=f;a=aS(k[a>>2]|0,k[a+4>>2]|0,7)|0;h=f;k[h>>2]=a;k[h+4>>2]=L;h=f}while((k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0);h=(k[e>>2]|0)+-1|0;i[h>>0]=(l[h>>0]|0)&127;r=g;return (k[e>>2]|0)-(k[d>>2]|0)|0}function Vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;b=(k[d>>2]|0)+8|0;if(!((k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0)){f=k[f>>2]|0;r=g;return f|0}b=zl(k[c>>2]|0,17,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}b=(k[d>>2]|0)+8|0;Ve(k[e>>2]|0,1,k[b>>2]|0,k[b+4>>2]|0)|0;b=(k[d>>2]|0)+24|0;Ve(k[e>>2]|0,2,k[b>>2]|0,k[b+4>>2]|0)|0;De(k[e>>2]|0)|0;b=ge(k[e>>2]|0)|0;k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}function Wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j+4>>2]=d;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[f>>2]|0)){e=5;break}if((i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=(i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0)){e=5;break}k[h>>2]=(k[h>>2]|0)+1}if((e|0)==5){r=j;return k[h>>2]|0}return 0}function Xl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;l=w+56|0;m=w+52|0;n=w+48|0;o=w+44|0;p=w+40|0;q=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;f=w+20|0;h=w+16|0;g=w+12|0;i=w+8|0;j=w+4|0;t=w;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[u>>2]=k[k[n>>2]>>2];do if(k[u>>2]|0){k[f>>2]=k[(k[u>>2]|0)+32>>2];k[h>>2]=k[f>>2];b=Wl(k[(k[u>>2]|0)+16>>2]|0,k[(k[u>>2]|0)+20>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[g>>2]=b;k[i>>2]=(k[q>>2]|0)-(k[g>>2]|0);b=k[g>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;d=k[i>>2]|0;d=b+(Tl(d,((d|0)<0)<<31>>31)|0)|0;k[h>>2]=(k[h>>2]|0)+(d+(k[i>>2]|0));if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(k[(k[u>>2]|0)+16>>2]|0)!=0:0)break;if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(v=Sd(k[h>>2]|0)|0,k[(k[u>>2]|0)+36>>2]=v,(k[(k[u>>2]|0)+36>>2]|0)==0):0){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}if(k[(k[u>>2]|0)+16>>2]|0){v=k[g>>2]|0;v=Ul((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v}v=k[i>>2]|0;v=Ul((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v;bS((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,(k[p>>2]|0)+(k[g>>2]|0)|0,k[i>>2]|0)|0;k[(k[u>>2]|0)+32>>2]=(k[f>>2]|0)+(k[i>>2]|0);v=(k[u>>2]|0)+12|0;k[v>>2]=(k[v>>2]|0)+1;if(k[o>>2]|0){do if((k[(k[u>>2]|0)+24>>2]|0)<(k[q>>2]|0)){v=Vd(k[(k[u>>2]|0)+28>>2]|0,k[q>>2]<<1)|0;k[j>>2]=v;if(k[j>>2]|0){k[(k[u>>2]|0)+24>>2]=k[q>>2]<<1;k[(k[u>>2]|0)+28>>2]=k[j>>2];break}k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}while(0);k[(k[u>>2]|0)+16>>2]=k[(k[u>>2]|0)+28>>2];bS(k[(k[u>>2]|0)+16>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[(k[u>>2]|0)+20>>2]=k[q>>2]}else{k[(k[u>>2]|0)+16>>2]=k[p>>2];k[(k[u>>2]|0)+20>>2]=k[q>>2]}k[l>>2]=0;v=k[l>>2]|0;r=w;return v|0}while(0);d=Sd(40+(k[(k[m>>2]|0)+224>>2]|0)|0)|0;k[s>>2]=d;if(!(k[s>>2]|0)){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}c=k[s>>2]|0;f=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[s>>2]|0)+32>>2]=11;k[(k[s>>2]|0)+36>>2]=(k[s>>2]|0)+40;if(k[u>>2]|0){k[t>>2]=k[k[u>>2]>>2];q=Xl(k[m>>2]|0,t,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=q;if(!(k[k[u>>2]>>2]|0))k[k[u>>2]>>2]=k[t>>2];k[(k[u>>2]|0)+4>>2]=k[s>>2];k[(k[s>>2]|0)+8>>2]=k[(k[u>>2]|0)+8>>2];k[k[s>>2]>>2]=k[t>>2];k[(k[s>>2]|0)+28>>2]=k[(k[u>>2]|0)+28>>2];k[(k[s>>2]|0)+24>>2]=k[(k[u>>2]|0)+24>>2];k[(k[u>>2]|0)+28>>2]=0}else{k[(k[s>>2]|0)+8>>2]=k[s>>2];u=Xl(k[m>>2]|0,s,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=u}k[k[n>>2]>>2]=k[s>>2];k[l>>2]=k[v>>2];v=k[l>>2]|0;r=w;return v|0}function Yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)<(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function _l(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+5>>0]|0){a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;k[(k[b>>2]|0)+52>>2]=0;a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;s=v+52|0;d=v+48|0;t=v+44|0;e=v+40|0;p=v+36|0;u=v+32|0;n=v+28|0;o=v+24|0;h=v+20|0;f=v+16|0;j=v+12|0;g=v+8|0;m=v+4|0;q=v;k[d>>2]=a;k[t>>2]=b;k[e>>2]=c;c=k[t>>2]|0;if(k[(k[t>>2]|0)+72>>2]|0)k[u>>2]=(k[(k[t>>2]|0)+72>>2]|0)+(k[c+76>>2]|0);else k[u>>2]=k[c+40>>2];if(!((k[u>>2]|0)!=0?(k[u>>2]|0)>>>0<((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0)){c=k[t>>2]|0;if(k[(k[t>>2]|0)+56>>2]|0){k[h>>2]=k[k[c+56>>2]>>2];Ud(k[(k[t>>2]|0)+40>>2]|0);k[(k[t>>2]|0)+40>>2]=0;do if(k[h>>2]|0){k[j>>2]=k[(k[h>>2]|0)+8>>2];k[g>>2]=(k[k[j>>2]>>2]|0)+1;k[(k[t>>2]|0)+64>>2]=k[(k[h>>2]|0)+12>>2];k[(k[t>>2]|0)+60>>2]=k[(k[h>>2]|0)+16>>2];u=Sd(k[g>>2]|0)|0;k[f>>2]=u;if(k[f>>2]|0){bS(k[f>>2]|0,k[(k[j>>2]|0)+4>>2]|0,k[g>>2]|0)|0;u=k[g>>2]|0;k[(k[t>>2]|0)+76>>2]=u;k[(k[t>>2]|0)+44>>2]=u;u=k[f>>2]|0;k[(k[t>>2]|0)+72>>2]=u;k[(k[t>>2]|0)+40>>2]=u;u=(k[t>>2]|0)+56|0;k[u>>2]=(k[u>>2]|0)+4;break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}_l(c);h=(k[t>>2]|0)+32|0;f=k[h+4>>2]|0;j=(k[t>>2]|0)+16|0;g=k[j+4>>2]|0;if((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>=(k[j>>2]|0)>>>0:0)){k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}g=k[d>>2]|0;f=(k[t>>2]|0)+32|0;h=f;h=$R(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;k[f>>2]=h;k[f+4>>2]=j;j=qm(g,h,j,(k[t>>2]|0)+40|0,(k[t>>2]|0)+44|0,(k[e>>2]|0)!=0?(k[t>>2]|0)+48|0:0)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}if((k[e>>2]|0)!=0?(k[(k[t>>2]|0)+48>>2]|0)<(k[(k[t>>2]|0)+44>>2]|0):0){k[(k[t>>2]|0)+52>>2]=k[(k[d>>2]|0)+244>>2];k[(k[d>>2]|0)+244>>2]=0}k[u>>2]=k[(k[t>>2]|0)+40>>2]}j=mm(k[t>>2]|0,k[u>>2]|0,20)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=jm(c,n)|0;else{k[n>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=jm(c,o)|0;else{k[o>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;if(!((k[n>>2]|0)<0|(k[o>>2]|0)<=0)?((k[u>>2]|0)+(k[o>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((k[n>>2]|0)+(k[o>>2]|0)|0)>(k[(k[t>>2]|0)+68>>2]|0)){k[m>>2]=(k[n>>2]|0)+(k[o>>2]|0)<<1;j=Vd(k[(k[t>>2]|0)+64>>2]|0,k[m>>2]|0)|0;k[q>>2]=j;if(k[q>>2]|0){k[(k[t>>2]|0)+64>>2]=k[q>>2];k[(k[t>>2]|0)+68>>2]=k[m>>2];break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);q=mm(k[t>>2]|0,k[u>>2]|0,(k[o>>2]|0)+10|0)|0;k[p>>2]=q;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}bS((k[(k[t>>2]|0)+64>>2]|0)+(k[n>>2]|0)|0,k[u>>2]|0,k[o>>2]|0)|0;k[(k[t>>2]|0)+60>>2]=(k[n>>2]|0)+(k[o>>2]|0);k[u>>2]=(k[u>>2]|0)+(k[o>>2]|0);c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=jm(c,(k[t>>2]|0)+76|0)|0;else{k[(k[t>>2]|0)+76>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;k[(k[t>>2]|0)+72>>2]=k[u>>2];k[(k[t>>2]|0)+80>>2]=0;do if(((k[(k[t>>2]|0)+72>>2]|0)+(k[(k[t>>2]|0)+76>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0){if((k[(k[t>>2]|0)+48>>2]|0)==0?(i[(k[(k[t>>2]|0)+72>>2]|0)+((k[(k[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}function am(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if((k[(k[c>>2]|0)+40>>2]|0)!=0?(k[(k[d>>2]|0)+40>>2]|0)!=0:0){k[f>>2]=(k[(k[c>>2]|0)+60>>2]|0)-(k[(k[d>>2]|0)+60>>2]|0);a=k[(k[c>>2]|0)+64>>2]|0;b=k[(k[d>>2]|0)+64>>2]|0;if((k[f>>2]|0)<0){b=oR(a,b,k[(k[c>>2]|0)+60>>2]|0)|0;k[e>>2]=b}else{b=oR(a,b,k[(k[d>>2]|0)+60>>2]|0)|0;k[e>>2]=b}if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else k[e>>2]=((k[(k[c>>2]|0)+40>>2]|0)==0&1)-((k[(k[d>>2]|0)+40>>2]|0)==0&1);if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[g>>2]|0)==(k[f>>2]|0))k[g>>2]=(k[g>>2]|0)+-1;k[i>>2]=(k[g>>2]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[j>>2]=k[i>>2];while(1){if((k[j>>2]|0)>=((k[f>>2]|0)-1|0))break;if((gc[k[h>>2]&255](k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0,k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]|0)|0)<0)break;k[l>>2]=k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2];k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]=k[(k[e>>2]|0)+(k[j>>2]<<2)>>2];k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[j>>2]=(k[j>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+-1}r=m;return}function cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;do if((k[g>>2]|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=k[g>>2]<<1;a=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[e>>2]|0)+16>>2]=k[h>>2];break}k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}while(0);bS(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function dm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;c=g+8|0;f=g+4|0;d=g+16|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;if((l[(k[h>>2]|0)+231>>0]|0|0)!=0?(k[(k[c>>2]|0)+56>>2]|0)!=0:0){i[d>>0]=0;h=(k[c>>2]|0)+88|0;k[h>>2]=0;k[h+4>>2]=0;k[(k[c>>2]|0)+84>>2]=0;km(0,k[(k[c>>2]|0)+72>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[c>>2]|0)+80|0,(k[c>>2]|0)+88|0,(k[c>>2]|0)+84|0,d);h=k[f>>2]|0;r=g;return h|0}h=mm(k[c>>2]|0,k[(k[c>>2]|0)+72>>2]|0,10)|0;k[f>>2]=h;if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=im(k[(k[c>>2]|0)+72>>2]|0,(k[c>>2]|0)+88|0)|0;k[e>>2]=h;k[(k[c>>2]|0)+80>>2]=(k[(k[c>>2]|0)+72>>2]|0)+(k[e>>2]|0);h=k[f>>2]|0;r=g;return h|0}function em(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;s=u+36|0;t=u+32|0;q=u+28|0;e=u+24|0;f=u+20|0;p=u+16|0;n=u+12|0;h=u+41|0;g=u+40|0;o=u+8|0;m=u;k[t>>2]=a;k[q>>2]=b;k[e>>2]=c;k[f>>2]=d;k[p>>2]=0;k[n>>2]=k[(k[q>>2]|0)+80>>2];i[h>>0]=0;do if((l[(k[t>>2]|0)+231>>0]|0)!=0?(k[(k[q>>2]|0)+56>>2]|0)!=0:0){i[g>>0]=0;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[(k[q>>2]|0)+84>>2]|0)-1}km(0,k[(k[q>>2]|0)+72>>2]|0,k[(k[q>>2]|0)+76>>2]|0,n,(k[q>>2]|0)+88|0,(k[q>>2]|0)+84|0,g);if(i[g>>0]|0){k[(k[q>>2]|0)+80>>2]=0;break}else{k[(k[q>>2]|0)+80>>2]=k[n>>2];break}}else j=8;while(0);do if((j|0)==8){k[o>>2]=(k[(k[q>>2]|0)+72>>2]|0)+(k[(k[q>>2]|0)+76>>2]|0);while(1){if(i[k[n>>2]>>0]|i[h>>0]){c=k[n>>2]|0;k[n>>2]=c+1;i[h>>0]=i[c>>0]&128;continue}if(!(k[(k[q>>2]|0)+52>>2]|0))break;if((k[n>>2]|0)>>>0<((k[(k[q>>2]|0)+40>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0)|0)>>>0)break;c=lm(k[q>>2]|0)|0;k[p>>2]=c;if(k[p>>2]|0){j=14;break}}if((j|0)==14){k[s>>2]=k[p>>2];t=k[s>>2]|0;r=u;return t|0}k[n>>2]=(k[n>>2]|0)+1;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[n>>2]|0)-(k[(k[q>>2]|0)+80>>2]|0)-1}while(1){if((k[n>>2]|0)>>>0<(k[o>>2]|0)>>>0)e=(i[k[n>>2]>>0]|0)==0;else e=0;f=k[n>>2]|0;if(!e)break;k[n>>2]=f+1}e=k[q>>2]|0;if(f>>>0>=(k[o>>2]|0)>>>0){k[e+80>>2]=0;break}o=mm(e,k[n>>2]|0,10)|0;k[p>>2]=o;if(!(k[p>>2]|0)){b=k[n>>2]|0;b=b+(im(k[n>>2]|0,m)|0)|0;k[(k[q>>2]|0)+80>>2]=b;b=m;h=k[b>>2]|0;b=k[b+4>>2]|0;e=(k[q>>2]|0)+88|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(i[(k[t>>2]|0)+231>>0]|0){q=_R(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}else{q=$R(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}}}while(0);k[s>>2]=0;t=k[s>>2]|0;r=u;return t|0}function fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;q=t+16|0;n=t+12|0;p=t+8|0;m=t+4|0;o=t;j=t+36|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[q>>2]=k[k[g>>2]>>2];k[n>>2]=k[k[h>>2]>>2];k[p>>2]=(k[q>>2]|0)+(k[n>>2]|0);k[m>>2]=0;k[o>>2]=k[q>>2];while(1){i[j>>0]=0;while(1){if((k[o>>2]|0)>>>0>=(k[p>>2]|0)>>>0)break;if(!((i[j>>0]|i[k[o>>2]>>0])&254))break;c=k[o>>2]|0;k[o>>2]=c+1;i[j>>0]=i[c>>0]&128}b=(k[o>>2]|0)-(k[q>>2]|0)|0;if((k[e>>2]|0)==(k[m>>2]|0)){s=7;break}k[n>>2]=(k[n>>2]|0)-b;k[q>>2]=k[o>>2];if(!(k[n>>2]|0))break;k[o>>2]=(k[q>>2]|0)+1;b=k[o>>2]|0;if(l[k[o>>2]>>0]&128)b=jm(b,m)|0;else{k[m>>2]=l[b>>0];b=1}k[o>>2]=(k[o>>2]|0)+b}if((s|0)==7)k[n>>2]=b;if(!(k[f>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}if(((k[q>>2]|0)+(k[n>>2]|0)|0)==(k[p>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}dS((k[q>>2]|0)+(k[n>>2]|0)|0,0,(k[p>>2]|0)-((k[q>>2]|0)+(k[n>>2]|0))|0)|0;s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}function gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+48|0;f=o+8|0;q=o+40|0;p=o+36|0;g=o+32|0;l=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;j=o;s=f;k[s>>2]=a;k[s+4>>2]=b;k[q>>2]=c;k[p>>2]=d;k[g>>2]=e;k[l>>2]=0;k[h>>2]=0;k[m>>2]=k[q>>2];k[n>>2]=(k[q>>2]|0)+(k[p>>2]|0);if((i[k[m>>2]>>0]|0)!=1){if((i[k[m>>2]>>0]|0)==2){s=f;s=Ul((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2;k[h>>2]=1}hm(0,m)}while(1){if((k[m>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;if((i[k[m>>2]>>0]|0)!=1)break;k[m>>2]=(k[m>>2]|0)+1;s=im(k[m>>2]|0,j)|0;k[m>>2]=(k[m>>2]|0)+s;if((i[k[m>>2]>>0]|0)==2){if(!(k[h>>2]|0)){s=f;s=Ul((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;k[h>>2]=1}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=1;s=j;s=Ul((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2}hm(0,m)}if(!(k[h>>2]|0)){s=k[l>>2]|0;r=o;return s|0}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=0;s=k[l>>2]|0;r=o;return s|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){if(!(254&(i[k[h>>2]>>0]|i[e>>0])))break;b=k[h>>2]|0;k[h>>2]=b+1;i[e>>0]=i[b>>0]&128}if(!(k[c>>2]|0)){a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];bS(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+36|0;d=m+32|0;e=m+28|0;j=m+24|0;f=m+20|0;g=m+8|0;l=m+16|0;h=m;k[d>>2]=a;k[e>>2]=b;k[j>>2]=k[d>>2];a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=i[a>>0];a=k[f>>2]|0;if(!(k[f>>2]&128)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&127|i[b>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=2;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=3;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=4;l=k[c>>2]|0;r=m;return l|0}f=g;k[f>>2]=a&268435455;k[f+4>>2]=0;k[l>>2]=28;while(1){if((k[l>>2]|0)>63)break;f=k[d>>2]|0;k[d>>2]=f+1;f=i[f>>0]|0;b=h;k[b>>2]=f;k[b+4>>2]=((f|0)<0)<<31>>31;b=eS(k[h>>2]&127|0,0,k[l>>2]|0)|0;f=g;b=$R(k[f>>2]|0,k[f+4>>2]|0,b|0,L|0)|0;f=g;k[f>>2]=b;k[f+4>>2]=L;if((k[h>>2]&128|0)==0&0==0)break;k[l>>2]=(k[l>>2]|0)+7}h=k[g+4>>2]|0;l=k[e>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=h;k[c>>2]=(k[d>>2]|0)-(k[j>>2]|0);l=k[c>>2]|0;r=m;return l|0}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=i[b>>0];b=k[f>>2]&127;a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=b|i[a>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){k[k[e>>2]>>2]=a;k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){k[k[e>>2]>>2]=a;k[c>>2]=3;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){k[k[e>>2]>>2]=a;k[c>>2]=4;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=a&268435455;k[k[e>>2]>>2]=k[f>>2]|(i[k[d>>2]>>0]&15)<<28;k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}return 0}function km(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+76|0;j=B+72|0;l=B+68|0;m=B+64|0;n=B+60|0;o=B+56|0;p=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;q=B+8|0;v=B+28|0;s=B;A=B+24|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[w>>2]=k[k[m>>2]>>2];if(k[w>>2]|0){k[v>>2]=(k[h>>2]|0)!=0?-1:1;om(w,k[j>>2]|0,s);d=k[v>>2]|0;f=s;f=kS(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=k[n>>2]|0;e=d;f=_R(k[e>>2]|0,k[e+4>>2]|0,f|0,L|0)|0;k[d>>2]=f;k[d+4>>2]=L;if((k[w>>2]|0)==(k[j>>2]|0))i[k[p>>2]>>0]=1;else{k[A>>2]=k[w>>2];pm(k[j>>2]|0,w);k[k[o>>2]>>2]=(k[A>>2]|0)-(k[w>>2]|0)}k[k[m>>2]>>2]=k[w>>2];r=B;return}d=t;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;k[x>>2]=k[j>>2];k[y>>2]=(k[j>>2]|0)+(k[l>>2]|0);k[u>>2]=1;while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;d=im(k[x>>2]|0,q)|0;k[x>>2]=(k[x>>2]|0)+d;d=k[u>>2]|0;f=q;f=kS(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=t;f=$R(k[d>>2]|0,k[d+4>>2]|0,f|0,L|0)|0;d=t;k[d>>2]=f;k[d+4>>2]=L;k[z>>2]=k[x>>2];nm(0,x);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;if(i[k[x>>2]>>0]|0)break;k[x>>2]=(k[x>>2]|0)+1}k[u>>2]=(k[h>>2]|0)!=0?-1:1}k[k[o>>2]>>2]=(k[y>>2]|0)-(k[z>>2]|0);k[k[m>>2]>>2]=k[z>>2];e=t;f=k[e+4>>2]|0;d=k[n>>2]|0;k[d>>2]=k[e>>2];k[d+4>>2]=f;r=B;return}function lm(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(((k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0)<4096)a=(k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0;else a=4096;k[b>>2]=a;a=ef(k[(k[c>>2]|0)+52>>2]|0,(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0,k[b>>2]|0,k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+48|0;k[a>>2]=(k[a>>2]|0)+(k[b>>2]|0);a=(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));if((k[(k[c>>2]|0)+48>>2]|0)!=(k[(k[c>>2]|0)+44>>2]|0)){d=k[d>>2]|0;r=e;return d|0}df(k[(k[c>>2]|0)+52>>2]|0)|0;k[(k[c>>2]|0)+52>>2]=0;k[(k[c>>2]|0)+48>>2]=0;d=k[d>>2]|0;r=e;return d|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if(!((k[g>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=0:0)){d=5;break}if(((k[e>>2]|0)-(k[(k[d>>2]|0)+40>>2]|0)+(k[f>>2]|0)|0)<=(k[(k[d>>2]|0)+48>>2]|0)){d=5;break}a=lm(k[d>>2]|0)|0;k[g>>2]=a}if((d|0)==5){r=h;return k[g>>2]|0}return 0}function nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){b=(i[k[h>>2]>>0]|i[e>>0]|0)!=0;a=k[h>>2]|0;k[h>>2]=a+1;if(!b)break;i[e>>0]=i[a>>0]&128}if(!(k[c>>2]|0)){g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];bS(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[k[d>>2]>>2]|0)+-2;while(1){if((k[h>>2]|0)>>>0<(k[e>>2]|0)>>>0)break;if(!(i[k[h>>2]>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}k[h>>2]=(k[h>>2]|0)+1;k[k[d>>2]>>2]=k[h>>2];im(k[h>>2]|0,g)|0;b=g;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;r=j;return}function pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+8|0;d=h+4|0;f=h;e=h+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=(k[k[d>>2]>>2]|0)+-2;i[e>>0]=0;do{if((k[f>>2]|0)>>>0<=(k[c>>2]|0)>>>0)break;b=k[f>>2]|0;k[f>>2]=b+-1;b=i[b>>0]|0;i[e>>0]=b}while((b<<24>>24|0)==0);while(1){if((k[f>>2]|0)>>>0>(k[c>>2]|0)>>>0)b=(i[k[f>>2]>>0]&128|i[e>>0]|0)!=0;else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=a+-1;i[e>>0]=i[a>>0]|0}if(a>>>0<=(k[c>>2]|0)>>>0){if((i[e>>0]|0)==0?(k[k[d>>2]>>2]|0)>>>0>((k[f>>2]|0)+2|0)>>>0:0)g=11}else g=11;if((g|0)==11)k[f>>2]=(k[f>>2]|0)+2;do{g=k[f>>2]|0;k[f>>2]=g+1}while((i[g>>0]&128|0)!=0);k[k[d>>2]>>2]=k[f>>2];r=h;return}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;n=t+8|0;o=t+40|0;g=t+36|0;h=t;p=t+32|0;j=t+28|0;l=t+24|0;s=t+20|0;m=t+16|0;q=t+12|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[p>>2]=d;k[j>>2]=e;k[l>>2]=f;b=k[g>>2]|0;if(k[(k[g>>2]|0)+244>>2]|0){n=h;n=gf(k[b+244>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[s>>2]=n}else{if(0==(k[b+240>>2]|0)?(k[n>>2]=k[(k[g>>2]|0)+20>>2],n=Yd(23163,n)|0,k[(k[g>>2]|0)+240>>2]=n,0==(k[(k[g>>2]|0)+240>>2]|0)):0){k[o>>2]=7;s=k[o>>2]|0;r=t;return s|0}n=h;n=cf(k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+240>>2]|0,23175,k[n>>2]|0,k[n+4>>2]|0,0,(k[g>>2]|0)+244|0)|0;k[s>>2]=n}if((k[s>>2]|0)==0?(n=ff(k[(k[g>>2]|0)+244>>2]|0)|0,k[m>>2]=n,k[k[j>>2]>>2]=k[m>>2],(k[p>>2]|0)!=0):0){n=Sd((k[m>>2]|0)+20|0)|0;k[q>>2]=n;if(k[q>>2]|0){if((k[l>>2]|0)!=0&(k[m>>2]|0)>16384){k[m>>2]=4096;k[k[l>>2]>>2]=k[m>>2]}b=ef(k[(k[g>>2]|0)+244>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[s>>2]=b;b=(k[q>>2]|0)+(k[m>>2]|0)|0;c=b+20|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0));if(k[s>>2]|0){Ud(k[q>>2]|0);k[q>>2]=0}}else k[s>>2]=7;k[k[p>>2]>>2]=k[q>>2]}k[o>>2]=k[s>>2];s=k[o>>2]|0;r=t;return s|0}function rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;m=q+36|0;e=q+32|0;n=q+28|0;f=q+24|0;g=q+20|0;h=q+16|0;o=q+12|0;j=q+8|0;i=q+4|0;p=q;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[(k[n>>2]|0)+4>>2];k[h>>2]=0;a:while(1){if(k[(k[n>>2]|0)+28>>2]|0){e=12;break}if((k[h>>2]|0)>=(k[(k[n>>2]|0)+4>>2]|0)){e=12;break}k[j>>2]=0;k[i>>2]=k[(k[k[n>>2]>>2]|0)+(k[h>>2]<<2)>>2];do{c=$l(k[e>>2]|0,k[i>>2]|0,0)|0;k[p>>2]=c;if(k[p>>2]|0){e=6;break a}if(!(k[f>>2]|0))break;c=sm(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[j>>2]=c}while((c|0)<0);if((k[j>>2]|0)!=0?(l[(k[i>>2]|0)+4>>0]|0|0)!=0:0)_l(k[i>>2]|0);k[h>>2]=(k[h>>2]|0)+1}if((e|0)==6){k[m>>2]=k[p>>2];p=k[m>>2]|0;r=q;return p|0}else if((e|0)==12){bm(k[k[n>>2]>>2]|0,k[o>>2]|0,k[o>>2]|0,184);k[m>>2]=0;p=k[m>>2]|0;r=q;return p|0}return 0}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(k[(k[e>>2]|0)+40>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=k[(k[e>>2]|0)+64>>2]|0;c=k[d>>2]|0;if((k[(k[e>>2]|0)+60>>2]|0)>(k[f>>2]|0)){d=oR(a,c,k[f>>2]|0)|0;k[g>>2]=d}else{d=oR(a,c,k[(k[e>>2]|0)+60>>2]|0)|0;k[g>>2]=d}if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}k[g>>2]=(k[(k[e>>2]|0)+60>>2]|0)-(k[f>>2]|0);g=k[g>>2]|0;r=h;return g|0}function tm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;j=F+88|0;l=F+84|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+68|0;q=F+64|0;s=F+60|0;t=F+56|0;C=F+52|0;A=F+48|0;D=F+44|0;y=F+40|0;z=F+36|0;w=F+16|0;v=F+8|0;u=F;x=F+32|0;E=F+28|0;B=F+24|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[C>>2]=0;k[A>>2]=0;if(((k[n>>2]|0)<0?(k[(k[j>>2]|0)+252>>2]|0)!=0:0)?(k[y>>2]=0,e=um(k[j>>2]|0,k[m>>2]|0,k[o>>2]|0,k[p>>2]|0,((k[q>>2]|0)!=0?1:(k[s>>2]|0)!=0)&1,y)|0,k[C>>2]=e,(k[C>>2]|0)==0&(k[y>>2]|0)!=0):0){e=vm(k[t>>2]|0,k[y>>2]|0)|0;k[C>>2]=e}a:do if((k[n>>2]|0)!=-1){if(!(k[C>>2]|0)){e=wm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,A)|0;k[C>>2]=e}while(1){if(k[C>>2]|0)break a;e=De(k[A>>2]|0)|0;k[C>>2]=e;if(100!=(e|0))break a;k[z>>2]=0;y=Ne(k[A>>2]|0,1)|0;e=w;k[e>>2]=y;k[e+4>>2]=L;e=Ne(k[A>>2]|0,2)|0;y=v;k[y>>2]=e;k[y+4>>2]=L;y=Ne(k[A>>2]|0,3)|0;e=u;k[e>>2]=y;k[e+4>>2]=L;e=Ke(k[A>>2]|0,4)|0;k[x>>2]=e;e=Je(k[A>>2]|0,4)|0;k[E>>2]=e;e=w;if(((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)&(k[o>>2]|0)!=0){k[B>>2]=(k[q>>2]|0)!=0?v:0;e=xm(k[j>>2]|0,k[o>>2]|0,k[p>>2]|0,k[E>>2]|0,k[x>>2]|0,w,k[B>>2]|0)|0;k[C>>2]=e;if(k[C>>2]|0)break a;if((k[q>>2]|0)==0&(k[s>>2]|0)==0){i=w;y=k[i+4>>2]|0;e=v;k[e>>2]=k[i>>2];k[e+4>>2]=y}}i=w;y=v;e=u;e=ym((k[(k[t>>2]|0)+4>>2]|0)+1|0,((k[q>>2]|0)==0?(k[s>>2]|0)==0:0)&1,k[i>>2]|0,k[i+4>>2]|0,k[y>>2]|0,k[y+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[E>>2]|0,k[x>>2]|0,z)|0;k[C>>2]=e;if(k[C>>2]|0)break a;e=vm(k[t>>2]|0,k[z>>2]|0)|0;k[C>>2]=e}}while(0);e=ge(k[A>>2]|0)|0;k[D>>2]=e;if((k[C>>2]|0)!=101){e=k[C>>2]|0;r=F;return e|0}k[C>>2]=k[D>>2];e=k[C>>2]|0;r=F;return e|0}function um(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;A=y+64|0;z=y+60|0;g=y+56|0;h=y+52|0;i=y+48|0;j=y+44|0;u=y+40|0;s=y+36|0;l=y+32|0;p=y+28|0;v=y+24|0;t=y+20|0;n=y+16|0;w=y+12|0;q=y+8|0;m=y+4|0;o=y;k[A>>2]=a;k[z>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[u>>2]=0;k[l>>2]=0;k[p>>2]=0;k[v>>2]=0;k[t>>2]=(k[(k[A>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)+4;if(k[i>>2]|0){k[n>>2]=0;k[s>>2]=k[(k[t>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;k[w>>2]=k[(k[s>>2]|0)+12>>2];k[q>>2]=k[(k[s>>2]|0)+16>>2];if(k[h>>2]|0){if((k[q>>2]|0)>=(k[h>>2]|0)?0==(oR(k[w>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((k[p>>2]|0)==(k[n>>2]|0)){k[n>>2]=(k[n>>2]|0)+16;A=Vd(k[l>>2]|0,k[n>>2]<<2)|0;k[m>>2]=A;if(!(k[m>>2]|0)){x=9;break}k[l>>2]=k[m>>2]}z=k[s>>2]|0;A=k[p>>2]|0;k[p>>2]=A+1;k[(k[l>>2]|0)+(A<<2)>>2]=z}k[s>>2]=k[k[s>>2]>>2]}if((x|0)==9){k[v>>2]=7;k[p>>2]=0}if((k[p>>2]|0)>1)nR(k[l>>2]|0,k[p>>2]|0,4,185)}else{A=Qk(k[t>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[s>>2]=A;if(k[s>>2]|0){k[l>>2]=s;k[p>>2]=1}}do if((k[p>>2]|0)>0){k[o>>2]=96+((k[p>>2]|0)+1<<2);A=Sd(k[o>>2]|0)|0;k[u>>2]=A;if(k[u>>2]|0){dS(k[u>>2]|0,0,k[o>>2]|0)|0;k[k[u>>2]>>2]=2147483647;k[(k[u>>2]|0)+56>>2]=(k[u>>2]|0)+96;bS(k[(k[u>>2]|0)+56>>2]|0,k[l>>2]|0,k[p>>2]<<2|0)|0;break}else{k[v>>2]=7;break}}while(0);if(!(k[i>>2]|0)){z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}Ud(k[l>>2]|0);z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}function vm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;do if(!((k[(k[d>>2]|0)+4>>2]|0)%16|0)){k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+16<<2;b=Vd(k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){k[k[d>>2]>>2]=k[f>>2];break}Ml(k[e>>2]|0);k[c>>2]=7;b=k[c>>2]|0;r=h;return b|0}while(0);a=k[e>>2]|0;g=(k[d>>2]|0)+4|0;b=k[g>>2]|0;k[g>>2]=b+1;k[(k[k[d>>2]>>2]|0)+(b<<2)>>2]=a;k[c>>2]=0;b=k[c>>2]|0;r=h;return b|0}function wm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;c=k[f>>2]|0;if((k[i>>2]|0)<0){i=zl(c,13,l,0)|0;k[m>>2]=i;if(!(k[m>>2]|0)){i=k[l>>2]|0;e=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;Ve(i,1,e,L)|0;e=k[l>>2]|0;i=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;Ve(e,2,i,L)|0}}else{e=zl(c,12,l,0)|0;k[m>>2]=e;if(!(k[m>>2]|0)){e=k[l>>2]|0;i=Cl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;Ve(e,1,i,L)|0}}k[k[j>>2]>>2]=k[l>>2];r=n;return k[m>>2]|0}function xm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;o=v+32|0;h=v+28|0;i=v+24|0;p=v+20|0;q=v+16|0;t=v+12|0;j=v+8|0;u=v+4|0;s=v;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[h>>2]=d;k[i>>2]=e;k[p>>2]=f;k[q>>2]=g;k[t>>2]=0;e=k[h>>2]|0;if((l[k[h>>2]>>0]|0)&128)jm(e,j)|0;else k[j>>2]=l[e>>0];i=zm(k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[i>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=i;if(!((k[t>>2]|0)==0&(k[j>>2]|0)>1)){u=k[t>>2]|0;r=v;return u|0}k[u>>2]=0;k[s>>2]=0;if((k[p>>2]|0)!=0&(k[q>>2]|0)!=0?(i=k[p>>2]|0,j=k[q>>2]|0,(k[i>>2]|0)!=(k[j>>2]|0)?1:(k[i+4>>2]|0)!=(k[j+4>>2]|0)):0){j=k[p>>2]|0;j=qm(k[m>>2]|0,k[j>>2]|0,k[j+4>>2]|0,u,s,0)|0;k[t>>2]=j;if(!(k[t>>2]|0)){j=xm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=j}Ud(k[u>>2]|0);k[p>>2]=0;k[u>>2]=0}if(!(k[t>>2]|0)){if(k[p>>2]|0){c=k[p>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}else{c=k[q>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}j=qm(k[m>>2]|0,e,c,u,s,0)|0;k[t>>2]=j}if(!(k[t>>2]|0)){s=xm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=s}Ud(k[u>>2]|0);u=k[t>>2]|0;r=v;return u|0}function ym(a,b,c,d,e,f,g,h,j,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;n=z+8|0;o=z;p=z+40|0;q=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;k[u>>2]=a;k[v>>2]=b;a=w;k[a>>2]=c;k[a+4>>2]=d;a=n;k[a>>2]=e;k[a+4>>2]=f;a=o;k[a>>2]=g;k[a+4>>2]=h;k[p>>2]=j;k[q>>2]=l;k[s>>2]=m;k[x>>2]=0;j=w;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0)k[x>>2]=(k[q>>2]|0)+20;j=Sd(96+(k[x>>2]|0)|0)|0;k[y>>2]=j;if(!(k[y>>2]|0)){k[t>>2]=7;y=k[t>>2]|0;r=z;return y|0}c=k[y>>2]|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[k[y>>2]>>2]=k[u>>2];i[(k[y>>2]|0)+4>>0]=(k[v>>2]|0)!=0;j=w;u=k[j+4>>2]|0;v=(k[y>>2]|0)+8|0;k[v>>2]=k[j>>2];k[v+4>>2]=u;v=k[n+4>>2]|0;u=(k[y>>2]|0)+16|0;k[u>>2]=k[n>>2];k[u+4>>2]=v;u=k[o+4>>2]|0;v=(k[y>>2]|0)+24|0;k[v>>2]=k[o>>2];k[v+4>>2]=u;if(k[x>>2]|0){k[(k[y>>2]|0)+40>>2]=(k[y>>2]|0)+96;i[(k[y>>2]|0)+5>>0]=1;k[(k[y>>2]|0)+44>>2]=k[q>>2];bS(k[(k[y>>2]|0)+40>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;c=(k[(k[y>>2]|0)+40>>2]|0)+(k[q>>2]|0)|0;d=c+20|0;do{i[c>>0]=0;c=c+1|0}while((c|0)<(d|0))}else{w=_R(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=(k[y>>2]|0)+32|0;k[x>>2]=w;k[x+4>>2]=L}k[k[s>>2]>>2]=k[y>>2];k[t>>2]=0;y=k[t>>2]|0;r=z;return y|0}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;u=A+76|0;g=A+72|0;h=A+68|0;C=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;q=A+44|0;s=A+40|0;z=A+36|0;m=A+32|0;j=A+28|0;x=A;i=A+24|0;p=A+20|0;o=A+16|0;n=A+12|0;t=A+8|0;k[g>>2]=a;k[h>>2]=b;k[C>>2]=c;k[B>>2]=d;k[v>>2]=e;k[w>>2]=f;k[y>>2]=0;k[q>>2]=k[C>>2];k[s>>2]=(k[q>>2]|0)+(k[B>>2]|0);k[z>>2]=0;k[m>>2]=0;k[j>>2]=1;a=im(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;a=im(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;if((k[q>>2]|0)>>>0>(k[s>>2]|0)>>>0){k[u>>2]=267;C=k[u>>2]|0;r=A;return C|0}while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0){d=28;break}if(!((k[v>>2]|0)!=0?1:(k[w>>2]|0)!=0)){d=28;break}k[o>>2]=0;if(!(k[j>>2]|0)){d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=jm(d,o)|0;else{k[o>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d}k[j>>2]=0;d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=jm(d,p)|0;else{k[p>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d;if((k[o>>2]|0)<0|(k[p>>2]|0)<0){d=15;break}if(((k[q>>2]|0)+(k[p>>2]|0)|0)>>>0>(k[s>>2]|0)>>>0){d=15;break}if(((k[o>>2]|0)+(k[p>>2]|0)|0)>(k[m>>2]|0)){k[m>>2]=(k[o>>2]|0)+(k[p>>2]|0)<<1;C=Vd(k[z>>2]|0,k[m>>2]|0)|0;k[t>>2]=C;if(!(k[t>>2]|0)){d=18;break}k[z>>2]=k[t>>2]}bS((k[z>>2]|0)+(k[o>>2]|0)|0,k[q>>2]|0,k[p>>2]|0)|0;k[n>>2]=(k[o>>2]|0)+(k[p>>2]|0);k[q>>2]=(k[q>>2]|0)+(k[p>>2]|0);C=oR(k[g>>2]|0,k[z>>2]|0,(k[n>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[n>>2]|0)|0;k[i>>2]=C;do if(k[v>>2]|0){if((k[i>>2]|0)>=0){if(k[i>>2]|0)break;if((k[n>>2]|0)<=(k[h>>2]|0))break}a=x;B=k[a+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[v>>2]=0}while(0);if((k[w>>2]|0)!=0&(k[i>>2]|0)<0){a=x;B=k[a+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[w>>2]=0}B=x;B=$R(k[B>>2]|0,k[B+4>>2]|0,1,0)|0;C=x;k[C>>2]=B;k[C+4>>2]=L}if((d|0)==15)k[y>>2]=267;else if((d|0)==18)k[y>>2]=7;else if((d|0)==28){if(k[v>>2]|0){t=x;B=k[t+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=B}if(k[w>>2]|0){B=k[x+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[x>>2];k[C+4>>2]=B}}Ud(k[z>>2]|0);k[u>>2]=k[y>>2];C=k[u>>2]|0;r=A;return C|0}function Am(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+28|0;j=f+24|0;i=f+20|0;h=f+16|0;d=f+12|0;e=f+8|0;g=f+4|0;c=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=k[(k[k[l>>2]>>2]|0)+12>>2];k[h>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];k[d>>2]=k[(k[k[l>>2]>>2]|0)+16>>2];k[e>>2]=k[(k[k[j>>2]>>2]|0)+16>>2];k[g>>2]=(k[d>>2]|0)<(k[e>>2]|0)?k[d>>2]|0:k[e>>2]|0;b=oR(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[c>>2]=b;if(k[c>>2]|0){l=k[c>>2]|0;r=f;return l|0}k[c>>2]=(k[d>>2]|0)-(k[e>>2]|0);l=k[c>>2]|0;r=f;return l|0}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;g=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;n=o+16|0;m=o+12|0;l=o+8|0;h=o+4|0;i=o;k[g>>2]=a;k[d>>2]=b;k[e>>2]=c;k[n>>2]=23427;k[m>>2]=23431;k[l>>2]=23436;k[h>>2]=-1;k[i>>2]=15;c=k[g>>2]|0;if((k[d>>2]|0)>6){se(c,23447,-1);r=o;return}if(Fm(c,20486,k[k[e>>2]>>2]|0,j)|0){r=o;return}switch(k[d>>2]|0){case 6:{f=me(k[(k[e>>2]|0)+20>>2]|0)|0;k[i>>2]=f;f=6;break}case 5:{f=6;break}case 4:{f=7;break}case 3:{f=8;break}case 2:{f=9;break}default:{}}if((f|0)==6){d=me(k[(k[e>>2]|0)+16>>2]|0)|0;k[h>>2]=d;f=7}if((f|0)==7){d=je(k[(k[e>>2]|0)+12>>2]|0)|0;k[l>>2]=d;f=8}if((f|0)==8){d=je(k[(k[e>>2]|0)+8>>2]|0)|0;k[m>>2]=d;f=9}if((f|0)==9){f=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=f}if(!((k[l>>2]|0)!=0&(k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){Ce(k[g>>2]|0);r=o;return}c=k[g>>2]|0;if(!(k[i>>2]|0)){we(c,18402,-1,0);r=o;return}if(Dn(c,k[j>>2]|0)|0){r=o;return}ho(k[g>>2]|0,k[j>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0);r=o;return}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;if(Fm(k[d>>2]|0,20494,k[k[g>>2]>>2]|0,e)|0){r=f;return}if(Dn(k[d>>2]|0,k[e>>2]|0)|0){r=f;return}co(k[d>>2]|0,k[e>>2]|0);r=f;return}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+12|0;g=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[h+16>>2]=b;k[i>>2]=c;if(Fm(k[d>>2]|0,20512,k[k[i>>2]>>2]|0,f)|0){r=h;return}k[e>>2]=k[k[f>>2]>>2];i=ao(k[e>>2]|0)|0;k[g>>2]=i;switch(k[g>>2]|0){case 0:{we(k[d>>2]|0,23331,-1,0);r=h;return}case 101:{we(k[d>>2]|0,23347,-1,0);r=h;return}default:{Ae(k[d>>2]|0,k[g>>2]|0);r=h;return}}}function Em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Fm(k[d>>2]|0,20502,k[k[f>>2]>>2]|0,g)|0){r=i;return}k[h>>2]=0;if((k[e>>2]|0)>1){a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=a}Gm(k[d>>2]|0,k[g>>2]|0,k[h>>2]|0);r=i;return}function Fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;m=o;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((oe(k[h>>2]|0)|0)==4?(ke(k[h>>2]|0)|0)==4:0){b=ie(k[h>>2]|0)|0;i[l>>0]=i[b>>0]|0;i[l+1>>0]=i[b+1>>0]|0;i[l+2>>0]=i[b+2>>0]|0;i[l+3>>0]=i[b+3>>0]|0;k[k[j>>2]>>2]=k[l>>2];k[e>>2]=0;b=k[e>>2]|0;r=o;return b|0}k[m>>2]=k[g>>2];b=Yd(23302,m)|0;k[n>>2]=b;se(k[f>>2]|0,k[n>>2]|0,-1);Ud(k[n>>2]|0);k[e>>2]=1;b=k[e>>2]|0;r=o;return b|0}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[h>>2]=k[e>>2];else k[h>>2]=23237;d=k[d>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){Hm(d,k[f>>2]|0,k[h>>2]|0);Im(k[g>>2]|0);r=i;return}else{pe(d,18402,0,0);r=i;return}}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;d=u+76|0;e=u+72|0;f=u+68|0;p=u;n=u+64|0;o=u+60|0;h=u+56|0;g=u+52|0;q=u+48|0;m=u+44|0;j=u+40|0;s=u+36|0;l=u+32|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[n>>2]=k[k[e>>2]>>2];k[o>>2]=0;k[h>>2]=0;k[g>>2]=0;k[q>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p+28>>2]=0;k[p>>2]=k[e>>2];k[p+4>>2]=k[(k[n>>2]|0)+24>>2];if((k[(k[e>>2]|0)+92>>2]|0)!=0?(rR(k[(k[(k[e>>2]|0)+92>>2]|0)+12>>2]|0,k[f>>2]|0)|0)!=0:0){Jm(k[(k[e>>2]|0)+92>>2]|0);k[(k[e>>2]|0)+92>>2]=0}if(!(k[(k[e>>2]|0)+92>>2]|0)){k[m>>2]=0;c=Km(k[(k[e>>2]|0)+12>>2]|0)|0;k[(k[e>>2]|0)+20>>2]=c;k[p+8>>2]=k[(k[e>>2]|0)+20>>2];k[j>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[s>>2]=0;if(Lm(k[n>>2]|0,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0,s)|0){t=8;break}c=Mm(p,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0)|0;k[m>>2]=(k[m>>2]|0)+c;k[j>>2]=(k[j>>2]|0)+1}if((t|0)==8){se(k[d>>2]|0,k[s>>2]|0,-1);Ud(k[s>>2]|0);r=u;return}t=Nm(k[m>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=t;if(!(k[(k[e>>2]|0)+92>>2]|0))k[o>>2]=7;k[(k[e>>2]|0)+88>>2]=1;k[h>>2]=1}if((k[o>>2]|0)==0?(t=Om(k[(k[e>>2]|0)+92>>2]|0,g)|0,k[q>>2]=t,(k[q>>2]|0)==0):0)k[o>>2]=7;if((k[o>>2]|0)==0?(k[p+28>>2]=k[g>>2],k[p+8>>2]=k[(k[e>>2]|0)+20>>2],t=Pm(k[e>>2]|0,k[h>>2]|0,p,k[f>>2]|0)|0,k[o>>2]=t,(k[h>>2]|0)!=0):0)Qm(k[(k[e>>2]|0)+92>>2]|0);if(!(k[o>>2]|0)){k[l>>2]=k[(k[(k[e>>2]|0)+92>>2]|0)+4>>2]<<2;pe(k[d>>2]|0,k[g>>2]|0,k[l>>2]|0,k[q>>2]|0);r=u;return}Ae(k[d>>2]|0,k[o>>2]|0);if(!(k[q>>2]|0)){r=u;return}_b[k[q>>2]&255](k[g>>2]|0);r=u;return}function Im(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;df(k[(k[c>>2]|0)+244>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=0;r=b;return}function Jm(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}i[k[b>>2]>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Km(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Xm(k[d>>2]|0,153,b)|0;r=c;return k[b>>2]|0}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j;d=j+12|0;e=j+8|0;f=j+16|0;g=j+4|0;k[e>>2]=a;i[f>>0]=b;k[g>>2]=c;do if((i[f>>0]|0)!=112?(i[f>>0]|0)!=99:0){if((i[f>>0]|0)==110?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==97?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==108?(l[(k[e>>2]|0)+230>>0]|0)!=0:0)break;if((((i[f>>0]|0)!=115?(i[f>>0]|0)!=120:0)?(i[f>>0]|0)!=121:0)?(i[f>>0]|0)!=98:0){c=k[g>>2]|0;k[h>>2]=i[f>>0];Pk(c,23267,h);k[d>>2]=1;h=k[d>>2]|0;r=j;return h|0}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}function Mm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;f=e+8|0;d=e;k[c>>2]=a;i[f>>0]=b;switch(i[f>>0]|0){case 99:case 112:case 110:{k[d>>2]=1;break}case 115:case 108:case 97:{k[d>>2]=k[(k[c>>2]|0)+4>>2];break}case 121:{f=ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=f;break}case 98:{f=ha(k[(k[c>>2]|0)+8>>2]|0,((k[(k[c>>2]|0)+4>>2]|0)+31|0)/32|0)|0;k[d>>2]=f;break}default:{f=(ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0)*3|0;k[d>>2]=f}}r=e;return k[d>>2]|0}function Nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[c>>2]<<1)+1<<2)+20;b=uR(k[d>>2]|0)|0;k[f>>2]=b;b=Sd((k[e>>2]|0)+(k[f>>2]|0)+1|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=k[g>>2]|0;r=h;return b|0}dS(k[g>>2]|0,0,k[e>>2]|0)|0;k[(k[g>>2]|0)+16>>2]=(k[g>>2]|0)+16+4-(k[g>>2]|0);k[(k[g>>2]|0)+16+(1+(k[c>>2]|0)<<2)>>2]=(k[(k[g>>2]|0)+16>>2]|0)+((k[c>>2]|0)+1<<2);k[(k[g>>2]|0)+4>>2]=k[c>>2];k[(k[g>>2]|0)+12>>2]=(k[g>>2]|0)+(k[e>>2]|0);bS(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,(k[f>>2]|0)+1|0)|0;i[k[g>>2]>>0]=1;b=k[g>>2]|0;r=h;return b|0}function Om(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[e>>2]=0;b=k[c>>2]|0;do if(l[(k[c>>2]|0)+1>>0]|0){a=k[c>>2]|0;if(!(l[b+2>>0]|0)){i[a+2>>0]=1;k[e>>2]=(k[c>>2]|0)+16+((k[(k[c>>2]|0)+4>>2]|0)+2<<2);k[f>>2]=152;break}b=Sd(k[a+4>>2]<<2)|0;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[f>>2]=148,(k[(k[c>>2]|0)+8>>2]|0)!=0):0)bS(k[e>>2]|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0}else{i[b+1>>0]=1;k[e>>2]=(k[c>>2]|0)+16+4;k[f>>2]=152}while(0);k[k[d>>2]>>2]=k[e>>2];r=g;return k[f>>2]|0}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;e=B+92|0;f=B+88|0;g=B+84|0;h=B+80|0;A=B+76|0;m=B+72|0;y=B+68|0;z=B+64|0;q=B+24|0;s=B+16|0;j=B+60|0;n=B+56|0;p=B+52|0;t=B+8|0;x=B+48|0;o=B+44|0;l=B+40|0;u=B;v=B+36|0;w=B+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[A>>2]=0;k[y>>2]=k[k[e>>2]>>2];k[z>>2]=0;k[m>>2]=0;while(1){if(k[A>>2]|0){e=31;break}if(!(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)){e=31;break}i[(k[g>>2]|0)+24>>0]=i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0;a:do switch(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0){case 112:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+8>>2];break}case 99:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+4>>2];break}case 110:{if(k[f>>2]|0){d=q;k[d>>2]=0;k[d+4>>2]=0;d=Rm(k[y>>2]|0,z,q,0)|0;k[A>>2]=d;k[k[(k[g>>2]|0)+28>>2]>>2]=k[q>>2]}break}case 97:{if((k[f>>2]|0)!=0?(d=Rm(k[y>>2]|0,z,s,j)|0,k[A>>2]=d,(k[A>>2]|0)==0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break a;d=im(k[j>>2]|0,t)|0;k[j>>2]=(k[j>>2]|0)+d;d=k[t>>2]|0;c=s;c=iS(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;c=$R(d|0,0,c|0,L|0)|0;d=s;d=iS(c|0,L|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[p>>2]=d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[n>>2]<<2)>>2]=k[p>>2];k[n>>2]=(k[n>>2]|0)+1}}break}case 108:{k[x>>2]=0;d=(k[e>>2]|0)+32|0;d=Sm(k[y>>2]|0,k[d>>2]|0,k[d+4>>2]|0,x)|0;k[A>>2]=d;b:do if(!(k[A>>2]|0)){d=Je(k[x>>2]|0,0)|0;k[l>>2]=d;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break b;d=im(k[l>>2]|0,u)|0;k[l>>2]=(k[l>>2]|0)+d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[o>>2]<<2)>>2]=k[u>>2];k[o>>2]=(k[o>>2]|0)+1}}while(0);ge(k[x>>2]|0)|0;break}case 115:{d=Tm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){d=Um(k[e>>2]|0,k[g>>2]|0)|0;k[A>>2]=d}break}case 121:case 98:{d=(Mm(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0)<<2;k[v>>2]=d;dS(k[(k[g>>2]|0)+28>>2]|0,0,k[v>>2]|0)|0;Vm(k[(k[e>>2]|0)+12>>2]|0,k[g>>2]|0);break}default:{k[w>>2]=k[(k[e>>2]|0)+12>>2];d=Tm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){if(k[f>>2]|0){if((k[(k[e>>2]|0)+24>>2]|0)!=0?(d=Rm(k[y>>2]|0,z,(k[g>>2]|0)+16|0,0)|0,k[A>>2]=d,(k[A>>2]|0)!=0):0)break a;d=Xm(k[w>>2]|0,154,k[g>>2]|0)|0;k[A>>2]=d;Ym(k[e>>2]|0,A)|0;if(k[A>>2]|0)break a}Xm(k[w>>2]|0,155,k[g>>2]|0)|0}}}while(0);c=Mm(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0;d=(k[g>>2]|0)+28|0;k[d>>2]=(k[d>>2]|0)+(c<<2);k[m>>2]=(k[m>>2]|0)+1}if((e|0)==31){ge(k[z>>2]|0)|0;r=B;return k[A>>2]|0}return 0}function Qm(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=1;bS((k[c>>2]|0)+16+(2+(k[(k[c>>2]|0)+4>>2]|0)<<2)|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0;r=b;return}function Rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;e=o+36|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;m=o+16|0;j=o+12|0;l=o;n=o+8|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)==0?(b=Zn(k[f>>2]|0,k[g>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)!=0):0){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}k[m>>2]=k[k[g>>2]>>2];n=Je(k[m>>2]|0,0)|0;k[j>>2]=n;n=im(k[j>>2]|0,l)|0;k[j>>2]=(k[j>>2]|0)+n;n=l;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0){k[e>>2]=267;n=k[e>>2]|0;r=o;return n|0}n=k[h>>2]|0;k[n>>2]=k[l>>2];k[n+4>>2]=0;if(k[i>>2]|0)k[k[i>>2]>>2]=k[j>>2];k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e;f=e+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;d=h;d=Yn(k[g>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+24|0;d=h+20|0;e=h+16|0;f=h+12|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g>>2]=k[i>>2];c=Xm(k[(k[i>>2]|0)+12>>2]|0,156,g)|0;k[f>>2]=c;if(k[d>>2]|0)k[k[d>>2]>>2]=k[g+4>>2];if(!(k[e>>2]|0)){i=k[f>>2]|0;r=h;return i|0}k[k[e>>2]>>2]=k[g+8>>2];i=k[f>>2]|0;r=h;return i|0}function Um(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;p=t+56|0;c=t+52|0;d=t+48|0;q=t+44|0;e=t+40|0;f=t+36|0;j=t+32|0;n=t+28|0;g=t+24|0;h=t+20|0;s=t+16|0;m=t+12|0;l=t+8|0;i=t+4|0;o=t;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;b=Sd(k[(k[c>>2]|0)+20>>2]<<4)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[p>>2]=7;s=k[p>>2]|0;r=t;return s|0}dS(k[q>>2]|0,0,k[(k[c>>2]|0)+20>>2]<<4|0)|0;Xm(k[(k[c>>2]|0)+12>>2]|0,157,k[q>>2]|0)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[n>>2]=(k[q>>2]|0)+(k[e>>2]<<4);k[j>>2]=(k[j>>2]|0)-(k[(k[(k[k[n>>2]>>2]|0)+20>>2]|0)+64>>2]|0);k[(k[n>>2]|0)+4>>2]=k[j>>2];k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){c=33;break}k[g>>2]=0;k[h>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[m>>2]=(k[q>>2]|0)+(k[e>>2]<<4);n=_m(k[c>>2]|0,k[k[m>>2]>>2]|0,k[f>>2]|0,(k[m>>2]|0)+8|0)|0;k[s>>2]=n;if(k[s>>2]|0){c=11;break a}if(k[(k[m>>2]|0)+8>>2]|0){k[(k[m>>2]|0)+12>>2]=k[(k[m>>2]|0)+4>>2];Wn((k[q>>2]|0)+(k[e>>2]<<4)|0)|0;k[h>>2]=(k[h>>2]|0)+1}k[e>>2]=(k[e>>2]|0)+1}while(1){if((k[h>>2]|0)<=0)break;k[l>>2]=0;k[i>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[o>>2]=(k[q>>2]|0)+(k[e>>2]<<4);if(k[(k[o>>2]|0)+8>>2]|0){if(!((k[l>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0):0))k[l>>2]=k[o>>2];if((k[i>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)!=(k[(k[o>>2]|0)+-16+12>>2]|0):0)k[i>>2]=1;else k[i>>2]=(k[i>>2]|0)+1;if((k[i>>2]|0)>(k[g>>2]|0))k[g>>2]=k[i>>2]}else k[i>>2]=0;k[e>>2]=(k[e>>2]|0)+1}if(!(Wn(k[l>>2]|0)|0))continue;k[h>>2]=(k[h>>2]|0)+-1}k[(k[(k[d>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]=k[g>>2];k[f>>2]=(k[f>>2]|0)+1}if((c|0)==11){k[p>>2]=k[s>>2];s=k[p>>2]|0;r=t;return s|0}else if((c|0)==33){Ud(k[q>>2]|0);k[p>>2]=0;s=k[p>>2]|0;r=t;return s|0}return 0}function Vm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(l[(k[c>>2]|0)+32>>0]|0){r=e;return}b=(k[c>>2]|0)+24|0;a=(k[k[d>>2]>>2]|0)+32|0;if(!((k[b>>2]|0)==(k[a>>2]|0)?(k[b+4>>2]|0)==(k[a+4>>2]|0):0)){r=e;return}b=k[c>>2]|0;if(k[(k[c>>2]|0)+12>>2]|0){Vm(k[b+12>>2]|0,k[d>>2]|0);Vm(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0);r=e;return}else{Un(b,k[d>>2]|0);r=e;return}}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2];a=ha((k[g>>2]|0)*3|0,k[(k[e>>2]|0)+4>>2]|0)|0;a=Rn(k[k[e>>2]>>2]|0,k[f>>2]|0,(k[(k[e>>2]|0)+28>>2]|0)+(a<<2)|0)|0;r=d;return a|0}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;k[h>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=0;b=Qn(k[h>>2]|0,g,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[e>>2]=0;if(k[f>>2]|0){b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}if((k[(k[c>>2]|0)+24>>2]|0)!=0?(b=Dn(0,k[c>>2]|0)|0,k[f>>2]=b,(k[f>>2]|0)==0):0){b=En(k[c>>2]|0)|0;k[f>>2]=b}b=0==(Fn(k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,f)|0)&1;k[e>>2]=b;Gn(k[c>>2]|0);k[k[d>>2]>>2]=k[f>>2];b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;l=j+24|0;m=j+20|0;i=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;h=j;k[d>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=0;k[g>>2]=k[m>>2];a=(ha(k[l>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0)*3|0;k[f>>2]=a;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0)?(k[i>>2]|0)==0:0))break;m=_m(k[k[g>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[i>>2]=m;if(k[h>>2]|0){m=$m(h)|0;k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=m}else k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=j;return k[i>>2]|0}function _m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;z=F+80|0;o=F+76|0;e=F+72|0;A=F+68|0;B=F+64|0;x=F+60|0;m=F+56|0;D=F+52|0;C=F+48|0;u=F;n=F+44|0;p=F+40|0;g=F+36|0;h=F+85|0;v=F+32|0;j=F+28|0;s=F+24|0;f=F+20|0;q=F+84|0;y=F+16|0;w=F+12|0;t=F+8|0;k[o>>2]=a;k[e>>2]=b;k[A>>2]=c;k[B>>2]=d;k[x>>2]=k[(k[e>>2]|0)+20>>2];k[m>>2]=k[k[o>>2]>>2];k[k[B>>2]>>2]=0;if((k[(k[x>>2]|0)+68>>2]|0)<(k[(k[m>>2]|0)+24>>2]|0)?(k[(k[x>>2]|0)+68>>2]|0)!=(k[A>>2]|0):0){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a=(k[e>>2]|0)+24|0;d=k[a+4>>2]|0;b=u;k[b>>2]=k[a>>2];k[b+4>>2]=d;k[D>>2]=k[(k[x>>2]|0)+28>>2];b=u;d=(k[o>>2]|0)+32|0;if(!(!((k[b>>2]|0)!=(k[d>>2]|0)?1:(k[b+4>>2]|0)!=(k[d+4>>2]|0))?(l[(k[e>>2]|0)+32>>0]|0)==0:0))E=6;do if((E|0)==6){k[n>>2]=0;k[p>>2]=l[(k[m>>2]|0)+231>>0];k[g>>2]=0;i[h>>0]=0;k[j>>2]=k[e>>2];k[v>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[v>>2]|0))break;if((k[k[v>>2]>>2]|0)==4)k[g>>2]=1;if((k[k[v>>2]>>2]|0)==1)k[j>>2]=k[v>>2];if(i[(k[v>>2]|0)+32>>0]|0)i[h>>0]=1;k[v>>2]=k[(k[v>>2]|0)+8>>2]}if(!(k[g>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a:do if(k[(k[x>>2]|0)+40>>2]|0){k[f>>2]=l[(k[j>>2]|0)+32>>0];an(k[o>>2]|0,k[j>>2]|0,n);b:while(1){if(k[n>>2]|0)break a;while(1){if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break a;bn(k[o>>2]|0,k[j>>2]|0,n);if(k[f>>2]|0)continue b;m=(k[j>>2]|0)+24|0;d=u;if(!(((k[m>>2]|0)!=(k[d>>2]|0)?1:(k[m+4>>2]|0)!=(k[d+4>>2]|0))&(k[n>>2]|0)==0))break a}}}while(0);c:do if((i[h>>0]|0)!=0&(k[n>>2]|0)==0)do{if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break c;bn(k[o>>2]|0,k[j>>2]|0,n)}while((k[n>>2]|0)==0);while(0);if(k[n>>2]|0){k[z>>2]=k[n>>2];E=k[z>>2]|0;r=F;return E|0}k[s>>2]=1;k[v>>2]=k[j>>2];while(1){if(!(k[v>>2]|0))break;i[q>>0]=0;k[y>>2]=k[v>>2];if((k[k[y>>2]>>2]|0)==1)k[y>>2]=k[(k[y>>2]|0)+16>>2];k[w>>2]=k[(k[y>>2]|0)+20>>2];k[D>>2]=k[(k[w>>2]|0)+48>>2];d=(k[w>>2]|0)+56|0;n=k[d+4>>2]|0;e=u;k[e>>2]=k[d>>2];k[e+4>>2]=n;e=(k[(k[w>>2]|0)+4>>2]|0)!=0;d:do if((l[(k[o>>2]|0)+52>>0]|0)==(k[p>>2]|0)){if(e)e=(k[D>>2]|0)>>>0>=((k[k[w>>2]>>2]|0)+(k[(k[w>>2]|0)+4>>2]|0)|0)>>>0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=_R(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,kS(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,(L|0)>=0):0)break d;if(l[q>>0]|0)break d;cn(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,q)}}else{if(e)if(k[D>>2]|0)e=(k[D>>2]|0)>>>0<=(k[k[w>>2]>>2]|0)>>>0;else e=0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=_R(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,n=kS(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,d=L,!((d|0)>0|(d|0)==0&n>>>0>0)):0)break d;if(l[q>>0]|0)break d;km(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,t,q)}}while(0);k[(k[w>>2]|0)+48>>2]=k[D>>2];m=u;d=k[m+4>>2]|0;n=(k[w>>2]|0)+56|0;k[n>>2]=k[m>>2];k[n+4>>2]=d;if(!((l[q>>0]|0)==0?(d=u,n=(k[o>>2]|0)+32|0,!((k[d>>2]|0)!=(k[n>>2]|0)?1:(k[d+4>>2]|0)!=(k[n+4>>2]|0))):0))k[s>>2]=0;k[v>>2]=k[(k[v>>2]|0)+12>>2]}if(k[s>>2]|0){k[D>>2]=k[(k[x>>2]|0)+48>>2];break}else{k[D>>2]=0;break}}while(0);if(!(k[D>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if((i[k[D>>2]>>0]|0)==1){k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=jm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}else k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[A>>2]|0))break;hm(0,D);if(!(i[k[D>>2]>>0]|0)){E=65;break}k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=jm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}if((E|0)==65){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if(!(i[k[D>>2]>>0]|0))k[D>>2]=0;k[k[B>>2]>>2]=(k[A>>2]|0)==(k[C>>2]|0)?k[D>>2]|0:0;k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}function $m(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;e=f+4|0;c=f+12|0;d=f;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];i[c>>0]=0;k[d>>2]=0;while(1){a=k[e>>2]|0;if(!(254&(i[k[e>>2]>>0]|i[c>>0])))break;k[e>>2]=a+1;i[c>>0]=i[a>>0]&128;if(i[c>>0]|0)continue;k[d>>2]=(k[d>>2]|0)+1}k[k[b>>2]>>2]=a;r=f;return k[d>>2]|0}function an(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=l;return}if(k[k[f>>2]>>2]|0){r=l;return}k[h>>2]=k[(k[e>>2]|0)+20>>2];if(k[h>>2]|0){dn(k[h>>2]|0);if(k[(k[h>>2]|0)+40>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0))break;k[j>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);if(k[(k[j>>2]|0)+20>>2]|0)nn(k[(k[j>>2]|0)+20>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+1}j=on(k[d>>2]|0,0,k[h>>2]|0)|0;k[k[f>>2]>>2]=j}k[(k[h>>2]|0)+8>>2]=0;j=(k[h>>2]|0)+16|0;k[j>>2]=0;k[j+4>>2]=0;k[(k[h>>2]|0)+48>>2]=0}j=(k[e>>2]|0)+24|0;k[j>>2]=0;k[j+4>>2]=0;i[(k[e>>2]|0)+32>>0]=0;i[(k[e>>2]|0)+33>>0]=0;an(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0);an(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0);r=l;return} +function $p(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c=h+20|0;k[j>>2]=a;k[e>>2]=b;k[g>>2]=0;k[f>>2]=k[j>>2];a:while(1){if(k[g>>2]|0){b=21;break}i[c>>0]=i[k[f>>2]>>0]|0;switch(i[c>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{k[g>>2]=k[f>>2];while(1){j=(k[g>>2]|0)+1|0;k[g>>2]=j;if(!(i[j>>0]|0))continue a;if((i[k[g>>2]>>0]|0)!=(i[c>>0]|0))continue;j=(k[g>>2]|0)+1|0;k[g>>2]=j;if((i[j>>0]|0)!=(i[c>>0]|0))continue a}}case 91:{k[g>>2]=(k[f>>2]|0)+1;while(1){if(i[k[g>>2]>>0]|0)a=(i[k[g>>2]>>0]|0)!=93;else a=0;b=k[g>>2]|0;if(!a)break;k[g>>2]=b+1}if(!(i[b>>0]|0))continue a;k[g>>2]=(k[g>>2]|0)+1;continue a}default:{j=(Wp(i[k[f>>2]>>0]|0)|0)!=0;b=(k[f>>2]|0)+1|0;if(!j){k[f>>2]=b;continue a}k[g>>2]=b;while(1){if(!(Wp(i[k[g>>2]>>0]|0)|0))continue a;k[g>>2]=(k[g>>2]|0)+1}}}}if((b|0)==4){k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}else if((b|0)==21){k[k[e>>2]>>2]=(k[g>>2]|0)-(k[f>>2]|0);k[d>>2]=k[f>>2];j=k[d>>2]|0;r=h;return j|0}return 0}function aq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+96|0;q=t+56|0;j=t+48|0;i=t+40|0;m=t+32|0;l=t+24|0;h=t+8|0;g=t;p=t+92|0;d=t+88|0;e=t+84|0;s=t+80|0;n=t+76|0;o=t+72|0;f=t+68|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[s>>2]=0;k[n>>2]=0;if(k[(k[p>>2]|0)+40>>2]|0){gq(k[e>>2]|0,s,24745,m);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;o=k[e>>2]|0;k[i>>2]=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2];gq(o,s,24751,i);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[j>>2]=k[(k[p>>2]|0)+44>>2];gq(o,s,24731,j)}}else{if(k[d>>2]|0){b=fq(k[d>>2]|0)|0;k[o>>2]=b;k[n>>2]=b}else k[o>>2]=18402;gq(k[e>>2]|0,s,24710,g);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;b=k[e>>2]|0;j=k[f>>2]|0;m=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]|0;k[h>>2]=k[o>>2];k[h+4>>2]=j;k[h+8>>2]=m;gq(b,s,24716,h);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[l>>2]=24738;gq(o,s,24731,l)}Ud(k[n>>2]|0)}d=k[e>>2]|0;e=k[(k[p>>2]|0)+16>>2]|0;f=k[p>>2]|0;if(k[(k[p>>2]|0)+40>>2]|0){b=k[f+40>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?18402:24760;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;gq(d,s,24769,q);s=k[s>>2]|0;r=t;return s|0}else{b=k[f+20>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?18402:24760;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;gq(d,s,24769,q);s=k[s>>2]|0;r=t;return s|0}return 0}function bq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;i=n+16|0;h=n+8|0;d=n+44|0;e=n+40|0;f=n+36|0;m=n+32|0;j=n+28|0;l=n+24|0;g=n+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[j>>2]=0;if(k[e>>2]|0){b=fq(k[e>>2]|0)|0;k[l>>2]=b;k[j>>2]=b}else k[l>>2]=18402;gq(k[f>>2]|0,m,20275,n);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+24>>2]|0))break;b=k[f>>2]|0;k[h>>2]=k[l>>2];gq(b,m,24694,h);k[g>>2]=(k[g>>2]|0)+1}if(!(k[(k[d>>2]|0)+44>>2]|0)){l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}gq(k[f>>2]|0,m,24701,i);l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}function cq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+112|0;l=q+64|0;h=q+56|0;g=q+48|0;f=q+32|0;m=q+24|0;j=q+8|0;b=q+96|0;e=q+92|0;d=q+88|0;c=q+84|0;p=q+80|0;o=q+76|0;n=q+72|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];if(!(k[(k[b>>2]|0)+40>>2]|0)){k[p>>2]=k[(k[b>>2]|0)+44>>2];a=Yd(24319,q)|0;k[o>>2]=a;k[d>>2]=0;while(1){if(!(k[o>>2]|0))break;if((k[d>>2]|0)>=(k[(k[b>>2]|0)+24>>2]|0))break;k[n>>2]=k[(k[(k[b>>2]|0)+28>>2]|0)+(k[d>>2]<<2)>>2];s=k[d>>2]|0;a=k[n>>2]|0;k[j>>2]=k[o>>2];k[j+4>>2]=s;k[j+8>>2]=a;a=Yd(24345,j)|0;k[o>>2]=a;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)!=0&(k[o>>2]|0)!=0){s=k[p>>2]|0;k[m>>2]=k[o>>2];k[m+4>>2]=s;s=Yd(24357,m)|0;k[o>>2]=s}if(!(k[o>>2]|0))k[e>>2]=7;s=k[c>>2]|0;n=k[(k[b>>2]|0)+20>>2]|0;p=k[o>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=n;k[f+8>>2]=p;xl(e,s,24368,f);Ud(k[o>>2]|0)}s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[g>>2]=k[(k[b>>2]|0)+16>>2];k[g+4>>2]=p;xl(e,s,24401,g);s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[h>>2]=k[(k[b>>2]|0)+16>>2];k[h+4>>2]=p;xl(e,s,24473,h);if(i[(k[b>>2]|0)+230>>0]|0){s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[l>>2]=k[(k[b>>2]|0)+16>>2];k[l+4>>2]=p;xl(e,s,24626,l)}if(!(i[(k[b>>2]|0)+229>>0]|0)){s=k[e>>2]|0;r=q;return s|0}lp(e,k[b>>2]|0);s=k[e>>2]|0;r=q;return s|0}function dq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+20|0;d=i+16|0;f=i+12|0;h=i+8|0;e=i+4|0;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){r=i;return}k[g>>2]=k[(k[d>>2]|0)+16>>2];g=Yd(24299,g)|0;k[h>>2]=g;do if(k[h>>2]|0){g=nf(k[(k[d>>2]|0)+12>>2]|0,k[h>>2]|0,-1,e,0)|0;k[f>>2]=g;if(!(k[f>>2]|0)){De(k[e>>2]|0)|0;g=Me(k[e>>2]|0,0)|0;k[(k[d>>2]|0)+236>>2]=g;g=fe(k[e>>2]|0)|0;k[f>>2]=g;break}if((k[f>>2]|0)==23){k[(k[d>>2]|0)+236>>2]=1024;k[f>>2]=0}}else k[f>>2]=7;while(0);Ud(k[h>>2]|0);k[k[c>>2]>>2]=k[f>>2];r=i;return}function eq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;j=o+24|0;i=o+16|0;d=o+8|0;c=o;e=o+60|0;f=o+56|0;g=o+52|0;h=o+48|0;n=o+44|0;l=o+40|0;m=o+36|0;k[e>>2]=a;k[f>>2]=b;if(k[k[e>>2]>>2]|0){r=o;return}if(k[(k[f>>2]|0)+44>>2]|0)b=k[(k[f>>2]|0)+44>>2]|0;else b=24224;k[m>>2]=b;a=k[(k[f>>2]|0)+12>>2]|0;k[c>>2]=1;sf(a,1,c)|0;k[d>>2]=k[k[(k[f>>2]|0)+28>>2]>>2];d=Yd(24233,d)|0;k[l>>2]=d;k[g>>2]=1;while(1){if(k[l>>2]|0)a=(k[g>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0);else a=0;b=k[l>>2]|0;if(!a)break;d=k[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]<<2)>>2]|0;k[i>>2]=b;k[i+4>>2]=d;d=Yd(24238,i)|0;k[l>>2]=d;k[g>>2]=(k[g>>2]|0)+1}i=k[(k[f>>2]|0)+20>>2]|0;m=k[m>>2]|0;k[j>>2]=b;k[j+4>>2]=i;k[j+8>>2]=m;m=Yd(24245,j)|0;k[n>>2]=m;if((k[l>>2]|0)!=0&(k[n>>2]|0)!=0){m=qf(k[(k[f>>2]|0)+12>>2]|0,k[n>>2]|0)|0;k[h>>2]=m}else k[h>>2]=7;Ud(k[n>>2]|0);Ud(k[l>>2]|0);k[k[e>>2]>>2]=k[h>>2];r=o;return}function fq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;g=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=2+((uR(k[b>>2]|0)|0)<<1)+1|0;k[g>>2]=a;a=Sd(k[g>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}k[d>>2]=k[e>>2];g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;k[c>>2]=0;while(1){if(!(i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0))break;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==34){g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34}a=i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=a;k[c>>2]=(k[c>>2]|0)+1}g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=0;g=k[e>>2]|0;r=f;return g|0}function gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;i=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+16|0;j=m+12|0;l=m+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=m;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[j>>2]=c;if((k[j>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0){c=k[j>>2]|0;k[i>>2]=k[k[f>>2]>>2];k[i+4>>2]=c;c=Yd(24705,i)|0;k[l>>2]=c;Ud(k[j>>2]|0);k[j>>2]=k[l>>2]}if(!(k[j>>2]|0))k[k[e>>2]>>2]=7;Ud(k[k[f>>2]>>2]|0);k[k[f>>2]>>2]=k[j>>2];r=m;return}function hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;g=j+4|0;f=j;k[d>>2]=a;k[e>>2]=b;k[j+8>>2]=1e7;k[f>>2]=0;k[g>>2]=k[k[d>>2]>>2];while(1){if((i[k[g>>2]>>0]|0)<48)break;if((i[k[g>>2]>>0]|0)>57)break;k[f>>2]=((k[f>>2]|0)*10|0)+((i[k[g>>2]>>0]|0)-48);if((k[f>>2]|0)>1e7){h=5;break}k[g>>2]=(k[g>>2]|0)+1}if((h|0)==5)k[f>>2]=0;if((k[g>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}else{k[k[e>>2]>>2]=k[f>>2];k[k[d>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}return 0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;l=o;d=o+40|0;p=o+36|0;e=o+32|0;h=o+28|0;j=o+24|0;n=o+20|0;g=o+16|0;i=o+12|0;f=o+8|0;m=o+4|0;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[j>>2]=0;a=Ee(k[d>>2]|0)|0;k[h>>2]=a;a=je(k[k[e>>2]>>2]|0)|0;k[n>>2]=a;a=(ke(k[k[e>>2]>>2]|0)|0)+1|0;k[g>>2]=a;do if((k[p>>2]|0)==2){if(!(jq(k[d>>2]|0)|0)){se(k[d>>2]|0,25030,-1);r=o;return}p=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=p;if((k[n>>2]|0)==0|(k[f>>2]|0)!=4){se(k[d>>2]|0,24993,-1);r=o;return}else{p=ie(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=k[p>>2];p=vk(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0,k[j>>2]|0)|0;k[i>>2]=p;if((k[i>>2]|0)!=(k[j>>2]|0))break;se(k[d>>2]|0,25016,-1);break}}else{if(k[n>>2]|0){p=Ok(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[j>>2]=p}if(!(k[j>>2]|0)){k[l>>2]=k[n>>2];p=Yd(20595,l)|0;k[m>>2]=p;se(k[d>>2]|0,k[m>>2]|0,-1);Ud(k[m>>2]|0);r=o;return}}while(0);pe(k[d>>2]|0,j,4,-1);r=o;return}function jq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;d=c;f=c+16|0;e=c+12|0;b=c+8|0;k[f>>2]=a;a=Fe(k[f>>2]|0)|0;k[e>>2]=a;k[b>>2]=0;a=k[e>>2]|0;k[d>>2]=-1;k[d+4>>2]=b;yf(a,1004,d)|0;r=c;return k[b>>2]|0}function kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];f=k[g>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if((k[k[g>>2]>>2]|0)<=0)k[(k[g>>2]|0)+4>>2]=0;if((i[(k[d>>2]|0)+1>>0]|0)!=0?(k[(k[e>>2]|0)+12>>2]|0)!=0:0)Ak(k[(k[e>>2]|0)+12>>2]|0);Ak(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if((k[(k[d>>2]|0)+4>>2]|0)>0){r=h;return}zk(k[d>>2]|0);r=h;return}function lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;e=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;l=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;a=mq(k[e>>2]<<3)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}Ak(k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[h>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=Rk(i[k[d>>2]>>0]|0)|0;k[l>>2]=a;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=gc[k[l>>2]&255](k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a&(k[e>>2]|0)-1;k[j>>2]=k[k[f>>2]>>2];nq(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[j>>2]}k[c>>2]=0;l=k[c>>2]|0;r=m;return l|0}function mq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}dS(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function nq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[e>>2]|0)+4>>2];if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[d>>2]|0)+8>>2]|0)k[(k[(k[d>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}function oq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+16|0;e=g+4|0;f=g;k[g+12>>2]=a;k[g+8>>2]=b;k[e>>2]=c;c=Sd(4)|0;k[f>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=g;return f|0}else{k[k[f>>2]>>2]=0;k[k[e>>2]>>2]=k[f>>2];k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function pq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=Sd(28)|0;k[i>>2]=b;if(!(k[i>>2]|0)){k[e>>2]=7;b=k[e>>2]|0;r=j;return b|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){b=uR(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=b;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;b=k[e>>2]|0;r=j;return b|0}function rq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function sq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+48|0;x=w+44|0;h=w+40|0;j=w+36|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;u=w+16|0;q=w+12|0;p=w+8|0;s=w+4|0;t=w;k[x>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=k[x>>2];k[u>>2]=k[(k[o>>2]|0)+4>>2];do{if((k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[o>>2]|0)+8>>2]|0)){v=23;break}while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)?(x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0,k[p>>2]=x,(x&128|0)==0):0)if((k[p>>2]|0)<48)a=1;else a=(i[25052+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[q>>2]=f;while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)){x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0;k[p>>2]=x;if(!(x&128))if((k[p>>2]|0)<48)a=1;else a=(i[25052+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;a=a^1}else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[q>>2]|0));if((v|0)==23){k[g>>2]=101;x=k[g>>2]|0;r=w;return x|0}k[s>>2]=(k[(k[o>>2]|0)+12>>2]|0)-(k[q>>2]|0);do if((k[s>>2]|0)>(k[(k[o>>2]|0)+24>>2]|0)){k[(k[o>>2]|0)+24>>2]=(k[s>>2]|0)+20;x=Vd(k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;k[t>>2]=x;if(k[t>>2]|0){k[(k[o>>2]|0)+20>>2]=k[t>>2];break}k[g>>2]=7;x=k[g>>2]|0;r=w;return x|0}while(0);tq((k[u>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[j>>2]|0);k[k[h>>2]>>2]=k[(k[o>>2]|0)+20>>2];k[k[l>>2]>>2]=k[q>>2];k[k[m>>2]>>2]=k[(k[o>>2]|0)+12>>2];v=(k[o>>2]|0)+16|0;x=k[v>>2]|0;k[v>>2]=x+1;k[k[n>>2]>>2]=x;k[g>>2]=0;x=k[g>>2]|0;r=w;return x|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;e=s+28|0;f=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;h=s+8|0;l=s+36|0;q=s+4|0;j=s;g=s+32|0;k[e>>2]=a;k[f>>2]=b;k[n>>2]=c;k[o>>2]=d;if((k[f>>2]|0)<3|(k[f>>2]|0)>=21){uq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}k[p>>2]=0;k[h>>2]=22;while(1){if((k[p>>2]|0)>=(k[f>>2]|0))break;i[g>>0]=i[(k[e>>2]|0)+(k[p>>2]|0)>>0]|0;if((i[g>>0]|0)>=65?(i[g>>0]|0)<=90:0)i[l+(k[h>>2]|0)>>0]=(i[g>>0]|0)+97-65;else{if((i[g>>0]|0)<97){m=11;break}if((i[g>>0]|0)>122){m=11;break}i[l+(k[h>>2]|0)>>0]=i[g>>0]|0}k[p>>2]=(k[p>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+-1}if((m|0)==11){uq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}m=l+23|0;i[m>>0]=0;i[m+1>>0]=0;i[m+2>>0]=0;i[m+3>>0]=0;i[m+4>>0]=0;k[q>>2]=l+((k[h>>2]|0)+1);if((((i[k[q>>2]>>0]|0)==115?(vq(q,25132,25137,0)|0)==0:0)?(vq(q,25140,25144,0)|0)==0:0)?(vq(q,25137,25137,0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1;k[j>>2]=k[q>>2];do if(!(vq(q,25146,25150,172)|0)){if((vq(q,25153,18402,173)|0)==0?(vq(q,25157,18402,173)|0)==0:0)break;if((((k[q>>2]|0)!=(k[j>>2]|0)?(vq(q,25160,25163,0)|0)==0:0)?(vq(q,25167,25170,0)|0)==0:0)?(vq(q,25174,25177,0)|0)==0:0){if((((yq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)!=108:0)?(i[k[q>>2]>>0]|0)!=115:0)?(i[k[q>>2]>>0]|0)!=122:0){k[q>>2]=(k[q>>2]|0)+1;break}if((zq(k[q>>2]|0)|0)!=0?(Aq(k[q>>2]|0)|0)!=0:0){m=(k[q>>2]|0)+-1|0;k[q>>2]=m;i[m>>0]=101}}}while(0);if((i[k[q>>2]>>0]|0)==121?(xq((k[q>>2]|0)+1|0)|0)!=0:0)i[k[q>>2]>>0]=105;switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if(!(vq(q,25181,25163,172)|0))vq(q,25189,25196,172)|0;break}case 99:{if(!(vq(q,25201,25206,172)|0))vq(q,25211,25216,172)|0;break}case 101:{vq(q,25221,25177,172)|0;break}case 103:{vq(q,25226,25231,172)|0;break}case 108:{if((((vq(q,25235,25170,172)|0)==0?(vq(q,25239,25244,172)|0)==0:0)?(vq(q,25247,25253,172)|0)==0:0)?(vq(q,25257,25261,172)|0)==0:0)vq(q,25263,25269,172)|0;break}case 111:{if((vq(q,25273,25177,172)|0)==0?(vq(q,25281,25163,172)|0)==0:0)vq(q,25287,25163,172)|0;break}case 115:{if(((vq(q,25292,25244,172)|0)==0?(vq(q,25298,25306,172)|0)==0:0)?(vq(q,25310,25318,172)|0)==0:0)vq(q,25322,25269,172)|0;break}case 116:{if((vq(q,25330,25244,172)|0)==0?(vq(q,25336,25306,172)|0)==0:0)vq(q,25342,25170,172)|0;break}default:{}}switch(i[k[q>>2]>>0]|0){case 101:{if((vq(q,25349,25355,172)|0)==0?(vq(q,25358,18402,172)|0)==0:0)vq(q,25364,25244,172)|0;break}case 105:{vq(q,25370,25355,172)|0;break}case 108:{if(!(vq(q,25376,25355,172)|0))vq(q,25381,18402,172)|0;break}case 115:{vq(q,25385,18402,172)|0;break}default:{}}a:do switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if((i[k[q>>2]>>0]|0)==108?(Bq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 99:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==110:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=101:0)break a;if(Bq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 101:{if((i[k[q>>2]>>0]|0)==114?(Bq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 105:{if((i[k[q>>2]>>0]|0)==99?(Bq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 108:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==98:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=105:0)break a;if(Bq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 110:{if((i[k[q>>2]>>0]|0)==116){e=k[q>>2]|0;if((i[(k[q>>2]|0)+2>>0]|0)==97){if(!(Bq(e+3|0)|0))break a;k[q>>2]=(k[q>>2]|0)+3;break a}if(((i[e+2>>0]|0)==101?(vq(q,25390,18402,174)|0)==0:0)?(vq(q,25396,18402,174)|0)==0:0)vq(q,25401,18402,174)|0}break}case 111:{e=k[q>>2]|0;if((i[k[q>>2]>>0]|0)==117){if(!(Bq(e+2|0)|0))break a;k[q>>2]=(k[q>>2]|0)+2;break a}if((i[e+3>>0]|0)!=115?(i[(k[q>>2]|0)+3>>0]|0)!=116:0)break a;vq(q,25405,18402,174)|0;break}case 115:{if(((i[k[q>>2]>>0]|0)==109?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(Bq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 116:{if(!(vq(q,25409,18402,174)|0))vq(q,25413,18402,174)|0;break}case 117:{if(((i[k[q>>2]>>0]|0)==115?(i[(k[q>>2]|0)+2>>0]|0)==111:0)?(Bq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 122:case 118:{if(((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(Bq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}default:{}}while(0);do if((i[k[q>>2]>>0]|0)==101){m=(Bq((k[q>>2]|0)+1|0)|0)!=0;e=(k[q>>2]|0)+1|0;if(m){k[q>>2]=e;break}if((zq(e)|0)!=0?(Aq((k[q>>2]|0)+1|0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1}while(0);if(((Bq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)==108:0)?(i[(k[q>>2]|0)+1>>0]|0)==108:0)k[q>>2]=(k[q>>2]|0)+1;m=uR(k[q>>2]|0)|0;k[p>>2]=m;k[k[o>>2]>>2]=m;i[(k[n>>2]|0)+(k[p>>2]|0)>>0]=0;while(1){if(!(i[k[q>>2]>>0]|0))break;m=k[q>>2]|0;k[q>>2]=m+1;m=i[m>>0]|0;o=(k[p>>2]|0)+-1|0;k[p>>2]=o;i[(k[n>>2]|0)+o>>0]=m}r=s;return}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;j=p+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[j>>0]=i[(k[e>>2]|0)+(k[m>>2]|0)>>0]|0;if((i[j>>0]|0)>=65?(i[j>>0]|0)<=90:0)i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=(i[j>>0]|0)-65+97;else{if((i[j>>0]|0)>=48?(i[j>>0]|0)<=57:0)k[l>>2]=1;i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=i[j>>0]|0}k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=(k[l>>2]|0)!=0?3:10;if((k[f>>2]|0)<=(k[o>>2]<<1|0)){a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}k[n>>2]=k[o>>2];k[m>>2]=(k[f>>2]|0)-(k[o>>2]|0);while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[n>>2]|0)>>0]=i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0;k[m>>2]=(k[m>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=k[n>>2];a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}function vq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];while(1){if(!(i[k[g>>2]>>0]|0))break;if((i[k[g>>2]>>0]|0)!=(i[k[l>>2]>>0]|0))break;k[l>>2]=(k[l>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}if(i[k[g>>2]>>0]|0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}if((k[j>>2]|0)!=0?(bc[k[j>>2]&255](k[l>>2]|0)|0)==0:0){k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}while(1){if(!(i[k[h>>2]>>0]|0))break;b=k[h>>2]|0;k[h>>2]=b+1;b=i[b>>0]|0;c=(k[l>>2]|0)+-1|0;k[l>>2]=c;i[c>>0]=b}k[k[f>>2]>>2]=k[l>>2];k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function wq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function xq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){d=(Dq(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!d)break;k[b>>2]=a+1}r=c;return (i[a>>0]|0)!=0|0}function yq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(Dq(k[b>>2]|0)|0)){a=0;a=a&1;r=c;return a|0}a=(i[k[b>>2]>>0]|0)==(i[(k[b>>2]|0)+1>>0]|0);a=a&1;r=c;return a|0}function zq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=1;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)==0&1;e=k[b>>2]|0;r=d;return e|0}function Aq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((((Dq(k[b>>2]|0)|0)!=0?(i[k[b>>2]>>0]|0)!=119:0)?(i[k[b>>2]>>0]|0)!=120:0)?(i[k[b>>2]>>0]|0)!=121:0)?(Cq((k[b>>2]|0)+1|0)|0)!=0:0)b=(Dq((k[b>>2]|0)+2|0)|0)!=0;else b=0;r=c;return b&1|0}function Bq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Cq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Dq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function Cq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;e=f+12|0;k[c>>2]=a;i[e>>0]=i[k[c>>2]>>0]|0;if(!(i[e>>0]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[d>>2]=i[25417+((i[e>>0]|0)-97)>>0];if((k[d>>2]|0)<2){k[b>>2]=1-(k[d>>2]|0);a=k[b>>2]|0;r=f;return a|0}else{a=Dq((k[c>>2]|0)+1|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=f;return a|0}return 0}function Dq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;b=f+4|0;c=f;d=f+12|0;k[b>>2]=a;i[d>>0]=i[k[b>>2]>>0]|0;if(!(i[d>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=i[25417+((i[d>>0]|0)-97)>>0];if((k[c>>2]|0)<2){k[e>>2]=k[c>>2];e=k[e>>2]|0;r=f;return e|0}if(!(i[(k[b>>2]|0)+1>>0]|0))b=1;else b=(Cq((k[b>>2]|0)+1|0)|0)!=0;k[e>>2]=b&1;e=k[e>>2]|0;r=f;return e|0}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;o=p+12|0;j=p+8|0;n=p+4|0;h=p+32|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=Sd(132)|0;k[o>>2]=c;if(!(k[o>>2]|0)){k[d>>2]=7;o=k[d>>2]|0;r=p;return o|0}dS(k[o>>2]|0,0,132)|0;a:do if((k[e>>2]|0)>1){c=uR(k[(k[f>>2]|0)+4>>2]|0)|0;k[n>>2]=c;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[n>>2]|0))break a;i[h>>0]=i[(k[(k[f>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]|0;if((l[h>>0]|0|0)>=128)break;i[(k[o>>2]|0)+4+(l[h>>0]|0)>>0]=1;k[j>>2]=(k[j>>2]|0)+1}Ud(k[o>>2]|0);k[d>>2]=1;o=k[d>>2]|0;r=p;return o|0}else{k[m>>2]=1;while(1){if((k[m>>2]|0)>=128)break a;c=(Kq(k[m>>2]|0)|0)!=0^1;i[(k[o>>2]|0)+4+(k[m>>2]|0)>>0]=c?-1:0;k[m>>2]=(k[m>>2]|0)+1}}while(0);k[k[g>>2]>>2]=k[o>>2];k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}function Fq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function Gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=uR(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Hq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Iq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;m=z+52|0;A=z+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;s=z+28|0;t=z+24|0;h=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;g=z;u=z+56|0;k[A>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=k[A>>2];k[h>>2]=k[k[A>>2]>>2];k[y>>2]=k[(k[t>>2]|0)+4>>2];do{if((k[(k[t>>2]|0)+12>>2]|0)>=(k[(k[t>>2]|0)+8>>2]|0)){j=25;break}while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Jq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[w>>2]=f;while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Jq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[w>>2]|0));if((j|0)==25){k[m>>2]=101;A=k[m>>2]|0;r=z;return A|0}k[x>>2]=(k[(k[t>>2]|0)+12>>2]|0)-(k[w>>2]|0);do if((k[x>>2]|0)>(k[(k[t>>2]|0)+24>>2]|0)){k[(k[t>>2]|0)+24>>2]=(k[x>>2]|0)+20;A=Vd(k[(k[t>>2]|0)+20>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[g>>2]=A;if(k[g>>2]|0){k[(k[t>>2]|0)+20>>2]=k[g>>2];break}k[m>>2]=7;A=k[m>>2]|0;r=z;return A|0}while(0);k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[x>>2]|0))break;i[u>>0]=i[(k[y>>2]|0)+((k[w>>2]|0)+(k[v>>2]|0))>>0]|0;if((l[u>>0]|0|0)>=65?(l[u>>0]|0|0)<=90:0)a=(l[u>>0]|0)-65+97|0;else a=l[u>>0]|0;i[(k[(k[t>>2]|0)+20>>2]|0)+(k[v>>2]|0)>>0]=a;k[v>>2]=(k[v>>2]|0)+1}k[k[n>>2]>>2]=k[(k[t>>2]|0)+20>>2];k[k[o>>2]>>2]=k[x>>2];k[k[p>>2]>>2]=k[w>>2];k[k[q>>2]>>2]=k[(k[t>>2]|0)+12>>2];y=(k[t>>2]|0)+16|0;A=k[y>>2]|0;k[y>>2]=A+1;k[k[s>>2]>>2]=A;k[m>>2]=0;A=k[m>>2]|0;r=z;return A|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((l[d>>0]|0)>=128){a=0;a=a&1;r=e;return a|0}a=(i[(k[c>>2]|0)+4+(l[d>>0]|0)>>0]|0)!=0;a=a&1;r=e;return a|0}function Kq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)>=48&(k[b>>2]|0)<=57)?!((k[b>>2]|0)>=65&(k[b>>2]|0)<=90):0)b=(k[b>>2]|0)>=97?(k[b>>2]|0)<=122:0;else b=1;r=c;return b&1|0}function Lq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;t=w;g=w+56|0;h=w+52|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;u=w+28|0;v=w+24|0;o=w+20|0;p=w+16|0;n=w+12|0;s=w+8|0;q=w+4|0;k[h>>2]=a;k[w+48>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;do if(!((k[i>>2]|0)!=4&(k[i>>2]|0)!=5)){k[u>>2]=k[(k[j>>2]|0)+4>>2];f=uR(k[u>>2]|0)|0;k[o>>2]=f;if((k[i>>2]|0)==5){if((k[o>>2]|0)!=4)break;if(Jd(18672,k[u>>2]|0,4)|0)break;k[u>>2]=k[(k[j>>2]|0)+12>>2];t=uR(k[u>>2]|0)|0;k[o>>2]=t;k[v>>2]=k[(k[j>>2]|0)+16>>2]}else k[v>>2]=k[(k[j>>2]|0)+12>>2];t=uR(k[v>>2]|0)|0;k[p>>2]=t;t=qf(k[h>>2]|0,25453)|0;k[s>>2]=t;if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[n>>2]=296+(k[o>>2]|0)+(k[p>>2]|0)+2;t=Sd(k[n>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){dS(k[q>>2]|0,0,k[n>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=(k[q>>2]|0)+16;k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]=(k[(k[q>>2]|0)+12>>2]|0)+280;k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]=(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0)+((k[o>>2]|0)+1);k[(k[(k[q>>2]|0)+12>>2]|0)+12>>2]=k[h>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+248>>2]=1;bS(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;bS(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0,k[v>>2]|0,k[p>>2]|0)|0;Yk(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0);k[k[l>>2]>>2]=k[q>>2];k[g>>2]=0;v=k[g>>2]|0;r=w;return v|0}else{k[g>>2]=7;v=k[g>>2]|0;r=w;return v|0}}while(0);Pk(k[m>>2]|0,25522,t);k[g>>2]=1;v=k[g>>2]|0;r=w;return v|0}function Mq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;f=o+32|0;c=o+28|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;n=o+8|0;e=o+4|0;d=o;k[o+36>>2]=a;k[f>>2]=b;k[g>>2]=-1;k[h>>2]=-1;k[m>>2]=-1;k[j>>2]=-1;k[n>>2]=1;if(((k[(k[f>>2]|0)+8>>2]|0)==1?(k[k[(k[f>>2]|0)+12>>2]>>2]|0)==0:0)?(l[(k[(k[f>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)k[(k[f>>2]|0)+32>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[f>>2]>>2]|0))break;if(i[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+5>>0]|0){k[e>>2]=l[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+4>>0];k[d>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)>>2];if(!(k[d>>2]|0)){if((k[e>>2]|0)==2)k[g>>2]=k[c>>2];if((k[e>>2]|0)==16)k[m>>2]=k[c>>2];if((k[e>>2]|0)==8)k[m>>2]=k[c>>2];if((k[e>>2]|0)==4)k[h>>2]=k[c>>2];if((k[e>>2]|0)==32)k[h>>2]=k[c>>2]}if((k[d>>2]|0)==4&(k[e>>2]|0)==2)k[j>>2]=k[c>>2]}k[c>>2]=(k[c>>2]|0)+1}c=(k[f>>2]|0)+20|0;if((k[g>>2]|0)<0){k[c>>2]=0;p[(k[f>>2]|0)+40>>3]=2.0e4;if((k[h>>2]|0)>=0){g=(k[f>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+2;g=k[n>>2]|0;k[n>>2]=g+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>2]=g;h=(k[f>>2]|0)+40|0;p[h>>3]=+p[h>>3]/2.0}if((k[m>>2]|0)>=0){h=(k[f>>2]|0)+20|0;k[h>>2]=(k[h>>2]|0)+4;h=k[n>>2]|0;k[n>>2]=h+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<3)>>2]=h;m=(k[f>>2]|0)+40|0;p[m>>3]=+p[m>>3]/2.0}}else{k[c>>2]=1;m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=m;p[(k[f>>2]|0)+40>>3]=5.0}if((k[j>>2]|0)<0){r=o;return 0}m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=m;n=(k[f>>2]|0)+40|0;p[n>>3]=+p[n>>3]+-1.0;r=o;return 0}function Nq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];k[d>>2]=k[(k[c>>2]|0)+12>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;fe(k[(k[d>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[d>>2]|0)+240>>2]|0);Ud(k[c>>2]|0);r=e;return 0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(120)|0;k[e>>2]=b;if(k[e>>2]|0){a=k[e>>2]|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}return 0}function Pq(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;d=b+4|0;c=b;k[e>>2]=a;k[d>>2]=k[(k[k[e>>2]>>2]|0)+12>>2];k[c>>2]=k[e>>2];Im(k[d>>2]|0);Ll((k[c>>2]|0)+4|0);Ud(k[(k[c>>2]|0)+60>>2]|0);Ud(k[(k[c>>2]|0)+76>>2]|0);Ud(k[(k[c>>2]|0)+112>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Qq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;x=z+8|0;w=z;f=z+76|0;g=z+72|0;h=z+68|0;i=z+60|0;j=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;n=z+36|0;l=z+32|0;m=z+28|0;p=z+24|0;o=z+20|0;q=z+16|0;y=z+12|0;k[g>>2]=a;k[h>>2]=b;k[z+64>>2]=c;k[i>>2]=d;k[j>>2]=e;k[t>>2]=k[g>>2];k[u>>2]=k[(k[k[g>>2]>>2]|0)+12>>2];k[s>>2]=0;k[n>>2]=0;k[l>>2]=-1;k[m>>2]=-1;k[p>>2]=-1;k[o>>2]=-1;k[q>>2]=0;if((k[h>>2]|0)!=1){k[s>>2]=1;if(k[h>>2]&2){a=k[q>>2]|0;k[q>>2]=a+1;k[m>>2]=a}if(k[h>>2]&4){a=k[q>>2]|0;k[q>>2]=a+1;k[p>>2]=a}}else{a=k[q>>2]|0;k[q>>2]=a+1;k[l>>2]=a}if((k[q>>2]|0)<(k[i>>2]|0)){a=k[q>>2]|0;k[q>>2]=a+1;k[o>>2]=a}Ll((k[t>>2]|0)+4|0);Ud(k[(k[t>>2]|0)+60>>2]|0);Ud(k[(k[t>>2]|0)+112>>2]|0);dS((k[t>>2]|0)+4|0,0,(k[t>>2]|0)+120-((k[t>>2]|0)+4)|0)|0;k[(k[t>>2]|0)+60+12>>2]=3;if(k[s>>2]|0){a=(k[t>>2]|0)+60+12|0;k[a>>2]=k[a>>2]|16}if(((k[l>>2]|0)>=0|(k[m>>2]|0)>=0?(a=je(k[k[j>>2]>>2]|0)|0,k[y>>2]=a,(k[y>>2]|0)!=0):0)?(k[w>>2]=k[y>>2],y=Yd(18391,w)|0,k[(k[t>>2]|0)+60>>2]=y,y=ke(k[k[j>>2]>>2]|0)|0,k[(k[t>>2]|0)+60+4>>2]=y,(k[(k[t>>2]|0)+60>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[p>>2]|0)>=0?(y=je(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[x>>2]=y,y=Yd(18391,x)|0,k[(k[t>>2]|0)+76>>2]=y,y=ke(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[(k[t>>2]|0)+80>>2]=y,(k[(k[t>>2]|0)+76>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[o>>2]|0)>=0){y=me(k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]|0)|0;k[n>>2]=y;k[n>>2]=(k[n>>2]|0)<0?0:y}k[(k[t>>2]|0)+84>>2]=k[n>>2];y=Al(k[u>>2]|0,k[n>>2]|0,0,-2,k[(k[t>>2]|0)+60>>2]|0,k[(k[t>>2]|0)+60+4>>2]|0,0,k[s>>2]|0,(k[t>>2]|0)+4|0)|0;k[v>>2]=y;if(!(k[v>>2]|0)){y=El(k[u>>2]|0,(k[t>>2]|0)+4|0,(k[t>>2]|0)+60|0)|0;k[v>>2]=y}if(!(k[v>>2]|0)){y=Rq(k[g>>2]|0)|0;k[v>>2]=y}k[f>>2]=k[v>>2];y=k[f>>2]|0;r=z;return y|0}function Rq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+64|0;c=p+52|0;q=p+48|0;l=p+44|0;b=p+40|0;m=p+36|0;f=p+32|0;j=p+28|0;d=p+24|0;g=p+20|0;e=p+16|0;i=p+12|0;h=p+8|0;n=p;k[q>>2]=a;k[l>>2]=k[q>>2];k[b>>2]=k[(k[k[q>>2]>>2]|0)+12>>2];a=(k[l>>2]|0)+96|0;q=a;q=$R(k[q>>2]|0,k[q+4>>2]|0,1,0)|0;k[a>>2]=q;k[a+4>>2]=L;a=(k[l>>2]|0)+104|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if((k[(k[l>>2]|0)+104>>2]|0)>=(k[(k[l>>2]|0)+108>>2]|0))break;q=(k[(k[l>>2]|0)+112>>2]|0)+(k[(k[l>>2]|0)+104>>2]<<4)|0;a=k[q+4>>2]|0;if((a|0)>0|(a|0)==0&(k[q>>2]|0)>>>0>0){o=4;break}q=(k[l>>2]|0)+104|0;k[q>>2]=(k[q>>2]|0)+1}if((o|0)==4){k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}q=Fl(k[b>>2]|0,(k[l>>2]|0)+4|0)|0;k[m>>2]=q;do if((k[m>>2]|0)==100){k[f>>2]=0;k[j>>2]=k[(k[l>>2]|0)+4+52>>2];k[d>>2]=k[(k[l>>2]|0)+4+48>>2];k[e>>2]=0;do if(k[(k[l>>2]|0)+76>>2]|0){a=k[l>>2]|0;if((k[(k[l>>2]|0)+80>>2]|0)<(k[(k[l>>2]|0)+4+44>>2]|0))a=k[a+80>>2]|0;else a=k[a+4+44>>2]|0;k[i>>2]=a;q=oR(k[(k[l>>2]|0)+76>>2]|0,k[(k[l>>2]|0)+4+40>>2]|0,k[i>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)>=0){if(k[h>>2]|0)break;if((k[(k[l>>2]|0)+4+44>>2]|0)<=(k[(k[l>>2]|0)+80>>2]|0))break}k[(k[l>>2]|0)+88>>2]=1;k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}while(0);if(Vq(k[l>>2]|0,2)|0){k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}dS(k[(k[l>>2]|0)+112>>2]|0,0,k[(k[l>>2]|0)+108>>2]<<4|0)|0;k[g>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[j>>2]|0)){o=32;break}q=n;k[q>>2]=0;k[q+4>>2]=0;q=im((k[d>>2]|0)+(k[f>>2]|0)|0,n)|0;k[f>>2]=(k[f>>2]|0)+q;switch(k[e>>2]|0){case 0:{q=k[(k[l>>2]|0)+112>>2]|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=1;k[g>>2]=0;continue a}case 1:{q=n;i=k[q+4>>2]|0;if((i|0)>0|(i|0)==0&(k[q>>2]|0)>>>0>1){q=(k[(k[l>>2]|0)+112>>2]|0)+16|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L}k[e>>2]=2;break}case 2:break;default:{k[g>>2]=k[n>>2];if(Vq(k[l>>2]|0,(k[g>>2]|0)+2|0)|0)break a;q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=2;continue a}}q=n;if((k[q>>2]|0)==0&(k[q+4>>2]|0)==0){k[e>>2]=0;continue}q=n;if((k[q>>2]|0)==1&(k[q+4>>2]|0)==0){k[e>>2]=3;continue}else{q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)+8|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;q=(k[(k[l>>2]|0)+112>>2]|0)+8|0;i=q;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;continue}}if((o|0)==32){k[(k[l>>2]|0)+104>>2]=0;k[m>>2]=0;break}k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}else k[(k[l>>2]|0)+88>>2]=1;while(0);k[c>>2]=k[m>>2];q=k[c>>2]|0;r=p;return q|0}function Sq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return k[(k[b>>2]|0)+88>>2]|0}function Tq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{we(k[d>>2]|0,k[(k[e>>2]|0)+4+40>>2]|0,k[(k[e>>2]|0)+4+44>>2]|0,-1);r=f;return 0}case 1:{d=k[d>>2]|0;if(k[(k[e>>2]|0)+104>>2]|0){te(d,(k[(k[e>>2]|0)+104>>2]|0)-1|0);r=f;return 0}else{we(d,25451,-1,0);r=f;return 0}}case 2:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)|0;ue(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}case 3:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)+8|0;ue(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}default:{te(k[d>>2]|0,k[(k[e>>2]|0)+84>>2]|0);r=f;return 0}}return 0}function Uq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+96|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;do if((k[e>>2]|0)>(k[(k[d>>2]|0)+108>>2]|0)){a=Vd(k[(k[d>>2]|0)+112>>2]|0,k[e>>2]<<4)|0;k[f>>2]=a;if(k[f>>2]|0){dS((k[f>>2]|0)+(k[(k[d>>2]|0)+108>>2]<<4)|0,0,(k[e>>2]|0)-(k[(k[d>>2]|0)+108>>2]|0)<<4|0)|0;k[(k[d>>2]|0)+112>>2]=k[f>>2];k[(k[d>>2]|0)+108>>2]=k[e>>2];break}k[c>>2]=7;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=0;c=Sd(16)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[j>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[(k[j>>2]|0)+4>>2]=1;k[h>>2]=0;while(1){if(k[l>>2]|0)break;if((k[h>>2]|0)>=(k[e>>2]|0))break;k[m>>2]=k[(k[f>>2]|0)+(k[h>>2]<<2)>>2];c=uR(k[m>>2]|0)|0;k[i>>2]=c;if((k[i>>2]|0)==19?(oR(25728,k[m>>2]|0,19)|0)==0:0)k[(k[j>>2]|0)+4>>2]=1;else n=9;do if((n|0)==9){n=0;if((k[i>>2]|0)==19?(oR(25748,k[m>>2]|0,19)|0)==0:0){k[(k[j>>2]|0)+4>>2]=0;break}if((k[i>>2]|0)>=11?(oR(25768,k[m>>2]|0,11)|0)==0:0){c=fr(k[j>>2]|0,1,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}if((k[i>>2]|0)>=11?(oR(25780,k[m>>2]|0,11)|0)==0:0){c=fr(k[j>>2]|0,0,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}k[l>>2]=1}while(0);k[h>>2]=(k[h>>2]|0)+1}if(k[l>>2]|0){Xq(k[j>>2]|0)|0;k[j>>2]=0}k[k[g>>2]>>2]=k[j>>2];k[d>>2]=k[l>>2];n=k[d>>2]|0;r=o;return n|0}function Xq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return 0}k[c>>2]=k[b>>2];Ud(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);r=d;return 0}function Yq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}d=k[i>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=uR(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Zq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function _q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+80|0;o=A+64|0;B=A+60|0;p=A+56|0;q=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;j=A+32|0;g=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;n=A+8|0;h=A+4|0;m=A;k[B>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=k[B>>2];k[j>>2]=k[k[v>>2]>>2];k[g>>2]=0;k[w>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+12>>2]|0);k[z>>2]=k[w>>2];k[n>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+8>>2]|0);while(1){if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[25563+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))a=((l[k[w>>2]>>0]|0)&192|0)==128;else a=0;b=k[g>>2]|0;if(!a)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(b<<6)+(63&(l[B>>0]|0))}if(((b|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if($q(k[j>>2]|0,k[g>>2]|0)|0)break;k[z>>2]=k[w>>2]}if((k[z>>2]|0)>>>0>=(k[n>>2]|0)>>>0){k[o>>2]=101;B=k[o>>2]|0;r=A;return B|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0)|0)>=((k[(k[v>>2]|0)+24>>2]|0)-4|0)){B=Vd(k[(k[v>>2]|0)+20>>2]|0,(k[(k[v>>2]|0)+24>>2]|0)+64|0)|0;k[m>>2]=B;if(!(k[m>>2]|0)){a=20;break}k[y>>2]=(k[m>>2]|0)+((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0));k[(k[v>>2]|0)+20>>2]=k[m>>2];B=(k[v>>2]|0)+24|0;k[B>>2]=(k[B>>2]|0)+64}k[x>>2]=k[w>>2];B=ar(k[g>>2]|0,k[(k[j>>2]|0)+4>>2]|0)|0;k[h>>2]=B;do if(k[h>>2]|0){a=k[h>>2]|0;if((k[h>>2]|0)<128){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=a;break}b=k[h>>2]|0;if((a|0)<2048){c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=192+(b>>6&31);c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}a=k[h>>2]|0;if((b|0)<65536){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=224+(a>>12&15);B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}else{c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=240+(a>>18&7);c=128+(k[h>>2]>>12&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}}while(0);if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0){a=43;break}B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[25563+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))b=((l[k[w>>2]>>0]|0)&192|0)==128;else b=0;a=k[g>>2]|0;if(!b)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(a<<6)+(63&(l[B>>0]|0))}if(((a|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if($q(k[j>>2]|0,k[g>>2]|0)|0)continue;if(!(br(k[g>>2]|0)|0)){a=43;break}}if((a|0)==20){k[o>>2]=7;B=k[o>>2]|0;r=A;return B|0}else if((a|0)==43){k[(k[v>>2]|0)+12>>2]=(k[w>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[p>>2]>>2]=k[(k[v>>2]|0)+20>>2];k[k[q>>2]>>2]=(k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0);k[k[s>>2]>>2]=(k[z>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[t>>2]>>2]=(k[x>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);z=(k[v>>2]|0)+16|0;B=k[z>>2]|0;k[z>>2]=B+1;k[k[u>>2]>>2]=B;k[o>>2]=0;B=k[o>>2]|0;r=A;return B|0}return 0}function $q(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=dr(k[d>>2]|0)|0;a=a^(er(k[e>>2]|0,k[d>>2]|0)|0);r=c;return a|0}function ar(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=r;r=r+48|0;c=o+32|0;d=o+28|0;n=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;i=o+8|0;e=o+4|0;j=o;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[c>>2];b=k[c>>2]|0;if((k[c>>2]|0)<128){if(!((b|0)>=65&(k[c>>2]|0)<=90)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+32;n=k[n>>2]|0;r=o;return n|0}if((b|0)>=65536){if(!((k[c>>2]|0)>=66560&(k[c>>2]|0)<66600)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+40;n=k[n>>2]|0;r=o;return n|0}k[f>>2]=162;k[g>>2]=0;k[h>>2]=-1;while(1){if((k[f>>2]|0)<(k[g>>2]|0))break;k[i>>2]=((k[f>>2]|0)+(k[g>>2]|0)|0)/2|0;k[e>>2]=(k[c>>2]|0)-(m[9798+(k[i>>2]<<2)>>1]|0);b=k[i>>2]|0;if((k[e>>2]|0)>=0){k[h>>2]=b;k[g>>2]=(k[i>>2]|0)+1;continue}else{k[f>>2]=b-1;continue}}if(((k[h>>2]|0)>=0?(k[j>>2]=9798+(k[h>>2]<<2),(k[c>>2]|0)<((m[k[j>>2]>>1]|0)+(l[(k[j>>2]|0)+3>>0]|0)|0)):0)?0==(1&(l[(k[j>>2]|0)+2>>0]|0)&((m[k[j>>2]>>1]|0)^k[c>>2])|0):0)k[n>>2]=(k[c>>2]|0)+(m[10450+((l[(k[j>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(k[d>>2]|0)){n=k[n>>2]|0;r=o;return n|0}j=cr(k[n>>2]|0)|0;k[n>>2]=j;n=k[n>>2]|0;r=o;return n|0}function br(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=134389727;k[d>>2]=221688;if((k[b>>2]|0)<768|(k[b>>2]|0)>817){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}if((k[b>>2]|0)<800)b=k[c>>2]&1<<(k[b>>2]|0)-768;else b=k[d>>2]&1<<(k[b>>2]|0)-768-32;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function cr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0;o=r;r=r+336|0;d=o+20|0;f=o+24|0;e=o+226|0;n=o+16|0;j=o+12|0;g=o+8|0;h=o+4|0;l=o;k[d>>2]=a;bS(f|0,10604,202)|0;a=e;b=25627;c=a+101|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[n>>2]=k[d>>2]<<3|7;k[j>>2]=0;k[g>>2]=100;k[h>>2]=0;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break;k[l>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;a=k[l>>2]|0;if((k[n>>2]|0)>>>0>=(m[f+(k[l>>2]<<1)>>1]|0)>>>0){k[j>>2]=a;k[h>>2]=(k[l>>2]|0)+1;continue}else{k[g>>2]=a-1;continue}}if((k[d>>2]|0)>((m[f+(k[j>>2]<<1)>>1]>>3)+(m[f+(k[j>>2]<<1)>>1]&7)|0)){n=k[d>>2]|0;r=o;return n|0}else{n=i[e+(k[j>>2]|0)>>0]|0;r=o;return n|0}return 0}function dr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;f=i+12|0;d=i+8|0;e=i+4|0;g=i;k[c>>2]=a;a=k[c>>2]|0;if((k[c>>2]|0)<128){k[b>>2]=(k[2384+(a>>5<<2)>>2]&1<<(k[c>>2]&31)|0)==0&1;h=k[b>>2]|0;r=i;return h|0}if((a|0)>=4194304){k[b>>2]=1;h=k[b>>2]|0;r=i;return h|0}k[h>>2]=k[c>>2]<<10|1023;k[f>>2]=0;k[d>>2]=405;k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[e>>2]|0))break;k[g>>2]=((k[d>>2]|0)+(k[e>>2]|0)|0)/2|0;a=k[g>>2]|0;if((k[h>>2]|0)>>>0>=(k[2400+(k[g>>2]<<2)>>2]|0)>>>0){k[f>>2]=a;k[e>>2]=(k[g>>2]|0)+1;continue}else{k[d>>2]=a-1;continue}}k[b>>2]=(k[c>>2]|0)>>>0>=(((k[2400+(k[f>>2]<<2)>>2]|0)>>>10)+(k[2400+(k[f>>2]<<2)>>2]&1023)|0)>>>0&1;h=k[b>>2]|0;r=i;return h|0}function er(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;c=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[e>>2]=b;a:do if((k[(k[c>>2]|0)+8>>2]|0)>0){k[f>>2]=k[(k[c>>2]|0)+12>>2];k[h>>2]=0;k[g>>2]=(k[(k[c>>2]|0)+8>>2]|0)-1;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break a;k[i>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;if((k[e>>2]|0)==(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0))break;c=k[i>>2]|0;if((k[e>>2]|0)>(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0)){k[h>>2]=c+1;continue}else{k[g>>2]=c-1;continue}}k[d>>2]=1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function fr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;g=t+48|0;h=t+44|0;i=t+40|0;e=t+36|0;u=t+32|0;q=t+28|0;s=t+24|0;n=t+20|0;f=t+16|0;j=t+12|0;p=t+8|0;m=t+4|0;o=t;k[h>>2]=a;k[i>>2]=b;k[e>>2]=c;k[u>>2]=d;k[q>>2]=k[e>>2];k[s>>2]=(k[q>>2]|0)+(k[u>>2]|0);k[f>>2]=0;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[25563+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=dr(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if(br(k[n>>2]|0)|0)continue;k[f>>2]=(k[f>>2]|0)+1}if(k[f>>2]|0){u=Vd(k[(k[h>>2]|0)+12>>2]|0,(k[(k[h>>2]|0)+8>>2]|0)+(k[f>>2]|0)<<2)|0;k[j>>2]=u;if(!(k[j>>2]|0)){k[g>>2]=7;u=k[g>>2]|0;r=t;return u|0}k[p>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=k[e>>2];while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[25563+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=dr(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if(br(k[n>>2]|0)|0)continue;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;if((k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]|0)>=(k[n>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=k[p>>2];while(1){if((k[o>>2]|0)<=(k[m>>2]|0))break;k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]=k[(k[j>>2]|0)+((k[o>>2]|0)-1<<2)>>2];k[o>>2]=(k[o>>2]|0)+-1}k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]=k[n>>2];k[p>>2]=(k[p>>2]|0)+1}k[(k[h>>2]|0)+12>>2]=k[j>>2];k[(k[h>>2]|0)+8>>2]=k[p>>2]}k[g>>2]=0;u=k[g>>2]|0;r=t;return u|0}function gr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!((k[d>>2]|0)!=0?(k[(k[f>>2]|0)+48>>2]|0)==0:0)){h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}h=k[d>>2]|0;h=Ch(0,h,((h|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+48>>2]=h;k[(k[f>>2]|0)+52>>2]=k[e>>2];h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}function hr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+68>>0]|0|0)==2|0}function ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=r;r=r+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;k[j>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;i[k[f>>2]>>0]=0;d=ec[k[(k[j>>2]|0)+36>>2]&255](k[j>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function jr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=cu(k[b>>2]|0)|0;k[c>>2]=a;if(!(i[k[c>>2]>>0]|0)){r=d;return}i[k[c>>2]>>0]=0;if((du(k[b>>2]|0)|0)<=1){r=d;return}eu(k[c>>2]|0)|0;r=d;return}function kr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=r;r=r+112|0;q=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;m=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;h=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;n=K+24|0;F=K+20|0;p=K+16|0;l=K+12|0;o=K+8|0;y=K+4|0;z=K;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[L>>2]=e;k[w>>2]=f;k[x>>2]=g;k[C>>2]=0;k[D>>2]=0;k[G>>2]=0;k[A>>2]=0;k[E>>2]=0;k[I>>2]=0;k[B>>2]=0;k[H>>2]=(k[L>>2]&1|0)==0&1;c=Ct()|0;k[n>>2]=c;k[F>>2]=4096;k[p>>2]=0;k[l>>2]=0;c=(Dt(k[s>>2]|0)|0)+7&-8;k[h>>2]=c;k[k[t>>2]>>2]=0;do if(((k[L>>2]&2|0)!=0?(k[A>>2]=1,(k[u>>2]|0)!=0):0)?(i[k[u>>2]>>0]|0)!=0:0){L=Ah(0,k[u>>2]|0)|0;k[I>>2]=L;if(k[I>>2]|0){L=Tf(k[I>>2]|0)|0;k[B>>2]=L;k[u>>2]=0;break}k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}while(0);if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[B>>2]=(k[(k[s>>2]|0)+8>>2]|0)+1;L=k[B>>2]<<1;L=Mh(0,L,((L|0)<0)<<31>>31)|0;k[I>>2]=L;if(!(k[I>>2]|0)){k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}i[k[I>>2]>>0]=0;L=ir(k[s>>2]|0,k[u>>2]|0,k[B>>2]|0,k[I>>2]|0)|0;k[D>>2]=L;L=Tf(k[I>>2]|0)|0;k[B>>2]=L;L=(Tf(k[u>>2]|0)|0)+1|0;L=(k[u>>2]|0)+L|0;k[p>>2]=L;k[o>>2]=L;while(1){e=k[o>>2]|0;if(!(i[k[o>>2]>>0]|0))break;L=(Tf(e)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L;L=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L}k[l>>2]=e+1-(k[p>>2]|0);if((k[D>>2]|0)==0?((k[B>>2]|0)+8|0)>(k[(k[s>>2]|0)+8>>2]|0):0){L=yt(51006)|0;k[D>>2]=L}if(k[D>>2]|0){bg(0,k[I>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}}L=ug(224+((k[n>>2]|0)+7&-8)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)+(k[h>>2]<<1)+(k[B>>2]|0)+1+(k[l>>2]|0)+(k[B>>2]|0)+8+2+(k[B>>2]|0)+4+2|0,0)|0;k[m>>2]=L;if(!(k[m>>2]|0)){bg(0,k[I>>2]|0);k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}k[C>>2]=k[m>>2];L=(k[m>>2]|0)+224|0;k[m>>2]=L;k[(k[C>>2]|0)+212>>2]=L;L=(k[m>>2]|0)+((k[n>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+64>>2]=L;L=(k[m>>2]|0)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+72>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+68>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+176>>2]=L;if(k[I>>2]|0){L=(k[m>>2]|0)+((k[B>>2]|0)+1+(k[l>>2]|0))|0;k[m>>2]=L;k[(k[C>>2]|0)+180>>2]=L;bS(k[(k[C>>2]|0)+176>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;if(k[l>>2]|0)bS((k[(k[C>>2]|0)+176>>2]|0)+((k[B>>2]|0)+1)|0,k[p>>2]|0,k[l>>2]|0)|0;bS(k[(k[C>>2]|0)+180>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;e=(k[(k[C>>2]|0)+180>>2]|0)+(k[B>>2]|0)|0;d=25989;a=e+10|0;do{i[e>>0]=i[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(a|0));k[(k[C>>2]|0)+220>>2]=(k[(k[C>>2]|0)+180>>2]|0)+((k[B>>2]|0)+8+1);bS(k[(k[C>>2]|0)+220>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;L=(k[(k[C>>2]|0)+220>>2]|0)+(k[B>>2]|0)|0;i[L>>0]=i[25999]|0;i[L+1>>0]=i[26e3]|0;i[L+2>>0]=i[26001]|0;i[L+3>>0]=i[26002]|0;i[L+4>>0]=i[26003]|0;bg(0,k[I>>2]|0)}k[k[C>>2]>>2]=k[s>>2];k[(k[C>>2]|0)+152>>2]=k[w>>2];do if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[y>>2]=0;L=cs(k[s>>2]|0,k[(k[C>>2]|0)+176>>2]|0,k[(k[C>>2]|0)+64>>2]|0,k[w>>2]|0,y)|0;k[D>>2]=L;k[E>>2]=k[y>>2]&1;if(!(k[D>>2]|0)){L=ls(k[(k[C>>2]|0)+64>>2]|0)|0;k[z>>2]=L;do if((k[E>>2]|0)==0?(ks(k[C>>2]|0),(k[F>>2]|0)>>>0<(k[(k[C>>2]|0)+156>>2]|0)>>>0):0)if((k[(k[C>>2]|0)+156>>2]|0)>>>0>8192){k[F>>2]=8192;break}else{k[F>>2]=k[(k[C>>2]|0)+156>>2];break}while(0);L=(Sf(k[u>>2]|0,26005,0)|0)&255;i[(k[C>>2]|0)+14>>0]=L;if((k[z>>2]&8192|0)==0?(Sf(k[u>>2]|0,26012,0)|0)==0:0)break;k[w>>2]=k[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){k[G>>2]=1;i[(k[C>>2]|0)+17>>0]=1;i[(k[C>>2]|0)+18>>0]=4;i[(k[C>>2]|0)+14>>0]=1;k[E>>2]=k[w>>2]&1}if(!(k[D>>2]|0)){L=dj(k[C>>2]|0,F,-1)|0;k[D>>2]=L}if(!(k[D>>2]|0)){k[v>>2]=(k[v>>2]|0)+7&-8;L=Ft(k[F>>2]|0,k[v>>2]|0,((k[A>>2]|0)!=0^1)&1,(k[A>>2]|0)!=0^1?186:0,k[C>>2]|0,k[(k[C>>2]|0)+212>>2]|0)|0;k[D>>2]=L}if(k[D>>2]|0){yr(k[(k[C>>2]|0)+64>>2]|0);jj(k[(k[C>>2]|0)+208>>2]|0);Ud(k[C>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}i[(k[C>>2]|0)+6>>0]=k[H>>2];k[(k[C>>2]|0)+164>>2]=1073741823;i[(k[C>>2]|0)+13>>0]=k[G>>2];i[(k[C>>2]|0)+4>>0]=k[G>>2];i[(k[C>>2]|0)+19>>0]=i[(k[C>>2]|0)+13>>0]|0;i[(k[C>>2]|0)+16>>0]=k[A>>2];i[(k[C>>2]|0)+15>>0]=k[E>>2];i[(k[C>>2]|0)+7>>0]=i[(k[C>>2]|0)+13>>0]|0;if(!(i[(k[C>>2]|0)+7>>0]|0)){i[(k[C>>2]|0)+8>>0]=1;i[(k[C>>2]|0)+9>>0]=0;i[(k[C>>2]|0)+12>>0]=2;i[(k[C>>2]|0)+11>>0]=34;i[(k[C>>2]|0)+10>>0]=2}j[(k[C>>2]|0)+148>>1]=k[v>>2];L=(k[C>>2]|0)+168|0;k[L>>2]=-1;k[L+4>>2]=-1;ks(k[C>>2]|0);if(k[H>>2]|0){if(k[A>>2]|0)i[(k[C>>2]|0)+5>>0]=4}else i[(k[C>>2]|0)+5>>0]=2;k[(k[C>>2]|0)+204>>2]=k[x>>2];k[k[t>>2]>>2]=k[C>>2];k[q>>2]=0;L=k[q>>2]|0;r=K;return L|0}function lr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=f;c=k[b+4>>2]|0;a=(k[e>>2]|0)+136|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;kj(k[e>>2]|0);r=d;return}function mr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;dS(k[f>>2]|0,0,k[e>>2]|0)|0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=os(k[(k[d>>2]|0)+64>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;k[g>>2]=a;k[g>>2]=(k[g>>2]|0)==522?0:a;g=k[g>>2]|0;r=h;return g|0}function nr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=Bt((k[(k[c>>2]|0)+4>>2]|0)+380|0)|0;r=b;return a|0}function or(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[(k[d>>2]|0)+184>>2]=k[h>>2];k[(k[d>>2]|0)+188>>2]=k[g>>2];if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){r=f;return}k[e>>2]=(k[d>>2]|0)+184;bt(k[(k[d>>2]|0)+64>>2]|0,15,k[e>>2]|0);r=f;return}function pr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+15>>0]|0}function qr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[k[b>>2]>>0]|0)<<24|(l[(k[b>>2]|0)+1>>0]|0)<<16|(l[(k[b>>2]|0)+2>>0]|0)<<8|(l[(k[b>>2]|0)+3>>0]|0)|0}function rr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+208>>2];gk();sr(k[b>>2]|0);i[(k[b>>2]|0)+4>>0]=0;tr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[c>>2]|0)|0;k[(k[b>>2]|0)+216>>2]=0;hj(k[b>>2]|0);a=k[b>>2]|0;if(i[(k[b>>2]|0)+16>>0]|0)ur(a);else{if(k[k[a+68>>2]>>2]|0){a=k[b>>2]|0;wr(a,vr(k[b>>2]|0)|0)|0}xr(k[b>>2]|0)}hk();yr(k[(k[b>>2]|0)+68>>2]|0);yr(k[(k[b>>2]|0)+64>>2]|0);jj(k[c>>2]|0);zr(k[(k[b>>2]|0)+212>>2]|0);Ud(k[b>>2]|0);r=d;return 0}function sr(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+144>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+12>>2];Ud(k[b>>2]|0);k[b>>2]=k[c>>2]}r=d;return}function tr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;if(!(k[e>>2]|0)){d=k[n>>2]|0;r=o;return d|0}k[m>>2]=0;d=$s(k[(k[e>>2]|0)+4>>2]|0,4)|0;k[n>>2]=d;do if(!(k[n>>2]|0)){if(!(l[(k[e>>2]|0)+43>>0]|0))i[(k[e>>2]|0)+43>>0]=1;d=at(k[e>>2]|0,0,0,0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[j>>2]=-1;bt(k[(k[e>>2]|0)+4>>2]|0,10,j);if((k[j>>2]|0)!=1){k[m>>2]=1;break}d=(k[e>>2]|0)+16|0;b=k[d+4>>2]|0;if((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>=0)ct(k[e>>2]|0,0,0)}}while(0);dt(k[e>>2]|0,k[m>>2]|0);yr(k[(k[e>>2]|0)+8>>2]|0);if(k[m>>2]|0){gk();Hr(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0,0)|0;hk()}Ud(k[(k[e>>2]|0)+32>>2]|0);Ud(k[e>>2]|0);d=k[n>>2]|0;r=o;return d|0}function ur(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+8|0;c=e+4|0;b=e;k[d>>2]=a;zj(k[(k[d>>2]|0)+60>>2]|0);k[(k[d>>2]|0)+60>>2]=0;Cr(k[d>>2]|0);f=(Lr(k[d>>2]|0)|0)!=0;a=k[d>>2]|0;if(!f){if(!(i[a+4>>0]|0)){if(k[k[(k[d>>2]|0)+64>>2]>>2]|0)a=ls(k[(k[d>>2]|0)+64>>2]|0)|0;else a=0;k[b>>2]=a;if(!(0!=(k[b>>2]&2048|0)?1==(l[(k[d>>2]|0)+5>>0]&5|0):0))yr(k[(k[d>>2]|0)+68>>2]|0);f=Pr(k[d>>2]|0,0)|0;k[c>>2]=f;if((k[c>>2]|0)!=0?(l[(k[d>>2]|0)+17>>0]|0)==6:0)i[(k[d>>2]|0)+18>>0]=5;i[(k[d>>2]|0)+19>>0]=0;i[(k[d>>2]|0)+17>>0]=0}}else{_s(k[a+216>>2]|0);i[(k[d>>2]|0)+17>>0]=0}if(!(k[(k[d>>2]|0)+44>>2]|0)){f=k[d>>2]|0;f=f+80|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+88|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}a=k[d>>2]|0;if(!(l[(k[d>>2]|0)+13>>0]|0)){hj(a);i[(k[d>>2]|0)+19>>0]=0;i[(k[d>>2]|0)+17>>0]=0}else i[(k[d>>2]|0)+17>>0]=(k[k[a+68>>2]>>2]|0)!=0?0:1;k[(k[d>>2]|0)+44>>2]=0;f=k[d>>2]|0;f=f+80|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+88|0;c=f;k[c>>2]=0;f=f+4|0;k[f>>2]=0;f=k[d>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}function vr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(i[(k[b>>2]|0)+7>>0]|0)){a=Fr(k[(k[b>>2]|0)+68>>2]|0,2)|0;k[c>>2]=a}if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=fj(k[(k[b>>2]|0)+68>>2]|0,(k[b>>2]|0)+88|0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function wr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[d>>2]&255;if(!((k[f>>2]|0)==13|(k[f>>2]|0)==10)){f=k[d>>2]|0;r=e;return f|0}k[(k[c>>2]|0)+44>>2]=k[d>>2];i[(k[c>>2]|0)+17>>0]=6;f=k[d>>2]|0;r=e;return f|0}function xr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if((l[(k[b>>2]|0)+17>>0]|0)!=6?(l[(k[b>>2]|0)+17>>0]|0)!=0:0){if((l[(k[b>>2]|0)+17>>0]|0)>=2){gk();Ar(k[b>>2]|0)|0;hk();break}if(!(i[(k[b>>2]|0)+4>>0]|0))Br(k[b>>2]|0,0,0)|0}while(0);ur(k[b>>2]|0);r=c;return}function yr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[k[b>>2]>>2]|0)){r=c;return}bc[k[(k[k[b>>2]>>2]|0)+4>>2]&255](k[b>>2]|0)|0;k[k[b>>2]>>2]=0;r=c;return}function zr(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[160>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function Ar(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;k[e>>2]=0;a=k[c>>2]|0;if((l[(k[c>>2]|0)+17>>0]|0)==6){k[b>>2]=k[a+44>>2];f=k[b>>2]|0;r=g;return f|0}if((l[a+17>>0]|0)<=1){k[b>>2]=0;f=k[b>>2]|0;r=g;return f|0}h=(Lr(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;do if(h){h=ds(a,2,-1)|0;k[e>>2]=h;h=Br(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,0)|0;k[f>>2]=h;if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else{if((k[k[a+68>>2]>>2]|0)!=0?(l[(k[c>>2]|0)+17>>0]|0)!=2:0){h=es(k[c>>2]|0,0)|0;k[e>>2]=h;break}k[d>>2]=l[(k[c>>2]|0)+17>>0];h=Br(k[c>>2]|0,0,0)|0;k[e>>2]=h;if((k[d>>2]|0)>2?(i[(k[c>>2]|0)+16>>0]|0)==0:0){k[(k[c>>2]|0)+44>>2]=4;i[(k[c>>2]|0)+17>>0]=6;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}}while(0);h=wr(k[c>>2]|0,k[e>>2]|0)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function Br(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;d=n+16|0;h=n+12|0;j=n+8|0;m=n+4|0;e=n;k[g>>2]=a;k[d>>2]=b;k[h>>2]=c;k[j>>2]=0;k[m>>2]=0;if((l[(k[g>>2]|0)+17>>0]|0)<2?(l[(k[g>>2]|0)+18>>0]|0)<2:0){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}Cr(k[g>>2]|0);a:do if(k[k[(k[g>>2]|0)+68>>2]>>2]|0){a=(Dr(k[(k[g>>2]|0)+68>>2]|0)|0)!=0;c=k[g>>2]|0;if(a){yr(k[c+68>>2]|0);break}b=k[g>>2]|0;if((l[c+5>>0]|0)==3){e=b+80|0;if(!((k[e>>2]|0)==0&(k[e+4>>2]|0)==0)){e=Er(k[(k[g>>2]|0)+68>>2]|0,0,0)|0;k[j>>2]=e;if((k[j>>2]|0)==0?(l[(k[g>>2]|0)+8>>0]|0)!=0:0){e=Fr(k[(k[g>>2]|0)+68>>2]|0,l[(k[g>>2]|0)+12>>0]|0)|0;k[j>>2]=e}}else k[j>>2]=0;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0;break}do if((l[b+5>>0]|0)!=1){if((l[(k[g>>2]|0)+4>>0]|0)!=0?(l[(k[g>>2]|0)+5>>0]|0)!=5:0)break;k[e>>2]=((i[(k[g>>2]|0)+13>>0]|0)!=0^1)&1;yr(k[(k[g>>2]|0)+68>>2]|0);if(!(k[e>>2]|0))break a;e=Hr(k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+180>>2]|0,l[(k[g>>2]|0)+9>>0]|0)|0;k[j>>2]=e;break a}while(0);if(k[d>>2]|0)c=1;else c=(l[(k[g>>2]|0)+13>>0]|0)!=0;e=Gr(k[g>>2]|0,c&1)|0;k[j>>2]=e;e=(k[g>>2]|0)+80|0;k[e>>2]=0;k[e+4>>2]=0}while(0);zj(k[(k[g>>2]|0)+60>>2]|0);k[(k[g>>2]|0)+60>>2]=0;k[(k[g>>2]|0)+48>>2]=0;if(!(k[j>>2]|0)){e=(Ir(k[g>>2]|0,k[h>>2]|0)|0)!=0;c=k[(k[g>>2]|0)+212>>2]|0;if(e)Jr(c);else Kr(c);pj(k[(k[g>>2]|0)+212>>2]|0,k[(k[g>>2]|0)+28>>2]|0)}if(!(Lr(k[g>>2]|0)|0)){if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)>>>0>(k[(k[g>>2]|0)+28>>2]|0)>>>0:0){e=Nr(k[g>>2]|0,k[(k[g>>2]|0)+28>>2]|0)|0;k[j>>2]=e}}else{e=Mr(k[(k[g>>2]|0)+216>>2]|0)|0;k[m>>2]=e}if((k[j>>2]|0)==0&(k[h>>2]|0)!=0?(k[k[(k[g>>2]|0)+64>>2]>>2]|0)!=0:0){h=Ki(k[(k[g>>2]|0)+64>>2]|0,22,0)|0;k[j>>2]=h;k[j>>2]=(k[j>>2]|0)==12?0:h}do if(!(i[(k[g>>2]|0)+4>>0]|0)){if((Lr(k[g>>2]|0)|0)!=0?(Or(k[(k[g>>2]|0)+216>>2]|0,0)|0)==0:0)break;h=Pr(k[g>>2]|0,1)|0;k[m>>2]=h;i[(k[g>>2]|0)+19>>0]=0}while(0);i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+20>>0]=0;k[f>>2]=(k[j>>2]|0)==0?k[m>>2]|0:k[j>>2]|0;m=k[f>>2]|0;r=n;return m|0}function Cr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+104>>2]|0))break;zj(k[(k[(k[b>>2]|0)+100>>2]|0)+((k[c>>2]|0)*48|0)+16>>2]|0);k[c>>2]=(k[c>>2]|0)+1}if(!((i[(k[b>>2]|0)+4>>0]|0)!=0?(Dr(k[(k[b>>2]|0)+72>>2]|0)|0)==0:0))yr(k[(k[b>>2]|0)+72>>2]|0);Ud(k[(k[b>>2]|0)+100>>2]|0);k[(k[b>>2]|0)+100>>2]=0;k[(k[b>>2]|0)+104>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=d;return}function Dr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[b>>2]>>2]|0)==4028|0}function Er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;a=Yb[k[(k[k[e>>2]>>2]|0)+16>>2]&255](k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=d;return a|0}function Fr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+20>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Gr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+24|0;d=h+20|0;f=h+16|0;e=h+8|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;a=(k[c>>2]|0)+80|0;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){g=k[f>>2]|0;r=h;return g|0}j=(k[c>>2]|0)+168|0;b=k[j+4>>2]|0;a=e;k[a>>2]=k[j>>2];k[a+4>>2]=b;a=e;b=k[(k[c>>2]|0)+68>>2]|0;if((k[d>>2]|0)!=0|(k[a>>2]|0)==0&(k[a+4>>2]|0)==0){j=Er(b,0,0)|0;k[f>>2]=j}else{j=Sg(b,25846,28,0,0)|0;k[f>>2]=j}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+7>>0]|0)==0:0){j=Fr(k[(k[c>>2]|0)+68>>2]|0,16|l[(k[c>>2]|0)+12>>0])|0;k[f>>2]=j}j=e;d=k[j+4>>2]|0;if(!((k[f>>2]|0)==0&((d|0)>0|(d|0)==0&(k[j>>2]|0)>>>0>0))){j=k[f>>2]|0;r=h;return j|0}j=fj(k[(k[c>>2]|0)+68>>2]|0,g)|0;k[f>>2]=j;if(k[f>>2]|0){j=k[f>>2]|0;r=h;return j|0}a=k[g+4>>2]|0;j=e;d=k[j+4>>2]|0;if(!((a|0)>(d|0)|((a|0)==(d|0)?(k[g>>2]|0)>>>0>(k[j>>2]|0)>>>0:0))){j=k[f>>2]|0;r=h;return j|0}j=e;j=Er(k[(k[c>>2]|0)+68>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=h;return j|0}function Hr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=Yb[k[(k[g>>2]|0)+28>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(l[(k[d>>2]|0)+13>>0]|0){if(!(k[e>>2]|0)){k[c>>2]=0;break}if(k[k[(k[d>>2]|0)+64>>2]>>2]|0){a=(Vr(k[(k[d>>2]|0)+212>>2]|0)|0)>=25&1;k[c>>2]=a;break}else{k[c>>2]=0;break}}else k[c>>2]=1;while(0);r=f;return k[c>>2]|0}function Jr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[k[b>>2]>>2]|0;k[c>>2]=a;if(!a)break;qj(k[c>>2]|0)}r=d;return}function Kr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-13;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Lr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+216>>2]|0)!=0|0}function Mr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+44>>0]|0)){r=c;return 0}Ur(k[b>>2]|0,0,1);i[(k[b>>2]|0)+44>>0]=0;k[(k[b>>2]|0)+104>>2]=0;i[(k[b>>2]|0)+47>>0]=0;r=c;return 0}function Nr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;h=j+24|0;e=j+8|0;f=j;i=j+20|0;g=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){i=k[h>>2]|0;r=j;return i|0}if((l[(k[c>>2]|0)+17>>0]|0|0)<4?(l[(k[c>>2]|0)+17>>0]|0|0)!=0:0){i=k[h>>2]|0;r=j;return i|0}k[i>>2]=k[(k[c>>2]|0)+160>>2];b=fj(k[(k[c>>2]|0)+64>>2]|0,e)|0;k[h>>2]=b;b=k[i>>2]|0;b=kS(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,0)|0;a=f;k[a>>2]=b;k[a+4>>2]=L;if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}b=e;a=f;if(!((k[b>>2]|0)!=(k[a>>2]|0)?1:(k[b+4>>2]|0)!=(k[a+4>>2]|0))){i=k[h>>2]|0;r=j;return i|0}b=e;n=k[b+4>>2]|0;a=f;m=k[a+4>>2]|0;if(!((n|0)>(m|0)|((n|0)==(m|0)?(k[b>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){b=e;m=k[i>>2]|0;m=$R(k[b>>2]|0,k[b+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;b=L;n=f;a=k[n+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?m>>>0<=(k[n>>2]|0)>>>0:0)){k[g>>2]=k[(k[c>>2]|0)+208>>2];dS(k[g>>2]|0,0,k[i>>2]|0)|0;a=k[(k[c>>2]|0)+64>>2]|0;g=k[g>>2]|0;m=k[i>>2]|0;n=k[i>>2]|0;n=_R(k[f>>2]|0,k[f+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Sg(a,g,m,n,L)|0;k[h>>2]=n}}else{n=f;n=Er(k[(k[c>>2]|0)+64>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[h>>2]=n}if(k[h>>2]|0){n=k[h>>2]|0;r=j;return n|0}k[(k[c>>2]|0)+36>>2]=k[d>>2];n=k[h>>2]|0;r=j;return n|0}function Or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=k[c>>2]|0;if((k[d>>2]|0)>0){Sr(b,3+(j[(k[c>>2]|0)+40>>1]|0)|0);i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=(l[b+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}}if(!(i[(k[c>>2]|0)+43>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+43>>0]=0;if(Rr(k[c>>2]|0,3+(j[(k[c>>2]|0)+40>>1]|0)|0)|0)i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=(l[(k[c>>2]|0)+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}function Pr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Qr(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if((l[(k[c>>2]|0)+18>>0]|0|0)==5){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+32>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function Rr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[d>>2]|0)+43>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{a=Tr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,1,6)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[c>>2]|0)+43>>0]|0){r=e;return}Tr(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0,1,5)|0;r=e;return}function Tr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[k[i>>2]>>2]|0)+56>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function Ur(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(i[(k[d>>2]|0)+43>>0]|0){r=g;return}Tr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0,9)|0;r=g;return}function Vr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e+8|0;c=e+4|0;b=e;k[f>>2]=a;k[c>>2]=0;a=mj(k[f>>2]|0)|0;k[b>>2]=a;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=k[(k[d>>2]|0)+32>>2]}if(!(k[b>>2]|0)){f=0;r=e;return f|0}d=k[c>>2]|0;d=kS(d|0,((d|0)<0)<<31>>31|0,100,0)|0;f=k[b>>2]|0;f=iS(d|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;r=e;return f|0}function Wr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];as(k[c>>2]|0);r=b;return 0}function Xr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=r;r=r+64|0;t=q+52|0;s=q+48|0;g=q+44|0;h=q+8|0;n=q+40|0;p=q+36|0;m=q+32|0;i=q+28|0;o=q+24|0;f=q;j=q+20|0;l=q+16|0;k[t>>2]=a;k[s>>2]=b;k[g>>2]=c;c=h;k[c>>2]=d;k[c+4>>2]=e;k[n>>2]=k[t>>2];k[p>>2]=k[s>>2];k[m>>2]=k[g>>2];c=(k[n>>2]|0)+40|0;a=h;b=h;a:do if(((k[c>>2]|0)!=(k[a>>2]|0)?1:(k[c+4>>2]|0)!=(k[a+4>>2]|0))|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){t=f;k[t>>2]=0;k[t+4>>2]=0;k[o>>2]=k[(k[n>>2]|0)+16>>2];while(1){if(!(k[o>>2]|0))break a;a=f;s=k[(k[n>>2]|0)+4>>2]|0;s=$R(k[a>>2]|0,k[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=L;t=h;b=k[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(k[t>>2]|0)>>>0:0)))break a;s=k[(k[n>>2]|0)+4>>2]|0;t=f;s=$R(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=f;k[t>>2]=s;k[t+4>>2]=L;k[o>>2]=k[k[o>>2]>>2]}}else k[o>>2]=k[(k[n>>2]|0)+40+8>>2];while(0);s=h;t=k[(k[n>>2]|0)+4>>2]|0;t=jS(k[s>>2]|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;k[i>>2]=t;do{k[j>>2]=(k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0);if((k[m>>2]|0)<((k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))d=k[m>>2]|0;else d=(k[(k[n>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[l>>2]=d;bS(k[p>>2]|0,(k[o>>2]|0)+4+(k[i>>2]|0)|0,k[l>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+(k[l>>2]|0);k[m>>2]=(k[m>>2]|0)-(k[j>>2]|0);k[i>>2]=0;if((k[m>>2]|0)<0)break;t=k[k[o>>2]>>2]|0;k[o>>2]=t}while((t|0)!=0&(k[m>>2]|0)>0);if(!(k[o>>2]|0)){m=0;t=0;s=k[n>>2]|0;s=s+40|0;p=s;k[p>>2]=m;s=s+4|0;k[s>>2]=t;s=k[o>>2]|0;t=k[n>>2]|0;t=t+40|0;t=t+8|0;k[t>>2]=s;r=q;return 0}t=h;m=k[g>>2]|0;m=$R(k[t>>2]|0,k[t+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;t=L;s=k[n>>2]|0;s=s+40|0;p=s;k[p>>2]=m;s=s+4|0;k[s>>2]=t;s=k[o>>2]|0;t=k[n>>2]|0;t=t+40|0;t=t+8|0;k[t>>2]=s;r=q;return 0}function Yr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;p=u+52|0;f=u+48|0;g=u+44|0;q=u+40|0;s=u;t=u+36|0;l=u+32|0;o=u+28|0;h=u+24|0;m=u+20|0;i=u+16|0;j=u+12|0;n=u+8|0;k[f>>2]=a;k[g>>2]=b;k[q>>2]=c;b=s;k[b>>2]=d;k[b+4>>2]=e;k[t>>2]=k[f>>2];k[l>>2]=k[q>>2];k[o>>2]=k[g>>2];if((k[(k[t>>2]|0)+8>>2]|0)>0?(e=k[q>>2]|0,a=s,a=$R(e|0,((e|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0,e=L,b=k[(k[t>>2]|0)+8>>2]|0,c=((b|0)<0)<<31>>31,(e|0)>(c|0)|(e|0)==(c|0)&a>>>0>b>>>0):0){t=bs(k[t>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){t=s;t=Sg(k[f>>2]|0,k[g>>2]|0,k[q>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;k[h>>2]=t}k[p>>2]=k[h>>2];t=k[p>>2]|0;r=u;return t|0}while(1){if((k[l>>2]|0)<=0){d=18;break}k[m>>2]=k[(k[t>>2]|0)+24+8>>2];h=(k[t>>2]|0)+24|0;b=k[(k[t>>2]|0)+4>>2]|0;b=jS(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[i>>2]=b;if((k[l>>2]|0)<((k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))d=k[l>>2]|0;else d=(k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[j>>2]=d;if(!(k[i>>2]|0)){b=Sd(12+((k[(k[t>>2]|0)+4>>2]|0)-8)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){d=12;break}k[k[n>>2]>>2]=0;d=k[n>>2]|0;if(k[m>>2]|0)k[k[m>>2]>>2]=d;else k[(k[t>>2]|0)+16>>2]=d;k[(k[t>>2]|0)+24+8>>2]=k[n>>2]}bS((k[(k[t>>2]|0)+24+8>>2]|0)+4+(k[i>>2]|0)|0,k[o>>2]|0,k[j>>2]|0)|0;k[o>>2]=(k[o>>2]|0)+(k[j>>2]|0);k[l>>2]=(k[l>>2]|0)-(k[j>>2]|0);h=k[j>>2]|0;b=(k[t>>2]|0)+24|0;a=b;h=$R(k[a>>2]|0,k[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;k[b>>2]=h;k[b+4>>2]=L}if((d|0)==12){k[p>>2]=3082;t=k[p>>2]|0;r=u;return t|0}else if((d|0)==18){q=k[q>>2]|0;s=$R(q|0,((q|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=s;k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}return 0}function Zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e;d=e+8|0;k[g>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[d>>2]=k[g>>2];a=f;if(!((k[a>>2]|0)==0&(k[a+4>>2]|0)==0)){r=e;return 0}as(k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+24+8>>2]=0;g=(k[d>>2]|0)+24|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[d>>2]|0)+40+8>>2]=0;g=(k[d>>2]|0)+40|0;k[g>>2]=0;k[g+4>>2]=0;r=e;return 0}function _r(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function $r(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+24|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function as(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+16>>2]=0;r=e;return}function bs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+112|0;d=l+96|0;j=l+92|0;i=l+88|0;e=l+8|0;g=l+84|0;f=l;h=l+80|0;k[d>>2]=a;k[i>>2]=k[d>>2];a=e;b=k[d>>2]|0;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));a=k[d>>2]|0;c=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));c=cs(k[e+60>>2]|0,k[e+64>>2]|0,k[i>>2]|0,k[e+56>>2]|0,0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[g>>2]=k[e+4>>2];c=f;k[c>>2]=0;k[c+4>>2]=0;k[h>>2]=k[e+16>>2];while(1){if(!(k[h>>2]|0))break;m=f;b=k[g>>2]|0;b=$R(k[m>>2]|0,k[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;m=L;c=e+24|0;a=k[c+4>>2]|0;if((m|0)>(a|0)|((m|0)==(a|0)?b>>>0>(k[c>>2]|0)>>>0:0)){c=e+24|0;m=f;m=_R(k[c>>2]|0,k[c+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m}m=f;m=Sg(k[i>>2]|0,(k[h>>2]|0)+4|0,k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0)break;c=k[g>>2]|0;m=f;c=$R(k[m>>2]|0,k[m+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;m=f;k[m>>2]=c;k[m+4>>2]=L;k[h>>2]=k[k[h>>2]>>2]}if(!(k[j>>2]|0))as(e)}if(!(k[j>>2]|0)){m=k[j>>2]|0;r=l;return m|0}yr(k[i>>2]|0);a=k[d>>2]|0;b=e;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));m=k[j>>2]|0;r=l;return m|0}function cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=hc[k[(k[m>>2]|0)+24>>2]&255](k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]&556927,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function ds(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l+24|0;d=l+20|0;e=l+16|0;j=l+12|0;f=l+8|0;g=l+4|0;i=l;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[j>>2]=k[(k[h>>2]|0)+44>>2];if(k[j>>2]|0){j=k[j>>2]|0;r=l;return j|0}if((k[e>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0)){j=k[j>>2]|0;r=l;return j|0}k[g>>2]=(k[e>>2]|0)+((k[d>>2]|0)==1?0:1);k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0))break;zj(k[(k[(k[h>>2]|0)+100>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0);k[f>>2]=(k[f>>2]|0)+1}k[(k[h>>2]|0)+104>>2]=k[g>>2];if((k[d>>2]|0)!=1){if((Lr(k[h>>2]|0)|0)==0?(k[k[(k[h>>2]|0)+68>>2]>>2]|0)==0:0){j=k[j>>2]|0;r=l;return j|0}if(!(k[g>>2]|0))d=0;else d=(k[(k[h>>2]|0)+100>>2]|0)+(((k[g>>2]|0)-1|0)*48|0)|0;k[i>>2]=d;i=As(k[h>>2]|0,k[i>>2]|0)|0;k[j>>2]=i;j=k[j>>2]|0;r=l;return j|0}if(k[g>>2]|0){j=k[j>>2]|0;r=l;return j|0}if(!(k[k[(k[h>>2]|0)+72>>2]>>2]|0)){j=k[j>>2]|0;r=l;return j|0}if(Dr(k[(k[h>>2]|0)+72>>2]|0)|0){i=Er(k[(k[h>>2]|0)+72>>2]|0,0,0)|0;k[j>>2]=i}k[(k[h>>2]|0)+56>>2]=0;j=k[j>>2]|0;r=l;return j|0}function es(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;q=t+8|0;j=t+56|0;m=t+52|0;f=t+48|0;g=t;d=t+44|0;h=t+40|0;c=t+36|0;o=t+32|0;p=t+28|0;s=t+24|0;e=t+20|0;n=t+16|0;k[j>>2]=a;k[m>>2]=b;k[f>>2]=k[k[j>>2]>>2];k[c>>2]=0;k[p>>2]=1;k[s>>2]=0;k[n>>2]=0;a=fj(k[(k[j>>2]|0)+68>>2]|0,g)|0;k[o>>2]=a;a:do if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];a=fs(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(i[k[s>>2]>>0]|0)!=0:0){f=gs(k[f>>2]|0,k[s>>2]|0,0,p)|0;k[o>>2]=f}k[s>>2]=0;if((k[o>>2]|0)==0&(k[p>>2]|0)!=0){f=(k[j>>2]|0)+80|0;k[f>>2]=0;k[f+4>>2]=0;k[e>>2]=k[m>>2];b:while(1){f=g;f=hs(k[j>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0,d,c)|0;k[o>>2]=f;if(k[o>>2]|0){b=8;break}if((k[d>>2]|0)==-1){a=g;a=_R(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=iS(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}if(!((k[d>>2]|0)!=0|(k[m>>2]|0)!=0)?(a=(k[j>>2]|0)+88|0,a=$R(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0,f=(k[j>>2]|0)+80|0,(a|0)==(k[f>>2]|0)?(L|0)==(k[f+4>>2]|0):0):0){f=g;a=(k[j>>2]|0)+80|0;a=_R(k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=iS(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}f=(k[j>>2]|0)+80|0;if((k[f+4>>2]|0)==0?(k[f>>2]|0)==(k[(k[j>>2]|0)+156>>2]|0):0){f=Nr(k[j>>2]|0,k[c>>2]|0)|0;k[o>>2]=f;if(k[o>>2]|0)break a;k[(k[j>>2]|0)+28>>2]=k[c>>2]}k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=(k[d>>2]|0)>>>0)continue b;if(k[e>>2]|0){hj(k[j>>2]|0);k[e>>2]=0}f=is(k[j>>2]|0,(k[j>>2]|0)+80|0,0,1,0)|0;k[o>>2]=f;if(k[o>>2]|0)break;k[n>>2]=(k[n>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[o>>2]|0)!=101){b=26;break}b=g;a=k[b+4>>2]|0;f=(k[j>>2]|0)+80|0;k[f>>2]=k[b>>2];k[f+4>>2]=a}if((b|0)==8){if((k[o>>2]|0)!=101)break;k[o>>2]=0;break}else if((b|0)==26){if((k[o>>2]|0)!=522)break;k[o>>2]=0;break}}}while(0);i[(k[j>>2]|0)+19>>0]=i[(k[j>>2]|0)+13>>0]|0;if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];h=fs(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=h}do if(!(k[o>>2]|0)){if((l[(k[j>>2]|0)+17>>0]|0)<4?(l[(k[j>>2]|0)+17>>0]|0)!=0:0)break;h=Ug(k[j>>2]|0,0)|0;k[o>>2]=h}while(0);if(!(k[o>>2]|0)){h=Br(k[j>>2]|0,(i[k[s>>2]>>0]|0)!=0&1,0)|0;k[o>>2]=h}if((k[o>>2]|0)==0?((k[p>>2]|0)!=0?(i[k[s>>2]>>0]|0)!=0:0):0){s=js(k[j>>2]|0,k[s>>2]|0)|0;k[o>>2]=s}if(!((k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){s=k[j>>2]|0;ks(s);s=k[o>>2]|0;r=t;return s|0}s=k[(k[j>>2]|0)+180>>2]|0;k[q>>2]=k[n>>2];k[q+4>>2]=s;$d(539,25874,q);s=k[j>>2]|0;ks(s);s=k[o>>2]|0;r=t;return s|0}function fs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;m=p+20|0;l=p+16|0;n=p;j=p+12|0;o=p+8|0;h=p+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[k[f>>2]>>0]=0;c=fj(k[e>>2]|0,n)|0;k[m>>2]=c;b=n;a=k[b+4>>2]|0;if((((((!(0!=(c|0)|((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<16))?(a=k[e>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=ps(a,b,L,l)|0,k[m>>2]=b,0==(b|0)):0)?!((k[l>>2]|0)==0?1:(k[l>>2]|0)>>>0>=(k[g>>2]|0)>>>0):0)?(a=k[e>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,12,0)|0,b=ps(a,b,L,j)|0,k[m>>2]=b,0==(b|0)):0)?(a=k[e>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,8,0)|0,b=os(a,h,8,b,L)|0,k[m>>2]=b,0==(b|0)):0)?(oR(h,25901,8)|0)==0:0)?(h=k[e>>2]|0,c=k[f>>2]|0,a=k[l>>2]|0,b=n,b=_R(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=_R(b|0,L|0,k[l>>2]|0,0)|0,b=os(h,c,a,b,L)|0,k[m>>2]=b,0==(b|0)):0){k[o>>2]=0;while(1){if((k[o>>2]|0)>>>0>=(k[l>>2]|0)>>>0)break;k[j>>2]=(k[j>>2]|0)-(i[(k[f>>2]|0)+(k[o>>2]|0)>>0]|0);k[o>>2]=(k[o>>2]|0)+1}if(k[j>>2]|0)k[l>>2]=0;i[(k[f>>2]|0)+(k[l>>2]|0)>>0]=0;k[d>>2]=0;b=k[d>>2]|0;r=p;return b|0}k[d>>2]=k[m>>2];b=k[d>>2]|0;r=p;return b|0}function gs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[i>>2]|0)+32>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function hs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;g=s+44|0;h=s+40|0;i=s+36|0;t=s+8|0;j=s+32|0;l=s+28|0;q=s+24|0;m=s+48|0;n=s;o=s+20|0;p=s+16|0;k[h>>2]=a;k[i>>2]=b;b=t;k[b>>2]=c;k[b+4>>2]=d;k[j>>2]=e;k[l>>2]=f;b=zs(k[h>>2]|0)|0;e=(k[h>>2]|0)+80|0;k[e>>2]=b;k[e+4>>2]=L;e=(k[h>>2]|0)+80|0;e=$R(k[e>>2]|0,k[e+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;b=L;a=t;f=k[a+4>>2]|0;if((b|0)>(f|0)|((b|0)==(f|0)?e>>>0>(k[a>>2]|0)>>>0:0)){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}e=(k[h>>2]|0)+80|0;a=k[e+4>>2]|0;t=n;k[t>>2]=k[e>>2];k[t+4>>2]=a;if(!((k[i>>2]|0)==0?(a=n,t=(k[h>>2]|0)+88|0,!((k[a>>2]|0)!=(k[t>>2]|0)?1:(k[a+4>>2]|0)!=(k[t+4>>2]|0))):0)){t=n;t=os(k[(k[h>>2]|0)+68>>2]|0,m,8,k[t>>2]|0,k[t+4>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}if(oR(m,25901,8)|0){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}}a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=$R(k[t>>2]|0,k[t+4>>2]|0,8,0)|0;t=ps(a,t,L,k[j>>2]|0)|0;k[q>>2]=t;if((0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=$R(k[t>>2]|0,k[t+4>>2]|0,12,0)|0,t=ps(a,t,L,(k[h>>2]|0)+52|0)|0,k[q>>2]=t,0==(t|0)):0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=$R(k[t>>2]|0,k[t+4>>2]|0,16,0)|0,t=ps(a,t,L,k[l>>2]|0)|0,k[q>>2]=t,0==(t|0)):0){t=(k[h>>2]|0)+80|0;do if((k[t>>2]|0)==0&(k[t+4>>2]|0)==0){a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=$R(k[t>>2]|0,k[t+4>>2]|0,20,0)|0;t=ps(a,t,L,p)|0;k[q>>2]=t;if(0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=$R(k[t>>2]|0,k[t+4>>2]|0,24,0)|0,t=ps(a,t,L,o)|0,k[q>>2]=t,0==(t|0)):0){if(!(k[o>>2]|0))k[o>>2]=k[(k[h>>2]|0)+160>>2];if((!((k[o>>2]|0)>>>0<512|(k[p>>2]|0)>>>0<32|(k[o>>2]|0)>>>0>65536|(k[p>>2]|0)>>>0>65536)?((k[o>>2]|0)-1&k[o>>2]|0)==0:0)?((k[p>>2]|0)-1&k[p>>2]|0)==0:0){t=dj(k[h>>2]|0,o,-1)|0;k[q>>2]=t;k[(k[h>>2]|0)+156>>2]=k[p>>2];break}k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}while(0);t=(k[h>>2]|0)+80|0;a=t;a=$R(k[a>>2]|0,k[a+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;k[t>>2]=a;k[t+4>>2]=L;k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}function is(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+64|0;y=B+60|0;p=B+56|0;f=B+52|0;g=B+48|0;q=B+44|0;h=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;n=B+24|0;s=B+20|0;o=B+16|0;t=B+12|0;u=B;x=B+8|0;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=e;k[s>>2]=k[(k[p>>2]|0)+208>>2];d=k[p>>2]|0;if(k[q>>2]|0)d=k[d+68>>2]|0;else d=k[d+72>>2]|0;k[o>>2]=d;a=k[f>>2]|0;a=ps(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0,v)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}e=k[o>>2]|0;c=k[s>>2]|0;b=k[(k[p>>2]|0)+160>>2]|0;a=k[f>>2]|0;a=$R(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;a=os(e,c,b,a,L)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}b=(k[(k[p>>2]|0)+160>>2]|0)+4+(k[q>>2]<<2)|0;a=k[f>>2]|0;c=a;b=$R(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[a>>2]=b;k[a+4>>2]=L;if((k[v>>2]|0)!=0?(k[v>>2]|0)!=(((k[384]|0)/(k[(k[p>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[v>>2]|0)>>>0<=(k[(k[p>>2]|0)+28>>2]|0)>>>0?(xj(k[g>>2]|0,k[v>>2]|0)|0)==0:0){if(k[q>>2]|0){a=k[o>>2]|0;o=k[f>>2]|0;o=_R(k[o>>2]|0,k[o+4>>2]|0,4,0)|0;o=ps(a,o,L,n)|0;k[A>>2]=o;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[h>>2]|0)==0?(o=qs(k[p>>2]|0,k[s>>2]|0)|0,(o|0)!=(k[n>>2]|0)):0){k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}}if((k[g>>2]|0)!=0?(o=vj(k[g>>2]|0,k[v>>2]|0)|0,k[A>>2]=o,(o|0)!=0):0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[v>>2]|0)==1?(j[(k[p>>2]|0)+150>>1]|0)!=(l[(k[s>>2]|0)+20>>0]|0):0)j[(k[p>>2]|0)+150>>1]=l[(k[s>>2]|0)+20>>0]|0;if(Lr(k[p>>2]|0)|0)k[z>>2]=0;else{o=rs(k[p>>2]|0,k[v>>2]|0)|0;k[z>>2]=o}if(k[q>>2]|0){if(l[(k[p>>2]|0)+7>>0]|0)d=1;else{o=k[f>>2]|0;h=k[o+4>>2]|0;d=(k[p>>2]|0)+88|0;n=k[d+4>>2]|0;d=(h|0)<(n|0)|((h|0)==(n|0)?(k[o>>2]|0)>>>0<=(k[d>>2]|0)>>>0:0)}k[t>>2]=d&1}else{if(!(k[z>>2]|0))d=1;else d=0==(m[(k[z>>2]|0)+24>>1]&8|0);k[t>>2]=d&1}do if(k[k[(k[p>>2]|0)+64>>2]>>2]|0){if((l[(k[p>>2]|0)+17>>0]|0)>=4){if(!(k[t>>2]|0)){w=44;break}}else if(!((k[t>>2]|0)!=0?(l[(k[p>>2]|0)+17>>0]|0)==0:0)){w=44;break}o=k[(k[p>>2]|0)+160>>2]|0;o=kS((k[v>>2]|0)-1|0,0,o|0,((o|0)<0)<<31>>31|0)|0;t=u;k[t>>2]=o;k[t+4>>2]=L;u=Sg(k[(k[p>>2]|0)+64>>2]|0,k[s>>2]|0,k[(k[p>>2]|0)+160>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[A>>2]=u;if((k[v>>2]|0)>>>0>(k[(k[p>>2]|0)+36>>2]|0)>>>0)k[(k[p>>2]|0)+36>>2]=k[v>>2];if(k[(k[p>>2]|0)+96>>2]|0){ss(k[(k[p>>2]|0)+96>>2]|0,k[v>>2]|0,k[s>>2]|0);k[s>>2]=k[s>>2]}}else w=44;while(0);do if((w|0)==44?(k[q>>2]|0)==0&(k[z>>2]|0)==0:0){w=(k[p>>2]|0)+21|0;i[w>>0]=l[w>>0]|2;w=Fg(k[p>>2]|0,k[v>>2]|0,z,1)|0;k[A>>2]=w;w=(k[p>>2]|0)+21|0;i[w>>0]=l[w>>0]&-3;if(!(k[A>>2]|0)){ts(k[z>>2]|0);break}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}while(0);if(k[z>>2]|0){k[x>>2]=k[(k[z>>2]|0)+4>>2];bS(k[x>>2]|0,k[s>>2]|0,k[(k[p>>2]|0)+160>>2]|0)|0;_b[k[(k[p>>2]|0)+204>>2]&255](k[z>>2]|0);if((k[v>>2]|0)==1){c=(k[p>>2]|0)+112|0;d=(k[x>>2]|0)+24|0;e=c+16|0;do{i[c>>0]=i[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0))}us(k[z>>2]|0)}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}k[y>>2]=0;A=k[y>>2]|0;r=B;return A|0}k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}function js(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;t=s+60|0;c=s+56|0;m=s+52|0;n=s+48|0;l=s+44|0;j=s+40|0;p=s+36|0;g=s;o=s+32|0;q=s+28|0;h=s+24|0;e=s+16|0;d=s+12|0;f=s+8|0;k[t>>2]=a;k[c>>2]=b;k[m>>2]=k[k[t>>2]>>2];k[p>>2]=0;b=k[(k[m>>2]|0)+4>>2]<<1;b=ug(b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;k[j>>2]=(k[l>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0);if(k[l>>2]|0){k[s+20>>2]=16385;t=cs(k[m>>2]|0,k[c>>2]|0,k[l>>2]|0,16385,0)|0;k[n>>2]=t}else k[n>>2]=7;a:do if((k[n>>2]|0)==0?(t=fj(k[l>>2]|0,g)|0,k[n>>2]=t,(k[n>>2]|0)==0):0){k[h>>2]=(k[(k[m>>2]|0)+8>>2]|0)+1;b=g;t=k[h>>2]|0;t=$R(k[b>>2]|0,k[b+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=$R(t|0,L|0,1,0)|0;t=jg(t,L)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[n>>2]=7;break}t=g;t=$R(k[t>>2]|0,k[t+4>>2]|0,1,0)|0;k[q>>2]=(k[p>>2]|0)+t;t=os(k[l>>2]|0,k[p>>2]|0,k[g>>2]|0,0,0)|0;k[n>>2]=t;if(!(k[n>>2]|0)){i[(k[p>>2]|0)+(k[g>>2]|0)>>0]=0;k[o>>2]=k[p>>2];while(1){b=(k[o>>2]|0)-(k[p>>2]|0)|0;u=((b|0)<0)<<31>>31;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?b>>>0<(k[t>>2]|0)>>>0:0)))break;u=gs(k[m>>2]|0,k[o>>2]|0,0,e)|0;k[n>>2]=u;if(k[n>>2]|0)break a;if(k[e>>2]|0){k[f>>2]=2049;u=cs(k[m>>2]|0,k[o>>2]|0,k[j>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=u;if(k[n>>2]|0)break a;u=fs(k[j>>2]|0,k[q>>2]|0,k[h>>2]|0)|0;k[n>>2]=u;yr(k[j>>2]|0);if(k[n>>2]|0)break a;if(i[k[q>>2]>>0]|0)a=(rR(k[q>>2]|0,k[c>>2]|0)|0)==0;else a=0;k[d>>2]=a&1;if(k[d>>2]|0)break a}u=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+u}yr(k[l>>2]|0);u=Hr(k[m>>2]|0,k[c>>2]|0,0)|0;k[n>>2]=u}}while(0);Ud(k[p>>2]|0);if(!(k[l>>2]|0)){u=k[n>>2]|0;r=s;return u|0}yr(k[l>>2]|0);Ud(k[l>>2]|0);u=k[n>>2]|0;r=s;return u|0}function ks(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+13>>0]|0|0)==0?((ls(k[(k[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=ms(k[(k[b>>2]|0)+64>>2]|0)|0;k[(k[b>>2]|0)+156>>2]=a;r=c;return}k[(k[b>>2]|0)+156>>2]=512;r=c;return}function ls(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[(k[k[c>>2]>>2]|0)+48>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function ms(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=ns(k[d>>2]|0)|0;k[b>>2]=a;if((k[b>>2]|0)>=32){if((k[b>>2]|0)>65536)k[b>>2]=65536}else k[b>>2]=512;r=c;return k[b>>2]|0}function ns(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[k[b>>2]>>2]|0)+44>>2];if(!(k[c>>2]|0)){c=4096;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function os(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+8>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function ps(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;i=h+16|0;j=h;e=h+12|0;f=h+20|0;g=h+8|0;k[i>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=d;d=j;d=os(k[i>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;r=h;return j|0}j=qr(f)|0;k[k[e>>2]>>2]=j;j=k[g>>2]|0;r=h;return j|0}function qs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[g>>2]|0)+52>>2];k[e>>2]=(k[(k[g>>2]|0)+160>>2]|0)-200;while(1){if((k[e>>2]|0)<=0)break;k[d>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0);k[e>>2]=(k[e>>2]|0)-200}r=f;return k[d>>2]|0}function rs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=ws(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}else{b=xs(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}return 0}function ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}vs(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function ts(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+24>>1]|0)&17)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-17;if(!((m[(k[b>>2]|0)+24>>1]|0)&1)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)^3;rj(k[b>>2]|0,2);r=c;return}function us(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;d=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[d>>2]=(k[d>>2]|0)+-1;d=(k[b>>2]|0)+26|0;a=(j[d>>1]|0)+-1<<16>>16;j[d>>1]=a;if(a<<16>>16){r=c;return}a=k[b>>2]|0;if((m[(k[b>>2]|0)+24>>1]|0)&1){sj(a);r=c;return}if(!(k[a+36>>2]|0)){r=c;return}rj(k[b>>2]|0,3);r=c;return}function vs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do{if(((xg(k[(k[d>>2]|0)+28>>2]|0)|0)==0?(k[e>>2]|0)>>>0<(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=Hg(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1)|0,k[g>>2]=a,(k[g>>2]|0)!=0):0)k[(k[d>>2]|0)+28>>2]=k[g>>2];a=k[(k[d>>2]|0)+44>>2]|0;k[d>>2]=a}while((a|0)!=0);r=h;return}function ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;h=e+16|0;g=e+12|0;i=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=k[i>>2]&(l[(k[h>>2]|0)+33>>0]|0);b=Yb[k[144>>2]&255](k[(k[h>>2]|0)+44>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function xs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[i>>2]|0;if(k[k[g>>2]>>2]|0){i=a+12|0;k[i>>2]=(k[i>>2]|0)+1;i=(k[g>>2]|0)+26|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16;k[d>>2]=k[g>>2];i=k[d>>2]|0;r=h;return i|0}else{i=ys(a,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}return 0}function ys(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;f=d+8|0;e=d+4|0;h=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];b=(k[h>>2]|0)+12|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[k[h>>2]>>2]=k[e>>2];k[(k[h>>2]|0)+4>>2]=k[k[e>>2]>>2];k[(k[h>>2]|0)+8>>2]=(k[h>>2]|0)+40;dS(k[(k[h>>2]|0)+8>>2]|0,0,k[(k[g>>2]|0)+28>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=k[g>>2];k[(k[h>>2]|0)+20>>2]=k[f>>2];j[(k[h>>2]|0)+24>>1]=1;b=xs(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function zs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+32|0;b=e+16|0;d=e+8|0;c=e;k[b>>2]=a;g=d;k[g>>2]=0;k[g+4>>2]=0;g=(k[b>>2]|0)+80|0;f=k[g+4>>2]|0;a=c;k[a>>2]=k[g>>2];k[a+4>>2]=f;a=c;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}g=c;g=_R(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;g=iS(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;g=$R(g|0,L|0,1,0)|0;g=kS(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}function As(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;c=s+56|0;d=s+52|0;e=s+48|0;p=s+16|0;g=s+8|0;o=s+44|0;n=s+40|0;h=s+36|0;l=s+32|0;f=s+28|0;j=s+24|0;m=s;k[d>>2]=a;k[e>>2]=b;k[o>>2]=0;k[n>>2]=0;if((k[e>>2]|0)!=0?(b=uj(k[(k[e>>2]|0)+20>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)==0):0){k[c>>2]=7;q=k[c>>2]|0;r=s;return q|0}if(k[e>>2]|0)a=k[(k[e>>2]|0)+20>>2]|0;else a=k[(k[d>>2]|0)+32>>2]|0;k[(k[d>>2]|0)+28>>2]=a;i[(k[d>>2]|0)+19>>0]=i[(k[d>>2]|0)+13>>0]|0;if((k[e>>2]|0)==0?(Lr(k[d>>2]|0)|0)!=0:0){q=Bs(k[d>>2]|0)|0;k[c>>2]=q;q=k[c>>2]|0;r=s;return q|0}t=(k[d>>2]|0)+80|0;a=k[t+4>>2]|0;b=p;k[b>>2]=k[t>>2];k[b+4>>2]=a;a:do if((k[e>>2]|0)!=0?(Lr(k[d>>2]|0)|0)==0:0){t=(k[e>>2]|0)+8|0;if((k[t>>2]|0)!=0|(k[t+4>>2]|0)!=0){b=(k[e>>2]|0)+8|0;a=k[b>>2]|0;b=k[b+4>>2]|0}else{b=p;a=k[b>>2]|0;b=k[b+4>>2]|0}t=g;k[t>>2]=a;k[t+4>>2]=b;a=k[e>>2]|0;b=k[a+4>>2]|0;t=(k[d>>2]|0)+80|0;k[t>>2]=k[a>>2];k[t+4>>2]=b;while(1){if(k[o>>2]|0)break a;b=(k[d>>2]|0)+80|0;u=k[b+4>>2]|0;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?(k[b>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)))break a;u=is(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u}}else q=19;while(0);if((q|0)==19){u=(k[d>>2]|0)+80|0;k[u>>2]=0;k[u+4>>2]=0}b:while(1){if(k[o>>2]|0)break;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))break;k[l>>2]=0;u=p;u=hs(k[d>>2]|0,0,k[u>>2]|0,k[u+4>>2]|0,l,f)|0;k[o>>2]=u;if((k[l>>2]|0)==0?(t=(k[d>>2]|0)+88|0,t=$R(k[t>>2]|0,k[t+4>>2]|0,k[(k[d>>2]|0)+156>>2]|0,0)|0,u=(k[d>>2]|0)+80|0,(t|0)==(k[u>>2]|0)?(L|0)==(k[u+4>>2]|0):0):0){u=p;t=(k[d>>2]|0)+80|0;t=_R(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;u=(k[(k[d>>2]|0)+160>>2]|0)+8|0;u=iS(t|0,L|0,u|0,((u|0)<0)<<31>>31|0)|0;k[l>>2]=u}k[h>>2]=0;while(1){if(k[o>>2]|0)continue b;if((k[h>>2]|0)>>>0>=(k[l>>2]|0)>>>0)continue b;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))continue b;u=is(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u;k[h>>2]=(k[h>>2]|0)+1}}c:do if(k[e>>2]|0){t=4+(k[(k[d>>2]|0)+160>>2]|0)|0;t=kS(k[(k[e>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;k[u>>2]=t;k[u+4>>2]=L;if(Lr(k[d>>2]|0)|0){u=Cs(k[(k[d>>2]|0)+216>>2]|0,(k[e>>2]|0)+28|0)|0;k[o>>2]=u}k[j>>2]=k[(k[e>>2]|0)+24>>2];while(1){if(k[o>>2]|0)break c;if((k[j>>2]|0)>>>0>=(k[(k[d>>2]|0)+56>>2]|0)>>>0)break c;u=is(k[d>>2]|0,m,k[n>>2]|0,0,1)|0;k[o>>2]=u;k[j>>2]=(k[j>>2]|0)+1}}while(0);zj(k[n>>2]|0);if(!(k[o>>2]|0)){q=p;t=k[q+4>>2]|0;u=(k[d>>2]|0)+80|0;k[u>>2]=k[q>>2];k[u+4>>2]=t}k[c>>2]=k[o>>2];u=k[c>>2]|0;r=s;return u|0}function Bs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[(k[b>>2]|0)+28>>2]=k[(k[b>>2]|0)+32>>2];a=Js(k[(k[b>>2]|0)+216>>2]|0,187,k[b>>2]|0)|0;k[e>>2]=a;a=Ks(k[(k[b>>2]|0)+212>>2]|0)|0;k[c>>2]=a;while(1){if(!((k[c>>2]|0)!=0?(k[e>>2]|0)==0:0))break;k[d>>2]=k[(k[c>>2]|0)+12>>2];a=Is(k[b>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=a;k[c>>2]=k[d>>2]}r=f;return k[e>>2]|0}function Cs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[d>>2]|0)+12>>2]|0)!=(k[(k[c>>2]|0)+112>>2]|0)){k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+112>>2]}if((k[k[d>>2]>>2]|0)>>>0>=(k[(k[c>>2]|0)+52+16>>2]|0)>>>0){e=k[e>>2]|0;r=f;return e|0}k[(k[c>>2]|0)+52+16>>2]=k[k[d>>2]>>2];k[(k[c>>2]|0)+52+24>>2]=k[(k[d>>2]|0)+4>>2];k[(k[c>>2]|0)+52+24+4>>2]=k[(k[d>>2]|0)+8>>2];Ds(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function Ds(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;d=i+16|0;g=i+12|0;f=i+8|0;h=i+4|0;e=i;k[b>>2]=a;k[c>>2]=0;k[d>>2]=0;k[g>>2]=0;k[f>>2]=0;if(!(k[(k[b>>2]|0)+52+16>>2]|0)){r=i;return}a=k[b>>2]|0;Fs(a,Es(k[(k[b>>2]|0)+52+16>>2]|0)|0,c,d,g)|0;k[f>>2]=(k[(k[b>>2]|0)+52+16>>2]|0)-(k[g>>2]|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=8192)break;if((m[(k[c>>2]|0)+(k[e>>2]<<1)>>1]|0|0)>(k[f>>2]|0))j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=0;k[e>>2]=(k[e>>2]|0)+1}k[h>>2]=(k[c>>2]|0)-((k[d>>2]|0)+((k[f>>2]|0)+1<<2));dS((k[d>>2]|0)+((k[f>>2]|0)+1<<2)|0,0,k[h>>2]|0)|0;r=i;return}function Es(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(((k[d>>2]|0)+4096-4062-1|0)>>>0)/4096|0;r=c;return k[b>>2]|0}function Fs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;p=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;n=o+12|0;l=o+8|0;m=o+4|0;j=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;e=Gs(k[p>>2]|0,k[f>>2]|0,l)|0;k[n>>2]=e;if(k[n>>2]|0){p=k[n>>2]|0;r=o;return p|0}k[j>>2]=(k[l>>2]|0)+16384;if(!(k[f>>2]|0)){k[l>>2]=(k[l>>2]|0)+136;k[m>>2]=0}else k[m>>2]=4062+((k[f>>2]|0)-1<<12);k[k[h>>2]>>2]=(k[l>>2]|0)+-4;k[k[g>>2]>>2]=k[j>>2];k[k[i>>2]>>2]=k[m>>2];p=k[n>>2]|0;r=o;return p|0}function Gs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;m=n+8|0;j=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;do if((k[(k[e>>2]|0)+24>>2]|0)<=(k[f>>2]|0)){k[j>>2]=(k[f>>2]|0)+1<<2;c=k[j>>2]|0;c=Wd(k[(k[e>>2]|0)+32>>2]|0,c,((c|0)<0)<<31>>31)|0;k[h>>2]=c;if(k[h>>2]|0){dS((k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0,0,(k[f>>2]|0)+1-(k[(k[e>>2]|0)+24>>2]|0)<<2|0)|0;k[(k[e>>2]|0)+32>>2]=k[h>>2];k[(k[e>>2]|0)+24>>2]=(k[f>>2]|0)+1;break}k[k[g>>2]>>2]=0;k[d>>2]=7;m=k[d>>2]|0;r=n;return m|0}while(0);do if(!(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0))if((l[(k[e>>2]|0)+43>>0]|0|0)==2){c=ug(32768,0)|0;k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]=c;if(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0)break;k[m>>2]=7;break}else{c=Hs(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,32768,l[(k[e>>2]|0)+44>>0]|0,(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)|0)|0;k[m>>2]=c;if((k[m>>2]|0)!=8)break;c=(k[e>>2]|0)+46|0;i[c>>0]=l[c>>0]|0|2;k[m>>2]=0;break}while(0);k[k[g>>2]>>2]=k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[d>>2]=k[m>>2];m=k[d>>2]|0;r=n;return m|0}function Hs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=hc[k[(k[k[l>>2]>>2]|0)+52>>2]&255](k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return e|0}function Is(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;i=g+20|0;h=g+16|0;f=g+12|0;d=g+8|0;e=g+4|0;c=g;k[i>>2]=a;k[h>>2]=b;k[f>>2]=0;k[d>>2]=k[i>>2];a=rs(k[d>>2]|0,k[h>>2]|0)|0;k[e>>2]=a;do if(k[e>>2]|0){if((Ps(k[e>>2]|0)|0)==1){Qs(k[e>>2]|0);break}k[c>>2]=0;i=Rs(k[(k[d>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+20>>2]|0,c)|0;k[f>>2]=i;if(!(k[f>>2]|0)){i=Ss(k[e>>2]|0,k[c>>2]|0)|0;k[f>>2]=i}if(!(k[f>>2]|0))_b[k[(k[d>>2]|0)+204>>2]&255](k[e>>2]|0);Ts(k[e>>2]|0)}while(0);nj(k[(k[d>>2]|0)+96>>2]|0);r=g;return k[f>>2]|0}function Js(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(i[(k[d>>2]|0)+44>>0]|0)){j=k[j>>2]|0;r=l;return j|0}k[h>>2]=k[(k[d>>2]|0)+52+16>>2];c=(k[d>>2]|0)+52|0;a=Ns(k[d>>2]|0)|0;b=c+48|0;do{i[c>>0]=i[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(b|0));k[g>>2]=(k[(k[d>>2]|0)+52+16>>2]|0)+1;while(1){if(k[j>>2]|0)break;if((k[g>>2]|0)>>>0>(k[h>>2]|0)>>>0)break;c=k[e>>2]|0;a=k[f>>2]|0;b=Os(k[d>>2]|0,k[g>>2]|0)|0;b=gc[c&255](a,b)|0;k[j>>2]=b;k[g>>2]=(k[g>>2]|0)+1}if((k[h>>2]|0)==(k[(k[d>>2]|0)+52+16>>2]|0)){j=k[j>>2]|0;r=l;return j|0}Ds(k[d>>2]|0);j=k[j>>2]|0;r=l;return j|0}function Ks(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32>>2];k[c>>2]=k[(k[c>>2]|0)+32>>2]}a=Ls(k[k[b>>2]>>2]|0)|0;r=d;return a|0}function Ls(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+144|0;c=h+136|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;a=e;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(k[c>>2]|0))break;k[g>>2]=k[c>>2];k[c>>2]=k[(k[g>>2]|0)+12>>2];k[(k[g>>2]|0)+12>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=31)break;if(!(k[e+(k[f>>2]<<2)>>2]|0)){d=6;break}b=Ms(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;k[e+(k[f>>2]<<2)>>2]=0;k[f>>2]=(k[f>>2]|0)+1}if((d|0)==6){d=0;k[e+(k[f>>2]<<2)>>2]=k[g>>2]}if((k[f>>2]|0)!=31)continue;b=Ms(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[e+(k[f>>2]<<2)>>2]=b}k[g>>2]=k[e>>2];k[f>>2]=1;while(1){if((k[f>>2]|0)>=32)break;if(k[e+(k[f>>2]<<2)>>2]|0){if(k[g>>2]|0)a=Ms(k[g>>2]|0,k[e+(k[f>>2]<<2)>>2]|0)|0;else a=k[e+(k[f>>2]<<2)>>2]|0;k[g>>2]=a}k[f>>2]=(k[f>>2]|0)+1}r=h;return k[g>>2]|0}function Ms(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;c=g+52|0;d=g+48|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=f;while(1)if((k[(k[c>>2]|0)+20>>2]|0)>>>0<(k[(k[d>>2]|0)+20>>2]|0)>>>0){k[(k[e>>2]|0)+12>>2]=k[c>>2];k[e>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+12>>2];if(!(k[c>>2]|0)){a=4;break}else continue}else{k[(k[e>>2]|0)+12>>2]=k[d>>2];k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[d>>2]|0)){a=6;break}else continue}if((a|0)==4){k[(k[e>>2]|0)+12>>2]=k[d>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==6){k[(k[e>>2]|0)+12>>2]=k[c>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}return 0}function Ns(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+32>>2]>>2]|0}function Os(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;b=Es(k[g>>2]|0)|0;k[e>>2]=b;b=k[g>>2]|0;if(!(k[e>>2]|0)){k[c>>2]=k[(k[k[(k[d>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];g=k[c>>2]|0;r=f;return g|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];g=k[c>>2]|0;r=f;return g|0}return 0}function Ps(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+26>>1]|0}function Qs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+24>>1]|0)&2)rj(k[b>>2]|0,1);a=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,1);r=c;return}function Rs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;s=w+56|0;d=w+52|0;e=w+48|0;t=w+44|0;u=w+40|0;n=w+36|0;i=w+32|0;o=w+28|0;f=w+24|0;g=w+20|0;p=w+16|0;l=w+12|0;q=w+8|0;v=w+4|0;h=w;k[d>>2]=a;k[e>>2]=b;k[t>>2]=c;k[u>>2]=0;k[n>>2]=k[(k[d>>2]|0)+52+16>>2];if((k[n>>2]|0)!=0?(j[(k[d>>2]|0)+40>>1]|0)!=0:0){c=Es(k[(k[d>>2]|0)+100>>2]|0)|0;k[o>>2]=c;c=Es(k[n>>2]|0)|0;k[i>>2]=c;a:while(1){if(!((k[i>>2]|0)>=(k[o>>2]|0)?(k[u>>2]|0)==0:0)){d=18;break}c=Fs(k[d>>2]|0,k[i>>2]|0,f,g,p)|0;k[v>>2]=c;if(k[v>>2]|0){d=7;break}k[q>>2]=8192;c=Ys(k[e>>2]|0)|0;k[l>>2]=c;while(1){if(!(j[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0))break;k[h>>2]=(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0)+(k[p>>2]|0);if(((k[h>>2]|0)>>>0<=(k[n>>2]|0)>>>0?(k[h>>2]|0)>>>0>=(k[(k[d>>2]|0)+100>>2]|0)>>>0:0)?(k[(k[g>>2]|0)+(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]<<2)>>2]|0)==(k[e>>2]|0):0)k[u>>2]=k[h>>2];c=k[q>>2]|0;k[q>>2]=c+-1;if(!c){d=15;break a}c=Zs(k[l>>2]|0)|0;k[l>>2]=c}k[i>>2]=(k[i>>2]|0)+-1}if((d|0)==7){k[s>>2]=k[v>>2];v=k[s>>2]|0;r=w;return v|0}else if((d|0)==15){v=_j(56344)|0;k[s>>2]=v;v=k[s>>2]|0;r=w;return v|0}else if((d|0)==18){k[k[t>>2]>>2]=k[u>>2];k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}}k[k[t>>2]>>2]=0;k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}function Ss(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+32|0;d=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;h=m+12|0;e=m;j=m+8|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[g>>2]=k[(k[c>>2]|0)+20>>2];k[l>>2]=0;k[h>>2]=k[(k[f>>2]|0)+160>>2];if(k[d>>2]|0){h=Xs(k[(k[f>>2]|0)+216>>2]|0,k[d>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+4>>2]|0)|0;k[l>>2]=h}else{b=k[(k[f>>2]|0)+160>>2]|0;b=kS((k[g>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;h=os(k[(k[f>>2]|0)+64>>2]|0,k[(k[c>>2]|0)+4>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[l>>2]=h;k[l>>2]=(k[l>>2]|0)==522?0:h}if((k[g>>2]|0)!=1){l=k[l>>2]|0;r=m;return l|0}if(k[l>>2]|0){b=(k[f>>2]|0)+112|0;d=b+16|0;do{i[b>>0]=255;b=b+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}else{k[j>>2]=(k[(k[c>>2]|0)+4>>2]|0)+24;b=(k[f>>2]|0)+112|0;c=k[j>>2]|0;d=b+16|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}return 0}function Ts(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+16>>2];a=k[d>>2]|0;if((m[(k[d>>2]|0)+24>>1]|0)&32){Us(a);d=k[b>>2]|0;Vs(d);r=c;return}else{us(a);d=k[b>>2]|0;Vs(d);r=c;return}}function Us(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+4|0;e=b;k[c>>2]=a;k[e>>2]=k[(k[c>>2]|0)+16>>2];d=(k[e>>2]|0)+128|0;k[d>>2]=(k[d>>2]|0)+-1;k[(k[c>>2]|0)+12>>2]=k[(k[e>>2]|0)+144>>2];k[(k[e>>2]|0)+144>>2]=k[c>>2];d=k[(k[e>>2]|0)+64>>2]|0;a=k[(k[e>>2]|0)+160>>2]|0;a=kS((k[(k[c>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ws(d,a,L,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return}function Vs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+128>>2]|0){r=c;return}if(ej(k[(k[b>>2]|0)+212>>2]|0)|0){r=c;return}xr(k[b>>2]|0);r=c;return}function Ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function Xs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;e=r;r=r+32|0;i=e+24|0;l=e+20|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e;k[i>>2]=a;k[l>>2]=b;k[f>>2]=c;k[h>>2]=d;k[g>>2]=m[(k[i>>2]|0)+52+14>>1];k[g>>2]=(k[g>>2]&65024)+((k[g>>2]&1)<<16);d=(k[g>>2]|0)+24|0;d=kS((k[l>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=$R(32,0,d|0,L|0)|0;d=$R(d|0,L|0,24,0)|0;a=j;k[a>>2]=d;k[a+4>>2]=L;a=j;a=os(k[(k[i>>2]|0)+8>>2]|0,k[h>>2]|0,(k[f>>2]|0)>(k[g>>2]|0)?k[g>>2]|0:k[f>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=e;return a|0}function Ys(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)*383&8191|0}function Zs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+1&8191|0}function _s(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Mr(k[b>>2]|0)|0;if((j[(k[b>>2]|0)+40>>1]|0)<0){r=c;return}Sr(k[b>>2]|0,3+(j[(k[b>>2]|0)+40>>1]|0)|0);j[(k[b>>2]|0)+40>>1]=-1;r=c;return}function $s(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+28>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function at(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+64|0;z=A+52|0;v=A+48|0;w=A+44|0;l=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;k[v>>2]=a;k[w>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[s>>2]=j;k[t>>2]=0;k[x>>2]=k[w>>2];k[u>>2]=k[l>>2];if(i[(k[v>>2]|0)+46>>0]|0){k[z>>2]=8;z=k[z>>2]|0;r=A;return z|0}g=ft(k[v>>2]|0,1,1)|0;k[y>>2]=g;if(k[y>>2]|0){k[z>>2]=k[y>>2];z=k[z>>2]|0;r=A;return z|0}i[(k[v>>2]|0)+45>>0]=1;do if(k[w>>2]|0){g=gt(k[v>>2]|0,k[l>>2]|0,k[m>>2]|0,0,1)|0;k[y>>2]=g;if(!(k[y>>2]|0)){i[(k[v>>2]|0)+44>>0]=1;break}if((k[y>>2]|0)==5){k[x>>2]=0;k[u>>2]=0;k[y>>2]=0}}while(0);if(((k[y>>2]|0)==0?(g=ht(k[v>>2]|0,t)|0,k[y>>2]=g,(k[t>>2]|0)!=0):0)?(k[k[k[(k[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ws(k[(k[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(k[y>>2]|0)){if((k[(k[v>>2]|0)+52+16>>2]|0)!=0?(g=it(k[v>>2]|0)|0,(g|0)!=(k[o>>2]|0)):0){g=_j(57049)|0;k[y>>2]=g}else{g=jt(k[v>>2]|0,k[x>>2]|0,k[u>>2]|0,k[m>>2]|0,k[n>>2]|0,k[p>>2]|0)|0;k[y>>2]=g}if((k[y>>2]|0)==0|(k[y>>2]|0)==5){if(k[q>>2]|0)k[k[q>>2]>>2]=k[(k[v>>2]|0)+52+16>>2];if(k[s>>2]|0){g=kt(k[v>>2]|0)|0;k[k[s>>2]>>2]=k[g>>2]}}}if(k[t>>2]|0){l=(k[v>>2]|0)+52|0;m=l+48|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0))}Mr(k[v>>2]|0)|0;Ur(k[v>>2]|0,1,1);i[(k[v>>2]|0)+45>>0]=0;if((k[y>>2]|0)==0?(k[w>>2]|0)!=(k[x>>2]|0):0)l=5;else l=k[y>>2]|0;k[z>>2]=l;z=k[z>>2]|0;r=A;return z|0}function bt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return}function ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i+16|0;d=i+24|0;e=i+8|0;g=i;f=i+20|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;gk();a=fj(k[(k[d>>2]|0)+8>>2]|0,g)|0;k[f>>2]=a;if((k[f>>2]|0)==0?(a=g,b=k[a+4>>2]|0,g=e,c=k[g+4>>2]|0,(b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0){g=e;g=Er(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[f>>2]=g}hk();if(!(k[f>>2]|0)){r=i;return}g=k[f>>2]|0;k[h>>2]=k[(k[d>>2]|0)+108>>2];$d(g,25909,h);r=i;return}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+43>>0]|0|0)!=2){et(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0)|0;r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+24>>2]|0))break;Ud(k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0);k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=f;return}function et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+64>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function ft(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(i[(k[e>>2]|0)+43>>0]|0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}else{a=Tr(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,k[g>>2]|0,10)|0;k[h>>2]=a;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}return 0}function gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;while(1){b=ft(k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=b;if(!((k[g>>2]|0)!=0&(k[l>>2]|0)==5)){f=4;break}if(!(bc[k[g>>2]&255](k[h>>2]|0)|0)){f=4;break}}if((f|0)==4){r=m;return k[l>>2]|0}return 0}function ht(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;a=Gs(k[d>>2]|0,0,g)|0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}if(k[g>>2]|0)b=wt(k[d>>2]|0,k[e>>2]|0)|0;else b=1;k[f>>2]=b;do if(k[f>>2]|0){b=k[d>>2]|0;if((l[(k[d>>2]|0)+46>>0]|0)&2){g=Rr(b,0)|0;k[h>>2]=g;if(g)break;Sr(k[d>>2]|0,0);k[h>>2]=264;break}a=ft(b,0,1)|0;k[h>>2]=a;if(!a){i[(k[d>>2]|0)+44>>0]=1;g=Gs(k[d>>2]|0,0,g)|0;k[h>>2]=g;if(0==(g|0)?(g=wt(k[d>>2]|0,k[e>>2]|0)|0,k[f>>2]=g,(k[f>>2]|0)!=0):0){g=xt(k[d>>2]|0)|0;k[h>>2]=g;k[k[e>>2]>>2]=1}i[(k[d>>2]|0)+44>>0]=0;Ur(k[d>>2]|0,0,1)}}while(0);if((k[f>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=3007e3:0){g=yt(55897)|0;k[h>>2]=g}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}function it(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[b>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function jt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+112|0;g=G+104|0;h=G+100|0;i=G+96|0;j=G+92|0;l=G+88|0;m=G+84|0;n=G+80|0;A=G+76|0;D=G+72|0;z=G+68|0;p=G+64|0;q=G+60|0;u=G+56|0;t=G+52|0;o=G+48|0;y=G+44|0;E=G+40|0;x=G+24|0;v=G+36|0;w=G+16|0;s=G+8|0;C=G;B=G+32|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[A>>2]=0;k[z>>2]=0;k[p>>2]=0;k[q>>2]=0;f=it(k[h>>2]|0)|0;k[D>>2]=f;f=kt(k[h>>2]|0)|0;k[y>>2]=f;a:do if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){f=lt(k[h>>2]|0,z)|0;k[A>>2]=f;if(k[A>>2]|0){k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}k[u>>2]=k[(k[h>>2]|0)+52+16>>2];k[t>>2]=k[(k[h>>2]|0)+52+20>>2];k[o>>2]=1;while(1){if((k[o>>2]|0)>=5)break;k[E>>2]=k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2];do if((k[u>>2]|0)>>>0>(k[E>>2]|0)>>>0){f=gt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3+(k[o>>2]|0)|0,1)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2]=(k[o>>2]|0)==1?k[u>>2]|0:-1;Ur(k[h>>2]|0,3+(k[o>>2]|0)|0,1);break}if((k[A>>2]|0)!=5)break a;k[u>>2]=k[E>>2];k[j>>2]=0}while(0);k[o>>2]=(k[o>>2]|0)+1}if((k[k[y>>2]>>2]|0)>>>0<(k[u>>2]|0)>>>0?(F=gt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3,1)|0,k[A>>2]=F,(F|0)==0):0){k[v>>2]=k[k[y>>2]>>2];k[(k[y>>2]|0)+32>>2]=k[u>>2];if(k[m>>2]|0){F=Fr(k[(k[h>>2]|0)+8>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(((k[A>>2]|0)==0?(f=k[D>>2]|0,f=kS(k[t>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=w,k[F>>2]=f,k[F+4>>2]=L,F=fj(k[(k[h>>2]|0)+4>>2]|0,x)|0,k[A>>2]=F,(k[A>>2]|0)==0):0)?(f=x,c=k[f+4>>2]|0,F=w,E=k[F+4>>2]|0,(c|0)<(E|0)|((c|0)==(E|0)?(k[f>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0)bt(k[(k[h>>2]|0)+4>>2]|0,5,w);b:while(1){if(k[A>>2]|0)break;while(1){if(mt(k[z>>2]|0,p,q)|0)break b;if((k[q>>2]|0)>>>0<=(k[v>>2]|0)>>>0)continue b;if((k[q>>2]|0)>>>0>(k[u>>2]|0)>>>0)continue b;if((k[p>>2]|0)>>>0>(k[t>>2]|0)>>>0)continue b;f=(k[D>>2]|0)+24|0;f=kS((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=$R(32,0,f|0,L|0)|0;f=$R(f|0,L|0,24,0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=os(k[(k[h>>2]|0)+8>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(k[A>>2]|0)break b;f=k[D>>2]|0;f=kS((k[p>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=Sg(k[(k[h>>2]|0)+4>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(!((k[A>>2]|0)==0&(k[A>>2]|0)==0))break b}}if(!(k[A>>2]|0)){f=k[u>>2]|0;F=(Ns(k[h>>2]|0)|0)+16|0;if((f|0)==(k[F>>2]|0)?(f=k[D>>2]|0,f=kS(k[(k[h>>2]|0)+52+20>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=C,k[F>>2]=f,k[F+4>>2]=L,F=C,F=Er(k[(k[h>>2]|0)+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0,k[A>>2]=F,(k[A>>2]|0)==0&(k[m>>2]|0)!=0):0){F=Fr(k[(k[h>>2]|0)+4>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(!(k[A>>2]|0))k[k[y>>2]>>2]=k[u>>2]}Ur(k[h>>2]|0,3,1)}if((k[A>>2]|0)==5){k[A>>2]=0;F=36}else F=36}else F=36;while(0);do if((F|0)==36?(k[A>>2]|0)==0&(k[i>>2]|0)!=0:0){if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){k[A>>2]=5;break}if((k[i>>2]|0)>=2?(ae(4,B),F=gt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,4,4)|0,k[A>>2]=F,(k[A>>2]|0)==0):0){if((k[i>>2]|0)==3){nt(k[h>>2]|0,k[B>>2]|0);F=Er(k[(k[h>>2]|0)+8>>2]|0,0,0)|0;k[A>>2]=F}Ur(k[h>>2]|0,4,4)}}while(0);ot(k[z>>2]|0);k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}function kt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[(k[b>>2]|0)+32>>2]>>2]|0)+96|0}function lt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+60|0;d=v+56|0;e=v+52|0;t=v+48|0;s=v+44|0;m=v+40|0;p=v+36|0;l=v+32|0;i=v+28|0;u=v+24|0;f=v+20|0;n=v+16|0;h=v+12|0;o=v+8|0;q=v+4|0;g=v;k[d>>2]=a;k[e>>2]=b;k[u>>2]=0;k[m>>2]=k[(k[d>>2]|0)+52+16>>2];b=(Es(k[m>>2]|0)|0)+1|0;k[s>>2]=b;k[p>>2]=28+(((k[s>>2]|0)-1|0)*20|0)+(k[m>>2]<<1);b=k[p>>2]|0;b=Td(b,((b|0)<0)<<31>>31)|0;k[t>>2]=b;if(!(k[t>>2]|0)){k[c>>2]=7;u=k[c>>2]|0;r=v;return u|0}dS(k[t>>2]|0,0,k[p>>2]|0)|0;k[(k[t>>2]|0)+4>>2]=k[s>>2];b=Td(((k[m>>2]|0)>>>0>4096?4096:k[m>>2]|0)<<1,0)|0;k[i>>2]=b;if(!(k[i>>2]|0))k[u>>2]=7;k[l>>2]=0;while(1){if(k[u>>2]|0)break;if((k[l>>2]|0)>=(k[s>>2]|0))break;b=Fs(k[d>>2]|0,k[l>>2]|0,f,h,n)|0;k[u>>2]=b;if(!(k[u>>2]|0)){k[h>>2]=(k[h>>2]|0)+4;if(((k[l>>2]|0)+1|0)==(k[s>>2]|0))k[q>>2]=(k[m>>2]|0)-(k[n>>2]|0);else k[q>>2]=((k[f>>2]|0)-(k[h>>2]|0)|0)/4|0;k[g>>2]=(k[t>>2]|0)+8+((k[(k[t>>2]|0)+4>>2]|0)*20|0)+(k[n>>2]<<1);k[n>>2]=(k[n>>2]|0)+1;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;j[(k[g>>2]|0)+(k[o>>2]<<1)>>1]=k[o>>2];k[o>>2]=(k[o>>2]|0)+1}ut(k[h>>2]|0,k[i>>2]|0,k[g>>2]|0,q);k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+16>>2]=k[n>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+12>>2]=k[q>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+4>>2]=k[g>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+8>>2]=k[h>>2]}k[l>>2]=(k[l>>2]|0)+1}Ud(k[i>>2]|0);if(k[u>>2]|0)ot(k[t>>2]|0);k[k[e>>2]>>2]=k[t>>2];k[c>>2]=k[u>>2];u=k[c>>2]|0;r=v;return u|0}function mt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;j=o+12|0;g=o+8|0;l=o+4|0;i=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=-1;k[h>>2]=k[k[d>>2]>>2];k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)-1;while(1){if((k[g>>2]|0)<0)break;k[l>>2]=(k[d>>2]|0)+8+((k[g>>2]|0)*20|0);while(1){if((k[k[l>>2]>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0))break;k[i>>2]=k[(k[(k[l>>2]|0)+8>>2]|0)+((m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)<<2)>>2];if((k[i>>2]|0)>>>0>(k[h>>2]|0)>>>0){n=6;break}b=k[l>>2]|0;k[b>>2]=(k[b>>2]|0)+1}if((n|0)==6?(n=0,(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){k[j>>2]=k[i>>2];k[k[f>>2]>>2]=(k[(k[l>>2]|0)+16>>2]|0)+(m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)}k[g>>2]=(k[g>>2]|0)+-1}n=k[j>>2]|0;k[k[d>>2]>>2]=n;k[k[e>>2]>>2]=n;r=o;return (k[j>>2]|0)==-1|0}function nt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e+16|0;g=e+12|0;d=e+8|0;c=e+4|0;h=e;k[f>>2]=a;k[g>>2]=b;b=kt(k[f>>2]|0)|0;k[d>>2]=b;k[h>>2]=(k[f>>2]|0)+52+32;b=(k[f>>2]|0)+112|0;k[b>>2]=(k[b>>2]|0)+1;k[(k[f>>2]|0)+52+16>>2]=0;b=k[h>>2]|0;pt(b,1+(qr(k[h>>2]|0)|0)|0);k[(k[f>>2]|0)+52+32+4>>2]=k[g>>2];qt(k[f>>2]|0);k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+4+4>>2]=0;k[c>>2]=2;while(1){if((k[c>>2]|0)>=5)break;k[(k[d>>2]|0)+4+(k[c>>2]<<2)>>2]=-1;k[c>>2]=(k[c>>2]|0)+1}r=e;return}function ot(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function pt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[k[d>>2]>>0]=(k[e>>2]|0)>>>24;i[(k[d>>2]|0)+1>>0]=(k[e>>2]|0)>>>16;i[(k[d>>2]|0)+2>>0]=(k[e>>2]|0)>>>8;i[(k[d>>2]|0)+3>>0]=k[e>>2];r=c;return}function qt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;k[d>>2]=a;a=Ns(k[d>>2]|0)|0;k[e>>2]=a;k[f>>2]=40;i[(k[d>>2]|0)+52+12>>0]=1;k[(k[d>>2]|0)+52>>2]=3007e3;rt(1,(k[d>>2]|0)+52|0,40,0,(k[d>>2]|0)+52+40|0);a=(k[e>>2]|0)+48|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));st(k[d>>2]|0);a=k[e>>2]|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));r=f;return}function rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;f=n+32|0;p=n+28|0;o=n+24|0;g=n+20|0;h=n+16|0;l=n+12|0;m=n+8|0;i=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[p>>2];k[j>>2]=(k[p>>2]|0)+(k[o>>2]|0);if(k[g>>2]|0){k[l>>2]=k[k[g>>2]>>2];k[m>>2]=k[(k[g>>2]|0)+4>>2]}else{k[m>>2]=0;k[l>>2]=0}if(k[f>>2]|0){do{p=k[i>>2]|0;k[i>>2]=p+4;k[l>>2]=(k[l>>2]|0)+((k[p>>2]|0)+(k[m>>2]|0));p=k[i>>2]|0;k[i>>2]=p+4;k[m>>2]=(k[m>>2]|0)+((k[p>>2]|0)+(k[l>>2]|0))}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}else{do{k[l>>2]=(k[l>>2]|0)+(((k[k[i>>2]>>2]&255)<<24)+((k[k[i>>2]>>2]&65280)<<8)+((k[k[i>>2]>>2]&16711680)>>>8)+((k[k[i>>2]>>2]&-16777216)>>>24)+(k[m>>2]|0));k[m>>2]=(k[m>>2]|0)+(((k[(k[i>>2]|0)+4>>2]&255)<<24)+((k[(k[i>>2]|0)+4>>2]&65280)<<8)+((k[(k[i>>2]|0)+4>>2]&16711680)>>>8)+((k[(k[i>>2]|0)+4>>2]&-16777216)>>>24)+(k[l>>2]|0));k[i>>2]=(k[i>>2]|0)+8}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}}function st(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+43>>0]|0|0)==2){r=c;return}tt(k[(k[b>>2]|0)+4>>2]|0);r=c;return}function tt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[(k[k[c>>2]>>2]|0)+60>>2]&255](k[c>>2]|0);r=b;return}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+160|0;e=s+144|0;f=s+140|0;g=s+136|0;h=s+132|0;n=s+128|0;o=s+124|0;i=s+120|0;l=s+116|0;m=s+112|0;j=s+8|0;p=s+4|0;q=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=k[k[h>>2]>>2];k[o>>2]=0;k[i>>2]=0;k[m>>2]=0;b=j;a=b+104|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[n>>2]|0))break;k[o>>2]=1;k[i>>2]=(k[g>>2]|0)+(k[l>>2]<<1);k[m>>2]=0;while(1){if(!(k[l>>2]&1<>2]))break;k[p>>2]=j+(k[m>>2]<<3);vt(k[e>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[k[p>>2]>>2]|0,i,o,k[f>>2]|0);k[m>>2]=(k[m>>2]|0)+1}k[j+(k[m>>2]<<3)+4>>2]=k[i>>2];k[j+(k[m>>2]<<3)>>2]=k[o>>2];k[l>>2]=(k[l>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1;while(1){if((k[m>>2]|0)>>>0>=13)break;if(k[n>>2]&1<>2]){k[q>>2]=j+(k[m>>2]<<3);vt(k[e>>2]|0,k[(k[q>>2]|0)+4>>2]|0,k[k[q>>2]>>2]|0,i,o,k[f>>2]|0)}k[m>>2]=(k[m>>2]|0)+1}k[k[h>>2]>>2]=k[o>>2];r=s;return}function vt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;g=y+44|0;h=y+40|0;i=y+36|0;l=y+32|0;n=y+28|0;o=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;p=y+4|0;v=y+48|0;q=y;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[l>>2]=d;k[n>>2]=e;k[o>>2]=f;k[s>>2]=0;k[u>>2]=0;k[t>>2]=0;k[w>>2]=k[k[n>>2]>>2];k[p>>2]=k[k[l>>2]>>2];while(1){if((k[u>>2]|0)>=(k[w>>2]|0)?(k[s>>2]|0)>=(k[i>>2]|0):0)break;do if((k[s>>2]|0)<(k[i>>2]|0)){if((k[u>>2]|0)<(k[w>>2]|0)?(k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(k[(k[g>>2]|0)+((m[(k[p>>2]|0)+(k[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}e=k[s>>2]|0;k[s>>2]=e+1;j[v>>1]=j[(k[h>>2]|0)+(e<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;e=k[u>>2]|0;k[u>>2]=e+1;j[v>>1]=j[(k[p>>2]|0)+(e<<1)>>1]|0}k[q>>2]=k[(k[g>>2]|0)+((m[v>>1]|0)<<2)>>2];d=j[v>>1]|0;e=k[t>>2]|0;k[t>>2]=e+1;j[(k[o>>2]|0)+(e<<1)>>1]=d;if((k[s>>2]|0)>=(k[i>>2]|0))continue;if((k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(k[q>>2]|0))continue;k[s>>2]=(k[s>>2]|0)+1}k[k[l>>2]>>2]=k[h>>2];k[k[n>>2]>>2]=k[t>>2];bS(k[h>>2]|0,k[o>>2]|0,k[t>>2]<<1|0)|0;r=y;return}function wt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+128|0;d=o+120|0;e=o+116|0;f=o+112|0;g=o+104|0;j=o+56|0;n=o+8|0;h=o;k[e>>2]=a;k[f>>2]=b;b=Ns(k[e>>2]|0)|0;k[h>>2]=b;b=j;a=k[h>>2]|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));st(k[e>>2]|0);b=n;a=(k[h>>2]|0)+48|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));if(oR(j,n,48)|0){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}if(!(l[j+12>>0]|0)){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}rt(1,j,40,0,g);if((k[g>>2]|0)==(k[j+40>>2]|0)?(k[g+4>>2]|0)==(k[j+40+4>>2]|0):0){if(oR((k[e>>2]|0)+52|0,j,48)|0){k[k[f>>2]>>2]=1;b=(k[e>>2]|0)+52|0;a=j;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));k[(k[e>>2]|0)+36>>2]=((m[(k[e>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[e>>2]|0)+52+14>>1]|0)&1)<<16)}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}function xt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+144|0;B=D+16|0;c=D+96|0;d=D+92|0;y=D+88|0;u=D+8|0;h=D+80|0;o=D+76|0;t=D+72|0;e=D+104|0;g=D+68|0;z=D+64|0;f=D+60|0;n=D+56|0;p=D;A=D+52|0;s=D+48|0;C=D+44|0;q=D+40|0;x=D+36|0;v=D+32|0;w=D+28|0;m=D+24|0;k[d>>2]=a;k[h>>2]=0;k[h+4>>2]=0;k[o>>2]=1+(l[(k[d>>2]|0)+45>>0]|0);k[t>>2]=8-(k[o>>2]|0);b=ft(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0)|0;k[y>>2]=b;if(k[y>>2]|0){k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}a=(k[d>>2]|0)+52|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));b=fj(k[(k[d>>2]|0)+8>>2]|0,u)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){b=u;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>32){k[g>>2]=0;b=os(k[(k[d>>2]|0)+8>>2]|0,e,32,0,0)|0;k[y>>2]=b;if(k[y>>2]|0)break a;b=qr(e)|0;k[s>>2]=b;b=qr(e+8|0)|0;k[A>>2]=b;if((((k[s>>2]&-2|0)==931071618?!(((k[A>>2]|0)>65536?1:(k[A>>2]&(k[A>>2]|0)-1|0)!=0)|(k[A>>2]|0)<512):0)?(i[(k[d>>2]|0)+52+13>>0]=k[s>>2]&1,k[(k[d>>2]|0)+36>>2]=k[A>>2],s=qr(e+12|0)|0,k[(k[d>>2]|0)+112>>2]=s,s=(k[d>>2]|0)+52+32|0,b=e+16|0,i[s>>0]=i[b>>0]|0,i[s+1>>0]=i[b+1>>0]|0,i[s+2>>0]=i[b+2>>0]|0,i[s+3>>0]=i[b+3>>0]|0,i[s+4>>0]=i[b+4>>0]|0,i[s+5>>0]=i[b+5>>0]|0,i[s+6>>0]=i[b+6>>0]|0,i[s+7>>0]=i[b+7>>0]|0,rt((l[(k[d>>2]|0)+52+13>>0]|0)==((i[968]|0)==0|0)&1,e,24,0,(k[d>>2]|0)+52+24|0),s=k[(k[d>>2]|0)+52+24>>2]|0,(s|0)==(qr(e+24|0)|0)):0)?(s=k[(k[d>>2]|0)+52+24+4>>2]|0,(s|0)==(qr(e+28|0)|0)):0){s=qr(e+4|0)|0;k[C>>2]=s;if((k[C>>2]|0)!=3007e3){C=yt(54951)|0;k[y>>2]=C;break}k[z>>2]=(k[A>>2]|0)+24;C=k[z>>2]|0;C=Td(C,((C|0)<0)<<31>>31)|0;k[g>>2]=C;if(!(k[g>>2]|0)){k[y>>2]=7;break a}k[f>>2]=(k[g>>2]|0)+24;k[n>>2]=0;C=p;k[C>>2]=32;k[C+4>>2]=0;while(1){b=p;s=k[z>>2]|0;s=$R(k[b>>2]|0,k[b+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;b=L;C=u;e=k[C+4>>2]|0;if(!((b|0)<(e|0)|((b|0)==(e|0)?s>>>0<=(k[C>>2]|0)>>>0:0)))break;k[n>>2]=(k[n>>2]|0)+1;C=p;C=os(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[z>>2]|0,k[C>>2]|0,k[C+4>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;C=zt(k[d>>2]|0,x,v,k[f>>2]|0,k[g>>2]|0)|0;k[q>>2]=C;if(!(k[q>>2]|0))break;C=At(k[d>>2]|0,k[n>>2]|0,k[x>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;if(k[v>>2]|0){k[(k[d>>2]|0)+52+16>>2]=k[n>>2];k[(k[d>>2]|0)+52+20>>2]=k[v>>2];j[(k[d>>2]|0)+52+14>>1]=k[A>>2]&65280|k[A>>2]>>16;k[h>>2]=k[(k[d>>2]|0)+52+24>>2];k[h+4>>2]=k[(k[d>>2]|0)+52+24+4>>2]}s=k[z>>2]|0;C=p;s=$R(k[C>>2]|0,k[C+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;C=p;k[C>>2]=s;k[C+4>>2]=L}Ud(k[g>>2]|0)}}while(0);if(!(k[y>>2]|0)){k[(k[d>>2]|0)+52+24>>2]=k[h>>2];k[(k[d>>2]|0)+52+24+4>>2]=k[h+4>>2];qt(k[d>>2]|0);C=kt(k[d>>2]|0)|0;k[w>>2]=C;k[k[w>>2]>>2]=0;k[(k[w>>2]|0)+32>>2]=k[(k[d>>2]|0)+52+16>>2];k[(k[w>>2]|0)+4>>2]=0;k[m>>2]=1;while(1){if((k[m>>2]|0)>=5)break;k[(k[w>>2]|0)+4+(k[m>>2]<<2)>>2]=-1;k[m>>2]=(k[m>>2]|0)+1}if(k[(k[d>>2]|0)+52+16>>2]|0)k[(k[w>>2]|0)+4+4>>2]=k[(k[d>>2]|0)+52+16>>2];if(k[(k[d>>2]|0)+52+20>>2]|0){C=k[(k[d>>2]|0)+108>>2]|0;k[B>>2]=k[(k[d>>2]|0)+52+16>>2];k[B+4>>2]=C;$d(283,25952,B)}}}while(0);Ur(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0);k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}function yt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=$j(14,k[c>>2]|0,25935)|0;r=b;return a|0}function zt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+32|0;g=s+28|0;h=s+24|0;j=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=(k[g>>2]|0)+52+24;if(oR((k[g>>2]|0)+52+32|0,(k[n>>2]|0)+8|0,8)|0){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}c=qr(k[n>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}k[p>>2]=(l[(k[g>>2]|0)+52+13>>0]|0)==((i[968]|0)==0|0)&1;rt(k[p>>2]|0,k[n>>2]|0,8,k[o>>2]|0,k[o>>2]|0);rt(k[p>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[o>>2]|0,k[o>>2]|0);c=k[k[o>>2]>>2]|0;if((c|0)==(qr((k[n>>2]|0)+16|0)|0)?(c=k[(k[o>>2]|0)+4>>2]|0,(c|0)==(qr((k[n>>2]|0)+20|0)|0)):0){k[k[h>>2]>>2]=k[q>>2];c=qr((k[n>>2]|0)+4|0)|0;k[k[j>>2]>>2]=c;k[f>>2]=1;c=k[f>>2]|0;r=s;return c|0}k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}function At(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+44|0;e=t+40|0;f=t+36|0;g=t+32|0;q=t+28|0;m=t+24|0;i=t+20|0;h=t+16|0;l=t+12|0;n=t+8|0;p=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[i>>2]=0;k[h>>2]=0;a=k[e>>2]|0;a=Fs(a,Es(k[f>>2]|0)|0,h,i,m)|0;k[q>>2]=a;do if(!(k[q>>2]|0)){k[n>>2]=(k[f>>2]|0)-(k[m>>2]|0);if((k[n>>2]|0)==1){k[o>>2]=(k[h>>2]|0)+16384-((k[i>>2]|0)+4);dS((k[i>>2]|0)+4|0,0,k[o>>2]|0)|0}if(k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]|0)Ds(k[e>>2]|0);k[p>>2]=k[n>>2];a=Ys(k[g>>2]|0)|0;k[l>>2]=a;while(1){if(!(j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]|0)){s=11;break}a=k[p>>2]|0;k[p>>2]=a+-1;if(!a)break;a=Zs(k[l>>2]|0)|0;k[l>>2]=a}if((s|0)==11){k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]=k[g>>2];j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]=k[n>>2];break}s=_j(54820)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);k[d>>2]=k[q>>2];s=k[d>>2]|0;r=t;return s|0}function Bt(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;if(((k[b>>2]|0)!=0?(k[k[b>>2]>>2]|0)!=0:0)?(k[(k[b>>2]|0)+8>>2]|0)>=0:0){a=gc[k[k[b>>2]>>2]&255](k[(k[b>>2]|0)+4>>2]|0,k[(k[b>>2]|0)+8>>2]|0)|0;k[d>>2]=a;b=(k[b>>2]|0)+8|0;if(!(k[d>>2]|0))k[b>>2]=-1;else k[b>>2]=(k[b>>2]|0)+1;k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}function Ct(){return 48}function Dt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[(k[b>>2]|0)+4>>2]|0)<=72){a=72;r=c;return a|0}a=k[(k[b>>2]|0)+4>>2]|0;r=c;return a|0}function Et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=k[h>>2];k[f>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}do if(l[(k[e>>2]|0)+21>>0]|0){if(((l[(k[e>>2]|0)+21>>0]|0)&3|0)==0?((m[(k[d>>2]|0)+24>>1]|0)&8|0)==0:0)break;k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}while(0);k[(k[d>>2]|0)+12>>2]=0;h=(Lr(k[e>>2]|0)|0)!=0;a=k[d>>2]|0;if(h){h=Gt(a)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=Ht(k[e>>2]|0,k[d>>2]|0,0,0)|0;k[f>>2]=h}}else{if(!(((m[a+24>>1]|0)&8|0)==0?(l[(k[e>>2]|0)+17>>0]|0|0)!=3:0)){h=It(k[e>>2]|0,1)|0;k[f>>2]=h}if(!(k[f>>2]|0)){h=Jt(k[e>>2]|0,k[d>>2]|0)|0;k[f>>2]=h}}if(!(k[f>>2]|0))qj(k[d>>2]|0);h=wr(k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=h;h=k[c>>2]|0;r=g;return h|0}function Ft(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;c=k[n>>2]|0;f=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+28>>2]=k[h>>2];i[(k[n>>2]|0)+32>>0]=k[j>>2];i[(k[n>>2]|0)+33>>0]=2;k[(k[n>>2]|0)+36>>2]=k[l>>2];k[(k[n>>2]|0)+40>>2]=k[m>>2];k[(k[n>>2]|0)+16>>2]=100;k[(k[n>>2]|0)+20>>2]=1;n=ij(k[n>>2]|0,k[g>>2]|0)|0;r=o;return n|0}function Gt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Yt(k[c>>2]|0)|0){a=Zt(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ht(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;n=o+12|0;i=o+8|0;j=o+4|0;m=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:do if(k[h>>2]|0){k[m>>2]=f;k[i>>2]=0;k[j>>2]=k[f>>2];while(1){a=k[j>>2]|0;k[k[m>>2]>>2]=a;if(!a)break a;if((k[(k[j>>2]|0)+20>>2]|0)>>>0<=(k[g>>2]|0)>>>0){k[m>>2]=(k[j>>2]|0)+12;k[i>>2]=(k[i>>2]|0)+1}k[j>>2]=k[(k[j>>2]|0)+12>>2]}}else k[i>>2]=1;while(0);m=(k[e>>2]|0)+192+8|0;k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0);if((k[(k[f>>2]|0)+20>>2]|0)==1)Lt(k[f>>2]|0);m=Rt(k[(k[e>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+160>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,l[(k[e>>2]|0)+11>>0]|0)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if(!(k[(k[e>>2]|0)+96>>2]|0)){n=k[n>>2]|0;r=o;return n|0}k[j>>2]=k[f>>2];while(1){if(!(k[j>>2]|0))break;ss(k[(k[e>>2]|0)+96>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+4>>2]|0);k[j>>2]=k[(k[j>>2]|0)+12>>2]}n=k[n>>2]|0;r=o;return n|0}function It(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n+24|0;d=n+20|0;e=n+16|0;j=n+12|0;g=n+8|0;h=n;f=n+40|0;m=n+28|0;k[d>>2]=a;k[e>>2]=b;a=Mt(k[d>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if((k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0){a=ls(k[(k[d>>2]|0)+64>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]&512)){i[m>>0]=i[25901]|0;i[m+1>>0]=i[25902]|0;i[m+2>>0]=i[25903]|0;i[m+3>>0]=i[25904]|0;i[m+4>>0]=i[25905]|0;i[m+5>>0]=i[25906]|0;i[m+6>>0]=i[25907]|0;i[m+7>>0]=i[25908]|0;pt(m+8|0,k[(k[d>>2]|0)+48>>2]|0);b=zs(k[d>>2]|0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L;a=h;a=os(k[(k[d>>2]|0)+68>>2]|0,f,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a;if((k[j>>2]|0)==0?0==(oR(f,25901,8)|0):0){a=h;a=Sg(k[(k[d>>2]|0)+68>>2]|0,26022,1,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a}if((k[j>>2]|0)!=0&(k[j>>2]|0)!=522){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}if(((l[(k[d>>2]|0)+8>>0]|0)!=0?0==(k[g>>2]&1024|0):0)?(a=Fr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|0)|0,k[j>>2]=a,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+88|0;m=Sg(k[(k[d>>2]|0)+68>>2]|0,m,12,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}}if(0==(k[g>>2]&1024|0)?(m=Fr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|((l[(k[d>>2]|0)+12>>0]|0)==3?16:0))|0,k[j>>2]=m,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}b=(k[d>>2]|0)+80|0;a=k[b+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[b>>2];k[m+4>>2]=a;if(!(k[e>>2]|0))break;if(k[g>>2]&512)break;k[(k[d>>2]|0)+48>>2]=0;m=Nt(k[d>>2]|0)|0;k[j>>2]=m;if(!(k[j>>2]|0))break;k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+80|0;j=k[a+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[a>>2];k[m+4>>2]=j}while(0);Ot(k[(k[d>>2]|0)+212>>2]|0);i[(k[d>>2]|0)+17>>0]=4;k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function Jt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+48|0;d=l+32|0;e=l+28|0;j=l+24|0;c=l+8|0;h=l+20|0;f=l;g=l+16|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){a=Kt(k[d>>2]|0,k[(k[d>>2]|0)+64>>2]|0,k[(k[d>>2]|0)+152>>2]|0)|0;k[j>>2]=a}do if((k[j>>2]|0)==0?(k[(k[d>>2]|0)+40>>2]|0)>>>0<(k[(k[d>>2]|0)+28>>2]|0)>>>0:0){if((k[(k[e>>2]|0)+12>>2]|0)==0?(k[(k[e>>2]|0)+20>>2]|0)>>>0<=(k[(k[d>>2]|0)+40>>2]|0)>>>0:0)break;b=k[(k[d>>2]|0)+160>>2]|0;b=kS(b|0,((b|0)<0)<<31>>31|0,k[(k[d>>2]|0)+28>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;bt(k[(k[d>>2]|0)+64>>2]|0,5,c);k[(k[d>>2]|0)+40>>2]=k[(k[d>>2]|0)+28>>2]}while(0);while(1){if(!((k[j>>2]|0)==0?(k[e>>2]|0)!=0:0))break;k[h>>2]=k[(k[e>>2]|0)+20>>2];if((k[h>>2]|0)>>>0<=(k[(k[d>>2]|0)+28>>2]|0)>>>0?0==((m[(k[e>>2]|0)+24>>1]|0)&16|0):0){a=k[(k[d>>2]|0)+160>>2]|0;a=kS((k[h>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=f;k[c>>2]=a;k[c+4>>2]=L;if((k[(k[e>>2]|0)+20>>2]|0)==1)Lt(k[e>>2]|0);k[g>>2]=k[(k[e>>2]|0)+4>>2];c=f;c=Sg(k[(k[d>>2]|0)+64>>2]|0,k[g>>2]|0,k[(k[d>>2]|0)+160>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[j>>2]=c;if((k[h>>2]|0)==1){b=(k[d>>2]|0)+112|0;a=(k[g>>2]|0)+24|0;c=b+16|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0))}if((k[h>>2]|0)>>>0>(k[(k[d>>2]|0)+36>>2]|0)>>>0)k[(k[d>>2]|0)+36>>2]=k[h>>2];c=(k[d>>2]|0)+192+8|0;k[c>>2]=(k[c>>2]|0)+1;ss(k[(k[d>>2]|0)+96>>2]|0,k[h>>2]|0,k[(k[e>>2]|0)+4>>2]|0)}k[e>>2]=k[(k[e>>2]|0)+12>>2]}r=l;return k[j>>2]|0}function Kt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;k[f>>2]=k[f>>2]|30;c=cs(k[k[h>>2]>>2]|0,0,k[g>>2]|0,k[f>>2]|0,0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function Lt(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=(qr((k[(k[c>>2]|0)+16>>2]|0)+112|0)|0)+1|0;k[d>>2]=a;pt((k[(k[c>>2]|0)+4>>2]|0)+24|0,k[d>>2]|0);pt((k[(k[c>>2]|0)+4>>2]|0)+92|0,k[d>>2]|0);pt((k[(k[c>>2]|0)+4>>2]|0)+96|0,3015001);r=b;return}function Mt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+44>>2];if((k[c>>2]|0)==0?0==(Lr(k[b>>2]|0)|0):0){a=Pt(k[b>>2]|0,4)|0;k[c>>2]=a}r=d;return k[c>>2]|0}function Nt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;h=r;r=r+32|0;c=h+20|0;g=h+16|0;f=h+12|0;d=h+8|0;e=h+4|0;b=h;k[c>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[c>>2]|0)+208>>2];k[d>>2]=k[(k[c>>2]|0)+160>>2];if((k[d>>2]|0)>>>0>(k[(k[c>>2]|0)+156>>2]|0)>>>0)k[d>>2]=k[(k[c>>2]|0)+156>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){m=(k[c>>2]|0)+80|0;j=k[m+4>>2]|0;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;k[a>>2]=k[m>>2];k[a+4>>2]=j}k[b>>2]=(k[b>>2]|0)+1}a=zs(k[c>>2]|0)|0;j=L;m=(k[c>>2]|0)+80|0;k[m>>2]=a;k[m+4>>2]=j;m=(k[c>>2]|0)+88|0;k[m>>2]=a;k[m+4>>2]=j;if(((l[(k[c>>2]|0)+7>>0]|0|0)==0?(l[(k[c>>2]|0)+5>>0]|0|0)!=4:0)?((ls(k[(k[c>>2]|0)+64>>2]|0)|0)&512|0)==0:0){b=k[f>>2]|0;a=b+12|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(a|0))}else{m=k[f>>2]|0;i[m>>0]=i[25901]|0;i[m+1>>0]=i[25902]|0;i[m+2>>0]=i[25903]|0;i[m+3>>0]=i[25904]|0;i[m+4>>0]=i[25905]|0;i[m+5>>0]=i[25906]|0;i[m+6>>0]=i[25907]|0;i[m+7>>0]=i[25908]|0;pt((k[f>>2]|0)+8|0,-1)}ae(4,(k[c>>2]|0)+52|0);pt((k[f>>2]|0)+12|0,k[(k[c>>2]|0)+52>>2]|0);pt((k[f>>2]|0)+16|0,k[(k[c>>2]|0)+32>>2]|0);pt((k[f>>2]|0)+20|0,k[(k[c>>2]|0)+156>>2]|0);pt((k[f>>2]|0)+24|0,k[(k[c>>2]|0)+160>>2]|0);dS((k[f>>2]|0)+28|0,0,(k[d>>2]|0)-28|0)|0;k[e>>2]=0;while(1){if(k[g>>2]|0){b=17;break}if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+156>>2]|0)>>>0){b=17;break}m=(k[c>>2]|0)+80|0;m=Sg(k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,k[d>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m;m=(k[c>>2]|0)+80|0;j=m;j=$R(k[j>>2]|0,k[j+4>>2]|0,k[d>>2]|0,0)|0;k[m>>2]=j;k[m+4>>2]=L;k[e>>2]=(k[e>>2]|0)+(k[d>>2]|0)}if((b|0)==17){r=h;return k[g>>2]|0}return 0}function Ot(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-9;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Pt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){a=Qt(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)!=5){c=4;break}if(!(bc[k[(k[c>>2]|0)+184>>2]&255](k[(k[c>>2]|0)+188>>2]|0)|0)){c=4;break}}if((c|0)==4){r=f;return k[e>>2]|0}return 0}function Qt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[(k[c>>2]|0)+18>>0]|0|0)>=(k[d>>2]|0)?(l[(k[c>>2]|0)+18>>0]|0|0)!=5:0){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=$s(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}if(!((k[d>>2]|0)==4?1:(l[(k[c>>2]|0)+18>>0]|0|0)!=5)){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Rt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0;N=r;r=r+176|0;u=N+136|0;v=N+132|0;w=N+128|0;x=N+124|0;y=N+120|0;z=N+116|0;A=N+112|0;H=N+108|0;C=N+104|0;F=N+100|0;G=N+96|0;E=N+92|0;K=N+88|0;D=N+40|0;M=N+16|0;o=N+84|0;n=N+80|0;h=N+144|0;g=N+72|0;s=N+64|0;q=N+60|0;p=N+8|0;t=N+56|0;B=N+52|0;I=N+48|0;J=N;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[y>>2]=d;k[z>>2]=e;k[A>>2]=f;k[G>>2]=0;k[E>>2]=0;k[o>>2]=0;b=Ns(k[v>>2]|0)|0;k[n>>2]=b;if(oR((k[v>>2]|0)+52|0,k[n>>2]|0,48)|0)k[o>>2]=(k[(k[n>>2]|0)+16>>2]|0)+1;b=St(k[v>>2]|0)|0;k[H>>2]=b;if(b){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}k[C>>2]=k[(k[v>>2]|0)+52+16>>2];if(!(k[C>>2]|0)){pt(h,931071618|(i[968]|0)==0);pt(h+4|0,3007e3);pt(h+8|0,k[w>>2]|0);pt(h+12|0,k[(k[v>>2]|0)+112>>2]|0);if(!(k[(k[v>>2]|0)+112>>2]|0))ae(8,(k[v>>2]|0)+52+32|0);b=h+16|0;f=(k[v>>2]|0)+52+32|0;i[b>>0]=i[f>>0]|0;i[b+1>>0]=i[f+1>>0]|0;i[b+2>>0]=i[f+2>>0]|0;i[b+3>>0]=i[f+3>>0]|0;i[b+4>>0]=i[f+4>>0]|0;i[b+5>>0]=i[f+5>>0]|0;i[b+6>>0]=i[f+6>>0]|0;i[b+7>>0]=i[f+7>>0]|0;rt(1,h,24,0,g);pt(h+24|0,k[g>>2]|0);pt(h+28|0,k[g+4>>2]|0);k[(k[v>>2]|0)+36>>2]=k[w>>2];i[(k[v>>2]|0)+52+13>>0]=(i[968]|0)==0;k[(k[v>>2]|0)+52+24>>2]=k[g>>2];k[(k[v>>2]|0)+52+24+4>>2]=k[g+4>>2];i[(k[v>>2]|0)+47>>0]=1;b=Sg(k[(k[v>>2]|0)+8>>2]|0,h,32,0,0)|0;k[H>>2]=b;if(k[H>>2]|0){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}if(((k[A>>2]|0)!=0?(l[(k[v>>2]|0)+48>>0]|0)!=0:0)?(b=Fr(k[(k[v>>2]|0)+8>>2]|0,k[A>>2]&19)|0,k[H>>2]=b,(k[H>>2]|0)!=0):0){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}}k[M>>2]=k[v>>2];k[M+4>>2]=k[(k[v>>2]|0)+8>>2];f=M+8|0;k[f>>2]=0;k[f+4>>2]=0;k[M+16>>2]=k[A>>2];k[M+20>>2]=k[w>>2];f=(k[w>>2]|0)+24|0;f=kS((k[C>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=$R(32,0,f|0,L|0)|0;b=D;k[b>>2]=f;k[b+4>>2]=L;k[K>>2]=(k[w>>2]|0)+24;k[F>>2]=k[x>>2];while(1){if(!(k[F>>2]|0)){g=30;break}if(((k[o>>2]|0)!=0?((k[z>>2]|0)==0?1:(k[(k[F>>2]|0)+12>>2]|0)!=0):0)?(k[q>>2]=0,Rs(k[v>>2]|0,k[(k[F>>2]|0)+20>>2]|0,q)|0,(k[q>>2]|0)>>>0>=(k[o>>2]|0)>>>0):0){f=(k[w>>2]|0)+24|0;f=kS((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=$R(32,0,f|0,L|0)|0;f=$R(f|0,L|0,24,0)|0;b=p;k[b>>2]=f;k[b+4>>2]=L;if(!((k[(k[v>>2]|0)+104>>2]|0)!=0?(k[q>>2]|0)>>>0>=(k[(k[v>>2]|0)+104>>2]|0)>>>0:0))k[(k[v>>2]|0)+104>>2]=k[q>>2];k[t>>2]=k[(k[F>>2]|0)+4>>2];b=p;b=Sg(k[(k[v>>2]|0)+8>>2]|0,k[t>>2]|0,k[w>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[H>>2]=b;if(k[H>>2]|0){g=22;break}b=(k[F>>2]|0)+24|0;j[b>>1]=m[b>>1]&-65}else{k[C>>2]=(k[C>>2]|0)+1;if(k[z>>2]|0)g=(k[(k[F>>2]|0)+12>>2]|0)==0?k[y>>2]|0:0;else g=0;k[s>>2]=g;b=D;b=Tt(M,k[F>>2]|0,k[s>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[H>>2]=b;if(k[H>>2]|0){g=27;break}k[G>>2]=k[F>>2];f=k[K>>2]|0;b=D;f=$R(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;b=D;k[b>>2]=f;k[b+4>>2]=L;b=(k[F>>2]|0)+24|0;j[b>>1]=m[b>>1]|64}k[F>>2]=k[(k[F>>2]|0)+12>>2]}if((g|0)==22){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}else if((g|0)==27){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}else if((g|0)==30){if(((k[z>>2]|0)!=0?(k[(k[v>>2]|0)+104>>2]|0)!=0:0)?(t=Ut(k[v>>2]|0,k[C>>2]|0)|0,k[H>>2]=t,(k[H>>2]|0)!=0):0){k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}if((k[z>>2]|0)!=0?(k[A>>2]&32|0)!=0:0){k[B>>2]=1;a:do if(i[(k[v>>2]|0)+49>>0]|0){t=ms(k[(k[v>>2]|0)+8>>2]|0)|0;k[I>>2]=t;t=D;s=k[I>>2]|0;s=$R(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=_R(s|0,L|0,1,0)|0;t=k[I>>2]|0;t=iS(s|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;I=k[I>>2]|0;I=kS(t|0,L|0,I|0,((I|0)<0)<<31>>31|0)|0;t=M+8|0;k[t>>2]=I;k[t+4>>2]=L;t=M+8|0;I=D;k[B>>2]=((k[t>>2]|0)==(k[I>>2]|0)?(k[t+4>>2]|0)==(k[I+4>>2]|0):0)&1;while(1){t=D;q=k[t+4>>2]|0;I=M+8|0;s=k[I+4>>2]|0;if(!((q|0)<(s|0)|((q|0)==(s|0)?(k[t>>2]|0)>>>0<(k[I>>2]|0)>>>0:0)))break a;I=D;I=Tt(M,k[G>>2]|0,k[y>>2]|0,k[I>>2]|0,k[I+4>>2]|0)|0;k[H>>2]=I;if(k[H>>2]|0)break;t=k[K>>2]|0;I=D;t=$R(k[I>>2]|0,k[I+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;I=D;k[I>>2]=t;k[I+4>>2]=L;k[E>>2]=(k[E>>2]|0)+1}k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}while(0);if(k[B>>2]|0){M=Fr(k[M+4>>2]|0,k[A>>2]&19)|0;k[H>>2]=M}}if(((k[z>>2]|0)!=0?(l[(k[v>>2]|0)+47>>0]|0)!=0:0)?(M=(k[v>>2]|0)+16|0,K=k[M+4>>2]|0,(K|0)>0|(K|0)==0&(k[M>>2]|0)>>>0>=0):0){M=(k[v>>2]|0)+16|0;D=k[M+4>>2]|0;K=J;k[K>>2]=k[M>>2];k[K+4>>2]=D;K=(k[w>>2]|0)+24|0;K=kS((k[C>>2]|0)+(k[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=$R(32,0,K|0,L|0)|0;D=L;M=(k[v>>2]|0)+16|0;I=k[M+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(k[M>>2]|0)>>>0:0)){K=(k[w>>2]|0)+24|0;K=kS((k[C>>2]|0)+(k[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=$R(32,0,K|0,L|0)|0;M=J;k[M>>2]=K;k[M+4>>2]=L}M=J;ct(k[v>>2]|0,k[M>>2]|0,k[M+4>>2]|0);i[(k[v>>2]|0)+47>>0]=0}k[C>>2]=k[(k[v>>2]|0)+52+16>>2];k[F>>2]=k[x>>2];while(1){if(!((k[F>>2]|0)!=0?(k[H>>2]|0)==0:0))break;if(m[(k[F>>2]|0)+24>>1]&64){k[C>>2]=(k[C>>2]|0)+1;M=At(k[v>>2]|0,k[C>>2]|0,k[(k[F>>2]|0)+20>>2]|0)|0;k[H>>2]=M}k[F>>2]=k[(k[F>>2]|0)+12>>2]}while(1){if(!((k[H>>2]|0)==0?(k[E>>2]|0)>0:0))break;k[C>>2]=(k[C>>2]|0)+1;k[E>>2]=(k[E>>2]|0)+-1;M=At(k[v>>2]|0,k[C>>2]|0,k[(k[G>>2]|0)+20>>2]|0)|0;k[H>>2]=M}if(!(k[H>>2]|0)){j[(k[v>>2]|0)+52+14>>1]=k[w>>2]&65280|k[w>>2]>>16;k[(k[v>>2]|0)+52+16>>2]=k[C>>2];if(k[z>>2]|0){M=(k[v>>2]|0)+52+8|0;k[M>>2]=(k[M>>2]|0)+1;k[(k[v>>2]|0)+52+20>>2]=k[y>>2]}if(k[z>>2]|0){qt(k[v>>2]|0);k[(k[v>>2]|0)+12>>2]=k[C>>2]}}k[u>>2]=k[H>>2];M=k[u>>2]|0;r=N;return M|0}return 0}function St(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;g=i+16|0;d=i+12|0;f=i+8|0;h=i+4|0;e=i;k[c>>2]=a;k[g>>2]=0;if(!(j[(k[c>>2]|0)+40>>1]|0)){a=kt(k[c>>2]|0)|0;k[f>>2]=a;do if((k[k[f>>2]>>2]|0)>>>0>0){ae(4,h);a=ft(k[c>>2]|0,4,4)|0;k[g>>2]=a;if(!(k[g>>2]|0)){nt(k[c>>2]|0,k[h>>2]|0);Ur(k[c>>2]|0,4,4);break}if((k[g>>2]|0)!=5){k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}}while(0);Sr(k[c>>2]|0,3);j[(k[c>>2]|0)+40>>1]=-1;k[d>>2]=0;do{a=k[c>>2]|0;h=(k[d>>2]|0)+1|0;k[d>>2]=h;h=Xt(a,e,1,h)|0;k[g>>2]=h}while((k[g>>2]|0)==-1)}k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}function Tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;f=l+28|0;g=l+24|0;o=l+20|0;n=l+16|0;h=l;j=l+12|0;i=l+8|0;m=l+32|0;k[g>>2]=a;k[o>>2]=b;k[n>>2]=c;b=h;k[b>>2]=d;k[b+4>>2]=e;k[i>>2]=k[(k[o>>2]|0)+4>>2];Vt(k[k[g>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[n>>2]|0,k[i>>2]|0,m);b=h;b=Wt(k[g>>2]|0,m,24,k[b>>2]|0,k[b+4>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}else{b=k[g>>2]|0;m=k[i>>2]|0;n=k[(k[g>>2]|0)+20>>2]|0;o=h;o=$R(k[o>>2]|0,k[o+4>>2]|0,24,0)|0;o=Wt(b,m,n,o,L)|0;k[j>>2]=o;k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}return 0}function Ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;c=p+48|0;d=p+44|0;e=p+40|0;o=p+36|0;n=p+32|0;f=p+28|0;g=p+56|0;l=p+24|0;h=p+8|0;i=p;j=p+20|0;m=p+16|0;k[d>>2]=a;k[e>>2]=b;k[o>>2]=k[(k[d>>2]|0)+36>>2];k[n>>2]=0;a=Sd((k[o>>2]|0)+24|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}if((k[(k[d>>2]|0)+104>>2]|0)==1){a=h;k[a>>2]=24;k[a+4>>2]=0}else{b=(k[o>>2]|0)+24|0;b=kS((k[(k[d>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=$R(32,0,b|0,L|0)|0;b=$R(b|0,L|0,16,0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L}a=h;a=os(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;a=qr(k[f>>2]|0)|0;k[(k[d>>2]|0)+52+24>>2]=a;a=qr((k[f>>2]|0)+4|0)|0;k[(k[d>>2]|0)+52+24+4>>2]=a;k[l>>2]=k[(k[d>>2]|0)+104>>2];k[(k[d>>2]|0)+104>>2]=0;while(1){if(k[n>>2]|0)break;if((k[l>>2]|0)>>>0>(k[e>>2]|0)>>>0)break;b=(k[o>>2]|0)+24|0;b=kS((k[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=$R(32,0,b|0,L|0)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=i;a=os(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,(k[o>>2]|0)+24|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){a=qr(k[f>>2]|0)|0;k[j>>2]=a;a=qr((k[f>>2]|0)+4|0)|0;k[m>>2]=a;Vt(k[d>>2]|0,k[j>>2]|0,k[m>>2]|0,(k[f>>2]|0)+24|0,g);a=i;a=Sg(k[(k[d>>2]|0)+8>>2]|0,g,24,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a}k[l>>2]=(k[l>>2]|0)+1}Ud(k[f>>2]|0);k[c>>2]=k[n>>2];o=k[c>>2]|0;r=p;return o|0}function Vt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+32|0;f=n+24|0;p=n+20|0;o=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=(k[f>>2]|0)+52+24;pt(k[h>>2]|0,k[p>>2]|0);pt((k[h>>2]|0)+4|0,k[o>>2]|0);d=(k[h>>2]|0)+8|0;if(!(k[(k[f>>2]|0)+104>>2]|0)){p=(k[f>>2]|0)+52+32|0;i[d>>0]=i[p>>0]|0;i[d+1>>0]=i[p+1>>0]|0;i[d+2>>0]=i[p+2>>0]|0;i[d+3>>0]=i[p+3>>0]|0;i[d+4>>0]=i[p+4>>0]|0;i[d+5>>0]=i[p+5>>0]|0;i[d+6>>0]=i[p+6>>0]|0;i[d+7>>0]=i[p+7>>0]|0;k[m>>2]=(l[(k[f>>2]|0)+52+13>>0]|0)==((i[968]|0)==0|0)&1;rt(k[m>>2]|0,k[h>>2]|0,8,k[j>>2]|0,k[j>>2]|0);rt(k[m>>2]|0,k[g>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[j>>2]|0,k[j>>2]|0);pt((k[h>>2]|0)+16|0,k[k[j>>2]>>2]|0);pt((k[h>>2]|0)+20|0,k[(k[j>>2]|0)+4>>2]|0);r=n;return}else{e=d+16|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(e|0));r=n;return}}function Wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n;m=n+12|0;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;a=j;e=k[a+4>>2]|0;b=(k[g>>2]|0)+8|0;c=k[b+4>>2]|0;if((e|0)<(c|0)|((e|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?(e=j,a=k[i>>2]|0,a=$R(k[e>>2]|0,k[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,e=L,b=(k[g>>2]|0)+8|0,c=k[b+4>>2]|0,(e|0)>(c|0)|((e|0)==(c|0)?a>>>0>=(k[b>>2]|0)>>>0:0)):0){a=(k[g>>2]|0)+8|0;b=j;b=_R(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[l>>2]=b;b=j;b=Sg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[l>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}a=k[l>>2]|0;b=j;a=$R(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;k[i>>2]=(k[i>>2]|0)-(k[l>>2]|0);k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);b=Fr(k[(k[g>>2]|0)+4>>2]|0,k[(k[g>>2]|0)+16>>2]&19)|0;k[m>>2]=b;if((k[i>>2]|0)==0|(k[m>>2]|0)!=0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}}b=j;b=Sg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}function Xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;v=w+48|0;e=w+44|0;f=w+40|0;g=w+36|0;h=w+32|0;q=w+28|0;o=w+24|0;n=w+20|0;i=w+16|0;s=w+12|0;m=w+8|0;p=w+4|0;t=w;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=0;if((k[h>>2]|0)>5){k[p>>2]=1;if((k[h>>2]|0)>100){k[v>>2]=15;v=k[v>>2]|0;r=w;return v|0}if((k[h>>2]|0)>=10){c=(ha((k[h>>2]|0)-9|0,(k[h>>2]|0)-9|0)|0)*39|0;k[p>>2]=c}Gi(k[k[e>>2]>>2]|0,k[p>>2]|0)|0}if(!(k[g>>2]|0)){c=ht(k[e>>2]|0,k[f>>2]|0)|0;k[s>>2]=c;do if((k[s>>2]|0)==5){if(!(k[k[(k[e>>2]|0)+32>>2]>>2]|0)){k[s>>2]=-1;break}c=Rr(k[e>>2]|0,2)|0;k[s>>2]=c;if(!c){Sr(k[e>>2]|0,2);k[s>>2]=-1;break}if((k[s>>2]|0)==5)k[s>>2]=261}while(0);if(k[s>>2]|0){k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}}c=kt(k[e>>2]|0)|0;k[q>>2]=c;do if((k[g>>2]|0)==0?(k[k[q>>2]>>2]|0)==(k[(k[e>>2]|0)+52+16>>2]|0):0){c=Rr(k[e>>2]|0,3)|0;k[s>>2]=c;st(k[e>>2]|0);if(k[s>>2]|0){if((k[s>>2]|0)==5)break;k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}u=Ns(k[e>>2]|0)|0;u=(oR(u,(k[e>>2]|0)+52|0,48)|0)!=0;e=k[e>>2]|0;if(u){Sr(e,3);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}else{j[e+40>>1]=0;k[v>>2]=0;v=k[v>>2]|0;r=w;return v|0}}while(0);k[o>>2]=0;k[n>>2]=0;k[m>>2]=k[(k[e>>2]|0)+52+16>>2];k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break;k[t>>2]=k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0<=(k[t>>2]|0)>>>0?(k[t>>2]|0)>>>0<=(k[m>>2]|0)>>>0:0){k[o>>2]=k[t>>2];k[n>>2]=k[i>>2]}k[i>>2]=(k[i>>2]|0)+1}a:do if(((l[(k[e>>2]|0)+46>>0]|0)&2|0)==0?((k[n>>2]|0)==0?1:(k[o>>2]|0)>>>0<(k[m>>2]|0)>>>0):0){k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break a;c=ft(k[e>>2]|0,3+(k[i>>2]|0)|0,1)|0;k[s>>2]=c;if(!(k[s>>2]|0)){u=36;break}if((k[s>>2]|0)!=5)break;k[i>>2]=(k[i>>2]|0)+1}if((u|0)==36){u=k[m>>2]|0;k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2]=u;k[o>>2]=u;k[n>>2]=k[i>>2];Ur(k[e>>2]|0,3+(k[i>>2]|0)|0,1);break}k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}while(0);if(!(k[n>>2]|0)){k[v>>2]=(k[s>>2]|0)==5?-1:520;v=k[v>>2]|0;r=w;return v|0}u=Rr(k[e>>2]|0,3+(k[n>>2]|0)|0)|0;k[s>>2]=u;if(k[s>>2]|0){k[v>>2]=(k[s>>2]|0)==5?-1:k[s>>2]|0;v=k[v>>2]|0;r=w;return v|0}k[(k[e>>2]|0)+100>>2]=(k[k[q>>2]>>2]|0)+1;st(k[e>>2]|0);if((k[(k[q>>2]|0)+4+(k[n>>2]<<2)>>2]|0)==(k[o>>2]|0)?(u=Ns(k[e>>2]|0)|0,(oR(u,(k[e>>2]|0)+52|0,48)|0)==0):0){j[(k[e>>2]|0)+40>>1]=k[n>>2];k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}Sr(k[e>>2]|0,3+(k[n>>2]|0)|0);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}function Yt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g+20|0;h=g+16|0;d=g+12|0;c=g+8|0;e=g+4|0;b=g;k[h>>2]=a;k[d>>2]=k[(k[h>>2]|0)+16>>2];k[e>>2]=k[(k[h>>2]|0)+20>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[d>>2]|0)+104>>2]|0)){b=7;break}k[c>>2]=(k[(k[d>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0);if((k[(k[c>>2]|0)+20>>2]|0)>>>0>=(k[e>>2]|0)>>>0?0==(Aj(k[(k[c>>2]|0)+16>>2]|0,k[e>>2]|0)|0):0){b=5;break}k[b>>2]=(k[b>>2]|0)+1}if((b|0)==5){k[f>>2]=1;h=k[f>>2]|0;r=g;return h|0}else if((b|0)==7){k[f>>2]=0;h=k[f>>2]|0;r=g;return h|0}return 0}function Zt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;b=h+24|0;g=h+20|0;f=h+16|0;d=h+12|0;c=h;e=h+8|0;k[b>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[b>>2]|0)+16>>2];if(((l[(k[f>>2]|0)+5>>0]|0|0)!=2?(a=_t(k[f>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0)?(k[d>>2]=k[(k[b>>2]|0)+4>>2],i=4+(k[(k[f>>2]|0)+160>>2]|0)|0,i=kS(k[(k[f>>2]|0)+56>>2]|0,0,i|0,((i|0)<0)<<31>>31|0)|0,a=c,k[a>>2]=i,k[a+4>>2]=L,k[e>>2]=k[d>>2],a=c,a=$t(k[(k[f>>2]|0)+72>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){d=k[(k[f>>2]|0)+72>>2]|0;e=k[e>>2]|0;a=k[(k[f>>2]|0)+160>>2]|0;i=c;i=$R(k[i>>2]|0,k[i+4>>2]|0,4,0)|0;i=Sg(d,e,a,i,L)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=(k[f>>2]|0)+56|0;k[i>>2]=(k[i>>2]|0)+1;i=au(k[f>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function _t(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;d=e+8|0;c=e;k[b>>2]=a;k[d>>2]=0;if(k[k[(k[b>>2]|0)+72>>2]>>2]|0){d=k[d>>2]|0;r=e;return d|0}k[e+4>>2]=8222;k[c>>2]=k[11];if(!((l[(k[b>>2]|0)+5>>0]|0|0)!=4?(l[(k[b>>2]|0)+22>>0]|0|0)==0:0))k[c>>2]=-1;a=bu(k[k[b>>2]>>2]|0,0,k[(k[b>>2]|0)+72>>2]|0,8222,k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function $t(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;g=e+12|0;h=e;i=e+8|0;f=e+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;pt(f,k[i>>2]|0);d=h;d=Sg(k[g>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;r=e;return d|0}function au(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;k[f>>2]=(k[(k[c>>2]|0)+100>>2]|0)+((k[e>>2]|0)*48|0);if((k[d>>2]|0)>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0){b=vj(k[(k[f>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[g>>2]=k[g>>2]|b}k[e>>2]=(k[e>>2]|0)+1}r=h;return k[g>>2]|0}function bu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;l=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[i>>2];d=k[m>>2]|0;e=d+72|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(k[l>>2]|0)){m=cs(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,0)|0;k[f>>2]=m;m=k[f>>2]|0;r=n;return m|0}if((k[l>>2]|0)>0)k[(k[m>>2]|0)+4>>2]=k[l>>2];else k[(k[m>>2]|0)+4>>2]=1020;k[k[m>>2]>>2]=4028;k[(k[m>>2]|0)+8>>2]=k[l>>2];k[(k[m>>2]|0)+56>>2]=k[j>>2];k[(k[m>>2]|0)+64>>2]=k[h>>2];k[(k[m>>2]|0)+60>>2]=k[g>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function cu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function du(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Ps(k[c>>2]|0)|0;r=b;return a|0}function eu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;f=x+40|0;g=x+36|0;t=x+50|0;n=x+52|0;h=x+32|0;d=x+28|0;w=x+24|0;b=x+48|0;q=x+20|0;v=x+16|0;o=x+12|0;p=x+8|0;c=x+4|0;e=x;s=x+46|0;u=x+44|0;k[g>>2]=a;do if(!(i[k[g>>2]>>0]|0)){k[d>>2]=k[(k[g>>2]|0)+52>>2];i[n>>0]=i[(k[g>>2]|0)+5>>0]|0;k[h>>2]=k[(k[g>>2]|0)+56>>2];if(fu(k[g>>2]|0,l[(k[h>>2]|0)+(l[n>>0]|0)>>0]|0)|0){w=_j(60006)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}j[(k[g>>2]|0)+20>>1]=(k[(k[d>>2]|0)+32>>2]|0)-1;i[(k[g>>2]|0)+1>>0]=0;k[w>>2]=k[(k[d>>2]|0)+36>>2];a=(l[n>>0]|0)+8+(l[(k[g>>2]|0)+6>>0]|0)&65535;j[b>>1]=a;j[(k[g>>2]|0)+14>>1]=a;k[(k[g>>2]|0)+60>>2]=(k[h>>2]|0)+(k[w>>2]|0);k[(k[g>>2]|0)+64>>2]=(k[h>>2]|0)+(m[b>>1]|0);k[(k[g>>2]|0)+68>>2]=(k[h>>2]|0)+(l[(k[g>>2]|0)+6>>0]|0);k[v>>2]=((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0])-1&65535)+1;j[(k[g>>2]|0)+18>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+3)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+3)+1>>0];if((m[(k[g>>2]|0)+18>>1]|0)>>>0>((((k[(k[d>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){w=_j(60024)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}k[o>>2]=(m[b>>1]|0)+(m[(k[g>>2]|0)+18>>1]<<1);k[p>>2]=(k[w>>2]|0)-4;do if(k[(k[(k[d>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(i[(k[g>>2]|0)+4>>0]|0))k[p>>2]=(k[p>>2]|0)+-1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[g>>2]|0)+18>>1]|0)){b=17;break}j[t>>1]=l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))>>0]<<8|l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))+1>>0];if((m[t>>1]|0)<(k[o>>2]|0)){b=13;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=13;break}a=(gc[k[(k[g>>2]|0)+76>>2]&255](k[g>>2]|0,(k[h>>2]|0)+(m[t>>1]|0)|0)|0)&65535;k[e>>2]=a;if(((m[t>>1]|0)+(k[e>>2]|0)|0)>(k[w>>2]|0)){b=15;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==13){w=_j(60052)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==15){w=_j(60057)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==17){if(i[(k[g>>2]|0)+4>>0]|0)break;k[p>>2]=(k[p>>2]|0)+1;break}}while(0);j[t>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0];k[q>>2]=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0)+(k[v>>2]|0);while(1){if((m[t>>1]|0)<=0){b=29;break}if((m[t>>1]|0)<(k[o>>2]|0)){b=23;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=23;break}j[s>>1]=l[(k[h>>2]|0)+(m[t>>1]|0)>>0]<<8|l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0];j[u>>1]=l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]<<8|l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0];if((m[s>>1]|0)>0?(m[s>>1]|0)<=((m[t>>1]|0)+(m[u>>1]|0)+3|0):0){b=27;break}if(((m[t>>1]|0)+(m[u>>1]|0)|0)>(k[w>>2]|0)){b=27;break}k[q>>2]=(k[q>>2]|0)+(m[u>>1]|0);j[t>>1]=j[s>>1]|0}if((b|0)==23){w=_j(60077)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==27){w=_j(60084)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==29){if((k[q>>2]|0)<=(k[w>>2]|0)){j[(k[g>>2]|0)+16>>1]=(k[q>>2]|0)-(k[o>>2]|0);i[k[g>>2]>>0]=1;break}w=_j(60098)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}}while(0);k[f>>2]=0;w=k[f>>2]|0;r=x;return w|0}function fu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;i[(k[e>>2]|0)+4>>0]=k[c>>2]>>3;k[c>>2]=k[c>>2]&-9;i[(k[e>>2]|0)+6>>0]=4-(l[(k[e>>2]|0)+4>>0]<<2);k[(k[e>>2]|0)+76>>2]=188;k[f>>2]=k[(k[e>>2]|0)+52>>2];do if((k[c>>2]|0)==5){i[(k[e>>2]|0)+2>>0]=1;c=(k[e>>2]|0)+3|0;if(i[(k[e>>2]|0)+4>>0]|0){i[c>>0]=1;k[(k[e>>2]|0)+80>>2]=226}else{i[c>>0]=0;k[(k[e>>2]|0)+76>>2]=189;k[(k[e>>2]|0)+80>>2]=227}j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+28>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+30>>1]|0}else{if((k[c>>2]|0)==2){i[(k[e>>2]|0)+2>>0]=0;i[(k[e>>2]|0)+3>>0]=0;k[(k[e>>2]|0)+80>>2]=228;j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+24>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+26>>1]|0;break}f=_j(59964)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}while(0);i[(k[e>>2]|0)+7>>0]=i[(k[f>>2]|0)+21>>0]|0;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function gu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);k[f>>2]=l[k[h>>2]>>0];a:do if((k[f>>2]|0)>>>0>=128){k[g>>2]=(k[h>>2]|0)+8;k[f>>2]=k[f>>2]&127;do{b=k[f>>2]<<7;a=(k[h>>2]|0)+1|0;k[h>>2]=a;k[f>>2]=b|l[a>>0]&127;if((l[k[h>>2]>>0]|0)<128)break a}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);k[h>>2]=(k[h>>2]|0)+1;b:do if(i[(k[c>>2]|0)+2>>0]|0){k[g>>2]=(k[h>>2]|0)+9;do{a=k[h>>2]|0;k[h>>2]=a+1;if(!(l[a>>0]&128))break b}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);if((k[f>>2]|0)>>>0<=(m[(k[c>>2]|0)+10>>1]|0)>>>0){a=(k[f>>2]|0)+((k[h>>2]|0)-(k[d>>2]|0))|0;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<4?4:a;a=k[f>>2]|0;a=a&65535;r=j;return a|0}k[e>>2]=m[(k[c>>2]|0)+12>>1];k[f>>2]=(k[e>>2]|0)+((((k[f>>2]|0)-(k[e>>2]|0)|0)>>>0)%(((k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[f>>2]|0)>>>0>(m[(k[c>>2]|0)+10>>1]|0)>>>0)k[f>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+(4+((k[h>>2]|0)-(k[d>>2]|0)&65535));a=k[f>>2]|0;a=a&65535;r=j;return a|0}function hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;o=p+20|0;h=p+16|0;g=p;i=p+12|0;n=p+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[e>>2];k[h>>2]=l[k[o>>2]>>0];a:do if((k[h>>2]|0)>>>0>=128){k[i>>2]=(k[o>>2]|0)+8;k[h>>2]=k[h>>2]&127;do{c=k[h>>2]<<7;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[h>>2]=c|(l[a>>0]|0)&127;if((l[k[o>>2]>>0]|0|0)<128)break a}while((k[o>>2]|0)>>>0<(k[i>>2]|0)>>>0)}while(0);k[o>>2]=(k[o>>2]|0)+1;a=g;k[a>>2]=l[k[o>>2]>>0];k[a+4>>2]=0;a=g;c=k[a+4>>2]|0;b:do if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=128){k[n>>2]=(k[o>>2]|0)+7;a=g;k[a>>2]=k[g>>2]&127;k[a+4>>2]=0;do{i=g;i=eS(k[i>>2]|0,k[i+4>>2]|0,7)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;c=(l[c>>0]|0)&127;a=g;k[a>>2]=i|c;k[a+4>>2]=L|((c|0)<0)<<31>>31;if((l[k[o>>2]>>0]|0|0)<128)break b}while((k[o>>2]|0)>>>0<(k[n>>2]|0)>>>0);n=g;n=eS(k[n>>2]|0,k[n+4>>2]|0,8)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;a=g;k[a>>2]=n|(l[c>>0]|0);k[a+4>>2]=L}while(0);k[o>>2]=(k[o>>2]|0)+1;n=g;c=k[n+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[n>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+8>>2]=k[o>>2];if((k[h>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){lu(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=p;return}j[(k[f>>2]|0)+18>>1]=(k[h>>2]|0)+((k[o>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[h>>2];r=p;return}function iu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;e=f+4|0;d=f;k[f+12>>2]=a;k[c>>2]=b;k[e>>2]=(k[c>>2]|0)+4;k[d>>2]=(k[e>>2]|0)+9;do{a=k[e>>2]|0;k[e>>2]=a+1;if(!((l[a>>0]|0)&128))break}while((k[e>>2]|0)>>>0<(k[d>>2]|0)>>>0);r=f;return (k[e>>2]|0)-(k[c>>2]|0)&65535|0}function ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d;k[d+8>>2]=a;k[f>>2]=b;k[e>>2]=c;a=4+((mu((k[f>>2]|0)+4|0,k[e>>2]|0)|0)&255)&65535;j[(k[e>>2]|0)+18>>1]=a;k[(k[e>>2]|0)+12>>2]=0;j[(k[e>>2]|0)+16>>1]=0;k[(k[e>>2]|0)+8>>2]=0;r=d;return}function ku(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;i=n+8|0;g=n+4|0;h=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+6>>0]|0);k[g>>2]=l[k[i>>2]>>0];a:do if((k[g>>2]|0)>>>0>=128){k[h>>2]=(k[i>>2]|0)+8;k[g>>2]=k[g>>2]&127;do{c=k[g>>2]<<7;a=(k[i>>2]|0)+1|0;k[i>>2]=a;k[g>>2]=c|(l[a>>0]|0)&127;if((l[k[i>>2]>>0]|0|0)<128)break a}while((k[i>>2]|0)>>>0<(k[h>>2]|0)>>>0)}while(0);k[i>>2]=(k[i>>2]|0)+1;a=k[f>>2]|0;k[a>>2]=k[g>>2];k[a+4>>2]=0;k[(k[f>>2]|0)+12>>2]=k[g>>2];k[(k[f>>2]|0)+8>>2]=k[i>>2];if((k[g>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){lu(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=n;return}j[(k[f>>2]|0)+18>>1]=(k[g>>2]|0)+((k[i>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[g>>2];r=n;return}function lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=r;r=r+32|0;l=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=m[(k[l>>2]|0)+12>>1];k[i>>2]=m[(k[l>>2]|0)+10>>1];k[g>>2]=(k[f>>2]|0)+((((k[(k[e>>2]|0)+12>>2]|0)-(k[f>>2]|0)|0)>>>0)%(((k[(k[(k[l>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[g>>2]|0)<=(k[i>>2]|0))j[(k[e>>2]|0)+16>>1]=k[g>>2];else j[(k[e>>2]|0)+16>>1]=k[f>>2];j[(k[e>>2]|0)+18>>1]=((k[(k[e>>2]|0)+8>>2]|0)+(m[(k[e>>2]|0)+16>>1]|0)-(k[d>>2]|0)&65535)+4;r=h;return}function mu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=1;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=2;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);b=(k[f>>2]&128|0)!=0;k[f>>2]=k[f>>2]&2080895;if(!b){k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=3;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);b=(k[g>>2]&128|0)!=0;k[g>>2]=k[g>>2]&2080895;a=k[f>>2]|0;if(!b){k[f>>2]=a<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=4;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=5;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=k[h>>2]<<7;k[h>>2]=k[h>>2]|k[g>>2];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=6;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);a=k[f>>2]|0;if(!(k[f>>2]&128)){k[f>>2]=a&-266354561;k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>11;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=7;h=i[c>>0]|0;r=j;return h|0}k[f>>2]=a&2080895;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(k[g>>2]&128){k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<15;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<8;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=k[h>>2]<<4;k[g>>2]=l[(k[d>>2]|0)+-4>>0];k[g>>2]=k[g>>2]&127;k[g>>2]=(k[g>>2]|0)>>>3;k[h>>2]=k[h>>2]|k[g>>2];g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=9;h=i[c>>0]|0;r=j;return h|0}else{k[g>>2]=k[g>>2]&-266354561;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>4;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=8;h=i[c>>0]|0;r=j;return h|0}return 0}function nu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;while(1){if((k[d>>2]|0)>0)a=(i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)==32;else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=b+-1}r=e;return (b|0)==0|0}function ou(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;if(!(k[e>>2]|0)){j=k[j>>2]|0;r=m;return j|0}k[i>>2]=k[(k[e>>2]|0)+4>>2];wg(k[e>>2]|0);if(l[(k[i>>2]|0)+20>>0]|0){k[j>>2]=6;j=k[j>>2]|0;r=m;return j|0}else{c=pu(k[k[i>>2]>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;j=k[j>>2]|0;r=m;return j|0}return 0}function pu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;if(!(k[(k[e>>2]|0)+216>>2]|0)){i=k[i>>2]|0;r=j;return i|0}if(!(k[f>>2]|0))b=0;else b=k[(k[e>>2]|0)+184>>2]|0;h=at(k[(k[e>>2]|0)+216>>2]|0,k[f>>2]|0,b,k[(k[e>>2]|0)+188>>2]|0,l[(k[e>>2]|0)+10>>0]|0,k[(k[e>>2]|0)+160>>2]|0,k[(k[e>>2]|0)+208>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}function qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;c=k[e>>2]|0;if((k[f>>2]|0)==-2){k[d>>2]=(k[c+12>>2]|0)==0?0:6;h=k[d>>2]|0;r=j;return h|0}if((i[c>>0]|0)!=(k[f>>2]|0)?(i[k[e>>2]>>0]|0)>=0:0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}if((i[k[e>>2]>>0]|0)==(k[f>>2]|0))k[h>>2]=4;else k[h>>2]=1;if((l[g>>0]|0)!=(m[(k[e>>2]|0)+2>>1]&3|0)){if(l[g>>0]&m[(k[e>>2]|0)+2>>1]&2)k[h>>2]=(k[h>>2]|0)+1}else k[h>>2]=(k[h>>2]|0)+2;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}function ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;e=f+12|0;g=f+8|0;c=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[1092+(k[g>>2]<<2)>>2];while(1){if(!(k[d>>2]|0)){a=6;break}g=(sg(k[(k[d>>2]|0)+20>>2]|0,k[c>>2]|0)|0)==0;b=k[d>>2]|0;if(g){a=4;break}k[d>>2]=k[b+24>>2]}if((a|0)==4){k[e>>2]=b;g=k[e>>2]|0;r=f;return g|0}else if((a|0)==6){k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}return 0}function su(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(((m[(k[d>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[d>>2]|0)+10>>0]|0|0)!=(k[e>>2]|0):0){a=tu(k[d>>2]|0,k[e>>2]&255)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;h=v+40|0;n=v+36|0;o=v+45|0;e=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;q=v+16|0;p=v+12|0;d=v+44|0;c=v+8|0;f=v+4|0;g=v;k[n>>2]=a;i[o>>0]=b;if((l[(k[n>>2]|0)+10>>0]|0|0)!=1?(l[o>>0]|0|0)!=1:0){t=lh(k[n>>2]|0)|0;k[c>>2]=t;if(k[c>>2]|0){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]&-2);while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break;i[d>>0]=i[k[s>>2]>>0]|0;i[k[s>>2]>>0]=i[(k[s>>2]|0)+1>>0]|0;k[s>>2]=(k[s>>2]|0)+1;q=i[d>>0]|0;t=k[s>>2]|0;k[s>>2]=t+1;i[t>>0]=q}i[(k[n>>2]|0)+10>>0]=i[o>>0]|0}else{b=(k[n>>2]|0)+12|0;a=k[b>>2]|0;if((l[o>>0]|0|0)==1){k[b>>2]=a&-2;k[e>>2]=(k[(k[n>>2]|0)+12>>2]<<1)+1}else k[e>>2]=(a<<1)+2;k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]|0);e=k[e>>2]|0;e=Mh(k[(k[n>>2]|0)+32>>2]|0,e,((e|0)<0)<<31>>31)|0;k[t>>2]=e;if(!(k[t>>2]|0)){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[q>>2]=k[t>>2];if((l[(k[n>>2]|0)+10>>0]|0|0)==1){a:do if((l[o>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[25563+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;f=(k[p>>2]|0)>>>8&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{g=(b>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=216+(((k[p>>2]|0)-65536|0)>>>18&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=k[p>>2]&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=220+((k[p>>2]|0)>>>8&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[25563+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b>>>8;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=216+((b-65536|0)>>>18&3);f=((k[p>>2]|0)>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=220+((k[p>>2]|0)>>>8&3)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0);u=k[q>>2]|0;k[q>>2]=u+1;i[u>>0]=0}else{b:do if((l[(k[n>>2]|0)+10>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(k[p>>2]|0)+((l[g>>0]|0)<<8);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=(k[f>>2]|0)+((l[g>>0]|0)<<8);k[p>>2]=(k[f>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=224+(b>>>12&15);g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(k[p>>2]|0)+(l[f>>0]|0);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(k[g>>2]|0)+(l[f>>0]|0);k[p>>2]=(k[g>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=224+(b>>>12&15);f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0)}i[k[q>>2]>>0]=0;k[p>>2]=m[(k[n>>2]|0)+8>>1];fh(k[n>>2]|0);j[(k[n>>2]|0)+8>>1]=514|k[p>>2]&32799;i[(k[n>>2]|0)+10>>0]=i[o>>0]|0;k[(k[n>>2]|0)+16>>2]=k[t>>2];k[(k[n>>2]|0)+20>>2]=k[(k[n>>2]|0)+16>>2];u=uu(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+16>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=u}k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}function uu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[d>>2]|0)!=0?(vu(k[d>>2]|0,k[e>>2]|0)|0)!=0:0){k[c>>2]=m[(k[d>>2]|0)+256+4>>1];b=k[c>>2]|0;r=f;return b|0}b=bc[k[60>>2]&255](k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function vu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;r=e;return b|0}b=(k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+36>>2]|0)>>>0;b=b&1;r=e;return b|0}function wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+24>>2];if(!(k[d>>2]|0)){r=e;return}f=k[d>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if(k[k[d>>2]>>2]|0){r=e;return}_b[k[(k[d>>2]|0)+4>>2]&255](k[(k[d>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function xu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[f>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2];a:do if(k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]|0){k[d>>2]=k[(k[f>>2]|0)+8+8>>2];while(1){if(!(k[d>>2]|0))break a;k[g>>2]=k[(k[d>>2]|0)+8>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16)Du(k[b>>2]|0,k[g>>2]|0);k[d>>2]=k[k[d>>2]>>2]}}while(0);k[c>>2]=(k[c>>2]|0)+1}k[d>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[e>>2]|0)+16>>2]|0)Du(k[b>>2]|0,k[(k[e>>2]|0)+16>>2]|0);k[d>>2]=k[k[d>>2]>>2]}Eu(k[b>>2]|0);r=h;return}function yu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Bu(k[c>>2]|0,68);r=b;return 0} +function FJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;l=m+4|0;j=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;k[g>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[n>>2]<<4);k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[l>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[l>>2]|0)+28>>2]|0)==(k[e>>2]|0))k[(k[l>>2]|0)+28>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+24;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[j>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[j>>2]|0)+44>>2]|0)==(k[e>>2]|0))k[(k[j>>2]|0)+44>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}r=m;return}function GJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);c=fI(k[g>>2]|0,k[e>>2]|0,0)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}hL(k[d>>2]|0,0,0,1);c=iL(k[g>>2]|0,k[e>>2]|0,0,k[f>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function HJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;bL(k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+20>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+59>>0]|0|0))break;k[f>>2]=(k[d>>2]|0)+64+((k[e>>2]|0)*72|0);cL(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+8>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}if(!(k[(k[d>>2]|0)+36+4>>2]|0))dL(0,k[(k[d>>2]|0)+36>>2]|0);k[(k[d>>2]|0)+36>>2]=0;k[(k[d>>2]|0)+36+8>>2]=0;i[(k[d>>2]|0)+56>>0]=0;k[(k[d>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+8>>2]=0;bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);k[(k[d>>2]|0)+32>>2]=0;r=g;return}function IJ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=GJ(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+52>>2]|0,0)|0;r=b;return a|0}function JJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;e=d+16|0;i=d+12|0;g=d+8|0;f=d+4|0;h=d;k[e>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[i>>2]<<4);c=ck((k[(k[h>>2]|0)+12>>2]|0)+8|0,k[g>>2]|0,0)|0;k[f>>2]=c;$f(k[e>>2]|0,k[f>>2]|0);c=(k[e>>2]|0)+24|0;k[c>>2]=k[c>>2]|2;r=d;return}function KJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;d=g+20|0;j=g+16|0;h=g+12|0;f=g+8|0;i=g+4|0;e=g;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;k[i>>2]=(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[j>>2]<<4)+12>>2]|0)+24;c=ck(k[i>>2]|0,k[h>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}a=k[f>>2]|0;if((k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[(k[a+12>>2]|0)+8>>2];while(1){if(k[e>>2]|0)b=(k[(k[e>>2]|0)+20>>2]|0)!=(k[f>>2]|0);else b=0;a=k[e>>2]|0;if(!b)break;k[e>>2]=k[a+20>>2]}if((a|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)==(k[f>>2]|0):0)k[(k[e>>2]|0)+20>>2]=k[(k[f>>2]|0)+20>>2]}else k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]=k[a+20>>2];PH(k[d>>2]|0,k[f>>2]|0);j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}function LJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;e=h+24|0;l=h+20|0;i=h+16|0;f=h+12|0;j=h+8|0;d=h+4|0;g=h;k[e>>2]=a;k[l>>2]=b;k[i>>2]=c;k[j>>2]=(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)+12>>2]|0)+40;c=ck(k[j>>2]|0,k[i>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){r=h;return}if((k[(k[f>>2]|0)+20>>2]|0)==(k[(k[f>>2]|0)+24>>2]|0)){l=jC(k[f>>2]|0)|0;k[d>>2]=l;k[g>>2]=(k[d>>2]|0)+60;while(1){a=(k[k[g>>2]>>2]|0)+32|0;if((k[k[g>>2]>>2]|0)==(k[f>>2]|0))break;k[g>>2]=a}k[k[g>>2]>>2]=k[a>>2]}_f(k[e>>2]|0,k[f>>2]|0);l=(k[e>>2]|0)+24|0;k[l>>2]=k[l>>2]|2;r=h;return}function MJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+240|0;s=t+16|0;q=t+8|0;v=t+124|0;f=t+120|0;g=t+116|0;u=t+112|0;h=t+108|0;j=t+104|0;o=t+32|0;n=t+24|0;p=t+20|0;m=t;k[v>>2]=a;k[f>>2]=b;k[g>>2]=c;k[u>>2]=d;k[h>>2]=e;k[n>>2]=k[(k[v>>2]|0)+4>>2];k[p>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2];wg(k[v>>2]|0);k[o>>2]=k[n>>2];k[o+4>>2]=k[k[n>>2]>>2];e=TF(k[o>>2]|0)|0;k[o+12>>2]=e;k[o+16>>2]=k[u>>2];k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o+32>>2]=0;k[o+36>>2]=0;k[o+8>>2]=0;k[o+68>>2]=0;ng(o+40|0,0,t+128|0,100,1e9);i[o+40+25>>0]=1;a:do if(k[o+12>>2]|0){v=ug((((k[o+12>>2]|0)>>>0)/8|0)+1|0,0)|0;k[o+8>>2]=v;if(!(k[o+8>>2]|0)){k[o+24>>2]=1;break}v=gj(k[(k[n>>2]|0)+32>>2]|0)|0;k[o+68>>2]=v;if(!(k[o+68>>2]|0)){k[o+24>>2]=1;break}k[j>>2]=(((k[384]|0)>>>0)/((k[(k[n>>2]|0)+32>>2]|0)>>>0)|0)+1;if((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0)UK(o,k[j>>2]|0);k[o+28>>2]=41095;v=qr((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;VK(o,1,v,qr((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);k[o+28>>2]=0;v=(k[(k[n>>2]|0)+4>>2]|0)+24|0;k[v>>2]=k[v>>2]&-536870913;k[j>>2]=0;while(1){if(!((k[j>>2]|0)<(k[g>>2]|0)?(k[o+16>>2]|0)!=0:0))break;if(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0){if((l[(k[n>>2]|0)+17>>0]|0)!=0?(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0)>1:0)WK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,1,0);XK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,m,-1,2147483647)|0}k[j>>2]=(k[j>>2]|0)+1}k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]=k[p>>2];k[j>>2]=1;while(1){if(!((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0?(k[o+16>>2]|0)!=0:0))break a;do if(!(YK(o,k[j>>2]|0)|0)){v=dG(k[n>>2]|0,k[j>>2]|0)|0;if((v|0)==(k[j>>2]|0)?(i[(k[n>>2]|0)+17>>0]|0)!=0:0)break;k[q>>2]=k[j>>2];ZK(o,41111,q)}while(0);if(((YK(o,k[j>>2]|0)|0)!=0?(v=dG(k[n>>2]|0,k[j>>2]|0)|0,(v|0)==(k[j>>2]|0)):0)?(l[(k[n>>2]|0)+17>>0]|0)!=0:0){k[s>>2]=k[j>>2];ZK(o,41133,s)}k[j>>2]=(k[j>>2]|0)+1}}while(0);jj(k[o+68>>2]|0);Ud(k[o+8>>2]|0);if(k[o+24>>2]|0){HA(o+40|0);v=o+20|0;k[v>>2]=(k[v>>2]|0)+1}k[k[h>>2]>>2]=k[o+20>>2];if(k[o+20>>2]|0){v=o+40|0;v=pg(v)|0;r=t;return v|0}HA(o+40|0);v=o+40|0;v=pg(v)|0;r=t;return v|0}function NJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+32>>2];fh(k[b>>2]|0);a=dx(k[c>>2]|0,64,0)|0;k[(k[b>>2]|0)+20>>2]=a;if(i[(k[c>>2]|0)+69>>0]|0){j[(k[b>>2]|0)+8>>1]=1;k[(k[b>>2]|0)+24>>2]=0;r=d;return}else{a=uu(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[(k[b>>2]|0)+24>>2]=a;a=TK(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0,k[(k[b>>2]|0)+24>>2]|0)|0;k[k[b>>2]>>2]=a;j[(k[b>>2]|0)+8>>1]=32;r=d;return}}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=RK(k[d>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=h;return}b=e;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+8>>2]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];if(k[g>>2]|0){b=k[e+4>>2]|0;a=k[g>>2]|0;c=k[a+4>>2]|0;if((b|0)<(c|0)|((b|0)==(c|0)?(k[e>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)){a=(k[d>>2]|0)+26|0;j[a>>1]=(m[a>>1]|0)&-2}k[(k[g>>2]|0)+8>>2]=k[f>>2]}else k[(k[d>>2]|0)+8>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];r=h;return}function PJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((m[(k[d>>2]|0)+26>>1]|0)&2)){if(!((m[(k[d>>2]|0)+26>>1]|0)&1)){b=NK(k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=b}b=(k[d>>2]|0)+26|0;j[b>>1]=m[b>>1]|0|3}if(!(k[(k[d>>2]|0)+8>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}g=k[(k[d>>2]|0)+8>>2]|0;a=k[g+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[g>>2];k[b+4>>2]=a;k[(k[d>>2]|0)+8>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+8>>2];if(!(k[(k[d>>2]|0)+8>>2]|0))yG(k[d>>2]|0);k[c>>2]=1;g=k[c>>2]|0;r=f;return g|0}function QJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;e=s+32|0;f=s+28|0;o=s;p=s+24|0;q=s+20|0;i=s+16|0;g=s+12|0;h=s+8|0;k[e>>2]=a;k[f>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;if((k[f>>2]|0)!=(k[(k[e>>2]|0)+28>>2]|0)){k[p>>2]=k[(k[e>>2]|0)+8>>2];if(k[p>>2]|0){k[i>>2]=(k[e>>2]|0)+20;if(!((m[(k[e>>2]|0)+26>>1]|0)&1)){a=NK(k[p>>2]|0)|0;k[p>>2]=a}k[q>>2]=k[(k[e>>2]|0)+20>>2];while(1){if(!(k[q>>2]|0))break;k[i>>2]=(k[q>>2]|0)+8;if(!(k[(k[q>>2]|0)+12>>2]|0)){l=8;break}PK(k[(k[q>>2]|0)+12>>2]|0,g,h);k[(k[q>>2]|0)+12>>2]=0;a=QK(k[g>>2]|0,k[p>>2]|0)|0;k[p>>2]=a;k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==8){l=OK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}if((k[q>>2]|0)==0?(l=RK(k[e>>2]|0)|0,k[q>>2]=l,k[k[i>>2]>>2]=l,(k[q>>2]|0)!=0):0){l=k[q>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[(k[q>>2]|0)+8>>2]=0;l=OK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;l=(k[e>>2]|0)+26|0;j[l>>1]=m[l>>1]|0|1}k[(k[e>>2]|0)+28>>2]=k[f>>2]}k[q>>2]=k[(k[e>>2]|0)+20>>2];a:while(1){if(!(k[q>>2]|0)){l=25;break}k[p>>2]=k[(k[q>>2]|0)+12>>2];while(1){if(!(k[p>>2]|0))break;i=k[p>>2]|0;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;c=k[p>>2]|0;if((a|0)<(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0<(k[l>>2]|0)>>>0:0)){k[p>>2]=k[c+8>>2];continue}i=c;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;if(!((a|0)>(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0>(k[l>>2]|0)>>>0:0))){l=23;break a}k[p>>2]=k[(k[p>>2]|0)+12>>2]}k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==23){k[n>>2]=1;q=k[n>>2]|0;r=s;return q|0}else if((l|0)==25){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function RJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((l[(k[c>>2]|0)+17>>0]|0|0)>=3){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,c=k[a+4>>2]|0,(c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0):0){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}function SJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[k[(k[b>>2]|0)+64>>2]>>2];if(i[(k[b>>2]|0)+14>>0]|0){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}if(!(l[(k[b>>2]|0)+4>>0]|0))if((k[k[c>>2]>>2]|0)>=2)b=(k[(k[c>>2]|0)+52>>2]|0)!=0;else b=0;else b=1;k[d>>2]=b&1;d=k[d>>2]|0;r=e;return d|0}function TJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if(!(k[(k[b>>2]|0)+216>>2]|0)){k[c>>2]=0;a=Qt(k[b>>2]|0,1)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=gs(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+220>>2]|0,0,c)|0;k[d>>2]=a}if((k[d>>2]|0)==0&(k[c>>2]|0)!=0){a=IK(k[b>>2]|0)|0;k[d>>2]=a}}if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}if(!(k[(k[b>>2]|0)+216>>2]|0)){d=k[d>>2]|0;r=e;return d|0}a=JK(k[b>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=tr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[(k[b>>2]|0)+208>>2]|0)|0;k[d>>2]=a;k[(k[b>>2]|0)+216>>2]=0;kj(k[b>>2]|0);if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}if(i[(k[b>>2]|0)+4>>0]|0){d=k[d>>2]|0;r=e;return d|0}Pr(k[b>>2]|0,1)|0;d=k[d>>2]|0;r=e;return d|0}function UJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+12|0;d=h+8|0;e=h+16|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+5>>0]|0;if((i[(k[c>>2]|0)+16>>0]|0)!=0?(k[d>>2]|0)!=4&(k[d>>2]|0)!=2:0)k[d>>2]=l[e>>0];do if((k[d>>2]|0)!=(l[e>>0]|0)){i[(k[c>>2]|0)+5>>0]=k[d>>2];if(((i[(k[c>>2]|0)+4>>0]|0)==0?(l[e>>0]&5|0)==1:0)?(k[d>>2]&1|0)==0:0){yr(k[(k[c>>2]|0)+68>>2]|0);if((l[(k[c>>2]|0)+18>>0]|0)>=2){Hr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;break}k[f>>2]=0;k[g>>2]=l[(k[c>>2]|0)+17>>0];if(!(k[g>>2]|0)){a=BK(k[c>>2]|0)|0;k[f>>2]=a}if((l[(k[c>>2]|0)+17>>0]|0)==1){a=Qt(k[c>>2]|0,2)|0;k[f>>2]=a}if(!(k[f>>2]|0))Hr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;if((k[f>>2]|0)==0&(k[g>>2]|0)==1){Pr(k[c>>2]|0,1)|0;break}if(k[g>>2]|0)break;ur(k[c>>2]|0);break}if((k[d>>2]|0)==2)yr(k[(k[c>>2]|0)+68>>2]|0)}while(0);r=h;return l[(k[c>>2]|0)+5>>0]|0}function VJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;n=D+24|0;m=D+16|0;j=D+8|0;h=D;p=D+92|0;f=D+88|0;q=D+84|0;d=D+80|0;y=D+76|0;w=D+72|0;x=D+68|0;z=D+64|0;B=D+60|0;C=D+56|0;A=D+96|0;v=D+52|0;e=D+48|0;u=D+44|0;g=D+40|0;o=D+36|0;t=D+32|0;s=D+28|0;k[f>>2]=a;k[q>>2]=b;k[d>>2]=c;k[y>>2]=0;k[v>>2]=0;if(!(i[(k[q>>2]|0)+67>>0]|0)){Mj(k[f>>2]|0,k[q>>2]|0,40519);k[p>>2]=1;C=k[p>>2]|0;r=D;return C|0}if((k[(k[q>>2]|0)+156>>2]|0)>1){Mj(k[f>>2]|0,k[q>>2]|0,40559);k[p>>2]=1;C=k[p>>2]|0;r=D;return C|0}k[z>>2]=k[(k[q>>2]|0)+24>>2];k[B>>2]=k[(k[q>>2]|0)+88>>2];k[C>>2]=k[(k[q>>2]|0)+92>>2];i[A>>0]=i[(k[q>>2]|0)+76>>0]|0;a=(k[q>>2]|0)+24|0;k[a>>2]=k[a>>2]|270542848;a=(k[q>>2]|0)+24|0;k[a>>2]=k[a>>2]&-655489;i[(k[q>>2]|0)+76>>0]=0;k[o>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];k[w>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2];a=uK(Zf(k[w>>2]|0)|0)|0;k[e>>2]=a;k[g>>2]=k[(k[q>>2]|0)+20>>2];a=vK(k[q>>2]|0,k[f>>2]|0,40602)|0;k[y>>2]=a;a:do if(((k[y>>2]|0)==0?(k[v>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(k[g>>2]<<4),k[x>>2]=k[(k[v>>2]|0)+4>>2],Qj(k[x>>2]|0)|0,a=wK(k[w>>2]|0)|0,k[u>>2]=a,Oj(k[x>>2]|0,k[(k[(k[(k[q>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+80>>2]|0)|0,a=k[x>>2]|0,EC(a,EC(k[w>>2]|0,0)|0)|0,eC(k[x>>2]|0,33)|0,a=vK(k[q>>2]|0,k[f>>2]|0,37527)|0,k[y>>2]=a,(k[y>>2]|0)==0):0)?(a=zg(k[w>>2]|0,2)|0,k[y>>2]=a,(k[y>>2]|0)==0):0){if((Dg(Zf(k[w>>2]|0)|0)|0)==5)k[(k[q>>2]|0)+80>>2]=0;c=k[x>>2]|0;a=Cg(k[w>>2]|0)|0;do if(!(Mi(c,a,k[u>>2]|0,0)|0)){if((k[e>>2]|0)==0?(Mi(k[x>>2]|0,k[(k[q>>2]|0)+80>>2]|0,k[u>>2]|0,0)|0)!=0:0)break;if(!(l[(k[q>>2]|0)+69>>0]|0)){d=k[x>>2]|0;if((i[(k[q>>2]|0)+72>>0]|0)>=0)b=i[(k[q>>2]|0)+72>>0]|0;else b=BC(k[w>>2]|0)|0;DC(d,b)|0;i[(k[q>>2]|0)+148+4>>0]=k[g>>2];a=k[q>>2]|0;g=k[f>>2]|0;k[h>>2]=k[o>>2];h=xK(a,g,40623,h)|0;k[y>>2]=h;if(k[y>>2]|0)break a;g=k[q>>2]|0;h=k[f>>2]|0;k[j>>2]=k[o>>2];j=xK(g,h,40731,j)|0;k[y>>2]=j;if(k[y>>2]|0)break a;i[(k[q>>2]|0)+148+4>>0]=0;h=k[q>>2]|0;j=k[f>>2]|0;k[m>>2]=k[o>>2];m=xK(h,j,40804,m)|0;k[y>>2]=m;m=(k[q>>2]|0)+24|0;k[m>>2]=k[m>>2]&-268435457;if(k[y>>2]|0)break a;j=k[q>>2]|0;m=k[f>>2]|0;k[n>>2]=k[o>>2];o=xK(j,m,40955,n)|0;k[y>>2]=o;if(k[y>>2]|0)break a;k[s>>2]=0;while(1){d=k[w>>2]|0;if((k[s>>2]|0)>=10)break;Bg(d,l[41085+(k[s>>2]|0)>>0]|0,t);o=Lg(k[x>>2]|0,l[41085+(k[s>>2]|0)>>0]|0,(k[t>>2]|0)+(l[41085+((k[s>>2]|0)+1)>>0]|0)|0)|0;k[y>>2]=o;if(k[y>>2]|0)break a;k[s>>2]=(k[s>>2]|0)+2}t=yK(d,k[x>>2]|0)|0;k[y>>2]=t;if(k[y>>2]|0)break a;t=Qj(k[x>>2]|0)|0;k[y>>2]=t;if(k[y>>2]|0)break a;t=k[w>>2]|0;DC(t,BC(k[x>>2]|0)|0)|0;t=k[w>>2]|0;x=Cg(k[x>>2]|0)|0;x=Mi(t,x,k[u>>2]|0,1)|0;k[y>>2]=x;break a}}while(0);k[y>>2]=7}while(0);i[(k[q>>2]|0)+148+4>>0]=0;k[(k[q>>2]|0)+24>>2]=k[z>>2];k[(k[q>>2]|0)+88>>2]=k[B>>2];k[(k[q>>2]|0)+92>>2]=k[C>>2];i[(k[q>>2]|0)+76>>0]=i[A>>0]|0;Mi(k[w>>2]|0,-1,-1,1)|0;i[(k[q>>2]|0)+67>>0]=1;if(k[v>>2]|0){VB(k[(k[v>>2]|0)+4>>2]|0)|0;k[(k[v>>2]|0)+4>>2]=0;k[(k[v>>2]|0)+12>>2]=0}Mg(k[q>>2]|0);k[p>>2]=k[y>>2];C=k[p>>2]|0;r=D;return C|0}function WJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;f=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;b=g;k[h>>2]=a;k[e>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!(i[(k[e>>2]|0)+17>>0]|0)){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=TF(k[e>>2]|0)|0;k[d>>2]=h;h=qr((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[c>>2]=h;h=hK(k[e>>2]|0,k[d>>2]|0,k[c>>2]|0)|0;k[b>>2]=h;if((k[d>>2]|0)>>>0<(k[b>>2]|0)>>>0){h=_j(61866)|0;k[f>>2]=h;h=k[f>>2]|0;r=g;return h|0}if((k[c>>2]|0)>>>0<=0){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=fI(k[e>>2]|0,0,0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){iK(k[e>>2]|0);h=jK(k[e>>2]|0,k[b>>2]|0,k[d>>2]|0,0)|0;k[f>>2]=h}if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=Qg(k[(k[(k[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[f>>2]=h;pt((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[e>>2]|0)+44>>2]|0);h=k[f>>2]|0;r=g;return h|0}function XJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;d=j+8|0;e=j+4|0;f=j+13|0;h=j;g=j+12|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;k[h>>2]=0;if(!(i[(k[d>>2]|0)+9>>0]|0)){h=k[h>>2]|0;r=j;return h|0}i[g>>0]=1+(l[f>>0]|0);wg(k[d>>2]|0);a=eI(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=j;return h|0}a=gK(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;h=k[h>>2]|0;r=j;return h|0}function YJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;e=l+16|0;i=l+12|0;h=l+8|0;f=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[i>>2]=0;if((k[(k[d>>2]|0)+316>>2]|0)>0?(k[(k[d>>2]|0)+340>>2]|0)==0:0){k[c>>2]=6;j=k[c>>2]|0;r=l;return j|0}if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}k[h>>2]=k[k[(k[e>>2]|0)+8>>2]>>2];if(k[(k[h>>2]|0)+56>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0))break;if((k[(k[(k[d>>2]|0)+340>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[e>>2]|0)){j=10;break}k[f>>2]=(k[f>>2]|0)+1}if((j|0)==10){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}j=eK(k[d>>2]|0)|0;k[i>>2]=j;if((((k[i>>2]|0)==0?(j=bc[k[(k[h>>2]|0)+56>>2]&255](k[(k[e>>2]|0)+8>>2]|0)|0,k[i>>2]=j,(k[i>>2]|0)==0):0)?(k[g>>2]=(k[(k[d>>2]|0)+436>>2]|0)+(k[(k[d>>2]|0)+432>>2]|0),fK(k[d>>2]|0,k[e>>2]|0),(k[g>>2]|0)!=0):0)?(k[(k[h>>2]|0)+80>>2]|0)!=0:0){k[(k[e>>2]|0)+20>>2]=k[g>>2];j=gc[k[(k[h>>2]|0)+80>>2]&255](k[(k[e>>2]|0)+8>>2]|0,(k[g>>2]|0)-1|0)|0;k[i>>2]=j}}k[c>>2]=k[i>>2];j=k[c>>2]|0;r=l;return j|0}function ZJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;j=m;e=m+32|0;n=m+28|0;o=m+24|0;f=m+20|0;i=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;k[e>>2]=a;k[n>>2]=b;k[o>>2]=c;k[f>>2]=d;k[i>>2]=0;c=Di(k[e>>2]|0,k[o>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2]|0)|0;k[h>>2]=c;k[l>>2]=k[k[(k[h>>2]|0)+52>>2]>>2];c=Cj((k[e>>2]|0)+320|0,k[l>>2]|0)|0;k[g>>2]=c;if(((k[g>>2]|0)!=0?(k[(k[k[g>>2]>>2]|0)+4>>2]|0)!=0:0)?(k[(k[k[g>>2]>>2]|0)+20>>2]|0)!=0:0){o=Tz(k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+4>>2]|0,k[f>>2]|0)|0;k[i>>2]=o}else{o=k[e>>2]|0;k[j>>2]=k[l>>2];o=Qh(o,30631,j)|0;k[k[f>>2]>>2]=o;k[i>>2]=1}if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}if(!(cy(k[e>>2]|0,k[h>>2]|0)|0)){o=k[i>>2]|0;r=m;return o|0}o=eK(k[e>>2]|0)|0;k[i>>2]=o;if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}o=k[e>>2]|0;fK(o,cy(k[e>>2]|0,k[h>>2]|0)|0);o=k[i>>2]|0;r=m;return o|0}function _J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;l=j+20|0;m=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;k[e>>2]=a;k[l>>2]=b;k[m>>2]=c;k[h>>2]=0;c=Di(k[e>>2]|0,k[m>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[g>>2]=c;do if((k[g>>2]|0)!=0?(k[(k[g>>2]|0)+56>>2]|0)!=0:0){k[f>>2]=k[(k[g>>2]|0)+56>>2];while(1){if(!(k[f>>2]|0)){a=8;break}if((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}k[f>>2]=k[(k[f>>2]|0)+24>>2]}if((a|0)==6){k[d>>2]=6;m=k[d>>2]|0;r=j;return m|0}else if((a|0)==8){m=dK(k[e>>2]|0,k[g>>2]|0)|0;k[f>>2]=m;k[i>>2]=k[(k[k[(k[f>>2]|0)+4>>2]>>2]|0)+20>>2];m=bc[k[i>>2]&255](k[(k[f>>2]|0)+8>>2]|0)|0;k[h>>2]=m;if(k[h>>2]|0)break;k[(k[f>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+56>>2]=0;Cu(k[f>>2]|0);break}}while(0);k[d>>2]=k[h>>2];m=k[d>>2]|0;r=j;return m|0}function $J(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;wg(k[f>>2]|0);a=cK(k[k[(k[f>>2]|0)+4>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function aK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)==3082){r=e;return}k[d>>2]=k[d>>2]&255;if(!((k[d>>2]|0)==14|(k[d>>2]|0)==10)){r=e;return}b=bK(k[k[c>>2]>>2]|0)|0;k[(k[c>>2]|0)+60>>2]=b;r=e;return}function bK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+68>>2]|0)){a=0;r=c;return a|0}a=Yb[k[(k[b>>2]|0)+68>>2]&255](k[b>>2]|0,0,0)|0;r=c;return a|0}function cK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>0)k[(k[c>>2]|0)+164>>2]=k[d>>2];r=e;return k[(k[c>>2]|0)+164>>2]|0}function dK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;h=i+8|0;e=i+4|0;f=i;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[h>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=0;while(1){if(!(k[h>>2]|0))break;k[e>>2]=k[k[h>>2]>>2];k[f>>2]=k[(k[h>>2]|0)+24>>2];if((k[e>>2]|0)==(k[c>>2]|0)){k[g>>2]=k[h>>2];k[(k[d>>2]|0)+56>>2]=k[g>>2];k[(k[g>>2]|0)+24>>2]=0}else{k[(k[h>>2]|0)+24>>2]=k[(k[e>>2]|0)+344>>2];k[(k[e>>2]|0)+344>>2]=k[h>>2]}k[h>>2]=k[f>>2]}r=i;return k[g>>2]|0}function eK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+16|0;c=f+12|0;d=f+4|0;e=f;k[c>>2]=a;k[f+8>>2]=5;do if(!((k[(k[c>>2]|0)+316>>2]|0)%5|0)){k[e>>2]=(k[(k[c>>2]|0)+316>>2]|0)+5<<2;e=k[e>>2]|0;e=cx(k[c>>2]|0,k[(k[c>>2]|0)+340>>2]|0,e,((e|0)<0)<<31>>31)|0;k[d>>2]=e;if(k[d>>2]|0){e=(k[d>>2]|0)+(k[(k[c>>2]|0)+316>>2]<<2)|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[(k[c>>2]|0)+340>>2]=k[d>>2];break}k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function fK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[d>>2]|0;f=(k[e>>2]|0)+316|0;b=k[f>>2]|0;k[f>>2]=b+1;k[(k[(k[e>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;rI(k[d>>2]|0);r=c;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+24|0;h=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];k[m>>2]=0;k[j>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[j>>2]|0))break;if((k[(k[j>>2]|0)+4>>2]|0)==(k[f>>2]|0)?(k[k[j>>2]>>2]|0)==(k[e>>2]|0):0){n=5;break}k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((n|0)==5)k[m>>2]=k[j>>2];do if(!(k[m>>2]|0)){n=ug(16,0)|0;k[m>>2]=n;if(k[m>>2]|0){k[(k[m>>2]|0)+4>>2]=k[f>>2];k[k[m>>2]>>2]=k[e>>2];k[(k[m>>2]|0)+12>>2]=k[(k[h>>2]|0)+72>>2];k[(k[h>>2]|0)+72>>2]=k[m>>2];break}k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}while(0);if((l[g>>0]|0|0)>(l[(k[m>>2]|0)+8>>0]|0|0))i[(k[m>>2]|0)+8>>0]=i[g>>0]|0;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;d=f+20|0;g=f+16|0;i=f+12|0;j=f+8|0;h=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[i>>2]=c;k[j>>2]=((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0;a=(k[i>>2]|0)-(k[g>>2]|0)|0;a=a+(dG(k[d>>2]|0,k[g>>2]|0)|0)|0;k[h>>2]=((a+(k[j>>2]|0)|0)>>>0)/((k[j>>2]|0)>>>0)|0;k[e>>2]=(k[g>>2]|0)-(k[i>>2]|0)-(k[h>>2]|0);if((k[g>>2]|0)>>>0>((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(k[e>>2]|0)>>>0<((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)k[e>>2]=(k[e>>2]|0)+-1;while(1){j=dG(k[d>>2]|0,k[e>>2]|0)|0;if((j|0)==(k[e>>2]|0))b=1;else b=(k[e>>2]|0)==((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0);c=k[e>>2]|0;if(!b)break;k[e>>2]=c+-1}r=f;return c|0}function iK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-5;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function jK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+52|0;f=z+48|0;g=z+44|0;h=z+40|0;j=z+36|0;t=z+32|0;x=z+28|0;n=z+57|0;s=z+24|0;o=z+20|0;u=z+16|0;p=z+12|0;w=z+8|0;m=z+56|0;q=z+4|0;v=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;a=dG(k[f>>2]|0,k[h>>2]|0)|0;do if((a|0)!=(k[h>>2]|0)?(k[h>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=qr((k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[t>>2]=a;if(!(k[t>>2]|0)){k[e>>2]=101;y=k[e>>2]|0;r=z;return y|0}a=eG(k[f>>2]|0,k[h>>2]|0,n,s)|0;k[x>>2]=a;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==1){y=_j(61751)|0;k[e>>2]=y;y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==2){if(k[j>>2]|0)break;y=kK(k[f>>2]|0,u,o,k[h>>2]|0,1)|0;k[x>>2]=y;if(!(k[x>>2]|0)){_B(k[u>>2]|0);break}k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}i[m>>0]=0;k[q>>2]=0;u=fG(k[f>>2]|0,k[h>>2]|0,w,0)|0;k[x>>2]=u;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if(!(k[j>>2]|0)){i[m>>0]=2;k[q>>2]=k[g>>2]}do{u=kK(k[f>>2]|0,v,p,k[q>>2]|0,i[m>>0]|0)|0;k[x>>2]=u;if(k[x>>2]|0){y=19;break}_B(k[v>>2]|0);if(!(k[j>>2]|0))break}while((k[p>>2]|0)>>>0>(k[g>>2]|0)>>>0);if((y|0)==19){_B(k[w>>2]|0);k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}y=lK(k[f>>2]|0,k[w>>2]|0,i[n>>0]|0,k[s>>2]|0,k[p>>2]|0,k[j>>2]|0)|0;k[x>>2]=y;_B(k[w>>2]|0);if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}}while(0);if(!(k[j>>2]|0)){while(1){k[h>>2]=(k[h>>2]|0)+-1;if((k[h>>2]|0)==((((k[384]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=dG(k[f>>2]|0,k[h>>2]|0)|0;if((y|0)!=(k[h>>2]|0))break}i[(k[f>>2]|0)+19>>0]=1;k[(k[f>>2]|0)+44>>2]=k[h>>2]}k[e>>2]=0;y=k[e>>2]|0;r=z;return y|0}function kK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;H=L+96|0;j=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;p=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;g=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;q=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;f=L+4|0;h=L;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;i[p>>0]=e;k[J>>2]=0;k[I>>2]=0;k[F>>2]=k[(k[j>>2]|0)+12>>2];b=TF(k[j>>2]|0)|0;k[A>>2]=b;b=qr((k[(k[F>>2]|0)+56>>2]|0)+36|0)|0;k[B>>2]=b;if((k[B>>2]|0)>>>0>=(k[A>>2]|0)>>>0){K=_j(63793)|0;k[H>>2]=K;K=k[H>>2]|0;r=L;return K|0}a:do if((k[B>>2]|0)>>>0>0){i[G>>0]=0;k[C>>2]=0;do if((l[p>>0]|0)==1){if((k[o>>2]|0)>>>0<=(k[A>>2]|0)>>>0){b=eG(k[j>>2]|0,k[o>>2]|0,g,0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{if((l[g>>0]|0)!=2)break;i[G>>0]=1;break}}}else if((l[p>>0]|0)==2)i[G>>0]=1;while(0);b=Qg(k[(k[F>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}pt((k[(k[F>>2]|0)+56>>2]|0)+36|0,(k[B>>2]|0)-1|0);b:while(1){k[I>>2]=k[J>>2];if(k[I>>2]|0){b=qr(k[(k[I>>2]|0)+56>>2]|0)|0;k[y>>2]=b}else{b=qr((k[(k[F>>2]|0)+56>>2]|0)+32|0)|0;k[y>>2]=b}if((k[y>>2]|0)>>>0<=(k[A>>2]|0)>>>0?(b=k[C>>2]|0,k[C>>2]=b+1,b>>>0<=(k[B>>2]|0)>>>0):0){b=sK(k[j>>2]|0,k[y>>2]|0,J,0)|0;k[K>>2]=b}else{b=_j(63849)|0;k[K>>2]=b}if(k[K>>2]|0){f=23;break}b=qr((k[(k[J>>2]|0)+56>>2]|0)+4|0)|0;k[z>>2]=b;c:do if((k[z>>2]|0)!=0|(i[G>>0]|0)!=0){if((k[z>>2]|0)>>>0>((((k[(k[j>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){f=28;break b}do if(l[G>>0]|0){if((k[o>>2]|0)!=(k[y>>2]|0)){if((k[y>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[y>>2];k[k[m>>2]>>2]=k[J>>2];i[G>>0]=0;b=Qg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;do if(!(k[z>>2]|0)){if(!(k[I>>2]|0)){b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;break}b=Qg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;b=k[(k[I>>2]|0)+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}else{b=qr((k[(k[J>>2]|0)+56>>2]|0)+8|0)|0;k[w>>2]=b;if((k[w>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=40;break b}b=sK(k[j>>2]|0,k[w>>2]|0,E,0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;e=Qg(k[(k[E>>2]|0)+72>>2]|0)|0;k[K>>2]=e;e=k[E>>2]|0;if(k[K>>2]|0){f=43;break b}b=k[e+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;pt((k[(k[E>>2]|0)+56>>2]|0)+4|0,(k[z>>2]|0)-1|0);bS((k[(k[E>>2]|0)+56>>2]|0)+8|0,(k[(k[J>>2]|0)+56>>2]|0)+12|0,(k[z>>2]|0)-1<<2|0)|0;_B(k[E>>2]|0);if(!(k[I>>2]|0)){pt((k[(k[F>>2]|0)+56>>2]|0)+32|0,k[w>>2]|0);break}b=Qg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;pt(k[(k[I>>2]|0)+56>>2]|0,k[w>>2]|0)}while(0);k[J>>2]=0;break c}while(0);if((k[z>>2]|0)>>>0>0){k[q>>2]=k[(k[J>>2]|0)+56>>2];b=(k[o>>2]|0)>>>0>0;k[s>>2]=0;d:do if(b)if((l[p>>0]|0)==2){k[v>>2]=0;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;f=qr((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;k[x>>2]=f;f=k[v>>2]|0;if((k[x>>2]|0)>>>0<=(k[o>>2]|0)>>>0)break;k[v>>2]=f+1}k[s>>2]=f;break}else{b=qr((k[q>>2]|0)+8|0)|0;b=Nj(b-(k[o>>2]|0)|0)|0;k[u>>2]=b;k[v>>2]=1;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;b=qr((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;b=Nj(b-(k[o>>2]|0)|0)|0;k[t>>2]=b;if((k[t>>2]|0)<(k[u>>2]|0)){k[s>>2]=k[v>>2];k[u>>2]=k[t>>2]}k[v>>2]=(k[v>>2]|0)+1}}while(0);b=qr((k[q>>2]|0)+(8+(k[s>>2]<<2))|0)|0;k[x>>2]=b;if((k[x>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=63;break b}if((i[G>>0]|0)!=0?(k[x>>2]|0)!=(k[o>>2]|0):0){if((k[x>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[x>>2];b=Qg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;if((k[s>>2]|0)>>>0<((k[z>>2]|0)-1|0)>>>0){b=(k[q>>2]|0)+(8+(k[s>>2]<<2))|0;c=(k[q>>2]|0)+(4+(k[z>>2]<<2))|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}pt((k[q>>2]|0)+4|0,(k[z>>2]|0)-1|0);b=(tK(k[j>>2]|0,k[k[n>>2]>>2]|0)|0)!=0^1;k[D>>2]=b?1:0;b=sK(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[D>>2]|0)|0;k[K>>2]=b;do if(!(k[K>>2]|0)){b=Qg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(!(k[K>>2]|0))break;_B(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0}while(0);i[G>>0]=0}}else{b=Qg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;k[k[n>>2]>>2]=k[y>>2];b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;k[k[m>>2]>>2]=k[J>>2];k[J>>2]=0}while(0);_B(k[I>>2]|0);k[I>>2]=0;if(!(i[G>>0]|0))break a}if((f|0)==23){k[J>>2]=0;break}else if((f|0)==28){G=_j(63878)|0;k[K>>2]=G;break}else if((f|0)==40){G=_j(63912)|0;k[K>>2]=G;break}else if((f|0)==43){_B(e);break}else if((f|0)==63){G=_j(63977)|0;k[K>>2]=G;break}}else{k[f>>2]=0==(l[(k[j>>2]|0)+19>>0]|0)?1:0;G=Qg(k[(k[(k[j>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)==((((k[384]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1}do if((l[(k[j>>2]|0)+17>>0]|0)!=0?(G=dG(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0)|0,(G|0)==(k[(k[j>>2]|0)+44>>2]|0)):0){k[h>>2]=0;G=sK(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0,h,k[f>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0)){G=Qg(k[(k[h>>2]|0)+72>>2]|0)|0;k[K>>2]=G;_B(k[h>>2]|0)}if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;break}}while(0);pt((k[(k[(k[j>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[j>>2]|0)+44>>2]|0);k[k[n>>2]>>2]=k[(k[j>>2]|0)+44>>2];G=sK(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[f>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=Qg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0))break;_B(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;break}}while(0);_B(k[J>>2]|0);_B(k[I>>2]|0);k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}function lK(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;g=v+32|0;o=v+44|0;p=v+28|0;q=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;h=v;k[n>>2]=a;k[g>>2]=b;i[o>>0]=c;k[p>>2]=d;k[q>>2]=e;k[w>>2]=f;k[s>>2]=k[(k[g>>2]|0)+84>>2];k[x>>2]=k[k[n>>2]>>2];b=mK(k[x>>2]|0,k[(k[g>>2]|0)+72>>2]|0,k[q>>2]|0,k[w>>2]|0)|0;k[u>>2]=b;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}k[(k[g>>2]|0)+84>>2]=k[q>>2];if((l[o>>0]|0|0)!=5?(l[o>>0]|0|0)!=1:0){x=qr(k[(k[g>>2]|0)+56>>2]|0)|0;k[h>>2]=x;if((k[h>>2]|0)!=0?(oK(k[n>>2]|0,k[h>>2]|0,4,k[q>>2]|0,u),(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}}else j=5;if((j|0)==5?(x=nK(k[g>>2]|0)|0,k[u>>2]=x,(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}do if((l[o>>0]|0|0)!=1){x=fG(k[n>>2]|0,k[p>>2]|0,t,0)|0;k[u>>2]=x;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}g=Qg(k[(k[t>>2]|0)+72>>2]|0)|0;k[u>>2]=g;g=k[t>>2]|0;if(k[u>>2]|0){_B(g);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}else{x=pK(g,k[s>>2]|0,k[q>>2]|0,i[o>>0]|0)|0;k[u>>2]=x;_B(k[t>>2]|0);if(k[u>>2]|0)break;oK(k[n>>2]|0,k[q>>2]|0,i[o>>0]|0,k[p>>2]|0,u);break}}while(0);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}function mK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;f=u+36|0;g=u+32|0;h=u+28|0;n=u+24|0;e=u+20|0;s=u+16|0;o=u+12|0;t=u+8|0;p=u+4|0;q=u;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[e>>2]=d;k[o>>2]=0;if((i[(k[g>>2]|0)+13>>0]|0)!=0?(c=Qg(k[h>>2]|0)|0,k[t>>2]=c,(k[t>>2]|0)!=0):0){k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}if((m[(k[h>>2]|0)+24>>1]&2|0)!=0?(c=Gt(k[h>>2]|0)|0,k[t>>2]=c,0!=(c|0)):0){k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}if(!((k[e>>2]|0)!=0?1:(m[(k[h>>2]|0)+24>>1]&8|0)==0))k[o>>2]=k[(k[h>>2]|0)+20>>2];c=(k[h>>2]|0)+24|0;j[c>>1]=m[c>>1]&-9;c=rs(k[g>>2]|0,k[n>>2]|0)|0;k[s>>2]=c;do if(k[s>>2]|0){e=(k[h>>2]|0)+24|0;j[e>>1]=m[e>>1]|m[(k[s>>2]|0)+24>>1]&8;e=k[s>>2]|0;if(i[(k[g>>2]|0)+13>>0]|0){rK(e,(k[(k[g>>2]|0)+28>>2]|0)+1|0);break}else{Qs(e);break}}while(0);k[p>>2]=k[(k[h>>2]|0)+20>>2];rK(k[h>>2]|0,k[n>>2]|0);ts(k[h>>2]|0);if((k[s>>2]|0)!=0?(l[(k[g>>2]|0)+13>>0]|0)!=0:0){rK(k[s>>2]|0,k[p>>2]|0);Ts(k[s>>2]|0)}do if(k[o>>2]|0){s=Fg(k[g>>2]|0,k[o>>2]|0,q,0)|0;k[t>>2]=s;if(!(k[t>>2]|0)){t=(k[q>>2]|0)+24|0;j[t>>1]=m[t>>1]|8;ts(k[q>>2]|0);Ts(k[q>>2]|0);break}if((k[o>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0)wj(k[(k[g>>2]|0)+60>>2]|0,k[o>>2]|0,k[(k[g>>2]|0)+208>>2]|0);k[f>>2]=k[t>>2];t=k[f>>2]|0;r=u;return t|0}while(0);k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}function nK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0;p=r;r=r+48|0;b=p+32|0;e=p+28|0;g=p+24|0;o=p+20|0;h=p+16|0;f=p+36|0;n=p+12|0;j=p+8|0;c=p+4|0;d=p;k[b>>2]=a;k[h>>2]=k[(k[b>>2]|0)+52>>2];i[f>>0]=i[k[b>>2]>>0]|0;k[n>>2]=k[(k[b>>2]|0)+84>>2];a=eu(k[b>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}k[g>>2]=m[(k[b>>2]|0)+18>>1];k[e>>2]=0;while(1){a=k[b>>2]|0;if((k[e>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=(k[a+56>>2]|0)+(m[(k[b>>2]|0)+20>>1]&(l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)>>0]<<8|l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)+1>>0]));qK(k[b>>2]|0,k[j>>2]|0,o);if(!(i[(k[b>>2]|0)+4>>0]|0)){a=qr(k[j>>2]|0)|0;k[c>>2]=a;oK(k[h>>2]|0,k[c>>2]|0,5,k[n>>2]|0,o)}k[e>>2]=(k[e>>2]|0)+1}if(i[a+4>>0]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}j=qr((k[(k[b>>2]|0)+56>>2]|0)+((l[(k[b>>2]|0)+5>>0]|0)+8)|0)|0;k[d>>2]=j;oK(k[h>>2]|0,k[d>>2]|0,5,k[n>>2]|0,o);j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}function oK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+32|0;g=t+28|0;h=t+36|0;j=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;s=t;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;k[j>>2]=d;k[m>>2]=e;if(k[k[m>>2]>>2]|0){r=t;return}if(!(k[g>>2]|0)){s=_j(59184)|0;k[k[m>>2]>>2]=s;r=t;return}d=dG(k[f>>2]|0,k[g>>2]|0)|0;k[n>>2]=d;d=Fg(k[k[f>>2]>>2]|0,k[n>>2]|0,p,0)|0;k[s>>2]=d;if(k[s>>2]|0){k[k[m>>2]>>2]=k[s>>2];r=t;return}k[o>>2]=((k[g>>2]|0)-(k[n>>2]|0)-1|0)*5;do if((k[o>>2]|0)>=0){d=Gg(k[p>>2]|0)|0;k[q>>2]=d;if((l[h>>0]|0|0)==(l[(k[q>>2]|0)+(k[o>>2]|0)>>0]|0|0)?(d=qr((k[q>>2]|0)+((k[o>>2]|0)+1)|0)|0,(d|0)==(k[j>>2]|0)):0)break;d=Qg(k[p>>2]|0)|0;k[s>>2]=d;k[k[m>>2]>>2]=d;if(!(k[s>>2]|0)){i[(k[q>>2]|0)+(k[o>>2]|0)>>0]=i[h>>0]|0;pt((k[q>>2]|0)+((k[o>>2]|0)+1)|0,k[j>>2]|0)}}else{s=_j(59195)|0;k[k[m>>2]>>2]=s}while(0);Ig(k[p>>2]|0);r=t;return}function pK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+52|0;f=v+48|0;g=v+44|0;h=v+40|0;j=v+57|0;p=v+56|0;n=v+36|0;q=v+32|0;t=v+28|0;s=v+24|0;o=v;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;d=k[f>>2]|0;do if((l[j>>0]|0|0)==4){u=qr(k[d+56>>2]|0)|0;if((u|0)==(k[g>>2]|0)){pt(k[(k[f>>2]|0)+56>>2]|0,k[h>>2]|0);break}u=_j(61581)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}else{i[p>>0]=i[d>>0]|0;a=eu(k[f>>2]|0)|0;k[t>>2]=a;if(k[t>>2]|0){k[e>>2]=k[t>>2];u=k[e>>2]|0;r=v;return u|0}k[q>>2]=m[(k[f>>2]|0)+18>>1];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[q>>2]|0))break;k[s>>2]=(k[(k[f>>2]|0)+56>>2]|0)+((m[(k[f>>2]|0)+20>>1]|0)&((l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)>>0]|0)<<8|(l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)+1>>0]|0)));if((l[j>>0]|0|0)==3){cc[k[(k[f>>2]|0)+80>>2]&255](k[f>>2]|0,k[s>>2]|0,o);if(((m[o+16>>1]|0)>>>0<(k[o+12>>2]|0)>>>0?((k[s>>2]|0)+(m[o+18>>1]|0)+-1|0)>>>0<=((k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=k[g>>2]|0,(t|0)==(qr((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=qr(k[s>>2]|0)|0;if((t|0)==(k[g>>2]|0)){u=15;break}}k[n>>2]=(k[n>>2]|0)+1}if((u|0)==13)pt((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0,k[h>>2]|0);else if((u|0)==15)pt(k[s>>2]|0,k[h>>2]|0);do if((k[n>>2]|0)==(k[q>>2]|0)){if((l[j>>0]|0|0)==5?(u=qr((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(k[g>>2]|0)):0){pt((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);break}u=_j(61617)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}while(0);i[k[f>>2]>>0]=i[p>>0]|0}while(0);k[e>>2]=0;u=k[e>>2]|0;r=v;return u|0}function qK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;d=i+36|0;e=i+32|0;f=i+28|0;g=i;h=i+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}cc[k[(k[d>>2]|0)+80>>2]&255](k[d>>2]|0,k[e>>2]|0,g);if((m[g+16>>1]|0)>>>0>=(k[g+12>>2]|0)>>>0){r=i;return}c=qr((k[e>>2]|0)+((m[g+18>>1]|0)-4)|0)|0;k[h>>2]=c;oK(k[(k[d>>2]|0)+52>>2]|0,k[h>>2]|0,3,k[(k[d>>2]|0)+84>>2]|0,k[f>>2]|0);r=i;return}function rK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[c>>2]|0)+28>>2];ic[k[152>>2]&255](k[(k[f>>2]|0)+44>>2]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+20>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+20>>2]=k[e>>2];if(!((m[(k[c>>2]|0)+24>>1]|0)&2)){r=d;return}if(!((m[(k[c>>2]|0)+24>>1]|0)&8)){r=d;return}rj(k[c>>2]|0,3);r=d;return}function sK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;e=h+20|0;m=h+16|0;l=h+12|0;f=h+8|0;j=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[f>>2]=c;k[j>>2]=d;d=fG(k[m>>2]|0,k[l>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[g>>2]=d;d=k[f>>2]|0;do if(!(k[g>>2]|0)){m=(du(k[(k[d>>2]|0)+72>>2]|0)|0)>1;d=k[k[f>>2]>>2]|0;if(!m){i[d>>0]=0;break}_B(d);k[k[f>>2]>>2]=0;m=_j(60316)|0;k[e>>2]=m;m=k[e>>2]|0;r=h;return m|0}else k[d>>2]=0;while(0);k[e>>2]=k[g>>2];m=k[e>>2]|0;r=h;return m|0}function tK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+60>>2];if(!(k[d>>2]|0)){f=0;f=f&1;r=e;return f|0}f=k[c>>2]|0;if(f>>>0>(yj(k[d>>2]|0)|0)>>>0){f=1;f=f&1;r=e;return f|0}f=(xj(k[d>>2]|0,k[c>>2]|0)|0)!=0;f=f&1;r=e;return f|0}function uK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+13>>0]|0|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;d=j+24|0;e=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[l>>2]=c;c=lf(k[e>>2]|0,k[l>>2]|0,-1,g,0)|0;k[h>>2]=c;if(k[h>>2]|0){k[d>>2]=k[h>>2];l=k[d>>2]|0;r=j;return l|0}while(1){l=De(k[g>>2]|0)|0;k[h>>2]=l;if(100!=(l|0))break;l=Oe(k[g>>2]|0,0)|0;k[i>>2]=l;if(!(k[i>>2]|0))continue;l=vK(k[e>>2]|0,k[f>>2]|0,k[i>>2]|0)|0;k[h>>2]=l;if(k[h>>2]|0)break}if((k[h>>2]|0)==101)k[h>>2]=0;if(k[h>>2]|0){i=k[f>>2]|0;l=k[e>>2]|0;Mj(i,l,mf(k[e>>2]|0)|0)}fe(k[g>>2]|0)|0;k[d>>2]=k[h>>2];l=k[d>>2]|0;r=j;return l|0}function wK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=AK(k[d>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function xK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;e=j+40|0;f=j+36|0;g=j+32|0;m=j+28|0;i=j+24|0;l=j+8|0;h=j;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[l>>2]=d;c=yx(k[f>>2]|0,k[m>>2]|0,l)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[e>>2]=7;m=k[e>>2]|0;r=j;return m|0}else{m=vK(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;k[h>>2]=m;bg(k[f>>2]|0,k[i>>2]|0);k[e>>2]=k[h>>2];m=k[e>>2]|0;r=j;return m|0}return 0}function yK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+80|0;e=i+68|0;f=i+64|0;h=i+60|0;d=i+56|0;g=i+8|0;c=i;k[e>>2]=a;k[f>>2]=b;wg(k[e>>2]|0);wg(k[f>>2]|0);a=Og(Zf(k[e>>2]|0)|0)|0;k[d>>2]=a;if((k[k[d>>2]>>2]|0)!=0?(b=Cg(k[f>>2]|0)|0,b=kS(b|0,((b|0)<0)<<31>>31|0,Eg(k[f>>2]|0)|0,0)|0,a=c,k[a>>2]=b,k[a+4>>2]=L,a=Ki(k[d>>2]|0,11,c)|0,k[h>>2]=a,k[h>>2]=(k[h>>2]|0)==12?0:a,(k[h>>2]|0)!=0):0){h=k[h>>2]|0;r=i;return h|0}c=g;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[g+20>>2]=k[k[f>>2]>>2];k[g+24>>2]=k[f>>2];k[g+4>>2]=k[e>>2];k[g+16>>2]=1;de(g,2147483647)|0;f=ee(g)|0;k[h>>2]=f;if(!(k[h>>2]|0)){g=(k[(k[e>>2]|0)+4>>2]|0)+22|0;j[g>>1]=(m[g>>1]|0)&-3;h=k[h>>2]|0;r=i;return h|0}else{zK(Zf(k[g+4>>2]|0)|0);h=k[h>>2]|0;r=i;return h|0}return 0}function zK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+13>>0]|0){r=c;return}hj(k[b>>2]|0);r=c;return}function AK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+32>>2]|0)-(k[(k[(k[d>>2]|0)+4>>2]|0)+36>>2]|0);r=c;return k[b>>2]|0}function BK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o+28|0;n=o+24|0;c=o+20|0;f=o+16|0;b=o+12|0;e=o+8|0;d=o+4|0;g=o;j=o+32|0;k[m>>2]=a;k[n>>2]=0;do if((Lr(k[m>>2]|0)|0)==0?(l[(k[m>>2]|0)+17>>0]|0)==0:0){k[c>>2]=1;a=Pt(k[m>>2]|0,1)|0;k[n>>2]=a;if(!(k[n>>2]|0)){if((l[(k[m>>2]|0)+18>>0]|0)<=1){a=CK(k[m>>2]|0,c)|0;k[n>>2]=a}if(!(k[n>>2]|0)){if(k[c>>2]|0){if(i[(k[m>>2]|0)+15>>0]|0){k[n>>2]=776;break}a=Qt(k[m>>2]|0,4)|0;k[n>>2]=a;if(k[n>>2]|0)break;if((((k[k[(k[m>>2]|0)+68>>2]>>2]|0)==0?(k[f>>2]=k[k[m>>2]>>2],a=gs(k[f>>2]|0,k[(k[m>>2]|0)+180>>2]|0,0,b)|0,k[n>>2]=a,(k[n>>2]|0)==0&(k[b>>2]|0)!=0):0)?(k[e>>2]=0,k[d>>2]=2050,f=cs(k[f>>2]|0,k[(k[m>>2]|0)+180>>2]|0,k[(k[m>>2]|0)+68>>2]|0,k[d>>2]|0,e)|0,k[n>>2]=f,(k[n>>2]|0)==0):0)?(k[e>>2]&1|0)!=0:0){f=yt(51483)|0;k[n>>2]=f;yr(k[(k[m>>2]|0)+68>>2]|0)}b=k[m>>2]|0;if(k[k[(k[m>>2]|0)+68>>2]>>2]|0){f=vr(b)|0;k[n>>2]=f;if(!(k[n>>2]|0)){f=es(k[m>>2]|0,((i[(k[m>>2]|0)+13>>0]|0)!=0^1)&1)|0;k[n>>2]=f;i[(k[m>>2]|0)+17>>0]=0}}else if(!(i[b+4>>0]|0))Pr(k[m>>2]|0,1)|0;if(k[n>>2]|0){wr(k[m>>2]|0,k[n>>2]|0)|0;break}}if((i[(k[m>>2]|0)+13>>0]|0)==0?(l[(k[m>>2]|0)+24>>0]|0)!=0:0){k[g>>2]=0;f=DK(k[m>>2]|0,g)|0;k[n>>2]=f;if(k[n>>2]|0)break;if((k[g>>2]|0)>>>0>0){g=os(k[(k[m>>2]|0)+64>>2]|0,j,16,24,0)|0;k[n>>2]=g;if((k[n>>2]|0)!=0&(k[n>>2]|0)!=522)break}else{b=j;c=b+16|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0))}if(oR((k[m>>2]|0)+112|0,j,16)|0)hj(k[m>>2]|0)}h=EK(k[m>>2]|0)|0;k[n>>2]=h;h=32}}}else h=32;while(0);if((h|0)==32){if(Lr(k[m>>2]|0)|0){j=FK(k[m>>2]|0)|0;k[n>>2]=j}if((l[(k[m>>2]|0)+13>>0]|0)==0?((k[n>>2]|0)==0?(l[(k[m>>2]|0)+17>>0]|0)==0:0):0){j=DK(k[m>>2]|0,(k[m>>2]|0)+28|0)|0;k[n>>2]=j}}b=k[m>>2]|0;if(k[n>>2]|0){ur(b);n=k[n>>2]|0;r=o;return n|0}else{i[b+17>>0]=1;i[(k[m>>2]|0)+24>>0]=1;n=k[n>>2]|0;r=o;return n|0}return 0}function CK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+32|0;d=p+28|0;n=p+24|0;o=p+20|0;e=p+16|0;h=p+12|0;j=p+8|0;m=p+4|0;f=p;g=p+36|0;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[k[c>>2]>>2];k[o>>2]=0;k[e>>2]=1;k[h>>2]=((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;k[k[d>>2]>>2]=0;if(!(k[h>>2]|0)){a=gs(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0,e)|0;k[o>>2]=a}if(!((k[o>>2]|0)==0&(k[e>>2]|0)!=0)){o=k[o>>2]|0;r=p;return o|0}k[j>>2]=0;a=MK(k[(k[c>>2]|0)+64>>2]|0,j)|0;k[o>>2]=a;if((k[o>>2]|0)!=0|(k[j>>2]|0)!=0){o=k[o>>2]|0;r=p;return o|0}a=DK(k[c>>2]|0,m)|0;k[o>>2]=a;if(k[o>>2]|0){o=k[o>>2]|0;r=p;return o|0}if(!((k[m>>2]|0)!=0|(k[h>>2]|0)!=0)){gk();if((Qt(k[c>>2]|0,2)|0)==0?(Hr(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0,(i[(k[c>>2]|0)+4>>0]|0)==0):0)Pr(k[c>>2]|0,1)|0;hk();o=k[o>>2]|0;r=p;return o|0}if(!(k[h>>2]|0)){k[f>>2]=2049;n=cs(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,f)|0;k[o>>2]=n}if(!(k[o>>2]|0)){i[g>>0]=0;n=os(k[(k[c>>2]|0)+68>>2]|0,g,1,0,0)|0;k[o>>2]=n;k[o>>2]=(k[o>>2]|0)==522?0:n;if(!(k[h>>2]|0))yr(k[(k[c>>2]|0)+68>>2]|0);k[k[d>>2]>>2]=(l[g>>0]|0)!=0&1;o=k[o>>2]|0;r=p;return o|0}else{if((k[o>>2]|0)!=14){o=k[o>>2]|0;r=p;return o|0}k[k[d>>2]>>2]=1;k[o>>2]=0;o=k[o>>2]|0;r=p;return o|0}return 0}function DK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+24|0;d=i+20|0;e=i+16|0;g=i+12|0;f=i;h=i+8|0;k[d>>2]=a;k[e>>2]=b;b=LK(k[(k[d>>2]|0)+216>>2]|0)|0;k[g>>2]=b;do if((k[g>>2]|0)==0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){b=f;k[b>>2]=0;k[b+4>>2]=0;b=fj(k[(k[d>>2]|0)+64>>2]|0,f)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=f;b=k[(k[d>>2]|0)+160>>2]|0;b=$R(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=_R(b|0,L|0,1,0)|0;h=k[(k[d>>2]|0)+160>>2]|0;h=iS(b|0,L|0,h|0,((h|0)<0)<<31>>31|0)|0;k[g>>2]=h;break}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}while(0);if((k[g>>2]|0)>>>0>(k[(k[d>>2]|0)+164>>2]|0)>>>0)k[(k[d>>2]|0)+164>>2]=k[g>>2];k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}function EK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;c=h;k[e>>2]=a;k[g>>2]=0;do if(!(i[(k[e>>2]|0)+13>>0]|0)){b=DK(k[e>>2]|0,c)|0;k[g>>2]=b;if(k[g>>2]|0){k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}a=k[k[e>>2]>>2]|0;b=k[(k[e>>2]|0)+220>>2]|0;if(!(k[c>>2]|0)){c=Hr(a,b,0)|0;k[g>>2]=c;k[g>>2]=(k[g>>2]|0)==5898?0:c;k[f>>2]=0}else{c=gs(a,b,0,f)|0;k[g>>2]=c}if(!(k[g>>2]|0)){a=k[e>>2]|0;if(k[f>>2]|0){f=HK(a,0)|0;k[g>>2]=f;break}if((l[a+5>>0]|0)==5)i[(k[e>>2]|0)+5>>0]=0}}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function FK(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[e>>2]=0;_s(k[(k[b>>2]|0)+216>>2]|0);a=GK(k[(k[b>>2]|0)+216>>2]|0,e)|0;k[c>>2]=a;if(!((k[c>>2]|0)!=0|(k[e>>2]|0)!=0)){e=k[c>>2]|0;r=d;return e|0}hj(k[b>>2]|0);e=k[c>>2]|0;r=d;return e|0}function GK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do{h=k[c>>2]|0;b=k[d>>2]|0;a=(k[e>>2]|0)+1|0;k[e>>2]=a;a=Xt(h,b,0,a)|0;k[f>>2]=a}while((k[f>>2]|0)==-1);r=g;return k[f>>2]|0}function HK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if((i[(k[d>>2]|0)+13>>0]|0)==0?(k[(k[d>>2]|0)+216>>2]|0)==0:0)if(SJ(k[d>>2]|0)|0){yr(k[(k[d>>2]|0)+68>>2]|0);b=IK(k[d>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0)break;i[(k[d>>2]|0)+5>>0]=5;i[(k[d>>2]|0)+17>>0]=0;break}else{k[c>>2]=14;g=k[c>>2]|0;r=h;return g|0}else g=7;while(0);if((g|0)==7)k[k[e>>2]>>2]=1;k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function IK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(i[(k[b>>2]|0)+4>>0]|0){a=JK(k[b>>2]|0)|0;k[c>>2]=a}if(k[c>>2]|0){a=k[b>>2]|0;kj(a);c=k[c>>2]|0;r=d;return c|0}a=(k[b>>2]|0)+168|0;a=KK(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+64>>2]|0,k[(k[b>>2]|0)+220>>2]|0,l[(k[b>>2]|0)+4>>0]|0,k[a>>2]|0,k[a+4>>2]|0,(k[b>>2]|0)+216|0)|0;k[c>>2]=a;a=k[b>>2]|0;kj(a);c=k[c>>2]|0;r=d;return c|0}function JK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Qt(k[b>>2]|0,4)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}Pr(k[b>>2]|0,1)|0;c=k[c>>2]|0;r=d;return c|0}function KK(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;h=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w;q=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[k[q>>2]>>2]=0;c=ug(120+(k[(k[l>>2]|0)+4>>2]|0)|0,0)|0;k[u>>2]=c;if(!(k[u>>2]|0)){k[h>>2]=7;c=k[h>>2]|0;r=w;return c|0}k[k[u>>2]>>2]=k[l>>2];k[(k[u>>2]|0)+8>>2]=(k[u>>2]|0)+120;k[(k[u>>2]|0)+4>>2]=k[m>>2];j[(k[u>>2]|0)+40>>1]=-1;a=p;g=k[a+4>>2]|0;c=(k[u>>2]|0)+16|0;k[c>>2]=k[a>>2];k[c+4>>2]=g;k[(k[u>>2]|0)+108>>2]=k[n>>2];i[(k[u>>2]|0)+48>>0]=1;i[(k[u>>2]|0)+49>>0]=1;i[(k[u>>2]|0)+43>>0]=(k[o>>2]|0)!=0?2:0;k[s>>2]=524294;c=cs(k[l>>2]|0,k[n>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[s>>2]|0,s)|0;k[v>>2]=c;if((k[v>>2]|0)==0?(k[s>>2]&1|0)!=0:0)i[(k[u>>2]|0)+46>>0]=1;if(k[v>>2]|0){dt(k[u>>2]|0,0);yr(k[(k[u>>2]|0)+8>>2]|0);Ud(k[u>>2]|0)}else{c=ls(k[m>>2]|0)|0;k[t>>2]=c;if(k[t>>2]&1024)i[(k[u>>2]|0)+48>>0]=0;if(k[t>>2]&4096)i[(k[u>>2]|0)+49>>0]=0;k[k[q>>2]>>2]=k[u>>2]}k[h>>2]=k[v>>2];c=k[h>>2]|0;r=w;return c|0}function LK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(j[(k[c>>2]|0)+40>>1]|0)>=0:0){k[b>>2]=k[(k[c>>2]|0)+52+20>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}function MK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+36>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function NK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+176|0;c=f+168|0;e=f+164|0;b=f+160|0;d=f;k[c>>2]=a;dS(d|0,0,160)|0;while(1){if(!(k[c>>2]|0))break;k[b>>2]=k[(k[c>>2]|0)+8>>2];k[(k[c>>2]|0)+8>>2]=0;k[e>>2]=0;while(1){if(!(k[d+(k[e>>2]<<2)>>2]|0))break;a=QK(k[d+(k[e>>2]<<2)>>2]|0,k[c>>2]|0)|0;k[c>>2]=a;k[d+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}k[d+(k[e>>2]<<2)>>2]=k[c>>2];k[c>>2]=k[b>>2]}k[c>>2]=k[d>>2];k[e>>2]=1;while(1){if((k[e>>2]|0)>>>0>=40)break;if(k[d+(k[e>>2]<<2)>>2]|0){if(k[c>>2]|0)a=QK(k[c>>2]|0,k[d+(k[e>>2]<<2)>>2]|0)|0;else a=k[d+(k[e>>2]<<2)>>2]|0;k[c>>2]=a}k[e>>2]=(k[e>>2]|0)+1}r=f;return k[c>>2]|0}function OK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[c>>2]=1;while(1){a=k[d>>2]|0;if(!(k[b>>2]|0))break;k[e>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=SK(b,k[c>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=a;k[c>>2]=(k[c>>2]|0)+1}r=f;return a|0}function PK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;a=k[f>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){PK(k[a+12>>2]|0,k[d>>2]|0,e);k[(k[e>>2]|0)+8>>2]=k[f>>2]}else k[k[d>>2]>>2]=a;a=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0){PK(k[a+8>>2]|0,(k[f>>2]|0)+8|0,k[g>>2]|0);r=h;return}else{k[k[g>>2]>>2]=a;r=h;return}}function QK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+24|0;d=g+20|0;e=g;f=g+16|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=e;while(1){a=k[c>>2]|0;i=k[a+4>>2]|0;b=k[d>>2]|0;h=k[b+4>>2]|0;if(!((i|0)<(h|0)|((i|0)==(h|0)?(k[a>>2]|0)>>>0<=(k[b>>2]|0)>>>0:0))){i=k[d>>2]|0;k[(k[f>>2]|0)+8>>2]=i;k[f>>2]=i;k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){a=8;break}else continue}h=k[c>>2]|0;a=k[h+4>>2]|0;i=k[d>>2]|0;b=k[i+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0:0)){i=k[c>>2]|0;k[(k[f>>2]|0)+8>>2]=i;k[f>>2]=i}k[c>>2]=k[(k[c>>2]|0)+8>>2];if(!(k[c>>2]|0)){a=6;break}}if((a|0)==6){k[(k[f>>2]|0)+8>>2]=k[d>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}else if((a|0)==8){k[(k[f>>2]|0)+8>>2]=k[c>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}return 0}function RK(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(m[(k[c>>2]|0)+24>>1]|0)){a=dx(k[(k[c>>2]|0)+4>>2]|0,1016,0)|0;k[d>>2]=a;if(k[d>>2]|0){k[k[d>>2]>>2]=k[k[c>>2]>>2];k[k[c>>2]>>2]=k[d>>2];k[(k[c>>2]|0)+16>>2]=(k[d>>2]|0)+8;j[(k[c>>2]|0)+24>>1]=63;break}k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=(j[a>>1]|0)+-1<<16>>16;a=(k[c>>2]|0)+16|0;d=k[a>>2]|0;k[a>>2]=d+16;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function SK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=b;if(!(k[k[e>>2]>>2]|0)){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}b=k[e>>2]|0;do if((k[f>>2]|0)>1){b=SK(b,(k[f>>2]|0)-1|0)|0;k[c>>2]=b;k[g>>2]=k[k[e>>2]>>2];b=k[c>>2]|0;if(k[g>>2]|0){k[(k[g>>2]|0)+12>>2]=b;k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];f=SK(k[e>>2]|0,(k[f>>2]|0)-1|0)|0;k[(k[g>>2]|0)+8>>2]=f;break}k[d>>2]=b;g=k[d>>2]|0;r=h;return g|0}else{k[g>>2]=k[b>>2];k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];k[(k[g>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=0}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function TK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=k[h>>2];k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+4>>2]=k[g>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+20>>2]=0;k[(k[d>>2]|0)+16>>2]=(k[d>>2]|0)+32;j[(k[d>>2]|0)+24>>1]=(((k[f>>2]|0)-32|0)>>>0)/16|0;j[(k[d>>2]|0)+26>>1]=1;k[(k[d>>2]|0)+28>>2]=0;r=e;return k[d>>2]|0}function UK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=(k[(k[e>>2]|0)+8>>2]|0)+(((k[d>>2]|0)>>>0)/8|0)|0;i[a>>0]=l[a>>0]|0|1<<(k[d>>2]&7);r=c;return}function VK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;n=x+32|0;o=x+24|0;w=x+16|0;v=x;p=x+76|0;e=x+72|0;q=x+68|0;s=x+64|0;f=x+60|0;t=x+56|0;u=x+52|0;m=x+48|0;j=x+44|0;h=x+40|0;g=x+36|0;k[p>>2]=a;k[e>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=k[s>>2];k[u>>2]=k[q>>2];while(1){a=k[s>>2]|0;k[s>>2]=a+-1;if((a|0)<=0){d=25;break}if(!(k[(k[p>>2]|0)+16>>2]|0)){d=25;break}c=k[p>>2]|0;if((k[q>>2]|0)<1){d=5;break}if(_K(c,k[q>>2]|0)|0){d=25;break}if(Fg(k[(k[p>>2]|0)+4>>2]|0,k[q>>2]|0,m,0)|0){d=8;break}a=Gg(k[m>>2]|0)|0;k[j>>2]=a;do if(!(k[e>>2]|0)){if((k[s>>2]|0)>0?(l[(k[k[p>>2]>>2]|0)+17>>0]|0)!=0:0){a=qr(k[j>>2]|0)|0;k[f>>2]=a;WK(k[p>>2]|0,k[f>>2]|0,4,k[q>>2]|0)}}else{a=qr((k[j>>2]|0)+4|0)|0;k[h>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)WK(k[p>>2]|0,k[q>>2]|0,2,0);if((k[h>>2]|0)>(((k[(k[k[p>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){a=k[p>>2]|0;k[o>>2]=k[q>>2];ZK(a,41711,o);k[s>>2]=(k[s>>2]|0)+-1;break}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[h>>2]|0))break;a=qr((k[j>>2]|0)+(8+(k[f>>2]<<2))|0)|0;k[g>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)WK(k[p>>2]|0,k[g>>2]|0,2,0);_K(k[p>>2]|0,k[g>>2]|0)|0;k[f>>2]=(k[f>>2]|0)+1}k[s>>2]=(k[s>>2]|0)-(k[h>>2]|0)}while(0);a=qr(k[j>>2]|0)|0;k[q>>2]=a;Ig(k[m>>2]|0);if(!(k[e>>2]|0))continue;if((k[s>>2]|0)>=((k[q>>2]|0)!=0|0))continue;ZK(k[p>>2]|0,41750,n)}if((d|0)==5){t=k[t>>2]|0;w=k[u>>2]|0;k[v>>2]=(k[s>>2]|0)+1;k[v+4>>2]=t;k[v+8>>2]=w;ZK(c,41632,v);r=x;return}else if((d|0)==8){v=k[p>>2]|0;k[w>>2]=k[q>>2];ZK(v,41689,w);r=x;return}else if((d|0)==25){r=x;return}}function WK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+44|0;f=q+40|0;g=q+49|0;h=q+36|0;n=q+32|0;j=q+48|0;m=q+28|0;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=d;a=eG(k[k[e>>2]>>2]|0,k[f>>2]|0,j,m)|0;k[n>>2]=a;if(k[n>>2]|0){if((k[n>>2]|0)==7|(k[n>>2]|0)==3082)k[(k[e>>2]|0)+24>>2]=1;p=k[e>>2]|0;k[o>>2]=k[f>>2];ZK(p,41549,o);r=q;return}if((l[j>>0]|0|0)==(l[g>>0]|0|0)?(k[m>>2]|0)==(k[h>>2]|0):0){r=q;return}o=k[e>>2]|0;b=l[g>>0]|0;d=k[h>>2]|0;a=l[j>>0]|0;n=k[m>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=b;k[p+8>>2]=d;k[p+12>>2]=a;k[p+16>>2]=n;ZK(o,41578,p);r=q;return}function XK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;h=ca+40|0;g=ca+32|0;j=ca+240|0;n=ca+236|0;o=ca+232|0;p=ca+228|0;q=ca+24|0;K=ca+224|0;A=ca+220|0;f=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;c=q;k[c>>2]=d;k[c+4>>2]=e;k[K>>2]=0;k[w>>2]=-1;k[x>>2]=1;k[D>>2]=1;k[z>>2]=0;k[O>>2]=0;k[S>>2]=k[(k[n>>2]|0)+28>>2];k[Q>>2]=k[(k[n>>2]|0)+32>>2];k[R>>2]=k[(k[n>>2]|0)+36>>2];i[P>>0]=0;k[H>>2]=k[k[n>>2]>>2];k[V>>2]=k[(k[H>>2]|0)+36>>2];if(!(k[o>>2]|0)){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}if(_K(k[n>>2]|0,k[o>>2]|0)|0){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}k[(k[n>>2]|0)+28>>2]=41169;k[(k[n>>2]|0)+32>>2]=k[o>>2];c=fG(k[H>>2]|0,k[o>>2]|0,K,0)|0;k[f>>2]=c;do if(!c){i[P>>0]=i[k[K>>2]>>0]|0;i[k[K>>2]>>0]=0;g=eu(k[K>>2]|0)|0;k[f>>2]=g;if(g){ba=k[n>>2]|0;k[h>>2]=k[f>>2];ZK(ba,41217,h);break}k[v>>2]=k[(k[K>>2]|0)+56>>2];k[y>>2]=l[(k[K>>2]|0)+5>>0];k[(k[n>>2]|0)+28>>2]=41255;k[t>>2]=((l[(k[v>>2]|0)+((k[y>>2]|0)+5)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+5)+1>>0])-1&65535)+1;k[E>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+3)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+3)+1>>0];k[s>>2]=(k[y>>2]|0)+12-(l[(k[K>>2]|0)+4>>0]<<2);k[J>>2]=(k[v>>2]|0)+((k[s>>2]|0)+((k[E>>2]|0)-1<<1));if(i[(k[K>>2]|0)+4>>0]|0){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0}else{h=qr((k[v>>2]|0)+((k[y>>2]|0)+8)|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0){k[(k[n>>2]|0)+28>>2]=41281;WK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0)}h=q;h=XK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;k[D>>2]=0}k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break;if(!(k[(k[n>>2]|0)+16>>2]|0))break;k[(k[n>>2]|0)+36>>2]=k[A>>2];k[L>>2]=l[k[J>>2]>>0]<<8|l[(k[J>>2]|0)+1>>0];k[J>>2]=(k[J>>2]|0)+-2;do if((k[L>>2]|0)>>>0>=(k[t>>2]|0)>>>0?(k[L>>2]|0)>>>0<=((k[V>>2]|0)-4|0)>>>0:0){k[I>>2]=(k[v>>2]|0)+(k[L>>2]|0);cc[k[(k[K>>2]|0)+80>>2]&255](k[K>>2]|0,k[I>>2]|0,B);if(((k[L>>2]|0)+(m[B+18>>1]|0)|0)>>>0>(k[V>>2]|0)>>>0){ZK(k[n>>2]|0,41339,$);k[x>>2]=0;break}if(i[(k[K>>2]|0)+2>>0]|0){e=B;d=k[e>>2]|0;e=k[e+4>>2]|0;a=q;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[D>>2]|0){if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>b>>>0)ba=26}else if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>=b>>>0)ba=26;if((ba|0)==26){ba=0;h=k[n>>2]|0;c=B;f=k[c+4>>2]|0;g=W;k[g>>2]=k[c>>2];k[g+4>>2]=f;ZK(h,41363,W)}f=B;g=k[f+4>>2]|0;h=q;k[h>>2]=k[f>>2];k[h+4>>2]=g}if((k[B+12>>2]|0)>>>0>(m[B+16>>1]|0)>>>0){k[G>>2]=(((k[B+12>>2]|0)-(m[B+16>>1]|0)+(k[V>>2]|0)-5|0)>>>0)/(((k[V>>2]|0)-4|0)>>>0)|0;h=qr((k[I>>2]|0)+((m[B+18>>1]|0)-4)|0)|0;k[N>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)WK(k[n>>2]|0,k[N>>2]|0,3,k[o>>2]|0);VK(k[n>>2]|0,0,k[N>>2]|0,k[G>>2]|0)}if(i[(k[K>>2]|0)+4>>0]|0){$K(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(m[B+18>>1]|0)-1);break}h=qr(k[I>>2]|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)WK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0);h=q;h=XK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[u>>2]=h;k[D>>2]=0;if((k[u>>2]|0)!=(k[w>>2]|0)){ZK(k[n>>2]|0,41387,X);k[w>>2]=k[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;h=k[n>>2]|0;f=k[t>>2]|0;g=(k[V>>2]|0)-4|0;k[_>>2]=k[L>>2];k[_+4>>2]=f;k[_+8>>2]=g;ZK(h,41309,_);k[x>>2]=0}k[A>>2]=(k[A>>2]|0)+-1}X=q;_=k[X+4>>2]|0;$=k[p>>2]|0;k[$>>2]=k[X>>2];k[$+4>>2]=_;k[(k[n>>2]|0)+28>>2]=0;if((k[x>>2]|0)!=0?(k[(k[n>>2]|0)+16>>2]|0)>0:0){a:do if(!(i[(k[K>>2]|0)+4>>0]|0)){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0;k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break a;k[L>>2]=l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))>>0]<<8|l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))+1>>0];$=(gc[k[(k[K>>2]|0)+76>>2]&255](k[K>>2]|0,(k[v>>2]|0)+(k[L>>2]|0)|0)|0)&65535;k[T>>2]=$;$K(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(k[T>>2]|0)-1);k[A>>2]=(k[A>>2]|0)+-1}}while(0);k[A>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+1)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+1)+1>>0];while(1){if((k[A>>2]|0)<=0)break;k[U>>2]=l[(k[v>>2]|0)+((k[A>>2]|0)+2)>>0]<<8|l[(k[v>>2]|0)+((k[A>>2]|0)+2)+1>>0];$K(k[z>>2]|0,k[A>>2]<<16|(k[A>>2]|0)+(k[U>>2]|0)-1);k[C>>2]=l[(k[v>>2]|0)+(k[A>>2]|0)>>0]<<8|l[(k[v>>2]|0)+(k[A>>2]|0)+1>>0];k[A>>2]=k[C>>2]}k[F>>2]=0;k[O>>2]=(k[t>>2]|0)-1;while(1){if(!(aL(k[z>>2]|0,aa)|0))break;if((k[O>>2]&65535)>>>0>=(k[aa>>2]|0)>>>16>>>0){ba=51;break}k[F>>2]=(k[F>>2]|0)+(((k[aa>>2]|0)>>>16)-(k[O>>2]&65535)-1);k[O>>2]=k[aa>>2]}if((ba|0)==51){ba=k[n>>2]|0;$=k[o>>2]|0;k[Y>>2]=(k[aa>>2]|0)>>>16;k[Y+4>>2]=$;ZK(ba,41412,Y)}k[F>>2]=(k[F>>2]|0)+((k[V>>2]|0)-(k[O>>2]&65535)-1);if((k[k[z>>2]>>2]|0)==0?(k[F>>2]|0)!=(l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0):0){ba=k[n>>2]|0;$=l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0;aa=k[o>>2]|0;k[Z>>2]=k[F>>2];k[Z+4>>2]=$;k[Z+8>>2]=aa;ZK(ba,41449,Z)}}}else{ba=k[n>>2]|0;k[g>>2]=k[f>>2];ZK(ba,41179,g)}while(0);if(!(k[x>>2]|0))i[k[K>>2]>>0]=i[P>>0]|0;_B(k[K>>2]|0);k[(k[n>>2]|0)+28>>2]=k[S>>2];k[(k[n>>2]|0)+32>>2]=k[Q>>2];k[(k[n>>2]|0)+36>>2]=k[R>>2];k[j>>2]=(k[w>>2]|0)+1;ba=k[j>>2]|0;r=ca;return ba|0}function YK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return (l[(k[(k[d>>2]|0)+8>>2]|0)+(((k[c>>2]|0)>>>0)/8|0)>>0]|0)&1<<(k[c>>2]&7)|0}function ZK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;d=h+28|0;e=h+24|0;f=h+8|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+16>>2]|0)){r=h;return}b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+-1;b=(k[d>>2]|0)+20|0;k[b>>2]=(k[b>>2]|0)+1;k[f>>2]=c;if(k[(k[d>>2]|0)+40+12>>2]|0)CA((k[d>>2]|0)+40|0,41167,1);if(k[(k[d>>2]|0)+28>>2]|0){c=(k[d>>2]|0)+40|0;b=k[(k[d>>2]|0)+28>>2]|0;a=k[(k[d>>2]|0)+36>>2]|0;k[g>>2]=k[(k[d>>2]|0)+32>>2];k[g+4>>2]=a;BA(c,b,g)}og((k[d>>2]|0)+40|0,k[e>>2]|0,f);if((l[(k[d>>2]|0)+40+24>>0]|0|0)!=1){r=h;return}k[(k[d>>2]|0)+24>>2]=1;r=h;return}function _K(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+8|0;d=h;f=h+20|0;c=h+16|0;e=h+12|0;k[c>>2]=a;k[e>>2]=b;do if(k[e>>2]|0){b=k[c>>2]|0;a=k[e>>2]|0;if((k[e>>2]|0)>>>0>(k[(k[c>>2]|0)+12>>2]|0)>>>0){k[d>>2]=a;ZK(b,41501,d);k[f>>2]=1;break}d=(YK(b,a)|0)!=0;a=k[c>>2]|0;b=k[e>>2]|0;if(d){k[g>>2]=b;ZK(a,41524,g);k[f>>2]=1;break}else{UK(a,b);k[f>>2]=0;break}}else k[f>>2]=1;while(0);r=h;return k[f>>2]|0}function $K(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;k[e>>2]=b;k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];while(1){b=((k[e>>2]|0)>>>0)/2|0;k[f>>2]=b;if(b>>>0<=0){c=5;break}if((k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<=(k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]|0)>>>0){c=5;break}k[d>>2]=k[(k[c>>2]|0)+(k[f>>2]<<2)>>2];k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[c>>2]|0)+(k[e>>2]<<2)>>2];k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];k[e>>2]=k[f>>2]}if((c|0)==5){r=g;return}}function aL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;b=k[k[d>>2]>>2]|0;k[h>>2]=b;if(!b){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[k[e>>2]>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[d>>2]|0)+(k[h>>2]<<2)>>2];k[(k[d>>2]|0)+(k[h>>2]<<2)>>2]=-1;b=k[d>>2]|0;k[b>>2]=(k[b>>2]|0)+-1;k[f>>2]=1;while(1){b=k[f>>2]<<1;k[g>>2]=b;if(b>>>0>(k[k[d>>2]>>2]|0)>>>0)break;if((k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0>(k[(k[d>>2]|0)+((k[g>>2]|0)+1<<2)>>2]|0)>>>0)k[g>>2]=(k[g>>2]|0)+1;if((k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<(k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0)break;k[h>>2]=k[(k[d>>2]|0)+(k[f>>2]<<2)>>2];k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[d>>2]|0)+(k[g>>2]<<2)>>2];k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]=k[h>>2];k[f>>2]=k[g>>2]}k[c>>2]=1;h=k[c>>2]|0;r=i;return h|0}function bL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;fL((k[(k[b>>2]|0)+12>>2]|0)+((k[c>>2]|0)*56|0)|0);k[c>>2]=(k[c>>2]|0)+1}a=k[b>>2]|0;Ud(a);r=d;return}function cL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;bg(k[e>>2]|0,k[(k[c>>2]|0)+12>>2]|0);dL(0,k[(k[c>>2]|0)+16>>2]|0);if(k[(k[c>>2]|0)+40>>2]|0)eL(k[(k[c>>2]|0)+40>>2]|0);if(!(k[(k[c>>2]|0)+56>>2]|0)){c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}eL(k[(k[c>>2]|0)+56>>2]|0);c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}function dL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[g>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+4>>2];bg(k[c>>2]|0,k[d>>2]|0);k[d>>2]=k[e>>2]}r=f;return}function eL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;yr(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function fL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Ud(k[(k[b>>2]|0)+28>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);if(k[(k[b>>2]|0)+44>>2]|0)Ws(k[(k[b>>2]|0)+24>>2]|0,0,0,k[(k[b>>2]|0)+44>>2]|0)|0;gL(k[(k[b>>2]|0)+48>>2]|0);b=k[b>>2]|0;a=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));r=c;return}function gL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}bL(k[(k[b>>2]|0)+4>>2]|0);Ud(k[b>>2]|0);r=c;return}function hL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j;g=j+12|0;h=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(!(l[(k[e>>2]|0)+11>>0]|0)){r=j;return}i[(k[e>>2]|0)+11>>0]=0;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;do if((l[(k[h>>2]|0)+64>>0]|0)&16){i[(k[e>>2]|0)+11>>0]=1;if((k[g>>2]|0)==0?(d=(k[h>>2]|0)+16|0,a=f,!((k[d>>2]|0)==(k[a>>2]|0)?(k[d+4>>2]|0)==(k[a+4>>2]|0):0)):0)break;i[(k[h>>2]|0)+66>>0]=0}while(0);k[h>>2]=k[(k[h>>2]|0)+8>>2]}r=j;return}function iL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;o=u+36|0;f=u+32|0;e=u+28|0;p=u+24|0;g=u+20|0;s=u+16|0;t=u+12|0;j=u+8|0;h=u+4|0;q=u;n=u+40|0;k[f>>2]=a;k[e>>2]=b;k[p>>2]=c;k[g>>2]=d;d=k[e>>2]|0;if(d>>>0>(TF(k[f>>2]|0)|0)>>>0){t=_j(66688)|0;k[o>>2]=t;t=k[o>>2]|0;r=u;return t|0}d=SF(k[f>>2]|0,k[e>>2]|0,s,0,0)|0;k[t>>2]=d;if(k[t>>2]|0){k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}a:do if(!(i[(k[s>>2]|0)+8>>0]|0)){i[(k[s>>2]|0)+8>>0]=1;k[q>>2]=l[(k[s>>2]|0)+5>>0];k[h>>2]=0;while(1){e=k[s>>2]|0;if((k[h>>2]|0)>=(m[(k[s>>2]|0)+18>>1]|0))break;k[j>>2]=(k[e+56>>2]|0)+(m[(k[s>>2]|0)+20>>1]&(l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)>>0]<<8|l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)+1>>0]));if((i[(k[s>>2]|0)+4>>0]|0)==0?(b=k[f>>2]|0,d=qr(k[j>>2]|0)|0,d=iL(b,d,1,k[g>>2]|0)|0,k[t>>2]=d,(k[t>>2]|0)!=0):0)break a;d=jL(k[s>>2]|0,k[j>>2]|0,n)|0;k[t>>2]=d;if(k[t>>2]|0)break a;k[h>>2]=(k[h>>2]|0)+1}if(i[e+4>>0]|0){if(k[g>>2]|0){n=k[g>>2]|0;k[n>>2]=(k[n>>2]|0)+(m[(k[s>>2]|0)+18>>1]|0)}}else{j=k[f>>2]|0;n=qr((k[(k[s>>2]|0)+56>>2]|0)+((k[q>>2]|0)+8)|0)|0;n=iL(j,n,1,k[g>>2]|0)|0;k[t>>2]=n;if(k[t>>2]|0)break}e=k[s>>2]|0;if(k[p>>2]|0){kL(e,t);break}p=Qg(k[e+72>>2]|0)|0;k[t>>2]=p;if(!p)lL(k[s>>2]|0,l[(k[(k[s>>2]|0)+56>>2]|0)+(k[q>>2]|0)>>0]|8)}else{q=_j(66693)|0;k[t>>2]=q}while(0);i[(k[s>>2]|0)+8>>0]=0;_B(k[s>>2]|0);k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}function jL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+80|0;d=t+64|0;e=t+60|0;f=t+56|0;u=t+52|0;o=t+48|0;h=t;n=t+44|0;q=t+40|0;i=t+36|0;l=t+32|0;g=t+28|0;p=t+24|0;k[e>>2]=a;k[f>>2]=b;k[u>>2]=c;k[o>>2]=k[(k[e>>2]|0)+52>>2];cc[k[(k[e>>2]|0)+80>>2]&255](k[e>>2]|0,k[f>>2]|0,h);j[k[u>>2]>>1]=j[h+18>>1]|0;if((m[h+16>>1]|0|0)==(k[h+12>>2]|0)){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}if(((k[f>>2]|0)+(m[h+18>>1]|0)+-1|0)>>>0>((k[(k[e>>2]|0)+56>>2]|0)+(m[(k[e>>2]|0)+20>>1]|0)|0)>>>0){u=_j(64249)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}u=qr((k[f>>2]|0)+(m[h+18>>1]|0)+-4|0)|0;k[n>>2]=u;k[l>>2]=(k[(k[o>>2]|0)+36>>2]|0)-4;k[i>>2]=(((k[h+12>>2]|0)-(m[h+16>>1]|0)+(k[l>>2]|0)-1|0)>>>0)/((k[l>>2]|0)>>>0)|0;while(1){u=k[i>>2]|0;k[i>>2]=u+-1;if(!u){s=23;break}k[g>>2]=0;k[p>>2]=0;if((k[n>>2]|0)>>>0<2){s=9;break}u=k[n>>2]|0;if(u>>>0>(TF(k[o>>2]|0)|0)>>>0){s=9;break}if((k[i>>2]|0)!=0?(u=cG(k[o>>2]|0,k[n>>2]|0,p,g)|0,k[q>>2]=u,(k[q>>2]|0)!=0):0){s=12;break}if((k[p>>2]|0)==0?(u=oL(k[o>>2]|0,k[n>>2]|0)|0,k[p>>2]=u,(u|0)==0):0)s=17;else if((du(k[(k[p>>2]|0)+72>>2]|0)|0)!=1){u=_j(64285)|0;k[q>>2]=u}else s=17;if((s|0)==17){s=0;u=mL(k[o>>2]|0,k[p>>2]|0,k[n>>2]|0)|0;k[q>>2]=u}if(k[p>>2]|0)Ig(k[(k[p>>2]|0)+72>>2]|0);if(k[q>>2]|0){s=21;break}k[n>>2]=k[g>>2]}if((s|0)==9){u=_j(64265)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}else if((s|0)==12){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==21){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==23){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}return 0}function kL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[k[d>>2]>>2]|0){r=e;return}b=mL(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+84>>2]|0)|0;k[k[d>>2]>>2]=b;r=e;return}function lL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0;n=r;r=r+32|0;c=n+12|0;d=n+8|0;e=n+4|0;h=n;g=n+18|0;f=n+16|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+56>>2];k[h>>2]=k[(k[c>>2]|0)+52>>2];i[g>>0]=i[(k[c>>2]|0)+5>>0]|0;if((m[(k[h>>2]|0)+22>>1]|0)&4)dS((k[e>>2]|0)+(l[g>>0]|0)|0,0,(k[(k[h>>2]|0)+36>>2]|0)-(l[g>>0]|0)|0)|0;i[(k[e>>2]|0)+(l[g>>0]|0)>>0]=k[d>>2];j[f>>1]=(l[g>>0]|0)+((k[d>>2]&8|0)==0?12:8);a=(k[e>>2]|0)+((l[g>>0]|0)+1)|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+7)>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+5)>>0]=(k[(k[h>>2]|0)+36>>2]|0)>>>8;i[(k[e>>2]|0)+((l[g>>0]|0)+5)+1>>0]=k[(k[h>>2]|0)+36>>2];j[(k[c>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[f>>1]|0);fu(k[c>>2]|0,k[d>>2]|0)|0;j[(k[c>>2]|0)+14>>1]=j[f>>1]|0;k[(k[c>>2]|0)+60>>2]=(k[e>>2]|0)+(k[(k[h>>2]|0)+36>>2]|0);k[(k[c>>2]|0)+64>>2]=(k[e>>2]|0)+(m[f>>1]|0);k[(k[c>>2]|0)+68>>2]=(k[e>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);i[(k[c>>2]|0)+1>>0]=0;j[(k[c>>2]|0)+20>>1]=(k[(k[h>>2]|0)+32>>2]|0)-1;j[(k[c>>2]|0)+18>>1]=0;i[k[c>>2]>>0]=1;r=n;return}function mL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;p=s+24|0;h=s+20|0;o=s+16|0;n=s+12|0;q=s+8|0;j=s+4|0;l=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[p>>2]=0;k[h>>2]=0;k[o>>2]=k[(k[e>>2]|0)+12>>2];if((k[g>>2]|0)>>>0<2){q=_j(64103)|0;k[d>>2]=q;q=k[d>>2]|0;r=s;return q|0}if(k[f>>2]|0){k[n>>2]=k[f>>2];nL(k[(k[n>>2]|0)+72>>2]|0)}else{b=oL(k[e>>2]|0,k[g>>2]|0)|0;k[n>>2]=b}b=Qg(k[(k[o>>2]|0)+72>>2]|0)|0;k[q>>2]=b;do if(!(k[q>>2]|0)){b=qr((k[(k[o>>2]|0)+56>>2]|0)+36|0)|0;k[j>>2]=b;pt((k[(k[o>>2]|0)+56>>2]|0)+36|0,(k[j>>2]|0)+1|0);if(m[(k[e>>2]|0)+22>>1]&4){if((k[n>>2]|0)==0?(b=fG(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,(b|0)!=0):0)break;b=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(b)break;dS(k[(k[n>>2]|0)+56>>2]|0,0,k[(k[(k[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((i[(k[e>>2]|0)+17>>0]|0)!=0?(oK(k[e>>2]|0,k[g>>2]|0,2,0,q),(k[q>>2]|0)!=0):0)break;if(k[j>>2]|0){b=qr((k[(k[o>>2]|0)+56>>2]|0)+32|0)|0;k[h>>2]=b;b=fG(k[e>>2]|0,k[h>>2]|0,p,0)|0;k[q>>2]=b;if(k[q>>2]|0)break;b=qr((k[(k[p>>2]|0)+56>>2]|0)+4|0)|0;k[l>>2]=b;if((k[l>>2]|0)>>>0>((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){o=_j(64156)|0;k[q>>2]=o;break}if((k[l>>2]|0)>>>0<((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){o=Qg(k[(k[p>>2]|0)+72>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0)break;pt((k[(k[p>>2]|0)+56>>2]|0)+4|0,(k[l>>2]|0)+1|0);pt((k[(k[p>>2]|0)+56>>2]|0)+(8+(k[l>>2]<<2))|0,k[g>>2]|0);if((k[n>>2]|0)!=0?(m[(k[e>>2]|0)+22>>1]&4|0)==0:0)pL(k[(k[n>>2]|0)+72>>2]|0);o=qL(k[e>>2]|0,k[g>>2]|0)|0;k[q>>2]=o;break}}if((k[n>>2]|0)==0?(b=fG(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,0!=(b|0)):0)break;b=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){pt(k[(k[n>>2]|0)+56>>2]|0,k[h>>2]|0);pt((k[(k[n>>2]|0)+56>>2]|0)+4|0,0);pt((k[(k[o>>2]|0)+56>>2]|0)+32|0,k[g>>2]|0)}}while(0);if(k[n>>2]|0)i[k[n>>2]>>0]=0;_B(k[n>>2]|0);_B(k[p>>2]|0);k[d>>2]=k[q>>2];q=k[d>>2]|0;r=s;return q|0}function nL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rL(k[c>>2]|0);r=b;return}function oL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=rs(k[k[d>>2]>>2]|0,k[e>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){b=UF(k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}else{k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}return 0}function pL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];if(i[(k[c>>2]|0)+13>>0]|0){r=d;return}if(!(m[(k[b>>2]|0)+24>>1]&2)){r=d;return}if(k[(k[c>>2]|0)+104>>2]|0){r=d;return}a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|16;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-5;r=d;return}function qL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[c>>2]|0)+60>>2]|0)==0?(b=uj(k[(k[c>>2]|0)+44>>2]|0)|0,k[(k[c>>2]|0)+60>>2]=b,(k[(k[c>>2]|0)+60>>2]|0)==0):0)k[e>>2]=7;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}b=k[d>>2]|0;if(b>>>0>(yj(k[(k[c>>2]|0)+60>>2]|0)|0)>>>0){e=k[e>>2]|0;r=f;return e|0}b=vj(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function rL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+26|0;j[a>>1]=(j[a>>1]|0)+1<<16>>16;a=(k[(k[c>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function sL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;n=o+16|0;m=o+12|0;j=o+8|0;h=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[j>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[j>>2]|0)+8>>2]|0){k[d>>2]=262;n=k[d>>2]|0;r=o;return n|0}if((k[f>>2]|0)>>>0<2){n=_j(66814)|0;k[d>>2]=n;n=k[d>>2]|0;r=o;return n|0}c=fG(k[j>>2]|0,k[f>>2]|0,m,0)|0;k[n>>2]=c;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}c=GJ(k[e>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=c;if(k[n>>2]|0){_B(k[m>>2]|0);k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[k[g>>2]>>2]=0;if(i[(k[j>>2]|0)+17>>0]|0){Bg(k[e>>2]|0,4,h);b=k[m>>2]|0;do if((k[f>>2]|0)==(k[h>>2]|0)){kL(b,n);_B(k[m>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}}else{_B(b);m=fG(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}m=lK(k[j>>2]|0,k[l>>2]|0,1,0,k[f>>2]|0,0)|0;k[n>>2]=m;_B(k[l>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[l>>2]=0;m=fG(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;kL(k[l>>2]|0,n);_B(k[l>>2]|0);if(!(k[n>>2]|0)){k[k[g>>2]>>2]=k[h>>2];break}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[h>>2]=(k[h>>2]|0)+-1;while(1){if((k[h>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(m=dG(k[j>>2]|0,k[h>>2]|0)|0,(m|0)!=(k[h>>2]|0)):0)break;k[h>>2]=(k[h>>2]|0)+-1}m=Lg(k[e>>2]|0,4,k[h>>2]|0)|0;k[n>>2]=m}else{kL(k[m>>2]|0,n);_B(k[m>>2]|0)}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function tL(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+56>>0]=1;a=uL((k[c>>2]|0)+64|0,(k[c>>2]|0)+36|0)|0;r=b;return a|0}function uL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+64|0;d=j+60|0;e=j+56|0;c=j+52|0;h=j+48|0;i=j;f=j+44|0;g=j+40|0;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+24>>2];k[h>>2]=0;b=i;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(k[(k[d>>2]|0)+40>>2]|0)){c=vL(k[c>>2]|0,0,0,(k[d>>2]|0)+40|0)|0;k[h>>2]=c}if(!(k[h>>2]|0)){c=wL(k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=c}if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}k[g>>2]=0;c=(k[d>>2]|0)+40+8|0;xL(k[(k[d>>2]|0)+40>>2]|0,i,k[(k[(k[d>>2]|0)+8>>2]|0)+12>>2]|0,k[c>>2]|0,k[c+4>>2]|0);c=(k[d>>2]|0)+28|0;k[c>>2]=(k[c>>2]|0)+1;c=k[(k[e>>2]|0)+8>>2]|0;yL(i,c,((c|0)<0)<<31>>31);k[f>>2]=k[k[e>>2]>>2];while(1){b=k[f>>2]|0;if(!(k[f>>2]|0))break;k[g>>2]=k[b+4>>2];c=k[k[f>>2]>>2]|0;yL(i,c,((c|0)<0)<<31>>31);zL(i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0);if(!(k[(k[e>>2]|0)+4>>2]|0))Ud(k[f>>2]|0);k[f>>2]=k[g>>2]}k[k[e>>2]>>2]=b;i=AL(i,(k[d>>2]|0)+40+8|0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}function vL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[f>>2]=a;a=j+8|0;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(Li(202)|0){k[e>>2]=3338;i=k[e>>2]|0;r=j;return i|0}d=IL(k[k[f>>2]>>2]|0,0,k[g>>2]|0,4126,i)|0;k[i>>2]=d;if(!(k[i>>2]|0)){d=h;k[d>>2]=0;k[d+4>>2]=0;bt(k[k[g>>2]>>2]|0,18,h)}k[e>>2]=k[i>>2];i=k[e>>2]|0;r=j;return i|0}function wL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+28|0;f=m+24|0;g=m+20|0;i=m+16|0;h=m+12|0;j=m+8|0;c=m+4|0;d=m;k[f>>2]=a;k[g>>2]=b;a=BL(k[f>>2]|0)|0;k[c>>2]=a;if(k[c>>2]|0){k[e>>2]=k[c>>2];j=k[e>>2]|0;r=m;return j|0}k[j>>2]=k[k[g>>2]>>2];c=CL(k[(k[f>>2]|0)+8>>2]|0)|0;k[(k[f>>2]|0)+32>>2]=c;c=ug(256,0)|0;k[h>>2]=c;if(!(k[h>>2]|0)){k[e>>2]=7;j=k[e>>2]|0;r=m;return j|0}while(1){if(!(k[j>>2]|0))break;b=k[j>>2]|0;do if(k[(k[g>>2]|0)+4>>2]|0)if((b|0)==(k[(k[g>>2]|0)+4>>2]|0)){k[d>>2]=0;break}else{k[d>>2]=(k[(k[g>>2]|0)+4>>2]|0)+(k[(k[j>>2]|0)+4>>2]|0);break}else k[d>>2]=k[b+4>>2];while(0);k[(k[j>>2]|0)+4>>2]=0;k[i>>2]=0;while(1){if(!(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0))break;c=DL(k[f>>2]|0,k[j>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[j>>2]=c;k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]=0;k[i>>2]=(k[i>>2]|0)+1}k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]=k[j>>2];k[j>>2]=k[d>>2]}k[j>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=64)break;if(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0){if(k[j>>2]|0)b=DL(k[f>>2]|0,k[j>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;else b=k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0;k[j>>2]=b}k[i>>2]=(k[i>>2]|0)+1}k[k[g>>2]>>2]=k[j>>2];Ud(k[h>>2]|0);k[e>>2]=l[(k[(k[f>>2]|0)+12>>2]|0)+11>>0];j=k[e>>2]|0;r=m;return j|0}function xL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;a=i;k[a>>2]=d;k[a+4>>2]=e;d=k[g>>2]|0;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a=k[h>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+4>>2]=a;if(k[(k[g>>2]|0)+4>>2]|0){b=i;a=k[h>>2]|0;a=jS(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[(k[g>>2]|0)+12>>2]=a;k[(k[g>>2]|0)+16>>2]=a;a=k[(k[g>>2]|0)+12>>2]|0;a=_R(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=(k[g>>2]|0)+24|0;k[i>>2]=a;k[i+4>>2]=L;k[(k[g>>2]|0)+8>>2]=k[h>>2];k[(k[g>>2]|0)+32>>2]=k[f>>2];r=j;return}else{k[k[g>>2]>>2]=7;r=j;return}}function yL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+12|0;h=d;e=d+8|0;f=d+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=h;a=aJ(f,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;zL(k[g>>2]|0,f,k[e>>2]|0);r=d;return}function zL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[f>>2];while(1){if((k[h>>2]|0)<=0){d=9;break}if(k[k[d>>2]>>2]|0){d=9;break}k[g>>2]=k[h>>2];if((k[g>>2]|0)>((k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0)|0))k[g>>2]=(k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0);bS((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+16>>2]|0)|0,(k[e>>2]|0)+((k[f>>2]|0)-(k[h>>2]|0))|0,k[g>>2]|0)|0;b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+(k[g>>2]|0);if((k[(k[d>>2]|0)+16>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)){j=k[(k[d>>2]|0)+32>>2]|0;c=(k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0;b=(k[(k[d>>2]|0)+16>>2]|0)-(k[(k[d>>2]|0)+12>>2]|0)|0;l=(k[d>>2]|0)+24|0;a=k[(k[d>>2]|0)+12>>2]|0;a=$R(k[l>>2]|0,k[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Sg(j,c,b,a,L)|0;k[k[d>>2]>>2]=a;k[(k[d>>2]|0)+16>>2]=0;k[(k[d>>2]|0)+12>>2]=0;a=k[(k[d>>2]|0)+8>>2]|0;b=(k[d>>2]|0)+24|0;c=b;a=$R(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[b>>2]=a;k[b+4>>2]=L}k[h>>2]=(k[h>>2]|0)-(k[g>>2]|0)}if((d|0)==9){r=i;return}}function AL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(((k[k[c>>2]>>2]|0)==0?(k[(k[c>>2]|0)+4>>2]|0)!=0:0)?(k[(k[c>>2]|0)+16>>2]|0)>(k[(k[c>>2]|0)+12>>2]|0):0){h=k[(k[c>>2]|0)+32>>2]|0;g=(k[(k[c>>2]|0)+4>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0;a=(k[(k[c>>2]|0)+16>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0;i=(k[c>>2]|0)+24|0;b=k[(k[c>>2]|0)+12>>2]|0;b=$R(k[i>>2]|0,k[i+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Sg(h,g,a,b,L)|0;k[k[c>>2]>>2]=b}h=(k[c>>2]|0)+24|0;i=k[(k[c>>2]|0)+16>>2]|0;i=$R(k[h>>2]|0,k[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;d=k[d>>2]|0;k[d>>2]=i;k[d+4>>2]=L;Ud(k[(k[c>>2]|0)+4>>2]|0);k[e>>2]=k[k[c>>2]>>2];c=k[c>>2]|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));r=f;return k[e>>2]|0}function BL(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+12>>2]|0)){a=WF(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0,0,0,d)|0;k[(k[c>>2]|0)+12>>2]=a;if(k[d>>2]|0){j[(k[(k[c>>2]|0)+12>>2]|0)+8>>1]=j[(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;i[(k[(k[c>>2]|0)+12>>2]|0)+11>>0]=0;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function CL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((l[(k[c>>2]|0)+60>>0]|0|0)!=1)if((l[(k[c>>2]|0)+60>>0]|0|0)==2){k[b>>2]=139;break}else{k[b>>2]=140;break}else k[b>>2]=138;while(0);r=d;return k[b>>2]|0}function DL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;e=l+4|0;f=l;k[d>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=0;k[j>>2]=i;k[e>>2]=0;while(1){a=ac[k[(k[d>>2]|0)+32>>2]&255](k[d>>2]|0,e,(k[g>>2]|0)+8|0,k[k[g>>2]>>2]|0,(k[h>>2]|0)+8|0,k[k[h>>2]>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)<=0){k[k[j>>2]>>2]=k[g>>2];k[j>>2]=(k[g>>2]|0)+4;k[g>>2]=k[(k[g>>2]|0)+4>>2];if(!(k[g>>2]|0)){d=4;break}else continue}else{k[k[j>>2]>>2]=k[h>>2];k[j>>2]=(k[h>>2]|0)+4;k[h>>2]=k[(k[h>>2]|0)+4>>2];k[e>>2]=0;if(!(k[h>>2]|0)){d=6;break}else continue}}if((d|0)==4){k[k[j>>2]>>2]=k[h>>2];j=k[i>>2]|0;r=l;return j|0}else if((d|0)==6){k[k[j>>2]>>2]=k[g>>2];j=k[i>>2]|0;r=l;return j|0}return 0}function EL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=r;r=r+64|0;p=x+52|0;q=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;h=x+20|0;j=x+16|0;n=x+12|0;o=x+8|0;w=x+4|0;g=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[z>>2]=k[s>>2];k[y>>2]=k[u>>2];k[h>>2]=l[(k[z>>2]|0)+1>>0];k[j>>2]=l[(k[y>>2]|0)+1>>0];k[n>>2]=(k[z>>2]|0)+(l[k[z>>2]>>0]|0);k[o>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);d=k[h>>2]|0;f=k[j>>2]|0;a:do if(!((k[h>>2]|0)>7&(k[j>>2]|0)>7)){if((d|0)==(f|0)){if((l[k[n>>2]>>0]^l[k[o>>2]>>0])&128){k[w>>2]=(l[k[n>>2]>>0]&128|0)!=0?-1:1;break}k[w>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[41789+(k[h>>2]|0)>>0]|0))break a;z=(l[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0)-(l[(k[o>>2]|0)+(k[g>>2]|0)>>0]|0)|0;k[w>>2]=z;if(z)break a;k[g>>2]=(k[g>>2]|0)+1}}do if((k[j>>2]|0)<=7)if((k[h>>2]|0)>7){k[w>>2]=-1;break}else{k[w>>2]=(k[h>>2]|0)-(k[j>>2]|0);break}else k[w>>2]=1;while(0);if((k[w>>2]|0)>0){if(!(l[k[n>>2]>>0]&128))break;k[w>>2]=-1;break}else{if(!(l[k[o>>2]>>0]&128))break;k[w>>2]=1;break}}else k[w>>2]=d-f;while(0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){z=k[w>>2]|0;r=x;return z|0}z=HL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}else{if(!(i[k[d+16>>2]>>0]|0)){z=k[w>>2]|0;r=x;return z|0}z=ha(k[w>>2]|0,-1)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}return 0}function FL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;p=x+48|0;q=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;j=x+20|0;n=x+16|0;o=x+12|0;g=x+8|0;h=x+4|0;w=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[y>>2]=k[s>>2];k[j>>2]=k[u>>2];k[n>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);k[o>>2]=(k[j>>2]|0)+(l[k[j>>2]>>0]|0);d=(k[y>>2]|0)+1|0;if((l[(k[y>>2]|0)+1>>0]|0)<128)k[g>>2]=l[d>>0];else lG(d,g)|0;k[g>>2]=((k[g>>2]|0)-13|0)/2|0;d=(k[j>>2]|0)+1|0;if((l[(k[j>>2]|0)+1>>0]|0)<128)k[h>>2]=l[d>>0];else lG(d,h)|0;k[h>>2]=((k[h>>2]|0)-13|0)/2|0;y=oR(k[n>>2]|0,k[o>>2]|0,(k[g>>2]|0)<(k[h>>2]|0)?k[g>>2]|0:k[h>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0))k[w>>2]=(k[g>>2]|0)-(k[h>>2]|0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){y=k[w>>2]|0;r=x;return y|0}y=HL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}else{if(!(i[k[d+16>>2]>>0]|0)){y=k[w>>2]|0;r=x;return y|0}y=ha(k[w>>2]|0,-1)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}return 0}function GL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=jG(a,b,n)|0;r=o;return n|0}XF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=jG(a,b,n)|0;r=o;return n|0}function HL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=kG(a,b,n,1)|0;r=o;return n|0}XF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=kG(a,b,n,1)|0;r=o;return n|0}function IL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;l=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[g>>2]=b;k[l>>2]=c;k[h>>2]=d;k[i>>2]=e;b=k[(k[f>>2]|0)+4>>2]|0;b=ug(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;if(!(k[j>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}f=cs(k[f>>2]|0,k[g>>2]|0,k[j>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[m>>2]=f;f=k[j>>2]|0;if(k[m>>2]|0){Ud(f);m=k[m>>2]|0;r=n;return m|0}else{k[k[l>>2]>>2]=f;m=k[m>>2]|0;r=n;return m|0}return 0}function JL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+36|0;d=p+32|0;n=p+28|0;g=p+24|0;m=p+20|0;f=p+16|0;i=p+12|0;j=p+8|0;e=p+4|0;h=p;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2];k[m>>2]=k[(k[c>>2]|0)+4>>2];b=KL((k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){k[e>>2]=0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]&65534)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|1)*56|0);k[f>>2]=((k[k[c>>2]>>2]|0)+(k[g>>2]|0)|0)/2|0;while(1){if((k[f>>2]|0)<=0)break;do if(k[(k[i>>2]|0)+24>>2]|0)if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=-1;break}else{b=ac[k[(k[m>>2]|0)+32>>2]&255](k[m>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[h>>2]=b;break}else k[h>>2]=1;while(0);do if((k[h>>2]|0)<0)o=12;else{if((k[h>>2]|0)==0?(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0:0){o=12;break}if(k[(k[i>>2]|0)+24>>2]|0)k[e>>2]=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[j>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((o|0)==12){o=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[i>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0);k[e>>2]=0}k[f>>2]=(k[f>>2]|0)/2|0}k[k[d>>2]>>2]=(k[(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(k[n>>2]|0)){o=l[(k[(k[m>>2]|0)+12>>2]|0)+11>>0]|0;r=p;return o|0}else{o=k[n>>2]|0;r=p;return o|0}return 0}function KL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;b=h+24|0;c=h+20|0;g=h+16|0;e=h;f=h+12|0;d=h+8|0;k[c>>2]=a;k[g>>2]=0;i=e;k[i>>2]=0;k[i+4>>2]=0;i=k[c>>2]|0;l=k[i+4>>2]|0;a=(k[c>>2]|0)+8|0;j=k[a+4>>2]|0;if((l|0)>(j|0)|((l|0)==(j|0)?(k[i>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){k[f>>2]=k[(k[c>>2]|0)+48>>2];k[d>>2]=1;if(((k[f>>2]|0)!=0?(l=LL(k[f>>2]|0)|0,k[g>>2]=l,(k[g>>2]|0)==0):0)?(k[(k[f>>2]|0)+20>>2]|0)==0:0){l=(k[f>>2]|0)+8|0;l=ML(k[k[f>>2]>>2]|0,k[c>>2]|0,(k[f>>2]|0)+32|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[g>>2]=l;k[d>>2]=0}if(k[d>>2]|0){fL(k[c>>2]|0);k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}}if(!(k[g>>2]|0)){l=NL(k[c>>2]|0,e)|0;k[g>>2]=l}if(!(k[g>>2]|0)){k[(k[c>>2]|0)+20>>2]=k[e>>2];l=OL(k[c>>2]|0,k[e>>2]|0,(k[c>>2]|0)+32|0)|0;k[g>>2]=l}k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}function LL(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;e=RL(k[b>>2]|0)|0;k[c>>2]=e;e=(k[b>>2]|0)+32|0;a=(k[b>>2]|0)+32+16|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];e=(k[b>>2]|0)+32+8|0;a=(k[b>>2]|0)+8|0;if(!((k[e>>2]|0)==(k[a>>2]|0)?(k[e+4>>2]|0)==(k[a+4>>2]|0):0)){e=k[c>>2]|0;r=d;return e|0}k[(k[b>>2]|0)+20>>2]=1;e=k[c>>2]|0;r=d;return e|0}function ML(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p;o=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;k[o>>2]=0;if(Li(201)|0){k[f>>2]=266;o=k[f>>2]|0;r=p;return o|0}if(k[(k[h>>2]|0)+44>>2]|0){Ws(k[(k[h>>2]|0)+24>>2]|0,0,0,k[(k[h>>2]|0)+44>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=0}a=j;b=k[a+4>>2]|0;c=k[h>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=(k[i>>2]|0)+8|0;b=k[c+4>>2]|0;a=(k[h>>2]|0)+8|0;k[a>>2]=k[c>>2];k[a+4>>2]=b;k[(k[h>>2]|0)+24>>2]=k[k[i>>2]>>2];a=PL(k[g>>2]|0,k[i>>2]|0,(k[h>>2]|0)+44|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(k[(k[h>>2]|0)+44>>2]|0)==0:0){k[n>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+12>>2];b=k[h>>2]|0;a=k[n>>2]|0;a=jS(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[l>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0)){a=k[n>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[h>>2]|0)+36>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0))k[o>>2]=7;k[(k[h>>2]|0)+40>>2]=k[n>>2]}if((k[o>>2]|0)==0&(k[l>>2]|0)!=0){k[m>>2]=(k[n>>2]|0)-(k[l>>2]|0);c=k[h>>2]|0;a=k[m>>2]|0;a=$R(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;n=(k[h>>2]|0)+8|0;b=k[n+4>>2]|0;if((c|0)>(b|0)|((c|0)==(b|0)?a>>>0>(k[n>>2]|0)>>>0:0)){a=(k[h>>2]|0)+8|0;n=k[h>>2]|0;n=_R(k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[m>>2]=n}n=k[h>>2]|0;n=os(k[(k[h>>2]|0)+24>>2]|0,(k[(k[h>>2]|0)+36>>2]|0)+(k[l>>2]|0)|0,k[m>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n}}k[f>>2]=k[o>>2];o=k[f>>2]|0;r=p;return o|0}function NL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;c=o+24|0;d=o+20|0;e=o+16|0;j=o+12|0;g=o+32|0;f=o+8|0;h=o+4|0;m=o;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;a=k[b>>2]|0;b=k[b+4>>2]|0;do if(k[(k[d>>2]|0)+44>>2]|0){m=(mu((k[(k[d>>2]|0)+44>>2]|0)+a|0,k[e>>2]|0)|0)&255;n=k[d>>2]|0;j=n;m=$R(k[j>>2]|0,k[j+4>>2]|0,m|0,0)|0;k[n>>2]=m;k[n+4>>2]=L}else{p=k[(k[d>>2]|0)+40>>2]|0;b=jS(a|0,b|0,p|0,((p|0)<0)<<31>>31|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=0?((k[(k[d>>2]|0)+40>>2]|0)-(k[j>>2]|0)|0)>=9:0){n=(mu((k[(k[d>>2]|0)+36>>2]|0)+(k[j>>2]|0)|0,k[e>>2]|0)|0)&255;p=k[d>>2]|0;m=p;n=$R(k[m>>2]|0,k[m+4>>2]|0,n|0,0)|0;k[p>>2]=n;k[p+4>>2]=L;break}k[h>>2]=0;while(1){p=OL(k[d>>2]|0,1,f)|0;k[m>>2]=p;if(k[m>>2]|0)break;j=i[k[f>>2]>>0]|0;p=k[h>>2]|0;k[h>>2]=p+1;i[g+(p&15)>>0]=j;if(!((l[k[f>>2]>>0]|0)&128)){n=10;break}}if((n|0)==10){mu(g,k[e>>2]|0)|0;break}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=o;return p|0}while(0);k[c>>2]=0;p=k[c>>2]|0;r=o;return p|0}function OL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+64|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;m=u+36|0;n=u+32|0;d=u+28|0;e=u+24|0;q=u+20|0;j=u+16|0;p=u+12|0;s=u+8|0;o=u+4|0;l=u;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=k[g>>2]|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[(k[g>>2]|0)+44>>2]|0){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+44>>2]|0)+b;s=k[h>>2]|0;t=k[g>>2]|0;q=t;s=$R(k[q>>2]|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}c=k[(k[g>>2]|0)+40>>2]|0;c=jS(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;k[m>>2]=c;if(!(k[m>>2]|0)){w=(k[g>>2]|0)+8|0;a=k[g>>2]|0;a=_R(k[w>>2]|0,k[w+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;w=L;c=k[(k[g>>2]|0)+40>>2]|0;v=((c|0)<0)<<31>>31;b=k[g>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>c>>>0)k[d>>2]=k[b+40>>2];else{v=b+8|0;w=k[g>>2]|0;w=_R(k[v>>2]|0,k[v+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[d>>2]=w}w=k[g>>2]|0;w=os(k[(k[g>>2]|0)+24>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[d>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[e>>2]=w;if(k[e>>2]|0){k[f>>2]=k[e>>2];w=k[f>>2]|0;r=u;return w|0}}k[n>>2]=(k[(k[g>>2]|0)+40>>2]|0)-(k[m>>2]|0);do if((k[h>>2]|0)<=(k[n>>2]|0)){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0);v=k[h>>2]|0;w=k[g>>2]|0;t=w;v=$R(k[t>>2]|0,k[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L}else{do if((k[(k[g>>2]|0)+16>>2]|0)<(k[h>>2]|0)){if(128>(k[(k[g>>2]|0)+16>>2]<<1|0))b=128;else b=k[(k[g>>2]|0)+16>>2]<<1;k[p>>2]=b;while(1){if((k[h>>2]|0)<=(k[p>>2]|0))break;k[p>>2]=k[p>>2]<<1}w=k[p>>2]|0;w=mg(k[(k[g>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;k[j>>2]=w;if(k[j>>2]|0){k[(k[g>>2]|0)+16>>2]=k[p>>2];k[(k[g>>2]|0)+28>>2]=k[j>>2];break}k[f>>2]=7;w=k[f>>2]|0;r=u;return w|0}while(0);bS(k[(k[g>>2]|0)+28>>2]|0,(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0)|0,k[n>>2]|0)|0;v=k[n>>2]|0;w=k[g>>2]|0;p=w;v=$R(k[p>>2]|0,k[p+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L;k[q>>2]=(k[h>>2]|0)-(k[n>>2]|0);while(1){if((k[q>>2]|0)<=0){t=27;break}k[o>>2]=k[q>>2];if((k[q>>2]|0)>(k[(k[g>>2]|0)+40>>2]|0))k[o>>2]=k[(k[g>>2]|0)+40>>2];w=OL(k[g>>2]|0,k[o>>2]|0,l)|0;k[s>>2]=w;if(k[s>>2]|0)break;bS((k[(k[g>>2]|0)+28>>2]|0)+((k[h>>2]|0)-(k[q>>2]|0))|0,k[l>>2]|0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}if((t|0)==27){k[k[i>>2]>>2]=k[(k[g>>2]|0)+28>>2];break}k[f>>2]=k[s>>2];w=k[f>>2]|0;r=u;return w|0}while(0);k[f>>2]=0;w=k[f>>2]|0;r=u;return w|0}function PL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;a=(k[d>>2]|0)+8|0;i=k[a+4>>2]|0;c=k[(k[(k[(k[j>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;b=((c|0)<0)<<31>>31;if(!((i|0)<(b|0)|((i|0)==(b|0)?(k[a>>2]|0)>>>0<=c>>>0:0))){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=k[k[d>>2]>>2];if((k[k[k[f>>2]>>2]>>2]|0)<3){j=k[g>>2]|0;r=h;return j|0}j=QL(k[f>>2]|0,0,0,k[(k[d>>2]|0)+8>>2]|0,k[e>>2]|0)|0;k[g>>2]=j;j=k[g>>2]|0;r=h;return j|0}function QL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function RL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+96|0;b=n+88|0;j=n+84|0;l=n+80|0;e=n+48|0;h=n+76|0;o=n+72|0;g=n+68|0;m=n+8|0;c=n+64|0;i=n+60|0;f=n+56|0;d=n;k[b>>2]=a;k[j>>2]=0;q=(k[b>>2]|0)+8|0;p=k[q+4>>2]|0;a=e;k[a>>2]=k[q>>2];k[a+4>>2]=p;k[h>>2]=(k[b>>2]|0)+32+16;k[o>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+4>>2];a=e;xL(k[k[h>>2]>>2]|0,m,k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]|0,k[a>>2]|0,k[a+4>>2]|0);while(1){if(k[j>>2]|0)break;k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+((k[(k[(k[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[f>>2]=k[(k[i>>2]|0)+20>>2];q=m+24|0;p=k[m+16>>2]|0;p=$R(k[q>>2]|0,k[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=d;k[q>>2]=p;k[q+4>>2]=L;if(!(k[(k[i>>2]|0)+24>>2]|0))break;a=d;o=k[f>>2]|0;o=$R(k[a>>2]|0,k[a+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;a=L;p=k[f>>2]|0;p=sG(p,((p|0)<0)<<31>>31)|0;p=$R(o|0,a|0,p|0,((p|0)<0)<<31>>31|0)|0;a=L;o=e;q=k[(k[b>>2]|0)+16>>2]|0;q=$R(k[o>>2]|0,k[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;o=L;if((a|0)>(o|0)|(a|0)==(o|0)&p>>>0>q>>>0)break;q=k[f>>2]|0;yL(m,q,((q|0)<0)<<31>>31);zL(m,k[(k[i>>2]|0)+32>>2]|0,k[f>>2]|0);q=JL(k[(k[b>>2]|0)+4>>2]|0,c)|0;k[j>>2]=q}q=AL(m,(k[h>>2]|0)+8|0)|0;k[l>>2]=q;if(k[j>>2]|0){q=k[j>>2]|0;r=n;return q|0}k[j>>2]=k[l>>2];q=k[j>>2]|0;r=n;return q|0}function SL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[d>>2]=(k[b>>2]|0)+64;k[c>>2]=0;a=TL(k[b>>2]|0,c)|0;k[e>>2]=a;if(!(k[e>>2]|0)){d=UL(k[d>>2]|0,k[c>>2]|0,0)|0;k[e>>2]=d;k[(k[b>>2]|0)+20>>2]=k[c>>2];k[c>>2]=0}if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}bL(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function TL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;c=s+52|0;d=s+48|0;m=s+44|0;q=s+40|0;h=s+36|0;p=s+32|0;o=s+28|0;i=s+24|0;f=s;e=s+20|0;g=s+16|0;n=s+12|0;j=s+8|0;k[c>>2]=a;k[d>>2]=b;k[m>>2]=0;k[q>>2]=0;k[h>>2]=0;while(1){if(k[q>>2]|0)break;if((k[h>>2]|0)>=(l[(k[c>>2]|0)+59>>0]|0|0))break;k[p>>2]=(k[c>>2]|0)+64+((k[h>>2]|0)*72|0);k[o>>2]=0;b=YL(k[(k[p>>2]|0)+28>>2]|0)|0;k[i>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;a:do if((k[(k[p>>2]|0)+28>>2]|0)<=16){b=ZL(k[p>>2]|0,k[(k[p>>2]|0)+28>>2]|0,f,o)|0;k[q>>2]=b}else{k[g>>2]=0;b=_L(16)|0;k[o>>2]=b;if(!(k[o>>2]|0))k[q>>2]=7;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[p>>2]|0)+28>>2]|0)?(k[q>>2]|0)==0:0))break a;k[n>>2]=0;if(((k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0)<16)a=(k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0;else a=16;k[j>>2]=a;b=ZL(k[p>>2]|0,k[j>>2]|0,f,n)|0;k[q>>2]=b;if(!(k[q>>2]|0)){t=k[p>>2]|0;a=k[i>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;b=$L(t,a,b,k[o>>2]|0,k[n>>2]|0)|0;k[q>>2]=b}k[e>>2]=(k[e>>2]|0)+16}}while(0);a=k[o>>2]|0;if(!(k[q>>2]|0))k[m>>2]=a;else bL(a);k[h>>2]=(k[h>>2]|0)+1}if(!(k[q>>2]|0)){p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}bL(k[m>>2]|0);k[m>>2]=0;p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}function UL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+8|0;g=m+4|0;h=m;k[e>>2]=a;k[f>>2]=b;k[m+12>>2]=c;k[i>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;a=VL((k[(k[f>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0,0)|0;k[i>>2]=a;if(k[i>>2]|0){j=4;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==4){k[d>>2]=k[i>>2];j=k[d>>2]|0;r=m;return j|0}k[g>>2]=(k[k[f>>2]>>2]|0)-1;while(1){if((k[g>>2]|0)<=0)break;WL(k[f>>2]|0,k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function VL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[c>>2]|0)+48>>2];k[e>>2]=0;if(!(k[g>>2]|0)){g=k[e>>2]|0;r=f;return g|0}g=XL(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function WL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if((k[d>>2]|0)>=((k[k[c>>2]>>2]|0)/2|0|0)){k[f>>2]=b-((k[k[c>>2]>>2]|0)/2|0)<<1;k[g>>2]=(k[f>>2]|0)+1}else{k[f>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+((k[d>>2]<<1)+1<<2)>>2]}k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[f>>2]|0)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0);do if(k[(k[i>>2]|0)+24>>2]|0){if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=k[f>>2];break}k[l>>2]=k[(k[c>>2]|0)+4>>2];k[e>>2]=0;l=ac[k[(k[l>>2]|0)+32>>2]&255](k[l>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[m>>2]=l;if((k[m>>2]|0)<=0){k[h>>2]=k[f>>2];break}else{k[h>>2]=k[g>>2];break}}else k[h>>2]=k[g>>2];while(0);k[(k[(k[c>>2]|0)+8>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2];r=n;return}function XL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;h=i+16|0;f=i+12|0;g=i+8|0;d=i+4|0;e=i;k[c>>2]=a;k[j>>2]=b;k[h>>2]=0;k[f>>2]=k[(k[c>>2]|0)+48>>2];k[g>>2]=k[k[f>>2]>>2];k[d>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+24>>2];a=UL(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[j>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[e>>2]=k[(k[f>>2]|0)+16>>2];if(!(k[(k[g>>2]|0)+56>>2]|0)){j=(k[g>>2]|0)+56+8|0;j=vL(k[d>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[g>>2]|0)+56|0)|0;k[h>>2]=j;j=(k[g>>2]|0)+56+8|0;k[j>>2]=0;k[j+4>>2]=0}if(!(k[h>>2]|0)){k[(k[f>>2]|0)+32+16>>2]=k[(k[g>>2]|0)+56>>2];b=(k[g>>2]|0)+56+8|0;j=k[b+4>>2]|0;a=(k[f>>2]|0)+8|0;k[a>>2]=k[b>>2];k[a+4>>2]=j;a=k[e>>2]|0;j=(k[g>>2]|0)+56+8|0;g=j;g=$R(k[g>>2]|0,k[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[j>>2]=g;k[j+4>>2]=L}}if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=KL(k[c>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function YL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[b>>2]=a;k[c>>2]=0;a=d;k[a>>2]=16;k[a+4>>2]=0;while(1){f=d;h=k[f+4>>2]|0;a=k[b>>2]|0;g=((a|0)<0)<<31>>31;if(!((h|0)<(g|0)|((h|0)==(g|0)?(k[f>>2]|0)>>>0>>0:0)))break;g=d;g=kS(k[g>>2]|0,k[g+4>>2]|0,16,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=L;k[c>>2]=(k[c>>2]|0)+1}r=e;return k[c>>2]|0}function ZL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;m=p+28|0;j=p+8|0;i=p+24|0;o=p+20|0;l=p;n=p+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=k[g>>2]|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[o>>2]=0;d=_L(k[f>>2]|0)|0;k[m>>2]=d;k[k[h>>2]>>2]=d;if(!(k[m>>2]|0))k[o>>2]=7;k[i>>2]=0;while(1){if(!((k[i>>2]|0)<(k[f>>2]|0)?(k[o>>2]|0)==0:0))break;a=l;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=(k[(k[m>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);a=j;a=bM(k[e>>2]|0,(k[e>>2]|0)+40|0,k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=a;a=(k[n>>2]|0)+8|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[i>>2]=(k[i>>2]|0)+1}if(!(k[o>>2]|0)){c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}bL(k[m>>2]|0);k[k[h>>2]>>2]=0;c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}function _L(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;while(1){a=k[d>>2]|0;if((k[d>>2]|0)>=(k[b>>2]|0))break;k[d>>2]=(k[d>>2]|0)+a}k[c>>2]=16+(a*60|0);if(Li(100)|0)a=0;else{a=k[c>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0}k[e>>2]=a;if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[k[e>>2]>>2]=k[d>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=(k[e>>2]|0)+16;k[(k[e>>2]|0)+8>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[d>>2]|0)*56|0);e=k[e>>2]|0;r=f;return e|0}function $L(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;f=s+48|0;g=s+44|0;o=s+40|0;u=s+36|0;t=s+32|0;q=s+28|0;j=s+24|0;h=s+20|0;p=s+16|0;l=s+12|0;i=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[u>>2]=d;k[t>>2]=e;k[q>>2]=0;k[j>>2]=1;k[p>>2]=k[u>>2];a=aM(k[f>>2]|0,k[t>>2]|0,l)|0;k[q>>2]=a;k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=k[j>>2]<<4;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=1;while(1){if(!((k[h>>2]|0)<(k[g>>2]|0)?(k[q>>2]|0)==0:0))break;k[i>>2]=((k[o>>2]|0)/(k[j>>2]|0)|0|0)%16|0;k[n>>2]=(k[(k[p>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);do if(!(k[(k[n>>2]|0)+48>>2]|0)){u=_L(16)|0;k[m>>2]=u;if(!(k[m>>2]|0)){k[q>>2]=7;break}else{u=aM(k[f>>2]|0,k[m>>2]|0,(k[n>>2]|0)+48|0)|0;k[q>>2]=u;break}}while(0);if(!(k[q>>2]|0)){k[p>>2]=k[(k[(k[n>>2]|0)+48>>2]|0)+4>>2];k[j>>2]=(k[j>>2]|0)/16|0}k[h>>2]=(k[h>>2]|0)+1}f=k[l>>2]|0;if(!(k[q>>2]|0)){k[(k[(k[p>>2]|0)+12>>2]|0)+(((k[o>>2]|0)%16|0)*56|0)+48>>2]=f;u=k[q>>2]|0;r=s;return u|0}else{gL(f);u=k[q>>2]|0;r=s;return u|0}return 0}function aM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;f=i+16|0;d=i+12|0;e=i+8|0;h=i+4|0;g=i;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;if(Li(100)|0)b=0;else b=ug(64,0)|0;k[k[e>>2]>>2]=b;k[g>>2]=b;b=k[d>>2]|0;if(!(k[g>>2]|0)){bL(b);k[h>>2]=7;h=k[h>>2]|0;r=i;return h|0}k[(k[g>>2]|0)+4>>2]=b;k[k[g>>2]>>2]=k[f>>2];b=k[(k[f>>2]|0)+8>>2]|0;if(((k[(k[(k[f>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(k[b+8>>2]|0)+9|0;else b=(k[b+4>>2]|0)/2|0;k[(k[g>>2]|0)+16>>2]=b;e=k[(k[g>>2]|0)+16>>2]|0;g=(k[f>>2]|0)+56+8|0;f=g;f=$R(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[g>>2]=f;k[g+4>>2]=L;h=k[h>>2]|0;r=i;return h|0}function bM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+48|0;n=l+32|0;m=l+28|0;o=l+8|0;g=l+24|0;h=l+20|0;j=l+16|0;i=l;k[n>>2]=a;k[m>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=e;k[h>>2]=f;f=o;f=ML(k[n>>2]|0,k[g>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[j>>2]=f;if(!(k[j>>2]|0)){n=i;k[n>>2]=0;k[n+4>>2]=0;n=NL(k[g>>2]|0,i)|0;k[j>>2]=n;n=k[g>>2]|0;o=i;o=$R(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=(k[g>>2]|0)+8|0;k[n>>2]=o;k[n+4>>2]=L;n=i;o=k[h>>2]|0;m=o;n=$R(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n;k[o+4>>2]=L}if(k[j>>2]|0){o=k[j>>2]|0;r=l;return o|0}o=KL(k[g>>2]|0)|0;k[j>>2]=o;o=k[j>>2]|0;r=l;return o|0}function cM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+66>>0]|0|0)!=1|0}function dM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[b>>2]=a;a=eM(k[(k[b>>2]|0)+16>>2]|0,e)|0;k[c>>2]=a;k[(k[b>>2]|0)+56>>2]=0;if(!(k[e>>2]|0)){e=k[c>>2]|0;r=d;return e|0}i[(k[b>>2]|0)+2>>0]=1;e=k[c>>2]|0;r=d;return e|0}function eM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)a=OF(k[f>>2]|0)|0;else a=0;k[d>>2]=a;if(k[d>>2]|0){k[k[c>>2]>>2]=1;k[e>>2]=k[d>>2];f=k[e>>2]|0;r=g;return f|0}a=k[c>>2]|0;if((l[(k[f>>2]|0)+66>>0]|0|0)!=1)k[a>>2]=1;else k[a>>2]=0;k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}function fM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if(i[(k[c>>2]|0)+56>>0]|0){k[f>>2]=(k[(k[(k[c>>2]|0)+20>>2]|0)+12>>2]|0)+((k[(k[(k[a+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[k[d>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[e>>2]=k[(k[f>>2]|0)+32>>2];f=k[e>>2]|0;r=g;return f|0}else{k[k[d>>2]>>2]=k[k[a+36>>2]>>2];k[e>>2]=(k[(k[c>>2]|0)+36>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}return 0}function gM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;n=t+12|0;q=t+8|0;s=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[h>>2]>>2]|0){r=t;return}k[n>>2]=k[(k[e>>2]|0)+56>>2];k[q>>2]=(k[(k[e>>2]|0)+64>>2]|0)+(k[f>>2]<<1);k[p>>2]=(l[k[q>>2]>>0]|0)<<8|(l[(k[q>>2]|0)+1>>0]|0);k[o>>2]=l[(k[e>>2]|0)+5>>0];if((k[p>>2]|0)>>>0>=((l[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]|0)<<8|(l[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]|0))>>>0?((k[p>>2]|0)+(k[g>>2]|0)|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c=xM(k[e>>2]|0,k[p>>2]&65535,k[g>>2]&65535)|0;k[s>>2]=c;if(k[s>>2]|0){k[k[h>>2]>>2]=k[s>>2];r=t;return}c=(k[e>>2]|0)+18|0;j[c>>1]=(j[c>>1]|0)+-1<<16>>16;if(!(m[(k[e>>2]|0)+18>>1]|0)){c=(k[n>>2]|0)+((k[o>>2]|0)+1)|0;i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;i[c+3>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+7)>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]=k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2];j[(k[e>>2]|0)+16>>1]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-(l[(k[e>>2]|0)+5>>0]|0)-(l[(k[e>>2]|0)+6>>0]|0)-8;r=t;return}else{cS(k[q>>2]|0,(k[q>>2]|0)+2|0,(m[(k[e>>2]|0)+18>>1]|0)-(k[f>>2]|0)<<1|0)|0;i[(k[n>>2]|0)+((k[o>>2]|0)+3)>>0]=(m[(k[e>>2]|0)+18>>1]|0)>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+3)+1>>0]=j[(k[e>>2]|0)+18>>1];c=(k[e>>2]|0)+16|0;j[c>>1]=(m[c>>1]|0)+2;r=t;return}}c=_j(64508)|0;k[k[h>>2]>>2]=c;r=t;return}function hM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+48|0;h=z+44|0;n=z+40|0;o=z+36|0;p=z+32|0;q=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[v>>2]=0;if((l[(k[h>>2]|0)+1>>0]|0)==0?((k[p>>2]|0)+2|0)<=(m[(k[h>>2]|0)+16>>1]|0):0){d=Qg(k[(k[h>>2]|0)+72>>2]|0)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}k[u>>2]=k[(k[h>>2]|0)+56>>2];d=zM(k[h>>2]|0,k[p>>2]|0,v)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}d=(k[h>>2]|0)+16|0;j[d>>1]=(m[d>>1]|0)-(2+(k[p>>2]|0)&65535);bS((k[u>>2]|0)+(k[v>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;if(k[s>>2]|0)pt((k[u>>2]|0)+(k[v>>2]|0)|0,k[s>>2]|0);k[x>>2]=(k[(k[h>>2]|0)+64>>2]|0)+(k[n>>2]<<1);cS((k[x>>2]|0)+2|0,k[x>>2]|0,(m[(k[h>>2]|0)+18>>1]|0)-(k[n>>2]|0)<<1|0)|0;i[k[x>>2]>>0]=k[v>>2]>>8;i[(k[x>>2]|0)+1>>0]=k[v>>2];y=(k[h>>2]|0)+18|0;j[y>>1]=(j[y>>1]|0)+1<<16>>16;y=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+4)|0;d=(i[y>>0]|0)+1<<24>>24;i[y>>0]=d;if(!(d&255)){d=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+3)|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24}if(!(i[(k[(k[h>>2]|0)+52>>2]|0)+17>>0]|0)){r=z;return}qK(k[h>>2]|0,k[o>>2]|0,k[t>>2]|0);r=z;return}if(k[q>>2]|0){bS(k[q>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[o>>2]=k[q>>2]}if(k[s>>2]|0)pt(k[o>>2]|0,k[s>>2]|0);y=(k[h>>2]|0)+1|0;d=i[y>>0]|0;i[y>>0]=d+1<<24>>24;k[w>>2]=d&255;k[(k[h>>2]|0)+32+(k[w>>2]<<2)>>2]=k[o>>2];j[(k[h>>2]|0)+22+(k[w>>2]<<1)>>1]=k[n>>2];r=z;return}function iM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;b=q+32|0;p=q+28|0;f=q+24|0;c=q+36|0;g=q+20|0;e=q+16|0;h=q+12|0;n=q+8|0;d=q+4|0;o=q;k[b>>2]=a;k[p>>2]=0;k[f>>2]=(k[(k[(k[b>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;k[g>>2]=0;do{k[e>>2]=i[(k[b>>2]|0)+68>>0];k[h>>2]=k[(k[b>>2]|0)+120+(k[e>>2]<<2)>>2];a=i[(k[h>>2]|0)+1>>0]|0;if(!(k[e>>2]|0)){if(!(a<<24>>24))break;a=jM(k[h>>2]|0,(k[b>>2]|0)+120+4|0)|0;k[p>>2]=a;if(!(k[p>>2]|0)){i[(k[b>>2]|0)+68>>0]=1;j[(k[b>>2]|0)+80>>1]=0;j[(k[b>>2]|0)+80+2>>1]=0}}else{if((a&255|0)==0?(m[(k[h>>2]|0)+16>>1]|0)<=(k[f>>2]|0):0)break;k[n>>2]=k[(k[b>>2]|0)+120+((k[e>>2]|0)-1<<2)>>2];k[d>>2]=m[(k[b>>2]|0)+80+((k[e>>2]|0)-1<<1)>>1];a=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[p>>2]=a;do if(!(k[p>>2]|0)){if(((((l[(k[h>>2]|0)+3>>0]|0)!=0?(l[(k[h>>2]|0)+1>>0]|0)==1:0)?(m[(k[h>>2]|0)+22>>1]|0)==(m[(k[h>>2]|0)+18>>1]|0):0)?(k[(k[n>>2]|0)+84>>2]|0)!=1:0)?(m[(k[n>>2]|0)+18>>1]|0)==(k[d>>2]|0):0){a=kM(k[n>>2]|0,k[h>>2]|0,c)|0;k[p>>2]=a;break}a=gj(k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0)|0;k[o>>2]=a;a=lM(k[n>>2]|0,k[d>>2]|0,k[o>>2]|0,(k[e>>2]|0)==1&1,l[(k[b>>2]|0)+67>>0]&1)|0;k[p>>2]=a;if(k[g>>2]|0)jj(k[g>>2]|0);k[g>>2]=k[o>>2]}while(0);i[(k[h>>2]|0)+1>>0]=0;_B(k[h>>2]|0);a=(k[b>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}}while((k[p>>2]|0)==0);if(!(k[g>>2]|0)){p=k[p>>2]|0;r=q;return p|0}jj(k[g>>2]|0);p=k[p>>2]|0;r=q;return p|0}function jM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;k[h>>2]=0;k[f>>2]=k[(k[d>>2]|0)+52>>2];b=Qg(k[(k[d>>2]|0)+72>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)==0?(b=kK(k[f>>2]|0,g,h,k[(k[d>>2]|0)+84>>2]|0,0)|0,k[j>>2]=b,qM(k[d>>2]|0,k[g>>2]|0,j),(i[(k[f>>2]|0)+17>>0]|0)!=0):0)oK(k[f>>2]|0,k[h>>2]|0,5,k[(k[d>>2]|0)+84>>2]|0,j);if(k[j>>2]|0){k[k[e>>2]>>2]=0;_B(k[g>>2]|0);k[c>>2]=k[j>>2];j=k[c>>2]|0;r=m;return j|0}else{bS((k[g>>2]|0)+22|0,(k[d>>2]|0)+22|0,l[(k[d>>2]|0)+1>>0]<<1|0)|0;bS((k[g>>2]|0)+32|0,(k[d>>2]|0)+32|0,l[(k[d>>2]|0)+1>>0]<<2|0)|0;i[(k[g>>2]|0)+1>>0]=i[(k[d>>2]|0)+1>>0]|0;lL(k[d>>2]|0,l[k[(k[g>>2]|0)+56>>2]>>0]&-9);pt((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}return 0}function kM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;d=v+40|0;e=v+36|0;f=v+32|0;g=v+28|0;h=v+24|0;o=v+20|0;t=v+16|0;s=v+12|0;p=v+8|0;n=v+4|0;u=v+44|0;q=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[f>>2]|0)+52>>2];if(!(m[(k[f>>2]|0)+18>>1]|0)){u=_j(65006)|0;k[d>>2]=u;u=k[d>>2]|0;r=v;return u|0}c=kK(k[h>>2]|0,o,s,0,0)|0;k[t>>2]=c;if(!(k[t>>2]|0)){k[p>>2]=(k[g>>2]|0)+4;k[n>>2]=k[(k[f>>2]|0)+32>>2];c=gc[k[(k[f>>2]|0)+76>>2]&255](k[f>>2]|0,k[n>>2]|0)|0;j[u>>1]=c;lL(k[o>>2]|0,13);c=vM(k[o>>2]|0,1,n,u)|0;k[t>>2]=c;if(k[t>>2]|0){k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}j[(k[o>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[(k[o>>2]|0)+14>>1]|0)-2-(m[u>>1]|0);if((i[(k[h>>2]|0)+17>>0]|0)!=0?(oK(k[h>>2]|0,k[s>>2]|0,5,k[(k[e>>2]|0)+84>>2]|0,t),(m[u>>1]|0)>(m[(k[o>>2]|0)+12>>1]|0)):0)qK(k[o>>2]|0,k[n>>2]|0,t);k[n>>2]=(k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]&(l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)+1>>0]));k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;if(!(l[u>>0]&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;u=i[u>>0]|0;c=k[p>>2]|0;k[p>>2]=c+1;i[c>>0]=u;if(!(u&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);if(!(k[t>>2]|0))hM(k[e>>2]|0,m[(k[e>>2]|0)+18>>1]|0,k[g>>2]|0,(k[p>>2]|0)-(k[g>>2]|0)|0,0,k[(k[f>>2]|0)+84>>2]|0,t);pt((k[(k[e>>2]|0)+56>>2]|0)+((l[(k[e>>2]|0)+5>>0]|0)+8)|0,k[s>>2]|0);_B(k[o>>2]|0)}k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}function lM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=r;r=r+448|0;ga=Da+412|0;ha=Da+408|0;f=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;p=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;o=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;n=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;g=Da+152|0;v=Da+148|0;q=Da+144|0;h=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;k[ha>>2]=a;k[f>>2]=b;k[Q>>2]=c;k[ia>>2]=d;k[C>>2]=e;k[t>>2]=0;k[wa>>2]=0;k[Aa>>2]=0;k[p>>2]=0;k[W>>2]=0;i[ja>>0]=0;i[ja+1>>0]=0;i[ja+2>>0]=0;i[ja+3>>0]=0;i[ja+4>>0]=0;k[ma>>2]=0;k[ma+8>>2]=0;k[za>>2]=k[(k[ha>>2]|0)+52>>2];if(!(k[Q>>2]|0)){k[ga>>2]=7;Ca=k[ga>>2]|0;r=Da;return Ca|0}k[pa>>2]=(l[(k[ha>>2]|0)+1>>0]|0)+(m[(k[ha>>2]|0)+18>>1]|0);if((k[pa>>2]|0)<2)k[Z>>2]=0;else{do if(k[f>>2]|0)if((k[f>>2]|0)==(k[pa>>2]|0)){k[Z>>2]=(k[pa>>2]|0)-2+(k[C>>2]|0);break}else{k[Z>>2]=(k[f>>2]|0)-1;break}else k[Z>>2]=0;while(0);k[pa>>2]=2-(k[C>>2]|0)}k[ya>>2]=(k[pa>>2]|0)+1;f=k[ha>>2]|0;if(((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0)==(m[(k[ha>>2]|0)+18>>1]|0))k[K>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+((l[f+5>>0]|0)+8);else k[K>>2]=(k[f+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=qr(k[K>>2]|0)|0;k[M>>2]=a;while(1){a=SF(k[za>>2]|0,k[M>>2]|0,la+(k[pa>>2]<<2)|0,0,0)|0;k[Aa>>2]=a;if(k[Aa>>2]|0){c=16;break}k[t>>2]=(k[t>>2]|0)+(1+(m[(k[la+(k[pa>>2]<<2)>>2]|0)+18>>1]|0)+(l[(k[la+(k[pa>>2]<<2)>>2]|0)+1>>0]|0));a=k[pa>>2]|0;k[pa>>2]=a+-1;if(!a){c=26;break}if(((k[pa>>2]|0)+(k[Z>>2]|0)|0)==(m[(k[ha>>2]|0)+22>>1]|0)?(l[(k[ha>>2]|0)+1>>0]|0)!=0:0){k[o+(k[pa>>2]<<2)>>2]=k[(k[ha>>2]|0)+32>>2];a=qr(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;i[(k[ha>>2]|0)+1>>0]=0;continue}k[o+(k[pa>>2]<<2)>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=qr(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;if(m[(k[za>>2]|0)+22>>1]&4){k[g>>2]=(k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0);if(((k[g>>2]|0)+(k[Ba+(k[pa>>2]<<2)>>2]|0)|0)>(k[(k[za>>2]|0)+36>>2]|0)){c=23;break}bS((k[Q>>2]|0)+(k[g>>2]|0)|0,k[o+(k[pa>>2]<<2)>>2]|0,k[Ba+(k[pa>>2]<<2)>>2]|0)|0;k[o+(k[pa>>2]<<2)>>2]=(k[Q>>2]|0)+((k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0))}gM(k[ha>>2]|0,(k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0,k[Ba+(k[pa>>2]<<2)>>2]|0,Aa)}a:do if((c|0)==16)dS(la|0,0,(k[pa>>2]|0)+1<<2|0)|0;else if((c|0)==23){Ca=_j(65347)|0;k[Aa>>2]=Ca;dS(la|0,0,(k[pa>>2]|0)+1<<2|0)|0}else if((c|0)==26){k[t>>2]=(k[t>>2]|0)+3&-4;k[A>>2]=(k[t>>2]<<2)+(k[t>>2]<<1)+(k[(k[za>>2]|0)+32>>2]|0);A=Oi(k[A>>2]|0)|0;k[ma+8>>2]=A;if(!(k[ma+8>>2]|0)){k[Aa>>2]=7;break}k[ma+12>>2]=(k[ma+8>>2]|0)+(k[t>>2]<<2);k[n>>2]=(k[ma+12>>2]|0)+(k[t>>2]<<1);k[ma+4>>2]=k[la>>2];j[ua>>1]=l[(k[ma+4>>2]|0)+4>>0]<<2;k[va>>2]=l[(k[ma+4>>2]|0)+3>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[v>>2]=k[la+(k[pa>>2]<<2)>>2];k[q>>2]=m[(k[v>>2]|0)+18>>1];k[h>>2]=k[(k[v>>2]|0)+56>>2];j[s>>1]=j[(k[v>>2]|0)+20>>1]|0;k[x>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0);if((l[k[(k[v>>2]|0)+56>>2]>>0]|0)!=(l[k[(k[la>>2]|0)+56>>2]>>0]|0)){c=31;break}dS((k[ma+12>>2]|0)+(k[ma>>2]<<1)|0,0,(k[q>>2]|0)+(l[(k[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((l[(k[v>>2]|0)+1>>0]|0)>0){k[q>>2]=m[(k[v>>2]|0)+22>>1];k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[q>>2]|0))break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1;k[Y>>2]=(k[Y>>2]|0)+1}k[H>>2]=0;while(1){if((k[H>>2]|0)>=(l[(k[v>>2]|0)+1>>0]|0))break b;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=k[(k[v>>2]|0)+32+(k[H>>2]<<2)>>2];k[ma>>2]=(k[ma>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}}while(0);k[y>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0)+(m[(k[v>>2]|0)+18>>1]<<1);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1}k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if(!((k[va>>2]|0)!=0?1:(k[pa>>2]|0)>=((k[ya>>2]|0)-1|0))){j[z>>1]=k[Ba+(k[pa>>2]<<2)>>2];j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=j[z>>1]|0;k[w>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[p>>2]=(k[p>>2]|0)+(m[z>>1]|0);bS(k[w>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0,m[z>>1]|0)|0;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[w>>2]|0)+(m[ua>>1]|0);j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=(m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)-(m[ua>>1]|0);c:do if(i[(k[v>>2]|0)+4>>0]|0)while(1){if((m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)>=4)break c;A=k[p>>2]|0;k[p>>2]=A+1;i[(k[n>>2]|0)+A>>0]=0;A=(k[ma+12>>2]|0)+(k[ma>>2]<<1)|0;j[A>>1]=(j[A>>1]|0)+1<<16>>16}else{A=k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]|0;t=(k[(k[v>>2]|0)+56>>2]|0)+8|0;i[A>>0]=i[t>>0]|0;i[A+1>>0]=i[t+1>>0]|0;i[A+2>>0]=i[t+2>>0]|0;i[A+3>>0]=i[t+3>>0]|0}while(0);k[ma>>2]=(k[ma>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==31){Ca=_j(65414)|0;k[Aa>>2]=Ca;break}k[Ca>>2]=(k[(k[za>>2]|0)+36>>2]|0)-12+(m[ua>>1]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[u>>2]=k[la+(k[pa>>2]<<2)>>2];k[Ba+(k[pa>>2]<<2)>>2]=(k[Ca>>2]|0)-(m[(k[u>>2]|0)+16>>1]|0);if((k[Ba+(k[pa>>2]<<2)>>2]|0)<0){c=52;break}k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(l[(k[u>>2]|0)+1>>0]|0))break;z=2+((gc[k[(k[u>>2]|0)+76>>2]&255](k[u>>2]|0,k[(k[u>>2]|0)+32+(k[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+z;k[Y>>2]=(k[Y>>2]|0)+1}k[na+(k[pa>>2]<<2)>>2]=k[oa+(k[pa>>2]<<2)>>2];k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==52){Ca=_j(65512)|0;k[Aa>>2]=Ca;break}k[H>>2]=k[ya>>2];k[pa>>2]=0;d:while(1){if((k[pa>>2]|0)>=(k[H>>2]|0)){c=83;break}while(1){if((k[Ba+(k[pa>>2]<<2)>>2]|0)<=(k[Ca>>2]|0))break;if(((k[pa>>2]|0)+1|0)>=(k[H>>2]|0)){k[H>>2]=(k[pa>>2]|0)+2;if((k[H>>2]|0)>5){c=62;break d}k[Ba+((k[H>>2]|0)-1<<2)>>2]=0;k[na+((k[H>>2]|0)-1<<2)>>2]=k[ma>>2]}A=2+((mM(ma,(k[na+(k[pa>>2]<<2)>>2]|0)-1|0)|0)&65535)|0;k[B>>2]=A;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0);do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((mM(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+-1}while(1){if((k[na+(k[pa>>2]<<2)>>2]|0)>=(k[ma>>2]|0))break;A=2+((mM(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;if(((k[Ba+(k[pa>>2]<<2)>>2]|0)+(k[B>>2]|0)|0)>(k[Ca>>2]|0))break;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+1;do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((mM(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0)}f=k[pa>>2]|0;if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){if((k[pa>>2]|0)>0)c=k[na+((k[pa>>2]|0)-1<<2)>>2]|0;else c=0;if((k[na+(f<<2)>>2]|0)<=(c|0)){c=81;break}}else k[H>>2]=f+1;k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==62){Ca=_j(65524)|0;k[Aa>>2]=Ca;break}else if((c|0)==81){Ca=_j(65557)|0;k[Aa>>2]=Ca;break}else if((c|0)==83){k[pa>>2]=(k[H>>2]|0)-1;while(1){if((k[pa>>2]|0)<=0)break;k[P>>2]=k[Ba+(k[pa>>2]<<2)>>2];k[O>>2]=k[Ba+((k[pa>>2]|0)-1<<2)>>2];k[N>>2]=(k[na+((k[pa>>2]|0)-1<<2)>>2]|0)-1;k[F>>2]=(k[N>>2]|0)+1-(k[va>>2]|0);mM(ma,k[F>>2]|0)|0;do{mM(ma,k[N>>2]|0)|0;if(k[P>>2]|0){if(k[C>>2]|0)break;if(((k[P>>2]|0)+(m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2|0)>((k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+((k[pa>>2]|0)==((k[H>>2]|0)-1|0)?0:2))|0))break}k[P>>2]=(k[P>>2]|0)+((m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2);k[O>>2]=(k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2);k[na+((k[pa>>2]|0)-1<<2)>>2]=k[N>>2];k[N>>2]=(k[N>>2]|0)+-1;k[F>>2]=(k[F>>2]|0)+-1}while((k[N>>2]|0)>=0);k[Ba+(k[pa>>2]<<2)>>2]=k[P>>2];k[Ba+((k[pa>>2]|0)-1<<2)>>2]=k[O>>2];if((k[pa>>2]|0)>1)f=k[na+((k[pa>>2]|0)-2<<2)>>2]|0;else f=0;if((k[na+((k[pa>>2]|0)-1<<2)>>2]|0)<=(f|0)){c=93;break}k[pa>>2]=(k[pa>>2]|0)+-1}if((c|0)==93){Ca=_j(65599)|0;k[Aa>>2]=Ca;break}k[L>>2]=l[k[(k[la>>2]|0)+56>>2]>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[H>>2]|0))break;if((k[pa>>2]|0)<(k[ya>>2]|0)){P=k[la+(k[pa>>2]<<2)>>2]|0;k[ka+(k[pa>>2]<<2)>>2]=P;k[I>>2]=P;k[la+(k[pa>>2]<<2)>>2]=0;P=Qg(k[(k[I>>2]|0)+72>>2]|0)|0;k[Aa>>2]=P;k[wa>>2]=(k[wa>>2]|0)+1;if(k[Aa>>2]|0)break a}else{P=kK(k[za>>2]|0,I,M,(k[C>>2]|0)!=0?1:k[M>>2]|0,0)|0;k[Aa>>2]=P;if(k[Aa>>2]|0)break a;lL(k[I>>2]|0,k[L>>2]|0);k[ka+(k[pa>>2]<<2)>>2]=k[I>>2];k[wa>>2]=(k[wa>>2]|0)+1;k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if((i[(k[za>>2]|0)+17>>0]|0)!=0?(oK(k[za>>2]|0,k[(k[I>>2]|0)+84>>2]|0,5,k[(k[ha>>2]|0)+84>>2]|0,Aa),(k[Aa>>2]|0)!=0):0)break a}k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;e:while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;P=k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0;k[S+(k[pa>>2]<<2)>>2]=P;k[E+(k[pa>>2]<<2)>>2]=P;j[D+(k[pa>>2]<<1)>>1]=j[(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[pa>>2]|0))break;if((k[S+(k[Y>>2]<<2)>>2]|0)==(k[S+(k[pa>>2]<<2)>>2]|0)){c=108;break e}k[Y>>2]=(k[Y>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==108){Ca=_j(65673)|0;k[Aa>>2]=Ca;break}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;k[G>>2]=0;k[Y>>2]=1;while(1){if((k[Y>>2]|0)>=(k[wa>>2]|0))break;if((k[E+(k[Y>>2]<<2)>>2]|0)>>>0<(k[E+(k[G>>2]<<2)>>2]|0)>>>0)k[G>>2]=k[Y>>2];k[Y>>2]=(k[Y>>2]|0)+1}k[M>>2]=k[E+(k[G>>2]<<2)>>2];k[E+(k[G>>2]<<2)>>2]=-1;if((k[G>>2]|0)!=(k[pa>>2]|0)){if((k[G>>2]|0)>(k[pa>>2]|0))nM(k[(k[ka+(k[G>>2]<<2)>>2]|0)+72>>2]|0,(k[(k[za>>2]|0)+44>>2]|0)+(k[G>>2]|0)+1|0,0);nM(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0,k[M>>2]|0,j[D+(k[G>>2]<<1)>>1]|0);k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]=k[M>>2]}k[pa>>2]=(k[pa>>2]|0)+1}pt(k[K>>2]|0,k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((k[L>>2]&8|0)==0?(k[ya>>2]|0)!=(k[wa>>2]|0):0){k[J>>2]=k[((k[wa>>2]|0)>(k[ya>>2]|0)?ka:la)+((k[ya>>2]|0)-1<<2)>>2];P=(k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(k[(k[J>>2]|0)+56>>2]|0)+8|0;i[P>>0]=i[O>>0]|0;i[P+1>>0]=i[O+1>>0]|0;i[P+2>>0]=i[O+2>>0]|0;i[P+3>>0]=i[O+3>>0]|0}f:do if(i[(k[za>>2]|0)+17>>0]|0){k[aa>>2]=k[ka>>2];k[R>>2]=k[(k[aa>>2]|0)+56>>2];k[T>>2]=(m[(k[aa>>2]|0)+18>>1]|0)+(l[(k[aa>>2]|0)+1>>0]|0);k[fa>>2]=k[(k[za>>2]|0)+36>>2];k[U>>2]=0;k[V>>2]=0;k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ma>>2]|0))break f;k[_>>2]=k[(k[ma+8>>2]|0)+(k[pa>>2]<<2)>>2];if((k[pa>>2]|0)==(k[T>>2]|0)){P=(k[V>>2]|0)+1|0;k[V>>2]=P;f=k[V>>2]|0;if((P|0)<(k[wa>>2]|0))f=k[ka+(f<<2)>>2]|0;else f=k[la+(f<<2)>>2]|0;k[ca>>2]=f;k[T>>2]=(k[T>>2]|0)+((m[(k[ca>>2]|0)+18>>1]|0)+(l[(k[ca>>2]|0)+1>>0]|0)+(((k[va>>2]|0)!=0^1)&1));k[R>>2]=k[(k[ca>>2]|0)+56>>2]}if(!((k[pa>>2]|0)==(k[na+(k[U>>2]<<2)>>2]|0)?(P=(k[U>>2]|0)+1|0,k[U>>2]=P,k[aa>>2]=k[ka+(P<<2)>>2],(k[va>>2]|0)==0):0))c=136;do if((c|0)==136){c=0;if((((k[V>>2]|0)<(k[wa>>2]|0)?(k[(k[aa>>2]|0)+84>>2]|0)==(k[S+(k[V>>2]<<2)>>2]|0):0)?(k[_>>2]|0)>>>0>=(k[R>>2]|0)>>>0:0)?(k[_>>2]|0)>>>0<((k[R>>2]|0)+(k[fa>>2]|0)|0)>>>0:0)break;if(!(j[ua>>1]|0)){O=k[za>>2]|0;P=qr(k[_>>2]|0)|0;oK(O,P,5,k[(k[aa>>2]|0)+84>>2]|0,Aa)}P=(mM(ma,k[pa>>2]|0)|0)&65535;if((P|0)>(m[(k[aa>>2]|0)+12>>1]|0))qK(k[aa>>2]|0,k[_>>2]|0,Aa);if(k[Aa>>2]|0)break a}while(0);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=((k[wa>>2]|0)-1|0))break;k[ba>>2]=k[ka+(k[pa>>2]<<2)>>2];k[Y>>2]=k[na+(k[pa>>2]<<2)>>2];k[$>>2]=k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2];k[ea>>2]=(m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)+(m[ua>>1]|0);k[da>>2]=(k[Q>>2]|0)+(k[W>>2]|0);do if(i[(k[ba>>2]|0)+4>>0]|0){if(k[va>>2]|0){k[Y>>2]=(k[Y>>2]|0)+-1;cc[k[(k[ba>>2]|0)+80>>2]&255](k[ba>>2]|0,k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2]|0,X);k[$>>2]=k[da>>2];fa=X;fa=4+(aJ((k[$>>2]|0)+4|0,k[fa>>2]|0,k[fa+4>>2]|0)|0)|0;k[ea>>2]=fa;k[da>>2]=0;break}k[$>>2]=(k[$>>2]|0)+-4;if((m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)==4){fa=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[$>>2]|0)|0)&65535;k[ea>>2]=fa}}else{fa=(k[(k[ba>>2]|0)+56>>2]|0)+8|0;ca=k[$>>2]|0;i[fa>>0]=i[ca>>0]|0;i[fa+1>>0]=i[ca+1>>0]|0;i[fa+2>>0]=i[ca+2>>0]|0;i[fa+3>>0]=i[ca+3>>0]|0}while(0);k[W>>2]=(k[W>>2]|0)+(k[ea>>2]|0);hM(k[ha>>2]|0,(k[Z>>2]|0)+(k[pa>>2]|0)|0,k[$>>2]|0,k[ea>>2]|0,k[da>>2]|0,k[(k[ba>>2]|0)+84>>2]|0,Aa);if(k[Aa>>2]|0)break a;k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=1-(k[wa>>2]|0);while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;fa=k[pa>>2]|0;k[sa>>2]=(k[pa>>2]|0)<0?0-fa|0:fa;do if(!(i[ja+(k[sa>>2]|0)>>0]|0)){if((k[pa>>2]|0)<0?(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)<(k[na+((k[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(k[sa>>2]|0)){k[ra>>2]=0;k[qa>>2]=0;k[xa>>2]=k[na>>2]}else{if((k[sa>>2]|0)<(k[ya>>2]|0))f=(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1)|0;else f=k[ma>>2]|0;k[ra>>2]=f;k[qa>>2]=(k[na+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1);k[xa>>2]=(k[na+(k[sa>>2]<<2)>>2]|0)-(k[qa>>2]|0)}fa=oM(k[ka+(k[sa>>2]<<2)>>2]|0,k[ra>>2]|0,k[qa>>2]|0,k[xa>>2]|0,ma)|0;k[Aa>>2]=fa;if(k[Aa>>2]|0)break a;fa=ja+(k[sa>>2]|0)|0;i[fa>>0]=(i[fa>>0]|0)+1<<24>>24;j[(k[ka+(k[sa>>2]<<2)>>2]|0)+16>>1]=(k[Ca>>2]|0)-(k[Ba+(k[sa>>2]<<2)>>2]|0)}while(0);k[pa>>2]=(k[pa>>2]|0)+1}if(((k[ia>>2]|0)!=0?(m[(k[ha>>2]|0)+18>>1]|0)==0:0)?(l[(k[ha>>2]|0)+5>>0]|0)<=(m[(k[ka>>2]|0)+16>>1]|0):0){Ca=pM(k[ka>>2]|0)|0;k[Aa>>2]=Ca;qM(k[ka>>2]|0,k[ha>>2]|0,Aa);kL(k[ka>>2]|0,Aa)}else c=174;g:do if((c|0)==174?!((j[ua>>1]|0)!=0?1:(l[(k[za>>2]|0)+17>>0]|0)==0):0){k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break g;Ca=qr((k[(k[ka+(k[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;k[ta>>2]=Ca;oK(k[za>>2]|0,k[ta>>2]|0,5,k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=k[wa>>2];while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break a;kL(k[la+(k[pa>>2]<<2)>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}}while(0);Pi(k[ma+8>>2]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;_B(k[la+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;_B(k[ka+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[ga>>2]=k[Aa>>2];Ca=k[ga>>2]|0;r=Da;return Ca|0}function mM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0){j[c>>1]=j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0;a=j[c>>1]|0;r=f;return a|0}else{a=yM(k[d>>2]|0,k[e>>2]|0)|0;j[c>>1]=a;a=j[c>>1]|0;r=f;return a|0}return 0}function nM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;j[g>>1]=c;j[(k[f>>2]|0)+24>>1]=j[g>>1]|0;rK(k[f>>2]|0,k[e>>2]|0);r=d;return}function oM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;g=D+16|0;f=D+12|0;h=D+8|0;y=D+4|0;x=D;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=k[(k[o>>2]|0)+56>>2];k[v>>2]=l[(k[o>>2]|0)+5>>0];k[A>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[s>>2]<<1);k[z>>2]=m[(k[o>>2]|0)+18>>1];k[g>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+18>>1]|0)+(l[(k[o>>2]|0)+1>>0]|0);k[f>>2]=(k[q>>2]|0)+(k[s>>2]|0);if((k[p>>2]|0)<(k[q>>2]|0)){a=sM(k[o>>2]|0,k[p>>2]|0,(k[q>>2]|0)-(k[p>>2]|0)|0,k[t>>2]|0)|0;k[h>>2]=a;cS(k[(k[o>>2]|0)+64>>2]|0,(k[(k[o>>2]|0)+64>>2]|0)+(k[h>>2]<<1)|0,k[z>>2]<<1|0)|0;k[z>>2]=(k[z>>2]|0)-(k[h>>2]|0)}if((k[f>>2]|0)<(k[g>>2]|0)){a=sM(k[o>>2]|0,k[f>>2]|0,(k[g>>2]|0)-(k[f>>2]|0)|0,k[t>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-a}k[C>>2]=(k[u>>2]|0)+((((l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((k[C>>2]|0)>>>0>=(k[A>>2]|0)>>>0){if((k[q>>2]|0)<(k[p>>2]|0)){if((k[s>>2]|0)<((k[p>>2]|0)-(k[q>>2]|0)|0))c=k[s>>2]|0;else c=(k[p>>2]|0)-(k[q>>2]|0)|0;k[y>>2]=c;k[B>>2]=k[(k[o>>2]|0)+64>>2];cS((k[B>>2]|0)+(k[y>>2]<<1)|0,k[B>>2]|0,k[z>>2]<<1|0)|0;if(tM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,k[q>>2]|0,k[y>>2]|0,k[t>>2]|0)|0)break;k[z>>2]=(k[z>>2]|0)+(k[y>>2]|0)}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(l[(k[o>>2]|0)+1>>0]|0|0))break;k[x>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+22+(k[w>>2]<<1)>>1]|0)-(k[q>>2]|0);if(((k[x>>2]|0)>=0?(k[x>>2]|0)<(k[s>>2]|0):0)?(k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[x>>2]<<1),cS((k[B>>2]|0)+2|0,k[B>>2]|0,(k[z>>2]|0)-(k[x>>2]|0)<<1|0)|0,k[z>>2]=(k[z>>2]|0)+1,(tM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[x>>2]|0)+(k[q>>2]|0)|0,1,k[t>>2]|0)|0)!=0):0)break a;k[w>>2]=(k[w>>2]|0)+1}k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[z>>2]<<1);if(!(tM(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[q>>2]|0)+(k[z>>2]|0)|0,(k[s>>2]|0)-(k[z>>2]|0)|0,k[t>>2]|0)|0)){j[(k[o>>2]|0)+18>>1]=k[s>>2];i[(k[o>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[o>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[o>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[C>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[C>>2]|0)-(k[u>>2]|0);k[n>>2]=0;C=k[n>>2]|0;r=D;return C|0}}while(0);uM(k[t>>2]|0,k[q>>2]|0,k[s>>2]|0);C=vM(k[o>>2]|0,k[s>>2]|0,(k[(k[t>>2]|0)+8>>2]|0)+(k[q>>2]<<2)|0,(k[(k[t>>2]|0)+12>>2]|0)+(k[q>>2]<<1)|0)|0;k[n>>2]=C;C=k[n>>2]|0;r=D;return C|0}function pM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;b=y+64|0;c=y+60|0;h=y+56|0;q=y+52|0;g=y+48|0;s=y+44|0;v=y+40|0;e=y+36|0;d=y+32|0;o=y+28|0;f=y+24|0;u=y+20|0;t=y+16|0;j=y+12|0;n=y+8|0;p=y+4|0;w=y;k[c>>2]=a;k[u>>2]=0;a=k[(k[c>>2]|0)+56>>2]|0;k[f>>2]=a;k[t>>2]=a;k[g>>2]=l[(k[c>>2]|0)+5>>0];k[e>>2]=m[(k[c>>2]|0)+14>>1];k[o>>2]=m[(k[c>>2]|0)+18>>1];k[v>>2]=k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2];k[d>>2]=k[v>>2];k[j>>2]=(k[e>>2]|0)+(k[o>>2]<<1);k[n>>2]=(k[v>>2]|0)-4;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[o>>2]|0)){x=14;break}k[p>>2]=(k[f>>2]|0)+((k[e>>2]|0)+(k[h>>2]<<1));k[q>>2]=(l[k[p>>2]>>0]|0)<<8|(l[(k[p>>2]|0)+1>>0]|0);if((k[q>>2]|0)<(k[j>>2]|0)){x=5;break}if((k[q>>2]|0)>(k[n>>2]|0)){x=5;break}a=(gc[k[(k[c>>2]|0)+76>>2]&255](k[c>>2]|0,(k[t>>2]|0)+(k[q>>2]|0)|0)|0)&65535;k[s>>2]=a;k[d>>2]=(k[d>>2]|0)-(k[s>>2]|0);if((k[d>>2]|0)<(k[j>>2]|0)){x=8;break}if(((k[q>>2]|0)+(k[s>>2]|0)|0)>(k[v>>2]|0)){x=8;break}i[k[p>>2]>>0]=k[d>>2]>>8;i[(k[p>>2]|0)+1>>0]=k[d>>2];if(!(k[u>>2]|0)){if((k[d>>2]|0)!=(k[q>>2]|0)){x=rM(k[k[(k[c>>2]|0)+52>>2]>>2]|0)|0;k[u>>2]=x;k[w>>2]=(l[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]|0)<<8|(l[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]|0);bS((k[u>>2]|0)+(k[w>>2]|0)|0,(k[f>>2]|0)+(k[w>>2]|0)|0,(k[d>>2]|0)+(k[s>>2]|0)-(k[w>>2]|0)|0)|0;k[t>>2]=k[u>>2];x=12}}else x=12;if((x|0)==12){x=0;bS((k[f>>2]|0)+(k[d>>2]|0)|0,(k[t>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0)|0}k[h>>2]=(k[h>>2]|0)+1}if((x|0)==5){x=_j(59617)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==8){x=_j(59623)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==14){i[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]=k[d>>2]>>8;i[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]=k[d>>2];i[(k[f>>2]|0)+((k[g>>2]|0)+1)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+2)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+7)>>0]=0;dS((k[f>>2]|0)+(k[j>>2]|0)|0,0,(k[d>>2]|0)-(k[j>>2]|0)|0)|0;if(((k[d>>2]|0)-(k[j>>2]|0)|0)!=(m[(k[c>>2]|0)+16>>1]|0|0)){x=_j(59647)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else{k[b>>2]=0;x=k[b>>2]|0;r=y;return x|0}}return 0}function qM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;h=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;j=s;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=s;return}k[p>>2]=k[(k[d>>2]|0)+52>>2];k[g>>2]=k[(k[d>>2]|0)+56>>2];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[n>>2]=l[(k[d>>2]|0)+5>>0];k[o>>2]=(k[(k[e>>2]|0)+84>>2]|0)==1?100:0;k[j>>2]=l[(k[g>>2]|0)+((k[n>>2]|0)+5)>>0]<<8|l[(k[g>>2]|0)+((k[n>>2]|0)+5)+1>>0];bS((k[h>>2]|0)+(k[j>>2]|0)|0,(k[g>>2]|0)+(k[j>>2]|0)|0,(k[(k[p>>2]|0)+36>>2]|0)-(k[j>>2]|0)|0)|0;bS((k[h>>2]|0)+(k[o>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,(m[(k[d>>2]|0)+14>>1]|0)+(m[(k[d>>2]|0)+18>>1]<<1)|0)|0;i[k[e>>2]>>0]=0;b=eu(k[e>>2]|0)|0;k[q>>2]=b;if(k[q>>2]|0){k[k[f>>2]>>2]=k[q>>2];r=s;return}if(!(i[(k[p>>2]|0)+17>>0]|0)){r=s;return}q=nK(k[e>>2]|0)|0;k[k[f>>2]>>2]=q;r=s;return}function rM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+208>>2]|0}function sM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+64|0;e=w+56|0;f=w+52|0;x=w+48|0;y=w+44|0;g=w+40|0;h=w+36|0;p=w+32|0;s=w+28|0;n=w+24|0;i=w+20|0;j=w+16|0;q=w+12|0;u=w+8|0;o=w+4|0;t=w;k[f>>2]=a;k[x>>2]=b;k[y>>2]=c;k[g>>2]=d;k[h>>2]=k[(k[f>>2]|0)+56>>2];k[p>>2]=(k[h>>2]|0)+(k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2]|0);k[s>>2]=(k[h>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8+(l[(k[f>>2]|0)+6>>0]|0));k[n>>2]=0;k[j>>2]=(k[x>>2]|0)+(k[y>>2]|0);k[q>>2]=0;k[u>>2]=0;k[i>>2]=k[x>>2];while(1){if((k[i>>2]|0)>=(k[j>>2]|0))break;k[o>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0>=(k[s>>2]|0)>>>0?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0){k[t>>2]=m[(k[(k[g>>2]|0)+12>>2]|0)+(k[i>>2]<<1)>>1];if((k[q>>2]|0)!=((k[o>>2]|0)+(k[t>>2]|0)|0)){if(k[q>>2]|0)xM(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[q>>2]=k[o>>2];k[u>>2]=k[t>>2];if(((k[q>>2]|0)+(k[t>>2]|0)|0)>>>0>(k[p>>2]|0)>>>0){v=9;break}}else{k[q>>2]=k[o>>2];k[u>>2]=(k[u>>2]|0)+(k[t>>2]|0)}k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+1}if((v|0)==9){k[e>>2]=0;y=k[e>>2]|0;r=w;return y|0}if(k[q>>2]|0)xM(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[e>>2]=k[n>>2];y=k[e>>2]|0;r=w;return y|0}function tM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+64|0;h=y+56|0;j=y+52|0;m=y+48|0;n=y+44|0;o=y+40|0;z=y+36|0;A=y+32|0;p=y+28|0;s=y+24|0;q=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[z>>2]=e;k[A>>2]=f;k[p>>2]=g;k[q>>2]=k[(k[j>>2]|0)+56>>2];k[u>>2]=k[k[n>>2]>>2];k[t>>2]=(k[z>>2]|0)+(k[A>>2]|0);k[s>>2]=k[z>>2];while(1){if((k[s>>2]|0)>=(k[t>>2]|0)){e=10;break}A=(mM(k[p>>2]|0,k[s>>2]|0)|0)&65535;k[x>>2]=A;if((l[(k[q>>2]|0)+1>>0]|0|0)==0?(l[(k[q>>2]|0)+2>>0]|0|0)==0:0)e=6;else e=5;if((e|0)==5?(e=0,A=wM(k[j>>2]|0,k[x>>2]|0,w)|0,k[v>>2]=A,(A|0)==0):0)e=6;if((e|0)==6){if(((k[u>>2]|0)-(k[m>>2]|0)|0)<(k[x>>2]|0)){e=7;break}k[u>>2]=(k[u>>2]|0)+(0-(k[x>>2]|0));k[v>>2]=k[u>>2]}cS(k[v>>2]|0,k[(k[(k[p>>2]|0)+8>>2]|0)+(k[s>>2]<<2)>>2]|0,k[x>>2]|0)|0;i[k[o>>2]>>0]=(k[v>>2]|0)-(k[q>>2]|0)>>8;i[(k[o>>2]|0)+1>>0]=(k[v>>2]|0)-(k[q>>2]|0);k[o>>2]=(k[o>>2]|0)+2;k[s>>2]=(k[s>>2]|0)+1}if((e|0)==7){k[h>>2]=1;A=k[h>>2]|0;r=y;return A|0}else if((e|0)==10){k[k[n>>2]>>2]=k[u>>2];k[h>>2]=0;A=k[h>>2]|0;r=y;return A|0}return 0}function uM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if((k[f>>2]|0)<=0)break;if(!(m[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0)){a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[e>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]=a}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+-1}r=g;return}function vM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;q=x+52|0;s=x+48|0;t=x+44|0;e=x+40|0;f=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;o=x+20|0;g=x+16|0;n=x+12|0;p=x+8|0;w=x+4|0;h=x;k[s>>2]=a;k[t>>2]=b;k[e>>2]=c;k[f>>2]=d;k[v>>2]=l[(k[s>>2]|0)+5>>0];k[u>>2]=k[(k[s>>2]|0)+56>>2];k[y>>2]=k[(k[(k[s>>2]|0)+52>>2]|0)+36>>2];k[o>>2]=(k[u>>2]|0)+(k[y>>2]|0);k[n>>2]=k[(k[s>>2]|0)+64>>2];d=rM(k[k[(k[s>>2]|0)+52>>2]>>2]|0)|0;k[p>>2]=d;k[g>>2]=(l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0);bS((k[p>>2]|0)+(k[g>>2]|0)|0,(k[u>>2]|0)+(k[g>>2]|0)|0,(k[y>>2]|0)-(k[g>>2]|0)|0)|0;k[w>>2]=k[o>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[t>>2]|0)){e=9;break}k[h>>2]=k[(k[e>>2]|0)+(k[g>>2]<<2)>>2];if((k[h>>2]|0)>>>0>=(k[u>>2]|0)>>>0?(k[h>>2]|0)>>>0<(k[o>>2]|0)>>>0:0)k[h>>2]=(k[p>>2]|0)+((k[h>>2]|0)-(k[u>>2]|0));k[w>>2]=(k[w>>2]|0)+(0-(m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0));i[k[n>>2]>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[n>>2]|0)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);k[n>>2]=(k[n>>2]|0)+2;if((k[w>>2]|0)>>>0<(k[n>>2]|0)>>>0){e=7;break}bS(k[w>>2]|0,k[h>>2]|0,m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0|0)|0;k[g>>2]=(k[g>>2]|0)+1}if((e|0)==7){y=_j(64716)|0;k[q>>2]=y;y=k[q>>2]|0;r=x;return y|0}else if((e|0)==9){j[(k[s>>2]|0)+18>>1]=k[t>>2];i[(k[s>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[s>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[s>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);i[(k[u>>2]|0)+((k[v>>2]|0)+7)>>0]=0;k[q>>2]=0;y=k[q>>2]|0;r=x;return y|0}return 0}function wM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;d=t+32|0;g=t+28|0;j=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;s=t+8|0;q=t+4|0;p=t;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;k[j>>2]=l[(k[f>>2]|0)+5>>0];k[h>>2]=k[(k[f>>2]|0)+56>>2];k[n>>2]=(k[j>>2]|0)+1;k[o>>2]=(l[(k[h>>2]|0)+(k[n>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[n>>2]|0)+1>>0]|0);k[q>>2]=k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2];while(1){if((k[o>>2]|0)>((k[q>>2]|0)-4|0)){b=4;break}if((k[o>>2]|0)<((k[n>>2]|0)+4|0)){b=4;break}k[p>>2]=(l[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]|0);c=(k[p>>2]|0)-(k[d>>2]|0)|0;k[s>>2]=c;a=k[o>>2]|0;if((c|0)>=0){b=6;break}k[n>>2]=a;k[o>>2]=(l[(k[h>>2]|0)+(k[o>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[o>>2]|0)+1>>0]|0);if(!(k[o>>2]|0)){b=16;break}}if((b|0)==4){s=_j(59680)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==6){if((a|0)>=((m[(k[f>>2]|0)+14>>1]|0)+((m[(k[f>>2]|0)+18>>1]|0)<<1)|0)?((k[p>>2]|0)+(k[o>>2]|0)|0)<=(k[q>>2]|0):0){do if((k[s>>2]|0)<4){if((l[(k[h>>2]|0)+((k[j>>2]|0)+7)>>0]|0|0)<=57){q=(k[h>>2]|0)+(k[n>>2]|0)|0;p=(k[h>>2]|0)+(k[o>>2]|0)|0;i[q>>0]=i[p>>0]|0;i[q+1>>0]=i[p+1>>0]|0;q=(k[h>>2]|0)+((k[j>>2]|0)+7)|0;i[q>>0]=(l[q>>0]|0)+(k[s>>2]&255);break}k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else{i[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]=k[s>>2]>>8;i[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]=k[s>>2]}while(0);k[e>>2]=(k[h>>2]|0)+((k[o>>2]|0)+(k[s>>2]|0));s=k[e>>2]|0;r=t;return s|0}s=_j(59691)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==16){k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}return 0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;d=y+20|0;e=y+16|0;f=y+32|0;g=y+30|0;u=y+28|0;q=y+26|0;o=y+35|0;w=y+34|0;t=y+24|0;s=y+12|0;p=y+8|0;n=y+4|0;v=y;k[e>>2]=a;j[f>>1]=b;j[g>>1]=c;i[w>>0]=0;j[t>>1]=j[g>>1]|0;k[s>>2]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-4;k[p>>2]=(m[f>>1]|0)+(m[g>>1]|0);k[n>>2]=k[(k[e>>2]|0)+56>>2];if((m[(k[(k[e>>2]|0)+52>>2]|0)+22>>1]|0)&4)dS((k[n>>2]|0)+(m[f>>1]|0)|0,0,m[g>>1]|0|0)|0;i[o>>0]=i[(k[e>>2]|0)+5>>0]|0;j[u>>1]=(l[o>>0]|0)+1;if((l[(k[n>>2]|0)+((m[u>>1]|0)+1)>>0]|0|0)==0?(l[(k[n>>2]|0)+(m[u>>1]|0)>>0]|0|0)==0:0)j[q>>1]=0;else x=6;do if((x|0)==6){while(1){x=0;a=((l[(k[n>>2]|0)+(m[u>>1]|0)>>0]|0)<<8|(l[(k[n>>2]|0)+(m[u>>1]|0)+1>>0]|0))&65535;j[q>>1]=a;if((a&65535|0)>=(m[f>>1]|0|0))break;h=j[q>>1]|0;if((m[q>>1]|0|0)<((m[u>>1]|0)+4|0)){x=8;break}j[u>>1]=h;x=6}if((x|0)==8?(h&65535|0)!=0:0){x=_j(59854)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}if((m[q>>1]|0)>>>0>(k[s>>2]|0)>>>0){x=_j(59858)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}do if((m[q>>1]|0|0)!=0?((k[p>>2]|0)+3|0)>>>0>=(m[q>>1]|0)>>>0:0){i[w>>0]=(m[q>>1]|0)-(k[p>>2]|0);if((k[p>>2]|0)>>>0>(m[q>>1]|0)>>>0){x=_j(59869)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}k[p>>2]=(m[q>>1]|0)+((l[(k[n>>2]|0)+((m[q>>1]|0)+2)>>0]|0)<<8|(l[(k[n>>2]|0)+((m[q>>1]|0)+2)+1>>0]|0));if((k[p>>2]|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){j[g>>1]=(k[p>>2]|0)-(m[f>>1]|0);j[q>>1]=(l[(k[n>>2]|0)+(m[q>>1]|0)>>0]|0)<<8|(l[(k[n>>2]|0)+(m[q>>1]|0)+1>>0]|0);break}x=_j(59871)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}while(0);do if((m[u>>1]|0|0)>((l[o>>0]|0)+1|0)?(k[v>>2]=(m[u>>1]|0)+((l[(k[n>>2]|0)+((m[u>>1]|0)+2)>>0]|0)<<8|(l[(k[n>>2]|0)+((m[u>>1]|0)+2)+1>>0]|0)),((k[v>>2]|0)+3|0)>=(m[f>>1]|0|0)):0){if((k[v>>2]|0)<=(m[f>>1]|0|0)){i[w>>0]=(l[w>>0]|0)+((m[f>>1]|0)-(k[v>>2]|0));j[g>>1]=(k[p>>2]|0)-(m[u>>1]|0);j[f>>1]=j[u>>1]|0;break}x=_j(59883)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}while(0);if((l[w>>0]|0|0)<=(l[(k[n>>2]|0)+((l[o>>0]|0)+7)>>0]|0|0)){x=(k[n>>2]|0)+((l[o>>0]|0)+7)|0;i[x>>0]=(l[x>>0]|0)-(l[w>>0]|0);break}x=_j(59889)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}while(0);do if((m[f>>1]|0|0)==((l[(k[n>>2]|0)+((l[o>>0]|0)+5)>>0]|0)<<8|(l[(k[n>>2]|0)+((l[o>>0]|0)+5)+1>>0]|0)|0)){if((m[u>>1]|0|0)==((l[o>>0]|0)+1|0)){i[(k[n>>2]|0)+((l[o>>0]|0)+1)>>0]=(m[q>>1]|0)>>8;i[(k[n>>2]|0)+((l[o>>0]|0)+1)+1>>0]=j[q>>1];i[(k[n>>2]|0)+((l[o>>0]|0)+5)>>0]=(k[p>>2]|0)>>>8;i[(k[n>>2]|0)+((l[o>>0]|0)+5)+1>>0]=k[p>>2];break}x=_j(59896)|0;k[d>>2]=x;x=k[d>>2]|0;r=y;return x|0}else{i[(k[n>>2]|0)+(m[u>>1]|0)>>0]=(m[f>>1]|0)>>8;i[(k[n>>2]|0)+(m[u>>1]|0)+1>>0]=j[f>>1];i[(k[n>>2]|0)+(m[f>>1]|0)>>0]=(m[q>>1]|0)>>8;i[(k[n>>2]|0)+(m[f>>1]|0)+1>>0]=j[q>>1];i[(k[n>>2]|0)+((m[f>>1]|0)+2)>>0]=(m[g>>1]|0)>>8;i[(k[n>>2]|0)+((m[f>>1]|0)+2)+1>>0]=j[g>>1]}while(0);x=(k[e>>2]|0)+16|0;j[x>>1]=(m[x>>1]|0)+(m[t>>1]|0);k[d>>2]=0;x=k[d>>2]|0;r=y;return x|0}function yM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[c>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]=a;r=e;return j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]|0}function zM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+36|0;e=t+32|0;f=t+28|0;g=t+24|0;n=t+20|0;h=t+16|0;q=t+12|0;p=t+8|0;j=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=l[(k[e>>2]|0)+5>>0];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[p>>2]=0;k[j>>2]=(m[(k[e>>2]|0)+14>>1]|0)+((m[(k[e>>2]|0)+18>>1]|0)<<1);k[q>>2]=(l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0);do if((k[j>>2]|0)>(k[q>>2]|0)){if((k[q>>2]|0)==0?(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){k[q>>2]=65536;break}s=_j(59758)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);if(!((l[(k[h>>2]|0)+((k[n>>2]|0)+2)>>0]|0|0)==0?(l[(k[h>>2]|0)+((k[n>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((k[j>>2]|0)+2|0)<=(k[q>>2]|0):0){s=wM(k[e>>2]|0,k[f>>2]|0,p)|0;k[o>>2]=s;if(k[o>>2]|0){k[k[g>>2]>>2]=(k[o>>2]|0)-(k[h>>2]|0);k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}if(k[p>>2]|0){k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}}do if(((k[j>>2]|0)+2+(k[f>>2]|0)|0)>(k[q>>2]|0)){s=pM(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0)){k[q>>2]=(((l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}while(0);k[q>>2]=(k[q>>2]|0)-(k[f>>2]|0);i[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]=k[q>>2]>>8;i[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]=k[q>>2];k[k[g>>2]>>2]=k[q>>2];k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}function AM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;B=E+76|0;f=E+72|0;g=E+68|0;e=E+64|0;h=E+60|0;q=E+56|0;x=E+52|0;s=E+48|0;o=E+44|0;D=E+40|0;A=E+36|0;u=E+32|0;C=E+28|0;w=E+24|0;v=E+20|0;t=E+16|0;y=E+12|0;p=E+8|0;n=E+4|0;z=E;j=E+80|0;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[h>>2]=d;k[u>>2]=0;k[C>>2]=0;k[t>>2]=k[(k[f>>2]|0)+52>>2];k[y>>2]=0;k[p>>2]=l[(k[f>>2]|0)+6>>0];b=k[e>>2]|0;if(i[(k[f>>2]|0)+2>>0]|0){k[q>>2]=(k[b+20>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);k[x>>2]=k[(k[e>>2]|0)+16>>2];k[s>>2]=k[(k[e>>2]|0)+20>>2];if((k[q>>2]|0)>>>0<128){i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=k[q>>2];b=1}else{b=k[q>>2]|0;b=aJ((k[g>>2]|0)+(k[p>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}k[p>>2]=(k[p>>2]|0)+(b&255);e=(k[e>>2]|0)+8|0;e=aJ((k[g>>2]|0)+(k[p>>2]|0)|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+e}else{d=k[b+8>>2]|0;k[q>>2]=d;k[s>>2]=d;k[x>>2]=k[k[e>>2]>>2];if((k[q>>2]|0)>>>0<128){i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=k[q>>2];b=1}else{b=k[q>>2]|0;b=aJ((k[g>>2]|0)+(k[p>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}k[p>>2]=(k[p>>2]|0)+(b&255)}if((k[q>>2]|0)<=(m[(k[f>>2]|0)+10>>1]|0)){n=(k[p>>2]|0)+(k[q>>2]|0)|0;k[o>>2]=n;k[o>>2]=(k[o>>2]|0)<4?4:n;k[k[h>>2]>>2]=k[o>>2];k[A>>2]=k[q>>2];k[w>>2]=k[g>>2]}else{k[n>>2]=m[(k[f>>2]|0)+12>>1];k[o>>2]=(k[n>>2]|0)+((((k[q>>2]|0)-(k[n>>2]|0)|0)>>>0)%(((k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[o>>2]|0)>(m[(k[f>>2]|0)+10>>1]|0))k[o>>2]=k[n>>2];k[A>>2]=k[o>>2];k[k[h>>2]>>2]=(k[o>>2]|0)+(k[p>>2]|0)+4;k[w>>2]=(k[g>>2]|0)+((k[p>>2]|0)+(k[o>>2]|0))}k[v>>2]=(k[g>>2]|0)+(k[p>>2]|0);while(1){if((k[q>>2]|0)<=0){b=35;break}if(!(k[A>>2]|0)){k[z>>2]=k[y>>2];if(i[(k[t>>2]|0)+17>>0]|0)while(1){k[y>>2]=(k[y>>2]|0)+1;p=dG(k[t>>2]|0,k[y>>2]|0)|0;if((p|0)==(k[y>>2]|0))continue;if((k[y>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}p=kK(k[t>>2]|0,u,y,k[y>>2]|0,0)|0;k[D>>2]=p;if(((k[D>>2]|0)==0?(l[(k[t>>2]|0)+17>>0]|0)!=0:0)?(i[j>>0]=(k[z>>2]|0)!=0?4:3,oK(k[t>>2]|0,k[y>>2]|0,i[j>>0]|0,k[z>>2]|0,D),(k[D>>2]|0)!=0):0)_B(k[u>>2]|0);if(k[D>>2]|0){b=25;break}pt(k[w>>2]|0,k[y>>2]|0);_B(k[C>>2]|0);k[C>>2]=k[u>>2];k[w>>2]=k[(k[u>>2]|0)+56>>2];pt(k[w>>2]|0,0);k[v>>2]=(k[(k[u>>2]|0)+56>>2]|0)+4;k[A>>2]=(k[(k[t>>2]|0)+36>>2]|0)-4}k[o>>2]=k[q>>2];if((k[o>>2]|0)>(k[A>>2]|0))k[o>>2]=k[A>>2];if((k[s>>2]|0)>0){if((k[o>>2]|0)>(k[s>>2]|0))k[o>>2]=k[s>>2];bS(k[v>>2]|0,k[x>>2]|0,k[o>>2]|0)|0}else dS(k[v>>2]|0,0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0);k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=(k[x>>2]|0)+(k[o>>2]|0);k[s>>2]=(k[s>>2]|0)-(k[o>>2]|0);k[A>>2]=(k[A>>2]|0)-(k[o>>2]|0)}if((b|0)==25){_B(k[C>>2]|0);k[B>>2]=k[D>>2];D=k[B>>2]|0;r=E;return D|0}else if((b|0)==35){_B(k[C>>2]|0);k[B>>2]=0;D=k[B>>2]|0;r=E;return D|0}return 0}function BM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}HJ(k[c>>2]|0,k[e>>2]|0);Ud(k[(k[e>>2]|0)+36+4>>2]|0);bg(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function CM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;d=u+44|0;e=u+40|0;f=u+36|0;g=u+32|0;m=u+28|0;o=u+24|0;q=u+20|0;t=u+16|0;s=u+12|0;p=u+8|0;n=u+4|0;h=u+48|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=k[(k[e>>2]|0)+4>>2];c=k[m>>2]|0;if(i[(k[m>>2]|0)+17>>0]|0){iK(c);Bg(k[e>>2]|0,4,q);k[q>>2]=(k[q>>2]|0)+1;while(1){b=k[q>>2]|0;if((b|0)!=(dG(k[m>>2]|0,k[q>>2]|0)|0)?(k[q>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;k[q>>2]=(k[q>>2]|0)+1}b=kK(k[m>>2]|0,n,p,k[q>>2]|0,1)|0;k[t>>2]=b;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}if((k[p>>2]|0)!=(k[q>>2]|0)){i[h>>0]=0;k[j>>2]=0;b=fI(k[m>>2]|0,0,0)|0;k[t>>2]=b;_B(k[n>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=fG(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=n;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=eG(k[m>>2]|0,k[q>>2]|0,h,j)|0;k[t>>2]=n;if(!((l[h>>0]|0)!=1?(l[h>>0]|0)!=2:0)){n=_j(66598)|0;k[t>>2]=n}if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=lK(k[m>>2]|0,k[o>>2]|0,i[h>>0]|0,k[j>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=p;_B(k[o>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=fG(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Qg(k[(k[o>>2]|0)+72>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else k[o>>2]=k[n>>2];oK(k[m>>2]|0,k[q>>2]|0,1,0,t);if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Lg(k[e>>2]|0,4,k[q>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){_B(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else{p=kK(c,o,q,1,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}if(k[g>>2]&1)k[s>>2]=13;else k[s>>2]=10;lL(k[o>>2]|0,k[s>>2]|0);Ig(k[(k[o>>2]|0)+72>>2]|0);k[k[f>>2]>>2]=k[q>>2];k[d>>2]=0;t=k[d>>2]|0;r=u;return t|0}function DM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=k[(k[g>>2]|0)+4>>2];if((k[j>>2]|0)!=0?(EM(k[o>>2]|0),(k[(k[o>>2]|0)+80>>2]|0)==0):0){k[f>>2]=7;c=k[f>>2]|0;r=q;return c|0}if((k[h>>2]|0)==1?(TF(k[o>>2]|0)|0)==0:0)k[h>>2]=0;k[(k[n>>2]|0)+52>>2]=k[h>>2];i[(k[n>>2]|0)+68>>0]=-1;k[(k[n>>2]|0)+72>>2]=k[m>>2];k[k[n>>2]>>2]=k[g>>2];k[(k[n>>2]|0)+4>>2]=k[o>>2];i[(k[n>>2]|0)+64>>0]=(k[j>>2]|0)!=0?1:0;i[(k[n>>2]|0)+65>>0]=(k[j>>2]|0)!=0?0:2;k[p>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[p>>2]|0))break;if((k[(k[p>>2]|0)+52>>2]|0)==(k[h>>2]|0)){c=(k[p>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32;c=(k[n>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32}k[p>>2]=k[(k[p>>2]|0)+8>>2]}k[(k[n>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];k[(k[o>>2]|0)+8>>2]=k[n>>2];i[(k[n>>2]|0)+66>>0]=0;k[f>>2]=0;c=k[f>>2]|0;r=q;return c|0}function EM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+80>>2]|0){r=c;return}a=gj(k[(k[b>>2]|0)+32>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=k[(k[b>>2]|0)+80>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;i[a+6>>0]=0;i[a+7>>0]=0;a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+4;r=c;return}function FM(){return 200}function GM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function HM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>(k[(k[d>>2]|0)+104>>2]|0)?(l[(k[d>>2]|0)+6>>0]|0|0)!=0:0){a=IM(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}function IM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[i>>2]=0;k[g>>2]=k[(k[c>>2]|0)+104>>2];a=mg(k[(k[c>>2]|0)+100>>2]|0,(k[d>>2]|0)*48|0,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}dS((k[e>>2]|0)+((k[g>>2]|0)*48|0)|0,0,((k[d>>2]|0)-(k[g>>2]|0)|0)*48|0)|0;k[(k[c>>2]|0)+100>>2]=k[e>>2];k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[d>>2]|0)){c=14;break}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+20>>2]=k[(k[c>>2]|0)+28>>2];if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,b=k[a+4>>2]|0,(b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0):0){g=(k[c>>2]|0)+80|0;b=k[g+4>>2]|0;a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[g>>2];k[a+4>>2]=b}else{a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[(k[c>>2]|0)+156>>2];k[a+4>>2]=0}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+24>>2]=k[(k[c>>2]|0)+56>>2];a=uj(k[(k[c>>2]|0)+28>>2]|0)|0;k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]=a;if(!(k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0)){c=10;break}if(Lr(k[c>>2]|0)|0)JM(k[(k[c>>2]|0)+216>>2]|0,(k[e>>2]|0)+((k[f>>2]|0)*48|0)+28|0);k[(k[c>>2]|0)+104>>2]=(k[f>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}else if((c|0)==14){k[h>>2]=k[i>>2];i=k[h>>2]|0;r=j;return i|0}return 0}function JM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+52+16>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+52+24>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+52+24+4>>2];k[(k[d>>2]|0)+12>>2]=k[(k[e>>2]|0)+112>>2];r=c;return}function KM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;b=h;k[e>>2]=a;if((k[(k[e>>2]|0)+44>>2]|0)>>>0>0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}k[g>>2]=k[(k[e>>2]|0)+12>>2];k[f>>2]=k[(k[g>>2]|0)+56>>2];c=Qg(k[(k[g>>2]|0)+72>>2]|0)|0;k[b>>2]=c;if(k[b>>2]|0){k[d>>2]=k[b>>2];g=k[d>>2]|0;r=h;return g|0}else{a=k[f>>2]|0;b=41796;c=a+16|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));i[(k[f>>2]|0)+16>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>8;i[(k[f>>2]|0)+17>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>16;i[(k[f>>2]|0)+18>>0]=1;i[(k[f>>2]|0)+19>>0]=1;i[(k[f>>2]|0)+20>>0]=(k[(k[e>>2]|0)+32>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);i[(k[f>>2]|0)+21>>0]=64;i[(k[f>>2]|0)+22>>0]=32;i[(k[f>>2]|0)+23>>0]=32;a=(k[f>>2]|0)+24|0;c=a+76|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));lL(k[g>>2]|0,13);g=(k[e>>2]|0)+22|0;j[g>>1]=m[g>>1]|0|2;pt((k[f>>2]|0)+52|0,l[(k[e>>2]|0)+17>>0]|0);pt((k[f>>2]|0)+64|0,l[(k[e>>2]|0)+18>>0]|0);k[(k[e>>2]|0)+44>>2]=1;i[(k[f>>2]|0)+31>>0]=1;k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}return 0}function LM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;d=n+24|0;e=n+20|0;f=n;h=n+16|0;j=n+12|0;m=n+8|0;g=n+28|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(0!=0?1:(k[f+4>>2]&-16777216|0)!=0){i[(k[e>>2]|0)+8>>0]=k[f>>2];m=f;m=aS(k[m>>2]|0,k[m+4>>2]|0,8)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=7;while(1){if((k[h>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=k[f>>2]&127|128;m=f;m=aS(k[m>>2]|0,k[m+4>>2]|0,7)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=9;a=k[d>>2]|0;r=n;return a|0}k[m>>2]=0;do{a=(k[f>>2]&127|128)&255;c=k[m>>2]|0;k[m>>2]=c+1;i[g+c>>0]=a;c=f;c=aS(k[c>>2]|0,k[c+4>>2]|0,7)|0;a=f;k[a>>2]=c;k[a+4>>2]=L;a=f}while((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0);i[g>>0]=(l[g>>0]|0)&127;k[h>>2]=0;k[j>>2]=(k[m>>2]|0)-1;while(1){if((k[j>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=i[g+(k[j>>2]|0)>>0]|0;k[j>>2]=(k[j>>2]|0)+-1;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];a=k[d>>2]|0;r=n;return a|0}function MM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;j[(k[m>>2]|0)+8>>1]=1;e=Xx(k[m>>2]|0,(k[h>>2]|0)+2|0)|0;k[n>>2]=e;if(e){n=k[n>>2]|0;r=o;return n|0}b=k[f>>2]|0;f=k[g>>2]|0;c=k[h>>2]|0;d=k[(k[m>>2]|0)+16>>2]|0;if(k[l>>2]|0){l=mI(b,f,c,d)|0;k[n>>2]=l}else{l=_h(b,f,c,d)|0;k[n>>2]=l}if(!(k[n>>2]|0)){i[(k[(k[m>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[(k[m>>2]|0)+16>>2]|0)+((k[h>>2]|0)+1)>>0]=0;j[(k[m>>2]|0)+8>>1]=528;k[(k[m>>2]|0)+12>>2]=k[h>>2];n=k[n>>2]|0;r=o;return n|0}else{fh(k[m>>2]|0);n=k[n>>2]|0;r=o;return n|0}return 0}function NM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[(k[c>>2]|0)+120+(i[(k[c>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(k[(k[c>>2]|0)+16+8>>2]|0);if((m[(k[c>>2]|0)+16+16>>1]|0)>>>0<(k[e>>2]|0)>>>0)k[e>>2]=m[(k[c>>2]|0)+16+16>>1];k[k[d>>2]>>2]=k[e>>2];r=f;return k[(k[c>>2]|0)+16+8>>2]|0}function OM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=(k[c>>2]|0)+40|0;a=YF(k[(k[c>>2]|0)+16>>2]|0,0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}if(k[e>>2]|0){e=_j(73491)|0;k[b>>2]=e;e=k[b>>2]|0;r=f;return e|0}else{i[(k[c>>2]|0)+3>>0]=0;k[(k[c>>2]|0)+56>>2]=0;k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}return 0}function PM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;c=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=k[(k[e>>2]|0)+12>>2];k[h>>2]=k[(k[f>>2]|0)+12>>2];b=k[e>>2]|0;if(!((m[(k[e>>2]|0)+8>>1]|0|(m[(k[f>>2]|0)+8>>1]|0))&16384)){f=oR(k[b+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,(k[g>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[g>>2]|0)|0;k[c>>2]=f;if(k[c>>2]|0){k[d>>2]=k[c>>2];h=k[d>>2]|0;r=i;return h|0}else{k[d>>2]=(k[g>>2]|0)-(k[h>>2]|0);h=k[d>>2]|0;r=i;return h|0}}a=k[e>>2]|0;if((m[b+8>>1]|0)&(m[(k[f>>2]|0)+8>>1]|0)&16384){k[d>>2]=(k[a>>2]|0)-(k[k[f>>2]>>2]|0);h=k[d>>2]|0;r=i;return h|0}if((m[a+8>>1]|0)&16384)if(rG(k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0){k[d>>2]=(k[k[e>>2]>>2]|0)-(k[h>>2]|0);h=k[d>>2]|0;r=i;return h|0}else{k[d>>2]=-1;h=k[d>>2]|0;r=i;return h|0}else if(rG(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0){k[d>>2]=(k[g>>2]|0)-(k[k[f>>2]>>2]|0);h=k[d>>2]|0;r=i;return h|0}else{k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}return 0}function QM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(oz(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=0;a=j[b>>1]|0;r=d;return a|0}if(!(Wi(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=4;a=j[b>>1]|0;r=d;return a|0}else{j[b>>1]=8;a=j[b>>1]|0;r=d;return a|0}return 0}function RM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Yx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0){k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}else{i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function SM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;sh(k[b>>2]|0);j[(k[b>>2]|0)+8>>1]=4;r=c;return k[b>>2]|0}function TM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(k[(k[c>>2]|0)+184>>2]|0){k[b>>2]=k[(k[c>>2]|0)+184>>2];while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+4>>2]|0))break;k[b>>2]=k[a+4>>2]}JI(a)|0;k[(k[c>>2]|0)+184>>2]=0;k[(k[c>>2]|0)+192>>2]=0}ZM(k[c>>2]|0);if(k[(k[c>>2]|0)+92>>2]|0)YC(k[(k[c>>2]|0)+92>>2]|0,k[(k[c>>2]|0)+24>>2]|0);while(1){a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+188>>2]|0))break;k[d>>2]=k[a+188>>2];k[(k[c>>2]|0)+188>>2]=k[(k[d>>2]|0)+4>>2];_M(k[d>>2]|0)}if(!(k[a+204>>2]|0)){r=e;return}VI(k[k[c>>2]>>2]|0,(k[c>>2]|0)+204|0,-1,0);r=e;return}function UM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=r;r=r+144|0;A=H+32|0;C=H+24|0;B=H+16|0;z=H+8|0;c=H+128|0;d=H+124|0;I=H+120|0;e=H+116|0;h=H+112|0;w=H+108|0;i=H+104|0;m=H+100|0;u=H+96|0;n=H+92|0;o=H+88|0;v=H+84|0;F=H+80|0;E=H+76|0;t=H+72|0;j=H;x=H+68|0;y=H+64|0;g=H+60|0;f=H+56|0;p=H+52|0;D=H+48|0;q=H+44|0;s=H+40|0;k[d>>2]=a;k[I>>2]=b;k[h>>2]=0;k[w>>2]=0;k[i>>2]=0;b=VM(k[d>>2]|0,k[I>>2]|0)|0;k[w>>2]=b;k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[m>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(pi(k[m>>2]|0)|0){k[i>>2]=1;wg(k[m>>2]|0);I=Zf(k[m>>2]|0)|0;k[u>>2]=I;if((l[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+8>>0]|0|0)!=1?(I=41812+(Dg(k[u>>2]|0)|0)|0,(l[I>>0]|0|0)!=0):0)k[h>>2]=(k[h>>2]|0)+1;I=Mt(k[u>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(((k[i>>2]|0)!=0?(k[(k[d>>2]|0)+204>>2]|0)!=0:0)?(I=bc[k[(k[d>>2]|0)+204>>2]&255](k[(k[d>>2]|0)+200>>2]|0)|0,k[w>>2]=I,(k[w>>2]|0)!=0):0){k[c>>2]=531;I=k[c>>2]|0;r=H;return I|0}I=0==(Tf(Si(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(k[h>>2]|0)<=1){k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[n>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[n>>2]|0){I=Xg(k[n>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[o>>2]|0){I=Wg(k[o>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(!(k[w>>2]|0))WM(k[d>>2]|0)|0}else{k[v>>2]=k[k[d>>2]>>2];k[F>>2]=0;I=Si(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[E>>2]=I;k[t>>2]=0;I=j;k[I>>2]=0;k[I+4>>2]=0;k[y>>2]=0;I=Tf(k[E>>2]|0)|0;k[g>>2]=I;I=k[d>>2]|0;k[z>>2]=k[E>>2];I=Qh(I,41818,z)|0;k[F>>2]=I;if(!(k[F>>2]|0)){k[c>>2]=7;I=k[c>>2]|0;r=H;return I|0}do{if(k[y>>2]|0){if((k[y>>2]|0)>100){G=35;break}if((k[y>>2]|0)==1){k[C>>2]=k[F>>2];$d(13,41848,C)}}k[y>>2]=(k[y>>2]|0)+1;ae(4,f);I=(k[F>>2]|0)+(k[g>>2]|0)|0;E=k[f>>2]&255;k[A>>2]=(k[f>>2]|0)>>>8&16777215;k[A+4>>2]=E;_d(13,I,41863,A)|0;I=gs(k[v>>2]|0,k[F>>2]|0,0,x)|0;k[w>>2]=I}while((k[w>>2]|0)==0?(k[x>>2]|0)!=0:0);if((G|0)==35){k[B>>2]=k[F>>2];$d(13,41834,B);Hr(k[v>>2]|0,k[F>>2]|0,0)|0}if(!(k[w>>2]|0)){I=IL(k[v>>2]|0,k[F>>2]|0,t,16406,0)|0;k[w>>2]=I}if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[p>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(((pi(k[p>>2]|0)|0)!=0?(I=XM(k[p>>2]|0)|0,k[D>>2]=I,(k[D>>2]|0)!=0):0)?(B=k[t>>2]|0,C=k[D>>2]|0,I=(Tf(k[D>>2]|0)|0)+1|0,E=j,E=Sg(B,C,I,k[E>>2]|0,k[E+4>>2]|0)|0,k[w>>2]=E,E=(Tf(k[D>>2]|0)|0)+1|0,I=j,E=$R(k[I>>2]|0,k[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0,I=j,k[I>>2]=E,k[I+4>>2]=L,(k[w>>2]|0)!=0):0){G=48;break}k[e>>2]=(k[e>>2]|0)+1}if((G|0)==48){eL(k[t>>2]|0);Hr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(0==((ls(k[t>>2]|0)|0)&1024|0)?(I=Fr(k[t>>2]|0,2)|0,k[w>>2]=I,0!=(I|0)):0){eL(k[t>>2]|0);Hr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[q>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[q>>2]|0){I=Xg(k[q>>2]|0,k[F>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}eL(k[t>>2]|0);if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}I=Hr(k[v>>2]|0,k[F>>2]|0,1)|0;k[w>>2]=I;bg(k[d>>2]|0,k[F>>2]|0);k[F>>2]=0;if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}gk();k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[s>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[s>>2]|0)Wg(k[s>>2]|0,1)|0;k[e>>2]=(k[e>>2]|0)+1}hk();WM(k[d>>2]|0)|0}k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}function VM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;g=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;f=j+4|0;e=j;k[g>>2]=a;k[c>>2]=b;k[i>>2]=0;k[h>>2]=k[(k[g>>2]|0)+340>>2];k[(k[g>>2]|0)+340>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[g>>2]|0)+316>>2]|0)){c=8;break}k[e>>2]=k[(k[(k[h>>2]|0)+(k[d>>2]<<2)>>2]|0)+8>>2];if((k[e>>2]|0)!=0?(b=k[(k[k[e>>2]>>2]|0)+60>>2]|0,k[f>>2]=b,(b|0)!=0):0){b=bc[k[f>>2]&255](k[e>>2]|0)|0;k[i>>2]=b;wJ(k[c>>2]|0,k[e>>2]|0)}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){k[(k[g>>2]|0)+340>>2]=k[h>>2];r=j;return k[i>>2]|0}return 0}function WM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Bu(k[c>>2]|0,64);r=b;return 0}function XM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=YM(k[k[(k[c>>2]|0)+4>>2]>>2]|0)|0;r=b;return a|0}function YM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+180>>2]|0}function ZM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[(k[b>>2]|0)+112>>2]|0)){r=e;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+28>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+112>>2]|0)+(k[c>>2]<<2)>>2];if(k[d>>2]|0){oJ(k[b>>2]|0,k[d>>2]|0);k[(k[(k[b>>2]|0)+112>>2]|0)+(k[c>>2]<<2)>>2]=0}k[c>>2]=(k[c>>2]|0)+1}r=e;return}function _M(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=(k[b>>2]|0)+80;k[d>>2]=(k[c>>2]|0)+((k[(k[b>>2]|0)+60>>2]|0)*40|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[b>>2]|0)+64>>2]|0))break;oJ(k[k[b>>2]>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}YC(k[c>>2]|0,k[(k[b>>2]|0)+60>>2]|0);VI(k[k[k[b>>2]>>2]>>2]|0,(k[b>>2]|0)+40|0,-1,0);bg(k[k[k[b>>2]>>2]>>2]|0,k[b>>2]|0);r=f;return}function $M(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[5588+(k[b>>2]<<2)>>2]|0}function aN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=r;r=r+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;q=L;d=L+184|0;e=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;j=L+124|0;n=L+120|0;G=L+116|0;o=L+112|0;g=L+108|0;f=L+104|0;h=L+100|0;k[d>>2]=a;k[e>>2]=b;k[M>>2]=c;k[K>>2]=k[e>>2];ng(J,0,k[e>>2]|0,k[M>>2]|0,0);a:do switch(i[(k[d>>2]|0)+1>>0]|0){case -6:{k[D>>2]=k[(k[d>>2]|0)+16>>2];k[q>>2]=m[(k[D>>2]|0)+6>>1];BA(J,41915,q);k[B>>2]=0;while(1){if((k[B>>2]|0)>=(m[(k[D>>2]|0)+6>>1]|0))break;k[C>>2]=k[(k[D>>2]|0)+20+(k[B>>2]<<2)>>2];if(k[C>>2]|0)d=k[k[C>>2]>>2]|0;else d=18402;k[F>>2]=d;M=(rR(k[F>>2]|0,34834)|0)==0;k[F>>2]=M?41920:d;M=k[F>>2]|0;k[E>>2]=(l[(k[(k[D>>2]|0)+16>>2]|0)+(k[B>>2]|0)>>0]|0)!=0?28264:18402;k[E+4>>2]=M;BA(J,41922,E);k[B>>2]=(k[B>>2]|0)+1}CA(J,34706,1);break}case -4:{k[j>>2]=k[(k[d>>2]|0)+16>>2];k[z>>2]=k[k[j>>2]>>2];BA(J,41928,z);break}case -5:{k[n>>2]=k[(k[d>>2]|0)+16>>2];M=i[k[n>>2]>>0]|0;k[A>>2]=k[(k[n>>2]|0)+20>>2];k[A+4>>2]=M;BA(J,41936,A);break}case -13:{H=k[(k[d>>2]|0)+16>>2]|0;I=k[H+4>>2]|0;M=s;k[M>>2]=k[H>>2];k[M+4>>2]=I;BA(J,28266,s);break}case -14:{k[t>>2]=k[(k[d>>2]|0)+16>>2];BA(J,41943,t);break}case -12:{p[u>>3]=+p[k[(k[d>>2]|0)+16>>2]>>3];BA(J,41946,u);break}case -8:{k[G>>2]=k[(k[d>>2]|0)+16>>2];d=k[G>>2]|0;if(m[(k[G>>2]|0)+8>>1]&2){k[K>>2]=k[d+16>>2];break a}e=k[G>>2]|0;if(m[d+8>>1]&4){G=e;I=k[G+4>>2]|0;M=H;k[M>>2]=k[G>>2];k[M+4>>2]=I;BA(J,28266,H);break a}d=k[G>>2]|0;if(m[e+8>>1]&8){p[I>>3]=+p[d>>3];BA(J,41946,I);break a}if(m[d+8>>1]&1){k[K>>2]=39691;break a}else{k[K>>2]=41952;break a}}case -10:{k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2];k[v>>2]=k[o>>2];BA(J,41959,v);break}case -15:{k[f>>2]=k[(k[d>>2]|0)+16>>2];k[h>>2]=k[k[f>>2]>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[w>>2]=k[(k[f>>2]|0)+(k[g>>2]<<2)>>2];BA(J,41967,w);k[g>>2]=(k[g>>2]|0)+1}i[k[e>>2]>>0]=91;CA(J,41971,1);break}case -18:{BA(J,41973,x);break}case -19:{i[k[e>>2]>>0]=0;break}case -20:{k[y>>2]=k[k[(k[d>>2]|0)+16>>2]>>2];BA(J,18391,y);break}default:{k[K>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[K>>2]|0)){k[K>>2]=k[e>>2];i[k[e>>2]>>0]=0}}}while(0);pg(J)|0;r=L;return k[K>>2]|0}function bN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;sh(k[e>>2]|0);b=f;c=k[b+4>>2]|0;a=k[e>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;j[(k[e>>2]|0)+8>>1]=4;r=d;return}function cN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g+4|0;f=g;e=g+10|0;c=g+9|0;d=g+8|0;k[b>>2]=a;k[f>>2]=0;i[e>>0]=0;if((k[(k[b>>2]|0)+12>>2]|0)>1){i[c>>0]=i[k[(k[b>>2]|0)+16>>2]>>0]|0;i[d>>0]=i[(k[(k[b>>2]|0)+16>>2]|0)+1>>0]|0;if((l[c>>0]|0)==254?(l[d>>0]|0)==255:0)i[e>>0]=3;if((l[c>>0]|0)==255?(l[d>>0]|0)==254:0)i[e>>0]=2}if(!(i[e>>0]|0)){f=k[f>>2]|0;r=g;return f|0}a=lh(k[b>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)-2;cS(k[(k[b>>2]|0)+16>>2]|0,(k[(k[b>>2]|0)+16>>2]|0)+2|0,k[(k[b>>2]|0)+12>>2]|0)|0;i[(k[(k[b>>2]|0)+16>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[b>>2]|0)+16>>2]|0)+((k[(k[b>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[b>>2]|0)+8|0;j[a>>1]=m[a>>1]|512;i[(k[b>>2]|0)+10>>0]=i[e>>0]|0;f=k[f>>2]|0;r=g;return f|0}function dN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+4|0;k[c>>2]=a;i[e>>0]=b;if(!(eN(k[c>>2]|0,i[e>>0]|0)|0)){e=0;r=d;return e|0}e=k[(k[c>>2]|0)+12>>2]|0;r=d;return e|0}function eN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&18){a=b+8|0;j[a>>1]=m[a>>1]|0|2;if((l[(k[d>>2]|0)+10>>0]|0|0)!=((l[e>>0]|0)&-9|0))su(k[d>>2]|0,(l[e>>0]|0)&-9)|0;if((((l[e>>0]|0)&8|0)!=0?1==(1&k[(k[d>>2]|0)+16>>2]|0):0)?(lh(k[d>>2]|0)|0)!=0:0){k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}QI(k[d>>2]|0)|0}else Wx(b,i[e>>0]|0,0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)==((l[e>>0]|0)&-9|0)){k[c>>2]=k[(k[d>>2]|0)+16>>2];e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function fN(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+8>>1]|0)&9312)wG(k[b>>2]|0);if(!(k[(k[b>>2]|0)+24>>2]|0)){a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}bg(k[(k[b>>2]|0)+32>>2]|0,k[(k[b>>2]|0)+20>>2]|0);k[(k[b>>2]|0)+24>>2]=0;a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}function gN(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];bg(k[d>>2]|0,k[(k[c>>2]|0)+108>>2]|0);k[(k[c>>2]|0)+108>>2]=0;k[(k[c>>2]|0)+104>>2]=0;r=b;return}function hN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;zi(k[c>>2]|0);vg(k[c>>2]|0,7);r=b;return 7}function iN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;zj(k[(k[c>>2]|0)+60>>2]|0);k[(k[c>>2]|0)+60>>2]=0;r=b;return}function jN(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];k[e>>2]=k[k[b>>2]>>2];i[(k[c>>2]|0)+19>>0]=0;if((l[(k[b>>2]|0)+8>>0]|0|0)>0?(k[(k[e>>2]|0)+160>>2]|0)>1:0){kN(k[b>>2]|0);i[(k[b>>2]|0)+8>>0]=1;r=d;return}if((l[(k[b>>2]|0)+8>>0]|0|0)!=0?(lN(k[b>>2]|0),e=(k[c>>2]|0)+40|0,k[e>>2]=(k[e>>2]|0)+-1,0==(k[(k[c>>2]|0)+40>>2]|0)):0)i[(k[c>>2]|0)+20>>0]=0;i[(k[b>>2]|0)+8>>0]=0;$B(k[c>>2]|0);r=d;return}function kN(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+4>>2];if((k[(k[b>>2]|0)+76>>2]|0)!=(k[e>>2]|0)){r=d;return}k[(k[b>>2]|0)+76>>2]=0;e=(k[b>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;k[c>>2]=k[(k[b>>2]|0)+72>>2];while(1){if(!(k[c>>2]|0))break;i[(k[c>>2]|0)+8>>0]=1;k[c>>2]=k[(k[c>>2]|0)+12>>2]}r=d;return} +function bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;o=x+64|0;w=x+60|0;p=x+56|0;q=x+52|0;u=x+48|0;v=x+44|0;j=x+8|0;s=x+40|0;t=x+36|0;m=x+32|0;n=x+28|0;h=x;d=x+24|0;f=x+20|0;e=x+16|0;k[o>>2]=a;k[w>>2]=b;k[p>>2]=c;if(k[k[p>>2]>>2]|0){r=x;return}k[q>>2]=l[(k[o>>2]|0)+52>>0];i[(k[w>>2]|0)+33>>0]=1;switch(k[k[w>>2]>>2]|0){case 3:case 1:{k[u>>2]=k[(k[w>>2]|0)+12>>2];k[v>>2]=k[(k[w>>2]|0)+16>>2];if(i[(k[u>>2]|0)+34>>0]|0){bn(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);s=(k[v>>2]|0)+24|0;t=k[s+4>>2]|0;u=(k[w>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[v>>2]|0)+32>>0]|0;r=x;return}n=(i[(k[v>>2]|0)+34>>0]|0)!=0;bn(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0);if(n){s=(k[u>>2]|0)+24|0;t=k[s+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[s>>2];k[v+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[u>>2]|0)+32>>0]|0;r=x;return}bn(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);while(1){if(i[(k[u>>2]|0)+32>>0]|0)break;if(i[(k[v>>2]|0)+32>>0]|0)break;if(k[k[p>>2]>>2]|0)break;n=(k[q>>2]|0)!=0?-1:1;h=(k[u>>2]|0)+24|0;m=(k[v>>2]|0)+24|0;m=_R(k[h>>2]|0,k[h+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;m=kS(n|0,((n|0)<0)<<31>>31|0,m|0,L|0)|0;n=j;k[n>>2]=m;k[n+4>>2]=L;n=j;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0)break;a=k[o>>2]|0;if((k[j+4>>2]|0)<0){bn(a,k[u>>2]|0,k[p>>2]|0);continue}else{bn(a,k[v>>2]|0,k[p>>2]|0);continue}}m=(k[u>>2]|0)+24|0;n=k[m+4>>2]|0;q=(k[w>>2]|0)+24|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;if(l[(k[u>>2]|0)+32>>0]|0)a=1;else a=(l[(k[v>>2]|0)+32>>0]|0)!=0;i[(k[w>>2]|0)+32>>0]=a&1;if((k[k[w>>2]>>2]|0)!=1){r=x;return}if(!(l[(k[w>>2]|0)+32>>0]|0)){r=x;return}a:do if((k[(k[v>>2]|0)+20>>2]|0)!=0?(k[k[(k[v>>2]|0)+20>>2]>>2]|0)!=0:0){k[s>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0)break a;if(l[(k[v>>2]|0)+32>>0]|0)break a;dS(k[(k[s>>2]|0)+28>>2]|0,0,k[(k[s>>2]|0)+32>>2]|0)|0;bn(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0)}}while(0);if(!(k[(k[u>>2]|0)+20>>2]|0)){r=x;return}if(!(k[k[(k[u>>2]|0)+20>>2]>>2]|0)){r=x;return}k[t>>2]=k[(k[u>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0){g=53;break}if(l[(k[u>>2]|0)+32>>0]|0){g=53;break}dS(k[(k[t>>2]|0)+28>>2]|0,0,k[(k[t>>2]|0)+32>>2]|0)|0;bn(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0)}if((g|0)==53){r=x;return}break}case 4:{k[m>>2]=k[(k[w>>2]|0)+12>>2];k[n>>2]=k[(k[w>>2]|0)+16>>2];v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=_R(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=kS(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;do if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){if((l[(k[m>>2]|0)+32>>0]|0)==0?(v=h,u=k[v+4>>2]|0,!((l[(k[n>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(k[v>>2]|0)>>>0>0))):0){bn(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);bn(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);break}bn(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0)}else g=33;while(0);if((g|0)==33)bn(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);if(l[(k[m>>2]|0)+32>>0]|0)a=(l[(k[n>>2]|0)+32>>0]|0)!=0;else a=0;i[(k[w>>2]|0)+32>>0]=a&1;v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=_R(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=kS(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){u=(k[n>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}u=(k[m>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}case 2:{k[d>>2]=k[(k[w>>2]|0)+12>>2];k[f>>2]=k[(k[w>>2]|0)+16>>2];if(!(l[(k[f>>2]|0)+33>>0]|0))bn(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0);bn(k[o>>2]|0,k[d>>2]|0,k[p>>2]|0);b:do if(!(l[(k[d>>2]|0)+32>>0]|0))while(1){if(k[k[p>>2]>>2]|0)break b;if(i[(k[f>>2]|0)+32>>0]|0)break b;u=(k[q>>2]|0)!=0?-1:1;t=(k[d>>2]|0)+24|0;v=(k[f>>2]|0)+24|0;v=_R(k[t>>2]|0,k[t+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;v=kS(u|0,((u|0)<0)<<31>>31|0,v|0,L|0)|0;u=L;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;bn(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0)}while(0);t=(k[d>>2]|0)+24|0;u=k[t+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[t>>2];k[v+4>>2]=u;i[(k[w>>2]|0)+32>>0]=i[(k[d>>2]|0)+32>>0]|0;r=x;return}default:{k[e>>2]=k[(k[w>>2]|0)+20>>2];dn(k[e>>2]|0);u=en(k[o>>2]|0,k[e>>2]|0,(k[w>>2]|0)+32|0)|0;k[k[p>>2]>>2]=u;u=(k[e>>2]|0)+16|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}}}function cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;n=q+12|0;p=q+8|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[p>>2]=k[k[l>>2]>>2];if(!(k[p>>2]|0)){k[p>>2]=k[h>>2];o=im(k[p>>2]|0,k[m>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+o;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}nm(0,p);while(1){if((k[p>>2]|0)>>>0<((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0)a=(i[k[p>>2]>>0]|0)==0;else a=0;b=k[p>>2]|0;if(!a)break;k[p>>2]=b+1}if(b>>>0>=((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0){i[k[n>>2]>>0]=1;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}else{j=im(k[p>>2]|0,o)|0;k[p>>2]=(k[p>>2]|0)+j;j=(k[g>>2]|0)!=0?-1:1;n=o;n=kS(j|0,((j|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;o=k[m>>2]|0;m=o;n=$R(k[m>>2]|0,k[m+4>>2]|0,n|0,L|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}}function dn(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+24>>2]|0)Ud(k[(k[b>>2]|0)+28>>2]|0);k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+24>>2]=0;r=c;return}function en(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;d=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=k[d>>2];k[g>>2]=k[k[j>>2]>>2];b=k[j>>2]|0;if(k[(k[d>>2]|0)+40>>2]|0){j=fn(b,k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}if((l[b+52>>0]|0|0)!=(l[(k[g>>2]|0)+231>>0]|0|0)?(k[(k[f>>2]|0)+4>>2]|0)!=0:0){km(l[(k[g>>2]|0)+231>>0]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[f>>2]|0)+8|0,(k[f>>2]|0)+16|0,(k[f>>2]|0)+32|0,k[e>>2]|0);k[(k[f>>2]|0)+28>>2]=k[(k[f>>2]|0)+8>>2];j=k[h>>2]|0;r=i;return j|0}gn(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);j=k[h>>2]|0;r=i;return j|0}function fn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+192|0;e=D+172|0;d=D+168|0;f=D+164|0;g=D+160|0;A=D+156|0;v=D+152|0;z=D+148|0;n=D+176|0;m=D+144|0;h=D+8|0;o=D+140|0;q=D;p=D+136|0;u=D+132|0;s=D+128|0;j=D+124|0;w=D+120|0;y=D+116|0;x=D+112|0;t=D+108|0;B=D+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[A>>2]=0;k[v>>2]=k[f>>2];k[z>>2]=k[k[d>>2]>>2];i[n>>0]=0;if((k[(k[f>>2]|0)+64>>2]|0)==1?(k[(k[f>>2]|0)+40>>2]|0)!=0:0){B=hn(k[z>>2]|0,k[(k[f>>2]|0)+72+20>>2]|0,(k[v>>2]|0)+16|0,(k[v>>2]|0)+28|0,(k[v>>2]|0)+32|0)|0;k[A>>2]=B;if(!(k[(k[v>>2]|0)+28>>2]|0))i[n>>0]=1}else C=5;a:do if((C|0)==5){k[m>>2]=l[(k[d>>2]|0)+52>>0];d=h;b=d+96|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(b|0));while(1){if(l[n>>0]|0)break a;k[o>>2]=0;c=q;k[c>>2]=0;k[c+4>>2]=0;k[p>>2]=0;while(1){if(k[A>>2]|0)break;if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;if(l[n>>0]|0)break;c=jn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=c;do if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){if((k[o>>2]|0)!=0?(a=(k[m>>2]|0)!=0?-1:1,b=q,c=h+((k[p>>2]|0)*24|0)+8|0,c=_R(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0,kS(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0,(L|0)>=0):0)break;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[o>>2]=1}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;while(1){if(k[A>>2]|0)break;if(l[n>>0]|0)break;if(k[h+((k[p>>2]|0)*24|0)>>2]|0)break;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=_R(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;kS(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;if((L|0)>=0)break;a=jn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=a;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=_R(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=kS(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;a=L;if(!((a|0)>0|(a|0)==0&c>>>0>0))continue;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[p>>2]=0}k[p>>2]=(k[p>>2]|0)+1}if(l[n>>0]|0)continue;k[u>>2]=0;k[s>>2]=k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c=Sd((k[s>>2]|0)+1|0)|0;k[j>>2]=c;if(!(k[j>>2]|0))break;bS(k[j>>2]|0,k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(k[s>>2]|0)+1|0)|0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=((k[(k[f>>2]|0)+64>>2]|0)-1|0))break;if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){k[w>>2]=k[h+((k[p>>2]|0)*24|0)+16>>2];k[y>>2]=k[j>>2];k[x>>2]=k[j>>2];k[t>>2]=(k[(k[f>>2]|0)+64>>2]|0)-1-(k[p>>2]|0);c=kn(x,k[t>>2]|0,0,1,w,y)|0;k[B>>2]=c;if(!(k[B>>2]|0))break;k[u>>2]=(k[x>>2]|0)-(k[j>>2]|0)}k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)==((k[(k[f>>2]|0)+64>>2]|0)-1|0)){C=35;break}Ud(k[j>>2]|0)}if((C|0)==35){z=q;B=k[z+4>>2]|0;C=(k[v>>2]|0)+16|0;k[C>>2]=k[z>>2];k[C+4>>2]=B;k[(k[v>>2]|0)+28>>2]=k[j>>2];k[(k[v>>2]|0)+32>>2]=k[u>>2];k[(k[v>>2]|0)+24>>2]=1;break}k[e>>2]=7;C=k[e>>2]|0;r=D;return C|0}while(0);i[k[g>>2]>>0]=i[n>>0]|0;k[e>>2]=k[A>>2];C=k[e>>2]|0;r=D;return C|0}function gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;e=m;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);b=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0)k[j>>2]=k[b+8>>2];else k[j>>2]=k[b>>2];if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){i[k[g>>2]>>0]=1;r=m;return}c=im(k[j>>2]|0,e)|0;k[j>>2]=(k[j>>2]|0)+c;if((l[(k[d>>2]|0)+231>>0]|0)!=0?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){d=e;e=(k[f>>2]|0)+16|0;c=e;d=_R(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}else{d=e;e=(k[f>>2]|0)+16|0;c=e;d=$R(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}k[(k[f>>2]|0)+28>>2]=k[j>>2];nm(0,j);k[(k[f>>2]|0)+32>>2]=(k[j>>2]|0)-(k[(k[f>>2]|0)+28>>2]|0);while(1){if((k[j>>2]|0)>>>0<(k[h>>2]|0)>>>0)a=(i[k[j>>2]>>0]|0)==0;else a=0;b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}k[(k[f>>2]|0)+8>>2]=b;i[k[g>>2]>>0]=0;r=m;return}function hn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;o=x+60|0;f=x+56|0;g=x+52|0;p=x+48|0;q=x+44|0;s=x+40|0;j=x+36|0;h=x+32|0;n=x+28|0;m=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;i=x+8|0;t=x;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[j>>2]=k[(k[g>>2]|0)+8>>2];k[h>>2]=k[k[g>>2]>>2];k[n>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(k[j>>2]|0)){k[k[q>>2]>>2]=0;k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}while(1){k[m>>2]=k[k[k[g>>2]>>2]>>2];if(!(k[(k[m>>2]|0)+80>>2]|0)){f=4;break}d=(k[k[h>>2]>>2]|0)+88|0;c=k[d+4>>2]|0;e=t;k[e>>2]=k[d>>2];k[e+4>>2]=c;e=em(k[f>>2]|0,k[k[h>>2]>>2]|0,v,u)|0;k[w>>2]=e;k[i>>2]=1;while(1){if(k[w>>2]|0)break;if((k[i>>2]|0)>=(k[j>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+80>>2]|0))break;c=(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+88|0;e=t;if(!((k[c>>2]|0)==(k[e>>2]|0)?(k[c+4>>2]|0)==(k[e+4>>2]|0):0))break;e=em(k[f>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=e;k[i>>2]=(k[i>>2]|0)+1}if(k[w>>2]|0){f=12;break}bm(k[k[g>>2]>>2]|0,k[j>>2]|0,k[i>>2]|0,k[n>>2]|0);if((k[u>>2]|0)>0?(k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0:0){e=cm(k[g>>2]|0,k[v>>2]|0,(k[u>>2]|0)+1|0)|0;k[w>>2]=e;if(k[w>>2]|0){f=16;break}k[v>>2]=k[(k[g>>2]|0)+16>>2]}if((k[(k[g>>2]|0)+24>>2]|0)>=0)fm(k[(k[g>>2]|0)+24>>2]|0,1,v,u);if((k[u>>2]|0)>0){f=21;break}}if((f|0)==4)k[k[q>>2]>>2]=0;else if((f|0)==12){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==16){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==21){k[k[q>>2]>>2]=k[v>>2];v=k[t+4>>2]|0;w=k[p>>2]|0;k[w>>2]=k[t>>2];k[w+4>>2]=v;k[k[s>>2]>>2]=k[u>>2]}k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}function jn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;if((k[(k[g>>2]|0)+44>>2]|0)==(k[h>>2]|0)){gn(k[f>>2]|0,k[g>>2]|0,k[l>>2]|0);k[(k[j>>2]|0)+16>>2]=k[(k[g>>2]|0)+28>>2];k[(k[j>>2]|0)+20>>2]=k[(k[g>>2]|0)+32>>2];a=(k[g>>2]|0)+16|0;m=k[a+4>>2]|0;e=(k[j>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=m;n=k[n>>2]|0;r=o;return n|0}k[m>>2]=(k[g>>2]|0)+72+((k[h>>2]|0)*24|0);if(!(k[(k[m>>2]|0)+20>>2]|0)){k[k[j>>2]>>2]=1;n=k[n>>2]|0;r=o;return n|0}e=hn(k[f>>2]|0,k[(k[m>>2]|0)+20>>2]|0,(k[j>>2]|0)+8|0,(k[j>>2]|0)+16|0,(k[j>>2]|0)+20|0)|0;k[n>>2]=e;if(k[(k[j>>2]|0)+16>>2]|0){n=k[n>>2]|0;r=o;return n|0}i[k[l>>2]>>0]=1;n=k[n>>2]|0;r=o;return n|0}function kn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;g=C+80|0;h=C+76|0;j=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;p=C+56|0;x=C+52|0;y=C+48|0;z=C+44|0;q=C+40|0;s=C+36|0;A=C+32|0;v=C+24|0;t=C+16|0;u=C+8|0;w=C;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[x>>2]=k[k[h>>2]>>2];k[y>>2]=k[k[o>>2]>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=0;k[s>>2]=0;if((i[k[y>>2]>>0]|0)==1){k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=jm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d}if((i[k[z>>2]>>0]|0)==1){k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=jm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}while(1){if((k[q>>2]|0)!=(k[s>>2]|0))if((k[q>>2]|0)<(k[s>>2]|0)){hm(0,y);if(!(i[k[y>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=jm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;continue}else{hm(0,z);if(!(i[k[z>>2]>>0]|0))break;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=jm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d;continue}k[A>>2]=k[x>>2];f=v;k[f>>2]=0;k[f+4>>2]=0;f=t;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;if(k[q>>2]|0){f=k[x>>2]|0;k[x>>2]=f+1;i[f>>0]=1;f=k[q>>2]|0;f=Ul(k[x>>2]|0,f,((f|0)<0)<<31>>31)|0;k[x>>2]=(k[x>>2]|0)+f}ln(y,t);f=t;f=_R(k[f>>2]|0,k[f+4>>2]|0,2,0)|0;e=t;k[e>>2]=f;k[e+4>>2]=L;ln(z,u);e=u;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L;while(1){f=u;a=k[f>>2]|0;f=k[f+4>>2]|0;b=t;e=k[j>>2]|0;e=$R(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;if(!((a|0)==(e|0)&(f|0)==(L|0))){if(((k[n>>2]|0)==0?(e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,(b|0)>(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0>(k[f>>2]|0)>>>0:0)):0)?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=$R(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0)B=19}else B=19;if((B|0)==19){B=0;c=(k[m>>2]|0)!=0;b=t;a=u;f=c?k[b+4>>2]|0:k[a+4>>2]|0;e=w;k[e>>2]=c?k[b>>2]|0:k[a>>2]|0;k[e+4>>2]=f;e=w;e=$R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;mn(x,v,e,L);e=v;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=v;k[f>>2]=e;k[f+4>>2]=L;k[A>>2]=0}if(!((k[m>>2]|0)==0?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=$R(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0))B=22;if((B|0)==22?(B=0,e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,!((b|0)<(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0<=(k[f>>2]|0)>>>0:0))):0){if(!(i[k[y>>2]>>0]&254))break;ln(y,t);e=t;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=t;k[f>>2]=e;k[f+4>>2]=L;continue}if(!(i[k[z>>2]>>0]&254))break;ln(z,u);e=u;e=_R(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L}if(k[A>>2]|0)k[x>>2]=k[A>>2];hm(0,y);hm(0,z);if(!(i[k[y>>2]>>0]|0))break;if(!(i[k[z>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=jm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=jm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}nm(0,z);nm(0,y);k[k[o>>2]>>2]=k[y>>2];k[k[p>>2]>>2]=k[z>>2];if((k[k[h>>2]>>2]|0)==(k[x>>2]|0)){k[g>>2]=0;B=k[g>>2]|0;r=C;return B|0}else{B=k[x>>2]|0;k[x>>2]=B+1;i[B>>0]=0;k[k[h>>2]>>2]=k[x>>2];k[g>>2]=1;B=k[g>>2]|0;r=C;return B|0}return 0}function ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+12|0;d=c+8|0;e=c;k[f>>2]=a;k[d>>2]=b;a=im(k[k[f>>2]>>2]|0,e)|0;b=k[f>>2]|0;k[b>>2]=(k[b>>2]|0)+a;b=e;a=k[d>>2]|0;d=a;b=$R(k[d>>2]|0,k[d+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;r=c;return}function mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;f=e+8|0;g=e;k[h>>2]=a;k[f>>2]=b;a=g;k[a>>2]=c;k[a+4>>2]=d;d=k[k[h>>2]>>2]|0;a=g;b=k[f>>2]|0;b=_R(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=Ul(d,b,L)|0;d=k[h>>2]|0;k[d>>2]=(k[d>>2]|0)+b;d=g;b=k[d+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[d>>2];k[a+4>>2]=b;r=e;return}function nn(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+28>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+80>>2]=0;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+84>>2]=0;a=(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+88|0;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(k[c>>2]|0)+1}r=d;return 0}function on(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+44|0;t=s+40|0;i=s+36|0;o=s+32|0;q=s+28|0;j=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;m=s+8|0;p=s+4|0;n=s;k[d>>2]=a;k[t>>2]=b;k[i>>2]=c;k[o>>2]=k[k[d>>2]>>2];k[q>>2]=0;k[e>>2]=0;if(((k[t>>2]|0)!=0?(l[(k[d>>2]|0)+52>>0]|0|0)==(l[(k[o>>2]|0)+231>>0]|0|0):0)?(k[(k[i>>2]|0)+64>>2]|0)<=4:0)b=(k[(k[i>>2]|0)+64>>2]|0)>0;else b=0;k[f>>2]=b&1;k[j>>2]=0;while(1){if((k[f>>2]|0)!=1)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[g>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);if(!(k[(k[g>>2]|0)+12>>2]|0)){if((k[(k[g>>2]|0)+20>>2]|0)!=0?(k[(k[(k[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)h=11}else h=11;if((h|0)==11){h=0;k[f>>2]=0}if(k[(k[g>>2]|0)+20>>2]|0)k[e>>2]=1;k[j>>2]=(k[j>>2]|0)+1}if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){t=qn(k[d>>2]|0,k[i>>2]|0)|0;k[q>>2]=t;k[(k[i>>2]|0)+40>>2]=0;t=k[q>>2]|0;r=s;return t|0}if((k[(k[i>>2]|0)+68>>2]|0)>=(k[(k[o>>2]|0)+24>>2]|0))b=-1;else b=k[(k[i>>2]|0)+68>>2]|0;k[m>>2]=b;k[j>>2]=0;while(1){if(k[q>>2]|0)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[p>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);k[n>>2]=k[(k[p>>2]|0)+20>>2];if(k[n>>2]|0){t=pn(k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0)|0;k[q>>2]=t}k[j>>2]=(k[j>>2]|0)+1}k[(k[i>>2]|0)+40>>2]=1;t=k[q>>2]|0;r=s;return t|0}function pn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;m=t+40|0;f=t+36|0;n=t+32|0;o=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;q=t+12|0;i=t+8|0;s=t+4|0;j=t;k[f>>2]=a;k[n>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[(k[n>>2]|0)+4>>2];k[s>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;d=rm(k[f>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[i>>2]|0))break;k[j>>2]=k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2];if(!(k[(k[j>>2]|0)+40>>2]|0))break;if(sm(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0)break;k[p>>2]=(k[p>>2]|0)+1}k[(k[n>>2]|0)+8>>2]=k[p>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[n>>2]|0)+8>>2]|0)){f=13;break}d=dm(k[f>>2]|0,k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){f=11;break}k[p>>2]=(k[p>>2]|0)+1}if((f|0)==11){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}else if((f|0)==13){bm(k[k[n>>2]>>2]|0,k[p>>2]|0,k[p>>2]|0,k[s>>2]|0);k[(k[n>>2]|0)+24>>2]=k[o>>2];k[m>>2]=0;s=k[m>>2]|0;r=t;return s|0}return 0}function qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+28|0;c=j+24|0;f=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[c>>2]=b;k[f>>2]=k[k[l>>2]>>2];k[i>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0)){c=8;break}k[h>>2]=(k[c>>2]|0)+72+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[e>>2]=0,k[g>>2]=0,l=rn(k[f>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+68>>2]|0,e,g)|0,k[i>>2]=l,(k[i>>2]|0)==0):0){l=sn(k[f>>2]|0,k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[i>>2]=l}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){r=j;return k[i>>2]|0}return 0}function rn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+192|0;f=q+176|0;g=q+172|0;h=q+168|0;i=q+164|0;j=q+160|0;o=q+156|0;n=q+152|0;p=q+24|0;l=q+8|0;m=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=k[(k[g>>2]|0)+20>>2];c=p;a=c+128|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[l+12>>2]=3|((k[(k[g>>2]|0)+8>>2]|0)!=0?8:0)|((k[(k[g>>2]|0)+12>>2]|0)!=0?32:0)|((k[h>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0)?4:0);k[l+8>>2]=k[h>>2];k[l>>2]=k[k[g>>2]>>2];k[l+4>>2]=k[(k[g>>2]|0)+4>>2];l=El(k[f>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=l;while(1){if(k[o>>2]|0)break;l=Fl(k[f>>2]|0,k[n>>2]|0)|0;k[o>>2]=l;if(100!=(l|0))break;l=wn(k[f>>2]|0,p,k[(k[n>>2]|0)+48>>2]|0,k[(k[n>>2]|0)+52>>2]|0)|0;k[o>>2]=l}if(!(k[o>>2]|0)){l=xn(k[f>>2]|0,p)|0;k[o>>2]=l}if(!(k[o>>2]|0)){k[k[j>>2]>>2]=k[p>>2];k[k[i>>2]>>2]=k[p+64>>2];p=k[n>>2]|0;yn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}k[m>>2]=0;while(1){if((k[m>>2]|0)>=16)break;Ud(k[p+(k[m>>2]<<2)>>2]|0);k[m>>2]=(k[m>>2]|0)+1}p=k[n>>2]|0;yn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}function sn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;s=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;m=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[s>>2]=0;c=k[g>>2]|0;do if(!(k[i>>2]|0)){Ud(k[c>>2]|0);k[k[g>>2]>>2]=0;k[(k[g>>2]|0)+4>>2]=0}else{if((k[c+44>>2]|0)<0){k[k[g>>2]>>2]=k[i>>2];k[(k[g>>2]|0)+4>>2]=k[j>>2];break}if(!(k[k[g>>2]>>2]|0)){Ud(k[i>>2]|0);break}c=k[k[g>>2]>>2]|0;if((k[(k[g>>2]|0)+44>>2]|0)<(k[h>>2]|0)){k[p>>2]=c;k[n>>2]=k[(k[g>>2]|0)+4>>2];k[q>>2]=k[i>>2];k[o>>2]=k[j>>2];k[m>>2]=(k[h>>2]|0)-(k[(k[g>>2]|0)+44>>2]|0)}else{k[q>>2]=c;k[o>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=k[i>>2];k[n>>2]=k[j>>2];k[m>>2]=(k[(k[g>>2]|0)+44>>2]|0)-(k[h>>2]|0)}n=tn(l[(k[f>>2]|0)+231>>0]|0,k[m>>2]|0,k[p>>2]|0,k[n>>2]|0,q,o)|0;k[s>>2]=n;Ud(k[p>>2]|0);k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[o>>2]}while(0);if((k[h>>2]|0)<=(k[(k[g>>2]|0)+44>>2]|0)){s=k[s>>2]|0;r=t;return s|0}k[(k[g>>2]|0)+44>>2]=k[h>>2];s=k[s>>2]|0;r=t;return s|0}function tn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=r;r=r+112|0;g=C+104|0;h=C+100|0;i=C+96|0;D=C+92|0;E=C+88|0;j=C+84|0;l=C+80|0;q=C+32|0;s=C+24|0;u=C+16|0;n=C+76|0;z=C+72|0;A=C+68|0;x=C+64|0;y=C+60|0;w=C+56|0;o=C+52|0;m=C+48|0;t=C+8|0;B=C+44|0;v=C;p=C+40|0;k[h>>2]=a;k[i>>2]=b;k[D>>2]=c;k[E>>2]=d;k[j>>2]=e;k[l>>2]=f;f=q;k[f>>2]=0;k[f+4>>2]=0;f=s;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;k[n>>2]=k[k[j>>2]>>2];k[z>>2]=(k[D>>2]|0)+(k[E>>2]|0);k[A>>2]=(k[n>>2]|0)+(k[k[l>>2]>>2]|0);k[x>>2]=k[D>>2];k[y>>2]=k[n>>2];k[o>>2]=0;if(k[h>>2]|0){E=Sd((k[k[l>>2]>>2]|0)+10|0)|0;k[m>>2]=E;if(!(k[m>>2]|0)){k[g>>2]=7;E=k[g>>2]|0;r=C;return E|0}}else k[m>>2]=k[n>>2];k[w>>2]=k[m>>2];un(x,k[z>>2]|0,0,q);un(y,k[A>>2]|0,0,s);while(1){if(!((k[x>>2]|0)!=0?(k[y>>2]|0)!=0:0))break;E=(k[h>>2]|0)!=0?-1:1;f=q;D=s;D=_R(k[f>>2]|0,k[f+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;D=kS(E|0,((E|0)<0)<<31>>31|0,D|0,L|0)|0;E=t;k[E>>2]=D;k[E+4>>2]=L;E=t;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))if((k[t+4>>2]|0)<0){nm(0,x);un(x,k[z>>2]|0,k[h>>2]|0,q);continue}else{nm(0,y);un(y,k[A>>2]|0,k[h>>2]|0,s);continue}else{k[B>>2]=k[w>>2];f=u;D=k[f+4>>2]|0;E=v;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[p>>2]=k[o>>2];E=q;vn(w,k[h>>2]|0,u,o,k[E>>2]|0,k[E+4>>2]|0);if(!(kn(w,k[i>>2]|0,0,1,x,y)|0)){k[w>>2]=k[B>>2];f=v;D=k[f+4>>2]|0;E=u;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[o>>2]=k[p>>2]}un(x,k[z>>2]|0,k[h>>2]|0,q);un(y,k[A>>2]|0,k[h>>2]|0,s);continue}}k[k[l>>2]>>2]=(k[w>>2]|0)-(k[m>>2]|0);if(k[h>>2]|0){Ud(k[n>>2]|0);k[k[j>>2]>>2]=k[m>>2]}k[g>>2]=0;E=k[g>>2]|0;r=C;return E|0}function un(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+20|0;j=i+16|0;h=i+12|0;g=i+8|0;f=i;k[e>>2]=a;k[j>>2]=b;k[h>>2]=c;k[g>>2]=d;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>>>0>=(k[j>>2]|0)>>>0){k[c>>2]=0;r=i;return}a=im(k[c>>2]|0,f)|0;e=k[e>>2]|0;k[e>>2]=(k[e>>2]|0)+a;e=f;a=k[e>>2]|0;e=k[e+4>>2]|0;c=k[g>>2]|0;d=c;b=k[d>>2]|0;d=k[d+4>>2]|0;if(k[h>>2]|0){h=_R(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}else{h=$R(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}}function vn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;g=m+28|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+8|0;l=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[i>>2]=d;a=j;k[a>>2]=e;k[a+4>>2]=f;if((k[n>>2]|0)!=0?(k[k[i>>2]>>2]|0)!=0:0){n=k[h>>2]|0;a=j;a=_R(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}else{n=j;a=k[h>>2]|0;a=_R(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}a=l;a=Ul(k[k[g>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;c=k[g>>2]|0;k[c>>2]=(k[c>>2]|0)+a;c=j;a=k[c+4>>2]|0;n=k[h>>2]|0;k[n>>2]=k[c>>2];k[n+4>>2]=a;k[k[i>>2]>>2]=1;r=m;return}function wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;e=t+24|0;j=t+20|0;o=t+16|0;n=t+12|0;m=t+8|0;p=t+4|0;q=t;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[e>>2]=d;a:do if(!(k[k[h>>2]>>2]|0)){s=Sd((k[e>>2]|0)+10+1|0)|0;k[k[h>>2]>>2]=s;k[(k[h>>2]|0)+64>>2]=k[e>>2];if(k[k[h>>2]>>2]|0){bS(k[k[h>>2]>>2]|0,k[i>>2]|0,k[e>>2]|0)|0;break}k[f>>2]=7;s=k[f>>2]|0;r=t;return s|0}else{k[j>>2]=k[i>>2];k[o>>2]=k[e>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break a;if(!(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)){s=8;break}e=zn(l[(k[g>>2]|0)+231>>0]|0,k[j>>2]|0,k[o>>2]|0,k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]|0,m,p)|0;k[q>>2]=e;e=(k[j>>2]|0)!=(k[i>>2]|0);if(k[q>>2]|0)break;if(e)Ud(k[j>>2]|0);Ud(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0);k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=0;k[j>>2]=k[m>>2];k[o>>2]=k[p>>2];if(((k[n>>2]|0)+1|0)==16){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2]}k[n>>2]=(k[n>>2]|0)+1}if((s|0)==8){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2];break}if(e)Ud(k[j>>2]|0);k[f>>2]=k[q>>2];s=k[f>>2]|0;r=t;return s|0}while(0);k[f>>2]=0;s=k[f>>2]|0;r=t;return s|0}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=r;r=r+48|0;g=n+32|0;c=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;e=n+12|0;f=n+8|0;d=n+4|0;m=n;k[c>>2]=a;k[h>>2]=b;k[i>>2]=0;k[j>>2]=0;k[e>>2]=0;a:while(1){if((k[e>>2]|0)>=16){c=10;break}do if(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0){if(!(k[i>>2]|0)){k[i>>2]=k[(k[h>>2]|0)+(k[e>>2]<<2)>>2];k[j>>2]=k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2];k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;break}b=zn(l[(k[c>>2]|0)+231>>0]|0,k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2]|0,k[i>>2]|0,k[j>>2]|0,d,f)|0;k[m>>2]=b;if(k[m>>2]|0){c=7;break a}Ud(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0);Ud(k[i>>2]|0);k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;k[i>>2]=k[d>>2];k[j>>2]=k[f>>2]}while(0);k[e>>2]=(k[e>>2]|0)+1}if((c|0)==7){Ud(k[i>>2]|0);k[g>>2]=k[m>>2];m=k[g>>2]|0;r=n;return m|0}else if((c|0)==10){k[k[h>>2]>>2]=k[i>>2];k[(k[h>>2]|0)+64>>2]=k[j>>2];k[g>>2]=0;m=k[g>>2]|0;r=n;return m|0}return 0}function yn(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ll(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function zn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=r;r=r+96|0;h=y+88|0;i=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;j=y+64|0;l=y+60|0;o=y+24|0;p=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;m=y+36|0;n=y+32|0;q=y;k[i>>2]=a;k[C>>2]=b;k[A>>2]=c;k[B>>2]=d;k[z>>2]=e;k[j>>2]=f;k[l>>2]=g;g=o;k[g>>2]=0;k[g+4>>2]=0;g=p;k[g>>2]=0;k[g+4>>2]=0;g=s;k[g>>2]=0;k[g+4>>2]=0;k[w>>2]=(k[C>>2]|0)+(k[A>>2]|0);k[x>>2]=(k[B>>2]|0)+(k[z>>2]|0);k[u>>2]=k[C>>2];k[v>>2]=k[B>>2];k[n>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;g=Sd((k[A>>2]|0)+(k[z>>2]|0)+10-1|0)|0;k[m>>2]=g;if(!(k[m>>2]|0)){k[h>>2]=7;C=k[h>>2]|0;r=y;return C|0}k[t>>2]=k[m>>2];un(u,k[w>>2]|0,0,o);un(v,k[x>>2]|0,0,p);while(1){if(!((k[u>>2]|0)!=0?1:(k[v>>2]|0)!=0))break;C=(k[i>>2]|0)!=0?-1:1;A=o;B=p;B=_R(k[A>>2]|0,k[A+4>>2]|0,k[B>>2]|0,k[B+4>>2]|0)|0;B=kS(C|0,((C|0)<0)<<31>>31|0,B|0,L|0)|0;C=q;k[C>>2]=B;k[C+4>>2]=L;C=q;if((k[v>>2]|0)!=0&(k[u>>2]|0)!=0&((k[C>>2]|0)==0&(k[C+4>>2]|0)==0)){C=o;vn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);An(t,u,v);un(u,k[w>>2]|0,k[i>>2]|0,o);un(v,k[x>>2]|0,k[i>>2]|0,p);continue}if((k[v>>2]|0)!=0?!((k[u>>2]|0)!=0&(k[q+4>>2]|0)<0):0){C=p;vn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);nm(t,v);un(v,k[x>>2]|0,k[i>>2]|0,p);continue}C=o;vn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);nm(t,u);un(u,k[w>>2]|0,k[i>>2]|0,o)}k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=(k[t>>2]|0)-(k[m>>2]|0);k[h>>2]=0;C=k[h>>2]|0;r=y;return C|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;d=t+56|0;e=t+52|0;f=t+48|0;p=t+44|0;q=t+40|0;s=t+36|0;j=t+32|0;m=t+28|0;g=t+16|0;h=t+8|0;n=t;o=t+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[p>>2]=k[k[d>>2]>>2];k[q>>2]=k[k[e>>2]>>2];k[s>>2]=k[k[f>>2]>>2];a:while(1){if((i[k[q>>2]>>0]|0)==0?(i[k[s>>2]>>0]|0)==0:0)break;a=k[q>>2]|0;do if((i[k[q>>2]>>0]|0)==1){b=(k[q>>2]|0)+1|0;if(l[a+1>>0]&128){jm(b,j)|0;break}else{k[j>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[j>>2]=2147483647;break}else{k[j>>2]=0;break}while(0);a=k[s>>2]|0;do if((i[k[s>>2]>>0]|0)==1){b=(k[s>>2]|0)+1|0;if(l[a+1>>0]&128){jm(b,m)|0;break}else{k[m>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[m>>2]=2147483647;break}else{k[m>>2]=0;break}while(0);if((k[j>>2]|0)!=(k[m>>2]|0))if((k[j>>2]|0)<(k[m>>2]|0)){c=Bn(p,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+c;hm(p,q);continue}else{c=Bn(p,k[m>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+c;hm(p,s);continue}c=g;k[c>>2]=0;k[c+4>>2]=0;c=h;k[c>>2]=0;k[c+4>>2]=0;c=n;k[c>>2]=0;k[c+4>>2]=0;c=Bn(p,k[j>>2]|0)|0;k[o>>2]=c;k[q>>2]=(k[q>>2]|0)+(k[o>>2]|0);k[s>>2]=(k[s>>2]|0)+(k[o>>2]|0);ln(q,g);ln(s,h);while(1){b=g;u=k[b+4>>2]|0;a=h;c=k[a+4>>2]|0;a=(u|0)<(c|0)|((u|0)==(c|0)?(k[b>>2]|0)>>>0<(k[a>>2]|0)>>>0:0);b=g;c=h;mn(p,n,a?k[b>>2]|0:k[c>>2]|0,a?k[b+4>>2]|0:k[c+4>>2]|0);c=n;c=_R(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;b=n;k[b>>2]=c;k[b+4>>2]=L;b=g;c=h;do if(!((k[b>>2]|0)==(k[c>>2]|0)?(k[b+4>>2]|0)==(k[c+4>>2]|0):0)){c=g;a=k[c+4>>2]|0;u=h;b=k[u+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)){Cn(q,g);break}else{Cn(s,h);break}}else{Cn(q,g);Cn(s,h)}while(0);c=g;u=h;if(!((k[c>>2]|0)!=2147483647|(k[c+4>>2]|0)!=0?1:(k[u>>2]|0)!=2147483647|(k[u+4>>2]|0)!=0))continue a}}u=k[p>>2]|0;k[p>>2]=u+1;i[u>>0]=0;k[k[d>>2]>>2]=k[p>>2];k[k[e>>2]>>2]=(k[q>>2]|0)+1;k[k[f>>2]>>2]=(k[s>>2]|0)+1;r=t;return}function Bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[d>>2]|0)){a=k[e>>2]|0;r=g;return a|0}k[f>>2]=k[k[c>>2]>>2];a=k[d>>2]|0;a=1+(Ul((k[f>>2]|0)+1|0,a,((a|0)<0)<<31>>31)|0)|0;k[e>>2]=a;i[k[f>>2]>>0]=1;k[k[c>>2]>>2]=(k[f>>2]|0)+(k[e>>2]|0);a=k[e>>2]|0;r=g;return a|0}function Cn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[k[k[c>>2]>>2]>>0]&254){ln(k[c>>2]|0,k[d>>2]|0);a=k[d>>2]|0;b=a;b=_R(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;k[a>>2]=b;k[a+4>>2]=L;r=e;return}else{a=k[d>>2]|0;k[a>>2]=2147483647;k[a+4>>2]=0;r=e;return}}function Dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((i[(k[e>>2]|0)+7>>0]|0)!=0?(k[f>>2]=0,f=Pn(k[e>>2]|0,f)|0,k[g>>2]=f,(k[g>>2]|0)==0):0){f=(k[e>>2]|0)+32|0;Ve(k[(k[e>>2]|0)+8>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;i[(k[e>>2]|0)+7>>0]=0;if(100==(De(k[(k[e>>2]|0)+8>>2]|0)|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}f=ge(k[(k[e>>2]|0)+8>>2]|0)|0;k[g>>2]=f;if((k[g>>2]|0)==0?(k[(k[k[e>>2]>>2]|0)+40>>2]|0)==0:0){k[g>>2]=267;i[(k[e>>2]|0)+6>>0]=1}}if((k[g>>2]|0)!=0&(k[d>>2]|0)!=0)Ae(k[d>>2]|0,k[g>>2]|0);k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function En(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+80|0;b=v+64|0;q=v+60|0;c=v+56|0;d=v;j=v+52|0;i=v+48|0;o=v+44|0;m=v+40|0;s=v+36|0;p=v+32|0;t=v+28|0;h=v+24|0;e=v+20|0;f=v+16|0;g=v+12|0;n=v+8|0;k[b>>2]=a;k[q>>2]=0;if(!(k[(k[b>>2]|0)+24>>2]|0)){u=k[q>>2]|0;r=v;return u|0}k[i>>2]=k[k[b>>2]>>2];k[o>>2]=k[(k[i>>2]|0)+36>>2];k[m>>2]=k[k[o>>2]>>2];w=Ne(k[(k[b>>2]|0)+8>>2]|0,0)|0;a=d;k[a>>2]=w;k[a+4>>2]=L;k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[q>>2]|0)==0:0))break;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[c>>2]|0)>>0]|0)){w=Oe(k[(k[b>>2]|0)+8>>2]|0,(k[c>>2]|0)+1|0)|0;k[s>>2]=w;k[p>>2]=0;w=Mn(k[o>>2]|0,k[(k[b>>2]|0)+16>>2]|0,k[s>>2]|0,-1,p)|0;k[q>>2]=w;a:while(1){if(k[q>>2]|0)break;k[h>>2]=0;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;w=ac[k[(k[m>>2]|0)+20>>2]&255](k[p>>2]|0,t,h,e,f,g)|0;k[q>>2]=w;k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))continue a;k[n>>2]=k[k[j>>2]>>2];if(!((k[(k[j>>2]|0)+4>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[(k[j>>2]|0)+4>>2]|0)!=(k[c>>2]|0):0))u=11;do if((u|0)==11?(u=0,(k[g>>2]|0)==0?1:(k[(k[n>>2]|0)+12>>2]|0)==0):0){if((k[(k[n>>2]|0)+4>>2]|0)!=(k[h>>2]|0)){if(!(k[(k[n>>2]|0)+8>>2]|0))break;if((k[(k[n>>2]|0)+4>>2]|0)>=(k[h>>2]|0))break}if(!(oR(k[t>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)){x=d;a=k[c>>2]|0;w=k[g>>2]|0;Nn((k[j>>2]|0)+12|0,k[x>>2]|0,k[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,q)|0}}while(0);k[j>>2]=k[(k[j>>2]|0)+8>>2]}}if(k[p>>2]|0)bc[k[(k[m>>2]|0)+16>>2]&255](k[p>>2]|0)|0;if((k[q>>2]|0)==101)k[q>>2]=0}k[c>>2]=(k[c>>2]|0)+1}k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))break;if(k[(k[j>>2]|0)+12>>2]|0){x=On((k[j>>2]|0)+12|0,0,0)|0;k[q>>2]=x}k[j>>2]=k[(k[j>>2]|0)+8>>2]}x=k[q>>2]|0;r=v;return x|0}function Fn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;j=o+28|0;h=o+24|0;d=o+20|0;n=o+16|0;m=o+12|0;e=o+8|0;f=o+4|0;g=o;k[j>>2]=a;k[h>>2]=b;k[d>>2]=c;k[n>>2]=1;if(k[k[d>>2]>>2]|0){n=k[n>>2]|0;r=o;return n|0}switch(k[k[h>>2]>>2]|0){case 3:case 1:{if((Fn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)!=0?(Fn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0:0)d=(Hn(k[h>>2]|0,k[d>>2]|0)|0)!=0;else d=0;k[n>>2]=d&1;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[k[h>>2]>>2]|0)!=1){n=k[n>>2]|0;r=o;return n|0}if((k[(k[h>>2]|0)+8>>2]|0)!=0?(k[k[(k[h>>2]|0)+8>>2]>>2]|0)==1:0){n=k[n>>2]|0;r=o;return n|0}k[m>>2]=k[h>>2];while(1){d=k[m>>2]|0;if(k[(k[m>>2]|0)+20>>2]|0)break;c=(k[d+16>>2]|0)+24|0;h=(k[j>>2]|0)+32|0;if((k[c>>2]|0)==(k[h>>2]|0)?(k[c+4>>2]|0)==(k[h+4>>2]|0):0)dn(k[(k[(k[m>>2]|0)+16>>2]|0)+20>>2]|0);k[m>>2]=k[(k[m>>2]|0)+12>>2]}h=d+24|0;j=(k[j>>2]|0)+32|0;if(!((k[h>>2]|0)==(k[j>>2]|0)?(k[h+4>>2]|0)==(k[j+4>>2]|0):0)){n=k[n>>2]|0;r=o;return n|0}dn(k[(k[m>>2]|0)+20>>2]|0);n=k[n>>2]|0;r=o;return n|0}case 4:{m=Fn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0;k[e>>2]=m;m=Fn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[f>>2]=m;k[n>>2]=((k[e>>2]|0)!=0?1:(k[f>>2]|0)!=0)&1;n=k[n>>2]|0;r=o;return n|0}case 2:{if(Fn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)d=(Fn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0^1;else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}default:{do if(k[(k[j>>2]|0)+24>>2]|0){c=(k[h>>2]|0)+24|0;m=(k[j>>2]|0)+32|0;if(!((k[c>>2]|0)==(k[m>>2]|0)?(k[c+4>>2]|0)==(k[m+4>>2]|0):0)?(l[(k[h>>2]|0)+34>>0]|0)==0:0)break;k[g>>2]=k[(k[h>>2]|0)+20>>2];if(i[(k[h>>2]|0)+34>>0]|0)dn(k[g>>2]|0);c=In(k[j>>2]|0,k[g>>2]|0)|0;k[k[d>>2]>>2]=c;k[n>>2]=(k[(k[g>>2]|0)+28>>2]|0)!=0&1;c=(k[j>>2]|0)+32|0;j=k[c+4>>2]|0;m=(k[h>>2]|0)+24|0;k[m>>2]=k[c>>2];k[m+4>>2]=j;n=k[n>>2]|0;r=o;return n|0}while(0);if(!(l[(k[h>>2]|0)+32>>0]|0)){m=(k[h>>2]|0)+24|0;d=(k[j>>2]|0)+32|0;d=(k[m>>2]|0)==(k[d>>2]|0)?(k[m+4>>2]|0)==(k[d+4>>2]|0):0}else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}}return 0}function Gn(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+24>>2];while(1){if(!(k[b>>2]|0))break;ul(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q+44|0;d=q+40|0;p=q+36|0;n=q+32|0;f=q+28|0;i=q+24|0;h=q+20|0;m=q+16|0;g=q+12|0;e=q+8|0;j=q+4|0;o=q;k[c>>2]=a;k[d>>2]=b;k[p>>2]=1;if(k[k[d>>2]>>2]|0){p=k[p>>2]|0;r=q;return p|0}if((k[k[c>>2]>>2]|0)!=1){p=k[p>>2]|0;r=q;return p|0}if(l[(k[c>>2]|0)+32>>0]|0){p=k[p>>2]|0;r=q;return p|0}if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[k[(k[c>>2]|0)+8>>2]>>2]|0)==1:0){p=k[p>>2]|0;r=q;return p|0}k[f>>2]=0;k[n>>2]=k[c>>2];while(1){a=k[n>>2]|0;if(!(k[(k[n>>2]|0)+12>>2]|0))break;k[f>>2]=(k[f>>2]|0)+(k[(k[(k[a+16>>2]|0)+20>>2]|0)+32>>2]|0);k[n>>2]=k[(k[n>>2]|0)+12>>2]}k[f>>2]=(k[f>>2]|0)+(k[(k[a+20>>2]|0)+32>>2]|0);if(!(k[f>>2]|0)){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}f=Sd(k[f>>2]<<1)|0;k[i>>2]=f;a:do if(k[i>>2]|0){k[h>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];while(1){if(!((k[p>>2]|0)!=0&(k[n>>2]|0)!=0))break;if((k[k[n>>2]>>2]|0)!=1)break;k[g>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+20>>2];k[e>>2]=k[(k[n>>2]|0)+4>>2];f=Kn(k[e>>2]|0,k[i>>2]|0,h,m,k[g>>2]|0)|0;k[p>>2]=f;k[n>>2]=k[(k[n>>2]|0)+8>>2]}k[h>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[c>>2]|0)+12>>2];while(1){if(!((k[n>>2]|0)!=0?(k[p>>2]|0)!=0:0))break a;k[j>>2]=k[(k[(k[n>>2]|0)+8>>2]|0)+4>>2];a=k[n>>2]|0;if((k[k[n>>2]>>2]|0)==1)a=k[(k[a+16>>2]|0)+20>>2]|0;else a=k[a+20>>2]|0;k[o>>2]=a;g=Kn(k[j>>2]|0,k[i>>2]|0,h,m,k[o>>2]|0)|0;k[p>>2]=g;k[n>>2]=k[(k[n>>2]|0)+12>>2]}}else{k[k[d>>2]>>2]=7;k[p>>2]=0}while(0);Ud(k[i>>2]|0);p=k[p>>2]|0;r=q;return p|0}function In(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;l=y+76|0;m=y+72|0;n=y+68|0;d=y+64|0;p=y+60|0;u=y+56|0;q=y+52|0;j=y+48|0;h=y+44|0;i=y+40|0;e=y+36|0;x=y+32|0;c=y+28|0;f=y+24|0;g=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;o=y;k[m>>2]=a;k[n>>2]=b;k[p>>2]=0;k[u>>2]=0;k[q>>2]=-1;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+64>>2]|0)){a=14;break}k[j>>2]=(k[n>>2]|0)+72+((k[d>>2]|0)*24|0);k[h>>2]=k[(k[j>>2]|0)+16>>2];if(k[h>>2]|0){b=Jn(k[h>>2]|0,i,e)|0;k[x>>2]=b;if(k[x>>2]|0){a=5;break}b=k[p>>2]|0;if(!(k[i>>2]|0)){a=7;break}a=k[i>>2]|0;if(b){k[c>>2]=a;k[f>>2]=k[p>>2];k[g>>2]=k[c>>2];kn(c,(k[d>>2]|0)-(k[q>>2]|0)|0,0,1,f,g)|0;Ud(k[p>>2]|0);k[p>>2]=k[i>>2];k[u>>2]=(k[c>>2]|0)-(k[p>>2]|0);if(!(k[u>>2]|0)){a=11;break}}else{k[p>>2]=a;k[u>>2]=k[e>>2]}k[q>>2]=k[d>>2]}k[d>>2]=(k[d>>2]|0)+1}if((a|0)==5){k[l>>2]=k[x>>2];x=k[l>>2]|0;r=y;return x|0}else if((a|0)==7){Ud(b);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==11){Ud(k[p>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==14){do if((k[q>>2]|0)>=0){k[t>>2]=k[(k[n>>2]|0)+44>>2];if((k[t>>2]|0)<0){k[(k[n>>2]|0)+28>>2]=k[p>>2];k[(k[n>>2]|0)+32>>2]=k[u>>2];v=(k[m>>2]|0)+32|0;w=k[v+4>>2]|0;x=(k[n>>2]|0)+16|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;k[(k[n>>2]|0)+24>>2]=1;break}if((k[t>>2]|0)>(k[q>>2]|0)){k[v>>2]=k[p>>2];k[w>>2]=k[(k[n>>2]|0)+28>>2];k[s>>2]=(k[t>>2]|0)-(k[q>>2]|0)}else{k[v>>2]=k[(k[n>>2]|0)+28>>2];k[w>>2]=k[p>>2];k[s>>2]=(k[q>>2]|0)-(k[t>>2]|0)}x=Sd((k[u>>2]|0)+8|0)|0;k[o>>2]=x;if(!(k[o>>2]|0)){Ud(k[p>>2]|0);k[l>>2]=7;x=k[l>>2]|0;r=y;return x|0}k[(k[n>>2]|0)+28>>2]=k[o>>2];if(kn(o,k[s>>2]|0,0,1,v,w)|0){k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+32>>2]=(k[o>>2]|0)-(k[(k[n>>2]|0)+28>>2]|0)}else{Ud(k[o>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0}Ud(k[p>>2]|0)}while(0);k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}return 0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;f=j+20|0;g=j+16|0;i=j+12|0;h=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;if(!(k[(k[e>>2]|0)+12>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}b=Sd(k[k[(k[e>>2]|0)+12>>2]>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){b=im(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0,j)|0;k[h>>2]=b;k[k[g>>2]>>2]=(k[k[(k[e>>2]|0)+12>>2]>>2]|0)-(k[h>>2]|0);k[k[f>>2]>>2]=k[i>>2];bS(k[i>>2]|0,(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)+(k[h>>2]|0)|0,k[k[g>>2]>>2]|0)|0;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=j;return b|0}return 0}function Kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;m=r;r=r+48|0;s=m+40|0;q=m+36|0;f=m+32|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[s>>2]=a;k[q>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[p>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+64>>2]|0);k[o>>2]=(k[s>>2]|0)+(k[k[g>>2]>>2]|0);d=k[(k[h>>2]|0)+28>>2]|0;k[j>>2]=d;k[n>>2]=d;d=Ln(j,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[f>>2]|0,n)|0;k[l>>2]=d;if(!(k[l>>2]|0)){s=k[l>>2]|0;r=m;return s|0}k[i>>2]=(k[j>>2]|0)-(k[(k[h>>2]|0)+28>>2]|0)-1;dS((k[(k[h>>2]|0)+28>>2]|0)+(k[i>>2]|0)|0,0,(k[(k[h>>2]|0)+32>>2]|0)-(k[i>>2]|0)|0)|0;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[k[f>>2]>>2]=k[(k[h>>2]|0)+28>>2];k[k[g>>2]>>2]=k[(k[h>>2]|0)+64>>2];s=k[l>>2]|0;r=m;return s|0}function Ln(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r;r=r+48|0;g=n+44|0;h=n+40|0;u=n+36|0;q=n+32|0;o=n+28|0;p=n+24|0;t=n+20|0;s=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[u>>2]=c;k[q>>2]=d;k[o>>2]=e;k[p>>2]=f;k[t>>2]=k[k[o>>2]>>2];k[s>>2]=k[k[p>>2]>>2];k[j>>2]=k[h>>2];k[m>>2]=1;kn(j,k[u>>2]|0,0,0,k[o>>2]|0,k[p>>2]|0)|0;f=k[j>>2]|0;k[l>>2]=f;k[i>>2]=f;k[k[o>>2]>>2]=k[t>>2];k[k[p>>2]>>2]=k[s>>2];kn(l,k[q>>2]|0,1,0,k[p>>2]|0,k[o>>2]|0)|0;if((k[j>>2]|0)!=(k[h>>2]|0)?(k[l>>2]|0)!=(k[i>>2]|0):0){An(k[g>>2]|0,h,i);u=k[m>>2]|0;r=n;return u|0}if((k[j>>2]|0)!=(k[h>>2]|0)){nm(k[g>>2]|0,h);u=k[m>>2]|0;r=n;return u|0}if((k[l>>2]|0)!=(k[i>>2]|0)){nm(k[g>>2]|0,i);u=k[m>>2]|0;r=n;return u|0}else{k[m>>2]=0;u=k[m>>2]|0;r=n;return u|0}return 0}function Mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+32|0;f=m+28|0;g=m+24|0;o=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;i=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[n>>2]=d;k[h>>2]=e;k[j>>2]=k[k[f>>2]>>2];k[i>>2]=0;c=ec[k[(k[j>>2]|0)+12>>2]&255](k[f>>2]|0,k[o>>2]|0,k[n>>2]|0,i)|0;k[l>>2]=c;if(((k[l>>2]|0)==0?(k[k[i>>2]>>2]=k[f>>2],(k[k[j>>2]>>2]|0)>=1):0)?(o=gc[k[(k[j>>2]|0)+24>>2]&255](k[i>>2]|0,k[g>>2]|0)|0,k[l>>2]=o,(k[l>>2]|0)!=0):0){bc[k[(k[j>>2]|0)+16>>2]&255](k[i>>2]|0)|0;k[i>>2]=0}k[k[h>>2]>>2]=k[i>>2];r=m;return k[l>>2]|0}function Nn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;l=u+48|0;m=u+44|0;n=u+24|0;o=u+16|0;i=u+8|0;j=u+40|0;q=u+36|0;s=u+32|0;p=u;k[m>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;a=o;k[a>>2]=d;k[a+4>>2]=e;a=i;k[a>>2]=f;k[a+4>>2]=g;k[j>>2]=h;k[q>>2]=k[k[m>>2]>>2];k[s>>2]=0;if((k[q>>2]|0)!=0?(h=(k[q>>2]|0)+16|0,a=n,!((k[h>>2]|0)!=(k[a>>2]|0)?1:(k[h+4>>2]|0)!=(k[a+4>>2]|0))):0)t=9;else{b=n;if(k[q>>2]|0){d=(k[q>>2]|0)+16|0;c=k[d>>2]|0;d=k[d+4>>2]|0}else{c=0;d=0}h=_R(k[b>>2]|0,k[b+4>>2]|0,c|0,d|0)|0;a=p;k[a>>2]=h;k[a+4>>2]=L;if(k[q>>2]|0){a=k[q>>2]|0;k[a>>2]=(k[a>>2]|0)+1}p=On(q,k[p>>2]|0,k[p+4>>2]|0)|0;k[s>>2]=p;if(!p){p=(k[q>>2]|0)+24|0;k[p>>2]=-1;k[p+4>>2]=-1;p=(k[q>>2]|0)+32|0;k[p>>2]=0;k[p+4>>2]=0;p=k[n+4>>2]|0;t=(k[q>>2]|0)+16|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=9}}do if((t|0)==9){t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>0?(p=(k[q>>2]|0)+24|0,t=o,(k[p>>2]|0)!=(k[t>>2]|0)?1:(k[p+4>>2]|0)!=(k[t+4>>2]|0)):0){t=On(q,1,0)|0;k[s>>2]=t;if(t)break;t=o;t=On(q,k[t>>2]|0,k[t+4>>2]|0)|0;k[s>>2]=t;if(t)break;n=o;p=k[n+4>>2]|0;t=(k[q>>2]|0)+24|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=(k[q>>2]|0)+32|0;k[t>>2]=0;k[t+4>>2]=0}t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>=0?(p=i,p=$R(2,0,k[p>>2]|0,k[p+4>>2]|0)|0,t=(k[q>>2]|0)+32|0,t=_R(p|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0,t=On(q,t,L)|0,k[s>>2]=t,(k[s>>2]|0)==0):0){o=i;p=k[o+4>>2]|0;t=(k[q>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=p}}while(0);k[k[j>>2]>>2]=k[s>>2];if((k[q>>2]|0)!=(k[k[m>>2]>>2]|0)){k[k[m>>2]>>2]=k[q>>2];k[l>>2]=1;t=k[l>>2]|0;r=u;return t|0}else{k[l>>2]=0;t=k[l>>2]|0;r=u;return t|0}return 0}function On(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j;h=j+12|0;g=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=k[k[e>>2]>>2];do if(k[h>>2]|0){if(((k[k[h>>2]>>2]|0)+10+1|0)>(k[(k[h>>2]|0)+8>>2]|0)){k[g>>2]=k[(k[h>>2]|0)+8>>2]<<1;a=Vd(k[h>>2]|0,40+(k[g>>2]|0)|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=k[g>>2];k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;break}Ud(k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0;k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}}else{a=Sd(140)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=100;k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;k[k[h>>2]>>2]=0;break}k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}while(0);g=f;g=Ul((k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)|0,k[g>>2]|0,k[g+4>>2]|0)|0;a=k[h>>2]|0;k[a>>2]=(k[a>>2]|0)+g;i[(k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)>>0]=0;k[k[e>>2]>>2]=k[h>>2];k[d>>2]=0;a=k[d>>2]|0;r=j;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;i=j+4|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;do if(!(k[(k[d>>2]|0)+8>>2]|0)){k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+216>>2];h=Yd(23241,h)|0;k[i>>2]=h;if(k[i>>2]|0){h=lf(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,-1,(k[d>>2]|0)+8|0,0)|0;k[g>>2]=h;Ud(k[i>>2]|0);break}k[c>>2]=7;i=k[c>>2]|0;r=j;return i|0}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+8>>2];k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function Qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if((k[i>>2]|0)==5){c=Yb[k[g>>2]&255](k[e>>2]|0,k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[f>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[j>>2]|0;r=l;return c|0}c=Qn(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;if(!((k[j>>2]|0)==0&(k[i>>2]|0)!=2)){c=k[j>>2]|0;r=l;return c|0}c=Qn(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[j>>2]|0;r=l;return c|0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];k[i>>2]=0;if((l[(k[e>>2]|0)+34>>0]|0|0)!=0?(k[k[(k[e>>2]|0)+8>>2]>>2]|0)!=1:0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}b=Sn(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){i=k[i>>2]|0;r=j;return i|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;d=s+44|0;e=s+40|0;c=s+36|0;p=s+32|0;o=s+28|0;n=s+24|0;j=s+20|0;h=s+8|0;g=s;f=s+48|0;m=s+16|0;k[e>>2]=a;k[c>>2]=b;k[p>>2]=0;do if(!(k[(k[c>>2]|0)+40>>2]|0)){k[o>>2]=k[k[e>>2]>>2];t=(k[e>>2]|0)+32|0;a=k[t+4>>2]|0;b=h;k[b>>2]=k[t>>2];k[b+4>>2]=a;k[n>>2]=k[c>>2];while(1){if(k[(k[n>>2]|0)+8>>2]|0)c=(k[k[(k[n>>2]|0)+8>>2]>>2]|0)==1;else c=0;a=k[n>>2]|0;if(!c)break;k[n>>2]=k[a+8>>2]}a=a+24|0;b=k[a+4>>2]|0;t=g;k[t>>2]=k[a>>2];k[t+4>>2]=b;i[f>>0]=i[(k[n>>2]|0)+32>>0]|0;k[j>>2]=k[n>>2];while(1){if(!(k[j>>2]|0))break;c=k[j>>2]|0;if((k[k[j>>2]>>2]|0)!=5)c=k[c+16>>2]|0;k[m>>2]=c;t=Sd((k[(k[o>>2]|0)+24>>2]|0)*3<<2)|0;k[(k[m>>2]|0)+40>>2]=t;if(!(k[(k[m>>2]|0)+40>>2]|0)){q=12;break}dS(k[(k[m>>2]|0)+40>>2]|0,0,(k[(k[o>>2]|0)+24>>2]|0)*3<<2|0)|0;k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((q|0)==12){k[d>>2]=7;t=k[d>>2]|0;r=s;return t|0}an(k[e>>2]|0,k[n>>2]|0,p);while(1){if(!((l[(k[e>>2]|0)+6>>0]|0)==0?(k[p>>2]|0)==0:0))break;do{if(!(l[(k[e>>2]|0)+7>>0]|0))ge(k[(k[e>>2]|0)+8>>2]|0)|0;bn(k[e>>2]|0,k[n>>2]|0,p);i[(k[e>>2]|0)+6>>0]=i[(k[n>>2]|0)+32>>0]|0;i[(k[e>>2]|0)+7>>0]=1;k[(k[e>>2]|0)+88>>2]=1;o=(k[n>>2]|0)+24|0;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(l[(k[e>>2]|0)+6>>0]|0)break;if((k[k[n>>2]>>2]|0)!=1)break}while((Ym(k[e>>2]|0,p)|0)!=0);if(k[p>>2]|0)continue;if(l[(k[e>>2]|0)+6>>0]|0)continue;Tn(k[n>>2]|0)}i[(k[e>>2]|0)+6>>0]=0;o=h;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(i[f>>0]|0){i[(k[n>>2]|0)+32>>0]=i[f>>0]|0;break}an(k[e>>2]|0,k[n>>2]|0,p);do{bn(k[e>>2]|0,k[n>>2]|0,p);q=(k[n>>2]|0)+24|0;t=g}while(((k[q>>2]|0)!=(k[t>>2]|0)?1:(k[q+4>>2]|0)!=(k[t+4>>2]|0))?(k[p>>2]|0)==0:0)}while(0);k[d>>2]=k[p>>2];t=k[d>>2]|0;r=s;return t|0}function Tn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;b=h+12|0;f=h+8|0;g=h+4|0;d=h+20|0;e=h;k[c>>2]=a;if(!(k[c>>2]|0)){r=h;return}k[b>>2]=k[(k[c>>2]|0)+20>>2];a:do if((k[b>>2]|0)!=0?(k[(k[b>>2]|0)+28>>2]|0)!=0:0){k[f>>2]=0;k[g>>2]=k[(k[b>>2]|0)+28>>2];while(1){i[d>>0]=0;k[e>>2]=0;while(1){if(!(254&(i[k[g>>2]>>0]|l[d>>0])))break;if(!(l[d>>0]&128))k[e>>2]=(k[e>>2]|0)+1;b=k[g>>2]|0;k[g>>2]=b+1;i[d>>0]=i[b>>0]&128}b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+1<<2)|0;k[b>>2]=(k[b>>2]|0)+(k[e>>2]|0);b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+2<<2)|0;k[b>>2]=(k[b>>2]|0)+((k[e>>2]|0)>0&1);if(!(i[k[g>>2]>>0]|0))break a;k[g>>2]=(k[g>>2]|0)+1;a=k[g>>2]|0;if(l[k[g>>2]>>0]&128)a=jm(a,f)|0;else{k[f>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}}while(0);Tn(k[(k[c>>2]|0)+12>>2]|0);Tn(k[(k[c>>2]|0)+16>>2]|0);r=h;return}function Un(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;c=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;g=n+8|0;d=n+4|0;f=n;k[o>>2]=a;k[c>>2]=b;k[j>>2]=k[k[k[c>>2]>>2]>>2];k[h>>2]=k[(k[o>>2]|0)+20>>2];k[g>>2]=k[(k[h>>2]|0)+28>>2];k[d>>2]=0;b=k[(k[o>>2]|0)+36>>2]|0;a=k[(k[c>>2]|0)+4>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){o=ha(b,a)|0;k[e>>2]=o}else{o=ha(b,(a+31|0)/32|0)|0;k[e>>2]=o}while(1){o=$m(g)|0;k[f>>2]=o;if(!((k[(k[h>>2]|0)+68>>2]|0)<(k[(k[j>>2]|0)+24>>2]|0)?(k[(k[h>>2]|0)+68>>2]|0)!=(k[d>>2]|0):0))m=6;do if((m|0)==6){m=0;b=k[f>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){k[(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(k[d>>2]|0)<<2)>>2]=b;break}if(b){o=(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(((k[d>>2]|0)+1|0)/32|0)<<2)|0;k[o>>2]=k[o>>2]|1<<(k[d>>2]&31)}}while(0);if((i[k[g>>2]>>0]|0)!=1)break;k[g>>2]=(k[g>>2]|0)+1;b=k[g>>2]|0;if(l[k[g>>2]>>0]&128)b=jm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}k[g>>2]=(k[g>>2]|0)+b}r=n;return}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;h=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[h>>2]=c;k[f>>2]=k[h>>2];k[(k[f>>2]|0)+(k[e>>2]<<4)>>2]=k[g>>2];r=d;return 0}function Wn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;d=f+12|0;c=f;e=f+8|0;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[e>>2]=0;g=im(k[d>>2]|0,c)|0;k[d>>2]=(k[d>>2]|0)+g;g=c;a=c;if((k[g>>2]|0)==0&(k[g+4>>2]|0)==0|(k[a>>2]|0)==1&(k[a+4>>2]|0)==0){k[d>>2]=0;k[e>>2]=1;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}else{a=c;a=_R(k[a>>2]|0,k[a+4>>2]|0,2,0)|0;g=(k[b>>2]|0)+12|0;k[g>>2]=(k[g>>2]|0)+a;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}return 0}function Xn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;i=e+20|0;h=e+12|0;d=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[e+16>>2]=b;k[h>>2]=c;k[d>>2]=0;k[f>>2]=k[(k[i>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=(k[g>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)+1;a=(k[g>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+64>>2]|0);r=e;return k[d>>2]|0}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=zl(k[j>>2]|0,21,g,0)|0;k[h>>2]=d;do if(!(k[h>>2]|0)){j=e;Ve(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;j=De(k[g>>2]|0)|0;k[h>>2]=j;if((k[h>>2]|0)==100?(Qe(k[g>>2]|0,0)|0)==4:0){k[h>>2]=0;break}j=ge(k[g>>2]|0)|0;k[h>>2]=j;k[h>>2]=(k[h>>2]|0)==0?267:j;k[g>>2]=0}while(0);k[k[f>>2]>>2]=k[g>>2];r=i;return k[h>>2]|0}function Zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=zl(k[g>>2]|0,22,d,0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){Ue(k[d>>2]|0,1,0)|0;if((De(k[d>>2]|0)|0)==100?(Qe(k[d>>2]|0,0)|0)==4:0)break;g=ge(k[d>>2]|0)|0;k[e>>2]=g;k[e>>2]=(k[e>>2]|0)==0?267:g;k[d>>2]=0}while(0);k[k[c>>2]>>2]=k[d>>2];r=f;return k[e>>2]|0}function _n(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[d>>2]|0)+(0-(k[(k[d>>2]|0)+-4>>2]|0));a=k[b>>2]|0;if((k[d>>2]|0)==((k[b>>2]|0)+16+4|0))i[a+1>>0]=0;else i[a+2>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function $n(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;g=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;k[a>>2]=(k[a>>2]|0)+1;k[(k[e>>2]|0)+36>>2]=k[f>>2];r=d;return 0}function ao(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=kf(k[(k[b>>2]|0)+12>>2]|0,23369,0,0,0)|0;k[c>>2]=a;do if(!(k[c>>2]|0)){a=bo(k[b>>2]|0,1)|0;k[c>>2]=a;a=k[(k[b>>2]|0)+12>>2]|0;if(!((k[c>>2]|0)==0|(k[c>>2]|0)==101)){kf(a,23397,0,0,0)|0;kf(k[(k[b>>2]|0)+12>>2]|0,23384,0,0,0)|0;break}a=kf(a,23384,0,0,0)|0;k[d>>2]=a;if(k[d>>2]|0)k[c>>2]=k[d>>2]}while(0);Im(k[b>>2]|0);r=e;return k[c>>2]|0}function bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;h=l+12|0;j=l+8|0;f=l+4|0;g=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[h>>2]=0;a=zl(k[c>>2]|0,27,h,0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){Ue(k[h>>2]|0,1,k[(k[c>>2]|0)+272>>2]|0)|0;Ue(k[h>>2]|0,2,k[(k[c>>2]|0)+248>>2]|0)|0;a:while(1){a=(De(k[h>>2]|0)|0)==100;b=k[h>>2]|0;if(!a)break;a=Me(b,0)|0;k[g>>2]=a;k[f>>2]=0;while(1){if(k[i>>2]|0)continue a;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+248>>2]|0))continue a;a=yl(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0,-2)|0;k[i>>2]=a;if((k[i>>2]|0)==101){k[e>>2]=1;k[i>>2]=0}k[f>>2]=(k[f>>2]|0)+1}}h=ge(b)|0;k[j>>2]=h;if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}Im(k[c>>2]|0);tl(k[c>>2]|0);r=l;return ((k[i>>2]|0)==0&(k[d>>2]|0)!=0&(k[e>>2]|0)!=0?101:k[i>>2]|0)|0}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+208|0;y=C+32|0;c=C+132|0;d=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;q=C+112|0;j=C+108|0;B=C+96|0;x=C;s=C+92|0;f=C+88|0;e=C+84|0;o=C+80|0;m=C+76|0;l=C+72|0;z=C+68|0;p=C+64|0;h=C+60|0;n=C+56|0;w=C+52|0;u=C+48|0;g=C+136|0;k[c>>2]=a;k[d>>2]=b;k[v>>2]=k[k[d>>2]>>2];k[t>>2]=k[k[(k[v>>2]|0)+36>>2]>>2];k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(k[(k[d>>2]|0)+12>>2]|0)){we(k[c>>2]|0,18402,0,0);r=C;return};k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[x+20>>2]=0;k[x+24>>2]=0;k[x+28>>2]=0;a=Tm(k[d>>2]|0,0,q)|0;k[A>>2]=a;a:do if(!(k[A>>2]|0)){a=Sd((k[q>>2]|0)*12|0)|0;k[x+24>>2]=a;if(!(k[x+24>>2]|0)){k[A>>2]=7;break}D=(k[d>>2]|0)+32|0;b=k[D+4>>2]|0;a=x+16|0;k[a>>2]=k[D>>2];k[a+4>>2]=b;k[x>>2]=k[d>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[v>>2]|0)+24>>2]|0))break a;k[e>>2]=0;k[o>>2]=0;k[m>>2]=0;k[l>>2]=0;k[x+4>>2]=k[j>>2];k[x+8>>2]=0;Xm(k[(k[d>>2]|0)+12>>2]|0,158,x)|0;D=Oe(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[z>>2]=D;D=Ke(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[p>>2]=D;if(!(k[z>>2]|0)){if((Qe(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0)!=5)break}else{D=Mn(k[(k[v>>2]|0)+36>>2]|0,k[(k[d>>2]|0)+16>>2]|0,k[z>>2]|0,k[p>>2]|0,s)|0;k[A>>2]=D;if(k[A>>2]|0)break a;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D;while(1){if(k[A>>2]|0)break;k[n>>2]=2147483647;k[w>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[q>>2]|0))break;k[u>>2]=(k[x+24>>2]|0)+((k[h>>2]|0)*12|0);if((k[k[u>>2]>>2]|0)!=0?((k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0)|0)<(k[n>>2]|0):0){k[n>>2]=(k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0);k[w>>2]=k[u>>2]}k[h>>2]=(k[h>>2]|0)+1}if(!(k[w>>2]|0)){k[A>>2]=101;continue}b=k[w>>2]|0;if(!(254&i[k[k[w>>2]>>2]>>0]))k[b>>2]=0;else fo(b,(k[w>>2]|0)+4|0);while(1){if(k[A>>2]|0)break;if((k[l>>2]|0)>=(k[n>>2]|0))break;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D}if(!(k[A>>2]|0)){b=((k[w>>2]|0)-(k[x+24>>2]|0)|0)/12|0;a=k[o>>2]|0;D=(k[m>>2]|0)-(k[o>>2]|0)|0;k[y>>2]=k[j>>2];k[y+4>>2]=b;k[y+8>>2]=a;k[y+12>>2]=D;_d(64,g,23414,y)|0;D=go(B,g,-1)|0;k[A>>2]=D;continue}if((k[A>>2]|0)!=101)continue;if(k[(k[v>>2]|0)+40>>2]|0)continue;k[A>>2]=267}if((k[A>>2]|0)==101)k[A>>2]=0;bc[k[(k[t>>2]|0)+16>>2]&255](k[s>>2]|0)|0;if(k[A>>2]|0)break a}k[j>>2]=(k[j>>2]|0)+1}k[A>>2]=7}while(0);Ud(k[x+24>>2]|0);Im(k[v>>2]|0);b=k[c>>2]|0;if(k[A>>2]|0){Ae(b,k[A>>2]|0);Ud(k[B>>2]|0);r=C;return}else{we(b,k[B>>2]|0,(k[B+4>>2]|0)-1|0,148);r=C;return}}function eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+48|0;m=l+36|0;n=l+28|0;g=l+24|0;f=l+20|0;e=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;i=l;k[m>>2]=a;k[l+32>>2]=b;k[n>>2]=c;k[g>>2]=k[n>>2];k[d>>2]=0;a=_m(k[k[g>>2]>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+4>>2]|0,h)|0;k[j>>2]=a;k[f>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+64>>2];if(k[h>>2]|0)fo(h,d);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;m=(k[g>>2]|0)+8|0;n=k[m>>2]|0;k[m>>2]=n+1;k[i>>2]=(k[(k[g>>2]|0)+24>>2]|0)+(n*12|0);k[(k[i>>2]|0)+8>>2]=(k[f>>2]|0)-(k[e>>2]|0)-1;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}r=l;return k[j>>2]|0}function fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;b=k[k[c>>2]>>2]|0;if((l[k[k[c>>2]>>2]>>0]|0)&128)b=jm(b,e)|0;else{k[e>>2]=l[b>>0];b=1}c=k[c>>2]|0;k[c>>2]=(k[c>>2]|0)+b;d=k[d>>2]|0;k[d>>2]=(k[d>>2]|0)+((k[e>>2]|0)-2);r=f;return}function go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[g>>2]|0)<0){b=uR(k[f>>2]|0)|0;k[g>>2]=b}do if(((k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]|0)+1|0)>=(k[(k[e>>2]|0)+8>>2]|0)){k[h>>2]=(k[(k[e>>2]|0)+8>>2]|0)+(k[g>>2]|0)+100;b=Vd(k[k[e>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[k[e>>2]>>2]=k[j>>2];k[(k[e>>2]|0)+8>>2]=k[h>>2];break}k[d>>2]=7;j=k[d>>2]|0;r=l;return j|0}while(0);bS((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,k[f>>2]|0,k[g>>2]|0)|0;j=(k[e>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+(k[g>>2]|0);i[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function ho(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+224|0;h=G+212|0;i=G+208|0;j=G+204|0;l=G+200|0;m=G+196|0;n=G+192|0;o=G+188|0;B=G+184|0;E=G+180|0;q=G+176|0;F=G+164|0;z=G+160|0;p=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[B>>2]=k[k[i>>2]>>2];k[E>>2]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[z>>2]=0;k[y>>2]=-1;if(!(k[(k[i>>2]|0)+12>>2]|0)){we(k[h>>2]|0,18402,0,0);r=G;return}k[z>>2]=1;a:while(1){f=w;k[f>>2]=0;k[f+4>>2]=0;f=x;k[f>>2]=0;k[f+4>>2]=0;f=k[o>>2]|0;if((k[o>>2]|0)>=0)k[y>>2]=(f+(k[z>>2]|0)-1|0)/(k[z>>2]|0)|0;else{c=ha(-1,f)|0;k[y>>2]=c}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[z>>2]|0))break;k[s>>2]=-1;k[A>>2]=p+((k[v>>2]|0)*24|0);c=k[A>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[B>>2]|0)+24>>2]|0))break;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;k[C+16>>2]=0;k[C+20>>2]=0;k[u>>2]=0;if(!((k[n>>2]|0)>=0?(k[t>>2]|0)!=(k[n>>2]|0):0)){c=w;c=io(k[y>>2]|0,k[i>>2]|0,k[t>>2]|0,k[c>>2]|0,k[c+4>>2]|0,x,C,u)|0;k[E>>2]=c;if(k[E>>2]|0)break a;if((k[u>>2]|0)>(k[s>>2]|0)){c=k[A>>2]|0;k[c>>2]=k[C>>2];k[c+4>>2]=k[C+4>>2];k[c+8>>2]=k[C+8>>2];k[c+12>>2]=k[C+12>>2];k[c+16>>2]=k[C+16>>2];k[c+20>>2]=k[C+20>>2];k[s>>2]=k[u>>2]}}k[t>>2]=(k[t>>2]|0)+1}e=(k[A>>2]|0)+8|0;a=w;d=k[a+4>>2]|k[e+4>>2];c=w;k[c>>2]=k[a>>2]|k[e>>2];k[c+4>>2]=d;k[v>>2]=(k[v>>2]|0)+1}d=x;c=w;if(((k[d>>2]|0)==(k[c>>2]|0)?(k[d+4>>2]|0)==(k[c+4>>2]|0):0)|(k[z>>2]|0)==4){D=20;break}k[z>>2]=(k[z>>2]|0)+1}b:do if((D|0)==20){k[q>>2]=0;while(1){if(!((k[q>>2]|0)<(k[z>>2]|0)?(k[E>>2]|0)==0:0))break b;D=jo(k[i>>2]|0,p+((k[q>>2]|0)*24|0)|0,k[q>>2]|0,(k[q>>2]|0)==((k[z>>2]|0)-1|0)&1,k[y>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,F)|0;k[E>>2]=D;k[q>>2]=(k[q>>2]|0)+1}}while(0);Im(k[B>>2]|0);f=k[h>>2]|0;if(k[E>>2]|0){Ae(f,k[E>>2]|0);Ud(k[F>>2]|0);r=G;return}else{we(f,k[F>>2]|0,-1,148);r=G;return}}function io(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+112|0;i=C+104|0;j=C+100|0;l=C+96|0;m=C+92|0;n=C+16|0;o=C+88|0;p=C+84|0;q=C+80|0;A=C+76|0;z=C+72|0;B=C+48|0;y=C+40|0;t=C+36|0;s=C+32|0;u=C+28|0;v=C+24|0;w=C+8|0;x=C;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[t>>2]=-1;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;f=Tm(k[l>>2]|0,z,0)|0;k[A>>2]=f;if(k[A>>2]|0){k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}k[y>>2]=(k[z>>2]|0)*24;f=Sd(k[y>>2]|0)|0;k[B+16>>2]=f;if(!(k[B+16>>2]|0)){k[i>>2]=7;B=k[i>>2]|0;r=C;return B|0}dS(k[B+16>>2]|0,0,k[y>>2]|0)|0;k[B>>2]=k[l>>2];k[B+4>>2]=k[m>>2];k[B+8>>2]=k[j>>2];k[B+12>>2]=k[z>>2];k[B+20>>2]=-1;f=Xm(k[(k[l>>2]|0)+12>>2]|0,159,B)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[z>>2]|0))break;if(k[(k[B+16>>2]|0)+((k[s>>2]|0)*24|0)+12>>2]|0){g=eS(1,0,k[s>>2]|0)|0;f=k[o>>2]|0;b=f;h=k[b+4>>2]|L;k[f>>2]=k[b>>2]|g;k[f+4>>2]=h}k[s>>2]=(k[s>>2]|0)+1}k[k[p>>2]>>2]=k[m>>2];while(1){if(!((mo(B)|0)!=0^1))break;f=n;no(B,k[f>>2]|0,k[f+4>>2]|0,u,v,w,x);if((k[v>>2]|0)<=(k[t>>2]|0))continue;k[(k[p>>2]|0)+4>>2]=k[u>>2];f=x;h=k[f+4>>2]|0;g=(k[p>>2]|0)+16|0;k[g>>2]=k[f>>2];k[g+4>>2]=h;g=w;h=k[g+4>>2]|0;f=(k[p>>2]|0)+8|0;k[f>>2]=k[g>>2];k[f+4>>2]=h;k[t>>2]=k[v>>2]}k[k[q>>2]>>2]=k[t>>2]}Ud(k[B+16>>2]|0);k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}function jo(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;N=r;r=r+128|0;j=N+112|0;l=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;s=N+80|0;t=N+76|0;I=N+72|0;J=N+68|0;K=N+64|0;F=N+60|0;y=N+56|0;z=N+52|0;D=N+48|0;B=N+44|0;w=N;O=N+40|0;H=N+36|0;G=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;C=N+12|0;E=N+8|0;k[l>>2]=a;k[P>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[I>>2]=k[k[l>>2]>>2];k[y>>2]=0;k[z>>2]=0;k[D>>2]=0;k[B>>2]=k[(k[P>>2]|0)+4>>2];f=(k[P>>2]|0)+16|0;d=k[f+4>>2]|0;c=w;k[c>>2]=k[f>>2];k[c+4>>2]=d;k[O>>2]=(k[k[P>>2]>>2]|0)+1;c=Oe(k[(k[l>>2]|0)+8>>2]|0,k[O>>2]|0)|0;k[K>>2]=c;c=k[(k[l>>2]|0)+8>>2]|0;d=k[O>>2]|0;if(!(k[K>>2]|0))if((Qe(c,d)|0)!=5){k[j>>2]=7;P=k[j>>2]|0;r=N;return P|0}else{k[j>>2]=0;P=k[j>>2]|0;r=N;return P|0}P=Ke(c,d)|0;k[F>>2]=P;k[H>>2]=k[k[(k[I>>2]|0)+36>>2]>>2];P=Mn(k[(k[I>>2]|0)+36>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[K>>2]|0,k[F>>2]|0,G)|0;k[J>>2]=P;if(k[J>>2]|0){k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}while(1){if(k[J>>2]|0)break;k[u>>2]=-1;k[x>>2]=0;k[A>>2]=0;k[C>>2]=0;P=ac[k[(k[H>>2]|0)+20>>2]&255](k[G>>2]|0,v,u,x,A,y)|0;k[J>>2]=P;if(k[J>>2]|0){M=9;break}if((k[y>>2]|0)<(k[B>>2]|0))continue;if(!(k[D>>2]|0)){k[E>>2]=(k[F>>2]|0)-(k[x>>2]|0);P=ko(k[I>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[o>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,k[E>>2]|0,B,w)|0;k[J>>2]=P;k[D>>2]=1;do if(!(k[J>>2]|0)){if((k[B>>2]|0)>0|(k[m>>2]|0)>0){P=go(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P;break}if(k[x>>2]|0){P=go(k[t>>2]|0,k[K>>2]|0,k[x>>2]|0)|0;k[J>>2]=P}}while(0);if(k[J>>2]|0)continue;if((k[y>>2]|0)<(k[B>>2]|0))continue}if((k[y>>2]|0)>=((k[B>>2]|0)+(k[o>>2]|0)|0)){M=21;break}P=w;f=k[P>>2]|0;P=k[P+4>>2]|0;O=eS(1,0,(k[y>>2]|0)-(k[B>>2]|0)|0)|0;k[C>>2]=((f&O|0)!=0|(P&L|0)!=0)&1;if((k[y>>2]|0)>(k[B>>2]|0)){P=go(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,(k[x>>2]|0)-(k[z>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=go(k[t>>2]|0,k[p>>2]|0,-1)|0;k[J>>2]=P}if(!(k[J>>2]|0)){P=go(k[t>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,(k[A>>2]|0)-(k[x>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=go(k[t>>2]|0,k[q>>2]|0,-1)|0;k[J>>2]=P}k[z>>2]=k[A>>2]}if((M|0)==9){if((k[J>>2]|0)==101){P=go(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,-1)|0;k[J>>2]=P}}else if((M|0)==21?(k[n>>2]|0)!=0:0){P=go(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P}bc[k[(k[H>>2]|0)+16>>2]&255](k[G>>2]|0)|0;k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}function ko(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;w=E+84|0;h=E+80|0;i=E+76|0;x=E+72|0;j=E+68|0;l=E+64|0;y=E+60|0;z=E+56|0;A=E;s=E+52|0;t=E+48|0;q=E+44|0;C=E+40|0;B=E+36|0;D=E+32|0;v=E+28|0;u=E+24|0;p=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;k[h>>2]=a;k[i>>2]=b;k[x>>2]=c;k[j>>2]=d;k[l>>2]=e;k[y>>2]=f;k[z>>2]=g;a=k[z>>2]|0;f=k[a+4>>2]|0;d=A;k[d>>2]=k[a>>2];k[d+4>>2]=f;d=A;do if((k[d>>2]|0)!=0|(k[d+4>>2]|0)!=0){k[s>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=eS(1,0,k[s>>2]|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[s>>2]=(k[s>>2]|0)+1}k[t>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=eS(1,0,(k[x>>2]|0)-1-(k[t>>2]|0)|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[t>>2]=(k[t>>2]|0)+1}k[q>>2]=((k[s>>2]|0)-(k[t>>2]|0)|0)/2|0;if((k[q>>2]|0)>0){k[B>>2]=0;k[v>>2]=k[k[(k[h>>2]|0)+36>>2]>>2];d=Mn(k[(k[h>>2]|0)+36>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,u)|0;k[D>>2]=d;if(k[D>>2]|0){k[w>>2]=k[D>>2];D=k[w>>2]|0;r=E;return D|0}while(1){if(k[D>>2]|0)break;if((k[B>>2]|0)>=((k[x>>2]|0)+(k[q>>2]|0)|0))break;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;d=ac[k[(k[v>>2]|0)+20>>2]&255](k[u>>2]|0,p,m,n,o,B)|0;k[D>>2]=d}bc[k[(k[v>>2]|0)+16>>2]&255](k[u>>2]|0)|0;h=k[D>>2]|0;if((k[D>>2]|0)!=0&(k[D>>2]|0)!=101){k[w>>2]=h;D=k[w>>2]|0;r=E;return D|0}else{k[C>>2]=((h|0)==101&1)+(k[B>>2]|0)-(k[x>>2]|0);if((k[C>>2]|0)<=0)break;D=k[y>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[C>>2]|0);D=A;C=aS(k[D>>2]|0,k[D+4>>2]|0,k[C>>2]|0)|0;D=k[z>>2]|0;k[D>>2]=C;k[D+4>>2]=L;break}}}while(0);k[w>>2]=0;D=k[w>>2]|0;r=E;return D|0}function lo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=r;r=r+32|0;j=h+28|0;l=h+24|0;m=h+20|0;i=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=k[m>>2];k[f>>2]=(k[(k[i>>2]|0)+16>>2]|0)+((k[l>>2]|0)*24|0);k[k[f>>2]>>2]=k[(k[(k[j>>2]|0)+20>>2]|0)+64>>2];a=_m(k[k[i>>2]>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+4>>2]|0,e)|0;k[g>>2]=a;if(!(k[e>>2]|0)){m=k[g>>2]|0;r=h;return m|0}k[d>>2]=0;k[(k[f>>2]|0)+4>>2]=k[e>>2];fo(e,d);k[(k[f>>2]|0)+12>>2]=k[e>>2];k[(k[f>>2]|0)+20>>2]=k[e>>2];k[(k[f>>2]|0)+8>>2]=k[d>>2];k[(k[f>>2]|0)+16>>2]=k[d>>2];m=k[g>>2]|0;r=h;return m|0}function mo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;d=j+20|0;g=j+16|0;f=j+12|0;e=j+8|0;h=j+4|0;i=j;k[c>>2]=a;a:do if((k[(k[c>>2]|0)+20>>2]|0)<0){k[(k[c>>2]|0)+20>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[g>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);oo((k[g>>2]|0)+12|0,(k[g>>2]|0)+8|0,k[(k[c>>2]|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}else{k[e>>2]=2147483647;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break;k[h>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<(k[e>>2]|0):0)k[e>>2]=k[(k[h>>2]|0)+8>>2];k[d>>2]=(k[d>>2]|0)+1}if((k[e>>2]|0)==2147483647){k[b>>2]=1;i=k[b>>2]|0;r=j;return i|0}h=(k[e>>2]|0)-(k[(k[c>>2]|0)+8>>2]|0)+1|0;k[f>>2]=h;k[(k[c>>2]|0)+20>>2]=h;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[i>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);oo((k[i>>2]|0)+12|0,(k[i>>2]|0)+8|0,(k[e>>2]|0)+1|0);oo((k[i>>2]|0)+20|0,(k[i>>2]|0)+16|0,k[f>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=0;i=k[b>>2]|0;r=j;return i|0}function no(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;h=B+84|0;j=B+32|0;l=B+80|0;m=B+76|0;n=B+72|0;o=B+68|0;t=B+64|0;s=B+60|0;p=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;q=B+44|0;u=B+40|0;x=B+8|0;y=B;k[h>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[t>>2]=k[(k[h>>2]|0)+20>>2];k[s>>2]=0;g=v;k[g>>2]=0;k[g+4>>2]=0;g=w;k[g>>2]=0;k[g+4>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;k[A>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[p>>2]|0)*24|0);a:do if(k[(k[A>>2]|0)+20>>2]|0){k[z>>2]=k[(k[A>>2]|0)+20>>2];k[q>>2]=k[(k[A>>2]|0)+16>>2];while(1){if((k[q>>2]|0)>=((k[t>>2]|0)+(k[(k[h>>2]|0)+8>>2]|0)|0))break a;d=eS(1,0,k[p>>2]|0)|0;f=x;k[f>>2]=d;k[f+4>>2]=L;f=eS(1,0,(k[q>>2]|0)-(k[t>>2]|0)|0)|0;d=y;k[d>>2]=f;k[d+4>>2]=L;d=v;f=j;g=x;b=k[s>>2]|0;if(((k[d>>2]|k[f>>2])&k[g>>2]|0)!=0?1:((k[d+4>>2]|k[f+4>>2])&k[g+4>>2]|0)!=0)k[s>>2]=b+1;else k[s>>2]=b+1e3;d=x;e=v;f=k[e+4>>2]|k[d+4>>2];g=v;k[g>>2]=k[e>>2]|k[d>>2];k[g+4>>2]=f;k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[A>>2]>>2]|0))break;d=y;d=aS(k[d>>2]|0,k[d+4>>2]|0,k[u>>2]|0)|0;e=w;f=k[e+4>>2]|L;g=w;k[g>>2]=k[e>>2]|d;k[g+4>>2]=f;k[u>>2]=(k[u>>2]|0)+1}if(!(i[k[z>>2]>>0]&254))break a;fo(z,q)}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[k[l>>2]>>2]=k[t>>2];k[k[m>>2]>>2]=k[s>>2];A=v;z=k[A+4>>2]|0;y=k[n>>2]|0;k[y>>2]=k[A>>2];k[y+4>>2]=z;y=w;z=k[y+4>>2]|0;A=k[o>>2]|0;k[A>>2]=k[y>>2];k[A+4>>2]=z;r=B;return}function oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];if(!(k[h>>2]|0)){r=l;return}k[g>>2]=k[k[e>>2]>>2];while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;if(!(i[k[h>>2]>>0]&254)){j=5;break}fo(h,g)}if((j|0)==5){k[g>>2]=-1;k[h>>2]=0}k[k[e>>2]>>2]=k[g>>2];k[k[d>>2]>>2]=k[h>>2];r=l;return}function po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=0;b=zl(k[h>>2]|0,36,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}if(100==(De(k[e>>2]|0)|0)){h=Me(k[e>>2]|0,0)|0;k[d>>2]=h}b=ge(k[e>>2]|0)|0;k[f>>2]=b;b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}function qo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+128|0;d=C+112|0;e=C+108|0;D=C+104|0;f=C+100|0;A=C+96|0;u=C+92|0;w=C+88|0;x=C+84|0;z=C+80|0;v=C+76|0;m=C+16|0;j=C+64|0;g=C+60|0;t=C+8|0;y=C+52|0;i=C+48|0;o=C+44|0;p=C+40|0;n=C;q=C+36|0;h=C+32|0;B=C+28|0;s=C+24|0;k[e>>2]=a;k[D>>2]=b;k[f>>2]=c;k[u>>2]=k[D>>2];k[v>>2]=0;a=m;k[a>>2]=0;k[a+4>>2]=0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[g>>2]=0;k[C+56>>2]=640;a=Sd(640)|0;k[z>>2]=a;if(!(k[z>>2]|0)){k[d>>2]=7;D=k[d>>2]|0;r=C;return D|0}k[x>>2]=(k[z>>2]|0)+568;k[w>>2]=(k[x>>2]|0)+16;D=ro(k[e>>2]|0,j)|0;k[A>>2]=D;while(1){if(!((k[A>>2]|0)==0?(k[u>>2]|0)>0:0))break;a=k[(k[e>>2]|0)+248>>2]<<10;D=t;k[D>>2]=a;k[D+4>>2]=((a|0)<0)<<31>>31;k[y>>2]=0;k[i>>2]=0;k[o>>2]=0;D=zl(k[e>>2]|0,28,y,0)|0;k[A>>2]=D;Ue(k[y>>2]|0,1,2>(k[f>>2]|0)?2:k[f>>2]|0)|0;if((De(k[y>>2]|0)|0)==100){a=Ne(k[y>>2]|0,0)|0;D=m;k[D>>2]=a;k[D+4>>2]=L;D=Me(k[y>>2]|0,1)|0;k[v>>2]=D}else k[v>>2]=-1;D=ge(k[y>>2]|0)|0;k[A>>2]=D;do if((k[A>>2]|0)==0?(k[j+4>>2]|0)!=0:0){k[p>>2]=k[j+4>>2];D=n;k[D>>2]=0;k[D+4>>2]=0;k[q>>2]=0;D=so(j,n,q)|0;k[A>>2]=D;if((k[v>>2]|0)>=0?(b=m,a=t,a=jS(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,c=n,D=t,D=jS(k[c>>2]|0,k[c+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0,c=L,!((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>=D>>>0)):0){k[j+4>>2]=k[p>>2];break}c=n;a=k[c+4>>2]|0;D=m;k[D>>2]=k[c>>2];k[D+4>>2]=a;k[v>>2]=k[q>>2];k[i>>2]=1;k[g>>2]=1}while(0);if((k[v>>2]|0)<0)break;dS(k[z>>2]|0,0,640)|0;k[(k[x>>2]|0)+12>>2]=1;do if(!(k[A>>2]|0)){D=m;D=to(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,o)|0;k[A>>2]=D;if((k[o>>2]|0)!=0?!((k[i>>2]|0)!=0&(k[o>>2]|0)==1):0)break;k[h>>2]=0;a=k[e>>2]|0;D=m;D=$R(k[D>>2]|0,k[D+4>>2]|0,1,0)|0;D=uo(a,D,L,h)|0;k[A>>2]=D;if(k[h>>2]|0){D=(k[x>>2]|0)+12|0;k[D>>2]=k[D>>2]|2}}while(0);if(!(k[A>>2]|0)){D=m;D=vo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if(((0==(k[A>>2]|0)?(k[(k[w>>2]|0)+4>>2]|0)==(k[v>>2]|0):0)?(D=El(k[e>>2]|0,k[w>>2]|0,k[x>>2]|0)|0,k[A>>2]=D,0==(D|0)):0)?(D=Fl(k[e>>2]|0,k[w>>2]|0)|0,k[A>>2]=D,100==(D|0)):0){if((k[i>>2]|0)!=0&(k[o>>2]|0)>0){k[B>>2]=k[(k[w>>2]|0)+40>>2];k[s>>2]=k[(k[w>>2]|0)+44>>2];D=m;D=wo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,(k[o>>2]|0)-1|0,k[B>>2]|0,k[s>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}else{D=m;D=xo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[o>>2]|0,k[w>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==0?(k[k[z>>2]>>2]|0)!=0:0){do{D=yo(k[e>>2]|0,k[z>>2]|0,k[w>>2]|0)|0;k[A>>2]=D;if(!(k[A>>2]|0)){D=Fl(k[e>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==100?(k[(k[z>>2]|0)+4>>2]|0)>=(k[u>>2]|0):0)k[A>>2]=0}while((k[A>>2]|0)==100);if((k[A>>2]|0)==0?(k[u>>2]=(k[u>>2]|0)-(1+(k[(k[z>>2]|0)+4>>2]|0)),D=m,D=zo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[w>>2]|0,v)|0,k[A>>2]=D,(k[v>>2]|0)!=0):0){k[g>>2]=1;D=m;Ao(j,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,A)}}if(k[v>>2]|0){a=(k[z>>2]|0)+40|0;a=kS(k[a>>2]|0,k[a+4>>2]|0,-1,-1)|0;D=(k[z>>2]|0)+40|0;k[D>>2]=a;k[D+4>>2]=L}Bo(k[e>>2]|0,k[z>>2]|0,A);if((k[v>>2]|0)==0?(l[(k[z>>2]|0)+48>>0]|0|0)==0:0){c=k[e>>2]|0;a=m;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;D=(k[z>>2]|0)+40|0;Jl(c,a,L,k[D>>2]|0,k[D+4>>2]|0)|0}}Ll(k[w>>2]|0)}if((k[g>>2]|0)!=0&(k[A>>2]|0)==0){D=Co(k[e>>2]|0,j)|0;k[A>>2]=D}Ud(k[z>>2]|0);Ud(k[j>>2]|0);k[d>>2]=k[A>>2];D=k[d>>2]|0;r=C;return D|0}function ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+24|0;c=i+20|0;f=i+16|0;g=i+12|0;h=i+8|0;d=i+4|0;e=i;k[j>>2]=a;k[c>>2]=b;k[f>>2]=0;k[(k[c>>2]|0)+4>>2]=0;b=zl(k[j>>2]|0,22,f,0)|0;k[g>>2]=b;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}Ue(k[f>>2]|0,1,1)|0;if((100==(De(k[f>>2]|0)|0)?(j=Je(k[f>>2]|0,0)|0,k[d>>2]=j,j=Ke(k[f>>2]|0,0)|0,k[e>>2]=j,(k[d>>2]|0)!=0):0)?(Do(k[c>>2]|0,k[e>>2]|0,g),(k[g>>2]|0)==0):0){bS(k[k[c>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[(k[c>>2]|0)+4>>2]=k[e>>2]}j=ge(k[f>>2]|0)|0;k[h>>2]=j;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}k[g>>2]=k[h>>2];j=k[g>>2]|0;r=i;return j|0}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;g=m+20|0;e=m+16|0;d=m+12|0;f=m+8|0;j=m+4|0;h=m;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[j>>2]=k[(k[e>>2]|0)+4>>2];k[h>>2]=(k[(k[e>>2]|0)+4>>2]|0)-2;while(1){if((k[h>>2]|0)<=0)break;if(!(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}while(1){if((k[h>>2]|0)>0)b=(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128|0)!=0;else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=a+-1}k[(k[e>>2]|0)+4>>2]=a;a=im((k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0,k[d>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+a;a=(k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0;if(l[(k[k[e>>2]>>2]|0)+(k[h>>2]|0)>>0]&128)a=jm(a,k[f>>2]|0)|0;else{k[k[f>>2]>>2]=l[a>>0];a=1}k[h>>2]=(k[h>>2]|0)+a;if((k[h>>2]|0)!=(k[j>>2]|0)){k[g>>2]=267;j=k[g>>2]|0;r=m;return j|0}else{k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}return 0}function to(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=zl(k[j>>2]|0,8,g,0)|0;k[h>>2]=d;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}d=k[g>>2]|0;j=e;j=$R(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;Ve(d,1,j,L)|0;De(k[g>>2]|0)|0;j=Me(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=j;j=ge(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function uo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;d=zl(k[l>>2]|0,15,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){k[e>>2]=k[i>>2];l=k[e>>2]|0;r=j;return l|0}l=k[h>>2]|0;i=f;i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;Ve(l,1,i,L)|0;i=k[h>>2]|0;l=f;l=iS(k[l>>2]|0,k[l+4>>2]|0,1024,0)|0;l=$R(l|0,L|0,1,0)|0;l=kS(l|0,L|0,1024,0)|0;Ve(i,2,l,L)|0;k[k[g>>2]>>2]=0;if(100==(De(k[h>>2]|0)|0)){l=(Qe(k[h>>2]|0,0)|0)==5&1;k[k[g>>2]>>2]=l}l=ge(k[h>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}function vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+36|0;g=p;h=p+32|0;i=p+28|0;n=p+24|0;m=p+20|0;l=p+16|0;j=p+12|0;o=p+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;b=k[i>>2]|0;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[l>>2]=k[h>>2]<<2;e=Sd(k[l>>2]|0)|0;k[k[i>>2]>>2]=e;if(!(k[k[i>>2]>>2]|0))k[n>>2]=7;else{dS(k[k[i>>2]>>2]|0,0,k[l>>2]|0)|0;l=zl(k[f>>2]|0,12,m,0)|0;k[n>>2]=l}if(k[n>>2]|0){o=k[n>>2]|0;r=p;return o|0}l=g;Ve(k[m>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;k[j>>2]=0;while(1){if(k[n>>2]|0)break;if((De(k[m>>2]|0)|0)!=100)break;if((k[j>>2]|0)>=(k[h>>2]|0))break;q=k[j>>2]|0;b=Ne(k[m>>2]|0,1)|0;c=L;d=Ne(k[m>>2]|0,2)|0;a=L;e=Ne(k[m>>2]|0,3)|0;f=L;g=Je(k[m>>2]|0,4)|0;l=Ke(k[m>>2]|0,4)|0;l=ym(q,0,b,c,d,a,e,f,g,l,(k[k[i>>2]>>2]|0)+(k[j>>2]<<2)|0)|0;k[n>>2]=l;l=(k[i>>2]|0)+4|0;k[l>>2]=(k[l>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}q=ge(k[m>>2]|0)|0;k[o>>2]=q;if(k[n>>2]|0){q=k[n>>2]|0;r=p;return q|0}k[n>>2]=k[o>>2];q=k[n>>2]|0;r=p;return q|0}function wo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+208|0;y=J+200|0;z=J+196|0;h=J+120|0;j=J+192|0;l=J+188|0;m=J+184|0;A=J+180|0;G=J+176|0;F=J+172|0;s=J+112|0;q=J+104|0;p=J+96|0;v=J+168|0;x=J+164|0;H=J+160|0;o=J+156|0;n=J+152|0;t=J+148|0;u=J+48|0;C=J+144|0;w=J+140|0;E=J+136|0;I=J;B=J+132|0;D=J+128|0;k[z>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[A>>2]=g;k[F>>2]=0;e=zl(k[z>>2]|0,32,F,0)|0;k[G>>2]=e;if(!(k[G>>2]|0)){b=s;k[b>>2]=0;k[b+4>>2]=0;b=q;k[b>>2]=0;k[b+4>>2]=0;b=p;k[b>>2]=0;k[b+4>>2]=0;k[v>>2]=0;k[x>>2]=0;k[o>>2]=0;b=k[F>>2]|0;e=h;e=$R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;Ve(b,1,e,L)|0;Ue(k[F>>2]|0,2,k[j>>2]|0)|0;e=(De(k[F>>2]|0)|0)==100;b=k[F>>2]|0;if(!e){I=ge(b)|0;k[y>>2]=I;I=k[y>>2]|0;r=J;return I|0}e=Ne(b,1)|0;g=s;k[g>>2]=e;k[g+4>>2]=L;g=Ne(k[F>>2]|0,2)|0;e=q;k[e>>2]=g;k[e+4>>2]=L;Ol(k[F>>2]|0,3,p,(k[A>>2]|0)+40|0);if((k[(k[A>>2]|0)+40+4>>2]|0)<0){g=(k[A>>2]|0)+40|0;g=kS(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;e=(k[A>>2]|0)+40|0;k[e>>2]=g;k[e+4>>2]=L}e=(k[A>>2]|0)+40|0;i[(k[A>>2]|0)+48>>0]=(k[e>>2]|0)==0&(k[e+4>>2]|0)==0&1;e=Ke(k[F>>2]|0,4)|0;k[x>>2]=e;e=Je(k[F>>2]|0,4)|0;k[v>>2]=e;e=p;e=Po(k[z>>2]|0,k[e>>2]|0,k[e+4>>2]|0,o)|0;k[G>>2]=e;if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[n>>2]=0;k[t>>2]=0;q=qm(k[z>>2]|0,k[q>>2]|0,k[q+4>>2]|0,n,t,0)|0;k[G>>2]=q;if(!(k[G>>2]|0)){t=Io(u,k[n>>2]|0,k[t>>2]|0)|0;k[G>>2]=t;while(1){if(!((k[G>>2]|0)==0?(k[u>>2]|0)!=0:0))break;t=Mo(u)|0;k[G>>2]=t}if((Jo(k[l>>2]|0,k[m>>2]|0,k[u+24>>2]|0,k[u+24+4>>2]|0)|0)<=0)k[o>>2]=0;No(u)}Ud(k[n>>2]|0)}a:do if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[w>>2]=i[k[v>>2]>>0];u=p;t=s;t=_R(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;t=$R(t|0,L|0,1,0)|0;k[k[A>>2]>>2]=(t|0)/16|0;t=k[s+4>>2]|0;u=(k[A>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;u=p;t=k[u+4>>2]|0;s=(k[A>>2]|0)+32|0;k[s>>2]=k[u>>2];k[s+4>>2]=t;s=h;t=k[s+4>>2]|0;u=(k[A>>2]|0)+8|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;k[(k[A>>2]|0)+16>>2]=k[j>>2];k[C>>2]=(k[w>>2]|0)+1;while(1){if((k[C>>2]|0)>=16)break;u=(k[A>>2]|0)+24|0;t=ha(k[C>>2]|0,k[k[A>>2]>>2]|0)|0;t=$R(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(k[A>>2]|0)+56+(k[C>>2]<<5)|0;k[u>>2]=t;k[u+4>>2]=L;k[C>>2]=(k[C>>2]|0)+1}k[E>>2]=(k[A>>2]|0)+56+(k[w>>2]<<5);u=(k[A>>2]|0)+24|0;t=ha(k[k[A>>2]>>2]|0,k[w>>2]|0)|0;t=$R(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=k[E>>2]|0;k[u>>2]=t;k[u+4>>2]=L;if((k[x>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[x>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Do((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){bS(k[(k[E>>2]|0)+20>>2]|0,k[v>>2]|0,k[x>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[x>>2]}k[C>>2]=k[w>>2];while(1){if(!((k[C>>2]|0)>=0?(k[G>>2]|0)==0:0))break a;k[E>>2]=(k[A>>2]|0)+56+(k[C>>2]<<5);x=Io(I,k[(k[E>>2]|0)+20>>2]|0,k[(k[E>>2]|0)+20+4>>2]|0)|0;k[G>>2]=x;while(1){if(!((k[I>>2]|0)!=0?(k[G>>2]|0)==0:0))break;x=Mo(I)|0;k[G>>2]=x}Do((k[E>>2]|0)+8|0,k[I+24+4>>2]|0,G);if((k[G>>2]|0)==0?(bS(k[(k[E>>2]|0)+8>>2]|0,k[I+24>>2]|0,k[I+24+4>>2]|0)|0,k[(k[E>>2]|0)+8+4>>2]=k[I+24+4>>2],(k[C>>2]|0)>0):0){k[B>>2]=0;k[D>>2]=0;k[E>>2]=(k[A>>2]|0)+56+((k[C>>2]|0)-1<<5);v=I+16|0;w=k[v+4>>2]|0;x=k[E>>2]|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;x=I+16|0;x=qm(k[z>>2]|0,k[x>>2]|0,k[x+4>>2]|0,B,D,0)|0;k[G>>2]=x;if((k[D>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[D>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Do((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){bS(k[(k[E>>2]|0)+20>>2]|0,k[B>>2]|0,k[D>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[D>>2]}Ud(k[B>>2]|0)}No(I);k[C>>2]=(k[C>>2]|0)+-1}}while(0);I=ge(k[F>>2]|0)|0;k[H>>2]=I;if(!(k[G>>2]|0))k[G>>2]=k[H>>2]}k[y>>2]=k[G>>2];I=k[y>>2]|0;r=J;return I|0}function xo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+44|0;h=t+40|0;i=t;j=t+36|0;l=t+32|0;m=t+28|0;s=t+24|0;n=t+20|0;o=t+16|0;q=t+12|0;p=t+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;k[q>>2]=0;k[p>>2]=0;f=zl(k[h>>2]|0,29,q,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){f=i;Ve(k[q>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;f=k[(k[l>>2]|0)+4>>2]|0;Ve(k[q>>2]|0,2,f,((f|0)<0)<<31>>31)|0;if(100==(De(k[q>>2]|0)|0)){f=Me(k[q>>2]|0,0)|0;k[o>>2]=f}f=ge(k[q>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=zl(k[h>>2]|0,10,p,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){if(100==(De(k[p>>2]|0)|0)){q=Ne(k[p>>2]|0,0)|0;f=(k[m>>2]|0)+24|0;k[f>>2]=q;k[f+4>>2]=L;f=(k[m>>2]|0)+24|0;f=_R(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;q=(k[m>>2]|0)+32|0;k[q>>2]=f;k[q+4>>2]=L;q=k[o>>2]<<4;f=(k[m>>2]|0)+32|0;e=f;q=$R(k[e>>2]|0,k[e+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;k[f>>2]=q;k[f+4>>2]=L}f=ge(k[p>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=(k[m>>2]|0)+32|0;f=Pl(k[h>>2]|0,k[f>>2]|0,k[f+4>>2]|0,0,0)|0;k[s>>2]=f;if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}q=i;f=k[q+4>>2]|0;s=(k[m>>2]|0)+8|0;k[s>>2]=k[q>>2];k[s+4>>2]=f;k[k[m>>2]>>2]=k[o>>2];k[(k[m>>2]|0)+16>>2]=k[j>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break;s=(k[m>>2]|0)+24|0;f=ha(k[n>>2]|0,k[k[m>>2]>>2]|0)|0;f=$R(k[s>>2]|0,k[s+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;s=(k[m>>2]|0)+56+(k[n>>2]<<5)|0;k[s>>2]=f;k[s+4>>2]=L;k[n>>2]=(k[n>>2]|0)+1}k[g>>2]=0;s=k[g>>2]|0;r=t;return s|0}function yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;e=q+40|0;s=q+36|0;p=q+32|0;m=q+28|0;f=q+24|0;g=q+20|0;o=q+16|0;j=q+12|0;h=q+8|0;l=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[p>>2]=k[(k[s>>2]|0)+40>>2];k[m>>2]=k[(k[s>>2]|0)+44>>2];k[f>>2]=k[(k[s>>2]|0)+48>>2];k[g>>2]=k[(k[s>>2]|0)+52>>2];k[o>>2]=0;k[n>>2]=(k[e>>2]|0)+56;b=Wl(k[(k[n>>2]|0)+8>>2]|0,k[(k[n>>2]|0)+8+4>>2]|0,k[p>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;k[l>>2]=(k[m>>2]|0)-(k[h>>2]|0);b=k[h>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;b=k[l>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[l>>2]|0));b=k[g>>2]|0;b=Tl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[g>>2]|0));if((k[(k[n>>2]|0)+20+4>>2]|0)>0?((k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0)>(k[(k[d>>2]|0)+224>>2]|0):0){s=k[n>>2]|0;s=Pl(k[d>>2]|0,k[s>>2]|0,k[s+4>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[(k[n>>2]|0)+20+4>>2]|0)|0;k[o>>2]=s;s=(k[e>>2]|0)+4|0;k[s>>2]=(k[s>>2]|0)+1;if(!(k[o>>2]|0)){s=Oo(k[d>>2]|0,k[e>>2]|0,k[p>>2]|0,(k[h>>2]|0)+1|0)|0;k[o>>2]=s}s=k[n>>2]|0;b=s;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[s>>2]=b;k[s+4>>2]=L;k[(k[n>>2]|0)+8+4>>2]=0;k[(k[n>>2]|0)+20+4>>2]=0;k[l>>2]=k[m>>2];k[j>>2]=1;s=k[l>>2]|0;s=Tl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[l>>2]|0));s=k[g>>2]|0;s=Tl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[g>>2]|0))}b=k[j>>2]|0;s=(k[e>>2]|0)+40|0;c=s;b=$R(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=b;k[s+4>>2]=L;Do((k[n>>2]|0)+20|0,(k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0,o);if(k[o>>2]|0){s=k[o>>2]|0;r=q;return s|0}if(!(k[(k[n>>2]|0)+20+4>>2]|0)){k[(k[n>>2]|0)+20+4>>2]=1;i[k[(k[n>>2]|0)+20>>2]>>0]=0}s=Lo((k[n>>2]|0)+20|0,(k[n>>2]|0)+8|0,k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=s;s=k[o>>2]|0;r=q;return s|0}function zo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+44|0;g=s;h=s+40|0;i=s+36|0;j=s+32|0;m=s+28|0;p=s+24|0;o=s+20|0;l=s+16|0;q=s+12|0;n=s+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;k[p>>2]=0;k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)-1;while(1){if(!((k[j>>2]|0)>=0?(k[p>>2]|0)==0:0))break;k[o>>2]=0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0))break;k[o>>2]=k[(k[k[h>>2]>>2]|0)+(k[l>>2]<<2)>>2];if((k[k[o>>2]>>2]|0)==(k[j>>2]|0))break;k[l>>2]=(k[l>>2]|0)+1}if(!(k[(k[o>>2]|0)+40>>2]|0)){e=Vl(k[f>>2]|0,k[o>>2]|0)|0;k[p>>2]=e;if(!(k[p>>2]|0)){e=g;e=Eo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0)|0;k[p>>2]=e}k[k[i>>2]>>2]=0}else{k[q>>2]=k[(k[o>>2]|0)+64>>2];k[n>>2]=k[(k[o>>2]|0)+60>>2];e=g;e=Fo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0;k[p>>2]=e;k[m>>2]=(k[m>>2]|0)+1}k[j>>2]=(k[j>>2]|0)+-1}if(k[p>>2]|0){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}if((k[m>>2]|0)==(k[(k[h>>2]|0)+4>>2]|0)){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}e=g;e=Go(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[p>>2]=e;e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}function Ao(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i+16|0;g=i;h=i+12|0;j=i+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[j>>2]=e;Do(k[f>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+20|0,k[j>>2]|0);if(k[k[j>>2]>>2]|0){r=i;return}j=g;j=Ul((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[j>>2]|0,k[j+4>>2]|0)|0;e=(k[f>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)+j;e=k[h>>2]|0;e=Ul((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;j=(k[f>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+e;r=i;return}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;m=q+32|0;n=q+28|0;e=q+24|0;f=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;j=q;k[d>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=k[k[n>>2]>>2];k[f>>2]=15;while(1){if((k[f>>2]|0)<0)break;k[h>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);if((k[(k[h>>2]|0)+20+4>>2]|0)>0)break;Ud(k[(k[h>>2]|0)+20>>2]|0);Ud(k[(k[h>>2]|0)+8>>2]|0);k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){r=q;return}if(!(k[f>>2]|0)){k[g>>2]=(k[m>>2]|0)+56+32+20;Do(k[g>>2]|0,11,p);if(!(k[p>>2]|0)){i[k[k[g>>2]>>2]>>0]=1;b=(k[m>>2]|0)+56|0;b=1+(Ul((k[k[g>>2]>>2]|0)+1|0,k[b>>2]|0,k[b+4>>2]|0)|0)|0;k[(k[g>>2]|0)+4>>2]=b}k[f>>2]=1}k[o>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;k[j>>2]=(k[m>>2]|0)+56+(k[e>>2]<<5);if((k[p>>2]|0)==0?(k[(k[j>>2]|0)+20+4>>2]|0)>0:0){b=k[j>>2]|0;b=Pl(k[d>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+20+4>>2]|0)|0;k[p>>2]=b}Ud(k[(k[j>>2]|0)+20>>2]|0);Ud(k[(k[j>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[p>>2]|0)){j=k[d>>2]|0;d=(k[m>>2]|0)+8|0;d=$R(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=(k[m>>2]|0)+24|0;f=(k[m>>2]|0)+56|0;a=(k[m>>2]|0)+32|0;if(!(l[(k[m>>2]|0)+48>>0]|0)){h=(k[m>>2]|0)+40|0;g=k[h>>2]|0;h=k[h+4>>2]|0}else{g=0;h=0}m=Rl(j,d,L,k[(k[m>>2]|0)+16>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,g,h,k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+20+4>>2]|0)|0;k[p>>2]=m}Ud(k[(k[o>>2]|0)+20>>2]|0);Ud(k[(k[o>>2]|0)+8>>2]|0);k[k[n>>2]>>2]=k[p>>2];r=q;return}function Co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=zl(k[g>>2]|0,23,d,0)|0;k[e>>2]=b;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}Ue(k[d>>2]|0,1,1)|0;Se(k[d>>2]|0,2,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,0)|0;De(k[d>>2]|0)|0;g=ge(k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function Do(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}if((k[e>>2]|0)<=(k[(k[d>>2]|0)+8>>2]|0)){r=i;return}k[h>>2]=k[e>>2];c=Vd(k[k[d>>2]>>2]|0,k[h>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[d>>2]|0)+8>>2]=k[h>>2];k[k[d>>2]>>2]=k[g>>2];r=i;return}else{k[k[f>>2]>>2]=7;r=i;return}}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;a=zl(k[j>>2]|0,30,g,0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=e;Ve(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Ue(k[g>>2]|0,2,k[f>>2]|0)|0;De(k[g>>2]|0)|0;j=ge(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function Fo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+112|0;g=B+104|0;h=B+24|0;i=B+100|0;j=B+96|0;l=B+92|0;y=B+88|0;A=B+76|0;o=B+64|0;p=B+16|0;q=B+8|0;s=B;x=B+60|0;z=B+56|0;n=B+52|0;u=B+48|0;m=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[y>>2]=0;k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;e=p;k[e>>2]=0;k[e+4>>2]=0;e=q;k[e>>2]=0;k[e+4>>2]=0;e=s;k[e>>2]=0;k[e+4>>2]=0;k[x>>2]=0;e=zl(k[g>>2]|0,32,x,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=h;Ve(k[x>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Ue(k[x>>2]|0,2,k[i>>2]|0)|0;if(100==(De(k[x>>2]|0)|0)){a=Je(k[x>>2]|0,4)|0;k[n>>2]=a;a=Ke(k[x>>2]|0,4)|0;k[u>>2]=a;a=Ne(k[x>>2]|0,1)|0;e=s;k[e>>2]=a;k[e+4>>2]=L;e=Ho(k[n>>2]|0,k[u>>2]|0,A,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}e=ge(k[x>>2]|0)|0;k[z>>2]=e;if(!(k[y>>2]|0))k[y>>2]=k[z>>2]}while(1){e=p;if(!((k[y>>2]|0)==0?(k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0:0))break;k[m>>2]=0;k[t>>2]=0;x=p;z=k[x+4>>2]|0;e=q;k[e>>2]=k[x>>2];k[e+4>>2]=z;e=p;e=qm(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,m,t,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=Ho(k[m>>2]|0,k[t>>2]|0,o,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}if(!(k[y>>2]|0)){e=q;e=Pl(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[y>>2]=e}Ud(k[m>>2]|0)}e=q;if((k[y>>2]|0)==0&((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)?(k[w>>2]=0,e=zl(k[g>>2]|0,17,w,0)|0,k[y>>2]=e,(k[y>>2]|0)==0):0){z=s;Ve(k[w>>2]|0,1,k[z>>2]|0,k[z+4>>2]|0)|0;z=k[w>>2]|0;e=q;e=_R(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;Ve(z,2,e,L)|0;De(k[w>>2]|0)|0;e=ge(k[w>>2]|0)|0;k[y>>2]=e}if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}k[v>>2]=0;e=zl(k[g>>2]|0,33,v,0)|0;k[y>>2]=e;if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}e=q;Ve(k[v>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Se(k[v>>2]|0,2,k[A>>2]|0,k[A+4>>2]|0,0)|0;e=h;Ve(k[v>>2]|0,3,k[e>>2]|0,k[e+4>>2]|0)|0;Ue(k[v>>2]|0,4,k[i>>2]|0)|0;De(k[v>>2]|0)|0;e=ge(k[v>>2]|0)|0;k[y>>2]=e;e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+44|0;e=s;o=s+40|0;f=s+36|0;l=s+32|0;j=s+28|0;h=s+24|0;m=s+20|0;n=s+16|0;p=s+12|0;g=s+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=0;k[l>>2]=0;k[j>>2]=0;k[m>>2]=0;k[n>>2]=0;a=zl(k[d>>2]|0,35,m,0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){a=e;Ve(k[m>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(De(k[m>>2]|0)|0))break;if((k[l>>2]|0)>=(k[j>>2]|0)){k[j>>2]=(k[j>>2]|0)+16;a=Vd(k[f>>2]|0,k[j>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0)){q=6;break}k[f>>2]=k[g>>2]}c=Me(k[m>>2]|0,0)|0;a=k[l>>2]|0;k[l>>2]=a+1;k[(k[f>>2]|0)+(a<<2)>>2]=c}if((q|0)==6)k[o>>2]=7;q=ge(k[m>>2]|0)|0;k[p>>2]=q;if(!(k[o>>2]|0))k[o>>2]=k[p>>2]}if(!(k[o>>2]|0)){q=zl(k[d>>2]|0,31,n,0)|0;k[o>>2]=q}if(!(k[o>>2]|0)){q=e;Ve(k[n>>2]|0,2,k[q>>2]|0,k[q+4>>2]|0)|0}i[(k[d>>2]|0)+232>>0]=1;k[h>>2]=0;while(1){if(k[o>>2]|0){q=21;break}if((k[h>>2]|0)>=(k[l>>2]|0)){q=21;break}if((k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)!=(k[h>>2]|0)){Ue(k[n>>2]|0,3,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;Ue(k[n>>2]|0,1,k[h>>2]|0)|0;De(k[n>>2]|0)|0;q=ge(k[n>>2]|0)|0;k[o>>2]=q}k[h>>2]=(k[h>>2]|0)+1}if((q|0)==21){i[(k[d>>2]|0)+232>>0]=0;Ud(k[f>>2]|0);r=s;return k[o>>2]|0}return 0}function Ho(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;g=w+96|0;h=w+92|0;j=w+88|0;l=w+84|0;m=w+80|0;n=w+76|0;o=w+72|0;t=w;q=w+60|0;s=w+56|0;p=w+52|0;u=w+48|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[s>>2]=0;k[p>>2]=(i[k[h>>2]>>0]|0)==0&1;Do(k[l>>2]|0,k[j>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[(k[l>>2]|0)+4>>2]=0;d=Io(t,k[h>>2]|0,k[j>>2]|0)|0;k[s>>2]=d;while(1){if(!((k[s>>2]|0)==0?(k[t>>2]|0)!=0:0))break;if(!(k[(k[l>>2]|0)+4>>2]|0)){d=Jo(k[t+24>>2]|0,k[t+24+4>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[u>>2]=d;if((k[u>>2]|0)>=0?!((k[p>>2]|0)==0&(k[u>>2]|0)==0):0){f=t+16|0;Ko(k[l>>2]|0,i[k[h>>2]>>0]|0,k[f>>2]|0,k[f+4>>2]|0);f=t+16|0;d=k[f+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[f>>2];k[v+4>>2]=d;v=9}}else v=9;if((v|0)==9?(v=0,d=Lo(k[l>>2]|0,q,k[t+24>>2]|0,k[t+24+4>>2]|0,k[t+36>>2]|0,k[t+40>>2]|0)|0,k[s>>2]=d,(k[s>>2]|0)!=0):0)break;d=Mo(t)|0;k[s>>2]=d}if(!(k[(k[l>>2]|0)+4>>2]|0)){u=t+16|0;Ko(k[l>>2]|0,i[k[h>>2]>>0]|0,k[u>>2]|0,k[u+4>>2]|0);u=t+16|0;d=k[u+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[u>>2];k[v+4>>2]=d}No(t);Ud(k[q>>2]|0);k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}function Io(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+8|0;d=g+4|0;e=g;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;b=k[f>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[k[f>>2]>>2]=k[d>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];b=k[f>>2]|0;if(i[k[k[f>>2]>>2]>>0]|0){e=1+(im((k[b>>2]|0)+1|0,(k[f>>2]|0)+16|0)|0)|0;k[(k[f>>2]|0)+8>>2]=e;f=k[f>>2]|0;f=Mo(f)|0;r=g;return f|0}else{k[b+8>>2]=1;f=k[f>>2]|0;f=Mo(f)|0;r=g;return f|0}return 0}function Jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;l=h+20|0;e=h+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[e>>2]=b;k[j>>2]=c;k[f>>2]=d;k[i>>2]=(k[e>>2]|0)<(k[f>>2]|0)?k[e>>2]|0:k[f>>2]|0;c=oR(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){l=k[g>>2]|0;r=h;return l|0}k[g>>2]=(k[e>>2]|0)-(k[f>>2]|0);l=k[g>>2]|0;r=h;return l|0}function Ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;f=g;k[e>>2]=a;k[h>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;i[k[k[e>>2]>>2]>>0]=k[h>>2];a=f;c=k[e>>2]|0;if((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0){h=f;h=1+(Ul((k[c>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0)|0)|0;k[(k[e>>2]|0)+4>>2]=h;r=g;return}else{k[c+4>>2]=1;r=g;return}}function Lo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;o=t+8|0;p=t+4|0;q=t;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[s>>2]=0;k[o>>2]=(k[(k[i>>2]|0)+4>>2]|0)==0&1;Do(k[i>>2]|0,k[l>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];c=k[g>>2]|0;r=t;return c|0}c=Wl(k[k[i>>2]>>2]|0,k[(k[i>>2]|0)+4>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[p>>2]=c;k[q>>2]=(k[l>>2]|0)-(k[p>>2]|0);bS(k[k[i>>2]>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=k[l>>2];if(!(k[o>>2]|0)){s=k[p>>2]|0;s=Ul((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s}s=k[q>>2]|0;s=Ul((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;bS((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,(k[j>>2]|0)+(k[p>>2]|0)|0,k[q>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[q>>2]|0);if(k[m>>2]|0){s=k[n>>2]|0;s=Ul((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;bS((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,k[m>>2]|0,k[n>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[n>>2]|0)}k[g>>2]=0;c=k[g>>2]|0;r=t;return c|0}function Mo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;e=g+16|0;b=g+12|0;c=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[b>>2]=(k[(k[e>>2]|0)+24+4>>2]|0)==0&1;k[c>>2]=0;k[d>>2]=0;k[f>>2]=0;a=(k[e>>2]|0)+16|0;if(((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)&(k[b>>2]|0)==0){a=(k[e>>2]|0)+16|0;h=a;h=$R(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;k[a>>2]=h;k[a+4>>2]=L}if((k[(k[e>>2]|0)+8>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0)){k[k[e>>2]>>2]=0;h=k[f>>2]|0;r=g;return h|0}if(!(k[b>>2]|0)){b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=jm(b,c)|0;else{k[c>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=jm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;Do((k[e>>2]|0)+24|0,(k[c>>2]|0)+(k[d>>2]|0)|0,f);if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}bS((k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]|0)|0,(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+24+4>>2]=(k[c>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+16|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=k[f>>2]|0;r=g;return h|0}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=jm(b,(k[e>>2]|0)+40|0)|0;else{k[(k[e>>2]|0)+40>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;k[(k[e>>2]|0)+36>>2]=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[(k[e>>2]|0)+40>>2]|0);h=k[f>>2]|0;r=g;return h|0}function No(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+24>>2]|0);r=b;return}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;t=v+60|0;e=v+56|0;f=v+52|0;g=v+48|0;h=v+44|0;m=v+8|0;j=v+40|0;l=v;s=v+36|0;u=v+32|0;n=v+28|0;p=v+24|0;o=v+20|0;q=v+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=(k[f>>2]|0)+56|0;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=1;while(1){if((k[j>>2]|0)>=16){e=16;break}c=l;k[c>>2]=0;k[c+4>>2]=0;k[s>>2]=(k[f>>2]|0)+56+(k[j>>2]<<5);k[u>>2]=0;c=Wl(k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+8+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=c;k[p>>2]=(k[h>>2]|0)-(k[n>>2]|0);c=k[n>>2]|0;c=Tl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;c=k[p>>2]|0;c=Tl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=(k[o>>2]|0)+(c+(k[p>>2]|0));if((k[(k[s>>2]|0)+8+4>>2]|0)!=0?((k[(k[s>>2]|0)+20+4>>2]|0)+(k[o>>2]|0)|0)>(k[(k[e>>2]|0)+224>>2]|0):0){b=k[s>>2]|0;b=Pl(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[s>>2]|0)+20>>2]|0,k[(k[s>>2]|0)+20+4>>2]|0)|0;k[u>>2]=b;i[k[(k[s>>2]|0)+20>>2]>>0]=k[j>>2];b=(k[(k[s>>2]|0)+20>>2]|0)+1|0;a=m;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;a=1+(Ul(b,a,L)|0)|0;k[(k[s>>2]|0)+20+4>>2]=a;a=k[s>>2]|0;b=k[a+4>>2]|0;c=l;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=k[s>>2]|0;b=c;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[c>>2]=b;k[c+4>>2]=L;k[(k[s>>2]|0)+8+4>>2]=0}else{k[q>>2]=(k[s>>2]|0)+20;if((k[(k[q>>2]|0)+4>>2]|0)==0?(Do(k[q>>2]|0,k[(k[e>>2]|0)+224>>2]|0,u),(k[u>>2]|0)==0):0){i[k[k[q>>2]>>2]>>0]=k[j>>2];c=m;c=1+(Ul((k[k[q>>2]>>2]|0)+1|0,k[c>>2]|0,k[c+4>>2]|0)|0)|0;k[(k[q>>2]|0)+4>>2]=c}Do(k[q>>2]|0,(k[(k[q>>2]|0)+4>>2]|0)+(k[o>>2]|0)|0,u);Do((k[s>>2]|0)+8|0,k[h>>2]|0,u);if(!(k[u>>2]|0)){if(k[(k[s>>2]|0)+8+4>>2]|0){b=k[n>>2]|0;b=Ul((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b}b=k[p>>2]|0;b=Ul((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b;bS((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,k[p>>2]|0)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[p>>2]|0);bS(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[s>>2]|0)+8+4>>2]=k[h>>2]}}c=l;if((k[u>>2]|0)!=0|(k[c>>2]|0)==0&(k[c+4>>2]|0)==0){e=14;break}a=l;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=(k[j>>2]|0)+1}if((e|0)==14){k[t>>2]=k[u>>2];u=k[t>>2]|0;r=v;return u|0}else if((e|0)==16){k[t>>2]=0;u=k[t>>2]|0;r=v;return u|0}return 0}function Po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;e=j;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;k[h>>2]=0;d=zl(k[l>>2]|0,34,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}l=e;Ve(k[h>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;if(100==(De(k[h>>2]|0)|0))k[g>>2]=1;d=ge(k[h>>2]|0)|0;k[i>>2]=d;d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}function Qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;u=t+48|0;e=t+44|0;f=t+40|0;g=t+36|0;p=t+32|0;s=t+28|0;n=t+24|0;j=t+20|0;h=t+16|0;o=t+12|0;l=t+8|0;q=t+4|0;m=t;k[u>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[p>>2]=k[u>>2];k[s>>2]=0;k[n>>2]=0;k[j>>2]=0;k[h>>2]=0;k[o>>2]=0;k[l>>2]=0;if(((k[e>>2]|0)>1?(oe(k[k[f>>2]>>2]|0)|0)==5:0)?(oe(k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){u=Ro(k[p>>2]|0,k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[s>>2]=u;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}if((k[e>>2]|0)>1?(me(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){k[s>>2]=19;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}u=Sd((k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1)|0;k[h>>2]=u;if(!(k[h>>2]|0)){k[s>>2]=7;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}k[j>>2]=(k[h>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+1<<2);dS(k[h>>2]|0,0,(k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;u=So(k[p>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}do if((k[e>>2]|0)>1?(k[(k[p>>2]|0)+40>>2]|0)==0:0){k[q>>2]=k[(k[f>>2]|0)+(3+(k[(k[p>>2]|0)+24>>2]|0)<<2)>>2];if((oe(k[q>>2]|0)|0)==5)k[q>>2]=k[(k[f>>2]|0)+4>>2];if((oe(k[q>>2]|0)|0)!=5){if((oe(k[k[f>>2]>>2]|0)|0)!=5?(d=ne(k[k[f>>2]>>2]|0)|0,u=L,a=ne(k[q>>2]|0)|0,!((d|0)!=(a|0)|(u|0)!=(L|0))):0)break;u=(rf(k[(k[p>>2]|0)+12>>2]|0)|0)==5;c=k[p>>2]|0;if(u){u=To(c,k[q>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;break}else{u=Uo(c,k[f>>2]|0,k[g>>2]|0)|0;k[s>>2]=u;k[l>>2]=1;break}}}while(0);if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}if((oe(k[k[f>>2]>>2]|0)|0)!=5){u=To(k[p>>2]|0,k[k[f>>2]>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;k[n>>2]=1}if((k[e>>2]|0)>1&(k[s>>2]|0)==0){u=me(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[m>>2]=u;if(((k[l>>2]|0)==0?(u=Uo(k[p>>2]|0,k[f>>2]|0,k[g>>2]|0)|0,k[s>>2]=u,(k[s>>2]|0)==19):0)?(k[(k[p>>2]|0)+40>>2]|0)==0:0)k[s>>2]=267;do if(!(k[s>>2]|0)){if((k[n>>2]|0)!=0?(q=k[g>>2]|0,u=(k[p>>2]|0)+264|0,!((k[q>>2]|0)!=(k[u>>2]|0)?1:(k[q+4>>2]|0)!=(k[u+4>>2]|0))):0)break;u=k[g>>2]|0;u=Vo(k[p>>2]|0,0,k[m>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[s>>2]=u}while(0);if(!(k[s>>2]|0)){u=Wo(k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[s>>2]=u}if(i[(k[p>>2]|0)+230>>0]|0)Xo(s,k[p>>2]|0,k[j>>2]|0);k[o>>2]=(k[o>>2]|0)+1}if(!(i[(k[p>>2]|0)+228>>0]|0)){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}Yo(s,k[p>>2]|0,k[j>>2]|0,k[h>>2]|0,k[o>>2]|0);u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Im(u);u=k[s>>2]|0;r=t;return u|0}function Ro(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;e=i;k[d>>2]=a;k[j>>2]=b;b=je(k[j>>2]|0)|0;k[g>>2]=b;b=ke(k[j>>2]|0)|0;k[e>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=7;j=k[c>>2]|0;r=i;return j|0}if((k[e>>2]|0)==8?0==(Jd(k[g>>2]|0,20512,8)|0):0){j=bo(k[d>>2]|0,0)|0;k[f>>2]=j}else h=6;do if((h|0)==6){if((k[e>>2]|0)==7?0==(Jd(k[g>>2]|0,23495,7)|0):0){j=gp(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)==15?0==(Jd(k[g>>2]|0,23503,15)|0):0){j=hp(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>6?0==(Jd(k[g>>2]|0,23519,6)|0):0){j=ip(k[d>>2]|0,(k[g>>2]|0)+6|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>10?0==(Jd(k[g>>2]|0,23526,10)|0):0){j=jp(k[d>>2]|0,(k[g>>2]|0)+10|0)|0;k[f>>2]=j;break}k[f>>2]=1}while(0);k[c>>2]=k[f>>2];j=k[c>>2]|0;r=i;return j|0}function So(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if((k[(k[b>>2]|0)+260>>2]|0)==0?(a=zl(k[b>>2]|0,16,c,0)|0,k[d>>2]=a,(k[d>>2]|0)==0):0){We(k[c>>2]|0,1)|0;De(k[c>>2]|0)|0;c=ge(k[c>>2]|0)|0;k[d>>2]=c}r=e;return k[d>>2]|0}function To(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;n=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[n>>2]=0;bp(l,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,n);if(!((k[n>>2]|0)!=0&(k[l>>2]|0)==0)){n=k[l>>2]|0;r=m;return n|0}k[j>>2]=0;n=cp(k[e>>2]|0,k[f>>2]|0,j)|0;k[l>>2]=n;if(k[l>>2]|0){n=k[l>>2]|0;r=m;return n|0}if(k[j>>2]|0){n=dp(k[e>>2]|0,1)|0;k[l>>2]=n;k[k[g>>2]>>2]=0;dS(k[h>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;n=k[l>>2]|0;r=m;return n|0}k[k[g>>2]>>2]=(k[k[g>>2]>>2]|0)-1;if(!(k[(k[e>>2]|0)+40>>2]|0))ep(l,k[e>>2]|0,0,f);if(!(i[(k[e>>2]|0)+230>>0]|0)){n=k[l>>2]|0;r=m;return n|0}ep(l,k[e>>2]|0,19,f);n=k[l>>2]|0;r=m;return n|0}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=k[e>>2]|0;if(k[(k[e>>2]|0)+40>>2]|0){k[i>>2]=k[(k[f>>2]|0)+((k[b+24>>2]|0)+3<<2)>>2];if((oe(k[i>>2]|0)|0)==5)k[i>>2]=k[(k[f>>2]|0)+4>>2];if((oe(k[i>>2]|0)|0)!=1){k[d>>2]=19;j=k[d>>2]|0;r=l;return j|0}else{i=ne(k[i>>2]|0)|0;j=k[g>>2]|0;k[j>>2]=i;k[j+4>>2]=L;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}}i=zl(b,18,h,(k[f>>2]|0)+4|0)|0;k[j>>2]=i;if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)!=0:0){c=k[h>>2]|0;i=(k[(k[e>>2]|0)+24>>2]|0)+2|0;i=Ue(c,i,me(k[(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0;k[j>>2]=i}if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}if(5!=(oe(k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(oe(k[k[f>>2]>>2]|0)|0)?5!=(oe(k[(k[f>>2]|0)+4>>2]|0)|0):0){k[d>>2]=1;j=k[d>>2]|0;r=l;return j|0}i=Ye(k[h>>2]|0,1,k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;k[j>>2]=i;if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}}De(k[h>>2]|0)|0;h=ge(k[h>>2]|0)|0;k[j>>2]=h;h=zf(k[(k[e>>2]|0)+12>>2]|0)|0;i=k[g>>2]|0;k[i>>2]=h;k[i+4>>2]=L;k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;c=j;e=k[c+4>>2]|0;a=(k[g>>2]|0)+264|0;b=k[a+4>>2]|0;do if(!((e|0)<(b|0)|((e|0)==(b|0)?(k[c>>2]|0)>>>0<(k[a>>2]|0)>>>0:0))){c=j;a=(k[g>>2]|0)+264|0;if(((k[c>>2]|0)==(k[a>>2]|0)?(k[c+4>>2]|0)==(k[a+4>>2]|0):0)?(k[(k[g>>2]|0)+276>>2]|0)==0:0){m=6;break}if(!((k[(k[g>>2]|0)+272>>2]|0)==(k[i>>2]|0)?(k[(k[g>>2]|0)+260>>2]|0)<=(k[(k[g>>2]|0)+256>>2]|0):0))m=6}else m=6;while(0);if((m|0)==6?(m=wl(k[g>>2]|0)|0,k[l>>2]=m,(k[l>>2]|0)!=0):0){k[f>>2]=k[l>>2];m=k[f>>2]|0;r=n;return m|0}a=j;l=k[a+4>>2]|0;m=(k[g>>2]|0)+264|0;k[m>>2]=k[a>>2];k[m+4>>2]=l;k[(k[g>>2]|0)+272>>2]=k[i>>2];k[(k[g>>2]|0)+276>>2]=k[h>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function Wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+8|0;m=p+4|0;o=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=2;while(1){if((k[i>>2]|0)>=((k[(k[e>>2]|0)+24>>2]|0)+2|0)){e=8;break}k[j>>2]=(k[i>>2]|0)-2;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){a=je(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[m>>2]=a;a=$o(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0,k[j>>2]|0,(k[h>>2]|0)+(k[j>>2]<<2)|0)|0;k[o>>2]=a;if(k[o>>2]|0){e=5;break}b=ke(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;a=(k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+b}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==5){k[n>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}else if((e|0)==8){k[n>>2]=0;o=k[n>>2]|0;r=p;return o|0}return 0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[d>>2]>>2]|0){r=l;return}a=Sd((k[(k[e>>2]|0)+24>>2]|0)*10|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[k[d>>2]>>2]=7;r=l;return}_o(k[(k[e>>2]|0)+24>>2]|0,k[f>>2]|0,k[h>>2]|0,g);a=zl(k[e>>2]|0,20,i,0)|0;k[j>>2]=a;if(k[j>>2]|0){Ud(k[h>>2]|0);k[k[d>>2]>>2]=k[j>>2];r=l;return}else{j=(k[e>>2]|0)+264|0;Ve(k[i>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Se(k[i>>2]|0,2,k[h>>2]|0,k[g>>2]|0,148)|0;De(k[i>>2]|0)|0;j=ge(k[i>>2]|0)|0;k[k[d>>2]>>2]=j;r=l;return}}function Yo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;p=u+28|0;n=u+24|0;l=u+20|0;q=u+16|0;m=u+12|0;s=u+8|0;o=u+4|0;t=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=(k[(k[g>>2]|0)+24>>2]|0)+2;if(k[k[f>>2]>>2]|0){r=u;return}a=Sd((k[o>>2]|0)*14|0)|0;k[l>>2]=a;if(!(k[l>>2]|0)){k[k[f>>2]>>2]=7;r=u;return}k[p>>2]=(k[l>>2]|0)+(k[o>>2]<<2);a=zl(k[g>>2]|0,22,q,0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}Ue(k[q>>2]|0,1,0)|0;if((De(k[q>>2]|0)|0)==100){e=k[o>>2]|0;b=k[l>>2]|0;a=Je(k[q>>2]|0,0)|0;Zo(e,b,a,Ke(k[q>>2]|0,0)|0)}else dS(k[l>>2]|0,0,k[o>>2]<<2|0)|0;a=ge(k[q>>2]|0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}if((k[j>>2]|0)<0?(k[k[l>>2]>>2]|0)>>>0<(0-(k[j>>2]|0)|0)>>>0:0)k[k[l>>2]>>2]=0;else{a=k[l>>2]|0;k[a>>2]=(k[a>>2]|0)+(k[j>>2]|0)}k[m>>2]=0;while(1){if((k[m>>2]|0)>=((k[(k[g>>2]|0)+24>>2]|0)+1|0))break;k[t>>2]=k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2];if(((k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)|0)>>>0<(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)>>>0)k[t>>2]=0;else k[t>>2]=(k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)-(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0);k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2]=k[t>>2];k[m>>2]=(k[m>>2]|0)+1}_o(k[o>>2]|0,k[l>>2]|0,k[p>>2]|0,n);t=zl(k[g>>2]|0,23,q,0)|0;k[s>>2]=t;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}else{Ue(k[q>>2]|0,1,0)|0;Se(k[q>>2]|0,2,k[p>>2]|0,k[n>>2]|0,0)|0;De(k[q>>2]|0)|0;t=ge(k[q>>2]|0)|0;k[k[f>>2]>>2]=t;Ud(k[l>>2]|0);r=u;return}}function Zo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+12|0;i=l+8|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l+16>>2]=d;k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;c=im((k[g>>2]|0)+(k[i>>2]|0)|0,j)|0;k[i>>2]=(k[i>>2]|0)+c;k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]=k[j>>2];k[h>>2]=(k[h>>2]|0)+1}r=l;return}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[i>>2]=0;while(1){a=k[j>>2]|0;if((k[i>>2]|0)>=(k[e>>2]|0))break;c=Ul((k[g>>2]|0)+a|0,k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0,0)|0;k[j>>2]=(k[j>>2]|0)+c;k[i>>2]=(k[i>>2]|0)+1}k[k[h>>2]>>2]=a;r=l;return}function $o(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;j=B+56|0;l=B+52|0;x=B+48|0;p=B+44|0;n=B+40|0;o=B+36|0;s=B+32|0;z=B+28|0;q=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;m=B+4|0;u=B;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[p>>2]=0;k[n>>2]=0;k[o>>2]=0;k[s>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[g>>2]|0)+36>>2];k[v>>2]=k[k[w>>2]>>2];if(!(k[i>>2]|0)){k[k[l>>2]>>2]=0;k[f>>2]=0;A=k[f>>2]|0;r=B;return A|0}c=Mn(k[w>>2]|0,k[h>>2]|0,k[i>>2]|0,-1,t)|0;k[x>>2]=c;if(k[x>>2]|0){k[f>>2]=k[x>>2];A=k[f>>2]|0;r=B;return A|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];a:while(1){if(k[x>>2]|0)break;c=ac[k[y>>2]&255](k[t>>2]|0,z,q,p,n,o)|0;k[x>>2]=c;if(c)break;if((k[o>>2]|0)>=(k[s>>2]|0))k[s>>2]=(k[o>>2]|0)+1;if((k[o>>2]|0)>=0&(k[z>>2]|0)!=0^1|(k[q>>2]|0)<=0){A=11;break}c=ap(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[(k[g>>2]|0)+252>>2]|0)+4|0,k[z>>2]|0,k[q>>2]|0)|0;k[x>>2]=c;k[m>>2]=1;while(1){if(k[x>>2]|0)continue a;if((k[m>>2]|0)>=(k[(k[g>>2]|0)+248>>2]|0))continue a;k[u>>2]=(k[(k[g>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0);if((k[q>>2]|0)>=(k[k[u>>2]>>2]|0)){c=ap(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[u>>2]|0)+4|0,k[z>>2]|0,k[k[u>>2]>>2]|0)|0;k[x>>2]=c}k[m>>2]=(k[m>>2]|0)+1}}if((A|0)==11)k[x>>2]=1;bc[k[(k[v>>2]|0)+16>>2]&255](k[t>>2]|0)|0;A=k[l>>2]|0;k[A>>2]=(k[A>>2]|0)+(k[s>>2]|0);k[f>>2]=(k[x>>2]|0)==101?0:k[x>>2]|0;A=k[f>>2]|0;r=B;return A|0}function ap(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;e=Ok(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=e;if(k[n>>2]|0){e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)-((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20)}a=(k[g>>2]|0)+264|0;d=k[h>>2]|0;e=k[i>>2]|0;if((Nn(n,k[a>>2]|0,k[a+4>>2]|0,d,((d|0)<0)<<31>>31,e,((e|0)<0)<<31>>31,o)|0)!=0?(e=k[n>>2]|0,(e|0)==(vk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0)):0){Ud(k[n>>2]|0);k[o>>2]=7}if(k[o>>2]|0){e=k[o>>2]|0;r=p;return e|0}e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)+((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20);e=k[o>>2]|0;r=p;return e|0}function bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;g=u+48|0;h=u+44|0;f=u+40|0;i=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;m=u+20|0;p=u+16|0;o=u;n=u+12|0;t=u+8|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[i>>2]=d;k[j>>2]=e;if(k[k[g>>2]>>2]|0){r=u;return}f=zl(k[h>>2]|0,7,q,f)|0;k[s>>2]=f;f=k[q>>2]|0;if(!(k[s>>2]|0)){do if(100==(De(f)|0)){c=fp(k[h>>2]|0,k[q>>2]|0)|0;k[p>>2]=c;c=Ne(k[q>>2]|0,0)|0;e=o;k[e>>2]=c;k[e+4>>2]=L;o=Vo(k[h>>2]|0,1,k[p>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[s>>2]=o;k[m>>2]=1;while(1){if(k[s>>2]|0)break;if((k[m>>2]|0)>(k[(k[h>>2]|0)+24>>2]|0))break;k[n>>2]=(k[m>>2]|0)-1;if(!(l[(k[(k[h>>2]|0)+32>>2]|0)+(k[n>>2]|0)>>0]|0)){e=Oe(k[q>>2]|0,k[m>>2]|0)|0;k[t>>2]=e;e=$o(k[h>>2]|0,k[p>>2]|0,k[t>>2]|0,-1,(k[i>>2]|0)+(k[n>>2]<<2)|0)|0;k[s>>2]=e;e=Ke(k[q>>2]|0,k[m>>2]|0)|0;o=(k[i>>2]|0)+(k[(k[h>>2]|0)+24>>2]<<2)|0;k[o>>2]=(k[o>>2]|0)+e}k[m>>2]=(k[m>>2]|0)+1}if(!(k[s>>2]|0)){k[k[j>>2]>>2]=1;break}ge(k[q>>2]|0)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}while(0);t=ge(k[q>>2]|0)|0;k[s>>2]=t}else ge(f)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}function cp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+40>>2]|0){k[k[f>>2]>>2]=0;k[h>>2]=0;h=k[h>>2]|0;r=i;return h|0}c=zl(k[d>>2]|0,1,g,e)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if(100==(De(k[g>>2]|0)|0)){c=Me(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=c}c=ge(k[g>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=0;tl(k[c>>2]|0);if(k[f>>2]|0)ep(d,k[c>>2]|0,2,0);ep(d,k[c>>2]|0,3,0);ep(d,k[c>>2]|0,4,0);if(i[(k[c>>2]|0)+230>>0]|0)ep(d,k[c>>2]|0,5,0);if(!(i[(k[c>>2]|0)+229>>0]|0)){f=k[d>>2]|0;r=e;return f|0}ep(d,k[c>>2]|0,6,0);f=k[d>>2]|0;r=e;return f|0}function ep(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[e>>2]>>2]|0){r=l;return}a=zl(k[f>>2]|0,k[g>>2]|0,i,k[h>>2]|0)|0;k[j>>2]=a;if(!(k[j>>2]|0)){De(k[i>>2]|0)|0;i=ge(k[i>>2]|0)|0;k[j>>2]=i}k[k[e>>2]>>2]=k[j>>2];r=l;return}function fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+44>>2]|0)){b=k[e>>2]|0;r=f;return b|0}b=Me(k[d>>2]|0,(k[(k[c>>2]|0)+24>>2]|0)+1|0)|0;k[e>>2]=b;b=k[e>>2]|0;r=f;return b|0}function gp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;c=t;e=t+52|0;p=t+48|0;f=t+44|0;h=t+40|0;g=t+36|0;o=t+32|0;n=t+28|0;d=t+24|0;b=t+20|0;j=t+16|0;m=t+12|0;s=t+8|0;q=t+4|0;k[e>>2]=a;a=dp(k[e>>2]|0,0)|0;k[p>>2]=a;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[f>>2]=0;k[h>>2]=0;k[g>>2]=0;k[o>>2]=0;k[n>>2]=0;k[c>>2]=k[(k[e>>2]|0)+216>>2];c=Yd(23614,c)|0;k[d>>2]=c;if(k[d>>2]|0){c=lf(k[(k[e>>2]|0)+12>>2]|0,k[d>>2]|0,-1,o,0)|0;k[p>>2]=c;Ud(k[d>>2]|0)}else k[p>>2]=7;do if(!(k[p>>2]|0)){k[b>>2]=((k[(k[e>>2]|0)+24>>2]|0)+1<<2)*3;d=Sd(k[b>>2]|0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){k[p>>2]=7;break}else{dS(k[f>>2]|0,0,k[b>>2]|0)|0;k[h>>2]=(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);k[g>>2]=(k[h>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(k[p>>2]|0))b=100==(De(k[o>>2]|0)|0);else b=0;a=k[e>>2]|0;if(!b)break;a=fp(a,k[o>>2]|0)|0;k[m>>2]=a;a=k[e>>2]|0;c=k[m>>2]|0;d=Ne(k[o>>2]|0,0)|0;d=Vo(a,0,c,d,L)|0;k[p>>2]=d;dS(k[f>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2|0)|0;k[j>>2]=0;while(1){if(k[p>>2]|0)break;if((k[j>>2]|0)>=(k[(k[e>>2]|0)+24>>2]|0))break;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){c=Oe(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;k[s>>2]=c;c=$o(k[e>>2]|0,k[m>>2]|0,k[s>>2]|0,k[j>>2]|0,(k[f>>2]|0)+(k[j>>2]<<2)|0)|0;k[p>>2]=c;c=Ke(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;d=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+c}k[j>>2]=(k[j>>2]|0)+1}if(i[(k[e>>2]|0)+230>>0]|0)Xo(p,k[e>>2]|0,k[f>>2]|0);if(k[p>>2]|0){fe(k[o>>2]|0)|0;k[o>>2]=0;continue}k[n>>2]=(k[n>>2]|0)+1;k[j>>2]=0;while(1){if((k[j>>2]|0)>(k[(k[e>>2]|0)+24>>2]|0))continue a;d=(k[h>>2]|0)+(k[j>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0);k[j>>2]=(k[j>>2]|0)+1}}if(i[a+228>>0]|0)Yo(p,k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[n>>2]|0);Ud(k[f>>2]|0);if(!(k[o>>2]|0)){s=k[p>>2]|0;r=t;return s|0}s=fe(k[o>>2]|0)|0;k[q>>2]=s;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[p>>2]=k[q>>2];s=k[p>>2]|0;r=t;return s|0}function hp(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=0;a=mp(k[e>>2]|0,d)|0;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)==0&(k[d>>2]|0)==0?267:a;r=c;return k[b>>2]|0}function ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+20|0;j=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;k[c>>2]=a;k[j>>2]=b;k[e>>2]=8;k[d>>2]=0;k[g>>2]=k[j>>2];b=kp(g)|0;k[d>>2]=b;if((i[k[g>>2]>>0]|0)==44?(i[(k[g>>2]|0)+1>>0]|0)!=0:0){k[g>>2]=(k[g>>2]|0)+1;j=kp(g)|0;k[e>>2]=j}if((k[e>>2]|0)<2?1:(i[k[g>>2]>>0]|0)!=0){k[f>>2]=1;j=k[f>>2]|0;r=h;return j|0}k[f>>2]=0;if(!(i[(k[c>>2]|0)+229>>0]|0))lp(f,k[c>>2]|0);if(!(k[f>>2]|0)){j=qo(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=j}Im(k[c>>2]|0);j=k[f>>2]|0;r=h;return j|0}function jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;k[f>>2]=0;k[e>>2]=0;b=kp(h)|0;k[(k[d>>2]|0)+48>>2]=b;if(!((k[(k[d>>2]|0)+48>>2]|0)!=1?(k[(k[d>>2]|0)+48>>2]|0)<=16:0))k[(k[d>>2]|0)+48>>2]=8;if((i[(k[d>>2]|0)+229>>0]|0)==0?(lp(f,k[d>>2]|0),(k[f>>2]|0)!=0):0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}h=zl(k[d>>2]|0,23,e,0)|0;k[f>>2]=h;if(k[f>>2]|0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}else{Ue(k[e>>2]|0,1,2)|0;Ue(k[e>>2]|0,2,k[(k[d>>2]|0)+48>>2]|0)|0;De(k[e>>2]|0)|0;h=ge(k[e>>2]|0)|0;k[f>>2]=h;k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}return 0}function kp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[c>>2]=0;while(1){if((i[k[d>>2]>>0]|0)<48){a=5;break}if((i[k[d>>2]>>0]|0)>57){a=5;break}f=(k[c>>2]|0)*10|0;a=k[d>>2]|0;k[d>>2]=a+1;k[c>>2]=f+(i[a>>0]|0)-48}if((a|0)==5){k[k[b>>2]>>2]=k[d>>2];r=e;return k[c>>2]|0}return 0}function lp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d;e=d+12|0;c=d+8|0;k[e>>2]=a;k[c>>2]=b;b=k[e>>2]|0;a=k[(k[c>>2]|0)+12>>2]|0;g=k[(k[c>>2]|0)+20>>2]|0;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[f+4>>2]=g;xl(b,a,23537,f);if(k[k[e>>2]>>2]|0){r=d;return}i[(k[c>>2]|0)+229>>0]=1;r=d;return}function mp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+112|0;g=E+24|0;i=E+108|0;j=E+104|0;B=E+100|0;m=E+16|0;n=E+8|0;e=E+96|0;f=E+92|0;d=E+88|0;c=E+84|0;y=E+80|0;z=E+76|0;h=E+72|0;q=E;u=E+68|0;p=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;D=E+48|0;x=E+44|0;s=E+40|0;t=E+36|0;v=E+32|0;o=E+28|0;k[i>>2]=a;k[j>>2]=b;k[B>>2]=0;b=m;k[b>>2]=0;k[b+4>>2]=0;b=n;k[b>>2]=0;k[b+4>>2]=0;k[e>>2]=0;b=zl(k[i>>2]|0,27,e,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Ue(k[e>>2]|0,1,k[(k[i>>2]|0)+272>>2]|0)|0;Ue(k[e>>2]|0,2,k[(k[i>>2]|0)+248>>2]|0)|0;a:while(1){if(!(k[B>>2]|0))a=(De(k[e>>2]|0)|0)==100;else a=0;b=k[e>>2]|0;if(!a)break;b=Me(b,0)|0;k[d>>2]=b;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue a;a=m;G=k[a>>2]|0;a=k[a+4>>2]|0;F=np(k[i>>2]|0,k[d>>2]|0,k[c>>2]|0,B)|0;b=m;k[b>>2]=G^F;k[b+4>>2]=a^L;k[c>>2]=(k[c>>2]|0)+1}}G=ge(b)|0;k[f>>2]=G;if(!(k[B>>2]|0))k[B>>2]=k[f>>2]}if(k[B>>2]|0){D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}k[y>>2]=k[k[(k[i>>2]|0)+36>>2]>>2];k[z>>2]=0;k[g>>2]=k[(k[i>>2]|0)+216>>2];G=Yd(23614,g)|0;k[h>>2]=G;if(k[h>>2]|0){G=lf(k[(k[i>>2]|0)+12>>2]|0,k[h>>2]|0,-1,z,0)|0;k[B>>2]=G;Ud(k[h>>2]|0)}else k[B>>2]=7;b:while(1){if(!(k[B>>2]|0))a=100==(De(k[z>>2]|0)|0);else a=0;b=k[z>>2]|0;if(!a)break;F=Ne(b,0)|0;G=q;k[G>>2]=F;k[G+4>>2]=L;G=fp(k[i>>2]|0,k[z>>2]|0)|0;k[u>>2]=G;k[p>>2]=0;while(1){if(k[B>>2]|0)continue b;if((k[p>>2]|0)>=(k[(k[i>>2]|0)+24>>2]|0))continue b;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[p>>2]|0)>>0]|0)){G=Oe(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[C>>2]=G;G=Ke(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[w>>2]=G;k[A>>2]=0;G=Mn(k[(k[i>>2]|0)+36>>2]|0,k[u>>2]|0,k[C>>2]|0,k[w>>2]|0,A)|0;k[B>>2]=G;c:while(1){if(k[B>>2]|0)break;k[x>>2]=0;k[s>>2]=0;k[t>>2]=0;k[v>>2]=0;G=ac[k[(k[y>>2]|0)+20>>2]&255](k[A>>2]|0,D,x,s,t,v)|0;k[B>>2]=G;if(k[B>>2]|0)continue;F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=op(k[D>>2]|0,k[x>>2]|0,k[u>>2]|0,0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L;k[o>>2]=1;while(1){if((k[o>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue c;if((k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0)<=(k[x>>2]|0)){F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=op(k[D>>2]|0,k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0,k[u>>2]|0,k[o>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L}k[o>>2]=(k[o>>2]|0)+1}}if(k[A>>2]|0)bc[k[(k[y>>2]|0)+16>>2]&255](k[A>>2]|0)|0;if((k[B>>2]|0)==101)k[B>>2]=0}k[p>>2]=(k[p>>2]|0)+1}}fe(b)|0;D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}function np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+144|0;f=u+140|0;g=u+136|0;h=u+132|0;i=u+128|0;e=u+112|0;l=u+56|0;t=u+48|0;j=u+32|0;q=u+44|0;s=u+40|0;n=u+24|0;m=u+16|0;o=u+8|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=j;k[c>>2]=0;k[c+4>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;c=l;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));k[e+12>>2]=3;d=e+12|0;k[d>>2]=k[d>>2]|16;d=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,-2,0,0,0,1,l)|0;k[t>>2]=d;if(!(k[t>>2]|0)){e=El(k[f>>2]|0,l,e)|0;k[t>>2]=e}if(k[t>>2]|0){Ll(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}a:while(1){e=Fl(k[f>>2]|0,l)|0;k[t>>2]=e;if(100!=(e|0))break;k[q>>2]=k[l+48>>2];k[s>>2]=(k[q>>2]|0)+(k[l+52>>2]|0);e=n;k[e>>2]=0;k[e+4>>2]=0;e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=im(k[q>>2]|0,n)|0;k[q>>2]=(k[q>>2]|0)+e;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue a;e=p;k[e>>2]=0;k[e+4>>2]=0;e=im(k[q>>2]|0,p)|0;k[q>>2]=(k[q>>2]|0)+e;if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue;d=p;e=p;if(!((k[d>>2]|0)==0&(k[d+4>>2]|0)==0|(k[e>>2]|0)==1&(k[e+4>>2]|0)==0)){b=p;b=_R(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;d=o;b=$R(k[d>>2]|0,k[d+4>>2]|0,b|0,L|0)|0;d=o;k[d>>2]=b;k[d+4>>2]=L;d=j;b=k[d>>2]|0;d=k[d+4>>2]|0;a=n;a=op(k[l+40>>2]|0,k[l+44>>2]|0,k[g>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;e=j;k[e>>2]=b^a;k[e+4>>2]=d^L;continue}e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=p;c=k[q>>2]|0;if((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0){e=im(c,m)|0;k[q>>2]=(k[q>>2]|0)+e;continue}else{d=im(c,p)|0;k[q>>2]=(k[q>>2]|0)+d;d=p;e=n;d=$R(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;continue}}}Ll(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}function op(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=r;r=r+48|0;j=o+40|0;l=o+36|0;t=o+32|0;s=o+28|0;u=o+8|0;q=o+24|0;p=o+20|0;m=o+16|0;n=o;k[j>>2]=a;k[l>>2]=b;k[t>>2]=c;k[s>>2]=d;b=u;k[b>>2]=e;k[b+4>>2]=f;k[q>>2]=g;k[p>>2]=h;h=u;b=k[h+4>>2]|0;a=n;k[a>>2]=k[h>>2];k[a+4>>2]=b;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[t>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[s>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[q>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=eS(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[p>>2]|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=$R(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;k[m>>2]=0;while(1){f=n;e=k[f>>2]|0;f=k[f+4>>2]|0;if((k[m>>2]|0)>=(k[l>>2]|0))break;u=eS(e|0,f|0,3)|0;t=i[(k[j>>2]|0)+(k[m>>2]|0)>>0]|0;t=$R(u|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;t=$R(k[u>>2]|0,k[u+4>>2]|0,t|0,L|0)|0;u=n;k[u>>2]=t;k[u+4>>2]=L;k[m>>2]=(k[m>>2]|0)+1}L=f;r=o;return e|0}function pp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];a:do if(!(k[c>>2]|0))i[(k[b>>2]|0)+6>>0]=1;else do{if(!(l[(k[b>>2]|0)+7>>0]|0))ge(k[(k[b>>2]|0)+8>>2]|0)|0;bn(k[b>>2]|0,k[c>>2]|0,d);i[(k[b>>2]|0)+6>>0]=i[(k[c>>2]|0)+32>>0]|0;i[(k[b>>2]|0)+7>>0]=1;k[(k[b>>2]|0)+88>>2]=1;g=(k[c>>2]|0)+24|0;f=k[g+4>>2]|0;a=(k[b>>2]|0)+32|0;k[a>>2]=k[g>>2];k[a+4>>2]=f;if(l[(k[b>>2]|0)+6>>0]|0)break a}while((Ym(k[b>>2]|0,d)|0)!=0);while(0);if(k[d>>2]|0){g=k[d>>2]|0;r=e;return g|0}if(!((l[(k[b>>2]|0)+52>>0]|0|0)==0?(f=(k[b>>2]|0)+32|0,a=k[f+4>>2]|0,g=(k[b>>2]|0)+80|0,c=k[g+4>>2]|0,(a|0)>(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0)){if(!(l[(k[b>>2]|0)+52>>0]|0)){g=k[d>>2]|0;r=e;return g|0}f=(k[b>>2]|0)+32|0;a=k[f+4>>2]|0;g=(k[b>>2]|0)+72|0;c=k[g+4>>2]|0;if(!((a|0)<(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0<(k[g>>2]|0)>>>0:0))){g=k[d>>2]|0;r=e;return g|0}}i[(k[b>>2]|0)+6>>0]=1;g=k[d>>2]|0;r=e;return g|0}function qp(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];while(1){if(!(k[b>>2]|0))break;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)break;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}a:while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+8>>2];Qp(k[b>>2]|0);if(((k[c>>2]|0)!=0?(k[b>>2]|0)==(k[(k[c>>2]|0)+12>>2]|0):0)?(k[(k[c>>2]|0)+16>>2]|0)!=0:0){k[b>>2]=k[(k[c>>2]|0)+16>>2];while(1){if(!(k[b>>2]|0))continue a;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)continue a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}}k[b>>2]=k[c>>2]}r=d;return}function rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+8|0;e=h+20|0;f=h;g=h+16|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if((k[e>>2]|0)!=0?(a=bf(k[e>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==1):0){a=ne(k[e>>2]|0)|0;g=d;k[g>>2]=a;k[g+4>>2]=L;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}a=k[f+4>>2]|0;g=d;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}function sp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=r;r=r+64|0;q=s+8|0;p=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;l=s+28|0;t=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;k[z>>2]=a;k[y>>2]=b;k[x>>2]=c;k[w>>2]=d;k[v>>2]=e;k[u>>2]=f;k[l>>2]=g;k[t>>2]=h;k[m>>2]=i;k[n>>2]=j;g=Ep(k[z>>2]|0,k[y>>2]|0,k[x>>2]|0,k[w>>2]|0,k[v>>2]|0,k[u>>2]|0,k[l>>2]|0,k[t>>2]|0,k[m>>2]|0)|0;k[o>>2]=g;if(((k[o>>2]|0)==0?(k[k[m>>2]>>2]|0)!=0:0)?(z=Fp(k[m>>2]|0,12)|0,k[o>>2]=z,(k[o>>2]|0)==0):0){z=Gp(k[k[m>>2]>>2]|0,12)|0;k[o>>2]=z}if(!(k[o>>2]|0)){z=k[o>>2]|0;r=s;return z|0}qp(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;if((k[o>>2]|0)==18){z=k[n>>2]|0;k[p>>2]=12;Pk(z,23723,p);k[o>>2]=1;z=k[o>>2]|0;r=s;return z|0}if((k[o>>2]|0)!=1){z=k[o>>2]|0;r=s;return z|0}z=k[n>>2]|0;k[q>>2]=k[l>>2];Pk(z,23775,q);z=k[o>>2]|0;r=s;return z|0}function tp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=r;r=r+48|0;b=m+36|0;n=m+32|0;j=m+28|0;g=m+24|0;f=m+20|0;c=m+16|0;d=m+12|0;e=m+8|0;h=m+4|0;i=m;k[b>>2]=a;k[n>>2]=k[k[b>>2]>>2];k[j>>2]=0;k[g>>2]=0;k[f>>2]=0;up(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,g,f,j);do if((k[j>>2]|0)==0&(k[g>>2]|0)>1?(l[(k[n>>2]|0)+228>>0]|0|0)!=0:0){n=Sd(((k[g>>2]|0)*24|0)+(k[f>>2]<<2<<1)|0)|0;k[c>>2]=n;k[d>>2]=(k[c>>2]|0)+((k[g>>2]|0)*24|0);if(!(k[c>>2]|0)){k[j>>2]=7;break}k[h>>2]=k[c>>2];k[i>>2]=k[d>>2];vp(k[b>>2]|0,0,k[(k[b>>2]|0)+12>>2]|0,h,i,j);k[g>>2]=((k[h>>2]|0)-(k[c>>2]|0)|0)/24|0;k[f>>2]=((k[i>>2]|0)-(k[d>>2]|0)|0)/4|0;a:do if(!(k[j>>2]|0)){n=wp(k[b>>2]|0,0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=0;while(1){if(k[j>>2]|0)break a;if((k[e>>2]|0)>=(k[f>>2]|0))break a;n=wp(k[b>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=(k[e>>2]|0)+1}}while(0);Ud(k[c>>2]|0)}while(0);xp(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,j);r=m;return k[j>>2]|0}function up(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+32|0;m=p+28|0;g=p+24|0;h=p+20|0;n=p+16|0;i=p+12|0;j=p+8|0;l=p+4|0;o=p;k[f>>2]=a;k[m>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=e;if(!(k[m>>2]|0)){r=p;return}if(k[k[n>>2]>>2]|0){r=p;return}a=k[m>>2]|0;if((k[k[m>>2]>>2]|0)!=5){o=k[h>>2]|0;k[o>>2]=(k[o>>2]|0)+((k[a>>2]|0)==4&1);up(k[f>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);up(k[f>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);r=p;return}k[j>>2]=k[(k[a+20>>2]|0)+64>>2];h=k[g>>2]|0;k[h>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[j>>2]|0)){a=9;break}k[l>>2]=(k[(k[m>>2]|0)+20>>2]|0)+72+((k[i>>2]|0)*24|0);h=Cp(k[f>>2]|0,k[k[l>>2]>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[(k[l>>2]|0)+8>>2]|0,(k[l>>2]|0)+20|0)|0;k[o>>2]=h;if(k[o>>2]|0){a=7;break}k[i>>2]=(k[i>>2]|0)+1}if((a|0)==7){k[k[n>>2]>>2]=k[o>>2];r=p;return}else if((a|0)==9){k[(k[(k[m>>2]|0)+20>>2]|0)+44>>2]=-1;r=p;return}}function vp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;i=q;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;if(k[k[p>>2]>>2]|0){r=q;return}c=k[m>>2]|0;if((k[k[m>>2]>>2]|0)==5){k[h>>2]=k[c+20>>2];k[g>>2]=0;while(1){if(k[k[p>>2]>>2]|0){a=13;break}if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0)){a=13;break}m=k[n>>2]|0;o=k[m>>2]|0;k[m>>2]=o+24;k[i>>2]=o;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+12>>2]=k[l>>2];k[(k[i>>2]|0)+8>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);k[(k[i>>2]|0)+20>>2]=k[(k[h>>2]|0)+68>>2];o=Bp(k[j>>2]|0,k[(k[(k[i>>2]|0)+8>>2]|0)+20>>2]|0,(k[i>>2]|0)+16|0)|0;k[k[p>>2]>>2]=o;k[g>>2]=(k[g>>2]|0)+1}if((a|0)==13){r=q;return}}if((k[c>>2]|0)==2){r=q;return}if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+12>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}vp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+16>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}vp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);r=q;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;e=B+76|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;w=B+56|0;n=B+52|0;z=B+48|0;l=B+44|0;s=B+40|0;t=B+36|0;q=B+32|0;p=B+28|0;j=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;o=B+8|0;u=B+4|0;m=B;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[w>>2]=k[k[f>>2]>>2];k[n>>2]=0;k[z>>2]=0;k[s>>2]=0;k[t>>2]=0;k[q>>2]=0;k[p>>2]=1;if(k[(k[w>>2]|0)+40>>2]|0){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[i>>2]|0))break;if((k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0)){k[s>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+16>>2]|0);k[t>>2]=(k[t>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1}if((k[s>>2]|0)==0|(k[t>>2]|0)<2){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}b=yp(k[f>>2]|0,n)|0;k[z>>2]=b;k[l>>2]=0;while(1){if(!((k[l>>2]|0)<(k[t>>2]|0)?(k[z>>2]|0)==0:0))break;k[v>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[i>>2]|0))break;do if((k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+8>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0):0){if((k[v>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+16>>2]|0)>=(k[(k[v>>2]|0)+16>>2]|0):0)break;k[v>>2]=(k[h>>2]|0)+((k[j>>2]|0)*24|0)}while(0);k[j>>2]=(k[j>>2]|0)+1}if((k[l>>2]|0)!=0?(k[(k[v>>2]|0)+16>>2]|0)>=(ha(((k[q>>2]|0)+((k[p>>2]|0)/4|0)-1|0)/((k[p>>2]|0)/4|0|0)|0,k[n>>2]|0)|0):0){k[x>>2]=k[(k[v>>2]|0)+8>>2];b=zp(k[f>>2]|0,k[x>>2]|0,k[(k[v>>2]|0)+20>>2]|0)|0;k[z>>2]=b;yn(k[(k[x>>2]|0)+20>>2]|0);k[(k[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((k[l>>2]|0)<12)k[p>>2]=k[p>>2]<<2;if(k[l>>2]|0){if((k[(k[k[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((k[l>>2]|0)==((k[t>>2]|0)-1|0))break}k[y>>2]=k[(k[v>>2]|0)+8>>2];k[o>>2]=0;k[u>>2]=0;b=rn(k[w>>2]|0,k[y>>2]|0,k[(k[v>>2]|0)+20>>2]|0,o,u)|0;k[z>>2]=b;if(!(k[z>>2]|0)){b=sn(k[w>>2]|0,k[k[v>>2]>>2]|0,k[(k[v>>2]|0)+4>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;k[z>>2]=b}if(!(k[z>>2]|0)){b=Ap(k[k[k[v>>2]>>2]>>2]|0,k[(k[k[v>>2]>>2]|0)+4>>2]|0)|0;k[m>>2]=b;if((k[l>>2]|0)!=0?(k[m>>2]|0)>=(k[q>>2]|0):0)break;k[q>>2]=k[m>>2]}}while(0);k[(k[v>>2]|0)+8>>2]=0;k[l>>2]=(k[l>>2]|0)+1}k[e>>2]=k[z>>2];A=k[e>>2]|0;r=B;return A|0}function xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;h=j+12|0;e=j+8|0;g=j+4|0;f=j;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(!(k[h>>2]|0)){r=j;return}if(k[k[e>>2]>>2]|0){r=j;return}if((k[k[h>>2]>>2]|0)!=5){xp(k[d>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0);xp(k[d>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0);if(l[(k[(k[h>>2]|0)+12>>2]|0)+34>>0]|0)d=(l[(k[(k[h>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else d=0;i[(k[h>>2]|0)+34>>0]=d&1;r=j;return}k[g>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+64>>2];if(k[g>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+20>>2]|0)+72+((k[f>>2]|0)*24|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}i[(k[h>>2]|0)+34>>0]=(k[f>>2]|0)==(k[g>>2]|0)}h=on(k[d>>2]|0,1,k[(k[h>>2]|0)+20>>2]|0)|0;k[k[e>>2]>>2]=h;r=j;return}function yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+44|0;d=n+40|0;e=n+36|0;m=n+32|0;i=n+28|0;l=n+24|0;h=n+8|0;g=n;j=n+20|0;f=n+16|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+60>>2]|0)){k[i>>2]=k[k[d>>2]>>2];b=h;k[b>>2]=0;k[b+4>>2]=0;b=g;k[b>>2]=0;k[b+4>>2]=0;b=Zn(k[i>>2]|0,l)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}b=Je(k[l>>2]|0,0)|0;k[f>>2]=b;b=Ke(k[l>>2]|0,0)|0;k[j>>2]=(k[f>>2]|0)+b;b=im(k[f>>2]|0,h)|0;k[f>>2]=(k[f>>2]|0)+b;while(1){if((k[f>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break;b=im(k[f>>2]|0,g)|0;k[f>>2]=(k[f>>2]|0)+b}j=h;b=g;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){ge(k[l>>2]|0)|0;k[c>>2]=267;m=k[c>>2]|0;r=n;return m|0}a=h;b=k[a+4>>2]|0;j=(k[d>>2]|0)+64|0;k[j>>2]=k[a>>2];k[j+4>>2]=b;j=g;b=h;b=iS(k[j>>2]|0,k[j+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;j=k[(k[i>>2]|0)+236>>2]|0;j=$R(b|0,L|0,j|0,((j|0)<0)<<31>>31|0)|0;b=k[(k[i>>2]|0)+236>>2]|0;b=iS(j|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;k[(k[d>>2]|0)+60>>2]=b;b=ge(k[l>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}}k[k[e>>2]>>2]=k[(k[d>>2]|0)+60>>2];k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=Sd(16)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[h>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[k[h>>2]>>2]=k[f>>2];k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+24>>2];k[(k[h>>2]|0)+4>>2]=k[g>>2];k[(k[e>>2]|0)+24>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[h>>2];k[d>>2]=0;b=k[d>>2]|0;r=i;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=i;return b|0}return 0}function Ap(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[c>>2]|0)){g=k[f>>2]|0;r=h;return g|0}k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);k[g>>2]=k[c>>2];while(1){if((k[g>>2]|0)>>>0>=(k[e>>2]|0)>>>0)break;k[f>>2]=(k[f>>2]|0)+1;do{b=k[g>>2]|0;k[g>>2]=b+1}while((i[b>>0]&128|0)!=0);nm(0,g)}g=k[f>>2]|0;r=h;return g|0}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+44|0;d=p+40|0;m=p+36|0;h=p+32|0;n=p+28|0;e=p+24|0;o=p+20|0;j=p+16|0;i=p+12|0;f=p;g=p+8|0;k[q>>2]=a;k[d>>2]=b;k[m>>2]=c;k[h>>2]=k[k[q>>2]>>2];k[n>>2]=0;k[o>>2]=0;k[j>>2]=k[(k[h>>2]|0)+236>>2];k[e>>2]=0;while(1){if(k[o>>2]|0){d=13;break}if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){d=13;break}k[i>>2]=k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<2)>>2];a:do if((k[(k[i>>2]|0)+56>>2]|0)==0?(l[(k[i>>2]|0)+5>>0]|0|0)==0:0){b=(k[i>>2]|0)+8|0;c=k[b+4>>2]|0;q=f;k[q>>2]=k[b>>2];k[q+4>>2]=c;while(1){c=f;a=k[c+4>>2]|0;q=(k[i>>2]|0)+16|0;b=k[q+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)))break a;q=f;q=qm(k[h>>2]|0,k[q>>2]|0,k[q+4>>2]|0,0,g,0)|0;k[o>>2]=q;if(k[o>>2]|0)break a;if(((k[g>>2]|0)+35|0)>(k[j>>2]|0))k[n>>2]=(k[n>>2]|0)+(((k[g>>2]|0)+34|0)/(k[j>>2]|0)|0);c=f;c=$R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;q=f;k[q>>2]=c;k[q+4>>2]=L}}while(0);k[e>>2]=(k[e>>2]|0)+1}if((d|0)==13){k[k[m>>2]>>2]=k[n>>2];r=p;return k[o>>2]|0}return 0}function Cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;l=q+4|0;n=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[p>>2]=7;b=Sd(56)|0;k[o>>2]=b;if(!(k[o>>2]|0)){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}k[l>>2]=0;k[n>>2]=k[k[f>>2]>>2];a:do if(k[i>>2]|0){k[m>>2]=1;while(1){if(k[l>>2]|0)break;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==(k[h>>2]|0)){k[l>>2]=1;b=Al(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,0,0,k[o>>2]|0)|0;k[p>>2]=b;k[(k[o>>2]|0)+36>>2]=1}k[m>>2]=(k[m>>2]|0)+1}k[m>>2]=1;while(1){if(k[l>>2]|0)break a;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break a;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==((k[h>>2]|0)+1|0)?(k[l>>2]=1,b=Al(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,1,0,k[o>>2]|0)|0,k[p>>2]=b,(k[p>>2]|0)==0):0){b=Dp(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[o>>2]|0)|0;k[p>>2]=b}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[l>>2]|0){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}e=Al(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0,-2,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0,k[o>>2]|0)|0;k[p>>2]=e;k[(k[o>>2]|0)+36>>2]=((k[i>>2]|0)!=0^1)&1;e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}function Dp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=tm(k[l>>2]|0,k[j>>2]|0,0,-2,k[i>>2]|0,k[h>>2]|0,0,0,k[g>>2]|0)|0;r=f;return c|0}function Ep(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+96|0;j=y+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[s>>2]=g;k[t>>2]=h;k[u>>2]=i;c=x;d=c+36|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[x>>2]=k[l>>2];k[x+4>>2]=k[m>>2];k[x+8>>2]=k[n>>2];k[x+16>>2]=k[p>>2];k[x+20>>2]=k[q>>2];k[x+12>>2]=k[o>>2];if(!(k[s>>2]|0)){k[k[u>>2]>>2]=0;k[j>>2]=0;x=k[j>>2]|0;r=y;return x|0}if((k[t>>2]|0)<0){q=uR(k[s>>2]|0)|0;k[t>>2]=q}v=Hp(x,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,v)|0;k[w>>2]=v;if((k[w>>2]|0)==0?(k[x+32>>2]|0)!=0:0)k[w>>2]=1;k[j>>2]=k[w>>2];x=k[j>>2]|0;r=y;return x|0}function Fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;e=t+52|0;f=t+48|0;q=t+44|0;p=t+40|0;n=t+36|0;h=t+32|0;g=t+28|0;i=t+24|0;l=t+20|0;j=t+16|0;o=t+12|0;m=t+8|0;c=t+4|0;d=t;k[e>>2]=a;k[f>>2]=b;k[q>>2]=0;k[p>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[h>>2]=k[k[p>>2]>>2];if(!(k[f>>2]|0))k[q>>2]=1;do if(!(k[q>>2]|0)){if(!((k[h>>2]|0)==3|(k[h>>2]|0)==4)){if((k[h>>2]|0)!=2)break;k[c>>2]=k[(k[p>>2]|0)+12>>2];k[d>>2]=k[(k[p>>2]|0)+16>>2];k[(k[p>>2]|0)+12>>2]=0;k[(k[p>>2]|0)+16>>2]=0;k[(k[c>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+8>>2]=0;s=Fp(c,(k[f>>2]|0)-1|0)|0;k[q>>2]=s;if(!(k[q>>2]|0)){s=Fp(d,(k[f>>2]|0)-1|0)|0;k[q>>2]=s}if(k[q>>2]|0){qp(k[d>>2]|0);qp(k[c>>2]|0);break}else{k[(k[p>>2]|0)+12>>2]=k[c>>2];k[(k[c>>2]|0)+8>>2]=k[p>>2];k[(k[p>>2]|0)+16>>2]=k[d>>2];k[(k[d>>2]|0)+8>>2]=k[p>>2];break}}a=Sd(k[f>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0))k[q>>2]=7;else dS(k[g>>2]|0,0,k[f>>2]<<2|0)|0;if(!(k[q>>2]|0)){k[l>>2]=k[p>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}while(1){k[o>>2]=k[(k[l>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;if(k[o>>2]|0)k[(k[o>>2]|0)+12>>2]=0;else k[p>>2]=0;a=Fp(l,(k[f>>2]|0)-1|0)|0;k[q>>2]=a;if(k[q>>2]|0)break;k[j>>2]=0;while(1){if(!(k[l>>2]|0))break;if((k[j>>2]|0)>=(k[f>>2]|0))break;if(!(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)){k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[l>>2]=0}else{k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[j>>2]<<2)>>2];k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(k[l>>2]|0){s=24;break}if(!(k[o>>2]|0))break;k[l>>2]=k[(k[o>>2]|0)+16>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}k[(k[(k[o>>2]|0)+16>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];b=k[(k[o>>2]|0)+16>>2]|0;if(k[(k[o>>2]|0)+8>>2]|0)k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]=b;else k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=k[n>>2];k[n>>2]=k[o>>2]}if((s|0)==24){qp(k[l>>2]|0);k[q>>2]=18}a:do if(!(k[q>>2]|0)){k[l>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;do if(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)if(!(k[l>>2]|0)){k[l>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[l>>2]|0)+8>>2]=0;break}else{k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;break}while(0);k[i>>2]=(k[i>>2]|0)+1}k[p>>2]=k[l>>2]}else{k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;qp(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0);k[i>>2]=(k[i>>2]|0)+1}while(1){s=k[n>>2]|0;k[m>>2]=s;if(!s)break a;k[n>>2]=k[(k[m>>2]|0)+8>>2];Ud(k[m>>2]|0)}}while(0);Ud(k[g>>2]|0)}}while(0);if(!(k[q>>2]|0)){p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}qp(k[p>>2]|0);k[p>>2]=0;p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}function Gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[c>>2]|0){if((k[d>>2]|0)<0){k[e>>2]=18;break}a=Gp(k[(k[c>>2]|0)+12>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Gp(k[(k[c>>2]|0)+16>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a}}while(0);r=f;return k[e>>2]|0}function Hp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;f=x+64|0;y=x+60|0;n=x+56|0;o=x+52|0;p=x+48|0;v=x+44|0;l=x+40|0;u=x+36|0;s=x+32|0;m=x+28|0;w=x+24|0;q=x+20|0;t=x+16|0;i=x+12|0;h=x+8|0;g=x+4|0;j=x;k[f>>2]=a;k[y>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[v>>2]=0;k[l>>2]=0;k[u>>2]=0;k[s>>2]=k[n>>2];k[m>>2]=k[y>>2];k[w>>2]=0;k[q>>2]=1;while(1){if(k[w>>2]|0){c=25;break}k[t>>2]=0;k[i>>2]=0;y=Ip(k[f>>2]|0,k[m>>2]|0,k[s>>2]|0,t,i)|0;k[w>>2]=y;if((k[w>>2]|0)==0&(k[t>>2]|0)!=0){k[g>>2]=k[k[t>>2]>>2];if((k[g>>2]|0)==5)c=1;else c=(k[(k[t>>2]|0)+12>>2]|0)!=0;k[h>>2]=c&1;if((k[h>>2]|0)==0&(k[q>>2]|0)!=0){c=7;break}if(!((k[h>>2]|0)==0|(k[q>>2]|0)!=0)){y=Jp(48)|0;k[j>>2]=y;if(!(k[j>>2]|0)){c=10;break}k[k[j>>2]>>2]=3;Kp(v,k[l>>2]|0,k[j>>2]|0);k[l>>2]=k[j>>2]}if(k[l>>2]|0){if(!((k[g>>2]|0)!=1|(k[h>>2]|0)!=0)?(k[k[l>>2]>>2]|0)!=5:0){c=17;break}if((k[g>>2]|0)!=5&(k[h>>2]|0)!=0?(k[k[l>>2]>>2]|0)==1:0){c=17;break}}do if(k[h>>2]|0){c=k[t>>2]|0;if(k[v>>2]|0){k[(k[l>>2]|0)+16>>2]=c;k[(k[t>>2]|0)+8>>2]=k[l>>2];break}else{k[v>>2]=c;break}}else Kp(v,k[l>>2]|0,k[t>>2]|0);while(0);k[q>>2]=((k[h>>2]|0)!=0^1)&1;k[l>>2]=k[t>>2]}k[s>>2]=(k[s>>2]|0)-(k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0)}if((c|0)==7){qp(k[t>>2]|0);k[w>>2]=1}else if((c|0)==10){qp(k[t>>2]|0);k[w>>2]=7}else if((c|0)==17){qp(k[t>>2]|0);k[w>>2]=1}else if((c|0)==25){if((k[w>>2]|0)==101&(k[v>>2]|0)!=0&(k[q>>2]|0)!=0)k[w>>2]=1;if((k[w>>2]|0)==101)k[w>>2]=0;k[k[p>>2]>>2]=(k[n>>2]|0)-(k[s>>2]|0)}if(!(k[w>>2]|0)){v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}qp(k[v>>2]|0);qp(k[u>>2]|0);k[v>>2]=0;v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}function Ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+80|0;o=E+72|0;p=E+68|0;q=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;n=E+32|0;B=E+28|0;y=E+24|0;m=E+20|0;j=E+16|0;h=E+12|0;f=E+76|0;g=E+8|0;C=E+4|0;z=E;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[n>>2]=0;k[B>>2]=k[q>>2];k[y>>2]=k[s>>2];k[(k[p>>2]|0)+24>>2]=0;while(1){if((k[y>>2]|0)>0)a=(Mp(i[k[B>>2]>>0]|0)|0)!=0;else a=0;c=k[y>>2]|0;if(!a)break;k[y>>2]=c+-1;k[B>>2]=(k[B>>2]|0)+1}if(!c){k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[x>>2]=0;while(1){if((k[x>>2]|0)>=4)break;k[m>>2]=2112+(k[x>>2]<<3);if(((l[(k[m>>2]|0)+5>>0]&-2|0)==0?(k[y>>2]|0)>=(l[(k[m>>2]|0)+4>>0]|0):0)?0==(oR(k[B>>2]|0,k[k[m>>2]>>2]|0,l[(k[m>>2]|0)+4>>0]|0)|0):0){k[j>>2]=10;k[h>>2]=l[(k[m>>2]|0)+4>>0];a:do if((((l[(k[m>>2]|0)+6>>0]|0)==1?(i[(k[B>>2]|0)+4>>0]|0)==47:0)?(i[(k[B>>2]|0)+5>>0]|0)>=48:0)?(i[(k[B>>2]|0)+5>>0]|0)<=57:0){k[j>>2]=0;k[h>>2]=5;while(1){if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)<48)break a;if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)>57)break a;k[j>>2]=((k[j>>2]|0)*10|0)+((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)-48);k[h>>2]=(k[h>>2]|0)+1}}while(0);i[f>>0]=i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0;if(Mp(i[f>>0]|0)|0){D=26;break}if((i[f>>0]|0)==34){D=26;break}if((i[f>>0]|0)==40){D=26;break}if((i[f>>0]|0)==41){D=26;break}if(!(i[f>>0]|0)){D=26;break}}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==26){D=Jp(48)|0;k[n>>2]=D;if(k[n>>2]|0){k[k[n>>2]>>2]=l[(k[m>>2]|0)+6>>0];k[(k[n>>2]|0)+4>>2]=k[j>>2];k[k[t>>2]>>2]=k[n>>2];k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[h>>2]|0);k[o>>2]=0;D=k[o>>2]|0;r=E;return D|0}else{k[o>>2]=7;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==34){k[x>>2]=1;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break;if((i[(k[B>>2]|0)+(k[x>>2]|0)>>0]|0)==34)break;k[x>>2]=(k[x>>2]|0)+1}k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[x>>2]|0)+1;if((k[x>>2]|0)==(k[y>>2]|0)){k[o>>2]=1;D=k[o>>2]|0;r=E;return D|0}else{D=Np(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[x>>2]|0)-1|0,k[t>>2]|0)|0;k[o>>2]=D;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==40){k[g>>2]=0;D=(k[p>>2]|0)+32|0;k[D>>2]=(k[D>>2]|0)+1;D=Hp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[y>>2]|0)-1|0,k[t>>2]|0,g)|0;k[A>>2]=D;if((k[A>>2]|0)==0?(k[k[t>>2]>>2]|0)==0:0)k[A>>2]=101;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1+(k[g>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}c=k[p>>2]|0;if((i[k[B>>2]>>0]|0)==41){D=c+32|0;k[D>>2]=(k[D>>2]|0)+-1;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1;k[k[t>>2]>>2]=0;k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[v>>2]=k[c+20>>2];k[w>>2]=0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[p>>2]|0)+16>>2]|0))break;k[C>>2]=k[(k[(k[p>>2]|0)+8>>2]|0)+(k[x>>2]<<2)>>2];n=uR(k[C>>2]|0)|0;k[z>>2]=n;if(((k[y>>2]|0)>(k[z>>2]|0)?(i[(k[B>>2]|0)+(k[z>>2]|0)>>0]|0)==58:0)?(Jd(k[C>>2]|0,k[B>>2]|0,k[z>>2]|0)|0)==0:0){D=50;break}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==50){k[v>>2]=k[x>>2];k[w>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[z>>2]|0)+1}D=Op(k[p>>2]|0,k[v>>2]|0,(k[q>>2]|0)+(k[w>>2]|0)|0,(k[s>>2]|0)-(k[w>>2]|0)|0,k[t>>2]|0,k[u>>2]|0)|0;k[A>>2]=D;D=k[u>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[w>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}function Jp(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}dS(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function Kp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;k[f>>2]=k[h>>2];while(1){if(k[(k[f>>2]|0)+8>>2]|0){c=Lp(k[(k[f>>2]|0)+8>>2]|0)|0;c=(c|0)<=(Lp(k[e>>2]|0)|0)}else c=0;b=k[(k[f>>2]|0)+8>>2]|0;if(!c)break;k[f>>2]=b}c=k[e>>2]|0;if(b){k[(k[(k[f>>2]|0)+8>>2]|0)+16>>2]=c;k[(k[e>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}else{k[k[d>>2]>>2]=c;d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}}function Lp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Mp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(((((i[b>>0]|0)!=32?(i[b>>0]|0)!=9:0)?(i[b>>0]|0)!=10:0)?(i[b>>0]|0)!=13:0)?(i[b>>0]|0)!=11:0)b=(i[b>>0]|0)==12;else b=1;r=c;return b&1|0}function Np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;e=D+88|0;f=D+84|0;g=D+80|0;h=D+76|0;j=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;o=D+32|0;A=D+28|0;q=D+24|0;l=D+20|0;m=D+16|0;n=D+12|0;x=D+8|0;p=D+4|0;z=D;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[E>>2]=k[k[f>>2]>>2];k[w>>2]=k[k[E>>2]>>2];k[u>>2]=0;k[v>>2]=0;k[B>>2]=0;k[s>>2]=0;k[D+40>>2]=144;k[t>>2]=0;b=Mn(k[E>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[g>>2]|0,k[h>>2]|0,v)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){k[o>>2]=0;while(1){if(k[y>>2]|0)break;k[q>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;E=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,q,l,m,n)|0;k[y>>2]=E;if(!(k[y>>2]|0)){E=Pp(k[u>>2]|0,144+((k[o>>2]|0)*24|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break a;E=Pp(k[B>>2]|0,(k[s>>2]|0)+(k[q>>2]|0)|0)|0;k[B>>2]=E;if(!(k[B>>2]|0))break a;k[x>>2]=(k[u>>2]|0)+48+72+((k[o>>2]|0)*24|0);E=k[x>>2]|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;bS((k[B>>2]|0)+(k[s>>2]|0)|0,k[A>>2]|0,k[q>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[q>>2]|0);k[(k[x>>2]|0)+4>>2]=k[q>>2];if((k[m>>2]|0)<(k[h>>2]|0))c=(i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0)==42;else c=0;k[(k[x>>2]|0)+8>>2]=c&1;if((k[l>>2]|0)>0)c=(i[(k[g>>2]|0)+((k[l>>2]|0)-1)>>0]|0)==94;else c=0;k[(k[x>>2]|0)+12>>2]=c&1;k[t>>2]=(k[o>>2]|0)+1}k[o>>2]=(k[o>>2]|0)+1}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;k[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((k[y>>2]|0)==101){k[z>>2]=0;E=Pp(k[u>>2]|0,144+((k[t>>2]|0)*24|0)+(k[s>>2]|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break;dS(k[u>>2]|0,0,(k[u>>2]|0)+48+72-(k[u>>2]|0)|0)|0;k[k[u>>2]>>2]=5;k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+48;k[(k[(k[u>>2]|0)+20>>2]|0)+68>>2]=k[(k[f>>2]|0)+20>>2];k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]=k[t>>2];k[z>>2]=(k[(k[u>>2]|0)+20>>2]|0)+72+((k[t>>2]|0)*24|0);if(k[B>>2]|0){bS(k[z>>2]|0,k[B>>2]|0,k[s>>2]|0)|0;Ud(k[B>>2]|0)}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]|0))break;k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)>>2]=k[z>>2];k[z>>2]=(k[z>>2]|0)+(k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)+4>>2]|0);k[p>>2]=(k[p>>2]|0)+1}k[y>>2]=0}k[k[j>>2]>>2]=k[u>>2];k[e>>2]=k[y>>2];E=k[e>>2]|0;r=D;return E|0}while(0);if(k[v>>2]|0)bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;Ud(k[B>>2]|0);Ud(k[u>>2]|0);k[k[j>>2]>>2]=0;k[e>>2]=7;E=k[e>>2]|0;r=D;return E|0}function Op(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;g=B+68|0;h=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;o=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;p=B+8|0;q=B+4|0;t=B;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[y>>2]=k[k[g>>2]>>2];k[w>>2]=k[k[y>>2]>>2];k[x>>2]=0;k[o>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[l>>2]|0))break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==40)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==41)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==34)break;k[o>>2]=(k[o>>2]|0)+1}k[k[n>>2]>>2]=k[o>>2];c=Mn(k[y>>2]|0,k[(k[g>>2]|0)+4>>2]|0,k[j>>2]|0,k[o>>2]|0,v)|0;k[z>>2]=c;if(k[z>>2]|0){c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}k[u>>2]=0;k[s>>2]=0;k[p>>2]=0;k[q>>2]=0;c=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,u,s,p,q)|0;k[z>>2]=c;if(k[z>>2]|0){if((k[o>>2]|0)!=0&(k[z>>2]|0)==101)k[z>>2]=0}else{k[t>>2]=144+(k[u>>2]|0);c=Jp(k[t>>2]|0)|0;k[x>>2]=c;a:do if(k[x>>2]|0){k[k[x>>2]>>2]=5;k[(k[x>>2]|0)+20>>2]=(k[x>>2]|0)+48;k[(k[(k[x>>2]|0)+20>>2]|0)+64>>2]=1;k[(k[(k[x>>2]|0)+20>>2]|0)+68>>2]=k[h>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72+4>>2]=k[u>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]=(k[(k[x>>2]|0)+20>>2]|0)+96;bS(k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]|0,k[A>>2]|0,k[u>>2]|0)|0;if((k[p>>2]|0)<(k[l>>2]|0)?(i[(k[j>>2]|0)+(k[p>>2]|0)>>0]|0)==42:0){k[(k[(k[x>>2]|0)+20>>2]|0)+72+8>>2]=1;k[p>>2]=(k[p>>2]|0)+1}while(1){if(!((k[s>>2]|0)>0?(k[(k[g>>2]|0)+12>>2]|0)!=0:0))break a;if((i[(k[j>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=94)break a;k[(k[(k[x>>2]|0)+20>>2]|0)+72+12>>2]=1;k[s>>2]=(k[s>>2]|0)+-1}}else k[z>>2]=7;while(0);k[k[n>>2]>>2]=k[p>>2]}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}function Pp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Vd(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){f=k[d>>2]|0;r=e;return f|0}Ud(k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}function Qp(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Rp(k[(k[c>>2]|0)+20>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[c>>2]|0);r=b;return}function Rp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}Ud(k[k[c>>2]>>2]|0);dn(k[c>>2]|0);a=k[c>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0))break;yn(k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]|0);k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]=0;k[d>>2]=(k[d>>2]|0)+1}r=e;return}function Sp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+8>>2];ul(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+24>>2]=0;r=e;return}function Tp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((vf()|0)<3008002){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+48|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function Up(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((vf()|0)<3008012){r=c;return}a=(k[b>>2]|0)+56|0;k[a>>2]=k[a>>2]|1;r=c;return}function Vp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=r;r=r+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;p=ha+16|0;q=ha+8|0;o=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;h=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;m=ha+148|0;t=ha+144|0;j=ha+80|0;l=ha+76|0;n=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;k[v>>2]=a;k[w>>2]=b;k[ia>>2]=c;k[h>>2]=d;k[x>>2]=e;k[da>>2]=f;k[y>>2]=g;k[S>>2]=k[ia>>2];k[ea>>2]=0;k[ga>>2]=0;k[R>>2]=0;k[M>>2]=0;k[G>>2]=(i[(k[k[x>>2]>>2]|0)+3>>0]|0)==52&1;k[fa>>2]=0;k[O>>2]=0;k[A>>2]=0;k[D>>2]=0;k[C>>2]=0;k[ba>>2]=0;k[X>>2]=0;k[ca>>2]=0;k[Y>>2]=0;k[_>>2]=0;k[B>>2]=0;k[Q>>2]=0;g=(uR(k[(k[x>>2]|0)+4>>2]|0)|0)+1|0;k[N>>2]=g;g=(uR(k[(k[x>>2]|0)+8>>2]|0)|0)+1|0;k[P>>2]=g;k[L>>2]=(k[h>>2]|0)-2<<2;g=Sd(k[L>>2]|0)|0;k[z>>2]=g;if(k[z>>2]|0){dS(k[z>>2]|0,0,k[L>>2]|0)|0;ia=Sd(k[L>>2]|0)|0;k[B>>2]=ia}if(k[B>>2]|0)dS(k[B>>2]|0,0,k[L>>2]|0)|0;do if((k[z>>2]|0)!=0&(k[B>>2]|0)!=0){k[E>>2]=3;while(1){if(k[ga>>2]|0)break;if((k[E>>2]|0)>=(k[h>>2]|0))break;k[s>>2]=k[(k[x>>2]|0)+(k[E>>2]<<2)>>2];if((((k[fa>>2]|0)==0?(uR(k[s>>2]|0)|0)>>>0>8:0)?0==(Jd(k[s>>2]|0,24006,8)|0):0)?0==(Wp(i[(k[s>>2]|0)+8>>0]|0)|0):0){ia=Xp(k[S>>2]|0,(k[s>>2]|0)+9|0,fa,k[y>>2]|0)|0;k[ga>>2]=ia}else u=15;do if((u|0)==15){u=0;if((k[G>>2]|0)!=0?(Yp(k[s>>2]|0,m,t)|0)!=0:0){d=j;e=2144;b=d+64|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));if(!(k[t>>2]|0)){k[ga>>2]=7;break}k[l>>2]=0;while(1){if((k[l>>2]|0)>=8)break;k[n>>2]=j+(k[l>>2]<<3);if((k[m>>2]|0)==(k[(k[n>>2]|0)+4>>2]|0)?(Jd(k[s>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)==0:0)break;k[l>>2]=(k[l>>2]|0)+1}a:do if((k[l>>2]|0)==8){ia=k[y>>2]|0;k[o>>2]=k[s>>2];Pk(ia,24015,o);k[ga>>2]=1}else switch(k[l>>2]|0){case 0:{if(!((uR(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,20521,4)|0)==0:0)){ia=k[y>>2]|0;k[q>>2]=k[t>>2];Pk(ia,24042,q);k[ga>>2]=1}k[D>>2]=1;break a}case 1:{Ud(k[ba>>2]|0);k[ba>>2]=k[t>>2];k[t>>2]=0;break a}case 2:{Ud(k[X>>2]|0);k[X>>2]=k[t>>2];k[t>>2]=0;break a}case 3:{Ud(k[ca>>2]|0);k[ca>>2]=k[t>>2];k[t>>2]=0;break a}case 4:{if(!((uR(k[t>>2]|0)|0)==3?(Jd(k[t>>2]|0,24069,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((uR(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,24073,4)|0)==0:0)break;ia=k[y>>2]|0;k[p>>2]=k[t>>2];Pk(ia,24078,p);k[ga>>2]=1}while(0);if((i[k[t>>2]>>0]|0)==100)d=1;else d=(i[k[t>>2]>>0]|0)==68;k[C>>2]=d&1;break a}case 5:{Ud(k[Y>>2]|0);k[Y>>2]=k[t>>2];k[t>>2]=0;break a}case 6:{Ud(k[_>>2]|0);k[_>>2]=k[t>>2];k[t>>2]=0;break a}case 7:{g=k[t>>2]|0;ia=k[Q>>2]|0;k[Q>>2]=ia+1;k[(k[B>>2]|0)+(ia<<2)>>2]=g;k[t>>2]=0;break a}default:break a}while(0);Ud(k[t>>2]|0);break}g=(uR(k[s>>2]|0)|0)+1|0;k[R>>2]=(k[R>>2]|0)+g;g=k[s>>2]|0;ia=k[M>>2]|0;k[M>>2]=ia+1;k[(k[z>>2]|0)+(ia<<2)>>2]=g}while(0);k[E>>2]=(k[E>>2]|0)+1}b:do if(((k[ga>>2]|0)==0&(k[Y>>2]|0)!=0?(Ud(k[X>>2]|0),Ud(k[ca>>2]|0),k[X>>2]=0,k[ca>>2]=0,(k[M>>2]|0)==0):0)?(Ud(k[z>>2]|0),k[z>>2]=0,ia=Zp(k[w>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[Y>>2]|0,z,M,R,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)==0&(k[_>>2]|0)!=0):0){k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[M>>2]|0))break b;ia=(be(k[_>>2]|0,k[(k[z>>2]|0)+(k[H>>2]<<2)>>2]|0)|0)==0;d=k[H>>2]|0;if(ia)break;k[H>>2]=d+1}k[I>>2]=d;while(1){if((k[I>>2]|0)>=(k[M>>2]|0))break;k[(k[z>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[z>>2]|0)+((k[I>>2]|0)+1<<2)>>2];k[I>>2]=(k[I>>2]|0)+1}k[M>>2]=(k[M>>2]|0)+-1}while(0);if(!(k[ga>>2]|0)){if(!(k[M>>2]|0)){k[k[z>>2]>>2]=24101;k[R>>2]=8;k[M>>2]=1}if((k[fa>>2]|0)==0?(ia=Xp(k[S>>2]|0,20447,fa,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)!=0):0)break;ia=_p(k[ba>>2]|0,O,A)|0;k[ga>>2]=ia;if((k[ga>>2]|0)==1){ia=k[y>>2]|0;k[T>>2]=k[ba>>2];Pk(ia,24109,T)}if(!(k[ga>>2]|0)){k[L>>2]=280+(k[M>>2]<<2)+((k[O>>2]|0)*24|0)+(k[M>>2]|0)+(k[P>>2]|0)+(k[N>>2]|0)+(k[R>>2]|0);ia=Sd(k[L>>2]|0)|0;k[ea>>2]=ia;if(!(k[ea>>2]|0)){k[ga>>2]=7;break}dS(k[ea>>2]|0,0,k[L>>2]|0)|0;k[(k[ea>>2]|0)+12>>2]=k[w>>2];k[(k[ea>>2]|0)+24>>2]=k[M>>2];k[(k[ea>>2]|0)+260>>2]=0;k[(k[ea>>2]|0)+28>>2]=(k[ea>>2]|0)+280;k[(k[ea>>2]|0)+36>>2]=k[fa>>2];k[(k[ea>>2]|0)+256>>2]=1048576;i[(k[ea>>2]|0)+230>>0]=((k[G>>2]|0)!=0?(k[D>>2]|0)==0:0)&1;i[(k[ea>>2]|0)+229>>0]=k[G>>2];i[(k[ea>>2]|0)+228>>0]=k[G>>2];i[(k[ea>>2]|0)+231>>0]=k[C>>2];k[(k[ea>>2]|0)+48>>2]=255;k[(k[ea>>2]|0)+40>>2]=k[Y>>2];k[(k[ea>>2]|0)+44>>2]=k[_>>2];k[Y>>2]=0;k[_>>2]=0;k[(k[ea>>2]|0)+252>>2]=(k[(k[ea>>2]|0)+28>>2]|0)+(k[M>>2]<<2);bS(k[(k[ea>>2]|0)+252>>2]|0,k[A>>2]|0,(k[O>>2]|0)*24|0)|0;k[(k[ea>>2]|0)+248>>2]=k[O>>2];k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[O>>2]|0))break;uk((k[(k[ea>>2]|0)+252>>2]|0)+((k[E>>2]|0)*24|0)+4|0,1,1);k[E>>2]=(k[E>>2]|0)+1}k[(k[ea>>2]|0)+32>>2]=(k[(k[ea>>2]|0)+252>>2]|0)+((k[O>>2]|0)*24|0);k[Z>>2]=(k[(k[ea>>2]|0)+32>>2]|0)+(k[M>>2]|0);k[(k[ea>>2]|0)+20>>2]=k[Z>>2];bS(k[Z>>2]|0,k[(k[x>>2]|0)+8>>2]|0,k[P>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[P>>2]|0);k[(k[ea>>2]|0)+16>>2]=k[Z>>2];bS(k[Z>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[N>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[N>>2]|0);k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;k[J>>2]=0;ia=$p(k[(k[z>>2]|0)+(k[F>>2]<<2)>>2]|0,J)|0;k[W>>2]=ia;bS(k[Z>>2]|0,k[W>>2]|0,k[J>>2]|0)|0;i[(k[Z>>2]|0)+(k[J>>2]|0)>>0]=0;Yk(k[Z>>2]|0);k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]=k[Z>>2];k[Z>>2]=(k[Z>>2]|0)+((k[J>>2]|0)+1);k[F>>2]=(k[F>>2]|0)+1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;ia=uR(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0)|0;k[K>>2]=ia;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;k[aa>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];if(((k[aa>>2]|0)!=0?(ia=k[K>>2]|0,(ia|0)==(uR(k[aa>>2]|0)|0)):0)?0==(Jd(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0,k[aa>>2]|0,k[K>>2]|0)|0):0){i[(k[(k[ea>>2]|0)+32>>2]|0)+(k[F>>2]|0)>>0]=1;Ud(k[aa>>2]|0);k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]=0}k[E>>2]=(k[E>>2]|0)+1}k[F>>2]=(k[F>>2]|0)+1}k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;if(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0){ia=k[y>>2]|0;k[U>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];Pk(ia,24144,U);k[ga>>2]=1}k[E>>2]=(k[E>>2]|0)+1}if((k[ga>>2]|0)==0?((k[X>>2]|0)==0|0)!=((k[ca>>2]|0)==0|0):0){k[$>>2]=(k[X>>2]|0)==0?24163:24172;k[ga>>2]=1;ia=k[y>>2]|0;k[V>>2]=k[$>>2];Pk(ia,24183,V)}ia=aq(k[ea>>2]|0,k[ca>>2]|0,ga)|0;k[(k[ea>>2]|0)+216>>2]=ia;ia=bq(k[ea>>2]|0,k[X>>2]|0,ga)|0;k[(k[ea>>2]|0)+220>>2]=ia;if(!(k[ga>>2]|0)){if(k[v>>2]|0){ia=cq(k[ea>>2]|0)|0;k[ga>>2]=ia}if(!((k[G>>2]|0)!=0|(k[v>>2]|0)!=0))i[(k[ea>>2]|0)+229>>0]=2;dq(ga,k[ea>>2]|0);k[(k[ea>>2]|0)+224>>2]=(k[(k[ea>>2]|0)+236>>2]|0)-35;eq(ga,k[ea>>2]|0)}}}}else k[ga>>2]=7;while(0);Ud(k[ba>>2]|0);Ud(k[A>>2]|0);Ud(k[X>>2]|0);Ud(k[ca>>2]|0);Ud(k[Y>>2]|0);Ud(k[_>>2]|0);k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;Ud(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0);k[E>>2]=(k[E>>2]|0)+1}Ud(k[z>>2]|0);Ud(k[B>>2]|0);d=k[ea>>2]|0;if(!(k[ga>>2]|0)){k[k[da>>2]>>2]=d;ia=k[ga>>2]|0;r=ha;return ia|0}if(d){al(k[ea>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}if(!(k[fa>>2]|0)){ia=k[ga>>2]|0;r=ha;return ia|0}bc[k[(k[k[fa>>2]>>2]|0)+8>>2]&255](k[fa>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}function Wp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(i[b>>0]&128){a=1;a=a&1;r=c;return a|0}a=(i[24865+(i[b>>0]|0)>>0]|0)!=0;a=a&1;r=c;return a|0}function Xp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;t=y+16|0;s=y+8|0;z=y;e=y+76|0;f=y+72|0;A=y+68|0;g=y+64|0;h=y+60|0;q=y+56|0;u=y+52|0;o=y+48|0;v=y+44|0;w=y+40|0;n=y+36|0;j=y+32|0;m=y+28|0;p=y+24|0;l=y+20|0;k[f>>2]=a;k[A>>2]=b;k[g>>2]=c;k[h>>2]=d;k[u>>2]=k[A>>2];k[o>>2]=0;k[z>>2]=k[A>>2];b=Yd(18391,z)|0;k[v>>2]=b;if(!(k[v>>2]|0)){k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=uR(k[v>>2]|0)|0;k[w>>2]=(k[v>>2]|0)+A;A=$p(k[v>>2]|0,o)|0;k[u>>2]=A;if(!(k[u>>2]|0))k[u>>2]=k[v>>2];i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Yk(k[u>>2]|0);z=k[f>>2]|0;A=k[u>>2]|0;A=Ok(z,A,(uR(k[u>>2]|0)|0)+1|0)|0;k[n>>2]=A;if(k[n>>2]|0){k[j>>2]=0;k[m>>2]=0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1);while(1){if((k[u>>2]|0)>>>0>=(k[w>>2]|0)>>>0)break;A=$p(k[u>>2]|0,o)|0;k[u>>2]=A;if(!A)break;k[p>>2]=(k[m>>2]|0)+1<<2;A=Vd(k[j>>2]|0,k[p>>2]|0)|0;k[l>>2]=A;if(!(k[l>>2]|0)){x=11;break}k[j>>2]=k[l>>2];z=k[u>>2]|0;A=k[m>>2]|0;k[m>>2]=A+1;k[(k[j>>2]|0)+(A<<2)>>2]=z;i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Yk(k[u>>2]|0);k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1)}if((x|0)==11){Ud(k[v>>2]|0);Ud(k[j>>2]|0);k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=Yb[k[(k[n>>2]|0)+4>>2]&255](k[m>>2]|0,k[j>>2]|0,k[g>>2]|0)|0;k[q>>2]=A;if(k[q>>2]|0)Pk(k[h>>2]|0,24847,t);else k[k[k[g>>2]>>2]>>2]=k[n>>2];Ud(k[j>>2]|0)}else{A=k[h>>2]|0;k[s>>2]=k[u>>2];Pk(A,20595,s);k[q>>2]=1}Ud(k[v>>2]|0);k[e>>2]=k[q>>2];A=k[e>>2]|0;r=y;return A|0}function Yp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;h=n;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;l=n+8|0;j=n+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=k[e>>2];while(1){b=k[j>>2]|0;if((i[k[j>>2]>>0]|0)==61)break;if(!(i[b>>0]|0)){m=4;break}k[j>>2]=(k[j>>2]|0)+1}if((m|0)==4){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[k[f>>2]>>2]=b-(k[e>>2]|0);k[h>>2]=(k[j>>2]|0)+1;m=Yd(18391,h)|0;k[l>>2]=m;if(k[l>>2]|0)Yk(k[l>>2]|0);k[k[g>>2]>>2]=k[l>>2];k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}function Zp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+96|0;w=A+8|0;B=A;h=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;l=A+60|0;m=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;n=A+40|0;s=A+36|0;q=A+32|0;o=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;p=A+12|0;k[h>>2]=a;k[C>>2]=b;k[D>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[v>>2]=0;k[u>>2]=0;c=k[D>>2]|0;k[B>>2]=k[C>>2];k[B+4>>2]=c;c=Yd(24792,B)|0;k[z>>2]=c;if(k[z>>2]|0){D=nf(k[h>>2]|0,k[z>>2]|0,-1,u,0)|0;k[v>>2]=D;if(k[v>>2]|0){D=k[m>>2]|0;C=mf(k[h>>2]|0)|0;k[w>>2]=C;Pk(D,18391,w)}}else k[v>>2]=7;Ud(k[z>>2]|0);if(k[v>>2]|0){D=k[v>>2]|0;r=A;return D|0}k[s>>2]=0;D=He(k[u>>2]|0)|0;k[q>>2]=D;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;D=Re(k[u>>2]|0,k[o>>2]|0)|0;k[x>>2]=D;D=(uR(k[x>>2]|0)|0)+1|0;k[s>>2]=(k[s>>2]|0)+D;k[o>>2]=(k[o>>2]|0)+1}D=Sd((k[q>>2]<<2)+(k[s>>2]|0)|0)|0;k[n>>2]=D;a:do if(!(k[n>>2]|0))k[v>>2]=7;else{k[t>>2]=(k[n>>2]|0)+(k[q>>2]<<2);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;D=Re(k[u>>2]|0,k[o>>2]|0)|0;k[y>>2]=D;D=(uR(k[y>>2]|0)|0)+1|0;k[p>>2]=D;bS(k[t>>2]|0,k[y>>2]|0,k[p>>2]|0)|0;k[(k[n>>2]|0)+(k[o>>2]<<2)>>2]=k[t>>2];k[t>>2]=(k[t>>2]|0)+(k[p>>2]|0);k[o>>2]=(k[o>>2]|0)+1}}while(0);fe(k[u>>2]|0)|0;k[k[j>>2]>>2]=k[q>>2];k[k[l>>2]>>2]=k[s>>2];k[k[i>>2]>>2]=k[n>>2];D=k[v>>2]|0;r=A;return D|0}function _p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;n=p+12|0;o=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=1;a:do if((k[e>>2]|0)!=0?(i[k[e>>2]>>0]|0)!=0:0){k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=k[e>>2];while(1){if(!(i[k[n>>2]>>0]|0))break a;if((i[k[n>>2]>>0]|0)==44)k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}}while(0);a=Sd((k[l>>2]|0)*24|0)|0;k[h>>2]=a;k[k[g>>2]>>2]=k[h>>2];if(!(k[h>>2]|0)){k[d>>2]=7;a=k[d>>2]|0;r=p;return a|0}dS(k[h>>2]|0,0,(k[l>>2]|0)*24|0)|0;b:do if(k[e>>2]|0){k[o>>2]=k[e>>2];k[j>>2]=1;while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break b;k[m>>2]=0;if(hq(o,m)|0)break;if(!(k[m>>2]|0)){k[l>>2]=(k[l>>2]|0)+-1;k[j>>2]=(k[j>>2]|0)+-1}else k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)>>2]=k[m>>2];k[o>>2]=(k[o>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}k[d>>2]=1;a=k[d>>2]|0;r=p;return a|0}while(0);k[k[f>>2]>>2]=k[l>>2];k[d>>2]=0;a=k[d>>2]|0;r=p;return a|0} +function aF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+256|0;f=oa+228|0;g=oa+224|0;h=oa+220|0;d=oa+216|0;ha=oa+212|0;V=oa+208|0;P=oa+204|0;la=oa+40|0;ia=oa+32|0;t=oa+24|0;fa=oa+200|0;H=oa+196|0;J=oa+192|0;K=oa+188|0;ba=oa+184|0;p=oa+180|0;s=oa+240|0;e=oa+16|0;z=oa+176|0;y=oa+172|0;Q=oa+168|0;ca=oa+164|0;M=oa+236|0;W=oa+160|0;O=oa+156|0;q=oa+234|0;A=oa+152|0;U=oa+148|0;u=oa+144|0;Y=oa+140|0;B=oa+136|0;S=oa+132|0;ga=oa+128|0;Z=oa+124|0;_=oa+120|0;D=oa+116|0;F=oa+112|0;na=oa+108|0;ma=oa+232|0;x=oa+104|0;n=oa+239|0;o=oa+238|0;N=oa+100|0;G=oa+96|0;ea=oa+92|0;T=oa+88|0;aa=oa+84|0;ja=oa+8|0;ka=oa;$=oa+80|0;I=oa+76|0;v=oa+72|0;C=oa+68|0;X=oa+64|0;R=oa+60|0;da=oa+56|0;w=oa+52|0;E=oa+48|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[k[g>>2]>>2];b=t;k[b>>2]=0;k[b+4>>2]=0;k[fa>>2]=0;k[H>>2]=0;k[J>>2]=0;k[ba>>2]=k[k[d>>2]>>2];k[p>>2]=k[k[ba>>2]>>2];if(i[(k[p>>2]|0)+69>>0]|0){r=oa;return}k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);k[V>>2]=(k[d>>2]|0)+488;k[P>>2]=k[k[ha>>2]>>2];b=vE(k[V>>2]|0,k[(k[P>>2]|0)+12>>2]|0)|0;d=la;k[d>>2]=b;k[d+4>>2]=L;k[K>>2]=l[k[P>>2]>>0];do if((k[K>>2]|0)==33){if(vB(k[ba>>2]|0,k[P>>2]|0)|0){r=oa;return}c=k[V>>2]|0;a=(k[P>>2]|0)+20|0;if(k[(k[P>>2]|0)+4>>2]&2048){b=wE(c,k[a>>2]|0)|0;d=(k[ha>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}else{b=UD(c,k[a>>2]|0)|0;d=(k[ha>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}}else if((k[K>>2]|0)==34){d=(k[ha>>2]|0)+32|0;k[d>>2]=0;k[d+4>>2]=0;break}else{b=vE(k[V>>2]|0,k[(k[P>>2]|0)+16>>2]|0)|0;d=(k[ha>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}while(0);b=vE(k[V>>2]|0,k[P>>2]|0)|0;d=ia;k[d>>2]=b;k[d+4>>2]=L;if(k[(k[P>>2]|0)+4>>2]&1){c=YD(k[V>>2]|0,j[(k[P>>2]|0)+36>>1]|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L;a=e;c=ia;b=k[c+4>>2]|k[a+4>>2];d=ia;k[d>>2]=k[c>>2]|k[a>>2];k[d+4>>2]=b;d=e;d=_R(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=t;k[e>>2]=d;k[e+4>>2]=L}d=ia;c=k[d+4>>2]|0;e=(k[ha>>2]|0)+40|0;k[e>>2]=k[d>>2];k[e+4>>2]=c;k[(k[ha>>2]|0)+20>>2]=-1;k[(k[ha>>2]|0)+16>>2]=-1;j[(k[ha>>2]|0)+12>>1]=0;e=(bF(k[K>>2]|0)|0)!=0;c=k[P>>2]|0;a:do if(e){U=uy(k[c+12>>2]|0)|0;k[Q>>2]=U;U=uy(k[(k[P>>2]|0)+16>>2]|0)|0;k[ca>>2]=U;U=(k[ha>>2]|0)+32|0;Y=la;j[M>>1]=((k[U>>2]&k[Y>>2]|0)==0?(k[U+4>>2]&k[Y+4>>2]|0)==0:0)?8191:2048;if((k[(k[ha>>2]|0)+24>>2]|0)>0)k[Q>>2]=k[(k[(k[(k[Q>>2]|0)+20>>2]|0)+4>>2]|0)+(((k[(k[ha>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];Y=la;if(cF(k[f>>2]|0,k[K>>2]|0,k[Y>>2]|0,k[Y+4>>2]|0,k[Q>>2]|0,z,y)|0){k[(k[ha>>2]|0)+20>>2]=k[z>>2];k[(k[ha>>2]|0)+28>>2]=k[y>>2];Y=(dF(k[K>>2]|0)|0)&65535;j[(k[ha>>2]|0)+12>>1]=Y&m[M>>1]}if((k[K>>2]|0)==29){Y=(k[ha>>2]|0)+10|0;j[Y>>1]=m[Y>>1]|2048}if((k[ca>>2]|0)!=0?(Y=(k[ha>>2]|0)+32|0,(cF(k[f>>2]|0,k[K>>2]|0,k[Y>>2]|0,k[Y+4>>2]|0,k[ca>>2]|0,z,y)|0)!=0):0){j[q>>1]=0;if((k[(k[ha>>2]|0)+20>>2]|0)>=0){ca=Sy(k[p>>2]|0,k[P>>2]|0,0)|0;k[O>>2]=ca;if(i[(k[p>>2]|0)+69>>0]|0){sv(k[p>>2]|0,k[O>>2]|0);r=oa;return}ca=eF(k[g>>2]|0,k[O>>2]|0,3)|0;k[A>>2]=ca;if(!(k[A>>2]|0)){r=oa;return}k[W>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[A>>2]|0)*48|0);fF(k[g>>2]|0,k[A>>2]|0,k[h>>2]|0);if((k[K>>2]|0)==29){ca=(k[W>>2]|0)+10|0;j[ca>>1]=m[ca>>1]|2048}k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);ca=(k[ha>>2]|0)+10|0;j[ca>>1]=m[ca>>1]|8;if(gF(k[ba>>2]|0,k[O>>2]|0)|0){ca=(k[ha>>2]|0)+12|0;j[ca>>1]=m[ca>>1]|2048;j[q>>1]=2048}}else{k[O>>2]=k[P>>2];k[W>>2]=k[ha>>2]}hF(k[ba>>2]|0,k[O>>2]|0);k[(k[W>>2]|0)+20>>2]=k[z>>2];k[(k[W>>2]|0)+28>>2]=k[y>>2];U=la;Y=t;la=k[U+4>>2]|k[Y+4>>2];ca=(k[W>>2]|0)+32|0;k[ca>>2]=k[U>>2]|k[Y>>2];k[ca+4>>2]=la;ca=ia;ia=k[ca+4>>2]|0;la=(k[W>>2]|0)+40|0;k[la>>2]=k[ca>>2];k[la+4>>2]=ia;la=(dF(l[k[O>>2]>>0]|0)|0)&65535;j[(k[W>>2]|0)+12>>1]=la+(m[q>>1]|0)&m[M>>1]}}else{if((l[c>>0]|0)==32?(l[(k[g>>2]|0)+8>>0]|0)==28:0){k[U>>2]=k[(k[P>>2]|0)+20>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break a;ca=k[ba>>2]|0;ia=l[34832+(k[u>>2]|0)>>0]|0;la=Sy(k[p>>2]|0,k[(k[P>>2]|0)+12>>2]|0,0)|0;la=Ov(ca,ia,la,Sy(k[p>>2]|0,k[(k[(k[U>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[Y>>2]=la;iF(k[Y>>2]|0,k[P>>2]|0);la=eF(k[g>>2]|0,k[Y>>2]|0,3)|0;k[B>>2]=la;aF(k[f>>2]|0,k[g>>2]|0,k[B>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);fF(k[g>>2]|0,k[B>>2]|0,k[h>>2]|0);k[u>>2]=(k[u>>2]|0)+1}}if((l[k[P>>2]>>0]|0)==27){jF(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0)}}while(0);if((l[(k[g>>2]|0)+8>>0]|0)==28?(kF(k[ba>>2]|0,k[P>>2]|0,fa,H,J)|0)!=0:0){j[ma>>1]=259;k[S>>2]=k[(k[(k[(k[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];ma=Sy(k[p>>2]|0,k[fa>>2]|0,0)|0;k[ga>>2]=ma;b:do if((k[J>>2]|0)!=0?(i[(k[k[ba>>2]>>2]|0)+69>>0]|0)==0:0){ma=(k[ha>>2]|0)+10|0;j[ma>>1]=m[ma>>1]|1024;k[x>>2]=0;while(1){ma=i[(k[(k[fa>>2]|0)+8>>2]|0)+(k[x>>2]|0)>>0]|0;i[n>>0]=ma;if(!(ma<<24>>24))break b;i[(k[(k[fa>>2]|0)+8>>2]|0)+(k[x>>2]|0)>>0]=i[n>>0]&~(l[18403+(l[n>>0]|0)>>0]&32);i[(k[(k[ga>>2]|0)+8>>2]|0)+(k[x>>2]|0)>>0]=i[17613+(l[n>>0]|0)>>0]|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);if(!(i[(k[p>>2]|0)+69>>0]|0)){ma=(Tf(k[(k[ga>>2]|0)+8>>2]|0)|0)-1|0;k[N>>2]=(k[(k[ga>>2]|0)+8>>2]|0)+ma;i[o>>0]=i[k[N>>2]>>0]|0;if(k[J>>2]|0){if((l[o>>0]|0)==64)k[H>>2]=0;i[o>>0]=i[17613+(l[o>>0]|0)>>0]|0}i[k[N>>2]>>0]=(l[o>>0]|0)+1}k[na>>2]=(k[J>>2]|0)!=0?20429:34834;la=Sy(k[p>>2]|0,k[S>>2]|0,0)|0;k[Z>>2]=la;la=k[ba>>2]|0;ma=ez(k[ba>>2]|0,k[Z>>2]|0,k[na>>2]|0)|0;ma=Ov(la,41,ma,k[fa>>2]|0,0)|0;k[Z>>2]=ma;iF(k[Z>>2]|0,k[P>>2]|0);ma=eF(k[g>>2]|0,k[Z>>2]|0,259)|0;k[D>>2]=ma;aF(k[f>>2]|0,k[g>>2]|0,k[D>>2]|0);ma=Sy(k[p>>2]|0,k[S>>2]|0,0)|0;k[_>>2]=ma;ma=k[ba>>2]|0;na=ez(k[ba>>2]|0,k[_>>2]|0,k[na>>2]|0)|0;na=Ov(ma,40,na,k[ga>>2]|0,0)|0;k[_>>2]=na;iF(k[_>>2]|0,k[P>>2]|0);na=eF(k[g>>2]|0,k[_>>2]|0,259)|0;k[F>>2]=na;aF(k[f>>2]|0,k[g>>2]|0,k[F>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);if(k[H>>2]|0){fF(k[g>>2]|0,k[D>>2]|0,k[h>>2]|0);fF(k[g>>2]|0,k[F>>2]|0,k[h>>2]|0)}}if(((l[(k[g>>2]|0)+8>>0]|0)==28?(lF(k[P>>2]|0,s)|0)!=0:0)?(k[ea>>2]=k[k[(k[(k[P>>2]|0)+20>>2]|0)+4>>2]>>2],k[T>>2]=k[(k[(k[(k[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ma=vE(k[V>>2]|0,k[ea>>2]|0)|0,na=ka,k[na>>2]=ma,k[na+4>>2]=L,na=vE(k[V>>2]|0,k[T>>2]|0)|0,ma=ja,k[ma>>2]=na,k[ma+4>>2]=L,ma=ka,na=ja,(k[ma>>2]&k[na>>2]|0)==0?(k[ma+4>>2]&k[na+4>>2]|0)==0:0):0){na=k[ba>>2]|0;na=Ov(na,30,0,Sy(k[p>>2]|0,k[ea>>2]|0,0)|0,0)|0;k[$>>2]=na;na=eF(k[g>>2]|0,k[$>>2]|0,3)|0;k[G>>2]=na;k[aa>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[G>>2]|0)*48|0);na=ka;ma=k[na+4>>2]|0;la=(k[aa>>2]|0)+32|0;k[la>>2]=k[na>>2];k[la+4>>2]=ma;k[(k[aa>>2]|0)+20>>2]=k[(k[T>>2]|0)+28>>2];k[(k[aa>>2]|0)+28>>2]=j[(k[T>>2]|0)+32>>1];j[(k[aa>>2]|0)+12>>1]=64;i[(k[aa>>2]|0)+15>>0]=i[s>>0]|0;fF(k[g>>2]|0,k[G>>2]|0,k[h>>2]|0);k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);la=(k[ha>>2]|0)+10|0;j[la>>1]=m[la>>1]|8;la=(k[ha>>2]|0)+40|0;ma=k[la+4>>2]|0;na=(k[aa>>2]|0)+40|0;k[na>>2]=k[la>>2];k[na+4>>2]=ma}do if((l[(k[g>>2]|0)+8>>0]|0)==28){if((l[k[P>>2]>>0]|0)!=37?(l[k[P>>2]>>0]|0)!=29:0)break;if(fB(k[(k[P>>2]|0)+12>>2]|0)|0){if((k[(k[(k[P>>2]|0)+12>>2]|0)+4>>2]&2048|0)!=0?(k[(k[(k[P>>2]|0)+16>>2]|0)+4>>2]&2048|0)!=0:0)break;na=mz(k[(k[P>>2]|0)+12>>2]|0)|0;k[I>>2]=na;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[I>>2]|0))break;na=mF(k[ba>>2]|0,k[(k[P>>2]|0)+12>>2]|0,k[v>>2]|0)|0;k[R>>2]=na;na=mF(k[ba>>2]|0,k[(k[P>>2]|0)+16>>2]|0,k[v>>2]|0)|0;k[da>>2]=na;na=Ov(k[ba>>2]|0,l[k[P>>2]>>0]|0,k[R>>2]|0,k[da>>2]|0,0)|0;k[X>>2]=na;iF(k[X>>2]|0,k[P>>2]|0);na=eF(k[g>>2]|0,k[X>>2]|0,1)|0;k[C>>2]=na;aF(k[f>>2]|0,k[g>>2]|0,k[C>>2]|0);k[v>>2]=(k[v>>2]|0)+1}k[ha>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);j[(k[ha>>2]|0)+10>>1]=6;j[(k[ha>>2]|0)+12>>1]=0}}while(0);c:do if(((((l[(k[g>>2]|0)+8>>0]|0)==28?(l[k[P>>2]>>0]|0)==33:0)?(k[(k[ha>>2]|0)+24>>2]|0)==0:0)?(l[k[(k[P>>2]|0)+12>>2]>>0]|0)==158:0)?(k[(k[(k[P>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){k[w>>2]=0;while(1){na=k[w>>2]|0;if((na|0)>=(mz(k[(k[P>>2]|0)+12>>2]|0)|0))break c;na=eF(k[g>>2]|0,k[P>>2]|0,2)|0;k[E>>2]=na;k[(k[(k[g>>2]|0)+20>>2]|0)+((k[E>>2]|0)*48|0)+24>>2]=(k[w>>2]|0)+1;aF(k[f>>2]|0,k[g>>2]|0,k[E>>2]|0);fF(k[g>>2]|0,k[E>>2]|0,k[h>>2]|0);k[w>>2]=(k[w>>2]|0)+1}}while(0);la=t;na=(k[ha>>2]|0)+32|0;ka=na;ma=k[ka+4>>2]|k[la+4>>2];k[na>>2]=k[ka>>2]|k[la>>2];k[na+4>>2]=ma;r=oa;return}function bF(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[b>>2]|0)!=33?!((k[b>>2]|0)>=37&(k[b>>2]|0)<=41|(k[b>>2]|0)==34):0)b=(k[b>>2]|0)==29;else b=1;r=c;return b&1|0}function cF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+48|0;q=v+40|0;h=v+36|0;w=v+32|0;i=v;n=v+28|0;s=v+24|0;t=v+20|0;p=v+16|0;o=v+12|0;u=v+8|0;k[h>>2]=a;k[w>>2]=b;a=i;k[a>>2]=c;k[a+4>>2]=d;k[n>>2]=e;k[s>>2]=f;k[t>>2]=g;if(((k[w>>2]|0)>=38?(l[k[n>>2]>>0]|0)==158:0)&(k[w>>2]|0)<=41)k[n>>2]=k[k[(k[(k[n>>2]|0)+20>>2]|0)+4>>2]>>2];if((l[k[n>>2]>>0]|0)==152){k[k[s>>2]>>2]=k[(k[n>>2]|0)+28>>2];k[k[t>>2]>>2]=j[(k[n>>2]|0)+32>>1];k[q>>2]=1;w=k[q>>2]|0;r=v;return w|0}w=i;if((k[w>>2]|0)==0&(k[w+4>>2]|0)==0){k[q>>2]=0;w=k[q>>2]|0;r=v;return w|0}w=i;g=k[w>>2]|0;w=k[w+4>>2]|0;f=i;f=_R(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;if((g&f|0)!=0|(w&L|0)!=0){k[q>>2]=0;w=k[q>>2]|0;r=v;return w|0}k[o>>2]=0;while(1){w=i;f=k[w+4>>2]|0;c=k[o>>2]|0;if(!(f>>>0>0|(f|0)==0&(k[w>>2]|0)>>>0>1))break;k[o>>2]=c+1;f=i;f=aS(k[f>>2]|0,k[f+4>>2]|0,1)|0;w=i;k[w>>2]=f;k[w+4>>2]=L}k[u>>2]=k[(k[h>>2]|0)+8+(c*72|0)+44>>2];k[p>>2]=k[(k[(k[h>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(k[p>>2]|0)){c=22;break}b:do if(k[(k[p>>2]|0)+40>>2]|0){k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[(k[p>>2]|0)+50>>1]|0))break b;if((j[(k[(k[p>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1]|0)==-2?(Uy(k[n>>2]|0,k[(k[(k[(k[p>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,k[u>>2]|0)|0)==0:0){c=19;break a}k[o>>2]=(k[o>>2]|0)+1}}while(0);k[p>>2]=k[(k[p>>2]|0)+20>>2]}if((c|0)==19){k[k[s>>2]>>2]=k[u>>2];k[k[t>>2]>>2]=-2;k[q>>2]=1;w=k[q>>2]|0;r=v;return w|0}else if((c|0)==22){k[q>>2]=0;w=k[q>>2]|0;r=v;return w|0}return 0}function dF(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;do if((k[b>>2]|0)!=33){if((k[b>>2]|0)==34){j[c>>1]=256;break}if((k[b>>2]|0)==29){j[c>>1]=128;break}else{j[c>>1]=2<<(k[b>>2]|0)-37;break}}else j[c>>1]=1;while(0);r=d;return j[c>>1]|0}function eF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=r;r=r+32|0;l=o+24|0;d=o+20|0;e=o+16|0;f=o+28|0;i=o+12|0;n=o+8|0;h=o+4|0;g=o;k[d>>2]=a;k[e>>2]=b;j[f>>1]=c;do if((k[(k[d>>2]|0)+12>>2]|0)>=(k[(k[d>>2]|0)+16>>2]|0)){k[h>>2]=k[(k[d>>2]|0)+20>>2];k[g>>2]=k[k[k[k[d>>2]>>2]>>2]>>2];c=dx(k[g>>2]|0,(k[(k[d>>2]|0)+16>>2]|0)*48<<1,0)|0;k[(k[d>>2]|0)+20>>2]=c;if(k[(k[d>>2]|0)+20>>2]|0){bS(k[(k[d>>2]|0)+20>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+12>>2]|0)*48|0)|0;if((k[h>>2]|0)!=((k[d>>2]|0)+24|0))bg(k[g>>2]|0,k[h>>2]|0);c=((uu(k[g>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0)>>>0)/48|0;k[(k[d>>2]|0)+16>>2]=c;break}if((m[f>>1]|0)&1)sv(k[g>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+20>>2]=k[h>>2];k[l>>2]=0;n=k[l>>2]|0;r=o;return n|0}while(0);a=(k[d>>2]|0)+12|0;c=k[a>>2]|0;k[a>>2]=c+1;k[n>>2]=c;k[i>>2]=(k[(k[d>>2]|0)+20>>2]|0)+(c*48|0);if((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+4>>2]&262144|0)!=0:0){c=k[(k[e>>2]|0)+28>>2]|0;c=((Wj(c,((c|0)<0)<<31>>31)|0)<<16>>16)-270&65535;j[(k[i>>2]|0)+8>>1]=c}else j[(k[i>>2]|0)+8>>1]=1;e=uy(k[e>>2]|0)|0;k[k[i>>2]>>2]=e;j[(k[i>>2]|0)+10>>1]=j[f>>1]|0;k[(k[i>>2]|0)+4>>2]=k[d>>2];k[(k[i>>2]|0)+16>>2]=-1;d=(k[i>>2]|0)+12|0;e=d+36|0;do{j[d>>1]=0;d=d+2|0}while((d|0)<(e|0));k[l>>2]=k[n>>2];n=k[l>>2]|0;r=o;return n|0}function fF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+16>>2]=k[e>>2];j[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+8>>1]=j[(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+8>>1]|0;a=(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+14|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;r=d;return}function gF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;h=o+20|0;e=o+16|0;f=o+12|0;c=o+25|0;d=o+24|0;g=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;if(m[(k[k[e>>2]>>2]|0)+64>>1]&512){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if((l[k[f>>2]>>0]|0)!=37?(l[k[f>>2]>>0]|0)!=29:0){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if(k[(k[f>>2]|0)+4>>2]&1){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}a=oy(k[(k[f>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=oy(k[(k[f>>2]|0)+16>>2]|0)|0;i[d>>0]=a;do if((i[c>>0]|0)!=(i[d>>0]|0)){if((i[c>>0]|0)>=67?(i[d>>0]|0)>=67:0)break;k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}while(0);a=CB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,34834)|0)!=0:0){a=py(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[j>>2]=c;f=py(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=f;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[n>>2]=c;n=(be(k[j>>2]|0,k[n>>2]|0)|0)==0&1;k[h>>2]=n;n=k[h>>2]|0;r=o;return n|0}k[h>>2]=1;n=k[h>>2]|0;r=o;return n|0}function hF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g+14|0;h=g+12|0;f=g;k[c>>2]=a;k[d>>2]=b;j[e>>1]=k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]&256;j[h>>1]=k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]&256;do if((m[e>>1]|0)==(m[h>>1]|0)){if(j[e>>1]|0){h=(k[(k[d>>2]|0)+16>>2]|0)+4|0;k[h>>2]=k[h>>2]&-257;break}if(py(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0)|0){h=(k[(k[d>>2]|0)+12>>2]|0)+4|0;k[h>>2]=k[h>>2]|256}}while(0);k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];if((l[k[d>>2]>>0]|0)<38){r=g;return}i[k[d>>2]>>0]=((l[k[d>>2]>>0]|0)-38^2)+38;r=g;return}function iF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|k[(k[d>>2]|0)+4>>2]&1;j[(k[c>>2]|0)+36>>1]=j[(k[d>>2]|0)+36>>1]|0;r=e;return}function jF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=r;r=r+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;C=V+136|0;S=V+132|0;K=V+128|0;D=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;h=V+16|0;o=V+108|0;q=V+104|0;p=V+100|0;n=V+96|0;d=V+8|0;e=V;u=V+92|0;f=V+88|0;s=V+84|0;g=V+80|0;v=V+76|0;I=V+72|0;E=V+68|0;F=V+64|0;H=V+60|0;z=V+56|0;A=V+52|0;J=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;G=V+32|0;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[T>>2]=k[k[x>>2]>>2];k[R>>2]=k[k[T>>2]>>2];k[C>>2]=k[k[R>>2]>>2];k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);k[K>>2]=k[k[S>>2]>>2];b=Ch(k[C>>2]|0,416,0)|0;k[t>>2]=b;k[(k[S>>2]|0)+28>>2]=b;if(!(k[t>>2]|0)){r=V;return}b=(k[S>>2]|0)+10|0;j[b>>1]=m[b>>1]|16;k[Q>>2]=k[t>>2];dS((k[Q>>2]|0)+24|0,0,384)|0;LD(k[Q>>2]|0,k[T>>2]|0);MD(k[Q>>2]|0,k[K>>2]|0,27);PD(k[w>>2]|0,k[Q>>2]|0);if(i[(k[C>>2]|0)+69>>0]|0){r=V;return}b=h;k[b>>2]=-1;k[b+4>>2]=-1;b=B;k[b>>2]=-1;k[b+4>>2]=-1;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){b=h;if(!((k[D>>2]|0)>=0?(k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0:0))break;do if(!(m[(k[P>>2]|0)+12>>1]&511)){b=B;k[b>>2]=0;k[b+4>>2]=0;b=dx(k[C>>2]|0,408,0)|0;k[o>>2]=b;if(k[o>>2]|0){b=d;k[b>>2]=0;k[b+4>>2]=0;k[(k[P>>2]|0)+28>>2]=k[o>>2];b=(k[P>>2]|0)+10|0;j[b>>1]=m[b>>1]|32;j[(k[P>>2]|0)+12>>1]=1024;k[q>>2]=k[o>>2];dS((k[q>>2]|0)+24|0,0,384)|0;LD(k[q>>2]|0,k[k[x>>2]>>2]|0);MD(k[q>>2]|0,k[k[P>>2]>>2]|0,28);PD(k[w>>2]|0,k[q>>2]|0);k[(k[q>>2]|0)+4>>2]=k[x>>2];a:do if(!(i[(k[C>>2]|0)+69>>0]|0)){k[n>>2]=0;k[p>>2]=k[(k[q>>2]|0)+20>>2];while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+12>>2]|0))break a;if(!((bF(l[k[k[p>>2]>>2]>>0]|0)|0)==0?(m[(k[p>>2]|0)+12>>1]|0)!=64:0)){c=YD((k[T>>2]|0)+488|0,k[(k[p>>2]|0)+20>>2]|0)|0;W=d;a=k[W+4>>2]|L;b=d;k[b>>2]=k[W>>2]|c;k[b+4>>2]=a}k[n>>2]=(k[n>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+48}}while(0);a=d;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b}}else if(!(m[(k[P>>2]|0)+10>>1]&8)){b=YD((k[T>>2]|0)+488|0,k[(k[P>>2]|0)+20>>2]|0)|0;W=e;k[W>>2]=b;k[W+4>>2]=L;if(m[(k[P>>2]|0)+10>>1]&2){k[u>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[(k[P>>2]|0)+16>>2]|0)*48|0);a=YD((k[T>>2]|0)+488|0,k[(k[u>>2]|0)+20>>2]|0)|0;c=e;b=k[c+4>>2]|L;W=e;k[W>>2]=k[c>>2]|a;k[W+4>>2]=b}a=e;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;if(!(m[(k[P>>2]|0)+12>>1]&2)){W=B;k[W>>2]=0;k[W+4>>2]=0;break}else{a=e;c=B;b=k[c+4>>2]&k[a+4>>2];W=B;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;break}}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}a=h;b=k[a+4>>2]|0;W=(k[t>>2]|0)+408|0;k[W>>2]=k[a>>2];k[W+4>>2]=b;W=h;j[(k[S>>2]|0)+12>>1]=(k[W>>2]|0)==0&(k[W+4>>2]|0)==0?0:512;W=h;b:do if((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0?(k[(k[Q>>2]|0)+12>>2]|0)==2:0){k[f>>2]=0;c:while(1){b=k[(k[Q>>2]|0)+20>>2]|0;W=k[f>>2]|0;k[f>>2]=W+1;W=rF(b,W)|0;k[s>>2]=W;if(!W)break b;k[g>>2]=0;while(1){b=(k[(k[Q>>2]|0)+20>>2]|0)+48|0;W=k[g>>2]|0;k[g>>2]=W+1;W=rF(b,W)|0;k[v>>2]=W;if(!W)continue c;sF(k[w>>2]|0,k[x>>2]|0,k[s>>2]|0,k[v>>2]|0)}}}while(0);W=B;if(!((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0)){r=V;return}k[I>>2]=0;k[E>>2]=-1;k[F>>2]=-1;k[H>>2]=0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=2)break;if(!((k[I>>2]|0)!=0^1))break;k[P>>2]=k[(k[Q>>2]|0)+20>>2];k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;while(1){if((k[D>>2]|0)<0)break;W=(k[P>>2]|0)+10|0;j[W>>1]=m[W>>1]&-65;if((k[(k[P>>2]|0)+20>>2]|0)!=(k[F>>2]|0)?(W=B,v=k[W>>2]|0,W=k[W+4>>2]|0,b=YD((k[T>>2]|0)+488|0,k[(k[P>>2]|0)+20>>2]|0)|0,!((v&b|0)==0&(W&L|0)==0)):0){U=37;break}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}if((U|0)==37){U=0;k[E>>2]=k[(k[P>>2]|0)+28>>2];k[F>>2]=k[(k[P>>2]|0)+20>>2]}if((k[D>>2]|0)<0)break;k[I>>2]=1;while(1){if(!((k[D>>2]|0)>=0?(k[I>>2]|0)!=0:0))break;d=k[P>>2]|0;do if((k[(k[P>>2]|0)+20>>2]|0)!=(k[F>>2]|0)){W=d+10|0;j[W>>1]=m[W>>1]&-65}else{if((k[d+28>>2]|0)!=(k[E>>2]|0)){k[I>>2]=0;break}W=(oy(k[(k[k[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;k[A>>2]=W;W=(oy(k[(k[k[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;k[z>>2]=W;if((k[A>>2]|0)!=0?(k[A>>2]|0)!=(k[z>>2]|0):0){k[I>>2]=0;break}W=(k[P>>2]|0)+10|0;j[W>>1]=m[W>>1]|64}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}k[H>>2]=(k[H>>2]|0)+1}if(!(k[I>>2]|0)){r=V;return}k[N>>2]=0;k[M>>2]=0;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){if((k[D>>2]|0)<0)break;if(m[(k[P>>2]|0)+10>>1]&64){W=Sy(k[C>>2]|0,k[(k[k[P>>2]>>2]|0)+16>>2]|0,0)|0;k[J>>2]=W;W=bw(k[k[T>>2]>>2]|0,k[N>>2]|0,k[J>>2]|0)|0;k[N>>2]=W;k[M>>2]=k[(k[k[P>>2]>>2]|0)+12>>2]}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}W=Sy(k[C>>2]|0,k[M>>2]|0,0)|0;k[J>>2]=W;W=Ov(k[R>>2]|0,33,k[J>>2]|0,0,0)|0;k[O>>2]=W;if(k[O>>2]|0){iF(k[O>>2]|0,k[K>>2]|0);k[(k[O>>2]|0)+20>>2]=k[N>>2];W=eF(k[x>>2]|0,k[O>>2]|0,3)|0;k[G>>2]=W;aF(k[w>>2]|0,k[x>>2]|0,k[G>>2]|0);k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);fF(k[x>>2]|0,k[G>>2]|0,k[y>>2]|0)}else ov(k[C>>2]|0,k[N>>2]|0);j[(k[S>>2]|0)+12>>1]=4096;r=V;return}function kF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=r;r=r+96|0;q=F+80|0;s=F+76|0;f=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;h=F+48|0;m=F+44|0;o=F+40|0;v=F+36|0;p=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;n=F+16|0;g=F+12|0;y=F+8|0;D=F+4|0;B=F;k[s>>2]=a;k[f>>2]=b;k[t>>2]=c;k[u>>2]=d;k[G>>2]=e;k[E>>2]=0;k[w>>2]=k[k[s>>2]>>2];k[A>>2]=0;if(!(nF(k[w>>2]|0,k[f>>2]|0,k[G>>2]|0,p)|0)){k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}k[m>>2]=k[(k[f>>2]|0)+20>>2];k[h>>2]=k[(k[(k[m>>2]|0)+4>>2]|0)+20>>2];if(((l[k[h>>2]>>0]|0)==152?((oy(k[h>>2]|0)|0)<<24>>24|0)==66:0)?(l[(k[(k[h>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){G=uy(k[k[(k[m>>2]|0)+4>>2]>>2]|0)|0;k[z>>2]=G;k[x>>2]=l[k[z>>2]>>0];if((k[x>>2]|0)!=135){if((k[x>>2]|0)==97)k[E>>2]=k[(k[z>>2]|0)+8>>2]}else{k[n>>2]=k[(k[s>>2]|0)+432>>2];k[g>>2]=j[(k[z>>2]|0)+32>>1];G=oF(k[n>>2]|0,k[g>>2]|0,65)|0;k[A>>2]=G;if((k[A>>2]|0)!=0?(oe(k[A>>2]|0)|0)==3:0){G=je(k[A>>2]|0)|0;k[E>>2]=G}pF(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0)}do if(k[E>>2]|0){k[v>>2]=0;while(1){G=i[(k[E>>2]|0)+(k[v>>2]|0)>>0]|0;k[o>>2]=G;if(((G|0)!=0?(k[o>>2]|0)!=(i[p>>0]|0):0)?(k[o>>2]|0)!=(i[p+1>>0]|0):0)f=(k[o>>2]|0)!=(i[p+2>>0]|0);else f=0;g=k[v>>2]|0;if(!f)break;k[v>>2]=g+1}if((g|0)!=0?255!=(l[(k[E>>2]|0)+((k[v>>2]|0)-1)>>0]|0):0){if((k[o>>2]|0)==(i[p>>0]|0))f=(i[(k[E>>2]|0)+((k[v>>2]|0)+1)>>0]|0)==0;else f=0;k[k[u>>2]>>2]=f&1;G=ew(k[w>>2]|0,97,k[E>>2]|0)|0;k[y>>2]=G;if(k[y>>2]|0)i[(k[(k[y>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=0;k[k[t>>2]>>2]=k[y>>2];if((k[x>>2]|0)!=135)break;k[D>>2]=k[(k[s>>2]|0)+8>>2];pF(k[D>>2]|0,j[(k[z>>2]|0)+32>>1]|0);if(!(k[k[u>>2]>>2]|0))break;if(!(i[(k[(k[z>>2]|0)+8>>2]|0)+1>>0]|0))break;G=Fx(k[s>>2]|0)|0;k[B>>2]=G;aB(k[s>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;G=k[D>>2]|0;qF(G,(Gx(k[D>>2]|0)|0)-1|0,0);Hx(k[s>>2]|0,k[B>>2]|0);break}k[E>>2]=0}while(0);k[C>>2]=(k[E>>2]|0)!=0&1;mh(k[A>>2]|0);k[q>>2]=k[C>>2];G=k[q>>2]|0;r=F;return G|0}k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}function lF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j+20|0;e=j+16|0;h=j+12|0;d=j+8|0;c=j+4|0;f=j;k[e>>2]=a;k[h>>2]=b;if((l[k[e>>2]>>0]|0|0)!=151){k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}k[d>>2]=k[(k[e>>2]|0)+20>>2];if((k[d>>2]|0)!=0?(k[k[d>>2]>>2]|0)==2:0){k[c>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2];if((l[k[c>>2]>>0]|0|0)==152?((l[(k[(k[c>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=4){c=14;break}b=(sg(k[(k[e>>2]|0)+8>>2]|0,k[5444+(k[f>>2]<<3)>>2]|0)|0)==0;a=k[f>>2]|0;if(b){c=12;break}k[f>>2]=a+1}if((c|0)==12){i[k[h>>2]>>0]=i[5444+(a<<3)+4>>0]|0;k[g>>2]=1;h=k[g>>2]|0;r=j;return h|0}else if((c|0)==14){k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}}k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}k[g>>2]=0;h=k[g>>2]|0;r=j;return h|0}function mF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[k[e>>2]>>0]|0|0)==119){b=Ov(k[d>>2]|0,159,0,0,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=k[g>>2]|0;r=h;return b|0}j[(k[g>>2]|0)+32>>1]=k[f>>2];k[(k[g>>2]|0)+12>>2]=k[e>>2];b=k[g>>2]|0;r=h;return b|0}else{if((l[k[e>>2]>>0]|0|0)==158)k[e>>2]=k[(k[(k[(k[e>>2]|0)+20>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2];b=Sy(k[k[d>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=b;b=k[g>>2]|0;r=h;return b|0}return 0}function nF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;j=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if(((l[k[g>>2]>>0]|0|0)==151?(k[(k[g>>2]|0)+20>>2]|0)!=0:0)?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)==2:0){c=ui(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0,2,1,0)|0;k[n>>2]=c;if((k[n>>2]|0)!=0?((m[(k[n>>2]|0)+2>>1]|0)&4|0)!=0:0){c=k[j>>2]|0;b=k[(k[n>>2]|0)+4>>2]|0;i[c>>0]=i[b>>0]|0;i[c+1>>0]=i[b+1>>0]|0;i[c+2>>0]=i[b+2>>0]|0;k[k[h>>2]>>2]=((m[(k[n>>2]|0)+2>>1]|0)&8|0)==0&1;k[e>>2]=1;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}function oF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+20|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;if((k[e>>2]|0)!=0?(k[h>>2]=(k[(k[e>>2]|0)+116>>2]|0)+(((k[f>>2]|0)-1|0)*40|0),0==((m[(k[h>>2]|0)+8>>1]|0)&1|0)):0){a=hi(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){th(k[j>>2]|0,k[h>>2]|0)|0;Px(k[j>>2]|0,i[g>>0]|0,1)}k[d>>2]=k[j>>2];a=k[d>>2]|0;r=l;return a|0}k[d>>2]=0;a=k[d>>2]|0;r=l;return a|0}function pF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>32){k[(k[c>>2]|0)+196>>2]=-1;r=e;return}else{a=(k[c>>2]|0)+196|0;k[a>>2]=k[a>>2]|1<<(k[d>>2]|0)-1;r=e;return}}function qF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(oA(k[f>>2]|0,k[e>>2]|0)|0)+12|0;k[c>>2]=a;r=d;return}function rF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;if((m[(k[d>>2]|0)+12>>1]|0|0)!=1024){k[c>>2]=(b|0)==0?k[d>>2]|0:0;e=k[c>>2]|0;r=f;return e|0}if((b|0)<(k[(k[(k[d>>2]|0)+28>>2]|0)+12>>2]|0)){k[c>>2]=(k[(k[(k[d>>2]|0)+28>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0);e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function sF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+28|0;l=s+24|0;e=s+20|0;f=s+16|0;n=s+32|0;g=s+12|0;q=s+8|0;p=s+4|0;o=s;k[h>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=d;j[n>>1]=m[(k[e>>2]|0)+12>>1]|0|(m[(k[f>>2]|0)+12>>1]|0);if(!((m[(k[e>>2]|0)+12>>1]|0)&62)){r=s;return}if(!((m[(k[f>>2]|0)+12>>1]|0)&62)){r=s;return}if(((m[n>>1]|0)&26|0)!=(m[n>>1]|0|0)?((m[n>>1]|0)&38|0)!=(m[n>>1]|0|0):0){r=s;return}if(Uy(k[(k[k[e>>2]>>2]|0)+12>>2]|0,k[(k[k[f>>2]>>2]|0)+12>>2]|0,-1)|0){r=s;return}if(Uy(k[(k[k[e>>2]>>2]|0)+16>>2]|0,k[(k[k[f>>2]>>2]|0)+16>>2]|0,-1)|0){r=s;return}do if((m[n>>1]|0)&(m[n>>1]|0)-1)if((m[n>>1]|0)&24){j[n>>1]=8;break}else{j[n>>1]=32;break}while(0);k[g>>2]=k[k[k[k[l>>2]>>2]>>2]>>2];b=Sy(k[g>>2]|0,k[k[e>>2]>>2]|0,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){r=s;return}k[p>>2]=37;while(1){e=k[p>>2]|0;if((m[n>>1]|0|0)==(2<<(k[p>>2]|0)-37|0))break;k[p>>2]=e+1}i[k[q>>2]>>0]=e;q=eF(k[l>>2]|0,k[q>>2]|0,3)|0;k[o>>2]=q;aF(k[h>>2]|0,k[l>>2]|0,k[o>>2]|0);r=s;return}function tF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+36|0;h=e+32|0;f=e+28|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=0;k[d+4>>2]=200;k[d+24>>2]=k[h>>2];Gy(d,k[g>>2]|0)|0;if(k[f>>2]|0){h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}h=d+20|0;i[h>>0]=(l[h>>0]|0)&-3;h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}function uF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[k[d>>2]>>2]|0;b=k[k[f>>2]>>2]|0;if((j[(k[f>>2]|0)+32>>1]|0)>=0){f=k[(k[(k[f>>2]|0)+4>>2]|0)+(j[(k[f>>2]|0)+32>>1]<<4)>>2]|0;k[h>>2]=b;k[h+4>>2]=f;f=Qh(a,30161,h)|0;k[l>>2]=f;k[g>>2]=1555;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;DA(f,h,i,l,-1,2);r=m;return}else{k[i>>2]=b;f=Qh(a,35219,i)|0;k[l>>2]=f;k[g>>2]=2579;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;DA(f,h,i,l,-1,2);r=m;return}}function vF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;j=l+20|0;m=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;a:do if(k[(k[k[m>>2]>>2]|0)+24>>2]&524288){c=k[e>>2]|0;if(!(k[f>>2]|0)){if(gy(c)|0)c=1;else c=(k[(k[e>>2]|0)+16>>2]|0)!=0;k[j>>2]=c&1;m=k[j>>2]|0;r=l;return m|0}k[h>>2]=k[c+16>>2];while(1){c=k[e>>2]|0;if(!(k[h>>2]|0))break;if(tD(c,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){i=9;break}k[h>>2]=k[(k[h>>2]|0)+4>>2]}if((i|0)==9){k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}m=gy(c)|0;k[h>>2]=m;while(1){if(!(k[h>>2]|0))break a;if(wD(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}while(0);k[j>>2]=0;m=k[j>>2]|0;r=l;return m|0}function wF(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+20>>0]=1;r=c;return}function xF(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;p=K+48|0;q=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;k[p>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;j[x>>1]=g;i[y>>0]=h;i[z>>0]=m;i[A>>0]=n;k[s>>2]=o;k[I>>2]=k[(k[p>>2]|0)+8>>2];k[E>>2]=0;c=eA(k[I>>2]|0)|0;k[D>>2]=c;i[G>>0]=(l[(k[q>>2]|0)+42>>0]&32|0)==0?33:30;if(!(l[A>>0]|0))Sh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;c=(vF(k[p>>2]|0,k[q>>2]|0,0,0)|0)!=0;if(c|(k[t>>2]|0)!=0){c=zF(k[p>>2]|0,k[t>>2]|0,0,0,3,k[q>>2]|0,l[z>>0]|0)|0;k[F>>2]=c;c=AF(k[p>>2]|0,k[q>>2]|0)|0;k[F>>2]=k[F>>2]|c;k[E>>2]=(k[(k[p>>2]|0)+44>>2]|0)+1;c=(k[p>>2]|0)+44|0;k[c>>2]=(k[c>>2]|0)+(1+(j[(k[q>>2]|0)+34>>1]|0));sx(k[I>>2]|0,84,k[w>>2]|0,k[E>>2]|0)|0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;if((k[F>>2]|0)!=-1){if((k[C>>2]|0)<=31?(k[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;XA(k[I>>2]|0,k[q>>2]|0,k[u>>2]|0,k[C>>2]|0,(k[E>>2]|0)+(k[C>>2]|0)+1|0)}k[C>>2]=(k[C>>2]|0)+1}J=Gx(k[I>>2]|0)|0;k[B>>2]=J;kD(k[p>>2]|0,k[t>>2]|0,109,0,1,k[q>>2]|0,k[E>>2]|0,l[z>>0]|0,k[D>>2]|0);J=k[B>>2]|0;if((J|0)<(Gx(k[I>>2]|0)|0))Sh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;pD(k[p>>2]|0,k[q>>2]|0,k[E>>2]|0,0,0,0)}if(k[(k[q>>2]|0)+12>>2]|0){a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;BF(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;kD(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;iA(I,J);r=K;return}i[H>>0]=0;yF(k[p>>2]|0,k[q>>2]|0,k[u>>2]|0,k[v>>2]|0,0,k[s>>2]|0);sx(k[I>>2]|0,117,k[u>>2]|0,(l[y>>0]|0)!=0?1:0)|0;Wh(k[I>>2]|0,-1,k[q>>2]|0,-20);if(l[A>>0]|0)Th(k[I>>2]|0,4);if((k[s>>2]|0)>=0)aA(k[I>>2]|0,117,k[s>>2]|0)|0;if((l[A>>0]|0)==2)i[H>>0]=l[H>>0]|2;Th(k[I>>2]|0,i[H>>0]|0);a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;BF(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;kD(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;iA(I,J);r=K;return}function yF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;h=y+48|0;g=y+44|0;i=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;v=y+20|0;q=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[v>>2]=-1;k[u>>2]=0;k[w>>2]=k[(k[h>>2]|0)+8>>2];if(!((l[(k[g>>2]|0)+42>>0]|0)&32))e=0;else e=Tj(k[g>>2]|0)|0;k[t>>2]=e;k[p>>2]=0;k[s>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;if(!((k[n>>2]|0)!=0?(k[(k[n>>2]|0)+(k[p>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(k[s>>2]|0)!=(k[t>>2]|0)):0)?((k[m>>2]|0)+(k[p>>2]|0)|0)!=(k[o>>2]|0):0){e=yA(k[h>>2]|0,k[s>>2]|0,k[i>>2]|0,0,1,q,k[u>>2]|0,k[v>>2]|0)|0;k[v>>2]=e;e=k[s>>2]|0;if((l[(k[s>>2]|0)+55>>0]|0)>>>3&1)e=j[e+50>>1]|0;else e=j[e+52>>1]|0;tx(k[w>>2]|0,127,(k[m>>2]|0)+(k[p>>2]|0)|0,k[v>>2]|0,e&65535)|0;zA(k[h>>2]|0,k[q>>2]|0);k[u>>2]=k[s>>2]}k[p>>2]=(k[p>>2]|0)+1;k[s>>2]=k[(k[s>>2]|0)+20>>2]}r=y;return}function zF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+40|0;v=u+36|0;i=u+32|0;j=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;s=u+4|0;t=u;k[h>>2]=a;k[v>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[q>>2]=(k[i>>2]|0)!=0?110:109;k[p>>2]=0;k[s>>2]=k[v>>2];while(1){if(!(k[s>>2]|0))break;if((((l[(k[s>>2]|0)+8>>0]|0|0)==(k[q>>2]|0)?(k[m>>2]&(l[(k[s>>2]|0)+9>>0]|0)|0)!=0:0)?(FG(k[(k[s>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)?(v=EF(k[h>>2]|0,k[s>>2]|0,k[n>>2]|0,k[o>>2]|0)|0,k[t>>2]=v,(k[t>>2]|0)!=0):0)k[p>>2]=k[p>>2]|k[(k[t>>2]|0)+16+(k[j>>2]<<2)>>2];k[s>>2]=k[(k[s>>2]|0)+32>>2]}r=u;return k[p>>2]|0}function AF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[(k[k[c>>2]>>2]|0)+24>>2]&524288)){h=k[f>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[g>>2]|0))break;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0))break;if((k[(k[g>>2]|0)+36+(k[e>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(k[e>>2]<<3)>>2];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}k[g>>2]=k[(k[g>>2]|0)+4>>2]}b=gy(k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break;k[h>>2]=0;LC(k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,h,0)|0;a:do if(k[h>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break a;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[g>>2]=k[(k[g>>2]|0)+12>>2]}h=k[f>>2]|0;r=i;return h|0}function BF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;l=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;if(!(k[(k[k[g>>2]>>2]|0)+24>>2]&524288)){r=q;return}d=gy(k[h>>2]|0)|0;k[o>>2]=d;while(1){if(!(k[o>>2]|0))break;if(!((k[l>>2]|0)!=0?(wD(k[h>>2]|0,k[o>>2]|0,k[l>>2]|0,k[m>>2]|0)|0)==0:0))p=6;if((p|0)==6?(p=0,d=CF(k[g>>2]|0,k[h>>2]|0,k[o>>2]|0,k[i>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)!=0):0)DF(k[g>>2]|0,k[n>>2]|0,k[h>>2]|0,k[j>>2]|0,2,0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}r=q;return}function CF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;e=N+136|0;f=N+132|0;g=N+128|0;h=N+124|0;m=N+120|0;p=N+116|0;n=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;o=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;q=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;k[p>>2]=k[k[f>>2]>>2];k[s>>2]=(k[m>>2]|0)!=0&1;k[n>>2]=l[(k[h>>2]|0)+25+(k[s>>2]|0)>>0];if((k[n>>2]|0)==6?(k[(k[p>>2]|0)+24>>2]&33554432|0)!=0:0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[D>>2]=k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2];if(!((k[n>>2]|0)==0|(k[D>>2]|0)!=0)){k[x>>2]=0;k[o>>2]=0;k[C>>2]=0;k[F>>2]=0;k[y>>2]=0;k[B>>2]=0;k[E>>2]=0;if(LC(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,x,o)|0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[h>>2]|0)+20>>2]|0))break;k[J>>2]=k[1369];k[J+4>>2]=k[1370];k[I>>2]=k[1371];k[I+4>>2]=k[1372];if(k[o>>2]|0)d=k[(k[o>>2]|0)+(k[q>>2]<<2)>>2]|0;else d=k[(k[h>>2]|0)+36>>2]|0;k[t>>2]=d;if(k[x>>2]|0)d=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;else d=j[(k[g>>2]|0)+32>>1]|0;fz(K,k[(k[(k[g>>2]|0)+4>>2]|0)+(d<<16>>16<<4)>>2]|0);fz(H,k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0);a=k[f>>2]|0;c=k[f>>2]|0;b=tw(k[p>>2]|0,55,J,0)|0;b=Ov(c,122,b,tw(k[p>>2]|0,55,K,0)|0,0)|0;b=Ov(a,37,b,tw(k[p>>2]|0,55,H,0)|0,0)|0;k[w>>2]=b;b=Gz(k[p>>2]|0,k[F>>2]|0,k[w>>2]|0)|0;k[F>>2]=b;if(k[m>>2]|0){d=k[f>>2]|0;a=k[f>>2]|0;c=tw(k[p>>2]|0,55,J,0)|0;c=Ov(a,122,c,tw(k[p>>2]|0,55,K,0)|0,0)|0;a=k[f>>2]|0;b=tw(k[p>>2]|0,55,I,0)|0;b=Ov(d,29,c,Ov(a,122,b,tw(k[p>>2]|0,55,K,0)|0,0)|0,0)|0;k[w>>2]=b;b=Gz(k[p>>2]|0,k[E>>2]|0,k[w>>2]|0)|0;k[E>>2]=b}if((k[n>>2]|0)!=6?(k[n>>2]|0)!=9|(k[m>>2]|0)!=0:0){do if((k[n>>2]|0)!=9){if((k[n>>2]|0)!=8){b=tw(k[p>>2]|0,101,0,0)|0;k[z>>2]=b;break}k[v>>2]=k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+4>>2];d=k[p>>2]|0;if(k[v>>2]|0){b=Sy(d,k[v>>2]|0,0)|0;k[z>>2]=b;break}else{b=tw(d,101,0,0)|0;k[z>>2]=b;break}}else{a=k[f>>2]|0;b=tw(k[p>>2]|0,55,I,0)|0;b=Ov(a,122,b,tw(k[p>>2]|0,55,K,0)|0,0)|0;k[z>>2]=b}while(0);b=bw(k[f>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[y>>2]=b;cw(k[f>>2]|0,k[y>>2]|0,H,0)}k[q>>2]=(k[q>>2]|0)+1}bg(k[p>>2]|0,k[o>>2]|0);k[L>>2]=k[k[k[h>>2]>>2]>>2];K=Tf(k[L>>2]|0)|0;k[u>>2]=K;if((k[n>>2]|0)==6){k[G>>2]=k[L>>2];k[G+4>>2]=k[u>>2];K=ew(k[p>>2]|0,83,35189)|0;k[A>>2]=K;if(k[A>>2]|0)i[(k[A>>2]|0)+1>>0]=2;I=k[f>>2]|0;J=bw(k[f>>2]|0,0,k[A>>2]|0)|0;K=iw(k[p>>2]|0,0,G,0)|0;K=aw(I,J,K,k[F>>2]|0,0,0,0,0,0,0)|0;k[B>>2]=K;k[F>>2]=0}K=(k[p>>2]|0)+256|0;k[K>>2]=(k[K>>2]|0)+1;K=Ch(k[p>>2]|0,72+(k[u>>2]|0)+1|0,0)|0;k[D>>2]=K;if((k[D>>2]|0)!=0?(K=(k[D>>2]|0)+36|0,k[(k[D>>2]|0)+28>>2]=K,k[C>>2]=K,k[(k[C>>2]|0)+12>>2]=(k[C>>2]|0)+36,bS(k[(k[C>>2]|0)+12>>2]|0,k[L>>2]|0,k[u>>2]|0)|0,L=Sy(k[p>>2]|0,k[F>>2]|0,1)|0,k[(k[C>>2]|0)+16>>2]=L,L=_y(k[p>>2]|0,k[y>>2]|0,1)|0,k[(k[C>>2]|0)+20>>2]=L,L=iy(k[p>>2]|0,k[B>>2]|0,1)|0,k[(k[C>>2]|0)+8>>2]=L,(k[E>>2]|0)!=0):0){L=Ov(k[f>>2]|0,19,k[E>>2]|0,0,0)|0;k[E>>2]=L;L=Sy(k[p>>2]|0,k[E>>2]|0,1)|0;k[(k[D>>2]|0)+12>>2]=L}L=(k[p>>2]|0)+256|0;k[L>>2]=(k[L>>2]|0)+-1;sv(k[p>>2]|0,k[F>>2]|0);sv(k[p>>2]|0,k[E>>2]|0);ov(k[p>>2]|0,k[y>>2]|0);pv(k[p>>2]|0,k[B>>2]|0);if((l[(k[p>>2]|0)+69>>0]|0|0)==1){EG(k[p>>2]|0,k[D>>2]|0);k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}switch(k[n>>2]|0){case 6:{i[k[C>>2]>>0]=119;break}case 9:{if(k[m>>2]|0)M=41;else i[k[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)i[k[C>>2]>>0]=110;k[(k[C>>2]|0)+4>>2]=k[D>>2];k[(k[D>>2]|0)+20>>2]=k[(k[g>>2]|0)+64>>2];k[(k[D>>2]|0)+24>>2]=k[(k[g>>2]|0)+64>>2];k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2]=k[D>>2];i[(k[D>>2]|0)+8>>0]=(k[m>>2]|0)!=0?110:109}k[e>>2]=k[D>>2];M=k[e>>2]|0;r=N;return M|0}function DF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=r;r=r+48|0;h=o+32|0;g=o+28|0;q=o+24|0;i=o+20|0;p=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[h>>2]=a;k[g>>2]=b;k[q>>2]=c;k[i>>2]=d;k[p>>2]=e;k[j>>2]=f;d=nx(k[h>>2]|0)|0;k[n>>2]=d;d=EF(k[h>>2]|0,k[g>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;k[m>>2]=d;if(!(k[m>>2]|0)){r=o;return}if(k[k[g>>2]>>2]|0)g=0==(k[(k[k[h>>2]>>2]|0)+24>>2]&262144|0);else g=0;k[l>>2]=g&1;d=k[n>>2]|0;i=k[i>>2]|0;p=k[j>>2]|0;j=(k[h>>2]|0)+44|0;q=(k[j>>2]|0)+1|0;k[j>>2]=q;wx(d,64,i,p,q,k[(k[m>>2]|0)+8>>2]|0,-18)|0;Th(k[n>>2]|0,k[l>>2]&255);r=o;return}function EF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[e>>2]|0;if(k[(k[e>>2]|0)+124>>2]|0)d=k[d+124>>2]|0;k[j>>2]=d;k[i>>2]=k[(k[j>>2]|0)+468>>2];while(1){if(!(k[i>>2]|0))break;if((k[k[i>>2]>>2]|0)==(k[f>>2]|0)?(k[(k[i>>2]|0)+12>>2]|0)==(k[h>>2]|0):0)break;k[i>>2]=k[(k[i>>2]|0)+4>>2]}if(k[i>>2]|0){j=k[i>>2]|0;r=l;return j|0}j=FF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;r=l;return j|0}function FF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;w=x;e=x+84|0;f=x+80|0;g=x+76|0;h=x+72|0;j=x+68|0;s=x+64|0;m=x+60|0;o=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;p=x+12|0;q=x+8|0;n=x+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;d=k[f>>2]|0;if(k[(k[f>>2]|0)+124>>2]|0)d=k[d+124>>2]|0;k[s>>2]=d;k[m>>2]=k[k[f>>2]>>2];k[t>>2]=0;k[p>>2]=0;k[n>>2]=0;b=Ch(k[m>>2]|0,24,0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}k[(k[o>>2]|0)+4>>2]=k[(k[s>>2]|0)+468>>2];k[(k[s>>2]|0)+468>>2]=k[o>>2];b=Ch(k[m>>2]|0,24,0)|0;k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=b;if(!(k[p>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}GF(k[(k[s>>2]|0)+8>>2]|0,k[p>>2]|0);k[k[o>>2]>>2]=k[g>>2];k[(k[o>>2]|0)+12>>2]=k[j>>2];k[(k[o>>2]|0)+16>>2]=-1;k[(k[o>>2]|0)+16+4>>2]=-1;b=Ch(k[m>>2]|0,480,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0};k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[u+16>>2]=0;k[u+20>>2]=0;k[u+24>>2]=0;k[u+28>>2]=0;k[u>>2]=k[q>>2];k[k[q>>2]>>2]=k[m>>2];k[(k[q>>2]|0)+128>>2]=k[h>>2];k[(k[q>>2]|0)+124>>2]=k[s>>2];k[(k[q>>2]|0)+448>>2]=k[k[g>>2]>>2];i[(k[q>>2]|0)+148>>0]=i[(k[g>>2]|0)+8>>0]|0;k[(k[q>>2]|0)+136>>2]=k[(k[f>>2]|0)+136>>2];h=nx(k[q>>2]|0)|0;k[v>>2]=h;if(k[v>>2]|0){b=k[v>>2]|0;h=k[m>>2]|0;k[w>>2]=k[k[g>>2]>>2];Wh(b,-1,Qh(h,34884,w)|0,-1);if(k[(k[g>>2]|0)+12>>2]|0){w=Sy(k[m>>2]|0,k[(k[g>>2]|0)+12>>2]|0,0)|0;k[t>>2]=w;if(0==(Ky(u,k[t>>2]|0)|0)?(l[(k[m>>2]|0)+69>>0]|0|0)==0:0){w=eA(k[v>>2]|0)|0;k[n>>2]=w;sB(k[q>>2]|0,k[t>>2]|0,k[n>>2]|0,16)}sv(k[m>>2]|0,k[t>>2]|0)}HF(k[q>>2]|0,k[(k[g>>2]|0)+28>>2]|0,k[j>>2]|0)|0;if(k[n>>2]|0)iA(k[v>>2]|0,k[n>>2]|0);px(k[v>>2]|0,75)|0;IF(k[f>>2]|0,k[q>>2]|0);if(!(l[(k[m>>2]|0)+69>>0]|0)){w=JF(k[v>>2]|0,(k[p>>2]|0)+4|0,(k[s>>2]|0)+108|0)|0;k[k[p>>2]>>2]=w}k[(k[p>>2]|0)+8>>2]=k[(k[q>>2]|0)+44>>2];k[(k[p>>2]|0)+12>>2]=k[(k[q>>2]|0)+40>>2];k[(k[p>>2]|0)+16>>2]=k[g>>2];k[(k[o>>2]|0)+16>>2]=k[(k[q>>2]|0)+140>>2];k[(k[o>>2]|0)+16+4>>2]=k[(k[q>>2]|0)+144>>2];mv(k[v>>2]|0)}Zh(k[q>>2]|0);bg(k[m>>2]|0,k[q>>2]|0);k[e>>2]=k[o>>2];w=k[e>>2]|0;r=x;return w|0}function GF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[e>>2]|0)+20>>2]=k[(k[d>>2]|0)+200>>2];k[(k[d>>2]|0)+200>>2]=k[e>>2];r=c;return}function HF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+64|0;d=n+52|0;o=n+48|0;e=n+44|0;h=n+40|0;m=n+36|0;f=n+32|0;j=n+8|0;g=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[m>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[o>>2];while(1){if(!(k[h>>2]|0))break;if((k[e>>2]|0)==10)c=i[(k[h>>2]|0)+1>>0]|0;else c=k[e>>2]&255;i[(k[d>>2]|0)+149>>0]=c;switch(l[k[h>>2]>>0]|0|0){case 110:{a=k[d>>2]|0;b=DG(k[d>>2]|0,k[h>>2]|0)|0;o=_y(k[f>>2]|0,k[(k[h>>2]|0)+20>>2]|0,0)|0;ow(a,b,o,Sy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0,l[(k[d>>2]|0)+149>>0]|0);break}case 108:{a=k[d>>2]|0;b=DG(k[d>>2]|0,k[h>>2]|0)|0;o=iy(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;qw(a,b,o,Sz(k[f>>2]|0,k[(k[h>>2]|0)+24>>2]|0)|0,l[(k[d>>2]|0)+149>>0]|0);break}case 109:{o=k[d>>2]|0;mw(o,DG(k[d>>2]|0,k[h>>2]|0)|0,Sy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0);break}default:{o=iy(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;k[g>>2]=o;FB(j,4,0);Zv(k[d>>2]|0,k[g>>2]|0,j)|0;pv(k[f>>2]|0,k[g>>2]|0)}}if((l[k[h>>2]>>0]|0|0)!=119)px(k[m>>2]|0,118)|0;k[h>>2]=k[(k[h>>2]|0)+28>>2]}r=n;return 0}function IF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if(!(k[(k[c>>2]|0)+36>>2]|0)){k[(k[c>>2]|0)+4>>2]=k[b+4>>2];k[(k[c>>2]|0)+36>>2]=k[(k[d>>2]|0)+36>>2];k[(k[c>>2]|0)+12>>2]=k[(k[d>>2]|0)+12>>2];r=e;return}else{bg(k[b>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=e;return}}function JF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[(k[f>>2]|0)+88>>2];KF(k[f>>2]|0,k[h>>2]|0);k[k[g>>2]>>2]=k[(k[f>>2]|0)+136>>2];k[(k[f>>2]|0)+88>>2]=0;r=e;return k[d>>2]|0}function KF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0;o=r;r=r+32|0;c=o+24|0;d=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;e=o+4|0;f=o;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[k[d>>2]>>2];k[m>>2]=k[(k[c>>2]|0)+12>>2];k[e>>2]=k[(k[m>>2]|0)+76>>2];b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-129|128;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257;k[h>>2]=(k[(k[c>>2]|0)+88>>2]|0)+(((k[(k[c>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((l[k[h>>2]>>0]|0|0)<=71){switch(l[k[h>>2]>>0]|0|0){case 2:{if(k[(k[h>>2]|0)+8>>2]|0){n=(k[c>>2]|0)+144|0;j[n>>1]=j[n>>1]&-129;n=6}else n=6;break}case 0:case 1:{n=6;break}case 9:case 10:case 8:{b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-129;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257|256;break}case 12:{if((k[(k[h>>2]|0)+8>>2]|0)>(k[g>>2]|0))k[g>>2]=k[(k[h>>2]|0)+8>>2];break}case 11:{k[f>>2]=k[(k[h>>2]|0)+-20+4>>2];if((k[f>>2]|0)>(k[g>>2]|0))k[g>>2]=k[f>>2];break}case 3:case 5:case 7:{k[(k[h>>2]|0)+16>>2]=201;i[(k[h>>2]|0)+1>>0]=-19;break}case 4:case 6:{k[(k[h>>2]|0)+16>>2]=202;i[(k[h>>2]|0)+1>>0]=-19;break}default:{}}if((n|0)==6){n=0;b=(k[c>>2]|0)+144|0;j[b>>1]=j[b>>1]&-257|256}if(((l[34898+(l[k[h>>2]>>0]|0)>>0]|0)&1|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<0:0)k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+(-1-(k[(k[h>>2]|0)+8>>2]|0)<<2)>>2]}if((k[h>>2]|0)==(k[(k[c>>2]|0)+88>>2]|0))break;k[h>>2]=(k[h>>2]|0)+-20}bg(k[k[c>>2]>>2]|0,k[(k[m>>2]|0)+76>>2]|0);k[(k[m>>2]|0)+76>>2]=0;k[(k[m>>2]|0)+72>>2]=0;k[k[d>>2]>>2]=k[g>>2];r=o;return}function LF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;k[k[e>>2]>>2]=0;a=k[d>>2]|0;if((l[(k[d>>2]|0)+66>>0]|0)!=1){f=BG(a,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}k[f>>2]=k[(k[d>>2]|0)+120+(i[a+68>>0]<<2)>>2];a=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;b=(j[a>>1]|0)+1<<16>>16;j[a>>1]=b;if((b&65535|0)>=(m[(k[f>>2]|0)+18>>1]|0)){f=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[f>>1]=(j[f>>1]|0)+-1<<16>>16;f=BG(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}if(i[(k[f>>2]|0)+4>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{f=CG(k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}return 0}function MF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[k[e>>2]>>2]=0;b=(k[d>>2]|0)+64|0;i[b>>0]=l[b>>0]&-15;j[(k[d>>2]|0)+16+18>>1]=0;if(((l[(k[d>>2]|0)+66>>0]|0)==1?(m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(l[(k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+-1<<16>>16;k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}b=NF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function NF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;h=o+8|0;g=o+4|0;c=o;k[e>>2]=a;k[f>>2]=b;if((l[(k[e>>2]|0)+66>>0]|0)!=1){if((l[(k[e>>2]|0)+66>>0]|0)>=3)a=OF(k[e>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}if(!(l[(k[e>>2]|0)+66>>0]|0)){k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}if((k[(k[e>>2]|0)+60>>2]|0)!=0?(i[(k[e>>2]|0)+66>>0]=1,b=(k[(k[e>>2]|0)+60>>2]|0)<0,k[(k[e>>2]|0)+60>>2]=0,b):0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];do if(i[(k[g>>2]|0)+4>>0]|0){while(1){a=i[(k[e>>2]|0)+68>>0]|0;if(m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1]|0)break;b=k[e>>2]|0;if(!a){n=17;break}RF(b)}if((n|0)==17){i[b+66>>0]=0;k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+80+(a<<1)|0;j[n>>1]=(j[n>>1]|0)+-1<<16>>16;k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];if((l[(k[g>>2]|0)+2>>0]|0)!=0?(i[(k[g>>2]|0)+4>>0]|0)==0:0){n=MF(k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=n;break}k[h>>2]=0}else{k[c>>2]=m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1];n=k[e>>2]|0;n=PF(n,qr((k[(k[g>>2]|0)+56>>2]|0)+(m[(k[g>>2]|0)+20>>1]&(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[h>>2]=n;if(!(k[h>>2]|0)){n=QF(k[e>>2]|0)|0;k[h>>2]=n;break}k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}function OF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0|0)==4){k[b>>2]=k[a+60>>2];e=k[b>>2]|0;r=f;return e|0}i[a+66>>0]=0;a=(k[c>>2]|0)+40|0;a=VF(k[c>>2]|0,k[(k[c>>2]|0)+48>>2]|0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(((k[d>>2]|0)==0?(Ud(k[(k[c>>2]|0)+48>>2]|0),k[(k[c>>2]|0)+48>>2]=0,a=(k[c>>2]|0)+60|0,k[a>>2]=k[a>>2]|k[e>>2],(k[(k[c>>2]|0)+60>>2]|0)!=0):0)?(l[(k[c>>2]|0)+66>>0]|0|0)==1:0)i[(k[c>>2]|0)+66>>0]=2;k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}function PF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];if((i[(k[d>>2]|0)+68>>0]|0)>=19){a=_j(63009)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}else{j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;a=(k[d>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;j[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]=0;a=SF(k[f>>2]|0,k[e>>2]|0,(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)|0,k[d>>2]|0,l[(k[d>>2]|0)+65>>0]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}return 0}function QF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[c>>2]=0;while(1){a=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;b=k[c>>2]|0;if(!((i[a+4>>0]|0)!=0^1)){a=5;break}b=qr((k[(k[c>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0;k[d>>2]=b;j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=j[(k[c>>2]|0)+18>>1]|0;b=PF(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){a=4;break}}if((a|0)==4){k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}else if((a|0)==5){j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=(m[b+18>>1]|0)-1;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}return 0}function RF(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;j[(k[c>>2]|0)+16+18>>1]=0;d=(k[c>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-7;d=(k[c>>2]|0)+68|0;a=i[d>>0]|0;i[d>>0]=a+-1<<24>>24;aC(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0);r=b;return}function SF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;p=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;c=k[h>>2]|0;a:do if(c>>>0<=(TF(k[g>>2]|0)|0)>>>0){c=Fg(k[k[g>>2]>>2]|0,k[h>>2]|0,p,k[o>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){c=cu(k[p>>2]|0)|0;k[k[j>>2]>>2]=c;if((l[k[k[j>>2]>>2]>>0]|0|0)==0?(UF(k[p>>2]|0,k[h>>2]|0,k[g>>2]|0)|0,c=eu(k[k[j>>2]>>2]|0)|0,k[q>>2]=c,(k[q>>2]|0)!=0):0){_B(k[k[j>>2]>>2]|0);break}do if(k[n>>2]|0){if((m[(k[k[j>>2]>>2]|0)+18>>1]|0|0)>=1?(l[(k[k[j>>2]>>2]|0)+2>>0]|0|0)==(l[(k[n>>2]|0)+69>>0]|0|0):0)break;c=_j(60266)|0;k[q>>2]=c;_B(k[k[j>>2]>>2]|0);break a}while(0);k[f>>2]=0;q=k[f>>2]|0;r=s;return q|0}}else{c=_j(60244)|0;k[q>>2]=c}while(0);if(k[n>>2]|0){c=(k[n>>2]|0)+68|0;i[c>>0]=(i[c>>0]|0)+-1<<24>>24}k[f>>2]=k[q>>2];q=k[f>>2]|0;r=s;return q|0}function TF(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+44>>2]|0}function UF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=cu(k[d>>2]|0)|0;k[g>>2]=b;if((k[e>>2]|0)==(k[(k[g>>2]|0)+84>>2]|0)){b=k[g>>2]|0;r=h;return b|0}b=Gg(k[d>>2]|0)|0;k[(k[g>>2]|0)+56>>2]=b;k[(k[g>>2]|0)+72>>2]=k[d>>2];k[(k[g>>2]|0)+52>>2]=k[f>>2];k[(k[g>>2]|0)+84>>2]=k[e>>2];i[(k[g>>2]|0)+5>>0]=(k[e>>2]|0)==1?100:0;b=k[g>>2]|0;r=h;return b|0}function VF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+432|0;g=s+36|0;h=s+32|0;i=s+28|0;j=s;l=s+24|0;n=s+20|0;q=s+16|0;p=s+12|0;o=s+8|0;k[h>>2]=a;k[i>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[l>>2]=e;k[n>>2]=f;k[o>>2]=0;if(k[i>>2]|0){f=WF(k[(k[h>>2]|0)+72>>2]|0,s+40|0,384,o)|0;k[p>>2]=f;if(!(k[p>>2]|0)){k[g>>2]=7;q=k[g>>2]|0;r=s;return q|0}XF(k[(k[h>>2]|0)+72>>2]|0,k[j>>2]|0,k[i>>2]|0,k[p>>2]|0);if(!(m[(k[p>>2]|0)+8>>1]|0)){bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);q=_j(59021)|0;k[g>>2]=q;q=k[g>>2]|0;r=s;return q|0}}else k[p>>2]=0;f=j;f=YF(k[h>>2]|0,k[p>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[q>>2]=f;if(k[o>>2]|0)bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);k[g>>2]=k[q>>2];q=k[g>>2]|0;r=s;return q|0}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;p=o+16|0;h=o+12|0;n=o+8|0;l=o+4|0;i=o;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[h>>2]=d;k[l>>2]=8-(k[g>>2]&7)&7;k[i>>2]=16+(((m[(k[f>>2]|0)+6>>1]|0)+1|0)*40|0);if((k[i>>2]|0)>((k[p>>2]|0)+(k[l>>2]|0)|0)){p=k[i>>2]|0;p=Mh(k[(k[f>>2]|0)+12>>2]|0,p,((p|0)<0)<<31>>31)|0;k[n>>2]=p;k[k[h>>2]>>2]=k[n>>2];if(!(k[n>>2]|0)){k[e>>2]=0;p=k[e>>2]|0;r=o;return p|0}}else{k[n>>2]=(k[g>>2]|0)+(k[l>>2]|0);k[k[h>>2]>>2]=0}k[(k[n>>2]|0)+4>>2]=(k[n>>2]|0)+16;k[k[n>>2]>>2]=k[f>>2];j[(k[n>>2]|0)+8>>1]=(m[(k[f>>2]|0)+6>>1]|0)+1;k[e>>2]=k[n>>2];p=k[e>>2]|0;r=o;return p|0}function XF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;v=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;n=u+12|0;t=u+40|0;q=u+8|0;o=u+4|0;p=u;k[e>>2]=a;k[f>>2]=b;k[v>>2]=c;k[s>>2]=d;k[g>>2]=k[v>>2];k[o>>2]=k[(k[s>>2]|0)+4>>2];i[(k[s>>2]|0)+10>>0]=0;b=k[g>>2]|0;if((l[k[g>>2]>>0]|0|0)<128){k[q>>2]=l[b>>0];b=1}else b=(lG(b,q)|0)&255;k[n>>2]=b&255;k[h>>2]=k[q>>2];j[t>>1]=0;while(1){if((k[n>>2]|0)>>>0>=(k[q>>2]|0)>>>0){b=11;break}if((k[h>>2]|0)>(k[f>>2]|0)){b=11;break}b=(k[g>>2]|0)+(k[n>>2]|0)|0;if((l[(k[g>>2]|0)+(k[n>>2]|0)>>0]|0|0)<128){k[p>>2]=l[b>>0];b=1}else b=(lG(b,p)|0)&255;k[n>>2]=(k[n>>2]|0)+(b&255);i[(k[o>>2]|0)+10>>0]=i[(k[e>>2]|0)+4>>0]|0;k[(k[o>>2]|0)+32>>2]=k[(k[e>>2]|0)+12>>2];k[(k[o>>2]|0)+24>>2]=0;k[(k[o>>2]|0)+16>>2]=0;v=nG((k[g>>2]|0)+(k[h>>2]|0)|0,k[p>>2]|0,k[o>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+v;k[o>>2]=(k[o>>2]|0)+40;v=(j[t>>1]|0)+1<<16>>16;j[t>>1]=v;if((v&65535|0)>=(m[(k[s>>2]|0)+8>>1]|0|0)){b=11;break}}if((b|0)==11){j[(k[s>>2]|0)+8>>1]=j[t>>1]|0;r=u;return}}function YF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;g=F+80|0;h=F+76|0;n=F+72|0;o=F+8|0;p=F+68|0;q=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;if(((k[n>>2]|0)==0?(l[(k[h>>2]|0)+66>>0]|0)==1:0)?(l[(k[h>>2]|0)+64>>0]&2|0)!=0:0){b=(k[h>>2]|0)+16|0;f=o;if((k[b>>2]|0)==(k[f>>2]|0)?(k[b+4>>2]|0)==(k[f+4>>2]|0):0){k[k[q>>2]>>2]=0;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}if((l[(k[h>>2]|0)+64>>0]&8|0)!=0?(b=(k[h>>2]|0)+16|0,e=k[b+4>>2]|0,f=o,a=k[f+4>>2]|0,(e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)):0){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}}if(k[n>>2]|0){f=ZF(k[n>>2]|0)|0;k[E>>2]=f;i[(k[n>>2]|0)+11>>0]=0}else k[E>>2]=0;f=_F(k[h>>2]|0)|0;k[C>>2]=f;if(k[C>>2]|0){k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}if(!(l[(k[h>>2]|0)+66>>0]|0)){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}a:do{k[B>>2]=k[(k[h>>2]|0)+120+(i[(k[h>>2]|0)+68>>0]<<2)>>2];k[v>>2]=0;k[D>>2]=(m[(k[B>>2]|0)+18>>1]|0)-1;k[u>>2]=k[D>>2]>>1-(k[p>>2]|0);j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];b:do if(!(k[E>>2]|0)){while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));c:do if(i[(k[B>>2]|0)+3>>0]|0)while(1){f=k[y>>2]|0;k[y>>2]=f+1;if(128>(l[f>>0]|0))break c;if((k[y>>2]|0)>>>0>=(k[(k[B>>2]|0)+60>>2]|0)>>>0){d=20;break a}}while(0);mu(k[y>>2]|0,x)|0;b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if((e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)){k[v>>2]=(k[u>>2]|0)+1;if((k[v>>2]|0)>(k[D>>2]|0)){d=23;break}}else{b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if(!((e|0)>(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0:0))){d=27;break}k[D>>2]=(k[u>>2]|0)-1;if((k[v>>2]|0)>(k[D>>2]|0)){d=26;break}}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}if((d|0)==23){k[s>>2]=-1;d=51;break}else if((d|0)==26){k[s>>2]=1;d=51;break}else if((d|0)==27){d=0;a=(k[h>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;a=x;b=k[a+4>>2]|0;f=(k[h>>2]|0)+16|0;k[f>>2]=k[a>>2];k[f+4>>2]=b;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[B>>2]|0)+4>>0]|0){d=29;break a}k[v>>2]=k[u>>2];break}}else while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));k[w>>2]=l[k[y>>2]>>0];do if((k[w>>2]|0)<=(l[(k[B>>2]|0)+7>>0]|0)){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+1|0,k[n>>2]|0)|0;k[s>>2]=f}else{if((l[(k[y>>2]|0)+1>>0]&128|0)==0?(f=((k[w>>2]&127)<<7)+(l[(k[y>>2]|0)+1>>0]|0)|0,k[w>>2]=f,(f|0)<=(m[(k[B>>2]|0)+10>>1]|0)):0){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+2|0,k[n>>2]|0)|0;k[s>>2]=f;break}k[z>>2]=(k[y>>2]|0)+(0-(l[(k[B>>2]|0)+6>>0]|0));cc[k[(k[B>>2]|0)+80>>2]&255](k[B>>2]|0,k[z>>2]|0,(k[h>>2]|0)+16|0);k[w>>2]=k[(k[h>>2]|0)+16>>2];if((k[w>>2]|0)<2){d=37;break a}f=(k[w>>2]|0)+18|0;f=jg(f,((f|0)<0)<<31>>31)|0;k[A>>2]=f;if(!(k[A>>2]|0)){d=39;break a}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];f=$F(k[h>>2]|0,0,k[w>>2]|0,k[A>>2]|0,2)|0;k[C>>2]=f;if(k[C>>2]|0){d=41;break a}f=Yb[k[E>>2]&255](k[w>>2]|0,k[A>>2]|0,k[n>>2]|0)|0;k[s>>2]=f;Ud(k[A>>2]|0)}while(0);if((k[s>>2]|0)<0)k[v>>2]=(k[u>>2]|0)+1;else{if((k[s>>2]|0)<=0){d=47;break a}k[D>>2]=(k[u>>2]|0)-1}if((k[v>>2]|0)>(k[D>>2]|0)){d=51;break b}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}while(0);if((d|0)==51?(d=0,(i[(k[B>>2]|0)+4>>0]|0)!=0):0){d=52;break}c=k[B>>2]|0;if((k[v>>2]|0)>=(m[(k[B>>2]|0)+18>>1]|0)){f=qr((k[(k[B>>2]|0)+56>>2]|0)+((l[c+5>>0]|0)+8)|0)|0;k[t>>2]=f}else{f=qr((k[c+56>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)+1>>0]))|0)|0;k[t>>2]=f}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[v>>2];f=PF(k[h>>2]|0,k[t>>2]|0)|0;k[C>>2]=f}while((k[C>>2]|0)==0);if((d|0)==20){E=_j(63387)|0;k[g>>2]=E;E=k[g>>2]|0;r=F;return E|0}else if((d|0)==29){k[k[q>>2]>>2]=0;k[C>>2]=0}else if((d|0)==37){E=_j(63460)|0;k[C>>2]=E}else if((d|0)==39)k[C>>2]=7;else if((d|0)==41)Ud(k[A>>2]|0);else if((d|0)==47){k[k[q>>2]>>2]=0;k[C>>2]=0;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[n>>2]|0)+11>>0]|0)k[C>>2]=11}else if((d|0)==52){j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];k[k[q>>2]>>2]=k[s>>2];k[C>>2]=0}j[(k[h>>2]|0)+16+18>>1]=0;E=(k[h>>2]|0)+64|0;i[E>>0]=l[E>>0]&-7;k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}function ZF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(((m[(k[k[c>>2]>>2]|0)+6>>1]|0)+(m[(k[k[c>>2]>>2]|0)+8>>1]|0)|0)<=13){k[d>>2]=m[(k[(k[c>>2]|0)+4>>2]|0)+8>>1];a=(k[c>>2]|0)+12|0;if(i[k[(k[k[c>>2]>>2]|0)+16>>2]>>0]|0){i[a>>0]=1;i[(k[c>>2]|0)+13>>0]=-1}else{i[a>>0]=-1;i[(k[c>>2]|0)+13>>0]=1}if(k[d>>2]&4){k[b>>2]=160;d=k[b>>2]|0;r=e;return d|0}if((k[d>>2]&25|0)==0?(k[(k[k[c>>2]>>2]|0)+20>>2]|0)==0:0){k[b>>2]=161;d=k[b>>2]|0;r=e;return d|0}}k[b>>2]=162;d=k[b>>2]|0;r=e;return d|0}function _F(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=0;do if((l[(k[c>>2]|0)+66>>0]|0)>=3){a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0)!=4){ZB(a);break}k[b>>2]=k[a+60>>2];f=k[b>>2]|0;r=g;return f|0}while(0);a:do if((i[(k[c>>2]|0)+68>>0]|0)>=0)while(1){if(!(i[(k[c>>2]|0)+68>>0]|0))break a;h=(k[c>>2]|0)+68|0;a=i[h>>0]|0;i[h>>0]=a+-1<<24>>24;aC(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0)}else{a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+52>>2]|0)){i[a+66>>0]=0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}a=SF(k[(k[a>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+52>>2]|0,(k[c>>2]|0)+120|0,0,l[(k[c>>2]|0)+65>>0]|0)|0;k[e>>2]=a;a=k[c>>2]|0;if(!(k[e>>2]|0)){i[a+68>>0]=0;i[(k[c>>2]|0)+69>>0]=i[(k[(k[c>>2]|0)+120>>2]|0)+2>>0]|0;break}i[a+66>>0]=0;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}while(0);k[d>>2]=k[(k[c>>2]|0)+120>>2];if((l[k[d>>2]>>0]|0)!=0?((k[(k[c>>2]|0)+72>>2]|0)==0|0)==(l[(k[d>>2]|0)+2>>0]|0):0){j[(k[c>>2]|0)+80>>1]=0;j[(k[c>>2]|0)+16+18>>1]=0;h=(k[c>>2]|0)+64|0;i[h>>0]=l[h>>0]&-15;do if((m[(k[d>>2]|0)+18>>1]|0)>0)i[(k[c>>2]|0)+66>>0]=1;else{if(i[(k[d>>2]|0)+4>>0]|0){i[(k[c>>2]|0)+66>>0]=0;break}if((k[(k[d>>2]|0)+84>>2]|0)==1){h=qr((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0)|0;k[f>>2]=h;i[(k[c>>2]|0)+66>>0]=1;h=PF(k[c>>2]|0,k[f>>2]|0)|0;k[e>>2]=h;break}h=_j(63147)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}while(0);k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}h=_j(63136)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function $F(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+80|0;f=C+68|0;g=C+64|0;h=C+60|0;j=C+56|0;n=C+52|0;o=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;p=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;q=C+4|0;z=C;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;k[B>>2]=0;k[u>>2]=0;k[A>>2]=k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2];k[y>>2]=k[(k[g>>2]|0)+4>>2];aG(k[g>>2]|0);k[t>>2]=k[(k[g>>2]|0)+16+8>>2];if(((k[t>>2]|0)-(k[(k[A>>2]|0)+56>>2]|0)|0)>>>0>((k[(k[y>>2]|0)+36>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)|0)>>>0){B=_j(62723)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}if((k[h>>2]|0)>>>0<(m[(k[g>>2]|0)+16+16>>1]|0)>>>0){k[p>>2]=k[j>>2];if(((k[p>>2]|0)+(k[h>>2]|0)|0)>>>0>(m[(k[g>>2]|0)+16+16>>1]|0)>>>0)k[p>>2]=(m[(k[g>>2]|0)+16+16>>1]|0)-(k[h>>2]|0);A=bG((k[t>>2]|0)+(k[h>>2]|0)|0,k[n>>2]|0,k[p>>2]|0,k[o>>2]&1,k[(k[A>>2]|0)+72>>2]|0)|0;k[B>>2]=A;k[h>>2]=0;k[n>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[p>>2]|0)}else k[h>>2]=(k[h>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0);a:do if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){k[x>>2]=(k[(k[y>>2]|0)+36>>2]|0)-4;A=qr((k[t>>2]|0)+(m[(k[g>>2]|0)+16+16>>1]|0)|0)|0;k[w>>2]=A;if((k[o>>2]|0)!=2?(l[(k[g>>2]|0)+64>>0]&4|0)==0:0){k[v>>2]=(((k[(k[g>>2]|0)+16+12>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)+(k[x>>2]|0)-1|0)>>>0)/((k[x>>2]|0)>>>0)|0;do if((k[v>>2]|0)>(k[(k[g>>2]|0)+56>>2]|0)){A=mg(k[(k[g>>2]|0)+12>>2]|0,k[v>>2]<<1<<2,0)|0;k[s>>2]=A;if(!(k[s>>2]|0)){k[B>>2]=7;break}else{k[(k[g>>2]|0)+56>>2]=k[v>>2]<<1;k[(k[g>>2]|0)+12>>2]=k[s>>2];break}}while(0);if(!(k[B>>2]|0)){dS(k[(k[g>>2]|0)+12>>2]|0,0,k[v>>2]<<2|0)|0;A=(k[g>>2]|0)+64|0;i[A>>0]=l[A>>0]|4}}if((l[(k[g>>2]|0)+64>>0]&4|0)!=0?(k[(k[(k[g>>2]|0)+12>>2]|0)+((((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){k[u>>2]=((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0;k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2];k[h>>2]=((k[h>>2]|0)>>>0)%((k[x>>2]|0)>>>0)|0}while(1){if(!((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0&(k[w>>2]|0)!=0))break a;if(l[(k[g>>2]|0)+64>>0]&4)k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2]=k[w>>2];if((k[h>>2]|0)>>>0>=(k[x>>2]|0)>>>0){if(k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2]|0)k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2];else{A=cG(k[y>>2]|0,k[w>>2]|0,0,w)|0;k[B>>2]=A}k[h>>2]=(k[h>>2]|0)-(k[x>>2]|0)}else{k[q>>2]=k[j>>2];if(((k[q>>2]|0)+(k[h>>2]|0)|0)>>>0>(k[x>>2]|0)>>>0)k[q>>2]=(k[x>>2]|0)-(k[h>>2]|0);A=Fg(k[k[y>>2]>>2]|0,k[w>>2]|0,z,(k[o>>2]&1|0)==0?2:0)|0;k[B>>2]=A;if(!(k[B>>2]|0)){A=Gg(k[z>>2]|0)|0;k[t>>2]=A;A=qr(k[t>>2]|0)|0;k[w>>2]=A;A=bG((k[t>>2]|0)+((k[h>>2]|0)+4)|0,k[n>>2]|0,k[q>>2]|0,k[o>>2]&1,k[z>>2]|0)|0;k[B>>2]=A;Ig(k[z>>2]|0);k[h>>2]=0}k[j>>2]=(k[j>>2]|0)-(k[q>>2]|0);k[n>>2]=(k[n>>2]|0)+(k[q>>2]|0)}k[u>>2]=(k[u>>2]|0)+1}}while(0);if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){B=_j(62880)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}else{k[f>>2]=k[B>>2];B=k[f>>2]|0;r=C;return B|0}return 0}function aG(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(m[(k[b>>2]|0)+16+18>>1]|0){r=d;return}k[c>>2]=i[(k[b>>2]|0)+68>>0];a=(k[b>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;gG(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0,m[(k[b>>2]|0)+80+(k[c>>2]<<1)>>1]|0,(k[b>>2]|0)+16|0);r=d;return}function bG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[n>>2]=d;k[j>>2]=e;do if(k[n>>2]|0){n=Qg(k[j>>2]|0)|0;k[l>>2]=n;if(!(k[l>>2]|0)){bS(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;break}k[f>>2]=k[l>>2];n=k[f>>2]|0;r=m;return n|0}else bS(k[h>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;while(0);k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}function cG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;j=s;h=s+36|0;k[e>>2]=a;k[f>>2]=b;k[p>>2]=c;k[g>>2]=d;k[m>>2]=0;k[n>>2]=0;k[q>>2]=0;if(i[(k[e>>2]|0)+17>>0]|0){k[j>>2]=(k[f>>2]|0)+1;while(1){c=dG(k[e>>2]|0,k[j>>2]|0)|0;if((c|0)==(k[j>>2]|0))a=1;else a=(k[j>>2]|0)==((((k[384]|0)>>>0)/((k[(k[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}if(((b>>>0<=(TF(k[e>>2]|0)|0)>>>0?(c=eG(k[e>>2]|0,k[j>>2]|0,h,o)|0,k[q>>2]=c,(k[q>>2]|0)==0):0)?(l[h>>0]|0)==4:0)?(k[o>>2]|0)==(k[f>>2]|0):0){k[m>>2]=k[j>>2];k[q>>2]=101}}if((k[q>>2]|0)==0?(o=fG(k[e>>2]|0,k[f>>2]|0,n,(k[p>>2]|0)==0?2:0)|0,k[q>>2]=o,(k[q>>2]|0)==0):0){o=qr(k[(k[n>>2]|0)+56>>2]|0)|0;k[m>>2]=o}k[k[g>>2]>>2]=k[m>>2];b=k[n>>2]|0;if(k[p>>2]|0){k[k[p>>2]>>2]=b;p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}else{_B(b);p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}return 0}function dG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>>>0<2){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[g>>2]=(((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0)+1;k[f>>2]=(((k[e>>2]|0)-2|0)>>>0)/((k[g>>2]|0)>>>0)|0;b=(ha(k[f>>2]|0,k[g>>2]|0)|0)+2|0;k[h>>2]=b;if((k[h>>2]|0)==((((k[384]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+1;k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}function eG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+36|0;s=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;n=q+16|0;j=q+12|0;o=q+8|0;m=q+4|0;p=q;k[s>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=dG(k[s>>2]|0,k[f>>2]|0)|0;k[j>>2]=d;d=Fg(k[k[s>>2]>>2]|0,k[j>>2]|0,n,0)|0;k[p>>2]=d;if(k[p>>2]|0){k[e>>2]=k[p>>2];s=k[e>>2]|0;r=q;return s|0}s=Gg(k[n>>2]|0)|0;k[o>>2]=s;k[m>>2]=((k[f>>2]|0)-(k[j>>2]|0)-1|0)*5;if((k[m>>2]|0)<0){Ig(k[n>>2]|0);s=_j(59240)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}i[k[g>>2]>>0]=i[(k[o>>2]|0)+(k[m>>2]|0)>>0]|0;if(k[h>>2]|0){s=qr((k[o>>2]|0)+((k[m>>2]|0)+1)|0)|0;k[k[h>>2]>>2]=s}Ig(k[n>>2]|0);if((l[k[g>>2]>>0]|0|0)>=1?(l[k[g>>2]>>0]|0|0)<=5:0){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}s=_j(59248)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;e=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;m=l+8|0;j=l+4|0;i=l;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;c=Fg(k[k[f>>2]>>2]|0,k[g>>2]|0,i,k[m>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0){k[e>>2]=k[j>>2];m=k[e>>2]|0;r=l;return m|0}else{m=UF(k[i>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[k[h>>2]>>2]=m;k[e>>2]=0;m=k[e>>2]|0;r=l;return m|0}return 0}function gG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;cc[k[(k[g>>2]|0)+80>>2]&255](k[g>>2]|0,(k[(k[g>>2]|0)+56>>2]|0)+((m[(k[g>>2]|0)+20>>1]|0)&((l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)>>0]|0)<<8|(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)+1>>0]|0)))|0,k[e>>2]|0);r=d;return}function hG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;j=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;d=s+36|0;t=s+32|0;q=s+28|0;h=s+24|0;g=s+16|0;f=s+8|0;e=s;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[d>>2]=(k[o>>2]|0)+(l[k[o>>2]>>0]&63);k[t>>2]=l[(k[o>>2]|0)+1>>0];do switch(k[t>>2]|0){case 1:{h=i[k[d>>2]>>0]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 2:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 3:{h=i[k[d>>2]>>0]<<16|l[(k[d>>2]|0)+1>>0]<<8|l[(k[d>>2]|0)+2>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 4:{k[h>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];h=k[h>>2]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 5:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];h=$R(l[(k[d>>2]|0)+2>>0]<<24|l[(k[d>>2]|0)+2+1>>0]<<16|l[(k[d>>2]|0)+2+2>>0]<<8|l[(k[d>>2]|0)+2+3>>0]|0,0,kS(0,1,h|0,((h|0)<0)<<31>>31|0)|0,L|0)|0;t=e;k[t>>2]=h;k[t+4>>2]=L;break}case 6:{t=g;k[t>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];k[t+4>>2]=0;t=k[g>>2]|0;h=g;k[h>>2]=l[(k[d>>2]|0)+4>>0]<<24|l[(k[d>>2]|0)+4+1>>0]<<16|l[(k[d>>2]|0)+4+2>>0]<<8|l[(k[d>>2]|0)+4+3>>0];k[h+4>>2]=t;h=k[g+4>>2]|0;t=e;k[t>>2]=k[g>>2];k[t+4>>2]=h;break}case 8:{t=e;k[t>>2]=0;k[t+4>>2]=0;break}case 9:{t=e;k[t>>2]=1;k[t+4>>2]=0;break}case 7:case 0:{t=jG(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}default:{t=jG(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}}while(0);t=k[(k[p>>2]|0)+4>>2]|0;c=k[t+4>>2]|0;h=f;k[h>>2]=k[t>>2];k[h+4>>2]=c;h=f;c=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;do if(!((c|0)>(g|0)|((c|0)==(g|0)?(k[h>>2]|0)>>>0>(k[t>>2]|0)>>>0:0))){h=f;f=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;d=k[p>>2]|0;if((f|0)<(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)){k[q>>2]=i[d+13>>0];break}if((m[d+8>>1]|0)>1){t=kG(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1)|0;k[q>>2]=t;break}else{k[q>>2]=i[(k[p>>2]|0)+10>>0];i[(k[p>>2]|0)+14>>0]=1;break}}else k[q>>2]=i[(k[p>>2]|0)+12>>0];while(0);k[j>>2]=k[q>>2];t=k[j>>2]|0;r=s;return t|0}function iG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;p=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;d=s+16|0;q=s+12|0;j=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[f>>2];a=(k[h>>2]|0)+1|0;if((l[(k[h>>2]|0)+1>>0]|0)<128)k[d>>2]=l[a>>0];else lG(a,d)|0;do if((k[d>>2]|0)>=12){if(!(k[d>>2]&1)){k[q>>2]=i[(k[g>>2]|0)+13>>0];break}k[o>>2]=l[k[h>>2]>>0];k[n>>2]=((k[d>>2]|0)-12|0)/2|0;if(((k[o>>2]|0)+(k[n>>2]|0)|0)>(k[e>>2]|0)){q=(_j(74742)|0)&255;i[(k[g>>2]|0)+11>>0]=q;k[p>>2]=0;q=k[p>>2]|0;r=s;return q|0}if((k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0)<(k[n>>2]|0))a=k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0;else a=k[n>>2]|0;k[j>>2]=a;o=oR((k[h>>2]|0)+(k[o>>2]|0)|0,k[(k[(k[g>>2]|0)+4>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0){a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}k[q>>2]=(k[n>>2]|0)-(k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0);if(!(k[q>>2]|0))if((m[(k[g>>2]|0)+8>>1]|0)>1){o=kG(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1)|0;k[q>>2]=o;break}else{k[q>>2]=i[(k[g>>2]|0)+10>>0];i[(k[g>>2]|0)+14>>0]=1;break}else{a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}}else k[q>>2]=i[(k[g>>2]|0)+12>>0];while(0);k[p>>2]=k[q>>2];q=k[p>>2]|0;r=s;return q|0}function jG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=kG(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;r=d;return c|0}function kG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+128|0;A=E+124|0;f=E+120|0;G=E+116|0;B=E+112|0;F=E+108|0;h=E+104|0;n=E+100|0;z=E+96|0;o=E+92|0;D=E+88|0;w=E+84|0;C=E+80|0;g=E+76|0;s=E+16|0;e=E+72|0;y=E+68|0;q=E+8|0;x=E;t=E+64|0;v=E+60|0;u=E+56|0;k[f>>2]=a;k[G>>2]=b;k[B>>2]=c;k[F>>2]=d;k[D>>2]=0;k[w>>2]=k[(k[B>>2]|0)+4>>2];k[C>>2]=k[k[B>>2]>>2];k[g>>2]=k[G>>2];a=k[g>>2]|0;do if(k[F>>2]|0){d=(k[g>>2]|0)+1|0;if((l[a+1>>0]|0)<128){k[e>>2]=l[d>>0];d=1}else d=(lG(d,e)|0)&255;k[o>>2]=1+(d&255);k[z>>2]=l[k[g>>2]>>0];G=k[z>>2]|0;G=G+(mG(k[e>>2]|0)|0)|0;k[h>>2]=G;k[n>>2]=1;k[w>>2]=(k[w>>2]|0)+40}else{d=k[g>>2]|0;if((l[a>>0]|0)<128){k[z>>2]=l[d>>0];d=1}else d=(lG(d,z)|0)&255;k[o>>2]=d&255;k[h>>2]=k[z>>2];if((k[h>>2]|0)>>>0<=(k[f>>2]|0)>>>0){k[n>>2]=0;break}G=(_j(74452)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}while(0);a:while(1){do if(m[(k[w>>2]|0)+8>>1]&4){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}if((k[y>>2]|0)==7){nG((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;G=k[w>>2]|0;G=0-(oG(k[G>>2]|0,k[G+4>>2]|0,+p[s>>3])|0)|0;k[D>>2]=G;break}c=pG(k[y>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0)|0;G=q;k[G>>2]=c;k[G+4>>2]=L;G=k[w>>2]|0;c=k[G+4>>2]|0;F=x;k[F>>2]=k[G>>2];k[F+4>>2]=c;F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)<(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)){k[D>>2]=-1;break}F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)>(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0))k[D>>2]=1}else{if(m[(k[w>>2]|0)+8>>1]&8){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}nG((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;if((k[y>>2]|0)!=7){G=s;G=oG(k[G>>2]|0,k[G+4>>2]|0,+p[k[w>>2]>>3])|0;k[D>>2]=G;break}if(+p[s>>3]<+p[k[w>>2]>>3]){k[D>>2]=-1;break}if(!(+p[s>>3]>+p[k[w>>2]>>3]))break;k[D>>2]=1;break}if(m[(k[w>>2]|0)+8>>1]&2){d=(k[g>>2]|0)+(k[o>>2]|0)|0;if((l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0)<128)k[y>>2]=l[d>>0];else lG(d,y)|0;if((k[y>>2]|0)>>>0<12){k[D>>2]=-1;break}if(!(k[y>>2]&1)){k[D>>2]=1;break}k[s+12>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[s+12>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=43;break a}if(k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0){i[s+10>>0]=i[(k[C>>2]|0)+4>>0]|0;k[s+32>>2]=k[(k[C>>2]|0)+12>>2];j[s+8>>1]=2;k[s+16>>2]=(k[g>>2]|0)+(k[h>>2]|0);G=qG(s,k[w>>2]|0,k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0,(k[B>>2]|0)+11|0)|0;k[D>>2]=G;break}if((k[s+12>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[s+12>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[t>>2]=d;G=oR((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[t>>2]|0)|0;k[D>>2]=G;if(k[D>>2]|0)break;k[D>>2]=(k[s+12>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0);break}d=l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0;if(!(m[(k[w>>2]|0)+8>>1]&16)){k[y>>2]=d;k[D>>2]=(k[y>>2]|0)!=0&1;break}a=(k[g>>2]|0)+(k[o>>2]|0)|0;if((d|0)<128)k[y>>2]=l[a>>0];else lG(a,y)|0;if((k[y>>2]|0)>>>0>=12?(k[y>>2]&1|0)==0:0){k[v>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[v>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=59;break a}if(m[(k[w>>2]|0)+8>>1]&16384)if(rG((k[g>>2]|0)+(k[h>>2]|0)|0,k[v>>2]|0)|0){k[D>>2]=(k[v>>2]|0)-(k[k[w>>2]>>2]|0);break}else{k[D>>2]=1;break}if((k[v>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[v>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[u>>2]=d;G=oR((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[u>>2]|0)|0;k[D>>2]=G;if(k[D>>2]|0)break;k[D>>2]=(k[v>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0);break}k[D>>2]=-1}while(0);a=k[n>>2]|0;if(k[D>>2]|0){d=71;break}k[n>>2]=a+1;k[w>>2]=(k[w>>2]|0)+40;G=mG(k[y>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+G;G=sG(k[y>>2]|0,0)|0;k[o>>2]=(k[o>>2]|0)+G;if((k[o>>2]|0)>>>0>=(k[z>>2]|0)>>>0){d=77;break}if((k[n>>2]|0)>=(m[(k[B>>2]|0)+8>>1]|0)){d=77;break}if((k[h>>2]|0)>>>0>(k[f>>2]|0)>>>0){d=77;break}}if((d|0)==43){G=(_j(74527)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==59){G=(_j(74557)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==71){if(i[(k[(k[C>>2]|0)+16>>2]|0)+a>>0]|0)k[D>>2]=0-(k[D>>2]|0);k[A>>2]=k[D>>2];G=k[A>>2]|0;r=E;return G|0}else if((d|0)==77){i[(k[B>>2]|0)+14>>0]=1;k[A>>2]=i[(k[B>>2]|0)+10>>0];G=k[A>>2]|0;r=E;return G|0}return 0}function lG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+25|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;j=m;h=m+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=2;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=3;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+-2;b=mu(k[d>>2]|0,j)|0;i[h>>0]=b;b=j;if(0!=(k[b+4>>2]|0)?1:(k[j>>2]|0)!=(k[b>>2]|0))k[k[e>>2]>>2]=-1;else k[k[e>>2]>>2]=k[j>>2];i[c>>0]=i[h>>0]|0;j=i[c>>0]|0;r=m;return j|0}function mG(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;a=k[d>>2]|0;if((k[d>>2]|0)>>>0>=128){k[b>>2]=((a-12|0)>>>0)/2|0;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=l[35061+a>>0];d=k[b>>2]|0;r=c;return d|0}return 0}function nG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;switch(k[f>>2]|0){case 0:case 11:case 10:{j[(k[g>>2]|0)+8>>1]=1;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}case 1:{c=i[k[e>>2]>>0]|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}case 2:{c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=2;b=k[d>>2]|0;r=h;return b|0}case 3:{c=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=3;b=k[d>>2]|0;r=h;return b|0}case 4:{c=i[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=4;b=k[d>>2]|0;r=h;return b|0}case 5:{b=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];c=$R(b|0,0,kS(0,1,c|0,((c|0)<0)<<31>>31|0)|0,L|0)|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=L;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=6;b=k[d>>2]|0;r=h;return b|0}case 7:case 6:{b=zG(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=h;return b|0}case 9:case 8:{b=k[g>>2]|0;k[b>>2]=(k[f>>2]|0)-8;k[b+4>>2]=0;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}default:{k[(k[g>>2]|0)+16>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(((k[f>>2]|0)-12|0)>>>0)/2|0;j[(k[g>>2]|0)+8>>1]=j[14590+((k[f>>2]&1)<<1)>>1]|0;k[d>>2]=k[(k[g>>2]|0)+12>>2];b=k[d>>2]|0;r=h;return b|0}}return 0}function oG(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;d=i+32|0;e=i+24|0;f=i+16|0;h=i+8|0;g=i;j=e;k[j>>2]=a;k[j+4>>2]=b;p[f>>3]=c;if(+p[f>>3]<-9223372036854775808.0){k[d>>2]=1;j=k[d>>2]|0;r=i;return j|0}if(+p[f>>3]>9223372036854775808.0){k[d>>2]=-1;j=k[d>>2]|0;r=i;return j|0}c=+p[f>>3];l=+W(c)>=1.0?(c>0.0?~~+ia(+V(c/4294967296.0),4294967295.0)>>>0:~~+ga((c-+(~~c>>>0))/4294967296.0)>>>0):0;b=h;k[b>>2]=~~c>>>0;k[b+4>>2]=l;b=e;l=k[b+4>>2]|0;j=h;a=k[j+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?(k[b>>2]|0)>>>0<(k[j>>2]|0)>>>0:0)){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}j=e;a=k[j+4>>2]|0;l=h;b=k[l+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(k[j>>2]|0)>>>0>(k[l>>2]|0)>>>0:0)){l=h;if(((k[l>>2]|0)==0?(k[l+4>>2]|0)==-2147483648:0)&+p[f>>3]>0.0){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}}l=e;p[g>>3]=+((k[l>>2]|0)>>>0)+4294967296.0*+(k[l+4>>2]|0);if(+p[g>>3]<+p[f>>3]){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}if(+p[g>>3]>+p[f>>3]){k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=0;l=k[d>>2]|0;r=i;return l|0}return 0}function pG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+8|0;d=h+24|0;e=h+20|0;g=h+16|0;f=h;k[d>>2]=a;k[e>>2]=b;switch(k[d>>2]|0){case 1:case 0:{f=i[k[e>>2]>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 2:{f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 3:{f=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 4:{k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];f=k[g>>2]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 5:{g=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];f=$R(g|0,0,kS(0,1,f|0,((f|0)<0)<<31>>31|0)|0,L|0)|0;g=c;k[g>>2]=f;k[g+4>>2]=L;break}case 6:{g=f;k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];k[g+4>>2]=0;g=k[f>>2]|0;a=f;k[a>>2]=l[(k[e>>2]|0)+4>>0]<<24|l[(k[e>>2]|0)+4+1>>0]<<16|l[(k[e>>2]|0)+4+2>>0]<<8|l[(k[e>>2]|0)+4+3>>0];k[a+4>>2]=g;a=f;f=k[a+4>>2]|0;g=c;k[g>>2]=k[a>>2];k[g+4>>2]=f;break}default:{g=c;k[g>>2]=(k[d>>2]|0)-8;k[g+4>>2]=0}}g=c;L=k[g+4>>2]|0;r=h;return k[g>>2]|0}function qG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+128|0;e=u+116|0;f=u+112|0;g=u+108|0;h=u+104|0;j=u+100|0;q=u+96|0;s=u+92|0;t=u+88|0;o=u+84|0;p=u+80|0;m=u+40|0;n=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((l[(k[f>>2]|0)+10>>0]|0|0)==(l[(k[h>>2]|0)+4>>0]|0|0)){t=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[e>>2]=t;t=k[e>>2]|0;r=u;return t|0}tG(m,k[(k[f>>2]|0)+32>>2]|0,1);tG(n,k[(k[f>>2]|0)+32>>2]|0,1);uG(m,k[f>>2]|0,4096);uG(n,k[g>>2]|0,4096);d=hh(m,i[(k[h>>2]|0)+4>>0]|0)|0;k[s>>2]=d;k[o>>2]=(k[s>>2]|0)==0?0:k[m+12>>2]|0;d=hh(n,i[(k[h>>2]|0)+4>>0]|0)|0;k[t>>2]=d;k[p>>2]=(k[t>>2]|0)==0?0:k[n+12>>2]|0;d=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[o>>2]|0,k[s>>2]|0,k[p>>2]|0,k[t>>2]|0)|0;k[q>>2]=d;if(((k[s>>2]|0)==0|(k[t>>2]|0)==0)&(k[j>>2]|0)!=0)i[k[j>>2]>>0]=7;fh(m);fh(n);k[e>>2]=k[q>>2];t=k[e>>2]|0;r=u;return t|0}function rG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[d>>2]|0)){c=6;break}if(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0){c=4;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==4){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}else if((c|0)==6){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}return 0}function sG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=1;while(1){b=c;b=aS(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=L;a=c;k[a>>2]=b;k[a+4>>2]=f;a=k[d>>2]|0;if(!((b|0)!=0|(f|0)!=0))break;k[d>>2]=a+1}r=e;return a|0}function tG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+4|0;f=d;g=d+8|0;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;j[(k[e>>2]|0)+8>>1]=j[g>>1]|0;k[(k[e>>2]|0)+32>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=0;r=d;return}function uG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){vG(b,k[e>>2]|0,k[f>>2]|0);r=g;return}c=k[e>>2]|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];k[b+16>>2]=k[c+16>>2];if((m[(k[e>>2]|0)+8>>1]|0)&2048){r=g;return}e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-7169;e=(k[d>>2]|0)+8|0;j[e>>1]=m[e>>1]|0|k[f>>2];r=g;return}function vG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;wG(k[g>>2]|0);uG(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function wG(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&8192)xG(k[c>>2]|0,k[k[c>>2]>>2]|0)|0;a=k[c>>2]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&1024)){b=k[c>>2]|0;if((m[a+8>>1]|0)&32){yG(k[b>>2]|0);break}if((m[b+8>>1]|0)&64){k[d>>2]=k[k[c>>2]>>2];k[(k[d>>2]|0)+4>>2]=k[(k[k[d>>2]>>2]|0)+188>>2];k[(k[k[d>>2]>>2]|0)+188>>2]=k[d>>2]}}else _b[k[a+36>>2]&255](k[(k[c>>2]|0)+16>>2]|0);while(0);j[(k[c>>2]|0)+8>>1]=1;r=e;return}function xG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+96|0;d=h+80|0;e=h+76|0;g=h+72|0;f=h+40|0;c=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if(!(k[e>>2]|0)){g=k[g>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+16>>2]|0)){g=k[g>>2]|0;r=h;return g|0};k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;b=c;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));j[c+8>>1]=1;k[c+32>>2]=k[(k[d>>2]|0)+32>>2];k[f>>2]=c;k[f+8>>2]=k[d>>2];k[f+4>>2]=k[e>>2];_b[k[(k[e>>2]|0)+16>>2]&255](f);if((k[(k[d>>2]|0)+24>>2]|0)>0)bg(k[(k[d>>2]|0)+32>>2]|0,k[(k[d>>2]|0)+20>>2]|0);b=k[d>>2]|0;a=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(a|0));k[g>>2]=k[f+20>>2];g=k[g>>2]|0;r=h;return g|0}function yG(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];bg(k[(k[b>>2]|0)+4>>2]|0,k[c>>2]|0);k[c>>2]=k[d>>2]}k[k[b>>2]>>2]=0;j[(k[b>>2]|0)+24>>1]=0;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+12>>2]=0;k[(k[b>>2]|0)+20>>2]=0;j[(k[b>>2]|0)+26>>1]=1;r=e;return}function zG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;i=f+20|0;g=f+16|0;d=f+12|0;e=f;h=f+8|0;k[i>>2]=a;k[g>>2]=b;k[d>>2]=c;c=e;k[c>>2]=(l[k[i>>2]>>0]|0)<<24|(l[(k[i>>2]|0)+1>>0]|0)<<16|(l[(k[i>>2]|0)+2>>0]|0)<<8|(l[(k[i>>2]|0)+3>>0]|0);k[c+4>>2]=0;k[h>>2]=(l[(k[i>>2]|0)+4>>0]|0)<<24|(l[(k[i>>2]|0)+4+1>>0]|0)<<16|(l[(k[i>>2]|0)+4+2>>0]|0)<<8|(l[(k[i>>2]|0)+4+3>>0]|0);c=$R(0,k[e>>2]|0,k[h>>2]|0,0)|0;b=e;k[b>>2]=c;k[b+4>>2]=L;if((k[g>>2]|0)==6){g=e;h=k[g+4>>2]|0;i=k[d>>2]|0;k[i>>2]=k[g>>2];k[i+4>>2]=h;j[(k[d>>2]|0)+8>>1]=4;r=f;return 8}else{i=k[d>>2]|0;k[i>>2]=k[e>>2];k[i+4>>2]=k[e+4>>2];i=(AG(+p[k[d>>2]>>3])|0)!=0;j[(k[d>>2]|0)+8>>1]=i?1:8;r=f;return 8}return 0}function AG(a){a=+a;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;f=c+16|0;b=c+24|0;e=c+8|0;d=c;p[f>>3]=a;p[e>>3]=+p[f>>3];p[d>>3]=+p[e>>3];k[b>>2]=+p[e>>3]!=+p[d>>3]&1;r=c;return k[b>>2]|0}function BG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+20|0;d=o+16|0;e=o+12|0;h=o+8|0;f=o+4|0;g=o;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+66>>0]|0)!=1){if((l[(k[d>>2]|0)+66>>0]|0)>=3)a=OF(k[d>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}if(!(l[(k[d>>2]|0)+66>>0]|0)){k[k[e>>2]>>2]=1;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if((k[(k[d>>2]|0)+60>>2]|0)!=0?(i[(k[d>>2]|0)+66>>0]=1,b=(k[(k[d>>2]|0)+60>>2]|0)>0,k[(k[d>>2]|0)+60>>2]=0,b):0){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2];b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;a=(j[b>>1]|0)+1<<16>>16;j[b>>1]=a;k[f>>2]=a&65535;a=(i[(k[g>>2]|0)+4>>0]|0)!=0;if((k[f>>2]|0)<(m[(k[g>>2]|0)+18>>1]|0))if(a){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}else{n=CG(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}if(!a){n=k[d>>2]|0;n=PF(n,qr((k[(k[g>>2]|0)+56>>2]|0)+((l[(k[g>>2]|0)+5>>0]|0)+8)|0)|0)|0;k[h>>2]=n;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}else{n=CG(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}}do{if(!(i[(k[d>>2]|0)+68>>0]|0)){n=17;break}RF(k[d>>2]|0);k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]}while((m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[g>>2]|0)+18>>1]|0));if((n|0)==17){k[k[e>>2]>>2]=1;i[(k[d>>2]|0)+66>>0]=0;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if(i[(k[g>>2]|0)+2>>0]|0){n=LF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}else{k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}return 0}function CG(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;while(1){if(k[e>>2]|0){b=5;break}a=k[(k[b>>2]|0)+120+(i[(k[b>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;if(!((i[a+4>>0]|0)!=0^1)){b=5;break}a=qr((k[(k[c>>2]|0)+56>>2]|0)+(m[(k[c>>2]|0)+20>>1]&(l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;k[d>>2]=a;a=PF(k[b>>2]|0,k[d>>2]|0)|0;k[e>>2]=a}if((b|0)==5){r=f;return k[e>>2]|0}return 0}function DG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[c>>2]=b;k[d>>2]=k[k[i>>2]>>2];b=iw(k[d>>2]|0,0,0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){i=k[f>>2]|0;r=h;return i|0}i=Ah(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+8>>2]=i;i=Ph(k[d>>2]|0,k[(k[(k[c>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[e>>2]=i;if(!((k[e>>2]|0)==0|(k[e>>2]|0)>=2)){i=k[f>>2]|0;r=h;return i|0}k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];i=Ah(k[d>>2]|0,k[g>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+4>>2]=i;i=k[f>>2]|0;r=h;return i|0}function EG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=k[(k[d>>2]|0)+28>>2];sv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);ov(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);pv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function FG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((Cz(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)+4>>2]|0)|0)>=0){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}else if((c|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function GG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0)!=152){r=e;return 0}if((j[(k[d>>2]|0)+32>>1]|0)<0){a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|2;r=e;return 0}if((k[(k[(k[c>>2]|0)+24>>2]|0)+(j[(k[d>>2]|0)+32>>1]<<2)>>2]|0)<0){r=e;return 0}a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|1;r=e;return 0}function HG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;if((m[(k[e>>2]|0)+50>>1]|0)!=(m[(k[f>>2]|0)+50>>1]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}if((l[(k[e>>2]|0)+54>>0]|0)!=(l[(k[f>>2]|0)+54>>0]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0)){c=17;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)!=(j[(k[(k[e>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)){c=8;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)==-2?(Uy(k[(k[(k[(k[f>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,k[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){c=11;break}if((l[(k[(k[f>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)!=(l[(k[(k[e>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)){c=13;break}if(be(k[(k[(k[f>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[(k[e>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0)|0){c=15;break}k[c>>2]=(k[c>>2]|0)+1}if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==11){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==13){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==17)if(Uy(k[(k[f>>2]|0)+36>>2]|0,k[(k[e>>2]|0)+36>>2]|0,-1)|0){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else{k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}return 0}function IG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[g>>2]|0)+4>>2]=k[e>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+448>>2];k[(k[e>>2]|0)+448>>2]=k[f>>2];r=d;return}function JG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;e=o+52|0;f=o+48|0;g=o+44|0;h=o+40|0;j=o+16|0;n=o+12|0;m=o+8|0;i=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];c=Ph(k[i>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[l>>2]=c;c=Sy(k[i>>2]|0,k[g>>2]|0,0)|0;k[g>>2]=c;c=iw(k[i>>2]|0,0,0,0)|0;k[m>>2]=c;if(k[m>>2]|0){c=Ah(k[i>>2]|0,k[k[f>>2]>>2]|0)|0;k[(k[m>>2]|0)+8+8>>2]=c;c=Ah(k[i>>2]|0,k[(k[(k[i>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[(k[m>>2]|0)+8+4>>2]=c}c=aw(k[e>>2]|0,0,k[m>>2]|0,k[g>>2]|0,0,0,0,131072,0,0)|0;k[n>>2]=c;FB(j,12,k[h>>2]|0);Zv(k[e>>2]|0,k[n>>2]|0,j)|0;pv(k[i>>2]|0,k[n>>2]|0);r=o;return}function KG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=r;r=r+96|0;q=F+88|0;H=F+84|0;s=F+80|0;l=F+76|0;m=F+72|0;n=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;p=F+16|0;o=F+8|0;v=F+4|0;u=F;k[q>>2]=a;k[H>>2]=b;k[s>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[G>>2]=g;k[t>>2]=h;k[E>>2]=k[(k[q>>2]|0)+8>>2];k[I>>2]=k[k[q>>2]>>2];c=cy(k[I>>2]|0,k[s>>2]|0)|0;k[z>>2]=c;k[y>>2]=2+(j[(k[s>>2]|0)+34>>1]|0);k[p>>2]=k[(k[H>>2]|0)+8+44>>2];c=(k[q>>2]|0)+40|0;g=k[c>>2]|0;k[c>>2]=g+1;k[w>>2]=g;g=sx(k[E>>2]|0,107,k[w>>2]|0,k[y>>2]|0)|0;k[u>>2]=g;k[B>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;g=(k[q>>2]|0)+44|0;k[g>>2]=(k[g>>2]|0)+(k[y>>2]|0);g=(k[q>>2]|0)+44|0;c=(k[g>>2]|0)+1|0;k[g>>2]=c;k[C>>2]=c;c=(k[q>>2]|0)+44|0;g=(k[c>>2]|0)+1|0;k[c>>2]=g;k[D>>2]=g;g=AD(k[q>>2]|0,k[H>>2]|0,k[G>>2]|0,0,0,4,0)|0;k[A>>2]=g;if(!(k[A>>2]|0)){r=F;return}sx(k[E>>2]|0,123,k[p>>2]|0,k[B>>2]|0)|0;if(k[m>>2]|0)$A(k[q>>2]|0,k[m>>2]|0,(k[B>>2]|0)+1|0);else sx(k[E>>2]|0,123,k[p>>2]|0,(k[B>>2]|0)+1|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(j[(k[s>>2]|0)+34>>1]|0))break;if((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)>=0)$A(k[q>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0);else tx(k[E>>2]|0,156,k[p>>2]|0,k[x>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}l=LG(k[A>>2]|0,o)|0;k[v>>2]=l;l=k[E>>2]|0;if(k[v>>2]|0){RA(l,k[u>>2]|0)|0;if(!(k[(k[q>>2]|0)+124>>2]|0))i[(k[q>>2]|0)+20>>0]=0}else{tx(l,99,k[B>>2]|0,k[y>>2]|0,k[C>>2]|0)|0;sx(k[E>>2]|0,114,k[w>>2]|0,k[D>>2]|0)|0;tx(k[E>>2]|0,115,k[w>>2]|0,k[C>>2]|0,k[D>>2]|0)|0}a:do if(!(k[v>>2]|0)){BD(k[A>>2]|0);I=aA(k[E>>2]|0,57,k[w>>2]|0)|0;k[u>>2]=I;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break a;tx(k[E>>2]|0,96,k[w>>2]|0,k[x>>2]|0,(k[B>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);nD(k[q>>2]|0,k[s>>2]|0);wx(k[E>>2]|0,12,0,k[y>>2]|0,k[B>>2]|0,k[z>>2]|0,-10)|0;Th(k[E>>2]|0,((k[t>>2]|0)==10?2:k[t>>2]|0)&255);dy(k[q>>2]|0);if(!(k[v>>2]|0)){sx(k[E>>2]|0,7,k[w>>2]|0,(k[u>>2]|0)+1|0)|0;hA(k[E>>2]|0,k[u>>2]|0);sx(k[E>>2]|0,111,k[w>>2]|0,0)|0;r=F;return}else{BD(k[A>>2]|0);r=F;return}}function LG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=k[e>>2]|0;b=(k[c>>2]|0)+20|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];r=d;return l[(k[c>>2]|0)+45>>0]|0|0}function MG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+4>>2]|0)){r=c;return}k[(k[(k[b>>2]|0)+4>>2]|0)+448>>2]=k[k[b>>2]>>2];k[(k[b>>2]|0)+4>>2]=0;r=c;return}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;i=o+32|0;e=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;f=o+4|0;g=o;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;do if(((k[k[j>>2]>>2]|0)+(k[l>>2]|0)|0)>>>0>(k[(k[j>>2]|0)+4>>2]|0)>>>0){k[f>>2]=(k[k[j>>2]>>2]|0)+(k[l>>2]|0);b=cx(k[e>>2]|0,k[j>>2]|0,80+(((k[f>>2]|0)-1|0)*72|0)|0,0)|0;k[h>>2]=b;if(k[h>>2]|0){k[j>>2]=k[h>>2];b=((((uu(k[e>>2]|0,k[h>>2]|0)|0)-80|0)>>>0)/72|0)+1|0;k[g>>2]=b;k[(k[j>>2]|0)+4>>2]=k[g>>2];break}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}while(0);k[n>>2]=(k[k[j>>2]>>2]|0)-1;while(1){if((k[n>>2]|0)<(k[m>>2]|0))break;e=(k[j>>2]|0)+8+(((k[n>>2]|0)+(k[l>>2]|0)|0)*72|0)|0;a=(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)|0;d=e+72|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));k[n>>2]=(k[n>>2]|0)+-1}b=k[j>>2]|0;k[b>>2]=(k[b>>2]|0)+(k[l>>2]|0);dS((k[j>>2]|0)+8+((k[m>>2]|0)*72|0)|0,0,(k[l>>2]|0)*72|0)|0;k[n>>2]=k[m>>2];while(1){if((k[n>>2]|0)>=((k[m>>2]|0)+(k[l>>2]|0)|0))break;k[(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]=-1;k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}function OG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;f=Q+96|0;A=Q+92|0;h=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;g=Q+40|0;o=Q+36|0;q=Q+32|0;n=Q+28|0;p=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;k[u>>2]=a;k[v>>2]=b;k[z>>2]=c;k[f>>2]=d;k[A>>2]=e;k[h>>2]=k[(k[u>>2]|0)+448>>2];k[B>>2]=k[k[u>>2]>>2];if(m[(k[B>>2]|0)+64>>1]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}k[J>>2]=k[(k[v>>2]|0)+28>>2];k[N>>2]=(k[J>>2]|0)+8+((k[z>>2]|0)*72|0);k[D>>2]=k[(k[N>>2]|0)+44>>2];k[K>>2]=k[(k[N>>2]|0)+20>>2];do if(k[A>>2]|0){if(k[f>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[k[J>>2]>>2]|0)>1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!((k[(k[v>>2]|0)+32>>2]|0)!=0?(k[(k[(k[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Nz(k[k[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((Nz(k[(k[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[M>>2]=k[(k[K>>2]|0)+28>>2];if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+60>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&256|0)!=0?(k[(k[K>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[k[M>>2]>>2]|0)){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?((k[f>>2]|0)!=0?1:(k[k[J>>2]>>2]|0)>1):0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[A>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+44>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[f>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+32>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&12288){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&8192|0)!=0?(k[(k[K>>2]|0)+48>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(l[(k[N>>2]|0)+36>>0]&32){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}a:do if(k[(k[K>>2]|0)+48>>2]|0){if(k[(k[K>>2]|0)+44>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}do if(!(k[f>>2]|0)){if(k[(k[v>>2]|0)+8>>2]&1)break;if((k[k[J>>2]>>2]|0)!=1)break;k[L>>2]=k[K>>2];while(1){if(!(k[L>>2]|0))break;if(k[(k[L>>2]|0)+8>>2]&9){t=62;break}if((k[(k[L>>2]|0)+48>>2]|0)!=0?(l[(k[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((k[k[(k[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}k[L>>2]=k[(k[L>>2]|0)+48>>2]}if((t|0)==62){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[(k[v>>2]|0)+44>>2]|0))break a;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[(k[v>>2]|0)+44>>2]>>2]|0))break a;if(!(m[(k[(k[(k[v>>2]|0)+44>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+16>>1]|0))break;k[g>>2]=(k[g>>2]|0)+1}k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[(k[u>>2]|0)+448>>2]=k[(k[N>>2]|0)+8>>2];kx(k[u>>2]|0,21,0,0,0)|0;k[(k[u>>2]|0)+448>>2]=k[h>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2];while(1){if(!(k[K>>2]|0))break;k[q>>2]=k[(k[v>>2]|0)+44>>2];k[n>>2]=k[(k[v>>2]|0)+56>>2];k[p>>2]=k[(k[v>>2]|0)+60>>2];k[s>>2]=k[(k[v>>2]|0)+48>>2];k[(k[v>>2]|0)+44>>2]=0;k[(k[v>>2]|0)+28>>2]=0;k[(k[v>>2]|0)+48>>2]=0;k[(k[v>>2]|0)+56>>2]=0;k[(k[v>>2]|0)+60>>2]=0;f=iy(k[B>>2]|0,k[v>>2]|0,0)|0;k[o>>2]=f;k[(k[v>>2]|0)+60>>2]=k[p>>2];k[(k[v>>2]|0)+56>>2]=k[n>>2];k[(k[v>>2]|0)+44>>2]=k[q>>2];k[(k[v>>2]|0)+28>>2]=k[J>>2];i[(k[v>>2]|0)+4>>0]=116;f=k[s>>2]|0;if(!(k[o>>2]|0))k[(k[v>>2]|0)+48>>2]=f;else{k[(k[o>>2]|0)+48>>2]=f;if(k[s>>2]|0)k[(k[s>>2]|0)+52>>2]=k[o>>2];k[(k[o>>2]|0)+52>>2]=k[v>>2];k[(k[v>>2]|0)+48>>2]=k[o>>2]}if(i[(k[B>>2]|0)+69>>0]|0){t=78;break}k[K>>2]=k[(k[K>>2]|0)+48>>2]}if((t|0)==78){k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}t=k[(k[N>>2]|0)+20>>2]|0;k[L>>2]=t;k[K>>2]=t;bg(k[B>>2]|0,k[(k[N>>2]|0)+4>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+8>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+4>>2]=0;k[(k[N>>2]|0)+8>>2]=0;k[(k[N>>2]|0)+12>>2]=0;k[(k[N>>2]|0)+20>>2]=0;if(k[(k[N>>2]|0)+16>>2]|0){k[w>>2]=k[(k[N>>2]|0)+16>>2];if((m[(k[w>>2]|0)+36>>1]|0)==1){f=k[u>>2]|0;if(k[(k[u>>2]|0)+124>>2]|0)f=k[f+124>>2]|0;k[x>>2]=f;k[(k[w>>2]|0)+68>>2]=k[(k[x>>2]|0)+464>>2];k[(k[x>>2]|0)+464>>2]=k[w>>2]}else{x=(k[w>>2]|0)+36|0;j[x>>1]=(j[x>>1]|0)+-1<<16>>16}k[(k[N>>2]|0)+16>>2]=0}k[I>>2]=k[v>>2];while(1){if(!(k[I>>2]|0))break;i[E>>0]=0;k[M>>2]=k[(k[K>>2]|0)+28>>2];k[F>>2]=k[k[M>>2]>>2];k[J>>2]=k[(k[I>>2]|0)+28>>2];if(!(k[J>>2]|0)){x=iw(k[B>>2]|0,0,0,0)|0;k[(k[I>>2]|0)+28>>2]=x;k[J>>2]=x;if(!(k[J>>2]|0))break}else i[E>>0]=i[(k[N>>2]|0)+36>>0]|0;if((k[F>>2]|0)>1?(x=NG(k[B>>2]|0,k[J>>2]|0,(k[F>>2]|0)-1|0,(k[z>>2]|0)+1|0)|0,k[J>>2]=x,k[(k[I>>2]|0)+28>>2]=x,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[F>>2]|0))break;uv(k[B>>2]|0,k[(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)+52>>2]|0);f=(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)|0;c=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(g|0));f=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[C>>2]=(k[C>>2]|0)+1}i[(k[J>>2]|0)+8+((k[z>>2]|0)*72|0)+36>>0]=i[E>>0]|0;k[G>>2]=k[k[I>>2]>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[G>>2]>>2]|0))break;if(!(k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]|0)){x=Ah(k[B>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+8>>2]|0)|0;k[P>>2]=x;hx(k[P>>2]|0);k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]=k[P>>2]}k[C>>2]=(k[C>>2]|0)+1}if(k[(k[K>>2]|0)+44>>2]|0){k[H>>2]=k[(k[K>>2]|0)+44>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[H>>2]>>2]|0))break;j[(k[(k[H>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+16>>1]=0;k[C>>2]=(k[C>>2]|0)+1}k[(k[I>>2]|0)+44>>2]=k[H>>2];k[(k[K>>2]|0)+44>>2]=0}x=Sy(k[B>>2]|0,k[(k[K>>2]|0)+32>>2]|0,0)|0;k[O>>2]=x;if(k[A>>2]|0){k[(k[I>>2]|0)+40>>2]=k[(k[I>>2]|0)+32>>2];k[(k[I>>2]|0)+32>>2]=k[O>>2];w=k[B>>2]|0;x=Sy(k[B>>2]|0,k[(k[K>>2]|0)+40>>2]|0,0)|0;x=Gz(w,x,k[(k[I>>2]|0)+40>>2]|0)|0;k[(k[I>>2]|0)+40>>2]=x;x=_y(k[B>>2]|0,k[(k[K>>2]|0)+36>>2]|0,0)|0;k[(k[I>>2]|0)+36>>2]=x}else{x=Gz(k[B>>2]|0,k[O>>2]|0,k[(k[I>>2]|0)+32>>2]|0)|0;k[(k[I>>2]|0)+32>>2]=x}xH(k[B>>2]|0,k[I>>2]|0,k[D>>2]|0,k[k[K>>2]>>2]|0,0);x=(k[I>>2]|0)+8|0;k[x>>2]=k[x>>2]|k[(k[K>>2]|0)+8>>2]&1;if(k[(k[K>>2]|0)+56>>2]|0){k[(k[I>>2]|0)+56>>2]=k[(k[K>>2]|0)+56>>2];k[(k[K>>2]|0)+56>>2]=0}k[I>>2]=k[(k[I>>2]|0)+48>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2]}pv(k[B>>2]|0,k[L>>2]|0);k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=r;r=r+256|0;Z=_+8|0;d=_;e=_+240|0;f=_+236|0;g=_+232|0;h=_+228|0;T=_+224|0;Q=_+220|0;Y=_+216|0;t=_+192|0;H=_+184|0;s=_+180|0;B=_+176|0;C=_+172|0;m=_+168|0;F=_+164|0;W=_+160|0;G=_+244|0;R=_+156|0;L=_+152|0;O=_+148|0;n=_+144|0;X=_+120|0;x=_+116|0;v=_+112|0;z=_+108|0;I=_+104|0;U=_+100|0;V=_+96|0;y=_+92|0;w=_+88|0;A=_+84|0;M=_+80|0;P=_+76|0;o=_+72|0;D=_+48|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;q=_+20|0;E=_+16|0;p=_+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[T>>2]=0;k[H>>2]=0;k[B>>2]=0;k[C>>2]=0;k[s>>2]=k[k[f>>2]>>2];k[Q>>2]=k[(k[g>>2]|0)+48>>2];a=k[h>>2]|0;k[t>>2]=k[a>>2];k[t+4>>2]=k[a+4>>2];k[t+8>>2]=k[a+8>>2];k[t+12>>2]=k[a+12>>2];k[t+16>>2]=k[a+16>>2];k[t+20>>2]=k[a+20>>2];a:do if(!(k[(k[Q>>2]|0)+44>>2]|0)){b=k[f>>2]|0;if(k[(k[Q>>2]|0)+56>>2]|0){Y=az(l[(k[g>>2]|0)+4>>0]|0)|0;k[Z>>2]=Y;Oh(b,35879,Z);k[T>>2]=1;break}Z=nx(b)|0;k[Y>>2]=Z;if((l[t>>0]|0)==12){sx(k[Y>>2]|0,107,k[t+8>>2]|0,k[k[k[g>>2]>>2]>>2]|0)|0;i[t>>0]=14}if(k[(k[g>>2]|0)+8>>2]&1024){Z=zH(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;break}b:do if(k[(k[g>>2]|0)+8>>2]&8192)AH(k[f>>2]|0,k[g>>2]|0,t);else{if(k[(k[g>>2]|0)+44>>2]|0){Z=BH(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[e>>2]=Z;Z=k[e>>2]|0;r=_;return Z|0}switch(l[(k[g>>2]|0)+4>>0]|0){case 116:{k[m>>2]=0;k[(k[Q>>2]|0)+12>>2]=k[(k[g>>2]|0)+12>>2];k[(k[Q>>2]|0)+16>>2]=k[(k[g>>2]|0)+16>>2];k[(k[Q>>2]|0)+56>>2]=k[(k[g>>2]|0)+56>>2];k[(k[Q>>2]|0)+60>>2]=k[(k[g>>2]|0)+60>>2];k[B>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[Q>>2]|0,t)|0;k[T>>2]=Z;k[(k[g>>2]|0)+56>>2]=0;k[(k[g>>2]|0)+60>>2]=0;if(k[T>>2]|0)break a;k[(k[g>>2]|0)+48>>2]=0;k[(k[g>>2]|0)+12>>2]=k[(k[Q>>2]|0)+12>>2];k[(k[g>>2]|0)+16>>2]=k[(k[Q>>2]|0)+16>>2];if((k[(k[g>>2]|0)+12>>2]|0)!=0?(Z=aA(k[Y>>2]|0,22,k[(k[g>>2]|0)+12>>2]|0)|0,k[m>>2]=Z,(k[(k[g>>2]|0)+16>>2]|0)!=0):0)tx(k[Y>>2]|0,146,k[(k[g>>2]|0)+12>>2]|0,(k[(k[g>>2]|0)+16>>2]|0)+1|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[C>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];Z=xE(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z;if(((k[(k[Q>>2]|0)+56>>2]|0)!=0?(Z=(Py(k[(k[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(k[F>>2]|0)>0):0)?(X=j[(k[g>>2]|0)+6>>1]|0,Z=k[F>>2]|0,(X|0)>((Wj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=k[F>>2]|0;Z=Wj(Z,((Z|0)<0)<<31>>31)|0;j[(k[g>>2]|0)+6>>1]=Z}if(!(k[m>>2]|0))break b;hA(k[Y>>2]|0,k[m>>2]|0);break b}case 115:case 117:{i[G>>0]=0;k[R>>2]=1;if((l[t>>0]|0)==(k[R>>2]|0))k[W>>2]=k[t+8>>2];else{V=(k[f>>2]|0)+40|0;Z=k[V>>2]|0;k[V>>2]=Z+1;k[W>>2]=Z;Z=sx(k[Y>>2]|0,107,k[W>>2]|0,0)|0;k[n>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[n>>2];Z=(wz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32}FB(X,k[R>>2]|0,k[W>>2]|0);k[B>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[Q>>2]|0,X)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;if((l[(k[g>>2]|0)+4>>0]|0)==117)i[G>>0]=2;else i[G>>0]=1;k[(k[g>>2]|0)+48>>2]=0;k[L>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[O>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;i[X>>0]=i[G>>0]|0;k[C>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[g>>2]|0,X)|0;k[T>>2]=Z;ov(k[s>>2]|0,k[(k[g>>2]|0)+44>>2]|0);k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];k[(k[g>>2]|0)+44>>2]=0;if((l[(k[g>>2]|0)+4>>0]|0)==115){Z=xE(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z}sv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[L>>2];k[(k[g>>2]|0)+60>>2]=k[O>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=0;if((l[t>>0]|0)==(k[R>>2]|0))break b;if((l[t>>0]|0)==9){k[I>>2]=k[g>>2];while(1){if(!(k[(k[I>>2]|0)+48>>2]|0))break;k[I>>2]=k[(k[I>>2]|0)+48>>2]}nH(k[f>>2]|0,k[(k[I>>2]|0)+28>>2]|0,k[k[I>>2]>>2]|0)}Z=eA(k[Y>>2]|0)|0;k[v>>2]=Z;Z=eA(k[Y>>2]|0)|0;k[x>>2]=Z;UG(k[f>>2]|0,k[g>>2]|0,k[v>>2]|0);sx(k[Y>>2]|0,57,k[W>>2]|0,k[v>>2]|0)|0;Z=Gx(k[Y>>2]|0)|0;k[z>>2]=Z;aH(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[W>>2]|0,0,0,t,k[x>>2]|0,k[v>>2]|0);iA(k[Y>>2]|0,k[x>>2]|0);sx(k[Y>>2]|0,7,k[W>>2]|0,k[z>>2]|0)|0;iA(k[Y>>2]|0,k[v>>2]|0);sx(k[Y>>2]|0,111,k[W>>2]|0,0)|0;break b}default:{Z=(k[f>>2]|0)+40|0;X=k[Z>>2]|0;k[Z>>2]=X+1;k[U>>2]=X;X=(k[f>>2]|0)+40|0;Z=k[X>>2]|0;k[X>>2]=Z+1;k[V>>2]=Z;Z=sx(k[Y>>2]|0,107,k[U>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[o>>2];Z=(wz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|32;FB(D,1,k[U>>2]|0);k[B>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[Q>>2]|0,D)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;Z=sx(k[Y>>2]|0,107,k[V>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20+4>>2]=k[o>>2];k[(k[g>>2]|0)+48>>2]=0;k[M>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[P>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;k[D+8>>2]=k[V>>2];k[C>>2]=k[(k[f>>2]|0)+424>>2];Z=Zv(k[f>>2]|0,k[g>>2]|0,D)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];if((j[(k[g>>2]|0)+6>>1]|0)>(j[(k[Q>>2]|0)+6>>1]|0))j[(k[g>>2]|0)+6>>1]=j[(k[Q>>2]|0)+6>>1]|0;sv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[M>>2];k[(k[g>>2]|0)+60>>2]=k[P>>2];if((l[t>>0]|0)==9){k[J>>2]=k[g>>2];while(1){if(!(k[(k[J>>2]|0)+48>>2]|0))break;k[J>>2]=k[(k[J>>2]|0)+48>>2]}nH(k[f>>2]|0,k[(k[J>>2]|0)+28>>2]|0,k[k[J>>2]>>2]|0)}Z=eA(k[Y>>2]|0)|0;k[w>>2]=Z;Z=eA(k[Y>>2]|0)|0;k[y>>2]=Z;UG(k[f>>2]|0,k[g>>2]|0,k[w>>2]|0);sx(k[Y>>2]|0,57,k[U>>2]|0,k[w>>2]|0)|0;Z=Fx(k[f>>2]|0)|0;k[S>>2]=Z;Z=sx(k[Y>>2]|0,121,k[U>>2]|0,k[S>>2]|0)|0;k[A>>2]=Z;Sh(k[Y>>2]|0,30,k[V>>2]|0,k[y>>2]|0,k[S>>2]|0,0)|0;Hx(k[f>>2]|0,k[S>>2]|0);aH(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[U>>2]|0,0,0,t,k[y>>2]|0,k[w>>2]|0);iA(k[Y>>2]|0,k[y>>2]|0);sx(k[Y>>2]|0,7,k[U>>2]|0,k[A>>2]|0)|0;iA(k[Y>>2]|0,k[w>>2]|0);sx(k[Y>>2]|0,111,k[V>>2]|0,0)|0;sx(k[Y>>2]|0,111,k[U>>2]|0,0)|0;break b}}}while(0);CH(k[f>>2]|0,l[(k[g>>2]|0)+4>>0]|0,k[B>>2]|0,k[C>>2]|0,(l[(k[g>>2]|0)+4>>0]|0)!=116&1);if(k[(k[g>>2]|0)+8>>2]&32){k[E>>2]=k[k[k[g>>2]>>2]>>2];Z=sA(k[s>>2]|0,k[E>>2]|0,1)|0;k[K>>2]=Z;if(!(k[K>>2]|0)){k[T>>2]=7;break}k[u>>2]=0;k[q>>2]=(k[K>>2]|0)+20;while(1){if((k[u>>2]|0)>=(k[E>>2]|0))break;Z=DH(k[f>>2]|0,k[g>>2]|0,k[u>>2]|0)|0;k[k[q>>2]>>2]=Z;if(!(k[k[q>>2]>>2]|0))k[k[q>>2]>>2]=k[(k[s>>2]|0)+8>>2];k[u>>2]=(k[u>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+4}k[N>>2]=k[g>>2];while(1){if(!(k[N>>2]|0))break;k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break;k[p>>2]=k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2];if((k[p>>2]|0)<0)break;nA(k[Y>>2]|0,k[p>>2]|0,k[E>>2]|0);X=k[Y>>2]|0;Z=k[p>>2]|0;Wh(X,Z,xA(k[K>>2]|0)|0,-6);k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2]=-1;k[u>>2]=(k[u>>2]|0)+1}k[N>>2]=k[(k[N>>2]|0)+48>>2]}tA(k[K>>2]|0)}}else{Z=k[f>>2]|0;Y=az(l[(k[g>>2]|0)+4>>0]|0)|0;k[d>>2]=Y;Oh(Z,35831,d);k[T>>2]=1}while(0);k[(k[h>>2]|0)+12>>2]=k[t+12>>2];k[(k[h>>2]|0)+16>>2]=k[t+16>>2];pv(k[s>>2]|0,k[H>>2]|0);k[e>>2]=k[T>>2];Z=k[e>>2]|0;r=_;return Z|0}function QG(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Lz(k[d>>2]|0,b);r=c;return k[b>>2]|0}function RG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;j=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=0;if(!(k[h>>2]|0)){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}k[n>>2]=k[g>>2];while(1){if(!(k[n>>2]|0))break;if(k[(k[n>>2]|0)+8>>2]&8200){o=6;break}k[n>>2]=k[(k[n>>2]|0)+48>>2]}if((o|0)==6){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}if(k[(k[g>>2]|0)+56>>2]|0){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}while(1){if((l[k[h>>2]>>0]|0|0)!=28)break;o=RG(k[f>>2]|0,k[g>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[i>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+o;k[h>>2]=k[(k[h>>2]|0)+12>>2]}if(k[(k[h>>2]|0)+4>>2]&1){k[e>>2]=0;o=k[e>>2]|0;r=p;return o|0}a:do if(rE(k[h>>2]|0,k[i>>2]|0)|0){k[j>>2]=(k[j>>2]|0)+1;while(1){if(!(k[g>>2]|0))break a;o=Sy(k[f>>2]|0,k[h>>2]|0,0)|0;k[m>>2]=o;o=wH(k[f>>2]|0,k[m>>2]|0,k[i>>2]|0,k[k[g>>2]>>2]|0)|0;k[m>>2]=o;o=Gz(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[m>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=o;k[g>>2]=k[(k[g>>2]|0)+48>>2]}}while(0);k[e>>2]=k[j>>2];o=k[e>>2]|0;r=p;return o|0}function SG(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+19>>0]=0;k[(k[c>>2]|0)+28>>2]=0;r=b;return}function TG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;e=p+36|0;f=p+32|0;g=p+28|0;q=p+24|0;l=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[l>>2]=k[k[f>>2]>>2];a=sA(k[h>>2]|0,(k[l>>2]|0)-(k[g>>2]|0)|0,(k[q>>2]|0)+1|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){q=k[n>>2]|0;r=p;return q|0}k[j>>2]=k[g>>2];k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break;q=py(k[e>>2]|0,k[k[o>>2]>>2]|0)|0;k[m>>2]=q;if(!(k[m>>2]|0))k[m>>2]=k[(k[h>>2]|0)+8>>2];k[(k[n>>2]|0)+20+((k[j>>2]|0)-(k[g>>2]|0)<<2)>>2]=k[m>>2];i[(k[(k[n>>2]|0)+16>>2]|0)+((k[j>>2]|0)-(k[g>>2]|0))>>0]=i[(k[o>>2]|0)+12>>0]|0;k[j>>2]=(k[j>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+20}q=k[n>>2]|0;r=p;return q|0}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;k[g>>2]=0;if(k[(k[e>>2]|0)+12>>2]|0){r=m;return}OC(k[d>>2]|0);if(!(k[(k[e>>2]|0)+56>>2]|0)){r=m;return}b=(k[d>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[g>>2]=a;k[(k[e>>2]|0)+12>>2]=a;a=nx(k[d>>2]|0)|0;k[l>>2]=a;do if(Py(k[(k[e>>2]|0)+56>>2]|0,i)|0){sx(k[l>>2]|0,76,k[i>>2]|0,k[g>>2]|0)|0;if(!(k[i>>2]|0)){gA(k[l>>2]|0,k[f>>2]|0)|0;break}if((k[i>>2]|0)>=0?(b=j[(k[e>>2]|0)+6>>1]|0,a=k[i>>2]|0,(b|0)>((Wj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=k[i>>2]|0;a=Wj(a,((a|0)<0)<<31>>31)|0;j[(k[e>>2]|0)+6>>1]=a;a=(k[e>>2]|0)+8|0;k[a>>2]=k[a>>2]|16384}}else{$A(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0,k[g>>2]|0);aA(k[l>>2]|0,17,k[g>>2]|0)|0;sx(k[l>>2]|0,22,k[g>>2]|0,k[f>>2]|0)|0}while(0);if(!(k[(k[e>>2]|0)+60>>2]|0)){r=m;return}b=(k[d>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[h>>2]=a;k[(k[e>>2]|0)+16>>2]=a;a=(k[d>>2]|0)+44|0;k[a>>2]=(k[a>>2]|0)+1;$A(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0,k[h>>2]|0);aA(k[l>>2]|0,17,k[h>>2]|0)|0;tx(k[l>>2]|0,146,k[g>>2]|0,(k[h>>2]|0)+1|0,k[h>>2]|0)|0;r=m;return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;i[g>>0]=c;c=i[g>>0]|0;a=oA(k[f>>2]|0,k[e>>2]|0)|0;i[a>>0]=c;r=d;return}function WG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+72>>1]|0}function XG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+47>>0]|0|0}function YG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+43>>0]|0}function ZG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+48>>0]|0|0}function _G(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+28>>2]|0}function $G(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+32>>2]|0}function aH(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=r;r=r+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;n=V+112|0;R=V+108|0;o=V+104|0;L=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;q=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;N=V+64|0;M=V+60|0;p=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;G=V+36|0;v=V+32|0;J=V+28|0;H=V+24|0;E=V+20|0;I=V+16|0;K=V+12|0;z=V+8|0;B=V+4|0;F=V;k[P>>2]=a;k[Q>>2]=b;k[t>>2]=c;k[n>>2]=d;k[R>>2]=e;k[o>>2]=f;k[L>>2]=g;k[u>>2]=h;k[S>>2]=j;k[U>>2]=k[(k[P>>2]|0)+8>>2];k[C>>2]=l[k[L>>2]>>0];k[O>>2]=k[(k[L>>2]|0)+8>>2];k[M>>2]=0;if(k[o>>2]|0)j=l[(k[o>>2]|0)+1>>0]|0;else j=0;k[q>>2]=j;if((k[R>>2]|0)!=0?(k[k[R>>2]>>2]|0)==0:0)k[R>>2]=0;if(!((k[R>>2]|0)!=0|(k[q>>2]|0)!=0))pH(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0);k[N>>2]=k[k[t>>2]>>2];if(k[(k[L>>2]|0)+12>>2]|0){if(((k[(k[L>>2]|0)+12>>2]|0)+(k[N>>2]|0)|0)>(k[(k[P>>2]|0)+44>>2]|0)){d=(k[P>>2]|0)+44|0;k[d>>2]=(k[d>>2]|0)+(k[N>>2]|0)}}else{if(k[R>>2]|0){k[M>>2]=k[k[k[R>>2]>>2]>>2];if(!((l[(k[R>>2]|0)+28>>0]|0)&1))k[M>>2]=(k[M>>2]|0)+1;d=(k[P>>2]|0)+44|0;k[d>>2]=(k[d>>2]|0)+(k[M>>2]|0)}k[(k[L>>2]|0)+12>>2]=(k[(k[P>>2]|0)+44>>2]|0)+1;d=(k[P>>2]|0)+44|0;k[d>>2]=(k[d>>2]|0)+(k[N>>2]|0)}k[(k[L>>2]|0)+16>>2]=k[N>>2];k[T>>2]=k[(k[L>>2]|0)+12>>2];a:do if((k[n>>2]|0)<0){if((k[C>>2]|0)!=3){if((k[C>>2]|0)==10|(k[C>>2]|0)==9|(k[C>>2]|0)==13)i[p>>0]=1;else i[p>>0]=0;kB(k[P>>2]|0,k[t>>2]|0,k[T>>2]|0,0,i[p>>0]|0)|0}}else{k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[N>>2]|0))break a;tx(k[U>>2]|0,96,k[n>>2]|0,k[D>>2]|0,(k[T>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}}while(0);if(k[q>>2]|0){switch(l[(k[o>>2]|0)+1>>0]|0|0){case 2:{k[A>>2]=(k[(k[P>>2]|0)+44>>2]|0)+1;q=(k[P>>2]|0)+44|0;k[q>>2]=(k[q>>2]|0)+(k[N>>2]|0);RA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;q=oA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[s>>2]=q;i[k[s>>2]>>0]=79;k[(k[s>>2]|0)+4>>2]=1;k[(k[s>>2]|0)+8>>2]=k[A>>2];s=Gx(k[U>>2]|0)|0;k[w>>2]=s+(k[N>>2]|0);k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[N>>2]|0))break;j=py(k[P>>2]|0,k[(k[(k[t>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)>>2]|0)|0;k[x>>2]=j;j=k[U>>2]|0;h=(k[T>>2]|0)+(k[D>>2]|0)|0;if((k[D>>2]|0)<((k[N>>2]|0)-1|0))tx(j,36,h,k[w>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;else tx(j,37,h,k[u>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;Wh(k[U>>2]|0,-1,k[x>>2]|0,-4);Th(k[U>>2]|0,-128);k[D>>2]=(k[D>>2]|0)+1}tx(k[U>>2]|0,84,k[T>>2]|0,k[A>>2]|0,(k[N>>2]|0)-1|0)|0;break}case 1:{RA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;break}default:qH(k[P>>2]|0,k[(k[o>>2]|0)+4>>2]|0,k[u>>2]|0,k[N>>2]|0,k[T>>2]|0)}if(!(k[R>>2]|0))pH(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0)}b:do switch(k[C>>2]|0){case 1:{M=Fx(k[P>>2]|0)|0;k[y>>2]=M;tx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,k[y>>2]|0)|0;sx(k[U>>2]|0,126,k[O>>2]|0,k[y>>2]|0)|0;Hx(k[P>>2]|0,k[y>>2]|0);break}case 2:{tx(k[U>>2]|0,127,k[O>>2]|0,k[T>>2]|0,k[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{L=MA(k[P>>2]|0,(k[M>>2]|0)+1|0)|0;k[G>>2]=L;tx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,(k[G>>2]|0)+(k[M>>2]|0)|0)|0;if((k[C>>2]|0)==6){N=(Gx(k[U>>2]|0)|0)+4|0;k[v>>2]=N;Sh(k[U>>2]|0,31,(k[O>>2]|0)+1|0,k[v>>2]|0,k[G>>2]|0,0)|0;sx(k[U>>2]|0,126,(k[O>>2]|0)+1|0,k[G>>2]|0)|0}j=k[P>>2]|0;if(k[R>>2]|0)vH(j,k[R>>2]|0,k[Q>>2]|0,(k[G>>2]|0)+(k[M>>2]|0)|0,k[T>>2]|0,1,k[M>>2]|0);else{T=Fx(j)|0;k[J>>2]=T;sx(k[U>>2]|0,114,k[O>>2]|0,k[J>>2]|0)|0;tx(k[U>>2]|0,115,k[O>>2]|0,k[G>>2]|0,k[J>>2]|0)|0;Th(k[U>>2]|0,8);Hx(k[P>>2]|0,k[J>>2]|0)}PA(k[P>>2]|0,k[G>>2]|0,(k[M>>2]|0)+1|0);break}case 11:{j=k[P>>2]|0;if(k[R>>2]|0){vH(j,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[N>>2]|0,k[M>>2]|0);break b}else{M=Fx(j)|0;k[H>>2]=M;wx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,k[H>>2]|0,k[(k[L>>2]|0)+4>>2]|0,k[N>>2]|0)|0;eB(k[P>>2]|0,k[T>>2]|0,k[N>>2]|0);sx(k[U>>2]|0,126,k[O>>2]|0,k[H>>2]|0)|0;Hx(k[P>>2]|0,k[H>>2]|0);break b}}case 3:{sx(k[U>>2]|0,76,1,k[O>>2]|0)|0;break}case 10:{if(k[R>>2]|0)vH(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[N>>2]|0,k[M>>2]|0);break}case 9:case 13:{if(k[R>>2]|0){vH(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[N>>2]|0,k[M>>2]|0);break b}j=k[U>>2]|0;if((k[C>>2]|0)==13){aA(j,16,k[(k[L>>2]|0)+8>>2]|0)|0;break b}else{sx(j,87,k[T>>2]|0,k[N>>2]|0)|0;eB(k[P>>2]|0,k[T>>2]|0,k[N>>2]|0);break b}}case 7:case 8:{k[B>>2]=0;k[F>>2]=k[(k[L>>2]|0)+20>>2];k[E>>2]=k[k[F>>2]>>2];M=Fx(k[P>>2]|0)|0;k[I>>2]=M;M=MA(k[P>>2]|0,(k[E>>2]|0)+2|0)|0;k[K>>2]=M;k[z>>2]=(k[K>>2]|0)+(k[E>>2]|0)+1;if((k[C>>2]|0)==8){M=Sh(k[U>>2]|0,31,(k[O>>2]|0)+1|0,0,k[T>>2]|0,k[N>>2]|0)|0;k[B>>2]=M}tx(k[U>>2]|0,99,k[T>>2]|0,k[N>>2]|0,k[z>>2]|0)|0;if((k[C>>2]|0)==8){sx(k[U>>2]|0,126,(k[O>>2]|0)+1|0,k[z>>2]|0)|0;Th(k[U>>2]|0,16)}k[D>>2]=0;while(1){j=k[U>>2]|0;if((k[D>>2]|0)>=(k[E>>2]|0))break;sx(j,85,(k[T>>2]|0)+(m[(k[(k[F>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)+16>>1]|0)-1|0,(k[K>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}sx(j,113,k[O>>2]|0,(k[K>>2]|0)+(k[E>>2]|0)|0)|0;tx(k[U>>2]|0,99,k[K>>2]|0,(k[E>>2]|0)+2|0,k[I>>2]|0)|0;sx(k[U>>2]|0,126,k[O>>2]|0,k[I>>2]|0)|0;if(k[B>>2]|0)hA(k[U>>2]|0,k[B>>2]|0);Hx(k[P>>2]|0,k[I>>2]|0);PA(k[P>>2]|0,k[K>>2]|0,(k[E>>2]|0)+2|0);break}default:{}}while(0);if(k[R>>2]|0){r=V;return}if(!(k[(k[Q>>2]|0)+12>>2]|0)){r=V;return}sx(k[U>>2]|0,68,k[(k[Q>>2]|0)+12>>2]|0,k[S>>2]|0)|0;r=V;return}function bH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;cH(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}r=g;return}function cH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=203;k[e+8>>2]=204;k[e+24>>2]=k[f>>2];Gy(e,k[d>>2]|0)|0;r=c;return}function dH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;f=h;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+409>>0]|0|0)!=2){r=h;return}k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[k[c>>2]>>2]|0;k[f>>2]=k[d>>2];b=Qh(b,35808,f)|0;k[g>>2]=b;wx(k[e>>2]|0,162,k[(k[c>>2]|0)+420>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}function eH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+44>>0]|0|0}function fH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=d;tx(k[(k[h>>2]|0)+8>>2]|0,83,k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;QA(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function gH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+56|0;d=v+52|0;u=v+48|0;g=v+44|0;t=v+40|0;e=v+36|0;o=v+32|0;l=v+28|0;j=v+24|0;f=v+20|0;s=v+16|0;q=v+12|0;n=v+8|0;p=v+4|0;h=v;k[c>>2]=a;k[d>>2]=b;k[u>>2]=k[(k[c>>2]|0)+8>>2];k[t>>2]=0;k[e>>2]=0;i[k[d>>2]>>0]=1;k[g>>2]=0;k[o>>2]=k[(k[d>>2]|0)+40>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;k[f>>2]=0;k[q>>2]=k[(k[k[o>>2]>>2]|0)+20>>2];if(k[q>>2]|0){k[j>>2]=k[k[q>>2]>>2];a=MA(k[c>>2]|0,k[j>>2]|0)|0;k[s>>2]=a;kB(k[c>>2]|0,k[q>>2]|0,k[s>>2]|0,0,1)|0}else{k[j>>2]=0;k[s>>2]=0}if((k[(k[o>>2]|0)+12>>2]|0)>=0){a=eA(k[u>>2]|0)|0;k[f>>2]=a;qH(k[c>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[f>>2]|0,1,k[s>>2]|0)}if((m[(k[(k[o>>2]|0)+4>>2]|0)+2>>1]|0)&32){k[n>>2]=0;k[h>>2]=0;k[p>>2]=k[(k[q>>2]|0)+4>>2];while(1){if(k[n>>2]|0)break;if((k[h>>2]|0)>=(k[j>>2]|0))break;a=py(k[c>>2]|0,k[k[p>>2]>>2]|0)|0;k[n>>2]=a;k[h>>2]=(k[h>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if(!(k[n>>2]|0))k[n>>2]=k[(k[k[c>>2]>>2]|0)+8>>2];if((k[t>>2]|0)==0?(k[(k[d>>2]|0)+36>>2]|0)!=0:0){b=(k[c>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[t>>2]=a}wx(k[u>>2]|0,88,k[t>>2]|0,0,0,k[n>>2]|0,-4)|0}wx(k[u>>2]|0,147,0,k[s>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+4>>2]|0,-5)|0;Th(k[u>>2]|0,k[j>>2]&255);eB(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);PA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);if(k[f>>2]|0){iA(k[u>>2]|0,k[f>>2]|0);OC(k[c>>2]|0)}k[g>>2]=(k[g>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+16}if(k[t>>2]|0){t=aA(k[u>>2]|0,21,k[t>>2]|0)|0;k[e>>2]=t}OC(k[c>>2]|0);k[g>>2]=0;k[l>>2]=k[(k[d>>2]|0)+28>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+36>>2]|0))break;$A(k[c>>2]|0,k[(k[l>>2]|0)+20>>2]|0,k[(k[l>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+24}i[k[d>>2]>>0]=0;OC(k[c>>2]|0);if(!(k[e>>2]|0)){r=v;return}hA(k[u>>2]|0,k[e>>2]|0);r=v;return}function hH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;c=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[g>>2]=k[(k[i>>2]|0)+8>>2];k[d>>2]=0;k[e>>2]=k[(k[c>>2]|0)+40>>2];while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+44>>2]|0))break;k[f>>2]=k[(k[k[e>>2]>>2]|0)+20>>2];if(k[f>>2]|0)b=k[k[f>>2]>>2]|0;else b=0;wx(k[g>>2]|0,149,k[(k[e>>2]|0)+8>>2]|0,b,0,k[(k[e>>2]|0)+4>>2]|0,-5)|0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+16}r=h;return}function iH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;j=l;c=l+32|0;d=l+28|0;i=l+24|0;e=l+20|0;g=l+16|0;m=l+12|0;f=l+8|0;h=l+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[c>>2]|0)+8>>2];k[m>>2]=(k[(k[d>>2]|0)+44>>2]|0)+(k[(k[d>>2]|0)+32>>2]|0);if(!(k[m>>2]|0)){r=l;return}tx(k[i>>2]|0,79,0,k[(k[d>>2]|0)+16>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=k[(k[d>>2]|0)+40>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;do if((k[(k[g>>2]|0)+12>>2]|0)>=0){k[f>>2]=k[k[g>>2]>>2];if((k[(k[f>>2]|0)+20>>2]|0)!=0?(k[k[(k[f>>2]|0)+20>>2]>>2]|0)==1:0){m=TG(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0,0,0)|0;k[h>>2]=m;wx(k[i>>2]|0,107,k[(k[g>>2]|0)+12>>2]|0,0,0,k[h>>2]|0,-6)|0;break}Oh(k[c>>2]|0,35757,j);k[(k[g>>2]|0)+12>>2]=-1}while(0);k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}r=l;return}function jH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if((((k[(k[d>>2]|0)+32>>2]|0)==0?(k[k[k[d>>2]>>2]>>2]|0)==1:0)?(k[k[(k[d>>2]|0)+28>>2]>>2]|0)==1:0)?(k[(k[(k[d>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){k[g>>2]=k[(k[(k[d>>2]|0)+28>>2]|0)+8+16>>2];k[f>>2]=k[k[(k[k[d>>2]>>2]|0)+4>>2]>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if((l[k[f>>2]>>0]|0|0)!=153){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+44>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!((m[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(k[(k[f>>2]|0)+4>>2]&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}else{k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}}k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function kH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;f=m+28|0;g=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;if((l[(k[f>>2]|0)+409>>0]|0|0)!=2){r=m;return}if(k[d>>2]|0)if(!((l[(k[g>>2]|0)+42>>0]|0)&32))c=1;else c=(i[(k[d>>2]|0)+55>>0]&3|0)==2^1;else c=0;k[e>>2]=c&1;a=k[k[f>>2]>>2]|0;b=(k[e>>2]|0)!=0?35716:18402;if(k[e>>2]|0)c=k[k[d>>2]>>2]|0;else c=18402;k[h>>2]=k[k[g>>2]>>2];k[h+4>>2]=b;k[h+8>>2]=c;h=Qh(a,35739,h)|0;k[j>>2]=h;wx(k[(k[f>>2]|0)+8>>2]|0,162,k[(k[f>>2]|0)+420>>2]|0,0,0,k[j>>2]|0,-1)|0;r=m;return}function lH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[k[d>>2]>>2]=0;do if((((k[(k[c>>2]|0)+44>>2]|0)==1?(k[g>>2]=k[k[(k[c>>2]|0)+40>>2]>>2],k[f>>2]=k[(k[g>>2]|0)+20>>2],(k[f>>2]|0)!=0):0)?(k[k[f>>2]>>2]|0)==1:0)?(l[k[k[(k[f>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){k[h>>2]=k[(k[g>>2]|0)+8>>2];if(!(sg(k[h>>2]|0,35708)|0)){k[e>>2]=1;k[k[d>>2]>>2]=k[f>>2];break}if(!(sg(k[h>>2]|0,35712)|0)){k[e>>2]=2;k[k[d>>2]>>2]=k[f>>2]}}while(0);r=i;return k[e>>2]&255|0}function mH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;u=E+84|0;f=E+80|0;B=E+76|0;v=E+72|0;s=E+68|0;D=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;g=E+48|0;z=E+44|0;p=E+40|0;x=E+36|0;j=E+32|0;t=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;o=E+12|0;i=E+8|0;h=E+4|0;q=E;k[u>>2]=a;k[f>>2]=b;k[B>>2]=c;k[v>>2]=d;k[s>>2]=e;k[D>>2]=k[(k[u>>2]|0)+8>>2];k[C>>2]=k[(k[B>>2]|0)+24>>2];c=eA(k[D>>2]|0)|0;k[w>>2]=c;k[g>>2]=0;k[p>>2]=k[k[B>>2]>>2];k[x>>2]=l[k[s>>2]>>0];k[j>>2]=k[(k[s>>2]|0)+8>>2];if(k[(k[B>>2]|0)+16>>2]|0){sx(k[D>>2]|0,14,k[(k[B>>2]|0)+12>>2]|0,k[(k[B>>2]|0)+16>>2]|0)|0;gA(k[D>>2]|0,k[C>>2]|0)|0;iA(k[D>>2]|0,k[(k[B>>2]|0)+16>>2]|0)}k[z>>2]=k[(k[B>>2]|0)+8>>2];if((k[x>>2]|0)==9|(k[x>>2]|0)==13|(k[x>>2]|0)==10){k[y>>2]=0;k[t>>2]=k[(k[s>>2]|0)+12>>2];k[o>>2]=k[v>>2]}else{c=Fx(k[u>>2]|0)|0;k[y>>2]=c;c=MA(k[u>>2]|0,k[v>>2]|0)|0;k[t>>2]=c;k[o>>2]=k[v>>2]}k[n>>2]=(k[k[p>>2]>>2]|0)-(k[(k[B>>2]|0)+4>>2]|0);if((l[(k[B>>2]|0)+28>>0]|0)&1){c=(k[u>>2]|0)+44|0;a=(k[c>>2]|0)+1|0;k[c>>2]=a;k[q>>2]=a;a=(k[u>>2]|0)+40|0;c=k[a>>2]|0;k[a>>2]=c+1;k[m>>2]=c;if(k[(k[B>>2]|0)+16>>2]|0){c=px(k[D>>2]|0,20)|0;k[g>>2]=c}tx(k[D>>2]|0,110,k[m>>2]|0,k[q>>2]|0,(k[n>>2]|0)+1+(k[o>>2]|0)|0)|0;if(k[g>>2]|0)hA(k[D>>2]|0,k[g>>2]|0);c=1+(sx(k[D>>2]|0,55,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=c;pH(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[w>>2]|0);tx(k[D>>2]|0,120,k[z>>2]|0,k[q>>2]|0,k[m>>2]|0)|0;k[h>>2]=0}else{q=1+(sx(k[D>>2]|0,56,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=q;pH(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[w>>2]|0);k[m>>2]=k[z>>2];k[h>>2]=1}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[o>>2]|0))break;tx(k[D>>2]|0,96,k[m>>2]|0,(k[n>>2]|0)+(k[h>>2]|0)+(k[i>>2]|0)|0,(k[t>>2]|0)+(k[i>>2]|0)|0)|0;k[i>>2]=(k[i>>2]|0)+1}a:do switch(k[x>>2]|0){case 12:{sx(k[D>>2]|0,114,k[j>>2]|0,k[y>>2]|0)|0;tx(k[D>>2]|0,115,k[j>>2]|0,k[t>>2]|0,k[y>>2]|0)|0;Th(k[D>>2]|0,8);break}case 11:{wx(k[D>>2]|0,99,k[t>>2]|0,k[v>>2]|0,k[y>>2]|0,k[(k[s>>2]|0)+4>>2]|0,k[v>>2]|0)|0;eB(k[u>>2]|0,k[t>>2]|0,k[v>>2]|0);sx(k[D>>2]|0,126,k[j>>2]|0,k[y>>2]|0)|0;break}case 10:break;default:{f=k[D>>2]|0;g=k[s>>2]|0;if((k[x>>2]|0)==9){sx(f,87,k[g+12>>2]|0,k[v>>2]|0)|0;eB(k[u>>2]|0,k[(k[s>>2]|0)+12>>2]|0,k[v>>2]|0);break a}else{aA(f,16,k[g+8>>2]|0)|0;break a}}}while(0);if(k[y>>2]|0){g=k[u>>2]|0;f=k[t>>2]|0;if((k[x>>2]|0)==11)PA(g,f,k[v>>2]|0);else Hx(g,f);Hx(k[u>>2]|0,k[y>>2]|0)}iA(k[D>>2]|0,k[w>>2]|0);h=k[D>>2]|0;g=k[z>>2]|0;f=k[A>>2]|0;if((l[(k[B>>2]|0)+28>>0]|0)&1)sx(h,3,g,f)|0;else sx(h,7,g,f)|0;if(!(k[(k[B>>2]|0)+12>>2]|0)){B=k[D>>2]|0;D=k[C>>2]|0;iA(B,D);r=E;return}aA(k[D>>2]|0,72,k[(k[B>>2]|0)+12>>2]|0)|0;B=k[D>>2]|0;D=k[C>>2]|0;iA(B,D);r=E;return}function nH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;v=A+8|0;u=A;d=A+72|0;e=A+68|0;f=A+64|0;t=A+60|0;m=A+56|0;o=A+52|0;g=A+48|0;h=A+44|0;s=A+40|0;p=A+36|0;y=A+32|0;q=A+28|0;x=A+24|0;n=A+20|0;z=A+16|0;w=A+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[t>>2]=k[(k[d>>2]|0)+8>>2];k[g>>2]=k[k[d>>2]>>2];if(i[(k[d>>2]|0)+409>>0]|0){r=A;return}if(l[(k[d>>2]|0)+16>>0]|0){r=A;return}if(l[(k[g>>2]|0)+69>>0]|0){r=A;return}i[(k[d>>2]|0)+16>>0]=1;k[h>>2]=(k[(k[g>>2]|0)+24>>2]&4|0)!=0&1;k[s>>2]=(k[(k[g>>2]|0)+24>>2]&64|0)!=0&1;wC(k[t>>2]|0,k[k[f>>2]>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[p>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2];do if(k[p>>2]|0){if(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2]|0){k[y>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2];xC(k[t>>2]|0,k[m>>2]|0,0,k[y>>2]|0,-1)|0;break}if((l[k[p>>2]>>0]|0)!=152?(l[k[p>>2]>>0]|0)!=154:0){k[w>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2];c=k[g>>2]|0;if(!(k[w>>2]|0)){k[v>>2]=(k[m>>2]|0)+1;c=Qh(c,35699,v)|0}else c=Ah(c,k[w>>2]|0)|0;k[w>>2]=c;xC(k[t>>2]|0,k[m>>2]|0,0,k[w>>2]|0,170)|0;break}k[n>>2]=j[(k[p>>2]|0)+32>>1];k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[e>>2]>>2]|0))break;if((k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0)==(k[(k[p>>2]|0)+28>>2]|0))break;k[o>>2]=(k[o>>2]|0)+1}k[q>>2]=k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2];if((k[n>>2]|0)<0)k[n>>2]=j[(k[q>>2]|0)+32>>1];if((k[n>>2]|0)<0)k[x>>2]=24745;else k[x>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(!((k[s>>2]|0)!=0|(k[h>>2]|0)!=0)){a=k[t>>2]|0;b=k[m>>2]|0;xC(a,b,0,Ah(k[g>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(k[h>>2]|0){k[z>>2]=0;b=k[g>>2]|0;a=k[x>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;b=Qh(b,30161,u)|0;k[z>>2]=b;xC(k[t>>2]|0,k[m>>2]|0,0,k[z>>2]|0,170)|0;break}else{xC(k[t>>2]|0,k[m>>2]|0,0,k[x>>2]|0,-1)|0;break}}while(0);k[m>>2]=(k[m>>2]|0)+1}oH(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=A;return}function oH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+64|0;l=j+56|0;m=j+52|0;d=j+48|0;h=j+44|0;e=j+40|0;g=j+8|0;f=j+4|0;i=j;k[l>>2]=a;k[m>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[l>>2]|0)+8>>2];k[g+4>>2]=k[m>>2];k[g>>2]=k[l>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];m=ny(g,k[f>>2]|0,0)|0;k[i>>2]=m;xC(k[h>>2]|0,k[e>>2]|0,1,k[i>>2]|0,-1)|0;k[e>>2]=(k[e>>2]|0)+1}r=j;return}function pH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}tx(k[d>>2]|0,66,k[e>>2]|0,k[f>>2]|0,1)|0;r=g;return}function qH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=r;r=r+32|0;h=f+24|0;i=f+20|0;n=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;g=f;k[h>>2]=a;k[i>>2]=b;k[n>>2]=c;k[l>>2]=d;k[m>>2]=e;k[j>>2]=k[(k[h>>2]|0)+8>>2];a=Fx(k[h>>2]|0)|0;k[g>>2]=a;Sh(k[j>>2]|0,31,k[i>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;tx(k[j>>2]|0,99,k[m>>2]|0,k[l>>2]|0,k[g>>2]|0)|0;sx(k[j>>2]|0,126,k[i>>2]|0,k[g>>2]|0)|0;Hx(k[h>>2]|0,k[g>>2]|0);r=f;return}function rH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;t=A+64|0;c=A+60|0;u=A+56|0;w=A+52|0;p=A+48|0;z=A+44|0;q=A+40|0;x=A+36|0;o=A+32|0;g=A+28|0;e=A+24|0;d=A+20|0;f=A+16|0;n=A+12|0;s=A+8|0;h=A+4|0;y=A;v=A+68|0;k[c>>2]=a;k[u>>2]=b;k[p>>2]=k[(k[c>>2]|0)+24>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=k[(k[p>>2]|0)+4>>2];k[x>>2]=k[(k[p>>2]|0)+12>>2];switch(l[k[u>>2]>>0]|0){case 152:case 154:{a:do if(k[q>>2]|0){k[o>>2]=(k[q>>2]|0)+8;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[k[q>>2]>>2]|0))break a;if((k[(k[u>>2]|0)+28>>2]|0)==(k[(k[o>>2]|0)+44>>2]|0))break;k[w>>2]=(k[w>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+72}k[g>>2]=k[(k[x>>2]|0)+28>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0))break;if((k[(k[g>>2]|0)+4>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0)?(k[(k[g>>2]|0)+8>>2]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+24}if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0)?(y=tH(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[e>>2]=y,(y|0)>=0):0){k[g>>2]=(k[(k[x>>2]|0)+28>>2]|0)+((k[e>>2]|0)*24|0);k[k[g>>2]>>2]=k[(k[u>>2]|0)+44>>2];k[(k[g>>2]|0)+4>>2]=k[(k[u>>2]|0)+28>>2];k[(k[g>>2]|0)+8>>2]=j[(k[u>>2]|0)+32>>1];y=(k[z>>2]|0)+44|0;z=(k[y>>2]|0)+1|0;k[y>>2]=z;k[(k[g>>2]|0)+16>>2]=z;k[(k[g>>2]|0)+12>>2]=-1;k[(k[g>>2]|0)+20>>2]=k[u>>2];b:do if(k[(k[x>>2]|0)+24>>2]|0){k[n>>2]=k[(k[x>>2]|0)+24>>2];k[s>>2]=k[(k[n>>2]|0)+4>>2];k[f>>2]=k[k[n>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;k[h>>2]=k[k[s>>2]>>2];if(((l[k[h>>2]>>0]|0)==152?(k[(k[h>>2]|0)+28>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0):0)?(j[(k[h>>2]|0)+32>>1]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}k[(k[g>>2]|0)+12>>2]=k[d>>2]}while(0);if((k[(k[g>>2]|0)+12>>2]|0)<0){y=(k[x>>2]|0)+12|0;z=k[y>>2]|0;k[y>>2]=z+1;k[(k[g>>2]|0)+12>>2]=z}}k[(k[u>>2]|0)+40>>2]=k[x>>2];i[k[u>>2]>>0]=-102;j[(k[u>>2]|0)+34>>1]=k[e>>2]}while(0);k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}case 153:{if((m[(k[p>>2]|0)+28>>1]&8|0)==0?(k[(k[c>>2]|0)+16>>2]|0)==(l[(k[u>>2]|0)+38>>0]|0):0){k[y>>2]=k[(k[x>>2]|0)+40>>2];k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0))break;if(!(Uy(k[k[y>>2]>>2]|0,k[u>>2]|0,-1)|0))break;k[w>>2]=(k[w>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+16}do if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0)?(i[v>>0]=i[(k[k[z>>2]>>2]|0)+66>>0]|0,a=uH(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[w>>2]=a,(k[w>>2]|0)>=0):0){k[y>>2]=(k[(k[x>>2]|0)+40>>2]|0)+(k[w>>2]<<4);k[k[y>>2]>>2]=k[u>>2];s=(k[z>>2]|0)+44|0;a=(k[s>>2]|0)+1|0;k[s>>2]=a;k[(k[y>>2]|0)+8>>2]=a;if(k[(k[u>>2]|0)+20>>2]|0)c=k[k[(k[u>>2]|0)+20>>2]>>2]|0;else c=0;v=ui(k[k[z>>2]>>2]|0,k[(k[u>>2]|0)+8>>2]|0,c,i[v>>0]|0,0)|0;k[(k[y>>2]|0)+4>>2]=v;if(k[(k[u>>2]|0)+4>>2]&16){v=(k[z>>2]|0)+40|0;z=k[v>>2]|0;k[v>>2]=z+1;k[(k[y>>2]|0)+12>>2]=z;break}else{k[(k[y>>2]|0)+12>>2]=-1;break}}while(0);j[(k[u>>2]|0)+34>>1]=k[w>>2];k[(k[u>>2]|0)+40>>2]=k[x>>2];k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}default:{k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}}return 0}function sH(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function tH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=aD(k[f>>2]|0,k[(k[e>>2]|0)+28>>2]|0,24,(k[e>>2]|0)+32|0,c)|0;k[(k[e>>2]|0)+28>>2]=b;r=d;return k[c>>2]|0}function uH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=aD(k[f>>2]|0,k[(k[e>>2]|0)+40>>2]|0,16,(k[e>>2]|0)+44|0,c)|0;k[(k[e>>2]|0)+40>>2]=b;r=d;return k[c>>2]|0}function vH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;q=L+96|0;s=L+92|0;h=L+88|0;j=L+84|0;n=L+80|0;t=L+76|0;o=L+72|0;K=L+68|0;x=L+64|0;A=L+60|0;p=L+56|0;H=L+52|0;J=L+48|0;C=L+44|0;D=L+40|0;z=L+36|0;I=L+32|0;v=L+28|0;w=L+24|0;F=L+20|0;B=L+16|0;E=L+12|0;u=L+8|0;G=L+4|0;y=L;k[q>>2]=a;k[s>>2]=b;k[h>>2]=c;k[j>>2]=d;k[n>>2]=e;k[t>>2]=f;k[o>>2]=g;k[K>>2]=k[(k[q>>2]|0)+8>>2];k[x>>2]=(l[(k[s>>2]|0)+28>>0]&1|0)==0&1;k[A>>2]=k[k[k[s>>2]>>2]>>2];k[p>>2]=(k[A>>2]|0)+(k[x>>2]|0)+(k[t>>2]|0);d=(k[q>>2]|0)+44|0;e=(k[d>>2]|0)+1|0;k[d>>2]=e;k[J>>2]=e;k[C>>2]=k[(k[s>>2]|0)+4>>2];if(k[o>>2]|0)k[H>>2]=(k[j>>2]|0)-(k[A>>2]|0)-(k[x>>2]|0);else{k[H>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;e=(k[q>>2]|0)+44|0;k[e>>2]=(k[e>>2]|0)+(k[p>>2]|0)}f=k[h>>2]|0;if(k[(k[h>>2]|0)+16>>2]|0)f=(k[f+16>>2]|0)+1|0;else f=k[f+12>>2]|0;k[z>>2]=f;h=eA(k[K>>2]|0)|0;k[(k[s>>2]|0)+24>>2]=h;kB(k[q>>2]|0,k[k[s>>2]>>2]|0,k[H>>2]|0,k[n>>2]|0,5)|0;if(k[x>>2]|0)sx(k[K>>2]|0,113,k[(k[s>>2]|0)+8>>2]|0,(k[H>>2]|0)+(k[A>>2]|0)|0)|0;if(!(k[o>>2]|0))fH(k[q>>2]|0,k[j>>2]|0,(k[H>>2]|0)+(k[A>>2]|0)+(k[x>>2]|0)|0,k[t>>2]|0);tx(k[K>>2]|0,99,(k[H>>2]|0)+(k[C>>2]|0)|0,(k[p>>2]|0)-(k[C>>2]|0)|0,k[J>>2]|0)|0;if((k[C>>2]|0)>0){k[I>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;f=(k[q>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+(k[(k[s>>2]|0)+4>>2]|0);k[B>>2]=(k[A>>2]|0)-(k[(k[s>>2]|0)+4>>2]|0)+(k[x>>2]|0);f=k[K>>2]|0;if(k[x>>2]|0){x=aA(f,22,(k[H>>2]|0)+(k[A>>2]|0)|0)|0;k[v>>2]=x}else{x=aA(f,109,k[(k[s>>2]|0)+8>>2]|0)|0;k[v>>2]=x}tx(k[K>>2]|0,95,k[I>>2]|0,k[H>>2]|0,k[(k[s>>2]|0)+4>>2]|0)|0;x=oA(k[K>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;k[F>>2]=x;if(i[(k[k[q>>2]>>2]|0)+69>>0]|0){r=L;return}k[(k[F>>2]|0)+8>>2]=(k[B>>2]|0)+(k[t>>2]|0);k[E>>2]=k[(k[F>>2]|0)+16>>2];dS(k[(k[E>>2]|0)+16>>2]|0,0,m[(k[E>>2]|0)+6>>1]|0)|0;Wh(k[K>>2]|0,-1,k[E>>2]|0,-6);E=TG(k[q>>2]|0,k[k[s>>2]>>2]|0,k[C>>2]|0,(m[(k[E>>2]|0)+8>>1]|0)-1|0)|0;k[(k[F>>2]|0)+16>>2]=E;E=Gx(k[K>>2]|0)|0;k[w>>2]=E;tx(k[K>>2]|0,18,(k[w>>2]|0)+1|0,0,(k[w>>2]|0)+1|0)|0;E=eA(k[K>>2]|0)|0;k[(k[s>>2]|0)+16>>2]=E;E=(k[q>>2]|0)+44|0;F=(k[E>>2]|0)+1|0;k[E>>2]=F;k[(k[s>>2]|0)+12>>2]=F;sx(k[K>>2]|0,14,k[(k[s>>2]|0)+12>>2]|0,k[(k[s>>2]|0)+16>>2]|0)|0;aA(k[K>>2]|0,133,k[(k[s>>2]|0)+8>>2]|0)|0;if(k[z>>2]|0)sx(k[K>>2]|0,22,k[z>>2]|0,k[(k[s>>2]|0)+24>>2]|0)|0;hA(k[K>>2]|0,k[v>>2]|0);fH(k[q>>2]|0,k[H>>2]|0,k[I>>2]|0,k[(k[s>>2]|0)+4>>2]|0);hA(k[K>>2]|0,k[w>>2]|0)}if(l[(k[s>>2]|0)+28>>0]&1)k[D>>2]=125;else k[D>>2]=126;sx(k[K>>2]|0,k[D>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[J>>2]|0)|0;if(!(k[z>>2]|0)){r=L;return}k[G>>2]=0;J=tx(k[K>>2]|0,67,k[z>>2]|0,0,1)|0;k[u>>2]=J;aA(k[K>>2]|0,53,k[(k[s>>2]|0)+8>>2]|0)|0;if(i[(k[s>>2]|0)+29>>0]|0){I=(k[q>>2]|0)+44|0;J=(k[I>>2]|0)+1|0;k[I>>2]=J;k[G>>2]=J;tx(k[K>>2]|0,96,k[(k[s>>2]|0)+8>>2]|0,k[A>>2]|0,k[G>>2]|0)|0}aA(k[K>>2]|0,117,k[(k[s>>2]|0)+8>>2]|0)|0;if(i[(k[s>>2]|0)+29>>0]|0){J=(Gx(k[K>>2]|0)|0)+2|0;k[y>>2]=J;tx(k[K>>2]|0,37,(k[H>>2]|0)+(k[A>>2]|0)|0,k[y>>2]|0,k[G>>2]|0)|0;Th(k[K>>2]|0,-128)}hA(k[K>>2]|0,k[u>>2]|0);r=L;return}function wH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;h=p+20|0;e=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;k[e>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;if(!(k[m>>2]|0)){k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}do if((l[k[m>>2]>>0]|0)==152?(k[(k[m>>2]|0)+28>>2]|0)==(k[n>>2]|0):0)if((j[(k[m>>2]|0)+32>>1]|0)<0){i[k[m>>2]>>0]=101;break}else{o=Sy(k[e>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;k[f>>2]=o;sv(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[f>>2];break}else g=8;while(0);do if((g|0)==8){a=wH(k[e>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+12>>2]=a;a=wH(k[e>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+16>>2]=a;e=k[e>>2]|0;a=(k[m>>2]|0)+20|0;if(k[(k[m>>2]|0)+4>>2]&2048){xH(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0,1);break}else{yH(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0);break}}while(0);k[h>>2]=k[m>>2];o=k[h>>2]|0;r=p;return o|0}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;o=p+8|0;n=p+4|0;m=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if(!(k[g>>2]|0)){r=p;return}while(1){yH(k[f>>2]|0,k[k[g>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0);yH(k[f>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[h>>2]|0,k[i>>2]|0);yH(k[f>>2]|0,k[(k[g>>2]|0)+44>>2]|0,k[h>>2]|0,k[i>>2]|0);d=wH(k[f>>2]|0,k[(k[g>>2]|0)+40>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+40>>2]=d;d=wH(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=d;k[o>>2]=k[(k[g>>2]|0)+28>>2];k[m>>2]=k[k[o>>2]>>2];k[n>>2]=(k[o>>2]|0)+8;while(1){if((k[m>>2]|0)<=0)break;xH(k[f>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[h>>2]|0,k[i>>2]|0,1);if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1)yH(k[f>>2]|0,k[(k[n>>2]|0)+64>>2]|0,k[h>>2]|0,k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+72}if(!(k[j>>2]|0)){f=9;break}d=k[(k[g>>2]|0)+48>>2]|0;k[g>>2]=d;if(!d){f=9;break}}if((f|0)==9){r=p;return}}function yH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[k[f>>2]>>2]|0))break;b=wH(k[e>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]=b;k[i>>2]=(k[i>>2]|0)+1}r=j;return}function zH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=1;k[i>>2]=0;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2];k[g>>2]=(k[g>>2]|0)+1}while(1){if(!(k[e>>2]|0)){d=7;break}k[h>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=0;a=Zv(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[i>>2]=a;k[(k[e>>2]|0)+48>>2]=k[h>>2];if(k[i>>2]|0){d=7;break}j[(k[e>>2]|0)+6>>1]=k[g>>2];k[e>>2]=k[(k[e>>2]|0)+52>>2]}if((d|0)==7){r=l;return k[i>>2]|0}return 0}function AH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+128|0;F=G;n=G+120|0;o=G+116|0;p=G+112|0;e=G+108|0;i=G+104|0;E=G+100|0;A=G+96|0;t=G+92|0;s=G+88|0;q=G+84|0;v=G+80|0;B=G+76|0;w=G+72|0;h=G+68|0;g=G+64|0;u=G+40|0;d=G+32|0;m=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;j=G+4|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[e>>2]=k[(k[o>>2]|0)+28>>2];k[i>>2]=k[k[k[o>>2]>>2]>>2];k[E>>2]=k[(k[n>>2]|0)+8>>2];k[A>>2]=k[(k[o>>2]|0)+48>>2];k[v>>2]=0;k[h>>2]=0;k[g>>2]=5;if(kx(k[n>>2]|0,33,0,0,0)|0){r=G;return}a=eA(k[E>>2]|0)|0;k[q>>2]=a;UG(k[n>>2]|0,k[o>>2]|0,k[q>>2]|0);k[x>>2]=k[(k[o>>2]|0)+56>>2];k[y>>2]=k[(k[o>>2]|0)+60>>2];k[C>>2]=k[(k[o>>2]|0)+12>>2];k[D>>2]=k[(k[o>>2]|0)+16>>2];k[(k[o>>2]|0)+60>>2]=0;k[(k[o>>2]|0)+56>>2]=0;k[(k[o>>2]|0)+16>>2]=0;k[(k[o>>2]|0)+12>>2]=0;k[z>>2]=k[(k[o>>2]|0)+44>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[e>>2]>>2]|0))break;b=k[d>>2]|0;if((l[(k[e>>2]|0)+8+((k[d>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){f=5;break}k[d>>2]=b+1}if((f|0)==5)k[v>>2]=k[(k[e>>2]|0)+8+(b*72|0)+44>>2];f=(k[n>>2]|0)+40|0;b=k[f>>2]|0;k[f>>2]=b+1;k[w>>2]=b;b=(k[z>>2]|0)!=0;if((l[(k[o>>2]|0)+4>>0]|0|0)==115){k[g>>2]=b?8:6;e=(k[n>>2]|0)+40|0;f=k[e>>2]|0;k[e>>2]=f+1;k[h>>2]=f}else k[g>>2]=b?7:5;FB(u,k[g>>2]|0,k[w>>2]|0);f=(k[n>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[B>>2]=g;tx(k[E>>2]|0,110,k[v>>2]|0,k[B>>2]|0,k[i>>2]|0)|0;if(k[z>>2]|0){i=EH(k[n>>2]|0,k[o>>2]|0,1)|0;k[j>>2]=i;wx(k[E>>2]|0,107,k[w>>2]|0,(k[k[z>>2]>>2]|0)+2|0,0,k[j>>2]|0,-6)|0;k[u+20>>2]=k[z>>2]}else sx(k[E>>2]|0,107,k[w>>2]|0,k[i>>2]|0)|0;if(k[h>>2]|0){j=sx(k[E>>2]|0,107,k[h>>2]|0,0)|0;k[(k[o>>2]|0)+20>>2]=j;j=(k[o>>2]|0)+8|0;k[j>>2]=k[j>>2]|32}k[(k[o>>2]|0)+44>>2]=0;k[(k[A>>2]|0)+52>>2]=0;j=Zv(k[n>>2]|0,k[A>>2]|0,u)|0;k[m>>2]=j;k[(k[A>>2]|0)+52>>2]=k[o>>2];if(!(k[m>>2]|0)){b=sx(k[E>>2]|0,57,k[w>>2]|0,k[q>>2]|0)|0;k[t>>2]=b;aA(k[E>>2]|0,124,k[v>>2]|0)|0;b=k[E>>2]|0;c=k[w>>2]|0;if(k[z>>2]|0)tx(b,96,c,(k[k[z>>2]>>2]|0)+1|0,k[B>>2]|0)|0;else sx(b,122,c,k[B>>2]|0)|0;aA(k[E>>2]|0,117,k[w>>2]|0)|0;B=eA(k[E>>2]|0)|0;k[s>>2]=B;pH(k[E>>2]|0,k[D>>2]|0,k[s>>2]|0);aH(k[n>>2]|0,k[o>>2]|0,k[k[o>>2]>>2]|0,k[v>>2]|0,0,0,k[p>>2]|0,k[s>>2]|0,k[q>>2]|0);if(k[C>>2]|0)sx(k[E>>2]|0,68,k[C>>2]|0,k[q>>2]|0)|0;iA(k[E>>2]|0,k[s>>2]|0);if(k[(k[o>>2]|0)+8>>2]&8)Oh(k[n>>2]|0,35980,F);else{k[(k[o>>2]|0)+48>>2]=0;Zv(k[n>>2]|0,k[o>>2]|0,u)|0;k[(k[o>>2]|0)+48>>2]=k[A>>2]}gA(k[E>>2]|0,k[t>>2]|0)|0;iA(k[E>>2]|0,k[q>>2]|0)}ov(k[k[n>>2]>>2]|0,k[(k[o>>2]|0)+44>>2]|0);k[(k[o>>2]|0)+44>>2]=k[z>>2];k[(k[o>>2]|0)+56>>2]=k[x>>2];k[(k[o>>2]|0)+60>>2]=k[y>>2];r=G;return}function BH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=r;r=r+224|0;p=ba+220|0;q=ba+216|0;s=ba+212|0;t=ba+208|0;d=ba+204|0;e=ba+200|0;S=ba+196|0;aa=ba+192|0;H=ba+168|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;o=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;g=ba+16|0;n=ba+12|0;h=ba+8|0;f=ba+4|0;P=ba;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[D>>2]=0;k[Q>>2]=0;k[G>>2]=k[k[q>>2]>>2];k[aa>>2]=k[(k[q>>2]|0)+8>>2];a=eA(k[aa>>2]|0)|0;k[M>>2]=a;a=eA(k[aa>>2]|0)|0;k[L>>2]=a;k[O>>2]=l[(k[s>>2]|0)+4>>0];k[S>>2]=k[(k[s>>2]|0)+48>>2];k[o>>2]=k[(k[s>>2]|0)+44>>2];k[N>>2]=k[k[o>>2]>>2];a:do if((k[O>>2]|0)!=116){k[d>>2]=1;while(1){if(l[(k[G>>2]|0)+69>>0]|0)break a;if((k[d>>2]|0)>(k[k[k[s>>2]>>2]>>2]|0))break a;k[e>>2]=0;k[g>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[N>>2]|0))break;if((m[(k[g>>2]|0)+16>>1]|0)==(k[d>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+20}if((k[e>>2]|0)==(k[N>>2]|0)){a=ew(k[G>>2]|0,134,0)|0;k[n>>2]=a;if(!(k[n>>2]|0))break;a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[d>>2];a=bw(k[q>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){c=k[d>>2]&65535;a=k[N>>2]|0;k[N>>2]=a+1;j[(k[(k[o>>2]|0)+4>>2]|0)+(a*20|0)+16>>1]=c}}k[d>>2]=(k[d>>2]|0)+1}k[p>>2]=7;aa=k[p>>2]|0;r=ba;return aa|0}while(0);a=dx(k[G>>2]|0,(k[N>>2]|0)+1<<2,0)|0;k[u>>2]=a;if(k[u>>2]|0){k[k[u>>2]>>2]=k[N>>2];k[d>>2]=1;k[h>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[d>>2]|0)>(k[N>>2]|0))break;k[(k[u>>2]|0)+(k[d>>2]<<2)>>2]=(m[(k[h>>2]|0)+16>>1]|0)-1;k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}a=EH(k[q>>2]|0,k[s>>2]|0,1)|0;k[R>>2]=a}else k[R>>2]=0;k[(k[s>>2]|0)+44>>2]=k[o>>2];a=_y(k[k[q>>2]>>2]|0,k[o>>2]|0,0)|0;k[(k[S>>2]|0)+44>>2]=a;b:do if((k[O>>2]|0)!=116){k[f>>2]=k[k[k[s>>2]>>2]>>2];k[Z>>2]=(k[(k[q>>2]|0)+44>>2]|0)+1;a=(k[q>>2]|0)+44|0;k[a>>2]=(k[a>>2]|0)+((k[f>>2]|0)+1);sx(k[aa>>2]|0,76,0,k[Z>>2]|0)|0;a=sA(k[G>>2]|0,k[f>>2]|0,1)|0;k[Q>>2]=a;if(k[Q>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;a=DH(k[q>>2]|0,k[s>>2]|0,k[d>>2]|0)|0;k[(k[Q>>2]|0)+20+(k[d>>2]<<2)>>2]=a;i[(k[(k[Q>>2]|0)+16>>2]|0)+(k[d>>2]|0)>>0]=0;k[d>>2]=(k[d>>2]|0)+1}}}else k[Z>>2]=0;while(0);k[(k[s>>2]|0)+48>>2]=0;k[(k[S>>2]|0)+52>>2]=0;bz(k[q>>2]|0,k[s>>2]|0,k[(k[s>>2]|0)+44>>2]|0,29099)|0;if(!(k[(k[S>>2]|0)+48>>2]|0))bz(k[q>>2]|0,k[S>>2]|0,k[(k[S>>2]|0)+44>>2]|0,29099)|0;UG(k[q>>2]|0,k[s>>2]|0,k[M>>2]|0);if((k[O>>2]|0)==116?(k[(k[s>>2]|0)+12>>2]|0)!=0:0){d=(k[q>>2]|0)+44|0;a=(k[d>>2]|0)+1|0;k[d>>2]=a;k[V>>2]=a;a=(k[q>>2]|0)+44|0;d=(k[a>>2]|0)+1|0;k[a>>2]=d;k[W>>2]=d;d=k[s>>2]|0;if(k[(k[s>>2]|0)+16>>2]|0)d=(k[d+16>>2]|0)+1|0;else d=k[d+12>>2]|0;sx(k[aa>>2]|0,84,d,k[V>>2]|0)|0;sx(k[aa>>2]|0,84,k[V>>2]|0,k[W>>2]|0)|0}else{k[W>>2]=0;k[V>>2]=0}sv(k[G>>2]|0,k[(k[s>>2]|0)+56>>2]|0);k[(k[s>>2]|0)+56>>2]=0;sv(k[G>>2]|0,k[(k[s>>2]|0)+60>>2]|0);k[(k[s>>2]|0)+60>>2]=0;a=(k[q>>2]|0)+44|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[T>>2]=o;o=(k[q>>2]|0)+44|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[U>>2]=a;a=(k[q>>2]|0)+44|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[X>>2]=o;o=(k[q>>2]|0)+44|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[Y>>2]=a;FB(H,13,k[T>>2]|0);FB(I,13,k[U>>2]|0);a=(Gx(k[aa>>2]|0)|0)+1|0;k[E>>2]=a;E=tx(k[aa>>2]|0,15,k[T>>2]|0,0,k[E>>2]|0)|0;k[v>>2]=E;k[(k[S>>2]|0)+12>>2]=k[V>>2];k[J>>2]=k[(k[q>>2]|0)+424>>2];Zv(k[q>>2]|0,k[S>>2]|0,H)|0;gD(k[aa>>2]|0,k[T>>2]|0);hA(k[aa>>2]|0,k[v>>2]|0);V=(Gx(k[aa>>2]|0)|0)+1|0;k[F>>2]=V;V=tx(k[aa>>2]|0,15,k[U>>2]|0,0,k[F>>2]|0)|0;k[v>>2]=V;k[_>>2]=k[(k[s>>2]|0)+12>>2];k[$>>2]=k[(k[s>>2]|0)+16>>2];k[(k[s>>2]|0)+12>>2]=k[W>>2];k[(k[s>>2]|0)+16>>2]=0;k[K>>2]=k[(k[q>>2]|0)+424>>2];Zv(k[q>>2]|0,k[s>>2]|0,I)|0;k[(k[s>>2]|0)+12>>2]=k[_>>2];k[(k[s>>2]|0)+16>>2]=k[$>>2];gD(k[aa>>2]|0,k[U>>2]|0);$=FH(k[q>>2]|0,k[s>>2]|0,H,k[t>>2]|0,k[X>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[C>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115){$=FH(k[q>>2]|0,k[s>>2]|0,I,k[t>>2]|0,k[Y>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[D>>2]=$}tA(k[Q>>2]|0);if((k[O>>2]|0)==117|(k[O>>2]|0)==118){$=k[M>>2]|0;k[z>>2]=$;k[A>>2]=$}else{$=sx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;k[z>>2]=$;$=sx(k[aa>>2]|0,16,k[U>>2]|0,k[M>>2]|0)|0;k[A>>2]=$;gA(k[aa>>2]|0,k[z>>2]|0)|0;$=xE(j[(k[s>>2]|0)+6>>1]|0,j[(k[S>>2]|0)+6>>1]|0)|0;j[(k[s>>2]|0)+6>>1]=$}if((k[O>>2]|0)==118){k[B>>2]=k[z>>2];if((j[(k[s>>2]|0)+6>>1]|0)>(j[(k[S>>2]|0)+6>>1]|0))j[(k[s>>2]|0)+6>>1]=j[(k[S>>2]|0)+6>>1]|0}else{$=sx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[B>>2]=$;sx(k[aa>>2]|0,16,k[T>>2]|0,k[M>>2]|0)|0;gA(k[aa>>2]|0,k[B>>2]|0)|0}$=sx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[y>>2]=$;sx(k[aa>>2]|0,16,k[T>>2]|0,k[z>>2]|0)|0;gA(k[aa>>2]|0,k[L>>2]|0)|0;do if((k[O>>2]|0)!=116)if((k[O>>2]|0)==118){k[w>>2]=k[y>>2];k[y>>2]=(k[y>>2]|0)+1;break}else{$=sx(k[aa>>2]|0,16,k[T>>2]|0,k[z>>2]|0)|0;k[w>>2]=$;gA(k[aa>>2]|0,k[L>>2]|0)|0;break}else k[w>>2]=k[y>>2];while(0);$=Gx(k[aa>>2]|0)|0;k[x>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115)sx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;sx(k[aa>>2]|0,16,k[U>>2]|0,k[B>>2]|0)|0;gA(k[aa>>2]|0,k[L>>2]|0)|0;hA(k[aa>>2]|0,k[v>>2]|0);sx(k[aa>>2]|0,16,k[T>>2]|0,k[A>>2]|0)|0;sx(k[aa>>2]|0,16,k[U>>2]|0,k[B>>2]|0)|0;iA(k[aa>>2]|0,k[L>>2]|0);wx(k[aa>>2]|0,94,0,0,0,k[u>>2]|0,-15)|0;wx(k[aa>>2]|0,95,k[H+12>>2]|0,k[I+12>>2]|0,k[N>>2]|0,k[R>>2]|0,-6)|0;Th(k[aa>>2]|0,1);tx(k[aa>>2]|0,18,k[y>>2]|0,k[w>>2]|0,k[x>>2]|0)|0;iA(k[aa>>2]|0,k[M>>2]|0);if((l[k[t>>2]>>0]|0)==9){k[P>>2]=k[S>>2];while(1){if(!(k[(k[P>>2]|0)+48>>2]|0))break;k[P>>2]=k[(k[P>>2]|0)+48>>2]}nH(k[q>>2]|0,k[(k[P>>2]|0)+28>>2]|0,k[k[P>>2]>>2]|0)}if(k[(k[s>>2]|0)+48>>2]|0)pv(k[G>>2]|0,k[(k[s>>2]|0)+48>>2]|0);k[(k[s>>2]|0)+48>>2]=k[S>>2];k[(k[S>>2]|0)+52>>2]=k[s>>2];CH(k[q>>2]|0,l[(k[s>>2]|0)+4>>0]|0,k[J>>2]|0,k[K>>2]|0,0);k[p>>2]=(k[(k[q>>2]|0)+36>>2]|0)!=0&1;aa=k[p>>2]|0;r=ba;return aa|0}function CH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;m=p+20|0;o=p+16|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((l[(k[f>>2]|0)+409>>0]|0|0)!=2){r=p;return}k[m>>2]=k[(k[f>>2]|0)+8>>2];a=k[k[f>>2]>>2]|0;e=k[h>>2]|0;c=k[i>>2]|0;d=(k[j>>2]|0)!=0?35924:18402;b=az(k[g>>2]|0)|0;k[n>>2]=e;k[n+4>>2]=c;k[n+8>>2]=d;k[n+12>>2]=b;n=Qh(a,35943,n)|0;k[o>>2]=n;wx(k[m>>2]|0,162,k[(k[f>>2]|0)+420>>2]|0,0,0,k[o>>2]|0,-1)|0;r=p;return}function DH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+48>>2]|0){a=DH(k[d>>2]|0,k[(k[e>>2]|0)+48>>2]|0,k[f>>2]|0)|0;k[g>>2]=a}else k[g>>2]=0;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}if((k[f>>2]|0)>=(k[k[k[e>>2]>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=py(k[d>>2]|0,k[(k[(k[k[e>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function EH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+40|0;e=q+36|0;s=q+32|0;n=q+28|0;h=q+24|0;f=q+20|0;o=q+16|0;g=q+12|0;l=q+8|0;p=q+4|0;j=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[n>>2]=k[(k[e>>2]|0)+44>>2];k[h>>2]=k[k[(k[e>>2]|0)+44>>2]>>2];k[f>>2]=k[k[d>>2]>>2];a=sA(k[f>>2]|0,(k[h>>2]|0)+(k[s>>2]|0)|0,1)|0;k[o>>2]=a;if(!(k[o>>2]|0)){s=k[o>>2]|0;r=q;return s|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[l>>2]=(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);k[p>>2]=k[k[l>>2]>>2];c=k[d>>2]|0;if(k[(k[p>>2]|0)+4>>2]&256){s=py(c,k[p>>2]|0)|0;k[j>>2]=s}else{s=DH(c,k[e>>2]|0,(m[(k[l>>2]|0)+16>>1]|0)-1|0)|0;k[j>>2]=s;if(!(k[j>>2]|0))k[j>>2]=k[(k[f>>2]|0)+8>>2];s=ez(k[d>>2]|0,k[p>>2]|0,k[k[j>>2]>>2]|0)|0;k[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]=s}k[(k[o>>2]|0)+20+(k[g>>2]<<2)>>2]=k[j>>2];i[(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0;k[g>>2]=(k[g>>2]|0)+1}s=k[o>>2]|0;r=q;return s|0}function FH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;j=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[C>>2]=k[(k[m>>2]|0)+8>>2];e=Gx(k[C>>2]|0)|0;k[v>>2]=e;e=eA(k[C>>2]|0)|0;k[y>>2]=e;if(k[s>>2]|0){g=aA(k[C>>2]|0,22,k[s>>2]|0)|0;k[w>>2]=g;g=k[C>>2]|0;a=k[(k[o>>2]|0)+12>>2]|0;f=(k[s>>2]|0)+1|0;e=k[(k[o>>2]|0)+16>>2]|0;e=wx(g,95,a,f,e,xA(k[t>>2]|0)|0,-6)|0;k[x>>2]=e;tx(k[C>>2]|0,18,(k[x>>2]|0)+2|0,k[y>>2]|0,(k[x>>2]|0)+2|0)|0;hA(k[C>>2]|0,k[w>>2]|0);tx(k[C>>2]|0,84,k[(k[o>>2]|0)+12>>2]|0,(k[s>>2]|0)+1|0,(k[(k[o>>2]|0)+16>>2]|0)-1|0)|0;sx(k[C>>2]|0,76,1,k[s>>2]|0)|0}if(i[(k[k[m>>2]>>2]|0)+69>>0]|0){k[j>>2]=0;C=k[j>>2]|0;r=D;return C|0}pH(k[C>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[y>>2]|0);switch(l[k[p>>2]>>0]|0){case 12:{e=Fx(k[m>>2]|0)|0;k[z>>2]=e;e=Fx(k[m>>2]|0)|0;k[B>>2]=e;tx(k[C>>2]|0,99,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[z>>2]|0)|0;sx(k[C>>2]|0,114,k[(k[p>>2]|0)+8>>2]|0,k[B>>2]|0)|0;tx(k[C>>2]|0,115,k[(k[p>>2]|0)+8>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;Th(k[C>>2]|0,8);Hx(k[m>>2]|0,k[B>>2]|0);Hx(k[m>>2]|0,k[z>>2]|0);break}case 11:{e=Fx(k[m>>2]|0)|0;k[A>>2]=e;wx(k[C>>2]|0,99,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[A>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0;eB(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0);sx(k[C>>2]|0,126,k[(k[p>>2]|0)+8>>2]|0,k[A>>2]|0)|0;Hx(k[m>>2]|0,k[A>>2]|0);break}case 10:{fH(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[p>>2]|0)+8>>2]|0,1);break}case 13:{if(!(k[(k[p>>2]|0)+12>>2]|0)){e=MA(k[m>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0;k[(k[p>>2]|0)+12>>2]=e;k[(k[p>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2]}fH(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[p>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0);aA(k[C>>2]|0,16,k[(k[p>>2]|0)+8>>2]|0)|0;break}default:{sx(k[C>>2]|0,87,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0;eB(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0)}}if(k[(k[n>>2]|0)+12>>2]|0)sx(k[C>>2]|0,68,k[(k[n>>2]|0)+12>>2]|0,k[u>>2]|0)|0;iA(k[C>>2]|0,k[y>>2]|0);aA(k[C>>2]|0,72,k[q>>2]|0)|0;k[j>>2]=k[v>>2];C=k[j>>2]|0;r=D;return C|0}function GH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if(!(k[(k[g>>2]|0)+24>>2]&524288)){r=n;return}if((l[(k[f>>2]|0)+42>>0]|0)&16){r=n;return}if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[h>>2]=0;c=nx(k[d>>2]|0)|0;k[m>>2]=c;do if(!(gy(k[f>>2]|0)|0)){k[j>>2]=k[(k[f>>2]|0)+16>>2];while(1){if(!(k[j>>2]|0))break;if(l[(k[j>>2]|0)+24>>0]|0)break;if(k[(k[g>>2]|0)+24>>2]&33554432)break;k[j>>2]=k[(k[j>>2]|0)+4>>2]}if(k[j>>2]|0){c=eA(k[m>>2]|0)|0;k[h>>2]=c;sx(k[m>>2]|0,65,1,k[h>>2]|0)|0;break}else{r=n;return}}while(0);i[(k[d>>2]|0)+150>>0]=1;c=k[d>>2]|0;mw(c,Qz(k[g>>2]|0,k[e>>2]|0,0)|0,0);i[(k[d>>2]|0)+150>>0]=0;if(!(k[(k[g>>2]|0)+24>>2]&33554432)){c=k[m>>2]|0;sx(c,65,0,(Gx(k[m>>2]|0)|0)+2|0)|0;DA(k[d>>2]|0,787,2,0,-2,4)}if(!(k[h>>2]|0)){r=n;return}iA(k[m>>2]|0,k[h>>2]|0);r=n;return}function HH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;n=q+32|0;i=q+28|0;m=q+24|0;j=q+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[j>>2]=(k[(k[i>>2]|0)+16>>2]|0)+(k[g>>2]<<4);b=nx(k[e>>2]|0)|0;k[n>>2]=b;Bx(k[e>>2]|0,1,k[g>>2]|0);if((l[(k[f>>2]|0)+42>>0]|0)&16)px(k[n>>2]|0,152)|0;b=Jx(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=b;while(1){if(!(k[m>>2]|0))break;iC(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[(k[m>>2]|0)+32>>2]}if((l[(k[f>>2]|0)+42>>0]|0)&8){m=k[e>>2]|0;b=k[k[f>>2]>>2]|0;k[o>>2]=k[k[j>>2]>>2];k[o+4>>2]=b;mx(m,36169,o)}o=k[e>>2]|0;b=(k[g>>2]|0)==1?19905:19924;m=k[k[f>>2]>>2]|0;k[p>>2]=k[k[j>>2]>>2];k[p+4>>2]=b;k[p+8>>2]=m;mx(o,36214,p);if((k[h>>2]|0)==0?((l[(k[f>>2]|0)+42>>0]|0)&16|0)==0:0)IH(k[e>>2]|0,k[f>>2]|0);if(!((l[(k[f>>2]|0)+42>>0]|0)&16)){n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;wx(n,138,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;ox(p,o);o=k[i>>2]|0;p=k[g>>2]|0;JH(o,p);r=q;return}wx(k[n>>2]|0,154,k[g>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;wx(n,138,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;ox(p,o);o=k[i>>2]|0;p=k[g>>2]|0;JH(o,p);r=q;return}function IH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;i=m+20|0;f=m+16|0;j=m+12|0;h=m+8|0;g=m+4|0;e=m;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+28>>2];k[f>>2]=0;while(1){k[h>>2]=0;if(!((k[f>>2]|0)!=0?(k[i>>2]|0)>=(k[f>>2]|0):0))k[h>>2]=k[i>>2];k[j>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[g>>2]=k[(k[j>>2]|0)+44>>2];if(!((k[f>>2]|0)!=0?(k[g>>2]|0)>=(k[f>>2]|0):0))l=9;if((l|0)==9?(l=0,(k[g>>2]|0)>(k[h>>2]|0)):0)k[h>>2]=k[g>>2];k[j>>2]=k[(k[j>>2]|0)+20>>2]}if(!(k[h>>2]|0))break;b=Ph(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+64>>2]|0)|0;k[e>>2]=b;$C(k[c>>2]|0,k[h>>2]|0,k[e>>2]|0);k[f>>2]=k[h>>2]}r=m;return}function JH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){r=g;return}k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[f>>2]|0)+12>>2]|0){KH(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+4>>2]=0;j[(k[f>>2]|0)+34>>1]=0}k[e>>2]=k[k[e>>2]>>2]}f=(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78|0;j[f>>1]=(m[f>>1]|0)&-3;r=g;return}function KH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;b=k[(k[d>>2]|0)+4>>2]|0;k[f>>2]=b;if(!b){r=g;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;bg(a,k[k[f>>2]>>2]|0);sv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+16}bg(a,k[(k[d>>2]|0)+4>>2]|0);r=g;return}function LH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;o=r;r=r+144|0;f=o+128|0;g=o+124|0;h=o+120|0;i=o+116|0;l=o+112|0;n=o;m=o+80|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m+24>>2]=0;k[m+28>>2]=0;d=n;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=1;k[n+8+8>>2]=k[k[g>>2]>>2];k[n+8+16>>2]=k[g>>2];k[n+8+44>>2]=-1;k[m>>2]=k[f>>2];k[m+4>>2]=n;j[m+28>>1]=k[h>>2];n=(Ky(m,k[i>>2]|0)|0)==0;if(!(n&(k[l>>2]|0)!=0)){r=o;return}Ly(m,k[l>>2]|0)|0;r=o;return}function MH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;if((l[k[b>>2]>>0]|0|0)==97){i[a>>0]=55;r=c;return}if((l[a>>0]|0|0)!=53){r=c;return}if((l[k[(k[b>>2]|0)+12>>2]>>0]|0|0)!=97){r=c;return}i[k[(k[b>>2]|0)+12>>2]>>0]=55;r=c;return}function NH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){c=k[e>>2]|0;k[e>>2]=c+-1;if((c|0)<=0){d=5;break}b=k[f>>2]|0;c=k[d>>2]|0;k[d>>2]=c+2;if((b|0)==(j[c>>1]|0)){d=4;break}}if((d|0)==4){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((d|0)==5){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function OH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;e=g+8|0;d=g+4|0;c=g;f=g+16|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[(k[b>>2]|0)+12>>2]|0)+4>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[b>>2]|0)+52>>1]|0))break;j[f>>1]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0;if((j[f>>1]|0)<0)a=1;else a=l[(k[c>>2]|0)+(j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]<<4)+14>>0]|0;k[e>>2]=(k[e>>2]|0)+a;k[d>>2]=(k[d>>2]|0)+1}f=Wj(k[e>>2]<<2,0)|0;j[(k[b>>2]|0)+48>>1]=f;r=g;return}function PH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;QH(k[c>>2]|0,k[d>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0);ov(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(!((l[(k[d>>2]|0)+55>>0]|0)>>>4&1)){a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}function QH(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function RH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=HB(k[e>>2]|0,4+(l[d>>0]|0)|0,0)|0;r=c;return a|0}function SH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+52|0;d=v+48|0;p=v+44|0;s=v+40|0;o=v+36|0;f=v+32|0;h=v+28|0;e=v+24|0;t=v+20|0;q=v+16|0;g=v+8|0;n=v;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[t>>2]=k[(k[c>>2]|0)+8>>2];a:do if(!(i[(k[e>>2]|0)+148+7>>0]|0)){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break a;if(l[(k[(k[d>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+15>>0]&1)i[(k[(k[d>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+12>>0]=2;k[f>>2]=(k[f>>2]|0)+1}}while(0);if(i[(k[c>>2]|0)+410>>0]|0){r=v;return}if(k[(k[c>>2]|0)+132>>2]|0)VG(k[t>>2]|0,k[(k[c>>2]|0)+132>>2]|0,-122);a=k[d>>2]|0;do if((j[(k[d>>2]|0)+32>>1]|0)>=0){fz(g,k[(k[(k[d>>2]|0)+4>>2]|0)+(j[a+32>>1]<<4)>>2]|0);t=k[c>>2]|0;t=bw(t,0,tw(k[e>>2]|0,55,g,0)|0)|0;k[q>>2]=t;if(!(k[q>>2]|0)){r=v;return}i[(k[(k[q>>2]|0)+4>>2]|0)+12>>0]=i[(k[c>>2]|0)+408>>0]|0;Sv(k[c>>2]|0,0,0,0,k[q>>2]|0,l[(k[d>>2]|0)+43>>0]|0,0,0,0,0,2);if(i[(k[e>>2]|0)+69>>0]|0){r=v;return}else{t=Tj(k[d>>2]|0)|0;k[s>>2]=t;j[(k[d>>2]|0)+32>>1]=-1;break}}else{q=Tj(a)|0;k[s>>2]=q;if(k[t>>2]|0)VG(k[t>>2]|0,k[(k[s>>2]|0)+44>>2]|0,13);k[h>>2]=1;k[f>>2]=1;while(1){if((k[f>>2]|0)>=(m[(k[s>>2]|0)+50>>1]|0))break;if(NH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0){t=(k[s>>2]|0)+52|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16}else{q=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;t=k[h>>2]|0;k[h>>2]=t+1;j[(k[(k[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=q}k[f>>2]=(k[f>>2]|0)+1}j[(k[s>>2]|0)+50>>1]=k[h>>2]}while(0);t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-33|32;if(!(i[(k[e>>2]|0)+148+7>>0]|0)){t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-9|8}k[o>>2]=m[(k[s>>2]|0)+50>>1];k[(k[s>>2]|0)+44>>2]=k[(k[d>>2]|0)+28>>2];k[p>>2]=k[(k[d>>2]|0)+8>>2];b:while(1){if(!(k[p>>2]|0))break;c:do if((i[(k[p>>2]|0)+55>>0]&3|0)!=2){k[n>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;if(!(NH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0))k[n>>2]=(k[n>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if(!(k[n>>2]|0)){j[(k[p>>2]|0)+52>>1]=j[(k[p>>2]|0)+50>>1]|0;break}if(XH(k[e>>2]|0,k[p>>2]|0,(m[(k[p>>2]|0)+50>>1]|0)+(k[n>>2]|0)|0)|0){u=50;break b}k[f>>2]=0;k[h>>2]=m[(k[p>>2]|0)+50>>1];while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break c;if(!(NH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0)){j[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;k[(k[(k[p>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=k[(k[(k[s>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}}while(0);k[p>>2]=k[(k[p>>2]|0)+20>>2]}if((u|0)==50){r=v;return}if((k[o>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0)){j[(k[s>>2]|0)+52>>1]=j[(k[d>>2]|0)+34>>1]|0;r=v;return}if(XH(k[e>>2]|0,k[s>>2]|0,j[(k[d>>2]|0)+34>>1]|0)|0){r=v;return}k[f>>2]=0;k[h>>2]=k[o>>2];while(1){if((k[f>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;if(!(NH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,k[f>>2]|0)|0)){j[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=k[f>>2];k[(k[(k[s>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=34834;k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}r=v;return}function TH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;k[c>>2]=j[(k[b>>2]|0)+34>>1];k[d>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[c>>2]|0)<=0)break;k[e>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+14>>0]|0);k[c>>2]=(k[c>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+16}if((j[(k[b>>2]|0)+32>>1]|0)>=0){d=k[e>>2]|0;d=d<<2;d=Wj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}k[e>>2]=(k[e>>2]|0)+1;d=k[e>>2]|0;d=d<<2;d=Wj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}function UH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;p=w+16|0;o=w+8|0;d=w;e=w+68|0;c=w+64|0;f=w+60|0;g=w+56|0;h=w+52|0;m=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;q=w+32|0;n=w+28|0;l=w+24|0;v=w+20|0;k[c>>2]=a;k[f>>2]=b;k[m>>2]=0;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;b=(VH(k[k[n>>2]>>2]|0)|0)+5|0;k[m>>2]=(k[m>>2]|0)+b;k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}b=VH(k[k[f>>2]>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+b;if((k[m>>2]|0)<50){k[s>>2]=18402;k[t>>2]=34710;k[q>>2]=34706}else{k[s>>2]=37369;k[t>>2]=37373;k[q>>2]=37378}k[m>>2]=(k[m>>2]|0)+(35+((j[(k[f>>2]|0)+34>>1]|0)*6|0));b=k[m>>2]|0;b=Mh(0,b,((b|0)<0)<<31>>31)|0;k[u>>2]=b;if(!(k[u>>2]|0)){wh(k[c>>2]|0);k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}_d(k[m>>2]|0,k[u>>2]|0,37381,d)|0;d=Tf(k[u>>2]|0)|0;k[h>>2]=d;WH(k[u>>2]|0,h,k[k[f>>2]>>2]|0);d=k[h>>2]|0;k[h>>2]=d+1;i[(k[u>>2]|0)+d>>0]=40;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){c=(k[m>>2]|0)-(k[h>>2]|0)|0;a=(k[u>>2]|0)+(k[h>>2]|0)|0;if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;_d(c,a,k[s>>2]|0,o)|0;d=Tf((k[u>>2]|0)+(k[h>>2]|0)|0)|0;k[h>>2]=(k[h>>2]|0)+d;k[s>>2]=k[t>>2];WH(k[u>>2]|0,h,k[k[n>>2]>>2]|0);k[v>>2]=k[5492+((i[(k[n>>2]|0)+13>>0]|0)-65<<2)>>2];d=Tf(k[v>>2]|0)|0;k[l>>2]=d;bS((k[u>>2]|0)+(k[h>>2]|0)|0,k[v>>2]|0,k[l>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}k[p>>2]=k[q>>2];_d(c,a,18391,p)|0;k[e>>2]=k[u>>2];v=k[e>>2]|0;r=w;return v|0}function VH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if(!(i[k[b>>2]>>0]|0))break;if((i[k[b>>2]>>0]|0)==34)k[c>>2]=(k[c>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+1;k[b>>2]=(k[b>>2]|0)+1}r=d;return (k[c>>2]|0)+2|0}function WH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;n=m+16|0;j=m+12|0;f=m+8|0;g=m+4|0;h=m;k[d>>2]=a;k[e>>2]=b;k[n>>2]=c;k[j>>2]=k[n>>2];k[f>>2]=k[k[e>>2]>>2];k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[18403+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&6|0)==0?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)!=95:0)break;k[g>>2]=(k[g>>2]|0)+1}if(((l[18403+(l[k[j>>2]>>0]|0)>>0]&4|0)==0?(Ni(k[j>>2]|0,k[g>>2]|0)|0)==55:0)?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)b=(k[g>>2]|0)==0;else b=1;k[h>>2]=b&1;if(k[h>>2]|0){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;c=i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=c;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==34){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=(k[g>>2]|0)+1}if(!(k[h>>2]|0)){j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}j=k[f>>2]|0;k[f>>2]=j+1;i[(k[d>>2]|0)+j>>0]=34;j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}function XH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;l=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+52>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[h>>2]=(k[g>>2]|0)*7;b=k[h>>2]|0;b=Ch(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[d>>2]=7;l=k[d>>2]|0;r=n;return l|0}else{bS(k[l>>2]|0,k[(k[f>>2]|0)+32>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<2|0)|0;k[(k[f>>2]|0)+32>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<2);bS(k[l>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<1|0)|0;k[(k[f>>2]|0)+4>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<1);bS(k[l>>2]|0,k[(k[f>>2]|0)+28>>2]|0,m[(k[f>>2]|0)+52>>1]|0|0)|0;k[(k[f>>2]|0)+28>>2]=k[l>>2];j[(k[f>>2]|0)+52>>1]=k[g>>2];l=(k[f>>2]|0)+55|0;i[l>>0]=i[l>>0]&-17|16;k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}return 0}function YH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;a=nx(k[c>>2]|0)|0;k[f>>2]=a;bA(k[c>>2]|0,k[e>>2]|0,1,1,(k[e>>2]|0)==1?19905:19924);Sh(k[f>>2]|0,105,0,1,k[e>>2]|0,5)|0;if(k[(k[c>>2]|0)+40>>2]|0){r=d;return}k[(k[c>>2]|0)+40>>2]=1;r=d;return}function ZH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[b>>2]=a;a=nx(k[b>>2]|0)|0;k[f>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+112>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+116>>2]|0)+(k[c>>2]<<4);k[e>>2]=k[k[d>>2]>>2];wx(k[f>>2]|0,151,k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|0,k[(k[d>>2]|0)+12>>2]|0,-2)|0;k[c>>2]=(k[c>>2]|0)+1}r=g;return}function _H(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;f=j+20|0;d=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;c=j;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[h>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+120>>2];while(1){if(!(k[f>>2]|0)){b=5;break}k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[f>>2]|0)+8>>2]<<4);k[e>>2]=k[(k[f>>2]|0)+12>>2];cA(k[b>>2]|0,0,k[(k[f>>2]|0)+8>>2]|0,k[(k[(k[g>>2]|0)+12>>2]|0)+72>>2]|0,104);rx(k[h>>2]|0,(k[e>>2]|0)-1|0,k[k[(k[f>>2]|0)+4>>2]>>2]|0)|0;a=Uh(k[h>>2]|0,10,37557,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+8>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+4>>2]=(k[e>>2]|0)-1;k[(k[c>>2]|0)+60+12>>2]=k[e>>2];i[(k[c>>2]|0)+60+3>>0]=16;k[(k[c>>2]|0)+80+8>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+100+12>>2]=k[e>>2];k[(k[c>>2]|0)+160+8>>2]=k[e>>2];k[f>>2]=k[k[f>>2]>>2]}if((b|0)==5){r=j;return}}function $H(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+4|0;k[d>>2]=a;k[c>>2]=k[d>>2];$d(21,39546,c);r=b;return} +function qw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+304|0;C=oa+32|0;B=oa+16|0;A=oa;F=oa+284|0;G=oa+280|0;H=oa+276|0;I=oa+272|0;J=oa+268|0;P=oa+264|0;ca=oa+260|0;f=oa+256|0;R=oa+252|0;Z=oa+248|0;V=oa+244|0;na=oa+240|0;aa=oa+236|0;_=oa+232|0;$=oa+228|0;S=oa+224|0;T=oa+220|0;W=oa+216|0;Q=oa+212|0;la=oa+208|0;N=oa+204|0;M=oa+200|0;o=oa+176|0;p=oa+172|0;ma=oa+291|0;O=oa+290|0;D=oa+289|0;n=oa+288|0;ba=oa+168|0;ha=oa+164|0;fa=oa+160|0;ja=oa+156|0;ia=oa+152|0;ka=oa+148|0;ga=oa+144|0;K=oa+140|0;Y=oa+136|0;da=oa+132|0;z=oa+128|0;x=oa+124|0;m=oa+120|0;t=oa+116|0;v=oa+112|0;w=oa+108|0;h=oa+104|0;y=oa+72|0;q=oa+68|0;u=oa+64|0;g=oa+60|0;s=oa+56|0;L=oa+52|0;U=oa+48|0;ea=oa+44|0;X=oa+40|0;k[F>>2]=a;k[G>>2]=b;k[H>>2]=c;k[I>>2]=d;k[J>>2]=e;k[$>>2]=0;k[S>>2]=0;k[T>>2]=0;k[W>>2]=-1;k[la>>2]=0;k[N>>2]=0;k[M>>2]=0;i[ma>>0]=0;i[O>>0]=0;k[ba>>2]=0;k[ha>>2]=0;k[fa>>2]=0;k[ja>>2]=0;k[K>>2]=0;k[P>>2]=k[k[F>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;a:do if((k[(k[F>>2]|0)+36>>2]|0)==0?(l[(k[P>>2]|0)+69>>0]|0)==0:0){if(((k[H>>2]|0)!=0?(k[(k[H>>2]|0)+8>>2]&512|0)!=0:0)?(k[(k[H>>2]|0)+48>>2]|0)==0:0){k[ba>>2]=k[k[H>>2]>>2];k[k[H>>2]>>2]=0;pv(k[P>>2]|0,k[H>>2]|0);k[H>>2]=0}k[f>>2]=k[(k[G>>2]|0)+8+8>>2];if((((((k[f>>2]|0)!=0?(f=lC(k[F>>2]|0,k[G>>2]|0)|0,k[ca>>2]=f,(k[ca>>2]|0)!=0):0)?(f=Ph(k[P>>2]|0,k[(k[ca>>2]|0)+64>>2]|0)|0,k[p>>2]=f,(kx(k[F>>2]|0,18,k[k[ca>>2]>>2]|0,0,k[(k[(k[P>>2]|0)+16>>2]|0)+(k[p>>2]<<4)>>2]|0)|0)==0):0)?(i[D>>0]=((l[(k[ca>>2]|0)+42>>0]&32|0)==0^1)&1,f=bD(k[F>>2]|0,k[ca>>2]|0,108,0,z)|0,k[da>>2]=f,k[Y>>2]=(k[(k[ca>>2]|0)+12>>2]|0)!=0&1,(by(k[F>>2]|0,k[ca>>2]|0)|0)==0):0)?(cD(k[F>>2]|0,k[ca>>2]|0,k[z>>2]|0)|0)==0:0)?(f=nx(k[F>>2]|0)|0,k[na>>2]=f,(k[na>>2]|0)!=0):0){if(!(l[(k[F>>2]|0)+18>>0]|0))dD(k[na>>2]|0);Bx(k[F>>2]|0,((k[H>>2]|0)!=0?1:(k[da>>2]|0)!=0)&1,k[p>>2]|0);if(!((k[I>>2]|0)==0?(eD(k[F>>2]|0,k[ca>>2]|0,k[H>>2]|0,k[J>>2]|0,k[p>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){f=fD(k[F>>2]|0,k[p>>2]|0,k[ca>>2]|0)|0;k[fa>>2]=f;f=(k[(k[F>>2]|0)+44>>2]|0)+1|0;k[ia>>2]=f;k[ka>>2]=f;f=(k[F>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+((j[(k[ca>>2]|0)+34>>1]|0)+1);if(l[(k[ca>>2]|0)+42>>0]&16){k[ka>>2]=(k[ka>>2]|0)+1;f=(k[F>>2]|0)+44|0;k[f>>2]=(k[f>>2]|0)+1}k[ga>>2]=(k[ka>>2]|0)+1;i[n>>0]=(l[(k[ca>>2]|0)+42>>0]&128|0)==0;c:do if(k[I>>2]|0){k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break;k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)+4>>2]=-1;k[R>>2]=(k[R>>2]|0)+1}k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break c;k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;f=(sg(k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)>>2]|0,k[(k[(k[ca>>2]|0)+4>>2]|0)+(k[Z>>2]<<4)>>2]|0)|0)==0;e=k[Z>>2]|0;if(f){E=28;break}k[Z>>2]=e+1}do if((E|0)==28){E=0;k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)+4>>2]=e;if((k[R>>2]|0)!=(k[Z>>2]|0))i[n>>0]=0;if((k[Z>>2]|0)!=(j[(k[ca>>2]|0)+32>>1]|0))break;k[W>>2]=k[R>>2]}while(0);if((k[Z>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0)){f=(Ei(k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)>>2]|0)|0)==0;if(f|(i[D>>0]|0)!=0)break;k[W>>2]=k[R>>2];i[n>>0]=0}k[R>>2]=(k[R>>2]|0)+1}na=k[F>>2]|0;ma=k[(k[k[I>>2]>>2]|0)+(k[R>>2]<<3)>>2]|0;k[A>>2]=k[G>>2];k[A+4>>2]=0;k[A+8>>2]=ma;Oh(na,34261,A);i[(k[F>>2]|0)+17>>0]=1;break a}while(0);do if(!(k[H>>2]|0)){k[y>>2]=0;k[y+4>>2]=0;k[y+8>>2]=0;k[y+12>>2]=0;k[y+16>>2]=0;k[y+20>>2]=0;k[y+24>>2]=0;k[y+28>>2]=0;k[y>>2]=k[F>>2];k[la>>2]=-1;if(k[ba>>2]|0){k[_>>2]=k[k[ba>>2]>>2];if(Ly(y,k[ba>>2]|0)|0)break a;else break}else{k[_>>2]=0;break}}else{y=(k[F>>2]|0)+44|0;A=(k[y>>2]|0)+1|0;k[y>>2]=A;k[x>>2]=A;A=(Gx(k[na>>2]|0)|0)+1|0;k[m>>2]=A;tx(k[na>>2]|0,15,k[x>>2]|0,0,k[m>>2]|0)|0;FB(o,13,k[x>>2]|0);k[o+12>>2]=(l[n>>0]|0)!=0?k[ga>>2]|0:0;k[o+16>>2]=j[(k[ca>>2]|0)+34>>1];A=Zv(k[F>>2]|0,k[H>>2]|0,o)|0;k[t>>2]=A;k[ha>>2]=k[o+12>>2];if(k[t>>2]|0)break a;if(l[(k[P>>2]|0)+69>>0]|0)break a;if(k[(k[F>>2]|0)+36>>2]|0)break a;gD(k[na>>2]|0,k[x>>2]|0);hA(k[na>>2]|0,(k[m>>2]|0)-1|0);k[_>>2]=k[k[k[H>>2]>>2]>>2];if(!((k[da>>2]|0)==0?(hD(k[F>>2]|0,k[p>>2]|0,k[ca>>2]|0)|0)==0:0))i[ma>>0]=1;if(!(i[ma>>0]|0))break;y=(k[F>>2]|0)+40|0;A=k[y>>2]|0;k[y>>2]=A+1;k[la>>2]=A;A=Fx(k[F>>2]|0)|0;k[v>>2]=A;A=Fx(k[F>>2]|0)|0;k[w>>2]=A;sx(k[na>>2]|0,107,k[la>>2]|0,k[_>>2]|0)|0;A=aA(k[na>>2]|0,16,k[o+8>>2]|0)|0;k[h>>2]=A;tx(k[na>>2]|0,99,k[ha>>2]|0,k[_>>2]|0,k[v>>2]|0)|0;sx(k[na>>2]|0,114,k[la>>2]|0,k[w>>2]|0)|0;tx(k[na>>2]|0,115,k[la>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;gA(k[na>>2]|0,k[h>>2]|0)|0;hA(k[na>>2]|0,k[h>>2]|0);Hx(k[F>>2]|0,k[v>>2]|0);Hx(k[F>>2]|0,k[w>>2]|0)}while(0);if((k[I>>2]|0)==0&(k[_>>2]|0)>0)k[W>>2]=j[(k[ca>>2]|0)+32>>1];k[R>>2]=0;while(1){if((k[R>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;k[$>>2]=(k[$>>2]|0)+((l[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+15>>0]&2|0)!=0?1:0);k[R>>2]=(k[R>>2]|0)+1}if((k[I>>2]|0)==0&(k[_>>2]|0)!=0?(k[_>>2]|0)!=((j[(k[ca>>2]|0)+34>>1]|0)-(k[$>>2]|0)|0):0){na=k[F>>2]|0;la=(j[(k[ca>>2]|0)+34>>1]|0)-(k[$>>2]|0)|0;ma=k[_>>2]|0;k[B>>2]=k[G>>2];k[B+4>>2]=0;k[B+8>>2]=la;k[B+12>>2]=ma;Oh(na,34293,B);break a}do if(k[I>>2]|0){if((k[_>>2]|0)==(k[(k[I>>2]|0)+4>>2]|0))break;na=k[F>>2]|0;ma=k[(k[I>>2]|0)+4>>2]|0;k[C>>2]=k[_>>2];k[C+4>>2]=ma;Oh(na,34345,C);break a}while(0);if(k[(k[P>>2]|0)+24>>2]&128){B=(k[F>>2]|0)+44|0;C=(k[B>>2]|0)+1|0;k[B>>2]=C;k[ja>>2]=C;sx(k[na>>2]|0,76,0,k[ja>>2]|0)|0}d:do if(!(k[Y>>2]|0)){C=PC(k[F>>2]|0,k[ca>>2]|0,105,0,-1,0,S,T)|0;k[q>>2]=C;C=dx(k[P>>2]|0,(k[q>>2]|0)+1<<2,0)|0;k[K>>2]=C;if(!(k[K>>2]|0))break a;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[q>>2]|0))break d;B=(k[F>>2]|0)+44|0;C=(k[B>>2]|0)+1|0;k[B>>2]=C;k[(k[K>>2]|0)+(k[R>>2]<<2)>>2]=C;k[R>>2]=(k[R>>2]|0)+1}}while(0);do if(i[ma>>0]|0){C=aA(k[na>>2]|0,57,k[la>>2]|0)|0;k[N>>2]=C;C=Gx(k[na>>2]|0)|0;k[M>>2]=C}else{if(!(k[H>>2]|0))break;C=aA(k[na>>2]|0,16,k[o+8>>2]|0)|0;k[M>>2]=C;k[N>>2]=C}while(0);C=eA(k[na>>2]|0)|0;k[Q>>2]=C;if(k[z>>2]&1){C=MA(k[F>>2]|0,(j[(k[ca>>2]|0)+34>>1]|0)+1|0)|0;k[u>>2]=C;if((k[W>>2]|0)<0)sx(k[na>>2]|0,76,-1,k[u>>2]|0)|0;else{if(i[ma>>0]|0)tx(k[na>>2]|0,96,k[la>>2]|0,k[W>>2]|0,k[u>>2]|0)|0;else $A(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[W>>2]|0)*20|0)>>2]|0,k[u>>2]|0);C=aA(k[na>>2]|0,35,k[u>>2]|0)|0;k[g>>2]=C;sx(k[na>>2]|0,76,-1,k[u>>2]|0)|0;hA(k[na>>2]|0,k[g>>2]|0);aA(k[na>>2]|0,17,k[u>>2]|0)|0}k[Z>>2]=0;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;e:do if(k[I>>2]|0){k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break e;if((k[(k[k[I>>2]>>2]|0)+(k[Z>>2]<<3)+4>>2]|0)==(k[R>>2]|0))break e;k[Z>>2]=(k[Z>>2]|0)+1}}while(0);do if((i[ma>>0]|0)!=0|(k[ba>>2]|0)!=0){if((k[I>>2]|0)!=0?(k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0):0){E=90;break}if(i[ma>>0]|0){tx(k[na>>2]|0,96,k[la>>2]|0,k[Z>>2]|0,(k[u>>2]|0)+(k[R>>2]|0)+1|0)|0;break}else{iD(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0,(k[u>>2]|0)+(k[R>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;$A(k[F>>2]|0,k[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+4>>2]|0,(k[u>>2]|0)+(k[R>>2]|0)+1|0)}if(!(k[I>>2]|0))k[Z>>2]=(k[Z>>2]|0)+1;k[R>>2]=(k[R>>2]|0)+1}if(!(k[Y>>2]|0))jD(k[na>>2]|0,k[ca>>2]|0,(k[u>>2]|0)+1|0);kD(k[F>>2]|0,k[da>>2]|0,108,0,1,k[ca>>2]|0,(k[u>>2]|0)-(j[(k[ca>>2]|0)+34>>1]|0)-1|0,k[J>>2]|0,k[Q>>2]|0);PA(k[F>>2]|0,k[u>>2]|0,(j[(k[ca>>2]|0)+34>>1]|0)+1|0)}do if(!(k[Y>>2]|0)){if(l[(k[ca>>2]|0)+42>>0]&16)sx(k[na>>2]|0,79,0,k[ia>>2]|0)|0;f:do if((k[W>>2]|0)>=0){do if(i[ma>>0]|0)tx(k[na>>2]|0,96,k[la>>2]|0,k[W>>2]|0,k[ka>>2]|0)|0;else{if(k[H>>2]|0){sx(k[na>>2]|0,84,(k[ha>>2]|0)+(k[W>>2]|0)|0,k[ka>>2]|0)|0;break}$A(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[W>>2]|0)*20|0)>>2]|0,k[ka>>2]|0);E=oA(k[na>>2]|0,-1)|0;k[s>>2]=E;if(!(k[s>>2]|0))break;if((l[k[s>>2]>>0]|0)!=79)break;if(l[(k[ca>>2]|0)+42>>0]&16)break;i[O>>0]=1;i[k[s>>2]>>0]=114;k[(k[s>>2]|0)+4>>2]=k[S>>2];k[(k[s>>2]|0)+8>>2]=k[ka>>2];k[(k[s>>2]|0)+12>>2]=k[fa>>2]}while(0);if(i[O>>0]|0)break;e=k[na>>2]|0;if(l[(k[ca>>2]|0)+42>>0]&16){E=Gx(e)|0;k[L>>2]=E;sx(k[na>>2]|0,34,k[ka>>2]|0,(k[L>>2]|0)+2|0)|0}else{E=aA(e,35,k[ka>>2]|0)|0;k[L>>2]=E;tx(k[na>>2]|0,114,k[S>>2]|0,k[ka>>2]|0,k[fa>>2]|0)|0;hA(k[na>>2]|0,k[L>>2]|0)}aA(k[na>>2]|0,17,k[ka>>2]|0)|0}else{do if(!(l[(k[ca>>2]|0)+42>>0]&16)){if(l[D>>0]|0)break;tx(k[na>>2]|0,114,k[S>>2]|0,k[ka>>2]|0,k[fa>>2]|0)|0;i[O>>0]=1;break f}while(0);sx(k[na>>2]|0,79,0,k[ka>>2]|0)|0}while(0);lD(k[F>>2]|0,k[fa>>2]|0,k[ka>>2]|0);k[$>>2]=0;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(j[(k[ca>>2]|0)+34>>1]|0))break;k[U>>2]=(k[ka>>2]|0)+1+(k[R>>2]|0);g:do if((k[R>>2]|0)==(j[(k[ca>>2]|0)+32>>1]|0))aA(k[na>>2]|0,80,k[U>>2]|0)|0;else{h:do if(!(k[I>>2]|0))if(l[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+15>>0]&2){k[Z>>2]=-1;k[$>>2]=(k[$>>2]|0)+1;break}else{k[Z>>2]=(k[R>>2]|0)-(k[$>>2]|0);break}else{k[Z>>2]=0;while(1){if((k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0))break h;if((k[(k[k[I>>2]>>2]|0)+(k[Z>>2]<<3)+4>>2]|0)==(k[R>>2]|0))break h;k[Z>>2]=(k[Z>>2]|0)+1}}while(0);do if(!((k[Z>>2]|0)<0|(k[_>>2]|0)==0)){if((k[I>>2]|0)!=0?(k[Z>>2]|0)>=(k[(k[I>>2]|0)+4>>2]|0):0)break;if(i[ma>>0]|0){tx(k[na>>2]|0,96,k[la>>2]|0,k[Z>>2]|0,k[U>>2]|0)|0;break g}if(!(k[H>>2]|0)){$A(k[F>>2]|0,k[(k[(k[ba>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0,k[U>>2]|0);break g}if((k[ha>>2]|0)==(k[ga>>2]|0))break g;sx(k[na>>2]|0,85,(k[ha>>2]|0)+(k[Z>>2]|0)|0,k[U>>2]|0)|0;break g}while(0);mD(k[F>>2]|0,k[(k[(k[ca>>2]|0)+4>>2]|0)+(k[R>>2]<<4)+4>>2]|0,k[U>>2]|0)}while(0);k[R>>2]=(k[R>>2]|0)+1}if(l[(k[ca>>2]|0)+42>>0]&16){ka=cy(k[P>>2]|0,k[ca>>2]|0)|0;k[ea>>2]=ka;nD(k[F>>2]|0,k[ca>>2]|0);wx(k[na>>2]|0,12,1,(j[(k[ca>>2]|0)+34>>1]|0)+2|0,k[ia>>2]|0,k[ea>>2]|0,-10)|0;Th(k[na>>2]|0,((k[J>>2]|0)==10?2:k[J>>2]|0)&255);dy(k[F>>2]|0);break}else{oD(k[F>>2]|0,k[ca>>2]|0,k[K>>2]|0,k[S>>2]|0,k[T>>2]|0,k[ia>>2]|0,0,(k[W>>2]|0)>=0&255,k[J>>2]&255,k[Q>>2]|0,X,0);pD(k[F>>2]|0,k[ca>>2]|0,0,k[ia>>2]|0,0,0);qD(k[F>>2]|0,k[ca>>2]|0,k[S>>2]|0,k[T>>2]|0,k[ia>>2]|0,k[K>>2]|0,0,l[O>>0]|0,(k[X>>2]|0)==0&1);break}}while(0);if(k[(k[P>>2]|0)+24>>2]&128)sx(k[na>>2]|0,91,k[ja>>2]|0,1)|0;if(k[da>>2]|0)kD(k[F>>2]|0,k[da>>2]|0,108,0,2,k[ca>>2]|0,(k[ga>>2]|0)-2-(j[(k[ca>>2]|0)+34>>1]|0)|0,k[J>>2]|0,k[Q>>2]|0);iA(k[na>>2]|0,k[Q>>2]|0);do if(i[ma>>0]|0){sx(k[na>>2]|0,7,k[la>>2]|0,k[M>>2]|0)|0;hA(k[na>>2]|0,k[N>>2]|0);aA(k[na>>2]|0,111,k[la>>2]|0)|0}else{if(!(k[H>>2]|0))break;gA(k[na>>2]|0,k[M>>2]|0)|0;hA(k[na>>2]|0,k[N>>2]|0)}while(0);if((k[Y>>2]|0)!=0?1:(l[(k[ca>>2]|0)+42>>0]&16|0)!=0)break;if((k[S>>2]|0)<(k[T>>2]|0))aA(k[na>>2]|0,111,k[S>>2]|0)|0;k[V>>2]=0;k[aa>>2]=k[(k[ca>>2]|0)+8>>2];while(1){if(!(k[aa>>2]|0))break b;aA(k[na>>2]|0,111,(k[V>>2]|0)+(k[T>>2]|0)|0)|0;k[aa>>2]=k[(k[aa>>2]|0)+20>>2];k[V>>2]=(k[V>>2]|0)+1}}while(0);if((l[(k[F>>2]|0)+18>>0]|0)==0?(k[(k[F>>2]|0)+128>>2]|0)==0:0)rD(k[F>>2]|0);if(((k[(k[P>>2]|0)+24>>2]&128|0)!=0?(i[(k[F>>2]|0)+18>>0]|0)==0:0)?(k[(k[F>>2]|0)+128>>2]|0)==0:0){sx(k[na>>2]|0,87,k[ja>>2]|0,1)|0;wC(k[na>>2]|0,1);xC(k[na>>2]|0,0,0,34370,0)|0}}}while(0);rv(k[P>>2]|0,k[G>>2]|0);ov(k[P>>2]|0,k[ba>>2]|0);pv(k[P>>2]|0,k[H>>2]|0);uv(k[P>>2]|0,k[I>>2]|0);bg(k[P>>2]|0,k[K>>2]|0);r=oa;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)==0?(c=Ch(k[d>>2]|0,8,0)|0,k[f>>2]=c,(k[f>>2]|0)==0):0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=aD(k[d>>2]|0,k[k[f>>2]>>2]|0,8,(k[f>>2]|0)+4|0,h)|0;k[k[f>>2]>>2]=c;d=k[d>>2]|0;if((k[h>>2]|0)<0){uv(d,k[f>>2]|0);k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}else{g=bx(d,k[g>>2]|0)|0;k[(k[k[f>>2]>>2]|0)+(k[h>>2]<<3)>>2]=g;k[e>>2]=k[f>>2];h=k[e>>2]|0;r=i;return h|0}return 0}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+4>>2]=k[k[g>>2]>>2];k[(k[e>>2]|0)+8>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);r=d;return}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+12|0;o=p+8|0;n=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[m>>2]=0;do if(k[g>>2]|0){if(((k[f>>2]|0)==134?(k[k[g>>2]>>2]|0)!=0:0)?(_i(k[k[g>>2]>>2]|0,m)|0)!=0:0)break;k[n>>2]=(k[(k[g>>2]|0)+4>>2]|0)+1}while(0);c=dx(k[e>>2]|0,48+(k[n>>2]|0)|0,0)|0;k[o>>2]=c;if(!(k[o>>2]|0)){o=k[o>>2]|0;r=p;return o|0}e=k[o>>2]|0;a=e+48|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(a|0));i[k[o>>2]>>0]=k[f>>2];j[(k[o>>2]|0)+34>>1]=-1;do if(k[g>>2]|0){e=k[o>>2]|0;if(!(k[n>>2]|0)){n=e+4|0;k[n>>2]=k[n>>2]|1024;k[(k[o>>2]|0)+8>>2]=k[m>>2];break}k[(k[o>>2]|0)+8>>2]=e+48;if(k[(k[g>>2]|0)+4>>2]|0)bS(k[(k[o>>2]|0)+8>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;i[(k[(k[o>>2]|0)+8>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)>>0]=0;if((k[h>>2]|0)!=0?(l[18403+(l[k[(k[o>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((i[k[(k[o>>2]|0)+8>>2]>>0]|0)==34){n=(k[o>>2]|0)+4|0;k[n>>2]=k[n>>2]|64}hx(k[(k[o>>2]|0)+8>>2]|0)}}while(0);k[(k[o>>2]|0)+24>>2]=1;o=k[o>>2]|0;r=p;return o|0}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;p=u+16|0;o=u+8|0;d=u+44|0;e=u+40|0;f=u+36|0;l=u+32|0;s=u+28|0;q=u+50|0;m=u;h=u+24|0;n=u+48|0;g=u+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=k[k[d>>2]>>2];if(!(k[e>>2]|0)){r=u;return}k[s>>2]=k[(k[e>>2]|0)+8>>2];if(i[(k[s>>2]|0)+1>>0]|0){do if((i[k[s>>2]>>0]|0)!=63){j[q>>1]=0;j[n>>1]=0;while(1){if((j[n>>1]|0)>=(k[(k[d>>2]|0)+404>>2]|0))break;if((k[(k[(k[d>>2]|0)+428>>2]|0)+(j[n>>1]<<2)>>2]|0)!=0?(rR(k[(k[(k[d>>2]|0)+428>>2]|0)+(j[n>>1]<<2)>>2]|0,k[s>>2]|0)|0)==0:0){t=14;break}j[n>>1]=(j[n>>1]|0)+1<<16>>16}if((t|0)==14)j[q>>1]=(j[n>>1]|0)+1;if(!(j[q>>1]|0)){o=(k[d>>2]|0)+400|0;t=(j[o>>1]|0)+1<<16>>16;j[o>>1]=t;j[q>>1]=t}}else{t=0==(Wi((k[s>>2]|0)+1|0,m,(k[f>>2]|0)-1|0,1)|0)&1;k[h>>2]=t;j[q>>1]=k[m>>2];t=m;a=k[t+4>>2]|0;if(!((k[h>>2]|0)==0|((a|0)<0|(a|0)==0&(k[t>>2]|0)>>>0<1))?(a=m,c=k[a+4>>2]|0,t=k[(k[l>>2]|0)+96+36>>2]|0,b=((t|0)<0)<<31>>31,!((c|0)>(b|0)|((c|0)==(b|0)?(k[a>>2]|0)>>>0>t>>>0:0))):0){o=m;b=k[o+4>>2]|0;t=j[(k[d>>2]|0)+400>>1]|0;a=((t|0)<0)<<31>>31;if(!((b|0)>(a|0)|((b|0)==(a|0)?(k[o>>2]|0)>>>0>t>>>0:0)))break;j[(k[d>>2]|0)+400>>1]=k[m>>2];break}t=k[d>>2]|0;k[o>>2]=k[(k[l>>2]|0)+96+36>>2];Oh(t,34195,o);r=u;return}while(0);j[(k[e>>2]|0)+32>>1]=j[q>>1]|0;do if((j[q>>1]|0)>(k[(k[d>>2]|0)+404>>2]|0)){t=cx(k[l>>2]|0,k[(k[d>>2]|0)+428>>2]|0,j[q>>1]<<2,0)|0;k[g>>2]=t;if(!(k[g>>2]|0)){r=u;return}else{k[(k[d>>2]|0)+428>>2]=k[g>>2];dS((k[g>>2]|0)+(k[(k[d>>2]|0)+404>>2]<<2)|0,0,(j[q>>1]|0)-(k[(k[d>>2]|0)+404>>2]|0)<<2|0)|0;k[(k[d>>2]|0)+404>>2]=j[q>>1];break}}while(0);if(!(k[(k[(k[d>>2]|0)+428>>2]|0)+((j[q>>1]|0)-1<<2)>>2]|0)){t=gx(k[l>>2]|0,k[s>>2]|0,k[f>>2]|0,0)|0;k[(k[(k[d>>2]|0)+428>>2]|0)+((j[q>>1]|0)-1<<2)>>2]=t}}else{s=(k[d>>2]|0)+400|0;t=(j[s>>1]|0)+1<<16>>16;j[s>>1]=t;j[(k[e>>2]|0)+32>>1]=t}if((j[(k[d>>2]|0)+400>>1]|0)<=(k[(k[l>>2]|0)+96+36>>2]|0)){r=u;return}Oh(k[d>>2]|0,34238,p);r=u;return}function vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[(k[g>>2]|0)+4>>2]|0)>>>0<=0){a=k[f>>2]|0;r=j;return a|0}a=tw(k[k[e>>2]>>2]|0,53,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){a=k[f>>2]|0;r=j;return a|0}k[(k[i>>2]|0)+12>>2]=k[f>>2];a=(k[i>>2]|0)+4|0;k[a>>2]=k[a>>2]|4352;k[f>>2]=k[i>>2];a=k[f>>2]|0;r=j;return a|0}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;h=i+4|0;g=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;k[g>>2]=k[k[e>>2]>>2];c=tw(k[g>>2]|0,151,k[j>>2]|0,1)|0;k[h>>2]=c;if(!(k[h>>2]|0)){ov(k[g>>2]|0,k[f>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=i;return j|0}else{k[(k[h>>2]|0)+20>>2]=k[f>>2];Cw(k[e>>2]|0,k[h>>2]|0);k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}return 0}function xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Ov(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=k[(k[g>>2]|0)+8>>2];r=e;return}function yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(k[g>>2]|0)){r=f;return}g=Ov(k[d>>2]|0,19,k[k[e>>2]>>2]|0,0,0)|0;k[k[e>>2]>>2]=g;r=f;return}function zw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Ov(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0);r=e;return}function Aw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[m>>2]>>2];if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){r=j;return}if((l[k[e>>2]>>0]|0|0)!=101){r=j;return}i[k[f>>2]>>0]=k[g>>2];sv(k[h>>2]|0,k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=0;r=j;return}function Bw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;l=f;k[g>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[l>>2]=e;k[(k[g>>2]|0)+4>>2]=k[k[l>>2]>>2];e=Ov(k[j>>2]|0,k[i>>2]|0,k[k[h>>2]>>2]|0,0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+8>>2]=k[(k[h>>2]|0)+8>>2];r=f;return}function Cw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+36>>2]|0){r=e;return}Jz(k[d>>2]|0);hz(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0)|0;r=e;return}function Dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[(k[e>>2]|0)+20>>2]=k[f>>2];c=(k[e>>2]|0)+4|0;k[c>>2]=k[c>>2]|2099200;Cw(k[d>>2]|0,k[e>>2]|0);r=g;return}else{pv(k[k[d>>2]>>2]|0,k[f>>2]|0);r=g;return}}function Ew(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;j=r;r=r+32|0;i=j;f=j+28|0;o=j+24|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[n>>2]=d;k[m>>2]=e;e=bw(k[f>>2]|0,k[o>>2]|0,0)|0;k[h>>2]=e;if((k[n>>2]|0)!=0|(k[m>>2]|0)!=-1?(l[(k[k[f>>2]>>2]|0)+148+5>>0]|0|0)==0:0){o=k[f>>2]|0;n=k[k[g>>2]>>2]|0;k[i>>2]=k[(k[g>>2]|0)+4>>2];k[i+4>>2]=n;Oh(o,34155,i)}cw(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,1);r=j;return k[h>>2]|0}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;l=u+16|0;j=u+8|0;t=u;o=u+68|0;p=u+64|0;q=u+60|0;f=u+56|0;h=u+52|0;s=u+48|0;e=u+44|0;d=u+40|0;g=u+36|0;m=u+32|0;n=u+28|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=k[k[o>>2]>>2];if(i[(k[s>>2]|0)+69>>0]|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}if(Uz(k[o>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}a=Uj(k[s>>2]|0,k[(k[p>>2]|0)+8+8>>2]|0,k[(k[p>>2]|0)+8+4>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){d=k[o>>2]|0;e=k[p>>2]|0;if(k[q>>2]|0)hC(d,k[e+8+4>>2]|0);else{k[t>>2]=e;k[t+4>>2]=0;Oh(d,33945,t)}i[(k[o>>2]|0)+17>>0]=1;s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}if(i[(k[f>>2]|0)+55>>0]&3){t=k[o>>2]|0;k[j>>2]=0;Oh(t,33963,j);s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}t=Ph(k[s>>2]|0,k[(k[f>>2]|0)+24>>2]|0)|0;k[e>>2]=t;k[d>>2]=10;k[g>>2]=k[(k[f>>2]|0)+12>>2];k[m>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[n>>2]=(k[e>>2]|0)==1?19905:19924;if(kx(k[o>>2]|0,9,k[n>>2]|0,0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}if(k[e>>2]|0)k[d>>2]=12;if(kx(k[o>>2]|0,k[d>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}t=nx(k[o>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}Bx(k[o>>2]|0,1,k[e>>2]|0);t=k[o>>2]|0;n=(k[e>>2]|0)==1?19905:19924;q=k[k[f>>2]>>2]|0;k[l>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[l+4>>2]=n;k[l+8>>2]=q;mx(t,34036,l);_C(k[o>>2]|0,k[e>>2]|0,30854,k[k[f>>2]>>2]|0);ox(k[o>>2]|0,k[e>>2]|0);$C(k[o>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[e>>2]|0);wx(k[h>>2]|0,139,k[e>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;s=k[s>>2]|0;t=k[p>>2]|0;rv(s,t);r=u;return}function Gw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;a=nx(k[c>>2]|0)|0;k[f>>2]=a;if(k[d>>2]|0)c=Yz(k[c>>2]|0,k[d>>2]|0,k[d>>2]|0,d)|0;else c=0;k[e>>2]=c;if(!(k[f>>2]|0)){r=g;return}if(!((k[e>>2]|0)>=2|(k[e>>2]|0)==0)){r=g;return}aA(k[f>>2]|0,10,k[e>>2]|0)|0;Vh(k[f>>2]|0,k[e>>2]|0);r=g;return}function Hw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=r;r=r+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;q=fc+40|0;o=fc+32|0;ac=fc+808|0;f=fc+804|0;s=fc+800|0;h=fc+796|0;n=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;g=fc+776|0;p=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;D=fc+684|0;fa=fc+680|0;T=fc+676|0;E=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;C=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;G=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;H=fc+548|0;A=fc+536|0;I=fc+532|0;J=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;K=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;F=fc+268|0;t=fc+8|0;u=fc;k[ac>>2]=a;k[f>>2]=b;k[s>>2]=c;k[h>>2]=d;k[n>>2]=e;k[dc>>2]=0;k[ec>>2]=0;k[_a>>2]=0;k[X>>2]=0;k[cc>>2]=k[k[ac>>2]>>2];d=nx(k[ac>>2]|0)|0;k[bc>>2]=d;if(!(k[bc>>2]|0)){r=fc;return}sC(k[bc>>2]|0);k[(k[ac>>2]|0)+44>>2]=2;d=Yz(k[ac>>2]|0,k[f>>2]|0,k[s>>2]|0,g)|0;k[$b>>2]=d;if((k[$b>>2]|0)<0){r=fc;return}k[Ea>>2]=(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4);if((k[$b>>2]|0)==1?(Dx(k[ac>>2]|0)|0)!=0:0){r=fc;return}d=bx(k[cc>>2]|0,k[g>>2]|0)|0;k[dc>>2]=d;if(!(k[dc>>2]|0)){r=fc;return}e=k[cc>>2]|0;f=k[h>>2]|0;if(k[n>>2]|0){k[o>>2]=f;o=Qh(e,32103,o)|0;k[ec>>2]=o}else{o=bx(e,f)|0;k[ec>>2]=o}if((k[(k[s>>2]|0)+4>>2]|0)>>>0>0)f=k[k[Ea>>2]>>2]|0;else f=0;k[_a>>2]=f;a:do if(!(kx(k[ac>>2]|0,19,k[dc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0)){k[p>>2]=0;k[p+4>>2]=k[dc>>2];k[p+8>>2]=k[ec>>2];k[p+12>>2]=0;k[(k[cc>>2]|0)+380+8>>2]=0;o=Qf(k[cc>>2]|0,k[_a>>2]|0,14,p)|0;k[ka>>2]=o;if(!(k[ka>>2]|0)){tC(k[bc>>2]|0,32107,k[p>>2]|0);Ud(k[p>>2]|0);break}if((k[ka>>2]|0)!=12){if(k[p>>2]|0){bc=k[ac>>2]|0;k[q>>2]=k[p>>2];Oh(bc,18391,q);Ud(k[p>>2]|0)}bc=(k[ac>>2]|0)+36|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break}k[W>>2]=0;k[qa>>2]=57;while(1){if((k[W>>2]|0)>(k[qa>>2]|0))break;k[X>>2]=((k[W>>2]|0)+(k[qa>>2]|0)|0)/2|0;q=be(k[dc>>2]|0,k[4476+((k[X>>2]|0)*12|0)>>2]|0)|0;k[ka>>2]=q;if(!(k[ka>>2]|0))break;f=k[X>>2]|0;if((k[ka>>2]|0)<0){k[qa>>2]=f-1;continue}else{k[W>>2]=f+1;continue}}if((k[W>>2]|0)<=(k[qa>>2]|0)){k[Eb>>2]=4476+((k[X>>2]|0)*12|0);if((l[(k[Eb>>2]|0)+5>>0]&1|0)!=0?(Uz(k[ac>>2]|0)|0)!=0:0)break;do switch(l[(k[Eb>>2]|0)+4>>0]|0){case 11:{Vh(k[bc>>2]|0,k[$b>>2]|0);if(k[ec>>2]|0){_b=Nj(Zi(k[ec>>2]|0)|0)|0;k[ma>>2]=_b;Bx(k[ac>>2]|0,0,k[$b>>2]|0);tx(k[bc>>2]|0,102,k[$b>>2]|0,3,k[ma>>2]|0)|0;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[ma>>2];Oj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{uC(k[bc>>2]|0,32114);ac=(k[ac>>2]|0)+44|0;k[ac>>2]=(k[ac>>2]|0)+2;bc=Uh(k[bc>>2]|0,9,32125,0)|0;k[v>>2]=bc;k[(k[v>>2]|0)+4>>2]=k[$b>>2];k[(k[v>>2]|0)+20+4>>2]=k[$b>>2];k[(k[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{k[_>>2]=k[(k[Ea>>2]|0)+4>>2];if(k[ec>>2]|0){bc=Zi(k[ec>>2]|0)|0;k[(k[cc>>2]|0)+80>>2]=bc;if(7!=(Mi(k[_>>2]|0,k[(k[cc>>2]|0)+80>>2]|0,-1,0)|0))break a;wh(k[cc>>2]|0);break a}if(k[_>>2]|0)f=Cg(k[_>>2]|0)|0;else f=0;k[Fa>>2]=f;ac=k[Fa>>2]|0;vC(k[bc>>2]|0,32161,ac,((ac|0)<0)<<31>>31);break a}case 26:{k[$>>2]=k[(k[Ea>>2]|0)+4>>2];k[B>>2]=-1;if(k[ec>>2]|0){ac=(Qi(k[ec>>2]|0,0)|0)&255;k[B>>2]=ac}b:do if((k[B>>2]|0)>=0?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[S>>2]=0;while(1){if((k[S>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break b;dC(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[S>>2]<<4)+4>>2]|0,k[B>>2]|0)|0;k[S>>2]=(k[S>>2]|0)+1}}while(0);ac=dC(k[$>>2]|0,k[B>>2]|0)|0;k[B>>2]=ac;ac=k[B>>2]|0;vC(k[bc>>2]|0,32171,ac,((ac|0)<0)<<31>>31);break a}case 23:{Cx(k[ac>>2]|0,k[$b>>2]|0);f=(k[ac>>2]|0)+44|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[Oa>>2]=g;g=k[bc>>2]|0;f=k[$b>>2]|0;e=k[Oa>>2]|0;if((l[17613+(l[k[dc>>2]>>0]|0)>>0]|0)==112)sx(g,158,f,e)|0;else tx(g,159,f,e,Nj(Zi(k[ec>>2]|0)|0)|0)|0;sx(k[bc>>2]|0,87,k[Oa>>2]|0,1)|0;wC(k[bc>>2]|0,1);xC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;break a}case 22:{k[Ba>>2]=32185;ac=yC(k[ec>>2]|0)|0;k[D>>2]=ac;if((k[D>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0)k[D>>2]=l[(k[cc>>2]|0)+71>>0];else{if(!(k[(k[s>>2]|0)+4>>2]|0)){k[T>>2]=2;while(1){if((k[T>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;ac=Zf(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[T>>2]<<4)+4>>2]|0)|0;k[fa>>2]=ac;cC(k[fa>>2]|0,k[D>>2]|0)|0;k[T>>2]=(k[T>>2]|0)+1}i[(k[cc>>2]|0)+71>>0]=k[D>>2]}ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[fa>>2]=ac;ac=cC(k[fa>>2]|0,k[D>>2]|0)|0;k[D>>2]=ac}if((k[D>>2]|0)==1)k[Ba>>2]=32192;tC(k[bc>>2]|0,32202,k[Ba>>2]|0);break a}case 19:{uC(k[bc>>2]|0,32215);if(k[ec>>2]|0){ac=Tf(k[ec>>2]|0)|0;k[Y>>2]=ac;k[E>>2]=0;while(1){ac=zC(k[E>>2]|0)|0;k[Aa>>2]=ac;if(!ac)break;if(!(Jd(k[ec>>2]|0,k[Aa>>2]|0,k[Y>>2]|0)|0))break;k[E>>2]=(k[E>>2]|0)+1}if(!(k[Aa>>2]|0))k[E>>2]=-1}else k[E>>2]=-1;if((k[E>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[$b>>2]=0;k[(k[s>>2]|0)+4>>2]=1}k[U>>2]=(k[(k[cc>>2]|0)+20>>2]|0)-1;while(1){if((k[U>>2]|0)<0)break;do if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[U>>2]<<4)+4>>2]|0){if((k[U>>2]|0)!=(k[$b>>2]|0)?(k[(k[s>>2]|0)+4>>2]|0)!=0:0)break;Vh(k[bc>>2]|0,k[U>>2]|0);tx(k[bc>>2]|0,9,k[U>>2]|0,1,k[E>>2]|0)|0}while(0);k[U>>2]=(k[U>>2]|0)+-1}sx(k[bc>>2]|0,87,1,1)|0;break a}case 20:{ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[ga>>2]=ac;ac=Q;k[ac>>2]=-2;k[ac+4>>2]=-1;if((k[ec>>2]|0)!=0?(Ri(k[ec>>2]|0,Q)|0,ac=Q,$b=k[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(k[ac>>2]|0)>>>0<4294967295):0){ac=Q;k[ac>>2]=-1;k[ac+4>>2]=-1}$b=Q;$b=AC(k[ga>>2]|0,k[$b>>2]|0,k[$b+4>>2]|0)|0;ac=Q;k[ac>>2]=$b;k[ac+4>>2]=L;ac=Q;vC(k[bc>>2]|0,32228,k[ac>>2]|0,k[ac+4>>2]|0);break a}case 1:{k[aa>>2]=k[(k[Ea>>2]|0)+4>>2];if(!(k[ec>>2]|0)){ac=k[bc>>2]|0;bc=BC(k[aa>>2]|0)|0;vC(ac,32247,bc,((bc|0)<0)<<31>>31);break a}ac=CC(k[ec>>2]|0)|0;k[C>>2]=ac;i[(k[cc>>2]|0)+72>>0]=k[C>>2];ac=DC(k[aa>>2]|0,k[C>>2]|0)|0;k[ka>>2]=ac;if(k[ka>>2]|0)break a;if(!((k[C>>2]|0)==1|(k[C>>2]|0)==2))break a;ac=Gx(k[bc>>2]|0)|0;k[M>>2]=ac;ac=Uh(k[bc>>2]|0,5,32259,0)|0;k[y>>2]=ac;k[(k[y>>2]|0)+4>>2]=k[$b>>2];k[(k[y>>2]|0)+20+4>>2]=k[$b>>2];k[(k[y>>2]|0)+40+8>>2]=(k[M>>2]|0)+4;k[(k[y>>2]|0)+80+4>>2]=k[$b>>2];k[(k[y>>2]|0)+80+12>>2]=(k[C>>2]|0)-1;Vh(k[bc>>2]|0,k[$b>>2]|0);break a}case 15:{if(!((k[ec>>2]|0)!=0?(_b=(_i(k[ec>>2]|0,R)|0)==0,!(_b|(k[R>>2]|0)<=0)):0))k[R>>2]=2147483647;Bx(k[ac>>2]|0,0,k[$b>>2]|0);sx(k[bc>>2]|0,76,k[R>>2]|0,1)|0;ac=aA(k[bc>>2]|0,69,k[$b>>2]|0)|0;k[z>>2]=ac;aA(k[bc>>2]|0,87,1)|0;sx(k[bc>>2]|0,91,1,-1)|0;sx(k[bc>>2]|0,66,1,k[z>>2]|0)|0;hA(k[bc>>2]|0,k[z>>2]|0);break a}case 4:if(k[ec>>2]|0){bc=Zi(k[ec>>2]|0)|0;k[na>>2]=bc;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[na>>2];Oj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0;vC(k[bc>>2]|0,32114,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(k[ec>>2]|0)){e=k[bc>>2]|0;if(!(k[(k[cc>>2]|0)+24>>2]&32))f=0;else f=EC(k[(k[Ea>>2]|0)+4>>2]|0,0)|0;vC(e,32279,f,((f|0)<0)<<31>>31);break a}k[oa>>2]=1;if(_i(k[ec>>2]|0,oa)|0)EC(k[(k[Ea>>2]|0)+4>>2]|0,k[oa>>2]|0)|0;bc=(Qi(k[ec>>2]|0,(k[oa>>2]|0)!=0&255)|0)<<24>>24!=0;f=(k[cc>>2]|0)+24|0;e=k[f>>2]|0;if(bc)k[f>>2]=e|32;else k[f>>2]=e&-33;FC(k[cc>>2]|0);break a}case 24:{$b=pa;k[$b>>2]=0;k[$b+4>>2]=0;k[ka>>2]=0;if(!(k[ka>>2]|0)){ac=pa;vC(k[bc>>2]|0,32291,k[ac>>2]|0,k[ac+4>>2]|0);break a}if((k[ka>>2]|0)==12)break a;bc=(k[ac>>2]|0)+36|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break a}case 32:if(k[ec>>2]|0){GC(k[ac>>2]|0,k[ec>>2]|0)|0;break a}else{vC(k[bc>>2]|0,32301,l[(k[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(k[ec>>2]|0)){tC(k[bc>>2]|0,32312,k[243]|0);break a}if((i[k[ec>>2]>>0]|0)!=0?(bc=gs(k[k[cc>>2]>>2]|0,k[ec>>2]|0,1,la)|0,k[ka>>2]=bc,(k[ka>>2]|0)!=0|(k[la>>2]|0)==0):0){Oh(k[ac>>2]|0,32333,ra);break a}if((l[(k[cc>>2]|0)+68>>0]|0)<=1)HC(k[ac>>2]|0)|0;Ud(k[243]|0);if(i[k[ec>>2]>>0]|0){k[sa>>2]=k[ec>>2];bc=Yd(18391,sa)|0;k[243]=bc;break a}else{k[243]=0;break a}}case 30:{if(!(k[ec>>2]|0)){ac=(l[(k[Ea>>2]|0)+8>>0]|0)-1|0;vC(k[bc>>2]|0,32358,ac,((ac|0)<0)<<31>>31);break a}if(i[(k[cc>>2]|0)+67>>0]|0){bc=((Yi(k[ec>>2]|0,0,1)|0)&255)+1&7;k[P>>2]=bc;k[P>>2]=(k[P>>2]|0)==0?1:bc;i[(k[Ea>>2]|0)+8>>0]=k[P>>2];i[(k[Ea>>2]|0)+9>>0]=1;FC(k[cc>>2]|0);break a}else{Oh(k[ac>>2]|0,32370,ta);break a}}case 2:{if(!(k[ec>>2]|0)){ac=(k[(k[cc>>2]|0)+24>>2]&k[(k[Eb>>2]|0)+8>>2]|0)!=0&1;vC(k[bc>>2]|0,k[k[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}k[Da>>2]=k[(k[Eb>>2]|0)+8>>2];if(!(l[(k[cc>>2]|0)+67>>0]|0))k[Da>>2]=k[Da>>2]&-524289;ac=(Qi(k[ec>>2]|0,0)|0)<<24>>24!=0;f=k[Da>>2]|0;if(!ac){ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]&~f;if((k[Da>>2]|0)==33554432){ac=(k[cc>>2]|0)+448|0;k[ac>>2]=0;k[ac+4>>2]=0}}else{ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]|f}px(k[bc>>2]|0,150)|0;FC(k[cc>>2]|0);break a}case 31:{if(!(k[ec>>2]|0))break a;_b=Nh(k[ac>>2]|0,2,k[ec>>2]|0,k[_a>>2]|0)|0;k[Yb>>2]=_b;if(!(k[Yb>>2]|0))break a;k[Vb>>2]=0;_b=Tj(k[Yb>>2]|0)|0;k[Xb>>2]=_b;k[(k[ac>>2]|0)+44>>2]=6;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,6,5172);by(k[ac>>2]|0,k[Yb>>2]|0)|0;k[Tb>>2]=0;k[Wb>>2]=k[(k[Yb>>2]|0)+4>>2];while(1){if((k[Tb>>2]|0)>=(j[(k[Yb>>2]|0)+34>>1]|0))break a;if(l[(k[Wb>>2]|0)+15>>0]&2)k[Vb>>2]=(k[Vb>>2]|0)+1;else{c:do if(!(l[(k[Wb>>2]|0)+15>>0]&1))k[Ub>>2]=0;else{ac=(k[Xb>>2]|0)==0;k[Ub>>2]=1;if(ac)break;while(1){if((k[Ub>>2]|0)>(j[(k[Yb>>2]|0)+34>>1]|0))break c;if((j[(k[(k[Xb>>2]|0)+4>>2]|0)+((k[Ub>>2]|0)-1<<1)>>1]|0)==(k[Tb>>2]|0))break c;k[Ub>>2]=(k[Ub>>2]|0)+1}}while(0);f=k[bc>>2]|0;e=(k[Tb>>2]|0)-(k[Vb>>2]|0)|0;g=k[k[Wb>>2]>>2]|0;b=Fi(k[Wb>>2]|0,18402)|0;c=(l[(k[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(k[(k[Wb>>2]|0)+4>>2]|0)a=k[(k[(k[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else a=0;ac=k[Ub>>2]|0;k[Zb>>2]=e;k[Zb+4>>2]=g;k[Zb+8>>2]=b;k[Zb+12>>2]=c;k[Zb+16>>2]=a;k[Zb+20>>2]=ac;JC(f,1,32423,Zb);sx(k[bc>>2]|0,87,1,6)|0}k[Tb>>2]=(k[Tb>>2]|0)+1;k[Wb>>2]=(k[Wb>>2]|0)+16}}case 29:{_b=nx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+44>>2]=4;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,4,5196);k[G>>2]=k[(k[(k[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[G>>2]|0))break a;k[ha>>2]=k[(k[G>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=j[(k[ha>>2]|0)+40>>1]|0;$b=j[(k[ha>>2]|0)+38>>1]|0;k[ua>>2]=k[k[ha>>2]>>2];k[ua+4>>2]=0;k[ua+8>>2]=_b;k[ua+12>>2]=$b;JC(ac,1,32430,ua);sx(k[bc>>2]|0,87,1,4)|0;k[da>>2]=k[(k[ha>>2]|0)+8>>2];while(1){if(!(k[da>>2]|0))break;ac=k[bc>>2]|0;_b=j[(k[da>>2]|0)+48>>1]|0;$b=j[k[(k[da>>2]|0)+8>>2]>>1]|0;k[va>>2]=k[k[da>>2]>>2];k[va+4>>2]=_b;k[va+8>>2]=$b;JC(ac,2,32435,va);sx(k[bc>>2]|0,87,1,4)|0;k[da>>2]=k[(k[da>>2]|0)+20>>2]}k[G>>2]=k[k[G>>2]>>2]}}case 16:{if(!(k[ec>>2]|0))break a;_b=Uj(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[zb>>2]=_b;if(!(k[zb>>2]|0))break a;f=k[zb>>2]|0;if(k[(k[Eb>>2]|0)+8>>2]|0){k[vb>>2]=m[f+52>>1];k[(k[ac>>2]|0)+44>>2]=6}else{k[vb>>2]=m[f+50>>1];k[(k[ac>>2]|0)+44>>2]=3}k[Gb>>2]=k[(k[zb>>2]|0)+12>>2];Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,k[(k[ac>>2]|0)+44>>2]|0,5212);k[fb>>2]=0;while(1){if((k[fb>>2]|0)>=(k[vb>>2]|0))break a;j[eb>>1]=j[(k[(k[zb>>2]|0)+4>>2]|0)+(k[fb>>2]<<1)>>1]|0;f=k[bc>>2]|0;e=j[eb>>1]|0;if((j[eb>>1]|0)<0)g=0;else g=k[(k[(k[Gb>>2]|0)+4>>2]|0)+(j[eb>>1]<<4)>>2]|0;k[Nb>>2]=k[fb>>2];k[Nb+4>>2]=e;k[Nb+8>>2]=g;JC(f,1,32439,Nb);if(k[(k[Eb>>2]|0)+8>>2]|0){$b=k[bc>>2]|0;Zb=k[(k[(k[zb>>2]|0)+32>>2]|0)+(k[fb>>2]<<2)>>2]|0;_b=(k[fb>>2]|0)<(m[(k[zb>>2]|0)+50>>1]|0)&1;k[Ob>>2]=l[(k[(k[zb>>2]|0)+28>>2]|0)+(k[fb>>2]|0)>>0];k[Ob+4>>2]=Zb;k[Ob+8>>2]=_b;JC($b,4,32443,Ob)}sx(k[bc>>2]|0,87,1,k[(k[ac>>2]|0)+44>>2]|0)|0;k[fb>>2]=(k[fb>>2]|0)+1}}case 17:{if(!(k[ec>>2]|0))break a;_b=Di(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ia>>2]=_b;if(!(k[ia>>2]|0))break a;_b=nx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+44>>2]=5;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,5,5236);k[ea>>2]=k[(k[ia>>2]|0)+8>>2];k[H>>2]=0;while(1){if(!(k[ea>>2]|0))break a;k[A>>2]=k[1314];k[A+4>>2]=k[1315];k[A+8>>2]=k[1316];ac=k[bc>>2]|0;Yb=k[k[ea>>2]>>2]|0;Zb=(l[(k[ea>>2]|0)+54>>0]|0)!=0&1;_b=k[A+((i[(k[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(k[(k[ea>>2]|0)+36>>2]|0)!=0&1;k[wa>>2]=k[H>>2];k[wa+4>>2]=Yb;k[wa+8>>2]=Zb;k[wa+12>>2]=_b;k[wa+16>>2]=$b;JC(ac,1,32447,wa);sx(k[bc>>2]|0,87,1,5)|0;k[ea>>2]=k[(k[ea>>2]|0)+20>>2];k[H>>2]=(k[H>>2]|0)+1}}case 10:{k[(k[ac>>2]|0)+44>>2]=3;IC(k[bc>>2]|0,3,5268);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break a;if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0){ac=k[bc>>2]|0;Zb=k[I>>2]|0;_b=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2]|0;$b=Si(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0)|0;k[xa>>2]=Zb;k[xa+4>>2]=_b;k[xa+8>>2]=$b;JC(ac,1,32453,xa);sx(k[bc>>2]|0,87,1,3)|0}k[I>>2]=(k[I>>2]|0)+1}}case 7:{k[J>>2]=0;k[(k[ac>>2]|0)+44>>2]=2;IC(k[bc>>2]|0,2,5280);k[Z>>2]=k[(k[cc>>2]|0)+364+8>>2];while(1){if(!(k[Z>>2]|0))break a;k[ba>>2]=k[(k[Z>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=k[J>>2]|0;k[J>>2]=_b+1;$b=k[k[ba>>2]>>2]|0;k[ya>>2]=_b;k[ya+4>>2]=$b;JC(ac,1,32457,ya);sx(k[bc>>2]|0,87,1,2)|0;k[Z>>2]=k[k[Z>>2]>>2]}}case 14:{if(!(k[ec>>2]|0))break a;_b=Di(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ja>>2]=_b;if(!(k[ja>>2]|0))break a;_b=nx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[ca>>2]=k[(k[ja>>2]|0)+16>>2];if(!(k[ca>>2]|0))break a;k[K>>2]=0;k[(k[ac>>2]|0)+44>>2]=8;Cx(k[ac>>2]|0,k[$b>>2]|0);IC(k[bc>>2]|0,8,5288);while(1){if(!(k[ca>>2]|0))break a;k[V>>2]=0;while(1){if((k[V>>2]|0)>=(k[(k[ca>>2]|0)+20>>2]|0))break;ac=k[bc>>2]|0;Vb=k[K>>2]|0;Wb=k[V>>2]|0;Xb=k[(k[ca>>2]|0)+8>>2]|0;Yb=k[(k[(k[ja>>2]|0)+4>>2]|0)+(k[(k[ca>>2]|0)+36+(k[V>>2]<<3)>>2]<<4)>>2]|0;Zb=k[(k[ca>>2]|0)+36+(k[V>>2]<<3)+4>>2]|0;_b=KC(i[(k[ca>>2]|0)+25+1>>0]|0)|0;$b=KC(i[(k[ca>>2]|0)+25>>0]|0)|0;k[za>>2]=Vb;k[za+4>>2]=Wb;k[za+8>>2]=Xb;k[za+12>>2]=Yb;k[za+16>>2]=Zb;k[za+20>>2]=_b;k[za+24>>2]=$b;k[za+28>>2]=32469;JC(ac,1,32460,za);sx(k[bc>>2]|0,87,1,8)|0;k[V>>2]=(k[V>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1;k[ca>>2]=k[(k[ca>>2]|0)+4>>2]}}case 13:{k[Wa>>2]=(k[(k[ac>>2]|0)+44>>2]|0)+1;Zb=(k[ac>>2]|0)+44|0;k[Zb>>2]=(k[Zb>>2]|0)+4;Zb=(k[ac>>2]|0)+44|0;Yb=(k[Zb>>2]|0)+1|0;k[Zb>>2]=Yb;k[Va>>2]=Yb;Yb=(k[ac>>2]|0)+44|0;Zb=(k[Yb>>2]|0)+1|0;k[Yb>>2]=Zb;k[Xa>>2]=Zb;Zb=nx(k[ac>>2]|0)|0;k[bc>>2]=Zb;IC(k[bc>>2]|0,4,5320);Cx(k[ac>>2]|0,k[$b>>2]|0);k[Qa>>2]=k[(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[Qa>>2]|0))break a;if(k[ec>>2]|0){Zb=Nh(k[ac>>2]|0,0,k[ec>>2]|0,k[_a>>2]|0)|0;k[Ua>>2]=Zb;k[Qa>>2]=0}else{k[Ua>>2]=k[(k[Qa>>2]|0)+8>>2];k[Qa>>2]=k[k[Qa>>2]>>2]}if(!(k[Ua>>2]|0))continue;if(!(k[(k[Ua>>2]|0)+16>>2]|0))continue;bA(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ua>>2]|0)+28>>2]|0,0,k[k[Ua>>2]>>2]|0);if(((j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0)|0)>(k[(k[ac>>2]|0)+44>>2]|0))k[(k[ac>>2]|0)+44>>2]=(j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0);cA(k[ac>>2]|0,0,k[$b>>2]|0,k[Ua>>2]|0,104);rx(k[bc>>2]|0,k[Wa>>2]|0,k[k[Ua>>2]>>2]|0)|0;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];d:while(1){if(!(k[Ra>>2]|0))break;Zb=Di(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;do if(k[Ta>>2]|0){k[Sa>>2]=0;bA(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ta>>2]|0)+28>>2]|0,0,k[k[Ta>>2]>>2]|0);Zb=LC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,0)|0;k[Za>>2]=Zb;if(k[Za>>2]|0){_b=207;break d}if(!(k[Sa>>2]|0)){cA(k[ac>>2]|0,k[Ma>>2]|0,k[$b>>2]|0,k[Ta>>2]|0,104);break}else{tx(k[bc>>2]|0,104,k[Ma>>2]|0,k[(k[Sa>>2]|0)+44>>2]|0,k[$b>>2]|0)|0;dA(k[ac>>2]|0,k[Sa>>2]|0);break}}while(0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;k[Qa>>2]=0}if(k[Ra>>2]|0)break a;if((k[(k[ac>>2]|0)+40>>2]|0)<(k[Ma>>2]|0))k[(k[ac>>2]|0)+40>>2]=k[Ma>>2];Zb=aA(k[bc>>2]|0,57,0)|0;k[Ka>>2]=Zb;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];while(1){if(!(k[Ra>>2]|0))break;Zb=Di(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;k[Sa>>2]=0;k[La>>2]=0;if(k[Ta>>2]|0){Zb=LC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,La)|0;k[Za>>2]=Zb}Zb=eA(k[bc>>2]|0)|0;k[Ja>>2]=Zb;do if((k[Ta>>2]|0)!=0&(k[Sa>>2]|0)==0){k[Na>>2]=k[(k[Ra>>2]|0)+36>>2];f=k[bc>>2]|0;if((k[Na>>2]|0)!=(j[(k[Ua>>2]|0)+32>>1]|0)){tx(f,96,0,k[Na>>2]|0,k[Xa>>2]|0)|0;ZA(k[bc>>2]|0,k[Ua>>2]|0,k[Na>>2]|0,k[Xa>>2]|0);sx(k[bc>>2]|0,34,k[Xa>>2]|0,k[Ja>>2]|0)|0}else sx(f,123,0,k[Xa>>2]|0)|0;tx(k[bc>>2]|0,32,k[Ma>>2]|0,0,k[Xa>>2]|0)|0;gA(k[bc>>2]|0,k[Ja>>2]|0)|0;Zb=k[bc>>2]|0;hA(Zb,(Gx(k[bc>>2]|0)|0)-2|0)}else{k[Pa>>2]=0;while(1){if((k[Pa>>2]|0)>=(k[(k[Ra>>2]|0)+20>>2]|0))break;f=k[Pa>>2]|0;if(k[La>>2]|0)f=k[(k[La>>2]|0)+(f<<2)>>2]|0;else f=k[(k[Ra>>2]|0)+36+(f<<3)>>2]|0;XA(k[bc>>2]|0,k[Ua>>2]|0,0,f,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0);sx(k[bc>>2]|0,34,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0,k[Ja>>2]|0)|0;k[Pa>>2]=(k[Pa>>2]|0)+1}if(!(k[Ta>>2]|0))break;Vb=k[bc>>2]|0;Wb=k[Xa>>2]|0;Xb=k[(k[Ra>>2]|0)+20>>2]|0;Yb=k[Va>>2]|0;Zb=MC(k[cc>>2]|0,k[Sa>>2]|0)|0;wx(Vb,99,Wb,Xb,Yb,Zb,k[(k[Ra>>2]|0)+20>>2]|0)|0;Sh(k[bc>>2]|0,31,k[Ma>>2]|0,k[Ja>>2]|0,k[Va>>2]|0,0)|0}while(0);sx(k[bc>>2]|0,123,0,(k[Wa>>2]|0)+1|0)|0;Yb=k[bc>>2]|0;Zb=(k[Wa>>2]|0)+2|0;Xb=(k[Ma>>2]|0)-1|0;k[Ya>>2]=k[(k[Ra>>2]|0)+8>>2];k[Ya+4>>2]=Xb;JC(Yb,Zb,32474,Ya);sx(k[bc>>2]|0,87,k[Wa>>2]|0,4)|0;iA(k[bc>>2]|0,k[Ja>>2]|0);bg(k[cc>>2]|0,k[La>>2]|0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}sx(k[bc>>2]|0,7,0,(k[Ka>>2]|0)+1|0)|0;hA(k[bc>>2]|0,k[Ka>>2]|0)}}case 6:{if(!(k[ec>>2]|0))break a;bc=k[cc>>2]|0;NC(bc,(Qi(k[ec>>2]|0,0)|0)&255);break a}case 18:{k[kb>>2]=(l[17613+(l[k[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(k[k[s>>2]>>2]|0))k[$b>>2]=-1;k[(k[ac>>2]|0)+44>>2]=6;uC(k[bc>>2]|0,32477);k[wb>>2]=100;if((k[ec>>2]|0)!=0?(_i(k[ec>>2]|0,wb)|0,(k[wb>>2]|0)<=0):0)k[wb>>2]=100;sx(k[bc>>2]|0,76,k[wb>>2]|0,1)|0;k[gb>>2]=0;e:while(1){if((k[gb>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;k[db>>2]=0;k[xb>>2]=0;if(!((k[$b>>2]|0)>=0?(k[gb>>2]|0)!=(k[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;Cx(k[ac>>2]|0,k[gb>>2]|0);Zb=aA(k[bc>>2]|0,66,1)|0;k[bb>>2]=Zb;sx(k[bc>>2]|0,75,0,0)|0;hA(k[bc>>2]|0,k[bb>>2]|0);k[Kb>>2]=(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)+12>>2]|0)+8;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Hb>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Hb>>2]|0)+42>>0]&32))k[db>>2]=(k[db>>2]|0)+1;k[yb>>2]=0;k[Ab>>2]=k[(k[Hb>>2]|0)+8>>2];while(1){if(!(k[Ab>>2]|0))break;k[db>>2]=(k[db>>2]|0)+1;k[Ab>>2]=k[(k[Ab>>2]|0)+20>>2];k[yb>>2]=(k[yb>>2]|0)+1}if((k[yb>>2]|0)>(k[xb>>2]|0))k[xb>>2]=k[yb>>2];k[Rb>>2]=k[k[Rb>>2]>>2]}Zb=dx(k[cc>>2]|0,(k[db>>2]|0)+1<<2,0)|0;k[ab>>2]=Zb;if(!(k[ab>>2]|0))break e;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Ib>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Ib>>2]|0)+42>>0]&32)){Yb=k[(k[Ib>>2]|0)+28>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb}k[Bb>>2]=k[(k[Ib>>2]|0)+8>>2];while(1){if(!(k[Bb>>2]|0))break;Yb=k[(k[Bb>>2]|0)+44>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb;k[Bb>>2]=k[(k[Bb>>2]|0)+20>>2]}k[Rb>>2]=k[k[Rb>>2]>>2]}k[(k[ab>>2]|0)+(k[db>>2]<<2)>>2]=0;if((k[(k[ac>>2]|0)+44>>2]|0)>(8+(k[xb>>2]|0)|0))f=k[(k[ac>>2]|0)+44>>2]|0;else f=8+(k[xb>>2]|0)|0;k[(k[ac>>2]|0)+44>>2]=f;wx(k[bc>>2]|0,141,2,k[db>>2]|0,1,k[ab>>2]|0,-15)|0;Th(k[bc>>2]|0,k[gb>>2]&255);Yb=aA(k[bc>>2]|0,34,2)|0;k[bb>>2]=Yb;Yb=k[bc>>2]|0;Zb=k[cc>>2]|0;k[Pb>>2]=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)>>2];wx(Yb,97,0,3,0,Qh(Zb,32493,Pb)|0,-1)|0;tx(k[bc>>2]|0,83,2,4,1)|0;tx(k[bc>>2]|0,52,4,3,2)|0;sx(k[bc>>2]|0,87,2,1)|0;hA(k[bc>>2]|0,k[bb>>2]|0);k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break f;if(!((k[kb>>2]|0)!=0^1))break f;k[Jb>>2]=k[(k[Rb>>2]|0)+8>>2];k[Fb>>2]=0;k[Lb>>2]=-1;g:do if(k[(k[Jb>>2]|0)+8>>2]|0){if(!(l[(k[Jb>>2]|0)+42>>0]&32))f=0;else f=Tj(k[Jb>>2]|0)|0;k[Db>>2]=f;Zb=aA(k[bc>>2]|0,66,1)|0;k[bb>>2]=Zb;sx(k[bc>>2]|0,75,0,0)|0;hA(k[bc>>2]|0,k[bb>>2]|0);OC(k[ac>>2]|0);PC(k[ac>>2]|0,k[Jb>>2]|0,104,0,1,0,ib,jb)|0;sx(k[bc>>2]|0,76,0,7)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;sx(f,76,0,8+(k[lb>>2]|0)|0)|0;k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}sx(f,57,k[ib>>2]|0,0)|0;Zb=sx(k[bc>>2]|0,91,7,1)|0;k[ub>>2]=Zb;k[lb>>2]=0;while(1){if((k[lb>>2]|0)>=(j[(k[Jb>>2]|0)+34>>1]|0))break;do if((k[lb>>2]|0)!=(j[(k[Jb>>2]|0)+32>>1]|0)){if(!(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)+12>>0]|0))break;XA(k[bc>>2]|0,k[Jb>>2]|0,k[ib>>2]|0,k[lb>>2]|0,3);Th(k[bc>>2]|0,-128);Zb=aA(k[bc>>2]|0,35,3)|0;k[mb>>2]=Zb;sx(k[bc>>2]|0,91,1,-1)|0;Zb=k[cc>>2]|0;Yb=k[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)>>2]|0;k[Qb>>2]=k[k[Jb>>2]>>2];k[Qb+4>>2]=Yb;Zb=Qh(Zb,32517,Qb)|0;k[Sb>>2]=Zb;wx(k[bc>>2]|0,97,0,3,0,k[Sb>>2]|0,-1)|0;sx(k[bc>>2]|0,87,3,1)|0;Zb=aA(k[bc>>2]|0,66,1)|0;k[ob>>2]=Zb;px(k[bc>>2]|0,75)|0;hA(k[bc>>2]|0,k[mb>>2]|0);hA(k[bc>>2]|0,k[ob>>2]|0)}while(0);k[lb>>2]=(k[lb>>2]|0)+1}k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;Zb=eA(f)|0;k[cb>>2]=Zb;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=yA(k[ac>>2]|0,k[Cb>>2]|0,k[ib>>2]|0,0,0,pb,k[Fb>>2]|0,k[Lb>>2]|0)|0;k[Lb>>2]=Zb;k[Fb>>2]=k[Cb>>2];sx(k[bc>>2]|0,91,8+(k[lb>>2]|0)|0,1)|0;Zb=Sh(k[bc>>2]|0,31,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[cb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+52>>1]|0)|0;k[nb>>2]=Zb;sx(k[bc>>2]|0,91,1,-1)|0;rx(k[bc>>2]|0,3,32537)|0;tx(k[bc>>2]|0,52,7,3,3)|0;rx(k[bc>>2]|0,4,32542)|0;tx(k[bc>>2]|0,52,4,3,3)|0;Zb=rx(k[bc>>2]|0,4,k[k[Cb>>2]>>2]|0)|0;k[rb>>2]=Zb;tx(k[bc>>2]|0,52,4,3,3)|0;sx(k[bc>>2]|0,87,3,1)|0;Zb=aA(k[bc>>2]|0,66,1)|0;k[qb>>2]=Zb;px(k[bc>>2]|0,75)|0;hA(k[bc>>2]|0,k[nb>>2]|0);if(l[(k[Cb>>2]|0)+54>>0]|0){Zb=eA(k[bc>>2]|0)|0;k[Mb>>2]=Zb;k[tb>>2]=0;while(1){if((k[tb>>2]|0)>=(m[(k[Cb>>2]|0)+50>>1]|0))break;k[hb>>2]=j[(k[(k[Cb>>2]|0)+4>>2]|0)+(k[tb>>2]<<1)>>1];if(!((k[hb>>2]|0)>=0?(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[hb>>2]<<4)+12>>0]|0)!=0:0))sx(k[bc>>2]|0,34,(k[Lb>>2]|0)+(k[tb>>2]|0)|0,k[Mb>>2]|0)|0;k[tb>>2]=(k[tb>>2]|0)+1}Zb=aA(k[bc>>2]|0,7,(k[jb>>2]|0)+(k[lb>>2]|0)|0)|0;k[sb>>2]=Zb;gA(k[bc>>2]|0,k[Mb>>2]|0)|0;hA(k[bc>>2]|0,k[sb>>2]|0);Sh(k[bc>>2]|0,59,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[Mb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+50>>1]|0)|0;sx(k[bc>>2]|0,91,1,-1)|0;rx(k[bc>>2]|0,3,32563)|0;gA(k[bc>>2]|0,k[rb>>2]|0)|0;iA(k[bc>>2]|0,k[Mb>>2]|0)}hA(k[bc>>2]|0,k[qb>>2]|0);zA(k[ac>>2]|0,k[pb>>2]|0)}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}sx(f,7,k[ib>>2]|0,k[ub>>2]|0)|0;hA(k[bc>>2]|0,(k[ub>>2]|0)-1|0);rx(k[bc>>2]|0,2,32590)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){if(!(k[Cb>>2]|0))break g;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=Gx(k[bc>>2]|0)|0;k[bb>>2]=Zb;sx(k[bc>>2]|0,66,1,(k[bb>>2]|0)+2|0)|0;sx(k[bc>>2]|0,75,0,0)|0;sx(k[bc>>2]|0,100,(k[jb>>2]|0)+(k[lb>>2]|0)|0,3)|0;tx(k[bc>>2]|0,37,8+(k[lb>>2]|0)|0,(k[bb>>2]|0)+8|0,3)|0;Th(k[bc>>2]|0,-112);sx(k[bc>>2]|0,91,1,-1)|0;rx(k[bc>>2]|0,3,k[k[Cb>>2]>>2]|0)|0;tx(k[bc>>2]|0,52,3,2,7)|0;sx(k[bc>>2]|0,87,7,1)|0}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}}while(0);k[Rb>>2]=k[k[Rb>>2]>>2]}}while(0);k[gb>>2]=(k[gb>>2]|0)+1}bc=Uh(k[bc>>2]|0,4,32619,0)|0;k[$a>>2]=bc;if(!(k[$a>>2]|0))break a;k[(k[$a>>2]|0)+8>>2]=0-(k[wb>>2]|0);i[(k[$a>>2]|0)+40+1>>0]=-2;k[(k[$a>>2]|0)+40+16>>2]=32635;break a}case 12:{if(!(k[ec>>2]|0)){if(Uz(k[ac>>2]|0)|0)break a;tC(k[bc>>2]|0,32638,k[5336+(l[(k[k[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;k[Ha>>2]=5336;while(1){if(!(k[k[Ha>>2]>>2]|0))break;bc=0==(sg(k[ec>>2]|0,k[k[Ha>>2]>>2]|0)|0);f=k[Ha>>2]|0;if(bc){_b=309;break}k[Ha>>2]=f+8}if((_b|0)==309){if(l[f+4>>0]|0)f=l[(k[Ha>>2]|0)+4>>0]|0;else f=(i[968]|0)==0?3:2;bc=f&255;i[(k[cc>>2]|0)+66>>0]=bc;i[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(k[k[Ha>>2]>>2]|0)break a;bc=k[ac>>2]|0;k[Ia>>2]=k[ec>>2];Oh(bc,32647,Ia);break a}case 0:{k[O>>2]=k[(k[Eb>>2]|0)+8>>2];Vh(k[bc>>2]|0,k[$b>>2]|0);if((k[ec>>2]|0)!=0?(l[(k[Eb>>2]|0)+5>>0]&2|0)==0:0){bc=Uh(k[bc>>2]|0,2,32672,0)|0;k[w>>2]=bc;k[(k[w>>2]|0)+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+8>>2]=k[O>>2];bc=Zi(k[ec>>2]|0)|0;k[(k[w>>2]|0)+20+12>>2]=bc;break a}ac=Uh(k[bc>>2]|0,3,32680,0)|0;k[x>>2]=ac;k[(k[x>>2]|0)+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+12>>2]=k[O>>2];wC(k[bc>>2]|0,1);xC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;QC(k[bc>>2]|0);break a}case 8:{k[Ca>>2]=0;k[(k[ac>>2]|0)+44>>2]=1;uC(k[bc>>2]|0,32692);while(1){ac=k[Ca>>2]|0;k[Ca>>2]=ac+1;ac=Kd(ac)|0;k[Ga>>2]=ac;f=k[bc>>2]|0;if(!ac)break;rx(f,1,k[Ga>>2]|0)|0;sx(k[bc>>2]|0,87,1,1)|0}QC(f);break a}case 36:{k[N>>2]=(k[k[s>>2]>>2]|0)!=0?k[$b>>2]|0:10;k[F>>2]=0;do if(k[ec>>2]|0){if(!(sg(k[ec>>2]|0,32707)|0)){k[F>>2]=1;break}if(!(sg(k[ec>>2]|0,32712)|0)){k[F>>2]=2;break}if(!(sg(k[ec>>2]|0,32720)|0))k[F>>2]=3}while(0);IC(k[bc>>2]|0,3,5408);k[(k[ac>>2]|0)+44>>2]=3;tx(k[bc>>2]|0,8,k[N>>2]|0,k[F>>2]|0,1)|0;sx(k[bc>>2]|0,87,1,3)|0;break a}case 35:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Jf(ac,Zi(k[ec>>2]|0)|0)|0}if((k[(k[cc>>2]|0)+224>>2]|0)==139)f=k[(k[cc>>2]|0)+228>>2]|0;else f=0;vC(k[bc>>2]|0,32729,f,((f|0)<0)<<31>>31);break a}case 27:{xf(k[cc>>2]|0)|0;break a}case 28:{if((k[ec>>2]|0)!=0?(Ri(k[ec>>2]|0,t)|0)==0:0){ac=t;Qd(k[ac>>2]|0,k[ac+4>>2]|0)|0}ac=k[bc>>2]|0;bc=Qd(-1,-1)|0;vC(ac,32756,bc,L);break a}case 34:{if((k[ec>>2]|0)!=0?(_b=(Ri(k[ec>>2]|0,u)|0)==0,ac=u,$b=k[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(k[ac>>2]|0)>>>0>=0)):0)Of(k[cc>>2]|0,11,k[u>>2]&2147483647)|0;ac=k[bc>>2]|0;bc=Of(k[cc>>2]|0,11,-1)|0;vC(ac,32772,bc,((bc|0)<0)<<31>>31);break a}default:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Ff(ac,Zi(k[ec>>2]|0)|0)|0}ac=k[(k[cc>>2]|0)+428>>2]|0;vC(k[bc>>2]|0,32748,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);bg(k[cc>>2]|0,k[dc>>2]|0);bg(k[cc>>2]|0,k[ec>>2]|0);r=fc;return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;t=w+24|0;s=w;d=w+108|0;e=w+104|0;f=w+100|0;o=w+96|0;v=w+92|0;g=w+88|0;p=w+64|0;h=w+56|0;j=w+48|0;q=w+44|0;u=w+40|0;m=w+36|0;l=w+32|0;n=w+28|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[(k[d>>2]|0)+444>>2];k[g>>2]=k[k[d>>2]>>2];k[(k[d>>2]|0)+444>>2]=0;do if((k[o>>2]|0)!=0?(k[(k[d>>2]|0)+36>>2]|0)==0:0){k[v>>2]=k[k[o>>2]>>2];b=Ph(k[k[d>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0)|0;k[h>>2]=b;k[(k[o>>2]|0)+28>>2]=k[e>>2];while(1){c=k[o>>2]|0;if(!(k[e>>2]|0))break;k[(k[e>>2]|0)+4>>2]=c;k[e>>2]=k[(k[e>>2]|0)+28>>2]}fz(j,k[c>>2]|0);mC(p,k[d>>2]|0,k[h>>2]|0,18664,j);if((rC(p,k[(k[o>>2]|0)+28>>2]|0)|0)==0?(pC(p,k[(k[o>>2]|0)+12>>2]|0)|0)==0:0){if(!(i[(k[g>>2]|0)+148+5>>0]|0)){p=nx(k[d>>2]|0)|0;k[q>>2]=p;if(!(k[q>>2]|0))break;Bx(k[d>>2]|0,0,k[h>>2]|0);p=gx(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,0)|0;k[u>>2]=p;p=k[d>>2]|0;a=(k[h>>2]|0)==1?19905:19924;b=k[v>>2]|0;f=k[(k[o>>2]|0)+4>>2]|0;j=k[u>>2]|0;k[s>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[s+4>>2]=a;k[s+8>>2]=b;k[s+12>>2]=f;k[s+16>>2]=j;mx(p,32010,s);bg(k[g>>2]|0,k[u>>2]|0);ox(k[d>>2]|0,k[h>>2]|0);q=k[q>>2]|0;s=k[h>>2]|0;u=k[g>>2]|0;k[t>>2]=k[v>>2];qx(q,s,Qh(u,32074,t)|0)}if(i[(k[g>>2]|0)+148+5>>0]|0){k[m>>2]=k[o>>2];k[l>>2]=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+40;v=ck(k[l>>2]|0,k[v>>2]|0,k[o>>2]|0)|0;k[o>>2]=v;if(k[o>>2]|0){wh(k[g>>2]|0);break}if((k[(k[m>>2]|0)+20>>2]|0)==(k[(k[m>>2]|0)+24>>2]|0)){v=Cj((k[(k[m>>2]|0)+24>>2]|0)+8|0,k[(k[m>>2]|0)+4>>2]|0)|0;k[n>>2]=v;k[(k[m>>2]|0)+32>>2]=k[(k[n>>2]|0)+60>>2];k[(k[n>>2]|0)+60>>2]=k[m>>2]}}}}while(0);_f(k[g>>2]|0,k[o>>2]|0);yv(k[g>>2]|0,k[e>>2]|0);r=w;return}function Jw(a,b,c,d,e,f,g,h,j,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;q=Q;I=Q+156|0;n=Q+152|0;o=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;p=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;k[I>>2]=a;k[n>>2]=b;k[o>>2]=c;k[x>>2]=d;k[y>>2]=e;k[J>>2]=f;k[K>>2]=g;k[L>>2]=h;k[z>>2]=j;k[A>>2]=m;k[O>>2]=0;k[P>>2]=0;k[M>>2]=k[k[I>>2]>>2];do if(k[z>>2]|0)if((k[(k[o>>2]|0)+4>>2]|0)>>>0<=0){k[N>>2]=1;k[D>>2]=k[n>>2];if(k[K>>2]|0){w=6;break}else break}else{Oh(k[I>>2]|0,31693,q);break}else{q=Yz(k[I>>2]|0,k[n>>2]|0,k[o>>2]|0,D)|0;k[N>>2]=q;if((k[N>>2]|0)>=0&(k[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(l[(k[M>>2]|0)+69>>0]|0)==0:0){if((k[N>>2]|0)!=1?(l[(k[M>>2]|0)+148+5>>0]|0)!=0:0){bg(k[M>>2]|0,k[(k[K>>2]|0)+8+4>>2]|0);k[(k[K>>2]|0)+8+4>>2]=0}w=lC(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(((l[(k[M>>2]|0)+148+5>>0]|0)==0?((k[E>>2]|0)!=0?(k[(k[o>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[E>>2]|0)+64>>2]|0)==(k[(k[(k[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[N>>2]=1;if((i[(k[M>>2]|0)+69>>0]|0)==0?(mC(p,k[I>>2]|0,k[N>>2]|0,18664,k[D>>2]|0),(nC(p,k[K>>2]|0)|0)==0):0){w=lC(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(!(k[E>>2]|0)){if((l[(k[M>>2]|0)+148+4>>0]|0)!=1)break;i[(k[M>>2]|0)+148+6>>0]=1;break}if(l[(k[E>>2]|0)+42>>0]&16){Oh(k[I>>2]|0,31739,s);break}w=bx(k[M>>2]|0,k[D>>2]|0)|0;k[P>>2]=w;if((k[P>>2]|0)!=0?0==(ay(k[I>>2]|0,k[P>>2]|0)|0):0){if(Cj((k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2]|0)+40|0,k[P>>2]|0)|0){n=k[I>>2]|0;if(k[A>>2]|0){Cx(n,k[N>>2]|0);break}else{k[F>>2]=k[D>>2];Oh(n,31780,F);break}}if(!(Jd(k[k[E>>2]>>2]|0,27844,7)|0)){Oh(k[I>>2]|0,31806,t);break}if((k[x>>2]|0)!=77?(k[(k[E>>2]|0)+12>>2]|0)!=0:0){N=k[I>>2]|0;H=k[K>>2]|0;k[u>>2]=(k[x>>2]|0)==63?31844:31851;k[u+4>>2]=H;k[u+8>>2]=0;Oh(N,31857,u);break}if((k[x>>2]|0)==77?(k[(k[E>>2]|0)+12>>2]|0)==0:0){N=k[I>>2]|0;k[v>>2]=k[K>>2];k[v+4>>2]=0;Oh(N,31894,v);break}F=Ph(k[M>>2]|0,k[(k[E>>2]|0)+64>>2]|0)|0;k[C>>2]=F;k[B>>2]=7;k[G>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[C>>2]<<4)>>2];if(k[z>>2]|0)n=k[(k[(k[M>>2]|0)+16>>2]|0)+16>>2]|0;else n=k[G>>2]|0;k[H>>2]=n;if((k[C>>2]|0)==1|(k[z>>2]|0)!=0)k[B>>2]=5;if((kx(k[I>>2]|0,k[B>>2]|0,k[P>>2]|0,k[k[E>>2]>>2]|0,k[H>>2]|0)|0)==0?(kx(k[I>>2]|0,18,(k[C>>2]|0)==1?19905:19924,0,k[G>>2]|0)|0)==0:0){if((k[x>>2]|0)==77)k[x>>2]=63;H=Ch(k[M>>2]|0,36,0)|0;k[O>>2]=H;if(!(k[O>>2]|0))break;k[k[O>>2]>>2]=k[P>>2];k[P>>2]=0;H=Ah(k[M>>2]|0,k[(k[K>>2]|0)+8+8>>2]|0)|0;k[(k[O>>2]|0)+4>>2]=H;k[(k[O>>2]|0)+20>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2];k[(k[O>>2]|0)+24>>2]=k[(k[E>>2]|0)+64>>2];i[(k[O>>2]|0)+8>>0]=k[y>>2];i[(k[O>>2]|0)+9>>0]=(k[x>>2]|0)==63?1:2;N=Sy(k[M>>2]|0,k[L>>2]|0,1)|0;k[(k[O>>2]|0)+12>>2]=N;N=Sz(k[M>>2]|0,k[J>>2]|0)|0;k[(k[O>>2]|0)+16>>2]=N;k[(k[I>>2]|0)+444>>2]=k[O>>2]}}}}while(0);bg(k[M>>2]|0,k[P>>2]|0);rv(k[M>>2]|0,k[K>>2]|0);uv(k[M>>2]|0,k[J>>2]|0);sv(k[M>>2]|0,k[L>>2]|0);if(k[(k[I>>2]|0)+444>>2]|0){r=Q;return}_f(k[M>>2]|0,k[O>>2]|0);r=Q;return}function Kw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;d=kC(k[f>>2]|0,110,k[n>>2]|0)|0;k[l>>2]=d;if(k[l>>2]|0){n=_y(k[f>>2]|0,k[g>>2]|0,1)|0;k[(k[l>>2]|0)+20>>2]=n;n=Sy(k[f>>2]|0,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+16>>2]=n;i[(k[l>>2]|0)+1>>0]=i[j>>0]|0}ov(k[f>>2]|0,k[g>>2]|0);sv(k[f>>2]|0,k[h>>2]|0);r=m;return k[l>>2]|0}function Lw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;a=kC(k[f>>2]|0,108,k[n>>2]|0)|0;k[l>>2]=a;a=k[f>>2]|0;if(k[l>>2]|0){n=iy(a,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+8>>2]=n;k[(k[l>>2]|0)+24>>2]=k[g>>2];i[(k[l>>2]|0)+1>>0]=i[j>>0]|0;j=k[f>>2]|0;n=k[h>>2]|0;pv(j,n);n=k[l>>2]|0;r=m;return n|0}else{uv(a,k[g>>2]|0);j=k[f>>2]|0;n=k[h>>2]|0;pv(j,n);n=k[l>>2]|0;r=m;return n|0}return 0}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=kC(k[d>>2]|0,109,k[h>>2]|0)|0;k[f>>2]=c;if(k[f>>2]|0){h=Sy(k[d>>2]|0,k[e>>2]|0,1)|0;k[(k[f>>2]|0)+16>>2]=h;i[(k[f>>2]|0)+1>>0]=10}sv(k[d>>2]|0,k[e>>2]|0);r=g;return k[f>>2]|0}function Nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=Ch(k[d>>2]|0,36,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){pv(k[d>>2]|0,k[e>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{i[k[f>>2]>>0]=119;k[(k[f>>2]|0)+8>>2]=k[e>>2];i[(k[f>>2]|0)+1>>0]=10;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;j=q+40|0;l=q+36|0;m=q+32|0;f=q+28|0;d=q+24|0;p=q+20|0;g=q+16|0;n=q+12|0;e=q+8|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[f>>2]=0;k[n>>2]=k[k[j>>2]>>2];if(i[(k[n>>2]|0)+69>>0]|0){o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}if(Uz(k[j>>2]|0)|0){o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}k[p>>2]=k[(k[l>>2]|0)+8+4>>2];k[g>>2]=k[(k[l>>2]|0)+8+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break;a=k[d>>2]|0;k[e>>2]=(k[d>>2]|0)<2?a^1:a;if(!((k[p>>2]|0)!=0?(sg(k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0,k[p>>2]|0)|0)!=0:0))h=7;if((h|0)==7?(h=0,a=Cj((k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+40|0,k[g>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0)break;k[d>>2]=(k[d>>2]|0)+1}if(k[f>>2]|0){iC(k[j>>2]|0,k[f>>2]|0);o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}d=k[j>>2]|0;if(k[m>>2]|0)hC(d,k[p>>2]|0);else{k[o>>2]=k[l>>2];k[o+4>>2]=0;Oh(d,31622,o)}i[(k[j>>2]|0)+17>>0]=1;o=k[n>>2]|0;p=k[l>>2]|0;rv(o,p);r=q;return}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;SB(k[i>>2]|0,24,4448,k[h>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function Qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;SB(k[e>>2]|0,25,4420,k[d>>2]|0,0,0,k[d>>2]|0);r=c;return}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;p=u+48|0;d=u+44|0;e=u+40|0;g=u+36|0;l=u+32|0;n=u+28|0;j=u+24|0;s=u+20|0;q=u+16|0;f=u+12|0;h=u+8|0;m=u+4|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[p>>2]>>2];if(Uz(k[p>>2]|0)|0){r=u;return}if(!(k[d>>2]|0)){uA(k[p>>2]|0,0);r=u;return}if(!((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0))o=6;do if((o|0)==6){o=bx(k[k[p>>2]>>2]|0,k[d>>2]|0)|0;k[m>>2]=o;if(!(k[m>>2]|0)){r=u;return}o=ak(k[f>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[m>>2]|0,0)|0;k[g>>2]=o;if(!(k[g>>2]|0)){bg(k[f>>2]|0,k[m>>2]|0);break}uA(k[p>>2]|0,k[m>>2]|0);bg(k[f>>2]|0,k[m>>2]|0);r=u;return}while(0);o=Yz(k[p>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[q>>2]=o;if((k[q>>2]|0)<0){r=u;return}o=bx(k[f>>2]|0,k[h>>2]|0)|0;k[l>>2]=o;if(!(k[l>>2]|0)){r=u;return}k[n>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[q>>2]<<4)>>2];o=Di(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[j>>2]=o;if(k[j>>2]|0){vA(k[p>>2]|0,k[j>>2]|0,0);bg(k[f>>2]|0,k[l>>2]|0);r=u;return}d=Uj(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[s>>2]=d;bg(k[f>>2]|0,k[l>>2]|0);d=k[p>>2]|0;if(k[s>>2]|0){Bx(d,0,k[q>>2]|0);wA(k[p>>2]|0,k[s>>2]|0,-1);r=u;return}else{Oh(d,31007,t);r=u;return}}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;l=q+32|0;g=q+28|0;f=q+24|0;p=q+20|0;i=q+16|0;n=q+12|0;m=q+8|0;h=q+4|0;o=q;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[l>>2]=k[k[j>>2]>>2];if(Uz(k[j>>2]|0)|0){r=q;return}a:do if(k[d>>2]|0){if(k[(k[e>>2]|0)+4>>2]|0){a=Yz(k[j>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[g>>2]=a;if((k[g>>2]|0)<0)break;k[i>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];h=bx(k[l>>2]|0,k[h>>2]|0)|0;k[p>>2]=h;if(!(k[p>>2]|0))break;h=Uj(k[l>>2]|0,k[p>>2]|0,k[i>>2]|0)|0;k[m>>2]=h;d=k[j>>2]|0;if(!h){m=Nh(d,0,k[p>>2]|0,k[i>>2]|0)|0;k[n>>2]=m;if(m)Xz(k[j>>2]|0,k[n>>2]|0,0)}else Xz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0);break}i=Wz(k[l>>2]|0,k[d>>2]|0)|0;k[g>>2]=i;if((k[g>>2]|0)>=0){Vz(k[j>>2]|0,k[g>>2]|0);break}i=bx(k[l>>2]|0,k[d>>2]|0)|0;k[p>>2]=i;if(k[p>>2]|0){i=Uj(k[l>>2]|0,k[p>>2]|0,0)|0;k[m>>2]=i;d=k[j>>2]|0;if(!i){m=Nh(d,0,k[p>>2]|0,0)|0;k[n>>2]=m;if(m)Xz(k[j>>2]|0,k[n>>2]|0,0)}else Xz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0)}}else{k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[l>>2]|0)+20>>2]|0))break a;if((k[f>>2]|0)!=1)Vz(k[j>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);p=nx(k[j>>2]|0)|0;k[o>>2]=p;if(!(k[o>>2]|0)){r=q;return}px(k[o>>2]|0,150)|0;r=q;return}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;e=E;f=E+172|0;g=E+168|0;d=E+164|0;m=E+160|0;A=E+156|0;q=E+152|0;B=E+148|0;h=E+144|0;n=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;j=E+116|0;o=E+112|0;p=E+108|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[B>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[D>>2]=0;k[s>>2]=0;k[t>>2]=k[(k[h>>2]|0)+24>>2];do if(((i[(k[h>>2]|0)+69>>0]|0)==0?(b=zx(k[f>>2]|0,0,(k[g>>2]|0)+8|0)|0,k[q>>2]=b,(k[q>>2]|0)!=0):0)?(b=Ph(k[k[f>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0,k[m>>2]=b,k[A>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+(k[m>>2]<<4)>>2],b=(k[h>>2]|0)+24|0,k[b>>2]=k[b>>2]|2097152,b=bx(k[h>>2]|0,k[d>>2]|0)|0,k[B>>2]=b,(k[B>>2]|0)!=0):0){if((Di(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0?(Uj(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0:0){if(Ax(k[f>>2]|0,k[k[q>>2]>>2]|0)|0)break;if(ay(k[f>>2]|0,k[B>>2]|0)|0)break;d=k[f>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){k[v>>2]=k[k[q>>2]>>2];Oh(d,28337,v);break}if(kx(d,26,k[A>>2]|0,k[k[q>>2]>>2]|0,0)|0)break;if(by(k[f>>2]|0,k[q>>2]|0)|0)break;if((l[(k[q>>2]|0)+42>>0]&16|0)!=0?(v=cy(k[h>>2]|0,k[q>>2]|0)|0,k[s>>2]=v,(k[(k[k[(k[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)k[s>>2]=0;v=nx(k[f>>2]|0)|0;k[u>>2]=v;if(!(k[u>>2]|0))break;Bx(k[f>>2]|0,(k[s>>2]|0)!=0&1,k[m>>2]|0);ox(k[f>>2]|0,k[m>>2]|0);if(k[s>>2]|0){e=(k[f>>2]|0)+44|0;v=(k[e>>2]|0)+1|0;k[e>>2]=v;k[j>>2]=v;rx(k[u>>2]|0,k[j>>2]|0,k[B>>2]|0)|0;wx(k[u>>2]|0,157,k[j>>2]|0,0,0,k[s>>2]|0,-10)|0;dy(k[f>>2]|0)}k[C>>2]=k[k[q>>2]>>2];v=ey(k[C>>2]|0,-1)|0;k[n>>2]=v;if((k[(k[h>>2]|0)+24>>2]&524288|0)!=0?(v=fy(k[f>>2]|0,k[q>>2]|0)|0,k[D>>2]=v,(v|0)!=0):0){v=k[f>>2]|0;e=(k[m>>2]|0)==1?19905:19924;j=k[C>>2]|0;s=k[B>>2]|0;u=k[D>>2]|0;k[z>>2]=k[A>>2];k[z+4>>2]=e;k[z+8>>2]=j;k[z+12>>2]=s;k[z+16>>2]=u;mx(v,28364,z);bg(k[h>>2]|0,k[D>>2]|0)}z=k[f>>2]|0;b=(k[m>>2]|0)==1?19905:19924;e=k[B>>2]|0;j=k[B>>2]|0;m=k[B>>2]|0;s=k[B>>2]|0;u=k[B>>2]|0;v=k[n>>2]|0;C=k[C>>2]|0;k[w>>2]=k[A>>2];k[w+4>>2]=b;k[w+8>>2]=e;k[w+12>>2]=j;k[w+16>>2]=m;k[w+20>>2]=s;k[w+24>>2]=u;k[w+28>>2]=v;k[w+32>>2]=C;mx(z,28433,w);if(Di(k[h>>2]|0,28817,k[A>>2]|0)|0){C=k[f>>2]|0;w=k[B>>2]|0;z=k[k[q>>2]>>2]|0;k[x>>2]=k[A>>2];k[x+4>>2]=w;k[x+8>>2]=z;mx(C,28833,x)}C=Kx(k[f>>2]|0,k[q>>2]|0)|0;k[D>>2]=C;if(C){C=k[f>>2]|0;z=k[B>>2]|0;A=k[D>>2]|0;k[y>>2]=k[B>>2];k[y+4>>2]=z;k[y+8>>2]=A;mx(C,28891,y);bg(k[h>>2]|0,k[D>>2]|0)}a:do if(k[(k[h>>2]|0)+24>>2]&524288){D=gy(k[q>>2]|0)|0;k[o>>2]=D;while(1){if(!(k[o>>2]|0))break a;k[p>>2]=k[k[o>>2]>>2];if((k[p>>2]|0)!=(k[q>>2]|0))Ix(k[f>>2]|0,k[k[o>>2]>>2]|0,k[k[p>>2]>>2]|0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}}while(0);Ix(k[f>>2]|0,k[q>>2]|0,k[B>>2]|0);break}D=k[f>>2]|0;k[e>>2]=k[B>>2];Oh(D,28278,e)}while(0);rv(k[h>>2]|0,k[g>>2]|0);bg(k[h>>2]|0,k[B>>2]|0);k[(k[h>>2]|0)+24>>2]=k[t>>2];r=E;return}function Uw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+144|0;w=E+40|0;v=E+32|0;z=E+24|0;y=E+16|0;x=E+8|0;u=E;c=E+128|0;d=E+124|0;m=E+120|0;n=E+116|0;f=E+112|0;B=E+108|0;D=E+104|0;A=E+100|0;g=E+96|0;h=E+92|0;e=E+88|0;t=E+84|0;p=E+80|0;o=E+76|0;q=E+72|0;C=E+68|0;s=E+64|0;k[c>>2]=a;k[d>>2]=b;k[t>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[k[c>>2]>>2];if(k[(k[c>>2]|0)+36>>2]|0){r=E;return}if(l[(k[e>>2]|0)+69>>0]|0){r=E;return}k[m>>2]=k[(k[c>>2]|0)+440>>2];a=Ph(k[e>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[f>>2]=a;k[B>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[D>>2]=(k[k[m>>2]>>2]|0)+16;k[g>>2]=(k[(k[m>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+34>>1]|0)-1<<4);k[h>>2]=k[(k[g>>2]|0)+4>>2];a=Di(k[e>>2]|0,k[D>>2]|0,k[B>>2]|0)|0;k[n>>2]=a;if(kx(k[c>>2]|0,26,k[B>>2]|0,k[k[n>>2]>>2]|0,0)|0){r=E;return}if((k[h>>2]|0)!=0?(l[k[(k[h>>2]|0)+12>>2]>>0]|0)==101:0)k[h>>2]=0;if(l[(k[g>>2]|0)+15>>0]&1){Oh(k[c>>2]|0,27880,u);r=E;return}if(k[(k[m>>2]|0)+8>>2]|0){Oh(k[c>>2]|0,27912,x);r=E;return}if((k[(k[e>>2]|0)+24>>2]&524288|0)!=0?((k[h>>2]|0)!=0?(k[(k[m>>2]|0)+16>>2]|0)!=0:0):0){Oh(k[c>>2]|0,27939,y);r=E;return}if(!((k[h>>2]|0)!=0?1:(l[(k[g>>2]|0)+12>>0]|0)==0)){Oh(k[c>>2]|0,27998,z);r=E;return}do if(k[h>>2]|0){k[o>>2]=0;z=Ex(k[e>>2]|0,k[h>>2]|0,1,65,o)|0;k[q>>2]=z;if(k[q>>2]|0){r=E;return}if(k[o>>2]|0){mh(k[o>>2]|0);break}Oh(k[c>>2]|0,28051,v);r=E;return}while(0);z=gx(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[A>>2]=z;if(k[A>>2]|0){k[C>>2]=(k[A>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)-1);k[s>>2]=k[(k[e>>2]|0)+24>>2];while(1){if((k[C>>2]|0)>>>0<=(k[A>>2]|0)>>>0)break;if((i[k[C>>2]>>0]|0)!=59?(l[18403+(l[k[C>>2]>>0]|0)>>0]&1|0)==0:0)break;z=k[C>>2]|0;k[C>>2]=z+-1;i[z>>0]=0}C=(k[e>>2]|0)+24|0;k[C>>2]=k[C>>2]|2097152;C=k[c>>2]|0;v=(k[f>>2]|0)==1?19905:19924;x=k[(k[m>>2]|0)+44>>2]|0;y=k[A>>2]|0;z=(k[(k[m>>2]|0)+44>>2]|0)+1|0;D=k[D>>2]|0;k[w>>2]=k[B>>2];k[w+4>>2]=v;k[w+8>>2]=x;k[w+12>>2]=y;k[w+16>>2]=z;k[w+20>>2]=D;mx(C,28097,w);bg(k[e>>2]|0,k[A>>2]|0);k[(k[e>>2]|0)+24>>2]=k[s>>2]}C=Fx(k[c>>2]|0)|0;k[p>>2]=C;tx(k[t>>2]|0,101,k[f>>2]|0,k[p>>2]|0,2)|0;Vh(k[t>>2]|0,k[f>>2]|0);sx(k[t>>2]|0,91,k[p>>2]|0,-2)|0;C=k[t>>2]|0;D=k[p>>2]|0;sx(C,66,D,(Gx(k[t>>2]|0)|0)+2|0)|0;tx(k[t>>2]|0,102,k[f>>2]|0,2,3)|0;Hx(k[c>>2]|0,k[p>>2]|0);Ix(k[c>>2]|0,k[n>>2]|0,k[k[n>>2]>>2]|0);r=E;return}function Vw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u+16|0;s=u+8|0;c=u;d=u+56|0;e=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;h=u+36|0;g=u+32|0;m=u+28|0;f=u+24|0;n=u+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];do if((i[(k[f>>2]|0)+69>>0]|0)==0?(b=zx(k[d>>2]|0,0,(k[e>>2]|0)+8|0)|0,k[p>>2]=b,(k[p>>2]|0)!=0):0){if(l[(k[p>>2]|0)+42>>0]&16){Oh(k[d>>2]|0,27691,c);break}a=k[d>>2]|0;if(k[(k[p>>2]|0)+12>>2]|0){Oh(a,27725,s);break}if(((0==(Ax(a,k[k[p>>2]>>2]|0)|0)?(s=Ph(k[f>>2]|0,k[(k[p>>2]|0)+64>>2]|0)|0,k[h>>2]=s,s=Ch(k[f>>2]|0,72,0)|0,k[o>>2]=s,(k[o>>2]|0)!=0):0)?(k[(k[d>>2]|0)+440>>2]=k[o>>2],j[(k[o>>2]|0)+36>>1]=1,j[(k[o>>2]|0)+34>>1]=j[(k[p>>2]|0)+34>>1]|0,k[m>>2]=((((j[(k[o>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=Ch(k[f>>2]|0,k[m>>2]<<4,0)|0,k[(k[o>>2]|0)+4>>2]=s,s=k[f>>2]|0,k[t>>2]=k[k[p>>2]>>2],t=Qh(s,27755,t)|0,k[k[o>>2]>>2]=t,(k[(k[o>>2]|0)+4>>2]|0)!=0):0)?(k[k[o>>2]>>2]|0)!=0:0){bS(k[(k[o>>2]|0)+4>>2]|0,k[(k[p>>2]|0)+4>>2]|0,j[(k[o>>2]|0)+34>>1]<<4|0)|0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[o>>2]|0)+34>>1]|0))break;k[n>>2]=(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4);t=Ah(k[f>>2]|0,k[k[n>>2]>>2]|0)|0;k[k[n>>2]>>2]=t;k[(k[n>>2]|0)+8>>2]=0;k[(k[n>>2]|0)+4>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[(k[o>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[o>>2]|0)+44>>2]=k[(k[p>>2]|0)+44>>2];j[(k[o>>2]|0)+36>>1]=1;Bx(k[d>>2]|0,0,k[h>>2]|0);t=nx(k[d>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0)ox(k[d>>2]|0,k[h>>2]|0)}}while(0);rv(k[f>>2]|0,k[e>>2]|0);r=u;return}function Ww(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+96|0;p=u+32|0;o=u+8|0;n=u;c=u+80|0;d=u+76|0;l=u+72|0;e=u+68|0;s=u+64|0;t=u+60|0;f=u+56|0;g=u+52|0;m=u+48|0;h=u+44|0;j=u+40|0;q=u+36|0;k[c>>2]=a;k[d>>2]=b;k[l>>2]=k[(k[c>>2]|0)+440>>2];k[e>>2]=k[k[c>>2]>>2];if(!(k[l>>2]|0)){r=u;return}ix(k[c>>2]|0);k[(k[c>>2]|0)+452>>2]=0;if((k[(k[l>>2]|0)+48>>2]|0)<1){r=u;return}if(!(i[(k[e>>2]|0)+148+5>>0]|0)){if(k[d>>2]|0)k[(k[c>>2]|0)+384+4>>2]=(k[k[d>>2]>>2]|0)-(k[(k[c>>2]|0)+384>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);q=k[e>>2]|0;k[n>>2]=(k[c>>2]|0)+384;q=Qh(q,27552,n)|0;k[s>>2]=q;q=Ph(k[e>>2]|0,k[(k[l>>2]|0)+64>>2]|0)|0;k[f>>2]=q;q=k[c>>2]|0;b=(k[f>>2]|0)==1?19905:19924;h=k[k[l>>2]>>2]|0;a=k[k[l>>2]>>2]|0;j=k[s>>2]|0;n=k[(k[c>>2]|0)+100>>2]|0;k[o>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[o+4>>2]=b;k[o+8>>2]=h;k[o+12>>2]=a;k[o+16>>2]=j;k[o+20>>2]=n;mx(q,27576,o);bg(k[e>>2]|0,k[s>>2]|0);s=nx(k[c>>2]|0)|0;k[m>>2]=s;ox(k[c>>2]|0,k[f>>2]|0);px(k[m>>2]|0,150)|0;s=k[e>>2]|0;k[p>>2]=k[k[l>>2]>>2];s=Qh(s,27664,p)|0;k[t>>2]=s;qx(k[m>>2]|0,k[f>>2]|0,k[t>>2]|0);s=(k[c>>2]|0)+44|0;t=(k[s>>2]|0)+1|0;k[s>>2]=t;k[g>>2]=t;rx(k[m>>2]|0,k[g>>2]|0,k[k[l>>2]>>2]|0)|0;sx(k[m>>2]|0,153,k[f>>2]|0,k[g>>2]|0)|0;r=u;return}k[j>>2]=k[(k[l>>2]|0)+64>>2];k[q>>2]=k[k[l>>2]>>2];t=ck((k[j>>2]|0)+8|0,k[q>>2]|0,k[l>>2]|0)|0;k[h>>2]=t;if(k[h>>2]|0){wh(k[e>>2]|0);r=u;return}else{k[(k[c>>2]|0)+440>>2]=0;r=u;return}}function Xw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+32|0;f=n+28|0;q=n+24|0;p=n+20|0;g=n+16|0;o=n+12|0;j=n+8|0;m=n+4|0;h=n;k[f>>2]=a;k[q>>2]=b;k[p>>2]=c;k[g>>2]=d;k[o>>2]=e;Jv(k[f>>2]|0,k[q>>2]|0,k[p>>2]|0,0,0,1,k[o>>2]|0);k[m>>2]=k[(k[f>>2]|0)+440>>2];if(!(k[m>>2]|0)){r=n;return}k[h>>2]=k[k[f>>2]>>2];q=Ph(k[h>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[j>>2]=q;q=(k[m>>2]|0)+42|0;i[q>>0]=l[q>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;q=k[h>>2]|0;p=k[m>>2]|0;jx(q,p,bx(k[h>>2]|0,k[g>>2]|0)|0);jx(k[h>>2]|0,k[m>>2]|0,0);p=k[h>>2]|0;q=k[m>>2]|0;jx(p,q,Ah(k[h>>2]|0,k[k[m>>2]>>2]|0)|0);k[(k[f>>2]|0)+384+4>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)-(k[(k[f>>2]|0)+384>>2]|0);if(!(k[(k[m>>2]|0)+52>>2]|0)){r=n;return}kx(k[f>>2]|0,29,k[k[m>>2]>>2]|0,k[k[(k[m>>2]|0)+52>>2]>>2]|0,k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2]|0)|0;r=n;return}function Yw(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;ix(k[c>>2]|0);k[(k[c>>2]|0)+452>>2]=0;k[(k[c>>2]|0)+452+4>>2]=0;r=b;return}function Zw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=(k[f>>2]|0)+452;b=k[c>>2]|0;if(!(k[k[d>>2]>>2]|0)){k[k[d>>2]>>2]=k[b>>2];k[(k[d>>2]|0)+4>>2]=k[(k[c>>2]|0)+4>>2];r=e;return}else{k[(k[d>>2]|0)+4>>2]=(k[k[c>>2]>>2]|0)+(k[b+4>>2]|0)-(k[k[d>>2]>>2]|0);r=e;return}}function _w(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;p=s;f=s+40|0;g=s+36|0;t=s+32|0;h=s+28|0;j=s+24|0;l=s+20|0;o=s+16|0;q=s+12|0;m=s+8|0;n=s+4|0;k[f>>2]=a;k[g>>2]=b;k[t>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=k[k[f>>2]>>2];b=bx(k[k[f>>2]>>2]|0,k[t>>2]|0)|0;k[q>>2]=b;a:do if((k[q>>2]|0)!=0&(k[g>>2]|0)!=0){k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[g>>2]>>2]|0))break a;if(!(sg(k[q>>2]|0,k[(k[g>>2]|0)+8+(k[m>>2]<<4)>>2]|0)|0)){t=k[f>>2]|0;k[p>>2]=k[q>>2];Oh(t,27484,p)}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[g>>2]|0){k[n>>2]=24+(k[k[g>>2]>>2]<<4);t=k[n>>2]|0;t=cx(k[l>>2]|0,k[g>>2]|0,t,((t|0)<0)<<31>>31)|0;k[o>>2]=t}else{t=Ch(k[l>>2]|0,24,0)|0;k[o>>2]=t}if(i[(k[l>>2]|0)+69>>0]|0){ov(k[l>>2]|0,k[h>>2]|0);pv(k[l>>2]|0,k[j>>2]|0);bg(k[l>>2]|0,k[q>>2]|0);k[o>>2]=k[g>>2];t=k[o>>2]|0;r=s;return t|0}else{k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+8>>2]=k[j>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+4>>2]=k[h>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)>>2]=k[q>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+12>>2]=0;t=k[o>>2]|0;k[t>>2]=(k[t>>2]|0)+1;t=k[o>>2]|0;r=s;return t|0}return 0}function $w(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d+8|0;c=d;k[f>>2]=a;i[e>>0]=b;k[c>>2]=j[10806+(k[f>>2]<<1)>>1];k[c>>2]=(k[c>>2]|0)+(l[e>>0]|0);r=d;return m[11456+(k[c>>2]<<1)>>1]|0}function ax(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=k[d>>2];r=b;return}function bx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=gx(k[c>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[e>>2]=b;hx(k[e>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;c=k[f>>2]|0;if(!(k[g>>2]|0)){h=dx(c,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}if((vu(c,k[g>>2]|0)|0)!=0?(b=h,a=k[b+4>>2]|0,a>>>0<0|((a|0)==0?(k[b>>2]|0)>>>0<=(m[(k[f>>2]|0)+256+4>>1]|0)>>>0:0)):0){k[e>>2]=k[g>>2];h=k[e>>2]|0;r=i;return h|0}h=ex(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;do if(k[(k[e>>2]|0)+256>>2]|0){if(i[(k[e>>2]|0)+69>>0]|0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}}else{a=f;c=k[a+4>>2]|0;b=(k[e>>2]|0)+256|0;if(c>>>0>0|((c|0)==0?(k[a>>2]|0)>>>0>(m[(k[e>>2]|0)+256+4>>1]|0)>>>0:0)){g=b+16+4|0;k[g>>2]=(k[g>>2]|0)+1;break}a=k[b+28>>2]|0;k[g>>2]=a;if(!a){g=(k[e>>2]|0)+256+16+8|0;k[g>>2]=(k[g>>2]|0)+1;break}k[(k[e>>2]|0)+256+28>>2]=k[k[g>>2]>>2];f=(k[e>>2]|0)+256+8|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[e>>2]|0)+256+16|0;k[f>>2]=(k[f>>2]|0)+1;if((k[(k[e>>2]|0)+256+8>>2]|0)>(k[(k[e>>2]|0)+256+12>>2]|0))k[(k[e>>2]|0)+256+12>>2]=k[(k[e>>2]|0)+256+8>>2];k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}while(0);g=f;g=fx(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}function ex(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;k[h>>2]=0;if(l[(k[e>>2]|0)+69>>0]|0){h=k[h>>2]|0;r=i;return h|0}if(vu(k[e>>2]|0,k[f>>2]|0)|0){b=g;b=dx(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=k[h>>2]|0;r=i;return h|0}bS(k[h>>2]|0,k[f>>2]|0,m[(k[e>>2]|0)+256+4>>1]|0|0)|0;bg(k[e>>2]|0,k[f>>2]|0);h=k[h>>2]|0;r=i;return h|0}else{b=g;b=Wd(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}wh(k[e>>2]|0);h=k[h>>2]|0;r=i;return h|0}return 0}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f;e=f+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=g;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}wh(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}function gx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l;j=l+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;if(!(k[g>>2]|0)){k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}a=k[f>>2]|0;b=h;b=$R(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;b=dx(a,b,L)|0;k[j>>2]=b;if(k[j>>2]|0){bS(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;i[(k[j>>2]|0)+(k[h>>2]|0)>>0]=0}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=l;return j|0}function hx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+8|0;e=f+12|0;c=f+4|0;d=f;k[b>>2]=a;if(!(k[b>>2]|0)){r=f;return}i[e>>0]=i[k[b>>2]>>0]|0;if(!(l[18403+(l[e>>0]|0)>>0]&128)){r=f;return}if((i[e>>0]|0)==91)i[e>>0]=93;k[c>>2]=1;k[d>>2]=0;while(1){a=k[c>>2]|0;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==(i[e>>0]|0)){if((i[(k[b>>2]|0)+(a+1)>>0]|0)!=(i[e>>0]|0))break;g=i[e>>0]|0;a=k[d>>2]|0;k[d>>2]=a+1;i[(k[b>>2]|0)+a>>0]=g;k[c>>2]=(k[c>>2]|0)+1}else{a=i[(k[b>>2]|0)+a>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[(k[b>>2]|0)+g>>0]=a}k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+(k[d>>2]|0)>>0]=0;r=f;return}function ix(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;if(!(k[(k[b>>2]|0)+452>>2]|0)){r=f;return}if(!(k[(k[b>>2]|0)+440>>2]|0)){r=f;return}k[e>>2]=k[(k[b>>2]|0)+452>>2];k[d>>2]=k[(k[b>>2]|0)+452+4>>2];k[c>>2]=k[k[b>>2]>>2];g=k[c>>2]|0;b=k[(k[b>>2]|0)+440>>2]|0;a=k[d>>2]|0;jx(g,b,gx(k[c>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0);r=f;return}function jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=2+(k[(k[e>>2]|0)+48>>2]|0)<<2;c=k[j>>2]|0;c=cx(k[d>>2]|0,k[(k[e>>2]|0)+52>>2]|0,c,((c|0)<0)<<31>>31)|0;k[g>>2]=c;if(!(k[g>>2]|0)){bg(k[d>>2]|0,k[f>>2]|0);r=i;return}else{c=(k[e>>2]|0)+48|0;j=k[c>>2]|0;k[c>>2]=j+1;k[h>>2]=j;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[f>>2];k[(k[g>>2]|0)+((k[h>>2]|0)+1<<2)>>2]=0;k[(k[e>>2]|0)+52>>2]=k[g>>2];r=i;return}}function kx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=k[k[g>>2]>>2];if((l[(k[n>>2]|0)+148+5>>0]|0|0)==0?(l[(k[g>>2]|0)+410>>0]|0|0)==0:0){if(!(k[(k[n>>2]|0)+296>>2]|0)){k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}e=ac[k[(k[n>>2]|0)+296>>2]&255](k[(k[n>>2]|0)+300>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+448>>2]|0)|0;k[o>>2]=e;if((k[o>>2]|0)!=1){if((k[o>>2]|0)!=0&(k[o>>2]|0)!=2){k[o>>2]=1;lx(k[g>>2]|0)}}else{Oh(k[g>>2]|0,27514,p);k[(k[g>>2]|0)+12>>2]=23}k[f>>2]=k[o>>2];e=k[f>>2]|0;r=q;return e|0}k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}function lx(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b+4|0;k[c>>2]=a;Oh(k[c>>2]|0,27529,b);k[(k[c>>2]|0)+12>>2]=1;r=b;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+128|0;f=m+36|0;d=m+32|0;e=m+16|0;l=m+8|0;j=m+4|0;g=m;h=m+40|0;k[f>>2]=a;k[d>>2]=b;k[j>>2]=0;k[g>>2]=k[k[f>>2]>>2];if(k[(k[f>>2]|0)+36>>2]|0){r=m;return}k[e>>2]=c;b=yx(k[g>>2]|0,k[d>>2]|0,e)|0;k[l>>2]=b;if(!(k[l>>2]|0)){r=m;return}d=(k[f>>2]|0)+18|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24;d=h;e=(k[f>>2]|0)+400|0;a=d+80|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));d=(k[f>>2]|0)+400|0;a=d+80|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(a|0));gi(k[f>>2]|0,k[l>>2]|0,j)|0;bg(k[g>>2]|0,k[j>>2]|0);bg(k[g>>2]|0,k[l>>2]|0);d=(k[f>>2]|0)+400|0;e=h;a=d+80|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));l=(k[f>>2]|0)+18|0;i[l>>0]=(i[l>>0]|0)+-1<<24>>24;r=m;return}function nx(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}else{c=xx(k[b>>2]|0)|0;r=d;return c|0}return 0}function ox(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;g=c+12|0;d=c+8|0;e=c+4|0;f=c;k[g>>2]=a;k[d>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];tx(k[f>>2]|0,102,k[d>>2]|0,1,(k[k[(k[(k[e>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]>>2]|0)+1|0)|0;r=c;return}function px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=tx(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return a|0}function qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;wx(k[d>>2]|0,136,k[h>>2]|0,0,0,k[g>>2]|0,-1)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[k[d>>2]>>2]|0)+20>>2]|0))break;Vh(k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=wx(k[g>>2]|0,97,0,k[f>>2]|0,0,k[e>>2]|0,0)|0;r=d;return c|0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=tx(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return d|0}function tx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=k[(k[g>>2]|0)+136>>2];b=k[g>>2]|0;if((k[(k[(k[g>>2]|0)+12>>2]|0)+48>>2]|0)<=(k[n>>2]|0)){o=ux(b,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[f>>2]=o;o=k[f>>2]|0;r=p;return o|0}else{e=b+136|0;k[e>>2]=(k[e>>2]|0)+1;k[o>>2]=(k[(k[g>>2]|0)+88>>2]|0)+((k[n>>2]|0)*20|0);i[k[o>>2]>>0]=k[h>>2];i[(k[o>>2]|0)+3>>0]=0;k[(k[o>>2]|0)+4>>2]=k[j>>2];k[(k[o>>2]|0)+8>>2]=k[l>>2];k[(k[o>>2]|0)+12>>2]=k[m>>2];k[(k[o>>2]|0)+16>>2]=0;i[(k[o>>2]|0)+1>>0]=0;k[f>>2]=k[n>>2];o=k[f>>2]|0;r=p;return o|0}return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;if(vx(k[g>>2]|0,1)|0){k[f>>2]=1;e=k[f>>2]|0;r=m;return e|0}else{e=tx(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[f>>2]=e;e=k[f>>2]|0;r=m;return e|0}return 0}function vx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[g+12>>2]=b;k[e>>2]=k[(k[c>>2]|0)+12>>2];if(k[(k[e>>2]|0)+48>>2]|0)b=k[(k[e>>2]|0)+48>>2]<<1;else b=51;k[d>>2]=b;d=cx(k[k[e>>2]>>2]|0,k[(k[c>>2]|0)+88>>2]|0,(k[d>>2]|0)*20|0,0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}d=uu(k[k[e>>2]>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+52>>2]=d;k[(k[e>>2]|0)+48>>2]=((k[(k[e>>2]|0)+52>>2]|0)>>>0)/20|0;k[(k[c>>2]|0)+88>>2]=k[f>>2];f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}function wx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;i=r;r=r+32|0;m=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;l=i+8|0;j=i+4|0;h=i;k[m>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[l>>2]=f;k[j>>2]=g;f=tx(k[m>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[h>>2]=f;Wh(k[m>>2]|0,k[h>>2]|0,k[l>>2]|0,k[j>>2]|0);r=i;return k[h>>2]|0}function xx(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Rh(k[b>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a;k[c>>2]=a;if(k[c>>2]|0)sx(k[c>>2]|0,71,0,1)|0;if(k[(k[b>>2]|0)+124>>2]|0){c=k[c>>2]|0;r=d;return c|0}if((m[(k[k[b>>2]>>2]|0)+64>>1]|0)&8){c=k[c>>2]|0;r=d;return c|0}i[(k[b>>2]|0)+23>>0]=1;c=k[c>>2]|0;r=d;return c|0}function yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=r;r=r+128|0;d=f+40|0;j=f+36|0;h=f+32|0;e=f+28|0;g=f;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;ng(g,k[d>>2]|0,f+44|0,70,k[(k[d>>2]|0)+96>>2]|0);i[g+25>>0]=1;og(g,k[j>>2]|0,k[h>>2]|0);b=pg(g)|0;k[e>>2]=b;if((l[g+24>>0]|0|0)!=1){j=k[e>>2]|0;r=f;return j|0}wh(k[d>>2]|0);j=k[e>>2]|0;r=f;return j|0}function zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){a=Ph(k[k[d>>2]>>2]|0,k[k[f>>2]>>2]|0)|0;k[g>>2]=a;k[h>>2]=k[(k[(k[k[d>>2]>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]}else k[h>>2]=k[(k[f>>2]|0)+4>>2];h=Nh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[h>>2]|0)|0;r=i;return h|0}function Ax(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((Tf(k[e>>2]|0)|0)>6?0==(Jd(k[e>>2]|0,27844,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Oh(b,27852,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)c=k[c+124>>2]|0;k[g>>2]=c;Cx(k[d>>2]|0,k[f>>2]|0);d=(k[g>>2]|0)+92|0;k[d>>2]=k[d>>2]|1<>2];g=(k[g>>2]|0)+20|0;i[g>>0]=l[g>>0]|0|k[e>>2];r=h;return}function Cx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;b=k[f>>2]|0;if(k[(k[f>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[d>>2]=b;if((k[(k[d>>2]|0)+96>>2]&1<>2]|0)!=0|0){r=e;return}f=(k[d>>2]|0)+96|0;k[f>>2]=k[f>>2]|1<>2];if((k[c>>2]|0)!=1){r=e;return}Dx(k[d>>2]|0)|0;r=e;return}function Dx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];if((k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(i[(k[c>>2]|0)+409>>0]|0)==0:0){a=lk(k[k[d>>2]>>2]|0,0,k[d>>2]|0,e,0,542)|0;k[f>>2]=a;if(k[f>>2]|0){Oh(k[c>>2]|0,27774,g);k[(k[c>>2]|0)+12>>2]=k[f>>2];k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=k[e>>2];if(7==(Mi(k[e>>2]|0,k[(k[d>>2]|0)+80>>2]|0,-1,0)|0)){wh(k[d>>2]|0);k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}}k[b>>2]=0;g=k[b>>2]|0;r=h;return g|0}function Ex(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;f=m+8|0;g=m+4|0;h=m+13|0;j=m+12|0;l=m;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[g>>2]|0)){e=0;r=m;return e|0}e=Mx(k[f>>2]|0,k[g>>2]|0,i[h>>0]|0,i[j>>0]|0,k[l>>2]|0,0)|0;r=m;return e|0}function Fx(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;if(!(l[(k[c>>2]|0)+19>>0]|0)){a=a+44|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}else{e=a+19|0;a=(i[e>>0]|0)+-1<<24>>24;i[e>>0]=a;k[b>>2]=k[(k[c>>2]|0)+352+((a&255)<<2)>>2];c=k[b>>2]|0;r=d;return c|0}return 0}function Gx(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+136>>2]|0}function Hx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){r=g;return}if((l[(k[d>>2]|0)+19>>0]|0|0)>=8){r=g;return}k[c>>2]=0;k[f>>2]=(k[d>>2]|0)+152;while(1){if((k[c>>2]|0)>=(l[(k[d>>2]|0)+25>>0]|0|0)){c=8;break}if((k[(k[f>>2]|0)+12>>2]|0)==(k[e>>2]|0)){c=6;break}k[c>>2]=(k[c>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){i[(k[f>>2]|0)+6>>0]=1;r=g;return}else if((c|0)==8){e=k[e>>2]|0;a=(k[d>>2]|0)+19|0;f=i[a>>0]|0;i[a>>0]=f+1<<24>>24;k[(k[d>>2]|0)+352+((f&255)<<2)>>2]=e;r=g;return}}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;d=n+32|0;e=n+28|0;f=n+24|0;j=n+20|0;m=n+16|0;g=n+12|0;i=n+8|0;h=n+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=nx(k[d>>2]|0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){r=n;return}c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;c=Jx(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=c;while(1){if(!(k[i>>2]|0))break;c=Ph(k[k[d>>2]>>2]|0,k[(k[i>>2]|0)+20>>2]|0)|0;k[h>>2]=c;wx(k[j>>2]|0,140,k[h>>2]|0,0,0,k[k[i>>2]>>2]|0,0)|0;k[i>>2]=k[(k[i>>2]|0)+32>>2]}wx(k[j>>2]|0,138,k[g>>2]|0,0,0,k[k[e>>2]>>2]|0,0)|0;c=k[k[d>>2]>>2]|0;k[l>>2]=k[f>>2];c=Qh(c,28206,l)|0;k[m>>2]=c;if(!(k[m>>2]|0)){r=n;return}qx(k[j>>2]|0,k[g>>2]|0,k[m>>2]|0);c=Kx(k[d>>2]|0,k[e>>2]|0)|0;k[m>>2]=c;if(!c){r=n;return}qx(k[j>>2]|0,1,k[m>>2]|0);r=n;return}function Jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;h=j+24|0;l=j+20|0;d=j+16|0;c=j+12|0;f=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[d>>2]=b;k[c>>2]=k[(k[(k[k[l>>2]>>2]|0)+16>>2]|0)+16+12>>2];k[f>>2]=0;if(i[(k[l>>2]|0)+150>>0]|0){k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}a:do if((k[c>>2]|0)!=(k[(k[d>>2]|0)+64>>2]|0)){k[e>>2]=k[(k[c>>2]|0)+40+8>>2];while(1){if(!(k[e>>2]|0))break a;k[g>>2]=k[(k[e>>2]|0)+8>>2];if((k[(k[g>>2]|0)+24>>2]|0)==(k[(k[d>>2]|0)+64>>2]|0)?0==(sg(k[(k[g>>2]|0)+4>>2]|0,k[k[d>>2]>>2]|0)|0):0){if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[(k[g>>2]|0)+32>>2]=a;k[f>>2]=k[g>>2]}k[e>>2]=k[k[e>>2]>>2]}}while(0);if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[h>>2]=a;l=k[h>>2]|0;r=j;return l|0}function Kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l;c=l+28|0;d=l+24|0;g=l+20|0;j=l+16|0;f=l+12|0;e=l+8|0;i=l+4|0;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;k[f>>2]=k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((k[(k[d>>2]|0)+64>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[k[c>>2]>>2];b=Jx(k[c>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break a;if((k[(k[g>>2]|0)+20>>2]|0)==(k[f>>2]|0)){b=Lx(k[e>>2]|0,k[j>>2]|0,k[k[g>>2]>>2]|0)|0;k[j>>2]=b}k[g>>2]=k[(k[g>>2]|0)+32>>2]}}while(0);if(!(k[j>>2]|0)){j=k[j>>2]|0;r=l;return j|0}g=k[k[c>>2]>>2]|0;k[h>>2]=k[j>>2];h=Qh(g,28218,h)|0;k[i>>2]=h;bg(k[k[c>>2]>>2]|0,k[j>>2]|0);k[j>>2]=k[i>>2];j=k[j>>2]|0;r=l;return j|0}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+8|0;g=j;d=j+28|0;e=j+24|0;f=j+20|0;i=j+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if(k[e>>2]|0){g=k[f>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=g;h=Qh(a,28250,h)|0;k[i>>2]=h;bg(k[d>>2]|0,k[e>>2]|0);i=k[i>>2]|0;r=j;return i|0}else{k[g>>2]=k[f>>2];h=Qh(a,28242,g)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}return 0}function Mx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;t=D;z=D+52|0;v=D+48|0;g=D+44|0;x=D+58|0;y=D+57|0;A=D+40|0;h=D+36|0;s=D+32|0;w=D+28|0;B=D+24|0;q=D+20|0;u=D+16|0;C=D+12|0;n=D+56|0;o=D+8|0;k[v>>2]=a;k[g>>2]=b;i[x>>0]=c;i[y>>0]=d;k[A>>2]=e;k[h>>2]=f;k[w>>2]=0;k[B>>2]=0;k[q>>2]=1;k[u>>2]=18402;k[C>>2]=0;while(1){e=l[k[g>>2]>>0]|0;k[s>>2]=e;if(!((e|0)==156?1:(k[s>>2]|0)==161))break;k[g>>2]=k[(k[g>>2]|0)+12>>2]}if((k[s>>2]|0)==157)k[s>>2]=l[(k[g>>2]|0)+38>>0];if((k[s>>2]|0)==66){B=Nx(k[(k[g>>2]|0)+8>>2]|0,0)|0;i[n>>0]=B;B=Mx(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[n>>0]|0,k[A>>2]|0,k[h>>2]|0)|0;k[C>>2]=B;if(k[k[A>>2]>>2]|0){Ox(k[k[A>>2]>>2]|0,i[n>>0]|0,1);Px(k[k[A>>2]>>2]|0,i[y>>0]|0,1)}k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}do if((k[s>>2]|0)==155){if((l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=134?(l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;k[g>>2]=k[(k[g>>2]|0)+12>>2];k[s>>2]=l[k[g>>2]>>0];k[q>>2]=-1;k[u>>2]=28264}while(0);do if((k[s>>2]|0)==97|(k[s>>2]|0)==132|(k[s>>2]|0)==134){e=Qx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=e;if(k[B>>2]|0){if(k[(k[g>>2]|0)+4>>2]&1024){v=k[B>>2]|0;u=k[(k[g>>2]|0)+8>>2]|0;w=k[q>>2]|0;w=kS(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;rh(v,w,L)}else{e=k[v>>2]|0;b=k[(k[g>>2]|0)+8>>2]|0;k[t>>2]=k[u>>2];k[t+4>>2]=b;u=Qh(e,24705,t)|0;k[w>>2]=u;if(!(k[w>>2]|0)){g=42;break}ii(k[B>>2]|0,-1,k[w>>2]|0,1,170)}if((k[s>>2]|0)==134|(k[s>>2]|0)==132?(l[y>>0]|0|0)==65:0)Px(k[B>>2]|0,67,1);else Px(k[B>>2]|0,i[y>>0]|0,1);if((m[(k[B>>2]|0)+8>>1]|0)&12){y=(k[B>>2]|0)+8|0;j[y>>1]=(m[y>>1]|0)&-3}if((l[x>>0]|0|0)!=1){g=su(k[B>>2]|0,l[x>>0]|0)|0;k[C>>2]=g;g=41}else g=41}else g=42}else{if((k[s>>2]|0)!=155){if((k[s>>2]|0)==101){y=Qx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=42;break}else{g=41;break}}if((k[s>>2]|0)!=133){g=41;break}y=Qx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=42;break}k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+2;y=(Tf(k[w>>2]|0)|0)-1|0;k[o>>2]=y;y=k[B>>2]|0;g=Sx(k[v>>2]|0,k[w>>2]|0,k[o>>2]|0)|0;qh(y,g,(k[o>>2]|0)/2|0,0,170)|0;g=41;break}w=0==(Ex(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[y>>0]|0,B)|0);if(w&(k[B>>2]|0)!=0){Rx(k[B>>2]|0)|0;g=k[B>>2]|0;do if(!((m[(k[B>>2]|0)+8>>1]|0)&8)){w=g;g=k[B>>2]|0;if((k[w>>2]|0)==0?(k[w+4>>2]|0)==-2147483648:0){p[g>>3]=9223372036854775808.0;j[(k[B>>2]|0)+8>>1]=(m[(k[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=g;v=_R(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;w=k[B>>2]|0;k[w>>2]=v;k[w+4>>2]=L;break}}else p[k[B>>2]>>3]=-+p[g>>3];while(0);Px(k[B>>2]|0,i[y>>0]|0,i[x>>0]|0);g=41}else g=41}while(0);if((g|0)==41){k[k[A>>2]>>2]=k[B>>2];k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}else if((g|0)==42){wh(k[v>>2]|0);bg(k[v>>2]|0,k[w>>2]|0);mh(k[B>>2]|0);k[z>>2]=7;C=k[z>>2]|0;r=D;return C|0}return 0}function Nx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+16|0;d=m+12|0;f=m+8|0;e=m+20|0;h=m+4|0;g=m;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;i[e>>0]=67;k[h>>2]=0;a:while(1){if(!(i[k[c>>2]>>0]|0))break;k[f>>2]=(k[f>>2]<<8)+(l[17613+(i[k[c>>2]>>0]&255)>>0]|0);k[c>>2]=(k[c>>2]|0)+1;if((k[f>>2]|0)==1667785074){i[e>>0]=66;k[h>>2]=k[c>>2];continue}if((k[f>>2]|0)==1668050786){i[e>>0]=66;continue}if((k[f>>2]|0)==1952807028){i[e>>0]=66;continue}do if((k[f>>2]|0)==1651273570){if((i[e>>0]|0)!=67?(i[e>>0]|0)!=69:0)break;i[e>>0]=65;if((i[k[c>>2]>>0]|0)!=40)continue a;k[h>>2]=k[c>>2];continue a}while(0);if((k[f>>2]|0)==1919246700?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1718382433?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1685026146?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]&16777215|0)==6909556){j=24;break}}if((j|0)==24)i[e>>0]=68;if(!(k[d>>2]|0)){j=i[e>>0]|0;r=m;return j|0}i[k[d>>2]>>0]=1;if((i[e>>0]|0)>=67){j=i[e>>0]|0;r=m;return j|0}if(!(k[h>>2]|0)){i[k[d>>2]>>0]=5;j=i[e>>0]|0;r=m;return j|0}while(1){if(!(i[k[h>>2]>>0]|0)){j=33;break}if(l[18403+(l[k[h>>2]>>0]|0)>>0]&4)break;k[h>>2]=(k[h>>2]|0)+1}if((j|0)==33){j=i[e>>0]|0;r=m;return j|0}k[g>>2]=0;_i(k[h>>2]|0,g)|0;j=((k[g>>2]|0)/4|0)+1|0;k[g>>2]=j;k[g>>2]=(k[g>>2]|0)>255?255:j;i[k[d>>2]>>0]=k[g>>2];j=i[e>>0]|0;r=m;return j|0}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g;d=g+5|0;f=g+4|0;k[e>>2]=a;i[d>>0]=b;i[f>>0]=c;if((m[(k[e>>2]|0)+8>>1]|0)&1){r=g;return}switch(l[d>>0]|0|0){case 65:{d=k[e>>2]|0;if((m[(k[e>>2]|0)+8>>1]|0)&16){f=d+8|0;j[f>>1]=(m[f>>1]|0)&-33264;r=g;return}Px(d,66,i[f>>0]|0);if(!((m[(k[e>>2]|0)+8>>1]|0)&2)){r=g;return}j[(k[e>>2]|0)+8>>1]=(m[(k[e>>2]|0)+8>>1]|0)&-49664|16;r=g;return}case 67:{Rx(k[e>>2]|0)|0;r=g;return}case 68:{_x(k[e>>2]|0)|0;r=g;return}case 69:{$x(k[e>>2]|0)|0;r=g;return}default:{a=(k[e>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|((m[(k[e>>2]|0)+8>>1]|0)&16)>>3;Px(k[e>>2]|0,66,i[f>>0]|0);f=(k[e>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-16413;r=g;return}}}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;f=d+5|0;e=d+4|0;k[g>>2]=a;i[f>>0]=b;i[e>>0]=c;Vx(k[g>>2]|0,i[f>>0]|0,i[e>>0]|0);r=d;return}function Qx(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;b=hi(k[d>>2]|0)|0;r=c;return b|0}function Rx(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(!((m[(k[b>>2]|0)+8>>1]|0)&13)){d=0==(Wi(k[(k[b>>2]|0)+16>>2]|0,k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,i[(k[b>>2]|0)+10>>0]|0)|0);a=k[b>>2]|0;if(d){j[(k[b>>2]|0)+8>>1]=(m[a+8>>1]|0)&-49664|4;break}else{e=+jh(a);p[k[b>>2]>>3]=e;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|8;Tx(k[b>>2]|0);break}}while(0);d=(k[b>>2]|0)+8|0;j[d>>1]=(m[d>>1]|0)&-16403;r=c;return 0}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=((k[e>>2]|0)/2|0)+1|0;b=dx(k[j>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;k[e>>2]=(k[e>>2]|0)+-1;if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=0;while(1){a=k[f>>2]|0;if((k[f>>2]|0)>=(k[e>>2]|0))break;j=((Vi(i[(k[d>>2]|0)+a>>0]|0)|0)&255)<<4;j=(j|(Vi(i[(k[d>>2]|0)+((k[f>>2]|0)+1)>>0]|0)|0)&255)&255;i[(k[g>>2]|0)+((k[f>>2]|0)/2|0)>>0]=j;k[f>>2]=(k[f>>2]|0)+2}i[(k[g>>2]|0)+((a|0)/2|0)>>0]=0;j=k[g>>2]|0;r=h;return j|0}function Tx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;b=d+8|0;c=d;k[b>>2]=a;f=Ux(+p[k[b>>2]>>3])|0;h=c;k[h>>2]=f;k[h+4>>2]=L;h=c;f=c;g=k[f+4>>2]|0;a=c;e=k[a+4>>2]|0;if(!(+p[k[b>>2]>>3]==+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0)&((g|0)>-2147483648|(g|0)==-2147483648&(k[f>>2]|0)>>>0>0)&((e|0)<2147483647|(e|0)==2147483647&(k[a>>2]|0)>>>0<4294967295))){r=d;return}f=c;g=k[f+4>>2]|0;h=k[b>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|4;r=d;return}function Ux(a){a=+a;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d;p[c>>3]=a;do if(!(+p[c>>3]<=-9223372036854775808.0))if(+p[c>>3]>=9223372036854775808.0){c=b;k[c>>2]=-1;k[c+4>>2]=2147483647;break}else{a=+p[c>>3];e=+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0;c=b;k[c>>2]=~~a>>>0;k[c+4>>2]=e;break}else{e=b;k[e>>2]=0;k[e+4>>2]=-2147483648}while(0);e=b;L=k[e+4>>2]|0;r=d;return k[e>>2]|0}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+5|0;e=g+4|0;k[f>>2]=a;i[d>>0]=b;i[e>>0]=c;if((i[d>>0]|0)<67){if((i[d>>0]|0)!=66){r=g;return}if(0==(m[(k[f>>2]|0)+8>>1]&2|0)?(m[(k[f>>2]|0)+8>>1]&12|0)!=0:0)Wx(k[f>>2]|0,i[e>>0]|0,1)|0;f=(k[f>>2]|0)+8|0;j[f>>1]=m[f>>1]&-13;r=g;return}if(m[(k[f>>2]|0)+8>>1]&4){r=g;return}d=k[f>>2]|0;if(m[(k[f>>2]|0)+8>>1]&8){Tx(d);r=g;return}if(!(m[d+8>>1]&2)){r=g;return}Lh(k[f>>2]|0,1);r=g;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0;q=r;r=r+48|0;o=q+8|0;n=q;d=q+28|0;e=q+24|0;f=q+33|0;g=q+32|0;h=q+20|0;k[e>>2]=a;i[f>>0]=b;i[g>>0]=c;k[h>>2]=m[(k[e>>2]|0)+8>>1];k[q+16>>2]=32;if(Xx(k[e>>2]|0,32)|0){i[(k[e>>2]|0)+10>>0]=0;k[d>>2]=7;o=k[d>>2]|0;r=q;return o|0}c=k[(k[e>>2]|0)+16>>2]|0;b=k[e>>2]|0;if(k[h>>2]&4){a=b;h=k[a+4>>2]|0;o=n;k[o>>2]=k[a>>2];k[o+4>>2]=h;_d(32,c,28266,n)|0}else{p[o>>3]=+p[b>>3];_d(32,c,28271,o)|0}o=Tf(k[(k[e>>2]|0)+16>>2]|0)|0;k[(k[e>>2]|0)+12>>2]=o;i[(k[e>>2]|0)+10>>0]=1;o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]|514;if(i[g>>0]|0){o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]&-13}su(k[e>>2]|0,l[f>>0]|0)|0;k[d>>2]=0;o=k[d>>2]|0;r=q;return o|0}function Xx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;if((k[(k[d>>2]|0)+24>>2]|0)<(k[e>>2]|0)){e=Yx(a,k[e>>2]|0,0)|0;k[c>>2]=e;e=k[c>>2]|0;r=f;return e|0}else{k[(k[d>>2]|0)+16>>2]=k[a+20>>2];e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&13;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;do if((k[(k[f>>2]|0)+24>>2]|0)<(k[d>>2]|0)){if((k[d>>2]|0)<32)k[d>>2]=32;if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+24>>2]|0)>0:0)?(k[(k[f>>2]|0)+16>>2]|0)==(k[(k[f>>2]|0)+20>>2]|0):0){a=k[d>>2]|0;a=Zx(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a;k[(k[f>>2]|0)+16>>2]=a;k[g>>2]=0}else{if((k[(k[f>>2]|0)+24>>2]|0)>0)bg(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0);a=k[d>>2]|0;a=Mh(k[(k[f>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a}d=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){a=uu(k[d+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;break}sh(d);k[(k[f>>2]|0)+16>>2]=0;k[(k[f>>2]|0)+24>>2]=0;k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}while(0);if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+16>>2]|0)!=0:0)?(k[(k[f>>2]|0)+16>>2]|0)!=(k[(k[f>>2]|0)+20>>2]|0):0)bS(k[(k[f>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;if((m[(k[f>>2]|0)+8>>1]|0)&1024)_b[k[(k[f>>2]|0)+36>>2]&255](k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=k[(k[f>>2]|0)+20>>2];g=(k[f>>2]|0)+8|0;j[g>>1]=(m[g>>1]|0)&-7169;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}function Zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;i=h;g=h+8|0;k[e>>2]=a;k[f>>2]=b;b=i;k[b>>2]=c;k[b+4>>2]=d;b=i;b=cx(k[e>>2]|0,k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}bg(k[e>>2]|0,k[f>>2]|0);i=k[g>>2]|0;r=h;return i|0}function _x(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=kh(k[c>>2]|0)|0;a=k[c>>2]|0;k[a>>2]=d;k[a+4>>2]=L;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|4;r=b;return 0}function $x(a){a=a|0;var b=0,c=0,d=0.0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=+jh(k[c>>2]|0);p[k[c>>2]>>3]=d;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|8;r=b;return 0}function ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((((i[(k[k[d>>2]>>2]|0)+148+5>>0]|0)==0?(l[(k[d>>2]|0)+18>>0]|0)==0:0)?(k[(k[k[d>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Jd(k[e>>2]|0,27844,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Oh(b,30775,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function by(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;c=q+36|0;d=q+32|0;e=q+28|0;n=q+24|0;i=q+20|0;h=q+16|0;g=q+12|0;f=q+8|0;p=q+4|0;k[d>>2]=a;k[e>>2]=b;k[h>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(hy(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}if(l[(k[e>>2]|0)+42>>0]&16){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}if((j[(k[e>>2]|0)+34>>1]|0)>0){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}if((j[(k[e>>2]|0)+34>>1]|0)<0){p=k[d>>2]|0;k[o>>2]=k[k[e>>2]>>2];Oh(p,28983,o);k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}o=iy(k[f>>2]|0,k[(k[e>>2]|0)+12>>2]|0,0)|0;k[i>>2]=o;if(k[i>>2]|0){k[g>>2]=k[(k[d>>2]|0)+40>>2];jy(k[d>>2]|0,k[(k[i>>2]|0)+28>>2]|0);j[(k[e>>2]|0)+34>>1]=-1;o=(k[f>>2]|0)+256|0;k[o>>2]=(k[o>>2]|0)+1;k[p>>2]=k[(k[f>>2]|0)+296>>2];k[(k[f>>2]|0)+296>>2]=0;o=ky(k[d>>2]|0,k[i>>2]|0)|0;k[n>>2]=o;k[(k[f>>2]|0)+296>>2]=k[p>>2];k[(k[d>>2]|0)+40>>2]=k[g>>2];do if(k[(k[e>>2]|0)+24>>2]|0){ly(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0,(k[e>>2]|0)+34|0,(k[e>>2]|0)+4|0)|0;if(((l[(k[f>>2]|0)+69>>0]|0)==0?(k[(k[d>>2]|0)+36>>2]|0)==0:0)?(j[(k[e>>2]|0)+34>>1]|0)==(k[k[k[i>>2]>>2]>>2]|0):0)my(k[d>>2]|0,k[e>>2]|0,k[i>>2]|0)}else if(k[n>>2]|0){j[(k[e>>2]|0)+34>>1]=j[(k[n>>2]|0)+34>>1]|0;k[(k[e>>2]|0)+4>>2]=k[(k[n>>2]|0)+4>>2];j[(k[n>>2]|0)+34>>1]=0;k[(k[n>>2]|0)+4>>2]=0;break}else{j[(k[e>>2]|0)+34>>1]=0;k[h>>2]=(k[h>>2]|0)+1;break}while(0);$f(k[f>>2]|0,k[n>>2]|0);pv(k[f>>2]|0,k[i>>2]|0);p=(k[f>>2]|0)+256|0;k[p>>2]=(k[p>>2]|0)+-1}else k[h>>2]=(k[h>>2]|0)+1;p=(k[(k[e>>2]|0)+64>>2]|0)+78|0;j[p>>1]=m[p>>1]|2;k[c>>2]=k[h>>2];p=k[c>>2]|0;r=q;return p|0}function cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+56>>2];while(1){if(!(k[d>>2]|0)){c=5;break}if((k[k[d>>2]>>2]|0)==(k[c>>2]|0)){c=5;break}k[d>>2]=k[(k[d>>2]|0)+24>>2]}if((c|0)==5){r=e;return k[d>>2]|0}return 0}function dy(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+124>>2]|0)a=k[a+124>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+21>>0]=1;r=c;return}function ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[d>>2]=k[h>>2];if((k[c>>2]|0)>=0)k[e>>2]=(k[d>>2]|0)+(k[c>>2]|0);else k[e>>2]=-1;while(1){if(!(l[k[d>>2]>>0]|0)){c=10;break}if((k[d>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}h=k[d>>2]|0;k[d>>2]=h+1;a:do if((l[h>>0]|0|0)>=192)while(1){if(((l[k[d>>2]>>0]|0)&192|0)!=128)break a;k[d>>2]=(k[d>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function fy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=0;b=gy(k[g>>2]|0)|0;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;g=Lx(k[k[c>>2]>>2]|0,k[e>>2]|0,k[k[k[d>>2]>>2]>>2]|0)|0;k[e>>2]=g;k[d>>2]=k[(k[d>>2]|0)+12>>2]}r=f;return k[e>>2]|0}function gy(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Cj((k[(k[c>>2]|0)+64>>2]|0)+56|0,k[k[c>>2]>>2]|0)|0;r=b;return a|0}function hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;j=p+8|0;i=p;c=p+44|0;d=p+40|0;e=p+36|0;f=p+32|0;n=p+28|0;g=p+24|0;h=p+20|0;o=p+16|0;m=p+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(((l[(k[e>>2]|0)+42>>0]|0)&16|0)!=0?(cy(k[f>>2]|0,k[e>>2]|0)|0)==0:0){k[n>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=Cj((k[f>>2]|0)+320|0,k[n>>2]|0)|0;k[g>>2]=n;if(k[g>>2]|0){k[m>>2]=0;o=Tz(k[f>>2]|0,k[e>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+8>>2]|0,m)|0;k[h>>2]=o;if(k[h>>2]|0){o=k[d>>2]|0;k[j>>2]=k[m>>2];Oh(o,18391,j)}bg(k[f>>2]|0,k[m>>2]|0)}else{k[o>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=k[d>>2]|0;k[i>>2]=k[o>>2];Oh(n,30631,i);k[h>>2]=1}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=dx(k[e>>2]|0,68,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=_y(k[e>>2]|0,k[k[f>>2]>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=b;b=Qz(k[e>>2]|0,k[(k[f>>2]|0)+28>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=b;b=Sy(k[e>>2]|0,k[(k[f>>2]|0)+32>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+32>>2]=b;b=_y(k[e>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+36>>2]=b;b=Sy(k[e>>2]|0,k[(k[f>>2]|0)+40>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+40>>2]=b;b=_y(k[e>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=b;i[(k[h>>2]|0)+4>>0]=i[(k[f>>2]|0)+4>>0]|0;b=iy(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[l>>2]=b;k[(k[h>>2]|0)+48>>2]=b;if(k[l>>2]|0)k[(k[l>>2]|0)+52>>2]=k[h>>2];k[(k[h>>2]|0)+52>>2]=0;l=Sy(k[e>>2]|0,k[(k[f>>2]|0)+56>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+56>>2]=l;l=Sy(k[e>>2]|0,k[(k[f>>2]|0)+60>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+60>>2]=l;k[(k[h>>2]|0)+12>>2]=0;k[(k[h>>2]|0)+16>>2]=0;k[(k[h>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2]&-33;k[(k[h>>2]|0)+20>>2]=-1;k[(k[h>>2]|0)+20+4>>2]=-1;j[(k[h>>2]|0)+6>>1]=j[(k[f>>2]|0)+6>>1]|0;l=Rz(k[e>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[(k[h>>2]|0)+64>>2]=l;k[d>>2]=k[h>>2];l=k[d>>2]|0;r=m;return l|0}function jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;k[f>>2]=(k[d>>2]|0)+8;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((k[(k[f>>2]|0)+44>>2]|0)>=0){c=8;break}b=(k[c>>2]|0)+40|0;a=k[b>>2]|0;k[b>>2]=a+1;k[(k[f>>2]|0)+44>>2]=a;if(k[(k[f>>2]|0)+20>>2]|0)jy(k[c>>2]|0,k[(k[(k[f>>2]|0)+20>>2]|0)+28>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}if((c|0)==8){r=g;return}}function ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;c=l+20|0;d=l+16|0;e=l+12|0;g=l+8|0;f=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+24>>2];b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]&-5;b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]|64;wy(k[d>>2]|0,k[e>>2]|0,0);if(k[(k[d>>2]|0)+36>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}k[(k[f>>2]|0)+24>>2]=k[h>>2];h=Ch(k[f>>2]|0,72,0)|0;k[g>>2]=h;if(!(k[g>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}j[(k[g>>2]|0)+36>>1]=1;k[k[g>>2]>>2]=0;j[(k[g>>2]|0)+38>>1]=200;ly(k[d>>2]|0,k[k[e>>2]>>2]|0,(k[g>>2]|0)+34|0,(k[g>>2]|0)+4|0)|0;my(k[d>>2]|0,k[g>>2]|0,k[e>>2]|0);j[(k[g>>2]|0)+32>>1]=-1;if(i[(k[f>>2]|0)+69>>0]|0){$f(k[f>>2]|0,k[g>>2]|0);k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}else{k[c>>2]=k[g>>2];h=k[c>>2]|0;r=l;return h|0}return 0}function ly(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;e=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;f=D+72|0;z=D+68|0;p=D+64|0;m=D+60|0;o=D+56|0;v=D+52|0;n=D+48|0;g=D+32|0;q=D+28|0;s=D+24|0;h=D+20|0;k[E>>2]=a;k[e>>2]=b;k[x>>2]=c;k[y>>2]=d;k[A>>2]=k[k[E>>2]>>2];Jj(g);if(k[e>>2]|0){k[m>>2]=k[k[e>>2]>>2];E=Ch(k[A>>2]|0,k[m>>2]<<4,0)|0;k[z>>2]=E}else{k[m>>2]=0;k[z>>2]=0}j[k[x>>2]>>1]=k[m>>2];k[k[y>>2]>>2]=k[z>>2];k[B>>2]=0;k[p>>2]=k[z>>2];while(1){if((k[B>>2]|0)>=(k[m>>2]|0))break;if(!((i[(k[A>>2]|0)+69>>0]|0)!=0^1))break;E=uy(k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=E;E=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+4>>2]|0;k[v>>2]=E;do if(!E){k[q>>2]=k[o>>2];while(1){b=k[q>>2]|0;if((l[k[q>>2]>>0]|0)!=122)break;k[q>>2]=k[b+16>>2]}if((l[b>>0]|0)==152?(k[(k[q>>2]|0)+44>>2]|0)!=0:0){k[h>>2]=j[(k[q>>2]|0)+32>>1];k[s>>2]=k[(k[q>>2]|0)+44>>2];if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)>=0)b=k[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;else b=24745;k[v>>2]=b;break}if((l[k[q>>2]>>0]|0)==55){k[v>>2]=k[(k[q>>2]|0)+8>>2];break}else{k[v>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+8>>2];break}}while(0);E=k[A>>2]|0;k[t>>2]=k[v>>2];E=Qh(E,18391,t)|0;k[v>>2]=E;k[f>>2]=0;while(1){if(k[v>>2]|0)a=(Cj(g,k[v>>2]|0)|0)!=0;else a=0;b=k[v>>2]|0;if(!a)break;E=Tf(b)|0;k[n>>2]=E;if((k[n>>2]|0)>0){k[C>>2]=(k[n>>2]|0)-1;while(1){if((k[C>>2]|0)<=0)break;if(!(l[18403+(l[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)>>0]&4))break;k[C>>2]=(k[C>>2]|0)+-1}if((i[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)==58)k[n>>2]=k[C>>2]}E=k[A>>2]|0;a=k[n>>2]|0;d=k[v>>2]|0;c=(k[f>>2]|0)+1|0;k[f>>2]=c;k[u>>2]=a;k[u+4>>2]=d;k[u+8>>2]=c;E=Qh(E,29047,u)|0;k[v>>2]=E;if((k[f>>2]|0)>>>0<=3)continue;ae(4,f)}k[k[p>>2]>>2]=b;if((k[v>>2]|0)!=0?(E=ck(g,k[v>>2]|0,k[p>>2]|0)|0,(E|0)==(k[p>>2]|0)):0)wh(k[A>>2]|0);k[B>>2]=(k[B>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+16}Kj(g);if(!(i[(k[A>>2]|0)+69>>0]|0)){k[w>>2]=0;E=k[w>>2]|0;r=D;return E|0}k[C>>2]=0;while(1){b=k[A>>2]|0;if((k[C>>2]|0)>=(k[B>>2]|0))break;bg(b,k[(k[z>>2]|0)+(k[C>>2]<<4)>>2]|0);k[C>>2]=(k[C>>2]|0)+1}bg(b,k[z>>2]|0);k[k[y>>2]>>2]=0;j[k[x>>2]>>1]=0;k[w>>2]=7;E=k[w>>2]|0;r=D;return E|0}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+96|0;d=w+84|0;e=w+80|0;f=w+76|0;h=w+72|0;t=w+40|0;q=w+36|0;s=w+32|0;m=w+28|0;p=w+24|0;g=w+20|0;u=w;v=w+16|0;o=w+12|0;n=w+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];b=u;k[b>>2]=0;k[b+4>>2]=0;if(i[(k[h>>2]|0)+69>>0]|0){r=w;return};k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[t+12>>2]=0;k[t+16>>2]=0;k[t+20>>2]=0;k[t+24>>2]=0;k[t+28>>2]=0;k[t+4>>2]=k[(k[f>>2]|0)+28>>2];k[g>>2]=k[(k[k[f>>2]>>2]|0)+4>>2];k[m>>2]=0;k[q>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[m>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;k[p>>2]=k[(k[g>>2]|0)+((k[m>>2]|0)*20|0)>>2];c=ny(t,k[p>>2]|0,(k[q>>2]|0)+14|0)|0;k[v>>2]=c;c=u;c=$R(k[c>>2]|0,k[c+4>>2]|0,l[(k[q>>2]|0)+14>>0]|0,0)|0;b=u;k[b>>2]=c;k[b+4>>2]=L;b=oy(k[p>>2]|0)|0;i[(k[q>>2]|0)+13>>0]=b;if(((k[v>>2]|0)!=0?(b=Tf(k[v>>2]|0)|0,k[n>>2]=b,(b|0)>0):0)?(b=Tf(k[k[q>>2]>>2]|0)|0,k[o>>2]=b,b=(k[o>>2]|0)+(k[n>>2]|0)+2|0,b=Zx(k[h>>2]|0,k[k[q>>2]>>2]|0,b,((b|0)<0)<<31>>31)|0,k[k[q>>2]>>2]=b,(k[k[q>>2]>>2]|0)!=0):0){bS((k[k[q>>2]>>2]|0)+((k[o>>2]|0)+1)|0,k[v>>2]|0,(k[n>>2]|0)+1|0)|0;b=(k[q>>2]|0)+15|0;i[b>>0]=l[b>>0]|4}if(!(i[(k[q>>2]|0)+13>>0]|0))i[(k[q>>2]|0)+13>>0]=65;b=py(k[d>>2]|0,k[p>>2]|0)|0;k[s>>2]=b;if((k[s>>2]|0)!=0?(k[(k[q>>2]|0)+8>>2]|0)==0:0){b=Ah(k[h>>2]|0,k[k[s>>2]>>2]|0)|0;k[(k[q>>2]|0)+8>>2]=b}k[m>>2]=(k[m>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+16}v=u;v=kS(k[v>>2]|0,k[v+4>>2]|0,4,0)|0;v=Wj(v,L)|0;j[(k[e>>2]|0)+40>>1]=v;r=w;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+128|0;d=x+112|0;e=x+108|0;f=x+104|0;w=x+100|0;m=x+96|0;g=x+116|0;s=x+92|0;p=x+88|0;h=x+84|0;t=x+80|0;u=x+48|0;n=x+40|0;v=x+8|0;q=x+4|0;o=x;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;i[g>>0]=1;a:do switch(l[k[e>>2]>>0]|0){case 152:case 154:{k[s>>2]=0;k[p>>2]=0;k[h>>2]=j[(k[e>>2]|0)+32>>1];while(1){if(!(k[d>>2]|0))break;if(!((k[s>>2]|0)!=0^1))break;k[t>>2]=k[(k[d>>2]|0)+4>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[t>>2]>>2]|0))break;if((k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+44>>2]|0)==(k[(k[e>>2]|0)+28>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)<(k[k[t>>2]>>2]|0)){k[s>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2];k[p>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+20>>2];continue}else{k[d>>2]=k[(k[d>>2]|0)+16>>2];continue}}if(k[s>>2]|0){if(k[p>>2]|0){if((k[h>>2]|0)<0)break a;if((k[h>>2]|0)>=(k[k[k[p>>2]>>2]>>2]|0))break a;k[n>>2]=k[(k[(k[k[p>>2]>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)>>2];k[u+4>>2]=k[(k[p>>2]|0)+28>>2];k[u+16>>2]=k[d>>2];k[u>>2]=k[k[d>>2]>>2];v=ny(u,k[n>>2]|0,g)|0;k[w>>2]=v;break a}if(k[(k[s>>2]|0)+64>>2]|0){if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)<0){k[w>>2]=18759;break a}else{v=Fi((k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)|0,0)|0;k[w>>2]=v;i[g>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+14>>0]|0;break a}}}break}case 119:{k[q>>2]=k[(k[e>>2]|0)+20>>2];k[o>>2]=k[k[(k[k[q>>2]>>2]|0)+4>>2]>>2];k[v+4>>2]=k[(k[q>>2]|0)+28>>2];k[v+16>>2]=k[d>>2];k[v>>2]=k[k[d>>2]>>2];v=ny(v,k[o>>2]|0,g)|0;k[w>>2]=v;break}default:{}}while(0);if(!(k[f>>2]|0)){w=k[w>>2]|0;r=x;return w|0}i[k[f>>2]>>0]=i[g>>0]|0;w=k[w>>2]|0;r=x;return w|0}function oy(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;a=uy(k[c>>2]|0)|0;k[c>>2]=a;if(k[(k[c>>2]|0)+4>>2]&512){i[b>>0]=0;d=i[b>>0]|0;r=e;return d|0}k[d>>2]=l[k[c>>2]>>0];if((k[d>>2]|0)==119){d=oy(k[k[(k[k[(k[c>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}if((k[d>>2]|0)==157)k[d>>2]=l[(k[c>>2]|0)+38>>0];if((k[d>>2]|0)==66){d=Nx(k[(k[c>>2]|0)+8>>2]|0,0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}if((k[d>>2]|0)==154|(k[d>>2]|0)==152){d=vy(k[(k[c>>2]|0)+44>>2]|0,j[(k[c>>2]|0)+32>>1]|0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}a=k[c>>2]|0;if((k[d>>2]|0)==159){d=oy(k[(k[(k[k[(k[(k[c>>2]|0)+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((j[a+32>>1]|0)*20|0)>>2]|0)|0;i[b>>0]=d;d=i[b>>0]|0;r=e;return d|0}else{i[b>>0]=i[a+1>>0]|0;d=i[b>>0]|0;r=e;return d|0}return 0}function py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;c=q+36|0;s=q+32|0;d=q+28|0;m=q+24|0;h=q+20|0;g=q+16|0;f=q+12|0;o=q+8|0;n=q+4|0;e=q;k[c>>2]=a;k[s>>2]=b;k[d>>2]=k[k[c>>2]>>2];k[m>>2]=0;k[h>>2]=k[s>>2];while(1){if(!(k[h>>2]|0))break;k[g>>2]=l[k[h>>2]>>0];if(k[(k[h>>2]|0)+4>>2]&512)break;if((k[g>>2]|0)==66|(k[g>>2]|0)==156){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}if((k[g>>2]|0)==53){p=9;break}if((k[g>>2]|0)==157?(l[(k[h>>2]|0)+38>>0]|0)==53:0){p=9;break}if((k[g>>2]|0)==154|(k[g>>2]|0)==152|(k[g>>2]|0)==157|(k[g>>2]|0)==88?(k[(k[h>>2]|0)+44>>2]|0)!=0:0){p=12;break}if(!(k[(k[h>>2]|0)+4>>2]&256))break;if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[(k[h>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}k[n>>2]=k[(k[h>>2]|0)+16>>2];a:do if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]&2048|0)==0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[h>>2]|0)+20>>2]>>2]|0))break a;b=k[e>>2]|0;if(k[(k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[e>>2]=b+1}k[n>>2]=k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+(b*20|0)>>2]}while(0);k[h>>2]=k[n>>2]}if((p|0)==9){s=qy(k[c>>2]|0,i[(k[d>>2]|0)+66>>0]|0,0,k[(k[h>>2]|0)+8>>2]|0)|0;k[m>>2]=s}else if((p|0)==12?(k[f>>2]=j[(k[h>>2]|0)+32>>1],(k[f>>2]|0)>=0):0){k[o>>2]=k[(k[(k[(k[h>>2]|0)+44>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];s=ak(k[d>>2]|0,i[(k[d>>2]|0)+66>>0]|0,k[o>>2]|0,0)|0;k[m>>2]=s}if(!(ry(k[c>>2]|0,k[m>>2]|0)|0)){s=k[m>>2]|0;r=q;return s|0}k[m>>2]=0;s=k[m>>2]|0;r=q;return s|0}function qy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;m=n;e=n+20|0;f=n+24|0;o=n+16|0;g=n+12|0;j=n+8|0;h=n+4|0;k[e>>2]=a;i[f>>0]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[j>>2]=k[o>>2];if(!(k[j>>2]|0)){o=ak(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(!((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)!=0:0)){sy(k[h>>2]|0,l[f>>0]|0,k[g>>2]|0);o=ak(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)==0:0)?(ty(k[h>>2]|0,k[j>>2]|0)|0)!=0:0)k[j>>2]=0;if(k[j>>2]|0){o=k[j>>2]|0;r=n;return o|0}o=k[e>>2]|0;k[m>>2]=k[g>>2];Oh(o,29013,m);o=k[j>>2]|0;r=n;return o|0}function ry(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[h>>2]=k[k[e>>2]>>2],k[f>>2]=k[k[d>>2]>>2],h=qy(k[d>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[e>>2]|0,k[h>>2]|0)|0,k[g>>2]=h,(k[g>>2]|0)==0):0){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}function sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;h=m+8|0;j=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do if(k[(k[d>>2]|0)+232>>2]|0){c=Ah(k[d>>2]|0,k[f>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){ic[k[(k[d>>2]|0)+232>>2]&255](k[(k[d>>2]|0)+240>>2]|0,k[d>>2]|0,k[e>>2]|0,k[h>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);break}else{r=m;return}}while(0);if(!(k[(k[d>>2]|0)+236>>2]|0)){r=m;return}c=hi(k[d>>2]|0)|0;k[g>>2]=c;ii(k[g>>2]|0,-1,k[f>>2]|0,1,0);c=hh(k[g>>2]|0,((i[968]|0)==0?3:2)&255)|0;k[j>>2]=c;if(k[j>>2]|0)ic[k[(k[d>>2]|0)+236>>2]&255](k[(k[d>>2]|0)+240>>2]|0,k[d>>2]|0,l[(k[d>>2]|0)+66>>0]|0,k[j>>2]|0);mh(k[g>>2]|0);r=m;return}function ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j+20|0;c=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;d=j;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3){c=6;break}b=ak(k[c>>2]|0,i[29044+(k[d>>2]|0)>>0]|0,k[e>>2]|0,0)|0;k[h>>2]=b;if(k[(k[h>>2]|0)+12>>2]|0){c=4;break}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==4){e=k[g>>2]|0;h=k[h>>2]|0;k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];k[e+12>>2]=k[h+12>>2];k[e+16>>2]=k[h+16>>2];k[(k[g>>2]|0)+16>>2]=0;k[f>>2]=0;h=k[f>>2]|0;r=j;return h|0}else if((c|0)==6){k[f>>2]=1;h=k[f>>2]|0;r=j;return h|0}return 0}function uy(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d;k[c>>2]=a;while(1){if(k[c>>2]|0)a=(k[(k[c>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=k[c>>2]|0;if(!a)break;a=k[c>>2]|0;if(k[b+4>>2]&262144){k[c>>2]=k[k[(k[a+20>>2]|0)+4>>2]>>2];continue}else{k[c>>2]=k[a+12>>2];continue}}r=d;return b|0}function vy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<0){a=68;a=a&255;r=e;return a|0}a=i[(k[(k[c>>2]|0)+4>>2]|0)+(k[d>>2]<<4)+13>>0]|0;a=a&255;r=e;return a|0}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}k[g>>2]=k[k[d>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){r=h;return}if(k[(k[e>>2]|0)+8>>2]&128){r=h;return}xy(k[d>>2]|0,k[e>>2]|0);if(k[(k[d>>2]|0)+36>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}yy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if(k[(k[d>>2]|0)+36>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}zy(k[d>>2]|0,k[e>>2]|0);r=h;return}function xy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+48|0;f=e+32|0;c=e+28|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+4>>2]=190;k[d>>2]=k[f>>2];if(i[(k[f>>2]|0)+22>>0]|0){k[d+8>>2]=191;Cy(d,k[c>>2]|0)|0}k[d+8>>2]=192;if(k[(k[c>>2]|0)+8>>2]&1024){f=k[c>>2]|0;Cy(d,f)|0;r=e;return}k[d+12>>2]=132;f=k[c>>2]|0;Cy(d,f)|0;r=e;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+48|0;h=d+36|0;e=d+32|0;g=d+28|0;f=d;k[h>>2]=a;k[e>>2]=b;k[g>>2]=c;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=193;k[f+8>>2]=194;k[f>>2]=k[h>>2];k[f+24>>2]=k[g>>2];Cy(f,k[e>>2]|0)|0;r=d;return}function zy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+12>>2]=133;k[e+4>>2]=190;k[e>>2]=k[f>>2];Cy(e,k[d>>2]|0)|0;r=c;return}function Ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=r;r=r+32|0;m=i+28|0;j=i+24|0;e=i+20|0;c=i+16|0;h=i+12|0;d=i+8|0;g=i+4|0;f=i;k[m>>2]=a;k[j>>2]=b;a=(k[j>>2]|0)+8|0;k[a>>2]=k[a>>2]|128;k[e>>2]=k[k[m>>2]>>2];k[h>>2]=k[(k[j>>2]|0)+28>>2];k[c>>2]=0;k[d>>2]=(k[h>>2]|0)+8;while(1){if((k[c>>2]|0)>=(k[k[h>>2]>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+16>>2];if(((l[(k[g>>2]|0)+42>>0]|0)&2|0)!=0?(k[f>>2]=k[(k[d>>2]|0)+20>>2],(k[f>>2]|0)!=0):0){while(1){if(!(k[(k[f>>2]|0)+48>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+48>>2]}my(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+72}r=i;return}function By(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function Cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;do if(k[c>>2]|0){if((k[(k[e>>2]|0)+8>>2]|0)==0?(k[(k[e>>2]|0)+12>>2]|0)==0:0)break;k[f>>2]=0;a=(k[e>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if(!(k[c>>2]|0)){c=15;break}if((k[(k[e>>2]|0)+8>>2]|0)!=0?(a=gc[k[(k[e>>2]|0)+8>>2]&255](k[e>>2]|0,k[c>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0){c=15;break}if(Dy(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(Ey(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(k[(k[e>>2]|0)+12>>2]|0)$b[k[(k[e>>2]|0)+12>>2]&255](k[e>>2]|0,k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+48>>2]}if((c|0)==11){f=(k[e>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+-1;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){e=(k[e>>2]|0)+16|0;k[e>>2]=(k[e>>2]|0)+-1;k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Dy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(!(Fy(k[d>>2]|0,k[k[e>>2]>>2]|0)|0)){if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0)|0){k[c>>2]=2;break}if(Fy(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0)|0){k[c>>2]=2;break}if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0)|0){k[c>>2]=2;break}if(Fy(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0){k[c>>2]=2;break}if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0)|0){k[c>>2]=2;break}if(Gy(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0)|0){k[c>>2]=2;break}else{k[c>>2]=0;break}}else k[c>>2]=2;while(0);r=f;return k[c>>2]|0}function Ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;g=h+20|0;c=h+16|0;i=h+12|0;f=h+8|0;d=h+4|0;e=h;k[c>>2]=a;k[i>>2]=b;k[f>>2]=k[(k[i>>2]|0)+28>>2];a:do if(k[f>>2]|0){k[d>>2]=k[k[f>>2]>>2];k[e>>2]=(k[f>>2]|0)+8;while(1){if((k[d>>2]|0)<=0)break a;if(Cy(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){c=5;break}if(((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(Fy(k[c>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0)!=0:0){c=8;break}k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+72}if((c|0)==5){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}else if((c|0)==8){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}}while(0);k[g>>2]=0;i=k[g>>2]|0;r=h;return i|0}function Fy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=k[k[e>>2]>>2];k[g>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[f>>2]|0)<=0)break a;if(Gy(k[d>>2]|0,k[k[g>>2]>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+20}k[c>>2]=2;a=k[c>>2]|0;r=h;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}function Gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){a=0;r=e;return a|0}a=Hy(k[c>>2]|0,k[d>>2]|0)|0;r=e;return a|0}function Hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a=gc[k[(k[d>>2]|0)+4>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)==0?(k[(k[e>>2]|0)+4>>2]&8404992|0)==0:0){if((k[(k[e>>2]|0)+12>>2]|0)!=0?(Hy(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0)!=0:0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}if((k[(k[e>>2]|0)+16>>2]|0)!=0?(Hy(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0)!=0:0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}if(k[(k[e>>2]|0)+4>>2]&2048){if(Cy(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}}else if((k[(k[e>>2]|0)+20>>2]|0)!=0?(Fy(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0)!=0:0){k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}k[c>>2]=k[f>>2]&2;f=k[c>>2]|0;r=g;return f|0}function Iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=r;r=r+144|0;g=M+40|0;F=M+32|0;H=M+24|0;G=M+16|0;E=M+8|0;D=M;L=M+128|0;p=M+124|0;q=M+120|0;A=M+116|0;C=M+112|0;h=M+108|0;o=M+104|0;n=M+100|0;f=M+96|0;z=M+92|0;v=M+88|0;x=M+84|0;I=M+80|0;u=M+76|0;w=M+72|0;J=M+68|0;y=M+64|0;t=M+132|0;s=M+60|0;B=M+56|0;d=M+52|0;c=M+48|0;e=M+44|0;k[p>>2]=a;k[q>>2]=b;k[A>>2]=k[(k[p>>2]|0)+24>>2];k[C>>2]=k[k[A>>2]>>2];if(k[(k[q>>2]|0)+4>>2]&4){k[L>>2]=1;L=k[L>>2]|0;r=M;return L|0}a=(k[q>>2]|0)+4|0;k[a>>2]=k[a>>2]|4;switch(l[k[q>>2]>>0]|0){case 55:{K=iz(k[C>>2]|0,0,0,k[(k[q>>2]|0)+8>>2]|0,k[A>>2]|0,k[q>>2]|0)|0;k[L>>2]=K;L=k[L>>2]|0;r=M;return L|0}case 122:{jz(k[C>>2]|0,k[A>>2]|0,29561,32);k[f>>2]=k[(k[q>>2]|0)+16>>2];if((l[k[f>>2]>>0]|0)==55){k[n>>2]=0;k[o>>2]=k[(k[(k[q>>2]|0)+12>>2]|0)+8>>2];k[h>>2]=k[(k[f>>2]|0)+8>>2]}else{k[n>>2]=k[(k[(k[q>>2]|0)+12>>2]|0)+8>>2];k[o>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2];k[h>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+8>>2]}K=iz(k[C>>2]|0,k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[A>>2]|0,k[q>>2]|0)|0;k[L>>2]=K;L=k[L>>2]|0;r=M;return L|0}case 151:{k[z>>2]=k[(k[q>>2]|0)+20>>2];if(k[z>>2]|0)c=k[k[z>>2]>>2]|0;else c=0;k[v>>2]=c;k[x>>2]=0;k[I>>2]=0;k[u>>2]=0;i[t>>0]=i[(k[k[C>>2]>>2]|0)+66>>0]|0;k[J>>2]=k[(k[q>>2]|0)+8>>2];o=Tf(k[J>>2]|0)|0;k[w>>2]=o;o=ui(k[k[C>>2]>>2]|0,k[J>>2]|0,k[v>>2]|0,i[t>>0]|0,0)|0;k[y>>2]=o;do if(!(k[y>>2]|0)){E=ui(k[k[C>>2]>>2]|0,k[J>>2]|0,-2,i[t>>0]|0,0)|0;k[y>>2]=E;if(!(k[y>>2]|0)){k[x>>2]=1;break}else{k[I>>2]=1;break}}else{k[u>>2]=(k[(k[y>>2]|0)+16>>2]|0)!=0&1;do if(m[(k[y>>2]|0)+2>>1]&1024){t=(k[q>>2]|0)+4|0;k[t>>2]=k[t>>2]|266240;if((k[v>>2]|0)!=2){k[(k[q>>2]|0)+28>>2]=(i[k[(k[y>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}v=kz(k[(k[(k[z>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[(k[q>>2]|0)+28>>2]=v;if((k[(k[q>>2]|0)+28>>2]|0)<0){Oh(k[C>>2]|0,29578,D);D=(k[A>>2]|0)+24|0;k[D>>2]=(k[D>>2]|0)+1}}while(0);D=kx(k[C>>2]|0,31,0,k[(k[y>>2]|0)+20>>2]|0,0)|0;k[s>>2]=D;if(k[s>>2]|0){if((k[s>>2]|0)==1){K=k[C>>2]|0;k[E>>2]=k[(k[y>>2]|0)+20>>2];Oh(K,29649,E);K=(k[A>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1}i[k[q>>2]>>0]=101;k[L>>2]=1;L=k[L>>2]|0;r=M;return L|0}else{if(m[(k[y>>2]|0)+2>>1]&10240){E=(k[q>>2]|0)+4|0;k[E>>2]=k[E>>2]|524288}if(m[(k[y>>2]|0)+2>>1]&2048)break;jz(k[C>>2]|0,k[A>>2]|0,29684,34);break}}while(0);if((k[u>>2]|0)!=0?(m[(k[A>>2]|0)+28>>1]&1|0)==0:0){I=k[C>>2]|0;J=k[J>>2]|0;k[G>>2]=k[w>>2];k[G+4>>2]=J;Oh(I,29712,G);J=(k[A>>2]|0)+24|0;k[J>>2]=(k[J>>2]|0)+1;k[u>>2]=0}else K=31;do if((K|0)==31){if((k[x>>2]|0)!=0?(l[(k[k[C>>2]>>2]|0)+148+5>>0]|0)==0:0){K=k[C>>2]|0;J=k[J>>2]|0;k[H>>2]=k[w>>2];k[H+4>>2]=J;Oh(K,29748,H);K=(k[A>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1;break}if(k[I>>2]|0){K=k[C>>2]|0;J=k[J>>2]|0;k[F>>2]=k[w>>2];k[F+4>>2]=J;Oh(K,29771,F);K=(k[A>>2]|0)+24|0;k[K>>2]=(k[K>>2]|0)+1}}while(0);if(k[u>>2]|0){K=(k[A>>2]|0)+28|0;j[K>>1]=m[K>>1]&-2}Fy(k[p>>2]|0,k[z>>2]|0)|0;if(k[u>>2]|0){k[B>>2]=k[A>>2];i[k[q>>2]>>0]=-103;i[(k[q>>2]|0)+38>>0]=0;while(1){if(!(k[B>>2]|0))break;if(!((lz(k[q>>2]|0,k[(k[B>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(k[q>>2]|0)+38|0;i[K>>0]=(i[K>>0]|0)+1<<24>>24;k[B>>2]=k[(k[B>>2]|0)+16>>2]}if(k[B>>2]|0){K=(k[B>>2]|0)+28|0;j[K>>1]=m[K>>1]|(16|m[(k[y>>2]|0)+2>>1]&4096)}K=(k[A>>2]|0)+28|0;j[K>>1]=m[K>>1]|1}k[L>>2]=1;L=k[L>>2]|0;r=M;return L|0}case 33:case 20:case 119:{if((k[(k[q>>2]|0)+4>>2]&2048|0)!=0?(k[d>>2]=k[(k[A>>2]|0)+20>>2],jz(k[C>>2]|0,k[A>>2]|0,29816,38),Cy(k[p>>2]|0,k[(k[q>>2]|0)+20>>2]|0)|0,(k[d>>2]|0)!=(k[(k[A>>2]|0)+20>>2]|0)):0){K=(k[q>>2]|0)+4|0;k[K>>2]=k[K>>2]|32;K=(k[A>>2]|0)+28|0;j[K>>1]=m[K>>1]|64}break}case 135:{jz(k[C>>2]|0,k[A>>2]|0,29827,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((i[(k[k[C>>2]>>2]|0)+69>>0]|0)==0?(K=mz(k[(k[q>>2]|0)+12>>2]|0)|0,k[c>>2]=K,K=mz(k[(k[q>>2]|0)+16>>2]|0)|0,k[e>>2]=K,(k[c>>2]|0)!=(k[e>>2]|0)):0)Oh(k[C>>2]|0,29838,g);break}default:{}}if(k[(k[C>>2]|0)+36>>2]|0)c=1;else c=(l[(k[k[C>>2]>>2]|0)+69>>0]|0)!=0;k[L>>2]=c?2:0;L=k[L>>2]|0;r=M;return L|0}function Jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+128|0;C=E+8|0;B=E;D=E+116|0;c=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;f=E+64|0;A=E+60|0;e=E+56|0;h=E+52|0;z=E+48|0;d=E+44|0;t=E+40|0;n=E+36|0;q=E+32|0;g=E+28|0;w=E+24|0;o=E+20|0;u=E+16|0;p=E+12|0;k[c>>2]=a;k[x>>2]=b;if(k[(k[x>>2]|0)+8>>2]&4){k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}k[s>>2]=k[(k[c>>2]|0)+24>>2];k[A>>2]=k[k[c>>2]>>2];k[d>>2]=k[k[A>>2]>>2];if(!(k[(k[x>>2]|0)+8>>2]&64)){wy(k[A>>2]|0,k[x>>2]|0,k[s>>2]|0);if(k[(k[A>>2]|0)+36>>2]|0)c=1;else c=(l[(k[d>>2]|0)+69>>0]|0)!=0;k[D>>2]=c?2:1;D=k[D>>2]|0;r=E;return D|0}k[y>>2]=(k[(k[x>>2]|0)+48>>2]|0)!=0&1;k[f>>2]=0;k[z>>2]=k[x>>2];a:while(1){if(!(k[x>>2]|0)){c=68;break}a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|4;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[A>>2];if(Ky(v,k[(k[x>>2]|0)+56>>2]|0)|0){c=11;break}if(Ky(v,k[(k[x>>2]|0)+60>>2]|0)|0){c=11;break}if(k[(k[x>>2]|0)+8>>2]&65536){k[t>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[t>>2]|0)+44>>2]=k[(k[x>>2]|0)+44>>2];k[(k[x>>2]|0)+44>>2]=0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[n>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(k[(k[n>>2]|0)+20>>2]|0){k[g>>2]=0;k[w>>2]=k[(k[A>>2]|0)+448>>2];k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)+(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}if(k[(k[n>>2]|0)+8>>2]|0)k[(k[A>>2]|0)+448>>2]=k[(k[n>>2]|0)+8>>2];yy(k[A>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[s>>2]|0);k[(k[A>>2]|0)+448>>2]=k[w>>2];if(k[(k[A>>2]|0)+36>>2]|0){c=24;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=24;break a}k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)-(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}a=(k[n>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-9|((k[g>>2]|0)!=0&1)<<3&255}k[e>>2]=(k[e>>2]|0)+1}j[v+28>>1]=1;k[v+4>>2]=k[(k[x>>2]|0)+28>>2];k[v+16>>2]=k[s>>2];if(Ly(v,k[k[x>>2]>>2]|0)|0){c=31;break}k[h>>2]=k[(k[x>>2]|0)+36>>2];if((k[h>>2]|0)==0?(m[v+28>>1]&16|0)==0:0){a=v+28|0;j[a>>1]=m[a>>1]&-2}else{a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|(8|m[v+28>>1]&4096)}if(!((k[h>>2]|0)!=0?1:(k[(k[x>>2]|0)+40>>2]|0)==0)){c=37;break}k[v+8>>2]=k[k[x>>2]>>2];if(Ky(v,k[(k[x>>2]|0)+40>>2]|0)|0){c=39;break}if(Ky(v,k[(k[x>>2]|0)+32>>2]|0)|0){c=41;break}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[o>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(((l[(k[o>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(Ly(v,k[(k[o>>2]|0)+64>>2]|0)|0)!=0:0){c=46;break a}k[e>>2]=(k[e>>2]|0)+1}k[v+16>>2]=0;a=v+28|0;j[a>>1]=m[a>>1]|1;if(k[(k[x>>2]|0)+8>>2]&65536){k[u>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[x>>2]|0)+44>>2]=k[(k[u>>2]|0)+44>>2];k[(k[u>>2]|0)+44>>2]=0}if((k[y>>2]|0)<=(k[f>>2]|0)?(My(v,k[x>>2]|0,k[(k[x>>2]|0)+44>>2]|0,29099)|0)!=0:0){c=52;break}if(i[(k[d>>2]|0)+69>>0]|0){c=54;break}b:do if(k[h>>2]|0){if(My(v,k[x>>2]|0,k[h>>2]|0,29105)|0){c=58;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=58;break a}k[e>>2]=0;k[p>>2]=k[(k[h>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break b;if(k[(k[k[p>>2]>>2]|0)+4>>2]&2){c=62;break a}k[e>>2]=(k[e>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}}while(0);if((k[(k[x>>2]|0)+52>>2]|0)!=0?(k[k[k[x>>2]>>2]>>2]|0)!=(k[k[k[(k[x>>2]|0)+52>>2]>>2]>>2]|0):0){c=66;break}k[x>>2]=k[(k[x>>2]|0)+48>>2];k[f>>2]=(k[f>>2]|0)+1}switch(c|0){case 11:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 24:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 31:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 37:{Oh(k[A>>2]|0,29055,B);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 39:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 41:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 46:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 52:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 54:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 58:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 62:{Oh(k[A>>2]|0,29111,C);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 66:{Ny(k[A>>2]|0,k[(k[x>>2]|0)+52>>2]|0);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 68:{if((k[y>>2]|0)!=0?(Oy(k[A>>2]|0,k[z>>2]|0)|0)!=0:0){k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}}return 0}function Ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+48|0;c=l+40|0;d=l+36|0;e=l+32|0;g=l+44|0;h=l+4|0;f=l;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}k[f>>2]=k[k[d>>2]>>2];if(hz(k[f>>2]|0,(k[(k[e>>2]|0)+24>>2]|0)+(k[(k[k[d>>2]>>2]|0)+416>>2]|0)|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=l;return h|0}f=(k[f>>2]|0)+416|0;k[f>>2]=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);j[g>>1]=(m[(k[d>>2]|0)+28>>1]|0)&4112;f=(k[d>>2]|0)+28|0;j[f>>1]=(m[f>>1]|0)&-4113;k[h>>2]=k[k[d>>2]>>2];k[h+4>>2]=193;k[h+8>>2]=194;k[h+12>>2]=0;k[h+16>>2]=0;i[h+20>>0]=0;k[h+24>>2]=k[d>>2];Gy(h,k[e>>2]|0)|0;f=(k[k[d>>2]>>2]|0)+416|0;k[f>>2]=(k[f>>2]|0)-(k[(k[e>>2]|0)+24>>2]|0);if(!((k[(k[d>>2]|0)+24>>2]|0)<=0?(k[(k[h>>2]|0)+36>>2]|0)<=0:0)){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|8}if((m[(k[d>>2]|0)+28>>1]|0)&16){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|2}h=(k[d>>2]|0)+28|0;j[h>>1]=m[h>>1]|0|(m[g>>1]|0);k[c>>2]=(k[(k[e>>2]|0)+4>>2]&8|0)!=0&1;h=k[c>>2]|0;r=l;return h|0}function Ly(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[e>>2]>>2]|0))break a;if(Ky(k[d>>2]|0,k[(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=2;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function My(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;e=w+48|0;f=w+44|0;g=w+40|0;h=w+36|0;l=w+32|0;m=w+28|0;o=w+24|0;n=w+20|0;t=w+16|0;u=w+12|0;p=w+8|0;q=w+4|0;s=w;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(!(k[h>>2]|0)){k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}k[p>>2]=k[k[k[g>>2]>>2]>>2];k[u>>2]=k[k[f>>2]>>2];k[m>>2]=0;k[t>>2]=k[(k[h>>2]|0)+4>>2];a:while(1){if((k[m>>2]|0)>=(k[k[h>>2]>>2]|0)){v=20;break}k[q>>2]=k[k[t>>2]>>2];d=uy(k[q>>2]|0)|0;k[s>>2]=d;if((i[k[l>>2]>>0]|0)!=71?(d=Ry(k[u>>2]|0,k[k[g>>2]>>2]|0,k[s>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)>0):0)j[(k[t>>2]|0)+16>>1]=k[n>>2];else v=8;b:do if((v|0)==8){v=0;if(Py(k[s>>2]|0,n)|0){if((k[n>>2]|0)<1|(k[n>>2]|0)>65535){v=10;break a}j[(k[t>>2]|0)+16>>1]=k[n>>2];break}j[(k[t>>2]|0)+16>>1]=0;if(Ky(k[f>>2]|0,k[q>>2]|0)|0){v=13;break a}k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[k[g>>2]>>2]>>2]|0))break b;if(!(Uy(k[q>>2]|0,k[(k[(k[k[g>>2]>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,-1)|0))j[(k[t>>2]|0)+16>>1]=(k[o>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[m>>2]=(k[m>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}if((v|0)==10){Qy(k[u>>2]|0,k[l>>2]|0,(k[m>>2]|0)+1|0,k[p>>2]|0);k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==13){k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==20){v=bz(k[u>>2]|0,k[g>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[e>>2]=v;v=k[e>>2]|0;r=w;return v|0}return 0}function Ny(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+32|0;d=e+8|0;f=e+16|0;c=e+12|0;k[f>>2]=a;k[c>>2]=b;b=k[f>>2]|0;if(k[(k[c>>2]|0)+8>>2]&512){Oh(b,29321,e);r=e;return}else{f=az(l[(k[c>>2]|0)+4>>0]|0)|0;k[d>>2]=f;Oh(b,29367,d);r=e;return}}function Oy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;v=w+8|0;p=w+64|0;q=w+60|0;c=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;d=w+40|0;f=w+36|0;m=w+32|0;e=w+28|0;h=w+24|0;g=w+20|0;n=w+16|0;o=w+12|0;k[q>>2]=a;k[c>>2]=b;k[f>>2]=1;k[u>>2]=k[(k[c>>2]|0)+44>>2];if(!(k[u>>2]|0)){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}k[d>>2]=k[k[q>>2]>>2];if((k[k[u>>2]>>2]|0)>(k[(k[d>>2]|0)+96+8>>2]|0)){Oh(k[q>>2]|0,29170,w);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;b=(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13|0;i[b>>0]=i[b>>0]&-2;k[s>>2]=(k[s>>2]|0)+1}k[(k[c>>2]|0)+52>>2]=0;while(1){if(!(k[(k[c>>2]|0)+48>>2]|0))break;k[(k[(k[c>>2]|0)+48>>2]|0)+52>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+48>>2]}a:while(1){if(!((k[c>>2]|0)!=0?(k[f>>2]|0)!=0:0)){c=36;break}k[f>>2]=0;k[t>>2]=k[k[c>>2]>>2];k[s>>2]=0;k[m>>2]=k[(k[u>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;k[e>>2]=-1;do if(!(i[(k[m>>2]|0)+13>>0]&1)){b=uy(k[k[m>>2]>>2]|0)|0;k[h>>2]=b;if(Py(k[h>>2]|0,e)|0){if((k[e>>2]|0)<=0){c=18;break a}if((k[e>>2]|0)>(k[k[t>>2]>>2]|0)){c=18;break a}}else{b=Ry(k[q>>2]|0,k[t>>2]|0,k[h>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){b=Sy(k[d>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=b;if(!(i[(k[d>>2]|0)+69>>0]|0)){b=Ty(k[q>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[e>>2]=b}sv(k[d>>2]|0,k[g>>2]|0)}}if((k[e>>2]|0)<=0){k[f>>2]=1;break}b=ew(k[d>>2]|0,134,0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){c=25;break a}b=(k[n>>2]|0)+4|0;k[b>>2]=k[b>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[e>>2];if((k[k[m>>2]>>2]|0)==(k[h>>2]|0))k[k[m>>2]>>2]=k[n>>2];else{k[o>>2]=k[k[m>>2]>>2];while(1){if((l[k[(k[o>>2]|0)+12>>2]>>0]|0)!=53)break;k[o>>2]=k[(k[o>>2]|0)+12>>2]}k[(k[o>>2]|0)+12>>2]=k[n>>2]}sv(k[d>>2]|0,k[h>>2]|0);j[(k[m>>2]|0)+16>>1]=k[e>>2];b=(k[m>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2|1}while(0);k[s>>2]=(k[s>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+20}k[c>>2]=k[(k[c>>2]|0)+52>>2]}if((c|0)==18){Qy(k[q>>2]|0,29099,(k[s>>2]|0)+1|0,k[k[t>>2]>>2]|0);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==25){k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==36){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0)){c=41;break}if(!(i[(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13>>0]&1)){c=39;break}k[s>>2]=(k[s>>2]|0)+1}if((c|0)==39){u=k[q>>2]|0;k[v>>2]=(k[s>>2]|0)+1;Oh(u,29204,v);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==41){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}}return 0}function Py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;a=k[d>>2]|0;if(k[(k[d>>2]|0)+4>>2]&1024){k[k[e>>2]>>2]=k[a+8>>2];k[c>>2]=1;g=k[c>>2]|0;r=h;return g|0}switch(l[a>>0]|0|0){case 156:{g=Py(k[(k[d>>2]|0)+12>>2]|0,k[e>>2]|0)|0;k[f>>2]=g;break}case 155:{if(Py(k[(k[d>>2]|0)+12>>2]|0,g)|0){k[k[e>>2]>>2]=0-(k[g>>2]|0);k[f>>2]=1}break}default:{}}k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function Qy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;f=e;j=e+24|0;i=e+20|0;g=e+16|0;h=e+12|0;k[j>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[j>>2]|0;d=k[i>>2]|0;a=k[h>>2]|0;k[f>>2]=k[g>>2];k[f+4>>2]=d;k[f+8>>2]=a;Oh(b,29265,f);r=e;return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;k[j+20>>2]=a;k[e>>2]=b;k[f>>2]=c;a:do if((l[k[f>>2]>>0]|0|0)==55){k[i>>2]=k[(k[f>>2]|0)+8>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[e>>2]>>2]|0))break a;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+4>>2];if((k[h>>2]|0)!=0?(sg(k[h>>2]|0,k[i>>2]|0)|0)==0:0)break;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=(k[g>>2]|0)+1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){b=0;r=g;return b|0}b=Wy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0)|0;r=g;return b|0}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;h=r;r=r+80|0;g=h+60|0;p=h+56|0;q=h+52|0;d=h+48|0;e=h+44|0;f=h+40|0;o=h+8|0;m=h+4|0;l=h;n=h+64|0;k[p>>2]=a;k[q>>2]=b;k[d>>2]=c;k[f>>2]=k[k[q>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[p>>2];k[o+4>>2]=k[(k[q>>2]|0)+28>>2];k[o+8>>2]=k[f>>2];j[o+28>>1]=1;k[o+24>>2]=0;k[m>>2]=k[k[p>>2]>>2];i[n>>0]=i[(k[m>>2]|0)+73>>0]|0;i[(k[m>>2]|0)+73>>0]=1;b=Ky(o,k[d>>2]|0)|0;k[l>>2]=b;i[(k[m>>2]|0)+73>>0]=i[n>>0]|0;if(k[l>>2]|0){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0)){c=8;break}q=(Uy(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0,-1)|0)<2;a=(k[e>>2]|0)+1|0;if(q){c=6;break}k[e>>2]=a}if((c|0)==6){k[g>>2]=a;q=k[g>>2]|0;r=h;return q|0}else if((c|0)==8){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}return 0}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)==0|(k[f>>2]|0)==0){k[d>>2]=(k[f>>2]|0)==(k[e>>2]|0)?0:2;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+4>>2]|k[(k[f>>2]|0)+4>>2];c=k[e>>2]|0;if(k[h>>2]&1024){if((k[c+4>>2]&k[(k[f>>2]|0)+4>>2]&1024|0)!=0?(k[(k[e>>2]|0)+8>>2]|0)==(k[(k[f>>2]|0)+8>>2]|0):0){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}a=l[k[e>>2]>>0]|0;if((l[c>>0]|0)!=(l[k[f>>2]>>0]|0)){if((a|0)==53?(Uy(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}if((l[k[f>>2]>>0]|0)==53?(Uy(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(((a|0)!=152?(l[k[e>>2]>>0]|0)!=154:0)?(k[(k[e>>2]|0)+8>>2]|0)!=0:0){c=k[(k[e>>2]|0)+8>>2]|0;a=k[(k[f>>2]|0)+8>>2]|0;if((l[k[e>>2]>>0]|0)==151){if(!(sg(c,a)|0))break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}else{if(!(rR(c,a)|0))break;k[d>>2]=(l[k[e>>2]>>0]|0)==53?1:2;h=k[d>>2]|0;r=i;return h|0}}while(0);if((k[(k[e>>2]|0)+4>>2]&16|0)!=(k[(k[f>>2]|0)+4>>2]&16|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(!(k[h>>2]&16384)){if(k[h>>2]&2048){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Uy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Uy(k[(k[e>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Vy(k[(k[e>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[h>>2]&8192|0)==0?(l[k[e>>2]>>0]|0)!=97:0){if((j[(k[e>>2]|0)+32>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[(k[e>>2]|0)+28>>2]|0)!=(k[(k[f>>2]|0)+28>>2]|0)){if((k[(k[e>>2]|0)+28>>2]|0)==(k[g>>2]|0)?(k[(k[f>>2]|0)+28>>2]|0)<0:0)break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;j=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[d>>2]|0)==0&(k[e>>2]|0)==0){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}if((k[d>>2]|0)==0|(k[e>>2]|0)==0){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}if((k[k[d>>2]>>2]|0)!=(k[k[e>>2]>>2]|0)){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[d>>2]>>2]|0)){d=14;break}k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];if((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)!=(l[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)){d=10;break}if(Uy(k[h>>2]|0,k[i>>2]|0,k[f>>2]|0)|0){d=12;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==10){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==12){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==14){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}return 0}function Wy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;n=t+44|0;o=t+40|0;m=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;i=t+20|0;g=t+16|0;e=t+12|0;h=t+8|0;f=t+4|0;j=t;k[n>>2]=a;k[o>>2]=b;k[m>>2]=c;k[p>>2]=d;if(k[p>>2]|0){k[s>>2]=k[k[p>>2]>>2];k[i>>2]=32768}else{b=k[n>>2]|0;d=Xy(k[o>>2]|0,k[m>>2]|0)|0;d=dx(b,d,((d|0)<0)<<31>>31)|0;k[s>>2]=d;k[i>>2]=0}k[q>>2]=k[s>>2];if(!(k[q>>2]|0)){s=k[q>>2]|0;r=t;return s|0}d=Yy(k[o>>2]|0,k[m>>2]|0)|0;k[g>>2]=d;k[e>>2]=k[g>>2]&4095;if((k[(k[o>>2]|0)+4>>2]&1024|0)==0?(k[(k[o>>2]|0)+8>>2]|0)!=0:0){d=(Tf(k[(k[o>>2]|0)+8>>2]|0)|0)+1|0;k[h>>2]=d}else k[h>>2]=0;if(!(k[m>>2]|0)){d=Zy(k[o>>2]|0)|0;k[f>>2]=d;bS(k[s>>2]|0,k[o>>2]|0,k[f>>2]|0)|0;if((k[f>>2]|0)>>>0<48)dS((k[s>>2]|0)+(k[f>>2]|0)|0,0,48-(k[f>>2]|0)|0)|0}else bS(k[s>>2]|0,k[o>>2]|0,k[e>>2]|0)|0;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]&-122881;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[g>>2]&24576;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[i>>2];if(k[h>>2]|0){i=(k[s>>2]|0)+(k[e>>2]|0)|0;k[(k[q>>2]|0)+8>>2]=i;k[j>>2]=i;bS(k[j>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[h>>2]|0)|0}do if(!((k[(k[o>>2]|0)+4>>2]|k[(k[q>>2]|0)+4>>2])&8404992)){a=k[n>>2]|0;c=(k[o>>2]|0)+20|0;if(k[(k[o>>2]|0)+4>>2]&2048){j=iy(a,k[c>>2]|0,k[m>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=j;break}else{j=_y(a,k[c>>2]|0,k[m>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=j;break}}while(0);a=k[o>>2]|0;if(!(k[(k[q>>2]|0)+4>>2]&24576)){if(k[a+4>>2]&8404992){s=k[q>>2]|0;r=t;return s|0}if((l[k[q>>2]>>0]|0|0)==159)k[(k[q>>2]|0)+12>>2]=k[(k[o>>2]|0)+12>>2];else{s=Sy(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,0)|0;k[(k[q>>2]|0)+12>>2]=s}s=Sy(k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,0)|0;k[(k[q>>2]|0)+16>>2]=s;s=k[q>>2]|0;r=t;return s|0}m=$y(a,k[m>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+m;if(!(k[(k[q>>2]|0)+4>>2]&8404992)){if(k[(k[o>>2]|0)+12>>2]|0)a=Wy(k[n>>2]|0,k[(k[o>>2]|0)+12>>2]|0,1,s)|0;else a=0;k[(k[q>>2]|0)+12>>2]=a;if(k[(k[o>>2]|0)+16>>2]|0)a=Wy(k[n>>2]|0,k[(k[o>>2]|0)+16>>2]|0,1,s)|0;else a=0;k[(k[q>>2]|0)+16>>2]=a}if(!(k[p>>2]|0)){s=k[q>>2]|0;r=t;return s|0}k[k[p>>2]>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}function Xy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[c>>2]|0)){a=k[e>>2]|0;r=f;return a|0}a=$y(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if(!(k[d>>2]&1)){a=k[e>>2]|0;r=f;return a|0}a=Xy(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0)|0;a=a+(Xy(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0)|0)|0;k[e>>2]=(k[e>>2]|0)+a;a=k[e>>2]|0;r=f;return a|0}function Yy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;do if(!(k[f>>2]|0))k[d>>2]=48;else{if((k[(k[c>>2]|0)+12>>2]|0)==0?(k[(k[c>>2]|0)+20>>2]|0)==0:0){k[d>>2]=16396;break}k[d>>2]=8220}while(0);r=e;return k[d>>2]|0}function Zy(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+4>>2]&16384))if(k[(k[c>>2]|0)+4>>2]&8192){k[b>>2]=28;break}else{k[b>>2]=48;break}else k[b>>2]=12;while(0);r=d;return k[b>>2]|0}function _y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;m=p+16|0;j=p+12|0;o=p+8|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=dx(k[e>>2]|0,8,0)|0;k[m>>2]=b;if(!(k[m>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=k[k[f>>2]>>2]|0;k[h>>2]=b;k[k[m>>2]>>2]=b;a:do if(!(k[g>>2]&1)){k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[h>>2]|0)}}while(0);b=dx(k[e>>2]|0,(k[h>>2]|0)*20|0,0)|0;k[j>>2]=b;k[(k[m>>2]|0)+4>>2]=b;if(!(k[j>>2]|0)){bg(k[e>>2]|0,k[m>>2]|0);k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}k[o>>2]=k[(k[f>>2]|0)+4>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=k[k[o>>2]>>2];b=Sy(k[e>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[k[j>>2]>>2]=b;b=Ah(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[j>>2]|0)+4>>2]=b;b=Ah(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[j>>2]|0)+8>>2]=b;i[(k[j>>2]|0)+12>>0]=i[(k[o>>2]|0)+12>>0]|0;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-3|((l[(k[o>>2]|0)+13>>0]|0)>>>1&1)<<1&255;k[(k[j>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2];k[h>>2]=(k[h>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+20;k[o>>2]=(k[o>>2]|0)+20}k[d>>2]=k[m>>2];o=k[d>>2]|0;r=p;return o|0}function $y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=(Yy(k[c>>2]|0,k[f>>2]|0)|0)&4095;k[d>>2]=a;if((k[(k[c>>2]|0)+4>>2]&1024|0)==0?(k[(k[c>>2]|0)+8>>2]|0)!=0:0){f=(Tf(k[(k[c>>2]|0)+8>>2]|0)|0)+1|0;k[d>>2]=(k[d>>2]|0)+f}r=e;return (k[d>>2]|0)+7&-8|0}function az(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;switch(k[d>>2]|0){case 116:{k[b>>2]=29449;break}case 118:{k[b>>2]=29459;break}case 117:{k[b>>2]=29469;break}default:k[b>>2]=29476}r=c;return k[b>>2]|0}function bz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t;o=t+36|0;h=t+32|0;e=t+28|0;i=t+24|0;p=t+20|0;q=t+16|0;f=t+12|0;s=t+8|0;n=t+4|0;k[h>>2]=a;k[e>>2]=b;k[i>>2]=c;k[p>>2]=d;k[f>>2]=k[k[h>>2]>>2];if((k[i>>2]|0)!=0?(l[(k[k[h>>2]>>2]|0)+69>>0]|0)==0:0){if((k[k[i>>2]>>2]|0)>(k[(k[f>>2]|0)+96+8>>2]|0)){s=k[h>>2]|0;k[g>>2]=k[p>>2];Oh(s,29482,g);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}k[s>>2]=k[k[e>>2]>>2];k[q>>2]=0;k[n>>2]=k[(k[i>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(k[k[i>>2]>>2]|0)){e=13;break}if(j[(k[n>>2]|0)+16>>1]|0){f=k[h>>2]|0;if((m[(k[n>>2]|0)+16>>1]|0)>(k[k[s>>2]>>2]|0)){e=10;break}cz(f,k[s>>2]|0,(m[(k[n>>2]|0)+16>>1]|0)-1|0,k[k[n>>2]>>2]|0,k[p>>2]|0,0)}k[q>>2]=(k[q>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}if((e|0)==10){Qy(f,k[p>>2]|0,(k[q>>2]|0)+1|0,k[k[s>>2]>>2]|0);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}else if((e|0)==13){k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}}k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}function cz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=r;r=r+48|0;g=p+32|0;t=p+28|0;s=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;q=p+8|0;o=p+4|0;n=p;k[g>>2]=a;k[t>>2]=b;k[s>>2]=c;k[m>>2]=d;k[h>>2]=e;k[j>>2]=f;k[q>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[n>>2]=k[k[g>>2]>>2];e=Sy(k[n>>2]|0,k[q>>2]|0,0)|0;k[o>>2]=e;if(!(k[o>>2]|0)){r=p;return}if((i[k[h>>2]>>0]|0)!=71)dz(k[o>>2]|0,k[j>>2]|0);if((l[k[m>>2]>>0]|0)==53){t=ez(k[g>>2]|0,k[o>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[o>>2]=t}g=(k[o>>2]|0)+4|0;k[g>>2]=k[g>>2]|4194304;g=(k[m>>2]|0)+4|0;k[g>>2]=k[g>>2]|32768;sv(k[n>>2]|0,k[m>>2]|0);g=k[m>>2]|0;h=k[o>>2]|0;j=g+48|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((k[(k[m>>2]|0)+4>>2]&1024|0)==0?(k[(k[m>>2]|0)+8>>2]|0)!=0:0){t=Ah(k[n>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[(k[m>>2]|0)+8>>2]=t;t=(k[m>>2]|0)+4|0;k[t>>2]=k[t>>2]|65536}bg(k[n>>2]|0,k[o>>2]|0);r=p;return}function dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+48|0;c=f+32|0;d=f+28|0;e=f;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<=0){r=f;return};k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=195;k[e+24>>2]=k[d>>2];Gy(e,k[c>>2]|0)|0;r=f;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+16|0;f=d+12|0;h=d+8|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;fz(e,k[h>>2]|0);c=vw(k[g>>2]|0,k[f>>2]|0,e,0)|0;r=d;return c|0}function fz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];b=Tf(k[e>>2]|0)|0;k[(k[d>>2]|0)+4>>2]=b;r=c;return}function gz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=153){r=e;return 0}a=(k[d>>2]|0)+38|0;i[a>>0]=(l[a>>0]|0)+(k[(k[c>>2]|0)+24>>2]|0);r=e;return 0}function hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g;c=g+16|0;h=g+12|0;e=g+8|0;d=g+4|0;k[c>>2]=a;k[h>>2]=b;k[e>>2]=0;k[d>>2]=k[(k[k[c>>2]>>2]|0)+96+12>>2];if((k[h>>2]|0)<=(k[d>>2]|0)){h=k[e>>2]|0;r=g;return h|0}h=k[c>>2]|0;k[f>>2]=k[d>>2];Oh(h,29513,f);k[e>>2]=1;h=k[e>>2]|0;r=g;return h|0}function iz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+176|0;W=X+40|0;V=X+24|0;C=X+8|0;B=X;H=X+164|0;I=X+160|0;g=X+156|0;J=X+152|0;K=X+148|0;M=X+144|0;N=X+140|0;p=X+136|0;s=X+132|0;O=X+128|0;n=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;o=X+76|0;E=X+72|0;u=X+68|0;q=X+64|0;D=X+60|0;y=X+56|0;G=X+52|0;R=X+48|0;k[I>>2]=a;k[g>>2]=b;k[J>>2]=c;k[K>>2]=d;k[M>>2]=e;k[N>>2]=f;k[O>>2]=0;k[n>>2]=0;k[t>>2]=0;k[P>>2]=k[k[I>>2]>>2];k[S>>2]=0;k[U>>2]=k[M>>2];k[T>>2]=0;k[Q>>2]=0;k[A>>2]=0;k[(k[N>>2]|0)+28>>2]=-1;k[(k[N>>2]|0)+44>>2]=0;a:do if(k[g>>2]|0){if(m[(k[M>>2]|0)+28>>1]&6){k[g>>2]=0;break}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[P>>2]|0)+20>>2]|0))break a;c=(sg(k[(k[(k[P>>2]|0)+16>>2]|0)+(k[p>>2]<<4)>>2]|0,k[g>>2]|0)|0)==0;f=k[p>>2]|0;if(c)break;k[p>>2]=f+1}k[T>>2]=k[(k[(k[P>>2]|0)+16>>2]|0)+(f<<4)+12>>2]}while(0);b:while(1){if(!((k[M>>2]|0)!=0?(k[O>>2]|0)==0:0)){F=89;break}k[z>>2]=k[(k[M>>2]|0)+4>>2];if(k[z>>2]|0){k[p>>2]=0;k[x>>2]=(k[z>>2]|0)+8;while(1){if((k[p>>2]|0)>=(k[k[z>>2]>>2]|0))break;k[A>>2]=k[(k[x>>2]|0)+16>>2];if((k[(k[x>>2]|0)+20>>2]|0)!=0?(k[(k[(k[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){k[o>>2]=0;k[w>>2]=k[k[(k[x>>2]|0)+20>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break;if(pz(k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+8>>2]|0,k[K>>2]|0,k[J>>2]|0,k[g>>2]|0)|0){k[O>>2]=(k[O>>2]|0)+1;k[n>>2]=2;k[S>>2]=k[x>>2];j[(k[N>>2]|0)+32>>1]=k[s>>2];k[o>>2]=1}k[s>>2]=(k[s>>2]|0)+1}if(!((k[o>>2]|0)!=0|(k[J>>2]|0)==0))F=21}else F=21;c:do if((F|0)==21){F=0;if((k[g>>2]|0)!=0?(k[(k[A>>2]|0)+64>>2]|0)!=(k[T>>2]|0):0)break;if(k[J>>2]|0){if(k[(k[x>>2]|0)+12>>2]|0)f=k[(k[x>>2]|0)+12>>2]|0;else f=k[k[A>>2]>>2]|0;k[E>>2]=f;if(sg(k[E>>2]|0,k[J>>2]|0)|0)break}c=k[n>>2]|0;k[n>>2]=c+1;if(!c)k[S>>2]=k[x>>2];k[s>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break c;if(!(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)){if((k[O>>2]|0)!=1)break;if((l[(k[x>>2]|0)+36>>0]&4|0)==0?(qz(k[(k[x>>2]|0)+52>>2]|0,k[K>>2]|0)|0)==0:0)break}k[s>>2]=(k[s>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+16}k[O>>2]=(k[O>>2]|0)+1;k[S>>2]=k[x>>2];if((k[s>>2]|0)==(j[(k[A>>2]|0)+32>>1]|0))f=-1;else f=(k[s>>2]&65535)<<16>>16;j[(k[N>>2]|0)+32>>1]=f}while(0);k[p>>2]=(k[p>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+72}if(k[S>>2]|0){k[(k[N>>2]|0)+28>>2]=k[(k[S>>2]|0)+44>>2];k[(k[N>>2]|0)+44>>2]=k[(k[S>>2]|0)+16>>2];if(l[(k[S>>2]|0)+36>>0]&8){c=(k[N>>2]|0)+4|0;k[c>>2]=k[c>>2]|1048576}k[T>>2]=k[(k[(k[N>>2]|0)+44>>2]|0)+64>>2]}}if((k[g>>2]|0)==0&(k[J>>2]|0)!=0&(k[n>>2]|0)==0?(k[(k[I>>2]|0)+128>>2]|0)!=0:0){k[u>>2]=l[(k[I>>2]|0)+148>>0];if((k[u>>2]|0)!=109?(sg(29940,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=1;k[A>>2]=k[(k[I>>2]|0)+128>>2]}else F=50;do if((F|0)==50){F=0;if((k[u>>2]|0)!=108?(sg(29944,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=0;k[A>>2]=k[(k[I>>2]|0)+128>>2];break}k[A>>2]=0}while(0);if(k[A>>2]|0){k[T>>2]=k[(k[A>>2]|0)+64>>2];k[n>>2]=(k[n>>2]|0)+1;k[q>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;c=(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)==0;h=k[q>>2]|0;if(c){F=58;break}k[q>>2]=h+1;k[v>>2]=(k[v>>2]|0)+16}if((F|0)==58?(F=0,(h|0)==(j[(k[A>>2]|0)+32>>1]|0)):0)k[q>>2]=-1;if(((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0)?(Ei(k[K>>2]|0)|0)!=0:0)?(l[(k[A>>2]|0)+42>>0]&64|0)==0:0)k[q>>2]=-1;if((k[q>>2]|0)<(j[(k[A>>2]|0)+34>>1]|0)){k[O>>2]=(k[O>>2]|0)+1;f=k[N>>2]|0;do if((k[q>>2]|0)>=0){e=(k[q>>2]|0)>=32?-1:1<>2];a=k[I>>2]|0;if(!(k[f+28>>2]|0)){c=a+140|0;k[c>>2]=k[c>>2]|e;break}else{c=a+144|0;k[c>>2]=k[c>>2]|e;break}}else i[f+1>>0]=68;while(0);j[(k[N>>2]|0)+32>>1]=k[q>>2];k[(k[N>>2]|0)+44>>2]=k[A>>2];k[Q>>2]=1}}}if((((k[O>>2]|0)==0&(k[n>>2]|0)==1&(k[S>>2]|0)!=0?(m[(k[M>>2]|0)+28>>1]&32|0)==0:0)?(Ei(k[K>>2]|0)|0)!=0:0)?(l[(k[(k[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){k[O>>2]=1;j[(k[N>>2]|0)+32>>1]=-1;i[(k[N>>2]|0)+1>>0]=68}c=k[(k[M>>2]|0)+8>>2]|0;k[w>>2]=c;d:do if((c|0)!=0&(k[J>>2]|0)==0&(k[O>>2]|0)==0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break d;k[D>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2];if((k[D>>2]|0)!=0?(sg(k[D>>2]|0,k[K>>2]|0)|0)==0:0){F=82;break b}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[O>>2]|0)continue;k[M>>2]=k[(k[M>>2]|0)+16>>2];k[t>>2]=(k[t>>2]|0)+1}if((F|0)==82){k[y>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((m[(k[M>>2]|0)+28>>1]&1|0)==0?(k[(k[y>>2]|0)+4>>2]&2|0)!=0:0){W=k[I>>2]|0;k[B>>2]=k[D>>2];Oh(W,29948,B);k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}cz(k[I>>2]|0,k[w>>2]|0,k[s>>2]|0,k[N>>2]|0,18402,k[t>>2]|0);k[O>>2]=1;k[S>>2]=0}else if((F|0)==89){if((k[O>>2]|0)==0&(k[J>>2]|0)==0?(k[(k[N>>2]|0)+4>>2]&64|0)!=0:0){i[k[N>>2]>>0]=97;k[(k[N>>2]|0)+44>>2]=0;k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}if((k[O>>2]|0)!=1){k[G>>2]=(k[O>>2]|0)==0?29979:29994;do if(!(k[g>>2]|0)){e=k[I>>2]|0;f=k[G>>2]|0;if(k[J>>2]|0){J=k[J>>2]|0;W=k[K>>2]|0;k[V>>2]=f;k[V+4>>2]=J;k[V+8>>2]=W;Oh(e,30029,V);break}else{V=k[K>>2]|0;k[W>>2]=f;k[W+4>>2]=V;Oh(e,30039,W);break}}else{W=k[I>>2]|0;F=k[g>>2]|0;J=k[J>>2]|0;V=k[K>>2]|0;k[C>>2]=k[G>>2];k[C+4>>2]=F;k[C+8>>2]=J;k[C+12>>2]=V;Oh(W,30016,C)}while(0);i[(k[I>>2]|0)+17>>0]=1;W=(k[U>>2]|0)+24|0;k[W>>2]=(k[W>>2]|0)+1}if((k[S>>2]|0)!=0?(j[(k[N>>2]|0)+32>>1]|0)>=0:0){W=j[(k[N>>2]|0)+32>>1]|0;k[R>>2]=W;k[R>>2]=(k[R>>2]|0)>=64?63:W;R=eS(1,0,k[R>>2]|0)|0;W=(k[S>>2]|0)+56|0;S=W;V=k[S+4>>2]|L;k[W>>2]=k[S>>2]|R;k[W+4>>2]=V}sv(k[P>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+12>>2]=0;sv(k[P>>2]|0,k[(k[N>>2]|0)+16>>2]|0);k[(k[N>>2]|0)+16>>2]=0;i[k[N>>2]>>0]=(k[Q>>2]|0)!=0?88:152}if((k[O>>2]|0)!=1){k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}if(!(k[(k[N>>2]|0)+4>>2]&4194304))rz(k[I>>2]|0,k[N>>2]|0,k[T>>2]|0,k[(k[M>>2]|0)+4>>2]|0);while(1){W=(k[U>>2]|0)+20|0;k[W>>2]=(k[W>>2]|0)+1;if((k[U>>2]|0)==(k[M>>2]|0))break;k[U>>2]=k[(k[U>>2]|0)+16>>2]}k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}function jz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;h=j;e=j+24|0;f=j+20|0;g=j+16|0;l=j+12|0;i=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=d;if(!((m[(k[f>>2]|0)+28>>1]|0)&k[l>>2])){r=j;return}k[i>>2]=29856;if(!((m[(k[f>>2]|0)+28>>1]|0)&32)){if((m[(k[f>>2]|0)+28>>1]|0)&4)k[i>>2]=29902}else k[i>>2]=29884;l=k[e>>2]|0;c=k[i>>2]|0;k[h>>2]=k[g>>2];k[h+4>>2]=c;Oh(l,29920,h);r=j;return}function kz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=-1.0;if((l[k[c>>2]>>0]|0|0)!=132){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}a=k[(k[c>>2]|0)+8>>2]|0;oz(a,d,Tf(k[(k[c>>2]|0)+8>>2]|0)|0,1)|0;if(+p[d>>3]>1.0){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}else{k[b>>2]=~~(+p[d>>3]*134217728.0);d=k[b>>2]|0;r=e;return d|0}return 0}function lz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+48|0;e=d+44|0;g=d+40|0;f=d+12|0;c=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=196;k[f+24>>2]=c;k[c>>2]=k[g>>2];k[c+4>>2]=0;k[c+8>>2]=0;Fy(f,k[(k[e>>2]|0)+20>>2]|0)|0;r=d;return ((k[c+4>>2]|0)>0?1:(k[c+8>>2]|0)==0)&1|0}function mz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;d=e+8|0;k[c>>2]=a;i[d>>0]=i[k[c>>2]>>0]|0;if((l[d>>0]|0|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;if((l[d>>0]|0|0)==158){k[b>>2]=k[k[(k[c>>2]|0)+20>>2]>>2];a=k[b>>2]|0;r=e;return a|0}if((l[d>>0]|0|0)==119){k[b>>2]=k[k[k[(k[c>>2]|0)+20>>2]>>2]>>2];a=k[b>>2]|0;r=e;return a|0}else{k[b>>2]=1;a=k[b>>2]|0;r=e;return a|0}return 0}function nz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=152?(l[k[d>>2]>>0]|0|0)!=154:0){r=i;return 0}k[e>>2]=k[(k[c>>2]|0)+24>>2];k[f>>2]=k[k[e>>2]>>2];if(k[f>>2]|0)c=k[k[f>>2]>>2]|0;else c=0;k[h>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;if((k[(k[d>>2]|0)+28>>2]|0)==(k[(k[f>>2]|0)+8+((k[g>>2]|0)*72|0)+44>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}c=k[e>>2]|0;if((k[g>>2]|0)<(k[h>>2]|0)){h=c+4|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}else{h=c+8|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}return 0}function oz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;E=F+76|0;v=F+72|0;w=F+68|0;e=F+64|0;h=F+80|0;o=F+60|0;D=F+56|0;t=F+52|0;s=F+16|0;n=F+48|0;y=F+44|0;q=F+40|0;x=F+36|0;C=F+8|0;z=F+32|0;A=F+28|0;j=F+24|0;u=F;k[v>>2]=a;k[w>>2]=b;k[e>>2]=c;i[h>>0]=d;k[D>>2]=(k[v>>2]|0)+(k[e>>2]|0);k[t>>2]=1;a=s;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=0;k[y>>2]=1;k[q>>2]=0;k[x>>2]=1;k[z>>2]=0;k[A>>2]=0;p[k[w>>2]>>3]=0.0;if((l[h>>0]|0)==1)k[o>>2]=1;else{k[o>>2]=2;k[j>>2]=3-(l[h>>0]|0);while(1){if((k[j>>2]|0)>=(k[e>>2]|0))break;if(i[(k[v>>2]|0)+(k[j>>2]|0)>>0]|0)break;k[j>>2]=(k[j>>2]|0)+2}k[A>>2]=(k[j>>2]|0)<(k[e>>2]|0)&1;k[D>>2]=(k[v>>2]|0)+(k[j>>2]^1);k[v>>2]=(k[v>>2]|0)+(l[h>>0]&1)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&1))break;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0){k[E>>2]=0;E=k[E>>2]|0;r=F;return E|0}if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}else{k[t>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;a=s;b=k[a+4>>2]|0;if(!((l[18403+(l[k[v>>2]>>0]|0)>>0]&4|0)!=0&((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835)))break;a=s;a=kS(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))break;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}a:do if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){b:do if((i[k[v>>2]>>0]|0)==46){k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break b;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))break b;a=s;b=k[a+4>>2]|0;if((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835){a=s;a=kS(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=$R(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[n>>2]=(k[n>>2]|0)+-1}k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[z>>2]=(k[z>>2]|0)+1}}while(0);if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){if(!((i[k[v>>2]>>0]|0)!=101?(i[k[v>>2]>>0]|0)!=69:0))m=34;c:do if((m|0)==34){k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=0;if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}else{k[y>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break c;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))break c;if((k[q>>2]|0)<1e4)e=((k[q>>2]|0)*10|0)+((i[k[v>>2]>>0]|0)-48)|0;else e=1e4;k[q>>2]=e;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0);k[x>>2]=1}}while(0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&1))break a;k[v>>2]=(k[v>>2]|0)+(k[o>>2]|0)}}}while(0);o=ha(k[q>>2]|0,k[y>>2]|0)|0;k[q>>2]=o+(k[n>>2]|0);if((k[q>>2]|0)<0){k[y>>2]=-1;o=ha(k[q>>2]|0,-1)|0;k[q>>2]=o}else k[y>>2]=1;o=s;do if(!((k[o>>2]|0)==0&(k[o+4>>2]|0)==0)){while(1){if((k[q>>2]|0)<=0)break;h=s;e=k[h>>2]|0;h=k[h+4>>2]|0;if((k[y>>2]|0)>0){if((h|0)>214748364|(h|0)==214748364&e>>>0>=3435973836)break;n=s;n=kS(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=s;k[o>>2]=n;k[o+4>>2]=L}else{o=jS(e|0,h|0,10,0)|0;if((o|0)!=0|(L|0)!=0)break;n=s;n=iS(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;o=s;k[o>>2]=n;k[o+4>>2]=L}k[q>>2]=(k[q>>2]|0)+-1}n=(k[t>>2]|0)<0;o=s;m=k[o>>2]|0;o=k[o+4>>2]|0;a=_R(0,0,m|0,o|0)|0;t=s;k[t>>2]=n?a:m;k[t+4>>2]=n?L:o;if(!(k[q>>2]|0)){y=s;p[C>>3]=+((k[y>>2]|0)>>>0)+4294967296.0*+(k[y+4>>2]|0);break}p[u>>3]=1.0;if((k[q>>2]|0)<=307){while(1){if(!((k[q>>2]|0)%22|0))break;p[u>>3]=+p[u>>3]*10.0;k[q>>2]=(k[q>>2]|0)-1}while(1){if((k[q>>2]|0)<=0)break;p[u>>3]=+p[u>>3]*1.0e22;k[q>>2]=(k[q>>2]|0)-22}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;break}else{p[C>>3]=g*f;break}}if((k[q>>2]|0)>=342){u=s;f=+((k[u>>2]|0)>>>0)+4294967296.0*+(k[u+4>>2]|0);if((k[y>>2]|0)<0){p[C>>3]=0.0*f;break}else{p[C>>3]=B*f;break}}while(1){if(!((k[q>>2]|0)%308|0))break;p[u>>3]=+p[u>>3]*10.0;k[q>>2]=(k[q>>2]|0)-1}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;p[C>>3]=+p[C>>3]/1.e+308;break}else{p[C>>3]=g*f;p[C>>3]=+p[C>>3]*1.e+308;break}}else p[C>>3]=(k[t>>2]|0)<0?-0.0:0.0;while(0);p[k[w>>2]>>3]=+p[C>>3];if(((k[z>>2]|0)>0?(k[v>>2]|0)==(k[D>>2]|0):0)&(k[x>>2]|0)!=0)e=(k[A>>2]|0)==0;else e=0;k[E>>2]=e&1;E=k[E>>2]|0;r=F;return E|0}function pz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[j>>2]|0){if((Jd(k[f>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0?(i[(k[j>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[h>>2]|0){if((Jd(k[f>>2]|0,k[h>>2]|0,k[l>>2]|0)|0)==0?(i[(k[h>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);if((k[g>>2]|0)!=0?(sg(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function qz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[d>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break a;if(!(sg(k[(k[k[d>>2]>>2]|0)+(k[f>>2]<<3)>>2]|0,k[e>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}while(0);k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function rz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;f=s+36|0;g=s+32|0;e=s+28|0;h=s+24|0;t=s+20|0;p=s+16|0;q=s+12|0;o=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[h>>2]=d;k[t>>2]=k[k[f>>2]>>2];k[p>>2]=0;if(!(k[(k[t>>2]|0)+296>>2]|0)){r=s;return}t=Ph(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[n>>2]=t;if((k[n>>2]|0)<0){r=s;return}a:do if((l[k[g>>2]>>0]|0)==88)k[p>>2]=k[(k[f>>2]|0)+128>>2];else{k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[h>>2]>>2]|0))break a;e=k[o>>2]|0;if((k[(k[g>>2]|0)+28>>2]|0)==(k[(k[h>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0))break;k[o>>2]=e+1}k[p>>2]=k[(k[h>>2]|0)+8+(e*72|0)+16>>2]}while(0);k[m>>2]=j[(k[g>>2]|0)+32>>1];if(!(k[p>>2]|0)){r=s;return}do if((k[m>>2]|0)<0)if((j[(k[p>>2]|0)+32>>1]|0)>=0){k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(j[(k[p>>2]|0)+32>>1]<<4)>>2];break}else{k[q>>2]=19895;break}else k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2];while(0);if(2!=(sz(k[f>>2]|0,k[k[p>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)){r=s;return}i[k[g>>2]>>0]=101;r=s;return}function sz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;o=q+16|0;n=q;e=q+52|0;f=q+48|0;g=q+44|0;h=q+40|0;j=q+36|0;l=q+32|0;p=q+28|0;m=q+24|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];k[p>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];if(i[(k[l>>2]|0)+148+5>>0]|0){k[e>>2]=0;p=k[e>>2]|0;r=q;return p|0}b=ac[k[(k[l>>2]|0)+296>>2]&255](k[(k[l>>2]|0)+300>>2]|0,20,k[g>>2]|0,k[h>>2]|0,k[p>>2]|0,k[(k[f>>2]|0)+448>>2]|0)|0;k[m>>2]=b;if((k[m>>2]|0)!=1){if((k[m>>2]|0)!=2&(k[m>>2]|0)!=0)lx(k[f>>2]|0)}else{d=k[f>>2]|0;if((k[j>>2]|0)!=0?1:(k[(k[l>>2]|0)+20>>2]|0)>2){l=k[g>>2]|0;o=k[h>>2]|0;k[n>>2]=k[p>>2];k[n+4>>2]=l;k[n+8>>2]=o;Oh(d,30046,n)}else{p=k[h>>2]|0;k[o>>2]=k[g>>2];k[o+4>>2]=p;Oh(d,30079,o)}k[(k[f>>2]|0)+12>>2]=23}k[e>>2]=k[m>>2];p=k[e>>2]|0;r=q;return p|0} +function lN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+4>>2];k[c>>2]=(k[e>>2]|0)+72;while(1){if(!(k[k[c>>2]>>2]|0))break;k[b>>2]=k[k[c>>2]>>2];a=(k[b>>2]|0)+12|0;if((k[k[b>>2]>>2]|0)!=(k[d>>2]|0)){k[c>>2]=a;continue}k[k[c>>2]>>2]=k[a>>2];if((k[(k[b>>2]|0)+4>>2]|0)==1)continue;Ud(k[b>>2]|0)}a=k[e>>2]|0;if((k[(k[e>>2]|0)+76>>2]|0)==(k[d>>2]|0)){k[a+76>>2]=0;e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;r=f;return}if((k[a+40>>2]|0)!=2){r=f;return}e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-65;r=f;return}function mN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;j=l+20|0;h=l+16|0;e=l+12|0;f=l+8|0;d=l+4|0;g=l;k[c>>2]=a;k[j>>2]=0;k[h>>2]=k[k[c>>2]>>2];iK(k[c>>2]|0);do if(!(i[(k[c>>2]|0)+18>>0]|0)){a=TF(k[c>>2]|0)|0;k[g>>2]=a;a=dG(k[c>>2]|0,k[g>>2]|0)|0;if((a|0)!=(k[g>>2]|0)?(k[g>>2]|0)!=((((k[384]|0)>>>0)/((k[(k[c>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=qr((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[f>>2]=a;a=hK(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>>>0>(k[g>>2]|0)>>>0){j=_j(61919)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}if((k[e>>2]|0)>>>0<(k[g>>2]|0)>>>0){a=fI(k[c>>2]|0,0,0)|0;k[j>>2]=a}k[d>>2]=k[g>>2];while(1){if(!((k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0?(k[j>>2]|0)==0:0))break;a=jK(k[c>>2]|0,k[e>>2]|0,k[d>>2]|0,1)|0;k[j>>2]=a;k[d>>2]=(k[d>>2]|0)+-1}if(((k[j>>2]|0)==101|(k[j>>2]|0)==0)&(k[f>>2]|0)>>>0>0){a=Qg(k[(k[(k[c>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[j>>2]=a;pt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);pt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);pt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[e>>2]|0);i[(k[c>>2]|0)+19>>0]=1;k[(k[c>>2]|0)+44>>2]=k[e>>2]}if(!(k[j>>2]|0))break;Ar(k[h>>2]|0)|0;break}j=_j(61914)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}while(0);k[b>>2]=k[j>>2];j=k[b>>2]|0;r=l;return j|0}function nN(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(k[(k[c>>2]|0)+44>>2]|0){k[b>>2]=k[a+44>>2];d=k[b>>2]|0;r=e;return d|0}if(((l[a+17>>0]|0|0)==2?(l[(k[c>>2]|0)+4>>0]|0|0)!=0:0)?(l[(k[c>>2]|0)+5>>0]|0|0)==1:0){i[(k[c>>2]|0)+17>>0]=1;k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;a=Br(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,1)|0;k[d>>2]=a;d=wr(k[c>>2]|0,k[d>>2]|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function oN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;e=f+4|0;d=f;k[c>>2]=a;k[f+8>>2]=b;k[e>>2]=0;if(i[(k[c>>2]|0)+19>>0]|0){e=k[e>>2]|0;r=f;return e|0}if((k[(k[c>>2]|0)+28>>2]|0)>>>0<=0){e=k[e>>2]|0;r=f;return e|0}a=Fg(k[c>>2]|0,1,d,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Qg(k[d>>2]|0)|0;k[e>>2]=a}if(!(k[e>>2]|0)){Lt(k[d>>2]|0);i[(k[c>>2]|0)+19>>0]=1}Ig(k[d>>2]|0);e=k[e>>2]|0;r=f;return e|0}function pN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;e=n+28|0;m=n+24|0;j=n+20|0;g=n+8|0;h=n;f=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(((k[e>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0)?(k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0:0){i[(k[d>>2]|0)+20>>0]=1;k[j>>2]=0;while(1){if(!(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[f>>2]=(k[f>>2]|0)+(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0);k[j>>2]=(k[j>>2]|0)+1}if(i[(k[d>>2]|0)+8>>0]|0){a=zs(k[d>>2]|0)|0;b=(k[d>>2]|0)+80|0;k[b>>2]=a;k[b+4>>2]=L}o=(k[d>>2]|0)+80|0;a=k[o+4>>2]|0;b=g;k[b>>2]=k[o>>2];k[b+4>>2]=a;b=g;b=$t(k[(k[d>>2]|0)+68>>2]|0,k[b>>2]|0,k[b+4>>2]|0,((k[384]|0)/(k[(k[d>>2]|0)+160>>2]|0)|0)+1|0)|0;k[m>>2]=b;if((((0==(b|0)?(p=k[(k[d>>2]|0)+68>>2]|0,a=k[e>>2]|0,b=k[j>>2]|0,o=g,o=$R(k[o>>2]|0,k[o+4>>2]|0,4,0)|0,o=Sg(p,a,b,o,L)|0,k[m>>2]=o,0==(o|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=$R(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=$R(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=$t(o,p,L,k[j>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=$R(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=$R(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=$R(p|0,L|0,4,0)|0,p=$t(o,p,L,k[f>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=$R(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=$R(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=$R(p|0,L|0,8,0)|0,p=Sg(o,25901,8,p,L)|0,k[m>>2]=p,0==(p|0)):0){o=(k[j>>2]|0)+20|0;p=(k[d>>2]|0)+80|0;b=p;o=$R(k[b>>2]|0,k[b+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;k[p>>2]=o;k[p+4>>2]=L;p=fj(k[(k[d>>2]|0)+68>>2]|0,h)|0;k[m>>2]=p;if(0==(p|0)?(o=h,a=k[o+4>>2]|0,p=(k[d>>2]|0)+80|0,b=k[p+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[o>>2]|0)>>>0>(k[p>>2]|0)>>>0:0)):0){p=(k[d>>2]|0)+80|0;p=Er(k[(k[d>>2]|0)+68>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[m>>2]=p}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=0;p=k[c>>2]|0;r=n;return p|0}function qN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;b=u+44|0;s=u+40|0;e=u+36|0;q=u+32|0;d=u+28|0;c=u+24|0;g=u+20|0;o=u+16|0;f=u+12|0;p=u+8|0;h=u+4|0;n=u;k[b>>2]=a;k[s>>2]=0;k[d>>2]=0;k[g>>2]=0;k[o>>2]=k[(k[b>>2]|0)+16>>2];k[f>>2]=((k[(k[o>>2]|0)+156>>2]|0)>>>0)/((k[(k[o>>2]|0)+160>>2]|0)>>>0)|0;a=(k[o>>2]|0)+21|0;i[a>>0]=l[a>>0]|0|4;k[q>>2]=((k[(k[b>>2]|0)+20>>2]|0)-1&~((k[f>>2]|0)-1))+1;k[e>>2]=k[(k[o>>2]|0)+28>>2];do if((k[(k[b>>2]|0)+20>>2]|0)>>>0<=(k[e>>2]|0)>>>0)if(((k[q>>2]|0)+(k[f>>2]|0)-1|0)>>>0>(k[e>>2]|0)>>>0){k[d>>2]=(k[e>>2]|0)+1-(k[q>>2]|0);break}else{k[d>>2]=k[f>>2];break}else k[d>>2]=(k[(k[b>>2]|0)+20>>2]|0)-(k[q>>2]|0)+1;while(0);k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[d>>2]|0)?(k[s>>2]|0)==0:0))break;k[p>>2]=(k[q>>2]|0)+(k[c>>2]|0);if((k[p>>2]|0)!=(k[(k[b>>2]|0)+20>>2]|0)?(xj(k[(k[o>>2]|0)+60>>2]|0,k[p>>2]|0)|0)!=0:0){a=rs(k[o>>2]|0,k[p>>2]|0)|0;k[h>>2]=a;if(a){if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Ts(k[h>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(k[p>>2]|0)!=(((k[384]|0)/(k[(k[o>>2]|0)+160>>2]|0)|0)+1|0)):0)?(a=Fg(k[o>>2]|0,k[p>>2]|0,h,0)|0,k[s>>2]=a,(k[s>>2]|0)==0):0){a=rN(k[h>>2]|0)|0;k[s>>2]=a;if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Ts(k[h>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}if(!((k[s>>2]|0)==0&(k[g>>2]|0)!=0)){t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[d>>2]|0))break;t=rs(k[o>>2]|0,(k[q>>2]|0)+(k[c>>2]|0)|0)|0;k[n>>2]=t;if(k[n>>2]|0){t=(k[n>>2]|0)+24|0;j[t>>1]=m[t>>1]|0|8;Ts(k[n>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}function rN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+16>>2];k[e>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0|0)==2?(a=sN(k[d>>2]|0)|0,k[e>>2]=a,(k[e>>2]|0)!=0):0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}ts(k[c>>2]|0);do if((k[(k[d>>2]|0)+60>>2]|0)!=0?(Aj(k[(k[d>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0)==0:0){if((k[(k[c>>2]|0)+20>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){if((l[(k[d>>2]|0)+17>>0]|0|0)==4)break;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;break}a=tN(k[c>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|4;if((k[(k[d>>2]|0)+104>>2]|0)>0){a=Gt(k[c>>2]|0)|0;k[e>>2]=a}if((k[(k[d>>2]|0)+28>>2]|0)>>>0<(k[(k[c>>2]|0)+20>>2]|0)>>>0)k[(k[d>>2]|0)+28>>2]=k[(k[c>>2]|0)+20>>2];k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function sN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+20|0;f=h+16|0;g=h+12|0;d=h+8|0;b=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[d>>2]=k[k[f>>2]>>2];a=k[f>>2]|0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[a+44>>2];g=k[e>>2]|0;r=h;return g|0}if((Lr(a)|0)==0?(l[(k[f>>2]|0)+5>>0]|0)!=2:0){a=uj(k[(k[f>>2]|0)+28>>2]|0)|0;k[(k[f>>2]|0)+60>>2]=a;if(!(k[(k[f>>2]|0)+60>>2]|0)){k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}do if(!(k[k[(k[f>>2]|0)+68>>2]>>2]|0)){if((l[(k[f>>2]|0)+5>>0]|0)==4){uN(k[(k[f>>2]|0)+68>>2]|0);break}k[b>>2]=6;a=k[b>>2]|0;if(i[(k[f>>2]|0)+13>>0]|0){k[b>>2]=a|4104;k[c>>2]=k[11]}else{k[b>>2]=a|2048;k[c>>2]=0}a=vN(k[f>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){d=bu(k[d>>2]|0,k[(k[f>>2]|0)+180>>2]|0,k[(k[f>>2]|0)+68>>2]|0,k[b>>2]|0,k[c>>2]|0)|0;k[g>>2]=d}}while(0);if(!(k[g>>2]|0)){k[(k[f>>2]|0)+48>>2]=0;d=(k[f>>2]|0)+80|0;k[d>>2]=0;k[d+4>>2]=0;i[(k[f>>2]|0)+20>>0]=0;d=(k[f>>2]|0)+88|0;k[d>>2]=0;k[d+4>>2]=0;d=Nt(k[f>>2]|0)|0;k[g>>2]=d}}a=k[f>>2]|0;if(k[g>>2]|0){zj(k[a+60>>2]|0);k[(k[f>>2]|0)+60>>2]=0}else i[a+17>>0]=3;k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}function tN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;i=r;r=r+32|0;b=i+28|0;c=i+24|0;g=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i;k[c>>2]=a;k[g>>2]=k[(k[c>>2]|0)+16>>2];n=(k[g>>2]|0)+80|0;l=k[n+4>>2]|0;a=e;k[a>>2]=k[n>>2];k[a+4>>2]=l;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=qs(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;a=e;a=$t(k[(k[g>>2]|0)+68>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];n=k[b>>2]|0;r=i;return n|0}o=k[(k[g>>2]|0)+68>>2]|0;a=k[f>>2]|0;l=k[(k[g>>2]|0)+160>>2]|0;n=e;n=$R(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;n=Sg(o,a,l,n,L)|0;k[h>>2]=n;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}n=k[(k[g>>2]|0)+68>>2]|0;l=e;o=k[(k[g>>2]|0)+160>>2]|0;o=$R(k[l>>2]|0,k[l+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=$R(o|0,L|0,4,0)|0;o=$t(n,o,L,k[d>>2]|0)|0;k[h>>2]=o;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}else{n=8+(k[(k[g>>2]|0)+160>>2]|0)|0;o=(k[g>>2]|0)+80|0;l=o;n=$R(k[l>>2]|0,k[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=(k[g>>2]|0)+48|0;k[o>>2]=(k[o>>2]|0)+1;o=vj(k[(k[g>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=o;o=au(k[g>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=k[h>>2]|o;k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}return 0}function uN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;bu(0,0,k[c>>2]|0,0,-1)|0;r=b;return}function vN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=0;if(i[(k[c>>2]|0)+13>>0]|0){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}if(!(k[(k[c>>2]|0)+28>>2]|0)){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}a=Ki(k[(k[c>>2]|0)+64>>2]|0,20,d)|0;k[e>>2]=a;if((k[e>>2]|0)!=12){if((k[e>>2]|0)==0&(k[d>>2]|0)!=0)k[e>>2]=1032}else k[e>>2]=0;k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function wN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=k[f>>2]|0;do if(k[(k[f>>2]|0)+144>>2]|0){d=k[c+144>>2]|0;k[l>>2]=d;k[k[i>>2]>>2]=d;k[(k[f>>2]|0)+144>>2]=k[(k[l>>2]|0)+12>>2];k[(k[l>>2]|0)+12>>2]=0;dS(k[(k[l>>2]|0)+8>>2]|0,0,m[(k[f>>2]|0)+148>>1]|0|0)|0}else{d=ug(40+(m[c+148>>1]|0)|0,0)|0;k[l>>2]=d;k[k[i>>2]>>2]=d;if(k[l>>2]|0){k[(k[l>>2]|0)+8>>2]=(k[l>>2]|0)+40;j[(k[l>>2]|0)+24>>1]=32;j[(k[l>>2]|0)+26>>1]=1;k[(k[l>>2]|0)+16>>2]=k[f>>2];break}i=k[(k[f>>2]|0)+64>>2]|0;l=k[(k[f>>2]|0)+160>>2]|0;l=kS((k[g>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;Ws(i,l,L,k[h>>2]|0)|0;k[e>>2]=7;l=k[e>>2]|0;r=n;return l|0}while(0);k[(k[l>>2]|0)+20>>2]=k[g>>2];k[(k[l>>2]|0)+4>>2]=k[h>>2];l=(k[f>>2]|0)+128|0;k[l>>2]=(k[l>>2]|0)+1;k[e>>2]=0;l=k[e>>2]|0;r=n;return l|0}function xN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[e>>2]|0)+33>>0]|0)==2){k[d>>2]=0;i=k[d>>2]|0;r=n;return i|0}c=yN(k[e>>2]|0)|0;if((c|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[(k[h>>2]|0)+26>>1]|0)==0?(m[(k[h>>2]|0)+24>>1]&8|0)==0:0)break;k[h>>2]=k[(k[h>>2]|0)+36>>2]}k[(k[e>>2]|0)+8>>2]=k[h>>2];a:do if(!(k[h>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+4>>2];while(1){if(!(k[h>>2]|0))break a;if(!(j[(k[h>>2]|0)+26>>1]|0))break a;k[h>>2]=k[(k[h>>2]|0)+36>>2]}}while(0);if((k[h>>2]|0)!=0?(c=gc[k[(k[e>>2]|0)+36>>2]&255](k[(k[e>>2]|0)+40>>2]|0,k[h>>2]|0)|0,k[i>>2]=c,(k[i>>2]|0)!=0&(k[i>>2]|0)!=5):0){k[d>>2]=k[i>>2];i=k[d>>2]|0;r=n;return i|0}}i=Yb[k[144>>2]&255](k[(k[e>>2]|0)+44>>2]|0,k[f>>2]|0,2)|0;k[k[g>>2]>>2]=i;k[d>>2]=(k[k[g>>2]>>2]|0)==0?7:0;i=k[d>>2]|0;r=n;return i|0}function yN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[140>>2]&255](k[(k[c>>2]|0)+44>>2]|0)|0;r=b;return a|0}function zN(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+108>>2]|0}function AN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+40|0;n=q+36|0;f=q+32|0;p=q+28|0;o=q+24|0;c=q+20|0;e=q+12|0;g=q+8|0;d=q+4|0;b=q;k[n>>2]=a;k[c>>2]=0;a=BK(k[k[n>>2]>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=fG(k[n>>2]|0,1,p,0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=qr((k[(k[p>>2]|0)+56>>2]|0)+28|0)|0;k[q+16>>2]=a;k[o>>2]=a;Pg(k[k[n>>2]>>2]|0,c);if(!((k[o>>2]|0)!=0?(oR((k[(k[p>>2]|0)+56>>2]|0)+24|0,(k[(k[p>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))k[o>>2]=k[c>>2];a:do if((k[o>>2]|0)>0){k[d>>2]=k[(k[p>>2]|0)+56>>2];k[f>>2]=26;b:do if(!(oR(k[d>>2]|0,41796,16)|0)){if((l[(k[d>>2]|0)+18>>0]|0|0)>2){a=(k[n>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|1}if((l[(k[d>>2]|0)+19>>0]|0|0)<=2){do if((l[(k[d>>2]|0)+19>>0]|0|0)==2?((m[(k[n>>2]|0)+22>>1]|0)&16|0)==0:0){k[b>>2]=0;a=HK(k[k[n>>2]>>2]|0,b)|0;k[f>>2]=a;if(k[f>>2]|0)break b;if(k[b>>2]|0){k[f>>2]=26;break}_B(k[p>>2]|0);k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}while(0);if((oR((k[d>>2]|0)+21|0,44049,3)|0)==0?(k[e>>2]=(l[(k[d>>2]|0)+16>>0]|0)<<8|(l[(k[d>>2]|0)+17>>0]|0)<<16,!(((k[e>>2]|0)>>>0>65536?1:((k[e>>2]|0)-1&k[e>>2]|0)!=0)|(k[e>>2]|0)>>>0<=256)):0){k[g>>2]=(k[e>>2]|0)-(l[(k[d>>2]|0)+20>>0]|0);if((k[e>>2]|0)!=(k[(k[n>>2]|0)+32>>2]|0)){_B(k[p>>2]|0);k[(k[n>>2]|0)+36>>2]=k[g>>2];k[(k[n>>2]|0)+32>>2]=k[e>>2];cj(k[n>>2]|0);p=dj(k[k[n>>2]>>2]|0,(k[n>>2]|0)+32|0,(k[e>>2]|0)-(k[g>>2]|0)|0)|0;k[f>>2]=p;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}if((k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(k[o>>2]|0)>(k[c>>2]|0):0){o=_j(61191)|0;k[f>>2]=o;break}if((k[g>>2]|0)>>>0>=480){k[(k[n>>2]|0)+32>>2]=k[e>>2];k[(k[n>>2]|0)+36>>2]=k[g>>2];g=(qr((k[d>>2]|0)+52|0)|0)!=0;i[(k[n>>2]|0)+17>>0]=g?1:0;g=(qr((k[d>>2]|0)+64|0)|0)!=0;i[(k[n>>2]|0)+18>>0]=g?1:0;break a}}}}while(0);_B(k[p>>2]|0);k[(k[n>>2]|0)+12>>2]=0;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}while(0);j[(k[n>>2]|0)+24>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;j[(k[n>>2]|0)+26>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;j[(k[n>>2]|0)+28>>1]=(k[(k[n>>2]|0)+36>>2]|0)-35;j[(k[n>>2]|0)+30>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b=k[n>>2]|0;if((m[(k[n>>2]|0)+24>>1]|0|0)>127)i[b+21>>0]=127;else i[(k[n>>2]|0)+21>>0]=j[b+24>>1];k[(k[n>>2]|0)+12>>2]=k[p>>2];k[(k[n>>2]|0)+44>>2]=k[o>>2];k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}function BN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;d=j+4|0;h=j;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[h>>2]=0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[(k[f>>2]|0)+44>>2];h=k[e>>2]|0;r=j;return h|0}i[(k[f>>2]|0)+22>>0]=k[d>>2];if((l[(k[f>>2]|0)+17>>0]|0|0)==1){c=(Lr(k[f>>2]|0)|0)!=0;d=k[f>>2]|0;if(!c){c=Qt(d,2)|0;k[h>>2]=c;if((k[h>>2]|0)==0&(k[g>>2]|0)!=0){g=Pt(k[f>>2]|0,4)|0;k[h>>2]=g}}else{do if((l[d+4>>0]|0|0)!=0?(Or(k[(k[f>>2]|0)+216>>2]|0,-1)|0)!=0:0){g=Qt(k[f>>2]|0,4)|0;k[h>>2]=g;if(!(k[h>>2]|0)){Or(k[(k[f>>2]|0)+216>>2]|0,1)|0;break}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}while(0);g=CN(k[(k[f>>2]|0)+216>>2]|0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){i[(k[f>>2]|0)+17>>0]=2;k[(k[f>>2]|0)+40>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+36>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+32>>2]=k[(k[f>>2]|0)+28>>2];g=(k[f>>2]|0)+80|0;k[g>>2]=0;k[g+4>>2]=0}}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}function CN(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(i[(k[c>>2]|0)+46>>0]|0){k[b>>2]=8;d=k[b>>2]|0;r=e;return d|0}a=ft(k[c>>2]|0,0,1)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}i[(k[c>>2]|0)+44>>0]=1;a=(k[c>>2]|0)+52|0;if(oR(a,Ns(k[c>>2]|0)|0,48)|0){Ur(k[c>>2]|0,0,1);i[(k[c>>2]|0)+44>>0]=0;k[d>>2]=517}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function DN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+244>>2]|0)EN(k[(k[c>>2]|0)+244>>2]|0);aK(k[c>>2]|0,k[d>>2]|0);r=e;return}function EN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sh(k[c>>2]|0);r=b;return}function FN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+624|0;f=H+92|0;g=H+88|0;h=H+84|0;i=H+80|0;j=H+76|0;l=H+72|0;z=H+68|0;o=H+64|0;x=H+60|0;n=H+56|0;w=H+52|0;B=H+48|0;m=H+44|0;t=H+40|0;s=H+36|0;q=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;p=H;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[z>>2]=k[i>>2];k[o>>2]=-1;k[x>>2]=0;k[n>>2]=k[j>>2]&-256;k[B>>2]=0;k[m>>2]=0;k[t>>2]=k[j>>2]&16;k[s>>2]=k[j>>2]&8;k[q>>2]=k[j>>2]&4;k[v>>2]=k[j>>2]&1;k[u>>2]=k[j>>2]&2;if(k[q>>2]|0)if((k[n>>2]|0)==16384|(k[n>>2]|0)==2048)d=1;else d=(k[n>>2]|0)==524288;else d=0;k[C>>2]=d&1;k[E>>2]=k[h>>2];b=k[1718]|0;if((b|0)!=(ER()|0)){b=ER()|0;k[1718]=b;ae(0,0)}d=k[z>>2]|0;c=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(c|0));d=k[E>>2]|0;do if((k[n>>2]|0)!=256){if(!d){A=uO(k[(k[g>>2]|0)+8>>2]|0,F)|0;k[B>>2]=A;if(!(k[B>>2]|0)){k[E>>2]=F;break}k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}}else{F=LO(d,k[j>>2]|0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){F=Td(12,0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){k[f>>2]=7;G=k[f>>2]|0;r=H;return G|0}}else k[o>>2]=k[k[A>>2]>>2];k[(k[z>>2]|0)+28>>2]=k[A>>2]}while(0);if(k[v>>2]|0)k[x>>2]=k[x>>2];if(k[u>>2]|0)k[x>>2]=k[x>>2]|2;if(k[q>>2]|0)k[x>>2]=k[x>>2]|64;if(k[t>>2]|0)k[x>>2]=k[x>>2]|131200;k[x>>2]=k[x>>2];do if((k[o>>2]|0)<0){F=MO(k[E>>2]|0,k[j>>2]|0,y,D,p)|0;k[B>>2]=F;if(k[B>>2]|0){k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}F=qO(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F;if((k[o>>2]|0)<0?(F=LQ()|0,(k[F>>2]|0)!=21&(k[u>>2]|0)!=0):0){k[j>>2]=k[j>>2]&-7;k[x>>2]=k[x>>2]&-67;k[j>>2]=k[j>>2]|1;k[x>>2]=k[x>>2];k[v>>2]=1;F=qO(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F}if((k[o>>2]|0)<0){F=yt(35186)|0;F=mO(F,44128,k[E>>2]|0,35186)|0;k[B>>2]=F;break}if(k[j>>2]&526336){NO(k[o>>2]|0,k[D>>2]|0,k[p>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(k[l>>2]|0)k[k[l>>2]>>2]=k[j>>2];if(k[(k[z>>2]|0)+28>>2]|0){k[k[(k[z>>2]|0)+28>>2]>>2]=k[o>>2];k[(k[(k[z>>2]|0)+28>>2]|0)+4>>2]=k[j>>2]}if(k[s>>2]|0)bc[k[6632>>2]&255](k[E>>2]|0)|0;if(k[s>>2]|0)k[m>>2]=k[m>>2]|32;if(k[v>>2]|0)k[m>>2]=k[m>>2]|2;k[w>>2]=(k[n>>2]|0)!=256&1;if(k[w>>2]|0)k[m>>2]=k[m>>2]|128;if(k[C>>2]|0)k[m>>2]=k[m>>2]|8;if(k[j>>2]&64)k[m>>2]=k[m>>2]|64;G=OO(k[g>>2]|0,k[o>>2]|0,k[i>>2]|0,k[h>>2]|0,k[m>>2]|0)|0;k[B>>2]=G}if(k[B>>2]|0)Ud(k[(k[z>>2]|0)+28>>2]|0);k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}function GN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+20|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[i+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if((bc[k[6632>>2]&255](k[e>>2]|0)|0)==-1){b=LQ()|0;if((k[b>>2]|0)==2)k[h>>2]=5898;else{b=mO(2570,44225,k[e>>2]|0,35312)|0;k[h>>2]=b}k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}do if(k[f>>2]&1){b=gc[k[6644>>2]&255](k[e>>2]|0,g)|0;k[h>>2]=b;if(k[h>>2]|0){k[h>>2]=0;break}if(BO(k[g>>2]|0,0,0)|0){b=mO(1290,44459,k[e>>2]|0,35322)|0;k[h>>2]=b}lO(0,k[g>>2]|0,35324)}while(0);k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;e=h+84|0;i=h+80|0;f=h+76|0;g=h;k[h+88>>2]=a;k[e>>2]=b;k[i>>2]=c;k[f>>2]=d;if(!(k[i>>2]|0)){i=0==(gc[k[6488>>2]&255](k[e>>2]|0,g)|0);k[k[f>>2]>>2]=(i?(k[g+36>>2]|0)>0:0)&1;r=h;return 0}else{i=(gc[k[6464>>2]&255](k[e>>2]|0,6)|0)==0&1;k[k[f>>2]>>2]=i;r=h;return 0}return 0}function IN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+128|0;s=q+112|0;e=q+108|0;f=q+104|0;o=q+100|0;l=q+96|0;m=q+92|0;n=q+88|0;p=q+84|0;g=q+80|0;h=q+4|0;j=q;k[q+116>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=d;k[o>>2]=0;k[m>>2]=1;k[n>>2]=k[s>>2];k[p>>2]=0;while(1){k[g>>2]=0;if(gc[k[6764>>2]&255](k[n>>2]|0,h)|0){s=LQ()|0;if((k[s>>2]|0)!=2){s=yt(35436)|0;s=mO(s,44313,k[n>>2]|0,35436)|0;k[o>>2]=s}}else k[g>>2]=(k[h+12>>2]&61440|0)==40960&1;if(k[g>>2]|0){if(!(k[p>>2]|0)){s=Sd(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0))k[o>>2]=7}else{s=(k[m>>2]|0)+1|0;k[m>>2]=s;if((s|0)>100){s=yt(35447)|0;k[o>>2]=s}}do if(!(k[o>>2]|0)){s=Yb[k[6752>>2]&255](k[n>>2]|0,k[p>>2]|0,(k[e>>2]|0)-1|0)|0;k[l>>2]=s;if((k[l>>2]|0)<0){s=yt(35453)|0;s=mO(s,44304,k[n>>2]|0,35453)|0;k[o>>2]=s;break}do if((i[k[p>>2]>>0]|0)!=47){s=Tf(k[n>>2]|0)|0;k[j>>2]=s;while(1){if((k[j>>2]|0)<=0)break;if((i[(k[n>>2]|0)+((k[j>>2]|0)-1)>>0]|0)==47)break;k[j>>2]=(k[j>>2]|0)+-1}if(((k[l>>2]|0)+(k[j>>2]|0)+1|0)>(k[e>>2]|0)){s=yt(35459)|0;k[o>>2]=s;break}else{cS((k[p>>2]|0)+(k[j>>2]|0)|0,k[p>>2]|0,(k[l>>2]|0)+1|0)|0;bS(k[p>>2]|0,k[n>>2]|0,k[j>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[j>>2]|0);break}}while(0);i[(k[p>>2]|0)+(k[l>>2]|0)>>0]=0}while(0);k[n>>2]=k[p>>2]}if((k[o>>2]|0)==0?(k[n>>2]|0)!=(k[f>>2]|0):0){s=KO(k[n>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[o>>2]=s}if(!(k[g>>2]|0)){e=30;break}k[n>>2]=k[f>>2];if(k[o>>2]|0){e=30;break}}if((e|0)==30){Ud(k[p>>2]|0);r=q;return k[o>>2]|0}return 0}function JN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[j+20>>2]=a;k[d>>2]=b;k[e>>2]=c;dS(k[e>>2]|0,0,k[d>>2]|0)|0;c=ER()|0;k[1718]=c;c=qO(44446,0,0)|0;k[f>>2]=c;if((k[f>>2]|0)<0){Ob(h|0)|0;c=k[e>>2]|0;i[c>>0]=i[h>>0]|0;i[c+1>>0]=i[h+1>>0]|0;i[c+2>>0]=i[h+2>>0]|0;i[c+3>>0]=i[h+3>>0]|0;c=(k[e>>2]|0)+4|0;i[c>>0]=i[6872]|0;i[c+1>>0]=i[6873]|0;i[c+2>>0]=i[6874]|0;i[c+3>>0]=i[6875]|0;k[d>>2]=8;c=k[d>>2]|0;r=j;return c|0}do{c=Yb[k[6536>>2]&255](k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)>=0)break;c=LQ()|0}while((k[c>>2]|0)==4);lO(0,k[f>>2]|0,35583);c=k[d>>2]|0;r=j;return c|0}function KN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[d+8>>2]=a;k[e>>2]=b;k[c>>2]=((k[e>>2]|0)+999999|0)/1e6|0;JR(k[c>>2]|0)|0;r=d;return (k[c>>2]|0)*1e6|0}function LN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;f=d;c=d+8|0;k[d+16>>2]=a;k[e>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;b=NN(0,f)|0;k[c>>2]=b;b=f;p[k[e>>2]>>3]=(+((k[b>>2]|0)>>>0)+4294967296.0*+(k[b+4>>2]|0))/864.0e5;r=d;return k[c>>2]|0}function MN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=r;r=r+16|0;k[d+8>>2]=a;k[d+4>>2]=b;k[d>>2]=c;c=LQ()|0;r=d;return k[c>>2]|0}function NN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;c=d+8|0;f=d;k[d+16>>2]=a;k[e>>2]=b;k[c>>2]=0;Qb(f|0,0)|0;b=k[f>>2]|0;b=kS(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=$R(1045635584,49096,b|0,L|0)|0;a=(k[f+4>>2]|0)/1e3|0;a=$R(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=k[e>>2]|0;k[b>>2]=a;k[b+4>>2]=L;r=d;return k[c>>2]|0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[i+16>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=12;if(!(k[d>>2]|0)){k[g>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28)break;if(k[6436+((k[f>>2]|0)*12|0)+8>>2]|0)k[6436+((k[f>>2]|0)*12|0)+4>>2]=k[6436+((k[f>>2]|0)*12|0)+8>>2];k[f>>2]=(k[f>>2]|0)+1}h=k[g>>2]|0;r=i;return h|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28){h=16;break}b=(rR(k[d>>2]|0,k[6436+((k[f>>2]|0)*12|0)>>2]|0)|0)==0;c=k[f>>2]|0;if(b)break;k[f>>2]=c+1}if((h|0)==16){h=k[g>>2]|0;r=i;return h|0}if(!(k[6436+(c*12|0)+8>>2]|0))k[6436+((k[f>>2]|0)*12|0)+8>>2]=k[6436+((k[f>>2]|0)*12|0)+4>>2];k[g>>2]=0;if(!(k[e>>2]|0))k[e>>2]=k[6436+((k[f>>2]|0)*12|0)+8>>2];k[6436+((k[f>>2]|0)*12|0)+4>>2]=k[e>>2];h=k[g>>2]|0;r=i;return h|0}function PN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=0;while(1){if((k[d>>2]|0)>>>0>=28){a=6;break}a=(rR(k[c>>2]|0,k[6436+((k[d>>2]|0)*12|0)>>2]|0)|0)==0;b=k[d>>2]|0;if(a){a=4;break}k[d>>2]=b+1}if((a|0)==4){k[e>>2]=k[6436+(b*12|0)+4>>2];e=k[e>>2]|0;r=f;return e|0}else if((a|0)==6){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function QN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=-1;a:do if(k[c>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=27)break a;if(!(rR(k[c>>2]|0,k[6436+((k[d>>2]|0)*12|0)>>2]|0)|0))break a;k[d>>2]=(k[d>>2]|0)+1}}while(0);k[d>>2]=(k[d>>2]|0)+1;while(1){if((k[d>>2]|0)>=28){c=11;break}a=k[d>>2]|0;if(k[6436+((k[d>>2]|0)*12|0)+4>>2]|0){c=9;break}k[d>>2]=a+1}if((c|0)==9){k[e>>2]=k[6436+(a*12|0)>>2];e=k[e>>2]|0;r=f;return e|0}else if((c|0)==11){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function RN(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 6360}function SN(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[c>>2];ZN(k[c>>2]|0,0)|0;Ud(k[(k[d>>2]|0)+24>>2]|0);a=EO(k[c>>2]|0)|0;r=b;return a|0}function TN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;f=l+28|0;n=l+24|0;g=l+20|0;h=l+16|0;m=l;j=l+12|0;i=l+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=m;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];b=m;b=DO(k[j>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=b;if((k[i>>2]|0)==(k[h>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=l;return n|0}if((k[i>>2]|0)<0){k[f>>2]=266;n=k[f>>2]|0;r=l;return n|0}else{zO(k[j>>2]|0,0);dS((k[g>>2]|0)+(k[i>>2]|0)|0,0,(k[h>>2]|0)-(k[i>>2]|0)|0)|0;k[f>>2]=522;n=k[f>>2]|0;r=l;return n|0}return 0}function UN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+28|0;n=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;l=m+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=i;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];k[l>>2]=0;while(1){n=i;n=xO(k[j>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[l>>2]=n;if(!((n|0)<(k[h>>2]|0)?(k[l>>2]|0)>0:0))break;k[h>>2]=(k[h>>2]|0)-(k[l>>2]|0);b=k[l>>2]|0;n=i;b=$R(k[n>>2]|0,k[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=i;k[n>>2]=b;k[n+4>>2]=L;k[g>>2]=(k[g>>2]|0)+(k[l>>2]|0)}if((k[h>>2]|0)<=(k[l>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}if((k[l>>2]|0)<0?(k[(k[j>>2]|0)+20>>2]|0)!=28:0){k[f>>2]=778;n=k[f>>2]|0;r=m;return n|0}zO(k[j>>2]|0,0);k[f>>2]=13;n=k[f>>2]|0;r=m;return n|0}function VN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h;f=h+12|0;g=h+8|0;k[i>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=k[i>>2];if((k[(k[f>>2]|0)+40>>2]|0)>0){i=e;a=k[(k[f>>2]|0)+40>>2]|0;a=$R(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=_R(a|0,L|0,1,0)|0;i=k[(k[f>>2]|0)+40>>2]|0;i=iS(a|0,L|0,i|0,((i|0)<0)<<31>>31|0)|0;a=k[(k[f>>2]|0)+40>>2]|0;a=kS(i|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;i=e;k[i>>2]=a;k[i+4>>2]=L}i=e;i=CO(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;k[g>>2]=i;if(k[g>>2]|0){g=k[f>>2]|0;i=LQ()|0;zO(g,k[i>>2]|0);i=mO(1546,44151,k[(k[f>>2]|0)+32>>2]|0,32998)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}else{k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}return 0}function WN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=r;r=r+32|0;c=g+28|0;n=g+24|0;l=g+20|0;f=g+16|0;e=g+12|0;h=g+8|0;i=g+4|0;d=g;k[n>>2]=a;k[l>>2]=b;k[e>>2]=k[n>>2];k[h>>2]=k[l>>2]&16;k[i>>2]=(k[l>>2]&15|0)==3&1;b=BO(k[(k[e>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;b=k[e>>2]|0;if(k[f>>2]|0){n=LQ()|0;zO(b,k[n>>2]|0);n=mO(1034,44435,k[(k[e>>2]|0)+32>>2]|0,32953)|0;k[c>>2]=n;n=k[c>>2]|0;r=g;return n|0}if((m[b+18>>1]|0)&8){n=gc[k[6644>>2]&255](k[(k[e>>2]|0)+32>>2]|0,d)|0;k[f>>2]=n;if(!(k[f>>2]|0)){BO(k[d>>2]|0,0,0)|0;lO(k[e>>2]|0,k[d>>2]|0,32967)}else k[f>>2]=0;n=(k[e>>2]|0)+18|0;j[n>>1]=(m[n>>1]|0)&-9}k[c>>2]=k[f>>2];n=k[c>>2]|0;r=g;return n|0}function XN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+96|0;c=g+88|0;d=g+84|0;e=g+80|0;h=g+76|0;f=g;k[d>>2]=a;k[e>>2]=b;b=gc[k[6500>>2]&255](k[(k[d>>2]|0)+12>>2]|0,f)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[d>>2]|0;h=LQ()|0;zO(b,k[h>>2]|0);k[c>>2]=1802;h=k[c>>2]|0;r=g;return h|0}b=k[f+36>>2]|0;h=k[e>>2]|0;k[h>>2]=b;k[h+4>>2]=((b|0)<0)<<31>>31;h=k[e>>2]|0;if((k[h>>2]|0)==1&(k[h+4>>2]|0)==0){h=k[e>>2]|0;k[h>>2]=0;k[h+4>>2]=0}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function YN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];k[f>>2]=0;if((l[(k[e>>2]|0)+16>>0]|0|0)>0){i[(k[e>>2]|0)+16>>0]=k[d>>2];Qa(k[h>>2]|0,0)|0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=gc[k[6656>>2]&255](k[h>>2]|0,511)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=k[d>>2];k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}m=LQ()|0;k[g>>2]=k[m>>2];if(17!=(k[g>>2]|0)){m=AO(k[g>>2]|0,3850)|0;k[f>>2]=m;if((k[f>>2]|0)!=5)zO(k[e>>2]|0,k[g>>2]|0)}else k[f>>2]=5;k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function ZN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];if((l[(k[e>>2]|0)+16>>0]|0|0)==(k[d>>2]|0)){k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}if((k[d>>2]|0)==1){i[(k[e>>2]|0)+16>>0]=1;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=bc[k[6668>>2]&255](k[h>>2]|0)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=LQ()|0;k[g>>2]=k[m>>2];if((k[g>>2]|0)==2)k[f>>2]=0;else{k[f>>2]=2058;zO(k[e>>2]|0,k[g>>2]|0)}k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function _N(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;h=d+16|0;e=d+12|0;c=d+8|0;f=d+4|0;g=d;k[h>>2]=a;k[e>>2]=b;k[c>>2]=0;k[f>>2]=0;k[g>>2]=k[h>>2];b=(gc[k[6464>>2]&255](k[(k[g>>2]|0)+24>>2]|0,0)|0)==0&1;k[f>>2]=b;k[k[e>>2]>>2]=k[f>>2];r=d;return k[c>>2]|0}function $N(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+32|0;h=j;d=j+28|0;n=j+24|0;m=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=k[n>>2];do switch(k[m>>2]|0){case 1:{k[k[e>>2]>>2]=l[(k[f>>2]|0)+16>>0];k[d>>2]=0;break}case 4:{k[k[e>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[d>>2]=0;break}case 6:{k[(k[f>>2]|0)+40>>2]=k[k[e>>2]>>2];k[d>>2]=0;break}case 5:{n=k[e>>2]|0;n=sO(k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[g>>2]=n;k[d>>2]=k[g>>2];break}case 10:{tO(k[f>>2]|0,4,k[e>>2]|0);k[d>>2]=0;break}case 13:{tO(k[f>>2]|0,16,k[e>>2]|0);k[d>>2]=0;break}case 12:{k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+16>>2];n=Yd(18391,h)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}case 16:{n=k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0;n=Td(n,((n|0)<0)<<31>>31)|0;k[i>>2]=n;if(k[i>>2]|0){uO(k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0,k[i>>2]|0)|0;k[k[e>>2]>>2]=k[i>>2]}k[d>>2]=0;break}case 20:{n=vO(k[f>>2]|0)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}default:k[d>>2]=12}while(0);r=j;return k[d>>2]|0}function aO(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 4096}function bO(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=0;if(!((m[(k[d>>2]|0)+18>>1]|0)&16)){e=k[b>>2]|0;r=c;return e|0}k[b>>2]=k[b>>2]|4096;e=k[b>>2]|0;r=c;return e|0}function cO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;v=u+32|0;e=u+28|0;f=u+24|0;g=u+20|0;o=u+16|0;n=u+12|0;q=u+8|0;p=u+4|0;s=u;l=u+40|0;h=u+38|0;i=u+36|0;k[v>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[v>>2];k[n>>2]=k[(k[o>>2]|0)+36>>2];k[p>>2]=k[k[n>>2]>>2];k[s>>2]=0;j[l>>1]=(1<<(k[e>>2]|0)+(k[f>>2]|0))-(1<>2]);if(k[g>>2]&1){j[h>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((k[q>>2]|0)!=(k[n>>2]|0))j[h>>1]=m[h>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if(!((m[l>>1]|0)&(m[h>>1]|0))){v=rO(k[o>>2]|0,2,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v}else k[s>>2]=0;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=(k[n>>2]|0)+10|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}if(!(k[g>>2]&4)){k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=28;break}if((m[(k[q>>2]|0)+10>>1]|0)&(m[l>>1]|0)){t=28;break}k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==28)k[s>>2]=5;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=rO(k[o>>2]|0,1,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}j[i>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=16;break}j[i>>1]=m[i>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==16)k[s>>2]=5;do if(!(k[s>>2]|0))if(!((m[i>>1]|0)&(m[l>>1]|0))){v=rO(k[o>>2]|0,0,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;break}else{k[s>>2]=0;break}while(0);if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+10|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}function dO(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;hO();jO();r=b;return}function eO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;f=i;k[j>>2]=a;k[d>>2]=b;k[f>>2]=k[j>>2];k[e>>2]=k[(k[f>>2]|0)+36>>2];if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}k[g>>2]=k[k[e>>2]>>2];k[h>>2]=(k[g>>2]|0)+32;while(1){if((k[k[h>>2]>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[k[h>>2]>>2]|0)+4}k[k[h>>2]>>2]=k[(k[e>>2]|0)+4>>2];Ud(k[e>>2]|0);k[(k[f>>2]|0)+36>>2]=0;hO();j=(k[g>>2]|0)+28|0;k[j>>2]=(k[j>>2]|0)+-1;if(!(k[(k[g>>2]|0)+28>>2]|0)){if((k[d>>2]|0)!=0?(k[(k[g>>2]|0)+12>>2]|0)>=0:0)bc[k[6632>>2]&255](k[(k[g>>2]|0)+8>>2]|0)|0;iO(k[f>>2]|0)}jO();k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}function fO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function gO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function hO(){return}function iO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=k[(k[(k[b>>2]|0)+8>>2]|0)+20>>2];if(!(k[e>>2]|0)){r=f;return}if(k[(k[e>>2]|0)+28>>2]|0){r=f;return}a=kO()|0;k[d>>2]=a;k[c>>2]=0;while(1){a=k[e>>2]|0;if((k[c>>2]|0)>=(m[(k[e>>2]|0)+20>>1]|0|0))break;if((k[a+12>>2]|0)>=0)gc[k[6716>>2]&255](k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;else Ud(k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+(k[d>>2]|0)}Ud(k[a+24>>2]|0);if((k[(k[e>>2]|0)+12>>2]|0)>=0){lO(k[b>>2]|0,k[(k[e>>2]|0)+12>>2]|0,33574);k[(k[e>>2]|0)+12>>2]=-1}k[(k[k[e>>2]>>2]|0)+20>>2]=0;Ud(k[e>>2]|0);r=f;return}function jO(){return}function kO(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+8|0;c=d+4|0;b=d;k[c>>2]=32768;e=Zb[k[6740>>2]&255]()|0;k[b>>2]=e;if((k[b>>2]|0)<(k[c>>2]|0)){k[a>>2]=1;e=k[a>>2]|0;r=d;return e|0}else{k[a>>2]=(k[b>>2]|0)/(k[c>>2]|0)|0;e=k[a>>2]|0;r=d;return e|0}return 0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(bc[k[6452>>2]&255](k[g>>2]|0)|0)){r=f;return}if(k[d>>2]|0)d=k[(k[d>>2]|0)+32>>2]|0;else d=0;mO(4106,44091,d,k[e>>2]|0)|0;r=f;return}function mO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+28|0;l=m+24|0;i=m+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;c=LQ()|0;k[i>>2]=k[c>>2];c=MQ(k[i>>2]|0)|0;k[l>>2]=c;if(!(k[g>>2]|0))k[g>>2]=18402;c=k[e>>2]|0;a=k[i>>2]|0;i=k[f>>2]|0;d=k[g>>2]|0;b=k[l>>2]|0;k[j>>2]=k[h>>2];k[j+4>>2]=a;k[j+8>>2]=i;k[j+12>>2]=d;k[j+16>>2]=b;$d(c,44097,j);r=m;return k[e>>2]|0}function nO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;e=d;h=d+12|0;g=d+8|0;f=d+4|0;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;c=k[h>>2]|0;a=k[g>>2]|0;k[e>>2]=k[f>>2];a=OQ(c,a,e)|0;r=d;return a|0}function oO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=r;r=r+544|0;j=h;c=h+20|0;l=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h+24|0;k[l>>2]=a;k[d>>2]=b;k[e>>2]=-1;k[j>>2]=k[l>>2];_d(512,g,18391,j)|0;a=uR(g)|0;k[f>>2]=a;while(1){if((k[f>>2]|0)<=0)break;if((i[g+(k[f>>2]|0)>>0]|0)==47)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)>0)i[g+(k[f>>2]|0)>>0]=0;else{if((i[g>>0]|0)!=47)i[g>>0]=46;i[g+1>>0]=0}l=qO(g,0,0)|0;k[e>>2]=l;k[k[d>>2]>>2]=k[e>>2];if((k[e>>2]|0)>=0){k[c>>2]=0;l=k[c>>2]|0;r=h;return l|0}else{l=mO(yt(32912)|0,44232,g,32912)|0;k[c>>2]=l;l=k[c>>2]|0;r=h;return l|0}return 0}function pO(){return rb(30)|0}function qO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+112|0;j=l;d=l+100|0;e=l+96|0;f=l+92|0;g=l+88|0;h=l+84|0;i=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:420;while(1){a=Yb[k[6440>>2]&255](k[d>>2]|0,k[e>>2]|524288,k[h>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)<0){a=LQ()|0;if((k[a>>2]|0)==4)continue;else break}if((k[g>>2]|0)>=3)break;bc[k[6452>>2]&255](k[g>>2]|0)|0;a=k[g>>2]|0;k[j>>2]=k[d>>2];k[j+4>>2]=a;$d(28,44319,j);k[g>>2]=-1;if((Yb[k[6440>>2]&255](44362,k[e>>2]|0,k[f>>2]|0)|0)<0)break}if(!((k[g>>2]|0)>=0&(k[f>>2]|0)!=0)){a=k[g>>2]|0;r=l;return a|0}if(gc[k[6500>>2]&255](k[g>>2]|0,i)|0){a=k[g>>2]|0;r=l;return a|0}if(k[i+36>>2]|0){a=k[g>>2]|0;r=l;return a|0}if((k[i+12>>2]&511|0)==(k[f>>2]|0)){a=k[g>>2]|0;r=l;return a|0}gc[k[6608>>2]&255](k[g>>2]|0,k[f>>2]|0)|0;a=k[g>>2]|0;r=l;return a|0}function rO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;m=n;o=n+40|0;e=n+36|0;f=n+32|0;g=n+28|0;i=n+24|0;h=n+8|0;l=n+4|0;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[(k[o>>2]|0)+8>>2]|0)+20>>2];if((k[(k[i>>2]|0)+12>>2]|0)<0){o=k[l>>2]|0;r=n;return o|0};k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;j[h>>1]=k[e>>2];j[h+2>>1]=0;k[h+4>>2]=k[f>>2];k[h+8>>2]=k[g>>2];a=k[1631]|0;o=k[(k[i>>2]|0)+12>>2]|0;k[m>>2]=h;o=Yb[a&255](o,13,m)|0;k[l>>2]=o;k[l>>2]=(k[l>>2]|0)!=-1?0:5;o=k[l>>2]|0;r=n;return o|0}function sO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+128|0;d=m+112|0;e=m+108|0;f=m+16|0;j=m+8|0;g=m+32|0;i=m+28|0;l=m+24|0;h=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a:do if((k[(k[e>>2]|0)+40>>2]|0)>0){if(gc[k[6500>>2]&255](k[(k[e>>2]|0)+12>>2]|0,g)|0){k[d>>2]=1802;a=k[d>>2]|0;r=m;return a|0}b=k[(k[e>>2]|0)+40>>2]|0;b=$R(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=_R(b|0,L|0,1,0)|0;f=k[(k[e>>2]|0)+40>>2]|0;f=iS(b|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;b=k[(k[e>>2]|0)+40>>2]|0;b=kS(f|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;k[f>>2]=b;k[f+4>>2]=L;f=j;b=k[f+4>>2]|0;a=k[g+36>>2]|0;c=((a|0)<0)<<31>>31;if((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>a>>>0:0)){k[i>>2]=k[g+40>>2];k[l>>2]=0;g=ha((k[g+36>>2]|0)/(k[i>>2]|0)|0,k[i>>2]|0)|0;g=g+(k[i>>2]|0)-1|0;a=h;k[a>>2]=g;k[a+4>>2]=((g|0)<0)<<31>>31;while(1){c=h;g=k[c>>2]|0;c=k[c+4>>2]|0;f=j;a=k[i>>2]|0;a=$R(k[f>>2]|0,k[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=_R(a|0,L|0,1,0)|0;f=L;if(!((c|0)<(f|0)|(c|0)==(f|0)&g>>>0>>0))break a;g=h;c=k[g+4>>2]|0;a=j;f=k[a+4>>2]|0;if((c|0)>(f|0)|((c|0)==(f|0)?(k[g>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){g=j;g=_R(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}a=h;a=xO(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0,18402,1)|0;k[l>>2]=a;if((k[l>>2]|0)!=1)break;g=k[i>>2]|0;a=h;g=$R(k[a>>2]|0,k[a+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}k[d>>2]=778;a=k[d>>2]|0;r=m;return a|0}}while(0);k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}function tO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+4|0;d=g+8|0;f=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=c;if((k[k[f>>2]>>2]|0)<0){k[k[f>>2]>>2]=((m[(k[e>>2]|0)+18>>1]|0)&(l[d>>0]|0)|0)!=0&1;r=g;return}d=l[d>>0]|0;if(!(k[k[f>>2]>>2]|0)){f=(k[e>>2]|0)+18|0;j[f>>1]=(m[f>>1]|0)&~d;r=g;return}else{f=(k[e>>2]|0)+18|0;j[f>>1]=m[f>>1]|0|d;r=g;return}}function uO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;g=l+8|0;j=l+48|0;c=l+44|0;d=l+40|0;h=l+36|0;e=l+32|0;f=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;i[k[d>>2]>>0]=0;b=wO()|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[j>>2]=6410;j=k[j>>2]|0;r=l;return j|0}while(1){ae(8,f);i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]=0;a=k[c>>2]|0;b=k[d>>2]|0;n=f;o=k[n>>2]|0;n=k[n+4>>2]|0;k[g>>2]=k[h>>2];m=g+8|0;k[m>>2]=o;k[m+4>>2]=n;k[g+16>>2]=0;_d(a,b,44372,g)|0;if(i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]|0){c=5;break}o=k[e>>2]|0;k[e>>2]=o+1;if((o|0)>10){c=5;break}if(gc[k[6464>>2]&255](k[d>>2]|0,0)|0){c=7;break}}if((c|0)==5){k[j>>2]=1;o=k[j>>2]|0;r=l;return o|0}else if((c|0)==7){k[j>>2]=0;o=k[j>>2]|0;r=l;return o|0}return 0}function vO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+80|0;b=d+76|0;c=d;k[b>>2]=a;if(!(k[(k[b>>2]|0)+8>>2]|0)){a=0;a=a&1;r=d;return a|0}if(gc[k[6488>>2]&255](k[(k[b>>2]|0)+32>>2]|0,c)|0){a=1;a=a&1;r=d;return a|0}a=(k[c+72>>2]|0)!=(k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;r=d;return a|0}function wO(){var a=0,b=0,c=0,d=0,e=0,f=0;e=r;r=r+96|0;c=e+84|0;b=e+80|0;a=e+4|0;d=e;k[b>>2]=0;k[d>>2]=k[243];if(!(k[1693]|0)){f=Ab(44389)|0;k[1693]=f}if(!(k[1694]|0)){f=Ab(44403)|0;k[1694]=f}while(1){if((((k[d>>2]|0)!=0?(gc[k[6488>>2]&255](k[d>>2]|0,a)|0)==0:0)?(k[a+12>>2]&61440|0)==16384:0)?(gc[k[6464>>2]&255](k[d>>2]|0,3)|0)==0:0){a=9;break}if((k[b>>2]|0)>>>0>=6){a=12;break}f=k[b>>2]|0;k[b>>2]=f+1;k[d>>2]=k[6772+(f<<2)>>2]}if((a|0)==9){k[c>>2]=k[d>>2];f=k[c>>2]|0;r=e;return f|0}else if((a|0)==12){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}return 0}function xO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f;i=f+12|0;h=f+8|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[h>>2]=e;d=j;d=yO(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[i>>2]|0,k[h>>2]|0,(k[g>>2]|0)+20|0)|0;r=f;return d|0}function yO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[n>>2]=0;k[j>>2]=k[j>>2]&131071;do{d=FR(k[g>>2]|0,k[h>>2]|0,0)|0;f=m;k[f>>2]=d;k[f+4>>2]=((d|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}f=Yb[k[6572>>2]&255](k[g>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[n>>2]=f;if((k[n>>2]|0)>=0)break;f=LQ()|0}while((k[f>>2]|0)==4);if((o|0)==3)k[n>>2]=-1;if((k[n>>2]|0)>=0){o=k[n>>2]|0;r=p;return o|0}o=LQ()|0;k[k[l>>2]>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}function zO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+20>>2]=k[e>>2];r=c;return}function AO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;switch(k[f>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{k[c>>2]=5;break}case 1:{k[c>>2]=3;break}default:k[c>>2]=k[d>>2]}r=e;return k[c>>2]|0}function BO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e;k[f>>2]=a;k[e+8>>2]=b;k[e+4>>2]=c;b=AR(k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function CO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g;f=g+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;while(1){a=gc[k[6512>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)>=0){b=4;break}a=LQ()|0;if((k[a>>2]|0)!=4){b=4;break}}if((b|0)==4){r=g;return k[f>>2]|0}return 0}function DO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;do{a=FR(k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,0)|0;d=m;k[d>>2]=a;k[d+4>>2]=((a|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}d=Yb[k[6536>>2]&255](k[(k[g>>2]|0)+12>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=d;if((k[l>>2]|0)==(k[j>>2]|0))break;if((k[l>>2]|0)>=0){if((k[l>>2]|0)>0){k[j>>2]=(k[j>>2]|0)-(k[l>>2]|0);a=k[l>>2]|0;d=h;a=$R(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=a;k[d+4>>2]=L;k[n>>2]=(k[n>>2]|0)+(k[l>>2]|0);k[i>>2]=(k[i>>2]|0)+(k[l>>2]|0)}}else{d=LQ()|0;if((k[d>>2]|0)!=4){o=8;break}k[l>>2]=1}}while((k[l>>2]|0)>0);if((o|0)==3){n=k[g>>2]|0;o=LQ()|0;zO(n,k[o>>2]|0);k[f>>2]=-1;o=k[f>>2]|0;r=p;return o|0}else if((o|0)==8){k[n>>2]=0;d=k[g>>2]|0;o=LQ()|0;zO(d,k[o>>2]|0)}k[f>>2]=(k[l>>2]|0)+(k[n>>2]|0);o=k[f>>2]|0;r=p;return o|0}function EO(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if((k[(k[b>>2]|0)+12>>2]|0)>=0){lO(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,31321);k[(k[b>>2]|0)+12>>2]=-1}Ud(k[(k[b>>2]|0)+28>>2]|0);a=k[b>>2]|0;b=a+44|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return 0}function FO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 6796}function GO(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=EO(k[c>>2]|0)|0;r=b;return a|0}function HO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function IO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function JO(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[c+4>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=0;r=c;return 0}function KO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;j=m+8|0;h=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=Tf(k[e>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;do if((i[k[e>>2]>>0]|0)!=47){if(gc[k[6476>>2]&255](k[f>>2]|0,(k[g>>2]|0)-2|0)|0){a=Tf(k[f>>2]|0)|0;k[h>>2]=a;a=k[h>>2]|0;k[h>>2]=a+1;i[(k[f>>2]|0)+a>>0]=47;break}a=yt(35379)|0;a=mO(a,44133,k[e>>2]|0,35379)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}while(0);if(((k[h>>2]|0)+(k[j>>2]|0)+1|0)>(k[g>>2]|0)){i[(k[f>>2]|0)+(k[h>>2]|0)>>0]=0;a=yt(35388)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}else{b=(k[g>>2]|0)-(k[h>>2]|0)|0;a=(k[f>>2]|0)+(k[h>>2]|0)|0;k[l>>2]=k[e>>2];_d(b,a,18391,l)|0;k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}return 0}function LO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;i=h+92|0;c=h+88|0;e=h+84|0;g=h+8|0;d=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[e>>2]=0;if(gc[k[6488>>2]&255](k[i>>2]|0,g)|0){i=k[e>>2]|0;r=h;return i|0}hO();k[d>>2]=k[1738];while(1){if(k[d>>2]|0)if((k[k[d>>2]>>2]|0)!=(k[g>>2]|0))a=1;else a=(k[(k[d>>2]|0)+4>>2]|0)!=(k[g+72>>2]|0);else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=k[b+32>>2]}if(b){k[f>>2]=(k[d>>2]|0)+28;while(1){if(!(k[k[f>>2]>>2]|0))break;if((k[(k[k[f>>2]>>2]|0)+4>>2]|0)==(k[c>>2]|0))break;k[f>>2]=(k[k[f>>2]>>2]|0)+8}k[e>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2]}jO();i=k[e>>2]|0;r=h;return i|0}function MO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+560|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;l=q+12|0;n=q+8|0;p=q+32|0;m=q+4|0;o=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;k[k[h>>2]>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;if(k[g>>2]&526336){a=(Tf(k[f>>2]|0)|0)-1|0;k[m>>2]=a;while(1){if((i[(k[f>>2]|0)+(k[m>>2]|0)>>0]|0)==45)break;k[m>>2]=(k[m>>2]|0)+-1}bS(p|0,k[f>>2]|0,k[m>>2]|0)|0;i[p+(k[m>>2]|0)>>0]=0;a=aP(p,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[n>>2]=a;a=k[n>>2]|0;r=q;return a|0}if(k[g>>2]&8){k[k[h>>2]>>2]=384;a=k[n>>2]|0;r=q;return a|0}if(!(k[g>>2]&64)){a=k[n>>2]|0;r=q;return a|0}a=Rf(k[f>>2]|0,44606)|0;k[o>>2]=a;if(!(k[o>>2]|0)){a=k[n>>2]|0;r=q;return a|0}a=aP(k[o>>2]|0,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[n>>2]=a;a=k[n>>2]|0;r=q;return a|0}function NO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Zb[k[6692>>2]&255]()|0){b=0;r=g;return b|0}b=Yb[k[6680>>2]&255](k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return b|0}function OO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;q=t;f=t+40|0;g=t+36|0;u=t+32|0;h=t+28|0;i=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;l=t+4|0;k[f>>2]=a;k[g>>2]=b;k[u>>2]=c;k[h>>2]=d;k[i>>2]=e;k[o>>2]=k[u>>2];k[p>>2]=0;k[(k[o>>2]|0)+12>>2]=k[g>>2];k[(k[o>>2]|0)+4>>2]=k[f>>2];k[(k[o>>2]|0)+32>>2]=k[h>>2];j[(k[o>>2]|0)+18>>1]=k[i>>2]&255;if(Sf((k[i>>2]&64|0)!=0?k[h>>2]|0:0,44465,1)|0){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|16}if(!(rR(k[(k[f>>2]|0)+16>>2]|0,44081)|0)){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|1}if(k[i>>2]&128)k[n>>2]=6796;else{u=gc[k[k[(k[f>>2]|0)+20>>2]>>2]&255](k[h>>2]|0,k[o>>2]|0)|0;k[n>>2]=u}if((k[n>>2]|0)!=6876){if((k[n>>2]|0)==6360){u=(uR(k[h>>2]|0)|0)+6|0;k[l>>2]=u;u=k[l>>2]|0;u=Td(u,((u|0)<0)<<31>>31)|0;k[s>>2]=u;if(!(k[s>>2]|0))k[p>>2]=7;else{d=k[l>>2]|0;u=k[s>>2]|0;k[q>>2]=k[h>>2];_d(d,u,44470,q)|0}k[(k[o>>2]|0)+24>>2]=k[s>>2]}}else{hO();u=PO(k[o>>2]|0,(k[o>>2]|0)+8|0)|0;k[p>>2]=u;if(k[p>>2]|0){lO(k[o>>2]|0,k[g>>2]|0,34692);k[g>>2]=-1}jO()}zO(k[o>>2]|0,0);if(!(k[p>>2]|0)){k[k[o>>2]>>2]=k[n>>2];QO(k[o>>2]|0);u=k[p>>2]|0;r=t;return u|0}if((k[g>>2]|0)<0){u=k[p>>2]|0;r=t;return u|0}lO(k[o>>2]|0,k[g>>2]|0,34777);u=k[p>>2]|0;r=t;return u|0}function PO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+112|0;e=i+104|0;c=i+100|0;f=i+96|0;j=i+92|0;l=i+88|0;g=i+80|0;d=i+4|0;h=i;k[c>>2]=a;k[f>>2]=b;k[h>>2]=0;k[l>>2]=k[(k[c>>2]|0)+12>>2];b=gc[k[6500>>2]&255](k[l>>2]|0,d)|0;k[j>>2]=b;if(k[j>>2]|0){j=k[c>>2]|0;l=LQ()|0;zO(j,k[l>>2]|0);if((k[(k[c>>2]|0)+20>>2]|0)==75){k[e>>2]=22;l=k[e>>2]|0;r=i;return l|0}else{k[e>>2]=10;l=k[e>>2]|0;r=i;return l|0}};k[g>>2]=0;k[g+4>>2]=0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+72>>2];k[h>>2]=k[1738];while(1){if(k[h>>2]|0)a=(oR(g,k[h>>2]|0,8)|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;k[h>>2]=k[c+32>>2]}if(!c){l=Td(40,0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){k[e>>2]=7;l=k[e>>2]|0;r=i;return l|0}c=k[h>>2]|0;a=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));l=k[h>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=k[g+4>>2];k[(k[h>>2]|0)+16>>2]=1;k[(k[h>>2]|0)+32>>2]=k[1738];k[(k[h>>2]|0)+36>>2]=0;if(k[1738]|0)k[(k[1738]|0)+36>>2]=k[h>>2];k[1738]=k[h>>2]}else{l=(k[h>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)+1}k[k[f>>2]>>2]=k[h>>2];k[e>>2]=0;l=k[e>>2]|0;r=i;return l|0}function QO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+112|0;h=i+24|0;g=i+16|0;d=i+8|0;c=i;e=i+108|0;f=i+32|0;b=i+28|0;k[e>>2]=a;if((m[(k[e>>2]|0)+18>>1]|0)&128){r=i;return}a=gc[k[6500>>2]&255](k[(k[e>>2]|0)+12>>2]|0,f)|0;k[b>>2]=a;if(k[b>>2]|0){k[c>>2]=k[(k[e>>2]|0)+32>>2];$d(28,44478,c);r=i;return}if(!(k[f+16>>2]|0)){k[d>>2]=k[(k[e>>2]|0)+32>>2];$d(28,44502,d);r=i;return}a=k[e>>2]|0;if((k[f+16>>2]|0)>>>0>1){k[g>>2]=k[a+32>>2];$d(28,44531,g);r=i;return}if(!(vO(a)|0)){r=i;return}k[h>>2]=k[(k[e>>2]|0)+32>>2];$d(28,44558,h);r=i;return}function RO(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[b>>2];QO(k[c>>2]|0);TO(k[b>>2]|0,0)|0;hO();if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[(k[(k[c>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)_O(k[c>>2]|0);$O(k[c>>2]|0);c=EO(k[b>>2]|0)|0;k[d>>2]=c;jO();r=e;return k[d>>2]|0}function SO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;f=o+44|0;p=o+40|0;g=o+36|0;n=o+32|0;h=o+28|0;m=o+24|0;d=o+8|0;e=o;k[p>>2]=a;k[g>>2]=b;k[n>>2]=0;k[h>>2]=k[p>>2];k[e>>2]=0;if((l[(k[h>>2]|0)+16>>0]|0|0)>=(k[g>>2]|0)){k[f>>2]=0;p=k[f>>2]|0;r=o;return p|0}hO();k[m>>2]=k[(k[h>>2]|0)+8>>2];if((l[(k[h>>2]|0)+16>>0]|0|0)!=(l[(k[m>>2]|0)+12>>0]|0|0)?((k[g>>2]|0)>1?1:(l[(k[m>>2]|0)+12>>0]|0|0)>=3):0)k[n>>2]=5;else c=6;a:do if((c|0)==6){do if((k[g>>2]|0)==1){if((l[(k[m>>2]|0)+12>>0]|0|0)!=1?(l[(k[m>>2]|0)+12>>0]|0|0)!=2:0)break;i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;break a}while(0);k[d+8>>2]=1;j[d+2>>1]=0;if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(l[(k[h>>2]|0)+16>>0]|0|0)<3:0)c=13}else c=13;if((c|0)==13?(j[d>>1]=(k[g>>2]|0)==1?0:1,k[d+4>>2]=k[384],(YO(k[h>>2]|0,d)|0)!=0):0){p=LQ()|0;k[e>>2]=k[p>>2];p=AO(k[e>>2]|0,3850)|0;k[n>>2]=p;if((k[n>>2]|0)==5)break;zO(k[h>>2]|0,k[e>>2]|0);break}do if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(k[(k[m>>2]|0)+8>>2]|0)>1:0){k[n>>2]=5;break}j[d>>1]=1;b=k[384]|0;if((k[g>>2]|0)==2){k[d+4>>2]=b+1;k[d+8>>2]=1}else{k[d+4>>2]=b+2;k[d+8>>2]=510}if((YO(k[h>>2]|0,d)|0)!=0?(p=LQ()|0,k[e>>2]=k[p>>2],p=AO(k[e>>2]|0,3850)|0,k[n>>2]=p,(k[n>>2]|0)!=5):0)zO(k[h>>2]|0,k[e>>2]|0)}else{k[d+4>>2]=(k[384]|0)+2;k[d+8>>2]=510;if(YO(k[h>>2]|0,d)|0){p=LQ()|0;k[e>>2]=k[p>>2];p=AO(k[e>>2]|0,3850)|0;k[n>>2]=p}k[d+4>>2]=k[384];k[d+8>>2]=1;j[d>>1]=2;p=(YO(k[h>>2]|0,d)|0)!=0;if(p&(k[n>>2]|0)==0){p=LQ()|0;k[e>>2]=k[p>>2];k[n>>2]=2058}if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[m>>2]|0)+8>>2]=1;break}if((k[n>>2]|0)==5)break a;zO(k[h>>2]|0,k[e>>2]|0);break a}while(0);b=k[g>>2]|0;if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=b;i[(k[m>>2]|0)+12>>0]=k[g>>2];break}if((b|0)==4){i[(k[h>>2]|0)+16>>0]=3;i[(k[m>>2]|0)+12>>0]=3}}while(0);jO();k[f>>2]=k[n>>2];p=k[f>>2]|0;r=o;return p|0}function TO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=XO(k[e>>2]|0,k[d>>2]|0,0)|0;r=c;return a|0}function UO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0;m=r;r=r+48|0;h=m;n=m+40|0;c=m+36|0;f=m+32|0;g=m+28|0;e=m+24|0;d=m+8|0;k[n>>2]=a;k[c>>2]=b;k[f>>2]=0;k[g>>2]=0;k[e>>2]=k[n>>2];hO();if((l[(k[(k[e>>2]|0)+8>>2]|0)+12>>0]|0)>1)k[g>>2]=1;do if((k[g>>2]|0)==0?(i[(k[(k[e>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){j[d+2>>1]=0;k[d+4>>2]=(k[384]|0)+1;k[d+8>>2]=1;j[d>>1]=1;b=k[1631]|0;n=k[(k[e>>2]|0)+12>>2]|0;k[h>>2]=d;if(Yb[b&255](n,12,h)|0){k[f>>2]=3594;h=k[e>>2]|0;n=LQ()|0;zO(h,k[n>>2]|0);break}if((j[d>>1]|0)!=2)k[g>>2]=1}while(0);jO();k[k[c>>2]>>2]=k[g>>2];r=m;return k[f>>2]|0}function VO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+160|0;z=E+152|0;F=E+148|0;A=E+144|0;f=E+140|0;g=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;q=E+108|0;h=E+104|0;o=E+100|0;w=E+24|0;n=E+20|0;x=E+16|0;y=E+12|0;p=E+8|0;i=E+4|0;v=E;k[F>>2]=a;k[A>>2]=b;k[f>>2]=c;k[g>>2]=d;k[B>>2]=e;k[u>>2]=k[F>>2];k[D>>2]=0;c=kO()|0;k[s>>2]=c;if((k[(k[u>>2]|0)+36>>2]|0)==0?(F=WO(k[u>>2]|0)|0,k[D>>2]=F,(k[D>>2]|0)!=0):0){k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}k[t>>2]=k[(k[u>>2]|0)+36>>2];k[C>>2]=k[k[t>>2]>>2];F=ha(((k[A>>2]|0)+(k[s>>2]|0)|0)/(k[s>>2]|0)|0,k[s>>2]|0)|0;k[q>>2]=F;a:do if((m[(k[C>>2]|0)+20>>1]|0|0)<(k[q>>2]|0)){F=ha(k[q>>2]|0,k[f>>2]|0)|0;k[o>>2]=F;k[(k[C>>2]|0)+16>>2]=k[f>>2];b:do if((k[(k[C>>2]|0)+12>>2]|0)>=0){if(gc[k[6500>>2]&255](k[(k[C>>2]|0)+12>>2]|0,w)|0){k[D>>2]=4874;break a}if((k[w+36>>2]|0)<(k[o>>2]|0)){if(!(k[g>>2]|0))break a;k[n>>2]=(k[w+36>>2]|0)/4096|0;while(1){if((k[n>>2]|0)>=((k[o>>2]|0)/4096|0|0))break b;k[x>>2]=0;F=(k[n>>2]<<12)+4096-1|0;if((yO(k[(k[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,18402,1,x)|0)!=1)break;k[n>>2]=(k[n>>2]|0)+1}k[y>>2]=k[(k[C>>2]|0)+8>>2];F=mO(4874,44186,k[y>>2]|0,33839)|0;k[D>>2]=F;break a}}while(0);F=Vd(k[(k[C>>2]|0)+24>>2]|0,k[q>>2]<<2)|0;k[h>>2]=F;if(!(k[h>>2]|0)){k[D>>2]=3082;break}k[(k[C>>2]|0)+24>>2]=k[h>>2];while(1){if((m[(k[C>>2]|0)+20>>1]|0|0)>=(k[q>>2]|0))break a;F=ha(k[f>>2]|0,k[s>>2]|0)|0;k[p>>2]=F;if((k[(k[C>>2]|0)+12>>2]|0)>=0){w=k[1676]|0;c=k[p>>2]|0;x=(l[(k[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=k[(k[C>>2]|0)+12>>2]|0;F=k[f>>2]|0;F=kS(F|0,((F|0)<0)<<31>>31|0,m[(k[C>>2]|0)+20>>1]|0|0,0)|0;F=ac[w&255](0,c,x,1,y,F)|0;k[v>>2]=F;if((k[v>>2]|0)==(-1|0)){f=21;break}}else{F=k[f>>2]|0;F=Td(F,((F|0)<0)<<31>>31)|0;k[v>>2]=F;if(!(k[v>>2]|0)){f=23;break}dS(k[v>>2]|0,0,k[f>>2]|0)|0}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[s>>2]|0))break;F=ha(k[f>>2]|0,k[i>>2]|0)|0;k[(k[(k[C>>2]|0)+24>>2]|0)+((m[(k[C>>2]|0)+20>>1]|0)+(k[i>>2]|0)<<2)>>2]=(k[v>>2]|0)+F;k[i>>2]=(k[i>>2]|0)+1}F=(k[C>>2]|0)+20|0;j[F>>1]=(m[F>>1]|0)+(k[s>>2]|0)}if((f|0)==21){F=mO(5386,44273,k[(k[C>>2]|0)+8>>2]|0,33866)|0;k[D>>2]=F;break}else if((f|0)==23){k[D>>2]=7;break}}while(0);if((m[(k[C>>2]|0)+20>>1]|0|0)>(k[A>>2]|0))k[k[B>>2]>>2]=k[(k[(k[C>>2]|0)+24>>2]|0)+(k[A>>2]<<2)>>2];else k[k[B>>2]>>2]=0;if((k[D>>2]|0)==0?(l[(k[C>>2]|0)+22>>0]|0|0)!=0:0)k[D>>2]=8;k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}function WO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+128|0;n=q;b=q+116|0;c=q+112|0;f=q+108|0;h=q+104|0;j=q+100|0;g=q+96|0;p=q+92|0;d=q+88|0;m=q+12|0;o=q+8|0;e=q+4|0;k[c>>2]=a;k[f>>2]=0;a=Td(16,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[b>>2]=7;p=k[b>>2]|0;r=q;return p|0}a=k[f>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;hO();k[g>>2]=k[(k[c>>2]|0)+8>>2];k[h>>2]=k[(k[g>>2]|0)+20>>2];a:do if(!(k[h>>2]|0)){k[o>>2]=k[(k[c>>2]|0)+32>>2];do if(!(gc[k[6500>>2]&255](k[(k[c>>2]|0)+12>>2]|0,m)|0)){a=6+(uR(k[o>>2]|0)|0)|0;k[d>>2]=a;a=Td(36+(k[d>>2]|0)|0,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[j>>2]=7;break}dS(k[h>>2]|0,0,36+(k[d>>2]|0)|0)|0;a=(k[h>>2]|0)+36|0;k[(k[h>>2]|0)+8>>2]=a;k[p>>2]=a;d=k[d>>2]|0;a=k[p>>2]|0;k[n>>2]=k[o>>2];_d(d,a,44586,n)|0;k[(k[h>>2]|0)+12>>2]=-1;k[(k[(k[c>>2]|0)+8>>2]|0)+20>>2]=k[h>>2];k[k[h>>2]>>2]=k[(k[c>>2]|0)+8>>2];if((k[3]|0)!=0?(k[(k[h>>2]|0)+4>>2]=8,(k[(k[h>>2]|0)+4>>2]|0)==0):0){k[j>>2]=7;break}if(l[(k[g>>2]|0)+13>>0]|0)break a;k[e>>2]=66;if(Sf(k[(k[c>>2]|0)+32>>2]|0,44593,0)|0){k[e>>2]=0;i[(k[h>>2]|0)+22>>0]=1}o=qO(k[p>>2]|0,k[e>>2]|0,k[m+12>>2]&511)|0;k[(k[h>>2]|0)+12>>2]=o;if((k[(k[h>>2]|0)+12>>2]|0)<0){o=yt(33691)|0;p=mO(o,44128,k[p>>2]|0,33691)|0;k[j>>2]=p;break}NO(k[(k[h>>2]|0)+12>>2]|0,k[m+20>>2]|0,k[m+24>>2]|0)|0;k[j>>2]=0;if((rO(k[c>>2]|0,1,128,1)|0)==0?(CO(k[(k[h>>2]|0)+12>>2]|0,0,0)|0)!=0:0){p=mO(4618,44151,k[p>>2]|0,33707)|0;k[j>>2]=p}if(!(k[j>>2]|0)){p=rO(k[c>>2]|0,0,128,1)|0;k[j>>2]=p}if(!(k[j>>2]|0))break a}else k[j>>2]=1802;while(0);iO(k[c>>2]|0);Ud(k[f>>2]|0);jO();k[b>>2]=k[j>>2];p=k[b>>2]|0;r=q;return p|0}while(0);k[k[f>>2]>>2]=k[h>>2];p=(k[h>>2]|0)+28|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[c>>2]|0)+36>>2]=k[f>>2];jO();k[(k[f>>2]|0)+4>>2]=k[(k[h>>2]|0)+32>>2];k[(k[h>>2]|0)+32>>2]=k[f>>2];k[b>>2]=0;p=k[b>>2]|0;r=q;return p|0}function XO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+44|0;p=o+40|0;e=o+36|0;g=o+28|0;h=o+24|0;f=o+8|0;m=o;k[p>>2]=a;k[e>>2]=b;k[o+32>>2]=c;k[g>>2]=k[p>>2];k[m>>2]=0;if((l[(k[g>>2]|0)+16>>0]|0|0)<=(k[e>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=o;return p|0}hO();k[h>>2]=k[(k[g>>2]|0)+8>>2];do if((l[(k[g>>2]|0)+16>>0]|0|0)>1){if((k[e>>2]|0)==1?(j[f>>1]=0,j[f+2>>1]=0,k[f+4>>2]=(k[384]|0)+2,k[f+8>>2]=510,(YO(k[g>>2]|0,f)|0)!=0):0){k[m>>2]=2314;a=k[g>>2]|0;p=LQ()|0;zO(a,k[p>>2]|0);break}j[f>>1]=2;j[f+2>>1]=0;k[f+4>>2]=k[384];k[f+8>>2]=2;if(!(YO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=1;n=10;break}else{k[m>>2]=2058;a=k[g>>2]|0;p=LQ()|0;zO(a,k[p>>2]|0);break}}else n=10;while(0);if((n|0)==10?(k[e>>2]|0)==0:0){p=(k[h>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+-1;do if(!(k[(k[h>>2]|0)+8>>2]|0)){j[f>>1]=2;j[f+2>>1]=0;k[f+8>>2]=0;k[f+4>>2]=0;if(!(YO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=0;break}else{k[m>>2]=2058;n=k[g>>2]|0;p=LQ()|0;zO(n,k[p>>2]|0);i[(k[h>>2]|0)+12>>0]=0;i[(k[g>>2]|0)+16>>0]=0;break}}while(0);p=(k[h>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+-1;if(!(k[(k[h>>2]|0)+24>>2]|0))ZO(k[g>>2]|0)}jO();if(!(k[m>>2]|0))i[(k[g>>2]|0)+16>>0]=k[e>>2];k[d>>2]=k[m>>2];p=k[d>>2]|0;r=o;return p|0}function YO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p+8|0;n=p;c=p+48|0;d=p+44|0;e=p+40|0;h=p+36|0;g=p+32|0;f=p+16|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[(k[d>>2]|0)+8>>2];do if(((m[(k[d>>2]|0)+18>>1]|0)&3|0)==1){if(l[(k[g>>2]|0)+13>>0]|0){k[h>>2]=0;break}j[f+2>>1]=0;k[f+4>>2]=(k[384]|0)+2;k[f+8>>2]=510;j[f>>1]=1;b=k[1631]|0;o=k[(k[d>>2]|0)+12>>2]|0;k[n>>2]=f;o=Yb[b&255](o,13,n)|0;k[h>>2]=o;if((k[h>>2]|0)>=0){i[(k[g>>2]|0)+13>>0]=1;o=(k[g>>2]|0)+24|0;k[o>>2]=(k[o>>2]|0)+1;break}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}else{b=k[1631]|0;n=k[(k[d>>2]|0)+12>>2]|0;k[o>>2]=k[e>>2];o=Yb[b&255](n,13,o)|0;k[h>>2]=o}while(0);k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}function ZO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[c>>2]=k[(k[d>>2]|0)+28>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];lO(k[b>>2]|0,k[k[c>>2]>>2]|0,30592);Ud(k[c>>2]|0);k[c>>2]=k[e>>2]}k[(k[d>>2]|0)+28>>2]=0;r=f;return}function _O(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+8|0;d=b+4|0;e=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[(k[c>>2]|0)+28>>2];k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+28>>2];k[(k[d>>2]|0)+28>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=-1;k[(k[c>>2]|0)+28>>2]=0;r=b;return}function $O(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[c>>2]|0)+16>>2]|0){r=d;return}ZO(k[b>>2]|0);b=k[(k[c>>2]|0)+32>>2]|0;if(k[(k[c>>2]|0)+36>>2]|0)k[(k[(k[c>>2]|0)+36>>2]|0)+32>>2]=b;else k[1738]=b;if(k[(k[c>>2]|0)+32>>2]|0)k[(k[(k[c>>2]|0)+32>>2]|0)+36>>2]=k[(k[c>>2]|0)+36>>2];Ud(k[c>>2]|0);r=d;return}function aP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+96|0;l=j+92|0;e=j+88|0;f=j+84|0;g=j+80|0;i=j+4|0;h=j;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=0;if(!(gc[k[6488>>2]&255](k[l>>2]|0,i)|0)){k[k[e>>2]>>2]=k[i+12>>2]&511;k[k[f>>2]>>2]=k[i+20>>2];k[k[g>>2]>>2]=k[i+24>>2];l=k[h>>2]|0;r=j;return l|0}else{k[h>>2]=1802;l=k[h>>2]|0;r=j;return l|0}return 0}function bP(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 6876}function cP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){c=b;k[c>>2]=0;k[c+4>>2]=0;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=ne(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=L;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}return 0}function dP(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){p[b>>3]=0.0;e=+p[b>>3];r=d;return +e}else{f=(k[c>>2]|0)+4|0;a=k[f>>2]|0;k[f>>2]=a+1;e=+le(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);p[b>>3]=e;e=+p[b>>3];r=d;return +e}return 0.0}function eP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;k[d>>2]=a;k[e>>2]=b;if((k[k[e>>2]>>2]|0)<=0){i[c>>0]=48;a=i[c>>0]|0;r=h;return a|0}else{a=k[e>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;k[g>>2]=~~+p[k[d>>2]>>3];p[f>>3]=+(k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+48;p[k[d>>2]>>3]=(+p[k[d>>2]>>3]-+p[f>>3])*10.0;i[c>>0]=k[g>>2];a=i[c>>0]|0;r=h;return a|0}return 0}function fP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=je(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function gP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=k[e>>2]|0;a=$R(k[(k[d>>2]|0)+12>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;if((c|0)>0|((c|0)==0?a>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=FA(k[d>>2]|0,k[e>>2]|0)|0,k[e>>2]=a,(a|0)<=0):0){r=g;return}while(1){a=k[e>>2]|0;k[e>>2]=a+-1;if((a|0)<=0)break;c=i[f>>0]|0;b=(k[d>>2]|0)+12|0;a=k[b>>2]|0;k[b>>2]=a+1;i[(k[(k[d>>2]|0)+8>>2]|0)+a>>0]=c}r=g;return}function hP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=296;d=k[a+4>>2]|0;if((d|0)<0|(d|0)==0&(k[a>>2]|0)>>>0<=0){r=c;return}Pd(k[b>>2]|0)|0;r=c;return}function iP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[h>>2]=a;k[c>>2]=b;b=bc[k[64>>2]&255](k[h>>2]|0)|0;k[d>>2]=b;$i(5,k[h>>2]|0);b=296;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){b=ig(0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;b=k[a>>2]|0;a=k[a+4>>2]|0;e=296;h=k[d>>2]|0;h=_R(k[e>>2]|0,k[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;e=L;if((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>=h>>>0){k[79]=1;hP(k[d>>2]|0);break}else{k[79]=0;break}}while(0);h=bc[k[48>>2]&255](k[d>>2]|0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}b=kg(k[f>>2]|0)|0;k[d>>2]=b;aj(0,k[d>>2]|0);aj(9,1);b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}function jP(){lP(8780,3);return}function kP(){lP(8556,8);return}function lP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;h=j+12|0;i=j+8|0;g=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[d>>2]|0))break;k[i>>2]=k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+20>>2];b=Tf(k[i>>2]|0)|0;k[g>>2]=b;k[e>>2]=((l[17613+(l[k[i>>2]>>0]|0)>>0]|0)+(k[g>>2]|0)|0)%23|0;b=ru(k[e>>2]|0,k[i>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=k[(k[h>>2]|0)+8>>2];k[(k[h>>2]|0)+8>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}else{k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=0;k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+24>>2]=k[1092+(k[e>>2]<<2)>>2];k[1092+(k[e>>2]<<2)>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}k[f>>2]=(k[f>>2]|0)+1}r=j;return}function mP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=je(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!a){r=f;return}g=k[d>>2]|0;te(g,Id(k[e>>2]|0)|0);r=f;return}function nP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+4|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[g>>2]=c;a=me(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;we(a,Kd(k[e>>2]|0)|0,-1,0);r=d;return}function oP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;we(a,tf()|0,-1,0);r=d;return}function pP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;d=v+52|0;e=v+48|0;f=v+44|0;u=v+40|0;t=v+36|0;q=v+32|0;j=v+28|0;m=v+24|0;g=v+20|0;h=v+16|0;p=v+12|0;s=v+8|0;n=v+4|0;o=v;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;if((oe(k[k[f>>2]>>2]|0)|0)==5){r=v;return}a=je(k[k[f>>2]>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=v;return}a=ke(k[k[f>>2]>>2]|0)|0;k[q>>2]=a;a:do if((k[e>>2]|0)!=1){a=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[t>>2]=a;if(!a){r=v;return}k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break;a=k[s>>2]|0;k[s>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break b;k[s>>2]=(k[s>>2]|0)+1}while(0);k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)>0){c=k[d>>2]|0;a=k[p>>2]|0;a=kS(a|0,((a|0)<0)<<31>>31|0,5,0)|0;a=YP(c,a,L)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=v;return}k[g>>2]=(k[h>>2]|0)+(k[p>>2]<<2);k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break a;k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]=k[s>>2];a=k[s>>2]|0;k[s>>2]=a+1;c:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break c;k[s>>2]=(k[s>>2]|0)+1}while(0);i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=(k[s>>2]|0)-(k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]|0);k[p>>2]=(k[p>>2]|0)+1}}}else{k[p>>2]=1;k[g>>2]=45220;k[h>>2]=8552;k[t>>2]=0}while(0);if((k[p>>2]|0)>0){s=Ee(k[d>>2]|0)|0;k[j>>2]=s;d:do if((k[j>>2]&1|0)!=0&(k[q>>2]|0)>0)do{k[n>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[n>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[n>>2]|0)<=(k[q>>2]|0)?(oR(k[u>>2]|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[n>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break d;k[u>>2]=(k[u>>2]|0)+(k[n>>2]|0);k[q>>2]=(k[q>>2]|0)-(k[n>>2]|0)}while((k[q>>2]|0)>0);while(0);e:do if((k[j>>2]&2|0)!=0&(k[q>>2]|0)>0)do{k[o>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[o>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[o>>2]|0)<=(k[q>>2]|0)?(oR((k[u>>2]|0)+((k[q>>2]|0)-(k[o>>2]|0))|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[o>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break e;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}while((k[q>>2]|0)>0);while(0);if(k[t>>2]|0)Ud(k[h>>2]|0)}we(k[d>>2]|0,k[u>>2]|0,k[q>>2]|0,-1);r=v;return}function qP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(Ee(k[d>>2]|0)|0)==0;k[i>>2]=a?0:-1;a=ZP(k[d>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;if((oe(k[k[f>>2]>>2]|0)|0)==5){r=m;return}k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;if((oe(k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0)|0)==5){l=9;break}a=WI(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,k[j>>2]|0)|0;if((a^k[i>>2]|0)>=0)k[h>>2]=k[g>>2];k[g>>2]=(k[g>>2]|0)+1}if((l|0)==9){r=m;return}ye(k[d>>2]|0,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0);r=m;return}function rP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;e=m+28|0;d=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;f=m+4|0;l=m;k[e>>2]=a;k[m+24>>2]=b;k[d>>2]=c;k[h>>2]=k[k[d>>2]>>2];a=Ge(k[e>>2]|0,40)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=m;return}a=(oe(k[k[d>>2]>>2]|0)|0)==5;d=(j[(k[i>>2]|0)+8>>1]|0)!=0;if(a){if(!d){r=m;return}_P(k[e>>2]|0);r=m;return}b=k[e>>2]|0;if(!d){l=Fe(b)|0;k[(k[i>>2]|0)+32>>2]=l;th(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}a=ZP(b)|0;k[l>>2]=a;a=(Ee(k[e>>2]|0)|0)!=0&1;k[g>>2]=a;l=WI(k[i>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[f>>2]=l;if(!((k[g>>2]|0)!=0&(k[f>>2]|0)<0)?!((k[g>>2]|0)==0&(k[f>>2]|0)>0):0){_P(k[e>>2]|0);r=m;return}th(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}function sP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(j[(k[c>>2]|0)+8>>1]|0)ye(k[b>>2]|0,k[c>>2]|0);fh(k[c>>2]|0);r=d;return}function tP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;k[e>>2]=0;switch(oe(k[k[g>>2]>>2]|0)|0){case 1:{k[e>>2]=39710;break}case 3:{k[e>>2]=45210;break}case 2:{k[e>>2]=39705;break}case 4:{k[e>>2]=45215;break}default:k[e>>2]=39718}we(k[d>>2]|0,k[e>>2]|0,-1,0);r=f;return}function uP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[h+12>>2]=b;k[e>>2]=c;switch(oe(k[k[e>>2]>>2]|0)|0){case 2:case 1:case 4:{te(k[d>>2]|0,ke(k[k[e>>2]>>2]|0)|0);r=h;return}case 3:{a=je(k[k[e>>2]>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}k[f>>2]=0;a:while(1){if(!(i[k[g>>2]>>0]|0))break;k[f>>2]=(k[f>>2]|0)+1;a=k[g>>2]|0;k[g>>2]=a+1;if((l[a>>0]|0)<192)continue;while(1){if((l[k[g>>2]>>0]&192|0)!=128)continue a;k[g>>2]=(k[g>>2]|0)+1}}te(k[d>>2]|0,k[f>>2]|0);r=h;return}default:{ve(k[d>>2]|0);r=h;return}}}function vP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+40|0;e=p+32|0;n=p+28|0;o=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;f=p+4|0;g=p;k[d>>2]=a;k[p+36>>2]=b;k[e>>2]=c;k[f>>2]=1;a=oe(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;a=oe(k[(k[e>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if((k[j>>2]|0)==5|(k[m>>2]|0)==5){r=p;return}b=ke(k[k[e>>2]>>2]|0)|0;k[h>>2]=b;b=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[i>>2]=b;b=k[k[e>>2]>>2]|0;if((k[j>>2]|0)==4&(k[m>>2]|0)==4){m=ie(b)|0;k[n>>2]=m;m=ie(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=0}else{m=je(b)|0;k[n>>2]=m;m=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=1}a:while(1){if((k[i>>2]|0)>(k[h>>2]|0))break;if(!(oR(k[n>>2]|0,k[o>>2]|0,k[i>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1;while(1){k[h>>2]=(k[h>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+1;if(!(k[g>>2]|0))continue a;if(((l[k[n>>2]>>0]|0)&192|0)!=128)continue a}}if((k[i>>2]|0)>(k[h>>2]|0))k[f>>2]=0;te(k[d>>2]|0,k[f>>2]|0);r=p;return}function wP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+80|0;l=o;d=o+64|0;e=o+60|0;f=o+56|0;m=o+44|0;j=o+16|0;n=o+12|0;h=o+8|0;g=o+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Fe(k[d>>2]|0)|0;k[g>>2]=a;if((k[e>>2]|0)<1){r=o;return}a=je(k[k[f>>2]>>2]|0)|0;k[n>>2]=a;if(!a){r=o;return}k[m>>2]=(k[e>>2]|0)-1;k[m+4>>2]=0;k[m+8>>2]=(k[f>>2]|0)+4;ng(j,k[g>>2]|0,0,0,k[(k[g>>2]|0)+96>>2]|0);i[j+25>>0]=2;n=k[n>>2]|0;k[l>>2]=m;BA(j,n,l);k[h>>2]=k[j+12>>2];m=k[d>>2]|0;n=pg(j)|0;we(m,n,k[h>>2]|0,170);r=o;return}function xP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=je(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}if(!(l[k[e>>2]>>0]|0)){r=f;return}g=k[d>>2]|0;te(g,TC(e)|0);r=f;return}function yP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n;g=n+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(k[e>>2]<<2)+1|0;a=Td(a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;k[m>>2]=a;if(!(k[l>>2]|0)){Ce(k[d>>2]|0);r=n;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;o=ne(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;a=L;c=j;k[c>>2]=o;k[c+4>>2]=a;c=j;b=k[c+4>>2]|0;c=(k[j+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>1114111);b=j;k[b>>2]=c?65533:o;k[b+4>>2]=c?0:a;k[g>>2]=k[j>>2]&2097151;b=k[g>>2]|0;do if((k[g>>2]|0)>>>0>=128){c=k[g>>2]|0;if(b>>>0<2048){a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=192+(c>>>6&31);a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}b=k[g>>2]|0;if(c>>>0<65536){o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=224+(b>>>12&15);o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}else{a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=240+(b>>>18&7);a=128+((k[g>>2]|0)>>>12&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}}else{o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=b}while(0);k[h>>2]=(k[h>>2]|0)+1}o=(k[m>>2]|0)-(k[l>>2]|0)|0;xe(k[d>>2]|0,k[l>>2]|0,o,((o|0)<0)<<31>>31,148,1);r=n;return}function zP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=r;r=r+32|0;d=h+24|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[h+20>>2]=b;k[e>>2]=c;switch(oe(k[k[e>>2]>>2]|0)|0){case 1:{a=ne(k[k[e>>2]>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;do if((k[f+4>>2]|0)<0){g=f;if(!((k[g>>2]|0)==0?(k[g+4>>2]|0)==-2147483648:0)){a=f;a=_R(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;break}se(k[d>>2]|0,45165,-1);r=h;return}while(0);g=f;ue(k[d>>2]|0,k[g>>2]|0,k[g+4>>2]|0);r=h;return}case 5:{ve(k[d>>2]|0);r=h;return}default:{i=+le(k[k[e>>2]>>2]|0);p[g>>3]=i;if(+p[g>>3]<0.0)p[g>>3]=-+p[g>>3];re(k[d>>2]|0,+p[g>>3]);r=h;return}}}function AP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0.0;j=r;r=r+48|0;h=j+8|0;d=j+40|0;l=j+36|0;e=j+32|0;f=j+28|0;g=j;i=j+24|0;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=0;do if((k[l>>2]|0)==2)if(5==(oe(k[(k[e>>2]|0)+4>>2]|0)|0)){r=j;return}else{l=me(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=l;l=(k[f>>2]|0)>30?30:l;k[f>>2]=l;k[f>>2]=(k[f>>2]|0)<0?0:l;break}while(0);if((oe(k[k[e>>2]>>2]|0)|0)==5){r=j;return}m=+le(k[k[e>>2]>>2]|0);p[g>>3]=m;do if((k[f>>2]|0)==0&+p[g>>3]>=0.0&+p[g>>3]<9223372036854775808.0){m=+p[g>>3]+.5;m=+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);p[g>>3]=m}else{if((k[f>>2]|0)==0&+p[g>>3]<0.0?-+p[g>>3]<9223372036854775808.0:0){m=-+p[g>>3]+.5;m=-(+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0));p[g>>3]=m;break}m=+p[g>>3];k[h>>2]=k[f>>2];p[h+8>>3]=m;l=Yd(45205,h)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;oz(l,g,Tf(k[i>>2]|0)|0,1)|0;Ud(k[i>>2]|0);break}Ce(k[d>>2]|0);r=j;return}while(0);re(k[d>>2]|0,+p[g>>3]);r=j;return}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=je(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=ke(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=$R(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=YP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[(k[h>>2]|0)+(k[e>>2]|0)>>0]&~(l[18403+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]&32);k[e>>2]=(k[e>>2]|0)+1}we(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=je(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=ke(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=$R(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=YP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[17613+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]|0;k[e>>2]=(k[e>>2]|0)+1}we(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function DP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+28|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;e=n+32|0;k[d>>2]=a;k[n+24>>2]=b;k[o>>2]=c;c=ie(k[k[o>>2]>>2]|0)|0;k[h>>2]=c;c=ke(k[k[o>>2]>>2]|0)|0;k[g>>2]=c;c=k[d>>2]|0;a=k[g>>2]|0;a=kS(a|0,((a|0)<0)<<31>>31|0,2,0)|0;a=$R(a|0,L|0,1,0)|0;a=YP(c,a,L)|0;k[m>>2]=a;k[j>>2]=a;if(!(k[m>>2]|0)){r=n;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;i[e>>0]=i[k[h>>2]>>0]|0;o=i[45189+((l[e>>0]|0)>>4&15)>>0]|0;a=k[j>>2]|0;k[j>>2]=a+1;i[a>>0]=o;a=i[45189+((l[e>>0]|0)&15)>>0]|0;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=a;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}i[k[j>>2]>>0]=0;we(k[d>>2]|0,k[m>>2]|0,k[g>>2]<<1,148);r=n;return}function EP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;e=f;k[d>>2]=a;k[f+12>>2]=b;k[f+8>>2]=c;ae(8,e);if((k[e+4>>2]|0)<0){c=e;c=_R(0,0,k[c>>2]|0,k[c+4>>2]&2147483647|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L}ue(k[d>>2]|0,k[e>>2]|0,k[e+4>>2]|0);r=f;return}function FP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[g+12>>2]=b;k[h>>2]=c;a=me(k[k[h>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<1?1:a;a=k[e>>2]|0;a=YP(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=g;return}ae(k[e>>2]|0,k[f>>2]|0);pe(k[d>>2]|0,k[f>>2]|0,k[e>>2]|0,148);r=g;return}function GP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;e=f+4|0;g=f;k[d>>2]=a;k[f+8>>2]=b;k[e>>2]=c;a=ZP(k[d>>2]|0)|0;k[g>>2]=a;if(!(WI(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0)){r=f;return}ye(k[d>>2]|0,k[k[e>>2]>>2]|0);r=f;return}function HP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;we(a,uf()|0,-1,0);r=d;return}function IP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d;f=d+4|0;k[d+12>>2]=a;k[d+8>>2]=b;k[f>>2]=c;a=me(k[k[f>>2]>>2]|0)|0;c=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[e>>2]=c;$d(a,18391,e);r=d;return}function JP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=r;r=r+144|0;s=y+32|0;q=y+24|0;d=y+80|0;e=y+72|0;n=y+16|0;o=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;m=y+60|0;f=y+56|0;g=y+52|0;h=y+48|0;j=y;u=y+44|0;t=y+40|0;k[d>>2]=a;k[y+76>>2]=b;k[e>>2]=c;switch(oe(k[k[e>>2]>>2]|0)|0){case 2:{z=+le(k[k[e>>2]>>2]|0);p[n>>3]=z;p[q>>3]=+p[n>>3];_d(50,w,28271,q)|0;oz(w,o,20,1)|0;if(+p[n>>3]!=+p[o>>3]){p[s>>3]=+p[n>>3];_d(50,w,45182,s)|0}we(k[d>>2]|0,w,-1,-1);r=y;return}case 1:{ye(k[d>>2]|0,k[k[e>>2]>>2]|0);r=y;return}case 4:{k[x>>2]=0;u=ie(k[k[e>>2]>>2]|0)|0;k[v>>2]=u;u=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=u;u=k[d>>2]|0;w=k[m>>2]|0;w=YP(u,$R(kS(2,0,w|0,((w|0)<0)<<31>>31|0)|0,L|0,4,0)|0,L)|0;k[x>>2]=w;if(!(k[x>>2]|0)){r=y;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;i[(k[x>>2]|0)+((k[f>>2]<<1)+2)>>0]=i[45189+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]>>4&15)>>0]|0;i[(k[x>>2]|0)+((k[f>>2]<<1)+3)>>0]=i[45189+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]&15)>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[x>>2]|0)+((k[m>>2]<<1)+2)>>0]=39;i[(k[x>>2]|0)+((k[m>>2]<<1)+3)>>0]=0;i[k[x>>2]>>0]=88;i[(k[x>>2]|0)+1>>0]=39;we(k[d>>2]|0,k[x>>2]|0,-1,-1);Ud(k[x>>2]|0);r=y;return}case 3:{x=je(k[k[e>>2]>>2]|0)|0;k[u>>2]=x;if(!(k[u>>2]|0)){r=y;return}k[g>>2]=0;x=j;k[x>>2]=0;k[x+4>>2]=0;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){w=j;w=$R(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=j;k[x>>2]=w;k[x+4>>2]=L}k[g>>2]=(k[g>>2]|0)+1}w=k[d>>2]|0;v=k[g>>2]|0;x=j;x=$R(v|0,((v|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;x=$R(x|0,L|0,3,0)|0;x=YP(w,x,L)|0;k[t>>2]=x;if(!(k[t>>2]|0)){r=y;return}i[k[t>>2]>>0]=39;k[g>>2]=0;k[h>>2]=1;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;w=i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=w;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39}k[g>>2]=(k[g>>2]|0)+1}x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39;i[(k[t>>2]|0)+(k[h>>2]|0)>>0]=0;we(k[d>>2]|0,k[t>>2]|0,k[h>>2]|0,148);r=y;return}default:{we(k[d>>2]|0,39691,4,0);r=y;return}}}function KP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=Fe(k[f>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;a=zf(k[e>>2]|0)|0;ue(c,a,L);r=d;return}function LP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Fe(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;te(a,Af(k[e>>2]|0)|0);r=d;return}function MP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Fe(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;te(a,Bf(k[e>>2]|0)|0);r=d;return}function NP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;o=w+64|0;d=w+56|0;v=w+52|0;m=w+48|0;n=w+44|0;u=w+40|0;s=w+36|0;h=w+32|0;j=w+28|0;g=w;f=w+24|0;p=w+20|0;q=w+16|0;t=w+12|0;e=w+8|0;k[o>>2]=a;k[w+60>>2]=b;k[d>>2]=c;a=je(k[k[d>>2]>>2]|0)|0;k[v>>2]=a;if(!(k[v>>2]|0)){r=w;return}a=ke(k[k[d>>2]>>2]|0)|0;k[s>>2]=a;a=je(k[(k[d>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){r=w;return}if(!(l[k[m>>2]>>0]|0)){ye(k[o>>2]|0,k[k[d>>2]>>2]|0);r=w;return}a=ke(k[(k[d>>2]|0)+4>>2]|0)|0;k[h>>2]=a;a=je(k[(k[d>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){r=w;return}c=ke(k[(k[d>>2]|0)+8>>2]|0)|0;k[j>>2]=c;c=(k[s>>2]|0)+1|0;a=g;k[a>>2]=c;k[a+4>>2]=((c|0)<0)<<31>>31;a=g;a=YP(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=w;return}k[f>>2]=(k[s>>2]|0)-(k[h>>2]|0);k[q>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>(k[f>>2]|0)){d=18;break}if((l[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0|0)==(l[k[m>>2]>>0]|0|0)?(oR((k[v>>2]|0)+(k[p>>2]|0)|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0){d=Fe(k[o>>2]|0)|0;k[e>>2]=d;d=(k[j>>2]|0)-(k[h>>2]|0)|0;c=g;d=$R(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c=g;k[c>>2]=d;k[c+4>>2]=L;c=g;c=_R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;d=L;a=k[(k[e>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((d|0)>(b|0)|(d|0)==(b|0)&c>>>0>a>>>0){d=13;break}k[t>>2]=k[u>>2];a=k[g>>2]|0;a=Wd(k[u>>2]|0,a,((a|0)<0)<<31>>31)|0;k[u>>2]=a;if(!(k[u>>2]|0)){d=15;break}bS((k[u>>2]|0)+(k[q>>2]|0)|0,k[n>>2]|0,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+(k[j>>2]|0);k[p>>2]=(k[p>>2]|0)+((k[h>>2]|0)-1)}else{c=i[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0;a=k[q>>2]|0;k[q>>2]=a+1;i[(k[u>>2]|0)+a>>0]=c}k[p>>2]=(k[p>>2]|0)+1}if((d|0)==13){Be(k[o>>2]|0);Ud(k[u>>2]|0);r=w;return}else if((d|0)==15){Ce(k[o>>2]|0);Ud(k[t>>2]|0);r=w;return}else if((d|0)==18){bS((k[u>>2]|0)+(k[q>>2]|0)|0,(k[v>>2]|0)+(k[p>>2]|0)|0,(k[s>>2]|0)-(k[p>>2]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+((k[s>>2]|0)-(k[p>>2]|0));i[(k[u>>2]|0)+(k[q>>2]|0)>>0]=0;we(k[o>>2]|0,k[u>>2]|0,k[q>>2]|0,148);r=w;return}}function OP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;d=f+20|0;h=f+12|0;g=f;e=f+8|0;k[d>>2]=a;k[f+16>>2]=b;k[h>>2]=c;h=ne(k[k[h>>2]>>2]|0)|0;c=L;b=g;k[b>>2]=h;k[b+4>>2]=c;b=(k[g+4>>2]|0)<0;a=g;k[a>>2]=b?0:h;k[a+4>>2]=b?0:c;a=g;a=ze(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}Ae(k[d>>2]|0,k[e>>2]|0);r=f;return}function PP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;p=q+28|0;f=q+24|0;h=q+20|0;m=q+8|0;n=q;g=q+16|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;if((oe(k[(k[e>>2]|0)+4>>2]|0)|0)==5){r=q;return}if((k[d>>2]|0)==3?(oe(k[(k[e>>2]|0)+8>>2]|0)|0)==5:0){r=q;return}a=oe(k[k[e>>2]>>2]|0)|0;k[h>>2]=a;a=me(k[(k[e>>2]|0)+4>>2]|0)|0;b=m;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;b=k[k[e>>2]>>2]|0;a:do if((k[h>>2]|0)==4){a=ke(b)|0;k[f>>2]=a;a=ie(k[k[e>>2]>>2]|0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}}else{a=je(b)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}k[f>>2]=0;if((k[m+4>>2]|0)<0){k[p>>2]=k[o>>2];while(1){if(!(i[k[p>>2]>>0]|0))break a;a=k[p>>2]|0;k[p>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break b;k[p>>2]=(k[p>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}}}while(0);if((k[d>>2]|0)==3){d=me(k[(k[e>>2]|0)+8>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;if((k[n+4>>2]|0)<0){d=n;d=_R(0,0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;k[g>>2]=1}}else{d=(Fe(k[j>>2]|0)|0)+96|0;d=k[d>>2]|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31}do if((k[m+4>>2]|0)<0){d=k[f>>2]|0;e=m;d=$R(k[e>>2]|0,k[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;if((k[m+4>>2]|0)<0){c=m;d=n;c=$R(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;d=L;a=n;k[a>>2]=c;k[a+4>>2]=d;a=(k[n+4>>2]|0)<0;e=n;k[e>>2]=a?0:c;k[e+4>>2]=a?0:d;e=m;k[e>>2]=0;k[e+4>>2]=0}}else{e=m;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=m;d=$R(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;break}e=n;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=n;d=$R(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=n;k[e>>2]=d;k[e+4>>2]=L}}while(0);if((k[g>>2]|0)!=0?(e=n,g=m,e=_R(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0,g=m,k[g>>2]=e,k[g+4>>2]=L,(k[m+4>>2]|0)<0):0){e=m;g=n;e=$R(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;g=n;k[g>>2]=e;k[g+4>>2]=L;g=m;k[g>>2]=0;k[g+4>>2]=0}if((k[h>>2]|0)==4){e=m;h=n;h=$R(k[e>>2]|0,k[e+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;e=L;p=k[f>>2]|0;g=((p|0)<0)<<31>>31;if((e|0)>(g|0)|(e|0)==(g|0)&h>>>0>p>>>0){h=k[f>>2]|0;f=m;f=_R(h|0,((h|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=L;g=n;k[g>>2]=f;k[g+4>>2]=h;g=(k[n+4>>2]|0)<0;p=n;k[p>>2]=g?0:f;k[p+4>>2]=g?0:h}p=n;qe(k[j>>2]|0,(k[o>>2]|0)+(k[m>>2]|0)|0,k[p>>2]|0,k[p+4>>2]|0,-1);r=q;return}while(1){h=m;b=k[o>>2]|0;if(!((l[k[o>>2]>>0]|0)!=0?(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0:0))break;k[o>>2]=b+1;c:do if((l[b>>0]|0)>=192)while(1){if((l[k[o>>2]>>0]&192|0)!=128)break c;k[o>>2]=(k[o>>2]|0)+1}while(0);g=m;g=$R(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;h=m;k[h>>2]=g;k[h+4>>2]=L}k[p>>2]=b;while(1){m=n;if(!((l[k[p>>2]>>0]|0)!=0?(k[m>>2]|0)!=0|(k[m+4>>2]|0)!=0:0))break;m=k[p>>2]|0;k[p>>2]=m+1;d:do if((l[m>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break d;k[p>>2]=(k[p>>2]|0)+1}while(0);h=n;h=$R(k[h>>2]|0,k[h+4>>2]|0,-1,-1)|0;m=n;k[m>>2]=h;k[m+4>>2]=L}p=(k[p>>2]|0)-(k[o>>2]|0)|0;xe(k[j>>2]|0,k[o>>2]|0,p,((p|0)<0)<<31>>31,-1,1);r=q;return}function QP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0.0;h=r;r=r+32|0;j=h+24|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;k[j>>2]=a;k[h+20>>2]=b;k[d>>2]=c;a=Ge(k[j>>2]|0,32)|0;k[e>>2]=a;a=bf(k[k[d>>2]>>2]|0)|0;k[f>>2]=a;if(!((k[e>>2]|0)!=0&(k[f>>2]|0)!=5)){r=h;return}j=(k[e>>2]|0)+16|0;a=j;a=$R(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[j>>2]=a;k[j+4>>2]=L;d=k[k[d>>2]>>2]|0;if((k[f>>2]|0)!=1){m=+le(d);j=k[e>>2]|0;p[j>>3]=+p[j>>3]+m;i[(k[e>>2]|0)+25>>0]=1;r=h;return}j=ne(d)|0;f=g;k[f>>2]=j;k[f+4>>2]=L;f=g;j=k[e>>2]|0;p[j>>3]=+p[j>>3]+(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0));if(l[(k[e>>2]|0)+25>>0]|0|(l[(k[e>>2]|0)+24>>0]|0)){r=h;return}j=g;if(!(SI((k[e>>2]|0)+8|0,k[j>>2]|0,k[j+4>>2]|0)|0)){r=h;return}i[(k[e>>2]|0)+24>>0]=1;r=h;return}function RP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}if(i[(k[c>>2]|0)+24>>0]|0){se(k[b>>2]|0,45165,-1);r=d;return}b=k[b>>2]|0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+25>>0]|0){re(b,+p[a>>3]);r=d;return}else{e=a+8|0;ue(b,k[e>>2]|0,k[e+4>>2]|0);r=d;return}}function SP(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Ge(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){e=0.0;re(a,e);r=c;return}e=+p[k[b>>2]>>3];re(a,e);r=c;return}function TP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}e=(k[c>>2]|0)+16|0;re(k[b>>2]|0,+p[k[c>>2]>>3]/(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0)));r=d;return}function UP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;a=Ge(k[h>>2]|0,8)|0;k[e>>2]=a;if(!(k[g>>2]|0)){if(!(k[e>>2]|0)){r=f;return}}else{h=5!=(oe(k[k[d>>2]>>2]|0)|0);if(!(h&(k[e>>2]|0)!=0)){r=f;return}}h=k[e>>2]|0;g=h;g=$R(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[h>>2]=g;k[h+4>>2]=L;r=f;return}function VP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Ge(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){b=0;d=0;ue(a,b,d);r=c;return}d=k[b>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0;ue(a,b,d);r=c;return}function WP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+36|0;e=o+32|0;f=o+28|0;n=o+24|0;l=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;g=o+4|0;h=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((oe(k[k[f>>2]>>2]|0)|0)==5){r=o;return}a=Ge(k[d>>2]|0,28)|0;k[l>>2]=a;if(!(k[l>>2]|0)){r=o;return}a=Fe(k[d>>2]|0)|0;k[g>>2]=a;k[h>>2]=(k[(k[l>>2]|0)+20>>2]|0)==0&1;k[(k[l>>2]|0)+20>>2]=k[(k[g>>2]|0)+96>>2];if(!(k[h>>2]|0)){if((k[e>>2]|0)==2){h=je(k[(k[f>>2]|0)+4>>2]|0)|0;k[m>>2]=h;h=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=h}else{k[m>>2]=34710;k[i>>2]=1}if(k[i>>2]|0)CA(k[l>>2]|0,k[m>>2]|0,k[i>>2]|0)}m=je(k[k[f>>2]>>2]|0)|0;k[n>>2]=m;m=ke(k[k[f>>2]>>2]|0)|0;k[j>>2]=m;if(!(k[n>>2]|0)){r=o;return}CA(k[l>>2]|0,k[n>>2]|0,k[j>>2]|0);r=o;return}function XP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ge(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if((l[(k[c>>2]|0)+24>>0]|0|0)==2){Be(k[b>>2]|0);r=d;return}b=k[b>>2]|0;if((l[(k[c>>2]|0)+24>>0]|0|0)==1){Ce(b);r=d;return}else{we(b,pg(k[c>>2]|0)|0,-1,148);r=d;return}}function YP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g;f=g+12|0;i=g+8|0;k[d>>2]=a;h=e;k[h>>2]=b;k[h+4>>2]=c;c=Fe(k[d>>2]|0)|0;k[i>>2]=c;c=e;h=k[c+4>>2]|0;a=k[(k[i>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((h|0)>(b|0)|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){Be(k[d>>2]|0);k[f>>2]=0;i=k[f>>2]|0;r=g;return i|0}i=e;i=jg(k[i>>2]|0,k[i+4>>2]|0)|0;k[f>>2]=i;if(k[f>>2]|0){i=k[f>>2]|0;r=g;return i|0}Ce(k[d>>2]|0);i=k[f>>2]|0;r=g;return i|0}function ZP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+88>>2]|0)+(((k[(k[d>>2]|0)+16>>2]|0)-1|0)*20|0);r=c;return k[(k[b>>2]|0)+16>>2]|0}function _P(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+24>>0]=1;r=b;return}function $P(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+64|0;d=f+56|0;h=f+52|0;g=f+48|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;if(hQ(k[d>>2]|0,k[h>>2]|0,k[g>>2]|0,e)|0){r=f;return}iQ(e);h=e;re(k[d>>2]|0,(+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0))/864.0e5);r=f;return}function aQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(hQ(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}kQ(f);i=k[f+12>>2]|0;j=k[f+16>>2]|0;k[e>>2]=k[f+8>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,45506,e)|0;we(k[d>>2]|0,g,-1,-1);r=h;return}function bQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(hQ(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}lQ(f);i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+20>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,45491,e)|0;we(k[d>>2]|0,g,-1,-1);r=h;return}function cQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+192|0;e=h+48|0;d=h+80|0;j=h+76|0;i=h+72|0;f=h;g=h+84|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(hQ(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}jQ(f);b=k[f+12>>2]|0;c=k[f+16>>2]|0;a=k[f+20>>2]|0;i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+8>>2];k[e+4>>2]=b;k[e+8>>2]=c;k[e+12>>2]=a;k[e+16>>2]=i;k[e+20>>2]=j;_d(100,g,45461,e)|0;we(k[d>>2]|0,g,-1,-1);r=h;return}function dQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+336|0;z=I+192|0;y=I+184|0;x=I+176|0;w=I+168|0;v=I+160|0;u=I+152|0;t=I+144|0;B=I+136|0;A=I+128|0;s=I+120|0;q=I+112|0;j=I+232|0;d=I+228|0;e=I+224|0;D=I+64|0;g=I+56|0;l=I+220|0;m=I+216|0;F=I+212|0;f=I+208|0;H=I+204|0;G=I+236|0;o=I+48|0;n=I+200|0;E=I;C=I+196|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;if(!(k[d>>2]|0)){r=I;return}a=je(k[k[e>>2]>>2]|0)|0;k[H>>2]=a;if(!(k[H>>2]|0)){r=I;return}if(hQ(k[j>>2]|0,(k[d>>2]|0)-1|0,(k[e>>2]|0)+4|0,D)|0){r=I;return}a=Fe(k[j>>2]|0)|0;k[f>>2]=a;k[l>>2]=0;a=g;k[a>>2]=1;k[a+4>>2]=0;a:while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==37){switch(i[(k[H>>2]|0)+((k[l>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 37:case 119:break;case 102:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 106:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,3,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 89:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 74:case 115:{c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,50,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}default:{h=44;break a}}k[l>>2]=(k[l>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1;c=g;c=$R(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L}if((h|0)==44){r=I;return}h=g;a=k[h+4>>2]|0;if(!(a>>>0<0|(a|0)==0&(k[h>>2]|0)>>>0<100)){a=g;b=k[a+4>>2]|0;h=k[(k[f>>2]|0)+96>>2]|0;c=((h|0)<0)<<31>>31;if(b>>>0>c>>>0|((b|0)==(c|0)?(k[a>>2]|0)>>>0>h>>>0:0)){Be(k[j>>2]|0);r=I;return}h=k[g>>2]|0;h=dx(k[f>>2]|0,h,((h|0)<0)<<31>>31)|0;k[F>>2]=h;if(!(k[F>>2]|0)){Ce(k[j>>2]|0);r=I;return}}else k[F>>2]=G;iQ(D);jQ(D);k[m>>2]=0;k[l>>2]=0;while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;d=k[l>>2]|0;b:do if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)!=37){g=i[(k[H>>2]|0)+d>>0]|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=g}else{k[l>>2]=d+1;do switch(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0){case 100:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[q>>2]=k[D+16>>2];_d(3,h,45303,q)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 102:{p[o>>3]=+p[D+32>>3];if(+p[o>>3]>59.999)p[o>>3]=59.999;h=(k[F>>2]|0)+(k[m>>2]|0)|0;p[s>>3]=+p[o>>3];_d(7,h,45308,s)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 72:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[A>>2]=k[D+20>>2];_d(3,h,45303,A)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 106:case 87:{d=E;e=D;b=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));i[E+42>>0]=0;k[E+12>>2]=1;k[E+16>>2]=1;iQ(E);g=D;h=E;h=iS($R(_R(k[g>>2]|0,k[g+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0,L|0,432e5,0)|0,L|0,864e5,0)|0;k[n>>2]=h;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==87){h=D;h=$R(k[h>>2]|0,k[h+4>>2]|0,432e5,0)|0;h=iS(h|0,L|0,864e5,0)|0;h=jS(h|0,L|0,7,0)|0;k[C>>2]=h;h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[B>>2]=((k[n>>2]|0)+7-(k[C>>2]|0)|0)/7|0;_d(3,h,45303,B)|0;k[m>>2]=(k[m>>2]|0)+2;break b}else{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[t>>2]=(k[n>>2]|0)+1;_d(4,h,45315,t)|0;k[m>>2]=(k[m>>2]|0)+3;break b}}case 74:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;g=D;p[u>>3]=(+((k[g>>2]|0)>>>0)+4294967296.0*+(k[g+4>>2]|0))/864.0e5;_d(20,h,41946,u)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 109:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[v>>2]=k[D+12>>2];_d(3,h,45303,v)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 77:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[w>>2]=k[D+24>>2];_d(3,h,45303,w)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 115:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;f=D;f=_R(iS(k[f>>2]|0,k[f+4>>2]|0,1e3,0)|0,L|0,413362496,49)|0;g=x;k[g>>2]=f;k[g+4>>2]=L;_d(30,h,28266,x)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 83:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[y>>2]=~~+p[D+32>>3];_d(3,h,45303,y)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 119:{g=D;g=jS(iS($R(k[g>>2]|0,k[g+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=((g&255)<<24>>24)+48;break b}case 89:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[z>>2]=k[D+8>>2];_d(5,h,45320,z)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}default:{h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=37;break b}}while(0)}while(0);k[l>>2]=(k[l>>2]|0)+1}i[(k[F>>2]|0)+(k[m>>2]|0)>>0]=0;we(k[j>>2]|0,k[F>>2]|0,-1,(k[F>>2]|0)==(G|0)?-1:170);r=I;return}function eQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;bQ(k[e>>2]|0,0,0);r=d;return}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;cQ(k[e>>2]|0,0,0);r=d;return}function gQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;aQ(k[e>>2]|0,0,0);r=d;return}function hQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0.0;o=r;r=r+32|0;n=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[h>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if(!(k[f>>2]|0)){m=mQ(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;n=k[n>>2]|0;r=o;return n|0}d=oe(k[k[g>>2]>>2]|0)|0;k[j>>2]=d;b=k[k[g>>2]>>2]|0;do if((d|0)==2|(k[j>>2]|0)==1){p=+le(b)*864.0e5+.5;d=+W(p)>=1.0?(p>0.0?~~+ia(+V(p/4294967296.0),4294967295.0)>>>0:~~+ga((p-+(~~p>>>0))/4294967296.0)>>>0):0;j=k[h>>2]|0;k[j>>2]=~~p>>>0;k[j+4>>2]=d;i[(k[h>>2]|0)+42>>0]=1}else{j=je(b)|0;k[m>>2]=j;if((k[m>>2]|0)!=0?(nQ(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0)break;k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}while(0);k[l>>2]=1;while(1){if((k[l>>2]|0)>=(k[f>>2]|0)){b=14;break}j=je(k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)|0;k[m>>2]=j;if(!(k[m>>2]|0)){b=12;break}if(oQ(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0){b=12;break}k[l>>2]=(k[l>>2]|0)+1}if((b|0)==12){k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}else if((b|0)==14){k[n>>2]=0;n=k[n>>2]|0;r=o;return n|0}return 0}function iQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;f=l+20|0;e=l+16|0;c=l+12|0;d=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+42>>0]|0){r=l;return}if(i[(k[b>>2]|0)+40>>0]|0){k[j>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+12>>2];k[e>>2]=k[(k[b>>2]|0)+16>>2]}else{k[j>>2]=2e3;k[f>>2]=1;k[e>>2]=1}if((k[f>>2]|0)<=2){k[j>>2]=(k[j>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+12}k[c>>2]=(k[j>>2]|0)/100|0;k[d>>2]=2-(k[c>>2]|0)+((k[c>>2]|0)/4|0);k[g>>2]=(((k[j>>2]|0)+4716|0)*36525|0)/100|0;k[h>>2]=(((k[f>>2]|0)+1|0)*306001|0)/1e4|0;m=(+((k[g>>2]|0)+(k[h>>2]|0)+(k[e>>2]|0)+(k[d>>2]|0)|0)-1524.5)*864.0e5;j=+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0;a=k[b>>2]|0;k[a>>2]=~~m>>>0;k[a+4>>2]=j;i[(k[b>>2]|0)+42>>0]=1;if(!(i[(k[b>>2]|0)+41>>0]|0)){r=l;return}j=ha(k[(k[b>>2]|0)+20>>2]|0,36e5)|0;j=j+((k[(k[b>>2]|0)+24>>2]|0)*6e4|0)|0;m=+p[(k[b>>2]|0)+32>>3]*1.0e3;j=$R(j|0,((j|0)<0)<<31>>31|0,~~m>>>0|0,(+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0)|0;a=k[b>>2]|0;h=a;j=$R(k[h>>2]|0,k[h+4>>2]|0,j|0,L|0)|0;k[a>>2]=j;k[a+4>>2]=L;if(!(i[(k[b>>2]|0)+43>>0]|0)){r=l;return}j=(k[(k[b>>2]|0)+28>>2]|0)*6e4|0;a=k[b>>2]|0;h=a;j=_R(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k[a>>2]=j;k[a+4>>2]=L;i[(k[b>>2]|0)+40>>0]=0;i[(k[b>>2]|0)+41>>0]=0;i[(k[b>>2]|0)+43>>0]=0;r=l;return}function jQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;kQ(k[c>>2]|0);lQ(k[c>>2]|0);r=b;return}function kQ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;c=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+40>>0]|0){r=l;return}a=k[b>>2]|0;if(i[(k[b>>2]|0)+42>>0]|0){a=$R(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=iS(a|0,L|0,864e5,0)|0;k[j>>2]=a;k[c>>2]=~~((+(k[j>>2]|0)-1867216.25)/36524.25);k[c>>2]=(k[j>>2]|0)+1+(k[c>>2]|0)-((k[c>>2]|0)/4|0);k[d>>2]=(k[c>>2]|0)+1524;k[e>>2]=~~((+(k[d>>2]|0)-122.1)/365.25);k[f>>2]=((k[e>>2]&32767)*36525|0)/100|0;k[g>>2]=~~(+((k[d>>2]|0)-(k[f>>2]|0)|0)/30.6001);k[h>>2]=~~(+(k[g>>2]|0)*30.6001);k[(k[b>>2]|0)+16>>2]=(k[d>>2]|0)-(k[f>>2]|0)-(k[h>>2]|0);j=k[g>>2]|0;k[(k[b>>2]|0)+12>>2]=(k[g>>2]|0)<14?j-1|0:j-13|0;j=k[e>>2]|0;k[(k[b>>2]|0)+8>>2]=(k[(k[b>>2]|0)+12>>2]|0)>2?j-4716|0:j-4715|0}else{k[a+8>>2]=2e3;k[(k[b>>2]|0)+12>>2]=1;k[(k[b>>2]|0)+16>>2]=1}i[(k[b>>2]|0)+40>>0]=1;r=l;return}function lQ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(i[(k[b>>2]|0)+41>>0]|0){r=d;return}iQ(k[b>>2]|0);a=k[b>>2]|0;a=$R(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=jS(a|0,L|0,864e5,0)|0;k[c>>2]=a;p[(k[b>>2]|0)+32>>3]=+(k[c>>2]|0)/1.0e3;k[c>>2]=~~+p[(k[b>>2]|0)+32>>3];a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]-+(k[c>>2]|0);k[(k[b>>2]|0)+20>>2]=(k[c>>2]|0)/3600|0;k[c>>2]=(k[c>>2]|0)-((k[(k[b>>2]|0)+20>>2]|0)*3600|0);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)/60|0;a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]+ +((k[c>>2]|0)-((k[(k[b>>2]|0)+24>>2]|0)*60|0)|0);i[(k[b>>2]|0)+41>>0]=1;r=d;return}function mQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=wQ(k[f>>2]|0)|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=L;b=k[d>>2]|0;a=k[b+4>>2]|0;if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){i[(k[d>>2]|0)+42>>0]=1;k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=1;f=k[c>>2]|0;r=e;return f|0}return 0}function nQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0.0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(vQ(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(rQ(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(sg(k[f>>2]|0,45445)|0)){b=mQ(k[e>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=j;return b|0}b=k[f>>2]|0;if(oz(b,h,Tf(k[f>>2]|0)|0,1)|0){l=+p[h>>3]*864.0e5+.5;h=+W(l)>=1.0?(l>0.0?~~+ia(+V(l/4294967296.0),4294967295.0)>>>0:~~+ga((l-+(~~l>>>0))/4294967296.0)>>>0):0;b=k[g>>2]|0;k[b>>2]=~~l>>>0;k[b+4>>2]=h;i[(k[g>>2]|0)+42>>0]=1;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=1;b=k[d>>2]|0;r=j;return b|0}return 0}function oQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=r;r=r+160|0;d=z+124|0;e=z+120|0;w=z+116|0;x=z+112|0;h=z+108|0;j=z+80|0;y=z+104|0;g=z+72|0;f=z+64|0;m=z+56|0;v=z+100|0;u=z+8|0;t=z;n=z+96|0;o=z+92|0;q=z+88|0;k[d>>2]=a;k[e>>2]=b;k[w>>2]=c;k[x>>2]=1;k[y>>2]=z+128;k[h>>2]=0;while(1){if((k[h>>2]|0)<29)a=(i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;i[(k[y>>2]|0)+(k[h>>2]|0)>>0]=i[17613+(l[(k[e>>2]|0)+c>>0]|0)>>0]|0;k[h>>2]=(k[h>>2]|0)+1}i[(k[y>>2]|0)+c>>0]=0;switch(i[k[y>>2]>>0]|0){case 108:{if(rR(k[y>>2]|0,45325)|0){y=k[x>>2]|0;r=z;return y|0}iQ(k[w>>2]|0);v=pQ(k[w>>2]|0,k[d>>2]|0,x)|0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;qQ(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}case 117:{if((rR(k[y>>2]|0,45335)|0)==0?(i[(k[w>>2]|0)+42>>0]|0)!=0:0){v=k[w>>2]|0;v=$R(k[v>>2]|0,k[v+4>>2]|0,43200,0)|0;v=iS(v|0,L|0,86400,0)|0;v=$R(v|0,L|0,1045635584,49096)|0;y=k[w>>2]|0;k[y>>2]=v;k[y+4>>2]=L;qQ(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(rR(k[y>>2]|0,45345)|0){y=k[x>>2]|0;r=z;return y|0}if(i[(k[w>>2]|0)+44>>0]|0){k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}iQ(k[w>>2]|0);v=pQ(k[w>>2]|0,k[d>>2]|0,x)|0;y=g;k[y>>2]=v;k[y+4>>2]=L;if(!(k[x>>2]|0)){u=g;y=k[w>>2]|0;v=y;u=_R(k[v>>2]|0,k[v+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[y>>2]=u;k[y+4>>2]=L;qQ(k[w>>2]|0);y=g;u=k[y>>2]|0;y=k[y+4>>2]|0;v=pQ(k[w>>2]|0,k[d>>2]|0,x)|0;v=_R(u|0,y|0,v|0,L|0)|0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L}i[(k[w>>2]|0)+44>>0]=1;y=k[x>>2]|0;r=z;return y|0}case 119:{if(vR(k[y>>2]|0,45349,8)|0){y=k[x>>2]|0;r=z;return y|0}if(!(oz((k[y>>2]|0)+8|0,j,Tf((k[y>>2]|0)+8|0)|0,1)|0)){y=k[x>>2]|0;r=z;return y|0}y=~~+p[j>>3];k[h>>2]=y;if(!(((k[h>>2]|0)>=0?+(y|0)==+p[j>>3]:0)&+p[j>>3]<7.0)){y=k[x>>2]|0;r=z;return y|0}jQ(k[w>>2]|0);i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;iQ(k[w>>2]|0);t=k[w>>2]|0;t=jS(iS($R(k[t>>2]|0,k[t+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;v=f;k[v>>2]=t;k[v+4>>2]=L;v=f;t=k[v+4>>2]|0;y=k[h>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(k[v>>2]|0)>>>0>y>>>0:0)){v=f;v=_R(k[v>>2]|0,k[v+4>>2]|0,7,0)|0;y=f;k[y>>2]=v;k[y+4>>2]=L}y=k[h>>2]|0;v=f;v=kS(_R(y|0,((y|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0,L|0,864e5,0)|0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;qQ(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 115:{if(vR(k[y>>2]|0,45358,9)|0){y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+9;kQ(k[w>>2]|0);i[(k[w>>2]|0)+41>>0]=1;k[(k[w>>2]|0)+24>>2]=0;k[(k[w>>2]|0)+20>>2]=0;p[(k[w>>2]|0)+32>>3]=0.0;i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;if(!(rR(k[y>>2]|0,45368)|0)){k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(!(rR(k[y>>2]|0,45374)|0)){kQ(k[w>>2]|0);k[(k[w>>2]|0)+12>>2]=1;k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(rR(k[y>>2]|0,45379)|0){y=k[x>>2]|0;r=z;return y|0}k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k[h>>2]=1;while(1){if(!(i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0))break;if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58)break;if(!((l[18403+(l[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;k[h>>2]=(k[h>>2]|0)+1}if(!(oz(k[y>>2]|0,j,k[h>>2]|0,1)|0)){k[x>>2]=1;y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58){k[v>>2]=k[y>>2];if(!(l[18403+(l[k[v>>2]>>0]|0)>>0]&4))k[v>>2]=(k[v>>2]|0)+1;c=u;a=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));if(rQ(k[v>>2]|0,u)|0){y=k[x>>2]|0;r=z;return y|0}iQ(u);v=u;v=_R(k[v>>2]|0,k[v+4>>2]|0,432e5,0)|0;s=u;k[s>>2]=v;k[s+4>>2]=L;s=u;s=iS(k[s>>2]|0,k[s+4>>2]|0,864e5,0)|0;v=t;k[v>>2]=s;k[v+4>>2]=L;t=kS(k[t>>2]|0,k[t+4>>2]|0,864e5,0)|0;v=u;t=_R(k[v>>2]|0,k[v+4>>2]|0,t|0,L|0)|0;v=u;k[v>>2]=t;k[v+4>>2]=L;if((i[k[y>>2]>>0]|0)==45){v=u;v=_R(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;y=u;k[y>>2]=v;k[y+4>>2]=L}iQ(k[w>>2]|0);qQ(k[w>>2]|0);v=u;y=k[w>>2]|0;w=y;w=$R(k[w>>2]|0,k[w+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[y>>2]=w;k[y+4>>2]=L;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+(k[h>>2]|0);while(1){c=k[y>>2]|0;if(!(l[18403+(l[k[y>>2]>>0]|0)>>0]&1))break;k[y>>2]=c+1}v=Tf(c)|0;k[h>>2]=v;if((k[h>>2]|0)>10|(k[h>>2]|0)<3){y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]|0)==115){i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]=0;k[h>>2]=(k[h>>2]|0)+-1}iQ(k[w>>2]|0);k[x>>2]=0;p[m>>3]=+p[j>>3]<0.0?-.5:.5;if((k[h>>2]|0)==3?(rR(k[y>>2]|0,45379)|0)==0:0){A=+p[j>>3]*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L}else s=54;do if((s|0)==54){if((k[h>>2]|0)==4?(rR(k[y>>2]|0,45383)|0)==0:0){A=+p[j>>3]*36.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(rR(k[y>>2]|0,45388)|0)==0:0){A=+p[j>>3]*6.0e4+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(rR(k[y>>2]|0,45395)|0)==0:0){A=+p[j>>3]*1.0e3+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==5?(rR(k[y>>2]|0,45368)|0)==0:0){jQ(k[w>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)+~~+p[j>>3];y=k[(k[w>>2]|0)+12>>2]|0;k[n>>2]=(((k[(k[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[n>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)-((k[n>>2]|0)*12|0);i[(k[w>>2]|0)+42>>0]=0;iQ(k[w>>2]|0);k[o>>2]=~~+p[j>>3];if(!(+(k[o>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[o>>2]|0))*30.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==4?(rR(k[y>>2]|0,45374)|0)==0:0){k[q>>2]=~~+p[j>>3];jQ(k[w>>2]|0);y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[q>>2]|0);i[(k[w>>2]|0)+42>>0]=0;iQ(k[w>>2]|0);if(!(+(k[q>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[q>>2]|0))*365.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=$R(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}k[x>>2]=1}while(0);qQ(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}default:{y=k[x>>2]|0;r=z;return y|0}}return 0}function pQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+176|0;e=o+96|0;d=o+164|0;f=o+160|0;g=o+156|0;m=o+48|0;n=o;l=o+152|0;j=o+108|0;h=o+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;b=j;c=b+44|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=m;a=k[d>>2]|0;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));jQ(m);if((k[m+8>>2]|0)>=1971?(k[m+8>>2]|0)<2038:0){k[h>>2]=~~(+p[m+32>>3]+.5);p[m+32>>3]=+(k[h>>2]|0)}else{k[m+8>>2]=2e3;k[m+12>>2]=1;k[m+16>>2]=1;k[m+20>>2]=0;k[m+24>>2]=0;p[m+32>>3]=0.0}k[m+28>>2]=0;i[m+42>>0]=0;iQ(m);h=m;h=iS(k[h>>2]|0,k[h+4>>2]|0,1e3,0)|0;h=_R(h|0,L|0,413362496,49)|0;k[l>>2]=h;if(uQ(l,j)|0){se(k[f>>2]|0,45422,-1);k[k[g>>2]>>2]=1;m=e;k[m>>2]=0;k[m+4>>2]=0;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}else{k[n+8>>2]=(k[j+20>>2]|0)+1900;k[n+12>>2]=(k[j+16>>2]|0)+1;k[n+16>>2]=k[j+12>>2];k[n+20>>2]=k[j+8>>2];k[n+24>>2]=k[j+4>>2];p[n+32>>3]=+(k[j>>2]|0);i[n+40>>0]=1;i[n+41>>0]=1;i[n+42>>0]=0;i[n+43>>0]=0;iQ(n);k[k[g>>2]>>2]=0;l=n;n=m;n=_R(k[l>>2]|0,k[l+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;m=e;k[m>>2]=n;k[m+4>>2]=L;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}return 0}function qQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+40>>0]=0;i[(k[c>>2]|0)+41>>0]=0;i[(k[c>>2]|0)+43>>0]=0;r=b;return}function rQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;n=o+24|0;q=o+16|0;c=o+48|0;d=o+44|0;e=o+40|0;f=o+36|0;g=o+32|0;m=o+28|0;h=o+8|0;j=o;k[d>>2]=a;k[e>>2]=b;p[h>>3]=0.0;a=k[d>>2]|0;k[q>>2]=f;k[q+4>>2]=g;if((sQ(a,45402,q)|0)!=2){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+5;if((i[k[d>>2]>>0]|0)==58){k[d>>2]=(k[d>>2]|0)+1;q=k[d>>2]|0;k[n>>2]=m;if((sQ(q,45410,n)|0)!=1){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+2;if((i[k[d>>2]>>0]|0)==46?(l[18403+(l[(k[d>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){p[j>>3]=1.0;k[d>>2]=(k[d>>2]|0)+1;while(1){if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&4))break;p[h>>3]=+p[h>>3]*10.0+ +(i[k[d>>2]>>0]|0)-48.0;p[j>>3]=+p[j>>3]*10.0;k[d>>2]=(k[d>>2]|0)+1}p[h>>3]=+p[h>>3]/+p[j>>3]}}else k[m>>2]=0;i[(k[e>>2]|0)+42>>0]=0;i[(k[e>>2]|0)+41>>0]=1;k[(k[e>>2]|0)+20>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=k[g>>2];p[(k[e>>2]|0)+32>>3]=+(k[m>>2]|0)+ +p[h>>3];if(tQ(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}else{i[(k[e>>2]|0)+43>>0]=(k[(k[e>>2]|0)+28>>2]|0)!=0?1:0;k[c>>2]=0;q=k[c>>2]|0;r=o;return q|0}return 0}function sQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+28|0;e=s+24|0;g=s+8|0;q=s+4|0;o=s+36|0;f=s+35|0;n=s+34|0;p=s;h=s+32|0;k[d>>2]=a;k[e>>2]=b;k[q>>2]=0;k[g>>2]=c;a:while(1){i[f>>0]=(i[k[e>>2]>>0]|0)-48;i[n>>0]=(i[(k[e>>2]|0)+1>>0]|0)-48;k[p>>2]=0;j[h>>1]=j[16422+((i[(k[e>>2]|0)+2>>0]|0)-97<<1)>>1]|0;i[o>>0]=i[(k[e>>2]|0)+3>>0]|0;k[p>>2]=0;while(1){b=i[f>>0]|0;i[f>>0]=b+-1<<24>>24;if(!(b<<24>>24))break;if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&4)){d=11;break a}k[p>>2]=((k[p>>2]|0)*10|0)+(i[k[d>>2]>>0]|0)-48;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)<(i[n>>0]|0)){d=11;break}if((k[p>>2]|0)>(m[h>>1]|0)){d=11;break}if((i[o>>0]|0)!=0?(i[o>>0]|0)!=(i[k[d>>2]>>0]|0):0){d=11;break}a=k[p>>2]|0;c=(k[g>>2]|0)+(4-1)&~(4-1);b=k[c>>2]|0;k[g>>2]=c+4;k[b>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+4;if(!(i[o>>0]|0)){d=11;break}}if((d|0)==11){r=s;return k[q>>2]|0}return 0}function tQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o;c=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;g=o+16|0;h=o+12|0;f=o+8|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;while(1){if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}k[(k[e>>2]|0)+28>>2]=0;k[f>>2]=i[k[d>>2]>>0];do if((k[f>>2]|0)==45){k[j>>2]=-1;n=11}else{if((k[f>>2]|0)==43){k[j>>2]=1;n=11;break}if((k[f>>2]|0)==90|(k[f>>2]|0)==122){k[d>>2]=(k[d>>2]|0)+1;break}k[c>>2]=(k[f>>2]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}while(0);do if((n|0)==11){k[d>>2]=(k[d>>2]|0)+1;n=k[d>>2]|0;k[m>>2]=g;k[m+4>>2]=h;if((sQ(n,45414,m)|0)==2){k[d>>2]=(k[d>>2]|0)+5;n=ha(k[j>>2]|0,(k[h>>2]|0)+((k[g>>2]|0)*60|0)|0)|0;k[(k[e>>2]|0)+28>>2]=n;break}k[c>>2]=1;n=k[c>>2]|0;r=o;return n|0}while(0);while(1){if(!(l[18403+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}i[(k[e>>2]|0)+44>>0]=1;k[c>>2]=(i[k[d>>2]>>0]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}function uQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=Tb(k[g>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[69]|0)!=0?0:a;if(k[d>>2]|0){c=k[c>>2]|0;b=k[d>>2]|0;a=c+44|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(a|0))}k[e>>2]=(k[d>>2]|0)==0&1;r=f;return k[e>>2]|0}function vQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n;d=n+36|0;e=n+32|0;f=n+28|0;j=n+24|0;h=n+20|0;g=n+16|0;m=n+12|0;k[e>>2]=a;k[f>>2]=b;if((i[k[e>>2]>>0]|0)==45){k[e>>2]=(k[e>>2]|0)+1;k[m>>2]=1}else k[m>>2]=0;a=k[e>>2]|0;k[c>>2]=j;k[c+4>>2]=h;k[c+8>>2]=g;if((sQ(a,45449,c)|0)!=3){k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}k[e>>2]=(k[e>>2]|0)+10;while(1){if(l[18403+(l[k[e>>2]>>0]|0)>>0]&1)c=1;else c=84==(l[k[e>>2]>>0]|0);b=k[e>>2]|0;if(!c)break;k[e>>2]=b+1}do if(rQ(b,k[f>>2]|0)|0){if(!(i[k[e>>2]>>0]|0)){i[(k[f>>2]|0)+41>>0]=0;break}k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}while(0);i[(k[f>>2]|0)+42>>0]=0;i[(k[f>>2]|0)+40>>0]=1;j=k[j>>2]|0;k[(k[f>>2]|0)+8>>2]=(k[m>>2]|0)!=0?0-j|0:j;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[g>>2];if(i[(k[f>>2]|0)+43>>0]|0)iQ(k[f>>2]|0);k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}function wQ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=(k[(k[b>>2]|0)+12>>2]|0)+56;a=k[c>>2]|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0?(a=AI(k[k[(k[k[b>>2]>>2]|0)+32>>2]>>2]|0,k[c>>2]|0)|0,k[d>>2]=a,(k[d>>2]|0)!=0):0){d=k[c>>2]|0;k[d>>2]=0;k[d+4>>2]=0}d=k[c>>2]|0;L=k[d+4>>2]|0;r=e;return k[d>>2]|0}function xQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+64|0;j=q;d=q+60|0;s=q+52|0;n=q+48|0;o=q+44|0;h=q+40|0;g=q+32|0;l=q+28|0;f=q+24|0;m=q+20|0;e=q+16|0;k[d>>2]=a;k[q+56>>2]=b;k[s>>2]=c;a=je(k[k[s>>2]>>2]|0)|0;k[n>>2]=a;a=je(k[(k[s>>2]|0)+4>>2]|0)|0;k[o>>2]=a;k[l>>2]=k[n>>2];k[f>>2]=0;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[n>>2]|0)){r=q;return}do{if(!(i[k[l>>2]>>0]|0)){p=7;break}k[g>>2]=k[l>>2];k[g+4>>2]=k[f>>2];do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);s=jv(k[l>>2]|0,h)|0;k[f>>2]=s}while((k[h>>2]|0)==162)}while((k[h>>2]|0)!=22?(k[h>>2]|0)!=125:0);if((p|0)==7){r=q;return}s=k[e>>2]|0;l=k[n>>2]|0;o=k[o>>2]|0;p=(k[g>>2]|0)+(k[g+4>>2]|0)|0;k[j>>2]=(k[g>>2]|0)-(k[n>>2]|0);k[j+4>>2]=l;k[j+8>>2]=o;k[j+12>>2]=p;s=Qh(s,45595,j)|0;k[m>>2]=s;we(k[d>>2]|0,k[m>>2]|0,-1,170);r=q;return}function yQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+80|0;l=s;d=s+68|0;t=s+60|0;o=s+56|0;p=s+52|0;j=s+48|0;h=s+40|0;f=s+32|0;m=s+28|0;g=s+24|0;n=s+20|0;e=s+16|0;k[d>>2]=a;k[s+64>>2]=b;k[t>>2]=c;a=je(k[k[t>>2]>>2]|0)|0;k[o>>2]=a;a=je(k[(k[t>>2]|0)+4>>2]|0)|0;k[p>>2]=a;k[f>>2]=3;k[m>>2]=k[o>>2];k[g>>2]=0;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[o>>2]|0)){r=s;return}while(1){if(!(i[k[m>>2]>>0]|0)){q=8;break}k[h>>2]=k[m>>2];k[h+4>>2]=k[g>>2];do{k[m>>2]=(k[m>>2]|0)+(k[g>>2]|0);t=jv(k[m>>2]|0,j)|0;k[g>>2]=t}while((k[j>>2]|0)==162);t=(k[f>>2]|0)+1|0;k[f>>2]=t;k[f>>2]=(k[j>>2]|0)==122|(k[j>>2]|0)==107?0:t;if((k[f>>2]|0)!=2)continue;if(!((k[j>>2]|0)!=137&(k[j>>2]|0)!=74&(k[j>>2]|0)!=5))break}if((q|0)==8){r=s;return}t=k[e>>2]|0;m=k[o>>2]|0;p=k[p>>2]|0;q=(k[h>>2]|0)+(k[h+4>>2]|0)|0;k[l>>2]=(k[h>>2]|0)-(k[o>>2]|0);k[l+4>>2]=m;k[l+8>>2]=p;k[l+12>>2]=q;t=Qh(t,45595,l)|0;k[n>>2]=t;we(k[d>>2]|0,k[n>>2]|0,-1,170);r=s;return}function zQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+80|0;j=u+16|0;h=u;d=u+76|0;v=u+68|0;e=u+64|0;q=u+60|0;t=u+56|0;m=u+52|0;o=u+48|0;n=u+44|0;l=u+40|0;f=u+36|0;g=u+32|0;s=u+28|0;p=u+24|0;k[d>>2]=a;k[u+72>>2]=b;k[v>>2]=c;a=Fe(k[d>>2]|0)|0;k[e>>2]=a;k[q>>2]=0;a=je(k[k[v>>2]>>2]|0)|0;k[m>>2]=a;a=je(k[(k[v>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=je(k[(k[v>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if((k[m>>2]|0)==0|(k[o>>2]|0)==0){r=u;return}k[l>>2]=k[m>>2];while(1){if(!(i[k[l>>2]>>0]|0))break;v=jv(k[l>>2]|0,g)|0;k[f>>2]=v;if((k[g>>2]|0)==105){do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);v=jv(k[l>>2]|0,g)|0;k[f>>2]=v}while((k[g>>2]|0)==162);if((k[g>>2]|0)==163)break;v=k[f>>2]|0;v=gx(k[e>>2]|0,k[l>>2]|0,v,((v|0)<0)<<31>>31)|0;k[s>>2]=v;if(!(k[s>>2]|0))break;hx(k[s>>2]|0);if(!(sg(k[o>>2]|0,k[s>>2]|0)|0)){v=k[e>>2]|0;b=(k[l>>2]|0)-(k[m>>2]|0)|0;c=k[m>>2]|0;a=k[n>>2]|0;k[h>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:18402;k[h+4>>2]=b;k[h+8>>2]=c;k[h+12>>2]=a;v=Qh(v,45584,h)|0;k[p>>2]=v;bg(k[e>>2]|0,k[q>>2]|0);k[q>>2]=k[p>>2];k[m>>2]=(k[l>>2]|0)+(k[f>>2]|0)}bg(k[e>>2]|0,k[s>>2]|0)}k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0)}v=k[e>>2]|0;s=k[m>>2]|0;k[j>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:18402;k[j+4>>2]=s;v=Qh(v,24705,j)|0;k[t>>2]=v;we(k[d>>2]|0,k[t>>2]|0,-1,170);bg(k[e>>2]|0,k[q>>2]|0);r=u;return}function AQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=uu(k[d>>2]|0,k[e>>2]|0)|0;b=k[(k[d>>2]|0)+456>>2]|0;k[b>>2]=(k[b>>2]|0)+a;r=c;return}function BQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}k[g>>2]=k[e>>2];while(1){if((k[g>>2]|0)>>>0>=((k[e>>2]|0)+((k[f>>2]|0)*20|0)|0)>>>0)break;if(i[(k[g>>2]|0)+1>>0]|0)SA(k[d>>2]|0,i[(k[g>>2]|0)+1>>0]|0,k[(k[g>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+20}c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}function CQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+20>>2];if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))h=5;if((h|0)==5?(h=0,((l[(k[d>>2]|0)+42>>0]|0)&16|0)==0):0){k[g>>2]=k[k[e>>2]>>2];ck((k[(k[e>>2]|0)+24>>2]|0)+24|0,k[g>>2]|0,0)|0}PH(k[c>>2]|0,k[e>>2]|0);k[e>>2]=k[f>>2]}DQ(k[c>>2]|0,k[d>>2]|0);KH(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);pv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);ov(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0);EQ(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=i;return}function DQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[f>>2]|0))break;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0)){a=k[(k[f>>2]|0)+12>>2]|0;if(k[(k[f>>2]|0)+16>>2]|0)k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2]=a;else{k[e>>2]=a;a=k[f>>2]|0;if(k[e>>2]|0)a=k[(k[a+12>>2]|0)+8>>2]|0;else a=k[a+8>>2]|0;k[h>>2]=a;ck((k[(k[d>>2]|0)+64>>2]|0)+56|0,k[h>>2]|0,k[e>>2]|0)|0}if(k[(k[f>>2]|0)+12>>2]|0)k[(k[(k[f>>2]|0)+12>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2]}EG(k[c>>2]|0,k[(k[f>>2]|0)+28>>2]|0);EG(k[c>>2]|0,k[(k[f>>2]|0)+28+4>>2]|0);k[g>>2]=k[(k[f>>2]|0)+4>>2];bg(k[c>>2]|0,k[f>>2]|0);k[f>>2]=k[g>>2]}r=i;return}function EQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))dK(0,k[d>>2]|0)|0;if(!(k[(k[d>>2]|0)+52>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+48>>2]|0))break;if((k[e>>2]|0)!=1)bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+52>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[(k[d>>2]|0)+52>>2]|0);r=f;return}function FQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function GQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function HQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function IQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function JQ(a){a=a|0;var b=0;b=(IQ(a)|0)==0;return (b?a:a|32)|0}function KQ(a){a=a|0;var b=0;b=(HQ(a)|0)==0;return (b?a:a&95)|0}function LQ(){var a=0;if(!(k[2216]|0))a=8912;else{a=(zb()|0)+60|0;a=k[a>>2]|0}return a|0}function MQ(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[45740+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=45828;c=5;break}}if((c|0)==2)if(!b)a=45828;else{a=45828;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function NQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+192|0;h=s+152|0;g=s+136|0;q=s+120|0;p=s+104|0;o=s+96|0;l=s+80|0;j=s+64|0;e=s+48|0;m=s+32|0;f=s+16|0;d=s;t=s+176|0;i=s+168|0;k[t>>2]=c;c=(k[t>>2]|0)+(4-1)&~(4-1);n=k[c>>2]|0;k[t>>2]=c+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{k[d>>2]=a;k[d+4>>2]=14;k[d+8>>2]=n;c=QQ(vb(221,d|0)|0)|0;break}case 9:{k[f>>2]=a;k[f+4>>2]=16;k[f+8>>2]=i;c=vb(221,f|0)|0;switch(c|0){case -22:{k[m>>2]=a;k[m+4>>2]=9;k[m+8>>2]=n;c=vb(221,m|0)|0;break a}case 0:{c=k[i+4>>2]|0;c=(k[i>>2]|0)==2?0-c|0:c;break a}default:{c=QQ(c)|0;break a}}}case 1030:{k[e>>2]=a;k[e+4>>2]=1030;k[e+8>>2]=n;c=vb(221,e|0)|0;if((c|0)!=-22){if((c|0)>-1){k[j>>2]=c;k[j+4>>2]=2;k[j+8>>2]=1;vb(221,j|0)|0}c=QQ(c)|0;break a}k[l>>2]=a;k[l+4>>2]=1030;k[l+8>>2]=0;c=vb(221,l|0)|0;if((c|0)==-22){k[p>>2]=a;k[p+4>>2]=0;k[p+8>>2]=n;c=vb(221,p|0)|0;if((c|0)>-1){k[q>>2]=c;k[q+4>>2]=2;k[q+8>>2]=1;vb(221,q|0)|0}c=QQ(c)|0;break a}else{if((c|0)>-1){k[o>>2]=c;Lb(6,o|0)|0}c=QQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=n;c=QQ(vb(221,g|0)|0)|0;break a}else{k[h>>2]=a;k[h+4>>2]=b;k[h+8>>2]=n;c=QQ(vb(221,h|0)|0)|0;break a}}while(0);r=s;return c|0}function OQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d;f=d+16|0;k[f>>2]=c;g=(k[f>>2]|0)+(4-1)&~(4-1);c=k[g>>2]|0;k[f>>2]=g+4;k[e>>2]=a;k[e+4>>2]=b|32768;k[e+8>>2]=c;c=QQ(Mb(5,e|0)|0)|0;r=d;return c|0}function PQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){i[a+c>>0]=i[47632+c>>0]|0;if((c|0)==14)break;else c=c+1|0}if(!b){i[a+14>>0]=48;i[a+15>>0]=0}else{c=14;d=b;while(1){c=c+1|0;if(d>>>0<10)break;else d=(d>>>0)/10|0}i[a+c>>0]=0;while(1){c=c+-1|0;i[a+c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}}return}function QQ(a){a=a|0;var b=0;if(a>>>0>4294963200){b=LQ()|0;k[b>>2]=0-a;a=-1}return a|0}function RQ(a){a=+a;return +(+ea(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function SQ(a){a=+a;var b=0;p[t>>3]=a;b=aS(k[t>>2]|0,k[t+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+fa(+(a*2.0-1.0/(+X(+(a*a+-1.0))+a)));break}else{a=+fa(+a)+.6931471805599453;break}else{a=a+-1.0;a=+YQ(a+ +X(+(a*a+a*2.0)))}while(0);return +a}function TQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=aS(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+fa(+(a*2.0+1.0/(a+ +X(+(a*a+1.0)))));break}if(b>>>0>996){e=a*a;a=+YQ(a+e/(+X(+(e+1.0))+1.0))}}else a=+fa(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function UQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=aS(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];if(b>>>0<1022){if(b>>>0>=991){e=a*2.0;a=+YQ(e+a*e/(1.0-a))*.5}}else a=+YQ(a/(1.0-a)*2.0)*.5;return +((c|0)<0?-a:a)}function VQ(a){a=+a;var b=0;p[t>>3]=a;b=k[t+4>>2]&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+WQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+ea(+a);a=(a+1.0/a)*.5;break}else{a=+RQ(a);break}while(0);return +a}function WQ(a){a=+a;var b=0.0,c=0.0,d=0,e=0,f=0,g=0,h=0.0,i=0,j=0.0;p[t>>3]=a;d=k[t>>2]|0;e=k[t+4>>2]|0;f=e&2147483647;g=aS(d|0,e|0,63)|0;do if(f>>>0>1078159481){f=e&2147483647;if(!(f>>>0>2146435072|(f|0)==2146435072&d>>>0>0))if(!g)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else i=11;else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{h=0.0;f=0;i=14;break}if(f>>>0<1072734898)if(!g){b=a+-.6931471803691238;d=1;c=1.9082149292705877e-10;i=12;break}else{b=a+.6931471803691238;d=-1;c=-1.9082149292705877e-10;i=12;break}else i=11}while(0);if((i|0)==11){d=~~(a*1.4426950408889634+((g|0)!=0?-.5:.5));c=+(d|0);b=a-c*.6931471803691238;c=c*1.9082149292705877e-10;i=12}if((i|0)==12){h=b-c;a=h;h=b-h-c;f=d;i=14}a:do if((i|0)==14){c=a*.5;b=a*c;j=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;c=3.0-c*j;c=b*((j-c)/(6.0-a*c));if(!f){a=a-(a*c-b);break}b=a*(c-h)-h-b;switch(f|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{g=eS(f+1023|0,0,52)|0;i=L;k[t>>2]=g;k[t+4>>2]=i;c=+p[t>>3];if(f>>>0>56){a=a-b+1.0;a=((f|0)==1024?a*2.0*8988465674311579538646525.0e283:c*a)+-1.0;break a}d=eS(1023-f|0,0,52)|0;e=L;if((f|0)<20){k[t>>2]=d;k[t+4>>2]=e;a=1.0-+p[t>>3]+(a-b)}else{k[t>>2]=d;k[t+4>>2]=e;a=a-(+p[t>>3]+b)+1.0}a=c*a;break a}}}while(0);return +a}function XQ(a){a=+a;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;c=k[t>>2]|0;b=k[t+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[t>>3]=a*18014398509481984.0;b=k[t+4>>2]|0;d=k[t>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;k[t>>2]=d;k[t+4>>2]=(e&1048575)+1072079006;j=+p[t>>3]+-1.0;a=j*(j*.5);h=j/(j+2.0);i=h*h;g=i*i;p[t>>3]=j-a;d=k[t+4>>2]|0;k[t>>2]=0;k[t+4>>2]=d;f=+p[t>>3];a=h*(a+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(j-f-a);j=f*.4342944818781689;g=+(c+(e>>>20)|0);i=g*.30102999566361177;h=i+j;a=h+(j+(i-h)+(a*.4342944818781689+(g*3.694239077158931e-13+(f+a)*2.5082946711645275e-11)))}return +a}function YQ(a){a=+a;var b=0,c=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;b=k[t+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){f=eS(b|0,0,1)|0;if(f>>>0<2034237440)break;if(b>>>0<3218259653){d=0.0;c=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-B;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){c=a+1.0;p[t>>3]=c;b=(k[t+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54)a=((e|0)>1?1.0-(c-a):a-(c+-1.0))/c;else a=0.0;k[t>>2]=k[t>>2];k[t+4>>2]=(b&1048575)+1072079006;d=a;a=+p[t>>3]+-1.0;c=+(e|0);e=11}if((e|0)==11){g=a*(a*.5);j=a/(a+2.0);i=j*j;h=i*i;a=c*.6931471803691238+(a+(d+c*1.9082149292705877e-10+j*(g+(h*(h*(h*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(h*(h*(h*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-g))}return +a}function ZQ(a){a=+a;var b=0.0,c=0.0,d=0;p[t>>3]=a;d=k[t+4>>2]|0;c=(d|0)<0?-.5:.5;d=d&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=d;b=+p[t>>3];do if(d>>>0<1082535490){b=+WQ(b);if(d>>>0>=1072693248){a=c*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=c*(b*2.0-b*b/(b+1.0))}else a=c*2.0*+RQ(b);while(0);return +a}function _Q(a){a=+a;var b=0,c=0;p[t>>3]=a;c=k[t+4>>2]|0;b=c&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+WQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+WQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+WQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function $Q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=r;r=r+32|0;g=i;do if((f&4095|0)==0&(((f|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){e=LQ()|0;k[e>>2]=12;e=-1;break}h=(d&16|0)!=0;if(h)QR(-1);k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=c;k[g+12>>2]=d;k[g+16>>2]=e;k[g+20>>2]=f>>12;e=QQ(lb(192,g|0)|0)|0;if(h)RR()}else{e=LQ()|0;k[e>>2]=22;e=-1}while(0);r=i;return e|0}function aR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;QR(-1);k[d>>2]=a;k[d+4>>2]=b;a=QQ(eb(91,d|0)|0)|0;RR();r=c;return a|0}function bR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=sb(94,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){PQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=QQ(Fb(15,f|0)|0)|0}else c=QQ(c)|0;r=g;return c|0}function cR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=mb(197,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){PQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=QQ(ob(195,f|0)|0)|0}else c=QQ(c)|0;r=g;return c|0}function dR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(nb(196,d|0)|0)|0;r=c;return a|0}function eR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(gb(39,d|0)|0)|0;r=c;return a|0}function fR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(ob(195,d|0)|0)|0;r=c;return a|0}function gR(a){a=a|0;return 0}function hR(a){a=a|0;return}function iR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=QQ(Lb(6,c|0)|0)|0;r=b;return a|0}function jR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((QQ(Eb(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function kR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[2216]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=QQ(Vb(146,m|0)|0)|0}else{Ua(154,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=QQ(Vb(146,l|0)|0)|0;Ma(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function lR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=163;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,(Ta(54,d|0)|0)!=0):0)i[a+75>>0]=-1;d=kR(a,b,c)|0;r=e;return d|0}function mR(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=NR(a)|0;break}c=(gR(a)|0)==0;b=NR(a)|0;if(!c)hR(a)}else{if(!(k[2227]|0))b=0;else b=mR(k[2227]|0)|0;Kb(8892);a=k[2222]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=gR(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=NR(a)|0|b;if(c)hR(a);a=k[a+56>>2]|0}while((a|0)!=0);Db(8892)}while(0);return b|0}function nR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+208|0;n=q+8|0;o=q;e=ha(c,b)|0;m=o;k[m>>2]=1;k[m+4>>2]=0;if(e){h=e-c|0;k[n+4>>2]=c;k[n>>2]=c;f=c;b=c;g=2;while(1){b=b+c+f|0;k[n+(g<<2)>>2]=b;if(b>>>0>>0){m=f;f=b;g=g+1|0;b=m}else break}m=0-c|0;i=a+h|0;l=o+4|0;if((h|0)>0){h=i;e=1;g=1;while(1){do if((e&3|0)==3){OR(a,c,d,g,n);j=k[l>>2]|0;b=j<<30|(k[o>>2]|0)>>>2;k[o>>2]=b;k[l>>2]=j>>>2;g=g+2|0}else{b=g+-1|0;if((k[n+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)OR(a,c,d,g,n);else PR(a,c,d,o,g,0,n);if((g|0)==1){b=k[o>>2]|0;k[l>>2]=b>>>31|k[l>>2]<<1;b=b<<1;k[o>>2]=b;g=0;break}if(b>>>0>31){e=k[o>>2]|0;k[l>>2]=e;k[o>>2]=0;b=g+-33|0;f=0}else{e=k[l>>2]|0;f=k[o>>2]|0}k[l>>2]=f>>>(32-b|0)|e<>2]=b;g=1}while(0);e=b|1;k[o>>2]=e;b=a+c|0;if(b>>>0>=i>>>0){e=b;break}else a=b}}else{e=a;g=1}PR(e,c,d,o,g,0,n);j=o+4|0;b=k[o>>2]|0;if(!((g|0)==1&(b|0)==1&(k[j>>2]|0)==0)){f=e;while(1){if((g|0)<2){e=b+-1|0;do if(e){if(!(e&1)){h=e;e=0;do{e=e+1|0;h=h>>>1}while((h&1|0)==0);if(!e)p=24}else p=24;if((p|0)==24){p=0;i=k[l>>2]|0;if(!i){e=64;p=30;break}if(!(i&1)){h=i;e=0}else{a=0;h=i;e=0;break}while(1){a=e+1|0;h=h>>>1;if(h&1){h=a;break}else e=a}if(!h){a=0;h=i;e=0;break}else e=e+33|0}if(e>>>0>31)p=30;else{a=e;h=k[l>>2]|0}}else{e=32;p=30}while(0);if((p|0)==30){p=0;b=k[l>>2]|0;k[o>>2]=b;k[l>>2]=0;a=e+-32|0;h=0}k[o>>2]=h<<32-a|b>>>a;k[l>>2]=h>>>a;f=f+m|0;e=e+g|0}else{a=b>>>30;i=a|k[l>>2]<<2;e=g+-2|0;k[o>>2]=(b<<1&2147483646|a<<31)^3;k[l>>2]=i>>>1;PR(f+(0-((k[n+(e<<2)>>2]|0)+c))|0,c,d,o,g+-1|0,1,n);i=k[o>>2]|0;k[l>>2]=i>>>31|k[l>>2]<<1;k[o>>2]=i<<1|1;f=f+m|0;PR(f,c,d,o,e,1,n)}b=k[o>>2]|0;if((e|0)==1&(b|0)==1&(k[j>>2]|0)==0)break;else g=e}}}r=q;return}function oR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)c=0;else{e=c;d=a;while(1){a=i[d>>0]|0;c=i[b>>0]|0;if(a<<24>>24!=c<<24>>24)break;e=e+-1|0;if(!e){c=0;break a}else{d=d+1|0;b=b+1|0}}c=(a&255)-(c&255)|0}while(0);return c|0}function pR(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function qR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;do if(!((e^a)&3)){d=(c|0)!=0;a:do if(d&(e&3|0)!=0)while(1){e=i[b>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break a;c=c+-1|0;b=b+1|0;a=a+1|0;d=(c|0)!=0;if(!(d&(b&3|0)!=0)){f=5;break}}else f=5;while(0);if((f|0)==5)if(!d){c=0;break}if(i[b>>0]|0){b:do if(c>>>0>3)do{d=k[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009)break b;k[a>>2]=d;c=c+-4|0;b=b+4|0;a=a+4|0}while(c>>>0>3);while(0);f=11}}else f=11;while(0);c:do if((f|0)==11)if(!c)c=0;else while(1){f=i[b>>0]|0;i[a>>0]=f;if(!(f<<24>>24))break c;c=c+-1|0;a=a+1|0;if(!c){c=0;break}else b=b+1|0}while(0);dS(a|0,0,c|0)|0;return a|0}function rR(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function sR(a,b){a=a|0;b=b|0;pR(a,b)|0;return a|0}function tR(a){a=a|0;var b=0,c=0;c=(uR(a)|0)+1|0;b=TR(c)|0;if(!b)b=0;else bS(b|0,a|0,c|0)|0;return b|0}function uR(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=a;a=d;while(1){if(!(i[b>>0]|0))break a;b=b+1|0;a=b;if(!(a&3)){a=b;c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function vR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c)b=0;else{d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(d<<24>>24==e<<24>>24&((c|0)!=0&e<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0}return b|0}function wR(a,b,c){a=a|0;b=b|0;c=c|0;qR(a,b,c)|0;return a|0}function xR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=QQ(Bb(33,d|0)|0)|0;r=c;return a|0}function yR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Lb(6,c|0)|0;a=QQ((a|0)==-4?-115:a)|0;r=b;return a|0}function zR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+64|0;g=h+24|0;f=h+16|0;d=h;e=h+36|0;k[d>>2]=a;k[d+4>>2]=b;k[d+8>>2]=c;d=Ub(207,d|0)|0;if((d|0)==-9?(k[f>>2]=a,k[f+4>>2]=1,(vb(221,f|0)|0)>=0):0){PQ(e,a);k[g>>2]=e;k[g+4>>2]=b;k[g+8>>2]=c;d=QQ(qb(212,g|0)|0)|0}else d=QQ(d)|0;r=h;return d|0}function AR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=QQ(Xa(118,c|0)|0)|0;r=b;return a|0}function BR(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=b;k[d+12>>2]=((b|0)<0)<<31>>31;b=QQ(pb(194,d|0)|0)|0;r=c;return b|0}function CR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+4112|0;d=f;c=f+8|0;if(a)if(!b){a=LQ()|0;k[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){k[d>>2]=a;k[d+4>>2]=b;if((QQ(_a(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=tR(c)|0}else a=0}r=f;return a|0}function DR(){var a=0,b=0;b=r;r=r+16|0;a=yb(201,b|0)|0;r=b;return a|0}function ER(){var a=0,b=0;b=r;r=r+16|0;a=Za(20,b|0)|0;r=b;return a|0}function FR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=a;k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;c=(QQ(Eb(140,f|0)|0)|0)!=0;r=e;return (c?-1:k[d>>2]|0)|0}function GR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=QQ(Jb(3,e|0)|0)|0;r=d;return a|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=QQ(Na(85,e|0)|0)|0;r=d;return a|0}function IR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=QQ(Wa(40,c|0)|0)|0;r=b;return a|0}function JR(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b+4>>2]=0;a=(tb(b|0,b|0)|0)==0;r=c;return (a?0:k[b>>2]|0)|0}function KR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=QQ(Hb(10,c|0)|0)|0;r=b;return a|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=QQ(Nb(4,e|0)|0)|0;r=d;return a|0}function MR(a){a=a|0;if(!(k[a+68>>2]|0))hR(a);return}function NR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(Yb[k[a+36>>2]&255](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)Yb[k[a+40>>2]&255](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function OR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+240|0;n=o;k[n>>2]=a;a:do if((d|0)>1){m=0-b|0;f=d;g=a;i=a;j=1;while(1){a=g+m|0;l=f+-2|0;h=g+(0-((k[e+(l<<2)>>2]|0)+b))|0;if((gc[c&255](i,h)|0)>-1?(gc[c&255](i,a)|0)>-1:0){d=j;break a}d=j+1|0;g=n+(j<<2)|0;if((gc[c&255](h,a)|0)>-1){k[g>>2]=h;a=h;f=f+-1|0}else{k[g>>2]=a;f=l}if((f|0)<=1)break a;g=a;i=k[n>>2]|0;j=d}}else d=1;while(0);SR(b,n,d);r=o;return}function PR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+240|0;o=q;i=k[d>>2]|0;d=k[d+4>>2]|0;k[o>>2]=a;n=0-b|0;a:do if((d|0)!=0|(i|0)!=1?(h=a+(0-(k[g+(e<<2)>>2]|0))|0,(gc[c&255](h,a)|0)>=1):0){f=(f|0)==0;m=h;j=i;l=d;h=1;while(1){if(f&(e|0)>1){d=k[g+(e+-2<<2)>>2]|0;if((gc[c&255](a+n|0,m)|0)>-1){f=e;d=h;p=20;break a}if((gc[c&255](a+(0-(d+b))|0,m)|0)>-1){f=e;d=h;p=20;break a}}d=h+1|0;k[o+(h<<2)>>2]=m;f=j+-1|0;do if(f){if(!(f&1)){a=f;f=0;do{f=f+1|0;a=a>>>1}while((a&1|0)==0);if(!f)p=11}else p=11;if((p|0)==11){p=0;if(!l){f=64;p=16;break}if(!(l&1)){a=l;f=0}else{i=0;a=j;h=l;f=0;break}while(1){h=f+1|0;a=a>>>1;if(a&1){a=h;break}else f=h}if(!a){i=0;a=j;h=l;f=0;break}else f=f+33|0}if(f>>>0>31)p=16;else{i=f;a=j;h=l}}else{f=32;p=16}while(0);if((p|0)==16){p=0;i=f+-32|0;a=l;h=0}j=h<<32-i|a>>>i;l=h>>>i;f=f+e|0;if(!((l|0)!=0|(j|0)!=1)){a=m;p=20;break a}a=m+(0-(k[g+(f<<2)>>2]|0))|0;if((gc[c&255](a,k[o>>2]|0)|0)<1){a=m;e=f;f=0;p=19;break}else{i=m;e=f;f=1;m=a;h=d;a=i}}}else{d=1;p=19}while(0);if((p|0)==19?(f|0)==0:0){f=e;p=20}if((p|0)==20){SR(b,o,d);OR(a,b,c,f,g)}r=q;return}function QR(a){a=a|0;return}function RR(){return}function SR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+256|0;d=g;a:do if((c|0)>=2?(f=b+(c<<2)|0,k[f>>2]=d,(a|0)!=0):0)while(1){e=a>>>0>256?256:a;bS(d|0,k[b>>2]|0,e|0)|0;d=0;do{h=b+(d<<2)|0;d=d+1|0;bS(k[h>>2]|0,k[b+(d<<2)>>2]|0,e|0)|0;k[h>>2]=(k[h>>2]|0)+e}while((d|0)!=(c|0));if((a|0)==(e|0))break a;a=a-e|0;d=k[f>>2]|0}while(0);r=g;return}function TR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;h=k[2257]|0;c=h>>>a;if(c&3){a=(c&1^1)+a|0;d=a<<1;c=9068+(d<<2)|0;d=9068+(d+2<<2)|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[2261]|0)>>>0)Va();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Va()}else k[2257]=h&~(1<>2]=M|3;M=e+(M|4)|0;k[M>>2]=k[M>>2]|1;M=f;return M|0}g=k[2259]|0;if(o>>>0>g>>>0){if(c){d=2<>>12&16;d=d>>>i;e=d>>>5&8;d=d>>>e;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;a=d>>>1&1;a=(e|i|f|c|a)+(d>>>a)|0;d=a<<1;c=9068+(d<<2)|0;d=9068+(d+2<<2)|0;f=k[d>>2]|0;i=f+8|0;e=k[i>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[2261]|0)>>>0)Va();b=e+12|0;if((k[b>>2]|0)==(f|0)){k[b>>2]=c;k[d>>2]=e;j=k[2259]|0;break}else Va()}else{k[2257]=h&~(1<>2]=o|3;h=f+o|0;k[f+(o|4)>>2]=g|1;k[f+M>>2]=g;if(j){e=k[2262]|0;c=j>>>3;b=c<<1;d=9068+(b<<2)|0;a=k[2257]|0;c=1<>2]|0;if(b>>>0<(k[2261]|0)>>>0)Va();else{l=a;m=b}}else{k[2257]=a|c;l=9068+(b+2<<2)|0;m=d}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=d}k[2259]=g;k[2262]=h;M=i;return M|0}a=k[2258]|0;if(a){c=(a&0-a)+-1|0;L=c>>>12&16;c=c>>>L;K=c>>>5&8;c=c>>>K;M=c>>>2&4;c=c>>>M;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=k[9332+((K|L|M|a|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;a=d;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b){i=c;break}}a=(k[b+4>>2]&-8)-o|0;M=a>>>0>>0;c=M?a:c;a=b;d=M?b:d}f=k[2261]|0;if(d>>>0>>0)Va();h=d+o|0;if(d>>>0>=h>>>0)Va();g=k[d+24>>2]|0;c=k[d+12>>2]|0;do if((c|0)==(d|0)){a=d+20|0;b=k[a>>2]|0;if(!b){a=d+16|0;b=k[a>>2]|0;if(!b){n=0;break}}while(1){c=b+20|0;e=k[c>>2]|0;if(e){b=e;a=c;continue}c=b+16|0;e=k[c>>2]|0;if(!e)break;else{b=e;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;n=b;break}}else{e=k[d+8>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(d|0))Va();a=c+8|0;if((k[a>>2]|0)==(d|0)){k[b>>2]=c;k[a>>2]=e;n=c;break}else Va()}while(0);do if(g){b=k[d+28>>2]|0;a=9332+(b<<2)|0;if((d|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(d|0))k[b>>2]=n;else k[g+20>>2]=n;if(!n)break}a=k[2261]|0;if(n>>>0>>0)Va();k[n+24>>2]=g;b=k[d+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);b=k[d+20>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[n+20>>2]=b;k[b+24>>2]=n;break}}while(0);if(i>>>0<16){M=i+o|0;k[d+4>>2]=M|3;M=d+(M+4)|0;k[M>>2]=k[M>>2]|1}else{k[d+4>>2]=o|3;k[d+(o|4)>>2]=i|1;k[d+(i+o)>>2]=i;b=k[2259]|0;if(b){f=k[2262]|0;c=b>>>3;b=c<<1;e=9068+(b<<2)|0;a=k[2257]|0;c=1<>2]|0;if(a>>>0<(k[2261]|0)>>>0)Va();else{p=b;q=a}}else{k[2257]=a|c;p=9068+(b+2<<2)|0;q=e}k[p>>2]=f;k[q+12>>2]=f;k[f+8>>2]=q;k[f+12>>2]=e}k[2259]=i;k[2262]=h}M=d+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=k[2258]|0;if(l){c=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(p|q|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;a=k[9332+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=86}else{g=c;e=0;h=m<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){f=k[i+4>>2]&-8;c=f-m|0;if(c>>>0>>0)if((f|0)==(m|0)){f=i;a=i;v=90;break a}else a=i;else c=g;v=k[i+20>>2]|0;i=k[i+16+(h>>>31<<2)>>2]|0;e=(v|0)==0|(v|0)==(i|0)?e:v;if(!i){v=86;break}else{g=c;h=h<<1}}}while(0);if((v|0)==86){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;e=a>>>1&1;e=k[9332+((l|n|p|q|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){h=c;i=a}else{f=e;v=90}}if((v|0)==90)while(1){v=0;q=(k[f+4>>2]&-8)-m|0;e=q>>>0>>0;c=e?q:c;a=e?f:a;e=k[f+16>>2]|0;if(e){f=e;v=90;continue}f=k[f+20>>2]|0;if(!f){h=c;i=a;break}else v=90}if((i|0)!=0?h>>>0<((k[2259]|0)-m|0)>>>0:0){e=k[2261]|0;if(i>>>0>>0)Va();g=i+m|0;if(i>>>0>=g>>>0)Va();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){o=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;o=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Va();b=d+12|0;if((k[b>>2]|0)!=(i|0))Va();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;o=c;break}else Va()}while(0);do if(f){b=k[i+28>>2]|0;a=9332+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=o;if(!o){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=o;else k[f+20>>2]=o;if(!o)break}a=k[2261]|0;if(o>>>0>>0)Va();k[o+24>>2]=f;b=k[i+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[o+16>>2]=b;k[b+24>>2]=o;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[o+20>>2]=b;k[b+24>>2]=o;break}}while(0);b:do if(h>>>0>=16){k[i+4>>2]=m|3;k[i+(m|4)>>2]=h|1;k[i+(h+m)>>2]=h;b=h>>>3;if(h>>>0<256){a=b<<1;d=9068+(a<<2)|0;c=k[2257]|0;b=1<>2]|0;if(a>>>0<(k[2261]|0)>>>0)Va();else{s=b;t=a}}else{k[2257]=c|b;s=9068+(a+2<<2)|0;t=d}k[s>>2]=g;k[t+12>>2]=g;k[i+(m+8)>>2]=t;k[i+(m+12)>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=9332+(d<<2)|0;k[i+(m+28)>>2]=d;k[i+(m+20)>>2]=0;k[i+(m+16)>>2]=0;a=k[2258]|0;c=1<>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break}b=k[b>>2]|0;c:do if((k[b+4>>2]&-8|0)!=(h|0)){d=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(h|0)){y=c;break c}else{d=d<<1;b=c}}if(a>>>0<(k[2261]|0)>>>0)Va();else{k[a>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break b}}else y=b;while(0);b=y+8|0;a=k[b>>2]|0;M=k[2261]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[i+(m+8)>>2]=a;k[i+(m+12)>>2]=y;k[i+(m+24)>>2]=0;break}else Va()}else{M=h+m|0;k[i+4>>2]=M|3;M=i+(M+4)|0;k[M>>2]=k[M>>2]|1}while(0);M=i+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);c=k[2259]|0;if(c>>>0>=q>>>0){b=c-q|0;a=k[2262]|0;if(b>>>0>15){k[2262]=a+q;k[2259]=b;k[a+(q+4)>>2]=b|1;k[a+c>>2]=b;k[a+4>>2]=q|3}else{k[2259]=0;k[2262]=0;k[a+4>>2]=c|3;M=a+(c+4)|0;k[M>>2]=k[M>>2]|1}M=a+8|0;return M|0}a=k[2260]|0;if(a>>>0>q>>>0){L=a-q|0;k[2260]=L;M=k[2263]|0;k[2263]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(k[2375]|0)){a=rb(30)|0;if(!(a+-1&a)){k[2377]=a;k[2376]=a;k[2378]=-1;k[2379]=-1;k[2380]=0;k[2368]=0;y=(Ob(0)|0)&-16^1431655768;k[2375]=y;break}else Va()}while(0);i=q+48|0;h=k[2377]|0;j=q+47|0;g=h+j|0;h=0-h|0;l=g&h;if(l>>>0<=q>>>0){M=0;return M|0}a=k[2367]|0;if((a|0)!=0?(t=k[2365]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(k[2368]&4)){a=k[2263]|0;e:do if(a){e=9476;while(1){c=k[e>>2]|0;if(c>>>0<=a>>>0?(r=e+4|0,(c+(k[r>>2]|0)|0)>>>0>a>>>0):0){f=e;a=r;break}e=k[e+8>>2]|0;if(!e){v=174;break e}}c=g-(k[2260]|0)&h;if(c>>>0<2147483647){e=kb(c|0)|0;y=(e|0)==((k[f>>2]|0)+(k[a>>2]|0)|0);a=y?c:0;if(y){if((e|0)!=(-1|0)){w=e;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){f=kb(0)|0;if((f|0)!=(-1|0)){a=f;c=k[2376]|0;e=c+-1|0;if(!(e&a))c=l;else c=l-a+(e+a&0-c)|0;a=k[2365]|0;e=a+c|0;if(c>>>0>q>>>0&c>>>0<2147483647){y=k[2367]|0;if((y|0)!=0?e>>>0<=a>>>0|e>>>0>y>>>0:0){a=0;break}e=kb(c|0)|0;y=(e|0)==(f|0);a=y?c:0;if(y){w=f;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){f=0-c|0;do if(i>>>0>c>>>0&(c>>>0<2147483647&(e|0)!=(-1|0))?(u=k[2377]|0,u=j-c+u&0-u,u>>>0<2147483647):0)if((kb(u|0)|0)==(-1|0)){kb(f|0)|0;break f}else{c=u+c|0;break}while(0);if((e|0)!=(-1|0)){w=e;p=c;v=194;break d}}while(0);k[2368]=k[2368]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=kb(l|0)|0,x=kb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(k[2365]|0)+p|0;k[2365]=a;if(a>>>0>(k[2366]|0)>>>0)k[2366]=a;g=k[2263]|0;g:do if(g){f=9476;do{a=k[f>>2]|0;c=f+4|0;e=k[c>>2]|0;if((w|0)==(a+e|0)){B=a;C=c;D=e;E=f;v=204;break}f=k[f+8>>2]|0}while((f|0)!=0);if(((v|0)==204?(k[E+12>>2]&8|0)==0:0)?g>>>0>>0&g>>>0>=B>>>0:0){k[C>>2]=D+p;M=(k[2260]|0)+p|0;L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;k[2263]=g+L;k[2260]=K;k[g+(L+4)>>2]=K|1;k[g+(M+4)>>2]=40;k[2264]=k[2379];break}a=k[2261]|0;if(w>>>0>>0){k[2261]=w;a=w}c=w+p|0;f=9476;while(1){if((k[f>>2]|0)==(c|0)){e=f;c=f;v=212;break}f=k[f+8>>2]|0;if(!f){c=9476;break}}if((v|0)==212)if(!(k[c+12>>2]&8)){k[e>>2]=w;n=c+4|0;k[n>>2]=(k[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;j=w+(p+8)|0;j=(j&7|0)==0?0:0-j&7;b=w+(j+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;k[w+(n+4)>>2]=q|3;h:do if((b|0)!=(g|0)){if((b|0)==(k[2262]|0)){M=(k[2259]|0)+l|0;k[2259]=M;k[2262]=o;k[w+(m+4)>>2]=M|1;k[w+(M+m)>>2]=M;break}h=p+4|0;c=k[w+(h+j)>>2]|0;if((c&3|0)==1){i=c&-8;f=c>>>3;i:do if(c>>>0>=256){g=k[w+((j|24)+p)>>2]|0;d=k[w+(p+12+j)>>2]|0;do if((d|0)==(b|0)){e=j|16;d=w+(h+e)|0;c=k[d>>2]|0;if(!c){d=w+(e+p)|0;c=k[d>>2]|0;if(!c){J=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;J=c;break}}else{e=k[w+((j|8)+p)>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((k[a>>2]|0)!=(b|0))Va();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;J=d;break}else Va()}while(0);if(!g)break;a=k[w+(p+28+j)>>2]|0;c=9332+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(g>>>0<(k[2261]|0)>>>0)Va();a=g+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=J;else k[g+20>>2]=J;if(!J)break i}else{k[c>>2]=J;if(J)break;k[2258]=k[2258]&~(1<>>0>>0)Va();k[J+24>>2]=g;b=j|16;a=k[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Va();else{k[J+16>>2]=a;k[a+24>>2]=J;break}while(0);b=k[w+(h+b)>>2]|0;if(!b)break;if(b>>>0<(k[2261]|0)>>>0)Va();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{d=k[w+((j|8)+p)>>2]|0;e=k[w+(p+12+j)>>2]|0;c=9068+(f<<1<<2)|0;do if((d|0)!=(c|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();a=e+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Va()}while(0);k[d+12>>2]=e;k[F>>2]=d}while(0);b=w+((i|j)+p)|0;e=i+l|0}else e=l;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[w+(m+4)>>2]=e|1;k[w+(e+m)>>2]=e;b=e>>>3;if(e>>>0<256){a=b<<1;d=9068+(a<<2)|0;c=k[2257]|0;b=1<>2]|0;if(a>>>0>=(k[2261]|0)>>>0){K=b;L=a;break}Va()}while(0);k[K>>2]=o;k[L+12>>2]=o;k[w+(m+8)>>2]=L;k[w+(m+12)>>2]=d;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=9332+(d<<2)|0;k[w+(m+28)>>2]=d;k[w+(m+20)>>2]=0;k[w+(m+16)>>2]=0;a=k[2258]|0;c=1<>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break}b=k[b>>2]|0;j:do if((k[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(e|0)){M=c;break j}else{d=d<<1;b=c}}if(a>>>0<(k[2261]|0)>>>0)Va();else{k[a>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=k[b>>2]|0;L=k[2261]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){k[a+12>>2]=o;k[b>>2]=o;k[w+(m+8)>>2]=a;k[w+(m+12)>>2]=M;k[w+(m+24)>>2]=0;break}else Va()}else{M=(k[2260]|0)+l|0;k[2260]=M;k[2263]=o;k[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else c=9476;while(1){a=k[c>>2]|0;if(a>>>0<=g>>>0?(b=k[c+4>>2]|0,d=a+b|0,d>>>0>g>>>0):0)break;c=k[c+8>>2]|0}e=a+(b+-39)|0;a=a+(b+-47+((e&7|0)==0?0:0-e&7))|0;e=g+16|0;a=a>>>0>>0?g:a;b=a+8|0;c=w+8|0;c=(c&7|0)==0?0:0-c&7;M=p+-40-c|0;k[2263]=w+c;k[2260]=M;k[w+(c+4)>>2]=M|1;k[w+(p+-36)>>2]=40;k[2264]=k[2379];c=a+4|0;k[c>>2]=27;k[b>>2]=k[2369];k[b+4>>2]=k[2370];k[b+8>>2]=k[2371];k[b+12>>2]=k[2372];k[2369]=w;k[2370]=p;k[2372]=0;k[2371]=b;b=a+28|0;k[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;k[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(g|0)){f=a-g|0;k[c>>2]=k[c>>2]&-2;k[g+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;d=9068+(a<<2)|0;c=k[2257]|0;b=1<>2]|0;if(a>>>0<(k[2261]|0)>>>0)Va();else{G=b;H=a}}else{k[2257]=c|b;G=9068+(a+2<<2)|0;H=d}k[G>>2]=g;k[H+12>>2]=g;k[g+8>>2]=H;k[g+12>>2]=d;break}b=f>>>8;if(b)if(f>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;c=9332+(d<<2)|0;k[g+28>>2]=d;k[g+20>>2]=0;k[e>>2]=0;b=k[2258]|0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}b=k[c>>2]|0;k:do if((k[b+4>>2]&-8|0)!=(f|0)){d=f<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(f|0)){I=c;break k}else{d=d<<1;b=c}}if(a>>>0<(k[2261]|0)>>>0)Va();else{k[a>>2]=g;k[g+24>>2]=b;k[g+12>>2]=g;k[g+8>>2]=g;break g}}else I=b;while(0);b=I+8|0;a=k[b>>2]|0;M=k[2261]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=I;k[g+24>>2]=0;break}else Va()}}else{M=k[2261]|0;if((M|0)==0|w>>>0>>0)k[2261]=w;k[2369]=w;k[2370]=p;k[2372]=0;k[2266]=k[2375];k[2265]=-1;b=0;do{M=b<<1;L=9068+(M<<2)|0;k[9068+(M+3<<2)>>2]=L;k[9068+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;k[2263]=w+M;k[2260]=L;k[w+(M+4)>>2]=L|1;k[w+(p+-36)>>2]=40;k[2264]=k[2379]}while(0);b=k[2260]|0;if(b>>>0>q>>>0){L=b-q|0;k[2260]=L;M=k[2263]|0;k[2263]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}}M=LQ()|0;k[M>>2]=12;M=0;return M|0}function UR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;h=k[2261]|0;if(b>>>0>>0)Va();c=k[a+-4>>2]|0;d=c&3;if((d|0)==1)Va();o=c&-8;q=a+(o+-8)|0;do if(!(c&1)){b=k[b>>2]|0;if(!d)return;i=-8-b|0;l=a+i|0;m=b+o|0;if(l>>>0>>0)Va();if((l|0)==(k[2262]|0)){b=a+(o+-4)|0;c=k[b>>2]|0;if((c&3|0)!=3){u=l;f=m;break}k[2259]=m;k[b>>2]=c&-2;k[a+(i+4)>>2]=m|1;k[q>>2]=m;return}e=b>>>3;if(b>>>0<256){d=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;b=9068+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)!=(l|0))Va()}if((c|0)==(d|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();b=c+8|0;if((k[b>>2]|0)==(l|0))g=b;else Va()}else g=c+8|0;k[d+12>>2]=c;k[g>>2]=d;u=l;f=m;break}g=k[a+(i+24)>>2]|0;d=k[a+(i+12)>>2]|0;do if((d|0)==(l|0)){c=a+(i+20)|0;b=k[c>>2]|0;if(!b){c=a+(i+16)|0;b=k[c>>2]|0;if(!b){j=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)Va();else{k[c>>2]=0;j=b;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(l|0))Va();c=d+8|0;if((k[c>>2]|0)==(l|0)){k[b>>2]=d;k[c>>2]=e;j=d;break}else Va()}while(0);if(g){b=k[a+(i+28)>>2]|0;c=9332+(b<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(l|0))k[b>>2]=j;else k[g+20>>2]=j;if(!j){u=l;f=m;break}}c=k[2261]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;b=k[a+(i+16)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[j+16>>2]=b;k[b+24>>2]=j;break}while(0);b=k[a+(i+20)>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[j+20>>2]=b;k[b+24>>2]=j;u=l;f=m;break}else{u=l;f=m}}else{u=l;f=m}}else{u=b;f=o}while(0);if(u>>>0>=q>>>0)Va();b=a+(o+-4)|0;c=k[b>>2]|0;if(!(c&1))Va();if(!(c&2)){if((q|0)==(k[2263]|0)){t=(k[2260]|0)+f|0;k[2260]=t;k[2263]=u;k[u+4>>2]=t|1;if((u|0)!=(k[2262]|0))return;k[2262]=0;k[2259]=0;return}if((q|0)==(k[2262]|0)){t=(k[2259]|0)+f|0;k[2259]=t;k[2262]=u;k[u+4>>2]=t|1;k[u+t>>2]=t;return}f=(c&-8)+f|0;e=c>>>3;do if(c>>>0>=256){g=k[a+(o+16)>>2]|0;b=k[a+(o|4)>>2]|0;do if((b|0)==(q|0)){c=a+(o+12)|0;b=k[c>>2]|0;if(!b){c=a+(o+8)|0;b=k[c>>2]|0;if(!b){p=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<(k[2261]|0)>>>0)Va();else{k[c>>2]=0;p=b;break}}else{c=k[a+o>>2]|0;if(c>>>0<(k[2261]|0)>>>0)Va();d=c+12|0;if((k[d>>2]|0)!=(q|0))Va();e=b+8|0;if((k[e>>2]|0)==(q|0)){k[d>>2]=b;k[e>>2]=c;p=b;break}else Va()}while(0);if(g){b=k[a+(o+20)>>2]|0;c=9332+(b<<2)|0;if((q|0)==(k[c>>2]|0)){k[c>>2]=p;if(!p){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(q|0))k[b>>2]=p;else k[g+20>>2]=p;if(!p)break}c=k[2261]|0;if(p>>>0>>0)Va();k[p+24>>2]=g;b=k[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[p+16>>2]=b;k[b+24>>2]=p;break}while(0);b=k[a+(o+12)>>2]|0;if(b)if(b>>>0<(k[2261]|0)>>>0)Va();else{k[p+20>>2]=b;k[b+24>>2]=p;break}}}else{d=k[a+o>>2]|0;c=k[a+(o|4)>>2]|0;b=9068+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<(k[2261]|0)>>>0)Va();if((k[d+12>>2]|0)!=(q|0))Va()}if((c|0)==(d|0)){k[2257]=k[2257]&~(1<>>0<(k[2261]|0)>>>0)Va();b=c+8|0;if((k[b>>2]|0)==(q|0))n=b;else Va()}else n=c+8|0;k[d+12>>2]=c;k[n>>2]=d}while(0);k[u+4>>2]=f|1;k[u+f>>2]=f;if((u|0)==(k[2262]|0)){k[2259]=f;return}}else{k[b>>2]=c&-2;k[u+4>>2]=f|1;k[u+f>>2]=f}b=f>>>3;if(f>>>0<256){c=b<<1;e=9068+(c<<2)|0;d=k[2257]|0;b=1<>2]|0;if(c>>>0<(k[2261]|0)>>>0)Va();else{r=b;s=c}}else{k[2257]=d|b;r=9068+(c+2<<2)|0;s=e}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=e;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=9332+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;c=k[2258]|0;d=1<>2]|0;b:do if((k[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){c=b+16+(e>>>31<<2)|0;d=k[c>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;b=d}}if(c>>>0<(k[2261]|0)>>>0)Va();else{k[c>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;c=k[b>>2]|0;s=k[2261]|0;if(c>>>0>=s>>>0&t>>>0>=s>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Va()}else{k[2258]=c|d;k[b>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u}while(0);u=(k[2265]|0)+-1|0;k[2265]=u;if(!u)b=9484;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[2265]=-1;return}function VR(a,b){a=a|0;b=b|0;var c=0;if(a){c=ha(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;b=TR(c)|0;if(!b)return b|0;if(!(k[b+-4>>2]&3))return b|0;dS(b|0,0,c|0)|0;return b|0}function WR(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=TR(b)|0;return a|0}if(b>>>0>4294967231){a=LQ()|0;k[a>>2]=12;a=0;return a|0}c=XR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c){a=c+8|0;return a|0}c=TR(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;bS(c|0,a|0,(d>>>0>>0?d:b)|0)|0;UR(a);a=c;return a|0}function XR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[2261]|0;c=p&3;if(!((c|0)!=1&a>>>0>=h>>>0&a>>>0>>0))Va();d=a+(i|4)|0;e=k[d>>2]|0;if(!(e&1))Va();if(!c){if(b>>>0<256){a=0;return a|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[2377]<<1>>>0:0)return a|0;a=0;return a|0}if(i>>>0>=b>>>0){c=i-b|0;if(c>>>0<=15)return a|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|3;k[d>>2]=k[d>>2]|1;YR(a+b|0,c);return a|0}if((l|0)==(k[2263]|0)){c=(k[2260]|0)+i|0;if(c>>>0<=b>>>0){a=0;return a|0}n=c-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|1;k[2263]=a+b;k[2260]=n;return a|0}if((l|0)==(k[2262]|0)){d=(k[2259]|0)+i|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[2259]=c;k[2262]=d;return a|0}if(e&2){a=0;return a|0}m=(e&-8)+i|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;f=e>>>3;do if(e>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){d=a+(i+20)|0;c=k[d>>2]|0;if(!c){d=a+(i+16)|0;c=k[d>>2]|0;if(!c){j=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;j=c;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();c=e+12|0;if((k[c>>2]|0)!=(l|0))Va();d=f+8|0;if((k[d>>2]|0)==(l|0)){k[c>>2]=f;k[d>>2]=e;j=f;break}else Va()}while(0);if(g){c=k[a+(i+28)>>2]|0;d=9332+(c<<2)|0;if((l|0)==(k[d>>2]|0)){k[d>>2]=j;if(!j){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();c=g+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=j;else k[g+20>>2]=j;if(!j)break}d=k[2261]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;c=k[a+(i+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[j+16>>2]=c;k[c+24>>2]=j;break}while(0);c=k[a+(i+20)>>2]|0;if(c)if(c>>>0<(k[2261]|0)>>>0)Va();else{k[j+20>>2]=c;k[c+24>>2]=j;break}}}else{e=k[a+(i+8)>>2]|0;d=k[a+(i+12)>>2]|0;c=9068+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(l|0))Va()}if((d|0)==(e|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(l|0))g=c;else Va()}else g=d+8|0;k[e+12>>2]=d;k[g>>2]=e}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;b=a+(m|4)|0;k[b>>2]=k[b>>2]|1;return a|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;p=a+(m|4)|0;k[p>>2]=k[p>>2]|1;YR(a+b|0,n);return a|0}return 0} +function zu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(k[(k[b>>2]|0)+4>>2]|0){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0)){b=9;break}k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[d>>2]|0)!=0?(Au(k[d>>2]|0)|0)!=0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Au(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+16>>2]|0)!=0|0}function Bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+340>>2]|0)){r=j;return}k[e>>2]=k[(k[c>>2]|0)+340>>2];k[(k[c>>2]|0)+340>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[c>>2]|0)+316>>2]|0))break;k[h>>2]=k[(k[e>>2]|0)+(k[f>>2]<<2)>>2];k[g>>2]=k[(k[h>>2]|0)+8>>2];if((k[g>>2]|0)!=0?(k[i>>2]=k[(k[k[g>>2]>>2]|0)+(k[d>>2]|0)>>2],(k[i>>2]|0)!=0):0)bc[k[i>>2]&255](k[g>>2]|0)|0;k[(k[h>>2]|0)+20>>2]=0;Cu(k[h>>2]|0);k[f>>2]=(k[f>>2]|0)+1}bg(k[c>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+316>>2]=0;r=j;return}function Cu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[b>>2]|0)+12>>2]|0){r=e;return}k[d>>2]=k[(k[b>>2]|0)+8>>2];if(k[d>>2]|0)bc[k[(k[k[d>>2]>>2]|0)+16>>2]&255](k[d>>2]|0)|0;bg(k[c>>2]|0,k[b>>2]|0);r=e;return}function Du(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;h=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[h>>2]=b;k[e>>2]=(k[h>>2]|0)+56;while(1){if(!(k[k[e>>2]>>2]|0)){f=6;break}a=k[k[e>>2]>>2]|0;if((k[k[k[e>>2]>>2]>>2]|0)==(k[c>>2]|0))break;k[e>>2]=a+24}if((f|0)==6){r=g;return}k[d>>2]=a;k[k[e>>2]>>2]=k[(k[d>>2]|0)+24>>2];Cu(k[d>>2]|0);r=g;return}function Eu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+344>>2];k[(k[b>>2]|0)+344>>2]=0;if(!(k[c>>2]|0)){r=e;return}ai(k[b>>2]|0);do{k[d>>2]=k[(k[c>>2]|0)+24>>2];Cu(k[c>>2]|0);k[c>>2]=k[d>>2]}while((k[c>>2]|0)!=0);r=e;return}function Fu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[164>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function Gu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1628;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[421]=(k[53]|0)==0&1;if((k[421]|0)!=0&(k[55]|0)!=0&(k[53]|0)==0){k[422]=k[55];k[410]=10;k[420]=1;r=c;return 0}else{k[422]=0;k[410]=10;k[420]=1;r=c;return 0}return 0}function Hu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1628;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;m=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=60+((k[421]|0)*52|0);a=k[m>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[g>>2]=a;if(!(k[g>>2]|0)){m=k[g>>2]|0;r=j;return m|0}if(k[421]|0){k[h>>2]=(k[g>>2]|0)+60;k[(k[h>>2]|0)+12>>2]=10}else k[h>>2]=1628;if(!(l[(k[h>>2]|0)+20+14>>0]|0)){i[(k[h>>2]|0)+20+14>>0]=1;m=(k[h>>2]|0)+20|0;k[(k[h>>2]|0)+20+24>>2]=m;k[(k[h>>2]|0)+20+28>>2]=m}k[k[g>>2]>>2]=k[h>>2];k[(k[g>>2]|0)+4>>2]=k[d>>2];k[(k[g>>2]|0)+8>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(k[d>>2]|0)+(k[e>>2]|0)+32;k[(k[g>>2]|0)+16>>2]=(k[f>>2]|0)!=0?1:0;Zu(k[g>>2]|0);if(k[f>>2]|0){k[(k[g>>2]|0)+20>>2]=10;m=(k[h>>2]|0)+8|0;k[m>>2]=(k[m>>2]|0)+(k[(k[g>>2]|0)+20>>2]|0);k[(k[h>>2]|0)+12>>2]=(k[(k[h>>2]|0)+4>>2]|0)+10-(k[(k[h>>2]|0)+8>>2]|0)}if(k[(k[g>>2]|0)+44>>2]|0){m=k[g>>2]|0;r=j;return m|0}Pu(k[g>>2]|0);k[g>>2]=0;m=k[g>>2]|0;r=j;return m|0}function Ju(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];if(!(k[(k[d>>2]|0)+16>>2]|0)){r=f;return}k[e>>2]=k[k[d>>2]>>2];g=(k[e>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+((k[c>>2]|0)-(k[(k[d>>2]|0)+24>>2]|0));k[(k[e>>2]|0)+12>>2]=(k[(k[e>>2]|0)+4>>2]|0)+10-(k[(k[e>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+24>>2]=k[c>>2];k[(k[d>>2]|0)+28>>2]=(((k[(k[d>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Ru(k[d>>2]|0);r=f;return}function Ku(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=k[(k[d>>2]|0)+40>>2];r=c;return k[b>>2]|0}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;a=Wu(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return a|0}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;m=h+24|0;l=h+20|0;j=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[d>>2]=k[m>>2];k[f>>2]=k[l>>2];k[e>>2]=k[k[d>>2]>>2];if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+16>>2]|0)>>>0<=(k[(k[e>>2]|0)+4>>2]|0)>>>0:0){k[g>>2]=(k[e>>2]|0)+20+24;k[(k[f>>2]|0)+28>>2]=(k[e>>2]|0)+20;l=k[f>>2]|0;m=k[k[g>>2]>>2]|0;k[(k[f>>2]|0)+24>>2]=m;k[m+28>>2]=l;k[k[g>>2]>>2]=k[f>>2];m=(k[d>>2]|0)+36|0;k[m>>2]=(k[m>>2]|0)+1;i[(k[f>>2]|0)+12>>0]=0;r=h;return}Tu(k[f>>2]|0,1);r=h;return}function Nu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;n=j+28|0;m=j+24|0;l=j+20|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[e>>2]=d;k[g>>2]=k[n>>2];k[h>>2]=k[m>>2];k[f>>2]=((k[l>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[i>>2]=(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2);while(1){if((k[k[i>>2]>>2]|0)==(k[h>>2]|0))break;k[i>>2]=(k[k[i>>2]>>2]|0)+16}k[k[i>>2]>>2]=k[(k[h>>2]|0)+16>>2];k[f>>2]=((k[e>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[(k[h>>2]|0)+8>>2]=k[e>>2];k[(k[h>>2]|0)+16>>2]=k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2];k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]=k[h>>2];if((k[e>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0){r=j;return}k[(k[g>>2]|0)+32>>2]=k[e>>2];r=j;return}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];if((k[c>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){r=e;return}Vu(k[d>>2]|0,k[c>>2]|0);k[(k[d>>2]|0)+32>>2]=(k[c>>2]|0)-1;r=e;return}function Pu(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];k[c>>2]=k[k[b>>2]>>2];if(k[(k[b>>2]|0)+40>>2]|0)Vu(k[b>>2]|0,0);e=(k[c>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)-(k[(k[b>>2]|0)+24>>2]|0);e=(k[c>>2]|0)+8|0;k[e>>2]=(k[e>>2]|0)-(k[(k[b>>2]|0)+20>>2]|0);k[(k[c>>2]|0)+12>>2]=(k[(k[c>>2]|0)+4>>2]|0)+10-(k[(k[c>>2]|0)+8>>2]|0);Ru(k[b>>2]|0);Ud(k[(k[b>>2]|0)+56>>2]|0);Ud(k[(k[b>>2]|0)+48>>2]|0);Ud(k[b>>2]|0);r=d;return}function Qu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];if(!(k[(k[b>>2]|0)+16>>2]|0)){r=e;return}k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=0;Ru(k[b>>2]|0);k[(k[c>>2]|0)+4>>2]=k[d>>2];r=e;return}function Ru(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];while(1){if((k[(k[d>>2]|0)+16>>2]|0)>>>0<=(k[(k[d>>2]|0)+4>>2]|0)>>>0)break;a=k[(k[d>>2]|0)+20+28>>2]|0;k[c>>2]=a;if(l[a+14>>0]|0)break;Su(k[c>>2]|0)|0;Tu(k[c>>2]|0,1)}if(k[(k[b>>2]|0)+40>>2]|0){r=e;return}if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}Ud(k[(k[b>>2]|0)+56>>2]|0);k[(k[b>>2]|0)+52>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=e;return}function Su(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+20>>2];k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;i[(k[b>>2]|0)+12>>0]=1;a=(k[d>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return k[b>>2]|0}function Tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+20>>2];k[h>>2]=((k[(k[c>>2]|0)+8>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2);while(1){b=(k[k[f>>2]>>2]|0)+16|0;if((k[k[f>>2]>>2]|0)==(k[c>>2]|0))break;k[f>>2]=b}k[k[f>>2]>>2]=k[b>>2];h=(k[e>>2]|0)+40|0;k[h>>2]=(k[h>>2]|0)+-1;if(!(k[d>>2]|0)){r=g;return}Uu(k[c>>2]|0);r=g;return}function Uu(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+20>>2];if(i[(k[b>>2]|0)+13>>0]|0){k[(k[b>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[b>>2]}else lj(k[k[b>>2]>>2]|0);if(!(k[(k[c>>2]|0)+16>>2]|0)){r=d;return}c=(k[k[c>>2]>>2]|0)+16|0;k[c>>2]=(k[c>>2]|0)+-1;r=d;return}function Vu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;if(((k[(k[c>>2]|0)+32>>2]|0)-(k[d>>2]|0)|0)>>>0<(k[(k[c>>2]|0)+44>>2]|0)>>>0){k[e>>2]=((k[d>>2]|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=((k[(k[c>>2]|0)+32>>2]|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0}else{k[e>>2]=((k[(k[c>>2]|0)+44>>2]|0)>>>0)/2|0;k[f>>2]=(k[e>>2]|0)-1}while(1){k[h>>2]=(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2);while(1){a=k[k[h>>2]>>2]|0;k[g>>2]=a;if(!a)break;if((k[(k[g>>2]|0)+8>>2]|0)>>>0<(k[d>>2]|0)>>>0){k[h>>2]=(k[g>>2]|0)+16;continue}a=(k[c>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+-1;k[k[h>>2]>>2]=k[(k[g>>2]|0)+16>>2];if(!(i[(k[g>>2]|0)+12>>0]|0))Su(k[g>>2]|0)|0;Uu(k[g>>2]|0)}if((k[e>>2]|0)==(k[f>>2]|0))break;k[e>>2]=(((k[e>>2]|0)+1|0)>>>0)%((k[(k[c>>2]|0)+44>>2]|0)>>>0)|0}r=j;return}function Wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;g=j+20|0;l=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[l>>2];k[h>>2]=0;k[h>>2]=k[(k[(k[f>>2]|0)+48>>2]|0)+((((k[d>>2]|0)>>>0)%((k[(k[f>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(k[h>>2]|0)b=(k[(k[h>>2]|0)+8>>2]|0)!=(k[d>>2]|0);else b=0;c=k[h>>2]|0;if(!b)break;k[h>>2]=k[c+16>>2]}if(c){c=k[h>>2]|0;if(i[(k[h>>2]|0)+12>>0]|0){k[g>>2]=c;l=k[g>>2]|0;r=j;return l|0}else{l=Su(c)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}}else if(k[e>>2]|0){l=Xu(k[f>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}else{k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}return 0}function Xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[j>>2]=(k[(k[e>>2]|0)+40>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);do if((k[g>>2]|0)==1){if((k[j>>2]|0)>>>0<(k[(k[l>>2]|0)+12>>2]|0)>>>0?(k[j>>2]|0)>>>0<(k[(k[e>>2]|0)+28>>2]|0)>>>0:0){if(!(Yu(k[e>>2]|0)|0))break;if((k[(k[e>>2]|0)+36>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((k[(k[e>>2]|0)+40>>2]|0)>>>0>=(k[(k[e>>2]|0)+44>>2]|0)>>>0)Zu(k[e>>2]|0);do if((k[(k[e>>2]|0)+16>>2]|0)!=0?(i[(k[(k[l>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((k[(k[e>>2]|0)+40>>2]|0)+1|0)>>>0<(k[(k[e>>2]|0)+24>>2]|0)>>>0?(Yu(k[e>>2]|0)|0)==0:0)break;k[n>>2]=k[(k[l>>2]|0)+20+28>>2];Tu(k[n>>2]|0,0);Su(k[n>>2]|0)|0;k[m>>2]=k[(k[n>>2]|0)+20>>2];if((k[(k[m>>2]|0)+12>>2]|0)!=(k[(k[e>>2]|0)+12>>2]|0)){Uu(k[n>>2]|0);k[n>>2]=0;break}else{l=(k[l>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)-((k[(k[m>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+16>>2]|0));break}}while(0);if(!(k[n>>2]|0)){m=_u(k[e>>2]|0,(k[g>>2]|0)==1&1)|0;k[n>>2]=m}if((k[n>>2]|0)!=0?(k[h>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0,m=(k[e>>2]|0)+40|0,k[m>>2]=(k[m>>2]|0)+1,k[(k[n>>2]|0)+8>>2]=k[f>>2],k[(k[n>>2]|0)+16>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2],k[(k[n>>2]|0)+20>>2]=k[e>>2],k[(k[n>>2]|0)+28>>2]=0,k[(k[n>>2]|0)+24>>2]=0,i[(k[n>>2]|0)+12>>0]=1,k[k[(k[n>>2]|0)+4>>2]>>2]=0,k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2]=k[n>>2],(k[f>>2]|0)>>>0>(k[(k[e>>2]|0)+32>>2]|0)>>>0):0)k[(k[e>>2]|0)+32>>2]=k[f>>2];k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Yu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[424]|0)!=0?((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+8>>2]|0)|0)<=(k[423]|0):0){k[b>>2]=k[431];d=k[b>>2]|0;r=c;return d|0}d=av()|0;k[b>>2]=d;d=k[b>>2]|0;r=c;return d|0}function Zu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;f=i+16|0;e=i+12|0;h=i+8|0;g=i+4|0;d=i;k[b>>2]=a;a=k[(k[b>>2]|0)+44>>2]<<1;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<256?256:a;if(k[(k[b>>2]|0)+44>>2]|0)gk();a=ug(k[f>>2]<<2,0)|0;k[c>>2]=a;if(k[(k[b>>2]|0)+44>>2]|0)hk();if(!(k[c>>2]|0)){r=i;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[b>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=k[(k[(k[b>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2];while(1){a=k[g>>2]|0;k[h>>2]=a;if(!a)break;k[d>>2]=((k[(k[h>>2]|0)+8>>2]|0)>>>0)%((k[f>>2]|0)>>>0)|0;k[g>>2]=k[(k[h>>2]|0)+16>>2];k[(k[h>>2]|0)+16>>2]=k[(k[c>>2]|0)+(k[d>>2]<<2)>>2];k[(k[c>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2]}k[e>>2]=(k[e>>2]|0)+1}Ud(k[(k[b>>2]|0)+48>>2]|0);k[(k[b>>2]|0)+48>>2]=k[c>>2];k[(k[b>>2]|0)+44>>2]=k[f>>2];r=i;return}function _u(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(k[(k[d>>2]|0)+52>>2]|0)h=4;else{if((k[(k[d>>2]|0)+40>>2]|0)==0?($u(k[d>>2]|0)|0)!=0:0){h=4;break}if(k[e>>2]|0)gk();a=tj(k[(k[d>>2]|0)+12>>2]|0)|0;k[g>>2]=a;k[f>>2]=(k[g>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);if(k[e>>2]|0)hk();if(k[g>>2]|0){k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=0;i[(k[f>>2]|0)+14>>0]=0;break}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);if((h|0)==4){k[f>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[f>>2]|0)+16>>2];k[(k[f>>2]|0)+16>>2]=0}if(k[(k[d>>2]|0)+16>>2]|0){h=(k[k[d>>2]>>2]|0)+16|0;k[h>>2]=(k[h>>2]|0)+1}k[c>>2]=k[f>>2];h=k[c>>2]|0;r=j;return h|0}function $u(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;g=j;h=j+20|0;e=j+16|0;d=j+12|0;f=j+8|0;k[c>>2]=a;if(!(k[422]|0)){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}if((k[(k[c>>2]|0)+24>>2]|0)>>>0<3){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}gk();if((k[422]|0)>0){a=k[(k[c>>2]|0)+12>>2]|0;l=k[422]|0;l=kS(a|0,((a|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;a=g;k[a>>2]=l;k[a+4>>2]=L}else{a=k[422]|0;a=kS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;l=g;k[l>>2]=a;k[l+4>>2]=L}n=g;a=k[n>>2]|0;n=k[n+4>>2]|0;l=k[(k[c>>2]|0)+12>>2]|0;l=kS(l|0,((l|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;m=L;if((n|0)>(m|0)|(n|0)==(m|0)&a>>>0>l>>>0){m=k[(k[c>>2]|0)+12>>2]|0;m=kS(m|0,((m|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;n=g;k[n>>2]=m;k[n+4>>2]=L}n=g;n=jg(k[n>>2]|0,k[n+4>>2]|0)|0;k[(k[c>>2]|0)+56>>2]=n;k[h>>2]=n;hk();a:do if(k[h>>2]|0){n=kg(k[h>>2]|0)|0;k[e>>2]=(n|0)/(k[(k[c>>2]|0)+12>>2]|0)|0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break a;k[f>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+4>>2]|0);k[k[f>>2]>>2]=k[h>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=1;i[(k[f>>2]|0)+14>>0]=0;k[(k[f>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[f>>2];k[h>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=(k[(k[c>>2]|0)+52>>2]|0)!=0&1;n=k[b>>2]|0;r=j;return n|0}function av(){return k[79]|0}function bv(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+8|0;b=d+4|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)+7&-8;a=TR((k[e>>2]|0)+8|0)|0;k[b>>2]=a;a=k[e>>2]|0;if(k[b>>2]|0){e=k[b>>2]|0;k[e>>2]=a;k[e+4>>2]=((a|0)<0)<<31>>31;k[b>>2]=(k[b>>2]|0)+8;e=k[b>>2]|0;r=d;return e|0}else{k[c>>2]=a;$d(7,26399,c);e=k[b>>2]|0;r=d;return e|0}return 0}function cv(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[c>>2]=(k[c>>2]|0)+-8;UR(k[c>>2]|0);r=b;return}function dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[c>>2];k[e>>2]=(k[e>>2]|0)+-8;a=WR(k[e>>2]|0,(k[d>>2]|0)+8|0)|0;k[e>>2]=a;if(k[e>>2]|0){a=k[d>>2]|0;f=k[e>>2]|0;k[f>>2]=a;k[f+4>>2]=((a|0)<0)<<31>>31;k[e>>2]=(k[e>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}else{b=ev(k[c>>2]|0)|0;a=k[d>>2]|0;k[f>>2]=b;k[f+4>>2]=a;$d(7,26363,f);f=k[e>>2]|0;r=g;return f|0}return 0}function ev(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];k[b>>2]=(k[b>>2]|0)+-8;r=c;return k[k[b>>2]>>2]|0}function fv(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+7&-8|0}function gv(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function hv(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function iv(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=gc[k[d>>2]&255](1608,0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){d=k[b>>2]|0;r=c;return d|0}k[k[b>>2]>>2]=(k[b>>2]|0)+8;j[(k[b>>2]|0)+8>>1]=0;i[(k[b>>2]|0)+8+2>>0]=0;d=k[b>>2]|0;r=c;return d|0}function jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;f=n+8|0;c=n+4|0;d=n;k[j>>2]=a;k[e>>2]=b;a:do switch(l[39282+(l[k[j>>2]>>0]|0)>>0]|0){case 7:{k[h>>2]=1;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=162;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 11:{if((l[(k[j>>2]|0)+1>>0]|0)!=45){k[k[e>>2]>>2]=48;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}k[h>>2]=2;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!((g|0)!=0?(k[f>>2]|0)!=10:0))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=162;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 17:{k[k[e>>2]>>2]=22;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 18:{k[k[e>>2]>>2]=23;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 19:{k[k[e>>2]>>2]=1;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 20:{k[k[e>>2]>>2]=47;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 21:{k[k[e>>2]>>2]=49;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 16:{if((l[(k[j>>2]|0)+1>>0]|0)==42?(l[(k[j>>2]|0)+2>>0]|0)!=0:0){k[h>>2]=3;k[f>>2]=l[(k[j>>2]|0)+2>>0];while(1){if((k[f>>2]|0)==42?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==47:0)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}if(k[f>>2]|0)k[h>>2]=(k[h>>2]|0)+1;k[k[e>>2]>>2]=162;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}k[k[e>>2]>>2]=50;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 22:{k[k[e>>2]>>2]=51;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 14:{k[k[e>>2]>>2]=37;k[m>>2]=1+((l[(k[j>>2]|0)+1>>0]|0)==61&1);m=k[m>>2]|0;r=n;return m|0}case 12:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=39;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}if((k[f>>2]|0)==62){k[k[e>>2]>>2]=36;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==60){k[c>>2]=45;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=40;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 13:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=41;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==62){k[c>>2]=46;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=38;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 15:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=61){k[c>>2]=163;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=36;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 10:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=124){k[c>>2]=44;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=52;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 23:{k[k[e>>2]>>2]=26;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 24:{k[k[e>>2]>>2]=43;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 25:{k[k[e>>2]>>2]=54;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 8:{k[c>>2]=l[k[j>>2]>>0];k[h>>2]=1;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)==(k[c>>2]|0)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=(k[c>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)==39){k[k[e>>2]>>2]=97;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if(k[f>>2]|0){k[c>>2]=55;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=163;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}}case 26:{if(l[18403+(l[(k[j>>2]|0)+1>>0]|0)>>0]&4)g=64;else{k[k[e>>2]>>2]=122;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}break}case 3:{g=64;break}case 9:{k[h>>2]=1;k[f>>2]=l[k[j>>2]>>0];while(1){if((k[f>>2]|0)==93)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=(k[f>>2]|0)==93?55:163;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 6:{k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}case 5:case 4:{k[d>>2]=0;k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){a=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=a;if(!a)break;if(l[18403+(k[f>>2]&255)>>0]&70)k[d>>2]=(k[d>>2]|0)+1;else{if((k[f>>2]|0)==40&(k[d>>2]|0)>0){g=107;break}if((k[f>>2]|0)!=58)break;if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=58)break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}do if((g|0)==107){while(1){k[h>>2]=(k[h>>2]|0)+1;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)!=41?(l[18403+(k[f>>2]&255)>>0]&1|0)==0:0)g=107;else break}if((k[f>>2]|0)==41){k[h>>2]=(k[h>>2]|0)+1;break}else{k[k[e>>2]>>2]=163;break}}while(0);if(!(k[d>>2]|0))k[k[e>>2]>>2]=163;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 1:{k[h>>2]=1;while(1){c=k[h>>2]|0;if((l[39282+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]|0)>1)break;k[h>>2]=c+1}if(l[18403+(l[(k[j>>2]|0)+c>>0]|0)>>0]&70){k[h>>2]=(k[h>>2]|0)+1;break a}k[k[e>>2]>>2]=55;j=bj(k[j>>2]|0,k[h>>2]|0,k[e>>2]|0)|0;k[m>>2]=j;m=k[m>>2]|0;r=n;return m|0}case 0:{if((l[(k[j>>2]|0)+1>>0]|0)==39){k[k[e>>2]>>2]=133;k[h>>2]=2;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}if(!((l[(k[j>>2]|0)+c>>0]|0)==39?((k[h>>2]|0)%2|0|0)==0:0))g=131;b:do if((g|0)==131){k[k[e>>2]>>2]=163;while(1){if(!(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0))break b;if((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==39)break b;k[h>>2]=(k[h>>2]|0)+1}}while(0);if(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else g=138;break}case 2:{g=138;break}default:{k[k[e>>2]>>2]=163;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}while(0);if((g|0)==64){k[k[e>>2]>>2]=134;do if((l[k[j>>2]>>0]|0)==48){if((l[(k[j>>2]|0)+1>>0]|0)!=120?(l[(k[j>>2]|0)+1>>0]|0)!=88:0)break;if(l[18403+(l[(k[j>>2]|0)+2>>0]|0)>>0]&8){k[h>>2]=3;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}}while(0);k[h>>2]=0;while(1){c=k[h>>2]|0;if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}if((l[(k[j>>2]|0)+c>>0]|0)==46){k[h>>2]=(k[h>>2]|0)+1;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=132}if(!((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=101?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=69:0))g=82;do if((g|0)==82){if(!(l[18403+(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)>>0]&4)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=43?(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=45:0)break;if(!(l[18403+(l[(k[j>>2]|0)+((k[h>>2]|0)+2)>>0]|0)>>0]&4))break}k[h>>2]=(k[h>>2]|0)+2;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=132}while(0);while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[k[e>>2]>>2]=163;k[h>>2]=(k[h>>2]|0)+1}k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else if((g|0)==138)k[h>>2]=1;while(1){if(!(l[18403+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=55;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}function kv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;g=j+32|0;m=j+28|0;e=j+24|0;l=j+20|0;h=j+8|0;f=j+4|0;i=j;k[m>>2]=a;k[e>>2]=b;k[l>>2]=d;k[i>>2]=k[m>>2];k[(k[i>>2]|0)+4>>2]=k[l>>2];while(1){m=zv(k[i>>2]|0,k[e>>2]&255)|0;k[f>>2]=m;do if((k[f>>2]|0)>>>0>999)if((k[f>>2]|0)>>>0<=1331){Bv(k[i>>2]|0,(k[f>>2]|0)-1e3|0);break}else{k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];l=k[i>>2]|0;m=k[e>>2]|0;k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];Cv(l,m,g);xv(k[i>>2]|0,k[e>>2]&255,h);k[e>>2]=252;break}else{a=k[i>>2]|0;l=k[f>>2]|0;m=k[e>>2]|0;k[g>>2]=k[c>>2];k[g+4>>2]=k[c+4>>2];Av(a,l,m,g);k[e>>2]=252}while(0);if((k[e>>2]|0)==252){e=9;break}if((k[k[i>>2]>>2]|0)>>>0<=((k[i>>2]|0)+8|0)>>>0){e=9;break}}if((e|0)==9){r=j;return}}function lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];while(1){if((k[k[d>>2]>>2]|0)>>>0<=((k[d>>2]|0)+8|0)>>>0)break;wv(k[d>>2]|0)}_b[k[c>>2]&255](k[d>>2]|0);r=e;return}function mv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];ag(k[c>>2]|0,k[b>>2]|0);a=k[(k[b>>2]|0)+8>>2]|0;if(k[(k[b>>2]|0)+4>>2]|0)k[(k[(k[b>>2]|0)+4>>2]|0)+8>>2]=a;else k[(k[c>>2]|0)+4>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0)k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]=k[(k[b>>2]|0)+4>>2];k[(k[b>>2]|0)+20>>2]=1443283912;k[k[b>>2]>>2]=0;bg(k[c>>2]|0,k[b>>2]|0);r=d;return}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=(k[d>>2]|0)+8+(k[e>>2]<<4);ov(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);pv(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}vv(k[c>>2]|0,k[d>>2]|0);r=e;return}function pv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}qv(k[c>>2]|0,k[d>>2]|0,1);r=e;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+48>>2];ov(k[d>>2]|0,k[k[e>>2]>>2]|0);rv(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);ov(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0);ov(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0);sv(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0);if(k[(k[e>>2]|0)+64>>2]|0)nv(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0);if(k[f>>2]|0)bg(k[d>>2]|0,k[e>>2]|0);k[e>>2]=k[g>>2];k[f>>2]=1}r=h;return}function rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=(k[d>>2]|0)+8;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;bg(a,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>1&1)bg(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>2&1)ov(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);$f(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0);pv(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0);sv(k[c>>2]|0,k[(k[f>>2]|0)+48>>2]|0);uv(k[c>>2]|0,k[(k[f>>2]|0)+52>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}bg(a,k[d>>2]|0);r=g;return}function sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}tv(k[c>>2]|0,k[d>>2]|0);r=e;return}function tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;do if(!(k[(k[d>>2]|0)+4>>2]&8404992)){if((k[(k[d>>2]|0)+12>>2]|0)!=0?(l[k[d>>2]>>0]|0|0)!=159:0)tv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);sv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);a=k[c>>2]|0;b=(k[d>>2]|0)+20|0;if(k[(k[d>>2]|0)+4>>2]&2048){pv(a,k[b>>2]|0);break}else{ov(a,k[b>>2]|0);break}}while(0);if(k[(k[d>>2]|0)+4>>2]&65536)bg(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0);if(k[(k[d>>2]|0)+4>>2]&32768){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break;bg(a,k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(a,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function vv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;sv(a,k[k[f>>2]>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}bg(a,k[(k[d>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function wv(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+-16;k[c>>2]=a;xv(k[d>>2]|0,i[(k[c>>2]|0)+2>>0]|0,(k[c>>2]|0)+4|0);r=b;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+12|0;d=f+4|0;e=f;k[h>>2]=a;i[g>>0]=b;k[d>>2]=c;k[e>>2]=k[(k[h>>2]|0)+4>>2];do switch(l[g>>0]|0|0){case 206:case 195:case 194:case 163:{pv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 173:case 172:{sv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{ov(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 212:case 211:case 200:case 193:{rv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 250:case 196:{nv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{sv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 220:case 217:case 216:{uv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 237:case 232:{yv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 234:{uv(k[k[e>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=f;return}default:{r=f;return}}while(0)}function yv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+28>>2];sv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);ov(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);pv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);uv(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0);bg(k[c>>2]|0,k[e>>2]|0)}r=f;return}function zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;o=r;r=r+32|0;c=o+16|0;p=o+12|0;d=o+21|0;e=o+8|0;h=o+4|0;f=o+20|0;g=o;k[p>>2]=a;i[d>>0]=b;k[h>>2]=m[k[k[p>>2]>>2]>>1];if((k[h>>2]|0)>=1e3){k[c>>2]=k[h>>2];p=k[c>>2]|0;r=o;return p|0}while(1){k[e>>2]=j[14594+(k[h>>2]<<1)>>1];k[e>>2]=(k[e>>2]|0)+(l[d>>0]|0);if(!((k[e>>2]|0)<0|(k[e>>2]|0)>=1567)?(l[37619+(k[e>>2]|0)>>0]|0)==(l[d>>0]|0):0){n=13;break}if((l[d>>0]|0)>>>0>=96)break;p=i[39186+(l[d>>0]|0)>>0]|0;i[f>>0]=p;if(!(p&255))break;i[d>>0]=i[f>>0]|0}if((n|0)==13){k[c>>2]=m[11456+(k[e>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}k[g>>2]=(k[e>>2]|0)-(l[d>>0]|0)+96;if(((k[g>>2]|0)<1567?(l[37619+(k[g>>2]|0)>>0]|0)==96:0)?(l[d>>0]|0)>0:0){k[c>>2]=m[11456+(k[g>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}k[c>>2]=m[15506+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}function Av(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0;l=r;r=r+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[e>>2]|0;k[a>>2]=(k[a>>2]|0)+16;if((k[k[e>>2]>>2]|0)>>>0>=((k[e>>2]|0)+8+1600|0)>>>0){Dv(k[e>>2]|0);r=l;return}if((k[f>>2]|0)>455)k[f>>2]=(k[f>>2]|0)+332;k[h>>2]=k[k[e>>2]>>2];j[k[h>>2]>>1]=k[f>>2];i[(k[h>>2]|0)+2>>0]=k[g>>2];h=(k[h>>2]|0)+4|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];r=l;return}function Bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+288|0;c=fa+280|0;T=fa+40|0;S=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;R=fa;$=fa+276|0;aa=fa+272|0;ca=fa+268|0;ba=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;X=fa+240|0;P=fa+228|0;Q=fa+216|0;g=fa+192|0;n=fa+188|0;D=fa+184|0;v=fa+180|0;s=fa+176|0;W=fa+168|0;E=fa+164|0;t=fa+160|0;p=fa+156|0;F=fa+152|0;u=fa+148|0;q=fa+144|0;A=fa+140|0;B=fa+136|0;I=fa+132|0;J=fa+128|0;L=fa+124|0;K=fa+120|0;M=fa+116|0;N=fa+112|0;O=fa+108|0;h=fa+104|0;Y=fa+96|0;w=fa+92|0;y=fa+88|0;e=fa+84|0;z=fa+80|0;f=fa+76|0;x=fa+72|0;C=fa+68|0;H=fa+64|0;G=fa+60|0;o=fa+56|0;d=fa+48|0;k[$>>2]=a;k[aa>>2]=b;k[_>>2]=k[(k[$>>2]|0)+4>>2];k[da>>2]=k[k[$>>2]>>2];if((l[26486+(k[aa>>2]<<1)+1>>0]|0)==0?(k[k[$>>2]>>2]|0)>>>0>=((k[$>>2]|0)+8+1584|0)>>>0:0){Dv(k[$>>2]|0);r=fa;return}a:do switch(k[aa>>2]|0){case 0:{i[(k[_>>2]|0)+409>>0]=1;break}case 1:{i[(k[_>>2]|0)+409>>0]=2;break}case 2:{Ev(k[_>>2]|0);break}case 3:{Fv(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 4:{k[(k[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];break}case 9:case 8:{Gv(k[_>>2]|0);break}case 10:{Hv(k[_>>2]|0);break}case 11:{Iv(k[_>>2]|0,0,(k[da>>2]|0)+4|0);break}case 12:{Iv(k[_>>2]|0,1,(k[da>>2]|0)+4|0);break}case 13:{Iv(k[_>>2]|0,2,(k[da>>2]|0)+4|0);break}case 14:{Jv(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,0,0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 15:{Kv(k[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 17:{k[(k[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{k[(k[da>>2]|0)+4>>2]=1;break}case 20:{Lv(k[_>>2]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0,k[(k[da>>2]|0)+4>>2]&255,0);break}case 21:{Lv(k[_>>2]|0,0,0,0,k[(k[da>>2]|0)+4>>2]|0);pv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 23:{if((k[(k[da>>2]|0)+4+4>>2]|0)==5?(Jd(k[(k[da>>2]|0)+4>>2]|0,24745,5)|0)==0:0){k[(k[da>>2]|0)+-16+4>>2]=96;break a}k[(k[da>>2]|0)+-16+4>>2]=0;_=k[_>>2]|0;Z=k[(k[da>>2]|0)+4>>2]|0;k[R>>2]=k[(k[da>>2]|0)+4+4>>2];k[R+4>>2]=Z;Oh(_,27150,R);break}case 24:{Mv(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 96:case 60:case 25:{k[(k[da>>2]|0)+16+4+4>>2]=0;k[(k[da>>2]|0)+16+4>>2]=0;break}case 26:{k[(k[da>>2]|0)+-48+4+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0)-(k[(k[da>>2]|0)+-48+4>>2]|0);break}case 27:{k[(k[da>>2]|0)+-80+4+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0)-(k[(k[da>>2]|0)+-80+4>>2]|0);break}case 28:{k[(k[da>>2]|0)+-16+4+4>>2]=(k[(k[da>>2]|0)+4+4>>2]|0)+((k[(k[da>>2]|0)+4>>2]|0)-(k[(k[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(k[_>>2]|0)+84|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 32:case 30:{Nv(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 31:{Nv(k[_>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 33:{Z=Ov(k[_>>2]|0,155,k[(k[da>>2]|0)+4>>2]|0,0,0)|0;k[P>>2]=Z;k[P+4>>2]=k[(k[da>>2]|0)+-16+4>>2];k[P+8>>2]=k[(k[da>>2]|0)+4+8>>2];Nv(k[_>>2]|0,P);break}case 34:{Z=k[_>>2]|0;Y=(k[da>>2]|0)+4|0;k[c>>2]=k[Y>>2];k[c+4>>2]=k[Y+4>>2];Pv(Q,Z,97,c);Nv(k[_>>2]|0,Q);break}case 35:{Qv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 36:{Rv(k[_>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 37:{Sv(k[_>>2]|0,0,0,0,0,k[(k[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{Tv(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 39:{Uv(k[_>>2]|0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 40:{Vv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 41:{Wv(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 44:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 45:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+-16+4>>2]&~k[(k[da>>2]|0)+4+4>>2]|k[(k[da>>2]|0)+4>>2];break}case 46:{k[(k[da>>2]|0)+-16+4>>2]=0;k[(k[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{k[(k[da>>2]|0)+-32+4>>2]=0;k[(k[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];k[(k[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2]<<8;k[(k[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{k[(k[da>>2]|0)+-16+4>>2]=7;break}case 51:{k[(k[da>>2]|0)+-16+4>>2]=8;break}case 52:{k[(k[da>>2]|0)+4>>2]=9;break}case 53:{k[(k[da>>2]|0)+4>>2]=6;break}case 54:{k[(k[da>>2]|0)+-16+4>>2]=0;break}case 55:{k[(k[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{k[(k[da>>2]|0)+-16+4>>2]=1;break}case 59:{k[(k[da>>2]|0)+-16+4>>2]=0;break}case 61:{k[(k[_>>2]|0)+84+4>>2]=0;break}case 63:{Rv(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{Sv(k[_>>2]|0,0,0,0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{Tv(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);break}case 66:{Uv(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-48+4|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);Vv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 70:case 68:{k[(k[da>>2]|0)+16+4>>2]=10;break}case 69:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 72:{k[(k[da>>2]|0)+4>>2]=4;break}case 145:case 73:{k[(k[da>>2]|0)+4>>2]=5;break}case 74:{Xv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 77:{Yv(k[_>>2]|0,(k[da>>2]|0)+-128+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 78:{Xv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,1,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 79:{k[g>>2]=k[1063];k[g+4>>2]=k[1064];k[g+8>>2]=k[1065];k[g+12>>2]=k[1066];k[g+16>>2]=k[1067];k[g+20>>2]=k[1068];Zv(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,g)|0;pv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 80:{k[n>>2]=k[(k[da>>2]|0)+4>>2];if(k[n>>2]|0){k[(k[n>>2]|0)+64>>2]=k[(k[da>>2]|0)+-16+4>>2];_v(k[_>>2]|0,k[n>>2]|0)}else nv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);k[(k[da>>2]|0)+-16+4>>2]=k[n>>2];break}case 81:{k[D>>2]=k[(k[da>>2]|0)+4>>2];k[v>>2]=k[(k[da>>2]|0)+-32+4>>2];if((k[D>>2]|0)!=0?(k[(k[D>>2]|0)+48>>2]|0)!=0:0){k[W+4>>2]=0;_v(k[_>>2]|0,k[D>>2]|0);Z=$v(k[_>>2]|0,0,0,0,W,k[D>>2]|0,0,0)|0;k[s>>2]=Z;Z=aw(k[_>>2]|0,0,k[s>>2]|0,0,0,0,0,0,0,0)|0;k[D>>2]=Z}if(k[D>>2]|0){i[(k[D>>2]|0)+4>>0]=k[(k[da>>2]|0)+-16+4>>2];k[(k[D>>2]|0)+48>>2]=k[v>>2];if(k[v>>2]|0){Z=(k[v>>2]|0)+8|0;k[Z>>2]=k[Z>>2]&-1025}Z=(k[D>>2]|0)+8|0;k[Z>>2]=k[Z>>2]&-1025;if((k[(k[da>>2]|0)+-16+4>>2]|0)!=116)i[(k[_>>2]|0)+22>>0]=1}else pv(k[k[_>>2]>>2]|0,k[v>>2]|0);k[(k[da>>2]|0)+-32+4>>2]=k[D>>2];break}case 84:case 82:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];break}case 83:{k[(k[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=aw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+4+4>>2]|0)|0;k[(k[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=aw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 87:{k[t>>2]=k[(k[da>>2]|0)+-64+4>>2];_=aw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;k[E>>2]=_;if(k[t>>2]|0){_=(k[t>>2]|0)+8|0;k[_>>2]=k[_>>2]&-1025}if(k[E>>2]|0){i[(k[E>>2]|0)+4>>0]=116;k[(k[E>>2]|0)+48>>2]=k[t>>2];k[(k[da>>2]|0)+-64+4>>2]=k[E>>2];break a}else{k[(k[da>>2]|0)+-64+4>>2]=k[t>>2];break a}}case 88:{k[(k[da>>2]|0)+4>>2]=1;break}case 89:{k[(k[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;if((k[(k[da>>2]|0)+4+4>>2]|0)>>>0>0)cw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0,1);dw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 93:{Z=ew(k[k[_>>2]>>2]|0,160,0)|0;k[p>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[p>>2]|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 94:{Z=Ov(k[_>>2]|0,160,0,0,0)|0;k[F>>2]=Z;Z=Ov(k[_>>2]|0,55,0,0,(k[da>>2]|0)+-32+4|0)|0;k[u>>2]=Z;Z=Ov(k[_>>2]|0,122,k[u>>2]|0,k[F>>2]|0,0)|0;k[q>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[q>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(k[da>>2]|0)+-16+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 97:{_=Ch(k[k[_>>2]>>2]|0,80,0)|0;k[(k[da>>2]|0)+16+4>>2]=_;break}case 98:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];fw(k[(k[da>>2]|0)+-16+4>>2]|0);break}case 99:{if((k[(k[da>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)i[(k[(k[da>>2]|0)+-16+4>>2]|0)+8+(((k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=k[(k[da>>2]|0)+4>>2];break}case 100:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=Z;gw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,(k[da>>2]|0)+-32+4|0);break}case 102:{Z=$v(k[_>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,(k[da>>2]|0)+-32+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-128+4>>2]=Z;hw(k[_>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((k[(k[da>>2]|0)+-96+4>>2]|0)==0?(k[(k[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(k[(k[da>>2]|0)+-16+4>>2]|0)==0:0)?(k[(k[da>>2]|0)+4>>2]|0)==0:0){k[(k[da>>2]|0)+-96+4>>2]=k[(k[da>>2]|0)+-64+4>>2];break a}if((k[k[(k[da>>2]|0)+-64+4>>2]>>2]|0)!=1){fw(k[(k[da>>2]|0)+-64+4>>2]|0);Z=aw(k[_>>2]|0,0,k[(k[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;k[I>>2]=Z;_=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,k[I>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break a}Z=$v(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,0,0,(k[da>>2]|0)+-32+4|0,0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=Z;if(k[(k[da>>2]|0)+-96+4>>2]|0){k[A>>2]=(k[(k[da>>2]|0)+-96+4>>2]|0)+8+(((k[k[(k[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);k[B>>2]=(k[(k[da>>2]|0)+-64+4>>2]|0)+8;k[(k[A>>2]|0)+8>>2]=k[(k[B>>2]|0)+8>>2];k[(k[A>>2]|0)+4>>2]=k[(k[B>>2]|0)+4>>2];k[(k[A>>2]|0)+20>>2]=k[(k[B>>2]|0)+20>>2];k[(k[B>>2]|0)+4>>2]=0;k[(k[B>>2]|0)+8>>2]=0;k[(k[B>>2]|0)+20>>2]=0}rv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{k[(k[da>>2]|0)+16+4>>2]=0;k[(k[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=iw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 108:{k[(k[da>>2]|0)+4>>2]=1;break}case 109:{_=jw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,0,0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=jw(k[_>>2]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=jw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(k[da>>2]|0)+-32+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 116:{k[(k[da>>2]|0)+-16+4>>2]=0;k[(k[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 146:case 118:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 121:{_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;kw(k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 122:{_=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-16+4>>2]=_;kw(k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 123:{k[(k[da>>2]|0)+4>>2]=0;break}case 124:{k[(k[da>>2]|0)+4>>2]=1;break}case 125:{k[(k[da>>2]|0)+16+4>>2]=-1;break}case 130:{k[(k[da>>2]|0)+16+4>>2]=0;k[(k[da>>2]|0)+16+4+4>>2]=0;break}case 131:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];k[(k[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+-32+4>>2];k[(k[da>>2]|0)+-48+4+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 133:{k[(k[da>>2]|0)+-48+4+4>>2]=k[(k[da>>2]|0)+-32+4>>2];k[(k[da>>2]|0)+-48+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 134:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,1);gw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+-16+4|0);mw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 137:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,1);gw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-48+4|0);nw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,27177);ow(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;cw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-32+4|0,1);break}case 139:{_=pw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 140:{Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[X>>2]=Z;cw(k[_>>2]|0,k[X>>2]|0,(k[da>>2]|0)+-32+4|0,1);k[(k[da>>2]|0)+-32+4>>2]=k[X>>2];break}case 141:{_=pw(k[_>>2]|0,0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 142:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0,1);qw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 143:{lw(k[_>>2]|0,k[(k[da>>2]|0)+-96+4>>2]|0,1);qw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]|0);break}case 147:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 148:{_=rw(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=rw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+4|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 150:{sw((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(k[da>>2]|0)+4|0;Z=k[_>>2]|0;_=l[(k[da>>2]|0)+2>>0]|0;b=(k[da>>2]|0)+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];Pv(Y,Z,_,c);break}case 153:case 152:{Z=(k[da>>2]|0)+4|0;_=k[_>>2]|0;Y=(k[da>>2]|0)+4|0;k[c>>2]=k[Y>>2];k[c+4>>2]=k[Y+4>>2];Pv(Z,_,55,c);break}case 154:{Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-32+4|0,1)|0;k[J>>2]=Z;Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+4|0,1)|0;k[L>>2]=Z;sw((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,122,k[J>>2]|0,k[L>>2]|0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 155:{Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-64+4|0,1)|0;k[K>>2]=Z;Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+-32+4|0,1)|0;k[M>>2]=Z;Z=tw(k[k[_>>2]>>2]|0,55,(k[da>>2]|0)+4|0,1)|0;k[N>>2]=Z;Z=Ov(k[_>>2]|0,122,k[M>>2]|0,k[N>>2]|0,0)|0;k[O>>2]=Z;sw((k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,122,k[K>>2]|0,k[O>>2]|0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 158:{_=tw(k[k[_>>2]>>2]|0,134,(k[da>>2]|0)+4|0,1)|0;k[X>>2]=_;k[X+4>>2]=k[(k[da>>2]|0)+4>>2];k[X+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);if(k[X>>2]|0){_=(k[X>>2]|0)+4|0;k[_>>2]=k[_>>2]|8388608}_=(k[da>>2]|0)+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 159:{if((i[k[(k[da>>2]|0)+4>>2]>>0]|0)==35?(l[18403+(l[(k[(k[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){c=(k[da>>2]|0)+4|0;k[Y>>2]=k[c>>2];k[Y+4>>2]=k[c+4>>2];sw((k[da>>2]|0)+4|0,Y,Y);c=k[_>>2]|0;if(!(l[(k[_>>2]|0)+18>>0]|0)){k[Z>>2]=Y;Oh(c,26462,Z);k[(k[da>>2]|0)+4>>2]=0;break a}_=Ov(c,157,0,0,0)|0;k[(k[da>>2]|0)+4>>2]=_;if(!(k[(k[da>>2]|0)+4>>2]|0))break a;_i((k[Y>>2]|0)+1|0,(k[(k[da>>2]|0)+4>>2]|0)+28|0)|0;break a}k[h>>2]=k[(k[da>>2]|0)+4+4>>2];Y=(k[da>>2]|0)+4|0;Z=k[_>>2]|0;b=(k[da>>2]|0)+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];Pv(Y,Z,135,c);uw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[h>>2]|0);break}case 160:{_=vw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,(k[da>>2]|0)+4|0,1)|0;k[(k[da>>2]|0)+-32+4>>2]=_;k[(k[da>>2]|0)+-32+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 161:{sw((k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,66,k[(k[da>>2]|0)+-48+4>>2]|0,0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;break}case 162:{if((k[(k[da>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)>(k[(k[k[_>>2]>>2]|0)+96+24>>2]|0):0){Z=k[_>>2]|0;k[U>>2]=(k[da>>2]|0)+-64+4;Oh(Z,27186,U)}_=ww(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,(k[da>>2]|0)+-64+4|0)|0;k[X>>2]=_;sw(X,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);if((k[(k[da>>2]|0)+-32+4>>2]|0)==1?(k[X>>2]|0)!=0:0){_=(k[X>>2]|0)+4|0;k[_>>2]=k[_>>2]|16}_=(k[da>>2]|0)+-64+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 163:{_=ww(k[_>>2]|0,0,(k[da>>2]|0)+-48+4|0)|0;k[X>>2]=_;sw(X,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);_=(k[da>>2]|0)+-48+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 164:{_=ww(k[_>>2]|0,0,(k[da>>2]|0)+4|0)|0;k[X>>2]=_;sw(X,(k[da>>2]|0)+4|0,(k[da>>2]|0)+4|0);_=(k[da>>2]|0)+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 165:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[w>>2]=Z;Z=Ov(k[_>>2]|0,158,0,0,0)|0;k[X>>2]=Z;if(k[X>>2]|0){k[(k[X>>2]|0)+20>>2]=k[w>>2];sw(X,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0)}else ov(k[k[_>>2]>>2]|0,k[w>>2]|0);_=(k[da>>2]|0)+-64+4|0;k[_>>2]=k[X>>2];k[_+4>>2]=k[X+4>>2];k[_+8>>2]=k[X+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{xw(k[_>>2]|0,l[(k[da>>2]|0)+-16+2>>0]|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);break}case 174:{_=(k[da>>2]|0)+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];break}case 175:{_=(k[da>>2]|0)+-16+4|0;Z=(k[da>>2]|0)+4|0;k[_>>2]=k[Z>>2];k[_+4>>2]=k[Z+4>>2];_=(k[da>>2]|0)+-16+4+4|0;k[_>>2]=k[_>>2]|-2147483648;break}case 176:{k[e>>2]=k[(k[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(k[da>>2]|0)+-16+4+4|0;k[Z>>2]=k[Z>>2]&2147483647;Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[y>>2]=Z;Z=bw(k[_>>2]|0,k[y>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[y>>2]=Z;Z=ww(k[_>>2]|0,k[y>>2]|0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;yw(k[_>>2]|0,k[e>>2]|0,(k[da>>2]|0)+-32+4|0);k[(k[da>>2]|0)+-32+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];if(k[(k[da>>2]|0)+-32+4>>2]|0){_=(k[(k[da>>2]|0)+-32+4>>2]|0)+4|0;k[_>>2]=k[_>>2]|128}break}case 177:{k[f>>2]=k[(k[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(k[da>>2]|0)+-48+4+4|0;k[Z>>2]=k[Z>>2]&2147483647;Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[z>>2]=Z;Z=bw(k[_>>2]|0,k[z>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0)|0;k[z>>2]=Z;Z=bw(k[_>>2]|0,k[z>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[z>>2]=Z;Z=ww(k[_>>2]|0,k[z>>2]|0,(k[da>>2]|0)+-48+4|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;yw(k[_>>2]|0,k[f>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];if(k[(k[da>>2]|0)+-64+4>>2]|0){_=(k[(k[da>>2]|0)+-64+4>>2]|0)+4|0;k[_>>2]=k[_>>2]|128}break}case 178:{zw(k[_>>2]|0,l[(k[da>>2]|0)+2>>0]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 179:{zw(k[_>>2]|0,35,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);break}case 180:{xw(k[_>>2]|0,29,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);Aw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{xw(k[_>>2]|0,148,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);Aw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{Bw((k[da>>2]|0)+-16+4|0,k[_>>2]|0,l[(k[da>>2]|0)+-16+2>>0]|0,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 184:{Bw((k[da>>2]|0)+-16+4|0,k[_>>2]|0,155,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 185:{Bw((k[da>>2]|0)+-16+4|0,k[_>>2]|0,156,(k[da>>2]|0)+4|0,(k[da>>2]|0)+-16+4|0);break}case 189:case 186:{k[(k[da>>2]|0)+4>>2]=0;break}case 188:{Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[x>>2]=Z;Z=bw(k[_>>2]|0,k[x>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[x>>2]=Z;Z=Ov(k[_>>2]|0,32,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(k[(k[da>>2]|0)+-64+4>>2]|0)k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=k[x>>2];else ov(k[k[_>>2]>>2]|0,k[x>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=k[(k[da>>2]|0)+4+8>>2];break}case 191:{do if(!(k[(k[da>>2]|0)+-16+4>>2]|0)){sv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);_=Ov(k[_>>2]|0,134,0,0,4276+(k[(k[da>>2]|0)+-48+4>>2]<<3)|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_}else{if((k[k[(k[da>>2]|0)+-16+4>>2]>>2]|0)==1){k[C>>2]=k[k[(k[(k[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];k[k[(k[(k[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;ov(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);if(k[C>>2]|0){Z=(k[C>>2]|0)+4|0;k[Z>>2]=k[Z>>2]&-257;Z=(k[C>>2]|0)+4|0;k[Z>>2]=k[Z>>2]|512}_=Ov(k[_>>2]|0,(k[(k[da>>2]|0)+-48+4>>2]|0)!=0?36:37,k[(k[da>>2]|0)+-64+4>>2]|0,k[C>>2]|0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}Z=Ov(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(k[(k[da>>2]|0)+-64+4>>2]|0){k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=k[(k[da>>2]|0)+-16+4>>2];Cw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0)}else ov(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0)}while(0);k[(k[da>>2]|0)+-64+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 192:{sw((k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0);Z=Ov(k[_>>2]|0,119,0,0,0)|0;k[(k[da>>2]|0)+-32+4>>2]=Z;Dw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=Ov(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;Dw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);k[(k[da>>2]|0)+-64+4+8>>2]=(k[(k[da>>2]|0)+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);break}case 194:{Z=iw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+-16+4|0)|0;k[H>>2]=Z;Z=aw(k[_>>2]|0,0,k[H>>2]|0,0,0,0,0,0,0,0)|0;k[G>>2]=Z;if(k[(k[da>>2]|0)+4>>2]|0)hw(k[_>>2]|0,(k[G>>2]|0)!=0?k[H>>2]|0:0,k[(k[da>>2]|0)+4>>2]|0);c=Ov(k[_>>2]|0,33,k[(k[da>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=c;Dw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[G>>2]|0);yw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+-64+4|0);c=k[da>>2]|0;if(k[(k[da>>2]|0)+-16+4>>2]|0)c=(k[(k[da>>2]|0)+-16+4>>2]|0)+(k[c+-16+4+4>>2]|0)|0;else c=(k[(k[da>>2]|0)+-32+4>>2]|0)+(k[c+-32+4+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4+8>>2]=c;break}case 195:{sw((k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);Z=Ov(k[_>>2]|0,20,0,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=Z;k[o>>2]=Z;Dw(k[_>>2]|0,k[o>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 196:{sw((k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+4|0);Z=Ov(k[_>>2]|0,136,k[(k[da>>2]|0)+-48+4>>2]|0,0,0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;if(!(k[(k[da>>2]|0)+-64+4>>2]|0)){ov(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0);sv(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break a}if(k[(k[da>>2]|0)+-16+4>>2]|0)c=bw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;else c=k[(k[da>>2]|0)+-32+4>>2]|0;k[(k[(k[da>>2]|0)+-64+4>>2]|0)+20>>2]=c;Cw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=bw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+-32+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=Z;_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;break}case 201:{k[(k[da>>2]|0)+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 204:{_=bw(k[_>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=bw(k[_>>2]|0,0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 212:case 207:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 208:{Sv(k[_>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,iw(k[k[_>>2]>>2]|0,0,(k[da>>2]|0)+-64+4|0,0)|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+-160+4>>2]|0,(k[da>>2]|0)+-176+4|0,k[(k[da>>2]|0)+4>>2]|0,0,k[(k[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{k[(k[da>>2]|0)+4>>2]=2;break}case 210:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 213:{_=Ew(k[_>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=Ew(k[_>>2]|0,0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-32+4>>2]=_;break}case 217:{Fw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 218:{Gw(k[_>>2]|0,0);break}case 219:{Gw(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 220:{Hw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0,0,0);break}case 221:{Hw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,0);break}case 222:{Hw(k[_>>2]|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-16+4|0,0);break}case 223:{Hw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,1);break}case 224:{Hw(k[_>>2]|0,(k[da>>2]|0)+-64+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-16+4|0,1);break}case 227:{k[d>>2]=k[(k[da>>2]|0)+-48+4>>2];k[d+4>>2]=(k[(k[da>>2]|0)+4>>2]|0)-(k[(k[da>>2]|0)+-48+4>>2]|0)+(k[(k[da>>2]|0)+4+4>>2]|0);Iw(k[_>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,d);break}case 228:{Jw(k[_>>2]|0,(k[da>>2]|0)+-112+4|0,(k[da>>2]|0)+-96+4|0,k[(k[da>>2]|0)+-80+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-64+4+4>>2]|0,k[(k[da>>2]|0)+-32+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-160+4>>2]|0,k[(k[da>>2]|0)+-128+4>>2]|0);c=(k[da>>2]|0)+-160+4|0;d=k[da>>2]|0;if(!(k[(k[da>>2]|0)+-96+4+4>>2]|0)){_=d+-112+4|0;k[c>>2]=k[_>>2];k[c+4>>2]=k[_+4>>2];break a}else{_=d+-96+4|0;k[c>>2]=k[_>>2];k[c+4>>2]=k[_+4>>2];break a}}case 229:{k[(k[da>>2]|0)+4>>2]=63;break}case 230:{k[(k[da>>2]|0)+4>>2]=59;break}case 231:{k[(k[da>>2]|0)+-16+4>>2]=77;break}case 232:{k[(k[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{k[(k[da>>2]|0)+4>>2]=l[(k[da>>2]|0)+2>>0];k[(k[da>>2]|0)+4+4>>2]=0;break}case 235:{k[(k[da>>2]|0)+-32+4>>2]=110;k[(k[da>>2]|0)+-32+4+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 255:case 236:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 238:{k[(k[(k[(k[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=k[(k[da>>2]|0)+-16+4>>2];k[(k[(k[da>>2]|0)+-32+4>>2]|0)+32>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 239:{k[(k[(k[da>>2]|0)+-16+4>>2]|0)+32>>2]=k[(k[da>>2]|0)+-16+4>>2];break}case 240:{Z=(k[da>>2]|0)+-32+4|0;Y=(k[da>>2]|0)+4|0;k[Z>>2]=k[Y>>2];k[Z+4>>2]=k[Y+4>>2];Oh(k[_>>2]|0,27220,V);break}case 241:{Oh(k[_>>2]|0,27315,S);break}case 242:{Oh(k[_>>2]|0,27399,T);break}case 243:{_=Kw(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-64+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-80+4>>2]&255)|0;k[(k[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=Lw(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-64+4>>2]&255)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=Mw(k[k[_>>2]>>2]|0,(k[da>>2]|0)+-32+4|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=Nw(k[k[_>>2]>>2]|0,k[(k[da>>2]|0)+4>>2]|0)|0;k[(k[da>>2]|0)+4>>2]=_;break}case 247:{sw((k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,83,0,0,0)|0;k[(k[da>>2]|0)+-48+4>>2]=_;if(k[(k[da>>2]|0)+-48+4>>2]|0)i[(k[(k[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{sw((k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+-80+4|0,(k[da>>2]|0)+4|0);_=Ov(k[_>>2]|0,83,0,0,(k[da>>2]|0)+-16+4|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;if(k[(k[da>>2]|0)+-80+4>>2]|0)i[(k[(k[da>>2]|0)+-80+4>>2]|0)+1>>0]=k[(k[da>>2]|0)+-48+4>>2];break}case 249:{k[(k[da>>2]|0)+4>>2]=1;break}case 251:{k[(k[da>>2]|0)+4>>2]=3;break}case 252:{Ow(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0);break}case 253:{Pw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 254:{Qw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 257:{Rw(k[_>>2]|0,0,0);break}case 258:{Rw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 259:{Sw(k[_>>2]|0,0,0);break}case 260:{Sw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0,(k[da>>2]|0)+4|0);break}case 261:{Tw(k[_>>2]|0,k[(k[da>>2]|0)+-48+4>>2]|0,(k[da>>2]|0)+4|0);break}case 262:{k[(k[da>>2]|0)+-16+4+4>>2]=(k[(k[_>>2]|0)+392>>2]|0)-(k[(k[da>>2]|0)+-16+4>>2]|0)+(k[(k[_>>2]|0)+392+4>>2]|0);Uw(k[_>>2]|0,(k[da>>2]|0)+-16+4|0);break}case 263:{Kv(k[_>>2]|0);Vw(k[_>>2]|0,k[(k[da>>2]|0)+4>>2]|0);break}case 264:{Ww(k[_>>2]|0,0);break}case 265:{Ww(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 266:{Xw(k[_>>2]|0,(k[da>>2]|0)+-48+4|0,(k[da>>2]|0)+-32+4|0,(k[da>>2]|0)+4|0,k[(k[da>>2]|0)+-64+4>>2]|0);break}case 267:{Yw(k[_>>2]|0);break}case 270:case 269:case 268:{Zw(k[_>>2]|0,(k[da>>2]|0)+4|0);break}case 271:{k[(k[da>>2]|0)+16+4>>2]=0;break}case 272:{k[(k[da>>2]|0)+-16+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 273:{k[(k[da>>2]|0)+-32+4>>2]=k[(k[da>>2]|0)+4>>2];break}case 274:{_=_w(k[_>>2]|0,0,(k[da>>2]|0)+-80+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=_w(k[_>>2]|0,k[(k[da>>2]|0)+-112+4>>2]|0,(k[da>>2]|0)+-80+4|0,k[(k[da>>2]|0)+-64+4>>2]|0,k[(k[da>>2]|0)+-16+4>>2]|0)|0;k[(k[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);k[ca>>2]=l[26486+(k[aa>>2]<<1)>>0];k[ea>>2]=l[26486+(k[aa>>2]<<1)+1>>0];aa=$w(m[(k[da>>2]|0)+(0-(k[ea>>2]|0)<<4)>>1]|0,k[ca>>2]&255)|0;k[ba>>2]=aa;if((k[ba>>2]|0)>999){da=k[$>>2]|0;k[da>>2]=(k[da>>2]|0)+(0-(k[ea>>2]|0)<<4);ax(k[$>>2]|0);r=fa;return}if((k[ba>>2]|0)>455)k[ba>>2]=(k[ba>>2]|0)+332;k[da>>2]=(k[da>>2]|0)+(0-((k[ea>>2]|0)-1)<<4);k[k[$>>2]>>2]=k[da>>2];j[k[da>>2]>>1]=k[ba>>2];i[(k[da>>2]|0)+2>>0]=k[ca>>2];r=fa;return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;e=d+12|0;f=d+4|0;k[e>>2]=a;k[d+8>>2]=b;k[f>>2]=k[(k[e>>2]|0)+4>>2];a=k[f>>2]|0;k[g>>2]=c;Oh(a,26462,g);k[(k[e>>2]|0)+4>>2]=k[f>>2];r=d;return}function Dv(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-16;while(1){if((k[k[b>>2]>>2]|0)>>>0<=((k[b>>2]|0)+8|0)>>>0)break;wv(k[b>>2]|0)}Oh(k[c>>2]|0,37597,d);k[(k[b>>2]|0)+4>>2]=k[c>>2];r=e;return}function Ev(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;b=m+28|0;c=m+24|0;h=m+20|0;e=m+16|0;d=m+12|0;g=m+8|0;j=m+4|0;f=m;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];if(i[(k[b>>2]|0)+18>>0]|0){r=m;return}if((l[(k[c>>2]|0)+69>>0]|0)==0?(k[(k[b>>2]|0)+36>>2]|0)==0:0){a=nx(k[b>>2]|0)|0;k[h>>2]=a;do if((k[h>>2]|0)!=0?(px(k[h>>2]|0,75)|0,(l[(k[c>>2]|0)+69>>0]|0)==0):0){if((k[(k[b>>2]|0)+96>>2]|0)==0?(k[(k[b>>2]|0)+80>>2]|0)==0:0)break;hA(k[h>>2]|0,0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(((k[(k[b>>2]|0)+96>>2]&1<>2]|0)!=0|0)!=0?(Vh(k[h>>2]|0,k[e>>2]|0),k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2],Sh(k[h>>2]|0,2,k[e>>2]|0,(k[(k[b>>2]|0)+92>>2]&1<>2]|0)!=0&1,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0,(l[(k[c>>2]|0)+148+5>>0]|0)==0):0)Th(k[h>>2]|0,1);k[e>>2]=(k[e>>2]|0)+1}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+412>>2]|0))break;g=cy(k[c>>2]|0,k[(k[(k[b>>2]|0)+460>>2]|0)+(k[d>>2]<<2)>>2]|0)|0;k[j>>2]=g;wx(k[h>>2]|0,152,0,0,0,k[j>>2]|0,-10)|0;k[d>>2]=(k[d>>2]|0)+1}k[(k[b>>2]|0)+412>>2]=0;ZH(k[b>>2]|0);_H(k[b>>2]|0);a:do if(k[(k[b>>2]|0)+80>>2]|0){k[f>>2]=k[(k[b>>2]|0)+80>>2];i[(k[b>>2]|0)+23>>0]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[f>>2]>>2]|0))break a;$A(k[b>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);gA(k[h>>2]|0,1)|0}while(0);if(((k[h>>2]|0)!=0?(k[(k[b>>2]|0)+36>>2]|0)==0:0)?(i[(k[c>>2]|0)+69>>0]|0)==0:0){if((k[(k[b>>2]|0)+120>>2]|0)!=0?(k[(k[b>>2]|0)+40>>2]|0)==0:0)k[(k[b>>2]|0)+40>>2]=1;Xh(k[h>>2]|0,k[b>>2]|0);k[(k[b>>2]|0)+12>>2]=101;r=m;return}k[(k[b>>2]|0)+12>>2]=1;r=m;return}if(k[(k[b>>2]|0)+12>>2]|0){r=m;return}k[(k[b>>2]|0)+12>>2]=1;r=m;return}function Fv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];if(kx(k[c>>2]|0,22,37527,0,0)|0){r=h;return}b=nx(k[c>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){r=h;return}a:do if((k[d>>2]|0)!=7){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break a;sx(k[g>>2]|0,2,k[f>>2]|0,((k[d>>2]|0)==9&1)+1|0)|0;Vh(k[g>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);px(k[g>>2]|0,1)|0;r=h;return}function Gv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(kx(k[b>>2]|0,22,37550,0,0)|0){r=d;return}a=nx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}aA(k[c>>2]|0,1,1)|0;r=d;return}function Hv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(kx(k[b>>2]|0,22,37541,0,0)|0){r=d;return}a=nx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}sx(k[c>>2]|0,1,1,1)|0;r=d;return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;i=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;a=bx(k[k[d>>2]>>2]|0,k[i>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}i=nx(k[d>>2]|0)|0;k[f>>2]=i;if((k[f>>2]|0)!=0?(kx(k[d>>2]|0,32,k[5512+(k[e>>2]<<2)>>2]|0,k[g>>2]|0,0)|0)==0:0){wx(k[f>>2]|0,0,k[e>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}bg(k[k[d>>2]>>2]|0,k[g>>2]|0);r=h;return}function Jv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;h=J+92|0;m=J+88|0;n=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;q=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;o=J+36|0;p=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;k[w>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[x>>2]=e;k[y>>2]=f;k[z>>2]=g;k[H>>2]=0;k[A>>2]=k[k[w>>2]>>2];if((l[(k[A>>2]|0)+148+5>>0]|0)!=0?(k[(k[A>>2]|0)+148>>2]|0)==1:0){k[I>>2]=l[(k[A>>2]|0)+148+4>>0];s=Ah(k[A>>2]|0,(k[I>>2]|0)==1?19905:19924)|0;k[H>>2]=s;k[B>>2]=k[h>>2]}else{a=Yz(k[w>>2]|0,k[h>>2]|0,k[m>>2]|0,B)|0;k[I>>2]=a;if((k[I>>2]|0)<0){r=J;return}if((k[n>>2]|0)!=0?((k[I>>2]|0)!=1?(k[(k[m>>2]|0)+4>>2]|0)>>>0>0:0):0){Oh(k[w>>2]|0,37417,s);r=J;return}if(k[n>>2]|0)k[I>>2]=1;s=bx(k[A>>2]|0,k[B>>2]|0)|0;k[H>>2]=s}s=(k[w>>2]|0)+384|0;a=k[B>>2]|0;k[s>>2]=k[a>>2];k[s+4>>2]=k[a+4>>2];if(!(k[H>>2]|0)){r=J;return}a:do if(!(ay(k[w>>2]|0,k[H>>2]|0)|0)){if((l[(k[A>>2]|0)+148+4>>0]|0)==1)k[n>>2]=1;k[u>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(!(kx(k[w>>2]|0,18,(k[n>>2]|0)==1?19905:19924,0,k[u>>2]|0)|0)){if((k[y>>2]|0)==0?(kx(k[w>>2]|0,l[37458+((k[n>>2]|0)+(k[x>>2]<<1))>>0]|0,k[H>>2]|0,0,k[u>>2]|0)|0)!=0:0)break;do if(!(i[(k[w>>2]|0)+410>>0]|0)){k[v>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(Uz(k[w>>2]|0)|0)break a;u=Di(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0;k[q>>2]=u;if(!(k[q>>2]|0)){if(!(Uj(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0))break;I=k[w>>2]|0;k[t>>2]=k[H>>2];Oh(I,37486,t);break a}h=k[w>>2]|0;if(k[z>>2]|0){Cx(h,k[I>>2]|0);break a}else{k[G>>2]=k[B>>2];Oh(h,37462,G);break a}}while(0);G=Ch(k[A>>2]|0,72,0)|0;k[q>>2]=G;if(!(k[q>>2]|0)){k[(k[w>>2]|0)+12>>2]=7;I=(k[w>>2]|0)+36|0;k[I>>2]=(k[I>>2]|0)+1;break}k[k[q>>2]>>2]=k[H>>2];j[(k[q>>2]|0)+32>>1]=-1;k[(k[q>>2]|0)+64>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+12>>2];j[(k[q>>2]|0)+36>>1]=1;j[(k[q>>2]|0)+38>>1]=200;k[(k[w>>2]|0)+440>>2]=k[q>>2];if((i[(k[w>>2]|0)+18>>0]|0)==0?(rR(k[H>>2]|0,28817)|0)==0:0)k[(k[(k[q>>2]|0)+64>>2]|0)+72>>2]=k[q>>2];if(i[(k[A>>2]|0)+148+5>>0]|0){r=J;return}H=nx(k[w>>2]|0)|0;k[F>>2]=H;if(!H){r=J;return}Bx(k[w>>2]|0,1,k[I>>2]|0);if(k[y>>2]|0)px(k[F>>2]|0,152)|0;H=(k[w>>2]|0)+44|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[(k[w>>2]|0)+100>>2]=h;k[C>>2]=h;h=(k[w>>2]|0)+44|0;H=(k[h>>2]|0)+1|0;k[h>>2]=H;k[(k[w>>2]|0)+104>>2]=H;k[D>>2]=H;H=(k[w>>2]|0)+44|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[E>>2]=h;tx(k[F>>2]|0,101,k[I>>2]|0,k[E>>2]|0,2)|0;Vh(k[F>>2]|0,k[I>>2]|0);h=aA(k[F>>2]|0,21,k[E>>2]|0)|0;k[o>>2]=h;k[p>>2]=(k[(k[A>>2]|0)+24>>2]&32768|0)!=0?1:4;tx(k[F>>2]|0,102,k[I>>2]|0,2,k[p>>2]|0)|0;tx(k[F>>2]|0,102,k[I>>2]|0,5,l[(k[A>>2]|0)+66>>0]|0)|0;hA(k[F>>2]|0,k[o>>2]|0);h=k[F>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0)sx(h,76,0,k[D>>2]|0)|0;else{H=sx(h,135,k[I>>2]|0,k[D>>2]|0)|0;k[(k[w>>2]|0)+132>>2]=H}YH(k[w>>2]|0,k[I>>2]|0);sx(k[F>>2]|0,114,0,k[C>>2]|0)|0;wx(k[F>>2]|0,81,6,k[E>>2]|0,0,37521,-2)|0;tx(k[F>>2]|0,115,0,k[E>>2]|0,k[C>>2]|0)|0;Th(k[F>>2]|0,8);px(k[F>>2]|0,111)|0;r=J;return}}while(0);bg(k[A>>2]|0,k[H>>2]|0);r=J;return}function Kv(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;a=(k[k[c>>2]>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function Lv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;f=R+200|0;g=R+196|0;h=R+192|0;m=R+204|0;n=R+188|0;w=R+184|0;q=R+180|0;t=R+176|0;z=R+172|0;u=R+168|0;G=R+164|0;P=R+160|0;Q=R+156|0;O=R+152|0;s=R+128|0;F=R+120|0;p=R+116|0;D=R+112|0;E=R+108|0;o=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[m>>0]=d;k[n>>2]=e;k[q>>2]=k[k[f>>2]>>2];if((k[h>>2]|0)==0&(k[n>>2]|0)==0){r=R;return}k[w>>2]=k[(k[f>>2]|0)+440>>2];if(!(k[w>>2]|0)){r=R;return}if((i[(k[q>>2]|0)+148+5>>0]|0)!=0?(k[(k[w>>2]|0)+28>>2]=k[(k[q>>2]|0)+148>>2],(k[(k[w>>2]|0)+28>>2]|0)==1):0){d=(k[w>>2]|0)+42|0;i[d>>0]=l[d>>0]|1}do if(l[m>>0]&32){if(l[(k[w>>2]|0)+42>>0]&8){Oh(k[f>>2]|0,37098,H);r=R;return}if(!(l[(k[w>>2]|0)+42>>0]&4)){H=k[f>>2]|0;k[J>>2]=k[k[w>>2]>>2];Oh(H,37148,J);break}else{J=(k[w>>2]|0)+42|0;i[J>>0]=l[J>>0]|96;SH(k[f>>2]|0,k[w>>2]|0);break}}while(0);J=Ph(k[q>>2]|0,k[(k[w>>2]|0)+64>>2]|0)|0;k[t>>2]=J;if(k[(k[w>>2]|0)+24>>2]|0)LH(k[f>>2]|0,k[w>>2]|0,4,0,k[(k[w>>2]|0)+24>>2]|0);TH(k[w>>2]|0);k[z>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;OH(k[z>>2]|0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(!(i[(k[q>>2]|0)+148+5>>0]|0)){J=nx(k[f>>2]|0)|0;k[G>>2]=J;if(!(k[G>>2]|0)){r=R;return}aA(k[G>>2]|0,111,0)|0;if(!(k[(k[w>>2]|0)+12>>2]|0)){k[P>>2]=32993;k[Q>>2]=37180}else{k[P>>2]=36058;k[Q>>2]=37186}do if(k[n>>2]|0){H=(k[f>>2]|0)+44|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[F>>2]=J;J=(k[f>>2]|0)+44|0;H=(k[J>>2]|0)+1|0;k[J>>2]=H;k[D>>2]=H;H=(k[f>>2]|0)+44|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[E>>2]=J;dy(k[f>>2]|0);tx(k[G>>2]|0,105,1,k[(k[f>>2]|0)+104>>2]|0,k[t>>2]|0)|0;Th(k[G>>2]|0,16);k[(k[f>>2]|0)+40>>2]=2;J=(Gx(k[G>>2]|0)|0)+1|0;k[p>>2]=J;tx(k[G>>2]|0,15,k[F>>2]|0,0,k[p>>2]|0)|0;FB(s,13,k[F>>2]|0);Zv(k[f>>2]|0,k[n>>2]|0,s)|0;gD(k[G>>2]|0,k[F>>2]|0);hA(k[G>>2]|0,(k[p>>2]|0)-1|0);if(k[(k[f>>2]|0)+36>>2]|0){r=R;return}J=ky(k[f>>2]|0,k[n>>2]|0)|0;k[C>>2]=J;if(!(k[C>>2]|0)){r=R;return}else{j[(k[w>>2]|0)+34>>1]=j[(k[C>>2]|0)+34>>1]|0;k[(k[w>>2]|0)+4>>2]=k[(k[C>>2]|0)+4>>2];j[(k[C>>2]|0)+34>>1]=0;k[(k[C>>2]|0)+4>>2]=0;$f(k[q>>2]|0,k[C>>2]|0);J=aA(k[G>>2]|0,16,k[s+8>>2]|0)|0;k[o>>2]=J;tx(k[G>>2]|0,99,k[s+12>>2]|0,k[s+16>>2]|0,k[D>>2]|0)|0;jD(k[G>>2]|0,k[w>>2]|0,0);sx(k[G>>2]|0,114,1,k[E>>2]|0)|0;tx(k[G>>2]|0,115,1,k[D>>2]|0,k[E>>2]|0)|0;gA(k[G>>2]|0,k[o>>2]|0)|0;hA(k[G>>2]|0,k[o>>2]|0);aA(k[G>>2]|0,111,1)|0;break}}while(0);if(k[n>>2]|0){Q=UH(k[q>>2]|0,k[w>>2]|0)|0;k[O>>2]=Q}else{k[y>>2]=(l[m>>0]|0)!=0?(k[f>>2]|0)+392|0:k[h>>2]|0;k[u>>2]=(k[k[y>>2]>>2]|0)-(k[(k[f>>2]|0)+384>>2]|0);if((i[k[k[y>>2]>>2]>>0]|0)!=59)k[u>>2]=(k[u>>2]|0)+(k[(k[y>>2]|0)+4>>2]|0);J=k[q>>2]|0;d=k[u>>2]|0;H=k[(k[f>>2]|0)+384>>2]|0;k[L>>2]=k[Q>>2];k[L+4>>2]=d;k[L+8>>2]=H;Q=Qh(J,37191,L)|0;k[O>>2]=Q}Q=k[f>>2]|0;E=(k[t>>2]|0)==1?19905:19924;F=k[P>>2]|0;d=k[k[w>>2]>>2]|0;H=k[k[w>>2]>>2]|0;J=k[(k[f>>2]|0)+104>>2]|0;L=k[O>>2]|0;P=k[(k[f>>2]|0)+100>>2]|0;k[M>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2];k[M+4>>2]=E;k[M+8>>2]=F;k[M+12>>2]=d;k[M+16>>2]=H;k[M+20>>2]=J;k[M+24>>2]=L;k[M+28>>2]=P;mx(Q,37206,M);bg(k[q>>2]|0,k[O>>2]|0);ox(k[f>>2]|0,k[t>>2]|0);if((l[(k[w>>2]|0)+42>>0]&8|0)!=0?(k[x>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4),(k[(k[(k[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=k[f>>2]|0;k[I>>2]=k[k[x>>2]>>2];mx(Q,37293,I)}O=k[G>>2]|0;P=k[t>>2]|0;Q=k[q>>2]|0;k[K>>2]=k[k[w>>2]>>2];qx(O,P,Qh(Q,37335,K)|0)}if(!(i[(k[q>>2]|0)+148+5>>0]|0)){r=R;return}k[B>>2]=k[(k[w>>2]|0)+64>>2];Q=ck((k[B>>2]|0)+8|0,k[k[w>>2]>>2]|0,k[w>>2]|0)|0;k[A>>2]=Q;if(k[A>>2]|0){wh(k[q>>2]|0);r=R;return}k[(k[f>>2]|0)+440>>2]=0;Q=(k[q>>2]|0)+24|0;k[Q>>2]=k[Q>>2]|2;if(k[(k[w>>2]|0)+12>>2]|0){r=R;return}k[N>>2]=k[(k[f>>2]|0)+384>>2];if(!(k[k[g>>2]>>2]|0))k[g>>2]=k[h>>2];k[v>>2]=(k[k[g>>2]>>2]|0)-(k[N>>2]|0);Q=13+(ey(k[N>>2]|0,k[v>>2]|0)|0)|0;k[(k[w>>2]|0)+44>>2]=Q;r=R;return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;q=v+8|0;p=v;d=v+48|0;e=v+44|0;f=v+40|0;n=v+36|0;m=v+32|0;s=v+28|0;t=v+24|0;o=v+20|0;h=v+16|0;g=v+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];c=k[(k[d>>2]|0)+440>>2]|0;k[n>>2]=c;if(!c){r=v;return}if(((j[(k[n>>2]|0)+34>>1]|0)+1|0)>(k[(k[h>>2]|0)+96+8>>2]|0)){u=k[d>>2]|0;k[p>>2]=k[k[n>>2]>>2];Oh(u,37049,p);r=v;return}p=Mh(k[h>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)+2|0,0)|0;k[s>>2]=p;if(!(k[s>>2]|0)){r=v;return}bS(k[s>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;i[(k[s>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;hx(k[s>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break;if(!(be(k[s>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2]|0)|0)){u=8;break}k[m>>2]=(k[m>>2]|0)+1}if((u|0)==8){u=k[d>>2]|0;k[q>>2]=k[s>>2];Oh(u,37072,q);bg(k[h>>2]|0,k[s>>2]|0);r=v;return}do if(!(j[(k[n>>2]|0)+34>>1]&7)){u=cx(k[h>>2]|0,k[(k[n>>2]|0)+4>>2]|0,(j[(k[n>>2]|0)+34>>1]|0)+8<<4,0)|0;k[g>>2]=u;if(k[g>>2]|0){k[(k[n>>2]|0)+4>>2]=k[g>>2];break}bg(k[h>>2]|0,k[s>>2]|0);r=v;return}while(0);k[o>>2]=(k[(k[n>>2]|0)+4>>2]|0)+(j[(k[n>>2]|0)+34>>1]<<4);u=k[o>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[k[o>>2]>>2]=k[s>>2];if(!(k[(k[f>>2]|0)+4>>2]|0)){i[(k[o>>2]|0)+13>>0]=65;i[(k[o>>2]|0)+14>>0]=1}else{u=k[s>>2]|0;u=u+(Tf(k[s>>2]|0)|0)+1|0;k[t>>2]=u;bS(k[t>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[t>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;hx(k[t>>2]|0);u=Nx(k[t>>2]|0,(k[o>>2]|0)+14|0)|0;i[(k[o>>2]|0)+13>>0]=u;u=(k[o>>2]|0)+15|0;i[u>>0]=l[u>>0]|4}u=(k[n>>2]|0)+34|0;j[u>>1]=(j[u>>1]|0)+1<<16>>16;k[(k[d>>2]|0)+84+4>>2]=0;r=v;return}function Nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+80|0;e=m;c=m+72|0;f=m+68|0;d=m+64|0;h=m+60|0;g=m+56|0;l=m+8|0;k[c>>2]=a;k[f>>2]=b;k[g>>2]=k[k[c>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+440>>2];if(!(k[d>>2]|0)){h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;sv(h,l);r=m;return}k[h>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4);if(RH(k[k[f>>2]>>2]|0,i[(k[g>>2]|0)+148+5>>0]|0)|0){sv(k[g>>2]|0,k[(k[h>>2]|0)+4>>2]|0);c=l;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));i[l>>0]=-95;e=(k[(k[f>>2]|0)+8>>2]|0)-(k[(k[f>>2]|0)+4>>2]|0)|0;e=gx(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;k[l+8>>2]=e;k[l+12>>2]=k[k[f>>2]>>2];k[l+4>>2]=4096;e=Sy(k[g>>2]|0,l,1)|0;k[(k[h>>2]|0)+4>>2]=e;bg(k[g>>2]|0,k[l+8>>2]|0);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;sv(h,l);r=m;return}else{l=k[c>>2]|0;k[e>>2]=k[k[h>>2]>>2];Oh(l,37004,e);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;sv(h,l);r=m;return}}function Ov(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)==28?(k[(k[f>>2]|0)+36>>2]|0)==0:0){e=Gz(k[k[f>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[l>>2]=e}else{e=tw(k[k[f>>2]>>2]|0,k[g>>2]&255,k[j>>2]|0,1)|0;k[l>>2]=e;Iz(k[k[f>>2]>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0)}if(!(k[l>>2]|0)){e=k[l>>2]|0;r=m;return e|0}hz(k[f>>2]|0,k[(k[l>>2]|0)+24>>2]|0)|0;e=k[l>>2]|0;r=m;return e|0}function Pv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0;h=r;r=r+16|0;e=h+12|0;m=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;b=dx(k[k[m>>2]>>2]|0,48+(k[d+4>>2]|0)+1|0,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){m=k[g>>2]|0;g=k[e>>2]|0;k[g>>2]=m;g=k[d>>2]|0;m=k[e>>2]|0;m=m+4|0;k[m>>2]=g;m=d+4|0;m=k[m>>2]|0;d=k[d>>2]|0;d=d+m|0;m=k[e>>2]|0;m=m+8|0;k[m>>2]=d;r=h;return}c=k[g>>2]|0;a=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));i[k[g>>2]>>0]=k[f>>2];k[(k[g>>2]|0)+4>>2]=8388608;j[(k[g>>2]|0)+34>>1]=-1;k[(k[g>>2]|0)+8>>2]=(k[g>>2]|0)+48;bS(k[(k[g>>2]|0)+8>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;i[(k[(k[g>>2]|0)+8>>2]|0)+(k[d+4>>2]|0)>>0]=0;if(l[18403+(l[k[(k[g>>2]|0)+8>>2]>>0]|0)>>0]&128){if((i[k[(k[g>>2]|0)+8>>2]>>0]|0)==34){m=(k[g>>2]|0)+4|0;k[m>>2]=k[m>>2]|64}hx(k[(k[g>>2]|0)+8>>2]|0)}k[(k[g>>2]|0)+24>>2]=1;m=k[g>>2]|0;g=k[e>>2]|0;k[g>>2]=m;g=k[d>>2]|0;m=k[e>>2]|0;m=m+4|0;k[m>>2]=g;m=d+4|0;m=k[m>>2]|0;d=k[d>>2]|0;d=d+m|0;m=k[e>>2]|0;m=m+8|0;k[m>>2]=d;r=h;return}function Qv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+440>>2];if(!(k[d>>2]|0)){r=e;return}if((j[(k[d>>2]|0)+34>>1]|0)<1){r=e;return}i[(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4)+12>>0]=k[c>>2];r=e;return}function Rv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;x=y+8|0;f=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;p=y+36|0;o=y+32|0;h=y+28|0;g=y+24|0;m=y+20|0;n=y+16|0;q=y+12|0;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[w>>2]=e;k[p>>2]=k[(k[s>>2]|0)+440>>2];k[o>>2]=0;k[h>>2]=-1;if(!(k[p>>2]|0)){w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}if(l[(k[p>>2]|0)+42>>0]&4){w=k[s>>2]|0;k[f>>2]=k[k[p>>2]>>2];Oh(w,36907,f);w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}f=(k[p>>2]|0)+42|0;i[f>>0]=l[f>>0]|4;a:do if(!(k[t>>2]|0)){k[h>>2]=(j[(k[p>>2]|0)+34>>1]|0)-1;k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4);q=(k[o>>2]|0)+15|0;i[q>>0]=l[q>>0]|1;k[m>>2]=1}else{k[m>>2]=k[k[t>>2]>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[m>>2]|0))break a;f=uy(k[(k[(k[t>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=f;MH(k[n>>2]|0);b:do if((l[k[n>>2]>>0]|0)==55){k[q>>2]=k[(k[n>>2]|0)+8>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[p>>2]|0)+34>>1]|0))break b;f=(sg(k[q>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)==0;d=k[h>>2]|0;if(f)break;k[h>>2]=d+1}k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(d<<4);f=(k[o>>2]|0)+15|0;i[f>>0]=l[f>>0]|1}while(0);k[g>>2]=(k[g>>2]|0)+1}}while(0);if((k[m>>2]|0)==1&(k[o>>2]|0)!=0?(q=(sg(Fi(k[o>>2]|0,18402)|0,18759)|0)==0,q&(k[w>>2]|0)!=1):0){j[(k[p>>2]|0)+32>>1]=k[h>>2];i[(k[p>>2]|0)+43>>0]=k[u>>2];x=(k[p>>2]|0)+42|0;i[x>>0]=l[x>>0]|k[v>>2]<<3;if(!(k[t>>2]|0)){w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}i[(k[s>>2]|0)+408>>0]=i[(k[(k[t>>2]|0)+4>>2]|0)+12>>0]|0;w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}d=k[s>>2]|0;if(k[v>>2]|0){Oh(d,36948,x);w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}else{Sv(d,0,0,0,k[t>>2]|0,k[u>>2]|0,0,0,k[w>>2]|0,0,2);k[t>>2]=0;w=k[s>>2]|0;w=k[w>>2]|0;x=k[t>>2]|0;ov(w,x);r=y;return}}function Sv(a,b,c,d,e,f,g,h,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;var q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=r;r=r+352|0;ga=za+112|0;fa=za+88|0;ea=za+72|0;da=za+64|0;ca=za+56|0;C=za+48|0;ba=za+40|0;B=za+32|0;A=za+24|0;E=za+16|0;D=za+8|0;z=za;G=za+332|0;q=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;I=za+308|0;va=za+304|0;t=za+300|0;J=za+296|0;H=za+336|0;qa=za+292|0;xa=za+288|0;ya=za+284|0;S=za+280|0;K=za+276|0;M=za+272|0;y=za+248|0;$=za+240|0;wa=za+236|0;V=za+232|0;oa=za+228|0;Y=za+224|0;X=za+220|0;Q=za+216|0;R=za+212|0;la=za+208|0;Z=za+204|0;u=za+200|0;w=za+196|0;F=za+192|0;x=za+184|0;v=za+180|0;T=za+176|0;_=za+172|0;ka=za+168|0;U=za+164|0;P=za+160|0;ha=za+156|0;W=za+152|0;N=za+148|0;ia=za+144|0;ja=za+140|0;pa=za+136|0;aa=za+132|0;ma=za+128|0;L=za+124|0;O=za+120|0;ra=za+116|0;k[G>>2]=a;k[q>>2]=b;k[s>>2]=c;k[ta>>2]=d;k[ua>>2]=e;k[na>>2]=f;k[I>>2]=g;k[va>>2]=h;k[t>>2]=n;k[J>>2]=o;i[H>>0]=p;k[qa>>2]=0;k[xa>>2]=0;k[ya>>2]=0;k[wa>>2]=k[k[G>>2]>>2];k[Y>>2]=0;k[Q>>2]=0;k[la>>2]=0;k[Z>>2]=0;a:do if((l[(k[wa>>2]|0)+69>>0]|0)==0?(k[(k[G>>2]|0)+36>>2]|0)<=0:0){if((l[(k[G>>2]|0)+410>>0]|0)!=0?(l[H>>0]|0)!=2:0)break;if(!(Uz(k[G>>2]|0)|0)){p=k[G>>2]|0;if(k[ta>>2]|0){q=Yz(p,k[q>>2]|0,k[s>>2]|0,Y)|0;k[oa>>2]=q;if((k[oa>>2]|0)<0)break;if(((i[(k[wa>>2]|0)+148+5>>0]|0)==0?(q=lC(k[G>>2]|0,k[ta>>2]|0)|0,k[qa>>2]=q,(k[qa>>2]|0)!=0?(k[(k[s>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[qa>>2]|0)+64>>2]|0)==(k[(k[(k[wa>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[oa>>2]=1;mC(y,k[G>>2]|0,k[oa>>2]|0,33158,k[Y>>2]|0);nC(y,k[ta>>2]|0)|0;y=zx(k[G>>2]|0,0,(k[ta>>2]|0)+8|0)|0;k[qa>>2]=y;if(!(k[qa>>2]|0))break;if((k[oa>>2]|0)==1?(k[(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4)+12>>2]|0)!=(k[(k[qa>>2]|0)+64>>2]|0):0){sa=k[G>>2]|0;k[z>>2]=k[k[qa>>2]>>2];Oh(sa,36473,z);break}if(l[(k[qa>>2]|0)+42>>0]&32){z=Tj(k[qa>>2]|0)|0;k[Z>>2]=z}}else{k[qa>>2]=k[p+440>>2];if(!(k[qa>>2]|0))break;z=Ph(k[wa>>2]|0,k[(k[qa>>2]|0)+64>>2]|0)|0;k[oa>>2]=z}k[V>>2]=(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4);if(((Jd(k[k[qa>>2]>>2]|0,27844,7)|0)==0?(l[(k[wa>>2]|0)+148+5>>0]|0)==0:0)?(Jd((k[k[qa>>2]>>2]|0)+7|0,36523,9)|0)!=0:0){sa=k[G>>2]|0;k[D>>2]=k[k[qa>>2]>>2];Oh(sa,36533,D);break}if(k[(k[qa>>2]|0)+12>>2]|0){Oh(k[G>>2]|0,36561,E);break}if(l[(k[qa>>2]|0)+42>>0]&16){Oh(k[G>>2]|0,36586,A);break}if(k[Y>>2]|0){E=bx(k[wa>>2]|0,k[Y>>2]|0)|0;k[ya>>2]=E;if(!(k[ya>>2]|0))break;if(ay(k[G>>2]|0,k[ya>>2]|0)|0)break;if((i[(k[wa>>2]|0)+148+5>>0]|0)==0?(Di(k[wa>>2]|0,k[ya>>2]|0,0)|0)!=0:0){sa=k[G>>2]|0;k[B>>2]=k[ya>>2];Oh(sa,36620,B);break}if(Uj(k[wa>>2]|0,k[ya>>2]|0,k[k[V>>2]>>2]|0)|0){p=k[G>>2]|0;if(k[J>>2]|0){Cx(p,k[oa>>2]|0);break}else{k[ba>>2]=k[ya>>2];Oh(p,36654,ba);break}}}else{k[w>>2]=k[(k[qa>>2]|0)+8>>2];k[u>>2]=1;while(1){if(!(k[w>>2]|0))break;k[w>>2]=k[(k[w>>2]|0)+20>>2];k[u>>2]=(k[u>>2]|0)+1}ba=k[wa>>2]|0;J=k[u>>2]|0;k[C>>2]=k[k[qa>>2]>>2];k[C+4>>2]=J;ba=Qh(ba,36678,C)|0;k[ya>>2]=ba;if(!(k[ya>>2]|0))break;if(i[(k[G>>2]|0)+410>>0]|0){ba=(k[ya>>2]|0)+7|0;i[ba>>0]=(i[ba>>0]|0)+1<<24>>24}}k[F>>2]=k[k[V>>2]>>2];if((kx(k[G>>2]|0,18,(k[oa>>2]|0)==1?19905:19924,0,k[F>>2]|0)|0)==0?(k[K>>2]=1,k[K>>2]=(k[oa>>2]|0)==1?3:1,(kx(k[G>>2]|0,k[K>>2]|0,k[ya>>2]|0,k[k[qa>>2]>>2]|0,k[F>>2]|0)|0)==0):0){if(!(k[ua>>2]|0)){fz(x,k[(k[(k[qa>>2]|0)+4>>2]|0)+((j[(k[qa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);ba=k[G>>2]|0;ba=bw(ba,0,tw(k[wa>>2]|0,55,x,0)|0)|0;k[ua>>2]=ba;if(!(k[ua>>2]|0))break;kw(k[ua>>2]|0,k[t>>2]|0)}else nw(k[G>>2]|0,k[ua>>2]|0,33158);k[K>>2]=0;while(1){if((k[K>>2]|0)>=(k[k[ua>>2]>>2]|0))break;k[v>>2]=k[(k[(k[ua>>2]|0)+4>>2]|0)+((k[K>>2]|0)*20|0)>>2];if((l[k[v>>2]>>0]|0)==53){ba=1+(Tf(k[(k[v>>2]|0)+8>>2]|0)|0)|0;k[Q>>2]=(k[Q>>2]|0)+ba}k[K>>2]=(k[K>>2]|0)+1}ba=Tf(k[ya>>2]|0)|0;k[S>>2]=ba;if(k[Z>>2]|0)p=m[(k[Z>>2]|0)+50>>1]|0;else p=1;k[R>>2]=p;ba=uE(k[wa>>2]|0,(k[k[ua>>2]>>2]|0)+(k[R>>2]|0)&65535,(k[S>>2]|0)+(k[Q>>2]|0)+1|0,la)|0;k[xa>>2]=ba;if(!(i[(k[wa>>2]|0)+69>>0]|0)){k[k[xa>>2]>>2]=k[la>>2];k[la>>2]=(k[la>>2]|0)+((k[S>>2]|0)+1);bS(k[k[xa>>2]>>2]|0,k[ya>>2]|0,(k[S>>2]|0)+1|0)|0;k[(k[xa>>2]|0)+12>>2]=k[qa>>2];i[(k[xa>>2]|0)+54>>0]=k[na>>2];ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-9|((k[na>>2]|0)!=0&1)<<3&255;ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-4|l[H>>0]&3;k[(k[xa>>2]|0)+24>>2]=k[(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4)+12>>2];j[(k[xa>>2]|0)+50>>1]=k[k[ua>>2]>>2];if(k[va>>2]|0){LH(k[G>>2]|0,k[qa>>2]|0,2,k[va>>2]|0,0);k[(k[xa>>2]|0)+36>>2]=k[va>>2];k[va>>2]=0}if((l[(k[(k[V>>2]|0)+12>>2]|0)+76>>0]|0)>=4)k[$>>2]=-1;else k[$>>2]=0;k[K>>2]=0;k[X>>2]=k[(k[ua>>2]|0)+4>>2];while(1){if((k[K>>2]|0)>=(k[k[ua>>2]>>2]|0))break;MH(k[k[X>>2]>>2]|0);LH(k[G>>2]|0,k[qa>>2]|0,32,k[k[X>>2]>>2]|0,0);if(k[(k[G>>2]|0)+36>>2]|0)break a;ba=uy(k[k[X>>2]>>2]|0)|0;k[T>>2]=ba;if((l[k[T>>2]>>0]|0)!=152){if((k[qa>>2]|0)==(k[(k[G>>2]|0)+440>>2]|0)){sa=68;break}do if(!(k[(k[xa>>2]|0)+40>>2]|0)){ba=_y(k[wa>>2]|0,k[ua>>2]|0,0)|0;k[U>>2]=ba;k[(k[xa>>2]|0)+40>>2]=k[U>>2];if(i[(k[wa>>2]|0)+69>>0]|0)break;k[X>>2]=(k[(k[U>>2]|0)+4>>2]|0)+((k[K>>2]|0)*20|0)}while(0);k[M>>2]=-2;j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=-2;ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-9}else{k[M>>2]=j[(k[T>>2]|0)+32>>1];do if((k[M>>2]|0)<0)k[M>>2]=j[(k[qa>>2]|0)+32>>1];else{if(l[(k[(k[qa>>2]|0)+4>>2]|0)+(k[M>>2]<<4)+12>>0]|0)break;ba=(k[xa>>2]|0)+55|0;i[ba>>0]=i[ba>>0]&-9}while(0);j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=k[M>>2]}k[ka>>2]=0;do if((l[k[k[X>>2]>>2]>>0]|0)==53){k[ka>>2]=k[(k[k[X>>2]>>2]|0)+8>>2];ba=(Tf(k[ka>>2]|0)|0)+1|0;k[P>>2]=ba;bS(k[la>>2]|0,k[ka>>2]|0,k[P>>2]|0)|0;k[ka>>2]=k[la>>2];k[la>>2]=(k[la>>2]|0)+(k[P>>2]|0);k[Q>>2]=(k[Q>>2]|0)-(k[P>>2]|0)}else{if((k[M>>2]|0)<0)break;k[ka>>2]=k[(k[(k[qa>>2]|0)+4>>2]|0)+(k[M>>2]<<4)+8>>2]}while(0);if(!(k[ka>>2]|0))k[ka>>2]=34834;if((i[(k[wa>>2]|0)+148+5>>0]|0)==0?(fA(k[G>>2]|0,k[ka>>2]|0)|0)==0:0)break a;k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2]=k[ka>>2];k[_>>2]=l[(k[X>>2]|0)+12>>0]&k[$>>2];i[(k[(k[xa>>2]|0)+28>>2]|0)+(k[K>>2]|0)>>0]=k[_>>2];k[K>>2]=(k[K>>2]|0)+1;k[X>>2]=(k[X>>2]|0)+20}if((sa|0)==68){Oh(k[G>>2]|0,36701,ca);break}b:do if(k[Z>>2]|0){k[M>>2]=0;while(1){if((k[M>>2]|0)>=(m[(k[Z>>2]|0)+50>>1]|0))break b;k[ha>>2]=j[(k[(k[Z>>2]|0)+4>>2]|0)+(k[M>>2]<<1)>>1];if(NH(k[(k[xa>>2]|0)+4>>2]|0,m[(k[xa>>2]|0)+50>>1]|0,k[ha>>2]|0)|0){la=(k[xa>>2]|0)+52|0;j[la>>1]=(j[la>>1]|0)+-1<<16>>16}else{j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=k[ha>>2];k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2]=k[(k[(k[Z>>2]|0)+32>>2]|0)+(k[M>>2]<<2)>>2];i[(k[(k[xa>>2]|0)+28>>2]|0)+(k[K>>2]|0)>>0]=i[(k[(k[Z>>2]|0)+28>>2]|0)+(k[M>>2]|0)>>0]|0;k[K>>2]=(k[K>>2]|0)+1}k[M>>2]=(k[M>>2]|0)+1}}else{j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1]=-1;k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2]=34834}while(0);Sj(k[xa>>2]|0);if(!(k[(k[G>>2]|0)+440>>2]|0))OH(k[xa>>2]|0);c:do if(k[ta>>2]|0){if((m[(k[xa>>2]|0)+52>>1]|0)<(j[(k[qa>>2]|0)+34>>1]|0))break;la=(k[xa>>2]|0)+55|0;i[la>>0]=i[la>>0]&-33|32;k[M>>2]=0;while(1){if((k[M>>2]|0)>=(j[(k[qa>>2]|0)+34>>1]|0))break c;if((k[M>>2]|0)!=(j[(k[qa>>2]|0)+32>>1]|0)?((YA(k[xa>>2]|0,k[M>>2]&65535)|0)<<16>>16|0)<0:0)break;k[M>>2]=(k[M>>2]|0)+1}la=(k[xa>>2]|0)+55|0;i[la>>0]=i[la>>0]&-33}while(0);d:do if((k[qa>>2]|0)==(k[(k[G>>2]|0)+440>>2]|0)){k[W>>2]=k[(k[qa>>2]|0)+8>>2];while(1){if(!(k[W>>2]|0))break d;if((m[(k[W>>2]|0)+50>>1]|0)==(m[(k[xa>>2]|0)+50>>1]|0)){k[N>>2]=0;while(1){if((k[N>>2]|0)>=(m[(k[W>>2]|0)+50>>1]|0))break;if((j[(k[(k[W>>2]|0)+4>>2]|0)+(k[N>>2]<<1)>>1]|0)!=(j[(k[(k[xa>>2]|0)+4>>2]|0)+(k[N>>2]<<1)>>1]|0))break;k[ia>>2]=k[(k[(k[W>>2]|0)+32>>2]|0)+(k[N>>2]<<2)>>2];k[ja>>2]=k[(k[(k[xa>>2]|0)+32>>2]|0)+(k[N>>2]<<2)>>2];if(sg(k[ia>>2]|0,k[ja>>2]|0)|0)break;k[N>>2]=(k[N>>2]|0)+1}if((k[N>>2]|0)==(m[(k[W>>2]|0)+50>>1]|0))break}k[W>>2]=k[(k[W>>2]|0)+20>>2]}do if((l[(k[W>>2]|0)+54>>0]|0)!=(l[(k[xa>>2]|0)+54>>0]|0)){do if((l[(k[W>>2]|0)+54>>0]|0)!=10){if((l[(k[xa>>2]|0)+54>>0]|0)==10)break;sa=k[G>>2]|0;k[da>>2]=0;Oh(sa,36762,da)}while(0);if((l[(k[W>>2]|0)+54>>0]|0)!=10)break;i[(k[W>>2]|0)+54>>0]=i[(k[xa>>2]|0)+54>>0]|0}while(0);if((l[H>>0]|0)!=2)break a;sa=(k[W>>2]|0)+55|0;i[sa>>0]=i[sa>>0]&-4|l[H>>0]&3;break a}while(0);do if(i[(k[wa>>2]|0)+148+5>>0]|0){p=ck((k[(k[xa>>2]|0)+24>>2]|0)+24|0,k[k[xa>>2]>>2]|0,k[xa>>2]|0)|0;k[pa>>2]=p;p=k[wa>>2]|0;if(k[pa>>2]|0){wh(p);break a}pa=p+24|0;k[pa>>2]=k[pa>>2]|2;if(!(k[ta>>2]|0))break;k[(k[xa>>2]|0)+44>>2]=k[(k[wa>>2]|0)+148>>2]}else{if(!((k[ta>>2]|0)!=0?1:(l[(k[qa>>2]|0)+42>>0]&32|0)==0))break;la=(k[G>>2]|0)+44|0;pa=(k[la>>2]|0)+1|0;k[la>>2]=pa;k[L>>2]=pa;pa=nx(k[G>>2]|0)|0;k[aa>>2]=pa;if(!(k[aa>>2]|0))break a;Bx(k[G>>2]|0,1,k[oa>>2]|0);pa=px(k[aa>>2]|0,161)|0;k[(k[xa>>2]|0)+44>>2]=pa;sx(k[aa>>2]|0,134,k[oa>>2]|0,k[L>>2]|0)|0;if(k[I>>2]|0){k[O>>2]=(k[(k[G>>2]|0)+392>>2]|0)-(k[k[Y>>2]>>2]|0)+(k[(k[G>>2]|0)+392+4>>2]|0);if((i[(k[k[Y>>2]>>2]|0)+((k[O>>2]|0)-1)>>0]|0)==59)k[O>>2]=(k[O>>2]|0)+-1;pa=k[wa>>2]|0;ka=k[O>>2]|0;la=k[k[Y>>2]>>2]|0;k[ea>>2]=(k[na>>2]|0)==0?18402:36804;k[ea+4>>2]=ka;k[ea+8>>2]=la;pa=Qh(pa,36812,ea)|0;k[ma>>2]=pa}else k[ma>>2]=0;pa=k[G>>2]|0;ha=(k[oa>>2]|0)==1?19905:19924;ia=k[k[xa>>2]>>2]|0;ja=k[k[qa>>2]>>2]|0;ka=k[L>>2]|0;la=k[ma>>2]|0;k[fa>>2]=k[(k[(k[wa>>2]|0)+16>>2]|0)+(k[oa>>2]<<4)>>2];k[fa+4>>2]=ha;k[fa+8>>2]=ia;k[fa+12>>2]=ja;k[fa+16>>2]=ka;k[fa+20>>2]=la;mx(pa,36832,fa);bg(k[wa>>2]|0,k[ma>>2]|0);if(k[ta>>2]|0){wA(k[G>>2]|0,k[xa>>2]|0,k[L>>2]|0);ox(k[G>>2]|0,k[oa>>2]|0);ma=k[aa>>2]|0;oa=k[oa>>2]|0;pa=k[wa>>2]|0;k[ga>>2]=k[k[xa>>2]>>2];qx(ma,oa,Qh(pa,36880,ga)|0);px(k[aa>>2]|0,150)|0}hA(k[aa>>2]|0,k[(k[xa>>2]|0)+44>>2]|0)}while(0);if(!((k[ta>>2]|0)==0?1:(l[(k[wa>>2]|0)+148+5>>0]|0)!=0))break;do if((k[na>>2]|0)!=5)sa=143;else{if(!(k[(k[qa>>2]|0)+8>>2]|0)){sa=143;break}if((l[(k[(k[qa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}k[ra>>2]=k[(k[qa>>2]|0)+8>>2];while(1){if(k[(k[ra>>2]|0)+20>>2]|0)o=(l[(k[(k[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else o=0;p=k[(k[ra>>2]|0)+20>>2]|0;if(!o)break;k[ra>>2]=p}k[(k[xa>>2]|0)+20>>2]=p;k[(k[ra>>2]|0)+20>>2]=k[xa>>2]}while(0);if((sa|0)==143){k[(k[xa>>2]|0)+20>>2]=k[(k[qa>>2]|0)+8>>2];k[(k[qa>>2]|0)+8>>2]=k[xa>>2]}k[xa>>2]=0}}}}while(0);if(!(k[xa>>2]|0)){sa=k[wa>>2]|0;xa=k[va>>2]|0;sv(sa,xa);xa=k[wa>>2]|0;va=k[ua>>2]|0;ov(xa,va);va=k[wa>>2]|0;xa=k[ta>>2]|0;rv(va,xa);xa=k[wa>>2]|0;ya=k[ya>>2]|0;bg(xa,ya);r=za;return}PH(k[wa>>2]|0,k[xa>>2]|0);sa=k[wa>>2]|0;xa=k[va>>2]|0;sv(sa,xa);xa=k[wa>>2]|0;va=k[ua>>2]|0;ov(xa,va);va=k[wa>>2]|0;xa=k[ta>>2]|0;rv(va,xa);xa=k[wa>>2]|0;ya=k[ya>>2]|0;bg(xa,ya);r=za;return}function Tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+440>>2];k[e>>2]=k[k[c>>2]>>2];if(((k[f>>2]|0)!=0?(i[(k[c>>2]|0)+410>>0]|0)==0:0)?(Ti(k[(k[(k[e>>2]|0)+16>>2]|0)+(l[(k[e>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){a=bw(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,k[d>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;if(!(k[(k[c>>2]|0)+84+4>>2]|0)){r=g;return}cw(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[c>>2]|0)+84|0,1);r=g;return}sv(k[k[c>>2]>>2]|0,k[d>>2]|0);r=g;return}function Uv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;B=E+16|0;n=E+8|0;m=E;o=E+80|0;p=E+76|0;f=E+72|0;q=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;h=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;g=E+28|0;v=E+24|0;w=E+20|0;k[o>>2]=a;k[p>>2]=b;k[f>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=k[k[o>>2]>>2];k[z>>2]=0;k[y>>2]=k[(k[o>>2]|0)+440>>2];a:do if((k[y>>2]|0)!=0?(l[(k[o>>2]|0)+410>>0]|0)==0:0){if(!(k[p>>2]|0)){k[g>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;if((k[g>>2]|0)<0)break;if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=1:0){D=k[o>>2]|0;C=k[f>>2]|0;k[m>>2]=k[(k[(k[y>>2]|0)+4>>2]|0)+(k[g>>2]<<4)>>2];k[m+4>>2]=C;Oh(D,36270,m);break}k[x>>2]=1}else{if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[p>>2]>>2]|0):0){Oh(k[o>>2]|0,36333,n);break}k[x>>2]=k[k[p>>2]>>2]}k[h>>2]=44+((k[x>>2]|0)-1<<3)+(k[(k[f>>2]|0)+4>>2]|0)+1;b:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[q>>2]>>2]|0))break b;n=(Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;k[h>>2]=(k[h>>2]|0)+n;k[u>>2]=(k[u>>2]|0)+1}}while(0);n=k[h>>2]|0;n=Ch(k[t>>2]|0,n,((n|0)<0)<<31>>31)|0;k[z>>2]=n;if(k[z>>2]|0){k[k[z>>2]>>2]=k[y>>2];k[(k[z>>2]|0)+4>>2]=k[(k[y>>2]|0)+16>>2];k[C>>2]=(k[z>>2]|0)+36+(k[x>>2]<<3);k[(k[z>>2]|0)+8>>2]=k[C>>2];bS(k[C>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[C>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;hx(k[C>>2]|0);k[C>>2]=(k[C>>2]|0)+((k[(k[f>>2]|0)+4>>2]|0)+1);k[(k[z>>2]|0)+20>>2]=k[x>>2];c:do if(!(k[p>>2]|0))k[(k[z>>2]|0)+36>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;else{k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break c;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;n=(sg(k[(k[(k[y>>2]|0)+4>>2]|0)+(k[v>>2]<<4)>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)==0;f=k[v>>2]|0;if(n){D=25;break}k[v>>2]=f+1}if((D|0)==25){D=0;k[(k[z>>2]|0)+36+(k[u>>2]<<3)>>2]=f}if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;k[u>>2]=(k[u>>2]|0)+1}D=k[o>>2]|0;k[B>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2];Oh(D,36427,B);break a}while(0);d:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break d;D=Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0;k[w>>2]=D;k[(k[z>>2]|0)+36+(k[u>>2]<<3)+4>>2]=k[C>>2];bS(k[C>>2]|0,k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0,k[w>>2]|0)|0;i[(k[C>>2]|0)+(k[w>>2]|0)>>0]=0;k[C>>2]=(k[C>>2]|0)+((k[w>>2]|0)+1);k[u>>2]=(k[u>>2]|0)+1}}while(0);i[(k[z>>2]|0)+24>>0]=0;i[(k[z>>2]|0)+25>>0]=k[s>>2];i[(k[z>>2]|0)+25+1>>0]=k[s>>2]>>8;D=ck((k[(k[y>>2]|0)+64>>2]|0)+56|0,k[(k[z>>2]|0)+8>>2]|0,k[z>>2]|0)|0;k[A>>2]=D;if((k[A>>2]|0)==(k[z>>2]|0)){wh(k[t>>2]|0);break}if(k[A>>2]|0){k[(k[z>>2]|0)+12>>2]=k[A>>2];k[(k[A>>2]|0)+16>>2]=k[z>>2]}k[(k[y>>2]|0)+16>>2]=k[z>>2];k[z>>2]=0}}while(0);bg(k[t>>2]|0,k[z>>2]|0);ov(k[t>>2]|0,k[p>>2]|0);ov(k[t>>2]|0,k[q>>2]|0);r=E;return}function Vv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=k[(k[g>>2]|0)+440>>2]|0;k[e>>2]=a;if(!a){r=f;return}g=k[(k[e>>2]|0)+16>>2]|0;k[d>>2]=g;if(!g){r=f;return}i[(k[d>>2]|0)+24>>0]=k[c>>2];r=f;return}function Wv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;g=l+16|0;f=l+12|0;i=l+8|0;e=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;b=k[(k[c>>2]|0)+440>>2]|0;k[g>>2]=b;if(!b){r=l;return}k[f>>2]=(j[(k[g>>2]|0)+34>>1]|0)-1;k[e>>2]=k[k[c>>2]>>2];b=bx(k[e>>2]|0,k[d>>2]|0)|0;k[i>>2]=b;if(!(k[i>>2]|0)){r=l;return}b=(fA(k[c>>2]|0,k[i>>2]|0)|0)!=0;c=k[e>>2]|0;if(!b){bg(c,k[i>>2]|0);r=l;return}bg(c,k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]|0);k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]=k[i>>2];k[h>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[k[(k[h>>2]|0)+4>>2]>>1]|0)==(k[f>>2]|0))k[k[(k[h>>2]|0)+32>>2]>>2]=k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=l;return}function Xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;t=x+16|0;s=x+8|0;q=x;e=x+64|0;f=x+60|0;g=x+56|0;h=x+52|0;o=x+48|0;p=x+44|0;m=x+40|0;n=x+36|0;j=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=k[k[e>>2]>>2];do if((i[(k[m>>2]|0)+69>>0]|0)==0?(Uz(k[e>>2]|0)|0)==0:0){if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}a=zx(k[e>>2]|0,k[g>>2]|0,(k[f>>2]|0)+8|0)|0;k[o>>2]=a;if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}if(!(k[o>>2]|0)){if(!(k[h>>2]|0))break;hC(k[e>>2]|0,k[(k[f>>2]|0)+8+4>>2]|0);break}a=Ph(k[m>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[n>>2]=a;if((l[(k[o>>2]|0)+42>>0]&16|0)!=0?(by(k[e>>2]|0,k[o>>2]|0)|0)!=0:0)break;k[w>>2]=(k[n>>2]|0)==1?19905:19924;k[v>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2];k[u>>2]=0;if(!(kx(k[e>>2]|0,9,k[w>>2]|0,0,k[v>>2]|0)|0)){do if(k[g>>2]|0)if((k[n>>2]|0)==1){k[j>>2]=15;break}else{k[j>>2]=17;break}else{if(l[(k[o>>2]|0)+42>>0]&16){k[j>>2]=30;w=(cy(k[m>>2]|0,k[o>>2]|0)|0)+4|0;k[u>>2]=k[(k[w>>2]|0)+4>>2];break}if((k[n>>2]|0)==1){k[j>>2]=13;break}else{k[j>>2]=11;break}}while(0);if((kx(k[e>>2]|0,k[j>>2]|0,k[k[o>>2]>>2]|0,k[u>>2]|0,k[v>>2]|0)|0)==0?(kx(k[e>>2]|0,9,k[k[o>>2]>>2]|0,0,k[v>>2]|0)|0)==0:0){if((Jd(k[k[o>>2]>>2]|0,27844,7)|0)==0?(Jd(k[k[o>>2]>>2]|0,36063,11)|0)!=0:0){w=k[e>>2]|0;k[q>>2]=k[k[o>>2]>>2];Oh(w,36075,q);break}if((k[g>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)==0:0){w=k[e>>2]|0;k[s>>2]=k[k[o>>2]>>2];Oh(w,36103,s);break}if((k[g>>2]|0)==0?(k[(k[o>>2]|0)+12>>2]|0)!=0:0){w=k[e>>2]|0;k[t>>2]=k[k[o>>2]>>2];Oh(w,36137,t);break}w=nx(k[e>>2]|0)|0;k[p>>2]=w;if(k[p>>2]|0){Bx(k[e>>2]|0,1,k[n>>2]|0);_C(k[e>>2]|0,k[n>>2]|0,30858,k[k[o>>2]>>2]|0);GH(k[e>>2]|0,k[f>>2]|0,k[o>>2]|0);HH(k[e>>2]|0,k[o>>2]|0,k[n>>2]|0,k[g>>2]|0)}}}}while(0);rv(k[m>>2]|0,k[f>>2]|0);r=x;return}function Yv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+96|0;w=D+88|0;m=D+84|0;n=D+80|0;o=D+76|0;x=D+72|0;y=D+68|0;p=D+64|0;q=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;k[w>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[x>>2]=e;k[y>>2]=f;k[p>>2]=g;k[q>>2]=h;k[u>>2]=0;k[z>>2]=k[k[w>>2]>>2];g=k[w>>2]|0;if((j[(k[w>>2]|0)+400>>1]|0)<=0){Jv(g,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1,0,k[q>>2]|0);k[t>>2]=k[(k[w>>2]|0)+440>>2];if((((k[t>>2]|0)!=0?(k[(k[w>>2]|0)+36>>2]|0)==0:0)?(Yz(k[w>>2]|0,k[n>>2]|0,k[o>>2]|0,u)|0,q=Ph(k[z>>2]|0,k[(k[t>>2]|0)+64>>2]|0)|0,k[s>>2]=q,mC(v,k[w>>2]|0,k[s>>2]|0,36058,k[u>>2]|0),(oC(v,k[y>>2]|0)|0)==0):0)?(v=iy(k[z>>2]|0,k[y>>2]|0,1)|0,k[(k[t>>2]|0)+12>>2]=v,v=_y(k[z>>2]|0,k[x>>2]|0,1)|0,k[(k[t>>2]|0)+24>>2]=v,(i[(k[z>>2]|0)+69>>0]|0)==0):0){v=(k[w>>2]|0)+392|0;k[B>>2]=k[v>>2];k[B+4>>2]=k[v+4>>2];if((i[k[B>>2]>>0]|0)!=59)k[B>>2]=(k[B>>2]|0)+(k[B+4>>2]|0);k[B+4>>2]=0;k[A>>2]=(k[B>>2]|0)-(k[k[m>>2]>>2]|0);k[C>>2]=k[k[m>>2]>>2];while(1){g=k[A>>2]|0;if(!(l[18403+(l[(k[C>>2]|0)+((k[A>>2]|0)-1)>>0]|0)>>0]&1))break;k[A>>2]=g+-1}k[B>>2]=(k[C>>2]|0)+(g-1);k[B+4>>2]=1;Lv(k[w>>2]|0,0,B,0,0)}}else Oh(g,36022,D);pv(k[z>>2]|0,k[y>>2]|0);ov(k[z>>2]|0,k[x>>2]|0);r=D;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=r;r=r+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;f=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+260|0;Y=Ca+256|0;da=Ca+252|0;n=Ca+248|0;q=Ca+244|0;g=Ca+240|0;t=Ca+236|0;o=Ca+232|0;e=Ca+208|0;s=Ca+204|0;d=Ca+200|0;v=Ca+196|0;h=Ca+192|0;u=Ca+188|0;p=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;k[O>>2]=a;k[P>>2]=b;k[Q>>2]=c;k[ka>>2]=0;k[ra>>2]=1;k[da>>2]=k[(k[O>>2]|0)+420>>2];c=(k[O>>2]|0)+424|0;a=k[c>>2]|0;k[c>>2]=a+1;k[(k[O>>2]|0)+420>>2]=a;k[Y>>2]=k[k[O>>2]>>2];if(((k[P>>2]|0)!=0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0)?(k[(k[O>>2]|0)+36>>2]|0)==0:0){if(kx(k[O>>2]|0,21,0,0,0)|0){k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}b=wa;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if((l[k[Q>>2]>>0]|0)<=8){ov(k[Y>>2]|0,k[(k[P>>2]|0)+44>>2]|0);k[(k[P>>2]|0)+44>>2]=0;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]&-2}wy(k[O>>2]|0,k[P>>2]|0,0);k[ya>>2]=0;k[ya+4>>2]=0;k[ya+8>>2]=0;k[ya+12>>2]=0;k[ya+16>>2]=0;k[ya+20>>2]=0;k[ya+24>>2]=0;k[ya+28>>2]=0;k[ya>>2]=k[(k[P>>2]|0)+44>>2];k[oa>>2]=k[(k[P>>2]|0)+28>>2];a:do if((k[(k[O>>2]|0)+36>>2]|0)==0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0){k[f>>2]=(k[(k[P>>2]|0)+8>>2]&8|0)!=0&1;k[_>>2]=0;while(1){if(k[(k[P>>2]|0)+48>>2]|0)break;if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[n>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[q>>2]=k[(k[n>>2]|0)+20>>2];k[t>>2]=k[(k[n>>2]|0)+16>>2];if(k[q>>2]|0){if((j[(k[t>>2]|0)+34>>1]|0)!=(k[k[k[q>>2]>>2]>>2]|0)){y=16;break}k[g>>2]=(k[(k[q>>2]|0)+8>>2]&8|0)!=0&1;if(OG(k[O>>2]|0,k[P>>2]|0,k[_>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){if(k[g>>2]|0){k[f>>2]=1;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]|8}k[_>>2]=-1}k[oa>>2]=k[(k[P>>2]|0)+28>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break a;if((l[k[Q>>2]>>0]|0)>8)k[ya>>2]=k[(k[P>>2]|0)+44>>2]}k[_>>2]=(k[_>>2]|0)+1}if((y|0)==16){Ba=k[O>>2]|0;za=k[k[t>>2]>>2]|0;Aa=k[k[k[q>>2]>>2]>>2]|0;k[w>>2]=j[(k[t>>2]|0)+34>>1];k[w+4>>2]=za;k[w+8>>2]=Aa;Oh(Ba,35609,w);break}w=nx(k[O>>2]|0)|0;k[Ba>>2]=w;if(k[Ba>>2]|0){if(k[(k[P>>2]|0)+48>>2]|0){Ba=PG(k[O>>2]|0,k[P>>2]|0,k[Q>>2]|0)|0;k[ra>>2]=Ba;k[(k[O>>2]|0)+420>>2]=k[da>>2];k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[o>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[s>>2]=k[(k[o>>2]|0)+20>>2];do if(k[s>>2]|0){if(k[(k[o>>2]|0)+24>>2]|0){if((l[(k[o>>2]|0)+36+1>>0]|0)>>>4&1)break;sx(k[Ba>>2]|0,14,k[(k[o>>2]|0)+28>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;break}t=QG(k[P>>2]|0)|0;w=(k[O>>2]|0)+416|0;k[w>>2]=(k[w>>2]|0)+t;if(!(l[(k[o>>2]|0)+36>>0]&32))RG(k[Y>>2]|0,k[s>>2]|0,k[(k[P>>2]|0)+32>>2]|0,k[(k[o>>2]|0)+44>>2]|0)|0;do if(!(k[_>>2]|0)){if((k[k[oa>>2]>>2]|0)!=1?(l[(k[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=42;break}if(k[(k[P>>2]|0)+8>>2]&2){y=42;break}if(m[(k[Y>>2]|0)+64>>1]&256){y=42;break}t=(Gx(k[Ba>>2]|0)|0)+1|0;k[d>>2]=t;t=(k[O>>2]|0)+44|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;tx(k[Ba>>2]|0,15,k[(k[o>>2]|0)+28>>2]|0,0,k[d>>2]|0)|0;k[(k[o>>2]|0)+24>>2]=k[d>>2];FB(e,13,k[(k[o>>2]|0)+28>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+424>>2];Zv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;w=(k[o>>2]|0)+36+1|0;i[w>>0]=i[w>>0]&-17|16;k[(k[o>>2]|0)+32>>2]=k[e+12>>2];gD(k[Ba>>2]|0,k[(k[o>>2]|0)+28>>2]|0);hA(k[Ba>>2]|0,(k[d>>2]|0)-1|0);SG(k[O>>2]|0)}else y=42;while(0);if((y|0)==42){y=0;k[h>>2]=0;t=(k[O>>2]|0)+44|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;w=sx(k[Ba>>2]|0,76,0,k[(k[o>>2]|0)+28>>2]|0)|0;k[v>>2]=w;k[(k[o>>2]|0)+24>>2]=(k[v>>2]|0)+1;if(!((l[(k[o>>2]|0)+36+1>>0]|0)>>>3&1)){w=px(k[Ba>>2]|0,20)|0;k[h>>2]=w}FB(e,12,k[(k[o>>2]|0)+44>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+424>>2];Zv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;if(k[h>>2]|0)hA(k[Ba>>2]|0,k[h>>2]|0);w=aA(k[Ba>>2]|0,72,k[(k[o>>2]|0)+28>>2]|0)|0;k[u>>2]=w;gE(k[Ba>>2]|0,k[v>>2]|0,k[u>>2]|0);SG(k[O>>2]|0)}if(i[(k[Y>>2]|0)+69>>0]|0)break a;t=QG(k[P>>2]|0)|0;w=(k[O>>2]|0)+416|0;k[w>>2]=(k[w>>2]|0)-t}while(0);k[_>>2]=(k[_>>2]|0)+1}k[ka>>2]=k[k[P>>2]>>2];k[L>>2]=k[(k[P>>2]|0)+32>>2];k[la>>2]=k[(k[P>>2]|0)+36>>2];k[ma>>2]=k[(k[P>>2]|0)+40>>2];i[xa>>0]=(k[(k[P>>2]|0)+8>>2]&1|0)!=0;if((k[(k[P>>2]|0)+8>>2]&9|0)==1?(Vy(k[ya>>2]|0,k[ka>>2]|0,-1)|0)==0:0){y=(k[P>>2]|0)+8|0;k[y>>2]=k[y>>2]&-2;y=_y(k[Y>>2]|0,k[ka>>2]|0,0)|0;k[(k[P>>2]|0)+36>>2]=y;k[la>>2]=y}if(k[ya>>2]|0){w=TG(k[O>>2]|0,k[ya>>2]|0,0,k[k[ka>>2]>>2]|0)|0;k[p>>2]=w;w=(k[O>>2]|0)+40|0;y=k[w>>2]|0;k[w>>2]=y+1;k[ya+8>>2]=y;y=wx(k[Ba>>2]|0,107,k[ya+8>>2]|0,(k[k[ya>>2]>>2]|0)+1+(k[k[ka>>2]>>2]|0)|0,0,k[p>>2]|0,-6)|0;k[ya+20>>2]=y}else k[ya+20>>2]=-1;if((l[k[Q>>2]>>0]|0)==12)sx(k[Ba>>2]|0,107,k[(k[Q>>2]|0)+8>>2]|0,k[k[ka>>2]>>2]|0)|0;y=eA(k[Ba>>2]|0)|0;k[ca>>2]=y;j[(k[P>>2]|0)+6>>1]=320;UG(k[O>>2]|0,k[P>>2]|0,k[ca>>2]|0);if((k[(k[P>>2]|0)+12>>2]|0)==0?(k[ya+20>>2]|0)>=0:0){VG(k[Ba>>2]|0,k[ya+20>>2]|0,108);y=ya+28|0;i[y>>0]=l[y>>0]|1}if(k[(k[P>>2]|0)+8>>2]&1){y=(k[O>>2]|0)+40|0;w=k[y>>2]|0;k[y>>2]=w+1;k[xa+4>>2]=w;w=k[Ba>>2]|0;y=k[xa+4>>2]|0;y=wx(w,107,y,0,0,TG(k[O>>2]|0,k[k[P>>2]>>2]|0,0,0)|0,-6)|0;k[xa+8>>2]=y;Th(k[Ba>>2]|0,8);i[xa+1>>0]=3}else i[xa+1>>0]=0;if((k[f>>2]|0)==0&(k[la>>2]|0)==0){j[x>>1]=(l[xa>>0]|0)!=0?256:0;j[x>>1]=m[x>>1]|k[(k[P>>2]|0)+8>>2]&16384;Aa=AD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[ya>>2]|0,k[k[P>>2]>>2]|0,j[x>>1]|0,j[(k[P>>2]|0)+6>>1]|0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0))break;Aa=(WG(k[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(j[(k[P>>2]|0)+6>>1]|0)){Aa=WG(k[pa>>2]|0)|0;j[(k[P>>2]|0)+6>>1]=Aa}do if(l[xa>>0]|0){if(!(XG(k[pa>>2]|0)|0))break;Aa=(XG(k[pa>>2]|0)|0)&255;i[xa+1>>0]=Aa}while(0);do if(k[ya>>2]|0){Aa=YG(k[pa>>2]|0)|0;k[ya+4>>2]=Aa;Aa=(ZG(k[pa>>2]|0)|0)&255;i[ya+29>>0]=Aa;if((k[ya+4>>2]|0)!=(k[k[ya>>2]>>2]|0))break;k[ya>>2]=0}while(0);do if((k[ya+20>>2]|0)>=0){if(k[ya>>2]|0)break;RA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ta=k[O>>2]|0;ua=k[P>>2]|0;va=k[ka>>2]|0;za=k[Q>>2]|0;Aa=_G(k[pa>>2]|0)|0;aH(ta,ua,va,-1,ya,xa,za,Aa,$G(k[pa>>2]|0)|0);BD(k[pa>>2]|0)}else{k[Aa>>2]=0;k[za>>2]=0;k[ia>>2]=0;b=k[P>>2]|0;do if(k[la>>2]|0){k[z>>2]=k[k[b>>2]>>2];k[A>>2]=k[(k[k[P>>2]>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}k[z>>2]=k[k[la>>2]>>2];k[A>>2]=k[(k[la>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}if((j[(k[P>>2]|0)+6>>1]|0)<=66)break;j[(k[P>>2]|0)+6>>1]=66}else j[b+6>>1]=0;while(0);if(!(Vy(k[la>>2]|0,k[ya>>2]|0,-1)|0))k[ia>>2]=1;A=eA(k[Ba>>2]|0)|0;k[S>>2]=A;k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;k[M+24>>2]=0;k[M+28>>2]=0;k[M>>2]=k[O>>2];k[M+4>>2]=k[oa>>2];k[M+12>>2]=wa;k[wa+16>>2]=(k[(k[O>>2]|0)+44>>2]|0)+1;if(k[la>>2]|0)b=k[k[la>>2]>>2]|0;else b=0;k[wa+12>>2]=b;k[wa+24>>2]=k[la>>2];bH(M,k[ka>>2]|0);bH(M,k[ya>>2]|0);if(k[ma>>2]|0)cH(M,k[ma>>2]|0);k[wa+36>>2]=k[wa+32>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+44>>2]|0))break;A=M+28|0;j[A>>1]=m[A>>1]|8;bH(M,k[(k[(k[wa+40>>2]|0)+(k[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;j[A>>1]=m[A>>1]&-9;k[_>>2]=(k[_>>2]|0)+1}k[wa+20>>2]=k[(k[O>>2]|0)+44>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;if(k[la>>2]|0){K=(k[O>>2]|0)+40|0;M=k[K>>2]|0;k[K>>2]=M+1;k[wa+4>>2]=M;M=TG(k[O>>2]|0,k[la>>2]|0,0,k[wa+32>>2]|0)|0;k[na>>2]=M;M=wx(k[Ba>>2]|0,108,k[wa+4>>2]|0,k[wa+12>>2]|0,0,k[na>>2]|0,-6)|0;k[W>>2]=M;M=(k[O>>2]|0)+44|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ea>>2]=K;K=(k[O>>2]|0)+44|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[aa>>2]=M;M=(k[O>>2]|0)+44|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ta>>2]=K;K=eA(k[Ba>>2]|0)|0;k[T>>2]=K;K=(k[O>>2]|0)+44|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[va>>2]=M;M=eA(k[Ba>>2]|0)|0;k[U>>2]=M;k[$>>2]=(k[(k[O>>2]|0)+44>>2]|0)+1;M=(k[O>>2]|0)+44|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);k[ba>>2]=(k[(k[O>>2]|0)+44>>2]|0)+1;M=(k[O>>2]|0)+44|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);sx(k[Ba>>2]|0,76,0,k[aa>>2]|0)|0;sx(k[Ba>>2]|0,76,0,k[ea>>2]|0)|0;tx(k[Ba>>2]|0,79,0,k[$>>2]|0,(k[$>>2]|0)+(k[k[la>>2]>>2]|0)-1|0)|0;sx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;M=AD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[la>>2]|0,0,(64|((k[ia>>2]|0)!=0?512:0))&65535,0)|0;k[pa>>2]=M;if(!(k[pa>>2]|0))break;M=YG(k[pa>>2]|0)|0;if((M|0)==(k[k[la>>2]>>2]|0))k[Z>>2]=0;else{if(l[xa>>0]|0)b=(k[(k[P>>2]|0)+8>>2]&1|0)==0;else b=0;dH(k[O>>2]|0,b?35649:35658);k[Z>>2]=1;k[ha>>2]=k[k[la>>2]>>2];k[ga>>2]=k[ha>>2];k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;if((k[(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0)+12>>2]|0)>=(k[fa>>2]|0)){k[ga>>2]=(k[ga>>2]|0)+1;k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}M=MA(k[O>>2]|0,k[ga>>2]|0)|0;k[sa>>2]=M;OC(k[O>>2]|0);kB(k[O>>2]|0,k[la>>2]|0,k[sa>>2]|0,0,0)|0;k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;k[ja>>2]=(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0);if((k[(k[ja>>2]|0)+12>>2]|0)>=(k[fa>>2]|0)){k[qa>>2]=(k[fa>>2]|0)+(k[sa>>2]|0);fE(k[O>>2]|0,k[k[ja>>2]>>2]|0,k[(k[ja>>2]|0)+8>>2]|0,k[(k[ja>>2]|0)+4>>2]|0,k[qa>>2]|0);k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}qa=Fx(k[O>>2]|0)|0;k[ua>>2]=qa;tx(k[Ba>>2]|0,99,k[sa>>2]|0,k[ga>>2]|0,k[ua>>2]|0)|0;sx(k[Ba>>2]|0,125,k[wa+4>>2]|0,k[ua>>2]|0)|0;Hx(k[O>>2]|0,k[ua>>2]|0);PA(k[O>>2]|0,k[sa>>2]|0,k[ga>>2]|0);BD(k[pa>>2]|0);sa=(k[O>>2]|0)+40|0;ua=k[sa>>2]|0;k[sa>>2]=ua+1;k[Aa>>2]=ua;k[wa+8>>2]=ua;ua=Fx(k[O>>2]|0)|0;k[za>>2]=ua;tx(k[Ba>>2]|0,110,k[Aa>>2]|0,k[za>>2]|0,k[ga>>2]|0)|0;sx(k[Ba>>2]|0,55,k[wa+4>>2]|0,k[S>>2]|0)|0;i[wa+1>>0]=1;OC(k[O>>2]|0)}do if(k[ia>>2]|0){if(m[(k[Y>>2]|0)+64>>1]&4)break;if((k[Z>>2]|0)==0?(eH(k[pa>>2]|0)|0)==0:0)break;k[ya>>2]=0;RA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ua=Gx(k[Ba>>2]|0)|0;k[X>>2]=ua;OC(k[O>>2]|0);if(k[Z>>2]|0)tx(k[Ba>>2]|0,120,k[wa+4>>2]|0,k[za>>2]|0,k[Aa>>2]|0)|0;k[fa>>2]=0;while(1){if((k[fa>>2]|0)>=(k[k[la>>2]>>2]|0))break;if(k[Z>>2]|0)tx(k[Ba>>2]|0,96,k[Aa>>2]|0,k[fa>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)|0;else{i[wa>>0]=1;$A(k[O>>2]|0,k[(k[(k[la>>2]|0)+4>>2]|0)+((k[fa>>2]|0)*20|0)>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)}k[fa>>2]=(k[fa>>2]|0)+1}sa=k[Ba>>2]|0;ua=k[$>>2]|0;za=k[ba>>2]|0;Aa=k[k[la>>2]>>2]|0;wx(sa,95,ua,za,Aa,xA(k[na>>2]|0)|0,-6)|0;Aa=Gx(k[Ba>>2]|0)|0;k[R>>2]=Aa;tx(k[Ba>>2]|0,18,(k[R>>2]|0)+1|0,0,(k[R>>2]|0)+1|0)|0;fH(k[O>>2]|0,k[ba>>2]|0,k[$>>2]|0,k[k[la>>2]>>2]|0);sx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;sx(k[Ba>>2]|0,66,k[aa>>2]|0,k[S>>2]|0)|0;sx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;hA(k[Ba>>2]|0,k[R>>2]|0);gH(k[O>>2]|0,wa);sx(k[Ba>>2]|0,76,1,k[ea>>2]|0)|0;if(k[Z>>2]|0)sx(k[Ba>>2]|0,3,k[wa+4>>2]|0,k[X>>2]|0)|0;else{BD(k[pa>>2]|0);RA(k[Ba>>2]|0,k[W>>2]|0)|0}sx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;gA(k[Ba>>2]|0,k[S>>2]|0)|0;Aa=Gx(k[Ba>>2]|0)|0;k[V>>2]=Aa;sx(k[Ba>>2]|0,76,1,k[aa>>2]|0)|0;aA(k[Ba>>2]|0,72,k[ta>>2]|0)|0;iA(k[Ba>>2]|0,k[T>>2]|0);Aa=Gx(k[Ba>>2]|0)|0;k[T>>2]=Aa;sx(k[Ba>>2]|0,66,k[ea>>2]|0,(k[T>>2]|0)+2|0)|0;aA(k[Ba>>2]|0,72,k[ta>>2]|0)|0;hH(k[O>>2]|0,wa);sB(k[O>>2]|0,k[ma>>2]|0,(k[T>>2]|0)+1|0,16);aH(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,ya,xa,k[Q>>2]|0,(k[T>>2]|0)+1|0,k[V>>2]|0);aA(k[Ba>>2]|0,72,k[ta>>2]|0)|0;iA(k[Ba>>2]|0,k[U>>2]|0);iH(k[O>>2]|0,wa);aA(k[Ba>>2]|0,72,k[va>>2]|0)|0}else{k[G>>2]=0;Aa=jH(k[P>>2]|0,wa)|0;k[K>>2]=Aa;if(Aa){za=Ph(k[k[O>>2]>>2]|0,k[(k[K>>2]|0)+64>>2]|0)|0;k[D>>2]=za;za=(k[O>>2]|0)+40|0;Aa=k[za>>2]|0;k[za>>2]=Aa+1;k[C>>2]=Aa;k[I>>2]=0;k[F>>2]=0;k[E>>2]=k[(k[K>>2]|0)+28>>2];Cx(k[O>>2]|0,k[D>>2]|0);bA(k[O>>2]|0,k[D>>2]|0,k[(k[K>>2]|0)+28>>2]|0,0,k[k[K>>2]>>2]|0);if(l[(k[K>>2]|0)+42>>0]&32){Aa=Tj(k[K>>2]|0)|0;k[F>>2]=Aa}k[H>>2]=k[(k[K>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;do if(!((l[(k[H>>2]|0)+55>>0]|0)>>>2&1)){if((j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[K>>2]|0)+40>>1]|0))break;if(k[(k[H>>2]|0)+36>>2]|0)break;if((k[F>>2]|0)!=0?(j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[F>>2]|0)+48>>1]|0):0)break;k[F>>2]=k[H>>2]}while(0);k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[F>>2]|0){k[E>>2]=k[(k[F>>2]|0)+44>>2];Aa=rA(k[O>>2]|0,k[F>>2]|0)|0;k[I>>2]=Aa}Sh(k[Ba>>2]|0,104,k[C>>2]|0,k[E>>2]|0,k[D>>2]|0,1)|0;if(k[I>>2]|0)Wh(k[Ba>>2]|0,-1,k[I>>2]|0,-6);sx(k[Ba>>2]|0,100,k[C>>2]|0,k[(k[wa+40>>2]|0)+8>>2]|0)|0;aA(k[Ba>>2]|0,111,k[C>>2]|0)|0;kH(k[O>>2]|0,k[K>>2]|0,k[F>>2]|0)}else{k[J>>2]=0;i[B>>0]=0;if(!(k[(k[P>>2]|0)+40>>2]|0)){Aa=lH(wa,J)|0;i[B>>0]=Aa}do if(i[B>>0]|0){Aa=_y(k[Y>>2]|0,k[J>>2]|0,0)|0;k[J>>2]=Aa;k[G>>2]=k[J>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;i[(k[(k[J>>2]|0)+4>>2]|0)+12>>0]=(l[B>>0]|0)!=1?1:0;i[k[k[(k[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);iH(k[O>>2]|0,wa);Aa=AD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[J>>2]|0,0,l[B>>0]|0,0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0)){ov(k[Y>>2]|0,k[G>>2]|0);break}gH(k[O>>2]|0,wa);if((YG(k[pa>>2]|0)|0)>0){Aa=k[Ba>>2]|0;gA(Aa,$G(k[pa>>2]|0)|0)|0}BD(k[pa>>2]|0);hH(k[O>>2]|0,wa)}k[ya>>2]=0;sB(k[O>>2]|0,k[ma>>2]|0,k[S>>2]|0,16);aH(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,0,0,k[Q>>2]|0,k[S>>2]|0,k[S>>2]|0);ov(k[Y>>2]|0,k[G>>2]|0)}iA(k[Ba>>2]|0,k[S>>2]|0)}if((l[xa+1>>0]|0)==3)dH(k[O>>2]|0,35649);if(k[ya>>2]|0){dH(k[O>>2]|0,(k[ya+4>>2]|0)>0?35667:35690);mH(k[O>>2]|0,k[P>>2]|0,ya,k[k[ka>>2]>>2]|0,k[Q>>2]|0)}iA(k[Ba>>2]|0,k[ca>>2]|0);k[ra>>2]=(k[(k[O>>2]|0)+36>>2]|0)>0&1}}while(0);k[(k[O>>2]|0)+420>>2]=k[da>>2];if((k[ra>>2]|0)==0?(l[k[Q>>2]>>0]|0)==9:0)nH(k[O>>2]|0,k[oa>>2]|0,k[ka>>2]|0);bg(k[Y>>2]|0,k[wa+28>>2]|0);bg(k[Y>>2]|0,k[wa+40>>2]|0);k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}function _v(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j;c=j+24|0;d=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+48>>2]|0)){r=j;return}k[h>>2]=0;k[e>>2]=0;k[g>>2]=k[d>>2];while(1){if(!(k[g>>2]|0))break;k[(k[g>>2]|0)+52>>2]=k[h>>2];a=(k[g>>2]|0)+8|0;k[a>>2]=k[a>>2]|256;k[h>>2]=k[g>>2];k[g>>2]=k[(k[g>>2]|0)+48>>2];k[e>>2]=(k[e>>2]|0)+1}if(k[(k[d>>2]|0)+8>>2]&1024){r=j;return}a=k[(k[k[c>>2]>>2]|0)+96+16>>2]|0;k[f>>2]=a;if((a|0)<=0){r=j;return}if((k[e>>2]|0)<=(k[f>>2]|0)){r=j;return}Oh(k[c>>2]|0,35575,i);r=j;return}function $v(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;v=x;i=x+44|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=k[k[j>>2]>>2];if((k[l>>2]|0)==0?(k[q>>2]|0)!=0|(k[s>>2]|0)!=0:0){h=k[j>>2]|0;k[v>>2]=(k[q>>2]|0)!=0?35530:35533;Oh(h,35539,v)}else w=4;if(((w|0)==4?(w=iw(k[t>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0,k[l>>2]=w,(k[l>>2]|0)!=0):0)?(k[k[l>>2]>>2]|0)!=0:0){k[u>>2]=(k[l>>2]|0)+8+(((k[k[l>>2]>>2]|0)-1|0)*72|0);if(k[(k[o>>2]|0)+4>>2]|0){w=bx(k[t>>2]|0,k[o>>2]|0)|0;k[(k[u>>2]|0)+12>>2]=w}k[(k[u>>2]|0)+20>>2]=k[p>>2];k[(k[u>>2]|0)+48>>2]=k[q>>2];k[(k[u>>2]|0)+52>>2]=k[s>>2];k[i>>2]=k[l>>2];w=k[i>>2]|0;r=x;return w|0}sv(k[t>>2]|0,k[q>>2]|0);uv(k[t>>2]|0,k[s>>2]|0);pv(k[t>>2]|0,k[p>>2]|0);k[i>>2]=0;w=k[i>>2]|0;r=x;return w|0}function aw(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+128|0;n=B+112|0;o=B+108|0;p=B+104|0;q=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=l;k[x>>2]=m;k[y>>2]=k[k[n>>2]>>2];h=dx(k[y>>2]|0,68,0)|0;k[z>>2]=h;k[z>>2]=(k[z>>2]|0)==0?A:h;if(!(k[o>>2]|0)){h=k[n>>2]|0;h=bw(h,0,ew(k[y>>2]|0,160,0)|0)|0;k[o>>2]=h}k[k[z>>2]>>2]=k[o>>2];i[(k[z>>2]|0)+4>>0]=119;k[(k[z>>2]|0)+8>>2]=k[v>>2];k[(k[z>>2]|0)+12>>2]=0;k[(k[z>>2]|0)+16>>2]=0;k[(k[z>>2]|0)+20>>2]=-1;k[(k[z>>2]|0)+20+4>>2]=-1;j[(k[z>>2]|0)+6>>1]=0;if(!(k[p>>2]|0)){h=Ch(k[y>>2]|0,80,0)|0;k[p>>2]=h}k[(k[z>>2]|0)+28>>2]=k[p>>2];k[(k[z>>2]|0)+32>>2]=k[q>>2];k[(k[z>>2]|0)+36>>2]=k[s>>2];k[(k[z>>2]|0)+40>>2]=k[t>>2];k[(k[z>>2]|0)+44>>2]=k[u>>2];k[(k[z>>2]|0)+48>>2]=0;k[(k[z>>2]|0)+52>>2]=0;k[(k[z>>2]|0)+56>>2]=k[w>>2];k[(k[z>>2]|0)+60>>2]=k[x>>2];k[(k[z>>2]|0)+64>>2]=0;if(!(i[(k[y>>2]|0)+69>>0]|0)){A=k[z>>2]|0;r=B;return A|0}qv(k[y>>2]|0,k[z>>2]|0,(k[z>>2]|0)!=(A|0)&1);k[z>>2]=0;A=k[z>>2]|0;r=B;return A|0}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;d=j+4|0;i=j;k[l>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[k[l>>2]>>2];if(!(k[f>>2]|0)){l=dx(k[h>>2]|0,8,0)|0;k[f>>2]=l;if((k[f>>2]|0)!=0?(k[k[f>>2]>>2]=0,l=dx(k[h>>2]|0,20,0)|0,k[(k[f>>2]|0)+4>>2]=l,(k[(k[f>>2]|0)+4>>2]|0)!=0):0)d=7;else d=8}else if(!(k[k[f>>2]>>2]&(k[k[f>>2]>>2]|0)-1)){l=cx(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[k[f>>2]>>2]<<1)*20|0,0)|0;k[d>>2]=l;if(!(k[d>>2]|0))d=8;else{k[(k[f>>2]|0)+4>>2]=k[d>>2];d=7}}else d=7;if((d|0)==7){h=k[f>>2]|0;l=k[h>>2]|0;k[h>>2]=l+1;k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(l*20|0);l=k[i>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[k[i>>2]>>2]=k[g>>2];k[e>>2]=k[f>>2];l=k[e>>2]|0;r=j;return l|0}else if((d|0)==8){sv(k[h>>2]|0,k[g>>2]|0);ov(k[h>>2]|0,k[f>>2]|0);k[e>>2]=0;l=k[e>>2]|0;r=j;return l|0}return 0}function cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0);a=gx(k[k[e>>2]>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[(k[i>>2]|0)+4>>2]=a;if(!(k[h>>2]|0)){r=j;return}hx(k[(k[i>>2]|0)+4>>2]|0);r=j;return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[i>>2]>>2];if(!(k[d>>2]|0)){r=h;return}k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+(((k[k[d>>2]>>2]|0)-1|0)*20|0);bg(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0);i=(k[(k[e>>2]|0)+8>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0;i=gx(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0,i,((i|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+8>>2]=i;r=h;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;k[g>>2]=k[d>>2];if(k[d>>2]|0)d=Tf(k[d>>2]|0)|0;else d=0;k[g+4>>2]=d;g=tw(k[e>>2]|0,k[f>>2]|0,g,0)|0;r=h;return g|0}function fw(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=(k[k[b>>2]>>2]|0)-1;while(1){if((k[c>>2]|0)<=0)break;i[(k[b>>2]|0)+8+((k[c>>2]|0)*72|0)+36>>0]=i[(k[b>>2]|0)+8+(((k[c>>2]|0)-1|0)*72|0)+36>>0]|0;k[c>>2]=(k[c>>2]|0)+-1}i[(k[b>>2]|0)+8+36>>0]=0;r=d;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}if((k[k[e>>2]>>2]|0)<=0){r=h;return}k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);if((k[(k[f>>2]|0)+4>>2]|0)==1?(k[k[f>>2]>>2]|0)==0:0){a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-2|1;r=h;return}a=bx(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[(k[g>>2]|0)+64>>2]=a;a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-3|((k[(k[g>>2]|0)+64>>2]|0)!=0&1)<<1&255;r=h;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);k[(k[g>>2]|0)+64>>2]=k[f>>2];a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-5|4;r=h;return}else{ov(k[k[d>>2]>>2]|0,k[f>>2]|0);r=h;return}}function iw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;l=n+4|0;m=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;do if(!(k[g>>2]|0)){c=dx(k[f>>2]|0,80,0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[g>>2]|0)+4>>2]=1;k[k[g>>2]>>2]=0;break}k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}while(0);c=NG(k[f>>2]|0,k[g>>2]|0,1,k[k[g>>2]>>2]|0)|0;k[g>>2]=c;if(i[(k[f>>2]|0)+69>>0]|0){rv(k[f>>2]|0,k[g>>2]|0);k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+8+(((k[k[g>>2]>>2]|0)-1|0)*72|0);if((k[j>>2]|0)!=0?(k[k[j>>2]>>2]|0)==0:0)k[j>>2]=0;if(k[j>>2]|0){k[m>>2]=k[j>>2];k[j>>2]=k[h>>2];k[h>>2]=k[m>>2]}m=bx(k[f>>2]|0,k[h>>2]|0)|0;k[(k[l>>2]|0)+8>>2]=m;m=bx(k[f>>2]|0,k[j>>2]|0)|0;k[(k[l>>2]|0)+4>>2]=m;k[e>>2]=k[g>>2];m=k[e>>2]|0;r=n;return m|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;q=u+16|0;p=u;e=u+64|0;f=u+60|0;g=u+56|0;h=u+52|0;n=u+48|0;i=u+36|0;o=u+32|0;j=u+28|0;m=u+24|0;s=u+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[i>>2]=k[f>>2];k[i+4>>2]=k[g>>2];k[i+8>>2]=k[h>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=3)break;if(!(k[i+(k[j>>2]<<2)>>2]|0))break;k[o>>2]=k[i+(k[j>>2]<<2)>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=7)break;if((k[(k[o>>2]|0)+4>>2]|0)==(l[35374+((k[m>>2]|0)*3|0)+1>>0]|0|0)?(Jd(k[k[o>>2]>>2]|0,35395+(l[35374+((k[m>>2]|0)*3|0)>>0]|0)|0,k[(k[o>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}k[m>>2]=(k[m>>2]|0)+1}if((t|0)==8){t=0;k[n>>2]=k[n>>2]|(l[35374+((k[m>>2]|0)*3|0)+2>>0]|0)}if((k[m>>2]|0)>=7){t=11;break}k[j>>2]=(k[j>>2]|0)+1}if((t|0)==11)k[n>>2]=k[n>>2]|64;if((k[n>>2]&33|0)!=33?(k[n>>2]&64|0)==0:0){if(!(k[n>>2]&32)){t=k[n>>2]|0;r=u;return t|0}if((k[n>>2]&24|0)==8){t=k[n>>2]|0;r=u;return t|0}Oh(k[e>>2]|0,35475,q);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}k[s>>2]=35429;if(!(k[h>>2]|0))k[s>>2]=(k[s>>2]|0)+1;t=k[e>>2]|0;a=k[g>>2]|0;q=k[s>>2]|0;s=k[h>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=a;k[p+8>>2]=q;k[p+12>>2]=s;Oh(t,35431,p);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}function kw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)<0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[k[c>>2]>>2]|0)-1|0)*20|0)+12>>0]=k[d>>2];r=e;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;if(!(k[e>>2]|0)){r=g;return}k[(k[e>>2]|0)+4>>2]=k[(k[d>>2]|0)+472>>2];k[(k[d>>2]|0)+472>>2]=k[e>>2];if(!(i[f>>0]|0)){r=g;return}k[(k[d>>2]|0)+476>>2]=k[e>>2];r=g;return}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+192|0;G=X+176|0;H=X+172|0;I=X+168|0;W=X+164|0;U=X+160|0;M=X+156|0;F=X+152|0;S=X+148|0;h=X+144|0;N=X+140|0;P=X+136|0;n=X+132|0;L=X+128|0;V=X+120|0;q=X+88|0;f=X+84|0;R=X+80|0;p=X+76|0;y=X+72|0;v=X+64|0;J=X+60|0;T=X+56|0;g=X+52|0;o=X+184|0;A=X+48|0;C=X+182|0;O=X+44|0;B=X+40|0;u=X+36|0;K=X+32|0;d=X+28|0;w=X+24|0;Q=X+20|0;D=X+16|0;s=X+180|0;e=X+12|0;E=X+8|0;x=X+4|0;z=X;k[G>>2]=a;k[H>>2]=b;k[I>>2]=c;k[N>>2]=0;k[P>>2]=0;k[R>>2]=-1;k[J>>2]=0;k[g>>2]=0;j[o>>1]=1;k[O>>2]=0;k[B>>2]=0;k[u>>2]=0;k[K>>2]=0;k[d>>2]=0;k[V>>2]=0;k[V+4>>2]=0;k[L>>2]=k[k[G>>2]>>2];a:do if(((k[(k[G>>2]|0)+36>>2]|0)==0?(l[(k[L>>2]|0)+69>>0]|0)==0:0)?(c=lC(k[G>>2]|0,k[H>>2]|0)|0,k[U>>2]=c,(k[U>>2]|0)!=0):0){c=bD(k[G>>2]|0,k[U>>2]|0,109,0,0)|0;k[D>>2]=c;k[Q>>2]=(k[(k[U>>2]|0)+12>>2]|0)!=0&1;if(k[D>>2]|0)a=1;else a=(vF(k[G>>2]|0,k[U>>2]|0,0,0)|0)!=0;k[w>>2]=a&1;if(((by(k[G>>2]|0,k[U>>2]|0)|0)==0?(cD(k[G>>2]|0,k[U>>2]|0,(k[D>>2]|0)!=0?1:0)|0)==0:0)?(c=Ph(k[L>>2]|0,k[(k[U>>2]|0)+64>>2]|0)|0,k[f>>2]=c,c=kx(k[G>>2]|0,9,k[k[U>>2]>>2]|0,0,k[(k[(k[L>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0,k[p>>2]=c,(k[p>>2]|0)!=1):0){b=(k[G>>2]|0)+40|0;c=k[b>>2]|0;k[b>>2]=c+1;k[(k[H>>2]|0)+8+44>>2]=c;k[h>>2]=c;k[n>>2]=0;k[S>>2]=k[(k[U>>2]|0)+8>>2];while(1){if(!(k[S>>2]|0))break;c=(k[G>>2]|0)+40|0;k[c>>2]=(k[c>>2]|0)+1;k[S>>2]=k[(k[S>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if(k[Q>>2]|0)IG(k[G>>2]|0,V,k[k[U>>2]>>2]|0);c=nx(k[G>>2]|0)|0;k[W>>2]=c;if(k[W>>2]|0){if(!(l[(k[G>>2]|0)+18>>0]|0))dD(k[W>>2]|0);Bx(k[G>>2]|0,1,k[f>>2]|0);if(k[Q>>2]|0){JG(k[G>>2]|0,k[U>>2]|0,k[I>>2]|0,k[h>>2]|0);c=k[h>>2]|0;k[P>>2]=c;k[N>>2]=c};k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;k[q+24>>2]=0;k[q+28>>2]=0;k[q>>2]=k[G>>2];k[q+4>>2]=k[H>>2];if(!(Ky(q,k[I>>2]|0)|0)){if(k[(k[L>>2]|0)+24>>2]&128){b=(k[G>>2]|0)+44|0;c=(k[b>>2]|0)+1|0;k[b>>2]=c;k[R>>2]=c;sx(k[W>>2]|0,76,0,k[R>>2]|0)|0}b:do if(!((k[p>>2]|0)==0&(k[I>>2]|0)==0^1|(k[w>>2]|0)!=0)?(l[(k[U>>2]|0)+42>>0]&16|0)==0:0){bA(k[G>>2]|0,k[f>>2]|0,k[(k[U>>2]|0)+28>>2]|0,1,k[k[U>>2]>>2]|0);if(!(l[(k[U>>2]|0)+42>>0]&32))wx(k[W>>2]|0,131,k[(k[U>>2]|0)+28>>2]|0,k[f>>2]|0,k[R>>2]|0,k[k[U>>2]>>2]|0,-2)|0;k[S>>2]=k[(k[U>>2]|0)+8>>2];while(1){if(!(k[S>>2]|0))break b;sx(k[W>>2]|0,131,k[(k[S>>2]|0)+44>>2]|0,k[f>>2]|0)|0;k[S>>2]=k[(k[S>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){j[s>>1]=1044;if(m[q+28>>1]&64)k[w>>2]=1;j[s>>1]=m[s>>1]|((k[w>>2]|0)!=0?0:8);if(!(l[(k[U>>2]|0)+42>>0]&32)){k[T>>2]=0;j[o>>1]=1;q=(k[G>>2]|0)+44|0;t=(k[q>>2]|0)+1|0;k[q>>2]=t;k[B>>2]=t;sx(k[W>>2]|0,79,0,k[B>>2]|0)|0}else{q=Tj(k[U>>2]|0)|0;k[T>>2]=q;j[o>>1]=j[(k[T>>2]|0)+50>>1]|0;k[g>>2]=(k[(k[G>>2]|0)+44>>2]|0)+1;q=(k[G>>2]|0)+44|0;k[q>>2]=(k[q>>2]|0)+(j[o>>1]|0);q=(k[G>>2]|0)+40|0;t=k[q>>2]|0;k[q>>2]=t+1;k[O>>2]=t;t=sx(k[W>>2]|0,107,k[O>>2]|0,j[o>>1]|0)|0;k[d>>2]=t;dA(k[G>>2]|0,k[T>>2]|0)}t=AD(k[G>>2]|0,k[H>>2]|0,k[I>>2]|0,0,0,j[s>>1]|0,(k[h>>2]|0)+1|0)|0;k[F>>2]=t;if(!(k[F>>2]|0))break a;t=LG(k[F>>2]|0,v)|0;k[y>>2]=t;if(k[(k[L>>2]|0)+24>>2]&128)sx(k[W>>2]|0,91,k[R>>2]|0,1)|0;do if(k[T>>2]|0){k[M>>2]=0;while(1){if((k[M>>2]|0)>=(j[o>>1]|0))break;XA(k[W>>2]|0,k[U>>2]|0,k[h>>2]|0,j[(k[(k[T>>2]|0)+4>>2]|0)+(k[M>>2]<<1)>>1]|0,(k[g>>2]|0)+(k[M>>2]|0)|0);k[M>>2]=(k[M>>2]|0)+1}k[A>>2]=k[g>>2]}else{k[A>>2]=(k[(k[G>>2]|0)+44>>2]|0)+1;t=bB(k[G>>2]|0,k[U>>2]|0,-1,k[h>>2]|0,k[A>>2]|0,0)|0;k[A>>2]=t;if((k[A>>2]|0)<=(k[(k[G>>2]|0)+44>>2]|0))break;k[(k[G>>2]|0)+44>>2]=k[A>>2]}while(0);do if(!(k[y>>2]|0))if(k[T>>2]|0){p=(k[G>>2]|0)+44|0;n=(k[p>>2]|0)+1|0;k[p>>2]=n;k[A>>2]=n;j[C>>1]=0;n=k[W>>2]|0;p=k[g>>2]|0;q=j[o>>1]|0;s=k[A>>2]|0;t=MC(k[k[G>>2]>>2]|0,k[T>>2]|0)|0;wx(n,99,p,q,s,t,j[o>>1]|0)|0;sx(k[W>>2]|0,126,k[O>>2]|0,k[A>>2]|0)|0;break}else{j[C>>1]=1;sx(k[W>>2]|0,142,k[B>>2]|0,k[A>>2]|0)|0;break}else{j[C>>1]=j[o>>1]|0;t=(k[n>>2]|0)+2|0;t=dx(k[L>>2]|0,t,((t|0)<0)<<31>>31)|0;k[J>>2]=t;if(!(k[J>>2]|0)){BD(k[F>>2]|0);break a}dS(k[J>>2]|0,1,(k[n>>2]|0)+1|0)|0;i[(k[J>>2]|0)+((k[n>>2]|0)+1)>>0]=0;if((k[v>>2]|0)>=0)i[(k[J>>2]|0)+((k[v>>2]|0)-(k[h>>2]|0))>>0]=0;if((k[v+4>>2]|0)>=0)i[(k[J>>2]|0)+((k[v+4>>2]|0)-(k[h>>2]|0))>>0]=0;if(!(k[d>>2]|0))break;RA(k[W>>2]|0,k[d>>2]|0)|0}while(0);if(k[y>>2]|0){t=eA(k[W>>2]|0)|0;k[u>>2]=t}else BD(k[F>>2]|0);do if(!(k[Q>>2]|0)){k[e>>2]=0;if((k[y>>2]|0)==2){t=px(k[W>>2]|0,20)|0;k[e>>2]=t}PC(k[G>>2]|0,k[U>>2]|0,105,8,k[h>>2]|0,k[J>>2]|0,N,P)|0;if((k[y>>2]|0)!=2)break;hA(k[W>>2]|0,k[e>>2]|0)}while(0);do if(!(k[y>>2]|0)){a=k[W>>2]|0;if(k[T>>2]|0){B=aA(a,57,k[O>>2]|0)|0;k[K>>2]=B;sx(k[W>>2]|0,121,k[O>>2]|0,k[A>>2]|0)|0;break}else{B=tx(a,62,k[B>>2]|0,0,k[A>>2]|0)|0;k[K>>2]=B;break}}else{if(l[(k[U>>2]|0)+42>>0]&16)break;if(!(l[(k[J>>2]|0)+((k[N>>2]|0)-(k[h>>2]|0))>>0]|0))break;Sh(k[W>>2]|0,30,k[N>>2]|0,k[u>>2]|0,k[A>>2]|0,j[C>>1]|0)|0}while(0);do if(l[(k[U>>2]|0)+42>>0]&16){D=cy(k[L>>2]|0,k[U>>2]|0)|0;k[E>>2]=D;nD(k[G>>2]|0,k[U>>2]|0);wx(k[W>>2]|0,12,0,1,k[A>>2]|0,k[E>>2]|0,-10)|0;Th(k[W>>2]|0,2);dy(k[G>>2]|0);if((k[y>>2]|0)!=1)break;if(k[(k[G>>2]|0)+124>>2]|0)break;i[(k[G>>2]|0)+20>>0]=0}else{k[x>>2]=(l[(k[G>>2]|0)+18>>0]|0)==0&1;k[z>>2]=-1;do if(!(k[w>>2]|0)){if((k[v+4>>2]|0)==(k[N>>2]|0))break;k[z>>2]=k[v+4>>2]}while(0);xF(k[G>>2]|0,k[U>>2]|0,k[D>>2]|0,k[N>>2]|0,k[P>>2]|0,k[A>>2]|0,j[C>>1]|0,k[x>>2]&255,10,k[y>>2]&255,k[z>>2]|0)}while(0);do if(!(k[y>>2]|0)){a=k[W>>2]|0;if(k[T>>2]|0){sx(a,7,k[O>>2]|0,(k[K>>2]|0)+1|0)|0;hA(k[W>>2]|0,k[K>>2]|0);break}else{gA(a,k[K>>2]|0)|0;hA(k[W>>2]|0,k[K>>2]|0);break}}else{iA(k[W>>2]|0,k[u>>2]|0);BD(k[F>>2]|0)}while(0);if(k[Q>>2]|0)break;if(l[(k[U>>2]|0)+42>>0]&16)break;if(!(k[T>>2]|0))aA(k[W>>2]|0,111,k[N>>2]|0)|0;k[M>>2]=0;k[S>>2]=k[(k[U>>2]|0)+8>>2];while(1){if(!(k[S>>2]|0))break c;aA(k[W>>2]|0,111,(k[P>>2]|0)+(k[M>>2]|0)|0)|0;k[M>>2]=(k[M>>2]|0)+1;k[S>>2]=k[(k[S>>2]|0)+20>>2]}}while(0);if((l[(k[G>>2]|0)+18>>0]|0)==0?(k[(k[G>>2]|0)+128>>2]|0)==0:0)rD(k[G>>2]|0);if(((k[(k[L>>2]|0)+24>>2]&128|0)!=0?(i[(k[G>>2]|0)+18>>0]|0)==0:0)?(k[(k[G>>2]|0)+128>>2]|0)==0:0){sx(k[W>>2]|0,87,k[R>>2]|0,1)|0;wC(k[W>>2]|0,1);xC(k[W>>2]|0,0,0,35361,0)|0}}}}}while(0);MG(V);rv(k[L>>2]|0,k[H>>2]|0);sv(k[L>>2]|0,k[I>>2]|0);bg(k[L>>2]|0,k[J>>2]|0);r=X;return}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[k[d>>2]>>2]|0)+96+8>>2];if(!(k[e>>2]|0)){r=i;return}if((k[k[e>>2]>>2]|0)<=(k[g>>2]|0)){r=i;return}c=k[d>>2]|0;k[h>>2]=k[f>>2];Oh(c,35338,h);r=i;return}function ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+256|0;p=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;o=oa+120|0;f=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;h=oa+28|0;n=oa+24|0;g=oa+250|0;u=oa+20|0;w=oa+248|0;q=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;k[X>>2]=a;k[Y>>2]=b;k[Z>>2]=c;k[_>>2]=d;k[K>>2]=e;k[ba>>2]=0;k[L>>2]=0;k[aa>>2]=0;k[z>>2]=0;k[fa>>2]=0;k[Q>>2]=0;k[la>>2]=0;k[V>>2]=0;k[U>>2]=0;k[I>>2]=0;k[F>>2]=0;k[A>>2]=0;k[T>>2]=0;k[ma>>2]=0;k[ma+4>>2]=0;k[ca>>2]=k[k[X>>2]>>2];if(k[(k[X>>2]|0)+36>>2]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(l[(k[ca>>2]|0)+69>>0]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}d=lC(k[X>>2]|0,k[Y>>2]|0)|0;k[ka>>2]=d;if(!(k[ka>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}d=Ph(k[k[X>>2]>>2]|0,k[(k[ka>>2]|0)+64>>2]|0)|0;k[f>>2]=d;d=bD(k[X>>2]|0,k[ka>>2]|0,110,k[Z>>2]|0,G)|0;k[S>>2]=d;k[H>>2]=(k[(k[ka>>2]|0)+12>>2]|0)!=0&1;if(by(k[X>>2]|0,k[ka>>2]|0)|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(cD(k[X>>2]|0,k[ka>>2]|0,k[G>>2]|0)|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}b=(k[X>>2]|0)+40|0;d=k[b>>2]|0;k[b>>2]=d+1;k[ea>>2]=d;k[t>>2]=d;k[(k[Y>>2]|0)+8+44>>2]=d;k[ga>>2]=(k[ea>>2]|0)+1;if(!(l[(k[ka>>2]|0)+42>>0]&32))e=0;else e=Tj(k[ka>>2]|0)|0;k[ja>>2]=e;k[v>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if((k[ja>>2]|0)!=0?(i[(k[ia>>2]|0)+55>>0]&3|0)==2:0){k[ea>>2]=k[(k[X>>2]|0)+40>>2];k[(k[Y>>2]|0)+8+44>>2]=k[ea>>2]}d=(k[X>>2]|0)+40|0;k[d>>2]=(k[d>>2]|0)+1;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[v>>2]=(k[v>>2]|0)+1}d=dx(k[ca>>2]|0,((j[(k[ka>>2]|0)+34>>1]|0)+(k[v>>2]|0)<<2)+(k[v>>2]|0)+2|0,0)|0;k[aa>>2]=d;if(!(k[aa>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}k[L>>2]=(k[aa>>2]|0)+(j[(k[ka>>2]|0)+34>>1]<<2);k[$>>2]=(k[L>>2]|0)+(k[v>>2]<<2);dS(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;i[(k[$>>2]|0)+((k[v>>2]|0)+1)>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[X>>2];k[o+4>>2]=k[Y>>2];i[y>>0]=0;i[B>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(k[k[Z>>2]>>2]|0)){J=41;break}if(Ky(o,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;d=(sg(k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)==0;e=k[C>>2]|0;if(d){J=23;break}k[C>>2]=e+1}if((J|0)==23){J=0;if((e|0)!=(j[(k[ka>>2]|0)+32>>1]|0)){if((k[ja>>2]|0)!=0?(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)+15>>0]&1|0)!=0:0)i[y>>0]=1}else{i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=k[da>>2]}if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0)){if(k[ja>>2]|0){J=34;break}if(!(Ei(k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}k[C>>2]=-1;i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}if((k[C>>2]|0)<0)e=19895;else e=k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0;d=kx(k[X>>2]|0,23,k[k[ka>>2]>>2]|0,e,k[(k[(k[ca>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0;k[h>>2]=d;if((k[h>>2]|0)==1){J=185;break}if((k[h>>2]|0)==2)k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}if((J|0)==34){na=k[X>>2]|0;k[p>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2];Oh(na,24144,p);i[(k[X>>2]|0)+17>>0]=1;MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}else if((J|0)==41){i[O>>0]=(l[B>>0]|0)+(l[y>>0]|0);h=(l[(k[ka>>2]|0)+42>>0]&16|0)!=0;p=(k[Y>>2]|0)+8+56|0;k[p>>2]=h?-1:0;k[p+4>>2]=h?-1:0;p=vF(k[X>>2]|0,k[ka>>2]|0,k[aa>>2]|0,l[O>>0]|0)|0;k[P>>2]=p;k[C>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;a:do if((!((l[O>>0]|0)!=0|(k[P>>2]|0)!=0)?(k[(k[ia>>2]|0)+36>>2]|0)==0:0)?(k[ia>>2]|0)!=(k[ja>>2]|0):0){k[n>>2]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(m[(k[ia>>2]|0)+50>>1]|0))break a;j[g>>1]=j[(k[(k[ia>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0;if((j[g>>1]|0)<0)break;if((k[(k[aa>>2]|0)+(j[g>>1]<<2)>>2]|0)>=0)break;k[da>>2]=(k[da>>2]|0)+1}h=(k[X>>2]|0)+44|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}else J=46;while(0);if((J|0)==46){J=0;h=(k[X>>2]|0)+44|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}if(!(k[n>>2]|0))i[(k[$>>2]|0)+((k[C>>2]|0)+1)>>0]=0;k[(k[L>>2]|0)+(k[C>>2]<<2)>>2]=k[n>>2];k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[C>>2]=(k[C>>2]|0)+1}p=nx(k[X>>2]|0)|0;k[na>>2]=p;if(!(k[na>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(!(l[(k[X>>2]|0)+18>>0]|0))dD(k[na>>2]|0);Bx(k[X>>2]|0,1,k[f>>2]|0);if(!(l[(k[ka>>2]|0)+42>>0]&16)){p=(k[X>>2]|0)+44|0;n=(k[p>>2]|0)+1|0;k[p>>2]=n;k[A>>2]=n;n=(k[X>>2]|0)+44|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p;k[V>>2]=p;if((l[y>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){k[F>>2]=(k[(k[X>>2]|0)+44>>2]|0)+1;p=(k[X>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if((l[O>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){n=(k[X>>2]|0)+44|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p}k[I>>2]=(k[(k[X>>2]|0)+44>>2]|0)+1;p=(k[X>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if(k[H>>2]|0)IG(k[X>>2]|0,ma,k[k[ka>>2]>>2]|0);if(k[H>>2]|0)JG(k[X>>2]|0,k[ka>>2]|0,k[_>>2]|0,k[ea>>2]|0);if(Ky(o,k[_>>2]|0)|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(l[(k[ka>>2]|0)+42>>0]&16){KG(k[X>>2]|0,k[Y>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[z>>2]|0,k[aa>>2]|0,k[_>>2]|0,k[K>>2]|0);MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(!(l[(k[ka>>2]|0)+42>>0]&32)){tx(k[na>>2]|0,79,0,k[A>>2]|0,k[V>>2]|0)|0;w=AD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,1028,k[ga>>2]|0)|0;k[x>>2]=w;if(!(k[x>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}w=LG(k[x>>2]|0,s)|0;k[R>>2]=w;sx(k[na>>2]|0,123,k[ea>>2]|0,k[V>>2]|0)|0;if(!(k[R>>2]|0))sx(k[na>>2]|0,142,k[A>>2]|0,k[V>>2]|0)|0;BD(k[x>>2]|0)}else{j[w>>1]=j[(k[ja>>2]|0)+50>>1]|0;k[u>>2]=(k[(k[X>>2]|0)+44>>2]|0)+1;p=(k[X>>2]|0)+44|0;k[p>>2]=(k[p>>2]|0)+(j[w>>1]|0);p=(k[X>>2]|0)+44|0;o=(k[p>>2]|0)+1|0;k[p>>2]=o;k[T>>2]=o;o=(k[X>>2]|0)+40|0;p=k[o>>2]|0;k[o>>2]=p+1;k[fa>>2]=p;sx(k[na>>2]|0,79,0,k[u>>2]|0)|0;p=sx(k[na>>2]|0,107,k[fa>>2]|0,j[w>>1]|0)|0;k[q>>2]=p;dA(k[X>>2]|0,k[ja>>2]|0);p=AD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,4,k[ga>>2]|0)|0;k[x>>2]=p;if(!(k[x>>2]|0)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}p=LG(k[x>>2]|0,s)|0;k[R>>2]=p;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[w>>1]|0))break;XA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,j[(k[(k[ja>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0,(k[u>>2]|0)+(k[da>>2]|0)|0);k[da>>2]=(k[da>>2]|0)+1}e=k[na>>2]|0;if(k[R>>2]|0){RA(e,k[q>>2]|0)|0;k[Q>>2]=j[w>>1];k[T>>2]=k[u>>2]}else{o=k[u>>2]|0;p=j[w>>1]|0;q=k[T>>2]|0;u=MC(k[ca>>2]|0,k[ja>>2]|0)|0;wx(e,99,o,p,q,u,j[w>>1]|0)|0;sx(k[na>>2]|0,126,k[fa>>2]|0,k[T>>2]|0)|0}BD(k[x>>2]|0)}if((k[(k[ca>>2]|0)+24>>2]&128|0)!=0?(k[(k[X>>2]|0)+128>>2]|0)==0:0){w=(k[X>>2]|0)+44|0;x=(k[w>>2]|0)+1|0;k[w>>2]=x;k[la>>2]=x;sx(k[na>>2]|0,76,0,k[la>>2]|0)|0}x=eA(k[na>>2]|0)|0;k[ha>>2]=x;if(!(k[H>>2]|0)){b:do if((k[K>>2]|0)==5)dS(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;else{k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break b;if((l[(k[ia>>2]|0)+54>>0]|0)==5)break;k[ia>>2]=k[(k[ia>>2]|0)+20>>2]}dS(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0}while(0);do if(k[R>>2]|0){if((k[s>>2]|0)>=0)i[(k[$>>2]|0)+((k[s>>2]|0)-(k[t>>2]|0))>>0]=0;if((k[s+4>>2]|0)<0)break;i[(k[$>>2]|0)+((k[s+4>>2]|0)-(k[t>>2]|0))>>0]=0}while(0);PC(k[X>>2]|0,k[ka>>2]|0,105,0,k[t>>2]|0,k[$>>2]|0,0,0)|0}do if(!(k[R>>2]|0)){e=k[na>>2]|0;if(k[ja>>2]|0){A=eA(e)|0;k[W>>2]=A;sx(k[na>>2]|0,57,k[fa>>2]|0,k[ha>>2]|0)|0;A=sx(k[na>>2]|0,121,k[fa>>2]|0,k[T>>2]|0)|0;k[ba>>2]=A;Sh(k[na>>2]|0,30,k[ea>>2]|0,k[W>>2]|0,k[T>>2]|0,0)|0;break}else{A=tx(e,62,k[A>>2]|0,k[ha>>2]|0,k[V>>2]|0)|0;k[W>>2]=A;tx(k[na>>2]|0,33,k[ea>>2]|0,k[W>>2]|0,k[V>>2]|0)|0;break}}else{if(!((k[H>>2]|0)!=0?1:(l[(k[$>>2]|0)+((k[ea>>2]|0)-(k[t>>2]|0))>>0]|0)==0))Sh(k[na>>2]|0,30,k[ea>>2]|0,k[ha>>2]|0,k[T>>2]|0,k[Q>>2]|0)|0;k[W>>2]=k[ha>>2];sx(k[na>>2]|0,34,(k[ja>>2]|0)!=0?k[T>>2]|0:k[V>>2]|0,k[ha>>2]|0)|0}while(0);if(i[B>>0]|0){$A(k[X>>2]|0,k[z>>2]|0,k[U>>2]|0);aA(k[na>>2]|0,17,k[U>>2]|0)|0}do if((l[y>>0]|0)!=0|(k[P>>2]|0)!=0|(k[S>>2]|0)!=0){if(k[P>>2]|0)e=AF(k[X>>2]|0,k[ka>>2]|0)|0;else e=0;k[E>>2]=e;A=zF(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,0,3,k[ka>>2]|0,k[K>>2]|0)|0;k[E>>2]=k[E>>2]|A;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;do if((k[E>>2]|0)==-1)J=120;else{if((k[da>>2]|0)<32?(k[E>>2]&1<>2]|0)!=0:0){J=120;break}if(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[da>>2]<<4)+15>>0]&1){J=120;break}sx(k[na>>2]|0,79,0,(k[F>>2]|0)+(k[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;XA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[F>>2]|0)+(k[da>>2]|0)|0)}k[da>>2]=(k[da>>2]|0)+1}if(!((l[B>>0]|0)==0&(k[ja>>2]|0)==0))break;sx(k[na>>2]|0,84,k[V>>2]|0,k[U>>2]|0)|0}while(0);F=zF(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,1,1,k[ka>>2]|0,k[K>>2]|0)|0;k[D>>2]=F;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;c:do if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))sx(k[na>>2]|0,79,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;else{k[C>>2]=k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2];if((k[C>>2]|0)>=0){$A(k[X>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0);break}do if(!((k[da>>2]|0)>31?1:0==(k[G>>2]&1|0))){if(k[D>>2]&1<>2])break;sx(k[na>>2]|0,79,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;break c}while(0);fE(k[X>>2]|0,k[ka>>2]|0,k[da>>2]|0,k[ea>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}d:do if(k[G>>2]&1){jD(k[na>>2]|0,k[ka>>2]|0,k[I>>2]|0);kD(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,1,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);e=k[na>>2]|0;c=k[ea>>2]|0;a=k[W>>2]|0;if(k[ja>>2]|0)Sh(e,30,c,a,k[T>>2]|0,k[Q>>2]|0)|0;else tx(e,33,c,a,k[V>>2]|0)|0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break d;do if((k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]|0)<0){if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))break;XA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}}while(0);do if(!(k[H>>2]|0)){k[M>>2]=0;k[N>>2]=0;oD(k[X>>2]|0,k[ka>>2]|0,k[L>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[V>>2]|0,i[O>>0]|0,k[K>>2]&255,k[W>>2]|0,N,k[aa>>2]|0);if(k[P>>2]|0)pD(k[X>>2]|0,k[ka>>2]|0,k[V>>2]|0,0,k[aa>>2]|0,l[O>>0]|0);if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))J=151;do if((J|0)==151){e=k[na>>2]|0;c=k[ea>>2]|0;if(k[ja>>2]|0){T=Sh(e,30,c,0,k[T>>2]|0,k[Q>>2]|0)|0;k[M>>2]=T;break}else{T=tx(e,33,c,0,k[V>>2]|0)|0;k[M>>2]=T;break}}while(0);yF(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[L>>2]|0,-1);if(!((k[P>>2]|0)==0?!((l[O>>0]|0)!=0|(k[ja>>2]|0)!=0):0))sx(k[na>>2]|0,117,k[ea>>2]|0,0)|0;if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))hA(k[na>>2]|0,k[M>>2]|0);if(k[P>>2]|0)pD(k[X>>2]|0,k[ka>>2]|0,0,k[U>>2]|0,k[aa>>2]|0,l[O>>0]|0);qD(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[L>>2]|0,1,0,0);if(!(k[P>>2]|0))break;BF(k[X>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[V>>2]|0,k[aa>>2]|0,l[O>>0]|0)}while(0);do if(k[(k[ca>>2]|0)+24>>2]&128){if(k[(k[X>>2]|0)+128>>2]|0)break;sx(k[na>>2]|0,91,k[la>>2]|0,1)|0}while(0);kD(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,2,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);do if(!(k[R>>2]|0)){c=k[na>>2]|0;e=k[W>>2]|0;if(k[ja>>2]|0){iA(c,e);sx(k[na>>2]|0,7,k[fa>>2]|0,k[ba>>2]|0)|0;break}else{gA(c,e)|0;break}}while(0);iA(k[na>>2]|0,k[ha>>2]|0);k[da>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if(i[(k[$>>2]|0)+((k[da>>2]|0)+1)>>0]|0)sx(k[na>>2]|0,111,(k[ga>>2]|0)+(k[da>>2]|0)|0,0)|0;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[da>>2]=(k[da>>2]|0)+1}if((k[ea>>2]|0)<(k[ga>>2]|0))sx(k[na>>2]|0,111,k[ea>>2]|0,0)|0;do if(!(l[(k[X>>2]|0)+18>>0]|0)){if(k[(k[X>>2]|0)+128>>2]|0)break;rD(k[X>>2]|0)}while(0);if(!(k[(k[ca>>2]|0)+24>>2]&128)){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(k[(k[X>>2]|0)+128>>2]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}if(i[(k[X>>2]|0)+18>>0]|0){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}sx(k[na>>2]|0,87,k[la>>2]|0,1)|0;wC(k[na>>2]|0,1);xC(k[na>>2]|0,0,0,35325,0)|0;MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}else if((J|0)==185){MG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;rv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;ov(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;sv(ma,na);r=oa;return}}function pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;e=q+40|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;n=q+20|0;j=q+16|0;m=q+12|0;o=q+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if(k[f>>2]|0)c=k[k[f>>2]>>2]|0;else c=0;k[m>>2]=c;do if(!((k[g>>2]|0)==0|(k[h>>2]|0)==0)){a=mz(k[h>>2]|0)|0;k[n>>2]=a;if((k[(k[g>>2]|0)+4>>2]|0)!=(k[n>>2]|0)){o=k[e>>2]|0;n=k[n>>2]|0;k[p>>2]=k[(k[g>>2]|0)+4>>2];k[p+4>>2]=n;Oh(o,35295,p);break}k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[n>>2]|0))break;p=mF(k[e>>2]|0,k[h>>2]|0,k[j>>2]|0)|0;k[o>>2]=p;p=bw(k[e>>2]|0,k[f>>2]|0,k[o>>2]|0)|0;k[f>>2]=p;if(k[f>>2]|0){k[(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[k[g>>2]>>2]|0)+(k[j>>2]<<3)>>2];k[(k[k[g>>2]>>2]|0)+(k[j>>2]<<3)>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(((k[f>>2]|0)!=0?(l[k[h>>2]>>0]|0|0)==119:0)?(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2]|0)!=0:0){k[(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2]|0)+16>>2]=k[h>>2];k[h>>2]=0}}while(0);sv(k[i>>2]|0,k[h>>2]|0);uv(k[i>>2]|0,k[g>>2]|0);r=q;return k[f>>2]|0} +function aI(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+576|0;G=I+16|0;s=I+8|0;m=I;C=I+572|0;u=I+568|0;o=I+564|0;v=I+560|0;h=I+556|0;w=I+552|0;p=I+548|0;H=I+544|0;E=I+540|0;x=I+536|0;F=I+56|0;j=I+48|0;n=I+44|0;t=I+40|0;q=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;D=I+20|0;k[C>>2]=a;k[u>>2]=b;k[o>>2]=c;k[v>>2]=d;k[h>>2]=e;k[w>>2]=f;k[p>>2]=g;k[H>>2]=0;k[E>>2]=0;dS(F|0,0,152)|0;a=F+400|0;c=a+80|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));k[F+432>>2]=k[h>>2];k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[C>>2]|0)+20>>2]|0))break;k[j>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if((k[j>>2]|0)!=0?(h=bI(k[j>>2]|0)|0,k[E>>2]=h,(k[E>>2]|0)!=0):0){B=5;break}k[x>>2]=(k[x>>2]|0)+1}if((B|0)==5){k[n>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2];H=k[C>>2]|0;G=k[E>>2]|0;k[m>>2]=k[n>>2];tg(H,G,39591,m);Zh(F);G=k[C>>2]|0;H=k[E>>2]|0;H=ch(G,H)|0;k[E>>2]=H;H=k[E>>2]|0;r=I;return H|0}Eu(k[C>>2]|0);k[F>>2]=k[C>>2];do if((k[o>>2]|0)>=0){if((k[o>>2]|0)!=0?(i[(k[u>>2]|0)+((k[o>>2]|0)-1)>>0]|0)==0:0){B=15;break}k[q>>2]=k[(k[C>>2]|0)+96+4>>2];a=k[C>>2]|0;if((k[o>>2]|0)>(k[q>>2]|0)){tg(a,18,39621,s);G=ch(k[C>>2]|0,18)|0;k[E>>2]=G;Zh(F);G=k[C>>2]|0;H=k[E>>2]|0;H=ch(G,H)|0;k[E>>2]=H;H=k[E>>2]|0;r=I;return H|0}s=k[o>>2]|0;s=gx(a,k[u>>2]|0,s,((s|0)<0)<<31>>31)|0;k[t>>2]=s;if(k[t>>2]|0){gi(F,k[t>>2]|0,H)|0;k[F+436>>2]=(k[u>>2]|0)+((k[F+436>>2]|0)-(k[t>>2]|0));bg(k[C>>2]|0,k[t>>2]|0);break}else{k[F+436>>2]=(k[u>>2]|0)+(k[o>>2]|0);break}}else B=15;while(0);if((B|0)==15)gi(F,k[u>>2]|0,H)|0;if((k[F+12>>2]|0)==101)k[F+12>>2]=0;if(i[F+17>>0]|0)cI(F);if(i[(k[C>>2]|0)+69>>0]|0)k[F+12>>2]=7;if(k[p>>2]|0)k[k[p>>2]>>2]=k[F+436>>2];k[E>>2]=k[F+12>>2];a:do if(((k[E>>2]|0)==0?(k[F+8>>2]|0)!=0:0)?(l[F+409>>0]|0)!=0:0){a=k[F+8>>2]|0;if((l[F+409>>0]|0)==2){wC(a,4);k[y>>2]=8;k[z>>2]=12}else{wC(a,8);k[y>>2]=0;k[z>>2]=8}k[x>>2]=k[y>>2];while(1){if((k[x>>2]|0)>=(k[z>>2]|0))break a;xC(k[F+8>>2]|0,(k[x>>2]|0)-(k[y>>2]|0)|0,0,k[5524+(k[x>>2]<<2)>>2]|0,0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);if(!(l[(k[C>>2]|0)+148+5>>0]|0)){k[A>>2]=k[F+8>>2];dI(k[A>>2]|0,k[u>>2]|0,(k[F+436>>2]|0)-(k[u>>2]|0)|0,k[v>>2]|0)}do if(k[F+8>>2]|0){if((k[E>>2]|0)==0?(l[(k[C>>2]|0)+69>>0]|0)==0:0){B=39;break}bh(k[F+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)k[k[w>>2]>>2]=k[F+8>>2];a=k[C>>2]|0;c=k[E>>2]|0;if(k[H>>2]|0){k[G>>2]=k[H>>2];tg(a,c,18391,G);bg(k[C>>2]|0,k[H>>2]|0)}else vg(a,c);while(1){if(!(k[F+468>>2]|0))break;k[D>>2]=k[F+468>>2];k[F+468>>2]=k[(k[D>>2]|0)+4>>2];bg(k[C>>2]|0,k[D>>2]|0)}Zh(F);G=k[C>>2]|0;H=k[E>>2]|0;H=ch(G,H)|0;k[E>>2]=H;H=k[E>>2]|0;r=I;return H|0}function bI(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=eI(k[d>>2]|0,1,1)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function cI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;d=i+20|0;e=i+16|0;h=i+12|0;c=i+8|0;f=i+4|0;g=i;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){b=14;break}k[f>>2]=0;k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(!(yg(k[g>>2]|0)|0)){a=zg(k[g>>2]|0,0)|0;k[h>>2]=a;if((k[h>>2]|0)==7|(k[h>>2]|0)==3082)wh(k[d>>2]|0);if(k[h>>2]|0){b=14;break}k[f>>2]=1}Bg(k[g>>2]|0,1,c);if((k[c>>2]|0)!=(k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]>>2]|0)){Gj(k[d>>2]|0,k[e>>2]|0);k[(k[b>>2]|0)+12>>2]=17}if(k[f>>2]|0)Qj(k[g>>2]|0)|0}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==14){r=i;return}}function dI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[e>>2]|0)){r=i;return}b=k[g>>2]|0;b=gx(k[k[e>>2]>>2]|0,k[f>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+176>>2]=b;b=(k[e>>2]|0)+144|0;j[b>>1]=j[b>>1]&-513|(k[h>>2]&1)<<9&65535;r=i;return}function eI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+32|0;d=p+16|0;e=p+12|0;f=p+8|0;g=p+20|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];if(!(i[(k[e>>2]|0)+9>>0]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((k[(k[h>>2]|0)+76>>2]|0)!=(k[e>>2]|0)?(m[(k[h>>2]|0)+22>>1]&32|0)!=0:0){k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}k[n>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[n>>2]|0)){o=15;break}if(((k[k[n>>2]>>2]|0)!=(k[e>>2]|0)?(k[(k[n>>2]|0)+4>>2]|0)==(k[f>>2]|0):0)?(l[(k[n>>2]|0)+8>>0]|0)!=(l[g>>0]|0):0)break;k[n>>2]=k[(k[n>>2]|0)+12>>2]}if((o|0)==15){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((l[g>>0]|0)==2){o=(k[h>>2]|0)+22|0;j[o>>1]=m[o>>1]|64}k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}function fI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[j>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;if((k[g>>2]|0)!=(k[f>>2]|0)){if(!(k[e>>2]|0))break;if((k[(k[g>>2]|0)+52>>2]|0)==(k[e>>2]|0))break}k[g>>2]=k[(k[g>>2]|0)+8>>2]}if(k[g>>2]|0){j=gI(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=h;return j|0}if(k[f>>2]|0){j=(k[f>>2]|0)+64|0;i[j>>0]=(l[j>>0]|0)&-33}k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}function gI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a:while(1){do if((k[d>>2]|0)!=(k[f>>2]|0)){if(0!=(k[e>>2]|0)?(k[(k[d>>2]|0)+52>>2]|0)!=(k[e>>2]|0):0)break;if((l[(k[d>>2]|0)+66>>0]|0|0)!=1?(l[(k[d>>2]|0)+66>>0]|0|0)!=2:0){iI(k[d>>2]|0);break}c=hI(k[d>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){d=8;break a}}while(0);k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){d=11;break}}if((d|0)==8){k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}else if((d|0)==11){k[g>>2]=0;h=k[g>>2]|0;r=i;return h|0}return 0}function hI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=k[b>>2]|0;if((l[(k[b>>2]|0)+66>>0]|0|0)==2)i[a+66>>0]=1;else k[a+60>>2]=0;a=jI(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){iI(k[b>>2]|0);i[(k[b>>2]|0)+66>>0]=3}b=(k[b>>2]|0)+64|0;i[b>>0]=(l[b>>0]|0)&-15;r=d;return k[c>>2]|0}function iI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;_B(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]=0;k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+68>>0]=-1;r=d;return}function jI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;b=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+69>>0]|0){b=kI(a)|0;c=(k[c>>2]|0)+40|0;k[c>>2]=b;k[c+4>>2]=L;d=k[d>>2]|0;r=e;return d|0}f=lI(a)|0;a=(k[c>>2]|0)+40|0;k[a>>2]=f;k[a+4>>2]=0;a=(k[c>>2]|0)+40|0;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=e;return f|0}a=mI(k[c>>2]|0,0,k[(k[c>>2]|0)+40>>2]|0,k[b>>2]|0)|0;k[d>>2]=a;a=k[b>>2]|0;if(!(k[d>>2]|0)){k[(k[c>>2]|0)+48>>2]=a;f=k[d>>2]|0;r=e;return f|0}else{Ud(a);f=k[d>>2]|0;r=e;return f|0}return 0}function kI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;aG(k[c>>2]|0);a=(k[c>>2]|0)+16|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function lI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;aG(k[b>>2]|0);r=c;return k[(k[b>>2]|0)+16+12>>2]|0}function mI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=$F(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return a|0}function nI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;wg(k[k[c>>2]>>2]|0);r=b;return}function oI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;i[a>>0]=l[a>>0]|0|16;i[(k[k[c>>2]>>2]|0)+11>>0]=1;r=b;return}function pI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[f>>2]=(k[f>>2]|0)+7&-8;c=k[f>>2]|0;a=k[d>>2]|0;if((k[f>>2]|0)<=(k[(k[d>>2]|0)+4>>2]|0)){f=a+4|0;k[f>>2]=(k[f>>2]|0)-c;k[e>>2]=(k[k[d>>2]>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{f=a+8|0;k[f>>2]=(k[f>>2]|0)+c;f=k[e>>2]|0;r=g;return f|0}return 0}function qI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(i[(k[f>>2]|0)+1>>0]|0){SA(k[k[e>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0}if((k[h>>2]|0)<0){Wh(k[e>>2]|0,((k[f>>2]|0)-(k[(k[e>>2]|0)+88>>2]|0)|0)/20|0,k[g>>2]|0,k[h>>2]|0);r=j;return}if(!(k[h>>2]|0)){c=Tf(k[g>>2]|0)|0;k[h>>2]=c}c=k[h>>2]|0;c=gx(k[k[e>>2]>>2]|0,k[g>>2]|0,c,((c|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+16>>2]=c;i[(k[f>>2]|0)+1>>0]=-1;r=j;return}function rI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function sI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+9>>0]|0|0}function tI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;c=p+32|0;d=p+28|0;e=p+24|0;g=p+20|0;h=p+16|0;o=p+12|0;m=p+8|0;f=p+4|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[e>>2]>>2];k[o>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(k[(k[e>>2]|0)+16>>2]|0){k[c>>2]=1;o=k[c>>2]|0;r=p;return o|0}if((k[(k[g>>2]|0)+4>>2]|0)!=0?(k[(k[g>>2]|0)+4>>2]|0)!=(k[(k[g>>2]|0)+8>>2]|0):0){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}a=Ch(k[f>>2]|0,72,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}a=Ah(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;k[k[h>>2]>>2]=a;if(!(k[k[h>>2]>>2]|0)){bg(k[f>>2]|0,k[h>>2]|0);k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}k[(k[e>>2]|0)+16>>2]=k[h>>2];j[(k[h>>2]|0)+36>>1]=1;k[(k[h>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2];a=(k[h>>2]|0)+42|0;i[a>>0]=l[a>>0]|0|16;k[(k[h>>2]|0)+48>>2]=0;j[(k[h>>2]|0)+32>>1]=-1;a=k[f>>2]|0;b=k[h>>2]|0;jx(a,b,Ah(k[f>>2]|0,k[k[h>>2]>>2]|0)|0);jx(k[f>>2]|0,k[h>>2]|0,0);b=k[f>>2]|0;a=k[h>>2]|0;jx(b,a,Ah(k[f>>2]|0,k[k[h>>2]>>2]|0)|0);h=Tz(k[f>>2]|0,k[h>>2]|0,k[e>>2]|0,k[(k[g>>2]|0)+8>>2]|0,o)|0;k[m>>2]=h;if(k[m>>2]|0){m=k[d>>2]|0;k[n>>2]=k[o>>2];Oh(m,18391,n);bg(k[f>>2]|0,k[o>>2]|0);uI(k[f>>2]|0,k[e>>2]|0);k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}else{k[c>>2]=1;o=k[c>>2]|0;r=p;return o|0}return 0}function uI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}b=(k[e>>2]|0)+42|0;i[b>>0]=l[b>>0]|0|2;$f(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function vI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[k[d>>2]>>2]=0;while(1){if(!(i[k[c>>2]>>0]|0)){h=6;break}b=jv(k[c>>2]|0,g)|0;k[e>>2]=b;b=k[e>>2]|0;if((k[g>>2]|0)==135)break;k[f>>2]=(k[f>>2]|0)+b;k[c>>2]=(k[c>>2]|0)+(k[e>>2]|0)}if((h|0)==6){h=k[f>>2]|0;r=j;return h|0}k[k[d>>2]>>2]=b;h=k[f>>2]|0;r=j;return h|0}function wI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;fh(k[c>>2]|0);b=k[c>>2]|0;a=k[d>>2]|0;c=b+40|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));j[(k[d>>2]|0)+8>>1]=1;k[(k[d>>2]|0)+24>>2]=0;r=e;return}function xI(){return 320}function yI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=r;r=r+224|0;d=c+220|0;e=c+216|0;h=c;g=c+212|0;f=c+208|0;k[d>>2]=a;k[e>>2]=b;bS(h|0,k[d>>2]|0,208)|0;bS(k[d>>2]|0,k[e>>2]|0,208)|0;bS(k[e>>2]|0,h|0,208)|0;k[g>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+8>>2];k[(k[e>>2]|0)+8>>2]=k[g>>2];k[g>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[(k[e>>2]|0)+4>>2]=k[g>>2];k[f>>2]=k[(k[d>>2]|0)+176>>2];k[(k[d>>2]|0)+176>>2]=k[(k[e>>2]|0)+176>>2];k[(k[e>>2]|0)+176>>2]=k[f>>2];b=(k[e>>2]|0)+144|0;j[b>>1]=j[b>>1]&-513|((m[(k[d>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;r=c;return}function zI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+40>>2]=0;r=b;return}function AI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[k[c>>2]>>2]|0)>=2?(k[(k[c>>2]|0)+72>>2]|0)!=0:0){e=gc[k[(k[c>>2]|0)+72>>2]&255](k[c>>2]|0,k[d>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}a=gc[k[(k[c>>2]|0)+64>>2]&255](k[c>>2]|0,e)|0;k[f>>2]=a;h=+p[e>>3]*864.0e5;a=+W(h)>=1.0?(h>0.0?~~+ia(+V(h/4294967296.0),4294967295.0)>>>0:~~+ga((h-+(~~h>>>0))/4294967296.0)>>>0):0;e=k[d>>2]|0;k[e>>2]=~~h>>>0;k[e+4>>2]=a;f=k[f>>2]|0;r=g;return f|0}function BI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=r;r=r+80|0;w=y+8|0;p=y;q=y+68|0;s=y+64|0;h=y+60|0;n=y+56|0;b=y+52|0;o=y+48|0;c=y+44|0;d=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;e=y+20|0;g=y+16|0;f=y+12|0;k[s>>2]=a;k[n>>2]=0;k[b>>2]=0;k[o>>2]=0;k[c>>2]=k[k[s>>2]>>2];k[v>>2]=0;k[t>>2]=(k[(k[s>>2]|0)+92>>2]|0)+40;YC(k[t>>2]|0,8);k[(k[s>>2]|0)+104>>2]=0;if((k[(k[s>>2]|0)+40>>2]|0)==7){wh(k[c>>2]|0);k[q>>2]=1;x=k[q>>2]|0;r=y;return x|0}k[h>>2]=k[(k[s>>2]|0)+136>>2];a:do if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){k[o>>2]=(k[(k[s>>2]|0)+92>>2]|0)+360;if(m[(k[o>>2]|0)+8>>1]&16){k[n>>2]=((k[(k[o>>2]|0)+12>>2]|0)>>>0)/4|0;k[b>>2]=k[(k[o>>2]|0)+16>>2]}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[n>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[(k[(k[b>>2]|0)+(k[d>>2]<<2)>>2]|0)+4>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);do{z=(k[s>>2]|0)+36|0;a=k[z>>2]|0;k[z>>2]=a+1;k[d>>2]=a;if((k[d>>2]|0)>=(k[h>>2]|0))break;if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((l[(k[(k[s>>2]|0)+88>>2]|0)+((k[d>>2]|0)*20|0)>>0]|0)!=162);do if((k[d>>2]|0)>=(k[h>>2]|0)){k[(k[s>>2]|0)+40>>2]=0;k[v>>2]=101}else{if(k[(k[c>>2]|0)+248>>2]|0){k[(k[s>>2]|0)+40>>2]=9;k[v>>2]=1;z=k[s>>2]|0;KI(z,vh(k[(k[s>>2]|0)+40>>2]|0)|0,p);break}if((k[d>>2]|0)<(k[(k[s>>2]|0)+136>>2]|0))k[u>>2]=(k[(k[s>>2]|0)+88>>2]|0)+((k[d>>2]|0)*20|0);else{k[d>>2]=(k[d>>2]|0)-(k[(k[s>>2]|0)+136>>2]|0);k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0))break;k[d>>2]=(k[d>>2]|0)-(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}k[u>>2]=(k[k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]>>2]|0)+((k[d>>2]|0)*20|0)}if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)==1?(j[(k[t>>2]|0)+8>>1]=4,p=k[d>>2]|0,z=k[t>>2]|0,k[z>>2]=p,k[z+4>>2]=((p|0)<0)<<31>>31,k[t>>2]=(k[t>>2]|0)+40,j[(k[t>>2]|0)+8>>1]=2562,z=$M(l[k[u>>2]>>0]|0)|0,k[(k[t>>2]|0)+16>>2]=z,z=Tf(k[(k[t>>2]|0)+16>>2]|0)|0,k[(k[t>>2]|0)+12>>2]=z,i[(k[t>>2]|0)+10>>0]=1,k[t>>2]=(k[t>>2]|0)+40,(i[(k[u>>2]|0)+1>>0]|0)==-18):0){k[g>>2]=(k[n>>2]|0)+1<<2;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[n>>2]|0))break;if((k[(k[b>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[u>>2]|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}if((k[f>>2]|0)==(k[n>>2]|0)?0==(Yx(k[o>>2]|0,k[g>>2]|0,(k[n>>2]|0)!=0&1)|0):0){k[b>>2]=k[(k[o>>2]|0)+16>>2];p=k[(k[u>>2]|0)+16>>2]|0;z=k[n>>2]|0;k[n>>2]=z+1;k[(k[b>>2]|0)+(z<<2)>>2]=p;z=(k[o>>2]|0)+8|0;j[z>>1]=m[z>>1]|16;k[(k[o>>2]|0)+12>>2]=k[n>>2]<<2}}j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+4>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;z=k[(k[u>>2]|0)+8>>2]|0;p=k[t>>2]|0;k[p>>2]=z;k[p+4>>2]=((z|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+12>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;if(Xx(k[t>>2]|0,100)|0){k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}j[(k[t>>2]|0)+8>>1]=514;b=aN(k[u>>2]|0,k[(k[t>>2]|0)+16>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[x>>2]=b;b=k[t>>2]|0;if((k[x>>2]|0)!=(k[(k[t>>2]|0)+16>>2]|0)){k[b+12>>2]=0;qh(k[t>>2]|0,k[x>>2]|0,-1,1,0)|0}else{z=Tf(k[b+16>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=z;i[(k[t>>2]|0)+10>>0]=1}k[t>>2]=(k[t>>2]|0)+40;do if(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(Xx(k[t>>2]|0,4)|0)){j[(k[t>>2]|0)+8>>1]=514;k[(k[t>>2]|0)+12>>2]=2;z=k[(k[t>>2]|0)+16>>2]|0;k[w>>2]=l[(k[u>>2]|0)+3>>0];_d(3,z,41910,w)|0;i[(k[t>>2]|0)+10>>0]=1;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=1;break}k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}while(0);j[(k[s>>2]|0)+140>>1]=8-(((m[(k[s>>2]|0)+144>>1]|0)>>>2&3)-1<<2);k[(k[s>>2]|0)+104>>2]=(k[(k[s>>2]|0)+92>>2]|0)+40;k[(k[s>>2]|0)+40>>2]=0;k[v>>2]=100}while(0);k[q>>2]=k[v>>2];z=k[q>>2]|0;r=y;return z|0}function CI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Zb=0,_b=0,ac=0,dc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=r;r=r+1872|0;Ie=vf+536|0;He=vf+528|0;Ge=vf+520|0;hf=vf+504|0;gf=vf+496|0;Fe=vf+488|0;Ee=vf+480|0;De=vf+472|0;Ce=vf+464|0;Be=vf+456|0;Ae=vf+440|0;ff=vf+432|0;ze=vf+424|0;ye=vf+416|0;xe=vf+408|0;we=vf+400|0;ve=vf+392|0;of=vf+376|0;nf=vf+368|0;mf=vf+360|0;lf=vf+352|0;qf=vf+1656|0;df=vf+1652|0;pf=vf+1648|0;uf=vf+1644|0;rf=vf+1640|0;ef=vf+1862|0;F=vf+1861|0;ca=vf+1636|0;tf=vf+1632|0;_a=vf+1628|0;e=vf+1624|0;Jc=vf+1620|0;Kc=vf+1616|0;Lc=vf+1612|0;dd=vf+1608|0;g=vf+1604|0;sf=vf+344|0;b=vf+1600|0;Sb=vf+1596|0;Cd=vf+1592|0;Bc=vf+1588|0;jf=vf+1584|0;A=vf+1580|0;db=vf+1670|0;sd=vf+1576|0;Ea=vf+1572|0;kb=vf+1568|0;ob=vf+1564|0;Fa=vf+1560|0;Rc=vf+1556|0;O=vf+1552|0;Ma=vf+336|0;w=vf+1860|0;J=vf+1668|0;ne=vf+1666|0;oe=vf+1664|0;_=vf+328|0;aa=vf+320|0;Kd=vf+312|0;Ld=vf+304|0;Ga=vf+1548|0;dc=vf+1544|0;U=vf+1540|0;ic=vf+1536|0;$=vf+296|0;pe=vf+288|0;ba=vf+280|0;hb=vf+1859|0;Md=vf+1532|0;Pd=vf+1528|0;q=vf+1858|0;K=vf+1662|0;M=vf+1660|0;Ia=vf+1524|0;X=vf+1520|0;nb=vf+1516|0;pb=vf+1512|0;Nc=vf+1508|0;ua=vf+1504|0;Tb=vf+1500|0;x=vf+1496|0;re=vf+1492|0;se=vf+1488|0;y=vf+1484|0;qb=vf+1480|0;xb=vf+1476|0;Ub=vf+1472|0;f=vf+1468|0;Ca=vf+1464|0;Q=vf+1460|0;yc=vf+1456|0;ee=vf+240|0;Te=vf+1452|0;Ye=vf+1448|0;We=vf+1444|0;fb=vf+1440|0;gb=vf+232|0;v=vf+1436|0;ie=vf+1432|0;id=vf+1428|0;Re=vf+1424|0;z=vf+1857|0;$e=vf+1420|0;hd=vf+1416|0;Qa=vf+224|0;Wa=vf+1412|0;Na=vf+216|0;bb=vf+208|0;ab=vf+1408|0;he=vf+1404|0;uc=vf+1400|0;Qc=vf+1396|0;Ta=vf+1392|0;Se=vf+1388|0;I=vf+1384|0;T=vf+1380|0;Ba=vf+1376|0;Da=vf+1372|0;Ra=vf+200|0;Vb=vf+1368|0;mb=vf+1364|0;_e=vf+1360|0;Za=vf+1356|0;cd=vf+1352|0;kd=vf+1348|0;od=vf+1344|0;sa=vf+1340|0;va=vf+1336|0;za=vf+1332|0;ya=vf+1328|0;C=vf+1324|0;ra=vf+1320|0;tb=vf+1316|0;na=vf+1312|0;ka=vf+1308|0;oa=vf+1304|0;ea=vf+1300|0;da=vf+1296|0;vc=vf+1292|0;Ua=vf+1288|0;Oc=vf+1284|0;rb=vf+1280|0;fa=vf+1276|0;Ke=vf+1272|0;Ad=vf+1268|0;lc=vf+1264|0;wc=vf+1260|0;qc=vf+1256|0;Pc=vf+1252|0;Dd=vf+1248|0;rc=vf+1244|0;yb=vf+1240|0;sc=vf+1236|0;Qd=vf+1232|0;eb=vf+1228|0;zb=vf+1224|0;Gd=vf+1208|0;Va=vf+1200|0;la=vf+192|0;G=vf+1196|0;s=vf+1192|0;me=vf+1188|0;wa=vf+1184|0;Ab=vf+1180|0;Rd=vf+1176|0;Gc=vf+1172|0;Hc=vf+1168|0;Hd=vf+1152|0;o=vf+1674|0;Bb=vf+1148|0;Wb=vf+1144|0;Sd=vf+1140|0;ma=vf+184|0;qe=vf+176|0;Cb=vf+1136|0;Td=vf+1132|0;B=vf+1128|0;Sc=vf+1124|0;Cc=vf+1120|0;tc=vf+1116|0;Mc=vf+1112|0;Db=vf+1108|0;ge=vf+1104|0;Ue=vf+1100|0;ld=vf+1096|0;ib=vf+1092|0;Le=vf+144|0;Eb=vf+1088|0;Ve=vf+1084|0;md=vf+1080|0;jb=vf+1076|0;Fb=vf+1072|0;Vd=vf+1068|0;Xa=vf+1064|0;Gb=vf+1060|0;Hb=vf+1056|0;Xb=vf+1052|0;Ha=vf+1048|0;Ib=vf+1044|0;te=vf+136|0;td=vf+1040|0;Xc=vf+1036|0;Jb=vf+1032|0;Kb=vf+1028|0;Zb=vf+1024|0;Wd=vf+1020|0;Lb=vf+1016|0;_b=vf+1012|0;Xd=vf+1008|0;Mb=vf+1004|0;Yd=vf+1e3|0;Nb=vf+996|0;Ne=vf+104|0;Ob=vf+992|0;ac=vf+988|0;Zd=vf+984|0;Id=vf+968|0;Pb=vf+964|0;nd=vf+960|0;be=vf+96|0;Qb=vf+956|0;_d=vf+952|0;Jd=vf+936|0;pa=vf+932|0;ha=vf+928|0;Pa=vf+924|0;Rb=vf+920|0;Ed=vf+916|0;N=vf+912|0;xc=vf+908|0;ja=vf+904|0;Ze=vf+900|0;af=vf+896|0;xa=vf+880|0;$a=vf+872|0;n=vf+868|0;Sa=vf+864|0;Oe=vf+860|0;Fd=vf+856|0;ue=vf+88|0;ta=vf+852|0;H=vf+848|0;Ya=vf+844|0;Oa=vf+840|0;jd=vf+836|0;Tc=vf+832|0;Ac=vf+828|0;Dc=vf+824|0;fd=vf+820|0;ke=vf+816|0;Ec=vf+812|0;Ic=vf+808|0;Fc=vf+804|0;Ja=vf+800|0;jc=vf+796|0;Y=vf+792|0;kc=vf+788|0;Uc=vf+784|0;le=vf+48|0;Vc=vf+780|0;Z=vf+776|0;h=vf+764|0;Wc=vf+760|0;vb=vf+756|0;ed=vf+752|0;D=vf+748|0;E=vf+744|0;Xe=vf+740|0;wb=vf+736|0;Aa=vf+1673|0;lb=vf+732|0;Pe=vf+728|0;rd=vf+724|0;fe=vf+8|0;bf=vf+720|0;mc=vf+716|0;pd=vf+712|0;ud=vf+708|0;Yc=vf+704|0;Ka=vf+700|0;qa=vf+696|0;Zc=vf+692|0;gd=vf+688|0;sb=vf+684|0;qd=vf+680|0;vd=vf+676|0;nc=vf+672|0;Nd=vf+668|0;P=vf+664|0;t=vf+660|0;wd=vf+656|0;_c=vf+652|0;zc=vf+648|0;de=vf+616|0;oc=vf+612|0;xd=vf+608|0;$c=vf+604|0;Od=vf+600|0;pc=vf+596|0;yd=vf+592|0;bd=vf+588|0;zd=vf+584|0;ad=vf+580|0;La=vf+576|0;R=vf+572|0;ce=vf;u=vf+568|0;Bd=vf+564|0;Je=vf+1672|0;cb=vf+560|0;ub=vf+556|0;cf=vf+552|0;S=vf+548|0;Me=vf+544|0;Qe=vf+540|0;k[qf>>2]=a;k[df>>2]=k[(k[qf>>2]|0)+88>>2];k[pf>>2]=k[df>>2];k[uf>>2]=0;k[rf>>2]=k[k[qf>>2]>>2];i[ef>>0]=0;i[F>>0]=i[(k[rf>>2]|0)+66>>0]|0;k[ca>>2]=0;k[tf>>2]=0;k[_a>>2]=0;k[e>>2]=k[(k[qf>>2]|0)+92>>2];k[Jc>>2]=0;k[Kc>>2]=0;k[Lc>>2]=0;k[dd>>2]=0;k[g>>2]=0;wf=(k[rf>>2]|0)+32|0;a=k[wf+4>>2]|0;c=sf;k[c>>2]=k[wf>>2];k[c+4>>2]=a;HI(k[qf>>2]|0);a:do if((k[(k[qf>>2]|0)+40>>2]|0)==7)d=889;else{k[(k[qf>>2]|0)+40>>2]=0;wf=(k[qf>>2]|0)+56|0;k[wf>>2]=0;k[wf+4>>2]=0;k[(k[qf>>2]|0)+104>>2]=0;k[(k[rf>>2]|0)+380+8>>2]=0;b:do if(!(k[(k[rf>>2]|0)+248>>2]|0)){if(k[(k[rf>>2]|0)+304>>2]|0){k[b>>2]=k[(k[qf>>2]|0)+156+16>>2];k[_a>>2]=(k[(k[rf>>2]|0)+312>>2]|0)-(((k[b>>2]|0)>>>0)%((k[(k[rf>>2]|0)+312>>2]|0)>>>0)|0)}k[pf>>2]=(k[df>>2]|0)+((k[(k[qf>>2]|0)+36>>2]|0)*20|0);c:while(1){k[tf>>2]=(k[tf>>2]|0)+1;d:do switch(l[k[pf>>2]>>0]|0){case 87:{d=64;break c}case 1:{d=393;break c}case 13:{d=7;break}case 14:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Jc>>2]|0)+8>>1]=4;wf=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;d=k[Jc>>2]|0;k[d>>2]=wf;k[d+4>>2]=((wf|0)<0)<<31>>31;d=14;break}case 72:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[pf>>2]=(k[df>>2]|0)+((k[k[Jc>>2]>>2]|0)*20|0);j[(k[Jc>>2]|0)+8>>1]=128;break}case 15:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);c=(k[(k[pf>>2]|0)+12>>2]|0)-1|0;wf=k[dd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;j[(k[dd>>2]|0)+8>>1]=4;if(k[(k[pf>>2]|0)+8>>2]|0)d=14;break}case 73:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Sb>>2]=(k[df>>2]|0)+((k[k[Jc>>2]>>2]|0)*20|0);k[pf>>2]=(k[df>>2]|0)+(((k[(k[Sb>>2]|0)+8>>2]|0)-1|0)*20|0);j[(k[Jc>>2]|0)+8>>1]=128;break}case 16:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Jc>>2]|0)+8>>1]=4;k[Cd>>2]=k[k[Jc>>2]>>2];c=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;wf=k[Jc>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;k[pf>>2]=(k[df>>2]|0)+((k[Cd>>2]|0)*20|0);break}case 74:{k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Lc>>2]|0)+8>>1]&1)d=20;break}case 75:{d=20;break}case 76:{c=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=c;c=k[(k[pf>>2]|0)+4>>2]|0;wf=k[dd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;break}case 77:{a=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=a;a=k[(k[pf>>2]|0)+16>>2]|0;c=k[a+4>>2]|0;wf=k[dd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;break}case 132:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;j[(k[dd>>2]|0)+8>>1]=8;p[k[dd>>2]>>3]=+p[k[(k[pf>>2]|0)+16>>2]>>3];break}case 97:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;i[k[pf>>2]>>0]=78;wf=Tf(k[(k[pf>>2]|0)+16>>2]|0)|0;k[(k[pf>>2]|0)+4>>2]=wf;if((l[F>>0]|0)!=1){wf=qh(k[dd>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,-1,1,0)|0;k[uf>>2]=wf;if(su(k[dd>>2]|0,l[F>>0]|0)|0){d=889;break a}k[(k[dd>>2]|0)+24>>2]=0;wf=(k[dd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|2048;if((i[(k[pf>>2]|0)+1>>0]|0)==-1)bg(k[rf>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);i[(k[pf>>2]|0)+1>>0]=-1;k[(k[pf>>2]|0)+16>>2]=k[(k[dd>>2]|0)+16>>2];k[(k[pf>>2]|0)+4>>2]=k[(k[dd>>2]|0)+12>>2]}if((k[(k[pf>>2]|0)+4>>2]|0)>(k[(k[rf>>2]|0)+96>>2]|0)){d=888;break c}else d=43;break}case 78:{d=43;break}case 79:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;k[A>>2]=(k[(k[pf>>2]|0)+12>>2]|0)-(k[(k[pf>>2]|0)+8>>2]|0);wf=((k[(k[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;j[db>>1]=wf;j[(k[dd>>2]|0)+8>>1]=wf;k[(k[dd>>2]|0)+12>>2]=0;while(1){if((k[A>>2]|0)<=0)break d;k[dd>>2]=(k[dd>>2]|0)+40;sh(k[dd>>2]|0);j[(k[dd>>2]|0)+8>>1]=j[db>>1]|0;k[(k[dd>>2]|0)+12>>2]=0;k[A>>2]=(k[A>>2]|0)+-1}}case 80:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[dd>>2]|0)+8>>1]=(m[(k[dd>>2]|0)+8>>1]|1)&-129;break}case 81:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;qh(k[dd>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,0)|0;i[(k[dd>>2]|0)+10>>0]=i[F>>0]|0;break}case 82:{k[sd>>2]=(k[(k[qf>>2]|0)+116>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(NI(k[sd>>2]|0)|0){d=888;break c}wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;uG(k[dd>>2]|0,k[sd>>2]|0,2048);break}case 83:{k[Ea>>2]=k[(k[pf>>2]|0)+12>>2];k[kb>>2]=k[(k[pf>>2]|0)+4>>2];k[ob>>2]=k[(k[pf>>2]|0)+8>>2];k[Jc>>2]=(k[e>>2]|0)+((k[kb>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[ob>>2]|0)*40|0);do{wI(k[dd>>2]|0,k[Jc>>2]|0);if((m[(k[dd>>2]|0)+8>>1]&4096|0)!=0?(lh(k[dd>>2]|0)|0)!=0:0){d=889;break a}k[Jc>>2]=(k[Jc>>2]|0)+40;k[dd>>2]=(k[dd>>2]|0)+40;wf=(k[Ea>>2]|0)+-1|0;k[Ea>>2]=wf}while((wf|0)!=0);break}case 84:{k[Fa>>2]=k[(k[pf>>2]|0)+12>>2];k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);while(1){uG(k[dd>>2]|0,k[Jc>>2]|0,4096);if((m[(k[dd>>2]|0)+8>>1]&4096|0)!=0?(lh(k[dd>>2]|0)|0)!=0:0){d=889;break a}wf=k[Fa>>2]|0;k[Fa>>2]=wf+-1;if(!wf)break d;k[dd>>2]=(k[dd>>2]|0)+40;k[Jc>>2]=(k[Jc>>2]|0)+40}}case 85:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);uG(k[dd>>2]|0,k[Jc>>2]|0,4096);break}case 86:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);wf=k[Jc>>2]|0;rh(k[dd>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0);break}case 52:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]|m[(k[Kc>>2]|0)+8>>1])&1){sh(k[dd>>2]|0);break d}if((m[(k[Jc>>2]|0)+8>>1]&16384|0)!=0?(gh(k[Jc>>2]|0)|0)!=0:0){d=889;break a}if((m[(k[Kc>>2]|0)+8>>1]&16384|0)!=0?(gh(k[Kc>>2]|0)|0)!=0:0){d=889;break a}if((m[(k[Jc>>2]|0)+8>>1]&18|0)==0?(Wx(k[Jc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=889;break a}if((m[(k[Kc>>2]|0)+8>>1]&18|0)==0?(Wx(k[Kc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=889;break a}b=(k[(k[Jc>>2]|0)+12>>2]|0)+(k[(k[Kc>>2]|0)+12>>2]|0)|0;c=Ma;k[c>>2]=b;k[c+4>>2]=((b|0)<0)<<31>>31;c=Ma;b=k[c+4>>2]|0;wf=k[(k[rf>>2]|0)+96>>2]|0;a=((wf|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0>wf>>>0:0)){d=888;break c}if(Yx(k[dd>>2]|0,(k[Ma>>2]|0)+2|0,(k[dd>>2]|0)==(k[Kc>>2]|0)&1)|0){d=889;break a}j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|2;if((k[dd>>2]|0)!=(k[Kc>>2]|0))bS(k[(k[dd>>2]|0)+16>>2]|0,k[(k[Kc>>2]|0)+16>>2]|0,k[(k[Kc>>2]|0)+12>>2]|0)|0;bS((k[(k[dd>>2]|0)+16>>2]|0)+(k[(k[Kc>>2]|0)+12>>2]|0)|0,k[(k[Jc>>2]|0)+16>>2]|0,k[(k[Jc>>2]|0)+12>>2]|0)|0;i[(k[(k[dd>>2]|0)+16>>2]|0)+(k[Ma>>2]|0)>>0]=0;wf=Ma;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;i[(k[(k[dd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(k[dd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|512;k[(k[dd>>2]|0)+12>>2]=k[Ma>>2];i[(k[dd>>2]|0)+10>>0]=i[F>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);wf=RI(k[Jc>>2]|0)|0;j[ne>>1]=wf;k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);wf=RI(k[Kc>>2]|0)|0;j[oe>>1]=wf;k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[J>>1]=m[(k[Jc>>2]|0)+8>>1]|m[(k[Kc>>2]|0)+8>>1];e:do if(!(m[J>>1]&1)){f:do if(m[ne>>1]&m[oe>>1]&4){wf=k[Jc>>2]|0;c=k[wf+4>>2]|0;a=_;k[a>>2]=k[wf>>2];k[a+4>>2]=c;a=k[Kc>>2]|0;c=k[a+4>>2]|0;wf=aa;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;i[w>>0]=1;switch(l[k[pf>>2]>>0]|0){case 47:{wf=_;if(SI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 48:{wf=_;if(TI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 49:{wf=_;if(UI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 50:{wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;c=_;wf=aa;if(((k[c>>2]|0)==-1?(k[c+4>>2]|0)==-1:0)&((k[wf>>2]|0)==0?(k[wf+4>>2]|0)==-2147483648:0))break f;c=_;wf=aa;c=iS(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=aa;k[wf>>2]=c;k[wf+4>>2]=L;break}default:{wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=_;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=_;k[wf>>2]=1;k[wf+4>>2]=0}c=_;wf=aa;c=jS(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=aa;k[wf>>2]=c;k[wf+4>>2]=L}}a=aa;c=k[a+4>>2]|0;wf=k[dd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;break d}else i[w>>0]=0;while(0);xf=+jh(k[Jc>>2]|0);p[Kd>>3]=xf;xf=+jh(k[Kc>>2]|0);p[Ld>>3]=xf;switch(l[k[pf>>2]>>0]|0){case 47:{p[Ld>>3]=+p[Ld>>3]+ +p[Kd>>3];break}case 48:{p[Ld>>3]=+p[Ld>>3]-+p[Kd>>3];break}case 49:{p[Ld>>3]=+p[Ld>>3]*+p[Kd>>3];break}case 50:{if(+p[Kd>>3]==0.0)break e;p[Ld>>3]=+p[Ld>>3]/+p[Kd>>3];break}default:{xf=+p[Kd>>3];wf=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;c=_;k[c>>2]=~~xf>>>0;k[c+4>>2]=wf;xf=+p[Ld>>3];c=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=aa;k[wf>>2]=~~xf>>>0;k[wf+4>>2]=c;wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=_;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=_;k[wf>>2]=1;k[wf+4>>2]=0}c=aa;wf=_;wf=jS(k[c>>2]|0,k[c+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;p[Ld>>3]=+(wf>>>0)+4294967296.0*+(L|0)}}if(!(AG(+p[Ld>>3])|0)){p[k[dd>>2]>>3]=+p[Ld>>3];j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|8;if((i[w>>0]|0)!=0?1:((m[ne>>1]|m[oe>>1])&8|0)!=0)break d;Tx(k[dd>>2]|0);break d}}while(0);sh(k[dd>>2]|0);break}case 88:{if(k[(k[pf>>2]|0)+4>>2]|0)rh((k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{k[Ga>>2]=l[(k[pf>>2]|0)+3>>0];wf=dx(k[rf>>2]|0,32+((k[Ga>>2]|0)-1<<2)|0,0)|0;k[dc>>2]=wf;if(!(k[dc>>2]|0)){d=889;break a}k[k[dc>>2]>>2]=0;k[(k[dc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[dc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[dc>>2]|0)+12>>2]=k[qf>>2];i[(k[dc>>2]|0)+26>>0]=k[Ga>>2];i[(k[pf>>2]|0)+1>>0]=-21;k[(k[pf>>2]|0)+16>>2]=k[dc>>2];i[k[pf>>2]>>0]=90;d=126;break}case 90:{d=126;break}case 46:case 45:case 44:case 43:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]|m[(k[Kc>>2]|0)+8>>1])&1){sh(k[dd>>2]|0);break d}wf=kh(k[Kc>>2]|0)|0;c=$;k[c>>2]=wf;k[c+4>>2]=L;c=kh(k[Jc>>2]|0)|0;wf=ba;k[wf>>2]=c;k[wf+4>>2]=L;i[hb>>0]=i[k[pf>>2]>>0]|0;do if((l[hb>>0]|0)!=43){a=ba;b=k[a>>2]|0;a=k[a+4>>2]|0;if((l[hb>>0]|0)==44){yf=$;c=k[yf+4>>2]|a;wf=$;k[wf>>2]=k[yf>>2]|b;k[wf+4>>2]=c;break}if((b|0)!=0|(a|0)!=0){if((k[ba+4>>2]|0)<0){i[hb>>0]=91-(l[hb>>0]|0);wf=ba;c=k[wf+4>>2]|0;wf=(c|0)>-1|(c|0)==-1&(k[wf>>2]|0)>>>0>4294967232;c=ba;c=_R(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=ba;k[yf>>2]=wf?c:64;k[yf+4>>2]=wf?L:0}yf=ba;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=64){yf=$;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=0)b=1;else b=(l[hb>>0]|0)==45;wf=b?0:-1;yf=$;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break};k[pe>>2]=k[$>>2];k[pe+4>>2]=k[$+4>>2];b=k[ba>>2]|0;c=pe;a=k[c>>2]|0;c=k[c+4>>2]|0;if((l[hb>>0]|0)!=45){wf=aS(a|0,c|0,b|0)|0;yf=pe;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[$+4>>2]|0)<0){c=ba;c=_R(64,0,k[c>>2]|0,k[c+4>>2]|0)|0;c=eS(-1,-1,c|0)|0;a=pe;wf=k[a+4>>2]|L;yf=pe;k[yf>>2]=k[a>>2]|c;k[yf+4>>2]=wf}}else{wf=eS(a|0,c|0,b|0)|0;yf=pe;k[yf>>2]=wf;k[yf+4>>2]=L};k[$>>2]=k[pe>>2];k[$+4>>2]=k[pe+4>>2]}}else{c=ba;a=$;wf=k[a+4>>2]&k[c+4>>2];yf=$;k[yf>>2]=k[a>>2]&k[c>>2];k[yf+4>>2]=wf}while(0);c=$;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;break}case 91:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);_x(k[Jc>>2]|0)|0;wf=k[(k[pf>>2]|0)+8>>2]|0;yf=k[Jc>>2]|0;c=yf;wf=$R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break}case 17:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]&4|0)==0?(Vx(k[Jc>>2]|0,67,i[F>>0]|0),(m[(k[Jc>>2]|0)+8>>1]&4|0)==0):0)if(!(k[(k[pf>>2]|0)+8>>2]|0)){d=159;break c}else{d=14;break d}j[(k[Jc>>2]|0)+8>>1]=m[(k[Jc>>2]|0)+8>>1]&-49664|4;break}case 92:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&4)$x(k[Jc>>2]|0)|0;break}case 93:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&16384)b=gh(k[Jc>>2]|0)|0;else b=0;k[uf>>2]=b;Ox(k[Jc>>2]|0,k[(k[pf>>2]|0)+8>>2]&255,i[F>>0]|0);if(k[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[K>>1]=j[(k[Jc>>2]|0)+8>>1]|0;j[M>>1]=j[(k[Lc>>2]|0)+8>>1]|0;b=l[(k[pf>>2]|0)+3>>0]|0;do if((m[K>>1]|m[M>>1])&1){if(!(b&128)){b=k[pf>>2]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(l[b+3>>0]&16){d=14;break d}else break d;else{k[dd>>2]=(k[e>>2]|0)+((k[b+8>>2]|0)*40|0);k[ca>>2]=1;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|1;break d}}if(((m[K>>1]&1|0)!=0?(m[M>>1]&1|0)!=0:0)?(m[M>>1]&256|0)==0:0){k[Md>>2]=0;break}k[Md>>2]=1}else{i[q>>0]=b&71;if((i[q>>0]|0)>=67){if((m[K>>1]|m[M>>1])&2){if((m[K>>1]&14|0)==2){Lh(k[Jc>>2]|0,0);j[M>>1]=j[(k[Lc>>2]|0)+8>>1]|0}if((m[M>>1]&14|0)==2)Lh(k[Lc>>2]|0,0)}if(m[(k[Jc>>2]|0)+8>>1]&m[(k[Lc>>2]|0)+8>>1]&4){wf=k[Lc>>2]|0;a=k[wf+4>>2]|0;yf=k[Jc>>2]|0;c=k[yf+4>>2]|0;if((a|0)>(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0>(k[yf>>2]|0)>>>0:0)){k[Md>>2]=1;break}wf=k[Lc>>2]|0;a=k[wf+4>>2]|0;yf=k[Jc>>2]|0;c=k[yf+4>>2]|0;if((a|0)<(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0<(k[yf>>2]|0)>>>0:0)){k[Md>>2]=-1;break}else{k[Md>>2]=0;break}}}else if((i[q>>0]|0)==66){if((m[K>>1]&2|0)==0?(m[K>>1]&12|0)!=0:0){Wx(k[Jc>>2]|0,i[F>>0]|0,1)|0;j[K>>1]=m[(k[Jc>>2]|0)+8>>1]&-33280|m[K>>1]&33279}if((m[M>>1]&2|0)==0?(m[M>>1]&12|0)!=0:0){Wx(k[Lc>>2]|0,i[F>>0]|0,1)|0;j[M>>1]=m[(k[Lc>>2]|0)+8>>1]&-33280|m[M>>1]&33279}}yf=WI(k[Lc>>2]|0,k[Jc>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[Md>>2]=yf}while(0);switch(l[k[pf>>2]>>0]|0){case 37:{k[Pd>>2]=(k[Md>>2]|0)==0&1;break}case 36:{k[Pd>>2]=k[Md>>2];break}case 40:{k[Pd>>2]=(k[Md>>2]|0)<0&1;break}case 39:{k[Pd>>2]=(k[Md>>2]|0)<=0&1;break}case 38:{k[Pd>>2]=(k[Md>>2]|0)>0&1;break}default:k[Pd>>2]=(k[Md>>2]|0)>=0&1}j[(k[Jc>>2]|0)+8>>1]=j[K>>1]|0;j[(k[Lc>>2]|0)+8>>1]=j[M>>1]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(k[Pd>>2]|0){d=14;break d}else break d;k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[ca>>2]=k[Md>>2];k[Pd>>2]=(k[Pd>>2]|0)!=0&1;if((l[(k[pf>>2]|0)+3>>0]&8|0)!=0?((l[k[pf>>2]>>0]|0)==37|0)==(k[Pd>>2]|0):0)break d;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;wf=k[Pd>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 42:{if(k[ca>>2]|0)d=14;break}case 94:{k[g>>2]=(k[(k[pf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(l[(k[pf>>2]|0)+3>>0]&1))k[g>>2]=0;k[Ia>>2]=k[(k[pf>>2]|0)+12>>2];k[Nc>>2]=k[(k[pf>>2]|0)+16>>2];k[nb>>2]=k[(k[pf>>2]|0)+4>>2];k[pb>>2]=k[(k[pf>>2]|0)+8>>2];k[X>>2]=0;while(1){if((k[X>>2]|0)>=(k[Ia>>2]|0))break;b=k[X>>2]|0;if(k[g>>2]|0)b=k[(k[g>>2]|0)+(b<<2)>>2]|0;k[ua>>2]=b;k[Tb>>2]=k[(k[Nc>>2]|0)+20+(k[X>>2]<<2)>>2];k[x>>2]=l[(k[(k[Nc>>2]|0)+16>>2]|0)+(k[X>>2]|0)>>0];yf=WI((k[e>>2]|0)+(((k[nb>>2]|0)+(k[ua>>2]|0)|0)*40|0)|0,(k[e>>2]|0)+(((k[pb>>2]|0)+(k[ua>>2]|0)|0)*40|0)|0,k[Tb>>2]|0)|0;k[ca>>2]=yf;if(k[ca>>2]|0){d=217;break}k[X>>2]=(k[X>>2]|0)+1}if((d|0)==217?(d=0,(k[x>>2]|0)!=0):0)k[ca>>2]=0-(k[ca>>2]|0);k[g>>2]=0;break}case 18:{if((k[ca>>2]|0)<0){k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}b=k[pf>>2]|0;if(!(k[ca>>2]|0)){k[pf>>2]=(k[df>>2]|0)+(((k[b+8>>2]|0)-1|0)*20|0);break d}else{k[pf>>2]=(k[df>>2]|0)+(((k[b+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&1)k[re>>2]=2;else{yf=kh(k[Jc>>2]|0)|0;k[re>>2]=((yf|0)!=0|(L|0)!=0)&1}k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(m[(k[Kc>>2]|0)+8>>1]&1)k[se>>2]=2;else{yf=kh(k[Kc>>2]|0)|0;k[se>>2]=((yf|0)!=0|(L|0)!=0)&1}b=((k[re>>2]|0)*3|0)+(k[se>>2]|0)|0;if((l[k[pf>>2]>>0]|0)==28)k[re>>2]=l[39925+b>>0];else k[re>>2]=l[39934+b>>0];k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((k[re>>2]|0)==2){j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|1;break d}else{wf=k[re>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);sh(k[dd>>2]|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1)){j[(k[dd>>2]|0)+8>>1]=4;wf=kh(k[Jc>>2]|0)|0;wf=(((wf|0)!=0|(L|0)!=0)^1)&1;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);sh(k[dd>>2]|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1)){j[(k[dd>>2]|0)+8>>1]=4;wf=kh(k[Jc>>2]|0)|0;yf=k[dd>>2]|0;k[yf>>2]=~wf;k[yf+4>>2]=~L}break}case 20:{if((k[(k[(k[qf>>2]|0)+88>>2]|0)+4>>2]|0)==(k[(k[pf>>2]|0)+4>>2]|0))d=14;else k[(k[pf>>2]|0)+4>>2]=k[(k[(k[qf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1)){yf=+jh(k[Jc>>2]|0)!=0.0&1;k[y>>2]=yf;if((l[k[pf>>2]>>0]|0)==22)k[y>>2]=((k[y>>2]|0)!=0^1)&1}else k[y>>2]=k[(k[pf>>2]|0)+12>>2];if(k[y>>2]|0)d=14;break}case 34:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Jc>>2]|0)+8>>1]&1)d=14;break}case 35:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Jc>>2]|0)+8>>1]&1))d=14;break}case 96:{k[xb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[qb>>2]=k[(k[pf>>2]|0)+8>>2];yf=XI(xb,qb)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[yc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[f>>2]=k[(k[xb>>2]|0)+76>>2];k[Ub>>2]=k[(k[xb>>2]|0)+16>>2];do if((k[(k[xb>>2]|0)+56>>2]|0)!=(k[(k[qf>>2]|0)+32>>2]|0)){do if(i[(k[xb>>2]|0)+2>>0]|0)if((l[k[xb>>2]>>0]|0)==3){k[id>>2]=(k[e>>2]|0)+((k[(k[xb>>2]|0)+16>>2]|0)*40|0);yf=k[(k[id>>2]|0)+12>>2]|0;k[v>>2]=yf;k[(k[xb>>2]|0)+64>>2]=yf;k[(k[xb>>2]|0)+60>>2]=yf;k[(k[xb>>2]|0)+72>>2]=k[(k[id>>2]|0)+16>>2];break}else{sh(k[yc>>2]|0);break d}else{b=lI(k[Ub>>2]|0)|0;k[(k[xb>>2]|0)+60>>2]=b;b=YI(k[Ub>>2]|0,v)|0;k[(k[xb>>2]|0)+72>>2]=b;b=k[(k[xb>>2]|0)+60>>2]|0;if((k[(k[xb>>2]|0)+60>>2]|0)>>>0<=(k[v>>2]|0)>>>0){k[(k[xb>>2]|0)+64>>2]=b;break}if(b>>>0>(k[(k[rf>>2]|0)+96>>2]|0)>>>0){d=888;break c}k[(k[xb>>2]|0)+64>>2]=k[v>>2]}while(0);k[(k[xb>>2]|0)+56>>2]=k[(k[qf>>2]|0)+32>>2];b=k[(k[xb>>2]|0)+72>>2]|0;if((l[k[(k[xb>>2]|0)+72>>2]>>0]|0)<128){k[fb>>2]=l[b>>0];b=1}else b=(lG(b,fb)|0)&255;k[(k[xb>>2]|0)+68>>2]=b&255;j[(k[xb>>2]|0)+14>>1]=0;k[k[f>>2]>>2]=k[fb>>2];if((k[v>>2]|0)>>>0<(k[fb>>2]|0)>>>0){k[(k[xb>>2]|0)+72>>2]=0;k[(k[xb>>2]|0)+64>>2]=0;if((k[fb>>2]|0)>>>0>98307){d=267;break c}if((k[fb>>2]|0)>>>0>(k[(k[xb>>2]|0)+60>>2]|0)>>>0){d=267;break c}else{d=270;break}}else{if((k[fb>>2]|0)>>>0<=0){d=270;break}k[Te>>2]=k[(k[xb>>2]|0)+72>>2];d=276;break}}else d=270;while(0);do if((d|0)==270){d=0;if((m[(k[xb>>2]|0)+14>>1]|0)>(k[qb>>2]|0)){k[ie>>2]=k[(k[xb>>2]|0)+80+(k[qb>>2]<<2)>>2];break}if((k[(k[xb>>2]|0)+68>>2]|0)>>>0>=(k[k[f>>2]>>2]|0)>>>0){k[ie>>2]=0;d=292;break}if(k[(k[xb>>2]|0)+72>>2]|0){k[Te>>2]=k[(k[xb>>2]|0)+72>>2];d=276;break}b=ee;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));yf=ZI(k[Ub>>2]|0,0,k[k[f>>2]>>2]|0,((i[(k[xb>>2]|0)+4>>0]|0)!=0^1)&1,ee)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[Te>>2]=k[ee+16>>2];d=276}while(0);if((d|0)==276){k[Q>>2]=m[(k[xb>>2]|0)+14>>1];yf=gb;k[yf>>2]=k[(k[f>>2]|0)+(k[Q>>2]<<2)>>2];k[yf+4>>2]=0;k[Ye>>2]=(k[Te>>2]|0)+(k[(k[xb>>2]|0)+68>>2]|0);k[We>>2]=(k[Te>>2]|0)+(k[k[f>>2]>>2]|0);do{yf=l[k[Ye>>2]>>0]|0;k[ie>>2]=yf;b=k[Ye>>2]|0;if(yf>>>0<128){k[Ye>>2]=b+1;wf=(_I(k[ie>>2]&255)|0)&255;yf=gb;wf=$R(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=gb;k[yf>>2]=wf;k[yf+4>>2]=L}else{wf=(lG(b,ie)|0)&255;k[Ye>>2]=(k[Ye>>2]|0)+wf;wf=mG(k[ie>>2]|0)|0;yf=gb;wf=$R(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=gb;k[yf>>2]=wf;k[yf+4>>2]=L}wf=k[ie>>2]|0;yf=k[Q>>2]|0;k[Q>>2]=yf+1;k[(k[xb>>2]|0)+80+(yf<<2)>>2]=wf;k[(k[f>>2]|0)+(k[Q>>2]<<2)>>2]=k[gb>>2];if((k[Q>>2]|0)>(k[qb>>2]|0))break}while((k[Ye>>2]|0)>>>0<(k[We>>2]|0)>>>0);if((k[Ye>>2]|0)>>>0>=(k[We>>2]|0)>>>0){if((k[Ye>>2]|0)>>>0>(k[We>>2]|0)>>>0){d=286;break c}yf=gb;if((k[yf+4>>2]|0)!=0?1:(k[yf>>2]|0)!=(k[(k[xb>>2]|0)+60>>2]|0)){d=286;break c}}yf=gb;wf=k[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(k[yf>>2]|0)>>>0>(k[(k[xb>>2]|0)+60>>2]|0)>>>0:0)){d=286;break c}j[(k[xb>>2]|0)+14>>1]=k[Q>>2];k[(k[xb>>2]|0)+68>>2]=(k[Ye>>2]|0)-(k[Te>>2]|0);if(!(k[(k[xb>>2]|0)+72>>2]|0)){fh(ee);d=292}else d=292}if((d|0)==292?(d=0,(m[(k[xb>>2]|0)+14>>1]|0)<=(k[qb>>2]|0)):0){b=k[yc>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)==-8){uG(b,k[(k[pf>>2]|0)+16>>2]|0,2048);break d}else{sh(b);break d}}if(m[(k[yc>>2]|0)+8>>1]&9312)sh(k[yc>>2]|0);if((k[(k[xb>>2]|0)+64>>2]|0)>>>0>=(k[(k[f>>2]|0)+((k[qb>>2]|0)+1<<2)>>2]|0)>>>0){k[Te>>2]=(k[(k[xb>>2]|0)+72>>2]|0)+(k[(k[f>>2]|0)+(k[qb>>2]<<2)>>2]|0);if((k[ie>>2]|0)>>>0<12){nG(k[Te>>2]|0,k[ie>>2]|0,k[yc>>2]|0)|0;break d}b=(((k[ie>>2]|0)-12|0)>>>0)/2|0;k[Ca>>2]=b;k[(k[yc>>2]|0)+12>>2]=b;i[(k[yc>>2]|0)+10>>0]=i[F>>0]|0;b=k[yc>>2]|0;if((k[(k[yc>>2]|0)+24>>2]|0)<((k[Ca>>2]|0)+2|0)){j[b+8>>1]=1;if(Yx(k[yc>>2]|0,(k[Ca>>2]|0)+2|0,0)|0){d=889;break a}}else k[(k[yc>>2]|0)+16>>2]=k[b+20>>2];bS(k[(k[yc>>2]|0)+16>>2]|0,k[Te>>2]|0,k[Ca>>2]|0)|0;i[(k[(k[yc>>2]|0)+16>>2]|0)+(k[Ca>>2]|0)>>0]=0;i[(k[(k[yc>>2]|0)+16>>2]|0)+((k[Ca>>2]|0)+1)>>0]=0;j[(k[yc>>2]|0)+8>>1]=j[16418+((k[ie>>2]&1)<<1)>>1]|0;break d}i[(k[yc>>2]|0)+10>>0]=i[F>>0]|0;do if(l[(k[pf>>2]|0)+3>>0]&192){if((k[ie>>2]|0)>>>0>=12?(k[ie>>2]&1|0)==0:0)break;if(!(l[(k[pf>>2]|0)+3>>0]&128))d=310}else d=310;while(0);if((d|0)==310?(d=0,yf=mG(k[ie>>2]|0)|0,k[Ca>>2]=yf,(yf|0)!=0):0){yf=ZI(k[Ub>>2]|0,k[(k[f>>2]|0)+(k[qb>>2]<<2)>>2]|0,k[Ca>>2]|0,((i[(k[xb>>2]|0)+4>>0]|0)!=0^1)&1,k[yc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;nG(k[(k[yc>>2]|0)+16>>2]|0,k[ie>>2]|0,k[yc>>2]|0)|0;yf=(k[yc>>2]|0)+8|0;j[yf>>1]=m[yf>>1]&-4097;break d}nG(39943,k[ie>>2]|0,k[yc>>2]|0)|0;break}case 98:{k[Re>>2]=k[(k[pf>>2]|0)+16>>2];k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=k[Re>>2]|0;k[Re>>2]=yf+1;yf=i[yf>>0]|0;i[z>>0]=yf;if(!(yf<<24>>24))break d;Vx(k[Jc>>2]|0,i[z>>0]|0,i[F>>0]|0);k[Jc>>2]=(k[Jc>>2]|0)+40}}case 99:{yf=Qa;k[yf>>2]=0;k[yf+4>>2]=0;k[Wa>>2]=0;yf=bb;k[yf>>2]=0;k[yf+4>>2]=0;k[Ta>>2]=k[(k[pf>>2]|0)+4>>2];k[Se>>2]=k[(k[pf>>2]|0)+16>>2];k[uc>>2]=(k[e>>2]|0)+((k[Ta>>2]|0)*40|0);k[Ta>>2]=k[(k[pf>>2]|0)+8>>2];k[Qc>>2]=(k[uc>>2]|0)+(((k[Ta>>2]|0)-1|0)*40|0);k[I>>2]=l[(k[qf>>2]|0)+143>>0];k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(k[Se>>2]|0){k[hd>>2]=k[uc>>2];do{wf=k[hd>>2]|0;k[hd>>2]=wf+40;yf=k[Se>>2]|0;k[Se>>2]=yf+1;Vx(wf,i[yf>>0]|0,i[F>>0]|0)}while((i[k[Se>>2]>>0]|0)!=0)}k[hd>>2]=k[Qc>>2];while(1){yf=$I(k[hd>>2]|0,k[I>>2]|0,Da)|0;k[he>>2]=yf;k[(k[hd>>2]|0)+28>>2]=yf;do if(m[(k[hd>>2]|0)+8>>1]&16384){yf=Qa;b=k[hd>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0)if(gh(b)|0){d=889;break a}else break;else{wf=k[b>>2]|0;yf=bb;wf=$R(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=bb;k[yf>>2]=wf;k[yf+4>>2]=L;k[Da>>2]=(k[Da>>2]|0)-(k[k[hd>>2]>>2]|0);break}}while(0);wf=Qa;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,k[Da>>2]|0,0)|0;yf=Qa;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[he>>2]|0)>>>0<=127)b=1;else b=sG(k[he>>2]|0,0)|0;k[Wa>>2]=(k[Wa>>2]|0)+b;if((k[hd>>2]|0)==(k[uc>>2]|0))break;k[hd>>2]=(k[hd>>2]|0)+-40}b=k[Wa>>2]|0;if((k[Wa>>2]|0)>126){wf=sG(b,((b|0)<0)<<31>>31)|0;k[ab>>2]=wf;k[Wa>>2]=(k[Wa>>2]|0)+(k[ab>>2]|0);wf=k[ab>>2]|0;yf=k[Wa>>2]|0;if((wf|0)<(sG(yf,((yf|0)<0)<<31>>31)|0))k[Wa>>2]=(k[Wa>>2]|0)+1}else k[Wa>>2]=b+1;a=k[Wa>>2]|0;wf=Qa;wf=$R(a|0,((a|0)<0)<<31>>31|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=Na;k[a>>2]=wf;k[a+4>>2]=L;a=Na;wf=bb;wf=$R(k[a>>2]|0,k[a+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=L;yf=k[(k[rf>>2]|0)+96>>2]|0;c=((yf|0)<0)<<31>>31;if((a|0)>(c|0)|(a|0)==(c|0)&wf>>>0>yf>>>0){d=888;break c}if(Xx(k[dd>>2]|0,k[Na>>2]|0)|0){d=889;break a}k[$e>>2]=k[(k[dd>>2]|0)+16>>2];if((k[Wa>>2]|0)>>>0<128){i[k[$e>>2]>>0]=k[Wa>>2];b=1}else{b=k[Wa>>2]|0;b=aJ(k[$e>>2]|0,b,((b|0)<0)<<31>>31)|0}k[T>>2]=b&255;k[Ba>>2]=k[Wa>>2];k[hd>>2]=k[uc>>2];do{k[he>>2]=k[(k[hd>>2]|0)+28>>2];if((k[he>>2]|0)>>>0<128){i[(k[$e>>2]|0)+(k[T>>2]|0)>>0]=k[he>>2];b=1}else b=aJ((k[$e>>2]|0)+(k[T>>2]|0)|0,k[he>>2]|0,0)|0;k[T>>2]=(k[T>>2]|0)+(b&255);yf=bJ((k[$e>>2]|0)+(k[Ba>>2]|0)|0,k[hd>>2]|0,k[he>>2]|0)|0;k[Ba>>2]=(k[Ba>>2]|0)+yf;yf=(k[hd>>2]|0)+40|0;k[hd>>2]=yf}while(yf>>>0<=(k[Qc>>2]|0)>>>0);k[(k[dd>>2]|0)+12>>2]=k[Na>>2];j[(k[dd>>2]|0)+8>>1]=16;yf=bb;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){k[k[dd>>2]>>2]=k[bb>>2];yf=(k[dd>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|16384}i[(k[dd>>2]|0)+10>>0]=1;break}case 100:{k[Vb>>2]=k[(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ra;k[yf>>2]=0;k[yf+4>>2]=0;yf=cJ(k[Vb>>2]|0,Ra)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;c=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=c;c=Ra;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 0:{k[mb>>2]=k[(k[pf>>2]|0)+4>>2];k[_e>>2]=k[(k[pf>>2]|0)+16>>2];do if(!(k[mb>>2]|0)){if((k[(k[rf>>2]|0)+164>>2]|0)>0){KI(k[qf>>2]|0,39951,we);k[uf>>2]=5;break}yf=Tf(k[_e>>2]|0)|0;k[Za>>2]=yf;yf=dJ(k[rf>>2]|0,0,(k[(k[rf>>2]|0)+436>>2]|0)+(k[(k[rf>>2]|0)+432>>2]|0)|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=dx(k[rf>>2]|0,32+(k[Za>>2]|0)+1|0,0)|0;k[cd>>2]=yf;if(k[cd>>2]|0){k[k[cd>>2]>>2]=(k[cd>>2]|0)+32;bS(k[k[cd>>2]>>2]|0,k[_e>>2]|0,(k[Za>>2]|0)+1|0)|0;b=k[rf>>2]|0;if(i[(k[rf>>2]|0)+67>>0]|0){i[b+67>>0]=0;i[(k[rf>>2]|0)+75>>0]=1}else{yf=b+432|0;k[yf>>2]=(k[yf>>2]|0)+1}k[(k[cd>>2]|0)+24>>2]=k[(k[rf>>2]|0)+424>>2];k[(k[rf>>2]|0)+424>>2]=k[cd>>2];yf=(k[rf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[cd>>2]|0)+8|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[rf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[cd>>2]|0)+16|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}}else{k[sa>>2]=0;k[kd>>2]=k[(k[rf>>2]|0)+424>>2];while(1){if(!(k[kd>>2]|0))break;if(!(sg(k[k[kd>>2]>>2]|0,k[_e>>2]|0)|0))break;k[sa>>2]=(k[sa>>2]|0)+1;k[kd>>2]=k[(k[kd>>2]|0)+24>>2]}if(!(k[kd>>2]|0)){yf=k[qf>>2]|0;k[xe>>2]=k[_e>>2];KI(yf,40002,xe);k[uf>>2]=1;break}if((k[mb>>2]|0)==1?(k[(k[rf>>2]|0)+164>>2]|0)>0:0){KI(k[qf>>2]|0,40024,ye);k[uf>>2]=5;break}if(!(k[(k[kd>>2]|0)+24>>2]|0))b=(l[(k[rf>>2]|0)+75>>0]|0)!=0;else b=0;k[za>>2]=b&1;if(!((k[za>>2]|0)!=0&(k[mb>>2]|0)==1)){k[sa>>2]=(k[(k[rf>>2]|0)+432>>2]|0)-(k[sa>>2]|0)-1;g:do if((k[mb>>2]|0)==2){k[ya>>2]=(k[(k[rf>>2]|0)+24>>2]&2|0)!=0&1;k[va>>2]=0;while(1){if((k[va>>2]|0)>=(k[(k[rf>>2]|0)+20>>2]|0))break g;yf=eJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[va>>2]<<4)+4>>2]|0,516,(k[ya>>2]|0)==0&1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[va>>2]=(k[va>>2]|0)+1}}else k[ya>>2]=0;while(0);k[va>>2]=0;while(1){if((k[va>>2]|0)>=(k[(k[rf>>2]|0)+20>>2]|0))break;yf=fJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[va>>2]<<4)+4>>2]|0,k[mb>>2]|0,k[sa>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[va>>2]=(k[va>>2]|0)+1}if(k[ya>>2]|0){ai(k[rf>>2]|0);Mg(k[rf>>2]|0);k[(k[rf>>2]|0)+24>>2]=k[(k[rf>>2]|0)+24>>2]|2}}else{yf=OI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){d=887;break c}i[(k[rf>>2]|0)+67>>0]=1;if((LI(k[qf>>2]|0)|0)==5){d=370;break c}i[(k[rf>>2]|0)+75>>0]=0;k[uf>>2]=k[(k[qf>>2]|0)+40>>2]}while(1){if((k[(k[rf>>2]|0)+424>>2]|0)==(k[kd>>2]|0))break;k[od>>2]=k[(k[rf>>2]|0)+424>>2];k[(k[rf>>2]|0)+424>>2]=k[(k[od>>2]|0)+24>>2];bg(k[rf>>2]|0,k[od>>2]|0);yf=(k[rf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}b=k[kd>>2]|0;if((k[mb>>2]|0)==1){k[(k[rf>>2]|0)+424>>2]=k[b+24>>2];bg(k[rf>>2]|0,k[kd>>2]|0);if(!(k[za>>2]|0)){yf=(k[rf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}}else{yf=b+8|0;wf=k[yf+4>>2]|0;c=(k[rf>>2]|0)+440|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[kd>>2]|0)+16|0;wf=k[c+4>>2]|0;yf=(k[rf>>2]|0)+448|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((k[za>>2]|0)==0|(k[mb>>2]|0)==2){yf=dJ(k[rf>>2]|0,k[mb>>2]|0,k[sa>>2]|0)|0;k[uf>>2]=yf;if((k[uf>>2]|0)!=0|(k[uf>>2]|0)!=0)break a;else break d}}while(0);if(k[uf>>2]|0)break a;break}case 2:{if((k[(k[pf>>2]|0)+8>>2]|0)!=0?(k[(k[rf>>2]|0)+24>>2]&67108864|0)!=0:0){d=411;break c}k[tb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];if(k[tb>>2]|0){yf=zg(k[tb>>2]|0,k[(k[pf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=414;break c}do if((k[(k[pf>>2]|0)+8>>2]|0)!=0?((m[(k[qf>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){if((l[(k[rf>>2]|0)+67>>0]|0)!=0?(k[(k[rf>>2]|0)+160>>2]|0)<=1:0)break;if(!(k[(k[qf>>2]|0)+48>>2]|0)){yf=(k[rf>>2]|0)+436|0;k[yf>>2]=(k[yf>>2]|0)+1;k[(k[qf>>2]|0)+48>>2]=(k[(k[rf>>2]|0)+432>>2]|0)+(k[(k[rf>>2]|0)+436>>2]|0)}yf=dJ(k[rf>>2]|0,0,(k[(k[qf>>2]|0)+48>>2]|0)-1|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=iJ(k[tb>>2]|0,k[(k[qf>>2]|0)+48>>2]|0)|0;k[uf>>2]=yf}yf=(k[rf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[qf>>2]|0)+72|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[rf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[qf>>2]|0)+80|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);Bg(k[tb>>2]|0,1,na);k[ka>>2]=k[(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{k[na>>2]=0;k[ka>>2]=0}do if(l[(k[pf>>2]|0)+3>>0]|0){if((k[na>>2]|0)==(k[(k[pf>>2]|0)+12>>2]|0)?(k[ka>>2]|0)==(k[(k[pf>>2]|0)+16>>2]|0):0)break;bg(k[rf>>2]|0,k[(k[qf>>2]|0)+108>>2]|0);yf=Ah(k[rf>>2]|0,40265)|0;k[(k[qf>>2]|0)+108>>2]=yf;if((k[k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(k[na>>2]|0))Gj(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2|1;k[uf>>2]=17}while(0);if(k[uf>>2]|0)break a;break}case 101:{k[ea>>2]=k[(k[pf>>2]|0)+4>>2];k[da>>2]=k[(k[pf>>2]|0)+12>>2];Bg(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ea>>2]<<4)+4>>2]|0,k[da>>2]|0,oa);wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;wf=k[oa>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 102:{k[vc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);b=Lg(k[(k[vc>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,k[(k[pf>>2]|0)+12>>2]|0)|0;k[uf>>2]=b;b=k[pf>>2]|0;if((k[(k[pf>>2]|0)+8>>2]|0)!=1){if((k[b+8>>2]|0)==2)i[(k[(k[vc>>2]|0)+12>>2]|0)+76>>0]=k[(k[pf>>2]|0)+12>>2]}else{k[k[(k[vc>>2]|0)+12>>2]>>2]=k[b+12>>2];yf=(k[rf>>2]|0)+24|0;k[yf>>2]=k[yf>>2]|2}if((k[(k[pf>>2]|0)+4>>2]|0)==1){ai(k[rf>>2]|0);yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2}if(k[uf>>2]|0)break a;break}case 103:{k[lc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((k[lc>>2]|0)!=0?(k[(k[lc>>2]|0)+8>>2]|0)==(k[(k[pf>>2]|0)+8>>2]|0):0)d=458;else d=444;break}case 105:case 104:{d=444;break}case 107:case 106:{yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,0)|0;k[qc>>2]=yf;if(!(k[qc>>2]|0)){d=889;break a}i[(k[qc>>2]|0)+2>>0]=1;yf=(k[qc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-2|1;yf=lk(k[k[rf>>2]>>2]|0,0,k[rf>>2]|0,(k[qc>>2]|0)+20|0,5|l[(k[pf>>2]|0)+3>>0],1054)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=zg(k[(k[qc>>2]|0)+20>>2]|0,1)|0;k[uf>>2]=yf}do if(!(k[uf>>2]|0)){yf=k[(k[pf>>2]|0)+16>>2]|0;k[Pc>>2]=yf;b=k[(k[qc>>2]|0)+20>>2]|0;if(!yf){yf=kJ(b,1,4,0,k[(k[qc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;i[(k[qc>>2]|0)+4>>0]=1;break}yf=mJ(b,Dd,2|l[(k[pf>>2]|0)+3>>0])|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){k[(k[qc>>2]|0)+24>>2]=k[Pc>>2];yf=kJ(k[(k[qc>>2]|0)+20>>2]|0,k[Dd>>2]|0,4,k[Pc>>2]|0,k[(k[qc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf}i[(k[qc>>2]|0)+4>>0]=0}while(0);if(k[uf>>2]|0)break a;yf=(k[qc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-5|((l[(k[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,1)|0;k[rc>>2]=yf;if(!(k[rc>>2]|0)){d=889;break a}k[(k[rc>>2]|0)+24>>2]=k[(k[pf>>2]|0)+16>>2];yf=nJ(k[rf>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,k[rc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 109:{k[yb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];c=(k[yb>>2]|0)+32|0;yf=c;wf=k[yf>>2]|0;yf=k[yf+4>>2]|0;a=$R(wf|0,yf|0,1,0)|0;k[c>>2]=a;k[c+4>>2]=L;if((wf|0)==0&(yf|0)==0)d=14;break}case 110:{yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,-1,3)|0;k[sc>>2]=yf;if(!(k[sc>>2]|0)){d=889;break a}i[(k[sc>>2]|0)+2>>0]=1;k[(k[sc>>2]|0)+16>>2]=k[(k[pf>>2]|0)+8>>2];i[(k[sc>>2]|0)+4>>0]=1;break}case 111:{oJ(k[qf>>2]|0,k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0);k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{k[zb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[eb>>2]=l[k[pf>>2]>>0];k[G>>2]=0;i[(k[zb>>2]|0)+2>>0]=0;if(i[(k[zb>>2]|0)+4>>0]|0){k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Lc>>2]|0)+8>>1]&14|0)==2)Lh(k[Lc>>2]|0,0);wf=kh(k[Lc>>2]|0)|0;yf=la;k[yf>>2]=wf;k[yf+4>>2]=L;do if(!(m[(k[Lc>>2]|0)+8>>1]&4)){if(!(m[(k[Lc>>2]|0)+8>>1]&8)){d=14;break d}yf=la;if(+p[k[Lc>>2]>>3]<+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)){if(k[eb>>2]&1)break;k[eb>>2]=(k[eb>>2]|0)+-1;break}yf=la;if(+p[k[Lc>>2]>>3]>+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)?(k[eb>>2]&1|0)==1:0)k[eb>>2]=(k[eb>>2]|0)+1}while(0);c=la;c=YF(k[(k[zb>>2]|0)+16>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Qd)|0;k[uf>>2]=c;c=la;wf=k[c+4>>2]|0;yf=(k[zb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(k[uf>>2]|0)break a;else d=493}else{if(pJ(k[(k[zb>>2]|0)+16>>2]|0,2)|0)k[G>>2]=1;k[Va>>2]=k[(k[pf>>2]|0)+16>>2];k[Gd>>2]=k[(k[zb>>2]|0)+24>>2];j[Gd+8>>1]=k[Va>>2];i[Gd+10>>0]=(1&(k[eb>>2]|0)-23|0)!=0?-1:1;k[Gd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);i[Gd+14>>0]=0;yf=YF(k[(k[zb>>2]|0)+16>>2]|0,Gd,0,0,0,Qd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(!((k[G>>2]|0)!=0?(l[Gd+14>>0]|0)==0:0))d=493}do if((d|0)==493){d=0;i[(k[zb>>2]|0)+3>>0]=0;k[(k[zb>>2]|0)+56>>2]=0;b=k[Qd>>2]|0;if((k[eb>>2]|0)>=25){if((b|0)>=0?!((k[Qd>>2]|0)==0&(k[eb>>2]|0)==26):0){k[Qd>>2]=0;break}k[Qd>>2]=0;yf=LF(k[(k[zb>>2]|0)+16>>2]|0,Qd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}else{if((b|0)<=0?!((k[Qd>>2]|0)==0&(k[eb>>2]|0)==23):0){yf=qJ(k[(k[zb>>2]|0)+16>>2]|0)|0;k[Qd>>2]=yf;break}k[Qd>>2]=0;yf=MF(k[(k[zb>>2]|0)+16>>2]|0,Qd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}}while(0);if(!(k[Qd>>2]|0)){if(k[G>>2]|0)k[pf>>2]=(k[pf>>2]|0)+20}else d=14;break}case 31:case 30:case 29:{k[Ab>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Gc>>2]=0;b=k[(k[Ab>>2]|0)+24>>2]|0;if((k[(k[pf>>2]|0)+16>>2]|0)>0){k[Hd>>2]=b;j[Hd+8>>1]=k[(k[pf>>2]|0)+16>>2];k[Hd+4>>2]=k[Lc>>2];k[Hc>>2]=Hd}else{yf=WF(b,o,183,Gc)|0;k[Hc>>2]=yf;if(!(k[Hc>>2]|0)){d=889;break a}if(m[(k[Lc>>2]|0)+8>>1]&16384)gh(k[Lc>>2]|0)|0;XF(k[(k[Ab>>2]|0)+24>>2]|0,k[(k[Lc>>2]|0)+12>>2]|0,k[(k[Lc>>2]|0)+16>>2]|0,k[Hc>>2]|0)}i[(k[Hc>>2]|0)+10>>0]=0;k[me>>2]=0;h:do if((l[k[pf>>2]>>0]|0)==29){k[wa>>2]=0;while(1){if((k[wa>>2]|0)>=(m[(k[Hc>>2]|0)+8>>1]|0))break h;if(m[(k[(k[Hc>>2]|0)+4>>2]|0)+((k[wa>>2]|0)*40|0)+8>>1]&1)break;k[wa>>2]=(k[wa>>2]|0)+1}k[me>>2]=1}while(0);yf=YF(k[(k[Ab>>2]|0)+16>>2]|0,k[Hc>>2]|0,0,0,0,Rd)|0;k[uf>>2]=yf;bg(k[rf>>2]|0,k[Gc>>2]|0);if(k[uf>>2]|0)break a;k[(k[Ab>>2]|0)+28>>2]=k[Rd>>2];k[s>>2]=(k[Rd>>2]|0)==0&1;i[(k[Ab>>2]|0)+2>>0]=1-(k[s>>2]|0);i[(k[Ab>>2]|0)+3>>0]=0;k[(k[Ab>>2]|0)+56>>2]=0;if((l[k[pf>>2]>>0]|0)==31)if(k[s>>2]|0){d=14;break d}else break d;else if((k[me>>2]|0)==0&(k[s>>2]|0)!=0)break d;else{d=14;break d}}case 32:{k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Lc>>2]|0)+8>>1]&4|0)==0?(Vx(k[Lc>>2]|0,67,i[F>>0]|0),(m[(k[Lc>>2]|0)+8>>1]&4|0)==0):0)d=14;else d=523;break}case 33:{d=523;break}case 113:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;yf=(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;a=$R(c|0,wf|0,1,0)|0;k[yf>>2]=a;k[yf+4>>2]=L;yf=k[dd>>2]|0;k[yf>>2]=c;k[yf+4>>2]=wf;break}case 114:{yf=qe;k[yf>>2]=0;k[yf+4>>2]=0;k[Td>>2]=0;yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Cb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];do if(!((l[(k[Cb>>2]|0)+5>>0]|0)>>>1&1)){yf=rJ(k[(k[Cb>>2]|0)+16>>2]|0,Td)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Td>>2]|0){yf=qe;k[yf>>2]=1;k[yf+4>>2]=0;break}wf=kI(k[(k[Cb>>2]|0)+16>>2]|0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;yf=qe;wf=k[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(k[yf>>2]|0)>>>0>=4294967295){yf=(k[Cb>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-3|2;break}else{wf=qe;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;break}}while(0);if(k[(k[pf>>2]|0)+12>>2]|0){if(k[(k[qf>>2]|0)+184>>2]|0){k[Cc>>2]=k[(k[qf>>2]|0)+184>>2];while(1){if(!(k[(k[Cc>>2]|0)+4>>2]|0))break;k[Cc>>2]=k[(k[Cc>>2]|0)+4>>2]}k[Sc>>2]=(k[(k[Cc>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)}else k[Sc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);_x(k[Sc>>2]|0)|0;yf=k[Sc>>2]|0;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==2147483647:0){d=544;break c}if((l[(k[Cb>>2]|0)+5>>0]|0)>>>1&1){d=544;break c}a=qe;wf=k[a>>2]|0;a=k[a+4>>2]|0;yf=k[Sc>>2]|0;yf=$R(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&wf>>>0>>0){wf=k[Sc>>2]|0;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L}c=qe;wf=k[c+4>>2]|0;yf=k[Sc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((l[(k[Cb>>2]|0)+5>>0]|0)>>>1&1){k[B>>2]=0;do{ae(8,qe);c=qe;yf=k[c+4>>2]&1073741823;wf=qe;k[wf>>2]=k[c>>2];k[wf+4>>2]=yf;wf=qe;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;yf=qe;yf=YF(k[(k[Cb>>2]|0)+16>>2]|0,0,k[yf>>2]|0,k[yf+4>>2]|0,0,Td)|0;k[uf>>2]=yf;if(!((yf|0)==0&(k[Td>>2]|0)==0))break;yf=(k[B>>2]|0)+1|0;k[B>>2]=yf}while((yf|0)<100);if(k[uf>>2]|0)break a;if(!(k[Td>>2]|0)){d=554;break c}}i[(k[Cb>>2]|0)+3>>0]=0;k[(k[Cb>>2]|0)+56>>2]=0;c=qe;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 116:case 115:{k[ib>>2]=0;k[tc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Db>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];b=k[(k[pf>>2]|0)+12>>2]|0;if((l[k[pf>>2]>>0]|0)==115){k[Mc>>2]=(k[e>>2]|0)+(b*40|0);c=k[Mc>>2]|0;wf=k[c+4>>2]|0;yf=Le+8|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}else{yf=Le+8|0;k[yf>>2]=b;k[yf+4>>2]=((b|0)<0)<<31>>31}if((i[(k[pf>>2]|0)+1>>0]|0)==-20?(k[(k[rf>>2]|0)+220>>2]|0)!=0:0){k[Ue>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(i[(k[Db>>2]|0)+1>>0]<<4)>>2];k[ld>>2]=k[(k[pf>>2]|0)+16>>2];k[ib>>2]=(l[(k[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{k[ld>>2]=0;k[Ue>>2]=0}if(l[(k[pf>>2]|0)+3>>0]&1){yf=(k[qf>>2]|0)+44|0;k[yf>>2]=(k[yf>>2]|0)+1}if(l[(k[pf>>2]|0)+3>>0]&2){wf=Le+8|0;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=sf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[rf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}if(m[(k[tc>>2]|0)+8>>1]&1){k[Le+16>>2]=0;k[Le+20>>2]=0}else{k[Le+16>>2]=k[(k[tc>>2]|0)+16>>2];k[Le+20>>2]=k[(k[tc>>2]|0)+12>>2]}if(l[(k[pf>>2]|0)+3>>0]&16)b=k[(k[Db>>2]|0)+28>>2]|0;else b=0;k[ge>>2]=b;if(m[(k[tc>>2]|0)+8>>1]&16384)k[Le+24>>2]=k[k[tc>>2]>>2];else k[Le+24>>2]=0;k[Le>>2]=0;yf=sJ(k[(k[Db>>2]|0)+16>>2]|0,Le,(l[(k[pf>>2]|0)+3>>0]&8|0)!=0&1,k[ge>>2]|0)|0;k[uf>>2]=yf;i[(k[Db>>2]|0)+3>>0]=0;k[(k[Db>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if((k[ib>>2]|0)!=0?(k[(k[rf>>2]|0)+220>>2]|0)!=0:0){yf=Le+8|0;fc[k[(k[rf>>2]|0)+220>>2]&255](k[(k[rf>>2]|0)+216>>2]|0,k[ib>>2]|0,k[Ue>>2]|0,k[k[ld>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 117:{k[jb>>2]=k[(k[pf>>2]|0)+8>>2];k[Eb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((i[(k[pf>>2]|0)+1>>0]|0)==-20?(k[(k[rf>>2]|0)+220>>2]|0)!=0:0){k[Ve>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(i[(k[Eb>>2]|0)+1>>0]<<4)>>2];k[md>>2]=k[(k[pf>>2]|0)+16>>2];if((l[(k[pf>>2]|0)+3>>0]&2|0)!=0?(l[(k[Eb>>2]|0)+4>>0]|0)!=0:0){wf=kI(k[(k[Eb>>2]|0)+16>>2]|0)|0;yf=(k[Eb>>2]|0)+40|0;k[yf>>2]=wf;k[yf+4>>2]=L}}else{k[Ve>>2]=0;k[md>>2]=0}yf=tJ(k[(k[Eb>>2]|0)+16>>2]|0,i[(k[pf>>2]|0)+3>>0]|0)|0;k[uf>>2]=yf;k[(k[Eb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if(((k[jb>>2]&1|0)!=0?(yf=(k[qf>>2]|0)+44|0,k[yf>>2]=(k[yf>>2]|0)+1,(k[(k[rf>>2]|0)+220>>2]|0)!=0):0)?(l[(k[md>>2]|0)+42>>0]&32|0)==0:0){yf=(k[Eb>>2]|0)+40|0;fc[k[(k[rf>>2]|0)+220>>2]&255](k[(k[rf>>2]|0)+216>>2]|0,9,k[Ve>>2]|0,k[k[md>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 118:{II(k[rf>>2]|0,k[(k[qf>>2]|0)+44>>2]|0);k[(k[qf>>2]|0)+44>>2]=0;break}case 119:{k[Fb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Xa>>2]=k[(k[pf>>2]|0)+16>>2];k[Vd>>2]=0;yf=uJ(k[Fb>>2]|0,k[Lc>>2]|0,k[Xa>>2]|0,Vd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Vd>>2]|0)d=14;break}case 120:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Gb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];yf=vJ(k[Gb>>2]|0,k[dd>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Hb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Xb>>2]=k[(k[Hb>>2]|0)+16>>2];yf=lI(k[Xb>>2]|0)|0;k[Ha>>2]=yf;if((k[Ha>>2]|0)>>>0>(k[(k[rf>>2]|0)+96>>2]|0)>>>0){d=888;break c}if(Xx(k[dd>>2]|0,(k[Ha>>2]|0)>>>0>32?k[Ha>>2]|0:32)|0){d=889;break a}k[(k[dd>>2]|0)+12>>2]=k[Ha>>2];j[(k[dd>>2]|0)+8>>1]=m[(k[dd>>2]|0)+8>>1]&-49664|16;b=k[Xb>>2]|0;a=k[Ha>>2]|0;c=k[(k[dd>>2]|0)+16>>2]|0;if(!(l[(k[Hb>>2]|0)+4>>0]|0)){yf=mI(b,0,a,c)|0;k[uf>>2]=yf}else{yf=_h(b,0,a,c)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a;i[(k[dd>>2]|0)+10>>0]=1;break}case 123:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Ib>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(i[(k[Ib>>2]|0)+2>>0]|0){j[(k[dd>>2]|0)+8>>1]=1;break d}b=k[Ib>>2]|0;do if(!(i[(k[Ib>>2]|0)+3>>0]|0)){a=k[Ib>>2]|0;if((l[b>>0]|0)==2){k[td>>2]=k[k[a+16>>2]>>2];k[Xc>>2]=k[k[td>>2]>>2];yf=gc[k[(k[Xc>>2]|0)+48>>2]&255](k[(k[Ib>>2]|0)+16>>2]|0,te)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[td>>2]|0);if(k[uf>>2]|0)break a;else break}yf=xJ(a)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Ib>>2]|0)+2>>0]|0){j[(k[dd>>2]|0)+8>>1]=1;break d}else{wf=kI(k[(k[Ib>>2]|0)+16>>2]|0)|0;yf=te;k[yf>>2]=wf;k[yf+4>>2]=L;break}}else{c=b+40|0;wf=k[c+4>>2]|0;yf=te;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);c=te;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 124:{k[Jb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];i[(k[Jb>>2]|0)+2>>0]=1;k[(k[Jb>>2]|0)+56>>2]=0;if(!(l[k[Jb>>2]>>0]|0))ZB(k[(k[Jb>>2]|0)+16>>2]|0);break}case 53:{k[Kb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Zb>>2]=k[(k[Kb>>2]|0)+16>>2];k[Wd>>2]=0;yf=rJ(k[Zb>>2]|0,Wd)|0;k[uf>>2]=yf;i[(k[Kb>>2]|0)+2>>0]=k[Wd>>2];i[(k[Kb>>2]|0)+3>>0]=0;k[(k[Kb>>2]|0)+56>>2]=0;k[(k[Kb>>2]|0)+28>>2]=k[(k[pf>>2]|0)+12>>2];if(k[uf>>2]|0)break a;if((k[Wd>>2]|0)!=0?(k[(k[pf>>2]|0)+8>>2]|0)>0:0)d=14;break}case 56:case 55:{d=(k[qf>>2]|0)+156+8|0;k[d>>2]=(k[d>>2]|0)+1;d=617;break}case 57:{d=617;break}case 3:{k[Mb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Yd>>2]=0;d=AJ(k[rf>>2]|0,k[Mb>>2]|0,Yd)|0;k[uf>>2]=d;d=625;break}case 5:case 4:{if(k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)d=624;break}case 7:case 6:{d=624;break}case 126:case 125:{k[Nb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(l[(k[pf>>2]|0)+3>>0]&1){yf=(k[qf>>2]|0)+44|0;k[yf>>2]=(k[yf>>2]|0)+1}if(m[(k[Kc>>2]|0)+8>>1]&16384)b=gh(k[Kc>>2]|0)|0;else b=0;k[uf>>2]=b;if(k[uf>>2]|0)break a;if((l[k[pf>>2]>>0]|0)==125){yf=BJ(k[Nb>>2]|0,k[Kc>>2]|0)|0;k[uf>>2]=yf}else{wf=k[(k[Kc>>2]|0)+12>>2]|0;yf=Ne+8|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;k[Ne>>2]=k[(k[Kc>>2]|0)+16>>2];if(l[(k[pf>>2]|0)+3>>0]&16)b=k[(k[Nb>>2]|0)+28>>2]|0;else b=0;yf=sJ(k[(k[Nb>>2]|0)+16>>2]|0,Ne,k[(k[pf>>2]|0)+12>>2]|0,b)|0;k[uf>>2]=yf;k[(k[Nb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;break}case 127:{k[Ob>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[ac>>2]=k[(k[Ob>>2]|0)+16>>2];k[Id>>2]=k[(k[Ob>>2]|0)+24>>2];j[Id+8>>1]=k[(k[pf>>2]|0)+12>>2];i[Id+10>>0]=0;k[Id+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);yf=YF(k[ac>>2]|0,Id,0,0,0,Zd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((k[Zd>>2]|0)==0?(yf=tJ(k[ac>>2]|0,4)|0,k[uf>>2]=yf,(k[uf>>2]|0)!=0):0)break a;k[(k[Ob>>2]|0)+56>>2]=0;break}case 129:case 128:{k[Pb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];yf=xJ(k[Pb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Pb>>2]|0)+2>>0]|0){sh((k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=be;k[yf>>2]=0;k[yf+4>>2]=0;yf=CJ(k[rf>>2]|0,k[(k[Pb>>2]|0)+16>>2]|0,be)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((l[k[pf>>2]>>0]|0)==128){k[nd>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2];i[(k[nd>>2]|0)+2>>0]=0;c=be;wf=k[c+4>>2]|0;yf=(k[nd>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[nd>>2]|0)+3>>0]=1;k[(k[nd>>2]|0)+52>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[nd>>2]|0)+48>>2]=k[Pb>>2];break d}else{c=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=c;c=be;wf=k[c+4>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[dd>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{k[Qb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Jd>>2]=k[(k[Qb>>2]|0)+24>>2];j[Jd+8>>1]=k[(k[pf>>2]|0)+16>>2];b=Jd+10|0;if((l[k[pf>>2]>>0]|0)<60)i[b>>0]=-1;else i[b>>0]=0;k[Jd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[_d>>2]=0;b=DJ(k[rf>>2]|0,k[Qb>>2]|0,Jd,_d)|0;k[uf>>2]=b;b=k[_d>>2]|0;if(!(l[k[pf>>2]>>0]&1))k[_d>>2]=0-b;else k[_d>>2]=b+1;if(k[uf>>2]|0)break a;if((k[_d>>2]|0)>0)d=14;break}case 130:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;j[(k[dd>>2]|0)+8>>1]=1;if((k[(k[rf>>2]|0)+160>>2]|0)>((k[(k[rf>>2]|0)+172>>2]|0)+1|0)){d=660;break c}k[ha>>2]=k[(k[pf>>2]|0)+12>>2];k[pa>>2]=0;wf=EJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ha>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,pa)|0;k[uf>>2]=wf;j[(k[dd>>2]|0)+8>>1]=4;wf=k[pa>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;if(k[uf>>2]|0)break a;if(k[pa>>2]|0){FJ(k[rf>>2]|0,k[ha>>2]|0,k[pa>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);i[ef>>0]=(k[ha>>2]|0)+1}break}case 131:{k[Pa>>2]=0;yf=GJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+8>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,(k[(k[pf>>2]|0)+12>>2]|0)!=0?Pa:0)|0;k[uf>>2]=yf;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(yf=(k[qf>>2]|0)+44|0,k[yf>>2]=(k[yf>>2]|0)+(k[Pa>>2]|0),(k[(k[pf>>2]|0)+12>>2]|0)>0):0){wf=k[Pa>>2]|0;yf=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0;c=yf;wf=$R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L}if(k[uf>>2]|0)break a;break}case 133:{k[Rb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((l[k[Rb>>2]>>0]|0)!=1){yf=IJ(k[(k[Rb>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break d}else{HJ(k[rf>>2]|0,k[(k[Rb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Ed>>2]=0;k[xc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);if((l[k[pf>>2]>>0]|0)==135)k[N>>2]=1;else k[N>>2]=2;yf=mJ(k[(k[xc>>2]|0)+4>>2]|0,Ed,k[N>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;wf=k[Ed>>2]|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 136:{k[ja>>2]=k[(k[pf>>2]|0)+4>>2];k[Ze>>2]=(k[ja>>2]|0)==1?19905:19924;k[xa>>2]=k[rf>>2];k[xa+8>>2]=k[(k[pf>>2]|0)+4>>2];k[xa+4>>2]=(k[qf>>2]|0)+108;yf=k[rf>>2]|0;c=k[Ze>>2]|0;wf=k[(k[pf>>2]|0)+16>>2]|0;k[Ae>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[ja>>2]<<4)>>2];k[Ae+4>>2]=c;k[Ae+8>>2]=wf;yf=Qh(yf,40293,Ae)|0;k[af>>2]=yf;if(!(k[af>>2]|0))k[uf>>2]=7;else{i[(k[rf>>2]|0)+148+5>>0]=1;k[xa+12>>2]=0;yf=kf(k[rf>>2]|0,k[af>>2]|0,140,xa,0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))k[uf>>2]=k[xa+12>>2];bg(k[rf>>2]|0,k[af>>2]|0);i[(k[rf>>2]|0)+148+5>>0]=0}if(k[uf>>2]|0){d=682;break c}break}case 137:{yf=Pj(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 138:{JJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 139:{KJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 140:{LJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 141:{k[$a>>2]=k[(k[pf>>2]|0)+8>>2];k[n>>2]=k[(k[pf>>2]|0)+16>>2];k[Fd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);wf=MJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(l[(k[pf>>2]|0)+3>>0]<<4)+4>>2]|0,k[n>>2]|0,k[$a>>2]|0,k[k[Fd>>2]>>2]|0,Sa)|0;k[Oe>>2]=wf;wf=k[Sa>>2]|0;yf=k[Fd>>2]|0;c=yf;wf=_R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;sh(k[Jc>>2]|0);if(k[Sa>>2]|0){if(!(k[Oe>>2]|0)){d=889;break a}qh(k[Jc>>2]|0,k[Oe>>2]|0,-1,1,148)|0}su(k[Jc>>2]|0,l[F>>0]|0)|0;break}case 142:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]&32|0)==0?(NJ(k[Jc>>2]|0),(m[(k[Jc>>2]|0)+8>>1]&32|0)==0):0){d=889;break a}yf=k[Kc>>2]|0;OJ(k[k[Jc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0);break}case 62:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Jc>>2]|0)+8>>1]&32|0)!=0?(PJ(k[k[Jc>>2]>>2]|0,ue)|0)!=0:0){d=ue;rh((k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0,k[d>>2]|0,k[d+4>>2]|0);d=8;break d}sh(k[Jc>>2]|0);d=7;break}case 63:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[ta>>2]=k[(k[pf>>2]|0)+16>>2];if((m[(k[Jc>>2]|0)+8>>1]&32|0)==0?(NJ(k[Jc>>2]|0),(m[(k[Jc>>2]|0)+8>>1]&32|0)==0):0){d=889;break a}if((k[ta>>2]|0)!=0?(yf=k[Lc>>2]|0,yf=QJ(k[k[Jc>>2]>>2]|0,k[ta>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0,k[H>>2]=yf,(k[H>>2]|0)!=0):0){d=14;break d}if((k[ta>>2]|0)>=0){yf=k[Lc>>2]|0;OJ(k[k[Jc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 64:{k[fd>>2]=k[(k[pf>>2]|0)+16>>2];k[jd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[pf>>2]|0)+3>>0]|0){k[ke>>2]=k[(k[fd>>2]|0)+16>>2];k[Dc>>2]=k[(k[qf>>2]|0)+184>>2];while(1){if(!(k[Dc>>2]|0))break;if((k[(k[Dc>>2]|0)+24>>2]|0)==(k[ke>>2]|0))break;k[Dc>>2]=k[(k[Dc>>2]|0)+4>>2]}if(k[Dc>>2]|0)break d}if((k[(k[qf>>2]|0)+192>>2]|0)>=(k[(k[rf>>2]|0)+96+40>>2]|0)){d=711;break c}i:do if(!(m[(k[jd>>2]|0)+8>>1]&64)){k[Ya>>2]=(k[(k[fd>>2]|0)+8>>2]|0)+(k[(k[fd>>2]|0)+12>>2]|0);if(!(k[(k[fd>>2]|0)+12>>2]|0))k[Ya>>2]=(k[Ya>>2]|0)+1;k[Oa>>2]=80+((k[Ya>>2]|0)*40|0)+(k[(k[fd>>2]|0)+12>>2]<<2);yf=k[Oa>>2]|0;yf=Ch(k[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;k[Dc>>2]=yf;if(!(k[Dc>>2]|0)){d=889;break a}fh(k[jd>>2]|0);j[(k[jd>>2]|0)+8>>1]=64;k[k[jd>>2]>>2]=k[Dc>>2];k[k[Dc>>2]>>2]=k[qf>>2];k[(k[Dc>>2]|0)+60>>2]=k[Ya>>2];k[(k[Dc>>2]|0)+64>>2]=k[(k[fd>>2]|0)+12>>2];k[(k[Dc>>2]|0)+48>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[Dc>>2]|0)+16>>2]=k[(k[qf>>2]|0)+92>>2];k[(k[Dc>>2]|0)+56>>2]=k[(k[qf>>2]|0)+24>>2];k[(k[Dc>>2]|0)+20>>2]=k[(k[qf>>2]|0)+112>>2];k[(k[Dc>>2]|0)+44>>2]=k[(k[qf>>2]|0)+28>>2];k[(k[Dc>>2]|0)+8>>2]=k[(k[qf>>2]|0)+88>>2];k[(k[Dc>>2]|0)+52>>2]=k[(k[qf>>2]|0)+136>>2];k[(k[Dc>>2]|0)+24>>2]=k[(k[fd>>2]|0)+16>>2];k[Ac>>2]=(k[Dc>>2]|0)+80+((k[(k[Dc>>2]|0)+60>>2]|0)*40|0);k[Tc>>2]=(k[Dc>>2]|0)+80;while(1){if((k[Tc>>2]|0)==(k[Ac>>2]|0))break i;j[(k[Tc>>2]|0)+8>>1]=128;k[(k[Tc>>2]|0)+32>>2]=k[rf>>2];k[Tc>>2]=(k[Tc>>2]|0)+40}}else k[Dc>>2]=k[k[jd>>2]>>2];while(0);c=(k[qf>>2]|0)+192|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[Dc>>2]|0)+4>>2]=k[(k[qf>>2]|0)+184>>2];c=sf;wf=k[c+4>>2]|0;yf=(k[Dc>>2]|0)+32|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;k[(k[Dc>>2]|0)+68>>2]=k[(k[qf>>2]|0)+44>>2];k[(k[Dc>>2]|0)+72>>2]=k[(k[k[qf>>2]>>2]|0)+88>>2];k[(k[Dc>>2]|0)+40>>2]=k[(k[qf>>2]|0)+204>>2];k[(k[qf>>2]|0)+204>>2]=0;k[(k[qf>>2]|0)+44>>2]=0;k[(k[qf>>2]|0)+184>>2]=k[Dc>>2];yf=(k[Dc>>2]|0)+80|0;k[e>>2]=yf;k[(k[qf>>2]|0)+92>>2]=yf;k[(k[qf>>2]|0)+24>>2]=k[(k[Dc>>2]|0)+60>>2];k[(k[qf>>2]|0)+28>>2]=k[(k[Dc>>2]|0)+64>>2]&65535;k[(k[qf>>2]|0)+112>>2]=(k[e>>2]|0)+((k[(k[qf>>2]|0)+24>>2]|0)*40|0);yf=k[k[fd>>2]>>2]|0;k[df>>2]=yf;k[(k[qf>>2]|0)+88>>2]=yf;k[(k[qf>>2]|0)+136>>2]=k[(k[fd>>2]|0)+4>>2];k[pf>>2]=(k[df>>2]|0)+-20;break}case 143:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[Ec>>2]=k[(k[qf>>2]|0)+184>>2];k[Ic>>2]=(k[(k[Ec>>2]|0)+16>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)+(k[(k[(k[Ec>>2]|0)+8>>2]|0)+((k[(k[Ec>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);uG(k[dd>>2]|0,k[Ic>>2]|0,4096);break}case 144:{b=k[pf>>2]|0;if(k[(k[rf>>2]|0)+24>>2]&33554432){wf=k[b+8>>2]|0;yf=(k[rf>>2]|0)+448|0;c=yf;wf=$R(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}a=k[(k[pf>>2]|0)+8>>2]|0;c=((a|0)<0)<<31>>31;if(k[b+4>>2]|0){yf=(k[rf>>2]|0)+440|0;wf=yf;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}else{yf=(k[qf>>2]|0)+64|0;wf=yf;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}}case 65:if(k[(k[pf>>2]|0)+4>>2]|0){yf=(k[rf>>2]|0)+440|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[rf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}else{yf=(k[qf>>2]|0)+64|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[rf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}case 145:{if(k[(k[qf>>2]|0)+184>>2]|0){k[Fc>>2]=k[(k[qf>>2]|0)+184>>2];while(1){if(!(k[(k[Fc>>2]|0)+4>>2]|0))break;k[Fc>>2]=k[(k[Fc>>2]|0)+4>>2]}k[Jc>>2]=(k[(k[Fc>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)}else k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);_x(k[Jc>>2]|0)|0;k[Kc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);_x(k[Kc>>2]|0)|0;wf=k[Jc>>2]|0;a=k[wf+4>>2]|0;yf=k[Kc>>2]|0;c=k[yf+4>>2]|0;if((a|0)<(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0<(k[yf>>2]|0)>>>0:0)){c=k[Kc>>2]|0;wf=k[c+4>>2]|0;yf=k[Jc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}break}case 66:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Jc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){yf=k[(k[pf>>2]|0)+12>>2]|0;d=k[Jc>>2]|0;wf=d;yf=_R(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 146:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;yf=k[Jc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(k[yf>>2]|0)>>>0<=0){b=-1;a=-1}else{b=k[Jc>>2]|0;yf=k[Lc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){c=k[Lc>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0}else{a=0;c=0}b=$R(k[b>>2]|0,k[b+4>>2]|0,a|0,c|0)|0;a=L}yf=k[dd>>2]|0;k[yf>>2]=b;k[yf+4>>2]=a;break}case 67:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Jc>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){yf=k[(k[pf>>2]|0)+12>>2]|0;d=k[Jc>>2]|0;wf=d;yf=_R(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 68:{k[Jc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=k[Jc>>2]|0;wf=yf;wf=$R(k[wf>>2]|0,k[wf+4>>2]|0,-1,-1)|0;k[yf>>2]=wf;k[yf+4>>2]=L;yf=k[Jc>>2]|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)d=14;break}case 147:{k[Ja>>2]=l[(k[pf>>2]|0)+3>>0];yf=dx(k[rf>>2]|0,32+((k[Ja>>2]|0)-1<<2)|0,0)|0;k[jc>>2]=yf;if(!(k[jc>>2]|0)){d=889;break a}k[(k[jc>>2]|0)+8>>2]=0;k[(k[jc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[jc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[jc>>2]|0)+12>>2]=k[qf>>2];i[(k[jc>>2]|0)+26>>0]=k[Ja>>2];i[(k[pf>>2]|0)+1>>0]=-21;k[(k[pf>>2]|0)+16>>2]=k[jc>>2];i[k[pf>>2]>>0]=-108;d=752;break}case 148:{d=752;break}case 149:{k[Vc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=xG(k[Vc>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=764;break c}su(k[Vc>>2]|0,l[F>>0]|0)|0;if(NI(k[Vc>>2]|0)|0){d=888;break c}break}case 8:{k[h>>2]=0;k[h+8>>2]=-1;k[h+4>>2]=-1;yf=yi(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,h+4|0,h+8|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=5)break a;k[uf>>2]=0;k[h>>2]=1}k[Z>>2]=0;k[Wc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((k[Z>>2]|0)>=3)break d;yf=k[h+(k[Z>>2]<<2)>>2]|0;rh(k[Wc>>2]|0,yf,((yf|0)<0)<<31>>31);k[Z>>2]=(k[Z>>2]|0)+1;k[Wc>>2]=(k[Wc>>2]|0)+40}}case 9:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[D>>2]=k[(k[pf>>2]|0)+12>>2];k[vb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];yf=Zf(k[vb>>2]|0)|0;k[ed>>2]=yf;yf=Dg(k[ed>>2]|0)|0;k[E>>2]=yf;if((k[D>>2]|0)==-1)k[D>>2]=k[E>>2];if(!(RJ(k[ed>>2]|0)|0))k[D>>2]=k[E>>2];yf=Ui(k[ed>>2]|0,1)|0;k[Xe>>2]=yf;do if((k[D>>2]|0)==5){if((Tf(k[Xe>>2]|0)|0)!=0?(SJ(k[ed>>2]|0)|0)!=0:0)break;k[D>>2]=k[E>>2]}while(0);if((k[D>>2]|0)!=(k[E>>2]|0)?(k[E>>2]|0)==5|(k[D>>2]|0)==5:0){if(!(i[(k[rf>>2]|0)+67>>0]|0)){d=784;break c}if((k[(k[rf>>2]|0)+160>>2]|0)>1){d=784;break c}if((k[E>>2]|0)==5){yf=TJ(k[ed>>2]|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))UJ(k[ed>>2]|0,k[D>>2]|0)|0}else if((k[E>>2]|0)==4)UJ(k[ed>>2]|0,2)|0;if(!(k[uf>>2]|0)){yf=Ng(k[vb>>2]|0,(k[D>>2]|0)==5?2:1)|0;k[uf>>2]=yf}}if(k[uf>>2]|0)k[D>>2]=k[E>>2];yf=UJ(k[ed>>2]|0,k[D>>2]|0)|0;k[D>>2]=yf;j[(k[dd>>2]|0)+8>>1]=2562;yf=zC(k[D>>2]|0)|0;k[(k[dd>>2]|0)+16>>2]=yf;yf=Tf(k[(k[dd>>2]|0)+16>>2]|0)|0;k[(k[dd>>2]|0)+12>>2]=yf;i[(k[dd>>2]|0)+10>>0]=1;su(k[dd>>2]|0,l[F>>0]|0)|0;if(k[uf>>2]|0)break a;break}case 10:{yf=VJ((k[qf>>2]|0)+108|0,k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 69:{k[wb>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];yf=WJ(k[wb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=101)break a;k[uf>>2]=0;d=14}break}case 150:if(k[(k[pf>>2]|0)+4>>2]|0){yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2|1;break d}else{ai(k[rf>>2]|0);break d}case 151:{i[Aa>>0]=k[(k[pf>>2]|0)+12>>2];if((l[Aa>>0]|0)==0?0!=(k[(k[rf>>2]|0)+24>>2]&16384|0):0)break d;k[lb>>2]=k[(k[pf>>2]|0)+4>>2];yf=XJ(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[lb>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,i[Aa>>0]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=805;break c}break}case 152:{k[rd>>2]=k[(k[pf>>2]|0)+16>>2];yf=YJ(k[rf>>2]|0,k[rd>>2]|0)|0;k[uf>>2]=yf;if(k[rd>>2]|0)wJ(k[qf>>2]|0,k[(k[rd>>2]|0)+8>>2]|0);if(k[uf>>2]|0)break a;break}case 153:{b=fe;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[fe+32>>2]=k[rf>>2];yf=th(fe,(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;k[uf>>2]=yf;yf=je(fe)|0;k[bf>>2]=yf;if(k[bf>>2]|0){yf=ZJ(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[bf>>2]|0,(k[qf>>2]|0)+108|0)|0;k[uf>>2]=yf}fh(fe);if(k[uf>>2]|0)break a;break}case 154:{yf=(k[rf>>2]|0)+172|0;k[yf>>2]=(k[yf>>2]|0)+1;yf=_J(k[rf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;yf=(k[rf>>2]|0)+172|0;k[yf>>2]=(k[yf>>2]|0)+-1;if(k[uf>>2]|0)break a;break}case 155:{k[mc>>2]=0;k[pd>>2]=0;k[ud>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if(!(k[ud>>2]|0)){d=816;break c}if(!(k[k[ud>>2]>>2]|0)){d=816;break c}k[Yc>>2]=k[k[ud>>2]>>2];yf=gc[k[(k[Yc>>2]|0)+24>>2]&255](k[ud>>2]|0,pd)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[ud>>2]|0);if(k[uf>>2]|0)break a;k[k[pd>>2]>>2]=k[ud>>2];yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,-1,2)|0;k[mc>>2]=yf;if(!(k[mc>>2]|0)){d=820;break c}k[(k[mc>>2]|0)+16>>2]=k[pd>>2];yf=(k[ud>>2]|0)+4|0;k[yf>>2]=(k[yf>>2]|0)+1;break}case 11:{k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[sb>>2]=(k[gd>>2]|0)+40;k[nc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[qd>>2]=k[(k[nc>>2]|0)+16>>2];k[vd>>2]=k[k[qd>>2]>>2];k[Zc>>2]=k[k[vd>>2]>>2];k[Ka>>2]=k[k[sb>>2]>>2];k[qa>>2]=k[k[gd>>2]>>2];k[Nd>>2]=0;k[t>>2]=k[(k[qf>>2]|0)+96>>2];k[P>>2]=0;while(1){if((k[P>>2]|0)>=(k[Ka>>2]|0))break;k[(k[t>>2]|0)+(k[P>>2]<<2)>>2]=(k[sb>>2]|0)+(((k[P>>2]|0)+1|0)*40|0);k[P>>2]=(k[P>>2]|0)+1}yf=hc[k[(k[Zc>>2]|0)+32>>2]&255](k[qd>>2]|0,k[qa>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[Ka>>2]|0,k[t>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[vd>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[Zc>>2]|0)+40>>2]&255](k[qd>>2]|0)|0;k[Nd>>2]=yf;i[(k[nc>>2]|0)+2>>0]=0;if(k[Nd>>2]|0)d=14;break}case 156:{k[oc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[zc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[oc>>2]|0)+2>>0]|0){sh(k[zc>>2]|0);break d}k[wd>>2]=k[k[(k[oc>>2]|0)+16>>2]>>2];k[_c>>2]=k[k[wd>>2]>>2];k[de>>2]=0;k[de+4>>2]=0;k[de+8>>2]=0;k[de+12>>2]=0;k[de+16>>2]=0;k[de+20>>2]=0;k[de+24>>2]=0;k[de+28>>2]=0;k[de>>2]=k[zc>>2];j[(k[zc>>2]|0)+8>>1]=m[(k[zc>>2]|0)+8>>1]&-49664|1;yf=Yb[k[(k[_c>>2]|0)+44>>2]&255](k[(k[oc>>2]|0)+16>>2]|0,de,k[(k[pf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[wd>>2]|0);if(k[de+20>>2]|0)k[uf>>2]=k[de+20>>2];su(k[zc>>2]|0,l[F>>0]|0)|0;if(NI(k[zc>>2]|0)|0){d=888;break c}if(k[uf>>2]|0)break a;break}case 70:{k[Od>>2]=0;k[pc>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(!(i[(k[pc>>2]|0)+2>>0]|0)){k[xd>>2]=k[k[(k[pc>>2]|0)+16>>2]>>2];k[$c>>2]=k[k[xd>>2]>>2];yf=bc[k[(k[$c>>2]|0)+36>>2]&255](k[(k[pc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[xd>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[$c>>2]|0)+40>>2]&255](k[(k[pc>>2]|0)+16>>2]|0)|0;k[Od>>2]=yf;if(k[Od>>2]|0)d=8;else d=7}break}case 157:{k[yd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];k[bd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=su(k[bd>>2]|0,1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=gc[k[(k[k[yd>>2]>>2]|0)+76>>2]&255](k[yd>>2]|0,k[(k[bd>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;wJ(k[qf>>2]|0,k[yd>>2]|0);yf=(k[qf>>2]|0)+144|0;j[yf>>1]=j[yf>>1]&-2;if(k[uf>>2]|0)break a;break}case 12:{k[zd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if(!(k[zd>>2]|0)){d=839;break c}if(!(k[k[zd>>2]>>2]|0)){d=839;break c}k[ad>>2]=k[k[zd>>2]>>2];k[La>>2]=k[(k[pf>>2]|0)+8>>2];if(k[(k[ad>>2]|0)+52>>2]|0){i[Je>>0]=i[(k[rf>>2]|0)+74>>0]|0;k[u>>2]=k[(k[qf>>2]|0)+96>>2];k[Bd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[La>>2]|0))break;k[(k[u>>2]|0)+(k[R>>2]<<2)>>2]=k[Bd>>2];k[Bd>>2]=(k[Bd>>2]|0)+40;k[R>>2]=(k[R>>2]|0)+1}i[(k[rf>>2]|0)+74>>0]=i[(k[pf>>2]|0)+3>>0]|0;yf=ec[k[(k[ad>>2]|0)+52>>2]&255](k[zd>>2]|0,k[La>>2]|0,k[u>>2]|0,ce)|0;k[uf>>2]=yf;i[(k[rf>>2]|0)+74>>0]=i[Je>>0]|0;wJ(k[qf>>2]|0,k[zd>>2]|0);if((k[uf>>2]|0)==0?(k[(k[pf>>2]|0)+4>>2]|0)!=0:0){wf=ce;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=sf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[rf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}do if((k[uf>>2]&255|0)==19?(l[(k[(k[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((l[(k[pf>>2]|0)+3>>0]|0)==4){k[uf>>2]=0;break}if((l[(k[pf>>2]|0)+3>>0]|0)==5)b=2;else b=l[(k[pf>>2]|0)+3>>0]|0;i[(k[qf>>2]|0)+142>>0]=b}else d=854;while(0);if((d|0)==854){d=0;yf=(k[qf>>2]|0)+44|0;k[yf>>2]=(k[yf>>2]|0)+1}if(k[uf>>2]|0)break a}break}case 158:{wf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=wf;wf=Eg(k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=0;break}case 159:{yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;k[ub>>2]=k[(k[(k[rf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];k[cb>>2]=0;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(yf=Eg(k[ub>>2]|0)|0,k[cb>>2]=yf,(k[cb>>2]|0)>>>0<(k[(k[pf>>2]|0)+12>>2]|0)>>>0):0)k[cb>>2]=k[(k[pf>>2]|0)+12>>2];wf=$J(k[ub>>2]|0,k[cb>>2]|0)|0;yf=k[dd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 71:{do if((l[(k[rf>>2]|0)+76>>0]&129|0)!=0?((m[(k[qf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(k[(k[pf>>2]|0)+16>>2]|0)b=k[(k[pf>>2]|0)+16>>2]|0;else b=k[(k[qf>>2]|0)+176>>2]|0;k[cf>>2]=b;if(b){b=k[(k[rf>>2]|0)+184>>2]|0;if(l[(k[rf>>2]|0)+76>>0]&128){k[Me>>2]=b;yf=Kh(k[qf>>2]|0,k[cf>>2]|0)|0;k[Qe>>2]=yf;$b[k[Me>>2]&255](k[(k[rf>>2]|0)+188>>2]|0,k[Qe>>2]|0);Ud(k[Qe>>2]|0);break}else{ec[b&255](1,k[(k[rf>>2]|0)+188>>2]|0,k[qf>>2]|0,k[cf>>2]|0)|0;break}}}while(0);if((k[(k[pf>>2]|0)+4>>2]|0)>=(k[70]|0)){k[S>>2]=1;while(1){if((k[S>>2]|0)>=(k[(k[qf>>2]|0)+136>>2]|0))break;if((l[(k[(k[qf>>2]|0)+88>>2]|0)+((k[S>>2]|0)*20|0)>>0]|0)==20)k[(k[(k[qf>>2]|0)+88>>2]|0)+((k[S>>2]|0)*20|0)+4>>2]=0;k[S>>2]=(k[S>>2]|0)+1}k[(k[pf>>2]|0)+4>>2]=0}d=(k[pf>>2]|0)+4|0;k[d>>2]=(k[d>>2]|0)+1;d=14;break}default:{}}while(0);do if((d|0)==20){d=0;k[jf>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;if(k[(k[pf>>2]|0)+4>>2]|0){d=25;break c}if(!(k[(k[qf>>2]|0)+184>>2]|0)){d=25;break c}k[Bc>>2]=k[(k[qf>>2]|0)+184>>2];k[(k[qf>>2]|0)+184>>2]=k[(k[Bc>>2]|0)+4>>2];c=(k[qf>>2]|0)+192|0;k[c>>2]=(k[c>>2]|0)+-1;II(k[rf>>2]|0,k[(k[qf>>2]|0)+44>>2]|0);c=JI(k[Bc>>2]|0)|0;k[jf>>2]=c;c=(k[rf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=sf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if((k[(k[pf>>2]|0)+8>>2]|0)==4)k[jf>>2]=(k[(k[(k[qf>>2]|0)+88>>2]|0)+((k[jf>>2]|0)*20|0)+8>>2]|0)-1;k[df>>2]=k[(k[qf>>2]|0)+88>>2];k[e>>2]=k[(k[qf>>2]|0)+92>>2];k[pf>>2]=(k[df>>2]|0)+((k[jf>>2]|0)*20|0)}else if((d|0)==43){d=0;yf=MI(k[qf>>2]|0,k[pf>>2]|0)|0;k[dd>>2]=yf;j[(k[dd>>2]|0)+8>>1]=2562;k[(k[dd>>2]|0)+16>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[dd>>2]|0)+12>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[dd>>2]|0)+10>>0]=i[F>>0]|0;if((k[(k[pf>>2]|0)+12>>2]|0)>0?(k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0),yf=k[Lc>>2]|0,(k[yf+4>>2]|0)==0?(k[yf>>2]|0)==(l[(k[pf>>2]|0)+3>>0]|0):0):0)j[(k[dd>>2]|0)+8>>1]=2576}else if((d|0)==126){d=0;k[ic>>2]=k[(k[pf>>2]|0)+16>>2];k[dd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j:do if((k[k[ic>>2]>>2]|0)!=(k[dd>>2]|0)){k[k[ic>>2]>>2]=k[dd>>2];k[U>>2]=(l[(k[ic>>2]|0)+26>>0]|0)-1;while(1){if((k[U>>2]|0)<0)break j;k[(k[ic>>2]|0)+28+(k[U>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[U>>2]|0)|0)*40|0);k[U>>2]=(k[U>>2]|0)+-1}}while(0);j[(k[k[ic>>2]>>2]|0)+8>>1]=m[(k[k[ic>>2]>>2]|0)+8>>1]&-49664|1;i[(k[ic>>2]|0)+25>>0]=0;yf=sf;wf=k[yf+4>>2]|0;c=(k[rf>>2]|0)+32|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;cc[k[(k[(k[ic>>2]|0)+4>>2]|0)+12>>2]&255](k[ic>>2]|0,l[(k[ic>>2]|0)+26>>0]|0,(k[ic>>2]|0)+28|0);c=(k[rf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=sf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(i[(k[ic>>2]|0)+25>>0]|0){if(k[(k[ic>>2]|0)+20>>2]|0){yf=k[qf>>2]|0;wf=je(k[k[ic>>2]>>2]|0)|0;k[ve>>2]=wf;KI(yf,18391,ve);k[uf>>2]=k[(k[ic>>2]|0)+20>>2]}VI(k[rf>>2]|0,(k[qf>>2]|0)+204|0,k[(k[ic>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);if(k[uf>>2]|0)break a}if((m[(k[dd>>2]|0)+8>>1]&18|0)!=0?(su(k[k[ic>>2]>>2]|0,l[F>>0]|0)|0,(NI(k[k[ic>>2]>>2]|0)|0)!=0):0){d=888;break c}}else if((d|0)==444){if(j[(k[qf>>2]|0)+144>>1]&1){d=445;break c}k[Ua>>2]=0;k[Oc>>2]=0;k[rb>>2]=k[(k[pf>>2]|0)+8>>2];k[fa>>2]=k[(k[pf>>2]|0)+12>>2];k[wc>>2]=(k[(k[rf>>2]|0)+16>>2]|0)+(k[fa>>2]<<4);k[Ad>>2]=k[(k[wc>>2]|0)+4>>2];if((l[k[pf>>2]>>0]|0)==105){k[Ke>>2]=4|l[(k[pf>>2]|0)+3>>0]&8;if((l[(k[(k[wc>>2]|0)+12>>2]|0)+76>>0]|0)<(l[(k[qf>>2]|0)+143>>0]|0))i[(k[qf>>2]|0)+143>>0]=i[(k[(k[wc>>2]|0)+12>>2]|0)+76>>0]|0}else k[Ke>>2]=0;if(l[(k[pf>>2]|0)+3>>0]&16){k[Kc>>2]=(k[e>>2]|0)+((k[rb>>2]|0)*40|0);_x(k[Kc>>2]|0)|0;k[rb>>2]=k[k[Kc>>2]>>2]}b=k[pf>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)!=-6){if((i[b+1>>0]|0)==-14)k[Ua>>2]=k[(k[pf>>2]|0)+16>>2]}else{k[Oc>>2]=k[b+16>>2];k[Ua>>2]=(m[(k[Oc>>2]|0)+6>>1]|0)+(m[(k[Oc>>2]|0)+8>>1]|0)}yf=jJ(k[qf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[Ua>>2]|0,k[fa>>2]|0,0)|0;k[lc>>2]=yf;if(!(k[lc>>2]|0)){d=889;break a}i[(k[lc>>2]|0)+2>>0]=1;d=(k[lc>>2]|0)+5|0;i[d>>0]=i[d>>0]&-5|4;k[(k[lc>>2]|0)+8>>2]=k[rb>>2];d=kJ(k[Ad>>2]|0,k[rb>>2]|0,k[Ke>>2]|0,k[Oc>>2]|0,k[(k[lc>>2]|0)+16>>2]|0)|0;k[uf>>2]=d;k[(k[lc>>2]|0)+24>>2]=k[Oc>>2];i[(k[lc>>2]|0)+4>>0]=(i[(k[pf>>2]|0)+1>>0]|0)!=-6;d=458}else if((d|0)==523){d=0;k[Lc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Bb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Wb>>2]=k[(k[Bb>>2]|0)+16>>2];k[Sd>>2]=0;yf=k[Lc>>2]|0;wf=k[yf+4>>2]|0;c=ma;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=ma;c=YF(k[Wb>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Sd)|0;k[uf>>2]=c;c=ma;wf=k[c+4>>2]|0;yf=(k[Bb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[Bb>>2]|0)+2>>0]=0;k[(k[Bb>>2]|0)+56>>2]=0;i[(k[Bb>>2]|0)+3>>0]=0;k[(k[Bb>>2]|0)+28>>2]=k[Sd>>2];if(k[Sd>>2]|0){if(k[(k[pf>>2]|0)+8>>2]|0){d=14;break}yf=_j(81458)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a}else if((d|0)==617){d=0;k[Lb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Xd>>2]=1;b=k[Lb>>2]|0;if((l[k[Lb>>2]>>0]|0)==1){yf=yJ(b,Xd)|0;k[uf>>2]=yf}else{k[_b>>2]=k[b+16>>2];yf=zJ(k[_b>>2]|0,Xd)|0;k[uf>>2]=yf;i[(k[Lb>>2]|0)+3>>0]=0;k[(k[Lb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;i[(k[Lb>>2]|0)+2>>0]=k[Xd>>2];if(k[Xd>>2]|0)d=14}else if((d|0)==624){k[Mb>>2]=k[(k[(k[qf>>2]|0)+112>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Yd>>2]=k[(k[pf>>2]|0)+12>>2];yf=gc[k[(k[pf>>2]|0)+16>>2]&255](k[(k[Mb>>2]|0)+16>>2]|0,Yd)|0;k[uf>>2]=yf;d=625}else if((d|0)==752){d=0;k[kc>>2]=k[(k[pf>>2]|0)+16>>2];k[Uc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k:do if((k[(k[kc>>2]|0)+8>>2]|0)!=(k[Uc>>2]|0)){k[(k[kc>>2]|0)+8>>2]=k[Uc>>2];k[Y>>2]=(l[(k[kc>>2]|0)+26>>0]|0)-1;while(1){if((k[Y>>2]|0)<0)break k;k[(k[kc>>2]|0)+28+(k[Y>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[Y>>2]|0)|0)*40|0);k[Y>>2]=(k[Y>>2]|0)+-1}}while(0);yf=(k[Uc>>2]|0)+12|0;k[yf>>2]=(k[yf>>2]|0)+1;tG(le,k[rf>>2]|0,1);k[k[kc>>2]>>2]=le;i[(k[kc>>2]|0)+25>>0]=0;i[(k[kc>>2]|0)+24>>0]=0;cc[k[(k[(k[kc>>2]|0)+4>>2]|0)+12>>2]&255](k[kc>>2]|0,l[(k[kc>>2]|0)+26>>0]|0,(k[kc>>2]|0)+28|0);if(i[(k[kc>>2]|0)+25>>0]|0){if(k[(k[kc>>2]|0)+20>>2]|0){yf=k[qf>>2]|0;wf=je(le)|0;k[Ce>>2]=wf;KI(yf,18391,Ce);k[uf>>2]=k[(k[kc>>2]|0)+20>>2]}fh(le);if(k[uf>>2]|0)break a}if((i[(k[kc>>2]|0)+24>>0]|0)!=0?(k[Y>>2]=k[(k[pf>>2]|0)+-20+4>>2],(k[Y>>2]|0)!=0):0)rh((k[e>>2]|0)+((k[Y>>2]|0)*40|0)|0,1,0)}while(0);do if((d|0)==14){d=0;k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((d|0)==458){d=0;lJ(k[(k[lc>>2]|0)+16>>2]|0,l[(k[pf>>2]|0)+3>>0]&3);if(k[uf>>2]|0)break a}else if((d|0)==625){d=0;k[(k[Mb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;b=(k[Mb>>2]|0)+2|0;if(!(k[Yd>>2]|0)){i[b>>0]=0;d=(k[qf>>2]|0)+156+(l[(k[pf>>2]|0)+3>>0]<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=7;break}else{i[b>>0]=1;d=8;break}}while(0);if((d|0)==7){k[pf>>2]=(k[df>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0);d=8}if((d|0)==8){d=0;if(k[(k[rf>>2]|0)+248>>2]|0)break b;if(((k[(k[rf>>2]|0)+304>>2]|0)!=0?(k[tf>>2]|0)>>>0>=(k[_a>>2]|0)>>>0:0)?(k[_a>>2]=(k[tf>>2]|0)+(k[(k[rf>>2]|0)+312>>2]|0)-(((k[tf>>2]|0)>>>0)%((k[(k[rf>>2]|0)+312>>2]|0)>>>0)|0),(bc[k[(k[rf>>2]|0)+304>>2]&255](k[(k[rf>>2]|0)+308>>2]|0)|0)!=0):0){d=12;break}}k[pf>>2]=(k[pf>>2]|0)+20}switch(d|0){case 12:{k[uf>>2]=9;break a}case 25:{k[(k[qf>>2]|0)+40>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[qf>>2]|0)+142>>0]=k[(k[pf>>2]|0)+8>>2];k[(k[qf>>2]|0)+36>>2]=k[jf>>2];if(k[(k[qf>>2]|0)+40>>2]|0){b=k[qf>>2]|0;a=k[pf>>2]|0;if(i[(k[pf>>2]|0)+3>>0]|0){k[lf>>2]=k[5572+((l[a+3>>0]|0)-1<<2)>>2];KI(b,39873,lf);if(k[(k[pf>>2]|0)+16>>2]|0){yf=k[rf>>2]|0;wf=k[(k[pf>>2]|0)+16>>2]|0;k[mf>>2]=k[(k[qf>>2]|0)+108>>2];k[mf+4>>2]=wf;yf=Qh(yf,39894,mf)|0;k[(k[qf>>2]|0)+108>>2]=yf}}else{k[nf>>2]=k[a+16>>2];KI(b,18391,nf)}yf=k[(k[pf>>2]|0)+4>>2]|0;pf=k[(k[qf>>2]|0)+176>>2]|0;wf=k[(k[qf>>2]|0)+108>>2]|0;k[of>>2]=k[jf>>2];k[of+4>>2]=pf;k[of+8>>2]=wf;$d(yf,39901,of)}b=LI(k[qf>>2]|0)|0;k[uf>>2]=b;b=(k[qf>>2]|0)+40|0;if((k[uf>>2]|0)==5){k[b>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=(k[b>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 64:{if(((k[(k[rf>>2]|0)+304>>2]|0)!=0?(k[tf>>2]|0)>>>0>=(k[_a>>2]|0)>>>0:0)?(bc[k[(k[rf>>2]|0)+304>>2]&255](k[(k[rf>>2]|0)+308>>2]|0)|0)!=0:0){k[uf>>2]=9;break a}yf=OI(k[qf>>2]|0,0)|0;k[uf>>2]=yf;if(yf)break a;yf=PI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;k[(k[qf>>2]|0)+32>>2]=(k[(k[qf>>2]|0)+32>>2]|0)+2|1;yf=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0;k[(k[qf>>2]|0)+104>>2]=yf;k[Rc>>2]=yf;k[O>>2]=0;while(1){if((k[O>>2]|0)>=(k[(k[pf>>2]|0)+8>>2]|0))break;if((m[(k[Rc>>2]|0)+((k[O>>2]|0)*40|0)+8>>1]&4096|0)!=0?(lh((k[Rc>>2]|0)+((k[O>>2]|0)*40|0)|0)|0)!=0:0){d=889;break a}QI((k[Rc>>2]|0)+((k[O>>2]|0)*40|0)|0)|0;k[O>>2]=(k[O>>2]|0)+1}if(i[(k[rf>>2]|0)+69>>0]|0){d=889;break a}if(l[(k[rf>>2]|0)+76>>0]&4)ec[k[(k[rf>>2]|0)+184>>2]&255](4,k[(k[rf>>2]|0)+188>>2]|0,k[qf>>2]|0,0)|0;k[(k[qf>>2]|0)+36>>2]=(((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0)+1;k[uf>>2]=100;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 159:{k[uf>>2]=20;break a}case 267:{yf=_j(79835)|0;k[uf>>2]=yf;break a}case 286:{if(!(k[(k[xb>>2]|0)+72>>2]|0))fh(ee);yf=_j(79894)|0;k[uf>>2]=yf;break a}case 370:{k[(k[qf>>2]|0)+36>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;i[(k[rf>>2]|0)+67>>0]=0;k[uf>>2]=5;k[(k[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 393:{k[C>>2]=k[(k[pf>>2]|0)+4>>2];k[ra>>2]=k[(k[pf>>2]|0)+8>>2];if((k[C>>2]|0)==(l[(k[rf>>2]|0)+67>>0]|0)){if(k[C>>2]|0)b=(k[ra>>2]|0)!=0?40133:40176;else b=40217;KI(k[qf>>2]|0,b,ff);k[uf>>2]=1;break a}do if(!(k[ra>>2]|0)){if((k[C>>2]|0)!=0?(k[(k[rf>>2]|0)+164>>2]|0)>0:0){KI(k[qf>>2]|0,40078,ze);k[uf>>2]=5;break a}yf=OI(k[qf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{i[(k[rf>>2]|0)+67>>0]=k[C>>2];break}}else{gJ(k[rf>>2]|0,516);i[(k[rf>>2]|0)+67>>0]=1}while(0);if((LI(k[qf>>2]|0)|0)==5){k[(k[qf>>2]|0)+36>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;i[(k[rf>>2]|0)+67>>0]=1-(k[C>>2]|0);k[uf>>2]=5;k[(k[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}hJ(k[rf>>2]|0);if(!(k[(k[qf>>2]|0)+40>>2]|0)){k[uf>>2]=101;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=1;yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 411:{k[uf>>2]=8;break a}case 414:{if((k[uf>>2]&255|0)!=5)break a;k[(k[qf>>2]|0)+36>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[(k[qf>>2]|0)+40>>2]=k[uf>>2];yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 445:{k[uf>>2]=516;break a}case 544:{k[uf>>2]=13;break a}case 554:{k[uf>>2]=13;break a}case 660:{k[uf>>2]=6;i[(k[qf>>2]|0)+142>>0]=2;break a}case 682:{Mg(k[rf>>2]|0);if((k[uf>>2]|0)==7){d=889;break a}else break a}case 711:{k[uf>>2]=1;KI(k[qf>>2]|0,40357,Be);break a}case 764:{yf=k[qf>>2]|0;wf=je(k[Vc>>2]|0)|0;k[De>>2]=wf;KI(yf,18391,De);break a}case 784:{k[uf>>2]=1;yf=k[qf>>2]|0;k[Ee>>2]=(k[D>>2]|0)==5?40394:40399;KI(yf,40406,Ee);break a}case 805:{if((k[uf>>2]&255|0)!=6)break a;k[Pe>>2]=k[(k[pf>>2]|0)+16>>2];yf=k[qf>>2]|0;k[Fe>>2]=k[Pe>>2];KI(yf,40458,Fe);break a}case 816:{k[uf>>2]=6;break a}case 820:{bc[k[(k[Yc>>2]|0)+28>>2]&255](k[pd>>2]|0)|0;d=889;break a}case 839:{k[uf>>2]=6;break a}case 887:{yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 888:{KI(k[qf>>2]|0,18170,Ge);k[uf>>2]=18;break a}}}while(0);k[uf>>2]=(l[(k[rf>>2]|0)+69>>0]|0)!=0?7:9;k[(k[qf>>2]|0)+40>>2]=k[uf>>2];yf=k[qf>>2]|0;wf=vh(k[uf>>2]|0)|0;k[Ie>>2]=wf;KI(yf,18391,Ie)}while(0);if((d|0)==889){wh(k[rf>>2]|0);KI(k[qf>>2]|0,25016,He);k[uf>>2]=7}if(i[(k[rf>>2]|0)+69>>0]|0)k[uf>>2]=7;if((k[uf>>2]|0)!=3082?(k[(k[qf>>2]|0)+108>>2]|0)==0:0){yf=k[qf>>2]|0;wf=vh(k[uf>>2]|0)|0;k[gf>>2]=wf;KI(yf,18391,gf)}k[(k[qf>>2]|0)+40>>2]=k[uf>>2];aK(k[rf>>2]|0,k[uf>>2]|0);yf=k[uf>>2]|0;of=k[(k[qf>>2]|0)+176>>2]|0;wf=k[(k[qf>>2]|0)+108>>2]|0;k[hf>>2]=((k[pf>>2]|0)-(k[df>>2]|0)|0)/20|0;k[hf+4>>2]=of;k[hf+8>>2]=wf;$d(yf,40487,hf);LI(k[qf>>2]|0)|0;if((k[uf>>2]|0)==3082)wh(k[rf>>2]|0);k[uf>>2]=1;if((l[ef>>0]|0)<=0){yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}Gj(k[rf>>2]|0,(l[ef>>0]|0)-1|0);yf=sf;pf=yf;pf=k[pf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[rf>>2]|0;wf=wf+32|0;sf=wf;k[sf>>2]=pf;wf=wf+4|0;k[wf>>2]=yf;wf=k[tf>>2]|0;yf=k[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}function DI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;f=g+12|0;c=g+8|0;e=g+4|0;d=g;k[b>>2]=a;k[f>>2]=0;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[e>>2]|0)!=0?(wg(k[e>>2]|0),a=FI(Zf(k[e>>2]|0)|0)|0,k[d>>2]=a,((k[d>>2]|0)>0?(k[(k[b>>2]|0)+224>>2]|0)!=0:0)&(k[f>>2]|0)==0):0){a=ec[k[(k[b>>2]|0)+224>>2]&255](k[(k[b>>2]|0)+228>>2]|0,k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)>>2]|0,k[d>>2]|0)|0;k[f>>2]=a}k[c>>2]=(k[c>>2]|0)+1}r=g;return k[f>>2]|0}function EI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[b>>2]|0)+40>>2];a=k[c>>2]|0;if(!(k[(k[b>>2]|0)+108>>2]|0)){vg(a,k[d>>2]|0);d=k[d>>2]|0;r=e;return d|0}a=a+70|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;gk();if(!(k[(k[c>>2]|0)+244>>2]|0)){a=hi(k[c>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=a}ii(k[(k[c>>2]|0)+244>>2]|0,-1,k[(k[b>>2]|0)+108>>2]|0,1,-1);hk();b=(k[c>>2]|0)+70|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;k[(k[c>>2]|0)+52>>2]=k[d>>2];d=k[d>>2]|0;r=e;return d|0}function FI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=GI(k[(k[c>>2]|0)+216>>2]|0)|0;r=b;return a|0}function GI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;c=k[c>>2]|0;r=d;return c|0}function HI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[b>>2]=a;if(!(k[(k[b>>2]|0)+152>>2]|0)){r=g;return}k[d>>2]=k[k[b>>2]>>2];k[c>>2]=k[(k[d>>2]|0)+16>>2];k[f>>2]=k[(k[d>>2]|0)+20>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;if(((k[e>>2]|0)!=1?(k[(k[b>>2]|0)+152>>2]&1<>2]|0)!=0:0)?(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0)!=0:0)wg(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=g;return}function II(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+88>>2]=k[d>>2];b=(k[e>>2]|0)+92|0;k[b>>2]=(k[b>>2]|0)+(k[d>>2]|0);r=c;return}function JI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];ZM(k[d>>2]|0);k[(k[d>>2]|0)+88>>2]=k[(k[b>>2]|0)+8>>2];k[(k[d>>2]|0)+136>>2]=k[(k[b>>2]|0)+52>>2];k[(k[d>>2]|0)+92>>2]=k[(k[b>>2]|0)+16>>2];k[(k[d>>2]|0)+24>>2]=k[(k[b>>2]|0)+56>>2];k[(k[d>>2]|0)+112>>2]=k[(k[b>>2]|0)+20>>2];k[(k[d>>2]|0)+28>>2]=k[(k[b>>2]|0)+44>>2];f=(k[b>>2]|0)+32|0;e=k[f+4>>2]|0;a=(k[k[d>>2]>>2]|0)+32|0;k[a>>2]=k[f>>2];k[a+4>>2]=e;k[(k[d>>2]|0)+44>>2]=k[(k[b>>2]|0)+68>>2];k[(k[k[d>>2]>>2]|0)+88>>2]=k[(k[b>>2]|0)+72>>2];VI(k[k[d>>2]>>2]|0,(k[d>>2]|0)+204|0,-1,0);k[(k[d>>2]|0)+204>>2]=k[(k[b>>2]|0)+40>>2];k[(k[b>>2]|0)+40>>2]=0;r=c;return k[(k[b>>2]|0)+48>>2]|0}function KI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;bg(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0);k[f>>2]=c;b=yx(k[k[e>>2]>>2]|0,k[g>>2]|0,f)|0;k[(k[e>>2]|0)+108>>2]=b;r=d;return}function LI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;d=n+16|0;h=n+12|0;c=n+8|0;j=n+4|0;b=n;k[g>>2]=a;k[h>>2]=k[k[g>>2]>>2];if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+40>>2]=7;TM(k[g>>2]|0);if((k[(k[g>>2]|0)+20>>2]|0)!=770837923){k[f>>2]=0;j=k[f>>2]|0;r=n;return j|0}if((k[(k[g>>2]|0)+36>>2]|0)>=0?((m[(k[g>>2]|0)+144>>1]|0)>>>8&1|0)!=0:0){k[j>>2]=0;HI(k[g>>2]|0);k[c>>2]=k[(k[g>>2]|0)+40>>2]&255;if((k[c>>2]|0)==7|(k[c>>2]|0)==10|(k[c>>2]|0)==9)a=1;else a=(k[c>>2]|0)==13;k[b>>2]=a&1;do if((k[b>>2]|0)!=0?((k[c>>2]|0)!=9?1:((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((k[c>>2]|0)==7|(k[c>>2]|0)==13?((m[(k[g>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){k[j>>2]=2;break}gJ(k[h>>2]|0,516);hJ(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0}while(0);if(!(k[(k[g>>2]|0)+40>>2]|0))OI(k[g>>2]|0,0)|0;if((k[(k[h>>2]|0)+316>>2]|0)>0?(k[(k[h>>2]|0)+340>>2]|0)==0:0)e=36;else if((l[(k[h>>2]|0)+67>>0]|0)!=0?(k[(k[h>>2]|0)+164>>2]|0)==(((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((k[(k[g>>2]|0)+40>>2]|0)!=0?((k[b>>2]|0)!=0?1:(l[(k[g>>2]|0)+142>>0]|0)!=3):0){gJ(k[h>>2]|0,0);k[(k[g>>2]|0)+44>>2]=0}else e=23;do if((e|0)==23){c=OI(k[g>>2]|0,1)|0;k[d>>2]=c;do if(k[d>>2]|0){if(!((m[(k[g>>2]|0)+144>>1]|0)>>>7&1)){k[d>>2]=787;break}k[f>>2]=1;j=k[f>>2]|0;r=n;return j|0}else{c=UM(k[h>>2]|0,k[g>>2]|0)|0;k[d>>2]=c}while(0);if((k[d>>2]|0)==5?((m[(k[g>>2]|0)+144>>1]|0)>>>7&1|0)!=0:0){k[f>>2]=5;j=k[f>>2]|0;r=n;return j|0}if(k[d>>2]|0){k[(k[g>>2]|0)+40>>2]=k[d>>2];gJ(k[h>>2]|0,0);k[(k[g>>2]|0)+44>>2]=0;break}else{c=(k[h>>2]|0)+440|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+448|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+24|0;k[c>>2]=k[c>>2]&-33554433;Hj(k[h>>2]|0);break}}while(0);k[(k[h>>2]|0)+436>>2]=0}else e=36;do if((e|0)==36?(k[j>>2]|0)==0:0){if((k[(k[g>>2]|0)+40>>2]|0)!=0?(l[(k[g>>2]|0)+142>>0]|0)!=3:0)if((l[(k[g>>2]|0)+142>>0]|0)==2){k[j>>2]=2;break}else{gJ(k[h>>2]|0,516);hJ(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0;break}k[j>>2]=1}while(0);if((k[j>>2]|0)!=0?(e=PI(k[g>>2]|0,k[j>>2]|0)|0,k[d>>2]=e,(k[d>>2]|0)!=0):0){if(!((k[(k[g>>2]|0)+40>>2]|0)!=0?(k[(k[g>>2]|0)+40>>2]&255|0)!=19:0)){k[(k[g>>2]|0)+40>>2]=k[d>>2];bg(k[h>>2]|0,k[(k[g>>2]|0)+108>>2]|0);k[(k[g>>2]|0)+108>>2]=0}gJ(k[h>>2]|0,516);hJ(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+44>>2]=0}if((m[(k[g>>2]|0)+144>>1]|0)>>>4&1){a=k[h>>2]|0;if((k[j>>2]|0)!=2)II(a,k[(k[g>>2]|0)+44>>2]|0);else II(a,0);k[(k[g>>2]|0)+44>>2]=0}}if((k[(k[g>>2]|0)+36>>2]|0)>=0){j=(k[h>>2]|0)+156|0;k[j>>2]=(k[j>>2]|0)+-1;if(!((m[(k[g>>2]|0)+144>>1]|0)>>>7&1)){j=(k[h>>2]|0)+164|0;k[j>>2]=(k[j>>2]|0)+-1}if((m[(k[g>>2]|0)+144>>1]|0)>>>8&1){j=(k[h>>2]|0)+160|0;k[j>>2]=(k[j>>2]|0)+-1}}k[(k[g>>2]|0)+20>>2]=832317811;if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+40>>2]=7;k[f>>2]=(k[(k[g>>2]|0)+40>>2]|0)==5?5:0;j=k[f>>2]|0;r=n;return j|0}function MI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;g=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[g>>2]|0)+92>>2]|0)+((k[(k[f>>2]|0)+8>>2]|0)*40|0);a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){g=SM(a)|0;k[c>>2]=g;g=k[c>>2]|0;r=e;return g|0}else{j[a+8>>1]=4;k[c>>2]=k[d>>2];g=k[c>>2]|0;r=e;return g|0}return 0}function NI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}k[d>>2]=k[(k[c>>2]|0)+12>>2];if((m[(k[c>>2]|0)+8>>1]|0)&16384)k[d>>2]=(k[d>>2]|0)+(k[k[c>>2]>>2]|0);k[b>>2]=(k[d>>2]|0)>(k[(k[(k[c>>2]|0)+32>>2]|0)+96>>2]|0)&1;a=k[b>>2]|0;r=e;return a|0}function OI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(!((k[e>>2]|0)!=0?(b=(k[f>>2]|0)+440|0,a=(k[f>>2]|0)+448|0,a=$R(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,(b|0)>0|(b|0)==0&a>>>0>0):0))h=3;do if((h|0)==3){if((k[e>>2]|0)==0?(h=(k[d>>2]|0)+64|0,a=k[h+4>>2]|0,(a|0)>0|(a|0)==0&(k[h>>2]|0)>>>0>0):0)break;k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);k[(k[d>>2]|0)+40>>2]=787;i[(k[d>>2]|0)+142>>0]=2;KI(k[d>>2]|0,35189,g);k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}function PI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;f=l+12|0;g=l+8|0;j=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[i>>2]=0;if(!(k[(k[e>>2]|0)+436>>2]|0)){j=k[i>>2]|0;r=l;return j|0}if(!(k[(k[c>>2]|0)+48>>2]|0)){j=k[i>>2]|0;r=l;return j|0}k[g>>2]=(k[(k[c>>2]|0)+48>>2]|0)-1;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[j>>2]=0;k[h>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];if(k[h>>2]|0){if((k[d>>2]|0)==2){a=fJ(k[h>>2]|0,2,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[j>>2]|0)){a=fJ(k[h>>2]|0,1,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}k[f>>2]=(k[f>>2]|0)+1}j=(k[e>>2]|0)+436|0;k[j>>2]=(k[j>>2]|0)+-1;k[(k[c>>2]|0)+48>>2]=0;if(!(k[i>>2]|0)){if((k[d>>2]|0)==2){j=dJ(k[e>>2]|0,2,k[g>>2]|0)|0;k[i>>2]=j}if(!(k[i>>2]|0)){j=dJ(k[e>>2]|0,1,k[g>>2]|0)|0;k[i>>2]=j}}if((k[d>>2]|0)!=2){j=k[i>>2]|0;r=l;return j|0}j=(k[c>>2]|0)+72|0;h=k[j+4>>2]|0;a=(k[e>>2]|0)+440|0;k[a>>2]=k[j>>2];k[a+4>>2]=h;a=(k[c>>2]|0)+80|0;h=k[a+4>>2]|0;j=(k[e>>2]|0)+448|0;k[j>>2]=k[a>>2];k[j+4>>2]=h;j=k[i>>2]|0;r=l;return j|0}function QI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(((m[(k[c>>2]|0)+8>>1]|0)&514|0)!=2){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{a=RM(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function RI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=m[(k[c>>2]|0)+8>>1]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&12))if(a&18){c=QM(k[c>>2]|0)|0;j[b>>1]=c;break}else{j[b>>1]=0;break}else j[b>>1]=a&12;while(0);r=d;return j[b>>1]|0}function SI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;i=f;k[i>>2]=b;k[i+4>>2]=c;b=k[e>>2]|0;i=k[b+4>>2]|0;a=g;k[a>>2]=k[b>>2];k[a+4>>2]=i;a=f;i=k[a+4>>2]|0;b=g;c=k[b+4>>2]|0;if((i|0)>0|(i|0)==0&(k[a>>2]|0)>>>0>=0){if((c|0)>0|(c|0)==0&(k[b>>2]|0)>>>0>0?(g,g=_R(-1,2147483647,k[g>>2]|0,k[g+4>>2]|0)|0,c=L,i=f,a=k[i+4>>2]|0,(c|0)<(a|0)|((c|0)==(a|0)?g>>>0<(k[i>>2]|0)>>>0:0)):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}else if((c|0)<0?(g,g=$R(k[g>>2]|0,k[g+4>>2]|0,-1,2147483647)|0,g=_R(0,0,g|0,L|0)|0,c=L,i=f,i=$R(k[i>>2]|0,k[i+4>>2]|0,1,0)|0,a=L,(c|0)>(a|0)|(c|0)==(a|0)&g>>>0>i>>>0):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}g=f;i=k[e>>2]|0;f=i;g=$R(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[i>>2]=g;k[i+4>>2]=L;k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}function TI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;b=k[e>>2]|0;if(!((k[a>>2]|0)==0?(k[a+4>>2]|0)==-2147483648:0)){f=_R(0,0,k[f>>2]|0,k[f+4>>2]|0)|0;f=SI(b,f,L)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}a=b;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>=0){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else{a=f;f=k[e>>2]|0;e=f;e=_R(k[e>>2]|0,k[e+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[f>>2]=e;k[f+4>>2]=L;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function UI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=k[e>>2]|0;c=k[b+4>>2]|0;a=g;k[a>>2]=k[b>>2];k[a+4>>2]=c;a=f;c=k[a+4>>2]|0;do if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0){i=g;c=k[i>>2]|0;i=k[i+4>>2]|0;a=f;a=iS(-1,2147483647,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;if((i|0)>(b|0)|(i|0)==(b|0)&c>>>0>a>>>0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;i=f;i=iS(0,-2147483648,k[i>>2]|0,k[i+4>>2]|0)|0;c=L;if((b|0)<(c|0)|(b|0)==(c|0)&a>>>0>>0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}else if((k[f+4>>2]|0)<0){i=g;a=k[i+4>>2]|0;if((a|0)>0|(a|0)==0&(k[i>>2]|0)>>>0>0){b=f;a=k[b>>2]|0;b=k[b+4>>2]|0;i=g;i=iS(0,-2147483648,k[i>>2]|0,k[i+4>>2]|0)|0;c=L;if(!((b|0)<(c|0)|(b|0)==(c|0)&a>>>0>>0))break;k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}if((k[g+4>>2]|0)<0){i=f;if((k[i>>2]|0)==0?(k[i+4>>2]|0)==-2147483648:0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}i=g;if((k[i>>2]|0)==0?(k[i+4>>2]|0)==-2147483648:0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}a=g;a=_R(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;i=f;i=_R(0,0,k[i>>2]|0,k[i+4>>2]|0)|0;i=iS(-1,2147483647,i|0,L|0)|0;c=L;if((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>i>>>0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}}while(0);i=g;a=f;a=kS(k[i>>2]|0,k[i+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;i=k[e>>2]|0;k[i>>2]=a;k[i+4>>2]=L;k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}function VI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:while(1){if(!(k[k[f>>2]>>2]|0))break;k[i>>2]=k[k[f>>2]>>2];do if((k[g>>2]|0)>=0){if((k[k[i>>2]>>2]|0)==(k[g>>2]|0)){if((k[(k[i>>2]|0)+4>>2]|0)>31)break;if(!(k[h>>2]&1<>2]|0)+4>>2]))break}k[f>>2]=(k[i>>2]|0)+16;continue a}while(0);if(k[(k[i>>2]|0)+12>>2]|0)_b[k[(k[i>>2]|0)+12>>2]&255](k[(k[i>>2]|0)+8>>2]|0);k[k[f>>2]>>2]=k[(k[i>>2]|0)+16>>2];bg(k[e>>2]|0,k[i>>2]|0)}r=j;return}function WI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;i=l+8|0;j=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[i>>2]=m[(k[e>>2]|0)+8>>1];k[j>>2]=m[(k[f>>2]|0)+8>>1];k[h>>2]=k[i>>2]|k[j>>2];do if(!(k[h>>2]&1)){if(!(k[h>>2]&12)){if(k[h>>2]&2){if(!(k[i>>2]&2)){k[d>>2]=1;break}if(!(k[j>>2]&2)){k[d>>2]=-1;break}if(k[g>>2]|0){b=qG(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0)|0;k[d>>2]=b;break}}b=PM(k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;break}if(k[i>>2]&k[j>>2]&4){a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)<(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[d>>2]=-1;break}a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)>(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&k[j>>2]&8){if(+p[k[e>>2]>>3]<+p[k[f>>2]>>3]){k[d>>2]=-1;break}if(+p[k[e>>2]>>3]>+p[k[f>>2]>>3]){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&4)if(k[j>>2]&8){b=k[e>>2]|0;b=oG(k[b>>2]|0,k[b+4>>2]|0,+p[k[f>>2]>>3])|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}if(!(k[i>>2]&8)){k[d>>2]=1;break}if(k[j>>2]&4){b=k[f>>2]|0;b=0-(oG(k[b>>2]|0,k[b+4>>2]|0,+p[k[e>>2]>>3])|0)|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}}else k[d>>2]=(k[j>>2]&1)-(k[i>>2]&1);while(0);r=l;return k[d>>2]|0}function XI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[d>>2]>>2];do if(!(l[k[g>>2]>>0]|0)){b=k[g>>2]|0;if(!(i[(k[g>>2]|0)+3>>0]|0)){if(!(cM(k[b+16>>2]|0)|0))break;g=dM(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}if((k[b+52>>2]|0)!=0?(a=k[(k[(k[g>>2]|0)+52>>2]|0)+(1+(k[k[e>>2]>>2]|0)<<2)>>2]|0,k[f>>2]=a,(a|0)>0):0){k[k[d>>2]>>2]=k[(k[g>>2]|0)+48>>2];k[k[e>>2]>>2]=(k[f>>2]|0)-1;k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}g=OM(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}while(0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function YI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=NM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function ZI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;l=o+12|0;n=o+8|0;p=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[p>>2]=0;k[m>>2]=0;e=YI(k[f>>2]|0,p)|0;k[n>>2]=e;if(((k[g>>2]|0)+(k[h>>2]|0)|0)>>>0<=(k[p>>2]|0)>>>0){k[(k[l>>2]|0)+16>>2]=(k[n>>2]|0)+(k[g>>2]|0);j[(k[l>>2]|0)+8>>1]=4112;k[(k[l>>2]|0)+12>>2]=k[h>>2];p=k[m>>2]|0;r=o;return p|0}else{p=MM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[l>>2]|0)|0;k[m>>2]=p;p=k[m>>2]|0;r=o;return p|0}return 0}function _I(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return i[35061+(l[b>>0]|0)>>0]|0}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0;n=r;r=r+48|0;l=n+36|0;d=n+32|0;h=n+28|0;g=n+24|0;e=n+20|0;f=n+16|0;i=n+8|0;j=n;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[e>>2]=m[(k[d>>2]|0)+8>>1];if(k[e>>2]&1){k[k[g>>2]>>2]=0;k[l>>2]=0;l=k[l>>2]|0;r=n;return l|0}if(!(k[e>>2]&4)){if(k[e>>2]&8){k[k[g>>2]>>2]=8;k[l>>2]=7;l=k[l>>2]|0;r=n;return l|0}k[f>>2]=k[(k[d>>2]|0)+12>>2];if(k[e>>2]&16384)k[f>>2]=(k[f>>2]|0)+(k[k[d>>2]>>2]|0);k[k[g>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]<<1)+12+((k[e>>2]&2|0)!=0&1);l=k[l>>2]|0;r=n;return l|0}a=k[d>>2]|0;d=k[a+4>>2]|0;b=i;k[b>>2]=k[a>>2];k[b+4>>2]=d;b=i;d=k[b>>2]|0;b=k[b+4>>2]|0;if((k[i+4>>2]|0)<0){a=j;k[a>>2]=~d;k[a+4>>2]=~b}else{a=j;k[a>>2]=d;k[a+4>>2]=b}a=j;c=k[a+4>>2]|0;if(c>>>0<0|(c|0)==0&(k[a>>2]|0)>>>0<=127){a=i;d=k[g>>2]|0;if((0==(k[a+4>>2]|0)?(k[i>>2]&1|0)==(k[a>>2]|0):0)&(k[h>>2]|0)>=4){k[d>>2]=0;k[l>>2]=8+(k[j>>2]|0);l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=1;k[l>>2]=1;l=k[l>>2]|0;r=n;return l|0}}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=32767){k[k[g>>2]>>2]=2;k[l>>2]=2;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=8388607){k[k[g>>2]>>2]=3;k[l>>2]=3;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=2147483647){k[k[g>>2]>>2]=4;k[l>>2]=4;l=k[l>>2]|0;r=n;return l|0}i=k[j+4>>2]|0;d=k[g>>2]|0;if(i>>>0<32767|(i|0)==32767&(k[j>>2]|0)>>>0<=4294967295){k[d>>2]=6;k[l>>2]=5;l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=8;k[l>>2]=6;l=k[l>>2]|0;r=n;return l|0}return 0}function aJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;h=k[a+4>>2]|0;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[a>>2]|0)>>>0<=127){i[k[e>>2]>>0]=b&127;k[d>>2]=1;h=k[d>>2]|0;r=g;return h|0}if(c>>>0<0|(c|0)==0&b>>>0<=16383){h=f;h=aS(k[h>>2]|0,k[h+4>>2]|0,7)|0;i[k[e>>2]>>0]=h&127|128;i[(k[e>>2]|0)+1>>0]=k[f>>2]&127;k[d>>2]=2;h=k[d>>2]|0;r=g;return h|0}else{h=f;h=LM(k[e>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;r=g;return h|0}return 0}function bJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;j=n+12|0;m=n;h=n+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if((k[g>>2]|0)>>>0<=7&(k[g>>2]|0)>>>0>0){if((a|0)==7){f=k[f>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=k[f+4>>2]}else{b=k[f>>2]|0;c=k[b+4>>2]|0;f=m;k[f>>2]=k[b>>2];k[f+4>>2]=c}g=l[35061+(k[g>>2]|0)>>0]|0;k[h>>2]=g;k[j>>2]=g;do{g=k[m>>2]&255;f=(k[h>>2]|0)+-1|0;k[h>>2]=f;i[(k[e>>2]|0)+f>>0]=g;f=m;f=aS(k[f>>2]|0,k[f+4>>2]|0,8)|0;g=m;k[g>>2]=f;k[g+4>>2]=L}while((k[h>>2]|0)!=0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}else{if(a>>>0<12){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[j>>2]=k[(k[f>>2]|0)+12>>2];if((k[j>>2]|0)>>>0>0)bS(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}return 0}function cJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o;n=o+16|0;c=o+12|0;d=o+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=0;k[b+4>>2]=0;if(!(k[(k[f>>2]|0)+52>>2]|0)){n=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}b=_F(k[f>>2]|0)|0;k[n>>2]=b;a:while(1){if(k[n>>2]|0){a=16;break}k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2];if(!((l[(k[d>>2]|0)+4>>0]|0)==0?(i[(k[d>>2]|0)+2>>0]|0)!=0:0)){a=h;a=$R(k[a>>2]|0,k[a+4>>2]|0,m[(k[d>>2]|0)+18>>1]|0,0)|0;b=h;k[b>>2]=a;k[b+4>>2]=L}if(i[(k[d>>2]|0)+4>>0]|0){do{if(!(i[(k[f>>2]|0)+68>>0]|0)){a=10;break a}RF(k[f>>2]|0)}while((m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));b=(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+1<<16>>16;k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]}k[c>>2]=m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1];a=k[f>>2]|0;b=k[d>>2]|0;if((k[c>>2]|0)==(m[(k[d>>2]|0)+18>>1]|0)){b=PF(a,qr((k[(k[d>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0)|0;k[n>>2]=b;continue}else{b=PF(a,qr((k[b+56>>2]|0)+(m[(k[d>>2]|0)+20>>1]&(l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[n>>2]=b;continue}}if((a|0)==10){d=h;h=k[d+4>>2]|0;n=k[g>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=h;n=_F(k[f>>2]|0)|0;k[e>>2]=n;n=k[e>>2]|0;r=o;return n|0}else if((a|0)==16){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}return 0}function dJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;if(!(k[(k[d>>2]|0)+340>>2]|0)){l=k[l>>2]|0;r=m;return l|0}k[g>>2]=0;while(1){if(k[l>>2]|0){d=15;break}if((k[g>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0)){d=15;break}k[i>>2]=k[(k[(k[d>>2]|0)+340>>2]|0)+(k[g>>2]<<2)>>2];k[h>>2]=k[k[(k[i>>2]|0)+4>>2]>>2];if((k[(k[i>>2]|0)+8>>2]|0)!=0?(k[k[h>>2]>>2]|0)>=2:0){switch(k[e>>2]|0){case 0:{k[j>>2]=k[(k[h>>2]|0)+80>>2];k[(k[i>>2]|0)+20>>2]=(k[f>>2]|0)+1;break}case 2:{k[j>>2]=k[(k[h>>2]|0)+88>>2];break}default:k[j>>2]=k[(k[h>>2]|0)+84>>2]}if((k[j>>2]|0)!=0?(k[(k[i>>2]|0)+20>>2]|0)>(k[f>>2]|0):0){b=gc[k[j>>2]&255](k[(k[i>>2]|0)+8>>2]|0,k[f>>2]|0)|0;k[l>>2]=b}}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==15){l=k[l>>2]|0;r=m;return l|0}return 0}function eJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;h=n+8|0;j=n+4|0;g=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(k[d>>2]|0)){m=k[j>>2]|0;r=n;return m|0}wg(k[d>>2]|0);k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(k[h>>2]|0)){m=15;break}do if((k[f>>2]|0)!=0?(l[(k[h>>2]|0)+64>>0]&1|0)==0:0){if((l[(k[h>>2]|0)+66>>0]|0)!=1?(l[(k[h>>2]|0)+66>>0]|0)!=2:0)break;c=hI(k[h>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0)break a}else m=10;while(0);if((m|0)==10){m=0;ZB(k[h>>2]|0);i[(k[h>>2]|0)+66>>0]=4;k[(k[h>>2]|0)+60>>2]=k[e>>2]}k[g>>2]=0;while(1){if((k[g>>2]|0)>(i[(k[h>>2]|0)+68>>0]|0))break;_B(k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]|0);k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[h>>2]=k[(k[h>>2]|0)+8>>2]}if((m|0)==15){m=k[j>>2]|0;r=n;return m|0}eJ(k[d>>2]|0,k[j>>2]|0,0)|0;m=k[j>>2]|0;r=n;return m|0}function fJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if(!(k[d>>2]|0)){h=k[h>>2]|0;r=i;return h|0}if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){h=k[h>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);a=ds(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if((k[f>>2]|0)<0?((m[(k[g>>2]|0)+22>>1]|0)&8|0)!=0:0)k[(k[g>>2]|0)+44>>2]=0;a=KM(k[g>>2]|0)|0;k[h>>2]=a;a=qr((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;k[(k[g>>2]|0)+44>>2]=a;h=k[h>>2]|0;r=i;return h|0}function gJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;gk();Yf(k[c>>2]|0);if(k[(k[c>>2]|0)+24>>2]&2)a=(l[(k[c>>2]|0)+148+5>>0]|0)==0;else a=0;k[h>>2]=a&1;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(pi(k[g>>2]|0)|0)k[f>>2]=1;Zg(k[g>>2]|0,k[d>>2]|0,((k[h>>2]|0)!=0^1)&1)|0}k[e>>2]=(k[e>>2]|0)+1}yu(k[c>>2]|0)|0;hk();if((k[(k[c>>2]|0)+24>>2]&2|0)!=0?(l[(k[c>>2]|0)+148+5>>0]|0)==0:0){ai(k[c>>2]|0);Mg(k[c>>2]|0)}h=(k[c>>2]|0)+440|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+448|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+24|0;k[h>>2]=k[h>>2]&-33554433;if(!(k[(k[c>>2]|0)+212>>2]|0)){r=j;return}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+67>>0]|0)!=0:0){r=j;return}_b[k[(k[c>>2]|0)+212>>2]&255](k[(k[c>>2]|0)+208>>2]|0);r=j;return}function hJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+424>>2]|0))break;k[c>>2]=k[a+424>>2];k[(k[b>>2]|0)+424>>2]=k[(k[c>>2]|0)+24>>2];bg(k[b>>2]|0,k[c>>2]|0)}k[a+432>>2]=0;k[(k[b>>2]|0)+436>>2]=0;i[(k[b>>2]|0)+75>>0]=0;r=d;return}function iJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=HM(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function jJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;o=s+28|0;q=s+8|0;h=s+4|0;p=s;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[n>>2]=d;i[o>>0]=e;e=k[f>>2]|0;if((k[g>>2]|0)>0)e=(k[(k[f>>2]|0)+92>>2]|0)+(((k[e+24>>2]|0)-(k[g>>2]|0)|0)*40|0)|0;else e=k[e+92>>2]|0;k[q>>2]=e;k[p>>2]=0;e=88+(k[m>>2]<<3)|0;if(!(l[o>>0]|0))b=FM()|0;else b=0;k[h>>2]=e+b;if(k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]|0){oJ(k[f>>2]|0,k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]|0);k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]=0}if(Xx(k[q>>2]|0,k[h>>2]|0)|0){q=k[p>>2]|0;r=s;return q|0}e=k[(k[q>>2]|0)+16>>2]|0;k[p>>2]=e;k[(k[(k[f>>2]|0)+112>>2]|0)+(k[g>>2]<<2)>>2]=e;e=k[p>>2]|0;b=e+88|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(b|0));i[k[p>>2]>>0]=i[o>>0]|0;i[(k[p>>2]|0)+1>>0]=k[n>>2];j[(k[p>>2]|0)+12>>1]=k[m>>2];k[(k[p>>2]|0)+76>>2]=(k[p>>2]|0)+80+(k[m>>2]<<2);if(l[o>>0]|0){q=k[p>>2]|0;r=s;return q|0}k[(k[p>>2]|0)+16>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(88+(k[m>>2]<<3));GM(k[(k[p>>2]|0)+16>>2]|0);q=k[p>>2]|0;r=s;return q|0}function kJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)<1){c=_j(62410)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}else{wg(k[f>>2]|0);c=DM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}return 0}function lJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+67>>0]=k[e>>2];r=c;return}function mJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);b=CM(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function nJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;q=w+52|0;d=w+48|0;e=w+44|0;u=w+40|0;f=w+36|0;t=w+32|0;s=w+28|0;n=w+24|0;h=w+20|0;v=w+16|0;g=w+12|0;p=w;o=w+8|0;k[q>>2]=a;k[d>>2]=b;k[e>>2]=c;k[v>>2]=0;k[n>>2]=24+((m[(k[(k[e>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);k[h>>2]=136;c=(k[h>>2]|0)+(k[n>>2]|0)|0;c=Ch(k[q>>2]|0,c,((c|0)<0)<<31>>31)|0;k[t>>2]=c;k[(k[e>>2]|0)+16>>2]=k[t>>2];if(!(k[t>>2]|0)){k[v>>2]=7;v=k[v>>2]|0;r=w;return v|0}h=(k[t>>2]|0)+(k[h>>2]|0)|0;k[s>>2]=h;k[(k[t>>2]|0)+28>>2]=h;bS(k[s>>2]|0,k[(k[e>>2]|0)+24>>2]|0,k[n>>2]|0)|0;k[(k[s>>2]|0)+12>>2]=0;if(k[d>>2]|0){n=(k[s>>2]|0)+8|0;j[n>>1]=(m[n>>1]|0)+((m[(k[s>>2]|0)+6>>1]|0)-(k[d>>2]|0));j[(k[s>>2]|0)+6>>1]=k[d>>2]}n=Cg(k[(k[(k[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[u>>2]=n;k[(k[t>>2]|0)+12>>2]=n;i[(k[t>>2]|0)+59>>0]=1;i[(k[t>>2]|0)+58>>0]=-1;i[(k[t>>2]|0)+57>>0]=(l[(k[t>>2]|0)+59>>0]|0|0)>1;k[(k[t>>2]|0)+24>>2]=k[q>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(l[(k[t>>2]|0)+59>>0]|0|0))break;k[g>>2]=(k[t>>2]|0)+64+((k[f>>2]|0)*72|0);k[(k[g>>2]|0)+8>>2]=k[t>>2];k[f>>2]=(k[f>>2]|0)+1}if(!(hr(k[q>>2]|0)|0)){k[o>>2]=k[58];d=ha(k[o>>2]|0,k[u>>2]|0)|0;k[k[t>>2]>>2]=d;d=k[(k[(k[(k[q>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;e=p;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if((k[p+4>>2]|0)<0){n=kS(d|0,e|0,-1024,-1)|0;o=p;k[o>>2]=n;k[o+4>>2]=L}else{n=k[u>>2]|0;n=kS(d|0,e|0,n|0,((n|0)<0)<<31>>31|0)|0;o=p;k[o>>2]=n;k[o+4>>2]=L}g=p;h=k[g+4>>2]|0;g=(h|0)<0|(h|0)==0&(k[g>>2]|0)>>>0<536870912;h=p;n=g?k[h+4>>2]|0:0;o=p;k[o>>2]=g?k[h>>2]|0:536870912;k[o+4>>2]=n;if((k[k[t>>2]>>2]|0)>(k[p>>2]|0))d=k[k[t>>2]>>2]|0;else d=k[p>>2]|0;k[(k[t>>2]|0)+4>>2]=d;if((k[50]|0)==0?(k[(k[t>>2]|0)+52>>2]=k[u>>2],u=k[u>>2]|0,u=jg(u,((u|0)<0)<<31>>31)|0,k[(k[t>>2]|0)+36+4>>2]=u,(k[(k[t>>2]|0)+36+4>>2]|0)==0):0)k[v>>2]=7}if(((m[(k[s>>2]|0)+6>>1]|0)+(m[(k[s>>2]|0)+8>>1]|0)|0)>=13){v=k[v>>2]|0;r=w;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)!=0?(k[(k[s>>2]|0)+20>>2]|0)!=(k[(k[q>>2]|0)+8>>2]|0):0){v=k[v>>2]|0;r=w;return v|0}i[(k[t>>2]|0)+60>>0]=3;v=k[v>>2]|0;r=w;return v|0}function oJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[f>>2]=b;if(!(k[f>>2]|0)){r=g;return}switch(l[k[f>>2]>>0]|0|0){case 1:{BM(k[k[c>>2]>>2]|0,k[f>>2]|0);r=g;return}case 0:{c=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){VB(k[c+20>>2]|0)|0;r=g;return}else{XB(k[c+16>>2]|0)|0;r=g;return}}case 2:{k[e>>2]=k[(k[f>>2]|0)+16>>2];k[d>>2]=k[k[k[e>>2]>>2]>>2];f=(k[k[e>>2]>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+-1;bc[k[(k[d>>2]|0)+28>>2]&255](k[e>>2]|0)|0;r=g;return}default:{r=g;return}}}function pJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return ((l[(k[d>>2]|0)+67>>0]|0)&k[c>>2]|0)!=0|0}function qJ(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return 1!=(l[(k[b>>2]|0)+66>>0]|0|0)|0}function rJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[c>>2]=b;if(1==(l[(k[d>>2]|0)+66>>0]|0|0)?((l[(k[d>>2]|0)+64>>0]|0)&8|0)!=0:0){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}b=_F(k[d>>2]|0)|0;k[f>>2]=b;do if(!(k[f>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}k[c>>2]=0;c=QF(k[d>>2]|0)|0;k[f>>2]=c;c=(k[d>>2]|0)+64|0;a=l[c>>0]|0;if(!(k[f>>2]|0)){i[c>>0]=a|8;break}else{i[c>>0]=a&-9;break}}while(0);k[e>>2]=k[f>>2];f=k[e>>2]|0;r=g;return f|0}function sJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=r;r=r+64|0;e=y+52|0;f=y+48|0;g=y+44|0;h=y+40|0;z=y+36|0;v=y+32|0;o=y+28|0;w=y+24|0;n=y+20|0;u=y+16|0;s=y+12|0;t=y+8|0;q=y+4|0;p=y;x=y+56|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[z>>2]=d;k[o>>2]=k[z>>2];k[w>>2]=0;k[s>>2]=k[k[f>>2]>>2];k[t>>2]=k[(k[s>>2]|0)+4>>2];k[p>>2]=0;c=k[f>>2]|0;if((l[(k[f>>2]|0)+66>>0]|0)==4){k[e>>2]=k[c+60>>2];z=k[e>>2]|0;r=y;return z|0}if((l[c+64>>0]&32|0)!=0?(z=fI(k[t>>2]|0,k[(k[f>>2]|0)+52>>2]|0,k[f>>2]|0)|0,k[v>>2]=z,(k[v>>2]|0)!=0):0){k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}do if(!(k[(k[f>>2]|0)+72>>2]|0)){z=(k[g>>2]|0)+8|0;hL(k[s>>2]|0,k[z>>2]|0,k[z+4>>2]|0,0);if(((l[(k[f>>2]|0)+64>>0]&2|0)!=0?(z=(k[g>>2]|0)+8|0,s=k[z+4>>2]|0,(s|0)>0|(s|0)==0&(k[z>>2]|0)>>>0>0):0)?(z=(k[f>>2]|0)+16|0,d=k[z>>2]|0,z=k[z+4>>2]|0,s=(k[g>>2]|0)+8|0,s=_R(k[s>>2]|0,k[s+4>>2]|0,1,0)|0,(d|0)==(s|0)&(z|0)==(L|0)):0){k[o>>2]=-1;break}if((k[o>>2]|0)==0?(z=(k[g>>2]|0)+8|0,z=YF(k[f>>2]|0,0,k[z>>2]|0,k[z+4>>2]|0,k[h>>2]|0,o)|0,k[v>>2]=z,(k[v>>2]|0)!=0):0){k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}}else if((k[o>>2]|0)==0?(z=(k[g>>2]|0)+8|0,z=VF(k[f>>2]|0,k[k[g>>2]>>2]|0,k[z>>2]|0,k[z+4>>2]|0,k[h>>2]|0,o)|0,k[v>>2]=z,(k[v>>2]|0)!=0):0){k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}while(0);k[u>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2];k[p>>2]=k[(k[t>>2]|0)+80>>2];z=AM(k[u>>2]|0,k[p>>2]|0,k[g>>2]|0,w)|0;k[v>>2]=z;do if(!(k[v>>2]|0)){k[n>>2]=m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1];if(!(k[o>>2]|0)){z=Qg(k[(k[u>>2]|0)+72>>2]|0)|0;k[v>>2]=z;if(k[v>>2]|0)break;k[q>>2]=(k[(k[u>>2]|0)+56>>2]|0)+(m[(k[u>>2]|0)+20>>1]&(l[(k[(k[u>>2]|0)+64>>2]|0)+(k[n>>2]<<1)>>0]<<8|l[(k[(k[u>>2]|0)+64>>2]|0)+(k[n>>2]<<1)+1>>0]));if(!(i[(k[u>>2]|0)+4>>0]|0)){z=k[p>>2]|0;t=k[q>>2]|0;i[z>>0]=i[t>>0]|0;i[z+1>>0]=i[t+1>>0]|0;i[z+2>>0]=i[t+2>>0]|0;i[z+3>>0]=i[t+3>>0]|0}z=jL(k[u>>2]|0,k[q>>2]|0,x)|0;k[v>>2]=z;gM(k[u>>2]|0,k[n>>2]|0,m[x>>1]|0,v);if(k[v>>2]|0)break}else if((k[o>>2]|0)<0?(m[(k[u>>2]|0)+18>>1]|0)>0:0){x=(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)|0;z=(j[x>>1]|0)+1<<16>>16;j[x>>1]=z;k[n>>2]=z&65535}hM(k[u>>2]|0,k[n>>2]|0,k[p>>2]|0,k[w>>2]|0,0,0,v);j[(k[f>>2]|0)+16+18>>1]=0;if(i[(k[u>>2]|0)+1>>0]|0){z=(k[f>>2]|0)+64|0;i[z>>0]=l[z>>0]&-3;z=iM(k[f>>2]|0)|0;k[v>>2]=z;i[(k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;i[(k[f>>2]|0)+66>>0]=0}}while(0);k[e>>2]=k[v>>2];z=k[e>>2]|0;r=y;return z|0}function tJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;t=z+56|0;u=z+52|0;A=z+63|0;f=z+48|0;g=z+44|0;y=z+40|0;x=z+36|0;h=z+32|0;w=z+28|0;v=z+24|0;p=z+60|0;s=z+20|0;q=z+62|0;e=z+16|0;n=z+12|0;d=z+8|0;c=z+4|0;o=z;k[u>>2]=a;i[A>>0]=b;k[f>>2]=k[k[u>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+4>>2];k[s>>2]=0;i[q>>0]=l[A>>0]&2;k[v>>2]=i[(k[u>>2]|0)+68>>0];k[w>>2]=m[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1];k[x>>2]=k[(k[u>>2]|0)+120+(k[v>>2]<<2)>>2];k[h>>2]=(k[(k[x>>2]|0)+56>>2]|0)+(m[(k[x>>2]|0)+20>>1]&(l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)>>0]<<8|l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)+1>>0]));do if(i[q>>0]|0){if((i[(k[x>>2]|0)+4>>0]|0)!=0?(A=m[(k[x>>2]|0)+16>>1]|0,A=A+((gu(k[x>>2]|0,k[h>>2]|0)|0)&65535)+2|0,(A|0)<=((k[(k[g>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){k[s>>2]=1;break}A=jI(k[u>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}while(0);if((i[(k[x>>2]|0)+4>>0]|0)==0?(k[e>>2]=0,A=MF(k[u>>2]|0,e)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if((l[(k[u>>2]|0)+64>>0]&32|0)!=0?(A=fI(k[g>>2]|0,k[(k[u>>2]|0)+52>>2]|0,k[u>>2]|0)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(k[(k[u>>2]|0)+72>>2]|0)){A=(k[u>>2]|0)+16|0;hL(k[f>>2]|0,k[A>>2]|0,k[A+4>>2]|0,0)}A=Qg(k[(k[x>>2]|0)+72>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}A=jL(k[x>>2]|0,k[h>>2]|0,p)|0;k[y>>2]=A;gM(k[x>>2]|0,k[w>>2]|0,m[p>>1]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(i[(k[x>>2]|0)+4>>0]|0)){k[n>>2]=k[(k[u>>2]|0)+120+(i[(k[u>>2]|0)+68>>0]<<2)>>2];k[c>>2]=k[(k[(k[u>>2]|0)+120+((k[v>>2]|0)+1<<2)>>2]|0)+84>>2];k[h>>2]=(k[(k[n>>2]|0)+56>>2]|0)+(m[(k[n>>2]|0)+20>>1]&(l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((k[h>>2]|0)>>>0<((k[(k[n>>2]|0)+56>>2]|0)+4|0)>>>0){A=_j(66449)|0;k[t>>2]=A;A=k[t>>2]|0;r=z;return A|0}A=(gc[k[(k[n>>2]|0)+76>>2]&255](k[n>>2]|0,k[h>>2]|0)|0)&65535;k[d>>2]=A;k[o>>2]=k[(k[g>>2]|0)+80>>2];A=Qg(k[(k[n>>2]|0)+72>>2]|0)|0;k[y>>2]=A;if(!(k[y>>2]|0))hM(k[x>>2]|0,k[w>>2]|0,(k[h>>2]|0)+-4|0,(k[d>>2]|0)+4|0,k[o>>2]|0,k[c>>2]|0,y);gM(k[n>>2]|0,(m[(k[n>>2]|0)+18>>1]|0)-1|0,k[d>>2]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}A=iM(k[u>>2]|0)|0;k[y>>2]=A;if((k[y>>2]|0)==0?(i[(k[u>>2]|0)+68>>0]|0)>(k[v>>2]|0):0){while(1){b=k[u>>2]|0;if((i[(k[u>>2]|0)+68>>0]|0)<=(k[v>>2]|0))break;p=b+68|0;A=i[p>>0]|0;i[p>>0]=A+-1<<24>>24;_B(k[(k[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}A=iM(b)|0;k[y>>2]=A}do if(!(k[y>>2]|0)){b=k[u>>2]|0;if(!(k[s>>2]|0)){A=_F(b)|0;k[y>>2]=A;if(!(i[q>>0]|0))break;i[(k[u>>2]|0)+66>>0]=3;break}i[b+66>>0]=2;b=(k[u>>2]|0)+60|0;if((k[w>>2]|0)>=(m[(k[x>>2]|0)+18>>1]|0)){k[b>>2]=-1;j[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1]=(m[(k[x>>2]|0)+18>>1]|0)-1;break}else{k[b>>2]=1;break}}while(0);k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}function uJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;n=s+44|0;t=s+40|0;o=s+36|0;e=s+32|0;p=s+28|0;l=s+24|0;q=s+20|0;i=s+16|0;f=s+12|0;h=s+8|0;g=s+4|0;k[t>>2]=a;k[o>>2]=b;k[e>>2]=c;k[p>>2]=d;k[l>>2]=k[(k[t>>2]|0)+16>>2];k[q>>2]=k[(k[l>>2]|0)+32>>2];k[i>>2]=k[(k[t>>2]|0)+24>>2];do if(!(k[q>>2]|0)){t=WF(k[i>>2]|0,0,0,s)|0;k[(k[l>>2]|0)+32>>2]=t;k[q>>2]=t;if(k[q>>2]|0){j[(k[q>>2]|0)+8>>1]=k[e>>2];break}k[n>>2]=7;t=k[n>>2]|0;r=s;return t|0}while(0);t=fM(k[l>>2]|0,g)|0;k[h>>2]=t;XF(k[i>>2]|0,k[g>>2]|0,k[h>>2]|0,k[q>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0)){e=10;break}if((m[(k[(k[q>>2]|0)+4>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]|0)&1){e=8;break}k[f>>2]=(k[f>>2]|0)+1}if((e|0)==8){k[k[p>>2]>>2]=-1;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}else if((e|0)==10){t=jG(k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[q>>2]|0)|0;k[k[p>>2]>>2]=t;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}return 0}function vJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+20|0;i=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[i>>2]=a;k[d>>2]=b;k[h>>2]=k[(k[i>>2]|0)+16>>2];b=fM(k[h>>2]|0,e)|0;k[f>>2]=b;if(Xx(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=7;i=k[c>>2]|0;r=g;return i|0}else{k[(k[d>>2]|0)+12>>2]=k[e>>2];j[(k[d>>2]|0)+8>>1]=(m[(k[d>>2]|0)+8>>1]|0)&-49664|16;bS(k[(k[d>>2]|0)+16>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=0;i=k[c>>2]|0;r=g;return i|0}return 0}function wJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+8>>2]|0)){r=f;return}k[e>>2]=k[k[c>>2]>>2];bg(k[e>>2]|0,k[(k[c>>2]|0)+108>>2]|0);b=Ah(k[e>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[c>>2]|0)+108>>2]=b;Ud(k[(k[d>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+8>>2]=0;r=f;return}function xJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(cM(k[(k[c>>2]|0)+16>>2]|0)|0){a=dM(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function yJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+12|0;c=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[e>>2]=k[(k[h>>2]|0)+16>>2];b=k[e>>2]|0;if(l[(k[e>>2]|0)+56>>0]|0){h=tL(b)|0;k[f>>2]=h;k[f>>2]=k[f>>2];if(!(k[f>>2]|0)){h=SL(k[e>>2]|0)|0;k[f>>2]=h;k[k[c>>2]>>2]=0}k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}a=k[c>>2]|0;if(k[b+36>>2]|0){k[a>>2]=0;h=wL((k[e>>2]|0)+64|0,(k[e>>2]|0)+36|0)|0;k[f>>2]=h}else k[a>>2]=1;k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}function zJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;c=f+4|0;e=f;k[d>>2]=a;k[c>>2]=b;b=_F(k[d>>2]|0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}else{k[c>>2]=0;d=CG(k[d>>2]|0)|0;k[e>>2]=d;break}}while(0);r=f;return k[e>>2]|0}function AJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;d=j+20|0;l=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;f=j;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[g>>2]=k[(k[l>>2]|0)+16>>2];a=k[g>>2]|0;if(i[(k[g>>2]|0)+56>>0]|0){l=JL(k[a+20>>2]|0,k[e>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;r=j;return l|0}k[f>>2]=k[a+36>>2];k[(k[g>>2]|0)+36>>2]=k[(k[f>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;if(!(k[(k[g>>2]|0)+36+4>>2]|0))dL(k[d>>2]|0,k[f>>2]|0);k[k[e>>2]>>2]=((k[(k[g>>2]|0)+36>>2]|0)!=0^1)&1;k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}function BJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;f=t+52|0;u=t+48|0;g=t+44|0;q=t+40|0;s=t+36|0;p=t+32|0;d=t+28|0;o=t+24|0;e=t+20|0;c=t+16|0;m=t+12|0;h=t+8|0;j=t+4|0;n=t;k[u>>2]=a;k[g>>2]=b;k[s>>2]=0;k[q>>2]=k[(k[u>>2]|0)+16>>2];a=(k[(k[g>>2]|0)+16>>2]|0)+1|0;if((l[(k[(k[g>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)k[c>>2]=l[a>>0];else lG(a,c)|0;do if((k[c>>2]|0)>0&(k[c>>2]|0)<10&(k[c>>2]|0)!=7){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&1}else{if((k[c>>2]|0)>10?(k[c>>2]&1|0)!=0:0){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&2;break}i[(k[q>>2]|0)+60>>0]=0}while(0);k[o>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;c=k[(k[g>>2]|0)+12>>2]|0;u=k[(k[g>>2]|0)+12>>2]|0;u=c+(sG(u,((u|0)<0)<<31>>31)|0)|0;k[e>>2]=u;if(k[(k[q>>2]|0)+4>>2]|0){a=k[q>>2]|0;if(k[(k[q>>2]|0)+36+4>>2]|0){if(k[a+48>>2]|0)a=((k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0)|0)>(k[(k[q>>2]|0)+4>>2]|0);else a=0;k[d>>2]=a&1}else{if((k[a+36+8>>2]|0)<=(k[(k[q>>2]|0)+4>>2]|0))if((k[(k[q>>2]|0)+36+8>>2]|0)>(k[k[q>>2]>>2]|0))a=(av()|0)!=0;else a=0;else a=1;k[d>>2]=a&1}if(k[d>>2]|0){u=tL(k[q>>2]|0)|0;k[s>>2]=u;k[(k[q>>2]|0)+36+8>>2]=0;k[(k[q>>2]|0)+48>>2]=0}}u=(k[q>>2]|0)+36+8|0;k[u>>2]=(k[u>>2]|0)+(k[e>>2]|0);if((k[e>>2]|0)>(k[(k[q>>2]|0)+8>>2]|0))k[(k[q>>2]|0)+8>>2]=k[e>>2];do if(k[(k[q>>2]|0)+36+4>>2]|0){k[m>>2]=(k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0);do if((k[m>>2]|0)>(k[(k[q>>2]|0)+52>>2]|0)){k[j>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0);k[n>>2]=k[(k[q>>2]|0)+52>>2]<<1;while(1){a=k[n>>2]|0;if((k[n>>2]|0)>=(k[m>>2]|0))break;k[n>>2]=a<<1}if((a|0)>(k[(k[q>>2]|0)+4>>2]|0))k[n>>2]=k[(k[q>>2]|0)+4>>2];if((k[n>>2]|0)<(k[m>>2]|0))k[n>>2]=k[m>>2];u=k[n>>2]|0;u=mg(k[(k[q>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;k[h>>2]=u;if(k[h>>2]|0){k[(k[q>>2]|0)+36>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[(k[q>>2]|0)+36+4>>2]=k[h>>2];k[(k[q>>2]|0)+52>>2]=k[n>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);k[p>>2]=(k[(k[q>>2]|0)+36+4>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0);u=(k[q>>2]|0)+48|0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+7&-8);if(k[(k[q>>2]|0)+36>>2]|0)k[(k[p>>2]|0)+4>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0)}else{u=k[o>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[p>>2]=u;if(k[p>>2]|0){k[(k[p>>2]|0)+4>>2]=k[(k[q>>2]|0)+36>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);bS((k[p>>2]|0)+8|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0;k[k[p>>2]>>2]=k[(k[g>>2]|0)+12>>2];k[(k[q>>2]|0)+36>>2]=k[p>>2];k[f>>2]=k[s>>2];u=k[f>>2]|0;r=t;return u|0}function CJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+128|0;e=n+116|0;q=n+112|0;p=n+108|0;f=n+104|0;o=n+80|0;d=n+100|0;i=n+96|0;j=n+92|0;g=n+88|0;h=n+40|0;m=n;k[q>>2]=a;k[p>>2]=b;k[f>>2]=c;b=o;k[b>>2]=0;k[b+4>>2]=0;b=lI(k[p>>2]|0)|0;c=o;k[c>>2]=b;k[c+4>>2]=0;tG(h,k[q>>2]|0,0);c=ZI(k[p>>2]|0,0,k[o>>2]|0,1,h)|0;k[d>>2]=c;if(k[d>>2]|0){k[e>>2]=k[d>>2];q=k[e>>2]|0;r=n;return q|0}a=k[h+16>>2]|0;if((l[k[h+16>>2]>>0]|0|0)<128)k[i>>2]=l[a>>0];else lG(a,i)|0;if((k[i>>2]|0)>>>0>=3?(k[i>>2]|0)<=(k[h+12>>2]|0):0){a=(k[h+16>>2]|0)+((k[i>>2]|0)-1)|0;if((l[(k[h+16>>2]|0)+((k[i>>2]|0)-1)>>0]|0|0)<128)k[j>>2]=l[a>>0];else lG(a,j)|0;if(!((k[j>>2]|0)>>>0<1|(k[j>>2]|0)>>>0>9|(k[j>>2]|0)==7)?(k[g>>2]=l[35061+(k[j>>2]|0)>>0],(k[h+12>>2]|0)>>>0>=((k[i>>2]|0)+(k[g>>2]|0)|0)>>>0):0){nG((k[h+16>>2]|0)+((k[h+12>>2]|0)-(k[g>>2]|0))|0,k[j>>2]|0,m)|0;o=m;p=k[o+4>>2]|0;q=k[f>>2]|0;k[q>>2]=k[o>>2];k[q+4>>2]=p;fh(h);k[e>>2]=0;q=k[e>>2]|0;r=n;return q|0}}fh(h);q=_j(74890)|0;k[e>>2]=q;q=k[e>>2]|0;r=n;return q|0}function DJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+72|0;f=n+68|0;o=n+64|0;g=n+60|0;h=n+56|0;j=n+40|0;m=n+52|0;l=n+48|0;i=n;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[h>>2]=d;a=j;k[a>>2]=0;k[a+4>>2]=0;k[l>>2]=k[(k[o>>2]|0)+16>>2];a=lI(k[l>>2]|0)|0;b=j;k[b>>2]=a;k[b+4>>2]=0;b=j;a=k[b+4>>2]|0;d=j;c=k[d+4>>2]|0;if((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<=0|((c|0)>0|(c|0)==0&(k[d>>2]|0)>>>0>2147483647)){k[k[h>>2]>>2]=0;o=_j(74923)|0;k[e>>2]=o;o=k[e>>2]|0;r=n;return o|0}tG(i,k[f>>2]|0,0);o=ZI(k[l>>2]|0,0,k[j>>2]|0,1,i)|0;k[m>>2]=o;if(k[m>>2]|0){k[e>>2]=k[m>>2];o=k[e>>2]|0;r=n;return o|0}else{o=jG(k[i+12>>2]|0,k[i+16>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=o;fh(i);k[e>>2]=0;o=k[e>>2]|0;r=n;return o|0}return 0}function EJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);c=sL(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;r=e;return k[d>>2]|0} +function uD(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+96|0;n=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;g=nx(k[n>>2]|0)|0;k[J>>2]=g;k[z>>2]=(k[(k[n>>2]|0)+40>>2]|0)-1;g=eA(k[J>>2]|0)|0;k[C>>2]=g;if((k[v>>2]|0)<0)sx(k[J>>2]|0,65,l[(k[s>>2]|0)+24>>0]|0,k[C>>2]|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[s>>2]|0)+20>>2]|0))break;k[E>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+(k[u>>2]|0)+1;sx(k[J>>2]|0,34,k[E>>2]|0,k[C>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}do if(!(k[w>>2]|0)){if(!(k[q>>2]|0)){I=Fx(k[n>>2]|0)|0;k[H>>2]=I;sx(k[J>>2]|0,85,(k[k[t>>2]>>2]|0)+1+(k[u>>2]|0)|0,k[H>>2]|0)|0;I=sx(k[J>>2]|0,17,k[H>>2]|0,0)|0;k[B>>2]=I;if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){tx(k[J>>2]|0,37,k[u>>2]|0,k[C>>2]|0,k[H>>2]|0)|0;Th(k[J>>2]|0,-112)}cA(k[n>>2]|0,k[z>>2]|0,k[o>>2]|0,k[p>>2]|0,104);tx(k[J>>2]|0,33,k[z>>2]|0,0,k[H>>2]|0)|0;gA(k[J>>2]|0,k[C>>2]|0)|0;I=k[J>>2]|0;hA(I,(Gx(k[J>>2]|0)|0)-2|0);hA(k[J>>2]|0,k[B>>2]|0);Hx(k[n>>2]|0,k[H>>2]|0);break}k[F>>2]=k[(k[s>>2]|0)+20>>2];H=MA(k[n>>2]|0,k[F>>2]|0)|0;k[I>>2]=H;H=Fx(k[n>>2]|0)|0;k[G>>2]=H;tx(k[J>>2]|0,104,k[z>>2]|0,k[(k[q>>2]|0)+44>>2]|0,k[o>>2]|0)|0;dA(k[n>>2]|0,k[q>>2]|0);k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;sx(k[J>>2]|0,84,(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0)|0,(k[I>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){H=Gx(k[J>>2]|0)|0;k[A>>2]=H+(k[F>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;k[y>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0);k[D>>2]=(j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)+1+(k[u>>2]|0);if((j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)==(j[(k[p>>2]|0)+32>>1]|0))k[D>>2]=k[u>>2];tx(k[J>>2]|0,36,k[y>>2]|0,k[A>>2]|0,k[D>>2]|0)|0;Th(k[J>>2]|0,16);k[x>>2]=(k[x>>2]|0)+1}gA(k[J>>2]|0,k[C>>2]|0)|0}d=k[J>>2]|0;a=k[I>>2]|0;c=k[F>>2]|0;g=k[G>>2]|0;H=MC(k[k[n>>2]>>2]|0,k[q>>2]|0)|0;wx(d,99,a,c,g,H,k[F>>2]|0)|0;Sh(k[J>>2]|0,31,k[z>>2]|0,k[C>>2]|0,k[G>>2]|0,0)|0;Hx(k[n>>2]|0,k[G>>2]|0);PA(k[n>>2]|0,k[I>>2]|0,k[F>>2]|0)}while(0);if((((i[(k[s>>2]|0)+24>>0]|0)==0?(k[(k[k[n>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(k[(k[n>>2]|0)+124>>2]|0)==0:0)?(i[(k[n>>2]|0)+20>>0]|0)==0:0){DA(k[n>>2]|0,787,2,0,-2,4);H=k[J>>2]|0;I=k[C>>2]|0;iA(H,I);I=k[J>>2]|0;J=k[z>>2]|0;aA(I,111,J)|0;r=K;return}if((k[v>>2]|0)>0?(l[(k[s>>2]|0)+24>>0]|0)==0:0)dy(k[n>>2]|0);sx(k[J>>2]|0,144,l[(k[s>>2]|0)+24>>0]|0,k[v>>2]|0)|0;H=k[J>>2]|0;I=k[C>>2]|0;iA(H,I);I=k[J>>2]|0;J=k[z>>2]|0;aA(I,111,J)|0;r=K;return}function vD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[h>>2]=a;k[d>>2]=b;b=k[h>>2]|0;if(k[(k[h>>2]|0)+124>>2]|0)b=k[b+124>>2]|0;k[f>>2]=b;do if(k[(k[f>>2]|0)+468>>2]|0){k[e>>2]=k[k[(k[f>>2]|0)+468>>2]>>2];if(!((k[e>>2]|0)==(k[(k[d>>2]|0)+28>>2]|0)?(l[(k[d>>2]|0)+25>>0]|0|0)==7:0)){if((k[e>>2]|0)!=(k[(k[d>>2]|0)+28+4>>2]|0))break;if((l[(k[d>>2]|0)+25+1>>0]|0|0)!=7)break}k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}while(0);k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function wD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;i=s+16|0;m=s+12|0;p=s+8|0;n=s+4|0;o=s;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=0;a:while(1){if((k[m>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0)){q=14;break}k[p>>2]=k[(k[g>>2]|0)+36+(k[m>>2]<<3)+4>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;if(!((k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)<0?!((k[i>>2]|0)!=0?(k[n>>2]|0)==(j[(k[f>>2]|0)+32>>1]|0):0):0))q=7;do if((q|0)==7){q=0;k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<4);c=k[o>>2]|0;if(k[p>>2]|0)if(!(sg(k[c>>2]|0,k[p>>2]|0)|0)){q=9;break a}else break;else if(l[c+15>>0]&1){q=11;break a}else break}while(0);k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1}if((q|0)==9){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==11){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==14){k[e>>2]=0;q=k[e>>2]|0;r=s;return q|0}return 0}function xD(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+144|0;i=O+128|0;n=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;k[i>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[v>>2]=k[k[i>>2]>>2];k[K>>2]=0;k[z>>2]=0;g=nx(k[i>>2]|0)|0;k[M>>2]=g;if((k[u>>2]|0)<0){g=sx(k[M>>2]|0,65,l[(k[q>>2]|0)+24>>0]|0,0)|0;k[z>>2]=g}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[q>>2]|0)+20>>2]|0))break;if(k[p>>2]|0)f=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;else f=-1;j[x>>1]=f;g=yD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[x>>1]|0)|0;k[D>>2]=g;if(k[s>>2]|0)f=k[(k[s>>2]|0)+(k[w>>2]<<2)>>2]|0;else f=k[(k[q>>2]|0)+36>>2]|0;j[x>>1]=f;k[N>>2]=k[(k[(k[k[q>>2]>>2]|0)+4>>2]|0)+(j[x>>1]<<4)>>2];g=ew(k[v>>2]|0,55,k[N>>2]|0)|0;k[H>>2]=g;g=Ov(k[i>>2]|0,37,k[D>>2]|0,k[H>>2]|0,0)|0;k[B>>2]=g;g=Gz(k[v>>2]|0,k[K>>2]|0,k[B>>2]|0)|0;k[K>>2]=g;k[w>>2]=(k[w>>2]|0)+1}if((k[u>>2]|0)>0?(k[o>>2]|0)==(k[k[q>>2]>>2]|0):0){if(!(l[(k[o>>2]|0)+42>>0]&32)){N=yD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,-1)|0;k[E>>2]=N;N=zD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,-1)|0;k[I>>2]=N;N=Ov(k[i>>2]|0,36,k[E>>2]|0,k[I>>2]|0,0)|0;k[F>>2]=N}else{k[A>>2]=0;N=Tj(k[o>>2]|0)|0;k[G>>2]=N;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[G>>2]|0)+50>>1]|0))break;j[y>>1]=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;N=yD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[y>>1]|0)|0;k[E>>2]=N;N=zD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,j[y>>1]|0)|0;k[I>>2]=N;N=Ov(k[i>>2]|0,37,k[E>>2]|0,k[I>>2]|0,0)|0;k[C>>2]=N;N=Gz(k[v>>2]|0,k[A>>2]|0,k[C>>2]|0)|0;k[A>>2]=N;k[w>>2]=(k[w>>2]|0)+1}N=Ov(k[i>>2]|0,19,k[A>>2]|0,0,0)|0;k[F>>2]=N}N=Gz(k[v>>2]|0,k[K>>2]|0,k[F>>2]|0)|0;k[K>>2]=N};k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L+24>>2]=0;k[L+28>>2]=0;k[L+4>>2]=k[n>>2];k[L>>2]=k[i>>2];Ky(L,k[K>>2]|0)|0;N=AD(k[i>>2]|0,k[n>>2]|0,k[K>>2]|0,0,0,0,0)|0;k[J>>2]=N;sx(k[M>>2]|0,144,l[(k[q>>2]|0)+24>>0]|0,k[u>>2]|0)|0;if(k[J>>2]|0)BD(k[J>>2]|0);sv(k[v>>2]|0,k[K>>2]|0);if(!(k[z>>2]|0)){r=O;return}hA(k[M>>2]|0,k[z>>2]|0);r=O;return}function yD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+28|0;n=p+12|0;m=p+8|0;o=p+4|0;l=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;k[l>>2]=k[k[e>>2]>>2];c=ew(k[l>>2]|0,157,0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){o=k[n>>2]|0;r=p;return o|0}if((j[h>>1]|0)>=0?(j[h>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0):0){k[m>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(j[h>>1]<<4);k[(k[n>>2]|0)+28>>2]=(k[g>>2]|0)+(j[h>>1]|0)+1;i[(k[n>>2]|0)+1>>0]=i[(k[m>>2]|0)+13>>0]|0;k[o>>2]=k[(k[m>>2]|0)+8>>2];if(!(k[o>>2]|0))k[o>>2]=k[k[(k[l>>2]|0)+8>>2]>>2];o=ez(k[e>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}k[(k[n>>2]|0)+28>>2]=k[g>>2];i[(k[n>>2]|0)+1>>0]=68;o=k[n>>2]|0;r=p;return o|0}function zD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;i=r;r=r+32|0;l=i+12|0;e=i+8|0;f=i+4|0;g=i+16|0;h=i;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;j[g>>1]=d;b=ew(k[l>>2]|0,152,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){l=k[h>>2]|0;r=i;return l|0}k[(k[h>>2]|0)+44>>2]=k[e>>2];k[(k[h>>2]|0)+28>>2]=k[f>>2];j[(k[h>>2]|0)+32>>1]=j[g>>1]|0;l=k[h>>2]|0;r=i;return l|0}function AD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+192|0;h=ca+24|0;p=ca+180|0;q=ca+176|0;s=ca+172|0;n=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;o=ca+152|0;H=ca+148|0;W=ca+144|0;_=ca+140|0;I=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;F=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;D=ca+72|0;T=ca+68|0;V=ca+64|0;C=ca+60|0;J=ca+56|0;y=ca;G=ca+52|0;N=ca+48|0;E=ca+44|0;K=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;k[q>>2]=a;k[s>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[v>>1]=f;k[w>>2]=g;k[_>>2]=k[(k[q>>2]|0)+8>>2];i[z>>0]=0;k[B>>2]=k[k[q>>2]>>2];k[Y>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[Y+12>>2]=0;k[Y+16>>2]=0;if((k[t>>2]|0)!=0?(k[k[t>>2]>>2]|0)>=64:0)k[t>>2]=0;k[Y+8>>2]=k[t>>2];if(m[(k[B>>2]|0)+64>>1]&32)j[v>>1]=m[v>>1]&-257;if((k[k[s>>2]>>2]|0)>64){ba=k[q>>2]|0;k[h>>2]=64;Oh(ba,34404,h);k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}if(m[v>>1]&32)g=1;else g=k[k[s>>2]>>2]|0;k[H>>2]=g;k[o>>2]=832+(((k[H>>2]|0)-1|0)*80|0)+7&-8;f=dx(k[B>>2]|0,(k[o>>2]|0)+72|0,0)|0;k[W>>2]=f;a:do if(!(i[(k[B>>2]|0)+69>>0]|0)){k[k[W>>2]>>2]=k[q>>2];k[(k[W>>2]|0)+4>>2]=k[s>>2];k[(k[W>>2]|0)+8>>2]=k[t>>2];k[(k[W>>2]|0)+12>>2]=k[u>>2];k[(k[W>>2]|0)+20+4>>2]=-1;k[(k[W>>2]|0)+20>>2]=-1;i[(k[W>>2]|0)+42>>0]=k[H>>2];g=eA(k[_>>2]|0)|0;k[(k[W>>2]|0)+28>>2]=g;k[(k[W>>2]|0)+32>>2]=g;j[(k[W>>2]|0)+40>>1]=j[v>>1]|0;j[(k[W>>2]|0)+16>>1]=k[w>>2];k[(k[W>>2]|0)+36>>2]=k[(k[q>>2]|0)+136>>2];g=(k[W>>2]|0)+43|0;e=g+37|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(e|0));dS((k[W>>2]|0)+752|0,0,72+((k[H>>2]|0)*80|0)|0)|0;k[R>>2]=(k[W>>2]|0)+488;k[Y>>2]=k[W>>2];k[Y+4>>2]=(k[W>>2]|0)+80;k[Y+12>>2]=(k[W>>2]|0)+(k[o>>2]|0);ID(k[Y+12>>2]|0);k[k[R>>2]>>2]=0;LD((k[W>>2]|0)+80|0,k[W>>2]|0);MD((k[W>>2]|0)+80|0,k[n>>2]|0,28);k[F>>2]=0;while(1){g=(k[H>>2]|0)==0;if((k[F>>2]|0)>=(k[(k[Y+4>>2]|0)+12>>2]|0))break;if(!(!g?(LB(k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0)|0)==0:0)){sB(k[q>>2]|0,k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0,k[(k[W>>2]|0)+32>>2]|0,16);o=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)+10|0;j[o>>1]=m[o>>1]|4}k[F>>2]=(k[F>>2]|0)+1}if(g){if(k[t>>2]|0)i[(k[W>>2]|0)+43>>0]=k[k[t>>2]>>2];if(m[v>>1]&256)i[(k[W>>2]|0)+47>>0]=1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[k[s>>2]>>2]|0))break;ND(k[R>>2]|0,k[(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)+44>>2]|0);OD(k[q>>2]|0,(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)|0,(k[W>>2]|0)+80|0);k[F>>2]=(k[F>>2]|0)+1}PD(k[s>>2]|0,(k[W>>2]|0)+80|0);if(!(i[(k[B>>2]|0)+69>>0]|0)){do if(m[v>>1]&256){if(QD(k[q>>2]|0,k[s>>2]|0,(k[W>>2]|0)+80|0,k[u>>2]|0)|0){i[(k[W>>2]|0)+47>>0]=1;break}if(!(k[t>>2]|0)){t=(k[W>>2]|0)+40|0;j[t>>1]=m[t>>1]|128;k[(k[W>>2]|0)+8>>2]=k[u>>2]}}while(0);if(!((k[H>>2]|0)==1?(RD(Y)|0)!=0:0)){t=SD(Y)|0;k[X>>2]=t;if(k[X>>2]|0)break;TD(k[W>>2]|0,0)|0;if(i[(k[B>>2]|0)+69>>0]|0)break;if((k[(k[W>>2]|0)+8>>2]|0)!=0?(TD(k[W>>2]|0,(j[(k[W>>2]|0)+72>>1]|0)+1&65535)|0,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break}if((k[(k[W>>2]|0)+8>>2]|0)==0?(k[(k[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(k[W>>2]|0)+64|0;k[X>>2]=-1;k[X+4>>2]=-1}if((k[(k[q>>2]|0)+36>>2]|0)==0?(l[(k[B>>2]|0)+69>>0]|0)==0:0){b:do if(((k[u>>2]|0)!=0?(l[(k[W>>2]|0)+42>>0]|0)>=2:0)?(m[(k[B>>2]|0)+64>>1]&1024|0)==0:0){u=UD(k[R>>2]|0,k[u>>2]|0)|0;X=Z;k[X>>2]=u;k[X+4>>2]=L;if(k[Y+8>>2]|0){u=UD(k[R>>2]|0,k[Y+8>>2]|0)|0;t=Z;R=k[t+4>>2]|L;X=Z;k[X>>2]=k[t>>2]|u;k[X+4>>2]=R}while(1){if((l[(k[W>>2]|0)+42>>0]|0)<2)break b;k[Q>>2]=k[(k[W>>2]|0)+752+(((l[(k[W>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(l[(k[(k[W>>2]|0)+4>>2]|0)+8+((l[(k[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((m[v>>1]&256|0)==0?(k[(k[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(k[Q>>2]|0)+8|0;if((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)break b;k[M>>2]=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[(k[Y+4>>2]|0)+12>>2]|0)*48|0);k[U>>2]=k[(k[Y+4>>2]|0)+20>>2];while(1){if((k[U>>2]|0)>>>0>=(k[M>>2]|0)>>>0)break;R=(k[U>>2]|0)+40|0;X=(k[Q>>2]|0)+8|0;if(((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)?(k[(k[k[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;k[U>>2]=(k[U>>2]|0)+48}if((k[U>>2]|0)>>>0<(k[M>>2]|0)>>>0)break b;X=(k[W>>2]|0)+42|0;i[X>>0]=(i[X>>0]|0)+-1<<24>>24;k[H>>2]=(k[H>>2]|0)+-1}}while(0);Z=(k[k[W>>2]>>2]|0)+136|0;k[Z>>2]=(k[Z>>2]|0)+(j[(k[W>>2]|0)+72>>1]|0);do if(m[v>>1]&4){k[$>>2]=k[(k[(k[W>>2]|0)+752+64>>2]|0)+36>>2];k[A>>2]=(k[$>>2]&4096|0)!=0&1;if(!(k[A>>2]|0)){if(!(m[v>>1]&8))break;if(k[$>>2]&1024)break}i[(k[W>>2]|0)+45>>0]=(k[A>>2]|0)!=0?1:2;if((l[(k[(k[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(k[$>>2]&64|0)!=0:0){if(m[v>>1]&8)i[z>>0]=8;k[(k[(k[W>>2]|0)+752+64>>2]|0)+36>>2]=k[$>>2]&-65}}while(0);k[F>>2]=0;k[P>>2]=(k[W>>2]|0)+752;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[T>>2]=(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0);k[S>>2]=k[(k[T>>2]|0)+16>>2];$=Ph(k[B>>2]|0,k[(k[S>>2]|0)+64>>2]|0)|0;k[D>>2]=$;k[Q>>2]=k[(k[P>>2]|0)+64>>2];c:do if((l[(k[S>>2]|0)+42>>0]&2|0)==0?(k[(k[S>>2]|0)+12>>2]|0)==0:0){if(k[(k[Q>>2]|0)+36>>2]&1024){$=cy(k[B>>2]|0,k[S>>2]|0)|0;k[V>>2]=$;k[C>>2]=k[(k[T>>2]|0)+44>>2];wx(k[_>>2]|0,155,k[C>>2]|0,0,0,k[V>>2]|0,-10)|0;break}if(l[(k[S>>2]|0)+42>>0]&16)break;do if(!(k[(k[Q>>2]|0)+36>>2]&64)){if(m[v>>1]&32)break;k[J>>2]=104;if(l[(k[W>>2]|0)+45>>0]|0){k[J>>2]=105;k[(k[W>>2]|0)+20>>2]=k[(k[T>>2]|0)+44>>2]}cA(k[q>>2]|0,k[(k[T>>2]|0)+44>>2]|0,k[D>>2]|0,k[S>>2]|0,k[J>>2]|0);do if(!(l[(k[W>>2]|0)+45>>0]|0)){if((j[(k[S>>2]|0)+34>>1]|0)>=64)break;if(l[(k[S>>2]|0)+42>>0]&32)break;Y=(k[T>>2]|0)+56|0;Z=k[Y+4>>2]|0;$=y;k[$>>2]=k[Y>>2];k[$+4>>2]=Z;k[G>>2]=0;while(1){$=y;if(!((k[$>>2]|0)!=0|(k[$+4>>2]|0)!=0))break;Z=y;Z=aS(k[Z>>2]|0,k[Z+4>>2]|0,1)|0;$=y;k[$>>2]=Z;k[$+4>>2]=L;k[G>>2]=(k[G>>2]|0)+1}Wh(k[_>>2]|0,-1,k[G>>2]|0,-14)}while(0);Th(k[_>>2]|0,i[z>>0]|0);break c}while(0);bA(k[q>>2]|0,k[D>>2]|0,k[(k[S>>2]|0)+28>>2]|0,0,k[k[S>>2]>>2]|0)}while(0);do if(k[(k[Q>>2]|0)+36>>2]&512){k[N>>2]=k[(k[Q>>2]|0)+24+8>>2];k[K>>2]=104;do if(!(l[(k[S>>2]|0)+42>>0]&32))ba=93;else{if((i[(k[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(m[v>>1]&32)){ba=93;break}k[E>>2]=k[(k[P>>2]|0)+4>>2];k[K>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(!(l[(k[W>>2]|0)+45>>0]|0)){do if(k[w>>2]|0){if(!(m[v>>1]&32))break;k[E>>2]=k[w>>2];k[K>>2]=103;break d}while(0);Z=(k[q>>2]|0)+40|0;$=k[Z>>2]|0;k[Z>>2]=$+1;k[E>>2]=$;break}k[O>>2]=k[(k[(k[T>>2]|0)+16>>2]|0)+8>>2];k[E>>2]=k[w>>2];while(1){if(!(k[O>>2]|0))break;if((k[O>>2]|0)==(k[N>>2]|0))break;k[E>>2]=(k[E>>2]|0)+1;k[O>>2]=k[(k[O>>2]|0)+20>>2]}k[K>>2]=105;k[(k[W>>2]|0)+20+4>>2]=k[E>>2]}while(0);k[(k[P>>2]|0)+8>>2]=k[E>>2];if(!(k[K>>2]|0))break;tx(k[_>>2]|0,k[K>>2]|0,k[E>>2]|0,k[(k[N>>2]|0)+44>>2]|0,k[D>>2]|0)|0;dA(k[q>>2]|0,k[N>>2]|0);if(!(k[(k[Q>>2]|0)+36>>2]&15))break;if(k[(k[Q>>2]|0)+36>>2]&32770)break;if(m[(k[W>>2]|0)+40>>1]&1)break;Th(k[_>>2]|0,2)}while(0);if((k[D>>2]|0)>=0)Cx(k[q>>2]|0,k[D>>2]|0);k[F>>2]=(k[F>>2]|0)+1;k[P>>2]=(k[P>>2]|0)+80}ba=Gx(k[_>>2]|0)|0;k[(k[W>>2]|0)+52>>2]=ba;if(!(i[(k[B>>2]|0)+69>>0]|0)){ba=I;k[ba>>2]=-1;k[ba+4>>2]=-1;k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[P>>2]=(k[W>>2]|0)+752+((k[F>>2]|0)*80|0);k[aa>>2]=k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2];if((k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=I,VD(k[q>>2]|0,(k[W>>2]|0)+80|0,(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0)|0,k[ba>>2]|0,k[ba+4>>2]|0,k[P>>2]|0),(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break a;$=WD(k[q>>2]|0,k[s>>2]|0,k[P>>2]|0,k[F>>2]|0,l[(k[P>>2]|0)+44>>0]|0,j[v>>1]|0)|0;k[x>>2]=$;$=Gx(k[_>>2]|0)|0;k[(k[P>>2]|0)+32>>2]=$;$=I;$=XD(k[W>>2]|0,k[F>>2]|0,k[$>>2]|0,k[$+4>>2]|0)|0;ba=I;k[ba>>2]=$;k[ba+4>>2]=L;k[(k[W>>2]|0)+28>>2]=k[(k[P>>2]|0)+24>>2];do if((k[aa>>2]&8192|0)==0?(m[v>>1]&32|0)!=0:0)break;while(0);k[F>>2]=(k[F>>2]|0)+1}k[p>>2]=k[W>>2];ba=k[p>>2]|0;r=ca;return ba|0}}}}else{bg(k[B>>2]|0,k[W>>2]|0);k[W>>2]=0}while(0);if(k[W>>2]|0){k[(k[q>>2]|0)+136>>2]=k[(k[W>>2]|0)+36>>2];DD(k[B>>2]|0,k[W>>2]|0)}k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}function BD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;g=E+80|0;v=E+76|0;A=E+72|0;n=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;h=E+52|0;c=E+48|0;e=E+44|0;d=E+40|0;f=E+36|0;o=E+32|0;p=E+28|0;u=E+24|0;q=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;k[g>>2]=a;k[v>>2]=k[k[g>>2]>>2];k[A>>2]=k[(k[v>>2]|0)+8>>2];k[z>>2]=k[(k[g>>2]|0)+4>>2];k[h>>2]=k[k[v>>2]>>2];OC(k[v>>2]|0);k[n>>2]=(l[(k[g>>2]|0)+42>>0]|0)-1;while(1){if((k[n>>2]|0)<0)break;k[s>>2]=(k[g>>2]|0)+752+((k[n>>2]|0)*80|0);k[t>>2]=k[(k[s>>2]|0)+64>>2];iA(k[A>>2]|0,k[(k[s>>2]|0)+24>>2]|0);if((l[(k[s>>2]|0)+45>>0]|0)!=161){tx(k[A>>2]|0,l[(k[s>>2]|0)+45>>0]|0,k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+52>>2]|0,l[(k[s>>2]|0)+46>>0]|0)|0;Th(k[A>>2]|0,i[(k[s>>2]|0)+47>>0]|0)}a:do if((k[(k[t>>2]|0)+36>>2]&2048|0)!=0?(k[(k[s>>2]|0)+56>>2]|0)>0:0){iA(k[A>>2]|0,k[(k[s>>2]|0)+16>>2]|0);k[d>>2]=k[(k[s>>2]|0)+56>>2];k[e>>2]=(k[(k[s>>2]|0)+56+4>>2]|0)+(((k[d>>2]|0)-1|0)*12|0);while(1){if((k[d>>2]|0)<=0)break a;hA(k[A>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)+1|0);if((l[(k[e>>2]|0)+8>>0]|0)!=161)sx(k[A>>2]|0,l[(k[e>>2]|0)+8>>0]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;hA(k[A>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)-1|0);k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-12}}while(0);iA(k[A>>2]|0,k[(k[s>>2]|0)+12>>2]|0);if(k[(k[s>>2]|0)+20>>2]|0){gA(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;hA(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0);hA(k[A>>2]|0,(k[(k[s>>2]|0)+20>>2]|0)-2|0)}if(k[(k[s>>2]|0)+40>>2]|0)sx(k[A>>2]|0,68,(k[(k[s>>2]|0)+36>>2]|0)>>>1,k[(k[s>>2]|0)+40>>2]|0)|0;if(k[k[s>>2]>>2]|0){k[f>>2]=k[(k[t>>2]|0)+36>>2];b=aA(k[A>>2]|0,66,k[k[s>>2]>>2]|0)|0;k[c>>2]=b;if(!(k[f>>2]&64))aA(k[A>>2]|0,124,k[(k[z>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]|0)|0;if(!(k[f>>2]&512)){if((k[f>>2]&8192|0)!=0?(k[(k[s>>2]|0)+56>>2]|0)!=0:0)D=22}else D=22;if((D|0)==22){D=0;aA(k[A>>2]|0,124,k[(k[s>>2]|0)+8>>2]|0)|0}a=k[A>>2]|0;b=k[s>>2]|0;if((l[(k[s>>2]|0)+45>>0]|0)==72)sx(a,14,k[b+48>>2]|0,k[(k[s>>2]|0)+28>>2]|0)|0;else gA(a,k[b+28>>2]|0)|0;hA(k[A>>2]|0,k[c>>2]|0)}k[n>>2]=(k[n>>2]|0)+-1}iA(k[A>>2]|0,k[(k[g>>2]|0)+32>>2]|0);k[n>>2]=0;k[s>>2]=(k[g>>2]|0)+752;while(1){if((k[n>>2]|0)>=(l[(k[g>>2]|0)+42>>0]|0))break;k[q>>2]=0;k[y>>2]=(k[z>>2]|0)+8+((l[(k[s>>2]|0)+44>>0]|0)*72|0);k[x>>2]=k[(k[y>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+64>>2];if(((l[(k[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(i[(k[h>>2]|0)+69>>0]|0)==0:0)CD(k[A>>2]|0,k[(k[s>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+4>>2]|0,k[(k[y>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((l[(k[x>>2]|0)+42>>0]&2|0)==0?(k[(k[x>>2]|0)+12>>2]|0)==0:0)?(m[(k[g>>2]|0)+40>>1]&32|0)==0:0){k[B>>2]=k[(k[t>>2]|0)+36>>2];if((l[(k[g>>2]|0)+45>>0]|0)==0?(k[B>>2]&64|0)==0:0)aA(k[A>>2]|0,111,k[(k[y>>2]|0)+44>>2]|0)|0;if(((k[B>>2]&512|0)!=0?(k[B>>2]&16640|0)==0:0)?(k[(k[s>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+20+4>>2]|0):0)aA(k[A>>2]|0,111,k[(k[s>>2]|0)+8>>2]|0)|0}a=k[t>>2]|0;if(!(k[(k[t>>2]|0)+36>>2]&576)){if(k[a+36>>2]&8192)k[q>>2]=k[(k[s>>2]|0)+56>>2]}else k[q>>2]=k[a+24+8>>2];if(k[q>>2]|0){if((l[(k[g>>2]|0)+45>>0]|0)!=0?(l[(k[(k[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(i[(k[h>>2]|0)+69>>0]|0)){f=Gx(k[A>>2]|0)|0;k[p>>2]=f;k[o>>2]=k[(k[s>>2]|0)+32>>2];f=oA(k[A>>2]|0,k[o>>2]|0)|0;k[u>>2]=f;while(1){if((k[o>>2]|0)>=(k[p>>2]|0))break b;do if((k[(k[u>>2]|0)+4>>2]|0)==(k[(k[s>>2]|0)+4>>2]|0)){a=k[u>>2]|0;if((l[k[u>>2]>>0]|0)!=96){if((l[a>>0]|0)!=123)break;k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2];i[k[u>>2]>>0]=-127;break}k[C>>2]=k[a+8>>2];if(l[(k[x>>2]|0)+42>>0]&32){f=Tj(k[x>>2]|0)|0;k[w>>2]=f;k[C>>2]=j[(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<1)>>1]}f=(YA(k[q>>2]|0,k[C>>2]&65535)|0)<<16>>16;k[C>>2]=f;if((k[C>>2]|0)>=0){k[(k[u>>2]|0)+8>>2]=k[C>>2];k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2]}}while(0);k[o>>2]=(k[o>>2]|0)+1;k[u>>2]=(k[u>>2]|0)+20}}}}while(0);k[n>>2]=(k[n>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+80}k[(k[v>>2]|0)+136>>2]=k[(k[g>>2]|0)+36>>2];DD(k[h>>2]|0,k[g>>2]|0);r=E;return}function CD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;p=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;j=o+8|0;n=o+4|0;m=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=e;a=oA(k[p>>2]|0,k[f>>2]|0)|0;k[n>>2]=a;a=Gx(k[p>>2]|0)|0;k[m>>2]=a;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;do if((k[(k[n>>2]|0)+4>>2]|0)==(k[g>>2]|0)){e=k[n>>2]|0;if((l[k[n>>2]>>0]|0|0)==96){i[e>>0]=84;k[(k[n>>2]|0)+4>>2]=(k[(k[n>>2]|0)+8>>2]|0)+(k[h>>2]|0);k[(k[n>>2]|0)+8>>2]=k[(k[n>>2]|0)+12>>2];k[(k[n>>2]|0)+12>>2]=0;break}if((l[e>>0]|0|0)==123){e=k[n>>2]|0;if(k[j>>2]|0){i[e>>0]=91;k[(k[n>>2]|0)+4>>2]=k[(k[n>>2]|0)+8>>2];k[(k[n>>2]|0)+8>>2]=1;break}else{i[e>>0]=79;k[(k[n>>2]|0)+4>>2]=0;k[(k[n>>2]|0)+12>>2]=0;break}}}while(0);k[f>>2]=(k[f>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}r=o;return}function DD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=h;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+42>>0]|0|0))break;k[g>>2]=(k[d>>2]|0)+752+((k[e>>2]|0)*80|0);if((k[(k[g>>2]|0)+64>>2]|0)!=0?(k[(k[(k[g>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)bg(k[c>>2]|0,k[(k[g>>2]|0)+56+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}ED((k[d>>2]|0)+80|0);while(1){if(!(k[(k[d>>2]|0)+56>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=k[(k[f>>2]|0)+52>>2];FD(k[c>>2]|0,k[f>>2]|0)}bg(k[c>>2]|0,k[d>>2]|0);r=h;return}function ED(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[d>>2]=k[k[k[k[b>>2]>>2]>>2]>>2];k[e>>2]=(k[(k[b>>2]|0)+12>>2]|0)-1;k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){if((k[e>>2]|0)<0)break;if((m[(k[c>>2]|0)+10>>1]|0)&1)sv(k[d>>2]|0,k[k[c>>2]>>2]|0);if(!((m[(k[c>>2]|0)+10>>1]|0)&16)){if((m[(k[c>>2]|0)+10>>1]|0)&32)KD(k[d>>2]|0,k[(k[c>>2]|0)+28>>2]|0)}else JD(k[d>>2]|0,k[(k[c>>2]|0)+28>>2]|0);k[e>>2]=(k[e>>2]|0)+-1;k[c>>2]=(k[c>>2]|0)+48}if((k[(k[b>>2]|0)+20>>2]|0)==((k[b>>2]|0)+24|0)){r=f;return}bg(k[d>>2]|0,k[(k[b>>2]|0)+20>>2]|0);r=f;return}function FD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;GD(k[e>>2]|0,k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function GD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[(k[d>>2]|0)+48>>2]|0)!=((k[d>>2]|0)+56|0))bg(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0);HD(k[c>>2]|0,k[d>>2]|0);ID(k[d>>2]|0);r=e;return}function HD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+36>>2]&17408)){r=e;return}if((k[(k[d>>2]|0)+36>>2]&1024|0)!=0?(l[(k[d>>2]|0)+24+4>>0]|0|0)!=0:0){Ud(k[(k[d>>2]|0)+24+8>>2]|0);i[(k[d>>2]|0)+24+4>>0]=0;k[(k[d>>2]|0)+24+8>>2]=0;r=e;return}if(!(k[(k[d>>2]|0)+36>>2]&16384)){r=e;return}if(!(k[(k[d>>2]|0)+24+8>>2]|0)){r=e;return}bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+24+8>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+24+8>>2]|0);k[(k[d>>2]|0)+24+8>>2]=0;r=e;return}function ID(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+48>>2]=(k[c>>2]|0)+56;j[(k[c>>2]|0)+40>>1]=0;j[(k[c>>2]|0)+44>>1]=3;k[(k[c>>2]|0)+36>>2]=0;r=b;return}function JD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;ED(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function KD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;ED(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function LD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];k[(k[d>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+16>>2]=8;k[(k[d>>2]|0)+20>>2]=(k[d>>2]|0)+24;r=c;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=uy(k[e>>2]|0)|0;k[g>>2]=a;i[(k[d>>2]|0)+8>>0]=i[f>>0]|0;if(!(k[g>>2]|0)){r=h;return}c=k[d>>2]|0;if((l[k[g>>2]>>0]|0|0)!=(l[f>>0]|0|0)){eF(c,k[e>>2]|0,0)|0;r=h;return}else{MD(c,k[(k[g>>2]|0)+12>>2]|0,i[f>>0]|0);MD(k[d>>2]|0,k[(k[g>>2]|0)+16>>2]|0,i[f>>0]|0);r=h;return}}function ND(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[(k[d>>2]|0)+4+(a<<2)>>2]=b;r=c;return}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;d=q+40|0;e=q+36|0;f=q+32|0;o=q+28|0;n=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;m=q+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1)){r=q;return}k[o>>2]=k[(k[e>>2]|0)+16>>2];k[h>>2]=k[(k[e>>2]|0)+64>>2];if(!(k[h>>2]|0)){r=q;return}k[g>>2]=0;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[h>>2]>>2]|0)){b=13;break}while(1){if((k[g>>2]|0)<(j[(k[o>>2]|0)+34>>1]|0))b=(l[(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+15>>0]&2|0)==0;else b=0;a=k[g>>2]|0;if(!b)break;k[g>>2]=a+1}c=k[d>>2]|0;if((a|0)>=(j[(k[o>>2]|0)+34>>1]|0)){b=10;break}c=tw(k[c>>2]|0,152,0,0)|0;k[i>>2]=c;if(!(k[i>>2]|0)){b=13;break}k[(k[i>>2]|0)+28>>2]=k[(k[e>>2]|0)+44>>2];a=k[g>>2]|0;k[g>>2]=a+1;j[(k[i>>2]|0)+32>>1]=a;k[(k[i>>2]|0)+44>>2]=k[o>>2];a=k[d>>2]|0;c=k[i>>2]|0;c=Ov(a,37,c,Sy(k[k[d>>2]>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[m>>2]=c;eF(k[f>>2]|0,k[m>>2]|0,1)|0;k[n>>2]=(k[n>>2]|0)+1}if((b|0)==10){n=k[n>>2]|0;k[p>>2]=k[k[o>>2]>>2];k[p+4>>2]=n;Oh(c,34848,p);r=q;return}else if((b|0)==13){r=q;return}}function PD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[d>>2]|0)+12>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;aF(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+-1}r=f;return}function QD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;s=u+16|0;q=u+12|0;n=u+8|0;o=u+4|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)!=1){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}k[o>>2]=k[(k[g>>2]|0)+8+44>>2];k[s>>2]=k[(k[g>>2]|0)+8+16>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[i>>2]>>2]|0))break;c=uy(k[(k[(k[i>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0;k[p>>2]=c;if(((l[k[p>>2]>>0]|0)==152?(k[(k[p>>2]|0)+28>>2]|0)==(k[o>>2]|0):0)?(j[(k[p>>2]|0)+32>>1]|0)<0:0){t=8;break}k[n>>2]=(k[n>>2]|0)+1}if((t|0)==8){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}k[q>>2]=k[(k[s>>2]|0)+8>>2];while(1){if(!(k[q>>2]|0)){t=22;break}if(l[(k[q>>2]|0)+54>>0]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[q>>2]|0)+50>>1]|0))break;if(!(hE(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0,-1,-1,2,k[q>>2]|0)|0)){if(($E(k[f>>2]|0,k[i>>2]|0,k[o>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)<0)break;if(!(RE(k[q>>2]|0,k[n>>2]|0)|0))break}k[n>>2]=(k[n>>2]|0)+1}if((k[n>>2]|0)==(m[(k[q>>2]|0)+50>>1]|0)){t=20;break}}k[q>>2]=k[(k[q>>2]|0)+20>>2]}if((t|0)==20){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}else if((t|0)==22){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}return 0}function RD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;b=t+44|0;c=t+40|0;s=t+36|0;h=t+32|0;q=t+28|0;p=t+24|0;n=t+20|0;d=t+16|0;e=t+12|0;o=t+8|0;g=t+4|0;f=t;k[c>>2]=a;k[s>>2]=k[k[c>>2]>>2];if((m[(k[s>>2]|0)+40>>1]|0)&32){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[h>>2]=(k[(k[s>>2]|0)+4>>2]|0)+8;k[o>>2]=k[(k[h>>2]|0)+16>>2];if((l[(k[o>>2]|0)+42>>0]|0)&16){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}if((l[(k[h>>2]|0)+36+1>>0]|0)>>>1&1){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[d>>2]=k[(k[h>>2]|0)+44>>2];k[q>>2]=(k[s>>2]|0)+80;k[n>>2]=k[(k[c>>2]|0)+12>>2];k[(k[n>>2]|0)+36>>2]=0;j[(k[n>>2]|0)+42>>1]=0;a=hE(k[q>>2]|0,k[d>>2]|0,-1,0,0,130,0)|0;k[p>>2]=a;a:do if(k[p>>2]|0){k[(k[n>>2]|0)+36>>2]=4353;k[k[(k[n>>2]|0)+48>>2]>>2]=k[p>>2];j[(k[n>>2]|0)+40>>1]=1;j[(k[n>>2]|0)+24>>1]=1;j[(k[n>>2]|0)+20>>1]=33}else{k[g>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break a;if(((l[(k[g>>2]|0)+54>>0]|0|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)==0:0)?(m[(k[g>>2]|0)+50>>1]|0|0)<=3:0){k[f>>2]=((l[(k[g>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[g>>2]|0)+50>>1]|0|0))break;o=hE(k[q>>2]|0,k[d>>2]|0,k[e>>2]|0,0,0,k[f>>2]|0,k[g>>2]|0)|0;k[p>>2]=o;if(!(k[p>>2]|0))break;k[(k[(k[n>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]=k[p>>2];k[e>>2]=(k[e>>2]|0)+1}if((k[e>>2]|0)==(m[(k[g>>2]|0)+50>>1]|0|0))break}k[g>>2]=k[(k[g>>2]|0)+20>>2]}k[(k[n>>2]|0)+36>>2]=4609;if(!(((l[(k[g>>2]|0)+55>>0]|0)>>>5&1|0)==0?(q=(k[h>>2]|0)+56|0,o=k[q>>2]|0,q=k[q+4>>2]|0,p=OE(k[g>>2]|0)|0,!((o&~p|0)==0&(q&~L|0)==0)):0)){q=(k[n>>2]|0)+36|0;k[q>>2]=k[q>>2]|64}j[(k[n>>2]|0)+40>>1]=k[e>>2];j[(k[n>>2]|0)+24>>1]=k[e>>2];k[(k[n>>2]|0)+24+8>>2]=k[g>>2];j[(k[n>>2]|0)+20>>1]=39}while(0);if(!(k[(k[n>>2]|0)+36>>2]|0)){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}j[(k[n>>2]|0)+22>>1]=1;k[(k[s>>2]|0)+752+64>>2]=k[n>>2];p=YD((k[s>>2]|0)+488|0,k[d>>2]|0)|0;q=(k[n>>2]|0)+8|0;k[q>>2]=p;k[q+4>>2]=L;k[(k[s>>2]|0)+752+4>>2]=k[d>>2];j[(k[s>>2]|0)+72>>1]=1;if(k[(k[s>>2]|0)+8>>2]|0)i[(k[s>>2]|0)+43>>0]=k[k[(k[s>>2]|0)+8>>2]>>2];if((m[(k[s>>2]|0)+40>>1]|0)&256)i[(k[s>>2]|0)+47>>0]=1;k[b>>2]=1;s=k[b>>2]|0;r=t;return s|0}function SD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=r;r=r+80|0;b=s+60|0;m=s+56|0;d=s+16|0;e=s+8|0;c=s+52|0;t=s+48|0;j=s+44|0;h=s+40|0;o=s+36|0;q=s+32|0;p=s+28|0;n=s+64|0;f=s;g=s+24|0;k[b>>2]=a;k[m>>2]=k[k[b>>2]>>2];a=d;k[a>>2]=0;k[a+4>>2]=0;a=e;k[a>>2]=0;k[a+4>>2]=0;k[t>>2]=k[(k[m>>2]|0)+4>>2];k[h>>2]=(k[t>>2]|0)+8+((l[(k[m>>2]|0)+42>>0]|0)*72|0);k[o>>2]=k[k[k[m>>2]>>2]>>2];k[q>>2]=0;i[n>>0]=0;k[p>>2]=k[(k[b>>2]|0)+12>>2];ID(k[p>>2]|0);k[c>>2]=0;k[j>>2]=(k[t>>2]|0)+8;while(1){if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){b=19;break}a=f;k[a>>2]=0;k[a+4>>2]=0;i[(k[p>>2]|0)+16>>0]=k[c>>2];a=YD((k[m>>2]|0)+488|0,k[(k[j>>2]|0)+44>>2]|0)|0;t=(k[p>>2]|0)+8|0;k[t>>2]=a;k[t+4>>2]=L;if((l[(k[j>>2]|0)+36>>0]|0|(l[n>>0]|0))&10){u=e;a=k[u+4>>2]|0;t=d;k[t>>2]=k[u>>2];k[t+4>>2]=a}i[n>>0]=i[(k[j>>2]|0)+36>>0]|0;if((l[(k[(k[j>>2]|0)+16>>2]|0)+42>>0]|0)&16){k[g>>2]=(k[j>>2]|0)+72;while(1){if((k[g>>2]|0)>>>0>=(k[h>>2]|0)>>>0)break;u=f;if(!(!((k[u>>2]|0)!=0|(k[u+4>>2]|0)!=0)?((l[(k[g>>2]|0)+36>>0]|0)&10|0)==0:0)){a=YD((k[m>>2]|0)+488|0,k[(k[g>>2]|0)+44>>2]|0)|0;v=f;t=k[v+4>>2]|L;u=f;k[u>>2]=k[v>>2]|a;k[u+4>>2]=t}k[g>>2]=(k[g>>2]|0)+72}u=d;v=f;v=BE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}else{v=d;v=CE(k[b>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}if(!(k[q>>2]|0)){u=d;v=f;v=DE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}t=(k[p>>2]|0)+8|0;a=e;u=k[a+4>>2]|k[t+4>>2];v=e;k[v>>2]=k[a>>2]|k[t>>2];k[v+4>>2]=u;if(k[q>>2]|0){b=19;break}if(l[(k[o>>2]|0)+69>>0]|0){b=19;break}k[c>>2]=(k[c>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+72}if((b|0)==19){GD(k[o>>2]|0,k[p>>2]|0);r=s;return k[q>>2]|0}return 0}function TD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+176|0;E=X+40|0;M=X+148|0;N=X+144|0;G=X+162|0;q=X+140|0;Q=X+136|0;z=X+132|0;O=X+128|0;H=X+124|0;h=X+120|0;o=X+116|0;t=X+112|0;w=X+108|0;s=X+160|0;u=X+158|0;y=X+104|0;v=X+100|0;e=X+96|0;g=X+92|0;S=X+88|0;A=X+84|0;K=X+80|0;d=X+76|0;f=X+72|0;T=X+68|0;c=X+64|0;x=X+156|0;B=X+154|0;C=X+152|0;n=X+164|0;p=X+32|0;D=X+24|0;J=X+60|0;I=X+16|0;L=X+56|0;W=X+52|0;P=X+8|0;U=X+48|0;V=X;R=X+44|0;k[N>>2]=a;j[G>>1]=b;k[t>>2]=0;j[s>>1]=0;j[u>>1]=0;k[f>>2]=0;k[z>>2]=k[k[N>>2]>>2];k[O>>2]=k[k[z>>2]>>2];k[Q>>2]=l[(k[N>>2]|0)+42>>0];if((k[Q>>2]|0)<=1)b=1;else b=(k[Q>>2]|0)==2?5:10;k[q>>2]=b;if((k[(k[N>>2]|0)+8>>2]|0)!=0?(j[G>>1]|0)!=0:0)k[w>>2]=k[k[(k[N>>2]|0)+8>>2]>>2];else k[w>>2]=0;a=(ha(32+(k[Q>>2]<<2)|0,k[q>>2]|0)|0)<<1;k[c>>2]=a;k[c>>2]=(k[c>>2]|0)+(k[w>>2]<<1);c=k[c>>2]|0;c=dx(k[O>>2]|0,c,((c|0)<0)<<31>>31)|0;k[T>>2]=c;if(!(k[T>>2]|0)){k[M>>2]=7;W=k[M>>2]|0;r=X;return W|0}k[g>>2]=k[T>>2];k[e>>2]=(k[g>>2]|0)+(k[q>>2]<<5);c=k[e>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[c+28>>2]=0;k[d>>2]=(k[e>>2]|0)+(k[q>>2]<<5);k[h>>2]=k[q>>2]<<1;k[S>>2]=k[g>>2];while(1){if((k[h>>2]|0)<=0)break;k[(k[S>>2]|0)+24>>2]=k[d>>2];k[h>>2]=(k[h>>2]|0)+-1;k[S>>2]=(k[S>>2]|0)+32;k[d>>2]=(k[d>>2]|0)+(k[Q>>2]<<2)}if(k[w>>2]|0){k[f>>2]=k[d>>2];dS(k[f>>2]|0,0,k[w>>2]<<1|0)|0}if((k[(k[z>>2]|0)+136>>2]|0)>>>0<48)b=k[(k[z>>2]|0)+136>>2]|0;else b=48;j[(k[e>>2]|0)+16>>1]=b;k[v>>2]=1;if(k[w>>2]|0)i[(k[e>>2]|0)+22>>0]=(k[Q>>2]|0)>0?-1:k[w>>2]|0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[Q>>2]|0))break;k[y>>2]=0;k[h>>2]=0;k[S>>2]=k[e>>2];while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;k[K>>2]=k[(k[N>>2]|0)+56>>2];while(1){if(!(k[K>>2]|0))break;i[n>>0]=i[(k[S>>2]|0)+22>>0]|0;c=D;k[c>>2]=0;k[c+4>>2]=0;c=k[K>>2]|0;d=k[S>>2]|0;a:do if(!((k[c>>2]&~k[d>>2]|0)!=0?1:(k[c+4>>2]&~k[d+4>>2]|0)!=0)?(c=(k[K>>2]|0)+8|0,d=k[S>>2]|0,!((k[c>>2]&k[d>>2]|0)!=0?1:(k[c+4>>2]&k[d+4>>2]|0)!=0)):0){if((k[(k[K>>2]|0)+36>>2]&16384|0)!=0?(j[(k[S>>2]|0)+16>>1]|0)<10:0)break;b=xE(j[(k[K>>2]|0)+18>>1]|0,(j[(k[K>>2]|0)+20>>1]|0)+(j[(k[S>>2]|0)+16>>1]|0)&65535)|0;j[C>>1]=b;b=xE(j[C>>1]|0,j[(k[S>>2]|0)+20>>1]|0)|0;j[C>>1]=b;j[x>>1]=(j[(k[S>>2]|0)+16>>1]|0)+(j[(k[K>>2]|0)+22>>1]|0);b=k[S>>2]|0;a=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[a+4>>2];d=p;k[d>>2]=k[b>>2]|k[a>>2];k[d+4>>2]=c;if((i[n>>0]|0)<0){d=yE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[S>>2]|0,j[(k[N>>2]|0)+40>>1]|0,k[H>>2]&65535,k[K>>2]|0,D)|0;i[n>>0]=d}else{a=(k[S>>2]|0)+8|0;c=k[a+4>>2]|0;d=D;k[d>>2]=k[a>>2];k[d+4>>2]=c}if((i[n>>0]|0)>=0?(i[n>>0]|0)<(k[w>>2]|0):0){if(!(j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)){d=zE(k[N>>2]|0,j[G>>1]|0,k[w>>2]|0,i[n>>0]|0)|0;j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]=d}d=xE(j[C>>1]|0,j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)|0;j[B>>1]=d}else j[B>>1]=j[C>>1]|0;k[o>>2]=0;k[A>>2]=k[g>>2];while(1){if((k[o>>2]|0)>=(k[y>>2]|0))break;c=k[A>>2]|0;d=p;if(((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)?((i[(k[A>>2]|0)+22>>0]^i[n>>0])&128|0)==0:0)break;k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}do if((k[o>>2]|0)<(k[y>>2]|0)){if((j[(k[A>>2]|0)+18>>1]|0)<(j[B>>1]|0))break a;if((j[(k[A>>2]|0)+18>>1]|0)!=(j[B>>1]|0))break;if((j[(k[A>>2]|0)+16>>1]|0)<=(j[x>>1]|0))break a}else{do if((k[y>>2]|0)>=(k[q>>2]|0)){if((j[B>>1]|0)>(j[s>>1]|0))break a;if((j[B>>1]|0)!=(j[s>>1]|0))break;if((j[C>>1]|0)>=(j[u>>1]|0))break a}while(0);if((k[y>>2]|0)<(k[q>>2]|0)){d=k[y>>2]|0;k[y>>2]=d+1;k[o>>2]=d}else k[o>>2]=k[t>>2];k[A>>2]=(k[g>>2]|0)+(k[o>>2]<<5)}while(0);b=k[S>>2]|0;d=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[d+4>>2];a=k[A>>2]|0;k[a>>2]=k[b>>2]|k[d>>2];k[a+4>>2]=c;a=D;c=k[a+4>>2]|0;d=(k[A>>2]|0)+8|0;k[d>>2]=k[a>>2];k[d+4>>2]=c;j[(k[A>>2]|0)+16>>1]=j[x>>1]|0;j[(k[A>>2]|0)+18>>1]=j[B>>1]|0;j[(k[A>>2]|0)+20>>1]=j[C>>1]|0;i[(k[A>>2]|0)+22>>0]=i[n>>0]|0;bS(k[(k[A>>2]|0)+24>>2]|0,k[(k[S>>2]|0)+24>>2]|0,k[H>>2]<<2|0)|0;k[(k[(k[A>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]=k[K>>2];if((k[y>>2]|0)>=(k[q>>2]|0)){k[t>>2]=0;j[s>>1]=j[(k[g>>2]|0)+18>>1]|0;j[u>>1]=j[(k[g>>2]|0)+16>>1]|0;k[o>>2]=1;k[A>>2]=(k[g>>2]|0)+32;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;do if((j[(k[A>>2]|0)+18>>1]|0)<=(j[s>>1]|0)){if((j[(k[A>>2]|0)+18>>1]|0)!=(j[s>>1]|0))break;if((j[(k[A>>2]|0)+20>>1]|0)>(j[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;j[s>>1]=j[(k[A>>2]|0)+18>>1]|0;j[u>>1]=j[(k[A>>2]|0)+20>>1]|0;k[t>>2]=k[o>>2]}k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}}}while(0);k[K>>2]=k[(k[K>>2]|0)+52>>2]}k[h>>2]=(k[h>>2]|0)+1;k[S>>2]=(k[S>>2]|0)+32}k[S>>2]=k[g>>2];k[g>>2]=k[e>>2];k[e>>2]=k[S>>2];k[v>>2]=k[y>>2];k[H>>2]=(k[H>>2]|0)+1}if(!(k[v>>2]|0)){Oh(k[z>>2]|0,34756,E);bg(k[O>>2]|0,k[T>>2]|0);k[M>>2]=1;W=k[M>>2]|0;r=X;return W|0}k[S>>2]=k[e>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;if((j[(k[S>>2]|0)+18>>1]|0)>(j[(k[e>>2]|0)+(k[h>>2]<<5)+18>>1]|0))k[S>>2]=(k[e>>2]|0)+(k[h>>2]<<5);k[h>>2]=(k[h>>2]|0)+1}k[H>>2]=0;while(1){b=k[N>>2]|0;if((k[H>>2]|0)>=(k[Q>>2]|0))break;k[J>>2]=b+752+((k[H>>2]|0)*80|0);F=k[(k[(k[S>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]|0;k[K>>2]=F;k[(k[J>>2]|0)+64>>2]=F;i[(k[J>>2]|0)+44>>0]=i[(k[K>>2]|0)+16>>0]|0;k[(k[J>>2]|0)+4>>2]=k[(k[(k[N>>2]|0)+4>>2]|0)+8+((l[(k[J>>2]|0)+44>>0]|0)*72|0)+44>>2];k[H>>2]=(k[H>>2]|0)+1}if(((((m[b+40>>1]&256|0)!=0?(m[(k[N>>2]|0)+40>>1]&128|0)==0:0)?(l[(k[N>>2]|0)+47>>0]|0)==0:0)?(j[G>>1]|0)!=0:0)?(K=(yE(k[N>>2]|0,k[(k[N>>2]|0)+12>>2]|0,k[S>>2]|0,128,(k[Q>>2]|0)-1&65535,k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,k[L>>2]=K,(k[L>>2]|0)==(k[k[(k[N>>2]|0)+12>>2]>>2]|0)):0)i[(k[N>>2]|0)+47>>0]=2;if(k[(k[N>>2]|0)+8>>2]|0){b=i[(k[S>>2]|0)+22>>0]|0;if(m[(k[N>>2]|0)+40>>1]&128){if((b<<24>>24|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0))i[(k[N>>2]|0)+47>>0]=2}else{i[(k[N>>2]|0)+43>>0]=b;J=(k[S>>2]|0)+8|0;K=k[J+4>>2]|0;L=(k[N>>2]|0)+64|0;k[L>>2]=k[J>>2];k[L+4>>2]=K;if(((((i[(k[N>>2]|0)+43>>0]|0)<=0?(i[(k[N>>2]|0)+43>>0]=0,(k[Q>>2]|0)>0):0)?(k[W>>2]=k[(k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0)+36>>2],(k[W>>2]&4096|0)==0):0)?(k[W>>2]&260|0)!=260:0)?(W=P,k[W>>2]=0,k[W+4>>2]=0,W=(yE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[S>>2]|0,2048,(k[Q>>2]|0)-1&65535,k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0,P)|0)<<24>>24,k[U>>2]=W,(k[U>>2]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0)):0){i[(k[N>>2]|0)+48>>0]=1;U=k[P+4>>2]|0;W=(k[N>>2]|0)+64|0;k[W>>2]=k[P>>2];k[W+4>>2]=U}}if(((m[(k[N>>2]|0)+40>>1]&512|0)!=0?((k[Q>>2]|0)>0?(i[(k[N>>2]|0)+43>>0]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0):0):0)?(W=V,k[W>>2]=0,k[W+4>>2]=0,W=(yE(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[S>>2]|0,0,(k[Q>>2]|0)-1&65535,k[(k[(k[S>>2]|0)+24>>2]|0)+((k[Q>>2]|0)-1<<2)>>2]|0,V)|0)<<24>>24,k[R>>2]=W,(k[R>>2]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0)):0){i[(k[N>>2]|0)+44>>0]=1;U=V;V=k[U+4>>2]|0;W=(k[N>>2]|0)+64|0;k[W>>2]=k[U>>2];k[W+4>>2]=V}}j[(k[N>>2]|0)+72>>1]=j[(k[S>>2]|0)+16>>1]|0;bg(k[O>>2]|0,k[T>>2]|0);k[M>>2]=0;W=k[M>>2]|0;r=X;return W|0}function UD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[d>>2]|0)){b=f;a=b;a=k[a>>2]|0;b=b+4|0;b=k[b>>2]|0;L=b;r=g;return a|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;h=vE(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|h;k[a+4>>2]=b;k[e>>2]=(k[e>>2]|0)+1}h=f;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function VD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+176|0;p=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;D=Y+144|0;I=Y+140|0;J=Y+136|0;F=Y+132|0;X=Y+128|0;Q=Y+124|0;H=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;C=Y+100|0;E=Y+96|0;G=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;o=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;n=Y+64|0;h=Y+60|0;g=Y+8|0;z=Y+56|0;w=Y;K=Y+52|0;M=Y+48|0;k[N>>2]=a;k[t>>2]=b;k[u>>2]=c;b=v;k[b>>2]=d;k[b+4>>2]=e;k[O>>2]=f;i[o>>0]=0;k[T>>2]=0;k[A>>2]=0;k[P>>2]=0;k[X>>2]=k[(k[N>>2]|0)+8>>2];b=px(k[X>>2]|0,20)|0;k[Q>>2]=b;k[D>>2]=0;k[H>>2]=k[(k[u>>2]|0)+16>>2];k[J>>2]=(k[(k[t>>2]|0)+20>>2]|0)+((k[(k[t>>2]|0)+12>>2]|0)*48|0);k[G>>2]=k[(k[O>>2]|0)+64>>2];b=B;k[b>>2]=0;k[b+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;k[n>>2]=k[k[I>>2]>>2];b=k[G>>2]|0;if((((k[b>>2]|0)==0&(k[b+4>>2]|0)==0?(m[(k[I>>2]|0)+10>>1]&2|0)==0:0)?(k[(k[n>>2]|0)+4>>2]&1|0)==0:0)?(rE(k[n>>2]|0,k[(k[u>>2]|0)+44>>2]|0)|0)!=0:0){c=k[k[N>>2]>>2]|0;b=k[T>>2]|0;b=Gz(c,b,Sy(k[k[N>>2]>>2]|0,k[n>>2]|0,0)|0)|0;k[T>>2]=b}b=v;if(sE(k[I>>2]|0,k[u>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0){k[h>>2]=k[(k[I>>2]|0)+28>>2];if((k[h>>2]|0)>=64){d=0;e=-2147483648}else{d=eS(1,0,k[h>>2]|0)|0;e=L}b=g;k[b>>2]=d;k[b+4>>2]=e;if(!(i[o>>0]|0)){b=k[(k[(k[H>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;k[p>>2]=k[k[H>>2]>>2];k[p+4>>2]=b;$d(284,34719,p);i[o>>0]=1}c=B;b=g;if((k[c>>2]&k[b>>2]|0)==0?(k[c+4>>2]&k[b+4>>2]|0)==0:0){if(tE(k[k[N>>2]>>2]|0,k[G>>2]|0,(k[D>>2]|0)+1|0)|0){q=57;break}f=k[I>>2]|0;a=k[D>>2]|0;k[D>>2]=a+1;k[(k[(k[G>>2]|0)+48>>2]|0)+(a<<2)>>2]=f;a=g;f=B;c=k[f+4>>2]|k[a+4>>2];b=B;k[b>>2]=k[f>>2]|k[a>>2];k[b+4>>2]=c}}k[I>>2]=(k[I>>2]|0)+48}if((q|0)==57){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;sv(W,X);r=Y;return}n=k[D>>2]&65535;j[(k[G>>2]|0)+40>>1]=n;j[(k[G>>2]|0)+24>>1]=n;k[(k[G>>2]|0)+36>>2]=16961;n=(k[u>>2]|0)+56|0;o=B;p=k[n+4>>2]&(~k[o+4>>2]|-2147483648);q=x;k[q>>2]=k[n>>2]&~k[o>>2];k[q+4>>2]=p;if(63<(j[(k[H>>2]|0)+34>>1]|0))d=63;else d=j[(k[H>>2]|0)+34>>1]|0;k[C>>2]=d;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;q=x;o=k[q>>2]|0;q=k[q+4>>2]|0;p=eS(1,0,k[y>>2]|0)|0;if((o&p|0)!=0|(q&L|0)!=0)k[D>>2]=(k[D>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)k[D>>2]=(k[D>>2]|0)+((j[(k[H>>2]|0)+34>>1]|0)-64+1);s=uE(k[k[N>>2]>>2]|0,(k[D>>2]|0)+1&65535,0,s)|0;k[F>>2]=s;if(!(k[F>>2]|0)){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;sv(W,X);r=Y;return}k[(k[G>>2]|0)+24+8>>2]=k[F>>2];k[k[F>>2]>>2]=34745;k[(k[F>>2]|0)+12>>2]=k[H>>2];k[S>>2]=0;s=B;k[s>>2]=0;k[s+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;s=v;if(sE(k[I>>2]|0,k[u>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0){k[z>>2]=k[(k[I>>2]|0)+28>>2];if((k[z>>2]|0)>=64){d=0;e=-2147483648}else{d=eS(1,0,k[z>>2]|0)|0;e=L}q=w;k[q>>2]=d;k[q+4>>2]=e;q=B;s=w;if((k[q>>2]&k[s>>2]|0)==0?(k[q+4>>2]&k[s+4>>2]|0)==0:0){k[K>>2]=k[k[I>>2]>>2];p=w;o=B;q=k[o+4>>2]|k[p+4>>2];s=B;k[s>>2]=k[o>>2]|k[p>>2];k[s+4>>2]=q;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[(k[I>>2]|0)+28>>2];s=CB(k[N>>2]|0,k[(k[K>>2]|0)+12>>2]|0,k[(k[K>>2]|0)+16>>2]|0)|0;k[E>>2]=s;if(k[E>>2]|0)d=k[k[E>>2]>>2]|0;else d=34834;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=d;k[S>>2]=(k[S>>2]|0)+1}}k[I>>2]=(k[I>>2]|0)+48}k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;K=x;I=k[K>>2]|0;K=k[K+4>>2]|0;J=eS(1,0,k[y>>2]|0)|0;if((I&J|0)!=0|(K&L|0)!=0){j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34834;k[S>>2]=(k[S>>2]|0)+1}k[y>>2]=(k[y>>2]|0)+1}a:do if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){k[y>>2]=63;while(1){if((k[y>>2]|0)>=(j[(k[H>>2]|0)+34>>1]|0))break a;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34834;k[S>>2]=(k[S>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}}while(0);j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=-1;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=34834;J=(k[N>>2]|0)+40|0;K=k[J>>2]|0;k[J>>2]=K+1;k[(k[O>>2]|0)+8>>2]=K;sx(k[X>>2]|0,106,k[(k[O>>2]|0)+8>>2]|0,(k[D>>2]|0)+1|0)|0;dA(k[N>>2]|0,k[F>>2]|0);KA(k[N>>2]|0);k[U>>2]=(k[(k[k[t>>2]>>2]|0)+4>>2]|0)+8+((l[(k[O>>2]|0)+44>>0]|0)*72|0);if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){k[M>>2]=k[(k[U>>2]|0)+28>>2];K=sx(k[X>>2]|0,76,0,0)|0;k[P>>2]=K;tx(k[X>>2]|0,15,k[M>>2]|0,0,k[(k[U>>2]|0)+24>>2]|0)|0;M=aA(k[X>>2]|0,16,k[M>>2]|0)|0;k[R>>2]=M}else{M=aA(k[X>>2]|0,57,k[(k[O>>2]|0)+4>>2]|0)|0;k[R>>2]=M}if(k[T>>2]|0){M=eA(k[X>>2]|0)|0;k[A>>2]=M;sB(k[N>>2]|0,k[T>>2]|0,k[A>>2]|0,16);M=(k[G>>2]|0)+36|0;k[M>>2]=k[M>>2]|131072}M=Fx(k[N>>2]|0)|0;k[W>>2]=M;M=yA(k[N>>2]|0,k[F>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[W>>2]|0,0,0,0,0)|0;k[V>>2]=M;sx(k[X>>2]|0,126,k[(k[O>>2]|0)+8>>2]|0,k[W>>2]|0)|0;Th(k[X>>2]|0,16);if(k[T>>2]|0)iA(k[X>>2]|0,k[A>>2]|0);d=k[X>>2]|0;if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){nA(d,k[P>>2]|0,(k[V>>2]|0)+(k[S>>2]|0)|0);CD(k[X>>2]|0,k[R>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[(k[U>>2]|0)+32>>2]|0,1);gA(k[X>>2]|0,k[R>>2]|0)|0;V=(k[U>>2]|0)+36+1|0;i[V>>0]=i[V>>0]&-17}else sx(d,7,k[(k[O>>2]|0)+4>>2]|0,(k[R>>2]|0)+1|0)|0;Th(k[X>>2]|0,3);hA(k[X>>2]|0,k[R>>2]|0);Hx(k[N>>2]|0,k[W>>2]|0);IA(k[N>>2]|0);hA(k[X>>2]|0,k[Q>>2]|0);W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;sv(W,X);r=Y;return}function WD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;g=O+140|0;h=O+136|0;n=O+132|0;t=O+128|0;u=O+124|0;o=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;p=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;q=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[o>>1]=f;k[B>>2]=0;do if((l[(k[g>>2]|0)+409>>0]|0|0)==2){k[z>>2]=(k[h>>2]|0)+8+((l[(k[n>>2]|0)+44>>0]|0)*72|0);k[D>>2]=k[(k[g>>2]|0)+8>>2];k[p>>2]=k[k[g>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+420>>2];k[A>>2]=k[(k[n>>2]|0)+64>>2];k[v>>2]=k[(k[A>>2]|0)+36>>2];if((k[v>>2]&8192|0)==0?((m[o>>1]|0)&32|0)==0:0){do if(k[v>>2]&48)g=1;else{if((k[v>>2]&1024|0)==0?(m[(k[A>>2]|0)+24>>1]|0|0)>0:0){g=1;break}g=((m[o>>1]|0)&3|0)!=0}while(0);k[x>>2]=g&1;ng(C,k[p>>2]|0,q,100,1e9);nE(C,(k[x>>2]|0)!=0?34452:34459);g=k[z>>2]|0;if(k[(k[z>>2]|0)+20>>2]|0){k[E>>2]=l[g+40>>0];BA(C,34464,E)}else{k[F>>2]=k[g+8>>2];BA(C,34477,F)}if(k[(k[z>>2]|0)+12>>2]|0){k[I>>2]=k[(k[z>>2]|0)+12>>2];BA(C,34487,I)}do if(!(k[v>>2]&1280)){k[K>>2]=0;k[y>>2]=k[(k[A>>2]|0)+24+8>>2];if(((l[(k[(k[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[y>>2]|0)+55>>0]&3|0)==2:0){if(k[x>>2]|0)k[K>>2]=34494}else N=19;do if((N|0)==19){if(k[v>>2]&131072){k[K>>2]=34506;break}if(k[v>>2]&16384){k[K>>2]=34539;break}if(k[v>>2]&64){k[K>>2]=34564;break}else{k[K>>2]=34582;break}}while(0);if(k[K>>2]|0){CA(C,34591,7);N=k[K>>2]|0;k[J>>2]=k[k[y>>2]>>2];BA(C,N,J);oE(C,k[A>>2]|0)}}else{if((k[v>>2]&256|0)!=0?(k[v>>2]&15|0)!=0:0){do if(!(k[v>>2]&5)){if((k[v>>2]&48|0)==48){k[M>>2]=34601;break}if(k[v>>2]&32){k[M>>2]=34615;break}else{k[M>>2]=34617;break}}else k[M>>2]=34599;while(0);k[G>>2]=k[M>>2];BA(C,34619,G);break}if(k[v>>2]&1024){N=k[(k[A>>2]|0)+24+8>>2]|0;k[H>>2]=k[(k[A>>2]|0)+24>>2];k[H+4>>2]=N;BA(C,34657,H)}}while(0);N=pg(C)|0;k[L>>2]=N;N=wx(k[D>>2]|0,162,k[w>>2]|0,k[t>>2]|0,k[u>>2]|0,k[L>>2]|0,-1)|0;k[B>>2]=N;break}k[s>>2]=0;N=k[s>>2]|0;r=O;return N|0}while(0);k[s>>2]=k[B>>2];N=k[s>>2]|0;r=O;return N|0}function XD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=r;r=r+448|0;Sa=hb+8|0;Ta=hb+432|0;M=hb+428|0;Ua=hb;Xa=hb+424|0;Ra=hb+420|0;Wa=hb+416|0;ra=hb+412|0;za=hb+408|0;Pa=hb+404|0;$a=hb+400|0;Oa=hb+396|0;cb=hb+392|0;bb=hb+388|0;ab=hb+384|0;Qa=hb+380|0;fb=hb+376|0;G=hb+372|0;F=hb+368|0;Va=hb+364|0;Na=hb+360|0;n=hb+356|0;e=hb+352|0;h=hb+348|0;f=hb+344|0;p=hb+340|0;g=hb+336|0;o=hb+332|0;t=hb+328|0;q=hb+324|0;u=hb+320|0;s=hb+316|0;E=hb+312|0;D=hb+308|0;v=hb+304|0;y=hb+300|0;x=hb+296|0;z=hb+292|0;B=hb+288|0;C=hb+284|0;w=hb+280|0;A=hb+276|0;xa=hb+442|0;va=hb+440|0;ya=hb+438|0;Ha=hb+272|0;Ea=hb+268|0;Da=hb+264|0;Ia=hb+260|0;ua=hb+256|0;Ja=hb+252|0;wa=hb+248|0;Ba=hb+244|0;Ma=hb+240|0;H=hb+236|0;Aa=hb+232|0;La=hb+228|0;Ka=hb+224|0;sa=hb+447|0;ta=hb+446|0;I=hb+220|0;J=hb+445|0;K=hb+444|0;Fa=hb+216|0;Ga=hb+212|0;Ca=hb+208|0;ea=hb+204|0;ca=hb+200|0;$=hb+196|0;P=hb+192|0;la=hb+188|0;na=hb+184|0;ma=hb+180|0;Q=hb+176|0;S=hb+172|0;oa=hb+168|0;V=hb+164|0;pa=hb+436|0;_=hb+160|0;ja=hb+156|0;X=hb+152|0;Z=hb+148|0;ga=hb+144|0;U=hb+140|0;aa=hb+136|0;da=hb+132|0;ia=hb+128|0;ba=hb+124|0;W=hb+120|0;ha=hb+116|0;N=hb+112|0;ka=hb+108|0;T=hb+104|0;fa=hb+100|0;Y=hb+96|0;R=hb+92|0;O=hb+88|0;Za=hb+84|0;eb=hb+80|0;gb=hb+76|0;_a=hb+72|0;db=hb+24|0;Ya=hb+16|0;k[Ta>>2]=a;k[M>>2]=b;b=Ua;k[b>>2]=c;k[b+4>>2]=d;k[Na>>2]=0;k[n>>2]=0;k[ab>>2]=k[k[Ta>>2]>>2];k[fb>>2]=k[(k[ab>>2]|0)+8>>2];k[cb>>2]=(k[Ta>>2]|0)+80;k[Qa>>2]=k[k[ab>>2]>>2];k[$a>>2]=(k[Ta>>2]|0)+752+((k[M>>2]|0)*80|0);k[Oa>>2]=k[(k[$a>>2]|0)+64>>2];k[G>>2]=(k[(k[Ta>>2]|0)+4>>2]|0)+8+((l[(k[$a>>2]|0)+44>>0]|0)*72|0);k[Wa>>2]=k[(k[G>>2]|0)+44>>2];b=Ua;c=k[b>>2]|0;b=k[b+4>>2]|0;d=YD((k[Ta>>2]|0)+488|0,k[Wa>>2]|0)|0;a=(k[$a>>2]|0)+72|0;k[a>>2]=c&~d;k[a+4>>2]=b&~L;a=(k[Ta>>2]|0)+64|0;a=aS(k[a>>2]|0,k[a+4>>2]|0,k[M>>2]|0)|0;k[Pa>>2]=a&1;if(k[(k[Oa>>2]|0)+36>>2]&64)c=(m[(k[Ta>>2]|0)+40>>1]&32|0)==0;else c=0;k[za>>2]=c&1;a=eA(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+16>>2]=a;k[(k[$a>>2]|0)+12>>2]=a;k[F>>2]=a;a=eA(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+24>>2]=a;k[Va>>2]=a;if((l[(k[$a>>2]|0)+44>>0]|0)>0?(l[(k[G>>2]|0)+36>>0]&8|0)!=0:0){b=(k[ab>>2]|0)+44|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[k[$a>>2]>>2]=a;sx(k[fb>>2]|0,76,0,k[k[$a>>2]>>2]|0)|0}do if((l[(k[G>>2]|0)+36+1>>0]|0)>>>4&1){k[e>>2]=k[(k[G>>2]|0)+28>>2];tx(k[fb>>2]|0,15,k[e>>2]|0,0,k[(k[G>>2]|0)+24>>2]|0)|0;Ra=sx(k[fb>>2]|0,16,k[e>>2]|0,k[F>>2]|0)|0;k[(k[$a>>2]|0)+52>>2]=Ra;i[(k[$a>>2]|0)+45>>0]=13}else{c=k[Oa>>2]|0;if(k[(k[Oa>>2]|0)+36>>2]&1024){k[p>>2]=m[c+40>>1];KA(k[ab>>2]|0);Ra=MA(k[ab>>2]|0,(k[p>>2]|0)+2|0)|0;k[h>>2]=Ra;k[f>>2]=k[(k[$a>>2]|0)+12>>2];k[Xa>>2]=0;while(1){if((k[Xa>>2]|0)>=(k[p>>2]|0))break;k[o>>2]=(k[h>>2]|0)+(k[Xa>>2]|0)+2;k[bb>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(k[Xa>>2]<<2)>>2];do if(k[bb>>2]|0)if(m[(k[bb>>2]|0)+12>>1]&1){ZD(k[ab>>2]|0,k[bb>>2]|0,k[$a>>2]|0,k[Xa>>2]|0,k[Pa>>2]|0,k[o>>2]|0)|0;k[f>>2]=k[(k[$a>>2]|0)+16>>2];break}else{k[t>>2]=k[(k[k[bb>>2]>>2]|0)+16>>2];_D(k[ab>>2]|0,k[t>>2]|0,k[o>>2]|0,1);break}while(0);k[Xa>>2]=(k[Xa>>2]|0)+1}sx(k[fb>>2]|0,76,k[(k[Oa>>2]|0)+24>>2]|0,k[h>>2]|0)|0;sx(k[fb>>2]|0,76,k[p>>2]|0,(k[h>>2]|0)+1|0)|0;wx(k[fb>>2]|0,11,k[Wa>>2]|0,k[f>>2]|0,k[h>>2]|0,k[(k[Oa>>2]|0)+24+8>>2]|0,(l[(k[Oa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;i[(k[Oa>>2]|0)+24+4>>0]=0;k[(k[$a>>2]|0)+48>>2]=k[Wa>>2];i[(k[$a>>2]|0)+45>>0]=(l[(k[Ta>>2]|0)+45>>0]|0)!=0?161:70;Ra=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+52>>2]=Ra;k[g>>2]=k[(k[$a>>2]|0)+56>>2];k[Xa>>2]=(k[p>>2]|0)-1;while(1){if((k[Xa>>2]|0)<0)break;k[bb>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(k[Xa>>2]<<2)>>2];if((k[Xa>>2]|0)<16?(m[(k[Oa>>2]|0)+24+6>>1]>>k[Xa>>2]&1|0)!=0:0)$D(k[$a>>2]|0,k[bb>>2]|0);else qa=21;if((qa|0)==21?(qa=0,(m[(k[bb>>2]|0)+12>>1]&1|0)!=0):0){if(!(i[(k[Qa>>2]|0)+69>>0]|0)){Pa=k[fb>>2]|0;Ra=(k[g>>2]|0)+-1|0;k[g>>2]=Ra;Ra=oA(Pa,k[(k[(k[$a>>2]|0)+56+4>>2]|0)+(Ra*12|0)+4>>2]|0)|0;k[s>>2]=Ra;tx(k[fb>>2]|0,l[k[s>>2]>>0]|0,k[(k[s>>2]|0)+4>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+12>>2]|0)|0}Ra=Ov(k[ab>>2]|0,37,0,0,0)|0;k[q>>2]=Ra;if(k[q>>2]|0){k[(k[q>>2]|0)+12>>2]=k[(k[k[bb>>2]>>2]|0)+12>>2];Ra=ew(k[Qa>>2]|0,157,0)|0;k[u>>2]=Ra;k[(k[q>>2]|0)+16>>2]=Ra;if(k[u>>2]|0){k[(k[u>>2]|0)+28>>2]=(k[h>>2]|0)+(k[Xa>>2]|0)+2;sB(k[ab>>2]|0,k[q>>2]|0,k[(k[$a>>2]|0)+24>>2]|0,0)}k[(k[q>>2]|0)+12>>2]=0;sv(k[Qa>>2]|0,k[q>>2]|0)}}k[Xa>>2]=(k[Xa>>2]|0)+-1}IA(k[ab>>2]|0);break}if((k[c+36>>2]&256|0)!=0?(k[(k[Oa>>2]|0)+36>>2]&5|0)!=0:0){k[bb>>2]=k[k[(k[Oa>>2]|0)+48>>2]>>2];Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[n>>2]=Ra;Ra=ZD(k[ab>>2]|0,k[bb>>2]|0,k[$a>>2]|0,0,k[Pa>>2]|0,k[n>>2]|0)|0;k[Na>>2]=Ra;if((k[Na>>2]|0)!=(k[n>>2]|0))Hx(k[ab>>2]|0,k[n>>2]|0);k[ra>>2]=k[(k[$a>>2]|0)+16>>2];tx(k[fb>>2]|0,32,k[Wa>>2]|0,k[ra>>2]|0,k[Na>>2]|0)|0;eB(k[ab>>2]|0,k[Na>>2]|0,1);QB(k[ab>>2]|0,k[Wa>>2]|0,-1,k[Na>>2]|0);i[(k[$a>>2]|0)+45>>0]=-95;break}if((k[(k[Oa>>2]|0)+36>>2]&256|0)!=0?(k[(k[Oa>>2]|0)+36>>2]&2|0)!=0:0){k[E>>2]=161;k[v>>2]=0;k[Xa>>2]=0;k[x>>2]=0;k[y>>2]=0;if(k[(k[Oa>>2]|0)+36>>2]&32){Ra=k[Xa>>2]|0;k[Xa>>2]=Ra+1;k[y>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(k[(k[Oa>>2]|0)+36>>2]&16){Ra=k[Xa>>2]|0;k[Xa>>2]=Ra+1;k[x>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(k[Pa>>2]|0){k[bb>>2]=k[y>>2];k[y>>2]=k[x>>2];k[x>>2]=k[bb>>2]}if(k[y>>2]|0){k[z>>2]=k[k[y>>2]>>2];Ra=(fB(k[(k[z>>2]|0)+16>>2]|0)|0)!=0;c=k[ab>>2]|0;if(Ra){Ra=Fx(c)|0;k[C>>2]=Ra;k[B>>2]=Ra;_D(k[ab>>2]|0,k[(k[z>>2]|0)+16>>2]|0,k[B>>2]|0,1);k[w>>2]=l[34432+((l[k[z>>2]>>0]|0)-38|1)>>0]}else{Ra=hB(c,k[(k[z>>2]|0)+16>>2]|0,C)|0;k[B>>2]=Ra;$D(k[$a>>2]|0,k[y>>2]|0);k[w>>2]=l[34432+((l[k[z>>2]>>0]|0)-38)>>0]}tx(k[fb>>2]|0,k[w>>2]|0,k[Wa>>2]|0,k[F>>2]|0,k[B>>2]|0)|0;eB(k[ab>>2]|0,k[B>>2]|0,1);Hx(k[ab>>2]|0,k[C>>2]|0)}else sx(k[fb>>2]|0,(k[Pa>>2]|0)!=0?53:57,k[Wa>>2]|0,k[F>>2]|0)|0;if(k[x>>2]|0){k[A>>2]=k[k[x>>2]>>2];Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[v>>2]=Ra;_D(k[ab>>2]|0,k[(k[A>>2]|0)+16>>2]|0,k[v>>2]|0,1);do if(!(fB(k[(k[A>>2]|0)+16>>2]|0)|0)){if((l[k[A>>2]>>0]|0)!=40?(l[k[A>>2]>>0]|0)!=38:0){qa=54;break}k[E>>2]=(k[Pa>>2]|0)!=0?39:41}else qa=54;while(0);if((qa|0)==54)k[E>>2]=(k[Pa>>2]|0)!=0?40:38;if(!(fB(k[(k[A>>2]|0)+16>>2]|0)|0))$D(k[$a>>2]|0,k[x>>2]|0)}Ra=Gx(k[fb>>2]|0)|0;k[D>>2]=Ra;i[(k[$a>>2]|0)+45>>0]=(k[Pa>>2]|0)!=0?6:7;k[(k[$a>>2]|0)+48>>2]=k[Wa>>2];k[(k[$a>>2]|0)+52>>2]=k[D>>2];if((k[E>>2]|0)==161)break;Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[Na>>2]=Ra;sx(k[fb>>2]|0,123,k[Wa>>2]|0,k[Na>>2]|0)|0;QB(k[ab>>2]|0,k[Wa>>2]|0,-1,k[Na>>2]|0);tx(k[fb>>2]|0,k[E>>2]|0,k[v>>2]|0,k[F>>2]|0,k[Na>>2]|0)|0;Th(k[fb>>2]|0,83);break}c=k[Oa>>2]|0;if(!(k[(k[Oa>>2]|0)+36>>2]&512)){if(!(k[c+36>>2]&8192))if((l[(k[G>>2]|0)+36+1>>0]|0)>>>5&1){i[(k[$a>>2]|0)+45>>0]=-95;break}else{i[(k[$a>>2]|0)+45>>0]=i[34448+(k[Pa>>2]|0)>>0]|0;k[(k[$a>>2]|0)+48>>2]=k[Wa>>2];Ra=1+(sx(k[fb>>2]|0,l[34450+(k[Pa>>2]|0)>>0]|0,k[Wa>>2]|0,k[F>>2]|0)|0)|0;k[(k[$a>>2]|0)+52>>2]=Ra;i[(k[$a>>2]|0)+47>>0]=1;break}k[$>>2]=0;c=(k[ab>>2]|0)+40|0;Pa=k[c>>2]|0;k[c>>2]=Pa+1;k[P>>2]=Pa;Pa=(k[ab>>2]|0)+44|0;c=(k[Pa>>2]|0)+1|0;k[Pa>>2]=c;k[la>>2]=c;k[na>>2]=0;k[ma>>2]=0;c=eA(k[fb>>2]|0)|0;k[Q>>2]=c;k[oa>>2]=0;k[_>>2]=0;k[ja>>2]=k[(k[G>>2]|0)+16>>2];k[bb>>2]=k[k[(k[Oa>>2]|0)+48>>2]>>2];k[ea>>2]=k[(k[bb>>2]|0)+28>>2];i[(k[$a>>2]|0)+45>>0]=72;k[(k[$a>>2]|0)+48>>2]=k[la>>2];c=k[Ta>>2]|0;a:do if((l[(k[Ta>>2]|0)+42>>0]|0)>1){k[X>>2]=(l[c+42>>0]|0)-(k[M>>2]|0)-1;Pa=Mh(k[Qa>>2]|0,80+((k[X>>2]|0)*72|0)|0,0)|0;k[ca>>2]=Pa;if(!(k[ca>>2]|0)){eb=Ua;gb=k[eb+4>>2]|0;fb=Sa;k[fb>>2]=k[eb>>2];k[fb+4>>2]=gb;fb=Sa;gb=fb;gb=k[gb>>2]|0;fb=fb+4|0;fb=k[fb>>2]|0;L=fb;r=hb;return gb|0}k[(k[ca>>2]|0)+4>>2]=(k[X>>2]|0)+1&255;k[k[ca>>2]>>2]=k[(k[ca>>2]|0)+4>>2];b=(k[ca>>2]|0)+8|0;c=k[G>>2]|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[Z>>2]=(k[(k[Ta>>2]|0)+4>>2]|0)+8;k[Ra>>2]=1;while(1){if((k[Ra>>2]|0)>(k[X>>2]|0))break a;b=(k[ca>>2]|0)+8+((k[Ra>>2]|0)*72|0)|0;c=(k[Z>>2]|0)+((l[(k[$a>>2]|0)+((k[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[Ra>>2]=(k[Ra>>2]|0)+1}}else k[ca>>2]=k[c+4>>2];while(0);if(!(m[(k[Ta>>2]|0)+40>>1]&16)){if(!(l[(k[ja>>2]|0)+42>>0]&32)){Pa=(k[ab>>2]|0)+44|0;Ra=(k[Pa>>2]|0)+1|0;k[Pa>>2]=Ra;k[na>>2]=Ra;sx(k[fb>>2]|0,79,0,k[na>>2]|0)|0}else{Pa=Tj(k[ja>>2]|0)|0;k[ga>>2]=Pa;Pa=(k[ab>>2]|0)+40|0;Ra=k[Pa>>2]|0;k[Pa>>2]=Ra+1;k[na>>2]=Ra;sx(k[fb>>2]|0,107,k[na>>2]|0,m[(k[ga>>2]|0)+50>>1]|0)|0;dA(k[ab>>2]|0,k[ga>>2]|0)}Pa=(k[ab>>2]|0)+44|0;Ra=(k[Pa>>2]|0)+1|0;k[Pa>>2]=Ra;k[ma>>2]=Ra}Ra=sx(k[fb>>2]|0,76,0,k[la>>2]|0)|0;k[S>>2]=Ra;if((k[(k[cb>>2]|0)+12>>2]|0)>1){k[U>>2]=0;while(1){if((k[U>>2]|0)>=(k[(k[cb>>2]|0)+12>>2]|0))break;k[aa>>2]=k[(k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)>>2];do if((((k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)|0)!=(k[bb>>2]|0)?(k[(k[aa>>2]|0)+4>>2]&1|0)==0:0)?(m[(k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(m[(k[(k[cb>>2]|0)+20>>2]|0)+((k[U>>2]|0)*48|0)+12>>1]&8191))break;Ra=Sy(k[Qa>>2]|0,k[aa>>2]|0,0)|0;k[aa>>2]=Ra;Ra=Gz(k[Qa>>2]|0,k[_>>2]|0,k[aa>>2]|0)|0;k[_>>2]=Ra}while(0);k[U>>2]=(k[U>>2]|0)+1}if(k[_>>2]|0){Ra=Ov(k[ab>>2]|0,284,0,k[_>>2]|0,0)|0;k[_>>2]=Ra}}j[pa>>1]=32|m[(k[Ta>>2]|0)+40>>1]&1024;k[V>>2]=0;while(1){if((k[V>>2]|0)>=(k[(k[ea>>2]|0)+12>>2]|0))break;k[da>>2]=(k[(k[ea>>2]|0)+20>>2]|0)+((k[V>>2]|0)*48|0);if(!((k[(k[da>>2]|0)+20>>2]|0)!=(k[Wa>>2]|0)?(m[(k[da>>2]|0)+12>>1]&1024|0)==0:0)){k[ba>>2]=k[k[da>>2]>>2];k[W>>2]=0;if((k[_>>2]|0)!=0?(k[(k[ba>>2]|0)+4>>2]&1|0)==0:0){k[(k[_>>2]|0)+12>>2]=k[ba>>2];k[ba>>2]=k[_>>2]}Ra=AD(k[ab>>2]|0,k[ca>>2]|0,k[ba>>2]|0,0,0,j[pa>>1]|0,k[P>>2]|0)|0;k[ia>>2]=Ra;if(k[ia>>2]|0){Ra=WD(k[ab>>2]|0,k[ca>>2]|0,(k[ia>>2]|0)+752|0,k[M>>2]|0,l[(k[$a>>2]|0)+44>>0]|0,0)|0;k[N>>2]=Ra;do if(!(m[(k[Ta>>2]|0)+40>>1]&16)){k[T>>2]=(k[V>>2]|0)==((k[(k[ea>>2]|0)+12>>2]|0)-1|0)?-1:k[V>>2]|0;if(!(l[(k[ja>>2]|0)+42>>0]&32)){Ra=bB(k[ab>>2]|0,k[ja>>2]|0,-1,k[Wa>>2]|0,k[ma>>2]|0,0)|0;k[ka>>2]=Ra;Ra=Sh(k[fb>>2]|0,63,k[na>>2]|0,0,k[ka>>2]|0,k[T>>2]|0)|0;k[W>>2]=Ra;break}Ra=Tj(k[ja>>2]|0)|0;k[fa>>2]=Ra;k[Y>>2]=m[(k[fa>>2]|0)+50>>1];Ra=MA(k[ab>>2]|0,k[Y>>2]|0)|0;k[ka>>2]=Ra;k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[Y>>2]|0))break;k[O>>2]=j[(k[(k[fa>>2]|0)+4>>2]|0)+(k[R>>2]<<1)>>1];fE(k[ab>>2]|0,k[ja>>2]|0,k[O>>2]|0,k[Wa>>2]|0,(k[ka>>2]|0)+(k[R>>2]|0)|0);k[R>>2]=(k[R>>2]|0)+1}if(k[T>>2]|0){Ra=Sh(k[fb>>2]|0,31,k[na>>2]|0,0,k[ka>>2]|0,k[Y>>2]|0)|0;k[W>>2]=Ra}do if((k[T>>2]|0)>=0){tx(k[fb>>2]|0,99,k[ka>>2]|0,k[Y>>2]|0,k[ma>>2]|0)|0;tx(k[fb>>2]|0,126,k[na>>2]|0,k[ma>>2]|0,0)|0;if(!(k[T>>2]|0))break;Th(k[fb>>2]|0,16)}while(0);PA(k[ab>>2]|0,k[ka>>2]|0,k[Y>>2]|0)}while(0);sx(k[fb>>2]|0,14,k[la>>2]|0,k[Q>>2]|0)|0;if(k[W>>2]|0)hA(k[fb>>2]|0,k[W>>2]|0);if(i[(k[ia>>2]|0)+46>>0]|0)k[oa>>2]=1;k[ha>>2]=k[(k[ia>>2]|0)+752+64>>2];do if(k[(k[ha>>2]|0)+36>>2]&512){if((k[V>>2]|0)!=0?(k[(k[ha>>2]|0)+24+8>>2]|0)!=(k[$>>2]|0):0){qa=193;break}if((l[(k[ja>>2]|0)+42>>0]&32|0)!=0?(i[(k[(k[ha>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){qa=193;break}k[$>>2]=k[(k[ha>>2]|0)+24+8>>2]}else qa=193;while(0);if((qa|0)==193){qa=0;k[$>>2]=0}BD(k[ia>>2]|0)}}k[V>>2]=(k[V>>2]|0)+1}k[(k[$a>>2]|0)+56>>2]=k[$>>2];if(k[$>>2]|0)k[(k[$a>>2]|0)+8>>2]=k[P>>2];if(k[_>>2]|0){k[(k[_>>2]|0)+12>>2]=0;sv(k[Qa>>2]|0,k[_>>2]|0)}Pa=k[fb>>2]|0;Ra=k[S>>2]|0;gE(Pa,Ra,Gx(k[fb>>2]|0)|0);gA(k[fb>>2]|0,k[(k[$a>>2]|0)+12>>2]|0)|0;iA(k[fb>>2]|0,k[Q>>2]|0);if((l[(k[Ta>>2]|0)+42>>0]|0)>1)bg(k[Qa>>2]|0,k[ca>>2]|0);if(k[oa>>2]|0)break;$D(k[$a>>2]|0,k[bb>>2]|0);break}j[xa>>1]=j[c+24>>1]|0;j[va>>1]=j[(k[Oa>>2]|0)+24+2>>1]|0;j[ya>>1]=j[(k[Oa>>2]|0)+24+4>>1]|0;k[Ea>>2]=0;k[Da>>2]=0;k[H>>2]=0;k[Ka>>2]=0;i[sa>>0]=0;i[ta>>0]=0;k[Ba>>2]=k[(k[Oa>>2]|0)+24+8>>2];k[Ma>>2]=k[(k[$a>>2]|0)+8>>2];if(((m[(k[Ta>>2]|0)+40>>1]&1|0)!=0?(i[(k[Ta>>2]|0)+43>>0]|0)>0:0)?(m[(k[Ba>>2]|0)+50>>1]|0)>(m[xa>>1]|0):0){i[sa>>0]=1;k[H>>2]=1}k[Xa>>2]=m[xa>>1];if(k[(k[Oa>>2]|0)+36>>2]&32){qa=k[Xa>>2]|0;k[Xa>>2]=qa+1;k[Ea>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((k[H>>2]|0)>(m[(k[Oa>>2]|0)+24+2>>1]|0))c=k[H>>2]|0;else c=m[(k[Oa>>2]|0)+24+2>>1]|0;k[H>>2]=c}do if(k[(k[Oa>>2]|0)+36>>2]&16){qa=k[Xa>>2]|0;k[Xa>>2]=qa+1;k[Da>>2]=k[(k[(k[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((k[H>>2]|0)>(m[(k[Oa>>2]|0)+24+4>>1]|0))c=k[H>>2]|0;else c=m[(k[Oa>>2]|0)+24+4>>1]|0;k[H>>2]=c;if(m[(k[Da>>2]|0)+10>>1]&256){pa=(k[ab>>2]|0)+44|0;qa=(k[pa>>2]|0)+1|0;k[pa>>2]=qa;k[(k[$a>>2]|0)+36>>2]=qa;sx(k[fb>>2]|0,76,1,k[(k[$a>>2]|0)+36>>2]|0)|0;qa=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+40>>2]=qa;qa=(k[$a>>2]|0)+36|0;k[qa>>2]=k[qa>>2]<<1;qa=(k[$a>>2]|0)+36|0;k[qa>>2]=k[qa>>2]|k[Pa>>2]^(l[(k[(k[Ba>>2]|0)+28>>2]|0)+(m[xa>>1]|0)>>0]|0)==1}if(!(k[Ea>>2]|0)){k[Xa>>2]=j[(k[(k[Ba>>2]|0)+4>>2]|0)+(m[xa>>1]<<1)>>1];c=k[Xa>>2]|0;if((k[Xa>>2]|0)>=0){if(!((k[Xa>>2]|0)==-2?1:(l[(k[(k[(k[Ba>>2]|0)+12>>2]|0)+4>>2]|0)+(c<<4)+12>>0]|0)==0))break}else if((c|0)!=-2)break;i[sa>>0]=1}}while(0);if((m[xa>>1]|0)<(m[(k[Ba>>2]|0)+50>>1]|0)?(k[Pa>>2]|0)==((l[(k[(k[Ba>>2]|0)+28>>2]|0)+(m[xa>>1]|0)>>0]|0)==0|0):0)qa=84;else qa=82;if(((qa|0)==82?(k[Pa>>2]|0)!=0:0)?(m[(k[Ba>>2]|0)+50>>1]|0)==(m[xa>>1]|0):0)qa=84;if((qa|0)==84){k[I>>2]=k[Da>>2];k[Da>>2]=k[Ea>>2];k[Ea>>2]=k[I>>2];i[J>>0]=i[sa>>0]|0;i[sa>>0]=i[ta>>0]|0;i[ta>>0]=i[J>>0]|0;i[K>>0]=j[va>>1];j[va>>1]=j[ya>>1]|0;j[ya>>1]=l[K>>0]|0}qa=aE(k[ab>>2]|0,k[$a>>2]|0,k[Pa>>2]|0,k[H>>2]|0,La)|0;k[Ha>>2]=qa;if((k[La>>2]|0)!=0?(m[ya>>1]|0)!=0:0){qa=Ah(k[Qa>>2]|0,(k[La>>2]|0)+(m[xa>>1]|0)|0)|0;k[Ka>>2]=qa}k[ra>>2]=k[(k[$a>>2]|0)+16>>2];if(k[Ea>>2]|0)c=(m[(k[Ea>>2]|0)+12>>1]&40|0)!=0;else c=1;k[Ia>>2]=c&1;if(k[Da>>2]|0)c=(m[(k[Da>>2]|0)+12>>1]&40|0)!=0;else c=1;k[ua>>2]=c&1;if(k[Ea>>2]|0)c=1;else c=(m[xa>>1]|0)>0;k[Ja>>2]=c&1;k[wa>>2]=m[xa>>1];if(!(k[Ea>>2]|0)){if(i[sa>>0]|0){sx(k[fb>>2]|0,79,0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0)|0;k[wa>>2]=(k[wa>>2]|0)+1;k[Ia>>2]=0;k[Ja>>2]=1}}else{k[Fa>>2]=k[(k[k[Ea>>2]>>2]|0)+16>>2];_D(k[ab>>2]|0,k[Fa>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,m[va>>1]|0);bE(k[fb>>2]|0,k[$a>>2]|0,k[Ea>>2]|0);do if(!(m[(k[Ea>>2]|0)+10>>1]&0)){if(!(yB(k[Fa>>2]|0)|0))break;sx(k[fb>>2]|0,34,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,k[ra>>2]|0)|0}while(0);if(k[La>>2]|0)cE(k[Fa>>2]|0,m[va>>1]|0,(k[La>>2]|0)+(m[xa>>1]|0)|0);k[wa>>2]=(k[wa>>2]|0)+(m[va>>1]|0);if(!(fB(k[Fa>>2]|0)|0))$D(k[$a>>2]|0,k[Ea>>2]|0);else k[Ia>>2]=1;i[sa>>0]=0}dE(k[ab>>2]|0,k[Ha>>2]|0,(k[wa>>2]|0)-(l[sa>>0]|0)|0,k[La>>2]|0);if(!((m[(k[Oa>>2]|0)+42>>1]|0)>0?(k[wa>>2]|0)==(m[(k[Oa>>2]|0)+42>>1]|0):0)){k[Aa>>2]=l[34436+((k[Ja>>2]<<2)+(k[Ia>>2]<<1)+(k[Pa>>2]|0))>>0];Sh(k[fb>>2]|0,k[Aa>>2]|0,k[Ma>>2]|0,k[ra>>2]|0,k[Ha>>2]|0,k[wa>>2]|0)|0}k[wa>>2]=m[xa>>1];do if(k[Da>>2]|0){k[Ga>>2]=k[(k[k[Da>>2]>>2]|0)+16>>2];QA(k[ab>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,1);_D(k[ab>>2]|0,k[Ga>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,m[ya>>1]|0);bE(k[fb>>2]|0,k[$a>>2]|0,k[Da>>2]|0);do if(!(m[(k[Da>>2]|0)+10>>1]&0)){if(!(yB(k[Ga>>2]|0)|0))break;sx(k[fb>>2]|0,34,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,k[ra>>2]|0)|0}while(0);if(k[Ka>>2]|0){cE(k[Ga>>2]|0,m[ya>>1]|0,k[Ka>>2]|0);dE(k[ab>>2]|0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0,m[ya>>1]|0,k[Ka>>2]|0)}k[wa>>2]=(k[wa>>2]|0)+(m[ya>>1]|0);if(!(fB(k[Ga>>2]|0)|0)){$D(k[$a>>2]|0,k[Da>>2]|0);break}else{k[ua>>2]=1;break}}else{if(!(i[ta>>0]|0))break;sx(k[fb>>2]|0,79,0,(k[Ha>>2]|0)+(m[xa>>1]|0)|0)|0;k[ua>>2]=0;k[wa>>2]=(k[wa>>2]|0)+1}while(0);bg(k[Qa>>2]|0,k[La>>2]|0);bg(k[Qa>>2]|0,k[Ka>>2]|0);Qa=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+52>>2]=Qa;if(k[wa>>2]|0){k[Aa>>2]=l[34444+((k[Pa>>2]<<1)+(k[ua>>2]|0))>>0];Sh(k[fb>>2]|0,k[Aa>>2]|0,k[Ma>>2]|0,k[ra>>2]|0,k[Ha>>2]|0,k[wa>>2]|0)|0}do if(!(k[za>>2]|0)){if(!(l[(k[(k[Ba>>2]|0)+12>>2]|0)+42>>0]&32))if(m[(k[Ta>>2]|0)+40>>1]&1024){Qa=(k[ab>>2]|0)+44|0;Ra=(k[Qa>>2]|0)+1|0;k[Qa>>2]=Ra;k[Na>>2]=Ra;sx(k[fb>>2]|0,129,k[Ma>>2]|0,k[Na>>2]|0)|0;QB(k[ab>>2]|0,k[Wa>>2]|0,-1,k[Na>>2]|0);tx(k[fb>>2]|0,33,k[Wa>>2]|0,0,k[Na>>2]|0)|0;break}else{eE(k[Ta>>2]|0,k[Ba>>2]|0,k[Wa>>2]|0,k[Ma>>2]|0);break}if((k[Wa>>2]|0)==(k[Ma>>2]|0))break;Qa=Tj(k[(k[Ba>>2]|0)+12>>2]|0)|0;k[Ca>>2]=Qa;Qa=MA(k[ab>>2]|0,m[(k[Ca>>2]|0)+50>>1]|0)|0;k[Na>>2]=Qa;k[Xa>>2]=0;while(1){if((k[Xa>>2]|0)>=(m[(k[Ca>>2]|0)+50>>1]|0))break;Qa=(YA(k[Ba>>2]|0,j[(k[(k[Ca>>2]|0)+4>>2]|0)+(k[Xa>>2]<<1)>>1]|0)|0)<<16>>16;k[Ra>>2]=Qa;tx(k[fb>>2]|0,96,k[Ma>>2]|0,k[Ra>>2]|0,(k[Na>>2]|0)+(k[Xa>>2]|0)|0)|0;k[Xa>>2]=(k[Xa>>2]|0)+1}Sh(k[fb>>2]|0,30,k[Wa>>2]|0,k[Va>>2]|0,k[Na>>2]|0,m[(k[Ca>>2]|0)+50>>1]|0)|0}while(0);do if(!(k[(k[Oa>>2]|0)+36>>2]&4096)){c=(k[$a>>2]|0)+45|0;if(k[Pa>>2]|0){i[c>>0]=6;break}else{i[c>>0]=7;break}}else i[(k[$a>>2]|0)+45>>0]=-95;while(0);k[(k[$a>>2]|0)+48>>2]=k[Ma>>2];i[(k[$a>>2]|0)+46>>0]=(k[(k[Oa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(k[(k[Oa>>2]|0)+36>>2]&15)break;i[(k[$a>>2]|0)+47>>0]=1}while(0);k[bb>>2]=k[(k[cb>>2]|0)+20>>2];k[Xa>>2]=k[(k[cb>>2]|0)+12>>2];while(1){if((k[Xa>>2]|0)<=0)break;k[eb>>2]=0;do if(!(m[(k[bb>>2]|0)+10>>1]&6)){Qa=(k[bb>>2]|0)+40|0;Ra=(k[$a>>2]|0)+72|0;if((k[Qa>>2]&k[Ra>>2]|0)!=0?1:(k[Qa+4>>2]&k[Ra+4>>2]|0)!=0){i[(k[Ta>>2]|0)+46>>0]=1;break}k[Za>>2]=k[k[bb>>2]>>2];if((k[k[$a>>2]>>2]|0)!=0?(k[(k[Za>>2]|0)+4>>2]&1|0)==0:0)break;if(m[(k[bb>>2]|0)+10>>1]&512){k[gb>>2]=k[(k[$a>>2]|0)+36>>2];Ra=aA(k[fb>>2]|0,(k[gb>>2]&1|0)!=0?22:21,(k[gb>>2]|0)>>>1)|0;k[eb>>2]=Ra}sB(k[ab>>2]|0,k[Za>>2]|0,k[Va>>2]|0,16);if(k[eb>>2]|0)hA(k[fb>>2]|0,k[eb>>2]|0);Ra=(k[bb>>2]|0)+10|0;j[Ra>>1]=m[Ra>>1]|4}while(0);k[Xa>>2]=(k[Xa>>2]|0)+-1;k[bb>>2]=(k[bb>>2]|0)+48}k[bb>>2]=k[(k[cb>>2]|0)+20>>2];k[Xa>>2]=k[(k[cb>>2]|0)+12>>2];while(1){if((k[Xa>>2]|0)<=0)break;if(((((((m[(k[bb>>2]|0)+10>>1]&6|0)==0?(m[(k[bb>>2]|0)+12>>1]&130|0)!=0:0)?(m[(k[bb>>2]|0)+12>>1]&2048|0)!=0:0)?(k[(k[bb>>2]|0)+20>>2]|0)==(k[Wa>>2]|0):0)?(k[k[$a>>2]>>2]|0)==0:0)?(k[_a>>2]=k[k[bb>>2]>>2],gb=Ua,gb=hE(k[cb>>2]|0,k[Wa>>2]|0,k[(k[bb>>2]|0)+28>>2]|0,k[gb>>2]|0,k[gb+4>>2]|0,131,0)|0,k[Ya>>2]=gb,(k[Ya>>2]|0)!=0):0)?(m[(k[Ya>>2]|0)+10>>1]&4|0)==0:0){b=db;c=k[k[Ya>>2]>>2]|0;d=b+48|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[db+12>>2]=k[(k[_a>>2]|0)+12>>2];sB(k[ab>>2]|0,db,k[Va>>2]|0,16)}k[Xa>>2]=(k[Xa>>2]|0)+-1;k[bb>>2]=(k[bb>>2]|0)+48}b:do if(k[k[$a>>2]>>2]|0){gb=Gx(k[fb>>2]|0)|0;k[(k[$a>>2]|0)+28>>2]=gb;sx(k[fb>>2]|0,76,1,k[k[$a>>2]>>2]|0)|0;OC(k[ab>>2]|0);k[bb>>2]=k[(k[cb>>2]|0)+20>>2];k[Xa>>2]=0;while(1){if((k[Xa>>2]|0)>=(k[(k[cb>>2]|0)+12>>2]|0))break b;if((m[(k[bb>>2]|0)+10>>1]&6|0)==0?(fb=(k[bb>>2]|0)+40|0,gb=(k[$a>>2]|0)+72|0,!((k[fb>>2]&k[gb>>2]|0)!=0?1:(k[fb+4>>2]&k[gb+4>>2]|0)!=0)):0){sB(k[ab>>2]|0,k[k[bb>>2]>>2]|0,k[Va>>2]|0,16);gb=(k[bb>>2]|0)+10|0;j[gb>>1]=m[gb>>1]|4}k[Xa>>2]=(k[Xa>>2]|0)+1;k[bb>>2]=(k[bb>>2]|0)+48}}while(0);eb=(k[$a>>2]|0)+72|0;gb=k[eb+4>>2]|0;fb=Sa;k[fb>>2]=k[eb>>2];k[fb+4>>2]=gb;fb=Sa;gb=fb;gb=k[gb>>2]|0;fb=fb+4|0;fb=k[fb>>2]|0;L=fb;r=hb;return gb|0}function YD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){b=6;break}a=k[e>>2]|0;if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){d=eS(1,0,a|0)|0;e=f;k[e>>2]=d;k[e+4>>2]=L;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}else if((b|0)==6){e=f;k[e>>2]=0;k[e+4>>2]=0;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}return 0}function ZD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+128|0;z=S+120|0;A=S+116|0;B=S+112|0;C=S+108|0;D=S+104|0;E=S+100|0;g=S+96|0;P=S+92|0;Q=S+88|0;L=S+84|0;G=S+80|0;M=S+76|0;N=S+72|0;O=S+68|0;H=S+64|0;s=S+60|0;F=S+56|0;y=S+52|0;h=S+48|0;w=S+44|0;v=S+40|0;x=S+36|0;u=S+32|0;n=S+28|0;p=S+24|0;o=S+20|0;t=S+16|0;q=S+12|0;J=S+8|0;K=S+4|0;I=S;k[A>>2]=a;k[B>>2]=b;k[C>>2]=c;k[D>>2]=d;k[E>>2]=e;k[g>>2]=f;k[P>>2]=k[k[B>>2]>>2];k[Q>>2]=k[(k[A>>2]|0)+8>>2];do if((l[k[P>>2]>>0]|0)!=37?(l[k[P>>2]>>0]|0)!=29:0){if((l[k[P>>2]>>0]|0)==34){k[L>>2]=k[g>>2];sx(k[Q>>2]|0,79,0,k[L>>2]|0)|0;break}k[G>>2]=5;k[O>>2]=k[(k[C>>2]|0)+64>>2];k[s>>2]=0;k[F>>2]=0;if(((k[(k[O>>2]|0)+36>>2]&1024|0)==0?(k[(k[O>>2]|0)+24+8>>2]|0)!=0:0)?(l[(k[(k[(k[O>>2]|0)+24+8>>2]|0)+28>>2]|0)+(k[D>>2]|0)>>0]|0)!=0:0)k[E>>2]=((k[E>>2]|0)!=0^1)&1;k[L>>2]=k[g>>2];k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[D>>2]|0))break;if((k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]|0)!=0?(k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0):0){R=14;break}k[H>>2]=(k[H>>2]|0)+1}if((R|0)==14){$D(k[C>>2]|0,k[B>>2]|0);k[z>>2]=k[g>>2];R=k[z>>2]|0;r=S;return R|0}k[H>>2]=k[D>>2];while(1){if((k[H>>2]|0)>=(m[(k[O>>2]|0)+40>>1]|0))break;if((k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]|0)!=0?(k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0):0)k[s>>2]=(k[s>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}if((k[(k[P>>2]|0)+4>>2]&2048|0)!=0?(k[k[k[(k[P>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){k[y>>2]=k[(k[P>>2]|0)+20>>2];k[h>>2]=k[k[A>>2]>>2];k[w>>2]=k[k[y>>2]>>2];k[v>>2]=k[(k[(k[P>>2]|0)+12>>2]|0)+20>>2];k[x>>2]=0;k[u>>2]=0;k[H>>2]=k[D>>2];while(1){if((k[H>>2]|0)>=(m[(k[O>>2]|0)+40>>1]|0))break;if((k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0)){k[n>>2]=(k[(k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]|0)+24>>2]|0)-1;b=Sy(k[h>>2]|0,k[(k[(k[w>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0;k[p>>2]=b;b=Sy(k[h>>2]|0,k[(k[(k[v>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0;k[o>>2]=b;b=bw(k[A>>2]|0,k[x>>2]|0,k[p>>2]|0)|0;k[x>>2]=b;b=bw(k[A>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;k[u>>2]=b}k[H>>2]=(k[H>>2]|0)+1}if(!(i[(k[h>>2]|0)+69>>0]|0)){k[t>>2]=k[(k[P>>2]|0)+12>>2];a:do if(k[(k[y>>2]|0)+44>>2]|0){k[q>>2]=k[(k[y>>2]|0)+44>>2];k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[k[q>>2]>>2]|0))break a;j[(k[(k[q>>2]|0)+4>>2]|0)+((k[H>>2]|0)*20|0)+16>>1]=0;k[H>>2]=(k[H>>2]|0)+1}}while(0);g=k[u>>2]|0;if((k[k[u>>2]>>2]|0)==1)k[(k[P>>2]|0)+12>>2]=k[k[g+4>>2]>>2];else{k[(k[t>>2]|0)+20>>2]=g;b=Ch(k[k[A>>2]>>2]|0,k[s>>2]<<2,0)|0;k[F>>2]=b}k[k[y>>2]>>2]=k[x>>2];b=xB(k[A>>2]|0,k[P>>2]|0,4,0,k[F>>2]|0)|0;k[G>>2]=b;k[k[y>>2]>>2]=k[w>>2];k[(k[t>>2]|0)+20>>2]=k[v>>2];k[(k[P>>2]|0)+12>>2]=k[t>>2]}ov(k[k[A>>2]>>2]|0,k[u>>2]|0);ov(k[k[A>>2]>>2]|0,k[x>>2]|0)}else{y=xB(k[A>>2]|0,k[P>>2]|0,4,0,0)|0;k[G>>2]=y}if((k[G>>2]|0)==4)k[E>>2]=((k[E>>2]|0)!=0^1)&1;k[M>>2]=k[(k[P>>2]|0)+28>>2];sx(k[Q>>2]|0,(k[E>>2]|0)!=0?53:57,k[M>>2]|0,0)|0;y=(k[O>>2]|0)+36|0;k[y>>2]=k[y>>2]|2048;if(!(k[(k[C>>2]|0)+56>>2]|0)){y=eA(k[Q>>2]|0)|0;k[(k[C>>2]|0)+16>>2]=y}k[H>>2]=k[(k[C>>2]|0)+56>>2];y=(k[C>>2]|0)+56|0;k[y>>2]=(k[y>>2]|0)+(k[s>>2]|0);y=Zx(k[k[A>>2]>>2]|0,k[(k[C>>2]|0)+56+4>>2]|0,(k[(k[C>>2]|0)+56>>2]|0)*12|0,0)|0;k[(k[C>>2]|0)+56+4>>2]=y;k[N>>2]=k[(k[C>>2]|0)+56+4>>2];b:do if(k[N>>2]|0){k[J>>2]=0;k[N>>2]=(k[N>>2]|0)+((k[H>>2]|0)*12|0);k[H>>2]=k[D>>2];while(1){if((k[H>>2]|0)>=(m[(k[O>>2]|0)+40>>1]|0))break b;if((k[k[(k[(k[O>>2]|0)+48>>2]|0)+(k[H>>2]<<2)>>2]>>2]|0)==(k[P>>2]|0)){k[K>>2]=(k[L>>2]|0)+(k[H>>2]|0)-(k[D>>2]|0);if((k[G>>2]|0)==1){y=sx(k[Q>>2]|0,123,k[M>>2]|0,k[K>>2]|0)|0;k[(k[N>>2]|0)+4>>2]=y}else{if(k[F>>2]|0){g=k[J>>2]|0;k[J>>2]=g+1;g=k[(k[F>>2]|0)+(g<<2)>>2]|0}else g=0;k[I>>2]=g;y=tx(k[Q>>2]|0,96,k[M>>2]|0,k[I>>2]|0,k[K>>2]|0)|0;k[(k[N>>2]|0)+4>>2]=y}aA(k[Q>>2]|0,34,k[K>>2]|0)|0;if((k[H>>2]|0)==(k[D>>2]|0)){k[k[N>>2]>>2]=k[M>>2];i[(k[N>>2]|0)+8>>0]=(k[E>>2]|0)!=0?4:5}else i[(k[N>>2]|0)+8>>0]=-95;k[N>>2]=(k[N>>2]|0)+12}k[H>>2]=(k[H>>2]|0)+1}}else k[(k[C>>2]|0)+56>>2]=0;while(0);bg(k[k[A>>2]>>2]|0,k[F>>2]|0)}else R=3;while(0);if((R|0)==3){R=aB(k[A>>2]|0,k[(k[P>>2]|0)+16>>2]|0,k[g>>2]|0)|0;k[L>>2]=R}$D(k[C>>2]|0,k[B>>2]|0);k[z>>2]=k[L>>2];R=k[z>>2]|0;r=S;return R|0}function _D(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;i=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(fB(k[f>>2]|0)|0)){$A(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);r=n;return}if(k[(k[f>>2]|0)+4>>2]&2048){k[m>>2]=k[(k[e>>2]|0)+8>>2];a=nB(k[e>>2]|0,k[f>>2]|0,0,0)|0;k[j>>2]=a;tx(k[m>>2]|0,84,k[j>>2]|0,k[g>>2]|0,(k[h>>2]|0)-1|0)|0;r=n;return}k[l>>2]=k[(k[f>>2]|0)+20>>2];k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[h>>2]|0))break;$A(k[e>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,(k[g>>2]|0)+(k[i>>2]|0)|0);k[i>>2]=(k[i>>2]|0)+1}r=n;return}function $D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if(!(k[d>>2]|0)){c=14;break}if((m[(k[d>>2]|0)+10>>1]|0)&4){c=14;break}if((k[k[c>>2]>>2]|0)!=0?(k[(k[k[d>>2]>>2]|0)+4>>2]&1|0)==0:0){c=14;break}a=(k[c>>2]|0)+72|0;b=(k[d>>2]|0)+40|0;if(!((k[a>>2]&k[b>>2]|0)==0?(k[a+4>>2]&k[b+4>>2]|0)==0:0)){c=14;break}if((k[e>>2]|0)!=0?((m[(k[d>>2]|0)+10>>1]|0)&1024|0)!=0:0){b=(k[d>>2]|0)+10|0;j[b>>1]=m[b>>1]|0|512}else{b=(k[d>>2]|0)+10|0;j[b>>1]=m[b>>1]|0|4}if((k[(k[d>>2]|0)+16>>2]|0)<0){c=14;break}k[d>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2]|0)+((k[(k[d>>2]|0)+16>>2]|0)*48|0);b=(k[d>>2]|0)+14|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;if(l[(k[d>>2]|0)+14>>0]|0){c=14;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==14){r=f;return}}function aE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;h=A+60|0;l=A+56|0;n=A+52|0;C=A+48|0;o=A+44|0;q=A+66|0;g=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;s=A+16|0;z=A+12|0;f=A+8|0;w=A+4|0;u=A;k[h>>2]=a;k[l>>2]=b;k[n>>2]=c;k[C>>2]=d;k[o>>2]=e;k[y>>2]=k[(k[h>>2]|0)+8>>2];k[t>>2]=k[(k[l>>2]|0)+64>>2];j[q>>1]=j[(k[t>>2]|0)+24>>1]|0;j[g>>1]=j[(k[t>>2]|0)+42>>1]|0;k[B>>2]=k[(k[t>>2]|0)+24+8>>2];k[x>>2]=(k[(k[h>>2]|0)+44>>2]|0)+1;k[s>>2]=(m[(k[t>>2]|0)+24>>1]|0)+(k[C>>2]|0);e=(k[h>>2]|0)+44|0;k[e>>2]=(k[e>>2]|0)+(k[s>>2]|0);e=k[k[h>>2]>>2]|0;e=Ah(e,MC(k[k[h>>2]>>2]|0,k[B>>2]|0)|0)|0;k[z>>2]=e;a:do if(j[g>>1]|0){k[f>>2]=k[(k[l>>2]|0)+8>>2];aA(k[y>>2]|0,(k[n>>2]|0)!=0?53:57,k[f>>2]|0)|0;C=px(k[y>>2]|0,13)|0;k[p>>2]=C;C=Sh(k[y>>2]|0,(k[n>>2]|0)!=0?23:26,k[f>>2]|0,0,k[x>>2]|0,m[g>>1]|0)|0;k[(k[l>>2]|0)+20>>2]=C;hA(k[y>>2]|0,k[p>>2]|0);k[p>>2]=0;while(1){if((k[p>>2]|0)>=(m[g>>1]|0))break a;tx(k[y>>2]|0,96,k[f>>2]|0,k[p>>2]|0,(k[x>>2]|0)+(k[p>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+1}}while(0);k[p>>2]=m[g>>1];while(1){if((k[p>>2]|0)>=(m[q>>1]|0))break;k[v>>2]=k[(k[(k[t>>2]|0)+48>>2]|0)+(k[p>>2]<<2)>>2];C=ZD(k[h>>2]|0,k[v>>2]|0,k[l>>2]|0,k[p>>2]|0,k[n>>2]|0,(k[x>>2]|0)+(k[p>>2]|0)|0)|0;k[w>>2]=C;do if((k[w>>2]|0)!=((k[x>>2]|0)+(k[p>>2]|0)|0))if((k[s>>2]|0)==1){Hx(k[h>>2]|0,k[x>>2]|0);k[x>>2]=k[w>>2];break}else{sx(k[y>>2]|0,85,k[w>>2]|0,(k[x>>2]|0)+(k[p>>2]|0)|0)|0;break}while(0);c=k[v>>2]|0;if(m[(k[v>>2]|0)+12>>1]&1){if((k[z>>2]|0)!=0?(k[(k[c>>2]|0)+4>>2]&2048|0)!=0:0)i[(k[z>>2]|0)+(k[p>>2]|0)>>0]=65}else if(!(m[c+12>>1]&256)){k[u>>2]=k[(k[k[v>>2]>>2]|0)+16>>2];if((m[(k[v>>2]|0)+10>>1]&2048|0)==0?(yB(k[u>>2]|0)|0)!=0:0)sx(k[y>>2]|0,34,(k[x>>2]|0)+(k[p>>2]|0)|0,k[(k[l>>2]|0)+12>>2]|0)|0;if(k[z>>2]|0){if(((BB(k[u>>2]|0,i[(k[z>>2]|0)+(k[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[z>>2]|0)+(k[p>>2]|0)>>0]=65;if(mE(k[u>>2]|0,i[(k[z>>2]|0)+(k[p>>2]|0)>>0]|0)|0)i[(k[z>>2]|0)+(k[p>>2]|0)>>0]=65}}k[p>>2]=(k[p>>2]|0)+1}k[k[o>>2]>>2]=k[z>>2];r=A;return k[x>>2]|0}function bE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[h>>2]=c;if(!((m[(k[h>>2]|0)+10>>1]|0)&256)){r=g;return}h=oA(k[d>>2]|0,-1)|0;k[f>>2]=h;k[(k[f>>2]|0)+12>>2]=(k[(k[e>>2]|0)+36>>2]|0)>>>1;i[(k[f>>2]|0)+3>>0]=k[(k[e>>2]|0)+36>>2]&1;r=g;return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;c=zB(k[d>>2]|0,k[g>>2]|0)|0;k[h>>2]=c;if(!(((BB(k[h>>2]|0,i[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?(mE(k[h>>2]|0,i[(k[f>>2]|0)+(k[g>>2]|0)>>0]|0)|0)==0:0))i[(k[f>>2]|0)+(k[g>>2]|0)>>0]=65;k[g>>2]=(k[g>>2]|0)+1}r=j;return}function dE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[h>>2]|0)){r=l;return}while(1){if((k[g>>2]|0)<=0)break;if((i[k[h>>2]>>0]|0)!=65)break;k[g>>2]=(k[g>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}while(1){if((k[g>>2]|0)>1)c=(i[(k[h>>2]|0)+((k[g>>2]|0)-1)>>0]|0)==65;else c=0;b=k[g>>2]|0;if(!c)break;k[g>>2]=b+-1}if((b|0)<=0){r=l;return}wx(k[j>>2]|0,98,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0,k[g>>2]|0)|0;eB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);r=l;return}function eE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;n=r;r=r+48|0;o=n+32|0;e=n+28|0;p=n+24|0;q=n+20|0;h=n+16|0;l=n+12|0;g=n+8|0;i=n+4|0;f=n;k[o>>2]=a;k[e>>2]=b;k[p>>2]=c;k[q>>2]=d;k[h>>2]=k[k[o>>2]>>2];k[l>>2]=k[(k[h>>2]|0)+8>>2];tx(k[l>>2]|0,128,k[q>>2]|0,0,k[p>>2]|0)|0;if(!(m[(k[o>>2]|0)+40>>1]&32)){r=n;return}c=k[h>>2]|0;if(k[(k[h>>2]|0)+124>>2]|0)c=k[c+124>>2]|0;if(k[c+92>>2]|0){r=n;return}k[i>>2]=k[(k[e>>2]|0)+12>>2];q=Ch(k[k[h>>2]>>2]|0,(j[(k[i>>2]|0)+34>>1]|0)+1<<2,0)|0;k[f>>2]=q;if(!(k[f>>2]|0)){r=n;return}k[k[f>>2]>>2]=j[(k[i>>2]|0)+34>>1];k[g>>2]=0;while(1){if((k[g>>2]|0)>=((m[(k[e>>2]|0)+52>>1]|0)-1|0))break;if((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)>=0)k[(k[f>>2]|0)+((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)+1<<2)>>2]=(k[g>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}Wh(k[l>>2]|0,-1,k[f>>2]|0,-15);r=n;return}function fE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=r;r=r+32|0;f=i+20|0;m=i+16|0;l=i+12|0;j=i+8|0;g=i+4|0;h=i;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[g>>2]=e;b=bB(k[f>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[g>>2]|0,0)|0;k[h>>2]=b;if((k[h>>2]|0)==(k[g>>2]|0)){r=i;return}sx(k[(k[f>>2]|0)+8>>2]|0,85,k[h>>2]|0,k[g>>2]|0)|0;r=i;return}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(oA(k[f>>2]|0,k[e>>2]|0)|0)+4|0;k[c>>2]=a;r=d;return}function hE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=r;r=r+144|0;l=p+132|0;u=p+128|0;t=p+124|0;s=p+120|0;h=p;i=p+116|0;q=p+112|0;o=p+108|0;n=p+104|0;j=p+8|0;k[u>>2]=a;k[t>>2]=b;k[s>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[i>>2]=f;k[q>>2]=g;k[o>>2]=0;a=iE(j,k[u>>2]|0,k[t>>2]|0,k[s>>2]|0,k[i>>2]|0,k[q>>2]|0)|0;k[n>>2]=a;k[i>>2]=k[i>>2]&130;while(1){if(!(k[n>>2]|0)){d=10;break}t=(k[n>>2]|0)+32|0;u=h;if((k[t>>2]&k[u>>2]|0)==0?(k[t+4>>2]&k[u+4>>2]|0)==0:0){u=(k[n>>2]|0)+32|0;if((k[u>>2]|0)==0&(k[u+4>>2]|0)==0?((m[(k[n>>2]|0)+12>>1]|0)&k[i>>2]|0)!=0:0){d=6;break}if(!(k[o>>2]|0))k[o>>2]=k[n>>2]}u=jE(j)|0;k[n>>2]=u}if((d|0)==6){k[l>>2]=k[n>>2];u=k[l>>2]|0;r=p;return u|0}else if((d|0)==10){k[l>>2]=k[o>>2];u=k[l>>2]|0;r=p;return u|0}return 0}function iE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;g=p+24|0;q=p+20|0;h=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[q>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=0;k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[q>>2];k[(k[g>>2]|0)+12>>2]=0;if(k[n>>2]|0){k[o>>2]=k[l>>2];k[l>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1];if((k[l>>2]|0)==-2)k[(k[g>>2]|0)+12>>2]=k[(k[(k[(k[n>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2];if((k[l>>2]|0)==(j[(k[(k[n>>2]|0)+12>>2]|0)+32>>1]|0))k[l>>2]=-1}if((k[n>>2]|0)!=0&(k[l>>2]|0)>=0){i[(k[g>>2]|0)+16>>0]=i[(k[(k[(k[n>>2]|0)+12>>2]|0)+4>>2]|0)+(k[l>>2]<<4)+13>>0]|0;k[(k[g>>2]|0)+8>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+(k[o>>2]<<2)>>2]}else{i[(k[g>>2]|0)+16>>0]=0;k[(k[g>>2]|0)+8>>2]=0}k[(k[g>>2]|0)+20>>2]=k[m>>2];k[(k[g>>2]|0)+24>>2]=0;k[(k[g>>2]|0)+28>>2]=k[h>>2];j[(k[g>>2]|0)+72>>1]=k[l>>2];i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+18>>0]=1;q=jE(k[g>>2]|0)|0;r=p;return q|0}function jE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;o=s+32|0;c=s+28|0;b=s+40|0;h=s+24|0;g=s+20|0;q=s+16|0;p=s+12|0;d=s+8|0;e=s+4|0;f=s;k[o>>2]=a;k[p>>2]=k[(k[o>>2]|0)+24>>2];a:while(1){if((l[(k[o>>2]|0)+18>>0]|0)>(l[(k[o>>2]|0)+17>>0]|0)){b=40;break}k[c>>2]=k[(k[o>>2]|0)+28+((l[(k[o>>2]|0)+18>>0]|0)-1<<2)>>2];j[b>>1]=j[(k[o>>2]|0)+72+((l[(k[o>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((j[b>>1]|0)==-2?(k[(k[o>>2]|0)+12>>2]|0)==0:0){b=5;break}while(1){a=k[(k[o>>2]|0)+4>>2]|0;k[g>>2]=a;if(!a)break;k[q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[p>>2]|0)*48|0);while(1){if((k[p>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break;do if((k[(k[q>>2]|0)+20>>2]|0)==(k[c>>2]|0)?(k[(k[q>>2]|0)+28>>2]|0)==(j[b>>1]|0):0){if((j[b>>1]|0)==-2?(Uy(k[(k[k[q>>2]>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[c>>2]|0)|0)!=0:0)break;if((l[(k[o>>2]|0)+18>>0]|0)>1?(k[(k[k[q>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((m[(k[q>>2]|0)+12>>1]&2048|0)!=0?(l[(k[o>>2]|0)+17>>0]|0)<11:0)?(a=uy(k[(k[k[q>>2]>>2]|0)+16>>2]|0)|0,k[h>>2]=a,(l[a>>0]|0)==152):0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(l[(k[o>>2]|0)+17>>0]|0))break;if((k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]|0)==(k[(k[h>>2]|0)+28>>2]|0)?(j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]|0)==(j[(k[h>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)==(l[(k[o>>2]|0)+17>>0]|0)){k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]=k[(k[h>>2]|0)+28>>2];j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]=j[(k[h>>2]|0)+32>>1]|0;a=(k[o>>2]|0)+17|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}}if(m[(k[q>>2]|0)+12>>1]&k[(k[o>>2]|0)+20>>2]){if((k[(k[o>>2]|0)+8>>2]|0)!=0?(m[(k[q>>2]|0)+12>>1]&256|0)==0:0){k[f>>2]=k[k[k[g>>2]>>2]>>2];k[h>>2]=k[k[q>>2]>>2];if(!(kE(k[h>>2]|0,i[(k[o>>2]|0)+16>>0]|0)|0))break;a=CB(k[f>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[(k[h>>2]|0)+16>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0))k[e>>2]=k[(k[k[f>>2]>>2]|0)+8>>2];if(sg(k[k[e>>2]>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0)break}if(!(m[(k[q>>2]|0)+12>>1]&130)){b=36;break a}a=k[(k[k[q>>2]>>2]|0)+16>>2]|0;k[h>>2]=a;if((l[a>>0]|0)!=152){b=36;break a}if((k[(k[h>>2]|0)+28>>2]|0)!=(k[(k[o>>2]|0)+28>>2]|0)){b=36;break a}if((j[(k[h>>2]|0)+32>>1]|0)!=(j[(k[o>>2]|0)+72>>1]|0)){b=36;break a}}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+48}k[(k[o>>2]|0)+4>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+4>>2];k[p>>2]=0}k[(k[o>>2]|0)+4>>2]=k[k[o>>2]>>2];k[p>>2]=0;a=(k[o>>2]|0)+18|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}if((b|0)==5){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}else if((b|0)==36){k[(k[o>>2]|0)+24>>2]=(k[p>>2]|0)+1;k[n>>2]=k[q>>2];q=k[n>>2]|0;r=s;return q|0}else if((b|0)==40){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function kE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+4|0;g=e;d=e+9|0;f=e+8|0;k[g>>2]=a;i[d>>0]=b;a=lE(k[g>>2]|0)|0;i[f>>0]=a;switch(i[f>>0]|0){case 65:{k[c>>2]=1;break}case 66:{k[c>>2]=(i[d>>0]|0)==66&1;break}default:k[c>>2]=(i[d>>0]|0)>=67&1}r=e;return k[c>>2]|0}function lE(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;a=oy(k[(k[b>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+16>>2]|0){b=BB(k[a+16>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(k[a+4>>2]&2048){b=BB(k[k[(k[k[(k[b>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(i[c>>0]|0){c=i[c>>0]|0;r=d;return c|0}i[c>>0]=65;c=i[c>>0]|0;r=d;return c|0}function mE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+4|0;c=g;d=g+9|0;e=g+8|0;k[c>>2]=a;i[d>>0]=b;a:do if((i[d>>0]|0)==65)k[f>>2]=1;else{while(1){if((l[k[c>>2]>>0]|0)==156)a=1;else a=(l[k[c>>2]>>0]|0)==155;b=k[c>>2]|0;if(!a)break;k[c>>2]=k[b+12>>2]}i[e>>0]=i[b>>0]|0;if((l[e>>0]|0)==157)i[e>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[e>>0]|0){case 134:{if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 132:{if((i[d>>0]|0)==69)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 97:{k[f>>2]=(i[d>>0]|0)==66&1;break a}case 133:{k[f>>2]=1;break a}case 152:{if((j[(k[c>>2]|0)+32>>1]|0)<0)if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;else b=0;k[f>>2]=b&1;break a}default:{k[f>>2]=0;break a}}}while(0);r=g;return k[f>>2]|0}function nE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;CA(a,b,Tf(k[d>>2]|0)|0);r=c;return}function oE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=r;r=r+32|0;l=o;c=o+24|0;d=o+20|0;i=o+16|0;g=o+30|0;h=o+28|0;e=o+12|0;f=o+8|0;n=o+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+24+8>>2];j[g>>1]=j[(k[d>>2]|0)+24>>1]|0;j[h>>1]=j[(k[d>>2]|0)+42>>1]|0;if((m[g>>1]|0|0)==0?(k[(k[d>>2]|0)+36>>2]&48|0)==0:0){r=o;return}CA(k[c>>2]|0,34684,2);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[g>>1]|0|0))break;a=pE(k[i>>2]|0,k[e>>2]|0)|0;k[n>>2]=a;if(k[e>>2]|0)CA(k[c>>2]|0,34687,5);b=k[c>>2]|0;a=(k[e>>2]|0)>=(m[h>>1]|0|0)?34693:34698;k[l>>2]=k[n>>2];BA(b,a,l);k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=k[e>>2];if(k[(k[d>>2]|0)+36>>2]&32){qE(k[c>>2]|0,k[i>>2]|0,m[(k[d>>2]|0)+24+2>>1]|0,k[f>>2]|0,k[e>>2]|0,34615);k[e>>2]=1}if(k[(k[d>>2]|0)+36>>2]&16)qE(k[c>>2]|0,k[i>>2]|0,m[(k[d>>2]|0)+24+4>>1]|0,k[f>>2]|0,k[e>>2]|0,34617);CA(k[c>>2]|0,34706,1);r=o;return}function pE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[e>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];if((k[e>>2]|0)==-2){k[c>>2]=34712;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)==-1){k[c>>2]=24745;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2];a=k[c>>2]|0;r=f;return a|0}return 0}function qE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;o=n+8|0;l=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[o>>2]=e;k[l>>2]=f;if(k[o>>2]|0)CA(k[g>>2]|0,34687,5);if((k[i>>2]|0)>1)CA(k[g>>2]|0,34708,1);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[i>>2]|0))break;if(k[m>>2]|0)CA(k[g>>2]|0,34710,1);o=k[g>>2]|0;nE(o,pE(k[h>>2]|0,(k[j>>2]|0)+(k[m>>2]|0)|0)|0);k[m>>2]=(k[m>>2]|0)+1}if((k[i>>2]|0)>1)CA(k[g>>2]|0,34706,1);CA(k[g>>2]|0,k[l>>2]|0,1);if((k[i>>2]|0)>1)CA(k[g>>2]|0,34708,1);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[i>>2]|0))break;if(k[m>>2]|0)CA(k[g>>2]|0,34710,1);CA(k[g>>2]|0,20275,1);k[m>>2]=(k[m>>2]|0)+1}if((k[i>>2]|0)<=1){r=n;return}CA(k[g>>2]|0,34706,1);r=n;return}function rE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=HB(k[e>>2]|0,3,k[d>>2]|0)|0;r=c;return a|0}function sE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l;j=l+20|0;k[f>>2]=a;k[g>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;if((k[(k[f>>2]|0)+20>>2]|0)!=(k[(k[g>>2]|0)+44>>2]|0)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if(!((m[(k[f>>2]|0)+12>>1]|0)&130)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}b=(k[f>>2]|0)+32|0;a=h;if((k[b>>2]&k[a>>2]|0)!=0?1:(k[b+4>>2]&k[a+4>>2]|0)!=0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if((k[(k[f>>2]|0)+28>>2]|0)<0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}i[j>>0]=i[(k[(k[(k[g>>2]|0)+16>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+28>>2]<<4)+13>>0]|0;if(kE(k[k[f>>2]>>2]|0,i[j>>0]|0)|0){k[e>>2]=1;a=k[e>>2]|0;r=l;return a|0}else{k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}return 0}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+44>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[g>>2]=(k[g>>2]|0)+7&-8;b=dx(k[e>>2]|0,k[g>>2]<<2,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}bS(k[h>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[f>>2]|0)+44>>1]|0)<<2|0)|0;if((k[(k[f>>2]|0)+48>>2]|0)!=((k[f>>2]|0)+56|0))bg(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0);k[(k[f>>2]|0)+48>>2]=k[h>>2];j[(k[f>>2]|0)+44>>1]=k[g>>2];k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function uE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;l=r;r=r+32|0;m=l+20|0;e=l+24|0;n=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[m>>2]=a;j[e>>1]=b;k[n>>2]=c;k[f>>2]=d;k[g>>2]=56+((j[e>>1]<<2)+7&-8)+(((j[e>>1]|0)+1<<1)+(j[e>>1]<<1)+(j[e>>1]|0)+7&-8);d=(k[g>>2]|0)+(k[n>>2]|0)|0;d=Ch(k[m>>2]|0,d,((d|0)<0)<<31>>31)|0;k[h>>2]=d;if(!(k[h>>2]|0)){n=k[h>>2]|0;r=l;return n|0}k[i>>2]=(k[h>>2]|0)+56;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]<<2)+7&-8);k[(k[h>>2]|0)+8>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]|0)+1<<1);k[(k[h>>2]|0)+4>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+(j[e>>1]<<1);k[(k[h>>2]|0)+28>>2]=k[i>>2];j[(k[h>>2]|0)+52>>1]=j[e>>1]|0;j[(k[h>>2]|0)+50>>1]=(j[e>>1]|0)-1;k[k[f>>2]>>2]=(k[h>>2]|0)+(k[g>>2]|0);n=k[h>>2]|0;r=l;return n|0}function vE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+8|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){e=c;k[e>>2]=0;k[e+4>>2]=0;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}if((l[k[e>>2]>>0]|0|0)==152){e=YD(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0)|0;d=f;k[d>>2]=e;k[d+4>>2]=L;d=f;f=k[d+4>>2]|0;e=c;k[e>>2]=k[d>>2];k[e+4>>2]=f;e=c;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}if(k[(k[e>>2]|0)+16>>2]|0){b=vE(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;a=L}else{b=0;a=0}h=f;k[h>>2]=b;k[h+4>>2]=a;if(k[(k[e>>2]|0)+12>>2]|0){b=vE(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0;i=f;a=k[i+4>>2]|L;h=f;k[h>>2]=k[i>>2]|b;k[h+4>>2]=a}if(!(k[(k[e>>2]|0)+4>>2]&2048)){if(k[(k[e>>2]|0)+20>>2]|0){e=UD(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|L;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}}else{e=wE(k[d>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;d=f;h=k[d+4>>2]|L;i=f;k[i>>2]=k[d>>2]|e;k[i+4>>2]=h}i=k[f+4>>2]|0;h=c;k[h>>2]=k[f>>2];k[h+4>>2]=i;h=c;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function wE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;f=h;g=h+12|0;e=h+8|0;k[c>>2]=a;k[d>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;while(1){if(!(k[d>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+28>>2];i=UD(k[c>>2]|0,k[k[d>>2]>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=UD(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;j=UD(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|j;k[a+4>>2]=b;a=vE(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0;b=f;j=k[b+4>>2]|L;i=f;k[i>>2]=k[b>>2]|a;k[i+4>>2]=j;i=vE(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;a:do if(k[g>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[g>>2]>>2]|0))break a;i=wE(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+20>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=vE(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+48>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[d>>2]=k[(k[d>>2]|0)+48>>2]}j=f;L=k[j+4>>2]|0;r=h;return k[j>>2]|0}function xE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f+2|0;e=f;j[d>>1]=a;j[e>>1]=b;if((j[d>>1]|0)>=(j[e>>1]|0)){a=j[d>>1]|0;if((j[d>>1]|0)>((j[e>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[d>>1]|0;if((a<<16>>16|0)>((j[e>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[34774+((j[d>>1]|0)-(j[e>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}else{a=j[e>>1]|0;if((j[e>>1]|0)>((j[d>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[e>>1]|0;if((a<<16>>16|0)>((j[d>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[34774+((j[e>>1]|0)-(j[d>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}return 0}function yE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+160|0;Z=ca+149|0;h=ca+124|0;n=ca+120|0;o=ca+116|0;p=ca+140|0;q=ca+138|0;s=ca+112|0;t=ca+108|0;W=ca+148|0;U=ca+147|0;V=ca+146|0;D=ca+145|0;w=ca+144|0;C=ca+143|0;y=ca+136|0;H=ca+134|0;G=ca+132|0;I=ca+130|0;B=ca+104|0;_=ca+100|0;E=ca+96|0;A=ca+92|0;z=ca+88|0;P=ca+84|0;R=ca+80|0;Q=ca+76|0;N=ca+72|0;O=ca+68|0;v=ca+64|0;aa=ca+40|0;J=ca+32|0;K=ca+24|0;T=ca+16|0;X=ca+60|0;Y=ca+56|0;u=ca+142|0;x=ca+128|0;S=ca+52|0;M=ca+48|0;F=ca+8|0;$=ca;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;j[p>>1]=d;j[q>>1]=e;k[s>>2]=f;k[t>>2]=g;k[P>>2]=0;k[v>>2]=k[k[k[h>>2]>>2]>>2];d=aa;k[d>>2]=0;k[d+4>>2]=0;if((m[q>>1]|0)!=0?(m[(k[v>>2]|0)+64>>1]&128|0)!=0:0){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}j[I>>1]=k[k[n>>2]>>2];if((m[I>>1]|0)>63){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}i[D>>0]=1;a=eS(1,0,m[I>>1]|0)|0;a=_R(a|0,L|0,1,0)|0;d=J;k[d>>2]=a;k[d+4>>2]=L;d=K;k[d>>2]=0;k[d+4>>2]=0;d=T;k[d>>2]=0;k[d+4>>2]=0;j[y>>1]=386;if(m[p>>1]&2048)j[y>>1]=m[y>>1]|1;k[B>>2]=0;a:while(1){if(!(l[D>>0]|0))break;a=aa;c=k[a+4>>2]|0;d=J;g=k[d+4>>2]|0;if(!(c>>>0>>0|((c|0)==(g|0)?(k[a>>2]|0)>>>0<(k[d>>2]|0)>>>0:0)))break;if((k[B>>2]|0)>(m[q>>1]|0))break;if((k[B>>2]|0)>0){g=(k[P>>2]|0)+8|0;c=T;a=k[c+4>>2]|k[g+4>>2];d=T;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a}if((k[B>>2]|0)<(m[q>>1]|0)){k[P>>2]=k[(k[(k[o>>2]|0)+24>>2]|0)+(k[B>>2]<<2)>>2];if(!(m[p>>1]&2048))ba=17}else{k[P>>2]=k[s>>2];ba=17}b:do if((ba|0)==17){ba=0;e=k[P>>2]|0;if(k[(k[P>>2]|0)+36>>2]&1024){ba=18;break a}k[A>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+8+((l[e+16>>0]|0)*72|0)+44>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(m[I>>1]|0))break;a=eS(1,0,k[_>>2]|0)|0;d=aa;c:do if(((!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)?(d=uy(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0,k[Q>>2]=d,(l[k[Q>>2]>>0]|0)==152):0)?(k[(k[Q>>2]|0)+28>>2]|0)==(k[A>>2]|0):0)?(d=T,d=hE((k[h>>2]|0)+80|0,k[A>>2]|0,j[(k[Q>>2]|0)+32>>1]|0,~k[d>>2],~k[d+4>>2],m[y>>1]|0,0)|0,k[R>>2]=d,(k[R>>2]|0)!=0):0){if((m[(k[R>>2]|0)+12>>1]|0)==1){k[E>>2]=0;while(1){if((k[E>>2]|0)>=(m[(k[P>>2]|0)+40>>1]|0))break;if((k[R>>2]|0)==(k[(k[(k[P>>2]|0)+48>>2]|0)+(k[E>>2]<<2)>>2]|0))break;k[E>>2]=(k[E>>2]|0)+1}if((k[E>>2]|0)>=(m[(k[P>>2]|0)+40>>1]|0))break}do if(m[(k[R>>2]|0)+12>>1]&130){if((j[(k[Q>>2]|0)+32>>1]|0)<0)break;d=py(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0;k[N>>2]=d;if(!(k[N>>2]|0))k[N>>2]=k[(k[v>>2]|0)+8>>2];k[X>>2]=k[k[N>>2]>>2];d=py(k[k[h>>2]>>2]|0,k[k[R>>2]>>2]|0)|0;k[N>>2]=d;if(!(k[N>>2]|0))k[N>>2]=k[(k[v>>2]|0)+8>>2];k[Y>>2]=k[k[N>>2]>>2];if(sg(k[X>>2]|0,k[Y>>2]|0)|0)break c}while(0);g=eS(1,0,k[_>>2]|0)|0;c=aa;a=k[c+4>>2]|L;d=aa;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}while(0);k[_>>2]=(k[_>>2]|0)+1}if(!(k[(k[P>>2]|0)+36>>2]&4096)){if(k[(k[P>>2]|0)+36>>2]&256){k[O>>2]=0;j[H>>1]=0;j[G>>1]=1}else{d=k[(k[P>>2]|0)+24+8>>2]|0;k[O>>2]=d;if(!d){ba=46;break a}if((l[(k[O>>2]|0)+55>>0]|0)>>>2&1){ba=46;break a}j[H>>1]=j[(k[O>>2]|0)+50>>1]|0;j[G>>1]=j[(k[O>>2]|0)+52>>1]|0;i[D>>0]=(l[(k[O>>2]|0)+54>>0]|0)!=0}i[W>>0]=0;i[U>>0]=0;i[w>>0]=0;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(m[G>>1]|0))break;i[u>>0]=1;d:do if((k[E>>2]|0)<(m[(k[P>>2]|0)+24>>1]|0)?(k[E>>2]|0)>=(m[(k[P>>2]|0)+42>>1]|0):0){j[x>>1]=j[(k[(k[(k[P>>2]|0)+48>>2]|0)+(k[E>>2]<<2)>>2]|0)+12>>1]|0;e=m[x>>1]|0;if(m[x>>1]&m[y>>1]){if(!(e&256))break;i[D>>0]=0;break}if(!(e&1)){ba=61;break}k[S>>2]=k[k[(k[(k[P>>2]|0)+48>>2]|0)+(k[E>>2]<<2)>>2]>>2];k[_>>2]=(k[E>>2]|0)+1;while(1){if((k[_>>2]|0)>=(m[(k[P>>2]|0)+24>>1]|0)){ba=61;break d}if((k[k[(k[(k[P>>2]|0)+48>>2]|0)+(k[_>>2]<<2)>>2]>>2]|0)==(k[S>>2]|0))break;k[_>>2]=(k[_>>2]|0)+1}i[u>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(k[O>>2]|0){k[z>>2]=j[(k[(k[O>>2]|0)+4>>2]|0)+(k[E>>2]<<1)>>1];i[V>>0]=i[(k[(k[O>>2]|0)+28>>2]|0)+(k[E>>2]|0)>>0]|0;if((k[z>>2]|0)!=(j[(k[(k[O>>2]|0)+12>>2]|0)+32>>1]|0))break;k[z>>2]=-1}else{k[z>>2]=-1;i[V>>0]=0}while(0);do if((l[D>>0]|0)!=0&(k[z>>2]|0)>=0){if((k[E>>2]|0)<(m[(k[P>>2]|0)+24>>1]|0))break;if(l[(k[(k[(k[O>>2]|0)+12>>2]|0)+4>>2]|0)+(k[z>>2]<<4)+12>>0]|0)break;i[D>>0]=0}while(0);i[C>>0]=0;k[_>>2]=0;e:while(1){if(!(l[u>>0]|0))break;if((k[_>>2]|0)>=(m[I>>1]|0))break;a=eS(1,0,k[_>>2]|0)|0;d=aa;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){d=uy(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0;k[Q>>2]=d;if(!(m[p>>1]&192))i[u>>0]=0;e=k[Q>>2]|0;if((k[z>>2]|0)>=-1){if((l[e>>0]|0)!=152)break;if((k[(k[Q>>2]|0)+28>>2]|0)!=(k[A>>2]|0))break;if((j[(k[Q>>2]|0)+32>>1]|0)!=(k[z>>2]|0))break}else if(Uy(e,k[(k[(k[(k[O>>2]|0)+40>>2]|0)+4>>2]|0)+((k[E>>2]|0)*20|0)>>2]|0,k[A>>2]|0)|0)break;if((k[z>>2]|0)<0){ba=84;break e}d=py(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2]|0)|0;k[N>>2]=d;if(!(k[N>>2]|0))k[N>>2]=k[(k[v>>2]|0)+8>>2];if(!(sg(k[k[N>>2]>>2]|0,k[(k[(k[O>>2]|0)+32>>2]|0)+(k[E>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);k[_>>2]=(k[_>>2]|0)+1}if((ba|0)==84){ba=0;i[C>>0]=1}do if(l[C>>0]|0){if(m[p>>1]&64)break;if(i[W>>0]|0){if((l[U>>0]^l[V>>0]|0)==(l[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)+12>>0]|0))break;i[C>>0]=0;break}i[U>>0]=l[V>>0]^l[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)+12>>0];if(i[U>>0]|0){g=eS(1,0,k[B>>2]|0)|0;d=k[t>>2]|0;c=d;a=k[c+4>>2]|L;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}i[W>>0]=1}while(0);if(!(i[C>>0]|0)){ba=98;break}if((k[z>>2]|0)==-1)i[w>>0]=1;g=eS(1,0,k[_>>2]|0)|0;c=aa;a=k[c+4>>2]|L;d=aa;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}k[E>>2]=(k[E>>2]|0)+1}do if((ba|0)==98){ba=0;if((k[E>>2]|0)!=0?(k[E>>2]|0)>=(m[H>>1]|0):0)break;i[D>>0]=0}while(0);if(i[w>>0]|0)i[D>>0]=1}if(i[D>>0]|0){g=(k[P>>2]|0)+8|0;c=K;a=k[c+4>>2]|k[g+4>>2];d=K;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a;k[_>>2]=0;while(1){if((k[_>>2]|0)>=(m[I>>1]|0))break b;a=eS(1,0,k[_>>2]|0)|0;d=aa;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){k[M>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+((k[_>>2]|0)*20|0)>>2];a=vE((k[h>>2]|0)+488|0,k[M>>2]|0)|0;d=F;k[d>>2]=a;k[d+4>>2]=L;d=F;if((k[d>>2]|0)==0&(k[d+4>>2]|0)==0?(jB(k[M>>2]|0)|0)==0:0)break;a=F;d=K;if((k[a>>2]&~k[d>>2]|0)==0?(k[a+4>>2]&~k[d+4>>2]|0)==0:0){g=eS(1,0,k[_>>2]|0)|0;c=aa;a=k[c+4>>2]|L;d=aa;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}}while(0);k[_>>2]=(k[_>>2]|0)+1}}}while(0);k[B>>2]=(k[B>>2]|0)+1}if((ba|0)==18){if(i[e+24+5>>0]|0){X=J;Y=k[X+4>>2]|0;ba=aa;k[ba>>2]=k[X>>2];k[ba+4>>2]=Y}}else if((ba|0)==46){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}Y=aa;ba=J;if((k[Y>>2]|0)==(k[ba>>2]|0)?(k[Y+4>>2]|0)==(k[ba+4>>2]|0):0){i[Z>>0]=j[I>>1];ba=i[Z>>0]|0;r=ca;return ba|0}if(i[D>>0]|0){i[Z>>0]=-1;ba=i[Z>>0]|0;r=ca;return ba|0}k[_>>2]=(m[I>>1]|0)-1;while(1){if((k[_>>2]|0)<=0){ba=122;break}Y=eS(1,0,k[_>>2]|0)|0;Y=_R(Y|0,L|0,1,0)|0;X=$;k[X>>2]=Y;k[X+4>>2]=L;X=aa;Y=$;ba=$;e=k[_>>2]|0;if((k[X>>2]&k[Y>>2]|0)==(k[ba>>2]|0)?(k[X+4>>2]&k[Y+4>>2]|0)==(k[ba+4>>2]|0):0){ba=120;break}k[_>>2]=e+-1}if((ba|0)==120){i[Z>>0]=e;ba=i[Z>>0]|0;r=ca;return ba|0}else if((ba|0)==122){i[Z>>0]=0;ba=i[Z>>0]|0;r=ca;return ba|0}return 0}function zE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;h=r;r=r+32|0;e=h+8|0;f=h+16|0;l=h+4|0;n=h;i=h+14|0;g=h+12|0;k[e>>2]=a;j[f>>1]=b;k[l>>2]=c;k[n>>2]=d;a=(((k[l>>2]|0)-(k[n>>2]|0)|0)*100|0)/(k[l>>2]|0)|0;a=((Wj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66&65535;j[i>>1]=a;j[g>>1]=(j[f>>1]|0)+(j[i>>1]|0)+16;if((m[(k[e>>2]|0)+40>>1]&16384|0)!=0?(j[(k[e>>2]|0)+16>>1]|0)<(j[f>>1]|0):0)j[f>>1]=j[(k[e>>2]|0)+16>>1]|0;n=(AE(j[f>>1]|0)|0)<<16>>16;j[g>>1]=(j[g>>1]|0)+n;r=h;return j[g>>1]|0}function AE(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;j[b>>1]=a;if((j[b>>1]|0)<=10){a=0;a=a&65535;r=c;return a|0}a=j[b>>1]|0;a=((Wj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;r=c;return a|0}function BE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=r;r=r+128|0;f=D+108|0;g=D+104|0;h=D+48|0;F=D+40|0;A=D+100|0;G=D+96|0;y=D+92|0;z=D+88|0;E=D+84|0;w=D+80|0;v=D+76|0;m=D+72|0;x=D+68|0;o=D+32|0;s=D+112|0;B=D+64|0;C=D+60|0;t=D+24|0;p=D+16|0;n=D+56|0;q=D+8|0;u=D;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=F;k[a>>2]=d;k[a+4>>2]=e;k[A>>2]=0;k[G>>2]=k[k[g>>2]>>2];k[y>>2]=k[k[G>>2]>>2];k[z>>2]=k[(k[g>>2]|0)+4>>2];k[x>>2]=k[(k[g>>2]|0)+12>>2];k[E>>2]=(k[(k[G>>2]|0)+4>>2]|0)+8+((l[(k[x>>2]|0)+16>>0]|0)*72|0);a=F;a=XE(k[y>>2]|0,k[z>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[E>>2]|0,k[(k[g>>2]|0)+8>>2]|0,s)|0;k[w>>2]=a;if(!(k[w>>2]|0)){k[f>>2]=7;G=k[f>>2]|0;r=D;return G|0}j[(k[x>>2]|0)+18>>1]=0;k[(k[x>>2]|0)+36>>2]=1024;j[(k[x>>2]|0)+40>>1]=0;i[(k[x>>2]|0)+24+4>>0]=0;k[v>>2]=k[k[w>>2]>>2];if(tE(k[k[y>>2]>>2]|0,k[x>>2]|0,k[v>>2]|0)|0){bg(k[k[y>>2]>>2]|0,k[w>>2]|0);k[f>>2]=7;G=k[f>>2]|0;r=D;return G|0}G=h;G=YE(k[g>>2]|0,k[G>>2]|0,k[G+4>>2]|0,-1,-1,0,k[w>>2]|0,j[s>>1]|0,m)|0;k[A>>2]=G;if((k[A>>2]|0)==0?(E=k[x>>2]|0,G=h,F=k[E>>2]&~k[G>>2],G=k[E+4>>2]&~k[G+4>>2],E=o,k[E>>2]=F,k[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){k[B>>2]=0;k[C>>2]=0;G=t;k[G>>2]=0;k[G+4>>2]=0;G=p;k[G>>2]=0;k[G+4>>2]=0;if((k[m>>2]|0)!=0?(a=h,a=YE(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0,-1,-1,1,k[w>>2]|0,j[s>>1]|0,m)|0,k[A>>2]=a,a=k[x>>2]|0,E=h,F=k[a+4>>2]&~k[E+4>>2],G=p,k[G>>2]=k[a>>2]&~k[E>>2],k[G+4>>2]=F,G=p,(k[G>>2]|0)==0&(k[G+4>>2]|0)==0):0){k[B>>2]=1;k[C>>2]=1}while(1){if(k[A>>2]|0)break;G=q;k[G>>2]=-1;k[G+4>>2]=-1;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[v>>2]|0))break;E=(k[(k[z>>2]|0)+20>>2]|0)+((k[(k[(k[w>>2]|0)+4>>2]|0)+((k[n>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=h;a=k[E+4>>2]&~k[G+4>>2];F=u;k[F>>2]=k[E>>2]&~k[G>>2];k[F+4>>2]=a;F=u;a=k[F+4>>2]|0;G=t;E=k[G+4>>2]|0;if(a>>>0>E>>>0|((a|0)==(E|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0)?(F=u,a=k[F+4>>2]|0,G=q,E=k[G+4>>2]|0,a>>>0>>0|((a|0)==(E|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)):0){E=u;F=k[E+4>>2]|0;G=q;k[G>>2]=k[E>>2];k[G+4>>2]=F}k[n>>2]=(k[n>>2]|0)+1}E=q;F=k[E+4>>2]|0;G=t;k[G>>2]=k[E>>2];k[G+4>>2]=F;G=q;if((k[G>>2]|0)==-1?(k[G+4>>2]|0)==-1:0)break;F=q;G=o;if((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0)continue;F=q;G=p;if((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0)continue;E=h;G=q;F=h;F=YE(k[g>>2]|0,k[E>>2]|0,k[E+4>>2]|0,k[G>>2]|k[F>>2],k[G+4>>2]|k[F+4>>2],0,k[w>>2]|0,j[s>>1]|0,m)|0;k[A>>2]=F;F=k[x>>2]|0;G=h;if(!((k[F>>2]|0)==(k[G>>2]|0)?(k[F+4>>2]|0)==(k[G+4>>2]|0):0))continue;k[B>>2]=1;if(k[m>>2]|0)continue;k[C>>2]=1}if((k[A>>2]|0)==0&(k[B>>2]|0)==0?(F=h,G=h,G=YE(k[g>>2]|0,k[F>>2]|0,k[F+4>>2]|0,k[G>>2]|0,k[G+4>>2]|0,0,k[w>>2]|0,j[s>>1]|0,m)|0,k[A>>2]=G,(k[m>>2]|0)==0):0)k[C>>2]=1;if((k[A>>2]|0)==0&(k[C>>2]|0)==0){F=h;G=h;G=YE(k[g>>2]|0,k[F>>2]|0,k[F+4>>2]|0,k[G>>2]|0,k[G+4>>2]|0,1,k[w>>2]|0,j[s>>1]|0,m)|0;k[A>>2]=G}}if(k[(k[w>>2]|0)+28>>2]|0)Ud(k[(k[w>>2]|0)+24>>2]|0);bg(k[k[y>>2]>>2]|0,k[w>>2]|0);k[f>>2]=k[A>>2];G=k[f>>2]|0;r=D;return G|0}function CE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=r;r=r+160|0;d=I+144|0;e=I+8|0;D=I+140|0;v=I+136|0;G=I+80|0;g=I+156|0;f=I+154|0;J=I+72|0;w=I+68|0;u=I+64|0;H=I+60|0;o=I+56|0;h=I+52|0;F=I+152|0;E=I+150|0;A=I+48|0;x=I+44|0;t=I+40|0;y=I+36|0;C=I+32|0;q=I;s=I+148|0;p=I+28|0;n=I+24|0;B=I+20|0;z=I+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;j[f>>1]=-1;k[H>>2]=0;k[o>>2]=1;k[u>>2]=k[(k[d>>2]|0)+12>>2];k[D>>2]=k[k[d>>2]>>2];k[J>>2]=k[(k[D>>2]|0)+4>>2];k[w>>2]=(k[J>>2]|0)+8+((l[(k[u>>2]|0)+16>>0]|0)*72|0);k[x>>2]=k[(k[w>>2]|0)+16>>2];k[A>>2]=k[(k[d>>2]|0)+4>>2];do if(k[(k[w>>2]|0)+68>>2]|0)k[v>>2]=k[(k[w>>2]|0)+68>>2];else{if(l[(k[x>>2]|0)+42>>0]&32){k[v>>2]=k[(k[x>>2]|0)+8>>2];break}b=G;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));j[G+50>>1]=1;j[G+52>>1]=1;k[G+4>>2]=f;k[G+8>>2]=g;i[G+54>>0]=5;k[G+12>>2]=k[x>>2];j[G+48>>1]=j[(k[x>>2]|0)+40>>1]|0;j[g>>1]=j[(k[x>>2]|0)+38>>1]|0;j[g+2>>1]=0;k[t>>2]=k[(k[(k[w>>2]|0)+16>>2]|0)+8>>2];if(!(i[(k[w>>2]|0)+36+1>>0]&1))k[G+20>>2]=k[t>>2];k[v>>2]=G}while(0);j[F>>1]=j[(k[x>>2]|0)+38>>1]|0;J=AE(j[F>>1]|0)|0;j[E>>1]=J;a:do if((((((((k[(k[d>>2]|0)+16>>2]|0)==0?(m[(k[D>>2]|0)+40>>1]&32|0)==0:0)?(k[(k[k[k[D>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(k[(k[w>>2]|0)+68>>2]|0)==0:0)?(i[(k[w>>2]|0)+36+1>>0]&1|0)==0:0)?(l[(k[x>>2]|0)+42>>0]&32|0)==0:0)?((l[(k[w>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((l[(k[w>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){k[C>>2]=(k[(k[A>>2]|0)+20>>2]|0)+((k[(k[A>>2]|0)+12>>2]|0)*48|0);k[y>>2]=k[(k[A>>2]|0)+20>>2];while(1){if(k[H>>2]|0)break a;if((k[y>>2]|0)>>>0>=(k[C>>2]|0)>>>0)break a;G=(k[y>>2]|0)+32|0;J=(k[u>>2]|0)+8|0;if(!((k[G>>2]&k[J>>2]|0)!=0?1:(k[G+4>>2]&k[J+4>>2]|0)!=0)?(sE(k[y>>2]|0,k[w>>2]|0,0,0)|0)!=0:0){j[(k[u>>2]|0)+24>>1]=1;j[(k[u>>2]|0)+42>>1]=0;k[(k[u>>2]|0)+24+8>>2]=0;j[(k[u>>2]|0)+40>>1]=1;k[k[(k[u>>2]|0)+48>>2]>>2]=k[y>>2];j[(k[u>>2]|0)+18>>1]=(j[E>>1]|0)+(j[F>>1]|0)+4;if((k[(k[x>>2]|0)+12>>2]|0)==0?(l[(k[x>>2]|0)+42>>0]&2|0)==0:0){J=(k[u>>2]|0)+18|0;j[J>>1]=(j[J>>1]|0)+24}if((j[(k[u>>2]|0)+18>>1]|0)<0)j[(k[u>>2]|0)+18>>1]=0;j[(k[u>>2]|0)+22>>1]=43;g=xE(j[E>>1]|0,j[(k[u>>2]|0)+22>>1]|0)|0;j[(k[u>>2]|0)+20>>1]=g;k[(k[u>>2]|0)+36>>2]=16384;g=e;t=(k[y>>2]|0)+32|0;G=k[g+4>>2]|k[t+4>>2];J=k[u>>2]|0;k[J>>2]=k[g>>2]|k[t>>2];k[J+4>>2]=G;J=GE(k[d>>2]|0,k[u>>2]|0)|0;k[H>>2]=J}k[y>>2]=(k[y>>2]|0)+48}}while(0);b:while(1){if(!((k[H>>2]|0)==0?(k[v>>2]|0)!=0:0)){b=57;break}if(!((k[(k[v>>2]|0)+36>>2]|0)!=0?(LE(k[(k[w>>2]|0)+44>>2]|0,k[A>>2]|0,k[(k[v>>2]|0)+36>>2]|0)|0)==0:0)){j[F>>1]=j[k[(k[v>>2]|0)+8>>2]>>1]|0;j[(k[u>>2]|0)+24>>1]=0;j[(k[u>>2]|0)+24+2>>1]=0;j[(k[u>>2]|0)+24+4>>1]=0;j[(k[u>>2]|0)+42>>1]=0;j[(k[u>>2]|0)+40>>1]=0;i[(k[u>>2]|0)+17>>0]=0;j[(k[u>>2]|0)+18>>1]=0;E=e;G=k[E+4>>2]|0;J=k[u>>2]|0;k[J>>2]=k[E>>2];k[J+4>>2]=G;j[(k[u>>2]|0)+22>>1]=j[F>>1]|0;k[(k[u>>2]|0)+24+8>>2]=k[v>>2];J=ME(k[d>>2]|0,k[v>>2]|0,k[(k[w>>2]|0)+44>>2]|0)|0;k[h>>2]=J;do if((k[(k[v>>2]|0)+44>>2]|0)<=0){k[(k[u>>2]|0)+36>>2]=256;i[(k[u>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[o>>2]|0:0;j[(k[u>>2]|0)+20>>1]=(j[F>>1]|0)+16;NE(k[A>>2]|0,k[u>>2]|0,j[F>>1]|0);J=GE(k[d>>2]|0,k[u>>2]|0)|0;k[H>>2]=J;j[(k[u>>2]|0)+22>>1]=j[F>>1]|0;if(k[H>>2]|0){b=57;break b}}else{if((l[(k[v>>2]|0)+55>>0]|0)>>>5&1){k[(k[u>>2]|0)+36>>2]=576;J=q;k[J>>2]=0;k[J+4>>2]=0}else{G=(k[w>>2]|0)+56|0;C=k[G>>2]|0;G=k[G+4>>2]|0;E=OE(k[v>>2]|0)|0;J=q;k[J>>2]=C&~E;k[J+4>>2]=G&~L;J=q;k[(k[u>>2]|0)+36>>2]=(k[J>>2]|0)==0&(k[J+4>>2]|0)==0?576:512}if(((k[h>>2]|0)==0?(l[(k[x>>2]|0)+42>>0]&32|0)==0:0)?(k[(k[v>>2]|0)+36>>2]|0)==0:0){J=q;if(!((k[J>>2]|0)==0&(k[J+4>>2]|0)==0))break;if((l[(k[v>>2]|0)+55>>0]|0)>>>2&1)break;if((j[(k[v>>2]|0)+48>>1]|0)>=(j[(k[x>>2]|0)+40>>1]|0))break;if(!((k[6]|0)!=0?(m[(k[D>>2]|0)+40>>1]&4|0)==0:0))break;if(m[(k[k[k[D>>2]>>2]>>2]|0)+64>>1]&64)break}i[(k[u>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[o>>2]|0:0;j[(k[u>>2]|0)+20>>1]=(j[F>>1]|0)+1+(((j[(k[v>>2]|0)+48>>1]|0)*15|0)/(j[(k[x>>2]|0)+40>>1]|0)|0);J=q;if((k[J>>2]|0)!=0|(k[J+4>>2]|0)!=0){j[s>>1]=(j[F>>1]|0)+16;k[n>>2]=k[(k[w>>2]|0)+44>>2];k[B>>2]=(k[D>>2]|0)+80;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[B>>2]|0)+12>>2]|0))break;k[z>>2]=(k[(k[B>>2]|0)+20>>2]|0)+((k[p>>2]|0)*48|0);if(!(PE(k[k[z>>2]>>2]|0,k[n>>2]|0,k[v>>2]|0)|0))break;if((j[(k[z>>2]|0)+8>>1]|0)>0){j[s>>1]=(j[s>>1]|0)+-1<<16>>16;if(m[(k[z>>2]|0)+12>>1]&130)j[s>>1]=(j[s>>1]|0)-19}else j[s>>1]=(j[s>>1]|0)+(j[(k[z>>2]|0)+8>>1]|0);k[p>>2]=(k[p>>2]|0)+1}J=xE(j[(k[u>>2]|0)+20>>1]|0,j[s>>1]|0)|0;j[(k[u>>2]|0)+20>>1]=J}NE(k[A>>2]|0,k[u>>2]|0,j[F>>1]|0);J=GE(k[d>>2]|0,k[u>>2]|0)|0;k[H>>2]=J;j[(k[u>>2]|0)+22>>1]=j[F>>1]|0;if(k[H>>2]|0){b=57;break b}}while(0);J=QE(k[d>>2]|0,k[w>>2]|0,k[v>>2]|0,0)|0;k[H>>2]=J;if(k[(k[w>>2]|0)+68>>2]|0){b=57;break}}k[v>>2]=k[(k[v>>2]|0)+20>>2];k[o>>2]=(k[o>>2]|0)+1}if((b|0)==57){r=I;return k[H>>2]|0}return 0}function DE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+672|0;g=I+668|0;h=I+584|0;n=I+576|0;f=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;p=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;o=I+596|0;q=I+592|0;D=I;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[f>>2]=k[k[g>>2]>>2];k[B>>2]=0;k[z>>2]=k[(k[g>>2]|0)+4>>2];k[A>>2]=(k[(k[z>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+12>>2]|0)*48|0);k[u>>2]=k[(k[g>>2]|0)+12>>2];b=F;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[t>>2]=(k[(k[f>>2]|0)+4>>2]|0)+8+((l[(k[u>>2]|0)+16>>0]|0)*72|0);k[p>>2]=k[(k[t>>2]|0)+44>>2];k[y>>2]=k[(k[z>>2]|0)+20>>2];while(1){if(!((k[y>>2]|0)>>>0<(k[A>>2]|0)>>>0?(k[B>>2]|0)==0:0))break;a:do if((m[(k[y>>2]|0)+12>>1]&512|0)!=0?(a=(k[(k[y>>2]|0)+28>>2]|0)+408|0,f=(k[u>>2]|0)+8|0,(k[a>>2]&k[f>>2]|0)!=0?1:(k[a+4>>2]&k[f+4>>2]|0)!=0):0){k[w>>2]=k[(k[y>>2]|0)+28>>2];k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[s>>2]=1;f=k[g>>2]|0;k[E>>2]=k[f>>2];k[E+4>>2]=k[f+4>>2];k[E+8>>2]=k[f+8>>2];k[E+12>>2]=k[f+12>>2];k[E+16>>2]=k[f+16>>2];k[E+8>>2]=0;k[E+16>>2]=C;k[v>>2]=k[(k[w>>2]|0)+20>>2];b:while(1){if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break;b=k[v>>2]|0;if(!(m[(k[v>>2]|0)+12>>1]&1024)){if((k[b+20>>2]|0)==(k[p>>2]|0)){k[G>>2]=k[k[z>>2]>>2];k[G+4>>2]=k[z>>2];i[G+8>>0]=28;k[G+12>>2]=1;k[G+20>>2]=k[v>>2];k[E+4>>2]=G;H=11}}else{k[E+4>>2]=k[b+28>>2];H=11}c:do if((H|0)==11){H=0;j[C>>1]=0;c=h;b=k[c>>2]|0;c=k[c+4>>2]|0;if(l[(k[(k[t>>2]|0)+16>>2]|0)+42>>0]&16){f=n;f=BE(E,b,c,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}else{f=CE(E,b,c)|0;k[B>>2]=f}if(!(k[B>>2]|0)){a=h;f=n;f=DE(E,k[a>>2]|0,k[a+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}if(!(m[C>>1]|0)){H=17;break b}if(k[s>>2]|0){EE(F,C);k[s>>2]=0;break}EE(D,F);j[F>>1]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[D>>1]|0))break c;k[q>>2]=0;while(1){b=k[o>>2]|0;if((k[q>>2]|0)>=(m[C>>1]|0))break;f=D+8+(b<<4)|0;a=C+8+(k[q>>2]<<4)|0;e=k[f>>2]|k[a>>2];a=k[f+4>>2]|k[a+4>>2];f=xE(j[D+8+(k[o>>2]<<4)+8>>1]|0,j[C+8+(k[q>>2]<<4)+8>>1]|0)|0;FE(F,e,a,f,xE(j[D+8+(k[o>>2]<<4)+10>>1]|0,j[C+8+(k[q>>2]<<4)+10>>1]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+1}k[o>>2]=b+1}}while(0);k[v>>2]=(k[v>>2]|0)+48}if((H|0)==17){H=0;j[F>>1]=0}j[(k[u>>2]|0)+40>>1]=1;k[k[(k[u>>2]|0)+48>>2]>>2]=k[y>>2];k[(k[u>>2]|0)+36>>2]=8192;j[(k[u>>2]|0)+18>>1]=0;i[(k[u>>2]|0)+17>>0]=0;f=(k[u>>2]|0)+24|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[o>>2]=0;while(1){if(k[B>>2]|0)break a;if((k[o>>2]|0)>=(m[F>>1]|0))break a;j[(k[u>>2]|0)+20>>1]=(j[F+8+(k[o>>2]<<4)+8>>1]|0)+1;j[(k[u>>2]|0)+22>>1]=j[F+8+(k[o>>2]<<4)+10>>1]|0;e=F+8+(k[o>>2]<<4)|0;a=k[e+4>>2]|0;f=k[u>>2]|0;k[f>>2]=k[e>>2];k[f+4>>2]=a;f=GE(k[g>>2]|0,k[u>>2]|0)|0;k[B>>2]=f;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[y>>2]=(k[y>>2]|0)+48}r=I;return k[B>>2]|0}function EE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;j[k[d>>2]>>1]=j[k[e>>2]>>1]|0;bS((k[d>>2]|0)+8|0,(k[e>>2]|0)+8|0,(m[k[d>>2]>>1]|0)<<4|0)|0;r=c;return}function FE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+16|0;h=q+12|0;i=q;l=q+24|0;n=q+22|0;o=q+20|0;p=q+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;j[l>>1]=d;j[n>>1]=e;j[o>>1]=j[k[h>>2]>>1]|0;k[p>>2]=(k[h>>2]|0)+8;while(1){if((m[o>>1]|0)<=0){f=9;break}if((j[l>>1]|0)<=(j[(k[p>>2]|0)+8>>1]|0)?(e=i,a=k[p>>2]|0,d=i,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0)break;if((j[(k[p>>2]|0)+8>>1]|0)<=(j[l>>1]|0)?(e=k[p>>2]|0,a=i,d=k[p>>2]|0,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0){f=7;break}j[o>>1]=(j[o>>1]|0)+-1<<16>>16;k[p>>2]=(k[p>>2]|0)+16}if((f|0)==7){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}do if((f|0)==9){b=k[h>>2]|0;if((m[k[h>>2]>>1]|0)<3){o=j[b>>1]|0;j[b>>1]=o+1<<16>>16;k[p>>2]=(k[h>>2]|0)+8+((o&65535)<<4);j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;break}k[p>>2]=b+8;j[o>>1]=1;while(1){b=j[(k[p>>2]|0)+8>>1]|0;if((m[o>>1]|0)>=(m[k[h>>2]>>1]|0))break;if((b|0)>(j[(k[h>>2]|0)+8+(m[o>>1]<<4)+8>>1]|0))k[p>>2]=(k[h>>2]|0)+8+(m[o>>1]<<4);j[o>>1]=(j[o>>1]|0)+1<<16>>16}if((b|0)<=(j[l>>1]|0)){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}}while(0);h=i;i=k[h+4>>2]|0;o=k[p>>2]|0;k[o>>2]=k[h>>2];k[o+4>>2]=i;j[(k[p>>2]|0)+8>>1]=j[l>>1]|0;if((j[(k[p>>2]|0)+10>>1]|0)>(j[n>>1]|0))j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;k[g>>2]=1;p=k[g>>2]|0;r=q;return p|0}function GE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+40|0;d=p+36|0;e=p+32|0;m=p+28|0;g=p+24|0;l=p+20|0;f=p+16|0;o=p+12|0;n=p+8|0;i=p+4|0;h=p;k[d>>2]=a;k[e>>2]=b;k[l>>2]=k[k[d>>2]>>2];k[f>>2]=k[k[k[l>>2]>>2]>>2];if(k[(k[d>>2]|0)+16>>2]|0){if(j[(k[e>>2]|0)+40>>1]|0){o=k[e>>2]|0;FE(k[(k[d>>2]|0)+16>>2]|0,k[o>>2]|0,k[o+4>>2]|0,j[(k[e>>2]|0)+20>>1]|0,j[(k[e>>2]|0)+22>>1]|0)|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}HE(k[(k[l>>2]|0)+56>>2]|0,k[e>>2]|0);l=IE((k[l>>2]|0)+56|0,k[e>>2]|0)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}k[g>>2]=k[k[m>>2]>>2];a:do if(!(k[g>>2]|0)){n=dx(k[f>>2]|0,72,0)|0;k[g>>2]=n;k[k[m>>2]>>2]=n;if(k[g>>2]|0){ID(k[g>>2]|0);k[(k[g>>2]|0)+52>>2]=0;break}k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}else{k[n>>2]=(k[g>>2]|0)+52;while(1){if(!(k[k[n>>2]>>2]|0))break a;m=IE(k[n>>2]|0,k[e>>2]|0)|0;k[n>>2]=m;if(!(k[n>>2]|0))break a;k[i>>2]=k[k[n>>2]>>2];if(!(k[i>>2]|0))break a;k[k[n>>2]>>2]=k[(k[i>>2]|0)+52>>2];FD(k[f>>2]|0,k[i>>2]|0)}}while(0);n=JE(k[f>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[o>>2]=n;if(((k[(k[g>>2]|0)+36>>2]&1024|0)==0?(k[h>>2]=k[(k[g>>2]|0)+24+8>>2],(k[h>>2]|0)!=0):0)?(k[(k[h>>2]|0)+44>>2]|0)==0:0)k[(k[g>>2]|0)+24+8>>2]=0;k[c>>2]=k[o>>2];o=k[c>>2]|0;r=p;return o|0}function HE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[d>>2]|0)+36>>2]&512|0)!=0:0)){r=e;return}do{do if((l[(k[c>>2]|0)+16>>0]|0)==(l[(k[d>>2]|0)+16>>0]|0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0){if(KE(k[c>>2]|0,k[d>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)-1;break}if(KE(k[d>>2]|0,k[c>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)+1}}while(0);k[c>>2]=k[(k[c>>2]|0)+52>>2]}while((k[c>>2]|0)!=0);r=e;return}function IE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0)){c=19;break}if((l[(k[d>>2]|0)+16>>0]|0)==(l[(k[c>>2]|0)+16>>0]|0)?(l[(k[d>>2]|0)+17>>0]|0)==(l[(k[c>>2]|0)+17>>0]|0):0){if(((((k[(k[d>>2]|0)+36>>2]&16384|0)!=0?(m[(k[c>>2]|0)+42>>1]|0)==0:0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0)?(k[(k[c>>2]|0)+36>>2]&1|0)!=0:0)?(h=k[d>>2]|0,b=k[c>>2]|0,a=k[c>>2]|0,(k[h>>2]&k[b>>2]|0)==(k[a>>2]|0)?(k[h+4>>2]&k[b+4>>2]|0)==(k[a+4>>2]|0):0):0){c=19;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[d>>2]|0;if(((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+18>>1]|0)<=(j[(k[c>>2]|0)+18>>1]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)<=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)<=(j[(k[c>>2]|0)+22>>1]|0):0){c=14;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[c>>2]|0;if((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)>=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)>=(j[(k[c>>2]|0)+22>>1]|0):0){c=19;break}}k[f>>2]=(k[d>>2]|0)+52;k[d>>2]=k[k[f>>2]>>2]}if((c|0)==14){k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}else if((c|0)==19){k[e>>2]=k[f>>2];h=k[e>>2]|0;r=g;return h|0}return 0}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=c;HD(k[h>>2]|0,k[d>>2]|0);b=(tE(k[h>>2]|0,k[d>>2]|0,m[(k[f>>2]|0)+40>>1]|0)|0)!=0;a=k[d>>2]|0;if(b){h=a+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e>>2]=7;h=k[e>>2]|0;r=g;return h|0}c=k[f>>2]|0;b=a+44|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(b|0));bS(k[(k[d>>2]|0)+48>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[d>>2]|0)+40>>1]|0)<<2|0)|0;a=k[f>>2]|0;if(!(k[(k[f>>2]|0)+36>>2]&1024)){if(k[a+36>>2]&16384)k[(k[f>>2]|0)+24+8>>2]=0}else i[a+24+4>>0]=0;k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}function KE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(((m[(k[c>>2]|0)+40>>1]|0)-(m[(k[c>>2]|0)+42>>1]|0)|0)>=((m[(k[d>>2]|0)+40>>1]|0)-(m[(k[d>>2]|0)+42>>1]|0)|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((m[(k[d>>2]|0)+42>>1]|0)>(m[(k[c>>2]|0)+42>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+20>>1]|0)>=(j[(k[d>>2]|0)+20>>1]|0)){if((j[(k[c>>2]|0)+20>>1]|0)>(j[(k[d>>2]|0)+20>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+22>>1]|0)>(j[(k[d>>2]|0)+22>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}}k[e>>2]=(m[(k[c>>2]|0)+40>>1]|0)-1;while(1){if((k[e>>2]|0)<0){c=20;break}if(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0){k[f>>2]=(m[(k[d>>2]|0)+40>>1]|0)-1;while(1){if((k[f>>2]|0)<0)break;if((k[(k[(k[d>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0))break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){c=18;break}}k[e>>2]=(k[e>>2]|0)+-1}if((c|0)==18){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==20){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}return 0}function LE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;while(1){if((l[k[g>>2]>>0]|0)!=28)break;if(!(LE(k[e>>2]|0,k[f>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0)){n=4;break}k[g>>2]=k[(k[g>>2]|0)+16>>2]}if((n|0)==4){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[h>>2]=0;k[m>>2]=k[(k[f>>2]|0)+20>>2];while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+12>>2]|0)){n=13;break}k[i>>2]=k[k[m>>2]>>2];if(WE(k[i>>2]|0,k[g>>2]|0,k[e>>2]|0)|0){if(!(k[(k[i>>2]|0)+4>>2]&1)){n=11;break}if((j[(k[i>>2]|0)+36>>1]|0)==(k[e>>2]|0)){n=11;break}}k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+48}if((n|0)==11){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}else if((n|0)==13){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}return 0}function ME(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+32|0;e=s+28|0;f=s+24|0;g=s+20|0;p=s+16|0;h=s+12|0;i=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[f>>2]|0)+55>>0]|0)>>>2&1){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}b=k[(k[k[e>>2]>>2]|0)+8>>2]|0;k[p>>2]=b;if(!b){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}k[i>>2]=0;a:while(1){if((k[i>>2]|0)>=(k[k[p>>2]>>2]|0)){q=24;break}b=uy(k[(k[(k[p>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=b;b:do if((l[k[o>>2]>>0]|0)==152?(k[(k[o>>2]|0)+28>>2]|0)==(k[g>>2]|0):0){if((j[(k[o>>2]|0)+32>>1]|0)<0){q=10;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break b;if((j[(k[o>>2]|0)+32>>1]|0)==(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)){q=14;break a}k[n>>2]=(k[n>>2]|0)+1}}else q=16;while(0);c:do if((q|0)==16?(q=0,b=k[(k[f>>2]|0)+40>>2]|0,k[h>>2]=b,(b|0)!=0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break c;if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(Uy(k[o>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[g>>2]|0)|0)==0:0){q=21;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[i>>2]=(k[i>>2]|0)+1}if((q|0)==10){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==14){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==21){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==24){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}return 0}function NE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+42|0;p=s+28|0;q=s+24|0;n=s;g=s+20|0;i=s+16|0;l=s+12|0;h=s+40|0;o=s+8|0;k[d>>2]=a;k[e>>2]=b;j[f>>1]=c;t=k[e>>2]|0;c=(k[e>>2]|0)+8|0;b=~(k[t+4>>2]|k[c+4>>2]);a=n;k[a>>2]=~(k[t>>2]|k[c>>2]);k[a+4>>2]=b;j[h>>1]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];k[p>>2]=k[(k[d>>2]|0)+20>>2];while(1){if((k[g>>2]|0)<=0)break;if(m[(k[p>>2]|0)+10>>1]&2)break;a=(k[p>>2]|0)+40|0;t=(k[e>>2]|0)+8|0;do if(!((k[a>>2]&k[t>>2]|0)==0?(k[a+4>>2]&k[t+4>>2]|0)==0:0)?(a=(k[p>>2]|0)+40|0,t=n,!((k[a>>2]&k[t>>2]|0)!=0?1:(k[a+4>>2]&k[t+4>>2]|0)!=0)):0){k[i>>2]=(m[(k[e>>2]|0)+40>>1]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[q>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[i>>2]<<2)>>2];if(k[q>>2]|0){if((k[q>>2]|0)==(k[p>>2]|0))break;if((k[(k[q>>2]|0)+16>>2]|0)>=0?((k[(k[d>>2]|0)+20>>2]|0)+((k[(k[q>>2]|0)+16>>2]|0)*48|0)|0)==(k[p>>2]|0):0)break}k[i>>2]=(k[i>>2]|0)+-1}if((k[i>>2]|0)<0){if((j[(k[p>>2]|0)+8>>1]|0)<=0){t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+(j[(k[p>>2]|0)+8>>1]|0);break}t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16;if(m[(k[p>>2]|0)+12>>1]&130){k[o>>2]=k[(k[k[p>>2]>>2]|0)+16>>2];t=(Py(k[o>>2]|0,l)|0)!=0;if(t&(k[l>>2]|0)>=-1&(k[l>>2]|0)<=1)k[l>>2]=10;else k[l>>2]=20;if((j[h>>1]|0)<(k[l>>2]|0))j[h>>1]=k[l>>2]}}}while(0);k[g>>2]=(k[g>>2]|0)+-1;k[p>>2]=(k[p>>2]|0)+48}if((j[(k[e>>2]|0)+22>>1]|0)<=((j[f>>1]|0)-(j[h>>1]|0)|0)){r=s;return}j[(k[e>>2]|0)+22>>1]=(j[f>>1]|0)-(j[h>>1]|0);r=s;return}function OE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;b=f+16|0;d=f;c=f+12|0;e=f+8|0;k[b>>2]=a;a=d;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(m[(k[b>>2]|0)+52>>1]|0)-1;while(1){if((k[c>>2]|0)<0)break;k[e>>2]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1];if((k[e>>2]|0)>=0&(k[e>>2]|0)<63){h=eS(1,0,k[e>>2]|0)|0;i=d;g=k[i+4>>2]|L;a=d;k[a>>2]=k[i>>2]|h;k[a+4>>2]=g}k[c>>2]=(k[c>>2]|0)+-1}i=d;L=k[i+4>>2]|0;r=f;return k[i>>2]|0}function PE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=r;r=r+48|0;f=e+44|0;j=e+40|0;h=e+36|0;d=e+8|0;g=e;k[f>>2]=a;k[j>>2]=b;k[h>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[g+4>>2]=k[j>>2];k[g>>2]=k[h>>2];k[d+4>>2]=199;k[d+24>>2]=g;Gy(d,k[f>>2]|0)|0;r=e;return ((i[d+20>>0]|0)!=0^1)&1|0}function QE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=r;r=r+224|0;f=R+180|0;g=R+176|0;h=R+172|0;n=R+168|0;o=R+208|0;S=R+164|0;B=R+160|0;p=R+156|0;A=R+152|0;C=R+148|0;e=R+144|0;Q=R+48|0;O=R;K=R+206|0;J=R+204|0;I=R+202|0;N=R+200|0;M=R+198|0;P=R+40|0;L=R+196|0;H=R+36|0;G=R+194|0;F=R+192|0;D=R+32|0;y=R+28|0;q=R+190|0;E=R+188|0;x=R+186|0;v=R+24|0;z=R+20|0;s=R+16|0;t=R+12|0;u=R+8|0;w=R+184|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;j[o>>1]=d;k[S>>2]=k[k[g>>2]>>2];k[B>>2]=k[k[S>>2]>>2];k[p>>2]=k[k[B>>2]>>2];k[H>>2]=0;k[D>>2]=0;k[y>>2]=0;k[A>>2]=k[(k[g>>2]|0)+12>>2];if(i[(k[p>>2]|0)+69>>0]|0){k[f>>2]=7;S=k[f>>2]|0;r=R;return S|0}if(k[(k[A>>2]|0)+36>>2]&32)k[e>>2]=24;else k[e>>2]=447;if((l[(k[n>>2]|0)+55>>0]|0)>>>2&1)k[e>>2]=k[e>>2]&-61;j[J>>1]=j[(k[A>>2]|0)+24>>1]|0;j[I>>1]=j[(k[A>>2]|0)+24+2>>1]|0;j[N>>1]=j[(k[A>>2]|0)+24+4>>1]|0;j[M>>1]=j[(k[A>>2]|0)+42>>1]|0;j[K>>1]=j[(k[A>>2]|0)+40>>1]|0;k[P>>2]=k[(k[A>>2]|0)+36>>2];c=k[A>>2]|0;b=k[c+4>>2]|0;S=O;k[S>>2]=k[c>>2];k[S+4>>2]=b;j[L>>1]=j[(k[A>>2]|0)+22>>1]|0;S=iE(Q,k[(k[g>>2]|0)+4>>2]|0,k[(k[h>>2]|0)+44>>2]|0,m[J>>1]|0,k[e>>2]|0,k[n>>2]|0)|0;k[C>>2]=S;j[(k[A>>2]|0)+18>>1]=0;j[G>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0;S=AE(j[G>>1]|0)|0;j[F>>1]=S;a:while(1){if(!((k[H>>2]|0)==0?(k[C>>2]|0)!=0:0))break;j[q>>1]=j[(k[C>>2]|0)+12>>1]|0;k[v>>2]=0;if((m[q>>1]|0)!=256?(m[(k[C>>2]|0)+10>>1]&0|0)==0:0)d=13;else d=12;if((d|0)==12?(d=0,(RE(k[n>>2]|0,m[J>>1]|0)|0)==0):0)d=13;do if((d|0)==13?(0,b=(k[C>>2]|0)+32|0,S=(k[A>>2]|0)+8|0,!((k[b>>2]&k[S>>2]|0)!=0?1:(k[b+4>>2]&k[S+4>>2]|0)!=0)):0){if((m[(k[C>>2]|0)+10>>1]&256|0)!=0?(m[(k[C>>2]|0)+12>>1]|0)==16:0)break;if(((l[(k[h>>2]|0)+36>>0]&8|0)!=0?(k[(k[k[C>>2]>>2]|0)+4>>2]&1|0)==0:0)?(m[q>>1]&384|0)!=0:0)break;k[(k[A>>2]|0)+36>>2]=k[P>>2];j[(k[A>>2]|0)+24>>1]=j[J>>1]|0;j[(k[A>>2]|0)+24+2>>1]=j[I>>1]|0;j[(k[A>>2]|0)+24+4>>1]=j[N>>1]|0;j[(k[A>>2]|0)+40>>1]=j[K>>1]|0;if(tE(k[p>>2]|0,k[A>>2]|0,(m[(k[A>>2]|0)+40>>1]|0)+1|0)|0)break a;a=k[C>>2]|0;c=(k[A>>2]|0)+40|0;e=j[c>>1]|0;j[c>>1]=e+1<<16>>16;k[(k[(k[A>>2]|0)+48>>2]|0)+((e&65535)<<2)>>2]=a;e=O;a=(k[C>>2]|0)+32|0;c=(k[A>>2]|0)+8|0;b=(k[e+4>>2]|k[a+4>>2])&~k[c+4>>2];S=k[A>>2]|0;k[S>>2]=(k[e>>2]|k[a>>2])&~k[c>>2];k[S+4>>2]=b;b:do if(!(m[q>>1]&1)){if(m[q>>1]&130){k[t>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(m[J>>1]<<1)>>1];S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|1;if((k[t>>2]|0)!=-1){if((k[t>>2]|0)<=0)break;if(j[o>>1]|0)break;if((m[J>>1]|0)!=((m[(k[n>>2]|0)+50>>1]|0)-1|0))break}if((k[t>>2]|0)>=0?((l[(k[n>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|65536;break}S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|4096;break}if(m[q>>1]&256){S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|8;break}d=(k[A>>2]|0)+36|0;e=k[d>>2]|0;if(m[q>>1]&36){k[d>>2]=e|34;S=(SE(k[B>>2]|0,k[(k[h>>2]|0)+44>>2]|0,k[n>>2]|0,m[J>>1]|0,k[C>>2]|0)|0)&65535;j[(k[A>>2]|0)+24+2>>1]=S;k[y>>2]=k[C>>2];k[D>>2]=0;if(!(m[(k[C>>2]|0)+10>>1]&256))break;k[D>>2]=(k[C>>2]|0)+48;if(tE(k[p>>2]|0,k[A>>2]|0,(m[(k[A>>2]|0)+40>>1]|0)+1|0)|0)break a;b=k[D>>2]|0;c=(k[A>>2]|0)+40|0;S=j[c>>1]|0;j[c>>1]=S+1<<16>>16;k[(k[(k[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=b;S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|16;j[(k[A>>2]|0)+24+4>>1]=1;break}else{k[d>>2]=e|18;S=(SE(k[B>>2]|0,k[(k[h>>2]|0)+44>>2]|0,k[n>>2]|0,m[J>>1]|0,k[C>>2]|0)|0)&65535;j[(k[A>>2]|0)+24+4>>1]=S;k[D>>2]=k[C>>2];if(k[(k[A>>2]|0)+36>>2]&32)d=k[(k[(k[A>>2]|0)+48>>2]|0)+((m[(k[A>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else d=0;k[y>>2]=d;break}}else{k[z>>2]=k[k[C>>2]>>2];S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|4;if(!(k[(k[z>>2]|0)+4>>2]&2048)){if(!(k[(k[z>>2]|0)+20>>2]|0))break;if(!(k[k[(k[z>>2]|0)+20>>2]>>2]|0))break;S=k[k[(k[z>>2]|0)+20>>2]>>2]|0;S=(Wj(S,((S|0)<0)<<31>>31)|0)<<16>>16;k[v>>2]=S;break}k[v>>2]=46;k[s>>2]=0;while(1){if((k[s>>2]|0)>=((m[(k[A>>2]|0)+40>>1]|0)-1|0))break b;if((k[(k[(k[A>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]|0)!=0?(k[k[(k[(k[A>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]>>2]|0)==(k[z>>2]|0):0)k[v>>2]=0;k[s>>2]=(k[s>>2]|0)+1}}while(0);do if(!(k[(k[A>>2]|0)+36>>2]&2)){b=(k[A>>2]|0)+24|0;S=(j[b>>1]|0)+1<<16>>16;j[b>>1]=S;k[u>>2]=S&65535;if((j[(k[C>>2]|0)+8>>1]|0)<=0?(j[(k[(k[n>>2]|0)+4>>2]|0)+(m[J>>1]<<1)>>1]|0)>=0:0){S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+(j[(k[C>>2]|0)+8>>1]|0);S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)-(k[v>>2]|0);break}S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+((j[(k[(k[n>>2]|0)+8>>2]|0)+(k[u>>2]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((k[u>>2]|0)-1<<1)>>1]|0));if(m[q>>1]&256){S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+10}}else TE(k[B>>2]|0,k[g>>2]|0,k[y>>2]|0,k[D>>2]|0,k[A>>2]|0)|0;while(0);j[E>>1]=(j[(k[A>>2]|0)+22>>1]|0)+1+(((j[(k[n>>2]|0)+48>>1]|0)*15|0)/(j[(k[(k[h>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=xE(j[F>>1]|0,j[E>>1]|0)|0;j[(k[A>>2]|0)+20>>1]=S;if(!(k[(k[A>>2]|0)+36>>2]&320)){S=xE(j[(k[A>>2]|0)+20>>1]|0,(j[(k[A>>2]|0)+22>>1]|0)+16&65535)|0;j[(k[A>>2]|0)+20>>1]=S}j[x>>1]=j[(k[A>>2]|0)+22>>1]|0;S=(k[A>>2]|0)+20|0;j[S>>1]=(j[S>>1]|0)+((j[o>>1]|0)+(k[v>>2]|0));S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)+((j[o>>1]|0)+(k[v>>2]|0));NE(k[(k[g>>2]|0)+4>>2]|0,k[A>>2]|0,j[G>>1]|0);S=GE(k[g>>2]|0,k[A>>2]|0)|0;k[H>>2]=S;if(k[(k[A>>2]|0)+36>>2]&2)j[(k[A>>2]|0)+22>>1]=j[L>>1]|0;else j[(k[A>>2]|0)+22>>1]=j[x>>1]|0;if((k[(k[A>>2]|0)+36>>2]&16|0)==0?(m[(k[A>>2]|0)+24>>1]|0)<(m[(k[n>>2]|0)+52>>1]|0):0)QE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[o>>1]|0)+(k[v>>2]|0)&65535)|0;j[(k[A>>2]|0)+22>>1]=j[L>>1]|0}while(0);S=jE(Q)|0;k[C>>2]=S}Q=k[O+4>>2]|0;S=k[A>>2]|0;k[S>>2]=k[O>>2];k[S+4>>2]=Q;j[(k[A>>2]|0)+24>>1]=j[J>>1]|0;j[(k[A>>2]|0)+24+2>>1]=j[I>>1]|0;j[(k[A>>2]|0)+24+4>>1]=j[N>>1]|0;j[(k[A>>2]|0)+42>>1]=j[M>>1]|0;k[(k[A>>2]|0)+36>>2]=k[P>>2];j[(k[A>>2]|0)+22>>1]=j[L>>1]|0;j[(k[A>>2]|0)+40>>1]=j[K>>1]|0;if(((((m[J>>1]|0)==(m[M>>1]|0)?((m[J>>1]|0)+1|0)<(m[(k[n>>2]|0)+50>>1]|0):0)?((l[(k[n>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[J>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=tE(k[p>>2]|0,k[A>>2]|0,(m[(k[A>>2]|0)+40>>1]|0)+1|0)|0,k[H>>2]=S,(S|0)==0):0){Q=(k[A>>2]|0)+24|0;j[Q>>1]=(j[Q>>1]|0)+1<<16>>16;Q=(k[A>>2]|0)+42|0;j[Q>>1]=(j[Q>>1]|0)+1<<16>>16;Q=(k[A>>2]|0)+40|0;S=j[Q>>1]|0;j[Q>>1]=S+1<<16>>16;k[(k[(k[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=0;S=(k[A>>2]|0)+36|0;k[S>>2]=k[S>>2]|32768;j[w>>1]=(j[(k[(k[n>>2]|0)+8>>2]|0)+(m[J>>1]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[J>>1]|0)+1<<1)>>1]|0);S=(k[A>>2]|0)+22|0;j[S>>1]=(j[S>>1]|0)-(j[w>>1]|0);j[w>>1]=(j[w>>1]|0)+5;QE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[w>>1]|0)+(j[o>>1]|0)&65535)|0;j[(k[A>>2]|0)+22>>1]=j[L>>1]|0;j[(k[A>>2]|0)+24>>1]=j[J>>1]|0;j[(k[A>>2]|0)+42>>1]=j[M>>1]|0;k[(k[A>>2]|0)+36>>2]=k[P>>2]}k[f>>2]=k[H>>2];S=k[f>>2]|0;r=R;return S|0}function RE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;d=e+8|0;g=e+4|0;f=e;k[d>>2]=a;k[g>>2]=b;k[f>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1];b=k[f>>2]|0;if((k[f>>2]|0)>=0){k[c>>2]=l[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(b<<4)+12>>0];g=k[c>>2]|0;r=e;return g|0}if((b|0)==-1){k[c>>2]=1;g=k[c>>2]|0;r=e;return g|0}else{k[c>>2]=0;g=k[c>>2]|0;r=e;return g|0}return 0}function SE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;f=x+36|0;g=x+32|0;h=x+28|0;n=x+24|0;o=x+20|0;s=x+16|0;w=x+12|0;p=x+41|0;q=x+40|0;t=x+8|0;u=x+4|0;v=x;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[o>>2]=e;e=mz(k[(k[k[o>>2]>>2]|0)+12>>2]|0)|0;k[s>>2]=e;if((k[s>>2]|0)<((m[(k[h>>2]|0)+52>>1]|0)-(k[n>>2]|0)|0))b=k[s>>2]|0;else b=(m[(k[h>>2]|0)+52>>1]|0)-(k[n>>2]|0)|0;k[s>>2]=b;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[s>>2]|0)){b=17;break}i[q>>0]=0;k[u>>2]=k[(k[(k[(k[(k[k[o>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)>>2];k[v>>2]=k[(k[k[o>>2]>>2]|0)+16>>2];b=k[w>>2]|0;d=(k[v>>2]|0)+20|0;if(k[(k[v>>2]|0)+4>>2]&2048)k[v>>2]=k[(k[(k[k[d>>2]>>2]|0)+4>>2]|0)+(b*20|0)>>2];else k[v>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+(b*20|0)>>2];if((l[k[u>>2]>>0]|0)!=152){b=17;break}if((k[(k[u>>2]|0)+28>>2]|0)!=(k[g>>2]|0)){b=17;break}if((j[(k[u>>2]|0)+32>>1]|0)!=(j[(k[(k[h>>2]|0)+4>>2]|0)+((k[w>>2]|0)+(k[n>>2]|0)<<1)>>1]|0)){b=17;break}if((l[(k[(k[h>>2]|0)+28>>2]|0)+((k[w>>2]|0)+(k[n>>2]|0))>>0]|0)!=(l[(k[(k[h>>2]|0)+28>>2]|0)+(k[n>>2]|0)>>0]|0)){b=17;break}e=k[v>>2]|0;e=BB(e,oy(k[u>>2]|0)|0)|0;i[p>>0]=e;e=vy(k[(k[h>>2]|0)+12>>2]|0,j[(k[u>>2]|0)+32>>1]|0)|0;i[q>>0]=e;if((i[p>>0]|0)!=(i[q>>0]|0)){b=17;break}e=CB(k[f>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){b=17;break}if(sg(k[k[t>>2]>>2]|0,k[(k[(k[h>>2]|0)+32>>2]|0)+((k[w>>2]|0)+(k[n>>2]|0)<<2)>>2]|0)|0){b=17;break}k[w>>2]=(k[w>>2]|0)+1}if((b|0)==17){r=x;return k[w>>2]|0}return 0}function TE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;l=n;i=n+28|0;k[n+24>>2]=a;k[n+20>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[m>>2]=0;k[l>>2]=j[(k[h>>2]|0)+22>>1];d=UE(k[f>>2]|0,k[l>>2]&65535)|0;j[i>>1]=d;d=UE(k[g>>2]|0,j[i>>1]|0)|0;j[i>>1]=d;if(((k[f>>2]|0)!=0?((k[g>>2]|0)!=0?(j[(k[f>>2]|0)+8>>1]|0)>0:0):0)?(j[(k[g>>2]|0)+8>>1]|0)>0:0)j[i>>1]=(j[i>>1]|0)-20;k[l>>2]=(k[l>>2]|0)-(((k[f>>2]|0)!=0&1)+((k[g>>2]|0)!=0&1));if((j[i>>1]|0)<10)j[i>>1]=10;if((j[i>>1]|0)>=(k[l>>2]|0)){a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=j[i>>1];a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}function UE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;f=e+6|0;d=e+4|0;k[c>>2]=a;j[f>>1]=b;j[d>>1]=j[f>>1]|0;do if(k[c>>2]|0){b=k[c>>2]|0;if((j[(k[c>>2]|0)+8>>1]|0)<=0){j[d>>1]=(j[d>>1]|0)+(j[b+8>>1]|0);break}if(!(m[b+10>>1]&0))j[d>>1]=(j[d>>1]|0)-20}while(0);r=e;return j[d>>1]|0}function VE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(((l[k[e>>2]>>0]|0|0)==152?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[(k[d>>2]|0)+24>>2]|0)+4>>2]|0):0)?((YA(k[k[(k[d>>2]|0)+24>>2]>>2]|0,j[(k[e>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){i[(k[d>>2]|0)+20>>0]=1;k[c>>2]=2;a=k[c>>2]|0;r=f;return a|0}k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}function WE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(Uy(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}do if((l[k[f>>2]>>0]|0|0)==27){if((WE(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0?(WE(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0)==0:0)break;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}while(0);if((((l[k[f>>2]>>0]|0|0)==35?(Uy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0:0)?(l[k[e>>2]>>0]|0|0)!=34:0)?(l[k[e>>2]>>0]|0|0)!=29:0){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}function XE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+96|0;I=J+8|0;h=J+80|0;n=J+76|0;o=J+72|0;p=J;q=J+68|0;s=J+64|0;t=J+60|0;u=J+56|0;v=J+52|0;z=J+48|0;D=J+44|0;F=J+40|0;H=J+36|0;G=J+32|0;y=J+28|0;E=J+24|0;w=J+84|0;x=J+20|0;B=J+16|0;A=J+86|0;C=J+12|0;k[n>>2]=a;k[o>>2]=b;b=p;k[b>>2]=c;k[b+4>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;j[w>>1]=0;k[z>>2]=0;k[u>>2]=0;k[G>>2]=k[(k[o>>2]|0)+20>>2];while(1){if((k[u>>2]|0)>=(k[(k[o>>2]|0)+12>>2]|0))break;if((((k[(k[G>>2]|0)+20>>2]|0)==(k[(k[q>>2]|0)+44>>2]|0)?(b=(k[G>>2]|0)+32|0,g=p,!((k[b>>2]&k[g>>2]|0)!=0?1:(k[b+4>>2]&k[g+4>>2]|0)!=0)):0)?(m[(k[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(m[(k[G>>2]|0)+10>>1]&0|0)==0:0)k[z>>2]=(k[z>>2]|0)+1;k[u>>2]=(k[u>>2]|0)+1;k[G>>2]=(k[G>>2]|0)+48}k[y>>2]=0;if(k[s>>2]|0){k[x>>2]=k[k[s>>2]>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break;k[B>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2];if((l[k[B>>2]>>0]|0)!=152)break;if((k[(k[B>>2]|0)+28>>2]|0)!=(k[(k[q>>2]|0)+44>>2]|0))break;k[u>>2]=(k[u>>2]|0)+1}if((k[u>>2]|0)==(k[x>>2]|0))k[y>>2]=k[x>>2]}g=Ch(k[k[n>>2]>>2]|0,72+((k[z>>2]|0)*20|0)+(k[y>>2]<<3)|0,0)|0;k[E>>2]=g;if(!(k[E>>2]|0)){Oh(k[n>>2]|0,25016,I);k[h>>2]=0;I=k[h>>2]|0;r=J;return I|0}k[D>>2]=(k[E>>2]|0)+72;k[F>>2]=(k[D>>2]|0)+((k[z>>2]|0)*12|0);k[H>>2]=(k[F>>2]|0)+(k[y>>2]<<3);k[k[E>>2]>>2]=k[z>>2];k[(k[E>>2]|0)+8>>2]=k[y>>2];k[(k[E>>2]|0)+4>>2]=k[D>>2];k[(k[E>>2]|0)+12>>2]=k[F>>2];k[(k[E>>2]|0)+16>>2]=k[H>>2];k[v>>2]=0;k[u>>2]=0;k[G>>2]=k[(k[o>>2]|0)+20>>2];while(1){if((k[u>>2]|0)>=(k[(k[o>>2]|0)+12>>2]|0))break;if((((k[(k[G>>2]|0)+20>>2]|0)==(k[(k[q>>2]|0)+44>>2]|0)?(g=(k[G>>2]|0)+32|0,I=p,!((k[g>>2]&k[I>>2]|0)!=0?1:(k[g+4>>2]&k[I+4>>2]|0)!=0)):0)?(m[(k[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(m[(k[G>>2]|0)+10>>1]&0|0)==0:0){k[(k[D>>2]|0)+((k[v>>2]|0)*12|0)>>2]=k[(k[G>>2]|0)+28>>2];k[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+8>>2]=k[u>>2];I=j[(k[G>>2]|0)+12>>1]&255;i[A>>0]=I;i[A>>0]=(l[A>>0]|0)==1?2:I;if((l[A>>0]|0)==64)i[A>>0]=i[(k[G>>2]|0)+15>>0]|0;i[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+4>>0]=i[A>>0]|0;if((l[A>>0]&60|0)!=0?(fB(k[(k[k[G>>2]>>2]|0)+16>>2]|0)|0)!=0:0){if((k[u>>2]|0)<16)j[w>>1]=m[w>>1]|1<>2];if((l[A>>0]|0)==16)i[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+4>>0]=8;if((l[A>>0]|0)==4)i[(k[D>>2]|0)+((k[v>>2]|0)*12|0)+4>>0]=32}k[v>>2]=(k[v>>2]|0)+1}k[u>>2]=(k[u>>2]|0)+1;k[G>>2]=(k[G>>2]|0)+48}k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;k[C>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2];k[(k[F>>2]|0)+(k[u>>2]<<3)>>2]=j[(k[C>>2]|0)+32>>1];i[(k[F>>2]|0)+(k[u>>2]<<3)+4>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+12>>0]|0;k[u>>2]=(k[u>>2]|0)+1}j[k[t>>2]>>1]=j[w>>1]|0;k[h>>2]=k[E>>2];I=k[h>>2]|0;r=J;return I|0}function YE(a,b,c,d,e,f,g,h,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;var o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=r;r=r+96|0;G=N+16|0;I=N+88|0;J=N+84|0;O=N+8|0;s=N;t=N+94|0;K=N+80|0;o=N+92|0;q=N+76|0;F=N+72|0;z=N+68|0;E=N+64|0;u=N+60|0;x=N+56|0;M=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;y=N+36|0;C=N+32|0;v=N+28|0;D=N+24|0;w=N+20|0;k[J>>2]=a;a=O;k[a>>2]=b;k[a+4>>2]=c;a=s;k[a>>2]=d;k[a+4>>2]=e;j[t>>1]=f;k[K>>2]=g;j[o>>1]=h;k[q>>2]=n;k[F>>2]=k[(k[J>>2]|0)+4>>2];k[E>>2]=k[(k[K>>2]|0)+16>>2];k[M>>2]=0;k[L>>2]=k[(k[J>>2]|0)+12>>2];k[A>>2]=k[k[k[J>>2]>>2]>>2];k[B>>2]=(k[(k[k[J>>2]>>2]|0)+4>>2]|0)+8+((l[(k[L>>2]|0)+16>>0]|0)*72|0);k[y>>2]=k[k[K>>2]>>2];k[k[q>>2]>>2]=0;a=O;g=k[a+4>>2]|0;n=k[L>>2]|0;k[n>>2]=k[a>>2];k[n+4>>2]=g;k[z>>2]=k[(k[K>>2]|0)+4>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;k[C>>2]=(k[(k[F>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+8>>2]|0)*48|0);i[(k[z>>2]|0)+5>>0]=0;g=(k[C>>2]|0)+32|0;n=s;O=(k[C>>2]|0)+32|0;if(((k[g>>2]&k[n>>2]|0)==(k[O>>2]|0)?(k[g+4>>2]&k[n+4>>2]|0)==(k[O+4>>2]|0):0)?(m[(k[C>>2]|0)+12>>1]&m[t>>1]|0)==0:0)i[(k[z>>2]|0)+5>>0]=1;k[u>>2]=(k[u>>2]|0)+1;k[z>>2]=(k[z>>2]|0)+12}dS(k[E>>2]|0,0,k[y>>2]<<3|0)|0;k[(k[K>>2]|0)+24>>2]=0;k[(k[K>>2]|0)+20>>2]=0;k[(k[K>>2]|0)+32>>2]=0;p[(k[K>>2]|0)+40>>3]=5.e+98;C=(k[K>>2]|0)+48|0;k[C>>2]=25;k[C+4>>2]=0;k[(k[K>>2]|0)+56>>2]=0;C=(k[B>>2]|0)+56|0;n=k[C+4>>2]|0;O=(k[K>>2]|0)+64|0;k[O>>2]=k[C>>2];k[O+4>>2]=n;O=ZE(k[A>>2]|0,k[(k[B>>2]|0)+16>>2]|0,k[K>>2]|0)|0;k[M>>2]=O;if(k[M>>2]|0){k[I>>2]=k[M>>2];O=k[I>>2]|0;r=N;return O|0}k[x>>2]=-1;k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;k[(k[(k[L>>2]|0)+48>>2]|0)+(k[u>>2]<<2)>>2]=0;k[u>>2]=(k[u>>2]|0)+1}j[(k[L>>2]|0)+24+6>>1]=0;k[z>>2]=k[(k[K>>2]|0)+4>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[y>>2]|0))break;O=(k[(k[E>>2]|0)+(k[u>>2]<<3)>>2]|0)-1|0;k[v>>2]=O;if((O|0)>=0){k[w>>2]=k[(k[z>>2]|0)+8>>2];if((k[w>>2]|0)<0?1:(k[v>>2]|0)>=(k[y>>2]|0)){H=19;break}if((k[w>>2]|0)>=(k[(k[F>>2]|0)+12>>2]|0)){H=19;break}if(k[(k[(k[L>>2]|0)+48>>2]|0)+(k[v>>2]<<2)>>2]|0){H=19;break}if(!(l[(k[z>>2]|0)+5>>0]|0)){H=19;break}k[D>>2]=(k[(k[F>>2]|0)+20>>2]|0)+((k[w>>2]|0)*48|0);C=(k[D>>2]|0)+32|0;O=k[L>>2]|0;g=O;n=k[g+4>>2]|k[C+4>>2];k[O>>2]=k[g>>2]|k[C>>2];k[O+4>>2]=n;k[(k[(k[L>>2]|0)+48>>2]|0)+(k[v>>2]<<2)>>2]=k[D>>2];if((k[v>>2]|0)>(k[x>>2]|0))k[x>>2]=k[v>>2];if((k[v>>2]|0)<16?(l[(k[E>>2]|0)+(k[u>>2]<<3)+4>>0]|0)!=0:0){O=(k[L>>2]|0)+24+6|0;j[O>>1]=m[O>>1]|1<>2]}if(m[(k[D>>2]|0)+12>>1]&1){k[(k[K>>2]|0)+32>>2]=0;O=(k[K>>2]|0)+56|0;k[O>>2]=k[O>>2]&-2;k[k[q>>2]>>2]=1}}k[u>>2]=(k[u>>2]|0)+1;k[z>>2]=(k[z>>2]|0)+12}if((H|0)==19){k[M>>2]=1;O=k[A>>2]|0;k[G>>2]=k[k[(k[B>>2]|0)+16>>2]>>2];Oh(O,34806,G);k[I>>2]=k[M>>2];O=k[I>>2]|0;r=N;return O|0}O=(k[L>>2]|0)+24+6|0;j[O>>1]=m[O>>1]&~m[o>>1];j[(k[L>>2]|0)+40>>1]=(k[x>>2]|0)+1;k[(k[L>>2]|0)+24>>2]=k[(k[K>>2]|0)+20>>2];i[(k[L>>2]|0)+24+4>>0]=k[(k[K>>2]|0)+28>>2];k[(k[K>>2]|0)+28>>2]=0;k[(k[L>>2]|0)+24+8>>2]=k[(k[K>>2]|0)+24>>2];if(k[(k[K>>2]|0)+32>>2]|0)b=k[(k[K>>2]|0)+8>>2]|0;else b=0;i[(k[L>>2]|0)+24+5>>0]=b;j[(k[L>>2]|0)+18>>1]=0;b=_E(+p[(k[K>>2]|0)+40>>3])|0;j[(k[L>>2]|0)+20>>1]=b;b=(k[K>>2]|0)+48|0;b=Wj(k[b>>2]|0,k[b+4>>2]|0)|0;j[(k[L>>2]|0)+22>>1]=b;b=(k[L>>2]|0)+36|0;c=k[b>>2]|0;if(k[(k[K>>2]|0)+56>>2]&1)k[b>>2]=c|4096;else k[b>>2]=c&-4097;O=GE(k[J>>2]|0,k[L>>2]|0)|0;k[M>>2]=O;if(i[(k[L>>2]|0)+24+4>>0]|0){Ud(k[(k[L>>2]|0)+24+8>>2]|0);i[(k[L>>2]|0)+24+4>>0]=0}k[I>>2]=k[M>>2];O=k[I>>2]|0;r=N;return O|0}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;h=i+8|0;g=i;d=i+28|0;l=i+24|0;j=i+20|0;e=i+16|0;f=i+12|0;k[d>>2]=a;k[l>>2]=b;k[j>>2]=c;b=(cy(k[k[d>>2]>>2]|0,k[l>>2]|0)|0)+8|0;k[e>>2]=k[b>>2];b=gc[k[(k[k[e>>2]>>2]|0)+12>>2]&255](k[e>>2]|0,k[j>>2]|0)|0;k[f>>2]=b;do if(k[f>>2]|0){if((k[f>>2]|0)==7){wh(k[k[d>>2]>>2]|0);break}c=k[d>>2]|0;if(k[(k[e>>2]|0)+8>>2]|0){k[h>>2]=k[(k[e>>2]|0)+8>>2];Oh(c,18391,h);break}else{l=vh(k[f>>2]|0)|0;k[g>>2]=l;Oh(c,18391,g);break}}while(0);Ud(k[(k[e>>2]|0)+8>>2]|0);k[(k[e>>2]|0)+8>>2]=0;r=i;return k[(k[d>>2]|0)+36>>2]|0}function _E(a){a=+a;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+18|0;c=f+8|0;d=f;e=f+16|0;p[c>>3]=a;if(+p[c>>3]<=1.0){j[b>>1]=0;e=j[b>>1]|0;r=f;return e|0}if(+p[c>>3]<=2.0e9){a=+p[c>>3];e=Wj(~~a>>>0,+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;j[b>>1]=e;e=j[b>>1]|0;r=f;return e|0}else{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];d=aS(k[d>>2]|0,k[d+4>>2]|0,52)|0;d=_R(d|0,L|0,1022,0)|0;j[e>>1]=d;j[b>>1]=(j[e>>1]|0)*10;e=j[b>>1]|0;r=f;return e|0}return 0}function $E(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;q=t+36|0;f=t+32|0;g=t+28|0;h=t+24|0;i=t+20|0;m=t+16|0;s=t+12|0;p=t+8|0;n=t+4|0;o=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;k[p>>2]=k[(k[(k[i>>2]|0)+32>>2]|0)+(k[m>>2]<<2)>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[g>>2]>>2]|0)){f=10;break}a=uy(k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=a;if(((((l[k[n>>2]>>0]|0)==152?(j[(k[n>>2]|0)+32>>1]|0)==(j[(k[(k[i>>2]|0)+4>>2]|0)+(k[m>>2]<<1)>>1]|0):0)?(k[(k[n>>2]|0)+28>>2]|0)==(k[h>>2]|0):0)?(a=py(k[f>>2]|0,k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0,k[o>>2]=a,(k[o>>2]|0)!=0):0)?0==(sg(k[k[o>>2]>>2]|0,k[p>>2]|0)|0):0){f=8;break}k[s>>2]=(k[s>>2]|0)+1}if((f|0)==8){k[q>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}else if((f|0)==10){k[q>>2]=-1;s=k[q>>2]|0;r=t;return s|0}return 0} +function YR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){j=k[a>>2]|0;if(!(c&3))return;n=a+(0-j)|0;m=j+b|0;i=k[2261]|0;if(n>>>0>>0)Va();if((n|0)==(k[2262]|0)){d=a+(b+4)|0;c=k[d>>2]|0;if((c&3|0)!=3){t=n;g=m;break}k[2259]=m;k[d>>2]=c&-2;k[a+(4-j)>>2]=m|1;k[q>>2]=m;return}f=j>>>3;if(j>>>0<256){e=k[a+(8-j)>>2]|0;d=k[a+(12-j)>>2]|0;c=9068+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(n|0))Va()}if((d|0)==(e|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(n|0))h=c;else Va()}else h=d+8|0;k[e+12>>2]=d;k[h>>2]=e;t=n;g=m;break}h=k[a+(24-j)>>2]|0;e=k[a+(12-j)>>2]|0;do if((e|0)==(n|0)){e=16-j|0;d=a+(e+4)|0;c=k[d>>2]|0;if(!c){d=a+e|0;c=k[d>>2]|0;if(!c){l=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;l=c;break}}else{f=k[a+(8-j)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(n|0))Va();d=e+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=e;k[d>>2]=f;l=e;break}else Va()}while(0);if(h){c=k[a+(28-j)>>2]|0;d=9332+(c<<2)|0;if((n|0)==(k[d>>2]|0)){k[d>>2]=l;if(!l){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(n|0))k[c>>2]=l;else k[h+20>>2]=l;if(!l){t=n;g=m;break}}e=k[2261]|0;if(l>>>0>>0)Va();k[l+24>>2]=h;c=16-j|0;d=k[a+c>>2]|0;do if(d)if(d>>>0>>0)Va();else{k[l+16>>2]=d;k[d+24>>2]=l;break}while(0);c=k[a+(c+4)>>2]|0;if(c)if(c>>>0<(k[2261]|0)>>>0)Va();else{k[l+20>>2]=c;k[c+24>>2]=l;t=n;g=m;break}else{t=n;g=m}}else{t=n;g=m}}else{t=a;g=b}while(0);i=k[2261]|0;if(q>>>0>>0)Va();c=a+(b+4)|0;d=k[c>>2]|0;if(!(d&2)){if((q|0)==(k[2263]|0)){s=(k[2260]|0)+g|0;k[2260]=s;k[2263]=t;k[t+4>>2]=s|1;if((t|0)!=(k[2262]|0))return;k[2262]=0;k[2259]=0;return}if((q|0)==(k[2262]|0)){s=(k[2259]|0)+g|0;k[2259]=s;k[2262]=t;k[t+4>>2]=s|1;k[t+s>>2]=s;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){d=a+(b+20)|0;c=k[d>>2]|0;if(!c){d=a+(b+16)|0;c=k[d>>2]|0;if(!c){p=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;p=c;break}}else{f=k[a+(b+8)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(q|0))Va();d=e+8|0;if((k[d>>2]|0)==(q|0)){k[c>>2]=e;k[d>>2]=f;p=e;break}else Va()}while(0);if(h){c=k[a+(b+28)>>2]|0;d=9332+(c<<2)|0;if((q|0)==(k[d>>2]|0)){k[d>>2]=p;if(!p){k[2258]=k[2258]&~(1<>>0<(k[2261]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(q|0))k[c>>2]=p;else k[h+20>>2]=p;if(!p)break}d=k[2261]|0;if(p>>>0>>0)Va();k[p+24>>2]=h;c=k[a+(b+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[p+16>>2]=c;k[c+24>>2]=p;break}while(0);c=k[a+(b+20)>>2]|0;if(c)if(c>>>0<(k[2261]|0)>>>0)Va();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{e=k[a+(b+8)>>2]|0;d=k[a+(b+12)>>2]|0;c=9068+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(q|0))Va()}if((d|0)==(e|0)){k[2257]=k[2257]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(q|0))o=c;else Va()}else o=d+8|0;k[e+12>>2]=d;k[o>>2]=e}while(0);k[t+4>>2]=g|1;k[t+g>>2]=g;if((t|0)==(k[2262]|0)){k[2259]=g;return}}else{k[c>>2]=d&-2;k[t+4>>2]=g|1;k[t+g>>2]=g}c=g>>>3;if(g>>>0<256){d=c<<1;f=9068+(d<<2)|0;e=k[2257]|0;c=1<>2]|0;if(d>>>0<(k[2261]|0)>>>0)Va();else{r=c;s=d}}else{k[2257]=e|c;r=9068+(d+2<<2)|0;s=f}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=f;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{r=(c+1048320|0)>>>16&8;s=c<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;c=9332+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[2258]|0;e=1<>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[c>>2]|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=c+16+(f>>>31<<2)|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[2261]|0)>>>0)Va();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;s=k[2261]|0;if(!(e>>>0>=s>>>0&c>>>0>=s>>>0))Va();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function ZR(){}function _R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function $R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return ub(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else bS(a,b,c)|0;return a|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function gS(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function hS(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function iS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=_R(j^a,i^b,j,i)|0;g=L;a=f^j;b=e^i;return _R((nS(h,g,_R(f^c,e^d,f,e)|0,L,0)|0)^a,L^b,a,b)|0}function jS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=_R(g^a,f^b,g,f)|0;b=L;nS(a,b,_R(j^c,i^d,j,i)|0,L,h)|0;d=_R(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;c=L;r=e;return (L=c,d)|0}function kS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=hS(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function lS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nS(a,b,c,d,0)|0}function mS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;nS(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function nS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (L=n,e)|0}f=g-1|0;if(f&g){h=(ja(g|0)|0)+33-(ja(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (L=o,p)|0}else{p=gS(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=o,p)|0}}else{if(f){if(e){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (L=o,p)|0}if(!l){if(e){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (L=o,p)|0}f=h-1|0;if(!(f&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((gS(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=$R(m|0,l|0,-1,-1)|0;c=L;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;_R(j,c,d,n)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=_R(d,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=L;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (L=o,p)|0}function oS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&255](b|0,c|0,d|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return na(0,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return na(1,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return na(2,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return na(3,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return na(4,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return na(5,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return na(6,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return na(7,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return na(8,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return na(9,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return na(10,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return na(11,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return na(12,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return na(13,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return na(14,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return na(15,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return na(16,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return na(17,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return na(18,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return na(19,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return na(20,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return na(21,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return na(22,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return na(23,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return na(24,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return na(25,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return na(26,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return na(27,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return na(28,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return na(29,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return na(30,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return na(31,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return na(32,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return na(33,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return na(34,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return na(35,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return na(36,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return na(37,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return na(38,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return na(39,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return na(40,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return na(41,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return na(42,a|0,b|0,c|0)|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;return na(43,a|0,b|0,c|0)|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;return na(44,a|0,b|0,c|0)|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;return na(45,a|0,b|0,c|0)|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;return na(46,a|0,b|0,c|0)|0}function iT(a,b,c){a=a|0;b=b|0;c=c|0;return na(47,a|0,b|0,c|0)|0}function jT(a,b,c){a=a|0;b=b|0;c=c|0;return na(48,a|0,b|0,c|0)|0}function kT(a,b,c){a=a|0;b=b|0;c=c|0;return na(49,a|0,b|0,c|0)|0}function lT(a,b,c){a=a|0;b=b|0;c=c|0;return na(50,a|0,b|0,c|0)|0}function mT(a,b,c){a=a|0;b=b|0;c=c|0;return na(51,a|0,b|0,c|0)|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;return na(52,a|0,b|0,c|0)|0}function oT(a,b,c){a=a|0;b=b|0;c=c|0;return na(53,a|0,b|0,c|0)|0}function pT(a,b,c){a=a|0;b=b|0;c=c|0;return na(54,a|0,b|0,c|0)|0}function qT(a,b,c){a=a|0;b=b|0;c=c|0;return na(55,a|0,b|0,c|0)|0}function rT(a,b,c){a=a|0;b=b|0;c=c|0;return na(56,a|0,b|0,c|0)|0}function sT(a,b,c){a=a|0;b=b|0;c=c|0;return na(57,a|0,b|0,c|0)|0}function tT(a,b,c){a=a|0;b=b|0;c=c|0;return na(58,a|0,b|0,c|0)|0}function uT(a,b,c){a=a|0;b=b|0;c=c|0;return na(59,a|0,b|0,c|0)|0}function vT(a,b,c){a=a|0;b=b|0;c=c|0;return na(60,a|0,b|0,c|0)|0}function wT(a,b,c){a=a|0;b=b|0;c=c|0;return na(61,a|0,b|0,c|0)|0}function xT(a,b,c){a=a|0;b=b|0;c=c|0;return na(62,a|0,b|0,c|0)|0}function yT(a,b,c){a=a|0;b=b|0;c=c|0;return na(63,a|0,b|0,c|0)|0}function zT(a){a=a|0;return Zb[a&255]()|0}function AT(){return pa(0)|0}function BT(){return pa(1)|0}function CT(){return pa(2)|0}function DT(){return pa(3)|0}function ET(){return pa(4)|0}function FT(){return pa(5)|0}function GT(){return pa(6)|0}function HT(){return pa(7)|0}function IT(){return pa(8)|0}function JT(){return pa(9)|0}function KT(){return pa(10)|0}function LT(){return pa(11)|0}function MT(){return pa(12)|0}function NT(){return pa(13)|0}function OT(){return pa(14)|0}function PT(){return pa(15)|0}function QT(){return pa(16)|0}function RT(){return pa(17)|0}function ST(){return pa(18)|0}function TT(){return pa(19)|0}function UT(){return pa(20)|0}function VT(){return pa(21)|0}function WT(){return pa(22)|0}function XT(){return pa(23)|0}function YT(){return pa(24)|0}function ZT(){return pa(25)|0}function _T(){return pa(26)|0}function $T(){return pa(27)|0}function aU(){return pa(28)|0}function bU(){return pa(29)|0}function cU(){return pa(30)|0}function dU(){return pa(31)|0}function eU(){return pa(32)|0}function fU(){return pa(33)|0}function gU(){return pa(34)|0}function hU(){return pa(35)|0}function iU(){return pa(36)|0}function jU(){return pa(37)|0}function kU(){return pa(38)|0}function lU(){return pa(39)|0}function mU(){return pa(40)|0}function nU(){return pa(41)|0}function oU(){return pa(42)|0}function pU(){return pa(43)|0}function qU(){return pa(44)|0}function rU(){return pa(45)|0}function sU(){return pa(46)|0}function tU(){return pa(47)|0}function uU(){return pa(48)|0}function vU(){return pa(49)|0}function wU(){return pa(50)|0}function xU(){return pa(51)|0}function yU(){return pa(52)|0}function zU(){return pa(53)|0}function AU(){return pa(54)|0}function BU(){return pa(55)|0}function CU(){return pa(56)|0}function DU(){return pa(57)|0}function EU(){return pa(58)|0}function FU(){return pa(59)|0}function GU(){return pa(60)|0}function HU(){return pa(61)|0}function IU(){return pa(62)|0}function JU(){return pa(63)|0}function KU(a,b){a=a|0;b=b|0;_b[a&255](b|0)}function LU(a){a=a|0;ra(0,a|0)}function MU(a){a=a|0;ra(1,a|0)}function NU(a){a=a|0;ra(2,a|0)}function OU(a){a=a|0;ra(3,a|0)}function PU(a){a=a|0;ra(4,a|0)}function QU(a){a=a|0;ra(5,a|0)}function RU(a){a=a|0;ra(6,a|0)}function SU(a){a=a|0;ra(7,a|0)}function TU(a){a=a|0;ra(8,a|0)}function UU(a){a=a|0;ra(9,a|0)}function VU(a){a=a|0;ra(10,a|0)}function WU(a){a=a|0;ra(11,a|0)}function XU(a){a=a|0;ra(12,a|0)}function YU(a){a=a|0;ra(13,a|0)}function ZU(a){a=a|0;ra(14,a|0)}function _U(a){a=a|0;ra(15,a|0)}function $U(a){a=a|0;ra(16,a|0)}function aV(a){a=a|0;ra(17,a|0)}function bV(a){a=a|0;ra(18,a|0)}function cV(a){a=a|0;ra(19,a|0)}function dV(a){a=a|0;ra(20,a|0)}function eV(a){a=a|0;ra(21,a|0)}function fV(a){a=a|0;ra(22,a|0)}function gV(a){a=a|0;ra(23,a|0)}function hV(a){a=a|0;ra(24,a|0)}function iV(a){a=a|0;ra(25,a|0)}function jV(a){a=a|0;ra(26,a|0)}function kV(a){a=a|0;ra(27,a|0)}function lV(a){a=a|0;ra(28,a|0)}function mV(a){a=a|0;ra(29,a|0)}function nV(a){a=a|0;ra(30,a|0)}function oV(a){a=a|0;ra(31,a|0)}function pV(a){a=a|0;ra(32,a|0)}function qV(a){a=a|0;ra(33,a|0)}function rV(a){a=a|0;ra(34,a|0)}function sV(a){a=a|0;ra(35,a|0)}function tV(a){a=a|0;ra(36,a|0)}function uV(a){a=a|0;ra(37,a|0)}function vV(a){a=a|0;ra(38,a|0)}function wV(a){a=a|0;ra(39,a|0)}function xV(a){a=a|0;ra(40,a|0)}function yV(a){a=a|0;ra(41,a|0)}function zV(a){a=a|0;ra(42,a|0)}function AV(a){a=a|0;ra(43,a|0)}function BV(a){a=a|0;ra(44,a|0)}function CV(a){a=a|0;ra(45,a|0)}function DV(a){a=a|0;ra(46,a|0)}function EV(a){a=a|0;ra(47,a|0)}function FV(a){a=a|0;ra(48,a|0)}function GV(a){a=a|0;ra(49,a|0)}function HV(a){a=a|0;ra(50,a|0)}function IV(a){a=a|0;ra(51,a|0)}function JV(a){a=a|0;ra(52,a|0)}function KV(a){a=a|0;ra(53,a|0)}function LV(a){a=a|0;ra(54,a|0)}function MV(a){a=a|0;ra(55,a|0)}function NV(a){a=a|0;ra(56,a|0)}function OV(a){a=a|0;ra(57,a|0)}function PV(a){a=a|0;ra(58,a|0)}function QV(a){a=a|0;ra(59,a|0)}function RV(a){a=a|0;ra(60,a|0)}function SV(a){a=a|0;ra(61,a|0)}function TV(a){a=a|0;ra(62,a|0)}function UV(a){a=a|0;ra(63,a|0)}function VV(a,b,c){a=a|0;b=b|0;c=c|0;$b[a&255](b|0,c|0)}function WV(a,b){a=a|0;b=b|0;ta(0,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ta(1,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ta(2,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ta(3,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ta(4,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ta(5,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ta(6,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ta(7,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ta(8,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ta(9,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ta(10,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ta(11,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ta(12,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ta(13,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ta(14,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ta(15,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ta(16,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ta(17,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ta(18,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ta(19,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ta(20,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ta(21,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ta(22,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ta(23,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ta(24,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ta(25,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ta(26,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ta(27,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ta(28,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ta(29,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ta(30,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ta(31,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ta(32,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ta(33,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ta(34,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ta(35,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ta(36,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ta(37,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ta(38,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ta(39,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ta(40,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ta(41,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ta(42,a|0,b|0)}function LW(a,b){a=a|0;b=b|0;ta(43,a|0,b|0)}function MW(a,b){a=a|0;b=b|0;ta(44,a|0,b|0)}function NW(a,b){a=a|0;b=b|0;ta(45,a|0,b|0)}function OW(a,b){a=a|0;b=b|0;ta(46,a|0,b|0)}function PW(a,b){a=a|0;b=b|0;ta(47,a|0,b|0)}function QW(a,b){a=a|0;b=b|0;ta(48,a|0,b|0)}function RW(a,b){a=a|0;b=b|0;ta(49,a|0,b|0)}function SW(a,b){a=a|0;b=b|0;ta(50,a|0,b|0)}function TW(a,b){a=a|0;b=b|0;ta(51,a|0,b|0)}function UW(a,b){a=a|0;b=b|0;ta(52,a|0,b|0)}function VW(a,b){a=a|0;b=b|0;ta(53,a|0,b|0)}function WW(a,b){a=a|0;b=b|0;ta(54,a|0,b|0)}function XW(a,b){a=a|0;b=b|0;ta(55,a|0,b|0)}function YW(a,b){a=a|0;b=b|0;ta(56,a|0,b|0)}function ZW(a,b){a=a|0;b=b|0;ta(57,a|0,b|0)}function _W(a,b){a=a|0;b=b|0;ta(58,a|0,b|0)}function $W(a,b){a=a|0;b=b|0;ta(59,a|0,b|0)}function aX(a,b){a=a|0;b=b|0;ta(60,a|0,b|0)}function bX(a,b){a=a|0;b=b|0;ta(61,a|0,b|0)}function cX(a,b){a=a|0;b=b|0;ta(62,a|0,b|0)}function dX(a,b){a=a|0;b=b|0;ta(63,a|0,b|0)}function eX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ac[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pY(a,b){a=a|0;b=b|0;return bc[a&255](b|0)|0}function qY(a){a=a|0;return xa(0,a|0)|0}function rY(a){a=a|0;return xa(1,a|0)|0}function sY(a){a=a|0;return xa(2,a|0)|0}function tY(a){a=a|0;return xa(3,a|0)|0}function uY(a){a=a|0;return xa(4,a|0)|0}function vY(a){a=a|0;return xa(5,a|0)|0}function wY(a){a=a|0;return xa(6,a|0)|0}function xY(a){a=a|0;return xa(7,a|0)|0}function yY(a){a=a|0;return xa(8,a|0)|0}function zY(a){a=a|0;return xa(9,a|0)|0}function AY(a){a=a|0;return xa(10,a|0)|0}function BY(a){a=a|0;return xa(11,a|0)|0}function CY(a){a=a|0;return xa(12,a|0)|0}function DY(a){a=a|0;return xa(13,a|0)|0}function EY(a){a=a|0;return xa(14,a|0)|0}function FY(a){a=a|0;return xa(15,a|0)|0}function GY(a){a=a|0;return xa(16,a|0)|0}function HY(a){a=a|0;return xa(17,a|0)|0}function IY(a){a=a|0;return xa(18,a|0)|0}function JY(a){a=a|0;return xa(19,a|0)|0}function KY(a){a=a|0;return xa(20,a|0)|0}function LY(a){a=a|0;return xa(21,a|0)|0}function MY(a){a=a|0;return xa(22,a|0)|0}function NY(a){a=a|0;return xa(23,a|0)|0}function OY(a){a=a|0;return xa(24,a|0)|0}function PY(a){a=a|0;return xa(25,a|0)|0}function QY(a){a=a|0;return xa(26,a|0)|0}function RY(a){a=a|0;return xa(27,a|0)|0}function SY(a){a=a|0;return xa(28,a|0)|0}function TY(a){a=a|0;return xa(29,a|0)|0}function UY(a){a=a|0;return xa(30,a|0)|0}function VY(a){a=a|0;return xa(31,a|0)|0}function WY(a){a=a|0;return xa(32,a|0)|0}function XY(a){a=a|0;return xa(33,a|0)|0}function YY(a){a=a|0;return xa(34,a|0)|0}function ZY(a){a=a|0;return xa(35,a|0)|0}function _Y(a){a=a|0;return xa(36,a|0)|0}function $Y(a){a=a|0;return xa(37,a|0)|0}function aZ(a){a=a|0;return xa(38,a|0)|0}function bZ(a){a=a|0;return xa(39,a|0)|0}function cZ(a){a=a|0;return xa(40,a|0)|0}function dZ(a){a=a|0;return xa(41,a|0)|0}function eZ(a){a=a|0;return xa(42,a|0)|0}function fZ(a){a=a|0;return xa(43,a|0)|0}function gZ(a){a=a|0;return xa(44,a|0)|0}function hZ(a){a=a|0;return xa(45,a|0)|0}function iZ(a){a=a|0;return xa(46,a|0)|0}function jZ(a){a=a|0;return xa(47,a|0)|0}function kZ(a){a=a|0;return xa(48,a|0)|0}function lZ(a){a=a|0;return xa(49,a|0)|0}function mZ(a){a=a|0;return xa(50,a|0)|0}function nZ(a){a=a|0;return xa(51,a|0)|0}function oZ(a){a=a|0;return xa(52,a|0)|0}function pZ(a){a=a|0;return xa(53,a|0)|0}function qZ(a){a=a|0;return xa(54,a|0)|0}function rZ(a){a=a|0;return xa(55,a|0)|0}function sZ(a){a=a|0;return xa(56,a|0)|0}function tZ(a){a=a|0;return xa(57,a|0)|0}function uZ(a){a=a|0;return xa(58,a|0)|0}function vZ(a){a=a|0;return xa(59,a|0)|0}function wZ(a){a=a|0;return xa(60,a|0)|0}function xZ(a){a=a|0;return xa(61,a|0)|0}function yZ(a){a=a|0;return xa(62,a|0)|0}function zZ(a){a=a|0;return xa(63,a|0)|0}function AZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cc[a&255](b|0,c|0,d|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;za(0,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;za(1,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;za(2,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;za(3,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;za(4,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;za(5,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;za(6,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;za(7,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;za(8,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;za(9,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;za(10,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;za(11,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;za(12,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;za(13,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;za(14,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;za(15,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;za(16,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;za(17,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;za(18,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;za(19,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;za(20,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;za(21,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;za(22,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;za(23,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;za(24,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;za(25,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;za(26,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;za(27,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;za(28,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;za(29,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;za(30,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;za(31,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;za(32,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;za(33,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;za(34,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;za(35,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;za(36,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;za(37,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;za(38,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;za(39,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;za(40,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;za(41,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;za(42,a|0,b|0,c|0)}function q_(a,b,c){a=a|0;b=b|0;c=c|0;za(43,a|0,b|0,c|0)}function r_(a,b,c){a=a|0;b=b|0;c=c|0;za(44,a|0,b|0,c|0)}function s_(a,b,c){a=a|0;b=b|0;c=c|0;za(45,a|0,b|0,c|0)}function t_(a,b,c){a=a|0;b=b|0;c=c|0;za(46,a|0,b|0,c|0)}function u_(a,b,c){a=a|0;b=b|0;c=c|0;za(47,a|0,b|0,c|0)}function v_(a,b,c){a=a|0;b=b|0;c=c|0;za(48,a|0,b|0,c|0)}function w_(a,b,c){a=a|0;b=b|0;c=c|0;za(49,a|0,b|0,c|0)}function x_(a,b,c){a=a|0;b=b|0;c=c|0;za(50,a|0,b|0,c|0)}function y_(a,b,c){a=a|0;b=b|0;c=c|0;za(51,a|0,b|0,c|0)}function z_(a,b,c){a=a|0;b=b|0;c=c|0;za(52,a|0,b|0,c|0)}function A_(a,b,c){a=a|0;b=b|0;c=c|0;za(53,a|0,b|0,c|0)}function B_(a,b,c){a=a|0;b=b|0;c=c|0;za(54,a|0,b|0,c|0)}function C_(a,b,c){a=a|0;b=b|0;c=c|0;za(55,a|0,b|0,c|0)}function D_(a,b,c){a=a|0;b=b|0;c=c|0;za(56,a|0,b|0,c|0)}function E_(a,b,c){a=a|0;b=b|0;c=c|0;za(57,a|0,b|0,c|0)}function F_(a,b,c){a=a|0;b=b|0;c=c|0;za(58,a|0,b|0,c|0)}function G_(a,b,c){a=a|0;b=b|0;c=c|0;za(59,a|0,b|0,c|0)}function H_(a,b,c){a=a|0;b=b|0;c=c|0;za(60,a|0,b|0,c|0)}function I_(a,b,c){a=a|0;b=b|0;c=c|0;za(61,a|0,b|0,c|0)}function J_(a,b,c){a=a|0;b=b|0;c=c|0;za(62,a|0,b|0,c|0)}function K_(a,b,c){a=a|0;b=b|0;c=c|0;za(63,a|0,b|0,c|0)}function L_(a){a=a|0;dc[a&255]()}function M_(){Ba(0)}function N_(){Ba(1)}function O_(){Ba(2)}function P_(){Ba(3)}function Q_(){Ba(4)}function R_(){Ba(5)}function S_(){Ba(6)}function T_(){Ba(7)}function U_(){Ba(8)}function V_(){Ba(9)}function W_(){Ba(10)}function X_(){Ba(11)}function Y_(){Ba(12)}function Z_(){Ba(13)}function __(){Ba(14)}function $_(){Ba(15)}function a$(){Ba(16)}function b$(){Ba(17)}function c$(){Ba(18)}function d$(){Ba(19)}function e$(){Ba(20)}function f$(){Ba(21)}function g$(){Ba(22)}function h$(){Ba(23)}function i$(){Ba(24)}function j$(){Ba(25)}function k$(){Ba(26)}function l$(){Ba(27)}function m$(){Ba(28)}function n$(){Ba(29)}function o$(){Ba(30)}function p$(){Ba(31)}function q$(){Ba(32)}function r$(){Ba(33)}function s$(){Ba(34)}function t$(){Ba(35)}function u$(){Ba(36)}function v$(){Ba(37)}function w$(){Ba(38)}function x$(){Ba(39)}function y$(){Ba(40)}function z$(){Ba(41)}function A$(){Ba(42)}function B$(){Ba(43)}function C$(){Ba(44)}function D$(){Ba(45)}function E$(){Ba(46)}function F$(){Ba(47)}function G$(){Ba(48)}function H$(){Ba(49)}function I$(){Ba(50)}function J$(){Ba(51)}function K$(){Ba(52)}function L$(){Ba(53)}function M$(){Ba(54)}function N$(){Ba(55)}function O$(){Ba(56)}function P$(){Ba(57)}function Q$(){Ba(58)}function R$(){Ba(59)}function S$(){Ba(60)}function T$(){Ba(61)}function U$(){Ba(62)}function V$(){Ba(63)}function W$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ec[a&255](b|0,c|0,d|0,e|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(0,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(1,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(2,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(3,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(4,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(5,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(6,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(7,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(8,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(9,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(10,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(11,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(12,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(13,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(14,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(15,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(16,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(17,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(18,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(19,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(20,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(21,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(22,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(23,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(24,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(25,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(26,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(27,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(28,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(29,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(30,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(31,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(32,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(33,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(34,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(35,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(36,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(37,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(38,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(39,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(40,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(41,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(42,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(43,a|0,b|0,c|0,d|0)|0}function N0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(44,a|0,b|0,c|0,d|0)|0}function O0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(45,a|0,b|0,c|0,d|0)|0}function P0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(46,a|0,b|0,c|0,d|0)|0}function Q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(47,a|0,b|0,c|0,d|0)|0}function R0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(48,a|0,b|0,c|0,d|0)|0}function S0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(49,a|0,b|0,c|0,d|0)|0}function T0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(50,a|0,b|0,c|0,d|0)|0}function U0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(51,a|0,b|0,c|0,d|0)|0}function V0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(52,a|0,b|0,c|0,d|0)|0}function W0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(53,a|0,b|0,c|0,d|0)|0}function X0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(54,a|0,b|0,c|0,d|0)|0}function Y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(55,a|0,b|0,c|0,d|0)|0}function Z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(56,a|0,b|0,c|0,d|0)|0}function _0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(57,a|0,b|0,c|0,d|0)|0}function $0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(58,a|0,b|0,c|0,d|0)|0}function a1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(59,a|0,b|0,c|0,d|0)|0}function b1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(60,a|0,b|0,c|0,d|0)|0}function c1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(61,a|0,b|0,c|0,d|0)|0}function d1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(62,a|0,b|0,c|0,d|0)|0}function e1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(63,a|0,b|0,c|0,d|0)|0}function f1(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;fc[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function Y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function Z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function _1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function $1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function a2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function b2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function c2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function d2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function e2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function f2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function g2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function h2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function i2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function j2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function k2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function l2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function m2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function n2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function o2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function p2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function q2(a,b,c){a=a|0;b=b|0;c=c|0;return gc[a&255](b|0,c|0)|0}function r2(a,b){a=a|0;b=b|0;return Ha(0,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return Ha(1,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return Ha(2,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return Ha(3,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return Ha(4,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return Ha(5,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return Ha(6,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return Ha(7,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return Ha(8,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return Ha(9,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return Ha(10,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return Ha(11,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return Ha(12,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return Ha(13,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return Ha(14,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return Ha(15,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return Ha(16,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return Ha(17,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return Ha(18,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return Ha(19,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return Ha(20,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return Ha(21,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return Ha(22,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return Ha(23,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return Ha(24,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return Ha(25,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return Ha(26,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return Ha(27,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return Ha(28,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return Ha(29,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return Ha(30,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return Ha(31,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return Ha(32,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return Ha(33,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return Ha(34,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return Ha(35,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return Ha(36,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return Ha(37,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return Ha(38,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return Ha(39,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return Ha(40,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return Ha(41,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return Ha(42,a|0,b|0)|0}function g3(a,b){a=a|0;b=b|0;return Ha(43,a|0,b|0)|0}function h3(a,b){a=a|0;b=b|0;return Ha(44,a|0,b|0)|0}function i3(a,b){a=a|0;b=b|0;return Ha(45,a|0,b|0)|0}function j3(a,b){a=a|0;b=b|0;return Ha(46,a|0,b|0)|0}function k3(a,b){a=a|0;b=b|0;return Ha(47,a|0,b|0)|0}function l3(a,b){a=a|0;b=b|0;return Ha(48,a|0,b|0)|0}function m3(a,b){a=a|0;b=b|0;return Ha(49,a|0,b|0)|0}function n3(a,b){a=a|0;b=b|0;return Ha(50,a|0,b|0)|0}function o3(a,b){a=a|0;b=b|0;return Ha(51,a|0,b|0)|0}function p3(a,b){a=a|0;b=b|0;return Ha(52,a|0,b|0)|0}function q3(a,b){a=a|0;b=b|0;return Ha(53,a|0,b|0)|0}function r3(a,b){a=a|0;b=b|0;return Ha(54,a|0,b|0)|0}function s3(a,b){a=a|0;b=b|0;return Ha(55,a|0,b|0)|0}function t3(a,b){a=a|0;b=b|0;return Ha(56,a|0,b|0)|0}function u3(a,b){a=a|0;b=b|0;return Ha(57,a|0,b|0)|0}function v3(a,b){a=a|0;b=b|0;return Ha(58,a|0,b|0)|0}function w3(a,b){a=a|0;b=b|0;return Ha(59,a|0,b|0)|0}function x3(a,b){a=a|0;b=b|0;return Ha(60,a|0,b|0)|0}function y3(a,b){a=a|0;b=b|0;return Ha(61,a|0,b|0)|0}function z3(a,b){a=a|0;b=b|0;return Ha(62,a|0,b|0)|0}function A3(a,b){a=a|0;b=b|0;return Ha(63,a|0,b|0)|0}function B3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return hc[a&255](b|0,c|0,d|0,e|0,f|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(0,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(1,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(2,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(3,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(4,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(5,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(6,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(7,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(8,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(9,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(10,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(11,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(12,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(13,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(14,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(15,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(16,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(17,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(18,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(19,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(20,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(21,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(22,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(23,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(24,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(25,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(26,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(27,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(28,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(29,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(30,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(31,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(32,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(33,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(34,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(35,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(36,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(37,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(38,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(39,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(40,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(41,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(42,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(43,a|0,b|0,c|0,d|0,e|0)|0}function s4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(44,a|0,b|0,c|0,d|0,e|0)|0}function t4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(45,a|0,b|0,c|0,d|0,e|0)|0}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(46,a|0,b|0,c|0,d|0,e|0)|0}function v4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(47,a|0,b|0,c|0,d|0,e|0)|0}function w4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(48,a|0,b|0,c|0,d|0,e|0)|0}function x4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(49,a|0,b|0,c|0,d|0,e|0)|0}function y4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(50,a|0,b|0,c|0,d|0,e|0)|0}function z4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(51,a|0,b|0,c|0,d|0,e|0)|0}function A4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(52,a|0,b|0,c|0,d|0,e|0)|0}function B4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(53,a|0,b|0,c|0,d|0,e|0)|0}function C4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(54,a|0,b|0,c|0,d|0,e|0)|0}function D4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(55,a|0,b|0,c|0,d|0,e|0)|0}function E4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(56,a|0,b|0,c|0,d|0,e|0)|0}function F4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(57,a|0,b|0,c|0,d|0,e|0)|0}function G4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(58,a|0,b|0,c|0,d|0,e|0)|0}function H4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(59,a|0,b|0,c|0,d|0,e|0)|0}function I4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(60,a|0,b|0,c|0,d|0,e|0)|0}function J4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(61,a|0,b|0,c|0,d|0,e|0)|0}function K4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(62,a|0,b|0,c|0,d|0,e|0)|0}function L4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(63,a|0,b|0,c|0,d|0,e|0)|0}function M4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ic[a&255](b|0,c|0,d|0,e|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(0,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(1,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(2,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(3,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(4,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(5,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(6,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(7,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(8,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(9,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(10,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(11,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(12,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(13,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(14,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(15,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(16,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(17,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(18,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(19,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(20,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(21,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(22,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(23,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(24,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(25,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(26,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(27,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(28,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(29,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(30,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(31,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(32,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(33,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(34,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(35,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(36,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(37,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(38,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(39,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(40,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(41,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(42,a|0,b|0,c|0,d|0)}function C5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(43,a|0,b|0,c|0,d|0)}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(44,a|0,b|0,c|0,d|0)}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(45,a|0,b|0,c|0,d|0)}function F5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(46,a|0,b|0,c|0,d|0)}function G5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(47,a|0,b|0,c|0,d|0)}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(48,a|0,b|0,c|0,d|0)}function I5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(49,a|0,b|0,c|0,d|0)}function J5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(50,a|0,b|0,c|0,d|0)}function K5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(51,a|0,b|0,c|0,d|0)}function L5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(52,a|0,b|0,c|0,d|0)}function M5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(53,a|0,b|0,c|0,d|0)}function N5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(54,a|0,b|0,c|0,d|0)}function O5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(55,a|0,b|0,c|0,d|0)}function P5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(56,a|0,b|0,c|0,d|0)}function Q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(57,a|0,b|0,c|0,d|0)}function R5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(58,a|0,b|0,c|0,d|0)}function S5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(59,a|0,b|0,c|0,d|0)}function T5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(60,a|0,b|0,c|0,d|0)}function U5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(61,a|0,b|0,c|0,d|0)}function V5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(62,a|0,b|0,c|0,d|0)}function W5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(63,a|0,b|0,c|0,d|0)}function X5(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function Y5(){ka(1);return 0}function Z5(a){a=a|0;ka(2)}function _5(a,b){a=a|0;b=b|0;ka(3)}function $5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(4);return 0}function a6(a){a=a|0;ka(5);return 0}function b6(a,b,c){a=a|0;b=b|0;c=c|0;ka(6)}function c6(){ka(7)}function d6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(8);return 0}function e6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(9)}function f6(a,b){a=a|0;b=b|0;ka(10);return 0}function g6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(11);return 0}function h6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(12)} // EMSCRIPTEN_END_FUNCS -var Yb=[C5,C5,WR,C5,XR,C5,YR,C5,ZR,C5,_R,C5,$R,C5,aS,C5,bS,C5,cS,C5,dS,C5,eS,C5,fS,C5,gS,C5,hS,C5,iS,C5,jS,C5,kS,C5,lS,C5,mS,C5,nS,C5,oS,C5,pS,C5,qS,C5,rS,C5,sS,C5,tS,C5,uS,C5,vS,C5,wS,C5,xS,C5,yS,C5,zS,C5,AS,C5,BS,C5,CS,C5,DS,C5,ES,C5,FS,C5,GS,C5,HS,C5,IS,C5,JS,C5,KS,C5,LS,C5,MS,C5,NS,C5,OS,C5,PS,C5,QS,C5,RS,C5,SS,C5,TS,C5,US,C5,VS,C5,WS,C5,XS,C5,YS,C5,ZS,C5,_S,C5,$S,C5,aT,C5,bT,C5,cT,C5,dT,C5,nN,qN,tN,vN,fl,Hk,mq,Cq,Rq,Uq,Xr,Gu,Ju,CN,IN,WN,sQ,lR,qR,eR,mR,SQ,QQ,Zn,Um,Xm,Vn,Tn,bo,jo,NF,OF,PF,RQ,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5];var Zb=[D5,D5,fT,D5,gT,D5,hT,D5,iT,D5,jT,D5,kT,D5,lT,D5,mT,D5,nT,D5,oT,D5,pT,D5,qT,D5,rT,D5,sT,D5,tT,D5,uT,D5,vT,D5,wT,D5,xT,D5,yT,D5,zT,D5,AT,D5,BT,D5,CT,D5,DT,D5,ET,D5,FT,D5,GT,D5,HT,D5,IT,D5,JT,D5,KT,D5,LT,D5,MT,D5,NT,D5,OT,D5,PT,D5,QT,D5,RT,D5,ST,D5,TT,D5,UT,D5,VT,D5,WT,D5,XT,D5,YT,D5,ZT,D5,_T,D5,$T,D5,aU,D5,bU,D5,cU,D5,dU,D5,eU,D5,fU,D5,gU,D5,hU,D5,iU,D5,jU,D5,kU,D5,lU,D5,mU,D5,nU,D5,oU,D5,iR,YN,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5];var _b=[E5,E5,qU,E5,rU,E5,sU,E5,tU,E5,uU,E5,vU,E5,wU,E5,xU,E5,yU,E5,zU,E5,AU,E5,BU,E5,CU,E5,DU,E5,EU,E5,FU,E5,GU,E5,HU,E5,IU,E5,JU,E5,KU,E5,LU,E5,MU,E5,NU,E5,OU,E5,PU,E5,QU,E5,RU,E5,SU,E5,TU,E5,UU,E5,VU,E5,WU,E5,XU,E5,YU,E5,ZU,E5,_U,E5,$U,E5,aV,E5,bV,E5,cV,E5,dV,E5,eV,E5,fV,E5,gV,E5,hV,E5,iV,E5,jV,E5,kV,E5,lV,E5,mV,E5,nV,E5,oV,E5,pV,E5,qV,E5,rV,E5,sV,E5,tV,E5,uV,E5,vV,E5,wV,E5,xV,E5,yV,E5,zV,E5,ed,fd,hd,id,jd,kd,Fu,Nu,Ou,av,fv,MN,_O,xP,yP,zP,BP,DP,Ud,hr,Gj,vk,Yn,jA,rR,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5];var $b=[F5,F5,BV,F5,CV,F5,DV,F5,EV,F5,FV,F5,GV,F5,HV,F5,IV,F5,JV,F5,KV,F5,LV,F5,MV,F5,NV,F5,OV,F5,PV,F5,QV,F5,RV,F5,SV,F5,TV,F5,UV,F5,VV,F5,WV,F5,XV,F5,YV,F5,ZV,F5,_V,F5,$V,F5,aW,F5,bW,F5,cW,F5,dW,F5,eW,F5,fW,F5,gW,F5,hW,F5,iW,F5,jW,F5,kW,F5,lW,F5,mW,F5,nW,F5,oW,F5,pW,F5,qW,F5,rW,F5,sW,F5,tW,F5,uW,F5,vW,F5,wW,F5,xW,F5,yW,F5,zW,F5,AW,F5,BW,F5,CW,F5,DW,F5,EW,F5,FW,F5,GW,F5,HW,F5,IW,F5,JW,F5,KW,F5,Hu,Mu,mz,sy,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5];var ac=[G5,G5,MW,G5,NW,G5,OW,G5,PW,G5,QW,G5,RW,G5,SW,G5,TW,G5,UW,G5,VW,G5,WW,G5,XW,G5,YW,G5,ZW,G5,_W,G5,$W,G5,aX,G5,bX,G5,cX,G5,dX,G5,eX,G5,fX,G5,gX,G5,hX,G5,iX,G5,jX,G5,kX,G5,lX,G5,mX,G5,nX,G5,oX,G5,pX,G5,qX,G5,rX,G5,sX,G5,tX,G5,uX,G5,vX,G5,wX,G5,xX,G5,yX,G5,zX,G5,AX,G5,BX,G5,CX,G5,DX,G5,EX,G5,FX,G5,GX,G5,HX,G5,IX,G5,JX,G5,KX,G5,LX,G5,MX,G5,NX,G5,OX,G5,PX,G5,QX,G5,RX,G5,SX,G5,TX,G5,UX,G5,VX,G5,Xk,Yk,zk,qq,Gq,Jq,Yq,GQ,lL,mL,nL,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5];var bc=[H5,H5,XX,H5,YX,H5,ZX,H5,_X,H5,$X,H5,aY,H5,bY,H5,cY,H5,dY,H5,eY,H5,fY,H5,gY,H5,hY,H5,iY,H5,jY,H5,kY,H5,lY,H5,mY,H5,nY,H5,oY,H5,pY,H5,qY,H5,rY,H5,sY,H5,tY,H5,uY,H5,vY,H5,wY,H5,xY,H5,yY,H5,zY,H5,AY,H5,BY,H5,CY,H5,DY,H5,EY,H5,FY,H5,GY,H5,HY,H5,IY,H5,JY,H5,KY,H5,LY,H5,MY,H5,NY,H5,OY,H5,PY,H5,QY,H5,RY,H5,SY,H5,TY,H5,UY,H5,VY,H5,WY,H5,XY,H5,YY,H5,ZY,H5,_Y,H5,$Y,H5,aZ,H5,bZ,H5,cZ,H5,dZ,H5,eZ,H5,_k,$k,bl,dl,el,il,jl,kl,ll,Bk,Dk,Fk,Gk,nq,pq,Dq,Fq,Lq,Nq,Pq,Qq,Vq,Xq,Ur,Eu,Iu,$u,cv,dv,ev,zN,JN,KN,dR,pR,nR,nO,yO,PQ,ke,kg,lr,uq,vq,zq,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5];var cc=[I5,I5,gZ,I5,hZ,I5,iZ,I5,jZ,I5,kZ,I5,lZ,I5,mZ,I5,nZ,I5,oZ,I5,pZ,I5,qZ,I5,rZ,I5,sZ,I5,tZ,I5,uZ,I5,vZ,I5,wZ,I5,xZ,I5,yZ,I5,zZ,I5,AZ,I5,BZ,I5,CZ,I5,DZ,I5,EZ,I5,FZ,I5,GZ,I5,HZ,I5,IZ,I5,JZ,I5,KZ,I5,LZ,I5,MZ,I5,NZ,I5,OZ,I5,PZ,I5,QZ,I5,RZ,I5,SZ,I5,TZ,I5,UZ,I5,VZ,I5,WZ,I5,XZ,I5,YZ,I5,ZZ,I5,_Z,I5,$Z,I5,a_,I5,b_,I5,c_,I5,d_,I5,e_,I5,f_,I5,g_,I5,h_,I5,i_,I5,j_,I5,k_,I5,l_,I5,m_,I5,n_,I5,o_,I5,p_,I5,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,_c,$c,ad,bd,cd,dd,gd,zm,Am,Bm,Cm,Ku,iA,eA,dA,HB,QB,UO,VO,WO,XO,YO,ZO,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,AP,CP,EC,HP,IP,JP,KP,LP,MP,NP,OP,dQ,eQ,fQ,ti,gq,fu,hu,iu,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5];var dc=[J5,J5,r_,J5,s_,J5,t_,J5,u_,J5,v_,J5,w_,J5,x_,J5,y_,J5,z_,J5,A_,J5,B_,J5,C_,J5,D_,J5,E_,J5,F_,J5,G_,J5,H_,J5,I_,J5,J_,J5,K_,J5,L_,J5,M_,J5,N_,J5,O_,J5,P_,J5,Q_,J5,R_,J5,S_,J5,T_,J5,U_,J5,V_,J5,W_,J5,X_,J5,Y_,J5,Z_,J5,__,J5,$_,J5,a$,J5,b$,J5,c$,J5,d$,J5,e$,J5,f$,J5,g$,J5,h$,J5,i$,J5,j$,J5,k$,J5,l$,J5,m$,J5,n$,J5,o$,J5,p$,J5,q$,J5,r$,J5,s$,J5,t$,J5,u$,J5,v$,J5,w$,J5,x$,J5,y$,J5,z$,J5,A$,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5];var ec=[K5,K5,C$,K5,D$,K5,E$,K5,F$,K5,G$,K5,H$,K5,I$,K5,J$,K5,K$,K5,L$,K5,M$,K5,N$,K5,O$,K5,P$,K5,Q$,K5,R$,K5,S$,K5,T$,K5,U$,K5,V$,K5,W$,K5,X$,K5,Y$,K5,Z$,K5,_$,K5,$$,K5,a0,K5,b0,K5,c0,K5,d0,K5,e0,K5,f0,K5,g0,K5,h0,K5,i0,K5,j0,K5,k0,K5,l0,K5,m0,K5,n0,K5,o0,K5,p0,K5,q0,K5,r0,K5,s0,K5,t0,K5,u0,K5,v0,K5,w0,K5,x0,K5,y0,K5,z0,K5,A0,K5,B0,K5,C0,K5,D0,K5,E0,K5,F0,K5,G0,K5,H0,K5,I0,K5,J0,K5,K0,K5,L0,K5,oN,pN,hl,oq,Eq,Wq,LN,PN,Yh,ui,Jj,Pj,Sk,Tk,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5];var fc=[L5,L5,N0,L5,O0,L5,P0,L5,Q0,L5,R0,L5,S0,L5,T0,L5,U0,L5,V0,L5,W0,L5,X0,L5,Y0,L5,Z0,L5,_0,L5,$0,L5,a1,L5,b1,L5,c1,L5,d1,L5,e1,L5,f1,L5,g1,L5,h1,L5,i1,L5,j1,L5,k1,L5,l1,L5,m1,L5,n1,L5,o1,L5,p1,L5,q1,L5,r1,L5,s1,L5,t1,L5,u1,L5,v1,L5,w1,L5,x1,L5,y1,L5,z1,L5,A1,L5,B1,L5,C1,L5,D1,L5,E1,L5,F1,L5,G1,L5,H1,L5,I1,L5,J1,L5,K1,L5,L1,L5,M1,L5,N1,L5,O1,L5,P1,L5,Q1,L5,R1,L5,S1,L5,T1,L5,U1,L5,V1,L5,W1,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5];var gc=[M5,M5,Y1,M5,Z1,M5,_1,M5,$1,M5,a2,M5,b2,M5,c2,M5,d2,M5,e2,M5,f2,M5,g2,M5,h2,M5,i2,M5,j2,M5,k2,M5,l2,M5,m2,M5,n2,M5,o2,M5,p2,M5,q2,M5,r2,M5,s2,M5,t2,M5,u2,M5,v2,M5,w2,M5,x2,M5,y2,M5,z2,M5,A2,M5,B2,M5,C2,M5,D2,M5,E2,M5,F2,M5,G2,M5,H2,M5,I2,M5,J2,M5,K2,M5,L2,M5,M2,M5,N2,M5,O2,M5,P2,M5,Q2,M5,R2,M5,S2,M5,T2,M5,U2,M5,V2,M5,W2,M5,X2,M5,Y2,M5,Z2,M5,_2,M5,$2,M5,a3,M5,b3,M5,c3,M5,d3,M5,e3,M5,f3,M5,rN,sN,uN,wN,xN,Zk,al,gl,nl,ol,pl,ql,Ak,Ck,Ik,Kq,Mq,Sq,Yr,Zr,bv,JO,mO,yN,DN,EN,FN,GN,HN,NN,cR,hR,MQ,JQ,gR,IQ,XN,LQ,HQ,KQ,oO,pO,qO,zO,AO,BO,ud,vd,qi,jg,Uk,Vk,Wl,Xl,_l,ym,Ct,Gs,eu,gu,ty,kz,lz,Ay,By,_y,ez,xB,yB,jG,pF,qF,WG,XG,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5];var hc=[N5,N5,h3,N5,i3,N5,j3,N5,k3,N5,l3,N5,m3,N5,n3,N5,o3,N5,p3,N5,q3,N5,r3,N5,s3,N5,t3,N5,u3,N5,v3,N5,w3,N5,x3,N5,y3,N5,z3,N5,A3,N5,B3,N5,C3,N5,D3,N5,E3,N5,F3,N5,G3,N5,H3,N5,I3,N5,J3,N5,K3,N5,L3,N5,M3,N5,N3,N5,O3,N5,P3,N5,Q3,N5,R3,N5,S3,N5,T3,N5,U3,N5,V3,N5,W3,N5,X3,N5,Y3,N5,Z3,N5,_3,N5,$3,N5,a4,N5,b4,N5,c4,N5,d4,N5,e4,N5,f4,N5,g4,N5,h4,N5,i4,N5,j4,N5,k4,N5,l4,N5,m4,N5,n4,N5,o4,N5,p4,N5,q4,N5,mN,cl,ml,Ek,Oq,Vr,Wr,AN,BN,ON,CO,gk,hk,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5];var ic=[O5,O5,s4,O5,t4,O5,u4,O5,v4,O5,w4,O5,x4,O5,y4,O5,z4,O5,A4,O5,B4,O5,C4,O5,D4,O5,E4,O5,F4,O5,G4,O5,H4,O5,I4,O5,J4,O5,K4,O5,L4,O5,M4,O5,N4,O5,O4,O5,P4,O5,Q4,O5,R4,O5,S4,O5,T4,O5,U4,O5,V4,O5,W4,O5,X4,O5,Y4,O5,Z4,O5,_4,O5,$4,O5,a5,O5,b5,O5,c5,O5,d5,O5,e5,O5,f5,O5,g5,O5,h5,O5,i5,O5,j5,O5,k5,O5,l5,O5,m5,O5,n5,O5,o5,O5,p5,O5,q5,O5,r5,O5,s5,O5,t5,O5,u5,O5,v5,O5,w5,O5,x5,O5,y5,O5,z5,O5,A5,O5,B5,O5,Lu,Fd,Hd,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5];return{_sqlite3_value_blob:je,_sqlite3_column_name:Se,_sqlite3_reset:he,_sqlite3_column_type:Re,_sqlite3_exec:kf,_sqlite3_result_null:we,_sqlite3_step:Ee,_bitshift64Lshr:HR,_sqlite3_prepare_v2:lf,_sqlite3_close_v2:Df,_sqlite3_open:Pf,_bitshift64Shl:LR,_sqlite3_result_text:xe,_fflush:TQ,_sqlite3_column_bytes:Le,_sqlite3_bind_int:Ve,_sqlite3_bind_blob:Te,_memset:KR,_sqlite3_value_double:me,_memcpy:IR,_sqlite3_result_double:se,_sqlite3_value_text:ke,_sqlite3_changes:Af,_sqlite3_column_blob:Ke,_sqlite3_bind_parameter_index:af,_sqlite3_value_type:pe,_i64Subtract:FR,_sqlite3_column_text:Pe,_i64Add:GR,_sqlite3_value_bytes:le,_sqlite3_finalize:ge,_sqlite3_column_double:Me,_sqlite3_create_function_v2:Hf,_sqlite3_free:Ud,_sqlite3_value_int:ne,_sqlite3_data_count:Je,_sqlite3_bind_text:Ye,_sqlite3_bind_double:Ue,___errno_location:qQ,_RegisterExtensionFunctions:sc,_free:zR,_memmove:JR,_sqlite3_errmsg:mf,_sqlite3_clear_bindings:ie,_malloc:yR,runPostSets:ER,_emscripten_replace_memory:Xb,stackAlloc:jc,stackSave:kc,stackRestore:lc,establishStackSpace:mc,setThrew:nc,setTempRet0:qc,getTempRet0:rc,dynCall_iiii:VR,dynCall_i:eT,dynCall_vi:pU,dynCall_vii:AV,dynCall_iiiiiii:LW,dynCall_ii:WX,dynCall_viii:fZ,dynCall_v:q_,dynCall_iiiii:B$,dynCall_viiiiii:M0,dynCall_iii:X1,dynCall_iiiiii:g3,dynCall_viiii:r4}}) +var Yb=[X5,X5,pS,X5,qS,X5,rS,X5,sS,X5,tS,X5,uS,X5,vS,X5,wS,X5,xS,X5,yS,X5,zS,X5,AS,X5,BS,X5,CS,X5,DS,X5,ES,X5,FS,X5,GS,X5,HS,X5,IS,X5,JS,X5,KS,X5,LS,X5,MS,X5,NS,X5,OS,X5,PS,X5,QS,X5,RS,X5,SS,X5,TS,X5,US,X5,VS,X5,WS,X5,XS,X5,YS,X5,ZS,X5,_S,X5,$S,X5,aT,X5,bT,X5,cT,X5,dT,X5,eT,X5,fT,X5,gT,X5,hT,X5,iT,X5,jT,X5,kT,X5,lT,X5,mT,X5,nT,X5,oT,X5,pT,X5,qT,X5,rT,X5,sT,X5,tT,X5,uT,X5,vT,X5,wT,X5,xT,X5,yT,X5,GN,JN,MN,ON,hl,Jk,oq,Eq,Tq,Wq,Zr,Iu,Lu,VN,$N,nO,NQ,GR,LR,zR,HR,lR,jR,$n,Wm,Zm,Xn,Vn,eo,lo,hG,iG,jG,kR,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5];var Zb=[Y5,Y5,AT,Y5,BT,Y5,CT,Y5,DT,Y5,ET,Y5,FT,Y5,GT,Y5,HT,Y5,IT,Y5,JT,Y5,KT,Y5,LT,Y5,MT,Y5,NT,Y5,OT,Y5,PT,Y5,QT,Y5,RT,Y5,ST,Y5,TT,Y5,UT,Y5,VT,Y5,WT,Y5,XT,Y5,YT,Y5,ZT,Y5,_T,Y5,$T,Y5,aU,Y5,bU,Y5,cU,Y5,dU,Y5,eU,Y5,fU,Y5,gU,Y5,hU,Y5,iU,Y5,jU,Y5,kU,Y5,lU,Y5,mU,Y5,nU,Y5,oU,Y5,pU,Y5,qU,Y5,rU,Y5,sU,Y5,tU,Y5,uU,Y5,vU,Y5,wU,Y5,xU,Y5,yU,Y5,zU,Y5,AU,Y5,BU,Y5,CU,Y5,DU,Y5,EU,Y5,FU,Y5,GU,Y5,HU,Y5,IU,Y5,JU,Y5,DR,pO,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5];var _b=[Z5,Z5,LU,Z5,MU,Z5,NU,Z5,OU,Z5,PU,Z5,QU,Z5,RU,Z5,SU,Z5,TU,Z5,UU,Z5,VU,Z5,WU,Z5,XU,Z5,YU,Z5,ZU,Z5,_U,Z5,$U,Z5,aV,Z5,bV,Z5,cV,Z5,dV,Z5,eV,Z5,fV,Z5,gV,Z5,hV,Z5,iV,Z5,jV,Z5,kV,Z5,lV,Z5,mV,Z5,nV,Z5,oV,Z5,pV,Z5,qV,Z5,rV,Z5,sV,Z5,tV,Z5,uV,Z5,vV,Z5,wV,Z5,xV,Z5,yV,Z5,zV,Z5,AV,Z5,BV,Z5,CV,Z5,DV,Z5,EV,Z5,FV,Z5,GV,Z5,HV,Z5,IV,Z5,JV,Z5,KV,Z5,LV,Z5,MV,Z5,NV,Z5,OV,Z5,PV,Z5,QV,Z5,RV,Z5,SV,Z5,TV,Z5,UV,Z5,ed,fd,hd,id,jd,kd,Hu,Pu,Qu,cv,hv,dO,sP,RP,SP,TP,VP,XP,Ud,jr,Ij,xk,_n,qA,MR,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5];var $b=[_5,_5,WV,_5,XV,_5,YV,_5,ZV,_5,_V,_5,$V,_5,aW,_5,bW,_5,cW,_5,dW,_5,eW,_5,fW,_5,gW,_5,hW,_5,iW,_5,jW,_5,kW,_5,lW,_5,mW,_5,nW,_5,oW,_5,pW,_5,qW,_5,rW,_5,sW,_5,tW,_5,uW,_5,vW,_5,wW,_5,xW,_5,yW,_5,zW,_5,AW,_5,BW,_5,CW,_5,DW,_5,EW,_5,FW,_5,GW,_5,HW,_5,IW,_5,JW,_5,KW,_5,LW,_5,MW,_5,NW,_5,OW,_5,PW,_5,QW,_5,RW,_5,SW,_5,TW,_5,UW,_5,VW,_5,WW,_5,XW,_5,YW,_5,ZW,_5,_W,_5,$W,_5,aX,_5,bX,_5,cX,_5,dX,_5,Ju,Ou,vz,Ay,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5,_5];var ac=[$5,$5,fX,$5,gX,$5,hX,$5,iX,$5,jX,$5,kX,$5,lX,$5,mX,$5,nX,$5,oX,$5,pX,$5,qX,$5,rX,$5,sX,$5,tX,$5,uX,$5,vX,$5,wX,$5,xX,$5,yX,$5,zX,$5,AX,$5,BX,$5,CX,$5,DX,$5,EX,$5,FX,$5,GX,$5,HX,$5,IX,$5,JX,$5,KX,$5,LX,$5,MX,$5,NX,$5,OX,$5,PX,$5,QX,$5,RX,$5,SX,$5,TX,$5,UX,$5,VX,$5,WX,$5,XX,$5,YX,$5,ZX,$5,_X,$5,$X,$5,aY,$5,bY,$5,cY,$5,dY,$5,eY,$5,fY,$5,gY,$5,hY,$5,iY,$5,jY,$5,kY,$5,lY,$5,mY,$5,nY,$5,oY,$5,Zk,_k,Bk,sq,Iq,Lq,_q,$Q,EL,FL,GL,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5,$5];var bc=[a6,a6,qY,a6,rY,a6,sY,a6,tY,a6,uY,a6,vY,a6,wY,a6,xY,a6,yY,a6,zY,a6,AY,a6,BY,a6,CY,a6,DY,a6,EY,a6,FY,a6,GY,a6,HY,a6,IY,a6,JY,a6,KY,a6,LY,a6,MY,a6,NY,a6,OY,a6,PY,a6,QY,a6,RY,a6,SY,a6,TY,a6,UY,a6,VY,a6,WY,a6,XY,a6,YY,a6,ZY,a6,_Y,a6,$Y,a6,aZ,a6,bZ,a6,cZ,a6,dZ,a6,eZ,a6,fZ,a6,gZ,a6,hZ,a6,iZ,a6,jZ,a6,kZ,a6,lZ,a6,mZ,a6,nZ,a6,oZ,a6,pZ,a6,qZ,a6,rZ,a6,sZ,a6,tZ,a6,uZ,a6,vZ,a6,wZ,a6,xZ,a6,yZ,a6,zZ,a6,al,bl,dl,fl,gl,kl,ll,ml,nl,Dk,Fk,Hk,Ik,pq,rq,Fq,Hq,Nq,Pq,Rq,Sq,Xq,Zq,Wr,Gu,Ku,bv,ev,fv,gv,SN,aO,bO,yR,KR,IR,GO,RO,iR,je,kg,nr,wq,xq,Bq,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6,a6];var cc=[b6,b6,BZ,b6,CZ,b6,DZ,b6,EZ,b6,FZ,b6,GZ,b6,HZ,b6,IZ,b6,JZ,b6,KZ,b6,LZ,b6,MZ,b6,NZ,b6,OZ,b6,PZ,b6,QZ,b6,RZ,b6,SZ,b6,TZ,b6,UZ,b6,VZ,b6,WZ,b6,XZ,b6,YZ,b6,ZZ,b6,_Z,b6,$Z,b6,a_,b6,b_,b6,c_,b6,d_,b6,e_,b6,f_,b6,g_,b6,h_,b6,i_,b6,j_,b6,k_,b6,l_,b6,m_,b6,n_,b6,o_,b6,p_,b6,q_,b6,r_,b6,s_,b6,t_,b6,u_,b6,v_,b6,w_,b6,x_,b6,y_,b6,z_,b6,A_,b6,B_,b6,C_,b6,D_,b6,E_,b6,F_,b6,G_,b6,H_,b6,I_,b6,J_,b6,K_,b6,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,_c,$c,ad,bd,cd,dd,gd,Bm,Cm,Dm,Em,Mu,pA,lA,kA,UB,bC,mP,nP,oP,pP,qP,rP,tP,uP,vP,wP,xP,yP,zP,AP,BP,CP,DP,EP,FP,GP,HP,IP,JP,KP,LP,MP,NP,OP,PP,QP,UP,WP,RC,$P,aQ,bQ,cQ,dQ,eQ,fQ,gQ,xQ,yQ,zQ,vi,iq,hu,ju,ku,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6];var dc=[c6,c6,M_,c6,N_,c6,O_,c6,P_,c6,Q_,c6,R_,c6,S_,c6,T_,c6,U_,c6,V_,c6,W_,c6,X_,c6,Y_,c6,Z_,c6,__,c6,$_,c6,a$,c6,b$,c6,c$,c6,d$,c6,e$,c6,f$,c6,g$,c6,h$,c6,i$,c6,j$,c6,k$,c6,l$,c6,m$,c6,n$,c6,o$,c6,p$,c6,q$,c6,r$,c6,s$,c6,t$,c6,u$,c6,v$,c6,w$,c6,x$,c6,y$,c6,z$,c6,A$,c6,B$,c6,C$,c6,D$,c6,E$,c6,F$,c6,G$,c6,H$,c6,I$,c6,J$,c6,K$,c6,L$,c6,M$,c6,N$,c6,O$,c6,P$,c6,Q$,c6,R$,c6,S$,c6,T$,c6,U$,c6,V$,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6,c6];var ec=[d6,d6,X$,d6,Y$,d6,Z$,d6,_$,d6,$$,d6,a0,d6,b0,d6,c0,d6,d0,d6,e0,d6,f0,d6,g0,d6,h0,d6,i0,d6,j0,d6,k0,d6,l0,d6,m0,d6,n0,d6,o0,d6,p0,d6,q0,d6,r0,d6,s0,d6,t0,d6,u0,d6,v0,d6,w0,d6,x0,d6,y0,d6,z0,d6,A0,d6,B0,d6,C0,d6,D0,d6,E0,d6,F0,d6,G0,d6,H0,d6,I0,d6,J0,d6,K0,d6,L0,d6,M0,d6,N0,d6,O0,d6,P0,d6,Q0,d6,R0,d6,S0,d6,T0,d6,U0,d6,V0,d6,W0,d6,X0,d6,Y0,d6,Z0,d6,_0,d6,$0,d6,a1,d6,b1,d6,c1,d6,d1,d6,e1,d6,HN,IN,jl,qq,Gq,Yq,cO,gO,_h,wi,Lj,Rj,Uk,Vk,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6,d6];var fc=[e6,e6,g1,e6,h1,e6,i1,e6,j1,e6,k1,e6,l1,e6,m1,e6,n1,e6,o1,e6,p1,e6,q1,e6,r1,e6,s1,e6,t1,e6,u1,e6,v1,e6,w1,e6,x1,e6,y1,e6,z1,e6,A1,e6,B1,e6,C1,e6,D1,e6,E1,e6,F1,e6,G1,e6,H1,e6,I1,e6,J1,e6,K1,e6,L1,e6,M1,e6,N1,e6,O1,e6,P1,e6,Q1,e6,R1,e6,S1,e6,T1,e6,U1,e6,V1,e6,W1,e6,X1,e6,Y1,e6,Z1,e6,_1,e6,$1,e6,a2,e6,b2,e6,c2,e6,d2,e6,e2,e6,f2,e6,g2,e6,h2,e6,i2,e6,j2,e6,k2,e6,l2,e6,m2,e6,n2,e6,o2,e6,p2,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6,e6];var gc=[f6,f6,r2,f6,s2,f6,t2,f6,u2,f6,v2,f6,w2,f6,x2,f6,y2,f6,z2,f6,A2,f6,B2,f6,C2,f6,D2,f6,E2,f6,F2,f6,G2,f6,H2,f6,I2,f6,J2,f6,K2,f6,L2,f6,M2,f6,N2,f6,O2,f6,P2,f6,Q2,f6,R2,f6,S2,f6,T2,f6,U2,f6,V2,f6,W2,f6,X2,f6,Y2,f6,Z2,f6,_2,f6,$2,f6,a3,f6,b3,f6,c3,f6,d3,f6,e3,f6,f3,f6,g3,f6,h3,f6,i3,f6,j3,f6,k3,f6,l3,f6,m3,f6,n3,f6,o3,f6,p3,f6,q3,f6,r3,f6,s3,f6,t3,f6,u3,f6,v3,f6,w3,f6,x3,f6,y3,f6,z3,f6,A3,f6,KN,LN,NN,PN,QN,$k,cl,il,pl,ql,rl,sl,Ck,Ek,Kk,Mq,Oq,Uq,_r,$r,dv,bP,FO,RN,WN,XN,YN,ZN,_N,eO,xR,CR,fR,cR,BR,bR,oO,eR,aR,dR,HO,IO,JO,SO,TO,UO,ud,vd,si,jg,Wk,Xk,Yl,Zl,am,Am,Et,Is,gu,iu,By,tz,uz,Iy,Jy,gz,nz,IB,JB,VE,GG,LF,MF,rH,sH,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6,f6];var hc=[g6,g6,C3,g6,D3,g6,E3,g6,F3,g6,G3,g6,H3,g6,I3,g6,J3,g6,K3,g6,L3,g6,M3,g6,N3,g6,O3,g6,P3,g6,Q3,g6,R3,g6,S3,g6,T3,g6,U3,g6,V3,g6,W3,g6,X3,g6,Y3,g6,Z3,g6,_3,g6,$3,g6,a4,g6,b4,g6,c4,g6,d4,g6,e4,g6,f4,g6,g4,g6,h4,g6,i4,g6,j4,g6,k4,g6,l4,g6,m4,g6,n4,g6,o4,g6,p4,g6,q4,g6,r4,g6,s4,g6,t4,g6,u4,g6,v4,g6,w4,g6,x4,g6,y4,g6,z4,g6,A4,g6,B4,g6,C4,g6,D4,g6,E4,g6,F4,g6,G4,g6,H4,g6,I4,g6,J4,g6,K4,g6,L4,g6,FN,el,ol,Gk,Qq,Xr,Yr,TN,UN,fO,VO,ik,jk,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6,g6];var ic=[h6,h6,N4,h6,O4,h6,P4,h6,Q4,h6,R4,h6,S4,h6,T4,h6,U4,h6,V4,h6,W4,h6,X4,h6,Y4,h6,Z4,h6,_4,h6,$4,h6,a5,h6,b5,h6,c5,h6,d5,h6,e5,h6,f5,h6,g5,h6,h5,h6,i5,h6,j5,h6,k5,h6,l5,h6,m5,h6,n5,h6,o5,h6,p5,h6,q5,h6,r5,h6,s5,h6,t5,h6,u5,h6,v5,h6,w5,h6,x5,h6,y5,h6,z5,h6,A5,h6,B5,h6,C5,h6,D5,h6,E5,h6,F5,h6,G5,h6,H5,h6,I5,h6,J5,h6,K5,h6,L5,h6,M5,h6,N5,h6,O5,h6,P5,h6,Q5,h6,R5,h6,S5,h6,T5,h6,U5,h6,V5,h6,W5,h6,Nu,Fd,Hd,sB,tB,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6,h6];return{_sqlite3_value_blob:ie,_sqlite3_column_name:Re,_sqlite3_reset:ge,_sqlite3_column_type:Qe,_sqlite3_exec:kf,_sqlite3_result_null:ve,_sqlite3_step:De,_bitshift64Lshr:aS,_sqlite3_prepare_v2:lf,_sqlite3_close_v2:Df,_sqlite3_open:Pf,_bitshift64Shl:eS,_sqlite3_result_text:we,_fflush:mR,_sqlite3_column_bytes:Ke,_sqlite3_bind_int:Ue,_sqlite3_bind_blob:Se,_memset:dS,_sqlite3_value_double:le,_memcpy:bS,_sqlite3_result_double:re,_sqlite3_value_text:je,_sqlite3_changes:Af,_sqlite3_column_blob:Je,_sqlite3_bind_parameter_index:$e,_sqlite3_value_type:oe,_i64Subtract:_R,_sqlite3_column_text:Oe,_i64Add:$R,_sqlite3_value_bytes:ke,_sqlite3_finalize:fe,_sqlite3_column_double:Le,_sqlite3_create_function_v2:Hf,_sqlite3_free:Ud,_sqlite3_value_int:me,_sqlite3_data_count:Ie,_sqlite3_bind_text:Xe,_sqlite3_bind_double:Te,___errno_location:LQ,_RegisterExtensionFunctions:sc,_free:UR,_memmove:cS,_sqlite3_errmsg:mf,_sqlite3_clear_bindings:he,_malloc:TR,runPostSets:ZR,_emscripten_replace_memory:Xb,stackAlloc:jc,stackSave:kc,stackRestore:lc,establishStackSpace:mc,setThrew:nc,setTempRet0:qc,getTempRet0:rc,dynCall_iiii:oS,dynCall_i:zT,dynCall_vi:KU,dynCall_vii:VV,dynCall_iiiiiii:eX,dynCall_ii:pY,dynCall_viii:AZ,dynCall_v:L_,dynCall_iiiii:W$,dynCall_viiiiii:f1,dynCall_iii:q2,dynCall_iiiiii:B3,dynCall_viiii:M4}}) // EMSCRIPTEN_END_ASM diff --git a/js/sql.js b/js/sql.js index 2536a228..95eba051 100644 --- a/js/sql.js +++ b/js/sql.js @@ -36,305 +36,302 @@ function ab(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=wa;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; function Ka(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ka;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; var Aa=Math.abs,ib=Math.cos,jb=Math.sin,kb=Math.tan,lb=Math.acos,mb=Math.asin,nb=Math.atan,ob=Math.atan2,pb=Math.exp,qb=Math.log,rb=Math.sqrt,Da=Math.ceil,Ca=Math.floor,sb=Math.pow,Ba=Math.min,tb=0,ub=null,vb=null;function wb(){tb++;f.monitorRunDependencies&&f.monitorRunDependencies(tb)}f.addRunDependency=wb;function xb(){tb--;f.monitorRunDependencies&&f.monitorRunDependencies(tb);if(0==tb&&(null!==ub&&(clearInterval(ub),ub=null),vb)){var a=vb;vb=null;a()}}f.removeRunDependency=xb; -f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+49760;cb.push(); +f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+48688;cb.push(); z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,154,66,0,0,1,0,1,0,130,0,0,0,159,66,0,0,1,0,1,0,131,0,0,0,164,66,0,0,1,0,1,0,132,0,0,0,169,66,0,0,2,0,1,0,133,0,0,0,174,66,0,0,2,0,1,0,133,0,0,0,180,66,0,0,1,0,1,0,134,0,0,0,186,66,0,0,1,0,1,0,135,0,0,0,192,66,0,0,1,0,1,0,136,0,0,0,198,66,0,0,2,0,1,0,137,0,0,0,209,66,0,0,1,0,1,0,138,0,0,0,217,66, -0,0,1,0,1,0,139,0,0,0,225,66,0,0,1,0,1,0,140,0,0,0,229,66,0,0,1,0,1,0,141,0,0,0,233,66,0,0,1,0,1,0,142,0,0,0,237,66,0,0,1,0,1,0,143,0,0,0,241,66,0,0,1,0,1,0,144,0,0,0,246,66,0,0,1,0,1,0,145,0,0,0,251,66,0,0,1,0,1,0,146,0,0,0,0,67,0,0,1,0,1,0,147,0,0,0,5,67,0,0,1,0,1,0,148,0,0,0,247,100,0,0,1,0,1,0,149,0,0,0,9,67,0,0,1,0,1,0,150,0,0,0,15,67,0,0,2,0,1,0,151,0,0,0,21,67,0,0,1,0,1,0,152,0,0,0,26,67,0,0,1,0,1,0,153,0,0,0,31,67,0,0,1,0,1,0,154,0,0,0,38,67,0,0,1,0,1,0,155,0,0,0,43,67,0,0,1,0,1,0,156,0,0, -0,49,67,0,0,0,0,1,1,157,0,0,0,52,67,0,0,2,0,1,0,158,0,0,0,62,67,0,0,2,0,1,0,159,0,0,0,62,67,0,0,3,0,1,0,159,0,0,0,72,67,0,0,2,0,1,0,160,0,0,0,80,67,0,0,2,0,1,0,161,0,0,0,89,67,0,0,1,0,1,0,162,0,0,0,97,67,0,0,1,0,1,0,163,0,0,0,104,67,0,0,2,0,1,0,164,0,0,0,109,67,0,0,2,0,1,0,165,0,0,0,114,67,0,0,2,0,1,0,166,0,0,0,119,67,0,0,2,0,1,0,167,0,0,0,129,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,135,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,69,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,144,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0,151, -67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,166,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,118,182,0,0,130,182,0,0,142,182,0,0,166,182,0,0,177,182,0,0,197,182,0,0,211,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,101,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,106,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0, -133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,116,176,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,129,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0, -0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0, -137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,83,0,0,32,84,0,0,100,84,0,0,128,84,0,0,157,84,0,0,184,84,0,0,212,84,0,0,237,84,0,0,5,85,0,0,70,85,0,0,129,85,0,0,197,85,0,0,245,85,0,0,101,86,0,0,236,86,0,0,32,87,0,0,98,87,0,0,141, -87,0,0,200,87,0,0,239,87,0,0,27,88,0,0,68,88,0,0,115,88,0,0,157,88,0,0,74,74,0,0,74,74,0,0,195,88,0,0,250,88,0,0,55,89,0,0,174,89,0,0,21,90,0,0,76,90,0,0,134,90,0,0,241,90,0,0,64,91,0,0,129,91,0,0,189,91,0,0,237,91,0,0,87,92,0,0,160,92,0,0,110,82,0,0,170,0,0,0,118,82,0,0,171,0,0,0,136,82,0,0,172,0,0,0,126,82,0,0,173,0,0,0,104,95,0,0,2,0,4,0,107,95,0,0,3,1,3,0,111,95,0,0,3,1,2,0,115,95,0,0,4,0,1,0,126,82,0,0,9,0,0,0,84,99,0,0,6,0,0,0,203,96,0,0,8,0,0,0,212,96,0,0,10,0,0,0,91,99,0,0,5,0,0,0,141,96, -0,0,7,0,0,0,97,99,0,0,10,0,0,0,108,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0, -0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5, -164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0, -8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120, -65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0, -20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0, -6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160, -2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3, -4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4, -91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56, -240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0, +138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0, +0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1, +0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130, +0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0, +0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131, +0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0, +0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0, +243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255, +255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0, +9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24, +47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0, +6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110, +0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156, +0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1, +8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248, +3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68, +7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220, +7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150, +0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0, +0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234, +130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0, +0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0, +0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0, +76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116, +0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0, +0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0, +178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21, +167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168, +0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0, +0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0, +0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0, +25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0, +0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183, +0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0, +185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, +0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0, +199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0, +0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146, +0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0, +0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0, +0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,104,0,0,0,0,2,0,165,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,141,104,0,0,1,0,0,0,144,104,0,0,2,0,0,0,147,104,0,0,6,0, -0,0,151,104,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,135,0,0,1,0,0,0,74,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,13,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,3,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,239,122,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,81,0,0,76,123,0,0,89,123,0,0,0,0,0,0,102,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,94,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,219,124,0,0,0,0,0,0,32,132,0,0,0,0,0,0,8,0,0,0,0,128,0,0,1,1,0,0,0,0,0,0,47,132,0,0,2,0,0,0,0,0,16,0,63,132,0,0,3,0,0,0,0,0,0,0,123,127,0,0,4,1,0,0,0,0,0,0,32,128,0,0,5,0,0,0,0,0,0,0,76,132,0,0,6,0,0,0,0,0,0,0,96,132,0,0,2,0,0,0,0,0,0,32,112,132,0,0,2,0,0,0,16,0,0,0,133,132,0,0,7,0,0,0,0,0,0, -0,148,132,0,0,8,0,0,0,0,0,0,0,164,132,0,0,2,0,0,0,128,0,0,0,178,132,0,0,0,2,0,0,15,0,0,0,191,132,0,0,10,1,0,0,0,0,0,0,205,132,0,0,11,1,0,0,0,0,0,0,224,132,0,0,2,0,0,0,0,0,0,2,243,132,0,0,2,0,0,0,0,1,0,0,135,129,0,0,12,0,0,0,0,0,0,0,10,133,0,0,13,1,0,0,0,0,0,0,28,133,0,0,14,1,0,0,0,0,0,0,45,133,0,0,2,0,0,0,0,0,8,0,58,133,0,0,0,2,0,0,0,0,0,0,73,133,0,0,2,0,0,0,4,0,0,0,91,133,0,0,2,0,0,0,8,0,0,0,101,133,0,0,2,0,0,0,0,32,0,0,126,133,0,0,15,1,0,0,0,0,0,0,145,133,0,0,16,1,0,0,0,0,0,0,156,133,0,0,17,1,0, -0,0,0,0,0,167,133,0,0,16,1,0,0,1,0,0,0,230,128,0,0,18,1,0,0,0,0,0,0,224,127,0,0,19,1,0,0,0,0,0,0,237,127,0,0,20,0,0,0,0,0,0,0,179,133,0,0,2,0,0,0,0,128,0,0,211,127,0,0,22,0,0,0,0,0,0,0,198,133,0,0,23,1,0,0,0,0,0,0,44,128,0,0,24,0,0,0,0,0,0,0,213,133,0,0,23,1,0,0,0,0,0,0,170,127,0,0,25,0,0,0,0,0,0,0,224,133,0,0,2,0,0,0,0,0,0,4,235,133,0,0,18,1,0,0,0,0,0,0,247,133,0,0,2,0,0,0,0,64,0,0,8,134,0,0,2,0,0,0,0,0,4,0,27,134,0,0,2,0,0,0,0,0,2,0,53,134,0,0,0,0,0,0,1,0,0,0,180,127,0,0,26,0,0,0,0,0,0,0,68,134, -0,0,2,0,0,0,64,0,0,0,87,134,0,0,27,0,0,0,0,0,0,0,253,129,0,0,28,0,0,0,0,0,0,0,101,134,0,0,29,1,0,0,0,0,0,0,111,128,0,0,30,1,0,0,0,0,0,0,107,134,0,0,31,1,0,0,0,0,0,0,54,128,0,0,32,0,0,0,0,0,0,0,65,128,0,0,33,0,0,0,0,0,0,0,13,130,0,0,34,0,0,0,0,0,0,0,118,134,0,0,0,0,0,0,6,0,0,0,226,129,0,0,35,0,0,0,0,0,0,0,131,134,0,0,36,1,0,0,0,0,0,0,146,134,0,0,2,0,0,0,0,8,1,0,130,131,0,0,85,131,0,0,162,131,0,0,167,131,0,0,175,131,0,0,99,131,0,0,234,130,0,0,143,131,0,0,149,131,0,0,155,131,0,0,124,131,0,0,130,131, -0,0,85,131,0,0,113,96,0,0,134,131,0,0,139,131,0,0,47,131,0,0,85,131,0,0,102,131,0,0,109,131,0,0,116,131,0,0,95,131,0,0,97,131,0,0,99,131,0,0,47,131,0,0,85,131,0,0,90,131,0,0,47,131,0,0,85,131,0,0,44,131,0,0,47,131,0,0,234,130,0,0,51,131,0,0,56,131,0,0,59,131,0,0,69,131,0,0,79,131,0,0,234,130,0,0,17,99,0,0,240,130,0,0,247,130,0,0,39,130,0,0,1,0,0,0,44,130,0,0,1,0,0,0,50,130,0,0,2,0,0,0,59,130,0,0,3,0,0,0,68,130,0,0,2,0,0,0,76,130,0,0,3,0,0,0,84,130,0,0,0,0,0,0,91,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21, -130,0,0,247,100,0,0,26,130,0,0,9,132,0,0,16,132,0,0,24,132,0,0,217,129,0,0,151,104,0,0,28,132,0,0,79,131,0,0,64,0,0,0,106,130,0,0,66,0,0,0,101,130,0,0,65,0,0,0,30,138,0,0,67,0,0,0,76,119,0,0,3,0,0,0,72,119,0,0,3,0,0,0,74,74,0,0,66,148,0,0,72,148,0,0,77,148,0,0,82,148,0,0,198,148,0,0,204,148,0,0,212,148,0,0,197,156,0,0,202,156,0,0,209,156,0,0,212,156,0,0,215,156,0,0,218,156,0,0,221,156,0,0,224,156,0,0,232,156,0,0,91,99,0,0,51,131,0,0,241,156,0,0,248,167,0,0,1,168,0,0,8,168,0,0,14,168,0,0,97,168,0, -0,107,168,0,0,118,168,0,0,130,168,0,0,141,168,0,0,152,168,0,0,163,168,0,0,168,168,0,0,173,168,0,0,184,168,0,0,196,168,0,0,203,168,0,0,211,168,0,0,219,168,0,0,224,168,0,0,230,168,0,0,244,168,0,0,250,168,0,0,4,169,0,0,9,169,0,0,13,169,0,0,18,169,0,0,21,169,0,0,27,169,0,0,34,169,0,0,41,169,0,0,48,169,0,0,55,169,0,0,58,169,0,0,62,169,0,0,73,169,0,0,82,169,0,0,88,169,0,0,98,169,0,0,103,169,0,0,110,169,0,0,118,169,0,0,121,169,0,0,124,169,0,0,127,169,0,0,130,169,0,0,133,169,0,0,136,169,0,0,147,169,0,0,154, -169,0,0,160,169,0,0,170,169,0,0,181,169,0,0,185,169,0,0,194,169,0,0,203,169,0,0,210,169,0,0,220,169,0,0,227,169,0,0,232,169,0,0,239,169,0,0,246,169,0,0,252,169,0,0,2,170,0,0,8,170,0,0,14,170,0,0,25,170,0,0,36,170,0,0,44,170,0,0,53,170,0,0,59,170,0,0,69,170,0,0,82,170,0,0,93,170,0,0,99,170,0,0,104,170,0,0,111,170,0,0,124,170,0,0,135,170,0,0,140,170,0,0,148,170,0,0,154,170,0,0,161,170,0,0,166,170,0,0,175,170,0,0,180,170,0,0,189,170,0,0,194,170,0,0,199,170,0,0,205,170,0,0,213,170,0,0,223,170,0,0,231, -170,0,0,241,170,0,0,250,170,0,0,1,171,0,0,14,171,0,0,19,171,0,0,31,171,0,0,39,171,0,0,46,171,0,0,55,171,0,0,66,171,0,0,74,171,0,0,80,171,0,0,91,171,0,0,101,171,0,0,111,171,0,0,120,171,0,0,130,171,0,0,144,171,0,0,158,171,0,0,169,171,0,0,182,171,0,0,193,171,0,0,199,171,0,0,211,171,0,0,220,171,0,0,229,171,0,0,236,171,0,0,246,171,0,0,253,171,0,0,8,172,0,0,22,172,0,0,33,172,0,0,40,172,0,0,48,172,0,0,54,172,0,0,62,172,0,0,75,172,0,0,85,172,0,0,95,172,0,0,100,172,0,0,109,172,0,0,117,172,0,0,123,172,0,0, -135,172,0,0,147,172,0,0,159,172,0,0,164,172,0,0,176,172,0,0,189,172,0,0,199,172,0,0,209,172,0,0,221,172,0,0,233,172,0,0,243,172,0,0,249,172,0,0,3,173,0,0,10,173,0,0,22,173,0,0,31,173,0,0,39,173,0,0,48,173,0,0,55,173,0,0,65,173,0,0,72,173,0,0,80,173,0,0,89,173,0,0,95,173,0,0,103,173,0,0,111,173,0,0,121,173,0,0,130,173,0,0,141,173,0,0,146,173,0,0,230,173,0,0,243,173,0,0,0,0,0,0,23,174,0,0,48,174,0,0,79,174,0,0,98,174,0,0,32,100,0,0,123,174,0,0,160,174,0,0,172,174,0,0,187,174,0,0,220,174,0,0,238,174, -0,0,7,175,0,0,36,175,0,0,53,175,0,0,20,159,0,0,98,73,0,0,76,175,0,0,94,175,0,0,112,175,0,0,151,175,0,0,182,175,0,0,203,175,0,0,235,175,0,0,13,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,176,176,0,0,145,0,0,0,0,0,0,0,139,176,0,0,163,0,0,0,0,0,0,0,74,104,0,0,160,0,0,0,0,0,0,0,181,176,0,0,161,0,0,0,0,0,0,0,188,176,0,0,162, -0,0,0,0,0,0,0,193,176,0,0,163,0,0,0,0,0,0,0,199,176,0,0,164,0,0,0,0,0,0,0,209,176,0,0,146,0,0,0,0,0,0,0,215,176,0,0,147,0,0,0,0,0,0,0,220,176,0,0,0,0,0,0,0,0,0,0,226,176,0,0,0,0,0,0,0,0,0,0,234,176,0,0,148,0,0,0,0,0,0,0,240,176,0,0,0,0,0,0,0,0,0,0,247,176,0,0,0,0,0,0,0,0,0,0,0,177,0,0,165,0,0,0,0,0,0,0,7,177,0,0,0,0,0,0,0,0,0,0,17,177,0,0,164,0,0,0,0,0,0,0,24,177,0,0,166,0,0,0,0,0,0,0,38,177,0,0,167,0,0,0,0,0,0,0,44,177,0,0,165,0,0,0,0,0,0,0,50,177,0,0,149,0,0,0,0,0,0,0,57,177,0,0,130,0,0,0,0,0,0, -0,65,177,0,0,137,0,0,0,0,0,0,0,70,177,0,0,168,0,0,0,0,0,0,0,77,177,0,0,0,0,0,0,0,0,0,0,84,177,0,0,131,0,0,0,0,0,0,0,96,177,0,0,150,0,0,0,0,0,0,0,105,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,177,0,0,211,177,0,0,220,177,0,0,225,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0, -173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,90,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,116,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,141,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,150,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,161,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0, -0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,97,141,0,0,0,0,0,0, -255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,101,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,185,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,192,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,199,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,205,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,212,179,0,0,0, -0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,220,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,235,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,241,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,251,179,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,2,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,9,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,20,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,27,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,42,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,59,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,70,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,76,180,0,0,0,0,0,0,0,0,1,0, -0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,94,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,102,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,116,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,124,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,144,180,0,0,0,0,0,0,1,0,1,0,0, -0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,150,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,13,8,66,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,106,130,0,0,0,0,0,0,2,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0,0,3,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0, -0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,74,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,238,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,248,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,253,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0, -11,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,20,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,33,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,51,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,26,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,68,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,38,0,0,0,0,0,0,5,0,0,0, -0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,91,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); -z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133, -1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1, -152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14, -9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148, -1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167, -0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200, -255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240, -202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,19,2,234,1,113,2,207,255,16,1,200,1,254,1,144,1,253,1,50,2,114,0,23,2,102,2,186,2,128,1,226,2,239,2,178,2,163,1,41,2,249,2,204,1,124,2,255,2,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41, -0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,248,2,47,3,88,3,95,3,98,3,100,3,102,3,105,3,113,3,117,3,127,3,129,3,131,3,135,3,139,3,141,3,143,3,145,3,154,3,157,3,168,3,170,3,172,3,176,3,179,3,181,3,183,3,185,3,187,3,194,3,210,3,212,3,216,3,218,3,220,3,223,3,225,3,227,3,229,3,234,3,251,3,253,3,1,4,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,128,3,140,0,4,1,98,0,12,1,252,3,41,0,226,1,41,0,41,0,41,0,41,0,14,1,14,1,14,1,212,0,217,0,127,255,155,1,155,1,38,2,5,0,114,2,106,1,221,2,62,3,224,3,235,3,2,4,27,3, -171,2,39,3,126,2,51,3,241,2,180,3,62,0,49,3,56,3,132,0,175,2,99,2,96,3,9,4,147,1,175,3,198,3,215,3,8,4,14,4,16,4,192,3,228,3,236,1,206,255,57,0,131,0,153,0,221,0,206,1,76,2,84,2,163,2,209,2,52,3,66,3,89,3,146,3,211,3,10,4,41,4,57,4,63,4,71,4,72,4,73,4,74,4,77,4,80,4,81,4,64,1,244,1,143,2,82,4,83,4,247,1,84,4,86,4,89,4,169,2,90,4,91,4,231,3,92,4,93,4,94,4,221,0,95,4,96,4,97,4,98,4,99,4,100,4,20,3,188,3,17,4,27,4,29,4,247,1,43,4,55,4,104,4,56,4,42,4,44,4,21,4,59,4,23,4,79,4,78,4,101,4,102,4,49,4,38, -4,103,4,107,4,65,4,69,4,111,4,28,4,112,4,113,4,35,4,36,4,117,4,60,4,106,4,108,4,109,4,110,4,114,4,115,4,127,4,130,4,116,4,70,4,119,4,121,4,118,4,132,4,134,4,58,4,62,4,138,4,139,4,141,4,126,4,145,4,153,4,146,4,155,4,137,4,142,4,144,4,148,4,143,4,149,4,150,4,151,4,156,4,157,4,158,4,160,4,120,4,122,4,124,4,123,4,125,4,128,4,129,4,136,4,162,4,170,4,161,4,165,4,163,4,167,4,169,4,168,4,172,4,174,4,173,4,178,4,191,4,193,4,202,4,203,4,207,4,208,4,209,4,210,4,179,4,180,4,181,4,197,4,199,4,185,4,187,4,213, -4,59,1,42,3,83,1,36,3,5,0,194,0,194,0,30,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,34,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,184,3,35,3,35,3,35,3,154,3,86,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,88,0,88,0,87,0,87,0,87,0,86,0,83,1,4,3,184,3,184,3,59,1,87,0,87,0,87,0,86,0,83,1,5,3,68,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0, -91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,22,5,146,0,153,3,2,0,59,1,171,1,24,0,167,2,185,3,48,0,86,0,83,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,94,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,165,3,165,3,59,1,3,1,156,1,142,1,140,1,57,0,221,2,221,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,221,4,154,3,86,1,12,1,166, -3,167,3,241,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,145,3,15,5,170,2,175,2,15,5,233,0,141,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,85,0,82,0,168,0,168,2,175,1,170,3,171,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86, -0,83,1,59,1,63,1,145,3,16,5,29,3,143,3,16,5,169,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,79,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,108,3,108,3,117,1,85,0,82,0,168,0,176,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,128,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,114,1,51,1,205,3,111,1,1,0,143,3,177,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,189,0,89,0,89,0, -89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,208,2,180,3,165,3,165,3,149,0,206,2,180,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,82,1,170,3,171,3,179,3,182,2,172,3,206,3,59,1,185,3,48,0,166,3,167,3,203,2,177,2,71,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,64,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,156,1,147,1,52,3,52,3,64,3,67,3,74,0,92,0,81,0, -83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,186,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,3,1,142,2,143,2,144,2,137,1,111,0,75,1,153,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,188,0,187,0,186,0,56,3,169,3,72,1,219,0,185,3,48,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,188,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,226, -2,3,0,150,4,187,3,92,1,225,2,76,1,24,3,165,3,165,3,169,3,79,0,173,1,218,2,3,0,203,0,160,0,22,1,135,1,17,1,134,1,190,0,124,3,178,1,144,1,229,2,76,0,77,0,15,1,31,1,253,0,97,1,242,0,78,0,84,1,84,1,85,0,82,0,168,0,76,0,77,0,233,0,141,1,185,3,48,0,176,1,78,0,84,1,84,1,21,1,166,3,167,3,185,0,183,1,139,2,132,1,129,1,128,1,176,1,234,0,20,1,107,0,162,1,93,1,81,1,80,1,127,1,125,3,216,2,215,0,181,3,123,0,203,3,52,1,42,3,162,1,180,1,179,1,156,1,138,1,30,3,144,1,105,3,126,3,123,0,209,2,104,3,42,3,121,3,180,1, -179,1,215,0,181,3,30,3,95,1,210,2,185,2,124,1,178,1,3,3,115,1,22,0,178,1,144,1,79,0,173,1,232,0,3,0,189,0,157,1,102,3,35,3,35,3,35,3,37,3,18,0,54,0,148,0,185,3,48,0,188,3,113,0,185,3,9,0,35,3,35,3,35,3,37,3,18,0,54,1,123,0,236,2,76,0,77,0,230,2,123,0,69,1,187,3,98,3,78,0,84,1,84,1,113,0,94,1,103,1,85,0,82,0,168,0,87,1,192,3,192,3,176,1,2,3,156,1,158,1,151,1,23,0,216,4,216,4,79,0,173,1,101,1,3,0,166,0,91,0,91,0,91,0,91,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,178,1,180,1, -179,1,24,3,64,1,30,3,76,0,77,0,21,3,15,1,123,0,178,1,104,1,78,0,84,1,84,1,96,3,85,0,82,0,168,0,185,3,9,0,139,1,231,2,104,1,176,1,253,0,102,1,252,0,165,3,165,3,185,3,30,0,121,3,71,1,216,0,35,3,35,3,35,3,37,3,18,0,113,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,113,0,180,1,179,1,24,3,185,0,30,3,32,1,132,1,129,1,128,1,123,0,113,0,152,3,2,0,28,3,184,2,166,3,167,3,127,1,69,0,173,1,178,1,3,0,218,0,110,0,226,2,253,0,102,1,252,0,178,1,225,2,165,3,165,3,124,3,103,1,222,0,35,3,35,3, -35,3,37,3,18,0,185,3,47,0,165,3,165,3,165,3,165,3,76,0,77,0,185,3,9,0,110,1,136,3,217,0,78,0,84,1,84,1,165,2,49,1,48,1,47,1,206,0,45,1,224,0,3,1,152,2,176,1,81,1,80,1,178,1,228,0,247,0,144,0,166,3,167,3,165,3,165,3,155,2,125,3,68,1,235,4,96,0,178,1,162,1,28,3,166,3,167,3,166,3,167,3,185,3,48,0,145,1,148,0,33,1,126,3,42,3,161,1,180,1,179,1,165,2,247,2,30,3,185,3,9,0,58,1,220,0,162,0,161,0,170,0,146,1,239,0,185,3,8,0,194,0,171,2,171,2,154,1,166,3,167,3,238,0,191,3,165,3,165,3,225,0,152,1,177,3,109, -1,189,3,212,0,190,3,172,0,245,2,35,3,35,3,35,3,37,3,18,0,173,0,109,1,176,0,123,0,171,0,113,0,244,0,184,3,246,0,178,1,100,1,28,3,116,1,109,1,236,0,192,3,192,3,42,3,34,1,36,3,191,0,165,0,84,3,30,3,3,1,60,1,166,3,167,3,237,0,185,3,34,0,148,1,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,189,2,184,3,178,1,240,0,91,1,246,2,35,3,35,3,35,3,178,1,245,0,155,4,178,1,133,1,178,1,120,1,178,1,127,3,167,0,178,1,149,1,190,2,185,3,35,0,161,2,65,1,221,0,178,1,77,1,185,3,11,0,178, -1,185,3,26,0,185,3,36,0,185,3,37,0,251,0,185,3,38,0,178,1,3,1,178,1,245,2,178,1,73,1,185,3,27,0,178,1,223,0,185,3,28,0,178,1,178,2,178,1,67,0,178,1,65,0,178,1,94,3,185,3,39,0,185,3,40,0,185,3,41,0,167,1,178,1,185,3,10,0,178,1,4,3,185,3,42,0,185,3,98,0,185,3,43,0,185,3,44,0,5,3,178,1,90,1,178,1,75,0,178,1,73,0,185,3,31,0,178,1,185,3,45,0,178,1,3,1,178,1,178,2,178,1,245,2,178,1,119,3,178,1,185,3,46,0,185,3,32,0,185,3,115,0,178,1,10,1,185,3,116,0,183,3,185,3,117,0,185,3,52,0,185,3,33,0,185,3,99,0,185, -3,49,0,214,2,178,1,141,3,178,1,19,0,185,3,100,0,178,1,88,1,178,1,113,0,178,1,2,1,180,2,178,1,3,1,178,1,158,2,178,1,20,0,178,1,185,3,101,0,185,3,97,0,178,1,3,1,185,3,114,0,185,3,112,0,185,3,105,0,113,0,185,3,104,0,185,3,102,0,185,3,103,0,185,3,51,0,178,1,148,0,178,1,185,3,53,0,167,0,178,1,3,1,113,0,44,1,51,1,144,3,107,1,55,1,92,3,248,0,5,1,209,0,8,1,160,1,185,3,50,0,185,3,25,0,164,1,215,2,185,3,29,0,174,1,65,1,168,1,245,2,172,1,66,1,124,0,245,4,214,0,165,0,198,2,91,3,140,3,38,3,26,3,53,1,158,0,193, -0,105,1,254,0,211,2,108,1,67,0,125,1,13,1,223,2,199,0,67,0,70,0,113,0,188,2,187,2,195,2,196,2,116,3,113,0,254,2,113,0,87,3,193,0,115,3,199,0,101,3,101,3,163,2,100,3,100,3,109,0,112,1,255,0,4,1,7,1,24,1,91,3,9,1,38,3,206,3,11,1,199,2,183,2,16,1,252,2,26,1,27,3,28,1,150,0,232,2,243,2,159,1,36,1,37,1,34,3,166,2,160,2,149,2,148,2,150,2,159,3,6,0,50,1,130,1,96,1,18,3,243,0,250,0,118,3,106,1,163,0,30,1,163,1,42,1,162,3,159,0,200,3,196,0,126,0,135,3,133,3,197,3,55,0,58,0,67,1,19,1,89,3,136,0,147,0,182,2, -88,3,121,0,65,0,98,1,99,1,123,1,175,0,61,0,151,0,113,1,180,0,103,3,119,1,129,0,1,1,244,2,210,0,181,0,145,0,131,0,132,0,121,1,6,1,151,2,133,0,134,0,139,0,15,3,23,3,182,0,136,1,183,0,56,1,74,1,202,2,120,3,201,2,83,3,180,2,195,0,200,2,150,1,174,2,193,2,57,1,173,2,64,0,71,3,18,1,72,0,172,2,78,1,174,3,95,0,240,2,23,1,25,1,192,2,241,2,239,2,166,1,27,1,155,1,238,2,170,1,66,0,204,0,153,1,21,0,29,1,160,3,157,2,181,1,205,0,207,0,208,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,235,0,169, -0,89,1,106,0,222,2,22,3,40,1,38,1,39,1,120,0,41,1,99,3,97,3,127,0,128,0,130,0,212,2,229,0,174,0,249,0,114,3,137,0,230,0,138,0,135,0,117,3,231,0,59,0,60,0,177,0,113,3,7,0,178,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,152,0,154,2,122,1,20,1,184,0,14,1,122,0,142,0,126,1,131,1,62,0,13,0,14,0,191,2,63,0,125,0,61,1,62,1,227,0,41,3,40,3,69,3,220,2,15,0,164,0,224,2,4,0,253,2,211,0,143,1,213,0,192,0,143,0,248,2,70,0,67,0,16,0,17,0,70,3,68,3,123,3,73,3,122,3,198,0,197,0,149,3,154,0,165,1,155,3,150, -3,155,0,200,0,209,3,169,1,72,3,156,0,201,0,39,3,164,2,80,0,46,1,43,1,209,3,202,0,237,4,236,4,16,16,2,16,40,0,52,2,101,3,65,2,213,2,213,2,213,2,227,2,237,255,16,0,16,0,100,0,213,2,213,2,213,2,213,2,213,2,213,2,213,2,73,3,73,3,26,2,251,1,172,2,111,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,203,1,168,1,238,1,17,2,17,2,158,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213, -2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,53,3,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,184,3,199,2,199,2,199,2,199,2,199,2,254,2,23,0,32,0,43,3,109,3,151,2,90,2,90,2,43,3,73,0,113,0,205,255,161,255,161,255,161,255,245,1,245,1,245,1,83,2,83,2,41,3,205,0,20,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,192,0,116,2,242,1,242,1,113,0,222,255,222,255,222,255,222,255, -222,255,222,255,161,255,161,255,161,255,112,3,162,255,162,255,214,2,228,2,99,0,29,3,119,3,93,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,173,3,173,3,173,3,43,3,43,3,158,3,43,3,43,3,43,3,238,255,43,3,43,3,74,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,224,0,96,2,142,3,142,3,142,3,54,4,45,0,213,1,252,1,166,3,202,3,202,3,140,4,166,3,140,4,12,4,159,4,103,1,249,3,202,3,186,3,249,3,249,3,68,4,218,2,241,1,201,4,147,4,147,4,204,4,204,4,147,4,1,5,0,5,154, -4,11,5,11,5,11,5,11,5,147,4,13,5,154,4,1,5,0,5,0,5,154,4,147,4,13,5,152,4,220,4,147,4,147,4,13,5,22,5,147,4,13,5,147,4,13,5,22,5,205,4,205,4,205,4,239,4,22,5,205,4,214,4,205,4,239,4,205,4,205,4,198,4,221,4,198,4,221,4,198,4,221,4,198,4,221,4,147,4,147,4,194,4,22,5,24,5,24,5,22,5,206,4,218,4,219,4,222,4,154,4,67,5,68,5,83,5,83,5,95,5,95,5,95,5,95,5,161,255,161,255,161,255,161,255,161,255,161,255,161,255,161,255,195,1,108,3,90,1,135,4,75,4,185,1,55,3,164,4,87,4,166,4,171,4,175,4,176,4,237,3,105,4,200, -4,21,2,177,4,188,4,131,4,190,4,85,4,88,4,196,4,133,4,11,3,106,5,108,5,90,5,227,4,99,5,21,5,100,5,101,5,102,5,254,4,251,4,16,5,5,5,109,5,6,5,116,5,132,5,14,5,3,5,103,5,104,5,25,5,82,5,78,5,23,5,142,5,139,5,124,5,40,5,8,5,69,5,125,5,70,5,65,5,81,5,47,5,131,5,136,5,138,5,46,5,54,5,140,5,84,5,143,5,144,5,137,5,145,5,85,5,110,5,147,5,94,5,93,5,151,5,152,5,153,5,61,5,156,5,157,5,159,5,158,5,57,5,160,5,162,5,126,5,122,5,165,5,64,5,163,5,127,5,164,5,128,5,163,5,170,5,171,5,172,5,173,5,174,5,176,5,185,5,177, -5,179,5,178,5,180,5,181,5,183,5,184,5,180,5,186,5,188,5,189,5,190,5,192,5,89,5,96,5,97,5,98,5,193,5,200,5,202,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21, -5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, -21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223,3,156,4,56,4,223,3,56, -4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, -21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110, -50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116, -101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99, -47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70, -117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110, -99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,51,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10, -11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152, -153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2, -5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103, -110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,149,0,0,0,102,0,0,0,80,1,1,0,32,0,7,1,94,0,0,1,85,1,0,0,13,0,2,0,109,0,0,0,73,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0, -0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114, -105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,53,45,49,56,32,49,48,58,53,55,58,51,48,32,102,99,52,57,102,53,53,54,101,52,56,57,55,48,53,54,49,100,55,97,98,54,97,50,102,50,52,102,100,100,55,100,57,101,98,56,49,102,102,50,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102, -117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5, -6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73, -83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68, -65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69, -70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101, -31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0, -82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109],"i8",4,l.aa+10350); -z([101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101, -44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100, -32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101, -32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65, -84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122, -101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39, -32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113, -95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67, -84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32, -37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105, -114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89, -32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46, -39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87, -72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79, -32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99, -111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111, -99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101, -108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116, -97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32, -108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82, -32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45, -49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116, -58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0, -119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77, -65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32, -116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39, -0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110, -105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105, -110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75, -69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105, -114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115, -105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32, -37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116, -32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105, -122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108, -0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44, -32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97, -99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110, -99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115, -105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102, -115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116, -104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117, -110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111, -114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197, -1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173, -3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0, -240,2,149,1,149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108, -101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104, -105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69, -32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84, -32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97, -32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101, -114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117, -109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44, -37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100, -101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72, -69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81, -32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32, -110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108, -105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37, -115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79, -82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109, -117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0, -85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111, -111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46, -42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110, -115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32, -37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98, -108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115],"i8",4,l.aa+20590); -z([101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109, -110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98, -108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116, -114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32, -105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79, -77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115, -40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32, -37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111, -111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32, -116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116, -32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32, -118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85, -69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,99,0,1,3,64,1,8,0,74,0,2,0,48,1,2,1,64,1,8,0,74,0,1,0,159,0,0,0,85,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108, -0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,99,0,1,4,21,1,0,0,73,0,2,0,100,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116, -32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105, -0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120, -32,0,89,1,0,0,21,1,4,0,97,0,3,0,85,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,100,0,0,0,2,0,0,0,99,0,1,0,85,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109, -105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109, -117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116, -111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115, -116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101, -95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101, -95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115, -121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121, -0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105, -110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76, -69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32, -34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115, -32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,112,0,0,0,96,0,2,0,113,0,0,0,109,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,55,33,26,23,25,24,59,57,56,58,7,6,55,33,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115, -0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37, -115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120, -32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,1,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,0,0,16,16,16, -0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,0,16,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73, -71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119, -115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117, -114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78, -67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69, -32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83, -32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116, -101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69, -76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111, -108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114, -101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32, -116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65, -82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39, -37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93, -32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37, -115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44, -115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120, -105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,77,0,0,0,55,0,9,0,94,0,0,0,36,0,7,0,121,0,0,0,94,0,1,0,13,0,9,0,7,0,2,0,74,0,0,0,109,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46, -47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,92,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,249,22,172,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52, -53,19,0,1,2,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,168,169,170,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,157,22,23,23,96,26,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,221,222,223,185,27,28,29,30,31,32,33,34,35,36,37,38, -39,40,41,240,43,44,45,46,47,48,49,50,51,52,53,19,227,22,23,230,22,96,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,30,43,44,45,46,47,48,49,50,51,52,53,19,190,191,55,56,24,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,168,169,170,179,180,171,96,19,172,173,97,98,188,179,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,107,43,44,45,46,47,48,49,50,51,52,53,19,207,208,30,31,32,33,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50, -51,52,53,19,152,7,8,9,49,22,19,24,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,101,55,53,193,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,116,22,23,169,170,121,207,85,55,56,97,19,20,195,22,99,100,101,102,103,104,105,12,152,206,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,101,97,98,99,148,149,102,103,104,66,154,112,156,83,229,47,48,113,57,163,194,195,92,246,247,95,83, -97,98,207,208,101,206,59,73,92,75,63,95,163,97,98,194,195,101,219,85,181,19,152,175,77,196,152,206,19,20,199,22,30,163,11,132,133,134,135,136,209,152,172,173,152,196,172,173,132,133,134,135,136,164,92,213,47,48,49,92,186,169,170,54,55,56,196,100,219,221,222,223,243,132,133,66,175,207,208,152,231,119,120,19,20,236,22,152,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,152,97,98,85,107,101,47,48,163,112,92,152,152,54,55,56,229,221,222,223,172,173,163,49,152,66,108,109,110,55,56,172,173,163,186,22, -132,133,134,135,136,196,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,99,101,152,102,103,104,92,196,146,147,152,181,97,98,113,19,20,152,22,218,22,116,108,109,110,152,121,55,56,12,219,218,132,133,134,135,136,172,173,55,56,55,56,47,48,172,173,236,152,5,54,55,56,55,10,11,12,13,14,186,152,17,66,47,48,152,210,16,84,97,98,55,56,21,57,217,122,22,152,83,152,97,98,97,98,172,173,152,152,224,73,95,75,97,98,97,124,101,172,173,164,193,47,48,60,163,62,172,173,24,55,56,186,97,98,71,100,55,56,183,207,185,152, -107,23,109,82,26,132,133,134,135,136,89,152,26,92,93,196,88,55,90,152,91,152,217,152,152,132,133,95,152,97,211,212,103,101,152,114,97,98,152,172,173,19,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,65,97,152,152,141,124,132,133,134,152,140,140,152,78,152,233,152,193,98,152,56,86,172,173,166,167,237,152,217,172,173,152,172,173,172,173,172,173,237,172,173,152,152,152,124,152,111,172,173,152,237,172,173,152,55,152,26,152,130,152,152,172,173,172,173,172,173,249,152,172,173,152,61,172,173,172,173,172, -173,172,173,70,152,193,152,137,152,139,172,173,152,172,173,152,152,152,97,152,26,152,163,152,172,173,172,173,172,173,152,16,172,173,26,172,173,172,173,172,173,172,173,172,173,163,152,152,152,22,172,173,152,241,152,196,152,193,106,152,152,152,163,152,37,152,172,173,172,173,152,152,172,173,172,173,172,173,196,172,173,172,173,172,173,172,173,152,152,152,172,173,98,152,152,196,160,22,23,19,164,193,152,88,232,90,191,172,173,172,173,163,193,172,173,166,167,163,124,163,244,245,23,211,212,26,55,23,55,23, -26,123,26,152,23,193,56,26,23,23,23,26,26,26,196,100,101,7,8,152,196,23,196,23,26,152,26,132,133,23,132,133,26,152,152,152,152,210,97,152,97,96,152,152,152,152,152,210,152,210,197,152,152,152,152,152,152,152,152,152,152,152,152,198,150,176,214,201,214,238,201,238,184,214,226,200,155,198,67,122,242,159,159,69,239,239,159,175,175,22,220,180,175,27,130,18,159,18,158,137,220,159,158,235,74,189,234,159,159,158,22,192,192,177,159,159,192,192,189,201,189,158,107,158,177,76,174,201,174,201,106,159,174,125, -174,182,177,176,107,159,174,137,174,53,174,129,216,215,215,182,216,216,177,215,126,216,177,128,25,127,26,215,13,162,161,153,153,6,151,151,151,151,165,178,165,178,4,3,22,142,15,94,16,205,120,202,204,203,165,201,23,23,131,111,123,20,225,125,16,1,131,228,111,123,56,228,37,37,64,1,5,122,22,107,140,80,80,26,87,72,107,24,20,19,112,105,23,68,22,79,79,22,22,22,58,22,245,248,248,79,23,23,23,116,22,122,23,22,56,23,26,23,64,22,124,26,26,64,64,23,23,23,11,23,22,26,23,22,24,1,23,22,26,250,24,23,22,122,23,23,22, -15,23,250,122,122,122,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27, -27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105, -110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116, -32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111, -114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115, -116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111, -32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69, -32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, -99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109],"i8",4,l.aa+30830); -z([101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115, -117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115, -117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32, -115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32, -87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115, -113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117, -109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46, -115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109, -97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32, -112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117, -115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101, -97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103, -101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115, -0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110, -115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112, -0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,76,97,115,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,83,111,114,116,101,114,83,111,114,116,0,66,105,116,65,110,100,0,66,105,116,79, -114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,83,111,114,116,0,66,105,116,78,111,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102, -90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101, -0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,83,116,114,105,110,103,56,0,67,111,117,110,116,0, -82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101, -0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111, -119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,82,101,97,108,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109, -0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72, -105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101, -0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110, -116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32, -112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100, -0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119, -105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99, -97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97, -103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102, -115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112, -101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66, -67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101, -111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113, -117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54, -55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112, -111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0, -37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65, -66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123, -124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111, -114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101, -115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111, -110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101, -32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108, -105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105, -108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70, -117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115, -32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101, -32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108, -32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101, -116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116, -105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111, -114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41070);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71, +1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143, +1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118, +3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136, +31,150,8,152,31,150,8,168,31],"i8",4,l.aa); +z([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62, +121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255, +170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29, +25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76, +0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0, +217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4, +102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239, +4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209, +3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0, +98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3, +86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0, +178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94, +0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78, +3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83, +0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19, +0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166, +3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8, +3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12, +1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0, +42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121, +0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0, +242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0, +142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1, +134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211, +0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2, +248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31, +6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73, +5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4, +153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5, +252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5, +52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243, +4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111, +4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52, +5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14, +0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, +0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, +116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, +116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, +117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, +101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, +134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, +99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12, +0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110, +111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5, +4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73, +79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67, +65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83, +67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131, +81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8, +0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116, +41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32, +114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101, +109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97, +105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110],"i8",4,l.aa+10240); +z([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69, +32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81, +46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40, +83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111, +99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99, +107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116, +97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98, +108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101, +118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63, +0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101, +39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63, +32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32, +49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69, +32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39, +37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72, +69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32, +105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108, +61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116, +97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79, +73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114, +103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68, +69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80, +32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69, +88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102, +105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78, +44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116, +115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99, +107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37, +81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105, +108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109, +0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115, +116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118, +119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110, +111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115, +0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115, +116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32, +98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178, +0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3, +203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177, +0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1, +168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105, +101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32, +115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115, +0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35, +37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97, +116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32, +97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100, +101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40, +37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115, +113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95, +114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117, +116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95, +115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101, +32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101, +103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117, +108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102, +32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109, +97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115, +0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117, +101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108, +105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105, +98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0, +97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111, +116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37, +115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, +111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101],"i8",4,l.aa+20480); +z([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116, +101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32, +105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114, +45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98, +105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97, +99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110, +97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99, +97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101, +114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115, +32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111, +114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114, +121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78, +79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32, +105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101, +97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115, +115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113, +0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111, +114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111, +117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108, +116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0, +102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114, +121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116, +97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112, +101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32, +110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97, +108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66, +76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111, +119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115, +116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0, +0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55, +56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111, +119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37, +84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116, +101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97, +116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32, +98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119, +0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110, +97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115, +32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101, +32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105, +115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105, +99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32, +109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115, +32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115, +32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103, +101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101, +100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47, +48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119, +120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46, +47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33, +247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206, +179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83, +43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132, +133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172, +173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217, +166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159, +158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64, +22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3, +3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32, +100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114, +101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114, +101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110, +111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114, +111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104, +97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108, +32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65, +67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115, +99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34, +37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118],"i8",4,l.aa+30720); +z([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32, +37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79, +110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101, +32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110, +99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115, +116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115, +45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109, +0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117, +116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116, +0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84, +0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101, +114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112, +97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110, +99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111, +119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112, +73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79, +112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32, +97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, +99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105, +115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116, +32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32, +105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100, +58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114, +0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81, +76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116, +105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2, +14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103, +101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0, +110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110, +116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115, +116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101, +32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97, +114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25, +13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97, +32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99, +101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45, +111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100, +114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117, +115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100, +101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117, +108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109, +111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115, +99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111, +116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114, +101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111, +110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111, +116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+40960);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; var D={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Bb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core", 13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable", @@ -453,22 +450,22 @@ T();T();T();var d=M[c];if(!d)throw new H(D.L);uc(d.g);return 0}catch(e){return"u var W=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.jsCall_iiii;var fa=env.invoke_i;var ga=env.jsCall_i;var ha=env.invoke_vi;var ia=env.jsCall_vi;var ja=env.invoke_vii;var ka=env.jsCall_vii;var la=env.invoke_iiiiiii;var ma=env.jsCall_iiiiiii;var na=env.invoke_ii;var oa=env.jsCall_ii;var pa=env.invoke_viii;var qa=env.jsCall_viii;var ra=env.invoke_v;var sa=env.jsCall_v;var ta=env.invoke_iiiii;var ua=env.jsCall_iiiii;var va=env.invoke_viiiiii;var wa=env.jsCall_viiiiii;var xa=env.invoke_iii;var ya=env.jsCall_iii;var za=env.invoke_iiiiii;var Aa=env.jsCall_iiiiii;var Ba=env.invoke_viiii;var Ca=env.jsCall_viiii;var Da=env._pthread_cleanup_pop;var Ea=env.___syscall85;var Fa=env._sin;var Ga=env._exp;var Ha=env._utimes;var Ia=env._llvm_pow_f64;var Ja=env._acos;var Ka=env.___syscall54;var La=env._pthread_cleanup_push;var Ma=env._abort;var Na=env.___syscall40;var Oa=env.___syscall118;var Pa=env.___setErrNo;var Qa=env.___syscall20;var Ra=env.___syscall183;var Sa=env.___assert_fail;var Ta=env._usleep;var Ua=env._asin;var Va=env.___buildEnvironment;var Wa=env.___syscall202;var Xa=env.___syscall91;var Ya=env._cos;var Za=env.___syscall39;var _a=env._localtime_r;var $a=env._tzset;var ab=env._emscripten_set_main_loop_timing;var bb=env._sbrk;var cb=env.___syscall192;var db=env.___syscall197;var eb=env.___syscall196;var fb=env.___syscall195;var gb=env.___syscall194;var hb=env.___syscall212;var ib=env._sysconf;var jb=env.___syscall94;var kb=env._nanosleep;var lb=env._emscripten_memcpy_big;var mb=env.___syscall221;var nb=env._floor;var ob=env._atan;var pb=env.___syscall201;var qb=env._pthread_self;var rb=env._getenv;var sb=env.___syscall33;var tb=env._log;var ub=env.___unlock;var vb=env.___syscall140;var wb=env.___syscall15;var xb=env._emscripten_set_main_loop;var yb=env.___syscall10;var zb=env._tan;var Ab=env.___syscall3;var Bb=env.___lock;var Cb=env.___syscall6;var Db=env.___syscall5;var Eb=env.___syscall4;var Fb=env._time;var Gb=env._atan2;var Hb=env._gettimeofday;var Ib=env._ceil;var Jb=env._sqrt;var Kb=env._localtime;var Lb=env.___syscall207;var Mb=env.___syscall146;var Nb=0.0; // EMSCRIPTEN_START_FUNCS -function hi(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[960]|0)==0?3:2;while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+152>>2]|0)){Qh(d);break}jg(d,5,26848,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}ku(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(137248)|0;C=c[q>>2]|0;i=D;return C|0}function ii(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=qj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=eu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[18229+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=fu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=eu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=rh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;yR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Sj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);lh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26797,h)|0;je(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Wj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Xj();i=h;return 0}function li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=cu(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function ni(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+164>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function oi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(138404)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+80>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+92|0;g=1568;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+92+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+140>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;xj((c[n>>2]|0)+364|0);xj((c[n>>2]|0)+320|0);pi(c[n>>2]|0,35351,1,0,141,0)|0;pi(c[n>>2]|0,35351,3,0,141,0)|0;pi(c[n>>2]|0,35351,2,0,141,0)|0;pi(c[n>>2]|0,21045,1,0,142,0)|0;pi(c[n>>2]|0,21052,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Qj(c[n>>2]|0,1,35351,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=_j(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)lh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?19007:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=$j(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ak(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ak(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=21058;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=19288;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+80>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);bk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ck(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=dk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);ei(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+80>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function pi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[960]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(137955)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+152>>2]|0){jg(b,5,20977,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Qh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=qj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function qi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+144+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=tj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=tj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,1);a[(c[f>>2]|0)+144+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}vj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=qj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function si(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,20503)|0){if(!(ig(c[d>>2]|0,20511)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,20517)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function ti(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(RQ(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=pj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ai(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Si(c[m>>2]|0)}c[n>>2]=Ti(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Ri(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ci(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Pi(8,c[b>>2]|0);if((c[76]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[75];c[75]=c[c[75]>>2];c[76]=(c[76]|0)+-1;Qi(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Qi(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Di(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[74]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[75];c[75]=c[e>>2];c[76]=(c[76]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Ei(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Mi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Fi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[19019+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=HR(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=wR(b|0,e|0,(Ji(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Ki(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Gi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ii(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Hi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ii(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=19018;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Ki(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;l=v+48|0;m=v+44|0;n=v+40|0;h=v+36|0;j=v+52|0;q=v+32|0;k=v;r=v+28|0;p=v+24|0;o=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]^1);c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[19019+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;j=k;g=c[j>>2]|0;j=c[j+4>>2]|0;if(!h)break;b=HR(g|0,j|0,10,0)|0;e=c[o>>2]|0;e=wR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=vR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(j>>>0>2147483647|(j|0)==2147483647&g>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=vR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);do if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[t>>2]|0)>>>0){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}c[o>>2]=Li(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}if((c[o>>2]|0)>0){c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;u=c[l>>2]|0;i=v;return u|0}}}while(0);c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}function Li(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=19383;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Mi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[19019+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Ni(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[19402+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(19418+(d[19410+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[19443+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[19443+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Ni(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Oi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[19019+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[19019+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Ji(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[19019+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=HR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=wR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=vR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=vR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1036+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=996+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[996+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1036+(c[d>>2]<<2)>>2]=c[996+(c[d>>2]<<2)>>2];i=e;return}function Ri(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[18229+(d[c[h>>2]>>0]|0)>>0]<<2^(d[18229+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[19451+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[19578+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19702+(e[10356+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[20379+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[20255+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Si(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Zi(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Ti(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Ui(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Vi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Wi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Xi(c[g>>2]|0);c[n>>2]=Yi(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Zi(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=wR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=vR(o|0,C|0,1,0)|0;o=FR(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{Zi(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];_i(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Wi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hj(c[d>>2]|0)|0;i=b;return a|0}function Xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;bj(c[(c[d>>2]|0)+96>>2]|0);cj(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function Yi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=aj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$i(c[d>>2]|0);i=b;return}function _i(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function $i(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[423]|0)>>>0?(c[b>>2]|0)>>>0<(c[424]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[426];c[426]=c[e>>2];c[427]=(c[427]|0)+1;c[428]=(c[427]|0)<(c[422]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function aj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=HR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=FR(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function bj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function cj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dj(c[d>>2]|0,0);i=b;return}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)ej(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){AR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function ej(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}fj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}gj(c[d>>2]|0);i=f;return}function fj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+4|0;g=k+8|0;j=k;c[h>>2]=b;a[g>>0]=f;c[j>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1){if((c[(c[j>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[j>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];f=c[(c[h>>2]|0)+36>>2]|0;if(c[(c[h>>2]|0)+32>>2]|0)c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[j>>2]|0)+4>>2]=f;f=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[j>>2]>>2]=f;if(!(c[c[j>>2]>>2]|0))a[(c[j>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){i=k;return}c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[j>>2]|0)+4>>2]=f;if(a[(c[j>>2]|0)+32>>0]|0)a[(c[j>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;c[c[j>>2]>>2]=c[h>>2];if(c[(c[j>>2]|0)+8>>2]|0){i=k;return}if(e[(c[h>>2]|0)+24>>1]&8){i=k;return}c[(c[j>>2]|0)+8>>2]=c[h>>2];i=k;return}function gj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[420]|0)?(c[d>>2]=c[426],(c[d>>2]|0)!=0):0){c[426]=c[c[426]>>2];c[427]=(c[427]|0)+-1;c[428]=(c[427]|0)<(c[422]|0)&1;Pi(7,c[b>>2]|0);Qi(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Pi(7,c[b>>2]|0);Qi(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function ij(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function jj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=ij(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ah(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}yR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;AR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=jj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=jj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function kj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];yR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;AR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(oj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function nj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;nj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function oj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function pj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=rj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=sj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function sj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[18229+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function tj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?20521:20540;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=20554;c[B+8>>2]=20556;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];zj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(qg(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=og(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Aj(z,B,kh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;pg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Aj(c[o>>2]|0,c[m>>2]|0,20632);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Bj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Cj(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Aj(c[o>>2]|0,c[m>>2]|0,20700);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Eh(B,20724,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Dj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Bg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Ej(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)lh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);wj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;wj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function wj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];xj((c[f>>2]|0)+40|0);yj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(j);xj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(h);yj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function zj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;j=r+40|0;s=r+36|0;k=r+28|0;n=r+20|0;l=r+16|0;m=r+12|0;q=r+8|0;p=r+4|0;o=r;c[s>>2]=d;c[r+32>>2]=f;c[k>>2]=g;c[r+24>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20866,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Ij(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Oi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,20874);break a}while(0);Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[(c[l>>2]|0)+144+4>>0]=c[m>>2];s=Ni(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+144>>2]=s;a[(c[l>>2]|0)+144+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+144+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+144+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){lh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Nj(q,s,bf(c[l>>2]|0)|0)}}while(0);Yd(c[p>>2]|0)|0}while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=ph(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Bj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Lj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Dj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+36|0;f=o+32|0;l=o+24|0;g=o+20|0;n=o+16|0;k=o+12|0;h=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=d;c[k>>2]=0;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];b[c[(c[h>>2]|0)+8>>2]>>1]=0;c[g>>2]=c[c[g>>2]>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(ri(c[e>>2]|0,20779,c[l+4>>2]|0)|0){h=c[e>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=Eh(h,20792,m)|0;if(!(c[n>>2]|0)){c[k>>2]=7;break}else{c[k>>2]=$e(c[e>>2]|0,c[n>>2]|0,141,l,0)|0;Tf(c[e>>2]|0,c[n>>2]|0);break}}while(0);c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(b[c[(c[j>>2]|0)+8>>2]>>1]|0))Gj(c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}if((c[k>>2]|0)!=7){n=c[k>>2]|0;i=o;return n|0}lh(c[e>>2]|0);n=c[k>>2]|0;i=o;return n|0}function Ej(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Mg(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Lg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Fj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ri(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Hj(c[q>>2]|0)|0;break}else{c[o>>2]=Ij(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Jj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Jj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Gj(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5302]|0;b[h+2>>1]=b[5303]|0;b[h+4>>1]=b[5304]|0;b[h+6>>1]=b[5305]|0;b[h+8>>1]=b[5306]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;yR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Hj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=qj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Jj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Kj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20833,c[p>>2]|0)|0){r=(Ze(20844,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Ni(j+3|0)|0;r=Kj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20854,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Kj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=BR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=xR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=xR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[10614+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Mj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=aj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Nj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20891;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Eh(e,20893,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Eh(e,20924,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Oj(112037)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(11,c[d>>2]|0,20932)|0;i=b;return a|0}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20952,g);i=f;return c[e>>2]|0}function Qj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Rj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=qj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=rh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;yR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Sj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}lh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=rj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Tj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Uj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=sj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Vj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}yj(c[e>>2]|0);i=j;return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Wj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Xj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;AR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=sj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Vj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Wj(){if(!(c[429]|0))return;Vb[c[1716>>2]&255]();return}function Xj(){if(!(c[430]|0))return;Vb[c[1720>>2]&255]();return}function Yj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=LQ(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(bu((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(bu((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function Zj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function _j(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(LQ(c[n>>2]|0,26639,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=wR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(LQ(26645,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26655,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[19019+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[19019+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(LQ(26683,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(LQ(26687,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4948;c[z>>2]=c[A>>2];c[N>>2]=26687}if((c[D>>2]|0)==4?(LQ(26693,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4972;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26698}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(LQ(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26705,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26725,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){yR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26749,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function $j(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(OQ(c[n>>2]|0,26453)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Xq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=Yq(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else yR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1217];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(OQ(w,Ii(c[c[F>>2]>>2]|0,0)|0)|0)?(w=wi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=_q(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;$q(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=ar(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];cr(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((dr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(er(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(er(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Ti(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+64>>2]=1;c[(c[F>>2]|0)+68>>2]=c[1217];c[1217]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Wq(c[E>>2]|0,0,0)|0))Lj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)fr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ak(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Wq(c[g>>2]|0,84,150)|0;else c[h>>2]=rh(0,84,0)|0;if(!(c[h>>2]|0)){lh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}xj((c[h>>2]|0)+8|0);xj((c[h>>2]|0)+24|0);xj((c[h>>2]|0)+40|0);xj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,26447,2)|0;if((c[e>>2]|0)!=7){i=d;return}lh(c[b>>2]|0);i=d;return}function ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[382]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>>>0>=(c[382]|0)>>>0){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[383]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=Ob[c[h>>2]&255](c[b>>2]|0,j,4012)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];jg(l,a,26408,g);c[d>>2]=0}Kd(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;ek(h);c[j>>2]=fk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}gk(g);hk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)ik(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((jk(c[e>>2]|0,21063,7,c[g>>2]|0)|0)==0?(jk(c[e>>2]|0,21070,7,c[f>>2]|0)|0)==0:0)?(jk(c[e>>2]|0,21077,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=kk(c[d>>2]|0,c[e>>2]|0,21087)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21102,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21110,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21118,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21118,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21128,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,21137,1724,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,21142,1724,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=mk(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){nk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function ek(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2344;i=b;return}function fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,26059,2252,0)|0;i=d;return c[b>>2]|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2224;i=b;return}function hk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2196;i=b;return}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function jk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Fk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Gk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))_p(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?($p(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?($p(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=aq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=aq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){yR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}ok(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;bq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function lk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];nk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,21147,1816,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function nk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;ok(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[e>>2]|0)+12>>2]|0);ok(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function ok(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,21160)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ak(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=21063;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Bk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function qk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function rk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];zk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function uk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];zk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=ae(c[c[k>>2]>>2]|0)|0;c[l>>2]=be(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}yR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=vk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}zk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function wk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{ne(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{ke(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{ke(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function zk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(RQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=RQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];yR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Mk(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=RQ(c[g>>2]|0)|0;c[k>>2]=Ck(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Dk(o,21211,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Ek(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Fk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Gk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Gk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Hk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=SQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=LQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=RQ(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Mk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Nk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Ok(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Pk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Hp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Ip(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=24240;else c[e>>2]=24245;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;ll(f,a,24440,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;ll(f,o,24477,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;ll(f,o,24515,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;ll(f,o,24551,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;ll(f,o,24588,j);if(!(c[f>>2]|0)){o=Qk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Yd(c[(c[d>>2]|0)+8>>2]|0)|0;ep(c[(c[d>>2]|0)+12>>2]|0);Gp(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);xm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Uk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Yd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);xm(c[(c[w>>2]|0)+92>>2]|0);ep(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=fp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=fp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=ae(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(fe(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=de(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=gp(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=hp(c[w>>2]|0)|0;wm(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?24240:24245;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(24249,A)|0}else{A=(d[l+52>>0]|0)!=0?24240:24245;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(24311,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Dn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Pe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Vk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Vk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=dp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(ue(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Zd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=Ee(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Wk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;le(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){ge(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;le(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=rn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=De(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;ke(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ze(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;pe(m,Ge(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Eo(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function _k(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=jl(c[d>>2]|0)|0;i=b;return a|0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=kl(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=co(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=eo(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;wm(c[e>>2]|0);i=g;return c[f>>2]|0}function al(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function bl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];hl(c[d>>2]|0);i=b;return 0}function cl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+80|0;j=m+64|0;n=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[n>>2]=e;e=c[n>>2]|0;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[517];c[l+4>>2]=c[518];c[l+8>>2]=c[519];c[l+12>>2]=c[520];c[l+16>>2]=c[521];c[l+20>>2]=c[522];c[l+24>>2]=c[523];c[l+28>>2]=c[524];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}n=(OQ(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(n){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;n=c[j>>2]|0;i=m;return n|0}else if((b|0)==6){c[j>>2]=0;n=c[j>>2]|0;i=m;return n|0}return 0}function dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=jl(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=kl(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;ll(h,p,21233,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;ll(h,p,21286,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;ll(h,p,21339,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;ll(h,p,21386,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;ll(h,p,21440,l);i=o;return c[h>>2]|0}function el(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=$k(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function fl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];hl(c[e>>2]|0);i=d;return 0}function hl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];il(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}nk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function il(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function jl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23797;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(ue(c[g>>2]|0)|0)==100&1,c[h>>2]=Yd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function kl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ml(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}hl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=nl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Le(c[g>>2]|0,1,2)|0;c[h>>2]=ue(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=De(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Zd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ol(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=pl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=sl(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=tl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=ul(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=vl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=wl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=xl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);yl(c[q>>2]|0);zl(l);i=s;return c[r>>2]|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;yR(f|0,1908,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Re(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Pe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ol(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=hm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=nl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(m,1,e,C)|0;e=c[l>>2]|0;m=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(e,2,m,C)|0;if(100==(ue(c[l>>2]|0)|0)){e=Ee(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Zd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=HR(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=wR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=HR(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=wR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function rl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=nl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(a,1,f,C)|0;if(100==(ue(c[n>>2]|0)|0))c[m>>2]=De(c[n>>2]|0,0)|0;c[o>>2]=Zd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=fm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function tl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ol(c[G>>2]|0);else c[H>>2]=Pl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(LQ(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(LQ(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Sl(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Tl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Ul(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Ul(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Vl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=vR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=vR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Hl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Wl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Il(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;yR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Rl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function ul(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=nl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(ue(c[w>>2]|0)|0)){e=Ee(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Zd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Kl(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Hl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Hl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Hl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=wR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Dl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Ll(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Hl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Hl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=wR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;yR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;yR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);yR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function vl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Jl(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=nl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Me(p,1,a,C)|0;a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Me(a,2,p,C)|0}}else{c[r>>2]=nl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Me(a,1,p,C)|0}}if(!(c[r>>2]|0)){ue(c[q>>2]|0)|0;c[r>>2]=Zd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function wl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=wR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Dl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=El(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=nl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=FR(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=wR(f|0,C|0,1,0)|0;f=HR(f|0,C|0,1024,0)|0;f=vR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=HR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=FR(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=wR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Me(j,1,a,C)|0;a=n;Me(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(ue(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;Cl(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Zd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Me(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(ue(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Le(a,1,u)|0;u=c[r>>2]|0;Le(u,2,De(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Le(u,3,De(c[q>>2]|0,1)|0)|0;ue(c[r>>2]|0)|0;c[t>>2]=Zd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Zd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Zd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Me(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;ue(c[s>>2]|0)|0;c[t>>2]=Zd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function yl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Bl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function zl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Al(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Al(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Bl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function Cl(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Fe(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=HR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=wR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=HR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=wR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=HR(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Dl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=nl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Me(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Je(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function El(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Gl(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=vR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Gl(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Dl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=wR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=wR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=El(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Fl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=nl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Me(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Le(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Me(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Me(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Me(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23769,B)|0;if(c[C>>2]|0){Oe(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Je(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;ue(c[z>>2]|0)|0;c[A>>2]=Zd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Hl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Il((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=xR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Il(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=xR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=nl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Me(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Me(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;ue(c[f>>2]|0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Kl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Kl(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Hl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Hl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;yR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];yR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Ll(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Ll(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ol(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Pl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){yR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ol(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=wR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=em(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}yR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=LQ(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=LQ(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);yR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Tl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;_l(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=am(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=Yl(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ul(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}_l(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=$l(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=am(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(Yl(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=vR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=wR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Vl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=Zl(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}AR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Wl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Xl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=Yl(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Xl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];yR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=BR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=wR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function _l(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;cm(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=HR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=vR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];dm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=Yl(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=HR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=wR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];bm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function $l(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=$l(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];yR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];Yl(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function em(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23779,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23791,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function fm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Pl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=gm(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ol(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Rl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=LQ(a,d,c[g>>2]|0)|0;else c[h>>2]=LQ(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function hm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=im(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=jm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=km(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=ue(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=Ee(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=Ee(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=Ee(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Be(c[A>>2]|0,4)|0;c[F>>2]=Ae(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=lm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=mm((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=jm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Zd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(LQ(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)KQ(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Ek(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){AR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;yR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Al(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function km(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=nl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(k,1,f,C)|0;f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(f,2,k,C)|0}}else{c[n>>2]=nl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function lm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)Zl(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=nm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=em(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=em(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function mm(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];yR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=vR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function nm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}yR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=LQ(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=wR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=LQ(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=24043;c[n>>2]=24047;c[m>>2]=24052;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){je(d,24063,-1);i=p;return}if(tm(d,21102,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=de(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=de(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=ae(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=ae(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){te(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){ne(d,19018,-1,0);i=p;return}if(rn(d,c[l>>2]|0)|0){i=p;return}Wn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(tm(c[e>>2]|0,21110,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(rn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Sn(c[e>>2]|0,c[f>>2]|0);i=g;return}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(tm(c[e>>2]|0,21128,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Qn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,23947,-1,0);i=j;return}case 101:{ne(c[e>>2]|0,23963,-1,0);i=j;return}default:{re(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(tm(c[e>>2]|0,21118,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;um(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((fe(c[k>>2]|0)|0)==4?(be(c[k>>2]|0)|0)==4:0){d=$d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23918,n)|0;je(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23853;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){vm(e,c[g>>2]|0,c[j>>2]|0);wm(c[h>>2]|0);i=k;return}else{ge(e,19018,0,0);i=k;return}}function vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(OQ(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){xm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=ym(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(zm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Am(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){je(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Bm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Cm(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Dm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Em(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;ge(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}re(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function wm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function xm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function ym(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Lm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function zm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Dk(f,23883,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=RQ(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}AR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);yR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Cm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)yR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Dm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Fm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=Yl(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=FR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=wR(f|0,0,e|0,C|0)|0;f=s;f=FR(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Gm(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=Ae(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=Yl(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Zd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Im(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;AR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Jm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Lm(c[w>>2]|0,154,c[j>>2]|0)|0;Mm(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Lm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Zd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Em(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;yR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Fm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Nn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=Ae(c[n>>2]|0,0)|0;o=Yl(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=Mn(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Lm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}AR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Lm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Om(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Kn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Kn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Jm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Jm(c[b+12>>2]|0,c[f>>2]|0);Jm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{In(b,c[f>>2]|0);i=g;return}}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Fn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=En(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=rn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=sn(c[d>>2]|0)|0;c[f>>2]=0==(tn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;un(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Om(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Pm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0}function Om(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Qm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Rm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Rm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=vR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,HR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Sm(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=vR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=HR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;_l(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Xl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0} -function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[352+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[352+((c[f>>2]|0)*12|0)>>2]|0,a[352+((c[f>>2]|0)*12|0)+4>>0]|0,d[352+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[352+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[832+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[832+(c[f>>2]<<4)>>2]|0,a[832+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[832+(c[f>>2]<<4)+8>>2]|0,c[832+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,378,17374);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,379,17383);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,380,17392);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(17401,17350,570,17409);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);ie(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}me(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,394,17418);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+nQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,402,17428);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+oQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,410,17438);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+pQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(17401,17350,1680,17448);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}ke(c[f>>2]|0,c[j>>2]|0);i=o;return}me(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,498,17852);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,499,17864);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,420,17876);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,419,17884);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,421,17892);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,422,17900);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,446,17908);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+qQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,438,17917);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+uQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,454,17926);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+vQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,456,17935);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,474,17944);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,472,17952);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,473,17960);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+sQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(17401,17350,546,17970);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);c[(gQ()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){ie(e,+h[k>>3]);i=l;return}else{m=hQ(c[(gQ()|0)>>2]|0)|0;je(e,m,c[(gQ()|0)>>2]|0);i=l;return}}me(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17342,17350,590,17980);switch(fe(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=ee(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;le(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[j>>2]|0);i=k;return}default:{h[g>>3]=+ce(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);ie(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,375,17989);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,514,17998);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=ee(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;le(a,HR(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);ie(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17342,17350,620,18009);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17342,17350,645,18018);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;ie(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(fe(c[c[f>>2]>>2]|0)|0)){i=n;return}a=ee(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[e>>2]|0,18028,-1);i=n;return}a=be(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=HR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=wR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=wR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;PQ(o,ae(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=HR(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;PQ(o+k|0,c[m>>2]|0)|0;k=g;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}ne(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}te(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(18041,17350,1038,18059);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(de(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;ke(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}me(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,1073,18073);if(5!=(fe(c[c[h>>2]>>2]|0)|0)?5!=(fe(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=de(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){TQ(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;ne(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{te(c[g>>2]|0);i=p;return}}me(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,1113,18082);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[k>>2]=de(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){PQ(c[l>>2]|0,c[o>>2]|0)|0;ne(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{te(c[f>>2]|0);i=p;return}}me(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(18092,17350,1323,18100);if(5==(fe(c[c[g>>2]>>2]|0)|0)){me(c[f>>2]|0);i=o;return}c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[j>>2]=RQ(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){te(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}ne(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(17342,17350,724,18112);if(5==(fe(c[c[f>>2]>>2]|0)|0)){me(c[g>>2]|0);i=n;return}c[k>>2]=ae(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){te(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(bQ(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=fQ(f)|0;else a[j>>0]=eQ(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(17401,17350,771,18123);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[m>>2]|0);i=o;return}c[j>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[m>>2]|0,18028,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){ne(f,c[n>>2]|0,-1,-1);break}te(f);i=o;return}else{p=RQ(f)|0;b=h;b=wR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=vR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=wR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){te(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=wR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}PQ(f,c[j>>2]|0)|0}while(0);ne(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,825,18160);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18028,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=RQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=wR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=vR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=wR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}q=PQ(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=wR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,880,18169);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18028,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=RQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=wR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=vR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=wR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=wR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}PQ(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=wR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(17401,17350,939,18178);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=ae(c[c[g>>2]>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((RQ(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){te(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);TQ(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;ne(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}me(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(17342,17350,1395,18192);c[j>>2]=xe(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=wR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+ce(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(17342,17350,1418,18205);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=xe(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=qR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=ee(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=qR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+ce(e);c[l>>2]=qR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);pR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;le(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{ie(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=HR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=qR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,17333)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=wR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((aQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){PQ(c[j>>2]|0,17591)|0;i=l;return}e=(fQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[17463+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[17596+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[928+(c[f>>2]<<2)>>2]|0);if(((c[944+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+vQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((RQ(c[d>>2]|0)|0)+1|0)|0;a=PQ(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(18132,17350,316,18141);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[17596+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=wR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=wR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);pR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;ie(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){le(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;ie(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=wR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=vR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=wR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=wR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=wR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,18221,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=7){d=9;break}if((zd(c[d>>2]|0,c[968+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[968+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[18229+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[18229+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[18229+(d[c[j>>2]>>0]|0)>>0]|0)-(d[18229+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<7){c[b>>2]=c[968+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(18094)|0;l=c[g>>2]|0;i=m;return l|0}if(a[18485+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[996+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1036+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1036+(c[h>>2]<<2)>>2]=c[996+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[269];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(OQ(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1080;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[269]|0;if((c[g>>2]|0)!=0|(c[269]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[269]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[269]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=288;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=288;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[77]=a&1;l=Hd()|0;k=f;k=vR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[18495]=0;i=m;return}if(!(a[18495]|0)){a[18497]=0;a[18496]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18498+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18497]=(d[18497]|0)+((d[18498+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[18498+(d[18497]|0)>>0]|0;a[18498+(d[18497]|0)>>0]=a[18498+(c[h>>2]|0)>>0]|0;a[18498+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[18495]=1}do{a[18496]=(a[18496]|0)+1<<24>>24;a[k>>0]=a[18498+(d[18496]|0)>>0]|0;a[18497]=(d[18497]|0)+(d[k>>0]|0);a[18498+(d[18496]|0)>>0]=a[18498+(d[18497]|0)>>0]|0;a[18498+(d[18497]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[18498+(d[18496]|0)>>0]|0);j=a[18498+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1172+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=og(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;pg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(qg(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=og(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=rg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=rg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=sg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=tg(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=ug(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=wg(b,a,vg(c[o>>2]|0)|0,0)|0;xg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))yg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=zg(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Bg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Cg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=HR(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Dg(c[x>>2]|0)|0;Eg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=ug(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Fg(c[n>>2]|0)|0;xg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Gg(c[x>>2]|0,0,1)|0;o=(c[381]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[381]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[381]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=FR(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=wR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=ug(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=vg(c[A>>2]|0)|0;q=u;c[D>>2]=Hg(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}xg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=wR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Jg(c[x>>2]|0,0)|0}else{Kg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Gg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Lg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0;Lg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Ng(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Og(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Pg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Pg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+168>>2]|0;i=d;return e|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Qg(c[g>>2]|0)|0){c[b>>2]=Lf(74636)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Sg(c[g>>2]|0)|0;c[f>>2]=Tg(c[e>>2]|0,c[f>>2]|0)|0;Pg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Ug(c[f>>2]|0)|0;Vg(c[f>>2]|0);c[e>>2]=Tg(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function _d(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=e;c[h>>2]=0;c[g>>2]=c[k>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Wg((c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)+8>>1]=1;c[f>>2]=(c[f>>2]|0)+1}if(!((d[(c[g>>2]|0)+89>>0]|0)>>>7&255)){k=c[h>>2]|0;i=j;return k|0}if(!(c[(c[g>>2]|0)+188>>2]|0)){k=c[h>>2]|0;i=j;return k|0}k=(c[g>>2]|0)+87|0;a[k>>0]=a[k>>0]&-2|1;k=c[h>>2]|0;i=j;return k|0}function $d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ae(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if(Xg(c[f>>2]|0)|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Yg(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ce(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+_g(c[e>>2]|0);i=d;return +b}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function fe(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18754+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){dh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{ch(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function ie(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;eh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;fh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;gh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;gh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[c[d>>2]>>2]|0);i=b;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function oe(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[960]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){dh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{ch(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ih(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{jh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;fh(b,kh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;fh(c[c[e>>2]>>2]|0,18786,-1,1,0)|0;i=d;return}function te(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;hh(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;lh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+32|0;e=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[h>>2]=0;c[j>>2]=0;c[l>>2]=c[e>>2];c[f>>2]=0;if(mh(c[l>>2]|0)|0){c[d>>2]=Lf(75187)|0;m=c[d>>2]|0;i=n;return m|0}c[g>>2]=c[c[l>>2]>>2];b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3;while(1){b=nh(c[l>>2]|0)|0;c[h>>2]=b;if((b|0)!=17)break;b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)>=50)break;c[k>>2]=c[(c[l>>2]|0)+76>>2];b=oh(c[l>>2]|0)|0;c[h>>2]=b;c[j>>2]=b;if(c[h>>2]|0)break;Zd(c[e>>2]|0)|0;if((c[k>>2]|0)<0)continue;b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3|2}do if(c[j>>2]|0){c[m>>2]=ae(c[(c[g>>2]|0)+240>>2]|0)|0;Tf(c[g>>2]|0,c[(c[l>>2]|0)+44>>2]|0);if(a[(c[g>>2]|0)+69>>0]|0){c[(c[l>>2]|0)+44>>2]=0;c[h>>2]=7;c[(c[l>>2]|0)+80>>2]=7;break}else{m=ph(c[g>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=m;c[(c[l>>2]|0)+80>>2]=c[j>>2];break}}while(0);c[h>>2]=Tg(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=c[h>>2];m=c[d>>2]|0;i=n;return m|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=qh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function ye(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function ze(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=be(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+ce(sh(c[f>>2]|0,c[g>>2]|0)|0);th(c[f>>2]|0);i=e;return +(+h[d>>3])}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=de(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=ee(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;th(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ge(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=sh(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=uh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Ke(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}eh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Me(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=wh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;gh((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=wh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Pe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(fe(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Ke(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Qe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Je(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=vh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Ne(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}jh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Re(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+68>>1]|0;i=e;return f|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=xh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=fe(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];zh(c[e>>2]|0,0);c[d>>2]=fe(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=rh(c[F>>2]|0,36,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ah(c[F>>2]|0,544,0)|0,(c[J>>2]|0)!=0):0){while(1){AR(c[J>>2]|0,0,544)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Bh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Ch(h,18809,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Ch(h,18839,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Ch(h,18875,E)}if(!(c[A>>2]|0)){k=13;break}c[(c[I>>2]|0)+32>>2]=c[A>>2];h=Dh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;c[(c[I>>2]|0)+28>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(h<<4)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18917;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18929;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Fh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Dh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Gh(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Hh(c[B>>2]|0,1);c[s>>2]=Ih(c[B>>2]|0,9,18971,0)|0;Jh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Kh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=103;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+444>>1]=1;c[(c[J>>2]|0)+76>>2]=1;c[(c[J>>2]|0)+72>>2]=1;Lh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Me(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Mh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Eh(P,18896,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Eh(N,18937,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19007:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Sg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19007:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Yd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Ph(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(84093)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Mh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?19007:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Tg(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Rh(c[f>>2]|0,c[e>>2]|0,19010,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Rh(c[h>>2]|0,c[g>>2]|0,19014,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Sh(c[k>>2]|0)|0)){c[j>>2]=Lf(108096)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=19018;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=ye(c[v>>2]|0)|0;do{c[w>>2]=ue(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=rh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Ie(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Fe(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(He(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Sg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[19019+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)lh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Sg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Sg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Tg(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;yR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=kh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=kh(Lf(137829)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=ae(c[(c[e>>2]|0)+240>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=kh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=kh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Vh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;n=q+12|0;m=q+8|0;p=q+4|0;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[p>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[m>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=rh(c[h>>2]|0,544,0)|0;if(!(c[l>>2]|0))c[n>>2]=7;else{a[(c[l>>2]|0)+454>>0]=1;c[c[l>>2]>>2]=c[h>>2];c[(c[l>>2]|0)+428>>2]=1;if((((0==(Wh(c[l>>2]|0,c[j>>2]|0,p)|0)?(c[(c[l>>2]|0)+488>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[l>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[l>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[m>>2]|0)+4>>2]|0)){c[(c[m>>2]|0)+4>>2]=c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2];b[(c[m>>2]|0)+34>>1]=b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]|0;b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]=0;c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2]=0}c[(c[k>>2]|0)+12>>2]=1}else{m=c[h>>2]|0;f=(c[p>>2]|0)!=0?19007:0;c[o>>2]=c[p>>2];jg(m,1,f,o);Tf(c[h>>2]|0,c[p>>2]|0);c[n>>2]=1}a[(c[l>>2]|0)+454>>0]=0;if(c[(c[l>>2]|0)+8>>2]|0)Sg(c[(c[l>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[l>>2]|0)+488>>2]|0);Nh(c[l>>2]|0);Tf(c[h>>2]|0,c[l>>2]|0)}c[n>>2]=Tg(c[h>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(121797)|0;p=c[g>>2]|0;i=q;return p|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[19275+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(122248)|0;break}}else c[j>>2]=Lf(122256)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 18214}function kf(){return 19293}function lf(){return 3013e3}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(136010)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))Zh();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(_h()|0)+($h()|0)+(ai()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))bi();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ci(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1001){d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=ei(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=4){q=16;break}if((c[1536+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==16){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1536+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1536+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Qh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1536+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=rh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=hi(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Tg(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ii(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=hi(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Tg(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+224>>2];c[(c[g>>2]|0)+220>>2]=c[j>>2];c[(c[g>>2]|0)+224>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=li(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,19354,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=mi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Tg(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Uh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(137898)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1568+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1568+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=oi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=vi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Dg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=wi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=xi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=yi(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=OQ(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Ei(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(RQ(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[19019+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(21,c[d>>2]|0,46703)|0;i=b;return a|0}function Mf(){return c[425]|0}function Nf(){return c[70]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}mv(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);gv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=h;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){i=h;return}_P(c[e>>2]|0,c[f>>2]|0);i=h;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;BC(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);BC(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];ZP(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+64>>2]|0);ZP(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){YP(a,b);i=g;return}if(ju(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))Zh();c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[75]=c[d>>2];c[76]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[74]=(c[d>>2]|0)+4}else{c[74]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){HO();IO();JO(7788,57);return}function Wf(){if(!(c[31]|0))bi();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[417]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[420]=c[f>>2];b=c[g>>2]|0;c[427]=b;c[421]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[422]=d;c[423]=c[e>>2];c[426]=0;c[428]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[426];c[426]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[424]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[269]|0)==(c[d>>2]|0)){c[269]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[269]|0)){i=f;return}c[e>>2]=c[269];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[996+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){GO(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=996+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Pi(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=288;a=c[h>>2]|0;a=vR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)FO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=288;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){FO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Qi(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=16;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);nA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=AO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=AO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=45712;a[na>>0]=16;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[45712+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=45712+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 13:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(a[m>>0]|0)h[ea>>3]=+BO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==3&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==1)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(VF(+h[ea>>3])|0){c[p>>2]=45899;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[45903]|0;a[b+1>>0]=a[45904]|0;a[b+2>>0]=a[45905]|0;a[b+3>>0]=a[45906]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=1?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==3){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=1;break c}while(0);a[na>>0]=2}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==2)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=wR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=wR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=wR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=wR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=wR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=CO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=CO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==2){f=a[45859+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 4:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 7:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 8:{if(a[m>>0]|0){c[p>>2]=DO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){EO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}EO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 6:case 5:{if(a[m>>0]|0){c[p>>2]=DO(c[X>>2]|0)|0;a[na>>0]=5}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==6)c[oa>>2]=c[p>>2]}else c[p>>2]=19018;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 14:case 10:case 9:{a[da>>0]=(d[na>>0]|0)==14?34:39;if(a[m>>0]|0)c[v>>2]=DO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==10?40184:45907;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==10;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 11:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)nA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 12:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){ND(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);nA(c[j>>2]|0,45537,1)}ND(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=AO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=vR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=AO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==15){sa=R;sa=JR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=IR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=JR(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[45850+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[45850+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=45859+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=JR(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=IR(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=45892+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))EO(c[j>>2]|0,c[ja>>2]|0,32);nA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)EO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){nA(c[j>>2]|0,45710,1);i=ra;return}else if((qa|0)==92){rA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){rA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){rA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ah(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){yR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{rA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[18229+(d[c[e>>2]>>0]|0)>>0]|0)-(d[18229+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];yJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+240>>2]|0)==0?(g=Xh(c[f>>2]|0)|0,c[(c[f>>2]|0)+240>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=kx(c[f>>2]|0,c[h>>2]|0,j)|0;Yh(c[(c[f>>2]|0)+240>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}AR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+240>>2]|0)==0:0){i=f;return}aN(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=zH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=ZM(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=_M(k,m,Xq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=hM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)EB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(br(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(er((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)dt((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=eM(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=YM(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=er((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function qg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function rg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function sg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function ug(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Oj(51210)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=24}else{if(((c[o>>2]|0)!=0?(zr(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Fs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=HR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=nL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if(!((d[(c[l>>2]|0)+17>>0]|0|0)<=1?(d[(c[l>>2]|0)+13>>0]|0|0)==0:0))c[r>>2]=fs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=VM(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=HR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ks(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=ks(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=WM(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ls(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=24}while(0);do if((j|0)==24){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[381]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){u=(zr(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Fs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Gs(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Wj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)jj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;Qt(c[l>>2]|0,c[m>>2]|0)|0;Xj()}AR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Oj(51299)|0}while(0);if(c[r>>2]|0)Es(c[r>>2]|0);Js(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function wg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=rg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=rg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=HR(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(SJ(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=vR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=FR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=ug(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Fg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=GR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=vg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=GR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,yR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(St(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;dt(x,tg(c[(c[g>>2]|0)+24>>2]|0)|0)}xg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=wR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Hs(c[b>>2]|0);i=d;return}function yg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Ng(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function zg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=hM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Fg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}dt((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)wj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;su(c[b>>2]|0);zB(c[b>>2]|0);i=f;return}function Cg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=og(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=og(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Fg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Dg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Fg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=ut(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=PM(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=QM(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Gg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[(c[h>>2]|0)+44>>2];o=c[g>>2]|0;i=p;return o|0}if(zi(400)|0){c[g>>2]=10;o=c[g>>2]|0;i=p;return o|0}if((d[(c[h>>2]|0)+17>>0]|0|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}e=0==(wr(c[h>>2]|0,1)|0);f=c[h>>2]|0;do if(!e){e=(zr(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=ys(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=ug(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=vt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;xg(c[n>>2]|0);if(c[o>>2]|0)break;xr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=NM(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=OM(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=wt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=xt(n,ys(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){xr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[381]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=Br(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Jg(c[h>>2]|0,c[j>>2]|0)|0}}else bj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(zr(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Hg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Vi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=sr(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Jg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=yi(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=tr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Lg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=MM(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;HM(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);IM(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=LM(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Kg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Gg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Og(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=AH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=BI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;IM(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=or(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(BF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=er((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Eg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];DB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;HM(c[l>>2]|0);f=c[g>>2]|0;IM(f);f=c[n>>2]|0;i=q;return f|0}function Pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+80>>2]|0)!=1691352191){i=m;return}if(nu(c[d>>2]|0)|0){i=m;return}DI(c[d>>2]|0,0);EI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(yB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)wj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);su(c[d>>2]|0);zB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{ku(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);OH(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);bh(c[(c[d>>2]|0)+240>>2]|0);c[(c[d>>2]|0)+80>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+80>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,45108,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;h=d;c[f>>2]=a;c[e>>2]=b;VH(c[c[f>>2]>>2]|0,h)|0;g=c[(c[f>>2]|0)+188>>2]|0;f=c[(c[f>>2]|0)+192>>2]|0;a=c[(c[e>>2]|0)+168>>2]|0;b=(c[e>>2]|0)+128|0;b=vR(c[h>>2]|0,c[h+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=HR(b|0,C|0,1e6,0)|0;_b[g&255](f,a,b,C);b=(c[e>>2]|0)+128|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Ug(c[b>>2]|0)|0;av(c[b>>2]|0);i=e;return c[d>>2]|0}function Tg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=GM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Ug(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];eI(c[e>>2]|0)|0;b=c[e>>2]|0;if((c[(c[e>>2]|0)+76>>2]|0)>=0){ZH(b)|0;Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0;if((d[(c[e>>2]|0)+89>>0]|0)>>>3&1){g=(c[e>>2]|0)+87|0;a[g>>0]=a[g>>0]&-2|1}}else if((c[b+80>>2]|0)!=0?(a[(c[e>>2]|0)+87>>0]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[e>>2]|0)+80>>2]|0;b=(c[(c[e>>2]|0)+44>>2]|0)!=0?19007:0;c[g>>2]=c[(c[e>>2]|0)+44>>2];jg(k,j,b,g);Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0}FM(c[e>>2]|0);k=(c[e>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[e>>2]|0)+40>>2]=649915045;i=h;return c[(c[e>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Vg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+88>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}EM(c[b>>2]|0);i=d;return}function Xg(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(Hx(c[f>>2]|0,c[g>>2]|0,1)|0)){AR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Yg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=DM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=CM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function _g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Xy(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=Dx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Ki(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function ah(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Xg(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Hx(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function bh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Wg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((fh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}se(c[h>>2]|0);i=j;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}se(c[g>>2]|0);i=h;return 18}function eh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;hh(c[e>>2]|0);if(VF(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function fh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){hh(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+92>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Wg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=iu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(Gx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){yR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(BM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function gh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;AM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function hh(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){RF(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function ih(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)RF(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=ah(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function jh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Wg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function kh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=44482;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[7072+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[7072+(c[b>>2]<<2)>>2]}else c[d>>2]=44496;i=e;return c[d>>2]|0}function lh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+164>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function mh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,44442,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Qg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function nh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;if((c[(c[f>>2]|0)+40>>2]|0)!=-1108210269)Zd(c[f>>2]|0)|0;c[g>>2]=c[c[f>>2]>>2];b=c[f>>2]|0;if(a[(c[g>>2]|0)+69>>0]|0){c[b+80>>2]=7;c[e>>2]=7;h=c[e>>2]|0;i=j;return h|0}if((c[b+76>>2]|0)<=0?(a[(c[f>>2]|0)+87>>0]&1|0)!=0:0){c[(c[f>>2]|0)+80>>2]=17;c[h>>2]=1}else{if((c[(c[f>>2]|0)+76>>2]|0)<0){if(!(c[(c[g>>2]|0)+152>>2]|0))c[(c[g>>2]|0)+248>>2]=0;if(((c[(c[g>>2]|0)+188>>2]|0)!=0?(a[(c[g>>2]|0)+144+5>>0]|0)==0:0)?(c[(c[f>>2]|0)+168>>2]|0)!=0:0)VH(c[c[g>>2]>>2]|0,(c[f>>2]|0)+128|0)|0;b=(c[g>>2]|0)+152|0;c[b>>2]=(c[b>>2]|0)+1;if(!((d[(c[f>>2]|0)+89>>0]|0)>>>5&1)){b=(c[g>>2]|0)+160|0;c[b>>2]=(c[b>>2]|0)+1}if((d[(c[f>>2]|0)+89>>0]|0)>>>6&1){b=(c[g>>2]|0)+156|0;c[b>>2]=(c[b>>2]|0)+1}c[(c[f>>2]|0)+76>>2]=0}if(a[(c[f>>2]|0)+89>>0]&3)c[h>>2]=WH(c[f>>2]|0)|0;else{b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=XH(c[f>>2]|0)|0;b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+-1}if((c[h>>2]|0)!=100?(b=(c[f>>2]|0)+128|0,k=c[b+4>>2]|0,(k|0)>0|(k|0)==0&(c[b>>2]|0)>>>0>0):0)Rg(c[g>>2]|0,c[f>>2]|0);if((c[h>>2]|0)==101?(k=YH(c[g>>2]|0)|0,c[(c[f>>2]|0)+80>>2]=k,(c[(c[f>>2]|0)+80>>2]|0)!=0):0)c[h>>2]=1;c[(c[g>>2]|0)+52>>2]=c[h>>2];if(7==(Tg(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+80>>2]|0)|0))c[(c[f>>2]|0)+80>>2]=7}if(((c[h>>2]|0)!=100?((d[(c[f>>2]|0)+89>>0]|0)>>>7&255|0)!=0:0)&(c[h>>2]|0)!=101)c[h>>2]=ZH(c[f>>2]|0)|0;c[e>>2]=c[h>>2]&c[(c[g>>2]|0)+56>>2];k=c[e>>2]|0;i=j;return k|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Xd(c[d>>2]|0)|0;c[e>>2]=JA(c[d>>2]|0)|0;c[g>>2]=Th(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){TH(c[f>>2]|0,c[d>>2]|0);yh(c[f>>2]|0,c[d>>2]|0)|0;UH(c[f>>2]|0);Sg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)lh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ah(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)yR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function qh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){Gx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)AR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{hh(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ah(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}AR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function sh(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)lg(c[c[g>>2]>>2]|0,25);c[f>>2]=SH()|0;j=c[f>>2]|0;i=h;return j|0}function th(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Tg(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function uh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=ye(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}ni(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function vh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=wh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=fh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=gu(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Tg(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function wh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;c[h>>2]=e;c[j>>2]=f;if(mh(c[h>>2]|0)|0){c[g>>2]=Lf(75759)|0;m=c[g>>2]|0;i=n;return m|0}if((c[(c[h>>2]|0)+40>>2]|0)==-1108210269?(c[(c[h>>2]|0)+76>>2]|0)<0:0){if((c[j>>2]|0)>=1?(c[j>>2]|0)<=(b[(c[h>>2]|0)+68>>1]|0):0){c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[(c[h>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0);Wg(c[k>>2]|0);b[(c[k>>2]|0)+8>>1]=1;lg(c[c[h>>2]>>2]|0,0);do if((d[(c[h>>2]|0)+89>>0]|0)>>>7&255){if(!((c[j>>2]|0)<32?(c[(c[h>>2]|0)+188>>2]&1<>2]|0)!=0:0))m=12;if((m|0)==12?(c[(c[h>>2]|0)+188>>2]|0)!=-1:0)break;m=(c[h>>2]|0)+87|0;a[m>>0]=a[m>>0]&-2|1}while(0);c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,25);c[g>>2]=25;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,21);c[l>>2]=c[(c[h>>2]|0)+168>>2];Rd(21,40292,l);c[g>>2]=Lf(75767)|0;m=c[g>>2]|0;i=n;return m|0}function xh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(SQ(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function yh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;RH((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function zh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Xy(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Ki(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}Cx(c[g>>2]|0);i=n;return}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Rw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Bh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Cz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ri(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]|0)!=0?40265:40278;if(((li(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=qj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(NH(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Ch(d,30625,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Ch(d,30635,q)}a[(c[l>>2]|0)+17>>0]=1}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Ch(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=kx(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+68|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=kx(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Fh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=rh(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function Gh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=fx(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Kh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(a[(c[c[e>>2]>>2]|0)+69>>0]|0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Ih(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)?(hx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+32>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[35415+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+32>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+32|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(MH(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+100|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Kh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}DA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}LH(c[k>>2]|0);i=n;return}KH(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Lh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+44|0;h=r+40|0;j=r+36|0;p=r+32|0;n=r+28|0;m=r+24|0;l=r+20|0;o=r+16|0;k=r+12|0;q=r;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[p>>2]=b[(c[h>>2]|0)+444>>1];c[n>>2]=c[(c[h>>2]|0)+76>>2];c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=c[(c[h>>2]|0)+400>>2];f=c[(c[h>>2]|0)+84>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)==0?1:f;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[k>>2]=((c[(c[g>>2]|0)+32>>2]|0)*20|0)+7&-8;c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[q+4>>2]=(c[(c[h>>2]|0)+92>>2]|0)-(c[k>>2]|0)&-8;if((c[q+4>>2]|0)>0)AR(c[q>>2]|0,0,c[q+4>>2]|0)|0;eF(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+89|0;a[f>>0]=a[f>>0]&-17|(e&1)<<4&255;if((c[n>>2]|0)<10?(d[(c[h>>2]|0)+453>>0]|0)!=0:0)c[n>>2]=10;f=(c[g>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2;do{c[q+8>>2]=0;f=JH(q,c[(c[g>>2]|0)+8>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[g>>2]|0)+8>>2]=f;f=JH(q,c[(c[g>>2]|0)+60>>2]|0,(c[p>>2]|0)*40|0)|0;c[(c[g>>2]|0)+60>>2]=f;f=JH(q,c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2)|0;c[(c[g>>2]|0)+12>>2]=f;f=JH(q,c[(c[g>>2]|0)+56>>2]|0,c[m>>2]<<2)|0;c[(c[g>>2]|0)+56>>2]=f;f=JH(q,c[(c[g>>2]|0)+200>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+200>>2]=f;if(!(c[q+8>>2]|0))break;f=c[q+8>>2]|0;f=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f;c[q>>2]=f;c[q+4>>2]=c[q+8>>2]}while((a[(c[j>>2]|0)+69>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[m>>2];c[(c[g>>2]|0)+196>>2]=c[o>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[p>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+448>>2];c[(c[g>>2]|0)+64>>2]=c[(c[h>>2]|0)+476>>2];c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+476>>2]=0;if(!(c[(c[g>>2]|0)+8>>2]|0)){p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}c[(c[g>>2]|0)+28>>2]=c[n>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}function Mh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+60>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=ue(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=IF(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];IH(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=40211;else d=(c[j>>2]|0)==7?40198:40203;c[k>>2]=d;c[r>>2]=Eh(e,40216,k)|0;c[o>>2]=1;Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Eh(d,40245,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Eh(d,19007,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Nh(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+120>>2]|0);cv(c[f>>2]|0,c[(c[e>>2]|0)+324>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Oh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=iF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=vF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Ph(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(83995)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=wR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}HH(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Sg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+80>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Tg(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Qh(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2|1;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Rh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=wC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=wC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=wC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=wC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=wC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=wC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=wC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=wC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=wC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0&(c[q>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[18229+(c[q>>2]&255)>>0]|0)==(d[18229+(c[r>>2]&255)>>0]|0):0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=wC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(wC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=wC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Rh((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[19019+(c[q>>2]&255)>>0]&32);c[q>>2]=d[18229+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=wC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){uH(40184);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+80>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Uh(c[d>>2]|0)|0)uH(40189);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Th(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Sh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(112684)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=vH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Yd(c[c[p>>2]>>2]|0)|0;c[r>>2]=vH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+80>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){uH(40031);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Vh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(qj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Rw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,yR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Sj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){lh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(121109)|0;c[p>>2]=Tg(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Wh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+92+4>>2];if(!(c[(c[u>>2]|0)+152>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+484>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=Yu(179)|0;if(!(c[m>>2]|0)){lh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}while(1){if(!(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0))break;c[(c[t>>2]|0)+508>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=Zu((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+508+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+508+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break}if((c[n>>2]|0)>=160){if(c[(c[u>>2]|0)+248>>2]|0){r=10;break}if((c[n>>2]|0)==161){r=12;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+508|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];_u(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==10)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==12){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+508;Ch(A,27053,o)}c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0);if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){if((c[k>>2]|0)!=1){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];_u(r,1,g,A)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];_u(r,0,g,A)}}$u(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=kh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Eh(A,19007,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,19007,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+68>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){av(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+408>>2]|0);c[(c[t>>2]|0)+408>>2]=0;c[(c[t>>2]|0)+404>>2]=0}Kd(c[(c[t>>2]|0)+524>>2]|0);if(!(a[(c[t>>2]|0)+454>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+488>>2]|0);if(c[(c[t>>2]|0)+540>>2]|0)bv(c[u>>2]|0,c[(c[t>>2]|0)+540>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+492>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+448>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+476>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+476>>2]|0);while(1){if(!(c[(c[t>>2]|0)+412>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+412>>2];c[(c[t>>2]|0)+412>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+528>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+528>>2];c[(c[t>>2]|0)+528>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Xh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=rh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}fh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Zh(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5064;mf(4,b)|0;i=a;return}function _h(){return 88}function $h(){return 40}function ai(){return 32}function bi(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5012;mf(18,b)|0;i=a;return}function ci(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;tu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function di(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function ei(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Wj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Xj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=Lf(136682)|0;g=c[d>>2]|0;i=h;return g|0}lu(c[e>>2]|0);mu(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(nu(c[e>>2]|0)|0)!=0:0){jg(c[e>>2]|0,5,26911,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+80>>2]=1691352191;Pg(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{ui(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} -function az(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=rh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Pv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Rv(q,0,Uv(c[n>>2]|0,158,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function bz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|64;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&64|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;$v(l,c[(dz(c[r>>2]|0)|0)+64>>2]|0,0)}Ux(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(ez(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(ky(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=rh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Eh(l,30705,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}Wx(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=lx(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(fz(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Mx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=Tx(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;ky(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(gz(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Ch(X,30718,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(hz(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==158)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==158:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=158){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==158:0){j=58;break}c[E>>2]=Rv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&2048|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Dh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=26067;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(Yy(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&131072|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(iz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((jz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Uv(c[t>>2]|0,55,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Uv(c[t>>2]|0,55,c[W>>2]|0)|0;c[B>>2]=Cv(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Uv(c[t>>2]|0,55,c[U>>2]|0)|0;c[B>>2]=Cv(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Eh(p,30757,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Rv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Py(L,c[S>>2]|0);Sv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&2048))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=ph(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Eh(h,30763,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Ch(h,30772,O);break}else{Ch(h,30790,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}cv(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+92+8>>2]|0):0){Ch(c[F>>2]|0,30810,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(dz(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+536>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function dz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function ez(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=xz(c[(c[y>>2]|0)+536>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Ch(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(fz(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=rh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=ph(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=Tx(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Ch(A,31051,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=31094;c[z>>2]=c[(c[y>>2]|0)+536>>2];c[(c[y>>2]|0)+536>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;ky(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+536>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Ch(A,31117,u);c[(c[y>>2]|0)+536>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}Wx(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=31155;else c[g>>2]=31189;ky(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+536>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function fz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Ch(a,31028,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function gz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Ch(k,31010,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function hz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(iz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)lz(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)mz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=nz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=kz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(iz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}lz(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Ch(B,30841,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Ch(c[x>>2]|0,30891,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Ch(z,30946,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function iz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=kz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function kz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function lz(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=wz(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=wz(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=Cv(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=nz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=nz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function mz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;mz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);mz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((oz(b)|0)==0?(oz(c[h>>2]|0)|0)==0:0){c[j>>2]=pz(c[f>>2]|0,28,0,0)|0;qz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}gv(c[f>>2]|0,c[g>>2]|0);gv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=pz(c[f>>2]|0,132,5116,0)|0;j=c[e>>2]|0;i=k;return j|0}function oz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(xy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function pz(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=0;c[n>>2]=0;do if(c[l>>2]|0){if(((c[k>>2]|0)==132?(c[c[l>>2]>>2]|0)!=0:0)?(Oi(c[c[l>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Rw(c[j>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}j=c[p>>2]|0;e=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(e|0));a[c[p>>2]>>0]=c[k>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){j=c[p>>2]|0;if(!(c[o>>2]|0)){o=j+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=j+48;if(c[(c[l>>2]|0)+4>>2]|0)yR(c[(c[p>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if((c[m>>2]|0)!=0?(d[19019+(d[c[(c[p>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((a[c[(c[p>>2]|0)+8>>2]>>0]|0)==34){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}Vw(c[(c[p>>2]|0)+8>>2]|0)}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function qz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){gv(c[f>>2]|0,c[h>>2]|0);gv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}rz(c[g>>2]|0);i=k;return}function rz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;sz(c[(c[b>>2]|0)+12>>2]|0,d);sz(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){uz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(vz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else tz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}sz(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);sz(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);sz(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);sz(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);uz(c[c[d>>2]>>2]|0,c[e>>2]|0);uz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);uz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);tz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function uz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;sz(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function vz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function wz(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=pz(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=BR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function xz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function yz(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Rw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=ph(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=Iy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=Tx(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=Ay(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=Az(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=rh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Tx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=Iy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=ph(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Rw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Rw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=ph(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Bz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Eh(M,31246,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Eh(n,19007,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=rh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Dh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)lh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=31318;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Eh(K,L,B)|0;c[c[G>>2]>>2]=L;qu(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=ti((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,19018)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(31364,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Eh(e,31288,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Eh(e,19007,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function Cz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+144+5>>0]|0))c[f>>2]=qi(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function Dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];nx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+72>>2];a=(c[d>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+3;Hz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+72>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Iz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Jz(c[d>>2]|0,c[e>>2]|0);i=l;return}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Pw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=li(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;nx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+72>>2];d=(c[e>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Hz(d,a,b,c[c[g>>2]>>2]|0,31450);else Hz(d,a,b,c[c[f>>2]>>2]|0,31454);Iz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+76>>2]|0)+1|0,c[(c[e>>2]|0)+72>>2]|0);Jz(c[e>>2]|0,c[h>>2]|0);i=k;return}function Gz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+144|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Ch(c[j>>2]|0,31413,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=Ez(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Ch(p,31430,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Hz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=$w(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[5236+(c[q>>2]<<3)>>2];g=ri(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[5236+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[5236+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;_w(g,31511,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+396>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Lz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;_w(g,31534,v);break}else{bx(c[t>>2]|0,129,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[5236+(c[q>>2]<<3)+4>>2]|0))break;Gh(c[t>>2]|0,103,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Hh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Iz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+76>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+76>>2]=l;c[O>>2]=$w(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(31458,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Dh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(Yw(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Lz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+72>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+72>>2]=l;Mz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,102);dx(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}dx(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+76>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+76>>2]=l;fx(c[O>>2]|0,102,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Nz(c[n>>2]|0,c[F>>2]|0);bx(c[O>>2]|0,74,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;bx(c[O>>2]|0,74,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;ex(c[O>>2]|0,87,0,(c[L>>2]|0)+1|0,c[L>>2]|0,5132,-5)|0;Hh(c[O>>2]|0,2);c[t>>2]=Kz(c[O>>2]|0,55,c[y>>2]|0)|0;bx(c[O>>2]|0,74,0,c[G>>2]|0)|0;c[s>>2]=Oz(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Pz(c[O>>2]|0)|0;c[r>>2]=Rw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;jx(c[O>>2]|0,13)|0;c[s>>2]=Oz(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)bx(c[O>>2]|0,35,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Qz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;bx(c[O>>2]|0,74,c[w>>2]|0,c[G>>2]|0)|0;fx(c[O>>2]|0,94,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=ex(c[O>>2]|0,36,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Hh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}bx(c[O>>2]|0,74,c[C>>2]|0,c[G>>2]|0)|0;Rz(c[O>>2]|0,c[v>>2]|0)|0;Sz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Sz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);fx(c[O>>2]|0,94,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Tz(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}ex(c[O>>2]|0,87,1,c[L>>2]|0,c[N>>2]|0,5160,-5)|0;Hh(c[O>>2]|0,2);bx(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;Uz(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);ex(c[O>>2]|0,96,c[M>>2]|0,3,c[N>>2]|0,31467,0)|0;bx(c[O>>2]|0,112,c[q>>2]|0,c[I>>2]|0)|0;fx(c[O>>2]|0,113,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Sz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}bx(c[O>>2]|0,98,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Kz(c[O>>2]|0,22,c[K>>2]|0)|0;bx(c[O>>2]|0,77,0,c[H>>2]|0)|0;ex(c[O>>2]|0,96,c[M>>2]|0,3,c[N>>2]|0,31467,0)|0;bx(c[O>>2]|0,112,c[q>>2]|0,c[I>>2]|0)|0;fx(c[O>>2]|0,113,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Sz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=$w(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Kz(c[e>>2]|0,135,c[d>>2]|0)|0;i=f;return}function Kz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=fx(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Lz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+404>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+404>>2]|0)+1<<4;e=c[k>>2]|0;e=Ix(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+408>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+408>>2]=e;e=(c[q>>2]|0)+404|0;if(c[(c[q>>2]|0)+408>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;lh(c[c[q>>2]>>2]|0);i=s;return}}function Mz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=$w(c[j>>2]|0)|0;Lz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==103?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Gh(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Hj(c[m>>2]|0)|0;fx(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Nz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Kh(a,-1,aA(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Oz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Pz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+116|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Ix(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+120>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+120>>2]=f}if(!(c[(c[d>>2]|0)+120>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+120>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Qz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+144+5>>0]|0;c[j>>2]=Qj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=$x(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=fx(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[e>>2]|0)+24>>2]|0)+96>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;Yz(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);i=d;return}function Tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if(c[(c[f>>2]|0)+120>>2]|0)c[(c[(c[f>>2]|0)+120>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+96>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Uz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;ex(c[g>>2]|0,87,0,c[j>>2]|0,c[h>>2]|0,5188,-5)|0;Hh(c[g>>2]|0,1);i=f;return}function Vz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=$d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){te(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,31480,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=wR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=vR(p|0,C|0,1,0)|0;d=h;d=IR(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,31485,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}ne(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function Wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;c[f>>2]=de(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Xz(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Xz(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Zz(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function Zz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=5216;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=de(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=de(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=we(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=rh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){te(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);ge(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function $z(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function aA(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+68>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=bA(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=bA(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==35351)f=0;else f=Qz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0){cA(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function bA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=$f(24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;AR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{lh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function cA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(0,c[b>>2]|0);i=d;return}function dA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];eA(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function eA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(uB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;nx(c[e>>2]|0,0,c[h>>2]|0);fA(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function fA(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Dh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Yw(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Lz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=$w(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=aA(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;ex(b,106,a,0,y,gA(c[k>>2]|0)|0,-6)|0;Mz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,102);c[p>>2]=bx(c[w>>2]|0,55,c[t>>2]|0,0)|0;c[v>>2]=hA(c[n>>2]|0)|0;iA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;bx(c[w>>2]|0,123,c[s>>2]|0,c[v>>2]|0)|0;jA(c[n>>2]|0,c[j>>2]|0);bx(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Sz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)bx(c[w>>2]|0,129,c[m>>2]|0,c[h>>2]|0)|0;ex(c[w>>2]|0,103,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Hh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=bx(c[w>>2]|0,42,c[s>>2]|0,0)|0;y=(d[(c[o>>2]|0)+54>>0]|0|0)!=0;g=Oz(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Rz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=Oz(c[w>>2]|0)|0;Gh(c[w>>2]|0,117,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;kA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;fx(c[w>>2]|0,118,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;fx(c[w>>2]|0,33,c[r>>2]|0,0,-1)|0;fx(c[w>>2]|0,124,c[r>>2]|0,c[v>>2]|0,0)|0;Hh(c[w>>2]|0,16);lA(c[n>>2]|0,c[v>>2]|0);bx(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Sz(c[w>>2]|0,c[p>>2]|0);Kz(c[w>>2]|0,109,c[t>>2]|0)|0;Kz(c[w>>2]|0,109,c[r>>2]|0)|0;Kz(c[w>>2]|0,109,c[s>>2]|0)|0;i=x;return}function gA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function hA(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+76|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+28+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function iA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Pz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+104>>2]=c[q>>2];vA(c[o>>2]|0);wA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=xA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){yA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);zA(c[x>>2]|0,90)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;AA(t,u,x);x=c[w>>2]|0;i=y;return x|0}fx(c[x>>2]|0,96,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;AA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function jA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Tz(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);tA(c[d>>2]|0);i=f;return}function kA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];mA(l,31649,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;oA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)nA(l,31660,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;mA(l,30757,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;oA(o,p,q,r,-1,2);i=s;return}function lA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+124;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+28+((j&255)<<2)>>2]=h;i=k;return}}function mA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function nA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){pA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);yR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function oA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=$w(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Ox(c[j>>2]|0);ex(c[p>>2]|0,73,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Hh(c[p>>2]|0,a[o>>0]|0);i=q;return}function pA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=qA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}yR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function qA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;rA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=wR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=wR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=wR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){sA(c[j>>2]|0);rA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Qw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){sA(e);rA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)yR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=iu(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function rA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function sA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function tA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+108>>2]|0):0)uA(c[b>>2]|0,c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function uA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(a[(c[g>>2]|0)+6>>0]|0){if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+28+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0}c[(c[g>>2]|0)+12>>2]=0;j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=h;return}function vA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function wA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=Ay(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;gv(a,n);i=m;return}YA(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;gv(a,n);i=m;return}function xA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+64>>2];c[h>>2]=c[(c[d>>2]|0)+60>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;h=(c[d>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function yA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+104>>2]=c[k>>2];FA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{GA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function zA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+96>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=CA(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function AA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;BA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+60>>2]|0)){i=h;return}c[(c[e>>2]|0)+60>>2]=c[g>>2];c[(c[e>>2]|0)+64>>2]=c[f>>2];i=h;return}function BA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)<=0){i=k;return}if(!(d[(c[f>>2]|0)+25>>0]|0)){i=k;return}c[j>>2]=(c[f>>2]|0)+124+180;while(1){if((c[(c[j>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[j>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0)uA(c[f>>2]|0,c[j>>2]|0);if((c[j>>2]|0)==((c[f>>2]|0)+124|0))break;c[j>>2]=(c[j>>2]|0)+-20}i=k;return}function CA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);DA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-97;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function DA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;switch(c[j>>2]|0){case -21:{EA(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(c[(c[f>>2]|0)+456>>2]|0){i=h;return}cA(c[e>>2]|0);i=h;return}case -11:{if(c[(c[f>>2]|0)+456>>2]|0){i=h;return}Kd(c[e>>2]|0);i=h;return}case -5:{EA(c[f>>2]|0,c[e>>2]|0);i=h;return}case -8:{e=c[e>>2]|0;if(!(c[(c[f>>2]|0)+456>>2]|0)){bh(e);i=h;return}c[g>>2]=e;if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0);Tf(c[f>>2]|0,c[g>>2]|0);i=h;return}case -10:{if(c[(c[f>>2]|0)+456>>2]|0){i=h;return}qu(c[e>>2]|0);i=h;return}default:{i=h;return}}Tf(c[f>>2]|0,c[e>>2]|0);i=h;return}function EA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function FA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=Ay(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;gv(b,e);i=k;return}KA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;gv(b,e);i=k;return}function GA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?154:94;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+42>>0]&32){a=Hj(c[k>>2]|0)|0;c[p>>2]=(HA(a,c[m>>2]&65535)|0)<<16>>16}fx(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else bx(c[j>>2]|0,121,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}IA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function HA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function IA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(JA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=JA(c[g>>2]|0)|0;qx(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Kh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Kz(c[g>>2]|0,90,c[k>>2]|0)|0;i=o;return}function JA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function KA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){bx(c[(c[f>>2]|0)+8>>2]|0,82,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=LA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}bx(c[(c[f>>2]|0)+8>>2]|0,83,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function LA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=i;i=i+320|0;C=ka+16|0;G=ka+8|0;B=ka;ca=ka+300|0;da=ka+296|0;I=ka+292|0;ea=ka+288|0;ia=ka+284|0;o=ka+280|0;fa=ka+276|0;ga=ka+272|0;ha=ka+268|0;Q=ka+264|0;y=ka+260|0;z=ka+256|0;A=ka+252|0;K=ka+248|0;T=ka+200|0;q=ka+196|0;r=ka+192|0;m=ka+188|0;n=ka+184|0;D=ka+180|0;E=ka+176|0;u=ka+172|0;j=ka+168|0;s=ka+164|0;S=ka+160|0;R=ka+156|0;P=ka+152|0;H=ka+148|0;J=ka+144|0;N=ka+140|0;F=ka+305|0;O=ka+136|0;L=ka+132|0;M=ka+304|0;k=ka+128|0;l=ka+124|0;v=ka+120|0;t=ka+116|0;w=ka+112|0;x=ka+108|0;p=ka+104|0;V=ka+100|0;Y=ka+96|0;X=ka+92|0;W=ka+88|0;$=ka+84|0;U=ka+80|0;Z=ka+32|0;ba=ka+24|0;aa=ka+20|0;c[da>>2]=f;c[I>>2]=g;c[ea>>2]=h;c[ia>>2]=c[(c[da>>2]|0)+8>>2];c[fa>>2]=c[ea>>2];c[ga>>2]=0;c[ha>>2]=0;c[K>>2]=c[c[da>>2]>>2];if(!(c[ia>>2]|0)){c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if(!(c[I>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[I>>2]>>0];a:do switch(c[o>>2]|0){case 154:{c[q>>2]=c[(c[I>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[fa>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)fx(c[ia>>2]|0,94,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;else ja=11;break}case 152:{ja=11;break}case 132:{NA(c[da>>2]|0,c[I>>2]|0,0,c[ea>>2]|0);break}case 133:{OA(c[ia>>2]|0,c[(c[I>>2]|0)+8>>2]|0,0,c[ea>>2]|0);break}case 97:{dx(c[ia>>2]|0,c[ea>>2]|0,c[(c[I>>2]|0)+8>>2]|0)|0;break}case 101:{bx(c[ia>>2]|0,77,0,c[ea>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[I>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[D>>2]|0)|0)-1;c[E>>2]=Bx(JA(c[ia>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;ex(c[ia>>2]|0,79,(c[n>>2]|0)/2|0,c[ea>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{bx(c[ia>>2]|0,80,b[(c[I>>2]|0)+32>>1]|0,c[ea>>2]|0)|0;if(a[(c[(c[I>>2]|0)+8>>2]|0)+1>>0]|0)Kh(c[ia>>2]|0,-1,c[(c[(c[da>>2]|0)+476>>2]|0)+((b[(c[I>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{c[fa>>2]=c[(c[I>>2]|0)+28>>2];break}case 66:{c[fa>>2]=LA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;if((c[fa>>2]|0)!=(c[ea>>2]|0)){bx(c[ia>>2]|0,83,c[fa>>2]|0,c[ea>>2]|0)|0;c[fa>>2]=c[ea>>2]}bx(c[ia>>2]|0,91,c[ea>>2]|0,(wx(c[(c[I>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;PA(c[da>>2]|0,c[fa>>2]|0,1);break}case 37:case 36:case 41:case 38:case 39:case 40:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;RA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,32)|0;break}case 148:case 29:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;c[o>>2]=(c[o>>2]|0)==29?37:36;RA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,160)|0;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;fx(c[ia>>2]|0,c[o>>2]|0,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}case 155:{c[u>>2]=c[(c[I>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){OA(c[ia>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[ea>>2]|0);break}else{a[T>>0]=-124;c[T+4>>2]=17408;c[T+8>>2]=0;c[Q>>2]=QA(c[da>>2]|0,T,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ha)|0;fx(c[ia>>2]|0,48,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}else NA(c[da>>2]|0,c[u>>2]|0,1,c[ea>>2]|0);while(0);c[fa>>2]=c[ea>>2];break}case 19:case 54:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[fa>>2]=c[ea>>2];bx(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[fa>>2]|0)|0;break}case 35:case 34:{bx(c[ia>>2]|0,74,1,c[ea>>2]|0)|0;c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[j>>2]=Kz(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0)|0;bx(c[ia>>2]|0,74,0,c[ea>>2]|0)|0;Sz(c[ia>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[I>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[da>>2]|0;c[B>>2]=c[(c[I>>2]|0)+8>>2];Ch(ia,31663,B);break a}else{c[fa>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[I>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{c[J>>2]=0;a[F>>0]=a[(c[K>>2]|0)+66>>0]|0;c[O>>2]=0;if(c[(c[I>>2]|0)+4>>2]&16384)c[S>>2]=0;else c[S>>2]=c[(c[I>>2]|0)+20>>2];if(c[S>>2]|0)j=c[c[S>>2]>>2]|0;else j=0;c[R>>2]=j;c[H>>2]=c[(c[I>>2]|0)+8>>2];c[P>>2]=ii(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,a[F>>0]|0,0)|0;if((c[P>>2]|0)!=0?(c[(c[P>>2]|0)+16>>2]|0)==0:0){if(e[(c[P>>2]|0)+2>>1]&512){c[L>>2]=Pz(c[ia>>2]|0)|0;KA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0);c[N>>2]=1;while(1){j=c[ia>>2]|0;if((c[N>>2]|0)>=(c[R>>2]|0))break;bx(j,35,c[ea>>2]|0,c[L>>2]|0)|0;BA(c[da>>2]|0,c[ea>>2]|0,1);vA(c[da>>2]|0);KA(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0,c[ea>>2]|0);tA(c[da>>2]|0);c[N>>2]=(c[N>>2]|0)+1}Tz(j,c[L>>2]|0);break a}if(e[(c[P>>2]|0)+2>>1]&1024){c[fa>>2]=LA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0)|0;break a}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[R>>2]|0))break;if((c[N>>2]|0)<32?(SA(c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[J>>2]=c[J>>2]|1<>2];if(!((c[O>>2]|0)!=0?1:(e[(c[P>>2]|0)+2>>1]&32|0)==0))c[O>>2]=_x(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+1}if(c[S>>2]|0){j=c[da>>2]|0;if(c[J>>2]|0){c[Q>>2]=(c[j+76>>2]|0)+1;ba=(c[da>>2]|0)+76|0;c[ba>>2]=(c[ba>>2]|0)+(c[R>>2]|0)}else c[Q>>2]=xA(j,c[R>>2]|0)|0;do if(e[(c[P>>2]|0)+2>>1]&192){a[M>>0]=a[c[c[(c[S>>2]|0)+4>>2]>>2]>>0]|0;if((d[M>>0]|0)!=152?(d[M>>0]|0)!=154:0)break;a[(c[c[(c[S>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[P>>2]|0)+2>>1]&192}while(0);vA(c[da>>2]|0);TA(c[da>>2]|0,c[S>>2]|0,c[Q>>2]|0,0,3)|0;tA(c[da>>2]|0)}else c[Q>>2]=0;if((c[R>>2]|0)>=2?(c[(c[I>>2]|0)+4>>2]&128|0)!=0:0)c[P>>2]=UA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ja=77;if((ja|0)==77?(c[R>>2]|0)>0:0)c[P>>2]=UA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[P>>2]|0)+2>>1]&32){if(!(c[O>>2]|0))c[O>>2]=c[(c[K>>2]|0)+8>>2];ex(c[ia>>2]|0,86,0,0,0,c[O>>2]|0,-4)|0}ex(c[ia>>2]|0,87,c[J>>2]|0,c[Q>>2]|0,c[ea>>2]|0,c[P>>2]|0,-5)|0;Hh(c[ia>>2]|0,c[R>>2]&255);if(!((c[R>>2]|0)!=0&(c[J>>2]|0)==0))break a;AA(c[da>>2]|0,c[Q>>2]|0,c[R>>2]|0);break a}ia=c[da>>2]|0;c[G>>2]=c[H>>2];Ch(ia,31689,G);break}case 119:case 20:{c[fa>>2]=VA(c[da>>2]|0,c[I>>2]|0,0,0)|0;break}case 33:{c[k>>2]=Pz(c[ia>>2]|0)|0;c[l>>2]=Pz(c[ia>>2]|0)|0;bx(c[ia>>2]|0,77,0,c[ea>>2]|0)|0;WA(c[da>>2]|0,c[I>>2]|0,c[k>>2]|0,c[l>>2]|0);bx(c[ia>>2]|0,74,1,c[ea>>2]|0)|0;Tz(c[ia>>2]|0,c[k>>2]|0);bx(c[ia>>2]|0,89,c[ea>>2]|0,0)|0;Tz(c[ia>>2]|0,c[l>>2]|0);break}case 32:{c[v>>2]=c[(c[I>>2]|0)+12>>2];c[t>>2]=c[(c[(c[I>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[Q>>2]=QA(c[da>>2]|0,c[v>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[w>>2]|0,ha)|0;c[z>>2]=hA(c[da>>2]|0)|0;c[A>>2]=hA(c[da>>2]|0)|0;RA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,41,c[Q>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];lA(c[da>>2]|0,c[ha>>2]|0);c[y>>2]=QA(c[da>>2]|0,c[w>>2]|0,ha)|0;RA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,39,c[Q>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;fx(c[ia>>2]|0,28,c[z>>2]|0,c[A>>2]|0,c[ea>>2]|0)|0;lA(c[da>>2]|0,c[z>>2]|0);lA(c[da>>2]|0,c[A>>2]|0);break}case 156:case 53:case 159:{c[fa>>2]=LA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;break}case 88:{c[x>>2]=c[(c[I>>2]|0)+44>>2];c[p>>2]=(_(c[(c[I>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[I>>2]|0)+32>>1]|0);bx(c[ia>>2]|0,141,c[p>>2]|0,c[ea>>2]|0)|0;if((b[(c[I>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+(b[(c[I>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Kz(c[ia>>2]|0,90,c[ea>>2]|0)|0;break}case 83:{if(!(c[(c[da>>2]|0)+420>>2]|0)){Ch(c[da>>2]|0,31712,C);c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if((a[(c[I>>2]|0)+1>>0]|0)==2)Ox(c[da>>2]|0);if((a[(c[I>>2]|0)+1>>0]|0)==4){ex(c[ia>>2]|0,73,0,4,0,c[(c[I>>2]|0)+8>>2]|0,0)|0;break a}else{oA(c[da>>2]|0,1811,a[(c[I>>2]|0)+1>>0]|0,c[(c[I>>2]|0)+8>>2]|0,0,0);break a}}default:{c[aa>>2]=0;c[$>>2]=c[(c[I>>2]|0)+20>>2];c[U>>2]=c[(c[$>>2]|0)+4>>2];c[X>>2]=c[c[$>>2]>>2];c[V>>2]=Pz(c[ia>>2]|0)|0;S=c[(c[I>>2]|0)+12>>2]|0;c[ba>>2]=S;if(S){j=T;k=c[ba>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));XA(T,QA(c[da>>2]|0,c[ba>>2]|0,ga)|0);a[Z>>0]=37;c[Z+12>>2]=T;c[aa>>2]=Z;c[ga>>2]=0}c[W>>2]=0;while(1){if((c[W>>2]|0)>=((c[X>>2]|0)-1|0))break;vA(c[da>>2]|0);j=c[(c[U>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0;if(c[ba>>2]|0)c[Z+16>>2]=j;else c[aa>>2]=j;c[Y>>2]=Pz(c[ia>>2]|0)|0;YA(c[da>>2]|0,c[aa>>2]|0,c[Y>>2]|0,16);KA(c[da>>2]|0,c[(c[U>>2]|0)+(((c[W>>2]|0)+1|0)*20|0)>>2]|0,c[ea>>2]|0);Rz(c[ia>>2]|0,c[V>>2]|0)|0;tA(c[da>>2]|0);Tz(c[ia>>2]|0,c[Y>>2]|0);c[W>>2]=(c[W>>2]|0)+2}if(c[X>>2]&1){vA(c[da>>2]|0);KA(c[da>>2]|0,c[(c[(c[$>>2]|0)+4>>2]|0)+(((c[X>>2]|0)-1|0)*20|0)>>2]|0,c[ea>>2]|0);tA(c[da>>2]|0)}else bx(c[ia>>2]|0,77,0,c[ea>>2]|0)|0;Tz(c[ia>>2]|0,c[V>>2]|0)}}while(0);b:do if((ja|0)==11){c[m>>2]=c[(c[I>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[da>>2]|0)+100>>2]|0)>0){c[fa>>2]=(b[(c[I>>2]|0)+32>>1]|0)+(c[(c[da>>2]|0)+100>>2]|0);break b}else{c[m>>2]=c[(c[da>>2]|0)+104>>2];break}while(0);c[fa>>2]=MA(c[da>>2]|0,c[(c[I>>2]|0)+44>>2]|0,b[(c[I>>2]|0)+32>>1]|0,c[m>>2]|0,c[ea>>2]|0,a[(c[I>>2]|0)+38>>0]|0)|0}while(0);lA(c[da>>2]|0,c[ga>>2]|0);lA(c[da>>2]|0,c[ha>>2]|0);c[ca>>2]=c[fa>>2];ja=c[ca>>2]|0;i=ka;return ja|0}function MA(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;k=v+32|0;l=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+36|0;t=v+8|0;r=v+4|0;s=v;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+124;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+112|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;sB(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}GA(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)Hh(c[t>>2]|0,a[q>>0]|0);else tB(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function NA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);bx(c[l>>2]|0,74,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Fi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31811,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Ch(q,31814,n);i=p;return}else{OA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=vR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}rB(c[l>>2]|0,75,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function OA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;Xy(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];rB(c[f>>2]|0,133,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function PA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;BA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function QA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=dy(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(qB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+324>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Cy(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+76|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;lB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=hA(c[g>>2]|0)|0;c[o>>2]=LA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{lA(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function RA(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=gB(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(pB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=ex(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Hh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function SA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=mB(c[d>>2]|0,1,0)|0;i=b;return a|0}function TA(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?82:83;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)bx(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?(SA(c[u>>2]|0)|0)!=0:0){lB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=LA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==82?(g=Zz(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==82):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}bx(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function UA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+56|0;l=z+52|0;m=z+48|0;n=z+44|0;o=z+40|0;t=z+36|0;u=z+32|0;r=z+28|0;w=z+24|0;q=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;p=z;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[w>>2]=0;c[q>>2]=0;c[v>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[t>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if(!(d[(c[t>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[u>>2]=c[(Nx(c[l>>2]|0,c[t>>2]|0)|0)+8>>2];c[r>>2]=c[c[u>>2]>>2];if(!(c[(c[r>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[y>>2]=ph(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[y>>2]|0){c[x>>2]=c[y>>2];while(1){if(!(a[c[x>>2]>>0]|0))break;a[c[x>>2]>>0]=a[18229+(d[c[x>>2]>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}r=c[(c[r>>2]|0)+72>>2]|0;t=c[u>>2]|0;u=c[n>>2]|0;x=c[y>>2]|0;c[p>>2]=w;c[v>>2]=Zb[r&255](t,u,x,c[p>>2]|0,q)|0;Tf(c[l>>2]|0,c[y>>2]|0)}if(!(c[v>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}y=c[l>>2]|0;c[s>>2]=rh(y,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}else{x=c[s>>2]|0;y=c[m>>2]|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[(c[s>>2]|0)+20>>2]=(c[s>>2]|0)+28;x=(c[s>>2]|0)+28|0;y=c[(c[m>>2]|0)+20>>2]|0;yR(x|0,y|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[s>>2]|0)+12>>2]=c[w>>2];c[(c[s>>2]|0)+4>>2]=c[q>>2];y=(c[s>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[k>>2]=c[s>>2];y=c[k>>2]|0;i=z;return y|0}return 0}function VA(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;h=K;r=K+140|0;s=K+136|0;t=K+132|0;u=K+128|0;v=K+124|0;A=K+120|0;H=K+116|0;I=K+112|0;j=K+108|0;x=K+144|0;w=K+104|0;l=K+100|0;D=K+96|0;q=K+92|0;n=K+72|0;o=K+68|0;y=K+64|0;p=K+60|0;C=K+56|0;E=K+52|0;F=K+48|0;G=K+44|0;B=K+40|0;z=K+36|0;m=K+32|0;k=K+12|0;c[s>>2]=b;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[A>>2]=-1;c[H>>2]=0;c[I>>2]=$w(c[s>>2]|0)|0;if(!(c[I>>2]|0)){c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}vA(c[s>>2]|0);if(!(c[(c[t>>2]|0)+4>>2]&32))c[A>>2]=fB(c[s>>2]|0)|0;if((d[(c[s>>2]|0)+453>>0]|0)==2){f=c[c[s>>2]>>2]|0;e=(d[c[t>>2]>>0]|0)==33?31774:31779;b=c[(c[s>>2]|0)+472>>2]|0;c[h>>2]=(c[A>>2]|0)>=0?19018:31762;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Eh(f,31786,h)|0;ex(c[I>>2]|0,160,c[(c[s>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[t>>2]|0;do if((d[c[t>>2]>>0]|0)==33){c[l>>2]=c[g+12>>2];c[D>>2]=0;a[x>>0]=Zx(c[l>>2]|0)|0;l=(c[s>>2]|0)+72|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[t>>2]|0)+28>>2]=m;c[w>>2]=bx(c[I>>2]|0,105,c[(c[t>>2]|0)+28>>2]|0,((c[v>>2]|0)!=0^1)&1)|0;if(c[v>>2]|0)g=0;else g=bA(c[c[s>>2]>>2]|0,1,1)|0;c[D>>2]=g;g=(c[t>>2]|0)+20|0;do if(!(c[(c[t>>2]|0)+4>>2]&2048)){if(c[g>>2]|0){c[p>>2]=c[(c[t>>2]|0)+20>>2];if(!(a[x>>0]|0))a[x>>0]=65;if(c[D>>2]|0){q=_x(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=q}c[E>>2]=hA(c[s>>2]|0)|0;c[F>>2]=hA(c[s>>2]|0)|0;if(c[v>>2]|0)bx(c[I>>2]|0,77,0,c[F>>2]|0)|0;c[y>>2]=c[c[p>>2]>>2];c[C>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[B>>2]=c[c[C>>2]>>2];if((c[A>>2]|0)>=0?(SA(c[B>>2]|0)|0)==0:0){CA(c[I>>2]|0,c[A>>2]|0)|0;c[A>>2]=-1}if((c[v>>2]|0)!=0?(xy(c[B>>2]|0,z)|0)!=0:0)fx(c[I>>2]|0,114,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;c[G>>2]=LA(c[s>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;g=c[I>>2]|0;e=c[G>>2]|0;if(c[v>>2]|0){bx(g,17,e,(Oz(c[I>>2]|0)|0)+2|0)|0;fx(c[I>>2]|0,113,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break}else{ex(g,96,e,1,c[F>>2]|0,x,1)|0;PA(c[s>>2]|0,c[G>>2]|0,1);bx(c[I>>2]|0,124,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[C>>2]=(c[C>>2]|0)+20}lA(c[s>>2]|0,c[E>>2]|0);lA(c[s>>2]|0,c[F>>2]|0)}}else{c[q>>2]=c[g>>2];kB(n,11,c[(c[t>>2]|0)+28>>2]|0);a[n+1>>0]=a[x>>0]|0;c[(c[q>>2]|0)+12>>2]=0;if(!(Nv(c[s>>2]|0,c[q>>2]|0,n)|0)){c[o>>2]=c[c[q>>2]>>2];J=gB(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[c[(c[o>>2]|0)+4>>2]>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=J;break}cA(c[D>>2]|0);c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[D>>2]|0)Kh(c[I>>2]|0,c[w>>2]|0,c[D>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];G=(c[s>>2]|0)+76|0;J=(c[G>>2]|0)+1|0;c[G>>2]=J;kB(k,0,J);if((d[c[t>>2]>>0]|0)==119){a[k>>0]=10;c[k+8>>2]=c[k+4>>2];bx(c[I>>2]|0,77,0,c[k+4>>2]|0)|0}else{a[k>>0]=3;bx(c[I>>2]|0,74,0,c[k+4>>2]|0)|0}gv(c[c[s>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);J=Cv(c[s>>2]|0,132,0,0,5124)|0;c[(c[m>>2]|0)+56>>2]=J;c[(c[m>>2]|0)+12>>2]=0;J=(c[m>>2]|0)+8|0;c[J>>2]=c[J>>2]&-1025;if(!(Nv(c[s>>2]|0,c[m>>2]|0,k)|0)){c[H>>2]=c[k+4>>2];break}c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[u>>2]|0)iB(c[I>>2]|0,c[(c[t>>2]|0)+28>>2]|0,c[u>>2]|0);if((c[A>>2]|0)>=0)Sz(c[I>>2]|0,c[A>>2]|0);tA(c[s>>2]|0);c[r>>2]=c[H>>2];J=c[r>>2]|0;i=K;return J|0}function WA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;s=z+64|0;r=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;p=z+68|0;q=z+44|0;w=z+40|0;y=z+36|0;k=z+32|0;j=z+28|0;h=z+24|0;l=z+20|0;n=z+16|0;m=z+12|0;g=z+8|0;o=z+4|0;v=z;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=aB(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=bB(c[r>>2]|0)|0;vA(c[s>>2]|0);c[w>>2]=hA(c[s>>2]|0)|0;KA(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(cB(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){bx(e,34,f,c[u>>2]|0)|0;break}else{c[o>>2]=Kz(e,35,f)|0;bx(c[y>>2]|0,55,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Rz(c[y>>2]|0,c[u>>2]|0)|0;Sz(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){bx(e,17,f,c[t>>2]|0)|0;fx(c[y>>2]|0,32,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}ex(e,95,f,1,0,p,1)|0;f=c[y>>2]|0;e=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){Gh(f,30,e,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}else{c[v>>2]=Gh(f,31,e,0,c[w>>2]|0,1)|0;bx(c[y>>2]|0,34,c[x>>2]|0,c[u>>2]|0)|0;Rz(c[y>>2]|0,c[t>>2]|0)|0;Sz(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=_x(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=Pz(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=hA(c[s>>2]|0)|0;fx(c[y>>2]|0,43,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=QA(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(cB(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)fx(c[y>>2]|0,43,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){ex(c[y>>2]|0,36,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,(a[p>>0]|16)&255)}else{ex(c[y>>2]|0,37,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,a[p>>0]|0)}lA(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){bx(c[y>>2]|0,34,c[m>>2]|0,c[u>>2]|0)|0;Rz(c[y>>2]|0,c[t>>2]|0)|0}Tz(c[y>>2]|0,c[h>>2]|0);lA(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}function XA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function YA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 28:{YA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);vA(c[g>>2]|0);YA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);tA(c[g>>2]|0);break}case 27:{c[l>>2]=Pz(c[s>>2]|0)|0;ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);vA(c[g>>2]|0);YA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Tz(c[s>>2]|0,c[l>>2]|0);tA(c[g>>2]|0);break}case 19:{ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==29?36:37;c[k>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[o>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;bx(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 32:{_A(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 33:if(c[k>>2]|0){WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Pz(c[s>>2]|0)|0;WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Tz(c[s>>2]|0,c[m>>2]|0);break a}default:{if(oz(c[h>>2]|0)|0){Rz(c[s>>2]|0,c[j>>2]|0)|0;break a}if(!($A(c[h>>2]|0)|0)){c[o>>2]=QA(c[g>>2]|0,c[h>>2]|0,q)|0;fx(c[s>>2]|0,22,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((t|0)==7){c[o>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}lA(c[g>>2]|0,c[q>>2]|0);lA(c[g>>2]|0,c[r>>2]|0);i=u;return}function ZA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 28:{c[l>>2]=Pz(c[t>>2]|0)|0;YA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);vA(c[g>>2]|0);ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Tz(c[t>>2]|0,c[l>>2]|0);tA(c[g>>2]|0);break}case 27:{ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);vA(c[g>>2]|0);ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);tA(c[g>>2]|0);break}case 19:{YA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[o>>2]=(c[o>>2]|0)==29?37:36;c[k>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[p>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;bx(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 32:{_A(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 33:{c[m>>2]=Pz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;WA(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Rz(c[t>>2]|0,c[j>>2]|0)|0;Tz(c[t>>2]|0,c[m>>2]|0);break}default:{if($A(c[h>>2]|0)|0){Rz(c[t>>2]|0,c[j>>2]|0)|0;break a}if(!(oz(c[h>>2]|0)|0)){c[p>>2]=QA(c[g>>2]|0,c[h>>2]|0,r)|0;fx(c[t>>2]|0,21,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((u|0)==7){c[p>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}lA(c[g>>2]|0,c[r>>2]|0);lA(c[g>>2]|0,c[s>>2]|0);i=v;return}function _A(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+216|0;h=s+212|0;m=s+208|0;p=s+204|0;n=s+200|0;q=s+152|0;j=s+104|0;k=s+56|0;l=s+8|0;r=s;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=28;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=41;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=39;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];XA(l,QA(c[o>>2]|0,l,r)|0);f=c[o>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if(c[p>>2]|0){ZA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;lA(q,r);i=s;return}else{YA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;lA(q,r);i=s;return}}function $A(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(xy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function aB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;k=F+56|0;r=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;q=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;p=F+12|0;t=F+8|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=$w(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;a:do if((c[(c[l>>2]|0)+68>>2]|0)==0?(j=eB(c[m>>2]|0)|0,c[k>>2]=j,(j|0)!=0):0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+28>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=Dh(c[q>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;ox(c[l>>2]|0,b[v>>1]|0);Lz(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+28>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=fB(h)|0;Mz(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,102);c[r>>2]=1;Sz(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=gB(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=hB(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+13>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Qj(c[q>>2]|0,a[(c[q>>2]|0)+66>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=fB(c[l>>2]|0)|0;fx(c[E>>2]|0,102,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;Nz(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+12>>0]|0)==0:0){s=(c[l>>2]|0)+76|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;iB(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}Sz(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((jB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+428>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+428>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+76|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}VA(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+428>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function bB(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Zx(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=dB(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=dB(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function cB(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function dB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Zx(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function eB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;do if(c[(c[e>>2]|0)+4>>2]&2048){if(c[(c[e>>2]|0)+4>>2]&32){c[b>>2]=0;break}c[f>>2]=c[(c[e>>2]|0)+20>>2];if(c[(c[f>>2]|0)+48>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+8>>2]&9){c[b>>2]=0;break}if(c[(c[f>>2]|0)+56>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+32>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[f>>2]|0)+28>>2];if((c[c[j>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[j>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[k>>2]=c[(c[j>>2]|0)+8+16>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}c[h>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];if((d[c[h>>2]>>0]|0|0)!=152){c[b>>2]=0;break}else{c[b>>2]=c[f>>2];break}}else c[b>>2]=0;while(0);i=l;return c[b>>2]|0}function fB(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=$w(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+84|0;a=c[e>>2]|0;c[e>>2]=a+1;a=Kz(d,20,a)|0;i=b;return a|0}function gB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=_x(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=_x(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=_x(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=_x(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=bB(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function iB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;bx(c[g>>2]|0,74,0,c[h>>2]|0)|0;c[f>>2]=Kz(c[g>>2]|0,55,c[j>>2]|0)|0;fx(c[g>>2]|0,94,c[j>>2]|0,0,c[h>>2]|0)|0;Hh(c[g>>2]|0,-128);Sz(c[g>>2]|0,c[f>>2]|0);i=e;return}function jB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=SA(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function kB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function lB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+324>>2];c[o>>2]=Ay(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Rv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}function mB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];oy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function nB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function oB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function pB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Zx(c[k>>2]|0)|0;d=(dB(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function qB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=mB(c[d>>2]|0,2,0)|0;i=b;return a|0}function rB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Rw(JA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=ex(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function sB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+124;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function tB(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+64>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;r=(c[j>>2]|0)+25|0;a[r>>0]=(a[r>>0]|0)+1<<24>>24;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+124+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function uB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function vB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=wB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=wB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=wB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Yw(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=$w(c[l>>2]|0)|0;c[u>>2]=xA(c[l>>2]|0,4)|0;KA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);KA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);KA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){ex(c[w>>2]|0,87,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Hh(c[w>>2]|0,a[c[n>>2]>>0]|0);Kz(c[w>>2]|0,148,(c[m>>2]|0)==24&1)|0}}while(0);gv(c[s>>2]|0,c[p>>2]|0);gv(c[s>>2]|0,c[q>>2]|0);gv(c[s>>2]|0,c[r>>2]|0);i=y;return}function wB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=sy(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function xB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=ae(c[c[r>>2]>>2]|0)|0;c[g>>2]=we(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=19018;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31852,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31873,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31899,m)|0;break}if((qg(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(ou(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){yB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;zB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31941,n)|0}while(0);je(c[f>>2]|0,o,-1);i=q;return}function yB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;AB(c[g>>2]|0)|0}Og(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(BB(c[e>>2]|0)|0)==0:0)){fr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Si(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function zB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function AB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);CB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;DB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}EB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function BB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1217]|0)!=(c[d>>2]|0)){c[e>>2]=c[1217];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1217]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function CB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function DB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}FB(c[b>>2]|0);i=d;return}function EB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;FB(c[e>>2]|0);i=f;return}function FB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Hs(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function GB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=we(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ae(c[c[F>>2]>>2]|0)|0;c[C>>2]=ae(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=19018;if(!(c[C>>2]|0))c[C>>2]=19018;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+92+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Eh(c[p>>2]|0,32014,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Eh(F,32056,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Rw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Qw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=_j(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)lh(c[p>>2]|0);je(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=$j(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ak(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Eh(c[p>>2]|0,20632,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;HB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;IB(F,IB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;JB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Eh(c[p>>2]|0,32086,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=ph(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=qi(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){yB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Bg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){lh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Eh(c[p>>2]|0,25632,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Eh(F,32115,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+92+28>>2];c[A>>2]=Eh(e,31977,h)|0}while(0);if(c[A>>2]|0){je(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}re(c[n>>2]|0,c[u>>2]|0);i=E;return}function HB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(LB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function IB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function JB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);KB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function KB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function LB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;ox(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function NB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=OB(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?20521:20540;if((c[h>>2]|0)==1)c[f>>2]=14;if(Yw(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(Yw(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=$w(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?20521:20540;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;_w(n,32163,l);ax(c[d>>2]|0,c[h>>2]|0);ex(c[k>>2]|0,138,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function OB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function PB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=rh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;yR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Vw(c[j>>2]|0);c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function QB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=lx(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(gz(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function RB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function SB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(TB(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(UB(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Ch(f,32461,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function TB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(VB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(SB(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(VB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(VB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+144+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(TB(e,c[b>>2]|0)|0){e=10;break}}else if(VB(e,c[b>>2]|0)|0){e=12;break}if(UB(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Ch(f,32507,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function VB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(UB(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(TB(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(VB(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function XB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9|8;i=d;return}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}dx(c[e>>2]|0,1,c[g>>2]|0)|0;ZB(c[e>>2]|0,c[f>>2]|0);bx(c[e>>2]|0,85,1,1)|0;i=h;return}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;lC(c[f>>2]|0,1,e);i=d;return}function _B(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;rB(c[g>>2]|0,75,0,1,0,j,-13)|0;ZB(c[g>>2]|0,c[h>>2]|0);bx(c[g>>2]|0,85,1,1)|0;i=f;return}function $B(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];BC(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Tf(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=rh(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function aC(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=fh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function bC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32713)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32706)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function cC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[6260+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function dC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;AC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function eC(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function fC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33784)|0){if(!(ig(c[d>>2]|0,33228)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33789)|0)){c[b>>2]=2;break}else{c[e>>2]=Ni(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function gC(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=yC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function iC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)JB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function jC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=xC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(kC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function kC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(qg(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){yB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Bg(c[f>>2]|0);break}Ch(c[e>>2]|0,33722,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function lC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;$B(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;aC(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function mC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?77:97;e=c[h>>2]|0;c[h>>2]=e+1;ex(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;bx(b,74,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function nC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33532;break}case 8:{c[e>>2]=33541;break}case 9:{c[e>>2]=33553;break}case 6:{c[e>>2]=33561;break}default:c[e>>2]=33570}i=f;return c[e>>2]|0}function oC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Rw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:35351;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+442>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Ch(C,33469,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function pC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ah(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){lh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=Zx(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function qC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=33377;else c[f>>2]=19014;hi(c[d>>2]|0,33381,2,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33381,3,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33386,2,1,19010,212,0,0,0)|0;vC(c[d>>2]|0,33386,12);vC(c[d>>2]|0,33381,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function rC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0)uA(c[b>>2]|0,c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function sC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Dh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=$w(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+72>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Mz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Lz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==103&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){fx(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Nz(c[q>>2]|0,c[A>>2]|0)}if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2]}else Hh(c[B>>2]|0,a[t>>0]|0);c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function tC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9;i=d;return}function uC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=we(c[f>>2]|0)|0;c[k>>2]=ve(c[f>>2]|0)|0;c[m>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=be(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+92+32>>2]|0)){je(c[f>>2]|0,33391,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=ae(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Px(c[n>>2]|0,-1)|0)==1){c[j>>2]=wC(n)|0;break}je(c[f>>2]|0,33424,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;ke(q,Rh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function vC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ii(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function wC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[26179+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function xC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33626)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26775)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function yC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function zC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=HR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=FR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=aj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function AC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function BC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Wg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function CC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34662,k)|0;if(ri(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;_w(p,31534,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function DC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=$w(c[g>>2]|0)|0;c[f>>2]=hA(c[g>>2]|0)|0;fx(c[k>>2]|0,128,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Ox(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?20521:20540;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;_w(a,34606,h);lA(c[g>>2]|0,c[f>>2]|0);i=e;return}function EC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Qw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;AR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function FC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&16777216)c[p>>2]=sx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(_F(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function GC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Nx(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Ch(m,35772,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Ch(m,35743,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function HC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-5|4;i=d;return}function IC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+536>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(sx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=158){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=lx(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(OQ(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(aG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(Dy(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Dh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=$w(c[v>>2]|0)|0;ox(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+72|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+72|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=JC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=hA(c[v>>2]|0)|0;c[L>>2]=hA(c[v>>2]|0)|0;Mz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,103);do if(!(c[(c[z>>2]|0)+24>>2]&268435456)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=bx(c[M>>2]|0,55,c[E>>2]|0,0)|0;c[A>>2]=jx(c[M>>2]|0,13)|0;Sz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Mz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,102);c[B>>2]=bx(c[M>>2]|0,55,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=bx(l,112,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=bx(l,121,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=bx(c[M>>2]|0,121,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=fx(c[M>>2]|0,32,c[E>>2]|0,0,c[L>>2]|0)|0;QE(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Sz(c[M>>2]|0,c[s>>2]|0);PC(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);bx(c[M>>2]|0,120,c[F>>2]|0,c[K>>2]|0)|0;ex(c[M>>2]|0,113,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[w>>2]|0,-20)|0;Hh(c[M>>2]|0,11);bx(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;bx(c[M>>2]|0,109,c[F>>2]|0,0)|0;bx(c[M>>2]|0,109,c[E>>2]|0,0)|0}else{Lz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Lz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(aG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}fx(c[M>>2]|0,102,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Nz(c[v>>2]|0,c[J>>2]|0);fx(c[M>>2]|0,103,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Nz(c[v>>2]|0,c[H>>2]|0);Hh(c[M>>2]|0,1);c[y>>2]=bx(c[M>>2]|0,55,c[F>>2]|0,0)|0;bx(c[M>>2]|0,119,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&268435456){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(35351,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;fx(c[M>>2]|0,33,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);fx(c[M>>2]|0,124,c[E>>2]|0,c[K>>2]|0,1)|0;Hh(c[M>>2]|0,a[G>>0]|0);bx(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Sz(c[M>>2]|0,c[y>>2]|0);bx(c[M>>2]|0,109,c[F>>2]|0,0)|0;bx(c[M>>2]|0,109,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Sz(c[M>>2]|0,c[B>>2]|0);lA(c[v>>2]|0,c[L>>2]|0);lA(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){bx(c[M>>2]|0,73,0,0)|0;Sz(c[M>>2]|0,c[A>>2]|0);bx(c[M>>2]|0,109,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function JC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+42>>0]|0)&8){b=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+412>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Rw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+412>>2];c[(c[m>>2]|0)+412>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function KC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Kz(c[f>>2]|0,71,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+24>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+24>>2]|0)+60>>2]=0;i=e;return}function LC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=$w(c[f>>2]|0)|0;c[k>>2]=Oz(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Nx(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Zz(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==102?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==153?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function MC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];KA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+76|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;bx(c[j>>2]|0,82,c[h>>2]|0,c[f>>2]|0)|0;XA(c[g>>2]|0,c[f>>2]|0);i=e;return}function NC(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=JA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ah(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){lh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){ex(g,95,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Kh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function OC(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(_F(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)ZE(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function PC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}bx(c[(c[e>>2]|0)+8>>2]|0,143,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function QC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(SA(c[g>>2]|0)|0)!=0:0){lB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}KA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function RC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)a=c[a+416>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+456>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+524>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+456>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+524>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+524>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+456|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+524>>2]|0)+(l<<2)>>2]=j;i=k;return}else{lh(c[c[h>>2]>>2]|0);i=k;return}}function SC(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=$w(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Hj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Ox(c[E>>2]|0);break}case 3:case 1:break;case 4:{bx(c[ka>>2]|0,34,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Kz(c[ka>>2]|0,35,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;KA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Sz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Eh(m,30757,A)|0;ex(c[ka>>2]|0,72,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Hh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(PE(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Pz(c[ka>>2]|0)|0;ZA(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Rz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;oA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}Tz(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Pz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){fx(c[ka>>2]|0,37,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=jx(c[ka>>2]|0,13)|0}while(0);fx(c[ka>>2]|0,32,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=FC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(RE(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){SE(c[E>>2]|0);UE(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{SE(c[E>>2]|0);TE(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Rz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)QE(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);Tz(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=jx(c[ka>>2]|0,13)|0;Sz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){NC(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Pz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){bx(c[ka>>2]|0,77,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;wA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+100>>2]=0}c[ga>>2]=xA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;FA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+100>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}bx(c[ka>>2]|0,(c[U>>2]|0)<0?84:83,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}fx(c[ka>>2]|0,96,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;PA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){Tz(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){AA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);Tz(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Gh(c[ka>>2]|0,29,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=xA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){bx(c[ka>>2]|0,127,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;fx(c[ka>>2]|0,37,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(HA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;fx(c[ka>>2]|0,94,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=Oz(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=36;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Qz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=37}ex(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Hh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{kA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Rz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;SE(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=FC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;TE(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}Tz(c[ka>>2]|0,c[Q>>2]|0);AA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))AA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Rz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Sz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function TC(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+442>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Dh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(XC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+442>>0]|0)c[I>>2]=ri(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Bh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(oC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=$y(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Lz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+72|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)YC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(ZC(c[l>>2]|0,c[D>>2]|0)|0)==0:0)YC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=$w(c[l>>2]|0)|0;g=Oz(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;bx(c[K>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}bx(c[K>>2]|0,142,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Rx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(_C(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[l>>2]|0)+416>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(oC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=Yv(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+72|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)$C(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],$C(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Ox(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;fv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function UC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=$w(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;bx(j,34,n,(Oz(c[D>>2]|0)|0)+2|0)|0}bx(c[D>>2]|0,124,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Hh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=hA(c[o>>2]|0)|0;fx(c[D>>2]|0,96,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))NC(c[D>>2]|0,c[p>>2]|0,0);PA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;fx(c[D>>2]|0,113,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Kh(c[D>>2]|0,-1,c[p>>2]|0,-20);Hh(c[D>>2]|0,a[A>>0]|0);i=E;return}function VC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+412>>2]|0)){i=d;return}WC(c[b>>2]|0);i=d;return}function WC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=hA(c[d>>2]|0)|0;Mz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,103);c[e>>2]=Ih(c[l>>2]|0,5,34905,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;lA(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function XC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0}function YC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=$w(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)-1;c[C>>2]=Pz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)bx(c[J>>2]|0,63,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;bx(c[J>>2]|0,34,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=hA(c[o>>2]|0)|0;bx(c[J>>2]|0,83,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=bx(c[J>>2]|0,17,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){fx(c[J>>2]|0,37,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Hh(c[J>>2]|0,-112)}Mz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,102);fx(c[J>>2]|0,32,c[z>>2]|0,0,c[H>>2]|0)|0;Rz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Sz(I,(Oz(c[J>>2]|0)|0)-2|0);Sz(c[J>>2]|0,c[B>>2]|0);lA(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=xA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=hA(c[o>>2]|0)|0;fx(c[J>>2]|0,102,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Nz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;bx(c[J>>2]|0,82,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=Oz(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];fx(c[J>>2]|0,36,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Hh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Rz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=pC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;ex(h,96,e,g,l,H,c[F>>2]|0)|0;Gh(c[J>>2]|0,31,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;lA(c[o>>2]|0,c[G>>2]|0);AA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[o>>2]|0)+416>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){oA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;Tz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Kz(I,109,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Ox(c[o>>2]|0);bx(c[J>>2]|0,142,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;Tz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Kz(I,109,J)|0;i=K;return}function ZC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+532>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+532>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function _C(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0} -function Lp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(19007,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=RQ(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Pp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ck(z,A,(RQ(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Pp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Dk(c[k>>2]|0,25463,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Dk(A,21211,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Mp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(19007,k)|0;if(c[m>>2]|0)Mk(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Np(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(25408,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Dk(D,19007,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=ye(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;D=(RQ(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(RQ(c[y>>2]|0)|0)+1;yR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}AR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Xp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0}function Pp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Kp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Kp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Wp(c[f>>2]|0,s,25361,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Wp(p,s,25367,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Wp(p,s,25347,l)}}else{if(c[e>>2]|0){b=Vp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=19018;Wp(c[f>>2]|0,s,25326,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Wp(b,s,25332,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=25354;Wp(p,s,25347,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19018:25376;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25385,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19018:25376;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25385,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Vp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=19018;Wp(c[g>>2]|0,n,20891,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Wp(b,n,25310,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Wp(c[g>>2]|0,n,25317,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Sp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24935,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24961,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24973,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;ll(g,s,24984,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;ll(g,s,25017,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;ll(g,s,25089,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;ll(g,s,25242,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}$o(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24915,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){ue(c[f>>2]|0)|0;h=De(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Yd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24840;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24849,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24854,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24861,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Vp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((RQ(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Wp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(25321,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Xp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ve(c[e>>2]|0)|0;c[o>>2]=ae(c[c[f>>2]>>2]|0)|0;c[h>>2]=(be(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!(Zp(c[e>>2]|0)|0)){je(c[e>>2]|0,25646,-1);i=p;return}c[g>>2]=be(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){je(c[e>>2]|0,25609,-1);i=p;return}else{c[l>>2]=c[($d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=jk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;je(c[e>>2]|0,25632,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ck(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(21211,m)|0;je(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);ge(c[e>>2]|0,l,4,-1);i=p;return}function Zp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=we(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function _p(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[g>>2]|0)+12>>2]|0);ok(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}nk(c[f>>2]|0);i=k;return}function $p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=aq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}ok(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Fk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];bq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function aq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}AR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function dq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function eq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=RQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function fq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function gq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25668+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25668+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);hq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function hq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(jq(r,25748,25753,0)|0)==0:0)?(jq(r,25756,25760,0)|0)==0:0)?(jq(r,25753,25753,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(jq(r,25762,25766,172)|0)){if((jq(r,25769,19018,173)|0)==0?(jq(r,25773,19018,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(jq(r,25776,25779,0)|0)==0:0)?(jq(r,25783,25786,0)|0)==0:0)?(jq(r,25790,25793,0)|0)==0:0){if((((mq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((nq(c[r>>2]|0)|0)!=0?(oq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(lq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(jq(r,25797,25779,172)|0))jq(r,25805,25812,172)|0;break}case 99:{if(!(jq(r,25817,25822,172)|0))jq(r,25827,25832,172)|0;break}case 101:{jq(r,25837,25793,172)|0;break}case 103:{jq(r,25842,25847,172)|0;break}case 108:{if((((jq(r,25851,25786,172)|0)==0?(jq(r,25855,25860,172)|0)==0:0)?(jq(r,25863,25869,172)|0)==0:0)?(jq(r,25873,25877,172)|0)==0:0)jq(r,25879,25885,172)|0;break}case 111:{if((jq(r,25889,25793,172)|0)==0?(jq(r,25897,25779,172)|0)==0:0)jq(r,25903,25779,172)|0;break}case 115:{if(((jq(r,25908,25860,172)|0)==0?(jq(r,25914,25922,172)|0)==0:0)?(jq(r,25926,25934,172)|0)==0:0)jq(r,25938,25885,172)|0;break}case 116:{if((jq(r,25946,25860,172)|0)==0?(jq(r,25952,25922,172)|0)==0:0)jq(r,25958,25786,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((jq(r,25965,25971,172)|0)==0?(jq(r,25974,19018,172)|0)==0:0)jq(r,25980,25860,172)|0;break}case 105:{jq(r,25986,25971,172)|0;break}case 108:{if(!(jq(r,25992,25971,172)|0))jq(r,25997,19018,172)|0;break}case 115:{jq(r,26001,19018,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(pq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(jq(r,26006,19018,174)|0)==0:0)?(jq(r,26012,19018,174)|0)==0:0)jq(r,26017,19018,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(pq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;jq(r,26021,19018,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(jq(r,26025,19018,174)|0))jq(r,26029,19018,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(pq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((nq(g)|0)!=0?(oq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((pq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=RQ(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function iq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function kq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function lq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(rq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function mq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(rq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function nq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((rq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(qq((c[d>>2]|0)+1|0)|0)!=0:0)d=(rq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[26033+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=rq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[26033+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(qq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function sq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}AR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=RQ(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(yq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function tq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=RQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function vq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function xq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function yq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=RQ(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(19288,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=RQ(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=RQ(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,26069)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){AR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;yR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;yR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Mk(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Dk(c[n>>2]|0,26138,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Aq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];wm(c[e>>2]|0);zl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Eq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}zl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);AR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=ae(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(19007,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=be(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(19007,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=be(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=de(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ol(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=sl(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Fq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=wR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=tl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=LQ(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Jq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}AR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=Yl((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Jq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Gq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){ke(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{ne(e,26067,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Iq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){AR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=RQ(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(LQ(26344,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(LQ(26364,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(LQ(26384,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(LQ(26396,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Lq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Lq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Mq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=RQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Nq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Oq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26179+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Qq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26179+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Rq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Tq(c[e>>2]|0)|0;a=a^(Uq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Qq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[10630+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=10630+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[11282+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Sq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Sq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;yR(j|0,11436,202)|0;b=h;d=26243;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2372+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2388+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2388+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2388+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Vq(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26179+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26179+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=rh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Xq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function Yq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Zq(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=St(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Tt(c[d>>2]|0)|0)<=1){i=f;return}Ut(c[e>>2]|0)|0;i=f;return}function _q(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=qt()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(rt(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=ph(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ah(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=Yq(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=mt(50512)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;yR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)yR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;yR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=26605;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);yR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[26615]|0;a[L+1>>0]=a[26616]|0;a[L+2>>0]=a[26617]|0;a[L+3>>0]=a[26618]|0;a[L+4>>0]=a[26619]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Sr(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=$r(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(_r(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26621,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26628,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Ti(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=tt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){mr(c[(c[C>>2]|0)+64>>2]|0);Zi(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;_r(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function $q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;_i(c[f>>2]|0);i=e;return}function ar(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;AR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=cs(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function br(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=pt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Rs(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function dr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function er(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function fr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Wj();gr(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;hr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Xi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)ir(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;kr(b,jr(c[e>>2]|0)|0)|0}lr(c[e>>2]|0)}Xj();mr(c[(c[e>>2]|0)+68>>2]|0);mr(c[(c[e>>2]|0)+64>>2]|0);Zi(c[f>>2]|0);nr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function gr(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function hr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Ps(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Qs(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Rs(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Ss(c[h>>2]|0,0,0)}}while(0);Ts(c[h>>2]|0,c[n>>2]|0);mr(c[(c[h>>2]|0)+8>>2]|0);if(c[n>>2]|0){Wj();vr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Xj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function ir(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;e=h;c[g>>2]=b;nj(c[(c[g>>2]|0)+60>>2]|0);c[(c[g>>2]|0)+60>>2]=0;qr(c[g>>2]|0);j=(zr(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[g>>2]|0)+64>>2]>>2]|0)b=$r(c[(c[g>>2]|0)+64>>2]|0)|0;else b=0;c[e>>2]=b;if(!(0!=(c[e>>2]&2048|0)?1==(d[(c[g>>2]|0)+5>>0]&5|0):0))mr(c[(c[g>>2]|0)+68>>2]|0);c[f>>2]=Dr(c[g>>2]|0,0)|0;if((c[f>>2]|0)!=0?(d[(c[g>>2]|0)+17>>0]|0)==6:0)a[(c[g>>2]|0)+18>>0]=5;a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}}else{Os(c[b+216>>2]|0);a[(c[g>>2]|0)+17>>0]=0}if(!(c[(c[g>>2]|0)+44>>2]|0)){j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+13>>0]|0)){Xi(b);a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}else a[(c[g>>2]|0)+17>>0]=(c[c[b+68>>2]>>2]|0)!=0?0:1;c[(c[g>>2]|0)+44>>2]=0;j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function jr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=tr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Vi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function kr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function lr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Wj();or(c[e>>2]|0)|0;Xj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))pr(c[e>>2]|0,0,0)|0}while(0);ir(c[e>>2]|0);i=f;return}function mr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){i=d;return}Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;i=d;return}function nr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function or(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(zr(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Tr(b,2,-1)|0;c[j>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Ur(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=pr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=kr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function pr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+24|0;k=o+20|0;g=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[k>>2]|0)+17>>0]|0)<2?(d[(c[k>>2]|0)+18>>0]|0)<2:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}qr(c[k>>2]|0);a:do if(c[c[(c[k>>2]|0)+68>>2]>>2]|0){b=(rr(c[(c[k>>2]|0)+68>>2]|0)|0)!=0;f=c[k>>2]|0;if(b){mr(c[f+68>>2]|0);break}e=c[k>>2]|0;if((d[f+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=sr(c[(c[k>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[k>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=tr(c[(c[k>>2]|0)+68>>2]|0,d[(c[k>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if((d[(c[k>>2]|0)+4>>0]|0)!=0?(d[(c[k>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[k>>2]|0)+13>>0]|0)!=0^1)&1;mr(c[(c[k>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=vr(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+180>>2]|0,d[(c[k>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)f=1;else f=(d[(c[k>>2]|0)+13>>0]|0)!=0;c[m>>2]=ur(c[k>>2]|0,f&1)|0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);nj(c[(c[k>>2]|0)+60>>2]|0);c[(c[k>>2]|0)+60>>2]=0;c[(c[k>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(wr(c[k>>2]|0,c[l>>2]|0)|0)!=0;f=c[(c[k>>2]|0)+212>>2]|0;if(h)xr(f);else yr(f);dj(c[(c[k>>2]|0)+212>>2]|0,c[(c[k>>2]|0)+28>>2]|0)}if(!(zr(c[k>>2]|0)|0)){if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[(c[k>>2]|0)+36>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=Br(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0)|0}else c[n>>2]=Ar(c[(c[k>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[c[(c[k>>2]|0)+64>>2]>>2]|0)!=0:0){l=yi(c[(c[k>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[k>>2]|0)+4>>0]|0)){if((zr(c[k>>2]|0)|0)!=0?(Cr(c[(c[k>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Dr(c[k>>2]|0,1)|0;a[(c[k>>2]|0)+19>>0]=0}while(0);a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+20>>0]=0;c[j>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[j>>2]|0;i=o;return n|0}function qr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;nj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(rr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))mr(c[(c[d>>2]|0)+72>>2]|0);Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function rr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4872|0}function sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function ur(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=sr(e,0,0)|0;else c[j>>2]=Hg(e,26462,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=tr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Vi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=sr(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function wr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Jr(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=h;return c[e>>2]|0}function xr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;ej(c[d>>2]|0)}i=e;return}function yr(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function zr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function Ar(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Ir(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Br(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=HR(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=wR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];AR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=vR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Hg(a,j,n,o,C)|0}}else{o=h;c[k>>2]=sr(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Cr(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Gr(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Fr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Dr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Er(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Hr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Gr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Hr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Ir(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Hr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Jr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;d=f+4|0;b=f;c[g>>2]=a;c[d>>2]=0;c[b>>2]=aj(c[g>>2]|0)|0;c[e>>2]=c[c[g>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=c[(c[e>>2]|0)+32>>2]}if(!(c[b>>2]|0)){g=0;i=f;return g|0}e=c[d>>2]|0;e=HR(e|0,((e|0)<0)<<31>>31|0,100,0)|0;g=c[b>>2]|0;g=FR(e|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;i=f;return g|0}function Kr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Qr(c[d>>2]|0);i=b;return 0}function Lr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;h=r+44|0;j=r+8|0;o=r+40|0;q=r+36|0;n=r+32|0;k=r+28|0;p=r+24|0;g=r;l=r+20|0;m=r+16|0;c[t>>2]=a;c[s>>2]=b;c[h>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=c[t>>2];c[q>>2]=c[s>>2];c[n>>2]=c[h>>2];d=(c[o>>2]|0)+40|0;a=j;b=j;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[p>>2]=c[(c[o>>2]|0)+16>>2];while(1){if(!(c[p>>2]|0))break a;a=g;s=c[(c[o>>2]|0)+4>>2]|0;s=wR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=j;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[o>>2]|0)+4>>2]|0;t=g;s=wR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[p>>2]=c[c[p>>2]>>2]}}else c[p>>2]=c[(c[o>>2]|0)+40+8>>2];while(0);s=j;t=c[(c[o>>2]|0)+4>>2]|0;t=GR(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[k>>2]=t;do{c[l>>2]=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0);if((c[n>>2]|0)<((c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[n>>2]|0;else e=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[m>>2]=e;yR(c[q>>2]|0,(c[p>>2]|0)+4+(c[k>>2]|0)|0,c[m>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);c[k>>2]=0;if((c[n>>2]|0)<0)break;t=c[c[p>>2]>>2]|0;c[p>>2]=t}while((t|0)!=0&(c[n>>2]|0)>0);if(!(c[p>>2]|0)){n=0;t=0;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}t=j;n=c[h>>2]|0;n=wR(c[t>>2]|0,c[t+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;t=C;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}function Mr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=wR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Rr(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Hg(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=GR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}yR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=wR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=wR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Qr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Or(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Qr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Rr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Sr(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=wR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=vR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Hg(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=wR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Qr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}mr(c[k>>2]|0);a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Sr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;nj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((zr(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=os(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(rr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=sr(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Ur(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Vi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Vr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Wr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Xr(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=vR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=FR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=wR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=vR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=FR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=Br(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Xi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=Yr(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Vr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Jg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=pr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=Zr(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;_r(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,26490,r);s=c[m>>2]|0;_r(s);s=c[p>>2]|0;i=t;return s|0}function Vr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Vi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=ds(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=ds(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=cs(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(LQ(k,26517,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=vR(d|0,C|0,c[m>>2]|0,0)|0,d=cs(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Xr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ns(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=wR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=cs(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(LQ(n,26517,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=wR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=ds(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=wR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=ds(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=wR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=ds(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=wR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=ds(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=wR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=ds(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Ti(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=wR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function Yr(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;q=B+56|0;l=B+52|0;m=B+48|0;r=B+44|0;n=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;o=B+24|0;s=B+20|0;p=B+16|0;t=B+12|0;u=B;x=B+8|0;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;c[r>>2]=j;c[n>>2]=k;c[s>>2]=c[(c[q>>2]|0)+208>>2];j=c[q>>2]|0;if(c[r>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[p>>2]=j;f=c[l>>2]|0;c[A>>2]=ds(c[p>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[p>>2]|0;h=c[s>>2]|0;g=c[(c[q>>2]|0)+160>>2]|0;f=c[l>>2]|0;f=wR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=cs(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[q>>2]|0)+160>>2]|0)+4+(c[r>>2]<<2)|0;f=c[l>>2]|0;h=f;g=wR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[381]|0)/(c[(c[q>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[q>>2]|0)+28>>2]|0)>>>0?(lj(c[m>>2]|0,c[v>>2]|0)|0)==0:0){if(c[r>>2]|0){f=c[p>>2]|0;p=c[l>>2]|0;p=vR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0;c[A>>2]=ds(f,p,C,o)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[n>>2]|0)==0?(p=es(c[q>>2]|0,c[s>>2]|0)|0,(p|0)!=(c[o>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[m>>2]|0)!=0?(p=jj(c[m>>2]|0,c[v>>2]|0)|0,c[A>>2]=p,(p|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[q>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[q>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(zr(c[q>>2]|0)|0)c[z>>2]=0;else c[z>>2]=fs(c[q>>2]|0,c[v>>2]|0)|0;if(c[r>>2]|0){if(d[(c[q>>2]|0)+7>>0]|0)j=1;else{p=c[l>>2]|0;n=c[p+4>>2]|0;j=(c[q>>2]|0)+88|0;o=c[j+4>>2]|0;j=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[q>>2]|0)+64>>2]>>2]|0){if((d[(c[q>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[q>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[q>>2]|0)+160>>2]|0;p=HR((c[v>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=p;c[t+4>>2]=C;c[A>>2]=Hg(c[(c[q>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[q>>2]|0)+36>>2]|0)>>>0)c[(c[q>>2]|0)+36>>2]=c[v>>2];if(c[(c[q>>2]|0)+96>>2]|0){gs(c[(c[q>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[r>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=ug(c[q>>2]|0,c[v>>2]|0,z,1)|0;w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){hs(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];yR(c[x>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0)|0;Qb[c[(c[q>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[v>>2]|0)==1){h=(c[q>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}is(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function Zr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Sr(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Vi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=wR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=wR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=wR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=cs(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Wr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Sr(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Vr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;mr(c[l>>2]|0);if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(OQ(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}mr(c[m>>2]|0);c[o>>2]=vr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}mr(c[m>>2]|0);Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function _r(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?(($r(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=as(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function $r(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function as(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=bs(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function bs(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function cs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=cs(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=er(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function es(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ks(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ls(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}js(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hs(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;fj(c[d>>2]|0,2);i=f;return}function is(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){gj(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=wg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function ks(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;l=g+8|0;h=g+4|0;f=g;c[k>>2]=a;c[j>>2]=b;c[l>>2]=e;c[h>>2]=c[l>>2]&(d[(c[k>>2]|0)+33>>0]|0);c[f>>2]=Ob[c[144>>2]&255](c[(c[k>>2]|0)+44>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return c[f>>2]|0}function ls(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=ms(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function ms(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[j>>2]|0;e=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;AR(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[f>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[f>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2];b[(c[j>>2]|0)+24>>1]=1;j=ls(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=k;return j|0}function ns(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=vR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=FR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=wR(h|0,C|0,1,0)|0;h=HR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function os(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=ij(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(zr(c[f>>2]|0)|0)!=0:0){c[e>>2]=ps(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(zr(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=Yr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Xr(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=wR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=vR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=FR(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=Yr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=HR(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(zr(c[f>>2]|0)|0)c[p>>2]=qs(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=Yr(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);nj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function ps(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=xs(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=ys(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ws(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];rs(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function rs(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;ts(a,ss(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));AR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function ss(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=us(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function us(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){AR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=vs(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function vs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=fs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Ds(c[f>>2]|0)|0)==1){Es(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Fs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Gs(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Hs(c[f>>2]|0)}while(0);bj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=Bs(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Cs(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}rs(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function ys(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=zs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function zs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=As(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=As(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=As(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function As(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Bs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=ss(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Ds(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Es(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)fj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Fs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=ss(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=ss(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=ts(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Ms(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ns(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Oj(55832)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Gs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ls(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=HR((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=cs(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Hs(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32){Is(a);f=c[b>>2]|0;Js(f);i=d;return}else{is(a);f=c[b>>2]|0;Js(f);i=d;return}}function Is(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=HR((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ks(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Js(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Ui(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}lr(c[b>>2]|0);i=d;return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ls(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=HR((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=wR(32,0,f|0,C|0)|0;f=wR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=cs(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Ms(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ns(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Os(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Ar(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Gr(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Qs(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Vs(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ws(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Xs(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ks(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=Ys(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Oj(56532)|0;else c[y>>2]=Zs(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(_s(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Ar(c[v>>2]|0)|0;Ir(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Wj();c[g>>2]=Vi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=sr(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Xj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,26525,j);i=k;return}function Ts(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Us(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Vs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Hr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ws(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Vs(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Xs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=us(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=kt(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Fr(e,0)|0;c[l>>2]=k;if(k)break;Gr(c[g>>2]|0,0);c[l>>2]=264;break}b=Vs(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=us(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=kt(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=lt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Ir(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=mt(55385)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function Ys(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Zs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=Ys(c[j>>2]|0)|0;c[y>>2]=_s(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=$s(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ws(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Ir(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ws(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=tr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=HR(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Vi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Rs(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(at(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=HR((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=wR(32,0,g|0,C|0)|0;g=wR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=cs(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=HR((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Hg(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Bs(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=HR(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=sr(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=tr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Ir(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ws(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){bt(c[j>>2]|0,c[B>>2]|0);c[A>>2]=sr(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Ir(c[j>>2]|0,4,4)}}while(0);ct(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function _s(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function $s(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(ss(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}AR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=ts(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}it(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)ct(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function at(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=_s(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;dt(b,1+(er(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];et(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function ct(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function et(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Bs(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ft(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));gt(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ft(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function gt(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}ht(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function ht(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function it(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);jt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);jt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function jt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];yR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function kt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Bs(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));gt(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(LQ(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ft(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(LQ((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function lt(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Vs(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Vi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=cs(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=er(j)|0;c[A>>2]=er(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=er(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ft((d[(c[h>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(er(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(er(j+28|0)|0)):0){c[D>>2]=er(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=mt(54439)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=wR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=cs(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=nt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=ot(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=wR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];et(c[h>>2]|0);c[w>>2]=_s(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,26568,B)}}}while(0);Ir(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function mt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(14,c[d>>2]|0,26551)|0;i=b;return a|0}function nt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(LQ((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=er(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ft(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ft(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(er((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(er((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=er((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function ot(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=ts(a,ss(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);AR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)rs(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Ms(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ns(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Oj(54308)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function pt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function qt(){return 48}function rt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function st(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(zr(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=ut(a)|0;if(!(c[j>>2]|0))c[j>>2]=vt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=wt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=xt(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))ej(c[g>>2]|0);c[f>>2]=kr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function tt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=Yi(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function ut(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Mt(c[d>>2]|0)|0){c[b>>2]=Nt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function vt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)zt(c[h>>2]|0);c[o>>2]=Ft(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;gs(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function wt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=At(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=$r(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[26517]|0;a[n+1>>0]=a[26518]|0;a[n+2>>0]=a[26519]|0;a[n+3>>0]=a[26520]|0;a[n+4>>0]=a[26521]|0;a[n+5>>0]=a[26522]|0;a[n+6>>0]=a[26523]|0;a[n+7>>0]=a[26524]|0;dt(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ns(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=cs(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(LQ(j,26517,8)|0):0){b=l;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,26638,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=Bt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Ct(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function xt(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=yt(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=HR(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Rs(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=HR((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)zt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Hg(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;gs(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function yt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Sr(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function zt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(er((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;dt((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);dt((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);dt((c[(c[d>>2]|0)+4>>2]|0)+96|0,3013e3);i=b;return}function At(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(zr(c[b>>2]|0)|0):0)c[d>>2]=Dt(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function Bt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ns(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?(($r(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[26517]|0;a[n+1>>0]=a[26518]|0;a[n+2>>0]=a[26519]|0;a[n+3>>0]=a[26520]|0;a[n+4>>0]=a[26521]|0;a[n+5>>0]=a[26522]|0;a[n+6>>0]=a[26523]|0;a[n+7>>0]=a[26524]|0;dt((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);dt((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);dt((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);dt((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);dt((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);AR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Hg(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=wR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Ct(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Et(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Et(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Ps(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ft(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;H=M+100|0;B=M+96|0;F=M+92|0;G=M+88|0;E=M+84|0;K=M+80|0;D=M+40|0;L=M+16|0;p=M+76|0;o=M+72|0;n=M+136|0;m=M+64|0;s=M+60|0;r=M+56|0;q=M+8|0;t=M+52|0;I=M+48|0;J=M;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[G>>2]=0;c[E>>2]=0;c[p>>2]=0;c[o>>2]=Bs(c[v>>2]|0)|0;if(LQ((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=Gt(c[v>>2]|0)|0;c[H>>2]=g;if(g){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[B>>2]|0)){dt(n,931071618|(a[960]|0)==0);dt(n+4|0,3007e3);dt(n+8|0,c[w>>2]|0);dt(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ft(1,n,24,0,m);dt(n+24|0,c[m>>2]|0);dt(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[960]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[H>>2]|0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[H>>2]=tr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}}c[L>>2]=c[v>>2];c[L+4>>2]=c[(c[v>>2]|0)+8>>2];l=L+8|0;c[l>>2]=0;c[l+4>>2]=0;c[L+16>>2]=c[A>>2];c[L+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=HR((c[B>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=wR(32,0,l|0,C|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;c[K>>2]=(c[w>>2]|0)+24;c[F>>2]=c[x>>2];while(1){if(!(c[F>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[F>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Fs(c[v>>2]|0,c[(c[F>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=HR((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=wR(32,0,l|0,C|0)|0;l=wR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[F>>2]|0)+4>>2];g=q;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=22;break}g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]&-65}else{c[B>>2]=(c[B>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[F>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=D;c[H>>2]=Ht(L,c[F>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=27;break}c[G>>2]=c[F>>2];l=c[K>>2]|0;g=D;l=wR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]|64}c[F>>2]=c[(c[F>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==27){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[H>>2]=It(c[v>>2]|0,c[B>>2]|0)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}a:do if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){if(!(a[(c[v>>2]|0)+49>>0]|0)){c[H>>2]=tr(c[L+4>>2]|0,c[A>>2]&19)|0;break}c[I>>2]=as(c[(c[v>>2]|0)+8>>2]|0)|0;t=D;A=c[I>>2]|0;A=wR(c[t>>2]|0,c[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=vR(A|0,C|0,1,0)|0;t=c[I>>2]|0;t=FR(A|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;A=c[I>>2]|0;A=HR(t|0,C|0,A|0,((A|0)<0)<<31>>31|0)|0;I=L+8|0;c[I>>2]=A;c[I+4>>2]=C;while(1){A=D;s=c[A+4>>2]|0;I=L+8|0;t=c[I+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(c[A>>2]|0)>>>0<(c[I>>2]|0)>>>0:0)))break a;I=D;c[H>>2]=Ht(L,c[G>>2]|0,c[y>>2]|0,c[I>>2]|0,c[I+4>>2]|0)|0;if(c[H>>2]|0)break;A=c[K>>2]|0;I=D;A=wR(c[I>>2]|0,c[I+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;I=D;c[I>>2]=A;c[I+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}while(0);if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(L=(c[v>>2]|0)+16|0,K=c[L+4>>2]|0,(K|0)>0|(K|0)==0&(c[L>>2]|0)>>>0>=0):0){L=(c[v>>2]|0)+16|0;D=c[L+4>>2]|0;K=J;c[K>>2]=c[L>>2];c[K+4>>2]=D;K=(c[w>>2]|0)+24|0;K=HR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=wR(32,0,K|0,C|0)|0;D=C;L=(c[v>>2]|0)+16|0;I=c[L+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(c[L>>2]|0)>>>0:0)){K=(c[w>>2]|0)+24|0;K=HR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=wR(32,0,K|0,C|0)|0;L=J;c[L>>2]=K;c[L+4>>2]=C}L=J;Ss(c[v>>2]|0,c[L>>2]|0,c[L+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];c[F>>2]=c[x>>2];while(1){if(!((c[F>>2]|0)!=0?(c[H>>2]|0)==0:0))break;if(e[(c[F>>2]|0)+24>>1]&64){c[B>>2]=(c[B>>2]|0)+1;c[H>>2]=ot(c[v>>2]|0,c[B>>2]|0,c[(c[F>>2]|0)+20>>2]|0)|0}c[F>>2]=c[(c[F>>2]|0)+12>>2]}while(1){if(!((c[H>>2]|0)==0?(c[E>>2]|0)>0:0))break;c[B>>2]=(c[B>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1;c[H>>2]=ot(c[v>>2]|0,c[B>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}if(!(c[H>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[B>>2];if(c[z>>2]|0){L=(c[v>>2]|0)+52+8|0;c[L>>2]=(c[L>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){et(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[B>>2]}}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}return 0}function Gt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=_s(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Vs(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){bt(c[e>>2]|0,c[k>>2]|0);Ir(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Gr(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Lt(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Jt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Kt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=wR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Kt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function It(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=HR((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=wR(32,0,b|0,C|0)|0;b=wR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=cs(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=er(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=er((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=HR((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=wR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=cs(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=er(c[g>>2]|0)|0;c[n>>2]=er((c[g>>2]|0)+4|0)|0;Jt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Hg(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Jt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;dt(c[l>>2]|0,c[q>>2]|0);dt((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ft(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ft(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);dt((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);dt((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Kt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=wR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=vR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=wR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=tr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Lt(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;ui(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Xs(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Fr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Gr(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=_s(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Fr(c[h>>2]|0,3)|0;gt(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=Bs(c[h>>2]|0)|0;u=(LQ(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Gr(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Vs(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Ir(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Fr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;gt(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=Bs(c[h>>2]|0)|0,(LQ(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Gr(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Mt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(oj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Nt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Ot(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=HR(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Pt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=wR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Hg(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Qt(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Ot(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Rt(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;dt(g,c[k>>2]|0);e=j;e=Hg(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=jj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Rt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Sr(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4872;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function St(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Tt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ds(c[d>>2]|0)|0;i=b;return a|0}function Ut(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Vt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Oj(59479)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Oj(59497)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Oj(59525)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Oj(59530)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Oj(59550)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Oj(59557)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Oj(59571)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Vt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Oj(59437)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Wt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Xt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=BR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=BR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){$t(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function Yt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function Zt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((au((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function _t(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){$t(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function $t(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function au(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function cu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=du(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function du(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Qs(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function eu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1080+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function gu(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=hu(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0} -function qJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;k=x+64|0;j=x+60|0;l=x+56|0;s=x+52|0;q=x+48|0;r=x+44|0;h=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;p=x+20|0;f=x+16|0;o=x+12|0;g=x+8|0;n=x+4|0;m=x;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+67>>0]|0)){Aj(c[j>>2]|0,c[l>>2]|0,41012);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+152>>2]|0)>1){Aj(c[j>>2]|0,c[l>>2]|0,41052);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+84>>2];c[v>>2]=c[(c[l>>2]|0)+88>>2];c[w>>2]=c[(c[l>>2]|0)+180>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+180>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=SJ(Pf(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(Xq(c[l>>2]|0)|0)c[h>>2]=41095;else c[h>>2]=41127;c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Ej(c[r>>2]|0)|0,c[o>>2]=UJ(c[q>>2]|0)|0,c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,41151)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,41184)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=og(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((sg(Pf(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+76>>2]=0;b=c[r>>2]|0;h=rg(c[q>>2]|0)|0;do if(!(Ai(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(Ai(c[r>>2]|0,c[(c[l>>2]|0)+76>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+69>>0]|0)){e=c[r>>2]|0;if((a[(c[l>>2]|0)+72>>0]|0)>=0)f=a[(c[l>>2]|0)+72>>0]|0;else f=eC(c[q>>2]|0)|0;gC(e,f)|0;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41191)|0;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41339)|0;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41443)|0;if(c[s>>2]|0)break a;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|268435456;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41561)|0;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&-268435457;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41757)|0;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41870)|0;if(c[s>>2]|0)break a;c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,42025)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){e=c[q>>2]|0;if((c[m>>2]|0)>=10)break;pg(e,d[42209+(c[m>>2]|0)>>0]|0,n);c[s>>2]=Ag(c[r>>2]|0,d[42209+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[42209+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=WJ(e,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Ej(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;gC(n,eC(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=rg(c[r>>2]|0)|0;c[s>>2]=Ai(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+84>>2]=c[u>>2];c[(c[l>>2]|0)+88>>2]=c[v>>2];c[(c[l>>2]|0)+180>>2]=c[w>>2];Ai(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+67>>0]=1;if(c[p>>2]|0){yB(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}Bg(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function rJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=nF(c[g>>2]|0)|0;c[e>>2]=er((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=FJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Oj(61338)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=AH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){GJ(c[g>>2]|0);c[h>>2]=HJ(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Fg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;dt((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function sJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=zH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=EJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function tJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=CJ(c[e>>2]|0)|0;if(((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),DJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)c[k>>2]=AI(c[e>>2]|0,0,(c[h>>2]|0)-1|0)|0}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function uJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ri(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=qj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=Bz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Eh(p,31227,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Nx(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=CJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;DJ(p,Nx(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function vJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ri(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=QH(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;qu(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function wJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=BJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function xJ(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;v=D+116|0;C=D+88|0;j=D+84|0;r=D+80|0;n=D+152|0;w=D;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(C,c[m>>2]|0,D+156|0,100,c[(c[m>>2]|0)+92>>2]|0);if((c[(c[m>>2]|0)+164>>2]|0)>1){while(1){if(!(a[c[l>>2]>>0]|0))break;c[j>>2]=c[l>>2];do{B=c[l>>2]|0;c[l>>2]=B+1;if((a[B>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);nA(C,40978,3);nA(C,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}C=fg(C)|0;i=D;return C|0}if(!(b[(c[k>>2]|0)+68>>1]|0)){B=c[l>>2]|0;nA(C,B,Jf(c[l>>2]|0)|0);C=fg(C)|0;i=D;return C|0}while(1){if(!(a[c[l>>2]>>0]|0)){f=33;break}c[q>>2]=AJ(c[l>>2]|0,t)|0;nA(C,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0)){f=33;break}do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Oi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=xh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[v>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[v>>2]|0)+8>>1]&1){nA(C,40184,4);continue}g=c[v>>2]|0;if(e[(c[v>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=x;c[j>>2]=c[f>>2];c[j+4>>2]=g;mA(C,28870,x);continue}f=c[v>>2]|0;if(e[g+8>>1]&8){h[y>>3]=+h[f>>3];mA(C,28875,y);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=w;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[w+32>>2]=c[m>>2];fh(w,c[(c[v>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;gu(w,1)|0;c[v>>2]=w}c[r>>2]=c[(c[v>>2]|0)+12>>2];j=c[(c[v>>2]|0)+16>>2]|0;c[A>>2]=c[r>>2];c[A+4>>2]=j;mA(C,40982,A);if((d[n>>0]|0)==1)continue;Wg(w);continue}if(e[(c[v>>2]|0)+8>>1]&16384){c[B>>2]=c[c[v>>2]>>2];mA(C,40989,B);continue}nA(C,41002,2);c[s>>2]=c[(c[v>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[z>>2]=a[(c[(c[v>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;mA(C,41005,z);c[o>>2]=(c[o>>2]|0)+1}nA(C,41010,1)}if((f|0)==33){C=fg(C)|0;i=D;return C|0}return 0}function yJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=zJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function zJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function AJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Zu(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function BJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function CJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Qw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function DJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;LH(c[e>>2]|0);i=d;return}function EJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function FJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(zF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=zF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function GJ(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function HJ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=zF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=er((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=AF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Oj(61223)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=IJ(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){DB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=BF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=IJ(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}DB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){DB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=JJ(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;DB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=zF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function IJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=nF(c[m>>2]|0)|0;c[B>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Oj(63280)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=AF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Fg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}dt((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=er(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=QJ(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Oj(63336)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=QJ(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;dt((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);yR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;DB(c[E>>2]|0);if(!(c[I>>2]|0)){dt((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;dt(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=er((c[r>>2]|0)+8|0)|0;c[u>>2]=Bj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Bj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=er((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}dt((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(RJ(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=QJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;DB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);DB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Oj(63365)|0;break}else if((j|0)==40){c[K>>2]=Oj(63399)|0;break}else if((j|0)==43){DB(h);break}else if((j|0)==63){c[K>>2]=Oj(63464)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Fg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=zF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=QJ(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[l>>2]|0)+72>>2]|0)|0;DB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);dt((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=QJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;DB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);DB(c[J>>2]|0);DB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function JJ(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=KJ(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=er(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(MJ(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=LJ(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=BF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Fg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){DB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=NJ(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;DB(c[t>>2]|0);if(c[u>>2]|0)break;MJ(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function KJ(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;k=u+20|0;s=u+16|0;p=u+12|0;t=u+8|0;q=u+4|0;r=u;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[k>>2]=j;c[p>>2]=0;if((a[(c[m>>2]|0)+13>>0]|0)!=0?(c[t>>2]=Fg(c[n>>2]|0)|0,(c[t>>2]|0)!=0):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if((e[(c[n>>2]|0)+24>>1]&2|0)!=0?(h=ut(c[n>>2]|0)|0,c[t>>2]=h,0!=(h|0)):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if(!((c[k>>2]|0)!=0?1:(e[(c[n>>2]|0)+24>>1]&8|0)==0))c[p>>2]=c[(c[n>>2]|0)+20>>2];h=(c[n>>2]|0)+24|0;b[h>>1]=e[h>>1]&-9;c[s>>2]=fs(c[m>>2]|0,c[o>>2]|0)|0;do if(c[s>>2]|0){k=(c[n>>2]|0)+24|0;b[k>>1]=e[k>>1]|e[(c[s>>2]|0)+24>>1]&8;k=c[s>>2]|0;if(a[(c[m>>2]|0)+13>>0]|0){PJ(k,(c[(c[m>>2]|0)+28>>2]|0)+1|0);break}else{Es(k);break}}while(0);c[q>>2]=c[(c[n>>2]|0)+20>>2];PJ(c[n>>2]|0,c[o>>2]|0);hs(c[n>>2]|0);if((c[s>>2]|0)!=0?(d[(c[m>>2]|0)+13>>0]|0)!=0:0){PJ(c[s>>2]|0,c[q>>2]|0);Hs(c[s>>2]|0)}do if(c[p>>2]|0){c[t>>2]=ug(c[m>>2]|0,c[p>>2]|0,r,0)|0;if(!(c[t>>2]|0)){t=(c[r>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;hs(c[r>>2]|0);Hs(c[r>>2]|0);break}if((c[p>>2]|0)>>>0<=(c[(c[m>>2]|0)+32>>2]|0)>>>0)kj(c[(c[m>>2]|0)+60>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+208>>2]|0);c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}while(0);c[l>>2]=0;t=c[l>>2]|0;i=u;return t|0}function LJ(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Ut(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));OJ(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=er(c[n>>2]|0)|0;MJ(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=er((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;MJ(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function MJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Oj(58660)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=zF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=ug(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=vg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=er((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Fg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;dt((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Oj(58671)|0;c[c[n>>2]>>2]=s}while(0);xg(c[q>>2]|0);i=t;return}function NJ(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=er(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){dt(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Oj(61053)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Ut(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(er((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=er(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)dt((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)dt(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=er((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){dt((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Oj(61089)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function OJ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=er((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;MJ(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function PJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function QJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=BF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Tt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}DB(f);c[c[h>>2]>>2]=0;c[g>>2]=Oj(59789)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function RJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(mj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(lj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function SJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+13>>0]|0|0}function TJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(cf(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;Aj(b,d,bf(c[f>>2]|0)|0);c[e>>2]=Df(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{ue(c[j>>2]|0)|0;c[e>>2]=YJ(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function UJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=ZJ(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function VJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=cf(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(ue(c[h>>2]|0)|0);a=c[f>>2]|0;if(!l){b=6;break}l=c[g>>2]|0;c[j>>2]=TJ(a,l,Fe(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){b=5;break}}if((b|0)==5){YJ(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((b|0)==6){c[e>>2]=YJ(a,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function WJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Dg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=rg(c[j>>2]|0)|0,d=HR(d|0,((d|0)<0)<<31>>31|0,tg(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=yi(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{XJ(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function XJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0){i=e;return}Xi(c[b>>2]|0);i=e;return}function YJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Sg(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;Aj(d,j,bf(c[e>>2]|0)|0);j=c[g>>2]|0;i=h;return j|0}function ZJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function _J(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p+28|0;o=p+24|0;f=p+20|0;j=p+16|0;e=p+12|0;h=p+8|0;g=p+4|0;k=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if((zr(c[n>>2]|0)|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[o>>2]=Dt(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=$J(c[n>>2]|0,f)|0;if(!(c[o>>2]|0)){if(c[f>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=Et(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[n>>2]>>2],c[o>>2]=Wr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,e)|0,(c[o>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[o>>2]=Sr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[o>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[o>>2]=mt(50989)|0;mr(c[(c[n>>2]|0)+68>>2]|0)}e=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=jr(e)|0;if(!(c[o>>2]|0)){c[o>>2]=Ur(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Dr(c[n>>2]|0,1)|0;if(c[o>>2]|0){kr(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?(d[(c[n>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[o>>2]=aK(c[n>>2]|0,k)|0;if(c[o>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[o>>2]=cs(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(LQ((c[n>>2]|0)+112|0,m,16)|0)Xi(c[n>>2]|0)}c[o>>2]=bK(c[n>>2]|0)|0;l=32}}}else l=32;while(0);if((l|0)==32){if(zr(c[n>>2]|0)|0)c[o>>2]=cK(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=aK(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}e=c[n>>2]|0;if(c[o>>2]|0){ir(e);o=c[o>>2]|0;i=p;return o|0}else{a[e+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function $J(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Wr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=jK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=aK(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Wj();if((Et(c[f>>2]|0,2)|0)==0?(vr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Dr(c[f>>2]|0,1)|0;Xj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Sr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=cs(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))mr(c[(c[f>>2]|0)+68>>2]|0);c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=iK(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[h>>2]|0)==0?(c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0:0){b=g;c[b>>2]=0;c[b+4>>2]=0;c[j>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0;if(!(c[j>>2]|0)){j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=wR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=vR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=FR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j;break}c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}while(0);if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function bK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=aK(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=vr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Wr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=eK(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function cK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Os(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=dK(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Xi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function dK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Lt(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function eK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(nJ(c[f>>2]|0)|0){mr(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=fK(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function fK(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=gK(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=hK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}function gK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Et(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Dr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function hK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Sr(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Ts(c[u>>2]|0,0);mr(c[(c[u>>2]|0)+8>>2]|0);Kd(c[u>>2]|0)}else{c[t>>2]=$r(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function iK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function kK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;AR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=nK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=nK(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function lK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=pK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function mK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){mK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){mK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function nK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function oK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Rw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function pK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=pK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=pK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}function qK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function rK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function sK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(xK(f,c[r>>2]|0)|0){g=25;break}if(ug(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=vg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=er(c[m>>2]|0)|0;tK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=er((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)tK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];wK(b,42835,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=er((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)tK(c[q>>2]|0,c[k>>2]|0,2,0);xK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=er(c[m>>2]|0)|0;xg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;wK(c[q>>2]|0,42874,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;wK(f,42756,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];wK(v,42813,w);i=x;return}else if((g|0)==25){i=x;return}}function tK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=AF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];wK(q,42673,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;wK(p,42702,q);i=r;return}function uK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(xK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=42293;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=BF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Ut(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];wK(ba,42341,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=42379;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=er((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=42405;tK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=uK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){wK(c[o>>2]|0,42463,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;wK(m,42487,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=er((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)tK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);sK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){yK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=er(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)tK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=uK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){wK(c[o>>2]|0,42511,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;wK(m,42433,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;yK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];yK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(zK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;wK(ba,42536,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;wK(ba,42573,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];wK(ba,42303,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;DB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function vK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function wK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)nA((c[f>>2]|0)+40|0,42291,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;mA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function xK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;wK(b,42625,e);c[g>>2]=1;break}e=(vK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;wK(a,42648,h);c[g>>2]=1;break}else{rK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function yK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function zK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function AK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;EK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function BK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);CK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)DK(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}DK(c[(c[d>>2]|0)+56>>2]|0);d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function DK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mr(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function EK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ks(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;FK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function FK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}AK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function GK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function HK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(nF(c[k>>2]|0)|0)>>>0){c[p>>2]=Oj(66175)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=mF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=er(c[n>>2]|0)|0,c[t>>2]=HK(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=IK(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=er((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=HK(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){JK(j,t);break}q=Fg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)KK(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Oj(66180)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;DB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function IK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Oj(63736)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=er((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(nF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=yF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=NK(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Tt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Oj(63772)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=LK(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)xg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Oj(63752)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function JK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=LK(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function KK(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)AR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Vt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function LK(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Oj(63590)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];MK(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=NK(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;dt((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=BF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;AR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(MJ(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=BF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=er((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Oj(63643)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Fg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;dt((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);dt((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)OK(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=PK(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=BF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){dt(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);dt((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);dt((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;DB(c[o>>2]|0);DB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function MK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;QK(c[d>>2]|0);i=b;return}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=fs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=oF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function OK(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){i=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){i=h;return}if(c[(c[g>>2]|0)+104>>2]|0){i=h;return}d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]|16;d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;i=h;return}function PK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=ij(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(mj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=jj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function QK(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function RK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Oj(66301)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=BF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=bJ(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){DB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){pg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){JK(d,o);DB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{DB(d);c[o>>2]=BF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=JJ(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;DB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=BF(c[l>>2]|0,c[k>>2]|0,m,0)|0;JK(c[m>>2]|0,o);DB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=zF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Ag(c[g>>2]|0,4,c[k>>2]|0)|0}else{JK(c[n>>2]|0,o);DB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function SK(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=TK((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function TK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=UK(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=VK(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;WK(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;XK(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;XK(k,d,((d|0)<0)<<31>>31);YK(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=ZK(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function UK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(zi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=fL(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Rs(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function VK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[e>>2]=_K(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];e=$K(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+32>>2]=e;c[j>>2]=kg(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;aL(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;aL(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Kd(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function WK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=GR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=vR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function XK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=xI(g,c[a>>2]|0,c[a+4>>2]|0)|0;YK(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function YK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);yR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=wR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Hg(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=wR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function ZK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=wR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Hg(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=wR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function _K(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=qF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function $K(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function aL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[m>>2]=l;c[k>>2]=0;while(1){if(!((c[g>>2]|0)!=0?(c[h>>2]|0)!=0:0))break;c[n>>2]=Sb[c[(c[f>>2]|0)+32>>2]&255](c[f>>2]|0,k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0)|0;if((c[n>>2]|0)<=0){c[c[m>>2]>>2]=c[g>>2];c[m>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2];continue}else{c[c[m>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;continue}}c[c[m>>2]>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:c[h>>2]|0;c[c[j>>2]>>2]=c[l>>2];i=o;return}function bL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[42913+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=eL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function cL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else HF(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else HF(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=LQ(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=eL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function dL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=FF(a,b,o)|0;i=p;return o|0}rF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=FF(a,b,o)|0;i=p;return o|0}function eL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=GF(a,b,o,1)|0;i=p;return o|0}rF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=GF(a,b,o,1)|0;i=p;return o|0}function fL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Sr(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function gL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=hL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function hL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=iL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=jL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){EK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=kL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=lL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function iL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=oL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function jL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(zi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ks(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=mL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=GR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=wR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=vR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=cs(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function kL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(au((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=wR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=GR(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(au((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=wR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=lL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){au(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=wR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=GR(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=vR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=vR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=cs(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=wR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);yR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=wR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=lL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;yR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function mL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+140>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=nL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function nL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function oL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;WK(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=wR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=wR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=NF(q,((q|0)<0)<<31>>31)|0;q=wR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=wR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;XK(n,r,((r|0)<0)<<31>>31);YK(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=gL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=ZK(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function pL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=qL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=rL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}AK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function qL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=vL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=wL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=xL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=wL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=yL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else AK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}AK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function rL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=sL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;tL(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function sL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=uL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function tL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function uL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=rL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=UK(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=wR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=hL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function vL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=HR(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function wL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=xL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=AL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}AK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function xL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(zi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function yL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=zL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=xL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=zL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{FK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function zL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(zi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){AK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=wR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function AL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=jL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=kL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=wR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=wR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=hL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function BL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function CL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=DL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function DL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=iF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function EL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function FL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=WL(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{zR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Oj(64006)|0;c[c[n>>2]>>2]=h;i=t;return}function GL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if(c[c[t>>2]>>2]|0){i=z;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=YL(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);yR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)dt((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);zR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}OJ(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){yR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)dt(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function HL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=IL(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=JL(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Wi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=KL(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Zi(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;DB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Zi(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function IL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Fg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=IJ(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,PL(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)MJ(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;DB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{yR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;yR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;KK(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);dt((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function JL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Oj(64503)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=IJ(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;KK(c[p>>2]|0,13);c[t>>2]=UL(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(MJ(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)OJ(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);GL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);dt((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);DB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function KL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[K>>2]|0)|0;while(1){c[Aa>>2]=mF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}yR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}FL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)AR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Oj(64842)|0;AR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ci(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}AR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);yR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Oj(64909)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Oj(65007)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((LL(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((LL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((LL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((LL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Oj(65019)|0;break}else if((h|0)==81){c[Aa>>2]=Oj(65052)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);LL(ma,c[F>>2]|0)|0;do{LL(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2)|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Oj(65094)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=IJ(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;KK(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(MJ(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Oj(65168)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))ML(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);ML(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}dt(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=er(c[_>>2]|0)|0;MJ(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(LL(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))OJ(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(xI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);GL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=NL(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=OL(c[ka>>2]|0)|0;PL(c[ka>>2]|0,c[ha>>2]|0,Aa);JK(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=er((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;MJ(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;JK(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Di(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;DB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;DB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function LL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=XL(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function ML(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;PJ(c[h>>2]|0,c[g>>2]|0);i=f;return}function NL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=RL(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;zR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=RL(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];zR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(SL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),zR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(SL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(SL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);TL(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=UL(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function OL(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=QL(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);yR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;yR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Oj(59093)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Oj(59099)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;AR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Oj(59123)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function PL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];yR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;yR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Ut(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=LJ(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function QL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function RL(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)WL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)WL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function SL(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(LL(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=VL(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){if(((c[u>>2]|0)-(c[n>>2]|0)|0)<(c[x>>2]|0)){h=7;break}c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));c[v>>2]=c[u>>2]}zR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function TL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function UL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=QL(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);yR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}yR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Oj(64213)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function VL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Oj(59156)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Oj(59167)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function WL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;j=x+20|0;k=x+16|0;l=x+32|0;m=x+30|0;t=x+28|0;q=x+26|0;o=x+35|0;v=x+34|0;s=x+24|0;r=x+12|0;p=x+8|0;n=x+4|0;u=x;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)AR((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+5>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)h=(e[q>>1]|0|0)<(e[l>>1]|0|0);else h=0;g=e[q>>1]|0;if(!h)break;if((g|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Oj(59328)|0;w=c[j>>2]|0;i=x;return w|0}if(g>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Oj(59331)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0>(e[q>>1]|0)>>>0){c[j>>2]=Oj(59342)|0;w=c[j>>2]|0;i=x;return w|0}c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));if((c[p>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Oj(59344)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Oj(59356)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Oj(59362)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Oj(59369)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function XL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function YL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Oj(59234)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=VL(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=OL(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function ZL(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+112|0;J=M+96|0;p=M+92|0;q=M+88|0;r=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;o=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+6>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=xI((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=xI((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2]}if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=35;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=zF(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=IJ(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,MJ(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)DB(c[C>>2]|0);if(c[L>>2]|0){h=24;break}dt(c[E>>2]|0,c[G>>2]|0);DB(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];dt(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];yR(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else AR(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==24){DB(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==35){DB(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function _L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}cJ(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function $L(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){GJ(f);pg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(zF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=IJ(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=AH(c[n>>2]|0,0,0)|0;DB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=BF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=AF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Oj(66085)|0;if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=JJ(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;DB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=BF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];MJ(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Ag(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=IJ(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;KK(c[p>>2]|0,c[s>>2]|0);xg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function aM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(bM(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(nF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function bM(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Wi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function cM(){return 200}function dM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function eM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=fM(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function fM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}AR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=ij(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(zr(c[d>>2]|0)|0)gM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function gM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function hM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Fg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=42920;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));KK(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;dt((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);dt((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function iM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=xR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=xR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=xR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function jM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=Gx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=GH(e,j,f,g)|0;else c[o>>2]=Oh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Wg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function kM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function lM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=sF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Oj(72951)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function mM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=LQ(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function nM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Xy(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function oM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Hx(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function pM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;hh(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function qM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+176>>2]|0){c[b>>2]=c[(c[d>>2]|0)+176>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}cI(a)|0;c[(c[d>>2]|0)+176>>2]=0;c[(c[d>>2]|0)+184>>2]=0}wM(c[d>>2]|0);if(c[(c[d>>2]|0)+8>>2]|0)BC(c[(c[d>>2]|0)+8>>2]|0,c[(c[d>>2]|0)+28>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+180>>2]|0))break;c[e>>2]=c[a+180>>2];c[(c[d>>2]|0)+180>>2]=c[(c[e>>2]|0)+4>>2];xM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}oI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return}function rM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=sM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(di(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[42936+(sg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=At(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+200>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+200>>2]&255](c[(c[f>>2]|0)+196>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Mg(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Lg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))tM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Eh(J,42942,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,42972,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,42987,A)|0;c[w>>2]=Wr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,42958,B);vr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=fL(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((di(c[q>>2]|0)|0)!=0?(c[E>>2]=uM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Hg(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=wR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){DK(c[t>>2]|0);vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==(($r(c[t>>2]|0)|0)&1024|0)?(J=tr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){DK(c[t>>2]|0);vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Mg(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}DK(c[t>>2]|0);if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=vr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Wj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Lg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Xj();tM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function sM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;TI(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function tM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pu(c[d>>2]|0,64);i=b;return 0}function uM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function vM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function wM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+56>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){LI(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function xM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+64>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+68>>2]|0))break;LI(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}BC(c[d>>2]|0,c[(c[b>>2]|0)+64>>2]|0);oI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function yM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[6428+(c[b>>2]<<2)>>2]|0}function zM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;r=L;j=L+184|0;k=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;o=L+124|0;p=L+120|0;G=L+116|0;q=L+112|0;m=L+108|0;l=L+104|0;n=L+100|0;c[j>>2]=b;c[k>>2]=f;c[M>>2]=g;c[K>>2]=c[k>>2];dg(J,0,c[k>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[D>>2]|0)+6>>1];mA(J,43039,r);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)j=c[c[C>>2]>>2]|0;else j=19018;c[F>>2]=j;M=(OQ(c[F>>2]|0,35351)|0)==0;c[F>>2]=M?43044:j;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?28868:19018;c[E+4>>2]=M;mA(J,43046,E);c[B>>2]=(c[B>>2]|0)+1}nA(J,35227,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[z>>2]=c[c[o>>2]>>2];mA(J,43052,z);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];M=a[c[p>>2]>>0]|0;c[A>>2]=c[(c[p>>2]|0)+20>>2];c[A+4>>2]=M;mA(J,43060,A);break}case -13:{H=c[(c[j>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;mA(J,28870,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];mA(J,43067,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];mA(J,43070,u);break}case -8:{c[G>>2]=c[(c[j>>2]|0)+16>>2];j=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[j+16>>2];break a}k=c[G>>2]|0;if(e[j+8>>1]&4){G=k;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;mA(J,28870,H);break a}j=c[G>>2]|0;if(e[k+8>>1]&8){h[I>>3]=+h[j>>3];mA(J,43070,I);break a}if(e[j+8>>1]&1){c[K>>2]=40184;break a}else{c[K>>2]=43076;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];mA(J,43083,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];mA(J,43091,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;nA(J,43095,1);break}case -18:{mA(J,43097,x);break}case -19:{a[c[k>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[j>>2]|0)+16>>2]>>2];mA(J,19007,y);break}default:{c[K>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(J)|0;i=L;return c[K>>2]|0}function AM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;hh(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function BM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=ah(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;zR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function CM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(DM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function DM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Xg(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))gu(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(ah(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}jI(c[j>>2]|0)|0}else Fx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function EM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)RF(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function FM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function GM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ni(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function HM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function IM(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+156>>2]|0)>1:0){JM(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(KM(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;EB(c[f>>2]|0);i=g;return}function JM(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function KM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function LM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];GJ(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=nF(c[e>>2]|0)|0;b=zF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=er((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=FJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Oj(61391)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=AH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=HJ(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Fg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;dt((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);dt((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);dt((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;or(c[k>>2]|0)|0;break}c[d>>2]=Oj(61386)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function MM(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=kr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function NM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=ug(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Fg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){zt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}xg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function OM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ns(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Pt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[381]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=wR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Hg(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=wR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=wR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Pt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=wR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=wR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=wR(q|0,C|0,4,0)|0,q=Pt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=wR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=wR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=wR(q|0,C|0,8,0)|0,q=Hg(p,26517,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=wR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Vi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=sr(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function PM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(lj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=fs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Hs(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[381]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=ug(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=QM(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Hs(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=fs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Hs(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0} -function Pm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Tm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)an(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=bn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Qm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Qm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return}function Rm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=vR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=HR(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Rm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Rm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;AR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}AR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=vR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=HR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=vR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=HR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=vR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=HR(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Tm(c[h>>2]|0);u=Um(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Sm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=Yl(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}bm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=Yl(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=HR(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=wR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Tm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Um(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Vm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){_l(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Wm(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Vm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Xm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=vR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,HR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=vR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;HR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=vR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=HR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;yR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=Zm(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Wm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=Yl(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=vR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=wR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];bm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Xm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Ul(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Ul(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Rl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Sl(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Vl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function Ym(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Wm(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Xm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function Zm(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Xl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Xl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Il(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}_m(y,t);j=t;j=vR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;_m(z,u);h=u;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=wR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=wR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=wR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;$m(x,v,h,C);h=v;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=wR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;_m(y,t);h=t;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;_m(z,u);h=u;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Xl(0,y);Xl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}bm(0,z);bm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=Yl(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=wR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function $m(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=vR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Il(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function an(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function bn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=dn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=cn(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function cn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=fm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(gm(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Tl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Rl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=en(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=fn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function en(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=sl(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=tl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=kn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=ln(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function fn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=gn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];hn(x,c[z>>2]|0,0,r);hn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=vR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=HR(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){bm(0,x);hn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{bm(0,y);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;jn(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!(Zm(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}hn(x,c[z>>2]|0,c[j>>2]|0,r);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=Yl(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=vR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=wR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=vR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=vR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Il(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function kn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){yR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=nn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function ln(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=nn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function mn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;zl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function nn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];hn(u,c[w>>2]|0,0,p);hn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=vR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=HR(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);on(t,u,v);hn(u,c[w>>2]|0,c[k>>2]|0,p);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,v);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,u);hn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function on(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Xl(q,r);continue}else{f=pn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Xl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);_m(r,k);_m(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;$m(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=vR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){qn(r,k);break}else{qn(s,l);break}}else{qn(r,k);qn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Il((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){_m(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=vR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Dn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Me(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(ue(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Zd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)re(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function sn(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=Ee(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Fe(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=An(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(LQ(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Bn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=Cn((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function tn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(vn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Tm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Tm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Tm(c[k>>2]|0);f=wn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function un(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;il(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function vn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=yn(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=yn(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=xn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];Zm(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if(Zm(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=Yl(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];yR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function yn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=zn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;AR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function zn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;Zm(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];Zm(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){on(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){bm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){bm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Bn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=vR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=Cn(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=Cn(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=Cn(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=wR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=vR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=Cn(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Il((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23857,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function En(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Fn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Gn(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function Gn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}AR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Qm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Zd(c[(c[h>>2]|0)+8>>2]|0)|0;Rm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Mm(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Hn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Qm(c[h>>2]|0,c[o>>2]|0,q);do{Rm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Hn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=Zl(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Hn(c[(c[f>>2]|0)+12>>2]|0);Hn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Pm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=Zl(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Kn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=Yl(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=vR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=ue(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(He(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Zd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Le(c[e>>2]|0,1,0)|0;if((ue(c[e>>2]|0)|0)==100?(He(c[e>>2]|0,0)|0)==4:0)break;h=Zd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function On(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Qn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23985,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Rn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,24013,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,24e3,0,0,0)|0;break}c[e>>2]=$e(a,24e3,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);wm(c[b>>2]|0);i=f;return c[d>>2]|0}function Rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Le(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Le(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(ue(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=De(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ml(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Zd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}wm(c[d>>2]|0);hl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){ne(c[e>>2]|0,19018,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Hm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Lm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Fe(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Be(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((He(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=An(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Un(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,24030,y)|0;c[A>>2]=Vn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);wm(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){re(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{ne(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Om(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Un(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Un(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=Zl(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=RQ(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);yR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Wn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){ne(c[j>>2]|0,19018,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Xn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=Yn(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);wm(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){re(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{ne(g,c[F>>2]|0,-1,148);i=G;return}}function Xn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Hm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}AR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Lm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=BR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!(($n(B)|0)!=0^1))break;g=o;ao(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function Yn(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Fe(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((He(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Be(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=An(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=Zn(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Vn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=BR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function Zn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=BR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=BR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=An(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=xR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Om(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Un(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function $n(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);bo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=BR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=BR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=xR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Un(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function bo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Un(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=nl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(ue(c[f>>2]|0)|0))c[e>>2]=De(c[f>>2]|0,0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function eo(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=fo(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=nl(c[g>>2]|0,28,y,0)|0;Le(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((ue(c[y>>2]|0)|0)==100){a=Ee(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=De(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Zd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=go(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=GR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=GR(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;AR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=ho(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=wR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=io(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=sl(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=tl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=ko(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=mo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=tl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;oo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=HR(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}po(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=wR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;xl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}zl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=qo(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=nl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Le(c[g>>2]|0,1,1)|0;if((100==(ue(c[g>>2]|0)|0)?(c[e>>2]=Ae(c[g>>2]|0,0)|0,c[f>>2]=Be(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(ro(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){yR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Zd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function go(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=Yl((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=Zl(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=wR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Me(e,1,l,C)|0;ue(c[h>>2]|0)|0;l=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function io(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=nl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Me(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=FR(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=wR(m|0,C|0,1,0)|0;m=HR(m|0,C|0,1024,0)|0;Me(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(ue(c[j>>2]|0)|0)){m=(He(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Zd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{AR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=nl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Me(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((ue(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=Ee(c[n>>2]|0,1)|0;d=C;e=Ee(c[n>>2]|0,2)|0;a=C;f=Ee(c[n>>2]|0,3)|0;g=C;h=Ae(c[n>>2]|0,4)|0;m=Be(c[n>>2]|0,4)|0;c[o>>2]=mm(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Zd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function ko(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=nl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=wR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Me(d,1,g,C)|0;Le(c[G>>2]|0,2,c[l>>2]|0)|0;g=(ue(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Zd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=Ee(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=Ee(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;Cl(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=HR(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Be(c[G>>2]|0,4)|0;c[v>>2]=Ae(c[G>>2]|0,4)|0;g=q;c[H>>2]=Do(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=em(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=wo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Ao(u)|0}if((xo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Bo(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=vR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=wR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=wR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=wR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){yR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=wo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Ao(J)|0}ro((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(yR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=em(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){yR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Bo(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Zd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function lo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=nl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Me(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Me(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(ue(c[r>>2]|0)|0))c[p>>2]=De(c[r>>2]|0,0)|0;c[s>>2]=Zd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=nl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(ue(c[q>>2]|0)|0)){r=Ee(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=vR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=wR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Zd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Dl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=wR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Kl(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Hl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Dl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Co(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=wR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=wR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;ro((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=zo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function no(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Jl(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=so(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=to(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;ro(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function po(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;ro(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Il((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Dl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=wR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Fl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Le(c[e>>2]|0,1,1)|0;Je(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;ue(c[e>>2]|0)|0;c[f>>2]=Zd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ro(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function so(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Le(c[h>>2]|0,2,c[g>>2]|0)|0;ue(c[h>>2]|0)|0;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function to(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=nl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Me(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(ue(c[x>>2]|0)|0)){c[o>>2]=Ae(c[x>>2]|0,4)|0;c[u>>2]=Be(c[x>>2]|0,4)|0;a=Ee(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=vo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Zd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=em(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=vo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Dl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=nl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Me(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Me(z,2,f,C)|0;ue(c[w>>2]|0)|0;c[y>>2]=Zd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=nl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Me(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Je(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Me(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[v>>2]|0,4,c[k>>2]|0)|0;ue(c[v>>2]|0)|0;c[y>>2]=Zd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function uo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=nl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Me(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(ue(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=De(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Zd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=nl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Me(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Le(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Le(c[o>>2]|0,1,c[k>>2]|0)|0;ue(c[o>>2]|0)|0;c[p>>2]=Zd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function vo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;ro(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=wo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=xo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=zo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Ao(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Bo(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(Yl((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}return 0}function xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=LQ(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function yo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Il((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function zo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;ro(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Kl(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);yR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;yR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;yR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Ao(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;ro((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}yR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Bo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Co(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Kl(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Hl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Hl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Dl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=wR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Il(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=wR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(ro(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Il((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}ro(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);ro((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;yR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);yR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Me(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(ue(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Zd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(fe(c[c[h>>2]>>2]|0)|0)==5:0)?(fe(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Fo(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);AR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Go(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((fe(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((fe(c[r>>2]|0)|0)!=5){if((fe(c[c[h>>2]>>2]|0)|0)!=5?(f=ee(c[c[h>>2]>>2]|0)|0,u=C,b=ee(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Ho(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Io(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((fe(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Ho(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Io(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Jo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Ko(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)Lo(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}Mo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=ae(c[l>>2]|0)|0;c[f>>2]=be(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,21128,8)|0):0)c[g>>2]=Rn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,24111,7)|0):0){c[g>>2]=Wo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,24119,15)|0):0){c[g>>2]=Xo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,24135,6)|0):0){c[g>>2]=Yo(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,24142,10)|0):0){c[g>>2]=Zo(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Go(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=nl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Ne(c[d>>2]|0,1)|0;ue(c[d>>2]|0)|0;c[e>>2]=Zd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Ho(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;Ro(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=So(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=To(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;AR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Uo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Uo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((fe(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((fe(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=ee(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=nl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Le(d,k,de(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(fe(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Pe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}ue(c[j>>2]|0)|0;c[l>>2]=Zd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=kl(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ko(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Po(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=be(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function Lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Oo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=nl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Me(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Je(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;ue(c[k>>2]|0)|0;l=Zd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Mo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=nl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Le(c[r>>2]|0,1,0)|0;if((ue(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=Ae(c[r>>2]|0,0)|0;No(f,b,a,Be(c[r>>2]|0,0)|0)}else AR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Zd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Oo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=nl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Le(c[r>>2]|0,1,0)|0;Je(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;ue(c[r>>2]|0)|0;t=Zd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=Yl((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Il((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=An(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ck(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Bn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(jk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function Ro(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=nl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(ue(h)|0)){c[q>>2]=Vo(c[k>>2]|0,c[r>>2]|0)|0;e=Ee(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Jo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Fe(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Po(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Be(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Zd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Zd(c[r>>2]|0)|0}else Zd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=nl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(ue(c[h>>2]|0)|0)){d=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Zd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function To(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;hl(c[e>>2]|0);if(c[h>>2]|0)Uo(f,c[e>>2]|0,2,0);Uo(f,c[e>>2]|0,3,0);Uo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Uo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Uo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=nl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=De(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Wo(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=To(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(24230,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{AR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(ue(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Vo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=Ee(c[p>>2]|0,0)|0;c[q>>2]=Jo(b,0,f,g,C)|0;AR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Fe(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Po(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Be(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)Lo(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Yd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Mo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Yd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Xo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=ap(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function Yo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=_o(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=_o(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))$o(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=eo(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;wm(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function Zo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=_o(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?($o(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=nl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Le(c[g>>2]|0,1,2)|0;Le(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;ue(c[g>>2]|0)|0;c[h>>2]=Zd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function _o(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;ll(d,b,24153,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function ap(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=nl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Le(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Le(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(ue(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=De(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=bp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Zd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(24230,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(ue(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=Ee(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Vo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Fe(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Be(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=An(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Yd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=sl(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=tl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=vR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=wR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=cp(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=Yl(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=Yl(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=wR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function cp(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=BR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=wR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=wR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function dp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Zd(c[(c[e>>2]|0)+8>>2]|0)|0;Rm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Mm(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function ep(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Ep(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=ee(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function gp(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=sp(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=tp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=up(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}ep(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Dk(z,24339,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Dk(z,24391,r);z=c[p>>2]|0;i=s;return z|0}function hp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;ip(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];jp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=kp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=kp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);lp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function ip(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);ip(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);ip(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=qp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function jp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=pp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=mp(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=np(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;mn(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=en(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=fn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=op(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function lp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){lp(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);lp(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=bn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Nn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=Ae(c[m>>2]|0,0)|0;b=Be(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=Yl(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=Yl(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Zd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=FR(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=wR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=FR(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Zd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function op(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);bm(0,j)}j=c[h>>2]|0;i=k;return j|0}function pp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=em(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function qp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=rp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function rp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=hm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function sp(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=RQ(c[s>>2]|0)|0;c[w>>2]=vp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=tp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=tp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){ep(c[e>>2]|0);ep(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else AR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=tp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){ep(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;ep(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}ep(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=up(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=up(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=wp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=xp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;yp(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else yp(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){ep(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}ep(c[v>>2]|0);ep(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function wp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Ap(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2100+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(LQ(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Ap(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=xp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Bp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=vp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=RQ(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Cp(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function xp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}AR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=zp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(zp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function zp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Ap(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Bp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=An(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Dp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Dp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;yR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Dp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;AR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){yR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=An(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=xp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;yR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Ep(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Fp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Fp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Tm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;mn(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];il(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Ip(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(RQ(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(RQ(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){AR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)AR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(RQ(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24622,8)|0):0)?0==(Kp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Lp(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Mp(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2132;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Dk(ia,24631,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((RQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,21137,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Dk(ia,24658,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((RQ(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24685,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((RQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24689,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Dk(ia,24694,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(RQ(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Np(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24717;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Lp(c[S>>2]|0,21063,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Op(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Dk(ia,24725,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}AR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);yR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;ik((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];yR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];yR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Pp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;yR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Mk(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=RQ(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(RQ(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Dk(ia,24760,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24779:24788;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Dk(ia,24799,V)}ia=Qp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Rp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Sp(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Tp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Up(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Qk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Kp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[25481+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0} -function QM(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=RM(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}hs(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(oj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=SM(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=ut(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function RM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;j=l+16|0;k=l+12|0;g=l+8|0;e=l+4|0;f=l;c[j>>2]=b;c[k>>2]=0;c[g>>2]=c[c[j>>2]>>2];b=c[j>>2]|0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];k=c[h>>2]|0;i=l;return k|0}if((zr(b)|0)==0?(d[(c[j>>2]|0)+5>>0]|0)!=2:0){b=ij(c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+60>>2]=b;if(!(c[(c[j>>2]|0)+60>>2]|0)){c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}do if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){if((d[(c[j>>2]|0)+5>>0]|0)==4){TM(c[(c[j>>2]|0)+68>>2]|0);break}c[e>>2]=6;b=c[e>>2]|0;if(a[(c[j>>2]|0)+13>>0]|0){c[e>>2]=b|4104;c[f>>2]=c[11]}else{c[e>>2]=b|2048;c[f>>2]=0}c[k>>2]=UM(c[j>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Rt(c[g>>2]|0,c[(c[j>>2]|0)+180>>2]|0,c[(c[j>>2]|0)+68>>2]|0,c[e>>2]|0,c[f>>2]|0)|0}while(0);if(!(c[k>>2]|0)){c[(c[j>>2]|0)+48>>2]=0;g=(c[j>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[j>>2]|0)+20>>0]=0;g=(c[j>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=Bt(c[j>>2]|0)|0}}b=c[j>>2]|0;if(c[k>>2]|0){nj(c[b+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}function SM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=es(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Pt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=wR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Hg(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=wR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=wR(p|0,C|0,4,0)|0;c[l>>2]=Pt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=wR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=jj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=Qt(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function TM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Rt(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function UM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=yi(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function VM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;AR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=HR((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ks(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function WM(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=XM(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function XM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function YM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function ZM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=_J(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=BF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=er((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Eg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(LQ((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(LQ(c[j>>2]|0,42920,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=eK(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}DB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((LQ((c[j>>2]|0)+21|0,45153,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){DB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Si(c[o>>2]|0);c[l>>2]=Ti(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Oj(60663)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(er((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(er((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);DB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function _M(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(zr(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Et(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Dt(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Cr(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Et(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Cr(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=$M(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function $M(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Vs(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(LQ(b,Bs(c[e>>2]|0)|0,48)|0){Ir(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function aN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+240>>2]|0)bN(c[(c[d>>2]|0)+240>>2]|0);yJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function bN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[d>>2]|0);i=b;return}function cN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1926]|0;if((b|0)!=($Q()|0)){c[1926]=$Q()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=TN(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=iO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=jO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=PN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(gQ()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=PN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=mt(34876)|0;c[B>>2]=LN(F,45232,c[E>>2]|0,34876)|0;break}if(c[l>>2]&526336){kO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[7464>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=lO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function dN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[7464>>2]&255](c[f>>2]|0)|0)==-1){if((c[(gQ()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=LN(2570,45329,c[f>>2]|0,35002)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[7476>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(_N(c[h>>2]|0,0,0)|0)c[j>>2]=LN(1290,45563,c[f>>2]|0,35012)|0;KN(0,c[h>>2]|0,35014)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function eN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[7320>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[7296>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function fN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[7596>>2]&255](c[o>>2]|0,k)|0){if((c[(gQ()|0)>>2]|0)!=2){s=mt(35126)|0;c[p>>2]=LN(s,45417,c[o>>2]|0,35126)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=mt(35137)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[7584>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=mt(35143)|0;c[p>>2]=LN(s,45408,c[o>>2]|0,35143)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=mt(35149)|0;break}else{zR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;yR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=hO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function gN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;AR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1926]=$Q()|0;c[h>>2]=PN(45550,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[7704]|0;a[e+1>>0]=a[7705]|0;a[e+2>>0]=a[7706]|0;a[e+3>>0]=a[7707]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[7368>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(gQ()|0)>>2]|0)==4);KN(0,c[h>>2]|0,35273);e=c[f>>2]|0;i=l;return e|0}function hN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;eR(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function iN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=kN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function jN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(gQ()|0)>>2]|0;i=e;return d|0}function kN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=HR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=wR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=wR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function lN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[7268+((c[g>>2]|0)*12|0)+8>>2]|0)c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(OQ(c[e>>2]|0,c[7268+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[7268+(d*12|0)+8>>2]|0))c[7268+((c[g>>2]|0)*12|0)+8>>2]=c[7268+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function mN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(OQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[7268+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function nN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(OQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[7268+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[7268+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function oN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7192}function pN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];wN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=bO(c[d>>2]|0)|0;i=b;return a|0}function qN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=aO(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{YN(c[l>>2]|0,0);AR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function rN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=WN(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=wR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}YN(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function sN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=wR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=vR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=FR(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=HR(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=$N(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;YN(k,c[(gQ()|0)>>2]|0);c[e>>2]=LN(1546,45255,c[(c[g>>2]|0)+32>>2]|0,32711)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function tN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=_N(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){YN(d,c[(gQ()|0)>>2]|0);c[f>>2]=LN(1034,45539,c[(c[h>>2]|0)+32>>2]|0,32666)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[7476>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){_N(c[g>>2]|0,0,0)|0;KN(c[h>>2]|0,c[g>>2]|0,32680)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function uN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[7332>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;YN(j,c[(gQ()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function vN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[7488>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(gQ()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=ZN(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)YN(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function wN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[7500>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(gQ()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;YN(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function xN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[7296>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function yN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=RN(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{SN(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{SN(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(19007,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){TN(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=UN(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function zN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function AN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function BN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=QN(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=QN(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=QN(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function CN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;GN();IN();i=b;return}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;GN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[7464>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;HN(c[g>>2]|0)}IN();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function EN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function FN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function GN(){return}function HN(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=JN()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[7548>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){KN(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,33287);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function IN(){return}function JN(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[7572>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function KN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[7284>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;LN(4106,45195,e,c[f>>2]|0)|0;i=g;return}function LN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(gQ()|0)>>2];c[m>>2]=hQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=19018;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,45201,l);i=n;return c[f>>2]|0}function MN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=jQ(d,a,f)|0;i=e;return a|0}function NN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,19007,l)|0;c[h>>2]=RQ(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=PN(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=LN(mt(32625)|0,45336,j,32625)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function ON(){return ib(30)|0}function PN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[7272>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(gQ()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[7284>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,45423,l);c[h>>2]=-1;if((Ob[c[7272>>2]&255](45466,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[7332>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[7440>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function QN(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1839]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function RN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=wR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=vR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=FR(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=HR(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=wR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=vR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=vR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=WN(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,19018,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=wR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function SN(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function TN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;a[c[f>>2]>>0]=0;c[k>>2]=VN()|0;if(!(c[k>>2]|0)){c[l>>2]=6410;l=c[l>>2]|0;i=m;return l|0}while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,45476,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=5;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=5;break}if(Yb[c[7296>>2]&255](c[f>>2]|0,0)|0){e=7;break}}if((e|0)==5){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==7){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function UN(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[7320>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function VN(){var a=0,b=0,d=0,e=0,f=0,g=0;f=i;i=i+96|0;d=f+84|0;b=f+80|0;a=f+4|0;e=f;c[b>>2]=0;c[e>>2]=c[241];if(!(c[1901]|0))c[1901]=rb(45493)|0;if(!(c[1902]|0))c[1902]=rb(45507)|0;while(1){if((((c[e>>2]|0)!=0?(Yb[c[7320>>2]&255](c[e>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[7296>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[b>>2]|0)>>>0>=6){a=12;break}g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=c[7604+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;i=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}return 0}function WN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=XN(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function XN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=aR(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[7404>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(gQ()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(gQ()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function YN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function ZN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function _N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=XQ(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function $N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[7344>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(gQ()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function aO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=aR(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[7368>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=wR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(gQ()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;YN(p,c[(gQ()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;YN(p,c[(gQ()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function bO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){KN(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31034);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function cO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7628}function dO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bO(c[d>>2]|0)|0;i=b;return a|0}function eO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function fO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function gO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[7308>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=mt(35069)|0;c[f>>2]=LN(b,45237,c[g>>2]|0,35069)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=mt(35078)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,19007,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function iO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[7320>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}GN();c[e>>2]=c[1946];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}IN();k=c[f>>2]|0;i=j;return k|0}function jO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+624|0;h=r+100|0;j=r+96|0;k=r+92|0;l=r+88|0;m=r+84|0;o=r+80|0;q=r+104|0;n=r+76|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}yR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(Yb[c[7320>>2]&255](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function kO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[7524>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[7512>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function lO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,45569,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(OQ(c[(c[j>>2]|0)+16>>2]|0,45185)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=7628;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=7708){if((c[o>>2]|0)==7192){c[n>>2]=(RQ(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,45574,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{GN();c[q>>2]=mO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){KN(c[p>>2]|0,c[k>>2]|0,34405);c[k>>2]=-1}IN()}YN(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];nO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}KN(c[p>>2]|0,c[k>>2]|0,34490);u=c[q>>2]|0;i=t;return u|0}function mO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[7332>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;YN(m,c[(gQ()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1946];while(1){if(c[j>>2]|0)a=(LQ(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1946];c[(c[j>>2]|0)+36>>2]=0;if(c[1946]|0)c[(c[1946]|0)+36>>2]=c[j>>2];c[1946]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function nO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[7332>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45582,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45606,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,45635,j);i=l;return}if(!(UN(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45662,k);i=l;return}function oO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];nO(c[d>>2]|0);qO(c[b>>2]|0,0)|0;GN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)xO(c[d>>2]|0);yO(c[d>>2]|0);c[e>>2]=bO(c[b>>2]|0)|0;IN();i=f;return c[e>>2]|0}function pO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}GN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[381],(vO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(gQ()|0)>>2];c[o>>2]=ZN(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;YN(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[381]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((vO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(gQ()|0)>>2],c[o>>2]=ZN(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)YN(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[381]|0)+2;c[h+8>>2]=510;if(vO(c[m>>2]|0,h)|0){c[j>>2]=c[(gQ()|0)>>2];c[o>>2]=ZN(c[j>>2]|0,3850)|0}c[h+4>>2]=c[381];c[h+8>>2]=1;b[h>>1]=2;q=(vO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(gQ()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;YN(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);IN();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function qO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=uO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function rO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];GN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[381]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;YN(o,c[(gQ()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);IN();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function sO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=JN()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=tO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[7332>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((XN(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19018,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=LN(4874,45290,c[y>>2]|0,33552)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1884]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=HR(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}AR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=LN(5386,45377,c[(c[C>>2]|0)+8>>2]|0,33579)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function tO(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;GN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(RQ(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}AR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,45690,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];if((c[3]|0)!=0?(c[(c[l>>2]|0)+4>>2]=8,(c[(c[l>>2]|0)+4>>2]|0)==0):0){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,45697,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=PN(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=mt(33404)|0;c[m>>2]=LN(p,45232,c[q>>2]|0,33404)|0;break}kO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((QN(c[f>>2]|0,1,128,1)|0)==0?($N(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=LN(4618,45255,c[q>>2]|0,33420)|0;if(!(c[m>>2]|0))c[m>>2]=QN(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);HN(c[f>>2]|0);Kd(c[j>>2]|0);IN();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];IN();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function uO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}GN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[381]|0)+2,c[k+8>>2]=510,(vO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;YN(q,c[(gQ()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[381];c[k+8>>2]=2;if(!(vO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;YN(q,c[(gQ()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(vO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;YN(q,c[(gQ()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))wO(c[l>>2]|0)}IN();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function vO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[381]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1839]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function wO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];KN(c[b>>2]|0,c[c[d>>2]>>2]|0,30305);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function xO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function yO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}wO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1946]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function zO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7708}function AO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=ee(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function BO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+ce(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function CO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function DO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ae(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function EO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=wR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=qA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function FO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=288;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function GO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Pi(5,c[j>>2]|0);b=288;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=288;j=c[e>>2]|0;j=vR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[77]=1;FO(c[e>>2]|0);break}else{c[77]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Qi(0,c[e>>2]|0);Qi(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function HO(){JO(9612,3);return}function IO(){JO(9388,8);return}function JO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[18229+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=fu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1080+(c[g>>2]<<2)>>2];c[1080+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function KO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ae(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;ke(h,yd(c[f>>2]|0)|0);i=g;return}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=de(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;ne(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function MO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,jf()|0,-1,0);i=e;return}function NO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((fe(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=be(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ae(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=HR(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=uP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=46317;c[l>>2]=9384;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ve(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(LQ(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(LQ((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}ne(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function OO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ve(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=vP(c[e>>2]|0)|0;c[j>>2]=0;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((fe(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=pI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}pe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function PO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=xe(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(fe(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}wP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=we(d)|0;c[(c[l>>2]|0)+32>>2]=m;ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=vP(d)|0;c[j>>2]=(ve(c[g>>2]|0)|0)!=0&1;c[h>>2]=pI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){wP(c[g>>2]|0);i=n;return}ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function QO(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)pe(c[d>>2]|0,c[e>>2]|0);Wg(c[e>>2]|0);i=f;return}function RO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(fe(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=40203;break}case 3:{c[f>>2]=46307;break}case 2:{c[f>>2]=40198;break}case 4:{c[f>>2]=46312;break}default:c[f>>2]=40211}ne(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function SO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(fe(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{ke(c[g>>2]|0,be(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ae(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}ke(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{me(c[g>>2]|0);i=l;return}}}function TO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=fe(c[c[g>>2]>>2]|0)|0;c[n>>2]=fe(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=be(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ae(b)|0;c[p>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(LQ(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;ke(c[f>>2]|0,c[h>>2]|0);i=q;return}function UO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=we(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=ae(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+92>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;mA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;ne(n,o,c[k>>2]|0,170);i=p;return}function VO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;ke(j,wC(g)|0);i=h;return}function WO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){te(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=ee(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;oe(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=ee(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=vR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}je(c[e>>2]|0,46262,-1);i=k;return}while(0);j=g;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];ie(c[e>>2]|0,+h[j>>3]);i=k;return}}}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(fe(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=de(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((fe(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+ce(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(46302,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Xy(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}te(c[e>>2]|0);i=m;return}while(0);ie(c[e>>2]|0,+h[j>>3]);i=m;return}function ZO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=wR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=uP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[19019+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function _O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=wR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=uP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[18229+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function $O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=$d(c[c[p>>2]>>2]|0)|0;c[k>>2]=be(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=HR(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=wR(b|0,C|0,1,0)|0;b=uP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[46286+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[46286+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function aP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=vR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}le(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function bP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=de(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=uP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);ge(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=vP(c[e>>2]|0)|0;if(!(pI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}pe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function dP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,kf()|0,-1,0);i=e;return}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=de(c[c[g>>2]>>2]|0)|0;c[f>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,19007,f);i=e;return}function fP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(fe(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+ce(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28875,r)|0;Xy(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,46279,s)|0}ne(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{pe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=$d(c[c[j>>2]>>2]|0)|0;c[o>>2]=be(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=uP(u,wR(HR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[46286+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[46286+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;ne(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=wR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=wR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=wR(x|0,C|0,3,0)|0;c[t>>2]=uP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;ne(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{ne(c[g>>2]|0,40184,4,0);i=y;return}}}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;le(d,a,C);i=e;return}function hP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,qf(c[f>>2]|0)|0);i=e;return}function iP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,rf(c[f>>2]|0)|0);i=e;return}function jP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=be(c[c[g>>2]>>2]|0)|0;c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){pe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=be(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=uP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(LQ((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=we(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=wR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+92>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}yR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){se(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){te(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){yR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;ne(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function kP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=ee(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=qe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}re(c[e>>2]|0,c[f>>2]|0);i=g;return}function lP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((fe(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(fe(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=fe(c[c[h>>2]>>2]|0)|0;b=de(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=be(e)|0;c[p>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ae(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=de(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=vR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(we(c[m>>2]|0)|0)+92>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=wR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=wR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=wR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=wR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=vR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=wR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=wR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=vR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;he(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=wR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=wR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;oe(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function mP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=xe(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=wR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+ce(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=ee(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(lI((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function nP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){je(c[d>>2]|0,46262,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){ie(d,+h[b>>3]);i=f;return}else{g=b+8|0;le(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function oP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;ie(a,f);i=d;return}f=+h[c[b>>2]>>3];ie(a,f);i=d;return}function pP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;ie(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=xe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(fe(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=wR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function rP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;le(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;le(a,b,e);i=d;return}function sP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=xe(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=we(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+92>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=37926;c[k>>2]=1}if(c[k>>2]|0)nA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}nA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function tP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){se(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){te(b);i=f;return}else{ne(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=we(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){se(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}te(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function vP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function wP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(FP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}GP(f);j=f;ie(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(FP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}IP(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,46603,f)|0;ne(c[e>>2]|0,h,-1,-1);i=j;return}function zP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(FP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}JP(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,46588,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(FP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}HP(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,46558,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function BP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(FP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=we(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+92>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){se(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Rw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){te(c[m>>2]|0);i=J;return}}else c[G>>2]=H;GP(E);HP(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,46400,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,46405,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,46400,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;GP(F);k=E;l=F;c[p>>2]=FR(wR(vR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=wR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=FR(l|0,C|0,864e5,0)|0;l=GR(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,46400,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,46412,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,43070,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,46400,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,46400,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=vR(FR(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28870,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,46400,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=GR(FR(wR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,46417,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;ne(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;zP(c[f>>2]|0,0,0);i=e;return}function DP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;AP(c[f>>2]|0,0,0);i=e;return}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;yP(c[f>>2]|0,0,0);i=e;return}function FP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=KP(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=fe(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+ce(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ae(d)|0;if((c[n>>2]|0)!=0?(LP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=ae(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(MP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function GP(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=wR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=wR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=vR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function HP(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;IP(c[d>>2]|0);JP(c[d>>2]|0);i=b;return}function IP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=wR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=FR(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function JP(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}GP(c[d>>2]|0);b=c[d>>2]|0;b=wR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=GR(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function KP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=UP(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function LP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(TP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(PP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,46542)|0)){c[f>>2]=KP(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Xy(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function MP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[18229+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(OQ(c[y>>2]|0,46422)|0){y=c[x>>2]|0;i=z;return y|0}GP(c[w>>2]|0);v=NP(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=wR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;OP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((OQ(c[y>>2]|0,46432)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=wR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=FR(v|0,C|0,86400,0)|0;v=wR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;OP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(OQ(c[y>>2]|0,46442)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}GP(c[w>>2]|0);y=l;c[y>>2]=NP(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=vR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;OP(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=NP(c[w>>2]|0,c[g>>2]|0,x)|0;v=vR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(SQ(c[y>>2]|0,46446,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Xy((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}HP(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;GP(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=GR(FR(wR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=vR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=HR(vR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=wR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;OP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(SQ(c[y>>2]|0,46455,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;IP(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(OQ(c[y>>2]|0,46465)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(OQ(c[y>>2]|0,46471)|0)){IP(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(OQ(c[y>>2]|0,46476)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[19019+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Xy(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[19019+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(PP(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}GP(u);v=u;v=vR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=FR(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=HR(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=vR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=vR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}GP(c[w>>2]|0);OP(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=wR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[19019+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}GP(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(OQ(c[y>>2]|0,46476)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(OQ(c[y>>2]|0,46480)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(OQ(c[y>>2]|0,46485)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(OQ(c[y>>2]|0,46492)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(OQ(c[y>>2]|0,46465)|0)==0:0){HP(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;GP(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(OQ(c[y>>2]|0,46471)|0)==0:0){c[r>>2]=~~+h[n>>3];HP(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;GP(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);OP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function NP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));HP(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;GP(o);l=o;l=FR(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=vR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(SP(n,m)|0){je(c[j>>2]|0,46519,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;GP(p);c[c[k>>2]>>2]=0;n=p;p=o;p=vR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function OP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function PP(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((QP(b,46499,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((QP(r,46507,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[19019+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[19019+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(RP(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function QP(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[17038+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[19019+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function RP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[19019+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((QP(o,46511,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[19019+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function SP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function TP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((QP(b,46546,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[19019+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(PP(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)GP(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function UP(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+136;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=VH(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function VP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=ae(c[c[s>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Zu(c[m>>2]|0,k)|0}while((c[k>>2]|0)==160)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Eh(s,46692,l)|0;ne(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function WP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=ae(c[c[t>>2]>>2]|0)|0;c[q>>2]=ae(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Zu(c[n>>2]|0,l)|0}while((c[l>>2]|0)==160);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=74&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Eh(t,46692,m)|0;ne(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function XP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=we(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ae(c[c[v>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Zu(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Zu(c[m>>2]|0,j)|0}while((c[j>>2]|0)==160);if((c[j>>2]|0)==161)break;v=c[h>>2]|0;c[s>>2]=Uw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Vw(c[s>>2]|0);if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19018;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Eh(v,46681,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19018;c[l+4>>2]=s;c[t>>2]=Eh(v,25321,l)|0;ne(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function YP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=iu(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function ZP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)DA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function _P(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+20>>2];if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){c[h>>2]=c[c[f>>2]>>2];Sj((c[(c[f>>2]|0)+24>>2]|0)+24|0,c[h>>2]|0,0)|0}iH(c[d>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}$P(c[d>>2]|0,c[e>>2]|0);dH(c[d>>2]|0,c[e>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);cv(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0);PH(c[d>>2]|0,c[e>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=j;return}function $P(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Sj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}ZF(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);ZF(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function aQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function bQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function cQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function dQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function eQ(a){a=a|0;var b=0;b=(dQ(a)|0)==0;return (b?a:a|32)|0}function fQ(a){a=a|0;var b=0;b=(cQ(a)|0)==0;return (b?a:a&95)|0}function gQ(){var a=0;if(!(c[2424]|0))a=9744;else a=c[(qb()|0)+60>>2]|0;return a|0}function hQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[46816+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=46904;e=5;break}}if((e|0)==2)if(!c)b=46904;else{b=46904;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function iQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=lQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=lQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=lQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=lQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=lQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=lQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=lQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function jQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=lQ(Db(5,f|0)|0)|0;i=e;return d|0}function kQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[48708+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function lQ(a){a=a|0;if(a>>>0>4294963200){c[(gQ()|0)>>2]=0-a;a=-1}return a|0}function mQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function nQ(a){a=+a;var b=0;h[k>>3]=a;b=xR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+tQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function oQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=xR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+tQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function pQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=xR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+tQ(f+a*f/(1.0-a))*.5}}else a=+tQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function qQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+rQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+mQ(a);break}while(0);return +a}function rQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=xR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=BR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=BR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function sQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function tQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=BR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function uQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+rQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+mQ(b);while(0);return +a}function vQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+rQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+rQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+rQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function wQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(gQ()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)lR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=lQ(cb(192,h|0)|0)|0;if(j)mR()}else{c[(gQ()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function xQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;lR(-1);c[e>>2]=a;c[e+4>>2]=b;a=lQ(Xa(91,e|0)|0)|0;mR();i=d;return a|0}function yQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){kQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=lQ(wb(15,g|0)|0)|0}else d=lQ(d)|0;i=h;return d|0}function zQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){kQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=lQ(fb(195,g|0)|0)|0}else d=lQ(d)|0;i=h;return d|0}function AQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(eb(196,e|0)|0)|0;i=d;return a|0}function BQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(Za(39,e|0)|0)|0;i=d;return a|0}function CQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(fb(195,e|0)|0)|0;i=d;return a|0}function DQ(a){a=a|0;return 0}function EQ(a){a=a|0;return}function FQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=lQ(Cb(6,d|0)|0)|0;i=b;return a|0}function GQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((lQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function HQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2424]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=lQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=lQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function IQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=HQ(b,d,e)|0;i=g;return f|0}function JQ(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=iR(a)|0;break}d=(DQ(a)|0)==0;b=iR(a)|0;if(!d)EQ(a)}else{if(!(c[2435]|0))b=0;else b=JQ(c[2435]|0)|0;Bb(9724);a=c[2430]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=DQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=iR(a)|0|b;if(d)EQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(9724)}while(0);return b|0}function KQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){jR(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)jR(a,d,e,h,o);else kR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}kR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;kR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;kR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function LQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function MQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function NQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);AR(b|0,0,e|0)|0;return b|0}function OQ(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function PQ(a,b){a=a|0;b=b|0;MQ(a,b)|0;return a|0}function QQ(a){a=a|0;var b=0,c=0;c=(RQ(a)|0)+1|0;b=oR(c)|0;if(!b)b=0;else yR(b|0,a|0,c|0)|0;return b|0}function RQ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function SQ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function TQ(a,b,c){a=a|0;b=b|0;c=c|0;NQ(a,b,c)|0;return a|0}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(sb(33,e|0)|0)|0;i=d;return a|0}function VQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=lQ((a|0)==-4?-115:a)|0;i=b;return a|0}function WQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){kQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=lQ(hb(212,h|0)|0)|0}else e=lQ(e)|0;i=j;return e|0}function XQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=lQ(Oa(118,d|0)|0)|0;i=b;return a|0}function YQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=lQ(gb(194,e|0)|0)|0;i=d;return b|0}function ZQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(gQ()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((lQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=QQ(d)|0}else a=0}i=g;return a|0}function _Q(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function $Q(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function aR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(lQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function bR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=lQ(Ab(3,f|0)|0)|0;i=e;return a|0}function cR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=lQ(Ea(85,f|0)|0)|0;i=e;return a|0}function dR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=lQ(Na(40,d|0)|0)|0;i=b;return a|0}function eR(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function fR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=lQ(yb(10,d|0)|0)|0;i=b;return a|0}function gR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=lQ(Eb(4,f|0)|0)|0;i=e;return a|0}function hR(a){a=a|0;if(!(c[a+68>>2]|0))EQ(a);return}function iR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function jR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);nR(b,o,e);i=p;return}function kR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){nR(b,p,e);jR(a,b,d,g,h)}i=r;return}function lR(a){a=a|0;return}function mR(){return}function nR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;yR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;yR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function oR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2465]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9900+(e<<2)|0;e=9900+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2469]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2465]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2467]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9900+(e<<2)|0;e=9900+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2469]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2467]|0;break}else Ma()}else{c[2465]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2470]|0;d=k>>>3;b=d<<1;e=9900+(b<<2)|0;a=c[2465]|0;d=1<>2]|0;if(b>>>0<(c[2469]|0)>>>0)Ma();else{l=a;m=b}}else{c[2465]=a|d;l=9900+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2467]=h;c[2470]=i;M=j;return M|0}a=c[2466]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[10164+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2469]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=10164+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2469]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2467]|0;if(b){g=c[2470]|0;d=b>>>3;b=d<<1;f=9900+(b<<2)|0;a=c[2465]|0;d=1<>2]|0;if(a>>>0<(c[2469]|0)>>>0)Ma();else{p=b;q=a}}else{c[2465]=a|d;p=9900+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2467]=j;c[2470]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2466]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[10164+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[10164+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2467]|0)-m|0)>>>0:0){f=c[2469]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=10164+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2469]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9900+(a<<2)|0;d=c[2465]|0;b=1<>2]|0;if(a>>>0<(c[2469]|0)>>>0)Ma();else{s=b;t=a}}else{c[2465]=d|b;s=9900+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=10164+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2466]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2469]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2469]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2467]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2470]|0;if(b>>>0>15){c[2470]=a+q;c[2467]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2467]=0;c[2470]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2468]|0;if(a>>>0>q>>>0){L=a-q|0;c[2468]=L;M=c[2471]|0;c[2471]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2583]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2585]=a;c[2584]=a;c[2586]=-1;c[2587]=-1;c[2588]=0;c[2576]=0;c[2583]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2585]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2575]|0;if((a|0)!=0?(t=c[2573]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2576]&4)){a=c[2471]|0;e:do if(a){f=10308;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2468]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2584]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2573]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2575]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2585]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2576]=c[2576]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2573]|0)+p|0;c[2573]=a;if(a>>>0>(c[2574]|0)>>>0)c[2574]=a;h=c[2471]|0;g:do if(h){g=10308;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2468]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2471]=h+L;c[2468]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2472]=c[2587];break}a=c[2469]|0;if(w>>>0>>0){c[2469]=w;a=w}d=w+p|0;g=10308;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=10308;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2470]|0)){M=(c[2467]|0)+l|0;c[2467]=M;c[2470]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=10164+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2469]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2466]=c[2466]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9900+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9900+(a<<2)|0;d=c[2465]|0;b=1<>2]|0;if(a>>>0>=(c[2469]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=10164+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2466]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2469]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2469]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2468]|0)+l|0;c[2468]=M;c[2471]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=10308;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2471]=w+d;c[2468]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2472]=c[2587];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2577];c[b+4>>2]=c[2578];c[b+8>>2]=c[2579];c[b+12>>2]=c[2580];c[2577]=w;c[2578]=p;c[2580]=0;c[2579]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9900+(a<<2)|0;d=c[2465]|0;b=1<>2]|0;if(a>>>0<(c[2469]|0)>>>0)Ma();else{G=b;H=a}}else{c[2465]=d|b;G=9900+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=10164+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2466]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2469]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2469]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2469]|0;if((M|0)==0|w>>>0>>0)c[2469]=w;c[2577]=w;c[2578]=p;c[2580]=0;c[2474]=c[2583];c[2473]=-1;b=0;do{M=b<<1;L=9900+(M<<2)|0;c[9900+(M+3<<2)>>2]=L;c[9900+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2471]=w+M;c[2468]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2472]=c[2587]}while(0);b=c[2468]|0;if(b>>>0>q>>>0){L=b-q|0;c[2468]=L;M=c[2471]|0;c[2471]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(gQ()|0)>>2]=12;M=0;return M|0}function pR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2469]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2470]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2467]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9900+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=10164+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2469]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2471]|0)){t=(c[2468]|0)+g|0;c[2468]=t;c[2471]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2470]|0))return;c[2470]=0;c[2467]=0;return}if((q|0)==(c[2470]|0)){t=(c[2467]|0)+g|0;c[2467]=t;c[2470]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2469]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=10164+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2469]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9900+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2469]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2465]=c[2465]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2470]|0)){c[2467]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9900+(d<<2)|0;e=c[2465]|0;b=1<>2]|0;if(d>>>0<(c[2469]|0)>>>0)Ma();else{r=b;s=d}}else{c[2465]=e|b;r=9900+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=10164+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2466]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2469]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2466]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2473]|0)+-1|0;c[2473]=u;if(!u)b=10316;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2473]=-1;return}function qR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=oR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;AR(b|0,0,d|0)|0;return b|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=oR(b)|0;return a|0}if(b>>>0>4294967231){c[(gQ()|0)>>2]=12;a=0;return a|0}d=sR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=oR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;yR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;pR(a);a=d;return a|0}function sR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2469]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2585]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;tR(a+b|0,d);return a|0}if((l|0)==(c[2471]|0)){d=(c[2468]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2471]=a+b;c[2468]=n;return a|0}if((l|0)==(c[2470]|0)){e=(c[2467]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2467]=d;c[2470]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=10164+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2469]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9900+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;tR(a+b|0,n);return a|0}return 0}function tR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2469]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2470]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2467]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9900+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=10164+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2469]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2469]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2471]|0)){s=(c[2468]|0)+h|0;c[2468]=s;c[2471]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2470]|0))return;c[2470]=0;c[2467]=0;return}if((q|0)==(c[2470]|0)){s=(c[2467]|0)+h|0;c[2467]=s;c[2470]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=10164+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2469]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9900+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2470]|0)){c[2467]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9900+(e<<2)|0;f=c[2465]|0;d=1<>2]|0;if(e>>>0<(c[2469]|0)>>>0)Ma();else{r=d;s=e}}else{c[2465]=f|d;r=9900+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=10164+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2466]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2469]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2469]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function uR(){}function vR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function wR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function xR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function yR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function zR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else yR(b,c,d)|0;return b|0}function AR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function BR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function DR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ER(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function FR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=vR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return vR((KR(h,g,vR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function GR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=vR(h^a,g^b,h,g)|0;b=C;KR(a,b,vR(l^d,k^e,l,k)|0,C,j)|0;e=vR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function HR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ER(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function IR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return KR(a,b,c,d,0)|0}function JR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;KR(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function KR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=DR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((DR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=wR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;vR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=vR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function LR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function MR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0} -function JE(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ii(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function KE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Xh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){ih(c[m>>2]|0,c[l>>2]|0)|0;yx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function LE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function ME(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Zz(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function NE(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+18>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+12>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function OE(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+18>>1]|0|(e[(c[k>>2]|0)+18>>1]|0);if(!((e[(c[j>>2]|0)+18>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+18>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(Cy(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(Cy(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=Ay(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=37;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-37|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=BE(c[n>>2]|0,c[r>>2]|0,3)|0;xE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function PE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=199;c[g+24>>2]=c[l>>2];oy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function QE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Eh(a,30757,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;oA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Eh(a,35734,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;oA(h,k,l,m,-1,2);i=n;return}}function RE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Rx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(XC(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Rx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(_C(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function SE(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function TE(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Pz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?32:30;if(!(d[A>>0]|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(RE(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=VE(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=WE(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+76>>2]|0)+1;g=(c[q>>2]|0)+76|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));bx(c[I>>2]|0,82,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;GA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=Oz(c[I>>2]|0)|0;OC(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(Oz(c[I>>2]|0)|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;TC(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;XE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;OC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Tz(I,J);i=K;return}a[H>>0]=0;UE(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);bx(c[I>>2]|0,115,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;Kh(c[I>>2]|0,-1,c[r>>2]|0,-20);if(d[A>>0]|0)Hh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Kz(c[I>>2]|0,115,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Hh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;XE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;OC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Tz(I,J);i=K;return}function UE(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Hj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=iA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;fx(c[w>>2]|0,125,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;jA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function VE(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(_F(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=_E(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function WE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Rx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;oC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function XE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Rx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(_C(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=YE(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)ZE(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function YE(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(oC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1579];c[J+4>>2]=c[1580];c[I>>2]=c[1581];c[I+4>>2]=c[1582];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Py(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Py(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=pz(c[q>>2]|0,55,J,0)|0;f=Cv(g,122,f,pz(c[q>>2]|0,55,K,0)|0,0)|0;c[w>>2]=Cv(e,37,f,pz(c[q>>2]|0,55,H,0)|0,0)|0;c[F>>2]=nz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=pz(c[q>>2]|0,55,J,0)|0;g=Cv(e,122,g,pz(c[q>>2]|0,55,K,0)|0,0)|0;e=c[k>>2]|0;f=pz(c[q>>2]|0,55,I,0)|0;c[w>>2]=Cv(h,29,g,Cv(e,122,f,pz(c[q>>2]|0,55,K,0)|0,0)|0,0)|0;c[E>>2]=nz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=Cv(c[k>>2]|0,101,0,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];if(c[v>>2]|0){c[z>>2]=Ay(c[q>>2]|0,c[v>>2]|0,0)|0;break}else{c[z>>2]=Cv(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=pz(c[q>>2]|0,55,I,0)|0;c[z>>2]=Cv(e,122,f,pz(c[q>>2]|0,55,K,0)|0,0)|0}while(0);c[y>>2]=Rv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Sv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Uv(c[q>>2]|0,83,35704)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Rv(c[k>>2]|0,0,c[A>>2]|0)|0;K=Yv(c[q>>2]|0,0,G,0)|0;c[B>>2]=Qv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=rh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,yR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=Ay(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=Iy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=Tx(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=Cv(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=Ay(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;gv(c[q>>2]|0,c[F>>2]|0);gv(c[q>>2]|0,c[E>>2]|0);cv(c[q>>2]|0,c[y>>2]|0);dv(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){ZF(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function ZE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=$w(c[j>>2]|0)|0;c[n>>2]=_E(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+76|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;ex(e,62,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Hh(c[o>>2]|0,c[m>>2]&255);i=p;return}function _E(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+532>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=$E(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function $E(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+416>>2]|0)g=c[g+416>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=rh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+532>>2];c[(c[s>>2]|0)+532>>2]=c[p>>2];e=rh(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}aF(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=rh(c[n>>2]|0,544,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+420>>2]=c[l>>2];c[(c[r>>2]|0)+416>>2]=c[s>>2];c[(c[r>>2]|0)+496>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+440>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+428>>2]=c[(c[j>>2]|0)+428>>2];c[v>>2]=$w(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Kh(e,-1,Eh(l,35401,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=Ay(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(sy(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Pz(c[v>>2]|0)|0;YA(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}gv(c[n>>2]|0,c[t>>2]|0)}bF(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Tz(c[v>>2]|0,c[o>>2]|0);jx(c[v>>2]|0,73)|0;cF(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=dF(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+400|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+76>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+84>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+432>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+436>>2];av(c[v>>2]|0)}Nh(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function aF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function bF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+44|0;p=o+40|0;h=o+36|0;l=o+32|0;n=o+28|0;j=o+24|0;m=o+4|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+441>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=YF(c[g>>2]|0,c[l>>2]|0)|0;p=Iy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;cw(b,e,p,Ay(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 108:{b=c[g>>2]|0;e=YF(c[g>>2]|0,c[l>>2]|0)|0;p=Tx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;dw(b,e,p,Az(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 109:{p=c[g>>2]|0;aw(p,YF(c[g>>2]|0,c[l>>2]|0)|0,Ay(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=Tx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;kB(m,4,0);Nv(c[g>>2]|0,c[k>>2]|0,m)|0;dv(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)jx(c[n>>2]|0,116)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function cF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+68>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+68>>2]=c[(c[e>>2]|0)+68>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function dF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];eF(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function eF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;h=o+4|0;j=o;c[f>>2]=b;c[g>>2]=e;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[(c[f>>2]|0)+24>>2];c[h>>2]=c[(c[m>>2]|0)+120>>2];e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33|32;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65;c[l>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(((c[(c[f>>2]|0)+32>>2]|0)-1|0)*20|0);while(1){if((d[c[l>>2]>>0]|0|0)<=69){switch(d[c[l>>2]>>0]|0|0){case 2:{if(c[(c[l>>2]|0)+8>>2]|0){n=(c[f>>2]|0)+89|0;a[n>>0]=a[n>>0]&-33;n=6}else n=6;break}case 0:case 1:{n=6;break}case 9:case 10:case 8:{e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64;break}case 12:{if((c[(c[l>>2]|0)+8>>2]|0)>(c[k>>2]|0))c[k>>2]=c[(c[l>>2]|0)+8>>2];break}case 11:{c[j>>2]=c[(c[l>>2]|0)+-20+4>>2];if((c[j>>2]|0)>(c[k>>2]|0))c[k>>2]=c[j>>2];break}case 3:case 5:case 7:{c[(c[l>>2]|0)+16>>2]=200;a[(c[l>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[l>>2]|0)+16>>2]=201;a[(c[l>>2]|0)+1>>0]=-19;break}default:{}}if((n|0)==6){n=0;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64}if(((d[35415+(d[c[l>>2]>>0]|0)>>0]|0)&1|0)!=0?(c[(c[l>>2]|0)+8>>2]|0)<0:0)c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+(-1-(c[(c[l>>2]|0)+8>>2]|0)<<2)>>2]}if((c[l>>2]|0)==(c[(c[f>>2]|0)+4>>2]|0))break;c[l>>2]=(c[l>>2]|0)+-20}Tf(c[c[f>>2]>>2]|0,c[(c[m>>2]|0)+120>>2]|0);c[(c[m>>2]|0)+120>>2]=0;c[(c[m>>2]|0)+116>>2]=0;c[c[g>>2]>>2]=c[k>>2];i=o;return}function fF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=WF(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=WF(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=XF(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function gF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=hF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function hF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=iF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}lF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=gF(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=jF(o,er((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=kF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function iF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=pF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function jF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Oj(62497)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=mF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function kF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=er((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=jF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function lF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;FB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function mF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(nF(c[l>>2]|0)|0)>>>0){c[r>>2]=ug(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=St(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(oF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Ut(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){DB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Oj(59739)|0;DB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Oj(59717)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function nF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function oF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=St(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=vg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function pF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+240|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=qF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}rF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Oj(58497)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=sF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function qF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ah(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function rF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(HF(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(HF(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;c[(c[p>>2]|0)+16>>2]=0;v=JF((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function sF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+66>>0]|0)==1?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0)?(d[(c[n>>2]|0)+69>>0]|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=tF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=uF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);au(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=vF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=er((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=er((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=jF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Oj(62874)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Oj(62947)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function tF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function uF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){CB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;FB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=mF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=er((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=jF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Oj(62635)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Oj(62624)|0;n=c[g>>2]|0;i=m;return n|0}function vF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];wF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Oj(62208)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=xF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=er((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){AR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=yF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=ug(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=vg(c[z>>2]|0)|0;c[w>>2]=er(c[t>>2]|0)|0;c[B>>2]=xF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;xg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Oj(62365)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function wF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;CF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function xF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Fg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){yR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else yR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function yF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=zF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[381]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(nF(c[h>>2]|0)|0)>>>0?(c[r>>2]=AF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=BF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=er(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{DB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function zF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function AF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=zF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=ug(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=vg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){xg(c[o>>2]|0);c[h>>2]=Oj(58716)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=er((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}xg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Oj(58724)|0;s=c[h>>2]|0;i=r;return s|0}function BF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=ug(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=oF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function CF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function DF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+4>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=wR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,HR(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=FF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=FF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=GF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function EF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else HF(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Oj(74160)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=LQ((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=GF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function FF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=GF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function GF(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(HF(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(IF(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(HF(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Oj(73878)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){JF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(KF(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=LF(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}JF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=KF(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(!(e[(c[w>>2]|0)+8>>1]&2)){k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else HF(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=LQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else HF(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=MF(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=LQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(!(c[E>>2]|0))c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0)}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=67;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=IF(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=NF(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=73;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=73;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=73;break}}if((k|0)==43){H=(Oj(73953)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Oj(73982)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==67){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==73){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function HF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=au(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function IF(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35576+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function JF(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=wR(f|0,0,HR(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=UF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[15270+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function KF(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function LF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=wR(b|0,0,HR(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function MF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}OF(n,c[(c[j>>2]|0)+32>>2]|0,1);OF(o,c[(c[j>>2]|0)+32>>2]|0,1);PF(n,c[j>>2]|0,4096);PF(o,c[k>>2]|0,4096);c[s>>2]=Yg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Yg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Wg(n);Wg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function NF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=xR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function OF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function PF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){QF(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function QF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;RF(c[h>>2]|0);PF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function RF(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)SF(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){TF(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function SF(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function TF(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function UF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=wR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(VF(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function VF(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function WF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=iF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=XF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=jF(o,er((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=XF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}lF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=fF(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function XF(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=er((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=jF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function YF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Yv(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Dh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;i=h;return j|0}function ZF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];gv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);cv(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);dv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);gv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function _F(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((jz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function $F(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function aG(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(Cy(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(Cy(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function bG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+496>>2];c[(c[f>>2]|0)+496>>2]=c[g>>2];i=e;return}function cG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Dh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=Ay(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Yv(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=ph(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=ph(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Qv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,131072,0,0)|0;kB(l,12,c[j>>2]|0);Nv(c[f>>2]|0,c[o>>2]|0,l)|0;dv(c[k>>2]|0,c[o>>2]|0);i=p;return}function dG(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Nx(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+72|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=bx(c[E>>2]|0,105,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+76|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+76|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=cD(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}bx(c[E>>2]|0,121,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)KA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else bx(c[E>>2]|0,121,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)KA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else fx(c[E>>2]|0,154,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=eG(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){CA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+416>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{fx(m,96,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;bx(c[E>>2]|0,112,c[w>>2]|0,c[D>>2]|0)|0;fx(c[E>>2]|0,113,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){dD(c[A>>2]|0);c[u>>2]=Kz(c[E>>2]|0,55,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;fx(c[E>>2]|0,94,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);RC(c[r>>2]|0,c[s>>2]|0);ex(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Hh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Ox(c[r>>2]|0);if(!(c[v>>2]|0)){bx(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Sz(c[E>>2]|0,c[u>>2]|0);bx(c[E>>2]|0,109,c[w>>2]|0,0)|0;i=F;return}else{dD(c[A>>2]|0);i=F;return}}function eG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+40>>0]|0|0}function fG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+496>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function gG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Qw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((iu(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);AR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function hG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Ch(c[g>>2]|0,36507,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function iG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+496>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((vz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((vz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&256|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+496>>2]=c[(c[N>>2]|0)+8>>2];Yw(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+496>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=Tx(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+416>>2]|0)l=c[l+416>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+528>>2];c[(c[x>>2]|0)+528>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=Yv(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=gG(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;iv(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=ph(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Vw(c[P>>2]|0);c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=Ay(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=c[(c[I>>2]|0)+40>>2]|0;x=nz(w,x,Ay(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=Iy(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=nz(c[B>>2]|0,c[(c[I>>2]|0)+32>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}SG(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}dv(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function jG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+240|0;Z=_+8|0;h=_;j=_+220|0;k=_+216|0;l=_+212|0;m=_+208|0;T=_+204|0;Q=_+200|0;Y=_+196|0;t=_+176|0;H=_+172|0;s=_+168|0;B=_+164|0;C=_+160|0;n=_+156|0;F=_+152|0;W=_+148|0;G=_+224|0;R=_+144|0;L=_+140|0;O=_+136|0;o=_+132|0;X=_+112|0;x=_+108|0;v=_+104|0;z=_+100|0;I=_+96|0;U=_+92|0;V=_+88|0;y=_+84|0;w=_+80|0;A=_+76|0;M=_+72|0;P=_+68|0;p=_+64|0;D=_+44|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Ky(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(f,36364,Z);c[T>>2]=1;break}c[Y>>2]=$w(f)|0;if((d[t>>0]|0)==12){bx(c[Y>>2]|0,105,c[t+4>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&1024){c[T>>2]=UG(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)VG(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=WG(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Kz(c[Y>>2]|0,22,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)fx(c[Y>>2]|0,144,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=XD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(xy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Kj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Kj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Sz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+4>>2];else{V=(c[k>>2]|0)+72|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=bx(c[Y>>2]|0,105,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(dz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}kB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[l>>2]|0,X)|0;cv(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=XD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}gv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}IG(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Pz(c[Y>>2]|0)|0;c[x>>2]=Pz(c[Y>>2]|0)|0;oG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);bx(c[Y>>2]|0,55,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=Oz(c[Y>>2]|0)|0;vG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);Tz(c[Y>>2]|0,c[x>>2]|0);bx(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;Tz(c[Y>>2]|0,c[v>>2]|0);bx(c[Y>>2]|0,109,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+72|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+72|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=bx(c[Y>>2]|0,105,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(dz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;kB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=bx(c[Y>>2]|0,105,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+4>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;gv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}IG(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Pz(c[Y>>2]|0)|0;c[y>>2]=Pz(c[Y>>2]|0)|0;oG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);bx(c[Y>>2]|0,55,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=hA(c[k>>2]|0)|0;c[A>>2]=bx(c[Y>>2]|0,119,c[U>>2]|0,c[S>>2]|0)|0;Gh(c[Y>>2]|0,30,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;lA(c[k>>2]|0,c[S>>2]|0);vG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);Tz(c[Y>>2]|0,c[y>>2]|0);bx(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;Tz(c[Y>>2]|0,c[w>>2]|0);bx(c[Y>>2]|0,109,c[V>>2]|0,0)|0;bx(c[Y>>2]|0,109,c[U>>2]|0,0)|0;break b}}}while(0);XG(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&32){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=bA(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=YG(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;Yz(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Kh(X,Z,gA(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}cA(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Ky(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(Z,36316,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+8>>2]=c[t+8>>2];c[(c[m>>2]|0)+12>>2]=c[t+12>>2];dv(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function kG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;tz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function lG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;if(c[(c[o>>2]|0)+8>>2]&8200){p=6;break}c[o>>2]=c[(c[o>>2]|0)+48>>2]}if((p|0)==6){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}while(1){if((d[c[k>>2]>>0]|0|0)!=28)break;p=lG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}a:do if(RD(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=Ay(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=RG(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;p=nz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=p;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];p=c[g>>2]|0;i=q;return p|0}function mG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+60>>2]=0;i=d;return}function nG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=bA(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=_x(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function oG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}rC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=$w(c[f>>2]|0)|0;do if(xy(c[(c[g>>2]|0)+56>>2]|0,l)|0){bx(c[m>>2]|0,74,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Rz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Kj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{KA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Kz(c[m>>2]|0,17,c[j>>2]|0)|0;bx(c[m>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+76|0;c[a>>2]=(c[a>>2]|0)+1;KA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Kz(c[m>>2]|0,17,c[k>>2]|0)|0;fx(c[m>>2]|0,144,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function pG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(Zz(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function qG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+32>>1]|0}function rG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+42>>0]|0|0}function sG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+38>>0]|0}function tG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function uG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function vG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[M>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[M>>2]>>0];c[O>>2]=c[(c[M>>2]|0)+4>>2];c[N>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))KG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[F>>2]=c[c[t>>2]>>2];if(c[(c[M>>2]|0)+8>>2]|0){if(((c[(c[M>>2]|0)+8>>2]|0)+(c[F>>2]|0)|0)>(c[(c[P>>2]|0)+76>>2]|0)){h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}}else{if(c[R>>2]|0){c[N>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[N>>2]=(c[N>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[M>>2]|0)+8>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}c[(c[M>>2]|0)+12>>2]=c[F>>2];c[T>>2]=c[(c[M>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;TA(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break a;fx(c[U>>2]|0,94,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;r=(c[P>>2]|0)+76|0;c[r>>2]=(c[r>>2]|0)+(c[F>>2]|0);CA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=Zz(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=77;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(Oz(c[U>>2]|0)|0)+(c[F>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[x>>2]=_x(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[F>>2]|0)-1|0))fx(n,36,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else fx(n,37,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Kh(c[U>>2]|0,-1,c[x>>2]|0,-4);Hh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}fx(c[U>>2]|0,82,c[T>>2]|0,c[A>>2]|0,(c[F>>2]|0)-1|0)|0;break}case 1:{CA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:LG(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[F>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))KG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=hA(c[P>>2]|0)|0;fx(c[U>>2]|0,96,c[T>>2]|0,c[F>>2]|0,c[y>>2]|0)|0;bx(c[U>>2]|0,124,c[O>>2]|0,c[y>>2]|0)|0;lA(c[P>>2]|0,c[y>>2]|0);break}case 2:{fx(c[U>>2]|0,125,c[O>>2]|0,c[T>>2]|0,c[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[H>>2]=xA(c[P>>2]|0,(c[N>>2]|0)+1|0)|0;fx(c[U>>2]|0,96,c[T>>2]|0,c[F>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(Oz(c[U>>2]|0)|0)+4;Gh(c[U>>2]|0,31,(c[O>>2]|0)+1|0,c[v>>2]|0,c[H>>2]|0,0)|0;bx(c[U>>2]|0,124,(c[O>>2]|0)+1|0,c[H>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)QG(n,c[R>>2]|0,c[Q>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0,c[T>>2]|0,1,c[N>>2]|0);else{c[K>>2]=hA(n)|0;bx(c[U>>2]|0,112,c[O>>2]|0,c[K>>2]|0)|0;fx(c[U>>2]|0,113,c[O>>2]|0,c[H>>2]|0,c[K>>2]|0)|0;Hh(c[U>>2]|0,8);lA(c[P>>2]|0,c[K>>2]|0)}AA(c[P>>2]|0,c[H>>2]|0,(c[N>>2]|0)+1|0);break}case 11:{n=dB(c[c[(c[t>>2]|0)+4>>2]>>2]|0,a[(c[M>>2]|0)+1>>0]|0)|0;a[(c[M>>2]|0)+1>>0]=n;n=c[P>>2]|0;if(c[R>>2]|0){QG(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break b}else{c[I>>2]=hA(n)|0;ex(c[U>>2]|0,96,c[T>>2]|0,1,c[I>>2]|0,(c[M>>2]|0)+1|0,1)|0;PA(c[P>>2]|0,c[T>>2]|0,1);bx(c[U>>2]|0,124,c[O>>2]|0,c[I>>2]|0)|0;lA(c[P>>2]|0,c[I>>2]|0);break b}}case 3:{bx(c[U>>2]|0,74,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)QG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){QG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[F>>2]|0,c[N>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Kz(n,16,c[(c[M>>2]|0)+4>>2]|0)|0;break b}else{bx(n,85,c[T>>2]|0,c[F>>2]|0)|0;PA(c[P>>2]|0,c[T>>2]|0,c[F>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[G>>2]=c[(c[M>>2]|0)+16>>2];c[E>>2]=c[c[G>>2]>>2];c[J>>2]=hA(c[P>>2]|0)|0;c[L>>2]=xA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[L>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Gh(c[U>>2]|0,31,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[F>>2]|0)|0;fx(c[U>>2]|0,96,c[T>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){bx(c[U>>2]|0,124,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Hh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;bx(n,83,(c[T>>2]|0)+(e[(c[(c[G>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[L>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}bx(n,111,c[O>>2]|0,(c[L>>2]|0)+(c[E>>2]|0)|0)|0;fx(c[U>>2]|0,96,c[L>>2]|0,(c[E>>2]|0)+2|0,c[J>>2]|0)|0;bx(c[U>>2]|0,124,c[O>>2]|0,c[J>>2]|0)|0;if(c[B>>2]|0)Sz(c[U>>2]|0,c[B>>2]|0);lA(c[P>>2]|0,c[J>>2]|0);AA(c[P>>2]|0,c[L>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}bx(c[U>>2]|0,66,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;xG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function xG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+8>>2]=203;c[f+24>>2]=c[g>>2];oy(f,c[e>>2]|0)|0;i=d;return}function yG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+453>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Eh(b,36293,h)|0;ex(c[g>>2]|0,160,c[(c[e>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function zG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+39>>0]|0|0}function AG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;fx(c[(c[j>>2]|0)+8>>2]|0,81,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;BA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function BG(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=xA(c[f>>2]|0,c[m>>2]|0)|0;TA(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Pz(c[u>>2]|0)|0;LG(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=_x(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+76|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}ex(c[u>>2]|0,86,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}ex(c[u>>2]|0,145,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Hh(c[u>>2]|0,c[m>>2]&255);PA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);AA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Tz(c[u>>2]|0,c[j>>2]|0);rC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Kz(c[u>>2]|0,21,c[t>>2]|0)|0;rC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;KA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;rC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Sz(c[u>>2]|0,c[h>>2]|0);i=v;return}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;ex(c[h>>2]|0,147,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function DG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}fx(c[k>>2]|0,77,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=nG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;ex(c[k>>2]|0,105,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Ch(c[d>>2]|0,36242,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function EG(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function FG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+453>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?36201:19018;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=19018;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Eh(b,36224,l)|0;ex(c[(c[j>>2]|0)+8>>2]|0,160,c[(c[j>>2]|0)+468>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function GG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,36193)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,36197)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function HG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;s=E+84|0;h=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;w=E+36|0;m=E+32|0;x=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[s>>2]=a;c[h>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[v>>2]=Pz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){bx(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Rz(c[D>>2]|0,c[C>>2]|0)|0;Tz(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=hA(c[s>>2]|0)|0;c[x>>2]=hA(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[s>>2]|0)+76|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+72|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=fB(c[s>>2]|0)|0;fx(c[D>>2]|0,108,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Sz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(bx(c[D>>2]|0,42,c[z>>2]|0,c[C>>2]|0)|0);KG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);fx(c[D>>2]|0,118,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(bx(c[D>>2]|0,53,c[z>>2]|0,c[C>>2]|0)|0);KG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;fx(c[D>>2]|0,94,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:{bx(c[D>>2]|0,112,c[m>>2]|0,c[y>>2]|0)|0;fx(c[D>>2]|0,113,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Hh(c[D>>2]|0,8);break}case 11:{ex(c[D>>2]|0,96,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;PA(c[s>>2]|0,c[x>>2]|0,1);bx(c[D>>2]|0,124,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{AG(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{h=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){bx(h,85,c[j+8>>2]|0,c[t>>2]|0)|0;PA(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{Kz(h,16,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){lA(c[s>>2]|0,c[x>>2]|0);lA(c[s>>2]|0,c[y>>2]|0)}Tz(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)bx(k,3,j,h)|0;else bx(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Tz(B,D);i=E;return}Kz(c[D>>2]|0,70,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Tz(B,D);i=E;return}function IG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+453>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;$B(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];aC(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Eh(g,36184,v)|0}else g=ph(g,c[w>>2]|0)|0;c[w>>2]=g;aC(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=25361;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;aC(e,f,0,ph(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Eh(f,30757,u)|0;aC(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{aC(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}JG(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function JG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Yx(h,c[g>>2]|0,0)|0;aC(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function KG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}fx(c[e>>2]|0,64,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function LG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=hA(c[j>>2]|0)|0;Gh(c[l>>2]|0,31,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;fx(c[l>>2]|0,96,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;bx(c[l>>2]|0,124,c[k>>2]|0,c[h>>2]|0)|0;lA(c[j>>2]|0,c[h>>2]|0);i=g;return}function MG(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=OG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+76|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(Cy(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=PG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+76|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ii(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+72|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function NG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function OG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=EC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function PG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=EC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function QG(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;r=J+88|0;s=J+84|0;m=J+80|0;n=J+76|0;o=J+72|0;t=J+68|0;p=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;q=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[I>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[z>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[z>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[H>>2]=j;c[B>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[F>>2]=(c[n>>2]|0)-(c[z>>2]|0)-(c[x>>2]|0);else{c[F>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;j=(c[r>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[y>>2]=k;m=Pz(c[I>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;TA(c[r>>2]|0,c[c[s>>2]>>2]|0,c[F>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)bx(c[I>>2]|0,111,c[(c[s>>2]|0)+8>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;if(!(c[p>>2]|0))AG(c[r>>2]|0,c[n>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);fx(c[I>>2]|0,96,(c[F>>2]|0)+(c[B>>2]|0)|0,(c[q>>2]|0)-(c[B>>2]|0)|0,c[H>>2]|0)|0;if((c[B>>2]|0)>0){c[G>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[A>>2]=(c[z>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[I>>2]|0;if(c[x>>2]|0)c[v>>2]=Kz(k,22,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;else c[v>>2]=Kz(k,107,c[(c[s>>2]|0)+8>>2]|0)|0;fx(c[I>>2]|0,93,c[G>>2]|0,c[F>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[E>>2]=Zz(c[I>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=J;return}c[(c[E>>2]|0)+8>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[D>>2]=c[(c[E>>2]|0)+16>>2];AR(c[(c[D>>2]|0)+16>>2]|0,0,e[(c[D>>2]|0)+6>>1]|0)|0;Kh(c[I>>2]|0,-1,c[D>>2]|0,-6);D=nG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[B>>2]|0,(e[(c[D>>2]|0)+8>>1]|0)-1|0)|0;c[(c[E>>2]|0)+16>>2]=D;c[w>>2]=Oz(c[I>>2]|0)|0;fx(c[I>>2]|0,18,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;D=Pz(c[I>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=D;D=(c[r>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[s>>2]|0)+12>>2]=E;bx(c[I>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Kz(c[I>>2]|0,130,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[y>>2]|0)bx(c[I>>2]|0,22,c[y>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Sz(c[I>>2]|0,c[v>>2]|0);AG(c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Sz(c[I>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[C>>2]=123;else c[C>>2]=124;bx(c[I>>2]|0,c[C>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[H>>2]|0)|0;if(!(c[y>>2]|0)){i=J;return}c[u>>2]=fx(c[I>>2]|0,65,c[y>>2]|0,0,1)|0;Kz(c[I>>2]|0,33,c[(c[s>>2]|0)+8>>2]|0)|0;Kz(c[I>>2]|0,115,c[(c[s>>2]|0)+8>>2]|0)|0;Sz(c[I>>2]|0,c[u>>2]|0);i=J;return}function RG(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=Ay(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;gv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=RG(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=RG(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){SG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{TG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function SG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){TG(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);TG(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);TG(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=RG(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=RG(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;SG(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)TG(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function TG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=RG(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function UG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Nv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function VG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+112|0;p=G+108|0;q=G+104|0;g=G+100|0;l=G+96|0;E=G+92|0;A=G+88|0;t=G+84|0;s=G+80|0;r=G+76|0;v=G+72|0;B=G+68|0;w=G+64|0;k=G+60|0;j=G+56|0;u=G+36|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(Yw(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Pz(c[E>>2]|0)|0;oG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+72|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+72|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;kB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;fx(c[E>>2]|0,108,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=ZG(c[o>>2]|0,c[p>>2]|0,1)|0;ex(c[E>>2]|0,105,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+16>>2]=c[z>>2]}else bx(c[E>>2]|0,105,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=bx(c[E>>2]|0,105,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|32}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Nv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=bx(c[E>>2]|0,55,c[w>>2]|0,c[r>>2]|0)|0;Kz(c[E>>2]|0,122,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)fx(b,94,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else bx(b,120,e,c[B>>2]|0)|0;Kz(c[E>>2]|0,115,c[w>>2]|0)|0;c[s>>2]=Pz(c[E>>2]|0)|0;KG(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);vG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)bx(c[E>>2]|0,66,c[C>>2]|0,c[r>>2]|0)|0;Tz(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Ch(c[o>>2]|0,36465,F);else{c[(c[p>>2]|0)+48>>2]=0;Nv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Rz(c[E>>2]|0,c[t>>2]|0)|0;Tz(c[E>>2]|0,c[r>>2]|0)}cv(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function WG(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+212|0;r=ba+208|0;s=ba+204|0;t=ba+200|0;j=ba+196|0;k=ba+192|0;S=ba+188|0;aa=ba+184|0;H=ba+164|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Pz(c[aa>>2]|0)|0;c[L>>2]=Pz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Uv(c[G>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Rv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Rw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=ZG(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=Iy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;f=(c[r>>2]|0)+76|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);bx(c[aa>>2]|0,74,0,c[Z>>2]|0)|0;c[Q>>2]=bA(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=YG(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ly(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29703)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ly(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29703)|0;oG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+76|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+76|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;bx(c[aa>>2]|0,82,j,c[V>>2]|0)|0;bx(c[aa>>2]|0,82,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}gv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;gv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;kB(H,13,c[T>>2]|0);kB(I,13,c[U>>2]|0);c[E>>2]=(Oz(c[aa>>2]|0)|0)+1;c[v>>2]=fx(c[aa>>2]|0,15,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+472>>2];Nv(c[r>>2]|0,c[S>>2]|0,H)|0;KC(c[aa>>2]|0,c[T>>2]|0);Sz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(Oz(c[aa>>2]|0)|0)+1;c[v>>2]=fx(c[aa>>2]|0,15,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+472>>2];Nv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];KC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=_G(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=_G(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;cA(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=bx(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=bx(c[aa>>2]|0,16,c[U>>2]|0,c[M>>2]|0)|0;Rz(c[aa>>2]|0,c[z>>2]|0)|0;$=XD(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=bx(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;bx(c[aa>>2]|0,16,c[T>>2]|0,c[M>>2]|0)|0;Rz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=bx(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;bx(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Rz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=bx(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Rz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=Oz(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)bx(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;bx(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Rz(c[aa>>2]|0,c[L>>2]|0)|0;Sz(c[aa>>2]|0,c[v>>2]|0);bx(c[aa>>2]|0,16,c[T>>2]|0,c[A>>2]|0)|0;bx(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Tz(c[aa>>2]|0,c[L>>2]|0);ex(c[aa>>2]|0,92,0,0,0,c[u>>2]|0,-15)|0;ex(c[aa>>2]|0,93,c[H+8>>2]|0,c[I+8>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Hh(c[aa>>2]|0,1);fx(c[aa>>2]|0,18,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;Tz(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}IG(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)dv(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];XG(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+68>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function XG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+453>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?36409:19018;b=Ky(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Eh(a,36428,o)|0;ex(c[n>>2]|0,160,c[(c[h>>2]|0)+468>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function YG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=YG(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=_x(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ZG(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=bA(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=_x(f,c[q>>2]|0)|0;else{c[m>>2]=YG(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Oy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function _G(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=Oz(c[C>>2]|0)|0;c[y>>2]=Pz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Kz(c[C>>2]|0,22,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[x>>2]=ex(k,93,b,j,h,gA(c[t>>2]|0)|0,-6)|0;fx(c[C>>2]|0,18,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Sz(c[C>>2]|0,c[w>>2]|0);fx(c[C>>2]|0,82,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;bx(c[C>>2]|0,74,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}KG(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=hA(c[n>>2]|0)|0;c[B>>2]=hA(c[n>>2]|0)|0;fx(c[C>>2]|0,96,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;bx(c[C>>2]|0,112,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;fx(c[C>>2]|0,113,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Hh(c[C>>2]|0,8);lA(c[n>>2]|0,c[B>>2]|0);lA(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=dB(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=hA(c[n>>2]|0)|0;ex(c[C>>2]|0,96,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;PA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);bx(c[C>>2]|0,124,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;lA(c[n>>2]|0,c[A>>2]|0);break}case 10:{AG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=xA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}AG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0);Kz(c[C>>2]|0,16,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{bx(c[C>>2]|0,85,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;PA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)bx(c[C>>2]|0,66,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;Tz(c[C>>2]|0,c[y>>2]|0);Kz(c[C>>2]|0,70,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function $G(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=$w(c[g>>2]|0)|0;do if(!(Rx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&33554432)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Pz(c[n>>2]|0)|0;bx(c[n>>2]|0,63,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+442>>0]=1;f=c[g>>2]|0;aw(f,yz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+442>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&33554432)){f=c[n>>2]|0;bx(f,63,0,(Oz(c[n>>2]|0)|0)+2|0)|0;oA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Tz(c[n>>2]|0,c[l>>2]|0);i=o;return}function aH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=$w(c[g>>2]|0)|0;nx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)jx(c[o>>2]|0,150)|0;c[n>>2]=sx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;NB(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;_w(n,36726,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?20521:20540;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;_w(p,36771,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)bH(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;ex(o,136,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ax(q,p);p=c[l>>2]|0;q=c[j>>2]|0;cH(p,q);i=r;return}ex(c[o>>2]|0,152,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;ex(o,136,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ax(q,p);p=c[l>>2]|0;q=c[j>>2]|0;cH(p,q);i=r;return}function bH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;DC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function cH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){dH(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function dH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);gv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function eH(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(sy(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}ty(n,c[m>>2]|0)|0;i=p;return}function fH(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;i=f;return}if((d[b>>0]|0|0)!=53){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;i=f;return}function gH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function hH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Kj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function iH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;jH(c[e>>2]|0,c[f>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function jH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function kH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=mB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function lH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+424>>2]|0)pG(c[t>>2]|0,c[(c[h>>2]|0)+424>>2]|0,-125);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Py(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Rv(t,0,pz(c[k>>2]|0,55,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+452>>0]|0;c[s>>2]=Gv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0)|0;if(!(c[s>>2]|0)){i=v;return}else{t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-4|2;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Hj(f)|0;if(c[t>>2]|0)pG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(gH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;c[p>>2]=e[(c[s>>2]|0)+50>>1];if(!(a[(c[k>>2]|0)+144+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0))break;b:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(gH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(qH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=46;break a}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break b;if(!(gH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==46){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(qH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(gH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=35351;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function mH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function nH(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(oH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=oH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=19018;c[t>>2]=37926;c[r>>2]=35227}else{c[s>>2]=37928;c[t>>2]=37932;c[r>>2]=37937}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ah(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){lh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37940,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;pH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];pH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[6332+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;yR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,19007,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function oH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function pH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[19019+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[19019+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Bi(c[m>>2]|0,c[k>>2]|0)|0)==55:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function qH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{yR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);yR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);yR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=$w(c[d>>2]|0)|0;Lz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?20521:20540);Gh(c[g>>2]|0,103,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+72>>2]|0){i=e;return}c[(c[d>>2]|0)+72>>2]=1;i=e;return}function sH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=$w(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+404>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+408>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];ex(c[h>>2]|0,149,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function tH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Mz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,102);dx(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Ih(c[k>>2]|0,10,38116,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function uH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,40039,d);i=b;return}function vH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+96|0;G=I+16|0;s=I+8|0;n=I;C=I+92|0;u=I+88|0;p=I+84|0;v=I+80|0;l=I+76|0;w=I+72|0;q=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=rh(c[C>>2]|0,544,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+480>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=wH(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];jg(G,H,40084,n);H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}su(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+428>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+92+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(l,18,40114,s);c[F>>2]=Tg(c[C>>2]|0,18)|0;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Uw(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Wh(c[D>>2]|0,c[t>>2]|0,H)|0;c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+484>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Wh(c[D>>2]|0,c[u>>2]|0,H)|0;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)xH(c[D>>2]|0);if(a[(c[C>>2]|0)+69>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+484>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+453>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+453>>0]|0)==2){$B(l,4);c[y>>2]=8;c[z>>2]=12}else{$B(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;aC(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[6364+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+144+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];yH(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+484>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=41;break}Sg(c[(c[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];l=c[C>>2]|0;b=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(l,b,19007,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(l,b);while(1){if(!(c[(c[D>>2]|0)+532>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+532>>2];c[(c[D>>2]|0)+532>>2]=c[(c[E>>2]|0)+4>>2];Tf(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function wH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=zH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function xH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(qg(c[h>>2]|0)|0)){c[j>>2]=og(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)lh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}pg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){uj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Ej(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function yH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Uw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+89|0;a[d>>0]=a[d>>0]&127|(c[k>>2]&1)<<7&255;i=l;return}function zH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function AH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=BH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function BH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){DH(c[f>>2]|0);break}c[k>>2]=CH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function CH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=EH(c[e>>2]|0)|0;if(!(c[f>>2]|0)){DH(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function DH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;DB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function EH(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;b=g;c[e>>2]=a;c[f>>2]=FH(c[e>>2]|0,(c[e>>2]|0)+40|0)|0;if(d[(c[e>>2]|0)+69>>0]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+40|0;c[b>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[b>>2]|0)){c[f>>2]=7;f=c[f>>2]|0;i=g;return f|0}c[f>>2]=GH(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[b>>2]|0)|0;a=c[b>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=a;f=c[f>>2]|0;i=g;return f|0}else{Kd(a);f=c[f>>2]|0;i=g;return f|0}return 0}function FH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;wF(c[e>>2]|0);e=(c[e>>2]|0)+16|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function GH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=vF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function HH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function IH(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function JH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function KH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){DA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Kh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Uw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function LH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function MH(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function NH(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;m=r+24|0;n=r+20|0;q=r+16|0;l=r+12|0;o=r+8|0;k=r+4|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[j>>2]>>2];c[q>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if((c[(c[m>>2]|0)+4>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]|0)!=(c[(c[m>>2]|0)+8>>2]|0):0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[l>>2]=(Jf(c[(c[j>>2]|0)+4>>2]|0)|0)+1;c[n>>2]=rh(c[k>>2]|0,72+(c[l>>2]|0)|0,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[(c[j>>2]|0)+16>>2]=c[n>>2];c[c[n>>2]>>2]=(c[n>>2]|0)+72;yR(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;b[(c[n>>2]|0)+36>>1]=1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[n>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;b[(c[n>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[n>>2]|0;Xw(e,f,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);Xw(c[k>>2]|0,c[n>>2]|0,0);f=c[k>>2]|0;e=c[n>>2]|0;Xw(f,e,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);c[o>>2]=Bz(c[k>>2]|0,c[n>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+8>>2]|0,q)|0;if(c[o>>2]|0){o=c[h>>2]|0;c[p>>2]=c[q>>2];Ch(o,19007,p);Tf(c[k>>2]|0,c[q>>2]|0);OH(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}return 0}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}dH(c[d>>2]|0,c[f>>2]|0);PH(c[d>>2]|0,c[f>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function PH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))QH(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function QH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function RH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Wg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function SH(){return 312}function TH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=b;c[h>>2]=e;yR(l|0,c[g>>2]|0,208)|0;yR(c[g>>2]|0,c[h>>2]|0,208)|0;yR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];e=(c[h>>2]|0)+89|0;a[e>>0]=a[e>>0]&127|((d[(c[g>>2]|0)+89>>0]|0)>>>7&1)<<7&255;i=f;return}function UH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function VH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function WH(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;BC(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){lh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((a[(c[s>>2]|0)+89>>0]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=160);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;z=c[s>>2]|0;dI(z,kh(c[(c[s>>2]|0)+80>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((a[(c[s>>2]|0)+89>>0]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=yM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Hx(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(Gx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=zM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))fh(g,c[x>>2]|0,-1,1,0)|0;else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){if(!(Gx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,43034,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((a[(c[s>>2]|0)+89>>0]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0} -function dw(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=i;i=i+304|0;E=qa+32|0;D=qa+16|0;C=qa;H=qa+288|0;I=qa+284|0;J=qa+280|0;K=qa+276|0;L=qa+272|0;R=qa+268|0;ea=qa+264|0;m=qa+260|0;l=qa+256|0;T=qa+252|0;$=qa+248|0;X=qa+244|0;pa=qa+240|0;ca=qa+236|0;aa=qa+232|0;ba=qa+228|0;U=qa+224|0;V=qa+220|0;Y=qa+216|0;S=qa+212|0;na=qa+208|0;P=qa+204|0;O=qa+200|0;r=qa+180|0;s=qa+176|0;k=qa+172|0;oa=qa+295|0;Q=qa+294|0;F=qa+293|0;q=qa+292|0;da=qa+168|0;ja=qa+164|0;ha=qa+160|0;la=qa+156|0;ka=qa+152|0;ma=qa+148|0;ia=qa+144|0;M=qa+140|0;_=qa+136|0;fa=qa+132|0;B=qa+128|0;z=qa+124|0;p=qa+120|0;v=qa+116|0;x=qa+112|0;y=qa+108|0;o=qa+104|0;A=qa+72|0;t=qa+68|0;w=qa+64|0;n=qa+60|0;u=qa+56|0;N=qa+52|0;W=qa+48|0;ga=qa+44|0;Z=qa+40|0;c[H>>2]=e;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[ba>>2]=0;c[U>>2]=0;c[V>>2]=0;c[Y>>2]=-1;c[na>>2]=0;c[P>>2]=0;c[O>>2]=0;a[oa>>0]=0;a[Q>>0]=0;c[da>>2]=0;c[ja>>2]=0;c[ha>>2]=0;c[la>>2]=0;c[M>>2]=0;c[R>>2]=c[c[H>>2]>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;a:do if((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[R>>2]|0)+69>>0]|0)==0:0){if(((c[J>>2]|0)!=0?(c[(c[J>>2]|0)+8>>2]&512|0)!=0:0)?(c[(c[J>>2]|0)+48>>2]|0)==0:0){c[da>>2]=c[c[J>>2]>>2];c[c[J>>2]>>2]=0;dv(c[R>>2]|0,c[J>>2]|0);c[J>>2]=0}c[m>>2]=c[(c[I>>2]|0)+8+8>>2];if((((((c[m>>2]|0)!=0?(c[ea>>2]=QB(c[H>>2]|0,c[I>>2]|0)|0,(c[ea>>2]|0)!=0):0)?(c[s>>2]=Dh(c[R>>2]|0,c[(c[ea>>2]|0)+64>>2]|0)|0,c[k>>2]=(c[(c[R>>2]|0)+16>>2]|0)+(c[s>>2]<<4),c[l>>2]=c[c[k>>2]>>2],(Yw(c[H>>2]|0,18,c[c[ea>>2]>>2]|0,0,c[l>>2]|0)|0)==0):0)?(a[F>>0]=((d[(c[ea>>2]|0)+42>>0]&32|0)==0^1)&1,c[fa>>2]=FC(c[H>>2]|0,c[ea>>2]|0,108,0,B)|0,c[_>>2]=(c[(c[ea>>2]|0)+12>>2]|0)!=0&1,(Mx(c[H>>2]|0,c[ea>>2]|0)|0)==0):0)?(GC(c[H>>2]|0,c[ea>>2]|0,c[B>>2]|0)|0)==0:0)?(c[pa>>2]=$w(c[H>>2]|0)|0,(c[pa>>2]|0)!=0):0){if(!(d[(c[H>>2]|0)+18>>0]|0))HC(c[pa>>2]|0);nx(c[H>>2]|0,((c[J>>2]|0)!=0?1:(c[fa>>2]|0)!=0)&1,c[s>>2]|0);if(!((c[K>>2]|0)==0?(IC(c[H>>2]|0,c[ea>>2]|0,c[J>>2]|0,c[L>>2]|0,c[s>>2]|0)|0)!=0:0))G=17;b:do if((G|0)==17){c[ha>>2]=JC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0;m=(c[(c[H>>2]|0)+76>>2]|0)+1|0;c[ka>>2]=m;c[ma>>2]=m;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+((b[(c[ea>>2]|0)+34>>1]|0)+1);if(d[(c[ea>>2]|0)+42>>0]&16){c[ma>>2]=(c[ma>>2]|0)+1;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1}c[ia>>2]=(c[ma>>2]|0)+1;a[q>>0]=(d[(c[ea>>2]|0)+42>>0]&128|0)==0;c:do if(c[K>>2]|0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=-1;c[T>>2]=(c[T>>2]|0)+1}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break c;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;m=(ig(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[$>>2]<<4)>>2]|0)|0)==0;j=c[$>>2]|0;if(m){G=28;break}c[$>>2]=j+1}do if((G|0)==28){G=0;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=j;if((c[T>>2]|0)!=(c[$>>2]|0))a[q>>0]=0;if((c[$>>2]|0)!=(b[(c[ea>>2]|0)+32>>1]|0))break;c[Y>>2]=c[T>>2]}while(0);if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0)){m=(si(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0)|0)==0;if(m|(a[F>>0]|0)!=0)break;c[Y>>2]=c[T>>2];a[q>>0]=0}c[T>>2]=(c[T>>2]|0)+1}pa=c[H>>2]|0;oa=c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0;c[C>>2]=c[I>>2];c[C+4>>2]=0;c[C+8>>2]=oa;Ch(pa,34782,C);a[(c[H>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[J>>2]|0)){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;c[A>>2]=c[H>>2];c[na>>2]=-1;if(c[da>>2]|0){c[aa>>2]=c[c[da>>2]>>2];if(ty(A,c[da>>2]|0)|0)break a;else break}else{c[aa>>2]=0;break}}else{A=(c[H>>2]|0)+76|0;C=(c[A>>2]|0)+1|0;c[A>>2]=C;c[z>>2]=C;c[p>>2]=(Oz(c[pa>>2]|0)|0)+1;fx(c[pa>>2]|0,15,c[z>>2]|0,0,c[p>>2]|0)|0;kB(r,13,c[z>>2]|0);c[r+8>>2]=(d[q>>0]|0)!=0?c[ia>>2]|0:0;c[r+12>>2]=b[(c[ea>>2]|0)+34>>1];c[v>>2]=Nv(c[H>>2]|0,c[J>>2]|0,r)|0;c[ja>>2]=c[r+8>>2];if(c[v>>2]|0)break a;if(d[(c[R>>2]|0)+69>>0]|0)break a;if(c[(c[H>>2]|0)+68>>2]|0)break a;KC(c[pa>>2]|0,c[z>>2]|0);Sz(c[pa>>2]|0,(c[p>>2]|0)-1|0);c[aa>>2]=c[c[c[J>>2]>>2]>>2];if(!((c[fa>>2]|0)==0?(LC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0)==0:0))a[oa>>0]=1;if(!(a[oa>>0]|0))break;A=(c[H>>2]|0)+72|0;C=c[A>>2]|0;c[A>>2]=C+1;c[na>>2]=C;c[x>>2]=hA(c[H>>2]|0)|0;c[y>>2]=hA(c[H>>2]|0)|0;bx(c[pa>>2]|0,105,c[na>>2]|0,c[aa>>2]|0)|0;c[o>>2]=Kz(c[pa>>2]|0,16,c[r+4>>2]|0)|0;fx(c[pa>>2]|0,96,c[ja>>2]|0,c[aa>>2]|0,c[x>>2]|0)|0;bx(c[pa>>2]|0,112,c[na>>2]|0,c[y>>2]|0)|0;fx(c[pa>>2]|0,113,c[na>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Rz(c[pa>>2]|0,c[o>>2]|0)|0;Sz(c[pa>>2]|0,c[o>>2]|0);lA(c[H>>2]|0,c[x>>2]|0);lA(c[H>>2]|0,c[y>>2]|0)}while(0);if((c[K>>2]|0)==0&(c[aa>>2]|0)>0)c[Y>>2]=b[(c[ea>>2]|0)+32>>1];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[ba>>2]=(c[ba>>2]|0)+((d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2|0)!=0?1:0);c[T>>2]=(c[T>>2]|0)+1}if((c[K>>2]|0)==0&(c[aa>>2]|0)!=0?(c[aa>>2]|0)!=((b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0):0){pa=c[H>>2]|0;na=(b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0;oa=c[aa>>2]|0;c[D>>2]=c[I>>2];c[D+4>>2]=0;c[D+8>>2]=na;c[D+12>>2]=oa;Ch(pa,34814,D);break a}do if(c[K>>2]|0){if((c[aa>>2]|0)==(c[(c[K>>2]|0)+4>>2]|0))break;pa=c[H>>2]|0;oa=c[(c[K>>2]|0)+4>>2]|0;c[E>>2]=c[aa>>2];c[E+4>>2]=oa;Ch(pa,34866,E);break a}while(0);if(c[(c[R>>2]|0)+24>>2]&128){D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[la>>2]=E;bx(c[pa>>2]|0,74,0,c[la>>2]|0)|0}d:do if(!(c[_>>2]|0)){c[t>>2]=sC(c[H>>2]|0,c[ea>>2]|0,103,0,-1,0,U,V)|0;c[M>>2]=Rw(c[R>>2]|0,(c[t>>2]|0)+1<<2,0)|0;if(!(c[M>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[t>>2]|0))break d;D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[M>>2]|0)+(c[T>>2]<<2)>>2]=E;c[T>>2]=(c[T>>2]|0)+1}}while(0);do if(a[oa>>0]|0){c[P>>2]=Kz(c[pa>>2]|0,55,c[na>>2]|0)|0;c[O>>2]=Oz(c[pa>>2]|0)|0}else{if(!(c[J>>2]|0))break;E=Kz(c[pa>>2]|0,16,c[r+4>>2]|0)|0;c[O>>2]=E;c[P>>2]=E}while(0);c[S>>2]=Pz(c[pa>>2]|0)|0;if(c[B>>2]&1){c[w>>2]=xA(c[H>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)|0;if((c[Y>>2]|0)<0)bx(c[pa>>2]|0,74,-1,c[w>>2]|0)|0;else{if(a[oa>>0]|0)fx(c[pa>>2]|0,94,c[na>>2]|0,c[Y>>2]|0,c[w>>2]|0)|0;else KA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[w>>2]|0);c[n>>2]=Kz(c[pa>>2]|0,35,c[w>>2]|0)|0;bx(c[pa>>2]|0,74,-1,c[w>>2]|0)|0;Sz(c[pa>>2]|0,c[n>>2]|0);Kz(c[pa>>2]|0,17,c[w>>2]|0)|0}c[$>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;e:do if(c[K>>2]|0){c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break e;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break e;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if((a[oa>>0]|0)!=0|(c[da>>2]|0)!=0){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0){G=90;break}if(a[oa>>0]|0){fx(c[pa>>2]|0,94,c[na>>2]|0,c[$>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)|0;break}else{MC(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0);break}}else G=90;while(0);if((G|0)==90){G=0;KA(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)}if(!(c[K>>2]|0))c[$>>2]=(c[$>>2]|0)+1;c[T>>2]=(c[T>>2]|0)+1}if(!(c[_>>2]|0))NC(c[pa>>2]|0,c[ea>>2]|0,(c[w>>2]|0)+1|0);OC(c[H>>2]|0,c[fa>>2]|0,108,0,1,c[ea>>2]|0,(c[w>>2]|0)-(b[(c[ea>>2]|0)+34>>1]|0)-1|0,c[L>>2]|0,c[S>>2]|0);AA(c[H>>2]|0,c[w>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)}do if(!(c[_>>2]|0)){if(d[(c[ea>>2]|0)+42>>0]&16)bx(c[pa>>2]|0,77,0,c[ka>>2]|0)|0;f:do if((c[Y>>2]|0)>=0){do if(a[oa>>0]|0)fx(c[pa>>2]|0,94,c[na>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;else{if(c[J>>2]|0){bx(c[pa>>2]|0,82,(c[ja>>2]|0)+(c[Y>>2]|0)|0,c[ma>>2]|0)|0;break}KA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[ma>>2]|0);c[u>>2]=Zz(c[pa>>2]|0,-1)|0;if(!(c[u>>2]|0))break;if((d[c[u>>2]>>0]|0)!=77)break;if(d[(c[ea>>2]|0)+42>>0]&16)break;a[Q>>0]=1;a[c[u>>2]>>0]=112;c[(c[u>>2]|0)+4>>2]=c[U>>2];c[(c[u>>2]|0)+8>>2]=c[ma>>2];c[(c[u>>2]|0)+12>>2]=c[ha>>2]}while(0);if(a[Q>>0]|0)break;j=c[pa>>2]|0;if(d[(c[ea>>2]|0)+42>>0]&16){c[N>>2]=Oz(j)|0;bx(c[pa>>2]|0,34,c[ma>>2]|0,(c[N>>2]|0)+2|0)|0}else{c[N>>2]=Kz(j,35,c[ma>>2]|0)|0;fx(c[pa>>2]|0,112,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;Sz(c[pa>>2]|0,c[N>>2]|0)}Kz(c[pa>>2]|0,17,c[ma>>2]|0)|0}else{do if(!(d[(c[ea>>2]|0)+42>>0]&16)){if(d[F>>0]|0)break;fx(c[pa>>2]|0,112,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;a[Q>>0]=1;break f}while(0);bx(c[pa>>2]|0,77,0,c[ma>>2]|0)|0}while(0);PC(c[H>>2]|0,c[ha>>2]|0,c[ma>>2]|0);c[ba>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[W>>2]=(c[ma>>2]|0)+1+(c[T>>2]|0);g:do if((c[T>>2]|0)==(b[(c[ea>>2]|0)+32>>1]|0))Kz(c[pa>>2]|0,78,c[W>>2]|0)|0;else{h:do if(!(c[K>>2]|0))if(d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2){c[$>>2]=-1;c[ba>>2]=(c[ba>>2]|0)+1;break}else{c[$>>2]=(c[T>>2]|0)-(c[ba>>2]|0);break}else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break h;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break h;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if(!((c[$>>2]|0)<0|(c[aa>>2]|0)==0)){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0)break;if(a[oa>>0]|0){fx(c[pa>>2]|0,94,c[na>>2]|0,c[$>>2]|0,c[W>>2]|0)|0;break g}if(!(c[J>>2]|0)){KA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,c[W>>2]|0);break g}if((c[ja>>2]|0)==(c[ia>>2]|0))break g;bx(c[pa>>2]|0,83,(c[ja>>2]|0)+(c[$>>2]|0)|0,c[W>>2]|0)|0;break g}while(0);QC(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,c[W>>2]|0)}while(0);c[T>>2]=(c[T>>2]|0)+1}if(d[(c[ea>>2]|0)+42>>0]&16){c[ga>>2]=Nx(c[R>>2]|0,c[ea>>2]|0)|0;RC(c[H>>2]|0,c[ea>>2]|0);ex(c[pa>>2]|0,12,1,(b[(c[ea>>2]|0)+34>>1]|0)+2|0,c[ka>>2]|0,c[ga>>2]|0,-10)|0;Hh(c[pa>>2]|0,((c[L>>2]|0)==10?2:c[L>>2]|0)&255);Ox(c[H>>2]|0);break}else{SC(c[H>>2]|0,c[ea>>2]|0,c[M>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,0,(c[Y>>2]|0)>=0&255,c[L>>2]&255,c[S>>2]|0,Z,0);TC(c[H>>2]|0,c[ea>>2]|0,0,c[ka>>2]|0,0,0);UC(c[H>>2]|0,c[ea>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,c[M>>2]|0,0,d[Q>>0]|0,(c[Z>>2]|0)==0&1);break}}while(0);if(c[(c[R>>2]|0)+24>>2]&128)bx(c[pa>>2]|0,89,c[la>>2]|0,1)|0;if(c[fa>>2]|0)OC(c[H>>2]|0,c[fa>>2]|0,108,0,2,c[ea>>2]|0,(c[ia>>2]|0)-2-(b[(c[ea>>2]|0)+34>>1]|0)|0,c[L>>2]|0,c[S>>2]|0);Tz(c[pa>>2]|0,c[S>>2]|0);do if(a[oa>>0]|0){bx(c[pa>>2]|0,7,c[na>>2]|0,c[O>>2]|0)|0;Sz(c[pa>>2]|0,c[P>>2]|0);Kz(c[pa>>2]|0,109,c[na>>2]|0)|0}else{if(!(c[J>>2]|0))break;Rz(c[pa>>2]|0,c[O>>2]|0)|0;Sz(c[pa>>2]|0,c[P>>2]|0)}while(0);if((c[_>>2]|0)!=0?1:(d[(c[ea>>2]|0)+42>>0]&16|0)!=0)break;if((c[U>>2]|0)<(c[V>>2]|0))Kz(c[pa>>2]|0,109,c[U>>2]|0)|0;c[X>>2]=0;c[ca>>2]=c[(c[ea>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break b;Kz(c[pa>>2]|0,109,(c[X>>2]|0)+(c[V>>2]|0)|0)|0;c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)VC(c[H>>2]|0);if(((c[(c[R>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){bx(c[pa>>2]|0,85,c[la>>2]|0,1)|0;$B(c[pa>>2]|0,1);aC(c[pa>>2]|0,0,0,34891,0)|0}}}while(0);fv(c[R>>2]|0,c[I>>2]|0);cv(c[R>>2]|0,c[da>>2]|0);dv(c[R>>2]|0,c[J>>2]|0);iv(c[R>>2]|0,c[K>>2]|0);Tf(c[R>>2]|0,c[M>>2]|0);i=qa;return}function ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=rh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=EC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){iv(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Pw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function gw(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;p=t+16|0;o=t+8|0;f=t+44|0;g=t+40|0;k=t+36|0;r=t+32|0;q=t+50|0;n=t+28|0;l=t;j=t+24|0;m=t+48|0;h=t+20|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=Jf(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(Ki((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+92+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+92+36>>2];Ch(s,34716,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=b[(c[f>>2]|0)+444>>1]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))b[(c[f>>2]|0)+444>>1]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+448>>2]|0))break;if((c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(OQ(c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+444|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+448>>2]|0)){c[h>>2]=Qw(c[k>>2]|0,c[(c[f>>2]|0)+476>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+476>>2]=c[h>>2];AR((c[h>>2]|0)+(c[(c[f>>2]|0)+448>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+448>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+448>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Tf(c[k>>2]|0,c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Uw(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+444|0;s=(b[r>>1]|0)+1<<16>>16;b[r>>1]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+68>>2]|0){i=t;return}if((b[(c[f>>2]|0)+444>>1]|0)<=(c[(c[k>>2]|0)+92+36>>2]|0)){i=t;return}Ch(c[f>>2]|0,34759,p);i=t;return}function hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=pz(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=pz(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){cv(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];ow(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function jw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Cv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=Cv(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Cv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function mw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];gv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function nw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=Cv(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+68>>2]|0){i=f;return}rz(c[e>>2]|0);Ry(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]|2099200;ow(c[e>>2]|0,c[f>>2]|0);i=h;return}else{dv(c[c[e>>2]>>2]|0,c[g>>2]|0);i=h;return}}function qw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Rv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+144+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Ch(p,34676,l)}Sv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function rw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}if(Cz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}c[h>>2]=Ij(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)MB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Ch(f,34466,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Ch(t,34484,l);s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}c[g>>2]=Dh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?20521:20540;if(Yw(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(Yw(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}c[k>>2]=$w(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}nx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?20521:20540;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;_w(t,34557,m);CC(c[p>>2]|0,c[g>>2]|0,31450,c[c[h>>2]>>2]|0);ax(c[p>>2]|0,c[g>>2]|0);DC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);ex(c[k>>2]|0,137,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}function sw(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=$w(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}bx(c[b>>2]|0,10,0,0)|0;Jh(c[b>>2]|0,0);i=d;return}function tw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=$w(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}XB(c[bc>>2]|0);c[(c[ac>>2]|0)+76>>2]=2;c[$b>>2]=Gz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(px(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Pw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Eh(k,32624,p)|0}else c[ec>>2]=Pw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(Yw(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){YB(c[bc>>2]|0,32628,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Ch(bc,19007,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[5316+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=5316+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(Cz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Jh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Bj(Ni(c[ec>>2]|0)|0)|0;nx(c[ac>>2]|0,0,c[$b>>2]|0);fx(c[bc>>2]|0,100,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ZB(c[bc>>2]|0,32635);ac=(c[ac>>2]|0)+76|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Ih(c[bc>>2]|0,9,32646,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Ni(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+76>>2]=bc;if(7!=(Ai(c[_>>2]|0,c[(c[cc>>2]|0)+76>>2]|0,-1,0)|0))break a;lh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=rg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;_B(c[bc>>2]|0,32682,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Ei(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;IB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=IB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;_B(c[bc>>2]|0,32692,ac,((ac|0)<0)<<31>>31);break a}case 23:{ox(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+76|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[18229+(d[c[dc>>2]>>0]|0)>>0]|0)==112)bx(m,156,l,k)|0;else fx(m,157,l,k,Bj(Ni(c[ec>>2]|0)|0)|0)|0;bx(c[bc>>2]|0,85,c[Oa>>2]|0,1)|0;$B(c[bc>>2]|0,1);aC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32706;c[E>>2]=bC(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;HB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=HB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32713;YB(c[bc>>2]|0,32723,c[Ba>>2]|0);break a}case 19:{ZB(c[bc>>2]|0,32736);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=cC(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Jh(c[bc>>2]|0,c[U>>2]|0);fx(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}bx(c[bc>>2]|0,85,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=dC(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;_B(c[bc>>2]|0,32749,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=eC(c[aa>>2]|0)|0;_B(ac,32768,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=fC(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=gC(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=Oz(c[bc>>2]|0)|0;c[y>>2]=Ih(c[bc>>2]|0,5,32780,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Jh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Oi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;nx(c[ac>>2]|0,0,c[$b>>2]|0);bx(c[bc>>2]|0,74,c[R>>2]|0,1)|0;c[z>>2]=Kz(c[bc>>2]|0,67,c[$b>>2]|0)|0;Kz(c[bc>>2]|0,85,1)|0;bx(c[bc>>2]|0,89,1,-1)|0;bx(c[bc>>2]|0,64,1,c[z>>2]|0)|0;Sz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Ni(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;_B(c[bc>>2]|0,32635,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=hC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;_B(k,32800,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Oi(c[ec>>2]|0,oa)|0)hC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Ei(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;iC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;_B(c[bc>>2]|0,32812,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){jC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{_B(c[bc>>2]|0,32822,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){YB(c[bc>>2]|0,32833,c[241]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Wr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Ch(c[ac>>2]|0,32854,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)kC(c[ac>>2]|0)|0;Kd(c[241]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[241]=Od(19007,sa)|0;break a}else{c[241]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;_B(c[bc>>2]|0,32879,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Mi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;iC(c[cc>>2]|0);break a}else{Ch(c[ac>>2]|0,32891,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;_B(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Ei(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==33554432){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}bx(c[bc>>2]|0,148,0,0)|0;iC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Hj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=6;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,6,6012);Mx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=ti(c[Wb>>2]|0,19018)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;mC(l,1,32944,Zb);bx(c[bc>>2]|0,85,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=$w(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=4;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,4,6036);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;mC(ac,1,32951,ua);bx(c[bc>>2]|0,85,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;mC(ac,2,32956,va);bx(c[bc>>2]|0,85,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Ij(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+76>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+76>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,c[(c[ac>>2]|0)+76>>2]|0,6052);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;mC(l,1,32960,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;mC($b,4,32964,Ob)}bx(c[bc>>2]|0,85,1,c[(c[ac>>2]|0)+76>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=$w(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=5;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,5,6076);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1524];c[A+4>>2]=c[1525];c[A+8>>2]=c[1526];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;mC(ac,1,32968,wa);bx(c[bc>>2]|0,85,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+76>>2]=3;lC(c[bc>>2]|0,3,6108);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Gi(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;mC(ac,1,32974,xa);bx(c[bc>>2]|0,85,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+76>>2]=2;lC(c[bc>>2]|0,2,6120);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;mC(ac,1,32978,ya);bx(c[bc>>2]|0,85,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=$w(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+76>>2]=8;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,8,6128);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=nC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=nC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32990;mC(ac,1,32981,za);bx(c[bc>>2]|0,85,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+76>>2]|0)+1;Zb=(c[ac>>2]|0)+76|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+76|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+76|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=$w(c[ac>>2]|0)|0;lC(c[bc>>2]|0,4,6160);ox(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Bh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Lz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+76>>2]|0))c[(c[ac>>2]|0)+76>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Mz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,102);dx(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Lz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=oC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Mz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,102);break}else{fx(c[bc>>2]|0,102,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Nz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+72>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+72>>2]=c[Ma>>2];c[Ka>>2]=Kz(c[bc>>2]|0,55,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=oC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Pz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){fx(l,94,0,c[Na>>2]|0,c[Xa>>2]|0)|0;IA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);bx(c[bc>>2]|0,34,c[Xa>>2]|0,c[Ja>>2]|0)|0;Yb=c[bc>>2]|0;Zb=c[Xa>>2]|0;bx(Yb,17,Zb,(Oz(c[bc>>2]|0)|0)+3|0)|0}else bx(l,121,0,c[Xa>>2]|0)|0;fx(c[bc>>2]|0,32,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Rz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Sz(Zb,(Oz(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;GA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);bx(c[bc>>2]|0,34,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=pC(c[cc>>2]|0,c[Sa>>2]|0)|0;ex(Vb,96,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Gh(c[bc>>2]|0,31,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);bx(c[bc>>2]|0,121,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;mC(Yb,Zb,32995,Ya);bx(c[bc>>2]|0,85,c[Wa>>2]|0,4)|0;Tz(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}bx(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Sz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;qC(bc,(Ei(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[18229+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+76>>2]=6;ZB(c[bc>>2]|0,32998);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Oi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;bx(c[bc>>2]|0,74,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;ox(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Kz(c[bc>>2]|0,64,1)|0;bx(c[bc>>2]|0,73,0,0)|0;Sz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Rw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+76>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+76>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=l;ex(c[bc>>2]|0,139,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Hh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Kz(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];ex(Yb,97,0,3,0,Eh(Zb,33014,Pb)|0,-1)|0;fx(c[bc>>2]|0,81,2,4,1)|0;fx(c[bc>>2]|0,52,4,3,2)|0;bx(c[bc>>2]|0,85,2,1)|0;Sz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Hj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Kz(c[bc>>2]|0,64,1)|0;bx(c[bc>>2]|0,73,0,0)|0;Sz(c[bc>>2]|0,c[bb>>2]|0);rC(c[ac>>2]|0);sC(c[ac>>2]|0,c[Jb>>2]|0,102,0,1,0,ib,jb)|0;bx(c[bc>>2]|0,74,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;bx(l,74,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}bx(l,55,c[ib>>2]|0,0)|0;c[ub>>2]=bx(c[bc>>2]|0,89,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;GA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Hh(c[bc>>2]|0,-128);c[mb>>2]=Kz(c[bc>>2]|0,35,3)|0;bx(c[bc>>2]|0,89,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Eh(Zb,33038,Qb)|0;ex(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;bx(c[bc>>2]|0,85,3,1)|0;c[ob>>2]=Kz(c[bc>>2]|0,64,1)|0;jx(c[bc>>2]|0,73)|0;Sz(c[bc>>2]|0,c[mb>>2]|0);Sz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Pz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=iA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];bx(c[bc>>2]|0,89,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Gh(c[bc>>2]|0,31,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;bx(c[bc>>2]|0,89,1,-1)|0;dx(c[bc>>2]|0,3,33058)|0;fx(c[bc>>2]|0,52,7,3,3)|0;dx(c[bc>>2]|0,4,33063)|0;fx(c[bc>>2]|0,52,4,3,3)|0;c[rb>>2]=dx(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;fx(c[bc>>2]|0,52,4,3,3)|0;bx(c[bc>>2]|0,85,3,1)|0;c[qb>>2]=Kz(c[bc>>2]|0,64,1)|0;jx(c[bc>>2]|0,73)|0;Sz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Pz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))bx(c[bc>>2]|0,34,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Kz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Rz(c[bc>>2]|0,c[Mb>>2]|0)|0;Sz(c[bc>>2]|0,c[sb>>2]|0);Gh(c[bc>>2]|0,57,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;bx(c[bc>>2]|0,89,1,-1)|0;dx(c[bc>>2]|0,3,33084)|0;Rz(c[bc>>2]|0,c[rb>>2]|0)|0;Tz(c[bc>>2]|0,c[Mb>>2]|0)}Sz(c[bc>>2]|0,c[qb>>2]|0);jA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}bx(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Sz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);dx(c[bc>>2]|0,2,33111)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=Oz(c[bc>>2]|0)|0;bx(c[bc>>2]|0,64,1,(c[bb>>2]|0)+2|0)|0;bx(c[bc>>2]|0,73,0,0)|0;bx(c[bc>>2]|0,98,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;fx(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Hh(c[bc>>2]|0,-112);bx(c[bc>>2]|0,89,1,-1)|0;dx(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;fx(c[bc>>2]|0,52,3,2,7)|0;bx(c[bc>>2]|0,85,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Ih(c[bc>>2]|0,4,33140,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=33156;break a}case 12:{if(!(c[ec>>2]|0)){if(Cz(c[ac>>2]|0)|0)break a;YB(c[bc>>2]|0,33159,c[6176+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=6176;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[960]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Ch(bc,33168,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Jh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Ih(c[bc>>2]|0,2,33193,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Ni(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Ih(c[bc>>2]|0,3,33201,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];$B(c[bc>>2]|0,1);aC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;tC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+76>>2]=1;ZB(c[bc>>2]|0,33213);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;dx(l,1,c[Ga>>2]|0)|0;bx(c[bc>>2]|0,85,1,1)|0}tC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,33228)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,33233)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,33241)|0))c[G>>2]=3}while(0);lC(c[bc>>2]|0,3,6248);c[(c[ac>>2]|0)+76>>2]=3;fx(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;bx(c[bc>>2]|0,85,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Ni(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+220>>2]|0)==139)l=c[(c[cc>>2]|0)+224>>2]|0;else l=0;_B(c[bc>>2]|0,33250,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;_B(ac,33277,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Fi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;_B(ac,33293,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Ni(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;_B(c[bc>>2]|0,33269,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function uw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+492>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+492>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+68>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Dh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Py(l,c[e>>2]|0);RB(q,c[f>>2]|0,c[k>>2]|0,19280,l);if((WB(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(UB(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+144+5>>0]|0)){c[r>>2]=$w(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;nx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Uw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?20521:20540;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;_w(q,32531,s);Tf(c[j>>2]|0,c[u>>2]|0);ax(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];cx(r,s,Eh(u,32595,t)|0)}if(a[(c[j>>2]|0)+144+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Sj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){lh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=qj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);mv(c[j>>2]|0,c[g>>2]|0);i=w;return}function vw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Ch(c[I>>2]|0,32214,r);break}else{c[N>>2]=Gz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+144+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=QB(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+144+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(RB(q,c[I>>2]|0,c[N>>2]|0,19280,c[D>>2]|0),(SB(q,c[K>>2]|0)|0)==0):0){c[E>>2]=QB(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+144+4>>0]|0)!=1)break;a[(c[M>>2]|0)+144+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Ch(c[I>>2]|0,32260,s);break}c[P>>2]=Pw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Lx(c[I>>2]|0,c[P>>2]|0)|0):0){if(qj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){ox(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Ch(o,32301,F);break}}if(!(zd(c[c[E>>2]>>2]|0,28448,7)|0)){Ch(c[I>>2]|0,32327,t);break}if((c[x>>2]|0)!=77?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?32365:32372;c[u+4>>2]=H;c[u+8>>2]=0;Ch(N,32378,u);break}if((c[x>>2]|0)==77?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Ch(N,32415,v);break}c[C>>2]=Dh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Yw(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Yw(c[I>>2]|0,18,(c[C>>2]|0)==1?20521:20540,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[O>>2]=rh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=ph(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;N=Ay(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=Az(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+492>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);fv(c[M>>2]|0,c[K>>2]|0);iv(c[M>>2]|0,c[J>>2]|0);gv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+492>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function ww(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=PB(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Iy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=Ay(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}cv(c[h>>2]|0,c[j>>2]|0);gv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function xw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=PB(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Tx(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;dv(l,o);o=c[m>>2]|0;i=n;return o|0}else{iv(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;dv(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=PB(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=Ay(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}gv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function zw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=rh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){dv(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Aw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}if(Cz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=qj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){NB(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)MB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Ch(f,32143,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}function Bw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;vB(c[k>>2]|0,24,5288,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;vB(c[f>>2]|0,25,5260,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function Dw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(Cz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){dA(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Pw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}dA(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=Gz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Pw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ri(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){eA(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Ij(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){nx(f,0,c[r>>2]|0);fA(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Ch(f,31603,t);i=u;return}}function Ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(Cz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=Gz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Pw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Ij(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Bh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)Fz(c[l>>2]|0,c[o>>2]|0,0)}else Fz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=Ez(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){Dz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Pw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Ij(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Bh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)Fz(c[l>>2]|0,c[o>>2]|0,0)}else Fz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)Dz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=$w(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}jx(c[p>>2]|0,148)|0;i=r;return}function Fw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=lx(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Dh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Pw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ri(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Ij(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(mx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Lx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Ch(g,28941,v);break}if(Yw(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Mx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Nx(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=$w(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;nx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);ax(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+76|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;dx(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;ex(c[u>>2]|0,155,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Ox(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Px(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Qx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?20521:20540;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;_w(v,28968,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?20521:20540;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;_w(z,29037,w);if(ri(c[l>>2]|0,29421,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;_w(C,29437,x)}C=tx(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;_w(C,29495,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Rx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))rx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);rx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Ch(D,28882,h)}while(0);fv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Gw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;g=D+124|0;h=D+120|0;n=D+116|0;o=D+112|0;k=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;l=D+92|0;m=D+88|0;j=D+84|0;s=D+80|0;p=D+76|0;q=D+72|0;B=D+68|0;r=D+64|0;c[g>>2]=e;c[h>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+68>>2]|0){i=D;return}if(d[(c[j>>2]|0)+69>>0]|0){i=D;return}c[n>>2]=c[(c[g>>2]|0)+488>>2];c[k>>2]=Dh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[A>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[C>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ri(c[j>>2]|0,c[C>>2]|0,c[A>>2]|0)|0;if(Yw(c[g>>2]|0,26,c[A>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=D;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Ch(c[g>>2]|0,28484,t);i=D;return}if(c[(c[n>>2]|0)+8>>2]|0){Ch(c[g>>2]|0,28516,w);i=D;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Ch(c[g>>2]|0,28543,x);i=D;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Ch(c[g>>2]|0,28602,y);i=D;return}do if(c[m>>2]|0){c[p>>2]=0;c[q>>2]=qx(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[q>>2]|0){i=D;return}if(c[p>>2]|0){bh(c[p>>2]|0);break}Ch(c[g>>2]|0,28655,u);i=D;return}while(0);c[z>>2]=Uw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[z>>2]|0){c[B>>2]=(c[z>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[r>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[B>>2]|0)>>>0<=(c[z>>2]|0)>>>0)break;if((a[c[B>>2]>>0]|0)!=59?(d[19019+(d[c[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=c[B>>2]|0;c[B>>2]=y+-1;a[y>>0]=0}B=(c[j>>2]|0)+24|0;c[B>>2]=c[B>>2]|2097152;B=c[g>>2]|0;u=(c[k>>2]|0)==1?20521:20540;w=c[(c[n>>2]|0)+44>>2]|0;x=c[z>>2]|0;y=(c[(c[n>>2]|0)+44>>2]|0)+1|0;C=c[C>>2]|0;c[v>>2]=c[A>>2];c[v+4>>2]=u;c[v+8>>2]=w;c[v+12>>2]=x;c[v+16>>2]=y;c[v+20>>2]=C;_w(B,28701,v);Tf(c[j>>2]|0,c[z>>2]|0);c[(c[j>>2]|0)+24>>2]=c[r>>2]}fx(c[s>>2]|0,100,c[k>>2]|0,2,4)|0;rx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=D;return}function Hw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=lx(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Ch(c[h>>2]|0,28295,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Ch(e,28329,s);break}if(((0==(mx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Dh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=rh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+488>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=rh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Eh(s,28359,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){yR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=ph(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;nx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=$w(c[h>>2]|0)|0;if(c[r>>2]|0)ax(c[h>>2]|0,c[m>>2]|0)}}while(0);fv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Iw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+488>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}Ww(c[e>>2]|0);c[(c[e>>2]|0)+516>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+144+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+500+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+500>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+500;c[s>>2]=Eh(r,28156,o)|0;c[h>>2]=Dh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?20521:20540;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+392>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;_w(r,28180,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=$w(c[e>>2]|0)|0;ax(c[e>>2]|0,c[h>>2]|0);bx(c[n>>2]|0,148,0,0)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Eh(s,28268,q)|0;cx(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+76|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;dx(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;bx(c[n>>2]|0,151,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Sj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){lh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+488>>2]=0;i=u;return}}function Jw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;xv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Dh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;Xw(r,q,Pw(c[l>>2]|0,c[k>>2]|0)|0);Xw(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;Xw(q,r,ph(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+500+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+500>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}Yw(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Kw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ww(c[d>>2]|0);c[(c[d>>2]|0)+516>>2]=0;c[(c[d>>2]|0)+516+4>>2]=0;i=b;return}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+516;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Mw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Pw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Ch(t,28088,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Qw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=rh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){cv(c[m>>2]|0,c[k>>2]|0);dv(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Nw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11638+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[12268+(c[h>>2]<<1)>>1]|0}function Ow(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;kv(c[b>>2]|0)}c[(c[b>>2]|0)+4>>2]=c[d>>2];i=e;return}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Uw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Vw(c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Qw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Rw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((ju(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Sw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Rw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Tw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Sw(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(ju(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Rw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}yR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}lh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}lh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Uw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=wR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Rw(b,d,C)|0;if(c[l>>2]|0){yR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Vw(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){i=j;return}a[h>>0]=a[c[e>>2]>>0]|0;if(!(d[19019+(d[h>>0]|0)>>0]&128)){i=j;return}if((a[h>>0]|0)==91)a[h>>0]=93;c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+516>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+488>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+516>>2];c[e>>2]=c[(c[b>>2]|0)+516+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+488>>2]|0;a=c[e>>2]|0;Xw(h,b,Uw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Qw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function Yw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+144+5>>0]|0|0)==0?(d[(c[j>>2]|0)+454>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+496>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;Zw(c[j>>2]|0)}}else{Ch(c[j>>2]|0,28118,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function Zw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Ch(c[d>>2]|0,28133,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function _w(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+144|0;j=o+36|0;g=o+32|0;h=o+16|0;n=o+8|0;m=o+4|0;k=o;l=o+40|0;c[j>>2]=d;c[g>>2]=e;c[m>>2]=0;c[k>>2]=c[c[j>>2]>>2];if(c[(c[j>>2]|0)+68>>2]|0){i=o;return}c[h>>2]=f;c[n>>2]=kx(c[k>>2]|0,c[g>>2]|0,h)|0;if(!(c[n>>2]|0)){i=o;return}g=(c[j>>2]|0)+18|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24;g=l;h=(c[j>>2]|0)+444|0;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));g=(c[j>>2]|0)+444|0;d=g+100|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(d|0));Wh(c[j>>2]|0,c[n>>2]|0,m)|0;Tf(c[k>>2]|0,c[m>>2]|0);Tf(c[k>>2]|0,c[n>>2]|0);g=(c[j>>2]|0)+444|0;h=l;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));n=(c[j>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24;i=o;return}function $w(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}else{d=ix(c[b>>2]|0)|0;i=e;return d|0}return 0}function ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];fx(c[g>>2]|0,100,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function bx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=fx(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;ex(c[e>>2]|0,134,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Jh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function dx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=ex(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function ex(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=fx(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Kh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function fx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)<=(c[o>>2]|0)){c[h>>2]=gx(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function gx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(hx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=fx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+88>>2]|0)b=c[(c[f>>2]|0)+88>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Qw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=iu(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+92>>2]=e;c[(c[f>>2]|0)+88>>2]=((c[(c[f>>2]|0)+92>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function ix(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;b=Fh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)jx(c[f>>2]|0,69)|0;if(c[(c[d>>2]|0)+416>>2]|0){f=c[f>>2]|0;i=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8){f=c[f>>2]|0;i=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;i=g;return f|0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=fx(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function kx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+92>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}lh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Bh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,28448,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Ch(b,28456,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function nx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;c[k>>2]=f;ox(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+336|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+340>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+340|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+344+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}px(c[f>>2]|0)|0;i=g;return}function px(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+453>>0]|0)==0:0){c[h>>2]=$j(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Ch(c[e>>2]|0,28378,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ai(c[g>>2]|0,c[(c[f>>2]|0)+76>>2]|0,-1,0)|0)){lh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function qx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=vx(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=$w(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=sx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;ex(c[l>>2]|0,138,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}ex(c[l>>2]|0,136,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Eh(d,28810,m)|0;if(!(c[n>>2]|0)){i=o;return}cx(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=tx(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}cx(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function sx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+442>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function tx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=sx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=ux(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Eh(h,28822,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Eh(a,28854,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Eh(a,28846,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function vx(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=19018;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==159))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==66){a[p>>0]=wx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=vx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){xx(c[c[A>>2]>>2]|0,a[p>>0]|0,1);yx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28868}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=zx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=HR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;gh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Eh(l,25321,t)|0;if(!(c[w>>2]|0)){n=43;break}Yh(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)yx(c[B>>2]|0,67,1);else yx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=gu(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=zx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=zx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=Bx(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;fh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=42;break}w=0==(qx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){Ax(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=vR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);yx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){lh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);bh(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function wx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[18229+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[19019+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Oi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function xx(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){yx(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}}case 67:{Ax(c[k>>2]|0)|0;i=m;return}case 68:{Jx(c[k>>2]|0)|0;i=m;return}case 69:{Kx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;yx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function yx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Ex(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function zx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Xh(c[e>>2]|0)|0;i=d;return b|0}function Ax(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+_g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Cx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function Bx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Rw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Ji(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Ji(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function Cx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=Dx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function Dx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function Ex(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)Fx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){Cx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}zh(c[k>>2]|0,1);i=l;return}function Fx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(Gx(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28870,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28875,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}gu(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function Gx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Hx(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Hx(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Ix(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ah(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=iu(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}hh(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)yR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Ix(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Qw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Jx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=$g(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Kx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+_g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Lx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+144+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,28448,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Ch(e,31371,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Mx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;o=r+24|0;n=r+20|0;m=r+16|0;l=r+12|0;k=r+8|0;q=r+4|0;c[h>>2]=a;c[j>>2]=f;c[m>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(Sx(c[h>>2]|0,c[j>>2]|0)|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){q=c[h>>2]|0;c[p>>2]=c[c[j>>2]>>2];Ch(q,29587,p);c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=Tx(c[k>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=c[(c[h>>2]|0)+72>>2];Ux(c[h>>2]|0,c[(c[n>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;p=(c[k>>2]|0)+256|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=c[(c[k>>2]|0)+296>>2];c[(c[k>>2]|0)+296>>2]=0;c[o>>2]=Vx(c[h>>2]|0,c[n>>2]|0)|0;c[(c[k>>2]|0)+296>>2]=c[q>>2];c[(c[h>>2]|0)+72>>2]=c[l>>2];do if(c[(c[j>>2]|0)+24>>2]|0){Wx(c[h>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[h>>2]|0)+68>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[n>>2]>>2]>>2]|0):0)Xx(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0)}else if(c[o>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[o>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=0;c[(c[o>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[m>>2]=(c[m>>2]|0)+1;break}while(0);Rf(c[k>>2]|0,c[o>>2]|0);dv(c[k>>2]|0,c[n>>2]|0);q=(c[k>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[m>>2]=(c[m>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[g>>2]=c[m>>2];q=c[g>>2]|0;i=r;return q|0}function Nx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Ox(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Px(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Rx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=ux(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Rx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Sx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Nx(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=qj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=Bz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Ch(p,19007,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Ch(o,31227,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Tx(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Rw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=Iy(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=yz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=Ay(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=Ay(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=Tx(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=Ay(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=Ay(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-33;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=zz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function Ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ux(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Vx(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;ey(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+68>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=rh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;Wx(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;Xx(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Wx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];xj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=rh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=dy(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=25361;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==55){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Eh(E,19007,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(qj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[19019+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Eh(E,29651,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Sj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)lh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}yj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function Xx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+96|0;h=w+84|0;j=w+80|0;k=w+76|0;m=w+72|0;t=w+40|0;r=w+36|0;s=w+32|0;n=w+28|0;q=w+24|0;l=w+20|0;u=w;v=w+16|0;p=w+12|0;o=w+8|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=u;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[r>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[q>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v>>2]=Yx(t,c[q>>2]|0,(c[r>>2]|0)+14|0)|0;g=u;g=wR(c[g>>2]|0,c[g+4>>2]|0,d[(c[r>>2]|0)+14>>0]|0,0)|0;f=u;c[f>>2]=g;c[f+4>>2]=C;f=Zx(c[q>>2]|0)|0;a[(c[r>>2]|0)+13>>0]=f;if(((c[v>>2]|0)!=0?(f=Jf(c[v>>2]|0)|0,c[o>>2]=f,(f|0)>0):0)?(c[p>>2]=Jf(c[c[r>>2]>>2]|0)|0,f=(c[p>>2]|0)+(c[o>>2]|0)+2|0,f=Ix(c[m>>2]|0,c[c[r>>2]>>2]|0,f,((f|0)<0)<<31>>31)|0,c[c[r>>2]>>2]=f,(c[c[r>>2]>>2]|0)!=0):0){yR((c[c[r>>2]>>2]|0)+((c[p>>2]|0)+1)|0,c[v>>2]|0,(c[o>>2]|0)+1|0)|0;f=(c[r>>2]|0)+15|0;a[f>>0]=d[f>>0]|4}if(!(a[(c[r>>2]|0)+13>>0]|0))a[(c[r>>2]|0)+13>>0]=65;c[s>>2]=_x(c[h>>2]|0,c[q>>2]|0)|0;if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+8>>2]|0)==0:0){f=ph(c[m>>2]|0,c[c[s>>2]>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+16}v=u;v=HR(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=Kj(v,C)|0;b[(c[j>>2]|0)+40>>1]=v;i=w;return}function Yx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=Yx(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=19375;break a}else{c[w>>2]=ti((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=Yx(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function Zx(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=dy(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Zx(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==66){a[f>>0]=wx(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==154|(c[j>>2]|0)==152|(c[j>>2]|0)==157?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+13>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function _x(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==66|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==53){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==88?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=$x(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(ay(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function $x(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){by(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(cy(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Ch(p,29617,n);p=c[m>>2]|0;i=o;return p|0}function ay(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=$x(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function by(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+228>>2]|0){c[l>>2]=ph(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+228>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+232>>2]|0)){i=n;return}c[k>>2]=Xh(c[g>>2]|0)|0;Yh(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Yg(c[k>>2]|0,((a[960]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);bh(c[k>>2]|0);i=n;return}function cy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Qj(c[e>>2]|0,a[29648+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function dy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function ey(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&128){i=l;return}fy(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}gy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}hy(c[g>>2]|0,c[h>>2]|0);i=l;return}function fy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;ky(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&1024){h=c[e>>2]|0;ky(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;ky(f,h)|0;i=g;return}function gy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];ky(g,c[f>>2]|0)|0;i=e;return}function hy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];ky(f,c[e>>2]|0)|0;i=d;return}function iy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}Xx(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function jy(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function ky(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ly(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(my(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ly(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(ny(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(oy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(ny(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(oy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(ny(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(oy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(oy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function my(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(ky(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(ny(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(oy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=py(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[d>>2]|0)+4>>2]&255](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(oy(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}if(oy(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}d=c[d>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!(ky(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else{if(!(ny(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}function qy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;n=J+112|0;o=J+108|0;x=J+104|0;z=J+100|0;k=J+96|0;m=J+92|0;l=J+88|0;j=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;r=J+64|0;p=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;q=J+120|0;y=J+44|0;h=J+40|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+24>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 55:{c[I>>2]=Sy(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{Ty(c[z>>2]|0,c[x>>2]|0,30165,32);c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==55){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Sy(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 151:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0;Ty(c[z>>2]|0,c[x>>2]|0,30182,2);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=Jf(c[G>>2]|0)|0;c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Uy(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){Ch(c[z>>2]|0,30192,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Yw(c[z>>2]|0,31,0,c[(c[v>>2]|0)+20>>2]|0,0)|0;if(c[p>>2]|0){if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+20>>2];Ch(H,30263,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}else{if(e[(c[v>>2]|0)+2>>1]&10240){B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288}if(e[(c[v>>2]|0)+2>>1]&2048)break;Ty(c[z>>2]|0,c[x>>2]|0,30298,32);break}}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;Ch(F,30326,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=31;do if((H|0)==31){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+144+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;Ch(H,30362,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;Ch(H,30385,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}ny(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-103;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Vy(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(16|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 33:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],Ty(c[z>>2]|0,c[x>>2]|0,30430,38),ky(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32;H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|64}break}case 135:{Ty(c[z>>2]|0,c[x>>2]|0,30441,38);break}default:{}}if(c[(c[z>>2]|0)+68>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+69>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function ry(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&64)){ey(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+68>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(sy(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(sy(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&65536){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+496>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+496>>2]=c[(c[o>>2]|0)+8>>2];gy(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+496>>2]=c[w>>2];if(c[(c[A>>2]|0)+68>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(ty(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&16|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(sy(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(sy(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(ty(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&65536){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(uy(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29703)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(uy(v,c[x>>2]|0,c[n>>2]|0,29709)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Ch(c[A>>2]|0,29659,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Ch(c[A>>2]|0,29715,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{vy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(wy(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function sy(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Ry(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+464>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4113;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];oy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+68>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(sy(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function uy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=dy(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=zy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(xy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(sy(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(Cy(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){yy(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ly(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function vy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512){Ch(b,29925,g);i=g;return}else{c[f>>2]=Ky(d[(c[e>>2]|0)+4>>0]|0)|0;Ch(b,29971,f);i=g;return}}function wy(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+92+8>>2]|0)){Ch(c[r>>2]|0,29774,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=dy(c[c[n>>2]>>2]|0)|0;if(xy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=zy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=Ay(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=By(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;gv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Uv(c[h>>2]|0,132,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=53)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}gv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){yy(c[r>>2]|0,29703,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Ch(u,29808,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function xy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=xy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(xy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function yy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Ch(b,29869,g);i=f;return}function zy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Ay(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){b=0;i=h;return b|0}b=Ey(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;i=h;return b|0}function By(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=sy(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(Cy(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function Cy(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==53?(Cy(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==53?(Cy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(OQ(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Cy(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Cy(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Dy(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Dy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(Cy(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function Ey(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;n=s+44|0;o=s+40|0;m=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;k=s+20|0;h=s+16|0;f=s+12|0;j=s+8|0;g=s+4|0;l=s;c[n>>2]=a;c[o>>2]=b;c[m>>2]=d;c[p>>2]=e;if(c[p>>2]|0){c[r>>2]=c[c[p>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=Fy(c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=Rw(b,e,((e|0)<0)<<31>>31)|0;c[k>>2]=0}c[q>>2]=c[r>>2];if(!(c[q>>2]|0)){r=c[q>>2]|0;i=s;return r|0}c[h>>2]=Gy(c[o>>2]|0,c[m>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(Jf(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[m>>2]|0)){c[g>>2]=Hy(c[o>>2]|0)|0;yR(c[r>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)>>>0<48)AR((c[r>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}else yR(c[r>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;e=(c[q>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[q>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[q>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[r>>2]|0)+(c[f>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=k;c[l>>2]=k;yR(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[q>>2]|0)+4>>2])&16384)){a=c[n>>2]|0;d=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){l=Tx(a,c[d>>2]|0,c[m>>2]|0)|0;c[(c[q>>2]|0)+20>>2]=l;break}else{l=Iy(a,c[d>>2]|0,c[m>>2]|0)|0;c[(c[q>>2]|0)+20>>2]=l;break}}while(0);a=c[o>>2]|0;if(!(c[(c[q>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&16384){r=c[q>>2]|0;i=s;return r|0}r=Ay(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[q>>2]|0)+12>>2]=r;r=Ay(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[q>>2]|0)+16>>2]=r;r=c[q>>2]|0;i=s;return r|0}m=Jy(a,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+m;if(c[(c[q>>2]|0)+4>>2]&8192){if(c[(c[o>>2]|0)+12>>2]|0)a=Ey(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,r)|0;else a=0;c[(c[q>>2]|0)+12>>2]=a;if(c[(c[o>>2]|0)+16>>2]|0)a=Ey(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,r)|0;else a=0;c[(c[q>>2]|0)+16>>2]=a}if(!(c[p>>2]|0)){r=c[q>>2]|0;i=s;return r|0}c[c[p>>2]>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Jy(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=Fy(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(Fy(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Hy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function Iy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Rw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Rw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=Ay(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(Gy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Ky(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=30053;break}case 118:{c[b>>2]=30063;break}case 117:{c[b>>2]=30073;break}default:c[b>>2]=30080}i=d;return c[b>>2]|0}function Ly(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+92+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Ch(s,30086,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}My(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){yy(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function My(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=Ay(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Ny(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==53)c[p>>2]=Oy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;gv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=ph(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];oy(f,c[d>>2]|0)|0;i=g;return}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Py(f,c[j>>2]|0);d=hw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Qy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+92+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Ch(j,30117,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function Sy(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&6){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Yy(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(Zy(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+420>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+440>>0];if((c[u>>2]|0)!=109?(ig(30536,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+420>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(30540,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+420>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+432|0;c[h>>2]=c[h>>2]|k;break}else{h=f+436|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Ch(W,30544,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}My(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,19018,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?30575:30590;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Ch(k,30625,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Ch(k,30635,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Ch(W,30612,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=BR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}gv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;gv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?88:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))_y(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function Ty(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=30452;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=30498}else c[l>>2]=30480;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Ch(n,30516,k);i=m;return}function Uy(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Xy(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;ny(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Wy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;q=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;r=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[r>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]^1);c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19019+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=HR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=wR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&4))break b;b=t;e=c[b+4>>2]|0;if((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835){b=t;b=HR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=wR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[r>>2]|0)<1e4)j=((c[r>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[r>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}}}while(0);q=_(c[r>>2]|0,c[z>>2]|0)|0;c[r>>2]=q+(c[p>>2]|0);if((c[r>>2]|0)<0){c[z>>2]=-1;c[r>>2]=_(c[r>>2]|0,-1)|0}else c[z>>2]=1;q=t;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[r>>2]|0)<=0)break;m=t;j=c[m>>2]|0;m=c[m+4>>2]|0;if((c[z>>2]|0)>0){if((m|0)>214748364|(m|0)==214748364&j>>>0>=3435973836)break;p=t;p=HR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}else{q=GR(j|0,m|0,10,0)|0;if((q|0)!=0|(C|0)!=0)break;p=t;p=FR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}c[r>>2]=(c[r>>2]|0)+-1}p=(c[u>>2]|0)<0;q=t;o=c[q>>2]|0;q=c[q+4>>2]|0;b=vR(0,0,o|0,q|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:q;if(!(c[r>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[r>>2]|0)<=307){while(1){if(!((c[r>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}while(1){if((c[r>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[r>>2]=(c[r>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}if((c[r>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[r>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}else h[D>>3]=(c[u>>2]|0)<0?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)==(c[E>>2]|0):0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Yy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function _y(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Dh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==88)c[q>>2]=c[(c[k>>2]|0)+420>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=20511;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=($y(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function $y(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;n=p+16|0;m=p;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;k=p+32|0;o=p+28|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=Sb[c[(c[k>>2]|0)+296>>2]&255](c[(c[k>>2]|0)+300>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+496>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}Zw(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;Ch(e,30642,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;Ch(e,30675,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0} -function hu(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=ah(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ah(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26179+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26179+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Wg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=iu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function iu(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(ju(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function lu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)ru(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)ru(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}su(c[b>>2]|0);i=k;return}function mu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pu(c[d>>2]|0,68);i=b;return 0}function nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(ou(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function ou(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;qu(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function qu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];qu(c[e>>2]|0);i=h;return}function su(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Qh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];qu(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function tu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function uu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1616;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[418]=(c[53]|0)==0&1;if((c[418]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[419]=c[55];c[407]=10;c[417]=1;i=d;return 0}else{c[419]=0;c[407]=10;c[417]=1;i=d;return 0}return 0}function vu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1616;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function wu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[418]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[418]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1616;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Nu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Du(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Fu(c[e>>2]|0);i=g;return}function yu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function zu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Ku(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function Au(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Hu(c[h>>2]|0,1);i=k;return}function Bu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Ju(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Du(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Ju(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+24>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);Fu(c[d>>2]|0);Kd(c[(c[d>>2]|0)+56>>2]|0);Kd(c[(c[d>>2]|0)+48>>2]|0);Kd(c[d>>2]|0);i=b;return}function Eu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Fu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Fu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Gu(c[e>>2]|0)|0;Hu(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Gu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Iu(c[d>>2]|0);i=h;return}function Iu(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else $i(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Ju(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+44>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))Gu(c[h>>2]|0)|0;Iu(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Ku(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Gu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Lu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Lu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Mu(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Nu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Mu(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Hu(c[o>>2]|0,0);Gu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Iu(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Ou(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Mu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[421]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[420]|0):0){c[b>>2]=c[428];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Qu()|0;e=c[b>>2]|0;i=d;return e|0}function Nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Wj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Xj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Ou(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Pu(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Wj();c[j>>2]=hj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Xj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Pu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[419]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Wj();if((c[419]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[419]|0;m=HR(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[419]|0;b=HR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=HR(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){o=j;c[o>>2]=_(c[(c[e>>2]|0)+12>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[o+4>>2]=0}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Xj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Qu(){return c[77]|0}function Ru(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=oR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,27015,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Su(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;pR(c[d>>2]|0);i=b;return}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=rR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Uu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26979,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Uu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Vu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Wu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Xu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Yu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Yb[c[e>>2]&255](1608,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Zu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39775+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=45;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=40;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=46;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=38;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=44;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=52;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=55;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[19019+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?55:161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[19019+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[19019+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=161;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39775+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[19019+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=55;c[n>>2]=Ri(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=161;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[19019+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[19019+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[19019+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=161;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=55;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function _u(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;l=o+32|0;p=o+28|0;j=o+24|0;h=o+20|0;m=o+8|0;k=o+4|0;n=o;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;b[(c[n>>2]|0)+8>>1]=0;a[(c[n>>2]|0)+8+2>>0]=0}c[(c[n>>2]|0)+4>>2]=c[h>>2];while(1){c[k>>2]=nv(c[n>>2]|0,c[j>>2]&255)|0;h=c[k>>2]|0;do if((c[k>>2]|0)>>>0>974)if(h>>>0<=1300){pv(c[n>>2]|0,(c[k>>2]|0)-975|0);break}else{c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];d=c[n>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];qv(d,p,l);lv(c[n>>2]|0,c[j>>2]&255,m);c[j>>2]=251;break}else{if(h>>>0>439)c[k>>2]=(c[k>>2]|0)+326;e=c[n>>2]|0;d=c[k>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];ov(e,d,p,l);c[j>>2]=251}while(0);if((c[j>>2]|0)==251){h=13;break}if((c[c[n>>2]>>2]|0)<0){h=13;break}}if((h|0)==13){i=o;return}}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)<0)break;kv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function av(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);cv(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);dv(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function cv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jv(c[d>>2]|0,c[e>>2]|0);i=f;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}ev(c[d>>2]|0,c[e>>2]|0,1);i=f;return}function ev(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];cv(c[e>>2]|0,c[c[f>>2]>>2]|0);fv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)bv(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function fv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)cv(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);dv(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);gv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}hv(c[d>>2]|0,c[e>>2]|0);i=f;return}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;do if(!(c[(c[e>>2]|0)+4>>2]&16384)){gv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);gv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Tf(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);a=c[d>>2]|0;b=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){dv(a,c[b>>2]|0);break}else{cv(a,c[b>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;gv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function kv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-1;c[e>>2]=(c[f>>2]|0)+8+(b<<4);lv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function lv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{gv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 225:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{cv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{fv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 249:case 196:{bv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 240:case 235:case 226:case 224:case 215:case 203:case 201:{gv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 236:case 231:{mv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 233:{iv(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];gv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);cv(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);dv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);iv(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function nv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[(c[q>>2]|0)+8+(c[c[q>>2]>>2]<<4)>>1];if((c[n>>2]|0)>=975){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[15274+(c[n>>2]<<1)>>1];if((c[k>>2]|0)==-95){o=4;break}c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1501)?(d[38178+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=15;break}if((d[j>>0]|0)<=0)break;if((d[j>>0]|0)>>>0>=96){o=11;break}q=a[39679+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255)){o=11;break}a[j>>0]=a[l>>0]|0}if((o|0)==4){c[h>>2]=e[16154+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}else if((o|0)==11){c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+96;if((c[m>>2]|0)<1501?(d[38178+(c[m>>2]|0)>>0]|0)==96:0){c[h>>2]=e[12268+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}}else if((o|0)==15){c[h>>2]=e[12268+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[16154+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function ov(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){rv(f);i=m;return}else{c[l>>2]=(c[h>>2]|0)+8+(c[f>>2]<<4);b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}}function pv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+288|0;h=ba+272|0;P=ba+40|0;O=ba+32|0;R=ba+24|0;Q=ba+16|0;V=ba+8|0;N=ba;X=ba+264|0;Y=ba+260|0;_=ba+256|0;Z=ba+252|0;$=ba+248|0;aa=ba+244|0;W=ba+240|0;T=ba+228|0;L=ba+216|0;M=ba+204|0;k=ba+184|0;l=ba+180|0;z=ba+176|0;s=ba+172|0;p=ba+168|0;S=ba+160|0;A=ba+152|0;q=ba+148|0;m=ba+144|0;B=ba+140|0;r=ba+136|0;o=ba+132|0;w=ba+128|0;x=ba+124|0;E=ba+120|0;F=ba+116|0;H=ba+112|0;G=ba+108|0;I=ba+104|0;J=ba+100|0;K=ba+96|0;U=ba+88|0;t=ba+80|0;u=ba+76|0;v=ba+72|0;y=ba+68|0;D=ba+64|0;C=ba+60|0;n=ba+56|0;j=ba+48|0;c[X>>2]=f;c[Y>>2]=g;c[W>>2]=c[(c[X>>2]|0)+4>>2];c[$>>2]=(c[X>>2]|0)+8+(c[c[X>>2]>>2]<<4);if((d[27102+(c[Y>>2]<<1)+1>>0]|0)==0?(c[c[X>>2]>>2]|0)>=99:0){rv(c[X>>2]|0);i=ba;return}a:do switch(c[Y>>2]|0){case 0:{a[(c[W>>2]|0)+453>>0]=1;break}case 1:{a[(c[W>>2]|0)+453>>0]=2;break}case 2:{sv(c[W>>2]|0);break}case 3:{tv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[$>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[$>>2]|0)+4>>2]=d[(c[$>>2]|0)+2>>0];break}case 9:case 8:{uv(c[W>>2]|0);break}case 10:{vv(c[W>>2]|0);break}case 11:{wv(c[W>>2]|0,0,(c[$>>2]|0)+4|0);break}case 12:{wv(c[W>>2]|0,1,(c[$>>2]|0)+4|0);break}case 13:{wv(c[W>>2]|0,2,(c[$>>2]|0)+4|0);break}case 14:{xv(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,0,0,c[(c[$>>2]|0)+-32+4>>2]|0);break}case 15:{yv(c[W>>2]|0);break}case 209:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[$>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[$>>2]|0)+4>>2]=1;break}case 20:{zv(c[W>>2]|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-16+4|0,c[(c[$>>2]|0)+4>>2]&255,0);break}case 21:{zv(c[W>>2]|0,0,0,0,c[(c[$>>2]|0)+4>>2]|0);dv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[$>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[$>>2]|0)+4>>2]|0,25361,5)|0)==0:0){c[(c[$>>2]|0)+-16+4>>2]=96;break a}c[(c[$>>2]|0)+-16+4>>2]=0;W=c[W>>2]|0;V=c[(c[$>>2]|0)+4>>2]|0;c[N>>2]=c[(c[$>>2]|0)+4+4>>2];c[N+4>>2]=V;Ch(W,27754,N);break}case 24:{Av(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[$>>2]|0)+16+4+4>>2]=0;c[(c[$>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[$>>2]|0)+-48+4+4>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0)-(c[(c[$>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[$>>2]|0)+-80+4+4>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0)-(c[(c[$>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[$>>2]|0)+-16+4+4>>2]=(c[(c[$>>2]|0)+4+4>>2]|0)+((c[(c[$>>2]|0)+4>>2]|0)-(c[(c[$>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{W=(c[W>>2]|0)+328|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];break}case 32:case 30:{Bv(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 31:{Bv(c[W>>2]|0,(c[$>>2]|0)+-16+4|0);break}case 33:{c[L>>2]=Cv(c[W>>2]|0,155,c[(c[$>>2]|0)+4>>2]|0,0,0)|0;c[L+4>>2]=c[(c[$>>2]|0)+-16+4>>2];c[L+8>>2]=c[(c[$>>2]|0)+4+8>>2];Bv(c[W>>2]|0,L);break}case 34:{V=c[W>>2]|0;U=(c[$>>2]|0)+4|0;c[h>>2]=c[U>>2];c[h+4>>2]=c[U+4>>2];Dv(M,V,97,h);Bv(c[W>>2]|0,M);break}case 35:{Ev(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 36:{Fv(c[W>>2]|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0);break}case 37:{Gv(c[W>>2]|0,0,0,0,0,c[(c[$>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 38:{Hv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 39:{Iv(c[W>>2]|0,0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 40:{Jv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 41:{Kv(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 44:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+-16+4>>2]&~c[(c[$>>2]|0)+4+4>>2]|c[(c[$>>2]|0)+4>>2];break}case 46:{c[(c[$>>2]|0)+-16+4>>2]=0;c[(c[$>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[$>>2]|0)+-32+4>>2]=0;c[(c[$>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];c[(c[$>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2]<<8;c[(c[$>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[$>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[$>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[$>>2]|0)+4>>2]=9;break}case 53:{c[(c[$>>2]|0)+4>>2]=6;break}case 54:{c[(c[$>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[$>>2]|0)+-32+4>>2]=0;break}case 142:case 71:case 56:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 210:case 186:case 183:case 75:case 58:{c[(c[$>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[$>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[W>>2]|0)+328+4>>2]=0;break}case 63:{Fv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,0);break}case 64:{Gv(c[W>>2]|0,0,0,0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 65:{Hv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0);break}case 66:{Iv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,(c[$>>2]|0)+-48+4|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);Jv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[$>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 72:{c[(c[$>>2]|0)+4>>2]=4;break}case 143:case 73:{c[(c[$>>2]|0)+4>>2]=5;break}case 74:{Lv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 77:{Mv(c[W>>2]|0,(c[$>>2]|0)+-128+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0);break}case 78:{Lv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,1,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 79:{c[k>>2]=c[1274];c[k+4>>2]=c[1275];c[k+8>>2]=c[1276];c[k+12>>2]=c[1277];c[k+16>>2]=c[1278];Nv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,k)|0;dv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 80:{c[l>>2]=c[(c[$>>2]|0)+4>>2];if(c[l>>2]|0){c[(c[l>>2]|0)+64>>2]=c[(c[$>>2]|0)+-16+4>>2];Ov(c[W>>2]|0,c[l>>2]|0)}else bv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);c[(c[$>>2]|0)+-16+4>>2]=c[l>>2];break}case 81:{c[z>>2]=c[(c[$>>2]|0)+4>>2];c[s>>2]=c[(c[$>>2]|0)+-32+4>>2];if((c[z>>2]|0)!=0?(c[(c[z>>2]|0)+48>>2]|0)!=0:0){c[S+4>>2]=0;Ov(c[W>>2]|0,c[z>>2]|0);c[p>>2]=Pv(c[W>>2]|0,0,0,0,S,c[z>>2]|0,0,0)|0;c[z>>2]=Qv(c[W>>2]|0,0,c[p>>2]|0,0,0,0,0,0,0,0)|0}if(c[z>>2]|0){a[(c[z>>2]|0)+4>>0]=c[(c[$>>2]|0)+-16+4>>2];c[(c[z>>2]|0)+48>>2]=c[s>>2];if(c[s>>2]|0){V=(c[s>>2]|0)+8|0;c[V>>2]=c[V>>2]&-1025}V=(c[z>>2]|0)+8|0;c[V>>2]=c[V>>2]&-1025;if((c[(c[$>>2]|0)+-16+4>>2]|0)!=116)a[(c[W>>2]|0)+22>>0]=1}else dv(c[c[W>>2]>>2]|0,c[s>>2]|0);c[(c[$>>2]|0)+-32+4>>2]=c[z>>2];break}case 84:case 82:{c[(c[$>>2]|0)+4>>2]=d[(c[$>>2]|0)+2>>0];break}case 83:{c[(c[$>>2]|0)+-16+4>>2]=116;break}case 85:{W=Qv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+4+4>>2]|0)|0;c[(c[$>>2]|0)+-128+4>>2]=W;break}case 86:{W=Qv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 87:{c[q>>2]=c[(c[$>>2]|0)+-64+4>>2];c[A>>2]=Qv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[q>>2]|0){W=(c[q>>2]|0)+8|0;c[W>>2]=c[W>>2]&-1025}if(c[A>>2]|0){a[(c[A>>2]|0)+4>>0]=116;c[(c[A>>2]|0)+48>>2]=c[q>>2];c[(c[$>>2]|0)+-64+4>>2]=c[A>>2];break a}else{c[(c[$>>2]|0)+-64+4>>2]=c[q>>2];break a}}case 88:{c[(c[$>>2]|0)+4>>2]=1;break}case 89:{c[(c[$>>2]|0)+4>>2]=2;break}case 205:case 199:case 126:case 119:case 91:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 92:{V=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-32+4>>2]=V;if((c[(c[$>>2]|0)+4+4>>2]|0)>>>0>0)Sv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+4|0,1);Tv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+-16+4|0);break}case 93:{c[m>>2]=Uv(c[c[W>>2]>>2]|0,158,0)|0;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[m>>2]|0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;break}case 94:{c[B>>2]=Cv(c[W>>2]|0,158,0,0,(c[$>>2]|0)+4|0)|0;c[r>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-32+4|0)|0;c[o>>2]=Cv(c[W>>2]|0,122,c[r>>2]|0,c[B>>2]|0,0)|0;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[o>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 220:case 219:case 106:case 95:{W=(c[$>>2]|0)+-16+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];break}case 97:{W=rh(c[c[W>>2]>>2]|0,80,0)|0;c[(c[$>>2]|0)+16+4>>2]=W;break}case 98:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];Vv(c[(c[$>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[$>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[$>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[$>>2]|0)+4>>2];break}case 100:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 101:{V=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,(c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=V;Wv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,(c[$>>2]|0)+-32+4|0);break}case 102:{V=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-128+4>>2]|0,(c[$>>2]|0)+-112+4|0,(c[$>>2]|0)+-96+4|0,(c[$>>2]|0)+-32+4|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-128+4>>2]=V;Xv(c[W>>2]|0,c[(c[$>>2]|0)+-128+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 103:{W=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,0,0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=W;break}case 104:{if((((c[(c[$>>2]|0)+-96+4>>2]|0)==0?(c[(c[$>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[$>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[$>>2]|0)+4>>2]|0)==0:0){c[(c[$>>2]|0)+-96+4>>2]=c[(c[$>>2]|0)+-64+4>>2];break a}if((c[c[(c[$>>2]|0)+-64+4>>2]>>2]|0)!=1){Vv(c[(c[$>>2]|0)+-64+4>>2]|0);c[E>>2]=Qv(c[W>>2]|0,0,c[(c[$>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;W=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,0,0,(c[$>>2]|0)+-32+4|0,c[E>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=W;break a}V=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,0,0,(c[$>>2]|0)+-32+4|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=V;if(c[(c[$>>2]|0)+-96+4>>2]|0){c[w>>2]=(c[(c[$>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[$>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[x>>2]=(c[(c[$>>2]|0)+-64+4>>2]|0)+8;c[(c[w>>2]|0)+8>>2]=c[(c[x>>2]|0)+8>>2];c[(c[w>>2]|0)+4>>2]=c[(c[x>>2]|0)+4>>2];c[(c[w>>2]|0)+20>>2]=c[(c[x>>2]|0)+20>>2];c[(c[x>>2]|0)+4>>2]=0;c[(c[x>>2]|0)+8>>2]=0;c[(c[x>>2]|0)+20>>2]=0}fv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[$>>2]|0)+16+4>>2]=0;c[(c[$>>2]|0)+16+4+4>>2]=0;break}case 107:{W=Yv(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;break}case 108:{c[(c[$>>2]|0)+4>>2]=1;break}case 109:{W=Zv(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,0,0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;break}case 110:{W=Zv(c[W>>2]|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-16+4|0,0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 111:{W=Zv(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 195:case 136:case 129:case 112:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 198:case 196:case 135:case 128:case 113:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 115:{W=(c[$>>2]|0)+-32+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];break}case 116:{c[(c[$>>2]|0)+-16+4>>2]=0;c[(c[$>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[$>>2]|0)+-48+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 144:case 118:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 121:{W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;_v(c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 122:{W=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;_v(c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 123:{c[(c[$>>2]|0)+4>>2]=0;break}case 124:{c[(c[$>>2]|0)+4>>2]=1;break}case 125:{c[(c[$>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[$>>2]|0)+16+4>>2]=0;c[(c[$>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];c[(c[$>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[$>>2]|0)+-48+4>>2]=c[(c[$>>2]|0)+-32+4>>2];c[(c[$>>2]|0)+-48+4+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 133:{c[(c[$>>2]|0)+-48+4+4>>2]=c[(c[$>>2]|0)+-32+4>>2];c[(c[$>>2]|0)+-48+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 134:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0,1);Wv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+-16+4|0);aw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 137:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,1);Wv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,(c[$>>2]|0)+-48+4|0);bw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,27781);cw(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0);break}case 138:{V=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;Sv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,(c[$>>2]|0)+-32+4|0,1);break}case 139:{c[T>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+4>>2]|0)|0;Sv(c[W>>2]|0,c[T>>2]|0,(c[$>>2]|0)+-32+4|0,1);c[(c[$>>2]|0)+-32+4>>2]=c[T>>2];break}case 140:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0,1);dw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 141:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,1);dw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0);break}case 145:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 146:{W=ew(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+4|0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 147:{W=ew(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+4|0)|0;c[(c[$>>2]|0)+4>>2]=W;break}case 148:{fw((c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 155:case 154:case 149:{U=(c[$>>2]|0)+4|0;V=c[W>>2]|0;W=d[(c[$>>2]|0)+2>>0]|0;g=(c[$>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Dv(U,V,W,h);break}case 151:case 150:{V=(c[$>>2]|0)+4|0;W=c[W>>2]|0;U=(c[$>>2]|0)+4|0;c[h>>2]=c[U>>2];c[h+4>>2]=c[U+4>>2];Dv(V,W,55,h);break}case 152:{c[F>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-32+4|0)|0;c[H>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+4|0)|0;fw((c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,122,c[F>>2]|0,c[H>>2]|0,0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 153:{c[G>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-64+4|0)|0;c[I>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-32+4|0)|0;c[J>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+4|0)|0;c[K>>2]=Cv(c[W>>2]|0,122,c[I>>2]|0,c[J>>2]|0,0)|0;fw((c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,122,c[G>>2]|0,c[K>>2]|0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 156:{if((a[c[(c[$>>2]|0)+4>>2]>>0]|0)==35?(d[19019+(d[(c[(c[$>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=(c[$>>2]|0)+4|0;c[U>>2]=c[h>>2];c[U+4>>2]=c[h+4>>2];fw((c[$>>2]|0)+4|0,U,U);h=c[W>>2]|0;if(!(d[(c[W>>2]|0)+18>>0]|0)){c[V>>2]=U;Ch(h,27078,V);c[(c[$>>2]|0)+4>>2]=0;break a}W=Cv(h,157,0,0,U)|0;c[(c[$>>2]|0)+4>>2]=W;if(!(c[(c[$>>2]|0)+4>>2]|0))break a;Oi((c[U>>2]|0)+1|0,(c[(c[$>>2]|0)+4>>2]|0)+28|0)|0;break a}U=(c[$>>2]|0)+4|0;V=c[W>>2]|0;g=(c[$>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Dv(U,V,135,h);gw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 157:{W=hw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+4|0,1)|0;c[(c[$>>2]|0)+-32+4>>2]=W;c[(c[$>>2]|0)+-32+4+8>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);break}case 158:{fw((c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,66,c[(c[$>>2]|0)+-48+4>>2]|0,0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-80+4>>2]=W;break}case 159:{if((c[(c[$>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[W>>2]>>2]|0)+92+24>>2]|0):0){V=c[W>>2]|0;c[Q>>2]=(c[$>>2]|0)+-64+4;Ch(V,27790,Q)}c[T>>2]=iw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,(c[$>>2]|0)+-64+4|0)|0;fw(T,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+4|0);if((c[(c[$>>2]|0)+-32+4>>2]|0)==1?(c[T>>2]|0)!=0:0){W=(c[T>>2]|0)+4|0;c[W>>2]=c[W>>2]|16}W=(c[$>>2]|0)+-64+4|0;c[W>>2]=c[T>>2];c[W+4>>2]=c[T+4>>2];c[W+8>>2]=c[T+8>>2];break}case 160:{c[T>>2]=iw(c[W>>2]|0,0,(c[$>>2]|0)+-48+4|0)|0;fw(T,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);W=(c[$>>2]|0)+-48+4|0;c[W>>2]=c[T>>2];c[W+4>>2]=c[T+4>>2];c[W+8>>2]=c[T+8>>2];break}case 161:{c[T>>2]=iw(c[W>>2]|0,0,(c[$>>2]|0)+4|0)|0;fw(T,(c[$>>2]|0)+4|0,(c[$>>2]|0)+4|0);W=(c[$>>2]|0)+4|0;c[W>>2]=c[T>>2];c[W+4>>2]=c[T+4>>2];c[W+8>>2]=c[T+8>>2];break}case 169:case 168:case 167:case 166:case 165:case 164:case 163:case 162:{jw(c[W>>2]|0,d[(c[$>>2]|0)+-16+2>>0]|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);break}case 170:{W=(c[$>>2]|0)+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[(c[$>>2]|0)+4+8>>2]=0;break}case 171:{W=(c[$>>2]|0)+-16+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[(c[$>>2]|0)+-16+4+8>>2]=1;break}case 172:{c[t>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+4>>2]|0)|0;c[t>>2]=Rv(c[W>>2]|0,c[t>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;V=iw(c[W>>2]|0,c[t>>2]|0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-32+4>>2]=V;kw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4+8>>2]|0,(c[$>>2]|0)+-32+4|0);c[(c[$>>2]|0)+-32+4+8>>2]=c[(c[$>>2]|0)+4+8>>2];if(c[(c[$>>2]|0)+-32+4>>2]|0){W=(c[(c[$>>2]|0)+-32+4>>2]|0)+4|0;c[W>>2]=c[W>>2]|128}break}case 173:{c[u>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[u>>2]=Rv(c[W>>2]|0,c[u>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0)|0;c[u>>2]=Rv(c[W>>2]|0,c[u>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;V=iw(c[W>>2]|0,c[u>>2]|0,(c[$>>2]|0)+-48+4|0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4+8>>2]|0,(c[$>>2]|0)+-64+4|0);c[(c[$>>2]|0)+-64+4+8>>2]=c[(c[$>>2]|0)+4+8>>2];if(c[(c[$>>2]|0)+-64+4>>2]|0){W=(c[(c[$>>2]|0)+-64+4>>2]|0)+4|0;c[W>>2]=c[W>>2]|128}break}case 174:{lw(c[W>>2]|0,d[(c[$>>2]|0)+2>>0]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 175:{lw(c[W>>2]|0,35,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);break}case 176:{jw(c[W>>2]|0,29,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);mw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,34);break}case 177:{jw(c[W>>2]|0,148,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);mw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,35);break}case 179:case 178:{nw((c[$>>2]|0)+-16+4|0,c[W>>2]|0,d[(c[$>>2]|0)+-16+2>>0]|0,(c[$>>2]|0)+4|0,(c[$>>2]|0)+-16+4|0);break}case 180:{nw((c[$>>2]|0)+-16+4|0,c[W>>2]|0,155,(c[$>>2]|0)+4|0,(c[$>>2]|0)+-16+4|0);break}case 181:{nw((c[$>>2]|0)+-16+4|0,c[W>>2]|0,156,(c[$>>2]|0)+4|0,(c[$>>2]|0)+-16+4|0);break}case 185:case 182:{c[(c[$>>2]|0)+4>>2]=0;break}case 184:{c[v>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[v>>2]=Rv(c[W>>2]|0,c[v>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;V=Cv(c[W>>2]|0,32,c[(c[$>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;if(c[(c[$>>2]|0)+-64+4>>2]|0)c[(c[(c[$>>2]|0)+-64+4>>2]|0)+20>>2]=c[v>>2];else cv(c[c[W>>2]>>2]|0,c[v>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+-64+4|0);c[(c[$>>2]|0)+-64+4+8>>2]=c[(c[$>>2]|0)+4+8>>2];break}case 187:{do if(!(c[(c[$>>2]|0)+-16+4>>2]|0)){gv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);W=Cv(c[W>>2]|0,132,0,0,5116+(c[(c[$>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W}else{if((c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)==1){c[y>>2]=c[c[(c[(c[$>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[$>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;cv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);if(c[y>>2]|0){V=(c[y>>2]|0)+4|0;c[V>>2]=c[V>>2]&-257;V=(c[y>>2]|0)+4|0;c[V>>2]=c[V>>2]|512}W=Cv(c[W>>2]|0,(c[(c[$>>2]|0)+-48+4>>2]|0)!=0?36:37,c[(c[$>>2]|0)+-64+4>>2]|0,c[y>>2]|0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}V=Cv(c[W>>2]|0,33,c[(c[$>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;if(c[(c[$>>2]|0)+-64+4>>2]|0){c[(c[(c[$>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[$>>2]|0)+-16+4>>2];ow(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0)}else cv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+-64+4|0)}while(0);c[(c[$>>2]|0)+-64+4+8>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);break}case 188:{fw((c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);V=Cv(c[W>>2]|0,119,0,0,0)|0;c[(c[$>>2]|0)+-32+4>>2]=V;pw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 189:{V=Cv(c[W>>2]|0,33,c[(c[$>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;pw(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+-64+4|0);c[(c[$>>2]|0)+-64+4+8>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);break}case 190:{c[D>>2]=Yv(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0)|0;c[C>>2]=Qv(c[W>>2]|0,0,c[D>>2]|0,0,0,0,0,0,0,0)|0;h=Cv(c[W>>2]|0,33,c[(c[$>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=h;pw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[C>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+-48+4|0);h=c[$>>2]|0;if(c[(c[$>>2]|0)+4>>2]|0)h=(c[(c[$>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[$>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4+8>>2]=h;break}case 191:{fw((c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);V=Cv(c[W>>2]|0,20,0,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=V;c[n>>2]=V;pw(c[W>>2]|0,c[n>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 192:{fw((c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+4|0);V=Cv(c[W>>2]|0,136,c[(c[$>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;if(!(c[(c[$>>2]|0)+-64+4>>2]|0)){cv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0);gv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break a}if(c[(c[$>>2]|0)+-16+4>>2]|0)h=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[$>>2]|0)+-32+4>>2]|0;c[(c[(c[$>>2]|0)+-64+4>>2]|0)+20>>2]=h;ow(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 193:{V=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 194:{V=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=V;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 197:{c[(c[$>>2]|0)+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 200:{W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 201:{W=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+4>>2]=W;break}case 202:{Gv(c[W>>2]|0,(c[$>>2]|0)+-112+4|0,(c[$>>2]|0)+-96+4|0,Yv(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+-64+4|0,0)|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-160+4>>2]|0,(c[$>>2]|0)+-176+4|0,c[(c[$>>2]|0)+4>>2]|0,0,c[(c[$>>2]|0)+-128+4>>2]|0)|0;break}case 244:case 203:{c[(c[$>>2]|0)+4>>2]=2;break}case 204:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 206:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 207:{W=qw(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 208:{W=qw(c[W>>2]|0,0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 211:{rw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 213:case 212:{sw(c[W>>2]|0);break}case 214:{tw(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0,0,0);break}case 215:{tw(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0,0);break}case 216:{tw(c[W>>2]|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-16+4|0,0);break}case 217:{tw(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0,1);break}case 218:{tw(c[W>>2]|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-16+4|0,1);break}case 221:{c[j>>2]=c[(c[$>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[$>>2]|0)+4>>2]|0)-(c[(c[$>>2]|0)+-48+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);uw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,j);break}case 222:{vw(c[W>>2]|0,(c[$>>2]|0)+-112+4|0,(c[$>>2]|0)+-96+4|0,c[(c[$>>2]|0)+-80+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-64+4+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-160+4>>2]|0,c[(c[$>>2]|0)+-128+4>>2]|0);h=(c[$>>2]|0)+-160+4|0;j=c[$>>2]|0;if(!(c[(c[$>>2]|0)+-96+4+4>>2]|0)){W=j+-112+4|0;c[h>>2]=c[W>>2];c[h+4>>2]=c[W+4>>2];break a}else{W=j+-96+4|0;c[h>>2]=c[W>>2];c[h+4>>2]=c[W+4>>2];break a}}case 223:{c[(c[$>>2]|0)+4>>2]=63;break}case 224:{c[(c[$>>2]|0)+4>>2]=59;break}case 225:{c[(c[$>>2]|0)+-16+4>>2]=77;break}case 226:{c[(c[$>>2]|0)+16+4>>2]=63;break}case 228:case 227:{c[(c[$>>2]|0)+4>>2]=d[(c[$>>2]|0)+2>>0];c[(c[$>>2]|0)+4+4>>2]=0;break}case 229:{c[(c[$>>2]|0)+-32+4>>2]=110;c[(c[$>>2]|0)+-32+4+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 249:case 230:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 250:case 231:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 232:{c[(c[(c[(c[$>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[$>>2]|0)+-16+4>>2];c[(c[(c[$>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 233:{c[(c[(c[$>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 234:{V=(c[$>>2]|0)+-32+4|0;U=(c[$>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];Ch(c[W>>2]|0,27824,R);break}case 235:{Ch(c[W>>2]|0,27919,O);break}case 236:{Ch(c[W>>2]|0,28003,P);break}case 237:{W=ww(c[c[W>>2]>>2]|0,(c[$>>2]|0)+-64+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]&255)|0;c[(c[$>>2]|0)+-96+4>>2]=W;break}case 238:{W=xw(c[c[W>>2]>>2]|0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]&255)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 239:{W=yw(c[c[W>>2]>>2]|0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 240:{W=zw(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+4>>2]=W;break}case 241:{fw((c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,83,0,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;if(c[(c[$>>2]|0)+-48+4>>2]|0)a[(c[(c[$>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 242:{fw((c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,83,0,0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-80+4>>2]=W;if(c[(c[$>>2]|0)+-80+4>>2]|0)a[(c[(c[$>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[$>>2]|0)+-48+4>>2];break}case 243:{c[(c[$>>2]|0)+4>>2]=1;break}case 245:{c[(c[$>>2]|0)+4>>2]=3;break}case 246:{Aw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 247:{Bw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 248:{Cw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 251:{Dw(c[W>>2]|0,0,0);break}case 252:{Dw(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 253:{Ew(c[W>>2]|0,0,0);break}case 254:{Ew(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 255:{Fw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+4|0);break}case 256:{c[(c[$>>2]|0)+-16+4+4>>2]=(c[(c[W>>2]|0)+508>>2]|0)-(c[(c[$>>2]|0)+-16+4>>2]|0)+(c[(c[W>>2]|0)+508+4>>2]|0);Gw(c[W>>2]|0,(c[$>>2]|0)+-16+4|0);break}case 257:{yv(c[W>>2]|0);Hw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 258:{Iw(c[W>>2]|0,0);break}case 259:{Iw(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 260:{Jw(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 261:{Kw(c[W>>2]|0);break}case 264:case 263:case 262:{Lw(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 265:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 266:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 267:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 268:{W=Mw(c[W>>2]|0,0,(c[$>>2]|0)+-80+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-80+4>>2]=W;break}case 269:{W=Mw(c[W>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,(c[$>>2]|0)+-80+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-112+4>>2]=W;break}default:{}}while(0);c[_>>2]=d[27102+(c[Y>>2]<<1)>>0];c[aa>>2]=d[27102+(c[Y>>2]<<1)+1>>0];c[Z>>2]=Nw(e[(c[$>>2]|0)+(0-(c[aa>>2]|0)<<4)>>1]|0,c[_>>2]&255)|0;if((c[Z>>2]|0)>974){$=c[X>>2]|0;c[$>>2]=(c[$>>2]|0)-(c[aa>>2]|0);Ow(c[X>>2]|0);i=ba;return}if((c[Z>>2]|0)>439)c[Z>>2]=(c[Z>>2]|0)+326;Y=c[X>>2]|0;c[Y>>2]=(c[Y>>2]|0)-((c[aa>>2]|0)-1);c[$>>2]=(c[$>>2]|0)+(0-((c[aa>>2]|0)-1)<<4);b[c[$>>2]>>1]=c[Z>>2];a[(c[$>>2]|0)+2>>0]=c[_>>2];i=ba;return}function qv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Ch(a,27078,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function rv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[b>>2]>>2]|0)<0)break;kv(c[b>>2]|0)}Ch(c[d>>2]|0,38156,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function sv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;k=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+68>>2]|0)==0:0){c[k>>2]=$w(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((zA(c[k>>2]|0,109)|0)!=0);jx(c[k>>2]|0,73)|0;if(!(d[(c[f>>2]|0)+69>>0]|0)){if((c[(c[e>>2]|0)+340>>2]|0)==0?(c[(c[e>>2]|0)+324>>2]|0)==0:0)break;Sz(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Jh(c[k>>2]|0,c[h>>2]|0),Gh(c[k>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+336>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+344+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+144+5>>0]|0)==0):0)Hh(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+456>>2]|0))break;c[l>>2]=Nx(c[f>>2]|0,c[(c[(c[e>>2]|0)+524>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;ex(c[k>>2]|0,150,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+456>>2]=0;sH(c[e>>2]|0);tH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+324>>2]|0){c[j>>2]=c[(c[e>>2]|0)+324>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;KA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Rz(c[k>>2]|0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+412>>2]|0)!=0?(c[(c[e>>2]|0)+72>>2]|0)==0:0)c[(c[e>>2]|0)+72>>2]=1;Lh(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}if(c[(c[e>>2]|0)+12>>2]|0){i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}function tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Yw(c[d>>2]|0,22,38086,0,0)|0){i=j;return}c[h>>2]=$w(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;bx(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Jh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);jx(c[h>>2]|0,1)|0;i=j;return}function uv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Yw(c[b>>2]|0,22,38109,0,0)|0){i=e;return}c[d>>2]=$w(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Kz(c[d>>2]|0,1,1)|0;i=e;return}function vv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Yw(c[b>>2]|0,22,38100,0,0)|0){i=e;return}c[d>>2]=$w(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}bx(c[d>>2]|0,1,1,1)|0;i=e;return}function wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Pw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=$w(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Yw(c[e>>2]|0,32,c[6352+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){ex(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function xv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+144+5>>0]|0)!=0?(c[(c[A>>2]|0)+144>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+144+4>>0];c[H>>2]=ph(c[A>>2]|0,(c[I>>2]|0)==1?20521:20540)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=Gz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Ch(c[w>>2]|0,37976,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Pw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+500|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Lx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+144+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Yw(c[w>>2]|0,18,(c[o>>2]|0)==1?20521:20540,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(Yw(c[w>>2]|0,d[38017+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+454>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(Cz(c[w>>2]|0)|0)break a;c[r>>2]=ri(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Ij(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Ch(I,38045,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){ox(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Ch(m,38021,G);break a}}while(0);c[r>>2]=rh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+68|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+488>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(OQ(c[H>>2]|0,29421)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+144+5>>0]|0){i=J;return}H=$w(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}nx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)jx(c[F>>2]|0,150)|0;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+392>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+76|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+396>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;fx(c[F>>2]|0,99,c[I>>2]|0,c[E>>2]|0,2)|0;Jh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Kz(c[F>>2]|0,21,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;fx(c[F>>2]|0,100,c[I>>2]|0,2,c[q>>2]|0)|0;fx(c[F>>2]|0,100,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Sz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)bx(m,74,0,c[D>>2]|0)|0;else{H=bx(m,132,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+424>>2]=H}rH(c[w>>2]|0,c[I>>2]|0);bx(c[F>>2]|0,112,0,c[C>>2]|0)|0;ex(c[F>>2]|0,79,6,c[E>>2]|0,0,38080,-2)|0;fx(c[F>>2]|0,113,0,c[E>>2]|0,c[C>>2]|0)|0;Hh(c[F>>2]|0,8);jx(c[F>>2]|0,109)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function yv(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function zv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+192|0;l=R+188|0;m=R+184|0;n=R+196|0;o=R+180|0;w=R+176|0;r=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+488>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+144+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+144>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Ch(c[k>>2]|0,37655,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Ch(H,37705,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;lH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Dh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)eH(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);mH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;hH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){c[G>>2]=$w(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Kz(c[G>>2]|0,109,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=33514;c[Q>>2]=37737}else{c[P>>2]=36615;c[Q>>2]=37743}do if(c[o>>2]|0){H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+76|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Ox(c[k>>2]|0);fx(c[G>>2]|0,103,1,c[(c[k>>2]|0)+396>>2]|0,c[t>>2]|0)|0;Hh(c[G>>2]|0,16);c[(c[k>>2]|0)+72>>2]=2;c[q>>2]=(Oz(c[G>>2]|0)|0)+1;fx(c[G>>2]|0,15,c[F>>2]|0,0,c[q>>2]|0)|0;kB(s,13,c[F>>2]|0);Nv(c[k>>2]|0,c[o>>2]|0,s)|0;KC(c[G>>2]|0,c[F>>2]|0);Sz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+68>>2]|0){i=R;return}c[C>>2]=Vx(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Kz(c[G>>2]|0,16,c[s+4>>2]|0)|0;fx(c[G>>2]|0,96,c[s+8>>2]|0,c[s+12>>2]|0,c[D>>2]|0)|0;NC(c[G>>2]|0,c[w>>2]|0,0);bx(c[G>>2]|0,112,1,c[E>>2]|0)|0;fx(c[G>>2]|0,113,1,c[D>>2]|0,c[E>>2]|0)|0;Rz(c[G>>2]|0,c[p>>2]|0)|0;Sz(c[G>>2]|0,c[p>>2]|0);Kz(c[G>>2]|0,109,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=nH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+508|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+500>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+500>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Eh(J,37748,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?20521:20540;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+396>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+392>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;_w(Q,37763,M);Tf(c[r>>2]|0,c[O>>2]|0);ax(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];_w(Q,37850,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];cx(O,P,Eh(Q,37892,K)|0)}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Sj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){lh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+488>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+500>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Px(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function Av(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+488>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+92+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Ch(u,37606,q);i=v;return}c[s>>2]=Ah(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}yR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Vw(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Ch(u,37629,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Qw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;yR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Vw(c[t>>2]|0);u=wx(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+328+4>>2]=0;i=v;return}function Bv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;gv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(kH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+144+5>>0]|0)|0){gv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-97;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Uw(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=Ay(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;gv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Ch(m,37561,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;gv(l,m);i=n;return}}function Cv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==28?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[m>>2]=nz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=pz(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;qz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Ry(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function Dv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;b=Cv(c[j>>2]|0,c[h>>2]|0,0,0,e)|0;c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+4>>2]=c[e>>2];c[(c[g>>2]|0)+8>>2]=(c[e>>2]|0)+(c[e+4>>2]|0);i=f;return}function Ev(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Fv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;q=z+40|0;p=z+36|0;m=z+32|0;l=z+28|0;n=z+24|0;o=z+20|0;r=z+16|0;x=z+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+488>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}if(d[(c[s>>2]|0)+454>>0]|0){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}if(d[(c[q>>2]|0)+42>>0]&4){x=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Ch(x,37464,k);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=dy(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;fH(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==55){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(ti(c[p>>2]|0,19018)|0,19375)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];y=(c[q>>2]|0)+42|0;a[y>>0]=d[y>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}a[(c[s>>2]|0)+452>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}h=c[s>>2]|0;if(c[v>>2]|0){Ch(h,37505,y);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}c[x>>2]=Gv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0)|0;if(c[x>>2]|0){y=(c[x>>2]|0)+55|0;a[y>>0]=a[y>>0]&-4|2}c[t>>2]=0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}function Gv(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=i;i=i+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;q=ya+332|0;r=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;c[F>>2]=f;c[q>>2]=g;c[r>>2]=h;c[ra>>2]=j;c[sa>>2]=k;c[la>>2]=l;c[G>>2]=m;c[ta>>2]=n;c[s>>2]=o;c[H>>2]=p;c[wa>>2]=0;c[oa>>2]=0;c[va>>2]=0;c[xa>>2]=0;c[ua>>2]=c[c[F>>2]>>2];c[W>>2]=0;c[O>>2]=0;c[ja>>2]=0;c[X>>2]=0;a:do if((((d[(c[ua>>2]|0)+69>>0]|0)==0?(d[(c[F>>2]|0)+454>>0]|0)==0:0)?(c[(c[F>>2]|0)+68>>2]|0)<=0:0)?0==(Cz(c[F>>2]|0)|0):0){p=c[F>>2]|0;if(c[ra>>2]|0){c[ma>>2]=Gz(p,c[q>>2]|0,c[r>>2]|0,W)|0;if((c[ma>>2]|0)<0)break;if(((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(c[oa>>2]=QB(c[F>>2]|0,c[ra>>2]|0)|0,(c[oa>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[ma>>2]=1;RB(x,c[F>>2]|0,c[ma>>2]|0,33679,c[W>>2]|0);SB(x,c[ra>>2]|0)|0;c[oa>>2]=lx(c[F>>2]|0,0,(c[ra>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[ma>>2]|0)==1?(c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){qa=c[F>>2]|0;c[y>>2]=c[c[oa>>2]>>2];Ch(qa,37030,y);break}if(d[(c[oa>>2]|0)+42>>0]&32)c[X>>2]=Hj(c[oa>>2]|0)|0}else{c[oa>>2]=c[p+488>>2];if(!(c[oa>>2]|0))break;c[ma>>2]=Dh(c[ua>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[T>>2]=(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);if(((zd(c[c[oa>>2]>>2]|0,28448,7)|0)==0?(d[(c[ua>>2]|0)+144+5>>0]|0)==0:0)?(zd((c[c[oa>>2]>>2]|0)+7|0,37080,9)|0)!=0:0){qa=c[F>>2]|0;c[C>>2]=c[c[oa>>2]>>2];Ch(qa,37090,C);break}if(c[(c[oa>>2]|0)+12>>2]|0){Ch(c[F>>2]|0,37118,D);break}if(d[(c[oa>>2]|0)+42>>0]&16){Ch(c[F>>2]|0,37143,z);break}if(c[W>>2]|0){c[xa>>2]=Pw(c[ua>>2]|0,c[W>>2]|0)|0;if(!(c[xa>>2]|0))break;if(Lx(c[F>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(ri(c[ua>>2]|0,c[xa>>2]|0,0)|0)!=0:0){qa=c[F>>2]|0;c[A>>2]=c[xa>>2];Ch(qa,37177,A);break}if(Ij(c[ua>>2]|0,c[xa>>2]|0,c[c[T>>2]>>2]|0)|0){p=c[F>>2]|0;if(c[H>>2]|0){ox(p,c[ma>>2]|0);break}else{c[$>>2]=c[xa>>2];Ch(p,37211,$);break}}}else{c[v>>2]=c[(c[oa>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}$=c[ua>>2]|0;H=c[t>>2]|0;c[B>>2]=c[c[oa>>2]>>2];c[B+4>>2]=H;c[xa>>2]=Eh($,37235,B)|0;if(!(c[xa>>2]|0))break}c[E>>2]=c[c[T>>2]>>2];if((Yw(c[F>>2]|0,18,(c[ma>>2]|0)==1?20521:20540,0,c[E>>2]|0)|0)==0?(c[I>>2]=1,c[I>>2]=(c[ma>>2]|0)==1?3:1,(Yw(c[F>>2]|0,c[I>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[E>>2]|0)|0)==0):0){if(!(c[sa>>2]|0)){Py(w,c[(c[(c[oa>>2]|0)+4>>2]|0)+((b[(c[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);$=c[F>>2]|0;c[sa>>2]=Rv($,0,pz(c[ua>>2]|0,55,w,0)|0)|0;if(!(c[sa>>2]|0))break;_v(c[sa>>2]|0,c[s>>2]|0)}else bw(c[F>>2]|0,c[sa>>2]|0,33679);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;c[u>>2]=c[(c[(c[sa>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2];if((d[c[u>>2]>>0]|0)==53){$=1+(Jf(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[O>>2]=(c[O>>2]|0)+$}c[I>>2]=(c[I>>2]|0)+1}c[Q>>2]=Jf(c[xa>>2]|0)|0;if(c[X>>2]|0)p=e[(c[X>>2]|0)+50>>1]|0;else p=1;c[P>>2]=p;c[va>>2]=UD(c[ua>>2]|0,(c[c[sa>>2]>>2]|0)+(c[P>>2]|0)&65535,(c[Q>>2]|0)+(c[O>>2]|0)+1|0,ja)|0;if(!(a[(c[ua>>2]|0)+69>>0]|0)){c[c[va>>2]>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+((c[Q>>2]|0)+1);yR(c[c[va>>2]>>2]|0,c[xa>>2]|0,(c[Q>>2]|0)+1|0)|0;c[(c[va>>2]|0)+12>>2]=c[oa>>2];a[(c[va>>2]|0)+54>>0]=c[la>>2];$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9|((c[la>>2]|0)!=0&1)<<3&255;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-4|((c[W>>2]|0)!=0?0:1)&3;c[(c[va>>2]|0)+24>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2];b[(c[va>>2]|0)+50>>1]=c[c[sa>>2]>>2];if(c[ta>>2]|0){eH(c[F>>2]|0,c[oa>>2]|0,2,c[ta>>2]|0,0);c[(c[va>>2]|0)+36>>2]=c[ta>>2];c[ta>>2]=0}if((d[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Z>>2]=-1;else c[Z>>2]=0;c[I>>2]=0;c[V>>2]=c[(c[sa>>2]|0)+4>>2];while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;fH(c[c[V>>2]>>2]|0);eH(c[F>>2]|0,c[oa>>2]|0,32,c[c[V>>2]>>2]|0,0);if(c[(c[F>>2]|0)+68>>2]|0)break a;c[R>>2]=dy(c[c[V>>2]>>2]|0)|0;if((d[c[R>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(c[(c[va>>2]|0)+40>>2]|0)){c[S>>2]=Iy(c[ua>>2]|0,c[sa>>2]|0,0)|0;c[(c[va>>2]|0)+40>>2]=c[S>>2];if(a[(c[ua>>2]|0)+69>>0]|0)break;c[V>>2]=(c[(c[S>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)}while(0);c[K>>2]=-2;b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-2;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}else{c[K>>2]=b[(c[R>>2]|0)+32>>1];do if((c[K>>2]|0)<0)c[K>>2]=b[(c[oa>>2]|0)+32>>1];else{if(d[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+12>>0]|0)break;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}while(0);b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[K>>2]}c[ia>>2]=0;do if((d[c[c[V>>2]>>2]>>0]|0)==53){c[ia>>2]=c[(c[c[V>>2]>>2]|0)+8>>2];c[N>>2]=(Jf(c[ia>>2]|0)|0)+1;yR(c[ja>>2]|0,c[ia>>2]|0,c[N>>2]|0)|0;c[ia>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+(c[N>>2]|0);c[O>>2]=(c[O>>2]|0)-(c[N>>2]|0)}else{if((c[K>>2]|0)<0)break;c[ia>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+8>>2]}while(0);if(!(c[ia>>2]|0))c[ia>>2]=35351;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(Qz(c[F>>2]|0,c[ia>>2]|0)|0)==0:0)break a;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[ia>>2];c[Y>>2]=d[(c[V>>2]|0)+12>>0]&c[Z>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=c[Y>>2];c[I>>2]=(c[I>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+20}if((qa|0)==65){Ch(c[F>>2]|0,37258,aa);break}b:do if(c[X>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[X>>2]|0)+50>>1]|0))break b;c[fa>>2]=b[(c[(c[X>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1];if(gH(c[(c[va>>2]|0)+4>>2]|0,e[(c[va>>2]|0)+50>>1]|0,c[fa>>2]|0)|0){ja=(c[va>>2]|0)+52|0;b[ja>>1]=(b[ja>>1]|0)+-1<<16>>16}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[fa>>2];c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[(c[X>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=a[(c[(c[X>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]|0;c[I>>2]=(c[I>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-1;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=35351}while(0);Gj(c[va>>2]|0);if(!(c[(c[F>>2]|0)+488>>2]|0))hH(c[va>>2]|0);c:do if(c[ra>>2]|0){if((e[(c[va>>2]|0)+52>>1]|0)<(b[(c[oa>>2]|0)+34>>1]|0))break;ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33|32;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[oa>>2]|0)+34>>1]|0))break c;if((c[K>>2]|0)!=(b[(c[oa>>2]|0)+32>>1]|0)?((HA(c[va>>2]|0,c[K>>2]&65535)|0)<<16>>16|0)<0:0)break;c[K>>2]=(c[K>>2]|0)+1}ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33}while(0);d:do if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){c[U>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break d;if((e[(c[U>>2]|0)+50>>1]|0)==(e[(c[va>>2]|0)+50>>1]|0)){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;if((b[(c[(c[U>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)!=(b[(c[(c[va>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0))break;c[ga>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];c[ha>>2]=c[(c[(c[va>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];if(ig(c[ga>>2]|0,c[ha>>2]|0)|0)break;c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(e[(c[U>>2]|0)+50>>1]|0))break}c[U>>2]=c[(c[U>>2]|0)+20>>2]}do if((d[(c[U>>2]|0)+54>>0]|0)!=(d[(c[va>>2]|0)+54>>0]|0)){do if((d[(c[U>>2]|0)+54>>0]|0)!=10){if((d[(c[va>>2]|0)+54>>0]|0)==10)break;qa=c[F>>2]|0;c[ba>>2]=0;Ch(qa,37319,ba)}while(0);if((d[(c[U>>2]|0)+54>>0]|0)!=10)break;a[(c[U>>2]|0)+54>>0]=a[(c[va>>2]|0)+54>>0]|0}while(0);c[wa>>2]=c[U>>2];break a}while(0);do if(a[(c[ua>>2]|0)+144+5>>0]|0){c[na>>2]=Sj((c[(c[va>>2]|0)+24>>2]|0)+24|0,c[c[va>>2]>>2]|0,c[va>>2]|0)|0;p=c[ua>>2]|0;if(c[na>>2]|0){lh(p);break a}na=p+24|0;c[na>>2]=c[na>>2]|2;if(!(c[ra>>2]|0))break;c[(c[va>>2]|0)+44>>2]=c[(c[ua>>2]|0)+144>>2]}else{if(!((c[ra>>2]|0)!=0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[F>>2]|0)+76|0;na=(c[ja>>2]|0)+1|0;c[ja>>2]=na;c[J>>2]=na;c[_>>2]=$w(c[F>>2]|0)|0;if(!(c[_>>2]|0))break a;nx(c[F>>2]|0,1,c[ma>>2]|0);na=jx(c[_>>2]|0,159)|0;c[(c[va>>2]|0)+44>>2]=na;bx(c[_>>2]|0,131,c[ma>>2]|0,c[J>>2]|0)|0;if(c[G>>2]|0){c[M>>2]=(c[(c[F>>2]|0)+508>>2]|0)-(c[c[W>>2]>>2]|0)+(c[(c[F>>2]|0)+508+4>>2]|0);if((a[(c[c[W>>2]>>2]|0)+((c[M>>2]|0)-1)>>0]|0)==59)c[M>>2]=(c[M>>2]|0)+-1;na=c[ua>>2]|0;ia=c[M>>2]|0;ja=c[c[W>>2]>>2]|0;c[ca>>2]=(c[la>>2]|0)==0?19018:37361;c[ca+4>>2]=ia;c[ca+8>>2]=ja;c[ka>>2]=Eh(na,37369,ca)|0}else c[ka>>2]=0;na=c[F>>2]|0;fa=(c[ma>>2]|0)==1?20521:20540;ga=c[c[va>>2]>>2]|0;ha=c[c[oa>>2]>>2]|0;ia=c[J>>2]|0;ja=c[ka>>2]|0;c[da>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)>>2];c[da+4>>2]=fa;c[da+8>>2]=ga;c[da+12>>2]=ha;c[da+16>>2]=ia;c[da+20>>2]=ja;_w(na,37389,da);Tf(c[ua>>2]|0,c[ka>>2]|0);if(c[ra>>2]|0){fA(c[F>>2]|0,c[va>>2]|0,c[J>>2]|0);ax(c[F>>2]|0,c[ma>>2]|0);ka=c[_>>2]|0;ma=c[ma>>2]|0;na=c[ua>>2]|0;c[ea>>2]=c[c[va>>2]>>2];cx(ka,ma,Eh(na,37437,ea)|0);Kz(c[_>>2]|0,148,0)|0}Sz(c[_>>2]|0,c[(c[va>>2]|0)+44>>2]|0)}while(0);if(!((c[ra>>2]|0)==0?1:(d[(c[ua>>2]|0)+144+5>>0]|0)!=0))break;do if((c[la>>2]|0)!=5)qa=139;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){qa=139;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=139;break}c[pa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[pa>>2]|0)+20>>2]|0)l=(d[(c[(c[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else l=0;p=c[(c[pa>>2]|0)+20>>2]|0;if(!l)break;c[pa>>2]=p}c[(c[va>>2]|0)+20>>2]=p;c[(c[pa>>2]|0)+20>>2]=c[va>>2]}while(0);if((qa|0)==139){c[(c[va>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[va>>2]}c[wa>>2]=c[va>>2];c[va>>2]=0}}}while(0);if(!(c[va>>2]|0)){qa=c[ua>>2]|0;va=c[ta>>2]|0;gv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;cv(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;fv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}iH(c[ua>>2]|0,c[va>>2]|0);qa=c[ua>>2]|0;va=c[ta>>2]|0;gv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;cv(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;fv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}function Hv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+488>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+454>>0]|0)==0:0)?(Hi(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+144+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Rv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+328+4>>2]|0)){i=k;return}Sv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+328|0,1);i=k;return}gv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Iv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+488>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+454>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Ch(D,36827,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Ch(c[p>>2]|0,36890,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=rh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];yR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Vw(c[C>>2]|0);c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Ch(D,36984,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];yR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Sj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){lh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);cv(c[t>>2]|0,c[q>>2]|0);cv(c[t>>2]|0,c[r>>2]|0);i=E;return}function Jv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+488>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Kv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+488>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Pw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Qz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Lv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(Cz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=lx(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;MB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Dh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Mx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?20521:20540;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Yw(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Nx(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Yw(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Yw(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,28448,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36620,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Ch(w,36632,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Ch(w,36660,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Ch(w,36694,t);break}c[q>>2]=$w(c[h>>2]|0)|0;if(c[q>>2]|0){nx(c[h>>2]|0,1,c[o>>2]|0);CC(c[h>>2]|0,c[o>>2]|0,31454,c[c[p>>2]>>2]|0);$G(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);aH(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);fv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Mv(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+444>>1]|0)<=0){xv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+488>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(Gz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Dh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,RB(v,c[w>>2]|0,c[s>>2]|0,36615,c[u>>2]|0),(TB(v,c[y>>2]|0)|0)==0):0)?(v=Tx(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=Iy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+508|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[19019+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;zv(c[w>>2]|0,0,B,0,0)}}else Ch(l,36579,D);dv(c[z>>2]|0,c[y>>2]|0);cv(c[z>>2]|0,c[x>>2]|0);i=D;return}function Nv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+256|0;Y=Ca+252|0;da=Ca+248|0;o=Ca+244|0;r=Ca+240|0;m=Ca+236|0;t=Ca+232|0;p=Ca+228|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+468>>2];h=(c[O>>2]|0)+472|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+468>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+68>>2]|0)==0:0){if(Yw(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){cv(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}ey(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if(((c[(c[O>>2]|0)+68>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1,(hG(c[O>>2]|0,c[Q>>2]|0,c[c[c[P>>2]>>2]>>2]|0)|0)==0):0){c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=17;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(iG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==17){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Ch(Ba,36094,w);break}c[Ba>>2]=$w(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=jG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+468>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;bx(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=kG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))lG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=43;break}if(c[(c[P>>2]|0)+8>>2]&2){y=43;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=43;break}c[j>>2]=(Oz(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;fx(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];kB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Nv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+8>>2];KC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Sz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);mG(c[O>>2]|0)}else y=43;while(0);if((y|0)==43){y=0;c[n>>2]=0;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=bx(c[Ba>>2]|0,74,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=fB(c[O>>2]|0)|0;kB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Nv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Sz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Kz(c[Ba>>2]|0,70,c[(c[p>>2]|0)+28>>2]|0)|0;JD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);mG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=kG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(Dy(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=Iy(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=nG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+72|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=ex(c[Ba>>2]|0,105,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)bx(c[Ba>>2]|0,105,c[(c[Q>>2]|0)+4>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Pz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;oG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){pG(c[Ba>>2]|0,c[ya+20>>2]|0,106);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+72|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=ex(w,105,y,0,0,nG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Hh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?1024:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=cD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(qG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=qG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(rG(c[pa>>2]|0)|0))break;a[xa+1>>0]=rG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=sG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;CA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=tG(c[pa>>2]|0)|0;vG(ta,ua,va,-1,ya,xa,za,Aa,uG(c[pa>>2]|0)|0);dD(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(Dy(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Pz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];wG(M,c[ka>>2]|0);wG(M,c[ya>>2]|0);if(c[ma>>2]|0)xG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;wG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+76>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+72|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=nG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=ex(c[Ba>>2]|0,106,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Pz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Pz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);bx(c[Ba>>2]|0,74,0,c[aa>>2]|0)|0;bx(c[Ba>>2]|0,74,0,c[ea>>2]|0)|0;fx(c[Ba>>2]|0,77,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;bx(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=cD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(256|((c[ia>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=sG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;yG(c[O>>2]|0,g?36134:36143);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=xA(c[O>>2]|0,c[ga>>2]|0)|0;rC(c[O>>2]|0);TA(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);ID(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=hA(c[O>>2]|0)|0;fx(c[Ba>>2]|0,96,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;bx(c[Ba>>2]|0,123,c[wa+4>>2]|0,c[ua>>2]|0)|0;lA(c[O>>2]|0,c[ua>>2]|0);AA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);dD(c[pa>>2]|0);sa=(c[O>>2]|0)+72|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=hA(c[O>>2]|0)|0;fx(c[Ba>>2]|0,108,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;bx(c[Ba>>2]|0,42,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;rC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(zG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;CA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=Oz(c[Ba>>2]|0)|0;rC(c[O>>2]|0);if(c[Z>>2]|0)fx(c[Ba>>2]|0,118,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)fx(c[Ba>>2]|0,94,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;KA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;ex(sa,93,ua,za,Aa,gA(c[na>>2]|0)|0,-6)|0;c[R>>2]=Oz(c[Ba>>2]|0)|0;fx(c[Ba>>2]|0,18,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;AG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);bx(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;bx(c[Ba>>2]|0,64,c[aa>>2]|0,c[S>>2]|0)|0;bx(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Sz(c[Ba>>2]|0,c[R>>2]|0);BG(c[O>>2]|0,wa);bx(c[Ba>>2]|0,74,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)bx(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{dD(c[pa>>2]|0);CA(c[Ba>>2]|0,c[W>>2]|0)|0}bx(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Rz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=Oz(c[Ba>>2]|0)|0;bx(c[Ba>>2]|0,74,1,c[aa>>2]|0)|0;Kz(c[Ba>>2]|0,70,c[ta>>2]|0)|0;Tz(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=Oz(c[Ba>>2]|0)|0;bx(c[Ba>>2]|0,64,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Kz(c[Ba>>2]|0,70,c[ta>>2]|0)|0;CG(c[O>>2]|0,wa);YA(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);vG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Kz(c[Ba>>2]|0,70,c[ta>>2]|0)|0;Tz(c[Ba>>2]|0,c[U>>2]|0);DG(c[O>>2]|0,wa);Kz(c[Ba>>2]|0,70,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=EG(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Dh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+72|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];ox(c[O>>2]|0,c[D>>2]|0);Lz(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Hj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=aA(c[O>>2]|0,c[F>>2]|0)|0}Gh(c[Ba>>2]|0,102,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Kh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);bx(c[Ba>>2]|0,98,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Kz(c[Ba>>2]|0,109,c[C>>2]|0)|0;FG(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=GG(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=Iy(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);DG(c[O>>2]|0,wa);c[pa>>2]=cD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){cv(c[Y>>2]|0,c[G>>2]|0);break}BG(c[O>>2]|0,wa);if((sG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Rz(Aa,uG(c[pa>>2]|0)|0)|0}dD(c[pa>>2]|0);CG(c[O>>2]|0,wa)}c[ya>>2]=0;YA(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);vG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);cv(c[Y>>2]|0,c[G>>2]|0)}Tz(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)yG(c[O>>2]|0,36134);if(c[ya>>2]|0){yG(c[O>>2]|0,(c[ya+4>>2]|0)>0?36152:36175);HG(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}Tz(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+68>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+468>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)IG(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|256;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024){i=l;return}a=c[(c[c[d>>2]>>2]|0)+92+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Ch(c[d>>2]|0,36060,k);i=l;return}function Pv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?36015:36018;Ch(j,36024,v)}else w=4;if(((w|0)==4?(c[m>>2]=Yv(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Pw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}gv(c[t>>2]|0,c[r>>2]|0);iv(c[t>>2]|0,c[s>>2]|0);dv(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Qv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Rw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Rv(l,0,Uv(c[y>>2]|0,158,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=rh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}ev(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Rw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Rw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Qw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){gv(c[j>>2]|0,c[h>>2]|0);cv(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Uw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}Vw(c[(c[k>>2]|0)+4>>2]|0);i=l;return}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Uw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=pz(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Vv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Pw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Xv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{cv(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function Yv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Rw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=gG(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){fv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Pw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Pw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Zv(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35859+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35880+(d[35859+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35859+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Ch(c[g>>2]|0,35960,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35914;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Ch(t,35916,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function _v(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function $v(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+536>>2];c[(c[f>>2]|0)+536>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+540>>2]=c[g>>2];i=j;return}function aw(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;n=Y+144|0;O=Y+140|0;Q=Y+136|0;o=Y+132|0;M=Y+128|0;W=Y+120|0;r=Y+88|0;l=Y+84|0;S=Y+80|0;q=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;m=Y+52|0;p=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;j=Y+28|0;x=Y+24|0;R=Y+20|0;E=Y+16|0;s=Y+184|0;k=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;c[H>>2]=f;c[I>>2]=g;c[J>>2]=h;c[O>>2]=0;c[Q>>2]=0;c[S>>2]=-1;c[K>>2]=0;c[m>>2]=0;b[p>>1]=1;c[P>>2]=0;c[C>>2]=0;c[v>>2]=0;c[L>>2]=0;c[j>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[M>>2]=c[c[H>>2]>>2];a:do if(((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[M>>2]|0)+69>>0]|0)==0:0)?(c[V>>2]=QB(c[H>>2]|0,c[I>>2]|0)|0,(c[V>>2]|0)!=0):0){c[E>>2]=FC(c[H>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[E>>2]|0)f=1;else f=(RE(c[H>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[x>>2]=f&1;if(((Mx(c[H>>2]|0,c[V>>2]|0)|0)==0?(GC(c[H>>2]|0,c[V>>2]|0,(c[E>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Dh(c[M>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[t>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[q>>2]=Yw(c[H>>2]|0,9,c[c[V>>2]>>2]|0,0,c[t>>2]|0)|0,(c[q>>2]|0)!=1):0){h=(c[H>>2]|0)+72|0;t=c[h>>2]|0;c[h>>2]=t+1;c[(c[I>>2]|0)+8+44>>2]=t;c[n>>2]=t;c[o>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break;t=(c[H>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[R>>2]|0)bG(c[H>>2]|0,W,c[c[V>>2]>>2]|0);c[X>>2]=$w(c[H>>2]|0)|0;if(c[X>>2]|0){if(!(d[(c[H>>2]|0)+18>>0]|0))HC(c[X>>2]|0);nx(c[H>>2]|0,1,c[l>>2]|0);if(c[R>>2]|0){cG(c[H>>2]|0,c[V>>2]|0,c[J>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[Q>>2]=t;c[O>>2]=t};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[H>>2];c[r+4>>2]=c[I>>2];if(!(sy(r,c[J>>2]|0)|0)){if(c[(c[M>>2]|0)+24>>2]&128){h=(c[H>>2]|0)+76|0;t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[S>>2]=t;bx(c[X>>2]|0,74,0,c[S>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[J>>2]|0)==0^1|(c[x>>2]|0)!=0)?(d[(c[V>>2]|0)+42>>0]&16|0)==0:0){Lz(c[H>>2]|0,c[l>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))ex(c[X>>2]|0,129,c[(c[V>>2]|0)+28>>2]|0,c[l>>2]|0,c[S>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break b;bx(c[X>>2]|0,129,c[(c[T>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){b[s>>1]=-32756;if(e[r+28>>1]&64)c[x>>2]=1;b[s>>1]=e[s>>1]|((c[x>>2]|0)!=0?0:8192);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[U>>2]=0;b[p>>1]=1;t=(c[H>>2]|0)+76|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[C>>2]=u;bx(c[X>>2]|0,77,0,c[C>>2]|0)|0}else{c[U>>2]=Hj(c[V>>2]|0)|0;b[p>>1]=b[(c[U>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;t=(c[H>>2]|0)+76|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[H>>2]|0)+72|0;u=c[t>>2]|0;c[t>>2]=u+1;c[P>>2]=u;c[j>>2]=bx(c[X>>2]|0,105,c[P>>2]|0,b[p>>1]|0)|0;Nz(c[H>>2]|0,c[U>>2]|0)}c[G>>2]=cD(c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[G>>2]|0))break a;c[z>>2]=eG(c[G>>2]|0,w)|0;if(c[(c[M>>2]|0)+24>>2]&128)bx(c[X>>2]|0,89,c[S>>2]|0,1)|0;do if(c[U>>2]|0){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(b[p>>1]|0))break;GA(c[X>>2]|0,c[V>>2]|0,c[n>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[N>>2]|0)|0);c[N>>2]=(c[N>>2]|0)+1}c[B>>2]=c[m>>2]}else{c[B>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;c[B>>2]=MA(c[H>>2]|0,c[V>>2]|0,-1,c[n>>2]|0,c[B>>2]|0,0)|0;if((c[B>>2]|0)<=(c[(c[H>>2]|0)+76>>2]|0))break;c[(c[H>>2]|0)+76>>2]=c[B>>2]}while(0);do if(!(c[z>>2]|0))if(c[U>>2]|0){r=(c[H>>2]|0)+76|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[B>>2]=q;b[D>>1]=0;q=c[X>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[B>>2]|0;u=pC(c[c[H>>2]>>2]|0,c[U>>2]|0)|0;ex(q,96,r,s,t,u,b[p>>1]|0)|0;bx(c[X>>2]|0,124,c[P>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=1;bx(c[X>>2]|0,140,c[C>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[K>>2]=Rw(c[M>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[K>>2]|0)){dD(c[G>>2]|0);break a}AR(c[K>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[K>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[w>>2]|0)>=0)a[(c[K>>2]|0)+((c[w>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[w+4>>2]|0)>=0)a[(c[K>>2]|0)+((c[w+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;CA(c[X>>2]|0,c[j>>2]|0)|0}while(0);if(c[z>>2]|0)c[v>>2]=Pz(c[X>>2]|0)|0;else dD(c[G>>2]|0);do if(!(c[R>>2]|0)){c[k>>2]=0;if((c[z>>2]|0)==2)c[k>>2]=fB(c[H>>2]|0)|0;sC(c[H>>2]|0,c[V>>2]|0,103,8,c[n>>2]|0,c[K>>2]|0,O,Q)|0;if((c[z>>2]|0)!=2)break;Sz(c[X>>2]|0,c[k>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){c[L>>2]=Kz(f,55,c[P>>2]|0)|0;bx(c[X>>2]|0,119,c[P>>2]|0,c[B>>2]|0)|0;break}else{c[L>>2]=fx(f,60,c[C>>2]|0,0,c[B>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(d[(c[K>>2]|0)+((c[O>>2]|0)-(c[n>>2]|0))>>0]|0))break;Gh(c[X>>2]|0,30,c[O>>2]|0,c[v>>2]|0,c[B>>2]|0,b[D>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16){c[F>>2]=Nx(c[M>>2]|0,c[V>>2]|0)|0;RC(c[H>>2]|0,c[V>>2]|0);ex(c[X>>2]|0,12,0,1,c[B>>2]|0,c[F>>2]|0,-10)|0;Hh(c[X>>2]|0,2);Ox(c[H>>2]|0);if((c[z>>2]|0)!=1)break;if(c[(c[H>>2]|0)+416>>2]|0)break;a[(c[H>>2]|0)+20>>0]=0}else{c[y>>2]=(d[(c[H>>2]|0)+18>>0]|0)==0&1;c[A>>2]=-1;do if(!(c[x>>2]|0)){if((c[w+4>>2]|0)==(c[O>>2]|0))break;c[A>>2]=c[w+4>>2]}while(0);TE(c[H>>2]|0,c[V>>2]|0,c[E>>2]|0,c[O>>2]|0,c[Q>>2]|0,c[B>>2]|0,b[D>>1]|0,c[y>>2]&255,10,c[z>>2]&255,c[A>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){bx(f,7,c[P>>2]|0,(c[L>>2]|0)+1|0)|0;Sz(c[X>>2]|0,c[L>>2]|0);break}else{Rz(f,c[L>>2]|0)|0;Sz(c[X>>2]|0,c[L>>2]|0);break}}else{Tz(c[X>>2]|0,c[v>>2]|0);dD(c[G>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(c[U>>2]|0))Kz(c[X>>2]|0,109,c[O>>2]|0)|0;c[N>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break c;Kz(c[X>>2]|0,109,(c[Q>>2]|0)+(c[N>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)VC(c[H>>2]|0);if(((c[(c[M>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){bx(c[X>>2]|0,85,c[S>>2]|0,1)|0;$B(c[X>>2]|0,1);aC(c[X>>2]|0,0,0,35846,0)|0}}}}}while(0);fG(W);fv(c[M>>2]|0,c[I>>2]|0);gv(c[M>>2]|0,c[J>>2]|0);Tf(c[M>>2]|0,c[K>>2]|0);i=Y;return}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+92+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Ch(d,35823,j);i=k;return}function cw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+68>>2]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[ka>>2]=QB(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[l>>2]=Dh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=FC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Mx(c[X>>2]|0,c[ka>>2]|0)|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(GC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}g=(c[X>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Hj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+72>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Rw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);AR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(sy(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(si(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=20511;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=Yw(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Ch(na,24760,q);a[(c[X>>2]|0)+17>>0]=1;fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=RE(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=$w(c[X>>2]|0)|0;if(!(c[na>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))HC(c[na>>2]|0);nx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+76|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)bG(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)cG(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(sy(p,c[_>>2]|0)|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){dG(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){fx(c[na>>2]|0,77,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=cD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,-32764,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[R>>2]=eG(c[x>>2]|0,s)|0;bx(c[na>>2]|0,121,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))bx(c[na>>2]|0,140,c[A>>2]|0,c[V>>2]|0)|0;dD(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+76|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+72|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;bx(c[na>>2]|0,77,0,c[u>>2]|0)|0;c[r>>2]=bx(c[na>>2]|0,105,c[fa>>2]|0,b[w>>1]|0)|0;Nz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=cD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[R>>2]=eG(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;GA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){CA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=pC(c[ca>>2]|0,c[ja>>2]|0)|0;ex(k,96,p,q,r,u,b[w>>1]|0)|0;bx(c[na>>2]|0,124,c[fa>>2]|0,c[T>>2]|0)|0}dD(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+420>>2]|0)==0:0){w=(c[X>>2]|0)+76|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;bx(c[na>>2]|0,74,0,c[la>>2]|0)|0}c[ha>>2]=Pz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)AR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}AR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);sC(c[X>>2]|0,c[ka>>2]|0,103,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Pz(k)|0;bx(c[na>>2]|0,55,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=bx(c[na>>2]|0,119,c[fa>>2]|0,c[T>>2]|0)|0;Gh(c[na>>2]|0,30,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=fx(k,60,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;fx(c[na>>2]|0,32,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Gh(c[na>>2]|0,30,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];bx(c[na>>2]|0,34,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){KA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Kz(c[na>>2]|0,17,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=WE(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=VE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}bx(c[na>>2]|0,77,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;GA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;bx(c[na>>2]|0,82,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=VE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))bx(c[na>>2]|0,77,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){KA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;bx(c[na>>2]|0,77,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);ID(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){NC(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);OC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Gh(k,30,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else fx(k,32,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;GA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;SC(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)TC(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Gh(k,30,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=fx(k,32,h,0,c[V>>2]|0)|0;break}}while(0);UE(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))bx(c[na>>2]|0,115,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Sz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)TC(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);UC(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;XE(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+420>>2]|0)break;bx(c[na>>2]|0,89,c[la>>2]|0,1)|0}while(0);OC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){Tz(h,k);bx(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Rz(h,k)|0;break}}while(0);Tz(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)bx(c[na>>2]|0,109,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))bx(c[na>>2]|0,109,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+420>>2]|0)break;VC(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+420>>2]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}bx(c[na>>2]|0,85,c[la>>2]|0,1)|0;$B(c[na>>2]|0,1);aC(c[na>>2]|0,0,0,35810,0)|0;fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}else if((J|0)==185){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}} -function $C(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=$w(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=bx(c[M>>2]|0,63,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=aD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Uv(c[v>>2]|0,55,c[N>>2]|0)|0;c[B>>2]=Cv(c[n>>2]|0,37,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=nz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=aD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=bD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=Cv(c[n>>2]|0,36,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Hj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=aD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=bD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=Cv(c[n>>2]|0,37,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=nz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=Cv(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=nz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];sy(L,c[K>>2]|0)|0;c[J>>2]=cD(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;bx(c[M>>2]|0,142,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)dD(c[J>>2]|0);gv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Sz(c[M>>2]|0,c[z>>2]|0);i=O;return}function aD(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Uv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Oy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function bD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Uv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function cD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Ch(ba,34925,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=816+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=rh(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[(c[W>>2]|0)+60+4>>2]=-1;c[(c[W>>2]|0)+60>>2]=-1;a[(c[W>>2]|0)+43>>0]=c[I>>2];c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];l=Pz(c[_>>2]|0)|0;c[(c[W>>2]|0)+48>>2]=l;c[(c[W>>2]|0)+52>>2]=l;b[(c[W>>2]|0)+36>>1]=b[v>>1]|0;b[(c[W>>2]|0)+34>>1]=c[w>>2];c[(c[W>>2]|0)+56>>2]=c[(c[r>>2]|0)+428>>2];c[R>>2]=(c[W>>2]|0)+68;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+328;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);kD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;nD((c[W>>2]|0)+328|0,c[W>>2]|0);oD((c[W>>2]|0)+328|0,c[o>>2]|0,28);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(qB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){YA(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+52>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+20|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+38>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[W>>2]|0)+42>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;pD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);qD(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+328|0);c[G>>2]=(c[G>>2]|0)+1}rD(c[s>>2]|0,(c[W>>2]|0)+328|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&1024){if(sD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+42>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+36|0;b[t>>1]=e[t>>1]|512;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(tD(Y)|0)!=0:0)){c[X>>2]=uD(Y)|0;if(c[X>>2]|0)break;vD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(vD(c[W>>2]|0,(b[(c[W>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+24|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+68>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+43>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=wD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=wD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+43>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+736+(((d[(c[W>>2]|0)+43>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+43|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+428|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+32>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8192))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+40>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8192)a[z>>0]=8;c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+736;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Dh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Nx(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];ex(c[_>>2]|0,153,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[K>>2]=102;if(d[(c[W>>2]|0)+40>>0]|0){c[K>>2]=103;c[(c[W>>2]|0)+60>>2]=c[(c[T>>2]|0)+44>>2]}Mz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+40>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=xR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Kh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Hh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Lz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+4>>2];c[L>>2]=102;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&64)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(d[(c[W>>2]|0)+40>>0]|0){c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=103;c[(c[W>>2]|0)+60+4>>2]=c[F>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[F>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[L>>2]=101;break d}while(0);Z=(c[r>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;fx(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Nz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+36>>1]&1)break;Hh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)ox(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=Oz(c[_>>2]|0)|0;c[(c[W>>2]|0)+44>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+736+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,xD(c[r>>2]|0,(c[W>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=yD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=Oz(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=zD(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+48>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&64|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+428>>2]=c[(c[W>>2]|0)+56>>2];fD(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function dD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;l=D+76|0;u=D+72|0;z=D+68|0;n=D+64|0;r=D+60|0;s=D+56|0;y=D+52|0;m=D+48|0;h=D+44|0;k=D+40|0;j=D+36|0;o=D+32|0;p=D+28|0;t=D+24|0;q=D+20|0;x=D+16|0;w=D+12|0;A=D+8|0;B=D+4|0;v=D;c[l>>2]=f;c[u>>2]=c[c[l>>2]>>2];c[z>>2]=c[(c[u>>2]|0)+8>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[m>>2]=c[c[u>>2]>>2];rC(c[u>>2]|0);c[n>>2]=(d[(c[l>>2]|0)+43>>0]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[r>>2]=(c[l>>2]|0)+736+((c[n>>2]|0)*80|0);c[s>>2]=c[(c[r>>2]|0)+64>>2];Tz(c[z>>2]|0,c[(c[r>>2]|0)+24>>2]|0);if((d[(c[r>>2]|0)+45>>0]|0)!=159){fx(c[z>>2]|0,d[(c[r>>2]|0)+45>>0]|0,c[(c[r>>2]|0)+48>>2]|0,c[(c[r>>2]|0)+52>>2]|0,d[(c[r>>2]|0)+46>>0]|0)|0;Hh(c[z>>2]|0,a[(c[r>>2]|0)+47>>0]|0)}a:do if((c[(c[s>>2]|0)+36>>2]&2048|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)>0:0){Tz(c[z>>2]|0,c[(c[r>>2]|0)+16>>2]|0);c[j>>2]=c[(c[r>>2]|0)+56>>2];c[k>>2]=(c[(c[r>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Sz(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);bx(c[z>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;Sz(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}}while(0);Tz(c[z>>2]|0,c[(c[r>>2]|0)+12>>2]|0);if(c[(c[r>>2]|0)+20>>2]|0){Rz(c[z>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0;Sz(c[z>>2]|0,c[(c[r>>2]|0)+20>>2]|0);Sz(c[z>>2]|0,(c[(c[r>>2]|0)+20>>2]|0)-2|0)}if(c[(c[r>>2]|0)+40>>2]|0)bx(c[z>>2]|0,66,(c[(c[r>>2]|0)+36>>2]|0)>>>1,c[(c[r>>2]|0)+40>>2]|0)|0;if(c[c[r>>2]>>2]|0){c[h>>2]=Kz(c[z>>2]|0,64,c[c[r>>2]>>2]|0)|0;if(!(c[(c[s>>2]|0)+36>>2]&64))Kz(c[z>>2]|0,122,c[(c[y>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)|0;if(c[(c[s>>2]|0)+36>>2]&512)Kz(c[z>>2]|0,122,c[(c[r>>2]|0)+8>>2]|0)|0;f=c[z>>2]|0;g=c[r>>2]|0;if((d[(c[r>>2]|0)+45>>0]|0)==70)bx(f,14,c[g+48>>2]|0,c[(c[r>>2]|0)+28>>2]|0)|0;else Rz(f,c[g+28>>2]|0)|0;Sz(c[z>>2]|0,c[h>>2]|0)}c[n>>2]=(c[n>>2]|0)+-1}Tz(c[z>>2]|0,c[(c[l>>2]|0)+52>>2]|0);c[n>>2]=0;c[r>>2]=(c[l>>2]|0)+736;while(1){if((c[n>>2]|0)>=(d[(c[l>>2]|0)+43>>0]|0))break;c[q>>2]=0;c[x>>2]=(c[y>>2]|0)+8+((d[(c[r>>2]|0)+44>>0]|0)*72|0);c[w>>2]=c[(c[x>>2]|0)+16>>2];c[s>>2]=c[(c[r>>2]|0)+64>>2];if(((d[(c[x>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[m>>2]|0)+69>>0]|0)==0:0)eD(c[z>>2]|0,c[(c[r>>2]|0)+32>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[(c[x>>2]|0)+32>>2]|0,0);else C=29;b:do if((C|0)==29){C=0;if(((d[(c[w>>2]|0)+42>>0]&2|0)==0?(c[(c[w>>2]|0)+12>>2]|0)==0:0)?(e[(c[l>>2]|0)+36>>1]&16|0)==0:0){c[A>>2]=c[(c[s>>2]|0)+36>>2];if((d[(c[l>>2]|0)+40>>0]|0)==0?(c[A>>2]&64|0)==0:0)Kz(c[z>>2]|0,109,c[(c[x>>2]|0)+44>>2]|0)|0;if(((c[A>>2]&512|0)!=0?(c[A>>2]&16640|0)==0:0)?(c[(c[r>>2]|0)+8>>2]|0)!=(c[(c[l>>2]|0)+60+4>>2]|0):0)Kz(c[z>>2]|0,109,c[(c[r>>2]|0)+8>>2]|0)|0}f=c[s>>2]|0;if(!(c[(c[s>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[q>>2]=c[(c[r>>2]|0)+56>>2]}else c[q>>2]=c[f+24+4>>2];if(c[q>>2]|0){if((d[(c[l>>2]|0)+40>>0]|0)!=0?(d[(c[(c[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[m>>2]|0)+69>>0]|0)){c[p>>2]=Oz(c[z>>2]|0)|0;c[o>>2]=c[(c[r>>2]|0)+32>>2];c[t>>2]=Zz(c[z>>2]|0,c[o>>2]|0)|0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break b;do if((c[(c[t>>2]|0)+4>>2]|0)==(c[(c[r>>2]|0)+4>>2]|0)){f=c[t>>2]|0;if((d[c[t>>2]>>0]|0)!=94){if((d[f>>0]|0)!=121)break;c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2];a[c[t>>2]>>0]=127;break}c[B>>2]=c[f+8>>2];if(d[(c[w>>2]|0)+42>>0]&32){c[v>>2]=Hj(c[w>>2]|0)|0;c[B>>2]=b[(c[(c[v>>2]|0)+4>>2]|0)+(c[B>>2]<<1)>>1]}c[B>>2]=(HA(c[q>>2]|0,c[B>>2]&65535)|0)<<16>>16;if((c[B>>2]|0)>=0){c[(c[t>>2]|0)+8>>2]=c[B>>2];c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2]}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}}}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+80}c[(c[u>>2]|0)+428>>2]=c[(c[l>>2]|0)+56>>2];fD(c[m>>2]|0,c[l>>2]|0);i=D;return}function eD(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=Zz(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=Oz(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==94){a[h>>0]=82;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==121){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=89;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=77;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function fD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+43>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+736+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}gD((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[h>>2]|0)+52>>2];hD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function gD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+20>>1]|0)&1)gv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+20>>1]|0)&16)){if((e[(c[d>>2]|0)+20>>1]|0)&32)mD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0)}else lD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function hD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;iD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function iD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);jD(c[d>>2]|0,c[e>>2]|0);kD(c[e>>2]|0);i=f;return}function jD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function kD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function lD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;gD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function mD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;gD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function nD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function oD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=dy(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){BE(f,c[h>>2]|0,0)|0;i=l;return}else{oD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);oD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function qD(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=Cv(f,152,0,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=Cv(a,37,f,Ay(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;BE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Ch(f,35365,q);i=r;return}else if((e|0)==13){i=r;return}}function rD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;xE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function sD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=dy(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(KD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((wE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(oE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function tD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+328;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=KD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=KD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=mE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+4>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+736+64>>2]=c[o>>2];q=AD((c[s>>2]|0)+68|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+736+4>>2]=c[j>>2];b[(c[s>>2]|0)+32>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+38>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&1024)a[(c[s>>2]|0)+42>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function uD(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+43>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];kD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=AD((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=AD((c[n>>2]|0)+68|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=$D(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=aE(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=bE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){iD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function vD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=i;i=i+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;r=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;n=U+104|0;p=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;k=U+80|0;m=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;j=U+60|0;l=U+56|0;S=U+52|0;h=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;o=U+148|0;q=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+43>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=Rw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];AR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+428>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+428>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[R>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=XD(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=XD(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=YD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+36>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=ZD(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=XD(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;yR(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Ch(c[z>>2]|0,35273,E);Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*80|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+36>>1]&1024|0)!=0?(e[(c[N>>2]|0)+36>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+42>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(YD(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+42>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+36>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+42>>0]=2}else{a[(c[N>>2]|0)+38>>0]=g;if((a[(c[N>>2]|0)+38>>0]|0)<0)a[(c[N>>2]|0)+38>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+36>>1]&2048|0)!=0?((c[P>>2]|0)>0?(a[(c[N>>2]|0)+38>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(YD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+39>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function wD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=VD(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function xD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=fB(c[N>>2]|0)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+20>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(RD(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=nz(h,g,Ay(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(SD(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+12>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=BR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,35236,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(TD(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;gv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=BR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=UD(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;gv(W,X);i=Y;return}c[(c[H>>2]|0)+24+4>>2]=c[G>>2];c[c[G>>2]>>2]=35262;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(SD(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+12>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=BR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+12>>2];c[F>>2]=gB(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=35351;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=BR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35351;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35351;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35351;K=(c[N>>2]|0)+72|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;bx(c[X>>2]|0,104,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Nz(c[N>>2]|0,c[G>>2]|0);vA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=bx(c[X>>2]|0,74,0,0)|0;fx(c[X>>2]|0,15,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Kz(c[X>>2]|0,16,c[M>>2]|0)|0}else c[R>>2]=Kz(c[X>>2]|0,55,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Pz(c[X>>2]|0)|0;YA(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=hA(c[N>>2]|0)|0;c[V>>2]=iA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;bx(c[X>>2]|0,124,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Hh(c[X>>2]|0,16);if(c[T>>2]|0)Tz(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){Yz(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);eD(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Rz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else bx(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Hh(c[X>>2]|0,3);Sz(c[X>>2]|0,c[R>>2]|0);lA(c[N>>2]|0,c[W>>2]|0);tA(c[N>>2]|0);Sz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;gv(W,X);i=Y;return}function yD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+453>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+468>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&64|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);ND(C,(c[x>>2]|0)!=0?34973:34980);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];mA(C,34985,E)}else{c[F>>2]=c[m+8>>2];mA(C,34998,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];mA(C,35008,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+4>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=35015}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=35027;break}if(c[v>>2]&16384){c[K>>2]=35060;break}if(c[v>>2]&64){c[K>>2]=35085;break}else{c[K>>2]=35103;break}}while(0);if(c[K>>2]|0){nA(C,35112,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];mA(C,N,J);OD(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=35122;break}if(c[v>>2]&32){c[M>>2]=35136;break}else{c[M>>2]=35138;break}}else c[M>>2]=35120;while(0);c[G>>2]=c[M>>2];mA(C,35140,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;mA(C,35178,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=ex(c[D>>2]|0,160,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function zD(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0;cb=i;i=i+384|0;Ma=cb+8|0;Na=cb+372|0;ba=cb+368|0;Oa=cb;Sa=cb+364|0;La=cb+360|0;Ra=cb+356|0;J=cb+352|0;R=cb+348|0;Ia=cb+344|0;Xa=cb+340|0;Ja=cb+336|0;_a=cb+332|0;Za=cb+328|0;Ya=cb+324|0;Qa=cb+320|0;ab=cb+316|0;I=cb+312|0;v=cb+308|0;Pa=cb+304|0;O=cb+300|0;l=cb+296|0;k=cb+292|0;B=cb+288|0;z=cb+284|0;E=cb+280|0;A=cb+276|0;D=cb+272|0;F=cb+268|0;H=cb+264|0;G=cb+260|0;u=cb+256|0;t=cb+252|0;m=cb+248|0;o=cb+244|0;n=cb+240|0;p=cb+236|0;r=cb+232|0;s=cb+228|0;q=cb+224|0;Q=cb+378|0;Z=cb+220|0;W=cb+216|0;V=cb+212|0;_=cb+208|0;N=cb+204|0;$=cb+200|0;P=cb+196|0;T=cb+192|0;fa=cb+188|0;w=cb+184|0;S=cb+180|0;aa=cb+176|0;M=cb+383|0;K=cb+382|0;L=cb+381|0;x=cb+172|0;y=cb+380|0;X=cb+168|0;Y=cb+164|0;U=cb+160|0;wa=cb+156|0;ua=cb+152|0;ra=cb+148|0;ea=cb+144|0;Da=cb+140|0;Fa=cb+136|0;Ea=cb+132|0;ga=cb+128|0;ia=cb+124|0;Ga=cb+120|0;la=cb+116|0;Ha=cb+376|0;qa=cb+112|0;Ba=cb+108|0;na=cb+104|0;pa=cb+100|0;xa=cb+96|0;ka=cb+92|0;sa=cb+88|0;va=cb+84|0;Aa=cb+80|0;ta=cb+76|0;ma=cb+72|0;za=cb+68|0;ca=cb+64|0;Ca=cb+60|0;ja=cb+56|0;ya=cb+52|0;oa=cb+48|0;ha=cb+44|0;da=cb+40|0;Ua=cb+36|0;$a=cb+32|0;bb=cb+28|0;Va=cb+24|0;Wa=cb+20|0;Ta=cb+16|0;c[Na>>2]=f;c[ba>>2]=g;g=Oa;c[g>>2]=h;c[g+4>>2]=j;c[O>>2]=0;c[l>>2]=0;c[Ya>>2]=c[c[Na>>2]>>2];c[ab>>2]=c[(c[Ya>>2]|0)+8>>2];c[_a>>2]=(c[Na>>2]|0)+328;c[Qa>>2]=c[c[Ya>>2]>>2];c[Xa>>2]=(c[Na>>2]|0)+736+((c[ba>>2]|0)*80|0);c[Ja>>2]=c[(c[Xa>>2]|0)+64>>2];c[I>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8+((d[(c[Xa>>2]|0)+44>>0]|0)*72|0);c[Ra>>2]=c[(c[I>>2]|0)+44>>2];g=Oa;h=c[g>>2]|0;g=c[g+4>>2]|0;j=AD((c[Na>>2]|0)+68|0,c[Ra>>2]|0)|0;f=(c[Xa>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Na>>2]|0)+24|0;f=xR(c[f>>2]|0,c[f+4>>2]|0,c[ba>>2]|0)|0;c[Ia>>2]=f&1;if(c[(c[Ja>>2]|0)+36>>2]&64)h=(e[(c[Na>>2]|0)+36>>1]&32|0)==0;else h=0;c[R>>2]=h&1;f=Pz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+16>>2]=f;c[(c[Xa>>2]|0)+12>>2]=f;c[v>>2]=f;f=Pz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+24>>2]=f;c[Pa>>2]=f;if((d[(c[Xa>>2]|0)+44>>0]|0)>0?(d[(c[I>>2]|0)+36>>0]&8|0)!=0:0){g=(c[Ya>>2]|0)+76|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[Xa>>2]>>2]=f;bx(c[ab>>2]|0,74,0,c[c[Xa>>2]>>2]|0)|0}do if((d[(c[I>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[I>>2]|0)+28>>2];fx(c[ab>>2]|0,15,c[k>>2]|0,0,c[(c[I>>2]|0)+24>>2]|0)|0;La=bx(c[ab>>2]|0,16,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+45>>0]=13}else{h=c[Ja>>2]|0;if(c[(c[Ja>>2]|0)+36>>2]&1024){c[E>>2]=e[h+40>>1];vA(c[Ya>>2]|0);c[B>>2]=xA(c[Ya>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+12>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[E>>2]|0))break;c[D>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];do if(c[Za>>2]|0){h=c[Ya>>2]|0;j=c[Za>>2]|0;if(e[(c[Za>>2]|0)+18>>1]&1){BD(h,j,c[Xa>>2]|0,c[Sa>>2]|0,c[Ia>>2]|0,c[D>>2]|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+16>>2];break}else{KA(h,c[(c[j>>2]|0)+16>>2]|0,c[D>>2]|0);break}}while(0);c[Sa>>2]=(c[Sa>>2]|0)+1}bx(c[ab>>2]|0,74,c[(c[Ja>>2]|0)+24>>2]|0,c[B>>2]|0)|0;bx(c[ab>>2]|0,74,c[E>>2]|0,(c[B>>2]|0)+1|0)|0;ex(c[ab>>2]|0,11,c[Ra>>2]|0,c[z>>2]|0,c[B>>2]|0,c[(c[Ja>>2]|0)+24+8>>2]|0,(d[(c[Ja>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Ja>>2]|0)+24+4>>0]=0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];a[(c[Xa>>2]|0)+45>>0]=(d[(c[Na>>2]|0)+40>>0]|0)!=0?159:68;La=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;c[A>>2]=c[(c[Xa>>2]|0)+56>>2];c[Sa>>2]=(c[E>>2]|0)-1;while(1){if((c[Sa>>2]|0)<0)break;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];if((c[Sa>>2]|0)<16?(e[(c[Ja>>2]|0)+24+6>>1]>>c[Sa>>2]&1|0)!=0:0)CD(c[Xa>>2]|0,c[Za>>2]|0);else Ka=21;if((Ka|0)==21?(Ka=0,(e[(c[Za>>2]|0)+18>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Ia=c[ab>>2]|0;La=(c[A>>2]|0)+-1|0;c[A>>2]=La;c[G>>2]=Zz(Ia,c[(c[(c[Xa>>2]|0)+56+4>>2]|0)+(La*12|0)+4>>2]|0)|0;fx(c[ab>>2]|0,d[c[G>>2]>>0]|0,c[(c[G>>2]|0)+4>>2]|0,c[(c[G>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+12>>2]|0)|0}c[F>>2]=Cv(c[Ya>>2]|0,37,0,0,0)|0;if(c[F>>2]|0){c[(c[F>>2]|0)+12>>2]=c[(c[c[Za>>2]>>2]|0)+12>>2];La=Uv(c[Qa>>2]|0,157,0)|0;c[H>>2]=La;c[(c[F>>2]|0)+16>>2]=La;if(c[H>>2]|0){c[(c[H>>2]|0)+28>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;YA(c[Ya>>2]|0,c[F>>2]|0,c[(c[Xa>>2]|0)+24>>2]|0,0)}c[(c[F>>2]|0)+12>>2]=0;gv(c[Qa>>2]|0,c[F>>2]|0)}}c[Sa>>2]=(c[Sa>>2]|0)+-1}tA(c[Ya>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&5|0)!=0:0){c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[l>>2]=La;c[O>>2]=BD(c[Ya>>2]|0,c[Za>>2]|0,c[Xa>>2]|0,0,c[Ia>>2]|0,c[l>>2]|0)|0;if((c[O>>2]|0)!=(c[l>>2]|0))lA(c[Ya>>2]|0,c[l>>2]|0);c[J>>2]=c[(c[Xa>>2]|0)+16>>2];bx(c[ab>>2]|0,17,c[O>>2]|0,c[J>>2]|0)|0;fx(c[ab>>2]|0,32,c[Ra>>2]|0,c[J>>2]|0,c[O>>2]|0)|0;PA(c[Ya>>2]|0,c[O>>2]|0,1);tB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);a[(c[Xa>>2]|0)+45>>0]=-97;break}if((c[(c[Ja>>2]|0)+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=159;c[m>>2]=0;c[Sa>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Ja>>2]|0)+36>>2]&32){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[o>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[(c[Ja>>2]|0)+36>>2]&16){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[n>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[Ia>>2]|0){c[Za>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Za>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=QA(c[Ya>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;fx(c[ab>>2]|0,d[34953+((d[c[p>>2]>>0]|0)-38)>>0]|0,c[Ra>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;PA(c[Ya>>2]|0,c[r>>2]|0,1);lA(c[Ya>>2]|0,c[s>>2]|0);CD(c[Xa>>2]|0,c[o>>2]|0)}else bx(c[ab>>2]|0,(c[Ia>>2]|0)!=0?33:55,c[Ra>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[m>>2]=La;KA(c[Ya>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=40?(d[c[q>>2]>>0]|0)!=38:0)c[u>>2]=(c[Ia>>2]|0)!=0?40:38;else c[u>>2]=(c[Ia>>2]|0)!=0?39:41;CD(c[Xa>>2]|0,c[n>>2]|0)}c[t>>2]=Oz(c[ab>>2]|0)|0;a[(c[Xa>>2]|0)+45>>0]=(c[Ia>>2]|0)!=0?6:7;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];c[(c[Xa>>2]|0)+52>>2]=c[t>>2];if((c[u>>2]|0)==159)break;Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;bx(c[ab>>2]|0,121,c[Ra>>2]|0,c[O>>2]|0)|0;tB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);fx(c[ab>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[O>>2]|0)|0;Hh(c[ab>>2]|0,83);break}h=c[Ja>>2]|0;if(!(c[(c[Ja>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[I>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[Xa>>2]|0)+45>>0]=-97;break}else{a[(c[Xa>>2]|0)+45>>0]=a[34969+(c[Ia>>2]|0)>>0]|0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];La=1+(bx(c[ab>>2]|0,d[34971+(c[Ia>>2]|0)>>0]|0,c[Ra>>2]|0,c[v>>2]|0)|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+47>>0]=1;break}c[ra>>2]=0;h=(c[Ya>>2]|0)+72|0;Ia=c[h>>2]|0;c[h>>2]=Ia+1;c[ea>>2]=Ia;Ia=(c[Ya>>2]|0)+76|0;h=(c[Ia>>2]|0)+1|0;c[Ia>>2]=h;c[Da>>2]=h;c[Fa>>2]=0;c[Ea>>2]=0;c[ga>>2]=Pz(c[ab>>2]|0)|0;c[Ga>>2]=0;c[qa>>2]=0;c[Ba>>2]=c[(c[I>>2]|0)+16>>2];c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];c[wa>>2]=c[(c[Za>>2]|0)+12>>2];a[(c[Xa>>2]|0)+45>>0]=70;c[(c[Xa>>2]|0)+48>>2]=c[Da>>2];h=c[Na>>2]|0;a:do if((d[(c[Na>>2]|0)+43>>0]|0)>1){c[na>>2]=(d[h+43>>0]|0)-(c[ba>>2]|0)-1;c[ua>>2]=Ah(c[Qa>>2]|0,80+((c[na>>2]|0)*72|0)|0,0)|0;if(!(c[ua>>2]|0)){$a=Oa;bb=c[$a+4>>2]|0;ab=Ma;c[ab>>2]=c[$a>>2];c[ab+4>>2]=bb;ab=Ma;bb=ab;bb=c[bb>>2]|0;ab=ab+4|0;ab=c[ab>>2]|0;C=ab;i=cb;return bb|0}c[(c[ua>>2]|0)+4>>2]=(c[na>>2]|0)+1&255;c[c[ua>>2]>>2]=c[(c[ua>>2]|0)+4>>2];g=(c[ua>>2]|0)+8|0;h=c[I>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[pa>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8;c[La>>2]=1;while(1){if((c[La>>2]|0)>(c[na>>2]|0))break a;g=(c[ua>>2]|0)+8+((c[La>>2]|0)*72|0)|0;h=(c[pa>>2]|0)+((d[(c[Xa>>2]|0)+((c[La>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[La>>2]=(c[La>>2]|0)+1}}else c[ua>>2]=c[h+4>>2];while(0);if(!(e[(c[Na>>2]|0)+36>>1]&8)){if(!(d[(c[Ba>>2]|0)+42>>0]&32)){Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Fa>>2]=La;bx(c[ab>>2]|0,77,0,c[Fa>>2]|0)|0}else{c[xa>>2]=Hj(c[Ba>>2]|0)|0;Ja=(c[Ya>>2]|0)+72|0;La=c[Ja>>2]|0;c[Ja>>2]=La+1;c[Fa>>2]=La;bx(c[ab>>2]|0,105,c[Fa>>2]|0,e[(c[xa>>2]|0)+50>>1]|0)|0;Nz(c[Ya>>2]|0,c[xa>>2]|0)}Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Ea>>2]=La}c[ia>>2]=bx(c[ab>>2]|0,74,0,c[Da>>2]|0)|0;if((c[(c[_a>>2]|0)+12>>2]|0)>1){c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break;c[sa>>2]=c[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)>>2];do if((((c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)|0)!=(c[Za>>2]|0)?(c[(c[sa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+20>>1]&6|0)==0:0){if(!(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+18>>1]&8191))break;c[sa>>2]=Ay(c[Qa>>2]|0,c[sa>>2]|0,0)|0;c[qa>>2]=nz(c[Qa>>2]|0,c[qa>>2]|0,c[sa>>2]|0)|0}while(0);c[ka>>2]=(c[ka>>2]|0)+1}if(c[qa>>2]|0)c[qa>>2]=Cv(c[Ya>>2]|0,284,0,c[qa>>2]|0,0)|0}b[Ha>>1]=240|e[(c[Na>>2]|0)+36>>1]&32768;c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[(c[wa>>2]|0)+12>>2]|0))break;c[va>>2]=(c[(c[wa>>2]|0)+20>>2]|0)+((c[la>>2]|0)*48|0);if(!((c[(c[va>>2]|0)+8>>2]|0)!=(c[Ra>>2]|0)?(e[(c[va>>2]|0)+18>>1]&1024|0)==0:0)){c[ta>>2]=c[c[va>>2]>>2];c[ma>>2]=0;if((c[qa>>2]|0)!=0?(c[(c[ta>>2]|0)+4>>2]&1|0)==0:0){c[(c[qa>>2]|0)+12>>2]=c[ta>>2];c[ta>>2]=c[qa>>2]}c[Aa>>2]=cD(c[Ya>>2]|0,c[ua>>2]|0,c[ta>>2]|0,0,0,b[Ha>>1]|0,c[ea>>2]|0)|0;if(c[Aa>>2]|0){c[ca>>2]=yD(c[Ya>>2]|0,c[ua>>2]|0,(c[Aa>>2]|0)+736|0,c[ba>>2]|0,d[(c[Xa>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Na>>2]|0)+36>>1]&8)){c[ja>>2]=(c[la>>2]|0)==((c[(c[wa>>2]|0)+12>>2]|0)-1|0)?-1:c[la>>2]|0;if(!(d[(c[Ba>>2]|0)+42>>0]&32)){c[Ca>>2]=MA(c[Ya>>2]|0,c[Ba>>2]|0,-1,c[Ra>>2]|0,c[Ea>>2]|0,0)|0;c[ma>>2]=Gh(c[ab>>2]|0,61,c[Fa>>2]|0,0,c[Ca>>2]|0,c[ja>>2]|0)|0;break}c[ya>>2]=Hj(c[Ba>>2]|0)|0;c[oa>>2]=e[(c[ya>>2]|0)+50>>1];c[Ca>>2]=xA(c[Ya>>2]|0,c[oa>>2]|0)|0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[oa>>2]|0))break;c[da>>2]=b[(c[(c[ya>>2]|0)+4>>2]|0)+(c[ha>>2]<<1)>>1];ID(c[Ya>>2]|0,c[Ba>>2]|0,c[da>>2]|0,c[Ra>>2]|0,(c[Ca>>2]|0)+(c[ha>>2]|0)|0);c[ha>>2]=(c[ha>>2]|0)+1}if(c[ja>>2]|0)c[ma>>2]=Gh(c[ab>>2]|0,31,c[Fa>>2]|0,0,c[Ca>>2]|0,c[oa>>2]|0)|0;do if((c[ja>>2]|0)>=0){fx(c[ab>>2]|0,96,c[Ca>>2]|0,c[oa>>2]|0,c[Ea>>2]|0)|0;fx(c[ab>>2]|0,124,c[Fa>>2]|0,c[Ea>>2]|0,0)|0;if(!(c[ja>>2]|0))break;Hh(c[ab>>2]|0,16)}while(0);AA(c[Ya>>2]|0,c[Ca>>2]|0,c[oa>>2]|0)}while(0);bx(c[ab>>2]|0,14,c[Da>>2]|0,c[ga>>2]|0)|0;if(c[ma>>2]|0)Sz(c[ab>>2]|0,c[ma>>2]|0);if(a[(c[Aa>>2]|0)+41>>0]|0)c[Ga>>2]=1;c[za>>2]=c[(c[Aa>>2]|0)+736+64>>2];do if(c[(c[za>>2]|0)+36>>2]&512){if((c[la>>2]|0)!=0?(c[(c[za>>2]|0)+24+4>>2]|0)!=(c[ra>>2]|0):0){Ka=179;break}if((d[(c[Ba>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[za>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ka=179;break}c[ra>>2]=c[(c[za>>2]|0)+24+4>>2];b[Ha>>1]=e[Ha>>1]|4096}else Ka=179;while(0);if((Ka|0)==179){Ka=0;c[ra>>2]=0}dD(c[Aa>>2]|0)}}c[la>>2]=(c[la>>2]|0)+1}c[(c[Xa>>2]|0)+56>>2]=c[ra>>2];if(c[ra>>2]|0)c[(c[Xa>>2]|0)+8>>2]=c[ea>>2];if(c[qa>>2]|0){c[(c[qa>>2]|0)+12>>2]=0;gv(c[Qa>>2]|0,c[qa>>2]|0)}Ka=c[ab>>2]|0;La=c[ia>>2]|0;JD(Ka,La,Oz(c[ab>>2]|0)|0);Rz(c[ab>>2]|0,c[(c[Xa>>2]|0)+12>>2]|0)|0;Tz(c[ab>>2]|0,c[ga>>2]|0);if((d[(c[Na>>2]|0)+43>>0]|0)>1)Tf(c[Qa>>2]|0,c[ua>>2]|0);if(c[Ga>>2]|0)break;CD(c[Xa>>2]|0,c[Za>>2]|0);break}b[Q>>1]=b[h+24>>1]|0;c[W>>2]=0;c[V>>2]=0;c[w>>2]=0;a[M>>0]=0;a[K>>0]=0;a[L>>0]=0;c[T>>2]=c[(c[Ja>>2]|0)+24+4>>2];c[fa>>2]=c[(c[Xa>>2]|0)+8>>2];if(((e[(c[Na>>2]|0)+36>>1]&1|0)!=0?(a[(c[Na>>2]|0)+38>>0]|0)>0:0)?(e[(c[T>>2]|0)+50>>1]|0)>(e[Q>>1]|0):0){a[K>>0]=1;c[w>>2]=1}c[Sa>>2]=e[Q>>1];if(c[(c[Ja>>2]|0)+36>>2]&32){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[W>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1}if(c[(c[Ja>>2]|0)+36>>2]&16){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[V>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1;if(e[(c[V>>2]|0)+20>>1]&256){Ha=(c[Ya>>2]|0)+76|0;Ka=(c[Ha>>2]|0)+1|0;c[Ha>>2]=Ka;c[(c[Xa>>2]|0)+36>>2]=Ka;bx(c[ab>>2]|0,74,1,c[(c[Xa>>2]|0)+36>>2]|0)|0;Ka=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+40>>2]=Ka;Ka=(c[Xa>>2]|0)+36|0;c[Ka>>2]=c[Ka>>2]<<1;Ka=(c[Xa>>2]|0)+36|0;c[Ka>>2]=c[Ka>>2]|c[Ia>>2]^(d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==1}if(((c[W>>2]|0)==0?(Ka=b[(c[(c[T>>2]|0)+4>>2]|0)+(e[Q>>1]<<1)>>1]|0,c[Sa>>2]=Ka,(Ka|0)>=0):0)?(d[(c[(c[(c[T>>2]|0)+12>>2]|0)+4>>2]|0)+(c[Sa>>2]<<4)+12>>0]|0)==0:0)a[K>>0]=1}if((e[Q>>1]|0)<(e[(c[T>>2]|0)+50>>1]|0)?(c[Ia>>2]|0)==((d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==0|0):0)Ka=72;else Ka=70;if(((Ka|0)==70?(c[Ia>>2]|0)!=0:0)?(e[(c[T>>2]|0)+50>>1]|0)==(e[Q>>1]|0):0)Ka=72;if((Ka|0)==72){c[x>>2]=c[V>>2];c[V>>2]=c[W>>2];c[W>>2]=c[x>>2];a[y>>0]=a[K>>0]|0;a[K>>0]=a[L>>0]|0;a[L>>0]=a[y>>0]|0}c[Z>>2]=DD(c[Ya>>2]|0,c[Xa>>2]|0,c[Ia>>2]|0,c[w>>2]|0,aa)|0;if(c[aa>>2]|0)a[M>>0]=a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0;c[J>>2]=c[(c[Xa>>2]|0)+16>>2];if(c[W>>2]|0)h=(e[(c[W>>2]|0)+18>>1]&40|0)!=0;else h=1;c[_>>2]=h&1;if(c[V>>2]|0)h=(e[(c[V>>2]|0)+18>>1]&40|0)!=0;else h=1;c[N>>2]=h&1;if(c[W>>2]|0)h=1;else h=(e[Q>>1]|0)>0;c[$>>2]=h&1;c[P>>2]=e[Q>>1];if(!(c[W>>2]|0)){if(a[K>>0]|0){bx(c[ab>>2]|0,77,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[P>>2]=(c[P>>2]|0)+1;c[_>>2]=0;c[$>>2]=1}}else{c[X>>2]=c[(c[c[W>>2]>>2]|0)+16>>2];KA(c[Ya>>2]|0,c[X>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);ED(c[ab>>2]|0,c[Xa>>2]|0,c[W>>2]|0);do if(!(e[(c[W>>2]|0)+20>>1]&0)){if(!(cB(c[X>>2]|0)|0))break;bx(c[ab>>2]|0,34,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(c[aa>>2]|0){if(((dB(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65;if(!(FD(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0))break;a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65}while(0);c[P>>2]=(c[P>>2]|0)+1}GD(c[Ya>>2]|0,c[Z>>2]|0,(c[P>>2]|0)-(d[K>>0]|0)|0,c[aa>>2]|0);if(!((e[(c[Ja>>2]|0)+42>>1]|0)>0?(c[P>>2]|0)==(e[(c[Ja>>2]|0)+42>>1]|0):0)){c[S>>2]=d[34957+((c[$>>2]<<2)+(c[_>>2]<<1)+(c[Ia>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}c[P>>2]=e[Q>>1];do if(c[V>>2]|0){c[Y>>2]=c[(c[c[V>>2]>>2]|0)+16>>2];BA(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1);KA(c[Ya>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);ED(c[ab>>2]|0,c[Xa>>2]|0,c[V>>2]|0);do if(!(e[(c[V>>2]|0)+20>>1]&0)){if(!(cB(c[Y>>2]|0)|0))break;bx(c[ab>>2]|0,34,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(((dB(c[Y>>2]|0,a[M>>0]|0)|0)<<24>>24|0)!=65){if(FD(c[Y>>2]|0,a[M>>0]|0)|0)break;GD(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1,M)}while(0);c[P>>2]=(c[P>>2]|0)+1}else{if(!(a[L>>0]|0))break;bx(c[ab>>2]|0,77,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[N>>2]=0;c[P>>2]=(c[P>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[aa>>2]|0);Ka=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=Ka;if(c[P>>2]|0){c[S>>2]=d[34965+((c[Ia>>2]<<1)+(c[N>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}CD(c[Xa>>2]|0,c[W>>2]|0);CD(c[Xa>>2]|0,c[V>>2]|0);do if(!(c[R>>2]|0)){if(!(d[(c[(c[T>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[Na>>2]|0)+36>>1]&32768){Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;bx(c[ab>>2]|0,127,c[fa>>2]|0,c[O>>2]|0)|0;tB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);fx(c[ab>>2]|0,32,c[Ra>>2]|0,0,c[O>>2]|0)|0;break}else{HD(c[Na>>2]|0,c[T>>2]|0,c[Ra>>2]|0,c[fa>>2]|0);break}if((c[Ra>>2]|0)==(c[fa>>2]|0))break;c[U>>2]=Hj(c[(c[T>>2]|0)+12>>2]|0)|0;c[O>>2]=xA(c[Ya>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0;c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;c[La>>2]=(HA(c[T>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[Sa>>2]<<1)>>1]|0)|0)<<16>>16;fx(c[ab>>2]|0,94,c[fa>>2]|0,c[La>>2]|0,(c[O>>2]|0)+(c[Sa>>2]|0)|0)|0;c[Sa>>2]=(c[Sa>>2]|0)+1}Gh(c[ab>>2]|0,30,c[Ra>>2]|0,c[Pa>>2]|0,c[O>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Ja>>2]|0)+36>>2]&4096)){h=(c[Xa>>2]|0)+45|0;if(c[Ia>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[Xa>>2]|0)+45>>0]=-97;while(0);c[(c[Xa>>2]|0)+48>>2]=c[fa>>2];a[(c[Xa>>2]|0)+46>>0]=(c[(c[Ja>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Ja>>2]|0)+36>>2]&15)break;a[(c[Xa>>2]|0)+47>>0]=1}while(0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;c[$a>>2]=0;do if(!(e[(c[Za>>2]|0)+20>>1]&6)){Ka=(c[Za>>2]|0)+40|0;La=(c[Xa>>2]|0)+72|0;if((c[Ka>>2]&c[La>>2]|0)!=0?1:(c[Ka+4>>2]&c[La+4>>2]|0)!=0){a[(c[Na>>2]|0)+41>>0]=1;break}c[Ua>>2]=c[c[Za>>2]>>2];if((c[c[Xa>>2]>>2]|0)!=0?(c[(c[Ua>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[Za>>2]|0)+20>>1]&512){c[bb>>2]=c[(c[Xa>>2]|0)+36>>2];c[$a>>2]=Kz(c[ab>>2]|0,(c[bb>>2]&1|0)!=0?22:21,(c[bb>>2]|0)>>>1)|0}YA(c[Ya>>2]|0,c[Ua>>2]|0,c[Pa>>2]|0,16);if(c[$a>>2]|0)Sz(c[ab>>2]|0,c[$a>>2]|0);La=(c[Za>>2]|0)+20|0;b[La>>1]=e[La>>1]|4}while(0);c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;if((((((((e[(c[Za>>2]|0)+20>>1]&6|0)==0?(e[(c[Za>>2]|0)+18>>1]&130|0)!=0:0)?(e[(c[Za>>2]|0)+18>>1]&2048|0)!=0:0)?(c[(c[Za>>2]|0)+8>>2]|0)==(c[Ra>>2]|0):0)?(c[c[Xa>>2]>>2]|0)==0:0)?(c[Va>>2]=c[c[Za>>2]>>2],bb=Oa,c[Ta>>2]=KD(c[_a>>2]|0,c[Ra>>2]|0,c[(c[Za>>2]|0)+12>>2]|0,c[bb>>2]|0,c[bb+4>>2]|0,131,0)|0,(c[Ta>>2]|0)!=0):0)?(e[(c[Ta>>2]|0)+20>>1]&4|0)==0:0)?(c[Wa>>2]=Ah(c[Qa>>2]|0,48,0)|0,(c[Wa>>2]|0)!=0):0){g=c[Wa>>2]|0;h=c[c[Ta>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[(c[Wa>>2]|0)+12>>2]=c[(c[Va>>2]|0)+12>>2];YA(c[Ya>>2]|0,c[Wa>>2]|0,c[Pa>>2]|0,16);Tf(c[Qa>>2]|0,c[Wa>>2]|0)}c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}b:do if(c[c[Xa>>2]>>2]|0){bb=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+28>>2]=bb;bx(c[ab>>2]|0,74,1,c[c[Xa>>2]>>2]|0)|0;rC(c[Ya>>2]|0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break b;if((e[(c[Za>>2]|0)+20>>1]&6|0)==0?(ab=(c[Za>>2]|0)+40|0,bb=(c[Xa>>2]|0)+72|0,!((c[ab>>2]&c[bb>>2]|0)!=0?1:(c[ab+4>>2]&c[bb+4>>2]|0)!=0)):0){YA(c[Ya>>2]|0,c[c[Za>>2]>>2]|0,c[Pa>>2]|0,16);bb=(c[Za>>2]|0)+20|0;b[bb>>1]=e[bb>>1]|4}c[Sa>>2]=(c[Sa>>2]|0)+1;c[Za>>2]=(c[Za>>2]|0)+48}}while(0);$a=(c[Xa>>2]|0)+72|0;bb=c[$a+4>>2]|0;ab=Ma;c[ab>>2]=c[$a>>2];c[ab+4>>2]=bb;ab=Ma;bb=ab;bb=c[bb>>2]|0;ab=ab+4|0;ab=c[ab>>2]|0;C=ab;i=cb;return bb|0}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=BR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function BD(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;k=x+48|0;q=x+44|0;r=x+40|0;l=x+36|0;s=x+32|0;m=x+28|0;o=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;p=x+8|0;v=x+4|0;n=x;c[k>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[m>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[k>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)!=37?(d[c[o>>2]>>0]|0|0)!=29:0){if((d[c[o>>2]>>0]|0|0)==34){c[u>>2]=c[m>>2];bx(c[w>>2]|0,77,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+64>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[m>>2];c[t>>2]=aB(c[k>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];bx(c[w>>2]|0,(c[s>>2]|0)!=0?33:55,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+56>>2]|0)){o=Pz(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}o=(c[r>>2]|0)+56|0;c[o>>2]=(c[o>>2]|0)+1;k=Ix(c[c[k>>2]>>2]|0,c[(c[r>>2]|0)+56+4>>2]|0,(c[(c[r>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+56+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+56+4>>2];k=(c[r>>2]|0)+56|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=bx(m,121,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=fx(m,94,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?4:5;Kz(c[w>>2]|0,34,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}c[u>>2]=LA(c[k>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[m>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}function CD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+20>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+20>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+4>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)*48|0);g=(c[j>>2]|0)+22|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+22>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function DD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+60|0;l=A+56|0;m=A+52|0;C=A+48|0;n=A+44|0;q=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;r=A+16|0;z=A+12|0;o=A+8|0;w=A+4|0;u=A;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+64>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+76>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=ph(j,pC(c[c[k>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];Kz(c[y>>2]|0,(c[m>>2]|0)!=0?33:55,c[o>>2]|0)|0;c[p>>2]=jx(c[y>>2]|0,13)|0;C=Gh(c[y>>2]|0,(c[m>>2]|0)!=0?23:26,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;Sz(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;fx(c[y>>2]|0,94,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=BD(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){lA(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{bx(c[y>>2]|0,83,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&257)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+20>>1]&2048|0)==0?(cB(c[u>>2]|0)|0)!=0:0)bx(c[y>>2]|0,34,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((dB(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(FD(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function ED(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+20>>1]|0)&256)){i=k;return}c[j>>2]=Zz(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[j>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;i=k;return}function FD(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 133:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function GD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}ex(c[l>>2]|0,95,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;PA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function HD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];fx(c[n>>2]|0,126,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+36>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;if(c[f+336>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=rh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Kh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function ID(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=MA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}bx(c[(c[g>>2]|0)+8>>2]|0,83,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Zz(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function KD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=LD(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+18>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=MD(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function LD(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=MD(c[k>>2]|0)|0;i=q;return r|0}function MD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(Cy(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+18>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=dy(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(hB(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=gB(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function ND(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;nA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function OD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r;f=r+32|0;g=r+28|0;m=r+24|0;k=r+38|0;l=r+36|0;h=r+20|0;j=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+4>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=r;return}nA(c[f>>2]|0,35205,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=PD(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)nA(c[f>>2]|0,35208,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?35214:35219;c[n>>2]=c[o>>2];mA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){c[p>>2]=PD(c[m>>2]|0,c[h>>2]|0)|0;n=c[f>>2]|0;o=c[h>>2]|0;c[h>>2]=o+1;QD(n,o,c[p>>2]|0,35136)}if(c[(c[g>>2]|0)+36>>2]&16){c[q>>2]=PD(c[m>>2]|0,c[j>>2]|0)|0;QD(c[f>>2]|0,c[h>>2]|0,c[q>>2]|0,35138)}nA(c[f>>2]|0,35227,1);i=r;return}function PD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=35229;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=25361;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)nA(c[f>>2]|0,35208,5);ND(c[f>>2]|0,c[g>>2]|0);nA(c[f>>2]|0,c[h>>2]|0,1);nA(c[f>>2]|0,20891,1);i=j;return}function RD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=mB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function SD(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+12>>2]<<4)+13>>0]|0;if(hB(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function TD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Rw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}yR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function UD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=rh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function VD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j+16|0;h=j;c[f>>2]=a;c[g>>2]=b;a=h;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[f>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==152){g=AD(b,c[a+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=C;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=VD(b,c[a+16>>2]|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[(c[g>>2]|0)+12>>2]|0){k=VD(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;b=c[l+4>>2]|C;a=h;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b}if(!(c[(c[g>>2]|0)+4>>2]&2048)){if(c[(c[g>>2]|0)+20>>2]|0){g=wD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}}else{g=WD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function WD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=wD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=wD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=wD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=VD(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=VD(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=WD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=VD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function XD(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35291+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35291+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function YD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+144|0;W=$+141|0;n=$+120|0;o=$+116|0;p=$+112|0;q=$+132|0;r=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;G=$+128|0;F=$+126|0;H=$+124|0;z=$+100|0;X=$+96|0;D=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;L=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;I=$+32|0;J=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;K=$+48|0;E=$+8|0;Y=$;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=BR(1,0,e[H>>1]|0)|0;f=vR(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=BR(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=dy(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==152):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=KD((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],386,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&130|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=_x(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=_x(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if(ig(c[U>>2]|0,c[V>>2]|0)|0)break}m=BR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+42>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&386|0)!=0):0){if(c[X>>2]&256)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+32>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+(c[x>>2]<<4)+12>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=BR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=dy(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;k=c[O>>2]|0;if((c[x>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break}else if(Cy(k,c[(c[(c[(c[M>>2]|0)+40>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0,c[y>>2]|0)|0)break;if((c[x>>2]|0)<0){_=70;break a}c[L>>2]=_x(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==70){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=BR(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=84;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=BR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==84){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=BR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=VD((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(SA(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=BR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=108;break}V=BR(1,0,c[X>>2]|0)|0;V=vR(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=106;break}c[X>>2]=k+-1}if((_|0)==106){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==108){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function ZD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+36>>1]&16384|0)!=0?(b[(c[h>>2]|0)+34>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+34>>1]|0;o=(_D(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function _D(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function $D(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=i;i=i+112|0;k=C+108|0;l=C+104|0;m=C+48|0;E=C+40|0;z=C+100|0;F=C+96|0;x=C+92|0;y=C+88|0;D=C+84|0;v=C+80|0;u=C+76|0;n=C+72|0;w=C+68|0;p=C+32|0;A=C+64|0;B=C+60|0;s=C+24|0;q=C+16|0;o=C+56|0;r=C+8|0;t=C;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=E;c[e>>2]=h;c[e+4>>2]=j;c[z>>2]=0;c[F>>2]=c[c[l>>2]>>2];c[x>>2]=c[c[F>>2]>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[w>>2]=c[(c[l>>2]|0)+12>>2];c[D>>2]=(c[(c[F>>2]|0)+4>>2]|0)+8+((d[(c[w>>2]|0)+16>>0]|0)*72|0);e=E;c[v>>2]=sE(c[x>>2]|0,c[y>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[D>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[v>>2]|0)){c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}b[(c[w>>2]|0)+18>>1]=0;c[(c[w>>2]|0)+36>>2]=1024;b[(c[w>>2]|0)+40>>1]=0;a[(c[w>>2]|0)+24+4>>0]=0;c[u>>2]=c[c[v>>2]>>2];if(TD(c[c[x>>2]>>2]|0,c[w>>2]|0,c[u>>2]|0)|0){Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}F=m;c[z>>2]=tE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,-1,0,c[v>>2]|0,n)|0;if((c[z>>2]|0)==0?(D=c[w>>2]|0,F=m,E=c[D>>2]&~c[F>>2],F=c[D+4>>2]&~c[F+4>>2],D=p,c[D>>2]=E,c[D+4>>2]=F,(E|0)!=0|(F|0)!=0):0){c[A>>2]=0;c[B>>2]=0;F=s;c[F>>2]=0;c[F+4>>2]=0;F=q;c[F>>2]=0;c[F+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[z>>2]=tE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[v>>2]|0,n)|0,e=c[w>>2]|0,D=m,E=c[e+4>>2]&~c[D+4>>2],F=q,c[F>>2]=c[e>>2]&~c[D>>2],c[F+4>>2]=E,F=q,(c[F>>2]|0)==0&(c[F+4>>2]|0)==0):0){c[A>>2]=1;c[B>>2]=1}while(1){if(c[z>>2]|0)break;F=r;c[F>>2]=-1;c[F+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[u>>2]|0))break;D=(c[(c[y>>2]|0)+20>>2]|0)+((c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;F=m;e=c[D+4>>2]&~c[F+4>>2];E=t;c[E>>2]=c[D>>2]&~c[F>>2];c[E+4>>2]=e;E=t;e=c[E+4>>2]|0;F=s;D=c[F+4>>2]|0;if(e>>>0>D>>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0>(c[F>>2]|0)>>>0:0)?(E=t,e=c[E+4>>2]|0,F=r,D=c[F+4>>2]|0,e>>>0>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0<(c[F>>2]|0)>>>0:0)):0){D=t;E=c[D+4>>2]|0;F=r;c[F>>2]=c[D>>2];c[F+4>>2]=E}c[o>>2]=(c[o>>2]|0)+1}D=r;E=c[D+4>>2]|0;F=s;c[F>>2]=c[D>>2];c[F+4>>2]=E;F=r;if((c[F>>2]|0)==-1?(c[F+4>>2]|0)==-1:0)break;E=r;F=p;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;E=r;F=q;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;D=m;F=r;E=m;c[z>>2]=tE(c[l>>2]|0,c[D>>2]|0,c[D+4>>2]|0,c[F>>2]|c[E>>2],c[F+4>>2]|c[E+4>>2],0,c[v>>2]|0,n)|0;E=c[w>>2]|0;F=m;if(!((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0))continue;c[A>>2]=1;if(c[n>>2]|0)continue;c[B>>2]=1}if((c[z>>2]|0)==0&(c[A>>2]|0)==0?(E=m,F=m,c[z>>2]=tE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,0,c[v>>2]|0,n)|0,(c[n>>2]|0)==0):0)c[B>>2]=1;if((c[z>>2]|0)==0&(c[B>>2]|0)==0){E=m;F=m;c[z>>2]=tE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,1,c[v>>2]|0,n)|0}}if(c[(c[v>>2]|0)+28>>2]|0)Kd(c[(c[v>>2]|0)+24>>2]|0);Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=c[z>>2];F=c[k>>2]|0;i=C;return F|0}function aE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+128|0;k=E+8|0;y=E+124|0;s=E+120|0;B=E+64|0;m=E+140|0;l=E+136|0;F=E+56|0;t=E+52|0;r=E+48|0;D=E+44|0;o=E+40|0;n=E+36|0;A=E+134|0;z=E+132|0;w=E+32|0;u=E+28|0;q=E+24|0;v=E+20|0;x=E+16|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+42>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}g=B;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+40>>1]|0;b[m>>1]=b[(c[u>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+36+1>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+38>>1]|0;b[z>>1]=_D(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[y>>2]|0)+36>>1]&128|0)==0:0)?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?(a[(c[t>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(SD(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+42>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+48>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=XD(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=eE(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){g=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(jE(c[(c[t>>2]|0)+44>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+42>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=kE(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;lE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=eE(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=mE(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+36>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+40>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=XD(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}lE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=eE(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}while(0);c[D>>2]=nE(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){g=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((g|0)==46){i=E;return c[D>>2]|0}return 0}function bE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+18>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+12>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+12>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+18>>1]&1024)){if((c[g+8>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=28;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+12>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=$D(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=aE(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=bE(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){cE(F,C);c[s>>2]=0;break}cE(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=XD(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;dE(F,k,f,l,XD(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=eE(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function cE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;yR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function dE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function eE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;dE(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}fE(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=gE((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Rw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){kD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=gE(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];hD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=hE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function fE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(iE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(iE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function gE(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function hE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;jD(c[l>>2]|0,c[g>>2]|0);d=(TD(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));yR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+4>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function iE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function jE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=28)break;if(!(jE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(rE(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function kE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=dy(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Cy(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function lE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+20>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+4>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+16>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+16>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+18>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(xy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function mE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=BR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function nE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=i;i=i+208|0;l=O+172|0;m=O+168|0;n=O+164|0;o=O+160|0;p=O+196|0;P=O+156|0;A=O+152|0;q=O+148|0;z=O+144|0;B=O+140|0;k=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;r=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[P>>2]=c[c[m>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[q>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;P=c[l>>2]|0;i=O;return P|0}if(c[(c[z>>2]|0)+36>>2]&32)c[k>>2]=24;else c[k>>2]=447;if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+42>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;c[B>>2]=LD(N,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[H>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[E>>1]=_D(b[F>>1]|0)|0;a:while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[r>>1]=b[(c[B>>2]|0)+18>>1]|0;c[u>>2]=0;if((e[r>>1]|0)!=256?(e[(c[B>>2]|0)+20>>1]&0|0)==0:0)j=13;else j=12;if((j|0)==12?(j=0,(oE(c[o>>2]|0,e[H>>1]|0)|0)==0):0)j=13;do if((j|0)==13?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){if((e[(c[B>>2]|0)+20>>1]&256|0)!=0?(e[(c[B>>2]|0)+18>>1]|0)==16:0)break;if(((d[(c[n>>2]|0)+36>>0]&8|0)!=0?(c[(c[c[B>>2]>>2]|0)+4>>2]&1|0)==0:0)?(e[r>>1]&384|0)!=0:0)break;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(TD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[r>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[u>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[u>>2]=(Kj(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else{if(e[r>>1]&130){c[s>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[s>>2]|0)!=-1){if((c[s>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[H>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[s>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}if(e[r>>1]&256){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[z>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;c[x>>2]=c[B>>2];c[C>>2]=0;if(!(e[(c[B>>2]|0)+20>>1]&256))break;c[C>>2]=(c[B>>2]|0)+48;if(TD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[C>>2]|0;h=(c[z>>2]|0)+40|0;P=b[h>>1]|0;b[h>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=g;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|16;break}else{c[j>>2]=k|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)j=c[(c[(c[z>>2]|0)+48>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[x>>2]=j;break}}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[t>>2]=P&65535;if((b[(c[B>>2]|0)+16>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1]|0)>=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[u>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[t>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[t>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else pE(c[A>>2]|0,c[m>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=XD(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=XD(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));lE(c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=eE(c[m>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)nE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[u>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}while(0);c[B>>2]=MD(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=TD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){N=(c[z>>2]|0)+24|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+42|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+40|0;P=b[N>>1]|0;b[N>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[v>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[v>>1]|0);b[v>>1]=(b[v>>1]|0)+5;nE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[v>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2]}c[l>>2]=c[G>>2];P=c[l>>2]|0;i=O;return P|0}function oE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function pE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=qE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=qE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+16>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function qE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+16>>1]|0);break}if(!(e[d+20>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function rE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(Cy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==27){if((rE(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(rE(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Cy(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function sE(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+8|0;m=G+76|0;n=G+72|0;o=G+68|0;p=G;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;c[w>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(k=(c[D>>2]|0)+32|0,g=p,!((c[k>>2]&c[g>>2]|0)!=0?1:(c[k+4>>2]&c[g+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[v>>2]=0;if(c[r>>2]|0){c[u>>2]=c[c[r>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;c[y>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)!=152)break;if((c[(c[y>>2]|0)+28>>2]|0)!=(c[(c[q>>2]|0)+44>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(c[u>>2]|0))c[v>>2]=c[u>>2]}c[B>>2]=rh(c[c[n>>2]>>2]|0,72+((c[w>>2]|0)*20|0)+(c[v>>2]<<3)|0,0)|0;if(!(c[B>>2]|0)){Ch(c[n>>2]|0,25632,F);c[m>>2]=0;F=c[m>>2]|0;i=G;return F|0}c[A>>2]=(c[B>>2]|0)+72;c[C>>2]=(c[A>>2]|0)+((c[w>>2]|0)*12|0);c[E>>2]=(c[C>>2]|0)+(c[v>>2]<<3);c[c[B>>2]>>2]=c[w>>2];c[(c[B>>2]|0)+8>>2]=c[v>>2];c[(c[B>>2]|0)+4>>2]=c[A>>2];c[(c[B>>2]|0)+12>>2]=c[C>>2];c[(c[B>>2]|0)+16>>2]=c[E>>2];c[t>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(g=(c[D>>2]|0)+32|0,F=p,!((c[g>>2]&c[F>>2]|0)!=0?1:(c[g+4>>2]&c[F+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0){c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)>>2]=c[(c[D>>2]|0)+12>>2];c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+8>>2]=c[s>>2];F=b[(c[D>>2]|0)+18>>1]&255;a[x>>0]=F;a[x>>0]=(d[x>>0]|0)==1?2:F;if((d[x>>0]|0)==64)a[x>>0]=a[(c[D>>2]|0)+23>>0]|0;a[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+4>>0]=a[x>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;c[z>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]=b[(c[z>>2]|0)+32>>1];a[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]=a[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+12>>0]|0;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[B>>2];F=c[m>>2]|0;i=G;return F|0}function tE(f,g,j,k,l,m,n,o){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+96|0;E=L+16|0;G=L+88|0;H=L+84|0;M=L+8|0;q=L;r=L+92|0;I=L+80|0;p=L+76|0;D=L+72|0;x=L+68|0;C=L+64|0;s=L+60|0;v=L+56|0;K=L+52|0;J=L+48|0;y=L+44|0;z=L+40|0;w=L+36|0;A=L+32|0;t=L+28|0;B=L+24|0;u=L+20|0;c[H>>2]=f;f=M;c[f>>2]=g;c[f+4>>2]=j;f=q;c[f>>2]=k;c[f+4>>2]=l;b[r>>1]=m;c[I>>2]=n;c[p>>2]=o;c[D>>2]=c[(c[H>>2]|0)+4>>2];c[C>>2]=c[(c[I>>2]|0)+16>>2];c[K>>2]=0;c[J>>2]=c[(c[H>>2]|0)+12>>2];c[y>>2]=c[c[c[H>>2]>>2]>>2];c[z>>2]=(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+16>>0]|0)*72|0);c[w>>2]=c[c[I>>2]>>2];c[c[p>>2]>>2]=0;f=M;n=c[f+4>>2]|0;o=c[J>>2]|0;c[o>>2]=c[f>>2];c[o+4>>2]=n;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[A>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[(c[x>>2]|0)+8>>2]|0)*48|0);a[(c[x>>2]|0)+5>>0]=0;n=(c[A>>2]|0)+32|0;o=q;M=(c[A>>2]|0)+32|0;if(((c[n>>2]&c[o>>2]|0)==(c[M>>2]|0)?(c[n+4>>2]&c[o+4>>2]|0)==(c[M+4>>2]|0):0)?(e[(c[A>>2]|0)+18>>1]&e[r>>1]|0)==0:0)a[(c[x>>2]|0)+5>>0]=1;c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}AR(c[C>>2]|0,0,c[w>>2]<<3|0)|0;c[(c[I>>2]|0)+24>>2]=0;c[(c[I>>2]|0)+20>>2]=0;c[(c[I>>2]|0)+32>>2]=0;h[(c[I>>2]|0)+40>>3]=5.e+98;A=(c[I>>2]|0)+48|0;c[A>>2]=25;c[A+4>>2]=0;c[(c[I>>2]|0)+56>>2]=0;A=(c[z>>2]|0)+56|0;o=c[A+4>>2]|0;M=(c[I>>2]|0)+64|0;c[M>>2]=c[A>>2];c[M+4>>2]=o;c[K>>2]=uE(c[y>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[I>>2]|0)|0;if(c[K>>2]|0){c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}c[v>>2]=-1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]=0;c[s>>2]=(c[s>>2]|0)+1}b[(c[J>>2]|0)+24+6>>1]=0;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;M=(c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]|0)-1|0;c[t>>2]=M;if((M|0)>=0){c[u>>2]=c[(c[x>>2]|0)+8>>2];if((c[u>>2]|0)<0?1:(c[t>>2]|0)>=(c[w>>2]|0)){F=19;break}if((c[u>>2]|0)>=(c[(c[D>>2]|0)+12>>2]|0)){F=19;break}if(c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]|0){F=19;break}if(!(d[(c[x>>2]|0)+5>>0]|0)){F=19;break}c[B>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);A=(c[B>>2]|0)+32|0;M=c[J>>2]|0;n=M;o=c[n+4>>2]|c[A+4>>2];c[M>>2]=c[n>>2]|c[A>>2];c[M+4>>2]=o;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]=c[B>>2];if((c[t>>2]|0)>(c[v>>2]|0))c[v>>2]=c[t>>2];if((c[t>>2]|0)<16?(d[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]|0)!=0:0){M=(c[J>>2]|0)+24+6|0;b[M>>1]=e[M>>1]|1<>2]}if(e[(c[B>>2]|0)+18>>1]&1){c[(c[I>>2]|0)+32>>2]=0;M=(c[I>>2]|0)+56|0;c[M>>2]=c[M>>2]&-2;c[c[p>>2]>>2]=1}}c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}if((F|0)==19){c[K>>2]=1;M=c[y>>2]|0;c[E>>2]=c[c[(c[z>>2]|0)+16>>2]>>2];Ch(M,35323,E);c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}b[(c[J>>2]|0)+40>>1]=(c[v>>2]|0)+1;c[(c[J>>2]|0)+24>>2]=c[(c[I>>2]|0)+20>>2];a[(c[J>>2]|0)+24+4>>0]=c[(c[I>>2]|0)+28>>2];c[(c[I>>2]|0)+28>>2]=0;c[(c[J>>2]|0)+24+8>>2]=c[(c[I>>2]|0)+24>>2];if(c[(c[I>>2]|0)+32>>2]|0)g=c[(c[I>>2]|0)+8>>2]|0;else g=0;a[(c[J>>2]|0)+24+5>>0]=g;b[(c[J>>2]|0)+18>>1]=0;g=vE(+h[(c[I>>2]|0)+40>>3])|0;b[(c[J>>2]|0)+20>>1]=g;g=(c[I>>2]|0)+48|0;g=Kj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[J>>2]|0)+22>>1]=g;g=(c[J>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[I>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[K>>2]=eE(c[H>>2]|0,c[J>>2]|0)|0;if(a[(c[J>>2]|0)+24+4>>0]|0){Kd(c[(c[J>>2]|0)+24+8>>2]|0);a[(c[J>>2]|0)+24+4>>0]=0}c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}function uE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Nx(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){lh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Ch(d,19007,j);break}else{c[h>>2]=kh(c[g>>2]|0)|0;Ch(d,19007,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+68>>2]|0}function vE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Kj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=xR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=vR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function wE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=dy(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=_x(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0}function xE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+224|0;l=ga+196|0;m=ga+192|0;n=ga+188|0;j=ga+184|0;$=ga+180|0;P=ga+176|0;K=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;E=ga+164|0;F=ga+160|0;G=ga+156|0;W=ga+152|0;q=ga+148|0;s=ga+208|0;k=ga+16|0;x=ga+144|0;w=ga+140|0;L=ga+136|0;X=ga+132|0;H=ga+204|0;Q=ga+128|0;J=ga+124|0;r=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;o=ga+207|0;p=ga+206|0;I=ga+68|0;D=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[Z>>2]=0;c[E>>2]=0;c[F>>2]=0;c[W>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[W>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=ga;return}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[P>>2]=(c[j>>2]|0)+68;c[K>>2]=c[c[$>>2]>>2];g=VD(c[P>>2]|0,c[(c[K>>2]|0)+12>>2]|0)|0;j=da;c[j>>2]=g;c[j+4>>2]=C;c[G>>2]=d[c[K>>2]>>0];do if((c[G>>2]|0)==33){h=c[P>>2]|0;f=(c[K>>2]|0)+20|0;if(c[(c[K>>2]|0)+4>>2]&2048){g=WD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=wD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[G>>2]|0)==34){j=(c[$>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=VD(c[P>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=VD(c[P>>2]|0,c[K>>2]|0)|0;j=aa;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[K>>2]|0)+4>>2]&1){h=AD(c[P>>2]|0,b[(c[K>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=aa;g=c[h+4>>2]|c[f+4>>2];j=aa;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=vR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=aa;h=c[j+4>>2]|0;k=(c[$>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[$>>2]|0)+8>>2]=-1;c[(c[$>>2]|0)+4>>2]=-1;b[(c[$>>2]|0)+18>>1]=0;k=(yE(c[G>>2]|0)|0)!=0;h=c[K>>2]|0;a:do if(k){c[L>>2]=dy(c[h+12>>2]|0)|0;c[X>>2]=dy(c[(c[K>>2]|0)+16>>2]|0)|0;O=(c[$>>2]|0)+32|0;R=da;b[H>>1]=((c[O>>2]&c[R>>2]|0)==0?(c[O+4>>2]&c[R+4>>2]|0)==0:0)?8191:2048;R=da;if(zE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[L>>2]|0,x,w)|0){c[(c[$>>2]|0)+8>>2]=c[x>>2];c[(c[$>>2]|0)+12>>2]=c[w>>2];R=(AE(c[G>>2]|0)|0)&65535;b[(c[$>>2]|0)+18>>1]=R&e[H>>1]}if((c[G>>2]|0)==29){R=(c[$>>2]|0)+20|0;b[R>>1]=e[R>>1]|2048}if((c[X>>2]|0)!=0?(R=(c[$>>2]|0)+32|0,(zE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[X>>2]|0,x,w)|0)!=0):0){b[r>>1]=0;if((c[(c[$>>2]|0)+8>>2]|0)>=0){c[J>>2]=Ay(c[q>>2]|0,c[K>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){gv(c[q>>2]|0,c[J>>2]|0);i=ga;return}c[y>>2]=BE(c[m>>2]|0,c[J>>2]|0,3)|0;if(!(c[y>>2]|0)){i=ga;return}c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);CE(c[m>>2]|0,c[y>>2]|0,c[n>>2]|0);if((c[G>>2]|0)==29){X=(c[Q>>2]|0)+20|0;b[X>>1]=e[X>>1]|2048}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);X=(c[$>>2]|0)+20|0;b[X>>1]=e[X>>1]|8;if(DE(c[W>>2]|0,c[J>>2]|0)|0){X=(c[$>>2]|0)+18|0;b[X>>1]=e[X>>1]|2048;b[r>>1]=2048}}else{c[J>>2]=c[K>>2];c[Q>>2]=c[$>>2]}EE(c[W>>2]|0,c[J>>2]|0);c[(c[Q>>2]|0)+8>>2]=c[x>>2];c[(c[Q>>2]|0)+12>>2]=c[w>>2];O=da;R=t;da=c[O+4>>2]|c[R+4>>2];X=(c[Q>>2]|0)+32|0;c[X>>2]=c[O>>2]|c[R>>2];c[X+4>>2]=da;X=aa;aa=c[X+4>>2]|0;da=(c[Q>>2]|0)+40|0;c[da>>2]=c[X>>2];c[da+4>>2]=aa;da=(AE(d[c[J>>2]>>0]|0)|0)&65535;b[(c[Q>>2]|0)+18>>1]=da+(e[r>>1]|0)&e[H>>1]}}else{if((d[h>>0]|0)==32?(d[(c[m>>2]|0)+8>>0]|0)==28:0){c[O>>2]=c[(c[K>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;X=c[W>>2]|0;aa=d[35349+(c[u>>2]|0)>>0]|0;da=Ay(c[q>>2]|0,c[(c[K>>2]|0)+12>>2]|0,0)|0;c[R>>2]=Cv(X,aa,da,Ay(c[q>>2]|0,c[(c[(c[O>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;FE(c[R>>2]|0,c[K>>2]|0);c[z>>2]=BE(c[m>>2]|0,c[R>>2]|0,3)|0;xE(c[l>>2]|0,c[m>>2]|0,c[z>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);CE(c[m>>2]|0,c[z>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[K>>2]>>0]|0)==27){GE(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==28?(HE(c[W>>2]|0,c[K>>2]|0,Z,E,F)|0)!=0:0){b[ea>>1]=259;c[M>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[_>>2]=Ay(c[q>>2]|0,c[Z>>2]|0,0)|0;b:do if((c[F>>2]|0)!=0?(a[(c[c[W>>2]>>2]|0)+69>>0]|0)==0:0){ea=(c[$>>2]|0)+20|0;b[ea>>1]=e[ea>>1]|1024;c[v>>2]=0;while(1){ea=a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]|0;a[o>>0]=ea;if(!(ea<<24>>24))break b;a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[o>>0]&~(d[19019+(d[o>>0]|0)>>0]&32);a[(c[(c[_>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[18229+(d[o>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ea=(Jf(c[(c[_>>2]|0)+8>>2]|0)|0)-1|0;c[I>>2]=(c[(c[_>>2]|0)+8>>2]|0)+ea;a[p>>0]=a[c[I>>2]>>0]|0;if(c[F>>2]|0){if((d[p>>0]|0)==64)c[E>>2]=0;a[p>>0]=a[18229+(d[p>>0]|0)>>0]|0}a[c[I>>2]>>0]=(d[p>>0]|0)+1}c[fa>>2]=(c[F>>2]|0)!=0?21045:35351;c[S>>2]=Ay(c[q>>2]|0,c[M>>2]|0,0)|0;da=c[W>>2]|0;ea=Oy(c[W>>2]|0,c[S>>2]|0,c[fa>>2]|0)|0;c[S>>2]=Cv(da,41,ea,c[Z>>2]|0,0)|0;FE(c[S>>2]|0,c[K>>2]|0);c[A>>2]=BE(c[m>>2]|0,c[S>>2]|0,259)|0;xE(c[l>>2]|0,c[m>>2]|0,c[A>>2]|0);c[T>>2]=Ay(c[q>>2]|0,c[M>>2]|0,0)|0;ea=c[W>>2]|0;fa=Oy(c[W>>2]|0,c[T>>2]|0,c[fa>>2]|0)|0;c[T>>2]=Cv(ea,40,fa,c[_>>2]|0,0)|0;FE(c[T>>2]|0,c[K>>2]|0);c[B>>2]=BE(c[m>>2]|0,c[T>>2]|0,259)|0;xE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[E>>2]|0){CE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);CE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0)}}if((IE(c[K>>2]|0,s)|0)!=0?(c[Y>>2]=c[c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]>>2],c[N>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=VD(c[P>>2]|0,c[Y>>2]|0)|0,fa=ca,c[fa>>2]=ea,c[fa+4>>2]=C,fa=VD(c[P>>2]|0,c[N>>2]|0)|0,ea=ba,c[ea>>2]=fa,c[ea+4>>2]=C,ea=ca,fa=ba,(c[ea>>2]&c[fa>>2]|0)==0?(c[ea+4>>2]&c[fa+4>>2]|0)==0:0):0){fa=c[W>>2]|0;c[U>>2]=Cv(fa,30,0,Ay(c[q>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[D>>2]=BE(c[m>>2]|0,c[U>>2]|0,3)|0;c[V>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0);fa=ca;ea=c[fa+4>>2]|0;da=(c[V>>2]|0)+32|0;c[da>>2]=c[fa>>2];c[da+4>>2]=ea;c[(c[V>>2]|0)+8>>2]=c[(c[N>>2]|0)+28>>2];c[(c[V>>2]|0)+12>>2]=b[(c[N>>2]|0)+32>>1];b[(c[V>>2]|0)+18>>1]=64;a[(c[V>>2]|0)+23>>0]=a[s>>0]|0;CE(c[m>>2]|0,c[D>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);da=(c[$>>2]|0)+20|0;b[da>>1]=e[da>>1]|8;da=(c[$>>2]|0)+40|0;ea=c[da+4>>2]|0;fa=(c[V>>2]|0)+40|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea}da=t;fa=(c[$>>2]|0)+32|0;ca=fa;ea=c[ca+4>>2]|c[da+4>>2];c[fa>>2]=c[ca>>2]|c[da>>2];c[fa+4>>2]=ea;i=ga;return}function yE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)b=(c[b>>2]|0)==29;else b=1;i=d;return b&1|0}function zE(a,f,g,h,j,k){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;q=u+36|0;l=u+32|0;m=u;n=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;o=u+12|0;t=u+8|0;c[l>>2]=a;a=m;c[a>>2]=f;c[a+4>>2]=g;c[n>>2]=h;c[r>>2]=j;c[s>>2]=k;if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}j=m;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}j=m;a=c[j>>2]|0;j=c[j+4>>2]|0;k=m;k=vR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((a&k|0)!=0|(j&C|0)!=0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}c[o>>2]=0;while(1){j=m;k=c[j+4>>2]|0;f=c[o>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>1))break;c[o>>2]=f+1;k=m;k=xR(c[k>>2]|0,c[k+4>>2]|0,1)|0;j=m;c[j>>2]=k;c[j+4>>2]=C}c[t>>2]=c[(c[l>>2]|0)+8+(f*72|0)+44>>2];c[p>>2]=c[(c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0)){f=20;break}b:do if(c[(c[p>>2]|0)+40>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break b;if((b[(c[(c[p>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Cy(c[n>>2]|0,c[(c[(c[(c[p>>2]|0)+40>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){f=17;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((f|0)==17){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}else if((f|0)==20){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function AE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function BE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+28|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[h>>2]|0)+12>>2]|0)>=(c[(c[h>>2]|0)+16>>2]|0)){c[n>>2]=c[(c[h>>2]|0)+20>>2];c[l>>2]=c[c[c[c[h>>2]>>2]>>2]>>2];f=Rw(c[l>>2]|0,(c[(c[h>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[h>>2]|0)+20>>2]=f;if(c[(c[h>>2]|0)+20>>2]|0){yR(c[(c[h>>2]|0)+20>>2]|0,c[n>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)*48|0)|0;if((c[n>>2]|0)!=((c[h>>2]|0)+24|0))Tf(c[l>>2]|0,c[n>>2]|0);f=((iu(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[h>>2]|0)+16>>2]=f;AR((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)*48|0)|0,0,((c[(c[h>>2]|0)+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((e[k>>1]|0)&1)gv(c[l>>2]|0,c[j>>2]|0);c[(c[h>>2]|0)+20>>2]=c[n>>2];c[g>>2]=0;f=c[g>>2]|0;i=p;return f|0}while(0);a=(c[h>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[m>>2]=f;c[o>>2]=(c[(c[h>>2]|0)+20>>2]|0)+(f*48|0);if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[j>>2]|0)+28>>2]|0;f=((Kj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[o>>2]|0)+16>>1]=f}else b[(c[o>>2]|0)+16>>1]=1;f=dy(c[j>>2]|0)|0;c[c[o>>2]>>2]=f;b[(c[o>>2]|0)+20>>1]=b[k>>1]|0;c[(c[o>>2]|0)+24>>2]=c[h>>2];c[(c[o>>2]|0)+4>>2]=-1;c[g>>2]=c[m>>2];f=c[g>>2]|0;i=p;return f|0}function CE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+4>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+16>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+22|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function DE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=37?(d[c[k>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=Zx(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=Zx(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=gB(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,35351)|0)!=0:0){c[l>>2]=_x(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=_x(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(ig(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function EE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(_x(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<38){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-38^2)+38;i=m;return}function FE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function GE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=rh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+12>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+20|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];AR((c[Q>>2]|0)+24|0,0,384)|0;nD(c[Q>>2]|0,c[T>>2]|0);oD(c[Q>>2]|0,c[L>>2]|0,27);rD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+18>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Rw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+12>>2]=c[p>>2];g=(c[P>>2]|0)+20|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+18>>1]=1024;c[r>>2]=c[p>>2];AR((c[r>>2]|0)+24|0,0,384)|0;nD(c[r>>2]|0,c[c[x>>2]>>2]|0);oD(c[r>>2]|0,c[c[P>>2]>>2]|0,28);rD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(yE(d[c[c[q>>2]>>2]>>0]|0)|0){h=AD((c[T>>2]|0)+68|0,c[(c[q>>2]|0)+8>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+20>>1]&8)){g=AD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+20>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+4>>2]|0)*48|0);f=AD((c[T>>2]|0)+68|0,c[(c[u>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+18>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+18>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=NE(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=NE(g,W)|0;c[v>>2]=W;if(!W)continue c;OE(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=AD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=36;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==36){U=0;c[F>>2]=c[(c[P>>2]|0)+12>>2];c[G>>2]=c[(c[P>>2]|0)+8>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)){W=j+20|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+12>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(Zx(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(Zx(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+20>>1]&64){c[K>>2]=Ay(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Rv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=Ay(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=Cv(c[R>>2]|0,33,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){FE(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=BE(c[x>>2]|0,c[O>>2]|0,3)|0;xE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);CE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else cv(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+18>>1]=4096;i=V;return}function HE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(JE(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((Zx(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=dy(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+480>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=KE(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(fe(c[A>>2]|0)|0)==3:0)c[E>>2]=ae(c[A>>2]|0)|0;LE(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Uv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];LE(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=hA(c[s>>2]|0)|0;LA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;ME(G,(Oz(c[D>>2]|0)|0)-1|0,0);lA(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;bh(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function IE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;k=n+56|0;h=n+52|0;l=n+48|0;m=n+16|0;g=n+8|0;f=n+4|0;j=n;c[h>>2]=b;c[l>>2]=e;c[m>>2]=c[1571];c[m+4>>2]=c[1572];c[m+8>>2]=c[1573];c[m+12>>2]=c[1574];c[m+16>>2]=c[1575];c[m+20>>2]=c[1576];c[m+24>>2]=c[1577];c[m+28>>2]=c[1578];if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[m+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[m+(b<<3)+4>>0]|0;c[k>>2]=1;m=c[k>>2]|0;i=n;return m|0}else if((f|0)==14){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0} -function XH(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1840|0;Ke=vf+496|0;Je=vf+488|0;Ie=vf+480|0;jf=vf+464|0;hf=vf+456|0;He=vf+448|0;Ge=vf+440|0;Fe=vf+432|0;Ee=vf+424|0;De=vf+416|0;Ce=vf+400|0;gf=vf+392|0;Be=vf+384|0;Ae=vf+376|0;ze=vf+368|0;ye=vf+360|0;xe=vf+352|0;of=vf+336|0;nf=vf+328|0;mf=vf+320|0;lf=vf+312|0;qf=vf+1620|0;ef=vf+1616|0;pf=vf+1612|0;uf=vf+1608|0;rf=vf+1604|0;ff=vf+1826|0;G=vf+1825|0;da=vf+1600|0;tf=vf+1596|0;ab=vf+1592|0;l=vf+1588|0;Mc=vf+1584|0;Nc=vf+1580|0;Oc=vf+1576|0;gd=vf+1572|0;n=vf+1568|0;sf=vf+304|0;g=vf+1564|0;bc=vf+1560|0;Gd=vf+1556|0;Ec=vf+1552|0;kf=vf+1548|0;A=vf+1544|0;gb=vf+1634|0;vd=vf+1540|0;Ea=vf+1536|0;nb=vf+1532|0;rb=vf+1528|0;Fa=vf+1524|0;Uc=vf+1520|0;Q=vf+1516|0;Na=vf+296|0;w=vf+1824|0;K=vf+1632|0;pe=vf+1630|0;qe=vf+1628|0;_=vf+288|0;ba=vf+280|0;Od=vf+272|0;Pd=vf+264|0;Ga=vf+1512|0;kc=vf+1508|0;V=vf+1504|0;lc=vf+1500|0;aa=vf+256|0;re=vf+248|0;ca=vf+240|0;kb=vf+1823|0;Qd=vf+1496|0;r=vf+1822|0;L=vf+1626|0;O=vf+1624|0;Ja=vf+1492|0;W=vf+1488|0;qb=vf+1484|0;sb=vf+1480|0;Qc=vf+1476|0;ua=vf+1472|0;cc=vf+1468|0;x=vf+1464|0;te=vf+1460|0;ue=vf+1456|0;y=vf+1452|0;Fd=vf+232|0;tb=vf+1448|0;Ab=vf+1444|0;dc=vf+1440|0;m=vf+1436|0;Ca=vf+1432|0;S=vf+1428|0;Bc=vf+1424|0;he=vf+192|0;Se=vf+1420|0;Xe=vf+1416|0;Ve=vf+1412|0;ib=vf+1408|0;jb=vf+184|0;v=vf+1404|0;le=vf+1400|0;ld=vf+1396|0;Qe=vf+1392|0;z=vf+1821|0;af=vf+1388|0;kd=vf+1384|0;Ra=vf+176|0;Xa=vf+1380|0;Oa=vf+168|0;db=vf+160|0;cb=vf+1376|0;ke=vf+1372|0;xc=vf+1368|0;Tc=vf+1364|0;Ua=vf+1360|0;Re=vf+1356|0;J=vf+1352|0;U=vf+1348|0;Ba=vf+1344|0;Da=vf+1340|0;Sa=vf+152|0;ec=vf+1336|0;pb=vf+1332|0;_e=vf+1328|0;$a=vf+1324|0;fd=vf+1320|0;nd=vf+1316|0;rd=vf+1312|0;sa=vf+1308|0;va=vf+1304|0;za=vf+1300|0;ya=vf+1296|0;D=vf+1292|0;ra=vf+1288|0;wb=vf+1284|0;na=vf+1280|0;ja=vf+1276|0;oa=vf+1272|0;fa=vf+1268|0;ea=vf+1264|0;yc=vf+1260|0;Va=vf+1256|0;Rc=vf+1252|0;ub=vf+1248|0;ga=vf+1244|0;Me=vf+1240|0;Dd=vf+1236|0;oc=vf+1232|0;zc=vf+1228|0;tc=vf+1224|0;Sc=vf+1220|0;Hd=vf+1216|0;uc=vf+1212|0;Bb=vf+1208|0;vc=vf+1204|0;Vd=vf+1200|0;hb=vf+1196|0;Cb=vf+1192|0;Kd=vf+1176|0;Wa=vf+1168|0;ka=vf+144|0;H=vf+1164|0;s=vf+1160|0;oe=vf+1156|0;wa=vf+1152|0;Db=vf+1148|0;Wd=vf+1144|0;Jc=vf+1140|0;Kc=vf+1136|0;Ld=vf+1120|0;q=vf+1638|0;Eb=vf+1112|0;fc=vf+1108|0;Xd=vf+1104|0;la=vf+136|0;se=vf+128|0;Fb=vf+1100|0;Yd=vf+1096|0;B=vf+1092|0;Vc=vf+1088|0;Fc=vf+1084|0;wc=vf+1080|0;Pc=vf+1076|0;ma=vf+120|0;Gb=vf+1072|0;eb=vf+1068|0;je=vf+1064|0;Te=vf+1060|0;od=vf+1056|0;lb=vf+1052|0;Hb=vf+1048|0;Ue=vf+1044|0;pd=vf+1040|0;mb=vf+1036|0;Ib=vf+1032|0;Zd=vf+1028|0;Za=vf+1024|0;Jb=vf+1020|0;Kb=vf+1016|0;gc=vf+1012|0;Ha=vf+1008|0;Ia=vf+112|0;Lb=vf+1004|0;ve=vf+104|0;wd=vf+1e3|0;_c=vf+996|0;Mb=vf+992|0;Nb=vf+988|0;hc=vf+984|0;_d=vf+980|0;Pb=vf+976|0;ic=vf+972|0;$d=vf+968|0;Qb=vf+964|0;be=vf+960|0;Sb=vf+956|0;Ya=vf+952|0;Ye=vf+948|0;Vb=vf+944|0;jc=vf+940|0;ce=vf+936|0;Md=vf+920|0;_b=vf+916|0;qd=vf+912|0;ee=vf+96|0;$b=vf+908|0;de=vf+904|0;Nd=vf+888|0;pa=vf+884|0;ha=vf+880|0;Qa=vf+876|0;ac=vf+872|0;Id=vf+868|0;P=vf+864|0;Ac=vf+860|0;ia=vf+856|0;Ze=vf+852|0;bf=vf+848|0;xa=vf+832|0;bb=vf+824|0;p=vf+820|0;Ta=vf+816|0;Ne=vf+812|0;Jd=vf+808|0;we=vf+88|0;ta=vf+804|0;I=vf+800|0;_a=vf+796|0;Pa=vf+792|0;md=vf+788|0;Wc=vf+784|0;Dc=vf+780|0;Gc=vf+776|0;id=vf+772|0;me=vf+768|0;Hc=vf+764|0;Lc=vf+760|0;Ic=vf+756|0;Ka=vf+752|0;mc=vf+748|0;X=vf+744|0;nc=vf+740|0;Xc=vf+736|0;ne=vf+48|0;Yc=vf+732|0;Y=vf+728|0;o=vf+716|0;Zc=vf+712|0;zb=vf+708|0;hd=vf+704|0;E=vf+700|0;F=vf+696|0;We=vf+692|0;xb=vf+688|0;Aa=vf+1637|0;ob=vf+684|0;Oe=vf+680|0;ud=vf+676|0;ie=vf+8|0;cf=vf+672|0;pc=vf+668|0;sd=vf+664|0;xd=vf+660|0;$c=vf+656|0;La=vf+652|0;qa=vf+648|0;ad=vf+644|0;jd=vf+640|0;vb=vf+636|0;td=vf+632|0;yd=vf+628|0;qc=vf+624|0;Td=vf+620|0;R=vf+616|0;t=vf+612|0;zd=vf+608|0;bd=vf+604|0;Cc=vf+600|0;ge=vf+568|0;rc=vf+564|0;Ad=vf+560|0;cd=vf+556|0;Ud=vf+552|0;sc=vf+548|0;Bd=vf+544|0;ed=vf+540|0;Cd=vf+536|0;dd=vf+532|0;Ma=vf+528|0;T=vf+524|0;fe=vf;u=vf+520|0;Ed=vf+516|0;Le=vf+1636|0;fb=vf+512|0;yb=vf+508|0;df=vf+504|0;Pe=vf+500|0;c[qf>>2]=f;c[ef>>2]=c[(c[qf>>2]|0)+4>>2];c[pf>>2]=c[ef>>2];c[uf>>2]=0;c[rf>>2]=c[c[qf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[rf>>2]|0)+66>>0]|0;c[da>>2]=0;c[tf>>2]=0;c[ab>>2]=0;c[l>>2]=c[(c[qf>>2]|0)+8>>2];c[Mc>>2]=0;c[Nc>>2]=0;c[Oc>>2]=0;c[gd>>2]=0;c[n>>2]=0;wf=(c[rf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=sf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;aI(c[qf>>2]|0);a:do if((c[(c[qf>>2]|0)+80>>2]|0)==7)k=881;else{c[(c[qf>>2]|0)+80>>2]=0;wf=(c[qf>>2]|0)+136|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[qf>>2]|0)+20>>2]=0;c[(c[rf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[rf>>2]|0)+248>>2]|0)){if(c[(c[rf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[qf>>2]|0)+108+16>>2];c[ab>>2]=(c[(c[rf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0)}c[pf>>2]=(c[ef>>2]|0)+((c[(c[qf>>2]|0)+76>>2]|0)*20|0);c:while(1){c[tf>>2]=(c[tf>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 85:{k=64;break c}case 1:{k=387;break c}case 13:{k=7;break}case 14:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;wf=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;k=c[Mc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 70:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[ef>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 15:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}case 71:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[bc>>2]=(c[ef>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);c[pf>>2]=(c[ef>>2]|0)+(((c[(c[bc>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 16:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;c[Gd>>2]=c[c[Mc>>2]>>2];j=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;wf=c[Mc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[ef>>2]|0)+((c[Gd>>2]|0)*20|0);break}case 72:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)k=20;break}case 73:{k=20;break}case 74:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 75:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 133:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=8;h[c[gd>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=76;wf=Jf(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=fh(c[gd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if(gu(c[gd>>2]|0,d[G>>0]|0)|0){k=881;break a}c[(c[gd>>2]|0)+24>>2]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Tf(c[rf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[gd>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[gd>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[rf>>2]|0)+92>>2]|0)){k=880;break c}else k=43;break}case 76:{k=43;break}case 77:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[A>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);wf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[gb>>1]=wf;b[(c[gd>>2]|0)+8>>1]=wf;while(1){if((c[A>>2]|0)<=0)break d;c[gd>>2]=(c[gd>>2]|0)+40;hh(c[gd>>2]|0);b[(c[gd>>2]|0)+8>>1]=b[gb>>1]|0;c[A>>2]=(c[A>>2]|0)+-1}}case 78:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=(e[(c[gd>>2]|0)+8>>1]|1)&-129;break}case 79:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;fh(c[gd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 80:{c[vd>>2]=(c[(c[qf>>2]|0)+60>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(gI(c[vd>>2]|0)|0){k=880;break c}c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;PF(c[gd>>2]|0,c[vd>>2]|0,2048);break}case 81:{c[Ea>>2]=c[(c[pf>>2]|0)+12>>2];c[nb>>2]=c[(c[pf>>2]|0)+4>>2];c[rb>>2]=c[(c[pf>>2]|0)+8>>2];c[Mc>>2]=(c[l>>2]|0)+((c[nb>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);do{RH(c[gd>>2]|0,c[Mc>>2]|0);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=881;break a}c[Mc>>2]=(c[Mc>>2]|0)+40;c[gd>>2]=(c[gd>>2]|0)+40;wf=(c[Ea>>2]|0)+-1|0;c[Ea>>2]=wf}while((wf|0)!=0);break}case 82:{c[Fa>>2]=c[(c[pf>>2]|0)+12>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){PF(c[gd>>2]|0,c[Mc>>2]|0,4096);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=881;break a}wf=c[Fa>>2]|0;c[Fa>>2]=wf+-1;if(!wf)break d;c[gd>>2]=(c[gd>>2]|0)+40;c[Mc>>2]=(c[Mc>>2]|0)+40}}case 83:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);PF(c[gd>>2]|0,c[Mc>>2]|0,4096);break}case 84:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wf=c[Mc>>2]|0;gh(c[gd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 52:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}if((e[(c[Mc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Mc>>2]|0)|0)!=0:0){k=881;break a}if((e[(c[Nc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Nc>>2]|0)|0)!=0:0){k=881;break a}if((e[(c[Mc>>2]|0)+8>>1]&18|0)==0?(Fx(c[Mc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=881;break a}if((e[(c[Nc>>2]|0)+8>>1]&18|0)==0?(Fx(c[Nc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=881;break a}g=(c[(c[Mc>>2]|0)+12>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0;j=Na;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Na;g=c[j+4>>2]|0;wf=c[(c[rf>>2]|0)+92>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=880;break c}if(Hx(c[gd>>2]|0,(c[Na>>2]|0)+2|0,(c[gd>>2]|0)==(c[Nc>>2]|0)&1)|0){k=881;break a}b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|2;if((c[gd>>2]|0)!=(c[Nc>>2]|0))yR(c[(c[gd>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+12>>2]|0)|0;yR((c[(c[gd>>2]|0)+16>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0,c[(c[Mc>>2]|0)+16>>2]|0,c[(c[Mc>>2]|0)+12>>2]|0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+(c[Na>>2]|0)>>0]=0;wf=Na;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[gd>>2]|0)+12>>2]=c[Na>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[pe>>1]=kI(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[qe>>1]=kI(c[Nc>>2]|0)|0;c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[pe>>1]&e[qe>>1]&4){wf=c[Mc>>2]|0;j=c[wf+4>>2]|0;f=_;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Nc>>2]|0;j=c[f+4>>2]|0;wf=ba;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[pf>>2]>>0]|0){case 47:{wf=_;if(lI(ba,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 48:{wf=_;if(mI(ba,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 49:{wf=_;if(nI(ba,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 50:{wf=_;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=_;wf=ba;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=_;f=ba;wf=ba;c[wf>>2]=FR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=_;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=_;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=_;c[wf>>2]=1;c[wf+4>>2]=0}j=_;f=ba;wf=ba;c[wf>>2]=GR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ba;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Od>>3]=+_g(c[Mc>>2]|0);h[Pd>>3]=+_g(c[Nc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 47:{h[Pd>>3]=+h[Pd>>3]+ +h[Od>>3];break}case 48:{h[Pd>>3]=+h[Pd>>3]-+h[Od>>3];break}case 49:{h[Pd>>3]=+h[Pd>>3]*+h[Od>>3];break}case 50:{if(+h[Od>>3]==0.0)break e;h[Pd>>3]=+h[Pd>>3]/+h[Od>>3];break}default:{xf=+h[Od>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=_;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Pd>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ba;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=_;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=_;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=_;c[wf>>2]=1;c[wf+4>>2]=0}j=ba;wf=_;h[Pd>>3]=+((GR(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(VF(+h[Pd>>3])|0)){h[c[gd>>2]>>3]=+h[Pd>>3];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[pe>>1]|e[qe>>1])&8|0)!=0)break d;Cx(c[gd>>2]|0);break d}}while(0);hh(c[gd>>2]|0);break}case 86:{if(c[(c[pf>>2]|0)+4>>2]|0)gh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 87:{c[Ga>>2]=d[(c[pf>>2]|0)+3>>0];c[kc>>2]=Rw(c[rf>>2]|0,32+((c[Ga>>2]|0)-1<<2)|0,0)|0;if(!(c[kc>>2]|0)){k=881;break a}c[c[kc>>2]>>2]=0;c[(c[kc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[kc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[kc>>2]|0)+12>>2]=c[qf>>2];a[(c[kc>>2]|0)+26>>0]=c[Ga>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[kc>>2];a[c[pf>>2]>>0]=88;k=124;break}case 88:{k=124;break}case 46:case 45:case 44:case 43:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}wf=$g(c[Nc>>2]|0)|0;j=aa;c[j>>2]=wf;c[j+4>>2]=C;j=$g(c[Mc>>2]|0)|0;wf=ca;c[wf>>2]=j;c[wf+4>>2]=C;a[kb>>0]=a[c[pf>>2]>>0]|0;do if((d[kb>>0]|0)!=43){f=ca;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[kb>>0]|0)==44){yf=aa;j=c[yf+4>>2]|f;wf=aa;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[ca+4>>2]|0)<0){a[kb>>0]=91-(d[kb>>0]|0);wf=ca;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=ca;j=vR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=ca;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=ca;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=aa;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[kb>>0]|0)==45;wf=g?0:-1;yf=aa;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[re>>2]=c[aa>>2];c[re+4>>2]=c[aa+4>>2];g=c[ca>>2]|0;j=re;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[kb>>0]|0)!=45){wf=xR(f|0,j|0,g|0)|0;yf=re;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[aa+4>>2]|0)<0){j=ca;j=vR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=BR(-1,-1,j|0)|0;f=re;wf=c[f+4>>2]|C;yf=re;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=BR(f|0,j|0,g|0)|0;yf=re;c[yf>>2]=wf;c[yf+4>>2]=C};c[aa>>2]=c[re>>2];c[aa+4>>2]=c[re+4>>2]}}else{j=ca;f=aa;wf=c[f+4>>2]&c[j+4>>2];yf=aa;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=aa;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break}case 89:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Jx(c[Mc>>2]|0)|0;wf=c[(c[pf>>2]|0)+8>>2]|0;yf=c[Mc>>2]|0;j=yf;wf=wR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 17:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&4|0)==0?(Ex(c[Mc>>2]|0,67,a[G>>0]|0),(e[(c[Mc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=157;break c}else{k=14;break d}b[(c[Mc>>2]|0)+8>>1]=e[(c[Mc>>2]|0)+8>>1]&-49664|4;break}case 90:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&4)Kx(c[Mc>>2]|0)|0;break}case 91:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&16384)g=Xg(c[Mc>>2]|0)|0;else g=0;c[uf>>2]=g;xx(c[Mc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Mc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Oc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Qd>>2]=0;break}c[Qd>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]|e[O>>1])&2){if((e[L>>1]&14|0)==2)zh(c[Mc>>2]|0,0);if((e[O>>1]&14|0)==2)zh(c[Oc>>2]|0,0)}}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){Fx(c[Mc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Mc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){Fx(c[Oc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Oc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}if(e[L>>1]&16384){Xg(c[Mc>>2]|0)|0;b[L>>1]=e[L>>1]&-16385}if(e[O>>1]&16384){Xg(c[Oc>>2]|0)|0;b[O>>1]=e[O>>1]&-16385}c[Qd>>2]=pI(c[Oc>>2]|0,c[Mc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 37:{c[Qd>>2]=(c[Qd>>2]|0)==0&1;break}case 36:{c[Qd>>2]=(c[Qd>>2]|0)!=0&1;break}case 40:{c[Qd>>2]=(c[Qd>>2]|0)<0&1;break}case 39:{c[Qd>>2]=(c[Qd>>2]|0)<=0&1;break}case 38:{c[Qd>>2]=(c[Qd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Qd>>2]|0)>=0&1}b[(c[Mc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Oc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;wf=c[Qd>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break d}}case 92:{c[n>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 93:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ja>>2]=c[(c[pf>>2]|0)+12>>2];c[Qc>>2]=c[(c[pf>>2]|0)+16>>2];c[qb>>2]=c[(c[pf>>2]|0)+4>>2];c[sb>>2]=c[(c[pf>>2]|0)+8>>2];c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[Ja>>2]|0))break;g=c[W>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[ua>>2]=g;c[cc>>2]=c[(c[Qc>>2]|0)+20+(c[W>>2]<<2)>>2];c[x>>2]=d[(c[(c[Qc>>2]|0)+16>>2]|0)+(c[W>>2]|0)>>0];c[da>>2]=pI((c[l>>2]|0)+(((c[qb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[sb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,c[cc>>2]|0)|0;if(c[da>>2]|0){k=210;break}c[W>>2]=(c[W>>2]|0)+1}if((k|0)==210?(k=0,(c[x>>2]|0)!=0):0)c[da>>2]=0-(c[da>>2]|0);c[n>>2]=0;break}case 18:{if((c[da>>2]|0)<0){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[da>>2]|0)){c[pf>>2]=(c[ef>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[ef>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)c[te>>2]=2;else{yf=$g(c[Mc>>2]|0)|0;c[te>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Nc>>2]|0)+8>>1]&1)c[ue>>2]=2;else{yf=$g(c[Nc>>2]|0)|0;c[ue>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[te>>2]|0)*3|0)+(c[ue>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==28)c[te>>2]=d[40384+g>>0];else c[te>>2]=d[40393+g>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[te>>2]|0)==2){b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[te>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 20:{if(a[(c[(c[qf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]|0)k=14;else a[(c[(c[qf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]=1;break}case 22:case 21:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){c[y>>2]=+_g(c[Mc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==22)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[pf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 34:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)k=14;break}case 35:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1))k=14;break}case 94:{c[Ab>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[tb>>2]=c[(c[pf>>2]|0)+8>>2];c[uf>>2]=qI(Ab,tb)|0;c[Bc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[Ab>>2]|0)+76>>2];c[dc>>2]=c[(c[Ab>>2]|0)+16>>2];if(c[uf>>2]|0)break a;g=c[Ab>>2]|0;if((c[(c[Ab>>2]|0)+56>>2]|0)!=(c[(c[qf>>2]|0)+72>>2]|0)){f=c[Ab>>2]|0;do if(a[g+2>>0]|0)if((d[f>>0]|0)==3){c[ld>>2]=(c[l>>2]|0)+((c[(c[Ab>>2]|0)+16>>2]|0)*40|0);yf=c[(c[ld>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[Ab>>2]|0)+64>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=yf;c[(c[Ab>>2]|0)+72>>2]=c[(c[ld>>2]|0)+16>>2];break}else{hh(c[Bc>>2]|0);break d}else{g=c[dc>>2]|0;if(!(d[f+4>>0]|0)){FH(g,Fd)|0;yf=rI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=c[Fd>>2]}else{sI(g,(c[Ab>>2]|0)+60|0)|0;yf=tI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf}g=c[(c[Ab>>2]|0)+60>>2]|0;if((c[(c[Ab>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[Ab>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[rf>>2]|0)+92>>2]|0)>>>0){k=880;break c}c[(c[Ab>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[Ab>>2]|0)+56>>2]=c[(c[qf>>2]|0)+72>>2];g=c[(c[Ab>>2]|0)+72>>2]|0;if((d[c[(c[Ab>>2]|0)+72>>2]>>0]|0)<128){c[ib>>2]=d[g>>0];g=1}else g=(HF(g,ib)|0)&255;c[(c[Ab>>2]|0)+68>>2]=g&255;b[(c[Ab>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[ib>>2];if((c[v>>2]|0)>>>0<(c[ib>>2]|0)>>>0){c[(c[Ab>>2]|0)+72>>2]=0;c[(c[Ab>>2]|0)+64>>2]=0;if((c[ib>>2]|0)>>>0>98307){k=263;break c}if((c[ib>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0){k=263;break c}else k=265}else k=265}else if((e[g+14>>1]|0)<=(c[tb>>2]|0))k=265;else c[le>>2]=c[(c[Ab>>2]|0)+80+(c[tb>>2]<<2)>>2];if((k|0)==265){k=0;if((c[(c[Ab>>2]|0)+68>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Ab>>2]|0)+72>>2]|0)){g=he;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=uI(c[dc>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,he)|0;if(c[uf>>2]|0)break a;c[Se>>2]=c[he+16>>2]}else c[Se>>2]=c[(c[Ab>>2]|0)+72>>2];c[S>>2]=e[(c[Ab>>2]|0)+14>>1];yf=jb;c[yf>>2]=c[(c[m>>2]|0)+(c[S>>2]<<2)>>2];c[yf+4>>2]=0;c[Xe>>2]=(c[Se>>2]|0)+(c[(c[Ab>>2]|0)+68>>2]|0);c[Ve>>2]=(c[Se>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Xe>>2]>>0]|0;c[le>>2]=yf;g=c[Xe>>2]|0;if(yf>>>0<128){c[Xe>>2]=g+1;wf=(vI(c[le>>2]&255)|0)&255;yf=jb;wf=wR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=jb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(HF(g,le)|0)&255;c[Xe>>2]=(c[Xe>>2]|0)+wf;wf=IF(c[le>>2]|0)|0;yf=jb;wf=wR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=jb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[le>>2]|0;yf=c[S>>2]|0;c[S>>2]=yf+1;c[(c[Ab>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[S>>2]<<2)>>2]=c[jb>>2];if((c[S>>2]|0)>(c[tb>>2]|0))break}while((c[Xe>>2]|0)>>>0<(c[Ve>>2]|0)>>>0);b[(c[Ab>>2]|0)+14>>1]=c[S>>2];c[(c[Ab>>2]|0)+68>>2]=(c[Xe>>2]|0)-(c[Se>>2]|0);if((c[Xe>>2]|0)>>>0>=(c[Ve>>2]|0)>>>0){if((c[Xe>>2]|0)>>>0>(c[Ve>>2]|0)>>>0){k=280;break c}yf=jb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[Ab>>2]|0)+60>>2]|0)){k=280;break c}}yf=jb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0:0)){k=280;break c}if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(he)}else c[le>>2]=0;if((e[(c[Ab>>2]|0)+14>>1]|0)<=(c[tb>>2]|0)){g=c[Bc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){PF(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{hh(g);break d}}}if(e[(c[Bc>>2]|0)+8>>1]&9312)hh(c[Bc>>2]|0);a[(c[Bc>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[Ab>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[tb>>2]|0)+1<<2)>>2]|0)>>>0){c[Se>>2]=(c[(c[Ab>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0);if((c[le>>2]|0)>>>0<12){JF(c[Se>>2]|0,c[le>>2]|0,c[Bc>>2]|0)|0;break d}g=(((c[le>>2]|0)-12|0)>>>0)/2|0;c[Ca>>2]=g;c[(c[Bc>>2]|0)+12>>2]=g;g=c[Bc>>2]|0;if((c[(c[Bc>>2]|0)+24>>2]|0)<((c[Ca>>2]|0)+2|0)){b[g+8>>1]=1;if(Hx(c[Bc>>2]|0,(c[Ca>>2]|0)+2|0,0)|0){k=881;break a}}else c[(c[Bc>>2]|0)+16>>2]=c[g+20>>2];yR(c[(c[Bc>>2]|0)+16>>2]|0,c[Se>>2]|0,c[Ca>>2]|0)|0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+(c[Ca>>2]|0)>>0]=0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+((c[Ca>>2]|0)+1)>>0]=0;b[(c[Bc>>2]|0)+8>>1]=b[17034+((c[le>>2]&1)<<1)>>1]|0;break d}do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[le>>2]|0)>>>0>=12?(c[le>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=304}else k=304;while(0);if((k|0)==304?(k=0,yf=IF(c[le>>2]|0)|0,c[Ca>>2]=yf,(yf|0)!=0):0){c[uf>>2]=uI(c[dc>>2]|0,c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0,c[Ca>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,c[Bc>>2]|0)|0;if(c[uf>>2]|0)break a;JF(c[(c[Bc>>2]|0)+16>>2]|0,c[le>>2]|0,c[Bc>>2]|0)|0;yf=(c[Bc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}JF(40402,c[le>>2]|0,c[Bc>>2]|0)|0;break}case 95:{c[Qe>>2]=c[(c[pf>>2]|0)+16>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Qe>>2]|0;c[Qe>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;Ex(c[Mc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Mc>>2]=(c[Mc>>2]|0)+40}}case 96:{yf=Ra;c[yf>>2]=0;c[yf+4>>2]=0;c[Xa>>2]=0;yf=db;c[yf>>2]=0;c[yf+4>>2]=0;c[Ua>>2]=c[(c[pf>>2]|0)+4>>2];c[Re>>2]=c[(c[pf>>2]|0)+16>>2];c[xc>>2]=(c[l>>2]|0)+((c[Ua>>2]|0)*40|0);c[Ua>>2]=c[(c[pf>>2]|0)+8>>2];c[Tc>>2]=(c[xc>>2]|0)+(((c[Ua>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[qf>>2]|0)+88>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Re>>2]|0){c[kd>>2]=c[xc>>2];do{wf=c[kd>>2]|0;c[kd>>2]=wf+40;yf=c[Re>>2]|0;c[Re>>2]=yf+1;Ex(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Re>>2]>>0]|0)!=0)}c[kd>>2]=c[Tc>>2];while(1){yf=wI(c[kd>>2]|0,c[J>>2]|0,Da)|0;c[ke>>2]=yf;c[(c[kd>>2]|0)+28>>2]=yf;do if(e[(c[kd>>2]|0)+8>>1]&16384){yf=Ra;g=c[kd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Xg(g)|0){k=881;break a}else break;else{wf=c[g>>2]|0;yf=db;wf=wR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=db;c[yf>>2]=wf;c[yf+4>>2]=C;c[Da>>2]=(c[Da>>2]|0)-(c[c[kd>>2]>>2]|0);break}}while(0);wf=Ra;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,c[Da>>2]|0,0)|0;yf=Ra;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ke>>2]|0)>>>0<=127)g=1;else g=NF(c[ke>>2]|0,0)|0;c[Xa>>2]=(c[Xa>>2]|0)+g;if((c[kd>>2]|0)==(c[xc>>2]|0))break;c[kd>>2]=(c[kd>>2]|0)+-40}g=c[Xa>>2]|0;if((c[Xa>>2]|0)>126){c[cb>>2]=NF(g,((g|0)<0)<<31>>31)|0;c[Xa>>2]=(c[Xa>>2]|0)+(c[cb>>2]|0);wf=c[cb>>2]|0;yf=c[Xa>>2]|0;if((wf|0)<(NF(yf,((yf|0)<0)<<31>>31)|0))c[Xa>>2]=(c[Xa>>2]|0)+1}else c[Xa>>2]=g+1;f=c[Xa>>2]|0;wf=Ra;wf=wR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Oa;c[f>>2]=wf;c[f+4>>2]=C;f=Oa;wf=db;wf=wR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[rf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=880;break c}if(Gx(c[gd>>2]|0,c[Oa>>2]|0)|0){k=881;break a}c[af>>2]=c[(c[gd>>2]|0)+16>>2];if((c[Xa>>2]|0)>>>0<128){a[c[af>>2]>>0]=c[Xa>>2];g=1}else{g=c[Xa>>2]|0;g=xI(c[af>>2]|0,g,((g|0)<0)<<31>>31)|0}c[U>>2]=g&255;c[Ba>>2]=c[Xa>>2];c[kd>>2]=c[xc>>2];do{c[ke>>2]=c[(c[kd>>2]|0)+28>>2];if((c[ke>>2]|0)>>>0<128){a[(c[af>>2]|0)+(c[U>>2]|0)>>0]=c[ke>>2];g=1}else g=xI((c[af>>2]|0)+(c[U>>2]|0)|0,c[ke>>2]|0,0)|0;c[U>>2]=(c[U>>2]|0)+(g&255);yf=yI((c[af>>2]|0)+(c[Ba>>2]|0)|0,c[kd>>2]|0,c[ke>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+yf;yf=(c[kd>>2]|0)+40|0;c[kd>>2]=yf}while(yf>>>0<=(c[Tc>>2]|0)>>>0);c[(c[gd>>2]|0)+12>>2]=c[Oa>>2];b[(c[gd>>2]|0)+8>>1]=16;yf=db;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[gd>>2]>>2]=c[db>>2];yf=(c[gd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[gd>>2]|0)+10>>0]=1;break}case 98:{c[ec>>2]=c[(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Sa;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=zI(c[ec>>2]|0,Sa)|0;if(c[uf>>2]|0)break a;c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;j=Sa;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[pb>>2]=c[(c[pf>>2]|0)+4>>2];c[_e>>2]=c[(c[pf>>2]|0)+16>>2];do if(!(c[pb>>2]|0)){if((c[(c[rf>>2]|0)+160>>2]|0)>0){dI(c[qf>>2]|0,40410,ye);c[uf>>2]=5;break}c[$a>>2]=Jf(c[_e>>2]|0)|0;c[uf>>2]=AI(c[rf>>2]|0,0,(c[(c[rf>>2]|0)+436>>2]|0)+(c[(c[rf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[fd>>2]=Rw(c[rf>>2]|0,32+(c[$a>>2]|0)+1|0,0)|0;if(c[fd>>2]|0){c[c[fd>>2]>>2]=(c[fd>>2]|0)+32;yR(c[c[fd>>2]>>2]|0,c[_e>>2]|0,(c[$a>>2]|0)+1|0)|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[rf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[fd>>2]|0)+24>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[fd>>2];yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[fd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[fd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[sa>>2]=0;c[nd>>2]=c[(c[rf>>2]|0)+424>>2];while(1){if(!(c[nd>>2]|0))break;if(!(ig(c[c[nd>>2]>>2]|0,c[_e>>2]|0)|0))break;c[sa>>2]=(c[sa>>2]|0)+1;c[nd>>2]=c[(c[nd>>2]|0)+24>>2]}if(!(c[nd>>2]|0)){yf=c[qf>>2]|0;c[ze>>2]=c[_e>>2];dI(yf,40461,ze);c[uf>>2]=1;break}if((c[pb>>2]|0)==1?(c[(c[rf>>2]|0)+160>>2]|0)>0:0){dI(c[qf>>2]|0,40483,Ae);c[uf>>2]=5;break}if(!(c[(c[nd>>2]|0)+24>>2]|0))g=(d[(c[rf>>2]|0)+75>>0]|0)!=0;else g=0;c[za>>2]=g&1;if(!((c[za>>2]|0)!=0&(c[pb>>2]|0)==1)){c[sa>>2]=(c[(c[rf>>2]|0)+432>>2]|0)-(c[sa>>2]|0)-1;g:do if((c[pb>>2]|0)==2){c[ya>>2]=(c[(c[rf>>2]|0)+24>>2]&2|0)!=0&1;c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break g;c[uf>>2]=BI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,516,(c[ya>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}}else c[ya>>2]=0;while(0);c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break;c[uf>>2]=CI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,c[pb>>2]|0,c[sa>>2]|0)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}if(c[ya>>2]|0){Qh(c[rf>>2]|0);Bg(c[rf>>2]|0);c[(c[rf>>2]|0)+24>>2]=c[(c[rf>>2]|0)+24>>2]|2}}else{yf=hI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=879;break c}a[(c[rf>>2]|0)+67>>0]=1;if((eI(c[qf>>2]|0)|0)==5){k=364;break c}a[(c[rf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[qf>>2]|0)+80>>2]}while(1){if((c[(c[rf>>2]|0)+424>>2]|0)==(c[nd>>2]|0))break;c[rd>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[(c[rd>>2]|0)+24>>2];Tf(c[rf>>2]|0,c[rd>>2]|0);yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[nd>>2]|0;if((c[pb>>2]|0)==1){c[(c[rf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[rf>>2]|0,c[nd>>2]|0);if(!(c[za>>2]|0)){yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[nd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[rf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[za>>2]|0)==0|(c[pb>>2]|0)==2){c[uf>>2]=AI(c[rf>>2]|0,c[pb>>2]|0,c[sa>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[rf>>2]|0)+24>>2]&67108864|0)!=0:0){k=405;break c}c[wb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[wb>>2]|0){c[uf>>2]=og(c[wb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if((c[uf>>2]&255|0)==5){k=408;break c}if(c[uf>>2]|0)break a;do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((d[(c[qf>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){if((d[(c[rf>>2]|0)+67>>0]|0)!=0?(c[(c[rf>>2]|0)+156>>2]|0)<=1:0)break;if(!(c[(c[qf>>2]|0)+104>>2]|0)){yf=(c[rf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[qf>>2]|0)+104>>2]=(c[(c[rf>>2]|0)+432>>2]|0)+(c[(c[rf>>2]|0)+436>>2]|0)}c[uf>>2]=AI(c[rf>>2]|0,0,(c[(c[qf>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=FI(c[wb>>2]|0,c[(c[qf>>2]|0)+104>>2]|0)|0;yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+152|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+160|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);pg(c[wb>>2]|0,1,na);c[ja>>2]=c[(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[na>>2]=0;c[ja>>2]=0}do if(d[(c[pf>>2]|0)+3>>0]|0){if((c[na>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[ja>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break;Tf(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);yf=ph(c[rf>>2]|0,40724)|0;c[(c[qf>>2]|0)+44>>2]=yf;if((c[c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[na>>2]|0))uj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 99:{c[fa>>2]=c[(c[pf>>2]|0)+4>>2];c[ea>>2]=c[(c[pf>>2]|0)+12>>2];pg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[fa>>2]<<4)+4>>2]|0,c[ea>>2]|0,oa);c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=c[oa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 100:{c[yc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[uf>>2]=Ag(c[(c[yc>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[yc>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[yc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[rf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Qh(c[rf>>2]|0);yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2}if(c[uf>>2]|0)break a;break}case 101:{c[oc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[oc>>2]|0)!=0?(c[(c[oc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=452;else k=438;break}case 103:case 102:{k=438;break}case 105:case 104:{c[tc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[tc>>2]|0)){k=881;break a}a[(c[tc>>2]|0)+2>>0]=1;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=$j(c[c[rf>>2]>>2]|0,0,c[rf>>2]|0,(c[tc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=og(c[(c[tc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[pf>>2]|0)+16>>2]|0;c[Sc>>2]=yf;g=c[(c[tc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=HI(g,1,4,0,c[(c[tc>>2]|0)+16>>2]|0)|0;a[(c[tc>>2]|0)+4>>0]=1;break}c[uf>>2]=JI(g,Hd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[tc>>2]|0)+24>>2]=c[Sc>>2];c[uf>>2]=HI(c[(c[tc>>2]|0)+20>>2]|0,c[Hd>>2]|0,4,c[Sc>>2]|0,c[(c[tc>>2]|0)+16>>2]|0)|0}a[(c[tc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 106:{c[uc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[uc>>2]|0)){k=881;break a}c[(c[uc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=KI(c[rf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[uc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 107:{c[Bb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[Bb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=wR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 108:{c[vc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[vc>>2]|0)){k=881;break a}a[(c[vc>>2]|0)+2>>0]=1;c[(c[vc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[vc>>2]|0)+4>>0]=1;break}case 109:{LI(c[qf>>2]|0,c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[Cb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[hb>>2]=d[c[pf>>2]>>0];c[H>>2]=0;a[(c[Cb>>2]|0)+2>>0]=0;if(a[(c[Cb>>2]|0)+4>>0]|0){c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&14|0)==2)zh(c[Oc>>2]|0,0);wf=$g(c[Oc>>2]|0)|0;yf=ka;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Oc>>2]|0)+8>>1]&4)){if(!(e[(c[Oc>>2]|0)+8>>1]&8)){k=14;break d}yf=ka;if(+h[c[Oc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[hb>>2]&1)break;c[hb>>2]=(c[hb>>2]|0)+-1;break}yf=ka;if(+h[c[Oc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[hb>>2]&1|0)==1:0)c[hb>>2]=(c[hb>>2]|0)+1}while(0);j=ka;c[uf>>2]=sF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ka;wf=c[j+4>>2]|0;yf=(c[Cb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=489}else{if(MI(c[(c[Cb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Wa>>2]=c[(c[pf>>2]|0)+16>>2];c[Kd>>2]=c[(c[Cb>>2]|0)+24>>2];b[Kd+8>>1]=c[Wa>>2];a[Kd+10>>0]=(1&(c[hb>>2]|0)-23|0)!=0?-1:1;c[Kd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Kd+4>>2]|0)+8>>1]&16384)Xg(c[Kd+4>>2]|0)|0;a[Kd+14>>0]=0;c[uf>>2]=sF(c[(c[Cb>>2]|0)+16>>2]|0,Kd,0,0,0,Vd)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Kd+14>>0]|0)==0:0))k=489}do if((k|0)==489){k=0;a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;g=c[Vd>>2]|0;if((c[hb>>2]|0)>=25){if((g|0)>=0?!((c[Vd>>2]|0)==0&(c[hb>>2]|0)==26):0){c[Vd>>2]=0;break}c[Vd>>2]=0;c[uf>>2]=fF(c[(c[Cb>>2]|0)+16>>2]|0,Vd)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Vd>>2]|0)==0&(c[hb>>2]|0)==23):0){c[Vd>>2]=NI(c[(c[Cb>>2]|0)+16>>2]|0)|0;break}c[Vd>>2]=0;c[uf>>2]=gF(c[(c[Cb>>2]|0)+16>>2]|0,Vd)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Vd>>2]|0)){if(c[H>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=14;break}case 31:case 30:case 29:{c[Db>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=0;g=c[(c[Db>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Ld>>2]=g;b[Ld+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Ld+4>>2]=c[Oc>>2];c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[Ld+8>>1]|0))break;if(e[(c[Ld+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&16384)Xg((c[Ld+4>>2]|0)+((c[wa>>2]|0)*40|0)|0)|0;c[wa>>2]=(c[wa>>2]|0)+1}c[Kc>>2]=Ld}else{c[Kc>>2]=qF(g,q,183,Jc)|0;if(!(c[Kc>>2]|0)){k=881;break a}if(e[(c[Oc>>2]|0)+8>>1]&16384)Xg(c[Oc>>2]|0)|0;rF(c[(c[Db>>2]|0)+24>>2]|0,c[(c[Oc>>2]|0)+12>>2]|0,c[(c[Oc>>2]|0)+16>>2]|0,c[Kc>>2]|0)}a[(c[Kc>>2]|0)+10>>0]=0;c[oe>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==29){c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[(c[Kc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Kc>>2]|0)+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&1)break;c[wa>>2]=(c[wa>>2]|0)+1}c[oe>>2]=1}while(0);c[uf>>2]=sF(c[(c[Db>>2]|0)+16>>2]|0,c[Kc>>2]|0,0,0,0,Wd)|0;Tf(c[rf>>2]|0,c[Jc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Db>>2]|0)+28>>2]=c[Wd>>2];c[s>>2]=(c[Wd>>2]|0)==0&1;a[(c[Db>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==31)if(c[s>>2]|0){k=14;break d}else break d;else if((c[oe>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 32:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Eb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[fc>>2]=c[(c[Eb>>2]|0)+16>>2];c[Xd>>2]=0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;j=la;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=la;c[uf>>2]=sF(c[fc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Xd)|0;j=la;wf=c[j+4>>2]|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Eb>>2]|0)+2>>0]=0;c[(c[Eb>>2]|0)+56>>2]=0;a[(c[Eb>>2]|0)+3>>0]=0;c[(c[Eb>>2]|0)+28>>2]=c[Xd>>2];if(c[Xd>>2]|0){if(c[(c[pf>>2]|0)+8>>2]|0){k=14;break d}c[uf>>2]=Oj(80748)|0}if(c[uf>>2]|0)break a;break}case 111:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=wR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[gd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 112:{yf=se;c[yf>>2]=0;c[yf+4>>2]=0;c[Yd>>2]=0;c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Fb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=OI(c[(c[Fb>>2]|0)+16>>2]|0,Yd)|0;if(c[uf>>2]|0)break a;if(c[Yd>>2]|0){yf=se;c[yf>>2]=1;c[yf+4>>2]=0;break}c[uf>>2]=FH(c[(c[Fb>>2]|0)+16>>2]|0,se)|0;yf=se;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Fb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=se;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=se;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[qf>>2]|0)+176>>2]|0){c[Fc>>2]=c[(c[qf>>2]|0)+176>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Vc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Vc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);Jx(c[Vc>>2]|0)|0;yf=c[Vc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=543;break c}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){k=543;break c}f=se;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Vc>>2]|0;yf=wR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Vc>>2]|0;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=se;c[yf>>2]=wf;c[yf+4>>2]=C}j=se;wf=c[j+4>>2]|0;yf=c[Vc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,se);j=se;yf=c[j+4>>2]&1073741823;wf=se;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=se;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=se;c[yf>>2]=wf;c[yf+4>>2]=C;yf=se;yf=sF(c[(c[Fb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Yd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Yd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Yd>>2]|0)){k=553;break c}}a[(c[Fb>>2]|0)+3>>0]=0;c[(c[Fb>>2]|0)+56>>2]=0;j=se;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 114:case 113:{c[lb>>2]=0;c[wc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==113){c[Pc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Pc>>2]|0;wf=c[j+4>>2]|0;yf=ma;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=ma;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+216>>2]|0)!=0:0){c[Te>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Gb>>2]|0)+1>>0]<<4)>>2];c[od>>2]=c[(c[pf>>2]|0)+16>>2];c[lb>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{c[od>>2]=0;c[Te>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){wf=ma;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[wc>>2]|0)+8>>1]&1){c[(c[wc>>2]|0)+16>>2]=0;c[(c[wc>>2]|0)+12>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Gb>>2]|0)+28>>2]|0;else g=0;c[je>>2]=g;if(e[(c[wc>>2]|0)+8>>1]&16384)c[eb>>2]=c[c[wc>>2]>>2];else c[eb>>2]=0;yf=ma;c[uf>>2]=PI(c[(c[Gb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,c[(c[wc>>2]|0)+16>>2]|0,c[(c[wc>>2]|0)+12>>2]|0,c[eb>>2]|0,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[je>>2]|0)|0;a[(c[Gb>>2]|0)+3>>0]=0;c[(c[Gb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[lb>>2]|0)!=0?(c[(c[rf>>2]|0)+216>>2]|0)!=0:0){yf=ma;Xb[c[(c[rf>>2]|0)+216>>2]&255](c[(c[rf>>2]|0)+212>>2]|0,c[lb>>2]|0,c[Te>>2]|0,c[c[od>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 115:{c[mb>>2]=c[(c[pf>>2]|0)+8>>2];c[Hb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+216>>2]|0)!=0:0){c[Ue>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Hb>>2]|0)+1>>0]<<4)>>2];c[pd>>2]=c[(c[pf>>2]|0)+16>>2];if((d[(c[pf>>2]|0)+3>>0]&2|0)!=0?(d[(c[Hb>>2]|0)+4>>0]|0)!=0:0)FH(c[(c[Hb>>2]|0)+16>>2]|0,(c[Hb>>2]|0)+40|0)|0}else{c[Ue>>2]=0;c[pd>>2]=0}c[uf>>2]=QI(c[(c[Hb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Hb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(((c[mb>>2]&1|0)!=0?(yf=(c[qf>>2]|0)+92|0,c[yf>>2]=(c[yf>>2]|0)+1,(c[(c[rf>>2]|0)+216>>2]|0)!=0):0)?(d[(c[pd>>2]|0)+42>>0]&32|0)==0:0){yf=(c[Hb>>2]|0)+40|0;Xb[c[(c[rf>>2]|0)+216>>2]&255](c[(c[rf>>2]|0)+212>>2]|0,9,c[Ue>>2]|0,c[c[pd>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 116:{bI(c[rf>>2]|0,c[(c[qf>>2]|0)+92>>2]|0);c[(c[qf>>2]|0)+92>>2]=0;break}case 117:{c[Ib>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Za>>2]=c[(c[pf>>2]|0)+16>>2];c[Zd>>2]=0;c[uf>>2]=RI(c[Ib>>2]|0,c[Oc>>2]|0,c[Za>>2]|0,Zd)|0;if(c[uf>>2]|0)break a;if(c[Zd>>2]|0)k=14;break}case 118:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Jb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=SI(c[Jb>>2]|0,c[gd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 120:case 119:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Kb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Kb>>2]|0)+16>>2];g=c[gc>>2]|0;if(d[(c[Kb>>2]|0)+4>>0]|0){sI(g,Ha)|0;if((c[Ha>>2]|0)>>>0>(c[(c[rf>>2]|0)+92>>2]|0)>>>0){k=880;break c}}else{FH(g,Ia)|0;wf=Ia;f=c[wf+4>>2]|0;yf=c[(c[rf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>yf>>>0:0)){k=880;break c}c[Ha>>2]=c[Ia>>2]}if(Gx(c[gd>>2]|0,(c[Ha>>2]|0)>>>0>32?c[Ha>>2]|0:32)|0){k=881;break a}c[(c[gd>>2]|0)+12>>2]=c[Ha>>2];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|16;g=c[gc>>2]|0;f=c[Ha>>2]|0;j=c[(c[gd>>2]|0)+16>>2]|0;if(!(d[(c[Kb>>2]|0)+4>>0]|0))c[uf>>2]=GH(g,0,f,j)|0;else c[uf>>2]=Oh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[gd>>2]|0)+10>>0]=1;break}case 121:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Lb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}g=c[Lb>>2]|0;do if(!(a[(c[Lb>>2]|0)+3>>0]|0)){f=c[Lb>>2]|0;if((d[g>>0]|0)==2){c[wd>>2]=c[c[f+16>>2]>>2];c[_c>>2]=c[c[wd>>2]>>2];c[uf>>2]=Yb[c[(c[_c>>2]|0)+48>>2]&255](c[(c[Lb>>2]|0)+16>>2]|0,ve)|0;TI(c[qf>>2]|0,c[wd>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=UI(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}else{c[uf>>2]=FH(c[(c[Lb>>2]|0)+16>>2]|0,ve)|0;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=ve;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=ve;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 122:{c[Mb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Mb>>2]|0)+2>>0]=1;c[(c[Mb>>2]|0)+56>>2]=0;if(!(d[c[Mb>>2]>>0]|0))CB(c[(c[Mb>>2]|0)+16>>2]|0);break}case 33:{c[Nb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[hc>>2]=c[(c[Nb>>2]|0)+16>>2];c[_d>>2]=0;c[uf>>2]=OI(c[hc>>2]|0,_d)|0;a[(c[Nb>>2]|0)+2>>0]=c[_d>>2];a[(c[Nb>>2]|0)+3>>0]=0;c[(c[Nb>>2]|0)+56>>2]=0;c[(c[Nb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[_d>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 53:case 42:{k=(c[qf>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=618;break}case 55:{k=618;break}case 3:{c[Qb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[be>>2]=0;c[uf>>2]=XI(c[rf>>2]|0,c[Qb>>2]|0,be)|0;k=626;break}case 5:case 4:{if(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=625;break}case 7:case 6:{k=625;break}case 124:case 123:{c[Sb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Nc>>2]|0)+8>>1]&16384)g=Xg(c[Nc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==123)c[uf>>2]=YI(c[Sb>>2]|0,c[Nc>>2]|0)|0;else{c[Ya>>2]=c[(c[Nc>>2]|0)+12>>2];c[Ye>>2]=c[(c[Nc>>2]|0)+16>>2];g=c[Ya>>2]|0;if(d[(c[pf>>2]|0)+3>>0]&16)f=c[(c[Sb>>2]|0)+28>>2]|0;else f=0;c[uf>>2]=PI(c[(c[Sb>>2]|0)+16>>2]|0,c[Ye>>2]|0,g,((g|0)<0)<<31>>31,19018,0,0,c[(c[pf>>2]|0)+12>>2]|0,f)|0;c[(c[Sb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 125:{c[Vb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[jc>>2]=c[(c[Vb>>2]|0)+16>>2];c[Md>>2]=c[(c[Vb>>2]|0)+24>>2];b[Md+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Md+10>>0]=0;c[Md+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=sF(c[jc>>2]|0,Md,0,0,0,ce)|0;if(c[uf>>2]|0)break a;if((c[ce>>2]|0)==0?(c[uf>>2]=QI(c[jc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Vb>>2]|0)+56>>2]=0;break}case 127:case 126:{c[_b>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=UI(c[_b>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[_b>>2]|0)+2>>0]|0){hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ee;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=ZI(c[rf>>2]|0,c[(c[_b>>2]|0)+16>>2]|0,ee)|0;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==126){c[qd>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[qd>>2]|0)+2>>0]=0;j=ee;wf=c[j+4>>2]|0;yf=(c[qd>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[qd>>2]|0)+3>>0]=1;c[(c[qd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[qd>>2]|0)+48>>2]=c[_b>>2];break d}else{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;j=ee;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=4;break d}}case 59:case 58:case 57:case 56:{c[$b>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Nd>>2]=c[(c[$b>>2]|0)+24>>2];b[Nd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Nd+10|0;if((d[c[pf>>2]>>0]|0)<58)a[g>>0]=-1;else a[g>>0]=0;c[Nd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[de>>2]=0;c[uf>>2]=_I(c[rf>>2]|0,c[$b>>2]|0,Nd,de)|0;g=c[de>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[de>>2]=0-g;else c[de>>2]=g+1;if(c[uf>>2]|0)break a;if((c[de>>2]|0)>0)k=14;break}case 128:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=1;if((c[(c[rf>>2]|0)+156>>2]|0)>((c[(c[rf>>2]|0)+168>>2]|0)+1|0)){k=661;break c}c[ha>>2]=c[(c[pf>>2]|0)+12>>2];c[pa>>2]=0;c[uf>>2]=$I(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,pa)|0;b[(c[gd>>2]|0)+8>>1]=4;wf=c[pa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[pa>>2]|0){aJ(c[rf>>2]|0,c[ha>>2]|0,c[pa>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ha>>2]|0)+1}break}case 129:{c[Qa>>2]=0;c[uf>>2]=bJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Qa:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(yf=(c[qf>>2]|0)+92|0,c[yf>>2]=(c[yf>>2]|0)+(c[Qa>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){wf=c[Qa>>2]|0;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=wR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 130:{c[ac>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[ac>>2]>>0]|0)!=1){c[uf>>2]=dJ(c[(c[ac>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{cJ(c[rf>>2]|0,c[(c[ac>>2]|0)+16>>2]|0);break d}}case 132:case 131:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Id>>2]=0;c[Ac>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==132)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=JI(c[(c[Ac>>2]|0)+4>>2]|0,Id,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Id>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 134:{c[ia>>2]=c[(c[pf>>2]|0)+4>>2];c[Ze>>2]=(c[ia>>2]|0)==1?20521:20540;c[xa>>2]=c[rf>>2];c[xa+8>>2]=c[(c[pf>>2]|0)+4>>2];c[xa+4>>2]=(c[qf>>2]|0)+44;yf=c[rf>>2]|0;j=c[Ze>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[Ce>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)>>2];c[Ce+4>>2]=j;c[Ce+8>>2]=wf;c[bf>>2]=Eh(yf,40752,Ce)|0;if(!(c[bf>>2]|0))c[uf>>2]=7;else{a[(c[rf>>2]|0)+144+5>>0]=1;c[xa+12>>2]=0;c[uf>>2]=$e(c[rf>>2]|0,c[bf>>2]|0,140,xa,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[xa+12>>2];Tf(c[rf>>2]|0,c[bf>>2]|0);a[(c[rf>>2]|0)+144+5>>0]=0}if(c[uf>>2]|0){k=683;break c}break}case 135:{c[uf>>2]=Dj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 136:{eJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 137:{fJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 138:{gJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 139:{c[bb>>2]=c[(c[pf>>2]|0)+8>>2];c[p>>2]=c[(c[pf>>2]|0)+16>>2];c[Jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Ne>>2]=hJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[bb>>2]|0,c[c[Jd>>2]>>2]|0,Ta)|0;wf=c[Ta>>2]|0;yf=c[Jd>>2]|0;j=yf;wf=vR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;hh(c[Mc>>2]|0);if(c[Ta>>2]|0){if(!(c[Ne>>2]|0)){k=881;break a}fh(c[Mc>>2]|0,c[Ne>>2]|0,-1,1,148)|0}gu(c[Mc>>2]|0,d[G>>0]|0)|0;break}case 140:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(iJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=881;break a}yf=c[Nc>>2]|0;jJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 60:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)!=0?(kJ(c[c[Mc>>2]>>2]|0,we)|0)!=0:0){k=we;gh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}hh(c[Mc>>2]|0);k=7;break}case 61:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ta>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(iJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=881;break a}if((c[ta>>2]|0)!=0?(yf=c[Oc>>2]|0,c[I>>2]=lJ(c[c[Mc>>2]>>2]|0,c[ta>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ta>>2]|0)>=0){yf=c[Oc>>2]|0;jJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 62:{c[id>>2]=c[(c[pf>>2]|0)+16>>2];c[md>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[me>>2]=c[(c[id>>2]|0)+20>>2];c[Gc>>2]=c[(c[qf>>2]|0)+176>>2];while(1){if(!(c[Gc>>2]|0))break;if((c[(c[Gc>>2]|0)+28>>2]|0)==(c[me>>2]|0))break;c[Gc>>2]=c[(c[Gc>>2]|0)+4>>2]}if(c[Gc>>2]|0)break d}if((c[(c[qf>>2]|0)+184>>2]|0)>=(c[(c[rf>>2]|0)+92+40>>2]|0)){k=712;break c}i:do if(!(e[(c[md>>2]|0)+8>>1]&64)){c[_a>>2]=(c[(c[id>>2]|0)+8>>2]|0)+(c[(c[id>>2]|0)+12>>2]|0);if(!(c[(c[id>>2]|0)+12>>2]|0))c[_a>>2]=(c[_a>>2]|0)+1;c[Pa>>2]=80+((c[_a>>2]|0)*40|0)+(c[(c[id>>2]|0)+12>>2]<<2)+(c[(c[id>>2]|0)+16>>2]|0);yf=c[Pa>>2]|0;c[Gc>>2]=rh(c[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Gc>>2]|0)){k=881;break a}Wg(c[md>>2]|0);b[(c[md>>2]|0)+8>>1]=64;c[c[md>>2]>>2]=c[Gc>>2];c[c[Gc>>2]>>2]=c[qf>>2];c[(c[Gc>>2]|0)+64>>2]=c[_a>>2];c[(c[Gc>>2]|0)+68>>2]=c[(c[id>>2]|0)+12>>2];c[(c[Gc>>2]|0)+48>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[Gc>>2]|0)+16>>2]=c[(c[qf>>2]|0)+8>>2];c[(c[Gc>>2]|0)+56>>2]=c[(c[qf>>2]|0)+28>>2];c[(c[Gc>>2]|0)+24>>2]=c[(c[qf>>2]|0)+56>>2];c[(c[Gc>>2]|0)+44>>2]=c[(c[qf>>2]|0)+36>>2];c[(c[Gc>>2]|0)+8>>2]=c[(c[qf>>2]|0)+4>>2];c[(c[Gc>>2]|0)+52>>2]=c[(c[qf>>2]|0)+32>>2];c[(c[Gc>>2]|0)+28>>2]=c[(c[id>>2]|0)+20>>2];c[(c[Gc>>2]|0)+20>>2]=c[(c[qf>>2]|0)+200>>2];c[(c[Gc>>2]|0)+60>>2]=c[(c[qf>>2]|0)+196>>2];c[Dc>>2]=(c[Gc>>2]|0)+80+((c[(c[Gc>>2]|0)+64>>2]|0)*40|0);c[Wc>>2]=(c[Gc>>2]|0)+80;while(1){if((c[Wc>>2]|0)==(c[Dc>>2]|0))break i;b[(c[Wc>>2]|0)+8>>1]=128;c[(c[Wc>>2]|0)+32>>2]=c[rf>>2];c[Wc>>2]=(c[Wc>>2]|0)+40}}else c[Gc>>2]=c[c[md>>2]>>2];while(0);j=(c[qf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Gc>>2]|0)+4>>2]=c[(c[qf>>2]|0)+176>>2];j=sf;wf=c[j+4>>2]|0;yf=(c[Gc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Gc>>2]|0)+72>>2]=c[(c[qf>>2]|0)+92>>2];c[(c[Gc>>2]|0)+76>>2]=c[(c[c[qf>>2]>>2]|0)+84>>2];c[(c[Gc>>2]|0)+40>>2]=c[(c[qf>>2]|0)+204>>2];c[(c[qf>>2]|0)+204>>2]=0;c[(c[qf>>2]|0)+92>>2]=0;c[(c[qf>>2]|0)+176>>2]=c[Gc>>2];yf=(c[Gc>>2]|0)+80|0;c[l>>2]=yf;c[(c[qf>>2]|0)+8>>2]=yf;c[(c[qf>>2]|0)+28>>2]=c[(c[Gc>>2]|0)+64>>2];c[(c[qf>>2]|0)+36>>2]=c[(c[Gc>>2]|0)+68>>2]&65535;c[(c[qf>>2]|0)+56>>2]=(c[l>>2]|0)+((c[(c[qf>>2]|0)+28>>2]|0)*40|0);yf=c[c[id>>2]>>2]|0;c[ef>>2]=yf;c[(c[qf>>2]|0)+4>>2]=yf;c[(c[qf>>2]|0)+32>>2]=c[(c[id>>2]|0)+4>>2];c[(c[qf>>2]|0)+200>>2]=(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[qf>>2]|0)+36>>2]<<2);c[(c[qf>>2]|0)+196>>2]=c[(c[id>>2]|0)+16>>2];c[pf>>2]=(c[ef>>2]|0)+-20;AR(c[(c[qf>>2]|0)+200>>2]|0,0,c[(c[qf>>2]|0)+196>>2]|0)|0;break}case 141:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Hc>>2]=c[(c[qf>>2]|0)+176>>2];c[Lc>>2]=(c[(c[Hc>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Hc>>2]|0)+8>>2]|0)+((c[(c[Hc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);PF(c[gd>>2]|0,c[Lc>>2]|0,4096);break}case 142:{g=c[pf>>2]|0;if(c[(c[rf>>2]|0)+24>>2]&33554432){wf=c[g+8>>2]|0;yf=(c[rf>>2]|0)+448|0;j=yf;wf=wR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[rf>>2]|0)+440|0;wf=yf;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[qf>>2]|0)+144|0;wf=yf;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 63:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[rf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[qf>>2]|0)+144|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 143:{if(c[(c[qf>>2]|0)+176>>2]|0){c[Ic>>2]=c[(c[qf>>2]|0)+176>>2];while(1){if(!(c[(c[Ic>>2]|0)+4>>2]|0))break;c[Ic>>2]=c[(c[Ic>>2]|0)+4>>2]}c[Mc>>2]=(c[(c[Ic>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Jx(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);Jx(c[Nc>>2]|0)|0;wf=c[Mc>>2]|0;f=c[wf+4>>2]|0;yf=c[Nc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Nc>>2]|0;wf=c[j+4>>2]|0;yf=c[Mc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 64:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=vR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 144:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Mc>>2]|0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Oc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=wR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[gd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 65:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=vR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 66:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=yf;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Mc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 145:{c[Ka>>2]=d[(c[pf>>2]|0)+3>>0];c[mc>>2]=Rw(c[rf>>2]|0,32+((c[Ka>>2]|0)-1<<2)|0,0)|0;if(!(c[mc>>2]|0)){k=881;break a}c[(c[mc>>2]|0)+8>>2]=0;c[(c[mc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[mc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[mc>>2]|0)+12>>2]=c[qf>>2];a[(c[mc>>2]|0)+26>>0]=c[Ka>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[mc>>2];a[c[pf>>2]>>0]=-110;k=753;break}case 146:{k=753;break}case 147:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=SF(c[Yc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=765;break c}gu(c[Yc>>2]|0,d[G>>0]|0)|0;if(gI(c[Yc>>2]|0)|0){k=880;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=mi(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[Y>>2]=0;c[Zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[Y>>2]|0)>=3)break d;yf=c[o+(c[Y>>2]<<2)>>2]|0;gh(c[Zc>>2]|0,yf,((yf|0)<0)<<31>>31);c[Y>>2]=(c[Y>>2]|0)+1;c[Zc>>2]=(c[Zc>>2]|0)+40}}case 9:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[E>>2]=c[(c[pf>>2]|0)+12>>2];c[zb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[hd>>2]=Pf(c[zb>>2]|0)|0;c[F>>2]=sg(c[hd>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(mJ(c[hd>>2]|0)|0))c[E>>2]=c[F>>2];c[We>>2]=Ii(c[hd>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[We>>2]|0)|0)!=0?(nJ(c[hd>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[rf>>2]|0)+67>>0]|0)){k=785;break c}if((c[(c[rf>>2]|0)+156>>2]|0)>1){k=785;break c}if((c[F>>2]|0)==5){c[uf>>2]=oJ(c[hd>>2]|0)|0;if(!(c[uf>>2]|0))pJ(c[hd>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)pJ(c[hd>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Cg(c[zb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=pJ(c[hd>>2]|0,c[E>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;yf=cC(c[E>>2]|0)|0;c[(c[gd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[gd>>2]|0)+16>>2]|0)|0;c[(c[gd>>2]|0)+12>>2]=yf;a[(c[gd>>2]|0)+10>>0]=1;gu(c[gd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=qJ((c[qf>>2]|0)+44|0,c[rf>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 67:{c[xb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=rJ(c[xb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 148:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;break d}else{Qh(c[rf>>2]|0);break d}case 149:{a[Aa>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Aa>>0]|0)==0?0!=(c[(c[rf>>2]|0)+24>>2]&16384|0):0)break d;c[ob>>2]=c[(c[pf>>2]|0)+4>>2];c[uf>>2]=sJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ob>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Aa>>0]|0)|0;if(c[uf>>2]|0){k=806;break c}break}case 150:{c[ud>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=tJ(c[rf>>2]|0,c[ud>>2]|0)|0;if(c[ud>>2]|0)TI(c[qf>>2]|0,c[(c[ud>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 151:{g=ie;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ie+32>>2]=c[rf>>2];c[uf>>2]=ih(ie,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[cf>>2]=ae(ie)|0;if(c[cf>>2]|0)c[uf>>2]=uJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[cf>>2]|0,(c[qf>>2]|0)+44|0)|0;Wg(ie);if(c[uf>>2]|0)break a;break}case 152:{yf=(c[rf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=vJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;yf=(c[rf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 153:{c[pc>>2]=0;c[sd>>2]=0;c[xd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[xd>>2]|0)){k=817;break c}if(!(c[c[xd>>2]>>2]|0)){k=817;break c}c[$c>>2]=c[c[xd>>2]>>2];c[uf>>2]=Yb[c[(c[$c>>2]|0)+24>>2]&255](c[xd>>2]|0,sd)|0;TI(c[qf>>2]|0,c[xd>>2]|0);if(c[uf>>2]|0)break a;c[c[sd>>2]>>2]=c[xd>>2];c[pc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[pc>>2]|0)){k=821;break c}c[(c[pc>>2]|0)+16>>2]=c[sd>>2];yf=(c[xd>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[vb>>2]=(c[jd>>2]|0)+40;c[qc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[td>>2]=c[(c[qc>>2]|0)+16>>2];c[yd>>2]=c[c[td>>2]>>2];c[ad>>2]=c[c[yd>>2]>>2];c[La>>2]=c[c[vb>>2]>>2];c[qa>>2]=c[c[jd>>2]>>2];c[Td>>2]=0;c[t>>2]=c[(c[qf>>2]|0)+12>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[La>>2]|0))break;c[(c[t>>2]|0)+(c[R>>2]<<2)>>2]=(c[vb>>2]|0)+(((c[R>>2]|0)+1|0)*40|0);c[R>>2]=(c[R>>2]|0)+1}c[uf>>2]=Zb[c[(c[ad>>2]|0)+32>>2]&255](c[td>>2]|0,c[qa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[La>>2]|0,c[t>>2]|0)|0;TI(c[qf>>2]|0,c[yd>>2]|0);if(c[uf>>2]|0)break a;c[Td>>2]=Tb[c[(c[ad>>2]|0)+40>>2]&255](c[td>>2]|0)|0;a[(c[qc>>2]|0)+2>>0]=0;if(c[Td>>2]|0)k=14;break}case 154:{c[rc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Cc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[rc>>2]|0)+2>>0]|0){hh(c[Cc>>2]|0);break d}c[zd>>2]=c[c[(c[rc>>2]|0)+16>>2]>>2];c[bd>>2]=c[c[zd>>2]>>2];c[ge>>2]=0;c[ge+4>>2]=0;c[ge+8>>2]=0;c[ge+12>>2]=0;c[ge+16>>2]=0;c[ge+20>>2]=0;c[ge+24>>2]=0;c[ge+28>>2]=0;c[ge>>2]=c[Cc>>2];b[(c[Cc>>2]|0)+8>>1]=e[(c[Cc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[bd>>2]|0)+44>>2]&255](c[(c[rc>>2]|0)+16>>2]|0,ge,c[(c[pf>>2]|0)+8>>2]|0)|0;TI(c[qf>>2]|0,c[zd>>2]|0);if(c[ge+20>>2]|0)c[uf>>2]=c[ge+20>>2];gu(c[Cc>>2]|0,d[G>>0]|0)|0;if(gI(c[Cc>>2]|0)|0){k=880;break c}if(c[uf>>2]|0)break a;break}case 68:{c[Ud>>2]=0;c[sc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[sc>>2]|0)+2>>0]|0)){c[Ad>>2]=c[c[(c[sc>>2]|0)+16>>2]>>2];c[cd>>2]=c[c[Ad>>2]>>2];c[uf>>2]=Tb[c[(c[cd>>2]|0)+36>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;TI(c[qf>>2]|0,c[Ad>>2]|0);if(c[uf>>2]|0)break a;c[Ud>>2]=Tb[c[(c[cd>>2]|0)+40>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;if(c[Ud>>2]|0)k=8;else k=7}break}case 155:{c[Bd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[ed>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=gu(c[ed>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[Bd>>2]>>2]|0)+76>>2]&255](c[Bd>>2]|0,c[(c[ed>>2]|0)+16>>2]|0)|0;TI(c[qf>>2]|0,c[Bd>>2]|0);yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[Cd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[Cd>>2]|0)){k=840;break c}if(!(c[c[Cd>>2]>>2]|0)){k=840;break c}c[dd>>2]=c[c[Cd>>2]>>2];c[Ma>>2]=c[(c[pf>>2]|0)+8>>2];if(c[(c[dd>>2]|0)+52>>2]|0){a[Le>>0]=a[(c[rf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[qf>>2]|0)+12>>2];c[Ed>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Ma>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=c[Ed>>2];c[Ed>>2]=(c[Ed>>2]|0)+40;c[T>>2]=(c[T>>2]|0)+1}a[(c[rf>>2]|0)+74>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[dd>>2]|0)+52>>2]&255](c[Cd>>2]|0,c[Ma>>2]|0,c[u>>2]|0,fe)|0;a[(c[rf>>2]|0)+74>>0]=a[Le>>0]|0;TI(c[qf>>2]|0,c[Cd>>2]|0);if((c[uf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){wf=fe;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[qf>>2]|0)+86>>0]=g}else k=855;while(0);if((k|0)==855){k=0;yf=(c[qf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 156:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=tg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 157:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[yb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[fb>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[fb>>2]=tg(c[yb>>2]|0)|0,(c[fb>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[fb>>2]=c[(c[pf>>2]|0)+12>>2];wf=wJ(c[yb>>2]|0,c[fb>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 69:{if((c[(c[rf>>2]|0)+180>>2]|0)!=0?((d[(c[qf>>2]|0)+87>>0]|0)>>>1&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[qf>>2]|0)+168>>2]|0;c[df>>2]=g;if(g){c[Pe>>2]=xJ(c[qf>>2]|0,c[df>>2]|0)|0;Rb[c[(c[rf>>2]|0)+180>>2]&255](c[(c[rf>>2]|0)+184>>2]|0,c[Pe>>2]|0);Tf(c[rf>>2]|0,c[Pe>>2]|0)}}if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}default:{}}while(0);if((k|0)==20){k=0;c[kf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=25;break}if(!(c[(c[qf>>2]|0)+176>>2]|0)){k=25;break}c[Ec>>2]=c[(c[qf>>2]|0)+176>>2];c[(c[qf>>2]|0)+176>>2]=c[(c[Ec>>2]|0)+4>>2];j=(c[qf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;bI(c[rf>>2]|0,c[(c[qf>>2]|0)+92>>2]|0);c[kf>>2]=cI(c[Ec>>2]|0)|0;j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[kf>>2]=(c[(c[(c[qf>>2]|0)+4>>2]|0)+((c[kf>>2]|0)*20|0)+8>>2]|0)-1;c[ef>>2]=c[(c[qf>>2]|0)+4>>2];c[l>>2]=c[(c[qf>>2]|0)+8>>2];c[pf>>2]=(c[ef>>2]|0)+((c[kf>>2]|0)*20|0)}else if((k|0)==43){k=0;c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;c[(c[gd>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[gd>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[pf>>2]|0)+12>>2]|0)>0?(c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),yf=c[Oc>>2]|0,(c[yf+4>>2]|0)==0?(c[yf>>2]|0)==(d[(c[pf>>2]|0)+3>>0]|0):0):0)b[(c[gd>>2]|0)+8>>1]=2576}else if((k|0)==124){k=0;c[lc>>2]=c[(c[pf>>2]|0)+16>>2];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[lc>>2]>>2]|0)!=(c[gd>>2]|0)){c[c[lc>>2]>>2]=c[gd>>2];c[V>>2]=(d[(c[lc>>2]|0)+26>>0]|0)-1;while(1){if((c[V>>2]|0)<0)break j;c[(c[lc>>2]|0)+28+(c[V>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[V>>2]|0)|0)*40|0);c[V>>2]=(c[V>>2]|0)+-1}}while(0);b[(c[c[lc>>2]>>2]|0)+8>>1]=e[(c[c[lc>>2]>>2]|0)+8>>1]&-49664|1;a[(c[lc>>2]|0)+25>>0]=0;yf=sf;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[lc>>2]|0)+4>>2]|0)+12>>2]&255](c[lc>>2]|0,d[(c[lc>>2]|0)+26>>0]|0,(c[lc>>2]|0)+28|0);j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[lc>>2]|0)+25>>0]|0){if(c[(c[lc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[xe>>2]=ae(c[c[lc>>2]>>2]|0)|0;dI(yf,19007,xe);c[uf>>2]=c[(c[lc>>2]|0)+20>>2]}oI(c[rf>>2]|0,(c[qf>>2]|0)+204|0,c[(c[lc>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[gd>>2]|0)+8>>1]&18|0)!=0?(gu(c[c[lc>>2]>>2]|0,d[G>>0]|0)|0,(gI(c[c[lc>>2]>>2]|0)|0)!=0):0){k=880;break}}else if((k|0)==438){if(a[(c[qf>>2]|0)+87>>0]&1){k=439;break}c[Va>>2]=0;c[Rc>>2]=0;c[ub>>2]=c[(c[pf>>2]|0)+8>>2];c[ga>>2]=c[(c[pf>>2]|0)+12>>2];c[zc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4);c[Dd>>2]=c[(c[zc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==103){c[Me>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[qf>>2]|0)+88>>0]|0))a[(c[qf>>2]|0)+88>>0]=a[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Me>>2]=0;if(d[(c[pf>>2]|0)+3>>0]&16){c[Nc>>2]=(c[l>>2]|0)+((c[ub>>2]|0)*40|0);Jx(c[Nc>>2]|0)|0;c[ub>>2]=c[c[Nc>>2]>>2]}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Va>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Rc>>2]=c[g+16>>2];c[Va>>2]=(e[(c[Rc>>2]|0)+6>>1]|0)+(e[(c[Rc>>2]|0)+8>>1]|0)}c[oc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Va>>2]|0,c[ga>>2]|0,0)|0;if(!(c[oc>>2]|0)){k=881;break a}a[(c[oc>>2]|0)+2>>0]=1;k=(c[oc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[oc>>2]|0)+8>>2]=c[ub>>2];c[uf>>2]=HI(c[Dd>>2]|0,c[ub>>2]|0,c[Me>>2]|0,c[Rc>>2]|0,c[(c[oc>>2]|0)+16>>2]|0)|0;c[(c[oc>>2]|0)+24>>2]=c[Rc>>2];a[(c[oc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=452}else if((k|0)==618){k=0;c[Pb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[$d>>2]=1;g=c[Pb>>2]|0;if((d[c[Pb>>2]>>0]|0)==1)c[uf>>2]=VI(g,$d)|0;else{c[ic>>2]=c[g+16>>2];c[uf>>2]=WI(c[ic>>2]|0,$d)|0;a[(c[Pb>>2]|0)+3>>0]=0;c[(c[Pb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Pb>>2]|0)+2>>0]=c[$d>>2];if(c[$d>>2]|0)k=14}else if((k|0)==625){c[Qb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[be>>2]=c[(c[pf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Qb>>2]|0)+16>>2]|0,be)|0;k=626}else if((k|0)==753){k=0;c[nc>>2]=c[(c[pf>>2]|0)+16>>2];c[Xc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[nc>>2]|0)+8>>2]|0)!=(c[Xc>>2]|0)){c[(c[nc>>2]|0)+8>>2]=c[Xc>>2];c[X>>2]=(d[(c[nc>>2]|0)+26>>0]|0)-1;while(1){if((c[X>>2]|0)<0)break k;c[(c[nc>>2]|0)+28+(c[X>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[X>>2]|0)|0)*40|0);c[X>>2]=(c[X>>2]|0)+-1}}while(0);yf=(c[Xc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;OF(ne,c[rf>>2]|0,1);c[c[nc>>2]>>2]=ne;a[(c[nc>>2]|0)+25>>0]=0;a[(c[nc>>2]|0)+24>>0]=0;Ub[c[(c[(c[nc>>2]|0)+4>>2]|0)+12>>2]&255](c[nc>>2]|0,d[(c[nc>>2]|0)+26>>0]|0,(c[nc>>2]|0)+28|0);if(a[(c[nc>>2]|0)+25>>0]|0){if(c[(c[nc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[Ee>>2]=ae(ne)|0;dI(yf,19007,Ee);c[uf>>2]=c[(c[nc>>2]|0)+20>>2]}Wg(ne);if(c[uf>>2]|0)break a}if((a[(c[nc>>2]|0)+24>>0]|0)!=0?(c[X>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[X>>2]|0)!=0):0)gh((c[l>>2]|0)+((c[X>>2]|0)*40|0)|0,1,0)}do if((k|0)==14){k=0;c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==452){k=0;II(c[(c[oc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==626){k=0;c[(c[Qb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Qb>>2]|0)+2|0;if(!(c[be>>2]|0)){a[g>>0]=0;k=(c[qf>>2]|0)+108+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[rf>>2]|0)+248>>2]|0)break b;if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[ab>>2]|0)>>>0:0)?(c[ab>>2]=(c[tf>>2]|0)+(c[(c[rf>>2]|0)+312>>2]|0)-(((c[tf>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[qf>>2]|0)+80>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[qf>>2]|0)+86>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[qf>>2]|0)+76>>2]=c[kf>>2];if(c[(c[qf>>2]|0)+80>>2]|0){g=c[qf>>2]|0;f=c[pf>>2]|0;if(a[(c[pf>>2]|0)+3>>0]|0){c[lf>>2]=c[6412+((d[f+3>>0]|0)-1<<2)>>2];dI(g,40332,lf);if(c[(c[pf>>2]|0)+16>>2]|0){yf=c[rf>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[mf>>2]=c[(c[qf>>2]|0)+44>>2];c[mf+4>>2]=wf;yf=Eh(yf,40353,mf)|0;c[(c[qf>>2]|0)+44>>2]=yf}}else{c[nf>>2]=c[f+16>>2];dI(g,19007,nf)}yf=c[(c[pf>>2]|0)+4>>2]|0;pf=c[(c[qf>>2]|0)+168>>2]|0;wf=c[(c[qf>>2]|0)+44>>2]|0;c[of>>2]=c[kf>>2];c[of+4>>2]=pf;c[of+8>>2]=wf;Rd(yf,40360,of)}c[uf>>2]=eI(c[qf>>2]|0)|0;g=(c[qf>>2]|0)+80|0;if((c[uf>>2]|0)==5){c[g>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[g>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 64:{if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[ab>>2]|0)>>>0:0)?(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=hI(c[qf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=iI(c[qf>>2]|0,1)|0;c[(c[qf>>2]|0)+72>>2]=(c[(c[qf>>2]|0)+72>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[qf>>2]|0)+20>>2]=yf;c[Uc>>2]=yf;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Uc>>2]|0)+((c[Q>>2]|0)*40|0)+8>>1]&4096|0)!=0?(ah((c[Uc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0)!=0:0){k=881;break a}jI((c[Uc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}if(a[(c[rf>>2]|0)+69>>0]|0){k=881;break a}c[(c[qf>>2]|0)+76>>2]=(((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 157:{c[uf>>2]=20;break a}case 263:{c[uf>>2]=Oj(79160)|0;break a}case 280:{if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(he);c[uf>>2]=Oj(79221)|0;break a}case 364:{c[(c[qf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[qf>>2]|0)+80>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 387:{c[D>>2]=c[(c[pf>>2]|0)+4>>2];c[ra>>2]=c[(c[pf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[rf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[ra>>2]|0)!=0?40592:40635;else g=40676;dI(c[qf>>2]|0,g,gf);c[uf>>2]=1;break a}do if(!(c[ra>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[rf>>2]|0)+160>>2]|0)>0:0){dI(c[qf>>2]|0,40537,Be);c[uf>>2]=5;break a}yf=hI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[rf>>2]|0)+67>>0]=c[D>>2];break}}else{DI(c[rf>>2]|0,516);a[(c[rf>>2]|0)+67>>0]=1}while(0);if((eI(c[qf>>2]|0)|0)==5){c[(c[qf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[qf>>2]|0)+80>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}EI(c[rf>>2]|0);if(!(c[(c[qf>>2]|0)+80>>2]|0)){c[uf>>2]=101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 405:{c[uf>>2]=8;break a}case 408:{c[(c[qf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[qf>>2]|0)+80>>2]=c[uf>>2];yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 439:{c[uf>>2]=516;break a}case 543:{c[uf>>2]=13;break a}case 553:{c[uf>>2]=13;break a}case 661:{c[uf>>2]=6;a[(c[qf>>2]|0)+86>>0]=2;break a}case 683:{Bg(c[rf>>2]|0);if((c[uf>>2]|0)==7){k=881;break a}else break a}case 712:{c[uf>>2]=1;dI(c[qf>>2]|0,40816,De);break a}case 765:{yf=c[qf>>2]|0;c[Fe>>2]=ae(c[Yc>>2]|0)|0;dI(yf,19007,Fe);break a}case 785:{c[uf>>2]=1;yf=c[qf>>2]|0;c[Ge>>2]=(c[E>>2]|0)==5?40853:40858;dI(yf,40865,Ge);break a}case 806:{if((c[uf>>2]&255|0)!=6)break a;c[Oe>>2]=c[(c[pf>>2]|0)+16>>2];yf=c[qf>>2]|0;c[He>>2]=c[Oe>>2];dI(yf,40917,He);break a}case 817:{c[uf>>2]=6;break a}case 821:{Tb[c[(c[$c>>2]|0)+28>>2]&255](c[sd>>2]|0)|0;k=881;break a}case 840:{c[uf>>2]=6;break a}case 879:{yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 880:{dI(c[qf>>2]|0,18786,Ie);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[rf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[qf>>2]|0)+80>>2]=c[uf>>2];yf=c[qf>>2]|0;c[Ke>>2]=kh(c[uf>>2]|0)|0;dI(yf,19007,Ke)}while(0);if((k|0)==881){lh(c[rf>>2]|0);dI(c[qf>>2]|0,25632,Je);c[uf>>2]=7}if(a[(c[rf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[qf>>2]|0)+44>>2]|0)==0:0){yf=c[qf>>2]|0;c[hf>>2]=kh(c[uf>>2]|0)|0;dI(yf,19007,hf)}c[(c[qf>>2]|0)+80>>2]=c[uf>>2];yJ(c[rf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[qf>>2]|0)+168>>2]|0;wf=c[(c[qf>>2]|0)+44>>2]|0;c[jf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[jf+4>>2]=of;c[jf+8>>2]=wf;Rd(yf,40946,jf);eI(c[qf>>2]|0)|0;if((c[uf>>2]|0)==3082)lh(c[rf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}uj(c[rf>>2]|0,(d[ff>>0]|0)-1|0);yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function YH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=_H(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+220>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+220>>2]&255](c[(c[b>>2]|0)+224>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function ZH(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Wj();if(!(c[(c[e>>2]|0)+240>>2]|0)){b=Xh(c[e>>2]|0)|0;c[(c[e>>2]|0)+240>>2]=b}Yh(c[(c[e>>2]|0)+240>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);Xj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function _H(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$H(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function $H(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function aI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+100>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function bI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+84>>2]=c[e>>2];b=(c[f>>2]|0)+88|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function cI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];wM(c[e>>2]|0);c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+60>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+24>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+72>>2];c[(c[c[e>>2]>>2]|0)+84>>2]=c[(c[b>>2]|0)+76>>2];oI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+44>>2]|0);c[g>>2]=d;b=kx(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+44>>2]=b;i=e;return}function eI(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;f=n+8|0;m=n+4|0;e=n;c[k>>2]=b;c[l>>2]=c[c[k>>2]>>2];if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;if(c[(c[k>>2]|0)+200>>2]|0)AR(c[(c[k>>2]|0)+200>>2]|0,0,c[(c[k>>2]|0)+196>>2]|0)|0;qM(c[k>>2]|0);if((c[(c[k>>2]|0)+40>>2]|0)!=-1108210269){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}if((c[(c[k>>2]|0)+76>>2]|0)>=0?((d[(c[k>>2]|0)+89>>0]|0)>>>6&1|0)!=0:0){c[m>>2]=0;aI(c[k>>2]|0);c[f>>2]=c[(c[k>>2]|0)+80>>2]&255;if((c[f>>2]|0)==7|(c[f>>2]|0)==10|(c[f>>2]|0)==9)b=1;else b=(c[f>>2]|0)==13;c[e>>2]=b&1;do if((c[e>>2]|0)!=0?((c[f>>2]|0)!=9?1:((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0):0){if((c[f>>2]|0)==7|(c[f>>2]|0)==13?((d[(c[k>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){c[m>>2]=2;break}DI(c[l>>2]|0,516);EI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}while(0);if(!(c[(c[k>>2]|0)+80>>2]|0))hI(c[k>>2]|0,0)|0;if((c[(c[l>>2]|0)+316>>2]|0)>0?(c[(c[l>>2]|0)+340>>2]|0)==0:0)h=38;else if((d[(c[l>>2]|0)+67>>0]|0)!=0?(c[(c[l>>2]|0)+160>>2]|0)==(((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0|0):0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?((c[e>>2]|0)!=0?1:(d[(c[k>>2]|0)+86>>0]|0)!=3):0){DI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0}else h=25;do if((h|0)==25){c[g>>2]=hI(c[k>>2]|0,1)|0;do if(c[g>>2]|0){if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){c[g>>2]=787;break}c[j>>2]=1;m=c[j>>2]|0;i=n;return m|0}else c[g>>2]=rM(c[l>>2]|0,c[k>>2]|0)|0;while(0);if((c[g>>2]|0)==5?((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)!=0:0){c[j>>2]=5;m=c[j>>2]|0;i=n;return m|0}if(c[g>>2]|0){c[(c[k>>2]|0)+80>>2]=c[g>>2];DI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0;break}else{f=(c[l>>2]|0)+440|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+448|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+24|0;c[f>>2]=c[f>>2]&-33554433;vj(c[l>>2]|0);break}}while(0);c[(c[l>>2]|0)+436>>2]=0}else h=38;do if((h|0)==38?(c[m>>2]|0)==0:0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?(d[(c[k>>2]|0)+86>>0]|0)!=3:0)if((d[(c[k>>2]|0)+86>>0]|0)==2){c[m>>2]=2;break}else{DI(c[l>>2]|0,516);EI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0;break}c[m>>2]=1}while(0);if((c[m>>2]|0)!=0?(c[g>>2]=iI(c[k>>2]|0,c[m>>2]|0)|0,(c[g>>2]|0)!=0):0){if(!((c[(c[k>>2]|0)+80>>2]|0)!=0?(c[(c[k>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[k>>2]|0)+80>>2]=c[g>>2];Tf(c[l>>2]|0,c[(c[k>>2]|0)+44>>2]|0);c[(c[k>>2]|0)+44>>2]=0}DI(c[l>>2]|0,516);EI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}if((d[(c[k>>2]|0)+89>>0]|0)>>>2&1){b=c[l>>2]|0;if((c[m>>2]|0)!=2)bI(b,c[(c[k>>2]|0)+92>>2]|0);else bI(b,0);c[(c[k>>2]|0)+92>>2]=0}}if((c[(c[k>>2]|0)+76>>2]|0)>=0){m=(c[l>>2]|0)+152|0;c[m>>2]=(c[m>>2]|0)+-1;if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){m=(c[l>>2]|0)+160|0;c[m>>2]=(c[m>>2]|0)+-1}if((d[(c[k>>2]|0)+89>>0]|0)>>>6&1){m=(c[l>>2]|0)+156|0;c[m>>2]=(c[m>>2]|0)+-1}}c[(c[k>>2]|0)+40>>2]=1369188723;if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;c[j>>2]=(c[(c[k>>2]|0)+80>>2]|0)==5?5:0;m=c[j>>2]|0;i=n;return m|0}function fI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=pM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function gI(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+92>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function hI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=wR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;dI(c[f>>2]|0,35704,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=CI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=CI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=AI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=AI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function jI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=oM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function kI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=nM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function lI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=vR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=wR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=vR(0,0,h|0,C|0)|0,d=C,k=g,k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=wR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function mI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=vR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=lI(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=vR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function nI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+48|0;o=n+40|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;m=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=FR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=GR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=FR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=GR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=HR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=HR(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=HR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=HR(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=HR(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(lI(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function oI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function pI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=MF(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=mM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=KF(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(KF(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function qI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(BL(c[e+16>>2]|0)|0))break;c[f>>2]=CL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=lM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function rI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=kM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function sI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;wF(c[f>>2]|0);c[c[e>>2]>>2]=c[(c[f>>2]|0)+16+12>>2];i=d;return 0}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=kM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function uI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[o>>2]=0;e=c[h>>2]|0;if(c[l>>2]|0)c[p>>2]=rI(e,n)|0;else c[p>>2]=tI(e,n)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[p>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];p=c[o>>2]|0;i=q;return p|0}else{c[o>>2]=jM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}return 0}function vI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35576+(d[c>>0]|0)>>0]|0}function wI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function xI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=xR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=iM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function yI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35576+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=xR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)yR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function zI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=uF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=wR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}lF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=jF(f,er((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=jF(f,er((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=uF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function BI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=CH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;CB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;DB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}BI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function CI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Tr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=hM(c[k>>2]|0)|0;a=er((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function DI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Wj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+144+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(di(c[k>>2]|0)|0)c[j>>2]=1;Og(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}mu(c[f>>2]|0)|0;Xj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+144+5>>0]|0)==0:0){Qh(c[f>>2]|0);Bg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-33554433;if(!(c[(c[f>>2]|0)+208>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+208>>2]&255](c[(c[f>>2]|0)+204>>2]|0);i=m;return}function EI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function FI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=eM(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function GI(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+8>>2]|0)+(((c[j+28>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+8>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=cM()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0){LI(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=0}if(Gx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));dM(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function HI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Oj(61882)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=aM(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function II(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function JI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=$L(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function KI(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+52|0;j=w+48|0;k=w+44|0;u=w+40|0;l=w+36|0;t=w+32|0;s=w+28|0;o=w+24|0;n=w+20|0;v=w+16|0;m=w+12|0;q=w;p=w+8|0;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[o>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[n>>2]=136;h=(c[n>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=rh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}n=(c[t>>2]|0)+(c[n>>2]|0)|0;c[s>>2]=n;c[(c[t>>2]|0)+28>>2]=n;yR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[o>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){o=(c[s>>2]|0)+8|0;b[o>>1]=(e[o>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}o=rg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=o;c[(c[t>>2]|0)+12>>2]=o;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Xq(c[r>>2]|0)|0)){c[p>>2]=c[58];j=_(c[p>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=j;j=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;k=q;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=q;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[q+4>>2]|0)<0){o=HR(j|0,k|0,-1024,-1)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}else{o=c[u>>2]|0;o=HR(j|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}m=q;n=c[m+4>>2]|0;m=(n|0)<0|(n|0)==0&(c[m>>2]|0)>>>0<536870912;n=q;o=m?c[n+4>>2]|0:0;p=q;c[p>>2]=m?c[n>>2]|0:536870912;c[p+4>>2]=o;if((c[c[t>>2]>>2]|0)>(c[q>>2]|0))j=c[c[t>>2]>>2]|0;else j=c[q>>2]|0;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function LI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{_L(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){yB(c[e+20>>2]|0)|0;i=j;return}else{AB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function MI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function NI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function OI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=uF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=kF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function PI(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+68|0;r=I+64|0;s=I;t=I+60|0;u=I+56|0;v=I+52|0;w=I+48|0;J=I+44|0;F=I+40|0;y=I+36|0;G=I+32|0;x=I+28|0;E=I+24|0;B=I+20|0;D=I+16|0;A=I+12|0;z=I+8|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+66>>0]|0)==4){c[p>>2]=c[h+60>>2];J=c[p>>2]|0;i=I;return J|0}if((d[h+64>>0]&32|0)!=0?(c[F>>2]=AH(c[D>>2]|0,c[(c[q>>2]|0)+52>>2]|0,c[q>>2]|0)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}do if(!(c[(c[q>>2]|0)+72>>2]|0)){J=s;GK(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0);J=s;B=c[J+4>>2]|0;if((d[(c[q>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(c[J>>2]|0)>>>0>0)?(J=(c[q>>2]|0)+16|0,o=c[J>>2]|0,J=c[J+4>>2]|0,B=s,B=vR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0,(o|0)==(B|0)&(J|0)==(C|0)):0){c[y>>2]=-1;break}if((c[y>>2]|0)==0?(J=s,c[F>>2]=sF(c[q>>2]|0,0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}}else if((c[y>>2]|0)==0?(J=s,c[F>>2]=pF(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}while(0);c[E>>2]=c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=ZL(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+4>>0]|0)){J=c[z>>2]|0;D=c[A>>2]|0;a[J>>0]=a[D>>0]|0;a[J+1>>0]=a[D+1>>0]|0;a[J+2>>0]=a[D+2>>0]|0;a[J+3>>0]=a[D+3>>0]|0}c[F>>2]=IK(c[E>>2]|0,c[A>>2]|0,H)|0;FL(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}GL(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+16+18>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+64|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=HL(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+66>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function QI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Wt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=EH(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=gF(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=AH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;GK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[y>>2]=Fg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=IK(c[x>>2]|0,c[n>>2]|0,q)|0;FL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Oj(65938)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;GL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);FL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=HL(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;DB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=HL(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=uF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function RI(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=qF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=EL(c[n>>2]|0,k)|0;rF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=FF(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function SI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=EL(c[l>>2]|0,h)|0;if(Gx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;yR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function TI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);b=ph(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+44>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function UI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(BL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=CL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function VI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=SK(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=pL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=VK((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function WI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=uF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=XF(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function XI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=gL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))CK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function YI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else HF(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(NF(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Qu()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=SK(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);yR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function ZI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;FH(c[q>>2]|0,p)|0;OF(k,c[r>>2]|0,0);c[f>>2]=uI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else HF(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else HF(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35576+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){JF((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Wg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Wg(k);c[g>>2]=Oj(74309)|0;r=c[g>>2]|0;i=o;return r|0}function _I(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];FH(c[m>>2]|0,l)|0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Oj(74343)|0;p=c[f>>2]|0;i=o;return p|0}OF(k,c[g>>2]|0,0);c[n>>2]=uI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=FF(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Wg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function $I(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=RK(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function aJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function bJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=AH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}GK(c[e>>2]|0,0,0,1);c[j>>2]=HK(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function cJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;AK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);BK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))CK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function dJ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bJ(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function eJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Sj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function fJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Sj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];iH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function gJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Sj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=OB(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function hJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=nF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Wi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[381]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)rK(p,c[m>>2]|0);c[p+28>>2]=42219;v=er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;sK(p,1,v,er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)tK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);uK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(vK(p,c[m>>2]|0)|0)){v=zF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];wK(p,42235,r)}while(0);if(((vK(p,c[m>>2]|0)|0)!=0?(v=zF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];wK(p,42257,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);Zi(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){sA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}sA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function iJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Wg(c[e>>2]|0);d=Rw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=iu(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=qK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function jJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=oK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){d=c[h+4>>2]|0;a=c[k>>2]|0;f=c[a+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function kJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=kK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}k=c[(c[g>>2]|0)+8>>2]|0;a=c[k+4>>2]|0;d=c[h>>2]|0;c[d>>2]=c[k>>2];c[d+4>>2]=a;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))TF(c[g>>2]|0);c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}function lJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=kK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}mK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=nK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=lK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=oK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=lK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function mJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function nJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function oJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[f>>2]=0;c[g>>2]=Et(c[e>>2]|0,1)|0;if(!(c[g>>2]|0))c[g>>2]=Wr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,f)|0;if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=fK(c[e>>2]|0)|0}if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=gK(c[e>>2]|0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=hr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;_i(c[e>>2]|0);if(!(c[g>>2]|0)){g=c[g>>2]|0;i=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[g>>2]|0;i=h;return g|0}Dr(c[e>>2]|0,1)|0;g=c[g>>2]|0;i=h;return g|0}function pJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){mr(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=_J(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Et(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Dr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;ir(c[f>>2]|0);break}if((c[g>>2]|0)==2)mr(c[(c[f>>2]|0)+68>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0} -function OR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function WS(a){a=a|0;return Pb[a&255]()|0}function XS(){return ga(0)|0}function YS(){return ga(1)|0}function ZS(){return ga(2)|0}function _S(){return ga(3)|0}function $S(){return ga(4)|0}function aT(){return ga(5)|0}function bT(){return ga(6)|0}function cT(){return ga(7)|0}function dT(){return ga(8)|0}function eT(){return ga(9)|0}function fT(){return ga(10)|0}function gT(){return ga(11)|0}function hT(){return ga(12)|0}function iT(){return ga(13)|0}function jT(){return ga(14)|0}function kT(){return ga(15)|0}function lT(){return ga(16)|0}function mT(){return ga(17)|0}function nT(){return ga(18)|0}function oT(){return ga(19)|0}function pT(){return ga(20)|0}function qT(){return ga(21)|0}function rT(){return ga(22)|0}function sT(){return ga(23)|0}function tT(){return ga(24)|0}function uT(){return ga(25)|0}function vT(){return ga(26)|0}function wT(){return ga(27)|0}function xT(){return ga(28)|0}function yT(){return ga(29)|0}function zT(){return ga(30)|0}function AT(){return ga(31)|0}function BT(){return ga(32)|0}function CT(){return ga(33)|0}function DT(){return ga(34)|0}function ET(){return ga(35)|0}function FT(){return ga(36)|0}function GT(){return ga(37)|0}function HT(){return ga(38)|0}function IT(){return ga(39)|0}function JT(){return ga(40)|0}function KT(){return ga(41)|0}function LT(){return ga(42)|0}function MT(){return ga(43)|0}function NT(){return ga(44)|0}function OT(){return ga(45)|0}function PT(){return ga(46)|0}function QT(){return ga(47)|0}function RT(){return ga(48)|0}function ST(){return ga(49)|0}function TT(){return ga(50)|0}function UT(){return ga(51)|0}function VT(){return ga(52)|0}function WT(){return ga(53)|0}function XT(){return ga(54)|0}function YT(){return ga(55)|0}function ZT(){return ga(56)|0}function _T(){return ga(57)|0}function $T(){return ga(58)|0}function aU(){return ga(59)|0}function bU(){return ga(60)|0}function cU(){return ga(61)|0}function dU(){return ga(62)|0}function eU(){return ga(63)|0}function fU(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function gU(a){a=a|0;ia(0,a|0)}function hU(a){a=a|0;ia(1,a|0)}function iU(a){a=a|0;ia(2,a|0)}function jU(a){a=a|0;ia(3,a|0)}function kU(a){a=a|0;ia(4,a|0)}function lU(a){a=a|0;ia(5,a|0)}function mU(a){a=a|0;ia(6,a|0)}function nU(a){a=a|0;ia(7,a|0)}function oU(a){a=a|0;ia(8,a|0)}function pU(a){a=a|0;ia(9,a|0)}function qU(a){a=a|0;ia(10,a|0)}function rU(a){a=a|0;ia(11,a|0)}function sU(a){a=a|0;ia(12,a|0)}function tU(a){a=a|0;ia(13,a|0)}function uU(a){a=a|0;ia(14,a|0)}function vU(a){a=a|0;ia(15,a|0)}function wU(a){a=a|0;ia(16,a|0)}function xU(a){a=a|0;ia(17,a|0)}function yU(a){a=a|0;ia(18,a|0)}function zU(a){a=a|0;ia(19,a|0)}function AU(a){a=a|0;ia(20,a|0)}function BU(a){a=a|0;ia(21,a|0)}function CU(a){a=a|0;ia(22,a|0)}function DU(a){a=a|0;ia(23,a|0)}function EU(a){a=a|0;ia(24,a|0)}function FU(a){a=a|0;ia(25,a|0)}function GU(a){a=a|0;ia(26,a|0)}function HU(a){a=a|0;ia(27,a|0)}function IU(a){a=a|0;ia(28,a|0)}function JU(a){a=a|0;ia(29,a|0)}function KU(a){a=a|0;ia(30,a|0)}function LU(a){a=a|0;ia(31,a|0)}function MU(a){a=a|0;ia(32,a|0)}function NU(a){a=a|0;ia(33,a|0)}function OU(a){a=a|0;ia(34,a|0)}function PU(a){a=a|0;ia(35,a|0)}function QU(a){a=a|0;ia(36,a|0)}function RU(a){a=a|0;ia(37,a|0)}function SU(a){a=a|0;ia(38,a|0)}function TU(a){a=a|0;ia(39,a|0)}function UU(a){a=a|0;ia(40,a|0)}function VU(a){a=a|0;ia(41,a|0)}function WU(a){a=a|0;ia(42,a|0)}function XU(a){a=a|0;ia(43,a|0)}function YU(a){a=a|0;ia(44,a|0)}function ZU(a){a=a|0;ia(45,a|0)}function _U(a){a=a|0;ia(46,a|0)}function $U(a){a=a|0;ia(47,a|0)}function aV(a){a=a|0;ia(48,a|0)}function bV(a){a=a|0;ia(49,a|0)}function cV(a){a=a|0;ia(50,a|0)}function dV(a){a=a|0;ia(51,a|0)}function eV(a){a=a|0;ia(52,a|0)}function fV(a){a=a|0;ia(53,a|0)}function gV(a){a=a|0;ia(54,a|0)}function hV(a){a=a|0;ia(55,a|0)}function iV(a){a=a|0;ia(56,a|0)}function jV(a){a=a|0;ia(57,a|0)}function kV(a){a=a|0;ia(58,a|0)}function lV(a){a=a|0;ia(59,a|0)}function mV(a){a=a|0;ia(60,a|0)}function nV(a){a=a|0;ia(61,a|0)}function oV(a){a=a|0;ia(62,a|0)}function pV(a){a=a|0;ia(63,a|0)}function qV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function rV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function sV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function tV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function uV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function BW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function NX(a){a=a|0;return oa(0,a|0)|0}function OX(a){a=a|0;return oa(1,a|0)|0}function PX(a){a=a|0;return oa(2,a|0)|0}function QX(a){a=a|0;return oa(3,a|0)|0}function RX(a){a=a|0;return oa(4,a|0)|0}function SX(a){a=a|0;return oa(5,a|0)|0}function TX(a){a=a|0;return oa(6,a|0)|0}function UX(a){a=a|0;return oa(7,a|0)|0}function VX(a){a=a|0;return oa(8,a|0)|0}function WX(a){a=a|0;return oa(9,a|0)|0}function XX(a){a=a|0;return oa(10,a|0)|0}function YX(a){a=a|0;return oa(11,a|0)|0}function ZX(a){a=a|0;return oa(12,a|0)|0}function _X(a){a=a|0;return oa(13,a|0)|0}function $X(a){a=a|0;return oa(14,a|0)|0}function aY(a){a=a|0;return oa(15,a|0)|0}function bY(a){a=a|0;return oa(16,a|0)|0}function cY(a){a=a|0;return oa(17,a|0)|0}function dY(a){a=a|0;return oa(18,a|0)|0}function eY(a){a=a|0;return oa(19,a|0)|0}function fY(a){a=a|0;return oa(20,a|0)|0}function gY(a){a=a|0;return oa(21,a|0)|0}function hY(a){a=a|0;return oa(22,a|0)|0}function iY(a){a=a|0;return oa(23,a|0)|0}function jY(a){a=a|0;return oa(24,a|0)|0}function kY(a){a=a|0;return oa(25,a|0)|0}function lY(a){a=a|0;return oa(26,a|0)|0}function mY(a){a=a|0;return oa(27,a|0)|0}function nY(a){a=a|0;return oa(28,a|0)|0}function oY(a){a=a|0;return oa(29,a|0)|0}function pY(a){a=a|0;return oa(30,a|0)|0}function qY(a){a=a|0;return oa(31,a|0)|0}function rY(a){a=a|0;return oa(32,a|0)|0}function sY(a){a=a|0;return oa(33,a|0)|0}function tY(a){a=a|0;return oa(34,a|0)|0}function uY(a){a=a|0;return oa(35,a|0)|0}function vY(a){a=a|0;return oa(36,a|0)|0}function wY(a){a=a|0;return oa(37,a|0)|0}function xY(a){a=a|0;return oa(38,a|0)|0}function yY(a){a=a|0;return oa(39,a|0)|0}function zY(a){a=a|0;return oa(40,a|0)|0}function AY(a){a=a|0;return oa(41,a|0)|0}function BY(a){a=a|0;return oa(42,a|0)|0}function CY(a){a=a|0;return oa(43,a|0)|0}function DY(a){a=a|0;return oa(44,a|0)|0}function EY(a){a=a|0;return oa(45,a|0)|0}function FY(a){a=a|0;return oa(46,a|0)|0}function GY(a){a=a|0;return oa(47,a|0)|0}function HY(a){a=a|0;return oa(48,a|0)|0}function IY(a){a=a|0;return oa(49,a|0)|0}function JY(a){a=a|0;return oa(50,a|0)|0}function KY(a){a=a|0;return oa(51,a|0)|0}function LY(a){a=a|0;return oa(52,a|0)|0}function MY(a){a=a|0;return oa(53,a|0)|0}function NY(a){a=a|0;return oa(54,a|0)|0}function OY(a){a=a|0;return oa(55,a|0)|0}function PY(a){a=a|0;return oa(56,a|0)|0}function QY(a){a=a|0;return oa(57,a|0)|0}function RY(a){a=a|0;return oa(58,a|0)|0}function SY(a){a=a|0;return oa(59,a|0)|0}function TY(a){a=a|0;return oa(60,a|0)|0}function UY(a){a=a|0;return oa(61,a|0)|0}function VY(a){a=a|0;return oa(62,a|0)|0}function WY(a){a=a|0;return oa(63,a|0)|0}function XY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function YY(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function ZY(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function g_(a){a=a|0;Vb[a&255]()}function h_(){sa(0)}function i_(){sa(1)}function j_(){sa(2)}function k_(){sa(3)}function l_(){sa(4)}function m_(){sa(5)}function n_(){sa(6)}function o_(){sa(7)}function p_(){sa(8)}function q_(){sa(9)}function r_(){sa(10)}function s_(){sa(11)}function t_(){sa(12)}function u_(){sa(13)}function v_(){sa(14)}function w_(){sa(15)}function x_(){sa(16)}function y_(){sa(17)}function z_(){sa(18)}function A_(){sa(19)}function B_(){sa(20)}function C_(){sa(21)}function D_(){sa(22)}function E_(){sa(23)}function F_(){sa(24)}function G_(){sa(25)}function H_(){sa(26)}function I_(){sa(27)}function J_(){sa(28)}function K_(){sa(29)}function L_(){sa(30)}function M_(){sa(31)}function N_(){sa(32)}function O_(){sa(33)}function P_(){sa(34)}function Q_(){sa(35)}function R_(){sa(36)}function S_(){sa(37)}function T_(){sa(38)}function U_(){sa(39)}function V_(){sa(40)}function W_(){sa(41)}function X_(){sa(42)}function Y_(){sa(43)}function Z_(){sa(44)}function __(){sa(45)}function $_(){sa(46)}function a$(){sa(47)}function b$(){sa(48)}function c$(){sa(49)}function d$(){sa(50)}function e$(){sa(51)}function f$(){sa(52)}function g$(){sa(53)}function h$(){sa(54)}function i$(){sa(55)}function j$(){sa(56)}function k$(){sa(57)}function l$(){sa(58)}function m$(){sa(59)}function n$(){sa(60)}function o$(){sa(61)}function p$(){sa(62)}function q$(){sa(63)}function r$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function s$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function t$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function u$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function D0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function E0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function F0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function O1(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function P1(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function Q1(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function R1(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function Y2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function Z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function _2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function $2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function i4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function s5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function t5(){ba(1);return 0}function u5(a){a=a|0;ba(2)}function v5(a,b){a=a|0;b=b|0;ba(3)}function w5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function x5(a){a=a|0;ba(5);return 0}function y5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function z5(){ba(7)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function B5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function C5(a,b){a=a|0;b=b|0;ba(10);return 0}function D5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} +function jz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=sh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Rv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Tv(q,0,Wv(c[n>>2]|0,160,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function kz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|64;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&64|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;bw(l,c[(mz(c[r>>2]|0)|0)+64>>2]|0,0)}$x(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(nz(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(sy(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=sh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Gh(l,30109,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}by(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=px(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(oz(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Tx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=_x(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;sy(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(pz(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Eh(X,30122,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(qz(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==160)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==160:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=160){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==160:0){j=58;break}c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&2048|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Fh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=25451;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(fz(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&131072|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(rz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((sz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Wv(c[t>>2]|0,55,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Wv(c[t>>2]|0,55,c[W>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Wv(c[t>>2]|0,55,c[U>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Gh(p,30161,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Xy(L,c[S>>2]|0);Uv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&2048))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=qh(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Gh(h,30167,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Eh(h,30176,O);break}else{Eh(h,30194,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}ev(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+96+8>>2]|0):0){Eh(c[F>>2]|0,30214,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(mz(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+472>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function mz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function nz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=Fz(c[(c[y>>2]|0)+472>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Eh(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(oz(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=sh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=qh(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=_x(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Eh(A,30455,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=30498;c[z>>2]=c[(c[y>>2]|0)+472>>2];c[(c[y>>2]|0)+472>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;sy(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+472>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Eh(A,30521,u);c[(c[y>>2]|0)+472>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}by(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=30559;else c[g>>2]=30593;sy(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+472>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function oz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Eh(a,30432,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function pz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Eh(k,30414,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function qz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)uz(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)vz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=wz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=tz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}uz(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Eh(B,30245,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Eh(c[x>>2]|0,30295,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Eh(z,30350,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=tz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function tz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function uz(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=Ev(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function vz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;vz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);vz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((xz(b)|0)==0?(xz(c[h>>2]|0)|0)==0:0){c[j>>2]=jw(c[f>>2]|0,28,0,0)|0;yz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}iv(c[f>>2]|0,c[g>>2]|0);iv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=jw(c[f>>2]|0,134,4276,0)|0;j=c[e>>2]|0;i=k;return j|0}function xz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function yz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){iv(c[f>>2]|0,c[h>>2]|0);iv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}zz(c[g>>2]|0);i=k;return}function zz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;Az(c[(c[b>>2]|0)+12>>2]|0,d);Az(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){Cz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(Dz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else Bz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}Az(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);Cz(c[c[d>>2]>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);Bz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;Az(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Dz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function Ez(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=jw(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=WR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function Fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function Gz(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Vw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=qh(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=Qy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=_x(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=Iy(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=Iz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=sh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=_x(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=Qy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=qh(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function Iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Vw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Vw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=qh(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Jz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Gh(M,30650,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Gh(n,18391,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=sh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)mh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=30722;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Gh(K,L,B)|0;c[c[G>>2]>>2]=L;su(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=vi((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,18402)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(30768,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Gh(e,30692,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Gh(e,18391,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function Kz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+148+5>>0]|0))c[f>>2]=si(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];rx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+40>>2];a=(c[d>>2]|0)+40|0;c[a>>2]=(c[a>>2]|0)+3;Pz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+44>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+40>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Qz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Rz(c[d>>2]|0,c[e>>2]|0);i=l;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Tw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ni(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+40>>2];d=(c[e>>2]|0)+40|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Pz(d,a,b,c[c[g>>2]>>2]|0,30854);else Pz(d,a,b,c[c[f>>2]>>2]|0,30858);Qz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+44>>2]|0)+1|0,c[(c[e>>2]|0)+40>>2]|0);Rz(c[e>>2]|0,c[h>>2]|0);i=k;return}function Oz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+148|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Eh(c[j>>2]|0,30817,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=Mz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Eh(p,30834,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Pz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=dx(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[4396+(c[q>>2]<<3)>>2];g=ti(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[4396+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[4396+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;cx(g,30915,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+104>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Tz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;cx(g,30938,v);break}else{ix(c[t>>2]|0,131,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[4396+(c[q>>2]<<3)+4>>2]|0))break;Ih(c[t>>2]|0,105,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Jh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Qz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+44>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+44>>2]=l;c[O>>2]=dx(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(30862,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Fh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(ax(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Tz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+40>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+40>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+40>>2]=l;Uz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,104);hx(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}hx(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+44>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=l;jx(c[O>>2]|0,104,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[n>>2]|0,c[F>>2]|0);ix(c[O>>2]|0,76,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;ix(c[O>>2]|0,76,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;mx(c[O>>2]|0,89,0,(c[L>>2]|0)+1|0,c[L>>2]|0,4292,-5)|0;Jh(c[O>>2]|0,2);c[t>>2]=Sz(c[O>>2]|0,57,c[y>>2]|0)|0;ix(c[O>>2]|0,76,0,c[G>>2]|0)|0;c[s>>2]=wx(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Wz(c[O>>2]|0)|0;c[r>>2]=Vw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;fx(c[O>>2]|0,13)|0;c[s>>2]=wx(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)ix(c[O>>2]|0,35,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Xz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;ix(c[O>>2]|0,76,c[w>>2]|0,c[G>>2]|0)|0;jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=mx(c[O>>2]|0,36,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Jh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}ix(c[O>>2]|0,76,c[C>>2]|0,c[G>>2]|0)|0;Yz(c[O>>2]|0,c[v>>2]|0)|0;Zz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Zz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}_z(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}mx(c[O>>2]|0,89,1,c[L>>2]|0,c[N>>2]|0,4320,-5)|0;Jh(c[O>>2]|0,2);ix(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;$z(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}ix(c[O>>2]|0,100,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Sz(c[O>>2]|0,22,c[K>>2]|0)|0;ix(c[O>>2]|0,79,0,c[H>>2]|0)|0;mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=dx(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Sz(c[e>>2]|0,137,c[d>>2]|0)|0;i=f;return}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=jx(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Tz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+112>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+112>>2]|0)+1<<4;e=c[k>>2]|0;e=Px(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+116>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+116>>2]=e;e=(c[q>>2]|0)+112|0;if(c[(c[q>>2]|0)+116>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;mh(c[c[q>>2]>>2]|0);i=s;return}}function Uz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=dx(c[j>>2]|0)|0;Tz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==105?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Ih(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Jj(c[m>>2]|0)|0;jx(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Vz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Vz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Mh(a,-1,hA(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Wz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+12>>2];f=(c[d>>2]|0)+72|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Px(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+76>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+76>>2]=f}if(!(c[(c[d>>2]|0)+76>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+76>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Xz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+148+5>>0]|0;c[j>>2]=Sj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=gy(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;dA(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+136>>2]|0);i=d;return}function _z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];c[e>>2]=-1-(c[h>>2]|0);if(!(c[(c[f>>2]|0)+76>>2]|0)){i=g;return}c[(c[(c[f>>2]|0)+76>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+136>>2];i=g;return}function $z(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;mx(c[g>>2]|0,89,0,c[j>>2]|0,c[h>>2]|0,4348,-5)|0;Jh(c[g>>2]|0,1);i=f;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=_d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){se(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,30884,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=RR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=QR(p|0,C|0,1,0)|0;d=h;d=bS(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,30889,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}me(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=_d(c[c[j>>2]>>2]|0)|0;c[f>>2]=ce(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}cA(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function cA(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function eA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+136>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=4376;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=ce(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=ce(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=ve(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=sh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){se(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);fe(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function gA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function hA(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+36>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=iA(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=iA(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==34834)f=0;else f=Xz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+36>>2]|0){jA(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function iA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=Vw(c[g>>2]|0,24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;VR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{mh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function jA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(c[(c[b>>2]|0)+12>>2]|0,c[b>>2]|0);i=d;return}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];lA(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function lA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(HB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);mA(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function mA(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Fh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(ax(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Tz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=dx(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=hA(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;mx(b,108,a,0,y,nA(c[k>>2]|0)|0,-6)|0;Uz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,104);c[p>>2]=ix(c[w>>2]|0,57,c[t>>2]|0,0)|0;c[v>>2]=vx(c[n>>2]|0)|0;oA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;ix(c[w>>2]|0,125,c[s>>2]|0,c[v>>2]|0)|0;pA(c[n>>2]|0,c[j>>2]|0);ix(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)ix(c[w>>2]|0,131,c[m>>2]|0,c[h>>2]|0)|0;mx(c[w>>2]|0,105,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Jh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=ix(c[w>>2]|0,55,c[s>>2]|0,0)|0;y=(d[(c[o>>2]|0)+54>>0]|0|0)!=0;g=wx(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Yz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=wx(c[w>>2]|0)|0;Ih(c[w>>2]|0,119,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;qA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;jx(c[w>>2]|0,120,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;jx(c[w>>2]|0,53,c[r>>2]|0,0,-1)|0;jx(c[w>>2]|0,126,c[r>>2]|0,c[v>>2]|0,0)|0;Jh(c[w>>2]|0,16);xx(c[n>>2]|0,c[v>>2]|0);ix(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);Sz(c[w>>2]|0,111,c[t>>2]|0)|0;Sz(c[w>>2]|0,111,c[r>>2]|0)|0;Sz(c[w>>2]|0,111,c[s>>2]|0)|0;i=x;return}function nA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function oA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Wz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+60>>2]=c[q>>2];AA(c[o>>2]|0);BA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=CA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){DA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);EA(c[x>>2]|0,92)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}jx(c[x>>2]|0,99,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function pA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}_z(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);yA(c[d>>2]|0);i=f;return}function qA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];rA(l,31053,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)sA(l,31064,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;rA(l,30161,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}function rA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){uA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);TR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function tA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=dx(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Vx(c[j>>2]|0);mx(c[p>>2]|0,75,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Jh(c[p>>2]|0,a[o>>0]|0);i=q;return}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=vA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}TR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function vA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;wA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=RR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=RR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){xA(c[j>>2]|0);wA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Uw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){xA(e);wA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)TR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=ku(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function wA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function xA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function yA(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;a=(c[b>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[e>>2]|0)>=(d[(c[b>>2]|0)+25>>0]|0|0))break;if((c[(c[b>>2]|0)+152+((c[e>>2]|0)*20|0)+8>>2]|0)>(c[(c[b>>2]|0)+64>>2]|0)){zA(c[b>>2]|0,c[e>>2]|0);continue}else{c[e>>2]=(c[e>>2]|0)+1;continue}}i=f;return}function zA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((a[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+6>>0]|0)!=0?(d[(c[f>>2]|0)+19>>0]|0)<8:0){e=c[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+352+((b&255)<<2)>>2]=e}j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0)){i=h;return}j=(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)|0;b=(c[f>>2]|0)+152+((d[(c[f>>2]|0)+25>>0]|0)*20|0)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];i=h;return}function AA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function BA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=Iy(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}iB(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}function CA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)==1){c[d>>2]=vx(b)|0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=c[b+32>>2];c[h>>2]=c[(c[e>>2]|0)+28>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[e>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0)}else{c[g>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;h=(c[e>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0)}c[d>>2]=c[g>>2];h=c[d>>2]|0;i=j;return h|0}function DA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+60>>2]=c[k>>2];MA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{NA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function EA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if((c[(c[g>>2]|0)+136>>2]|0)>0?(d[(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=HA(c[g>>2]|0,(c[(c[g>>2]|0)+136>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function FA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[e>>2]|0;d=c[f>>2]|0;if((c[g>>2]|0)==1){xx(b,d);i=h;return}GA(b,d,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0)){i=h;return}c[(c[e>>2]|0)+28>>2]=c[g>>2];c[(c[e>>2]|0)+32>>2]=c[f>>2];i=h;return}function GA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;c[k>>2]=(c[f>>2]|0)+152+((c[j>>2]|0)*20|0);if((c[(c[k>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0){zA(c[f>>2]|0,c[j>>2]|0);continue}c[j>>2]=(c[j>>2]|0)+1}i=l;return}function HA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);IA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-95;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function IA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;a:do switch(c[h>>2]|0){case -21:{JA(c[e>>2]|0,c[f>>2]|0);break}case -15:case -1:case -13:case -12:{Tf(c[e>>2]|0,c[f>>2]|0);break}case -6:{if(!(c[(c[e>>2]|0)+456>>2]|0))jA(c[f>>2]|0);break}case -11:{if(!(c[(c[e>>2]|0)+456>>2]|0))Kd(c[f>>2]|0);break}case -5:{KA(c[e>>2]|0,c[f>>2]|0);break}case -8:if(!(c[(c[e>>2]|0)+456>>2]|0)){ch(c[f>>2]|0);break a}else{LA(c[e>>2]|0,c[f>>2]|0);break a}case -10:{if(!(c[(c[e>>2]|0)+456>>2]|0))su(c[f>>2]|0);break}default:{}}while(0);i=g;return}function JA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;KA(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function KA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function LA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+24>>2]|0)Tf(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function MA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=Iy(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}function NA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?156:96;c[p>>2]=c[m>>2];if((d[(c[k>>2]|0)+42>>0]&32|0)!=0?(d[(c[k>>2]|0)+42>>0]&16|0)==0:0){a=Jj(c[k>>2]|0)|0;c[p>>2]=(OA(a,c[m>>2]&65535)|0)<<16>>16}jx(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else ix(c[j>>2]|0,123,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}PA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function OA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function PA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(QA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=QA(c[g>>2]|0)|0;ux(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Mh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Sz(c[g>>2]|0,92,c[k>>2]|0)|0;i=o;return}function QA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function RA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){ix(c[(c[f>>2]|0)+8>>2]|0,84,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=SA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}ix(c[(c[f>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function SA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=i;i=i+320|0;x=ja+24|0;w=ja+16|0;F=ja+8|0;v=ja;ga=ja+304|0;ha=ja+300|0;O=ja+296|0;ia=ja+292|0;ea=ja+288|0;B=ja+284|0;ba=ja+280|0;ca=ja+276|0;da=ja+272|0;R=ja+268|0;E=ja+264|0;S=ja+216|0;C=ja+208|0;q=ja+204|0;r=ja+200|0;m=ja+196|0;n=ja+192|0;y=ja+188|0;z=ja+184|0;D=ja+180|0;t=ja+176|0;j=ja+172|0;s=ja+168|0;Q=ja+164|0;P=ja+160|0;N=ja+156|0;G=ja+152|0;H=ja+148|0;L=ja+144|0;I=ja+140|0;A=ja+309|0;M=ja+136|0;J=ja+132|0;K=ja+308|0;o=ja+128|0;k=ja+124|0;l=ja+120|0;u=ja+116|0;p=ja+112|0;U=ja+108|0;X=ja+104|0;W=ja+100|0;V=ja+96|0;Z=ja+92|0;T=ja+88|0;Y=ja+40|0;aa=ja+32|0;$=ja+28|0;c[ha>>2]=f;c[O>>2]=g;c[ia>>2]=h;c[ea>>2]=c[(c[ha>>2]|0)+8>>2];c[ba>>2]=c[ia>>2];c[ca>>2]=0;c[da>>2]=0;c[C>>2]=0;if(!(c[ea>>2]|0)){c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if(!(c[O>>2]|0))c[B>>2]=101;else c[B>>2]=d[c[O>>2]>>0];a:do switch(c[B>>2]|0){case 154:{c[q>>2]=c[(c[O>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[O>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if(a[(c[q>>2]|0)+1>>0]|0){jx(c[ea>>2]|0,96,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{UA(c[ha>>2]|0,c[O>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 132:{VA(c[ea>>2]|0,c[(c[O>>2]|0)+8>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 97:{hx(c[ea>>2]|0,c[ia>>2]|0,c[(c[O>>2]|0)+8>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 101:{ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 133:{c[y>>2]=(c[(c[O>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[y>>2]|0)|0)-1;c[z>>2]=Ix(QA(c[ea>>2]|0)|0,c[y>>2]|0,c[n>>2]|0)|0;mx(c[ea>>2]|0,81,(c[n>>2]|0)/2|0,c[ia>>2]|0,0,c[z>>2]|0,-1)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 135:{ix(c[ea>>2]|0,82,b[(c[O>>2]|0)+32>>1]|0,c[ia>>2]|0)|0;if(a[(c[(c[O>>2]|0)+8>>2]|0)+1>>0]|0)Mh(c[ea>>2]|0,-1,c[(c[(c[ha>>2]|0)+428>>2]|0)+((b[(c[O>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 157:{c[ga>>2]=c[(c[O>>2]|0)+28>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 66:{c[ba>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;if((c[ba>>2]|0)!=(c[ia>>2]|0)){ix(c[ea>>2]|0,85,c[ba>>2]|0,c[ia>>2]|0)|0;c[ba>>2]=c[ia>>2]}ix(c[ea>>2]|0,93,c[ia>>2]|0,(Dx(c[(c[O>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;WA(c[ha>>2]|0,c[ba>>2]|0,1);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 148:case 29:{c[B>>2]=(c[B>>2]|0)==29?37:36;c[C>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;jx(c[ea>>2]|0,c[B>>2]|0,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break}case 155:{c[t>>2]=c[(c[O>>2]|0)+12>>2];if((d[c[t>>2]>>0]|0)==134){UA(c[ha>>2]|0,c[t>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if((d[c[t>>2]>>0]|0)!=132){a[S>>0]=-122;c[S+4>>2]=17408;c[S+8>>2]=0;c[R>>2]=ZA(c[ha>>2]|0,S,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,da)|0;jx(c[ea>>2]|0,48,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break a}VA(c[ea>>2]|0,c[(c[t>>2]|0)+8>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 19:case 54:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;ix(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0,c[ba>>2]|0)|0;break}case 35:case 34:{ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[j>>2]=Sz(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0)|0;ix(c[ea>>2]|0,76,0,c[ia>>2]|0)|0;Zz(c[ea>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[O>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[ha>>2]|0;c[v>>2]=c[(c[O>>2]|0)+8>>2];Eh(ia,31067,v);break a}c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[O>>2]|0)+34>>1]<<4)+8>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 151:{c[H>>2]=0;c[I>>2]=c[c[ha>>2]>>2];a[A>>0]=a[(c[I>>2]|0)+66>>0]|0;c[M>>2]=0;if(c[(c[O>>2]|0)+4>>2]&16384)c[Q>>2]=0;else c[Q>>2]=c[(c[O>>2]|0)+20>>2];if(c[Q>>2]|0)j=c[c[Q>>2]>>2]|0;else j=0;c[P>>2]=j;c[G>>2]=c[(c[O>>2]|0)+8>>2];c[N>>2]=ki(c[I>>2]|0,c[G>>2]|0,c[P>>2]|0,a[A>>0]|0,0)|0;if((c[N>>2]|0)!=0?(c[(c[N>>2]|0)+16>>2]|0)==0:0){if(e[(c[N>>2]|0)+2>>1]&512){c[J>>2]=Wz(c[ea>>2]|0)|0;RA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0);c[L>>2]=1;while(1){j=c[ea>>2]|0;if((c[L>>2]|0)>=(c[P>>2]|0))break;ix(j,35,c[ia>>2]|0,c[J>>2]|0)|0;GA(c[ha>>2]|0,c[ia>>2]|0,1);AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0);c[L>>2]=(c[L>>2]|0)+1}_z(j,c[J>>2]|0);break a}if(e[(c[N>>2]|0)+2>>1]&1024){c[ga>>2]=SA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[P>>2]|0))break;if((c[L>>2]|0)<32?($A(c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[H>>2]=c[H>>2]|1<>2];if(!((c[M>>2]|0)!=0?1:(e[(c[N>>2]|0)+2>>1]&32|0)==0))c[M>>2]=fy(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+1}if(c[Q>>2]|0){j=c[ha>>2]|0;if(c[H>>2]|0){c[R>>2]=(c[j+44>>2]|0)+1;da=(c[ha>>2]|0)+44|0;c[da>>2]=(c[da>>2]|0)+(c[P>>2]|0)}else c[R>>2]=CA(j,c[P>>2]|0)|0;do if(e[(c[N>>2]|0)+2>>1]&192){a[K>>0]=a[c[c[(c[Q>>2]|0)+4>>2]>>2]>>0]|0;if((d[K>>0]|0)!=152?(d[K>>0]|0)!=154:0)break;a[(c[c[(c[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[N>>2]|0)+2>>1]&192}while(0);AA(c[ha>>2]|0);aB(c[ha>>2]|0,c[Q>>2]|0,c[R>>2]|0,0,3)|0;yA(c[ha>>2]|0)}else c[R>>2]=0;if((c[P>>2]|0)>=2?(c[(c[O>>2]|0)+4>>2]&128|0)!=0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;else fa=79;if((fa|0)==79?(c[P>>2]|0)>0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[N>>2]|0)+2>>1]&32){if(!(c[M>>2]|0))c[M>>2]=c[(c[I>>2]|0)+8>>2];mx(c[ea>>2]|0,88,0,0,0,c[M>>2]|0,-4)|0}mx(c[ea>>2]|0,89,c[H>>2]|0,c[R>>2]|0,c[ia>>2]|0,c[N>>2]|0,-5)|0;Jh(c[ea>>2]|0,c[P>>2]&255);if((c[P>>2]|0)!=0&(c[H>>2]|0)==0)FA(c[ha>>2]|0,c[R>>2]|0,c[P>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}ia=c[ha>>2]|0;c[F>>2]=c[G>>2];Eh(ia,31093,F);break}case 119:case 20:{if((c[B>>2]|0)==119?(ia=c[c[c[(c[O>>2]|0)+20>>2]>>2]>>2]|0,c[o>>2]=ia,(ia|0)!=1):0){cB(c[ha>>2]|0,c[o>>2]|0,1);break a}c[ga>>2]=dB(c[ha>>2]|0,c[O>>2]|0,0,0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 159:{if(!(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)){ia=dB(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,0,0)|0;c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]=ia}c[ga>>2]=(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)+(b[(c[O>>2]|0)+32>>1]|0);ia=c[ga>>2]|0;i=ja;return ia|0}case 33:{c[k>>2]=Wz(c[ea>>2]|0)|0;c[l>>2]=Wz(c[ea>>2]|0)|0;ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;eB(c[ha>>2]|0,c[O>>2]|0,c[k>>2]|0,c[l>>2]|0);ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[k>>2]|0);ix(c[ea>>2]|0,91,c[ia>>2]|0,0)|0;_z(c[ea>>2]|0,c[l>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 32:{fB(c[ha>>2]|0,c[O>>2]|0,c[ia>>2]|0,0,0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 156:case 53:case 161:{c[ga>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 88:{c[u>>2]=c[(c[O>>2]|0)+44>>2];c[p>>2]=(_(c[(c[O>>2]|0)+28>>2]|0,(b[(c[u>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[O>>2]|0)+32>>1]|0);ix(c[ea>>2]|0,143,c[p>>2]|0,c[ia>>2]|0)|0;if((b[(c[O>>2]|0)+32>>1]|0)>=0?(a[(c[(c[u>>2]|0)+4>>2]|0)+(b[(c[O>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Sz(c[ea>>2]|0,92,c[ia>>2]|0)|0;break}case 158:{Eh(c[ha>>2]|0,29838,w);break}case 83:{if(!(c[(c[ha>>2]|0)+128>>2]|0)){Eh(c[ha>>2]|0,31116,x);c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if((a[(c[O>>2]|0)+1>>0]|0)==2)Vx(c[ha>>2]|0);if((a[(c[O>>2]|0)+1>>0]|0)==4){mx(c[ea>>2]|0,75,0,4,0,c[(c[O>>2]|0)+8>>2]|0,0)|0;break a}else{tA(c[ha>>2]|0,1811,a[(c[O>>2]|0)+1>>0]|0,c[(c[O>>2]|0)+8>>2]|0,0,0);break a}}default:{c[$>>2]=0;c[Z>>2]=c[(c[O>>2]|0)+20>>2];c[T>>2]=c[(c[Z>>2]|0)+4>>2];c[W>>2]=c[c[Z>>2]>>2];c[U>>2]=Wz(c[ea>>2]|0)|0;R=c[(c[O>>2]|0)+12>>2]|0;c[aa>>2]=R;if(R){j=S;k=c[aa>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));hB(S,gB(c[ha>>2]|0,S,ca)|0);j=Y;l=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));a[Y>>0]=37;c[Y+12>>2]=S;c[$>>2]=Y;c[ca>>2]=0}c[V>>2]=0;while(1){if((c[V>>2]|0)>=((c[W>>2]|0)-1|0))break;AA(c[ha>>2]|0);j=c[(c[T>>2]|0)+((c[V>>2]|0)*20|0)>>2]|0;if(c[aa>>2]|0)c[Y+16>>2]=j;else c[$>>2]=j;c[X>>2]=Wz(c[ea>>2]|0)|0;iB(c[ha>>2]|0,c[$>>2]|0,c[X>>2]|0,16);RA(c[ha>>2]|0,c[(c[T>>2]|0)+(((c[V>>2]|0)+1|0)*20|0)>>2]|0,c[ia>>2]|0);Yz(c[ea>>2]|0,c[U>>2]|0)|0;yA(c[ha>>2]|0);_z(c[ea>>2]|0,c[X>>2]|0);c[V>>2]=(c[V>>2]|0)+2}if(c[W>>2]&1){AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+(((c[W>>2]|0)-1|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0)}else ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[U>>2]|0)}}while(0);do if((fa|0)==11){c[m>>2]=c[(c[O>>2]|0)+28>>2];do if((c[m>>2]|0)<0){if((c[(c[ha>>2]|0)+56>>2]|0)<=0){c[m>>2]=c[(c[ha>>2]|0)+60>>2];break}c[ga>>2]=(b[(c[O>>2]|0)+32>>1]|0)+(c[(c[ha>>2]|0)+56>>2]|0);ia=c[ga>>2]|0;i=ja;return ia|0}while(0);c[ga>>2]=TA(c[ha>>2]|0,c[(c[O>>2]|0)+44>>2]|0,b[(c[O>>2]|0)+32>>1]|0,c[m>>2]|0,c[ia>>2]|0,a[(c[O>>2]|0)+38>>0]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}else if((fa|0)==29){c[D>>2]=c[(c[O>>2]|0)+12>>2];fa=(XA(c[D>>2]|0)|0)!=0;j=c[ha>>2]|0;if(fa){YA(j,c[O>>2]|0,c[ia>>2]|0,c[B>>2]&255,c[C>>2]&255);break}else{c[R>>2]=ZA(j,c[D>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;_A(c[ha>>2]|0,c[D>>2]|0,c[(c[O>>2]|0)+16>>2]|0,c[B>>2]|0,c[R>>2]|0,c[E>>2]|0,c[ba>>2]|0,32|c[C>>2])|0;break}}while(0);xx(c[ha>>2]|0,c[ca>>2]|0);xx(c[ha>>2]|0,c[da>>2]|0);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}function TA(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;p=w+16|0;q=w+12|0;r=w+36|0;u=w+8|0;s=w+4|0;t=w;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=k;c[u>>2]=c[(c[m>>2]|0)+8>>2];c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+152;while(1){if((c[s>>2]|0)>=(d[(c[m>>2]|0)+25>>0]|0))break;if((c[c[t>>2]>>2]|0)==(c[p>>2]|0)?(b[(c[t>>2]|0)+4>>1]|0)==(c[o>>2]|0):0){v=5;break}c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==5){u=(c[m>>2]|0)+68|0;v=c[u>>2]|0;c[u>>2]=v+1;c[(c[t>>2]|0)+16>>2]=v;FB(c[m>>2]|0,c[(c[t>>2]|0)+12>>2]|0);c[l>>2]=c[(c[t>>2]|0)+12>>2];v=c[l>>2]|0;i=w;return v|0}NA(c[u>>2]|0,c[n>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);if(a[r>>0]|0)Jh(c[u>>2]|0,a[r>>0]|0);else GB(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);c[l>>2]=c[q>>2];v=c[l>>2]|0;i=w;return v|0}function UA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);ix(c[l>>2]|0,76,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Hi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31290,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Eh(q,31293,n);i=p;return}else{VA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=QR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}EB(c[l>>2]|0,77,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function VA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;ez(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];EB(c[f>>2]|0,132,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function WA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;GA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function XA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(cz(c[d>>2]|0)|0)>1&1;i=b;return a|0}function YA(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+80|0;j=C+64|0;D=C+60|0;k=C+56|0;l=C+70|0;m=C+69|0;B=C+52|0;s=C+48|0;u=C+44|0;p=C+40|0;o=C+36|0;z=C+32|0;A=C+28|0;q=C+68|0;n=C+24|0;x=C+20|0;y=C+16|0;r=C+12|0;t=C+8|0;v=C+4|0;w=C;c[j>>2]=b;c[D>>2]=e;c[k>>2]=f;a[l>>0]=g;a[m>>0]=h;c[B>>2]=c[(c[j>>2]|0)+8>>2];c[s>>2]=c[(c[D>>2]|0)+12>>2];c[u>>2]=c[(c[D>>2]|0)+16>>2];c[p>>2]=cz(c[s>>2]|0)|0;c[z>>2]=0;c[A>>2]=0;a[q>>0]=a[l>>0]|0;c[n>>2]=Wz(c[B>>2]|0)|0;a[m>>0]=d[m>>0]|0|32;if((d[q>>0]|0|0)==39)a[q>>0]=40;if((d[q>>0]|0|0)==41)a[q>>0]=38;c[z>>2]=CB(c[j>>2]|0,c[s>>2]|0)|0;c[A>>2]=CB(c[j>>2]|0,c[u>>2]|0)|0;c[o>>2]=0;while(1){c[x>>2]=0;c[y>>2]=0;if((c[o>>2]|0)>0)AA(c[j>>2]|0);c[v>>2]=DB(c[j>>2]|0,c[s>>2]|0,c[o>>2]|0,c[z>>2]|0,r,x)|0;c[w>>2]=DB(c[j>>2]|0,c[u>>2]|0,c[o>>2]|0,c[A>>2]|0,t,y)|0;_A(c[j>>2]|0,c[r>>2]|0,c[t>>2]|0,d[q>>0]|0,c[v>>2]|0,c[w>>2]|0,c[k>>2]|0,d[m>>0]|0)|0;xx(c[j>>2]|0,c[x>>2]|0);xx(c[j>>2]|0,c[y>>2]|0);if((c[o>>2]|0)>0)yA(c[j>>2]|0);if((c[o>>2]|0)==((c[p>>2]|0)-1|0))break;do if((d[q>>0]|0|0)!=37){f=c[B>>2]|0;if((d[q>>0]|0|0)==36){ix(f,21,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8;break}ix(f,42,0,c[n>>2]|0)|0;if((c[o>>2]|0)==((c[p>>2]|0)-2|0))a[q>>0]=a[l>>0]|0}else{ix(c[B>>2]|0,22,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8}while(0);c[o>>2]=(c[o>>2]|0)+1}_z(c[B>>2]|0,c[n>>2]|0);i=C;return}function ZA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=ky(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(BB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+80>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Ky(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+44|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;wB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=vx(c[g>>2]|0)|0;c[o>>2]=SA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{xx(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function _A(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=sB(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(AB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=mx(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Jh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function $A(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,1,0)|0;i=b;return a|0}function aB(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?84:85;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)ix(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?($A(c[u>>2]|0)|0)!=0:0){wB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=SA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==84?(g=eA(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==84):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}ix(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function bB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;o=y+36|0;s=y+32|0;t=y+28|0;q=y+24|0;v=y+20|0;p=y+16|0;r=y+12|0;u=y+8|0;x=y+4|0;w=y;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[v>>2]=0;c[p>>2]=0;c[u>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[s>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if(!(d[(c[s>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[t>>2]=c[(Ux(c[l>>2]|0,c[s>>2]|0)|0)+8>>2];c[q>>2]=c[c[t>>2]>>2];if(!(c[(c[q>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[x>>2]=qh(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[x>>2]|0){c[w>>2]=c[x>>2];while(1){if(!(a[c[w>>2]>>0]|0))break;a[c[w>>2]>>0]=a[17613+(d[c[w>>2]>>0]|0)>>0]|0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=Zb[c[(c[q>>2]|0)+72>>2]&255](c[t>>2]|0,c[n>>2]|0,c[x>>2]|0,v,p)|0;Tf(c[l>>2]|0,c[x>>2]|0)}if(!(c[u>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}x=c[l>>2]|0;c[r>>2]=sh(x,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[r>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}else{w=c[r>>2]|0;x=c[m>>2]|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[(c[r>>2]|0)+20>>2]=(c[r>>2]|0)+28;w=(c[r>>2]|0)+28|0;x=c[(c[m>>2]|0)+20>>2]|0;TR(w|0,x|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[r>>2]|0)+12>>2]=c[v>>2];c[(c[r>>2]|0)+4>>2]=c[p>>2];x=(c[r>>2]|0)+2|0;b[x>>1]=e[x>>1]|16;c[k>>2]=c[r>>2];x=c[k>>2]|0;i=y;return x|0}return 0}function cB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e;k=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=31246;d=c[k>>2]|0;a=c[j>>2]|0;b=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=b;Eh(d,a,f);i=e;return}function dB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+176|0;h=O;H=O+168|0;I=O+164|0;J=O+160|0;K=O+156|0;v=O+152|0;L=O+148|0;M=O+144|0;N=O+140|0;j=O+136|0;w=O+132|0;s=O+128|0;C=O+124|0;p=O+120|0;u=O+116|0;r=O+112|0;n=O+88|0;o=O+80|0;q=O+76|0;x=O+172|0;y=O+72|0;t=O+68|0;B=O+64|0;D=O+60|0;E=O+56|0;F=O+52|0;A=O+48|0;z=O+44|0;m=O+40|0;k=O+16|0;l=O+12|0;c[I>>2]=b;c[J>>2]=e;c[K>>2]=f;c[v>>2]=g;c[L>>2]=-1;c[M>>2]=0;c[N>>2]=dx(c[I>>2]|0)|0;if(!(c[N>>2]|0)){c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}AA(c[I>>2]|0);if(!(c[(c[J>>2]|0)+4>>2]&32))c[L>>2]=fx(c[N>>2]|0,20)|0;if((d[(c[I>>2]|0)+409>>0]|0)==2){f=c[c[I>>2]>>2]|0;e=(d[c[J>>2]>>0]|0)==33?31209:31214;b=c[(c[I>>2]|0)+424>>2]|0;c[h>>2]=(c[L>>2]|0)>=0?18402:31197;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Gh(f,31221,h)|0;mx(c[N>>2]|0,162,c[(c[I>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[J>>2]|0;do if((d[c[J>>2]>>0]|0)==33){c[s>>2]=c[g+12>>2];c[C>>2]=0;c[p>>2]=cz(c[s>>2]|0)|0;l=(c[I>>2]|0)+40|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[J>>2]|0)+28>>2]=m;c[w>>2]=ix(c[N>>2]|0,107,c[(c[J>>2]|0)+28>>2]|0,(c[v>>2]|0)!=0?0:c[p>>2]|0)|0;if(c[v>>2]|0)g=0;else g=iA(c[c[I>>2]>>2]|0,c[p>>2]|0,1)|0;c[C>>2]=g;g=(c[J>>2]|0)+20|0;a:do if(c[(c[J>>2]|0)+4>>2]&2048){c[u>>2]=c[g>>2];c[r>>2]=c[c[u>>2]>>2];if((c[c[r>>2]>>2]|0)==(c[p>>2]|0)){vB(n,11,c[(c[J>>2]|0)+28>>2]|0);c[n+4>>2]=mB(c[I>>2]|0,c[J>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=0;G=(Pv(c[I>>2]|0,c[u>>2]|0,n)|0)!=0;Tf(c[c[I>>2]>>2]|0,c[n+4>>2]|0);if(G){jA(c[C>>2]|0);c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;c[q>>2]=pB(c[s>>2]|0,c[o>>2]|0)|0;G=sB(c[I>>2]|0,c[q>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;c[(c[C>>2]|0)+20+(c[o>>2]<<2)>>2]=G;c[o>>2]=(c[o>>2]|0)+1}}}else if(c[g>>2]|0){c[t>>2]=c[(c[J>>2]|0)+20>>2];u=ey(c[s>>2]|0)|0;a[x>>0]=u;a[x>>0]=(a[x>>0]|0)!=0?u:65;if(c[C>>2]|0){u=fy(c[I>>2]|0,c[(c[J>>2]|0)+12>>2]|0)|0;c[(c[C>>2]|0)+20>>2]=u}c[D>>2]=vx(c[I>>2]|0)|0;c[E>>2]=vx(c[I>>2]|0)|0;if(c[v>>2]|0)ix(c[N>>2]|0,79,0,c[E>>2]|0)|0;c[y>>2]=c[c[t>>2]>>2];c[B>>2]=c[(c[t>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[A>>2]=c[c[B>>2]>>2];if((c[L>>2]|0)>=0?($A(c[A>>2]|0)|0)==0:0){HA(c[N>>2]|0,c[L>>2]|0)|0;c[L>>2]=-1}if((c[v>>2]|0)!=0?(Fy(c[A>>2]|0,z)|0)!=0:0)jx(c[N>>2]|0,116,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[z>>2]|0)|0;else G=30;do if((G|0)==30){G=0;c[F>>2]=SA(c[I>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;g=c[N>>2]|0;e=c[F>>2]|0;if(c[v>>2]|0){ix(g,17,e,(wx(c[N>>2]|0)|0)+2|0)|0;jx(c[N>>2]|0,115,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;break}else{mx(g,99,e,1,c[E>>2]|0,x,1)|0;WA(c[I>>2]|0,c[F>>2]|0,1);ix(c[N>>2]|0,126,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[B>>2]=(c[B>>2]|0)+20}xx(c[I>>2]|0,c[D>>2]|0);xx(c[I>>2]|0,c[E>>2]|0)}while(0);if(c[C>>2]|0)Mh(c[N>>2]|0,c[w>>2]|0,c[C>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];if((d[c[J>>2]>>0]|0)==119)g=c[c[c[m>>2]>>2]>>2]|0;else g=1;c[l>>2]=g;vB(k,0,(c[(c[I>>2]|0)+44>>2]|0)+1|0);G=(c[I>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+(c[l>>2]|0);if((d[c[J>>2]>>0]|0)==119){a[k>>0]=10;c[k+12>>2]=c[k+8>>2];c[k+16>>2]=c[l>>2];jx(c[N>>2]|0,79,0,c[k+8>>2]|0,(c[k+8>>2]|0)+(c[l>>2]|0)-1|0)|0}else{a[k>>0]=3;ix(c[N>>2]|0,76,0,c[k+8>>2]|0)|0}iv(c[c[I>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);G=jw(c[c[I>>2]>>2]|0,134,4284,0)|0;c[(c[m>>2]|0)+56>>2]=G;c[(c[m>>2]|0)+12>>2]=0;G=(c[m>>2]|0)+8|0;c[G>>2]=c[G>>2]&-1025;if(!(Pv(c[I>>2]|0,c[m>>2]|0,k)|0)){c[M>>2]=c[k+8>>2];break}c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}while(0);if(c[K>>2]|0)tB(c[N>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[K>>2]|0);if((c[L>>2]|0)>=0)Zz(c[N>>2]|0,c[L>>2]|0);yA(c[I>>2]|0);c[H>>2]=c[M>>2];N=c[H>>2]|0;i=O;return N|0}function eB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+128|0;r=L+120|0;s=L+116|0;t=L+112|0;u=L+108|0;I=L+104|0;q=L+100|0;G=L+96|0;H=L+92|0;J=L+88|0;x=L+84|0;K=L+80|0;B=L+76|0;E=L+68|0;A=L+64|0;g=L+60|0;z=L+56|0;w=L+52|0;y=L+48|0;v=L+44|0;m=L+40|0;l=L+36|0;j=L+32|0;n=L+28|0;p=L+24|0;o=L+20|0;h=L+16|0;k=L+12|0;C=L+8|0;D=L+4|0;F=L;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[I>>2]=0;c[x>>2]=0;c[K>>2]=0;c[z>>2]=0;c[E>>2]=c[(c[s>>2]|0)+12>>2];if(lB(c[r>>2]|0,c[s>>2]|0)|0){i=L;return}c[K>>2]=mB(c[r>>2]|0,c[s>>2]|0)|0;c[B>>2]=cz(c[(c[s>>2]|0)+12>>2]|0)|0;c[x>>2]=sh(c[c[r>>2]>>2]|0,((c[B>>2]|0)*5|0)+1|0,0)|0;if(!(a[(c[c[r>>2]>>2]|0)+69>>0]|0)){c[J>>2]=c[(c[r>>2]|0)+8>>2];c[q>>2]=nB(c[r>>2]|0,c[s>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:I,c[x>>2]|0)|0;AA(c[r>>2]|0);c[H>>2]=gB(c[r>>2]|0,c[E>>2]|0,L+72|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;if((c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)!=(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+1}a:do if((c[A>>2]|0)==(c[B>>2]|0))c[G>>2]=c[H>>2];else{c[G>>2]=CA(c[r>>2]|0,c[B>>2]|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break a;jx(c[J>>2]|0,84,(c[H>>2]|0)+(c[A>>2]|0)|0,(c[G>>2]|0)+(c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)|0,0)|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);b:do if((c[q>>2]|0)==5){c[m>>2]=c[(c[s>>2]|0)+20>>2];c[l>>2]=fy(c[r>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0;c[j>>2]=Wz(c[J>>2]|0)|0;c[o>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[o>>2]=vx(c[r>>2]|0)|0;jx(c[J>>2]|0,43,c[G>>2]|0,c[G>>2]|0,c[o>>2]|0)|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[n>>2]=ZA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,p)|0;if((c[o>>2]|0)!=0?(oB(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)|0)!=0:0)jx(c[J>>2]|0,43,c[o>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[h>>2]|0)>=((c[c[m>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){mx(c[J>>2]|0,36,c[G>>2]|0,c[t>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,(a[c[K>>2]>>0]|16)&255)}else{mx(c[J>>2]|0,37,c[G>>2]|0,c[j>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,a[c[K>>2]>>0]|0)}xx(c[r>>2]|0,c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(c[o>>2]|0){ix(c[J>>2]|0,34,c[o>>2]|0,c[u>>2]|0)|0;Yz(c[J>>2]|0,c[t>>2]|0)|0}_z(c[J>>2]|0,c[j>>2]|0);xx(c[r>>2]|0,c[o>>2]|0)}else{if((c[u>>2]|0)==(c[t>>2]|0))c[g>>2]=c[t>>2];else{p=Wz(c[J>>2]|0)|0;c[z>>2]=p;c[g>>2]=p}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[k>>2]=pB(c[(c[s>>2]|0)+12>>2]|0,c[A>>2]|0)|0;if(oB(c[k>>2]|0)|0)ix(c[J>>2]|0,34,(c[G>>2]|0)+(c[A>>2]|0)|0,c[g>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}e=c[J>>2]|0;do if((c[q>>2]|0)!=1){mx(e,98,c[G>>2]|0,c[B>>2]|0,0,c[K>>2]|0,c[B>>2]|0)|0;e=c[J>>2]|0;f=c[(c[s>>2]|0)+28>>2]|0;if((c[t>>2]|0)==(c[u>>2]|0)){Ih(e,30,f,c[t>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;break b}else{c[w>>2]=Ih(e,31,f,0,c[G>>2]|0,c[B>>2]|0)|0;break}}else{jx(e,32,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0,c[G>>2]|0)|0;c[w>>2]=fx(c[J>>2]|0,13)|0}while(0);if((c[I>>2]|0)!=0&(c[B>>2]|0)==1)ix(c[J>>2]|0,35,c[I>>2]|0,c[t>>2]|0)|0;if((c[t>>2]|0)==(c[u>>2]|0))Yz(c[J>>2]|0,c[t>>2]|0)|0;if(c[z>>2]|0)_z(c[J>>2]|0,c[z>>2]|0);c[v>>2]=ix(c[J>>2]|0,57,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0)|0;if((c[B>>2]|0)>1)c[y>>2]=Wz(c[J>>2]|0)|0;else c[y>>2]=c[t>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[F>>2]=vx(c[r>>2]|0)|0;c[C>>2]=pB(c[E>>2]|0,c[A>>2]|0)|0;c[D>>2]=fy(c[r>>2]|0,c[C>>2]|0)|0;jx(c[J>>2]|0,96,c[(c[s>>2]|0)+28>>2]|0,c[A>>2]|0,c[F>>2]|0)|0;mx(c[J>>2]|0,36,(c[G>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[F>>2]|0,c[D>>2]|0,-4)|0;xx(c[r>>2]|0,c[F>>2]|0);c[A>>2]=(c[A>>2]|0)+1}ix(c[J>>2]|0,13,0,c[u>>2]|0)|0;if((c[B>>2]|0)>1){_z(c[J>>2]|0,c[y>>2]|0);ix(c[J>>2]|0,7,c[(c[s>>2]|0)+28>>2]|0,(c[v>>2]|0)+1|0)|0;ix(c[J>>2]|0,13,0,c[t>>2]|0)|0}Zz(c[J>>2]|0,c[w>>2]|0)}while(0);if((c[G>>2]|0)!=(c[H>>2]|0))xx(c[r>>2]|0,c[G>>2]|0);yA(c[r>>2]|0)}Tf(c[c[r>>2]>>2]|0,c[x>>2]|0);Tf(c[c[r>>2]>>2]|0,c[K>>2]|0);i=L;return}function fB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;h=s+216|0;j=s+212|0;k=s+208|0;l=s+204|0;m=s+200|0;p=s+152|0;n=s+104|0;o=s+56|0;q=s+8|0;r=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[r>>2]=0;e=n;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=o;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=p;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=q;g=c[(c[j>>2]|0)+12>>2]|0;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[p>>0]=28;c[p+12>>2]=n;c[p+16>>2]=o;a[n>>0]=41;c[n+12>>2]=q;c[n+16>>2]=c[c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]>>2];a[o>>0]=39;c[o+12>>2]=q;c[o+16>>2]=c[(c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];hB(q,gB(c[h>>2]|0,q,r)|0);if(c[l>>2]|0){_b[c[l>>2]&255](c[h>>2]|0,p,c[k>>2]|0,c[m>>2]|0);q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}else{q=q+4|0;c[q>>2]=c[q>>2]|1;SA(c[h>>2]|0,p,c[k>>2]|0)|0;q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}}function gB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;f=m+12|0;k=m+8|0;l=m+4|0;j=m;c[g>>2]=a;c[h>>2]=b;c[f>>2]=e;c[l>>2]=cz(c[h>>2]|0)|0;if((c[l>>2]|0)==1){c[k>>2]=ZA(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}c[c[f>>2]>>2]=0;f=c[g>>2]|0;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=dB(f,c[h>>2]|0,0,0)|0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=(c[f+44>>2]|0)+1;e=(c[g>>2]|0)+44|0;c[e>>2]=(c[e>>2]|0)+(c[l>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;RA(c[g>>2]|0,c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0,(c[j>>2]|0)+(c[k>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+1}l=c[k>>2]|0;i=m;return l|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function iB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 28:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 27:{c[l>>2]=Wz(c[s>>2]|0)|0;jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[s>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 19:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==29?36:37;c[k>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;ix(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,133,c[k>>2]|0);break}case 33:if(c[k>>2]|0){eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Wz(c[s>>2]|0)|0;eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);_z(c[s>>2]|0,c[m>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)t=14;else{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((t|0)==14){if(xz(c[h>>2]|0)|0){Yz(c[s>>2]|0,c[j>>2]|0)|0;break}if(!(kB(c[h>>2]|0)|0)){c[o>>2]=ZA(c[g>>2]|0,c[h>>2]|0,q)|0;jx(c[s>>2]|0,22,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[q>>2]|0);xx(c[g>>2]|0,c[r>>2]|0);i=u;return}function jB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];switch(c[o>>2]|0){case 28:{c[l>>2]=Wz(c[t>>2]|0)|0;iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[t>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 27:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 19:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[o>>2]=(c[o>>2]|0)==29?37:36;c[k>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;ix(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,134,c[k>>2]|0);break}case 33:{c[m>>2]=Wz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;eB(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Yz(c[t>>2]|0,c[j>>2]|0)|0;_z(c[t>>2]|0,c[m>>2]|0);break}default:u=12}if((u|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)u=12;else{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((u|0)==12){if(kB(c[h>>2]|0)|0){Yz(c[t>>2]|0,c[j>>2]|0)|0;break}if(!(xz(c[h>>2]|0)|0)){c[p>>2]=ZA(c[g>>2]|0,c[h>>2]|0,r)|0;jx(c[t>>2]|0,21,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[r>>2]|0);xx(c[g>>2]|0,c[s>>2]|0);i=v;return}function kB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function lB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j;e=j+16|0;d=j+12|0;f=j+8|0;g=j+4|0;c[d>>2]=a;c[f>>2]=b;c[g>>2]=cz(c[(c[f>>2]|0)+12>>2]|0)|0;b=c[g>>2]|0;if(c[(c[f>>2]|0)+4>>2]&2048){if((b|0)!=(c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0)){cB(c[d>>2]|0,c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0,c[g>>2]|0);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}}else if((b|0)!=1){b=c[d>>2]|0;if(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]&2048)cB(b,c[g>>2]|0,1);else Eh(b,29838,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function mB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+28|0;e=o+24|0;l=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;k=o;g=o+32|0;c[f>>2]=b;c[e>>2]=d;c[l>>2]=c[(c[e>>2]|0)+12>>2];c[j>>2]=cz(c[l>>2]|0)|0;if(c[(c[e>>2]|0)+4>>2]&2048)e=c[(c[e>>2]|0)+20>>2]|0;else e=0;c[m>>2]=e;b=(c[j>>2]|0)+1|0;c[n>>2]=sh(c[c[f>>2]>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=pB(c[l>>2]|0,c[h>>2]|0)|0;a[g>>0]=ey(c[k>>2]|0)|0;if(c[m>>2]|0){f=rB(c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,a[g>>0]|0)|0;a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=f}else a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=a[g>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[(c[n>>2]|0)+(c[j>>2]|0)>>0]=0;n=c[n>>2]|0;i=o;return n|0}function nB(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+160|0;W=X+16|0;l=X+140|0;m=X+136|0;n=X+132|0;o=X+128|0;p=X+124|0;K=X+120|0;u=X+116|0;D=X+112|0;H=X+108|0;V=X+104|0;v=X+100|0;L=X+96|0;t=X+92|0;S=X+88|0;B=X+144|0;M=X+84|0;J=X+80|0;y=X+76|0;N=X+72|0;q=X+68|0;w=X+64|0;O=X+60|0;A=X+56|0;E=X+147|0;r=X+146|0;s=X+8|0;G=X;P=X+52|0;R=X+48|0;Q=X+44|0;F=X+40|0;z=X+36|0;U=X+32|0;T=X+28|0;x=X+24|0;I=X+20|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[u>>2]=0;g=(c[l>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[D>>2]=j;c[V>>2]=dx(c[l>>2]|0)|0;c[H>>2]=(c[n>>2]&4|0)!=0&1;if((c[o>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)!=0:0){c[L>>2]=c[c[(c[m>>2]|0)+20>>2]>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[L>>2]>>2]|0))break;if(oB(c[(c[(c[L>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)>>2]|0)|0)break;c[v>>2]=(c[v>>2]|0)+1}if((c[v>>2]|0)==(c[c[L>>2]>>2]|0))c[o>>2]=0}a:do if((c[(c[l>>2]|0)+36>>2]|0)==0?(j=qB(c[m>>2]|0)|0,c[K>>2]=j,(j|0)!=0):0){c[t>>2]=c[c[l>>2]>>2];c[M>>2]=c[c[K>>2]>>2];c[J>>2]=c[c[M>>2]>>2];c[S>>2]=c[(c[(c[K>>2]|0)+28>>2]|0)+8+16>>2];b[B>>1]=Fh(c[t>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;sx(c[l>>2]|0,b[B>>1]|0);Tz(c[l>>2]|0,b[B>>1]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0);if((c[J>>2]|0)==1?(b[(c[c[(c[M>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){c[y>>2]=fx(c[V>>2]|0,20)|0;Uz(c[l>>2]|0,c[D>>2]|0,b[B>>1]|0,c[S>>2]|0,104);c[u>>2]=1;Zz(c[V>>2]|0,c[y>>2]|0);break}c[q>>2]=1;c[w>>2]=0;while(1){if(!((c[w>>2]|0)<(c[J>>2]|0)?(c[q>>2]|0)!=0:0))break;c[O>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[A>>2]=b[(c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)+32>>1];a[E>>0]=ly(c[S>>2]|0,c[A>>2]|0)|0;a[r>>0]=rB(c[O>>2]|0,a[E>>0]|0)|0;if(((a[r>>0]|0)+-65|0)>>>0>=2)c[q>>2]=(a[E>>0]|0)>=67&1;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0){c[N>>2]=c[(c[S>>2]|0)+8>>2];while(1){if(!((c[N>>2]|0)!=0?(c[u>>2]|0)==0:0))break a;do if((e[(c[N>>2]|0)+52>>1]|0)>=(c[J>>2]|0)?(e[(c[N>>2]|0)+52>>1]|0)<63:0){if(c[H>>2]|0){if((e[(c[N>>2]|0)+50>>1]|0)>(c[J>>2]|0))break;if((e[(c[N>>2]|0)+52>>1]|0)>(c[J>>2]|0)?(d[(c[N>>2]|0)+54>>0]|0)==0:0)break}j=s;c[j>>2]=0;c[j+4>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[J>>2]|0))break;c[P>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[R>>2]=c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[Q>>2]=sB(c[l>>2]|0,c[P>>2]|0,c[R>>2]|0)|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[J>>2]|0))break;if((b[(c[(c[N>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0)==(b[(c[R>>2]|0)+32>>1]|0)){if(!(c[Q>>2]|0))break;if(!(ig(c[c[Q>>2]>>2]|0,c[(c[(c[N>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0))break}c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)==(c[J>>2]|0))break;j=WR(1,0,c[F>>2]|0)|0;g=G;c[g>>2]=j;c[g+4>>2]=C;g=G;j=s;if((c[g>>2]&c[j>>2]|0)!=0?1:(c[g+4>>2]&c[j+4>>2]|0)!=0)break;S=G;f=s;g=c[f+4>>2]|c[S+4>>2];j=s;c[j>>2]=c[f>>2]|c[S>>2];c[j+4>>2]=g;if(c[p>>2]|0)c[(c[p>>2]|0)+(c[w>>2]<<2)>>2]=c[F>>2];c[w>>2]=(c[w>>2]|0)+1}j=s;S=c[j>>2]|0;j=c[j+4>>2]|0;g=WR(1,0,c[J>>2]|0)|0;g=QR(g|0,C|0,1,0)|0;if((S|0)==(g|0)&(j|0)==(C|0)){c[z>>2]=fx(c[V>>2]|0,20)|0;g=c[V>>2]|0;j=c[t>>2]|0;c[W>>2]=c[c[N>>2]>>2];mx(g,162,0,0,0,Gh(j,31166,W)|0,-1)|0;jx(c[V>>2]|0,104,c[D>>2]|0,c[(c[N>>2]|0)+44>>2]|0,b[B>>1]|0)|0;Vz(c[l>>2]|0,c[N>>2]|0);c[u>>2]=3+(d[c[(c[N>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(g=(c[l>>2]|0)+44|0,j=(c[g>>2]|0)+1|0,c[g>>2]=j,c[c[o>>2]>>2]=j,(c[J>>2]|0)==1):0)tB(c[V>>2]|0,c[D>>2]|0,c[c[o>>2]>>2]|0);Zz(c[V>>2]|0,c[z>>2]|0)}}while(0);c[N>>2]=c[(c[N>>2]|0)+20>>2]}}}while(0);do if(((c[u>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((uB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[u>>2]=5}while(0);if(!(c[u>>2]|0)){c[U>>2]=c[(c[l>>2]|0)+136>>2];c[T>>2]=0;c[u>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+136>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[u>>2]=1}else if(c[o>>2]|0){V=(c[l>>2]|0)+44|0;W=(c[V>>2]|0)+1|0;c[V>>2]=W;c[T>>2]=W;c[c[o>>2]>>2]=W}dB(c[l>>2]|0,c[m>>2]|0,c[T>>2]|0,(c[u>>2]|0)==1&1)|0;c[(c[l>>2]|0)+136>>2]=c[U>>2]}else c[(c[m>>2]|0)+28>>2]=c[D>>2];if(!((c[p>>2]|0)!=0&(c[u>>2]|0)!=3&(c[u>>2]|0)!=4)){W=c[u>>2]|0;i=X;return W|0}c[I>>2]=cz(c[(c[m>>2]|0)+12>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[I>>2]|0))break;c[(c[p>>2]|0)+(c[x>>2]<<2)>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1}W=c[u>>2]|0;i=X;return W|0}function oB(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 133:case 132:case 97:case 134:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function pB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;a=(XA(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;if(!a){c[e>>2]=b;g=c[e>>2]|0;i=h;return g|0}if((d[b>>0]|0|0)!=119?(d[(c[f>>2]|0)+38>>0]|0|0)!=119:0){c[e>>2]=c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}c[e>>2]=c[(c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}function qB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+28|0;b=m+24|0;l=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;e=m+4|0;g=m;c[b>>2]=a;do if(c[(c[b>>2]|0)+4>>2]&2048){if(c[(c[b>>2]|0)+4>>2]&32){c[k>>2]=0;break}c[l>>2]=c[(c[b>>2]|0)+20>>2];if(c[(c[l>>2]|0)+48>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+8>>2]&9){c[k>>2]=0;break}if(c[(c[l>>2]|0)+56>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+32>>2]|0){c[k>>2]=0;break}c[h>>2]=c[(c[l>>2]|0)+28>>2];if((c[c[h>>2]>>2]|0)!=1){c[k>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[k>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16){c[k>>2]=0;break}c[f>>2]=c[c[l>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0)){b=24;break}c[g>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[e>>2]|0)*20|0)>>2];if((d[c[g>>2]>>0]|0|0)!=152){b=22;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==22){c[k>>2]=0;break}else if((b|0)==24){c[k>>2]=c[l>>2];break}}else c[k>>2]=0;while(0);i=m;return c[k>>2]|0}function rB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=ey(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function sB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function tB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;ix(c[g>>2]|0,76,0,c[h>>2]|0)|0;c[f>>2]=Sz(c[g>>2]|0,57,c[j>>2]|0)|0;jx(c[g>>2]|0,96,c[j>>2]|0,0,c[h>>2]|0)|0;Jh(c[g>>2]|0,-128);Zz(c[g>>2]|0,c[f>>2]|0);i=e;return}function uB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=$A(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function vB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function wB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+80>>2];c[o>>2]=Iy(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Tv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}function xB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];wy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function yB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function zB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function AB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=ey(c[k>>2]|0)|0;d=(rB(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function BB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,2,0)|0;i=b;return a|0}function CB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((d[c[f>>2]>>0]|0|0)!=119){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=dB(c[e>>2]|0,c[f>>2]|0,0,0)|0;g=c[g>>2]|0;i=h;return g|0}function DB(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;l=s+24|0;m=s+20|0;k=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;r=s+28|0;c[m>>2]=b;c[k>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=a[c[k>>2]>>0]|0;if((d[r>>0]|0|0)==157){r=pB(c[k>>2]|0,c[n>>2]|0)|0;c[c[p>>2]>>2]=r;c[l>>2]=(c[(c[k>>2]|0)+28>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}b=c[n>>2]|0;f=(c[k>>2]|0)+20|0;if((d[r>>0]|0|0)==119){c[c[p>>2]>>2]=c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=(c[o>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}else{c[c[p>>2]>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=ZA(c[m>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0)|0;r=c[l>>2]|0;i=s;return r|0}return 0}function EB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Vw(QA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=mx(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function FB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[j>>2]=(c[f>>2]|0)+152;while(1){if((c[h>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;if((c[(c[j>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[j>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=k;return}function GB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if((e[(c[c[k>>2]>>2]|0)+64>>1]|0)&2){i=s;return}if((d[(c[k>>2]|0)+25>>0]|0|0)>=10){c[q>>2]=2147483647;c[p>>2]=-1;c[o>>2]=0;c[r>>2]=(c[k>>2]|0)+152;while(1){if((c[o>>2]|0)>=10)break;if((c[(c[r>>2]|0)+16>>2]|0)<(c[q>>2]|0)){c[p>>2]=c[o>>2];c[q>>2]=c[(c[r>>2]|0)+16>>2]}c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}c[r>>2]=(c[k>>2]|0)+152+((c[p>>2]|0)*20|0)}else{q=(c[k>>2]|0)+25|0;f=a[q>>0]|0;a[q>>0]=f+1<<24>>24;c[r>>2]=(c[k>>2]|0)+152+((f&255)*20|0)}c[(c[r>>2]|0)+8>>2]=c[(c[k>>2]|0)+64>>2];c[c[r>>2]>>2]=c[l>>2];b[(c[r>>2]|0)+4>>1]=c[m>>2];c[(c[r>>2]|0)+12>>2]=c[n>>2];a[(c[r>>2]|0)+6>>0]=0;q=(c[k>>2]|0)+68|0;f=c[q>>2]|0;c[q>>2]=f+1;c[(c[r>>2]|0)+16>>2]=f;i=s;return}function HB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function IB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=JB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=JB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=JB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=ax(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=dx(c[l>>2]|0)|0;c[u>>2]=CA(c[l>>2]|0,4)|0;RA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);RA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);RA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){mx(c[w>>2]|0,89,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Jh(c[w>>2]|0,a[c[n>>2]>>0]|0);Sz(c[w>>2]|0,150,(c[m>>2]|0)==24&1)|0}}while(0);iv(c[s>>2]|0,c[p>>2]|0);iv(c[s>>2]|0,c[q>>2]|0);iv(c[s>>2]|0,c[r>>2]|0);i=y;return}function JB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=Ay(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function KB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=$d(c[c[r>>2]>>2]|0)|0;c[g>>2]=ve(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=18402;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31331,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31352,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31378,m)|0;break}if((og(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(qu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){LB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;MB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31420,n)|0}while(0);ie(c[f>>2]|0,o,-1);i=q;return}function LB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;NB(c[g>>2]|0)|0}Pg(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(OB(c[e>>2]|0)|0)==0:0)){hr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Ui(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function MB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function NB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);PB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}RB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function OB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1006]|0)!=(c[d>>2]|0)){c[e>>2]=c[1006];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1006]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function PB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function QB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}SB(c[b>>2]|0);i=d;return}function RB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;SB(c[e>>2]|0);i=f;return}function SB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Js(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function TB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=ve(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=$d(c[c[F>>2]>>2]|0)|0;c[C>>2]=$d(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=18402;if(!(c[C>>2]|0))c[C>>2]=18402;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+96+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Gh(c[p>>2]|0,31493,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Gh(F,31535,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Vw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Uw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=ak(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)mh(c[p>>2]|0);ie(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=bk(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ck(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Gh(c[p>>2]|0,20016,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;UB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;VB(F,VB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;WB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Gh(c[p>>2]|0,31565,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=qh(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=si(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){LB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Cg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){mh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Gh(c[p>>2]|0,25016,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Gh(F,31594,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+96+28>>2];c[A>>2]=Gh(e,31456,h)|0}while(0);if(c[A>>2]|0){ie(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}qe(c[n>>2]|0,c[u>>2]|0);i=E;return}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(YB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function VB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);XB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function XB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function YB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;sx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function _B(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=$B(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?19905:19924;if((c[h>>2]|0)==1)c[f>>2]=14;if(ax(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(ax(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=dx(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?19905:19924;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;cx(n,31642,l);ex(c[d>>2]|0,c[h>>2]|0);mx(c[k>>2]|0,140,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function $B(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function aC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=sh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;TR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Zw(c[j>>2]|0);c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function bC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=px(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(pz(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function cC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function dC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(eC(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(fC(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Eh(f,31940,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function eC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(gC(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(dC(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function fC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+148+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&8404992){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(eC(e,c[b>>2]|0)|0){e=10;break}}else if(gC(e,c[b>>2]|0)|0){e=12;break}if(fC(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Eh(f,31986,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function gC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(fC(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(eC(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function iC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33|32;i=d;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}hx(c[e>>2]|0,1,c[g>>2]|0)|0;kC(c[e>>2]|0,c[f>>2]|0);ix(c[e>>2]|0,87,1,1)|0;i=h;return}function kC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;yC(c[f>>2]|0,1,e);i=d;return}function lC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;EB(c[g>>2]|0,77,0,1,0,j,-13)|0;kC(c[g>>2]|0,c[h>>2]|0);ix(c[g>>2]|0,87,1,1)|0;i=f;return}function mC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;f=h+16|0;k=h+12|0;g=h+4|0;j=h;c[f>>2]=a;c[k>>2]=d;c[j>>2]=c[c[f>>2]>>2];OC(c[(c[f>>2]|0)+100>>2]|0,(e[(c[f>>2]|0)+140>>1]|0)<<1);Tf(c[j>>2]|0,c[(c[f>>2]|0)+100>>2]|0);c[g>>2]=c[k>>2]<<1;b[(c[f>>2]|0)+140>>1]=c[k>>2];a=Vw(c[j>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h+8>>2]=a;c[(c[f>>2]|0)+100>>2]=a;if(!(c[(c[f>>2]|0)+100>>2]|0)){i=h;return}PC(c[(c[f>>2]|0)+100>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,1);i=h;return}function nC(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+140>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+100>>2]|0)+(g*40|0);c[q>>2]=gh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function oC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32192)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32185)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function pC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[5420+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;NC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function rC(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function sC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33263)|0){if(!(ig(c[d>>2]|0,32707)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33268)|0)){c[b>>2]=2;break}else{c[e>>2]=Pi(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function tC(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function uC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=LC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function vC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)WB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function wC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=KC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(xC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function xC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(og(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){LB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Cg(c[f>>2]|0);break}Eh(c[e>>2]|0,33201,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function yC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;mC(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;nC(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function zC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?79:97;e=c[h>>2]|0;c[h>>2]=e+1;mx(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;ix(b,76,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function AC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33011;break}case 8:{c[e>>2]=33020;break}case 9:{c[e>>2]=33032;break}case 6:{c[e>>2]=33040;break}default:c[e>>2]=33049}i=f;return c[e>>2]|0}function BC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Vw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:34834;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+150>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Eh(C,32948,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function CC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ch(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){mh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=ey(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=32856;else c[f>>2]=18398;ji(c[d>>2]|0,32860,2,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32860,3,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32865,2,1,18394,212,0,0,0)|0;IC(c[d>>2]|0,32865,12);IC(c[d>>2]|0,32860,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function EC(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(d[(c[e>>2]|0)+25>>0]|0|0))break;if((d[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+6>>0]|0|0)!=0?(d[(c[e>>2]|0)+19>>0]|0|0)<8:0){h=c[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+12>>2]|0;j=(c[e>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[e>>2]|0)+352+((b&255)<<2)>>2]=h}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+25>>0]=0;i=g;return}function FC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Fh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=dx(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+40>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Uz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Tz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==105&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2];a[t>>0]=0}if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){jx(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Vz(c[q>>2]|0,c[A>>2]|0);Jh(c[B>>2]|0,a[t>>0]|0)}c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+40>>2]|0))c[(c[q>>2]|0)+40>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function GC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33;i=d;return}function HC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=ve(c[f>>2]|0)|0;c[k>>2]=ue(c[f>>2]|0)|0;c[m>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=ae(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+96+32>>2]|0)){ie(c[f>>2]|0,32870,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=$d(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Wx(c[n>>2]|0,-1)|0)==1){c[j>>2]=JC(n)|0;break}ie(c[f>>2]|0,32903,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;je(q,Th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function IC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ki(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function JC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[25563+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function KC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33105)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26159)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function LC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=MC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function MC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=_R(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=cj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function OC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Xg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function PC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l;k=l+12|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;b[k>>1]=f;while(1){a=c[h>>2]|0;c[h>>2]=a+-1;if((a|0)<=0)break;c[(c[g>>2]|0)+32>>2]=c[j>>2];b[(c[g>>2]|0)+8>>1]=b[k>>1]|0;c[(c[g>>2]|0)+24>>2]=0;c[g>>2]=(c[g>>2]|0)+40}i=l;return}function QC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34141,k)|0;if(ti(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;cx(p,30938,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function RC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=dx(c[g>>2]|0)|0;c[f>>2]=vx(c[g>>2]|0)|0;jx(c[k>>2]|0,130,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Vx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?19905:19924;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;cx(a,34085,h);xx(c[g>>2]|0,c[f>>2]|0);i=e;return}function SC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Uw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;VR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function TC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&16777216)c[p>>2]=zx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(vG(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function UC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Ux(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Eh(m,35257,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Eh(m,35228,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function VC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function WC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+472>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(zx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=160){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=px(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(hR(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(Ly(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Fh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=dx(c[v>>2]|0)|0;sx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+40|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+40|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=XC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=vx(c[v>>2]|0)|0;c[L>>2]=vx(c[v>>2]|0)|0;Uz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,105);do if(!(c[(c[z>>2]|0)+24>>2]&268435456)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=ix(c[M>>2]|0,57,c[E>>2]|0,0)|0;c[A>>2]=fx(c[M>>2]|0,13)|0;Zz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Uz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,104);c[B>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=ix(l,114,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=ix(l,123,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=ix(c[M>>2]|0,123,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=jx(c[M>>2]|0,33,c[E>>2]|0,0,c[L>>2]|0)|0;kF(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Zz(c[M>>2]|0,c[s>>2]|0);bD(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);ix(c[M>>2]|0,122,c[F>>2]|0,c[K>>2]|0)|0;mx(c[M>>2]|0,115,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[w>>2]|0,-20)|0;Jh(c[M>>2]|0,11);ix(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0}else{Tz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Tz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}jx(c[M>>2]|0,104,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Vz(c[v>>2]|0,c[J>>2]|0);jx(c[M>>2]|0,105,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[v>>2]|0,c[H>>2]|0);Jh(c[M>>2]|0,1);c[y>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;ix(c[M>>2]|0,121,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&268435456){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(34834,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;jx(c[M>>2]|0,53,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);jx(c[M>>2]|0,126,c[E>>2]|0,c[K>>2]|0,1)|0;Jh(c[M>>2]|0,a[G>>0]|0);ix(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Zz(c[M>>2]|0,c[y>>2]|0);ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Zz(c[M>>2]|0,c[B>>2]|0);xx(c[v>>2]|0,c[L>>2]|0);xx(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){hD(c[v>>2]|0);ix(c[M>>2]|0,75,0,0)|0;Zz(c[M>>2]|0,c[A>>2]|0);ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function XC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if(((d[(c[j>>2]|0)+42>>0]|0)&8|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&268435456|0)==0:0){b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+120>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Vw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+120>>2];c[(c[m>>2]|0)+120>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+44|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function YC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Sz(c[f>>2]|0,73,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+12>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]=0;i=e;return}function ZC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=dx(c[f>>2]|0)|0;c[k>>2]=wx(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Ux(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=eA(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==104?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==155?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function _C(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];RA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+44|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;ix(c[j>>2]|0,84,c[h>>2]|0,c[f>>2]|0)|0;hB(c[g>>2]|0,c[f>>2]|0);i=e;return}function $C(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=QA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ch(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){mh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){mx(g,98,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Mh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function aD(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(vG(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)tF(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}ix(c[(c[e>>2]|0)+8>>2]|0,145,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function cD(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?($A(c[g>>2]|0)|0)!=0:0){wB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function dD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+412>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+460>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+412>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+460>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+460>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+412|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+460>>2]|0)+(l<<2)>>2]=j;i=k;return}else{mh(c[c[h>>2]>>2]|0);i=k;return}}function eD(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=dx(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Jj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Vx(c[E>>2]|0);break}case 3:case 1:break;case 4:{ix(c[ka>>2]|0,34,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Sz(c[ka>>2]|0,35,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;RA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Zz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Gh(m,30161,A)|0;mx(c[ka>>2]|0,74,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Jh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(jF(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Wz(c[ka>>2]|0)|0;jB(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Yz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;tA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}_z(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Wz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){jx(c[ka>>2]|0,37,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=fx(c[ka>>2]|0,13)|0}while(0);jx(c[ka>>2]|0,33,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(lF(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){mF(c[E>>2]|0);oF(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{mF(c[E>>2]|0);nF(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)kF(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);_z(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=fx(c[ka>>2]|0,13)|0;Zz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){$C(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Wz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){ix(c[ka>>2]|0,79,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;BA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+56>>2]=0}c[ga>>2]=CA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;MA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+56>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}ix(c[ka>>2]|0,(c[U>>2]|0)<0?86:85,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}jx(c[ka>>2]|0,99,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;WA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){_z(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);_z(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Ih(c[ka>>2]|0,29,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=CA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){ix(c[ka>>2]|0,129,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;jx(c[ka>>2]|0,37,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(OA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[ka>>2]|0,96,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=wx(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=36;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Xz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=37}mx(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Jh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{qA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;mF(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;nF(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}_z(c[ka>>2]|0,c[Q>>2]|0);FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))FA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Yz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Zz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function fD(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+150>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Fh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(jD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+150>>0]|0)c[I>>2]=ti(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Dh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(BC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=iz(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Tz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+40|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(lD(c[l>>2]|0,c[D>>2]|0)|0)==0:0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=dx(c[l>>2]|0)|0;g=wx(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;ix(c[K>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}ix(c[K>>2]|0,144,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Yx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(mD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[l>>2]|0)+124>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(BC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=_v(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Vx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;hv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function gD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=dx(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;ix(j,34,n,(wx(c[D>>2]|0)|0)+2|0)|0}ix(c[D>>2]|0,126,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Jh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=vx(c[o>>2]|0)|0;jx(c[D>>2]|0,99,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))$C(c[D>>2]|0,c[p>>2]|0,0);WA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;jx(c[D>>2]|0,115,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Mh(c[D>>2]|0,-1,c[p>>2]|0,-20);Jh(c[D>>2]|0,a[A>>0]|0);i=E;return}function hD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+120>>2]|0)){i=d;return}iD(c[b>>2]|0);i=d;return}function iD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=vx(c[d>>2]|0)|0;Uz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,105);c[e>>2]=Kh(c[l>>2]|0,5,34384,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;xx(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function jD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0} +function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[360+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[360+((c[f>>2]|0)*12|0)>>2]|0,a[360+((c[f>>2]|0)*12|0)+4>>0]|0,d[360+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[360+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[840+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[840+(c[f>>2]<<4)>>2]|0,a[840+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[840+(c[f>>2]<<4)+8>>2]|0,c[840+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,378,16758);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,379,16767);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,380,16776);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(16785,16734,570,16793);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);he(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}le(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,394,16802);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+IQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,402,16812);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+JQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,410,16822);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+KQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,1680,16832);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}je(c[f>>2]|0,c[j>>2]|0);i=o;return}le(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,498,17236);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,499,17248);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,420,17260);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,419,17268);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,421,17276);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,422,17284);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,446,17292);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+LQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,438,17301);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+PQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,454,17310);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+QQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,456,17319);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,474,17328);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,472,17336);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,473,17344);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+NQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(16785,16734,546,17354);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);c[(BQ()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){he(e,+h[k>>3]);i=l;return}else{m=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,m,c[(BQ()|0)>>2]|0);i=l;return}}le(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,590,17364);switch(ee(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=de(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;ke(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[j>>2]|0);i=k;return}default:{h[g>>3]=+be(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);he(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,375,17373);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,514,17382);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=de(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;ke(a,aS(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);he(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,620,17393);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,645,17402);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;he(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(ee(c[c[f>>2]>>2]|0)|0)){i=n;return}a=de(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[e>>2]|0,17412,-1);i=n;return}a=ae(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=aS(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;iR(o,$d(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=aS(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;iR(o+k|0,c[m>>2]|0)|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}me(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}se(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(17425,16734,1038,17443);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(ce(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;je(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}le(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1073,17457);if(5!=(ee(c[c[h>>2]>>2]|0)|0)?5!=(ee(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=ce(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){mR(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;me(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{se(c[g>>2]|0);i=p;return}}le(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1113,17466);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[k>>2]=ce(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){iR(c[l>>2]|0,c[o>>2]|0)|0;me(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{se(c[f>>2]|0);i=p;return}}le(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(17476,16734,1323,17484);if(5==(ee(c[c[g>>2]>>2]|0)|0)){le(c[f>>2]|0);i=o;return}c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[j>>2]=kR(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){se(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}me(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(16726,16734,724,17496);if(5==(ee(c[c[f>>2]>>2]|0)|0)){le(c[g>>2]|0);i=n;return}c[k>>2]=$d(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){se(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(wQ(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=AQ(f)|0;else a[j>>0]=zQ(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,771,17507);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[m>>2]|0);i=o;return}c[j>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[m>>2]|0,17412,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){me(f,c[n>>2]|0,-1,-1);break}se(f);i=o;return}else{p=kR(f)|0;b=h;b=RR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=QR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=RR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){se(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}iR(f,c[j>>2]|0)|0}while(0);me(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,825,17544);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}q=iR(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,880,17553);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}iR(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(16785,16734,939,17562);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=$d(c[c[g>>2]>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((kR(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){se(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);mR(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;me(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}le(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(16726,16734,1395,17576);c[j>>2]=we(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+be(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(16726,16734,1418,17589);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=we(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=LR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=de(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=LR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+be(e);c[l>>2]=LR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);KR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;ke(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{he(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=LR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;KR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,16717)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((vQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){iR(c[j>>2]|0,16975)|0;i=l;return}e=(AQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[16847+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[16980+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[936+(c[f>>2]<<2)>>2]|0);if(((c[952+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+QQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((kR(c[d>>2]|0)|0)+1|0)|0;a=iR(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(17516,16734,316,17525);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[16980+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);KR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;he(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){ke(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;he(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=RR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=QR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=RR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,17605,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=8){d=9;break}if((zd(c[d>>2]|0,c[976+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[976+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[17613+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[17613+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[17613+(d[c[j>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<8){c[b>>2]=c[976+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(18365)|0;l=c[g>>2]|0;i=m;return l|0}if(a[17869+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[1008+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1048+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1048+(c[h>>2]<<2)>>2]=c[1008+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[272];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(hR(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1092;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[272]|0;if((c[g>>2]|0)!=0|(c[272]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[272]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[272]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=296;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=296;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[79]=a&1;l=Hd()|0;k=f;k=QR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[17879]=0;i=m;return}if(!(a[17879]|0)){a[17881]=0;a[17880]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17882+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17881]=(d[17881]|0)+((d[17882+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[17882+(c[h>>2]|0)>>0]|0;a[17882+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[17879]=1}do{a[17880]=(a[17880]|0)+1<<24>>24;a[k>>0]=a[17882+(d[17880]|0)>>0]|0;a[17881]=(d[17881]|0)+(d[k>>0]|0);a[17882+(d[17880]|0)>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[17882+(d[17880]|0)>>0]|0);j=a[17882+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1184+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((c[D>>2]|0)==0?0==(og(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=pg(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}if(((c[D>>2]|0)==0?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(qg(c[r>>2]|0)|0)==7:0)c[D>>2]=7;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=pg(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;rg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}c[B>>2]=sg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=sg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=tg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=ug(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=vg(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=xg(b,a,wg(c[o>>2]|0)|0,0)|0;yg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))zg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Bg(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Cg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Dg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=aS(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Eg(c[x>>2]|0)|0;Fg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=vg(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Gg(c[n>>2]|0)|0;yg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Hg(c[x>>2]|0,0,1)|0;o=(c[384]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[384]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[384]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=_R(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=RR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=vg(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=wg(c[A>>2]|0)|0;q=u;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}yg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=RR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Jg(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Kg(c[x>>2]|0,0)|0}else{Lg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Hg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Mg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Ng(c[(c[r>>2]|0)+24>>2]|0,0)|0;Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Og(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Pg(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Qg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Qg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Rg(c[g>>2]|0)|0){c[b>>2]=Lf(75223)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Tg(c[g>>2]|0)|0;c[f>>2]=Ug(c[e>>2]|0,c[f>>2]|0)|0;Qg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Vg(c[f>>2]|0)|0;Wg(c[f>>2]|0);c[e>>2]=Ug(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function Zd(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;Xg((c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+144>>1]|0)>>>9&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+196>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+144|0;b[j>>1]=b[j>>1]&-2|1;j=c[g>>2]|0;i=h;return j|0}function _d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=$d(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if((e[(c[f>>2]|0)+8>>1]|0)&16384)d=Yg(c[f>>2]|0)|0;else d=0;if(d){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function $d(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_g(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+$g(c[e>>2]|0);i=d;return +b}function ce(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18138+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function ge(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){eh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{dh(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function he(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;fh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;gh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;hh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;hh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function le(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[c[d>>2]>>2]|0);i=b;return}function me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function ne(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[968]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){eh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{dh(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;jh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{kh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function qe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;gh(b,lh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function re(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;gh(c[c[e>>2]>>2]|0,18170,-1,1,0)|0;i=d;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;ih(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;mh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function te(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;l=o+4|0;n=o;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(nh(c[m>>2]|0)|0){c[e>>2]=Lf(75775)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3;while(1){d=oh(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+36>>2];d=ph(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;Yd(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3|2}do if(c[k>>2]|0){c[n>>2]=$d(c[(c[h>>2]|0)+244>>2]|0)|0;Tf(c[h>>2]|0,c[(c[m>>2]|0)+108>>2]|0);if(a[(c[h>>2]|0)+69>>0]|0){c[(c[m>>2]|0)+108>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+40>>2]=7;break}else{n=qh(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+108>>2]=n;c[(c[m>>2]|0)+40>>2]=c[k>>2];break}}while(0);c[j>>2]=Ug(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function ue(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function we(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=rh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function xe(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+140>>1]|0;i=d;return f|0}function ye(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+104>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+140>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=_d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+be(th(c[f>>2]|0,c[g>>2]|0)|0);uh(c[f>>2]|0);i=e;return +(+h[d>>3])}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ce(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=de(th(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;uh(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Fe(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=th(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ee(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Je(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}fh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Le(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=xh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;hh((c[(c[h>>2]|0)+116>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=xh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Ne(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Oe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(ee(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Le(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Je(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Pe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Ie(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=wh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}kh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qe(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+16>>1]|0;i=e;return f|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=yh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Se(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+176>>2]|0;i=d;return e|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=ee(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];Bh(c[e>>2]|0,0);c[d>>2]=ee(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=sh(c[F>>2]|0,36,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ch(c[F>>2]|0,480,0)|0,(c[J>>2]|0)!=0):0){while(1){VR(c[J>>2]|0,0,480)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Dh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Eh(h,18193,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Eh(h,18223,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Eh(h,18259,E)}if(!(c[A>>2]|0)){k=13;break}c[(c[I>>2]|0)+32>>2]=c[A>>2];h=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;c[(c[I>>2]|0)+28>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(h<<4)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18301;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18313;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Hh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Ih(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Jh(c[B>>2]|0,1);c[s>>2]=Kh(c[B>>2]|0,9,18355,0)|0;Lh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Mh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=105;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+400>>1]=1;c[(c[J>>2]|0)+44>>2]=1;c[(c[J>>2]|0)+40>>2]=1;Nh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Le(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Oh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Gh(P,18280,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Gh(N,18321,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Tg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Xd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Rh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(84814)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Oh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?18391:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Ug(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Th(c[f>>2]|0,c[e>>2]|0,18394,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Th(c[h>>2]|0,c[g>>2]|0,18398,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Uh(c[k>>2]|0)|0)){c[j>>2]=Lf(109597)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=18402;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=xe(c[v>>2]|0)|0;do{c[w>>2]=te(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=sh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=He(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Ee(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(Ge(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Tg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[18403+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)mh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Tg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Tg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Ug(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;TR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=lh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Wh(c[e>>2]|0)|0)){c[d>>2]=lh(Lf(140046)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=$d(c[(c[e>>2]|0)+244>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=lh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=lh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Xh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Xh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;r=s+12|0;m=s+8|0;l=s+4|0;c[h>>2]=e;c[j>>2]=f;c[p>>2]=0;c[r>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[o>>2]=c[(c[k>>2]|0)+4>>2];c[n>>2]=sh(c[h>>2]|0,480,0)|0;if(!(c[n>>2]|0))c[p>>2]=7;else{a[(c[n>>2]|0)+410>>0]=1;c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+136>>2]=1;if((((0==(Yh(c[n>>2]|0,c[j>>2]|0,r)|0)?(c[(c[n>>2]|0)+440>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[n>>2]|0)+440>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[n>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[o>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[n>>2]|0)+440>>2];c[(c[o>>2]|0)+4>>2]=c[(c[m>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=b[(c[m>>2]|0)+34>>1]|0;r=(c[o>>2]|0)+42|0;a[r>>0]=d[r>>0]|d[(c[m>>2]|0)+42>>0]&96;b[(c[m>>2]|0)+34>>1]=0;c[(c[m>>2]|0)+4>>2]=0;if((d[(c[m>>2]|0)+42>>0]&32|0)!=0?(c[(c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0)c[p>>2]=1;c[l>>2]=c[(c[m>>2]|0)+8>>2];if(c[l>>2]|0){c[(c[o>>2]|0)+8>>2]=c[l>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[l>>2]|0)+12>>2]=c[o>>2]}}c[(c[k>>2]|0)+12>>2]=1}else{o=c[h>>2]|0;f=(c[r>>2]|0)!=0?18391:0;c[q>>2]=c[r>>2];jg(o,1,f,q);Tf(c[h>>2]|0,c[r>>2]|0);c[p>>2]=1}a[(c[n>>2]|0)+410>>0]=0;if(c[(c[n>>2]|0)+8>>2]|0)Tg(c[(c[n>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[n>>2]|0)+440>>2]|0);Ph(c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0)}c[p>>2]=Ug(c[h>>2]|0,c[p>>2]|0)|0;c[g>>2]=c[p>>2];r=c[g>>2]|0;i=s;return r|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(123278)|0;r=c[g>>2]|0;i=s;return r|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[18659+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(123749)|0;break}}else c[j>>2]=Lf(123757)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 17598}function kf(){return 18677}function lf(){return 3015001}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(138190)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))$h();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(ai()|0)+(bi()|0)+(ci()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))di();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ei(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;switch(c[f>>2]|0){case 1e3:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[c[(c[e>>2]|0)+16>>2]>>2]=q;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}case 1001:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=gi(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}default:{c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=4){q=17;break}if((c[1548+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==17){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1548+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1548+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Sh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1548+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}}return 0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+92>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=sh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=ji(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Ug(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ki(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=ji(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Ug(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+228>>2];c[(c[g>>2]|0)+224>>2]=c[j>>2];c[(c[g>>2]|0)+228>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ni(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,18738,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=oi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Ug(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Wh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(140115)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1580+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1580+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=qi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=xi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Eg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=yi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=zi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=Ai(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=hR(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Gi(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(kR(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[18403+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(21,c[d>>2]|0,45606)|0;i=b;return a|0}function Mf(){return c[428]|0}function Nf(){return c[72]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}ov(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);kv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=h;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){i=h;return}sQ(c[e>>2]|0,c[f>>2]|0);i=h;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;OC(c[(c[j>>2]|0)+100>>2]|0,e[(c[j>>2]|0)+140>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+200>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+20>>2];rQ(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}if((c[(c[j>>2]|0)+20>>2]|0)!=381479589){OC(c[(c[j>>2]|0)+116>>2]|0,b[(c[j>>2]|0)+16>>1]|0);c[k>>2]=(b[(c[j>>2]|0)+18>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+120>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+120>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+180>>2]|0)}rQ(c[h>>2]|0,c[(c[j>>2]|0)+88>>2]|0,c[(c[j>>2]|0)+136>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+100>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+176>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){qQ(a,b);i=g;return}if(lu(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))$h();c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;c[72]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[77]=c[d>>2];c[78]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[76]=(c[d>>2]|0)+4}else{c[76]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){$O();aP();bP(6956,57);return}function Wf(){if(!(c[31]|0))di();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[420]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[423]=c[f>>2];b=c[g>>2]|0;c[430]=b;c[424]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[425]=d;c[426]=c[e>>2];c[429]=0;c[431]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[429];c[429]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[427]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[272]|0)==(c[d>>2]|0)){c[272]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[272]|0)){i=f;return}c[e>>2]=c[272];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[1008+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){_O(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=1008+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Ri(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=296;a=c[h>>2]|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)ZO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=296;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){ZO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Si(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=16;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);sA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=44615;a[na>>0]=16;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[44615+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=44615+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 13:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(a[m>>0]|0)h[ea>>3]=+VO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==3&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==1)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(qG(+h[ea>>3])|0){c[p>>2]=44802;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[44806]|0;a[b+1>>0]=a[44807]|0;a[b+2>>0]=a[44808]|0;a[b+3>>0]=a[44809]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=1?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==3){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=1;break c}while(0);a[na>>0]=2}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==2)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=RR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==2){f=a[44762+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 4:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 7:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 8:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){YO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}YO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 6:case 5:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;a[na>>0]=5}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==6)c[oa>>2]=c[p>>2]}else c[p>>2]=18402;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 14:case 10:case 9:{a[da>>0]=(d[na>>0]|0)==14?34:39;if(a[m>>0]|0)c[v>>2]=XO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==10?39691:44810;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==10;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 11:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)sA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 12:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){dE(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);sA(c[j>>2]|0,44433,1)}dE(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=UO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=QR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=UO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==15){sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=bS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=cS(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[44753+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[44753+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=44762+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=bS(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=44795+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))YO(c[j>>2]|0,c[ja>>2]|0,32);sA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)YO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){sA(c[j>>2]|0,44613,1);i=ra;return}else if((qa|0)==92){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ch(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){TR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{wA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[17613+(d[c[e>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];SJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+244>>2]|0)==0?(g=Zh(c[f>>2]|0)|0,c[(c[f>>2]|0)+244>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=ox(c[f>>2]|0,c[h>>2]|0,j)|0;_h(c[(c[f>>2]|0)+244>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}VR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+244>>2]|0)==0:0){i=f;return}tN(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function pg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=WH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=qN(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=rN(k,m,Zq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=AM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)RB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(dr(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(gr((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)ft((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=xM(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[(c[e>>2]|0)+4>>2]|0;c[b>>2]=Ci(a,sg(c[(c[e>>2]|0)+24>>2]|0)|0,-1,0)|0;i=d;return c[b>>2]|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=pN(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=gr((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function sg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function tg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function ug(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=JF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function vg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Qj(51704)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=24}else{if(((c[o>>2]|0)!=0?(Br(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=GL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if(!((d[(c[l>>2]|0)+17>>0]|0|0)<=1?(d[(c[l>>2]|0)+13>>0]|0|0)==0:0))c[r>>2]=hs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=mN(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ms(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=ms(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=nN(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ns(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=24}while(0);do if((j|0)==24){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[384]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){u=(Br(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Is(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Yj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)lj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;St(c[l>>2]|0,c[m>>2]|0)|0;Zj()}VR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Qj(51793)|0}while(0);if(c[r>>2]|0)Gs(c[r>>2]|0);Ls(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=sg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=sg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=aS(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(kK(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=QR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=_R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=vg(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Gg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=$R(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=wg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=$R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,TR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Ut(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;ft(x,ug(c[(c[g>>2]|0)+24>>2]|0)|0)}yg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=RR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function yg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Js(c[b>>2]|0);i=d;return}function zg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Og(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function Ag(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=AM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Gg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}ft((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)yj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;uu(c[b>>2]|0);MB(c[b>>2]|0);i=f;return}function Dg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=pg(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=pg(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Gg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Eg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Gg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=wt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=gN(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=hN(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[(c[h>>2]|0)+44>>2];o=c[g>>2]|0;i=p;return o|0}if(Bi(400)|0){c[g>>2]=10;o=c[g>>2]|0;i=p;return o|0}if((d[(c[h>>2]|0)+17>>0]|0|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}e=0==(yr(c[h>>2]|0,1)|0);f=c[h>>2]|0;do if(!e){e=(Br(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=As(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=vg(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=xt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;yg(c[n>>2]|0);if(c[o>>2]|0)break;zr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=eN(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=fN(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=yt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=zt(n,As(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){zr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[384]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=Dr(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Kg(c[h>>2]|0,c[j>>2]|0)|0}}else dj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(Br(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Ig(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Xi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=ur(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Kg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=Ai(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=vr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=dN(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;_M(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);$M(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Ng(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=cN(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Lg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Hg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Og(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Pg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=XH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=WI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=qr(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(XF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=gr((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Fg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];QB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;_M(c[l>>2]|0);f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}function Qg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+84>>2]|0)!=1691352191){i=m;return}if(pu(c[d>>2]|0)|0){i=m;return}YI(c[d>>2]|0,0);ZI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(LB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)yj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);uu(c[d>>2]|0);MB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{mu(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);kI(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);ch(c[(c[d>>2]|0)+244>>2]|0);c[(c[d>>2]|0)+84>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+84>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Rg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,44004,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Sg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;j=h+8|0;g=h;c[e>>2]=a;c[f>>2]=b;qI(c[c[e>>2]>>2]|0,j)|0;b=j;a=(c[f>>2]|0)+128|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=aS(a|0,C|0,1e6,0)|0;b=g;c[b>>2]=a;c[b+4>>2]=C;if(c[(c[e>>2]|0)+192>>2]|0){j=g;_b[c[(c[e>>2]|0)+192>>2]&255](c[(c[e>>2]|0)+196>>2]|0,c[(c[f>>2]|0)+176>>2]|0,c[j>>2]|0,c[j+4>>2]|0)}if(!((d[(c[e>>2]|0)+76>>0]|0)&2)){j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}Wb[c[(c[e>>2]|0)+184>>2]&255](2,c[(c[e>>2]|0)+188>>2]|0,c[f>>2]|0,g)|0;j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}function Tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+20>>2]|0)!=770837923?(c[(c[b>>2]|0)+20>>2]|0)!=832317811:0))c[d>>2]=Vg(c[b>>2]|0)|0;cv(c[b>>2]|0);i=e;return c[d>>2]|0}function Ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=ZM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Vg(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];BI(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+36>>2]|0)>=0){uI(a)|0;Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;if((e[(c[d>>2]|0)+144>>1]|0)>>>5&1){g=(c[d>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2|1}}else if((c[a+40>>2]|0)!=0?(b[(c[d>>2]|0)+144>>1]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+40>>2]|0;a=(c[(c[d>>2]|0)+108>>2]|0)!=0?18391:0;c[g>>2]=c[(c[d>>2]|0)+108>>2];jg(k,j,a,g);Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0}YM(c[d>>2]|0);k=(c[d>>2]|0)+56|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+20>>2]=1224384374;i=h;return c[(c[d>>2]|0)+40>>2]&c[(c[f>>2]|0)+56>>2]|0}function Wg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=770837923;c[(c[e>>2]|0)+36>>2]=-1;c[(c[e>>2]|0)+40>>2]=0;a[(c[e>>2]|0)+142>>0]=2;c[(c[e>>2]|0)+44>>2]=0;c[(c[e>>2]|0)+32>>2]=1;a[(c[e>>2]|0)+143>>0]=-1;c[(c[e>>2]|0)+48>>2]=0;b=(c[e>>2]|0)+64|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}XM(c[b>>2]|0);i=d;return}function Yg(a){a=a|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;h=g;c[f>>2]=a;a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(Ox(c[f>>2]|0,c[h>>2]|0,1)|0){c[d>>2]=7;h=c[d>>2]|0;i=g;return h|0}else{VR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;h=(c[f>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);h=(c[f>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}return 0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=WM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function _g(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=VM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;ez(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function ah(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=Kx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Mi(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function bh(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;do if((e[(c[g>>2]|0)+8>>1]|0)&18){if(((e[(c[g>>2]|0)+8>>1]|0)&16384|0)!=0?(Yg(c[g>>2]|0)|0)!=0:0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}function ch(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Xg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function dh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((gh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}re(c[h>>2]|0);i=j;return}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}re(c[g>>2]|0);i=h;return 18}function fh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;ih(c[e>>2]|0);if(qG(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function gh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){ih(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+96>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Xg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(Nx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){TR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(UM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function hh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;TM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function ih(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){mG(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function jh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)mG(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=bh(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function kh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Xg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function lh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=43378;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[6240+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[6240+(c[b>>2]<<2)>>2]}else c[d>>2]=43392;i=e;return c[d>>2]|0}function mh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+168>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function nh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,43338,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Rg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function oh(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[h>>2]=f;if((c[(c[h>>2]|0)+20>>2]|0)!=770837923)Yd(c[h>>2]|0)|0;c[j>>2]=c[c[h>>2]>>2];f=c[h>>2]|0;if(a[(c[j>>2]|0)+69>>0]|0){c[f+40>>2]=7;c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}if((c[f+36>>2]|0)<=0?(b[(c[h>>2]|0)+144>>1]&1|0)!=0:0){c[(c[h>>2]|0)+40>>2]=17;c[k>>2]=1}else{if((c[(c[h>>2]|0)+36>>2]|0)<0){if(!(c[(c[j>>2]|0)+156>>2]|0))c[(c[j>>2]|0)+248>>2]=0;if(!((c[(c[j>>2]|0)+192>>2]|0)==0?(d[(c[j>>2]|0)+76>>0]&2|0)==0:0))l=13;if(((l|0)==13?(a[(c[j>>2]|0)+148+5>>0]|0)==0:0)?(c[(c[h>>2]|0)+176>>2]|0)!=0:0)qI(c[c[j>>2]>>2]|0,(c[h>>2]|0)+128|0)|0;l=(c[j>>2]|0)+156|0;c[l>>2]=(c[l>>2]|0)+1;if(!((e[(c[h>>2]|0)+144>>1]|0)>>>7&1)){l=(c[j>>2]|0)+164|0;c[l>>2]=(c[l>>2]|0)+1}if((e[(c[h>>2]|0)+144>>1]|0)>>>8&1){l=(c[j>>2]|0)+160|0;c[l>>2]=(c[l>>2]|0)+1}c[(c[h>>2]|0)+36>>2]=0}if((e[(c[h>>2]|0)+144>>1]|0)>>>2&3)c[k>>2]=rI(c[h>>2]|0)|0;else{l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=sI(c[h>>2]|0)|0;l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+-1}if((c[k>>2]|0)!=100?(l=(c[h>>2]|0)+128|0,f=c[l+4>>2]|0,(f|0)>0|(f|0)==0&(c[l>>2]|0)>>>0>0):0)Sg(c[j>>2]|0,c[h>>2]|0);if((c[k>>2]|0)==101?(l=tI(c[j>>2]|0)|0,c[(c[h>>2]|0)+40>>2]=l,(c[(c[h>>2]|0)+40>>2]|0)!=0):0)c[k>>2]=1;c[(c[j>>2]|0)+52>>2]=c[k>>2];if(7==(Ug(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0))c[(c[h>>2]|0)+40>>2]=7}if(((c[k>>2]|0)!=100?((e[(c[h>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(c[k>>2]|0)!=101)c[k>>2]=uI(c[h>>2]|0)|0;c[g>>2]=c[k>>2]&c[(c[j>>2]|0)+56>>2];l=c[g>>2]|0;i=m;return l|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Se(c[d>>2]|0)|0;c[e>>2]=QA(c[d>>2]|0)|0;c[g>>2]=Vh(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){oI(c[f>>2]|0,c[d>>2]|0);zh(c[f>>2]|0,c[d>>2]|0)|0;pI(c[f>>2]|0);Tg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)mh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ch(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)TR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function rh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){Nx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)VR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{ih(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ch(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}VR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function th(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;c[h>>2]=c[k>>2];if(!(c[h>>2]|0)){c[d>>2]=nI()|0;k=c[d>>2]|0;i=j;return k|0}if((c[(c[h>>2]|0)+104>>2]|0)!=0?((c[f>>2]|0)>=0?(c[f>>2]|0)<(e[(c[h>>2]|0)+140>>1]|0|0):0):0)c[g>>2]=(c[(c[h>>2]|0)+104>>2]|0)+((c[f>>2]|0)*40|0);else{lg(c[c[h>>2]>>2]|0,25);c[g>>2]=nI()|0}c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function uh(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Ug(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+40>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=e;i=d;return}function vh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=xe(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+100>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}pi(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function wh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=xh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+116>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=gh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=iu(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Ug(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function xh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(nh(c[g>>2]|0)|0){c[f>>2]=Lf(76348)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+20>>2]|0)==770837923?(c[(c[g>>2]|0)+36>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+16>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+116>>2]|0)+((c[h>>2]|0)*40|0);Xg(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;lg(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+144>>1]|0)>>>9&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+196>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+196>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+144|0;b[l>>1]=b[l>>1]&-2|1}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+176>>2];Rd(21,39833,k);c[f>>2]=Lf(76356)|0;l=c[f>>2]|0;i=m;return l|0}function yh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+18>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+120>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(lR(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function zh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;mI((c[(c[g>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function Ah(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;w=D+116|0;v=D+88|0;x=D;j=D+84|0;r=D+80|0;n=D+152|0;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(v,0,D+156|0,100,c[(c[m>>2]|0)+96>>2]|0);a:do if((c[(c[m>>2]|0)+168>>2]|0)>1)while(1){if(!(a[c[l>>2]>>0]|0))break a;c[j>>2]=c[l>>2];do{C=c[l>>2]|0;c[l>>2]=C+1;if((a[C>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);sA(v,39799,3);sA(v,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}else{if(!(b[(c[k>>2]|0)+16>>1]|0)){C=c[l>>2]|0;sA(v,C,Jf(c[l>>2]|0)|0);break}while(1){if(!(a[c[l>>2]>>0]|0))break a;c[q>>2]=lI(c[l>>2]|0,t)|0;sA(v,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0))break a;do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Qi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=yh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[w>>2]=(c[(c[k>>2]|0)+116>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[w>>2]|0)+8>>1]&1){sA(v,39691,4);continue}g=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=y;c[j>>2]=c[f>>2];c[j+4>>2]=g;rA(v,28266,y);continue}f=c[w>>2]|0;if(e[g+8>>1]&8){h[z>>3]=+h[f>>3];rA(v,28271,z);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=x;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[x+32>>2]=c[m>>2];gh(x,c[(c[w>>2]|0)+16>>2]|0,c[(c[w>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;if(7==(iu(x,1)|0)){a[v+24>>0]=1;c[v+16>>2]=0}c[w>>2]=x}c[r>>2]=c[(c[w>>2]|0)+12>>2];j=c[(c[w>>2]|0)+16>>2]|0;c[B>>2]=c[r>>2];c[B+4>>2]=j;rA(v,39803,B);if((d[n>>0]|0)==1)continue;Xg(x);continue}else{if(e[(c[w>>2]|0)+8>>1]&16384){c[C>>2]=c[c[w>>2]>>2];rA(v,39810,C);continue}sA(v,39823,2);c[s>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[A>>2]=a[(c[(c[w>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;rA(v,39826,A);c[o>>2]=(c[o>>2]|0)+1}sA(v,39831,1);continue}}}while(0);if(!(a[v+24>>0]|0)){C=fg(v)|0;i=D;return C|0}xA(v);C=fg(v)|0;i=D;return C|0}function Bh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(ez(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Mi(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}Jx(c[g>>2]|0);i=n;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Vw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Dh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Kz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ti(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]&1|0)!=0?39772:39785;if(((ni(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=sj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(jI(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}if(!(c[g>>2]&2)){d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Eh(d,30029,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Eh(d,30039,q)}a[(c[l>>2]|0)+17>>0]=1}}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=ox(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+36|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=ox(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=Vw(c[f>>2]|0,208,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+88|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[g>>2]>>2]=c[f>>2];if(c[(c[f>>2]|0)+4>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+20>>2]=381479589;c[(c[g>>2]|0)+12>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Ih(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=jx(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Mh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if((c[(c[e>>2]|0)+136>>2]|0)<=0){i=g;return}a[(c[(c[e>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Kh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+136>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)?(lx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+88>>2]|0)+((c[(c[j>>2]|0)+136>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[34898+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+136>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+136|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+148|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(iI(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+152|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}IA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+136>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}hI(c[k>>2]|0);i=n;return}gI(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Nh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;k=q+32|0;o=q+28|0;n=q+24|0;m=q+20|0;l=q+16|0;g=q+12|0;p=q;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];c[o>>2]=b[(c[j>>2]|0)+400>>1];c[n>>2]=c[(c[j>>2]|0)+44>>2];c[m>>2]=c[(c[j>>2]|0)+40>>2];c[l>>2]=c[(c[j>>2]|0)+108>>2];c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=((c[(c[h>>2]|0)+136>>2]|0)*20|0)+7&-8;c[p>>2]=(c[(c[h>>2]|0)+88>>2]|0)+(c[g>>2]|0);c[p+4>>2]=(c[(c[j>>2]|0)+52>>2]|0)-(c[g>>2]|0)&-8;AF(c[h>>2]|0,l);if(d[(c[j>>2]|0)+20>>0]|0)g=(d[(c[j>>2]|0)+21>>0]|0)!=0;else g=0;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-65|(g&1)<<6&65535;if((c[n>>2]|0)<10?(d[(c[j>>2]|0)+409>>0]|0)!=0:0)c[n>>2]=10;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2;do{c[p+8>>2]=0;f=fI(p,c[(c[h>>2]|0)+92>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[h>>2]|0)+92>>2]=f;f=fI(p,c[(c[h>>2]|0)+116>>2]|0,(c[o>>2]|0)*40|0)|0;c[(c[h>>2]|0)+116>>2]=f;f=fI(p,c[(c[h>>2]|0)+96>>2]|0,c[l>>2]<<2)|0;c[(c[h>>2]|0)+96>>2]=f;f=fI(p,c[(c[h>>2]|0)+112>>2]|0,c[m>>2]<<2)|0;c[(c[h>>2]|0)+112>>2]=f;if(!(c[p+8>>2]|0))break;f=c[p+8>>2]|0;f=Vw(c[k>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+180>>2]=f;c[p>>2]=f;c[p+4>>2]=c[p+8>>2]}while((a[(c[k>>2]|0)+69>>0]|0)!=0^1);b[(c[h>>2]|0)+18>>1]=c[(c[j>>2]|0)+404>>2];c[(c[h>>2]|0)+120>>2]=c[(c[j>>2]|0)+428>>2];c[(c[j>>2]|0)+404>>2]=0;c[(c[j>>2]|0)+428>>2]=0;p=(c[h>>2]|0)+144|0;b[p>>1]=b[p>>1]&-13|(d[(c[j>>2]|0)+409>>0]&3)<<2&65535;if(a[(c[k>>2]|0)+69>>0]|0){b[(c[h>>2]|0)+16>>1]=0;c[(c[h>>2]|0)+28>>2]=0;c[(c[h>>2]|0)+24>>2]=0;p=c[h>>2]|0;Wg(p);i=q;return}else{c[(c[h>>2]|0)+28>>2]=c[m>>2];b[(c[h>>2]|0)+16>>1]=c[o>>2];PC(c[(c[h>>2]|0)+116>>2]|0,c[o>>2]|0,c[k>>2]|0,1);c[(c[h>>2]|0)+24>>2]=c[n>>2];PC(c[(c[h>>2]|0)+92>>2]|0,c[n>>2]|0,c[k>>2]|0,128);VR(c[(c[h>>2]|0)+112>>2]|0,0,c[m>>2]<<2|0)|0;p=c[h>>2]|0;Wg(p);i=q;return}}function Oh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+116>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=te(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+112>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=cG(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];eI(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=39718;else d=(c[j>>2]|0)==7?39705:39710;c[k>>2]=d;c[r>>2]=Gh(e,39723,k)|0;c[o>>2]=1;Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Gh(d,39752,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Gh(d,18391,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Ph(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+76>>2]|0);ev(c[f>>2]|0,c[(c[e>>2]|0)+80>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Qh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=EF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=RF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Rh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(84716)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=RR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}dI(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Tg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+40>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Ug(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Sh(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2|1;c[d>>2]=c[(c[d>>2]|0)+8>>2]}i=e;return}function Th(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=JC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=JC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=JC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=JC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=JC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=JC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0?((c[q>>2]|0)>>>0<128?(d[17613+(c[q>>2]&255)>>0]|0)==(d[17613+(c[r>>2]&255)>>0]|0):0)&(c[r>>2]|0)>>>0<128:0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(JC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Th((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[18403+(c[q>>2]&255)>>0]&32);c[q>>2]=d[17613+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){RH(39691);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+84>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Wh(c[d>>2]|0)|0)RH(39696);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Vh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Uh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(114197)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Xd(c[c[p>>2]>>2]|0)|0;c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Wh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+84>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){RH(39538);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Xh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(sj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Vw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,TR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Uj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){mh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(122590)|0;c[p>>2]=Ug(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Yh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+96+4>>2];if(!(c[(c[u>>2]|0)+156>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+436>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=_u(179)|0;if(!(c[m>>2]|0)){mh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}a:while(1){do if(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0){c[(c[t>>2]|0)+392>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=$u((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+392+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+392+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break a}}else{if((c[k>>2]|0)==1){c[n>>2]=0;break}if(!(c[k>>2]|0))break a;c[n>>2]=1}while(0);if((c[n>>2]|0)>=162){if(c[(c[u>>2]|0)+248>>2]|0){r=14;break}if((c[n>>2]|0)==163){r=16;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+392|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];av(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==14)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==16){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+392;Eh(A,26437,o)}c[(c[t>>2]|0)+436>>2]=(c[h>>2]|0)+(c[v>>2]|0);bv(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=lh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Gh(A,18391,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,18391,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+36>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){cv(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+116>>2]|0);c[(c[t>>2]|0)+116>>2]=0;c[(c[t>>2]|0)+112>>2]=0}Kd(c[(c[t>>2]|0)+460>>2]|0);if(!(a[(c[t>>2]|0)+410>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+440>>2]|0);if(c[(c[t>>2]|0)+476>>2]|0)dv(c[u>>2]|0,c[(c[t>>2]|0)+476>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+444>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+404>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+428>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+428>>2]|0);while(1){if(!(c[(c[t>>2]|0)+120>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+120>>2];c[(c[t>>2]|0)+120>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+464>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+464>>2];c[(c[t>>2]|0)+464>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Zh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=sh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function _h(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}gh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function $h(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4220;mf(4,b)|0;i=a;return}function ai(){return 88}function bi(){return 40}function ci(){return 32}function di(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4168;mf(18,b)|0;i=a;return}function ei(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function fi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function gi(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Yj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Zj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}if(!(Wh(c[f>>2]|0)|0)){c[e>>2]=Lf(138867)|0;h=c[e>>2]|0;i=j;return h|0}if((d[(c[f>>2]|0)+76>>0]|0)&8)Wb[c[(c[f>>2]|0)+184>>2]&255](8,c[(c[f>>2]|0)+188>>2]|0,c[f>>2]|0,0)|0;nu(c[f>>2]|0);ou(c[f>>2]|0)|0;if((c[g>>2]|0)==0?(pu(c[f>>2]|0)|0)!=0:0){jg(c[f>>2]|0,5,26295,h);c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}c[(c[f>>2]|0)+84>>2]=1691352191;Qg(c[f>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{wi(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} +function ji(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[968]|0)==0?3:2;while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+156>>2]|0)){Sh(d);break}jg(d,5,26232,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}mu(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(139436)|0;C=c[q>>2]|0;i=D;return C|0}function ki(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=sj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[17613+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=hu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=sh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;TR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Uj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);mh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26181,h)|0;ie(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Yj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Zj();i=h;return 0}function ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function oi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=eu(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function pi(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+168>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function qi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(140621)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+84>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+96|0;g=1580;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+96+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+80>>2]=0;c[(c[n>>2]|0)+144>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;zj((c[n>>2]|0)+364|0);zj((c[n>>2]|0)+320|0);ri(c[n>>2]|0,34834,1,0,141,0)|0;ri(c[n>>2]|0,34834,3,0,141,0)|0;ri(c[n>>2]|0,34834,2,0,141,0)|0;ri(c[n>>2]|0,20429,1,0,142,0)|0;ri(c[n>>2]|0,20436,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Sj(c[n>>2]|0,1,34834,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=ak(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)mh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?18391:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=bk(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ck(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ck(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=20442;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=18672;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+84>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);dk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ek(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=fk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);gi(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+84>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function ri(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[968]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(140172)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+156>>2]|0){jg(b,5,20361,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Sh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=sj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function si(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+148+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=vj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=vj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,1);a[(c[f>>2]|0)+148+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}xj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=sj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function ui(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,19887)|0){if(!(ig(c[d>>2]|0,19895)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,19901)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function vi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(kR(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function yi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=rj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function Bi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ci(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Ui(c[m>>2]|0)}c[n>>2]=Vi(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Ti(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ei(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Ri(8,c[b>>2]|0);if((c[78]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[77];c[77]=c[c[77]>>2];c[78]=(c[78]|0)+-1;Si(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Si(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[76]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[77];c[77]=c[e>>2];c[78]=(c[78]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Oi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Hi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[18403+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=aS(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=RR(b|0,e|0,(Li(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Mi(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Ii(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ki(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ki(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=18402;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Li(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Mi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;l=v+48|0;m=v+44|0;n=v+40|0;h=v+36|0;j=v+52|0;q=v+32|0;k=v;r=v+28|0;p=v+24|0;o=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]^1);c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[18403+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;j=k;g=c[j>>2]|0;j=c[j+4>>2]|0;if(!h)break;b=aS(g|0,j|0,10,0)|0;e=c[o>>2]|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=QR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(j>>>0>2147483647|(j|0)==2147483647&g>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=QR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);do if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[t>>2]|0)>>>0){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}c[o>>2]=Ni(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}if((c[o>>2]|0)>0){c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;u=c[l>>2]|0;i=v;return u|0}}}while(0);c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=18767;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Oi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[18403+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Pi(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[18786+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(18802+(d[18794+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[18827+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[18827+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Pi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Qi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Qi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Li(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=aS(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=RR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=QR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=QR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1048+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=1008+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[1008+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1048+(c[d>>2]<<2)>>2]=c[1008+(c[d>>2]<<2)>>2];i=e;return}function Ti(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[17613+(d[c[h>>2]>>0]|0)>>0]<<2^(d[17613+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[18835+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[18962+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19086+(e[9524+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[19763+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[19639+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;$i(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Vi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Wi(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Xi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Yi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Zi(c[g>>2]|0);c[n>>2]=_i(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){$i(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=QR(o|0,C|0,1,0)|0;o=_R(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{$i(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];aj(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=jj(c[d>>2]|0)|0;i=b;return a|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;dj(c[(c[d>>2]|0)+96>>2]|0);ej(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function _i(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=cj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function $i(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;bj(c[d>>2]|0);i=b;return}function aj(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[426]|0)>>>0?(c[b>>2]|0)>>>0<(c[427]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[429];c[429]=c[e>>2];c[430]=(c[430]|0)+1;c[431]=(c[430]|0)<(c[425]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function cj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=aS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=_R(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function dj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function ej(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fj(c[d>>2]|0,0);i=b;return}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)gj(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){VR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function gj(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}hj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}ij(c[d>>2]|0);i=f;return}function hj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+4|0;g=k+8|0;j=k;c[h>>2]=b;a[g>>0]=f;c[j>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1){if((c[(c[j>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[j>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];f=c[(c[h>>2]|0)+36>>2]|0;if(c[(c[h>>2]|0)+32>>2]|0)c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[j>>2]|0)+4>>2]=f;f=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[j>>2]>>2]=f;if(!(c[c[j>>2]>>2]|0))a[(c[j>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){i=k;return}c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[j>>2]|0)+4>>2]=f;if(a[(c[j>>2]|0)+32>>0]|0)a[(c[j>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;c[c[j>>2]>>2]=c[h>>2];if(c[(c[j>>2]|0)+8>>2]|0){i=k;return}if(e[(c[h>>2]|0)+24>>1]&8){i=k;return}c[(c[j>>2]|0)+8>>2]=c[h>>2];i=k;return}function ij(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function jj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[423]|0)?(c[d>>2]=c[429],(c[d>>2]|0)!=0):0){c[429]=c[c[429]>>2];c[430]=(c[430]|0)+-1;c[431]=(c[430]|0)<(c[425]|0)&1;Ri(7,c[b>>2]|0);Si(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Ri(7,c[b>>2]|0);Si(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function kj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function lj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=kj(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ch(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}TR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;VR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=lj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=lj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function mj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];TR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;VR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(qj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function oj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function pj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;pj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function qj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function rj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function sj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=tj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=uj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function uj(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b&255))break;c[g>>2]=(c[g>>2]|0)+(d[17613+(d[f>>0]|0)>>0]|0);c[g>>2]=_(c[g>>2]|0,-1640531535)|0}i=h;return c[g>>2]|0}function vj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?19905:19924;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=19938;c[B+8>>2]=19940;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];Bj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(og(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=pg(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Cj(z,B,lh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;rg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Cj(c[o>>2]|0,c[m>>2]|0,20016);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Dj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Ej(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Cj(c[o>>2]|0,c[m>>2]|0,20084);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Gh(B,20108,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Fj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Cg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Gj(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)mh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);yj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;yj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function yj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];zj((c[f>>2]|0)+40|0);Aj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(j);zj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(h);Aj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function Bj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;j=s+40|0;t=s+36|0;k=s+28|0;n=s+20|0;l=s+16|0;m=s+12|0;q=s+8|0;r=s+44|0;p=s+4|0;o=s;c[t>>2]=d;c[s+32>>2]=f;c[k>>2]=g;c[s+24>>2]=h;c[n>>2]=c[t>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;t=c[j>>2]|0;i=s;return t|0}if(!(c[k>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20250,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Kj(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Qi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,20258);break a}while(0);Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[r>>0]=a[(c[l>>2]|0)+148+4>>0]|0;a[(c[l>>2]|0)+148+4>>0]=c[m>>2];t=Pi(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+148>>2]=t;a[(c[l>>2]|0)+148+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+148+4>>0]=a[r>>0]|0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+148+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){mh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){r=c[n>>2]|0;t=c[c[k>>2]>>2]|0;Pj(r,t,bf(c[l>>2]|0)|0)}}while(0);Xd(c[p>>2]|0)|0}while(0);c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=qh(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Dj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Nj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Fj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+36|0;f=o+32|0;l=o+24|0;g=o+20|0;n=o+16|0;k=o+12|0;h=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=d;c[k>>2]=0;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];b[c[(c[h>>2]|0)+8>>2]>>1]=0;c[g>>2]=c[c[g>>2]>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(ti(c[e>>2]|0,20163,c[l+4>>2]|0)|0){h=c[e>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=Gh(h,20176,m)|0;if(!(c[n>>2]|0)){c[k>>2]=7;break}else{c[k>>2]=$e(c[e>>2]|0,c[n>>2]|0,141,l,0)|0;Tf(c[e>>2]|0,c[n>>2]|0);break}}while(0);c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(b[c[(c[j>>2]|0)+8>>2]>>1]|0))Ij(c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}if((c[k>>2]|0)!=7){n=c[k>>2]|0;i=o;return n|0}mh(c[e>>2]|0);n=c[k>>2]|0;i=o;return n|0}function Gj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Ng(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Mg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Hj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ti(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Jj(c[q>>2]|0)|0;break}else{c[o>>2]=Kj(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Lj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Lj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Ij(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[4886]|0;b[h+2>>1]=b[4887]|0;b[h+4>>1]=b[4888]|0;b[h+6>>1]=b[4889]|0;b[h+8>>1]=b[4890]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if(c[(c[f>>2]|0)+36>>2]|0){a=c[g>>2]|0;b[a>>1]=(b[a>>1]|0)-10}if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;TR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Jj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=sj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Lj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Mj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20217,c[p>>2]|0)|0){r=(Ze(20228,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Pi(j+3|0)|0;r=Mj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20238,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Mj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=WR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[9782+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Oj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=cj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Pj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20275;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Gh(e,20277,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Gh(e,20308,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Qj(113554)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Qj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(11,c[d>>2]|0,20316)|0;i=b;return a|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20336,g);i=f;return c[e>>2]|0}function Sj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Tj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=sj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=sh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;TR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Uj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}mh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=tj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Vj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Wj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=uj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Xj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}Aj(c[e>>2]|0);i=j;return}function Wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Yj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Zj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;VR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=uj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Xj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Yj(){if(!(c[432]|0))return;Vb[c[1728>>2]&255]();return}function Zj(){if(!(c[433]|0))return;Vb[c[1732>>2]&255]();return}function _j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=eR(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(du((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(du((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function $j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function ak(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(eR(c[n>>2]|0,26023,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=RR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(eR(26029,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26039,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[18403+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[18403+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(eR(26067,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(eR(26071,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4104;c[z>>2]=c[A>>2];c[N>>2]=26071}if((c[D>>2]|0)==4?(eR(26077,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4128;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26082}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(eR(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26089,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26109,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){TR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26133,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function bk(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(hR(c[n>>2]|0,25837)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Zq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=_q(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else TR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1006];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(hR(w,Ki(c[c[F>>2]>>2]|0,0)|0)|0)?(w=yi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=ar(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;br(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=cr(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];er(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((fr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(gr(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(gr(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Vi(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);c[(c[F>>2]|0)+64>>2]=1;if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+68>>2]=c[1006];c[1006]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Yq(c[E>>2]|0,0,0)|0))Nj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)hr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ck(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Yq(c[g>>2]|0,84,150)|0;else c[h>>2]=sh(0,84,0)|0;if(!(c[h>>2]|0)){mh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}zj((c[h>>2]|0)+8|0);zj((c[h>>2]|0)+24|0);zj((c[h>>2]|0)+40|0);zj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function dk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,25831,2)|0;if((c[e>>2]|0)!=7){i=d;return}mh(c[b>>2]|0);i=d;return}function ek(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;h=l;b=l+28|0;e=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;k=l+8|0;f=l+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[385]|0)){i=l;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;c[f>>2]=0;if((c[e>>2]|0)>>>0>=(c[385]|0)>>>0){c[j>>2]=0;c[d>>2]=0}else c[j>>2]=c[(c[386]|0)+(c[e>>2]<<2)>>2];c[k>>2]=0;if((c[j>>2]|0)!=0?(a=Ob[c[j>>2]&255](c[b>>2]|0,k,c[f>>2]|0)|0,c[g>>2]=a,(a|0)!=0):0){m=c[b>>2]|0;a=c[g>>2]|0;c[h>>2]=c[k>>2];jg(m,a,25792,h);c[d>>2]=0}Kd(c[k>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=l;return}function fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;gk(h);c[j>>2]=hk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}ik(g);jk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)kk(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((lk(c[e>>2]|0,20447,7,c[g>>2]|0)|0)==0?(lk(c[e>>2]|0,20454,7,c[f>>2]|0)|0)==0:0)?(lk(c[e>>2]|0,20461,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=mk(c[d>>2]|0,c[e>>2]|0,20471)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20486,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20494,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20512,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,20521,1736,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,20526,1736,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=ok(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){pk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2356;i=b;return}function hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,25443,2264,0)|0;i=d;return c[b>>2]|0}function ik(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2236;i=b;return}function jk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2208;i=b;return}function kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function lk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Hk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Ik(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))aq(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?(bq(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?(bq(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=cq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=cq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){TR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}qk(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;dq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function nk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];pk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,20531,1828,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function pk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;qk(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[e>>2]|0)+12>>2]|0);qk(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function qk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function rk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,20544)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ck(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=20447;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Dk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function sk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Bk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];Bk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=$d(c[c[k>>2]>>2]|0)|0;c[l>>2]=ae(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}TR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=xk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}Bk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function yk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{me(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{je(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{je(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function Bk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];TR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Ok(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=kR(c[g>>2]|0)|0;c[k>>2]=Ek(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Fk(o,20595,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Gk(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Gk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Hk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Ik(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Ik(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Jk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Jk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Kk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=lR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Lk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=eR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Mk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=kR(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Rk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Jp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Kp(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=23624;else c[e>>2]=23629;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Sk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;nl(f,a,23824,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;nl(f,o,23861,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;nl(f,o,23899,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;nl(f,o,23935,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;nl(f,o,23972,j);if(!(c[f>>2]|0)){o=Sk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xd(c[(c[d>>2]|0)+8>>2]|0)|0;gp(c[(c[d>>2]|0)+12>>2]|0);Ip(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);zm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Wk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Xd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);zm(c[(c[w>>2]|0)+92>>2]|0);gp(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=hp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=hp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=$d(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(ee(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=ce(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=ip(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=jp(c[w>>2]|0)|0;ym(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?23624:23629;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(23633,A)|0}else{A=(d[l+52>>0]|0)!=0?23624:23629;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(23695,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Fn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Oe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Xk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Xk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=fp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(te(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Yd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=De(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Yk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;ke(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){fe(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;ke(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=tn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=Ce(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;je(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ye(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;oe(m,Fe(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Go(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function al(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=ll(c[d>>2]|0)|0;i=b;return a|0}function bl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=ml(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=fo(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=go(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;ym(c[e>>2]|0);i=g;return c[f>>2]|0}function cl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function dl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];jl(c[d>>2]|0);i=b;return 0}function el(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+64|0;j=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[520];c[l+4>>2]=c[521];c[l+8>>2]=c[522];c[l+12>>2]=c[523];c[l+16>>2]=c[524];c[l+20>>2]=c[525];c[l+24>>2]=c[526];c[l+28>>2]=c[527];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}d=(hR(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(d){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;l=c[j>>2]|0;i=m;return l|0}else if((b|0)==6){c[j>>2]=0;l=c[j>>2]|0;i=m;return l|0}return 0}function fl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=ll(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=ml(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;nl(h,p,20617,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;nl(h,p,20670,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;nl(h,p,20723,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;nl(h,p,20770,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;nl(h,p,20824,l);i=o;return c[h>>2]|0}function gl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=bl(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];jl(c[e>>2]|0);i=d;return 0}function jl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];kl(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}pk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function kl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ll(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23181;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(te(c[g>>2]|0)|0)==100&1,c[h>>2]=Xd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function ml(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ol(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}jl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=pl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Ke(c[g>>2]|0,1,2)|0;c[h>>2]=te(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=Ce(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Yd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ol(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=sl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=tl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=ul(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=vl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=wl(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=xl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=yl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=zl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);Al(c[q>>2]|0);Bl(l);i=s;return c[r>>2]|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;TR(f|0,1920,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Qe(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Oe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ql(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=jm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=pl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(m,1,e,C)|0;e=c[l>>2]|0;m=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(e,2,m,C)|0;if(100==(te(c[l>>2]|0)|0)){e=De(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Yd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=aS(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=RR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=aS(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=pl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(a,1,f,C)|0;if(100==(te(c[n>>2]|0)|0))c[m>>2]=Ce(c[n>>2]|0,0)|0;c[o>>2]=Yd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=hm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ql(c[G>>2]|0);else c[H>>2]=Rl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(eR(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(eR(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Ul(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Vl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Wl(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Wl(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Xl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Jl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Yl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Kl(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;TR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Tl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function wl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=pl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(te(c[w>>2]|0)|0)){e=De(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Yd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Ml(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Jl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Jl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Jl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=RR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Fl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Nl(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Jl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Jl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=RR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);TR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function xl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Ll(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=pl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Le(p,1,a,C)|0;a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Le(a,2,p,C)|0}}else{c[r>>2]=pl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Le(a,1,p,C)|0}}if(!(c[r>>2]|0)){te(c[q>>2]|0)|0;c[r>>2]=Yd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function yl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=RR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Fl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=Gl(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function zl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=pl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=_R(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=RR(f|0,C|0,1,0)|0;f=aS(f|0,C|0,1024,0)|0;f=QR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=_R(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Le(j,1,a,C)|0;a=n;Le(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(te(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;El(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Yd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Le(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(te(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Ke(a,1,u)|0;u=c[r>>2]|0;Ke(u,2,Ce(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Ke(u,3,Ce(c[q>>2]|0,1)|0)|0;te(c[r>>2]|0)|0;c[t>>2]=Yd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Yd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Yd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Le(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;te(c[s>>2]|0)|0;c[t>>2]=Yd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function Al(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Dl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function Bl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Cl(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Cl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Dl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Dl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function El(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Ee(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=aS(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Fl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=pl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Le(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Gl(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Il(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Il(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Fl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=RR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=Gl(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Hl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=pl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Le(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Ke(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Le(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Le(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Le(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23153,B)|0;if(c[C>>2]|0){Ne(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Ie(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;te(c[z>>2]|0)|0;c[A>>2]=Yd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Il(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Jl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Kl((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=pl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Le(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Le(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;te(c[f>>2]|0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Ml(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Jl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Jl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;TR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];TR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Nl(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Nl(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ql(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Rl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){TR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ql(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=gm(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}TR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=eR(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=eR(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);TR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;am(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=cm(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=_l(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Wl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}am(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=bm(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=cm(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(_l(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=QR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=RR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Xl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=$l(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}VR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Yl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Zl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=_l(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Zl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=WR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=RR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function $l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function am(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;em(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=QR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];fm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=_l(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=RR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];dm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function bm(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=bm(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];_l(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function gm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23163,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23175,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function hm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Rl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=im(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ql(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Tl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=eR(a,d,c[g>>2]|0)|0;else c[h>>2]=eR(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function jm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=km(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=lm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=mm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=te(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=De(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=De(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=De(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Ae(c[A>>2]|0,4)|0;c[F>>2]=ze(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=nm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=om((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=lm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Yd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function km(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(eR(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)dR(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Gk(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){VR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;TR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Cl(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function mm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=pl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(k,1,f,C)|0;f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(f,2,k,C)|0}}else{c[n>>2]=pl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function nm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)$l(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=pm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=gm(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=gm(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function om(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];TR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=QR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function pm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}TR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=eR(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=RR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=eR(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=23427;c[n>>2]=23431;c[m>>2]=23436;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){ie(d,23447,-1);i=p;return}if(vm(d,20486,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=ce(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=ce(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=$d(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=$d(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=$d(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){se(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){me(d,18402,-1,0);i=p;return}if(tn(d,c[l>>2]|0)|0){i=p;return}Yn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(vm(c[e>>2]|0,20494,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(tn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Un(c[e>>2]|0,c[f>>2]|0);i=g;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(vm(c[e>>2]|0,20512,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Sn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,23331,-1,0);i=j;return}case 101:{me(c[e>>2]|0,23347,-1,0);i=j;return}default:{qe(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(vm(c[e>>2]|0,20502,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;wm(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function vm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((ee(c[k>>2]|0)|0)==4?(ae(c[k>>2]|0)|0)==4:0){d=_d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23302,n)|0;ie(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23237;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){xm(e,c[g>>2]|0,c[j>>2]|0);ym(c[h>>2]|0);i=k;return}else{fe(e,18402,0,0);i=k;return}}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){zm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=Am(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(Bm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Cm(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){ie(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Dm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Em(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Fm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Gm(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;fe(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}qe(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function ym(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function zm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Am(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Nm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function Bm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Fk(f,23267,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=kR(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}VR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);TR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Em(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)TR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Hm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=_l(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=_R(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=RR(f|0,0,e|0,C|0)|0;f=s;f=_R(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Im(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=ze(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=_l(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Km(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;VR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Lm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Nm(c[w>>2]|0,154,c[j>>2]|0)|0;Om(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Nm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Yd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Gm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;TR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Hm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Pn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=ze(c[n>>2]|0,0)|0;o=_l(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Im(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=On(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Nm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}VR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Nm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Qm(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Mn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Mn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Lm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Lm(c[b+12>>2]|0,c[f>>2]|0);Lm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{Kn(b,c[f>>2]|0);i=g;return}}function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Hn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=Gn(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=tn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=un(c[d>>2]|0)|0;c[f>>2]=0==(vn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;wn(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Qm(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Rm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0}function Qm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Sm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Tm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Tm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Um(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;am(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Zl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Rm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Vm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)cn(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=dn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Sm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Sm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return} +function Rp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Mp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Mp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Yp(c[f>>2]|0,s,24745,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Yp(p,s,24751,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Yp(p,s,24731,l)}}else{if(c[e>>2]|0){b=Xp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=18402;Yp(c[f>>2]|0,s,24710,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Yp(b,s,24716,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=24738;Yp(p,s,24731,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Xp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=18402;Yp(c[g>>2]|0,n,20275,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Yp(b,n,24694,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Yp(c[g>>2]|0,n,24701,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Up(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24319,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24345,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24357,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;nl(g,s,24368,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;nl(g,s,24401,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;nl(g,s,24473,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;nl(g,s,24626,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}bp(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24299,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){te(c[f>>2]|0)|0;h=Ce(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Xd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24224;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24233,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24238,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24245,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Xp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((kR(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Yp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(24705,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Zp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ue(c[e>>2]|0)|0;c[o>>2]=$d(c[c[f>>2]>>2]|0)|0;c[h>>2]=(ae(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!($p(c[e>>2]|0)|0)){ie(c[e>>2]|0,25030,-1);i=p;return}c[g>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){ie(c[e>>2]|0,24993,-1);i=p;return}else{c[l>>2]=c[(_d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=lk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;ie(c[e>>2]|0,25016,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ek(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(20595,m)|0;ie(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);fe(c[e>>2]|0,l,4,-1);i=p;return}function $p(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=ve(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[g>>2]|0)+12>>2]|0);qk(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}pk(c[f>>2]|0);i=k;return}function bq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=cq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}qk(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Hk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];dq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function cq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function fq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function hq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);jq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(lq(r,25132,25137,0)|0)==0:0)?(lq(r,25140,25144,0)|0)==0:0)?(lq(r,25137,25137,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(lq(r,25146,25150,172)|0)){if((lq(r,25153,18402,173)|0)==0?(lq(r,25157,18402,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(lq(r,25160,25163,0)|0)==0:0)?(lq(r,25167,25170,0)|0)==0:0)?(lq(r,25174,25177,0)|0)==0:0){if((((oq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((pq(c[r>>2]|0)|0)!=0?(qq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(nq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(lq(r,25181,25163,172)|0))lq(r,25189,25196,172)|0;break}case 99:{if(!(lq(r,25201,25206,172)|0))lq(r,25211,25216,172)|0;break}case 101:{lq(r,25221,25177,172)|0;break}case 103:{lq(r,25226,25231,172)|0;break}case 108:{if((((lq(r,25235,25170,172)|0)==0?(lq(r,25239,25244,172)|0)==0:0)?(lq(r,25247,25253,172)|0)==0:0)?(lq(r,25257,25261,172)|0)==0:0)lq(r,25263,25269,172)|0;break}case 111:{if((lq(r,25273,25177,172)|0)==0?(lq(r,25281,25163,172)|0)==0:0)lq(r,25287,25163,172)|0;break}case 115:{if(((lq(r,25292,25244,172)|0)==0?(lq(r,25298,25306,172)|0)==0:0)?(lq(r,25310,25318,172)|0)==0:0)lq(r,25322,25269,172)|0;break}case 116:{if((lq(r,25330,25244,172)|0)==0?(lq(r,25336,25306,172)|0)==0:0)lq(r,25342,25170,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((lq(r,25349,25355,172)|0)==0?(lq(r,25358,18402,172)|0)==0:0)lq(r,25364,25244,172)|0;break}case 105:{lq(r,25370,25355,172)|0;break}case 108:{if(!(lq(r,25376,25355,172)|0))lq(r,25381,18402,172)|0;break}case 115:{lq(r,25385,18402,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(rq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(lq(r,25390,18402,174)|0)==0:0)?(lq(r,25396,18402,174)|0)==0:0)lq(r,25401,18402,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(rq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;lq(r,25405,18402,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(lq(r,25409,18402,174)|0))lq(r,25413,18402,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(rq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((pq(g)|0)!=0?(qq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((rq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=kR(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function kq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function lq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function mq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function nq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(tq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(tq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((tq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(sq((c[d>>2]|0)+1|0)|0)!=0:0)d=(tq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function sq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[25417+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=tq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function tq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[25417+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(sq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function uq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}VR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=kR(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(Aq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function vq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function xq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function yq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function zq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function Aq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=kR(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(18672,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=kR(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=kR(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,25453)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){VR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Ok(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Fk(c[n>>2]|0,25522,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Cq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];ym(c[e>>2]|0);Bl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Gq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}Bl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);VR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=$d(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(18391,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=ae(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=$d(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(18391,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=ce(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ql(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=ul(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Hq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Hq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=RR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=vl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=eR(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Lq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}VR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=_l((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Lq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Iq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){je(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{me(e,25451,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){VR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=kR(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(eR(25728,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(eR(25748,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(eR(25768,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(eR(25780,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Nq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Nq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Oq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Pq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Qq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Sq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Tq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vq(c[e>>2]|0)|0;a=a^(Wq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Sq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[9798+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=9798+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[10450+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Uq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Uq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;TR(j|0,10604,202)|0;b=h;d=25627;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Vq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2384+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2400+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2400+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2400+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Xq(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=sh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Zq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function _q(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function $q(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Ut(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Vt(c[d>>2]|0)|0)<=1){i=f;return}Wt(c[e>>2]|0)|0;i=f;return}function ar(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=st()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(tt(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=qh(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ch(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=_q(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=ot(51006)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;TR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)TR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;TR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=25989;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);TR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[25999]|0;a[L+1>>0]=a[26e3]|0;a[L+2>>0]=a[26001]|0;a[L+3>>0]=a[26002]|0;a[L+4>>0]=a[26003]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Ur(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=bs(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(as(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26005,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26012,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Vi(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=vt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){or(c[(c[C>>2]|0)+64>>2]|0);$i(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;as(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function br(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;aj(c[f>>2]|0);i=e;return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;VR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=es(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function dr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=rt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Ts(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function fr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function gr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function hr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Yj();ir(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Zi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)kr(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;mr(b,lr(c[e>>2]|0)|0)|0}nr(c[e>>2]|0)}Zj();or(c[(c[e>>2]|0)+68>>2]|0);or(c[(c[e>>2]|0)+64>>2]|0);$i(c[f>>2]|0);pr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function ir(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function jr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Rs(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Ss(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Ts(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Us(c[h>>2]|0,0,0)}}while(0);Vs(c[h>>2]|0,c[n>>2]|0);or(c[(c[h>>2]|0)+8>>2]|0);if(c[n>>2]|0){Yj();xr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Zj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function kr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;e=h;c[g>>2]=b;pj(c[(c[g>>2]|0)+60>>2]|0);c[(c[g>>2]|0)+60>>2]=0;sr(c[g>>2]|0);j=(Br(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[g>>2]|0)+64>>2]>>2]|0)b=bs(c[(c[g>>2]|0)+64>>2]|0)|0;else b=0;c[e>>2]=b;if(!(0!=(c[e>>2]&2048|0)?1==(d[(c[g>>2]|0)+5>>0]&5|0):0))or(c[(c[g>>2]|0)+68>>2]|0);c[f>>2]=Fr(c[g>>2]|0,0)|0;if((c[f>>2]|0)!=0?(d[(c[g>>2]|0)+17>>0]|0)==6:0)a[(c[g>>2]|0)+18>>0]=5;a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}}else{Qs(c[b+216>>2]|0);a[(c[g>>2]|0)+17>>0]=0}if(!(c[(c[g>>2]|0)+44>>2]|0)){j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+13>>0]|0)){Zi(b);a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}else a[(c[g>>2]|0)+17>>0]=(c[c[b+68>>2]>>2]|0)!=0?0:1;c[(c[g>>2]|0)+44>>2]=0;j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function lr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=vr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Xi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function mr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function nr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Yj();qr(c[e>>2]|0)|0;Zj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))rr(c[e>>2]|0,0,0)|0}while(0);kr(c[e>>2]|0);i=f;return}function or(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){i=d;return}Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;i=d;return}function pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function qr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(Br(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Vr(b,2,-1)|0;c[j>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Wr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=rr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=mr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+24|0;k=o+20|0;g=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[k>>2]|0)+17>>0]|0)<2?(d[(c[k>>2]|0)+18>>0]|0)<2:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}sr(c[k>>2]|0);a:do if(c[c[(c[k>>2]|0)+68>>2]>>2]|0){b=(tr(c[(c[k>>2]|0)+68>>2]|0)|0)!=0;f=c[k>>2]|0;if(b){or(c[f+68>>2]|0);break}e=c[k>>2]|0;if((d[f+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=ur(c[(c[k>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[k>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=vr(c[(c[k>>2]|0)+68>>2]|0,d[(c[k>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if((d[(c[k>>2]|0)+4>>0]|0)!=0?(d[(c[k>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[k>>2]|0)+13>>0]|0)!=0^1)&1;or(c[(c[k>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=xr(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+180>>2]|0,d[(c[k>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)f=1;else f=(d[(c[k>>2]|0)+13>>0]|0)!=0;c[m>>2]=wr(c[k>>2]|0,f&1)|0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);pj(c[(c[k>>2]|0)+60>>2]|0);c[(c[k>>2]|0)+60>>2]=0;c[(c[k>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(yr(c[k>>2]|0,c[l>>2]|0)|0)!=0;f=c[(c[k>>2]|0)+212>>2]|0;if(h)zr(f);else Ar(f);fj(c[(c[k>>2]|0)+212>>2]|0,c[(c[k>>2]|0)+28>>2]|0)}if(!(Br(c[k>>2]|0)|0)){if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[(c[k>>2]|0)+36>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=Dr(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0)|0}else c[n>>2]=Cr(c[(c[k>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[c[(c[k>>2]|0)+64>>2]>>2]|0)!=0:0){l=Ai(c[(c[k>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[k>>2]|0)+4>>0]|0)){if((Br(c[k>>2]|0)|0)!=0?(Er(c[(c[k>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Fr(c[k>>2]|0,1)|0;a[(c[k>>2]|0)+19>>0]=0}while(0);a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+20>>0]=0;c[j>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[j>>2]|0;i=o;return n|0}function sr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;pj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(tr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))or(c[(c[d>>2]|0)+72>>2]|0);Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function tr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4028|0}function ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=ur(e,0,0)|0;else c[j>>2]=Ig(e,25846,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=vr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Xi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=ur(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function xr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function yr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Lr(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=h;return c[e>>2]|0}function zr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;gj(c[d>>2]|0)}i=e;return}function Ar(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Br(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function Cr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Kr(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Dr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=RR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];VR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=QR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Ig(a,j,n,o,C)|0}}else{o=h;c[k>>2]=ur(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Er(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Ir(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Hr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Fr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Gr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ir(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Jr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Kr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;d=f+4|0;b=f;c[g>>2]=a;c[d>>2]=0;c[b>>2]=cj(c[g>>2]|0)|0;c[e>>2]=c[c[g>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=c[(c[e>>2]|0)+32>>2]}if(!(c[b>>2]|0)){g=0;i=f;return g|0}e=c[d>>2]|0;e=aS(e|0,((e|0)<0)<<31>>31|0,100,0)|0;g=c[b>>2]|0;g=_R(e|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;i=f;return g|0}function Mr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Sr(c[d>>2]|0);i=b;return 0}function Nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;h=r+44|0;j=r+8|0;o=r+40|0;q=r+36|0;n=r+32|0;k=r+28|0;p=r+24|0;g=r;l=r+20|0;m=r+16|0;c[t>>2]=a;c[s>>2]=b;c[h>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=c[t>>2];c[q>>2]=c[s>>2];c[n>>2]=c[h>>2];d=(c[o>>2]|0)+40|0;a=j;b=j;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[p>>2]=c[(c[o>>2]|0)+16>>2];while(1){if(!(c[p>>2]|0))break a;a=g;s=c[(c[o>>2]|0)+4>>2]|0;s=RR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=j;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[o>>2]|0)+4>>2]|0;t=g;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[p>>2]=c[c[p>>2]>>2]}}else c[p>>2]=c[(c[o>>2]|0)+40+8>>2];while(0);s=j;t=c[(c[o>>2]|0)+4>>2]|0;t=$R(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[k>>2]=t;do{c[l>>2]=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0);if((c[n>>2]|0)<((c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[n>>2]|0;else e=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[m>>2]=e;TR(c[q>>2]|0,(c[p>>2]|0)+4+(c[k>>2]|0)|0,c[m>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);c[k>>2]=0;if((c[n>>2]|0)<0)break;t=c[c[p>>2]>>2]|0;c[p>>2]=t}while((t|0)!=0&(c[n>>2]|0)>0);if(!(c[p>>2]|0)){n=0;t=0;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}t=j;n=c[h>>2]|0;n=RR(c[t>>2]|0,c[t+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;t=C;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}function Or(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=RR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Tr(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Ig(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=$R(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}TR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=RR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=RR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Sr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Qr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Ur(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=RR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=QR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Ig(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=RR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Sr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}or(c[k>>2]|0);a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Ur(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;pj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((Br(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=qs(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(tr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=ur(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Xi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Yr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Zr(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=QR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=QR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=Dr(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Zi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=_r(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Kg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=rr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=$r(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,25874,r);s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}function Xr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Xi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=fs(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=fs(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=es(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(eR(k,25901,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=QR(d|0,C|0,c[m>>2]|0,0)|0,d=es(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Zr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ps(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=es(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(eR(n,25901,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=fs(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=fs(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=fs(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=fs(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=fs(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Vi(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=RR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function _r(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;q=B+56|0;l=B+52|0;m=B+48|0;r=B+44|0;n=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;o=B+24|0;s=B+20|0;p=B+16|0;t=B+12|0;u=B;x=B+8|0;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;c[r>>2]=j;c[n>>2]=k;c[s>>2]=c[(c[q>>2]|0)+208>>2];j=c[q>>2]|0;if(c[r>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[p>>2]=j;f=c[l>>2]|0;c[A>>2]=fs(c[p>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[p>>2]|0;h=c[s>>2]|0;g=c[(c[q>>2]|0)+160>>2]|0;f=c[l>>2]|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=es(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[q>>2]|0)+160>>2]|0)+4+(c[r>>2]<<2)|0;f=c[l>>2]|0;h=f;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[384]|0)/(c[(c[q>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[q>>2]|0)+28>>2]|0)>>>0?(nj(c[m>>2]|0,c[v>>2]|0)|0)==0:0){if(c[r>>2]|0){f=c[p>>2]|0;p=c[l>>2]|0;p=QR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0;c[A>>2]=fs(f,p,C,o)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[n>>2]|0)==0?(p=gs(c[q>>2]|0,c[s>>2]|0)|0,(p|0)!=(c[o>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[m>>2]|0)!=0?(p=lj(c[m>>2]|0,c[v>>2]|0)|0,c[A>>2]=p,(p|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[q>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[q>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(Br(c[q>>2]|0)|0)c[z>>2]=0;else c[z>>2]=hs(c[q>>2]|0,c[v>>2]|0)|0;if(c[r>>2]|0){if(d[(c[q>>2]|0)+7>>0]|0)j=1;else{p=c[l>>2]|0;n=c[p+4>>2]|0;j=(c[q>>2]|0)+88|0;o=c[j+4>>2]|0;j=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[q>>2]|0)+64>>2]>>2]|0){if((d[(c[q>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[q>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[q>>2]|0)+160>>2]|0;p=aS((c[v>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=p;c[t+4>>2]=C;c[A>>2]=Ig(c[(c[q>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[q>>2]|0)+36>>2]|0)>>>0)c[(c[q>>2]|0)+36>>2]=c[v>>2];if(c[(c[q>>2]|0)+96>>2]|0){is(c[(c[q>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[r>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=vg(c[q>>2]|0,c[v>>2]|0,z,1)|0;w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){js(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];TR(c[x>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0)|0;Qb[c[(c[q>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[v>>2]|0)==1){h=(c[q>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}ks(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function $r(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Ur(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Xi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=RR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=RR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=RR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=es(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Yr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Ur(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Xr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;or(c[l>>2]|0);if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(hR(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}or(c[m>>2]|0);c[o>>2]=xr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}or(c[m>>2]|0);Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function as(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((bs(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=cs(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function bs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function cs(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ds(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function ds(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=es(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=gr(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function gs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ms(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ns(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}ls(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function js(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;hj(c[d>>2]|0,2);i=f;return}function ks(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){ij(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=xg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function ms(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;l=g+8|0;h=g+4|0;f=g;c[k>>2]=a;c[j>>2]=b;c[l>>2]=e;c[h>>2]=c[l>>2]&(d[(c[k>>2]|0)+33>>0]|0);c[f>>2]=Ob[c[144>>2]&255](c[(c[k>>2]|0)+44>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return c[f>>2]|0}function ns(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=os(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function os(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[h>>2]=d;c[g>>2]=e;c[k>>2]=c[(c[g>>2]|0)+4>>2];d=(c[k>>2]|0)+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[c[k>>2]>>2]=c[g>>2];c[(c[k>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+40;VR(c[(c[k>>2]|0)+8>>2]|0,0,c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[k>>2]|0)+28>>2]=c[j>>2];c[(c[k>>2]|0)+20>>2]=c[h>>2];b[(c[k>>2]|0)+24>>1]=1;d=ns(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return d|0}function ps(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=_R(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=RR(h|0,C|0,1,0)|0;h=aS(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=kj(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(Br(c[f>>2]|0)|0)!=0:0){c[e>>2]=rs(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(Br(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Zr(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=RR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=_R(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=aS(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(Br(c[f>>2]|0)|0)c[p>>2]=ss(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=_r(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);pj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function rs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=zs(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=As(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ys(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];ts(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function ts(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;vs(a,us(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));VR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function us(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function vs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=ws(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function ws(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){VR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=xs(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function xs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=hs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Fs(c[f>>2]|0)|0)==1){Gs(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Hs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Is(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Js(c[f>>2]|0)}while(0);dj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function zs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=Ds(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Es(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}ts(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function As(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=Bs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function Bs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=32)break;if(c[f+(c[g>>2]<<2)>>2]|0){if(c[h>>2]|0)a=Cs(c[h>>2]|0,c[f+(c[g>>2]<<2)>>2]|0)|0;else a=c[f+(c[g>>2]<<2)>>2]|0;c[h>>2]=a}c[g>>2]=(c[g>>2]|0)+1}i=j;return c[h>>2]|0}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1)if((c[(c[d>>2]|0)+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[d>>2]|0)){a=4;break}else continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[e>>2]|0)){a=6;break}else continue}if((a|0)==4){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==6){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Ds(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=us(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Fs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Gs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)hj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Hs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=us(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=us(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=vs(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Os(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ps(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Qj(56344)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ns(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=aS((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=es(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Js(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32){Ks(a);f=c[b>>2]|0;Ls(f);i=d;return}else{ks(a);f=c[b>>2]|0;Ls(f);i=d;return}}function Ks(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=aS((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ms(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Ls(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Wi(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}nr(c[b>>2]|0);i=d;return}function Ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ns(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=aS((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=RR(32,0,f|0,C|0)|0;f=RR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=es(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Os(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ps(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Qs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Cr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Ir(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ss(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Xs(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ys(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Zs(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ms(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=_s(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Qj(57049)|0;else c[y>>2]=$s(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(at(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Cr(c[v>>2]|0)|0;Kr(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Yj();c[g>>2]=Xi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=ur(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Zj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,25909,j);i=k;return}function Vs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Ws(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Jr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ys(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Xs(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Zs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=ws(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=mt(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Hr(e,0)|0;c[l>>2]=k;if(k)break;Ir(c[g>>2]|0,0);c[l>>2]=264;break}b=Xs(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=ws(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=mt(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=nt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Kr(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=ot(55897)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function _s(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function $s(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=_s(c[j>>2]|0)|0;c[y>>2]=at(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=bt(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Kr(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=vr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=aS(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Xi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Ts(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(ct(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=aS((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=RR(32,0,g|0,C|0)|0;g=RR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=es(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=aS((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Ig(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Ds(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=aS(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=ur(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=vr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Kr(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){dt(c[j>>2]|0,c[B>>2]|0);c[A>>2]=ur(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Kr(c[j>>2]|0,4,4)}}while(0);et(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function at(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function bt(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(us(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}VR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=vs(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}kt(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)et(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=at(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;ft(b,1+(gr(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];gt(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ft(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function gt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Ds(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ht(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));it(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function it(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}jt(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function lt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];TR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function mt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Ds(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));it(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(eR(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ht(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(eR((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function nt(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Xs(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Xi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=gr(j)|0;c[A>>2]=gr(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=gr(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ht((d[(c[h>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(gr(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(gr(j+28|0)|0)):0){c[D>>2]=gr(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=ot(54951)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=RR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=pt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=qt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=RR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];gt(c[h>>2]|0);c[w>>2]=at(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,25952,B)}}}while(0);Kr(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function ot(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(14,c[d>>2]|0,25935)|0;i=b;return a|0}function pt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(eR((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=gr(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ht(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(gr((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(gr((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=gr((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function qt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=vs(a,us(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);VR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)ts(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Os(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ps(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Qj(54820)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function rt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function st(){return 48}function tt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function ut(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(Br(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=wt(a)|0;if(!(c[j>>2]|0))c[j>>2]=xt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=yt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=zt(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))gj(c[g>>2]|0);c[f>>2]=mr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function vt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=_i(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function wt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Ot(c[d>>2]|0)|0){c[b>>2]=Pt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function xt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[o>>2]=Ht(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;is(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=Ct(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=bs(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ps(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=es(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(eR(j,25901,8)|0):0){b=l;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,26022,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=Dt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Et(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function zt(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=At(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=aS(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Ts(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=aS((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Ig(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;is(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function At(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Ur(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function Bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(gr((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;ft((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+96|0,3015001);i=b;return}function Ct(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(Br(c[b>>2]|0)|0):0)c[d>>2]=Ft(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function Dt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ps(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((bs(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);ft((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);ft((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);ft((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);ft((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);VR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Ig(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Et(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Gt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Gt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Rs(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ht(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+176|0;u=N+136|0;v=N+132|0;w=N+128|0;x=N+124|0;y=N+120|0;z=N+116|0;A=N+112|0;I=N+108|0;D=N+104|0;G=N+100|0;H=N+96|0;F=N+92|0;L=N+88|0;E=N+40|0;M=N+16|0;p=N+84|0;o=N+80|0;n=N+144|0;m=N+72|0;s=N+64|0;r=N+60|0;q=N+8|0;t=N+56|0;B=N+52|0;J=N+48|0;K=N;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[H>>2]=0;c[F>>2]=0;c[p>>2]=0;c[o>>2]=Ds(c[v>>2]|0)|0;if(eR((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=It(c[v>>2]|0)|0;c[I>>2]=g;if(g){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[D>>2]|0)){ft(n,931071618|(a[968]|0)==0);ft(n+4|0,3007e3);ft(n+8|0,c[w>>2]|0);ft(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ht(1,n,24,0,m);ft(n+24|0,c[m>>2]|0);ft(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[968]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[I>>2]|0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[I>>2]=vr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}}c[M>>2]=c[v>>2];c[M+4>>2]=c[(c[v>>2]|0)+8>>2];l=M+8|0;c[l>>2]=0;c[l+4>>2]=0;c[M+16>>2]=c[A>>2];c[M+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=aS((c[D>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;c[L>>2]=(c[w>>2]|0)+24;c[G>>2]=c[x>>2];while(1){if(!(c[G>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[G>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Hs(c[v>>2]|0,c[(c[G>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=aS((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;l=RR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[G>>2]|0)+4>>2];g=q;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=22;break}g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]&-65}else{c[D>>2]=(c[D>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[G>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=E;c[I>>2]=Jt(M,c[G>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=27;break}c[H>>2]=c[G>>2];l=c[L>>2]|0;g=E;l=RR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]|64}c[G>>2]=c[(c[G>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==27){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[I>>2]=Kt(c[v>>2]|0,c[D>>2]|0)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){c[B>>2]=1;a:do if(a[(c[v>>2]|0)+49>>0]|0){c[J>>2]=cs(c[(c[v>>2]|0)+8>>2]|0)|0;t=E;s=c[J>>2]|0;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=QR(s|0,C|0,1,0)|0;t=c[J>>2]|0;t=_R(s|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;J=c[J>>2]|0;J=aS(t|0,C|0,J|0,((J|0)<0)<<31>>31|0)|0;t=M+8|0;c[t>>2]=J;c[t+4>>2]=C;t=M+8|0;J=E;c[B>>2]=((c[t>>2]|0)==(c[J>>2]|0)?(c[t+4>>2]|0)==(c[J+4>>2]|0):0)&1;while(1){t=E;r=c[t+4>>2]|0;J=M+8|0;s=c[J+4>>2]|0;if(!((r|0)<(s|0)|((r|0)==(s|0)?(c[t>>2]|0)>>>0<(c[J>>2]|0)>>>0:0)))break a;J=E;c[I>>2]=Jt(M,c[H>>2]|0,c[y>>2]|0,c[J>>2]|0,c[J+4>>2]|0)|0;if(c[I>>2]|0)break;t=c[L>>2]|0;J=E;t=RR(c[J>>2]|0,c[J+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;J=E;c[J>>2]=t;c[J+4>>2]=C;c[F>>2]=(c[F>>2]|0)+1}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}while(0);if(c[B>>2]|0)c[I>>2]=vr(c[M+4>>2]|0,c[A>>2]&19)|0}if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(M=(c[v>>2]|0)+16|0,L=c[M+4>>2]|0,(L|0)>0|(L|0)==0&(c[M>>2]|0)>>>0>=0):0){M=(c[v>>2]|0)+16|0;E=c[M+4>>2]|0;L=K;c[L>>2]=c[M>>2];c[L+4>>2]=E;L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;E=C;M=(c[v>>2]|0)+16|0;J=c[M+4>>2]|0;if((E|0)>(J|0)|((E|0)==(J|0)?L>>>0>(c[M>>2]|0)>>>0:0)){L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;M=K;c[M>>2]=L;c[M+4>>2]=C}M=K;Us(c[v>>2]|0,c[M>>2]|0,c[M+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];c[G>>2]=c[x>>2];while(1){if(!((c[G>>2]|0)!=0?(c[I>>2]|0)==0:0))break;if(e[(c[G>>2]|0)+24>>1]&64){c[D>>2]=(c[D>>2]|0)+1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}c[G>>2]=c[(c[G>>2]|0)+12>>2]}while(1){if(!((c[I>>2]|0)==0?(c[F>>2]|0)>0:0))break;c[D>>2]=(c[D>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+-1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[H>>2]|0)+20>>2]|0)|0}if(!(c[I>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[D>>2];if(c[z>>2]|0){M=(c[v>>2]|0)+52+8|0;c[M>>2]=(c[M>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){gt(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[D>>2]}}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}return 0}function It(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=at(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Xs(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){dt(c[e>>2]|0,c[k>>2]|0);Kr(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Ir(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Nt(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Jt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Lt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Mt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=RR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Mt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=aS((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;b=RR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=gr(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=gr((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=aS((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=gr(c[g>>2]|0)|0;c[n>>2]=gr((c[g>>2]|0)+4|0)|0;Lt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Ig(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Lt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;ft(c[l>>2]|0,c[q>>2]|0);ft((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ht(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);ft((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);ft((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=RR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=RR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=vr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Nt(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;wi(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Zs(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Hr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Ir(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=at(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Hr(c[h>>2]|0,3)|0;it(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=Ds(c[h>>2]|0)|0;u=(eR(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Ir(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Xs(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Kr(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Hr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;it(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=Ds(c[h>>2]|0)|0,(eR(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Ir(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(qj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Pt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Qt(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=aS(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Rt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=RR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Ig(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=St(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Qt(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Tt(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;ft(g,c[k>>2]|0);e=j;e=Ig(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=lj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Tt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Ur(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4028;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ut(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Vt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fs(c[d>>2]|0)|0;i=b;return a|0}function Wt(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Xt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Qj(60006)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Qj(60024)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Qj(60052)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Qj(60057)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Qj(60077)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Qj(60084)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Qj(60098)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Xt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Qj(59964)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Yt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Zt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=WR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=WR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function _t(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function $t(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((cu((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function au(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function bu(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function cu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function du(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function eu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=fu(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function fu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Ss(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function gu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1092+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function iu(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=ju(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function ju(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=bh(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ch(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Xg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function ku(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(lu(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function nu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)tu(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)tu(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}uu(c[b>>2]|0);i=k;return}function ou(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,68);i=b;return 0} +function vJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function wJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=XH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}ZK(c[e>>2]|0,0,0,1);c[j>>2]=_K(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function xJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;TK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);UK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))VK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function yJ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wJ(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function zJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Uj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function AJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Uj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];FH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function BJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Uj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=$B(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function CJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=JF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Yi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[384]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)KK(p,c[m>>2]|0);c[p+28>>2]=41095;v=gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;LK(p,1,v,gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)MK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);NK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(OK(p,c[m>>2]|0)|0)){v=VF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];PK(p,41111,r)}while(0);if(((OK(p,c[m>>2]|0)|0)!=0?(v=VF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];PK(p,41133,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);$i(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){xA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}xA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function DJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Xg(c[e>>2]|0);d=Vw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=ku(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=JK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function EJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=HK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){d=c[h+4>>2]|0;a=c[k>>2]|0;f=c[a+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function FJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=DK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}k=c[(c[g>>2]|0)+8>>2]|0;a=c[k+4>>2]|0;d=c[h>>2]|0;c[d>>2]=c[k>>2];c[d+4>>2]=a;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))oG(c[g>>2]|0);c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}function GJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=DK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}FK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=GK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=HK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function HJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function IJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function JJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[f>>2]=0;c[g>>2]=Gt(c[e>>2]|0,1)|0;if(!(c[g>>2]|0))c[g>>2]=Yr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,f)|0;if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=yK(c[e>>2]|0)|0}if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=zK(c[e>>2]|0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;aj(c[e>>2]|0);if(!(c[g>>2]|0)){g=c[g>>2]|0;i=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[g>>2]|0;i=h;return g|0}Fr(c[e>>2]|0,1)|0;g=c[g>>2]|0;i=h;return g|0}function KJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){or(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=rK(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Gt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Fr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;kr(c[f>>2]|0);break}if((c[g>>2]|0)==2)or(c[(c[f>>2]|0)+68>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function LJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;o=D+24|0;n=D+16|0;m=D+8|0;l=D;q=D+92|0;j=D+88|0;r=D+84|0;g=D+80|0;y=D+76|0;w=D+72|0;x=D+68|0;z=D+64|0;B=D+60|0;C=D+56|0;A=D+96|0;v=D+52|0;h=D+48|0;u=D+44|0;k=D+40|0;p=D+36|0;t=D+32|0;s=D+28|0;c[j>>2]=b;c[r>>2]=e;c[g>>2]=f;c[y>>2]=0;c[v>>2]=0;if(!(a[(c[r>>2]|0)+67>>0]|0)){Cj(c[j>>2]|0,c[r>>2]|0,40519);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}if((c[(c[r>>2]|0)+156>>2]|0)>1){Cj(c[j>>2]|0,c[r>>2]|0,40559);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}c[z>>2]=c[(c[r>>2]|0)+24>>2];c[B>>2]=c[(c[r>>2]|0)+88>>2];c[C>>2]=c[(c[r>>2]|0)+92>>2];a[A>>0]=a[(c[r>>2]|0)+76>>0]|0;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]|270542848;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655489;a[(c[r>>2]|0)+76>>0]=0;c[p>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[w>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];c[h>>2]=kK(Pf(c[w>>2]|0)|0)|0;c[k>>2]=c[(c[r>>2]|0)+20>>2];c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,40602)|0;a:do if(((c[y>>2]|0)==0?(c[v>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[k>>2]<<4),c[x>>2]=c[(c[v>>2]|0)+4>>2],Gj(c[x>>2]|0)|0,c[u>>2]=mK(c[w>>2]|0)|0,Ej(c[x>>2]|0,c[(c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+80>>2]|0)|0,b=c[x>>2]|0,uC(b,uC(c[w>>2]|0,0)|0)|0,WB(c[x>>2]|0,33)|0,c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,37527)|0,(c[y>>2]|0)==0):0)?(c[y>>2]=pg(c[w>>2]|0,2)|0,(c[y>>2]|0)==0):0){if((tg(Pf(c[w>>2]|0)|0)|0)==5)c[(c[r>>2]|0)+80>>2]=0;f=c[x>>2]|0;b=sg(c[w>>2]|0)|0;do if(!(Ci(f,b,c[u>>2]|0,0)|0)){if((c[h>>2]|0)==0?(Ci(c[x>>2]|0,c[(c[r>>2]|0)+80>>2]|0,c[u>>2]|0,0)|0)!=0:0)break;if(!(d[(c[r>>2]|0)+69>>0]|0)){g=c[x>>2]|0;if((a[(c[r>>2]|0)+72>>0]|0)>=0)e=a[(c[r>>2]|0)+72>>0]|0;else e=rC(c[w>>2]|0)|0;tC(g,e)|0;a[(c[r>>2]|0)+148+4>>0]=c[k>>2];b=c[r>>2]|0;k=c[j>>2]|0;c[l>>2]=c[p>>2];c[y>>2]=nK(b,k,40623,l)|0;if(c[y>>2]|0)break a;k=c[r>>2]|0;l=c[j>>2]|0;c[m>>2]=c[p>>2];c[y>>2]=nK(k,l,40731,m)|0;if(c[y>>2]|0)break a;a[(c[r>>2]|0)+148+4>>0]=0;l=c[r>>2]|0;m=c[j>>2]|0;c[n>>2]=c[p>>2];c[y>>2]=nK(l,m,40804,n)|0;n=(c[r>>2]|0)+24|0;c[n>>2]=c[n>>2]&-268435457;if(c[y>>2]|0)break a;m=c[r>>2]|0;n=c[j>>2]|0;c[o>>2]=c[p>>2];c[y>>2]=nK(m,n,40955,o)|0;if(c[y>>2]|0)break a;c[s>>2]=0;while(1){g=c[w>>2]|0;if((c[s>>2]|0)>=10)break;rg(g,d[41085+(c[s>>2]|0)>>0]|0,t);c[y>>2]=Bg(c[x>>2]|0,d[41085+(c[s>>2]|0)>>0]|0,(c[t>>2]|0)+(d[41085+((c[s>>2]|0)+1)>>0]|0)|0)|0;if(c[y>>2]|0)break a;c[s>>2]=(c[s>>2]|0)+2}c[y>>2]=oK(g,c[x>>2]|0)|0;if(c[y>>2]|0)break a;c[y>>2]=Gj(c[x>>2]|0)|0;if(c[y>>2]|0)break a;t=c[w>>2]|0;tC(t,rC(c[x>>2]|0)|0)|0;t=c[w>>2]|0;x=sg(c[x>>2]|0)|0;c[y>>2]=Ci(t,x,c[u>>2]|0,1)|0;break a}}while(0);c[y>>2]=7}while(0);a[(c[r>>2]|0)+148+4>>0]=0;c[(c[r>>2]|0)+24>>2]=c[z>>2];c[(c[r>>2]|0)+88>>2]=c[B>>2];c[(c[r>>2]|0)+92>>2]=c[C>>2];a[(c[r>>2]|0)+76>>0]=a[A>>0]|0;Ci(c[w>>2]|0,-1,-1,1)|0;a[(c[r>>2]|0)+67>>0]=1;if(c[v>>2]|0){LB(c[(c[v>>2]|0)+4>>2]|0)|0;c[(c[v>>2]|0)+4>>2]=0;c[(c[v>>2]|0)+12>>2]=0}Cg(c[r>>2]|0);c[q>>2]=c[y>>2];C=c[q>>2]|0;i=D;return C|0}function MJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=JF(c[g>>2]|0)|0;c[e>>2]=gr((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=ZJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Qj(61866)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=XH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){_J(c[g>>2]|0);c[h>>2]=$J(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Gg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function NJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=WH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=YJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function OJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=WJ(c[e>>2]|0)|0;if((((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),XJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)?(c[(c[j>>2]|0)+80>>2]|0)!=0:0){c[(c[f>>2]|0)+20>>2]=c[h>>2];c[k>>2]=Yb[c[(c[j>>2]|0)+80>>2]&255](c[(c[f>>2]|0)+8>>2]|0,(c[h>>2]|0)-1|0)|0}}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function PJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ti(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=sj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=Jz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Gh(p,30631,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Ux(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=WJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;XJ(p,Ux(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function QJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ti(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=VJ(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;su(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function RJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=UJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function SJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=TJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function TJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function UJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function WJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Uw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function XJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;hI(c[e>>2]|0);i=d;return}function YJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(VF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=VF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function _J(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function $J(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=VF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=gr((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=WF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Qj(61751)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=aK(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){QB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=XF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=aK(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}QB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){QB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=bK(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;QB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=VF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function aK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=JF(c[m>>2]|0)|0;c[B>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Qj(63793)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=WF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Gg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}ft((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=gr(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=iK(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Qj(63849)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=iK(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Gg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;ft((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);TR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;QB(c[E>>2]|0);if(!(c[I>>2]|0)){ft((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;ft(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=gr((c[r>>2]|0)+8|0)|0;c[u>>2]=Dj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Dj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=gr((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}ft((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(jK(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);QB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Qj(63878)|0;break}else if((j|0)==40){c[K>>2]=Qj(63912)|0;break}else if((j|0)==43){QB(h);break}else if((j|0)==63){c[K>>2]=Qj(63977)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Gg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=VF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=iK(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[l>>2]|0)+72>>2]|0)|0;QB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);ft((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);QB(c[J>>2]|0);QB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function bK(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=cK(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=gr(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(eK(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=dK(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=XF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Gg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){QB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=fK(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;QB(c[t>>2]|0);if(c[u>>2]|0)break;eK(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function cK(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;k=u+20|0;s=u+16|0;p=u+12|0;t=u+8|0;q=u+4|0;r=u;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[k>>2]=j;c[p>>2]=0;if((a[(c[m>>2]|0)+13>>0]|0)!=0?(c[t>>2]=Gg(c[n>>2]|0)|0,(c[t>>2]|0)!=0):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if((e[(c[n>>2]|0)+24>>1]&2|0)!=0?(h=wt(c[n>>2]|0)|0,c[t>>2]=h,0!=(h|0)):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if(!((c[k>>2]|0)!=0?1:(e[(c[n>>2]|0)+24>>1]&8|0)==0))c[p>>2]=c[(c[n>>2]|0)+20>>2];h=(c[n>>2]|0)+24|0;b[h>>1]=e[h>>1]&-9;c[s>>2]=hs(c[m>>2]|0,c[o>>2]|0)|0;do if(c[s>>2]|0){k=(c[n>>2]|0)+24|0;b[k>>1]=e[k>>1]|e[(c[s>>2]|0)+24>>1]&8;k=c[s>>2]|0;if(a[(c[m>>2]|0)+13>>0]|0){hK(k,(c[(c[m>>2]|0)+28>>2]|0)+1|0);break}else{Gs(k);break}}while(0);c[q>>2]=c[(c[n>>2]|0)+20>>2];hK(c[n>>2]|0,c[o>>2]|0);js(c[n>>2]|0);if((c[s>>2]|0)!=0?(d[(c[m>>2]|0)+13>>0]|0)!=0:0){hK(c[s>>2]|0,c[q>>2]|0);Js(c[s>>2]|0)}do if(c[p>>2]|0){c[t>>2]=vg(c[m>>2]|0,c[p>>2]|0,r,0)|0;if(!(c[t>>2]|0)){t=(c[r>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;js(c[r>>2]|0);Js(c[r>>2]|0);break}if((c[p>>2]|0)>>>0<=(c[(c[m>>2]|0)+32>>2]|0)>>>0)mj(c[(c[m>>2]|0)+60>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+208>>2]|0);c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}while(0);c[l>>2]=0;t=c[l>>2]|0;i=u;return t|0}function dK(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Wt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));gK(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=gr(c[n>>2]|0)|0;eK(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=gr((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;eK(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function eK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Qj(59184)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=VF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=vg(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=wg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=gr((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Gg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;ft((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Qj(59195)|0;c[c[n>>2]>>2]=s}while(0);yg(c[q>>2]|0);i=t;return}function fK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=gr(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){ft(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Qj(61581)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Wt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(gr((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=gr(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)ft((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)ft(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=gr((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Qj(61617)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function gK(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=gr((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;eK(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function hK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function iK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=XF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Vt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}QB(f);c[c[h>>2]>>2]=0;c[g>>2]=Qj(60316)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(oj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(nj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function kK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+13>>0]|0|0}function lK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[j>>2]=af(c[f>>2]|0,c[m>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}while(1){m=te(c[h>>2]|0)|0;c[j>>2]=m;if(100!=(m|0))break;c[k>>2]=Ee(c[h>>2]|0,0)|0;if(!(c[k>>2]|0))continue;c[j>>2]=lK(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0;if(c[j>>2]|0)break}if((c[j>>2]|0)==101)c[j>>2]=0;if(c[j>>2]|0){k=c[g>>2]|0;m=c[f>>2]|0;Cj(k,m,bf(c[f>>2]|0)|0)}Xd(c[h>>2]|0)|0;c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}function mK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=qK(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function nK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;f=l+40|0;g=l+36|0;h=l+32|0;n=l+28|0;k=l+24|0;m=l+8|0;j=l;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[k>>2]=ox(c[g>>2]|0,c[n>>2]|0,m)|0;if(!(c[k>>2]|0)){c[f>>2]=7;n=c[f>>2]|0;i=l;return n|0}else{c[j>>2]=lK(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;Tf(c[g>>2]|0,c[k>>2]|0);c[f>>2]=c[j>>2];n=c[f>>2]|0;i=l;return n|0}return 0}function oK(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Eg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=sg(c[j>>2]|0)|0,d=aS(d|0,((d|0)<0)<<31>>31|0,ug(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=Ai(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{pK(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function pK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0){i=e;return}Zi(c[b>>2]|0);i=e;return}function qK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function rK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p+28|0;o=p+24|0;f=p+20|0;j=p+16|0;e=p+12|0;h=p+8|0;g=p+4|0;k=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if((Br(c[n>>2]|0)|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[o>>2]=Ft(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=sK(c[n>>2]|0,f)|0;if(!(c[o>>2]|0)){if(c[f>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=Gt(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[n>>2]>>2],c[o>>2]=Yr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,e)|0,(c[o>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[o>>2]=Ur(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[o>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[o>>2]=ot(51483)|0;or(c[(c[n>>2]|0)+68>>2]|0)}e=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=lr(e)|0;if(!(c[o>>2]|0)){c[o>>2]=Wr(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Fr(c[n>>2]|0,1)|0;if(c[o>>2]|0){mr(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?(d[(c[n>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[o>>2]=tK(c[n>>2]|0,k)|0;if(c[o>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[o>>2]=es(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(eR((c[n>>2]|0)+112|0,m,16)|0)Zi(c[n>>2]|0)}c[o>>2]=uK(c[n>>2]|0)|0;l=32}}}else l=32;while(0);if((l|0)==32){if(Br(c[n>>2]|0)|0)c[o>>2]=vK(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=tK(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}e=c[n>>2]|0;if(c[o>>2]|0){kr(e);o=c[o>>2]|0;i=p;return o|0}else{a[e+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function sK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Yr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=CK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=tK(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Yj();if((Gt(c[f>>2]|0,2)|0)==0?(xr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Fr(c[f>>2]|0,1)|0;Zj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Ur(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=es(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))or(c[(c[f>>2]|0)+68>>2]|0);c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function tK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=BK(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[h>>2]|0)==0?(c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0:0){b=g;c[b>>2]=0;c[b+4>>2]=0;c[j>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;if(!(c[j>>2]|0)){j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=RR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j;break}c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}while(0);if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function uK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=tK(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=xr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Yr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=xK(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function vK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Qs(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=wK(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Zi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function wK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Nt(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function xK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(IJ(c[f>>2]|0)|0){or(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=yK(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function yK(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=zK(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=AK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}function zK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Gt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Fr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function AK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Ur(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Vs(c[u>>2]|0,0);or(c[(c[u>>2]|0)+8>>2]|0);Kd(c[u>>2]|0)}else{c[t>>2]=bs(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function BK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function DK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;VR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=GK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=c[e>>2];c[f>>2]=1;while(1){if((c[f>>2]|0)>>>0>=40)break;if(c[e+(c[f>>2]<<2)>>2]|0){if(c[d>>2]|0)a=GK(c[d>>2]|0,c[e+(c[f>>2]<<2)>>2]|0)|0;else a=c[e+(c[f>>2]<<2)>>2]|0;c[d>>2]=a}c[f>>2]=(c[f>>2]|0)+1}i=g;return c[d>>2]|0}function EK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=IK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function FK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){FK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){FK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function GK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if(!((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<=(c[b>>2]|0)>>>0:0))){k=c[e>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k;c[e>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[e>>2]|0)){a=8;break}else continue}j=c[d>>2]|0;a=c[j+4>>2]|0;k=c[e>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){k=c[d>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k}c[d>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[d>>2]|0)){a=6;break}}if((a|0)==6){c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else if((a|0)==8){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function HK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Vw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function IK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=IK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=IK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}function JK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function KK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function LK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(QK(f,c[r>>2]|0)|0){g=25;break}if(vg(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=wg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=gr(c[m>>2]|0)|0;MK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=gr((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];PK(b,41711,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=gr((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[k>>2]|0,2,0);QK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=gr(c[m>>2]|0)|0;yg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;PK(c[q>>2]|0,41750,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;PK(f,41632,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];PK(v,41689,w);i=x;return}else if((g|0)==25){i=x;return}}function MK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=WF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];PK(q,41549,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;PK(p,41578,q);i=r;return}function NK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(QK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=41169;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=XF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Wt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];PK(ba,41217,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=41255;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=gr((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=41281;MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){PK(c[o>>2]|0,41339,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;PK(m,41363,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=gr((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);LK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=gr(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){PK(c[o>>2]|0,41387,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;PK(m,41309,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];RK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(SK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;PK(ba,41412,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;PK(ba,41449,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];PK(ba,41179,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;QB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function OK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function PK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)sA((c[f>>2]|0)+40|0,41167,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;rA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function QK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;PK(b,41501,e);c[g>>2]=1;break}e=(OK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;PK(a,41524,h);c[g>>2]=1;break}else{KK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function RK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function SK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function TK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;XK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function UK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);VK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)WK(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}WK(c[(c[d>>2]|0)+56>>2]|0);d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function VK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function WK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;or(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function XK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ms(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;YK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function YK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}TK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function ZK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function _K(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(JF(c[k>>2]|0)|0)>>>0){c[p>>2]=Qj(66688)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=IF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=gr(c[n>>2]|0)|0,c[t>>2]=_K(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=$K(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=gr((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=_K(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){aL(j,t);break}q=Gg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)bL(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Qj(66693)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;QB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function $K(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Qj(64249)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=gr((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(JF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=UF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=eL(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Vt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Qj(64285)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=cL(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)yg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Qj(64265)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function aL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=cL(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function bL(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)VR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Xt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function cL(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Qj(64103)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];dL(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=eL(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;ft((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;VR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(eK(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=XF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=gr((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Qj(64156)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Gg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;ft((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);ft((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)fL(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=gL(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){ft(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);ft((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);ft((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;QB(c[o>>2]|0);QB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function dL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hL(c[d>>2]|0);i=b;return}function eL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=hs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=KF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function fL(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){i=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){i=h;return}if(c[(c[g>>2]|0)+104>>2]|0){i=h;return}d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]|16;d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;i=h;return}function gL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=kj(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(oj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=lj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hL(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function iL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Qj(66814)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=XF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=wJ(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){QB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){rg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){aL(d,o);QB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{QB(d);c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=bK(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;QB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;aL(c[m>>2]|0,o);QB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=VF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Bg(c[g>>2]|0,4,c[k>>2]|0)|0}else{aL(c[n>>2]|0,o);QB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function jL(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=kL((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function kL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=lL(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=mL(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;nL(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;oL(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;oL(k,d,((d|0)<0)<<31>>31);pL(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=qL(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function lL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(Bi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=yL(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Ts(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function mL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;k=n+12|0;m=n+8|0;e=n+4|0;f=n;c[h>>2]=a;c[j>>2]=b;c[e>>2]=rL(c[h>>2]|0)|0;if(c[e>>2]|0){c[g>>2]=c[e>>2];m=c[g>>2]|0;i=n;return m|0}c[m>>2]=c[c[j>>2]>>2];e=sL(c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+32>>2]=e;c[k>>2]=kg(256,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;m=c[g>>2]|0;i=n;return m|0}while(1){if(!(c[m>>2]|0))break;b=c[m>>2]|0;do if(c[(c[j>>2]|0)+4>>2]|0)if((b|0)==(c[(c[j>>2]|0)+4>>2]|0)){c[f>>2]=0;break}else{c[f>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);break}else c[f>>2]=c[b+4>>2];while(0);c[(c[m>>2]|0)+4>>2]=0;c[l>>2]=0;while(1){if(!(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0))break;c[m>>2]=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=c[f>>2]}c[m>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;if(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0){if(c[m>>2]|0)b=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;else b=c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0;c[m>>2]=b}c[l>>2]=(c[l>>2]|0)+1}c[c[j>>2]>>2]=c[m>>2];Kd(c[k>>2]|0);c[g>>2]=d[(c[(c[h>>2]|0)+12>>2]|0)+11>>0];m=c[g>>2]|0;i=n;return m|0}function nL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=QR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function oL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=SI(g,c[a>>2]|0,c[a+4>>2]|0)|0;pL(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function pL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);TR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=RR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ig(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function qL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=RR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ig(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=RR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function rL(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=MF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function sL(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function tL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;f=m+4|0;g=m;c[e>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;c[l>>2]=k;c[f>>2]=0;while(1){c[g>>2]=Sb[c[(c[e>>2]|0)+32>>2]&255](c[e>>2]|0,f,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0,(c[j>>2]|0)+8|0,c[c[j>>2]>>2]|0)|0;if((c[g>>2]|0)<=0){c[c[l>>2]>>2]=c[h>>2];c[l>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];if(!(c[h>>2]|0)){e=4;break}else continue}else{c[c[l>>2]>>2]=c[j>>2];c[l>>2]=(c[j>>2]|0)+4;c[j>>2]=c[(c[j>>2]|0)+4>>2];c[f>>2]=0;if(!(c[j>>2]|0)){e=6;break}else continue}}if((e|0)==4){c[c[l>>2]>>2]=c[j>>2];l=c[k>>2]|0;i=m;return l|0}else if((e|0)==6){c[c[l>>2]>>2]=c[h>>2];l=c[k>>2]|0;i=m;return l|0}return 0}function uL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[41789+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function vL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else bG(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else bG(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=eR(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function wL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}function xL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}function yL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Ur(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function zL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=AL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function AL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=BL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=CL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){XK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=DL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=EL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function BL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=HL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function CL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(Bi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ms(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=FL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=QR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=es(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function DL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(cu((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=RR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=$R(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(cu((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=EL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){cu(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function EL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=RR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=$R(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=QR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=QR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=es(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=RR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);TR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=RR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=EL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;TR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function FL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=GL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function GL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function HL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;nL(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=RR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=RR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=iG(q,((q|0)<0)<<31>>31)|0;q=RR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=RR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;oL(n,r,((r|0)<0)<<31>>31);pL(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=zL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=qL(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function IL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=JL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=KL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}TK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function JL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=OL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=PL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=QL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=PL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=RL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else TK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}TK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function KL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=LL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;ML(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function LL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=NL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function NL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=KL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=lL(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=RR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=AL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function OL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=aS(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function PL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=QL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=TL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}TK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function QL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(Bi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function RL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=SL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=QL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=SL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{YK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function SL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(Bi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){TK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function TL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=CL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=DL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=RR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=AL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function UL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function VL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=WL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function WL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=EF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function XL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function YL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=nM(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{UR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Qj(64508)|0;c[c[n>>2]>>2]=h;i=t;return}function ZL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=pM(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);TR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)ft((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);UR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}gK(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){TR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)ft(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function _L(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=$L(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=aM(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Yi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=bM(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)$i(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;QB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}$i(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function $L(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Gg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=aK(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,gM(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)eK(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;QB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{TR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;TR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;bL(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);ft((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function aM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Qj(65006)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=aK(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;bL(c[p>>2]|0,13);c[t>>2]=lM(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(eK(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)gK(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);if(!(c[t>>2]|0))ZL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);QB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function bM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[K>>2]|0)|0;while(1){c[Aa>>2]=IF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}TR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}YL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Qj(65347)|0;VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ei(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}VR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);TR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Qj(65414)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Qj(65512)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((cM(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Qj(65524)|0;break}else if((h|0)==81){c[Aa>>2]=Qj(65557)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);cM(ma,c[F>>2]|0)|0;do{cM(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+((c[pa>>2]|0)==((c[H>>2]|0)-1|0)?0:2))|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Qj(65599)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=aK(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;bL(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(eK(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Qj(65673)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))dM(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);dM(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}ft(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=gr(c[_>>2]|0)|0;eK(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(cM(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))gK(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(SI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);ZL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=eM(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=fM(c[ka>>2]|0)|0;gM(c[ka>>2]|0,c[ha>>2]|0,Aa);aL(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=gr((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;eK(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;aL(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Fi(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;QB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;QB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function cM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=oM(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function dM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;hK(c[h>>2]|0,c[g>>2]|0);i=f;return}function eM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=iM(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;UR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=iM(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];UR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),UR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);kM(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=lM(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function fM(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=hM(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);TR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;TR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Qj(59617)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Qj(59623)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;VR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Qj(59647)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function gM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];TR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;TR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Wt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=dK(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function hM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function iM(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function jM(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(cM(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=mM(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){if(((c[u>>2]|0)-(c[n>>2]|0)|0)<(c[x>>2]|0)){h=7;break}c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));c[v>>2]=c[u>>2]}UR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function kM(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function lM(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=hM(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);TR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}TR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Qj(64716)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function mM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Qj(59680)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Qj(59691)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function nM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;j=y+20|0;k=y+16|0;l=y+32|0;m=y+30|0;u=y+28|0;r=y+26|0;p=y+35|0;w=y+34|0;t=y+24|0;s=y+12|0;q=y+8|0;o=y+4|0;v=y;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[w>>0]=0;b[t>>1]=b[m>>1]|0;c[s>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[q>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[o>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)VR((c[o>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[p>>0]=a[(c[k>>2]|0)+5>>0]|0;b[u>>1]=(d[p>>0]|0)+1;if((d[(c[o>>2]|0)+((e[u>>1]|0)+1)>>0]|0|0)==0?(d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0|0)==0:0)b[r>>1]=0;else x=6;do if((x|0)==6){while(1){x=0;f=((d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]|0))&65535;b[r>>1]=f;if((f&65535|0)>=(e[l>>1]|0|0))break;n=b[r>>1]|0;if((e[r>>1]|0|0)<((e[u>>1]|0)+4|0)){x=8;break}b[u>>1]=n;x=6}if((x|0)==8?(n&65535|0)!=0:0){c[j>>2]=Qj(59854)|0;x=c[j>>2]|0;i=y;return x|0}if((e[r>>1]|0)>>>0>(c[s>>2]|0)>>>0){c[j>>2]=Qj(59858)|0;x=c[j>>2]|0;i=y;return x|0}do if((e[r>>1]|0|0)!=0?((c[q>>2]|0)+3|0)>>>0>=(e[r>>1]|0)>>>0:0){a[w>>0]=(e[r>>1]|0)-(c[q>>2]|0);if((c[q>>2]|0)>>>0>(e[r>>1]|0)>>>0){c[j>>2]=Qj(59869)|0;x=c[j>>2]|0;i=y;return x|0}c[q>>2]=(e[r>>1]|0)+((d[(c[o>>2]|0)+((e[r>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[r>>1]|0)+2)+1>>0]|0));if((c[q>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[q>>2]|0)-(e[l>>1]|0);b[r>>1]=(d[(c[o>>2]|0)+(e[r>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[r>>1]|0)+1>>0]|0);break}c[j>>2]=Qj(59871)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[u>>1]|0|0)>((d[p>>0]|0)+1|0)?(c[v>>2]=(e[u>>1]|0)+((d[(c[o>>2]|0)+((e[u>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[u>>1]|0)+2)+1>>0]|0)),((c[v>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[v>>2]|0)<=(e[l>>1]|0|0)){a[w>>0]=(d[w>>0]|0)+((e[l>>1]|0)-(c[v>>2]|0));b[m>>1]=(c[q>>2]|0)-(e[u>>1]|0);b[l>>1]=b[u>>1]|0;break}c[j>>2]=Qj(59883)|0;x=c[j>>2]|0;i=y;return x|0}while(0);if((d[w>>0]|0|0)<=(d[(c[o>>2]|0)+((d[p>>0]|0)+7)>>0]|0|0)){x=(c[o>>2]|0)+((d[p>>0]|0)+7)|0;a[x>>0]=(d[x>>0]|0)-(d[w>>0]|0);break}c[j>>2]=Qj(59889)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[l>>1]|0|0)==((d[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]|0)|0)){if((e[u>>1]|0|0)==((d[p>>0]|0)+1|0)){a[(c[o>>2]|0)+((d[p>>0]|0)+1)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+1)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]=(c[q>>2]|0)>>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]=c[q>>2];break}c[j>>2]=Qj(59896)|0;x=c[j>>2]|0;i=y;return x|0}else{a[(c[o>>2]|0)+(e[u>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]=b[l>>1];a[(c[o>>2]|0)+(e[l>>1]|0)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+(e[l>>1]|0)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[o>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);x=(c[k>>2]|0)+16|0;b[x>>1]=(e[x>>1]|0)+(e[t>>1]|0);c[j>>2]=0;x=c[j>>2]|0;i=y;return x|0}function oM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function pM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Qj(59758)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=mM(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=fM(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function qM(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+76|0;k=E+72|0;l=E+68|0;j=E+64|0;m=E+60|0;r=E+56|0;x=E+52|0;s=E+48|0;p=E+44|0;D=E+40|0;A=E+36|0;u=E+32|0;C=E+28|0;w=E+24|0;v=E+20|0;t=E+16|0;y=E+12|0;q=E+8|0;o=E+4|0;z=E;n=E+80|0;c[k>>2]=b;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[u>>2]=0;c[C>>2]=0;c[t>>2]=c[(c[k>>2]|0)+52>>2];c[y>>2]=0;c[q>>2]=d[(c[k>>2]|0)+6>>0];f=c[j>>2]|0;if(a[(c[k>>2]|0)+2>>0]|0){c[r>>2]=(c[f+20>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);c[x>>2]=c[(c[j>>2]|0)+16>>2];c[s>>2]=c[(c[j>>2]|0)+20>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255);j=(c[j>>2]|0)+8|0;j=SI((c[l>>2]|0)+(c[q>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+j}else{h=c[f+8>>2]|0;c[r>>2]=h;c[s>>2]=h;c[x>>2]=c[c[j>>2]>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255)}if((c[r>>2]|0)<=(e[(c[k>>2]|0)+10>>1]|0)){o=(c[q>>2]|0)+(c[r>>2]|0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)<4?4:o;c[c[m>>2]>>2]=c[p>>2];c[A>>2]=c[r>>2];c[w>>2]=c[l>>2]}else{c[o>>2]=e[(c[k>>2]|0)+12>>1];c[p>>2]=(c[o>>2]|0)+((((c[r>>2]|0)-(c[o>>2]|0)|0)>>>0)%(((c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[p>>2]|0)>(e[(c[k>>2]|0)+10>>1]|0))c[p>>2]=c[o>>2];c[A>>2]=c[p>>2];c[c[m>>2]>>2]=(c[p>>2]|0)+(c[q>>2]|0)+4;c[w>>2]=(c[l>>2]|0)+((c[q>>2]|0)+(c[p>>2]|0))}c[v>>2]=(c[l>>2]|0)+(c[q>>2]|0);while(1){if((c[r>>2]|0)<=0){f=35;break}if(!(c[A>>2]|0)){c[z>>2]=c[y>>2];if(a[(c[t>>2]|0)+17>>0]|0)while(1){c[y>>2]=(c[y>>2]|0)+1;q=VF(c[t>>2]|0,c[y>>2]|0)|0;if((q|0)==(c[y>>2]|0))continue;if((c[y>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[D>>2]=aK(c[t>>2]|0,u,y,c[y>>2]|0,0)|0;if(((c[D>>2]|0)==0?(d[(c[t>>2]|0)+17>>0]|0)!=0:0)?(a[n>>0]=(c[z>>2]|0)!=0?4:3,eK(c[t>>2]|0,c[y>>2]|0,a[n>>0]|0,c[z>>2]|0,D),(c[D>>2]|0)!=0):0)QB(c[u>>2]|0);if(c[D>>2]|0){f=25;break}ft(c[w>>2]|0,c[y>>2]|0);QB(c[C>>2]|0);c[C>>2]=c[u>>2];c[w>>2]=c[(c[u>>2]|0)+56>>2];ft(c[w>>2]|0,0);c[v>>2]=(c[(c[u>>2]|0)+56>>2]|0)+4;c[A>>2]=(c[(c[t>>2]|0)+36>>2]|0)-4}c[p>>2]=c[r>>2];if((c[p>>2]|0)>(c[A>>2]|0))c[p>>2]=c[A>>2];if((c[s>>2]|0)>0){if((c[p>>2]|0)>(c[s>>2]|0))c[p>>2]=c[s>>2];TR(c[v>>2]|0,c[x>>2]|0,c[p>>2]|0)|0}else VR(c[v>>2]|0,0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[p>>2]|0);c[x>>2]=(c[x>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)-(c[p>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[p>>2]|0)}if((f|0)==25){QB(c[C>>2]|0);c[B>>2]=c[D>>2];D=c[B>>2]|0;i=E;return D|0}else if((f|0)==35){QB(c[C>>2]|0);c[B>>2]=0;D=c[B>>2]|0;i=E;return D|0}return 0}function rM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}xJ(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function sM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){_J(f);rg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(VF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=aK(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=XH(c[n>>2]|0,0,0)|0;QB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=WF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Qj(66598)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=bK(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;QB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];eK(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bg(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=aK(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;bL(c[p>>2]|0,c[s>>2]|0);yg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function tM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(uM(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(JF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function uM(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Yi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function vM(){return 200}function wM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function xM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=yM(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function yM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}VR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=kj(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(Br(c[d>>2]|0)|0)zM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function zM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function AM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Gg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=41796;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));bL(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;ft((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);ft((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function BM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=SR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function CM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=Nx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=cI(e,j,f,g)|0;else c[o>>2]=Qh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Xg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function DM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function EM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=OF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Qj(73491)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function FM(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[g>>2]|0)+12>>2];c[k>>2]=c[(c[h>>2]|0)+12>>2];b=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0|(e[(c[h>>2]|0)+8>>1]|0))&16384)){c[d>>2]=eR(c[b+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,(c[j>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[j>>2]|0)|0;if(c[d>>2]|0){c[f>>2]=c[d>>2];k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=(c[j>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}}a=c[g>>2]|0;if((e[b+8>>1]|0)&(e[(c[h>>2]|0)+8>>1]|0)&16384){c[f>>2]=(c[a>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}if((e[a+8>>1]|0)&16384)if(hG(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[c[g>>2]>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=-1;k=c[f>>2]|0;i=l;return k|0}else if(hG(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[j>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=1;k=c[f>>2]|0;i=l;return k|0}return 0}function GM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(ez(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function HM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function IM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;ih(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function JM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+184>>2]|0){c[b>>2]=c[(c[d>>2]|0)+184>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}zI(a)|0;c[(c[d>>2]|0)+184>>2]=0;c[(c[d>>2]|0)+192>>2]=0}PM(c[d>>2]|0);if(c[(c[d>>2]|0)+92>>2]|0)OC(c[(c[d>>2]|0)+92>>2]|0,c[(c[d>>2]|0)+24>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+188>>2]|0))break;c[e>>2]=c[a+188>>2];c[(c[d>>2]|0)+188>>2]=c[(c[e>>2]|0)+4>>2];QM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}LI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return}function KM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=LM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(fi(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[41812+(tg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=Ct(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+204>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+204>>2]&255](c[(c[f>>2]|0)+200>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Ng(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Mg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))MM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Gh(J,41818,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,41848,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,41863,A)|0;c[w>>2]=Yr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,41834,B);xr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=yL(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((fi(c[q>>2]|0)|0)!=0?(c[E>>2]=NM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Ig(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=RR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==((bs(c[t>>2]|0)|0)&1024|0)?(J=vr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Ng(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}WK(c[t>>2]|0);if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=xr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Yj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Mg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Zj();MM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function LM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;mJ(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function MM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,64);i=b;return 0}function NM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=OM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function OM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function PM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+112>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){eJ(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function QM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;eJ(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}OC(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);LI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function RM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[5588+(c[b>>2]<<2)>>2]|0}function SM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;r=L;j=L+184|0;k=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;o=L+124|0;p=L+120|0;G=L+116|0;q=L+112|0;m=L+108|0;l=L+104|0;n=L+100|0;c[j>>2]=b;c[k>>2]=f;c[M>>2]=g;c[K>>2]=c[k>>2];dg(J,0,c[k>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[D>>2]|0)+6>>1];rA(J,41915,r);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)j=c[c[C>>2]>>2]|0;else j=18402;c[F>>2]=j;M=(hR(c[F>>2]|0,34834)|0)==0;c[F>>2]=M?41920:j;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?28264:18402;c[E+4>>2]=M;rA(J,41922,E);c[B>>2]=(c[B>>2]|0)+1}sA(J,34706,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[z>>2]=c[c[o>>2]>>2];rA(J,41928,z);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];M=a[c[p>>2]>>0]|0;c[A>>2]=c[(c[p>>2]|0)+20>>2];c[A+4>>2]=M;rA(J,41936,A);break}case -13:{H=c[(c[j>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;rA(J,28266,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];rA(J,41943,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];rA(J,41946,u);break}case -8:{c[G>>2]=c[(c[j>>2]|0)+16>>2];j=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[j+16>>2];break a}k=c[G>>2]|0;if(e[j+8>>1]&4){G=k;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;rA(J,28266,H);break a}j=c[G>>2]|0;if(e[k+8>>1]&8){h[I>>3]=+h[j>>3];rA(J,41946,I);break a}if(e[j+8>>1]&1){c[K>>2]=39691;break a}else{c[K>>2]=41952;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];rA(J,41959,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];rA(J,41967,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;sA(J,41971,1);break}case -18:{rA(J,41973,x);break}case -19:{a[c[k>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[j>>2]|0)+16>>2]>>2];rA(J,18391,y);break}default:{c[K>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(J)|0;i=L;return c[K>>2]|0}function TM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;ih(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function UM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=bh(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;UR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function VM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(WM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function WM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))iu(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(bh(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}GI(c[j>>2]|0)|0}else Mx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function XM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)mG(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function YM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+104>>2]=0;i=b;return}function ZM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pi(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function _M(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function $M(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+160>>2]|0)>1:0){aN(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(bN(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;RB(c[f>>2]|0);i=g;return}function aN(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return} +function Tm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=QR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=aS(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Tm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Tm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;VR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}VR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=QR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=aS(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Vm(c[h>>2]|0);u=Wm(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Um(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=_l(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}dm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=_l(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=aS(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Vm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Wm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Xm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){am(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Ym(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Xm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Zm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;TR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=$m(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Ym(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=_l(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=QR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=RR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];dm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Zm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Wl(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Wl(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Tl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Ul(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Xl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function _m(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Ym(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Zm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function $m(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Zl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Zl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Kl(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}an(y,t);j=t;j=QR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=RR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=RR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;bn(x,v,h,C);h=v;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;an(y,t);h=t;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Zl(0,y);Zl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}dm(0,z);dm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function an(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=_l(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=RR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Kl(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function cn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function dn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=fn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=en(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function en(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=hm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(im(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Vl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Tl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=gn(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=hn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function gn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=ul(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=vl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=mn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=nn(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function hn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=jn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];kn(x,c[z>>2]|0,0,r);kn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=QR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=aS(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){dm(0,x);kn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{dm(0,y);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;ln(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!($m(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}kn(x,c[z>>2]|0,c[j>>2]|0,r);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=_l(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=QR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=RR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function ln(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Kl(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function mn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=pn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function nn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=pn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function on(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Bl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function pn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];kn(u,c[w>>2]|0,0,p);kn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=QR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=aS(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);qn(t,u,v);kn(u,c[w>>2]|0,c[k>>2]|0,p);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,v);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,u);kn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function qn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Zl(q,r);continue}else{f=rn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Zl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);an(r,k);an(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;bn(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=QR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){sn(r,k);break}else{sn(s,l);break}}else{sn(r,k);sn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Kl((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){an(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=QR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Fn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Le(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(te(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Yd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)qe(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function un(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=De(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Ee(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=Cn(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(eR(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Dn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=En((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function vn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(xn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Vm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Vm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Vm(c[k>>2]|0);f=yn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function wn(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;kl(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function xn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=An(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=An(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function yn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=zn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];$m(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if($m(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=_l(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];TR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=Bn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;VR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function Bn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;$m(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];$m(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){qn(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){dm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){dm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function Cn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Dn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=QR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=En(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=En(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=En(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=RR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=QR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=En(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function En(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Kl((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23241,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Hn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=In(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}VR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Sm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Yd(c[(c[h>>2]|0)+8>>2]|0)|0;Tm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Om(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Jn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Sm(c[h>>2]|0,c[o>>2]|0,q);do{Tm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Jn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=$l(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Jn(c[(c[f>>2]|0)+12>>2]|0);Jn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function Kn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Rm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=$l(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=_l(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=QR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=te(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(Ge(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Yd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Ke(c[e>>2]|0,1,0)|0;if((te(c[e>>2]|0)|0)==100?(Ge(c[e>>2]|0,0)|0)==4:0)break;h=Yd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function Qn(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23369,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Tn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,23397,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,23384,0,0,0)|0;break}c[e>>2]=$e(a,23384,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);ym(c[b>>2]|0);i=f;return c[d>>2]|0}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Ke(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Ke(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(te(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=Ce(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ol(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Yd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}ym(c[d>>2]|0);jl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Un(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){me(c[e>>2]|0,18402,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Jm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Nm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Ee(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Ae(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((Ge(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=Cn(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Wn(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,23414,y)|0;c[A>>2]=Xn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);ym(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){qe(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{me(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Qm(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Wn(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Wn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=$l(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Xn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=kR(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);TR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Yn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){me(c[j>>2]|0,18402,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Zn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=_n(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);ym(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){qe(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{me(g,c[F>>2]|0,-1,148);i=G;return}}function Zn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Jm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}VR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Nm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=WR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!((bo(B)|0)!=0^1))break;g=o;co(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function _n(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Ee(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((Ge(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Ae(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=Cn(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=$n(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Xn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=WR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function $n(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=Cn(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=SR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Qm(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Wn(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function bo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);eo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function co(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=WR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=WR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Wn(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function eo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Wn(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=pl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(te(c[f>>2]|0)|0))c[e>>2]=Ce(c[f>>2]|0,0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function go(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=ho(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=pl(c[g>>2]|0,28,y,0)|0;Ke(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((te(c[y>>2]|0)|0)==100){a=De(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=Ce(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Yd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=io(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=$R(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=$R(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;VR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=RR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=ko(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=ul(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=vl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=mo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=oo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=vl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=po(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;qo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}ro(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;zl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}Bl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=so(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=pl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Ke(c[g>>2]|0,1,1)|0;if((100==(te(c[g>>2]|0)|0)?(c[e>>2]=ze(c[g>>2]|0,0)|0,c[f>>2]=Ae(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(to(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){TR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Yd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function io(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=_l((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=$l(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Le(e,1,l,C)|0;te(c[h>>2]|0)|0;l=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=pl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Le(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=_R(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=RR(m|0,C|0,1,0)|0;m=aS(m|0,C|0,1024,0)|0;Le(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(te(c[j>>2]|0)|0)){m=(Ge(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Yd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{VR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=pl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Le(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((te(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=De(c[n>>2]|0,1)|0;d=C;e=De(c[n>>2]|0,2)|0;a=C;f=De(c[n>>2]|0,3)|0;g=C;h=ze(c[n>>2]|0,4)|0;m=Ae(c[n>>2]|0,4)|0;c[o>>2]=om(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Yd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function mo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=pl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Le(d,1,g,C)|0;Ke(c[G>>2]|0,2,c[l>>2]|0)|0;g=(te(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Yd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=De(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=De(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;El(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=aS(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Ae(c[G>>2]|0,4)|0;c[v>>2]=ze(c[G>>2]|0,4)|0;g=q;c[H>>2]=Fo(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=gm(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=yo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Co(u)|0}if((zo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Do(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=RR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=yo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Co(J)|0}to((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(TR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=gm(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Do(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Yd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function no(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=pl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Le(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Le(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(te(c[r>>2]|0)|0))c[p>>2]=Ce(c[r>>2]|0,0)|0;c[s>>2]=Yd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=pl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(te(c[q>>2]|0)|0)){r=De(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=QR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=RR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Yd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Fl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=RR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function oo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Ml(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Jl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Fl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Eo(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=RR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;to((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=Bo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Ll(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=vo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=wo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function qo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;to(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function ro(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;to(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Kl((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Fl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Hl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Ke(c[e>>2]|0,1,1)|0;Ie(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;te(c[e>>2]|0)|0;c[f>>2]=Yd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ke(c[h>>2]|0,2,c[g>>2]|0)|0;te(c[h>>2]|0)|0;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=pl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Le(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(te(c[x>>2]|0)|0)){c[o>>2]=ze(c[x>>2]|0,4)|0;c[u>>2]=Ae(c[x>>2]|0,4)|0;a=De(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=xo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Yd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=gm(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=xo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Fl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=pl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Le(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Le(z,2,f,C)|0;te(c[w>>2]|0)|0;c[y>>2]=Yd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=pl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Le(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ie(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Le(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[v>>2]|0,4,c[k>>2]|0)|0;te(c[v>>2]|0)|0;c[y>>2]=Yd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=pl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Le(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(te(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=Ce(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Yd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=pl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Le(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Ke(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Ke(c[o>>2]|0,1,c[k>>2]|0)|0;te(c[o>>2]|0)|0;c[p>>2]=Yd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function xo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;to(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=yo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=zo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=Bo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Co(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Do(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function yo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(_l((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}return 0}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=eR(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function Ao(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Kl((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function Bo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;to(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Ml(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Co(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;to((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}TR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Do(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Ml(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Jl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Jl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Fl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Kl(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(to(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Kl((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}to(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);to((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;TR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);TR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Le(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(te(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Yd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Go(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(ee(c[c[h>>2]>>2]|0)|0)==5:0)?(ee(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Ho(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);VR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Io(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((ee(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((ee(c[r>>2]|0)|0)!=5){if((ee(c[c[h>>2]>>2]|0)|0)!=5?(f=de(c[c[h>>2]>>2]|0)|0,u=C,b=de(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Jo(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Ko(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((ee(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Jo(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Ko(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Lo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Mo(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)No(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}Oo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=$d(c[l>>2]|0)|0;c[f>>2]=ae(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,20512,8)|0):0)c[g>>2]=Tn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,23495,7)|0):0){c[g>>2]=Yo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,23503,15)|0):0){c[g>>2]=Zo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,23519,6)|0):0){c[g>>2]=_o(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,23526,10)|0):0){c[g>>2]=$o(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Io(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=pl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Me(c[d>>2]|0,1)|0;te(c[d>>2]|0)|0;c[e>>2]=Yd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Jo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;To(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=Uo(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=Vo(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;VR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Wo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Wo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((ee(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((ee(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=de(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=pl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Ke(d,k,ce(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(ee(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Oe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}te(c[j>>2]|0)|0;c[l>>2]=Yd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=ml(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Mo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=$d(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Ro(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Qo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=pl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Le(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;te(c[k>>2]|0)|0;l=Yd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=pl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Ke(c[r>>2]|0,1,0)|0;if((te(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=ze(c[r>>2]|0,0)|0;Po(f,b,a,Ae(c[r>>2]|0,0)|0)}else VR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Yd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Qo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=pl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Ke(c[r>>2]|0,1,0)|0;Ie(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;te(c[r>>2]|0)|0;t=Yd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function Po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=_l((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Kl((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Ro(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=Cn(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ek(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Dn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(lk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function To(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=pl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(te(h)|0)){c[q>>2]=Xo(c[k>>2]|0,c[r>>2]|0)|0;e=De(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Lo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Ee(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Ro(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Ae(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Yd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Yd(c[r>>2]|0)|0}else Yd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function Uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=pl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(te(c[h>>2]|0)|0)){d=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Yd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function Vo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;jl(c[e>>2]|0);if(c[h>>2]|0)Wo(f,c[e>>2]|0,2,0);Wo(f,c[e>>2]|0,3,0);Wo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Wo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Wo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=pl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=Ce(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Yo(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=Vo(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(23614,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{VR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(te(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Xo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=De(c[p>>2]|0,0)|0;c[q>>2]=Lo(b,0,f,g,C)|0;VR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Ee(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Ro(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Ae(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)No(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Xd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Oo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Xd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Zo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=cp(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function _o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=ap(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=ap(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))bp(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=go(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;ym(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=ap(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(bp(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=pl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Ke(c[g>>2]|0,1,2)|0;Ke(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;te(c[g>>2]|0)|0;c[h>>2]=Yd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function ap(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function bp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;nl(d,b,23537,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function cp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=pl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Ke(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Ke(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(te(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=Ce(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=dp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Yd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(23614,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(te(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=De(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Xo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Ee(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Ae(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=Cn(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Xd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=ul(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=vl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=QR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=RR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=ep(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=_l(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=_l(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=RR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function ep(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=WR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=RR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function fp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Yd(c[(c[e>>2]|0)+8>>2]|0)|0;Tm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Om(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function gp(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Gp(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=de(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function ip(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=up(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=vp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=wp(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}gp(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Fk(z,23723,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Fk(z,23775,r);z=c[p>>2]|0;i=s;return z|0}function jp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;kp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];lp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=mp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=mp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);np(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function kp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);kp(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);kp(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=sp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function lp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=rp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=op(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=pp(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;on(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=gn(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=hn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=qp(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function np(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){np(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);np(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=dn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Pn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=ze(c[m>>2]|0,0)|0;b=Ae(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=_l(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=_l(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Yd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=_R(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=RR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=_R(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Yd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);dm(0,j)}j=c[h>>2]|0;i=k;return j|0}function rp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=gm(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function sp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=tp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function tp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=jm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function up(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=kR(c[s>>2]|0)|0;c[w>>2]=xp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=vp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=vp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){gp(c[e>>2]|0);gp(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else VR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=vp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){gp(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;gp(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}gp(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=wp(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=wp(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function xp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=yp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=zp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;Ap(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else Ap(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){gp(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}gp(c[v>>2]|0);gp(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function yp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Cp(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2112+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(eR(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Cp(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=zp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Dp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=xp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=kR(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Ep(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function zp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function Ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=Bp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(Bp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function Bp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Cp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Dp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=Cn(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Fp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Fp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;TR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Fp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;VR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){TR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Ep(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=Cn(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=zp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;TR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Gp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Hp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Vm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;on(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Ip(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];kl(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Kp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return}function Lp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(kR(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(kR(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){VR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)VR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(kR(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24006,8)|0):0)?0==(Mp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Np(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Op(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2144;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Fk(ia,24015,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,20521,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Fk(ia,24042,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((kR(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24069,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24073,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Fk(ia,24078,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(kR(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Pp(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24101;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Np(c[S>>2]|0,20447,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Qp(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Fk(ia,24109,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}VR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);TR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;kk((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Rp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;TR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Ok(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=kR(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(kR(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Fk(ia,24144,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24163:24172;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Fk(ia,24183,V)}ia=Sp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Tp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Up(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Vp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Wp(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Sk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Mp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[24865+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Np(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(18391,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=kR(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Rp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ek(z,A,(kR(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Rp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Fk(c[k>>2]|0,24847,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Fk(A,20595,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(18391,k)|0;if(c[m>>2]|0)Ok(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Pp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(24792,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Fk(D,18391,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=xe(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;D=(kR(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(kR(c[y>>2]|0)|0)+1;TR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Xd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Qp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}VR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Zp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0} +function SE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;l=oa+228|0;m=oa+224|0;n=oa+220|0;j=oa+216|0;ha=oa+212|0;V=oa+208|0;P=oa+204|0;la=oa+40|0;ia=oa+32|0;t=oa+24|0;fa=oa+200|0;I=oa+196|0;K=oa+192|0;L=oa+188|0;ba=oa+184|0;q=oa+180|0;s=oa+240|0;k=oa+16|0;z=oa+176|0;y=oa+172|0;Q=oa+168|0;ca=oa+164|0;M=oa+236|0;W=oa+160|0;O=oa+156|0;r=oa+234|0;A=oa+152|0;U=oa+148|0;u=oa+144|0;Y=oa+140|0;B=oa+136|0;S=oa+132|0;ga=oa+128|0;Z=oa+124|0;_=oa+120|0;E=oa+116|0;G=oa+112|0;na=oa+108|0;ma=oa+232|0;x=oa+104|0;o=oa+239|0;p=oa+238|0;N=oa+100|0;H=oa+96|0;ea=oa+92|0;T=oa+88|0;aa=oa+84|0;ja=oa+8|0;ka=oa;$=oa+80|0;J=oa+76|0;v=oa+72|0;D=oa+68|0;X=oa+64|0;R=oa+60|0;da=oa+56|0;w=oa+52|0;F=oa+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[fa>>2]=0;c[I>>2]=0;c[K>>2]=0;c[ba>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[ba>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=oa;return}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[V>>2]=(c[j>>2]|0)+488;c[P>>2]=c[c[ha>>2]>>2];g=lE(c[V>>2]|0,c[(c[P>>2]|0)+12>>2]|0)|0;j=la;c[j>>2]=g;c[j+4>>2]=C;c[L>>2]=d[c[P>>2]>>0];do if((c[L>>2]|0)==33){if(lB(c[ba>>2]|0,c[P>>2]|0)|0){i=oa;return}h=c[V>>2]|0;f=(c[P>>2]|0)+20|0;if(c[(c[P>>2]|0)+4>>2]&2048){g=mE(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=KD(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[L>>2]|0)==34){j=(c[ha>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=lE(c[V>>2]|0,c[(c[P>>2]|0)+16>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=lE(c[V>>2]|0,c[P>>2]|0)|0;j=ia;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[P>>2]|0)+4>>2]&1){h=OD(c[V>>2]|0,b[(c[P>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=ia;g=c[h+4>>2]|c[f+4>>2];j=ia;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=ia;h=c[j+4>>2]|0;k=(c[ha>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[ha>>2]|0)+20>>2]=-1;c[(c[ha>>2]|0)+16>>2]=-1;b[(c[ha>>2]|0)+12>>1]=0;k=(TE(c[L>>2]|0)|0)!=0;h=c[P>>2]|0;a:do if(k){c[Q>>2]=ky(c[h+12>>2]|0)|0;c[ca>>2]=ky(c[(c[P>>2]|0)+16>>2]|0)|0;U=(c[ha>>2]|0)+32|0;Y=la;b[M>>1]=((c[U>>2]&c[Y>>2]|0)==0?(c[U+4>>2]&c[Y+4>>2]|0)==0:0)?8191:2048;if((c[(c[ha>>2]|0)+24>>2]|0)>0)c[Q>>2]=c[(c[(c[(c[Q>>2]|0)+20>>2]|0)+4>>2]|0)+(((c[(c[ha>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];Y=la;if(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[Q>>2]|0,z,y)|0){c[(c[ha>>2]|0)+20>>2]=c[z>>2];c[(c[ha>>2]|0)+28>>2]=c[y>>2];Y=(VE(c[L>>2]|0)|0)&65535;b[(c[ha>>2]|0)+12>>1]=Y&e[M>>1]}if((c[L>>2]|0)==29){Y=(c[ha>>2]|0)+10|0;b[Y>>1]=e[Y>>1]|2048}if((c[ca>>2]|0)!=0?(Y=(c[ha>>2]|0)+32|0,(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[ca>>2]|0,z,y)|0)!=0):0){b[r>>1]=0;if((c[(c[ha>>2]|0)+20>>2]|0)>=0){c[O>>2]=Iy(c[q>>2]|0,c[P>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){iv(c[q>>2]|0,c[O>>2]|0);i=oa;return}c[A>>2]=WE(c[m>>2]|0,c[O>>2]|0,3)|0;if(!(c[A>>2]|0)){i=oa;return}c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[A>>2]|0)*48|0);XE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);if((c[L>>2]|0)==29){ca=(c[W>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|2048}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);ca=(c[ha>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|8;if(YE(c[ba>>2]|0,c[O>>2]|0)|0){ca=(c[ha>>2]|0)+12|0;b[ca>>1]=e[ca>>1]|2048;b[r>>1]=2048}}else{c[O>>2]=c[P>>2];c[W>>2]=c[ha>>2]}ZE(c[ba>>2]|0,c[O>>2]|0);c[(c[W>>2]|0)+20>>2]=c[z>>2];c[(c[W>>2]|0)+28>>2]=c[y>>2];U=la;Y=t;la=c[U+4>>2]|c[Y+4>>2];ca=(c[W>>2]|0)+32|0;c[ca>>2]=c[U>>2]|c[Y>>2];c[ca+4>>2]=la;ca=ia;ia=c[ca+4>>2]|0;la=(c[W>>2]|0)+40|0;c[la>>2]=c[ca>>2];c[la+4>>2]=ia;la=(VE(d[c[O>>2]>>0]|0)|0)&65535;b[(c[W>>2]|0)+12>>1]=la+(e[r>>1]|0)&e[M>>1]}}else{if((d[h>>0]|0)==32?(d[(c[m>>2]|0)+8>>0]|0)==28:0){c[U>>2]=c[(c[P>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;ca=c[ba>>2]|0;ia=d[34832+(c[u>>2]|0)>>0]|0;la=Iy(c[q>>2]|0,c[(c[P>>2]|0)+12>>2]|0,0)|0;c[Y>>2]=Ev(ca,ia,la,Iy(c[q>>2]|0,c[(c[(c[U>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;_E(c[Y>>2]|0,c[P>>2]|0);c[B>>2]=WE(c[m>>2]|0,c[Y>>2]|0,3)|0;SE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);XE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[P>>2]>>0]|0)==27){$E(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==28?(aF(c[ba>>2]|0,c[P>>2]|0,fa,I,K)|0)!=0:0){b[ma>>1]=259;c[S>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[ga>>2]=Iy(c[q>>2]|0,c[fa>>2]|0,0)|0;b:do if((c[K>>2]|0)!=0?(a[(c[c[ba>>2]>>2]|0)+69>>0]|0)==0:0){ma=(c[ha>>2]|0)+10|0;b[ma>>1]=e[ma>>1]|1024;c[x>>2]=0;while(1){ma=a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]|0;a[o>>0]=ma;if(!(ma<<24>>24))break b;a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[o>>0]&~(d[18403+(d[o>>0]|0)>>0]&32);a[(c[(c[ga>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[17613+(d[o>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ma=(Jf(c[(c[ga>>2]|0)+8>>2]|0)|0)-1|0;c[N>>2]=(c[(c[ga>>2]|0)+8>>2]|0)+ma;a[p>>0]=a[c[N>>2]>>0]|0;if(c[K>>2]|0){if((d[p>>0]|0)==64)c[I>>2]=0;a[p>>0]=a[17613+(d[p>>0]|0)>>0]|0}a[c[N>>2]>>0]=(d[p>>0]|0)+1}c[na>>2]=(c[K>>2]|0)!=0?20429:34834;c[Z>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;la=c[ba>>2]|0;ma=Wy(c[ba>>2]|0,c[Z>>2]|0,c[na>>2]|0)|0;c[Z>>2]=Ev(la,41,ma,c[fa>>2]|0,0)|0;_E(c[Z>>2]|0,c[P>>2]|0);c[E>>2]=WE(c[m>>2]|0,c[Z>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[E>>2]|0);c[_>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;ma=c[ba>>2]|0;na=Wy(c[ba>>2]|0,c[_>>2]|0,c[na>>2]|0)|0;c[_>>2]=Ev(ma,40,na,c[ga>>2]|0,0)|0;_E(c[_>>2]|0,c[P>>2]|0);c[G>>2]=WE(c[m>>2]|0,c[_>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[G>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[I>>2]|0){XE(c[m>>2]|0,c[E>>2]|0,c[n>>2]|0);XE(c[m>>2]|0,c[G>>2]|0,c[n>>2]|0)}}if(((d[(c[m>>2]|0)+8>>0]|0)==28?(bF(c[P>>2]|0,s)|0)!=0:0)?(c[ea>>2]=c[c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]>>2],c[T>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ma=lE(c[V>>2]|0,c[ea>>2]|0)|0,na=ka,c[na>>2]=ma,c[na+4>>2]=C,na=lE(c[V>>2]|0,c[T>>2]|0)|0,ma=ja,c[ma>>2]=na,c[ma+4>>2]=C,ma=ka,na=ja,(c[ma>>2]&c[na>>2]|0)==0?(c[ma+4>>2]&c[na+4>>2]|0)==0:0):0){na=c[ba>>2]|0;c[$>>2]=Ev(na,30,0,Iy(c[q>>2]|0,c[ea>>2]|0,0)|0,0)|0;c[H>>2]=WE(c[m>>2]|0,c[$>>2]|0,3)|0;c[aa>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[H>>2]|0)*48|0);na=ka;ma=c[na+4>>2]|0;la=(c[aa>>2]|0)+32|0;c[la>>2]=c[na>>2];c[la+4>>2]=ma;c[(c[aa>>2]|0)+20>>2]=c[(c[T>>2]|0)+28>>2];c[(c[aa>>2]|0)+28>>2]=b[(c[T>>2]|0)+32>>1];b[(c[aa>>2]|0)+12>>1]=64;a[(c[aa>>2]|0)+15>>0]=a[s>>0]|0;XE(c[m>>2]|0,c[H>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);la=(c[ha>>2]|0)+10|0;b[la>>1]=e[la>>1]|8;la=(c[ha>>2]|0)+40|0;ma=c[la+4>>2]|0;na=(c[aa>>2]|0)+40|0;c[na>>2]=c[la>>2];c[na+4>>2]=ma}do if((d[(c[m>>2]|0)+8>>0]|0)==28){if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0)break;if(XA(c[(c[P>>2]|0)+12>>2]|0)|0){if((c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]&2048|0)!=0?(c[(c[(c[P>>2]|0)+16>>2]|0)+4>>2]&2048|0)!=0:0)break;c[J>>2]=cz(c[(c[P>>2]|0)+12>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[J>>2]|0))break;c[R>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+12>>2]|0,c[v>>2]|0)|0;c[da>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[v>>2]|0)|0;c[X>>2]=Ev(c[ba>>2]|0,d[c[P>>2]>>0]|0,c[R>>2]|0,c[da>>2]|0,0)|0;_E(c[X>>2]|0,c[P>>2]|0);c[D>>2]=WE(c[m>>2]|0,c[X>>2]|0,1)|0;SE(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);b[(c[ha>>2]|0)+10>>1]=6;b[(c[ha>>2]|0)+12>>1]=0}}while(0);c:do if(((((d[(c[m>>2]|0)+8>>0]|0)==28?(d[c[P>>2]>>0]|0)==33:0)?(c[(c[ha>>2]|0)+24>>2]|0)==0:0)?(d[c[(c[P>>2]|0)+12>>2]>>0]|0)==158:0)?(c[(c[(c[P>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){c[w>>2]=0;while(1){na=c[w>>2]|0;if((na|0)>=(cz(c[(c[P>>2]|0)+12>>2]|0)|0))break c;c[F>>2]=WE(c[m>>2]|0,c[P>>2]|0,2)|0;c[(c[(c[m>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0)+24>>2]=(c[w>>2]|0)+1;SE(c[l>>2]|0,c[m>>2]|0,c[F>>2]|0);XE(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0);c[w>>2]=(c[w>>2]|0)+1}}while(0);la=t;na=(c[ha>>2]|0)+32|0;ka=na;ma=c[ka+4>>2]|c[la+4>>2];c[na>>2]=c[ka>>2]|c[la>>2];c[na+4>>2]=ma;i=oa;return}function TE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)b=(c[b>>2]|0)==29;else b=1;i=d;return b&1|0}function UE(a,f,g,h,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;r=v+40|0;m=v+36|0;w=v+32|0;n=v;o=v+28|0;s=v+24|0;t=v+20|0;q=v+16|0;p=v+12|0;u=v+8|0;c[m>>2]=a;c[w>>2]=f;a=n;c[a>>2]=g;c[a+4>>2]=h;c[o>>2]=j;c[s>>2]=k;c[t>>2]=l;if(((c[w>>2]|0)>=38?(d[c[o>>2]>>0]|0)==158:0)&(c[w>>2]|0)<=41)c[o>>2]=c[c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]>>2];if((d[c[o>>2]>>0]|0)==152){c[c[s>>2]>>2]=c[(c[o>>2]|0)+28>>2];c[c[t>>2]>>2]=b[(c[o>>2]|0)+32>>1];c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}w=n;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}w=n;l=c[w>>2]|0;w=c[w+4>>2]|0;k=n;k=QR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((l&k|0)!=0|(w&C|0)!=0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}c[p>>2]=0;while(1){w=n;k=c[w+4>>2]|0;g=c[p>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[w>>2]|0)>>>0>1))break;c[p>>2]=g+1;k=n;k=SR(c[k>>2]|0,c[k+4>>2]|0,1)|0;w=n;c[w>>2]=k;c[w+4>>2]=C}c[u>>2]=c[(c[m>>2]|0)+8+(g*72|0)+44>>2];c[q>>2]=c[(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0)){g=22;break}b:do if(c[(c[q>>2]|0)+40>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[q>>2]|0)+50>>1]|0))break b;if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)==-2?(Ky(c[o>>2]|0,c[(c[(c[(c[q>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,c[u>>2]|0)|0)==0:0){g=19;break a}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((g|0)==19){c[c[s>>2]>>2]=c[u>>2];c[c[t>>2]>>2]=-2;c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}else if((g|0)==22){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}return 0}function VE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function WE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p+24|0;g=p+20|0;h=p+16|0;j=p+28|0;m=p+12|0;o=p+8|0;l=p+4|0;k=p;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;do if((c[(c[g>>2]|0)+12>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=c[c[c[c[g>>2]>>2]>>2]>>2];f=Vw(c[k>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[g>>2]|0)+20>>2]=f;if(c[(c[g>>2]|0)+20>>2]|0){TR(c[(c[g>>2]|0)+20>>2]|0,c[l>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)*48|0)|0;if((c[l>>2]|0)!=((c[g>>2]|0)+24|0))Tf(c[k>>2]|0,c[l>>2]|0);f=((ku(c[k>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[g>>2]|0)+16>>2]=f;break}if((e[j>>1]|0)&1)iv(c[k>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+20>>2]=c[l>>2];c[n>>2]=0;o=c[n>>2]|0;i=p;return o|0}while(0);a=(c[g>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[o>>2]=f;c[m>>2]=(c[(c[g>>2]|0)+20>>2]|0)+(f*48|0);if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[h>>2]|0)+28>>2]|0;f=((Mj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[m>>2]|0)+8>>1]=f}else b[(c[m>>2]|0)+8>>1]=1;h=ky(c[h>>2]|0)|0;c[c[m>>2]>>2]=h;b[(c[m>>2]|0)+10>>1]=b[j>>1]|0;c[(c[m>>2]|0)+4>>2]=c[g>>2];c[(c[m>>2]|0)+16>>2]=-1;g=(c[m>>2]|0)+12|0;h=g+36|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(h|0));c[n>>2]=c[o>>2];o=c[n>>2]|0;i=p;return o|0}function XE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+8>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+8>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+14|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function YE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=37?(d[c[k>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=ey(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=ey(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=sB(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,34834)|0)!=0:0){c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(Td(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function ZE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(fy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<38){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-38^2)+38;i=m;return}function _E(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function $E(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=sh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+28>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+10|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];VR((c[Q>>2]|0)+24|0,0,384)|0;BD(c[Q>>2]|0,c[T>>2]|0);CD(c[Q>>2]|0,c[L>>2]|0,27);FD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+12>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Vw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+28>>2]=c[p>>2];g=(c[P>>2]|0)+10|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+12>>1]=1024;c[r>>2]=c[p>>2];VR((c[r>>2]|0)+24|0,0,384)|0;BD(c[r>>2]|0,c[c[x>>2]>>2]|0);CD(c[r>>2]|0,c[c[P>>2]>>2]|0,28);FD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(!((TE(d[c[c[q>>2]>>2]>>0]|0)|0)==0?(e[(c[q>>2]|0)+12>>1]|0)!=64:0)){h=OD((c[T>>2]|0)+488|0,c[(c[q>>2]|0)+20>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+10>>1]&8)){g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+10>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+16>>2]|0)*48|0);f=OD((c[T>>2]|0)+488|0,c[(c[u>>2]|0)+20>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+12>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+12>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=hF(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=hF(g,W)|0;c[v>>2]=W;if(!W)continue c;iF(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=37;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==37){U=0;c[F>>2]=c[(c[P>>2]|0)+28>>2];c[G>>2]=c[(c[P>>2]|0)+20>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)){W=j+10|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+28>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(ey(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(ey(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+10>>1]&64){c[K>>2]=Iy(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Tv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=Iy(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=Ev(c[R>>2]|0,33,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){_E(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=WE(c[x>>2]|0,c[O>>2]|0,3)|0;SE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);XE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else ev(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+12>>1]=4096;i=V;return}function aF(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(dF(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((ey(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=ky(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+432>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=eF(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(ee(c[A>>2]|0)|0)==3:0)c[E>>2]=$d(c[A>>2]|0)|0;fF(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Wv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];fF(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=vx(c[s>>2]|0)|0;SA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;gF(G,(wx(c[D>>2]|0)|0)-1|0,0);xx(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;ch(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function bF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+20|0;h=m+16|0;l=m+12|0;g=m+8|0;f=m+4|0;j=m;c[h>>2]=b;c[l>>2]=e;if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[5444+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[5444+(b<<3)+4>>0]|0;c[k>>2]=1;l=c[k>>2]|0;i=m;return l|0}else if((f|0)==14){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}function cF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=Ev(c[g>>2]|0,159,0,0,0)|0;if(!(c[k>>2]|0)){e=c[k>>2]|0;i=l;return e|0}b[(c[k>>2]|0)+32>>1]=c[j>>2];c[(c[k>>2]|0)+12>>2]=c[h>>2];e=c[k>>2]|0;i=l;return e|0}else{if((d[c[h>>2]>>0]|0|0)==158)c[h>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[k>>2]=Iy(c[c[g>>2]>>2]|0,c[h>>2]|0,0)|0;e=c[k>>2]|0;i=l;return e|0}return 0}function dF(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ki(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function eF(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+116>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Zh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){jh(c[m>>2]|0,c[l>>2]|0)|0;Fx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function fF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+196>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+196|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function gF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function hF(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+12>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+28>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function iF(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+12>>1]|0|(e[(c[k>>2]|0)+12>>1]|0);if(!((e[(c[j>>2]|0)+12>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+12>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=Iy(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=37;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-37|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=WE(c[n>>2]|0,c[r>>2]|0,3)|0;SE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function jF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=200;c[g+24>>2]=c[l>>2];wy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function kF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Gh(a,30161,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Gh(a,35219,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}}function lF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Yx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(jD(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Yx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(mD(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function mF(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function nF(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Wz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?33:30;if(!(d[A>>0]|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(lF(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=pF(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=qF(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+44>>2]|0)+1;g=(c[q>>2]|0)+44|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));ix(c[I>>2]|0,84,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;NA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=wx(c[I>>2]|0)|0;aD(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(wx(c[I>>2]|0)|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;fD(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}a[H>>0]=0;oF(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);ix(c[I>>2]|0,117,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;Mh(c[I>>2]|0,-1,c[r>>2]|0,-20);if(d[A>>0]|0)Jh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Sz(c[I>>2]|0,117,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Jh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}function oF(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Jj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=oA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;jx(c[w>>2]|0,127,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;pA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function pF(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(vG(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=uF(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function qF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Yx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;BC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function rF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Yx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(mD(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=sF(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)tF(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function sF(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(BC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1369];c[J+4>>2]=c[1370];c[I>>2]=c[1371];c[I+4>>2]=c[1372];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Xy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Xy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=jw(c[q>>2]|0,55,J,0)|0;f=Ev(g,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0;c[w>>2]=Ev(e,37,f,jw(c[q>>2]|0,55,H,0)|0,0)|0;c[F>>2]=wz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=jw(c[q>>2]|0,55,J,0)|0;g=Ev(e,122,g,jw(c[q>>2]|0,55,K,0)|0,0)|0;e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[w>>2]=Ev(h,29,g,Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0,0)|0;c[E>>2]=wz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=jw(c[q>>2]|0,101,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];h=c[q>>2]|0;if(c[v>>2]|0){c[z>>2]=Iy(h,c[v>>2]|0,0)|0;break}else{c[z>>2]=jw(h,101,0,0)|0;break}}else{e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[z>>2]=Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0}while(0);c[y>>2]=Tv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Uv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Wv(c[q>>2]|0,83,35189)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Tv(c[k>>2]|0,0,c[A>>2]|0)|0;K=_v(c[q>>2]|0,0,G,0)|0;c[B>>2]=Sv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=sh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,TR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=Iy(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=Qy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=_x(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=Ev(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=Iy(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;iv(c[q>>2]|0,c[F>>2]|0);iv(c[q>>2]|0,c[E>>2]|0);ev(c[q>>2]|0,c[y>>2]|0);fv(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){uG(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function tF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=dx(c[j>>2]|0)|0;c[n>>2]=uF(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+44|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;mx(e,64,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Jh(c[o>>2]|0,c[m>>2]&255);i=p;return}function uF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+468>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=vF(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function vF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+124>>2]|0)g=c[g+124>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=sh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+468>>2];c[(c[s>>2]|0)+468>>2]=c[p>>2];e=sh(c[n>>2]|0,24,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}wF(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=sh(c[n>>2]|0,480,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+128>>2]=c[l>>2];c[(c[r>>2]|0)+124>>2]=c[s>>2];c[(c[r>>2]|0)+448>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+148>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+136>>2]=c[(c[j>>2]|0)+136>>2];c[v>>2]=dx(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Mh(e,-1,Gh(l,34884,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=Iy(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(Ay(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Wz(c[v>>2]|0)|0;iB(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}iv(c[n>>2]|0,c[t>>2]|0)}xF(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)_z(c[v>>2]|0,c[o>>2]|0);fx(c[v>>2]|0,75)|0;yF(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=zF(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+108|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+44>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+40>>2];c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+140>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+144>>2];cv(c[v>>2]|0)}Ph(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function wF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+20>>2]=c[(c[e>>2]|0)+200>>2];c[(c[e>>2]|0)+200>>2]=c[f>>2];i=d;return}function xF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;g=o+52|0;p=o+48|0;h=o+44|0;l=o+40|0;n=o+36|0;j=o+32|0;m=o+8|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+149>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=Qy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;ew(b,e,p,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 108:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;gw(b,e,p,Iz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 109:{p=c[g>>2]|0;cw(p,tG(c[g>>2]|0,c[l>>2]|0)|0,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;vB(m,4,0);Pv(c[g>>2]|0,c[k>>2]|0,m)|0;fv(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)fx(c[n>>2]|0,118)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function yF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function zF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+88>>2];AF(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+136>>2];c[(c[g>>2]|0)+88>>2]=0;i=f;return c[e>>2]|0}function AF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;l=p+16|0;m=p+12|0;n=p+8|0;j=p+4|0;k=p;c[g>>2]=e;c[h>>2]=f;c[l>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[n>>2]|0)+76>>2];f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129|128;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((d[c[m>>2]>>0]|0|0)<=71){switch(d[c[m>>2]>>0]|0|0){case 2:{if(c[(c[m>>2]|0)+8>>2]|0){o=(c[g>>2]|0)+144|0;b[o>>1]=b[o>>1]&-129;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256;break}case 12:{if((c[(c[m>>2]|0)+8>>2]|0)>(c[l>>2]|0))c[l>>2]=c[(c[m>>2]|0)+8>>2];break}case 11:{c[k>>2]=c[(c[m>>2]|0)+-20+4>>2];if((c[k>>2]|0)>(c[l>>2]|0))c[l>>2]=c[k>>2];break}case 3:case 5:case 7:{c[(c[m>>2]|0)+16>>2]=201;a[(c[m>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[m>>2]|0)+16>>2]=202;a[(c[m>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256}if(((d[34898+(d[c[m>>2]>>0]|0)>>0]|0)&1|0)!=0?(c[(c[m>>2]|0)+8>>2]|0)<0:0)c[(c[m>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[m>>2]|0)+8>>2]|0)<<2)>>2]}if((c[m>>2]|0)==(c[(c[g>>2]|0)+88>>2]|0))break;c[m>>2]=(c[m>>2]|0)+-20}Tf(c[c[g>>2]>>2]|0,c[(c[n>>2]|0)+76>>2]|0);c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+72>>2]=0;c[c[h>>2]>>2]=c[l>>2];i=p;return}function BF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=rG(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=rG(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=sG(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function CF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=DF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function DF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=EF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}HF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=CF(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=GF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function EF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=LF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function FF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Qj(63009)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=IF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function GF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=gr((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=FF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function HF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;SB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function IF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(JF(c[l>>2]|0)|0)>>>0){c[r>>2]=vg(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=Ut(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(KF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Wt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){QB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Qj(60266)|0;QB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Qj(60244)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function JF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function KF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=Ut(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=wg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function LF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+432|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=MF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,384,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}NF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Qj(59021)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=OF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function MF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ch(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function NF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(bG(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(bG(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;c[(c[p>>2]|0)+16>>2]=0;v=dG((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function OF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((c[o>>2]|0)==0?(d[(c[n>>2]|0)+66>>0]|0)==1:0)?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=PF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=QF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);cu(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=RF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=gr((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=gr((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=FF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Qj(63387)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Qj(63460)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function PF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function QF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){PB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;SB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=IF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=gr((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=FF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Qj(63147)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Qj(63136)|0;n=c[g>>2]|0;i=m;return n|0}function RF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];SF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Qj(62723)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=TF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=gr((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){VR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=UF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=vg(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=wg(c[z>>2]|0)|0;c[w>>2]=gr(c[t>>2]|0)|0;c[B>>2]=TF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;yg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Qj(62880)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function SF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;YF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function TF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Gg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){TR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else TR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function UF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=VF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[384]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(JF(c[h>>2]|0)|0)>>>0?(c[r>>2]=WF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=XF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=gr(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{QB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function VF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function WF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=VF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=vg(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=wg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){yg(c[o>>2]|0);c[h>>2]=Qj(59240)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=gr((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}yg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Qj(59248)|0;s=c[h>>2]|0;i=r;return s|0}function XF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=vg(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=KF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function YF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function ZF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=RR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,aS(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);t=c[(c[q>>2]|0)+4>>2]|0;g=c[t+4>>2]|0;m=k;c[m>>2]=c[t>>2];c[m+4>>2]=g;m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=aG(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function _F(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else bG(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Qj(74742)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=eR((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=aG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function $F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=aG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function aG(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(bG(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(cG(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(bG(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Qj(74452)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(eG(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=fG(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=eG(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(e[(c[w>>2]|0)+8>>1]&2){k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else bG(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=gG(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else bG(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if(e[(c[w>>2]|0)+8>>1]&16384)if(hG((c[n>>2]|0)+(c[o>>2]|0)|0,c[v>>2]|0)|0){c[E>>2]=(c[v>>2]|0)-(c[c[w>>2]>>2]|0);break}else{c[E>>2]=1;break}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=71;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=cG(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=iG(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=77;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=77;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=77;break}}if((k|0)==43){H=(Qj(74527)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Qj(74557)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==71){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==77){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function bG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=cu(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function cG(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35061+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function dG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=RR(f|0,0,aS(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=pG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[14590+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function eG(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function fG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=RR(b|0,0,aS(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function gG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}jG(n,c[(c[j>>2]|0)+32>>2]|0,1);jG(o,c[(c[j>>2]|0)+32>>2]|0,1);kG(n,c[j>>2]|0,4096);kG(o,c[k>>2]|0,4096);c[s>>2]=Zg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Zg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Xg(n);Xg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function hG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){e=6;break}if(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0){e=4;break}c[g>>2]=(c[g>>2]|0)+1}if((e|0)==4){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}else if((e|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}return 0}function iG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function jG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function kG(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){lG(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;mG(c[h>>2]|0);kG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function mG(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)nG(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){oG(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+188>>2];c[(c[c[g>>2]>>2]|0)+188>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function nG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function oG(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function pG(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=RR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(qG(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function qG(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function rG(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=EF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}HF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=BF(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function sG(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=gr((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=FF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function tG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=c[c[k>>2]>>2];c[g>>2]=_v(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){k=c[g>>2]|0;i=j;return k|0}k=qh(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=k;c[f>>2]=Fh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){k=c[g>>2]|0;i=j;return k|0}c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];k=qh(c[e>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=k;k=c[g>>2]|0;i=j;return k|0}function uG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((sz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function wG(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function xG(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(Ky(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(Ky(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function yG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+448>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];i=e;return}function zG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+52|0;g=p+48|0;h=p+44|0;j=p+40|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Fh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=Iy(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=_v(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=qh(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=qh(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Sv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,131072,0,0)|0;vB(l,12,c[j>>2]|0);Pv(c[f>>2]|0,c[o>>2]|0,l)|0;fv(c[k>>2]|0,c[o>>2]|0);i=p;return}function AG(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Ux(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+40|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=ix(c[E>>2]|0,107,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+44|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+44|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=qD(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}ix(c[E>>2]|0,123,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)RA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else ix(c[E>>2]|0,123,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)RA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else jx(c[E>>2]|0,156,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=BG(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){HA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+124>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{jx(m,99,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;ix(c[E>>2]|0,114,c[w>>2]|0,c[D>>2]|0)|0;jx(c[E>>2]|0,115,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){rD(c[A>>2]|0);c[u>>2]=Sz(c[E>>2]|0,57,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;jx(c[E>>2]|0,96,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);dD(c[r>>2]|0,c[s>>2]|0);mx(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Jh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Vx(c[r>>2]|0);if(!(c[v>>2]|0)){ix(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Zz(c[E>>2]|0,c[u>>2]|0);ix(c[E>>2]|0,111,c[w>>2]|0,0)|0;i=F;return}else{rD(c[A>>2]|0);i=F;return}}function BG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+20|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+45>>0]|0|0}function CG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+448>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function DG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Uw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((ku(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);VR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function EG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+448>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Dz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((Dz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&256|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+448>>2]=c[(c[N>>2]|0)+8>>2];ax(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+448>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=_x(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+124>>2]|0)l=c[l+124>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+464>>2];c[(c[x>>2]|0)+464>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=_v(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=DG(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;kv(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=qh(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Zw(c[P>>2]|0);c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=Iy(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=Iy(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;x=wz(w,x,c[(c[I>>2]|0)+40>>2]|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=Qy(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=wz(c[B>>2]|0,c[O>>2]|0,c[(c[I>>2]|0)+32>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}nH(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}fv(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function FG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+256|0;Z=_+8|0;h=_;j=_+240|0;k=_+236|0;l=_+232|0;m=_+228|0;T=_+224|0;Q=_+220|0;Y=_+216|0;t=_+192|0;H=_+184|0;s=_+180|0;B=_+176|0;C=_+172|0;n=_+168|0;F=_+164|0;W=_+160|0;G=_+244|0;R=_+156|0;L=_+152|0;O=_+148|0;o=_+144|0;X=_+120|0;x=_+116|0;v=_+112|0;z=_+108|0;I=_+104|0;U=_+100|0;V=_+96|0;y=_+92|0;w=_+88|0;A=_+84|0;M=_+80|0;P=_+76|0;p=_+72|0;D=_+48|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];c[t+20>>2]=c[e+20>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(f,35879,Z);c[T>>2]=1;break}c[Y>>2]=dx(f)|0;if((d[t>>0]|0)==12){ix(c[Y>>2]|0,107,c[t+8>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&1024){c[T>>2]=pH(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)qH(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=rH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Sz(c[Y>>2]|0,22,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)jx(c[Y>>2]|0,146,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(Fy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Mj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Mj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Zz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+8>>2];else{V=(c[k>>2]|0)+40|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=ix(c[Y>>2]|0,107,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}vB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,X)|0;ev(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Wz(c[Y>>2]|0)|0;c[x>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,57,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=wx(c[Y>>2]|0)|0;SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);_z(c[Y>>2]|0,c[x>>2]|0);ix(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;_z(c[Y>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,111,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+40|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+40|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=ix(c[Y>>2]|0,107,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;vB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=ix(c[Y>>2]|0,107,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+8>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Wz(c[Y>>2]|0)|0;c[y>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,57,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=vx(c[k>>2]|0)|0;c[A>>2]=ix(c[Y>>2]|0,121,c[U>>2]|0,c[S>>2]|0)|0;Ih(c[Y>>2]|0,30,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;xx(c[k>>2]|0,c[S>>2]|0);SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);_z(c[Y>>2]|0,c[y>>2]|0);ix(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;_z(c[Y>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,111,c[V>>2]|0,0)|0;ix(c[Y>>2]|0,111,c[U>>2]|0,0)|0;break b}}}while(0);sH(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&32){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=iA(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=tH(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;dA(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Mh(X,Z,nA(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}jA(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(Z,35831,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+12>>2]=c[t+12>>2];c[(c[m>>2]|0)+16>>2]=c[t+16>>2];fv(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function GG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Bz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function HG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;if(c[(c[o>>2]|0)+8>>2]&8200){p=6;break}c[o>>2]=c[(c[o>>2]|0)+48>>2]}if((p|0)==6){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}while(1){if((d[c[k>>2]>>0]|0|0)!=28)break;p=HG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}a:do if(hE(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=Iy(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=mH(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;p=wz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=p;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];p=c[g>>2]|0;i=q;return p|0}function IG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+28>>2]=0;i=d;return}function JG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=iA(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=fy(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function KG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}EC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=dx(c[f>>2]|0)|0;do if(Fy(c[(c[g>>2]|0)+56>>2]|0,l)|0){ix(c[m>>2]|0,76,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Yz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Mj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{RA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Sz(c[m>>2]|0,17,c[j>>2]|0)|0;ix(c[m>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+44|0;c[a>>2]=(c[a>>2]|0)+1;RA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Sz(c[m>>2]|0,17,c[k>>2]|0)|0;jx(c[m>>2]|0,146,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function LG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(eA(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function MG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+72>>1]|0}function NG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+47>>0]|0|0}function OG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+43>>0]|0}function PG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+48>>0]|0|0}function QG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+28>>2]|0}function RG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function SG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;L=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;N=V+64|0;M=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;G=V+36|0;v=V+32|0;J=V+28|0;H=V+24|0;E=V+20|0;I=V+16|0;K=V+12|0;z=V+8|0;B=V+4|0;F=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[L>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[L>>2]>>0];c[O>>2]=c[(c[L>>2]|0)+8>>2];c[M>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[N>>2]=c[c[t>>2]>>2];if(c[(c[L>>2]|0)+12>>2]|0){if(((c[(c[L>>2]|0)+12>>2]|0)+(c[N>>2]|0)|0)>(c[(c[P>>2]|0)+44>>2]|0)){h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}}else{if(c[R>>2]|0){c[M>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[M>>2]=(c[M>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[M>>2]|0)}c[(c[L>>2]|0)+12>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[L>>2]|0)+16>>2]=c[N>>2];c[T>>2]=c[(c[L>>2]|0)+12>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;aB(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break a;jx(c[U>>2]|0,96,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;r=(c[P>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(c[N>>2]|0);HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=eA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=79;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(wx(c[U>>2]|0)|0)+(c[N>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break;c[x>>2]=fy(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[N>>2]|0)-1|0))jx(n,36,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else jx(n,37,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Mh(c[U>>2]|0,-1,c[x>>2]|0,-4);Jh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}jx(c[U>>2]|0,84,c[T>>2]|0,c[A>>2]|0,(c[N>>2]|0)-1|0)|0;break}case 1:{HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:gH(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[N>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=vx(c[P>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[y>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[y>>2]|0)|0;xx(c[P>>2]|0,c[y>>2]|0);break}case 2:{jx(c[U>>2]|0,127,c[O>>2]|0,c[T>>2]|0,c[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[G>>2]=CA(c[P>>2]|0,(c[M>>2]|0)+1|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(wx(c[U>>2]|0)|0)+4;Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,c[v>>2]|0,c[G>>2]|0,0)|0;ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[G>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)lH(n,c[R>>2]|0,c[Q>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0,c[T>>2]|0,1,c[M>>2]|0);else{c[J>>2]=vx(n)|0;ix(c[U>>2]|0,114,c[O>>2]|0,c[J>>2]|0)|0;jx(c[U>>2]|0,115,c[O>>2]|0,c[G>>2]|0,c[J>>2]|0)|0;Jh(c[U>>2]|0,8);xx(c[P>>2]|0,c[J>>2]|0)}FA(c[P>>2]|0,c[G>>2]|0,(c[M>>2]|0)+1|0);break}case 11:{n=c[P>>2]|0;if(c[R>>2]|0){lH(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}else{c[H>>2]=vx(n)|0;mx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[H>>2]|0,c[(c[L>>2]|0)+4>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);ix(c[U>>2]|0,126,c[O>>2]|0,c[H>>2]|0)|0;xx(c[P>>2]|0,c[H>>2]|0);break b}}case 3:{ix(c[U>>2]|0,76,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Sz(n,16,c[(c[L>>2]|0)+8>>2]|0)|0;break b}else{ix(n,87,c[T>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[F>>2]=c[(c[L>>2]|0)+20>>2];c[E>>2]=c[c[F>>2]>>2];c[I>>2]=vx(c[P>>2]|0)|0;c[K>>2]=CA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[K>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[N>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Jh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;ix(n,85,(c[T>>2]|0)+(e[(c[(c[F>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[K>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}ix(n,113,c[O>>2]|0,(c[K>>2]|0)+(c[E>>2]|0)|0)|0;jx(c[U>>2]|0,99,c[K>>2]|0,(c[E>>2]|0)+2|0,c[I>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[I>>2]|0)|0;if(c[B>>2]|0)Zz(c[U>>2]|0,c[B>>2]|0);xx(c[P>>2]|0,c[I>>2]|0);FA(c[P>>2]|0,c[K>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}ix(c[U>>2]|0,68,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function TG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;UG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=203;c[f+8>>2]=204;c[f+24>>2]=c[g>>2];wy(f,c[e>>2]|0)|0;i=d;return}function VG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+409>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Gh(b,35808,h)|0;mx(c[g>>2]|0,162,c[(c[e>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function WG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+44>>0]|0|0}function XG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;jx(c[(c[j>>2]|0)+8>>2]|0,83,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;GA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function YG(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=CA(c[f>>2]|0,c[m>>2]|0)|0;aB(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Wz(c[u>>2]|0)|0;gH(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=fy(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+44|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}mx(c[u>>2]|0,88,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}mx(c[u>>2]|0,147,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Jh(c[u>>2]|0,c[m>>2]&255);WA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);FA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){_z(c[u>>2]|0,c[j>>2]|0);EC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Sz(c[u>>2]|0,21,c[t>>2]|0)|0;EC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;RA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;EC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Zz(c[u>>2]|0,c[h>>2]|0);i=v;return}function ZG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;mx(c[h>>2]|0,149,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function _G(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}jx(c[k>>2]|0,79,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=JG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;mx(c[k>>2]|0,107,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Eh(c[d>>2]|0,35757,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function $G(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function aH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+409>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?35716:18402;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=18402;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Gh(b,35739,l)|0;mx(c[(c[j>>2]|0)+8>>2]|0,162,c[(c[j>>2]|0)+420>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function bH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,35708)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,35712)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function cH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;u=E+84|0;h=E+80|0;B=E+76|0;v=E+72|0;s=E+68|0;D=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;x=E+36|0;m=E+32|0;t=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[u>>2]=a;c[h>>2]=b;c[B>>2]=e;c[v>>2]=f;c[s>>2]=g;c[D>>2]=c[(c[u>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[w>>2]=Wz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[x>>2]=d[c[s>>2]>>0];c[m>>2]=c[(c[s>>2]|0)+8>>2];if(c[(c[B>>2]|0)+16>>2]|0){ix(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Yz(c[D>>2]|0,c[C>>2]|0)|0;_z(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[x>>2]|0)==9|(c[x>>2]|0)==13|(c[x>>2]|0)==10){c[y>>2]=0;c[t>>2]=c[(c[s>>2]|0)+12>>2];c[p>>2]=c[v>>2]}else{c[y>>2]=vx(c[u>>2]|0)|0;c[t>>2]=CA(c[u>>2]|0,c[v>>2]|0)|0;c[p>>2]=c[v>>2]}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[u>>2]|0)+44|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[u>>2]|0)+40|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=fx(c[D>>2]|0,20)|0;jx(c[D>>2]|0,110,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Zz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(ix(c[D>>2]|0,55,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);jx(c[D>>2]|0,120,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(ix(c[D>>2]|0,56,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;jx(c[D>>2]|0,96,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[t>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[x>>2]|0){case 12:{ix(c[D>>2]|0,114,c[m>>2]|0,c[y>>2]|0)|0;jx(c[D>>2]|0,115,c[m>>2]|0,c[t>>2]|0,c[y>>2]|0)|0;Jh(c[D>>2]|0,8);break}case 11:{mx(c[D>>2]|0,99,c[t>>2]|0,c[v>>2]|0,c[y>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[t>>2]|0,c[v>>2]|0);ix(c[D>>2]|0,126,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:break;default:{h=c[D>>2]|0;j=c[s>>2]|0;if((c[x>>2]|0)==9){ix(h,87,c[j+12>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[v>>2]|0);break a}else{Sz(h,16,c[j+8>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){j=c[u>>2]|0;h=c[t>>2]|0;if((c[x>>2]|0)==11)FA(j,h,c[v>>2]|0);else xx(j,h);xx(c[u>>2]|0,c[y>>2]|0)}_z(c[D>>2]|0,c[w>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)ix(k,3,j,h)|0;else ix(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}Sz(c[D>>2]|0,72,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}function dH(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+409>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;mC(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];nC(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Gh(g,35699,v)|0}else g=qh(g,c[w>>2]|0)|0;c[w>>2]=g;nC(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=24745;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;nC(e,f,0,qh(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Gh(f,30161,u)|0;nC(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{nC(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}eH(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=dy(h,c[g>>2]|0,0)|0;nC(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}jx(c[e>>2]|0,66,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function gH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=vx(c[j>>2]|0)|0;Ih(c[l>>2]|0,31,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;jx(c[l>>2]|0,99,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;ix(c[l>>2]|0,126,c[k>>2]|0,c[h>>2]|0)|0;xx(c[j>>2]|0,c[h>>2]|0);i=g;return}function hH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=jH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+44|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(Ky(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=kH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+44|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ki(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+40|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function iH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function lH(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;r=L+96|0;s=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;t=L+76|0;p=L+72|0;K=L+68|0;x=L+64|0;A=L+60|0;q=L+56|0;H=L+52|0;J=L+48|0;C=L+44|0;D=L+40|0;z=L+36|0;I=L+32|0;v=L+28|0;w=L+24|0;F=L+20|0;B=L+16|0;E=L+12|0;u=L+8|0;G=L+4|0;y=L;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[K>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[A>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[A>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[J>>2]=j;c[C>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[H>>2]=(c[n>>2]|0)-(c[A>>2]|0)-(c[x>>2]|0);else{c[H>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;j=(c[r>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[z>>2]=k;m=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;aB(c[r>>2]|0,c[c[s>>2]>>2]|0,c[H>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)ix(c[K>>2]|0,113,c[(c[s>>2]|0)+8>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;if(!(c[p>>2]|0))XG(c[r>>2]|0,c[n>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);jx(c[K>>2]|0,99,(c[H>>2]|0)+(c[C>>2]|0)|0,(c[q>>2]|0)-(c[C>>2]|0)|0,c[J>>2]|0)|0;if((c[C>>2]|0)>0){c[I>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[B>>2]=(c[A>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[K>>2]|0;if(c[x>>2]|0)c[v>>2]=Sz(k,22,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;else c[v>>2]=Sz(k,109,c[(c[s>>2]|0)+8>>2]|0)|0;jx(c[K>>2]|0,95,c[I>>2]|0,c[H>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[F>>2]=eA(c[K>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=L;return}c[(c[F>>2]|0)+8>>2]=(c[B>>2]|0)+(c[t>>2]|0);c[E>>2]=c[(c[F>>2]|0)+16>>2];VR(c[(c[E>>2]|0)+16>>2]|0,0,e[(c[E>>2]|0)+6>>1]|0)|0;Mh(c[K>>2]|0,-1,c[E>>2]|0,-6);E=JG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[C>>2]|0,(e[(c[E>>2]|0)+8>>1]|0)-1|0)|0;c[(c[F>>2]|0)+16>>2]=E;c[w>>2]=wx(c[K>>2]|0)|0;jx(c[K>>2]|0,18,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;E=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=E;E=(c[r>>2]|0)+44|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[s>>2]|0)+12>>2]=F;ix(c[K>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Sz(c[K>>2]|0,133,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[z>>2]|0)ix(c[K>>2]|0,22,c[z>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Zz(c[K>>2]|0,c[v>>2]|0);XG(c[r>>2]|0,c[H>>2]|0,c[I>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Zz(c[K>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[D>>2]=125;else c[D>>2]=126;ix(c[K>>2]|0,c[D>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[J>>2]|0)|0;if(!(c[z>>2]|0)){i=L;return}c[G>>2]=0;c[u>>2]=jx(c[K>>2]|0,67,c[z>>2]|0,0,1)|0;Sz(c[K>>2]|0,53,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){I=(c[r>>2]|0)+44|0;J=(c[I>>2]|0)+1|0;c[I>>2]=J;c[G>>2]=J;jx(c[K>>2]|0,96,c[(c[s>>2]|0)+8>>2]|0,c[A>>2]|0,c[G>>2]|0)|0}Sz(c[K>>2]|0,117,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){c[y>>2]=(wx(c[K>>2]|0)|0)+2;jx(c[K>>2]|0,37,(c[H>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[G>>2]|0)|0;Jh(c[K>>2]|0,-128)}Zz(c[K>>2]|0,c[u>>2]|0);i=L;return}function mH(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=Iy(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;iv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=mH(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=mH(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){nH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{oH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function nH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){oH(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=mH(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=mH(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;nH(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)oH(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function oH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=mH(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function pH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Pv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function qH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+120|0;p=G+116|0;q=G+112|0;g=G+108|0;l=G+104|0;E=G+100|0;A=G+96|0;t=G+92|0;s=G+88|0;r=G+84|0;v=G+80|0;B=G+76|0;w=G+72|0;k=G+68|0;j=G+64|0;u=G+40|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(ax(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Wz(c[E>>2]|0)|0;KG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+40|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;vB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;jx(c[E>>2]|0,110,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=uH(c[o>>2]|0,c[p>>2]|0,1)|0;mx(c[E>>2]|0,107,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+20>>2]=c[z>>2]}else ix(c[E>>2]|0,107,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=ix(c[E>>2]|0,107,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|32}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Pv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=ix(c[E>>2]|0,57,c[w>>2]|0,c[r>>2]|0)|0;Sz(c[E>>2]|0,124,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)jx(b,96,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else ix(b,122,e,c[B>>2]|0)|0;Sz(c[E>>2]|0,117,c[w>>2]|0)|0;c[s>>2]=Wz(c[E>>2]|0)|0;fH(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);SG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)ix(c[E>>2]|0,68,c[C>>2]|0,c[r>>2]|0)|0;_z(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Eh(c[o>>2]|0,35980,F);else{c[(c[p>>2]|0)+48>>2]=0;Pv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Yz(c[E>>2]|0,c[t>>2]|0)|0;_z(c[E>>2]|0,c[r>>2]|0)}ev(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function rH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+220|0;r=ba+216|0;s=ba+212|0;t=ba+208|0;j=ba+204|0;k=ba+200|0;S=ba+196|0;aa=ba+192|0;H=ba+168|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Wz(c[aa>>2]|0)|0;c[L>>2]=Wz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Wv(c[G>>2]|0,134,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Tv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Vw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=uH(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=Qy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;f=(c[r>>2]|0)+44|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);ix(c[aa>>2]|0,76,0,c[Z>>2]|0)|0;c[Q>>2]=iA(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=tH(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ty(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29099)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ty(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29099)|0;KG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+44|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+44|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;ix(c[aa>>2]|0,84,j,c[V>>2]|0)|0;ix(c[aa>>2]|0,84,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}iv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;iv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;vB(H,13,c[T>>2]|0);vB(I,13,c[U>>2]|0);c[E>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[S>>2]|0,H)|0;YC(c[aa>>2]|0,c[T>>2]|0);Zz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];YC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=vH(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=vH(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;jA(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=ix(c[aa>>2]|0,16,c[U>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[z>>2]|0)|0;$=nE(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=wx(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;Zz(c[aa>>2]|0,c[v>>2]|0);ix(c[aa>>2]|0,16,c[T>>2]|0,c[A>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;_z(c[aa>>2]|0,c[L>>2]|0);mx(c[aa>>2]|0,94,0,0,0,c[u>>2]|0,-15)|0;mx(c[aa>>2]|0,95,c[H+12>>2]|0,c[I+12>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Jh(c[aa>>2]|0,1);jx(c[aa>>2]|0,18,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;_z(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}dH(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)fv(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];sH(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+36>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function sH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+409>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?35924:18402;b=Sy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Gh(a,35943,o)|0;mx(c[n>>2]|0,162,c[(c[h>>2]|0)+420>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function tH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=tH(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=fy(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function uH(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=iA(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=fy(f,c[q>>2]|0)|0;else{c[m>>2]=tH(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Wy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function vH(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=wx(c[C>>2]|0)|0;c[y>>2]=Wz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Sz(c[C>>2]|0,22,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+12>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+16>>2]|0;c[x>>2]=mx(k,95,b,j,h,nA(c[t>>2]|0)|0,-6)|0;jx(c[C>>2]|0,18,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Zz(c[C>>2]|0,c[w>>2]|0);jx(c[C>>2]|0,84,c[(c[p>>2]|0)+12>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+16>>2]|0)-1|0)|0;ix(c[C>>2]|0,76,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}fH(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=vx(c[n>>2]|0)|0;c[B>>2]=vx(c[n>>2]|0)|0;jx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[z>>2]|0)|0;ix(c[C>>2]|0,114,c[(c[q>>2]|0)+8>>2]|0,c[B>>2]|0)|0;jx(c[C>>2]|0,115,c[(c[q>>2]|0)+8>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Jh(c[C>>2]|0,8);xx(c[n>>2]|0,c[B>>2]|0);xx(c[n>>2]|0,c[z>>2]|0);break}case 11:{c[A>>2]=vx(c[n>>2]|0)|0;mx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[A>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);ix(c[C>>2]|0,126,c[(c[q>>2]|0)+8>>2]|0,c[A>>2]|0)|0;xx(c[n>>2]|0,c[A>>2]|0);break}case 10:{XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+8>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+12>>2]|0)){h=CA(c[n>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[q>>2]|0)+12>>2]=h;c[(c[q>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2]}XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);Sz(c[C>>2]|0,16,c[(c[q>>2]|0)+8>>2]|0)|0;break}default:{ix(c[C>>2]|0,87,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)ix(c[C>>2]|0,68,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;_z(c[C>>2]|0,c[y>>2]|0);Sz(c[C>>2]|0,72,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function wH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=dx(c[g>>2]|0)|0;do if(!(Yx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&33554432)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Wz(c[n>>2]|0)|0;ix(c[n>>2]|0,65,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+150>>0]=1;f=c[g>>2]|0;cw(f,Gz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+150>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&33554432)){f=c[n>>2]|0;ix(f,65,0,(wx(c[n>>2]|0)|0)+2|0)|0;tA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}_z(c[n>>2]|0,c[l>>2]|0);i=o;return}function xH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=dx(c[g>>2]|0)|0;rx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)fx(c[o>>2]|0,152)|0;c[n>>2]=zx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;_B(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;cx(n,36169,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?19905:19924;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;cx(p,36214,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)yH(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}mx(c[o>>2]|0,154,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;RC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function zH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){AH(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function AH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function BH(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(Ay(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}By(n,c[m>>2]|0)|0;i=p;return}function CH(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;i=f;return}if((d[b>>0]|0|0)!=53){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;i=f;return}function DH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function EH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Mj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function FH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;GH(c[e>>2]|0,c[f>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function GH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function HH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=xB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function IH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];a:do if(!(a[(c[k>>2]|0)+148+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break a;if(d[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+15>>0]&1)a[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[h>>2]|0)+410>>0]|0){i=v;return}if(c[(c[h>>2]|0)+132>>2]|0)LG(c[t>>2]|0,c[(c[h>>2]|0)+132>>2]|0,-122);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Xy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Tv(t,0,jw(c[k>>2]|0,55,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+408>>0]|0;Iv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0,2);if(a[(c[k>>2]|0)+69>>0]|0){i=v;return}else{c[s>>2]=Jj(c[j>>2]|0)|0;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Jj(f)|0;if(c[t>>2]|0)LG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;if(!(a[(c[k>>2]|0)+148+7>>0]|0)){t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[p>>2]=e[(c[s>>2]|0)+50>>1];c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];b:while(1){if(!(c[q>>2]|0))break;c:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(NH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=50;break b}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break c;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==50){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(NH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=34834;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function JH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function KH(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(LH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=LH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=18402;c[t>>2]=34710;c[r>>2]=34706}else{c[s>>2]=37369;c[t>>2]=37373;c[r>>2]=37378}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ch(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){mh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37381,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;MH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];MH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[5492+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;TR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,18391,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function LH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function MH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[18403+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[18403+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Di(c[m>>2]|0,c[k>>2]|0)|0)==55:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function NH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=sh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{TR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);TR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);TR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;Tz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?19905:19924);Ih(c[g>>2]|0,105,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+40>>2]|0){i=e;return}c[(c[d>>2]|0)+40>>2]=1;i=e;return}function PH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=dx(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+112>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+116>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];mx(c[h>>2]|0,151,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function QH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Uz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,104);hx(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Kh(c[k>>2]|0,10,37557,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function RH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,39546,d);i=b;return} +function gw(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+304|0;C=oa+32|0;B=oa+16|0;A=oa;F=oa+284|0;G=oa+280|0;H=oa+276|0;I=oa+272|0;J=oa+268|0;P=oa+264|0;ca=oa+260|0;k=oa+256|0;R=oa+252|0;Z=oa+248|0;V=oa+244|0;na=oa+240|0;aa=oa+236|0;_=oa+232|0;$=oa+228|0;S=oa+224|0;T=oa+220|0;W=oa+216|0;Q=oa+212|0;la=oa+208|0;N=oa+204|0;M=oa+200|0;p=oa+176|0;q=oa+172|0;ma=oa+291|0;O=oa+290|0;D=oa+289|0;o=oa+288|0;ba=oa+168|0;ha=oa+164|0;fa=oa+160|0;ja=oa+156|0;ia=oa+152|0;ka=oa+148|0;ga=oa+144|0;K=oa+140|0;Y=oa+136|0;da=oa+132|0;z=oa+128|0;x=oa+124|0;n=oa+120|0;t=oa+116|0;v=oa+112|0;w=oa+108|0;m=oa+104|0;y=oa+72|0;r=oa+68|0;u=oa+64|0;l=oa+60|0;s=oa+56|0;L=oa+52|0;U=oa+48|0;ea=oa+44|0;X=oa+40|0;c[F>>2]=e;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[J>>2]=j;c[$>>2]=0;c[S>>2]=0;c[T>>2]=0;c[W>>2]=-1;c[la>>2]=0;c[N>>2]=0;c[M>>2]=0;a[ma>>0]=0;a[O>>0]=0;c[ba>>2]=0;c[ha>>2]=0;c[fa>>2]=0;c[ja>>2]=0;c[K>>2]=0;c[P>>2]=c[c[F>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;a:do if((c[(c[F>>2]|0)+36>>2]|0)==0?(d[(c[P>>2]|0)+69>>0]|0)==0:0){if(((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&512|0)!=0:0)?(c[(c[H>>2]|0)+48>>2]|0)==0:0){c[ba>>2]=c[c[H>>2]>>2];c[c[H>>2]>>2]=0;fv(c[P>>2]|0,c[H>>2]|0);c[H>>2]=0}c[k>>2]=c[(c[G>>2]|0)+8+8>>2];if((((((c[k>>2]|0)!=0?(c[ca>>2]=bC(c[F>>2]|0,c[G>>2]|0)|0,(c[ca>>2]|0)!=0):0)?(c[q>>2]=Fh(c[P>>2]|0,c[(c[ca>>2]|0)+64>>2]|0)|0,(ax(c[F>>2]|0,18,c[c[ca>>2]>>2]|0,0,c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0)|0)==0):0)?(a[D>>0]=((d[(c[ca>>2]|0)+42>>0]&32|0)==0^1)&1,c[da>>2]=TC(c[F>>2]|0,c[ca>>2]|0,108,0,z)|0,c[Y>>2]=(c[(c[ca>>2]|0)+12>>2]|0)!=0&1,(Tx(c[F>>2]|0,c[ca>>2]|0)|0)==0):0)?(UC(c[F>>2]|0,c[ca>>2]|0,c[z>>2]|0)|0)==0:0)?(c[na>>2]=dx(c[F>>2]|0)|0,(c[na>>2]|0)!=0):0){if(!(d[(c[F>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[F>>2]|0,((c[H>>2]|0)!=0?1:(c[da>>2]|0)!=0)&1,c[q>>2]|0);if(!((c[I>>2]|0)==0?(WC(c[F>>2]|0,c[ca>>2]|0,c[H>>2]|0,c[J>>2]|0,c[q>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){c[fa>>2]=XC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0;k=(c[(c[F>>2]|0)+44>>2]|0)+1|0;c[ia>>2]=k;c[ka>>2]=k;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+((b[(c[ca>>2]|0)+34>>1]|0)+1);if(d[(c[ca>>2]|0)+42>>0]&16){c[ka>>2]=(c[ka>>2]|0)+1;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+1}c[ga>>2]=(c[ka>>2]|0)+1;a[o>>0]=(d[(c[ca>>2]|0)+42>>0]&128|0)==0;c:do if(c[I>>2]|0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=-1;c[R>>2]=(c[R>>2]|0)+1}c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break c;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;k=(ig(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[Z>>2]<<4)>>2]|0)|0)==0;j=c[Z>>2]|0;if(k){E=28;break}c[Z>>2]=j+1}do if((E|0)==28){E=0;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=j;if((c[R>>2]|0)!=(c[Z>>2]|0))a[o>>0]=0;if((c[Z>>2]|0)!=(b[(c[ca>>2]|0)+32>>1]|0))break;c[W>>2]=c[R>>2]}while(0);if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0)){k=(ui(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0)|0)==0;if(k|(a[D>>0]|0)!=0)break;c[W>>2]=c[R>>2];a[o>>0]=0}c[R>>2]=(c[R>>2]|0)+1}na=c[F>>2]|0;ma=c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0;c[A>>2]=c[G>>2];c[A+4>>2]=0;c[A+8>>2]=ma;Eh(na,34261,A);a[(c[F>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[H>>2]|0)){c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;c[y+24>>2]=0;c[y+28>>2]=0;c[y>>2]=c[F>>2];c[la>>2]=-1;if(c[ba>>2]|0){c[_>>2]=c[c[ba>>2]>>2];if(By(y,c[ba>>2]|0)|0)break a;else break}else{c[_>>2]=0;break}}else{y=(c[F>>2]|0)+44|0;A=(c[y>>2]|0)+1|0;c[y>>2]=A;c[x>>2]=A;c[n>>2]=(wx(c[na>>2]|0)|0)+1;jx(c[na>>2]|0,15,c[x>>2]|0,0,c[n>>2]|0)|0;vB(p,13,c[x>>2]|0);c[p+12>>2]=(d[o>>0]|0)!=0?c[ga>>2]|0:0;c[p+16>>2]=b[(c[ca>>2]|0)+34>>1];c[t>>2]=Pv(c[F>>2]|0,c[H>>2]|0,p)|0;c[ha>>2]=c[p+12>>2];if(c[t>>2]|0)break a;if(d[(c[P>>2]|0)+69>>0]|0)break a;if(c[(c[F>>2]|0)+36>>2]|0)break a;YC(c[na>>2]|0,c[x>>2]|0);Zz(c[na>>2]|0,(c[n>>2]|0)-1|0);c[_>>2]=c[c[c[H>>2]>>2]>>2];if(!((c[da>>2]|0)==0?(ZC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0)==0:0))a[ma>>0]=1;if(!(a[ma>>0]|0))break;y=(c[F>>2]|0)+40|0;A=c[y>>2]|0;c[y>>2]=A+1;c[la>>2]=A;c[v>>2]=vx(c[F>>2]|0)|0;c[w>>2]=vx(c[F>>2]|0)|0;ix(c[na>>2]|0,107,c[la>>2]|0,c[_>>2]|0)|0;c[m>>2]=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;jx(c[na>>2]|0,99,c[ha>>2]|0,c[_>>2]|0,c[v>>2]|0)|0;ix(c[na>>2]|0,114,c[la>>2]|0,c[w>>2]|0)|0;jx(c[na>>2]|0,115,c[la>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Yz(c[na>>2]|0,c[m>>2]|0)|0;Zz(c[na>>2]|0,c[m>>2]|0);xx(c[F>>2]|0,c[v>>2]|0);xx(c[F>>2]|0,c[w>>2]|0)}while(0);if((c[I>>2]|0)==0&(c[_>>2]|0)>0)c[W>>2]=b[(c[ca>>2]|0)+32>>1];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[$>>2]=(c[$>>2]|0)+((d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2|0)!=0?1:0);c[R>>2]=(c[R>>2]|0)+1}if((c[I>>2]|0)==0&(c[_>>2]|0)!=0?(c[_>>2]|0)!=((b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0):0){na=c[F>>2]|0;la=(b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0;ma=c[_>>2]|0;c[B>>2]=c[G>>2];c[B+4>>2]=0;c[B+8>>2]=la;c[B+12>>2]=ma;Eh(na,34293,B);break a}do if(c[I>>2]|0){if((c[_>>2]|0)==(c[(c[I>>2]|0)+4>>2]|0))break;na=c[F>>2]|0;ma=c[(c[I>>2]|0)+4>>2]|0;c[C>>2]=c[_>>2];c[C+4>>2]=ma;Eh(na,34345,C);break a}while(0);if(c[(c[P>>2]|0)+24>>2]&128){B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[ja>>2]=C;ix(c[na>>2]|0,76,0,c[ja>>2]|0)|0}d:do if(!(c[Y>>2]|0)){c[r>>2]=FC(c[F>>2]|0,c[ca>>2]|0,105,0,-1,0,S,T)|0;c[K>>2]=Vw(c[P>>2]|0,(c[r>>2]|0)+1<<2,0)|0;if(!(c[K>>2]|0))break a;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[r>>2]|0))break d;B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[(c[K>>2]|0)+(c[R>>2]<<2)>>2]=C;c[R>>2]=(c[R>>2]|0)+1}}while(0);do if(a[ma>>0]|0){c[N>>2]=Sz(c[na>>2]|0,57,c[la>>2]|0)|0;c[M>>2]=wx(c[na>>2]|0)|0}else{if(!(c[H>>2]|0))break;C=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;c[M>>2]=C;c[N>>2]=C}while(0);c[Q>>2]=Wz(c[na>>2]|0)|0;if(c[z>>2]&1){c[u>>2]=CA(c[F>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)|0;if((c[W>>2]|0)<0)ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;else{if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[u>>2]|0)|0;else RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[u>>2]|0);c[l>>2]=Sz(c[na>>2]|0,35,c[u>>2]|0)|0;ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;Zz(c[na>>2]|0,c[l>>2]|0);Sz(c[na>>2]|0,17,c[u>>2]|0)|0}c[Z>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;e:do if(c[I>>2]|0){c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break e;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break e;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if((a[ma>>0]|0)!=0|(c[ba>>2]|0)!=0){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0){E=90;break}if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)|0;break}else{_C(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;RA(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)}if(!(c[I>>2]|0))c[Z>>2]=(c[Z>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+1}if(!(c[Y>>2]|0))$C(c[na>>2]|0,c[ca>>2]|0,(c[u>>2]|0)+1|0);aD(c[F>>2]|0,c[da>>2]|0,108,0,1,c[ca>>2]|0,(c[u>>2]|0)-(b[(c[ca>>2]|0)+34>>1]|0)-1|0,c[J>>2]|0,c[Q>>2]|0);FA(c[F>>2]|0,c[u>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)}do if(!(c[Y>>2]|0)){if(d[(c[ca>>2]|0)+42>>0]&16)ix(c[na>>2]|0,79,0,c[ia>>2]|0)|0;f:do if((c[W>>2]|0)>=0){do if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[ka>>2]|0)|0;else{if(c[H>>2]|0){ix(c[na>>2]|0,84,(c[ha>>2]|0)+(c[W>>2]|0)|0,c[ka>>2]|0)|0;break}RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[ka>>2]|0);c[s>>2]=eA(c[na>>2]|0,-1)|0;if(!(c[s>>2]|0))break;if((d[c[s>>2]>>0]|0)!=79)break;if(d[(c[ca>>2]|0)+42>>0]&16)break;a[O>>0]=1;a[c[s>>2]>>0]=114;c[(c[s>>2]|0)+4>>2]=c[S>>2];c[(c[s>>2]|0)+8>>2]=c[ka>>2];c[(c[s>>2]|0)+12>>2]=c[fa>>2]}while(0);if(a[O>>0]|0)break;j=c[na>>2]|0;if(d[(c[ca>>2]|0)+42>>0]&16){c[L>>2]=wx(j)|0;ix(c[na>>2]|0,34,c[ka>>2]|0,(c[L>>2]|0)+2|0)|0}else{c[L>>2]=Sz(j,35,c[ka>>2]|0)|0;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;Zz(c[na>>2]|0,c[L>>2]|0)}Sz(c[na>>2]|0,17,c[ka>>2]|0)|0}else{do if(!(d[(c[ca>>2]|0)+42>>0]&16)){if(d[D>>0]|0)break;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;a[O>>0]=1;break f}while(0);ix(c[na>>2]|0,79,0,c[ka>>2]|0)|0}while(0);bD(c[F>>2]|0,c[fa>>2]|0,c[ka>>2]|0);c[$>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[U>>2]=(c[ka>>2]|0)+1+(c[R>>2]|0);g:do if((c[R>>2]|0)==(b[(c[ca>>2]|0)+32>>1]|0))Sz(c[na>>2]|0,80,c[U>>2]|0)|0;else{h:do if(!(c[I>>2]|0))if(d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2){c[Z>>2]=-1;c[$>>2]=(c[$>>2]|0)+1;break}else{c[Z>>2]=(c[R>>2]|0)-(c[$>>2]|0);break}else{c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break h;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break h;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if(!((c[Z>>2]|0)<0|(c[_>>2]|0)==0)){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0)break;if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,c[U>>2]|0)|0;break g}if(!(c[H>>2]|0)){RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[U>>2]|0);break g}if((c[ha>>2]|0)==(c[ga>>2]|0))break g;ix(c[na>>2]|0,85,(c[ha>>2]|0)+(c[Z>>2]|0)|0,c[U>>2]|0)|0;break g}while(0);cD(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,c[U>>2]|0)}while(0);c[R>>2]=(c[R>>2]|0)+1}if(d[(c[ca>>2]|0)+42>>0]&16){c[ea>>2]=Ux(c[P>>2]|0,c[ca>>2]|0)|0;dD(c[F>>2]|0,c[ca>>2]|0);mx(c[na>>2]|0,12,1,(b[(c[ca>>2]|0)+34>>1]|0)+2|0,c[ia>>2]|0,c[ea>>2]|0,-10)|0;Jh(c[na>>2]|0,((c[J>>2]|0)==10?2:c[J>>2]|0)&255);Vx(c[F>>2]|0);break}else{eD(c[F>>2]|0,c[ca>>2]|0,c[K>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,0,(c[W>>2]|0)>=0&255,c[J>>2]&255,c[Q>>2]|0,X,0);fD(c[F>>2]|0,c[ca>>2]|0,0,c[ia>>2]|0,0,0);gD(c[F>>2]|0,c[ca>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,c[K>>2]|0,0,d[O>>0]|0,(c[X>>2]|0)==0&1);break}}while(0);if(c[(c[P>>2]|0)+24>>2]&128)ix(c[na>>2]|0,91,c[ja>>2]|0,1)|0;if(c[da>>2]|0)aD(c[F>>2]|0,c[da>>2]|0,108,0,2,c[ca>>2]|0,(c[ga>>2]|0)-2-(b[(c[ca>>2]|0)+34>>1]|0)|0,c[J>>2]|0,c[Q>>2]|0);_z(c[na>>2]|0,c[Q>>2]|0);do if(a[ma>>0]|0){ix(c[na>>2]|0,7,c[la>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0);Sz(c[na>>2]|0,111,c[la>>2]|0)|0}else{if(!(c[H>>2]|0))break;Yz(c[na>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0)}while(0);if((c[Y>>2]|0)!=0?1:(d[(c[ca>>2]|0)+42>>0]&16|0)!=0)break;if((c[S>>2]|0)<(c[T>>2]|0))Sz(c[na>>2]|0,111,c[S>>2]|0)|0;c[V>>2]=0;c[aa>>2]=c[(c[ca>>2]|0)+8>>2];while(1){if(!(c[aa>>2]|0))break b;Sz(c[na>>2]|0,111,(c[V>>2]|0)+(c[T>>2]|0)|0)|0;c[aa>>2]=c[(c[aa>>2]|0)+20>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);if((d[(c[F>>2]|0)+18>>0]|0)==0?(c[(c[F>>2]|0)+128>>2]|0)==0:0)hD(c[F>>2]|0);if(((c[(c[P>>2]|0)+24>>2]&128|0)!=0?(a[(c[F>>2]|0)+18>>0]|0)==0:0)?(c[(c[F>>2]|0)+128>>2]|0)==0:0){ix(c[na>>2]|0,87,c[ja>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,34370,0)|0}}}while(0);hv(c[P>>2]|0,c[G>>2]|0);ev(c[P>>2]|0,c[ba>>2]|0);fv(c[P>>2]|0,c[H>>2]|0);kv(c[P>>2]|0,c[I>>2]|0);Tf(c[P>>2]|0,c[K>>2]|0);i=oa;return}function hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=sh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=SC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){kv(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Tw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=0;c[n>>2]=0;do if(c[l>>2]|0){if(((c[k>>2]|0)==134?(c[c[l>>2]>>2]|0)!=0:0)?(Qi(c[c[l>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Vw(c[j>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}j=c[p>>2]|0;e=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(e|0));a[c[p>>2]>>0]=c[k>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){j=c[p>>2]|0;if(!(c[o>>2]|0)){o=j+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=j+48;if(c[(c[l>>2]|0)+4>>2]|0)TR(c[(c[p>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if((c[m>>2]|0)!=0?(d[18403+(d[c[(c[p>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((a[c[(c[p>>2]|0)+8>>2]>>0]|0)==34){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}Zw(c[(c[p>>2]|0)+8>>2]|0)}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function kw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+16|0;p=u+8|0;g=u+44|0;h=u+40|0;j=u+36|0;m=u+32|0;s=u+28|0;r=u+50|0;n=u;l=u+24|0;o=u+48|0;k=u+20|0;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[g>>2]>>2];if(!(c[h>>2]|0)){i=u;return}c[s>>2]=c[(c[h>>2]|0)+8>>2];if(a[(c[s>>2]|0)+1>>0]|0){do if((a[c[s>>2]>>0]|0)!=63){b[r>>1]=0;b[o>>1]=0;while(1){if((b[o>>1]|0)>=(c[(c[g>>2]|0)+404>>2]|0))break;if((c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0,c[s>>2]|0)|0)==0:0){t=14;break}b[o>>1]=(b[o>>1]|0)+1<<16>>16}if((t|0)==14)b[r>>1]=(b[o>>1]|0)+1;if(!(b[r>>1]|0)){p=(c[g>>2]|0)+400|0;t=(b[p>>1]|0)+1<<16>>16;b[p>>1]=t;b[r>>1]=t}}else{c[l>>2]=0==(Mi((c[s>>2]|0)+1|0,n,(c[j>>2]|0)-1|0,1)|0)&1;b[r>>1]=c[n>>2];t=n;d=c[t+4>>2]|0;if(!((c[l>>2]|0)==0|((d|0)<0|(d|0)==0&(c[t>>2]|0)>>>0<1))?(d=n,f=c[d+4>>2]|0,t=c[(c[m>>2]|0)+96+36>>2]|0,e=((t|0)<0)<<31>>31,!((f|0)>(e|0)|((f|0)==(e|0)?(c[d>>2]|0)>>>0>t>>>0:0))):0){p=n;e=c[p+4>>2]|0;t=b[(c[g>>2]|0)+400>>1]|0;d=((t|0)<0)<<31>>31;if(!((e|0)>(d|0)|((e|0)==(d|0)?(c[p>>2]|0)>>>0>t>>>0:0)))break;b[(c[g>>2]|0)+400>>1]=c[n>>2];break}t=c[g>>2]|0;c[p>>2]=c[(c[m>>2]|0)+96+36>>2];Eh(t,34195,p);i=u;return}while(0);b[(c[h>>2]|0)+32>>1]=b[r>>1]|0;do if((b[r>>1]|0)>(c[(c[g>>2]|0)+404>>2]|0)){c[k>>2]=Uw(c[m>>2]|0,c[(c[g>>2]|0)+428>>2]|0,b[r>>1]<<2,0)|0;if(!(c[k>>2]|0)){i=u;return}else{c[(c[g>>2]|0)+428>>2]=c[k>>2];VR((c[k>>2]|0)+(c[(c[g>>2]|0)+404>>2]<<2)|0,0,(b[r>>1]|0)-(c[(c[g>>2]|0)+404>>2]|0)<<2|0)|0;c[(c[g>>2]|0)+404>>2]=b[r>>1];break}}while(0);if(!(c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]|0)){t=Yw(c[m>>2]|0,c[s>>2]|0,c[j>>2]|0,0)|0;c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]=t}}else{s=(c[g>>2]|0)+400|0;t=(b[s>>1]|0)+1<<16>>16;b[s>>1]=t;b[(c[h>>2]|0)+32>>1]=t}if((b[(c[g>>2]|0)+400>>1]|0)<=(c[(c[m>>2]|0)+96+36>>2]|0)){i=u;return}Eh(c[g>>2]|0,34238,q);i=u;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=jw(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function mw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=jw(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){ev(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];sw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function nw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=Ev(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function pw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function qw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];iv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function rw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=Ev(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){i=f;return}zz(c[e>>2]|0);Zy(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]|2099200;sw(c[e>>2]|0,c[f>>2]|0);i=h;return}else{fv(c[c[e>>2]>>2]|0,c[g>>2]|0);i=h;return}}function uw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Tv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+148+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Eh(p,34155,l)}Uv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function vw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(Kz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[h>>2]=Kj(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)ZB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Eh(f,33945,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Eh(t,33963,l);s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[g>>2]=Fh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?19905:19924;if(ax(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(ax(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[k>>2]=dx(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}rx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?19905:19924;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;cx(t,34036,m);QC(c[p>>2]|0,c[g>>2]|0,30854,c[c[h>>2]>>2]|0);ex(c[p>>2]|0,c[g>>2]|0);RC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);mx(c[k>>2]|0,139,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;if(c[e>>2]|0)d=Oz(c[d>>2]|0,c[e>>2]|0,c[e>>2]|0,e)|0;else d=0;c[f>>2]=d;if(!(c[g>>2]|0)){i=h;return}if(!((c[f>>2]|0)>=2|(c[f>>2]|0)==0)){i=h;return}Sz(c[g>>2]|0,10,c[f>>2]|0)|0;Lh(c[g>>2]|0,c[f>>2]|0);i=h;return}function xw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=dx(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}iC(c[bc>>2]|0);c[(c[ac>>2]|0)+44>>2]=2;c[$b>>2]=Oz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(tx(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Tw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Gh(k,32103,p)|0}else c[ec>>2]=Tw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(ax(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){jC(c[bc>>2]|0,32107,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Eh(bc,18391,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[4476+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=4476+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(Kz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Lh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Dj(Pi(c[ec>>2]|0)|0)|0;rx(c[ac>>2]|0,0,c[$b>>2]|0);jx(c[bc>>2]|0,102,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{kC(c[bc>>2]|0,32114);ac=(c[ac>>2]|0)+44|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Kh(c[bc>>2]|0,9,32125,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Pi(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+80>>2]=bc;if(7!=(Ci(c[_>>2]|0,c[(c[cc>>2]|0)+80>>2]|0,-1,0)|0))break a;mh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=sg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;lC(c[bc>>2]|0,32161,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Gi(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;VB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=VB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;lC(c[bc>>2]|0,32171,ac,((ac|0)<0)<<31>>31);break a}case 23:{sx(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+44|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==112)ix(m,158,l,k)|0;else jx(m,159,l,k,Dj(Pi(c[ec>>2]|0)|0)|0)|0;ix(c[bc>>2]|0,87,c[Oa>>2]|0,1)|0;mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32185;c[E>>2]=oC(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;UB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=UB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32192;jC(c[bc>>2]|0,32202,c[Ba>>2]|0);break a}case 19:{kC(c[bc>>2]|0,32215);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=pC(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Lh(c[bc>>2]|0,c[U>>2]|0);jx(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}ix(c[bc>>2]|0,87,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=qC(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;lC(c[bc>>2]|0,32228,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=rC(c[aa>>2]|0)|0;lC(ac,32247,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=sC(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=tC(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=wx(c[bc>>2]|0)|0;c[y>>2]=Kh(c[bc>>2]|0,5,32259,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Lh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Qi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;rx(c[ac>>2]|0,0,c[$b>>2]|0);ix(c[bc>>2]|0,76,c[R>>2]|0,1)|0;c[z>>2]=Sz(c[bc>>2]|0,69,c[$b>>2]|0)|0;Sz(c[bc>>2]|0,87,1)|0;ix(c[bc>>2]|0,91,1,-1)|0;ix(c[bc>>2]|0,66,1,c[z>>2]|0)|0;Zz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Pi(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;lC(c[bc>>2]|0,32114,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=uC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;lC(k,32279,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Qi(c[ec>>2]|0,oa)|0)uC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Gi(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;vC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;lC(c[bc>>2]|0,32291,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){wC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{lC(c[bc>>2]|0,32301,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){jC(c[bc>>2]|0,32312,c[243]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Yr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Eh(c[ac>>2]|0,32333,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)xC(c[ac>>2]|0)|0;Kd(c[243]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[243]=Od(18391,sa)|0;break a}else{c[243]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;lC(c[bc>>2]|0,32358,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Oi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;vC(c[cc>>2]|0);break a}else{Eh(c[ac>>2]|0,32370,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;lC(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Gi(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==33554432){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}fx(c[bc>>2]|0,150)|0;vC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=Dh(c[ac>>2]|0,2,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Jj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=6;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,6,5172);Tx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=vi(c[Wb>>2]|0,18402)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;zC(l,1,32423,Zb);ix(c[bc>>2]|0,87,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=4;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,4,5196);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;zC(ac,1,32430,ua);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;zC(ac,2,32435,va);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Kj(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+44>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+44>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,c[(c[ac>>2]|0)+44>>2]|0,5212);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;zC(l,1,32439,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;zC($b,4,32443,Ob)}ix(c[bc>>2]|0,87,1,c[(c[ac>>2]|0)+44>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=5;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,5,5236);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1314];c[A+4>>2]=c[1315];c[A+8>>2]=c[1316];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;zC(ac,1,32447,wa);ix(c[bc>>2]|0,87,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+44>>2]=3;yC(c[bc>>2]|0,3,5268);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Ii(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;zC(ac,1,32453,xa);ix(c[bc>>2]|0,87,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+44>>2]=2;yC(c[bc>>2]|0,2,5280);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;zC(ac,1,32457,ya);ix(c[bc>>2]|0,87,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+44>>2]=8;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,8,5288);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=AC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=AC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32469;zC(ac,1,32460,za);ix(c[bc>>2]|0,87,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+44>>2]|0)+1;Zb=(c[ac>>2]|0)+44|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+44|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+44|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=dx(c[ac>>2]|0)|0;yC(c[bc>>2]|0,4,5320);sx(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Dh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+44>>2]|0))c[(c[ac>>2]|0)+44>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Uz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,104);hx(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Uz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,104);break}else{jx(c[bc>>2]|0,104,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Vz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+40>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+40>>2]=c[Ma>>2];c[Ka>>2]=Sz(c[bc>>2]|0,57,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Wz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){jx(l,96,0,c[Na>>2]|0,c[Xa>>2]|0)|0;PA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);ix(c[bc>>2]|0,34,c[Xa>>2]|0,c[Ja>>2]|0)|0}else ix(l,123,0,c[Xa>>2]|0)|0;jx(c[bc>>2]|0,32,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Yz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Zz(Zb,(wx(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;NA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);ix(c[bc>>2]|0,34,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=CC(c[cc>>2]|0,c[Sa>>2]|0)|0;mx(Vb,99,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Ih(c[bc>>2]|0,31,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);ix(c[bc>>2]|0,123,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;zC(Yb,Zb,32474,Ya);ix(c[bc>>2]|0,87,c[Wa>>2]|0,4)|0;_z(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}ix(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Zz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;DC(bc,(Gi(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+44>>2]=6;kC(c[bc>>2]|0,32477);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Qi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;ix(c[bc>>2]|0,76,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;sx(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Vw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+44>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+44>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=l;mx(c[bc>>2]|0,141,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Jh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Sz(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];mx(Yb,97,0,3,0,Gh(Zb,32493,Pb)|0,-1)|0;jx(c[bc>>2]|0,83,2,4,1)|0;jx(c[bc>>2]|0,52,4,3,2)|0;ix(c[bc>>2]|0,87,2,1)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Jj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);EC(c[ac>>2]|0);FC(c[ac>>2]|0,c[Jb>>2]|0,104,0,1,0,ib,jb)|0;ix(c[bc>>2]|0,76,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;ix(l,76,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,57,c[ib>>2]|0,0)|0;c[ub>>2]=ix(c[bc>>2]|0,91,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;NA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Jh(c[bc>>2]|0,-128);c[mb>>2]=Sz(c[bc>>2]|0,35,3)|0;ix(c[bc>>2]|0,91,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Gh(Zb,32517,Qb)|0;mx(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;ix(c[bc>>2]|0,87,3,1)|0;c[ob>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[mb>>2]|0);Zz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Wz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=oA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];ix(c[bc>>2]|0,91,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Ih(c[bc>>2]|0,31,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32537)|0;jx(c[bc>>2]|0,52,7,3,3)|0;hx(c[bc>>2]|0,4,32542)|0;jx(c[bc>>2]|0,52,4,3,3)|0;c[rb>>2]=hx(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,4,3,3)|0;ix(c[bc>>2]|0,87,3,1)|0;c[qb>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Wz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))ix(c[bc>>2]|0,34,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Sz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Yz(c[bc>>2]|0,c[Mb>>2]|0)|0;Zz(c[bc>>2]|0,c[sb>>2]|0);Ih(c[bc>>2]|0,59,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32563)|0;Yz(c[bc>>2]|0,c[rb>>2]|0)|0;_z(c[bc>>2]|0,c[Mb>>2]|0)}Zz(c[bc>>2]|0,c[qb>>2]|0);pA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Zz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);hx(c[bc>>2]|0,2,32590)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=wx(c[bc>>2]|0)|0;ix(c[bc>>2]|0,66,1,(c[bb>>2]|0)+2|0)|0;ix(c[bc>>2]|0,75,0,0)|0;ix(c[bc>>2]|0,100,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;jx(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Jh(c[bc>>2]|0,-112);ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,3,2,7)|0;ix(c[bc>>2]|0,87,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Kh(c[bc>>2]|0,4,32619,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=32635;break a}case 12:{if(!(c[ec>>2]|0)){if(Kz(c[ac>>2]|0)|0)break a;jC(c[bc>>2]|0,32638,c[5336+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=5336;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[968]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Eh(bc,32647,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Lh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Kh(c[bc>>2]|0,2,32672,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Pi(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Kh(c[bc>>2]|0,3,32680,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;GC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+44>>2]=1;kC(c[bc>>2]|0,32692);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;hx(l,1,c[Ga>>2]|0)|0;ix(c[bc>>2]|0,87,1,1)|0}GC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,32707)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,32712)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,32720)|0))c[G>>2]=3}while(0);yC(c[bc>>2]|0,3,5408);c[(c[ac>>2]|0)+44>>2]=3;jx(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;ix(c[bc>>2]|0,87,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Pi(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+224>>2]|0)==139)l=c[(c[cc>>2]|0)+228>>2]|0;else l=0;lC(c[bc>>2]|0,32729,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;lC(ac,32756,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Hi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;lC(ac,32772,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Pi(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;lC(c[bc>>2]|0,32748,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+444>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+444>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+36>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Fh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Xy(l,c[e>>2]|0);cC(q,c[f>>2]|0,c[k>>2]|0,18664,l);if((hC(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(fC(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+148+5>>0]|0)){c[r>>2]=dx(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;rx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?19905:19924;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;cx(q,32010,s);Tf(c[j>>2]|0,c[u>>2]|0);ex(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];gx(r,s,Gh(u,32074,t)|0)}if(a[(c[j>>2]|0)+148+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Uj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){mh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=sj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);ov(c[j>>2]|0,c[g>>2]|0);i=w;return}function zw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Eh(c[I>>2]|0,31693,r);break}else{c[N>>2]=Oz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+148+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+148+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(cC(q,c[I>>2]|0,c[N>>2]|0,18664,c[D>>2]|0),(dC(q,c[K>>2]|0)|0)==0):0){c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+148+4>>0]|0)!=1)break;a[(c[M>>2]|0)+148+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Eh(c[I>>2]|0,31739,s);break}c[P>>2]=Tw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Sx(c[I>>2]|0,c[P>>2]|0)|0):0){if(sj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){sx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Eh(o,31780,F);break}}if(!(zd(c[c[E>>2]>>2]|0,27844,7)|0)){Eh(c[I>>2]|0,31806,t);break}if((c[x>>2]|0)!=77?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?31844:31851;c[u+4>>2]=H;c[u+8>>2]=0;Eh(N,31857,u);break}if((c[x>>2]|0)==77?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Eh(N,31894,v);break}c[C>>2]=Fh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((ax(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(ax(c[I>>2]|0,18,(c[C>>2]|0)==1?19905:19924,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[O>>2]=sh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=qh(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;N=Iy(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=Iz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+444>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);hv(c[M>>2]|0,c[K>>2]|0);kv(c[M>>2]|0,c[J>>2]|0);iv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+444>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function Aw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Qy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=Iy(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}ev(c[h>>2]|0,c[j>>2]|0);iv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function Bw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=_x(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}else{kv(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=aC(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=Iy(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}iv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function Dw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=sh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){fv(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ew(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}if(Kz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=sj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){_B(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)ZB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Eh(f,31622,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}function Fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;IB(c[k>>2]|0,24,4448,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;IB(c[f>>2]|0,25,4420,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function Hw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(Kz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){kA(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Tw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}kA(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=Oz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Tw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ti(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){lA(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Kj(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){rx(f,0,c[r>>2]|0);mA(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Eh(f,31007,t);i=u;return}}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(Kz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=Oz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Tw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Kj(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Dh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=Mz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){Lz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Tw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Kj(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Dh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)Lz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=dx(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}fx(c[p>>2]|0,150)|0;i=r;return}function Jw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=px(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Fh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Tw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ti(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Kj(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(qx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Sx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Eh(g,28337,v);break}if(ax(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Tx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Ux(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=dx(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;rx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);ex(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+44|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;hx(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;mx(c[u>>2]|0,157,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Vx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Wx(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Xx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?19905:19924;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;cx(v,28364,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?19905:19924;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;cx(z,28433,w);if(ti(c[l>>2]|0,28817,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;cx(C,28833,x)}C=Ax(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;cx(C,28891,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Yx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))yx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);yx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Eh(D,28278,h)}while(0);hv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Kw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+144|0;w=E+40|0;v=E+32|0;z=E+24|0;y=E+16|0;x=E+8|0;u=E;g=E+128|0;h=E+124|0;n=E+120|0;o=E+116|0;k=E+112|0;B=E+108|0;D=E+104|0;A=E+100|0;l=E+96|0;m=E+92|0;j=E+88|0;t=E+84|0;q=E+80|0;p=E+76|0;r=E+72|0;C=E+68|0;s=E+64|0;c[g>>2]=e;c[h>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+36>>2]|0){i=E;return}if(d[(c[j>>2]|0)+69>>0]|0){i=E;return}c[n>>2]=c[(c[g>>2]|0)+440>>2];c[k>>2]=Fh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[B>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[D>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ti(c[j>>2]|0,c[D>>2]|0,c[B>>2]|0)|0;if(ax(c[g>>2]|0,26,c[B>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=E;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Eh(c[g>>2]|0,27880,u);i=E;return}if(c[(c[n>>2]|0)+8>>2]|0){Eh(c[g>>2]|0,27912,x);i=E;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Eh(c[g>>2]|0,27939,y);i=E;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Eh(c[g>>2]|0,27998,z);i=E;return}do if(c[m>>2]|0){c[p>>2]=0;c[r>>2]=ux(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[r>>2]|0){i=E;return}if(c[p>>2]|0){ch(c[p>>2]|0);break}Eh(c[g>>2]|0,28051,v);i=E;return}while(0);c[A>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[A>>2]|0){c[C>>2]=(c[A>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[s>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[C>>2]|0)>>>0<=(c[A>>2]|0)>>>0)break;if((a[c[C>>2]>>0]|0)!=59?(d[18403+(d[c[C>>2]>>0]|0)>>0]&1|0)==0:0)break;z=c[C>>2]|0;c[C>>2]=z+-1;a[z>>0]=0}C=(c[j>>2]|0)+24|0;c[C>>2]=c[C>>2]|2097152;C=c[g>>2]|0;v=(c[k>>2]|0)==1?19905:19924;x=c[(c[n>>2]|0)+44>>2]|0;y=c[A>>2]|0;z=(c[(c[n>>2]|0)+44>>2]|0)+1|0;D=c[D>>2]|0;c[w>>2]=c[B>>2];c[w+4>>2]=v;c[w+8>>2]=x;c[w+12>>2]=y;c[w+16>>2]=z;c[w+20>>2]=D;cx(C,28097,w);Tf(c[j>>2]|0,c[A>>2]|0);c[(c[j>>2]|0)+24>>2]=c[s>>2]}c[q>>2]=vx(c[g>>2]|0)|0;jx(c[t>>2]|0,101,c[k>>2]|0,c[q>>2]|0,2)|0;Lh(c[t>>2]|0,c[k>>2]|0);ix(c[t>>2]|0,91,c[q>>2]|0,-2)|0;C=c[t>>2]|0;D=c[q>>2]|0;ix(C,66,D,(wx(c[t>>2]|0)|0)+2|0)|0;jx(c[t>>2]|0,102,c[k>>2]|0,2,3)|0;xx(c[g>>2]|0,c[q>>2]|0);yx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=E;return}function Lw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=px(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Eh(c[h>>2]|0,27691,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Eh(e,27725,s);break}if(((0==(qx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Fh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=sh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+440>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=sh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Gh(s,27755,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){TR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=qh(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;rx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=dx(c[h>>2]|0)|0;if(c[r>>2]|0)ex(c[h>>2]|0,c[m>>2]|0)}}while(0);hv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Mw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+440>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}_w(c[e>>2]|0);c[(c[e>>2]|0)+452>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+148+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+384+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+384>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+384;c[s>>2]=Gh(r,27552,o)|0;c[h>>2]=Fh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?19905:19924;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+100>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;cx(r,27576,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=dx(c[e>>2]|0)|0;ex(c[e>>2]|0,c[h>>2]|0);fx(c[n>>2]|0,150)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Gh(s,27664,q)|0;gx(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+44|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;hx(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;ix(c[n>>2]|0,153,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Uj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){mh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+440>>2]=0;i=u;return}}function Nw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;zv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Fh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;$w(r,q,Tw(c[l>>2]|0,c[k>>2]|0)|0);$w(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;$w(q,r,qh(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+384+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+384>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}ax(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Ow(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_w(c[d>>2]|0);c[(c[d>>2]|0)+452>>2]=0;c[(c[d>>2]|0)+452+4>>2]=0;i=b;return}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+452;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Qw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Tw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Eh(t,27484,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Uw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=sh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){ev(c[m>>2]|0,c[k>>2]|0);fv(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Rw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[10806+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[11456+(c[h>>2]<<1)>>1]|0}function Sw(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];i=b;return}function Tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Yw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Zw(c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Uw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Vw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((lu(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Ww(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Vw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Xw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Ww(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(lu(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Vw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}mh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}mh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Yw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Vw(b,d,C)|0;if(c[l>>2]|0){TR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Zw(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){i=j;return}a[h>>0]=a[c[e>>2]>>0]|0;if(!(d[18403+(d[h>>0]|0)>>0]&128)){i=j;return}if((a[h>>0]|0)==91)a[h>>0]=93;c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+452>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+440>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+452>>2];c[e>>2]=c[(c[b>>2]|0)+452+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+440>>2]|0;a=c[e>>2]|0;$w(h,b,Yw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Uw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function ax(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+148+5>>0]|0|0)==0?(d[(c[j>>2]|0)+410>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+448>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;bx(c[j>>2]|0)}}else{Eh(c[j>>2]|0,27514,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function bx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Eh(c[d>>2]|0,27529,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function cx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+36|0;f=n+32|0;g=n+16|0;m=n+8|0;l=n+4|0;j=n;k=n+40|0;c[h>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+36>>2]|0){i=n;return}c[g>>2]=e;c[m>>2]=ox(c[j>>2]|0,c[f>>2]|0,g)|0;if(!(c[m>>2]|0)){i=n;return}f=(c[h>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;f=k;g=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));f=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));Yh(c[h>>2]|0,c[m>>2]|0,l)|0;Tf(c[j>>2]|0,c[l>>2]|0);Tf(c[j>>2]|0,c[m>>2]|0);f=(c[h>>2]|0)+400|0;g=k;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;i=n;return}function dx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}else{d=nx(c[b>>2]|0)|0;i=e;return d|0}return 0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];jx(c[g>>2]|0,102,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function gx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;mx(c[e>>2]|0,136,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Lh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=mx(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function ix(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=jx(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+136>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)<=(c[o>>2]|0)){c[h>>2]=kx(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+136|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+88>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function kx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(lx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=jx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];if(c[(c[f>>2]|0)+48>>2]|0)b=c[(c[f>>2]|0)+48>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Uw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+88>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=ku(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=e;c[(c[f>>2]|0)+48>>2]=((c[(c[f>>2]|0)+52>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+88>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function mx(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=jx(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Mh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function nx(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;b=Hh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)ix(c[f>>2]|0,71,0,1)|0;if(c[(c[d>>2]|0)+124>>2]|0){f=c[f>>2]|0;i=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8){f=c[f>>2]|0;i=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;i=g;return f|0}function ox(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+96>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}mh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function px(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Dh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,27844,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Eh(b,27852,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function rx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;c[k>>2]=f;sx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+92|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[e>>2]=b;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0){i=f;return}g=(c[e>>2]|0)+96|0;c[g>>2]=c[g>>2]|1<>2];if((c[d>>2]|0)!=1){i=f;return}tx(c[e>>2]|0)|0;i=f;return}function tx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+409>>0]|0)==0:0){c[h>>2]=bk(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Eh(c[e>>2]|0,27774,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ci(c[g>>2]|0,c[(c[f>>2]|0)+80>>2]|0,-1,0)|0)){mh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;h=n+8|0;j=n+4|0;k=n+13|0;l=n+12|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[j>>2]|0)){g=0;i=n;return g|0}g=Cx(c[h>>2]|0,c[j>>2]|0,a[k>>0]|0,a[l>>0]|0,c[m>>2]|0,0)|0;i=n;return g|0}function vx(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+44|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+352+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function wx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+136>>2]|0}function xx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+152;while(1){if((c[f>>2]|0)>=(d[(c[g>>2]|0)+25>>0]|0|0)){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+352+((j&255)<<2)>>2]=h;i=k;return}}function yx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=dx(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=zx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;mx(c[l>>2]|0,140,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}mx(c[l>>2]|0,138,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Gh(d,28206,m)|0;if(!(c[n>>2]|0)){i=o;return}gx(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=Ax(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}gx(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function zx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+150>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=zx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=Bx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Gh(h,28218,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function Bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Gh(a,28250,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Gh(a,28242,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function Cx(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=18402;c[D>>2]=0;while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==161))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==66){a[p>>0]=Dx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=Cx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){Ex(c[c[A>>2]>>2]|0,a[p>>0]|0,1);Fx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=134?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28264}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==132|(c[s>>2]|0)==134){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=aS(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;hh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Gh(l,24705,t)|0;if(!(c[w>>2]|0)){n=42;break}_h(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==134|(c[s>>2]|0)==132?(d[y>>0]|0|0)==65:0)Fx(c[B>>2]|0,67,1);else Fx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=iu(c[B>>2]|0,d[x>>0]|0)|0;n=41}else n=41}else n=42}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}else{n=41;break}}if((c[s>>2]|0)!=133){n=41;break}c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=Ix(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;gh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=41;break}w=0==(ux(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){Hx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);Fx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=41}else n=41}while(0);if((n|0)==41){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==42){mh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);ch(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function Dx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[17613+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[18403+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Qi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function Ex(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}Fx(j,66,a[l>>0]|0);if(!((e[(c[k>>2]|0)+8>>1]|0)&2)){i=m;return}b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}case 67:{Hx(c[k>>2]|0)|0;i=m;return}case 68:{Qx(c[k>>2]|0)|0;i=m;return}case 69:{Rx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;Fx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function Fx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Lx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Zh(c[e>>2]|0)|0;i=d;return b|0}function Hx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+$g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Jx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-16403;i=g;return 0}function Ix(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Vw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Li(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Li(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function Jx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=Kx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function Kx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function Lx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)Mx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){Jx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}Bh(c[k>>2]|0,1);i=l;return}function Mx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(Nx(c[l>>2]|0,32)|0){a[(c[l>>2]|0)+10>>0]=0;c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28266,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28271,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}iu(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function Nx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Ox(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Ox(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Px(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ch(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=ku(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}ih(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)TR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Uw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=ah(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Rx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+$g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Sx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+148+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,27844,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Eh(e,30775,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Tx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;o=r+24|0;n=r+20|0;m=r+16|0;l=r+12|0;k=r+8|0;q=r+4|0;c[h>>2]=a;c[j>>2]=f;c[m>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(Zx(c[h>>2]|0,c[j>>2]|0)|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){q=c[h>>2]|0;c[p>>2]=c[c[j>>2]>>2];Eh(q,28983,p);c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=_x(c[k>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=c[(c[h>>2]|0)+40>>2];$x(c[h>>2]|0,c[(c[n>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;p=(c[k>>2]|0)+256|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=c[(c[k>>2]|0)+296>>2];c[(c[k>>2]|0)+296>>2]=0;c[o>>2]=ay(c[h>>2]|0,c[n>>2]|0)|0;c[(c[k>>2]|0)+296>>2]=c[q>>2];c[(c[h>>2]|0)+40>>2]=c[l>>2];do if(c[(c[j>>2]|0)+24>>2]|0){by(c[h>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[h>>2]|0)+36>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[n>>2]>>2]>>2]|0):0)cy(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0)}else if(c[o>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[o>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=0;c[(c[o>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[m>>2]=(c[m>>2]|0)+1;break}while(0);Rf(c[k>>2]|0,c[o>>2]|0);fv(c[k>>2]|0,c[n>>2]|0);q=(c[k>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[m>>2]=(c[m>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[g>>2]=c[m>>2];q=c[g>>2]|0;i=r;return q|0}function Ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Vx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Wx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Yx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=Bx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Yx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Zx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Ux(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=sj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=Jz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Eh(p,18391,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Eh(o,30631,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function _x(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Vw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=Qy(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=Gz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=_x(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-33;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=Hz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function $x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)$x(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function ay(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;my(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+36>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=sh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;by(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;cy(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function by(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];zj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=sh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=24745;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==55){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Gh(E,18391,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(sj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[18403+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Gh(E,29047,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Uj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)mh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}Aj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function cy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+96|0;h=w+84|0;j=w+80|0;k=w+76|0;m=w+72|0;t=w+40|0;r=w+36|0;s=w+32|0;n=w+28|0;q=w+24|0;l=w+20|0;u=w;v=w+16|0;p=w+12|0;o=w+8|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=u;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[r>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[q>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v>>2]=dy(t,c[q>>2]|0,(c[r>>2]|0)+14|0)|0;g=u;g=RR(c[g>>2]|0,c[g+4>>2]|0,d[(c[r>>2]|0)+14>>0]|0,0)|0;f=u;c[f>>2]=g;c[f+4>>2]=C;f=ey(c[q>>2]|0)|0;a[(c[r>>2]|0)+13>>0]=f;if(((c[v>>2]|0)!=0?(f=Jf(c[v>>2]|0)|0,c[o>>2]=f,(f|0)>0):0)?(c[p>>2]=Jf(c[c[r>>2]>>2]|0)|0,f=(c[p>>2]|0)+(c[o>>2]|0)+2|0,f=Px(c[m>>2]|0,c[c[r>>2]>>2]|0,f,((f|0)<0)<<31>>31)|0,c[c[r>>2]>>2]=f,(c[c[r>>2]>>2]|0)!=0):0){TR((c[c[r>>2]>>2]|0)+((c[p>>2]|0)+1)|0,c[v>>2]|0,(c[o>>2]|0)+1|0)|0;f=(c[r>>2]|0)+15|0;a[f>>0]=d[f>>0]|4}if(!(a[(c[r>>2]|0)+13>>0]|0))a[(c[r>>2]|0)+13>>0]=65;c[s>>2]=fy(c[h>>2]|0,c[q>>2]|0)|0;if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+8>>2]|0)==0:0){f=qh(c[m>>2]|0,c[c[s>>2]>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+16}v=u;v=aS(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=Mj(v,C)|0;b[(c[j>>2]|0)+40>>1]=v;i=w;return}function dy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=dy(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=18759;break a}else{c[w>>2]=vi((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=dy(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function ey(e){e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=e;c[g>>2]=ky(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;h=a[f>>0]|0;i=j;return h|0}c[h>>2]=d[c[g>>2]>>0];if((c[h>>2]|0)==119){a[f>>0]=ey(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==157)c[h>>2]=d[(c[g>>2]|0)+38>>0];if((c[h>>2]|0)==66){a[f>>0]=Dx(c[(c[g>>2]|0)+8>>2]|0,0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==154|(c[h>>2]|0)==152){a[f>>0]=ly(c[(c[g>>2]|0)+44>>2]|0,b[(c[g>>2]|0)+32>>1]|0)|0;h=a[f>>0]|0;i=j;return h|0}e=c[g>>2]|0;if((c[h>>2]|0)==159){a[f>>0]=ey(c[(c[(c[c[(c[(c[g>>2]|0)+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((b[e+32>>1]|0)*20|0)>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}else{a[f>>0]=a[e+1>>0]|0;h=a[f>>0]|0;i=j;return h|0}return 0}function fy(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==66|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==53){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==88?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=gy(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(hy(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function gy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){iy(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(jy(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Eh(p,29013,n);p=c[m>>2]|0;i=o;return p|0}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=gy(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function iy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+232>>2]|0){c[l>>2]=qh(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+236>>2]|0)){i=n;return}c[k>>2]=Zh(c[g>>2]|0)|0;_h(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Zg(c[k>>2]|0,((a[968]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+236>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);ch(c[k>>2]|0);i=n;return}function jy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Sj(c[e>>2]|0,a[29044+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function ky(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function ly(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)<0){b=68;b=b&255;i=g;return b|0}b=a[(c[(c[e>>2]|0)+4>>2]|0)+(c[f>>2]<<4)+13>>0]|0;b=b&255;i=g;return b|0}function my(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&128){i=l;return}ny(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}oy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}py(c[g>>2]|0,c[h>>2]|0);i=l;return}function ny(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;sy(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&1024){h=c[e>>2]|0;sy(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;sy(f,h)|0;i=g;return}function oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];sy(g,c[f>>2]|0)|0;i=e;return}function py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];sy(f,c[e>>2]|0)|0;i=d;return}function qy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}cy(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function ry(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ty(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(uy(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(vy(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(wy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function uy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(sy(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(vy(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(wy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=xy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&8404992|0)==0:0){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if((c[(c[f>>2]|0)+16>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if(c[(c[f>>2]|0)+4>>2]&2048){if(sy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}}else if((c[(c[f>>2]|0)+20>>2]|0)!=0?(vy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=c[g>>2]&2;g=c[d>>2]|0;i=h;return g|0}function yy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;m=M+40|0;F=M+32|0;H=M+24|0;G=M+16|0;E=M+8|0;D=M;L=M+128|0;q=M+124|0;r=M+120|0;A=M+116|0;C=M+112|0;n=M+108|0;p=M+104|0;o=M+100|0;l=M+96|0;z=M+92|0;v=M+88|0;x=M+84|0;I=M+80|0;u=M+76|0;w=M+72|0;J=M+68|0;y=M+64|0;t=M+132|0;s=M+60|0;B=M+56|0;j=M+52|0;h=M+48|0;k=M+44|0;c[q>>2]=f;c[r>>2]=g;c[A>>2]=c[(c[q>>2]|0)+24>>2];c[C>>2]=c[c[A>>2]>>2];if(c[(c[r>>2]|0)+4>>2]&4){c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[r>>2]>>0]|0){case 55:{c[L>>2]=_y(c[C>>2]|0,0,0,c[(c[r>>2]|0)+8>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 122:{$y(c[C>>2]|0,c[A>>2]|0,29561,32);c[l>>2]=c[(c[r>>2]|0)+16>>2];if((d[c[l>>2]>>0]|0)==55){c[o>>2]=0;c[p>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2]}else{c[o>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[p>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+8>>2]}c[L>>2]=_y(c[C>>2]|0,c[o>>2]|0,c[p>>2]|0,c[n>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 151:{c[z>>2]=c[(c[r>>2]|0)+20>>2];if(c[z>>2]|0)h=c[c[z>>2]>>2]|0;else h=0;c[v>>2]=h;c[x>>2]=0;c[I>>2]=0;c[u>>2]=0;a[t>>0]=a[(c[c[C>>2]>>2]|0)+66>>0]|0;c[J>>2]=c[(c[r>>2]|0)+8>>2];c[w>>2]=Jf(c[J>>2]|0)|0;c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,c[v>>2]|0,a[t>>0]|0,0)|0;do if(!(c[y>>2]|0)){c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,-2,a[t>>0]|0,0)|0;if(!(c[y>>2]|0)){c[x>>2]=1;break}else{c[I>>2]=1;break}}else{c[u>>2]=(c[(c[y>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[y>>2]|0)+2>>1]&1024){t=(c[r>>2]|0)+4|0;c[t>>2]=c[t>>2]|266240;if((c[v>>2]|0)!=2){c[(c[r>>2]|0)+28>>2]=(a[c[(c[y>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}v=az(c[(c[(c[z>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[r>>2]|0)+28>>2]=v;if((c[(c[r>>2]|0)+28>>2]|0)<0){Eh(c[C>>2]|0,29578,D);D=(c[A>>2]|0)+24|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);c[s>>2]=ax(c[C>>2]|0,31,0,c[(c[y>>2]|0)+20>>2]|0,0)|0;if(c[s>>2]|0){if((c[s>>2]|0)==1){K=c[C>>2]|0;c[E>>2]=c[(c[y>>2]|0)+20>>2];Eh(K,29649,E);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}a[c[r>>2]>>0]=101;c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}else{if(e[(c[y>>2]|0)+2>>1]&10240){E=(c[r>>2]|0)+4|0;c[E>>2]=c[E>>2]|524288}if(e[(c[y>>2]|0)+2>>1]&2048)break;$y(c[C>>2]|0,c[A>>2]|0,29684,34);break}}while(0);if((c[u>>2]|0)!=0?(e[(c[A>>2]|0)+28>>1]&1|0)==0:0){I=c[C>>2]|0;J=c[J>>2]|0;c[G>>2]=c[w>>2];c[G+4>>2]=J;Eh(I,29712,G);J=(c[A>>2]|0)+24|0;c[J>>2]=(c[J>>2]|0)+1;c[u>>2]=0}else K=31;do if((K|0)==31){if((c[x>>2]|0)!=0?(d[(c[c[C>>2]>>2]|0)+148+5>>0]|0)==0:0){K=c[C>>2]|0;J=c[J>>2]|0;c[H>>2]=c[w>>2];c[H+4>>2]=J;Eh(K,29748,H);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1;break}if(c[I>>2]|0){K=c[C>>2]|0;J=c[J>>2]|0;c[F>>2]=c[w>>2];c[F+4>>2]=J;Eh(K,29771,F);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if(c[u>>2]|0){K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]&-2}vy(c[q>>2]|0,c[z>>2]|0)|0;if(c[u>>2]|0){c[B>>2]=c[A>>2];a[c[r>>2]>>0]=-103;a[(c[r>>2]|0)+38>>0]=0;while(1){if(!(c[B>>2]|0))break;if(!((bz(c[r>>2]|0,c[(c[B>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(c[r>>2]|0)+38|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24;c[B>>2]=c[(c[B>>2]|0)+16>>2]}if(c[B>>2]|0){K=(c[B>>2]|0)+28|0;b[K>>1]=e[K>>1]|(16|e[(c[y>>2]|0)+2>>1]&4096)}K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|1}c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}case 33:case 20:case 119:{if((c[(c[r>>2]|0)+4>>2]&2048|0)!=0?(c[j>>2]=c[(c[A>>2]|0)+20>>2],$y(c[C>>2]|0,c[A>>2]|0,29816,38),sy(c[q>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)!=(c[(c[A>>2]|0)+20>>2]|0)):0){K=(c[r>>2]|0)+4|0;c[K>>2]=c[K>>2]|32;K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|64}break}case 135:{$y(c[C>>2]|0,c[A>>2]|0,29827,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((a[(c[c[C>>2]>>2]|0)+69>>0]|0)==0?(c[h>>2]=cz(c[(c[r>>2]|0)+12>>2]|0)|0,c[k>>2]=cz(c[(c[r>>2]|0)+16>>2]|0)|0,(c[h>>2]|0)!=(c[k>>2]|0)):0)Eh(c[C>>2]|0,29838,m);break}default:{}}if(c[(c[C>>2]|0)+36>>2]|0)h=1;else h=(d[(c[c[C>>2]>>2]|0)+69>>0]|0)!=0;c[L>>2]=h?2:0;L=c[L>>2]|0;i=M;return L|0}function zy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&64)){my(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+36>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(Ay(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(Ay(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&65536){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+448>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+448>>2]=c[(c[o>>2]|0)+8>>2];oy(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+448>>2]=c[w>>2];if(c[(c[A>>2]|0)+36>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(By(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&16|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(Ay(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(Ay(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(By(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&65536){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(Cy(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29099)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(Cy(v,c[x>>2]|0,c[n>>2]|0,29105)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Eh(c[A>>2]|0,29055,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Eh(c[A>>2]|0,29111,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{Dy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(Ey(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function Ay(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Zy(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+416>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4113;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];wy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+36>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function By(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(Ay(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Cy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=ky(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=Hy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(Fy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(Ay(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(Ky(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){Gy(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ty(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function Dy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512){Eh(b,29321,g);i=g;return}else{c[f>>2]=Sy(d[(c[e>>2]|0)+4>>0]|0)|0;Eh(b,29367,f);i=g;return}}function Ey(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+96+8>>2]|0)){Eh(c[r>>2]|0,29170,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=ky(c[c[n>>2]>>2]|0)|0;if(Fy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=Hy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=Iy(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=Jy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;iv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Wv(c[h>>2]|0,134,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=53)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}iv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){Gy(c[r>>2]|0,29099,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Eh(u,29204,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function Fy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=Fy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(Fy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function Gy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Eh(b,29265,g);i=f;return}function Hy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){b=0;i=h;return b|0}b=My(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;i=h;return b|0}function Jy(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=Ay(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(Ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function Ky(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==53?(Ky(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==53?(Ky(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(hR(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ly(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Ly(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(Ky(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function My(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+44|0;p=t+40|0;n=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;l=t+20|0;j=t+16|0;g=t+12|0;k=t+8|0;h=t+4|0;m=t;c[o>>2]=a;c[p>>2]=b;c[n>>2]=e;c[q>>2]=f;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[l>>2]=32768}else{b=c[o>>2]|0;f=Ny(c[p>>2]|0,c[n>>2]|0)|0;c[s>>2]=Vw(b,f,((f|0)<0)<<31>>31)|0;c[l>>2]=0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[j>>2]=Oy(c[p>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[j>>2]&4095;if((c[(c[p>>2]|0)+4>>2]&1024|0)==0?(c[(c[p>>2]|0)+8>>2]|0)!=0:0)c[k>>2]=(Jf(c[(c[p>>2]|0)+8>>2]|0)|0)+1;else c[k>>2]=0;if(!(c[n>>2]|0)){c[h>>2]=Py(c[p>>2]|0)|0;TR(c[s>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;if((c[h>>2]|0)>>>0<48)VR((c[s>>2]|0)+(c[h>>2]|0)|0,0,48-(c[h>>2]|0)|0)|0}else TR(c[s>>2]|0,c[p>>2]|0,c[g>>2]|0)|0;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]&-122881;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[j>>2]&24576;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[l>>2];if(c[k>>2]|0){l=(c[s>>2]|0)+(c[g>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=l;c[m>>2]=l;TR(c[m>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[k>>2]|0)|0}do if(!((c[(c[p>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&8404992)){a=c[o>>2]|0;e=(c[p>>2]|0)+20|0;if(c[(c[p>>2]|0)+4>>2]&2048){m=_x(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=Qy(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[p>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&8404992){s=c[r>>2]|0;i=t;return s|0}if((d[c[r>>2]>>0]|0|0)==159)c[(c[r>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2];else{s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s}s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}n=Ry(a,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+n;if(!(c[(c[r>>2]|0)+4>>2]&8404992)){if(c[(c[p>>2]|0)+12>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+12>>2]=a;if(c[(c[p>>2]|0)+16>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+16>>2]=a}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Ry(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=Ny(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(Ny(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function Oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Py(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function Qy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Vw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Vw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=Iy(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(Oy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Sy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=29449;break}case 118:{c[b>>2]=29459;break}case 117:{c[b>>2]=29469;break}default:c[b>>2]=29476}i=d;return c[b>>2]|0}function Ty(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+96+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Eh(s,29482,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}Uy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){Gy(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function Uy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=Iy(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Vy(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==53)c[p>>2]=Wy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;iv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=qh(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];wy(f,c[d>>2]|0)|0;i=g;return}function Wy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Xy(f,c[j>>2]|0);d=lw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Yy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+96+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Eh(j,29513,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function _y(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&6){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(fz(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(gz(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+128>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+148>>0];if((c[u>>2]|0)!=109?(ig(29940,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+128>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(29944,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+128>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+140|0;c[h>>2]=c[h>>2]|k;break}else{h=f+144|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Eh(W,29948,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}Uy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,18402,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?29979:29994;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Eh(k,30029,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Eh(k,30039,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Eh(W,30016,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=WR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}iv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;iv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?88:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))hz(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function $y(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=29856;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=29902}else c[l>>2]=29884;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Eh(n,29920,k);i=m;return}function az(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=132){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;ez(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;vy(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function cz(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;g=h+8|0;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((d[g>>0]|0|0)==157)a[g>>0]=a[(c[f>>2]|0)+38>>0]|0;if((d[g>>0]|0|0)==158){c[e>>2]=c[c[(c[f>>2]|0)+20>>2]>>2];b=c[e>>2]|0;i=h;return b|0}if((d[g>>0]|0|0)==119){c[e>>2]=c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2];b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=1;b=c[e>>2]|0;i=h;return b|0}return 0}function dz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function ez(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;q=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;r=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[r>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]^1);c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[18403+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break b;b=t;e=c[b+4>>2]|0;if((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835){b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[r>>2]|0)<1e4)j=((c[r>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[r>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}}}while(0);q=_(c[r>>2]|0,c[z>>2]|0)|0;c[r>>2]=q+(c[p>>2]|0);if((c[r>>2]|0)<0){c[z>>2]=-1;c[r>>2]=_(c[r>>2]|0,-1)|0}else c[z>>2]=1;q=t;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[r>>2]|0)<=0)break;m=t;j=c[m>>2]|0;m=c[m+4>>2]|0;if((c[z>>2]|0)>0){if((m|0)>214748364|(m|0)==214748364&j>>>0>=3435973836)break;p=t;p=aS(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}else{q=$R(j|0,m|0,10,0)|0;if((q|0)!=0|(C|0)!=0)break;p=t;p=_R(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}c[r>>2]=(c[r>>2]|0)+-1}p=(c[u>>2]|0)<0;q=t;o=c[q>>2]|0;q=c[q+4>>2]|0;b=QR(0,0,o|0,q|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:q;if(!(c[r>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[r>>2]|0)<=307){while(1){if(!((c[r>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}while(1){if((c[r>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[r>>2]=(c[r>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}if((c[r>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[r>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}else h[D>>3]=(c[u>>2]|0)<0?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)==(c[E>>2]|0):0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function fz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function hz(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Fh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==88)c[q>>2]=c[(c[k>>2]|0)+128>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=19895;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=(iz(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function iz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;p=r+16|0;o=r;g=r+52|0;h=r+48|0;j=r+44|0;k=r+40|0;l=r+36|0;m=r+32|0;q=r+28|0;n=r+24|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[q>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];if(a[(c[m>>2]|0)+148+5>>0]|0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=Sb[c[(c[m>>2]|0)+296>>2]&255](c[(c[m>>2]|0)+300>>2]|0,20,c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[(c[h>>2]|0)+448>>2]|0)|0;if((c[n>>2]|0)!=1){if((c[n>>2]|0)!=2&(c[n>>2]|0)!=0)bx(c[h>>2]|0)}else{f=c[h>>2]|0;if((c[l>>2]|0)!=0?1:(c[(c[m>>2]|0)+20>>2]|0)>2){m=c[j>>2]|0;p=c[k>>2]|0;c[o>>2]=c[q>>2];c[o+4>>2]=m;c[o+8>>2]=p;Eh(f,30046,o)}else{q=c[k>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=q;Eh(f,30079,p)}c[(c[h>>2]|0)+12>>2]=23}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0} +function bN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function cN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];_J(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=JF(c[e>>2]|0)|0;b=VF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=gr((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=ZJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Qj(61919)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=XH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=$J(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Gg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;qr(c[k>>2]|0)|0;break}c[d>>2]=Qj(61914)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function dN(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=mr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function eN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=vg(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Gg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){Bt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}yg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function fN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ps(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Rt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[384]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=RR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Ig(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Rt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,4,0)|0,q=Rt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,8,0)|0,q=Ig(p,25901,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=RR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Xi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=ur(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function gN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(nj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=hs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[384]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=vg(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=hN(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=hs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Js(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function hN(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=iN(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}js(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(qj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=jN(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=wt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function iN(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;j=l+16|0;k=l+12|0;g=l+8|0;e=l+4|0;f=l;c[j>>2]=b;c[k>>2]=0;c[g>>2]=c[c[j>>2]>>2];b=c[j>>2]|0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];k=c[h>>2]|0;i=l;return k|0}if((Br(b)|0)==0?(d[(c[j>>2]|0)+5>>0]|0)!=2:0){b=kj(c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+60>>2]=b;if(!(c[(c[j>>2]|0)+60>>2]|0)){c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}do if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){if((d[(c[j>>2]|0)+5>>0]|0)==4){kN(c[(c[j>>2]|0)+68>>2]|0);break}c[e>>2]=6;b=c[e>>2]|0;if(a[(c[j>>2]|0)+13>>0]|0){c[e>>2]=b|4104;c[f>>2]=c[11]}else{c[e>>2]=b|2048;c[f>>2]=0}c[k>>2]=lN(c[j>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Tt(c[g>>2]|0,c[(c[j>>2]|0)+180>>2]|0,c[(c[j>>2]|0)+68>>2]|0,c[e>>2]|0,c[f>>2]|0)|0}while(0);if(!(c[k>>2]|0)){c[(c[j>>2]|0)+48>>2]=0;g=(c[j>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[j>>2]|0)+20>>0]=0;g=(c[j>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=Dt(c[j>>2]|0)|0}}b=c[j>>2]|0;if(c[k>>2]|0){pj(c[b+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}function jN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=gs(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Rt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=RR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Ig(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=RR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=RR(p|0,C|0,4,0)|0;c[l>>2]=Rt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=lj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=St(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function kN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Tt(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function lN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=Ai(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function mN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;VR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=aS((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ms(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function nN(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=oN(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function oN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function pN(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function qN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=rK(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=XF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=gr((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Fg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(eR((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(eR(c[j>>2]|0,41796,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=xK(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}QB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((eR((c[j>>2]|0)+21|0,44049,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){QB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Ui(c[o>>2]|0);c[l>>2]=Vi(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Qj(61191)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(gr((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(gr((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);QB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function rN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(Br(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Gt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Ft(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Er(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Gt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Er(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=sN(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function sN(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Xs(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(eR(b,Ds(c[e>>2]|0)|0,48)|0){Kr(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+244>>2]|0)uN(c[(c[d>>2]|0)+244>>2]|0);SJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function uN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[d>>2]|0);i=b;return}function vN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1718]|0;if((b|0)!=(uR()|0)){c[1718]=uR()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=kO(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=BO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=CO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(BQ()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=ot(35186)|0;c[B>>2]=cO(F,44128,c[E>>2]|0,35186)|0;break}if(c[l>>2]&526336){DO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[6632>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=EO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function wN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[6632>>2]&255](c[f>>2]|0)|0)==-1){if((c[(BQ()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=cO(2570,44225,c[f>>2]|0,35312)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[6644>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(rO(c[h>>2]|0,0,0)|0)c[j>>2]=cO(1290,44459,c[f>>2]|0,35322)|0;bO(0,c[h>>2]|0,35324)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function xN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[6488>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[6464>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function yN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[6764>>2]&255](c[o>>2]|0,k)|0){if((c[(BQ()|0)>>2]|0)!=2){s=ot(35436)|0;c[p>>2]=cO(s,44313,c[o>>2]|0,35436)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=ot(35447)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[6752>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=ot(35453)|0;c[p>>2]=cO(s,44304,c[o>>2]|0,35453)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=ot(35459)|0;break}else{UR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;TR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=AO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function zN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;VR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1718]=uR()|0;c[h>>2]=gO(44446,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[6872]|0;a[e+1>>0]=a[6873]|0;a[e+2>>0]=a[6874]|0;a[e+3>>0]=a[6875]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[6536>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);bO(0,c[h>>2]|0,35583);e=c[f>>2]|0;i=l;return e|0}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;zR(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=DN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function CN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(BQ()|0)>>2]|0;i=e;return d|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=aS(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=RR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[6436+((c[g>>2]|0)*12|0)+8>>2]|0)c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(hR(c[e>>2]|0,c[6436+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[6436+(d*12|0)+8>>2]|0))c[6436+((c[g>>2]|0)*12|0)+8>>2]=c[6436+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function FN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[6436+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[6436+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[6436+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function HN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6360}function IN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];PN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=uO(c[d>>2]|0)|0;i=b;return a|0}function JN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=tO(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{pO(c[l>>2]|0,0);VR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function KN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=nO(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=RR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}pO(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function LN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=RR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=_R(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=aS(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=sO(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;pO(k,c[(BQ()|0)>>2]|0);c[e>>2]=cO(1546,44151,c[(c[g>>2]|0)+32>>2]|0,32998)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function MN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=rO(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){pO(d,c[(BQ()|0)>>2]|0);c[f>>2]=cO(1034,44435,c[(c[h>>2]|0)+32>>2]|0,32953)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[6644>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){rO(c[g>>2]|0,0,0)|0;bO(c[h>>2]|0,c[g>>2]|0,32967)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function NN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[6500>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;pO(j,c[(BQ()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function ON(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[6656>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=qO(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)pO(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function PN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[6668>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;pO(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[6464>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function RN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=iO(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{jO(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{jO(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(18391,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){kO(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=lO(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function SN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function TN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function UN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=hO(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=hO(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=hO(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function VN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;ZN();$N();i=b;return}function WN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;ZN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[6632>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;_N(c[g>>2]|0)}$N();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function XN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function YN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function ZN(){return}function _N(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=aO()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[6716>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,33574);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function $N(){return}function aO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[6740>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[6452>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;cO(4106,44091,e,c[f>>2]|0)|0;i=g;return}function cO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(BQ()|0)>>2];c[m>>2]=CQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=18402;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,44097,l);i=n;return c[f>>2]|0}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=EQ(d,a,f)|0;i=e;return a|0}function eO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,18391,l)|0;c[h>>2]=kR(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=gO(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=cO(ot(32912)|0,44232,j,32912)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function fO(){return ib(30)|0}function gO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[6440>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(BQ()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[6452>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,44319,l);c[h>>2]=-1;if((Ob[c[6440>>2]&255](44362,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[6500>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[6608>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function hO(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1631]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function iO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=RR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=_R(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=aS(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=RR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=nO(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,18402,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=RR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function jO(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function kO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;a[c[f>>2]>>0]=0;c[k>>2]=mO()|0;if(!(c[k>>2]|0)){c[l>>2]=6410;l=c[l>>2]|0;i=m;return l|0}while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,44372,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=5;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=5;break}if(Yb[c[6464>>2]&255](c[f>>2]|0,0)|0){e=7;break}}if((e|0)==5){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==7){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function lO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[6488>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function mO(){var a=0,b=0,d=0,e=0,f=0,g=0;f=i;i=i+96|0;d=f+84|0;b=f+80|0;a=f+4|0;e=f;c[b>>2]=0;c[e>>2]=c[243];if(!(c[1693]|0))c[1693]=rb(44389)|0;if(!(c[1694]|0))c[1694]=rb(44403)|0;while(1){if((((c[e>>2]|0)!=0?(Yb[c[6488>>2]&255](c[e>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[6464>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[b>>2]|0)>>>0>=6){a=12;break}g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=c[6772+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;i=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}return 0}function nO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=oO(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function oO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=vR(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[6572>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(BQ()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function pO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function qO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function rO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=qR(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function sO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[6512>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(BQ()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function tO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=vR(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[6536>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(BQ()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function uO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31321);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function vO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6796}function wO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=uO(c[d>>2]|0)|0;i=b;return a|0}function xO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function yO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function zO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function AO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[6476>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=ot(35379)|0;c[f>>2]=cO(b,44133,c[g>>2]|0,35379)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=ot(35388)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,18391,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function BO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[6488>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}ZN();c[e>>2]=c[1738];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}$N();k=c[f>>2]|0;i=j;return k|0}function CO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+560|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;q=r+32|0;n=r+4|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(c[j>>2]&526336){c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}TR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;c[o>>2]=SO(q,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}if(c[j>>2]&8){c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}if(!(c[j>>2]&64)){b=c[o>>2]|0;i=r;return b|0}c[p>>2]=Hf(c[h>>2]|0,44606)|0;if(!(c[p>>2]|0)){b=c[o>>2]|0;i=r;return b|0}c[o>>2]=SO(c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}function DO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[6692>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[6680>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function EO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,44465,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(hR(c[(c[j>>2]|0)+16>>2]|0,44081)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=6796;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=6876){if((c[o>>2]|0)==6360){c[n>>2]=(kR(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,44470,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{ZN();c[q>>2]=FO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){bO(c[p>>2]|0,c[k>>2]|0,34692);c[k>>2]=-1}$N()}pO(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];GO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}bO(c[p>>2]|0,c[k>>2]|0,34777);u=c[q>>2]|0;i=t;return u|0}function FO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[6500>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;pO(m,c[(BQ()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1738];while(1){if(c[j>>2]|0)a=(eR(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1738];c[(c[j>>2]|0)+36>>2]=0;if(c[1738]|0)c[(c[1738]|0)+36>>2]=c[j>>2];c[1738]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function GO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[6500>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44478,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44502,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,44531,j);i=l;return}if(!(lO(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44558,k);i=l;return}function HO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];GO(c[d>>2]|0);JO(c[b>>2]|0,0)|0;ZN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)QO(c[d>>2]|0);RO(c[d>>2]|0);c[e>>2]=uO(c[b>>2]|0)|0;$N();i=f;return c[e>>2]|0}function IO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}ZN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[384],(OO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;pO(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[384]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((OO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(BQ()|0)>>2],c[o>>2]=qO(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)pO(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[384]|0)+2;c[h+8>>2]=510;if(OO(c[m>>2]|0,h)|0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0}c[h+4>>2]=c[384];c[h+8>>2]=1;b[h>>1]=2;q=(OO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;pO(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);$N();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=NO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function KO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];ZN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[384]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;pO(o,c[(BQ()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);$N();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function LO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=aO()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=MO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[6500>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((oO(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,18402,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=cO(4874,44186,c[y>>2]|0,33839)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1676]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=aS(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}VR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=cO(5386,44273,c[(c[C>>2]|0)+8>>2]|0,33866)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function MO(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;ZN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(kR(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}VR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,44586,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];if((c[3]|0)!=0?(c[(c[l>>2]|0)+4>>2]=8,(c[(c[l>>2]|0)+4>>2]|0)==0):0){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,44593,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=gO(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=ot(33691)|0;c[m>>2]=cO(p,44128,c[q>>2]|0,33691)|0;break}DO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((hO(c[f>>2]|0,1,128,1)|0)==0?(sO(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=cO(4618,44151,c[q>>2]|0,33707)|0;if(!(c[m>>2]|0))c[m>>2]=hO(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);_N(c[f>>2]|0);Kd(c[j>>2]|0);$N();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];$N();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function NO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}ZN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[384]|0)+2,c[k+8>>2]=510,(OO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[384];c[k+8>>2]=2;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))PO(c[l>>2]|0)}$N();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function OO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[384]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1631]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function PO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];bO(c[b>>2]|0,c[c[d>>2]>>2]|0,30592);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function QO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function RO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}PO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1738]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function SO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+96|0;m=l+92|0;f=l+88|0;g=l+84|0;h=l+80|0;k=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;if(!(Yb[c[6488>>2]&255](c[m>>2]|0,k)|0)){c[c[f>>2]>>2]=c[k+12>>2]&511;c[c[g>>2]>>2]=c[k+20>>2];c[c[h>>2]>>2]=c[k+24>>2];m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=1802;m=c[j>>2]|0;i=l;return m|0}return 0}function TO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6876}function UO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=de(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function VO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+be(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function XO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=$d(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=RR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=vA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function ZO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=296;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function _O(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Ri(5,c[j>>2]|0);b=296;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=296;j=c[e>>2]|0;j=QR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[79]=1;ZO(c[e>>2]|0);break}else{c[79]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Si(0,c[e>>2]|0);Si(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function $O(){bP(8780,3);return}function aP(){bP(8556,8);return}function bP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[17613+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=hu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1092+(c[g>>2]<<2)>>2];c[1092+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=$d(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;je(h,yd(c[f>>2]|0)|0);i=g;return}function dP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=ce(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;me(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,jf()|0,-1,0);i=e;return}function fP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((ee(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=ae(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=$d(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=OP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=45220;c[l>>2]=8552;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ue(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(eR(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(eR((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}me(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ue(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=PP(c[e>>2]|0)|0;c[j>>2]=0;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((ee(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=MI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}oe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function hP(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=we(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(ee(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}QP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=ve(d)|0;c[(c[l>>2]|0)+32>>2]=m;jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=PP(d)|0;c[j>>2]=(ue(c[g>>2]|0)|0)!=0&1;c[h>>2]=MI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){QP(c[g>>2]|0);i=n;return}jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function iP(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)oe(c[d>>2]|0,c[e>>2]|0);Xg(c[e>>2]|0);i=f;return}function jP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(ee(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=39710;break}case 3:{c[f>>2]=45210;break}case 2:{c[f>>2]=39705;break}case 4:{c[f>>2]=45215;break}default:c[f>>2]=39718}me(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function kP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(ee(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{je(c[g>>2]|0,ae(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}je(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{le(c[g>>2]|0);i=l;return}}}function lP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=ee(c[c[g>>2]>>2]|0)|0;c[n>>2]=ee(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=_d(b)|0;c[p>>2]=_d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(eR(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;je(c[f>>2]|0,c[h>>2]|0);i=q;return}function mP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=ve(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=$d(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+96>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;rA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;me(n,o,c[k>>2]|0,170);i=p;return}function nP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;je(j,JC(g)|0);i=h;return}function oP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){se(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=de(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;ne(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function pP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=de(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}ie(c[e>>2]|0,45165,-1);i=k;return}while(0);j=g;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];he(c[e>>2]|0,+h[j>>3]);i=k;return}}}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(ee(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=ce(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((ee(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+be(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(45205,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;ez(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}se(c[e>>2]|0);i=m;return}while(0);he(c[e>>2]|0,+h[j>>3]);i=m;return}function rP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[18403+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function sP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[17613+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function tP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=_d(c[c[p>>2]>>2]|0)|0;c[k>>2]=ae(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=RR(b|0,C|0,1,0)|0;b=OP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[45189+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[45189+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=QR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}ke(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function vP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=ce(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=OP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);fe(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function wP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=PP(c[e>>2]|0)|0;if(!(MI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}oe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,kf()|0,-1,0);i=e;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=ce(c[c[g>>2]>>2]|0)|0;c[f>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,18391,f);i=e;return}function zP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(ee(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+be(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28271,r)|0;ez(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,45182,s)|0}me(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{oe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=_d(c[c[j>>2]>>2]|0)|0;c[o>>2]=ae(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=OP(u,RR(aS(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;me(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=RR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=RR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=RR(x|0,C|0,3,0)|0;c[t>>2]=OP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;me(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{me(c[g>>2]|0,39691,4,0);i=y;return}}}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;ke(d,a,C);i=e;return}function BP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,qf(c[f>>2]|0)|0);i=e;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,rf(c[f>>2]|0)|0);i=e;return}function DP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=ae(c[c[g>>2]>>2]|0)|0;c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){oe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=OP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(eR((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=ve(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=RR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+96>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}TR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){re(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){se(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){TR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;me(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=de(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=pe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}qe(c[e>>2]|0,c[f>>2]|0);i=g;return}function FP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((ee(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(ee(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=ee(c[c[h>>2]>>2]|0)|0;b=ce(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=ae(e)|0;c[p>>2]=_d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=$d(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=ce(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(ve(c[m>>2]|0)|0)+96>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=RR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=QR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=RR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=RR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=QR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;ge(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=RR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=RR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;ne(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function GP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=we(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+be(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=de(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(II((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function HP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){ie(c[d>>2]|0,45165,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){he(d,+h[b>>3]);i=f;return}else{g=b+8|0;ke(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function IP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;he(a,f);i=d;return}f=+h[c[b>>2]>>3];he(a,f);i=d;return}function JP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;he(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=we(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(ee(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=RR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function LP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;ke(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;ke(a,b,e);i=d;return}function MP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=we(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=ve(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+96>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=34710;c[k>>2]=1}if(c[k>>2]|0)sA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}sA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function NP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){re(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){se(b);i=f;return}else{me(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function OP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=ve(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){re(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}se(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function PP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function QP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function RP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(ZP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}_P(f);j=f;he(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function SP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(ZP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}aQ(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,45506,f)|0;me(c[e>>2]|0,h,-1,-1);i=j;return}function TP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}bQ(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,45491,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}$P(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,45461,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function VP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(ZP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=ve(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+96>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){re(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Vw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){se(c[m>>2]|0);i=J;return}}else c[G>>2]=H;_P(E);$P(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,45303,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,45308,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,45303,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;_P(F);k=E;l=F;c[p>>2]=_R(RR(QR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=RR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=_R(l|0,C|0,864e5,0)|0;l=$R(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,45303,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,45315,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,41946,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,45303,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,45303,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=QR(_R(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28266,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,45303,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=$R(_R(RR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,45320,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;me(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function WP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;TP(c[f>>2]|0,0,0);i=e;return}function XP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;UP(c[f>>2]|0,0,0);i=e;return}function YP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;SP(c[f>>2]|0,0,0);i=e;return}function ZP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=ee(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+be(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=$d(d)|0;if((c[n>>2]|0)!=0?(dQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=$d(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(eQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function _P(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=RR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=RR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=QR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function $P(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;aQ(c[d>>2]|0);bQ(c[d>>2]|0);i=b;return}function aQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=_R(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function bQ(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}_P(c[d>>2]|0);b=c[d>>2]|0;b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=$R(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=mQ(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function dQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(lQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(hQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,45445)|0)){c[f>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(ez(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function eQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[17613+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(hR(c[y>>2]|0,45325)|0){y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((hR(c[y>>2]|0,45335)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=RR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=_R(v|0,C|0,86400,0)|0;v=RR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45345)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);y=l;c[y>>2]=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=QR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;gQ(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;v=QR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(lR(c[y>>2]|0,45349,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(ez((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}$P(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=$R(_R(RR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=QR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=aS(QR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(lR(c[y>>2]|0,45358,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;aQ(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(hR(c[y>>2]|0,45368)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(hR(c[y>>2]|0,45374)|0)){aQ(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45379)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[18403+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(ez(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[18403+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(hQ(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}_P(u);v=u;v=QR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=_R(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=aS(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=QR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}_P(c[w>>2]|0);gQ(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=RR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[18403+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}_P(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(hR(c[y>>2]|0,45379)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45383)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45388)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45395)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(hR(c[y>>2]|0,45368)|0)==0:0){$P(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45374)|0)==0:0){c[r>>2]=~~+h[n>>3];$P(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function fQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));$P(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;_P(o);l=o;l=_R(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=QR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(kQ(n,m)|0){ie(c[j>>2]|0,45422,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;_P(p);c[c[k>>2]>>2]=0;n=p;p=o;p=QR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function gQ(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function hQ(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((iQ(b,45402,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((iQ(r,45410,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[18403+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(jQ(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function iQ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[16422+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[18403+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function jQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((iQ(o,45414,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function kQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function lQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((iQ(b,45449,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[18403+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(hQ(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)_P(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function mQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+56;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=qI(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function nQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=$d(c[c[s>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,k)|0}while((c[k>>2]|0)==162)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Gh(s,45595,l)|0;me(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function oQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=$d(c[c[t>>2]>>2]|0)|0;c[q>>2]=$d(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=$u(c[n>>2]|0,l)|0}while((c[l>>2]|0)==162);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=74&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Gh(t,45595,m)|0;me(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function pQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=ve(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=$d(c[c[v>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=$u(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,j)|0}while((c[j>>2]|0)==162);if((c[j>>2]|0)==163)break;v=c[h>>2]|0;c[s>>2]=Yw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Zw(c[s>>2]|0);if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Gh(v,45584,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[l+4>>2]=s;c[t>>2]=Gh(v,24705,l)|0;me(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=ku(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function rQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)IA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function sQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))k=5;if((k|0)==5?(k=0,((d[(c[f>>2]|0)+42>>0]|0)&16|0)==0):0){c[j>>2]=c[c[g>>2]>>2];Uj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}FH(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}tQ(c[e>>2]|0,c[f>>2]|0);AH(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[c[f>>2]>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);uQ(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[f>>2]|0);i=l;return}function tQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Uj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}uG(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);uG(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function uQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))VJ(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function vQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function wQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function xQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function yQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function zQ(a){a=a|0;var b=0;b=(yQ(a)|0)==0;return (b?a:a|32)|0}function AQ(a){a=a|0;var b=0;b=(xQ(a)|0)==0;return (b?a:a&95)|0}function BQ(){var a=0;if(!(c[2216]|0))a=8912;else a=c[(qb()|0)+60>>2]|0;return a|0}function CQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[45740+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=45828;e=5;break}}if((e|0)==2)if(!c)b=45828;else{b=45828;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function DQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=GQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=GQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=GQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=GQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=GQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=GQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=GQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function EQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=GQ(Db(5,f|0)|0)|0;i=e;return d|0}function FQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[47632+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function GQ(a){a=a|0;if(a>>>0>4294963200){c[(BQ()|0)>>2]=0-a;a=-1}return a|0}function HQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function IQ(a){a=+a;var b=0;h[k>>3]=a;b=SR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+OQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function JQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+OQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function KQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+OQ(f+a*f/(1.0-a))*.5}}else a=+OQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function LQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+MQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+HQ(a);break}while(0);return +a}function MQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=SR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=WR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=WR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function NQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function OQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=WR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function PQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+MQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+HQ(b);while(0);return +a}function QQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+MQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+MQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+MQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function RQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(BQ()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)GR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=GQ(cb(192,h|0)|0)|0;if(j)HR()}else{c[(BQ()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;GR(-1);c[e>>2]=a;c[e+4>>2]=b;a=GQ(Xa(91,e|0)|0)|0;HR();i=d;return a|0}function TQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(wb(15,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(fb(195,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function VQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(eb(196,e|0)|0)|0;i=d;return a|0}function WQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(Za(39,e|0)|0)|0;i=d;return a|0}function XQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(fb(195,e|0)|0)|0;i=d;return a|0}function YQ(a){a=a|0;return 0}function ZQ(a){a=a|0;return}function _Q(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=GQ(Cb(6,d|0)|0)|0;i=b;return a|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((GQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function aR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2216]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=GQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=GQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function bR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=aR(b,d,e)|0;i=g;return f|0}function cR(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=DR(a)|0;break}d=(YQ(a)|0)==0;b=DR(a)|0;if(!d)ZQ(a)}else{if(!(c[2227]|0))b=0;else b=cR(c[2227]|0)|0;Bb(8892);a=c[2222]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=YQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=DR(a)|0|b;if(d)ZQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(8892)}while(0);return b|0}function dR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){ER(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ER(a,d,e,h,o);else FR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}FR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;FR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;FR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function eR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function fR(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function gR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);VR(b|0,0,e|0)|0;return b|0}function hR(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function iR(a,b){a=a|0;b=b|0;fR(a,b)|0;return a|0}function jR(a){a=a|0;var b=0,c=0;c=(kR(a)|0)+1|0;b=JR(c)|0;if(!b)b=0;else TR(b|0,a|0,c|0)|0;return b|0}function kR(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function lR(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function mR(a,b,c){a=a|0;b=b|0;c=c|0;gR(a,b,c)|0;return a|0}function nR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(sb(33,e|0)|0)|0;i=d;return a|0}function oR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=GQ((a|0)==-4?-115:a)|0;i=b;return a|0}function pR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){FQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=GQ(hb(212,h|0)|0)|0}else e=GQ(e)|0;i=j;return e|0}function qR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Oa(118,d|0)|0)|0;i=b;return a|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=GQ(gb(194,e|0)|0)|0;i=d;return b|0}function sR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(BQ()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((GQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=jR(d)|0}else a=0}i=g;return a|0}function tR(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function uR(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function vR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(GQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function wR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ab(3,f|0)|0)|0;i=e;return a|0}function xR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ea(85,f|0)|0)|0;i=e;return a|0}function yR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Na(40,d|0)|0)|0;i=b;return a|0}function zR(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function AR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(yb(10,d|0)|0)|0;i=b;return a|0}function BR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Eb(4,f|0)|0)|0;i=e;return a|0}function CR(a){a=a|0;if(!(c[a+68>>2]|0))ZQ(a);return}function DR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ER(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);IR(b,o,e);i=p;return}function FR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){IR(b,p,e);ER(a,b,d,g,h)}i=r;return}function GR(a){a=a|0;return}function HR(){return}function IR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;TR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;TR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function JR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2257]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2257]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2259]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2261]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2259]|0;break}else Ma()}else{c[2257]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2262]|0;d=k>>>3;b=d<<1;e=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(b>>>0<(c[2261]|0)>>>0)Ma();else{l=a;m=b}}else{c[2257]=a|d;l=9068+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2259]=h;c[2262]=i;M=j;return M|0}a=c[2258]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[9332+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2261]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=9332+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2261]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2259]|0;if(b){g=c[2262]|0;d=b>>>3;b=d<<1;f=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{p=b;q=a}}else{c[2257]=a|d;p=9068+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2259]=j;c[2262]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2258]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[9332+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[9332+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2259]|0)-m|0)>>>0:0){f=c[2261]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=9332+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2261]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{s=b;t=a}}else{c[2257]=d|b;s=9068+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=9332+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2259]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2262]|0;if(b>>>0>15){c[2262]=a+q;c[2259]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2259]=0;c[2262]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2260]|0;if(a>>>0>q>>>0){L=a-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2375]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2377]=a;c[2376]=a;c[2378]=-1;c[2379]=-1;c[2380]=0;c[2368]=0;c[2375]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2377]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2367]|0;if((a|0)!=0?(t=c[2365]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2368]&4)){a=c[2263]|0;e:do if(a){f=9476;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2260]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2376]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2365]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2367]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2377]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2368]=c[2368]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2365]|0)+p|0;c[2365]=a;if(a>>>0>(c[2366]|0)>>>0)c[2366]=a;h=c[2263]|0;g:do if(h){g=9476;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2260]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2263]=h+L;c[2260]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2264]=c[2379];break}a=c[2261]|0;if(w>>>0>>0){c[2261]=w;a=w}d=w+p|0;g=9476;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=9476;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2262]|0)){M=(c[2259]|0)+l|0;c[2259]=M;c[2262]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=9332+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2258]=c[2258]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9068+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0>=(c[2261]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=9332+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2261]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2260]|0)+l|0;c[2260]=M;c[2263]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=9476;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2263]=w+d;c[2260]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2369];c[b+4>>2]=c[2370];c[b+8>>2]=c[2371];c[b+12>>2]=c[2372];c[2369]=w;c[2370]=p;c[2372]=0;c[2371]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{G=b;H=a}}else{c[2257]=d|b;G=9068+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=9332+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2258]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2261]|0;if((M|0)==0|w>>>0>>0)c[2261]=w;c[2369]=w;c[2370]=p;c[2372]=0;c[2266]=c[2375];c[2265]=-1;b=0;do{M=b<<1;L=9068+(M<<2)|0;c[9068+(M+3<<2)>>2]=L;c[9068+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2263]=w+M;c[2260]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379]}while(0);b=c[2260]|0;if(b>>>0>q>>>0){L=b-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(BQ()|0)>>2]=12;M=0;return M|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2261]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2262]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2259]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=9332+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2263]|0)){t=(c[2260]|0)+g|0;c[2260]=t;c[2263]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){t=(c[2259]|0)+g|0;c[2259]=t;c[2262]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=9332+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2261]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2262]|0)){c[2259]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9068+(d<<2)|0;e=c[2257]|0;b=1<>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();else{r=b;s=d}}else{c[2257]=e|b;r=9068+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=9332+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2258]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2261]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2258]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2265]|0)+-1|0;c[2265]=u;if(!u)b=9484;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2265]=-1;return}function LR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=JR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;VR(b|0,0,d|0)|0;return b|0}function MR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=JR(b)|0;return a|0}if(b>>>0>4294967231){c[(BQ()|0)>>2]=12;a=0;return a|0}d=NR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=JR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;TR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;KR(a);a=d;return a|0}function NR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2261]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2377]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;OR(a+b|0,d);return a|0}if((l|0)==(c[2263]|0)){d=(c[2260]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2263]=a+b;c[2260]=n;return a|0}if((l|0)==(c[2262]|0)){e=(c[2259]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2259]=d;c[2262]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=9332+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;OR(a+b|0,n);return a|0}return 0} +function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(qu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function qu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;su(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function su(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];su(c[e>>2]|0);i=h;return}function uu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Sh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];su(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function vu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function wu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[421]=(c[53]|0)==0&1;if((c[421]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[422]=c[55];c[410]=10;c[420]=1;i=d;return 0}else{c[422]=0;c[410]=10;c[420]=1;i=d;return 0}return 0}function xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function yu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[421]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[421]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1628;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Pu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Fu(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Hu(c[e>>2]|0);i=g;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Mu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function Cu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Ju(c[h>>2]|0,1);i=k;return}function Du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Lu(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+40>>2]|0)Lu(c[b>>2]|0,0);f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+24>>2]|0);f=(c[d>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+20>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[(c[d>>2]|0)+4>>2]|0)+10-(c[(c[d>>2]|0)+8>>2]|0);Hu(c[b>>2]|0);Kd(c[(c[b>>2]|0)+56>>2]|0);Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[b>>2]|0);i=e;return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Hu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Hu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Iu(c[e>>2]|0)|0;Ju(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Iu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Ku(c[d>>2]|0);i=h;return}function Ku(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else bj(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+32>>2]|0)-(c[f>>2]|0)|0)>>>0<(c[(c[e>>2]|0)+44>>2]|0)>>>0){c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0;c[h>>2]=((c[(c[e>>2]|0)+32>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}else{c[g>>2]=((c[(c[e>>2]|0)+44>>2]|0)>>>0)/2|0;c[h>>2]=(c[g>>2]|0)-1}while(1){c[k>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[k>>2]>>2]|0;c[j>>2]=b;if(!b)break;if((c[(c[j>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[k>>2]=(c[j>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];if(!(a[(c[j>>2]|0)+12>>0]|0))Iu(c[j>>2]|0)|0;Ku(c[j>>2]|0)}if((c[g>>2]|0)==(c[h>>2]|0))break;c[g>>2]=(((c[g>>2]|0)+1|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}i=l;return}function Mu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Iu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Nu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Nu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Ou(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Pu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Ou(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Ju(c[o>>2]|0,0);Iu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Ku(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Qu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Ou(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[424]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[423]|0):0){c[b>>2]=c[431];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Su()|0;e=c[b>>2]|0;i=d;return e|0}function Pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Yj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Zj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Qu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Ru(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Yj();c[j>>2]=jj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Zj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Ru(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[422]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Yj();if((c[422]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[422]|0;m=aS(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[422]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=aS(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){n=c[(c[e>>2]|0)+12>>2]|0;n=aS(n|0,((n|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;o=j;c[o>>2]=n;c[o+4>>2]=C}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Zj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Su(){return c[79]|0}function Tu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=JR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,26399,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Uu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;KR(c[d>>2]|0);i=b;return}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=MR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Wu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26363,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Wu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Yu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Zu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function _u(d){d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=d;c[e>>2]=Yb[c[g>>2]&255](1608,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}c[c[e>>2]>>2]=(c[e>>2]|0)+8;b[(c[e>>2]|0)+8>>1]=0;a[(c[e>>2]|0)+8+2>>0]=0;g=c[e>>2]|0;i=f;return g|0}function $u(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39282+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=45;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=40;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=46;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=38;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=44;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=52;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=55;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[18403+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?55:163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[18403+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[18403+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=163;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39282+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[18403+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=55;c[n>>2]=Ti(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=133;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=163;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=134;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}while(0);while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=163;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=55;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;h=l+32|0;n=l+28|0;f=l+24|0;m=l+20|0;j=l+8|0;g=l+4|0;k=l;c[n>>2]=a;c[f>>2]=b;c[m>>2]=e;c[k>>2]=c[n>>2];c[(c[k>>2]|0)+4>>2]=c[m>>2];while(1){c[g>>2]=pv(c[k>>2]|0,c[f>>2]&255)|0;do if((c[g>>2]|0)>>>0>999)if((c[g>>2]|0)>>>0<=1331){rv(c[k>>2]|0,(c[g>>2]|0)-1e3|0);break}else{c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];m=c[k>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];sv(m,n,h);nv(c[k>>2]|0,c[f>>2]&255,j);c[f>>2]=252;break}else{a=c[k>>2]|0;m=c[g>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];qv(a,m,n,h);c[f>>2]=252}while(0);if((c[f>>2]|0)==252){f=9;break}if((c[c[k>>2]>>2]|0)>>>0<=((c[k>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){i=l;return}}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;mv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function cv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+8>>2]|0;if(c[(c[b>>2]|0)+4>>2]|0)c[(c[(c[b>>2]|0)+4>>2]|0)+8>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0)c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+20>>2]=1443283912;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);ev(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);fv(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}lv(c[d>>2]|0,c[e>>2]|0);i=f;return}function fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}gv(c[d>>2]|0,c[e>>2]|0,1);i=f;return}function gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];ev(c[e>>2]|0,c[c[f>>2]>>2]|0);hv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)dv(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function hv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)ev(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);fv(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);kv(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jv(c[d>>2]|0,c[e>>2]|0);i=f;return}function jv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(c[(c[f>>2]|0)+4>>2]&8404992)){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(d[c[f>>2]>>0]|0|0)!=159:0)jv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){fv(a,c[b>>2]|0);break}else{ev(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&65536)Tf(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);if(c[(c[f>>2]|0)+4>>2]&32768){i=g;return}Tf(c[e>>2]|0,c[f>>2]|0);i=g;return}function kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;iv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function mv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-16;c[e>>2]=b;nv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function nv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{fv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{ev(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{hv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 250:case 196:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{kv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 237:case 232:{ov(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 234:{kv(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);kv(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function pv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[c[c[q>>2]>>2]>>1];if((c[n>>2]|0)>=1e3){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[14594+(c[n>>2]<<1)>>1];c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1567)?(d[37619+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=13;break}if((d[j>>0]|0)>>>0>=96)break;q=a[39186+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255))break;a[j>>0]=a[l>>0]|0}if((o|0)==13){c[h>>2]=e[11456+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+96;if(((c[m>>2]|0)<1567?(d[37619+(c[m>>2]|0)>>0]|0)==96:0)?(d[j>>0]|0)>0:0){c[h>>2]=e[11456+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[15506+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function qv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+16;if((c[c[h>>2]>>2]|0)>>>0>=((c[h>>2]|0)+8+1600|0)>>>0){tv(c[h>>2]|0);i=m;return}if((c[j>>2]|0)>455)c[j>>2]=(c[j>>2]|0)+332;c[l>>2]=c[c[h>>2]>>2];b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}function rv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=i;i=i+288|0;h=fa+280|0;T=fa+40|0;S=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;R=fa;$=fa+276|0;aa=fa+272|0;ca=fa+268|0;ba=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;X=fa+240|0;P=fa+228|0;Q=fa+216|0;m=fa+192|0;o=fa+188|0;D=fa+184|0;v=fa+180|0;s=fa+176|0;W=fa+168|0;E=fa+164|0;t=fa+160|0;q=fa+156|0;F=fa+152|0;u=fa+148|0;r=fa+144|0;A=fa+140|0;B=fa+136|0;I=fa+132|0;J=fa+128|0;L=fa+124|0;K=fa+120|0;M=fa+116|0;N=fa+112|0;O=fa+108|0;n=fa+104|0;Y=fa+96|0;w=fa+92|0;y=fa+88|0;k=fa+84|0;z=fa+80|0;l=fa+76|0;x=fa+72|0;C=fa+68|0;H=fa+64|0;G=fa+60|0;p=fa+56|0;j=fa+48|0;c[$>>2]=f;c[aa>>2]=g;c[_>>2]=c[(c[$>>2]|0)+4>>2];c[da>>2]=c[c[$>>2]>>2];if((d[26486+(c[aa>>2]<<1)+1>>0]|0)==0?(c[c[$>>2]>>2]|0)>>>0>=((c[$>>2]|0)+8+1584|0)>>>0:0){tv(c[$>>2]|0);i=fa;return}a:do switch(c[aa>>2]|0){case 0:{a[(c[_>>2]|0)+409>>0]=1;break}case 1:{a[(c[_>>2]|0)+409>>0]=2;break}case 2:{uv(c[_>>2]|0);break}case 3:{vv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 9:case 8:{wv(c[_>>2]|0);break}case 10:{xv(c[_>>2]|0);break}case 11:{yv(c[_>>2]|0,0,(c[da>>2]|0)+4|0);break}case 12:{yv(c[_>>2]|0,1,(c[da>>2]|0)+4|0);break}case 13:{yv(c[_>>2]|0,2,(c[da>>2]|0)+4|0);break}case 14:{zv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 15:{Av(c[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[da>>2]|0)+4>>2]=1;break}case 20:{Bv(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,c[(c[da>>2]|0)+4>>2]&255,0);break}case 21:{Bv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+4>>2]|0);fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[da>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[da>>2]|0)+4>>2]|0,24745,5)|0)==0:0){c[(c[da>>2]|0)+-16+4>>2]=96;break a}c[(c[da>>2]|0)+-16+4>>2]=0;_=c[_>>2]|0;Z=c[(c[da>>2]|0)+4>>2]|0;c[R>>2]=c[(c[da>>2]|0)+4+4>>2];c[R+4>>2]=Z;Eh(_,27150,R);break}case 24:{Cv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[da>>2]|0)+16+4+4>>2]=0;c[(c[da>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[da>>2]|0)+-48+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[da>>2]|0)+-80+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[da>>2]|0)+4+4>>2]|0)+((c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(c[_>>2]|0)+84|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 32:case 30:{Dv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 31:{Dv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 33:{c[P>>2]=Ev(c[_>>2]|0,155,c[(c[da>>2]|0)+4>>2]|0,0,0)|0;c[P+4>>2]=c[(c[da>>2]|0)+-16+4>>2];c[P+8>>2]=c[(c[da>>2]|0)+4+8>>2];Dv(c[_>>2]|0,P);break}case 34:{Z=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Q,Z,97,h);Dv(c[_>>2]|0,Q);break}case 35:{Gv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 36:{Hv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 37:{Iv(c[_>>2]|0,0,0,0,0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 39:{Kv(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 40:{Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 41:{Mv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 44:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+-16+4>>2]&~c[(c[da>>2]|0)+4+4>>2]|c[(c[da>>2]|0)+4>>2];break}case 46:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[da>>2]|0)+-32+4>>2]=0;c[(c[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2]<<8;c[(c[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[da>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[da>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[da>>2]|0)+4>>2]=9;break}case 53:{c[(c[da>>2]|0)+4>>2]=6;break}case 54:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{c[(c[da>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[_>>2]|0)+84+4>>2]=0;break}case 63:{Hv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{Iv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 66:{Kv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[da>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 72:{c[(c[da>>2]|0)+4>>2]=4;break}case 145:case 73:{c[(c[da>>2]|0)+4>>2]=5;break}case 74:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 77:{Ov(c[_>>2]|0,(c[da>>2]|0)+-128+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 78:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,1,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 79:{c[m>>2]=c[1063];c[m+4>>2]=c[1064];c[m+8>>2]=c[1065];c[m+12>>2]=c[1066];c[m+16>>2]=c[1067];c[m+20>>2]=c[1068];Pv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,m)|0;fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 80:{c[o>>2]=c[(c[da>>2]|0)+4>>2];if(c[o>>2]|0){c[(c[o>>2]|0)+64>>2]=c[(c[da>>2]|0)+-16+4>>2];Qv(c[_>>2]|0,c[o>>2]|0)}else dv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);c[(c[da>>2]|0)+-16+4>>2]=c[o>>2];break}case 81:{c[D>>2]=c[(c[da>>2]|0)+4>>2];c[v>>2]=c[(c[da>>2]|0)+-32+4>>2];if((c[D>>2]|0)!=0?(c[(c[D>>2]|0)+48>>2]|0)!=0:0){c[W+4>>2]=0;Qv(c[_>>2]|0,c[D>>2]|0);c[s>>2]=Rv(c[_>>2]|0,0,0,0,W,c[D>>2]|0,0,0)|0;c[D>>2]=Sv(c[_>>2]|0,0,c[s>>2]|0,0,0,0,0,0,0,0)|0}if(c[D>>2]|0){a[(c[D>>2]|0)+4>>0]=c[(c[da>>2]|0)+-16+4>>2];c[(c[D>>2]|0)+48>>2]=c[v>>2];if(c[v>>2]|0){Z=(c[v>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025}Z=(c[D>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025;if((c[(c[da>>2]|0)+-16+4>>2]|0)!=116)a[(c[_>>2]|0)+22>>0]=1}else fv(c[c[_>>2]>>2]|0,c[v>>2]|0);c[(c[da>>2]|0)+-32+4>>2]=c[D>>2];break}case 84:case 82:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 83:{c[(c[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+4+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 87:{c[t>>2]=c[(c[da>>2]|0)+-64+4>>2];c[E>>2]=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[t>>2]|0){_=(c[t>>2]|0)+8|0;c[_>>2]=c[_>>2]&-1025}if(c[E>>2]|0){a[(c[E>>2]|0)+4>>0]=116;c[(c[E>>2]|0)+48>>2]=c[t>>2];c[(c[da>>2]|0)+-64+4>>2]=c[E>>2];break a}else{c[(c[da>>2]|0)+-64+4>>2]=c[t>>2];break a}}case 88:{c[(c[da>>2]|0)+4>>2]=1;break}case 89:{c[(c[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;if((c[(c[da>>2]|0)+4+4>>2]|0)>>>0>0)Uv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1);Vv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 93:{c[q>>2]=Wv(c[c[_>>2]>>2]|0,160,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[q>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 94:{c[F>>2]=Ev(c[_>>2]|0,160,0,0,0)|0;c[u>>2]=Ev(c[_>>2]|0,55,0,0,(c[da>>2]|0)+-32+4|0)|0;c[r>>2]=Ev(c[_>>2]|0,122,c[u>>2]|0,c[F>>2]|0,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[r>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 97:{_=sh(c[c[_>>2]>>2]|0,80,0)|0;c[(c[da>>2]|0)+16+4>>2]=_;break}case 98:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];Xv(c[(c[da>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[da>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[da>>2]|0)+4>>2];break}case 100:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;Yv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-32+4|0);break}case 102:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=Z;Zv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((c[(c[da>>2]|0)+-96+4>>2]|0)==0?(c[(c[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+4>>2]|0)==0:0){c[(c[da>>2]|0)+-96+4>>2]=c[(c[da>>2]|0)+-64+4>>2];break a}if((c[c[(c[da>>2]|0)+-64+4>>2]>>2]|0)!=1){Xv(c[(c[da>>2]|0)+-64+4>>2]|0);c[I>>2]=Sv(c[_>>2]|0,0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[I>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break a}Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;if(c[(c[da>>2]|0)+-96+4>>2]|0){c[A>>2]=(c[(c[da>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[B>>2]=(c[(c[da>>2]|0)+-64+4>>2]|0)+8;c[(c[A>>2]|0)+8>>2]=c[(c[B>>2]|0)+8>>2];c[(c[A>>2]|0)+4>>2]=c[(c[B>>2]|0)+4>>2];c[(c[A>>2]|0)+20>>2]=c[(c[B>>2]|0)+20>>2];c[(c[B>>2]|0)+4>>2]=0;c[(c[B>>2]|0)+8>>2]=0;c[(c[B>>2]|0)+20>>2]=0}hv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 108:{c[(c[da>>2]|0)+4>>2]=1;break}case 109:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,0,0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(c[da>>2]|0)+-32+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 116:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 146:case 118:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 121:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;aw(c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 122:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;aw(c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 123:{c[(c[da>>2]|0)+4>>2]=0;break}case 124:{c[(c[da>>2]|0)+4>>2]=1;break}case 125:{c[(c[da>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 133:{c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 134:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);cw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 137:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-48+4|0);dw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,27177);ew(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;Uv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,1);break}case 139:{_=fw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 140:{c[X>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;Uv(c[_>>2]|0,c[X>>2]|0,(c[da>>2]|0)+-32+4|0,1);c[(c[da>>2]|0)+-32+4>>2]=c[X>>2];break}case 141:{_=fw(c[_>>2]|0,0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 142:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 143:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 147:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 148:{_=hw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=hw(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 150:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;_=d[(c[da>>2]|0)+2>>0]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,_,h);break}case 153:case 152:{Z=(c[da>>2]|0)+4|0;_=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Z,_,55,h);break}case 154:{c[J>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[L>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[J>>2]|0,c[L>>2]|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 155:{c[K>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-64+4|0,1)|0;c[M>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[N>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;c[O>>2]=Ev(c[_>>2]|0,122,c[M>>2]|0,c[N>>2]|0,0)|0;iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[K>>2]|0,c[O>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 158:{c[X>>2]=jw(c[c[_>>2]>>2]|0,134,(c[da>>2]|0)+4|0,1)|0;c[X+4>>2]=c[(c[da>>2]|0)+4>>2];c[X+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);if(c[X>>2]|0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|8388608}_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 159:{if((a[c[(c[da>>2]|0)+4>>2]>>0]|0)==35?(d[18403+(d[(c[(c[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=(c[da>>2]|0)+4|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];iw((c[da>>2]|0)+4|0,Y,Y);h=c[_>>2]|0;if(!(d[(c[_>>2]|0)+18>>0]|0)){c[Z>>2]=Y;Eh(h,26462,Z);c[(c[da>>2]|0)+4>>2]=0;break a}_=Ev(h,157,0,0,0)|0;c[(c[da>>2]|0)+4>>2]=_;if(!(c[(c[da>>2]|0)+4>>2]|0))break a;Qi((c[Y>>2]|0)+1|0,(c[(c[da>>2]|0)+4>>2]|0)+28|0)|0;break a}c[n>>2]=c[(c[da>>2]|0)+4+4>>2];Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,135,h);kw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[n>>2]|0);break}case 160:{_=lw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1)|0;c[(c[da>>2]|0)+-32+4>>2]=_;c[(c[da>>2]|0)+-32+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 161:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,66,c[(c[da>>2]|0)+-48+4>>2]|0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 162:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[_>>2]>>2]|0)+96+24>>2]|0):0){Z=c[_>>2]|0;c[U>>2]=(c[da>>2]|0)+-64+4;Eh(Z,27186,U)}c[X>>2]=mw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,(c[da>>2]|0)+-64+4|0)|0;iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);if((c[(c[da>>2]|0)+-32+4>>2]|0)==1?(c[X>>2]|0)!=0:0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|16}_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 163:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+-48+4|0)|0;iw(X,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+-48+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 164:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+4|0)|0;iw(X,(c[da>>2]|0)+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 165:{c[w>>2]=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[X>>2]=Ev(c[_>>2]|0,158,0,0,0)|0;if(c[X>>2]|0){c[(c[X>>2]|0)+20>>2]=c[w>>2];iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0)}else ev(c[c[_>>2]>>2]|0,c[w>>2]|0);_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{nw(c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 174:{_=(c[da>>2]|0)+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 175:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];_=(c[da>>2]|0)+-16+4+4|0;c[_>>2]=c[_>>2]|-2147483648;break}case 176:{c[k>>2]=c[(c[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-16+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[y>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[y>>2]=Tv(c[_>>2]|0,c[y>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[y>>2]|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;ow(c[_>>2]|0,c[k>>2]|0,(c[da>>2]|0)+-32+4|0);c[(c[da>>2]|0)+-32+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-32+4>>2]|0){_=(c[(c[da>>2]|0)+-32+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 177:{c[l>>2]=c[(c[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-48+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[z>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[z>>2]|0,(c[da>>2]|0)+-48+4|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;ow(c[_>>2]|0,c[l>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-64+4>>2]|0){_=(c[(c[da>>2]|0)+-64+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 178:{pw(c[_>>2]|0,d[(c[da>>2]|0)+2>>0]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 179:{pw(c[_>>2]|0,35,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 180:{nw(c[_>>2]|0,29,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{nw(c[_>>2]|0,148,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 184:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,155,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 185:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,156,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 189:case 186:{c[(c[da>>2]|0)+4>>2]=0;break}case 188:{c[x>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[x>>2]=Tv(c[_>>2]|0,c[x>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=Ev(c[_>>2]|0,32,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0)c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[x>>2];else ev(c[c[_>>2]>>2]|0,c[x>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];break}case 191:{do if(!(c[(c[da>>2]|0)+-16+4>>2]|0)){iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);_=Ev(c[_>>2]|0,134,0,0,4276+(c[(c[da>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_}else{if((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)==1){c[C>>2]=c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);if(c[C>>2]|0){Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]&-257;Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]|512}_=Ev(c[_>>2]|0,(c[(c[da>>2]|0)+-48+4>>2]|0)!=0?36:37,c[(c[da>>2]|0)+-64+4>>2]|0,c[C>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0){c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[da>>2]|0)+-16+4>>2];sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)}else ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0)}while(0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 192:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,119,0,0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 194:{c[H>>2]=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[G>>2]=Sv(c[_>>2]|0,0,c[H>>2]|0,0,0,0,0,0,0,0)|0;if(c[(c[da>>2]|0)+4>>2]|0)Zv(c[_>>2]|0,(c[G>>2]|0)!=0?c[H>>2]|0:0,c[(c[da>>2]|0)+4>>2]|0);h=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=h;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[G>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);h=c[da>>2]|0;if(c[(c[da>>2]|0)+-16+4>>2]|0)h=(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;else h=(c[(c[da>>2]|0)+-32+4>>2]|0)+(c[h+-32+4+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4+8>>2]=h;break}case 195:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,20,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;c[p>>2]=Z;tw(c[_>>2]|0,c[p>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 196:{iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,136,c[(c[da>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(!(c[(c[da>>2]|0)+-64+4>>2]|0)){ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break a}if(c[(c[da>>2]|0)+-16+4>>2]|0)h=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[da>>2]|0)+-32+4>>2]|0;c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=h;sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 201:{c[(c[da>>2]|0)+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 204:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 212:case 207:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 208:{Iv(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-64+4|0,0)|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,(c[da>>2]|0)+-176+4|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{c[(c[da>>2]|0)+4>>2]=2;break}case 210:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 213:{_=uw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=uw(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 217:{vw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 218:{ww(c[_>>2]|0,0);break}case 219:{ww(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 220:{xw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,0,0);break}case 221:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,0);break}case 222:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,0);break}case 223:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,1);break}case 224:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,1);break}case 227:{c[j>>2]=c[(c[da>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);yw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,j);break}case 228:{zw(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-64+4+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0);h=(c[da>>2]|0)+-160+4|0;j=c[da>>2]|0;if(!(c[(c[da>>2]|0)+-96+4+4>>2]|0)){_=j+-112+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}else{_=j+-96+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}}case 229:{c[(c[da>>2]|0)+4>>2]=63;break}case 230:{c[(c[da>>2]|0)+4>>2]=59;break}case 231:{c[(c[da>>2]|0)+-16+4>>2]=77;break}case 232:{c[(c[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];c[(c[da>>2]|0)+4+4>>2]=0;break}case 235:{c[(c[da>>2]|0)+-32+4>>2]=110;c[(c[da>>2]|0)+-32+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 255:case 236:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 238:{c[(c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[da>>2]|0)+-16+4>>2];c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 239:{c[(c[(c[da>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 240:{Z=(c[da>>2]|0)+-32+4|0;Y=(c[da>>2]|0)+4|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];Eh(c[_>>2]|0,27220,V);break}case 241:{Eh(c[_>>2]|0,27315,S);break}case 242:{Eh(c[_>>2]|0,27399,T);break}case 243:{_=Aw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-64+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]&255)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=Bw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]&255)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=Cw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=Dw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 247:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;if(c[(c[da>>2]|0)+-48+4>>2]|0)a[(c[(c[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;if(c[(c[da>>2]|0)+-80+4>>2]|0)a[(c[(c[da>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[da>>2]|0)+-48+4>>2];break}case 249:{c[(c[da>>2]|0)+4>>2]=1;break}case 251:{c[(c[da>>2]|0)+4>>2]=3;break}case 252:{Ew(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 253:{Fw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 254:{Gw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 257:{Hw(c[_>>2]|0,0,0);break}case 258:{Hw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 259:{Iw(c[_>>2]|0,0,0);break}case 260:{Iw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 261:{Jw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+4|0);break}case 262:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+392>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[(c[_>>2]|0)+392+4>>2]|0);Kw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 263:{Av(c[_>>2]|0);Lw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 264:{Mw(c[_>>2]|0,0);break}case 265:{Mw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 266:{Nw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 267:{Ow(c[_>>2]|0);break}case 270:case 269:case 268:{Pw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 271:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 272:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 273:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 274:{_=Qw(c[_>>2]|0,0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Qw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);c[ca>>2]=d[26486+(c[aa>>2]<<1)>>0];c[ea>>2]=d[26486+(c[aa>>2]<<1)+1>>0];c[ba>>2]=Rw(e[(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4)>>1]|0,c[ca>>2]&255)|0;if((c[ba>>2]|0)>999){da=c[$>>2]|0;c[da>>2]=(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4);Sw(c[$>>2]|0);i=fa;return}if((c[ba>>2]|0)>455)c[ba>>2]=(c[ba>>2]|0)+332;c[da>>2]=(c[da>>2]|0)+(0-((c[ea>>2]|0)-1)<<4);c[c[$>>2]>>2]=c[da>>2];b[c[da>>2]>>1]=c[ba>>2];a[(c[da>>2]|0)+2>>0]=c[ca>>2];i=fa;return}function sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Eh(a,26462,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function tv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-16;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;mv(c[b>>2]|0)}Eh(c[d>>2]|0,37597,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function uv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;l=n+20|0;h=n+16|0;g=n+12|0;k=n+8|0;m=n+4|0;j=n;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=n;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+36>>2]|0)==0:0){c[l>>2]=dx(c[e>>2]|0)|0;do if((c[l>>2]|0)!=0?(fx(c[l>>2]|0,75)|0,(d[(c[f>>2]|0)+69>>0]|0)==0):0){if((c[(c[e>>2]|0)+96>>2]|0)==0?(c[(c[e>>2]|0)+80>>2]|0)==0:0)break;Zz(c[l>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0)!=0?(Lh(c[l>>2]|0,c[h>>2]|0),c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2],Ih(c[l>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+92>>2]&1<>2]|0)!=0&1,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+148+5>>0]|0)==0):0)Jh(c[l>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;c[m>>2]=Ux(c[f>>2]|0,c[(c[(c[e>>2]|0)+460>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;mx(c[l>>2]|0,152,0,0,0,c[m>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+412>>2]=0;PH(c[e>>2]|0);QH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+80>>2]|0){c[j>>2]=c[(c[e>>2]|0)+80>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;RA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Yz(c[l>>2]|0,1)|0}while(0);if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+36>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+120>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)==0:0)c[(c[e>>2]|0)+40>>2]=1;Nh(c[l>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}if(c[(c[e>>2]|0)+12>>2]|0){i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}function vv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(ax(c[d>>2]|0,22,37527,0,0)|0){i=j;return}c[h>>2]=dx(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;ix(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Lh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);fx(c[h>>2]|0,1)|0;i=j;return}function wv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37550,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Sz(c[d>>2]|0,1,1)|0;i=e;return}function xv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37541,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}ix(c[d>>2]|0,1,1,1)|0;i=e;return}function yv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Tw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=dx(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(ax(c[e>>2]|0,32,c[5512+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){mx(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function zv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+148+5>>0]|0)!=0?(c[(c[A>>2]|0)+148>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+148+4>>0];c[H>>2]=qh(c[A>>2]|0,(c[I>>2]|0)==1?19905:19924)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=Oz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Eh(c[w>>2]|0,37417,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Tw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+384|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Sx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+148+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(ax(c[w>>2]|0,18,(c[o>>2]|0)==1?19905:19924,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(ax(c[w>>2]|0,d[37458+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+410>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(Kz(c[w>>2]|0)|0)break a;c[r>>2]=ti(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Kj(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Eh(I,37486,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){sx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Eh(m,37462,G);break a}}while(0);c[r>>2]=sh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+36|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+440>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(hR(c[H>>2]|0,28817)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+148+5>>0]|0){i=J;return}H=dx(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}rx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)fx(c[F>>2]|0,152)|0;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+100>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+44|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+104>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;jx(c[F>>2]|0,101,c[I>>2]|0,c[E>>2]|0,2)|0;Lh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Sz(c[F>>2]|0,21,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;jx(c[F>>2]|0,102,c[I>>2]|0,2,c[q>>2]|0)|0;jx(c[F>>2]|0,102,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Zz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)ix(m,76,0,c[D>>2]|0)|0;else{H=ix(m,135,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+132>>2]=H}OH(c[w>>2]|0,c[I>>2]|0);ix(c[F>>2]|0,114,0,c[C>>2]|0)|0;mx(c[F>>2]|0,81,6,c[E>>2]|0,0,37521,-2)|0;jx(c[F>>2]|0,115,0,c[E>>2]|0,c[C>>2]|0)|0;Jh(c[F>>2]|0,8);fx(c[F>>2]|0,111)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function Av(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function Bv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+200|0;l=R+196|0;m=R+192|0;n=R+204|0;o=R+188|0;w=R+184|0;r=R+180|0;t=R+176|0;z=R+172|0;u=R+168|0;G=R+164|0;P=R+160|0;Q=R+156|0;O=R+152|0;s=R+128|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+440>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+148+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+148>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Eh(c[k>>2]|0,37098,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Eh(H,37148,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;IH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Fh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)BH(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);JH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;EH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){c[G>>2]=dx(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Sz(c[G>>2]|0,111,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=32993;c[Q>>2]=37180}else{c[P>>2]=36058;c[Q>>2]=37186}do if(c[o>>2]|0){H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+44|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Vx(c[k>>2]|0);jx(c[G>>2]|0,105,1,c[(c[k>>2]|0)+104>>2]|0,c[t>>2]|0)|0;Jh(c[G>>2]|0,16);c[(c[k>>2]|0)+40>>2]=2;c[q>>2]=(wx(c[G>>2]|0)|0)+1;jx(c[G>>2]|0,15,c[F>>2]|0,0,c[q>>2]|0)|0;vB(s,13,c[F>>2]|0);Pv(c[k>>2]|0,c[o>>2]|0,s)|0;YC(c[G>>2]|0,c[F>>2]|0);Zz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+36>>2]|0){i=R;return}c[C>>2]=ay(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Sz(c[G>>2]|0,16,c[s+8>>2]|0)|0;jx(c[G>>2]|0,99,c[s+12>>2]|0,c[s+16>>2]|0,c[D>>2]|0)|0;$C(c[G>>2]|0,c[w>>2]|0,0);ix(c[G>>2]|0,114,1,c[E>>2]|0)|0;jx(c[G>>2]|0,115,1,c[D>>2]|0,c[E>>2]|0)|0;Yz(c[G>>2]|0,c[p>>2]|0)|0;Zz(c[G>>2]|0,c[p>>2]|0);Sz(c[G>>2]|0,111,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=KH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+392|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+384>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+384>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Gh(J,37191,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?19905:19924;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+104>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+100>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;cx(Q,37206,M);Tf(c[r>>2]|0,c[O>>2]|0);ex(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];cx(Q,37293,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];gx(O,P,Gh(Q,37335,K)|0)}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Uj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){mh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+440>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+384>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Wx(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function Cv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+440>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+96+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Eh(u,37049,q);i=v;return}c[s>>2]=Ch(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}TR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Zw(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Eh(u,37072,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Uw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;TR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[t>>2]|0);u=Dx(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+84+4>>2]=0;i=v;return}function Dv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+440>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(HH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+148+5>>0]|0)|0){iv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-95;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Yw(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=Iy(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Eh(m,37004,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}}function Ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==28?(c[(c[g>>2]|0)+36>>2]|0)==0:0)c[m>>2]=wz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=jw(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;yz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Zy(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function Fv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;j=m+12|0;n=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[n>>2]=f;c[k>>2]=g;c[l>>2]=Vw(c[c[n>>2]>>2]|0,48+(c[h+4>>2]|0)+1|0,0)|0;if(!(c[l>>2]|0)){n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}g=c[l>>2]|0;e=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));a[c[l>>2]>>0]=c[k>>2];c[(c[l>>2]|0)+4>>2]=8388608;b[(c[l>>2]|0)+34>>1]=-1;c[(c[l>>2]|0)+8>>2]=(c[l>>2]|0)+48;TR(c[(c[l>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[(c[l>>2]|0)+8>>2]|0)+(c[h+4>>2]|0)>>0]=0;if(d[18403+(d[c[(c[l>>2]|0)+8>>2]>>0]|0)>>0]&128){if((a[c[(c[l>>2]|0)+8>>2]>>0]|0)==34){n=(c[l>>2]|0)+4|0;c[n>>2]=c[n>>2]|64}Zw(c[(c[l>>2]|0)+8>>2]|0)}c[(c[l>>2]|0)+24>>2]=1;n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}function Gv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Hv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;x=y+8|0;k=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;q=y+36|0;p=y+32|0;m=y+28|0;l=y+24|0;n=y+20|0;o=y+16|0;r=y+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+440>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}if(d[(c[q>>2]|0)+42>>0]&4){w=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Eh(w,36907,k);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=ky(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;CH(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==55){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(vi(c[p>>2]|0,18402)|0,18759)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];x=(c[q>>2]|0)+42|0;a[x>>0]=d[x>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}a[(c[s>>2]|0)+408>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}h=c[s>>2]|0;if(c[v>>2]|0){Eh(h,36948,x);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}else{Iv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0,2);c[t>>2]=0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}}function Iv(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=i;i=i+352|0;ga=za+112|0;fa=za+88|0;ea=za+72|0;da=za+64|0;ca=za+56|0;C=za+48|0;ba=za+40|0;B=za+32|0;A=za+24|0;E=za+16|0;D=za+8|0;z=za;G=za+332|0;r=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;I=za+308|0;va=za+304|0;t=za+300|0;J=za+296|0;H=za+336|0;qa=za+292|0;xa=za+288|0;ya=za+284|0;S=za+280|0;K=za+276|0;M=za+272|0;y=za+248|0;$=za+240|0;wa=za+236|0;V=za+232|0;oa=za+228|0;Y=za+224|0;X=za+220|0;Q=za+216|0;R=za+212|0;la=za+208|0;Z=za+204|0;u=za+200|0;w=za+196|0;F=za+192|0;x=za+184|0;v=za+180|0;T=za+176|0;_=za+172|0;ka=za+168|0;U=za+164|0;P=za+160|0;ha=za+156|0;W=za+152|0;N=za+148|0;ia=za+144|0;ja=za+140|0;pa=za+136|0;aa=za+132|0;ma=za+128|0;L=za+124|0;O=za+120|0;ra=za+116|0;c[G>>2]=f;c[r>>2]=g;c[s>>2]=h;c[ta>>2]=j;c[ua>>2]=k;c[na>>2]=l;c[I>>2]=m;c[va>>2]=n;c[t>>2]=o;c[J>>2]=p;a[H>>0]=q;c[qa>>2]=0;c[xa>>2]=0;c[ya>>2]=0;c[wa>>2]=c[c[G>>2]>>2];c[Y>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[Z>>2]=0;a:do if((d[(c[wa>>2]|0)+69>>0]|0)==0?(c[(c[G>>2]|0)+36>>2]|0)<=0:0){if((d[(c[G>>2]|0)+410>>0]|0)!=0?(d[H>>0]|0)!=2:0)break;if(!(Kz(c[G>>2]|0)|0)){q=c[G>>2]|0;if(c[ta>>2]|0){c[oa>>2]=Oz(q,c[r>>2]|0,c[s>>2]|0,Y)|0;if((c[oa>>2]|0)<0)break;if(((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(c[qa>>2]=bC(c[G>>2]|0,c[ta>>2]|0)|0,(c[qa>>2]|0)!=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[qa>>2]|0)+64>>2]|0)==(c[(c[(c[wa>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[oa>>2]=1;cC(y,c[G>>2]|0,c[oa>>2]|0,33158,c[Y>>2]|0);dC(y,c[ta>>2]|0)|0;c[qa>>2]=px(c[G>>2]|0,0,(c[ta>>2]|0)+8|0)|0;if(!(c[qa>>2]|0))break;if((c[oa>>2]|0)==1?(c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2]|0)!=(c[(c[qa>>2]|0)+64>>2]|0):0){sa=c[G>>2]|0;c[z>>2]=c[c[qa>>2]>>2];Eh(sa,36473,z);break}if(d[(c[qa>>2]|0)+42>>0]&32)c[Z>>2]=Jj(c[qa>>2]|0)|0}else{c[qa>>2]=c[q+440>>2];if(!(c[qa>>2]|0))break;c[oa>>2]=Fh(c[wa>>2]|0,c[(c[qa>>2]|0)+64>>2]|0)|0}c[V>>2]=(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4);if(((zd(c[c[qa>>2]>>2]|0,27844,7)|0)==0?(d[(c[wa>>2]|0)+148+5>>0]|0)==0:0)?(zd((c[c[qa>>2]>>2]|0)+7|0,36523,9)|0)!=0:0){sa=c[G>>2]|0;c[D>>2]=c[c[qa>>2]>>2];Eh(sa,36533,D);break}if(c[(c[qa>>2]|0)+12>>2]|0){Eh(c[G>>2]|0,36561,E);break}if(d[(c[qa>>2]|0)+42>>0]&16){Eh(c[G>>2]|0,36586,A);break}if(c[Y>>2]|0){c[ya>>2]=Tw(c[wa>>2]|0,c[Y>>2]|0)|0;if(!(c[ya>>2]|0))break;if(Sx(c[G>>2]|0,c[ya>>2]|0)|0)break;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(ti(c[wa>>2]|0,c[ya>>2]|0,0)|0)!=0:0){sa=c[G>>2]|0;c[B>>2]=c[ya>>2];Eh(sa,36620,B);break}if(Kj(c[wa>>2]|0,c[ya>>2]|0,c[c[V>>2]>>2]|0)|0){q=c[G>>2]|0;if(c[J>>2]|0){sx(q,c[oa>>2]|0);break}else{c[ba>>2]=c[ya>>2];Eh(q,36654,ba);break}}}else{c[w>>2]=c[(c[qa>>2]|0)+8>>2];c[u>>2]=1;while(1){if(!(c[w>>2]|0))break;c[w>>2]=c[(c[w>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}ba=c[wa>>2]|0;J=c[u>>2]|0;c[C>>2]=c[c[qa>>2]>>2];c[C+4>>2]=J;c[ya>>2]=Gh(ba,36678,C)|0;if(!(c[ya>>2]|0))break;if(a[(c[G>>2]|0)+410>>0]|0){ba=(c[ya>>2]|0)+7|0;a[ba>>0]=(a[ba>>0]|0)+1<<24>>24}}c[F>>2]=c[c[V>>2]>>2];if((ax(c[G>>2]|0,18,(c[oa>>2]|0)==1?19905:19924,0,c[F>>2]|0)|0)==0?(c[K>>2]=1,c[K>>2]=(c[oa>>2]|0)==1?3:1,(ax(c[G>>2]|0,c[K>>2]|0,c[ya>>2]|0,c[c[qa>>2]>>2]|0,c[F>>2]|0)|0)==0):0){if(!(c[ua>>2]|0)){Xy(x,c[(c[(c[qa>>2]|0)+4>>2]|0)+((b[(c[qa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);ba=c[G>>2]|0;c[ua>>2]=Tv(ba,0,jw(c[wa>>2]|0,55,x,0)|0)|0;if(!(c[ua>>2]|0))break;aw(c[ua>>2]|0,c[t>>2]|0)}else dw(c[G>>2]|0,c[ua>>2]|0,33158);c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;c[v>>2]=c[(c[(c[ua>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)>>2];if((d[c[v>>2]>>0]|0)==53){ba=1+(Jf(c[(c[v>>2]|0)+8>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+ba}c[K>>2]=(c[K>>2]|0)+1}c[S>>2]=Jf(c[ya>>2]|0)|0;if(c[Z>>2]|0)q=e[(c[Z>>2]|0)+50>>1]|0;else q=1;c[R>>2]=q;c[xa>>2]=kE(c[wa>>2]|0,(c[c[ua>>2]>>2]|0)+(c[R>>2]|0)&65535,(c[S>>2]|0)+(c[Q>>2]|0)+1|0,la)|0;if(!(a[(c[wa>>2]|0)+69>>0]|0)){c[c[xa>>2]>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+((c[S>>2]|0)+1);TR(c[c[xa>>2]>>2]|0,c[ya>>2]|0,(c[S>>2]|0)+1|0)|0;c[(c[xa>>2]|0)+12>>2]=c[qa>>2];a[(c[xa>>2]|0)+54>>0]=c[na>>2];ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9|((c[na>>2]|0)!=0&1)<<3&255;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-4|d[H>>0]&3;c[(c[xa>>2]|0)+24>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2];b[(c[xa>>2]|0)+50>>1]=c[c[ua>>2]>>2];if(c[va>>2]|0){BH(c[G>>2]|0,c[qa>>2]|0,2,c[va>>2]|0,0);c[(c[xa>>2]|0)+36>>2]=c[va>>2];c[va>>2]=0}if((d[(c[(c[V>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[$>>2]=-1;else c[$>>2]=0;c[K>>2]=0;c[X>>2]=c[(c[ua>>2]|0)+4>>2];while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;CH(c[c[X>>2]>>2]|0);BH(c[G>>2]|0,c[qa>>2]|0,32,c[c[X>>2]>>2]|0,0);if(c[(c[G>>2]|0)+36>>2]|0)break a;c[T>>2]=ky(c[c[X>>2]>>2]|0)|0;if((d[c[T>>2]>>0]|0)!=152){if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){sa=68;break}do if(!(c[(c[xa>>2]|0)+40>>2]|0)){c[U>>2]=Qy(c[wa>>2]|0,c[ua>>2]|0,0)|0;c[(c[xa>>2]|0)+40>>2]=c[U>>2];if(a[(c[wa>>2]|0)+69>>0]|0)break;c[X>>2]=(c[(c[U>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)}while(0);c[M>>2]=-2;b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-2;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}else{c[M>>2]=b[(c[T>>2]|0)+32>>1];do if((c[M>>2]|0)<0)c[M>>2]=b[(c[qa>>2]|0)+32>>1];else{if(d[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+12>>0]|0)break;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}while(0);b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[M>>2]}c[ka>>2]=0;do if((d[c[c[X>>2]>>2]>>0]|0)==53){c[ka>>2]=c[(c[c[X>>2]>>2]|0)+8>>2];c[P>>2]=(Jf(c[ka>>2]|0)|0)+1;TR(c[la>>2]|0,c[ka>>2]|0,c[P>>2]|0)|0;c[ka>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+(c[P>>2]|0);c[Q>>2]=(c[Q>>2]|0)-(c[P>>2]|0)}else{if((c[M>>2]|0)<0)break;c[ka>>2]=c[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+8>>2]}while(0);if(!(c[ka>>2]|0))c[ka>>2]=34834;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(Xz(c[G>>2]|0,c[ka>>2]|0)|0)==0:0)break a;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[ka>>2];c[_>>2]=d[(c[X>>2]|0)+12>>0]&c[$>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=c[_>>2];c[K>>2]=(c[K>>2]|0)+1;c[X>>2]=(c[X>>2]|0)+20}if((sa|0)==68){Eh(c[G>>2]|0,36701,ca);break}b:do if(c[Z>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(e[(c[Z>>2]|0)+50>>1]|0))break b;c[ha>>2]=b[(c[(c[Z>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1];if(DH(c[(c[xa>>2]|0)+4>>2]|0,e[(c[xa>>2]|0)+50>>1]|0,c[ha>>2]|0)|0){la=(c[xa>>2]|0)+52|0;b[la>>1]=(b[la>>1]|0)+-1<<16>>16}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[ha>>2];c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[(c[Z>>2]|0)+32>>2]|0)+(c[M>>2]<<2)>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=a[(c[(c[Z>>2]|0)+28>>2]|0)+(c[M>>2]|0)>>0]|0;c[K>>2]=(c[K>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+1}}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-1;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=34834}while(0);Ij(c[xa>>2]|0);if(!(c[(c[G>>2]|0)+440>>2]|0))EH(c[xa>>2]|0);c:do if(c[ta>>2]|0){if((e[(c[xa>>2]|0)+52>>1]|0)<(b[(c[qa>>2]|0)+34>>1]|0))break;la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33|32;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[(c[qa>>2]|0)+34>>1]|0))break c;if((c[M>>2]|0)!=(b[(c[qa>>2]|0)+32>>1]|0)?((OA(c[xa>>2]|0,c[M>>2]&65535)|0)<<16>>16|0)<0:0)break;c[M>>2]=(c[M>>2]|0)+1}la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33}while(0);d:do if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){c[W>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(!(c[W>>2]|0))break d;if((e[(c[W>>2]|0)+50>>1]|0)==(e[(c[xa>>2]|0)+50>>1]|0)){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(e[(c[W>>2]|0)+50>>1]|0))break;if((b[(c[(c[W>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0)!=(b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0))break;c[ia>>2]=c[(c[(c[W>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];c[ja>>2]=c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];if(ig(c[ia>>2]|0,c[ja>>2]|0)|0)break;c[N>>2]=(c[N>>2]|0)+1}if((c[N>>2]|0)==(e[(c[W>>2]|0)+50>>1]|0))break}c[W>>2]=c[(c[W>>2]|0)+20>>2]}do if((d[(c[W>>2]|0)+54>>0]|0)!=(d[(c[xa>>2]|0)+54>>0]|0)){do if((d[(c[W>>2]|0)+54>>0]|0)!=10){if((d[(c[xa>>2]|0)+54>>0]|0)==10)break;sa=c[G>>2]|0;c[da>>2]=0;Eh(sa,36762,da)}while(0);if((d[(c[W>>2]|0)+54>>0]|0)!=10)break;a[(c[W>>2]|0)+54>>0]=a[(c[xa>>2]|0)+54>>0]|0}while(0);if((d[H>>0]|0)!=2)break a;sa=(c[W>>2]|0)+55|0;a[sa>>0]=a[sa>>0]&-4|d[H>>0]&3;break a}while(0);do if(a[(c[wa>>2]|0)+148+5>>0]|0){c[pa>>2]=Uj((c[(c[xa>>2]|0)+24>>2]|0)+24|0,c[c[xa>>2]>>2]|0,c[xa>>2]|0)|0;q=c[wa>>2]|0;if(c[pa>>2]|0){mh(q);break a}pa=q+24|0;c[pa>>2]=c[pa>>2]|2;if(!(c[ta>>2]|0))break;c[(c[xa>>2]|0)+44>>2]=c[(c[wa>>2]|0)+148>>2]}else{if(!((c[ta>>2]|0)!=0?1:(d[(c[qa>>2]|0)+42>>0]&32|0)==0))break;la=(c[G>>2]|0)+44|0;pa=(c[la>>2]|0)+1|0;c[la>>2]=pa;c[L>>2]=pa;c[aa>>2]=dx(c[G>>2]|0)|0;if(!(c[aa>>2]|0))break a;rx(c[G>>2]|0,1,c[oa>>2]|0);pa=fx(c[aa>>2]|0,161)|0;c[(c[xa>>2]|0)+44>>2]=pa;ix(c[aa>>2]|0,134,c[oa>>2]|0,c[L>>2]|0)|0;if(c[I>>2]|0){c[O>>2]=(c[(c[G>>2]|0)+392>>2]|0)-(c[c[Y>>2]>>2]|0)+(c[(c[G>>2]|0)+392+4>>2]|0);if((a[(c[c[Y>>2]>>2]|0)+((c[O>>2]|0)-1)>>0]|0)==59)c[O>>2]=(c[O>>2]|0)+-1;pa=c[wa>>2]|0;ka=c[O>>2]|0;la=c[c[Y>>2]>>2]|0;c[ea>>2]=(c[na>>2]|0)==0?18402:36804;c[ea+4>>2]=ka;c[ea+8>>2]=la;c[ma>>2]=Gh(pa,36812,ea)|0}else c[ma>>2]=0;pa=c[G>>2]|0;ha=(c[oa>>2]|0)==1?19905:19924;ia=c[c[xa>>2]>>2]|0;ja=c[c[qa>>2]>>2]|0;ka=c[L>>2]|0;la=c[ma>>2]|0;c[fa>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)>>2];c[fa+4>>2]=ha;c[fa+8>>2]=ia;c[fa+12>>2]=ja;c[fa+16>>2]=ka;c[fa+20>>2]=la;cx(pa,36832,fa);Tf(c[wa>>2]|0,c[ma>>2]|0);if(c[ta>>2]|0){mA(c[G>>2]|0,c[xa>>2]|0,c[L>>2]|0);ex(c[G>>2]|0,c[oa>>2]|0);ma=c[aa>>2]|0;oa=c[oa>>2]|0;pa=c[wa>>2]|0;c[ga>>2]=c[c[xa>>2]>>2];gx(ma,oa,Gh(pa,36880,ga)|0);fx(c[aa>>2]|0,150)|0}Zz(c[aa>>2]|0,c[(c[xa>>2]|0)+44>>2]|0)}while(0);if(!((c[ta>>2]|0)==0?1:(d[(c[wa>>2]|0)+148+5>>0]|0)!=0))break;do if((c[na>>2]|0)!=5)sa=143;else{if(!(c[(c[qa>>2]|0)+8>>2]|0)){sa=143;break}if((d[(c[(c[qa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}c[ra>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(c[(c[ra>>2]|0)+20>>2]|0)p=(d[(c[(c[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else p=0;q=c[(c[ra>>2]|0)+20>>2]|0;if(!p)break;c[ra>>2]=q}c[(c[xa>>2]|0)+20>>2]=q;c[(c[ra>>2]|0)+20>>2]=c[xa>>2]}while(0);if((sa|0)==143){c[(c[xa>>2]|0)+20>>2]=c[(c[qa>>2]|0)+8>>2];c[(c[qa>>2]|0)+8>>2]=c[xa>>2]}c[xa>>2]=0}}}}while(0);if(!(c[xa>>2]|0)){sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}FH(c[wa>>2]|0,c[xa>>2]|0);sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}function Jv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+440>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+410>>0]|0)==0:0)?(Ji(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Tv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+84+4>>2]|0)){i=k;return}Uv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+84|0,1);i=k;return}iv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Kv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+440>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+410>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Eh(D,36270,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Eh(c[p>>2]|0,36333,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=sh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];TR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[C>>2]|0);c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Eh(D,36427,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];TR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Uj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){mh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);ev(c[t>>2]|0,c[q>>2]|0);ev(c[t>>2]|0,c[r>>2]|0);i=E;return}function Lv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+440>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Mv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+440>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Tw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Xz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Nv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(Kz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=px(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;ZB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Fh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Tx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?19905:19924;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(ax(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Ux(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((ax(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(ax(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,27844,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36063,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Eh(w,36075,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Eh(w,36103,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Eh(w,36137,t);break}c[q>>2]=dx(c[h>>2]|0)|0;if(c[q>>2]|0){rx(c[h>>2]|0,1,c[o>>2]|0);QC(c[h>>2]|0,c[o>>2]|0,30858,c[c[p>>2]>>2]|0);wH(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);xH(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);hv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Ov(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+400>>1]|0)<=0){zv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+440>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+36>>2]|0)==0:0)?(Oz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Fh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,cC(v,c[w>>2]|0,c[s>>2]|0,36058,c[u>>2]|0),(eC(v,c[y>>2]|0)|0)==0):0)?(v=_x(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=Qy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+392|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[18403+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;Bv(c[w>>2]|0,0,B,0,0)}}else Eh(l,36022,D);fv(c[z>>2]|0,c[y>>2]|0);ev(c[z>>2]|0,c[x>>2]|0);i=D;return}function Pv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+260|0;Y=Ca+256|0;da=Ca+252|0;o=Ca+248|0;r=Ca+244|0;m=Ca+240|0;t=Ca+236|0;p=Ca+232|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+420>>2];h=(c[O>>2]|0)+424|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+420>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+36>>2]|0)==0:0){if(ax(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){ev(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}my(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if((c[(c[O>>2]|0)+36>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0){c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1;c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=16;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(EG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==16){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Eh(Ba,35609,w);break}c[Ba>>2]=dx(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=FG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+420>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;ix(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))HG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=42;break}if(c[(c[P>>2]|0)+8>>2]&2){y=42;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=42;break}c[j>>2]=(wx(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;jx(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];vB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+12>>2];YC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Zz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);IG(c[O>>2]|0)}else y=42;while(0);if((y|0)==42){y=0;c[n>>2]=0;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=ix(c[Ba>>2]|0,76,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=fx(c[Ba>>2]|0,20)|0;vB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Zz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Sz(c[Ba>>2]|0,72,c[(c[p>>2]|0)+28>>2]|0)|0;YD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);IG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(Ly(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=Qy(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=JG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+40|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=mx(c[Ba>>2]|0,107,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)ix(c[Ba>>2]|0,107,c[(c[Q>>2]|0)+8>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Wz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;KG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){LG(c[Ba>>2]|0,c[ya+20>>2]|0,108);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+40|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=mx(w,107,y,0,0,JG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Jh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?256:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(MG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=MG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(NG(c[pa>>2]|0)|0))break;a[xa+1>>0]=NG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=OG(c[pa>>2]|0)|0;a[ya+29>>0]=PG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=QG(c[pa>>2]|0)|0;SG(ta,ua,va,-1,ya,xa,za,Aa,RG(c[pa>>2]|0)|0);rD(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(Ly(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Wz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];TG(M,c[ka>>2]|0);TG(M,c[ya>>2]|0);if(c[ma>>2]|0)UG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;TG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+44>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+40|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=JG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=mx(c[Ba>>2]|0,108,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Wz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Wz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,76,0,c[aa>>2]|0)|0;ix(c[Ba>>2]|0,76,0,c[ea>>2]|0)|0;jx(c[Ba>>2]|0,79,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(64|((c[ia>>2]|0)!=0?512:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=OG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;VG(c[O>>2]|0,g?35649:35658);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=CA(c[O>>2]|0,c[ga>>2]|0)|0;EC(c[O>>2]|0);aB(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);XD(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,99,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;ix(c[Ba>>2]|0,125,c[wa+4>>2]|0,c[ua>>2]|0)|0;xx(c[O>>2]|0,c[ua>>2]|0);FA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);rD(c[pa>>2]|0);sa=(c[O>>2]|0)+40|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,110,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;ix(c[Ba>>2]|0,55,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;EC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(WG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=wx(c[Ba>>2]|0)|0;EC(c[O>>2]|0);if(c[Z>>2]|0)jx(c[Ba>>2]|0,120,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)jx(c[Ba>>2]|0,96,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;RA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;mx(sa,95,ua,za,Aa,nA(c[na>>2]|0)|0,-6)|0;c[R>>2]=wx(c[Ba>>2]|0)|0;jx(c[Ba>>2]|0,18,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;XG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;ix(c[Ba>>2]|0,66,c[aa>>2]|0,c[S>>2]|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Zz(c[Ba>>2]|0,c[R>>2]|0);YG(c[O>>2]|0,wa);ix(c[Ba>>2]|0,76,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)ix(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{rD(c[pa>>2]|0);HA(c[Ba>>2]|0,c[W>>2]|0)|0}ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Yz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,76,1,c[aa>>2]|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,66,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;ZG(c[O>>2]|0,wa);iB(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[U>>2]|0);_G(c[O>>2]|0,wa);Sz(c[Ba>>2]|0,72,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=$G(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Fh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+40|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];sx(c[O>>2]|0,c[D>>2]|0);Tz(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Jj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=hA(c[O>>2]|0,c[F>>2]|0)|0}Ih(c[Ba>>2]|0,104,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Mh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);ix(c[Ba>>2]|0,100,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Sz(c[Ba>>2]|0,111,c[C>>2]|0)|0;aH(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=bH(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=Qy(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);_G(c[O>>2]|0,wa);c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){ev(c[Y>>2]|0,c[G>>2]|0);break}YG(c[O>>2]|0,wa);if((OG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Yz(Aa,RG(c[pa>>2]|0)|0)|0}rD(c[pa>>2]|0);ZG(c[O>>2]|0,wa)}c[ya>>2]=0;iB(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);ev(c[Y>>2]|0,c[G>>2]|0)}_z(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)VG(c[O>>2]|0,35649);if(c[ya>>2]|0){VG(c[O>>2]|0,(c[ya+4>>2]|0)>0?35667:35690);cH(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}_z(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+36>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+420>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)dH(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|256;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024){i=l;return}a=c[(c[c[d>>2]>>2]|0)+96+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Eh(c[d>>2]|0,35575,k);i=l;return}function Rv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?35530:35533;Eh(j,35539,v)}else w=4;if(((w|0)==4?(c[m>>2]=_v(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Tw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}iv(c[t>>2]|0,c[r>>2]|0);kv(c[t>>2]|0,c[s>>2]|0);fv(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Sv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Vw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Tv(l,0,Wv(c[y>>2]|0,160,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=sh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}gv(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Vw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Vw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Uw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){iv(c[j>>2]|0,c[h>>2]|0);ev(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Uv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Yw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}Zw(c[(c[k>>2]|0)+4>>2]|0);i=l;return}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Yw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=jw(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Xv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Tw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Zv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{ev(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function _v(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Vw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=DG(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){hv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Tw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Tw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function $v(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35374+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35395+(d[35374+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35374+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Eh(c[g>>2]|0,35475,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35429;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Eh(t,35431,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function aw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function bw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+472>>2];c[(c[f>>2]|0)+472>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+476>>2]=c[g>>2];i=j;return}function cw(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+192|0;G=X+176|0;H=X+172|0;I=X+168|0;W=X+164|0;U=X+160|0;M=X+156|0;F=X+152|0;S=X+148|0;n=X+144|0;N=X+140|0;P=X+136|0;o=X+132|0;L=X+128|0;V=X+120|0;r=X+88|0;l=X+84|0;R=X+80|0;q=X+76|0;y=X+72|0;v=X+64|0;J=X+60|0;T=X+56|0;m=X+52|0;p=X+184|0;A=X+48|0;C=X+182|0;O=X+44|0;B=X+40|0;u=X+36|0;K=X+32|0;j=X+28|0;w=X+24|0;Q=X+20|0;D=X+16|0;s=X+180|0;k=X+12|0;E=X+8|0;x=X+4|0;z=X;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[N>>2]=0;c[P>>2]=0;c[R>>2]=-1;c[J>>2]=0;c[m>>2]=0;b[p>>1]=1;c[O>>2]=0;c[B>>2]=0;c[u>>2]=0;c[K>>2]=0;c[j>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[L>>2]=c[c[G>>2]>>2];a:do if(((c[(c[G>>2]|0)+36>>2]|0)==0?(d[(c[L>>2]|0)+69>>0]|0)==0:0)?(c[U>>2]=bC(c[G>>2]|0,c[H>>2]|0)|0,(c[U>>2]|0)!=0):0){c[D>>2]=TC(c[G>>2]|0,c[U>>2]|0,109,0,0)|0;c[Q>>2]=(c[(c[U>>2]|0)+12>>2]|0)!=0&1;if(c[D>>2]|0)f=1;else f=(lF(c[G>>2]|0,c[U>>2]|0,0,0)|0)!=0;c[w>>2]=f&1;if(((Tx(c[G>>2]|0,c[U>>2]|0)|0)==0?(UC(c[G>>2]|0,c[U>>2]|0,(c[D>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Fh(c[L>>2]|0,c[(c[U>>2]|0)+64>>2]|0)|0,c[q>>2]=ax(c[G>>2]|0,9,c[c[U>>2]>>2]|0,0,c[(c[(c[L>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0,(c[q>>2]|0)!=1):0){g=(c[G>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[H>>2]|0)+8+44>>2]=h;c[n>>2]=h;c[o>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break;h=(c[G>>2]|0)+40|0;c[h>>2]=(c[h>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[Q>>2]|0)yG(c[G>>2]|0,V,c[c[U>>2]>>2]|0);c[W>>2]=dx(c[G>>2]|0)|0;if(c[W>>2]|0){if(!(d[(c[G>>2]|0)+18>>0]|0))VC(c[W>>2]|0);rx(c[G>>2]|0,1,c[l>>2]|0);if(c[Q>>2]|0){zG(c[G>>2]|0,c[U>>2]|0,c[I>>2]|0,c[n>>2]|0);h=c[n>>2]|0;c[P>>2]=h;c[N>>2]=h};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[G>>2];c[r+4>>2]=c[H>>2];if(!(Ay(r,c[I>>2]|0)|0)){if(c[(c[L>>2]|0)+24>>2]&128){g=(c[G>>2]|0)+44|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[R>>2]=h;ix(c[W>>2]|0,76,0,c[R>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[I>>2]|0)==0^1|(c[w>>2]|0)!=0)?(d[(c[U>>2]|0)+42>>0]&16|0)==0:0){Tz(c[G>>2]|0,c[l>>2]|0,c[(c[U>>2]|0)+28>>2]|0,1,c[c[U>>2]>>2]|0);if(!(d[(c[U>>2]|0)+42>>0]&32))mx(c[W>>2]|0,131,c[(c[U>>2]|0)+28>>2]|0,c[l>>2]|0,c[R>>2]|0,c[c[U>>2]>>2]|0,-2)|0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break b;ix(c[W>>2]|0,131,c[(c[S>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){b[s>>1]=1044;if(e[r+28>>1]&64)c[w>>2]=1;b[s>>1]=e[s>>1]|((c[w>>2]|0)!=0?0:8);if(!(d[(c[U>>2]|0)+42>>0]&32)){c[T>>2]=0;b[p>>1]=1;r=(c[G>>2]|0)+44|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[B>>2]=t;ix(c[W>>2]|0,79,0,c[B>>2]|0)|0}else{c[T>>2]=Jj(c[U>>2]|0)|0;b[p>>1]=b[(c[T>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;r=(c[G>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(b[p>>1]|0);r=(c[G>>2]|0)+40|0;t=c[r>>2]|0;c[r>>2]=t+1;c[O>>2]=t;c[j>>2]=ix(c[W>>2]|0,107,c[O>>2]|0,b[p>>1]|0)|0;Vz(c[G>>2]|0,c[T>>2]|0)}c[F>>2]=qD(c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[F>>2]|0))break a;c[y>>2]=BG(c[F>>2]|0,v)|0;if(c[(c[L>>2]|0)+24>>2]&128)ix(c[W>>2]|0,91,c[R>>2]|0,1)|0;do if(c[T>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[p>>1]|0))break;NA(c[W>>2]|0,c[U>>2]|0,c[n>>2]|0,b[(c[(c[T>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[M>>2]|0)|0);c[M>>2]=(c[M>>2]|0)+1}c[A>>2]=c[m>>2]}else{c[A>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;c[A>>2]=TA(c[G>>2]|0,c[U>>2]|0,-1,c[n>>2]|0,c[A>>2]|0,0)|0;if((c[A>>2]|0)<=(c[(c[G>>2]|0)+44>>2]|0))break;c[(c[G>>2]|0)+44>>2]=c[A>>2]}while(0);do if(!(c[y>>2]|0))if(c[T>>2]|0){q=(c[G>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;b[C>>1]=0;o=c[W>>2]|0;q=c[m>>2]|0;r=b[p>>1]|0;s=c[A>>2]|0;t=CC(c[c[G>>2]>>2]|0,c[T>>2]|0)|0;mx(o,99,q,r,s,t,b[p>>1]|0)|0;ix(c[W>>2]|0,126,c[O>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=1;ix(c[W>>2]|0,142,c[B>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=b[p>>1]|0;t=(c[o>>2]|0)+2|0;c[J>>2]=Vw(c[L>>2]|0,t,((t|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){rD(c[F>>2]|0);break a}VR(c[J>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[J>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[v>>2]|0)>=0)a[(c[J>>2]|0)+((c[v>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[v+4>>2]|0)>=0)a[(c[J>>2]|0)+((c[v+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;HA(c[W>>2]|0,c[j>>2]|0)|0}while(0);if(c[y>>2]|0)c[u>>2]=Wz(c[W>>2]|0)|0;else rD(c[F>>2]|0);do if(!(c[Q>>2]|0)){c[k>>2]=0;if((c[y>>2]|0)==2)c[k>>2]=fx(c[W>>2]|0,20)|0;FC(c[G>>2]|0,c[U>>2]|0,105,8,c[n>>2]|0,c[J>>2]|0,N,P)|0;if((c[y>>2]|0)!=2)break;Zz(c[W>>2]|0,c[k>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){c[K>>2]=Sz(f,57,c[O>>2]|0)|0;ix(c[W>>2]|0,121,c[O>>2]|0,c[A>>2]|0)|0;break}else{c[K>>2]=jx(f,62,c[B>>2]|0,0,c[A>>2]|0)|0;break}}else{if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(d[(c[J>>2]|0)+((c[N>>2]|0)-(c[n>>2]|0))>>0]|0))break;Ih(c[W>>2]|0,30,c[N>>2]|0,c[u>>2]|0,c[A>>2]|0,b[C>>1]|0)|0}while(0);do if(d[(c[U>>2]|0)+42>>0]&16){c[E>>2]=Ux(c[L>>2]|0,c[U>>2]|0)|0;dD(c[G>>2]|0,c[U>>2]|0);mx(c[W>>2]|0,12,0,1,c[A>>2]|0,c[E>>2]|0,-10)|0;Jh(c[W>>2]|0,2);Vx(c[G>>2]|0);if((c[y>>2]|0)!=1)break;if(c[(c[G>>2]|0)+124>>2]|0)break;a[(c[G>>2]|0)+20>>0]=0}else{c[x>>2]=(d[(c[G>>2]|0)+18>>0]|0)==0&1;c[z>>2]=-1;do if(!(c[w>>2]|0)){if((c[v+4>>2]|0)==(c[N>>2]|0))break;c[z>>2]=c[v+4>>2]}while(0);nF(c[G>>2]|0,c[U>>2]|0,c[D>>2]|0,c[N>>2]|0,c[P>>2]|0,c[A>>2]|0,b[C>>1]|0,c[x>>2]&255,10,c[y>>2]&255,c[z>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){ix(f,7,c[O>>2]|0,(c[K>>2]|0)+1|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}else{Yz(f,c[K>>2]|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}}else{_z(c[W>>2]|0,c[u>>2]|0);rD(c[F>>2]|0)}while(0);if(c[Q>>2]|0)break;if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(c[T>>2]|0))Sz(c[W>>2]|0,111,c[N>>2]|0)|0;c[M>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break c;Sz(c[W>>2]|0,111,(c[P>>2]|0)+(c[M>>2]|0)|0)|0;c[M>>2]=(c[M>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}while(0);if((d[(c[G>>2]|0)+18>>0]|0)==0?(c[(c[G>>2]|0)+128>>2]|0)==0:0)hD(c[G>>2]|0);if(((c[(c[L>>2]|0)+24>>2]&128|0)!=0?(a[(c[G>>2]|0)+18>>0]|0)==0:0)?(c[(c[G>>2]|0)+128>>2]|0)==0:0){ix(c[W>>2]|0,87,c[R>>2]|0,1)|0;mC(c[W>>2]|0,1);nC(c[W>>2]|0,0,0,35361,0)|0}}}}}while(0);CG(V);hv(c[L>>2]|0,c[H>>2]|0);iv(c[L>>2]|0,c[I>>2]|0);Tf(c[L>>2]|0,c[J>>2]|0);i=X;return}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+96+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Eh(d,35338,j);i=k;return}function ew(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+36>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[ka>>2]=bC(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[l>>2]=Fh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=TC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Tx(c[X>>2]|0,c[ka>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(UC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}g=(c[X>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Jj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+40>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Vw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(Ay(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(ui(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=19895;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=ax(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Eh(na,24144,q);a[(c[X>>2]|0)+17>>0]=1;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=lF(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=dx(c[X>>2]|0)|0;if(!(c[na>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)yG(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)zG(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(Ay(p,c[_>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){AG(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){jx(c[na>>2]|0,79,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,1028,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;ix(c[na>>2]|0,123,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))ix(c[na>>2]|0,142,c[A>>2]|0,c[V>>2]|0)|0;rD(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+40|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;ix(c[na>>2]|0,79,0,c[u>>2]|0)|0;c[r>>2]=ix(c[na>>2]|0,107,c[fa>>2]|0,b[w>>1]|0)|0;Vz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){HA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=CC(c[ca>>2]|0,c[ja>>2]|0)|0;mx(k,99,p,q,r,u,b[w>>1]|0)|0;ix(c[na>>2]|0,126,c[fa>>2]|0,c[T>>2]|0)|0}rD(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+128>>2]|0)==0:0){w=(c[X>>2]|0)+44|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;ix(c[na>>2]|0,76,0,c[la>>2]|0)|0}c[ha>>2]=Wz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);FC(c[X>>2]|0,c[ka>>2]|0,105,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Wz(k)|0;ix(c[na>>2]|0,57,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=ix(c[na>>2]|0,121,c[fa>>2]|0,c[T>>2]|0)|0;Ih(c[na>>2]|0,30,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=jx(k,62,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;jx(c[na>>2]|0,33,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Ih(c[na>>2]|0,30,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];ix(c[na>>2]|0,34,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){RA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Sz(c[na>>2]|0,17,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=qF(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}ix(c[na>>2]|0,79,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;ix(c[na>>2]|0,84,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){RA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);XD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){$C(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Ih(k,30,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else jx(k,33,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;eD(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Ih(k,30,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=jx(k,33,h,0,c[V>>2]|0)|0;break}}while(0);oF(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))ix(c[na>>2]|0,117,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Zz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);gD(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;rF(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+128>>2]|0)break;ix(c[na>>2]|0,91,c[la>>2]|0,1)|0}while(0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){_z(h,k);ix(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Yz(h,k)|0;break}}while(0);_z(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)ix(c[na>>2]|0,111,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))ix(c[na>>2]|0,111,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+128>>2]|0)break;hD(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+128>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}ix(c[na>>2]|0,87,c[la>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,35325,0)|0;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==185){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}}function fw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;o=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[n>>2]=e;do if(!((c[j>>2]|0)==0|(c[k>>2]|0)==0)){c[o>>2]=cz(c[k>>2]|0)|0;if((c[(c[j>>2]|0)+4>>2]|0)!=(c[o>>2]|0)){p=c[g>>2]|0;o=c[o>>2]|0;c[q>>2]=c[(c[j>>2]|0)+4>>2];c[q+4>>2]=o;Eh(p,35295,q);break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=cF(c[g>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[h>>2]=Tv(c[g>>2]|0,c[h>>2]|0,c[p>>2]|0)|0;if(c[h>>2]|0){c[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2];c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2]=0}c[m>>2]=(c[m>>2]|0)+1}if(((c[h>>2]|0)!=0?(d[c[k>>2]>>0]|0|0)==119:0)?(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)!=0:0){c[(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)+16>>2]=c[k>>2];c[k>>2]=0}}while(0);iv(c[l>>2]|0,c[k>>2]|0);kv(c[l>>2]|0,c[j>>2]|0);i=r;return c[h>>2]|0} +function SH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+576|0;G=I+16|0;s=I+8|0;n=I;C=I+572|0;u=I+568|0;p=I+564|0;v=I+560|0;l=I+556|0;w=I+552|0;q=I+548|0;H=I+544|0;E=I+540|0;x=I+536|0;F=I+56|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;D=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[E>>2]=0;VR(F|0,0,152)|0;b=F+400|0;f=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));c[F+432>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[E>>2]=TH(c[m>>2]|0)|0,(c[E>>2]|0)!=0):0){B=5;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==5){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];H=c[C>>2]|0;G=c[E>>2]|0;c[n>>2]=c[o>>2];jg(H,G,39591,n);Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}uu(c[C>>2]|0);c[F>>2]=c[C>>2];do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=15;break}c[r>>2]=c[(c[C>>2]|0)+96+4>>2];b=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(b,18,39621,s);c[E>>2]=Ug(c[C>>2]|0,18)|0;Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Yw(b,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Yh(F,c[t>>2]|0,H)|0;c[F+436>>2]=(c[u>>2]|0)+((c[F+436>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[F+436>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=15;while(0);if((B|0)==15)Yh(F,c[u>>2]|0,H)|0;if((c[F+12>>2]|0)==101)c[F+12>>2]=0;if(a[F+17>>0]|0)UH(F);if(a[(c[C>>2]|0)+69>>0]|0)c[F+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[F+436>>2];c[E>>2]=c[F+12>>2];a:do if(((c[E>>2]|0)==0?(c[F+8>>2]|0)!=0:0)?(d[F+409>>0]|0)!=0:0){b=c[F+8>>2]|0;if((d[F+409>>0]|0)==2){mC(b,4);c[y>>2]=8;c[z>>2]=12}else{mC(b,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;nC(c[F+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[5524+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+148+5>>0]|0)){c[A>>2]=c[F+8>>2];VH(c[A>>2]|0,c[u>>2]|0,(c[F+436>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[F+8>>2]|0){if((c[E>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=39;break}Tg(c[F+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)c[c[w>>2]>>2]=c[F+8>>2];b=c[C>>2]|0;f=c[E>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(b,f,18391,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(b,f);while(1){if(!(c[F+468>>2]|0))break;c[D>>2]=c[F+468>>2];c[F+468>>2]=c[(c[D>>2]|0)+4>>2];Tf(c[C>>2]|0,c[D>>2]|0)}Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}function TH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=WH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function UH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(og(c[h>>2]|0)|0)){c[j>>2]=pg(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)mh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}rg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){wj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Gj(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function VH(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Yw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+176>>2]=d;d=(c[g>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|(c[k>>2]&1)<<9&65535;i=l;return}function WH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function XH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=YH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function YH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){_H(c[f>>2]|0);break}c[k>>2]=ZH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function ZH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=$H(c[e>>2]|0)|0;if(!(c[f>>2]|0)){_H(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function _H(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function $H(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;d=g;c[e>>2]=b;c[f>>2]=0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+69>>0]|0){d=aI(b)|0;e=(c[e>>2]|0)+40|0;c[e>>2]=d;c[e+4>>2]=C;f=c[f>>2]|0;i=g;return f|0}h=bI(b)|0;b=(c[e>>2]|0)+40|0;c[b>>2]=h;c[b+4>>2]=0;b=(c[e>>2]|0)+40|0;c[d>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[d>>2]|0)){c[f>>2]=7;h=c[f>>2]|0;i=g;return h|0}c[f>>2]=cI(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=b;h=c[f>>2]|0;i=g;return h|0}else{Kd(b);h=c[f>>2]|0;i=g;return h|0}return 0}function aI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;SF(c[d>>2]|0);a=(c[d>>2]|0)+16|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function bI(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;SF(c[b>>2]|0);i=d;return c[(c[b>>2]|0)+16+12>>2]|0}function cI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=RF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function dI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function eI(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function fI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function gI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){IA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Mh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+88>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Yw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function hI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function iI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function jI(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;p=q+12|0;n=q+8|0;k=q+4|0;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}if((c[(c[l>>2]|0)+4>>2]|0)!=0?(c[(c[l>>2]|0)+4>>2]|0)!=(c[(c[l>>2]|0)+8>>2]|0):0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[m>>2]=sh(c[k>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=qh(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[c[m>>2]>>2]=e;if(!(c[c[m>>2]>>2]|0)){Tf(c[k>>2]|0,c[m>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[(c[j>>2]|0)+16>>2]=c[m>>2];b[(c[m>>2]|0)+36>>1]=1;c[(c[m>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[m>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[m>>2]|0)+48>>2]=0;b[(c[m>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[m>>2]|0;$w(e,f,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);$w(c[k>>2]|0,c[m>>2]|0,0);f=c[k>>2]|0;e=c[m>>2]|0;$w(f,e,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);c[n>>2]=Jz(c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,p)|0;if(c[n>>2]|0){n=c[h>>2]|0;c[o>>2]=c[p>>2];Eh(n,18391,o);Tf(c[k>>2]|0,c[p>>2]|0);kI(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}else{c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}return 0}function kI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){i=j;return}e=(c[h>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|2;Rf(c[f>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=0;i=j;return}function lI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=$u(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function mI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Xg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function nI(){return 320}function oI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;TR(l|0,c[g>>2]|0,208)|0;TR(c[g>>2]|0,c[h>>2]|0,208)|0;TR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+176>>2];c[(c[g>>2]|0)+176>>2]=c[(c[h>>2]|0)+176>>2];c[(c[h>>2]|0)+176>>2]=c[j>>2];d=(c[h>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|((e[(c[g>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;i=f;return}function pI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+40>>2]=0;i=b;return}function qI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function rI(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;OC(c[t>>2]|0,8);c[(c[s>>2]|0)+104>>2]=0;if((c[(c[s>>2]|0)+40>>2]|0)==7){mh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+136>>2];a:do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+92>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+36|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=162);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+40>>2]=9;c[v>>2]=1;z=c[s>>2]|0;AI(z,lh(c[(c[s>>2]|0)+40>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+136>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+136>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=RM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Ox(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(Nx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=SM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0)){c[g+12>>2]=0;gh(c[t>>2]|0,c[x>>2]|0,-1,1,0)|0}else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(Nx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,41910,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+140>>1]=8-(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3)-1<<2);c[(c[s>>2]|0)+104>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function sI(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1872|0;Ie=vf+536|0;He=vf+528|0;Ge=vf+520|0;jf=vf+504|0;hf=vf+496|0;Fe=vf+488|0;Ee=vf+480|0;De=vf+472|0;Ce=vf+464|0;Be=vf+456|0;Ae=vf+440|0;gf=vf+432|0;ze=vf+424|0;ye=vf+416|0;xe=vf+408|0;we=vf+400|0;ve=vf+392|0;of=vf+376|0;nf=vf+368|0;mf=vf+360|0;lf=vf+352|0;qf=vf+1656|0;ef=vf+1652|0;pf=vf+1648|0;uf=vf+1644|0;rf=vf+1640|0;ff=vf+1862|0;G=vf+1861|0;ea=vf+1636|0;tf=vf+1632|0;_a=vf+1628|0;l=vf+1624|0;Jc=vf+1620|0;Kc=vf+1616|0;Lc=vf+1612|0;dd=vf+1608|0;n=vf+1604|0;sf=vf+344|0;g=vf+1600|0;_b=vf+1596|0;Cd=vf+1592|0;Bc=vf+1588|0;kf=vf+1584|0;A=vf+1580|0;db=vf+1670|0;sd=vf+1576|0;Ea=vf+1572|0;kb=vf+1568|0;ob=vf+1564|0;Fa=vf+1560|0;Rc=vf+1556|0;Q=vf+1552|0;Ma=vf+336|0;w=vf+1860|0;K=vf+1668|0;ne=vf+1666|0;oe=vf+1664|0;aa=vf+328|0;ca=vf+320|0;Ld=vf+312|0;Md=vf+304|0;Ga=vf+1548|0;hc=vf+1544|0;W=vf+1540|0;ic=vf+1536|0;ba=vf+296|0;pe=vf+288|0;da=vf+280|0;hb=vf+1859|0;Nd=vf+1532|0;Qd=vf+1528|0;r=vf+1858|0;L=vf+1662|0;O=vf+1660|0;Ia=vf+1524|0;X=vf+1520|0;nb=vf+1516|0;pb=vf+1512|0;Nc=vf+1508|0;ua=vf+1504|0;$b=vf+1500|0;x=vf+1496|0;re=vf+1492|0;se=vf+1488|0;y=vf+1484|0;qb=vf+1480|0;xb=vf+1476|0;ac=vf+1472|0;m=vf+1468|0;Ca=vf+1464|0;S=vf+1460|0;yc=vf+1456|0;fe=vf+240|0;Te=vf+1452|0;Ye=vf+1448|0;We=vf+1444|0;fb=vf+1440|0;gb=vf+232|0;v=vf+1436|0;je=vf+1432|0;id=vf+1428|0;Re=vf+1424|0;z=vf+1857|0;af=vf+1420|0;hd=vf+1416|0;Qa=vf+224|0;Wa=vf+1412|0;Na=vf+216|0;bb=vf+208|0;ab=vf+1408|0;ie=vf+1404|0;uc=vf+1400|0;Qc=vf+1396|0;Ta=vf+1392|0;Se=vf+1388|0;J=vf+1384|0;V=vf+1380|0;Ba=vf+1376|0;Da=vf+1372|0;Ra=vf+200|0;bc=vf+1368|0;mb=vf+1364|0;_e=vf+1360|0;Za=vf+1356|0;cd=vf+1352|0;kd=vf+1348|0;od=vf+1344|0;sa=vf+1340|0;va=vf+1336|0;za=vf+1332|0;ya=vf+1328|0;D=vf+1324|0;ra=vf+1320|0;tb=vf+1316|0;na=vf+1312|0;ka=vf+1308|0;oa=vf+1304|0;ga=vf+1300|0;fa=vf+1296|0;vc=vf+1292|0;Ua=vf+1288|0;Oc=vf+1284|0;rb=vf+1280|0;ha=vf+1276|0;Ke=vf+1272|0;Ad=vf+1268|0;lc=vf+1264|0;wc=vf+1260|0;qc=vf+1256|0;Pc=vf+1252|0;Dd=vf+1248|0;rc=vf+1244|0;yb=vf+1240|0;sc=vf+1236|0;Td=vf+1232|0;eb=vf+1228|0;zb=vf+1224|0;Gd=vf+1208|0;Va=vf+1200|0;la=vf+192|0;H=vf+1196|0;s=vf+1192|0;me=vf+1188|0;wa=vf+1184|0;Ab=vf+1180|0;Ud=vf+1176|0;Gc=vf+1172|0;Hc=vf+1168|0;Hd=vf+1152|0;q=vf+1674|0;Bb=vf+1148|0;cc=vf+1144|0;Vd=vf+1140|0;ma=vf+184|0;qe=vf+176|0;Cb=vf+1136|0;Wd=vf+1132|0;B=vf+1128|0;Sc=vf+1124|0;Cc=vf+1120|0;tc=vf+1116|0;Mc=vf+1112|0;Db=vf+1108|0;he=vf+1104|0;Ue=vf+1100|0;ld=vf+1096|0;ib=vf+1092|0;Le=vf+144|0;Eb=vf+1088|0;Ve=vf+1084|0;md=vf+1080|0;jb=vf+1076|0;Fb=vf+1072|0;Xd=vf+1068|0;Xa=vf+1064|0;Gb=vf+1060|0;Hb=vf+1056|0;dc=vf+1052|0;Ha=vf+1048|0;Ib=vf+1044|0;te=vf+136|0;td=vf+1040|0;Xc=vf+1036|0;Jb=vf+1032|0;Kb=vf+1028|0;ec=vf+1024|0;Yd=vf+1020|0;Lb=vf+1016|0;fc=vf+1012|0;Zd=vf+1008|0;Mb=vf+1004|0;_d=vf+1e3|0;Nb=vf+996|0;Ne=vf+104|0;Pb=vf+992|0;gc=vf+988|0;ae=vf+984|0;Id=vf+968|0;Qb=vf+964|0;nd=vf+960|0;ce=vf+96|0;Sb=vf+956|0;be=vf+952|0;Jd=vf+936|0;pa=vf+932|0;ia=vf+928|0;Pa=vf+924|0;Vb=vf+920|0;Ed=vf+916|0;P=vf+912|0;xc=vf+908|0;ja=vf+904|0;Ze=vf+900|0;bf=vf+896|0;xa=vf+880|0;$a=vf+872|0;p=vf+868|0;Sa=vf+864|0;Oe=vf+860|0;Fd=vf+856|0;ue=vf+88|0;ta=vf+852|0;I=vf+848|0;Ya=vf+844|0;Oa=vf+840|0;jd=vf+836|0;Tc=vf+832|0;Ac=vf+828|0;Dc=vf+824|0;fd=vf+820|0;ke=vf+816|0;Ec=vf+812|0;Ic=vf+808|0;Fc=vf+804|0;Ja=vf+800|0;jc=vf+796|0;Y=vf+792|0;kc=vf+788|0;Uc=vf+784|0;le=vf+48|0;Vc=vf+780|0;_=vf+776|0;o=vf+764|0;Wc=vf+760|0;vb=vf+756|0;ed=vf+752|0;E=vf+748|0;F=vf+744|0;Xe=vf+740|0;wb=vf+736|0;Aa=vf+1673|0;lb=vf+732|0;Pe=vf+728|0;rd=vf+724|0;ge=vf+8|0;cf=vf+720|0;mc=vf+716|0;pd=vf+712|0;ud=vf+708|0;Yc=vf+704|0;Ka=vf+700|0;qa=vf+696|0;Zc=vf+692|0;gd=vf+688|0;sb=vf+684|0;qd=vf+680|0;vd=vf+676|0;nc=vf+672|0;Od=vf+668|0;R=vf+664|0;t=vf+660|0;wd=vf+656|0;_c=vf+652|0;zc=vf+648|0;ee=vf+616|0;oc=vf+612|0;xd=vf+608|0;$c=vf+604|0;Pd=vf+600|0;pc=vf+596|0;yd=vf+592|0;bd=vf+588|0;zd=vf+584|0;ad=vf+580|0;La=vf+576|0;T=vf+572|0;de=vf;u=vf+568|0;Bd=vf+564|0;Je=vf+1672|0;cb=vf+560|0;ub=vf+556|0;df=vf+552|0;U=vf+548|0;Me=vf+544|0;Qe=vf+540|0;c[qf>>2]=f;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[pf>>2]=c[ef>>2];c[uf>>2]=0;c[rf>>2]=c[c[qf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[rf>>2]|0)+66>>0]|0;c[ea>>2]=0;c[tf>>2]=0;c[_a>>2]=0;c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[Jc>>2]=0;c[Kc>>2]=0;c[Lc>>2]=0;c[dd>>2]=0;c[n>>2]=0;wf=(c[rf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=sf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;xI(c[qf>>2]|0);a:do if((c[(c[qf>>2]|0)+40>>2]|0)==7)k=889;else{c[(c[qf>>2]|0)+40>>2]=0;wf=(c[qf>>2]|0)+56|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[qf>>2]|0)+104>>2]=0;c[(c[rf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[rf>>2]|0)+248>>2]|0)){if(c[(c[rf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[qf>>2]|0)+156+16>>2];c[_a>>2]=(c[(c[rf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0)}c[pf>>2]=(c[ef>>2]|0)+((c[(c[qf>>2]|0)+36>>2]|0)*20|0);c:while(1){c[tf>>2]=(c[tf>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 87:{k=64;break c}case 1:{k=393;break c}case 13:{k=7;break}case 14:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;wf=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;k=c[Jc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 72:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 15:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}case 73:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[_b>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);c[pf>>2]=(c[ef>>2]|0)+(((c[(c[_b>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 16:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;c[Cd>>2]=c[c[Jc>>2]>>2];j=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;wf=c[Jc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[ef>>2]|0)+((c[Cd>>2]|0)*20|0);break}case 74:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Lc>>2]|0)+8>>1]&1)k=20;break}case 75:{k=20;break}case 76:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 77:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 132:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=8;h[c[dd>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=78;wf=Jf(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if(iu(c[dd>>2]|0,d[G>>0]|0)|0){k=889;break a}c[(c[dd>>2]|0)+24>>2]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Tf(c[rf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[dd>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[dd>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[rf>>2]|0)+96>>2]|0)){k=888;break c}else k=43;break}case 78:{k=43;break}case 79:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[A>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);wf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[db>>1]=wf;b[(c[dd>>2]|0)+8>>1]=wf;c[(c[dd>>2]|0)+12>>2]=0;while(1){if((c[A>>2]|0)<=0)break d;c[dd>>2]=(c[dd>>2]|0)+40;ih(c[dd>>2]|0);b[(c[dd>>2]|0)+8>>1]=b[db>>1]|0;c[(c[dd>>2]|0)+12>>2]=0;c[A>>2]=(c[A>>2]|0)+-1}}case 80:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[dd>>2]|0)+8>>1]=(e[(c[dd>>2]|0)+8>>1]|1)&-129;break}case 81:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 82:{c[sd>>2]=(c[(c[qf>>2]|0)+116>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(DI(c[sd>>2]|0)|0){k=888;break c}c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;kG(c[dd>>2]|0,c[sd>>2]|0,2048);break}case 83:{c[Ea>>2]=c[(c[pf>>2]|0)+12>>2];c[kb>>2]=c[(c[pf>>2]|0)+4>>2];c[ob>>2]=c[(c[pf>>2]|0)+8>>2];c[Jc>>2]=(c[l>>2]|0)+((c[kb>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[ob>>2]|0)*40|0);do{mI(c[dd>>2]|0,c[Jc>>2]|0);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}c[Jc>>2]=(c[Jc>>2]|0)+40;c[dd>>2]=(c[dd>>2]|0)+40;wf=(c[Ea>>2]|0)+-1|0;c[Ea>>2]=wf}while((wf|0)!=0);break}case 84:{c[Fa>>2]=c[(c[pf>>2]|0)+12>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){kG(c[dd>>2]|0,c[Jc>>2]|0,4096);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}wf=c[Fa>>2]|0;c[Fa>>2]=wf+-1;if(!wf)break d;c[dd>>2]=(c[dd>>2]|0)+40;c[Jc>>2]=(c[Jc>>2]|0)+40}}case 85:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);kG(c[dd>>2]|0,c[Jc>>2]|0,4096);break}case 86:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wf=c[Jc>>2]|0;hh(c[dd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 52:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}if((e[(c[Jc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Jc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Kc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Jc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Jc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Kc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}g=(c[(c[Jc>>2]|0)+12>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0;j=Ma;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Ma;g=c[j+4>>2]|0;wf=c[(c[rf>>2]|0)+96>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=888;break c}if(Ox(c[dd>>2]|0,(c[Ma>>2]|0)+2|0,(c[dd>>2]|0)==(c[Kc>>2]|0)&1)|0){k=889;break a}b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|2;if((c[dd>>2]|0)!=(c[Kc>>2]|0))TR(c[(c[dd>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+12>>2]|0)|0;TR((c[(c[dd>>2]|0)+16>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0,c[(c[Jc>>2]|0)+16>>2]|0,c[(c[Jc>>2]|0)+12>>2]|0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+(c[Ma>>2]|0)>>0]=0;wf=Ma;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[dd>>2]|0)+12>>2]=c[Ma>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[ne>>1]=HI(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[oe>>1]=HI(c[Kc>>2]|0)|0;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[ne>>1]&e[oe>>1]&4){wf=c[Jc>>2]|0;j=c[wf+4>>2]|0;f=aa;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Kc>>2]|0;j=c[f+4>>2]|0;wf=ca;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[pf>>2]>>0]|0){case 47:{wf=aa;if(II(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 48:{wf=aa;if(JI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 49:{wf=aa;if(KI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 50:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=aa;wf=ca;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=aa;f=ca;wf=ca;c[wf>>2]=_R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=aa;f=ca;wf=ca;c[wf>>2]=$R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ca;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Ld>>3]=+$g(c[Jc>>2]|0);h[Md>>3]=+$g(c[Kc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 47:{h[Md>>3]=+h[Md>>3]+ +h[Ld>>3];break}case 48:{h[Md>>3]=+h[Md>>3]-+h[Ld>>3];break}case 49:{h[Md>>3]=+h[Md>>3]*+h[Ld>>3];break}case 50:{if(+h[Ld>>3]==0.0)break e;h[Md>>3]=+h[Md>>3]/+h[Ld>>3];break}default:{xf=+h[Ld>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=aa;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Md>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ca;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=ca;wf=aa;h[Md>>3]=+(($R(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(qG(+h[Md>>3])|0)){h[c[dd>>2]>>3]=+h[Md>>3];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[ne>>1]|e[oe>>1])&8|0)!=0)break d;Jx(c[dd>>2]|0);break d}}while(0);ih(c[dd>>2]|0);break}case 88:{if(c[(c[pf>>2]|0)+4>>2]|0)hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{c[Ga>>2]=d[(c[pf>>2]|0)+3>>0];c[hc>>2]=Vw(c[rf>>2]|0,32+((c[Ga>>2]|0)-1<<2)|0,0)|0;if(!(c[hc>>2]|0)){k=889;break a}c[c[hc>>2]>>2]=0;c[(c[hc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[hc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[hc>>2]|0)+12>>2]=c[qf>>2];a[(c[hc>>2]|0)+26>>0]=c[Ga>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[hc>>2];a[c[pf>>2]>>0]=90;k=126;break}case 90:{k=126;break}case 46:case 45:case 44:case 43:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}wf=ah(c[Kc>>2]|0)|0;j=ba;c[j>>2]=wf;c[j+4>>2]=C;j=ah(c[Jc>>2]|0)|0;wf=da;c[wf>>2]=j;c[wf+4>>2]=C;a[hb>>0]=a[c[pf>>2]>>0]|0;do if((d[hb>>0]|0)!=43){f=da;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[hb>>0]|0)==44){yf=ba;j=c[yf+4>>2]|f;wf=ba;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[da+4>>2]|0)<0){a[hb>>0]=91-(d[hb>>0]|0);wf=da;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=da;j=QR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=da;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=da;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=ba;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[hb>>0]|0)==45;wf=g?0:-1;yf=ba;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[pe>>2]=c[ba>>2];c[pe+4>>2]=c[ba+4>>2];g=c[da>>2]|0;j=pe;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[hb>>0]|0)!=45){wf=SR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ba+4>>2]|0)<0){j=da;j=QR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=WR(-1,-1,j|0)|0;f=pe;wf=c[f+4>>2]|C;yf=pe;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=WR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C};c[ba>>2]=c[pe>>2];c[ba+4>>2]=c[pe+4>>2]}}else{j=da;f=ba;wf=c[f+4>>2]&c[j+4>>2];yf=ba;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=ba;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break}case 91:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;wf=c[(c[pf>>2]|0)+8>>2]|0;yf=c[Jc>>2]|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 17:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Jc>>2]|0,67,a[G>>0]|0),(e[(c[Jc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=159;break c}else{k=14;break d}b[(c[Jc>>2]|0)+8>>1]=e[(c[Jc>>2]|0)+8>>1]&-49664|4;break}case 92:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&4)Rx(c[Jc>>2]|0)|0;break}case 93:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&16384)g=Yg(c[Jc>>2]|0)|0;else g=0;c[uf>>2]=g;Ex(c[Jc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Jc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[dd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);c[ea>>2]=1;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Nd>>2]=0;break}c[Nd>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]|e[O>>1])&2){if((e[L>>1]&14|0)==2){Bh(c[Jc>>2]|0,0);b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0}if((e[O>>1]&14|0)==2)Bh(c[Lc>>2]|0,0)}if(e[(c[Jc>>2]|0)+8>>1]&e[(c[Lc>>2]|0)+8>>1]&4){wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=1;break}wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=-1;break}else{c[Nd>>2]=0;break}}}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){Mx(c[Jc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Jc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){Mx(c[Lc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Lc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}c[Nd>>2]=MI(c[Lc>>2]|0,c[Jc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 37:{c[Qd>>2]=(c[Nd>>2]|0)==0&1;break}case 36:{c[Qd>>2]=c[Nd>>2];break}case 40:{c[Qd>>2]=(c[Nd>>2]|0)<0&1;break}case 39:{c[Qd>>2]=(c[Nd>>2]|0)<=0&1;break}case 38:{c[Qd>>2]=(c[Nd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Nd>>2]|0)>=0&1}b[(c[Jc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Lc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=14;break d}else break d;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[ea>>2]=c[Nd>>2];c[Qd>>2]=(c[Qd>>2]|0)!=0&1;if((d[(c[pf>>2]|0)+3>>0]&8|0)!=0?((d[c[pf>>2]>>0]|0)==37|0)==(c[Qd>>2]|0):0)break d;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;wf=c[Qd>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 42:{if(c[ea>>2]|0)k=14;break}case 94:{c[n>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Nc>>2]=c[(c[pf>>2]|0)+16>>2];c[nb>>2]=c[(c[pf>>2]|0)+4>>2];c[pb>>2]=c[(c[pf>>2]|0)+8>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ia>>2]|0))break;g=c[X>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[ua>>2]=g;c[$b>>2]=c[(c[Nc>>2]|0)+20+(c[X>>2]<<2)>>2];c[x>>2]=d[(c[(c[Nc>>2]|0)+16>>2]|0)+(c[X>>2]|0)>>0];c[ea>>2]=MI((c[l>>2]|0)+(((c[nb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[pb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,c[$b>>2]|0)|0;if(c[ea>>2]|0){k=217;break}c[X>>2]=(c[X>>2]|0)+1}if((k|0)==217?(k=0,(c[x>>2]|0)!=0):0)c[ea>>2]=0-(c[ea>>2]|0);c[n>>2]=0;break}case 18:{if((c[ea>>2]|0)<0){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[ea>>2]|0)){c[pf>>2]=(c[ef>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[ef>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)c[re>>2]=2;else{yf=ah(c[Jc>>2]|0)|0;c[re>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Kc>>2]|0)+8>>1]&1)c[se>>2]=2;else{yf=ah(c[Kc>>2]|0)|0;c[se>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[re>>2]|0)*3|0)+(c[se>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==28)c[re>>2]=d[39925+g>>0];else c[re>>2]=d[39934+g>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[re>>2]|0)==2){b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[re>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 20:{if((c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2]|0)==(c[(c[pf>>2]|0)+4>>2]|0))k=14;else c[(c[pf>>2]|0)+4>>2]=c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){c[y>>2]=+$g(c[Jc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==22)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[pf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 34:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)k=14;break}case 35:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1))k=14;break}case 96:{c[xb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qb>>2]=c[(c[pf>>2]|0)+8>>2];c[uf>>2]=NI(xb,qb)|0;if(c[uf>>2]|0)break a;c[yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[xb>>2]|0)+76>>2];c[ac>>2]=c[(c[xb>>2]|0)+16>>2];do if((c[(c[xb>>2]|0)+56>>2]|0)!=(c[(c[qf>>2]|0)+32>>2]|0)){do if(a[(c[xb>>2]|0)+2>>0]|0)if((d[c[xb>>2]>>0]|0)==3){c[id>>2]=(c[l>>2]|0)+((c[(c[xb>>2]|0)+16>>2]|0)*40|0);yf=c[(c[id>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[xb>>2]|0)+64>>2]=yf;c[(c[xb>>2]|0)+60>>2]=yf;c[(c[xb>>2]|0)+72>>2]=c[(c[id>>2]|0)+16>>2];break}else{ih(c[yc>>2]|0);break d}else{g=bI(c[ac>>2]|0)|0;c[(c[xb>>2]|0)+60>>2]=g;g=OI(c[ac>>2]|0,v)|0;c[(c[xb>>2]|0)+72>>2]=g;g=c[(c[xb>>2]|0)+60>>2]|0;if((c[(c[xb>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[xb>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}c[(c[xb>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[xb>>2]|0)+56>>2]=c[(c[qf>>2]|0)+32>>2];g=c[(c[xb>>2]|0)+72>>2]|0;if((d[c[(c[xb>>2]|0)+72>>2]>>0]|0)<128){c[fb>>2]=d[g>>0];g=1}else g=(bG(g,fb)|0)&255;c[(c[xb>>2]|0)+68>>2]=g&255;b[(c[xb>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[fb>>2];if((c[v>>2]|0)>>>0<(c[fb>>2]|0)>>>0){c[(c[xb>>2]|0)+72>>2]=0;c[(c[xb>>2]|0)+64>>2]=0;if((c[fb>>2]|0)>>>0>98307){k=267;break c}if((c[fb>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0){k=267;break c}else{k=270;break}}else{if((c[fb>>2]|0)>>>0<=0){k=270;break}c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}}else k=270;while(0);do if((k|0)==270){k=0;if((e[(c[xb>>2]|0)+14>>1]|0)>(c[qb>>2]|0)){c[je>>2]=c[(c[xb>>2]|0)+80+(c[qb>>2]<<2)>>2];break}if((c[(c[xb>>2]|0)+68>>2]|0)>>>0>=(c[c[m>>2]>>2]|0)>>>0){c[je>>2]=0;k=292;break}if(c[(c[xb>>2]|0)+72>>2]|0){c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}g=fe;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=PI(c[ac>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,fe)|0;if(c[uf>>2]|0)break a;c[Te>>2]=c[fe+16>>2];k=276}while(0);if((k|0)==276){c[S>>2]=e[(c[xb>>2]|0)+14>>1];yf=gb;c[yf>>2]=c[(c[m>>2]|0)+(c[S>>2]<<2)>>2];c[yf+4>>2]=0;c[Ye>>2]=(c[Te>>2]|0)+(c[(c[xb>>2]|0)+68>>2]|0);c[We>>2]=(c[Te>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Ye>>2]>>0]|0;c[je>>2]=yf;g=c[Ye>>2]|0;if(yf>>>0<128){c[Ye>>2]=g+1;wf=(QI(c[je>>2]&255)|0)&255;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(bG(g,je)|0)&255;c[Ye>>2]=(c[Ye>>2]|0)+wf;wf=cG(c[je>>2]|0)|0;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[je>>2]|0;yf=c[S>>2]|0;c[S>>2]=yf+1;c[(c[xb>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[S>>2]<<2)>>2]=c[gb>>2];if((c[S>>2]|0)>(c[qb>>2]|0))break}while((c[Ye>>2]|0)>>>0<(c[We>>2]|0)>>>0);if((c[Ye>>2]|0)>>>0>=(c[We>>2]|0)>>>0){if((c[Ye>>2]|0)>>>0>(c[We>>2]|0)>>>0){k=286;break c}yf=gb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[xb>>2]|0)+60>>2]|0)){k=286;break c}}yf=gb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0:0)){k=286;break c}b[(c[xb>>2]|0)+14>>1]=c[S>>2];c[(c[xb>>2]|0)+68>>2]=(c[Ye>>2]|0)-(c[Te>>2]|0);if(!(c[(c[xb>>2]|0)+72>>2]|0)){Xg(fe);k=292}else k=292}if((k|0)==292?(k=0,(e[(c[xb>>2]|0)+14>>1]|0)<=(c[qb>>2]|0)):0){g=c[yc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){kG(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{ih(g);break d}}if(e[(c[yc>>2]|0)+8>>1]&9312)ih(c[yc>>2]|0);if((c[(c[xb>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[qb>>2]|0)+1<<2)>>2]|0)>>>0){c[Te>>2]=(c[(c[xb>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0);if((c[je>>2]|0)>>>0<12){dG(c[Te>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;break d}g=(((c[je>>2]|0)-12|0)>>>0)/2|0;c[Ca>>2]=g;c[(c[yc>>2]|0)+12>>2]=g;a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;g=c[yc>>2]|0;if((c[(c[yc>>2]|0)+24>>2]|0)<((c[Ca>>2]|0)+2|0)){b[g+8>>1]=1;if(Ox(c[yc>>2]|0,(c[Ca>>2]|0)+2|0,0)|0){k=889;break a}}else c[(c[yc>>2]|0)+16>>2]=c[g+20>>2];TR(c[(c[yc>>2]|0)+16>>2]|0,c[Te>>2]|0,c[Ca>>2]|0)|0;a[(c[(c[yc>>2]|0)+16>>2]|0)+(c[Ca>>2]|0)>>0]=0;a[(c[(c[yc>>2]|0)+16>>2]|0)+((c[Ca>>2]|0)+1)>>0]=0;b[(c[yc>>2]|0)+8>>1]=b[16418+((c[je>>2]&1)<<1)>>1]|0;break d}a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[je>>2]|0)>>>0>=12?(c[je>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=310}else k=310;while(0);if((k|0)==310?(k=0,yf=cG(c[je>>2]|0)|0,c[Ca>>2]=yf,(yf|0)!=0):0){c[uf>>2]=PI(c[ac>>2]|0,c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0,c[Ca>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,c[yc>>2]|0)|0;if(c[uf>>2]|0)break a;dG(c[(c[yc>>2]|0)+16>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;yf=(c[yc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}dG(39943,c[je>>2]|0,c[yc>>2]|0)|0;break}case 98:{c[Re>>2]=c[(c[pf>>2]|0)+16>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Re>>2]|0;c[Re>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;Lx(c[Jc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Jc>>2]=(c[Jc>>2]|0)+40}}case 99:{yf=Qa;c[yf>>2]=0;c[yf+4>>2]=0;c[Wa>>2]=0;yf=bb;c[yf>>2]=0;c[yf+4>>2]=0;c[Ta>>2]=c[(c[pf>>2]|0)+4>>2];c[Se>>2]=c[(c[pf>>2]|0)+16>>2];c[uc>>2]=(c[l>>2]|0)+((c[Ta>>2]|0)*40|0);c[Ta>>2]=c[(c[pf>>2]|0)+8>>2];c[Qc>>2]=(c[uc>>2]|0)+(((c[Ta>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[qf>>2]|0)+143>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Se>>2]|0){c[hd>>2]=c[uc>>2];do{wf=c[hd>>2]|0;c[hd>>2]=wf+40;yf=c[Se>>2]|0;c[Se>>2]=yf+1;Lx(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Se>>2]>>0]|0)!=0)}c[hd>>2]=c[Qc>>2];while(1){yf=RI(c[hd>>2]|0,c[J>>2]|0,Da)|0;c[ie>>2]=yf;c[(c[hd>>2]|0)+28>>2]=yf;do if(e[(c[hd>>2]|0)+8>>1]&16384){yf=Qa;g=c[hd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Yg(g)|0){k=889;break a}else break;else{wf=c[g>>2]|0;yf=bb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=bb;c[yf>>2]=wf;c[yf+4>>2]=C;c[Da>>2]=(c[Da>>2]|0)-(c[c[hd>>2]>>2]|0);break}}while(0);wf=Qa;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,c[Da>>2]|0,0)|0;yf=Qa;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ie>>2]|0)>>>0<=127)g=1;else g=iG(c[ie>>2]|0,0)|0;c[Wa>>2]=(c[Wa>>2]|0)+g;if((c[hd>>2]|0)==(c[uc>>2]|0))break;c[hd>>2]=(c[hd>>2]|0)+-40}g=c[Wa>>2]|0;if((c[Wa>>2]|0)>126){c[ab>>2]=iG(g,((g|0)<0)<<31>>31)|0;c[Wa>>2]=(c[Wa>>2]|0)+(c[ab>>2]|0);wf=c[ab>>2]|0;yf=c[Wa>>2]|0;if((wf|0)<(iG(yf,((yf|0)<0)<<31>>31)|0))c[Wa>>2]=(c[Wa>>2]|0)+1}else c[Wa>>2]=g+1;f=c[Wa>>2]|0;wf=Qa;wf=RR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Na;c[f>>2]=wf;c[f+4>>2]=C;f=Na;wf=bb;wf=RR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[rf>>2]|0)+96>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=888;break c}if(Nx(c[dd>>2]|0,c[Na>>2]|0)|0){k=889;break a}c[af>>2]=c[(c[dd>>2]|0)+16>>2];if((c[Wa>>2]|0)>>>0<128){a[c[af>>2]>>0]=c[Wa>>2];g=1}else{g=c[Wa>>2]|0;g=SI(c[af>>2]|0,g,((g|0)<0)<<31>>31)|0}c[V>>2]=g&255;c[Ba>>2]=c[Wa>>2];c[hd>>2]=c[uc>>2];do{c[ie>>2]=c[(c[hd>>2]|0)+28>>2];if((c[ie>>2]|0)>>>0<128){a[(c[af>>2]|0)+(c[V>>2]|0)>>0]=c[ie>>2];g=1}else g=SI((c[af>>2]|0)+(c[V>>2]|0)|0,c[ie>>2]|0,0)|0;c[V>>2]=(c[V>>2]|0)+(g&255);yf=TI((c[af>>2]|0)+(c[Ba>>2]|0)|0,c[hd>>2]|0,c[ie>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+yf;yf=(c[hd>>2]|0)+40|0;c[hd>>2]=yf}while(yf>>>0<=(c[Qc>>2]|0)>>>0);c[(c[dd>>2]|0)+12>>2]=c[Na>>2];b[(c[dd>>2]|0)+8>>1]=16;yf=bb;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[dd>>2]>>2]=c[bb>>2];yf=(c[dd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[dd>>2]|0)+10>>0]=1;break}case 100:{c[bc>>2]=c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ra;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=UI(c[bc>>2]|0,Ra)|0;if(c[uf>>2]|0)break a;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=Ra;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[mb>>2]=c[(c[pf>>2]|0)+4>>2];c[_e>>2]=c[(c[pf>>2]|0)+16>>2];do if(!(c[mb>>2]|0)){if((c[(c[rf>>2]|0)+164>>2]|0)>0){AI(c[qf>>2]|0,39951,we);c[uf>>2]=5;break}c[Za>>2]=Jf(c[_e>>2]|0)|0;c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[rf>>2]|0)+436>>2]|0)+(c[(c[rf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[cd>>2]=Vw(c[rf>>2]|0,32+(c[Za>>2]|0)+1|0,0)|0;if(c[cd>>2]|0){c[c[cd>>2]>>2]=(c[cd>>2]|0)+32;TR(c[c[cd>>2]>>2]|0,c[_e>>2]|0,(c[Za>>2]|0)+1|0)|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[rf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[cd>>2]|0)+24>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[cd>>2];yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[cd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[cd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[sa>>2]=0;c[kd>>2]=c[(c[rf>>2]|0)+424>>2];while(1){if(!(c[kd>>2]|0))break;if(!(ig(c[c[kd>>2]>>2]|0,c[_e>>2]|0)|0))break;c[sa>>2]=(c[sa>>2]|0)+1;c[kd>>2]=c[(c[kd>>2]|0)+24>>2]}if(!(c[kd>>2]|0)){yf=c[qf>>2]|0;c[xe>>2]=c[_e>>2];AI(yf,40002,xe);c[uf>>2]=1;break}if((c[mb>>2]|0)==1?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40024,ye);c[uf>>2]=5;break}if(!(c[(c[kd>>2]|0)+24>>2]|0))g=(d[(c[rf>>2]|0)+75>>0]|0)!=0;else g=0;c[za>>2]=g&1;if(!((c[za>>2]|0)!=0&(c[mb>>2]|0)==1)){c[sa>>2]=(c[(c[rf>>2]|0)+432>>2]|0)-(c[sa>>2]|0)-1;g:do if((c[mb>>2]|0)==2){c[ya>>2]=(c[(c[rf>>2]|0)+24>>2]&2|0)!=0&1;c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break g;c[uf>>2]=WI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,516,(c[ya>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}}else c[ya>>2]=0;while(0);c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break;c[uf>>2]=XI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}if(c[ya>>2]|0){Sh(c[rf>>2]|0);Cg(c[rf>>2]|0);c[(c[rf>>2]|0)+24>>2]=c[(c[rf>>2]|0)+24>>2]|2}}else{yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=887;break c}a[(c[rf>>2]|0)+67>>0]=1;if((BI(c[qf>>2]|0)|0)==5){k=370;break c}a[(c[rf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[qf>>2]|0)+40>>2]}while(1){if((c[(c[rf>>2]|0)+424>>2]|0)==(c[kd>>2]|0))break;c[od>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[(c[od>>2]|0)+24>>2];Tf(c[rf>>2]|0,c[od>>2]|0);yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[kd>>2]|0;if((c[mb>>2]|0)==1){c[(c[rf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[rf>>2]|0,c[kd>>2]|0);if(!(c[za>>2]|0)){yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[kd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[rf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[za>>2]|0)==0|(c[mb>>2]|0)==2){c[uf>>2]=VI(c[rf>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[rf>>2]|0)+24>>2]&67108864|0)!=0:0){k=411;break c}c[tb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[tb>>2]|0){c[uf>>2]=pg(c[tb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if(c[uf>>2]|0){k=414;break c}do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){if((d[(c[rf>>2]|0)+67>>0]|0)!=0?(c[(c[rf>>2]|0)+160>>2]|0)<=1:0)break;if(!(c[(c[qf>>2]|0)+48>>2]|0)){yf=(c[rf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[qf>>2]|0)+48>>2]=(c[(c[rf>>2]|0)+432>>2]|0)+(c[(c[rf>>2]|0)+436>>2]|0)}c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[qf>>2]|0)+48>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=_I(c[tb>>2]|0,c[(c[qf>>2]|0)+48>>2]|0)|0;yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+72|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+80|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);rg(c[tb>>2]|0,1,na);c[ka>>2]=c[(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[na>>2]=0;c[ka>>2]=0}do if(d[(c[pf>>2]|0)+3>>0]|0){if((c[na>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[ka>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break;Tf(c[rf>>2]|0,c[(c[qf>>2]|0)+108>>2]|0);yf=qh(c[rf>>2]|0,40265)|0;c[(c[qf>>2]|0)+108>>2]=yf;if((c[c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[na>>2]|0))wj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 101:{c[ga>>2]=c[(c[pf>>2]|0)+4>>2];c[fa>>2]=c[(c[pf>>2]|0)+12>>2];rg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4)+4>>2]|0,c[fa>>2]|0,oa);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=c[oa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 102:{c[vc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[uf>>2]=Bg(c[(c[vc>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[vc>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[vc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[rf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Sh(c[rf>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2}if(c[uf>>2]|0)break a;break}case 103:{c[lc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[lc>>2]|0)!=0?(c[(c[lc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=458;else k=444;break}case 105:case 104:{k=444;break}case 107:case 106:{c[qc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[qc>>2]|0)){k=889;break a}a[(c[qc>>2]|0)+2>>0]=1;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=bk(c[c[rf>>2]>>2]|0,0,c[rf>>2]|0,(c[qc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=pg(c[(c[qc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[pf>>2]|0)+16>>2]|0;c[Pc>>2]=yf;g=c[(c[qc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=aJ(g,1,4,0,c[(c[qc>>2]|0)+16>>2]|0)|0;a[(c[qc>>2]|0)+4>>0]=1;break}c[uf>>2]=cJ(g,Dd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[qc>>2]|0)+24>>2]=c[Pc>>2];c[uf>>2]=aJ(c[(c[qc>>2]|0)+20>>2]|0,c[Dd>>2]|0,4,c[Pc>>2]|0,c[(c[qc>>2]|0)+16>>2]|0)|0}a[(c[qc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{c[rc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[rc>>2]|0)){k=889;break a}c[(c[rc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=dJ(c[rf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[rc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 109:{c[yb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[yb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=RR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 110:{c[sc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[sc>>2]|0)){k=889;break a}a[(c[sc>>2]|0)+2>>0]=1;c[(c[sc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[sc>>2]|0)+4>>0]=1;break}case 111:{eJ(c[qf>>2]|0,c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[zb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[eb>>2]=d[c[pf>>2]>>0];c[H>>2]=0;a[(c[zb>>2]|0)+2>>0]=0;if(a[(c[zb>>2]|0)+4>>0]|0){c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&14|0)==2)Bh(c[Lc>>2]|0,0);wf=ah(c[Lc>>2]|0)|0;yf=la;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Lc>>2]|0)+8>>1]&4)){if(!(e[(c[Lc>>2]|0)+8>>1]&8)){k=14;break d}yf=la;if(+h[c[Lc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[eb>>2]&1)break;c[eb>>2]=(c[eb>>2]|0)+-1;break}yf=la;if(+h[c[Lc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[eb>>2]&1|0)==1:0)c[eb>>2]=(c[eb>>2]|0)+1}while(0);j=la;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Td)|0;j=la;wf=c[j+4>>2]|0;yf=(c[zb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=493}else{if(fJ(c[(c[zb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Va>>2]=c[(c[pf>>2]|0)+16>>2];c[Gd>>2]=c[(c[zb>>2]|0)+24>>2];b[Gd+8>>1]=c[Va>>2];a[Gd+10>>0]=(1&(c[eb>>2]|0)-23|0)!=0?-1:1;c[Gd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);a[Gd+14>>0]=0;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,Gd,0,0,0,Td)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Gd+14>>0]|0)==0:0))k=493}do if((k|0)==493){k=0;a[(c[zb>>2]|0)+3>>0]=0;c[(c[zb>>2]|0)+56>>2]=0;g=c[Td>>2]|0;if((c[eb>>2]|0)>=25){if((g|0)>=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==26):0){c[Td>>2]=0;break}c[Td>>2]=0;c[uf>>2]=BF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==23):0){c[Td>>2]=gJ(c[(c[zb>>2]|0)+16>>2]|0)|0;break}c[Td>>2]=0;c[uf>>2]=CF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Td>>2]|0)){if(c[H>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=14;break}case 31:case 30:case 29:{c[Ab>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Gc>>2]=0;g=c[(c[Ab>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Hd>>2]=g;b[Hd+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Hd+4>>2]=c[Lc>>2];c[Hc>>2]=Hd}else{c[Hc>>2]=MF(g,q,183,Gc)|0;if(!(c[Hc>>2]|0)){k=889;break a}if(e[(c[Lc>>2]|0)+8>>1]&16384)Yg(c[Lc>>2]|0)|0;NF(c[(c[Ab>>2]|0)+24>>2]|0,c[(c[Lc>>2]|0)+12>>2]|0,c[(c[Lc>>2]|0)+16>>2]|0,c[Hc>>2]|0)}a[(c[Hc>>2]|0)+10>>0]=0;c[me>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==29){c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[(c[Hc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Hc>>2]|0)+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&1)break;c[wa>>2]=(c[wa>>2]|0)+1}c[me>>2]=1}while(0);c[uf>>2]=OF(c[(c[Ab>>2]|0)+16>>2]|0,c[Hc>>2]|0,0,0,0,Ud)|0;Tf(c[rf>>2]|0,c[Gc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Ab>>2]|0)+28>>2]=c[Ud>>2];c[s>>2]=(c[Ud>>2]|0)==0&1;a[(c[Ab>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Ab>>2]|0)+3>>0]=0;c[(c[Ab>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==31)if(c[s>>2]|0){k=14;break d}else break d;else if((c[me>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 32:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Lc>>2]|0,67,a[G>>0]|0),(e[(c[Lc>>2]|0)+8>>1]&4|0)==0):0)k=14;else k=523;break}case 33:{k=523;break}case 113:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=RR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[dd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 114:{yf=qe;c[yf>>2]=0;c[yf+4>>2]=0;c[Wd>>2]=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Cb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=hJ(c[(c[Cb>>2]|0)+16>>2]|0,Wd)|0;if(c[uf>>2]|0)break a;if(c[Wd>>2]|0){yf=qe;c[yf>>2]=1;c[yf+4>>2]=0;break}wf=aI(c[(c[Cb>>2]|0)+16>>2]|0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Cb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[qf>>2]|0)+184>>2]|0){c[Cc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Cc>>2]|0)+4>>2]|0))break;c[Cc>>2]=c[(c[Cc>>2]|0)+4>>2]}c[Sc>>2]=(c[(c[Cc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Sc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);Qx(c[Sc>>2]|0)|0;yf=c[Sc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=544;break c}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){k=544;break c}f=qe;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Sc>>2]|0;yf=RR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Sc>>2]|0;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C}j=qe;wf=c[j+4>>2]|0;yf=c[Sc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,qe);j=qe;yf=c[j+4>>2]&1073741823;wf=qe;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;yf=OF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Wd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Wd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Wd>>2]|0)){k=554;break c}}a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;j=qe;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 116:case 115:{c[ib>>2]=0;c[tc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Db>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==115){c[Mc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Mc>>2]|0;wf=c[j+4>>2]|0;yf=Le+8|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=Le+8|0;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ue>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Db>>2]|0)+1>>0]<<4)>>2];c[ld>>2]=c[(c[pf>>2]|0)+16>>2];c[ib>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{c[ld>>2]=0;c[Ue>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){wf=Le+8|0;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[tc>>2]|0)+8>>1]&1){c[Le+16>>2]=0;c[Le+20>>2]=0}else{c[Le+16>>2]=c[(c[tc>>2]|0)+16>>2];c[Le+20>>2]=c[(c[tc>>2]|0)+12>>2]}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Db>>2]|0)+28>>2]|0;else g=0;c[he>>2]=g;if(e[(c[tc>>2]|0)+8>>1]&16384)c[Le+24>>2]=c[c[tc>>2]>>2];else c[Le+24>>2]=0;c[Le>>2]=0;c[uf>>2]=iJ(c[(c[Db>>2]|0)+16>>2]|0,Le,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[he>>2]|0)|0;a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[ib>>2]|0)!=0?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){yf=Le+8|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,c[ib>>2]|0,c[Ue>>2]|0,c[c[ld>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 117:{c[jb>>2]=c[(c[pf>>2]|0)+8>>2];c[Eb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ve>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Eb>>2]|0)+1>>0]<<4)>>2];c[md>>2]=c[(c[pf>>2]|0)+16>>2];if((d[(c[pf>>2]|0)+3>>0]&2|0)!=0?(d[(c[Eb>>2]|0)+4>>0]|0)!=0:0){wf=aI(c[(c[Eb>>2]|0)+16>>2]|0)|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=wf;c[yf+4>>2]=C}}else{c[Ve>>2]=0;c[md>>2]=0}c[uf>>2]=jJ(c[(c[Eb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Eb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(((c[jb>>2]&1|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+1,(c[(c[rf>>2]|0)+220>>2]|0)!=0):0)?(d[(c[md>>2]|0)+42>>0]&32|0)==0:0){yf=(c[Eb>>2]|0)+40|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,9,c[Ve>>2]|0,c[c[md>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 118:{yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[(c[qf>>2]|0)+44>>2]=0;break}case 119:{c[Fb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Xa>>2]=c[(c[pf>>2]|0)+16>>2];c[Xd>>2]=0;c[uf>>2]=kJ(c[Fb>>2]|0,c[Lc>>2]|0,c[Xa>>2]|0,Xd)|0;if(c[uf>>2]|0)break a;if(c[Xd>>2]|0)k=14;break}case 120:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=lJ(c[Gb>>2]|0,c[dd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Hb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[dc>>2]=c[(c[Hb>>2]|0)+16>>2];c[Ha>>2]=bI(c[dc>>2]|0)|0;if((c[Ha>>2]|0)>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}if(Nx(c[dd>>2]|0,(c[Ha>>2]|0)>>>0>32?c[Ha>>2]|0:32)|0){k=889;break a}c[(c[dd>>2]|0)+12>>2]=c[Ha>>2];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|16;g=c[dc>>2]|0;f=c[Ha>>2]|0;j=c[(c[dd>>2]|0)+16>>2]|0;if(!(d[(c[Hb>>2]|0)+4>>0]|0))c[uf>>2]=cI(g,0,f,j)|0;else c[uf>>2]=Qh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[dd>>2]|0)+10>>0]=1;break}case 123:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ib>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}g=c[Ib>>2]|0;do if(!(a[(c[Ib>>2]|0)+3>>0]|0)){f=c[Ib>>2]|0;if((d[g>>0]|0)==2){c[td>>2]=c[c[f+16>>2]>>2];c[Xc>>2]=c[c[td>>2]>>2];c[uf>>2]=Yb[c[(c[Xc>>2]|0)+48>>2]&255](c[(c[Ib>>2]|0)+16>>2]|0,te)|0;mJ(c[qf>>2]|0,c[td>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=nJ(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}else{wf=aI(c[(c[Ib>>2]|0)+16>>2]|0)|0;yf=te;c[yf>>2]=wf;c[yf+4>>2]=C;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=te;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=te;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 124:{c[Jb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Jb>>2]|0)+2>>0]=1;c[(c[Jb>>2]|0)+56>>2]=0;if(!(d[c[Jb>>2]>>0]|0))PB(c[(c[Jb>>2]|0)+16>>2]|0);break}case 53:{c[Kb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ec>>2]=c[(c[Kb>>2]|0)+16>>2];c[Yd>>2]=0;c[uf>>2]=hJ(c[ec>>2]|0,Yd)|0;a[(c[Kb>>2]|0)+2>>0]=c[Yd>>2];a[(c[Kb>>2]|0)+3>>0]=0;c[(c[Kb>>2]|0)+56>>2]=0;c[(c[Kb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[Yd>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 56:case 55:{k=(c[qf>>2]|0)+156+8|0;c[k>>2]=(c[k>>2]|0)+1;k=617;break}case 57:{k=617;break}case 3:{c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=0;c[uf>>2]=qJ(c[rf>>2]|0,c[Mb>>2]|0,_d)|0;k=625;break}case 5:case 4:{if(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=624;break}case 7:case 6:{k=624;break}case 126:case 125:{c[Nb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Kc>>2]|0)+8>>1]&16384)g=Yg(c[Kc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==125)c[uf>>2]=rJ(c[Nb>>2]|0,c[Kc>>2]|0)|0;else{wf=c[(c[Kc>>2]|0)+12>>2]|0;yf=Ne+8|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;c[Ne>>2]=c[(c[Kc>>2]|0)+16>>2];if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Nb>>2]|0)+28>>2]|0;else g=0;c[uf>>2]=iJ(c[(c[Nb>>2]|0)+16>>2]|0,Ne,c[(c[pf>>2]|0)+12>>2]|0,g)|0;c[(c[Nb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 127:{c[Pb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Pb>>2]|0)+16>>2];c[Id>>2]=c[(c[Pb>>2]|0)+24>>2];b[Id+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Id+10>>0]=0;c[Id+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=OF(c[gc>>2]|0,Id,0,0,0,ae)|0;if(c[uf>>2]|0)break a;if((c[ae>>2]|0)==0?(c[uf>>2]=jJ(c[gc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Pb>>2]|0)+56>>2]=0;break}case 129:case 128:{c[Qb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=nJ(c[Qb>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[Qb>>2]|0)+2>>0]|0){ih((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ce;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=sJ(c[rf>>2]|0,c[(c[Qb>>2]|0)+16>>2]|0,ce)|0;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==128){c[nd>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[nd>>2]|0)+2>>0]=0;j=ce;wf=c[j+4>>2]|0;yf=(c[nd>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[nd>>2]|0)+3>>0]=1;c[(c[nd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[nd>>2]|0)+48>>2]=c[Qb>>2];break d}else{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=ce;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{c[Sb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Jd>>2]=c[(c[Sb>>2]|0)+24>>2];b[Jd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Jd+10|0;if((d[c[pf>>2]>>0]|0)<60)a[g>>0]=-1;else a[g>>0]=0;c[Jd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[be>>2]=0;c[uf>>2]=tJ(c[rf>>2]|0,c[Sb>>2]|0,Jd,be)|0;g=c[be>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[be>>2]=0-g;else c[be>>2]=g+1;if(c[uf>>2]|0)break a;if((c[be>>2]|0)>0)k=14;break}case 130:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=1;if((c[(c[rf>>2]|0)+160>>2]|0)>((c[(c[rf>>2]|0)+172>>2]|0)+1|0)){k=660;break c}c[ia>>2]=c[(c[pf>>2]|0)+12>>2];c[pa>>2]=0;c[uf>>2]=uJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,pa)|0;b[(c[dd>>2]|0)+8>>1]=4;wf=c[pa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[pa>>2]|0){vJ(c[rf>>2]|0,c[ia>>2]|0,c[pa>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ia>>2]|0)+1}break}case 131:{c[Pa>>2]=0;c[uf>>2]=wJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Pa:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+(c[Pa>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){wf=c[Pa>>2]|0;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 133:{c[Vb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[Vb>>2]>>0]|0)!=1){c[uf>>2]=yJ(c[(c[Vb>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{xJ(c[rf>>2]|0,c[(c[Vb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ed>>2]=0;c[xc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==135)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=cJ(c[(c[xc>>2]|0)+4>>2]|0,Ed,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Ed>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 136:{c[ja>>2]=c[(c[pf>>2]|0)+4>>2];c[Ze>>2]=(c[ja>>2]|0)==1?19905:19924;c[xa>>2]=c[rf>>2];c[xa+8>>2]=c[(c[pf>>2]|0)+4>>2];c[xa+4>>2]=(c[qf>>2]|0)+108;yf=c[rf>>2]|0;j=c[Ze>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[Ae>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)>>2];c[Ae+4>>2]=j;c[Ae+8>>2]=wf;c[bf>>2]=Gh(yf,40293,Ae)|0;if(!(c[bf>>2]|0))c[uf>>2]=7;else{a[(c[rf>>2]|0)+148+5>>0]=1;c[xa+12>>2]=0;c[uf>>2]=$e(c[rf>>2]|0,c[bf>>2]|0,140,xa,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[xa+12>>2];Tf(c[rf>>2]|0,c[bf>>2]|0);a[(c[rf>>2]|0)+148+5>>0]=0}if(c[uf>>2]|0){k=682;break c}break}case 137:{c[uf>>2]=Fj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 138:{zJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 139:{AJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 140:{BJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 141:{c[$a>>2]=c[(c[pf>>2]|0)+8>>2];c[p>>2]=c[(c[pf>>2]|0)+16>>2];c[Fd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oe>>2]=CJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[$a>>2]|0,c[c[Fd>>2]>>2]|0,Sa)|0;wf=c[Sa>>2]|0;yf=c[Fd>>2]|0;j=yf;wf=QR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;ih(c[Jc>>2]|0);if(c[Sa>>2]|0){if(!(c[Oe>>2]|0)){k=889;break a}gh(c[Jc>>2]|0,c[Oe>>2]|0,-1,1,148)|0}iu(c[Jc>>2]|0,d[G>>0]|0)|0;break}case 142:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}yf=c[Kc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 62:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)!=0?(FJ(c[c[Jc>>2]>>2]|0,ue)|0)!=0:0){k=ue;hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}ih(c[Jc>>2]|0);k=7;break}case 63:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ta>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}if((c[ta>>2]|0)!=0?(yf=c[Lc>>2]|0,c[I>>2]=GJ(c[c[Jc>>2]>>2]|0,c[ta>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ta>>2]|0)>=0){yf=c[Lc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 64:{c[fd>>2]=c[(c[pf>>2]|0)+16>>2];c[jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[ke>>2]=c[(c[fd>>2]|0)+16>>2];c[Dc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[Dc>>2]|0))break;if((c[(c[Dc>>2]|0)+24>>2]|0)==(c[ke>>2]|0))break;c[Dc>>2]=c[(c[Dc>>2]|0)+4>>2]}if(c[Dc>>2]|0)break d}if((c[(c[qf>>2]|0)+192>>2]|0)>=(c[(c[rf>>2]|0)+96+40>>2]|0)){k=711;break c}i:do if(!(e[(c[jd>>2]|0)+8>>1]&64)){c[Ya>>2]=(c[(c[fd>>2]|0)+8>>2]|0)+(c[(c[fd>>2]|0)+12>>2]|0);if(!(c[(c[fd>>2]|0)+12>>2]|0))c[Ya>>2]=(c[Ya>>2]|0)+1;c[Oa>>2]=80+((c[Ya>>2]|0)*40|0)+(c[(c[fd>>2]|0)+12>>2]<<2);yf=c[Oa>>2]|0;c[Dc>>2]=sh(c[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Dc>>2]|0)){k=889;break a}Xg(c[jd>>2]|0);b[(c[jd>>2]|0)+8>>1]=64;c[c[jd>>2]>>2]=c[Dc>>2];c[c[Dc>>2]>>2]=c[qf>>2];c[(c[Dc>>2]|0)+60>>2]=c[Ya>>2];c[(c[Dc>>2]|0)+64>>2]=c[(c[fd>>2]|0)+12>>2];c[(c[Dc>>2]|0)+48>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[Dc>>2]|0)+16>>2]=c[(c[qf>>2]|0)+92>>2];c[(c[Dc>>2]|0)+56>>2]=c[(c[qf>>2]|0)+24>>2];c[(c[Dc>>2]|0)+20>>2]=c[(c[qf>>2]|0)+112>>2];c[(c[Dc>>2]|0)+44>>2]=c[(c[qf>>2]|0)+28>>2];c[(c[Dc>>2]|0)+8>>2]=c[(c[qf>>2]|0)+88>>2];c[(c[Dc>>2]|0)+52>>2]=c[(c[qf>>2]|0)+136>>2];c[(c[Dc>>2]|0)+24>>2]=c[(c[fd>>2]|0)+16>>2];c[Ac>>2]=(c[Dc>>2]|0)+80+((c[(c[Dc>>2]|0)+60>>2]|0)*40|0);c[Tc>>2]=(c[Dc>>2]|0)+80;while(1){if((c[Tc>>2]|0)==(c[Ac>>2]|0))break i;b[(c[Tc>>2]|0)+8>>1]=128;c[(c[Tc>>2]|0)+32>>2]=c[rf>>2];c[Tc>>2]=(c[Tc>>2]|0)+40}}else c[Dc>>2]=c[c[jd>>2]>>2];while(0);j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Dc>>2]|0)+4>>2]=c[(c[qf>>2]|0)+184>>2];j=sf;wf=c[j+4>>2]|0;yf=(c[Dc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Dc>>2]|0)+68>>2]=c[(c[qf>>2]|0)+44>>2];c[(c[Dc>>2]|0)+72>>2]=c[(c[c[qf>>2]>>2]|0)+88>>2];c[(c[Dc>>2]|0)+40>>2]=c[(c[qf>>2]|0)+204>>2];c[(c[qf>>2]|0)+204>>2]=0;c[(c[qf>>2]|0)+44>>2]=0;c[(c[qf>>2]|0)+184>>2]=c[Dc>>2];yf=(c[Dc>>2]|0)+80|0;c[l>>2]=yf;c[(c[qf>>2]|0)+92>>2]=yf;c[(c[qf>>2]|0)+24>>2]=c[(c[Dc>>2]|0)+60>>2];c[(c[qf>>2]|0)+28>>2]=c[(c[Dc>>2]|0)+64>>2]&65535;c[(c[qf>>2]|0)+112>>2]=(c[l>>2]|0)+((c[(c[qf>>2]|0)+24>>2]|0)*40|0);yf=c[c[fd>>2]>>2]|0;c[ef>>2]=yf;c[(c[qf>>2]|0)+88>>2]=yf;c[(c[qf>>2]|0)+136>>2]=c[(c[fd>>2]|0)+4>>2];c[pf>>2]=(c[ef>>2]|0)+-20;break}case 143:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ec>>2]=c[(c[qf>>2]|0)+184>>2];c[Ic>>2]=(c[(c[Ec>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Ec>>2]|0)+8>>2]|0)+((c[(c[Ec>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);kG(c[dd>>2]|0,c[Ic>>2]|0,4096);break}case 144:{g=c[pf>>2]|0;if(c[(c[rf>>2]|0)+24>>2]&33554432){wf=c[g+8>>2]|0;yf=(c[rf>>2]|0)+448|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[rf>>2]|0)+440|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[qf>>2]|0)+64|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 65:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[rf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[qf>>2]|0)+64|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 145:{if(c[(c[qf>>2]|0)+184>>2]|0){c[Fc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Jc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;wf=c[Jc>>2]|0;f=c[wf+4>>2]|0;yf=c[Kc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Kc>>2]|0;wf=c[j+4>>2]|0;yf=c[Jc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 66:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 146:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Jc>>2]|0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Lc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[dd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 67:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 68:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Jc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 147:{c[Ja>>2]=d[(c[pf>>2]|0)+3>>0];c[jc>>2]=Vw(c[rf>>2]|0,32+((c[Ja>>2]|0)-1<<2)|0,0)|0;if(!(c[jc>>2]|0)){k=889;break a}c[(c[jc>>2]|0)+8>>2]=0;c[(c[jc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[jc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[jc>>2]|0)+12>>2]=c[qf>>2];a[(c[jc>>2]|0)+26>>0]=c[Ja>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[jc>>2];a[c[pf>>2]>>0]=-108;k=752;break}case 148:{k=752;break}case 149:{c[Vc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=nG(c[Vc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=764;break c}iu(c[Vc>>2]|0,d[G>>0]|0)|0;if(DI(c[Vc>>2]|0)|0){k=888;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=oi(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[_>>2]=0;c[Wc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[_>>2]|0)>=3)break d;yf=c[o+(c[_>>2]<<2)>>2]|0;hh(c[Wc>>2]|0,yf,((yf|0)<0)<<31>>31);c[_>>2]=(c[_>>2]|0)+1;c[Wc>>2]=(c[Wc>>2]|0)+40}}case 9:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[E>>2]=c[(c[pf>>2]|0)+12>>2];c[vb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[ed>>2]=Pf(c[vb>>2]|0)|0;c[F>>2]=tg(c[ed>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(HJ(c[ed>>2]|0)|0))c[E>>2]=c[F>>2];c[Xe>>2]=Ki(c[ed>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[Xe>>2]|0)|0)!=0?(IJ(c[ed>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[rf>>2]|0)+67>>0]|0)){k=784;break c}if((c[(c[rf>>2]|0)+160>>2]|0)>1){k=784;break c}if((c[F>>2]|0)==5){c[uf>>2]=JJ(c[ed>>2]|0)|0;if(!(c[uf>>2]|0))KJ(c[ed>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)KJ(c[ed>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Dg(c[vb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=KJ(c[ed>>2]|0,c[E>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;yf=pC(c[E>>2]|0)|0;c[(c[dd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[dd>>2]|0)+16>>2]|0)|0;c[(c[dd>>2]|0)+12>>2]=yf;a[(c[dd>>2]|0)+10>>0]=1;iu(c[dd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=LJ((c[qf>>2]|0)+108|0,c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 69:{c[wb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=MJ(c[wb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 150:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;break d}else{Sh(c[rf>>2]|0);break d}case 151:{a[Aa>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Aa>>0]|0)==0?0!=(c[(c[rf>>2]|0)+24>>2]&16384|0):0)break d;c[lb>>2]=c[(c[pf>>2]|0)+4>>2];c[uf>>2]=NJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[lb>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Aa>>0]|0)|0;if(c[uf>>2]|0){k=805;break c}break}case 152:{c[rd>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=OJ(c[rf>>2]|0,c[rd>>2]|0)|0;if(c[rd>>2]|0)mJ(c[qf>>2]|0,c[(c[rd>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 153:{g=ge;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ge+32>>2]=c[rf>>2];c[uf>>2]=jh(ge,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[cf>>2]=$d(ge)|0;if(c[cf>>2]|0)c[uf>>2]=PJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[cf>>2]|0,(c[qf>>2]|0)+108|0)|0;Xg(ge);if(c[uf>>2]|0)break a;break}case 154:{yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=QJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 155:{c[mc>>2]=0;c[pd>>2]=0;c[ud>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[ud>>2]|0)){k=816;break c}if(!(c[c[ud>>2]>>2]|0)){k=816;break c}c[Yc>>2]=c[c[ud>>2]>>2];c[uf>>2]=Yb[c[(c[Yc>>2]|0)+24>>2]&255](c[ud>>2]|0,pd)|0;mJ(c[qf>>2]|0,c[ud>>2]|0);if(c[uf>>2]|0)break a;c[c[pd>>2]>>2]=c[ud>>2];c[mc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[mc>>2]|0)){k=820;break c}c[(c[mc>>2]|0)+16>>2]=c[pd>>2];yf=(c[ud>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[sb>>2]=(c[gd>>2]|0)+40;c[nc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qd>>2]=c[(c[nc>>2]|0)+16>>2];c[vd>>2]=c[c[qd>>2]>>2];c[Zc>>2]=c[c[vd>>2]>>2];c[Ka>>2]=c[c[sb>>2]>>2];c[qa>>2]=c[c[gd>>2]>>2];c[Od>>2]=0;c[t>>2]=c[(c[qf>>2]|0)+96>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Ka>>2]|0))break;c[(c[t>>2]|0)+(c[R>>2]<<2)>>2]=(c[sb>>2]|0)+(((c[R>>2]|0)+1|0)*40|0);c[R>>2]=(c[R>>2]|0)+1}c[uf>>2]=Zb[c[(c[Zc>>2]|0)+32>>2]&255](c[qd>>2]|0,c[qa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Ka>>2]|0,c[t>>2]|0)|0;mJ(c[qf>>2]|0,c[vd>>2]|0);if(c[uf>>2]|0)break a;c[Od>>2]=Tb[c[(c[Zc>>2]|0)+40>>2]&255](c[qd>>2]|0)|0;a[(c[nc>>2]|0)+2>>0]=0;if(c[Od>>2]|0)k=14;break}case 156:{c[oc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[oc>>2]|0)+2>>0]|0){ih(c[zc>>2]|0);break d}c[wd>>2]=c[c[(c[oc>>2]|0)+16>>2]>>2];c[_c>>2]=c[c[wd>>2]>>2];c[ee>>2]=0;c[ee+4>>2]=0;c[ee+8>>2]=0;c[ee+12>>2]=0;c[ee+16>>2]=0;c[ee+20>>2]=0;c[ee+24>>2]=0;c[ee+28>>2]=0;c[ee>>2]=c[zc>>2];b[(c[zc>>2]|0)+8>>1]=e[(c[zc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[_c>>2]|0)+44>>2]&255](c[(c[oc>>2]|0)+16>>2]|0,ee,c[(c[pf>>2]|0)+8>>2]|0)|0;mJ(c[qf>>2]|0,c[wd>>2]|0);if(c[ee+20>>2]|0)c[uf>>2]=c[ee+20>>2];iu(c[zc>>2]|0,d[G>>0]|0)|0;if(DI(c[zc>>2]|0)|0){k=888;break c}if(c[uf>>2]|0)break a;break}case 70:{c[Pd>>2]=0;c[pc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[pc>>2]|0)+2>>0]|0)){c[xd>>2]=c[c[(c[pc>>2]|0)+16>>2]>>2];c[$c>>2]=c[c[xd>>2]>>2];c[uf>>2]=Tb[c[(c[$c>>2]|0)+36>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[xd>>2]|0);if(c[uf>>2]|0)break a;c[Pd>>2]=Tb[c[(c[$c>>2]|0)+40>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;if(c[Pd>>2]|0)k=8;else k=7}break}case 157:{c[yd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=iu(c[bd>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[yd>>2]>>2]|0)+76>>2]&255](c[yd>>2]|0,c[(c[bd>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[yd>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[zd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[zd>>2]|0)){k=839;break c}if(!(c[c[zd>>2]>>2]|0)){k=839;break c}c[ad>>2]=c[c[zd>>2]>>2];c[La>>2]=c[(c[pf>>2]|0)+8>>2];if(c[(c[ad>>2]|0)+52>>2]|0){a[Je>>0]=a[(c[rf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[qf>>2]|0)+96>>2];c[Bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[La>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=c[Bd>>2];c[Bd>>2]=(c[Bd>>2]|0)+40;c[T>>2]=(c[T>>2]|0)+1}a[(c[rf>>2]|0)+74>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[ad>>2]|0)+52>>2]&255](c[zd>>2]|0,c[La>>2]|0,c[u>>2]|0,de)|0;a[(c[rf>>2]|0)+74>>0]=a[Je>>0]|0;mJ(c[qf>>2]|0,c[zd>>2]|0);if((c[uf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){wf=de;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[qf>>2]|0)+142>>0]=g}else k=854;while(0);if((k|0)==854){k=0;yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 158:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=ug(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 159:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[ub>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[cb>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[cb>>2]=ug(c[ub>>2]|0)|0,(c[cb>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[cb>>2]=c[(c[pf>>2]|0)+12>>2];wf=RJ(c[ub>>2]|0,c[cb>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 71:{do if((d[(c[rf>>2]|0)+76>>0]&129|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[qf>>2]|0)+176>>2]|0;c[df>>2]=g;if(g){g=c[(c[rf>>2]|0)+184>>2]|0;if(d[(c[rf>>2]|0)+76>>0]&128){c[Me>>2]=g;c[Qe>>2]=Ah(c[qf>>2]|0,c[df>>2]|0)|0;Rb[c[Me>>2]&255](c[(c[rf>>2]|0)+188>>2]|0,c[Qe>>2]|0);Kd(c[Qe>>2]|0);break}else{Wb[g&255](1,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,c[df>>2]|0)|0;break}}}while(0);if((c[(c[pf>>2]|0)+4>>2]|0)>=(c[70]|0)){c[U>>2]=1;while(1){if((c[U>>2]|0)>=(c[(c[qf>>2]|0)+136>>2]|0))break;if((d[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)>>0]|0)==20)c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)+4>>2]=0;c[U>>2]=(c[U>>2]|0)+1}c[(c[pf>>2]|0)+4>>2]=0}k=(c[pf>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=14;break}default:{}}while(0);do if((k|0)==20){k=0;c[kf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=25;break c}if(!(c[(c[qf>>2]|0)+184>>2]|0)){k=25;break c}c[Bc>>2]=c[(c[qf>>2]|0)+184>>2];c[(c[qf>>2]|0)+184>>2]=c[(c[Bc>>2]|0)+4>>2];j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+-1;yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[kf>>2]=zI(c[Bc>>2]|0)|0;j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[kf>>2]=(c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[kf>>2]|0)*20|0)+8>>2]|0)-1;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[pf>>2]=(c[ef>>2]|0)+((c[kf>>2]|0)*20|0)}else if((k|0)==43){k=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;c[(c[dd>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[dd>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[pf>>2]|0)+12>>2]|0)>0?(c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),yf=c[Lc>>2]|0,(c[yf+4>>2]|0)==0?(c[yf>>2]|0)==(d[(c[pf>>2]|0)+3>>0]|0):0):0)b[(c[dd>>2]|0)+8>>1]=2576}else if((k|0)==126){k=0;c[ic>>2]=c[(c[pf>>2]|0)+16>>2];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[ic>>2]>>2]|0)!=(c[dd>>2]|0)){c[c[ic>>2]>>2]=c[dd>>2];c[W>>2]=(d[(c[ic>>2]|0)+26>>0]|0)-1;while(1){if((c[W>>2]|0)<0)break j;c[(c[ic>>2]|0)+28+(c[W>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[W>>2]|0)|0)*40|0);c[W>>2]=(c[W>>2]|0)+-1}}while(0);b[(c[c[ic>>2]>>2]|0)+8>>1]=e[(c[c[ic>>2]>>2]|0)+8>>1]&-49664|1;a[(c[ic>>2]|0)+25>>0]=0;yf=sf;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[ic>>2]|0)+4>>2]|0)+12>>2]&255](c[ic>>2]|0,d[(c[ic>>2]|0)+26>>0]|0,(c[ic>>2]|0)+28|0);j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[ic>>2]|0)+25>>0]|0){if(c[(c[ic>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[ve>>2]=$d(c[c[ic>>2]>>2]|0)|0;AI(yf,18391,ve);c[uf>>2]=c[(c[ic>>2]|0)+20>>2]}LI(c[rf>>2]|0,(c[qf>>2]|0)+204|0,c[(c[ic>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[dd>>2]|0)+8>>1]&18|0)!=0?(iu(c[c[ic>>2]>>2]|0,d[G>>0]|0)|0,(DI(c[c[ic>>2]>>2]|0)|0)!=0):0){k=888;break c}}else if((k|0)==444){if(b[(c[qf>>2]|0)+144>>1]&1){k=445;break c}c[Ua>>2]=0;c[Oc>>2]=0;c[rb>>2]=c[(c[pf>>2]|0)+8>>2];c[ha>>2]=c[(c[pf>>2]|0)+12>>2];c[wc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4);c[Ad>>2]=c[(c[wc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==105){c[Ke>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[qf>>2]|0)+143>>0]|0))a[(c[qf>>2]|0)+143>>0]=a[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Ke>>2]=0;if(d[(c[pf>>2]|0)+3>>0]&16){c[Kc>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;c[rb>>2]=c[c[Kc>>2]>>2]}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Ua>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Oc>>2]=c[g+16>>2];c[Ua>>2]=(e[(c[Oc>>2]|0)+6>>1]|0)+(e[(c[Oc>>2]|0)+8>>1]|0)}c[lc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Ua>>2]|0,c[ha>>2]|0,0)|0;if(!(c[lc>>2]|0)){k=889;break a}a[(c[lc>>2]|0)+2>>0]=1;k=(c[lc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[lc>>2]|0)+8>>2]=c[rb>>2];c[uf>>2]=aJ(c[Ad>>2]|0,c[rb>>2]|0,c[Ke>>2]|0,c[Oc>>2]|0,c[(c[lc>>2]|0)+16>>2]|0)|0;c[(c[lc>>2]|0)+24>>2]=c[Oc>>2];a[(c[lc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=458}else if((k|0)==523){k=0;c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Bb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[cc>>2]=c[(c[Bb>>2]|0)+16>>2];c[Vd>>2]=0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;j=ma;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=ma;c[uf>>2]=OF(c[cc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ma;wf=c[j+4>>2]|0;yf=(c[Bb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Bb>>2]|0)+2>>0]=0;c[(c[Bb>>2]|0)+56>>2]=0;a[(c[Bb>>2]|0)+3>>0]=0;c[(c[Bb>>2]|0)+28>>2]=c[Vd>>2];if(c[Vd>>2]|0){if(c[(c[pf>>2]|0)+8>>2]|0){k=14;break}c[uf>>2]=Qj(81458)|0}if(c[uf>>2]|0)break a}else if((k|0)==617){k=0;c[Lb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Zd>>2]=1;g=c[Lb>>2]|0;if((d[c[Lb>>2]>>0]|0)==1)c[uf>>2]=oJ(g,Zd)|0;else{c[fc>>2]=c[g+16>>2];c[uf>>2]=pJ(c[fc>>2]|0,Zd)|0;a[(c[Lb>>2]|0)+3>>0]=0;c[(c[Lb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Lb>>2]|0)+2>>0]=c[Zd>>2];if(c[Zd>>2]|0)k=14}else if((k|0)==624){c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[pf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Mb>>2]|0)+16>>2]|0,_d)|0;k=625}else if((k|0)==752){k=0;c[kc>>2]=c[(c[pf>>2]|0)+16>>2];c[Uc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[kc>>2]|0)+8>>2]|0)!=(c[Uc>>2]|0)){c[(c[kc>>2]|0)+8>>2]=c[Uc>>2];c[Y>>2]=(d[(c[kc>>2]|0)+26>>0]|0)-1;while(1){if((c[Y>>2]|0)<0)break k;c[(c[kc>>2]|0)+28+(c[Y>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[Y>>2]|0)|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+-1}}while(0);yf=(c[Uc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;jG(le,c[rf>>2]|0,1);c[c[kc>>2]>>2]=le;a[(c[kc>>2]|0)+25>>0]=0;a[(c[kc>>2]|0)+24>>0]=0;Ub[c[(c[(c[kc>>2]|0)+4>>2]|0)+12>>2]&255](c[kc>>2]|0,d[(c[kc>>2]|0)+26>>0]|0,(c[kc>>2]|0)+28|0);if(a[(c[kc>>2]|0)+25>>0]|0){if(c[(c[kc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[Ce>>2]=$d(le)|0;AI(yf,18391,Ce);c[uf>>2]=c[(c[kc>>2]|0)+20>>2]}Xg(le);if(c[uf>>2]|0)break a}if((a[(c[kc>>2]|0)+24>>0]|0)!=0?(c[Y>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[Y>>2]|0)!=0):0)hh((c[l>>2]|0)+((c[Y>>2]|0)*40|0)|0,1,0)}while(0);do if((k|0)==14){k=0;c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==458){k=0;bJ(c[(c[lc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==625){k=0;c[(c[Mb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Mb>>2]|0)+2|0;if(!(c[_d>>2]|0)){a[g>>0]=0;k=(c[qf>>2]|0)+156+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[rf>>2]|0)+248>>2]|0)break b;if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(c[_a>>2]=(c[tf>>2]|0)+(c[(c[rf>>2]|0)+312>>2]|0)-(((c[tf>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[qf>>2]|0)+40>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[qf>>2]|0)+142>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[qf>>2]|0)+36>>2]=c[kf>>2];if(c[(c[qf>>2]|0)+40>>2]|0){g=c[qf>>2]|0;f=c[pf>>2]|0;if(a[(c[pf>>2]|0)+3>>0]|0){c[lf>>2]=c[5572+((d[f+3>>0]|0)-1<<2)>>2];AI(g,39873,lf);if(c[(c[pf>>2]|0)+16>>2]|0){yf=c[rf>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[mf>>2]=c[(c[qf>>2]|0)+108>>2];c[mf+4>>2]=wf;yf=Gh(yf,39894,mf)|0;c[(c[qf>>2]|0)+108>>2]=yf}}else{c[nf>>2]=c[f+16>>2];AI(g,18391,nf)}yf=c[(c[pf>>2]|0)+4>>2]|0;pf=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[of>>2]=c[kf>>2];c[of+4>>2]=pf;c[of+8>>2]=wf;Rd(yf,39901,of)}c[uf>>2]=BI(c[qf>>2]|0)|0;g=(c[qf>>2]|0)+40|0;if((c[uf>>2]|0)==5){c[g>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[g>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 64:{if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=EI(c[qf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=FI(c[qf>>2]|0,1)|0;c[(c[qf>>2]|0)+32>>2]=(c[(c[qf>>2]|0)+32>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[qf>>2]|0)+104>>2]=yf;c[Rc>>2]=yf;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)+8>>1]&4096|0)!=0?(bh((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0)!=0:0){k=889;break a}GI((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}if(a[(c[rf>>2]|0)+69>>0]|0){k=889;break a}if(d[(c[rf>>2]|0)+76>>0]&4)Wb[c[(c[rf>>2]|0)+184>>2]&255](4,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,0)|0;c[(c[qf>>2]|0)+36>>2]=(((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 159:{c[uf>>2]=20;break a}case 267:{c[uf>>2]=Qj(79835)|0;break a}case 286:{if(!(c[(c[xb>>2]|0)+72>>2]|0))Xg(fe);c[uf>>2]=Qj(79894)|0;break a}case 370:{c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 393:{c[D>>2]=c[(c[pf>>2]|0)+4>>2];c[ra>>2]=c[(c[pf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[rf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[ra>>2]|0)!=0?40133:40176;else g=40217;AI(c[qf>>2]|0,g,gf);c[uf>>2]=1;break a}do if(!(c[ra>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40078,ze);c[uf>>2]=5;break a}yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[rf>>2]|0)+67>>0]=c[D>>2];break}}else{YI(c[rf>>2]|0,516);a[(c[rf>>2]|0)+67>>0]=1}while(0);if((BI(c[qf>>2]|0)|0)==5){c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}ZI(c[rf>>2]|0);if(!(c[(c[qf>>2]|0)+40>>2]|0)){c[uf>>2]=101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 411:{c[uf>>2]=8;break a}case 414:{if((c[uf>>2]&255|0)!=5)break a;c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 445:{c[uf>>2]=516;break a}case 544:{c[uf>>2]=13;break a}case 554:{c[uf>>2]=13;break a}case 660:{c[uf>>2]=6;a[(c[qf>>2]|0)+142>>0]=2;break a}case 682:{Cg(c[rf>>2]|0);if((c[uf>>2]|0)==7){k=889;break a}else break a}case 711:{c[uf>>2]=1;AI(c[qf>>2]|0,40357,Be);break a}case 764:{yf=c[qf>>2]|0;c[De>>2]=$d(c[Vc>>2]|0)|0;AI(yf,18391,De);break a}case 784:{c[uf>>2]=1;yf=c[qf>>2]|0;c[Ee>>2]=(c[E>>2]|0)==5?40394:40399;AI(yf,40406,Ee);break a}case 805:{if((c[uf>>2]&255|0)!=6)break a;c[Pe>>2]=c[(c[pf>>2]|0)+16>>2];yf=c[qf>>2]|0;c[Fe>>2]=c[Pe>>2];AI(yf,40458,Fe);break a}case 816:{c[uf>>2]=6;break a}case 820:{Tb[c[(c[Yc>>2]|0)+28>>2]&255](c[pd>>2]|0)|0;k=889;break a}case 839:{c[uf>>2]=6;break a}case 887:{yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 888:{AI(c[qf>>2]|0,18170,Ge);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[rf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=c[qf>>2]|0;c[Ie>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,Ie)}while(0);if((k|0)==889){mh(c[rf>>2]|0);AI(c[qf>>2]|0,25016,He);c[uf>>2]=7}if(a[(c[rf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[qf>>2]|0)+108>>2]|0)==0:0){yf=c[qf>>2]|0;c[hf>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,hf)}c[(c[qf>>2]|0)+40>>2]=c[uf>>2];SJ(c[rf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[jf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[jf+4>>2]=of;c[jf+8>>2]=wf;Rd(yf,40487,jf);BI(c[qf>>2]|0)|0;if((c[uf>>2]|0)==3082)mh(c[rf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}wj(c[rf>>2]|0,(d[ff>>0]|0)-1|0);yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function tI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=vI(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+224>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+224>>2]&255](c[(c[b>>2]|0)+228>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function uI(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+40>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+108>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Yj();if(!(c[(c[e>>2]|0)+244>>2]|0)){b=Zh(c[e>>2]|0)|0;c[(c[e>>2]|0)+244>>2]=b}_h(c[(c[e>>2]|0)+244>>2]|0,-1,c[(c[d>>2]|0)+108>>2]|0,1,-1);Zj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function vI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wI(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function wI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function xI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+152>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function yI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+88>>2]=c[e>>2];b=(c[f>>2]|0)+92|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];PM(c[e>>2]|0);c[(c[e>>2]|0)+88>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+136>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+24>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+112>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+44>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+88>>2]=c[(c[b>>2]|0)+72>>2];LI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+108>>2]|0);c[g>>2]=d;b=ox(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+108>>2]=b;i=e;return}function BI(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;h=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;f=o;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;JM(c[l>>2]|0);if((c[(c[l>>2]|0)+20>>2]|0)!=770837923){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+36>>2]|0)>=0?((e[(c[l>>2]|0)+144>>1]|0)>>>8&1|0)!=0:0){c[n>>2]=0;xI(c[l>>2]|0);c[g>>2]=c[(c[l>>2]|0)+40>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){c[n>>2]=2;break}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}while(0);if(!(c[(c[l>>2]|0)+40>>2]|0))EI(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+316>>2]|0)>0?(c[(c[m>>2]|0)+340>>2]|0)==0:0)j=36;else if((d[(c[m>>2]|0)+67>>0]|0)!=0?(c[(c[m>>2]|0)+164>>2]|0)==(((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+142>>0]|0)!=3):0){YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0}else j=23;do if((j|0)==23){c[h>>2]=EI(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=KM(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+40>>2]=c[h>>2];YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0;break}else{g=(c[m>>2]|0)+440|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+448|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-33554433;xj(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+436>>2]=0}else j=36;do if((j|0)==36?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?(d[(c[l>>2]|0)+142>>0]|0)!=3:0)if((d[(c[l>>2]|0)+142>>0]|0)==2){c[n>>2]=2;break}else{YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=FI(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+40>>2]|0)!=0?(c[(c[l>>2]|0)+40>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+40>>2]=c[h>>2];Tf(c[m>>2]|0,c[(c[l>>2]|0)+108>>2]|0);c[(c[l>>2]|0)+108>>2]=0}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}if((e[(c[l>>2]|0)+144>>1]|0)>>>4&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)yI(b,c[(c[l>>2]|0)+44>>2]|0);else yI(b,0);c[(c[l>>2]|0)+44>>2]=0}}if((c[(c[l>>2]|0)+36>>2]|0)>=0){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){n=(c[m>>2]|0)+164|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+144>>1]|0)>>>8&1){n=(c[m>>2]|0)+160|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+20>>2]=832317811;if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+40>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function CI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+92>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=IM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function DI(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+96>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function EI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=RR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+64|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+40>>2]=787;a[(c[f>>2]|0)+142>>0]=2;AI(c[f>>2]|0,35189,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function FI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+48>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+48>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=XI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=XI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+48>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=VI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=VI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+72|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+80|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function GI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=HM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function HI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=GM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function II(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=QR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=RR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=QR(0,0,h|0,C|0)|0,d=C,k=g,k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=RR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function JI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=II(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=QR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function KI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=c[f>>2]|0;d=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=g;d=c[a+4>>2]|0;do if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0){k=h;d=c[k>>2]|0;k=c[k+4>>2]|0;a=g;a=_R(-1,2147483647,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;if((k|0)>(b|0)|(k|0)==(b|0)&d>>>0>a>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}b=h;a=c[b>>2]|0;b=c[b+4>>2]|0;k=g;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((c[g+4>>2]|0)<0){k=h;a=c[k+4>>2]|0;if((a|0)>0|(a|0)==0&(c[k>>2]|0)>>>0>0){b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;k=h;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if(!((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0))break;c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}if((c[h+4>>2]|0)<0){k=g;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}k=h;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}a=h;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;k=g;k=QR(0,0,c[k>>2]|0,c[k+4>>2]|0)|0;k=_R(-1,2147483647,k|0,C|0)|0;d=C;if((b|0)>(d|0)|(b|0)==(d|0)&a>>>0>k>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}}while(0);k=h;a=g;a=aS(c[k>>2]|0,c[k+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;k=c[f>>2]|0;c[k>>2]=a;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function MI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=gG(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=FM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function NI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(UL(c[e+16>>2]|0)|0))break;c[f>>2]=VL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=EM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=DM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function PI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;q=p+4|0;n=p;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=0;c[n>>2]=0;c[o>>2]=OI(c[h>>2]|0,q)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[q>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[o>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];q=c[n>>2]|0;i=p;return q|0}else{c[n>>2]=CM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;q=c[n>>2]|0;i=p;return q|0}return 0}function QI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35061+(d[c>>0]|0)>>0]|0}function RI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function SI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=SR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=BM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function TI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35061+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=SR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)TR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function UI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=QF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=RR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}HF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=FF(f,gr((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=FF(f,gr((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=QF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function WI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=ZH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;PB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;QB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}WI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function XI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Vr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=AM(c[k>>2]|0)|0;a=gr((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function YI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Yj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+148+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(fi(c[k>>2]|0)|0)c[j>>2]=1;Pg(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}ou(c[f>>2]|0)|0;Zj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+148+5>>0]|0)==0:0){Sh(c[f>>2]|0);Cg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-33554433;if(!(c[(c[f>>2]|0)+212>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+212>>2]&255](c[(c[f>>2]|0)+208>>2]|0);i=m;return}function ZI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function _I(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=xM(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function $I(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+92>>2]|0)+(((c[j+24>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+92>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=vM()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0){eJ(c[k>>2]|0,c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=0}if(Nx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));wM(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Qj(62410)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=tM(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function bJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function cJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=sM(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dJ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+52|0;j=w+48|0;k=w+44|0;u=w+40|0;l=w+36|0;t=w+32|0;s=w+28|0;o=w+24|0;n=w+20|0;v=w+16|0;m=w+12|0;q=w;p=w+8|0;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[o>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[n>>2]=136;h=(c[n>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=sh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}n=(c[t>>2]|0)+(c[n>>2]|0)|0;c[s>>2]=n;c[(c[t>>2]|0)+28>>2]=n;TR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[o>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){o=(c[s>>2]|0)+8|0;b[o>>1]=(e[o>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}o=sg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=o;c[(c[t>>2]|0)+12>>2]=o;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Zq(c[r>>2]|0)|0)){c[p>>2]=c[58];j=_(c[p>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=j;j=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;k=q;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=q;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[q+4>>2]|0)<0){o=aS(j|0,k|0,-1024,-1)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}else{o=c[u>>2]|0;o=aS(j|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}m=q;n=c[m+4>>2]|0;m=(n|0)<0|(n|0)==0&(c[m>>2]|0)>>>0<536870912;n=q;o=m?c[n+4>>2]|0:0;p=q;c[p>>2]=m?c[n>>2]|0:536870912;c[p+4>>2]=o;if((c[c[t>>2]>>2]|0)>(c[q>>2]|0))j=c[c[t>>2]>>2]|0;else j=c[q>>2]|0;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function eJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{rM(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){LB(c[e+20>>2]|0)|0;i=j;return}else{NB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function fJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function gJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function hJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=QF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=GF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function iJ(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;z=y+36|0;v=y+32|0;p=y+28|0;w=y+24|0;o=y+20|0;u=y+16|0;s=y+12|0;t=y+8|0;r=y+4|0;q=y;x=y+56|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[z>>2]=j;c[p>>2]=c[z>>2];c[w>>2]=0;c[s>>2]=c[c[l>>2]>>2];c[t>>2]=c[(c[s>>2]|0)+4>>2];c[q>>2]=0;h=c[l>>2]|0;if((d[(c[l>>2]|0)+66>>0]|0)==4){c[k>>2]=c[h+60>>2];z=c[k>>2]|0;i=y;return z|0}if((d[h+64>>0]&32|0)!=0?(c[v>>2]=XH(c[t>>2]|0,c[(c[l>>2]|0)+52>>2]|0,c[l>>2]|0)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}do if(!(c[(c[l>>2]|0)+72>>2]|0)){z=(c[m>>2]|0)+8|0;ZK(c[s>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0);if(((d[(c[l>>2]|0)+64>>0]&2|0)!=0?(z=(c[m>>2]|0)+8|0,s=c[z+4>>2]|0,(s|0)>0|(s|0)==0&(c[z>>2]|0)>>>0>0):0)?(z=(c[l>>2]|0)+16|0,j=c[z>>2]|0,z=c[z+4>>2]|0,s=(c[m>>2]|0)+8|0,s=QR(c[s>>2]|0,c[s+4>>2]|0,1,0)|0,(j|0)==(s|0)&(z|0)==(C|0)):0){c[p>>2]=-1;break}if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=OF(c[l>>2]|0,0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}}else if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=LF(c[l>>2]|0,c[c[m>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}while(0);c[u>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[q>>2]=c[(c[t>>2]|0)+80>>2];c[v>>2]=qM(c[u>>2]|0,c[q>>2]|0,c[m>>2]|0,w)|0;do if(!(c[v>>2]|0)){c[o>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];if(!(c[p>>2]|0)){c[v>>2]=Gg(c[(c[u>>2]|0)+72>>2]|0)|0;if(c[v>>2]|0)break;c[r>>2]=(c[(c[u>>2]|0)+56>>2]|0)+(e[(c[u>>2]|0)+20>>1]&(d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]<<8|d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]));if(!(a[(c[u>>2]|0)+4>>0]|0)){z=c[q>>2]|0;t=c[r>>2]|0;a[z>>0]=a[t>>0]|0;a[z+1>>0]=a[t+1>>0]|0;a[z+2>>0]=a[t+2>>0]|0;a[z+3>>0]=a[t+3>>0]|0}c[v>>2]=$K(c[u>>2]|0,c[r>>2]|0,x)|0;YL(c[u>>2]|0,c[o>>2]|0,e[x>>1]|0,v);if(c[v>>2]|0)break}else if((c[p>>2]|0)<0?(e[(c[u>>2]|0)+18>>1]|0)>0:0){x=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;z=(b[x>>1]|0)+1<<16>>16;b[x>>1]=z;c[o>>2]=z&65535}ZL(c[u>>2]|0,c[o>>2]|0,c[q>>2]|0,c[w>>2]|0,0,0,v);b[(c[l>>2]|0)+16+18>>1]=0;if(a[(c[u>>2]|0)+1>>0]|0){z=(c[l>>2]|0)+64|0;a[z>>0]=d[z>>0]&-3;c[v>>2]=_L(c[l>>2]|0)|0;a[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[l>>2]|0)+66>>0]=0}}while(0);c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}function jJ(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Yt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=$H(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=CF(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=XH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;ZK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[y>>2]=Gg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=$K(c[x>>2]|0,c[n>>2]|0,q)|0;YL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Qj(66449)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[y>>2]|0))ZL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);YL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=_L(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;QB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=_L(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=QF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function kJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=MF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=XL(c[n>>2]|0,k)|0;NF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=$F(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function lJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=XL(c[l>>2]|0,h)|0;if(Nx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;TR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);b=qh(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+108>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function nJ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(UL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=VL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function oJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=jL(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=IL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=mL((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function pJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=QF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=sG(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function qJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=zL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))VK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function rJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else bG(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(iG(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Su()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=jL(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);TR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function sJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;e=p;c[e>>2]=bI(c[q>>2]|0)|0;c[e+4>>2]=0;jG(k,c[r>>2]|0,0);c[f>>2]=PI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else bG(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else bG(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35061+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){dG((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Xg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Xg(k);c[g>>2]=Qj(74890)|0;r=c[g>>2]|0;i=o;return r|0}function tJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];b=l;c[b>>2]=bI(c[m>>2]|0)|0;c[b+4>>2]=0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Qj(74923)|0;p=c[f>>2]|0;i=o;return p|0}jG(k,c[g>>2]|0,0);c[n>>2]=PI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=$F(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Xg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=iL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0} +function kD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=dx(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+40>>2]|0)-1;c[C>>2]=Wz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)ix(c[J>>2]|0,65,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;ix(c[J>>2]|0,34,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=vx(c[o>>2]|0)|0;ix(c[J>>2]|0,85,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=ix(c[J>>2]|0,17,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){jx(c[J>>2]|0,37,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Jh(c[J>>2]|0,-112)}Uz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,104);jx(c[J>>2]|0,33,c[z>>2]|0,0,c[H>>2]|0)|0;Yz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Zz(I,(wx(c[J>>2]|0)|0)-2|0);Zz(c[J>>2]|0,c[B>>2]|0);xx(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=CA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=vx(c[o>>2]|0)|0;jx(c[J>>2]|0,104,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Vz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;ix(c[J>>2]|0,84,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=wx(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];jx(c[J>>2]|0,36,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Jh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Yz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=CC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;mx(h,99,e,g,l,H,c[F>>2]|0)|0;Ih(c[J>>2]|0,31,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;xx(c[o>>2]|0,c[G>>2]|0);FA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[o>>2]|0)+124>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){tA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Vx(c[o>>2]|0);ix(c[J>>2]|0,144,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}function lD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+468>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+468>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function mD(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function nD(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=dx(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=ix(c[M>>2]|0,65,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Wv(c[v>>2]|0,55,c[N>>2]|0)|0;c[B>>2]=Ev(c[n>>2]|0,37,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=Ev(c[n>>2]|0,36,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Jj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=Ev(c[n>>2]|0,37,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=wz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=Ev(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];Ay(L,c[K>>2]|0)|0;c[J>>2]=qD(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;ix(c[M>>2]|0,144,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)rD(c[J>>2]|0);iv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Zz(c[M>>2]|0,c[z>>2]|0);i=O;return}function oD(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Wv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Wy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function pD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Wv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function qD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-257;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Eh(ba,34404,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&32)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=832+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=Vw(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];c[(c[W>>2]|0)+20+4>>2]=-1;c[(c[W>>2]|0)+20>>2]=-1;a[(c[W>>2]|0)+42>>0]=c[I>>2];m=Wz(c[_>>2]|0)|0;c[(c[W>>2]|0)+28>>2]=m;c[(c[W>>2]|0)+32>>2]=m;b[(c[W>>2]|0)+40>>1]=b[v>>1]|0;b[(c[W>>2]|0)+16>>1]=c[w>>2];c[(c[W>>2]|0)+36>>2]=c[(c[r>>2]|0)+136>>2];m=(c[W>>2]|0)+43|0;k=m+37|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(k|0));VR((c[W>>2]|0)+752|0,0,72+((c[I>>2]|0)*80|0)|0)|0;c[R>>2]=(c[W>>2]|0)+488;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+80;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);yD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;BD((c[W>>2]|0)+80|0,c[W>>2]|0);CD((c[W>>2]|0)+80|0,c[o>>2]|0,28);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(BB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){iB(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+32>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+10|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+43>>0]=c[c[t>>2]>>2];if(e[v>>1]&256)a[(c[W>>2]|0)+47>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;DD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);ED(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+80|0);c[G>>2]=(c[G>>2]|0)+1}FD(c[s>>2]|0,(c[W>>2]|0)+80|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&256){if(GD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+80|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+47>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+40|0;b[t>>1]=e[t>>1]|128;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(HD(Y)|0)!=0:0)){c[X>>2]=ID(Y)|0;if(c[X>>2]|0)break;JD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(JD(c[W>>2]|0,(b[(c[W>>2]|0)+72>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+64|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+36>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+42>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=KD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=KD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+42>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+752+(((d[(c[W>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&256|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+42|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+136|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+72>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+45>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8)a[z>>0]=8;c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+752;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Fh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Ux(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];mx(c[_>>2]|0,155,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&32)break;c[K>>2]=104;if(d[(c[W>>2]|0)+45>>0]|0){c[K>>2]=105;c[(c[W>>2]|0)+20>>2]=c[(c[T>>2]|0)+44>>2]}Uz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+45>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=SR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Mh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Jh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Tz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+8>>2];c[L>>2]=104;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&32)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(!(d[(c[W>>2]|0)+45>>0]|0)){do if(c[w>>2]|0){if(!(e[v>>1]&32))break;c[F>>2]=c[w>>2];c[L>>2]=103;break d}while(0);Z=(c[r>>2]|0)+40|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=105;c[(c[W>>2]|0)+20+4>>2]=c[F>>2]}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;jx(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Vz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+40>>1]&1)break;Jh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)sx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=wx(c[_>>2]|0)|0;c[(c[W>>2]|0)+52>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+752+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,LD(c[r>>2]|0,(c[W>>2]|0)+80|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=MD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=wx(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=ND(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+28>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&32|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+136>>2]=c[(c[W>>2]|0)+36>>2];tD(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function rD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;k=E+44|0;j=E+40|0;l=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];EC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+42>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+752+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];_z(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=161){jx(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Jh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){_z(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[k>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);if((d[(c[k>>2]|0)+8>>0]|0)!=161)ix(c[A>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}}while(0);_z(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Yz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Zz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Zz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0)ix(c[A>>2]|0,68,(c[(c[s>>2]|0)+36>>2]|0)>>>1,c[(c[s>>2]|0)+40>>2]|0)|0;if(c[c[s>>2]>>2]|0){c[l>>2]=c[(c[t>>2]|0)+36>>2];c[h>>2]=Sz(c[A>>2]|0,66,c[c[s>>2]>>2]|0)|0;if(!(c[l>>2]&64))Sz(c[A>>2]|0,124,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(!(c[l>>2]&512)){if((c[l>>2]&8192|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)!=0:0)D=22}else D=22;if((D|0)==22){D=0;Sz(c[A>>2]|0,124,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==72)ix(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Yz(f,c[g+28>>2]|0)|0;Zz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}_z(c[A>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+752;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+42>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)sD(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+40>>1]&32|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+45>>0]|0)==0?(c[B>>2]&64|0)==0:0)Sz(c[A>>2]|0,111,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+20+4>>2]|0):0)Sz(c[A>>2]|0,111,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+8>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+45>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+69>>0]|0)){c[q>>2]=wx(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=eA(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=96){if((d[f>>0]|0)!=123)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=-127;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Jj(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(OA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+136>>2]=c[(c[m>>2]|0)+36>>2];tD(c[n>>2]|0,c[m>>2]|0);i=E;return}function sD(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=eA(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=wx(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==96){a[h>>0]=84;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==123){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=91;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=79;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function tD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+42>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+752+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}uD((c[f>>2]|0)+80|0);while(1){if(!(c[(c[f>>2]|0)+56>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+56>>2];c[(c[f>>2]|0)+56>>2]=c[(c[h>>2]|0)+52>>2];vD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function uD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+10>>1]|0)&1)iv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+10>>1]|0)&16)){if((e[(c[d>>2]|0)+10>>1]|0)&32)AD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0)}else zD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function vD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;wD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function wD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);xD(c[d>>2]|0,c[e>>2]|0);yD(c[e>>2]|0);i=f;return}function xD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+8>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+8>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+8>>2]|0);c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}function yD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function BD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function CD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=ky(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){WE(f,c[h>>2]|0,0)|0;i=l;return}else{CD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);CD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function DD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function ED(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=jw(c[f>>2]|0,152,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=Ev(a,37,f,Iy(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;WE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Eh(f,34848,q);i=r;return}else if((e|0)==13){i=r;return}}function FD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;SE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function GD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=ky(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(ZD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((RE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(HE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function HD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+80;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=EE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+8>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+752+64>>2]=c[o>>2];q=OD((c[s>>2]|0)+488|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+752+4>>2]=c[j>>2];b[(c[s>>2]|0)+72>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+43>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&256)a[(c[s>>2]|0)+47>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function ID(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+42>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];yD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=OD((c[n>>2]|0)+488|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=OD((c[n>>2]|0)+488|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=rE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=sE(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=tE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){wD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function JD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;E=X+40|0;M=X+148|0;N=X+144|0;G=X+162|0;r=X+140|0;Q=X+136|0;z=X+132|0;O=X+128|0;H=X+124|0;n=X+120|0;p=X+116|0;t=X+112|0;w=X+108|0;s=X+160|0;u=X+158|0;y=X+104|0;v=X+100|0;k=X+96|0;m=X+92|0;S=X+88|0;A=X+84|0;K=X+80|0;j=X+76|0;l=X+72|0;T=X+68|0;h=X+64|0;x=X+156|0;B=X+154|0;C=X+152|0;o=X+164|0;q=X+32|0;D=X+24|0;J=X+60|0;I=X+16|0;L=X+56|0;W=X+52|0;P=X+8|0;U=X+48|0;V=X;R=X+44|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[Q>>2]=d[(c[N>>2]|0)+42>>0];if((c[Q>>2]|0)<=1)g=1;else g=(c[Q>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[Q>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[T>>2]=Vw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[T>>2]|0)){c[M>>2]=7;W=c[M>>2]|0;i=X;return W|0}c[m>>2]=c[T>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[S>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[S>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[S>>2]=(c[S>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[Q>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];VR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+136>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+136>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[Q>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[S>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+56>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[S>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[S>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[S>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[S>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=nE(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[S>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=nE(b[C>>1]|0,b[(c[S>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[S>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[S>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,b[(c[N>>2]|0)+40>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[S>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=pE(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=nE(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[S>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;TR(c[(c[A>>2]|0)+24>>2]|0,c[(c[S>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+32}c[S>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[S>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Eh(c[z>>2]|0,34756,E);Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=1;W=c[M>>2]|0;i=X;return W|0}c[S>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[S>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[S>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[J>>2]=g+752+((c[H>>2]|0)*80|0);F=c[(c[(c[S>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+40>>1]&256|0)!=0?(e[(c[N>>2]|0)+40>>1]&128|0)==0:0)?(d[(c[N>>2]|0)+47>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[S>>2]|0,128,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+47>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[S>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+40>>1]&128){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+47>>0]=2}else{a[(c[N>>2]|0)+43>>0]=g;J=(c[S>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+64|0;c[L>>2]=c[J>>2];c[L+4>>2]=K;if(((((a[(c[N>>2]|0)+43>>0]|0)<=0?(a[(c[N>>2]|0)+43>>0]=0,(c[Q>>2]|0)>0):0)?(c[W>>2]=c[(c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0)+36>>2],(c[W>>2]&4096|0)==0):0)?(c[W>>2]&260|0)!=260:0)?(W=P,c[W>>2]=0,c[W+4>>2]=0,c[U>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,2048,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,P)|0)<<24>>24,(c[U>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+48>>0]=1;U=c[P+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[P>>2];c[W+4>>2]=U}}if(((e[(c[N>>2]|0)+40>>1]&512|0)!=0?((c[Q>>2]|0)>0?(a[(c[N>>2]|0)+43>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(W=V,c[W>>2]=0,c[W+4>>2]=0,c[R>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,0,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,V)|0)<<24>>24,(c[R>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+44>>0]=1;U=V;V=c[U+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[U>>2];c[W+4>>2]=V}}b[(c[N>>2]|0)+72>>1]=b[(c[S>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=0;W=c[M>>2]|0;i=X;return W|0}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=lE(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function LD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=fx(c[X>>2]|0,20)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+10>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(hE(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=wz(h,g,Iy(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+28>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,34719,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(jE(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=WR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=kE(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}c[(c[H>>2]|0)+24+8>>2]=c[G>>2];c[c[G>>2]>>2]=34745;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+28>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+28>>2];c[F>>2]=sB(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=34834;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=WR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;K=(c[N>>2]|0)+40|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;ix(c[X>>2]|0,106,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Vz(c[N>>2]|0,c[G>>2]|0);AA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=ix(c[X>>2]|0,76,0,0)|0;jx(c[X>>2]|0,15,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Sz(c[X>>2]|0,16,c[M>>2]|0)|0}else c[R>>2]=Sz(c[X>>2]|0,57,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Wz(c[X>>2]|0)|0;iB(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=vx(c[N>>2]|0)|0;c[V>>2]=oA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;ix(c[X>>2]|0,126,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Jh(c[X>>2]|0,16);if(c[T>>2]|0)_z(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){dA(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);sD(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Yz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else ix(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Jh(c[X>>2]|0,3);Zz(c[X>>2]|0,c[R>>2]|0);xx(c[N>>2]|0,c[W>>2]|0);yA(c[N>>2]|0);Zz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}function MD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+409>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+420>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&32|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);dE(C,(c[x>>2]|0)!=0?34452:34459);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];rA(C,34464,E)}else{c[F>>2]=c[m+8>>2];rA(C,34477,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];rA(C,34487,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+8>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=34494}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=34506;break}if(c[v>>2]&16384){c[K>>2]=34539;break}if(c[v>>2]&64){c[K>>2]=34564;break}else{c[K>>2]=34582;break}}while(0);if(c[K>>2]|0){sA(C,34591,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];rA(C,N,J);eE(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=34601;break}if(c[v>>2]&32){c[M>>2]=34615;break}else{c[M>>2]=34617;break}}else c[M>>2]=34599;while(0);c[G>>2]=c[M>>2];rA(C,34619,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;rA(C,34657,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=mx(c[D>>2]|0,162,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function ND(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=i;i=i+448|0;Sa=hb+8|0;Ta=hb+432|0;M=hb+428|0;Ua=hb;Xa=hb+424|0;Ra=hb+420|0;Wa=hb+416|0;ra=hb+412|0;za=hb+408|0;Pa=hb+404|0;$a=hb+400|0;Oa=hb+396|0;cb=hb+392|0;bb=hb+388|0;ab=hb+384|0;Qa=hb+380|0;fb=hb+376|0;H=hb+372|0;G=hb+368|0;Va=hb+364|0;Na=hb+360|0;o=hb+356|0;k=hb+352|0;n=hb+348|0;l=hb+344|0;q=hb+340|0;m=hb+336|0;p=hb+332|0;t=hb+328|0;r=hb+324|0;u=hb+320|0;s=hb+316|0;F=hb+312|0;E=hb+308|0;v=hb+304|0;y=hb+300|0;x=hb+296|0;z=hb+292|0;B=hb+288|0;D=hb+284|0;w=hb+280|0;A=hb+276|0;xa=hb+442|0;va=hb+440|0;ya=hb+438|0;Ha=hb+272|0;Ea=hb+268|0;Da=hb+264|0;Ia=hb+260|0;ua=hb+256|0;Ja=hb+252|0;wa=hb+248|0;Ba=hb+244|0;Ma=hb+240|0;I=hb+236|0;Aa=hb+232|0;La=hb+228|0;Ka=hb+224|0;sa=hb+447|0;ta=hb+446|0;J=hb+220|0;K=hb+445|0;L=hb+444|0;Fa=hb+216|0;Ga=hb+212|0;Ca=hb+208|0;ea=hb+204|0;ca=hb+200|0;$=hb+196|0;P=hb+192|0;la=hb+188|0;na=hb+184|0;ma=hb+180|0;Q=hb+176|0;S=hb+172|0;oa=hb+168|0;V=hb+164|0;pa=hb+436|0;_=hb+160|0;ja=hb+156|0;X=hb+152|0;Z=hb+148|0;ga=hb+144|0;U=hb+140|0;aa=hb+136|0;da=hb+132|0;ia=hb+128|0;ba=hb+124|0;W=hb+120|0;ha=hb+116|0;N=hb+112|0;ka=hb+108|0;T=hb+104|0;fa=hb+100|0;Y=hb+96|0;R=hb+92|0;O=hb+88|0;Za=hb+84|0;eb=hb+80|0;gb=hb+76|0;_a=hb+72|0;db=hb+24|0;Ya=hb+16|0;c[Ta>>2]=f;c[M>>2]=g;g=Ua;c[g>>2]=h;c[g+4>>2]=j;c[Na>>2]=0;c[o>>2]=0;c[ab>>2]=c[c[Ta>>2]>>2];c[fb>>2]=c[(c[ab>>2]|0)+8>>2];c[cb>>2]=(c[Ta>>2]|0)+80;c[Qa>>2]=c[c[ab>>2]>>2];c[$a>>2]=(c[Ta>>2]|0)+752+((c[M>>2]|0)*80|0);c[Oa>>2]=c[(c[$a>>2]|0)+64>>2];c[H>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8+((d[(c[$a>>2]|0)+44>>0]|0)*72|0);c[Wa>>2]=c[(c[H>>2]|0)+44>>2];g=Ua;h=c[g>>2]|0;g=c[g+4>>2]|0;j=OD((c[Ta>>2]|0)+488|0,c[Wa>>2]|0)|0;f=(c[$a>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Ta>>2]|0)+64|0;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[M>>2]|0)|0;c[Pa>>2]=f&1;if(c[(c[Oa>>2]|0)+36>>2]&64)h=(e[(c[Ta>>2]|0)+40>>1]&32|0)==0;else h=0;c[za>>2]=h&1;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+16>>2]=f;c[(c[$a>>2]|0)+12>>2]=f;c[G>>2]=f;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+24>>2]=f;c[Va>>2]=f;if((d[(c[$a>>2]|0)+44>>0]|0)>0?(d[(c[H>>2]|0)+36>>0]&8|0)!=0:0){g=(c[ab>>2]|0)+44|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[$a>>2]>>2]=f;ix(c[fb>>2]|0,76,0,c[c[$a>>2]>>2]|0)|0}do if((d[(c[H>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[H>>2]|0)+28>>2];jx(c[fb>>2]|0,15,c[k>>2]|0,0,c[(c[H>>2]|0)+24>>2]|0)|0;Ra=ix(c[fb>>2]|0,16,c[k>>2]|0,c[G>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+45>>0]=13}else{h=c[Oa>>2]|0;if(c[(c[Oa>>2]|0)+36>>2]&1024){c[q>>2]=e[h+40>>1];AA(c[ab>>2]|0);c[n>>2]=CA(c[ab>>2]|0,(c[q>>2]|0)+2|0)|0;c[l>>2]=c[(c[$a>>2]|0)+12>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];do if(c[bb>>2]|0)if(e[(c[bb>>2]|0)+12>>1]&1){PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,c[Xa>>2]|0,c[Pa>>2]|0,c[p>>2]|0)|0;c[l>>2]=c[(c[$a>>2]|0)+16>>2];break}else{c[t>>2]=c[(c[c[bb>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[t>>2]|0,c[p>>2]|0,1);break}while(0);c[Xa>>2]=(c[Xa>>2]|0)+1}ix(c[fb>>2]|0,76,c[(c[Oa>>2]|0)+24>>2]|0,c[n>>2]|0)|0;ix(c[fb>>2]|0,76,c[q>>2]|0,(c[n>>2]|0)+1|0)|0;mx(c[fb>>2]|0,11,c[Wa>>2]|0,c[l>>2]|0,c[n>>2]|0,c[(c[Oa>>2]|0)+24+8>>2]|0,(d[(c[Oa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Oa>>2]|0)+24+4>>0]=0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];a[(c[$a>>2]|0)+45>>0]=(d[(c[Ta>>2]|0)+45>>0]|0)!=0?161:70;Ra=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;c[m>>2]=c[(c[$a>>2]|0)+56>>2];c[Xa>>2]=(c[q>>2]|0)-1;while(1){if((c[Xa>>2]|0)<0)break;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];if((c[Xa>>2]|0)<16?(e[(c[Oa>>2]|0)+24+6>>1]>>c[Xa>>2]&1|0)!=0:0)RD(c[$a>>2]|0,c[bb>>2]|0);else qa=21;if((qa|0)==21?(qa=0,(e[(c[bb>>2]|0)+12>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Pa=c[fb>>2]|0;Ra=(c[m>>2]|0)+-1|0;c[m>>2]=Ra;c[s>>2]=eA(Pa,c[(c[(c[$a>>2]|0)+56+4>>2]|0)+(Ra*12|0)+4>>2]|0)|0;jx(c[fb>>2]|0,d[c[s>>2]>>0]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0}c[r>>2]=Ev(c[ab>>2]|0,37,0,0,0)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+12>>2]=c[(c[c[bb>>2]>>2]|0)+12>>2];Ra=Wv(c[Qa>>2]|0,157,0)|0;c[u>>2]=Ra;c[(c[r>>2]|0)+16>>2]=Ra;if(c[u>>2]|0){c[(c[u>>2]|0)+28>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;iB(c[ab>>2]|0,c[r>>2]|0,c[(c[$a>>2]|0)+24>>2]|0,0)}c[(c[r>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[r>>2]|0)}}c[Xa>>2]=(c[Xa>>2]|0)+-1}yA(c[ab>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&5|0)!=0:0){c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[o>>2]=Ra;c[Na>>2]=PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,0,c[Pa>>2]|0,c[o>>2]|0)|0;if((c[Na>>2]|0)!=(c[o>>2]|0))xx(c[ab>>2]|0,c[o>>2]|0);c[ra>>2]=c[(c[$a>>2]|0)+16>>2];jx(c[fb>>2]|0,32,c[Wa>>2]|0,c[ra>>2]|0,c[Na>>2]|0)|0;WA(c[ab>>2]|0,c[Na>>2]|0,1);GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);a[(c[$a>>2]|0)+45>>0]=-95;break}if((c[(c[Oa>>2]|0)+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&2|0)!=0:0){c[F>>2]=161;c[v>>2]=0;c[Xa>>2]=0;c[x>>2]=0;c[y>>2]=0;if(c[(c[Oa>>2]|0)+36>>2]&32){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[y>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[(c[Oa>>2]|0)+36>>2]&16){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[x>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[Pa>>2]|0){c[bb>>2]=c[y>>2];c[y>>2]=c[x>>2];c[x>>2]=c[bb>>2]}if(c[y>>2]|0){c[z>>2]=c[c[y>>2]>>2];Ra=(XA(c[(c[z>>2]|0)+16>>2]|0)|0)!=0;h=c[ab>>2]|0;if(Ra){Ra=vx(h)|0;c[D>>2]=Ra;c[B>>2]=Ra;QD(c[ab>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[B>>2]|0,1);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38|1)>>0]}else{c[B>>2]=ZA(h,c[(c[z>>2]|0)+16>>2]|0,D)|0;RD(c[$a>>2]|0,c[y>>2]|0);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38)>>0]}jx(c[fb>>2]|0,c[w>>2]|0,c[Wa>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;WA(c[ab>>2]|0,c[B>>2]|0,1);xx(c[ab>>2]|0,c[D>>2]|0)}else ix(c[fb>>2]|0,(c[Pa>>2]|0)!=0?53:57,c[Wa>>2]|0,c[G>>2]|0)|0;if(c[x>>2]|0){c[A>>2]=c[c[x>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[v>>2]=Ra;QD(c[ab>>2]|0,c[(c[A>>2]|0)+16>>2]|0,c[v>>2]|0,1);do if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0)){if((d[c[A>>2]>>0]|0)!=40?(d[c[A>>2]>>0]|0)!=38:0){qa=54;break}c[F>>2]=(c[Pa>>2]|0)!=0?39:41}else qa=54;while(0);if((qa|0)==54)c[F>>2]=(c[Pa>>2]|0)!=0?40:38;if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0))RD(c[$a>>2]|0,c[x>>2]|0)}c[E>>2]=wx(c[fb>>2]|0)|0;a[(c[$a>>2]|0)+45>>0]=(c[Pa>>2]|0)!=0?6:7;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];c[(c[$a>>2]|0)+52>>2]=c[E>>2];if((c[F>>2]|0)==161)break;Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,123,c[Wa>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,c[F>>2]|0,c[v>>2]|0,c[G>>2]|0,c[Na>>2]|0)|0;Jh(c[fb>>2]|0,83);break}h=c[Oa>>2]|0;if(!(c[(c[Oa>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[H>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[$a>>2]|0)+45>>0]=-95;break}else{a[(c[$a>>2]|0)+45>>0]=a[34448+(c[Pa>>2]|0)>>0]|0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];Ra=1+(ix(c[fb>>2]|0,d[34450+(c[Pa>>2]|0)>>0]|0,c[Wa>>2]|0,c[G>>2]|0)|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+47>>0]=1;break}c[$>>2]=0;h=(c[ab>>2]|0)+40|0;Pa=c[h>>2]|0;c[h>>2]=Pa+1;c[P>>2]=Pa;Pa=(c[ab>>2]|0)+44|0;h=(c[Pa>>2]|0)+1|0;c[Pa>>2]=h;c[la>>2]=h;c[na>>2]=0;c[ma>>2]=0;c[Q>>2]=Wz(c[fb>>2]|0)|0;c[oa>>2]=0;c[_>>2]=0;c[ja>>2]=c[(c[H>>2]|0)+16>>2];c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];c[ea>>2]=c[(c[bb>>2]|0)+28>>2];a[(c[$a>>2]|0)+45>>0]=72;c[(c[$a>>2]|0)+48>>2]=c[la>>2];h=c[Ta>>2]|0;a:do if((d[(c[Ta>>2]|0)+42>>0]|0)>1){c[X>>2]=(d[h+42>>0]|0)-(c[M>>2]|0)-1;c[ca>>2]=Ch(c[Qa>>2]|0,80+((c[X>>2]|0)*72|0)|0,0)|0;if(!(c[ca>>2]|0)){eb=Ua;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}c[(c[ca>>2]|0)+4>>2]=(c[X>>2]|0)+1&255;c[c[ca>>2]>>2]=c[(c[ca>>2]|0)+4>>2];g=(c[ca>>2]|0)+8|0;h=c[H>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Z>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>(c[X>>2]|0))break a;g=(c[ca>>2]|0)+8+((c[Ra>>2]|0)*72|0)|0;h=(c[Z>>2]|0)+((d[(c[$a>>2]|0)+((c[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Ra>>2]=(c[Ra>>2]|0)+1}}else c[ca>>2]=c[h+4>>2];while(0);if(!(e[(c[Ta>>2]|0)+40>>1]&16)){if(!(d[(c[ja>>2]|0)+42>>0]&32)){Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[na>>2]=Ra;ix(c[fb>>2]|0,79,0,c[na>>2]|0)|0}else{c[ga>>2]=Jj(c[ja>>2]|0)|0;Pa=(c[ab>>2]|0)+40|0;Ra=c[Pa>>2]|0;c[Pa>>2]=Ra+1;c[na>>2]=Ra;ix(c[fb>>2]|0,107,c[na>>2]|0,e[(c[ga>>2]|0)+50>>1]|0)|0;Vz(c[ab>>2]|0,c[ga>>2]|0)}Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[ma>>2]=Ra}c[S>>2]=ix(c[fb>>2]|0,76,0,c[la>>2]|0)|0;if((c[(c[cb>>2]|0)+12>>2]|0)>1){c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break;c[aa>>2]=c[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)>>2];do if((((c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)|0)!=(c[bb>>2]|0)?(c[(c[aa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+12>>1]&8191))break;c[aa>>2]=Iy(c[Qa>>2]|0,c[aa>>2]|0,0)|0;c[_>>2]=wz(c[Qa>>2]|0,c[_>>2]|0,c[aa>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+1}if(c[_>>2]|0)c[_>>2]=Ev(c[ab>>2]|0,284,0,c[_>>2]|0,0)|0}b[pa>>1]=32|e[(c[Ta>>2]|0)+40>>1]&1024;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ea>>2]|0)+12>>2]|0))break;c[da>>2]=(c[(c[ea>>2]|0)+20>>2]|0)+((c[V>>2]|0)*48|0);if(!((c[(c[da>>2]|0)+20>>2]|0)!=(c[Wa>>2]|0)?(e[(c[da>>2]|0)+12>>1]&1024|0)==0:0)){c[ba>>2]=c[c[da>>2]>>2];c[W>>2]=0;if((c[_>>2]|0)!=0?(c[(c[ba>>2]|0)+4>>2]&1|0)==0:0){c[(c[_>>2]|0)+12>>2]=c[ba>>2];c[ba>>2]=c[_>>2]}c[ia>>2]=qD(c[ab>>2]|0,c[ca>>2]|0,c[ba>>2]|0,0,0,b[pa>>1]|0,c[P>>2]|0)|0;if(c[ia>>2]|0){c[N>>2]=MD(c[ab>>2]|0,c[ca>>2]|0,(c[ia>>2]|0)+752|0,c[M>>2]|0,d[(c[$a>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Ta>>2]|0)+40>>1]&16)){c[T>>2]=(c[V>>2]|0)==((c[(c[ea>>2]|0)+12>>2]|0)-1|0)?-1:c[V>>2]|0;if(!(d[(c[ja>>2]|0)+42>>0]&32)){c[ka>>2]=TA(c[ab>>2]|0,c[ja>>2]|0,-1,c[Wa>>2]|0,c[ma>>2]|0,0)|0;c[W>>2]=Ih(c[fb>>2]|0,63,c[na>>2]|0,0,c[ka>>2]|0,c[T>>2]|0)|0;break}c[fa>>2]=Jj(c[ja>>2]|0)|0;c[Y>>2]=e[(c[fa>>2]|0)+50>>1];c[ka>>2]=CA(c[ab>>2]|0,c[Y>>2]|0)|0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Y>>2]|0))break;c[O>>2]=b[(c[(c[fa>>2]|0)+4>>2]|0)+(c[R>>2]<<1)>>1];XD(c[ab>>2]|0,c[ja>>2]|0,c[O>>2]|0,c[Wa>>2]|0,(c[ka>>2]|0)+(c[R>>2]|0)|0);c[R>>2]=(c[R>>2]|0)+1}if(c[T>>2]|0)c[W>>2]=Ih(c[fb>>2]|0,31,c[na>>2]|0,0,c[ka>>2]|0,c[Y>>2]|0)|0;do if((c[T>>2]|0)>=0){jx(c[fb>>2]|0,99,c[ka>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;jx(c[fb>>2]|0,126,c[na>>2]|0,c[ma>>2]|0,0)|0;if(!(c[T>>2]|0))break;Jh(c[fb>>2]|0,16)}while(0);FA(c[ab>>2]|0,c[ka>>2]|0,c[Y>>2]|0)}while(0);ix(c[fb>>2]|0,14,c[la>>2]|0,c[Q>>2]|0)|0;if(c[W>>2]|0)Zz(c[fb>>2]|0,c[W>>2]|0);if(a[(c[ia>>2]|0)+46>>0]|0)c[oa>>2]=1;c[ha>>2]=c[(c[ia>>2]|0)+752+64>>2];do if(c[(c[ha>>2]|0)+36>>2]&512){if((c[V>>2]|0)!=0?(c[(c[ha>>2]|0)+24+8>>2]|0)!=(c[$>>2]|0):0){qa=193;break}if((d[(c[ja>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[ha>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){qa=193;break}c[$>>2]=c[(c[ha>>2]|0)+24+8>>2]}else qa=193;while(0);if((qa|0)==193){qa=0;c[$>>2]=0}rD(c[ia>>2]|0)}}c[V>>2]=(c[V>>2]|0)+1}c[(c[$a>>2]|0)+56>>2]=c[$>>2];if(c[$>>2]|0)c[(c[$a>>2]|0)+8>>2]=c[P>>2];if(c[_>>2]|0){c[(c[_>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[_>>2]|0)}Pa=c[fb>>2]|0;Ra=c[S>>2]|0;YD(Pa,Ra,wx(c[fb>>2]|0)|0);Yz(c[fb>>2]|0,c[(c[$a>>2]|0)+12>>2]|0)|0;_z(c[fb>>2]|0,c[Q>>2]|0);if((d[(c[Ta>>2]|0)+42>>0]|0)>1)Tf(c[Qa>>2]|0,c[ca>>2]|0);if(c[oa>>2]|0)break;RD(c[$a>>2]|0,c[bb>>2]|0);break}b[xa>>1]=b[h+24>>1]|0;b[va>>1]=b[(c[Oa>>2]|0)+24+2>>1]|0;b[ya>>1]=b[(c[Oa>>2]|0)+24+4>>1]|0;c[Ea>>2]=0;c[Da>>2]=0;c[I>>2]=0;c[Ka>>2]=0;a[sa>>0]=0;a[ta>>0]=0;c[Ba>>2]=c[(c[Oa>>2]|0)+24+8>>2];c[Ma>>2]=c[(c[$a>>2]|0)+8>>2];if(((e[(c[Ta>>2]|0)+40>>1]&1|0)!=0?(a[(c[Ta>>2]|0)+43>>0]|0)>0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)>(e[xa>>1]|0):0){a[sa>>0]=1;c[I>>2]=1}c[Xa>>2]=e[xa>>1];if(c[(c[Oa>>2]|0)+36>>2]&32){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Ea>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+2>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+2>>1]|0;c[I>>2]=h}do if(c[(c[Oa>>2]|0)+36>>2]&16){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Da>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+4>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+4>>1]|0;c[I>>2]=h;if(e[(c[Da>>2]|0)+10>>1]&256){pa=(c[ab>>2]|0)+44|0;qa=(c[pa>>2]|0)+1|0;c[pa>>2]=qa;c[(c[$a>>2]|0)+36>>2]=qa;ix(c[fb>>2]|0,76,1,c[(c[$a>>2]|0)+36>>2]|0)|0;qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+40>>2]=qa;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]<<1;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]|c[Pa>>2]^(d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==1}if(!(c[Ea>>2]|0)){c[Xa>>2]=b[(c[(c[Ba>>2]|0)+4>>2]|0)+(e[xa>>1]<<1)>>1];h=c[Xa>>2]|0;if((c[Xa>>2]|0)>=0){if(!((c[Xa>>2]|0)==-2?1:(d[(c[(c[(c[Ba>>2]|0)+12>>2]|0)+4>>2]|0)+(h<<4)+12>>0]|0)==0))break}else if((h|0)!=-2)break;a[sa>>0]=1}}while(0);if((e[xa>>1]|0)<(e[(c[Ba>>2]|0)+50>>1]|0)?(c[Pa>>2]|0)==((d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==0|0):0)qa=84;else qa=82;if(((qa|0)==82?(c[Pa>>2]|0)!=0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)==(e[xa>>1]|0):0)qa=84;if((qa|0)==84){c[J>>2]=c[Da>>2];c[Da>>2]=c[Ea>>2];c[Ea>>2]=c[J>>2];a[K>>0]=a[sa>>0]|0;a[sa>>0]=a[ta>>0]|0;a[ta>>0]=a[K>>0]|0;a[L>>0]=b[va>>1];b[va>>1]=b[ya>>1]|0;b[ya>>1]=d[L>>0]|0}c[Ha>>2]=SD(c[ab>>2]|0,c[$a>>2]|0,c[Pa>>2]|0,c[I>>2]|0,La)|0;if((c[La>>2]|0)!=0?(e[ya>>1]|0)!=0:0)c[Ka>>2]=qh(c[Qa>>2]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0)|0;c[ra>>2]=c[(c[$a>>2]|0)+16>>2];if(c[Ea>>2]|0)h=(e[(c[Ea>>2]|0)+12>>1]&40|0)!=0;else h=1;c[Ia>>2]=h&1;if(c[Da>>2]|0)h=(e[(c[Da>>2]|0)+12>>1]&40|0)!=0;else h=1;c[ua>>2]=h&1;if(c[Ea>>2]|0)h=1;else h=(e[xa>>1]|0)>0;c[Ja>>2]=h&1;c[wa>>2]=e[xa>>1];if(!(c[Ea>>2]|0)){if(a[sa>>0]|0){ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;c[Ia>>2]=0;c[Ja>>2]=1}}else{c[Fa>>2]=c[(c[c[Ea>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[Fa>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[va>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Ea>>2]|0);do if(!(e[(c[Ea>>2]|0)+10>>1]&0)){if(!(oB(c[Fa>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[La>>2]|0)UD(c[Fa>>2]|0,e[va>>1]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0);c[wa>>2]=(c[wa>>2]|0)+(e[va>>1]|0);if(!(XA(c[Fa>>2]|0)|0))RD(c[$a>>2]|0,c[Ea>>2]|0);else c[Ia>>2]=1;a[sa>>0]=0}VD(c[ab>>2]|0,c[Ha>>2]|0,(c[wa>>2]|0)-(d[sa>>0]|0)|0,c[La>>2]|0);if(!((e[(c[Oa>>2]|0)+42>>1]|0)>0?(c[wa>>2]|0)==(e[(c[Oa>>2]|0)+42>>1]|0):0)){c[Aa>>2]=d[34436+((c[Ja>>2]<<2)+(c[Ia>>2]<<1)+(c[Pa>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}c[wa>>2]=e[xa>>1];do if(c[Da>>2]|0){c[Ga>>2]=c[(c[c[Da>>2]>>2]|0)+16>>2];GA(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,1);QD(c[ab>>2]|0,c[Ga>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Da>>2]|0);do if(!(e[(c[Da>>2]|0)+10>>1]&0)){if(!(oB(c[Ga>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[Ka>>2]|0){UD(c[Ga>>2]|0,e[ya>>1]|0,c[Ka>>2]|0);VD(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0,c[Ka>>2]|0)}c[wa>>2]=(c[wa>>2]|0)+(e[ya>>1]|0);if(!(XA(c[Ga>>2]|0)|0)){RD(c[$a>>2]|0,c[Da>>2]|0);break}else{c[ua>>2]=1;break}}else{if(!(a[ta>>0]|0))break;ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[ua>>2]=0;c[wa>>2]=(c[wa>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[La>>2]|0);Tf(c[Qa>>2]|0,c[Ka>>2]|0);Qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Qa;if(c[wa>>2]|0){c[Aa>>2]=d[34444+((c[Pa>>2]<<1)+(c[ua>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}do if(!(c[za>>2]|0)){if(!(d[(c[(c[Ba>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[Ta>>2]|0)+40>>1]&1024){Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,129,c[Ma>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,33,c[Wa>>2]|0,0,c[Na>>2]|0)|0;break}else{WD(c[Ta>>2]|0,c[Ba>>2]|0,c[Wa>>2]|0,c[Ma>>2]|0);break}if((c[Wa>>2]|0)==(c[Ma>>2]|0))break;c[Ca>>2]=Jj(c[(c[Ba>>2]|0)+12>>2]|0)|0;c[Na>>2]=CA(c[ab>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0;c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(e[(c[Ca>>2]|0)+50>>1]|0))break;c[Ra>>2]=(OA(c[Ba>>2]|0,b[(c[(c[Ca>>2]|0)+4>>2]|0)+(c[Xa>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[fb>>2]|0,96,c[Ma>>2]|0,c[Ra>>2]|0,(c[Na>>2]|0)+(c[Xa>>2]|0)|0)|0;c[Xa>>2]=(c[Xa>>2]|0)+1}Ih(c[fb>>2]|0,30,c[Wa>>2]|0,c[Va>>2]|0,c[Na>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Oa>>2]|0)+36>>2]&4096)){h=(c[$a>>2]|0)+45|0;if(c[Pa>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[$a>>2]|0)+45>>0]=-95;while(0);c[(c[$a>>2]|0)+48>>2]=c[Ma>>2];a[(c[$a>>2]|0)+46>>0]=(c[(c[Oa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Oa>>2]|0)+36>>2]&15)break;a[(c[$a>>2]|0)+47>>0]=1}while(0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;c[eb>>2]=0;do if(!(e[(c[bb>>2]|0)+10>>1]&6)){Qa=(c[bb>>2]|0)+40|0;Ra=(c[$a>>2]|0)+72|0;if((c[Qa>>2]&c[Ra>>2]|0)!=0?1:(c[Qa+4>>2]&c[Ra+4>>2]|0)!=0){a[(c[Ta>>2]|0)+46>>0]=1;break}c[Za>>2]=c[c[bb>>2]>>2];if((c[c[$a>>2]>>2]|0)!=0?(c[(c[Za>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[bb>>2]|0)+10>>1]&512){c[gb>>2]=c[(c[$a>>2]|0)+36>>2];c[eb>>2]=Sz(c[fb>>2]|0,(c[gb>>2]&1|0)!=0?22:21,(c[gb>>2]|0)>>>1)|0}iB(c[ab>>2]|0,c[Za>>2]|0,c[Va>>2]|0,16);if(c[eb>>2]|0)Zz(c[fb>>2]|0,c[eb>>2]|0);Ra=(c[bb>>2]|0)+10|0;b[Ra>>1]=e[Ra>>1]|4}while(0);c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;if(((((((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(e[(c[bb>>2]|0)+12>>1]&130|0)!=0:0)?(e[(c[bb>>2]|0)+12>>1]&2048|0)!=0:0)?(c[(c[bb>>2]|0)+20>>2]|0)==(c[Wa>>2]|0):0)?(c[c[$a>>2]>>2]|0)==0:0)?(c[_a>>2]=c[c[bb>>2]>>2],gb=Ua,c[Ya>>2]=ZD(c[cb>>2]|0,c[Wa>>2]|0,c[(c[bb>>2]|0)+28>>2]|0,c[gb>>2]|0,c[gb+4>>2]|0,131,0)|0,(c[Ya>>2]|0)!=0):0)?(e[(c[Ya>>2]|0)+10>>1]&4|0)==0:0){g=db;h=c[c[Ya>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[db+12>>2]=c[(c[_a>>2]|0)+12>>2];iB(c[ab>>2]|0,db,c[Va>>2]|0,16)}c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}b:do if(c[c[$a>>2]>>2]|0){gb=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+28>>2]=gb;ix(c[fb>>2]|0,76,1,c[c[$a>>2]>>2]|0)|0;EC(c[ab>>2]|0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break b;if((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(fb=(c[bb>>2]|0)+40|0,gb=(c[$a>>2]|0)+72|0,!((c[fb>>2]&c[gb>>2]|0)!=0?1:(c[fb+4>>2]&c[gb+4>>2]|0)!=0)):0){iB(c[ab>>2]|0,c[c[bb>>2]>>2]|0,c[Va>>2]|0,16);gb=(c[bb>>2]|0)+10|0;b[gb>>1]=e[gb>>1]|4}c[Xa>>2]=(c[Xa>>2]|0)+1;c[bb>>2]=(c[bb>>2]|0)+48}}while(0);eb=(c[$a>>2]|0)+72|0;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}function OD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=WR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function PD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+128|0;z=S+120|0;A=S+116|0;B=S+112|0;C=S+108|0;D=S+104|0;E=S+100|0;m=S+96|0;P=S+92|0;Q=S+88|0;L=S+84|0;G=S+80|0;M=S+76|0;N=S+72|0;O=S+68|0;H=S+64|0;s=S+60|0;F=S+56|0;y=S+52|0;n=S+48|0;w=S+44|0;v=S+40|0;x=S+36|0;u=S+32|0;o=S+28|0;q=S+24|0;p=S+20|0;t=S+16|0;r=S+12|0;J=S+8|0;K=S+4|0;I=S;c[A>>2]=f;c[B>>2]=g;c[C>>2]=h;c[D>>2]=j;c[E>>2]=k;c[m>>2]=l;c[P>>2]=c[c[B>>2]>>2];c[Q>>2]=c[(c[A>>2]|0)+8>>2];do if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0){if((d[c[P>>2]>>0]|0)==34){c[L>>2]=c[m>>2];ix(c[Q>>2]|0,79,0,c[L>>2]|0)|0;break}c[G>>2]=5;c[O>>2]=c[(c[C>>2]|0)+64>>2];c[s>>2]=0;c[F>>2]=0;if(((c[(c[O>>2]|0)+36>>2]&1024|0)==0?(c[(c[O>>2]|0)+24+8>>2]|0)!=0:0)?(d[(c[(c[(c[O>>2]|0)+24+8>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0)!=0:0)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[L>>2]=c[m>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0){R=14;break}c[H>>2]=(c[H>>2]|0)+1}if((R|0)==14){RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[m>>2];R=c[z>>2]|0;i=S;return R|0}c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0)c[s>>2]=(c[s>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}if((c[(c[P>>2]|0)+4>>2]&2048|0)!=0?(c[c[c[(c[P>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){c[y>>2]=c[(c[P>>2]|0)+20>>2];c[n>>2]=c[c[A>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[v>>2]=c[(c[(c[P>>2]|0)+12>>2]|0)+20>>2];c[x>>2]=0;c[u>>2]=0;c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[o>>2]=(c[(c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)+24>>2]|0)-1;c[q>>2]=Iy(c[n>>2]|0,c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[p>>2]=Iy(c[n>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[x>>2]=Tv(c[A>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;c[u>>2]=Tv(c[A>>2]|0,c[u>>2]|0,c[p>>2]|0)|0}c[H>>2]=(c[H>>2]|0)+1}if(!(a[(c[n>>2]|0)+69>>0]|0)){c[t>>2]=c[(c[P>>2]|0)+12>>2];a:do if(c[(c[y>>2]|0)+44>>2]|0){c[r>>2]=c[(c[y>>2]|0)+44>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[c[r>>2]>>2]|0))break a;b[(c[(c[r>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)+16>>1]=0;c[H>>2]=(c[H>>2]|0)+1}}while(0);m=c[u>>2]|0;if((c[c[u>>2]>>2]|0)==1)c[(c[P>>2]|0)+12>>2]=c[c[m+4>>2]>>2];else{c[(c[t>>2]|0)+20>>2]=m;c[F>>2]=sh(c[c[A>>2]>>2]|0,c[s>>2]<<2,0)|0}c[c[y>>2]>>2]=c[x>>2];c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,c[F>>2]|0)|0;c[c[y>>2]>>2]=c[w>>2];c[(c[t>>2]|0)+20>>2]=c[v>>2];c[(c[P>>2]|0)+12>>2]=c[t>>2]}ev(c[c[A>>2]>>2]|0,c[u>>2]|0);ev(c[c[A>>2]>>2]|0,c[x>>2]|0)}else c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,0)|0;if((c[G>>2]|0)==4)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[M>>2]=c[(c[P>>2]|0)+28>>2];ix(c[Q>>2]|0,(c[E>>2]|0)!=0?53:57,c[M>>2]|0,0)|0;y=(c[O>>2]|0)+36|0;c[y>>2]=c[y>>2]|2048;if(!(c[(c[C>>2]|0)+56>>2]|0)){y=Wz(c[Q>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=y}c[H>>2]=c[(c[C>>2]|0)+56>>2];y=(c[C>>2]|0)+56|0;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0);y=Px(c[c[A>>2]>>2]|0,c[(c[C>>2]|0)+56+4>>2]|0,(c[(c[C>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[C>>2]|0)+56+4>>2]=y;c[N>>2]=c[(c[C>>2]|0)+56+4>>2];b:do if(c[N>>2]|0){c[J>>2]=0;c[N>>2]=(c[N>>2]|0)+((c[H>>2]|0)*12|0);c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break b;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[K>>2]=(c[L>>2]|0)+(c[H>>2]|0)-(c[D>>2]|0);if((c[G>>2]|0)==1){y=ix(c[Q>>2]|0,123,c[M>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}else{if(c[F>>2]|0){m=c[J>>2]|0;c[J>>2]=m+1;m=c[(c[F>>2]|0)+(m<<2)>>2]|0}else m=0;c[I>>2]=m;y=jx(c[Q>>2]|0,96,c[M>>2]|0,c[I>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}Sz(c[Q>>2]|0,34,c[K>>2]|0)|0;if((c[H>>2]|0)==(c[D>>2]|0)){c[c[N>>2]>>2]=c[M>>2];a[(c[N>>2]|0)+8>>0]=(c[E>>2]|0)!=0?4:5}else a[(c[N>>2]|0)+8>>0]=-95;c[N>>2]=(c[N>>2]|0)+12}c[H>>2]=(c[H>>2]|0)+1}}else c[(c[C>>2]|0)+56>>2]=0;while(0);Tf(c[c[A>>2]>>2]|0,c[F>>2]|0)}else R=3;while(0);if((R|0)==3)c[L>>2]=SA(c[A>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[m>>2]|0)|0;RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[L>>2];R=c[z>>2]|0;i=S;return R|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;l=o+8|0;k=o+4|0;m=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(XA(c[g>>2]|0)|0)){RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=o;return}if(c[(c[g>>2]|0)+4>>2]&2048){c[n>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=dB(c[f>>2]|0,c[g>>2]|0,0,0)|0;jx(c[n>>2]|0,84,c[l>>2]|0,c[h>>2]|0,(c[j>>2]|0)-1|0)|0;i=o;return}c[m>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;RA(c[f>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,(c[h>>2]|0)+(c[k>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1}i=o;return}function RD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+10>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+10>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+16>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+4>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+16>>2]|0)*48|0);g=(c[j>>2]|0)+14|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+14>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function SD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;m=A+60|0;n=A+56|0;o=A+52|0;C=A+48|0;p=A+44|0;r=A+66|0;l=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;q=A+24|0;x=A+20|0;s=A+16|0;z=A+12|0;k=A+8|0;w=A+4|0;u=A;c[m>>2]=d;c[n>>2]=f;c[o>>2]=g;c[C>>2]=h;c[p>>2]=j;c[y>>2]=c[(c[m>>2]|0)+8>>2];c[t>>2]=c[(c[n>>2]|0)+64>>2];b[r>>1]=b[(c[t>>2]|0)+24>>1]|0;b[l>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+8>>2];c[x>>2]=(c[(c[m>>2]|0)+44>>2]|0)+1;c[s>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[m>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[s>>2]|0);j=c[c[m>>2]>>2]|0;c[z>>2]=qh(j,CC(c[c[m>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[l>>1]|0){c[k>>2]=c[(c[n>>2]|0)+8>>2];Sz(c[y>>2]|0,(c[o>>2]|0)!=0?53:57,c[k>>2]|0)|0;c[q>>2]=fx(c[y>>2]|0,13)|0;C=Ih(c[y>>2]|0,(c[o>>2]|0)!=0?23:26,c[k>>2]|0,0,c[x>>2]|0,e[l>>1]|0)|0;c[(c[n>>2]|0)+20>>2]=C;Zz(c[y>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[l>>1]|0))break a;jx(c[y>>2]|0,96,c[k>>2]|0,c[q>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[l>>1];while(1){if((c[q>>2]|0)>=(e[r>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2];c[w>>2]=PD(c[m>>2]|0,c[v>>2]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[q>>2]|0)|0))if((c[s>>2]|0)==1){xx(c[m>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{ix(c[y>>2]|0,85,c[w>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);g=c[v>>2]|0;if(e[(c[v>>2]|0)+12>>1]&1){if((c[z>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&2048|0)!=0:0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}else if(!(e[g+12>>1]&256)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+10>>1]&2048|0)==0?(oB(c[u>>2]|0)|0)!=0:0)ix(c[y>>2]|0,34,(c[x>>2]|0)+(c[q>>2]|0)|0,c[(c[n>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((rB(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65;if(cE(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[p>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function TD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+10>>1]|0)&256)){i=k;return}c[j>>2]=eA(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[j>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;i=k;return}function UD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=pB(c[f>>2]|0,c[j>>2]|0)|0;if(!(((rB(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?(cE(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)==0:0))a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=65;c[j>>2]=(c[j>>2]|0)+1}i=l;return}function VD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}mx(c[l>>2]|0,98,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function WD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];jx(c[n>>2]|0,128,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+40>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;if(c[f+92>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=sh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Mh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function XD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=TA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}ix(c[(c[g>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function YD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function ZD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=_D(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+12>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=$D(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function _D(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=$D(c[k>>2]|0)|0;i=q;return r|0}function $D(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+20>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+28>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(Ky(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+12>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=ky(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+12>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+12>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(aE(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=sB(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+12>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function aE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=bE(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function bE(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=ey(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=rB(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=rB(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function cE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 134:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 132:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 133:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;sA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function eE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;f=p+24|0;g=p+20|0;m=p+16|0;k=p+30|0;l=p+28|0;h=p+12|0;j=p+8|0;o=p+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+8>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=p;return}sA(c[f>>2]|0,34684,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=fE(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)sA(c[f>>2]|0,34687,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?34693:34698;c[n>>2]=c[o>>2];rA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+2>>1]|0,c[j>>2]|0,c[h>>2]|0,34615);c[h>>2]=1}if(c[(c[g>>2]|0)+36>>2]&16)gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+4>>1]|0,c[j>>2]|0,c[h>>2]|0,34617);sA(c[f>>2]|0,34706,1);i=p;return}function fE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=34712;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=24745;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function gE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;p=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;if(c[p>>2]|0)sA(c[h>>2]|0,34687,5);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);p=c[h>>2]|0;dE(p,fE(c[j>>2]|0,(c[l>>2]|0)+(c[n>>2]|0)|0)|0);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)>1)sA(c[h>>2]|0,34706,1);sA(c[h>>2]|0,c[m>>2]|0,1);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);sA(c[h>>2]|0,20275,1);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)<=1){i=o;return}sA(c[h>>2]|0,34706,1);i=o;return}function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=xB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function iE(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+20>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+12>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+28>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+28>>2]<<4)+13>>0]|0;if(aE(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function jE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Vw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function kE(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=sh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function lE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j+16|0;h=j;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if((d[c[g>>2]>>0]|0|0)==152){g=OD(c[f>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=C;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if(c[(c[g>>2]|0)+16>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;a=C}else{b=0;a=0}k=h;c[k>>2]=b;c[k+4>>2]=a;if(c[(c[g>>2]|0)+12>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;k=h;c[k>>2]=c[l>>2]|b;c[k+4>>2]=a}if(!(c[(c[g>>2]|0)+4>>2]&2048)){if(c[(c[g>>2]|0)+20>>2]|0){g=KD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}}else{g=mE(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=KD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=KD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=KD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=lE(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=lE(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=mE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=lE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function nE(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function oE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+160|0;Z=ca+149|0;n=ca+124|0;o=ca+120|0;p=ca+116|0;q=ca+140|0;r=ca+138|0;s=ca+112|0;t=ca+108|0;W=ca+148|0;U=ca+147|0;V=ca+146|0;E=ca+145|0;w=ca+144|0;D=ca+143|0;y=ca+136|0;I=ca+134|0;H=ca+132|0;J=ca+130|0;B=ca+104|0;_=ca+100|0;F=ca+96|0;A=ca+92|0;z=ca+88|0;P=ca+84|0;R=ca+80|0;Q=ca+76|0;N=ca+72|0;O=ca+68|0;v=ca+64|0;aa=ca+40|0;K=ca+32|0;L=ca+24|0;T=ca+16|0;X=ca+60|0;Y=ca+56|0;u=ca+142|0;x=ca+128|0;S=ca+52|0;M=ca+48|0;G=ca+8|0;$=ca;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[P>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=aa;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}b[J>>1]=c[c[o>>2]>>2];if((e[J>>1]|0)>63){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}a[E>>0]=1;f=WR(1,0,e[J>>1]|0)|0;f=QR(f|0,C|0,1,0)|0;j=K;c[j>>2]=f;c[j+4>>2]=C;j=L;c[j>>2]=0;c[j+4>>2]=0;j=T;c[j>>2]=0;c[j+4>>2]=0;b[y>>1]=386;if(e[q>>1]&2048)b[y>>1]=e[y>>1]|1;c[B>>2]=0;a:while(1){if(!(d[E>>0]|0))break;f=aa;h=c[f+4>>2]|0;j=K;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[B>>2]|0)>(e[r>>1]|0))break;if((c[B>>2]|0)>0){m=(c[P>>2]|0)+8|0;h=T;f=c[h+4>>2]|c[m+4>>2];j=T;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[B>>2]|0)<(e[r>>1]|0)){c[P>>2]=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[B>>2]<<2)>>2];if(!(e[q>>1]&2048))ba=17}else{c[P>>2]=c[s>>2];ba=17}b:do if((ba|0)==17){ba=0;k=c[P>>2]|0;if(c[(c[P>>2]|0)+36>>2]&1024){ba=18;break a}c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;c:do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0,(d[c[Q>>2]>>0]|0)==152):0)?(c[(c[Q>>2]|0)+28>>2]|0)==(c[A>>2]|0):0)?(j=T,c[R>>2]=ZD((c[n>>2]|0)+80|0,c[A>>2]|0,b[(c[Q>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],e[y>>1]|0,0)|0,(c[R>>2]|0)!=0):0){if((e[(c[R>>2]|0)+12>>1]|0)==1){c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break;if((c[R>>2]|0)==(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break}do if(e[(c[R>>2]|0)+12>>1]&130){if((b[(c[Q>>2]|0)+32>>1]|0)<0)break;c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[X>>2]=c[c[N>>2]>>2];c[N>>2]=fy(c[c[n>>2]>>2]|0,c[c[R>>2]>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[Y>>2]=c[c[N>>2]>>2];if(ig(c[X>>2]|0,c[Y>>2]|0)|0)break c}while(0);m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[_>>2]=(c[_>>2]|0)+1}if(!(c[(c[P>>2]|0)+36>>2]&4096)){if(c[(c[P>>2]|0)+36>>2]&256){c[O>>2]=0;b[I>>1]=0;b[H>>1]=1}else{j=c[(c[P>>2]|0)+24+8>>2]|0;c[O>>2]=j;if(!j){ba=46;break a}if((d[(c[O>>2]|0)+55>>0]|0)>>>2&1){ba=46;break a}b[I>>1]=b[(c[O>>2]|0)+50>>1]|0;b[H>>1]=b[(c[O>>2]|0)+52>>1]|0;a[E>>0]=(d[(c[O>>2]|0)+54>>0]|0)!=0}a[W>>0]=0;a[U>>0]=0;a[w>>0]=0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[H>>1]|0))break;a[u>>0]=1;d:do if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0)?(c[F>>2]|0)>=(e[(c[P>>2]|0)+42>>1]|0):0){b[x>>1]=b[(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0)+12>>1]|0;k=e[x>>1]|0;if(e[x>>1]&e[y>>1]){if(!(k&256))break;a[E>>0]=0;break}if(!(k&1)){ba=61;break}c[S>>2]=c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]>>2];c[_>>2]=(c[F>>2]|0)+1;while(1){if((c[_>>2]|0)>=(e[(c[P>>2]|0)+24>>1]|0)){ba=61;break d}if((c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[_>>2]<<2)>>2]>>2]|0)==(c[S>>2]|0))break;c[_>>2]=(c[_>>2]|0)+1}a[u>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(c[O>>2]|0){c[z>>2]=b[(c[(c[O>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];a[V>>0]=a[(c[(c[O>>2]|0)+28>>2]|0)+(c[F>>2]|0)>>0]|0;if((c[z>>2]|0)!=(b[(c[(c[O>>2]|0)+12>>2]|0)+32>>1]|0))break;c[z>>2]=-1}else{c[z>>2]=-1;a[V>>0]=0}while(0);do if((d[E>>0]|0)!=0&(c[z>>2]|0)>=0){if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0))break;if(d[(c[(c[(c[O>>2]|0)+12>>2]|0)+4>>2]|0)+(c[z>>2]<<4)+12>>0]|0)break;a[E>>0]=0}while(0);a[D>>0]=0;c[_>>2]=0;e:while(1){if(!(d[u>>0]|0))break;if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&192))a[u>>0]=0;k=c[Q>>2]|0;if((c[z>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[Q>>2]|0)+28>>2]|0)!=(c[A>>2]|0))break;if((b[(c[Q>>2]|0)+32>>1]|0)!=(c[z>>2]|0))break}else if(Ky(k,c[(c[(c[(c[O>>2]|0)+40>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0,c[A>>2]|0)|0)break;if((c[z>>2]|0)<0){ba=84;break e}c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[N>>2]>>2]|0,c[(c[(c[O>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);c[_>>2]=(c[_>>2]|0)+1}if((ba|0)==84){ba=0;a[D>>0]=1}do if(d[D>>0]|0){if(e[q>>1]&64)break;if(a[W>>0]|0){if((d[U>>0]^d[V>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0]|0))break;a[D>>0]=0;break}a[U>>0]=d[V>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0];if(a[U>>0]|0){m=WR(1,0,c[B>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[W>>0]=1}while(0);if(!(a[D>>0]|0)){ba=98;break}if((c[z>>2]|0)==-1)a[w>>0]=1;m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[F>>2]=(c[F>>2]|0)+1}do if((ba|0)==98){ba=0;if((c[F>>2]|0)!=0?(c[F>>2]|0)>=(e[I>>1]|0):0)break;a[E>>0]=0}while(0);if(a[w>>0]|0)a[E>>0]=1}if(a[E>>0]|0){m=(c[P>>2]|0)+8|0;h=L;f=c[h+4>>2]|c[m+4>>2];j=L;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break b;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[M>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2];f=lE((c[n>>2]|0)+488|0,c[M>>2]|0)|0;j=G;c[j>>2]=f;c[j+4>>2]=C;j=G;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?($A(c[M>>2]|0)|0)==0:0)break;f=G;j=L;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[_>>2]=(c[_>>2]|0)+1}}}while(0);c[B>>2]=(c[B>>2]|0)+1}if((ba|0)==18){if(a[k+24+5>>0]|0){X=K;Y=c[X+4>>2]|0;ba=aa;c[ba>>2]=c[X>>2];c[ba+4>>2]=Y}}else if((ba|0)==46){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}Y=aa;ba=K;if((c[Y>>2]|0)==(c[ba>>2]|0)?(c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){a[Z>>0]=b[J>>1];ba=a[Z>>0]|0;i=ca;return ba|0}if(a[E>>0]|0){a[Z>>0]=-1;ba=a[Z>>0]|0;i=ca;return ba|0}c[_>>2]=(e[J>>1]|0)-1;while(1){if((c[_>>2]|0)<=0){ba=122;break}Y=WR(1,0,c[_>>2]|0)|0;Y=QR(Y|0,C|0,1,0)|0;X=$;c[X>>2]=Y;c[X+4>>2]=C;X=aa;Y=$;ba=$;k=c[_>>2]|0;if((c[X>>2]&c[Y>>2]|0)==(c[ba>>2]|0)?(c[X+4>>2]&c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){ba=120;break}c[_>>2]=k+-1}if((ba|0)==120){a[Z>>0]=k;ba=a[Z>>0]|0;i=ca;return ba|0}else if((ba|0)==122){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}return 0}function pE(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+40>>1]&16384|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+16>>1]|0;o=(qE(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function qE(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function rE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=i;i=i+128|0;k=D+108|0;l=D+104|0;m=D+48|0;F=D+40|0;A=D+100|0;G=D+96|0;y=D+92|0;z=D+88|0;E=D+84|0;w=D+80|0;v=D+76|0;n=D+72|0;x=D+68|0;p=D+32|0;s=D+112|0;B=D+64|0;C=D+60|0;t=D+24|0;q=D+16|0;o=D+56|0;r=D+8|0;u=D;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=F;c[e>>2]=h;c[e+4>>2]=j;c[A>>2]=0;c[G>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[G>>2]>>2];c[z>>2]=c[(c[l>>2]|0)+4>>2];c[x>>2]=c[(c[l>>2]|0)+12>>2];c[E>>2]=(c[(c[G>>2]|0)+4>>2]|0)+8+((d[(c[x>>2]|0)+16>>0]|0)*72|0);e=F;c[w>>2]=NE(c[y>>2]|0,c[z>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[(c[l>>2]|0)+8>>2]|0,s)|0;if(!(c[w>>2]|0)){c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}b[(c[x>>2]|0)+18>>1]=0;c[(c[x>>2]|0)+36>>2]=1024;b[(c[x>>2]|0)+40>>1]=0;a[(c[x>>2]|0)+24+4>>0]=0;c[v>>2]=c[c[w>>2]>>2];if(jE(c[c[y>>2]>>2]|0,c[x>>2]|0,c[v>>2]|0)|0){Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}G=m;c[A>>2]=OE(c[l>>2]|0,c[G>>2]|0,c[G+4>>2]|0,-1,-1,0,c[w>>2]|0,b[s>>1]|0,n)|0;if((c[A>>2]|0)==0?(E=c[x>>2]|0,G=m,F=c[E>>2]&~c[G>>2],G=c[E+4>>2]&~c[G+4>>2],E=p,c[E>>2]=F,c[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){c[B>>2]=0;c[C>>2]=0;G=t;c[G>>2]=0;c[G+4>>2]=0;G=q;c[G>>2]=0;c[G+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[A>>2]=OE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[w>>2]|0,b[s>>1]|0,n)|0,e=c[x>>2]|0,E=m,F=c[e+4>>2]&~c[E+4>>2],G=q,c[G>>2]=c[e>>2]&~c[E>>2],c[G+4>>2]=F,G=q,(c[G>>2]|0)==0&(c[G+4>>2]|0)==0):0){c[B>>2]=1;c[C>>2]=1}while(1){if(c[A>>2]|0)break;G=r;c[G>>2]=-1;c[G+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[v>>2]|0))break;E=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=m;e=c[E+4>>2]&~c[G+4>>2];F=u;c[F>>2]=c[E>>2]&~c[G>>2];c[F+4>>2]=e;F=u;e=c[F+4>>2]|0;G=t;E=c[G+4>>2]|0;if(e>>>0>E>>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0>(c[G>>2]|0)>>>0:0)?(F=u,e=c[F+4>>2]|0,G=r,E=c[G+4>>2]|0,e>>>0>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0){E=u;F=c[E+4>>2]|0;G=r;c[G>>2]=c[E>>2];c[G+4>>2]=F}c[o>>2]=(c[o>>2]|0)+1}E=r;F=c[E+4>>2]|0;G=t;c[G>>2]=c[E>>2];c[G+4>>2]=F;G=r;if((c[G>>2]|0)==-1?(c[G+4>>2]|0)==-1:0)break;F=r;G=p;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;F=r;G=q;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;E=m;G=r;F=m;c[A>>2]=OE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[G>>2]|c[F>>2],c[G+4>>2]|c[F+4>>2],0,c[w>>2]|0,b[s>>1]|0,n)|0;F=c[x>>2]|0;G=m;if(!((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0))continue;c[B>>2]=1;if(c[n>>2]|0)continue;c[C>>2]=1}if((c[A>>2]|0)==0&(c[B>>2]|0)==0?(F=m,G=m,c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,0,c[w>>2]|0,b[s>>1]|0,n)|0,(c[n>>2]|0)==0):0)c[C>>2]=1;if((c[A>>2]|0)==0&(c[C>>2]|0)==0){F=m;G=m;c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,1,c[w>>2]|0,b[s>>1]|0,n)|0}}if(c[(c[w>>2]|0)+28>>2]|0)Kd(c[(c[w>>2]|0)+24>>2]|0);Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=c[A>>2];G=c[k>>2]|0;i=D;return G|0}function sE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+160|0;j=J+144|0;k=J+8|0;E=J+140|0;v=J+136|0;H=J+80|0;m=J+156|0;l=J+154|0;K=J+72|0;w=J+68|0;u=J+64|0;I=J+60|0;p=J+56|0;n=J+52|0;G=J+152|0;F=J+150|0;A=J+48|0;x=J+44|0;t=J+40|0;y=J+36|0;D=J+32|0;r=J;s=J+148|0;q=J+28|0;o=J+24|0;B=J+20|0;z=J+16|0;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[I>>2]=0;c[p>>2]=1;c[u>>2]=c[(c[j>>2]|0)+12>>2];c[E>>2]=c[c[j>>2]>>2];c[K>>2]=c[(c[E>>2]|0)+4>>2];c[w>>2]=(c[K>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[x>>2]=c[(c[w>>2]|0)+16>>2];c[A>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[w>>2]|0)+68>>2]|0)c[v>>2]=c[(c[w>>2]|0)+68>>2];else{if(d[(c[x>>2]|0)+42>>0]&32){c[v>>2]=c[(c[x>>2]|0)+8>>2];break}g=H;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[H+50>>1]=1;b[H+52>>1]=1;c[H+4>>2]=l;c[H+8>>2]=m;a[H+54>>0]=5;c[H+12>>2]=c[x>>2];b[H+48>>1]=b[(c[x>>2]|0)+40>>1]|0;b[m>>1]=b[(c[x>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[t>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[w>>2]|0)+36+1>>0]&1))c[H+20>>2]=c[t>>2];c[v>>2]=H}while(0);b[G>>1]=b[(c[x>>2]|0)+38>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[E>>2]|0)+40>>1]&32|0)==0:0)?(c[(c[c[c[E>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(a[(c[w>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[D>>2]=(c[(c[A>>2]|0)+20>>2]|0)+((c[(c[A>>2]|0)+12>>2]|0)*48|0);c[y>>2]=c[(c[A>>2]|0)+20>>2];while(1){if(c[I>>2]|0)break a;if((c[y>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break a;H=(c[y>>2]|0)+32|0;K=(c[u>>2]|0)+8|0;if(!((c[H>>2]&c[K>>2]|0)!=0?1:(c[H+4>>2]&c[K+4>>2]|0)!=0)?(iE(c[y>>2]|0,c[w>>2]|0,0,0)|0)!=0:0){b[(c[u>>2]|0)+24>>1]=1;b[(c[u>>2]|0)+42>>1]=0;c[(c[u>>2]|0)+24+8>>2]=0;b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];b[(c[u>>2]|0)+18>>1]=(b[F>>1]|0)+(b[G>>1]|0)+4;if((c[(c[x>>2]|0)+12>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&2|0)==0:0){K=(c[u>>2]|0)+18|0;b[K>>1]=(b[K>>1]|0)+24}if((b[(c[u>>2]|0)+18>>1]|0)<0)b[(c[u>>2]|0)+18>>1]=0;b[(c[u>>2]|0)+22>>1]=43;m=nE(b[F>>1]|0,b[(c[u>>2]|0)+22>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=m;c[(c[u>>2]|0)+36>>2]=16384;m=k;t=(c[y>>2]|0)+32|0;H=c[m+4>>2]|c[t+4>>2];K=c[u>>2]|0;c[K>>2]=c[m>>2]|c[t>>2];c[K+4>>2]=H;c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0}c[y>>2]=(c[y>>2]|0)+48}}while(0);b:while(1){if(!((c[I>>2]|0)==0?(c[v>>2]|0)!=0:0)){g=57;break}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(BE(c[(c[w>>2]|0)+44>>2]|0,c[A>>2]|0,c[(c[v>>2]|0)+36>>2]|0)|0)==0:0)){b[G>>1]=b[c[(c[v>>2]|0)+8>>2]>>1]|0;b[(c[u>>2]|0)+24>>1]=0;b[(c[u>>2]|0)+24+2>>1]=0;b[(c[u>>2]|0)+24+4>>1]=0;b[(c[u>>2]|0)+42>>1]=0;b[(c[u>>2]|0)+40>>1]=0;a[(c[u>>2]|0)+17>>0]=0;b[(c[u>>2]|0)+18>>1]=0;F=k;H=c[F+4>>2]|0;K=c[u>>2]|0;c[K>>2]=c[F>>2];c[K+4>>2]=H;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;c[(c[u>>2]|0)+24+8>>2]=c[v>>2];c[n>>2]=CE(c[j>>2]|0,c[v>>2]|0,c[(c[w>>2]|0)+44>>2]|0)|0;do if((c[(c[v>>2]|0)+44>>2]|0)<=0){c[(c[u>>2]|0)+36>>2]=256;a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+16;DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}else{if((d[(c[v>>2]|0)+55>>0]|0)>>>5&1){c[(c[u>>2]|0)+36>>2]=576;K=r;c[K>>2]=0;c[K+4>>2]=0}else{H=(c[w>>2]|0)+56|0;D=c[H>>2]|0;H=c[H+4>>2]|0;F=EE(c[v>>2]|0)|0;K=r;c[K>>2]=D&~F;c[K+4>>2]=H&~C;K=r;c[(c[u>>2]|0)+36>>2]=(c[K>>2]|0)==0&(c[K+4>>2]|0)==0?576:512}if(((c[n>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?(c[(c[v>>2]|0)+36>>2]|0)==0:0){K=r;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0))break;if((d[(c[v>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[v>>2]|0)+48>>1]|0)>=(b[(c[x>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[E>>2]|0)+40>>1]&4|0)==0:0))break;if(e[(c[c[c[E>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+1+(((b[(c[v>>2]|0)+48>>1]|0)*15|0)/(b[(c[x>>2]|0)+40>>1]|0)|0);K=r;if((c[K>>2]|0)!=0|(c[K+4>>2]|0)!=0){b[s>>1]=(b[G>>1]|0)+16;c[o>>2]=c[(c[w>>2]|0)+44>>2];c[B>>2]=(c[E>>2]|0)+80;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0))break;c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);if(!(FE(c[c[z>>2]>>2]|0,c[o>>2]|0,c[v>>2]|0)|0))break;if((b[(c[z>>2]|0)+8>>1]|0)>0){b[s>>1]=(b[s>>1]|0)+-1<<16>>16;if(e[(c[z>>2]|0)+12>>1]&130)b[s>>1]=(b[s>>1]|0)-19}else b[s>>1]=(b[s>>1]|0)+(b[(c[z>>2]|0)+8>>1]|0);c[q>>2]=(c[q>>2]|0)+1}K=nE(b[(c[u>>2]|0)+20>>1]|0,b[s>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=K}DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}while(0);c[I>>2]=GE(c[j>>2]|0,c[w>>2]|0,c[v>>2]|0,0)|0;if(c[(c[w>>2]|0)+68>>2]|0){g=57;break}}c[v>>2]=c[(c[v>>2]|0)+20>>2];c[p>>2]=(c[p>>2]|0)+1}if((g|0)==57){i=J;return c[I>>2]|0}return 0}function tE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+12>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+28>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+28>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+12>>1]&1024)){if((c[g+20>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=28;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+28>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=rE(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=sE(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=tE(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){uE(F,C);c[s>>2]=0;break}uE(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=nE(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;vE(F,k,f,l,nE(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=wE(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function uE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;TR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function vE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function wE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;vE(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}xE(c[(c[m>>2]|0)+56>>2]|0,c[g>>2]|0);c[n>>2]=yE((c[m>>2]|0)+56|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Vw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){yD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=yE(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];vD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=zE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+8>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+8>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function xE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(AE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(AE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function yE(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function zE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;xD(c[l>>2]|0,c[g>>2]|0);d=(jE(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));TR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+8>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function AE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function BE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=28)break;if(!(BE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(ME(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function CE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=ky(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Ky(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function DE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+10>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+16>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+16>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+8>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+8>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+12>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(Fy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function EE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=WR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function FE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;h=g+44|0;l=g+40|0;k=g+36|0;f=g+8|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[j+4>>2]=c[l>>2];c[j>>2]=c[k>>2];c[f+4>>2]=199;c[f+24>>2]=j;wy(f,c[h>>2]|0)|0;i=g;return ((a[f+20>>0]|0)!=0^1)&1|0}function GE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=i;i=i+224|0;l=R+180|0;m=R+176|0;n=R+172|0;o=R+168|0;p=R+208|0;S=R+164|0;B=R+160|0;q=R+156|0;A=R+152|0;C=R+148|0;k=R+144|0;Q=R+48|0;O=R;K=R+206|0;J=R+204|0;I=R+202|0;N=R+200|0;M=R+198|0;P=R+40|0;L=R+196|0;H=R+36|0;G=R+194|0;F=R+192|0;D=R+32|0;y=R+28|0;r=R+190|0;E=R+188|0;x=R+186|0;v=R+24|0;z=R+20|0;s=R+16|0;t=R+12|0;u=R+8|0;w=R+184|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[S>>2]=c[c[m>>2]>>2];c[B>>2]=c[c[S>>2]>>2];c[q>>2]=c[c[B>>2]>>2];c[H>>2]=0;c[D>>2]=0;c[y>>2]=0;c[A>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;S=c[l>>2]|0;i=R;return S|0}if(c[(c[A>>2]|0)+36>>2]&32)c[k>>2]=24;else c[k>>2]=447;if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[J>>1]=b[(c[A>>2]|0)+24>>1]|0;b[I>>1]=b[(c[A>>2]|0)+24+2>>1]|0;b[N>>1]=b[(c[A>>2]|0)+24+4>>1]|0;b[M>>1]=b[(c[A>>2]|0)+42>>1]|0;b[K>>1]=b[(c[A>>2]|0)+40>>1]|0;c[P>>2]=c[(c[A>>2]|0)+36>>2];h=c[A>>2]|0;g=c[h+4>>2]|0;S=O;c[S>>2]=c[h>>2];c[S+4>>2]=g;b[L>>1]=b[(c[A>>2]|0)+22>>1]|0;c[C>>2]=_D(Q,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[J>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[A>>2]|0)+18>>1]=0;b[G>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:while(1){if(!((c[H>>2]|0)==0?(c[C>>2]|0)!=0:0))break;b[r>>1]=b[(c[C>>2]|0)+12>>1]|0;c[v>>2]=0;if((e[r>>1]|0)!=256?(e[(c[C>>2]|0)+10>>1]&0|0)==0:0)j=13;else j=12;if((j|0)==12?(j=0,(HE(c[o>>2]|0,e[J>>1]|0)|0)==0):0)j=13;do if((j|0)==13?(0,g=(c[C>>2]|0)+32|0,S=(c[A>>2]|0)+8|0,!((c[g>>2]&c[S>>2]|0)!=0?1:(c[g+4>>2]&c[S+4>>2]|0)!=0)):0){if((e[(c[C>>2]|0)+10>>1]&256|0)!=0?(e[(c[C>>2]|0)+12>>1]|0)==16:0)break;if(((d[(c[n>>2]|0)+36>>0]&8|0)!=0?(c[(c[c[C>>2]>>2]|0)+4>>2]&1|0)==0:0)?(e[r>>1]&384|0)!=0:0)break;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[C>>2]|0;h=(c[A>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=O;f=(c[C>>2]|0)+32|0;h=(c[A>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];S=c[A>>2]|0;c[S>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[S+4>>2]=g;b:do if(!(e[r>>1]&1)){if(e[r>>1]&130){c[t>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|1;if((c[t>>2]|0)!=-1){if((c[t>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[J>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[t>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|65536;break}S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4096;break}if(e[r>>1]&256){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|8;break}j=(c[A>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+2>>1]=S;c[y>>2]=c[C>>2];c[D>>2]=0;if(!(e[(c[C>>2]|0)+10>>1]&256))break;c[D>>2]=(c[C>>2]|0)+48;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[D>>2]|0;h=(c[A>>2]|0)+40|0;S=b[h>>1]|0;b[h>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=g;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|16;b[(c[A>>2]|0)+24+4>>1]=1;break}else{c[j>>2]=k|18;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+4>>1]=S;c[D>>2]=c[C>>2];if(c[(c[A>>2]|0)+36>>2]&32)j=c[(c[(c[A>>2]|0)+48>>2]|0)+((e[(c[A>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[y>>2]=j;break}}else{c[z>>2]=c[c[C>>2]>>2];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4;if(!(c[(c[z>>2]|0)+4>>2]&2048)){if(!(c[(c[z>>2]|0)+20>>2]|0))break;if(!(c[c[(c[z>>2]|0)+20>>2]>>2]|0))break;S=c[c[(c[z>>2]|0)+20>>2]>>2]|0;c[v>>2]=(Mj(S,((S|0)<0)<<31>>31)|0)<<16>>16;break}c[v>>2]=46;c[s>>2]=0;while(1){if((c[s>>2]|0)>=((e[(c[A>>2]|0)+40>>1]|0)-1|0))break b;if((c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]>>2]|0)==(c[z>>2]|0):0)c[v>>2]=0;c[s>>2]=(c[s>>2]|0)+1}}while(0);do if(!(c[(c[A>>2]|0)+36>>2]&2)){g=(c[A>>2]|0)+24|0;S=(b[g>>1]|0)+1<<16>>16;b[g>>1]=S;c[u>>2]=S&65535;if((b[(c[C>>2]|0)+8>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1]|0)>=0:0){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+(b[(c[C>>2]|0)+8>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(c[v>>2]|0);break}S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+10}}else JE(c[B>>2]|0,c[m>>2]|0,c[y>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;while(0);b[E>>1]=(b[(c[A>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=nE(b[F>>1]|0,b[E>>1]|0)|0;b[(c[A>>2]|0)+20>>1]=S;if(!(c[(c[A>>2]|0)+36>>2]&320)){S=nE(b[(c[A>>2]|0)+20>>1]|0,(b[(c[A>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[A>>2]|0)+20>>1]=S}b[x>>1]=b[(c[A>>2]|0)+22>>1]|0;S=(c[A>>2]|0)+20|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));DE(c[(c[m>>2]|0)+4>>2]|0,c[A>>2]|0,b[G>>1]|0);c[H>>2]=wE(c[m>>2]|0,c[A>>2]|0)|0;if(c[(c[A>>2]|0)+36>>2]&2)b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;else b[(c[A>>2]|0)+22>>1]=b[x>>1]|0;if((c[(c[A>>2]|0)+36>>2]&16|0)==0?(e[(c[A>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[v>>2]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0}while(0);c[C>>2]=$D(Q)|0}Q=c[O+4>>2]|0;S=c[A>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=Q;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(((((e[J>>1]|0)==(e[M>>1]|0)?((e[J>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0,c[H>>2]=S,(S|0)==0):0){Q=(c[A>>2]|0)+24|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+42|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+40|0;S=b[Q>>1]|0;b[Q>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=0;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|32768;b[w>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[J>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(b[w>>1]|0);b[w>>1]=(b[w>>1]|0)+5;GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[w>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2]}c[l>>2]=c[H>>2];S=c[l>>2]|0;i=R;return S|0}function HE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function IE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;s=x+16|0;w=x+12|0;q=x+41|0;r=x+40|0;t=x+8|0;u=x+4|0;v=x;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[s>>2]=cz(c[(c[c[p>>2]>>2]|0)+12>>2]|0)|0;if((c[s>>2]|0)<((e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0))g=c[s>>2]|0;else g=(e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0;c[s>>2]=g;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[s>>2]|0)){g=17;break}a[r>>0]=0;c[u>>2]=c[(c[(c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[v>>2]=c[(c[c[p>>2]>>2]|0)+16>>2];g=c[w>>2]|0;j=(c[v>>2]|0)+20|0;if(c[(c[v>>2]|0)+4>>2]&2048)c[v>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+(g*20|0)>>2];else c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(g*20|0)>>2];if((d[c[u>>2]>>0]|0)!=152){g=17;break}if((c[(c[u>>2]|0)+28>>2]|0)!=(c[m>>2]|0)){g=17;break}if((b[(c[u>>2]|0)+32>>1]|0)!=(b[(c[(c[n>>2]|0)+4>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<1)>>1]|0)){g=17;break}if((d[(c[(c[n>>2]|0)+28>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0))>>0]|0)!=(d[(c[(c[n>>2]|0)+28>>2]|0)+(c[o>>2]|0)>>0]|0)){g=17;break}k=c[v>>2]|0;a[q>>0]=rB(k,ey(c[u>>2]|0)|0)|0;a[r>>0]=ly(c[(c[n>>2]|0)+12>>2]|0,b[(c[u>>2]|0)+32>>1]|0)|0;if((a[q>>0]|0)!=(a[r>>0]|0)){g=17;break}c[t>>2]=sB(c[l>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;if(!(c[t>>2]|0)){g=17;break}if(ig(c[c[t>>2]>>2]|0,c[(c[(c[n>>2]|0)+32>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<2)>>2]|0)|0){g=17;break}c[w>>2]=(c[w>>2]|0)+1}if((g|0)==17){i=x;return c[w>>2]|0}return 0}function JE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=KE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=KE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+8>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+8>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function KE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+8>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+8>>1]|0);break}if(!(e[d+10>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function LE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[h>>2]=e;c[j>>2]=f;if(((d[c[j>>2]>>0]|0|0)==152?(c[(c[j>>2]|0)+28>>2]|0)==(c[(c[(c[h>>2]|0)+24>>2]|0)+4>>2]|0):0)?((OA(c[c[(c[h>>2]|0)+24>>2]>>2]|0,b[(c[j>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){a[(c[h>>2]|0)+20>>0]=1;c[g>>2]=2;e=c[g>>2]|0;i=k;return e|0}c[g>>2]=0;e=c[g>>2]|0;i=k;return e|0}function ME(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(Ky(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==27){if((ME(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(ME(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Ky(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function NE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;I=J+8|0;n=J+80|0;o=J+76|0;p=J+72|0;q=J;r=J+68|0;s=J+64|0;t=J+60|0;u=J+56|0;v=J+52|0;z=J+48|0;D=J+44|0;F=J+40|0;H=J+36|0;G=J+32|0;y=J+28|0;E=J+24|0;w=J+84|0;x=J+20|0;B=J+16|0;A=J+86|0;C=J+12|0;c[o>>2]=f;c[p>>2]=g;g=q;c[g>>2]=h;c[g+4>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;b[w>>1]=0;c[z>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(g=(c[G>>2]|0)+32|0,m=q,!((c[g>>2]&c[m>>2]|0)!=0?1:(c[g+4>>2]&c[m+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0)c[z>>2]=(c[z>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[y>>2]=0;if(c[s>>2]|0){c[x>>2]=c[c[s>>2]>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break;c[B>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];if((d[c[B>>2]>>0]|0)!=152)break;if((c[(c[B>>2]|0)+28>>2]|0)!=(c[(c[r>>2]|0)+44>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1}if((c[u>>2]|0)==(c[x>>2]|0))c[y>>2]=c[x>>2]}c[E>>2]=sh(c[c[o>>2]>>2]|0,72+((c[z>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[E>>2]|0)){Eh(c[o>>2]|0,25016,I);c[n>>2]=0;I=c[n>>2]|0;i=J;return I|0}c[D>>2]=(c[E>>2]|0)+72;c[F>>2]=(c[D>>2]|0)+((c[z>>2]|0)*12|0);c[H>>2]=(c[F>>2]|0)+(c[y>>2]<<3);c[c[E>>2]>>2]=c[z>>2];c[(c[E>>2]|0)+8>>2]=c[y>>2];c[(c[E>>2]|0)+4>>2]=c[D>>2];c[(c[E>>2]|0)+12>>2]=c[F>>2];c[(c[E>>2]|0)+16>>2]=c[H>>2];c[v>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(m=(c[G>>2]|0)+32|0,I=q,!((c[m>>2]&c[I>>2]|0)!=0?1:(c[m+4>>2]&c[I+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0){c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)>>2]=c[(c[G>>2]|0)+28>>2];c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+8>>2]=c[u>>2];I=b[(c[G>>2]|0)+12>>1]&255;a[A>>0]=I;a[A>>0]=(d[A>>0]|0)==1?2:I;if((d[A>>0]|0)==64)a[A>>0]=a[(c[G>>2]|0)+15>>0]|0;a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=a[A>>0]|0;if((d[A>>0]&60|0)!=0?(XA(c[(c[c[G>>2]>>2]|0)+16>>2]|0)|0)!=0:0){if((c[u>>2]|0)<16)b[w>>1]=e[w>>1]|1<>2];if((d[A>>0]|0)==16)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=8;if((d[A>>0]|0)==4)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=32}c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];c[(c[F>>2]|0)+(c[u>>2]<<3)>>2]=b[(c[C>>2]|0)+32>>1];a[(c[F>>2]|0)+(c[u>>2]<<3)+4>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+12>>0]|0;c[u>>2]=(c[u>>2]|0)+1}b[c[t>>2]>>1]=b[w>>1]|0;c[n>>2]=c[E>>2];I=c[n>>2]|0;i=J;return I|0}function OE(f,g,j,k,l,m,n,o,p){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+96|0;G=N+16|0;I=N+88|0;J=N+84|0;O=N+8|0;s=N;t=N+94|0;K=N+80|0;q=N+92|0;r=N+76|0;F=N+72|0;z=N+68|0;E=N+64|0;u=N+60|0;x=N+56|0;M=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;y=N+36|0;C=N+32|0;v=N+28|0;D=N+24|0;w=N+20|0;c[J>>2]=f;f=O;c[f>>2]=g;c[f+4>>2]=j;f=s;c[f>>2]=k;c[f+4>>2]=l;b[t>>1]=m;c[K>>2]=n;b[q>>1]=o;c[r>>2]=p;c[F>>2]=c[(c[J>>2]|0)+4>>2];c[E>>2]=c[(c[K>>2]|0)+16>>2];c[M>>2]=0;c[L>>2]=c[(c[J>>2]|0)+12>>2];c[A>>2]=c[c[c[J>>2]>>2]>>2];c[B>>2]=(c[(c[c[J>>2]>>2]|0)+4>>2]|0)+8+((d[(c[L>>2]|0)+16>>0]|0)*72|0);c[y>>2]=c[c[K>>2]>>2];c[c[r>>2]>>2]=0;f=O;n=c[f+4>>2]|0;p=c[L>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=n;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+8>>2]|0)*48|0);a[(c[z>>2]|0)+5>>0]=0;n=(c[C>>2]|0)+32|0;p=s;O=(c[C>>2]|0)+32|0;if(((c[n>>2]&c[p>>2]|0)==(c[O>>2]|0)?(c[n+4>>2]&c[p+4>>2]|0)==(c[O+4>>2]|0):0)?(e[(c[C>>2]|0)+12>>1]&e[t>>1]|0)==0:0)a[(c[z>>2]|0)+5>>0]=1;c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}VR(c[E>>2]|0,0,c[y>>2]<<3|0)|0;c[(c[K>>2]|0)+24>>2]=0;c[(c[K>>2]|0)+20>>2]=0;c[(c[K>>2]|0)+32>>2]=0;h[(c[K>>2]|0)+40>>3]=5.e+98;C=(c[K>>2]|0)+48|0;c[C>>2]=25;c[C+4>>2]=0;c[(c[K>>2]|0)+56>>2]=0;C=(c[B>>2]|0)+56|0;p=c[C+4>>2]|0;O=(c[K>>2]|0)+64|0;c[O>>2]=c[C>>2];c[O+4>>2]=p;c[M>>2]=PE(c[A>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[K>>2]|0)|0;if(c[M>>2]|0){c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}c[x>>2]=-1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[u>>2]<<2)>>2]=0;c[u>>2]=(c[u>>2]|0)+1}b[(c[L>>2]|0)+24+6>>1]=0;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;O=(c[(c[E>>2]|0)+(c[u>>2]<<3)>>2]|0)-1|0;c[v>>2]=O;if((O|0)>=0){c[w>>2]=c[(c[z>>2]|0)+8>>2];if((c[w>>2]|0)<0?1:(c[v>>2]|0)>=(c[y>>2]|0)){H=19;break}if((c[w>>2]|0)>=(c[(c[F>>2]|0)+12>>2]|0)){H=19;break}if(c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]|0){H=19;break}if(!(d[(c[z>>2]|0)+5>>0]|0)){H=19;break}c[D>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0);C=(c[D>>2]|0)+32|0;O=c[L>>2]|0;n=O;p=c[n+4>>2]|c[C+4>>2];c[O>>2]=c[n>>2]|c[C>>2];c[O+4>>2]=p;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]=c[D>>2];if((c[v>>2]|0)>(c[x>>2]|0))c[x>>2]=c[v>>2];if((c[v>>2]|0)<16?(d[(c[E>>2]|0)+(c[u>>2]<<3)+4>>0]|0)!=0:0){O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]|1<>2]}if(e[(c[D>>2]|0)+12>>1]&1){c[(c[K>>2]|0)+32>>2]=0;O=(c[K>>2]|0)+56|0;c[O>>2]=c[O>>2]&-2;c[c[r>>2]>>2]=1}}c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}if((H|0)==19){c[M>>2]=1;O=c[A>>2]|0;c[G>>2]=c[c[(c[B>>2]|0)+16>>2]>>2];Eh(O,34806,G);c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]&~e[q>>1];b[(c[L>>2]|0)+40>>1]=(c[x>>2]|0)+1;c[(c[L>>2]|0)+24>>2]=c[(c[K>>2]|0)+20>>2];a[(c[L>>2]|0)+24+4>>0]=c[(c[K>>2]|0)+28>>2];c[(c[K>>2]|0)+28>>2]=0;c[(c[L>>2]|0)+24+8>>2]=c[(c[K>>2]|0)+24>>2];if(c[(c[K>>2]|0)+32>>2]|0)g=c[(c[K>>2]|0)+8>>2]|0;else g=0;a[(c[L>>2]|0)+24+5>>0]=g;b[(c[L>>2]|0)+18>>1]=0;g=QE(+h[(c[K>>2]|0)+40>>3])|0;b[(c[L>>2]|0)+20>>1]=g;g=(c[K>>2]|0)+48|0;g=Mj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[L>>2]|0)+22>>1]=g;g=(c[L>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[K>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[M>>2]=wE(c[J>>2]|0,c[L>>2]|0)|0;if(a[(c[L>>2]|0)+24+4>>0]|0){Kd(c[(c[L>>2]|0)+24+8>>2]|0);a[(c[L>>2]|0)+24+4>>0]=0}c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}function PE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Ux(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){mh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Eh(d,18391,j);break}else{c[h>>2]=lh(c[g>>2]|0)|0;Eh(d,18391,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+36>>2]|0}function QE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Mj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=SR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=QR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function RE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=ky(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=fy(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0} +function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2261]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2262]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2259]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=9332+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2261]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2261]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2263]|0)){s=(c[2260]|0)+h|0;c[2260]=s;c[2263]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){s=(c[2259]|0)+h|0;c[2259]=s;c[2262]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=9332+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2262]|0)){c[2259]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9068+(e<<2)|0;f=c[2257]|0;d=1<>2]|0;if(e>>>0<(c[2261]|0)>>>0)Ma();else{r=d;s=e}}else{c[2257]=f|d;r=9068+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=9332+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2258]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2261]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2261]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function PR(){}function QR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function RR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function TR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function UR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else TR(b,c,d)|0;return b|0}function VR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function YR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ZR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function _R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=QR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return QR((dS(h,g,QR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function $R(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=QR(h^a,g^b,h,g)|0;b=C;dS(a,b,QR(l^d,k^e,l,k)|0,C,j)|0;e=QR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function aS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ZR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function bS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dS(a,b,c,d,0)|0}function cS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;dS(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function dS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=YR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((YR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=RR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;QR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=QR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function eS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function iT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function jT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function kT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function lT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function mT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function oT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function pT(a){a=a|0;return Pb[a&255]()|0}function qT(){return ga(0)|0}function rT(){return ga(1)|0}function sT(){return ga(2)|0}function tT(){return ga(3)|0}function uT(){return ga(4)|0}function vT(){return ga(5)|0}function wT(){return ga(6)|0}function xT(){return ga(7)|0}function yT(){return ga(8)|0}function zT(){return ga(9)|0}function AT(){return ga(10)|0}function BT(){return ga(11)|0}function CT(){return ga(12)|0}function DT(){return ga(13)|0}function ET(){return ga(14)|0}function FT(){return ga(15)|0}function GT(){return ga(16)|0}function HT(){return ga(17)|0}function IT(){return ga(18)|0}function JT(){return ga(19)|0}function KT(){return ga(20)|0}function LT(){return ga(21)|0}function MT(){return ga(22)|0}function NT(){return ga(23)|0}function OT(){return ga(24)|0}function PT(){return ga(25)|0}function QT(){return ga(26)|0}function RT(){return ga(27)|0}function ST(){return ga(28)|0}function TT(){return ga(29)|0}function UT(){return ga(30)|0}function VT(){return ga(31)|0}function WT(){return ga(32)|0}function XT(){return ga(33)|0}function YT(){return ga(34)|0}function ZT(){return ga(35)|0}function _T(){return ga(36)|0}function $T(){return ga(37)|0}function aU(){return ga(38)|0}function bU(){return ga(39)|0}function cU(){return ga(40)|0}function dU(){return ga(41)|0}function eU(){return ga(42)|0}function fU(){return ga(43)|0}function gU(){return ga(44)|0}function hU(){return ga(45)|0}function iU(){return ga(46)|0}function jU(){return ga(47)|0}function kU(){return ga(48)|0}function lU(){return ga(49)|0}function mU(){return ga(50)|0}function nU(){return ga(51)|0}function oU(){return ga(52)|0}function pU(){return ga(53)|0}function qU(){return ga(54)|0}function rU(){return ga(55)|0}function sU(){return ga(56)|0}function tU(){return ga(57)|0}function uU(){return ga(58)|0}function vU(){return ga(59)|0}function wU(){return ga(60)|0}function xU(){return ga(61)|0}function yU(){return ga(62)|0}function zU(){return ga(63)|0}function AU(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function BU(a){a=a|0;ia(0,a|0)}function CU(a){a=a|0;ia(1,a|0)}function DU(a){a=a|0;ia(2,a|0)}function EU(a){a=a|0;ia(3,a|0)}function FU(a){a=a|0;ia(4,a|0)}function GU(a){a=a|0;ia(5,a|0)}function HU(a){a=a|0;ia(6,a|0)}function IU(a){a=a|0;ia(7,a|0)}function JU(a){a=a|0;ia(8,a|0)}function KU(a){a=a|0;ia(9,a|0)}function LU(a){a=a|0;ia(10,a|0)}function MU(a){a=a|0;ia(11,a|0)}function NU(a){a=a|0;ia(12,a|0)}function OU(a){a=a|0;ia(13,a|0)}function PU(a){a=a|0;ia(14,a|0)}function QU(a){a=a|0;ia(15,a|0)}function RU(a){a=a|0;ia(16,a|0)}function SU(a){a=a|0;ia(17,a|0)}function TU(a){a=a|0;ia(18,a|0)}function UU(a){a=a|0;ia(19,a|0)}function VU(a){a=a|0;ia(20,a|0)}function WU(a){a=a|0;ia(21,a|0)}function XU(a){a=a|0;ia(22,a|0)}function YU(a){a=a|0;ia(23,a|0)}function ZU(a){a=a|0;ia(24,a|0)}function _U(a){a=a|0;ia(25,a|0)}function $U(a){a=a|0;ia(26,a|0)}function aV(a){a=a|0;ia(27,a|0)}function bV(a){a=a|0;ia(28,a|0)}function cV(a){a=a|0;ia(29,a|0)}function dV(a){a=a|0;ia(30,a|0)}function eV(a){a=a|0;ia(31,a|0)}function fV(a){a=a|0;ia(32,a|0)}function gV(a){a=a|0;ia(33,a|0)}function hV(a){a=a|0;ia(34,a|0)}function iV(a){a=a|0;ia(35,a|0)}function jV(a){a=a|0;ia(36,a|0)}function kV(a){a=a|0;ia(37,a|0)}function lV(a){a=a|0;ia(38,a|0)}function mV(a){a=a|0;ia(39,a|0)}function nV(a){a=a|0;ia(40,a|0)}function oV(a){a=a|0;ia(41,a|0)}function pV(a){a=a|0;ia(42,a|0)}function qV(a){a=a|0;ia(43,a|0)}function rV(a){a=a|0;ia(44,a|0)}function sV(a){a=a|0;ia(45,a|0)}function tV(a){a=a|0;ia(46,a|0)}function uV(a){a=a|0;ia(47,a|0)}function vV(a){a=a|0;ia(48,a|0)}function wV(a){a=a|0;ia(49,a|0)}function xV(a){a=a|0;ia(50,a|0)}function yV(a){a=a|0;ia(51,a|0)}function zV(a){a=a|0;ia(52,a|0)}function AV(a){a=a|0;ia(53,a|0)}function BV(a){a=a|0;ia(54,a|0)}function CV(a){a=a|0;ia(55,a|0)}function DV(a){a=a|0;ia(56,a|0)}function EV(a){a=a|0;ia(57,a|0)}function FV(a){a=a|0;ia(58,a|0)}function GV(a){a=a|0;ia(59,a|0)}function HV(a){a=a|0;ia(60,a|0)}function IV(a){a=a|0;ia(61,a|0)}function JV(a){a=a|0;ia(62,a|0)}function KV(a){a=a|0;ia(63,a|0)}function LV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function MV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function LW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function MW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function NW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function OW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function PW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function QW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function RW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function SW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function TW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function UW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function VW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function WW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fY(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function gY(a){a=a|0;return oa(0,a|0)|0}function hY(a){a=a|0;return oa(1,a|0)|0}function iY(a){a=a|0;return oa(2,a|0)|0}function jY(a){a=a|0;return oa(3,a|0)|0}function kY(a){a=a|0;return oa(4,a|0)|0}function lY(a){a=a|0;return oa(5,a|0)|0}function mY(a){a=a|0;return oa(6,a|0)|0}function nY(a){a=a|0;return oa(7,a|0)|0}function oY(a){a=a|0;return oa(8,a|0)|0}function pY(a){a=a|0;return oa(9,a|0)|0}function qY(a){a=a|0;return oa(10,a|0)|0}function rY(a){a=a|0;return oa(11,a|0)|0}function sY(a){a=a|0;return oa(12,a|0)|0}function tY(a){a=a|0;return oa(13,a|0)|0}function uY(a){a=a|0;return oa(14,a|0)|0}function vY(a){a=a|0;return oa(15,a|0)|0}function wY(a){a=a|0;return oa(16,a|0)|0}function xY(a){a=a|0;return oa(17,a|0)|0}function yY(a){a=a|0;return oa(18,a|0)|0}function zY(a){a=a|0;return oa(19,a|0)|0}function AY(a){a=a|0;return oa(20,a|0)|0}function BY(a){a=a|0;return oa(21,a|0)|0}function CY(a){a=a|0;return oa(22,a|0)|0}function DY(a){a=a|0;return oa(23,a|0)|0}function EY(a){a=a|0;return oa(24,a|0)|0}function FY(a){a=a|0;return oa(25,a|0)|0}function GY(a){a=a|0;return oa(26,a|0)|0}function HY(a){a=a|0;return oa(27,a|0)|0}function IY(a){a=a|0;return oa(28,a|0)|0}function JY(a){a=a|0;return oa(29,a|0)|0}function KY(a){a=a|0;return oa(30,a|0)|0}function LY(a){a=a|0;return oa(31,a|0)|0}function MY(a){a=a|0;return oa(32,a|0)|0}function NY(a){a=a|0;return oa(33,a|0)|0}function OY(a){a=a|0;return oa(34,a|0)|0}function PY(a){a=a|0;return oa(35,a|0)|0}function QY(a){a=a|0;return oa(36,a|0)|0}function RY(a){a=a|0;return oa(37,a|0)|0}function SY(a){a=a|0;return oa(38,a|0)|0}function TY(a){a=a|0;return oa(39,a|0)|0}function UY(a){a=a|0;return oa(40,a|0)|0}function VY(a){a=a|0;return oa(41,a|0)|0}function WY(a){a=a|0;return oa(42,a|0)|0}function XY(a){a=a|0;return oa(43,a|0)|0}function YY(a){a=a|0;return oa(44,a|0)|0}function ZY(a){a=a|0;return oa(45,a|0)|0}function _Y(a){a=a|0;return oa(46,a|0)|0}function $Y(a){a=a|0;return oa(47,a|0)|0}function aZ(a){a=a|0;return oa(48,a|0)|0}function bZ(a){a=a|0;return oa(49,a|0)|0}function cZ(a){a=a|0;return oa(50,a|0)|0}function dZ(a){a=a|0;return oa(51,a|0)|0}function eZ(a){a=a|0;return oa(52,a|0)|0}function fZ(a){a=a|0;return oa(53,a|0)|0}function gZ(a){a=a|0;return oa(54,a|0)|0}function hZ(a){a=a|0;return oa(55,a|0)|0}function iZ(a){a=a|0;return oa(56,a|0)|0}function jZ(a){a=a|0;return oa(57,a|0)|0}function kZ(a){a=a|0;return oa(58,a|0)|0}function lZ(a){a=a|0;return oa(59,a|0)|0}function mZ(a){a=a|0;return oa(60,a|0)|0}function nZ(a){a=a|0;return oa(61,a|0)|0}function oZ(a){a=a|0;return oa(62,a|0)|0}function pZ(a){a=a|0;return oa(63,a|0)|0}function qZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function q_(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function r_(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function s_(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function t_(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function u_(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function v_(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function w_(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function x_(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function y_(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function z_(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function A_(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function B_(a){a=a|0;Vb[a&255]()}function C_(){sa(0)}function D_(){sa(1)}function E_(){sa(2)}function F_(){sa(3)}function G_(){sa(4)}function H_(){sa(5)}function I_(){sa(6)}function J_(){sa(7)}function K_(){sa(8)}function L_(){sa(9)}function M_(){sa(10)}function N_(){sa(11)}function O_(){sa(12)}function P_(){sa(13)}function Q_(){sa(14)}function R_(){sa(15)}function S_(){sa(16)}function T_(){sa(17)}function U_(){sa(18)}function V_(){sa(19)}function W_(){sa(20)}function X_(){sa(21)}function Y_(){sa(22)}function Z_(){sa(23)}function __(){sa(24)}function $_(){sa(25)}function a$(){sa(26)}function b$(){sa(27)}function c$(){sa(28)}function d$(){sa(29)}function e$(){sa(30)}function f$(){sa(31)}function g$(){sa(32)}function h$(){sa(33)}function i$(){sa(34)}function j$(){sa(35)}function k$(){sa(36)}function l$(){sa(37)}function m$(){sa(38)}function n$(){sa(39)}function o$(){sa(40)}function p$(){sa(41)}function q$(){sa(42)}function r$(){sa(43)}function s$(){sa(44)}function t$(){sa(45)}function u$(){sa(46)}function v$(){sa(47)}function w$(){sa(48)}function x$(){sa(49)}function y$(){sa(50)}function z$(){sa(51)}function A$(){sa(52)}function B$(){sa(53)}function C$(){sa(54)}function D$(){sa(55)}function E$(){sa(56)}function F$(){sa(57)}function G$(){sa(58)}function H$(){sa(59)}function I$(){sa(60)}function J$(){sa(61)}function K$(){sa(62)}function L$(){sa(63)}function M$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function N0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function O0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function P0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function Q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function R0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function S0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function T0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function U0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function V0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function W0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function X0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function Y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function Z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function _1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function $1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function a2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function b2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function c2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function d2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function e2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function f2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function g2(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function g3(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function h3(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function i3(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function j3(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function k3(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function l3(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function m3(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function n3(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function o3(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function p3(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function q3(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function r3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function s4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function t4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function v4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function w4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function x4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function y4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function z4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function A4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function B4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function C4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function C5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function F5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function G5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function I5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function J5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function K5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function L5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function M5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function N5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function O5(){ba(1);return 0}function P5(a){a=a|0;ba(2)}function Q5(a,b){a=a|0;b=b|0;ba(3)}function R5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function S5(a){a=a|0;ba(5);return 0}function T5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function U5(){ba(7)}function V5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function W5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function X5(a,b){a=a|0;b=b|0;ba(10);return 0}function Y5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} // EMSCRIPTEN_END_FUNCS -var Ob=[s5,s5,MR,s5,NR,s5,OR,s5,PR,s5,QR,s5,RR,s5,SR,s5,TR,s5,UR,s5,VR,s5,WR,s5,XR,s5,YR,s5,ZR,s5,_R,s5,$R,s5,aS,s5,bS,s5,cS,s5,dS,s5,eS,s5,fS,s5,gS,s5,hS,s5,iS,s5,jS,s5,kS,s5,lS,s5,mS,s5,nS,s5,oS,s5,pS,s5,qS,s5,rS,s5,sS,s5,tS,s5,uS,s5,vS,s5,wS,s5,xS,s5,yS,s5,zS,s5,AS,s5,BS,s5,CS,s5,DS,s5,ES,s5,FS,s5,GS,s5,HS,s5,IS,s5,JS,s5,KS,s5,LS,s5,MS,s5,NS,s5,OS,s5,PS,s5,QS,s5,RS,s5,SS,s5,TS,s5,US,s5,VS,s5,dN,gN,jN,lN,Xk,xk,cq,sq,Hq,Kq,Nr,wu,zu,sN,yN,MN,iQ,bR,gR,WQ,cR,IQ,GQ,Pn,Km,Nm,Ln,Jn,Tn,_n,DF,EF,FF,HQ,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5];var Pb=[t5,t5,XS,t5,YS,t5,ZS,t5,_S,t5,$S,t5,aT,t5,bT,t5,cT,t5,dT,t5,eT,t5,fT,t5,gT,t5,hT,t5,iT,t5,jT,t5,kT,t5,lT,t5,mT,t5,nT,t5,oT,t5,pT,t5,qT,t5,rT,t5,sT,t5,tT,t5,uT,t5,vT,t5,wT,t5,xT,t5,yT,t5,zT,t5,AT,t5,BT,t5,CT,t5,DT,t5,ET,t5,FT,t5,GT,t5,HT,t5,IT,t5,JT,t5,KT,t5,LT,t5,MT,t5,NT,t5,OT,t5,PT,t5,QT,t5,RT,t5,ST,t5,TT,t5,UT,t5,VT,t5,WT,t5,XT,t5,YT,t5,ZT,t5,_T,t5,$T,t5,aU,t5,bU,t5,cU,t5,dU,t5,eU,t5,_Q,ON,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var Qb=[u5,u5,gU,u5,hU,u5,iU,u5,jU,u5,kU,u5,lU,u5,mU,u5,nU,u5,oU,u5,pU,u5,qU,u5,rU,u5,sU,u5,tU,u5,uU,u5,vU,u5,wU,u5,xU,u5,yU,u5,zU,u5,AU,u5,BU,u5,CU,u5,DU,u5,EU,u5,FU,u5,GU,u5,HU,u5,IU,u5,JU,u5,KU,u5,LU,u5,MU,u5,NU,u5,OU,u5,PU,u5,QU,u5,RU,u5,SU,u5,TU,u5,UU,u5,VU,u5,WU,u5,XU,u5,YU,u5,ZU,u5,_U,u5,$U,u5,aV,u5,bV,u5,cV,u5,dV,u5,eV,u5,fV,u5,gV,u5,hV,u5,iV,u5,jV,u5,kV,u5,lV,u5,mV,u5,nV,u5,oV,u5,pV,u5,Wc,Xc,Zc,_c,$c,ad,vu,Du,Eu,Su,Xu,CN,QO,nP,oP,pP,rP,tP,Kd,Zq,wj,lk,On,$z,hR,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5];var Rb=[v5,v5,rV,v5,sV,v5,tV,v5,uV,v5,vV,v5,wV,v5,xV,v5,yV,v5,zV,v5,AV,v5,BV,v5,CV,v5,DV,v5,EV,v5,FV,v5,GV,v5,HV,v5,IV,v5,JV,v5,KV,v5,LV,v5,MV,v5,NV,v5,OV,v5,PV,v5,QV,v5,RV,v5,SV,v5,TV,v5,UV,v5,VV,v5,WV,v5,XV,v5,YV,v5,ZV,v5,_V,v5,$V,v5,aW,v5,bW,v5,cW,v5,dW,v5,eW,v5,fW,v5,gW,v5,hW,v5,iW,v5,jW,v5,kW,v5,lW,v5,mW,v5,nW,v5,oW,v5,pW,v5,qW,v5,rW,v5,sW,v5,tW,v5,uW,v5,vW,v5,wW,v5,xW,v5,yW,v5,zW,v5,AW,v5,xu,Cu,cz,iy,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5];var Sb=[w5,w5,CW,w5,DW,w5,EW,w5,FW,w5,GW,w5,HW,w5,IW,w5,JW,w5,KW,w5,LW,w5,MW,w5,NW,w5,OW,w5,PW,w5,QW,w5,RW,w5,SW,w5,TW,w5,UW,w5,VW,w5,WW,w5,XW,w5,YW,w5,ZW,w5,_W,w5,$W,w5,aX,w5,bX,w5,cX,w5,dX,w5,eX,w5,fX,w5,gX,w5,hX,w5,iX,w5,jX,w5,kX,w5,lX,w5,mX,w5,nX,w5,oX,w5,pX,w5,qX,w5,rX,w5,sX,w5,tX,w5,uX,w5,vX,w5,wX,w5,xX,w5,yX,w5,zX,w5,AX,w5,BX,w5,CX,w5,DX,w5,EX,w5,FX,w5,GX,w5,HX,w5,IX,w5,JX,w5,KX,w5,LX,w5,Nk,Ok,pk,gq,wq,zq,Oq,wQ,bL,cL,dL,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5];var Tb=[x5,x5,NX,x5,OX,x5,PX,x5,QX,x5,RX,x5,SX,x5,TX,x5,UX,x5,VX,x5,WX,x5,XX,x5,YX,x5,ZX,x5,_X,x5,$X,x5,aY,x5,bY,x5,cY,x5,dY,x5,eY,x5,fY,x5,gY,x5,hY,x5,iY,x5,jY,x5,kY,x5,lY,x5,mY,x5,nY,x5,oY,x5,pY,x5,qY,x5,rY,x5,sY,x5,tY,x5,uY,x5,vY,x5,wY,x5,xY,x5,yY,x5,zY,x5,AY,x5,BY,x5,CY,x5,DY,x5,EY,x5,FY,x5,GY,x5,HY,x5,IY,x5,JY,x5,KY,x5,LY,x5,MY,x5,NY,x5,OY,x5,PY,x5,QY,x5,RY,x5,SY,x5,TY,x5,UY,x5,VY,x5,WY,x5,Qk,Rk,Tk,Vk,Wk,_k,$k,al,bl,rk,tk,vk,wk,dq,fq,tq,vq,Bq,Dq,Fq,Gq,Lq,Nq,Kr,uu,yu,Ru,Uu,Vu,Wu,pN,zN,AN,VQ,fR,dR,dO,oO,FQ,ae,ag,br,kq,lq,pq,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5];var Ub=[y5,y5,YY,y5,ZY,y5,_Y,y5,$Y,y5,aZ,y5,bZ,y5,cZ,y5,dZ,y5,eZ,y5,fZ,y5,gZ,y5,hZ,y5,iZ,y5,jZ,y5,kZ,y5,lZ,y5,mZ,y5,nZ,y5,oZ,y5,pZ,y5,qZ,y5,rZ,y5,sZ,y5,tZ,y5,uZ,y5,vZ,y5,wZ,y5,xZ,y5,yZ,y5,zZ,y5,AZ,y5,BZ,y5,CZ,y5,DZ,y5,EZ,y5,FZ,y5,GZ,y5,HZ,y5,IZ,y5,JZ,y5,KZ,y5,LZ,y5,MZ,y5,NZ,y5,OZ,y5,PZ,y5,QZ,y5,RZ,y5,SZ,y5,TZ,y5,UZ,y5,VZ,y5,WZ,y5,XZ,y5,YZ,y5,ZZ,y5,_Z,y5,$Z,y5,a_,y5,b_,y5,c_,y5,d_,y5,e_,y5,f_,y5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,pm,qm,rm,sm,Au,_z,Wz,Vz,xB,GB,KO,LO,MO,NO,OO,PO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,qP,sP,uC,xP,yP,zP,AP,BP,CP,DP,EP,VP,WP,XP,ji,Yp,Xt,Zt,_t,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5];var Vb=[z5,z5,h_,z5,i_,z5,j_,z5,k_,z5,l_,z5,m_,z5,n_,z5,o_,z5,p_,z5,q_,z5,r_,z5,s_,z5,t_,z5,u_,z5,v_,z5,w_,z5,x_,z5,y_,z5,z_,z5,A_,z5,B_,z5,C_,z5,D_,z5,E_,z5,F_,z5,G_,z5,H_,z5,I_,z5,J_,z5,K_,z5,L_,z5,M_,z5,N_,z5,O_,z5,P_,z5,Q_,z5,R_,z5,S_,z5,T_,z5,U_,z5,V_,z5,W_,z5,X_,z5,Y_,z5,Z_,z5,__,z5,$_,z5,a$,z5,b$,z5,c$,z5,d$,z5,e$,z5,f$,z5,g$,z5,h$,z5,i$,z5,j$,z5,k$,z5,l$,z5,m$,z5,n$,z5,o$,z5,p$,z5,q$,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5];var Wb=[A5,A5,s$,A5,t$,A5,u$,A5,v$,A5,w$,A5,x$,A5,y$,A5,z$,A5,A$,A5,B$,A5,C$,A5,D$,A5,E$,A5,F$,A5,G$,A5,H$,A5,I$,A5,J$,A5,K$,A5,L$,A5,M$,A5,N$,A5,O$,A5,P$,A5,Q$,A5,R$,A5,S$,A5,T$,A5,U$,A5,V$,A5,W$,A5,X$,A5,Y$,A5,Z$,A5,_$,A5,$$,A5,a0,A5,b0,A5,c0,A5,d0,A5,e0,A5,f0,A5,g0,A5,h0,A5,i0,A5,j0,A5,k0,A5,l0,A5,m0,A5,n0,A5,o0,A5,p0,A5,q0,A5,r0,A5,s0,A5,t0,A5,u0,A5,v0,A5,w0,A5,x0,A5,y0,A5,z0,A5,A0,A5,B0,A5,eN,fN,Zk,eq,uq,Mq,BN,FN,Oh,ki,zj,Fj,Ik,Jk,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5];var Xb=[B5,B5,D0,B5,E0,B5,F0,B5,G0,B5,H0,B5,I0,B5,J0,B5,K0,B5,L0,B5,M0,B5,N0,B5,O0,B5,P0,B5,Q0,B5,R0,B5,S0,B5,T0,B5,U0,B5,V0,B5,W0,B5,X0,B5,Y0,B5,Z0,B5,_0,B5,$0,B5,a1,B5,b1,B5,c1,B5,d1,B5,e1,B5,f1,B5,g1,B5,h1,B5,i1,B5,j1,B5,k1,B5,l1,B5,m1,B5,n1,B5,o1,B5,p1,B5,q1,B5,r1,B5,s1,B5,t1,B5,u1,B5,v1,B5,w1,B5,x1,B5,y1,B5,z1,B5,A1,B5,B1,B5,C1,B5,D1,B5,E1,B5,F1,B5,G1,B5,H1,B5,I1,B5,J1,B5,K1,B5,L1,B5,M1,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5];var Yb=[C5,C5,O1,C5,P1,C5,Q1,C5,R1,C5,S1,C5,T1,C5,U1,C5,V1,C5,W1,C5,X1,C5,Y1,C5,Z1,C5,_1,C5,$1,C5,a2,C5,b2,C5,c2,C5,d2,C5,e2,C5,f2,C5,g2,C5,h2,C5,i2,C5,j2,C5,k2,C5,l2,C5,m2,C5,n2,C5,o2,C5,p2,C5,q2,C5,r2,C5,s2,C5,t2,C5,u2,C5,v2,C5,w2,C5,x2,C5,y2,C5,z2,C5,A2,C5,B2,C5,C2,C5,D2,C5,E2,C5,F2,C5,G2,C5,H2,C5,I2,C5,J2,C5,K2,C5,L2,C5,M2,C5,N2,C5,O2,C5,P2,C5,Q2,C5,R2,C5,S2,C5,T2,C5,U2,C5,V2,C5,W2,C5,X2,C5,hN,iN,kN,mN,nN,Pk,Sk,Yk,dl,el,fl,gl,qk,sk,yk,Aq,Cq,Iq,Or,Pr,Tu,zO,cO,oN,tN,uN,vN,wN,xN,DN,UQ,ZQ,CQ,zQ,YQ,yQ,NN,BQ,xQ,AQ,eO,fO,gO,pO,qO,rO,kd,ld,gi,$f,Kk,Lk,Ml,Nl,Ql,om,st,ws,Wt,Yt,jy,az,bz,qy,ry,Qy,Wy,nB,oB,$F,fF,gF,MG,NG,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5];var Zb=[D5,D5,Z2,D5,_2,D5,$2,D5,a3,D5,b3,D5,c3,D5,d3,D5,e3,D5,f3,D5,g3,D5,h3,D5,i3,D5,j3,D5,k3,D5,l3,D5,m3,D5,n3,D5,o3,D5,p3,D5,q3,D5,r3,D5,s3,D5,t3,D5,u3,D5,v3,D5,w3,D5,x3,D5,y3,D5,z3,D5,A3,D5,B3,D5,C3,D5,D3,D5,E3,D5,F3,D5,G3,D5,H3,D5,I3,D5,J3,D5,K3,D5,L3,D5,M3,D5,N3,D5,O3,D5,P3,D5,Q3,D5,R3,D5,S3,D5,T3,D5,U3,D5,V3,D5,W3,D5,X3,D5,Y3,D5,Z3,D5,_3,D5,$3,D5,a4,D5,b4,D5,c4,D5,d4,D5,e4,D5,f4,D5,g4,D5,cN,Uk,cl,uk,Eq,Lr,Mr,qN,rN,EN,sO,Yj,Zj,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5];var _b=[E5,E5,i4,E5,j4,E5,k4,E5,l4,E5,m4,E5,n4,E5,o4,E5,p4,E5,q4,E5,r4,E5,s4,E5,t4,E5,u4,E5,v4,E5,w4,E5,x4,E5,y4,E5,z4,E5,A4,E5,B4,E5,C4,E5,D4,E5,E4,E5,F4,E5,G4,E5,H4,E5,I4,E5,J4,E5,K4,E5,L4,E5,M4,E5,N4,E5,O4,E5,P4,E5,Q4,E5,R4,E5,S4,E5,T4,E5,U4,E5,V4,E5,W4,E5,X4,E5,Y4,E5,Z4,E5,_4,E5,$4,E5,a5,E5,b5,E5,c5,E5,d5,E5,e5,E5,f5,E5,g5,E5,h5,E5,i5,E5,j5,E5,k5,E5,l5,E5,m5,E5,n5,E5,o5,E5,p5,E5,q5,E5,r5,E5,Bu,vd,xd,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5];return{_sqlite3_value_blob:$d,_sqlite3_column_name:Ie,_sqlite3_reset:Zd,_sqlite3_column_type:He,_sqlite3_exec:$e,_sqlite3_result_null:me,_sqlite3_step:ue,_bitshift64Lshr:xR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:BR,_sqlite3_result_text:ne,_fflush:JQ,_sqlite3_column_bytes:Be,_sqlite3_bind_int:Le,_sqlite3_bind_blob:Je,_memset:AR,_sqlite3_value_double:ce,_memcpy:yR,_sqlite3_result_double:ie,_sqlite3_value_text:ae,_sqlite3_changes:qf,_sqlite3_column_blob:Ae,_sqlite3_bind_parameter_index:Se,_sqlite3_value_type:fe,_i64Subtract:vR,_sqlite3_column_text:Fe,_i64Add:wR,_sqlite3_value_bytes:be,_sqlite3_finalize:Yd,_sqlite3_column_double:Ce,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:de,_sqlite3_data_count:ze,_sqlite3_bind_text:Oe,_sqlite3_bind_double:Ke,___errno_location:gQ,_RegisterExtensionFunctions:ic,_free:pR,_memmove:zR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:_d,_malloc:oR,runPostSets:uR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:LR,dynCall_i:WS,dynCall_vi:fU,dynCall_vii:qV,dynCall_iiiiiii:BW,dynCall_ii:MX,dynCall_viii:XY,dynCall_v:g_,dynCall_iiiii:r$,dynCall_viiiiii:C0,dynCall_iii:N1,dynCall_iiiiii:Y2,dynCall_viiii:h4}}) +var Ob=[N5,N5,fS,N5,gS,N5,hS,N5,iS,N5,jS,N5,kS,N5,lS,N5,mS,N5,nS,N5,oS,N5,pS,N5,qS,N5,rS,N5,sS,N5,tS,N5,uS,N5,vS,N5,wS,N5,xS,N5,yS,N5,zS,N5,AS,N5,BS,N5,CS,N5,DS,N5,ES,N5,FS,N5,GS,N5,HS,N5,IS,N5,JS,N5,KS,N5,LS,N5,MS,N5,NS,N5,OS,N5,PS,N5,QS,N5,RS,N5,SS,N5,TS,N5,US,N5,VS,N5,WS,N5,XS,N5,YS,N5,ZS,N5,_S,N5,$S,N5,aT,N5,bT,N5,cT,N5,dT,N5,eT,N5,fT,N5,gT,N5,hT,N5,iT,N5,jT,N5,kT,N5,lT,N5,mT,N5,nT,N5,oT,N5,wN,zN,CN,EN,Zk,zk,eq,uq,Jq,Mq,Pr,yu,Bu,LN,RN,dO,DQ,wR,BR,pR,xR,bR,$Q,Rn,Mm,Pm,Nn,Ln,Vn,ao,ZF,_F,$F,aR,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5];var Pb=[O5,O5,qT,O5,rT,O5,sT,O5,tT,O5,uT,O5,vT,O5,wT,O5,xT,O5,yT,O5,zT,O5,AT,O5,BT,O5,CT,O5,DT,O5,ET,O5,FT,O5,GT,O5,HT,O5,IT,O5,JT,O5,KT,O5,LT,O5,MT,O5,NT,O5,OT,O5,PT,O5,QT,O5,RT,O5,ST,O5,TT,O5,UT,O5,VT,O5,WT,O5,XT,O5,YT,O5,ZT,O5,_T,O5,$T,O5,aU,O5,bU,O5,cU,O5,dU,O5,eU,O5,fU,O5,gU,O5,hU,O5,iU,O5,jU,O5,kU,O5,lU,O5,mU,O5,nU,O5,oU,O5,pU,O5,qU,O5,rU,O5,sU,O5,tU,O5,uU,O5,vU,O5,wU,O5,xU,O5,yU,O5,zU,O5,tR,fO,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5];var Qb=[P5,P5,BU,P5,CU,P5,DU,P5,EU,P5,FU,P5,GU,P5,HU,P5,IU,P5,JU,P5,KU,P5,LU,P5,MU,P5,NU,P5,OU,P5,PU,P5,QU,P5,RU,P5,SU,P5,TU,P5,UU,P5,VU,P5,WU,P5,XU,P5,YU,P5,ZU,P5,_U,P5,$U,P5,aV,P5,bV,P5,cV,P5,dV,P5,eV,P5,fV,P5,gV,P5,hV,P5,iV,P5,jV,P5,kV,P5,lV,P5,mV,P5,nV,P5,oV,P5,pV,P5,qV,P5,rV,P5,sV,P5,tV,P5,uV,P5,vV,P5,wV,P5,xV,P5,yV,P5,zV,P5,AV,P5,BV,P5,CV,P5,DV,P5,EV,P5,FV,P5,GV,P5,HV,P5,IV,P5,JV,P5,KV,P5,Wc,Xc,Zc,_c,$c,ad,xu,Fu,Gu,Uu,Zu,VN,iP,HP,IP,JP,LP,NP,Kd,$q,yj,nk,Qn,gA,CR,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5];var Rb=[Q5,Q5,MV,Q5,NV,Q5,OV,Q5,PV,Q5,QV,Q5,RV,Q5,SV,Q5,TV,Q5,UV,Q5,VV,Q5,WV,Q5,XV,Q5,YV,Q5,ZV,Q5,_V,Q5,$V,Q5,aW,Q5,bW,Q5,cW,Q5,dW,Q5,eW,Q5,fW,Q5,gW,Q5,hW,Q5,iW,Q5,jW,Q5,kW,Q5,lW,Q5,mW,Q5,nW,Q5,oW,Q5,pW,Q5,qW,Q5,rW,Q5,sW,Q5,tW,Q5,uW,Q5,vW,Q5,wW,Q5,xW,Q5,yW,Q5,zW,Q5,AW,Q5,BW,Q5,CW,Q5,DW,Q5,EW,Q5,FW,Q5,GW,Q5,HW,Q5,IW,Q5,JW,Q5,KW,Q5,LW,Q5,MW,Q5,NW,Q5,OW,Q5,PW,Q5,QW,Q5,RW,Q5,SW,Q5,TW,Q5,UW,Q5,VW,Q5,zu,Eu,lz,qy,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5];var Sb=[R5,R5,XW,R5,YW,R5,ZW,R5,_W,R5,$W,R5,aX,R5,bX,R5,cX,R5,dX,R5,eX,R5,fX,R5,gX,R5,hX,R5,iX,R5,jX,R5,kX,R5,lX,R5,mX,R5,nX,R5,oX,R5,pX,R5,qX,R5,rX,R5,sX,R5,tX,R5,uX,R5,vX,R5,wX,R5,xX,R5,yX,R5,zX,R5,AX,R5,BX,R5,CX,R5,DX,R5,EX,R5,FX,R5,GX,R5,HX,R5,IX,R5,JX,R5,KX,R5,LX,R5,MX,R5,NX,R5,OX,R5,PX,R5,QX,R5,RX,R5,SX,R5,TX,R5,UX,R5,VX,R5,WX,R5,XX,R5,YX,R5,ZX,R5,_X,R5,$X,R5,aY,R5,bY,R5,cY,R5,dY,R5,eY,R5,Pk,Qk,rk,iq,yq,Bq,Qq,RQ,uL,vL,wL,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5];var Tb=[S5,S5,gY,S5,hY,S5,iY,S5,jY,S5,kY,S5,lY,S5,mY,S5,nY,S5,oY,S5,pY,S5,qY,S5,rY,S5,sY,S5,tY,S5,uY,S5,vY,S5,wY,S5,xY,S5,yY,S5,zY,S5,AY,S5,BY,S5,CY,S5,DY,S5,EY,S5,FY,S5,GY,S5,HY,S5,IY,S5,JY,S5,KY,S5,LY,S5,MY,S5,NY,S5,OY,S5,PY,S5,QY,S5,RY,S5,SY,S5,TY,S5,UY,S5,VY,S5,WY,S5,XY,S5,YY,S5,ZY,S5,_Y,S5,$Y,S5,aZ,S5,bZ,S5,cZ,S5,dZ,S5,eZ,S5,fZ,S5,gZ,S5,hZ,S5,iZ,S5,jZ,S5,kZ,S5,lZ,S5,mZ,S5,nZ,S5,oZ,S5,pZ,S5,Sk,Tk,Vk,Xk,Yk,al,bl,cl,dl,tk,vk,xk,yk,fq,hq,vq,xq,Dq,Fq,Hq,Iq,Nq,Pq,Mr,wu,Au,Tu,Wu,Xu,Yu,IN,SN,TN,oR,AR,yR,wO,HO,_Q,$d,ag,dr,mq,nq,rq,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5];var Ub=[T5,T5,rZ,T5,sZ,T5,tZ,T5,uZ,T5,vZ,T5,wZ,T5,xZ,T5,yZ,T5,zZ,T5,AZ,T5,BZ,T5,CZ,T5,DZ,T5,EZ,T5,FZ,T5,GZ,T5,HZ,T5,IZ,T5,JZ,T5,KZ,T5,LZ,T5,MZ,T5,NZ,T5,OZ,T5,PZ,T5,QZ,T5,RZ,T5,SZ,T5,TZ,T5,UZ,T5,VZ,T5,WZ,T5,XZ,T5,YZ,T5,ZZ,T5,_Z,T5,$Z,T5,a_,T5,b_,T5,c_,T5,d_,T5,e_,T5,f_,T5,g_,T5,h_,T5,i_,T5,j_,T5,k_,T5,l_,T5,m_,T5,n_,T5,o_,T5,p_,T5,q_,T5,r_,T5,s_,T5,t_,T5,u_,T5,v_,T5,w_,T5,x_,T5,y_,T5,z_,T5,A_,T5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,rm,sm,tm,um,Cu,fA,bA,aA,KB,TB,cP,dP,eP,fP,gP,hP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,yP,zP,AP,BP,CP,DP,EP,FP,GP,KP,MP,HC,RP,SP,TP,UP,VP,WP,XP,YP,nQ,oQ,pQ,li,_p,Zt,$t,au,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5];var Vb=[U5,U5,C_,U5,D_,U5,E_,U5,F_,U5,G_,U5,H_,U5,I_,U5,J_,U5,K_,U5,L_,U5,M_,U5,N_,U5,O_,U5,P_,U5,Q_,U5,R_,U5,S_,U5,T_,U5,U_,U5,V_,U5,W_,U5,X_,U5,Y_,U5,Z_,U5,__,U5,$_,U5,a$,U5,b$,U5,c$,U5,d$,U5,e$,U5,f$,U5,g$,U5,h$,U5,i$,U5,j$,U5,k$,U5,l$,U5,m$,U5,n$,U5,o$,U5,p$,U5,q$,U5,r$,U5,s$,U5,t$,U5,u$,U5,v$,U5,w$,U5,x$,U5,y$,U5,z$,U5,A$,U5,B$,U5,C$,U5,D$,U5,E$,U5,F$,U5,G$,U5,H$,U5,I$,U5,J$,U5,K$,U5,L$,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5];var Wb=[V5,V5,N$,V5,O$,V5,P$,V5,Q$,V5,R$,V5,S$,V5,T$,V5,U$,V5,V$,V5,W$,V5,X$,V5,Y$,V5,Z$,V5,_$,V5,$$,V5,a0,V5,b0,V5,c0,V5,d0,V5,e0,V5,f0,V5,g0,V5,h0,V5,i0,V5,j0,V5,k0,V5,l0,V5,m0,V5,n0,V5,o0,V5,p0,V5,q0,V5,r0,V5,s0,V5,t0,V5,u0,V5,v0,V5,w0,V5,x0,V5,y0,V5,z0,V5,A0,V5,B0,V5,C0,V5,D0,V5,E0,V5,F0,V5,G0,V5,H0,V5,I0,V5,J0,V5,K0,V5,L0,V5,M0,V5,N0,V5,O0,V5,P0,V5,Q0,V5,R0,V5,S0,V5,T0,V5,U0,V5,V0,V5,W0,V5,xN,yN,$k,gq,wq,Oq,UN,YN,Qh,mi,Bj,Hj,Kk,Lk,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5];var Xb=[W5,W5,Y0,W5,Z0,W5,_0,W5,$0,W5,a1,W5,b1,W5,c1,W5,d1,W5,e1,W5,f1,W5,g1,W5,h1,W5,i1,W5,j1,W5,k1,W5,l1,W5,m1,W5,n1,W5,o1,W5,p1,W5,q1,W5,r1,W5,s1,W5,t1,W5,u1,W5,v1,W5,w1,W5,x1,W5,y1,W5,z1,W5,A1,W5,B1,W5,C1,W5,D1,W5,E1,W5,F1,W5,G1,W5,H1,W5,I1,W5,J1,W5,K1,W5,L1,W5,M1,W5,N1,W5,O1,W5,P1,W5,Q1,W5,R1,W5,S1,W5,T1,W5,U1,W5,V1,W5,W1,W5,X1,W5,Y1,W5,Z1,W5,_1,W5,$1,W5,a2,W5,b2,W5,c2,W5,d2,W5,e2,W5,f2,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5];var Yb=[X5,X5,h2,X5,i2,X5,j2,X5,k2,X5,l2,X5,m2,X5,n2,X5,o2,X5,p2,X5,q2,X5,r2,X5,s2,X5,t2,X5,u2,X5,v2,X5,w2,X5,x2,X5,y2,X5,z2,X5,A2,X5,B2,X5,C2,X5,D2,X5,E2,X5,F2,X5,G2,X5,H2,X5,I2,X5,J2,X5,K2,X5,L2,X5,M2,X5,N2,X5,O2,X5,P2,X5,Q2,X5,R2,X5,S2,X5,T2,X5,U2,X5,V2,X5,W2,X5,X2,X5,Y2,X5,Z2,X5,_2,X5,$2,X5,a3,X5,b3,X5,c3,X5,d3,X5,e3,X5,f3,X5,g3,X5,h3,X5,i3,X5,j3,X5,k3,X5,l3,X5,m3,X5,n3,X5,o3,X5,p3,X5,q3,X5,AN,BN,DN,FN,GN,Rk,Uk,_k,fl,gl,hl,il,sk,uk,Ak,Cq,Eq,Kq,Qr,Rr,Vu,TO,vO,HN,MN,NN,ON,PN,QN,WN,nR,sR,XQ,UQ,rR,TQ,eO,WQ,SQ,VQ,xO,yO,zO,IO,JO,KO,kd,ld,ii,$f,Mk,Nk,Ol,Pl,Sl,qm,ut,ys,Yt,_t,ry,jz,kz,yy,zy,Yy,dz,yB,zB,LE,wG,BF,CF,hH,iH,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5];var Zb=[Y5,Y5,s3,Y5,t3,Y5,u3,Y5,v3,Y5,w3,Y5,x3,Y5,y3,Y5,z3,Y5,A3,Y5,B3,Y5,C3,Y5,D3,Y5,E3,Y5,F3,Y5,G3,Y5,H3,Y5,I3,Y5,J3,Y5,K3,Y5,L3,Y5,M3,Y5,N3,Y5,O3,Y5,P3,Y5,Q3,Y5,R3,Y5,S3,Y5,T3,Y5,U3,Y5,V3,Y5,W3,Y5,X3,Y5,Y3,Y5,Z3,Y5,_3,Y5,$3,Y5,a4,Y5,b4,Y5,c4,Y5,d4,Y5,e4,Y5,f4,Y5,g4,Y5,h4,Y5,i4,Y5,j4,Y5,k4,Y5,l4,Y5,m4,Y5,n4,Y5,o4,Y5,p4,Y5,q4,Y5,r4,Y5,s4,Y5,t4,Y5,u4,Y5,v4,Y5,w4,Y5,x4,Y5,y4,Y5,z4,Y5,A4,Y5,B4,Y5,vN,Wk,el,wk,Gq,Nr,Or,JN,KN,XN,LO,_j,$j,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5];var _b=[Z5,Z5,D4,Z5,E4,Z5,F4,Z5,G4,Z5,H4,Z5,I4,Z5,J4,Z5,K4,Z5,L4,Z5,M4,Z5,N4,Z5,O4,Z5,P4,Z5,Q4,Z5,R4,Z5,S4,Z5,T4,Z5,U4,Z5,V4,Z5,W4,Z5,X4,Z5,Y4,Z5,Z4,Z5,_4,Z5,$4,Z5,a5,Z5,b5,Z5,c5,Z5,d5,Z5,e5,Z5,f5,Z5,g5,Z5,h5,Z5,i5,Z5,j5,Z5,k5,Z5,l5,Z5,m5,Z5,n5,Z5,o5,Z5,p5,Z5,q5,Z5,r5,Z5,s5,Z5,t5,Z5,u5,Z5,v5,Z5,w5,Z5,x5,Z5,y5,Z5,z5,Z5,A5,Z5,B5,Z5,C5,Z5,D5,Z5,E5,Z5,F5,Z5,G5,Z5,H5,Z5,I5,Z5,J5,Z5,K5,Z5,L5,Z5,M5,Z5,Du,vd,xd,iB,jB,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5];return{_sqlite3_value_blob:_d,_sqlite3_column_name:He,_sqlite3_reset:Yd,_sqlite3_column_type:Ge,_sqlite3_exec:$e,_sqlite3_result_null:le,_sqlite3_step:te,_bitshift64Lshr:SR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:WR,_sqlite3_result_text:me,_fflush:cR,_sqlite3_column_bytes:Ae,_sqlite3_bind_int:Ke,_sqlite3_bind_blob:Ie,_memset:VR,_sqlite3_value_double:be,_memcpy:TR,_sqlite3_result_double:he,_sqlite3_value_text:$d,_sqlite3_changes:qf,_sqlite3_column_blob:ze,_sqlite3_bind_parameter_index:Re,_sqlite3_value_type:ee,_i64Subtract:QR,_sqlite3_column_text:Ee,_i64Add:RR,_sqlite3_value_bytes:ae,_sqlite3_finalize:Xd,_sqlite3_column_double:Be,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:ce,_sqlite3_data_count:ye,_sqlite3_bind_text:Ne,_sqlite3_bind_double:Je,___errno_location:BQ,_RegisterExtensionFunctions:ic,_free:KR,_memmove:UR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:Zd,_malloc:JR,runPostSets:PR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:eS,dynCall_i:pT,dynCall_vi:AU,dynCall_vii:LV,dynCall_iiiiiii:WW,dynCall_ii:fY,dynCall_viii:qZ,dynCall_v:B_,dynCall_iiiii:M$,dynCall_viiiiii:X0,dynCall_iii:g2,dynCall_iiiiii:r3,dynCall_viiii:C4}}) // EMSCRIPTEN_END_ASM diff --git a/js/worker.sql.js b/js/worker.sql.js index 0d7b2415..918ea316 100644 --- a/js/worker.sql.js +++ b/js/worker.sql.js @@ -36,305 +36,302 @@ function ab(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=wa;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; function Ka(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ka;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; var Aa=Math.abs,ib=Math.cos,jb=Math.sin,kb=Math.tan,lb=Math.acos,mb=Math.asin,nb=Math.atan,ob=Math.atan2,pb=Math.exp,qb=Math.log,rb=Math.sqrt,Da=Math.ceil,Ca=Math.floor,sb=Math.pow,Ba=Math.min,tb=0,ub=null,vb=null;function wb(){tb++;f.monitorRunDependencies&&f.monitorRunDependencies(tb)}f.addRunDependency=wb;function xb(){tb--;f.monitorRunDependencies&&f.monitorRunDependencies(tb);if(0==tb&&(null!==ub&&(clearInterval(ub),ub=null),vb)){var a=vb;vb=null;a()}}f.removeRunDependency=xb; -f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+49760;cb.push(); +f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+48688;cb.push(); z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,154,66,0,0,1,0,1,0,130,0,0,0,159,66,0,0,1,0,1,0,131,0,0,0,164,66,0,0,1,0,1,0,132,0,0,0,169,66,0,0,2,0,1,0,133,0,0,0,174,66,0,0,2,0,1,0,133,0,0,0,180,66,0,0,1,0,1,0,134,0,0,0,186,66,0,0,1,0,1,0,135,0,0,0,192,66,0,0,1,0,1,0,136,0,0,0,198,66,0,0,2,0,1,0,137,0,0,0,209,66,0,0,1,0,1,0,138,0,0,0,217,66, -0,0,1,0,1,0,139,0,0,0,225,66,0,0,1,0,1,0,140,0,0,0,229,66,0,0,1,0,1,0,141,0,0,0,233,66,0,0,1,0,1,0,142,0,0,0,237,66,0,0,1,0,1,0,143,0,0,0,241,66,0,0,1,0,1,0,144,0,0,0,246,66,0,0,1,0,1,0,145,0,0,0,251,66,0,0,1,0,1,0,146,0,0,0,0,67,0,0,1,0,1,0,147,0,0,0,5,67,0,0,1,0,1,0,148,0,0,0,247,100,0,0,1,0,1,0,149,0,0,0,9,67,0,0,1,0,1,0,150,0,0,0,15,67,0,0,2,0,1,0,151,0,0,0,21,67,0,0,1,0,1,0,152,0,0,0,26,67,0,0,1,0,1,0,153,0,0,0,31,67,0,0,1,0,1,0,154,0,0,0,38,67,0,0,1,0,1,0,155,0,0,0,43,67,0,0,1,0,1,0,156,0,0, -0,49,67,0,0,0,0,1,1,157,0,0,0,52,67,0,0,2,0,1,0,158,0,0,0,62,67,0,0,2,0,1,0,159,0,0,0,62,67,0,0,3,0,1,0,159,0,0,0,72,67,0,0,2,0,1,0,160,0,0,0,80,67,0,0,2,0,1,0,161,0,0,0,89,67,0,0,1,0,1,0,162,0,0,0,97,67,0,0,1,0,1,0,163,0,0,0,104,67,0,0,2,0,1,0,164,0,0,0,109,67,0,0,2,0,1,0,165,0,0,0,114,67,0,0,2,0,1,0,166,0,0,0,119,67,0,0,2,0,1,0,167,0,0,0,129,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,135,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,69,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,144,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0,151, -67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,166,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,118,182,0,0,130,182,0,0,142,182,0,0,166,182,0,0,177,182,0,0,197,182,0,0,211,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,101,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,106,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0, -133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,116,176,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,129,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0, -0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0, -137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,83,0,0,32,84,0,0,100,84,0,0,128,84,0,0,157,84,0,0,184,84,0,0,212,84,0,0,237,84,0,0,5,85,0,0,70,85,0,0,129,85,0,0,197,85,0,0,245,85,0,0,101,86,0,0,236,86,0,0,32,87,0,0,98,87,0,0,141, -87,0,0,200,87,0,0,239,87,0,0,27,88,0,0,68,88,0,0,115,88,0,0,157,88,0,0,74,74,0,0,74,74,0,0,195,88,0,0,250,88,0,0,55,89,0,0,174,89,0,0,21,90,0,0,76,90,0,0,134,90,0,0,241,90,0,0,64,91,0,0,129,91,0,0,189,91,0,0,237,91,0,0,87,92,0,0,160,92,0,0,110,82,0,0,170,0,0,0,118,82,0,0,171,0,0,0,136,82,0,0,172,0,0,0,126,82,0,0,173,0,0,0,104,95,0,0,2,0,4,0,107,95,0,0,3,1,3,0,111,95,0,0,3,1,2,0,115,95,0,0,4,0,1,0,126,82,0,0,9,0,0,0,84,99,0,0,6,0,0,0,203,96,0,0,8,0,0,0,212,96,0,0,10,0,0,0,91,99,0,0,5,0,0,0,141,96, -0,0,7,0,0,0,97,99,0,0,10,0,0,0,108,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0, -0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5, -164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0, -8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120, -65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0, -20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0, -6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160, -2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3, -4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4, -91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56, -240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,50,64,0,0,1,0,1,0,130,0,0,0,55,64,0,0,1,0,1,0,131,0,0,0,60,64,0,0,1,0,1,0,132,0,0,0,65,64,0,0,2,0,1,0,133,0,0,0,70,64,0,0,2,0,1,0,133,0,0,0,76,64,0,0,1,0,1,0,134,0,0,0,82,64,0,0,1,0,1,0,135,0,0,0,88,64,0,0,1,0,1,0,136,0,0,0,94,64,0,0,2,0,1,0,137,0,0,0,105,64,0,0,1,0,1,0, +138,0,0,0,113,64,0,0,1,0,1,0,139,0,0,0,121,64,0,0,1,0,1,0,140,0,0,0,125,64,0,0,1,0,1,0,141,0,0,0,129,64,0,0,1,0,1,0,142,0,0,0,133,64,0,0,1,0,1,0,143,0,0,0,137,64,0,0,1,0,1,0,144,0,0,0,142,64,0,0,1,0,1,0,145,0,0,0,147,64,0,0,1,0,1,0,146,0,0,0,152,64,0,0,1,0,1,0,147,0,0,0,157,64,0,0,1,0,1,0,148,0,0,0,143,98,0,0,1,0,1,0,149,0,0,0,161,64,0,0,1,0,1,0,150,0,0,0,167,64,0,0,2,0,1,0,151,0,0,0,173,64,0,0,1,0,1,0,152,0,0,0,178,64,0,0,1,0,1,0,153,0,0,0,183,64,0,0,1,0,1,0,154,0,0,0,190,64,0,0,1,0,1,0,155,0,0, +0,195,64,0,0,1,0,1,0,156,0,0,0,201,64,0,0,0,0,1,1,157,0,0,0,204,64,0,0,2,0,1,0,158,0,0,0,214,64,0,0,2,0,1,0,159,0,0,0,214,64,0,0,3,0,1,0,159,0,0,0,224,64,0,0,2,0,1,0,160,0,0,0,232,64,0,0,2,0,1,0,161,0,0,0,241,64,0,0,1,0,1,0,162,0,0,0,249,64,0,0,1,0,1,0,163,0,0,0,0,65,0,0,2,0,1,0,164,0,0,0,5,65,0,0,2,0,1,0,165,0,0,0,10,65,0,0,2,0,1,0,166,0,0,0,15,65,0,0,2,0,1,0,167,0,0,0,25,65,0,0,1,0,0,0,168,0,0,0,130,0,0,0,31,65,0,0,1,0,0,0,168,0,0,0,131,0,0,0,221,101,0,0,1,0,0,0,169,0,0,0,132,0,0,0,40,65,0,0,1, +0,0,0,169,0,0,0,133,0,0,0,47,65,0,0,1,0,0,0,169,0,0,0,134,0,0,0,62,65,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,45,178,0,0,66,178,0,0,78,178,0,0,90,178,0,0,114,178,0,0,125,178,0,0,145,178,0,0,159,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,44,0,0,0,0,2,0,0,0,0,0,0,21,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,26,172,0,0,208,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130, +0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,36,172,0,0,212,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,49,172,0,0,204,24,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0, +0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131, +0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,81,0,0,184,81,0,0,252,81,0,0,24,82,0,0,53,82,0,0,80,82,0,0,108,82,0,0,133,82,0,0,157,82,0,0,222,82,0,0,25,83,0,0,93,83,0,0,141,83,0,0,253,83,0, +0,132,84,0,0,184,84,0,0,250,84,0,0,37,85,0,0,96,85,0,0,135,85,0,0,179,85,0,0,220,85,0,0,11,86,0,0,53,86,0,0,226,71,0,0,226,71,0,0,91,86,0,0,146,86,0,0,207,86,0,0,70,87,0,0,173,87,0,0,228,87,0,0,30,88,0,0,137,88,0,0,216,88,0,0,25,89,0,0,85,89,0,0,133,89,0,0,239,89,0,0,56,90,0,0,6,80,0,0,170,0,0,0,14,80,0,0,171,0,0,0,32,80,0,0,172,0,0,0,22,80,0,0,173,0,0,0,0,93,0,0,2,0,4,0,3,93,0,0,3,1,3,0,7,93,0,0,3,1,2,0,11,93,0,0,4,0,1,0,22,80,0,0,9,0,0,0,236,96,0,0,6,0,0,0,99,94,0,0,8,0,0,0,108,94,0,0,10,0,0,0, +243,96,0,0,5,0,0,0,37,94,0,0,7,0,0,0,249,96,0,0,10,0,0,0,4,97,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255, +255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0, +9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24, +47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0, +6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110, +0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156, +0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1, +8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248, +3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68, +7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220, +7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,102,0,0,0,0,2,0,61,102,0,0,0,0,4,0,0,0,0,0,0,0,0,0,37,102,0,0,1,0,0,0,40,102,0,0,2,0,0,0,43,102,0,0,6,0,0,0,47,102,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150, +0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,133,0,0,1,0,0,0,226,77,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,185,120,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,175,120,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,155,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,78,0,0,248,120,0,0,5,121,0,0,0,0,0,0,18,121,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,85,122,0,0,0,0,0,0,3,0,1,0,0,0,0, +0,0,0,0,0,179,0,0,0,0,0,0,0,210,122,0,0,0,0,0,0,23,130,0,0,0,0,0,0,8,0,0,0,247,125,0,0,1,1,0,0,0,0,0,0,38,130,0,0,2,0,0,0,0,0,16,0,54,130,0,0,3,0,0,0,0,0,0,0,114,125,0,0,4,1,0,0,0,0,0,0,23,126,0,0,5,0,0,0,0,0,0,0,67,130,0,0,6,0,0,0,0,0,0,0,87,130,0,0,2,0,0,0,0,0,0,32,103,130,0,0,2,0,0,0,16,0,0,0,124,130,0,0,7,0,0,0,0,0,0,0,139,130,0,0,8,0,0,0,0,0,0,0,155,130,0,0,2,0,0,0,128,0,0,0,169,130,0,0,0,2,0,0,15,0,0,0,182,130,0,0,10,1,0,0,0,0,0,0,196,130,0,0,11,1,0,0,0,0,0,0,215,130,0,0,2,0,0,0,0,0,0,2,234, +130,0,0,2,0,0,0,0,1,0,0,126,127,0,0,12,0,0,0,0,0,0,0,1,131,0,0,13,1,0,0,0,0,0,0,19,131,0,0,14,1,0,0,0,0,0,0,36,131,0,0,2,0,0,0,0,0,8,0,49,131,0,0,0,2,0,0,0,0,0,0,64,131,0,0,2,0,0,0,4,0,0,0,82,131,0,0,2,0,0,0,8,0,0,0,92,131,0,0,2,0,0,0,0,32,0,0,117,131,0,0,15,1,0,0,0,0,0,0,136,131,0,0,16,1,0,0,0,0,0,0,147,131,0,0,17,1,0,0,0,0,0,0,158,131,0,0,16,1,0,0,1,0,0,0,221,126,0,0,18,1,0,0,0,0,0,0,215,125,0,0,19,1,0,0,0,0,0,0,228,125,0,0,20,0,0,0,0,0,0,0,170,131,0,0,2,0,0,0,0,128,0,0,202,125,0,0,22,0,0,0,0,0, +0,0,189,131,0,0,23,1,0,0,0,0,0,0,35,126,0,0,24,0,0,0,0,0,0,0,204,131,0,0,23,1,0,0,0,0,0,0,161,125,0,0,25,0,0,0,0,0,0,0,215,131,0,0,2,0,0,0,0,0,0,4,226,131,0,0,18,1,0,0,0,0,0,0,238,131,0,0,2,0,0,0,0,64,0,0,255,131,0,0,2,0,0,0,0,0,4,0,18,132,0,0,2,0,0,0,0,0,2,0,44,132,0,0,0,0,0,0,1,0,0,0,171,125,0,0,26,0,0,0,0,0,0,0,59,132,0,0,2,0,0,0,64,0,0,0,78,132,0,0,27,0,0,0,0,0,0,0,244,127,0,0,28,0,0,0,0,0,0,0,92,132,0,0,29,1,0,0,0,0,0,0,102,126,0,0,30,1,0,0,0,0,0,0,98,132,0,0,31,1,0,0,0,0,0,0,45,126,0,0,32,0, +0,0,0,0,0,0,56,126,0,0,33,0,0,0,0,0,0,0,4,128,0,0,34,0,0,0,0,0,0,0,109,132,0,0,0,0,0,0,6,0,0,0,217,127,0,0,35,0,0,0,0,0,0,0,122,132,0,0,36,1,0,0,0,0,0,0,137,132,0,0,2,0,0,0,0,8,1,0,121,129,0,0,76,129,0,0,153,129,0,0,158,129,0,0,166,129,0,0,90,129,0,0,225,128,0,0,134,129,0,0,140,129,0,0,146,129,0,0,115,129,0,0,121,129,0,0,76,129,0,0,9,94,0,0,125,129,0,0,130,129,0,0,38,129,0,0,76,129,0,0,93,129,0,0,100,129,0,0,107,129,0,0,86,129,0,0,88,129,0,0,90,129,0,0,38,129,0,0,76,129,0,0,81,129,0,0,38,129,0,0, +76,129,0,0,35,129,0,0,38,129,0,0,225,128,0,0,42,129,0,0,47,129,0,0,50,129,0,0,60,129,0,0,70,129,0,0,225,128,0,0,169,96,0,0,231,128,0,0,238,128,0,0,30,128,0,0,1,0,0,0,35,128,0,0,1,0,0,0,41,128,0,0,2,0,0,0,50,128,0,0,3,0,0,0,59,128,0,0,2,0,0,0,67,128,0,0,3,0,0,0,75,128,0,0,0,0,0,0,82,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,128,0,0,143,98,0,0,17,128,0,0,0,130,0,0,7,130,0,0,15,130,0,0,208,127,0,0,47,102,0,0,19,130,0,0,70,129,0,0,64,0,0,0,97,128,0,0,66,0,0,0,92,128,0,0,65,0,0,0,25,136,0,0,67,0,0,0,248,116, +0,0,3,0,0,0,244,116,0,0,3,0,0,0,226,71,0,0,19,146,0,0,25,146,0,0,30,146,0,0,35,146,0,0,151,146,0,0,157,146,0,0,165,146,0,0,216,154,0,0,221,154,0,0,228,154,0,0,231,154,0,0,234,154,0,0,237,154,0,0,240,154,0,0,243,154,0,0,251,154,0,0,243,96,0,0,42,129,0,0,4,155,0,0,148,163,0,0,157,163,0,0,164,163,0,0,170,163,0,0,253,163,0,0,7,164,0,0,18,164,0,0,30,164,0,0,41,164,0,0,52,164,0,0,63,164,0,0,68,164,0,0,73,164,0,0,84,164,0,0,96,164,0,0,103,164,0,0,111,164,0,0,119,164,0,0,124,164,0,0,130,164,0,0,144,164,0, +0,150,164,0,0,160,164,0,0,165,164,0,0,169,164,0,0,174,164,0,0,177,164,0,0,183,164,0,0,190,164,0,0,197,164,0,0,204,164,0,0,211,164,0,0,214,164,0,0,218,164,0,0,229,164,0,0,238,164,0,0,244,164,0,0,254,164,0,0,8,165,0,0,15,165,0,0,23,165,0,0,26,165,0,0,29,165,0,0,32,165,0,0,35,165,0,0,38,165,0,0,41,165,0,0,51,165,0,0,58,165,0,0,64,165,0,0,74,165,0,0,85,165,0,0,89,165,0,0,98,165,0,0,107,165,0,0,114,165,0,0,124,165,0,0,131,165,0,0,136,165,0,0,143,165,0,0,154,165,0,0,159,165,0,0,166,165,0,0,172,165,0,0, +178,165,0,0,184,165,0,0,190,165,0,0,201,165,0,0,212,165,0,0,220,165,0,0,229,165,0,0,235,165,0,0,245,165,0,0,2,166,0,0,13,166,0,0,19,166,0,0,24,166,0,0,31,166,0,0,44,166,0,0,55,166,0,0,60,166,0,0,68,166,0,0,74,166,0,0,81,166,0,0,86,166,0,0,95,166,0,0,100,166,0,0,109,166,0,0,114,166,0,0,119,166,0,0,125,166,0,0,133,166,0,0,143,166,0,0,151,166,0,0,161,166,0,0,170,166,0,0,177,166,0,0,190,166,0,0,195,166,0,0,207,166,0,0,215,166,0,0,222,166,0,0,230,166,0,0,239,166,0,0,250,166,0,0,0,167,0,0,11,167,0,0,21, +167,0,0,31,167,0,0,40,167,0,0,50,167,0,0,64,167,0,0,78,167,0,0,89,167,0,0,102,167,0,0,113,167,0,0,119,167,0,0,131,167,0,0,140,167,0,0,149,167,0,0,156,167,0,0,166,167,0,0,173,167,0,0,184,167,0,0,198,167,0,0,209,167,0,0,216,167,0,0,224,167,0,0,230,167,0,0,238,167,0,0,251,167,0,0,5,168,0,0,15,168,0,0,20,168,0,0,29,168,0,0,37,168,0,0,43,168,0,0,48,168,0,0,60,168,0,0,72,168,0,0,84,168,0,0,96,168,0,0,109,168,0,0,119,168,0,0,129,168,0,0,141,168,0,0,153,168,0,0,163,168,0,0,169,168,0,0,179,168,0,0,186,168, +0,0,198,168,0,0,207,168,0,0,215,168,0,0,224,168,0,0,231,168,0,0,241,168,0,0,248,168,0,0,0,169,0,0,9,169,0,0,15,169,0,0,23,169,0,0,31,169,0,0,41,169,0,0,50,169,0,0,61,169,0,0,66,169,0,0,150,169,0,0,163,169,0,0,0,0,0,0,199,169,0,0,224,169,0,0,255,169,0,0,18,170,0,0,184,97,0,0,43,170,0,0,80,170,0,0,92,170,0,0,107,170,0,0,140,170,0,0,158,170,0,0,183,170,0,0,212,170,0,0,229,170,0,0,73,157,0,0,250,70,0,0,252,170,0,0,14,171,0,0,32,171,0,0,71,171,0,0,102,171,0,0,123,171,0,0,155,171,0,0,189,171,0,0,151,0, +0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,96,172,0,0,145,0,0,0,0,0,0,0,59,172,0,0,163,0,0,0,0,0,0,0,226,101,0,0,160,0,0,0,0,0,0,0,101,172,0,0,161,0,0,0,0,0,0,0,108,172,0,0,162,0,0,0,0,0,0,0,113,172,0,0,163,0,0,0,0,0,0,0,119,172,0,0,164,0,0,0,0,0,0,0,129,172,0,0,146,0,0,0,0,0,0,0,135,172,0,0,147,0,0,0,0,0,0,0,140,172,0,0,0,0,0,0,0,0, +0,0,146,172,0,0,0,0,0,0,0,0,0,0,154,172,0,0,148,0,0,0,0,0,0,0,160,172,0,0,0,0,0,0,0,0,0,0,167,172,0,0,0,0,0,0,0,0,0,0,176,172,0,0,165,0,0,0,0,0,0,0,183,172,0,0,0,0,0,0,0,0,0,0,193,172,0,0,164,0,0,0,0,0,0,0,200,172,0,0,166,0,0,0,0,0,0,0,214,172,0,0,167,0,0,0,0,0,0,0,220,172,0,0,165,0,0,0,0,0,0,0,226,172,0,0,149,0,0,0,0,0,0,0,233,172,0,0,130,0,0,0,0,0,0,0,241,172,0,0,137,0,0,0,0,0,0,0,246,172,0,0,168,0,0,0,0,0,0,0,253,172,0,0,0,0,0,0,0,0,0,0,4,173,0,0,131,0,0,0,0,0,0,0,16,173,0,0,150,0,0,0,0,0,0,0, +25,173,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,173,0,0,131,173,0,0,140,173,0,0,145,173,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0, +0,0,0,180,0,0,0,0,0,0,0,17,175,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,43,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,68,175,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,77,175,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,88,175,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,95,175,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183, +0,0,0,0,0,0,0,101,175,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,107,175,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,139,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,124,139,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,139,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0, +185,0,0,0,142,0,0,0,128,139,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,112,175,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,119,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,126,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,132,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,139,175,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,147,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,152,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0, +0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,156,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,162,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,168,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,174,175,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,178,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,185,175,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,192,175,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0, +199,0,0,0,0,0,0,0,203,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,210,175,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,225,175,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,242,175,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,253,175,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,3,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,21,176,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,29,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0, +0,0,0,0,0,43,176,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,51,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,60,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,67,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,71,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,77,176,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146, +0,0,0,81,176,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,87,176,0,0,0,0,0,0,2,0,13,8,218,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,97,128,0,0,0,0,0,0,2,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,3,0,5,8,222,71,0,0,0,0,0,0,212,0,0,0,0,0,0,0,92,128,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0, +0,0,0,0,100,176,0,0,0,0,0,0,101,138,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,165,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,175,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,180,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,185,176,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,194,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,203,176,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,1,32,0, +0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,234,176,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,209,177,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,229,177,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,251,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,34,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,39,186,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,104,0,0,0,0,2,0,165,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,141,104,0,0,1,0,0,0,144,104,0,0,2,0,0,0,147,104,0,0,6,0, -0,0,151,104,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,135,0,0,1,0,0,0,74,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,13,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,3,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,239,122,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,81,0,0,76,123,0,0,89,123,0,0,0,0,0,0,102,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,94,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,219,124,0,0,0,0,0,0,32,132,0,0,0,0,0,0,8,0,0,0,0,128,0,0,1,1,0,0,0,0,0,0,47,132,0,0,2,0,0,0,0,0,16,0,63,132,0,0,3,0,0,0,0,0,0,0,123,127,0,0,4,1,0,0,0,0,0,0,32,128,0,0,5,0,0,0,0,0,0,0,76,132,0,0,6,0,0,0,0,0,0,0,96,132,0,0,2,0,0,0,0,0,0,32,112,132,0,0,2,0,0,0,16,0,0,0,133,132,0,0,7,0,0,0,0,0,0, -0,148,132,0,0,8,0,0,0,0,0,0,0,164,132,0,0,2,0,0,0,128,0,0,0,178,132,0,0,0,2,0,0,15,0,0,0,191,132,0,0,10,1,0,0,0,0,0,0,205,132,0,0,11,1,0,0,0,0,0,0,224,132,0,0,2,0,0,0,0,0,0,2,243,132,0,0,2,0,0,0,0,1,0,0,135,129,0,0,12,0,0,0,0,0,0,0,10,133,0,0,13,1,0,0,0,0,0,0,28,133,0,0,14,1,0,0,0,0,0,0,45,133,0,0,2,0,0,0,0,0,8,0,58,133,0,0,0,2,0,0,0,0,0,0,73,133,0,0,2,0,0,0,4,0,0,0,91,133,0,0,2,0,0,0,8,0,0,0,101,133,0,0,2,0,0,0,0,32,0,0,126,133,0,0,15,1,0,0,0,0,0,0,145,133,0,0,16,1,0,0,0,0,0,0,156,133,0,0,17,1,0, -0,0,0,0,0,167,133,0,0,16,1,0,0,1,0,0,0,230,128,0,0,18,1,0,0,0,0,0,0,224,127,0,0,19,1,0,0,0,0,0,0,237,127,0,0,20,0,0,0,0,0,0,0,179,133,0,0,2,0,0,0,0,128,0,0,211,127,0,0,22,0,0,0,0,0,0,0,198,133,0,0,23,1,0,0,0,0,0,0,44,128,0,0,24,0,0,0,0,0,0,0,213,133,0,0,23,1,0,0,0,0,0,0,170,127,0,0,25,0,0,0,0,0,0,0,224,133,0,0,2,0,0,0,0,0,0,4,235,133,0,0,18,1,0,0,0,0,0,0,247,133,0,0,2,0,0,0,0,64,0,0,8,134,0,0,2,0,0,0,0,0,4,0,27,134,0,0,2,0,0,0,0,0,2,0,53,134,0,0,0,0,0,0,1,0,0,0,180,127,0,0,26,0,0,0,0,0,0,0,68,134, -0,0,2,0,0,0,64,0,0,0,87,134,0,0,27,0,0,0,0,0,0,0,253,129,0,0,28,0,0,0,0,0,0,0,101,134,0,0,29,1,0,0,0,0,0,0,111,128,0,0,30,1,0,0,0,0,0,0,107,134,0,0,31,1,0,0,0,0,0,0,54,128,0,0,32,0,0,0,0,0,0,0,65,128,0,0,33,0,0,0,0,0,0,0,13,130,0,0,34,0,0,0,0,0,0,0,118,134,0,0,0,0,0,0,6,0,0,0,226,129,0,0,35,0,0,0,0,0,0,0,131,134,0,0,36,1,0,0,0,0,0,0,146,134,0,0,2,0,0,0,0,8,1,0,130,131,0,0,85,131,0,0,162,131,0,0,167,131,0,0,175,131,0,0,99,131,0,0,234,130,0,0,143,131,0,0,149,131,0,0,155,131,0,0,124,131,0,0,130,131, -0,0,85,131,0,0,113,96,0,0,134,131,0,0,139,131,0,0,47,131,0,0,85,131,0,0,102,131,0,0,109,131,0,0,116,131,0,0,95,131,0,0,97,131,0,0,99,131,0,0,47,131,0,0,85,131,0,0,90,131,0,0,47,131,0,0,85,131,0,0,44,131,0,0,47,131,0,0,234,130,0,0,51,131,0,0,56,131,0,0,59,131,0,0,69,131,0,0,79,131,0,0,234,130,0,0,17,99,0,0,240,130,0,0,247,130,0,0,39,130,0,0,1,0,0,0,44,130,0,0,1,0,0,0,50,130,0,0,2,0,0,0,59,130,0,0,3,0,0,0,68,130,0,0,2,0,0,0,76,130,0,0,3,0,0,0,84,130,0,0,0,0,0,0,91,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21, -130,0,0,247,100,0,0,26,130,0,0,9,132,0,0,16,132,0,0,24,132,0,0,217,129,0,0,151,104,0,0,28,132,0,0,79,131,0,0,64,0,0,0,106,130,0,0,66,0,0,0,101,130,0,0,65,0,0,0,30,138,0,0,67,0,0,0,76,119,0,0,3,0,0,0,72,119,0,0,3,0,0,0,74,74,0,0,66,148,0,0,72,148,0,0,77,148,0,0,82,148,0,0,198,148,0,0,204,148,0,0,212,148,0,0,197,156,0,0,202,156,0,0,209,156,0,0,212,156,0,0,215,156,0,0,218,156,0,0,221,156,0,0,224,156,0,0,232,156,0,0,91,99,0,0,51,131,0,0,241,156,0,0,248,167,0,0,1,168,0,0,8,168,0,0,14,168,0,0,97,168,0, -0,107,168,0,0,118,168,0,0,130,168,0,0,141,168,0,0,152,168,0,0,163,168,0,0,168,168,0,0,173,168,0,0,184,168,0,0,196,168,0,0,203,168,0,0,211,168,0,0,219,168,0,0,224,168,0,0,230,168,0,0,244,168,0,0,250,168,0,0,4,169,0,0,9,169,0,0,13,169,0,0,18,169,0,0,21,169,0,0,27,169,0,0,34,169,0,0,41,169,0,0,48,169,0,0,55,169,0,0,58,169,0,0,62,169,0,0,73,169,0,0,82,169,0,0,88,169,0,0,98,169,0,0,103,169,0,0,110,169,0,0,118,169,0,0,121,169,0,0,124,169,0,0,127,169,0,0,130,169,0,0,133,169,0,0,136,169,0,0,147,169,0,0,154, -169,0,0,160,169,0,0,170,169,0,0,181,169,0,0,185,169,0,0,194,169,0,0,203,169,0,0,210,169,0,0,220,169,0,0,227,169,0,0,232,169,0,0,239,169,0,0,246,169,0,0,252,169,0,0,2,170,0,0,8,170,0,0,14,170,0,0,25,170,0,0,36,170,0,0,44,170,0,0,53,170,0,0,59,170,0,0,69,170,0,0,82,170,0,0,93,170,0,0,99,170,0,0,104,170,0,0,111,170,0,0,124,170,0,0,135,170,0,0,140,170,0,0,148,170,0,0,154,170,0,0,161,170,0,0,166,170,0,0,175,170,0,0,180,170,0,0,189,170,0,0,194,170,0,0,199,170,0,0,205,170,0,0,213,170,0,0,223,170,0,0,231, -170,0,0,241,170,0,0,250,170,0,0,1,171,0,0,14,171,0,0,19,171,0,0,31,171,0,0,39,171,0,0,46,171,0,0,55,171,0,0,66,171,0,0,74,171,0,0,80,171,0,0,91,171,0,0,101,171,0,0,111,171,0,0,120,171,0,0,130,171,0,0,144,171,0,0,158,171,0,0,169,171,0,0,182,171,0,0,193,171,0,0,199,171,0,0,211,171,0,0,220,171,0,0,229,171,0,0,236,171,0,0,246,171,0,0,253,171,0,0,8,172,0,0,22,172,0,0,33,172,0,0,40,172,0,0,48,172,0,0,54,172,0,0,62,172,0,0,75,172,0,0,85,172,0,0,95,172,0,0,100,172,0,0,109,172,0,0,117,172,0,0,123,172,0,0, -135,172,0,0,147,172,0,0,159,172,0,0,164,172,0,0,176,172,0,0,189,172,0,0,199,172,0,0,209,172,0,0,221,172,0,0,233,172,0,0,243,172,0,0,249,172,0,0,3,173,0,0,10,173,0,0,22,173,0,0,31,173,0,0,39,173,0,0,48,173,0,0,55,173,0,0,65,173,0,0,72,173,0,0,80,173,0,0,89,173,0,0,95,173,0,0,103,173,0,0,111,173,0,0,121,173,0,0,130,173,0,0,141,173,0,0,146,173,0,0,230,173,0,0,243,173,0,0,0,0,0,0,23,174,0,0,48,174,0,0,79,174,0,0,98,174,0,0,32,100,0,0,123,174,0,0,160,174,0,0,172,174,0,0,187,174,0,0,220,174,0,0,238,174, -0,0,7,175,0,0,36,175,0,0,53,175,0,0,20,159,0,0,98,73,0,0,76,175,0,0,94,175,0,0,112,175,0,0,151,175,0,0,182,175,0,0,203,175,0,0,235,175,0,0,13,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,176,176,0,0,145,0,0,0,0,0,0,0,139,176,0,0,163,0,0,0,0,0,0,0,74,104,0,0,160,0,0,0,0,0,0,0,181,176,0,0,161,0,0,0,0,0,0,0,188,176,0,0,162, -0,0,0,0,0,0,0,193,176,0,0,163,0,0,0,0,0,0,0,199,176,0,0,164,0,0,0,0,0,0,0,209,176,0,0,146,0,0,0,0,0,0,0,215,176,0,0,147,0,0,0,0,0,0,0,220,176,0,0,0,0,0,0,0,0,0,0,226,176,0,0,0,0,0,0,0,0,0,0,234,176,0,0,148,0,0,0,0,0,0,0,240,176,0,0,0,0,0,0,0,0,0,0,247,176,0,0,0,0,0,0,0,0,0,0,0,177,0,0,165,0,0,0,0,0,0,0,7,177,0,0,0,0,0,0,0,0,0,0,17,177,0,0,164,0,0,0,0,0,0,0,24,177,0,0,166,0,0,0,0,0,0,0,38,177,0,0,167,0,0,0,0,0,0,0,44,177,0,0,165,0,0,0,0,0,0,0,50,177,0,0,149,0,0,0,0,0,0,0,57,177,0,0,130,0,0,0,0,0,0, -0,65,177,0,0,137,0,0,0,0,0,0,0,70,177,0,0,168,0,0,0,0,0,0,0,77,177,0,0,0,0,0,0,0,0,0,0,84,177,0,0,131,0,0,0,0,0,0,0,96,177,0,0,150,0,0,0,0,0,0,0,105,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,177,0,0,211,177,0,0,220,177,0,0,225,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0, -173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,90,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,116,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,141,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,150,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,161,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0, -0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,168,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,174,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,180,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,97,141,0,0,0,0,0,0, -255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,101,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,185,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,192,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,199,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,205,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,212,179,0,0,0, -0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,220,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,229,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,235,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,241,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,251,179,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,2,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,9,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,20,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,27,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,42,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,59,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,70,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,76,180,0,0,0,0,0,0,0,0,1,0, -0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,94,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,102,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,116,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,124,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,133,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,144,180,0,0,0,0,0,0,1,0,1,0,0, -0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,150,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,154,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,160,180,0,0,0,0,0,0,2,0,13,8,66,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,106,130,0,0,0,0,0,0,2,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0,0,3,0,5,8,70,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,101,130,0,0,0,0,0, -0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,74,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,238,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,248,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,253,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0, -11,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,20,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,33,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,51,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,26,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,68,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,38,0,0,0,0,0,0,5,0,0,0, -0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,91,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); -z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133, -1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1, -152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14, -9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148, -1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167, -0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200, -255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240, -202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,19,2,234,1,113,2,207,255,16,1,200,1,254,1,144,1,253,1,50,2,114,0,23,2,102,2,186,2,128,1,226,2,239,2,178,2,163,1,41,2,249,2,204,1,124,2,255,2,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41, -0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,248,2,47,3,88,3,95,3,98,3,100,3,102,3,105,3,113,3,117,3,127,3,129,3,131,3,135,3,139,3,141,3,143,3,145,3,154,3,157,3,168,3,170,3,172,3,176,3,179,3,181,3,183,3,185,3,187,3,194,3,210,3,212,3,216,3,218,3,220,3,223,3,225,3,227,3,229,3,234,3,251,3,253,3,1,4,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,128,3,140,0,4,1,98,0,12,1,252,3,41,0,226,1,41,0,41,0,41,0,41,0,14,1,14,1,14,1,212,0,217,0,127,255,155,1,155,1,38,2,5,0,114,2,106,1,221,2,62,3,224,3,235,3,2,4,27,3, -171,2,39,3,126,2,51,3,241,2,180,3,62,0,49,3,56,3,132,0,175,2,99,2,96,3,9,4,147,1,175,3,198,3,215,3,8,4,14,4,16,4,192,3,228,3,236,1,206,255,57,0,131,0,153,0,221,0,206,1,76,2,84,2,163,2,209,2,52,3,66,3,89,3,146,3,211,3,10,4,41,4,57,4,63,4,71,4,72,4,73,4,74,4,77,4,80,4,81,4,64,1,244,1,143,2,82,4,83,4,247,1,84,4,86,4,89,4,169,2,90,4,91,4,231,3,92,4,93,4,94,4,221,0,95,4,96,4,97,4,98,4,99,4,100,4,20,3,188,3,17,4,27,4,29,4,247,1,43,4,55,4,104,4,56,4,42,4,44,4,21,4,59,4,23,4,79,4,78,4,101,4,102,4,49,4,38, -4,103,4,107,4,65,4,69,4,111,4,28,4,112,4,113,4,35,4,36,4,117,4,60,4,106,4,108,4,109,4,110,4,114,4,115,4,127,4,130,4,116,4,70,4,119,4,121,4,118,4,132,4,134,4,58,4,62,4,138,4,139,4,141,4,126,4,145,4,153,4,146,4,155,4,137,4,142,4,144,4,148,4,143,4,149,4,150,4,151,4,156,4,157,4,158,4,160,4,120,4,122,4,124,4,123,4,125,4,128,4,129,4,136,4,162,4,170,4,161,4,165,4,163,4,167,4,169,4,168,4,172,4,174,4,173,4,178,4,191,4,193,4,202,4,203,4,207,4,208,4,209,4,210,4,179,4,180,4,181,4,197,4,199,4,185,4,187,4,213, -4,59,1,42,3,83,1,36,3,5,0,194,0,194,0,30,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,34,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,184,3,35,3,35,3,35,3,154,3,86,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,88,0,88,0,87,0,87,0,87,0,86,0,83,1,4,3,184,3,184,3,59,1,87,0,87,0,87,0,86,0,83,1,5,3,68,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0, -91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,22,5,146,0,153,3,2,0,59,1,171,1,24,0,167,2,185,3,48,0,86,0,83,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,94,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,165,3,165,3,59,1,3,1,156,1,142,1,140,1,57,0,221,2,221,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,221,4,154,3,86,1,12,1,166, -3,167,3,241,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,145,3,15,5,170,2,175,2,15,5,233,0,141,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,85,0,82,0,168,0,168,2,175,1,170,3,171,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,35,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86, -0,83,1,59,1,63,1,145,3,16,5,29,3,143,3,16,5,169,2,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,79,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,108,3,108,3,117,1,85,0,82,0,168,0,176,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,128,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,114,1,51,1,205,3,111,1,1,0,143,3,177,1,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,189,0,89,0,89,0, -89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,208,2,180,3,165,3,165,3,149,0,206,2,180,3,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,82,1,170,3,171,3,179,3,182,2,172,3,206,3,59,1,185,3,48,0,166,3,167,3,203,2,177,2,71,0,92,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,64,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,156,1,147,1,52,3,52,3,64,3,67,3,74,0,92,0,81,0, -83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,186,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,3,1,142,2,143,2,144,2,137,1,111,0,75,1,153,0,93,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,188,0,187,0,186,0,56,3,169,3,72,1,219,0,185,3,48,0,83,0,51,3,51,3,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,188,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,226, -2,3,0,150,4,187,3,92,1,225,2,76,1,24,3,165,3,165,3,169,3,79,0,173,1,218,2,3,0,203,0,160,0,22,1,135,1,17,1,134,1,190,0,124,3,178,1,144,1,229,2,76,0,77,0,15,1,31,1,253,0,97,1,242,0,78,0,84,1,84,1,85,0,82,0,168,0,76,0,77,0,233,0,141,1,185,3,48,0,176,1,78,0,84,1,84,1,21,1,166,3,167,3,185,0,183,1,139,2,132,1,129,1,128,1,176,1,234,0,20,1,107,0,162,1,93,1,81,1,80,1,127,1,125,3,216,2,215,0,181,3,123,0,203,3,52,1,42,3,162,1,180,1,179,1,156,1,138,1,30,3,144,1,105,3,126,3,123,0,209,2,104,3,42,3,121,3,180,1, -179,1,215,0,181,3,30,3,95,1,210,2,185,2,124,1,178,1,3,3,115,1,22,0,178,1,144,1,79,0,173,1,232,0,3,0,189,0,157,1,102,3,35,3,35,3,35,3,37,3,18,0,54,0,148,0,185,3,48,0,188,3,113,0,185,3,9,0,35,3,35,3,35,3,37,3,18,0,54,1,123,0,236,2,76,0,77,0,230,2,123,0,69,1,187,3,98,3,78,0,84,1,84,1,113,0,94,1,103,1,85,0,82,0,168,0,87,1,192,3,192,3,176,1,2,3,156,1,158,1,151,1,23,0,216,4,216,4,79,0,173,1,101,1,3,0,166,0,91,0,91,0,91,0,91,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,178,1,180,1, -179,1,24,3,64,1,30,3,76,0,77,0,21,3,15,1,123,0,178,1,104,1,78,0,84,1,84,1,96,3,85,0,82,0,168,0,185,3,9,0,139,1,231,2,104,1,176,1,253,0,102,1,252,0,165,3,165,3,185,3,30,0,121,3,71,1,216,0,35,3,35,3,35,3,37,3,18,0,113,0,162,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,42,3,113,0,180,1,179,1,24,3,185,0,30,3,32,1,132,1,129,1,128,1,123,0,113,0,152,3,2,0,28,3,184,2,166,3,167,3,127,1,69,0,173,1,178,1,3,0,218,0,110,0,226,2,253,0,102,1,252,0,178,1,225,2,165,3,165,3,124,3,103,1,222,0,35,3,35,3, -35,3,37,3,18,0,185,3,47,0,165,3,165,3,165,3,165,3,76,0,77,0,185,3,9,0,110,1,136,3,217,0,78,0,84,1,84,1,165,2,49,1,48,1,47,1,206,0,45,1,224,0,3,1,152,2,176,1,81,1,80,1,178,1,228,0,247,0,144,0,166,3,167,3,165,3,165,3,155,2,125,3,68,1,235,4,96,0,178,1,162,1,28,3,166,3,167,3,166,3,167,3,185,3,48,0,145,1,148,0,33,1,126,3,42,3,161,1,180,1,179,1,165,2,247,2,30,3,185,3,9,0,58,1,220,0,162,0,161,0,170,0,146,1,239,0,185,3,8,0,194,0,171,2,171,2,154,1,166,3,167,3,238,0,191,3,165,3,165,3,225,0,152,1,177,3,109, -1,189,3,212,0,190,3,172,0,245,2,35,3,35,3,35,3,37,3,18,0,173,0,109,1,176,0,123,0,171,0,113,0,244,0,184,3,246,0,178,1,100,1,28,3,116,1,109,1,236,0,192,3,192,3,42,3,34,1,36,3,191,0,165,0,84,3,30,3,3,1,60,1,166,3,167,3,237,0,185,3,34,0,148,1,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,189,2,184,3,178,1,240,0,91,1,246,2,35,3,35,3,35,3,178,1,245,0,155,4,178,1,133,1,178,1,120,1,178,1,127,3,167,0,178,1,149,1,190,2,185,3,35,0,161,2,65,1,221,0,178,1,77,1,185,3,11,0,178, -1,185,3,26,0,185,3,36,0,185,3,37,0,251,0,185,3,38,0,178,1,3,1,178,1,245,2,178,1,73,1,185,3,27,0,178,1,223,0,185,3,28,0,178,1,178,2,178,1,67,0,178,1,65,0,178,1,94,3,185,3,39,0,185,3,40,0,185,3,41,0,167,1,178,1,185,3,10,0,178,1,4,3,185,3,42,0,185,3,98,0,185,3,43,0,185,3,44,0,5,3,178,1,90,1,178,1,75,0,178,1,73,0,185,3,31,0,178,1,185,3,45,0,178,1,3,1,178,1,178,2,178,1,245,2,178,1,119,3,178,1,185,3,46,0,185,3,32,0,185,3,115,0,178,1,10,1,185,3,116,0,183,3,185,3,117,0,185,3,52,0,185,3,33,0,185,3,99,0,185, -3,49,0,214,2,178,1,141,3,178,1,19,0,185,3,100,0,178,1,88,1,178,1,113,0,178,1,2,1,180,2,178,1,3,1,178,1,158,2,178,1,20,0,178,1,185,3,101,0,185,3,97,0,178,1,3,1,185,3,114,0,185,3,112,0,185,3,105,0,113,0,185,3,104,0,185,3,102,0,185,3,103,0,185,3,51,0,178,1,148,0,178,1,185,3,53,0,167,0,178,1,3,1,113,0,44,1,51,1,144,3,107,1,55,1,92,3,248,0,5,1,209,0,8,1,160,1,185,3,50,0,185,3,25,0,164,1,215,2,185,3,29,0,174,1,65,1,168,1,245,2,172,1,66,1,124,0,245,4,214,0,165,0,198,2,91,3,140,3,38,3,26,3,53,1,158,0,193, -0,105,1,254,0,211,2,108,1,67,0,125,1,13,1,223,2,199,0,67,0,70,0,113,0,188,2,187,2,195,2,196,2,116,3,113,0,254,2,113,0,87,3,193,0,115,3,199,0,101,3,101,3,163,2,100,3,100,3,109,0,112,1,255,0,4,1,7,1,24,1,91,3,9,1,38,3,206,3,11,1,199,2,183,2,16,1,252,2,26,1,27,3,28,1,150,0,232,2,243,2,159,1,36,1,37,1,34,3,166,2,160,2,149,2,148,2,150,2,159,3,6,0,50,1,130,1,96,1,18,3,243,0,250,0,118,3,106,1,163,0,30,1,163,1,42,1,162,3,159,0,200,3,196,0,126,0,135,3,133,3,197,3,55,0,58,0,67,1,19,1,89,3,136,0,147,0,182,2, -88,3,121,0,65,0,98,1,99,1,123,1,175,0,61,0,151,0,113,1,180,0,103,3,119,1,129,0,1,1,244,2,210,0,181,0,145,0,131,0,132,0,121,1,6,1,151,2,133,0,134,0,139,0,15,3,23,3,182,0,136,1,183,0,56,1,74,1,202,2,120,3,201,2,83,3,180,2,195,0,200,2,150,1,174,2,193,2,57,1,173,2,64,0,71,3,18,1,72,0,172,2,78,1,174,3,95,0,240,2,23,1,25,1,192,2,241,2,239,2,166,1,27,1,155,1,238,2,170,1,66,0,204,0,153,1,21,0,29,1,160,3,157,2,181,1,205,0,207,0,208,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,235,0,169, -0,89,1,106,0,222,2,22,3,40,1,38,1,39,1,120,0,41,1,99,3,97,3,127,0,128,0,130,0,212,2,229,0,174,0,249,0,114,3,137,0,230,0,138,0,135,0,117,3,231,0,59,0,60,0,177,0,113,3,7,0,178,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,152,0,154,2,122,1,20,1,184,0,14,1,122,0,142,0,126,1,131,1,62,0,13,0,14,0,191,2,63,0,125,0,61,1,62,1,227,0,41,3,40,3,69,3,220,2,15,0,164,0,224,2,4,0,253,2,211,0,143,1,213,0,192,0,143,0,248,2,70,0,67,0,16,0,17,0,70,3,68,3,123,3,73,3,122,3,198,0,197,0,149,3,154,0,165,1,155,3,150, -3,155,0,200,0,209,3,169,1,72,3,156,0,201,0,39,3,164,2,80,0,46,1,43,1,209,3,202,0,237,4,236,4,16,16,2,16,40,0,52,2,101,3,65,2,213,2,213,2,213,2,227,2,237,255,16,0,16,0,100,0,213,2,213,2,213,2,213,2,213,2,213,2,213,2,73,3,73,3,26,2,251,1,172,2,111,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,203,1,168,1,238,1,17,2,17,2,158,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213, -2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,53,3,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,213,2,184,3,199,2,199,2,199,2,199,2,199,2,254,2,23,0,32,0,43,3,109,3,151,2,90,2,90,2,43,3,73,0,113,0,205,255,161,255,161,255,161,255,245,1,245,1,245,1,83,2,83,2,41,3,205,0,20,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,192,0,116,2,242,1,242,1,113,0,222,255,222,255,222,255,222,255, -222,255,222,255,161,255,161,255,161,255,112,3,162,255,162,255,214,2,228,2,99,0,29,3,119,3,93,1,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,173,3,173,3,173,3,43,3,43,3,158,3,43,3,43,3,43,3,238,255,43,3,43,3,74,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,43,3,224,0,96,2,142,3,142,3,142,3,54,4,45,0,213,1,252,1,166,3,202,3,202,3,140,4,166,3,140,4,12,4,159,4,103,1,249,3,202,3,186,3,249,3,249,3,68,4,218,2,241,1,201,4,147,4,147,4,204,4,204,4,147,4,1,5,0,5,154, -4,11,5,11,5,11,5,11,5,147,4,13,5,154,4,1,5,0,5,0,5,154,4,147,4,13,5,152,4,220,4,147,4,147,4,13,5,22,5,147,4,13,5,147,4,13,5,22,5,205,4,205,4,205,4,239,4,22,5,205,4,214,4,205,4,239,4,205,4,205,4,198,4,221,4,198,4,221,4,198,4,221,4,198,4,221,4,147,4,147,4,194,4,22,5,24,5,24,5,22,5,206,4,218,4,219,4,222,4,154,4,67,5,68,5,83,5,83,5,95,5,95,5,95,5,95,5,161,255,161,255,161,255,161,255,161,255,161,255,161,255,161,255,195,1,108,3,90,1,135,4,75,4,185,1,55,3,164,4,87,4,166,4,171,4,175,4,176,4,237,3,105,4,200, -4,21,2,177,4,188,4,131,4,190,4,85,4,88,4,196,4,133,4,11,3,106,5,108,5,90,5,227,4,99,5,21,5,100,5,101,5,102,5,254,4,251,4,16,5,5,5,109,5,6,5,116,5,132,5,14,5,3,5,103,5,104,5,25,5,82,5,78,5,23,5,142,5,139,5,124,5,40,5,8,5,69,5,125,5,70,5,65,5,81,5,47,5,131,5,136,5,138,5,46,5,54,5,140,5,84,5,143,5,144,5,137,5,145,5,85,5,110,5,147,5,94,5,93,5,151,5,152,5,153,5,61,5,156,5,157,5,159,5,158,5,57,5,160,5,162,5,126,5,122,5,165,5,64,5,163,5,127,5,164,5,128,5,163,5,170,5,171,5,172,5,173,5,174,5,176,5,185,5,177, -5,179,5,178,5,180,5,181,5,183,5,184,5,180,5,186,5,188,5,189,5,190,5,192,5,89,5,96,5,97,5,98,5,193,5,200,5,202,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21, -5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, -21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223,3,156,4,56,4,223,3,56, -4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, -21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110, -50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116, -101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99, -47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70, -117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110, -99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,51,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10, -11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152, -153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2, -5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103, -110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,149,0,0,0,102,0,0,0,80,1,1,0,32,0,7,1,94,0,0,1,85,1,0,0,13,0,2,0,109,0,0,0,73,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0, -0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114, -105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,53,45,49,56,32,49,48,58,53,55,58,51,48,32,102,99,52,57,102,53,53,54,101,52,56,57,55,48,53,54,49,100,55,97,98,54,97,50,102,50,52,102,100,100,55,100,57,101,98,56,49,102,102,50,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102, -117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5, -6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73, -83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68, -65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69, -70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101, -31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0, -82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109],"i8",4,l.aa+10350); -z([101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101, -44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100, -32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101, -32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65, -84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122, -101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39, -32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113, -95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67, -84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32, -37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105, -114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89, -32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46, -39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87, -72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79, -32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99, -111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111, -99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101, -108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116, -97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32, -108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82, -32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45, -49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116, -58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0, -119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77, -65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32, -116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39, -0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110, -105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105, -110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75, -69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105, -114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115, -105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32, -37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116, -32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105, -122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108, -0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44, -32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97, -99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110, -99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115, -105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102, -115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116, -104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117, -110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111, -114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197, -1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173, -3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0, -240,2,149,1,149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108, -101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104, -105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69, -32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84, -32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97, -32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101, -114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117, -109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44, -37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100, -101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72, -69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81, -32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32, -110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108, -105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37, -115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79, -82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109, -117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0, -85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111, -111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46, -42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110, -115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32, -37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98, -108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115],"i8",4,l.aa+20590); -z([101,116,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109, -110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98, -108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116, -114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32, -105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79, -77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115, -40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32, -37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111, -111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32, -116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116, -32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32, -118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85, -69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,99,0,1,3,64,1,8,0,74,0,2,0,48,1,2,1,64,1,8,0,74,0,1,0,159,0,0,0,85,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108, -0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,99,0,1,4,21,1,0,0,73,0,2,0,100,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116, -32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105, -0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120, -32,0,89,1,0,0,21,1,4,0,97,0,3,0,85,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,100,0,0,0,2,0,0,0,99,0,1,0,85,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109, -105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109, -117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116, -111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115, -116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101, -95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101, -95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115, -121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121, -0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105, -110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76, -69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32, -34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115, -32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,112,0,0,0,96,0,2,0,113,0,0,0,109,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,55,33,26,23,25,24,59,57,56,58,7,6,55,33,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115, -0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37, -115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120, -32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,1,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,0,0,16,16,16, -0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,0,16,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73, -71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119, -115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117, -114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78, -67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69, -32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83, -32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116, -101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69, -76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111, -108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114, -101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32, -116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65, -82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39, -37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93, -32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37, -115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44, -115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120, -105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,77,0,0,0,55,0,9,0,94,0,0,0,36,0,7,0,121,0,0,0,94,0,1,0,13,0,9,0,7,0,2,0,74,0,0,0,109,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46, -47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,92,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,249,22,172,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52, -53,19,0,1,2,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,168,169,170,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,157,22,23,23,96,26,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,221,222,223,185,27,28,29,30,31,32,33,34,35,36,37,38, -39,40,41,240,43,44,45,46,47,48,49,50,51,52,53,19,227,22,23,230,22,96,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,30,43,44,45,46,47,48,49,50,51,52,53,19,190,191,55,56,24,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,168,169,170,179,180,171,96,19,172,173,97,98,188,179,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,107,43,44,45,46,47,48,49,50,51,52,53,19,207,208,30,31,32,33,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50, -51,52,53,19,152,7,8,9,49,22,19,24,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,108,109,110,101,55,53,193,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,116,22,23,169,170,121,207,85,55,56,97,19,20,195,22,99,100,101,102,103,104,105,12,152,206,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,101,97,98,99,148,149,102,103,104,66,154,112,156,83,229,47,48,113,57,163,194,195,92,246,247,95,83, -97,98,207,208,101,206,59,73,92,75,63,95,163,97,98,194,195,101,219,85,181,19,152,175,77,196,152,206,19,20,199,22,30,163,11,132,133,134,135,136,209,152,172,173,152,196,172,173,132,133,134,135,136,164,92,213,47,48,49,92,186,169,170,54,55,56,196,100,219,221,222,223,243,132,133,66,175,207,208,152,231,119,120,19,20,236,22,152,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,152,97,98,85,107,101,47,48,163,112,92,152,152,54,55,56,229,221,222,223,172,173,163,49,152,66,108,109,110,55,56,172,173,163,186,22, -132,133,134,135,136,196,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,99,101,152,102,103,104,92,196,146,147,152,181,97,98,113,19,20,152,22,218,22,116,108,109,110,152,121,55,56,12,219,218,132,133,134,135,136,172,173,55,56,55,56,47,48,172,173,236,152,5,54,55,56,55,10,11,12,13,14,186,152,17,66,47,48,152,210,16,84,97,98,55,56,21,57,217,122,22,152,83,152,97,98,97,98,172,173,152,152,224,73,95,75,97,98,97,124,101,172,173,164,193,47,48,60,163,62,172,173,24,55,56,186,97,98,71,100,55,56,183,207,185,152, -107,23,109,82,26,132,133,134,135,136,89,152,26,92,93,196,88,55,90,152,91,152,217,152,152,132,133,95,152,97,211,212,103,101,152,114,97,98,152,172,173,19,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,65,97,152,152,141,124,132,133,134,152,140,140,152,78,152,233,152,193,98,152,56,86,172,173,166,167,237,152,217,172,173,152,172,173,172,173,172,173,237,172,173,152,152,152,124,152,111,172,173,152,237,172,173,152,55,152,26,152,130,152,152,172,173,172,173,172,173,249,152,172,173,152,61,172,173,172,173,172, -173,172,173,70,152,193,152,137,152,139,172,173,152,172,173,152,152,152,97,152,26,152,163,152,172,173,172,173,172,173,152,16,172,173,26,172,173,172,173,172,173,172,173,172,173,163,152,152,152,22,172,173,152,241,152,196,152,193,106,152,152,152,163,152,37,152,172,173,172,173,152,152,172,173,172,173,172,173,196,172,173,172,173,172,173,172,173,152,152,152,172,173,98,152,152,196,160,22,23,19,164,193,152,88,232,90,191,172,173,172,173,163,193,172,173,166,167,163,124,163,244,245,23,211,212,26,55,23,55,23, -26,123,26,152,23,193,56,26,23,23,23,26,26,26,196,100,101,7,8,152,196,23,196,23,26,152,26,132,133,23,132,133,26,152,152,152,152,210,97,152,97,96,152,152,152,152,152,210,152,210,197,152,152,152,152,152,152,152,152,152,152,152,152,198,150,176,214,201,214,238,201,238,184,214,226,200,155,198,67,122,242,159,159,69,239,239,159,175,175,22,220,180,175,27,130,18,159,18,158,137,220,159,158,235,74,189,234,159,159,158,22,192,192,177,159,159,192,192,189,201,189,158,107,158,177,76,174,201,174,201,106,159,174,125, -174,182,177,176,107,159,174,137,174,53,174,129,216,215,215,182,216,216,177,215,126,216,177,128,25,127,26,215,13,162,161,153,153,6,151,151,151,151,165,178,165,178,4,3,22,142,15,94,16,205,120,202,204,203,165,201,23,23,131,111,123,20,225,125,16,1,131,228,111,123,56,228,37,37,64,1,5,122,22,107,140,80,80,26,87,72,107,24,20,19,112,105,23,68,22,79,79,22,22,22,58,22,245,248,248,79,23,23,23,116,22,122,23,22,56,23,26,23,64,22,124,26,26,64,64,23,23,23,11,23,22,26,23,22,24,1,23,22,26,250,24,23,22,122,23,23,22, -15,23,250,122,122,122,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27, -27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105, -110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116, -32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111, -114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115, -116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111, -32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69, -32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, -99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109],"i8",4,l.aa+30830); -z([101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115, -117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115, -117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32, -115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32, -87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115, -113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117, -109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46, -115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109, -97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32, -112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117, -115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101, -97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103, -101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115, -0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110, -115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112, -0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,76,97,115,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,83,111,114,116,101,114,83,111,114,116,0,66,105,116,65,110,100,0,66,105,116,79, -114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,83,111,114,116,0,66,105,116,78,111,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102, -90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101, -0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,83,116,114,105,110,103,56,0,67,111,117,110,116,0, -82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101, -0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111, -119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,82,101,97,108,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109, -0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72, -105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101, -0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110, -116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32, -112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100, -0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119, -105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99, -97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97, -103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102, -115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112, -101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66, -67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101, -111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113, -117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54, -55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112, -111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0, -37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65, -66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123, -124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111, -114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101, -115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111, -110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101, -32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108, -105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105, -108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70, -117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115, -32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101, -32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108, -32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101, -116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116, -105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111, -114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41070);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71, +1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143, +1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118, +3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136, +31,150,8,152,31,150,8,168,31],"i8",4,l.aa); +z([150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62, +121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255, +170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29, +25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27,3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76, +0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0, +217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137,4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4, +102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230,4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239, +4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209, +3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3,190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0, +98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2,46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3, +86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0, +178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94, +0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3,194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78, +3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83, +0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64,3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19, +0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166, +3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3,56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8, +3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214,3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12, +1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0,120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0, +42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0,18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121, +0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190,1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0, +242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0,143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0, +142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170,1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1, +134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239,2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211, +0,12,5,11,5,53,1,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91,1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2, +248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181,3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31, +6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255,181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73, +5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214,4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4, +153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133,5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5, +252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178,4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5, +52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52,5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243, +4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111, +4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104,4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52, +5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,12,0,14, +0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101, +0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, +116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, +116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, +117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, +101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, +134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, +99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0,0,75,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12, +0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, +64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110, +111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5, +4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73, +79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67, +65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83, +67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141,83,9,20,13,118,88,105,99,131, +81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8, +0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116, +41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32, +114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101, +109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97, +105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110],"i8",4,l.aa+10240); +z([105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69, +32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81, +46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40, +83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111, +99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99, +107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116, +97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98, +108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101, +118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63, +0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101, +39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63, +32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32, +49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69, +32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39, +37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72, +69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32, +105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108, +61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116, +97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79, +73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114, +103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68, +69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80, +32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69, +88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102, +105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78, +44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116, +115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99, +107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37, +81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105, +108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109, +0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115, +116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118, +119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110, +111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115, +0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115, +116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32, +98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178, +0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3, +203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177, +0,177,3,187,5,187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1, +168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105, +101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32, +115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115, +0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35, +37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97, +116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32, +97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100, +101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40, +37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115, +113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95, +114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117, +116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95, +115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101, +32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101, +103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117, +108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102, +32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109, +97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115, +0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117, +101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108, +105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105, +98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0, +97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111, +116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37, +115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, +111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101],"i8",4,l.aa+20480); +z([32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116, +101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32, +105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114, +45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98, +105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97, +99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110, +97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99, +97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101, +114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115, +32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111, +114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114, +121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78, +79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32, +105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101, +97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115, +115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113, +0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111, +114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111, +117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108, +116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0, +102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114, +121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116, +97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112, +101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32, +110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97, +108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66, +76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111, +119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,44,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115, +116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0, +0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6,16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55, +56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,114,111, +119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37, +84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116, +101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97, +116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32, +98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119, +0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110, +97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115, +32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101, +32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105, +115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105, +99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32, +109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115, +32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115, +32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103, +101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101, +100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47, +48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119, +120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46, +47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33, +247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206, +179,180,92,172,173,95,152,97,98,188,99,101,219,102,103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83, +43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56,101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132, +133,134,135,136,89,16,207,92,93,19,172,173,169,170,195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172, +173,152,172,173,152,172,173,152,152,172,173,152,172,173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217, +166,167,163,163,163,163,163,196,130,217,211,212,217,116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159, +158,22,177,201,201,159,107,158,177,159,174,158,76,174,182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64, +22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24,1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3, +3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32, +100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114, +101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114, +101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110, +111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114, +111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104, +97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108, +32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65, +67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115, +99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68,32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34, +37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118],"i8",4,l.aa+30720); +z([97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32, +37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79, +110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101, +32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110, +99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115, +116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115, +45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109, +0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117, +116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116, +0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84, +0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90,101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101, +114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112, +97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110, +99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111, +119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112, +73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79, +112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32, +97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111, +99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105, +115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116, +32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32, +105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100, +58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114, +0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81, +76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116, +105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,109,111,100,101,111,102,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0,113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2, +14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103, +101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0, +110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110, +116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115, +116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101, +32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97, +114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,51,46,55,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25, +13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97, +32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99, +101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45, +111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100, +114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117, +115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100, +101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117, +108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109, +111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115, +99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111, +116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114, +101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111, +110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111, +116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+40960);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; var D={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Bb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core", 13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable", @@ -453,22 +450,22 @@ T();T();T();var d=M[c];if(!d)throw new H(D.L);uc(d.g);return 0}catch(e){return"u var W=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.jsCall_iiii;var fa=env.invoke_i;var ga=env.jsCall_i;var ha=env.invoke_vi;var ia=env.jsCall_vi;var ja=env.invoke_vii;var ka=env.jsCall_vii;var la=env.invoke_iiiiiii;var ma=env.jsCall_iiiiiii;var na=env.invoke_ii;var oa=env.jsCall_ii;var pa=env.invoke_viii;var qa=env.jsCall_viii;var ra=env.invoke_v;var sa=env.jsCall_v;var ta=env.invoke_iiiii;var ua=env.jsCall_iiiii;var va=env.invoke_viiiiii;var wa=env.jsCall_viiiiii;var xa=env.invoke_iii;var ya=env.jsCall_iii;var za=env.invoke_iiiiii;var Aa=env.jsCall_iiiiii;var Ba=env.invoke_viiii;var Ca=env.jsCall_viiii;var Da=env._pthread_cleanup_pop;var Ea=env.___syscall85;var Fa=env._sin;var Ga=env._exp;var Ha=env._utimes;var Ia=env._llvm_pow_f64;var Ja=env._acos;var Ka=env.___syscall54;var La=env._pthread_cleanup_push;var Ma=env._abort;var Na=env.___syscall40;var Oa=env.___syscall118;var Pa=env.___setErrNo;var Qa=env.___syscall20;var Ra=env.___syscall183;var Sa=env.___assert_fail;var Ta=env._usleep;var Ua=env._asin;var Va=env.___buildEnvironment;var Wa=env.___syscall202;var Xa=env.___syscall91;var Ya=env._cos;var Za=env.___syscall39;var _a=env._localtime_r;var $a=env._tzset;var ab=env._emscripten_set_main_loop_timing;var bb=env._sbrk;var cb=env.___syscall192;var db=env.___syscall197;var eb=env.___syscall196;var fb=env.___syscall195;var gb=env.___syscall194;var hb=env.___syscall212;var ib=env._sysconf;var jb=env.___syscall94;var kb=env._nanosleep;var lb=env._emscripten_memcpy_big;var mb=env.___syscall221;var nb=env._floor;var ob=env._atan;var pb=env.___syscall201;var qb=env._pthread_self;var rb=env._getenv;var sb=env.___syscall33;var tb=env._log;var ub=env.___unlock;var vb=env.___syscall140;var wb=env.___syscall15;var xb=env._emscripten_set_main_loop;var yb=env.___syscall10;var zb=env._tan;var Ab=env.___syscall3;var Bb=env.___lock;var Cb=env.___syscall6;var Db=env.___syscall5;var Eb=env.___syscall4;var Fb=env._time;var Gb=env._atan2;var Hb=env._gettimeofday;var Ib=env._ceil;var Jb=env._sqrt;var Kb=env._localtime;var Lb=env.___syscall207;var Mb=env.___syscall146;var Nb=0.0; // EMSCRIPTEN_START_FUNCS -function hi(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[960]|0)==0?3:2;while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+152>>2]|0)){Qh(d);break}jg(d,5,26848,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}ku(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(137248)|0;C=c[q>>2]|0;i=D;return C|0}function ii(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=qj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=eu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[18229+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=fu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=eu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=rh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;yR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Sj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);lh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26797,h)|0;je(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Wj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Xj();i=h;return 0}function li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=cu(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function ni(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+164>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function oi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(138404)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+80>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+92|0;g=1568;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+92+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+140>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;xj((c[n>>2]|0)+364|0);xj((c[n>>2]|0)+320|0);pi(c[n>>2]|0,35351,1,0,141,0)|0;pi(c[n>>2]|0,35351,3,0,141,0)|0;pi(c[n>>2]|0,35351,2,0,141,0)|0;pi(c[n>>2]|0,21045,1,0,142,0)|0;pi(c[n>>2]|0,21052,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Qj(c[n>>2]|0,1,35351,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=_j(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)lh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?19007:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=$j(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ak(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ak(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=21058;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=19288;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+80>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);bk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ck(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=dk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);ei(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+80>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function pi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[960]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(137955)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+152>>2]|0){jg(b,5,20977,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Qh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=qj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function qi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+144+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=tj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=tj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,1);a[(c[f>>2]|0)+144+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}vj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=qj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function si(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,20503)|0){if(!(ig(c[d>>2]|0,20511)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,20517)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function ti(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(RQ(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=pj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ai(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Si(c[m>>2]|0)}c[n>>2]=Ti(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Ri(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ci(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Pi(8,c[b>>2]|0);if((c[76]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[75];c[75]=c[c[75]>>2];c[76]=(c[76]|0)+-1;Qi(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Qi(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Di(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[74]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[75];c[75]=c[e>>2];c[76]=(c[76]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Ei(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Mi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Fi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[19019+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=HR(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=wR(b|0,e|0,(Ji(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Ki(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Gi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ii(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Hi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ii(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=19018;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Ki(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;l=v+48|0;m=v+44|0;n=v+40|0;h=v+36|0;j=v+52|0;q=v+32|0;k=v;r=v+28|0;p=v+24|0;o=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]^1);c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[19019+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;j=k;g=c[j>>2]|0;j=c[j+4>>2]|0;if(!h)break;b=HR(g|0,j|0,10,0)|0;e=c[o>>2]|0;e=wR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=vR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(j>>>0>2147483647|(j|0)==2147483647&g>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=vR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);do if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[t>>2]|0)>>>0){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}c[o>>2]=Li(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}if((c[o>>2]|0)>0){c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;u=c[l>>2]|0;i=v;return u|0}}}while(0);c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}function Li(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=19383;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Mi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[19019+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Ni(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[19402+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(19418+(d[19410+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[19443+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[19443+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Ni(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Oi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[19019+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[19019+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Ji(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[19019+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=HR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=wR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=vR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=vR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1036+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=996+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[996+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1036+(c[d>>2]<<2)>>2]=c[996+(c[d>>2]<<2)>>2];i=e;return}function Ri(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[18229+(d[c[h>>2]>>0]|0)>>0]<<2^(d[18229+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[19451+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[19578+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19702+(e[10356+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[20379+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[20255+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Si(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Zi(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Ti(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Ui(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Vi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Wi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Xi(c[g>>2]|0);c[n>>2]=Yi(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Zi(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=wR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=vR(o|0,C|0,1,0)|0;o=FR(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{Zi(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];_i(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Wi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hj(c[d>>2]|0)|0;i=b;return a|0}function Xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;bj(c[(c[d>>2]|0)+96>>2]|0);cj(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function Yi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=aj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$i(c[d>>2]|0);i=b;return}function _i(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function $i(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[423]|0)>>>0?(c[b>>2]|0)>>>0<(c[424]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[426];c[426]=c[e>>2];c[427]=(c[427]|0)+1;c[428]=(c[427]|0)<(c[422]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function aj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=HR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=FR(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function bj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function cj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dj(c[d>>2]|0,0);i=b;return}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)ej(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){AR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function ej(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}fj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}gj(c[d>>2]|0);i=f;return}function fj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+4|0;g=k+8|0;j=k;c[h>>2]=b;a[g>>0]=f;c[j>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1){if((c[(c[j>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[j>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];f=c[(c[h>>2]|0)+36>>2]|0;if(c[(c[h>>2]|0)+32>>2]|0)c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[j>>2]|0)+4>>2]=f;f=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[j>>2]>>2]=f;if(!(c[c[j>>2]>>2]|0))a[(c[j>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){i=k;return}c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[j>>2]|0)+4>>2]=f;if(a[(c[j>>2]|0)+32>>0]|0)a[(c[j>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;c[c[j>>2]>>2]=c[h>>2];if(c[(c[j>>2]|0)+8>>2]|0){i=k;return}if(e[(c[h>>2]|0)+24>>1]&8){i=k;return}c[(c[j>>2]|0)+8>>2]=c[h>>2];i=k;return}function gj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[420]|0)?(c[d>>2]=c[426],(c[d>>2]|0)!=0):0){c[426]=c[c[426]>>2];c[427]=(c[427]|0)+-1;c[428]=(c[427]|0)<(c[422]|0)&1;Pi(7,c[b>>2]|0);Qi(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Pi(7,c[b>>2]|0);Qi(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function ij(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function jj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=ij(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ah(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}yR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;AR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=jj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=jj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function kj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];yR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;AR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(oj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function nj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;nj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function oj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function pj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=rj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=sj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function sj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[18229+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function tj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?20521:20540;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=20554;c[B+8>>2]=20556;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];zj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(qg(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=og(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Aj(z,B,kh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;pg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Aj(c[o>>2]|0,c[m>>2]|0,20632);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Bj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Cj(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Aj(c[o>>2]|0,c[m>>2]|0,20700);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Eh(B,20724,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Dj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Bg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Ej(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)lh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);wj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;wj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function wj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];xj((c[f>>2]|0)+40|0);yj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(j);xj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(h);yj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function zj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;j=r+40|0;s=r+36|0;k=r+28|0;n=r+20|0;l=r+16|0;m=r+12|0;q=r+8|0;p=r+4|0;o=r;c[s>>2]=d;c[r+32>>2]=f;c[k>>2]=g;c[r+24>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20866,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Ij(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Oi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,20874);break a}while(0);Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[(c[l>>2]|0)+144+4>>0]=c[m>>2];s=Ni(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+144>>2]=s;a[(c[l>>2]|0)+144+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+144+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+144+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){lh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Nj(q,s,bf(c[l>>2]|0)|0)}}while(0);Yd(c[p>>2]|0)|0}while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=ph(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Bj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Lj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Dj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+36|0;f=o+32|0;l=o+24|0;g=o+20|0;n=o+16|0;k=o+12|0;h=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=d;c[k>>2]=0;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];b[c[(c[h>>2]|0)+8>>2]>>1]=0;c[g>>2]=c[c[g>>2]>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(ri(c[e>>2]|0,20779,c[l+4>>2]|0)|0){h=c[e>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=Eh(h,20792,m)|0;if(!(c[n>>2]|0)){c[k>>2]=7;break}else{c[k>>2]=$e(c[e>>2]|0,c[n>>2]|0,141,l,0)|0;Tf(c[e>>2]|0,c[n>>2]|0);break}}while(0);c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(b[c[(c[j>>2]|0)+8>>2]>>1]|0))Gj(c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}if((c[k>>2]|0)!=7){n=c[k>>2]|0;i=o;return n|0}lh(c[e>>2]|0);n=c[k>>2]|0;i=o;return n|0}function Ej(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Mg(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Lg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Fj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ri(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Hj(c[q>>2]|0)|0;break}else{c[o>>2]=Ij(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Jj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Jj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Gj(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5302]|0;b[h+2>>1]=b[5303]|0;b[h+4>>1]=b[5304]|0;b[h+6>>1]=b[5305]|0;b[h+8>>1]=b[5306]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;yR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Hj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=qj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Jj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Kj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20833,c[p>>2]|0)|0){r=(Ze(20844,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Ni(j+3|0)|0;r=Kj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20854,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Kj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=BR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=xR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=xR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[10614+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Mj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=aj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Nj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20891;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Eh(e,20893,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Eh(e,20924,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Oj(112037)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(11,c[d>>2]|0,20932)|0;i=b;return a|0}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20952,g);i=f;return c[e>>2]|0}function Qj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Rj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=qj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=rh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;yR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Sj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}lh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=rj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Tj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Uj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=sj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Vj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}yj(c[e>>2]|0);i=j;return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Wj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Xj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;AR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=sj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Vj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Wj(){if(!(c[429]|0))return;Vb[c[1716>>2]&255]();return}function Xj(){if(!(c[430]|0))return;Vb[c[1720>>2]&255]();return}function Yj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=LQ(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(bu((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(bu((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function Zj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function _j(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(LQ(c[n>>2]|0,26639,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=wR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(LQ(26645,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26655,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[19019+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[19019+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(LQ(26683,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(LQ(26687,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4948;c[z>>2]=c[A>>2];c[N>>2]=26687}if((c[D>>2]|0)==4?(LQ(26693,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4972;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26698}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(LQ(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26705,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26725,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){yR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26749,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function $j(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(OQ(c[n>>2]|0,26453)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Xq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=Yq(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else yR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1217];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(OQ(w,Ii(c[c[F>>2]>>2]|0,0)|0)|0)?(w=wi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=_q(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;$q(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=ar(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];cr(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((dr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(er(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(er(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Ti(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+64>>2]=1;c[(c[F>>2]|0)+68>>2]=c[1217];c[1217]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Wq(c[E>>2]|0,0,0)|0))Lj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)fr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ak(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Wq(c[g>>2]|0,84,150)|0;else c[h>>2]=rh(0,84,0)|0;if(!(c[h>>2]|0)){lh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}xj((c[h>>2]|0)+8|0);xj((c[h>>2]|0)+24|0);xj((c[h>>2]|0)+40|0);xj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,26447,2)|0;if((c[e>>2]|0)!=7){i=d;return}lh(c[b>>2]|0);i=d;return}function ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[382]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>>>0>=(c[382]|0)>>>0){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[383]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=Ob[c[h>>2]&255](c[b>>2]|0,j,4012)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];jg(l,a,26408,g);c[d>>2]=0}Kd(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;ek(h);c[j>>2]=fk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}gk(g);hk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)ik(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((jk(c[e>>2]|0,21063,7,c[g>>2]|0)|0)==0?(jk(c[e>>2]|0,21070,7,c[f>>2]|0)|0)==0:0)?(jk(c[e>>2]|0,21077,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=kk(c[d>>2]|0,c[e>>2]|0,21087)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21102,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21110,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21118,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21118,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21128,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,21137,1724,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,21142,1724,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=mk(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){nk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function ek(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2344;i=b;return}function fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,26059,2252,0)|0;i=d;return c[b>>2]|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2224;i=b;return}function hk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2196;i=b;return}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function jk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Fk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Gk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))_p(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?($p(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?($p(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=aq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=aq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){yR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}ok(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;bq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function lk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];nk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,21147,1816,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function nk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;ok(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[e>>2]|0)+12>>2]|0);ok(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function ok(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,21160)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ak(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=21063;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Bk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function qk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function rk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];zk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function uk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];zk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=ae(c[c[k>>2]>>2]|0)|0;c[l>>2]=be(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}yR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=vk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}zk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function wk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{ne(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{ke(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{ke(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function zk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(RQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=RQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];yR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Mk(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=RQ(c[g>>2]|0)|0;c[k>>2]=Ck(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Dk(o,21211,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Ek(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Fk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Gk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Gk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Hk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=SQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=LQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=RQ(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Mk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Nk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Ok(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Pk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Hp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Ip(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=24240;else c[e>>2]=24245;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;ll(f,a,24440,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;ll(f,o,24477,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;ll(f,o,24515,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;ll(f,o,24551,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;ll(f,o,24588,j);if(!(c[f>>2]|0)){o=Qk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Yd(c[(c[d>>2]|0)+8>>2]|0)|0;ep(c[(c[d>>2]|0)+12>>2]|0);Gp(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);xm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Uk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Yd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);xm(c[(c[w>>2]|0)+92>>2]|0);ep(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=fp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=fp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=ae(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(fe(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=de(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=gp(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=hp(c[w>>2]|0)|0;wm(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?24240:24245;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(24249,A)|0}else{A=(d[l+52>>0]|0)!=0?24240:24245;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(24311,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Dn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Pe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Vk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Vk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=dp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(ue(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Zd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=Ee(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Wk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;le(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){ge(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;le(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=rn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=De(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;ke(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ze(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;pe(m,Ge(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Eo(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function _k(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=jl(c[d>>2]|0)|0;i=b;return a|0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=kl(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=co(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=eo(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;wm(c[e>>2]|0);i=g;return c[f>>2]|0}function al(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function bl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];hl(c[d>>2]|0);i=b;return 0}function cl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+80|0;j=m+64|0;n=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[n>>2]=e;e=c[n>>2]|0;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[517];c[l+4>>2]=c[518];c[l+8>>2]=c[519];c[l+12>>2]=c[520];c[l+16>>2]=c[521];c[l+20>>2]=c[522];c[l+24>>2]=c[523];c[l+28>>2]=c[524];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}n=(OQ(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(n){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;n=c[j>>2]|0;i=m;return n|0}else if((b|0)==6){c[j>>2]=0;n=c[j>>2]|0;i=m;return n|0}return 0}function dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=jl(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=kl(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;ll(h,p,21233,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;ll(h,p,21286,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;ll(h,p,21339,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;ll(h,p,21386,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;ll(h,p,21440,l);i=o;return c[h>>2]|0}function el(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=$k(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function fl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];hl(c[e>>2]|0);i=d;return 0}function hl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];il(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}nk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function il(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function jl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23797;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(ue(c[g>>2]|0)|0)==100&1,c[h>>2]=Yd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function kl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ml(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}hl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=nl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Le(c[g>>2]|0,1,2)|0;c[h>>2]=ue(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=De(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Zd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ol(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=pl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=sl(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=tl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=ul(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=vl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=wl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=xl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);yl(c[q>>2]|0);zl(l);i=s;return c[r>>2]|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;yR(f|0,1908,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Re(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Pe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ol(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=hm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=nl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(m,1,e,C)|0;e=c[l>>2]|0;m=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(e,2,m,C)|0;if(100==(ue(c[l>>2]|0)|0)){e=Ee(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Zd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=HR(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=wR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=HR(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=wR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function rl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=nl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(a,1,f,C)|0;if(100==(ue(c[n>>2]|0)|0))c[m>>2]=De(c[n>>2]|0,0)|0;c[o>>2]=Zd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=fm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function tl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ol(c[G>>2]|0);else c[H>>2]=Pl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(LQ(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(LQ(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Sl(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Tl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Ul(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Ul(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Vl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=vR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=vR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Hl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Wl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Il(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;yR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Rl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function ul(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=nl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(ue(c[w>>2]|0)|0)){e=Ee(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Zd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Kl(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Hl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Hl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Hl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=wR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Dl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Ll(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Hl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Hl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=wR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;yR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;yR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);yR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function vl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Jl(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=nl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Me(p,1,a,C)|0;a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Me(a,2,p,C)|0}}else{c[r>>2]=nl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Me(a,1,p,C)|0}}if(!(c[r>>2]|0)){ue(c[q>>2]|0)|0;c[r>>2]=Zd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function wl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=wR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Dl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=El(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=nl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=FR(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=wR(f|0,C|0,1,0)|0;f=HR(f|0,C|0,1024,0)|0;f=vR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=HR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=FR(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=wR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Me(j,1,a,C)|0;a=n;Me(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(ue(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;Cl(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Zd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Me(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(ue(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Le(a,1,u)|0;u=c[r>>2]|0;Le(u,2,De(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Le(u,3,De(c[q>>2]|0,1)|0)|0;ue(c[r>>2]|0)|0;c[t>>2]=Zd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Zd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Zd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Me(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;ue(c[s>>2]|0)|0;c[t>>2]=Zd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function yl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Bl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function zl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Al(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Al(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Bl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function Cl(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Fe(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=HR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=wR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=HR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=wR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=HR(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Dl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=nl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Me(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Je(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function El(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Gl(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=vR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Gl(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Dl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=wR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=wR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=El(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Fl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=nl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Me(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Le(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Me(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Me(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Me(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23769,B)|0;if(c[C>>2]|0){Oe(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Je(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;ue(c[z>>2]|0)|0;c[A>>2]=Zd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Hl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Il((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=xR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Il(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=xR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=nl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Me(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Me(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;ue(c[f>>2]|0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Kl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Kl(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Hl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Hl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;yR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];yR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Ll(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Ll(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ol(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Pl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){yR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ol(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=wR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=em(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}yR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=LQ(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=LQ(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);yR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Tl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;_l(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=am(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=Yl(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ul(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}_l(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=$l(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=am(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(Yl(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=vR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=wR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Vl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=Zl(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}AR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Wl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Xl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=Yl(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Xl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];yR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=BR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=wR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function _l(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;cm(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=HR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=vR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];dm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=Yl(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=HR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=wR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];bm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function $l(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=$l(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];yR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];Yl(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function em(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23779,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23791,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function fm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Pl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=gm(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ol(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Rl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=LQ(a,d,c[g>>2]|0)|0;else c[h>>2]=LQ(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function hm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=im(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=jm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=km(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=ue(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=Ee(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=Ee(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=Ee(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Be(c[A>>2]|0,4)|0;c[F>>2]=Ae(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=lm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=mm((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=jm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Zd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(LQ(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)KQ(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Ek(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){AR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;yR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Al(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function km(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=nl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(k,1,f,C)|0;f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(f,2,k,C)|0}}else{c[n>>2]=nl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function lm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)Zl(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=nm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=em(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=em(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function mm(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];yR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=vR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function nm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}yR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=LQ(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=wR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=LQ(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=24043;c[n>>2]=24047;c[m>>2]=24052;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){je(d,24063,-1);i=p;return}if(tm(d,21102,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=de(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=de(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=ae(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=ae(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){te(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){ne(d,19018,-1,0);i=p;return}if(rn(d,c[l>>2]|0)|0){i=p;return}Wn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(tm(c[e>>2]|0,21110,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(rn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Sn(c[e>>2]|0,c[f>>2]|0);i=g;return}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(tm(c[e>>2]|0,21128,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Qn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,23947,-1,0);i=j;return}case 101:{ne(c[e>>2]|0,23963,-1,0);i=j;return}default:{re(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(tm(c[e>>2]|0,21118,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;um(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((fe(c[k>>2]|0)|0)==4?(be(c[k>>2]|0)|0)==4:0){d=$d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23918,n)|0;je(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23853;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){vm(e,c[g>>2]|0,c[j>>2]|0);wm(c[h>>2]|0);i=k;return}else{ge(e,19018,0,0);i=k;return}}function vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(OQ(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){xm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=ym(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(zm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Am(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){je(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Bm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Cm(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Dm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Em(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;ge(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}re(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function wm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function xm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function ym(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Lm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function zm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Dk(f,23883,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=RQ(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}AR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);yR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Cm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)yR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Dm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Fm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=Yl(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=FR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=wR(f|0,0,e|0,C|0)|0;f=s;f=FR(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Gm(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=Ae(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=Yl(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Zd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Im(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;AR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Jm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Lm(c[w>>2]|0,154,c[j>>2]|0)|0;Mm(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Lm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Zd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Em(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;yR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Fm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Nn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=Ae(c[n>>2]|0,0)|0;o=Yl(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=Mn(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Lm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}AR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Lm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Om(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Kn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Kn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Jm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Jm(c[b+12>>2]|0,c[f>>2]|0);Jm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{In(b,c[f>>2]|0);i=g;return}}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Fn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=En(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=rn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=sn(c[d>>2]|0)|0;c[f>>2]=0==(tn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;un(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Om(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Pm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0}function Om(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Qm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Rm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Rm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=vR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,HR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Sm(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=vR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=HR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;_l(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Xl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0} -function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[352+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[352+((c[f>>2]|0)*12|0)>>2]|0,a[352+((c[f>>2]|0)*12|0)+4>>0]|0,d[352+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[352+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[832+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[832+(c[f>>2]<<4)>>2]|0,a[832+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[832+(c[f>>2]<<4)+8>>2]|0,c[832+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,378,17374);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,379,17383);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,380,17392);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(17401,17350,570,17409);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);ie(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}me(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,394,17418);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+nQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,402,17428);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+oQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,410,17438);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+pQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(17401,17350,1680,17448);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}ke(c[f>>2]|0,c[j>>2]|0);i=o;return}me(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,498,17852);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,499,17864);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,420,17876);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,419,17884);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,421,17892);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,422,17900);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,446,17908);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+qQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,438,17917);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+uQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,454,17926);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+vQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,456,17935);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,474,17944);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,472,17952);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,473,17960);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+sQ(+h[g>>3]);l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(17401,17350,546,17970);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);c[(gQ()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){ie(e,+h[k>>3]);i=l;return}else{m=hQ(c[(gQ()|0)>>2]|0)|0;je(e,m,c[(gQ()|0)>>2]|0);i=l;return}}me(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17342,17350,590,17980);switch(fe(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=ee(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;le(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[j>>2]|0);i=k;return}default:{h[g>>3]=+ce(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);ie(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,375,17989);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(gQ()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(gQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=hQ(c[(gQ()|0)>>2]|0)|0;je(e,l,c[(gQ()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17342,17350,514,17998);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=ee(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;le(a,HR(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);ie(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17342,17350,620,18009);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17342,17350,645,18018);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;ie(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(fe(c[c[f>>2]>>2]|0)|0)){i=n;return}a=ee(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[e>>2]|0,18028,-1);i=n;return}a=be(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=HR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=wR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=wR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;PQ(o,ae(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=HR(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;PQ(o+k|0,c[m>>2]|0)|0;k=g;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}ne(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}te(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(18041,17350,1038,18059);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(de(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;ke(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}me(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,1073,18073);if(5!=(fe(c[c[h>>2]>>2]|0)|0)?5!=(fe(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=de(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){TQ(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;ne(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{te(c[g>>2]|0);i=p;return}}me(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,1113,18082);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[k>>2]=de(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){PQ(c[l>>2]|0,c[o>>2]|0)|0;ne(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{te(c[f>>2]|0);i=p;return}}me(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(18092,17350,1323,18100);if(5==(fe(c[c[g>>2]>>2]|0)|0)){me(c[f>>2]|0);i=o;return}c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[j>>2]=RQ(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){te(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}ne(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(17342,17350,724,18112);if(5==(fe(c[c[f>>2]>>2]|0)|0)){me(c[g>>2]|0);i=n;return}c[k>>2]=ae(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){te(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(bQ(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=fQ(f)|0;else a[j>>0]=eQ(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(17401,17350,771,18123);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[m>>2]|0);i=o;return}c[j>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[m>>2]|0,18028,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){ne(f,c[n>>2]|0,-1,-1);break}te(f);i=o;return}else{p=RQ(f)|0;b=h;b=wR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=vR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=wR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){te(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=wR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}PQ(f,c[j>>2]|0)|0}while(0);ne(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,825,18160);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18028,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=RQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=wR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=vR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=wR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}q=PQ(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=wR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17401,17350,880,18169);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18028,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=RQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=wR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=vR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=wR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=wR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}PQ(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=wR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(17401,17350,939,18178);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=ae(c[c[g>>2]>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((RQ(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){te(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);TQ(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;ne(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}me(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(17342,17350,1395,18192);c[j>>2]=xe(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=wR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+ce(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(17342,17350,1418,18205);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=xe(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=qR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=ee(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=qR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+ce(e);c[l>>2]=qR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);pR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;le(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{ie(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=HR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=qR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,17333)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=wR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((aQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){PQ(c[j>>2]|0,17591)|0;i=l;return}e=(fQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[17463+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[17596+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[928+(c[f>>2]<<2)>>2]|0);if(((c[944+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+vQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((RQ(c[d>>2]|0)|0)+1|0)|0;a=PQ(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(18132,17350,316,18141);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[17596+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=wR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=wR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);pR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;ie(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){le(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;ie(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=wR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=vR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=wR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=wR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=wR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,18221,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=7){d=9;break}if((zd(c[d>>2]|0,c[968+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[968+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[18229+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[18229+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[18229+(d[c[j>>2]>>0]|0)>>0]|0)-(d[18229+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<7){c[b>>2]=c[968+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(18094)|0;l=c[g>>2]|0;i=m;return l|0}if(a[18485+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[996+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1036+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1036+(c[h>>2]<<2)>>2]=c[996+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[269];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(OQ(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1080;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[269]|0;if((c[g>>2]|0)!=0|(c[269]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[269]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[269]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=288;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=288;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[77]=a&1;l=Hd()|0;k=f;k=vR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[18495]=0;i=m;return}if(!(a[18495]|0)){a[18497]=0;a[18496]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18498+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18497]=(d[18497]|0)+((d[18498+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[18498+(d[18497]|0)>>0]|0;a[18498+(d[18497]|0)>>0]=a[18498+(c[h>>2]|0)>>0]|0;a[18498+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[18495]=1}do{a[18496]=(a[18496]|0)+1<<24>>24;a[k>>0]=a[18498+(d[18496]|0)>>0]|0;a[18497]=(d[18497]|0)+(d[k>>0]|0);a[18498+(d[18496]|0)>>0]=a[18498+(d[18497]|0)>>0]|0;a[18498+(d[18497]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[18498+(d[18496]|0)>>0]|0);j=a[18498+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1172+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=og(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;pg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(qg(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=og(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=rg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=rg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=sg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=tg(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=ug(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=wg(b,a,vg(c[o>>2]|0)|0,0)|0;xg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))yg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=zg(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Bg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Cg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=HR(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Dg(c[x>>2]|0)|0;Eg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=ug(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Fg(c[n>>2]|0)|0;xg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Gg(c[x>>2]|0,0,1)|0;o=(c[381]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[381]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[381]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=FR(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=wR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=ug(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=vg(c[A>>2]|0)|0;q=u;c[D>>2]=Hg(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}xg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=wR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Jg(c[x>>2]|0,0)|0}else{Kg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Gg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Lg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0;Lg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Ng(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Og(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Pg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Pg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+168>>2]|0;i=d;return e|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Qg(c[g>>2]|0)|0){c[b>>2]=Lf(74636)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Sg(c[g>>2]|0)|0;c[f>>2]=Tg(c[e>>2]|0,c[f>>2]|0)|0;Pg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Ug(c[f>>2]|0)|0;Vg(c[f>>2]|0);c[e>>2]=Tg(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function _d(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=e;c[h>>2]=0;c[g>>2]=c[k>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Wg((c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)+8>>1]=1;c[f>>2]=(c[f>>2]|0)+1}if(!((d[(c[g>>2]|0)+89>>0]|0)>>>7&255)){k=c[h>>2]|0;i=j;return k|0}if(!(c[(c[g>>2]|0)+188>>2]|0)){k=c[h>>2]|0;i=j;return k|0}k=(c[g>>2]|0)+87|0;a[k>>0]=a[k>>0]&-2|1;k=c[h>>2]|0;i=j;return k|0}function $d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ae(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if(Xg(c[f>>2]|0)|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Yg(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ce(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+_g(c[e>>2]|0);i=d;return +b}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function fe(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18754+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){dh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{ch(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function ie(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;eh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;fh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;gh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;gh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[c[d>>2]>>2]|0);i=b;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function oe(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[960]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){dh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{ch(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ih(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{jh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;fh(b,kh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;fh(c[c[e>>2]>>2]|0,18786,-1,1,0)|0;i=d;return}function te(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;hh(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;lh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+32|0;e=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[h>>2]=0;c[j>>2]=0;c[l>>2]=c[e>>2];c[f>>2]=0;if(mh(c[l>>2]|0)|0){c[d>>2]=Lf(75187)|0;m=c[d>>2]|0;i=n;return m|0}c[g>>2]=c[c[l>>2]>>2];b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3;while(1){b=nh(c[l>>2]|0)|0;c[h>>2]=b;if((b|0)!=17)break;b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)>=50)break;c[k>>2]=c[(c[l>>2]|0)+76>>2];b=oh(c[l>>2]|0)|0;c[h>>2]=b;c[j>>2]=b;if(c[h>>2]|0)break;Zd(c[e>>2]|0)|0;if((c[k>>2]|0)<0)continue;b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3|2}do if(c[j>>2]|0){c[m>>2]=ae(c[(c[g>>2]|0)+240>>2]|0)|0;Tf(c[g>>2]|0,c[(c[l>>2]|0)+44>>2]|0);if(a[(c[g>>2]|0)+69>>0]|0){c[(c[l>>2]|0)+44>>2]=0;c[h>>2]=7;c[(c[l>>2]|0)+80>>2]=7;break}else{m=ph(c[g>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=m;c[(c[l>>2]|0)+80>>2]=c[j>>2];break}}while(0);c[h>>2]=Tg(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=c[h>>2];m=c[d>>2]|0;i=n;return m|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=qh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function ye(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function ze(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=be(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+ce(sh(c[f>>2]|0,c[g>>2]|0)|0);th(c[f>>2]|0);i=e;return +(+h[d>>3])}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=de(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=ee(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;th(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ge(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=sh(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=uh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Ke(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}eh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Me(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=wh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;gh((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=wh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Pe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(fe(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Ke(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Qe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Je(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=vh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Ne(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}jh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Re(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+68>>1]|0;i=e;return f|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=xh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=fe(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];zh(c[e>>2]|0,0);c[d>>2]=fe(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=rh(c[F>>2]|0,36,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ah(c[F>>2]|0,544,0)|0,(c[J>>2]|0)!=0):0){while(1){AR(c[J>>2]|0,0,544)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Bh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Ch(h,18809,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Ch(h,18839,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Ch(h,18875,E)}if(!(c[A>>2]|0)){k=13;break}c[(c[I>>2]|0)+32>>2]=c[A>>2];h=Dh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;c[(c[I>>2]|0)+28>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(h<<4)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18917;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18929;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Fh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Dh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Gh(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Hh(c[B>>2]|0,1);c[s>>2]=Ih(c[B>>2]|0,9,18971,0)|0;Jh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Kh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=103;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+444>>1]=1;c[(c[J>>2]|0)+76>>2]=1;c[(c[J>>2]|0)+72>>2]=1;Lh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Me(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Mh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Eh(P,18896,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Eh(N,18937,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19007:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Sg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19007:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Yd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Ph(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(84093)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Mh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?19007:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Tg(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Rh(c[f>>2]|0,c[e>>2]|0,19010,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Rh(c[h>>2]|0,c[g>>2]|0,19014,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Sh(c[k>>2]|0)|0)){c[j>>2]=Lf(108096)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=19018;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=ye(c[v>>2]|0)|0;do{c[w>>2]=ue(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=rh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Ie(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Fe(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(He(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Sg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[19019+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)lh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Sg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Sg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Tg(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;yR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=kh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=kh(Lf(137829)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=ae(c[(c[e>>2]|0)+240>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=kh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=kh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Vh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;n=q+12|0;m=q+8|0;p=q+4|0;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[p>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[m>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=rh(c[h>>2]|0,544,0)|0;if(!(c[l>>2]|0))c[n>>2]=7;else{a[(c[l>>2]|0)+454>>0]=1;c[c[l>>2]>>2]=c[h>>2];c[(c[l>>2]|0)+428>>2]=1;if((((0==(Wh(c[l>>2]|0,c[j>>2]|0,p)|0)?(c[(c[l>>2]|0)+488>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[l>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[l>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[m>>2]|0)+4>>2]|0)){c[(c[m>>2]|0)+4>>2]=c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2];b[(c[m>>2]|0)+34>>1]=b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]|0;b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]=0;c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2]=0}c[(c[k>>2]|0)+12>>2]=1}else{m=c[h>>2]|0;f=(c[p>>2]|0)!=0?19007:0;c[o>>2]=c[p>>2];jg(m,1,f,o);Tf(c[h>>2]|0,c[p>>2]|0);c[n>>2]=1}a[(c[l>>2]|0)+454>>0]=0;if(c[(c[l>>2]|0)+8>>2]|0)Sg(c[(c[l>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[l>>2]|0)+488>>2]|0);Nh(c[l>>2]|0);Tf(c[h>>2]|0,c[l>>2]|0)}c[n>>2]=Tg(c[h>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(121797)|0;p=c[g>>2]|0;i=q;return p|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[19275+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(122248)|0;break}}else c[j>>2]=Lf(122256)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 18214}function kf(){return 19293}function lf(){return 3013e3}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(136010)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))Zh();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(_h()|0)+($h()|0)+(ai()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))bi();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ci(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1001){d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=ei(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=4){q=16;break}if((c[1536+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==16){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1536+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1536+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Qh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1536+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=rh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=hi(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Tg(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ii(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=hi(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Tg(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+224>>2];c[(c[g>>2]|0)+220>>2]=c[j>>2];c[(c[g>>2]|0)+224>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=li(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,19354,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=mi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Tg(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Uh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(137898)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1568+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1568+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=oi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=vi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Dg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=wi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=xi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=yi(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=OQ(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Ei(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(RQ(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[19019+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(21,c[d>>2]|0,46703)|0;i=b;return a|0}function Mf(){return c[425]|0}function Nf(){return c[70]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}mv(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);gv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=h;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){i=h;return}_P(c[e>>2]|0,c[f>>2]|0);i=h;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;BC(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);BC(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];ZP(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+64>>2]|0);ZP(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){YP(a,b);i=g;return}if(ju(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))Zh();c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[75]=c[d>>2];c[76]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[74]=(c[d>>2]|0)+4}else{c[74]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){HO();IO();JO(7788,57);return}function Wf(){if(!(c[31]|0))bi();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[417]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[420]=c[f>>2];b=c[g>>2]|0;c[427]=b;c[421]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[422]=d;c[423]=c[e>>2];c[426]=0;c[428]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[426];c[426]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[424]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[269]|0)==(c[d>>2]|0)){c[269]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[269]|0)){i=f;return}c[e>>2]=c[269];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[996+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){GO(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=996+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Pi(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=288;a=c[h>>2]|0;a=vR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)FO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=288;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){FO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Qi(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=16;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);nA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=AO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=AO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=45712;a[na>>0]=16;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[45712+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=45712+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 13:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(a[m>>0]|0)h[ea>>3]=+BO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==3&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==1)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(VF(+h[ea>>3])|0){c[p>>2]=45899;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[45903]|0;a[b+1>>0]=a[45904]|0;a[b+2>>0]=a[45905]|0;a[b+3>>0]=a[45906]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=1?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==3){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=1;break c}while(0);a[na>>0]=2}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==2)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=wR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=wR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=wR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=wR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=wR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=CO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=CO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==2){f=a[45859+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 4:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 7:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 8:{if(a[m>>0]|0){c[p>>2]=DO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){EO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}EO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 6:case 5:{if(a[m>>0]|0){c[p>>2]=DO(c[X>>2]|0)|0;a[na>>0]=5}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==6)c[oa>>2]=c[p>>2]}else c[p>>2]=19018;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 14:case 10:case 9:{a[da>>0]=(d[na>>0]|0)==14?34:39;if(a[m>>0]|0)c[v>>2]=DO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==10?40184:45907;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==10;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 11:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)nA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 12:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){ND(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);nA(c[j>>2]|0,45537,1)}ND(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=AO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=vR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=AO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==15){sa=R;sa=JR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=IR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=JR(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[45850+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[45850+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=45859+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=JR(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=IR(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=45892+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))EO(c[j>>2]|0,c[ja>>2]|0,32);nA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)EO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){nA(c[j>>2]|0,45710,1);i=ra;return}else if((qa|0)==92){rA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){rA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){rA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ah(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){yR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{rA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[18229+(d[c[e>>2]>>0]|0)>>0]|0)-(d[18229+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];yJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+240>>2]|0)==0?(g=Xh(c[f>>2]|0)|0,c[(c[f>>2]|0)+240>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=kx(c[f>>2]|0,c[h>>2]|0,j)|0;Yh(c[(c[f>>2]|0)+240>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}AR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+240>>2]|0)==0:0){i=f;return}aN(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=zH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=ZM(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=_M(k,m,Xq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=hM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)EB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(br(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(er((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)dt((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=eM(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=YM(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=er((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function qg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function rg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function sg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function ug(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Oj(51210)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=24}else{if(((c[o>>2]|0)!=0?(zr(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Fs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=HR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=nL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if(!((d[(c[l>>2]|0)+17>>0]|0|0)<=1?(d[(c[l>>2]|0)+13>>0]|0|0)==0:0))c[r>>2]=fs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=VM(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=HR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ks(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=ks(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=WM(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ls(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=24}while(0);do if((j|0)==24){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[381]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){u=(zr(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Fs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Gs(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Wj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)jj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;Qt(c[l>>2]|0,c[m>>2]|0)|0;Xj()}AR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Oj(51299)|0}while(0);if(c[r>>2]|0)Es(c[r>>2]|0);Js(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function wg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=rg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=rg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=HR(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(SJ(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=vR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=FR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=ug(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Fg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=GR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=vg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=GR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,yR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(St(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;dt(x,tg(c[(c[g>>2]|0)+24>>2]|0)|0)}xg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=wR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Hs(c[b>>2]|0);i=d;return}function yg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Ng(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function zg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=hM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Fg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}dt((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)wj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;su(c[b>>2]|0);zB(c[b>>2]|0);i=f;return}function Cg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=og(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=og(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Fg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Dg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Fg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=ut(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=PM(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=QM(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Gg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[(c[h>>2]|0)+44>>2];o=c[g>>2]|0;i=p;return o|0}if(zi(400)|0){c[g>>2]=10;o=c[g>>2]|0;i=p;return o|0}if((d[(c[h>>2]|0)+17>>0]|0|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}e=0==(wr(c[h>>2]|0,1)|0);f=c[h>>2]|0;do if(!e){e=(zr(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=ys(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=ug(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=vt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;xg(c[n>>2]|0);if(c[o>>2]|0)break;xr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=NM(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=OM(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=wt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=xt(n,ys(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){xr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[381]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=Br(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Jg(c[h>>2]|0,c[j>>2]|0)|0}}else bj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(zr(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Hg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Vi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=sr(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Jg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=yi(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=tr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Lg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=MM(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;HM(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);IM(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=LM(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Kg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Gg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Og(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=AH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=BI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;IM(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=or(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(BF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=er((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Eg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];DB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;HM(c[l>>2]|0);f=c[g>>2]|0;IM(f);f=c[n>>2]|0;i=q;return f|0}function Pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+80>>2]|0)!=1691352191){i=m;return}if(nu(c[d>>2]|0)|0){i=m;return}DI(c[d>>2]|0,0);EI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(yB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)wj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);su(c[d>>2]|0);zB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{ku(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);OH(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);bh(c[(c[d>>2]|0)+240>>2]|0);c[(c[d>>2]|0)+80>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+80>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,45108,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;h=d;c[f>>2]=a;c[e>>2]=b;VH(c[c[f>>2]>>2]|0,h)|0;g=c[(c[f>>2]|0)+188>>2]|0;f=c[(c[f>>2]|0)+192>>2]|0;a=c[(c[e>>2]|0)+168>>2]|0;b=(c[e>>2]|0)+128|0;b=vR(c[h>>2]|0,c[h+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=HR(b|0,C|0,1e6,0)|0;_b[g&255](f,a,b,C);b=(c[e>>2]|0)+128|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Ug(c[b>>2]|0)|0;av(c[b>>2]|0);i=e;return c[d>>2]|0}function Tg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=GM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Ug(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];eI(c[e>>2]|0)|0;b=c[e>>2]|0;if((c[(c[e>>2]|0)+76>>2]|0)>=0){ZH(b)|0;Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0;if((d[(c[e>>2]|0)+89>>0]|0)>>>3&1){g=(c[e>>2]|0)+87|0;a[g>>0]=a[g>>0]&-2|1}}else if((c[b+80>>2]|0)!=0?(a[(c[e>>2]|0)+87>>0]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[e>>2]|0)+80>>2]|0;b=(c[(c[e>>2]|0)+44>>2]|0)!=0?19007:0;c[g>>2]=c[(c[e>>2]|0)+44>>2];jg(k,j,b,g);Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0}FM(c[e>>2]|0);k=(c[e>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[e>>2]|0)+40>>2]=649915045;i=h;return c[(c[e>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Vg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+88>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}EM(c[b>>2]|0);i=d;return}function Xg(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(Hx(c[f>>2]|0,c[g>>2]|0,1)|0)){AR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Yg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=DM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=CM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function _g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Xy(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=Dx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Ki(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function ah(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Xg(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Hx(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function bh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Wg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((fh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}se(c[h>>2]|0);i=j;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}se(c[g>>2]|0);i=h;return 18}function eh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;hh(c[e>>2]|0);if(VF(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function fh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){hh(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+92>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Wg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=iu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(Gx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){yR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(BM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function gh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;AM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function hh(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){RF(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function ih(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)RF(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=ah(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function jh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Wg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function kh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=44482;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[7072+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[7072+(c[b>>2]<<2)>>2]}else c[d>>2]=44496;i=e;return c[d>>2]|0}function lh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+164>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function mh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,44442,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Qg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function nh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;if((c[(c[f>>2]|0)+40>>2]|0)!=-1108210269)Zd(c[f>>2]|0)|0;c[g>>2]=c[c[f>>2]>>2];b=c[f>>2]|0;if(a[(c[g>>2]|0)+69>>0]|0){c[b+80>>2]=7;c[e>>2]=7;h=c[e>>2]|0;i=j;return h|0}if((c[b+76>>2]|0)<=0?(a[(c[f>>2]|0)+87>>0]&1|0)!=0:0){c[(c[f>>2]|0)+80>>2]=17;c[h>>2]=1}else{if((c[(c[f>>2]|0)+76>>2]|0)<0){if(!(c[(c[g>>2]|0)+152>>2]|0))c[(c[g>>2]|0)+248>>2]=0;if(((c[(c[g>>2]|0)+188>>2]|0)!=0?(a[(c[g>>2]|0)+144+5>>0]|0)==0:0)?(c[(c[f>>2]|0)+168>>2]|0)!=0:0)VH(c[c[g>>2]>>2]|0,(c[f>>2]|0)+128|0)|0;b=(c[g>>2]|0)+152|0;c[b>>2]=(c[b>>2]|0)+1;if(!((d[(c[f>>2]|0)+89>>0]|0)>>>5&1)){b=(c[g>>2]|0)+160|0;c[b>>2]=(c[b>>2]|0)+1}if((d[(c[f>>2]|0)+89>>0]|0)>>>6&1){b=(c[g>>2]|0)+156|0;c[b>>2]=(c[b>>2]|0)+1}c[(c[f>>2]|0)+76>>2]=0}if(a[(c[f>>2]|0)+89>>0]&3)c[h>>2]=WH(c[f>>2]|0)|0;else{b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=XH(c[f>>2]|0)|0;b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+-1}if((c[h>>2]|0)!=100?(b=(c[f>>2]|0)+128|0,k=c[b+4>>2]|0,(k|0)>0|(k|0)==0&(c[b>>2]|0)>>>0>0):0)Rg(c[g>>2]|0,c[f>>2]|0);if((c[h>>2]|0)==101?(k=YH(c[g>>2]|0)|0,c[(c[f>>2]|0)+80>>2]=k,(c[(c[f>>2]|0)+80>>2]|0)!=0):0)c[h>>2]=1;c[(c[g>>2]|0)+52>>2]=c[h>>2];if(7==(Tg(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+80>>2]|0)|0))c[(c[f>>2]|0)+80>>2]=7}if(((c[h>>2]|0)!=100?((d[(c[f>>2]|0)+89>>0]|0)>>>7&255|0)!=0:0)&(c[h>>2]|0)!=101)c[h>>2]=ZH(c[f>>2]|0)|0;c[e>>2]=c[h>>2]&c[(c[g>>2]|0)+56>>2];k=c[e>>2]|0;i=j;return k|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Xd(c[d>>2]|0)|0;c[e>>2]=JA(c[d>>2]|0)|0;c[g>>2]=Th(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){TH(c[f>>2]|0,c[d>>2]|0);yh(c[f>>2]|0,c[d>>2]|0)|0;UH(c[f>>2]|0);Sg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)lh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ah(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)yR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function qh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){Gx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)AR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{hh(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ah(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}AR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function sh(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)lg(c[c[g>>2]>>2]|0,25);c[f>>2]=SH()|0;j=c[f>>2]|0;i=h;return j|0}function th(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Tg(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function uh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=ye(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}ni(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function vh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=wh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=fh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=gu(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Tg(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function wh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;c[h>>2]=e;c[j>>2]=f;if(mh(c[h>>2]|0)|0){c[g>>2]=Lf(75759)|0;m=c[g>>2]|0;i=n;return m|0}if((c[(c[h>>2]|0)+40>>2]|0)==-1108210269?(c[(c[h>>2]|0)+76>>2]|0)<0:0){if((c[j>>2]|0)>=1?(c[j>>2]|0)<=(b[(c[h>>2]|0)+68>>1]|0):0){c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[(c[h>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0);Wg(c[k>>2]|0);b[(c[k>>2]|0)+8>>1]=1;lg(c[c[h>>2]>>2]|0,0);do if((d[(c[h>>2]|0)+89>>0]|0)>>>7&255){if(!((c[j>>2]|0)<32?(c[(c[h>>2]|0)+188>>2]&1<>2]|0)!=0:0))m=12;if((m|0)==12?(c[(c[h>>2]|0)+188>>2]|0)!=-1:0)break;m=(c[h>>2]|0)+87|0;a[m>>0]=a[m>>0]&-2|1}while(0);c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,25);c[g>>2]=25;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,21);c[l>>2]=c[(c[h>>2]|0)+168>>2];Rd(21,40292,l);c[g>>2]=Lf(75767)|0;m=c[g>>2]|0;i=n;return m|0}function xh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(SQ(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function yh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;RH((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function zh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Xy(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Ki(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}Cx(c[g>>2]|0);i=n;return}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Rw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Bh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Cz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ri(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]|0)!=0?40265:40278;if(((li(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=qj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(NH(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Ch(d,30625,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Ch(d,30635,q)}a[(c[l>>2]|0)+17>>0]=1}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Ch(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=kx(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+68|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=kx(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Fh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=rh(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function Gh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=fx(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Kh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(a[(c[c[e>>2]>>2]|0)+69>>0]|0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Ih(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)?(hx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+32>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[35415+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+32>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+32|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(MH(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+100|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Kh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}DA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}LH(c[k>>2]|0);i=n;return}KH(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Lh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+44|0;h=r+40|0;j=r+36|0;p=r+32|0;n=r+28|0;m=r+24|0;l=r+20|0;o=r+16|0;k=r+12|0;q=r;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[p>>2]=b[(c[h>>2]|0)+444>>1];c[n>>2]=c[(c[h>>2]|0)+76>>2];c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=c[(c[h>>2]|0)+400>>2];f=c[(c[h>>2]|0)+84>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)==0?1:f;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[k>>2]=((c[(c[g>>2]|0)+32>>2]|0)*20|0)+7&-8;c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[q+4>>2]=(c[(c[h>>2]|0)+92>>2]|0)-(c[k>>2]|0)&-8;if((c[q+4>>2]|0)>0)AR(c[q>>2]|0,0,c[q+4>>2]|0)|0;eF(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+89|0;a[f>>0]=a[f>>0]&-17|(e&1)<<4&255;if((c[n>>2]|0)<10?(d[(c[h>>2]|0)+453>>0]|0)!=0:0)c[n>>2]=10;f=(c[g>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2;do{c[q+8>>2]=0;f=JH(q,c[(c[g>>2]|0)+8>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[g>>2]|0)+8>>2]=f;f=JH(q,c[(c[g>>2]|0)+60>>2]|0,(c[p>>2]|0)*40|0)|0;c[(c[g>>2]|0)+60>>2]=f;f=JH(q,c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2)|0;c[(c[g>>2]|0)+12>>2]=f;f=JH(q,c[(c[g>>2]|0)+56>>2]|0,c[m>>2]<<2)|0;c[(c[g>>2]|0)+56>>2]=f;f=JH(q,c[(c[g>>2]|0)+200>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+200>>2]=f;if(!(c[q+8>>2]|0))break;f=c[q+8>>2]|0;f=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f;c[q>>2]=f;c[q+4>>2]=c[q+8>>2]}while((a[(c[j>>2]|0)+69>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[m>>2];c[(c[g>>2]|0)+196>>2]=c[o>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[p>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+448>>2];c[(c[g>>2]|0)+64>>2]=c[(c[h>>2]|0)+476>>2];c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+476>>2]=0;if(!(c[(c[g>>2]|0)+8>>2]|0)){p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}c[(c[g>>2]|0)+28>>2]=c[n>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}function Mh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+60>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=ue(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=IF(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];IH(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=40211;else d=(c[j>>2]|0)==7?40198:40203;c[k>>2]=d;c[r>>2]=Eh(e,40216,k)|0;c[o>>2]=1;Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Eh(d,40245,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Eh(d,19007,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Nh(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+120>>2]|0);cv(c[f>>2]|0,c[(c[e>>2]|0)+324>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Oh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=iF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=vF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Ph(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(83995)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=wR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}HH(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Sg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+80>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Tg(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Qh(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2|1;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Rh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=wC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=wC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=wC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=wC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=wC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=wC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=wC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=wC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=wC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0&(c[q>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[18229+(c[q>>2]&255)>>0]|0)==(d[18229+(c[r>>2]&255)>>0]|0):0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=wC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(wC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=wC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Rh((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[19019+(c[q>>2]&255)>>0]&32);c[q>>2]=d[18229+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=wC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){uH(40184);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+80>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Uh(c[d>>2]|0)|0)uH(40189);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Th(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Sh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(112684)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=vH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Yd(c[c[p>>2]>>2]|0)|0;c[r>>2]=vH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+80>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){uH(40031);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Vh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(qj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Rw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,yR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Sj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){lh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(121109)|0;c[p>>2]=Tg(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Wh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+92+4>>2];if(!(c[(c[u>>2]|0)+152>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+484>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=Yu(179)|0;if(!(c[m>>2]|0)){lh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}while(1){if(!(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0))break;c[(c[t>>2]|0)+508>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=Zu((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+508+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+508+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break}if((c[n>>2]|0)>=160){if(c[(c[u>>2]|0)+248>>2]|0){r=10;break}if((c[n>>2]|0)==161){r=12;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+508|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];_u(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==10)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==12){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+508;Ch(A,27053,o)}c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0);if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){if((c[k>>2]|0)!=1){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];_u(r,1,g,A)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];_u(r,0,g,A)}}$u(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=kh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Eh(A,19007,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,19007,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+68>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){av(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+408>>2]|0);c[(c[t>>2]|0)+408>>2]=0;c[(c[t>>2]|0)+404>>2]=0}Kd(c[(c[t>>2]|0)+524>>2]|0);if(!(a[(c[t>>2]|0)+454>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+488>>2]|0);if(c[(c[t>>2]|0)+540>>2]|0)bv(c[u>>2]|0,c[(c[t>>2]|0)+540>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+492>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+448>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+476>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+476>>2]|0);while(1){if(!(c[(c[t>>2]|0)+412>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+412>>2];c[(c[t>>2]|0)+412>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+528>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+528>>2];c[(c[t>>2]|0)+528>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Xh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=rh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}fh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Zh(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5064;mf(4,b)|0;i=a;return}function _h(){return 88}function $h(){return 40}function ai(){return 32}function bi(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5012;mf(18,b)|0;i=a;return}function ci(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;tu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function di(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function ei(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Wj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Xj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=Lf(136682)|0;g=c[d>>2]|0;i=h;return g|0}lu(c[e>>2]|0);mu(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(nu(c[e>>2]|0)|0)!=0:0){jg(c[e>>2]|0,5,26911,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+80>>2]=1691352191;Pg(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{ui(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} -function az(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=rh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Pv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Rv(q,0,Uv(c[n>>2]|0,158,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function bz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|64;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&64|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;$v(l,c[(dz(c[r>>2]|0)|0)+64>>2]|0,0)}Ux(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(ez(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(ky(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=rh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Eh(l,30705,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}Wx(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=lx(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(fz(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Mx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=Tx(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;ky(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(gz(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Ch(X,30718,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(hz(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==158)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==158:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=158){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==158:0){j=58;break}c[E>>2]=Rv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&2048|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Dh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=26067;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(Yy(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&131072|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(iz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((jz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Uv(c[t>>2]|0,55,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Uv(c[t>>2]|0,55,c[W>>2]|0)|0;c[B>>2]=Cv(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Uv(c[t>>2]|0,55,c[U>>2]|0)|0;c[B>>2]=Cv(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Eh(p,30757,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Rv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Py(L,c[S>>2]|0);Sv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&2048))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=ph(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Eh(h,30763,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Ch(h,30772,O);break}else{Ch(h,30790,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}cv(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+92+8>>2]|0):0){Ch(c[F>>2]|0,30810,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(dz(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+536>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function dz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function ez(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=xz(c[(c[y>>2]|0)+536>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Ch(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(fz(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=rh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=ph(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=Tx(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Ch(A,31051,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=31094;c[z>>2]=c[(c[y>>2]|0)+536>>2];c[(c[y>>2]|0)+536>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;ky(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+536>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Ch(A,31117,u);c[(c[y>>2]|0)+536>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}Wx(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=31155;else c[g>>2]=31189;ky(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+536>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function fz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Ch(a,31028,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function gz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Ch(k,31010,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function hz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(iz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)lz(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)mz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=nz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=kz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(iz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}lz(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Ch(B,30841,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Ch(c[x>>2]|0,30891,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Ch(z,30946,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function iz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=kz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function kz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function lz(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=wz(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=wz(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=Cv(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=nz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=nz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function mz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;mz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);mz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((oz(b)|0)==0?(oz(c[h>>2]|0)|0)==0:0){c[j>>2]=pz(c[f>>2]|0,28,0,0)|0;qz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}gv(c[f>>2]|0,c[g>>2]|0);gv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=pz(c[f>>2]|0,132,5116,0)|0;j=c[e>>2]|0;i=k;return j|0}function oz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(xy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function pz(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=0;c[n>>2]=0;do if(c[l>>2]|0){if(((c[k>>2]|0)==132?(c[c[l>>2]>>2]|0)!=0:0)?(Oi(c[c[l>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Rw(c[j>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}j=c[p>>2]|0;e=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(e|0));a[c[p>>2]>>0]=c[k>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){j=c[p>>2]|0;if(!(c[o>>2]|0)){o=j+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=j+48;if(c[(c[l>>2]|0)+4>>2]|0)yR(c[(c[p>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if((c[m>>2]|0)!=0?(d[19019+(d[c[(c[p>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((a[c[(c[p>>2]|0)+8>>2]>>0]|0)==34){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}Vw(c[(c[p>>2]|0)+8>>2]|0)}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function qz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){gv(c[f>>2]|0,c[h>>2]|0);gv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}rz(c[g>>2]|0);i=k;return}function rz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;sz(c[(c[b>>2]|0)+12>>2]|0,d);sz(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){uz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(vz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else tz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}sz(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);sz(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);sz(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);sz(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);uz(c[c[d>>2]>>2]|0,c[e>>2]|0);uz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);uz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);tz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function uz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;sz(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function vz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function wz(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=pz(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=BR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function xz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function yz(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Rw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=ph(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=Iy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=Tx(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=Ay(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=Az(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=rh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Tx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=Iy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=ph(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Rw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Rw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=ph(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Bz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Eh(M,31246,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Eh(n,19007,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=rh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Dh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)lh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=31318;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Eh(K,L,B)|0;c[c[G>>2]>>2]=L;qu(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=ti((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,19018)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(31364,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Eh(e,31288,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Eh(e,19007,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function Cz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+144+5>>0]|0))c[f>>2]=qi(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function Dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];nx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+72>>2];a=(c[d>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+3;Hz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+72>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Iz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Jz(c[d>>2]|0,c[e>>2]|0);i=l;return}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Pw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=li(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;nx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+72>>2];d=(c[e>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Hz(d,a,b,c[c[g>>2]>>2]|0,31450);else Hz(d,a,b,c[c[f>>2]>>2]|0,31454);Iz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+76>>2]|0)+1|0,c[(c[e>>2]|0)+72>>2]|0);Jz(c[e>>2]|0,c[h>>2]|0);i=k;return}function Gz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+144|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Ch(c[j>>2]|0,31413,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=Ez(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Ch(p,31430,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Hz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=$w(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[5236+(c[q>>2]<<3)>>2];g=ri(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[5236+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[5236+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;_w(g,31511,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+396>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Lz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;_w(g,31534,v);break}else{bx(c[t>>2]|0,129,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[5236+(c[q>>2]<<3)+4>>2]|0))break;Gh(c[t>>2]|0,103,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Hh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Iz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+76>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+76>>2]=l;c[O>>2]=$w(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(31458,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Dh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(Yw(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Lz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+72>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+72>>2]=l;Mz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,102);dx(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}dx(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+76>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+76>>2]=l;fx(c[O>>2]|0,102,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Nz(c[n>>2]|0,c[F>>2]|0);bx(c[O>>2]|0,74,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;bx(c[O>>2]|0,74,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;ex(c[O>>2]|0,87,0,(c[L>>2]|0)+1|0,c[L>>2]|0,5132,-5)|0;Hh(c[O>>2]|0,2);c[t>>2]=Kz(c[O>>2]|0,55,c[y>>2]|0)|0;bx(c[O>>2]|0,74,0,c[G>>2]|0)|0;c[s>>2]=Oz(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Pz(c[O>>2]|0)|0;c[r>>2]=Rw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;jx(c[O>>2]|0,13)|0;c[s>>2]=Oz(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)bx(c[O>>2]|0,35,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Qz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;bx(c[O>>2]|0,74,c[w>>2]|0,c[G>>2]|0)|0;fx(c[O>>2]|0,94,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=ex(c[O>>2]|0,36,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Hh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}bx(c[O>>2]|0,74,c[C>>2]|0,c[G>>2]|0)|0;Rz(c[O>>2]|0,c[v>>2]|0)|0;Sz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Sz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);fx(c[O>>2]|0,94,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Tz(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}ex(c[O>>2]|0,87,1,c[L>>2]|0,c[N>>2]|0,5160,-5)|0;Hh(c[O>>2]|0,2);bx(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;Uz(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);ex(c[O>>2]|0,96,c[M>>2]|0,3,c[N>>2]|0,31467,0)|0;bx(c[O>>2]|0,112,c[q>>2]|0,c[I>>2]|0)|0;fx(c[O>>2]|0,113,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Sz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}bx(c[O>>2]|0,98,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Kz(c[O>>2]|0,22,c[K>>2]|0)|0;bx(c[O>>2]|0,77,0,c[H>>2]|0)|0;ex(c[O>>2]|0,96,c[M>>2]|0,3,c[N>>2]|0,31467,0)|0;bx(c[O>>2]|0,112,c[q>>2]|0,c[I>>2]|0)|0;fx(c[O>>2]|0,113,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Sz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=$w(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Kz(c[e>>2]|0,135,c[d>>2]|0)|0;i=f;return}function Kz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=fx(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Lz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+404>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+404>>2]|0)+1<<4;e=c[k>>2]|0;e=Ix(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+408>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+408>>2]=e;e=(c[q>>2]|0)+404|0;if(c[(c[q>>2]|0)+408>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;lh(c[c[q>>2]>>2]|0);i=s;return}}function Mz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=$w(c[j>>2]|0)|0;Lz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==103?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Gh(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Hj(c[m>>2]|0)|0;fx(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Nz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Kh(a,-1,aA(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Oz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Pz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+116|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Ix(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+120>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+120>>2]=f}if(!(c[(c[d>>2]|0)+120>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+120>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Qz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+144+5>>0]|0;c[j>>2]=Qj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=$x(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=fx(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[e>>2]|0)+24>>2]|0)+96>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;Yz(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);i=d;return}function Tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if(c[(c[f>>2]|0)+120>>2]|0)c[(c[(c[f>>2]|0)+120>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+96>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Uz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;ex(c[g>>2]|0,87,0,c[j>>2]|0,c[h>>2]|0,5188,-5)|0;Hh(c[g>>2]|0,1);i=f;return}function Vz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=$d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){te(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,31480,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=wR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=vR(p|0,C|0,1,0)|0;d=h;d=IR(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,31485,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}ne(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function Wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;c[f>>2]=de(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Xz(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Xz(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Zz(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function Zz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=5216;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=de(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=de(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=we(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=rh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){te(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);ge(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function $z(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function aA(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+68>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=bA(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=bA(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==35351)f=0;else f=Qz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0){cA(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function bA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=$f(24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;AR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{lh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function cA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(0,c[b>>2]|0);i=d;return}function dA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];eA(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function eA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(uB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;nx(c[e>>2]|0,0,c[h>>2]|0);fA(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function fA(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Dh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Yw(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Lz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=$w(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=aA(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;ex(b,106,a,0,y,gA(c[k>>2]|0)|0,-6)|0;Mz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,102);c[p>>2]=bx(c[w>>2]|0,55,c[t>>2]|0,0)|0;c[v>>2]=hA(c[n>>2]|0)|0;iA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;bx(c[w>>2]|0,123,c[s>>2]|0,c[v>>2]|0)|0;jA(c[n>>2]|0,c[j>>2]|0);bx(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Sz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)bx(c[w>>2]|0,129,c[m>>2]|0,c[h>>2]|0)|0;ex(c[w>>2]|0,103,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Hh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=bx(c[w>>2]|0,42,c[s>>2]|0,0)|0;y=(d[(c[o>>2]|0)+54>>0]|0|0)!=0;g=Oz(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Rz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=Oz(c[w>>2]|0)|0;Gh(c[w>>2]|0,117,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;kA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;fx(c[w>>2]|0,118,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;fx(c[w>>2]|0,33,c[r>>2]|0,0,-1)|0;fx(c[w>>2]|0,124,c[r>>2]|0,c[v>>2]|0,0)|0;Hh(c[w>>2]|0,16);lA(c[n>>2]|0,c[v>>2]|0);bx(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Sz(c[w>>2]|0,c[p>>2]|0);Kz(c[w>>2]|0,109,c[t>>2]|0)|0;Kz(c[w>>2]|0,109,c[r>>2]|0)|0;Kz(c[w>>2]|0,109,c[s>>2]|0)|0;i=x;return}function gA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function hA(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+76|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+28+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function iA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Pz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+104>>2]=c[q>>2];vA(c[o>>2]|0);wA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=xA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){yA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);zA(c[x>>2]|0,90)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;AA(t,u,x);x=c[w>>2]|0;i=y;return x|0}fx(c[x>>2]|0,96,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;AA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function jA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Tz(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);tA(c[d>>2]|0);i=f;return}function kA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];mA(l,31649,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;oA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)nA(l,31660,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;mA(l,30757,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;oA(o,p,q,r,-1,2);i=s;return}function lA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+124;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+28+((j&255)<<2)>>2]=h;i=k;return}}function mA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function nA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){pA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);yR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function oA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=$w(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Ox(c[j>>2]|0);ex(c[p>>2]|0,73,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Hh(c[p>>2]|0,a[o>>0]|0);i=q;return}function pA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=qA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}yR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function qA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;rA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=wR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=wR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=wR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){sA(c[j>>2]|0);rA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Qw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){sA(e);rA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)yR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=iu(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function rA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function sA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function tA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+108>>2]|0):0)uA(c[b>>2]|0,c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function uA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(a[(c[g>>2]|0)+6>>0]|0){if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+28+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0}c[(c[g>>2]|0)+12>>2]=0;j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=h;return}function vA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function wA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=Ay(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;gv(a,n);i=m;return}YA(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;gv(a,n);i=m;return}function xA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+64>>2];c[h>>2]=c[(c[d>>2]|0)+60>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;h=(c[d>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function yA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+104>>2]=c[k>>2];FA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{GA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function zA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+96>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=CA(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function AA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;BA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+60>>2]|0)){i=h;return}c[(c[e>>2]|0)+60>>2]=c[g>>2];c[(c[e>>2]|0)+64>>2]=c[f>>2];i=h;return}function BA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)<=0){i=k;return}if(!(d[(c[f>>2]|0)+25>>0]|0)){i=k;return}c[j>>2]=(c[f>>2]|0)+124+180;while(1){if((c[(c[j>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[j>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0)uA(c[f>>2]|0,c[j>>2]|0);if((c[j>>2]|0)==((c[f>>2]|0)+124|0))break;c[j>>2]=(c[j>>2]|0)+-20}i=k;return}function CA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);DA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-97;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function DA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;switch(c[j>>2]|0){case -21:{EA(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(c[(c[f>>2]|0)+456>>2]|0){i=h;return}cA(c[e>>2]|0);i=h;return}case -11:{if(c[(c[f>>2]|0)+456>>2]|0){i=h;return}Kd(c[e>>2]|0);i=h;return}case -5:{EA(c[f>>2]|0,c[e>>2]|0);i=h;return}case -8:{e=c[e>>2]|0;if(!(c[(c[f>>2]|0)+456>>2]|0)){bh(e);i=h;return}c[g>>2]=e;if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0);Tf(c[f>>2]|0,c[g>>2]|0);i=h;return}case -10:{if(c[(c[f>>2]|0)+456>>2]|0){i=h;return}qu(c[e>>2]|0);i=h;return}default:{i=h;return}}Tf(c[f>>2]|0,c[e>>2]|0);i=h;return}function EA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function FA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=Ay(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;gv(b,e);i=k;return}KA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;gv(b,e);i=k;return}function GA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?154:94;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+42>>0]&32){a=Hj(c[k>>2]|0)|0;c[p>>2]=(HA(a,c[m>>2]&65535)|0)<<16>>16}fx(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else bx(c[j>>2]|0,121,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}IA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function HA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function IA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(JA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=JA(c[g>>2]|0)|0;qx(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Kh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Kz(c[g>>2]|0,90,c[k>>2]|0)|0;i=o;return}function JA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function KA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){bx(c[(c[f>>2]|0)+8>>2]|0,82,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=LA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}bx(c[(c[f>>2]|0)+8>>2]|0,83,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function LA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=i;i=i+320|0;C=ka+16|0;G=ka+8|0;B=ka;ca=ka+300|0;da=ka+296|0;I=ka+292|0;ea=ka+288|0;ia=ka+284|0;o=ka+280|0;fa=ka+276|0;ga=ka+272|0;ha=ka+268|0;Q=ka+264|0;y=ka+260|0;z=ka+256|0;A=ka+252|0;K=ka+248|0;T=ka+200|0;q=ka+196|0;r=ka+192|0;m=ka+188|0;n=ka+184|0;D=ka+180|0;E=ka+176|0;u=ka+172|0;j=ka+168|0;s=ka+164|0;S=ka+160|0;R=ka+156|0;P=ka+152|0;H=ka+148|0;J=ka+144|0;N=ka+140|0;F=ka+305|0;O=ka+136|0;L=ka+132|0;M=ka+304|0;k=ka+128|0;l=ka+124|0;v=ka+120|0;t=ka+116|0;w=ka+112|0;x=ka+108|0;p=ka+104|0;V=ka+100|0;Y=ka+96|0;X=ka+92|0;W=ka+88|0;$=ka+84|0;U=ka+80|0;Z=ka+32|0;ba=ka+24|0;aa=ka+20|0;c[da>>2]=f;c[I>>2]=g;c[ea>>2]=h;c[ia>>2]=c[(c[da>>2]|0)+8>>2];c[fa>>2]=c[ea>>2];c[ga>>2]=0;c[ha>>2]=0;c[K>>2]=c[c[da>>2]>>2];if(!(c[ia>>2]|0)){c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if(!(c[I>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[I>>2]>>0];a:do switch(c[o>>2]|0){case 154:{c[q>>2]=c[(c[I>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[fa>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)fx(c[ia>>2]|0,94,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;else ja=11;break}case 152:{ja=11;break}case 132:{NA(c[da>>2]|0,c[I>>2]|0,0,c[ea>>2]|0);break}case 133:{OA(c[ia>>2]|0,c[(c[I>>2]|0)+8>>2]|0,0,c[ea>>2]|0);break}case 97:{dx(c[ia>>2]|0,c[ea>>2]|0,c[(c[I>>2]|0)+8>>2]|0)|0;break}case 101:{bx(c[ia>>2]|0,77,0,c[ea>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[I>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[D>>2]|0)|0)-1;c[E>>2]=Bx(JA(c[ia>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;ex(c[ia>>2]|0,79,(c[n>>2]|0)/2|0,c[ea>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{bx(c[ia>>2]|0,80,b[(c[I>>2]|0)+32>>1]|0,c[ea>>2]|0)|0;if(a[(c[(c[I>>2]|0)+8>>2]|0)+1>>0]|0)Kh(c[ia>>2]|0,-1,c[(c[(c[da>>2]|0)+476>>2]|0)+((b[(c[I>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{c[fa>>2]=c[(c[I>>2]|0)+28>>2];break}case 66:{c[fa>>2]=LA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;if((c[fa>>2]|0)!=(c[ea>>2]|0)){bx(c[ia>>2]|0,83,c[fa>>2]|0,c[ea>>2]|0)|0;c[fa>>2]=c[ea>>2]}bx(c[ia>>2]|0,91,c[ea>>2]|0,(wx(c[(c[I>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;PA(c[da>>2]|0,c[fa>>2]|0,1);break}case 37:case 36:case 41:case 38:case 39:case 40:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;RA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,32)|0;break}case 148:case 29:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;c[o>>2]=(c[o>>2]|0)==29?37:36;RA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,160)|0;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;fx(c[ia>>2]|0,c[o>>2]|0,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}case 155:{c[u>>2]=c[(c[I>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){OA(c[ia>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[ea>>2]|0);break}else{a[T>>0]=-124;c[T+4>>2]=17408;c[T+8>>2]=0;c[Q>>2]=QA(c[da>>2]|0,T,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ha)|0;fx(c[ia>>2]|0,48,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}else NA(c[da>>2]|0,c[u>>2]|0,1,c[ea>>2]|0);while(0);c[fa>>2]=c[ea>>2];break}case 19:case 54:{c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[fa>>2]=c[ea>>2];bx(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[fa>>2]|0)|0;break}case 35:case 34:{bx(c[ia>>2]|0,74,1,c[ea>>2]|0)|0;c[Q>>2]=QA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[j>>2]=Kz(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0)|0;bx(c[ia>>2]|0,74,0,c[ea>>2]|0)|0;Sz(c[ia>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[I>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[da>>2]|0;c[B>>2]=c[(c[I>>2]|0)+8>>2];Ch(ia,31663,B);break a}else{c[fa>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[I>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{c[J>>2]=0;a[F>>0]=a[(c[K>>2]|0)+66>>0]|0;c[O>>2]=0;if(c[(c[I>>2]|0)+4>>2]&16384)c[S>>2]=0;else c[S>>2]=c[(c[I>>2]|0)+20>>2];if(c[S>>2]|0)j=c[c[S>>2]>>2]|0;else j=0;c[R>>2]=j;c[H>>2]=c[(c[I>>2]|0)+8>>2];c[P>>2]=ii(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,a[F>>0]|0,0)|0;if((c[P>>2]|0)!=0?(c[(c[P>>2]|0)+16>>2]|0)==0:0){if(e[(c[P>>2]|0)+2>>1]&512){c[L>>2]=Pz(c[ia>>2]|0)|0;KA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0);c[N>>2]=1;while(1){j=c[ia>>2]|0;if((c[N>>2]|0)>=(c[R>>2]|0))break;bx(j,35,c[ea>>2]|0,c[L>>2]|0)|0;BA(c[da>>2]|0,c[ea>>2]|0,1);vA(c[da>>2]|0);KA(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0,c[ea>>2]|0);tA(c[da>>2]|0);c[N>>2]=(c[N>>2]|0)+1}Tz(j,c[L>>2]|0);break a}if(e[(c[P>>2]|0)+2>>1]&1024){c[fa>>2]=LA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0)|0;break a}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[R>>2]|0))break;if((c[N>>2]|0)<32?(SA(c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[J>>2]=c[J>>2]|1<>2];if(!((c[O>>2]|0)!=0?1:(e[(c[P>>2]|0)+2>>1]&32|0)==0))c[O>>2]=_x(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+1}if(c[S>>2]|0){j=c[da>>2]|0;if(c[J>>2]|0){c[Q>>2]=(c[j+76>>2]|0)+1;ba=(c[da>>2]|0)+76|0;c[ba>>2]=(c[ba>>2]|0)+(c[R>>2]|0)}else c[Q>>2]=xA(j,c[R>>2]|0)|0;do if(e[(c[P>>2]|0)+2>>1]&192){a[M>>0]=a[c[c[(c[S>>2]|0)+4>>2]>>2]>>0]|0;if((d[M>>0]|0)!=152?(d[M>>0]|0)!=154:0)break;a[(c[c[(c[S>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[P>>2]|0)+2>>1]&192}while(0);vA(c[da>>2]|0);TA(c[da>>2]|0,c[S>>2]|0,c[Q>>2]|0,0,3)|0;tA(c[da>>2]|0)}else c[Q>>2]=0;if((c[R>>2]|0)>=2?(c[(c[I>>2]|0)+4>>2]&128|0)!=0:0)c[P>>2]=UA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ja=77;if((ja|0)==77?(c[R>>2]|0)>0:0)c[P>>2]=UA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[P>>2]|0)+2>>1]&32){if(!(c[O>>2]|0))c[O>>2]=c[(c[K>>2]|0)+8>>2];ex(c[ia>>2]|0,86,0,0,0,c[O>>2]|0,-4)|0}ex(c[ia>>2]|0,87,c[J>>2]|0,c[Q>>2]|0,c[ea>>2]|0,c[P>>2]|0,-5)|0;Hh(c[ia>>2]|0,c[R>>2]&255);if(!((c[R>>2]|0)!=0&(c[J>>2]|0)==0))break a;AA(c[da>>2]|0,c[Q>>2]|0,c[R>>2]|0);break a}ia=c[da>>2]|0;c[G>>2]=c[H>>2];Ch(ia,31689,G);break}case 119:case 20:{c[fa>>2]=VA(c[da>>2]|0,c[I>>2]|0,0,0)|0;break}case 33:{c[k>>2]=Pz(c[ia>>2]|0)|0;c[l>>2]=Pz(c[ia>>2]|0)|0;bx(c[ia>>2]|0,77,0,c[ea>>2]|0)|0;WA(c[da>>2]|0,c[I>>2]|0,c[k>>2]|0,c[l>>2]|0);bx(c[ia>>2]|0,74,1,c[ea>>2]|0)|0;Tz(c[ia>>2]|0,c[k>>2]|0);bx(c[ia>>2]|0,89,c[ea>>2]|0,0)|0;Tz(c[ia>>2]|0,c[l>>2]|0);break}case 32:{c[v>>2]=c[(c[I>>2]|0)+12>>2];c[t>>2]=c[(c[(c[I>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[Q>>2]=QA(c[da>>2]|0,c[v>>2]|0,ga)|0;c[y>>2]=QA(c[da>>2]|0,c[w>>2]|0,ha)|0;c[z>>2]=hA(c[da>>2]|0)|0;c[A>>2]=hA(c[da>>2]|0)|0;RA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,41,c[Q>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];lA(c[da>>2]|0,c[ha>>2]|0);c[y>>2]=QA(c[da>>2]|0,c[w>>2]|0,ha)|0;RA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,39,c[Q>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;fx(c[ia>>2]|0,28,c[z>>2]|0,c[A>>2]|0,c[ea>>2]|0)|0;lA(c[da>>2]|0,c[z>>2]|0);lA(c[da>>2]|0,c[A>>2]|0);break}case 156:case 53:case 159:{c[fa>>2]=LA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;break}case 88:{c[x>>2]=c[(c[I>>2]|0)+44>>2];c[p>>2]=(_(c[(c[I>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[I>>2]|0)+32>>1]|0);bx(c[ia>>2]|0,141,c[p>>2]|0,c[ea>>2]|0)|0;if((b[(c[I>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+(b[(c[I>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Kz(c[ia>>2]|0,90,c[ea>>2]|0)|0;break}case 83:{if(!(c[(c[da>>2]|0)+420>>2]|0)){Ch(c[da>>2]|0,31712,C);c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if((a[(c[I>>2]|0)+1>>0]|0)==2)Ox(c[da>>2]|0);if((a[(c[I>>2]|0)+1>>0]|0)==4){ex(c[ia>>2]|0,73,0,4,0,c[(c[I>>2]|0)+8>>2]|0,0)|0;break a}else{oA(c[da>>2]|0,1811,a[(c[I>>2]|0)+1>>0]|0,c[(c[I>>2]|0)+8>>2]|0,0,0);break a}}default:{c[aa>>2]=0;c[$>>2]=c[(c[I>>2]|0)+20>>2];c[U>>2]=c[(c[$>>2]|0)+4>>2];c[X>>2]=c[c[$>>2]>>2];c[V>>2]=Pz(c[ia>>2]|0)|0;S=c[(c[I>>2]|0)+12>>2]|0;c[ba>>2]=S;if(S){j=T;k=c[ba>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));XA(T,QA(c[da>>2]|0,c[ba>>2]|0,ga)|0);a[Z>>0]=37;c[Z+12>>2]=T;c[aa>>2]=Z;c[ga>>2]=0}c[W>>2]=0;while(1){if((c[W>>2]|0)>=((c[X>>2]|0)-1|0))break;vA(c[da>>2]|0);j=c[(c[U>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0;if(c[ba>>2]|0)c[Z+16>>2]=j;else c[aa>>2]=j;c[Y>>2]=Pz(c[ia>>2]|0)|0;YA(c[da>>2]|0,c[aa>>2]|0,c[Y>>2]|0,16);KA(c[da>>2]|0,c[(c[U>>2]|0)+(((c[W>>2]|0)+1|0)*20|0)>>2]|0,c[ea>>2]|0);Rz(c[ia>>2]|0,c[V>>2]|0)|0;tA(c[da>>2]|0);Tz(c[ia>>2]|0,c[Y>>2]|0);c[W>>2]=(c[W>>2]|0)+2}if(c[X>>2]&1){vA(c[da>>2]|0);KA(c[da>>2]|0,c[(c[(c[$>>2]|0)+4>>2]|0)+(((c[X>>2]|0)-1|0)*20|0)>>2]|0,c[ea>>2]|0);tA(c[da>>2]|0)}else bx(c[ia>>2]|0,77,0,c[ea>>2]|0)|0;Tz(c[ia>>2]|0,c[V>>2]|0)}}while(0);b:do if((ja|0)==11){c[m>>2]=c[(c[I>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[da>>2]|0)+100>>2]|0)>0){c[fa>>2]=(b[(c[I>>2]|0)+32>>1]|0)+(c[(c[da>>2]|0)+100>>2]|0);break b}else{c[m>>2]=c[(c[da>>2]|0)+104>>2];break}while(0);c[fa>>2]=MA(c[da>>2]|0,c[(c[I>>2]|0)+44>>2]|0,b[(c[I>>2]|0)+32>>1]|0,c[m>>2]|0,c[ea>>2]|0,a[(c[I>>2]|0)+38>>0]|0)|0}while(0);lA(c[da>>2]|0,c[ga>>2]|0);lA(c[da>>2]|0,c[ha>>2]|0);c[ca>>2]=c[fa>>2];ja=c[ca>>2]|0;i=ka;return ja|0}function MA(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;k=v+32|0;l=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+36|0;t=v+8|0;r=v+4|0;s=v;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+124;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+112|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;sB(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}GA(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)Hh(c[t>>2]|0,a[q>>0]|0);else tB(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function NA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);bx(c[l>>2]|0,74,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Fi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31811,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Ch(q,31814,n);i=p;return}else{OA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=vR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}rB(c[l>>2]|0,75,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function OA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;Xy(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];rB(c[f>>2]|0,133,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function PA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;BA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function QA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=dy(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(qB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+324>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Cy(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+76|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;lB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=hA(c[g>>2]|0)|0;c[o>>2]=LA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{lA(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function RA(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=gB(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(pB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=ex(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Hh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function SA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=mB(c[d>>2]|0,1,0)|0;i=b;return a|0}function TA(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?82:83;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)bx(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?(SA(c[u>>2]|0)|0)!=0:0){lB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=LA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==82?(g=Zz(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==82):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}bx(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function UA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+56|0;l=z+52|0;m=z+48|0;n=z+44|0;o=z+40|0;t=z+36|0;u=z+32|0;r=z+28|0;w=z+24|0;q=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;p=z;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[w>>2]=0;c[q>>2]=0;c[v>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[t>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if(!(d[(c[t>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[u>>2]=c[(Nx(c[l>>2]|0,c[t>>2]|0)|0)+8>>2];c[r>>2]=c[c[u>>2]>>2];if(!(c[(c[r>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[y>>2]=ph(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[y>>2]|0){c[x>>2]=c[y>>2];while(1){if(!(a[c[x>>2]>>0]|0))break;a[c[x>>2]>>0]=a[18229+(d[c[x>>2]>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}r=c[(c[r>>2]|0)+72>>2]|0;t=c[u>>2]|0;u=c[n>>2]|0;x=c[y>>2]|0;c[p>>2]=w;c[v>>2]=Zb[r&255](t,u,x,c[p>>2]|0,q)|0;Tf(c[l>>2]|0,c[y>>2]|0)}if(!(c[v>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}y=c[l>>2]|0;c[s>>2]=rh(y,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}else{x=c[s>>2]|0;y=c[m>>2]|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[(c[s>>2]|0)+20>>2]=(c[s>>2]|0)+28;x=(c[s>>2]|0)+28|0;y=c[(c[m>>2]|0)+20>>2]|0;yR(x|0,y|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[s>>2]|0)+12>>2]=c[w>>2];c[(c[s>>2]|0)+4>>2]=c[q>>2];y=(c[s>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[k>>2]=c[s>>2];y=c[k>>2]|0;i=z;return y|0}return 0}function VA(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;h=K;r=K+140|0;s=K+136|0;t=K+132|0;u=K+128|0;v=K+124|0;A=K+120|0;H=K+116|0;I=K+112|0;j=K+108|0;x=K+144|0;w=K+104|0;l=K+100|0;D=K+96|0;q=K+92|0;n=K+72|0;o=K+68|0;y=K+64|0;p=K+60|0;C=K+56|0;E=K+52|0;F=K+48|0;G=K+44|0;B=K+40|0;z=K+36|0;m=K+32|0;k=K+12|0;c[s>>2]=b;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[A>>2]=-1;c[H>>2]=0;c[I>>2]=$w(c[s>>2]|0)|0;if(!(c[I>>2]|0)){c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}vA(c[s>>2]|0);if(!(c[(c[t>>2]|0)+4>>2]&32))c[A>>2]=fB(c[s>>2]|0)|0;if((d[(c[s>>2]|0)+453>>0]|0)==2){f=c[c[s>>2]>>2]|0;e=(d[c[t>>2]>>0]|0)==33?31774:31779;b=c[(c[s>>2]|0)+472>>2]|0;c[h>>2]=(c[A>>2]|0)>=0?19018:31762;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Eh(f,31786,h)|0;ex(c[I>>2]|0,160,c[(c[s>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[t>>2]|0;do if((d[c[t>>2]>>0]|0)==33){c[l>>2]=c[g+12>>2];c[D>>2]=0;a[x>>0]=Zx(c[l>>2]|0)|0;l=(c[s>>2]|0)+72|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[t>>2]|0)+28>>2]=m;c[w>>2]=bx(c[I>>2]|0,105,c[(c[t>>2]|0)+28>>2]|0,((c[v>>2]|0)!=0^1)&1)|0;if(c[v>>2]|0)g=0;else g=bA(c[c[s>>2]>>2]|0,1,1)|0;c[D>>2]=g;g=(c[t>>2]|0)+20|0;do if(!(c[(c[t>>2]|0)+4>>2]&2048)){if(c[g>>2]|0){c[p>>2]=c[(c[t>>2]|0)+20>>2];if(!(a[x>>0]|0))a[x>>0]=65;if(c[D>>2]|0){q=_x(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=q}c[E>>2]=hA(c[s>>2]|0)|0;c[F>>2]=hA(c[s>>2]|0)|0;if(c[v>>2]|0)bx(c[I>>2]|0,77,0,c[F>>2]|0)|0;c[y>>2]=c[c[p>>2]>>2];c[C>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[B>>2]=c[c[C>>2]>>2];if((c[A>>2]|0)>=0?(SA(c[B>>2]|0)|0)==0:0){CA(c[I>>2]|0,c[A>>2]|0)|0;c[A>>2]=-1}if((c[v>>2]|0)!=0?(xy(c[B>>2]|0,z)|0)!=0:0)fx(c[I>>2]|0,114,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;c[G>>2]=LA(c[s>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;g=c[I>>2]|0;e=c[G>>2]|0;if(c[v>>2]|0){bx(g,17,e,(Oz(c[I>>2]|0)|0)+2|0)|0;fx(c[I>>2]|0,113,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break}else{ex(g,96,e,1,c[F>>2]|0,x,1)|0;PA(c[s>>2]|0,c[G>>2]|0,1);bx(c[I>>2]|0,124,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[C>>2]=(c[C>>2]|0)+20}lA(c[s>>2]|0,c[E>>2]|0);lA(c[s>>2]|0,c[F>>2]|0)}}else{c[q>>2]=c[g>>2];kB(n,11,c[(c[t>>2]|0)+28>>2]|0);a[n+1>>0]=a[x>>0]|0;c[(c[q>>2]|0)+12>>2]=0;if(!(Nv(c[s>>2]|0,c[q>>2]|0,n)|0)){c[o>>2]=c[c[q>>2]>>2];J=gB(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[c[(c[o>>2]|0)+4>>2]>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=J;break}cA(c[D>>2]|0);c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[D>>2]|0)Kh(c[I>>2]|0,c[w>>2]|0,c[D>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];G=(c[s>>2]|0)+76|0;J=(c[G>>2]|0)+1|0;c[G>>2]=J;kB(k,0,J);if((d[c[t>>2]>>0]|0)==119){a[k>>0]=10;c[k+8>>2]=c[k+4>>2];bx(c[I>>2]|0,77,0,c[k+4>>2]|0)|0}else{a[k>>0]=3;bx(c[I>>2]|0,74,0,c[k+4>>2]|0)|0}gv(c[c[s>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);J=Cv(c[s>>2]|0,132,0,0,5124)|0;c[(c[m>>2]|0)+56>>2]=J;c[(c[m>>2]|0)+12>>2]=0;J=(c[m>>2]|0)+8|0;c[J>>2]=c[J>>2]&-1025;if(!(Nv(c[s>>2]|0,c[m>>2]|0,k)|0)){c[H>>2]=c[k+4>>2];break}c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[u>>2]|0)iB(c[I>>2]|0,c[(c[t>>2]|0)+28>>2]|0,c[u>>2]|0);if((c[A>>2]|0)>=0)Sz(c[I>>2]|0,c[A>>2]|0);tA(c[s>>2]|0);c[r>>2]=c[H>>2];J=c[r>>2]|0;i=K;return J|0}function WA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;s=z+64|0;r=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;p=z+68|0;q=z+44|0;w=z+40|0;y=z+36|0;k=z+32|0;j=z+28|0;h=z+24|0;l=z+20|0;n=z+16|0;m=z+12|0;g=z+8|0;o=z+4|0;v=z;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=aB(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=bB(c[r>>2]|0)|0;vA(c[s>>2]|0);c[w>>2]=hA(c[s>>2]|0)|0;KA(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(cB(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){bx(e,34,f,c[u>>2]|0)|0;break}else{c[o>>2]=Kz(e,35,f)|0;bx(c[y>>2]|0,55,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Rz(c[y>>2]|0,c[u>>2]|0)|0;Sz(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){bx(e,17,f,c[t>>2]|0)|0;fx(c[y>>2]|0,32,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}ex(e,95,f,1,0,p,1)|0;f=c[y>>2]|0;e=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){Gh(f,30,e,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}else{c[v>>2]=Gh(f,31,e,0,c[w>>2]|0,1)|0;bx(c[y>>2]|0,34,c[x>>2]|0,c[u>>2]|0)|0;Rz(c[y>>2]|0,c[t>>2]|0)|0;Sz(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=_x(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=Pz(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=hA(c[s>>2]|0)|0;fx(c[y>>2]|0,43,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=QA(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(cB(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)fx(c[y>>2]|0,43,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){ex(c[y>>2]|0,36,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,(a[p>>0]|16)&255)}else{ex(c[y>>2]|0,37,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,a[p>>0]|0)}lA(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){bx(c[y>>2]|0,34,c[m>>2]|0,c[u>>2]|0)|0;Rz(c[y>>2]|0,c[t>>2]|0)|0}Tz(c[y>>2]|0,c[h>>2]|0);lA(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;lA(x,y);y=c[s>>2]|0;tA(y);i=z;return}function XA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function YA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 28:{YA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);vA(c[g>>2]|0);YA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);tA(c[g>>2]|0);break}case 27:{c[l>>2]=Pz(c[s>>2]|0)|0;ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);vA(c[g>>2]|0);YA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Tz(c[s>>2]|0,c[l>>2]|0);tA(c[g>>2]|0);break}case 19:{ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==29?36:37;c[k>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[o>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;bx(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 32:{_A(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 33:if(c[k>>2]|0){WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Pz(c[s>>2]|0)|0;WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Tz(c[s>>2]|0,c[m>>2]|0);break a}default:{if(oz(c[h>>2]|0)|0){Rz(c[s>>2]|0,c[j>>2]|0)|0;break a}if(!($A(c[h>>2]|0)|0)){c[o>>2]=QA(c[g>>2]|0,c[h>>2]|0,q)|0;fx(c[s>>2]|0,22,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((t|0)==7){c[o>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}lA(c[g>>2]|0,c[q>>2]|0);lA(c[g>>2]|0,c[r>>2]|0);i=u;return}function ZA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 28:{c[l>>2]=Pz(c[t>>2]|0)|0;YA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);vA(c[g>>2]|0);ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Tz(c[t>>2]|0,c[l>>2]|0);tA(c[g>>2]|0);break}case 27:{ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);vA(c[g>>2]|0);ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);tA(c[g>>2]|0);break}case 19:{YA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[o>>2]=(c[o>>2]|0)==29?37:36;c[k>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[p>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;bx(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 32:{_A(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 33:{c[m>>2]=Pz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;WA(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Rz(c[t>>2]|0,c[j>>2]|0)|0;Tz(c[t>>2]|0,c[m>>2]|0);break}default:{if($A(c[h>>2]|0)|0){Rz(c[t>>2]|0,c[j>>2]|0)|0;break a}if(!(oz(c[h>>2]|0)|0)){c[p>>2]=QA(c[g>>2]|0,c[h>>2]|0,r)|0;fx(c[t>>2]|0,21,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((u|0)==7){c[p>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=QA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}lA(c[g>>2]|0,c[r>>2]|0);lA(c[g>>2]|0,c[s>>2]|0);i=v;return}function _A(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+216|0;h=s+212|0;m=s+208|0;p=s+204|0;n=s+200|0;q=s+152|0;j=s+104|0;k=s+56|0;l=s+8|0;r=s;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=28;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=41;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=39;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];XA(l,QA(c[o>>2]|0,l,r)|0);f=c[o>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if(c[p>>2]|0){ZA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;lA(q,r);i=s;return}else{YA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;lA(q,r);i=s;return}}function $A(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(xy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function aB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;k=F+56|0;r=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;q=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;p=F+12|0;t=F+8|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=$w(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;a:do if((c[(c[l>>2]|0)+68>>2]|0)==0?(j=eB(c[m>>2]|0)|0,c[k>>2]=j,(j|0)!=0):0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+28>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=Dh(c[q>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;ox(c[l>>2]|0,b[v>>1]|0);Lz(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+28>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=fB(h)|0;Mz(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,102);c[r>>2]=1;Sz(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=gB(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=hB(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+13>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Qj(c[q>>2]|0,a[(c[q>>2]|0)+66>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=fB(c[l>>2]|0)|0;fx(c[E>>2]|0,102,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;Nz(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+12>>0]|0)==0:0){s=(c[l>>2]|0)+76|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;iB(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}Sz(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((jB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+428>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+428>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+76|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}VA(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+428>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function bB(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Zx(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=dB(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=dB(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function cB(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function dB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Zx(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function eB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;do if(c[(c[e>>2]|0)+4>>2]&2048){if(c[(c[e>>2]|0)+4>>2]&32){c[b>>2]=0;break}c[f>>2]=c[(c[e>>2]|0)+20>>2];if(c[(c[f>>2]|0)+48>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+8>>2]&9){c[b>>2]=0;break}if(c[(c[f>>2]|0)+56>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+32>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[f>>2]|0)+28>>2];if((c[c[j>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[j>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[k>>2]=c[(c[j>>2]|0)+8+16>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}c[h>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];if((d[c[h>>2]>>0]|0|0)!=152){c[b>>2]=0;break}else{c[b>>2]=c[f>>2];break}}else c[b>>2]=0;while(0);i=l;return c[b>>2]|0}function fB(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=$w(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+84|0;a=c[e>>2]|0;c[e>>2]=a+1;a=Kz(d,20,a)|0;i=b;return a|0}function gB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=_x(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=_x(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=_x(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=_x(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=bB(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function iB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;bx(c[g>>2]|0,74,0,c[h>>2]|0)|0;c[f>>2]=Kz(c[g>>2]|0,55,c[j>>2]|0)|0;fx(c[g>>2]|0,94,c[j>>2]|0,0,c[h>>2]|0)|0;Hh(c[g>>2]|0,-128);Sz(c[g>>2]|0,c[f>>2]|0);i=e;return}function jB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=SA(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function kB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function lB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+324>>2];c[o>>2]=Ay(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Rv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}function mB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];oy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function nB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function oB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function pB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Zx(c[k>>2]|0)|0;d=(dB(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function qB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=mB(c[d>>2]|0,2,0)|0;i=b;return a|0}function rB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Rw(JA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=ex(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function sB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+124;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function tB(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+64>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;r=(c[j>>2]|0)+25|0;a[r>>0]=(a[r>>0]|0)+1<<24>>24;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+124+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function uB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function vB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=wB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=wB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=wB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Yw(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=$w(c[l>>2]|0)|0;c[u>>2]=xA(c[l>>2]|0,4)|0;KA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);KA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);KA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){ex(c[w>>2]|0,87,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Hh(c[w>>2]|0,a[c[n>>2]>>0]|0);Kz(c[w>>2]|0,148,(c[m>>2]|0)==24&1)|0}}while(0);gv(c[s>>2]|0,c[p>>2]|0);gv(c[s>>2]|0,c[q>>2]|0);gv(c[s>>2]|0,c[r>>2]|0);i=y;return}function wB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=sy(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function xB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=ae(c[c[r>>2]>>2]|0)|0;c[g>>2]=we(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=19018;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31852,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31873,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31899,m)|0;break}if((qg(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(ou(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){yB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;zB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31941,n)|0}while(0);je(c[f>>2]|0,o,-1);i=q;return}function yB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;AB(c[g>>2]|0)|0}Og(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(BB(c[e>>2]|0)|0)==0:0)){fr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Si(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function zB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function AB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);CB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;DB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}EB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function BB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1217]|0)!=(c[d>>2]|0)){c[e>>2]=c[1217];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1217]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function CB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function DB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}FB(c[b>>2]|0);i=d;return}function EB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;FB(c[e>>2]|0);i=f;return}function FB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Hs(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function GB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=we(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ae(c[c[F>>2]>>2]|0)|0;c[C>>2]=ae(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=19018;if(!(c[C>>2]|0))c[C>>2]=19018;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+92+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Eh(c[p>>2]|0,32014,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Eh(F,32056,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Rw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Qw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=_j(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)lh(c[p>>2]|0);je(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=$j(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ak(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Eh(c[p>>2]|0,20632,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;HB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;IB(F,IB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;JB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Eh(c[p>>2]|0,32086,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=ph(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=qi(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){yB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Bg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){lh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Eh(c[p>>2]|0,25632,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Eh(F,32115,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+92+28>>2];c[A>>2]=Eh(e,31977,h)|0}while(0);if(c[A>>2]|0){je(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}re(c[n>>2]|0,c[u>>2]|0);i=E;return}function HB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(LB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function IB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function JB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);KB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function KB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function LB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;ox(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function NB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=OB(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?20521:20540;if((c[h>>2]|0)==1)c[f>>2]=14;if(Yw(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(Yw(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=$w(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?20521:20540;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;_w(n,32163,l);ax(c[d>>2]|0,c[h>>2]|0);ex(c[k>>2]|0,138,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function OB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function PB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=rh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;yR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Vw(c[j>>2]|0);c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function QB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=lx(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(gz(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function RB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function SB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(TB(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(UB(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Ch(f,32461,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function TB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(VB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(SB(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(VB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(VB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+144+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(TB(e,c[b>>2]|0)|0){e=10;break}}else if(VB(e,c[b>>2]|0)|0){e=12;break}if(UB(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Ch(f,32507,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function VB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(UB(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(TB(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(UB(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(VB(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function XB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9|8;i=d;return}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}dx(c[e>>2]|0,1,c[g>>2]|0)|0;ZB(c[e>>2]|0,c[f>>2]|0);bx(c[e>>2]|0,85,1,1)|0;i=h;return}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;lC(c[f>>2]|0,1,e);i=d;return}function _B(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;rB(c[g>>2]|0,75,0,1,0,j,-13)|0;ZB(c[g>>2]|0,c[h>>2]|0);bx(c[g>>2]|0,85,1,1)|0;i=f;return}function $B(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];BC(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Tf(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=rh(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function aC(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=fh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function bC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32713)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32706)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function cC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[6260+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function dC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;AC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function eC(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function fC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33784)|0){if(!(ig(c[d>>2]|0,33228)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33789)|0)){c[b>>2]=2;break}else{c[e>>2]=Ni(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function gC(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=yC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function iC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)JB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function jC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=xC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(kC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function kC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(qg(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){yB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Bg(c[f>>2]|0);break}Ch(c[e>>2]|0,33722,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function lC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;$B(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;aC(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function mC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?77:97;e=c[h>>2]|0;c[h>>2]=e+1;ex(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;bx(b,74,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function nC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33532;break}case 8:{c[e>>2]=33541;break}case 9:{c[e>>2]=33553;break}case 6:{c[e>>2]=33561;break}default:c[e>>2]=33570}i=f;return c[e>>2]|0}function oC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Rw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:35351;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+442>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Ch(C,33469,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function pC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ah(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){lh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=Zx(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function qC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=33377;else c[f>>2]=19014;hi(c[d>>2]|0,33381,2,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33381,3,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33386,2,1,19010,212,0,0,0)|0;vC(c[d>>2]|0,33386,12);vC(c[d>>2]|0,33381,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function rC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0)uA(c[b>>2]|0,c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function sC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Dh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=$w(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+72>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Mz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Lz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==103&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){fx(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Nz(c[q>>2]|0,c[A>>2]|0)}if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2]}else Hh(c[B>>2]|0,a[t>>0]|0);c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function tC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9;i=d;return}function uC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=we(c[f>>2]|0)|0;c[k>>2]=ve(c[f>>2]|0)|0;c[m>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=be(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+92+32>>2]|0)){je(c[f>>2]|0,33391,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=ae(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Px(c[n>>2]|0,-1)|0)==1){c[j>>2]=wC(n)|0;break}je(c[f>>2]|0,33424,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;ke(q,Rh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function vC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ii(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function wC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[26179+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function xC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33626)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26775)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function yC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=zC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function zC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=HR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=FR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=aj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function AC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function BC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Wg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function CC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34662,k)|0;if(ri(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;_w(p,31534,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function DC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=$w(c[g>>2]|0)|0;c[f>>2]=hA(c[g>>2]|0)|0;fx(c[k>>2]|0,128,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Ox(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?20521:20540;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;_w(a,34606,h);lA(c[g>>2]|0,c[f>>2]|0);i=e;return}function EC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Qw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;AR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function FC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&16777216)c[p>>2]=sx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(_F(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function GC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Nx(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Ch(m,35772,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Ch(m,35743,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function HC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-5|4;i=d;return}function IC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+536>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(sx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=158){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=lx(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(OQ(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(aG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(Dy(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Dh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=$w(c[v>>2]|0)|0;ox(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+72|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+72|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=JC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=hA(c[v>>2]|0)|0;c[L>>2]=hA(c[v>>2]|0)|0;Mz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,103);do if(!(c[(c[z>>2]|0)+24>>2]&268435456)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=bx(c[M>>2]|0,55,c[E>>2]|0,0)|0;c[A>>2]=jx(c[M>>2]|0,13)|0;Sz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Mz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,102);c[B>>2]=bx(c[M>>2]|0,55,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=bx(l,112,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=bx(l,121,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=bx(c[M>>2]|0,121,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=fx(c[M>>2]|0,32,c[E>>2]|0,0,c[L>>2]|0)|0;QE(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Sz(c[M>>2]|0,c[s>>2]|0);PC(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);bx(c[M>>2]|0,120,c[F>>2]|0,c[K>>2]|0)|0;ex(c[M>>2]|0,113,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[w>>2]|0,-20)|0;Hh(c[M>>2]|0,11);bx(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;bx(c[M>>2]|0,109,c[F>>2]|0,0)|0;bx(c[M>>2]|0,109,c[E>>2]|0,0)|0}else{Lz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Lz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(aG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}fx(c[M>>2]|0,102,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Nz(c[v>>2]|0,c[J>>2]|0);fx(c[M>>2]|0,103,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Nz(c[v>>2]|0,c[H>>2]|0);Hh(c[M>>2]|0,1);c[y>>2]=bx(c[M>>2]|0,55,c[F>>2]|0,0)|0;bx(c[M>>2]|0,119,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&268435456){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(35351,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;fx(c[M>>2]|0,33,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);fx(c[M>>2]|0,124,c[E>>2]|0,c[K>>2]|0,1)|0;Hh(c[M>>2]|0,a[G>>0]|0);bx(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Sz(c[M>>2]|0,c[y>>2]|0);bx(c[M>>2]|0,109,c[F>>2]|0,0)|0;bx(c[M>>2]|0,109,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Sz(c[M>>2]|0,c[B>>2]|0);lA(c[v>>2]|0,c[L>>2]|0);lA(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){bx(c[M>>2]|0,73,0,0)|0;Sz(c[M>>2]|0,c[A>>2]|0);bx(c[M>>2]|0,109,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function JC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+42>>0]|0)&8){b=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+412>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Rw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+412>>2];c[(c[m>>2]|0)+412>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function KC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Kz(c[f>>2]|0,71,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+24>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+24>>2]|0)+60>>2]=0;i=e;return}function LC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=$w(c[f>>2]|0)|0;c[k>>2]=Oz(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Nx(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Zz(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==102?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==153?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function MC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];KA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+76|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;bx(c[j>>2]|0,82,c[h>>2]|0,c[f>>2]|0)|0;XA(c[g>>2]|0,c[f>>2]|0);i=e;return}function NC(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=JA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ah(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){lh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){ex(g,95,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Kh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function OC(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(_F(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)ZE(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function PC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}bx(c[(c[e>>2]|0)+8>>2]|0,143,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function QC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(SA(c[g>>2]|0)|0)!=0:0){lB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}KA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function RC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)a=c[a+416>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+456>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+524>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+456>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+524>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+524>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+456|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+524>>2]|0)+(l<<2)>>2]=j;i=k;return}else{lh(c[c[h>>2]>>2]|0);i=k;return}}function SC(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=$w(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Hj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Ox(c[E>>2]|0);break}case 3:case 1:break;case 4:{bx(c[ka>>2]|0,34,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Kz(c[ka>>2]|0,35,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;KA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Sz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Eh(m,30757,A)|0;ex(c[ka>>2]|0,72,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Hh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(PE(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Pz(c[ka>>2]|0)|0;ZA(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Rz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;oA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}Tz(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Pz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){fx(c[ka>>2]|0,37,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=jx(c[ka>>2]|0,13)|0}while(0);fx(c[ka>>2]|0,32,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=FC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(RE(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){SE(c[E>>2]|0);UE(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{SE(c[E>>2]|0);TE(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Rz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)QE(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);Tz(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=jx(c[ka>>2]|0,13)|0;Sz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){NC(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Pz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){bx(c[ka>>2]|0,77,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;wA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+100>>2]=0}c[ga>>2]=xA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;FA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+100>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}bx(c[ka>>2]|0,(c[U>>2]|0)<0?84:83,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}fx(c[ka>>2]|0,96,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;PA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){Tz(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){AA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);Tz(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Gh(c[ka>>2]|0,29,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=xA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){bx(c[ka>>2]|0,127,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;fx(c[ka>>2]|0,37,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(HA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;fx(c[ka>>2]|0,94,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=Oz(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=36;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Qz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=37}ex(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Hh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{kA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Rz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;SE(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=FC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;TE(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}Tz(c[ka>>2]|0,c[Q>>2]|0);AA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))AA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Rz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Sz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function TC(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+442>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Dh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(XC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+442>>0]|0)c[I>>2]=ri(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Bh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(oC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=$y(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Lz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+72|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)YC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(ZC(c[l>>2]|0,c[D>>2]|0)|0)==0:0)YC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=$w(c[l>>2]|0)|0;g=Oz(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;bx(c[K>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}bx(c[K>>2]|0,142,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Rx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(_C(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[l>>2]|0)+416>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(oC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=Yv(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+72|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)$C(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],$C(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Ox(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;fv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function UC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=$w(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;bx(j,34,n,(Oz(c[D>>2]|0)|0)+2|0)|0}bx(c[D>>2]|0,124,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Hh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=hA(c[o>>2]|0)|0;fx(c[D>>2]|0,96,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))NC(c[D>>2]|0,c[p>>2]|0,0);PA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;fx(c[D>>2]|0,113,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Kh(c[D>>2]|0,-1,c[p>>2]|0,-20);Hh(c[D>>2]|0,a[A>>0]|0);i=E;return}function VC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+412>>2]|0)){i=d;return}WC(c[b>>2]|0);i=d;return}function WC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=hA(c[d>>2]|0)|0;Mz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,103);c[e>>2]=Ih(c[l>>2]|0,5,34905,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;lA(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function XC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0}function YC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=$w(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)-1;c[C>>2]=Pz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)bx(c[J>>2]|0,63,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;bx(c[J>>2]|0,34,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=hA(c[o>>2]|0)|0;bx(c[J>>2]|0,83,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=bx(c[J>>2]|0,17,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){fx(c[J>>2]|0,37,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Hh(c[J>>2]|0,-112)}Mz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,102);fx(c[J>>2]|0,32,c[z>>2]|0,0,c[H>>2]|0)|0;Rz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Sz(I,(Oz(c[J>>2]|0)|0)-2|0);Sz(c[J>>2]|0,c[B>>2]|0);lA(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=xA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=hA(c[o>>2]|0)|0;fx(c[J>>2]|0,102,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Nz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;bx(c[J>>2]|0,82,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=Oz(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];fx(c[J>>2]|0,36,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Hh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Rz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=pC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;ex(h,96,e,g,l,H,c[F>>2]|0)|0;Gh(c[J>>2]|0,31,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;lA(c[o>>2]|0,c[G>>2]|0);AA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[o>>2]|0)+416>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){oA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;Tz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Kz(I,109,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Ox(c[o>>2]|0);bx(c[J>>2]|0,142,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;Tz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Kz(I,109,J)|0;i=K;return}function ZC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+532>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+532>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function _C(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0} -function Lp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(19007,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=RQ(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Pp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ck(z,A,(RQ(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Pp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Dk(c[k>>2]|0,25463,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Dk(A,21211,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Mp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(19007,k)|0;if(c[m>>2]|0)Mk(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Np(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(25408,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Dk(D,19007,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=ye(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;D=(RQ(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(RQ(c[y>>2]|0)|0)+1;yR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}AR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Xp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0}function Pp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Kp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Kp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Wp(c[f>>2]|0,s,25361,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Wp(p,s,25367,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Wp(p,s,25347,l)}}else{if(c[e>>2]|0){b=Vp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=19018;Wp(c[f>>2]|0,s,25326,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Wp(b,s,25332,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=25354;Wp(p,s,25347,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19018:25376;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25385,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19018:25376;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25385,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Vp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=19018;Wp(c[g>>2]|0,n,20891,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Wp(b,n,25310,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Wp(c[g>>2]|0,n,25317,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Sp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24935,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24961,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24973,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;ll(g,s,24984,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;ll(g,s,25017,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;ll(g,s,25089,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;ll(g,s,25242,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}$o(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24915,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){ue(c[f>>2]|0)|0;h=De(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Yd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24840;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24849,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24854,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24861,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Vp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((RQ(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Wp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(25321,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Xp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ve(c[e>>2]|0)|0;c[o>>2]=ae(c[c[f>>2]>>2]|0)|0;c[h>>2]=(be(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!(Zp(c[e>>2]|0)|0)){je(c[e>>2]|0,25646,-1);i=p;return}c[g>>2]=be(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){je(c[e>>2]|0,25609,-1);i=p;return}else{c[l>>2]=c[($d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=jk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;je(c[e>>2]|0,25632,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ck(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(21211,m)|0;je(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);ge(c[e>>2]|0,l,4,-1);i=p;return}function Zp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=we(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function _p(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[g>>2]|0)+12>>2]|0);ok(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}nk(c[f>>2]|0);i=k;return}function $p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=aq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}ok(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Fk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];bq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function aq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}AR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function dq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function eq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=RQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function fq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function gq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25668+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25668+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);hq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function hq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(jq(r,25748,25753,0)|0)==0:0)?(jq(r,25756,25760,0)|0)==0:0)?(jq(r,25753,25753,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(jq(r,25762,25766,172)|0)){if((jq(r,25769,19018,173)|0)==0?(jq(r,25773,19018,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(jq(r,25776,25779,0)|0)==0:0)?(jq(r,25783,25786,0)|0)==0:0)?(jq(r,25790,25793,0)|0)==0:0){if((((mq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((nq(c[r>>2]|0)|0)!=0?(oq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(lq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(jq(r,25797,25779,172)|0))jq(r,25805,25812,172)|0;break}case 99:{if(!(jq(r,25817,25822,172)|0))jq(r,25827,25832,172)|0;break}case 101:{jq(r,25837,25793,172)|0;break}case 103:{jq(r,25842,25847,172)|0;break}case 108:{if((((jq(r,25851,25786,172)|0)==0?(jq(r,25855,25860,172)|0)==0:0)?(jq(r,25863,25869,172)|0)==0:0)?(jq(r,25873,25877,172)|0)==0:0)jq(r,25879,25885,172)|0;break}case 111:{if((jq(r,25889,25793,172)|0)==0?(jq(r,25897,25779,172)|0)==0:0)jq(r,25903,25779,172)|0;break}case 115:{if(((jq(r,25908,25860,172)|0)==0?(jq(r,25914,25922,172)|0)==0:0)?(jq(r,25926,25934,172)|0)==0:0)jq(r,25938,25885,172)|0;break}case 116:{if((jq(r,25946,25860,172)|0)==0?(jq(r,25952,25922,172)|0)==0:0)jq(r,25958,25786,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((jq(r,25965,25971,172)|0)==0?(jq(r,25974,19018,172)|0)==0:0)jq(r,25980,25860,172)|0;break}case 105:{jq(r,25986,25971,172)|0;break}case 108:{if(!(jq(r,25992,25971,172)|0))jq(r,25997,19018,172)|0;break}case 115:{jq(r,26001,19018,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(pq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(jq(r,26006,19018,174)|0)==0:0)?(jq(r,26012,19018,174)|0)==0:0)jq(r,26017,19018,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(pq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;jq(r,26021,19018,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(jq(r,26025,19018,174)|0))jq(r,26029,19018,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(pq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((nq(g)|0)!=0?(oq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((pq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=RQ(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function iq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function kq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function lq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(rq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function mq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(rq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function nq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((rq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(qq((c[d>>2]|0)+1|0)|0)!=0:0)d=(rq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[26033+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=rq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[26033+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(qq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function sq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}AR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=RQ(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(yq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function tq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=RQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function vq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function xq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function yq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=RQ(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(19288,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=RQ(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=RQ(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,26069)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){AR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;yR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;yR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Mk(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Dk(c[n>>2]|0,26138,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Aq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];wm(c[e>>2]|0);zl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Eq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}zl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);AR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=ae(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(19007,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=be(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(19007,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=be(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=de(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ol(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=sl(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Fq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=wR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=tl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=LQ(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Jq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}AR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=Yl((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Jq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Gq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){ke(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{ne(e,26067,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Iq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){AR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=RQ(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(LQ(26344,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(LQ(26364,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(LQ(26384,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(LQ(26396,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Lq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Lq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Mq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=RQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Nq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Oq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26179+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Qq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26179+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Rq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Tq(c[e>>2]|0)|0;a=a^(Uq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Qq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[10630+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=10630+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[11282+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Sq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Sq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;yR(j|0,11436,202)|0;b=h;d=26243;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2372+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2388+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2388+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2388+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Vq(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26179+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26179+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=rh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Xq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function Yq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Zq(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=St(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Tt(c[d>>2]|0)|0)<=1){i=f;return}Ut(c[e>>2]|0)|0;i=f;return}function _q(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=qt()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(rt(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=ph(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ah(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=Yq(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=mt(50512)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;yR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)yR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;yR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=26605;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);yR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[26615]|0;a[L+1>>0]=a[26616]|0;a[L+2>>0]=a[26617]|0;a[L+3>>0]=a[26618]|0;a[L+4>>0]=a[26619]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Sr(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=$r(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(_r(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26621,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26628,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Ti(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=tt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){mr(c[(c[C>>2]|0)+64>>2]|0);Zi(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;_r(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function $q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;_i(c[f>>2]|0);i=e;return}function ar(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;AR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=cs(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function br(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=pt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Rs(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function dr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function er(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function fr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Wj();gr(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;hr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Xi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)ir(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;kr(b,jr(c[e>>2]|0)|0)|0}lr(c[e>>2]|0)}Xj();mr(c[(c[e>>2]|0)+68>>2]|0);mr(c[(c[e>>2]|0)+64>>2]|0);Zi(c[f>>2]|0);nr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function gr(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function hr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Ps(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Qs(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Rs(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Ss(c[h>>2]|0,0,0)}}while(0);Ts(c[h>>2]|0,c[n>>2]|0);mr(c[(c[h>>2]|0)+8>>2]|0);if(c[n>>2]|0){Wj();vr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Xj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function ir(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;e=h;c[g>>2]=b;nj(c[(c[g>>2]|0)+60>>2]|0);c[(c[g>>2]|0)+60>>2]=0;qr(c[g>>2]|0);j=(zr(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[g>>2]|0)+64>>2]>>2]|0)b=$r(c[(c[g>>2]|0)+64>>2]|0)|0;else b=0;c[e>>2]=b;if(!(0!=(c[e>>2]&2048|0)?1==(d[(c[g>>2]|0)+5>>0]&5|0):0))mr(c[(c[g>>2]|0)+68>>2]|0);c[f>>2]=Dr(c[g>>2]|0,0)|0;if((c[f>>2]|0)!=0?(d[(c[g>>2]|0)+17>>0]|0)==6:0)a[(c[g>>2]|0)+18>>0]=5;a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}}else{Os(c[b+216>>2]|0);a[(c[g>>2]|0)+17>>0]=0}if(!(c[(c[g>>2]|0)+44>>2]|0)){j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+13>>0]|0)){Xi(b);a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}else a[(c[g>>2]|0)+17>>0]=(c[c[b+68>>2]>>2]|0)!=0?0:1;c[(c[g>>2]|0)+44>>2]=0;j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function jr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=tr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Vi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function kr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function lr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Wj();or(c[e>>2]|0)|0;Xj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))pr(c[e>>2]|0,0,0)|0}while(0);ir(c[e>>2]|0);i=f;return}function mr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){i=d;return}Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;i=d;return}function nr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function or(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(zr(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Tr(b,2,-1)|0;c[j>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Ur(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=pr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=kr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function pr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+24|0;k=o+20|0;g=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[k>>2]|0)+17>>0]|0)<2?(d[(c[k>>2]|0)+18>>0]|0)<2:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}qr(c[k>>2]|0);a:do if(c[c[(c[k>>2]|0)+68>>2]>>2]|0){b=(rr(c[(c[k>>2]|0)+68>>2]|0)|0)!=0;f=c[k>>2]|0;if(b){mr(c[f+68>>2]|0);break}e=c[k>>2]|0;if((d[f+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=sr(c[(c[k>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[k>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=tr(c[(c[k>>2]|0)+68>>2]|0,d[(c[k>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if((d[(c[k>>2]|0)+4>>0]|0)!=0?(d[(c[k>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[k>>2]|0)+13>>0]|0)!=0^1)&1;mr(c[(c[k>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=vr(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+180>>2]|0,d[(c[k>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)f=1;else f=(d[(c[k>>2]|0)+13>>0]|0)!=0;c[m>>2]=ur(c[k>>2]|0,f&1)|0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);nj(c[(c[k>>2]|0)+60>>2]|0);c[(c[k>>2]|0)+60>>2]=0;c[(c[k>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(wr(c[k>>2]|0,c[l>>2]|0)|0)!=0;f=c[(c[k>>2]|0)+212>>2]|0;if(h)xr(f);else yr(f);dj(c[(c[k>>2]|0)+212>>2]|0,c[(c[k>>2]|0)+28>>2]|0)}if(!(zr(c[k>>2]|0)|0)){if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[(c[k>>2]|0)+36>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=Br(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0)|0}else c[n>>2]=Ar(c[(c[k>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[c[(c[k>>2]|0)+64>>2]>>2]|0)!=0:0){l=yi(c[(c[k>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[k>>2]|0)+4>>0]|0)){if((zr(c[k>>2]|0)|0)!=0?(Cr(c[(c[k>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Dr(c[k>>2]|0,1)|0;a[(c[k>>2]|0)+19>>0]=0}while(0);a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+20>>0]=0;c[j>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[j>>2]|0;i=o;return n|0}function qr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;nj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(rr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))mr(c[(c[d>>2]|0)+72>>2]|0);Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function rr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4872|0}function sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function ur(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=sr(e,0,0)|0;else c[j>>2]=Hg(e,26462,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=tr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Vi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=sr(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function wr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Jr(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=h;return c[e>>2]|0}function xr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;ej(c[d>>2]|0)}i=e;return}function yr(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function zr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function Ar(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Ir(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Br(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=HR(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=wR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];AR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=vR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Hg(a,j,n,o,C)|0}}else{o=h;c[k>>2]=sr(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Cr(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Gr(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Fr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Dr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Er(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Hr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Gr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Hr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Ir(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Hr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Jr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;d=f+4|0;b=f;c[g>>2]=a;c[d>>2]=0;c[b>>2]=aj(c[g>>2]|0)|0;c[e>>2]=c[c[g>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=c[(c[e>>2]|0)+32>>2]}if(!(c[b>>2]|0)){g=0;i=f;return g|0}e=c[d>>2]|0;e=HR(e|0,((e|0)<0)<<31>>31|0,100,0)|0;g=c[b>>2]|0;g=FR(e|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;i=f;return g|0}function Kr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Qr(c[d>>2]|0);i=b;return 0}function Lr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;h=r+44|0;j=r+8|0;o=r+40|0;q=r+36|0;n=r+32|0;k=r+28|0;p=r+24|0;g=r;l=r+20|0;m=r+16|0;c[t>>2]=a;c[s>>2]=b;c[h>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=c[t>>2];c[q>>2]=c[s>>2];c[n>>2]=c[h>>2];d=(c[o>>2]|0)+40|0;a=j;b=j;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[p>>2]=c[(c[o>>2]|0)+16>>2];while(1){if(!(c[p>>2]|0))break a;a=g;s=c[(c[o>>2]|0)+4>>2]|0;s=wR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=j;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[o>>2]|0)+4>>2]|0;t=g;s=wR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[p>>2]=c[c[p>>2]>>2]}}else c[p>>2]=c[(c[o>>2]|0)+40+8>>2];while(0);s=j;t=c[(c[o>>2]|0)+4>>2]|0;t=GR(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[k>>2]=t;do{c[l>>2]=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0);if((c[n>>2]|0)<((c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[n>>2]|0;else e=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[m>>2]=e;yR(c[q>>2]|0,(c[p>>2]|0)+4+(c[k>>2]|0)|0,c[m>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);c[k>>2]=0;if((c[n>>2]|0)<0)break;t=c[c[p>>2]>>2]|0;c[p>>2]=t}while((t|0)!=0&(c[n>>2]|0)>0);if(!(c[p>>2]|0)){n=0;t=0;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}t=j;n=c[h>>2]|0;n=wR(c[t>>2]|0,c[t+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;t=C;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}function Mr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=wR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Rr(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Hg(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=GR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}yR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=wR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=wR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Qr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Or(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Qr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Rr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Sr(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=wR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=vR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Hg(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=wR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Qr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}mr(c[k>>2]|0);a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Sr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;nj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((zr(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=os(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(rr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=sr(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Ur(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Vi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Vr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Wr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Xr(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=vR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=FR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=wR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=vR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=FR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=Br(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Xi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=Yr(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Vr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Jg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=pr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=Zr(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;_r(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,26490,r);s=c[m>>2]|0;_r(s);s=c[p>>2]|0;i=t;return s|0}function Vr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Vi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=ds(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=ds(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=cs(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(LQ(k,26517,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=vR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=vR(d|0,C|0,c[m>>2]|0,0)|0,d=cs(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Xr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ns(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=wR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=cs(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(LQ(n,26517,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=wR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=ds(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=wR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=ds(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=wR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=ds(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=wR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=ds(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=wR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=ds(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Ti(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=wR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function Yr(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;q=B+56|0;l=B+52|0;m=B+48|0;r=B+44|0;n=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;o=B+24|0;s=B+20|0;p=B+16|0;t=B+12|0;u=B;x=B+8|0;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;c[r>>2]=j;c[n>>2]=k;c[s>>2]=c[(c[q>>2]|0)+208>>2];j=c[q>>2]|0;if(c[r>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[p>>2]=j;f=c[l>>2]|0;c[A>>2]=ds(c[p>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[p>>2]|0;h=c[s>>2]|0;g=c[(c[q>>2]|0)+160>>2]|0;f=c[l>>2]|0;f=wR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=cs(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[q>>2]|0)+160>>2]|0)+4+(c[r>>2]<<2)|0;f=c[l>>2]|0;h=f;g=wR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[381]|0)/(c[(c[q>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[q>>2]|0)+28>>2]|0)>>>0?(lj(c[m>>2]|0,c[v>>2]|0)|0)==0:0){if(c[r>>2]|0){f=c[p>>2]|0;p=c[l>>2]|0;p=vR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0;c[A>>2]=ds(f,p,C,o)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[n>>2]|0)==0?(p=es(c[q>>2]|0,c[s>>2]|0)|0,(p|0)!=(c[o>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[m>>2]|0)!=0?(p=jj(c[m>>2]|0,c[v>>2]|0)|0,c[A>>2]=p,(p|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[q>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[q>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(zr(c[q>>2]|0)|0)c[z>>2]=0;else c[z>>2]=fs(c[q>>2]|0,c[v>>2]|0)|0;if(c[r>>2]|0){if(d[(c[q>>2]|0)+7>>0]|0)j=1;else{p=c[l>>2]|0;n=c[p+4>>2]|0;j=(c[q>>2]|0)+88|0;o=c[j+4>>2]|0;j=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[q>>2]|0)+64>>2]>>2]|0){if((d[(c[q>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[q>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[q>>2]|0)+160>>2]|0;p=HR((c[v>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=p;c[t+4>>2]=C;c[A>>2]=Hg(c[(c[q>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[q>>2]|0)+36>>2]|0)>>>0)c[(c[q>>2]|0)+36>>2]=c[v>>2];if(c[(c[q>>2]|0)+96>>2]|0){gs(c[(c[q>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[r>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=ug(c[q>>2]|0,c[v>>2]|0,z,1)|0;w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){hs(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];yR(c[x>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0)|0;Qb[c[(c[q>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[v>>2]|0)==1){h=(c[q>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}is(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function Zr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Sr(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Vi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=wR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=wR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=wR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=cs(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Wr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Sr(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Vr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;mr(c[l>>2]|0);if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(OQ(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}mr(c[m>>2]|0);c[o>>2]=vr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}mr(c[m>>2]|0);Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function _r(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?(($r(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=as(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function $r(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function as(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=bs(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function bs(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function cs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=cs(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=er(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function es(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ks(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ls(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}js(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hs(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;fj(c[d>>2]|0,2);i=f;return}function is(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){gj(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=wg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function ks(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;l=g+8|0;h=g+4|0;f=g;c[k>>2]=a;c[j>>2]=b;c[l>>2]=e;c[h>>2]=c[l>>2]&(d[(c[k>>2]|0)+33>>0]|0);c[f>>2]=Ob[c[144>>2]&255](c[(c[k>>2]|0)+44>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return c[f>>2]|0}function ls(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=ms(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function ms(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[j>>2]|0;e=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;AR(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[f>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[f>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2];b[(c[j>>2]|0)+24>>1]=1;j=ls(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=k;return j|0}function ns(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=vR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=FR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=wR(h|0,C|0,1,0)|0;h=HR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function os(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=ij(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(zr(c[f>>2]|0)|0)!=0:0){c[e>>2]=ps(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(zr(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=Yr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Xr(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=wR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=vR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=FR(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=Yr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=HR(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(zr(c[f>>2]|0)|0)c[p>>2]=qs(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=Yr(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);nj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function ps(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=xs(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=ys(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ws(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];rs(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function rs(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;ts(a,ss(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));AR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function ss(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=us(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function us(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){AR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=vs(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function vs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=fs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Ds(c[f>>2]|0)|0)==1){Es(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Fs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Gs(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Hs(c[f>>2]|0)}while(0);bj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=Bs(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Cs(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}rs(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function ys(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=zs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function zs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=As(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=As(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=As(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function As(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Bs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=ss(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Ds(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Es(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)fj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Fs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=ss(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=ss(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=ts(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Ms(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ns(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Oj(55832)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Gs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ls(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=HR((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=cs(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Hs(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32){Is(a);f=c[b>>2]|0;Js(f);i=d;return}else{is(a);f=c[b>>2]|0;Js(f);i=d;return}}function Is(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=HR((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ks(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Js(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Ui(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}lr(c[b>>2]|0);i=d;return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ls(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=HR((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=wR(32,0,f|0,C|0)|0;f=wR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=cs(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Ms(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ns(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Os(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Ar(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Gr(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Qs(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Vs(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ws(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Xs(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ks(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=Ys(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Oj(56532)|0;else c[y>>2]=Zs(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(_s(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Ar(c[v>>2]|0)|0;Ir(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Wj();c[g>>2]=Vi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=sr(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Xj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,26525,j);i=k;return}function Ts(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Us(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Vs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Hr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ws(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Vs(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Xs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=us(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=kt(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Fr(e,0)|0;c[l>>2]=k;if(k)break;Gr(c[g>>2]|0,0);c[l>>2]=264;break}b=Vs(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=us(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=kt(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=lt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Ir(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=mt(55385)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function Ys(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Zs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=Ys(c[j>>2]|0)|0;c[y>>2]=_s(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=$s(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ws(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Ir(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ws(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=tr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=HR(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Vi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Rs(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(at(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=HR((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=wR(32,0,g|0,C|0)|0;g=wR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=cs(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=HR((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Hg(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Bs(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=HR(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=sr(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=tr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Ir(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ws(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){bt(c[j>>2]|0,c[B>>2]|0);c[A>>2]=sr(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Ir(c[j>>2]|0,4,4)}}while(0);ct(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function _s(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function $s(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(ss(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}AR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=ts(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}it(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)ct(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function at(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=_s(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;dt(b,1+(er(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];et(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function ct(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function et(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Bs(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ft(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));gt(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ft(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function gt(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}ht(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function ht(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function it(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);jt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);jt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function jt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];yR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function kt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Bs(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));gt(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(LQ(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ft(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(LQ((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function lt(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Vs(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Vi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=cs(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=er(j)|0;c[A>>2]=er(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=er(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ft((d[(c[h>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(er(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(er(j+28|0)|0)):0){c[D>>2]=er(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=mt(54439)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=wR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=cs(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=nt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=ot(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=wR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];et(c[h>>2]|0);c[w>>2]=_s(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,26568,B)}}}while(0);Ir(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function mt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(14,c[d>>2]|0,26551)|0;i=b;return a|0}function nt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(LQ((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=er(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ft(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ft(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(er((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(er((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=er((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function ot(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=ts(a,ss(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);AR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)rs(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Ms(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ns(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Oj(54308)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function pt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function qt(){return 48}function rt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function st(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(zr(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=ut(a)|0;if(!(c[j>>2]|0))c[j>>2]=vt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=wt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=xt(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))ej(c[g>>2]|0);c[f>>2]=kr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function tt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=Yi(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function ut(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Mt(c[d>>2]|0)|0){c[b>>2]=Nt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function vt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)zt(c[h>>2]|0);c[o>>2]=Ft(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;gs(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function wt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=At(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=$r(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[26517]|0;a[n+1>>0]=a[26518]|0;a[n+2>>0]=a[26519]|0;a[n+3>>0]=a[26520]|0;a[n+4>>0]=a[26521]|0;a[n+5>>0]=a[26522]|0;a[n+6>>0]=a[26523]|0;a[n+7>>0]=a[26524]|0;dt(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ns(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=cs(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(LQ(j,26517,8)|0):0){b=l;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,26638,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=Bt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Ct(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function xt(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=yt(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=HR(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Rs(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=HR((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)zt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Hg(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;gs(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function yt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Sr(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function zt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(er((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;dt((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);dt((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);dt((c[(c[d>>2]|0)+4>>2]|0)+96|0,3013e3);i=b;return}function At(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(zr(c[b>>2]|0)|0):0)c[d>>2]=Dt(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function Bt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ns(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?(($r(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[26517]|0;a[n+1>>0]=a[26518]|0;a[n+2>>0]=a[26519]|0;a[n+3>>0]=a[26520]|0;a[n+4>>0]=a[26521]|0;a[n+5>>0]=a[26522]|0;a[n+6>>0]=a[26523]|0;a[n+7>>0]=a[26524]|0;dt((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);dt((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);dt((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);dt((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);dt((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);AR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Hg(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=wR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Ct(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Et(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Et(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Ps(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ft(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;H=M+100|0;B=M+96|0;F=M+92|0;G=M+88|0;E=M+84|0;K=M+80|0;D=M+40|0;L=M+16|0;p=M+76|0;o=M+72|0;n=M+136|0;m=M+64|0;s=M+60|0;r=M+56|0;q=M+8|0;t=M+52|0;I=M+48|0;J=M;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[G>>2]=0;c[E>>2]=0;c[p>>2]=0;c[o>>2]=Bs(c[v>>2]|0)|0;if(LQ((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=Gt(c[v>>2]|0)|0;c[H>>2]=g;if(g){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[B>>2]|0)){dt(n,931071618|(a[960]|0)==0);dt(n+4|0,3007e3);dt(n+8|0,c[w>>2]|0);dt(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ft(1,n,24,0,m);dt(n+24|0,c[m>>2]|0);dt(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[960]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[H>>2]|0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[H>>2]=tr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}}c[L>>2]=c[v>>2];c[L+4>>2]=c[(c[v>>2]|0)+8>>2];l=L+8|0;c[l>>2]=0;c[l+4>>2]=0;c[L+16>>2]=c[A>>2];c[L+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=HR((c[B>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=wR(32,0,l|0,C|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;c[K>>2]=(c[w>>2]|0)+24;c[F>>2]=c[x>>2];while(1){if(!(c[F>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[F>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Fs(c[v>>2]|0,c[(c[F>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=HR((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=wR(32,0,l|0,C|0)|0;l=wR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[F>>2]|0)+4>>2];g=q;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=22;break}g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]&-65}else{c[B>>2]=(c[B>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[F>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=D;c[H>>2]=Ht(L,c[F>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=27;break}c[G>>2]=c[F>>2];l=c[K>>2]|0;g=D;l=wR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]|64}c[F>>2]=c[(c[F>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==27){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[H>>2]=It(c[v>>2]|0,c[B>>2]|0)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}a:do if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){if(!(a[(c[v>>2]|0)+49>>0]|0)){c[H>>2]=tr(c[L+4>>2]|0,c[A>>2]&19)|0;break}c[I>>2]=as(c[(c[v>>2]|0)+8>>2]|0)|0;t=D;A=c[I>>2]|0;A=wR(c[t>>2]|0,c[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=vR(A|0,C|0,1,0)|0;t=c[I>>2]|0;t=FR(A|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;A=c[I>>2]|0;A=HR(t|0,C|0,A|0,((A|0)<0)<<31>>31|0)|0;I=L+8|0;c[I>>2]=A;c[I+4>>2]=C;while(1){A=D;s=c[A+4>>2]|0;I=L+8|0;t=c[I+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(c[A>>2]|0)>>>0<(c[I>>2]|0)>>>0:0)))break a;I=D;c[H>>2]=Ht(L,c[G>>2]|0,c[y>>2]|0,c[I>>2]|0,c[I+4>>2]|0)|0;if(c[H>>2]|0)break;A=c[K>>2]|0;I=D;A=wR(c[I>>2]|0,c[I+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;I=D;c[I>>2]=A;c[I+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}while(0);if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(L=(c[v>>2]|0)+16|0,K=c[L+4>>2]|0,(K|0)>0|(K|0)==0&(c[L>>2]|0)>>>0>=0):0){L=(c[v>>2]|0)+16|0;D=c[L+4>>2]|0;K=J;c[K>>2]=c[L>>2];c[K+4>>2]=D;K=(c[w>>2]|0)+24|0;K=HR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=wR(32,0,K|0,C|0)|0;D=C;L=(c[v>>2]|0)+16|0;I=c[L+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(c[L>>2]|0)>>>0:0)){K=(c[w>>2]|0)+24|0;K=HR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=wR(32,0,K|0,C|0)|0;L=J;c[L>>2]=K;c[L+4>>2]=C}L=J;Ss(c[v>>2]|0,c[L>>2]|0,c[L+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];c[F>>2]=c[x>>2];while(1){if(!((c[F>>2]|0)!=0?(c[H>>2]|0)==0:0))break;if(e[(c[F>>2]|0)+24>>1]&64){c[B>>2]=(c[B>>2]|0)+1;c[H>>2]=ot(c[v>>2]|0,c[B>>2]|0,c[(c[F>>2]|0)+20>>2]|0)|0}c[F>>2]=c[(c[F>>2]|0)+12>>2]}while(1){if(!((c[H>>2]|0)==0?(c[E>>2]|0)>0:0))break;c[B>>2]=(c[B>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1;c[H>>2]=ot(c[v>>2]|0,c[B>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}if(!(c[H>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[B>>2];if(c[z>>2]|0){L=(c[v>>2]|0)+52+8|0;c[L>>2]=(c[L>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){et(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[B>>2]}}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}return 0}function Gt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=_s(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Vs(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){bt(c[e>>2]|0,c[k>>2]|0);Ir(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Gr(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Lt(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Jt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Kt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=wR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Kt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function It(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=HR((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=wR(32,0,b|0,C|0)|0;b=wR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=cs(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=er(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=er((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=HR((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=wR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=cs(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=er(c[g>>2]|0)|0;c[n>>2]=er((c[g>>2]|0)+4|0)|0;Jt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Hg(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Jt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;dt(c[l>>2]|0,c[q>>2]|0);dt((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ft(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ft(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);dt((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);dt((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Kt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=wR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=vR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=wR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=tr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Lt(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;ui(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Xs(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Fr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Gr(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=_s(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Fr(c[h>>2]|0,3)|0;gt(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=Bs(c[h>>2]|0)|0;u=(LQ(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Gr(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Vs(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Ir(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Fr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;gt(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=Bs(c[h>>2]|0)|0,(LQ(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Gr(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Mt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(oj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Nt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Ot(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=HR(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Pt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=wR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Hg(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Qt(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Ot(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Rt(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;dt(g,c[k>>2]|0);e=j;e=Hg(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=jj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Rt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Sr(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4872;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function St(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Tt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ds(c[d>>2]|0)|0;i=b;return a|0}function Ut(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Vt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Oj(59479)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Oj(59497)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Oj(59525)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Oj(59530)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Oj(59550)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Oj(59557)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Oj(59571)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Vt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Oj(59437)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Wt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Xt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=BR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=BR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){$t(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function Yt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function Zt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((au((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function _t(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){$t(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function $t(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function au(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function cu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=du(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function du(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Qs(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function eu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1080+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function gu(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=hu(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0} -function qJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;k=x+64|0;j=x+60|0;l=x+56|0;s=x+52|0;q=x+48|0;r=x+44|0;h=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;p=x+20|0;f=x+16|0;o=x+12|0;g=x+8|0;n=x+4|0;m=x;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+67>>0]|0)){Aj(c[j>>2]|0,c[l>>2]|0,41012);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+152>>2]|0)>1){Aj(c[j>>2]|0,c[l>>2]|0,41052);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+84>>2];c[v>>2]=c[(c[l>>2]|0)+88>>2];c[w>>2]=c[(c[l>>2]|0)+180>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+180>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=SJ(Pf(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(Xq(c[l>>2]|0)|0)c[h>>2]=41095;else c[h>>2]=41127;c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Ej(c[r>>2]|0)|0,c[o>>2]=UJ(c[q>>2]|0)|0,c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,41151)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,41184)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=og(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((sg(Pf(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+76>>2]=0;b=c[r>>2]|0;h=rg(c[q>>2]|0)|0;do if(!(Ai(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(Ai(c[r>>2]|0,c[(c[l>>2]|0)+76>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+69>>0]|0)){e=c[r>>2]|0;if((a[(c[l>>2]|0)+72>>0]|0)>=0)f=a[(c[l>>2]|0)+72>>0]|0;else f=eC(c[q>>2]|0)|0;gC(e,f)|0;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41191)|0;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41339)|0;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41443)|0;if(c[s>>2]|0)break a;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|268435456;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41561)|0;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&-268435457;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41757)|0;if(c[s>>2]|0)break a;c[s>>2]=VJ(c[l>>2]|0,c[j>>2]|0,41870)|0;if(c[s>>2]|0)break a;c[s>>2]=TJ(c[l>>2]|0,c[j>>2]|0,42025)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){e=c[q>>2]|0;if((c[m>>2]|0)>=10)break;pg(e,d[42209+(c[m>>2]|0)>>0]|0,n);c[s>>2]=Ag(c[r>>2]|0,d[42209+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[42209+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=WJ(e,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Ej(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;gC(n,eC(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=rg(c[r>>2]|0)|0;c[s>>2]=Ai(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+84>>2]=c[u>>2];c[(c[l>>2]|0)+88>>2]=c[v>>2];c[(c[l>>2]|0)+180>>2]=c[w>>2];Ai(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+67>>0]=1;if(c[p>>2]|0){yB(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}Bg(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function rJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=nF(c[g>>2]|0)|0;c[e>>2]=er((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=FJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Oj(61338)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=AH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){GJ(c[g>>2]|0);c[h>>2]=HJ(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Fg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;dt((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function sJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=zH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=EJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function tJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=CJ(c[e>>2]|0)|0;if(((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),DJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)c[k>>2]=AI(c[e>>2]|0,0,(c[h>>2]|0)-1|0)|0}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function uJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ri(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=qj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=Bz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Eh(p,31227,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Nx(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=CJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;DJ(p,Nx(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function vJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ri(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=QH(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;qu(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function wJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=BJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function xJ(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;v=D+116|0;C=D+88|0;j=D+84|0;r=D+80|0;n=D+152|0;w=D;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(C,c[m>>2]|0,D+156|0,100,c[(c[m>>2]|0)+92>>2]|0);if((c[(c[m>>2]|0)+164>>2]|0)>1){while(1){if(!(a[c[l>>2]>>0]|0))break;c[j>>2]=c[l>>2];do{B=c[l>>2]|0;c[l>>2]=B+1;if((a[B>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);nA(C,40978,3);nA(C,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}C=fg(C)|0;i=D;return C|0}if(!(b[(c[k>>2]|0)+68>>1]|0)){B=c[l>>2]|0;nA(C,B,Jf(c[l>>2]|0)|0);C=fg(C)|0;i=D;return C|0}while(1){if(!(a[c[l>>2]>>0]|0)){f=33;break}c[q>>2]=AJ(c[l>>2]|0,t)|0;nA(C,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0)){f=33;break}do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Oi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=xh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[v>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[v>>2]|0)+8>>1]&1){nA(C,40184,4);continue}g=c[v>>2]|0;if(e[(c[v>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=x;c[j>>2]=c[f>>2];c[j+4>>2]=g;mA(C,28870,x);continue}f=c[v>>2]|0;if(e[g+8>>1]&8){h[y>>3]=+h[f>>3];mA(C,28875,y);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=w;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[w+32>>2]=c[m>>2];fh(w,c[(c[v>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;gu(w,1)|0;c[v>>2]=w}c[r>>2]=c[(c[v>>2]|0)+12>>2];j=c[(c[v>>2]|0)+16>>2]|0;c[A>>2]=c[r>>2];c[A+4>>2]=j;mA(C,40982,A);if((d[n>>0]|0)==1)continue;Wg(w);continue}if(e[(c[v>>2]|0)+8>>1]&16384){c[B>>2]=c[c[v>>2]>>2];mA(C,40989,B);continue}nA(C,41002,2);c[s>>2]=c[(c[v>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[z>>2]=a[(c[(c[v>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;mA(C,41005,z);c[o>>2]=(c[o>>2]|0)+1}nA(C,41010,1)}if((f|0)==33){C=fg(C)|0;i=D;return C|0}return 0}function yJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=zJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function zJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function AJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Zu(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function BJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function CJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Qw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function DJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;LH(c[e>>2]|0);i=d;return}function EJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function FJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(zF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=zF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function GJ(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function HJ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=zF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=er((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=AF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Oj(61223)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=IJ(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){DB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=BF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=IJ(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}DB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){DB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=JJ(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;DB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=zF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function IJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=nF(c[m>>2]|0)|0;c[B>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Oj(63280)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=AF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Fg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}dt((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=er(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=QJ(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Oj(63336)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=QJ(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;dt((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);yR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;DB(c[E>>2]|0);if(!(c[I>>2]|0)){dt((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;dt(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=er((c[r>>2]|0)+8|0)|0;c[u>>2]=Bj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Bj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=er((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}dt((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(RJ(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=QJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;DB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);DB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Oj(63365)|0;break}else if((j|0)==40){c[K>>2]=Oj(63399)|0;break}else if((j|0)==43){DB(h);break}else if((j|0)==63){c[K>>2]=Oj(63464)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Fg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=zF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=QJ(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[l>>2]|0)+72>>2]|0)|0;DB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);dt((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=QJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;DB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);DB(c[J>>2]|0);DB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function JJ(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=KJ(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=er(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(MJ(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=LJ(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=BF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Fg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){DB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=NJ(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;DB(c[t>>2]|0);if(c[u>>2]|0)break;MJ(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function KJ(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;k=u+20|0;s=u+16|0;p=u+12|0;t=u+8|0;q=u+4|0;r=u;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[k>>2]=j;c[p>>2]=0;if((a[(c[m>>2]|0)+13>>0]|0)!=0?(c[t>>2]=Fg(c[n>>2]|0)|0,(c[t>>2]|0)!=0):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if((e[(c[n>>2]|0)+24>>1]&2|0)!=0?(h=ut(c[n>>2]|0)|0,c[t>>2]=h,0!=(h|0)):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if(!((c[k>>2]|0)!=0?1:(e[(c[n>>2]|0)+24>>1]&8|0)==0))c[p>>2]=c[(c[n>>2]|0)+20>>2];h=(c[n>>2]|0)+24|0;b[h>>1]=e[h>>1]&-9;c[s>>2]=fs(c[m>>2]|0,c[o>>2]|0)|0;do if(c[s>>2]|0){k=(c[n>>2]|0)+24|0;b[k>>1]=e[k>>1]|e[(c[s>>2]|0)+24>>1]&8;k=c[s>>2]|0;if(a[(c[m>>2]|0)+13>>0]|0){PJ(k,(c[(c[m>>2]|0)+28>>2]|0)+1|0);break}else{Es(k);break}}while(0);c[q>>2]=c[(c[n>>2]|0)+20>>2];PJ(c[n>>2]|0,c[o>>2]|0);hs(c[n>>2]|0);if((c[s>>2]|0)!=0?(d[(c[m>>2]|0)+13>>0]|0)!=0:0){PJ(c[s>>2]|0,c[q>>2]|0);Hs(c[s>>2]|0)}do if(c[p>>2]|0){c[t>>2]=ug(c[m>>2]|0,c[p>>2]|0,r,0)|0;if(!(c[t>>2]|0)){t=(c[r>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;hs(c[r>>2]|0);Hs(c[r>>2]|0);break}if((c[p>>2]|0)>>>0<=(c[(c[m>>2]|0)+32>>2]|0)>>>0)kj(c[(c[m>>2]|0)+60>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+208>>2]|0);c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}while(0);c[l>>2]=0;t=c[l>>2]|0;i=u;return t|0}function LJ(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Ut(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));OJ(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=er(c[n>>2]|0)|0;MJ(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=er((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;MJ(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function MJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Oj(58660)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=zF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=ug(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=vg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=er((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Fg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;dt((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Oj(58671)|0;c[c[n>>2]>>2]=s}while(0);xg(c[q>>2]|0);i=t;return}function NJ(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=er(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){dt(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Oj(61053)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Ut(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(er((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=er(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)dt((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)dt(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=er((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){dt((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Oj(61089)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function OJ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=er((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;MJ(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function PJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function QJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=BF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Tt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}DB(f);c[c[h>>2]>>2]=0;c[g>>2]=Oj(59789)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function RJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(mj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(lj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function SJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+13>>0]|0|0}function TJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(cf(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;Aj(b,d,bf(c[f>>2]|0)|0);c[e>>2]=Df(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{ue(c[j>>2]|0)|0;c[e>>2]=YJ(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function UJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=ZJ(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function VJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=cf(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(ue(c[h>>2]|0)|0);a=c[f>>2]|0;if(!l){b=6;break}l=c[g>>2]|0;c[j>>2]=TJ(a,l,Fe(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){b=5;break}}if((b|0)==5){YJ(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((b|0)==6){c[e>>2]=YJ(a,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function WJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Dg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=rg(c[j>>2]|0)|0,d=HR(d|0,((d|0)<0)<<31>>31|0,tg(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=yi(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{XJ(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function XJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0){i=e;return}Xi(c[b>>2]|0);i=e;return}function YJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Sg(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;Aj(d,j,bf(c[e>>2]|0)|0);j=c[g>>2]|0;i=h;return j|0}function ZJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function _J(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p+28|0;o=p+24|0;f=p+20|0;j=p+16|0;e=p+12|0;h=p+8|0;g=p+4|0;k=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if((zr(c[n>>2]|0)|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[o>>2]=Dt(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=$J(c[n>>2]|0,f)|0;if(!(c[o>>2]|0)){if(c[f>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=Et(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[n>>2]>>2],c[o>>2]=Wr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,e)|0,(c[o>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[o>>2]=Sr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[o>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[o>>2]=mt(50989)|0;mr(c[(c[n>>2]|0)+68>>2]|0)}e=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=jr(e)|0;if(!(c[o>>2]|0)){c[o>>2]=Ur(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Dr(c[n>>2]|0,1)|0;if(c[o>>2]|0){kr(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?(d[(c[n>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[o>>2]=aK(c[n>>2]|0,k)|0;if(c[o>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[o>>2]=cs(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(LQ((c[n>>2]|0)+112|0,m,16)|0)Xi(c[n>>2]|0)}c[o>>2]=bK(c[n>>2]|0)|0;l=32}}}else l=32;while(0);if((l|0)==32){if(zr(c[n>>2]|0)|0)c[o>>2]=cK(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=aK(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}e=c[n>>2]|0;if(c[o>>2]|0){ir(e);o=c[o>>2]|0;i=p;return o|0}else{a[e+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function $J(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Wr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=jK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=aK(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Wj();if((Et(c[f>>2]|0,2)|0)==0?(vr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Dr(c[f>>2]|0,1)|0;Xj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Sr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=cs(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))mr(c[(c[f>>2]|0)+68>>2]|0);c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=iK(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[h>>2]|0)==0?(c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0:0){b=g;c[b>>2]=0;c[b+4>>2]=0;c[j>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0;if(!(c[j>>2]|0)){j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=wR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=vR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=FR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j;break}c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}while(0);if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function bK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=aK(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=vr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Wr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=eK(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function cK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Os(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=dK(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Xi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function dK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Lt(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function eK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(nJ(c[f>>2]|0)|0){mr(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=fK(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function fK(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=gK(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=hK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}function gK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Et(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Dr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function hK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Sr(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Ts(c[u>>2]|0,0);mr(c[(c[u>>2]|0)+8>>2]|0);Kd(c[u>>2]|0)}else{c[t>>2]=$r(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function iK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function kK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;AR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=nK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=nK(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function lK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=pK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function mK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){mK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){mK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function nK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function oK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Rw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function pK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=pK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=pK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}function qK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function rK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function sK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(xK(f,c[r>>2]|0)|0){g=25;break}if(ug(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=vg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=er(c[m>>2]|0)|0;tK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=er((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)tK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];wK(b,42835,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=er((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)tK(c[q>>2]|0,c[k>>2]|0,2,0);xK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=er(c[m>>2]|0)|0;xg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;wK(c[q>>2]|0,42874,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;wK(f,42756,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];wK(v,42813,w);i=x;return}else if((g|0)==25){i=x;return}}function tK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=AF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];wK(q,42673,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;wK(p,42702,q);i=r;return}function uK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(xK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=42293;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=BF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Ut(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];wK(ba,42341,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=42379;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=er((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=42405;tK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=uK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){wK(c[o>>2]|0,42463,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;wK(m,42487,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=er((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)tK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);sK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){yK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=er(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)tK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=uK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){wK(c[o>>2]|0,42511,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;wK(m,42433,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;yK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];yK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(zK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;wK(ba,42536,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;wK(ba,42573,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];wK(ba,42303,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;DB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function vK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function wK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)nA((c[f>>2]|0)+40|0,42291,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;mA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function xK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;wK(b,42625,e);c[g>>2]=1;break}e=(vK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;wK(a,42648,h);c[g>>2]=1;break}else{rK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function yK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function zK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function AK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;EK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function BK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);CK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)DK(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}DK(c[(c[d>>2]|0)+56>>2]|0);d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function DK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mr(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function EK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ks(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;FK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function FK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}AK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function GK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function HK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(nF(c[k>>2]|0)|0)>>>0){c[p>>2]=Oj(66175)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=mF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=er(c[n>>2]|0)|0,c[t>>2]=HK(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=IK(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=er((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=HK(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){JK(j,t);break}q=Fg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)KK(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Oj(66180)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;DB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function IK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Oj(63736)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=er((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(nF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=yF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=NK(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Tt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Oj(63772)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=LK(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)xg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Oj(63752)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function JK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=LK(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function KK(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)AR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Vt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function LK(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Oj(63590)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];MK(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=NK(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;dt((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=BF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;AR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(MJ(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=BF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=er((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Oj(63643)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Fg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;dt((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);dt((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)OK(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=PK(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=BF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){dt(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);dt((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);dt((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;DB(c[o>>2]|0);DB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function MK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;QK(c[d>>2]|0);i=b;return}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=fs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=oF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function OK(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){i=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){i=h;return}if(c[(c[g>>2]|0)+104>>2]|0){i=h;return}d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]|16;d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;i=h;return}function PK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=ij(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(mj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=jj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function QK(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function RK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Oj(66301)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=BF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=bJ(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){DB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){pg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){JK(d,o);DB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{DB(d);c[o>>2]=BF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=JJ(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;DB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=BF(c[l>>2]|0,c[k>>2]|0,m,0)|0;JK(c[m>>2]|0,o);DB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=zF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Ag(c[g>>2]|0,4,c[k>>2]|0)|0}else{JK(c[n>>2]|0,o);DB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function SK(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=TK((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function TK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=UK(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=VK(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;WK(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;XK(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;XK(k,d,((d|0)<0)<<31>>31);YK(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=ZK(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function UK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(zi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=fL(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Rs(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function VK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[e>>2]=_K(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];e=$K(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+32>>2]=e;c[j>>2]=kg(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;aL(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;aL(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Kd(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function WK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=GR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=vR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function XK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=xI(g,c[a>>2]|0,c[a+4>>2]|0)|0;YK(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function YK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);yR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=wR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Hg(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=wR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function ZK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=wR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Hg(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=wR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function _K(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=qF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function $K(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function aL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[m>>2]=l;c[k>>2]=0;while(1){if(!((c[g>>2]|0)!=0?(c[h>>2]|0)!=0:0))break;c[n>>2]=Sb[c[(c[f>>2]|0)+32>>2]&255](c[f>>2]|0,k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0)|0;if((c[n>>2]|0)<=0){c[c[m>>2]>>2]=c[g>>2];c[m>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2];continue}else{c[c[m>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;continue}}c[c[m>>2]>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:c[h>>2]|0;c[c[j>>2]>>2]=c[l>>2];i=o;return}function bL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[42913+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=eL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function cL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else HF(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else HF(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=LQ(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=eL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function dL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=FF(a,b,o)|0;i=p;return o|0}rF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=FF(a,b,o)|0;i=p;return o|0}function eL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=GF(a,b,o,1)|0;i=p;return o|0}rF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=GF(a,b,o,1)|0;i=p;return o|0}function fL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Sr(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function gL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=hL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function hL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=iL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=jL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){EK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=kL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=lL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function iL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=oL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function jL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(zi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ks(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=mL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=GR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=wR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=vR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=cs(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function kL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(au((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=wR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=GR(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(au((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=wR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=lL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){au(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=wR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=GR(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=vR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=vR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=cs(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=wR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);yR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=wR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=lL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;yR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function mL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+140>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=nL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function nL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function oL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;WK(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=wR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=wR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=NF(q,((q|0)<0)<<31>>31)|0;q=wR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=wR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;XK(n,r,((r|0)<0)<<31>>31);YK(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=gL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=ZK(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function pL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=qL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=rL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}AK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function qL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=vL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=wL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=xL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=wL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=yL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else AK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}AK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function rL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=sL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;tL(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function sL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=uL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function tL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function uL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=rL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=UK(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=wR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=hL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function vL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=HR(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function wL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=xL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=AL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}AK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function xL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(zi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function yL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=zL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=xL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=zL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{FK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function zL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(zi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){AK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=wR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function AL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=jL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=kL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=wR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=wR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=hL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function BL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function CL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=DL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function DL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=iF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function EL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function FL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=WL(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{zR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Oj(64006)|0;c[c[n>>2]>>2]=h;i=t;return}function GL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if(c[c[t>>2]>>2]|0){i=z;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=YL(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);yR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)dt((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);zR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}OJ(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){yR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)dt(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function HL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=IL(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=JL(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Wi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=KL(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Zi(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;DB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Zi(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function IL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Fg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=IJ(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,PL(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)MJ(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;DB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{yR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;yR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;KK(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);dt((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function JL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Oj(64503)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=IJ(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;KK(c[p>>2]|0,13);c[t>>2]=UL(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(MJ(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)OJ(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);GL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);dt((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);DB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function KL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[K>>2]|0)|0;while(1){c[Aa>>2]=mF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}yR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}FL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)AR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Oj(64842)|0;AR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ci(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}AR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);yR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Oj(64909)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Oj(65007)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((LL(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((LL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((LL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((LL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Oj(65019)|0;break}else if((h|0)==81){c[Aa>>2]=Oj(65052)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);LL(ma,c[F>>2]|0)|0;do{LL(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2)|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Oj(65094)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=IJ(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;KK(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(MJ(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Oj(65168)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))ML(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);ML(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}dt(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=er(c[_>>2]|0)|0;MJ(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(LL(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))OJ(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(xI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);GL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=NL(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=OL(c[ka>>2]|0)|0;PL(c[ka>>2]|0,c[ha>>2]|0,Aa);JK(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=er((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;MJ(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;JK(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Di(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;DB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;DB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function LL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=XL(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function ML(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;PJ(c[h>>2]|0,c[g>>2]|0);i=f;return}function NL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=RL(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;zR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=RL(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];zR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(SL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),zR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(SL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(SL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);TL(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=UL(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function OL(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=QL(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);yR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;yR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Oj(59093)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Oj(59099)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;AR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Oj(59123)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function PL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];yR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;yR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Ut(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=LJ(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function QL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function RL(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)WL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)WL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function SL(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(LL(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=VL(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){if(((c[u>>2]|0)-(c[n>>2]|0)|0)<(c[x>>2]|0)){h=7;break}c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));c[v>>2]=c[u>>2]}zR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function TL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function UL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=QL(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);yR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}yR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Oj(64213)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function VL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Oj(59156)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Oj(59167)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function WL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;j=x+20|0;k=x+16|0;l=x+32|0;m=x+30|0;t=x+28|0;q=x+26|0;o=x+35|0;v=x+34|0;s=x+24|0;r=x+12|0;p=x+8|0;n=x+4|0;u=x;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)AR((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+5>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)h=(e[q>>1]|0|0)<(e[l>>1]|0|0);else h=0;g=e[q>>1]|0;if(!h)break;if((g|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Oj(59328)|0;w=c[j>>2]|0;i=x;return w|0}if(g>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Oj(59331)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0>(e[q>>1]|0)>>>0){c[j>>2]=Oj(59342)|0;w=c[j>>2]|0;i=x;return w|0}c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));if((c[p>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Oj(59344)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Oj(59356)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Oj(59362)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Oj(59369)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function XL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function YL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Oj(59234)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=VL(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=OL(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function ZL(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+112|0;J=M+96|0;p=M+92|0;q=M+88|0;r=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;o=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+6>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=xI((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=xI((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2]}if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=35;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=zF(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=IJ(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,MJ(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)DB(c[C>>2]|0);if(c[L>>2]|0){h=24;break}dt(c[E>>2]|0,c[G>>2]|0);DB(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];dt(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];yR(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else AR(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==24){DB(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==35){DB(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function _L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}cJ(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function $L(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){GJ(f);pg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(zF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=IJ(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=AH(c[n>>2]|0,0,0)|0;DB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=BF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=AF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Oj(66085)|0;if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=JJ(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;DB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=BF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];MJ(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Ag(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){DB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=IJ(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;KK(c[p>>2]|0,c[s>>2]|0);xg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function aM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(bM(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(nF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function bM(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Wi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function cM(){return 200}function dM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function eM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=fM(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function fM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}AR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=ij(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(zr(c[d>>2]|0)|0)gM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function gM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function hM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Fg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=42920;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));KK(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;dt((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);dt((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function iM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=xR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=xR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=xR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function jM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=Gx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=GH(e,j,f,g)|0;else c[o>>2]=Oh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Wg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function kM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function lM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=sF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Oj(72951)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function mM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=LQ(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function nM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Xy(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function oM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Hx(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function pM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;hh(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function qM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+176>>2]|0){c[b>>2]=c[(c[d>>2]|0)+176>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}cI(a)|0;c[(c[d>>2]|0)+176>>2]=0;c[(c[d>>2]|0)+184>>2]=0}wM(c[d>>2]|0);if(c[(c[d>>2]|0)+8>>2]|0)BC(c[(c[d>>2]|0)+8>>2]|0,c[(c[d>>2]|0)+28>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+180>>2]|0))break;c[e>>2]=c[a+180>>2];c[(c[d>>2]|0)+180>>2]=c[(c[e>>2]|0)+4>>2];xM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}oI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return}function rM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=sM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(di(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[42936+(sg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=At(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+200>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+200>>2]&255](c[(c[f>>2]|0)+196>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Mg(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Lg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))tM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Eh(J,42942,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,42972,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,42987,A)|0;c[w>>2]=Wr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,42958,B);vr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=fL(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((di(c[q>>2]|0)|0)!=0?(c[E>>2]=uM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Hg(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=wR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){DK(c[t>>2]|0);vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==(($r(c[t>>2]|0)|0)&1024|0)?(J=tr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){DK(c[t>>2]|0);vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Mg(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}DK(c[t>>2]|0);if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=vr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Wj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Lg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Xj();tM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function sM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;TI(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function tM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pu(c[d>>2]|0,64);i=b;return 0}function uM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function vM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function wM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+56>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){LI(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function xM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+64>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+68>>2]|0))break;LI(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}BC(c[d>>2]|0,c[(c[b>>2]|0)+64>>2]|0);oI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function yM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[6428+(c[b>>2]<<2)>>2]|0}function zM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;r=L;j=L+184|0;k=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;o=L+124|0;p=L+120|0;G=L+116|0;q=L+112|0;m=L+108|0;l=L+104|0;n=L+100|0;c[j>>2]=b;c[k>>2]=f;c[M>>2]=g;c[K>>2]=c[k>>2];dg(J,0,c[k>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[D>>2]|0)+6>>1];mA(J,43039,r);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)j=c[c[C>>2]>>2]|0;else j=19018;c[F>>2]=j;M=(OQ(c[F>>2]|0,35351)|0)==0;c[F>>2]=M?43044:j;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?28868:19018;c[E+4>>2]=M;mA(J,43046,E);c[B>>2]=(c[B>>2]|0)+1}nA(J,35227,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[z>>2]=c[c[o>>2]>>2];mA(J,43052,z);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];M=a[c[p>>2]>>0]|0;c[A>>2]=c[(c[p>>2]|0)+20>>2];c[A+4>>2]=M;mA(J,43060,A);break}case -13:{H=c[(c[j>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;mA(J,28870,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];mA(J,43067,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];mA(J,43070,u);break}case -8:{c[G>>2]=c[(c[j>>2]|0)+16>>2];j=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[j+16>>2];break a}k=c[G>>2]|0;if(e[j+8>>1]&4){G=k;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;mA(J,28870,H);break a}j=c[G>>2]|0;if(e[k+8>>1]&8){h[I>>3]=+h[j>>3];mA(J,43070,I);break a}if(e[j+8>>1]&1){c[K>>2]=40184;break a}else{c[K>>2]=43076;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];mA(J,43083,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];mA(J,43091,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;nA(J,43095,1);break}case -18:{mA(J,43097,x);break}case -19:{a[c[k>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[j>>2]|0)+16>>2]>>2];mA(J,19007,y);break}default:{c[K>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(J)|0;i=L;return c[K>>2]|0}function AM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;hh(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function BM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=ah(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;zR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function CM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(DM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function DM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Xg(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))gu(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(ah(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}jI(c[j>>2]|0)|0}else Fx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function EM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)RF(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function FM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function GM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ni(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function HM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function IM(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+156>>2]|0)>1:0){JM(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(KM(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;EB(c[f>>2]|0);i=g;return}function JM(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function KM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function LM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];GJ(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=nF(c[e>>2]|0)|0;b=zF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=er((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=FJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Oj(61391)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=AH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=HJ(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Fg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;dt((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);dt((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);dt((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;or(c[k>>2]|0)|0;break}c[d>>2]=Oj(61386)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function MM(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=kr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function NM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=ug(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Fg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){zt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}xg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function OM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ns(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Pt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[381]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=wR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Hg(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=wR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=wR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Pt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=wR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=wR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=wR(q|0,C|0,4,0)|0,q=Pt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=wR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=wR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=wR(q|0,C|0,8,0)|0,q=Hg(p,26517,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=wR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Vi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=sr(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function PM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(lj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=fs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Hs(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[381]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=ug(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=QM(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Hs(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=fs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Hs(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0} -function Pm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Tm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)an(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=bn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Qm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Qm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return}function Rm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=vR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=HR(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Rm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Rm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;AR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}AR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=vR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=HR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=vR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=HR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=vR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=HR(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Tm(c[h>>2]|0);u=Um(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Sm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=Yl(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}bm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=Yl(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=HR(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=wR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Tm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Um(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Vm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){_l(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Wm(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Vm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Xm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=vR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,HR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=vR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;HR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=vR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=HR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;yR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=Zm(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Wm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=Yl(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=vR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=wR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];bm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Xm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Ul(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Ul(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Rl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Sl(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Vl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function Ym(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Wm(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Xm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function Zm(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Xl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Xl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Il(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}_m(y,t);j=t;j=vR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;_m(z,u);h=u;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=wR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=wR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=wR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;$m(x,v,h,C);h=v;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=wR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;_m(y,t);h=t;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;_m(z,u);h=u;h=vR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Xl(0,y);Xl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}bm(0,z);bm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=Yl(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=wR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function $m(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=vR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Il(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function an(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function bn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=dn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=cn(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function cn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=fm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(gm(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Tl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Rl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=en(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=fn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function en(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=sl(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=tl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=kn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=ln(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function fn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=gn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];hn(x,c[z>>2]|0,0,r);hn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=vR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=HR(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){bm(0,x);hn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{bm(0,y);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;jn(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!(Zm(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}hn(x,c[z>>2]|0,c[j>>2]|0,r);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=Yl(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=vR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=wR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=vR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=vR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Il(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function kn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){yR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=nn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function ln(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=nn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function mn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;zl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function nn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];hn(u,c[w>>2]|0,0,p);hn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=vR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=HR(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);on(t,u,v);hn(u,c[w>>2]|0,c[k>>2]|0,p);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,v);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,u);hn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function on(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Xl(q,r);continue}else{f=pn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Xl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);_m(r,k);_m(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;$m(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=vR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){qn(r,k);break}else{qn(s,l);break}}else{qn(r,k);qn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Il((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){_m(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=vR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Dn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Me(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(ue(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Zd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)re(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function sn(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=Ee(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Fe(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=An(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(LQ(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Bn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=Cn((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function tn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(vn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Tm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Tm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Tm(c[k>>2]|0);f=wn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function un(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;il(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function vn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=yn(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=yn(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=xn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];Zm(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if(Zm(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=Yl(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];yR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function yn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=zn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;AR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function zn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;Zm(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];Zm(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){on(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){bm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){bm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Bn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=vR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=Cn(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=Cn(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=Cn(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=wR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=vR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=Cn(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Il((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23857,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function En(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Fn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Gn(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function Gn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}AR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Qm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Zd(c[(c[h>>2]|0)+8>>2]|0)|0;Rm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Mm(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Hn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Qm(c[h>>2]|0,c[o>>2]|0,q);do{Rm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Hn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=Zl(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Hn(c[(c[f>>2]|0)+12>>2]|0);Hn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Pm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=Zl(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Kn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=Yl(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=vR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=ue(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(He(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Zd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Le(c[e>>2]|0,1,0)|0;if((ue(c[e>>2]|0)|0)==100?(He(c[e>>2]|0,0)|0)==4:0)break;h=Zd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function On(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Qn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23985,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Rn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,24013,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,24e3,0,0,0)|0;break}c[e>>2]=$e(a,24e3,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);wm(c[b>>2]|0);i=f;return c[d>>2]|0}function Rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Le(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Le(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(ue(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=De(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ml(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Zd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}wm(c[d>>2]|0);hl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){ne(c[e>>2]|0,19018,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Hm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Lm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Fe(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Be(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((He(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=An(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Un(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,24030,y)|0;c[A>>2]=Vn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);wm(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){re(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{ne(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Om(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Un(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Un(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=Zl(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=RQ(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);yR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Wn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){ne(c[j>>2]|0,19018,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Xn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=Yn(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);wm(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){re(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{ne(g,c[F>>2]|0,-1,148);i=G;return}}function Xn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Hm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}AR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Lm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=BR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!(($n(B)|0)!=0^1))break;g=o;ao(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function Yn(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Fe(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((He(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Be(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=An(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=Zn(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Vn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=BR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function Zn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=BR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=BR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=An(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=xR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Om(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Un(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function $n(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);bo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=BR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=BR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=xR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Un(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function bo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Un(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=nl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(ue(c[f>>2]|0)|0))c[e>>2]=De(c[f>>2]|0,0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function eo(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=fo(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=nl(c[g>>2]|0,28,y,0)|0;Le(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((ue(c[y>>2]|0)|0)==100){a=Ee(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=De(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Zd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=go(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=GR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=GR(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;AR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=ho(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=wR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=io(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=sl(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=tl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=ko(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=mo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=tl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;oo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=HR(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}po(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=wR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;xl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}zl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=qo(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=nl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Le(c[g>>2]|0,1,1)|0;if((100==(ue(c[g>>2]|0)|0)?(c[e>>2]=Ae(c[g>>2]|0,0)|0,c[f>>2]=Be(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(ro(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){yR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Zd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function go(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=Yl((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=Zl(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=wR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Me(e,1,l,C)|0;ue(c[h>>2]|0)|0;l=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function io(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=nl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Me(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=FR(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=wR(m|0,C|0,1,0)|0;m=HR(m|0,C|0,1024,0)|0;Me(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(ue(c[j>>2]|0)|0)){m=(He(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Zd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{AR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=nl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Me(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((ue(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=Ee(c[n>>2]|0,1)|0;d=C;e=Ee(c[n>>2]|0,2)|0;a=C;f=Ee(c[n>>2]|0,3)|0;g=C;h=Ae(c[n>>2]|0,4)|0;m=Be(c[n>>2]|0,4)|0;c[o>>2]=mm(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Zd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function ko(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=nl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=wR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Me(d,1,g,C)|0;Le(c[G>>2]|0,2,c[l>>2]|0)|0;g=(ue(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Zd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=Ee(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=Ee(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;Cl(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=HR(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Be(c[G>>2]|0,4)|0;c[v>>2]=Ae(c[G>>2]|0,4)|0;g=q;c[H>>2]=Do(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=em(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=wo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Ao(u)|0}if((xo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Bo(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=vR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=wR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=wR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=wR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){yR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=wo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Ao(J)|0}ro((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(yR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=em(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){yR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Bo(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Zd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function lo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=nl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Me(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Me(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(ue(c[r>>2]|0)|0))c[p>>2]=De(c[r>>2]|0,0)|0;c[s>>2]=Zd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=nl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(ue(c[q>>2]|0)|0)){r=Ee(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=vR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=wR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Zd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Dl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=wR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Kl(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Hl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Dl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Co(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=wR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=wR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;ro((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=zo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function no(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Jl(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=so(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=to(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;ro(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function po(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;ro(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Il((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Dl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=wR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Fl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Le(c[e>>2]|0,1,1)|0;Je(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;ue(c[e>>2]|0)|0;c[f>>2]=Zd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ro(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function so(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Le(c[h>>2]|0,2,c[g>>2]|0)|0;ue(c[h>>2]|0)|0;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function to(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=nl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Me(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(ue(c[x>>2]|0)|0)){c[o>>2]=Ae(c[x>>2]|0,4)|0;c[u>>2]=Be(c[x>>2]|0,4)|0;a=Ee(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=vo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Zd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=em(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=vo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Dl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=nl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Me(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Me(z,2,f,C)|0;ue(c[w>>2]|0)|0;c[y>>2]=Zd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=nl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Me(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Je(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Me(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[v>>2]|0,4,c[k>>2]|0)|0;ue(c[v>>2]|0)|0;c[y>>2]=Zd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function uo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=nl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Me(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(ue(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=De(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Zd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=nl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Me(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Le(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Le(c[o>>2]|0,1,c[k>>2]|0)|0;ue(c[o>>2]|0)|0;c[p>>2]=Zd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function vo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;ro(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=wo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=xo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=zo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Ao(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Bo(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(Yl((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}return 0}function xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=LQ(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function yo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Il((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function zo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;ro(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Kl(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);yR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;yR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;yR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Ao(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;ro((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}yR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Bo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Co(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Kl(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Hl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Hl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Dl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=wR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Il(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=wR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(ro(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Il((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}ro(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);ro((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;yR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);yR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Me(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(ue(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Zd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(fe(c[c[h>>2]>>2]|0)|0)==5:0)?(fe(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Fo(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);AR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Go(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((fe(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((fe(c[r>>2]|0)|0)!=5){if((fe(c[c[h>>2]>>2]|0)|0)!=5?(f=ee(c[c[h>>2]>>2]|0)|0,u=C,b=ee(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Ho(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Io(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((fe(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Ho(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Io(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Jo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Ko(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)Lo(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}Mo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=ae(c[l>>2]|0)|0;c[f>>2]=be(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,21128,8)|0):0)c[g>>2]=Rn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,24111,7)|0):0){c[g>>2]=Wo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,24119,15)|0):0){c[g>>2]=Xo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,24135,6)|0):0){c[g>>2]=Yo(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,24142,10)|0):0){c[g>>2]=Zo(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Go(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=nl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Ne(c[d>>2]|0,1)|0;ue(c[d>>2]|0)|0;c[e>>2]=Zd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Ho(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;Ro(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=So(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=To(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;AR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Uo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Uo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((fe(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((fe(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=ee(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=nl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Le(d,k,de(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(fe(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Pe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}ue(c[j>>2]|0)|0;c[l>>2]=Zd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=kl(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ko(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Po(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=be(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function Lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Oo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=nl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Me(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Je(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;ue(c[k>>2]|0)|0;l=Zd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Mo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=nl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Le(c[r>>2]|0,1,0)|0;if((ue(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=Ae(c[r>>2]|0,0)|0;No(f,b,a,Be(c[r>>2]|0,0)|0)}else AR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Zd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Oo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=nl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Le(c[r>>2]|0,1,0)|0;Je(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;ue(c[r>>2]|0)|0;t=Zd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=Yl((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Il((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=An(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ck(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Bn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(jk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function Ro(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=nl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(ue(h)|0)){c[q>>2]=Vo(c[k>>2]|0,c[r>>2]|0)|0;e=Ee(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Jo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Fe(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Po(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Be(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Zd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Zd(c[r>>2]|0)|0}else Zd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=nl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(ue(c[h>>2]|0)|0)){d=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Zd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function To(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;hl(c[e>>2]|0);if(c[h>>2]|0)Uo(f,c[e>>2]|0,2,0);Uo(f,c[e>>2]|0,3,0);Uo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Uo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Uo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=nl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=De(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Wo(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=To(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(24230,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{AR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(ue(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Vo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=Ee(c[p>>2]|0,0)|0;c[q>>2]=Jo(b,0,f,g,C)|0;AR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Fe(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Po(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Be(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)Lo(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Yd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Mo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Yd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Xo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=ap(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function Yo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=_o(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=_o(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))$o(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=eo(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;wm(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function Zo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=_o(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?($o(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=nl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Le(c[g>>2]|0,1,2)|0;Le(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;ue(c[g>>2]|0)|0;c[h>>2]=Zd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function _o(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;ll(d,b,24153,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function ap(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=nl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Le(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Le(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(ue(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=De(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=bp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Zd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(24230,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(ue(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=Ee(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Vo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Fe(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Be(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=An(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Yd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=sl(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=tl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=vR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=wR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=cp(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=Yl(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=Yl(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=wR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function cp(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=BR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=wR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=wR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=BR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=wR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=wR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function dp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Zd(c[(c[e>>2]|0)+8>>2]|0)|0;Rm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Mm(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function ep(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Ep(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=ee(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function gp(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=sp(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=tp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=up(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}ep(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Dk(z,24339,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Dk(z,24391,r);z=c[p>>2]|0;i=s;return z|0}function hp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;ip(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];jp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=kp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=kp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);lp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function ip(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);ip(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);ip(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=qp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function jp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=pp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=mp(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=np(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;mn(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=en(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=fn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=op(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function lp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){lp(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);lp(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=bn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Nn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=Ae(c[m>>2]|0,0)|0;b=Be(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=Yl(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=Yl(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Zd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=FR(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=wR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=FR(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Zd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function op(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);bm(0,j)}j=c[h>>2]|0;i=k;return j|0}function pp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=em(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function qp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=rp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function rp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=hm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function sp(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=RQ(c[s>>2]|0)|0;c[w>>2]=vp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=tp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=tp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){ep(c[e>>2]|0);ep(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else AR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=tp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){ep(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;ep(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}ep(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=up(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=up(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=wp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=xp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;yp(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else yp(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){ep(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}ep(c[v>>2]|0);ep(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function wp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Ap(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2100+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(LQ(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Ap(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=xp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Bp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=vp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=RQ(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Cp(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function xp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}AR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=zp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(zp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function zp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Ap(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Bp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=An(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Dp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Dp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;yR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Dp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;AR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){yR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=An(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=xp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;yR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Ep(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Fp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Fp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Tm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;mn(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];il(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Ip(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(RQ(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(RQ(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){AR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)AR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(RQ(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24622,8)|0):0)?0==(Kp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Lp(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Mp(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2132;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Dk(ia,24631,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((RQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,21137,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Dk(ia,24658,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((RQ(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24685,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((RQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24689,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Dk(ia,24694,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(RQ(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Np(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24717;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Lp(c[S>>2]|0,21063,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Op(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Dk(ia,24725,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}AR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);yR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;ik((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];yR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];yR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Pp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;yR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Mk(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=RQ(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(RQ(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Dk(ia,24760,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24779:24788;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Dk(ia,24799,V)}ia=Qp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Rp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Sp(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Tp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Up(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Qk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Kp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[25481+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0} -function QM(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=RM(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}hs(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(oj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=SM(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=ut(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function RM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;j=l+16|0;k=l+12|0;g=l+8|0;e=l+4|0;f=l;c[j>>2]=b;c[k>>2]=0;c[g>>2]=c[c[j>>2]>>2];b=c[j>>2]|0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];k=c[h>>2]|0;i=l;return k|0}if((zr(b)|0)==0?(d[(c[j>>2]|0)+5>>0]|0)!=2:0){b=ij(c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+60>>2]=b;if(!(c[(c[j>>2]|0)+60>>2]|0)){c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}do if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){if((d[(c[j>>2]|0)+5>>0]|0)==4){TM(c[(c[j>>2]|0)+68>>2]|0);break}c[e>>2]=6;b=c[e>>2]|0;if(a[(c[j>>2]|0)+13>>0]|0){c[e>>2]=b|4104;c[f>>2]=c[11]}else{c[e>>2]=b|2048;c[f>>2]=0}c[k>>2]=UM(c[j>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Rt(c[g>>2]|0,c[(c[j>>2]|0)+180>>2]|0,c[(c[j>>2]|0)+68>>2]|0,c[e>>2]|0,c[f>>2]|0)|0}while(0);if(!(c[k>>2]|0)){c[(c[j>>2]|0)+48>>2]=0;g=(c[j>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[j>>2]|0)+20>>0]=0;g=(c[j>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=Bt(c[j>>2]|0)|0}}b=c[j>>2]|0;if(c[k>>2]|0){nj(c[b+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}function SM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=es(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Pt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=wR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Hg(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=wR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=wR(p|0,C|0,4,0)|0;c[l>>2]=Pt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=wR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=jj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=Qt(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function TM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Rt(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function UM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=yi(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function VM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;AR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=HR((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ks(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function WM(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=XM(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function XM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function YM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function ZM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=_J(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=BF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=er((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Eg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(LQ((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(LQ(c[j>>2]|0,42920,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=eK(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}DB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((LQ((c[j>>2]|0)+21|0,45153,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){DB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Si(c[o>>2]|0);c[l>>2]=Ti(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Oj(60663)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(er((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(er((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);DB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function _M(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(zr(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Et(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Dt(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Cr(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Et(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Cr(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=$M(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function $M(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Vs(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(LQ(b,Bs(c[e>>2]|0)|0,48)|0){Ir(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function aN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+240>>2]|0)bN(c[(c[d>>2]|0)+240>>2]|0);yJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function bN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[d>>2]|0);i=b;return}function cN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1926]|0;if((b|0)!=($Q()|0)){c[1926]=$Q()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=TN(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=iO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=jO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=PN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(gQ()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=PN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=mt(34876)|0;c[B>>2]=LN(F,45232,c[E>>2]|0,34876)|0;break}if(c[l>>2]&526336){kO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[7464>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=lO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function dN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[7464>>2]&255](c[f>>2]|0)|0)==-1){if((c[(gQ()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=LN(2570,45329,c[f>>2]|0,35002)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[7476>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(_N(c[h>>2]|0,0,0)|0)c[j>>2]=LN(1290,45563,c[f>>2]|0,35012)|0;KN(0,c[h>>2]|0,35014)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function eN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[7320>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[7296>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function fN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[7596>>2]&255](c[o>>2]|0,k)|0){if((c[(gQ()|0)>>2]|0)!=2){s=mt(35126)|0;c[p>>2]=LN(s,45417,c[o>>2]|0,35126)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=mt(35137)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[7584>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=mt(35143)|0;c[p>>2]=LN(s,45408,c[o>>2]|0,35143)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=mt(35149)|0;break}else{zR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;yR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=hO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function gN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;AR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1926]=$Q()|0;c[h>>2]=PN(45550,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[7704]|0;a[e+1>>0]=a[7705]|0;a[e+2>>0]=a[7706]|0;a[e+3>>0]=a[7707]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[7368>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(gQ()|0)>>2]|0)==4);KN(0,c[h>>2]|0,35273);e=c[f>>2]|0;i=l;return e|0}function hN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;eR(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function iN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=kN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function jN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(gQ()|0)>>2]|0;i=e;return d|0}function kN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=HR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=wR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=wR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function lN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[7268+((c[g>>2]|0)*12|0)+8>>2]|0)c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(OQ(c[e>>2]|0,c[7268+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[7268+(d*12|0)+8>>2]|0))c[7268+((c[g>>2]|0)*12|0)+8>>2]=c[7268+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function mN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(OQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[7268+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function nN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(OQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[7268+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[7268+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function oN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7192}function pN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];wN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=bO(c[d>>2]|0)|0;i=b;return a|0}function qN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=aO(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{YN(c[l>>2]|0,0);AR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function rN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=WN(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=wR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}YN(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function sN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=wR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=vR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=FR(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=HR(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=$N(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;YN(k,c[(gQ()|0)>>2]|0);c[e>>2]=LN(1546,45255,c[(c[g>>2]|0)+32>>2]|0,32711)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function tN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=_N(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){YN(d,c[(gQ()|0)>>2]|0);c[f>>2]=LN(1034,45539,c[(c[h>>2]|0)+32>>2]|0,32666)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[7476>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){_N(c[g>>2]|0,0,0)|0;KN(c[h>>2]|0,c[g>>2]|0,32680)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function uN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[7332>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;YN(j,c[(gQ()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function vN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[7488>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(gQ()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=ZN(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)YN(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function wN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[7500>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(gQ()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;YN(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function xN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[7296>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function yN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=RN(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{SN(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{SN(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(19007,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){TN(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=UN(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function zN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function AN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function BN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=QN(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=QN(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=QN(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function CN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;GN();IN();i=b;return}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;GN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[7464>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;HN(c[g>>2]|0)}IN();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function EN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function FN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function GN(){return}function HN(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=JN()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[7548>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){KN(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,33287);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function IN(){return}function JN(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[7572>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function KN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[7284>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;LN(4106,45195,e,c[f>>2]|0)|0;i=g;return}function LN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(gQ()|0)>>2];c[m>>2]=hQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=19018;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,45201,l);i=n;return c[f>>2]|0}function MN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=jQ(d,a,f)|0;i=e;return a|0}function NN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,19007,l)|0;c[h>>2]=RQ(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=PN(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=LN(mt(32625)|0,45336,j,32625)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function ON(){return ib(30)|0}function PN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[7272>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(gQ()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[7284>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,45423,l);c[h>>2]=-1;if((Ob[c[7272>>2]&255](45466,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[7332>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[7440>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function QN(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1839]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function RN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=wR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=vR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=FR(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=HR(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=wR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=vR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=vR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=WN(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,19018,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=wR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function SN(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function TN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;a[c[f>>2]>>0]=0;c[k>>2]=VN()|0;if(!(c[k>>2]|0)){c[l>>2]=6410;l=c[l>>2]|0;i=m;return l|0}while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,45476,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=5;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=5;break}if(Yb[c[7296>>2]&255](c[f>>2]|0,0)|0){e=7;break}}if((e|0)==5){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==7){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function UN(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[7320>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function VN(){var a=0,b=0,d=0,e=0,f=0,g=0;f=i;i=i+96|0;d=f+84|0;b=f+80|0;a=f+4|0;e=f;c[b>>2]=0;c[e>>2]=c[241];if(!(c[1901]|0))c[1901]=rb(45493)|0;if(!(c[1902]|0))c[1902]=rb(45507)|0;while(1){if((((c[e>>2]|0)!=0?(Yb[c[7320>>2]&255](c[e>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[7296>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[b>>2]|0)>>>0>=6){a=12;break}g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=c[7604+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;i=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}return 0}function WN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=XN(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function XN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=aR(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[7404>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(gQ()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(gQ()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function YN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function ZN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function _N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=XQ(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function $N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[7344>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(gQ()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function aO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=aR(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[7368>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=wR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(gQ()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;YN(p,c[(gQ()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;YN(p,c[(gQ()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function bO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){KN(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31034);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function cO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7628}function dO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bO(c[d>>2]|0)|0;i=b;return a|0}function eO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function fO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function gO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[7308>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=mt(35069)|0;c[f>>2]=LN(b,45237,c[g>>2]|0,35069)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=mt(35078)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,19007,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function iO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[7320>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}GN();c[e>>2]=c[1946];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}IN();k=c[f>>2]|0;i=j;return k|0}function jO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+624|0;h=r+100|0;j=r+96|0;k=r+92|0;l=r+88|0;m=r+84|0;o=r+80|0;q=r+104|0;n=r+76|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}yR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(Yb[c[7320>>2]&255](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function kO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[7524>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[7512>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function lO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,45569,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(OQ(c[(c[j>>2]|0)+16>>2]|0,45185)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=7628;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=7708){if((c[o>>2]|0)==7192){c[n>>2]=(RQ(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,45574,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{GN();c[q>>2]=mO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){KN(c[p>>2]|0,c[k>>2]|0,34405);c[k>>2]=-1}IN()}YN(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];nO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}KN(c[p>>2]|0,c[k>>2]|0,34490);u=c[q>>2]|0;i=t;return u|0}function mO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[7332>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;YN(m,c[(gQ()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1946];while(1){if(c[j>>2]|0)a=(LQ(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1946];c[(c[j>>2]|0)+36>>2]=0;if(c[1946]|0)c[(c[1946]|0)+36>>2]=c[j>>2];c[1946]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function nO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[7332>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45582,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45606,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,45635,j);i=l;return}if(!(UN(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45662,k);i=l;return}function oO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];nO(c[d>>2]|0);qO(c[b>>2]|0,0)|0;GN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)xO(c[d>>2]|0);yO(c[d>>2]|0);c[e>>2]=bO(c[b>>2]|0)|0;IN();i=f;return c[e>>2]|0}function pO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}GN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[381],(vO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(gQ()|0)>>2];c[o>>2]=ZN(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;YN(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[381]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((vO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(gQ()|0)>>2],c[o>>2]=ZN(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)YN(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[381]|0)+2;c[h+8>>2]=510;if(vO(c[m>>2]|0,h)|0){c[j>>2]=c[(gQ()|0)>>2];c[o>>2]=ZN(c[j>>2]|0,3850)|0}c[h+4>>2]=c[381];c[h+8>>2]=1;b[h>>1]=2;q=(vO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(gQ()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;YN(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);IN();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function qO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=uO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function rO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];GN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[381]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;YN(o,c[(gQ()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);IN();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function sO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=JN()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=tO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[7332>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((XN(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19018,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=LN(4874,45290,c[y>>2]|0,33552)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1884]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=HR(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}AR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=LN(5386,45377,c[(c[C>>2]|0)+8>>2]|0,33579)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function tO(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;GN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(RQ(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}AR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,45690,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];if((c[3]|0)!=0?(c[(c[l>>2]|0)+4>>2]=8,(c[(c[l>>2]|0)+4>>2]|0)==0):0){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,45697,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=PN(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=mt(33404)|0;c[m>>2]=LN(p,45232,c[q>>2]|0,33404)|0;break}kO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((QN(c[f>>2]|0,1,128,1)|0)==0?($N(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=LN(4618,45255,c[q>>2]|0,33420)|0;if(!(c[m>>2]|0))c[m>>2]=QN(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);HN(c[f>>2]|0);Kd(c[j>>2]|0);IN();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];IN();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function uO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}GN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[381]|0)+2,c[k+8>>2]=510,(vO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;YN(q,c[(gQ()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[381];c[k+8>>2]=2;if(!(vO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;YN(q,c[(gQ()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(vO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;YN(q,c[(gQ()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))wO(c[l>>2]|0)}IN();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function vO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[381]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1839]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function wO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];KN(c[b>>2]|0,c[c[d>>2]>>2]|0,30305);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function xO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function yO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}wO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1946]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function zO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7708}function AO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=ee(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function BO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+ce(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function CO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function DO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ae(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function EO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=wR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=qA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function FO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=288;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function GO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Pi(5,c[j>>2]|0);b=288;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=288;j=c[e>>2]|0;j=vR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[77]=1;FO(c[e>>2]|0);break}else{c[77]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Qi(0,c[e>>2]|0);Qi(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function HO(){JO(9612,3);return}function IO(){JO(9388,8);return}function JO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[18229+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=fu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1080+(c[g>>2]<<2)>>2];c[1080+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function KO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ae(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;ke(h,yd(c[f>>2]|0)|0);i=g;return}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=de(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;ne(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function MO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,jf()|0,-1,0);i=e;return}function NO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((fe(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=be(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ae(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=HR(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=uP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=46317;c[l>>2]=9384;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ve(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(LQ(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(LQ((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}ne(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function OO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ve(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=vP(c[e>>2]|0)|0;c[j>>2]=0;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((fe(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=pI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}pe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function PO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=xe(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(fe(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}wP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=we(d)|0;c[(c[l>>2]|0)+32>>2]=m;ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=vP(d)|0;c[j>>2]=(ve(c[g>>2]|0)|0)!=0&1;c[h>>2]=pI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){wP(c[g>>2]|0);i=n;return}ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function QO(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)pe(c[d>>2]|0,c[e>>2]|0);Wg(c[e>>2]|0);i=f;return}function RO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(fe(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=40203;break}case 3:{c[f>>2]=46307;break}case 2:{c[f>>2]=40198;break}case 4:{c[f>>2]=46312;break}default:c[f>>2]=40211}ne(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function SO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(fe(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{ke(c[g>>2]|0,be(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ae(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}ke(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{me(c[g>>2]|0);i=l;return}}}function TO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=fe(c[c[g>>2]>>2]|0)|0;c[n>>2]=fe(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=be(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ae(b)|0;c[p>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(LQ(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;ke(c[f>>2]|0,c[h>>2]|0);i=q;return}function UO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=we(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=ae(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+92>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;mA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;ne(n,o,c[k>>2]|0,170);i=p;return}function VO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;ke(j,wC(g)|0);i=h;return}function WO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){te(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=ee(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;oe(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=ee(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=vR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}je(c[e>>2]|0,46262,-1);i=k;return}while(0);j=g;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];ie(c[e>>2]|0,+h[j>>3]);i=k;return}}}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(fe(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=de(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((fe(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+ce(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(46302,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Xy(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}te(c[e>>2]|0);i=m;return}while(0);ie(c[e>>2]|0,+h[j>>3]);i=m;return}function ZO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=wR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=uP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[19019+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function _O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=wR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=uP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[18229+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function $O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=$d(c[c[p>>2]>>2]|0)|0;c[k>>2]=be(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=HR(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=wR(b|0,C|0,1,0)|0;b=uP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[46286+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[46286+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function aP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=vR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}le(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function bP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=de(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=uP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);ge(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=vP(c[e>>2]|0)|0;if(!(pI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}pe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function dP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,kf()|0,-1,0);i=e;return}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=de(c[c[g>>2]>>2]|0)|0;c[f>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,19007,f);i=e;return}function fP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(fe(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+ce(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28875,r)|0;Xy(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,46279,s)|0}ne(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{pe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=$d(c[c[j>>2]>>2]|0)|0;c[o>>2]=be(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=uP(u,wR(HR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[46286+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[46286+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;ne(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=wR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=wR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=wR(x|0,C|0,3,0)|0;c[t>>2]=uP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;ne(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{ne(c[g>>2]|0,40184,4,0);i=y;return}}}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;le(d,a,C);i=e;return}function hP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,qf(c[f>>2]|0)|0);i=e;return}function iP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,rf(c[f>>2]|0)|0);i=e;return}function jP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=be(c[c[g>>2]>>2]|0)|0;c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){pe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=be(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=uP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(LQ((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=we(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=wR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=vR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+92>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}yR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){se(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){te(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){yR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;ne(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function kP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=ee(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=qe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}re(c[e>>2]|0,c[f>>2]|0);i=g;return}function lP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((fe(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(fe(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=fe(c[c[h>>2]>>2]|0)|0;b=de(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=be(e)|0;c[p>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ae(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=de(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=vR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(we(c[m>>2]|0)|0)+92>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=wR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=wR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=wR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=wR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=vR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=wR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=wR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=vR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;he(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=wR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=wR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;oe(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function mP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=xe(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=wR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+ce(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=ee(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(lI((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function nP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){je(c[d>>2]|0,46262,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){ie(d,+h[b>>3]);i=f;return}else{g=b+8|0;le(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function oP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;ie(a,f);i=d;return}f=+h[c[b>>2]>>3];ie(a,f);i=d;return}function pP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;ie(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=xe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(fe(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=wR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function rP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;le(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;le(a,b,e);i=d;return}function sP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=xe(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=we(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+92>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=37926;c[k>>2]=1}if(c[k>>2]|0)nA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}nA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function tP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){se(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){te(b);i=f;return}else{ne(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=we(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){se(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}te(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function vP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function wP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(FP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}GP(f);j=f;ie(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(FP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}IP(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,46603,f)|0;ne(c[e>>2]|0,h,-1,-1);i=j;return}function zP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(FP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}JP(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,46588,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(FP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}HP(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,46558,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function BP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(FP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=we(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=wR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=wR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+92>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){se(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Rw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){te(c[m>>2]|0);i=J;return}}else c[G>>2]=H;GP(E);HP(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,46400,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,46405,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,46400,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;GP(F);k=E;l=F;c[p>>2]=FR(wR(vR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=wR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=FR(l|0,C|0,864e5,0)|0;l=GR(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,46400,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,46412,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,43070,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,46400,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,46400,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=vR(FR(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28870,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,46400,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=GR(FR(wR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,46417,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;ne(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;zP(c[f>>2]|0,0,0);i=e;return}function DP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;AP(c[f>>2]|0,0,0);i=e;return}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;yP(c[f>>2]|0,0,0);i=e;return}function FP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=KP(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=fe(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+ce(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ae(d)|0;if((c[n>>2]|0)!=0?(LP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=ae(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(MP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function GP(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=wR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=wR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=vR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function HP(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;IP(c[d>>2]|0);JP(c[d>>2]|0);i=b;return}function IP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=wR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=FR(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function JP(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}GP(c[d>>2]|0);b=c[d>>2]|0;b=wR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=GR(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function KP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=UP(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function LP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(TP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(PP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,46542)|0)){c[f>>2]=KP(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Xy(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function MP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[18229+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(OQ(c[y>>2]|0,46422)|0){y=c[x>>2]|0;i=z;return y|0}GP(c[w>>2]|0);v=NP(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=wR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;OP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((OQ(c[y>>2]|0,46432)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=wR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=FR(v|0,C|0,86400,0)|0;v=wR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;OP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(OQ(c[y>>2]|0,46442)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}GP(c[w>>2]|0);y=l;c[y>>2]=NP(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=vR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;OP(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=NP(c[w>>2]|0,c[g>>2]|0,x)|0;v=vR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(SQ(c[y>>2]|0,46446,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Xy((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}HP(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;GP(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=GR(FR(wR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=vR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=HR(vR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=wR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;OP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(SQ(c[y>>2]|0,46455,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;IP(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(OQ(c[y>>2]|0,46465)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(OQ(c[y>>2]|0,46471)|0)){IP(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(OQ(c[y>>2]|0,46476)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[19019+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Xy(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[19019+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(PP(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}GP(u);v=u;v=vR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=FR(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=HR(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=vR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=vR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}GP(c[w>>2]|0);OP(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=wR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[19019+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}GP(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(OQ(c[y>>2]|0,46476)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(OQ(c[y>>2]|0,46480)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(OQ(c[y>>2]|0,46485)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(OQ(c[y>>2]|0,46492)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(OQ(c[y>>2]|0,46465)|0)==0:0){HP(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;GP(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(OQ(c[y>>2]|0,46471)|0)==0:0){c[r>>2]=~~+h[n>>3];HP(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;GP(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=wR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);OP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function NP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));HP(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;GP(o);l=o;l=FR(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=vR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(SP(n,m)|0){je(c[j>>2]|0,46519,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;GP(p);c[c[k>>2]>>2]=0;n=p;p=o;p=vR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function OP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function PP(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((QP(b,46499,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((QP(r,46507,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[19019+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[19019+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(RP(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function QP(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[17038+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[19019+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function RP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[19019+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((QP(o,46511,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[19019+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function SP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function TP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((QP(b,46546,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[19019+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(PP(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)GP(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function UP(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+136;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=VH(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function VP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=ae(c[c[s>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Zu(c[m>>2]|0,k)|0}while((c[k>>2]|0)==160)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Eh(s,46692,l)|0;ne(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function WP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=ae(c[c[t>>2]>>2]|0)|0;c[q>>2]=ae(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Zu(c[n>>2]|0,l)|0}while((c[l>>2]|0)==160);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=74&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Eh(t,46692,m)|0;ne(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function XP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=we(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ae(c[c[v>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Zu(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Zu(c[m>>2]|0,j)|0}while((c[j>>2]|0)==160);if((c[j>>2]|0)==161)break;v=c[h>>2]|0;c[s>>2]=Uw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Vw(c[s>>2]|0);if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19018;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Eh(v,46681,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19018;c[l+4>>2]=s;c[t>>2]=Eh(v,25321,l)|0;ne(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function YP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=iu(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function ZP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)DA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function _P(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+20>>2];if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){c[h>>2]=c[c[f>>2]>>2];Sj((c[(c[f>>2]|0)+24>>2]|0)+24|0,c[h>>2]|0,0)|0}iH(c[d>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}$P(c[d>>2]|0,c[e>>2]|0);dH(c[d>>2]|0,c[e>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);cv(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0);PH(c[d>>2]|0,c[e>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=j;return}function $P(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Sj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}ZF(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);ZF(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function aQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function bQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function cQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function dQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function eQ(a){a=a|0;var b=0;b=(dQ(a)|0)==0;return (b?a:a|32)|0}function fQ(a){a=a|0;var b=0;b=(cQ(a)|0)==0;return (b?a:a&95)|0}function gQ(){var a=0;if(!(c[2424]|0))a=9744;else a=c[(qb()|0)+60>>2]|0;return a|0}function hQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[46816+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=46904;e=5;break}}if((e|0)==2)if(!c)b=46904;else{b=46904;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function iQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=lQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=lQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=lQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=lQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=lQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=lQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=lQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function jQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=lQ(Db(5,f|0)|0)|0;i=e;return d|0}function kQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[48708+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function lQ(a){a=a|0;if(a>>>0>4294963200){c[(gQ()|0)>>2]=0-a;a=-1}return a|0}function mQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function nQ(a){a=+a;var b=0;h[k>>3]=a;b=xR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+tQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function oQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=xR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+tQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function pQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=xR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+tQ(f+a*f/(1.0-a))*.5}}else a=+tQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function qQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+rQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+mQ(a);break}while(0);return +a}function rQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=xR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=BR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=BR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function sQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function tQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=BR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function uQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+rQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+mQ(b);while(0);return +a}function vQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+rQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+rQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+rQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function wQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(gQ()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)lR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=lQ(cb(192,h|0)|0)|0;if(j)mR()}else{c[(gQ()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function xQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;lR(-1);c[e>>2]=a;c[e+4>>2]=b;a=lQ(Xa(91,e|0)|0)|0;mR();i=d;return a|0}function yQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){kQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=lQ(wb(15,g|0)|0)|0}else d=lQ(d)|0;i=h;return d|0}function zQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){kQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=lQ(fb(195,g|0)|0)|0}else d=lQ(d)|0;i=h;return d|0}function AQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(eb(196,e|0)|0)|0;i=d;return a|0}function BQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(Za(39,e|0)|0)|0;i=d;return a|0}function CQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(fb(195,e|0)|0)|0;i=d;return a|0}function DQ(a){a=a|0;return 0}function EQ(a){a=a|0;return}function FQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=lQ(Cb(6,d|0)|0)|0;i=b;return a|0}function GQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((lQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function HQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2424]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=lQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=lQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function IQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=HQ(b,d,e)|0;i=g;return f|0}function JQ(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=iR(a)|0;break}d=(DQ(a)|0)==0;b=iR(a)|0;if(!d)EQ(a)}else{if(!(c[2435]|0))b=0;else b=JQ(c[2435]|0)|0;Bb(9724);a=c[2430]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=DQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=iR(a)|0|b;if(d)EQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(9724)}while(0);return b|0}function KQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){jR(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)jR(a,d,e,h,o);else kR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}kR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;kR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;kR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function LQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function MQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function NQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);AR(b|0,0,e|0)|0;return b|0}function OQ(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function PQ(a,b){a=a|0;b=b|0;MQ(a,b)|0;return a|0}function QQ(a){a=a|0;var b=0,c=0;c=(RQ(a)|0)+1|0;b=oR(c)|0;if(!b)b=0;else yR(b|0,a|0,c|0)|0;return b|0}function RQ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function SQ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function TQ(a,b,c){a=a|0;b=b|0;c=c|0;NQ(a,b,c)|0;return a|0}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=lQ(sb(33,e|0)|0)|0;i=d;return a|0}function VQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=lQ((a|0)==-4?-115:a)|0;i=b;return a|0}function WQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){kQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=lQ(hb(212,h|0)|0)|0}else e=lQ(e)|0;i=j;return e|0}function XQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=lQ(Oa(118,d|0)|0)|0;i=b;return a|0}function YQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=lQ(gb(194,e|0)|0)|0;i=d;return b|0}function ZQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(gQ()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((lQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=QQ(d)|0}else a=0}i=g;return a|0}function _Q(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function $Q(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function aR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(lQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function bR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=lQ(Ab(3,f|0)|0)|0;i=e;return a|0}function cR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=lQ(Ea(85,f|0)|0)|0;i=e;return a|0}function dR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=lQ(Na(40,d|0)|0)|0;i=b;return a|0}function eR(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function fR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=lQ(yb(10,d|0)|0)|0;i=b;return a|0}function gR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=lQ(Eb(4,f|0)|0)|0;i=e;return a|0}function hR(a){a=a|0;if(!(c[a+68>>2]|0))EQ(a);return}function iR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function jR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);nR(b,o,e);i=p;return}function kR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){nR(b,p,e);jR(a,b,d,g,h)}i=r;return}function lR(a){a=a|0;return}function mR(){return}function nR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;yR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;yR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function oR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2465]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9900+(e<<2)|0;e=9900+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2469]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2465]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2467]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9900+(e<<2)|0;e=9900+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2469]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2467]|0;break}else Ma()}else{c[2465]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2470]|0;d=k>>>3;b=d<<1;e=9900+(b<<2)|0;a=c[2465]|0;d=1<>2]|0;if(b>>>0<(c[2469]|0)>>>0)Ma();else{l=a;m=b}}else{c[2465]=a|d;l=9900+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2467]=h;c[2470]=i;M=j;return M|0}a=c[2466]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[10164+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2469]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=10164+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2469]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2467]|0;if(b){g=c[2470]|0;d=b>>>3;b=d<<1;f=9900+(b<<2)|0;a=c[2465]|0;d=1<>2]|0;if(a>>>0<(c[2469]|0)>>>0)Ma();else{p=b;q=a}}else{c[2465]=a|d;p=9900+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2467]=j;c[2470]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2466]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[10164+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[10164+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2467]|0)-m|0)>>>0:0){f=c[2469]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=10164+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2469]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9900+(a<<2)|0;d=c[2465]|0;b=1<>2]|0;if(a>>>0<(c[2469]|0)>>>0)Ma();else{s=b;t=a}}else{c[2465]=d|b;s=9900+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=10164+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2466]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2469]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2469]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2467]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2470]|0;if(b>>>0>15){c[2470]=a+q;c[2467]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2467]=0;c[2470]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2468]|0;if(a>>>0>q>>>0){L=a-q|0;c[2468]=L;M=c[2471]|0;c[2471]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2583]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2585]=a;c[2584]=a;c[2586]=-1;c[2587]=-1;c[2588]=0;c[2576]=0;c[2583]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2585]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2575]|0;if((a|0)!=0?(t=c[2573]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2576]&4)){a=c[2471]|0;e:do if(a){f=10308;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2468]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2584]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2573]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2575]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2585]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2576]=c[2576]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2573]|0)+p|0;c[2573]=a;if(a>>>0>(c[2574]|0)>>>0)c[2574]=a;h=c[2471]|0;g:do if(h){g=10308;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2468]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2471]=h+L;c[2468]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2472]=c[2587];break}a=c[2469]|0;if(w>>>0>>0){c[2469]=w;a=w}d=w+p|0;g=10308;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=10308;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2470]|0)){M=(c[2467]|0)+l|0;c[2467]=M;c[2470]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=10164+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2469]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2466]=c[2466]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9900+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9900+(a<<2)|0;d=c[2465]|0;b=1<>2]|0;if(a>>>0>=(c[2469]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=10164+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2466]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2469]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2469]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2468]|0)+l|0;c[2468]=M;c[2471]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=10308;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2471]=w+d;c[2468]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2472]=c[2587];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2577];c[b+4>>2]=c[2578];c[b+8>>2]=c[2579];c[b+12>>2]=c[2580];c[2577]=w;c[2578]=p;c[2580]=0;c[2579]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9900+(a<<2)|0;d=c[2465]|0;b=1<>2]|0;if(a>>>0<(c[2469]|0)>>>0)Ma();else{G=b;H=a}}else{c[2465]=d|b;G=9900+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=10164+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2466]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2469]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2469]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2469]|0;if((M|0)==0|w>>>0>>0)c[2469]=w;c[2577]=w;c[2578]=p;c[2580]=0;c[2474]=c[2583];c[2473]=-1;b=0;do{M=b<<1;L=9900+(M<<2)|0;c[9900+(M+3<<2)>>2]=L;c[9900+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2471]=w+M;c[2468]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2472]=c[2587]}while(0);b=c[2468]|0;if(b>>>0>q>>>0){L=b-q|0;c[2468]=L;M=c[2471]|0;c[2471]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(gQ()|0)>>2]=12;M=0;return M|0}function pR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2469]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2470]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2467]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9900+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=10164+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2469]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2471]|0)){t=(c[2468]|0)+g|0;c[2468]=t;c[2471]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2470]|0))return;c[2470]=0;c[2467]=0;return}if((q|0)==(c[2470]|0)){t=(c[2467]|0)+g|0;c[2467]=t;c[2470]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2469]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=10164+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2469]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2469]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9900+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2469]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2465]=c[2465]&~(1<>>0<(c[2469]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2470]|0)){c[2467]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9900+(d<<2)|0;e=c[2465]|0;b=1<>2]|0;if(d>>>0<(c[2469]|0)>>>0)Ma();else{r=b;s=d}}else{c[2465]=e|b;r=9900+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=10164+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2466]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2469]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2466]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2473]|0)+-1|0;c[2473]=u;if(!u)b=10316;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2473]=-1;return}function qR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=oR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;AR(b|0,0,d|0)|0;return b|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=oR(b)|0;return a|0}if(b>>>0>4294967231){c[(gQ()|0)>>2]=12;a=0;return a|0}d=sR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=oR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;yR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;pR(a);a=d;return a|0}function sR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2469]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2585]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;tR(a+b|0,d);return a|0}if((l|0)==(c[2471]|0)){d=(c[2468]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2471]=a+b;c[2468]=n;return a|0}if((l|0)==(c[2470]|0)){e=(c[2467]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2467]=d;c[2470]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=10164+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2469]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9900+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;tR(a+b|0,n);return a|0}return 0}function tR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2469]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2470]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2467]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9900+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=10164+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2469]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2469]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2471]|0)){s=(c[2468]|0)+h|0;c[2468]=s;c[2471]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2470]|0))return;c[2470]=0;c[2467]=0;return}if((q|0)==(c[2470]|0)){s=(c[2467]|0)+h|0;c[2467]=s;c[2470]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=10164+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2466]=c[2466]&~(1<>>0<(c[2469]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2469]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2469]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9900+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2465]=c[2465]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2470]|0)){c[2467]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9900+(e<<2)|0;f=c[2465]|0;d=1<>2]|0;if(e>>>0<(c[2469]|0)>>>0)Ma();else{r=d;s=e}}else{c[2465]=f|d;r=9900+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=10164+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2466]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2469]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2469]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function uR(){}function vR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function wR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function xR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function yR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function zR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else yR(b,c,d)|0;return b|0}function AR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function BR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function DR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ER(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function FR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=vR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return vR((KR(h,g,vR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function GR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=vR(h^a,g^b,h,g)|0;b=C;KR(a,b,vR(l^d,k^e,l,k)|0,C,j)|0;e=vR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function HR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ER(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function IR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return KR(a,b,c,d,0)|0}function JR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;KR(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function KR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=DR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((DR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=wR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;vR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=vR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function LR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function MR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0} -function JE(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ii(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function KE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Xh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){ih(c[m>>2]|0,c[l>>2]|0)|0;yx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function LE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function ME(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Zz(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function NE(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+18>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+12>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function OE(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+18>>1]|0|(e[(c[k>>2]|0)+18>>1]|0);if(!((e[(c[j>>2]|0)+18>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+18>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(Cy(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(Cy(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=Ay(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=37;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-37|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=BE(c[n>>2]|0,c[r>>2]|0,3)|0;xE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function PE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=199;c[g+24>>2]=c[l>>2];oy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function QE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Eh(a,30757,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;oA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Eh(a,35734,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;oA(h,k,l,m,-1,2);i=n;return}}function RE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Rx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(XC(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Rx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(_C(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function SE(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function TE(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Pz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?32:30;if(!(d[A>>0]|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(RE(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=VE(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=WE(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+76>>2]|0)+1;g=(c[q>>2]|0)+76|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));bx(c[I>>2]|0,82,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;GA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=Oz(c[I>>2]|0)|0;OC(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(Oz(c[I>>2]|0)|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;TC(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;XE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;OC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Tz(I,J);i=K;return}a[H>>0]=0;UE(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);bx(c[I>>2]|0,115,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;Kh(c[I>>2]|0,-1,c[r>>2]|0,-20);if(d[A>>0]|0)Hh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Kz(c[I>>2]|0,115,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Hh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;XE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;OC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Tz(I,J);i=K;return}function UE(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Hj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=iA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;fx(c[w>>2]|0,125,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;jA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function VE(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(_F(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=_E(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function WE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Rx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;oC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function XE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Rx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(_C(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=YE(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)ZE(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function YE(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(oC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1579];c[J+4>>2]=c[1580];c[I>>2]=c[1581];c[I+4>>2]=c[1582];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Py(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Py(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=pz(c[q>>2]|0,55,J,0)|0;f=Cv(g,122,f,pz(c[q>>2]|0,55,K,0)|0,0)|0;c[w>>2]=Cv(e,37,f,pz(c[q>>2]|0,55,H,0)|0,0)|0;c[F>>2]=nz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=pz(c[q>>2]|0,55,J,0)|0;g=Cv(e,122,g,pz(c[q>>2]|0,55,K,0)|0,0)|0;e=c[k>>2]|0;f=pz(c[q>>2]|0,55,I,0)|0;c[w>>2]=Cv(h,29,g,Cv(e,122,f,pz(c[q>>2]|0,55,K,0)|0,0)|0,0)|0;c[E>>2]=nz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=Cv(c[k>>2]|0,101,0,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];if(c[v>>2]|0){c[z>>2]=Ay(c[q>>2]|0,c[v>>2]|0,0)|0;break}else{c[z>>2]=Cv(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=pz(c[q>>2]|0,55,I,0)|0;c[z>>2]=Cv(e,122,f,pz(c[q>>2]|0,55,K,0)|0,0)|0}while(0);c[y>>2]=Rv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Sv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Uv(c[q>>2]|0,83,35704)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Rv(c[k>>2]|0,0,c[A>>2]|0)|0;K=Yv(c[q>>2]|0,0,G,0)|0;c[B>>2]=Qv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=rh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,yR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=Ay(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=Iy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=Tx(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=Cv(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=Ay(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;gv(c[q>>2]|0,c[F>>2]|0);gv(c[q>>2]|0,c[E>>2]|0);cv(c[q>>2]|0,c[y>>2]|0);dv(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){ZF(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function ZE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=$w(c[j>>2]|0)|0;c[n>>2]=_E(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+76|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;ex(e,62,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Hh(c[o>>2]|0,c[m>>2]&255);i=p;return}function _E(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+532>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=$E(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function $E(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+416>>2]|0)g=c[g+416>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=rh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+532>>2];c[(c[s>>2]|0)+532>>2]=c[p>>2];e=rh(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}aF(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=rh(c[n>>2]|0,544,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+420>>2]=c[l>>2];c[(c[r>>2]|0)+416>>2]=c[s>>2];c[(c[r>>2]|0)+496>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+440>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+428>>2]=c[(c[j>>2]|0)+428>>2];c[v>>2]=$w(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Kh(e,-1,Eh(l,35401,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=Ay(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(sy(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Pz(c[v>>2]|0)|0;YA(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}gv(c[n>>2]|0,c[t>>2]|0)}bF(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Tz(c[v>>2]|0,c[o>>2]|0);jx(c[v>>2]|0,73)|0;cF(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=dF(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+400|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+76>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+84>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+432>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+436>>2];av(c[v>>2]|0)}Nh(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function aF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function bF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+44|0;p=o+40|0;h=o+36|0;l=o+32|0;n=o+28|0;j=o+24|0;m=o+4|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+441>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=YF(c[g>>2]|0,c[l>>2]|0)|0;p=Iy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;cw(b,e,p,Ay(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 108:{b=c[g>>2]|0;e=YF(c[g>>2]|0,c[l>>2]|0)|0;p=Tx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;dw(b,e,p,Az(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 109:{p=c[g>>2]|0;aw(p,YF(c[g>>2]|0,c[l>>2]|0)|0,Ay(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=Tx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;kB(m,4,0);Nv(c[g>>2]|0,c[k>>2]|0,m)|0;dv(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)jx(c[n>>2]|0,116)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function cF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+68>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+68>>2]=c[(c[e>>2]|0)+68>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function dF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];eF(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function eF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;h=o+4|0;j=o;c[f>>2]=b;c[g>>2]=e;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[(c[f>>2]|0)+24>>2];c[h>>2]=c[(c[m>>2]|0)+120>>2];e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33|32;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65;c[l>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(((c[(c[f>>2]|0)+32>>2]|0)-1|0)*20|0);while(1){if((d[c[l>>2]>>0]|0|0)<=69){switch(d[c[l>>2]>>0]|0|0){case 2:{if(c[(c[l>>2]|0)+8>>2]|0){n=(c[f>>2]|0)+89|0;a[n>>0]=a[n>>0]&-33;n=6}else n=6;break}case 0:case 1:{n=6;break}case 9:case 10:case 8:{e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64;break}case 12:{if((c[(c[l>>2]|0)+8>>2]|0)>(c[k>>2]|0))c[k>>2]=c[(c[l>>2]|0)+8>>2];break}case 11:{c[j>>2]=c[(c[l>>2]|0)+-20+4>>2];if((c[j>>2]|0)>(c[k>>2]|0))c[k>>2]=c[j>>2];break}case 3:case 5:case 7:{c[(c[l>>2]|0)+16>>2]=200;a[(c[l>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[l>>2]|0)+16>>2]=201;a[(c[l>>2]|0)+1>>0]=-19;break}default:{}}if((n|0)==6){n=0;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64}if(((d[35415+(d[c[l>>2]>>0]|0)>>0]|0)&1|0)!=0?(c[(c[l>>2]|0)+8>>2]|0)<0:0)c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+(-1-(c[(c[l>>2]|0)+8>>2]|0)<<2)>>2]}if((c[l>>2]|0)==(c[(c[f>>2]|0)+4>>2]|0))break;c[l>>2]=(c[l>>2]|0)+-20}Tf(c[c[f>>2]>>2]|0,c[(c[m>>2]|0)+120>>2]|0);c[(c[m>>2]|0)+120>>2]=0;c[(c[m>>2]|0)+116>>2]=0;c[c[g>>2]>>2]=c[k>>2];i=o;return}function fF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=WF(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=WF(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=XF(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function gF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=hF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function hF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=iF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}lF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=gF(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=jF(o,er((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=kF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function iF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=pF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function jF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Oj(62497)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=mF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function kF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=er((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=jF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function lF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;FB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function mF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(nF(c[l>>2]|0)|0)>>>0){c[r>>2]=ug(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=St(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(oF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Ut(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){DB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Oj(59739)|0;DB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Oj(59717)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function nF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function oF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=St(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=vg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function pF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+240|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=qF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}rF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Oj(58497)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=sF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function qF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ah(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function rF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(HF(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(HF(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;c[(c[p>>2]|0)+16>>2]=0;v=JF((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function sF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+66>>0]|0)==1?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0)?(d[(c[n>>2]|0)+69>>0]|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=tF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=uF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);au(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=vF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=er((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=er((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=jF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Oj(62874)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Oj(62947)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function tF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function uF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){CB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;FB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=mF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=er((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=jF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Oj(62635)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Oj(62624)|0;n=c[g>>2]|0;i=m;return n|0}function vF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];wF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Oj(62208)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=xF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=er((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){AR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=yF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=ug(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=vg(c[z>>2]|0)|0;c[w>>2]=er(c[t>>2]|0)|0;c[B>>2]=xF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;xg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Oj(62365)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function wF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;CF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function xF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Fg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){yR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else yR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function yF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=zF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[381]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(nF(c[h>>2]|0)|0)>>>0?(c[r>>2]=AF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=BF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=er(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{DB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function zF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function AF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=zF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=ug(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=vg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){xg(c[o>>2]|0);c[h>>2]=Oj(58716)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=er((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}xg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Oj(58724)|0;s=c[h>>2]|0;i=r;return s|0}function BF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=ug(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=oF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function CF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function DF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+4>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=wR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,HR(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=FF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=FF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=GF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function EF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else HF(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Oj(74160)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=LQ((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=GF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function FF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=GF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function GF(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(HF(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(IF(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(HF(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Oj(73878)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){JF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(KF(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=LF(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}JF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=KF(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(!(e[(c[w>>2]|0)+8>>1]&2)){k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else HF(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=LQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else HF(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=MF(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=LQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(!(c[E>>2]|0))c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0)}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=67;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=IF(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=NF(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=73;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=73;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=73;break}}if((k|0)==43){H=(Oj(73953)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Oj(73982)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==67){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==73){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function HF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=au(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function IF(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35576+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function JF(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=wR(f|0,0,HR(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=UF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[15270+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function KF(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function LF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=wR(b|0,0,HR(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function MF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}OF(n,c[(c[j>>2]|0)+32>>2]|0,1);OF(o,c[(c[j>>2]|0)+32>>2]|0,1);PF(n,c[j>>2]|0,4096);PF(o,c[k>>2]|0,4096);c[s>>2]=Yg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Yg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Wg(n);Wg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function NF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=xR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function OF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function PF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){QF(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function QF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;RF(c[h>>2]|0);PF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function RF(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)SF(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){TF(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function SF(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function TF(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function UF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=wR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(VF(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function VF(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function WF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=iF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=XF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=jF(o,er((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=XF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}lF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=fF(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function XF(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=er((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=jF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function YF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Yv(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Dh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;i=h;return j|0}function ZF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];gv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);cv(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);dv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);gv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function _F(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((jz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function $F(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function aG(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(Cy(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(Cy(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function bG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+496>>2];c[(c[f>>2]|0)+496>>2]=c[g>>2];i=e;return}function cG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Dh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=Ay(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Yv(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=ph(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=ph(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Qv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,131072,0,0)|0;kB(l,12,c[j>>2]|0);Nv(c[f>>2]|0,c[o>>2]|0,l)|0;dv(c[k>>2]|0,c[o>>2]|0);i=p;return}function dG(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Nx(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+72|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=bx(c[E>>2]|0,105,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+76|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+76|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=cD(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}bx(c[E>>2]|0,121,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)KA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else bx(c[E>>2]|0,121,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)KA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else fx(c[E>>2]|0,154,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=eG(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){CA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+416>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{fx(m,96,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;bx(c[E>>2]|0,112,c[w>>2]|0,c[D>>2]|0)|0;fx(c[E>>2]|0,113,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){dD(c[A>>2]|0);c[u>>2]=Kz(c[E>>2]|0,55,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;fx(c[E>>2]|0,94,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);RC(c[r>>2]|0,c[s>>2]|0);ex(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Hh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Ox(c[r>>2]|0);if(!(c[v>>2]|0)){bx(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Sz(c[E>>2]|0,c[u>>2]|0);bx(c[E>>2]|0,109,c[w>>2]|0,0)|0;i=F;return}else{dD(c[A>>2]|0);i=F;return}}function eG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+40>>0]|0|0}function fG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+496>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function gG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Qw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((iu(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);AR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function hG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Ch(c[g>>2]|0,36507,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function iG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+496>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((vz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((vz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&256|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+496>>2]=c[(c[N>>2]|0)+8>>2];Yw(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+496>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=Tx(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+416>>2]|0)l=c[l+416>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+528>>2];c[(c[x>>2]|0)+528>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=Yv(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=gG(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;iv(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=ph(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Vw(c[P>>2]|0);c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=Ay(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=c[(c[I>>2]|0)+40>>2]|0;x=nz(w,x,Ay(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=Iy(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=nz(c[B>>2]|0,c[(c[I>>2]|0)+32>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}SG(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}dv(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function jG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+240|0;Z=_+8|0;h=_;j=_+220|0;k=_+216|0;l=_+212|0;m=_+208|0;T=_+204|0;Q=_+200|0;Y=_+196|0;t=_+176|0;H=_+172|0;s=_+168|0;B=_+164|0;C=_+160|0;n=_+156|0;F=_+152|0;W=_+148|0;G=_+224|0;R=_+144|0;L=_+140|0;O=_+136|0;o=_+132|0;X=_+112|0;x=_+108|0;v=_+104|0;z=_+100|0;I=_+96|0;U=_+92|0;V=_+88|0;y=_+84|0;w=_+80|0;A=_+76|0;M=_+72|0;P=_+68|0;p=_+64|0;D=_+44|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Ky(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(f,36364,Z);c[T>>2]=1;break}c[Y>>2]=$w(f)|0;if((d[t>>0]|0)==12){bx(c[Y>>2]|0,105,c[t+4>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&1024){c[T>>2]=UG(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)VG(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=WG(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Kz(c[Y>>2]|0,22,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)fx(c[Y>>2]|0,144,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=XD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(xy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Kj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Kj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Sz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+4>>2];else{V=(c[k>>2]|0)+72|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=bx(c[Y>>2]|0,105,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(dz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}kB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[l>>2]|0,X)|0;cv(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=XD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}gv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}IG(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Pz(c[Y>>2]|0)|0;c[x>>2]=Pz(c[Y>>2]|0)|0;oG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);bx(c[Y>>2]|0,55,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=Oz(c[Y>>2]|0)|0;vG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);Tz(c[Y>>2]|0,c[x>>2]|0);bx(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;Tz(c[Y>>2]|0,c[v>>2]|0);bx(c[Y>>2]|0,109,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+72|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+72|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=bx(c[Y>>2]|0,105,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(dz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;kB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=bx(c[Y>>2]|0,105,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+4>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Nv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;gv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}IG(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Pz(c[Y>>2]|0)|0;c[y>>2]=Pz(c[Y>>2]|0)|0;oG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);bx(c[Y>>2]|0,55,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=hA(c[k>>2]|0)|0;c[A>>2]=bx(c[Y>>2]|0,119,c[U>>2]|0,c[S>>2]|0)|0;Gh(c[Y>>2]|0,30,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;lA(c[k>>2]|0,c[S>>2]|0);vG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);Tz(c[Y>>2]|0,c[y>>2]|0);bx(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;Tz(c[Y>>2]|0,c[w>>2]|0);bx(c[Y>>2]|0,109,c[V>>2]|0,0)|0;bx(c[Y>>2]|0,109,c[U>>2]|0,0)|0;break b}}}while(0);XG(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&32){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=bA(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=YG(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;Yz(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Kh(X,Z,gA(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}cA(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Ky(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(Z,36316,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+8>>2]=c[t+8>>2];c[(c[m>>2]|0)+12>>2]=c[t+12>>2];dv(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function kG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;tz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function lG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;if(c[(c[o>>2]|0)+8>>2]&8200){p=6;break}c[o>>2]=c[(c[o>>2]|0)+48>>2]}if((p|0)==6){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}while(1){if((d[c[k>>2]>>0]|0|0)!=28)break;p=lG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}a:do if(RD(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=Ay(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=RG(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;p=nz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=p;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];p=c[g>>2]|0;i=q;return p|0}function mG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+60>>2]=0;i=d;return}function nG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=bA(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=_x(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function oG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}rC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=$w(c[f>>2]|0)|0;do if(xy(c[(c[g>>2]|0)+56>>2]|0,l)|0){bx(c[m>>2]|0,74,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Rz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Kj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{KA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Kz(c[m>>2]|0,17,c[j>>2]|0)|0;bx(c[m>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+76|0;c[a>>2]=(c[a>>2]|0)+1;KA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Kz(c[m>>2]|0,17,c[k>>2]|0)|0;fx(c[m>>2]|0,144,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function pG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(Zz(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function qG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+32>>1]|0}function rG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+42>>0]|0|0}function sG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+38>>0]|0}function tG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function uG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function vG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[M>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[M>>2]>>0];c[O>>2]=c[(c[M>>2]|0)+4>>2];c[N>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))KG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[F>>2]=c[c[t>>2]>>2];if(c[(c[M>>2]|0)+8>>2]|0){if(((c[(c[M>>2]|0)+8>>2]|0)+(c[F>>2]|0)|0)>(c[(c[P>>2]|0)+76>>2]|0)){h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}}else{if(c[R>>2]|0){c[N>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[N>>2]=(c[N>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[M>>2]|0)+8>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}c[(c[M>>2]|0)+12>>2]=c[F>>2];c[T>>2]=c[(c[M>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;TA(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break a;fx(c[U>>2]|0,94,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;r=(c[P>>2]|0)+76|0;c[r>>2]=(c[r>>2]|0)+(c[F>>2]|0);CA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=Zz(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=77;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(Oz(c[U>>2]|0)|0)+(c[F>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[x>>2]=_x(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[F>>2]|0)-1|0))fx(n,36,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else fx(n,37,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Kh(c[U>>2]|0,-1,c[x>>2]|0,-4);Hh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}fx(c[U>>2]|0,82,c[T>>2]|0,c[A>>2]|0,(c[F>>2]|0)-1|0)|0;break}case 1:{CA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:LG(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[F>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))KG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=hA(c[P>>2]|0)|0;fx(c[U>>2]|0,96,c[T>>2]|0,c[F>>2]|0,c[y>>2]|0)|0;bx(c[U>>2]|0,124,c[O>>2]|0,c[y>>2]|0)|0;lA(c[P>>2]|0,c[y>>2]|0);break}case 2:{fx(c[U>>2]|0,125,c[O>>2]|0,c[T>>2]|0,c[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[H>>2]=xA(c[P>>2]|0,(c[N>>2]|0)+1|0)|0;fx(c[U>>2]|0,96,c[T>>2]|0,c[F>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(Oz(c[U>>2]|0)|0)+4;Gh(c[U>>2]|0,31,(c[O>>2]|0)+1|0,c[v>>2]|0,c[H>>2]|0,0)|0;bx(c[U>>2]|0,124,(c[O>>2]|0)+1|0,c[H>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)QG(n,c[R>>2]|0,c[Q>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0,c[T>>2]|0,1,c[N>>2]|0);else{c[K>>2]=hA(n)|0;bx(c[U>>2]|0,112,c[O>>2]|0,c[K>>2]|0)|0;fx(c[U>>2]|0,113,c[O>>2]|0,c[H>>2]|0,c[K>>2]|0)|0;Hh(c[U>>2]|0,8);lA(c[P>>2]|0,c[K>>2]|0)}AA(c[P>>2]|0,c[H>>2]|0,(c[N>>2]|0)+1|0);break}case 11:{n=dB(c[c[(c[t>>2]|0)+4>>2]>>2]|0,a[(c[M>>2]|0)+1>>0]|0)|0;a[(c[M>>2]|0)+1>>0]=n;n=c[P>>2]|0;if(c[R>>2]|0){QG(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break b}else{c[I>>2]=hA(n)|0;ex(c[U>>2]|0,96,c[T>>2]|0,1,c[I>>2]|0,(c[M>>2]|0)+1|0,1)|0;PA(c[P>>2]|0,c[T>>2]|0,1);bx(c[U>>2]|0,124,c[O>>2]|0,c[I>>2]|0)|0;lA(c[P>>2]|0,c[I>>2]|0);break b}}case 3:{bx(c[U>>2]|0,74,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)QG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){QG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[F>>2]|0,c[N>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Kz(n,16,c[(c[M>>2]|0)+4>>2]|0)|0;break b}else{bx(n,85,c[T>>2]|0,c[F>>2]|0)|0;PA(c[P>>2]|0,c[T>>2]|0,c[F>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[G>>2]=c[(c[M>>2]|0)+16>>2];c[E>>2]=c[c[G>>2]>>2];c[J>>2]=hA(c[P>>2]|0)|0;c[L>>2]=xA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[L>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Gh(c[U>>2]|0,31,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[F>>2]|0)|0;fx(c[U>>2]|0,96,c[T>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){bx(c[U>>2]|0,124,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Hh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;bx(n,83,(c[T>>2]|0)+(e[(c[(c[G>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[L>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}bx(n,111,c[O>>2]|0,(c[L>>2]|0)+(c[E>>2]|0)|0)|0;fx(c[U>>2]|0,96,c[L>>2]|0,(c[E>>2]|0)+2|0,c[J>>2]|0)|0;bx(c[U>>2]|0,124,c[O>>2]|0,c[J>>2]|0)|0;if(c[B>>2]|0)Sz(c[U>>2]|0,c[B>>2]|0);lA(c[P>>2]|0,c[J>>2]|0);AA(c[P>>2]|0,c[L>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}bx(c[U>>2]|0,66,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;xG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function xG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+8>>2]=203;c[f+24>>2]=c[g>>2];oy(f,c[e>>2]|0)|0;i=d;return}function yG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+453>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Eh(b,36293,h)|0;ex(c[g>>2]|0,160,c[(c[e>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function zG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+39>>0]|0|0}function AG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;fx(c[(c[j>>2]|0)+8>>2]|0,81,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;BA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function BG(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=xA(c[f>>2]|0,c[m>>2]|0)|0;TA(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Pz(c[u>>2]|0)|0;LG(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=_x(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+76|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}ex(c[u>>2]|0,86,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}ex(c[u>>2]|0,145,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Hh(c[u>>2]|0,c[m>>2]&255);PA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);AA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Tz(c[u>>2]|0,c[j>>2]|0);rC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Kz(c[u>>2]|0,21,c[t>>2]|0)|0;rC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;KA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;rC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Sz(c[u>>2]|0,c[h>>2]|0);i=v;return}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;ex(c[h>>2]|0,147,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function DG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}fx(c[k>>2]|0,77,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=nG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;ex(c[k>>2]|0,105,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Ch(c[d>>2]|0,36242,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function EG(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function FG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+453>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?36201:19018;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=19018;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Eh(b,36224,l)|0;ex(c[(c[j>>2]|0)+8>>2]|0,160,c[(c[j>>2]|0)+468>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function GG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,36193)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,36197)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function HG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;s=E+84|0;h=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;w=E+36|0;m=E+32|0;x=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[s>>2]=a;c[h>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[v>>2]=Pz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){bx(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Rz(c[D>>2]|0,c[C>>2]|0)|0;Tz(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=hA(c[s>>2]|0)|0;c[x>>2]=hA(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[s>>2]|0)+76|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+72|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=fB(c[s>>2]|0)|0;fx(c[D>>2]|0,108,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Sz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(bx(c[D>>2]|0,42,c[z>>2]|0,c[C>>2]|0)|0);KG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);fx(c[D>>2]|0,118,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(bx(c[D>>2]|0,53,c[z>>2]|0,c[C>>2]|0)|0);KG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;fx(c[D>>2]|0,94,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:{bx(c[D>>2]|0,112,c[m>>2]|0,c[y>>2]|0)|0;fx(c[D>>2]|0,113,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Hh(c[D>>2]|0,8);break}case 11:{ex(c[D>>2]|0,96,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;PA(c[s>>2]|0,c[x>>2]|0,1);bx(c[D>>2]|0,124,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{AG(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{h=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){bx(h,85,c[j+8>>2]|0,c[t>>2]|0)|0;PA(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{Kz(h,16,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){lA(c[s>>2]|0,c[x>>2]|0);lA(c[s>>2]|0,c[y>>2]|0)}Tz(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)bx(k,3,j,h)|0;else bx(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Tz(B,D);i=E;return}Kz(c[D>>2]|0,70,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Tz(B,D);i=E;return}function IG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+453>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;$B(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];aC(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Eh(g,36184,v)|0}else g=ph(g,c[w>>2]|0)|0;c[w>>2]=g;aC(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=25361;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;aC(e,f,0,ph(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Eh(f,30757,u)|0;aC(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{aC(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}JG(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function JG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Yx(h,c[g>>2]|0,0)|0;aC(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function KG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}fx(c[e>>2]|0,64,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function LG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=hA(c[j>>2]|0)|0;Gh(c[l>>2]|0,31,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;fx(c[l>>2]|0,96,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;bx(c[l>>2]|0,124,c[k>>2]|0,c[h>>2]|0)|0;lA(c[j>>2]|0,c[h>>2]|0);i=g;return}function MG(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=OG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+76|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(Cy(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=PG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+76|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ii(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+72|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function NG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function OG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=EC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function PG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=EC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function QG(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;r=J+88|0;s=J+84|0;m=J+80|0;n=J+76|0;o=J+72|0;t=J+68|0;p=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;q=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[I>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[z>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[z>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[H>>2]=j;c[B>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[F>>2]=(c[n>>2]|0)-(c[z>>2]|0)-(c[x>>2]|0);else{c[F>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;j=(c[r>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[y>>2]=k;m=Pz(c[I>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;TA(c[r>>2]|0,c[c[s>>2]>>2]|0,c[F>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)bx(c[I>>2]|0,111,c[(c[s>>2]|0)+8>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;if(!(c[p>>2]|0))AG(c[r>>2]|0,c[n>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);fx(c[I>>2]|0,96,(c[F>>2]|0)+(c[B>>2]|0)|0,(c[q>>2]|0)-(c[B>>2]|0)|0,c[H>>2]|0)|0;if((c[B>>2]|0)>0){c[G>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[A>>2]=(c[z>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[I>>2]|0;if(c[x>>2]|0)c[v>>2]=Kz(k,22,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;else c[v>>2]=Kz(k,107,c[(c[s>>2]|0)+8>>2]|0)|0;fx(c[I>>2]|0,93,c[G>>2]|0,c[F>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[E>>2]=Zz(c[I>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=J;return}c[(c[E>>2]|0)+8>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[D>>2]=c[(c[E>>2]|0)+16>>2];AR(c[(c[D>>2]|0)+16>>2]|0,0,e[(c[D>>2]|0)+6>>1]|0)|0;Kh(c[I>>2]|0,-1,c[D>>2]|0,-6);D=nG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[B>>2]|0,(e[(c[D>>2]|0)+8>>1]|0)-1|0)|0;c[(c[E>>2]|0)+16>>2]=D;c[w>>2]=Oz(c[I>>2]|0)|0;fx(c[I>>2]|0,18,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;D=Pz(c[I>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=D;D=(c[r>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[s>>2]|0)+12>>2]=E;bx(c[I>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Kz(c[I>>2]|0,130,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[y>>2]|0)bx(c[I>>2]|0,22,c[y>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Sz(c[I>>2]|0,c[v>>2]|0);AG(c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Sz(c[I>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[C>>2]=123;else c[C>>2]=124;bx(c[I>>2]|0,c[C>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[H>>2]|0)|0;if(!(c[y>>2]|0)){i=J;return}c[u>>2]=fx(c[I>>2]|0,65,c[y>>2]|0,0,1)|0;Kz(c[I>>2]|0,33,c[(c[s>>2]|0)+8>>2]|0)|0;Kz(c[I>>2]|0,115,c[(c[s>>2]|0)+8>>2]|0)|0;Sz(c[I>>2]|0,c[u>>2]|0);i=J;return}function RG(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=Ay(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;gv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=RG(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=RG(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){SG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{TG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function SG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){TG(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);TG(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);TG(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=RG(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=RG(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;SG(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)TG(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function TG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=RG(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function UG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Nv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function VG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+112|0;p=G+108|0;q=G+104|0;g=G+100|0;l=G+96|0;E=G+92|0;A=G+88|0;t=G+84|0;s=G+80|0;r=G+76|0;v=G+72|0;B=G+68|0;w=G+64|0;k=G+60|0;j=G+56|0;u=G+36|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(Yw(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Pz(c[E>>2]|0)|0;oG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+72|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+72|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;kB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;fx(c[E>>2]|0,108,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=ZG(c[o>>2]|0,c[p>>2]|0,1)|0;ex(c[E>>2]|0,105,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+16>>2]=c[z>>2]}else bx(c[E>>2]|0,105,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=bx(c[E>>2]|0,105,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|32}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Nv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=bx(c[E>>2]|0,55,c[w>>2]|0,c[r>>2]|0)|0;Kz(c[E>>2]|0,122,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)fx(b,94,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else bx(b,120,e,c[B>>2]|0)|0;Kz(c[E>>2]|0,115,c[w>>2]|0)|0;c[s>>2]=Pz(c[E>>2]|0)|0;KG(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);vG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)bx(c[E>>2]|0,66,c[C>>2]|0,c[r>>2]|0)|0;Tz(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Ch(c[o>>2]|0,36465,F);else{c[(c[p>>2]|0)+48>>2]=0;Nv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Rz(c[E>>2]|0,c[t>>2]|0)|0;Tz(c[E>>2]|0,c[r>>2]|0)}cv(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function WG(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+212|0;r=ba+208|0;s=ba+204|0;t=ba+200|0;j=ba+196|0;k=ba+192|0;S=ba+188|0;aa=ba+184|0;H=ba+164|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Pz(c[aa>>2]|0)|0;c[L>>2]=Pz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Uv(c[G>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Rv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Rw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=ZG(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=Iy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;f=(c[r>>2]|0)+76|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);bx(c[aa>>2]|0,74,0,c[Z>>2]|0)|0;c[Q>>2]=bA(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=YG(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ly(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29703)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ly(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29703)|0;oG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+76|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+76|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;bx(c[aa>>2]|0,82,j,c[V>>2]|0)|0;bx(c[aa>>2]|0,82,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}gv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;gv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;kB(H,13,c[T>>2]|0);kB(I,13,c[U>>2]|0);c[E>>2]=(Oz(c[aa>>2]|0)|0)+1;c[v>>2]=fx(c[aa>>2]|0,15,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+472>>2];Nv(c[r>>2]|0,c[S>>2]|0,H)|0;KC(c[aa>>2]|0,c[T>>2]|0);Sz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(Oz(c[aa>>2]|0)|0)+1;c[v>>2]=fx(c[aa>>2]|0,15,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+472>>2];Nv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];KC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=_G(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=_G(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;cA(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=bx(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=bx(c[aa>>2]|0,16,c[U>>2]|0,c[M>>2]|0)|0;Rz(c[aa>>2]|0,c[z>>2]|0)|0;$=XD(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=bx(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;bx(c[aa>>2]|0,16,c[T>>2]|0,c[M>>2]|0)|0;Rz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=bx(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;bx(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Rz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=bx(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Rz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=Oz(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)bx(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;bx(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Rz(c[aa>>2]|0,c[L>>2]|0)|0;Sz(c[aa>>2]|0,c[v>>2]|0);bx(c[aa>>2]|0,16,c[T>>2]|0,c[A>>2]|0)|0;bx(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Tz(c[aa>>2]|0,c[L>>2]|0);ex(c[aa>>2]|0,92,0,0,0,c[u>>2]|0,-15)|0;ex(c[aa>>2]|0,93,c[H+8>>2]|0,c[I+8>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Hh(c[aa>>2]|0,1);fx(c[aa>>2]|0,18,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;Tz(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}IG(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)dv(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];XG(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+68>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function XG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+453>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?36409:19018;b=Ky(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Eh(a,36428,o)|0;ex(c[n>>2]|0,160,c[(c[h>>2]|0)+468>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function YG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=YG(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=_x(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ZG(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=bA(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=_x(f,c[q>>2]|0)|0;else{c[m>>2]=YG(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Oy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function _G(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=Oz(c[C>>2]|0)|0;c[y>>2]=Pz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Kz(c[C>>2]|0,22,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[x>>2]=ex(k,93,b,j,h,gA(c[t>>2]|0)|0,-6)|0;fx(c[C>>2]|0,18,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Sz(c[C>>2]|0,c[w>>2]|0);fx(c[C>>2]|0,82,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;bx(c[C>>2]|0,74,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}KG(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=hA(c[n>>2]|0)|0;c[B>>2]=hA(c[n>>2]|0)|0;fx(c[C>>2]|0,96,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;bx(c[C>>2]|0,112,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;fx(c[C>>2]|0,113,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Hh(c[C>>2]|0,8);lA(c[n>>2]|0,c[B>>2]|0);lA(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=dB(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=hA(c[n>>2]|0)|0;ex(c[C>>2]|0,96,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;PA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);bx(c[C>>2]|0,124,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;lA(c[n>>2]|0,c[A>>2]|0);break}case 10:{AG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=xA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}AG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0);Kz(c[C>>2]|0,16,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{bx(c[C>>2]|0,85,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;PA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)bx(c[C>>2]|0,66,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;Tz(c[C>>2]|0,c[y>>2]|0);Kz(c[C>>2]|0,70,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function $G(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=$w(c[g>>2]|0)|0;do if(!(Rx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&33554432)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Pz(c[n>>2]|0)|0;bx(c[n>>2]|0,63,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+442>>0]=1;f=c[g>>2]|0;aw(f,yz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+442>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&33554432)){f=c[n>>2]|0;bx(f,63,0,(Oz(c[n>>2]|0)|0)+2|0)|0;oA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Tz(c[n>>2]|0,c[l>>2]|0);i=o;return}function aH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=$w(c[g>>2]|0)|0;nx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)jx(c[o>>2]|0,150)|0;c[n>>2]=sx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;NB(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;_w(n,36726,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?20521:20540;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;_w(p,36771,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)bH(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;ex(o,136,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ax(q,p);p=c[l>>2]|0;q=c[j>>2]|0;cH(p,q);i=r;return}ex(c[o>>2]|0,152,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;ex(o,136,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ax(q,p);p=c[l>>2]|0;q=c[j>>2]|0;cH(p,q);i=r;return}function bH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;DC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function cH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){dH(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function dH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);gv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function eH(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(sy(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}ty(n,c[m>>2]|0)|0;i=p;return}function fH(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;i=f;return}if((d[b>>0]|0|0)!=53){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;i=f;return}function gH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function hH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Kj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function iH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;jH(c[e>>2]|0,c[f>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function jH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function kH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=mB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function lH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+424>>2]|0)pG(c[t>>2]|0,c[(c[h>>2]|0)+424>>2]|0,-125);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Py(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Rv(t,0,pz(c[k>>2]|0,55,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+452>>0]|0;c[s>>2]=Gv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0)|0;if(!(c[s>>2]|0)){i=v;return}else{t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-4|2;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Hj(f)|0;if(c[t>>2]|0)pG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(gH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;c[p>>2]=e[(c[s>>2]|0)+50>>1];if(!(a[(c[k>>2]|0)+144+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0))break;b:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(gH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(qH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=46;break a}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break b;if(!(gH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==46){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(qH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(gH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=35351;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function mH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function nH(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(oH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=oH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=19018;c[t>>2]=37926;c[r>>2]=35227}else{c[s>>2]=37928;c[t>>2]=37932;c[r>>2]=37937}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ah(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){lh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37940,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;pH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];pH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[6332+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;yR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,19007,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function oH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function pH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[19019+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[19019+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Bi(c[m>>2]|0,c[k>>2]|0)|0)==55:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function qH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{yR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);yR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);yR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=$w(c[d>>2]|0)|0;Lz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?20521:20540);Gh(c[g>>2]|0,103,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+72>>2]|0){i=e;return}c[(c[d>>2]|0)+72>>2]=1;i=e;return}function sH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=$w(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+404>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+408>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];ex(c[h>>2]|0,149,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function tH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Mz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,102);dx(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Ih(c[k>>2]|0,10,38116,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function uH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,40039,d);i=b;return}function vH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+96|0;G=I+16|0;s=I+8|0;n=I;C=I+92|0;u=I+88|0;p=I+84|0;v=I+80|0;l=I+76|0;w=I+72|0;q=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=rh(c[C>>2]|0,544,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+480>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=wH(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];jg(G,H,40084,n);H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}su(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+428>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+92+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(l,18,40114,s);c[F>>2]=Tg(c[C>>2]|0,18)|0;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Uw(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Wh(c[D>>2]|0,c[t>>2]|0,H)|0;c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+484>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Wh(c[D>>2]|0,c[u>>2]|0,H)|0;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)xH(c[D>>2]|0);if(a[(c[C>>2]|0)+69>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+484>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+453>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+453>>0]|0)==2){$B(l,4);c[y>>2]=8;c[z>>2]=12}else{$B(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;aC(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[6364+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+144+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];yH(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+484>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=41;break}Sg(c[(c[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];l=c[C>>2]|0;b=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(l,b,19007,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(l,b);while(1){if(!(c[(c[D>>2]|0)+532>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+532>>2];c[(c[D>>2]|0)+532>>2]=c[(c[E>>2]|0)+4>>2];Tf(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function wH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=zH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function xH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(qg(c[h>>2]|0)|0)){c[j>>2]=og(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)lh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}pg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){uj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Ej(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function yH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Uw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+89|0;a[d>>0]=a[d>>0]&127|(c[k>>2]&1)<<7&255;i=l;return}function zH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function AH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=BH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function BH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){DH(c[f>>2]|0);break}c[k>>2]=CH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function CH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=EH(c[e>>2]|0)|0;if(!(c[f>>2]|0)){DH(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function DH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;DB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function EH(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;b=g;c[e>>2]=a;c[f>>2]=FH(c[e>>2]|0,(c[e>>2]|0)+40|0)|0;if(d[(c[e>>2]|0)+69>>0]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+40|0;c[b>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[b>>2]|0)){c[f>>2]=7;f=c[f>>2]|0;i=g;return f|0}c[f>>2]=GH(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[b>>2]|0)|0;a=c[b>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=a;f=c[f>>2]|0;i=g;return f|0}else{Kd(a);f=c[f>>2]|0;i=g;return f|0}return 0}function FH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;wF(c[e>>2]|0);e=(c[e>>2]|0)+16|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function GH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=vF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function HH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function IH(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function JH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function KH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){DA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Kh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Uw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function LH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function MH(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function NH(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;m=r+24|0;n=r+20|0;q=r+16|0;l=r+12|0;o=r+8|0;k=r+4|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[j>>2]>>2];c[q>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if((c[(c[m>>2]|0)+4>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]|0)!=(c[(c[m>>2]|0)+8>>2]|0):0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[l>>2]=(Jf(c[(c[j>>2]|0)+4>>2]|0)|0)+1;c[n>>2]=rh(c[k>>2]|0,72+(c[l>>2]|0)|0,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[(c[j>>2]|0)+16>>2]=c[n>>2];c[c[n>>2]>>2]=(c[n>>2]|0)+72;yR(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;b[(c[n>>2]|0)+36>>1]=1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[n>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;b[(c[n>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[n>>2]|0;Xw(e,f,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);Xw(c[k>>2]|0,c[n>>2]|0,0);f=c[k>>2]|0;e=c[n>>2]|0;Xw(f,e,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);c[o>>2]=Bz(c[k>>2]|0,c[n>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+8>>2]|0,q)|0;if(c[o>>2]|0){o=c[h>>2]|0;c[p>>2]=c[q>>2];Ch(o,19007,p);Tf(c[k>>2]|0,c[q>>2]|0);OH(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}return 0}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}dH(c[d>>2]|0,c[f>>2]|0);PH(c[d>>2]|0,c[f>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function PH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))QH(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function QH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function RH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Wg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function SH(){return 312}function TH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=b;c[h>>2]=e;yR(l|0,c[g>>2]|0,208)|0;yR(c[g>>2]|0,c[h>>2]|0,208)|0;yR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];e=(c[h>>2]|0)+89|0;a[e>>0]=a[e>>0]&127|((d[(c[g>>2]|0)+89>>0]|0)>>>7&1)<<7&255;i=f;return}function UH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function VH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function WH(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;BC(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){lh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((a[(c[s>>2]|0)+89>>0]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=160);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;z=c[s>>2]|0;dI(z,kh(c[(c[s>>2]|0)+80>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((a[(c[s>>2]|0)+89>>0]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=yM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Hx(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(Gx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=zM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))fh(g,c[x>>2]|0,-1,1,0)|0;else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){if(!(Gx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,43034,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((a[(c[s>>2]|0)+89>>0]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0} -function dw(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=i;i=i+304|0;E=qa+32|0;D=qa+16|0;C=qa;H=qa+288|0;I=qa+284|0;J=qa+280|0;K=qa+276|0;L=qa+272|0;R=qa+268|0;ea=qa+264|0;m=qa+260|0;l=qa+256|0;T=qa+252|0;$=qa+248|0;X=qa+244|0;pa=qa+240|0;ca=qa+236|0;aa=qa+232|0;ba=qa+228|0;U=qa+224|0;V=qa+220|0;Y=qa+216|0;S=qa+212|0;na=qa+208|0;P=qa+204|0;O=qa+200|0;r=qa+180|0;s=qa+176|0;k=qa+172|0;oa=qa+295|0;Q=qa+294|0;F=qa+293|0;q=qa+292|0;da=qa+168|0;ja=qa+164|0;ha=qa+160|0;la=qa+156|0;ka=qa+152|0;ma=qa+148|0;ia=qa+144|0;M=qa+140|0;_=qa+136|0;fa=qa+132|0;B=qa+128|0;z=qa+124|0;p=qa+120|0;v=qa+116|0;x=qa+112|0;y=qa+108|0;o=qa+104|0;A=qa+72|0;t=qa+68|0;w=qa+64|0;n=qa+60|0;u=qa+56|0;N=qa+52|0;W=qa+48|0;ga=qa+44|0;Z=qa+40|0;c[H>>2]=e;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[ba>>2]=0;c[U>>2]=0;c[V>>2]=0;c[Y>>2]=-1;c[na>>2]=0;c[P>>2]=0;c[O>>2]=0;a[oa>>0]=0;a[Q>>0]=0;c[da>>2]=0;c[ja>>2]=0;c[ha>>2]=0;c[la>>2]=0;c[M>>2]=0;c[R>>2]=c[c[H>>2]>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;a:do if((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[R>>2]|0)+69>>0]|0)==0:0){if(((c[J>>2]|0)!=0?(c[(c[J>>2]|0)+8>>2]&512|0)!=0:0)?(c[(c[J>>2]|0)+48>>2]|0)==0:0){c[da>>2]=c[c[J>>2]>>2];c[c[J>>2]>>2]=0;dv(c[R>>2]|0,c[J>>2]|0);c[J>>2]=0}c[m>>2]=c[(c[I>>2]|0)+8+8>>2];if((((((c[m>>2]|0)!=0?(c[ea>>2]=QB(c[H>>2]|0,c[I>>2]|0)|0,(c[ea>>2]|0)!=0):0)?(c[s>>2]=Dh(c[R>>2]|0,c[(c[ea>>2]|0)+64>>2]|0)|0,c[k>>2]=(c[(c[R>>2]|0)+16>>2]|0)+(c[s>>2]<<4),c[l>>2]=c[c[k>>2]>>2],(Yw(c[H>>2]|0,18,c[c[ea>>2]>>2]|0,0,c[l>>2]|0)|0)==0):0)?(a[F>>0]=((d[(c[ea>>2]|0)+42>>0]&32|0)==0^1)&1,c[fa>>2]=FC(c[H>>2]|0,c[ea>>2]|0,108,0,B)|0,c[_>>2]=(c[(c[ea>>2]|0)+12>>2]|0)!=0&1,(Mx(c[H>>2]|0,c[ea>>2]|0)|0)==0):0)?(GC(c[H>>2]|0,c[ea>>2]|0,c[B>>2]|0)|0)==0:0)?(c[pa>>2]=$w(c[H>>2]|0)|0,(c[pa>>2]|0)!=0):0){if(!(d[(c[H>>2]|0)+18>>0]|0))HC(c[pa>>2]|0);nx(c[H>>2]|0,((c[J>>2]|0)!=0?1:(c[fa>>2]|0)!=0)&1,c[s>>2]|0);if(!((c[K>>2]|0)==0?(IC(c[H>>2]|0,c[ea>>2]|0,c[J>>2]|0,c[L>>2]|0,c[s>>2]|0)|0)!=0:0))G=17;b:do if((G|0)==17){c[ha>>2]=JC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0;m=(c[(c[H>>2]|0)+76>>2]|0)+1|0;c[ka>>2]=m;c[ma>>2]=m;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+((b[(c[ea>>2]|0)+34>>1]|0)+1);if(d[(c[ea>>2]|0)+42>>0]&16){c[ma>>2]=(c[ma>>2]|0)+1;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1}c[ia>>2]=(c[ma>>2]|0)+1;a[q>>0]=(d[(c[ea>>2]|0)+42>>0]&128|0)==0;c:do if(c[K>>2]|0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=-1;c[T>>2]=(c[T>>2]|0)+1}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break c;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;m=(ig(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[$>>2]<<4)>>2]|0)|0)==0;j=c[$>>2]|0;if(m){G=28;break}c[$>>2]=j+1}do if((G|0)==28){G=0;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=j;if((c[T>>2]|0)!=(c[$>>2]|0))a[q>>0]=0;if((c[$>>2]|0)!=(b[(c[ea>>2]|0)+32>>1]|0))break;c[Y>>2]=c[T>>2]}while(0);if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0)){m=(si(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0)|0)==0;if(m|(a[F>>0]|0)!=0)break;c[Y>>2]=c[T>>2];a[q>>0]=0}c[T>>2]=(c[T>>2]|0)+1}pa=c[H>>2]|0;oa=c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0;c[C>>2]=c[I>>2];c[C+4>>2]=0;c[C+8>>2]=oa;Ch(pa,34782,C);a[(c[H>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[J>>2]|0)){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;c[A>>2]=c[H>>2];c[na>>2]=-1;if(c[da>>2]|0){c[aa>>2]=c[c[da>>2]>>2];if(ty(A,c[da>>2]|0)|0)break a;else break}else{c[aa>>2]=0;break}}else{A=(c[H>>2]|0)+76|0;C=(c[A>>2]|0)+1|0;c[A>>2]=C;c[z>>2]=C;c[p>>2]=(Oz(c[pa>>2]|0)|0)+1;fx(c[pa>>2]|0,15,c[z>>2]|0,0,c[p>>2]|0)|0;kB(r,13,c[z>>2]|0);c[r+8>>2]=(d[q>>0]|0)!=0?c[ia>>2]|0:0;c[r+12>>2]=b[(c[ea>>2]|0)+34>>1];c[v>>2]=Nv(c[H>>2]|0,c[J>>2]|0,r)|0;c[ja>>2]=c[r+8>>2];if(c[v>>2]|0)break a;if(d[(c[R>>2]|0)+69>>0]|0)break a;if(c[(c[H>>2]|0)+68>>2]|0)break a;KC(c[pa>>2]|0,c[z>>2]|0);Sz(c[pa>>2]|0,(c[p>>2]|0)-1|0);c[aa>>2]=c[c[c[J>>2]>>2]>>2];if(!((c[fa>>2]|0)==0?(LC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0)==0:0))a[oa>>0]=1;if(!(a[oa>>0]|0))break;A=(c[H>>2]|0)+72|0;C=c[A>>2]|0;c[A>>2]=C+1;c[na>>2]=C;c[x>>2]=hA(c[H>>2]|0)|0;c[y>>2]=hA(c[H>>2]|0)|0;bx(c[pa>>2]|0,105,c[na>>2]|0,c[aa>>2]|0)|0;c[o>>2]=Kz(c[pa>>2]|0,16,c[r+4>>2]|0)|0;fx(c[pa>>2]|0,96,c[ja>>2]|0,c[aa>>2]|0,c[x>>2]|0)|0;bx(c[pa>>2]|0,112,c[na>>2]|0,c[y>>2]|0)|0;fx(c[pa>>2]|0,113,c[na>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Rz(c[pa>>2]|0,c[o>>2]|0)|0;Sz(c[pa>>2]|0,c[o>>2]|0);lA(c[H>>2]|0,c[x>>2]|0);lA(c[H>>2]|0,c[y>>2]|0)}while(0);if((c[K>>2]|0)==0&(c[aa>>2]|0)>0)c[Y>>2]=b[(c[ea>>2]|0)+32>>1];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[ba>>2]=(c[ba>>2]|0)+((d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2|0)!=0?1:0);c[T>>2]=(c[T>>2]|0)+1}if((c[K>>2]|0)==0&(c[aa>>2]|0)!=0?(c[aa>>2]|0)!=((b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0):0){pa=c[H>>2]|0;na=(b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0;oa=c[aa>>2]|0;c[D>>2]=c[I>>2];c[D+4>>2]=0;c[D+8>>2]=na;c[D+12>>2]=oa;Ch(pa,34814,D);break a}do if(c[K>>2]|0){if((c[aa>>2]|0)==(c[(c[K>>2]|0)+4>>2]|0))break;pa=c[H>>2]|0;oa=c[(c[K>>2]|0)+4>>2]|0;c[E>>2]=c[aa>>2];c[E+4>>2]=oa;Ch(pa,34866,E);break a}while(0);if(c[(c[R>>2]|0)+24>>2]&128){D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[la>>2]=E;bx(c[pa>>2]|0,74,0,c[la>>2]|0)|0}d:do if(!(c[_>>2]|0)){c[t>>2]=sC(c[H>>2]|0,c[ea>>2]|0,103,0,-1,0,U,V)|0;c[M>>2]=Rw(c[R>>2]|0,(c[t>>2]|0)+1<<2,0)|0;if(!(c[M>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[t>>2]|0))break d;D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[M>>2]|0)+(c[T>>2]<<2)>>2]=E;c[T>>2]=(c[T>>2]|0)+1}}while(0);do if(a[oa>>0]|0){c[P>>2]=Kz(c[pa>>2]|0,55,c[na>>2]|0)|0;c[O>>2]=Oz(c[pa>>2]|0)|0}else{if(!(c[J>>2]|0))break;E=Kz(c[pa>>2]|0,16,c[r+4>>2]|0)|0;c[O>>2]=E;c[P>>2]=E}while(0);c[S>>2]=Pz(c[pa>>2]|0)|0;if(c[B>>2]&1){c[w>>2]=xA(c[H>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)|0;if((c[Y>>2]|0)<0)bx(c[pa>>2]|0,74,-1,c[w>>2]|0)|0;else{if(a[oa>>0]|0)fx(c[pa>>2]|0,94,c[na>>2]|0,c[Y>>2]|0,c[w>>2]|0)|0;else KA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[w>>2]|0);c[n>>2]=Kz(c[pa>>2]|0,35,c[w>>2]|0)|0;bx(c[pa>>2]|0,74,-1,c[w>>2]|0)|0;Sz(c[pa>>2]|0,c[n>>2]|0);Kz(c[pa>>2]|0,17,c[w>>2]|0)|0}c[$>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;e:do if(c[K>>2]|0){c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break e;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break e;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if((a[oa>>0]|0)!=0|(c[da>>2]|0)!=0){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0){G=90;break}if(a[oa>>0]|0){fx(c[pa>>2]|0,94,c[na>>2]|0,c[$>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)|0;break}else{MC(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0);break}}else G=90;while(0);if((G|0)==90){G=0;KA(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)}if(!(c[K>>2]|0))c[$>>2]=(c[$>>2]|0)+1;c[T>>2]=(c[T>>2]|0)+1}if(!(c[_>>2]|0))NC(c[pa>>2]|0,c[ea>>2]|0,(c[w>>2]|0)+1|0);OC(c[H>>2]|0,c[fa>>2]|0,108,0,1,c[ea>>2]|0,(c[w>>2]|0)-(b[(c[ea>>2]|0)+34>>1]|0)-1|0,c[L>>2]|0,c[S>>2]|0);AA(c[H>>2]|0,c[w>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)}do if(!(c[_>>2]|0)){if(d[(c[ea>>2]|0)+42>>0]&16)bx(c[pa>>2]|0,77,0,c[ka>>2]|0)|0;f:do if((c[Y>>2]|0)>=0){do if(a[oa>>0]|0)fx(c[pa>>2]|0,94,c[na>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;else{if(c[J>>2]|0){bx(c[pa>>2]|0,82,(c[ja>>2]|0)+(c[Y>>2]|0)|0,c[ma>>2]|0)|0;break}KA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[ma>>2]|0);c[u>>2]=Zz(c[pa>>2]|0,-1)|0;if(!(c[u>>2]|0))break;if((d[c[u>>2]>>0]|0)!=77)break;if(d[(c[ea>>2]|0)+42>>0]&16)break;a[Q>>0]=1;a[c[u>>2]>>0]=112;c[(c[u>>2]|0)+4>>2]=c[U>>2];c[(c[u>>2]|0)+8>>2]=c[ma>>2];c[(c[u>>2]|0)+12>>2]=c[ha>>2]}while(0);if(a[Q>>0]|0)break;j=c[pa>>2]|0;if(d[(c[ea>>2]|0)+42>>0]&16){c[N>>2]=Oz(j)|0;bx(c[pa>>2]|0,34,c[ma>>2]|0,(c[N>>2]|0)+2|0)|0}else{c[N>>2]=Kz(j,35,c[ma>>2]|0)|0;fx(c[pa>>2]|0,112,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;Sz(c[pa>>2]|0,c[N>>2]|0)}Kz(c[pa>>2]|0,17,c[ma>>2]|0)|0}else{do if(!(d[(c[ea>>2]|0)+42>>0]&16)){if(d[F>>0]|0)break;fx(c[pa>>2]|0,112,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;a[Q>>0]=1;break f}while(0);bx(c[pa>>2]|0,77,0,c[ma>>2]|0)|0}while(0);PC(c[H>>2]|0,c[ha>>2]|0,c[ma>>2]|0);c[ba>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[W>>2]=(c[ma>>2]|0)+1+(c[T>>2]|0);g:do if((c[T>>2]|0)==(b[(c[ea>>2]|0)+32>>1]|0))Kz(c[pa>>2]|0,78,c[W>>2]|0)|0;else{h:do if(!(c[K>>2]|0))if(d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2){c[$>>2]=-1;c[ba>>2]=(c[ba>>2]|0)+1;break}else{c[$>>2]=(c[T>>2]|0)-(c[ba>>2]|0);break}else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break h;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break h;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if(!((c[$>>2]|0)<0|(c[aa>>2]|0)==0)){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0)break;if(a[oa>>0]|0){fx(c[pa>>2]|0,94,c[na>>2]|0,c[$>>2]|0,c[W>>2]|0)|0;break g}if(!(c[J>>2]|0)){KA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,c[W>>2]|0);break g}if((c[ja>>2]|0)==(c[ia>>2]|0))break g;bx(c[pa>>2]|0,83,(c[ja>>2]|0)+(c[$>>2]|0)|0,c[W>>2]|0)|0;break g}while(0);QC(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,c[W>>2]|0)}while(0);c[T>>2]=(c[T>>2]|0)+1}if(d[(c[ea>>2]|0)+42>>0]&16){c[ga>>2]=Nx(c[R>>2]|0,c[ea>>2]|0)|0;RC(c[H>>2]|0,c[ea>>2]|0);ex(c[pa>>2]|0,12,1,(b[(c[ea>>2]|0)+34>>1]|0)+2|0,c[ka>>2]|0,c[ga>>2]|0,-10)|0;Hh(c[pa>>2]|0,((c[L>>2]|0)==10?2:c[L>>2]|0)&255);Ox(c[H>>2]|0);break}else{SC(c[H>>2]|0,c[ea>>2]|0,c[M>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,0,(c[Y>>2]|0)>=0&255,c[L>>2]&255,c[S>>2]|0,Z,0);TC(c[H>>2]|0,c[ea>>2]|0,0,c[ka>>2]|0,0,0);UC(c[H>>2]|0,c[ea>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,c[M>>2]|0,0,d[Q>>0]|0,(c[Z>>2]|0)==0&1);break}}while(0);if(c[(c[R>>2]|0)+24>>2]&128)bx(c[pa>>2]|0,89,c[la>>2]|0,1)|0;if(c[fa>>2]|0)OC(c[H>>2]|0,c[fa>>2]|0,108,0,2,c[ea>>2]|0,(c[ia>>2]|0)-2-(b[(c[ea>>2]|0)+34>>1]|0)|0,c[L>>2]|0,c[S>>2]|0);Tz(c[pa>>2]|0,c[S>>2]|0);do if(a[oa>>0]|0){bx(c[pa>>2]|0,7,c[na>>2]|0,c[O>>2]|0)|0;Sz(c[pa>>2]|0,c[P>>2]|0);Kz(c[pa>>2]|0,109,c[na>>2]|0)|0}else{if(!(c[J>>2]|0))break;Rz(c[pa>>2]|0,c[O>>2]|0)|0;Sz(c[pa>>2]|0,c[P>>2]|0)}while(0);if((c[_>>2]|0)!=0?1:(d[(c[ea>>2]|0)+42>>0]&16|0)!=0)break;if((c[U>>2]|0)<(c[V>>2]|0))Kz(c[pa>>2]|0,109,c[U>>2]|0)|0;c[X>>2]=0;c[ca>>2]=c[(c[ea>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break b;Kz(c[pa>>2]|0,109,(c[X>>2]|0)+(c[V>>2]|0)|0)|0;c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)VC(c[H>>2]|0);if(((c[(c[R>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){bx(c[pa>>2]|0,85,c[la>>2]|0,1)|0;$B(c[pa>>2]|0,1);aC(c[pa>>2]|0,0,0,34891,0)|0}}}while(0);fv(c[R>>2]|0,c[I>>2]|0);cv(c[R>>2]|0,c[da>>2]|0);dv(c[R>>2]|0,c[J>>2]|0);iv(c[R>>2]|0,c[K>>2]|0);Tf(c[R>>2]|0,c[M>>2]|0);i=qa;return}function ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=rh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=EC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){iv(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Pw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function gw(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;p=t+16|0;o=t+8|0;f=t+44|0;g=t+40|0;k=t+36|0;r=t+32|0;q=t+50|0;n=t+28|0;l=t;j=t+24|0;m=t+48|0;h=t+20|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=Jf(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(Ki((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+92+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+92+36>>2];Ch(s,34716,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=b[(c[f>>2]|0)+444>>1]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))b[(c[f>>2]|0)+444>>1]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+448>>2]|0))break;if((c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(OQ(c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+444|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+448>>2]|0)){c[h>>2]=Qw(c[k>>2]|0,c[(c[f>>2]|0)+476>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+476>>2]=c[h>>2];AR((c[h>>2]|0)+(c[(c[f>>2]|0)+448>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+448>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+448>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Tf(c[k>>2]|0,c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Uw(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+444|0;s=(b[r>>1]|0)+1<<16>>16;b[r>>1]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+68>>2]|0){i=t;return}if((b[(c[f>>2]|0)+444>>1]|0)<=(c[(c[k>>2]|0)+92+36>>2]|0)){i=t;return}Ch(c[f>>2]|0,34759,p);i=t;return}function hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=pz(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=pz(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){cv(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];ow(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function jw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Cv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=Cv(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Cv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function mw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];gv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function nw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=Cv(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+68>>2]|0){i=f;return}rz(c[e>>2]|0);Ry(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]|2099200;ow(c[e>>2]|0,c[f>>2]|0);i=h;return}else{dv(c[c[e>>2]>>2]|0,c[g>>2]|0);i=h;return}}function qw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Rv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+144+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Ch(p,34676,l)}Sv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function rw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}if(Cz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}c[h>>2]=Ij(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)MB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Ch(f,34466,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Ch(t,34484,l);s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}c[g>>2]=Dh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?20521:20540;if(Yw(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(Yw(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}c[k>>2]=$w(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}nx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?20521:20540;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;_w(t,34557,m);CC(c[p>>2]|0,c[g>>2]|0,31450,c[c[h>>2]>>2]|0);ax(c[p>>2]|0,c[g>>2]|0);DC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);ex(c[k>>2]|0,137,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;fv(s,t);i=u;return}function sw(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=$w(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}bx(c[b>>2]|0,10,0,0)|0;Jh(c[b>>2]|0,0);i=d;return}function tw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=$w(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}XB(c[bc>>2]|0);c[(c[ac>>2]|0)+76>>2]=2;c[$b>>2]=Gz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(px(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Pw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Eh(k,32624,p)|0}else c[ec>>2]=Pw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(Yw(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){YB(c[bc>>2]|0,32628,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Ch(bc,19007,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[5316+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=5316+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(Cz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Jh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Bj(Ni(c[ec>>2]|0)|0)|0;nx(c[ac>>2]|0,0,c[$b>>2]|0);fx(c[bc>>2]|0,100,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ZB(c[bc>>2]|0,32635);ac=(c[ac>>2]|0)+76|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Ih(c[bc>>2]|0,9,32646,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Ni(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+76>>2]=bc;if(7!=(Ai(c[_>>2]|0,c[(c[cc>>2]|0)+76>>2]|0,-1,0)|0))break a;lh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=rg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;_B(c[bc>>2]|0,32682,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Ei(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;IB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=IB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;_B(c[bc>>2]|0,32692,ac,((ac|0)<0)<<31>>31);break a}case 23:{ox(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+76|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[18229+(d[c[dc>>2]>>0]|0)>>0]|0)==112)bx(m,156,l,k)|0;else fx(m,157,l,k,Bj(Ni(c[ec>>2]|0)|0)|0)|0;bx(c[bc>>2]|0,85,c[Oa>>2]|0,1)|0;$B(c[bc>>2]|0,1);aC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32706;c[E>>2]=bC(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;HB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=HB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32713;YB(c[bc>>2]|0,32723,c[Ba>>2]|0);break a}case 19:{ZB(c[bc>>2]|0,32736);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=cC(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Jh(c[bc>>2]|0,c[U>>2]|0);fx(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}bx(c[bc>>2]|0,85,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=dC(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;_B(c[bc>>2]|0,32749,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=eC(c[aa>>2]|0)|0;_B(ac,32768,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=fC(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=gC(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=Oz(c[bc>>2]|0)|0;c[y>>2]=Ih(c[bc>>2]|0,5,32780,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Jh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Oi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;nx(c[ac>>2]|0,0,c[$b>>2]|0);bx(c[bc>>2]|0,74,c[R>>2]|0,1)|0;c[z>>2]=Kz(c[bc>>2]|0,67,c[$b>>2]|0)|0;Kz(c[bc>>2]|0,85,1)|0;bx(c[bc>>2]|0,89,1,-1)|0;bx(c[bc>>2]|0,64,1,c[z>>2]|0)|0;Sz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Ni(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;_B(c[bc>>2]|0,32635,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=hC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;_B(k,32800,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Oi(c[ec>>2]|0,oa)|0)hC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Ei(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;iC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;_B(c[bc>>2]|0,32812,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){jC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{_B(c[bc>>2]|0,32822,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){YB(c[bc>>2]|0,32833,c[241]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Wr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Ch(c[ac>>2]|0,32854,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)kC(c[ac>>2]|0)|0;Kd(c[241]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[241]=Od(19007,sa)|0;break a}else{c[241]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;_B(c[bc>>2]|0,32879,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Mi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;iC(c[cc>>2]|0);break a}else{Ch(c[ac>>2]|0,32891,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;_B(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Ei(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==33554432){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}bx(c[bc>>2]|0,148,0,0)|0;iC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Hj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=6;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,6,6012);Mx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=ti(c[Wb>>2]|0,19018)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;mC(l,1,32944,Zb);bx(c[bc>>2]|0,85,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=$w(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=4;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,4,6036);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;mC(ac,1,32951,ua);bx(c[bc>>2]|0,85,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;mC(ac,2,32956,va);bx(c[bc>>2]|0,85,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Ij(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+76>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+76>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,c[(c[ac>>2]|0)+76>>2]|0,6052);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;mC(l,1,32960,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;mC($b,4,32964,Ob)}bx(c[bc>>2]|0,85,1,c[(c[ac>>2]|0)+76>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=$w(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=5;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,5,6076);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1524];c[A+4>>2]=c[1525];c[A+8>>2]=c[1526];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;mC(ac,1,32968,wa);bx(c[bc>>2]|0,85,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+76>>2]=3;lC(c[bc>>2]|0,3,6108);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Gi(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;mC(ac,1,32974,xa);bx(c[bc>>2]|0,85,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+76>>2]=2;lC(c[bc>>2]|0,2,6120);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;mC(ac,1,32978,ya);bx(c[bc>>2]|0,85,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=$w(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+76>>2]=8;ox(c[ac>>2]|0,c[$b>>2]|0);lC(c[bc>>2]|0,8,6128);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=nC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=nC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32990;mC(ac,1,32981,za);bx(c[bc>>2]|0,85,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+76>>2]|0)+1;Zb=(c[ac>>2]|0)+76|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+76|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+76|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=$w(c[ac>>2]|0)|0;lC(c[bc>>2]|0,4,6160);ox(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Bh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Lz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+76>>2]|0))c[(c[ac>>2]|0)+76>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Mz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,102);dx(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Lz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=oC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Mz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,102);break}else{fx(c[bc>>2]|0,102,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Nz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+72>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+72>>2]=c[Ma>>2];c[Ka>>2]=Kz(c[bc>>2]|0,55,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=oC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Pz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){fx(l,94,0,c[Na>>2]|0,c[Xa>>2]|0)|0;IA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);bx(c[bc>>2]|0,34,c[Xa>>2]|0,c[Ja>>2]|0)|0;Yb=c[bc>>2]|0;Zb=c[Xa>>2]|0;bx(Yb,17,Zb,(Oz(c[bc>>2]|0)|0)+3|0)|0}else bx(l,121,0,c[Xa>>2]|0)|0;fx(c[bc>>2]|0,32,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Rz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Sz(Zb,(Oz(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;GA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);bx(c[bc>>2]|0,34,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=pC(c[cc>>2]|0,c[Sa>>2]|0)|0;ex(Vb,96,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Gh(c[bc>>2]|0,31,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);bx(c[bc>>2]|0,121,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;mC(Yb,Zb,32995,Ya);bx(c[bc>>2]|0,85,c[Wa>>2]|0,4)|0;Tz(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}bx(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Sz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;qC(bc,(Ei(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[18229+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+76>>2]=6;ZB(c[bc>>2]|0,32998);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Oi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;bx(c[bc>>2]|0,74,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;ox(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Kz(c[bc>>2]|0,64,1)|0;bx(c[bc>>2]|0,73,0,0)|0;Sz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Rw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+76>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+76>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=l;ex(c[bc>>2]|0,139,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Hh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Kz(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];ex(Yb,97,0,3,0,Eh(Zb,33014,Pb)|0,-1)|0;fx(c[bc>>2]|0,81,2,4,1)|0;fx(c[bc>>2]|0,52,4,3,2)|0;bx(c[bc>>2]|0,85,2,1)|0;Sz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Hj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Kz(c[bc>>2]|0,64,1)|0;bx(c[bc>>2]|0,73,0,0)|0;Sz(c[bc>>2]|0,c[bb>>2]|0);rC(c[ac>>2]|0);sC(c[ac>>2]|0,c[Jb>>2]|0,102,0,1,0,ib,jb)|0;bx(c[bc>>2]|0,74,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;bx(l,74,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}bx(l,55,c[ib>>2]|0,0)|0;c[ub>>2]=bx(c[bc>>2]|0,89,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;GA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Hh(c[bc>>2]|0,-128);c[mb>>2]=Kz(c[bc>>2]|0,35,3)|0;bx(c[bc>>2]|0,89,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Eh(Zb,33038,Qb)|0;ex(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;bx(c[bc>>2]|0,85,3,1)|0;c[ob>>2]=Kz(c[bc>>2]|0,64,1)|0;jx(c[bc>>2]|0,73)|0;Sz(c[bc>>2]|0,c[mb>>2]|0);Sz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Pz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=iA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];bx(c[bc>>2]|0,89,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Gh(c[bc>>2]|0,31,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;bx(c[bc>>2]|0,89,1,-1)|0;dx(c[bc>>2]|0,3,33058)|0;fx(c[bc>>2]|0,52,7,3,3)|0;dx(c[bc>>2]|0,4,33063)|0;fx(c[bc>>2]|0,52,4,3,3)|0;c[rb>>2]=dx(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;fx(c[bc>>2]|0,52,4,3,3)|0;bx(c[bc>>2]|0,85,3,1)|0;c[qb>>2]=Kz(c[bc>>2]|0,64,1)|0;jx(c[bc>>2]|0,73)|0;Sz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Pz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))bx(c[bc>>2]|0,34,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Kz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Rz(c[bc>>2]|0,c[Mb>>2]|0)|0;Sz(c[bc>>2]|0,c[sb>>2]|0);Gh(c[bc>>2]|0,57,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;bx(c[bc>>2]|0,89,1,-1)|0;dx(c[bc>>2]|0,3,33084)|0;Rz(c[bc>>2]|0,c[rb>>2]|0)|0;Tz(c[bc>>2]|0,c[Mb>>2]|0)}Sz(c[bc>>2]|0,c[qb>>2]|0);jA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}bx(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Sz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);dx(c[bc>>2]|0,2,33111)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=Oz(c[bc>>2]|0)|0;bx(c[bc>>2]|0,64,1,(c[bb>>2]|0)+2|0)|0;bx(c[bc>>2]|0,73,0,0)|0;bx(c[bc>>2]|0,98,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;fx(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Hh(c[bc>>2]|0,-112);bx(c[bc>>2]|0,89,1,-1)|0;dx(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;fx(c[bc>>2]|0,52,3,2,7)|0;bx(c[bc>>2]|0,85,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Ih(c[bc>>2]|0,4,33140,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=33156;break a}case 12:{if(!(c[ec>>2]|0)){if(Cz(c[ac>>2]|0)|0)break a;YB(c[bc>>2]|0,33159,c[6176+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=6176;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[960]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Ch(bc,33168,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Jh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Ih(c[bc>>2]|0,2,33193,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Ni(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Ih(c[bc>>2]|0,3,33201,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];$B(c[bc>>2]|0,1);aC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;tC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+76>>2]=1;ZB(c[bc>>2]|0,33213);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;dx(l,1,c[Ga>>2]|0)|0;bx(c[bc>>2]|0,85,1,1)|0}tC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,33228)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,33233)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,33241)|0))c[G>>2]=3}while(0);lC(c[bc>>2]|0,3,6248);c[(c[ac>>2]|0)+76>>2]=3;fx(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;bx(c[bc>>2]|0,85,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Ni(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+220>>2]|0)==139)l=c[(c[cc>>2]|0)+224>>2]|0;else l=0;_B(c[bc>>2]|0,33250,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;_B(ac,33277,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Fi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;_B(ac,33293,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Ni(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;_B(c[bc>>2]|0,33269,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function uw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+492>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+492>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+68>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Dh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Py(l,c[e>>2]|0);RB(q,c[f>>2]|0,c[k>>2]|0,19280,l);if((WB(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(UB(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+144+5>>0]|0)){c[r>>2]=$w(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;nx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Uw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?20521:20540;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;_w(q,32531,s);Tf(c[j>>2]|0,c[u>>2]|0);ax(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];cx(r,s,Eh(u,32595,t)|0)}if(a[(c[j>>2]|0)+144+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Sj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){lh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=qj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);mv(c[j>>2]|0,c[g>>2]|0);i=w;return}function vw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Ch(c[I>>2]|0,32214,r);break}else{c[N>>2]=Gz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+144+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=QB(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+144+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(RB(q,c[I>>2]|0,c[N>>2]|0,19280,c[D>>2]|0),(SB(q,c[K>>2]|0)|0)==0):0){c[E>>2]=QB(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+144+4>>0]|0)!=1)break;a[(c[M>>2]|0)+144+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Ch(c[I>>2]|0,32260,s);break}c[P>>2]=Pw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Lx(c[I>>2]|0,c[P>>2]|0)|0):0){if(qj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){ox(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Ch(o,32301,F);break}}if(!(zd(c[c[E>>2]>>2]|0,28448,7)|0)){Ch(c[I>>2]|0,32327,t);break}if((c[x>>2]|0)!=77?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?32365:32372;c[u+4>>2]=H;c[u+8>>2]=0;Ch(N,32378,u);break}if((c[x>>2]|0)==77?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Ch(N,32415,v);break}c[C>>2]=Dh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Yw(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Yw(c[I>>2]|0,18,(c[C>>2]|0)==1?20521:20540,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[O>>2]=rh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=ph(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;N=Ay(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=Az(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+492>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);fv(c[M>>2]|0,c[K>>2]|0);iv(c[M>>2]|0,c[J>>2]|0);gv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+492>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function ww(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=PB(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Iy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=Ay(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}cv(c[h>>2]|0,c[j>>2]|0);gv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function xw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=PB(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Tx(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;dv(l,o);o=c[m>>2]|0;i=n;return o|0}else{iv(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;dv(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=PB(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=Ay(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}gv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function zw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=rh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){dv(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Aw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}if(Cz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=qj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){NB(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)MB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Ch(f,32143,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;fv(p,q);i=r;return}function Bw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;vB(c[k>>2]|0,24,5288,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;vB(c[f>>2]|0,25,5260,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function Dw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(Cz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){dA(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Pw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}dA(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=Gz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Pw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ri(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){eA(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Ij(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){nx(f,0,c[r>>2]|0);fA(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Ch(f,31603,t);i=u;return}}function Ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(Cz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=Gz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Pw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Ij(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Bh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)Fz(c[l>>2]|0,c[o>>2]|0,0)}else Fz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=Ez(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){Dz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Pw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Ij(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Bh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)Fz(c[l>>2]|0,c[o>>2]|0,0)}else Fz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)Dz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=$w(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}jx(c[p>>2]|0,148)|0;i=r;return}function Fw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=lx(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Dh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Pw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ri(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Ij(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(mx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Lx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Ch(g,28941,v);break}if(Yw(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Mx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Nx(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=$w(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;nx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);ax(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+76|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;dx(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;ex(c[u>>2]|0,155,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Ox(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Px(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Qx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?20521:20540;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;_w(v,28968,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?20521:20540;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;_w(z,29037,w);if(ri(c[l>>2]|0,29421,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;_w(C,29437,x)}C=tx(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;_w(C,29495,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Rx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))rx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);rx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Ch(D,28882,h)}while(0);fv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Gw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;g=D+124|0;h=D+120|0;n=D+116|0;o=D+112|0;k=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;l=D+92|0;m=D+88|0;j=D+84|0;s=D+80|0;p=D+76|0;q=D+72|0;B=D+68|0;r=D+64|0;c[g>>2]=e;c[h>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+68>>2]|0){i=D;return}if(d[(c[j>>2]|0)+69>>0]|0){i=D;return}c[n>>2]=c[(c[g>>2]|0)+488>>2];c[k>>2]=Dh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[A>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[C>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ri(c[j>>2]|0,c[C>>2]|0,c[A>>2]|0)|0;if(Yw(c[g>>2]|0,26,c[A>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=D;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Ch(c[g>>2]|0,28484,t);i=D;return}if(c[(c[n>>2]|0)+8>>2]|0){Ch(c[g>>2]|0,28516,w);i=D;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Ch(c[g>>2]|0,28543,x);i=D;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Ch(c[g>>2]|0,28602,y);i=D;return}do if(c[m>>2]|0){c[p>>2]=0;c[q>>2]=qx(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[q>>2]|0){i=D;return}if(c[p>>2]|0){bh(c[p>>2]|0);break}Ch(c[g>>2]|0,28655,u);i=D;return}while(0);c[z>>2]=Uw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[z>>2]|0){c[B>>2]=(c[z>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[r>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[B>>2]|0)>>>0<=(c[z>>2]|0)>>>0)break;if((a[c[B>>2]>>0]|0)!=59?(d[19019+(d[c[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=c[B>>2]|0;c[B>>2]=y+-1;a[y>>0]=0}B=(c[j>>2]|0)+24|0;c[B>>2]=c[B>>2]|2097152;B=c[g>>2]|0;u=(c[k>>2]|0)==1?20521:20540;w=c[(c[n>>2]|0)+44>>2]|0;x=c[z>>2]|0;y=(c[(c[n>>2]|0)+44>>2]|0)+1|0;C=c[C>>2]|0;c[v>>2]=c[A>>2];c[v+4>>2]=u;c[v+8>>2]=w;c[v+12>>2]=x;c[v+16>>2]=y;c[v+20>>2]=C;_w(B,28701,v);Tf(c[j>>2]|0,c[z>>2]|0);c[(c[j>>2]|0)+24>>2]=c[r>>2]}fx(c[s>>2]|0,100,c[k>>2]|0,2,4)|0;rx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=D;return}function Hw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=lx(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Ch(c[h>>2]|0,28295,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Ch(e,28329,s);break}if(((0==(mx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Dh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=rh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+488>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=rh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Eh(s,28359,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){yR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=ph(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;nx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=$w(c[h>>2]|0)|0;if(c[r>>2]|0)ax(c[h>>2]|0,c[m>>2]|0)}}while(0);fv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Iw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+488>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}Ww(c[e>>2]|0);c[(c[e>>2]|0)+516>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+144+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+500+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+500>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+500;c[s>>2]=Eh(r,28156,o)|0;c[h>>2]=Dh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?20521:20540;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+392>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;_w(r,28180,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=$w(c[e>>2]|0)|0;ax(c[e>>2]|0,c[h>>2]|0);bx(c[n>>2]|0,148,0,0)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Eh(s,28268,q)|0;cx(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+76|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;dx(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;bx(c[n>>2]|0,151,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Sj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){lh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+488>>2]=0;i=u;return}}function Jw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;xv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Dh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;Xw(r,q,Pw(c[l>>2]|0,c[k>>2]|0)|0);Xw(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;Xw(q,r,ph(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+500+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+500>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}Yw(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Kw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ww(c[d>>2]|0);c[(c[d>>2]|0)+516>>2]=0;c[(c[d>>2]|0)+516+4>>2]=0;i=b;return}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+516;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Mw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Pw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Ch(t,28088,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Qw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=rh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){cv(c[m>>2]|0,c[k>>2]|0);dv(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Nw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11638+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[12268+(c[h>>2]<<1)>>1]|0}function Ow(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;kv(c[b>>2]|0)}c[(c[b>>2]|0)+4>>2]=c[d>>2];i=e;return}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Uw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Vw(c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Qw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Rw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((ju(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Sw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Rw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Tw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Sw(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(ju(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Rw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}yR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}lh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}lh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Uw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=wR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Rw(b,d,C)|0;if(c[l>>2]|0){yR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Vw(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){i=j;return}a[h>>0]=a[c[e>>2]>>0]|0;if(!(d[19019+(d[h>>0]|0)>>0]&128)){i=j;return}if((a[h>>0]|0)==91)a[h>>0]=93;c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+516>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+488>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+516>>2];c[e>>2]=c[(c[b>>2]|0)+516+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+488>>2]|0;a=c[e>>2]|0;Xw(h,b,Uw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Qw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function Yw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+144+5>>0]|0|0)==0?(d[(c[j>>2]|0)+454>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+496>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;Zw(c[j>>2]|0)}}else{Ch(c[j>>2]|0,28118,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function Zw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Ch(c[d>>2]|0,28133,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function _w(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+144|0;j=o+36|0;g=o+32|0;h=o+16|0;n=o+8|0;m=o+4|0;k=o;l=o+40|0;c[j>>2]=d;c[g>>2]=e;c[m>>2]=0;c[k>>2]=c[c[j>>2]>>2];if(c[(c[j>>2]|0)+68>>2]|0){i=o;return}c[h>>2]=f;c[n>>2]=kx(c[k>>2]|0,c[g>>2]|0,h)|0;if(!(c[n>>2]|0)){i=o;return}g=(c[j>>2]|0)+18|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24;g=l;h=(c[j>>2]|0)+444|0;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));g=(c[j>>2]|0)+444|0;d=g+100|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(d|0));Wh(c[j>>2]|0,c[n>>2]|0,m)|0;Tf(c[k>>2]|0,c[m>>2]|0);Tf(c[k>>2]|0,c[n>>2]|0);g=(c[j>>2]|0)+444|0;h=l;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));n=(c[j>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24;i=o;return}function $w(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}else{d=ix(c[b>>2]|0)|0;i=e;return d|0}return 0}function ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];fx(c[g>>2]|0,100,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function bx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=fx(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;ex(c[e>>2]|0,134,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Jh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function dx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=ex(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function ex(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=fx(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Kh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function fx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)<=(c[o>>2]|0)){c[h>>2]=gx(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function gx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(hx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=fx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+88>>2]|0)b=c[(c[f>>2]|0)+88>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Qw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=iu(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+92>>2]=e;c[(c[f>>2]|0)+88>>2]=((c[(c[f>>2]|0)+92>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function ix(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;b=Fh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)jx(c[f>>2]|0,69)|0;if(c[(c[d>>2]|0)+416>>2]|0){f=c[f>>2]|0;i=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8){f=c[f>>2]|0;i=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;i=g;return f|0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=fx(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function kx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+92>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}lh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Bh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,28448,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Ch(b,28456,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function nx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;c[k>>2]=f;ox(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+336|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+340>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+340|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+344+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}px(c[f>>2]|0)|0;i=g;return}function px(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+453>>0]|0)==0:0){c[h>>2]=$j(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Ch(c[e>>2]|0,28378,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ai(c[g>>2]|0,c[(c[f>>2]|0)+76>>2]|0,-1,0)|0)){lh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function qx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=vx(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=$w(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=sx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;ex(c[l>>2]|0,138,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}ex(c[l>>2]|0,136,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Eh(d,28810,m)|0;if(!(c[n>>2]|0)){i=o;return}cx(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=tx(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}cx(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function sx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+442>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function tx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=sx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=ux(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Eh(h,28822,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Eh(a,28854,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Eh(a,28846,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function vx(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=19018;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==159))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==66){a[p>>0]=wx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=vx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){xx(c[c[A>>2]>>2]|0,a[p>>0]|0,1);yx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28868}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=zx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=HR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;gh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Eh(l,25321,t)|0;if(!(c[w>>2]|0)){n=43;break}Yh(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)yx(c[B>>2]|0,67,1);else yx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=gu(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=zx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=zx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=Bx(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;fh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=42;break}w=0==(qx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){Ax(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=vR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);yx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){lh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);bh(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function wx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[18229+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[19019+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Oi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function xx(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){yx(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}}case 67:{Ax(c[k>>2]|0)|0;i=m;return}case 68:{Jx(c[k>>2]|0)|0;i=m;return}case 69:{Kx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;yx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function yx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Ex(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function zx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Xh(c[e>>2]|0)|0;i=d;return b|0}function Ax(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+_g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Cx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function Bx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Rw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Ji(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Ji(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function Cx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=Dx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function Dx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function Ex(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)Fx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){Cx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}zh(c[k>>2]|0,1);i=l;return}function Fx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(Gx(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28870,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28875,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}gu(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function Gx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Hx(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Hx(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Ix(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ah(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=iu(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}hh(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)yR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Ix(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Qw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Jx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=$g(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Kx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+_g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Lx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+144+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,28448,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Ch(e,31371,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Mx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;o=r+24|0;n=r+20|0;m=r+16|0;l=r+12|0;k=r+8|0;q=r+4|0;c[h>>2]=a;c[j>>2]=f;c[m>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(Sx(c[h>>2]|0,c[j>>2]|0)|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){q=c[h>>2]|0;c[p>>2]=c[c[j>>2]>>2];Ch(q,29587,p);c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=Tx(c[k>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=c[(c[h>>2]|0)+72>>2];Ux(c[h>>2]|0,c[(c[n>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;p=(c[k>>2]|0)+256|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=c[(c[k>>2]|0)+296>>2];c[(c[k>>2]|0)+296>>2]=0;c[o>>2]=Vx(c[h>>2]|0,c[n>>2]|0)|0;c[(c[k>>2]|0)+296>>2]=c[q>>2];c[(c[h>>2]|0)+72>>2]=c[l>>2];do if(c[(c[j>>2]|0)+24>>2]|0){Wx(c[h>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[h>>2]|0)+68>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[n>>2]>>2]>>2]|0):0)Xx(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0)}else if(c[o>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[o>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=0;c[(c[o>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[m>>2]=(c[m>>2]|0)+1;break}while(0);Rf(c[k>>2]|0,c[o>>2]|0);dv(c[k>>2]|0,c[n>>2]|0);q=(c[k>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[m>>2]=(c[m>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[g>>2]=c[m>>2];q=c[g>>2]|0;i=r;return q|0}function Nx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Ox(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Px(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Rx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=ux(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Rx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Sx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Nx(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=qj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=Bz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Ch(p,19007,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Ch(o,31227,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Tx(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Rw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=Iy(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=yz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=Ay(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=Ay(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=Tx(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=Ay(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=Ay(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-33;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=zz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function Ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ux(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Vx(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;ey(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+68>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=rh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;Wx(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;Xx(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Wx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];xj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=rh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=dy(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=25361;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==55){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Eh(E,19007,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(qj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[19019+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Eh(E,29651,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Sj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)lh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}yj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function Xx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+96|0;h=w+84|0;j=w+80|0;k=w+76|0;m=w+72|0;t=w+40|0;r=w+36|0;s=w+32|0;n=w+28|0;q=w+24|0;l=w+20|0;u=w;v=w+16|0;p=w+12|0;o=w+8|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=u;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[r>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[q>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v>>2]=Yx(t,c[q>>2]|0,(c[r>>2]|0)+14|0)|0;g=u;g=wR(c[g>>2]|0,c[g+4>>2]|0,d[(c[r>>2]|0)+14>>0]|0,0)|0;f=u;c[f>>2]=g;c[f+4>>2]=C;f=Zx(c[q>>2]|0)|0;a[(c[r>>2]|0)+13>>0]=f;if(((c[v>>2]|0)!=0?(f=Jf(c[v>>2]|0)|0,c[o>>2]=f,(f|0)>0):0)?(c[p>>2]=Jf(c[c[r>>2]>>2]|0)|0,f=(c[p>>2]|0)+(c[o>>2]|0)+2|0,f=Ix(c[m>>2]|0,c[c[r>>2]>>2]|0,f,((f|0)<0)<<31>>31)|0,c[c[r>>2]>>2]=f,(c[c[r>>2]>>2]|0)!=0):0){yR((c[c[r>>2]>>2]|0)+((c[p>>2]|0)+1)|0,c[v>>2]|0,(c[o>>2]|0)+1|0)|0;f=(c[r>>2]|0)+15|0;a[f>>0]=d[f>>0]|4}if(!(a[(c[r>>2]|0)+13>>0]|0))a[(c[r>>2]|0)+13>>0]=65;c[s>>2]=_x(c[h>>2]|0,c[q>>2]|0)|0;if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+8>>2]|0)==0:0){f=ph(c[m>>2]|0,c[c[s>>2]>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+16}v=u;v=HR(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=Kj(v,C)|0;b[(c[j>>2]|0)+40>>1]=v;i=w;return}function Yx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=Yx(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=19375;break a}else{c[w>>2]=ti((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=Yx(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function Zx(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=dy(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Zx(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==66){a[f>>0]=wx(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==154|(c[j>>2]|0)==152|(c[j>>2]|0)==157?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+13>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function _x(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==66|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==53){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==88?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=$x(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(ay(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function $x(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){by(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(cy(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Ch(p,29617,n);p=c[m>>2]|0;i=o;return p|0}function ay(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=$x(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function by(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+228>>2]|0){c[l>>2]=ph(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+228>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+232>>2]|0)){i=n;return}c[k>>2]=Xh(c[g>>2]|0)|0;Yh(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Yg(c[k>>2]|0,((a[960]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);bh(c[k>>2]|0);i=n;return}function cy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Qj(c[e>>2]|0,a[29648+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function dy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function ey(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&128){i=l;return}fy(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}gy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}hy(c[g>>2]|0,c[h>>2]|0);i=l;return}function fy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;ky(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&1024){h=c[e>>2]|0;ky(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;ky(f,h)|0;i=g;return}function gy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];ky(g,c[f>>2]|0)|0;i=e;return}function hy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];ky(f,c[e>>2]|0)|0;i=d;return}function iy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}Xx(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function jy(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function ky(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ly(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(my(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ly(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(ny(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(oy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(ny(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(oy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(ny(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(oy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(oy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function my(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(ky(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(ny(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(oy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=py(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[d>>2]|0)+4>>2]&255](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(oy(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}if(oy(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}d=c[d>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!(ky(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else{if(!(ny(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}function qy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;n=J+112|0;o=J+108|0;x=J+104|0;z=J+100|0;k=J+96|0;m=J+92|0;l=J+88|0;j=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;r=J+64|0;p=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;q=J+120|0;y=J+44|0;h=J+40|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+24>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 55:{c[I>>2]=Sy(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{Ty(c[z>>2]|0,c[x>>2]|0,30165,32);c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==55){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Sy(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 151:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0;Ty(c[z>>2]|0,c[x>>2]|0,30182,2);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=Jf(c[G>>2]|0)|0;c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Uy(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){Ch(c[z>>2]|0,30192,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Yw(c[z>>2]|0,31,0,c[(c[v>>2]|0)+20>>2]|0,0)|0;if(c[p>>2]|0){if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+20>>2];Ch(H,30263,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}else{if(e[(c[v>>2]|0)+2>>1]&10240){B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288}if(e[(c[v>>2]|0)+2>>1]&2048)break;Ty(c[z>>2]|0,c[x>>2]|0,30298,32);break}}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;Ch(F,30326,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=31;do if((H|0)==31){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+144+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;Ch(H,30362,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;Ch(H,30385,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}ny(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-103;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Vy(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(16|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 33:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],Ty(c[z>>2]|0,c[x>>2]|0,30430,38),ky(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32;H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|64}break}case 135:{Ty(c[z>>2]|0,c[x>>2]|0,30441,38);break}default:{}}if(c[(c[z>>2]|0)+68>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+69>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function ry(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&64)){ey(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+68>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(sy(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(sy(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&65536){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+496>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+496>>2]=c[(c[o>>2]|0)+8>>2];gy(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+496>>2]=c[w>>2];if(c[(c[A>>2]|0)+68>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(ty(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&16|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(sy(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(sy(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(ty(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&65536){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(uy(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29703)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(uy(v,c[x>>2]|0,c[n>>2]|0,29709)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Ch(c[A>>2]|0,29659,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Ch(c[A>>2]|0,29715,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{vy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(wy(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function sy(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Ry(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+464>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4113;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];oy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+68>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(sy(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function uy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=dy(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=zy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(xy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(sy(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(Cy(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){yy(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ly(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function vy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512){Ch(b,29925,g);i=g;return}else{c[f>>2]=Ky(d[(c[e>>2]|0)+4>>0]|0)|0;Ch(b,29971,f);i=g;return}}function wy(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+92+8>>2]|0)){Ch(c[r>>2]|0,29774,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=dy(c[c[n>>2]>>2]|0)|0;if(xy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=zy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=Ay(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=By(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;gv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Uv(c[h>>2]|0,132,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=53)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}gv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){yy(c[r>>2]|0,29703,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Ch(u,29808,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function xy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=xy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(xy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function yy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Ch(b,29869,g);i=f;return}function zy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Ay(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){b=0;i=h;return b|0}b=Ey(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;i=h;return b|0}function By(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=sy(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(Cy(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function Cy(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==53?(Cy(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==53?(Cy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(OQ(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Cy(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Cy(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Dy(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Dy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(Cy(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function Ey(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;n=s+44|0;o=s+40|0;m=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;k=s+20|0;h=s+16|0;f=s+12|0;j=s+8|0;g=s+4|0;l=s;c[n>>2]=a;c[o>>2]=b;c[m>>2]=d;c[p>>2]=e;if(c[p>>2]|0){c[r>>2]=c[c[p>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=Fy(c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=Rw(b,e,((e|0)<0)<<31>>31)|0;c[k>>2]=0}c[q>>2]=c[r>>2];if(!(c[q>>2]|0)){r=c[q>>2]|0;i=s;return r|0}c[h>>2]=Gy(c[o>>2]|0,c[m>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(Jf(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[m>>2]|0)){c[g>>2]=Hy(c[o>>2]|0)|0;yR(c[r>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)>>>0<48)AR((c[r>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}else yR(c[r>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;e=(c[q>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[q>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[q>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[r>>2]|0)+(c[f>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=k;c[l>>2]=k;yR(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[q>>2]|0)+4>>2])&16384)){a=c[n>>2]|0;d=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){l=Tx(a,c[d>>2]|0,c[m>>2]|0)|0;c[(c[q>>2]|0)+20>>2]=l;break}else{l=Iy(a,c[d>>2]|0,c[m>>2]|0)|0;c[(c[q>>2]|0)+20>>2]=l;break}}while(0);a=c[o>>2]|0;if(!(c[(c[q>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&16384){r=c[q>>2]|0;i=s;return r|0}r=Ay(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[q>>2]|0)+12>>2]=r;r=Ay(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[q>>2]|0)+16>>2]=r;r=c[q>>2]|0;i=s;return r|0}m=Jy(a,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+m;if(c[(c[q>>2]|0)+4>>2]&8192){if(c[(c[o>>2]|0)+12>>2]|0)a=Ey(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,r)|0;else a=0;c[(c[q>>2]|0)+12>>2]=a;if(c[(c[o>>2]|0)+16>>2]|0)a=Ey(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,r)|0;else a=0;c[(c[q>>2]|0)+16>>2]=a}if(!(c[p>>2]|0)){r=c[q>>2]|0;i=s;return r|0}c[c[p>>2]>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Jy(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=Fy(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(Fy(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Hy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function Iy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Rw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Rw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=Ay(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(Gy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Ky(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=30053;break}case 118:{c[b>>2]=30063;break}case 117:{c[b>>2]=30073;break}default:c[b>>2]=30080}i=d;return c[b>>2]|0}function Ly(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+92+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Ch(s,30086,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}My(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){yy(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function My(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=Ay(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Ny(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==53)c[p>>2]=Oy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;gv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=ph(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];oy(f,c[d>>2]|0)|0;i=g;return}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Py(f,c[j>>2]|0);d=hw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Qy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+92+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Ch(j,30117,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function Sy(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&6){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Yy(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(Zy(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+420>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+440>>0];if((c[u>>2]|0)!=109?(ig(30536,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+420>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(30540,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+420>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+432|0;c[h>>2]=c[h>>2]|k;break}else{h=f+436|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Ch(W,30544,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}My(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,19018,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?30575:30590;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Ch(k,30625,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Ch(k,30635,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Ch(W,30612,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=BR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}gv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;gv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?88:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))_y(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function Ty(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=30452;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=30498}else c[l>>2]=30480;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Ch(n,30516,k);i=m;return}function Uy(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Xy(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;ny(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Wy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;q=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;r=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[r>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]^1);c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19019+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=HR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=wR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&4))break b;b=t;e=c[b+4>>2]|0;if((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835){b=t;b=HR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=wR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[r>>2]|0)<1e4)j=((c[r>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[r>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[19019+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}}}while(0);q=_(c[r>>2]|0,c[z>>2]|0)|0;c[r>>2]=q+(c[p>>2]|0);if((c[r>>2]|0)<0){c[z>>2]=-1;c[r>>2]=_(c[r>>2]|0,-1)|0}else c[z>>2]=1;q=t;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[r>>2]|0)<=0)break;m=t;j=c[m>>2]|0;m=c[m+4>>2]|0;if((c[z>>2]|0)>0){if((m|0)>214748364|(m|0)==214748364&j>>>0>=3435973836)break;p=t;p=HR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}else{q=GR(j|0,m|0,10,0)|0;if((q|0)!=0|(C|0)!=0)break;p=t;p=FR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}c[r>>2]=(c[r>>2]|0)+-1}p=(c[u>>2]|0)<0;q=t;o=c[q>>2]|0;q=c[q+4>>2]|0;b=vR(0,0,o|0,q|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:q;if(!(c[r>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[r>>2]|0)<=307){while(1){if(!((c[r>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}while(1){if((c[r>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[r>>2]=(c[r>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}if((c[r>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[r>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}else h[D>>3]=(c[u>>2]|0)<0?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)==(c[E>>2]|0):0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Yy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function _y(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Dh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==88)c[q>>2]=c[(c[k>>2]|0)+420>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=20511;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=($y(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function $y(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;n=p+16|0;m=p;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;k=p+32|0;o=p+28|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=Sb[c[(c[k>>2]|0)+296>>2]&255](c[(c[k>>2]|0)+300>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+496>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}Zw(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;Ch(e,30642,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;Ch(e,30675,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0} -function hu(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=ah(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ah(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26179+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26179+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Wg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=iu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function iu(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(ju(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function lu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)ru(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)ru(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}su(c[b>>2]|0);i=k;return}function mu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pu(c[d>>2]|0,68);i=b;return 0}function nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(ou(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function ou(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;qu(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function qu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];qu(c[e>>2]|0);i=h;return}function su(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Qh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];qu(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function tu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function uu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1616;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[418]=(c[53]|0)==0&1;if((c[418]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[419]=c[55];c[407]=10;c[417]=1;i=d;return 0}else{c[419]=0;c[407]=10;c[417]=1;i=d;return 0}return 0}function vu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1616;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function wu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[418]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[418]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1616;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Nu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Du(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Fu(c[e>>2]|0);i=g;return}function yu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function zu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Ku(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function Au(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Hu(c[h>>2]|0,1);i=k;return}function Bu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Ju(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Du(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Ju(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+24>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);Fu(c[d>>2]|0);Kd(c[(c[d>>2]|0)+56>>2]|0);Kd(c[(c[d>>2]|0)+48>>2]|0);Kd(c[d>>2]|0);i=b;return}function Eu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Fu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Fu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Gu(c[e>>2]|0)|0;Hu(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Gu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Iu(c[d>>2]|0);i=h;return}function Iu(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else $i(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Ju(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+44>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))Gu(c[h>>2]|0)|0;Iu(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Ku(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Gu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Lu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Lu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Mu(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Nu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Mu(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Hu(c[o>>2]|0,0);Gu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Iu(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Ou(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Mu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[421]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[420]|0):0){c[b>>2]=c[428];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Qu()|0;e=c[b>>2]|0;i=d;return e|0}function Nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Wj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Xj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Ou(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Pu(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Wj();c[j>>2]=hj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Xj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Pu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[419]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Wj();if((c[419]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[419]|0;m=HR(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[419]|0;b=HR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=HR(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){o=j;c[o>>2]=_(c[(c[e>>2]|0)+12>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[o+4>>2]=0}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Xj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Qu(){return c[77]|0}function Ru(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=oR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,27015,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Su(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;pR(c[d>>2]|0);i=b;return}function Tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=rR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Uu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26979,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Uu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Vu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Wu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Xu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Yu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Yb[c[e>>2]&255](1608,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Zu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39775+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=45;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=40;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=46;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=38;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=44;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=52;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=55;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[19019+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?55:161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[19019+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[19019+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=161;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39775+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[19019+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=55;c[n>>2]=Ri(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=161;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[19019+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[19019+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[19019+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=161;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[19019+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=55;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function _u(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;l=o+32|0;p=o+28|0;j=o+24|0;h=o+20|0;m=o+8|0;k=o+4|0;n=o;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;b[(c[n>>2]|0)+8>>1]=0;a[(c[n>>2]|0)+8+2>>0]=0}c[(c[n>>2]|0)+4>>2]=c[h>>2];while(1){c[k>>2]=nv(c[n>>2]|0,c[j>>2]&255)|0;h=c[k>>2]|0;do if((c[k>>2]|0)>>>0>974)if(h>>>0<=1300){pv(c[n>>2]|0,(c[k>>2]|0)-975|0);break}else{c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];d=c[n>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];qv(d,p,l);lv(c[n>>2]|0,c[j>>2]&255,m);c[j>>2]=251;break}else{if(h>>>0>439)c[k>>2]=(c[k>>2]|0)+326;e=c[n>>2]|0;d=c[k>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];ov(e,d,p,l);c[j>>2]=251}while(0);if((c[j>>2]|0)==251){h=13;break}if((c[c[n>>2]>>2]|0)<0){h=13;break}}if((h|0)==13){i=o;return}}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)<0)break;kv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function av(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);cv(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);dv(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function cv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jv(c[d>>2]|0,c[e>>2]|0);i=f;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}ev(c[d>>2]|0,c[e>>2]|0,1);i=f;return}function ev(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];cv(c[e>>2]|0,c[c[f>>2]>>2]|0);fv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);gv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)bv(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function fv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)cv(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);dv(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);gv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}hv(c[d>>2]|0,c[e>>2]|0);i=f;return}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;do if(!(c[(c[e>>2]|0)+4>>2]&16384)){gv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);gv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Tf(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);a=c[d>>2]|0;b=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){dv(a,c[b>>2]|0);break}else{cv(a,c[b>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;gv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function kv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-1;c[e>>2]=(c[f>>2]|0)+8+(b<<4);lv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function lv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{gv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 225:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{cv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{fv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 249:case 196:{bv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 240:case 235:case 226:case 224:case 215:case 203:case 201:{gv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 236:case 231:{mv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 233:{iv(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];gv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);cv(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);dv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);iv(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function nv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[(c[q>>2]|0)+8+(c[c[q>>2]>>2]<<4)>>1];if((c[n>>2]|0)>=975){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[15274+(c[n>>2]<<1)>>1];if((c[k>>2]|0)==-95){o=4;break}c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1501)?(d[38178+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=15;break}if((d[j>>0]|0)<=0)break;if((d[j>>0]|0)>>>0>=96){o=11;break}q=a[39679+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255)){o=11;break}a[j>>0]=a[l>>0]|0}if((o|0)==4){c[h>>2]=e[16154+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}else if((o|0)==11){c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+96;if((c[m>>2]|0)<1501?(d[38178+(c[m>>2]|0)>>0]|0)==96:0){c[h>>2]=e[12268+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}}else if((o|0)==15){c[h>>2]=e[12268+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[16154+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function ov(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){rv(f);i=m;return}else{c[l>>2]=(c[h>>2]|0)+8+(c[f>>2]<<4);b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}}function pv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+288|0;h=ba+272|0;P=ba+40|0;O=ba+32|0;R=ba+24|0;Q=ba+16|0;V=ba+8|0;N=ba;X=ba+264|0;Y=ba+260|0;_=ba+256|0;Z=ba+252|0;$=ba+248|0;aa=ba+244|0;W=ba+240|0;T=ba+228|0;L=ba+216|0;M=ba+204|0;k=ba+184|0;l=ba+180|0;z=ba+176|0;s=ba+172|0;p=ba+168|0;S=ba+160|0;A=ba+152|0;q=ba+148|0;m=ba+144|0;B=ba+140|0;r=ba+136|0;o=ba+132|0;w=ba+128|0;x=ba+124|0;E=ba+120|0;F=ba+116|0;H=ba+112|0;G=ba+108|0;I=ba+104|0;J=ba+100|0;K=ba+96|0;U=ba+88|0;t=ba+80|0;u=ba+76|0;v=ba+72|0;y=ba+68|0;D=ba+64|0;C=ba+60|0;n=ba+56|0;j=ba+48|0;c[X>>2]=f;c[Y>>2]=g;c[W>>2]=c[(c[X>>2]|0)+4>>2];c[$>>2]=(c[X>>2]|0)+8+(c[c[X>>2]>>2]<<4);if((d[27102+(c[Y>>2]<<1)+1>>0]|0)==0?(c[c[X>>2]>>2]|0)>=99:0){rv(c[X>>2]|0);i=ba;return}a:do switch(c[Y>>2]|0){case 0:{a[(c[W>>2]|0)+453>>0]=1;break}case 1:{a[(c[W>>2]|0)+453>>0]=2;break}case 2:{sv(c[W>>2]|0);break}case 3:{tv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[$>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[$>>2]|0)+4>>2]=d[(c[$>>2]|0)+2>>0];break}case 9:case 8:{uv(c[W>>2]|0);break}case 10:{vv(c[W>>2]|0);break}case 11:{wv(c[W>>2]|0,0,(c[$>>2]|0)+4|0);break}case 12:{wv(c[W>>2]|0,1,(c[$>>2]|0)+4|0);break}case 13:{wv(c[W>>2]|0,2,(c[$>>2]|0)+4|0);break}case 14:{xv(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,0,0,c[(c[$>>2]|0)+-32+4>>2]|0);break}case 15:{yv(c[W>>2]|0);break}case 209:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[$>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[$>>2]|0)+4>>2]=1;break}case 20:{zv(c[W>>2]|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-16+4|0,c[(c[$>>2]|0)+4>>2]&255,0);break}case 21:{zv(c[W>>2]|0,0,0,0,c[(c[$>>2]|0)+4>>2]|0);dv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[$>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[$>>2]|0)+4>>2]|0,25361,5)|0)==0:0){c[(c[$>>2]|0)+-16+4>>2]=96;break a}c[(c[$>>2]|0)+-16+4>>2]=0;W=c[W>>2]|0;V=c[(c[$>>2]|0)+4>>2]|0;c[N>>2]=c[(c[$>>2]|0)+4+4>>2];c[N+4>>2]=V;Ch(W,27754,N);break}case 24:{Av(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[$>>2]|0)+16+4+4>>2]=0;c[(c[$>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[$>>2]|0)+-48+4+4>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0)-(c[(c[$>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[$>>2]|0)+-80+4+4>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0)-(c[(c[$>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[$>>2]|0)+-16+4+4>>2]=(c[(c[$>>2]|0)+4+4>>2]|0)+((c[(c[$>>2]|0)+4>>2]|0)-(c[(c[$>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{W=(c[W>>2]|0)+328|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];break}case 32:case 30:{Bv(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 31:{Bv(c[W>>2]|0,(c[$>>2]|0)+-16+4|0);break}case 33:{c[L>>2]=Cv(c[W>>2]|0,155,c[(c[$>>2]|0)+4>>2]|0,0,0)|0;c[L+4>>2]=c[(c[$>>2]|0)+-16+4>>2];c[L+8>>2]=c[(c[$>>2]|0)+4+8>>2];Bv(c[W>>2]|0,L);break}case 34:{V=c[W>>2]|0;U=(c[$>>2]|0)+4|0;c[h>>2]=c[U>>2];c[h+4>>2]=c[U+4>>2];Dv(M,V,97,h);Bv(c[W>>2]|0,M);break}case 35:{Ev(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 36:{Fv(c[W>>2]|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0);break}case 37:{Gv(c[W>>2]|0,0,0,0,0,c[(c[$>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 38:{Hv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 39:{Iv(c[W>>2]|0,0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 40:{Jv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 41:{Kv(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 44:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+-16+4>>2]&~c[(c[$>>2]|0)+4+4>>2]|c[(c[$>>2]|0)+4>>2];break}case 46:{c[(c[$>>2]|0)+-16+4>>2]=0;c[(c[$>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[$>>2]|0)+-32+4>>2]=0;c[(c[$>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];c[(c[$>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2]<<8;c[(c[$>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[$>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[$>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[$>>2]|0)+4>>2]=9;break}case 53:{c[(c[$>>2]|0)+4>>2]=6;break}case 54:{c[(c[$>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[$>>2]|0)+-32+4>>2]=0;break}case 142:case 71:case 56:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 210:case 186:case 183:case 75:case 58:{c[(c[$>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[$>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[W>>2]|0)+328+4>>2]=0;break}case 63:{Fv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,0);break}case 64:{Gv(c[W>>2]|0,0,0,0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 65:{Hv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0);break}case 66:{Iv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,(c[$>>2]|0)+-48+4|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);Jv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[$>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 72:{c[(c[$>>2]|0)+4>>2]=4;break}case 143:case 73:{c[(c[$>>2]|0)+4>>2]=5;break}case 74:{Lv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 77:{Mv(c[W>>2]|0,(c[$>>2]|0)+-128+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0);break}case 78:{Lv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,1,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 79:{c[k>>2]=c[1274];c[k+4>>2]=c[1275];c[k+8>>2]=c[1276];c[k+12>>2]=c[1277];c[k+16>>2]=c[1278];Nv(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,k)|0;dv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 80:{c[l>>2]=c[(c[$>>2]|0)+4>>2];if(c[l>>2]|0){c[(c[l>>2]|0)+64>>2]=c[(c[$>>2]|0)+-16+4>>2];Ov(c[W>>2]|0,c[l>>2]|0)}else bv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);c[(c[$>>2]|0)+-16+4>>2]=c[l>>2];break}case 81:{c[z>>2]=c[(c[$>>2]|0)+4>>2];c[s>>2]=c[(c[$>>2]|0)+-32+4>>2];if((c[z>>2]|0)!=0?(c[(c[z>>2]|0)+48>>2]|0)!=0:0){c[S+4>>2]=0;Ov(c[W>>2]|0,c[z>>2]|0);c[p>>2]=Pv(c[W>>2]|0,0,0,0,S,c[z>>2]|0,0,0)|0;c[z>>2]=Qv(c[W>>2]|0,0,c[p>>2]|0,0,0,0,0,0,0,0)|0}if(c[z>>2]|0){a[(c[z>>2]|0)+4>>0]=c[(c[$>>2]|0)+-16+4>>2];c[(c[z>>2]|0)+48>>2]=c[s>>2];if(c[s>>2]|0){V=(c[s>>2]|0)+8|0;c[V>>2]=c[V>>2]&-1025}V=(c[z>>2]|0)+8|0;c[V>>2]=c[V>>2]&-1025;if((c[(c[$>>2]|0)+-16+4>>2]|0)!=116)a[(c[W>>2]|0)+22>>0]=1}else dv(c[c[W>>2]>>2]|0,c[s>>2]|0);c[(c[$>>2]|0)+-32+4>>2]=c[z>>2];break}case 84:case 82:{c[(c[$>>2]|0)+4>>2]=d[(c[$>>2]|0)+2>>0];break}case 83:{c[(c[$>>2]|0)+-16+4>>2]=116;break}case 85:{W=Qv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+4+4>>2]|0)|0;c[(c[$>>2]|0)+-128+4>>2]=W;break}case 86:{W=Qv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 87:{c[q>>2]=c[(c[$>>2]|0)+-64+4>>2];c[A>>2]=Qv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[q>>2]|0){W=(c[q>>2]|0)+8|0;c[W>>2]=c[W>>2]&-1025}if(c[A>>2]|0){a[(c[A>>2]|0)+4>>0]=116;c[(c[A>>2]|0)+48>>2]=c[q>>2];c[(c[$>>2]|0)+-64+4>>2]=c[A>>2];break a}else{c[(c[$>>2]|0)+-64+4>>2]=c[q>>2];break a}}case 88:{c[(c[$>>2]|0)+4>>2]=1;break}case 89:{c[(c[$>>2]|0)+4>>2]=2;break}case 205:case 199:case 126:case 119:case 91:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 92:{V=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-32+4>>2]=V;if((c[(c[$>>2]|0)+4+4>>2]|0)>>>0>0)Sv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+4|0,1);Tv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+-16+4|0);break}case 93:{c[m>>2]=Uv(c[c[W>>2]>>2]|0,158,0)|0;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[m>>2]|0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;break}case 94:{c[B>>2]=Cv(c[W>>2]|0,158,0,0,(c[$>>2]|0)+4|0)|0;c[r>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-32+4|0)|0;c[o>>2]=Cv(c[W>>2]|0,122,c[r>>2]|0,c[B>>2]|0,0)|0;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[o>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 220:case 219:case 106:case 95:{W=(c[$>>2]|0)+-16+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];break}case 97:{W=rh(c[c[W>>2]>>2]|0,80,0)|0;c[(c[$>>2]|0)+16+4>>2]=W;break}case 98:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];Vv(c[(c[$>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[$>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[$>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[$>>2]|0)+4>>2];break}case 100:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 101:{V=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,(c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=V;Wv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,(c[$>>2]|0)+-32+4|0);break}case 102:{V=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-128+4>>2]|0,(c[$>>2]|0)+-112+4|0,(c[$>>2]|0)+-96+4|0,(c[$>>2]|0)+-32+4|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-128+4>>2]=V;Xv(c[W>>2]|0,c[(c[$>>2]|0)+-128+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 103:{W=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,0,0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=W;break}case 104:{if((((c[(c[$>>2]|0)+-96+4>>2]|0)==0?(c[(c[$>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[$>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[$>>2]|0)+4>>2]|0)==0:0){c[(c[$>>2]|0)+-96+4>>2]=c[(c[$>>2]|0)+-64+4>>2];break a}if((c[c[(c[$>>2]|0)+-64+4>>2]>>2]|0)!=1){Vv(c[(c[$>>2]|0)+-64+4>>2]|0);c[E>>2]=Qv(c[W>>2]|0,0,c[(c[$>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;W=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,0,0,(c[$>>2]|0)+-32+4|0,c[E>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=W;break a}V=Pv(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,0,0,(c[$>>2]|0)+-32+4|0,0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-96+4>>2]=V;if(c[(c[$>>2]|0)+-96+4>>2]|0){c[w>>2]=(c[(c[$>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[$>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[x>>2]=(c[(c[$>>2]|0)+-64+4>>2]|0)+8;c[(c[w>>2]|0)+8>>2]=c[(c[x>>2]|0)+8>>2];c[(c[w>>2]|0)+4>>2]=c[(c[x>>2]|0)+4>>2];c[(c[w>>2]|0)+20>>2]=c[(c[x>>2]|0)+20>>2];c[(c[x>>2]|0)+4>>2]=0;c[(c[x>>2]|0)+8>>2]=0;c[(c[x>>2]|0)+20>>2]=0}fv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[$>>2]|0)+16+4>>2]=0;c[(c[$>>2]|0)+16+4+4>>2]=0;break}case 107:{W=Yv(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;break}case 108:{c[(c[$>>2]|0)+4>>2]=1;break}case 109:{W=Zv(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,0,0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;break}case 110:{W=Zv(c[W>>2]|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-16+4|0,0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 111:{W=Zv(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 195:case 136:case 129:case 112:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 198:case 196:case 135:case 128:case 113:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 115:{W=(c[$>>2]|0)+-32+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];break}case 116:{c[(c[$>>2]|0)+-16+4>>2]=0;c[(c[$>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[$>>2]|0)+-48+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 144:case 118:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 121:{W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;_v(c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 122:{W=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-16+4>>2]=W;_v(c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 123:{c[(c[$>>2]|0)+4>>2]=0;break}case 124:{c[(c[$>>2]|0)+4>>2]=1;break}case 125:{c[(c[$>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[$>>2]|0)+16+4>>2]=0;c[(c[$>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];c[(c[$>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[$>>2]|0)+-48+4>>2]=c[(c[$>>2]|0)+-32+4>>2];c[(c[$>>2]|0)+-48+4+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 133:{c[(c[$>>2]|0)+-48+4+4>>2]=c[(c[$>>2]|0)+-32+4>>2];c[(c[$>>2]|0)+-48+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 134:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0,1);Wv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+-16+4|0);aw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 137:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,1);Wv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,(c[$>>2]|0)+-48+4|0);bw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,27781);cw(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0);break}case 138:{V=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;Sv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,(c[$>>2]|0)+-32+4|0,1);break}case 139:{c[T>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+4>>2]|0)|0;Sv(c[W>>2]|0,c[T>>2]|0,(c[$>>2]|0)+-32+4|0,1);c[(c[$>>2]|0)+-32+4>>2]=c[T>>2];break}case 140:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0,1);dw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 141:{$v(c[W>>2]|0,c[(c[$>>2]|0)+-96+4>>2]|0,1);dw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]|0);break}case 145:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 146:{W=ew(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+4|0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 147:{W=ew(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+4|0)|0;c[(c[$>>2]|0)+4>>2]=W;break}case 148:{fw((c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 155:case 154:case 149:{U=(c[$>>2]|0)+4|0;V=c[W>>2]|0;W=d[(c[$>>2]|0)+2>>0]|0;g=(c[$>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Dv(U,V,W,h);break}case 151:case 150:{V=(c[$>>2]|0)+4|0;W=c[W>>2]|0;U=(c[$>>2]|0)+4|0;c[h>>2]=c[U>>2];c[h+4>>2]=c[U+4>>2];Dv(V,W,55,h);break}case 152:{c[F>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-32+4|0)|0;c[H>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+4|0)|0;fw((c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,122,c[F>>2]|0,c[H>>2]|0,0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 153:{c[G>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-64+4|0)|0;c[I>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+-32+4|0)|0;c[J>>2]=Cv(c[W>>2]|0,55,0,0,(c[$>>2]|0)+4|0)|0;c[K>>2]=Cv(c[W>>2]|0,122,c[I>>2]|0,c[J>>2]|0,0)|0;fw((c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,122,c[G>>2]|0,c[K>>2]|0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 156:{if((a[c[(c[$>>2]|0)+4>>2]>>0]|0)==35?(d[19019+(d[(c[(c[$>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=(c[$>>2]|0)+4|0;c[U>>2]=c[h>>2];c[U+4>>2]=c[h+4>>2];fw((c[$>>2]|0)+4|0,U,U);h=c[W>>2]|0;if(!(d[(c[W>>2]|0)+18>>0]|0)){c[V>>2]=U;Ch(h,27078,V);c[(c[$>>2]|0)+4>>2]=0;break a}W=Cv(h,157,0,0,U)|0;c[(c[$>>2]|0)+4>>2]=W;if(!(c[(c[$>>2]|0)+4>>2]|0))break a;Oi((c[U>>2]|0)+1|0,(c[(c[$>>2]|0)+4>>2]|0)+28|0)|0;break a}U=(c[$>>2]|0)+4|0;V=c[W>>2]|0;g=(c[$>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Dv(U,V,135,h);gw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 157:{W=hw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+4|0,1)|0;c[(c[$>>2]|0)+-32+4>>2]=W;c[(c[$>>2]|0)+-32+4+8>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);break}case 158:{fw((c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,66,c[(c[$>>2]|0)+-48+4>>2]|0,0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-80+4>>2]=W;break}case 159:{if((c[(c[$>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[W>>2]>>2]|0)+92+24>>2]|0):0){V=c[W>>2]|0;c[Q>>2]=(c[$>>2]|0)+-64+4;Ch(V,27790,Q)}c[T>>2]=iw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,(c[$>>2]|0)+-64+4|0)|0;fw(T,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+4|0);if((c[(c[$>>2]|0)+-32+4>>2]|0)==1?(c[T>>2]|0)!=0:0){W=(c[T>>2]|0)+4|0;c[W>>2]=c[W>>2]|16}W=(c[$>>2]|0)+-64+4|0;c[W>>2]=c[T>>2];c[W+4>>2]=c[T+4>>2];c[W+8>>2]=c[T+8>>2];break}case 160:{c[T>>2]=iw(c[W>>2]|0,0,(c[$>>2]|0)+-48+4|0)|0;fw(T,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);W=(c[$>>2]|0)+-48+4|0;c[W>>2]=c[T>>2];c[W+4>>2]=c[T+4>>2];c[W+8>>2]=c[T+8>>2];break}case 161:{c[T>>2]=iw(c[W>>2]|0,0,(c[$>>2]|0)+4|0)|0;fw(T,(c[$>>2]|0)+4|0,(c[$>>2]|0)+4|0);W=(c[$>>2]|0)+4|0;c[W>>2]=c[T>>2];c[W+4>>2]=c[T+4>>2];c[W+8>>2]=c[T+8>>2];break}case 169:case 168:case 167:case 166:case 165:case 164:case 163:case 162:{jw(c[W>>2]|0,d[(c[$>>2]|0)+-16+2>>0]|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);break}case 170:{W=(c[$>>2]|0)+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[(c[$>>2]|0)+4+8>>2]=0;break}case 171:{W=(c[$>>2]|0)+-16+4|0;V=(c[$>>2]|0)+4|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[(c[$>>2]|0)+-16+4+8>>2]=1;break}case 172:{c[t>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+4>>2]|0)|0;c[t>>2]=Rv(c[W>>2]|0,c[t>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;V=iw(c[W>>2]|0,c[t>>2]|0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-32+4>>2]=V;kw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4+8>>2]|0,(c[$>>2]|0)+-32+4|0);c[(c[$>>2]|0)+-32+4+8>>2]=c[(c[$>>2]|0)+4+8>>2];if(c[(c[$>>2]|0)+-32+4>>2]|0){W=(c[(c[$>>2]|0)+-32+4>>2]|0)+4|0;c[W>>2]=c[W>>2]|128}break}case 173:{c[u>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[u>>2]=Rv(c[W>>2]|0,c[u>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0)|0;c[u>>2]=Rv(c[W>>2]|0,c[u>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;V=iw(c[W>>2]|0,c[u>>2]|0,(c[$>>2]|0)+-48+4|0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4+8>>2]|0,(c[$>>2]|0)+-64+4|0);c[(c[$>>2]|0)+-64+4+8>>2]=c[(c[$>>2]|0)+4+8>>2];if(c[(c[$>>2]|0)+-64+4>>2]|0){W=(c[(c[$>>2]|0)+-64+4>>2]|0)+4|0;c[W>>2]=c[W>>2]|128}break}case 174:{lw(c[W>>2]|0,d[(c[$>>2]|0)+2>>0]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 175:{lw(c[W>>2]|0,35,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);break}case 176:{jw(c[W>>2]|0,29,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);mw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,34);break}case 177:{jw(c[W>>2]|0,148,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);mw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,35);break}case 179:case 178:{nw((c[$>>2]|0)+-16+4|0,c[W>>2]|0,d[(c[$>>2]|0)+-16+2>>0]|0,(c[$>>2]|0)+4|0,(c[$>>2]|0)+-16+4|0);break}case 180:{nw((c[$>>2]|0)+-16+4|0,c[W>>2]|0,155,(c[$>>2]|0)+4|0,(c[$>>2]|0)+-16+4|0);break}case 181:{nw((c[$>>2]|0)+-16+4|0,c[W>>2]|0,156,(c[$>>2]|0)+4|0,(c[$>>2]|0)+-16+4|0);break}case 185:case 182:{c[(c[$>>2]|0)+4>>2]=0;break}case 184:{c[v>>2]=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[v>>2]=Rv(c[W>>2]|0,c[v>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;V=Cv(c[W>>2]|0,32,c[(c[$>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;if(c[(c[$>>2]|0)+-64+4>>2]|0)c[(c[(c[$>>2]|0)+-64+4>>2]|0)+20>>2]=c[v>>2];else cv(c[c[W>>2]>>2]|0,c[v>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+-64+4|0);c[(c[$>>2]|0)+-64+4+8>>2]=c[(c[$>>2]|0)+4+8>>2];break}case 187:{do if(!(c[(c[$>>2]|0)+-16+4>>2]|0)){gv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);W=Cv(c[W>>2]|0,132,0,0,5116+(c[(c[$>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W}else{if((c[c[(c[$>>2]|0)+-16+4>>2]>>2]|0)==1){c[y>>2]=c[c[(c[(c[$>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[$>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;cv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);if(c[y>>2]|0){V=(c[y>>2]|0)+4|0;c[V>>2]=c[V>>2]&-257;V=(c[y>>2]|0)+4|0;c[V>>2]=c[V>>2]|512}W=Cv(c[W>>2]|0,(c[(c[$>>2]|0)+-48+4>>2]|0)!=0?36:37,c[(c[$>>2]|0)+-64+4>>2]|0,c[y>>2]|0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}V=Cv(c[W>>2]|0,33,c[(c[$>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;if(c[(c[$>>2]|0)+-64+4>>2]|0){c[(c[(c[$>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[$>>2]|0)+-16+4>>2];ow(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0)}else cv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+-64+4|0)}while(0);c[(c[$>>2]|0)+-64+4+8>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);break}case 188:{fw((c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0);V=Cv(c[W>>2]|0,119,0,0,0)|0;c[(c[$>>2]|0)+-32+4>>2]=V;pw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 189:{V=Cv(c[W>>2]|0,33,c[(c[$>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;pw(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+-64+4|0);c[(c[$>>2]|0)+-64+4+8>>2]=(c[(c[$>>2]|0)+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);break}case 190:{c[D>>2]=Yv(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0)|0;c[C>>2]=Qv(c[W>>2]|0,0,c[D>>2]|0,0,0,0,0,0,0,0)|0;h=Cv(c[W>>2]|0,33,c[(c[$>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=h;pw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[C>>2]|0);kw(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,(c[$>>2]|0)+-48+4|0);h=c[$>>2]|0;if(c[(c[$>>2]|0)+4>>2]|0)h=(c[(c[$>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[$>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4+8>>2]=h;break}case 191:{fw((c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);V=Cv(c[W>>2]|0,20,0,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=V;c[n>>2]=V;pw(c[W>>2]|0,c[n>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 192:{fw((c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+4|0);V=Cv(c[W>>2]|0,136,c[(c[$>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;if(!(c[(c[$>>2]|0)+-64+4>>2]|0)){cv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0);gv(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break a}if(c[(c[$>>2]|0)+-16+4>>2]|0)h=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[$>>2]|0)+-32+4>>2]|0;c[(c[(c[$>>2]|0)+-64+4>>2]|0)+20>>2]=h;ow(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 193:{V=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=V;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 194:{V=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+-32+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=V;W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;break}case 197:{c[(c[$>>2]|0)+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 200:{W=Rv(c[W>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 201:{W=Rv(c[W>>2]|0,0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+4>>2]=W;break}case 202:{Gv(c[W>>2]|0,(c[$>>2]|0)+-112+4|0,(c[$>>2]|0)+-96+4|0,Yv(c[c[W>>2]>>2]|0,0,(c[$>>2]|0)+-64+4|0,0)|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+-160+4>>2]|0,(c[$>>2]|0)+-176+4|0,c[(c[$>>2]|0)+4>>2]|0,0,c[(c[$>>2]|0)+-128+4>>2]|0)|0;break}case 244:case 203:{c[(c[$>>2]|0)+4>>2]=2;break}case 204:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 206:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 207:{W=qw(c[W>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 208:{W=qw(c[W>>2]|0,0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-32+4>>2]=W;break}case 211:{rw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 213:case 212:{sw(c[W>>2]|0);break}case 214:{tw(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0,0,0);break}case 215:{tw(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0,0);break}case 216:{tw(c[W>>2]|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-16+4|0,0);break}case 217:{tw(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0,1);break}case 218:{tw(c[W>>2]|0,(c[$>>2]|0)+-64+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-16+4|0,1);break}case 221:{c[j>>2]=c[(c[$>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[$>>2]|0)+4>>2]|0)-(c[(c[$>>2]|0)+-48+4>>2]|0)+(c[(c[$>>2]|0)+4+4>>2]|0);uw(c[W>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,j);break}case 222:{vw(c[W>>2]|0,(c[$>>2]|0)+-112+4|0,(c[$>>2]|0)+-96+4|0,c[(c[$>>2]|0)+-80+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-64+4+4>>2]|0,c[(c[$>>2]|0)+-32+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-160+4>>2]|0,c[(c[$>>2]|0)+-128+4>>2]|0);h=(c[$>>2]|0)+-160+4|0;j=c[$>>2]|0;if(!(c[(c[$>>2]|0)+-96+4+4>>2]|0)){W=j+-112+4|0;c[h>>2]=c[W>>2];c[h+4>>2]=c[W+4>>2];break a}else{W=j+-96+4|0;c[h>>2]=c[W>>2];c[h+4>>2]=c[W+4>>2];break a}}case 223:{c[(c[$>>2]|0)+4>>2]=63;break}case 224:{c[(c[$>>2]|0)+4>>2]=59;break}case 225:{c[(c[$>>2]|0)+-16+4>>2]=77;break}case 226:{c[(c[$>>2]|0)+16+4>>2]=63;break}case 228:case 227:{c[(c[$>>2]|0)+4>>2]=d[(c[$>>2]|0)+2>>0];c[(c[$>>2]|0)+4+4>>2]=0;break}case 229:{c[(c[$>>2]|0)+-32+4>>2]=110;c[(c[$>>2]|0)+-32+4+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 249:case 230:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 250:case 231:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 232:{c[(c[(c[(c[$>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[$>>2]|0)+-16+4>>2];c[(c[(c[$>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 233:{c[(c[(c[$>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[$>>2]|0)+-16+4>>2];break}case 234:{V=(c[$>>2]|0)+-32+4|0;U=(c[$>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];Ch(c[W>>2]|0,27824,R);break}case 235:{Ch(c[W>>2]|0,27919,O);break}case 236:{Ch(c[W>>2]|0,28003,P);break}case 237:{W=ww(c[c[W>>2]>>2]|0,(c[$>>2]|0)+-64+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-80+4>>2]&255)|0;c[(c[$>>2]|0)+-96+4>>2]=W;break}case 238:{W=xw(c[c[W>>2]>>2]|0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-64+4>>2]&255)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 239:{W=yw(c[c[W>>2]>>2]|0,(c[$>>2]|0)+-32+4|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+-64+4>>2]=W;break}case 240:{W=zw(c[c[W>>2]>>2]|0,c[(c[$>>2]|0)+4>>2]|0)|0;c[(c[$>>2]|0)+4>>2]=W;break}case 241:{fw((c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,83,0,0,0)|0;c[(c[$>>2]|0)+-48+4>>2]=W;if(c[(c[$>>2]|0)+-48+4>>2]|0)a[(c[(c[$>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 242:{fw((c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+-80+4|0,(c[$>>2]|0)+4|0);W=Cv(c[W>>2]|0,83,0,0,(c[$>>2]|0)+-16+4|0)|0;c[(c[$>>2]|0)+-80+4>>2]=W;if(c[(c[$>>2]|0)+-80+4>>2]|0)a[(c[(c[$>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[$>>2]|0)+-48+4>>2];break}case 243:{c[(c[$>>2]|0)+4>>2]=1;break}case 245:{c[(c[$>>2]|0)+4>>2]=3;break}case 246:{Aw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0);break}case 247:{Bw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 248:{Cw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 251:{Dw(c[W>>2]|0,0,0);break}case 252:{Dw(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 253:{Ew(c[W>>2]|0,0,0);break}case 254:{Ew(c[W>>2]|0,(c[$>>2]|0)+-16+4|0,(c[$>>2]|0)+4|0);break}case 255:{Fw(c[W>>2]|0,c[(c[$>>2]|0)+-48+4>>2]|0,(c[$>>2]|0)+4|0);break}case 256:{c[(c[$>>2]|0)+-16+4+4>>2]=(c[(c[W>>2]|0)+508>>2]|0)-(c[(c[$>>2]|0)+-16+4>>2]|0)+(c[(c[W>>2]|0)+508+4>>2]|0);Gw(c[W>>2]|0,(c[$>>2]|0)+-16+4|0);break}case 257:{yv(c[W>>2]|0);Hw(c[W>>2]|0,c[(c[$>>2]|0)+4>>2]|0);break}case 258:{Iw(c[W>>2]|0,0);break}case 259:{Iw(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 260:{Jw(c[W>>2]|0,(c[$>>2]|0)+-48+4|0,(c[$>>2]|0)+-32+4|0,(c[$>>2]|0)+4|0,c[(c[$>>2]|0)+-64+4>>2]|0);break}case 261:{Kw(c[W>>2]|0);break}case 264:case 263:case 262:{Lw(c[W>>2]|0,(c[$>>2]|0)+4|0);break}case 265:{c[(c[$>>2]|0)+16+4>>2]=0;break}case 266:{c[(c[$>>2]|0)+-16+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 267:{c[(c[$>>2]|0)+-32+4>>2]=c[(c[$>>2]|0)+4>>2];break}case 268:{W=Mw(c[W>>2]|0,0,(c[$>>2]|0)+-80+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-80+4>>2]=W;break}case 269:{W=Mw(c[W>>2]|0,c[(c[$>>2]|0)+-112+4>>2]|0,(c[$>>2]|0)+-80+4|0,c[(c[$>>2]|0)+-64+4>>2]|0,c[(c[$>>2]|0)+-16+4>>2]|0)|0;c[(c[$>>2]|0)+-112+4>>2]=W;break}default:{}}while(0);c[_>>2]=d[27102+(c[Y>>2]<<1)>>0];c[aa>>2]=d[27102+(c[Y>>2]<<1)+1>>0];c[Z>>2]=Nw(e[(c[$>>2]|0)+(0-(c[aa>>2]|0)<<4)>>1]|0,c[_>>2]&255)|0;if((c[Z>>2]|0)>974){$=c[X>>2]|0;c[$>>2]=(c[$>>2]|0)-(c[aa>>2]|0);Ow(c[X>>2]|0);i=ba;return}if((c[Z>>2]|0)>439)c[Z>>2]=(c[Z>>2]|0)+326;Y=c[X>>2]|0;c[Y>>2]=(c[Y>>2]|0)-((c[aa>>2]|0)-1);c[$>>2]=(c[$>>2]|0)+(0-((c[aa>>2]|0)-1)<<4);b[c[$>>2]>>1]=c[Z>>2];a[(c[$>>2]|0)+2>>0]=c[_>>2];i=ba;return}function qv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Ch(a,27078,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function rv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[b>>2]>>2]|0)<0)break;kv(c[b>>2]|0)}Ch(c[d>>2]|0,38156,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function sv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;k=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+68>>2]|0)==0:0){c[k>>2]=$w(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((zA(c[k>>2]|0,109)|0)!=0);jx(c[k>>2]|0,73)|0;if(!(d[(c[f>>2]|0)+69>>0]|0)){if((c[(c[e>>2]|0)+340>>2]|0)==0?(c[(c[e>>2]|0)+324>>2]|0)==0:0)break;Sz(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Jh(c[k>>2]|0,c[h>>2]|0),Gh(c[k>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+336>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+344+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+144+5>>0]|0)==0):0)Hh(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+456>>2]|0))break;c[l>>2]=Nx(c[f>>2]|0,c[(c[(c[e>>2]|0)+524>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;ex(c[k>>2]|0,150,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+456>>2]=0;sH(c[e>>2]|0);tH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+324>>2]|0){c[j>>2]=c[(c[e>>2]|0)+324>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;KA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Rz(c[k>>2]|0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+412>>2]|0)!=0?(c[(c[e>>2]|0)+72>>2]|0)==0:0)c[(c[e>>2]|0)+72>>2]=1;Lh(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}if(c[(c[e>>2]|0)+12>>2]|0){i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}function tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Yw(c[d>>2]|0,22,38086,0,0)|0){i=j;return}c[h>>2]=$w(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;bx(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Jh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);jx(c[h>>2]|0,1)|0;i=j;return}function uv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Yw(c[b>>2]|0,22,38109,0,0)|0){i=e;return}c[d>>2]=$w(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Kz(c[d>>2]|0,1,1)|0;i=e;return}function vv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Yw(c[b>>2]|0,22,38100,0,0)|0){i=e;return}c[d>>2]=$w(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}bx(c[d>>2]|0,1,1,1)|0;i=e;return}function wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Pw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=$w(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Yw(c[e>>2]|0,32,c[6352+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){ex(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function xv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+144+5>>0]|0)!=0?(c[(c[A>>2]|0)+144>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+144+4>>0];c[H>>2]=ph(c[A>>2]|0,(c[I>>2]|0)==1?20521:20540)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=Gz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Ch(c[w>>2]|0,37976,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Pw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+500|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Lx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+144+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Yw(c[w>>2]|0,18,(c[o>>2]|0)==1?20521:20540,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(Yw(c[w>>2]|0,d[38017+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+454>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(Cz(c[w>>2]|0)|0)break a;c[r>>2]=ri(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Ij(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Ch(I,38045,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){ox(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Ch(m,38021,G);break a}}while(0);c[r>>2]=rh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+68|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+488>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(OQ(c[H>>2]|0,29421)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+144+5>>0]|0){i=J;return}H=$w(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}nx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)jx(c[F>>2]|0,150)|0;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+392>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+76|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+396>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;fx(c[F>>2]|0,99,c[I>>2]|0,c[E>>2]|0,2)|0;Jh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Kz(c[F>>2]|0,21,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;fx(c[F>>2]|0,100,c[I>>2]|0,2,c[q>>2]|0)|0;fx(c[F>>2]|0,100,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Sz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)bx(m,74,0,c[D>>2]|0)|0;else{H=bx(m,132,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+424>>2]=H}rH(c[w>>2]|0,c[I>>2]|0);bx(c[F>>2]|0,112,0,c[C>>2]|0)|0;ex(c[F>>2]|0,79,6,c[E>>2]|0,0,38080,-2)|0;fx(c[F>>2]|0,113,0,c[E>>2]|0,c[C>>2]|0)|0;Hh(c[F>>2]|0,8);jx(c[F>>2]|0,109)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function yv(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function zv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+192|0;l=R+188|0;m=R+184|0;n=R+196|0;o=R+180|0;w=R+176|0;r=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+488>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+144+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+144>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Ch(c[k>>2]|0,37655,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Ch(H,37705,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;lH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Dh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)eH(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);mH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;hH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){c[G>>2]=$w(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Kz(c[G>>2]|0,109,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=33514;c[Q>>2]=37737}else{c[P>>2]=36615;c[Q>>2]=37743}do if(c[o>>2]|0){H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+76|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Ox(c[k>>2]|0);fx(c[G>>2]|0,103,1,c[(c[k>>2]|0)+396>>2]|0,c[t>>2]|0)|0;Hh(c[G>>2]|0,16);c[(c[k>>2]|0)+72>>2]=2;c[q>>2]=(Oz(c[G>>2]|0)|0)+1;fx(c[G>>2]|0,15,c[F>>2]|0,0,c[q>>2]|0)|0;kB(s,13,c[F>>2]|0);Nv(c[k>>2]|0,c[o>>2]|0,s)|0;KC(c[G>>2]|0,c[F>>2]|0);Sz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+68>>2]|0){i=R;return}c[C>>2]=Vx(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Kz(c[G>>2]|0,16,c[s+4>>2]|0)|0;fx(c[G>>2]|0,96,c[s+8>>2]|0,c[s+12>>2]|0,c[D>>2]|0)|0;NC(c[G>>2]|0,c[w>>2]|0,0);bx(c[G>>2]|0,112,1,c[E>>2]|0)|0;fx(c[G>>2]|0,113,1,c[D>>2]|0,c[E>>2]|0)|0;Rz(c[G>>2]|0,c[p>>2]|0)|0;Sz(c[G>>2]|0,c[p>>2]|0);Kz(c[G>>2]|0,109,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=nH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+508|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+500>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+500>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Eh(J,37748,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?20521:20540;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+396>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+392>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;_w(Q,37763,M);Tf(c[r>>2]|0,c[O>>2]|0);ax(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];_w(Q,37850,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];cx(O,P,Eh(Q,37892,K)|0)}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Sj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){lh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+488>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+500>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Px(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function Av(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+488>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+92+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Ch(u,37606,q);i=v;return}c[s>>2]=Ah(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}yR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Vw(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Ch(u,37629,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Qw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;yR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Vw(c[t>>2]|0);u=wx(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+328+4>>2]=0;i=v;return}function Bv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;gv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(kH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+144+5>>0]|0)|0){gv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-97;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Uw(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=Ay(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;gv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Ch(m,37561,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;gv(l,m);i=n;return}}function Cv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==28?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[m>>2]=nz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=pz(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;qz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Ry(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function Dv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;b=Cv(c[j>>2]|0,c[h>>2]|0,0,0,e)|0;c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+4>>2]=c[e>>2];c[(c[g>>2]|0)+8>>2]=(c[e>>2]|0)+(c[e+4>>2]|0);i=f;return}function Ev(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Fv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;q=z+40|0;p=z+36|0;m=z+32|0;l=z+28|0;n=z+24|0;o=z+20|0;r=z+16|0;x=z+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+488>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}if(d[(c[s>>2]|0)+454>>0]|0){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}if(d[(c[q>>2]|0)+42>>0]&4){x=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Ch(x,37464,k);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=dy(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;fH(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==55){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(ti(c[p>>2]|0,19018)|0,19375)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];y=(c[q>>2]|0)+42|0;a[y>>0]=d[y>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}a[(c[s>>2]|0)+452>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}h=c[s>>2]|0;if(c[v>>2]|0){Ch(h,37505,y);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}c[x>>2]=Gv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0)|0;if(c[x>>2]|0){y=(c[x>>2]|0)+55|0;a[y>>0]=a[y>>0]&-4|2}c[t>>2]=0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;cv(x,y);i=z;return}function Gv(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=i;i=i+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;q=ya+332|0;r=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;c[F>>2]=f;c[q>>2]=g;c[r>>2]=h;c[ra>>2]=j;c[sa>>2]=k;c[la>>2]=l;c[G>>2]=m;c[ta>>2]=n;c[s>>2]=o;c[H>>2]=p;c[wa>>2]=0;c[oa>>2]=0;c[va>>2]=0;c[xa>>2]=0;c[ua>>2]=c[c[F>>2]>>2];c[W>>2]=0;c[O>>2]=0;c[ja>>2]=0;c[X>>2]=0;a:do if((((d[(c[ua>>2]|0)+69>>0]|0)==0?(d[(c[F>>2]|0)+454>>0]|0)==0:0)?(c[(c[F>>2]|0)+68>>2]|0)<=0:0)?0==(Cz(c[F>>2]|0)|0):0){p=c[F>>2]|0;if(c[ra>>2]|0){c[ma>>2]=Gz(p,c[q>>2]|0,c[r>>2]|0,W)|0;if((c[ma>>2]|0)<0)break;if(((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(c[oa>>2]=QB(c[F>>2]|0,c[ra>>2]|0)|0,(c[oa>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[ma>>2]=1;RB(x,c[F>>2]|0,c[ma>>2]|0,33679,c[W>>2]|0);SB(x,c[ra>>2]|0)|0;c[oa>>2]=lx(c[F>>2]|0,0,(c[ra>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[ma>>2]|0)==1?(c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){qa=c[F>>2]|0;c[y>>2]=c[c[oa>>2]>>2];Ch(qa,37030,y);break}if(d[(c[oa>>2]|0)+42>>0]&32)c[X>>2]=Hj(c[oa>>2]|0)|0}else{c[oa>>2]=c[p+488>>2];if(!(c[oa>>2]|0))break;c[ma>>2]=Dh(c[ua>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[T>>2]=(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);if(((zd(c[c[oa>>2]>>2]|0,28448,7)|0)==0?(d[(c[ua>>2]|0)+144+5>>0]|0)==0:0)?(zd((c[c[oa>>2]>>2]|0)+7|0,37080,9)|0)!=0:0){qa=c[F>>2]|0;c[C>>2]=c[c[oa>>2]>>2];Ch(qa,37090,C);break}if(c[(c[oa>>2]|0)+12>>2]|0){Ch(c[F>>2]|0,37118,D);break}if(d[(c[oa>>2]|0)+42>>0]&16){Ch(c[F>>2]|0,37143,z);break}if(c[W>>2]|0){c[xa>>2]=Pw(c[ua>>2]|0,c[W>>2]|0)|0;if(!(c[xa>>2]|0))break;if(Lx(c[F>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(ri(c[ua>>2]|0,c[xa>>2]|0,0)|0)!=0:0){qa=c[F>>2]|0;c[A>>2]=c[xa>>2];Ch(qa,37177,A);break}if(Ij(c[ua>>2]|0,c[xa>>2]|0,c[c[T>>2]>>2]|0)|0){p=c[F>>2]|0;if(c[H>>2]|0){ox(p,c[ma>>2]|0);break}else{c[$>>2]=c[xa>>2];Ch(p,37211,$);break}}}else{c[v>>2]=c[(c[oa>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}$=c[ua>>2]|0;H=c[t>>2]|0;c[B>>2]=c[c[oa>>2]>>2];c[B+4>>2]=H;c[xa>>2]=Eh($,37235,B)|0;if(!(c[xa>>2]|0))break}c[E>>2]=c[c[T>>2]>>2];if((Yw(c[F>>2]|0,18,(c[ma>>2]|0)==1?20521:20540,0,c[E>>2]|0)|0)==0?(c[I>>2]=1,c[I>>2]=(c[ma>>2]|0)==1?3:1,(Yw(c[F>>2]|0,c[I>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[E>>2]|0)|0)==0):0){if(!(c[sa>>2]|0)){Py(w,c[(c[(c[oa>>2]|0)+4>>2]|0)+((b[(c[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);$=c[F>>2]|0;c[sa>>2]=Rv($,0,pz(c[ua>>2]|0,55,w,0)|0)|0;if(!(c[sa>>2]|0))break;_v(c[sa>>2]|0,c[s>>2]|0)}else bw(c[F>>2]|0,c[sa>>2]|0,33679);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;c[u>>2]=c[(c[(c[sa>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2];if((d[c[u>>2]>>0]|0)==53){$=1+(Jf(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[O>>2]=(c[O>>2]|0)+$}c[I>>2]=(c[I>>2]|0)+1}c[Q>>2]=Jf(c[xa>>2]|0)|0;if(c[X>>2]|0)p=e[(c[X>>2]|0)+50>>1]|0;else p=1;c[P>>2]=p;c[va>>2]=UD(c[ua>>2]|0,(c[c[sa>>2]>>2]|0)+(c[P>>2]|0)&65535,(c[Q>>2]|0)+(c[O>>2]|0)+1|0,ja)|0;if(!(a[(c[ua>>2]|0)+69>>0]|0)){c[c[va>>2]>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+((c[Q>>2]|0)+1);yR(c[c[va>>2]>>2]|0,c[xa>>2]|0,(c[Q>>2]|0)+1|0)|0;c[(c[va>>2]|0)+12>>2]=c[oa>>2];a[(c[va>>2]|0)+54>>0]=c[la>>2];$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9|((c[la>>2]|0)!=0&1)<<3&255;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-4|((c[W>>2]|0)!=0?0:1)&3;c[(c[va>>2]|0)+24>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2];b[(c[va>>2]|0)+50>>1]=c[c[sa>>2]>>2];if(c[ta>>2]|0){eH(c[F>>2]|0,c[oa>>2]|0,2,c[ta>>2]|0,0);c[(c[va>>2]|0)+36>>2]=c[ta>>2];c[ta>>2]=0}if((d[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Z>>2]=-1;else c[Z>>2]=0;c[I>>2]=0;c[V>>2]=c[(c[sa>>2]|0)+4>>2];while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;fH(c[c[V>>2]>>2]|0);eH(c[F>>2]|0,c[oa>>2]|0,32,c[c[V>>2]>>2]|0,0);if(c[(c[F>>2]|0)+68>>2]|0)break a;c[R>>2]=dy(c[c[V>>2]>>2]|0)|0;if((d[c[R>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(c[(c[va>>2]|0)+40>>2]|0)){c[S>>2]=Iy(c[ua>>2]|0,c[sa>>2]|0,0)|0;c[(c[va>>2]|0)+40>>2]=c[S>>2];if(a[(c[ua>>2]|0)+69>>0]|0)break;c[V>>2]=(c[(c[S>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)}while(0);c[K>>2]=-2;b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-2;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}else{c[K>>2]=b[(c[R>>2]|0)+32>>1];do if((c[K>>2]|0)<0)c[K>>2]=b[(c[oa>>2]|0)+32>>1];else{if(d[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+12>>0]|0)break;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}while(0);b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[K>>2]}c[ia>>2]=0;do if((d[c[c[V>>2]>>2]>>0]|0)==53){c[ia>>2]=c[(c[c[V>>2]>>2]|0)+8>>2];c[N>>2]=(Jf(c[ia>>2]|0)|0)+1;yR(c[ja>>2]|0,c[ia>>2]|0,c[N>>2]|0)|0;c[ia>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+(c[N>>2]|0);c[O>>2]=(c[O>>2]|0)-(c[N>>2]|0)}else{if((c[K>>2]|0)<0)break;c[ia>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+8>>2]}while(0);if(!(c[ia>>2]|0))c[ia>>2]=35351;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(Qz(c[F>>2]|0,c[ia>>2]|0)|0)==0:0)break a;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[ia>>2];c[Y>>2]=d[(c[V>>2]|0)+12>>0]&c[Z>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=c[Y>>2];c[I>>2]=(c[I>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+20}if((qa|0)==65){Ch(c[F>>2]|0,37258,aa);break}b:do if(c[X>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[X>>2]|0)+50>>1]|0))break b;c[fa>>2]=b[(c[(c[X>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1];if(gH(c[(c[va>>2]|0)+4>>2]|0,e[(c[va>>2]|0)+50>>1]|0,c[fa>>2]|0)|0){ja=(c[va>>2]|0)+52|0;b[ja>>1]=(b[ja>>1]|0)+-1<<16>>16}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[fa>>2];c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[(c[X>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=a[(c[(c[X>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]|0;c[I>>2]=(c[I>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-1;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=35351}while(0);Gj(c[va>>2]|0);if(!(c[(c[F>>2]|0)+488>>2]|0))hH(c[va>>2]|0);c:do if(c[ra>>2]|0){if((e[(c[va>>2]|0)+52>>1]|0)<(b[(c[oa>>2]|0)+34>>1]|0))break;ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33|32;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[oa>>2]|0)+34>>1]|0))break c;if((c[K>>2]|0)!=(b[(c[oa>>2]|0)+32>>1]|0)?((HA(c[va>>2]|0,c[K>>2]&65535)|0)<<16>>16|0)<0:0)break;c[K>>2]=(c[K>>2]|0)+1}ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33}while(0);d:do if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){c[U>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break d;if((e[(c[U>>2]|0)+50>>1]|0)==(e[(c[va>>2]|0)+50>>1]|0)){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;if((b[(c[(c[U>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)!=(b[(c[(c[va>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0))break;c[ga>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];c[ha>>2]=c[(c[(c[va>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];if(ig(c[ga>>2]|0,c[ha>>2]|0)|0)break;c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(e[(c[U>>2]|0)+50>>1]|0))break}c[U>>2]=c[(c[U>>2]|0)+20>>2]}do if((d[(c[U>>2]|0)+54>>0]|0)!=(d[(c[va>>2]|0)+54>>0]|0)){do if((d[(c[U>>2]|0)+54>>0]|0)!=10){if((d[(c[va>>2]|0)+54>>0]|0)==10)break;qa=c[F>>2]|0;c[ba>>2]=0;Ch(qa,37319,ba)}while(0);if((d[(c[U>>2]|0)+54>>0]|0)!=10)break;a[(c[U>>2]|0)+54>>0]=a[(c[va>>2]|0)+54>>0]|0}while(0);c[wa>>2]=c[U>>2];break a}while(0);do if(a[(c[ua>>2]|0)+144+5>>0]|0){c[na>>2]=Sj((c[(c[va>>2]|0)+24>>2]|0)+24|0,c[c[va>>2]>>2]|0,c[va>>2]|0)|0;p=c[ua>>2]|0;if(c[na>>2]|0){lh(p);break a}na=p+24|0;c[na>>2]=c[na>>2]|2;if(!(c[ra>>2]|0))break;c[(c[va>>2]|0)+44>>2]=c[(c[ua>>2]|0)+144>>2]}else{if(!((c[ra>>2]|0)!=0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[F>>2]|0)+76|0;na=(c[ja>>2]|0)+1|0;c[ja>>2]=na;c[J>>2]=na;c[_>>2]=$w(c[F>>2]|0)|0;if(!(c[_>>2]|0))break a;nx(c[F>>2]|0,1,c[ma>>2]|0);na=jx(c[_>>2]|0,159)|0;c[(c[va>>2]|0)+44>>2]=na;bx(c[_>>2]|0,131,c[ma>>2]|0,c[J>>2]|0)|0;if(c[G>>2]|0){c[M>>2]=(c[(c[F>>2]|0)+508>>2]|0)-(c[c[W>>2]>>2]|0)+(c[(c[F>>2]|0)+508+4>>2]|0);if((a[(c[c[W>>2]>>2]|0)+((c[M>>2]|0)-1)>>0]|0)==59)c[M>>2]=(c[M>>2]|0)+-1;na=c[ua>>2]|0;ia=c[M>>2]|0;ja=c[c[W>>2]>>2]|0;c[ca>>2]=(c[la>>2]|0)==0?19018:37361;c[ca+4>>2]=ia;c[ca+8>>2]=ja;c[ka>>2]=Eh(na,37369,ca)|0}else c[ka>>2]=0;na=c[F>>2]|0;fa=(c[ma>>2]|0)==1?20521:20540;ga=c[c[va>>2]>>2]|0;ha=c[c[oa>>2]>>2]|0;ia=c[J>>2]|0;ja=c[ka>>2]|0;c[da>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)>>2];c[da+4>>2]=fa;c[da+8>>2]=ga;c[da+12>>2]=ha;c[da+16>>2]=ia;c[da+20>>2]=ja;_w(na,37389,da);Tf(c[ua>>2]|0,c[ka>>2]|0);if(c[ra>>2]|0){fA(c[F>>2]|0,c[va>>2]|0,c[J>>2]|0);ax(c[F>>2]|0,c[ma>>2]|0);ka=c[_>>2]|0;ma=c[ma>>2]|0;na=c[ua>>2]|0;c[ea>>2]=c[c[va>>2]>>2];cx(ka,ma,Eh(na,37437,ea)|0);Kz(c[_>>2]|0,148,0)|0}Sz(c[_>>2]|0,c[(c[va>>2]|0)+44>>2]|0)}while(0);if(!((c[ra>>2]|0)==0?1:(d[(c[ua>>2]|0)+144+5>>0]|0)!=0))break;do if((c[la>>2]|0)!=5)qa=139;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){qa=139;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=139;break}c[pa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[pa>>2]|0)+20>>2]|0)l=(d[(c[(c[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else l=0;p=c[(c[pa>>2]|0)+20>>2]|0;if(!l)break;c[pa>>2]=p}c[(c[va>>2]|0)+20>>2]=p;c[(c[pa>>2]|0)+20>>2]=c[va>>2]}while(0);if((qa|0)==139){c[(c[va>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[va>>2]}c[wa>>2]=c[va>>2];c[va>>2]=0}}}while(0);if(!(c[va>>2]|0)){qa=c[ua>>2]|0;va=c[ta>>2]|0;gv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;cv(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;fv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}iH(c[ua>>2]|0,c[va>>2]|0);qa=c[ua>>2]|0;va=c[ta>>2]|0;gv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;cv(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;fv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}function Hv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+488>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+454>>0]|0)==0:0)?(Hi(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+144+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Rv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+328+4>>2]|0)){i=k;return}Sv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+328|0,1);i=k;return}gv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Iv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+488>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+454>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Ch(D,36827,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Ch(c[p>>2]|0,36890,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=rh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];yR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Vw(c[C>>2]|0);c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Ch(D,36984,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];yR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Sj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){lh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);cv(c[t>>2]|0,c[q>>2]|0);cv(c[t>>2]|0,c[r>>2]|0);i=E;return}function Jv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+488>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Kv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+488>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Pw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Qz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Lv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(Cz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=lx(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;MB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Dh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Mx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?20521:20540;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Yw(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Nx(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Yw(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Yw(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,28448,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36620,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Ch(w,36632,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Ch(w,36660,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Ch(w,36694,t);break}c[q>>2]=$w(c[h>>2]|0)|0;if(c[q>>2]|0){nx(c[h>>2]|0,1,c[o>>2]|0);CC(c[h>>2]|0,c[o>>2]|0,31454,c[c[p>>2]>>2]|0);$G(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);aH(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);fv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Mv(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+444>>1]|0)<=0){xv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+488>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(Gz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Dh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,RB(v,c[w>>2]|0,c[s>>2]|0,36615,c[u>>2]|0),(TB(v,c[y>>2]|0)|0)==0):0)?(v=Tx(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=Iy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+508|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[19019+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;zv(c[w>>2]|0,0,B,0,0)}}else Ch(l,36579,D);dv(c[z>>2]|0,c[y>>2]|0);cv(c[z>>2]|0,c[x>>2]|0);i=D;return}function Nv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+256|0;Y=Ca+252|0;da=Ca+248|0;o=Ca+244|0;r=Ca+240|0;m=Ca+236|0;t=Ca+232|0;p=Ca+228|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+468>>2];h=(c[O>>2]|0)+472|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+468>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+68>>2]|0)==0:0){if(Yw(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){cv(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}ey(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if(((c[(c[O>>2]|0)+68>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1,(hG(c[O>>2]|0,c[Q>>2]|0,c[c[c[P>>2]>>2]>>2]|0)|0)==0):0){c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=17;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(iG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==17){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Ch(Ba,36094,w);break}c[Ba>>2]=$w(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=jG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+468>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;bx(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=kG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))lG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=43;break}if(c[(c[P>>2]|0)+8>>2]&2){y=43;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=43;break}c[j>>2]=(Oz(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;fx(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];kB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Nv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+8>>2];KC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Sz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);mG(c[O>>2]|0)}else y=43;while(0);if((y|0)==43){y=0;c[n>>2]=0;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=bx(c[Ba>>2]|0,74,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=fB(c[O>>2]|0)|0;kB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Nv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Sz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Kz(c[Ba>>2]|0,70,c[(c[p>>2]|0)+28>>2]|0)|0;JD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);mG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=kG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(Dy(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=Iy(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=nG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+72|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=ex(c[Ba>>2]|0,105,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)bx(c[Ba>>2]|0,105,c[(c[Q>>2]|0)+4>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Pz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;oG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){pG(c[Ba>>2]|0,c[ya+20>>2]|0,106);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+72|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=ex(w,105,y,0,0,nG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Hh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?1024:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=cD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(qG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=qG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(rG(c[pa>>2]|0)|0))break;a[xa+1>>0]=rG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=sG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;CA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=tG(c[pa>>2]|0)|0;vG(ta,ua,va,-1,ya,xa,za,Aa,uG(c[pa>>2]|0)|0);dD(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(Dy(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Pz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];wG(M,c[ka>>2]|0);wG(M,c[ya>>2]|0);if(c[ma>>2]|0)xG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;wG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+76>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+72|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=nG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=ex(c[Ba>>2]|0,106,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Pz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Pz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);bx(c[Ba>>2]|0,74,0,c[aa>>2]|0)|0;bx(c[Ba>>2]|0,74,0,c[ea>>2]|0)|0;fx(c[Ba>>2]|0,77,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;bx(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=cD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(256|((c[ia>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=sG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;yG(c[O>>2]|0,g?36134:36143);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=xA(c[O>>2]|0,c[ga>>2]|0)|0;rC(c[O>>2]|0);TA(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);ID(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=hA(c[O>>2]|0)|0;fx(c[Ba>>2]|0,96,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;bx(c[Ba>>2]|0,123,c[wa+4>>2]|0,c[ua>>2]|0)|0;lA(c[O>>2]|0,c[ua>>2]|0);AA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);dD(c[pa>>2]|0);sa=(c[O>>2]|0)+72|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=hA(c[O>>2]|0)|0;fx(c[Ba>>2]|0,108,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;bx(c[Ba>>2]|0,42,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;rC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(zG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;CA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=Oz(c[Ba>>2]|0)|0;rC(c[O>>2]|0);if(c[Z>>2]|0)fx(c[Ba>>2]|0,118,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)fx(c[Ba>>2]|0,94,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;KA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;ex(sa,93,ua,za,Aa,gA(c[na>>2]|0)|0,-6)|0;c[R>>2]=Oz(c[Ba>>2]|0)|0;fx(c[Ba>>2]|0,18,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;AG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);bx(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;bx(c[Ba>>2]|0,64,c[aa>>2]|0,c[S>>2]|0)|0;bx(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Sz(c[Ba>>2]|0,c[R>>2]|0);BG(c[O>>2]|0,wa);bx(c[Ba>>2]|0,74,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)bx(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{dD(c[pa>>2]|0);CA(c[Ba>>2]|0,c[W>>2]|0)|0}bx(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Rz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=Oz(c[Ba>>2]|0)|0;bx(c[Ba>>2]|0,74,1,c[aa>>2]|0)|0;Kz(c[Ba>>2]|0,70,c[ta>>2]|0)|0;Tz(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=Oz(c[Ba>>2]|0)|0;bx(c[Ba>>2]|0,64,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Kz(c[Ba>>2]|0,70,c[ta>>2]|0)|0;CG(c[O>>2]|0,wa);YA(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);vG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Kz(c[Ba>>2]|0,70,c[ta>>2]|0)|0;Tz(c[Ba>>2]|0,c[U>>2]|0);DG(c[O>>2]|0,wa);Kz(c[Ba>>2]|0,70,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=EG(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Dh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+72|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];ox(c[O>>2]|0,c[D>>2]|0);Lz(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Hj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=aA(c[O>>2]|0,c[F>>2]|0)|0}Gh(c[Ba>>2]|0,102,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Kh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);bx(c[Ba>>2]|0,98,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Kz(c[Ba>>2]|0,109,c[C>>2]|0)|0;FG(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=GG(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=Iy(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);DG(c[O>>2]|0,wa);c[pa>>2]=cD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){cv(c[Y>>2]|0,c[G>>2]|0);break}BG(c[O>>2]|0,wa);if((sG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Rz(Aa,uG(c[pa>>2]|0)|0)|0}dD(c[pa>>2]|0);CG(c[O>>2]|0,wa)}c[ya>>2]=0;YA(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);vG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);cv(c[Y>>2]|0,c[G>>2]|0)}Tz(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)yG(c[O>>2]|0,36134);if(c[ya>>2]|0){yG(c[O>>2]|0,(c[ya+4>>2]|0)>0?36152:36175);HG(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}Tz(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+68>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+468>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)IG(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|256;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024){i=l;return}a=c[(c[c[d>>2]>>2]|0)+92+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Ch(c[d>>2]|0,36060,k);i=l;return}function Pv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?36015:36018;Ch(j,36024,v)}else w=4;if(((w|0)==4?(c[m>>2]=Yv(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Pw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}gv(c[t>>2]|0,c[r>>2]|0);iv(c[t>>2]|0,c[s>>2]|0);dv(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Qv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Rw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Rv(l,0,Uv(c[y>>2]|0,158,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=rh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}ev(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Rw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Rw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Qw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){gv(c[j>>2]|0,c[h>>2]|0);cv(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Uw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}Vw(c[(c[k>>2]|0)+4>>2]|0);i=l;return}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Uw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=pz(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Vv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Pw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Xv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{cv(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function Yv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Rw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=gG(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){fv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Pw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Pw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Zv(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35859+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35880+(d[35859+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35859+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Ch(c[g>>2]|0,35960,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35914;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Ch(t,35916,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function _v(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function $v(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+536>>2];c[(c[f>>2]|0)+536>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+540>>2]=c[g>>2];i=j;return}function aw(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;n=Y+144|0;O=Y+140|0;Q=Y+136|0;o=Y+132|0;M=Y+128|0;W=Y+120|0;r=Y+88|0;l=Y+84|0;S=Y+80|0;q=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;m=Y+52|0;p=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;j=Y+28|0;x=Y+24|0;R=Y+20|0;E=Y+16|0;s=Y+184|0;k=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;c[H>>2]=f;c[I>>2]=g;c[J>>2]=h;c[O>>2]=0;c[Q>>2]=0;c[S>>2]=-1;c[K>>2]=0;c[m>>2]=0;b[p>>1]=1;c[P>>2]=0;c[C>>2]=0;c[v>>2]=0;c[L>>2]=0;c[j>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[M>>2]=c[c[H>>2]>>2];a:do if(((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[M>>2]|0)+69>>0]|0)==0:0)?(c[V>>2]=QB(c[H>>2]|0,c[I>>2]|0)|0,(c[V>>2]|0)!=0):0){c[E>>2]=FC(c[H>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[E>>2]|0)f=1;else f=(RE(c[H>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[x>>2]=f&1;if(((Mx(c[H>>2]|0,c[V>>2]|0)|0)==0?(GC(c[H>>2]|0,c[V>>2]|0,(c[E>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Dh(c[M>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[t>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[q>>2]=Yw(c[H>>2]|0,9,c[c[V>>2]>>2]|0,0,c[t>>2]|0)|0,(c[q>>2]|0)!=1):0){h=(c[H>>2]|0)+72|0;t=c[h>>2]|0;c[h>>2]=t+1;c[(c[I>>2]|0)+8+44>>2]=t;c[n>>2]=t;c[o>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break;t=(c[H>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[R>>2]|0)bG(c[H>>2]|0,W,c[c[V>>2]>>2]|0);c[X>>2]=$w(c[H>>2]|0)|0;if(c[X>>2]|0){if(!(d[(c[H>>2]|0)+18>>0]|0))HC(c[X>>2]|0);nx(c[H>>2]|0,1,c[l>>2]|0);if(c[R>>2]|0){cG(c[H>>2]|0,c[V>>2]|0,c[J>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[Q>>2]=t;c[O>>2]=t};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[H>>2];c[r+4>>2]=c[I>>2];if(!(sy(r,c[J>>2]|0)|0)){if(c[(c[M>>2]|0)+24>>2]&128){h=(c[H>>2]|0)+76|0;t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[S>>2]=t;bx(c[X>>2]|0,74,0,c[S>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[J>>2]|0)==0^1|(c[x>>2]|0)!=0)?(d[(c[V>>2]|0)+42>>0]&16|0)==0:0){Lz(c[H>>2]|0,c[l>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))ex(c[X>>2]|0,129,c[(c[V>>2]|0)+28>>2]|0,c[l>>2]|0,c[S>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break b;bx(c[X>>2]|0,129,c[(c[T>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){b[s>>1]=-32756;if(e[r+28>>1]&64)c[x>>2]=1;b[s>>1]=e[s>>1]|((c[x>>2]|0)!=0?0:8192);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[U>>2]=0;b[p>>1]=1;t=(c[H>>2]|0)+76|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[C>>2]=u;bx(c[X>>2]|0,77,0,c[C>>2]|0)|0}else{c[U>>2]=Hj(c[V>>2]|0)|0;b[p>>1]=b[(c[U>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;t=(c[H>>2]|0)+76|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[H>>2]|0)+72|0;u=c[t>>2]|0;c[t>>2]=u+1;c[P>>2]=u;c[j>>2]=bx(c[X>>2]|0,105,c[P>>2]|0,b[p>>1]|0)|0;Nz(c[H>>2]|0,c[U>>2]|0)}c[G>>2]=cD(c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[G>>2]|0))break a;c[z>>2]=eG(c[G>>2]|0,w)|0;if(c[(c[M>>2]|0)+24>>2]&128)bx(c[X>>2]|0,89,c[S>>2]|0,1)|0;do if(c[U>>2]|0){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(b[p>>1]|0))break;GA(c[X>>2]|0,c[V>>2]|0,c[n>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[N>>2]|0)|0);c[N>>2]=(c[N>>2]|0)+1}c[B>>2]=c[m>>2]}else{c[B>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;c[B>>2]=MA(c[H>>2]|0,c[V>>2]|0,-1,c[n>>2]|0,c[B>>2]|0,0)|0;if((c[B>>2]|0)<=(c[(c[H>>2]|0)+76>>2]|0))break;c[(c[H>>2]|0)+76>>2]=c[B>>2]}while(0);do if(!(c[z>>2]|0))if(c[U>>2]|0){r=(c[H>>2]|0)+76|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[B>>2]=q;b[D>>1]=0;q=c[X>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[B>>2]|0;u=pC(c[c[H>>2]>>2]|0,c[U>>2]|0)|0;ex(q,96,r,s,t,u,b[p>>1]|0)|0;bx(c[X>>2]|0,124,c[P>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=1;bx(c[X>>2]|0,140,c[C>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[K>>2]=Rw(c[M>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[K>>2]|0)){dD(c[G>>2]|0);break a}AR(c[K>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[K>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[w>>2]|0)>=0)a[(c[K>>2]|0)+((c[w>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[w+4>>2]|0)>=0)a[(c[K>>2]|0)+((c[w+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;CA(c[X>>2]|0,c[j>>2]|0)|0}while(0);if(c[z>>2]|0)c[v>>2]=Pz(c[X>>2]|0)|0;else dD(c[G>>2]|0);do if(!(c[R>>2]|0)){c[k>>2]=0;if((c[z>>2]|0)==2)c[k>>2]=fB(c[H>>2]|0)|0;sC(c[H>>2]|0,c[V>>2]|0,103,8,c[n>>2]|0,c[K>>2]|0,O,Q)|0;if((c[z>>2]|0)!=2)break;Sz(c[X>>2]|0,c[k>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){c[L>>2]=Kz(f,55,c[P>>2]|0)|0;bx(c[X>>2]|0,119,c[P>>2]|0,c[B>>2]|0)|0;break}else{c[L>>2]=fx(f,60,c[C>>2]|0,0,c[B>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(d[(c[K>>2]|0)+((c[O>>2]|0)-(c[n>>2]|0))>>0]|0))break;Gh(c[X>>2]|0,30,c[O>>2]|0,c[v>>2]|0,c[B>>2]|0,b[D>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16){c[F>>2]=Nx(c[M>>2]|0,c[V>>2]|0)|0;RC(c[H>>2]|0,c[V>>2]|0);ex(c[X>>2]|0,12,0,1,c[B>>2]|0,c[F>>2]|0,-10)|0;Hh(c[X>>2]|0,2);Ox(c[H>>2]|0);if((c[z>>2]|0)!=1)break;if(c[(c[H>>2]|0)+416>>2]|0)break;a[(c[H>>2]|0)+20>>0]=0}else{c[y>>2]=(d[(c[H>>2]|0)+18>>0]|0)==0&1;c[A>>2]=-1;do if(!(c[x>>2]|0)){if((c[w+4>>2]|0)==(c[O>>2]|0))break;c[A>>2]=c[w+4>>2]}while(0);TE(c[H>>2]|0,c[V>>2]|0,c[E>>2]|0,c[O>>2]|0,c[Q>>2]|0,c[B>>2]|0,b[D>>1]|0,c[y>>2]&255,10,c[z>>2]&255,c[A>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){bx(f,7,c[P>>2]|0,(c[L>>2]|0)+1|0)|0;Sz(c[X>>2]|0,c[L>>2]|0);break}else{Rz(f,c[L>>2]|0)|0;Sz(c[X>>2]|0,c[L>>2]|0);break}}else{Tz(c[X>>2]|0,c[v>>2]|0);dD(c[G>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(c[U>>2]|0))Kz(c[X>>2]|0,109,c[O>>2]|0)|0;c[N>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break c;Kz(c[X>>2]|0,109,(c[Q>>2]|0)+(c[N>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)VC(c[H>>2]|0);if(((c[(c[M>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){bx(c[X>>2]|0,85,c[S>>2]|0,1)|0;$B(c[X>>2]|0,1);aC(c[X>>2]|0,0,0,35846,0)|0}}}}}while(0);fG(W);fv(c[M>>2]|0,c[I>>2]|0);gv(c[M>>2]|0,c[J>>2]|0);Tf(c[M>>2]|0,c[K>>2]|0);i=Y;return}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+92+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Ch(d,35823,j);i=k;return}function cw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+68>>2]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[ka>>2]=QB(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[l>>2]=Dh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=FC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Mx(c[X>>2]|0,c[ka>>2]|0)|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(GC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}g=(c[X>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Hj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+72>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Rw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);AR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(sy(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(si(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=20511;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=Yw(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Ch(na,24760,q);a[(c[X>>2]|0)+17>>0]=1;fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=RE(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=$w(c[X>>2]|0)|0;if(!(c[na>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))HC(c[na>>2]|0);nx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+76|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)bG(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)cG(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(sy(p,c[_>>2]|0)|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){dG(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){fx(c[na>>2]|0,77,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=cD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,-32764,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[R>>2]=eG(c[x>>2]|0,s)|0;bx(c[na>>2]|0,121,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))bx(c[na>>2]|0,140,c[A>>2]|0,c[V>>2]|0)|0;dD(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+76|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+72|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;bx(c[na>>2]|0,77,0,c[u>>2]|0)|0;c[r>>2]=bx(c[na>>2]|0,105,c[fa>>2]|0,b[w>>1]|0)|0;Nz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=cD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}c[R>>2]=eG(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;GA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){CA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=pC(c[ca>>2]|0,c[ja>>2]|0)|0;ex(k,96,p,q,r,u,b[w>>1]|0)|0;bx(c[na>>2]|0,124,c[fa>>2]|0,c[T>>2]|0)|0}dD(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+420>>2]|0)==0:0){w=(c[X>>2]|0)+76|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;bx(c[na>>2]|0,74,0,c[la>>2]|0)|0}c[ha>>2]=Pz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)AR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}AR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);sC(c[X>>2]|0,c[ka>>2]|0,103,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Pz(k)|0;bx(c[na>>2]|0,55,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=bx(c[na>>2]|0,119,c[fa>>2]|0,c[T>>2]|0)|0;Gh(c[na>>2]|0,30,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=fx(k,60,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;fx(c[na>>2]|0,32,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Gh(c[na>>2]|0,30,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];bx(c[na>>2]|0,34,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){KA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Kz(c[na>>2]|0,17,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=WE(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=VE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}bx(c[na>>2]|0,77,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;GA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;bx(c[na>>2]|0,82,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=VE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))bx(c[na>>2]|0,77,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){KA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;bx(c[na>>2]|0,77,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);ID(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){NC(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);OC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Gh(k,30,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else fx(k,32,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;GA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;SC(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)TC(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Gh(k,30,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=fx(k,32,h,0,c[V>>2]|0)|0;break}}while(0);UE(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))bx(c[na>>2]|0,115,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Sz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)TC(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);UC(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;XE(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+420>>2]|0)break;bx(c[na>>2]|0,89,c[la>>2]|0,1)|0}while(0);OC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){Tz(h,k);bx(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Rz(h,k)|0;break}}while(0);Tz(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)bx(c[na>>2]|0,109,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))bx(c[na>>2]|0,109,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+420>>2]|0)break;VC(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+420>>2]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}bx(c[na>>2]|0,85,c[la>>2]|0,1)|0;$B(c[na>>2]|0,1);aC(c[na>>2]|0,0,0,35810,0)|0;fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}else if((J|0)==185){fG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;fv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;cv(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;gv(ma,na);i=oa;return}} -function $C(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=$w(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=bx(c[M>>2]|0,63,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=aD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Uv(c[v>>2]|0,55,c[N>>2]|0)|0;c[B>>2]=Cv(c[n>>2]|0,37,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=nz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=aD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=bD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=Cv(c[n>>2]|0,36,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Hj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=aD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=bD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=Cv(c[n>>2]|0,37,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=nz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=Cv(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=nz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];sy(L,c[K>>2]|0)|0;c[J>>2]=cD(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;bx(c[M>>2]|0,142,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)dD(c[J>>2]|0);gv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Sz(c[M>>2]|0,c[z>>2]|0);i=O;return}function aD(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Uv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Oy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function bD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Uv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function cD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Ch(ba,34925,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=816+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=rh(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[(c[W>>2]|0)+60+4>>2]=-1;c[(c[W>>2]|0)+60>>2]=-1;a[(c[W>>2]|0)+43>>0]=c[I>>2];c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];l=Pz(c[_>>2]|0)|0;c[(c[W>>2]|0)+48>>2]=l;c[(c[W>>2]|0)+52>>2]=l;b[(c[W>>2]|0)+36>>1]=b[v>>1]|0;b[(c[W>>2]|0)+34>>1]=c[w>>2];c[(c[W>>2]|0)+56>>2]=c[(c[r>>2]|0)+428>>2];c[R>>2]=(c[W>>2]|0)+68;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+328;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);kD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;nD((c[W>>2]|0)+328|0,c[W>>2]|0);oD((c[W>>2]|0)+328|0,c[o>>2]|0,28);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(qB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){YA(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+52>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+20|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+38>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[W>>2]|0)+42>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;pD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);qD(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+328|0);c[G>>2]=(c[G>>2]|0)+1}rD(c[s>>2]|0,(c[W>>2]|0)+328|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&1024){if(sD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+42>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+36|0;b[t>>1]=e[t>>1]|512;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(tD(Y)|0)!=0:0)){c[X>>2]=uD(Y)|0;if(c[X>>2]|0)break;vD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(vD(c[W>>2]|0,(b[(c[W>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+24|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+68>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+43>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=wD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=wD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+43>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+736+(((d[(c[W>>2]|0)+43>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+43|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+428|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+32>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8192))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+40>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8192)a[z>>0]=8;c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+736;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Dh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Nx(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];ex(c[_>>2]|0,153,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[K>>2]=102;if(d[(c[W>>2]|0)+40>>0]|0){c[K>>2]=103;c[(c[W>>2]|0)+60>>2]=c[(c[T>>2]|0)+44>>2]}Mz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+40>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=xR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Kh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Hh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Lz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+4>>2];c[L>>2]=102;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&64)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(d[(c[W>>2]|0)+40>>0]|0){c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=103;c[(c[W>>2]|0)+60+4>>2]=c[F>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[F>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[L>>2]=101;break d}while(0);Z=(c[r>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;fx(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Nz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+36>>1]&1)break;Hh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)ox(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=Oz(c[_>>2]|0)|0;c[(c[W>>2]|0)+44>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+736+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,xD(c[r>>2]|0,(c[W>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=yD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=Oz(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=zD(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+48>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&64|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+428>>2]=c[(c[W>>2]|0)+56>>2];fD(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function dD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;l=D+76|0;u=D+72|0;z=D+68|0;n=D+64|0;r=D+60|0;s=D+56|0;y=D+52|0;m=D+48|0;h=D+44|0;k=D+40|0;j=D+36|0;o=D+32|0;p=D+28|0;t=D+24|0;q=D+20|0;x=D+16|0;w=D+12|0;A=D+8|0;B=D+4|0;v=D;c[l>>2]=f;c[u>>2]=c[c[l>>2]>>2];c[z>>2]=c[(c[u>>2]|0)+8>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[m>>2]=c[c[u>>2]>>2];rC(c[u>>2]|0);c[n>>2]=(d[(c[l>>2]|0)+43>>0]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[r>>2]=(c[l>>2]|0)+736+((c[n>>2]|0)*80|0);c[s>>2]=c[(c[r>>2]|0)+64>>2];Tz(c[z>>2]|0,c[(c[r>>2]|0)+24>>2]|0);if((d[(c[r>>2]|0)+45>>0]|0)!=159){fx(c[z>>2]|0,d[(c[r>>2]|0)+45>>0]|0,c[(c[r>>2]|0)+48>>2]|0,c[(c[r>>2]|0)+52>>2]|0,d[(c[r>>2]|0)+46>>0]|0)|0;Hh(c[z>>2]|0,a[(c[r>>2]|0)+47>>0]|0)}a:do if((c[(c[s>>2]|0)+36>>2]&2048|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)>0:0){Tz(c[z>>2]|0,c[(c[r>>2]|0)+16>>2]|0);c[j>>2]=c[(c[r>>2]|0)+56>>2];c[k>>2]=(c[(c[r>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Sz(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);bx(c[z>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;Sz(c[z>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}}while(0);Tz(c[z>>2]|0,c[(c[r>>2]|0)+12>>2]|0);if(c[(c[r>>2]|0)+20>>2]|0){Rz(c[z>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0;Sz(c[z>>2]|0,c[(c[r>>2]|0)+20>>2]|0);Sz(c[z>>2]|0,(c[(c[r>>2]|0)+20>>2]|0)-2|0)}if(c[(c[r>>2]|0)+40>>2]|0)bx(c[z>>2]|0,66,(c[(c[r>>2]|0)+36>>2]|0)>>>1,c[(c[r>>2]|0)+40>>2]|0)|0;if(c[c[r>>2]>>2]|0){c[h>>2]=Kz(c[z>>2]|0,64,c[c[r>>2]>>2]|0)|0;if(!(c[(c[s>>2]|0)+36>>2]&64))Kz(c[z>>2]|0,122,c[(c[y>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)|0;if(c[(c[s>>2]|0)+36>>2]&512)Kz(c[z>>2]|0,122,c[(c[r>>2]|0)+8>>2]|0)|0;f=c[z>>2]|0;g=c[r>>2]|0;if((d[(c[r>>2]|0)+45>>0]|0)==70)bx(f,14,c[g+48>>2]|0,c[(c[r>>2]|0)+28>>2]|0)|0;else Rz(f,c[g+28>>2]|0)|0;Sz(c[z>>2]|0,c[h>>2]|0)}c[n>>2]=(c[n>>2]|0)+-1}Tz(c[z>>2]|0,c[(c[l>>2]|0)+52>>2]|0);c[n>>2]=0;c[r>>2]=(c[l>>2]|0)+736;while(1){if((c[n>>2]|0)>=(d[(c[l>>2]|0)+43>>0]|0))break;c[q>>2]=0;c[x>>2]=(c[y>>2]|0)+8+((d[(c[r>>2]|0)+44>>0]|0)*72|0);c[w>>2]=c[(c[x>>2]|0)+16>>2];c[s>>2]=c[(c[r>>2]|0)+64>>2];if(((d[(c[x>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[m>>2]|0)+69>>0]|0)==0:0)eD(c[z>>2]|0,c[(c[r>>2]|0)+32>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[(c[x>>2]|0)+32>>2]|0,0);else C=29;b:do if((C|0)==29){C=0;if(((d[(c[w>>2]|0)+42>>0]&2|0)==0?(c[(c[w>>2]|0)+12>>2]|0)==0:0)?(e[(c[l>>2]|0)+36>>1]&16|0)==0:0){c[A>>2]=c[(c[s>>2]|0)+36>>2];if((d[(c[l>>2]|0)+40>>0]|0)==0?(c[A>>2]&64|0)==0:0)Kz(c[z>>2]|0,109,c[(c[x>>2]|0)+44>>2]|0)|0;if(((c[A>>2]&512|0)!=0?(c[A>>2]&16640|0)==0:0)?(c[(c[r>>2]|0)+8>>2]|0)!=(c[(c[l>>2]|0)+60+4>>2]|0):0)Kz(c[z>>2]|0,109,c[(c[r>>2]|0)+8>>2]|0)|0}f=c[s>>2]|0;if(!(c[(c[s>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[q>>2]=c[(c[r>>2]|0)+56>>2]}else c[q>>2]=c[f+24+4>>2];if(c[q>>2]|0){if((d[(c[l>>2]|0)+40>>0]|0)!=0?(d[(c[(c[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[m>>2]|0)+69>>0]|0)){c[p>>2]=Oz(c[z>>2]|0)|0;c[o>>2]=c[(c[r>>2]|0)+32>>2];c[t>>2]=Zz(c[z>>2]|0,c[o>>2]|0)|0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break b;do if((c[(c[t>>2]|0)+4>>2]|0)==(c[(c[r>>2]|0)+4>>2]|0)){f=c[t>>2]|0;if((d[c[t>>2]>>0]|0)!=94){if((d[f>>0]|0)!=121)break;c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2];a[c[t>>2]>>0]=127;break}c[B>>2]=c[f+8>>2];if(d[(c[w>>2]|0)+42>>0]&32){c[v>>2]=Hj(c[w>>2]|0)|0;c[B>>2]=b[(c[(c[v>>2]|0)+4>>2]|0)+(c[B>>2]<<1)>>1]}c[B>>2]=(HA(c[q>>2]|0,c[B>>2]&65535)|0)<<16>>16;if((c[B>>2]|0)>=0){c[(c[t>>2]|0)+8>>2]=c[B>>2];c[(c[t>>2]|0)+4>>2]=c[(c[r>>2]|0)+8>>2]}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}}}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+80}c[(c[u>>2]|0)+428>>2]=c[(c[l>>2]|0)+56>>2];fD(c[m>>2]|0,c[l>>2]|0);i=D;return}function eD(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=Zz(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=Oz(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==94){a[h>>0]=82;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==121){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=89;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=77;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function fD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+43>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+736+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}gD((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[h>>2]|0)+52>>2];hD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function gD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+20>>1]|0)&1)gv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+20>>1]|0)&16)){if((e[(c[d>>2]|0)+20>>1]|0)&32)mD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0)}else lD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function hD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;iD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function iD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);jD(c[d>>2]|0,c[e>>2]|0);kD(c[e>>2]|0);i=f;return}function jD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function kD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function lD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;gD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function mD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;gD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function nD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function oD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=dy(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){BE(f,c[h>>2]|0,0)|0;i=l;return}else{oD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);oD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function qD(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=Cv(f,152,0,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=Cv(a,37,f,Ay(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;BE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Ch(f,35365,q);i=r;return}else if((e|0)==13){i=r;return}}function rD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;xE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function sD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=dy(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(KD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((wE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(oE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function tD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+328;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=KD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=KD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=mE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+4>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+736+64>>2]=c[o>>2];q=AD((c[s>>2]|0)+68|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+736+4>>2]=c[j>>2];b[(c[s>>2]|0)+32>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+38>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&1024)a[(c[s>>2]|0)+42>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function uD(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+43>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];kD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=AD((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=AD((c[n>>2]|0)+68|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=$D(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=aE(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=bE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){iD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function vD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=i;i=i+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;r=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;n=U+104|0;p=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;k=U+80|0;m=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;j=U+60|0;l=U+56|0;S=U+52|0;h=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;o=U+148|0;q=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+43>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=Rw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];AR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+428>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+428>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[R>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=XD(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=XD(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=YD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+36>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=ZD(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=XD(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;yR(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Ch(c[z>>2]|0,35273,E);Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*80|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+36>>1]&1024|0)!=0?(e[(c[N>>2]|0)+36>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+42>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(YD(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+42>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+36>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+42>>0]=2}else{a[(c[N>>2]|0)+38>>0]=g;if((a[(c[N>>2]|0)+38>>0]|0)<0)a[(c[N>>2]|0)+38>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+36>>1]&2048|0)!=0?((c[P>>2]|0)>0?(a[(c[N>>2]|0)+38>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(YD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+39>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function wD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=VD(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function xD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=fB(c[N>>2]|0)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+20>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(RD(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=nz(h,g,Ay(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(SD(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+12>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=BR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,35236,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(TD(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;gv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=BR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=UD(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;gv(W,X);i=Y;return}c[(c[H>>2]|0)+24+4>>2]=c[G>>2];c[c[G>>2]>>2]=35262;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(SD(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+12>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=BR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+12>>2];c[F>>2]=gB(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=35351;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=BR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35351;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35351;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35351;K=(c[N>>2]|0)+72|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;bx(c[X>>2]|0,104,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Nz(c[N>>2]|0,c[G>>2]|0);vA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=bx(c[X>>2]|0,74,0,0)|0;fx(c[X>>2]|0,15,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Kz(c[X>>2]|0,16,c[M>>2]|0)|0}else c[R>>2]=Kz(c[X>>2]|0,55,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Pz(c[X>>2]|0)|0;YA(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=hA(c[N>>2]|0)|0;c[V>>2]=iA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;bx(c[X>>2]|0,124,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Hh(c[X>>2]|0,16);if(c[T>>2]|0)Tz(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){Yz(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);eD(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Rz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else bx(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Hh(c[X>>2]|0,3);Sz(c[X>>2]|0,c[R>>2]|0);lA(c[N>>2]|0,c[W>>2]|0);tA(c[N>>2]|0);Sz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;gv(W,X);i=Y;return}function yD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+453>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+468>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&64|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);ND(C,(c[x>>2]|0)!=0?34973:34980);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];mA(C,34985,E)}else{c[F>>2]=c[m+8>>2];mA(C,34998,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];mA(C,35008,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+4>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=35015}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=35027;break}if(c[v>>2]&16384){c[K>>2]=35060;break}if(c[v>>2]&64){c[K>>2]=35085;break}else{c[K>>2]=35103;break}}while(0);if(c[K>>2]|0){nA(C,35112,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];mA(C,N,J);OD(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=35122;break}if(c[v>>2]&32){c[M>>2]=35136;break}else{c[M>>2]=35138;break}}else c[M>>2]=35120;while(0);c[G>>2]=c[M>>2];mA(C,35140,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;mA(C,35178,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=ex(c[D>>2]|0,160,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function zD(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0;cb=i;i=i+384|0;Ma=cb+8|0;Na=cb+372|0;ba=cb+368|0;Oa=cb;Sa=cb+364|0;La=cb+360|0;Ra=cb+356|0;J=cb+352|0;R=cb+348|0;Ia=cb+344|0;Xa=cb+340|0;Ja=cb+336|0;_a=cb+332|0;Za=cb+328|0;Ya=cb+324|0;Qa=cb+320|0;ab=cb+316|0;I=cb+312|0;v=cb+308|0;Pa=cb+304|0;O=cb+300|0;l=cb+296|0;k=cb+292|0;B=cb+288|0;z=cb+284|0;E=cb+280|0;A=cb+276|0;D=cb+272|0;F=cb+268|0;H=cb+264|0;G=cb+260|0;u=cb+256|0;t=cb+252|0;m=cb+248|0;o=cb+244|0;n=cb+240|0;p=cb+236|0;r=cb+232|0;s=cb+228|0;q=cb+224|0;Q=cb+378|0;Z=cb+220|0;W=cb+216|0;V=cb+212|0;_=cb+208|0;N=cb+204|0;$=cb+200|0;P=cb+196|0;T=cb+192|0;fa=cb+188|0;w=cb+184|0;S=cb+180|0;aa=cb+176|0;M=cb+383|0;K=cb+382|0;L=cb+381|0;x=cb+172|0;y=cb+380|0;X=cb+168|0;Y=cb+164|0;U=cb+160|0;wa=cb+156|0;ua=cb+152|0;ra=cb+148|0;ea=cb+144|0;Da=cb+140|0;Fa=cb+136|0;Ea=cb+132|0;ga=cb+128|0;ia=cb+124|0;Ga=cb+120|0;la=cb+116|0;Ha=cb+376|0;qa=cb+112|0;Ba=cb+108|0;na=cb+104|0;pa=cb+100|0;xa=cb+96|0;ka=cb+92|0;sa=cb+88|0;va=cb+84|0;Aa=cb+80|0;ta=cb+76|0;ma=cb+72|0;za=cb+68|0;ca=cb+64|0;Ca=cb+60|0;ja=cb+56|0;ya=cb+52|0;oa=cb+48|0;ha=cb+44|0;da=cb+40|0;Ua=cb+36|0;$a=cb+32|0;bb=cb+28|0;Va=cb+24|0;Wa=cb+20|0;Ta=cb+16|0;c[Na>>2]=f;c[ba>>2]=g;g=Oa;c[g>>2]=h;c[g+4>>2]=j;c[O>>2]=0;c[l>>2]=0;c[Ya>>2]=c[c[Na>>2]>>2];c[ab>>2]=c[(c[Ya>>2]|0)+8>>2];c[_a>>2]=(c[Na>>2]|0)+328;c[Qa>>2]=c[c[Ya>>2]>>2];c[Xa>>2]=(c[Na>>2]|0)+736+((c[ba>>2]|0)*80|0);c[Ja>>2]=c[(c[Xa>>2]|0)+64>>2];c[I>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8+((d[(c[Xa>>2]|0)+44>>0]|0)*72|0);c[Ra>>2]=c[(c[I>>2]|0)+44>>2];g=Oa;h=c[g>>2]|0;g=c[g+4>>2]|0;j=AD((c[Na>>2]|0)+68|0,c[Ra>>2]|0)|0;f=(c[Xa>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Na>>2]|0)+24|0;f=xR(c[f>>2]|0,c[f+4>>2]|0,c[ba>>2]|0)|0;c[Ia>>2]=f&1;if(c[(c[Ja>>2]|0)+36>>2]&64)h=(e[(c[Na>>2]|0)+36>>1]&32|0)==0;else h=0;c[R>>2]=h&1;f=Pz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+16>>2]=f;c[(c[Xa>>2]|0)+12>>2]=f;c[v>>2]=f;f=Pz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+24>>2]=f;c[Pa>>2]=f;if((d[(c[Xa>>2]|0)+44>>0]|0)>0?(d[(c[I>>2]|0)+36>>0]&8|0)!=0:0){g=(c[Ya>>2]|0)+76|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[Xa>>2]>>2]=f;bx(c[ab>>2]|0,74,0,c[c[Xa>>2]>>2]|0)|0}do if((d[(c[I>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[I>>2]|0)+28>>2];fx(c[ab>>2]|0,15,c[k>>2]|0,0,c[(c[I>>2]|0)+24>>2]|0)|0;La=bx(c[ab>>2]|0,16,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+45>>0]=13}else{h=c[Ja>>2]|0;if(c[(c[Ja>>2]|0)+36>>2]&1024){c[E>>2]=e[h+40>>1];vA(c[Ya>>2]|0);c[B>>2]=xA(c[Ya>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+12>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[E>>2]|0))break;c[D>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];do if(c[Za>>2]|0){h=c[Ya>>2]|0;j=c[Za>>2]|0;if(e[(c[Za>>2]|0)+18>>1]&1){BD(h,j,c[Xa>>2]|0,c[Sa>>2]|0,c[Ia>>2]|0,c[D>>2]|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+16>>2];break}else{KA(h,c[(c[j>>2]|0)+16>>2]|0,c[D>>2]|0);break}}while(0);c[Sa>>2]=(c[Sa>>2]|0)+1}bx(c[ab>>2]|0,74,c[(c[Ja>>2]|0)+24>>2]|0,c[B>>2]|0)|0;bx(c[ab>>2]|0,74,c[E>>2]|0,(c[B>>2]|0)+1|0)|0;ex(c[ab>>2]|0,11,c[Ra>>2]|0,c[z>>2]|0,c[B>>2]|0,c[(c[Ja>>2]|0)+24+8>>2]|0,(d[(c[Ja>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Ja>>2]|0)+24+4>>0]=0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];a[(c[Xa>>2]|0)+45>>0]=(d[(c[Na>>2]|0)+40>>0]|0)!=0?159:68;La=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;c[A>>2]=c[(c[Xa>>2]|0)+56>>2];c[Sa>>2]=(c[E>>2]|0)-1;while(1){if((c[Sa>>2]|0)<0)break;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];if((c[Sa>>2]|0)<16?(e[(c[Ja>>2]|0)+24+6>>1]>>c[Sa>>2]&1|0)!=0:0)CD(c[Xa>>2]|0,c[Za>>2]|0);else Ka=21;if((Ka|0)==21?(Ka=0,(e[(c[Za>>2]|0)+18>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Ia=c[ab>>2]|0;La=(c[A>>2]|0)+-1|0;c[A>>2]=La;c[G>>2]=Zz(Ia,c[(c[(c[Xa>>2]|0)+56+4>>2]|0)+(La*12|0)+4>>2]|0)|0;fx(c[ab>>2]|0,d[c[G>>2]>>0]|0,c[(c[G>>2]|0)+4>>2]|0,c[(c[G>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+12>>2]|0)|0}c[F>>2]=Cv(c[Ya>>2]|0,37,0,0,0)|0;if(c[F>>2]|0){c[(c[F>>2]|0)+12>>2]=c[(c[c[Za>>2]>>2]|0)+12>>2];La=Uv(c[Qa>>2]|0,157,0)|0;c[H>>2]=La;c[(c[F>>2]|0)+16>>2]=La;if(c[H>>2]|0){c[(c[H>>2]|0)+28>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;YA(c[Ya>>2]|0,c[F>>2]|0,c[(c[Xa>>2]|0)+24>>2]|0,0)}c[(c[F>>2]|0)+12>>2]=0;gv(c[Qa>>2]|0,c[F>>2]|0)}}c[Sa>>2]=(c[Sa>>2]|0)+-1}tA(c[Ya>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&5|0)!=0:0){c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[l>>2]=La;c[O>>2]=BD(c[Ya>>2]|0,c[Za>>2]|0,c[Xa>>2]|0,0,c[Ia>>2]|0,c[l>>2]|0)|0;if((c[O>>2]|0)!=(c[l>>2]|0))lA(c[Ya>>2]|0,c[l>>2]|0);c[J>>2]=c[(c[Xa>>2]|0)+16>>2];bx(c[ab>>2]|0,17,c[O>>2]|0,c[J>>2]|0)|0;fx(c[ab>>2]|0,32,c[Ra>>2]|0,c[J>>2]|0,c[O>>2]|0)|0;PA(c[Ya>>2]|0,c[O>>2]|0,1);tB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);a[(c[Xa>>2]|0)+45>>0]=-97;break}if((c[(c[Ja>>2]|0)+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=159;c[m>>2]=0;c[Sa>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Ja>>2]|0)+36>>2]&32){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[o>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[(c[Ja>>2]|0)+36>>2]&16){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[n>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[Ia>>2]|0){c[Za>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Za>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=QA(c[Ya>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;fx(c[ab>>2]|0,d[34953+((d[c[p>>2]>>0]|0)-38)>>0]|0,c[Ra>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;PA(c[Ya>>2]|0,c[r>>2]|0,1);lA(c[Ya>>2]|0,c[s>>2]|0);CD(c[Xa>>2]|0,c[o>>2]|0)}else bx(c[ab>>2]|0,(c[Ia>>2]|0)!=0?33:55,c[Ra>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[m>>2]=La;KA(c[Ya>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=40?(d[c[q>>2]>>0]|0)!=38:0)c[u>>2]=(c[Ia>>2]|0)!=0?40:38;else c[u>>2]=(c[Ia>>2]|0)!=0?39:41;CD(c[Xa>>2]|0,c[n>>2]|0)}c[t>>2]=Oz(c[ab>>2]|0)|0;a[(c[Xa>>2]|0)+45>>0]=(c[Ia>>2]|0)!=0?6:7;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];c[(c[Xa>>2]|0)+52>>2]=c[t>>2];if((c[u>>2]|0)==159)break;Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;bx(c[ab>>2]|0,121,c[Ra>>2]|0,c[O>>2]|0)|0;tB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);fx(c[ab>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[O>>2]|0)|0;Hh(c[ab>>2]|0,83);break}h=c[Ja>>2]|0;if(!(c[(c[Ja>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[I>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[Xa>>2]|0)+45>>0]=-97;break}else{a[(c[Xa>>2]|0)+45>>0]=a[34969+(c[Ia>>2]|0)>>0]|0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];La=1+(bx(c[ab>>2]|0,d[34971+(c[Ia>>2]|0)>>0]|0,c[Ra>>2]|0,c[v>>2]|0)|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+47>>0]=1;break}c[ra>>2]=0;h=(c[Ya>>2]|0)+72|0;Ia=c[h>>2]|0;c[h>>2]=Ia+1;c[ea>>2]=Ia;Ia=(c[Ya>>2]|0)+76|0;h=(c[Ia>>2]|0)+1|0;c[Ia>>2]=h;c[Da>>2]=h;c[Fa>>2]=0;c[Ea>>2]=0;c[ga>>2]=Pz(c[ab>>2]|0)|0;c[Ga>>2]=0;c[qa>>2]=0;c[Ba>>2]=c[(c[I>>2]|0)+16>>2];c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];c[wa>>2]=c[(c[Za>>2]|0)+12>>2];a[(c[Xa>>2]|0)+45>>0]=70;c[(c[Xa>>2]|0)+48>>2]=c[Da>>2];h=c[Na>>2]|0;a:do if((d[(c[Na>>2]|0)+43>>0]|0)>1){c[na>>2]=(d[h+43>>0]|0)-(c[ba>>2]|0)-1;c[ua>>2]=Ah(c[Qa>>2]|0,80+((c[na>>2]|0)*72|0)|0,0)|0;if(!(c[ua>>2]|0)){$a=Oa;bb=c[$a+4>>2]|0;ab=Ma;c[ab>>2]=c[$a>>2];c[ab+4>>2]=bb;ab=Ma;bb=ab;bb=c[bb>>2]|0;ab=ab+4|0;ab=c[ab>>2]|0;C=ab;i=cb;return bb|0}c[(c[ua>>2]|0)+4>>2]=(c[na>>2]|0)+1&255;c[c[ua>>2]>>2]=c[(c[ua>>2]|0)+4>>2];g=(c[ua>>2]|0)+8|0;h=c[I>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[pa>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8;c[La>>2]=1;while(1){if((c[La>>2]|0)>(c[na>>2]|0))break a;g=(c[ua>>2]|0)+8+((c[La>>2]|0)*72|0)|0;h=(c[pa>>2]|0)+((d[(c[Xa>>2]|0)+((c[La>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[La>>2]=(c[La>>2]|0)+1}}else c[ua>>2]=c[h+4>>2];while(0);if(!(e[(c[Na>>2]|0)+36>>1]&8)){if(!(d[(c[Ba>>2]|0)+42>>0]&32)){Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Fa>>2]=La;bx(c[ab>>2]|0,77,0,c[Fa>>2]|0)|0}else{c[xa>>2]=Hj(c[Ba>>2]|0)|0;Ja=(c[Ya>>2]|0)+72|0;La=c[Ja>>2]|0;c[Ja>>2]=La+1;c[Fa>>2]=La;bx(c[ab>>2]|0,105,c[Fa>>2]|0,e[(c[xa>>2]|0)+50>>1]|0)|0;Nz(c[Ya>>2]|0,c[xa>>2]|0)}Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Ea>>2]=La}c[ia>>2]=bx(c[ab>>2]|0,74,0,c[Da>>2]|0)|0;if((c[(c[_a>>2]|0)+12>>2]|0)>1){c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break;c[sa>>2]=c[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)>>2];do if((((c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)|0)!=(c[Za>>2]|0)?(c[(c[sa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+20>>1]&6|0)==0:0){if(!(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+18>>1]&8191))break;c[sa>>2]=Ay(c[Qa>>2]|0,c[sa>>2]|0,0)|0;c[qa>>2]=nz(c[Qa>>2]|0,c[qa>>2]|0,c[sa>>2]|0)|0}while(0);c[ka>>2]=(c[ka>>2]|0)+1}if(c[qa>>2]|0)c[qa>>2]=Cv(c[Ya>>2]|0,284,0,c[qa>>2]|0,0)|0}b[Ha>>1]=240|e[(c[Na>>2]|0)+36>>1]&32768;c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[(c[wa>>2]|0)+12>>2]|0))break;c[va>>2]=(c[(c[wa>>2]|0)+20>>2]|0)+((c[la>>2]|0)*48|0);if(!((c[(c[va>>2]|0)+8>>2]|0)!=(c[Ra>>2]|0)?(e[(c[va>>2]|0)+18>>1]&1024|0)==0:0)){c[ta>>2]=c[c[va>>2]>>2];c[ma>>2]=0;if((c[qa>>2]|0)!=0?(c[(c[ta>>2]|0)+4>>2]&1|0)==0:0){c[(c[qa>>2]|0)+12>>2]=c[ta>>2];c[ta>>2]=c[qa>>2]}c[Aa>>2]=cD(c[Ya>>2]|0,c[ua>>2]|0,c[ta>>2]|0,0,0,b[Ha>>1]|0,c[ea>>2]|0)|0;if(c[Aa>>2]|0){c[ca>>2]=yD(c[Ya>>2]|0,c[ua>>2]|0,(c[Aa>>2]|0)+736|0,c[ba>>2]|0,d[(c[Xa>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Na>>2]|0)+36>>1]&8)){c[ja>>2]=(c[la>>2]|0)==((c[(c[wa>>2]|0)+12>>2]|0)-1|0)?-1:c[la>>2]|0;if(!(d[(c[Ba>>2]|0)+42>>0]&32)){c[Ca>>2]=MA(c[Ya>>2]|0,c[Ba>>2]|0,-1,c[Ra>>2]|0,c[Ea>>2]|0,0)|0;c[ma>>2]=Gh(c[ab>>2]|0,61,c[Fa>>2]|0,0,c[Ca>>2]|0,c[ja>>2]|0)|0;break}c[ya>>2]=Hj(c[Ba>>2]|0)|0;c[oa>>2]=e[(c[ya>>2]|0)+50>>1];c[Ca>>2]=xA(c[Ya>>2]|0,c[oa>>2]|0)|0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[oa>>2]|0))break;c[da>>2]=b[(c[(c[ya>>2]|0)+4>>2]|0)+(c[ha>>2]<<1)>>1];ID(c[Ya>>2]|0,c[Ba>>2]|0,c[da>>2]|0,c[Ra>>2]|0,(c[Ca>>2]|0)+(c[ha>>2]|0)|0);c[ha>>2]=(c[ha>>2]|0)+1}if(c[ja>>2]|0)c[ma>>2]=Gh(c[ab>>2]|0,31,c[Fa>>2]|0,0,c[Ca>>2]|0,c[oa>>2]|0)|0;do if((c[ja>>2]|0)>=0){fx(c[ab>>2]|0,96,c[Ca>>2]|0,c[oa>>2]|0,c[Ea>>2]|0)|0;fx(c[ab>>2]|0,124,c[Fa>>2]|0,c[Ea>>2]|0,0)|0;if(!(c[ja>>2]|0))break;Hh(c[ab>>2]|0,16)}while(0);AA(c[Ya>>2]|0,c[Ca>>2]|0,c[oa>>2]|0)}while(0);bx(c[ab>>2]|0,14,c[Da>>2]|0,c[ga>>2]|0)|0;if(c[ma>>2]|0)Sz(c[ab>>2]|0,c[ma>>2]|0);if(a[(c[Aa>>2]|0)+41>>0]|0)c[Ga>>2]=1;c[za>>2]=c[(c[Aa>>2]|0)+736+64>>2];do if(c[(c[za>>2]|0)+36>>2]&512){if((c[la>>2]|0)!=0?(c[(c[za>>2]|0)+24+4>>2]|0)!=(c[ra>>2]|0):0){Ka=179;break}if((d[(c[Ba>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[za>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ka=179;break}c[ra>>2]=c[(c[za>>2]|0)+24+4>>2];b[Ha>>1]=e[Ha>>1]|4096}else Ka=179;while(0);if((Ka|0)==179){Ka=0;c[ra>>2]=0}dD(c[Aa>>2]|0)}}c[la>>2]=(c[la>>2]|0)+1}c[(c[Xa>>2]|0)+56>>2]=c[ra>>2];if(c[ra>>2]|0)c[(c[Xa>>2]|0)+8>>2]=c[ea>>2];if(c[qa>>2]|0){c[(c[qa>>2]|0)+12>>2]=0;gv(c[Qa>>2]|0,c[qa>>2]|0)}Ka=c[ab>>2]|0;La=c[ia>>2]|0;JD(Ka,La,Oz(c[ab>>2]|0)|0);Rz(c[ab>>2]|0,c[(c[Xa>>2]|0)+12>>2]|0)|0;Tz(c[ab>>2]|0,c[ga>>2]|0);if((d[(c[Na>>2]|0)+43>>0]|0)>1)Tf(c[Qa>>2]|0,c[ua>>2]|0);if(c[Ga>>2]|0)break;CD(c[Xa>>2]|0,c[Za>>2]|0);break}b[Q>>1]=b[h+24>>1]|0;c[W>>2]=0;c[V>>2]=0;c[w>>2]=0;a[M>>0]=0;a[K>>0]=0;a[L>>0]=0;c[T>>2]=c[(c[Ja>>2]|0)+24+4>>2];c[fa>>2]=c[(c[Xa>>2]|0)+8>>2];if(((e[(c[Na>>2]|0)+36>>1]&1|0)!=0?(a[(c[Na>>2]|0)+38>>0]|0)>0:0)?(e[(c[T>>2]|0)+50>>1]|0)>(e[Q>>1]|0):0){a[K>>0]=1;c[w>>2]=1}c[Sa>>2]=e[Q>>1];if(c[(c[Ja>>2]|0)+36>>2]&32){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[W>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1}if(c[(c[Ja>>2]|0)+36>>2]&16){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[V>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1;if(e[(c[V>>2]|0)+20>>1]&256){Ha=(c[Ya>>2]|0)+76|0;Ka=(c[Ha>>2]|0)+1|0;c[Ha>>2]=Ka;c[(c[Xa>>2]|0)+36>>2]=Ka;bx(c[ab>>2]|0,74,1,c[(c[Xa>>2]|0)+36>>2]|0)|0;Ka=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+40>>2]=Ka;Ka=(c[Xa>>2]|0)+36|0;c[Ka>>2]=c[Ka>>2]<<1;Ka=(c[Xa>>2]|0)+36|0;c[Ka>>2]=c[Ka>>2]|c[Ia>>2]^(d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==1}if(((c[W>>2]|0)==0?(Ka=b[(c[(c[T>>2]|0)+4>>2]|0)+(e[Q>>1]<<1)>>1]|0,c[Sa>>2]=Ka,(Ka|0)>=0):0)?(d[(c[(c[(c[T>>2]|0)+12>>2]|0)+4>>2]|0)+(c[Sa>>2]<<4)+12>>0]|0)==0:0)a[K>>0]=1}if((e[Q>>1]|0)<(e[(c[T>>2]|0)+50>>1]|0)?(c[Ia>>2]|0)==((d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==0|0):0)Ka=72;else Ka=70;if(((Ka|0)==70?(c[Ia>>2]|0)!=0:0)?(e[(c[T>>2]|0)+50>>1]|0)==(e[Q>>1]|0):0)Ka=72;if((Ka|0)==72){c[x>>2]=c[V>>2];c[V>>2]=c[W>>2];c[W>>2]=c[x>>2];a[y>>0]=a[K>>0]|0;a[K>>0]=a[L>>0]|0;a[L>>0]=a[y>>0]|0}c[Z>>2]=DD(c[Ya>>2]|0,c[Xa>>2]|0,c[Ia>>2]|0,c[w>>2]|0,aa)|0;if(c[aa>>2]|0)a[M>>0]=a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0;c[J>>2]=c[(c[Xa>>2]|0)+16>>2];if(c[W>>2]|0)h=(e[(c[W>>2]|0)+18>>1]&40|0)!=0;else h=1;c[_>>2]=h&1;if(c[V>>2]|0)h=(e[(c[V>>2]|0)+18>>1]&40|0)!=0;else h=1;c[N>>2]=h&1;if(c[W>>2]|0)h=1;else h=(e[Q>>1]|0)>0;c[$>>2]=h&1;c[P>>2]=e[Q>>1];if(!(c[W>>2]|0)){if(a[K>>0]|0){bx(c[ab>>2]|0,77,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[P>>2]=(c[P>>2]|0)+1;c[_>>2]=0;c[$>>2]=1}}else{c[X>>2]=c[(c[c[W>>2]>>2]|0)+16>>2];KA(c[Ya>>2]|0,c[X>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);ED(c[ab>>2]|0,c[Xa>>2]|0,c[W>>2]|0);do if(!(e[(c[W>>2]|0)+20>>1]&0)){if(!(cB(c[X>>2]|0)|0))break;bx(c[ab>>2]|0,34,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(c[aa>>2]|0){if(((dB(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65;if(!(FD(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0))break;a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65}while(0);c[P>>2]=(c[P>>2]|0)+1}GD(c[Ya>>2]|0,c[Z>>2]|0,(c[P>>2]|0)-(d[K>>0]|0)|0,c[aa>>2]|0);if(!((e[(c[Ja>>2]|0)+42>>1]|0)>0?(c[P>>2]|0)==(e[(c[Ja>>2]|0)+42>>1]|0):0)){c[S>>2]=d[34957+((c[$>>2]<<2)+(c[_>>2]<<1)+(c[Ia>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}c[P>>2]=e[Q>>1];do if(c[V>>2]|0){c[Y>>2]=c[(c[c[V>>2]>>2]|0)+16>>2];BA(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1);KA(c[Ya>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);ED(c[ab>>2]|0,c[Xa>>2]|0,c[V>>2]|0);do if(!(e[(c[V>>2]|0)+20>>1]&0)){if(!(cB(c[Y>>2]|0)|0))break;bx(c[ab>>2]|0,34,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(((dB(c[Y>>2]|0,a[M>>0]|0)|0)<<24>>24|0)!=65){if(FD(c[Y>>2]|0,a[M>>0]|0)|0)break;GD(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1,M)}while(0);c[P>>2]=(c[P>>2]|0)+1}else{if(!(a[L>>0]|0))break;bx(c[ab>>2]|0,77,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[N>>2]=0;c[P>>2]=(c[P>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[aa>>2]|0);Ka=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=Ka;if(c[P>>2]|0){c[S>>2]=d[34965+((c[Ia>>2]<<1)+(c[N>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}CD(c[Xa>>2]|0,c[W>>2]|0);CD(c[Xa>>2]|0,c[V>>2]|0);do if(!(c[R>>2]|0)){if(!(d[(c[(c[T>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[Na>>2]|0)+36>>1]&32768){Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;bx(c[ab>>2]|0,127,c[fa>>2]|0,c[O>>2]|0)|0;tB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);fx(c[ab>>2]|0,32,c[Ra>>2]|0,0,c[O>>2]|0)|0;break}else{HD(c[Na>>2]|0,c[T>>2]|0,c[Ra>>2]|0,c[fa>>2]|0);break}if((c[Ra>>2]|0)==(c[fa>>2]|0))break;c[U>>2]=Hj(c[(c[T>>2]|0)+12>>2]|0)|0;c[O>>2]=xA(c[Ya>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0;c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;c[La>>2]=(HA(c[T>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[Sa>>2]<<1)>>1]|0)|0)<<16>>16;fx(c[ab>>2]|0,94,c[fa>>2]|0,c[La>>2]|0,(c[O>>2]|0)+(c[Sa>>2]|0)|0)|0;c[Sa>>2]=(c[Sa>>2]|0)+1}Gh(c[ab>>2]|0,30,c[Ra>>2]|0,c[Pa>>2]|0,c[O>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Ja>>2]|0)+36>>2]&4096)){h=(c[Xa>>2]|0)+45|0;if(c[Ia>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[Xa>>2]|0)+45>>0]=-97;while(0);c[(c[Xa>>2]|0)+48>>2]=c[fa>>2];a[(c[Xa>>2]|0)+46>>0]=(c[(c[Ja>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Ja>>2]|0)+36>>2]&15)break;a[(c[Xa>>2]|0)+47>>0]=1}while(0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;c[$a>>2]=0;do if(!(e[(c[Za>>2]|0)+20>>1]&6)){Ka=(c[Za>>2]|0)+40|0;La=(c[Xa>>2]|0)+72|0;if((c[Ka>>2]&c[La>>2]|0)!=0?1:(c[Ka+4>>2]&c[La+4>>2]|0)!=0){a[(c[Na>>2]|0)+41>>0]=1;break}c[Ua>>2]=c[c[Za>>2]>>2];if((c[c[Xa>>2]>>2]|0)!=0?(c[(c[Ua>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[Za>>2]|0)+20>>1]&512){c[bb>>2]=c[(c[Xa>>2]|0)+36>>2];c[$a>>2]=Kz(c[ab>>2]|0,(c[bb>>2]&1|0)!=0?22:21,(c[bb>>2]|0)>>>1)|0}YA(c[Ya>>2]|0,c[Ua>>2]|0,c[Pa>>2]|0,16);if(c[$a>>2]|0)Sz(c[ab>>2]|0,c[$a>>2]|0);La=(c[Za>>2]|0)+20|0;b[La>>1]=e[La>>1]|4}while(0);c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;if((((((((e[(c[Za>>2]|0)+20>>1]&6|0)==0?(e[(c[Za>>2]|0)+18>>1]&130|0)!=0:0)?(e[(c[Za>>2]|0)+18>>1]&2048|0)!=0:0)?(c[(c[Za>>2]|0)+8>>2]|0)==(c[Ra>>2]|0):0)?(c[c[Xa>>2]>>2]|0)==0:0)?(c[Va>>2]=c[c[Za>>2]>>2],bb=Oa,c[Ta>>2]=KD(c[_a>>2]|0,c[Ra>>2]|0,c[(c[Za>>2]|0)+12>>2]|0,c[bb>>2]|0,c[bb+4>>2]|0,131,0)|0,(c[Ta>>2]|0)!=0):0)?(e[(c[Ta>>2]|0)+20>>1]&4|0)==0:0)?(c[Wa>>2]=Ah(c[Qa>>2]|0,48,0)|0,(c[Wa>>2]|0)!=0):0){g=c[Wa>>2]|0;h=c[c[Ta>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[(c[Wa>>2]|0)+12>>2]=c[(c[Va>>2]|0)+12>>2];YA(c[Ya>>2]|0,c[Wa>>2]|0,c[Pa>>2]|0,16);Tf(c[Qa>>2]|0,c[Wa>>2]|0)}c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}b:do if(c[c[Xa>>2]>>2]|0){bb=Oz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+28>>2]=bb;bx(c[ab>>2]|0,74,1,c[c[Xa>>2]>>2]|0)|0;rC(c[Ya>>2]|0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break b;if((e[(c[Za>>2]|0)+20>>1]&6|0)==0?(ab=(c[Za>>2]|0)+40|0,bb=(c[Xa>>2]|0)+72|0,!((c[ab>>2]&c[bb>>2]|0)!=0?1:(c[ab+4>>2]&c[bb+4>>2]|0)!=0)):0){YA(c[Ya>>2]|0,c[c[Za>>2]>>2]|0,c[Pa>>2]|0,16);bb=(c[Za>>2]|0)+20|0;b[bb>>1]=e[bb>>1]|4}c[Sa>>2]=(c[Sa>>2]|0)+1;c[Za>>2]=(c[Za>>2]|0)+48}}while(0);$a=(c[Xa>>2]|0)+72|0;bb=c[$a+4>>2]|0;ab=Ma;c[ab>>2]=c[$a>>2];c[ab+4>>2]=bb;ab=Ma;bb=ab;bb=c[bb>>2]|0;ab=ab+4|0;ab=c[ab>>2]|0;C=ab;i=cb;return bb|0}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=BR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function BD(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;k=x+48|0;q=x+44|0;r=x+40|0;l=x+36|0;s=x+32|0;m=x+28|0;o=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;p=x+8|0;v=x+4|0;n=x;c[k>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[m>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[k>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)!=37?(d[c[o>>2]>>0]|0|0)!=29:0){if((d[c[o>>2]>>0]|0|0)==34){c[u>>2]=c[m>>2];bx(c[w>>2]|0,77,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+64>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[m>>2];c[t>>2]=aB(c[k>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];bx(c[w>>2]|0,(c[s>>2]|0)!=0?33:55,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+56>>2]|0)){o=Pz(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}o=(c[r>>2]|0)+56|0;c[o>>2]=(c[o>>2]|0)+1;k=Ix(c[c[k>>2]>>2]|0,c[(c[r>>2]|0)+56+4>>2]|0,(c[(c[r>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+56+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+56+4>>2];k=(c[r>>2]|0)+56|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=bx(m,121,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=fx(m,94,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?4:5;Kz(c[w>>2]|0,34,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}c[u>>2]=LA(c[k>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[m>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;CD(v,w);w=c[u>>2]|0;i=x;return w|0}function CD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+20>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+20>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+4>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)*48|0);g=(c[j>>2]|0)+22|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+22>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function DD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+60|0;l=A+56|0;m=A+52|0;C=A+48|0;n=A+44|0;q=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;r=A+16|0;z=A+12|0;o=A+8|0;w=A+4|0;u=A;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+64>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+76>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=ph(j,pC(c[c[k>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];Kz(c[y>>2]|0,(c[m>>2]|0)!=0?33:55,c[o>>2]|0)|0;c[p>>2]=jx(c[y>>2]|0,13)|0;C=Gh(c[y>>2]|0,(c[m>>2]|0)!=0?23:26,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;Sz(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;fx(c[y>>2]|0,94,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=BD(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){lA(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{bx(c[y>>2]|0,83,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&257)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+20>>1]&2048|0)==0?(cB(c[u>>2]|0)|0)!=0:0)bx(c[y>>2]|0,34,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((dB(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(FD(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function ED(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+20>>1]|0)&256)){i=k;return}c[j>>2]=Zz(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[j>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;i=k;return}function FD(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 133:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function GD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}ex(c[l>>2]|0,95,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;PA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function HD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];fx(c[n>>2]|0,126,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+36>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;if(c[f+336>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=rh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Kh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function ID(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=MA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}bx(c[(c[g>>2]|0)+8>>2]|0,83,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Zz(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function KD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=LD(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+18>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=MD(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function LD(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=MD(c[k>>2]|0)|0;i=q;return r|0}function MD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(Cy(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+18>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=dy(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(hB(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=gB(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function ND(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;nA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function OD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r;f=r+32|0;g=r+28|0;m=r+24|0;k=r+38|0;l=r+36|0;h=r+20|0;j=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+4>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=r;return}nA(c[f>>2]|0,35205,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=PD(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)nA(c[f>>2]|0,35208,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?35214:35219;c[n>>2]=c[o>>2];mA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){c[p>>2]=PD(c[m>>2]|0,c[h>>2]|0)|0;n=c[f>>2]|0;o=c[h>>2]|0;c[h>>2]=o+1;QD(n,o,c[p>>2]|0,35136)}if(c[(c[g>>2]|0)+36>>2]&16){c[q>>2]=PD(c[m>>2]|0,c[j>>2]|0)|0;QD(c[f>>2]|0,c[h>>2]|0,c[q>>2]|0,35138)}nA(c[f>>2]|0,35227,1);i=r;return}function PD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=35229;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=25361;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)nA(c[f>>2]|0,35208,5);ND(c[f>>2]|0,c[g>>2]|0);nA(c[f>>2]|0,c[h>>2]|0,1);nA(c[f>>2]|0,20891,1);i=j;return}function RD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=mB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function SD(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+12>>2]<<4)+13>>0]|0;if(hB(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function TD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Rw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}yR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function UD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=rh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function VD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j+16|0;h=j;c[f>>2]=a;c[g>>2]=b;a=h;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[f>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==152){g=AD(b,c[a+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=C;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=VD(b,c[a+16>>2]|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[(c[g>>2]|0)+12>>2]|0){k=VD(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;b=c[l+4>>2]|C;a=h;c[a>>2]=c[l>>2]|k;c[a+4>>2]=b}if(!(c[(c[g>>2]|0)+4>>2]&2048)){if(c[(c[g>>2]|0)+20>>2]|0){g=wD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}}else{g=WD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function WD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=wD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=wD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=wD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=VD(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=VD(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=WD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=VD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function XD(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35291+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35291+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function YD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+144|0;W=$+141|0;n=$+120|0;o=$+116|0;p=$+112|0;q=$+132|0;r=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;G=$+128|0;F=$+126|0;H=$+124|0;z=$+100|0;X=$+96|0;D=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;L=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;I=$+32|0;J=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;K=$+48|0;E=$+8|0;Y=$;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=BR(1,0,e[H>>1]|0)|0;f=vR(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=BR(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=dy(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==152):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=KD((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],386,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&130|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=_x(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=_x(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if(ig(c[U>>2]|0,c[V>>2]|0)|0)break}m=BR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+42>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&386|0)!=0):0){if(c[X>>2]&256)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+32>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+(c[x>>2]<<4)+12>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=BR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=dy(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;k=c[O>>2]|0;if((c[x>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break}else if(Cy(k,c[(c[(c[(c[M>>2]|0)+40>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0,c[y>>2]|0)|0)break;if((c[x>>2]|0)<0){_=70;break a}c[L>>2]=_x(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==70){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=BR(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=84;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=BR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==84){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=BR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=VD((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(SA(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=BR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=108;break}V=BR(1,0,c[X>>2]|0)|0;V=vR(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=106;break}c[X>>2]=k+-1}if((_|0)==106){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==108){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function ZD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+36>>1]&16384|0)!=0?(b[(c[h>>2]|0)+34>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+34>>1]|0;o=(_D(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function _D(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function $D(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=i;i=i+112|0;k=C+108|0;l=C+104|0;m=C+48|0;E=C+40|0;z=C+100|0;F=C+96|0;x=C+92|0;y=C+88|0;D=C+84|0;v=C+80|0;u=C+76|0;n=C+72|0;w=C+68|0;p=C+32|0;A=C+64|0;B=C+60|0;s=C+24|0;q=C+16|0;o=C+56|0;r=C+8|0;t=C;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=E;c[e>>2]=h;c[e+4>>2]=j;c[z>>2]=0;c[F>>2]=c[c[l>>2]>>2];c[x>>2]=c[c[F>>2]>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[w>>2]=c[(c[l>>2]|0)+12>>2];c[D>>2]=(c[(c[F>>2]|0)+4>>2]|0)+8+((d[(c[w>>2]|0)+16>>0]|0)*72|0);e=E;c[v>>2]=sE(c[x>>2]|0,c[y>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[D>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[v>>2]|0)){c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}b[(c[w>>2]|0)+18>>1]=0;c[(c[w>>2]|0)+36>>2]=1024;b[(c[w>>2]|0)+40>>1]=0;a[(c[w>>2]|0)+24+4>>0]=0;c[u>>2]=c[c[v>>2]>>2];if(TD(c[c[x>>2]>>2]|0,c[w>>2]|0,c[u>>2]|0)|0){Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}F=m;c[z>>2]=tE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,-1,0,c[v>>2]|0,n)|0;if((c[z>>2]|0)==0?(D=c[w>>2]|0,F=m,E=c[D>>2]&~c[F>>2],F=c[D+4>>2]&~c[F+4>>2],D=p,c[D>>2]=E,c[D+4>>2]=F,(E|0)!=0|(F|0)!=0):0){c[A>>2]=0;c[B>>2]=0;F=s;c[F>>2]=0;c[F+4>>2]=0;F=q;c[F>>2]=0;c[F+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[z>>2]=tE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[v>>2]|0,n)|0,e=c[w>>2]|0,D=m,E=c[e+4>>2]&~c[D+4>>2],F=q,c[F>>2]=c[e>>2]&~c[D>>2],c[F+4>>2]=E,F=q,(c[F>>2]|0)==0&(c[F+4>>2]|0)==0):0){c[A>>2]=1;c[B>>2]=1}while(1){if(c[z>>2]|0)break;F=r;c[F>>2]=-1;c[F+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[u>>2]|0))break;D=(c[(c[y>>2]|0)+20>>2]|0)+((c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;F=m;e=c[D+4>>2]&~c[F+4>>2];E=t;c[E>>2]=c[D>>2]&~c[F>>2];c[E+4>>2]=e;E=t;e=c[E+4>>2]|0;F=s;D=c[F+4>>2]|0;if(e>>>0>D>>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0>(c[F>>2]|0)>>>0:0)?(E=t,e=c[E+4>>2]|0,F=r,D=c[F+4>>2]|0,e>>>0>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0<(c[F>>2]|0)>>>0:0)):0){D=t;E=c[D+4>>2]|0;F=r;c[F>>2]=c[D>>2];c[F+4>>2]=E}c[o>>2]=(c[o>>2]|0)+1}D=r;E=c[D+4>>2]|0;F=s;c[F>>2]=c[D>>2];c[F+4>>2]=E;F=r;if((c[F>>2]|0)==-1?(c[F+4>>2]|0)==-1:0)break;E=r;F=p;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;E=r;F=q;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;D=m;F=r;E=m;c[z>>2]=tE(c[l>>2]|0,c[D>>2]|0,c[D+4>>2]|0,c[F>>2]|c[E>>2],c[F+4>>2]|c[E+4>>2],0,c[v>>2]|0,n)|0;E=c[w>>2]|0;F=m;if(!((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0))continue;c[A>>2]=1;if(c[n>>2]|0)continue;c[B>>2]=1}if((c[z>>2]|0)==0&(c[A>>2]|0)==0?(E=m,F=m,c[z>>2]=tE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,0,c[v>>2]|0,n)|0,(c[n>>2]|0)==0):0)c[B>>2]=1;if((c[z>>2]|0)==0&(c[B>>2]|0)==0){E=m;F=m;c[z>>2]=tE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,1,c[v>>2]|0,n)|0}}if(c[(c[v>>2]|0)+28>>2]|0)Kd(c[(c[v>>2]|0)+24>>2]|0);Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=c[z>>2];F=c[k>>2]|0;i=C;return F|0}function aE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+128|0;k=E+8|0;y=E+124|0;s=E+120|0;B=E+64|0;m=E+140|0;l=E+136|0;F=E+56|0;t=E+52|0;r=E+48|0;D=E+44|0;o=E+40|0;n=E+36|0;A=E+134|0;z=E+132|0;w=E+32|0;u=E+28|0;q=E+24|0;v=E+20|0;x=E+16|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+42>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}g=B;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+40>>1]|0;b[m>>1]=b[(c[u>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+36+1>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+38>>1]|0;b[z>>1]=_D(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[y>>2]|0)+36>>1]&128|0)==0:0)?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?(a[(c[t>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(SD(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+42>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+48>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=XD(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=eE(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){g=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(jE(c[(c[t>>2]|0)+44>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+42>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=kE(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;lE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=eE(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=mE(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+36>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+40>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=XD(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}lE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=eE(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}while(0);c[D>>2]=nE(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){g=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((g|0)==46){i=E;return c[D>>2]|0}return 0}function bE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+18>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+12>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+12>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+18>>1]&1024)){if((c[g+8>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=28;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+12>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=$D(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=aE(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=bE(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){cE(F,C);c[s>>2]=0;break}cE(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=XD(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;dE(F,k,f,l,XD(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=eE(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function cE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;yR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function dE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function eE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;dE(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}fE(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=gE((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Rw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){kD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=gE(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];hD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=hE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function fE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(iE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(iE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function gE(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function hE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;jD(c[l>>2]|0,c[g>>2]|0);d=(TD(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));yR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+4>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function iE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function jE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=28)break;if(!(jE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(rE(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function kE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=dy(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Cy(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function lE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+20>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+4>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+16>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+16>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+18>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(xy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function mE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=BR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function nE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=i;i=i+208|0;l=O+172|0;m=O+168|0;n=O+164|0;o=O+160|0;p=O+196|0;P=O+156|0;A=O+152|0;q=O+148|0;z=O+144|0;B=O+140|0;k=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;r=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[P>>2]=c[c[m>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[q>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;P=c[l>>2]|0;i=O;return P|0}if(c[(c[z>>2]|0)+36>>2]&32)c[k>>2]=24;else c[k>>2]=447;if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+42>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;c[B>>2]=LD(N,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[H>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[E>>1]=_D(b[F>>1]|0)|0;a:while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[r>>1]=b[(c[B>>2]|0)+18>>1]|0;c[u>>2]=0;if((e[r>>1]|0)!=256?(e[(c[B>>2]|0)+20>>1]&0|0)==0:0)j=13;else j=12;if((j|0)==12?(j=0,(oE(c[o>>2]|0,e[H>>1]|0)|0)==0):0)j=13;do if((j|0)==13?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){if((e[(c[B>>2]|0)+20>>1]&256|0)!=0?(e[(c[B>>2]|0)+18>>1]|0)==16:0)break;if(((d[(c[n>>2]|0)+36>>0]&8|0)!=0?(c[(c[c[B>>2]>>2]|0)+4>>2]&1|0)==0:0)?(e[r>>1]&384|0)!=0:0)break;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(TD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[r>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[u>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[u>>2]=(Kj(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else{if(e[r>>1]&130){c[s>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[s>>2]|0)!=-1){if((c[s>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[H>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[s>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}if(e[r>>1]&256){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[z>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;c[x>>2]=c[B>>2];c[C>>2]=0;if(!(e[(c[B>>2]|0)+20>>1]&256))break;c[C>>2]=(c[B>>2]|0)+48;if(TD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[C>>2]|0;h=(c[z>>2]|0)+40|0;P=b[h>>1]|0;b[h>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=g;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|16;break}else{c[j>>2]=k|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)j=c[(c[(c[z>>2]|0)+48>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[x>>2]=j;break}}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[t>>2]=P&65535;if((b[(c[B>>2]|0)+16>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1]|0)>=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[u>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[t>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[t>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else pE(c[A>>2]|0,c[m>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=XD(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=XD(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));lE(c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=eE(c[m>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)nE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[u>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}while(0);c[B>>2]=MD(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=TD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){N=(c[z>>2]|0)+24|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+42|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+40|0;P=b[N>>1]|0;b[N>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[v>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[v>>1]|0);b[v>>1]=(b[v>>1]|0)+5;nE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[v>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2]}c[l>>2]=c[G>>2];P=c[l>>2]|0;i=O;return P|0}function oE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function pE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=qE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=qE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+16>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function qE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+16>>1]|0);break}if(!(e[d+20>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function rE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(Cy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==27){if((rE(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(rE(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Cy(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function sE(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+8|0;m=G+76|0;n=G+72|0;o=G+68|0;p=G;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;c[w>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(k=(c[D>>2]|0)+32|0,g=p,!((c[k>>2]&c[g>>2]|0)!=0?1:(c[k+4>>2]&c[g+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[v>>2]=0;if(c[r>>2]|0){c[u>>2]=c[c[r>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;c[y>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)!=152)break;if((c[(c[y>>2]|0)+28>>2]|0)!=(c[(c[q>>2]|0)+44>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(c[u>>2]|0))c[v>>2]=c[u>>2]}c[B>>2]=rh(c[c[n>>2]>>2]|0,72+((c[w>>2]|0)*20|0)+(c[v>>2]<<3)|0,0)|0;if(!(c[B>>2]|0)){Ch(c[n>>2]|0,25632,F);c[m>>2]=0;F=c[m>>2]|0;i=G;return F|0}c[A>>2]=(c[B>>2]|0)+72;c[C>>2]=(c[A>>2]|0)+((c[w>>2]|0)*12|0);c[E>>2]=(c[C>>2]|0)+(c[v>>2]<<3);c[c[B>>2]>>2]=c[w>>2];c[(c[B>>2]|0)+8>>2]=c[v>>2];c[(c[B>>2]|0)+4>>2]=c[A>>2];c[(c[B>>2]|0)+12>>2]=c[C>>2];c[(c[B>>2]|0)+16>>2]=c[E>>2];c[t>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(g=(c[D>>2]|0)+32|0,F=p,!((c[g>>2]&c[F>>2]|0)!=0?1:(c[g+4>>2]&c[F+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0){c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)>>2]=c[(c[D>>2]|0)+12>>2];c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+8>>2]=c[s>>2];F=b[(c[D>>2]|0)+18>>1]&255;a[x>>0]=F;a[x>>0]=(d[x>>0]|0)==1?2:F;if((d[x>>0]|0)==64)a[x>>0]=a[(c[D>>2]|0)+23>>0]|0;a[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+4>>0]=a[x>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;c[z>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]=b[(c[z>>2]|0)+32>>1];a[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]=a[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+12>>0]|0;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[B>>2];F=c[m>>2]|0;i=G;return F|0}function tE(f,g,j,k,l,m,n,o){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+96|0;E=L+16|0;G=L+88|0;H=L+84|0;M=L+8|0;q=L;r=L+92|0;I=L+80|0;p=L+76|0;D=L+72|0;x=L+68|0;C=L+64|0;s=L+60|0;v=L+56|0;K=L+52|0;J=L+48|0;y=L+44|0;z=L+40|0;w=L+36|0;A=L+32|0;t=L+28|0;B=L+24|0;u=L+20|0;c[H>>2]=f;f=M;c[f>>2]=g;c[f+4>>2]=j;f=q;c[f>>2]=k;c[f+4>>2]=l;b[r>>1]=m;c[I>>2]=n;c[p>>2]=o;c[D>>2]=c[(c[H>>2]|0)+4>>2];c[C>>2]=c[(c[I>>2]|0)+16>>2];c[K>>2]=0;c[J>>2]=c[(c[H>>2]|0)+12>>2];c[y>>2]=c[c[c[H>>2]>>2]>>2];c[z>>2]=(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+16>>0]|0)*72|0);c[w>>2]=c[c[I>>2]>>2];c[c[p>>2]>>2]=0;f=M;n=c[f+4>>2]|0;o=c[J>>2]|0;c[o>>2]=c[f>>2];c[o+4>>2]=n;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[A>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[(c[x>>2]|0)+8>>2]|0)*48|0);a[(c[x>>2]|0)+5>>0]=0;n=(c[A>>2]|0)+32|0;o=q;M=(c[A>>2]|0)+32|0;if(((c[n>>2]&c[o>>2]|0)==(c[M>>2]|0)?(c[n+4>>2]&c[o+4>>2]|0)==(c[M+4>>2]|0):0)?(e[(c[A>>2]|0)+18>>1]&e[r>>1]|0)==0:0)a[(c[x>>2]|0)+5>>0]=1;c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}AR(c[C>>2]|0,0,c[w>>2]<<3|0)|0;c[(c[I>>2]|0)+24>>2]=0;c[(c[I>>2]|0)+20>>2]=0;c[(c[I>>2]|0)+32>>2]=0;h[(c[I>>2]|0)+40>>3]=5.e+98;A=(c[I>>2]|0)+48|0;c[A>>2]=25;c[A+4>>2]=0;c[(c[I>>2]|0)+56>>2]=0;A=(c[z>>2]|0)+56|0;o=c[A+4>>2]|0;M=(c[I>>2]|0)+64|0;c[M>>2]=c[A>>2];c[M+4>>2]=o;c[K>>2]=uE(c[y>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[I>>2]|0)|0;if(c[K>>2]|0){c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}c[v>>2]=-1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]=0;c[s>>2]=(c[s>>2]|0)+1}b[(c[J>>2]|0)+24+6>>1]=0;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;M=(c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]|0)-1|0;c[t>>2]=M;if((M|0)>=0){c[u>>2]=c[(c[x>>2]|0)+8>>2];if((c[u>>2]|0)<0?1:(c[t>>2]|0)>=(c[w>>2]|0)){F=19;break}if((c[u>>2]|0)>=(c[(c[D>>2]|0)+12>>2]|0)){F=19;break}if(c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]|0){F=19;break}if(!(d[(c[x>>2]|0)+5>>0]|0)){F=19;break}c[B>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);A=(c[B>>2]|0)+32|0;M=c[J>>2]|0;n=M;o=c[n+4>>2]|c[A+4>>2];c[M>>2]=c[n>>2]|c[A>>2];c[M+4>>2]=o;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]=c[B>>2];if((c[t>>2]|0)>(c[v>>2]|0))c[v>>2]=c[t>>2];if((c[t>>2]|0)<16?(d[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]|0)!=0:0){M=(c[J>>2]|0)+24+6|0;b[M>>1]=e[M>>1]|1<>2]}if(e[(c[B>>2]|0)+18>>1]&1){c[(c[I>>2]|0)+32>>2]=0;M=(c[I>>2]|0)+56|0;c[M>>2]=c[M>>2]&-2;c[c[p>>2]>>2]=1}}c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}if((F|0)==19){c[K>>2]=1;M=c[y>>2]|0;c[E>>2]=c[c[(c[z>>2]|0)+16>>2]>>2];Ch(M,35323,E);c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}b[(c[J>>2]|0)+40>>1]=(c[v>>2]|0)+1;c[(c[J>>2]|0)+24>>2]=c[(c[I>>2]|0)+20>>2];a[(c[J>>2]|0)+24+4>>0]=c[(c[I>>2]|0)+28>>2];c[(c[I>>2]|0)+28>>2]=0;c[(c[J>>2]|0)+24+8>>2]=c[(c[I>>2]|0)+24>>2];if(c[(c[I>>2]|0)+32>>2]|0)g=c[(c[I>>2]|0)+8>>2]|0;else g=0;a[(c[J>>2]|0)+24+5>>0]=g;b[(c[J>>2]|0)+18>>1]=0;g=vE(+h[(c[I>>2]|0)+40>>3])|0;b[(c[J>>2]|0)+20>>1]=g;g=(c[I>>2]|0)+48|0;g=Kj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[J>>2]|0)+22>>1]=g;g=(c[J>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[I>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[K>>2]=eE(c[H>>2]|0,c[J>>2]|0)|0;if(a[(c[J>>2]|0)+24+4>>0]|0){Kd(c[(c[J>>2]|0)+24+8>>2]|0);a[(c[J>>2]|0)+24+4>>0]=0}c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}function uE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Nx(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){lh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Ch(d,19007,j);break}else{c[h>>2]=kh(c[g>>2]|0)|0;Ch(d,19007,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+68>>2]|0}function vE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Kj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=xR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=vR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function wE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=dy(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=_x(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0}function xE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+224|0;l=ga+196|0;m=ga+192|0;n=ga+188|0;j=ga+184|0;$=ga+180|0;P=ga+176|0;K=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;E=ga+164|0;F=ga+160|0;G=ga+156|0;W=ga+152|0;q=ga+148|0;s=ga+208|0;k=ga+16|0;x=ga+144|0;w=ga+140|0;L=ga+136|0;X=ga+132|0;H=ga+204|0;Q=ga+128|0;J=ga+124|0;r=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;o=ga+207|0;p=ga+206|0;I=ga+68|0;D=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[Z>>2]=0;c[E>>2]=0;c[F>>2]=0;c[W>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[W>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=ga;return}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[P>>2]=(c[j>>2]|0)+68;c[K>>2]=c[c[$>>2]>>2];g=VD(c[P>>2]|0,c[(c[K>>2]|0)+12>>2]|0)|0;j=da;c[j>>2]=g;c[j+4>>2]=C;c[G>>2]=d[c[K>>2]>>0];do if((c[G>>2]|0)==33){h=c[P>>2]|0;f=(c[K>>2]|0)+20|0;if(c[(c[K>>2]|0)+4>>2]&2048){g=WD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=wD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[G>>2]|0)==34){j=(c[$>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=VD(c[P>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=VD(c[P>>2]|0,c[K>>2]|0)|0;j=aa;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[K>>2]|0)+4>>2]&1){h=AD(c[P>>2]|0,b[(c[K>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=aa;g=c[h+4>>2]|c[f+4>>2];j=aa;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=vR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=aa;h=c[j+4>>2]|0;k=(c[$>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[$>>2]|0)+8>>2]=-1;c[(c[$>>2]|0)+4>>2]=-1;b[(c[$>>2]|0)+18>>1]=0;k=(yE(c[G>>2]|0)|0)!=0;h=c[K>>2]|0;a:do if(k){c[L>>2]=dy(c[h+12>>2]|0)|0;c[X>>2]=dy(c[(c[K>>2]|0)+16>>2]|0)|0;O=(c[$>>2]|0)+32|0;R=da;b[H>>1]=((c[O>>2]&c[R>>2]|0)==0?(c[O+4>>2]&c[R+4>>2]|0)==0:0)?8191:2048;R=da;if(zE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[L>>2]|0,x,w)|0){c[(c[$>>2]|0)+8>>2]=c[x>>2];c[(c[$>>2]|0)+12>>2]=c[w>>2];R=(AE(c[G>>2]|0)|0)&65535;b[(c[$>>2]|0)+18>>1]=R&e[H>>1]}if((c[G>>2]|0)==29){R=(c[$>>2]|0)+20|0;b[R>>1]=e[R>>1]|2048}if((c[X>>2]|0)!=0?(R=(c[$>>2]|0)+32|0,(zE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[X>>2]|0,x,w)|0)!=0):0){b[r>>1]=0;if((c[(c[$>>2]|0)+8>>2]|0)>=0){c[J>>2]=Ay(c[q>>2]|0,c[K>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){gv(c[q>>2]|0,c[J>>2]|0);i=ga;return}c[y>>2]=BE(c[m>>2]|0,c[J>>2]|0,3)|0;if(!(c[y>>2]|0)){i=ga;return}c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);CE(c[m>>2]|0,c[y>>2]|0,c[n>>2]|0);if((c[G>>2]|0)==29){X=(c[Q>>2]|0)+20|0;b[X>>1]=e[X>>1]|2048}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);X=(c[$>>2]|0)+20|0;b[X>>1]=e[X>>1]|8;if(DE(c[W>>2]|0,c[J>>2]|0)|0){X=(c[$>>2]|0)+18|0;b[X>>1]=e[X>>1]|2048;b[r>>1]=2048}}else{c[J>>2]=c[K>>2];c[Q>>2]=c[$>>2]}EE(c[W>>2]|0,c[J>>2]|0);c[(c[Q>>2]|0)+8>>2]=c[x>>2];c[(c[Q>>2]|0)+12>>2]=c[w>>2];O=da;R=t;da=c[O+4>>2]|c[R+4>>2];X=(c[Q>>2]|0)+32|0;c[X>>2]=c[O>>2]|c[R>>2];c[X+4>>2]=da;X=aa;aa=c[X+4>>2]|0;da=(c[Q>>2]|0)+40|0;c[da>>2]=c[X>>2];c[da+4>>2]=aa;da=(AE(d[c[J>>2]>>0]|0)|0)&65535;b[(c[Q>>2]|0)+18>>1]=da+(e[r>>1]|0)&e[H>>1]}}else{if((d[h>>0]|0)==32?(d[(c[m>>2]|0)+8>>0]|0)==28:0){c[O>>2]=c[(c[K>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;X=c[W>>2]|0;aa=d[35349+(c[u>>2]|0)>>0]|0;da=Ay(c[q>>2]|0,c[(c[K>>2]|0)+12>>2]|0,0)|0;c[R>>2]=Cv(X,aa,da,Ay(c[q>>2]|0,c[(c[(c[O>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;FE(c[R>>2]|0,c[K>>2]|0);c[z>>2]=BE(c[m>>2]|0,c[R>>2]|0,3)|0;xE(c[l>>2]|0,c[m>>2]|0,c[z>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);CE(c[m>>2]|0,c[z>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[K>>2]>>0]|0)==27){GE(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==28?(HE(c[W>>2]|0,c[K>>2]|0,Z,E,F)|0)!=0:0){b[ea>>1]=259;c[M>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[_>>2]=Ay(c[q>>2]|0,c[Z>>2]|0,0)|0;b:do if((c[F>>2]|0)!=0?(a[(c[c[W>>2]>>2]|0)+69>>0]|0)==0:0){ea=(c[$>>2]|0)+20|0;b[ea>>1]=e[ea>>1]|1024;c[v>>2]=0;while(1){ea=a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]|0;a[o>>0]=ea;if(!(ea<<24>>24))break b;a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[o>>0]&~(d[19019+(d[o>>0]|0)>>0]&32);a[(c[(c[_>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[18229+(d[o>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ea=(Jf(c[(c[_>>2]|0)+8>>2]|0)|0)-1|0;c[I>>2]=(c[(c[_>>2]|0)+8>>2]|0)+ea;a[p>>0]=a[c[I>>2]>>0]|0;if(c[F>>2]|0){if((d[p>>0]|0)==64)c[E>>2]=0;a[p>>0]=a[18229+(d[p>>0]|0)>>0]|0}a[c[I>>2]>>0]=(d[p>>0]|0)+1}c[fa>>2]=(c[F>>2]|0)!=0?21045:35351;c[S>>2]=Ay(c[q>>2]|0,c[M>>2]|0,0)|0;da=c[W>>2]|0;ea=Oy(c[W>>2]|0,c[S>>2]|0,c[fa>>2]|0)|0;c[S>>2]=Cv(da,41,ea,c[Z>>2]|0,0)|0;FE(c[S>>2]|0,c[K>>2]|0);c[A>>2]=BE(c[m>>2]|0,c[S>>2]|0,259)|0;xE(c[l>>2]|0,c[m>>2]|0,c[A>>2]|0);c[T>>2]=Ay(c[q>>2]|0,c[M>>2]|0,0)|0;ea=c[W>>2]|0;fa=Oy(c[W>>2]|0,c[T>>2]|0,c[fa>>2]|0)|0;c[T>>2]=Cv(ea,40,fa,c[_>>2]|0,0)|0;FE(c[T>>2]|0,c[K>>2]|0);c[B>>2]=BE(c[m>>2]|0,c[T>>2]|0,259)|0;xE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[E>>2]|0){CE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);CE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0)}}if((IE(c[K>>2]|0,s)|0)!=0?(c[Y>>2]=c[c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]>>2],c[N>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=VD(c[P>>2]|0,c[Y>>2]|0)|0,fa=ca,c[fa>>2]=ea,c[fa+4>>2]=C,fa=VD(c[P>>2]|0,c[N>>2]|0)|0,ea=ba,c[ea>>2]=fa,c[ea+4>>2]=C,ea=ca,fa=ba,(c[ea>>2]&c[fa>>2]|0)==0?(c[ea+4>>2]&c[fa+4>>2]|0)==0:0):0){fa=c[W>>2]|0;c[U>>2]=Cv(fa,30,0,Ay(c[q>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[D>>2]=BE(c[m>>2]|0,c[U>>2]|0,3)|0;c[V>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0);fa=ca;ea=c[fa+4>>2]|0;da=(c[V>>2]|0)+32|0;c[da>>2]=c[fa>>2];c[da+4>>2]=ea;c[(c[V>>2]|0)+8>>2]=c[(c[N>>2]|0)+28>>2];c[(c[V>>2]|0)+12>>2]=b[(c[N>>2]|0)+32>>1];b[(c[V>>2]|0)+18>>1]=64;a[(c[V>>2]|0)+23>>0]=a[s>>0]|0;CE(c[m>>2]|0,c[D>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);da=(c[$>>2]|0)+20|0;b[da>>1]=e[da>>1]|8;da=(c[$>>2]|0)+40|0;ea=c[da+4>>2]|0;fa=(c[V>>2]|0)+40|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea}da=t;fa=(c[$>>2]|0)+32|0;ca=fa;ea=c[ca+4>>2]|c[da+4>>2];c[fa>>2]=c[ca>>2]|c[da>>2];c[fa+4>>2]=ea;i=ga;return}function yE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)b=(c[b>>2]|0)==29;else b=1;i=d;return b&1|0}function zE(a,f,g,h,j,k){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;q=u+36|0;l=u+32|0;m=u;n=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;o=u+12|0;t=u+8|0;c[l>>2]=a;a=m;c[a>>2]=f;c[a+4>>2]=g;c[n>>2]=h;c[r>>2]=j;c[s>>2]=k;if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}j=m;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}j=m;a=c[j>>2]|0;j=c[j+4>>2]|0;k=m;k=vR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((a&k|0)!=0|(j&C|0)!=0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}c[o>>2]=0;while(1){j=m;k=c[j+4>>2]|0;f=c[o>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>1))break;c[o>>2]=f+1;k=m;k=xR(c[k>>2]|0,c[k+4>>2]|0,1)|0;j=m;c[j>>2]=k;c[j+4>>2]=C}c[t>>2]=c[(c[l>>2]|0)+8+(f*72|0)+44>>2];c[p>>2]=c[(c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0)){f=20;break}b:do if(c[(c[p>>2]|0)+40>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break b;if((b[(c[(c[p>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Cy(c[n>>2]|0,c[(c[(c[(c[p>>2]|0)+40>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){f=17;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((f|0)==17){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}else if((f|0)==20){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function AE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function BE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+28|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[h>>2]|0)+12>>2]|0)>=(c[(c[h>>2]|0)+16>>2]|0)){c[n>>2]=c[(c[h>>2]|0)+20>>2];c[l>>2]=c[c[c[c[h>>2]>>2]>>2]>>2];f=Rw(c[l>>2]|0,(c[(c[h>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[h>>2]|0)+20>>2]=f;if(c[(c[h>>2]|0)+20>>2]|0){yR(c[(c[h>>2]|0)+20>>2]|0,c[n>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)*48|0)|0;if((c[n>>2]|0)!=((c[h>>2]|0)+24|0))Tf(c[l>>2]|0,c[n>>2]|0);f=((iu(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[h>>2]|0)+16>>2]=f;AR((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)*48|0)|0,0,((c[(c[h>>2]|0)+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((e[k>>1]|0)&1)gv(c[l>>2]|0,c[j>>2]|0);c[(c[h>>2]|0)+20>>2]=c[n>>2];c[g>>2]=0;f=c[g>>2]|0;i=p;return f|0}while(0);a=(c[h>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[m>>2]=f;c[o>>2]=(c[(c[h>>2]|0)+20>>2]|0)+(f*48|0);if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[j>>2]|0)+28>>2]|0;f=((Kj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[o>>2]|0)+16>>1]=f}else b[(c[o>>2]|0)+16>>1]=1;f=dy(c[j>>2]|0)|0;c[c[o>>2]>>2]=f;b[(c[o>>2]|0)+20>>1]=b[k>>1]|0;c[(c[o>>2]|0)+24>>2]=c[h>>2];c[(c[o>>2]|0)+4>>2]=-1;c[g>>2]=c[m>>2];f=c[g>>2]|0;i=p;return f|0}function CE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+4>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+16>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+22|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function DE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=37?(d[c[k>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=Zx(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=Zx(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=gB(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,35351)|0)!=0:0){c[l>>2]=_x(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=_x(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(ig(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function EE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(_x(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<38){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-38^2)+38;i=m;return}function FE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function GE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=rh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+12>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+20|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];AR((c[Q>>2]|0)+24|0,0,384)|0;nD(c[Q>>2]|0,c[T>>2]|0);oD(c[Q>>2]|0,c[L>>2]|0,27);rD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+18>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Rw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+12>>2]=c[p>>2];g=(c[P>>2]|0)+20|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+18>>1]=1024;c[r>>2]=c[p>>2];AR((c[r>>2]|0)+24|0,0,384)|0;nD(c[r>>2]|0,c[c[x>>2]>>2]|0);oD(c[r>>2]|0,c[c[P>>2]>>2]|0,28);rD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(yE(d[c[c[q>>2]>>2]>>0]|0)|0){h=AD((c[T>>2]|0)+68|0,c[(c[q>>2]|0)+8>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+20>>1]&8)){g=AD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+20>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+4>>2]|0)*48|0);f=AD((c[T>>2]|0)+68|0,c[(c[u>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+18>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+18>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=NE(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=NE(g,W)|0;c[v>>2]=W;if(!W)continue c;OE(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=AD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=36;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==36){U=0;c[F>>2]=c[(c[P>>2]|0)+12>>2];c[G>>2]=c[(c[P>>2]|0)+8>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)){W=j+20|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+12>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(Zx(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(Zx(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+20>>1]&64){c[K>>2]=Ay(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Rv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=Ay(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=Cv(c[R>>2]|0,33,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){FE(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=BE(c[x>>2]|0,c[O>>2]|0,3)|0;xE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);CE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else cv(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+18>>1]=4096;i=V;return}function HE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(JE(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((Zx(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=dy(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+480>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=KE(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(fe(c[A>>2]|0)|0)==3:0)c[E>>2]=ae(c[A>>2]|0)|0;LE(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Uv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];LE(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=hA(c[s>>2]|0)|0;LA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;ME(G,(Oz(c[D>>2]|0)|0)-1|0,0);lA(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;bh(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function IE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;k=n+56|0;h=n+52|0;l=n+48|0;m=n+16|0;g=n+8|0;f=n+4|0;j=n;c[h>>2]=b;c[l>>2]=e;c[m>>2]=c[1571];c[m+4>>2]=c[1572];c[m+8>>2]=c[1573];c[m+12>>2]=c[1574];c[m+16>>2]=c[1575];c[m+20>>2]=c[1576];c[m+24>>2]=c[1577];c[m+28>>2]=c[1578];if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[m+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[m+(b<<3)+4>>0]|0;c[k>>2]=1;m=c[k>>2]|0;i=n;return m|0}else if((f|0)==14){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0} -function XH(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1840|0;Ke=vf+496|0;Je=vf+488|0;Ie=vf+480|0;jf=vf+464|0;hf=vf+456|0;He=vf+448|0;Ge=vf+440|0;Fe=vf+432|0;Ee=vf+424|0;De=vf+416|0;Ce=vf+400|0;gf=vf+392|0;Be=vf+384|0;Ae=vf+376|0;ze=vf+368|0;ye=vf+360|0;xe=vf+352|0;of=vf+336|0;nf=vf+328|0;mf=vf+320|0;lf=vf+312|0;qf=vf+1620|0;ef=vf+1616|0;pf=vf+1612|0;uf=vf+1608|0;rf=vf+1604|0;ff=vf+1826|0;G=vf+1825|0;da=vf+1600|0;tf=vf+1596|0;ab=vf+1592|0;l=vf+1588|0;Mc=vf+1584|0;Nc=vf+1580|0;Oc=vf+1576|0;gd=vf+1572|0;n=vf+1568|0;sf=vf+304|0;g=vf+1564|0;bc=vf+1560|0;Gd=vf+1556|0;Ec=vf+1552|0;kf=vf+1548|0;A=vf+1544|0;gb=vf+1634|0;vd=vf+1540|0;Ea=vf+1536|0;nb=vf+1532|0;rb=vf+1528|0;Fa=vf+1524|0;Uc=vf+1520|0;Q=vf+1516|0;Na=vf+296|0;w=vf+1824|0;K=vf+1632|0;pe=vf+1630|0;qe=vf+1628|0;_=vf+288|0;ba=vf+280|0;Od=vf+272|0;Pd=vf+264|0;Ga=vf+1512|0;kc=vf+1508|0;V=vf+1504|0;lc=vf+1500|0;aa=vf+256|0;re=vf+248|0;ca=vf+240|0;kb=vf+1823|0;Qd=vf+1496|0;r=vf+1822|0;L=vf+1626|0;O=vf+1624|0;Ja=vf+1492|0;W=vf+1488|0;qb=vf+1484|0;sb=vf+1480|0;Qc=vf+1476|0;ua=vf+1472|0;cc=vf+1468|0;x=vf+1464|0;te=vf+1460|0;ue=vf+1456|0;y=vf+1452|0;Fd=vf+232|0;tb=vf+1448|0;Ab=vf+1444|0;dc=vf+1440|0;m=vf+1436|0;Ca=vf+1432|0;S=vf+1428|0;Bc=vf+1424|0;he=vf+192|0;Se=vf+1420|0;Xe=vf+1416|0;Ve=vf+1412|0;ib=vf+1408|0;jb=vf+184|0;v=vf+1404|0;le=vf+1400|0;ld=vf+1396|0;Qe=vf+1392|0;z=vf+1821|0;af=vf+1388|0;kd=vf+1384|0;Ra=vf+176|0;Xa=vf+1380|0;Oa=vf+168|0;db=vf+160|0;cb=vf+1376|0;ke=vf+1372|0;xc=vf+1368|0;Tc=vf+1364|0;Ua=vf+1360|0;Re=vf+1356|0;J=vf+1352|0;U=vf+1348|0;Ba=vf+1344|0;Da=vf+1340|0;Sa=vf+152|0;ec=vf+1336|0;pb=vf+1332|0;_e=vf+1328|0;$a=vf+1324|0;fd=vf+1320|0;nd=vf+1316|0;rd=vf+1312|0;sa=vf+1308|0;va=vf+1304|0;za=vf+1300|0;ya=vf+1296|0;D=vf+1292|0;ra=vf+1288|0;wb=vf+1284|0;na=vf+1280|0;ja=vf+1276|0;oa=vf+1272|0;fa=vf+1268|0;ea=vf+1264|0;yc=vf+1260|0;Va=vf+1256|0;Rc=vf+1252|0;ub=vf+1248|0;ga=vf+1244|0;Me=vf+1240|0;Dd=vf+1236|0;oc=vf+1232|0;zc=vf+1228|0;tc=vf+1224|0;Sc=vf+1220|0;Hd=vf+1216|0;uc=vf+1212|0;Bb=vf+1208|0;vc=vf+1204|0;Vd=vf+1200|0;hb=vf+1196|0;Cb=vf+1192|0;Kd=vf+1176|0;Wa=vf+1168|0;ka=vf+144|0;H=vf+1164|0;s=vf+1160|0;oe=vf+1156|0;wa=vf+1152|0;Db=vf+1148|0;Wd=vf+1144|0;Jc=vf+1140|0;Kc=vf+1136|0;Ld=vf+1120|0;q=vf+1638|0;Eb=vf+1112|0;fc=vf+1108|0;Xd=vf+1104|0;la=vf+136|0;se=vf+128|0;Fb=vf+1100|0;Yd=vf+1096|0;B=vf+1092|0;Vc=vf+1088|0;Fc=vf+1084|0;wc=vf+1080|0;Pc=vf+1076|0;ma=vf+120|0;Gb=vf+1072|0;eb=vf+1068|0;je=vf+1064|0;Te=vf+1060|0;od=vf+1056|0;lb=vf+1052|0;Hb=vf+1048|0;Ue=vf+1044|0;pd=vf+1040|0;mb=vf+1036|0;Ib=vf+1032|0;Zd=vf+1028|0;Za=vf+1024|0;Jb=vf+1020|0;Kb=vf+1016|0;gc=vf+1012|0;Ha=vf+1008|0;Ia=vf+112|0;Lb=vf+1004|0;ve=vf+104|0;wd=vf+1e3|0;_c=vf+996|0;Mb=vf+992|0;Nb=vf+988|0;hc=vf+984|0;_d=vf+980|0;Pb=vf+976|0;ic=vf+972|0;$d=vf+968|0;Qb=vf+964|0;be=vf+960|0;Sb=vf+956|0;Ya=vf+952|0;Ye=vf+948|0;Vb=vf+944|0;jc=vf+940|0;ce=vf+936|0;Md=vf+920|0;_b=vf+916|0;qd=vf+912|0;ee=vf+96|0;$b=vf+908|0;de=vf+904|0;Nd=vf+888|0;pa=vf+884|0;ha=vf+880|0;Qa=vf+876|0;ac=vf+872|0;Id=vf+868|0;P=vf+864|0;Ac=vf+860|0;ia=vf+856|0;Ze=vf+852|0;bf=vf+848|0;xa=vf+832|0;bb=vf+824|0;p=vf+820|0;Ta=vf+816|0;Ne=vf+812|0;Jd=vf+808|0;we=vf+88|0;ta=vf+804|0;I=vf+800|0;_a=vf+796|0;Pa=vf+792|0;md=vf+788|0;Wc=vf+784|0;Dc=vf+780|0;Gc=vf+776|0;id=vf+772|0;me=vf+768|0;Hc=vf+764|0;Lc=vf+760|0;Ic=vf+756|0;Ka=vf+752|0;mc=vf+748|0;X=vf+744|0;nc=vf+740|0;Xc=vf+736|0;ne=vf+48|0;Yc=vf+732|0;Y=vf+728|0;o=vf+716|0;Zc=vf+712|0;zb=vf+708|0;hd=vf+704|0;E=vf+700|0;F=vf+696|0;We=vf+692|0;xb=vf+688|0;Aa=vf+1637|0;ob=vf+684|0;Oe=vf+680|0;ud=vf+676|0;ie=vf+8|0;cf=vf+672|0;pc=vf+668|0;sd=vf+664|0;xd=vf+660|0;$c=vf+656|0;La=vf+652|0;qa=vf+648|0;ad=vf+644|0;jd=vf+640|0;vb=vf+636|0;td=vf+632|0;yd=vf+628|0;qc=vf+624|0;Td=vf+620|0;R=vf+616|0;t=vf+612|0;zd=vf+608|0;bd=vf+604|0;Cc=vf+600|0;ge=vf+568|0;rc=vf+564|0;Ad=vf+560|0;cd=vf+556|0;Ud=vf+552|0;sc=vf+548|0;Bd=vf+544|0;ed=vf+540|0;Cd=vf+536|0;dd=vf+532|0;Ma=vf+528|0;T=vf+524|0;fe=vf;u=vf+520|0;Ed=vf+516|0;Le=vf+1636|0;fb=vf+512|0;yb=vf+508|0;df=vf+504|0;Pe=vf+500|0;c[qf>>2]=f;c[ef>>2]=c[(c[qf>>2]|0)+4>>2];c[pf>>2]=c[ef>>2];c[uf>>2]=0;c[rf>>2]=c[c[qf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[rf>>2]|0)+66>>0]|0;c[da>>2]=0;c[tf>>2]=0;c[ab>>2]=0;c[l>>2]=c[(c[qf>>2]|0)+8>>2];c[Mc>>2]=0;c[Nc>>2]=0;c[Oc>>2]=0;c[gd>>2]=0;c[n>>2]=0;wf=(c[rf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=sf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;aI(c[qf>>2]|0);a:do if((c[(c[qf>>2]|0)+80>>2]|0)==7)k=881;else{c[(c[qf>>2]|0)+80>>2]=0;wf=(c[qf>>2]|0)+136|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[qf>>2]|0)+20>>2]=0;c[(c[rf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[rf>>2]|0)+248>>2]|0)){if(c[(c[rf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[qf>>2]|0)+108+16>>2];c[ab>>2]=(c[(c[rf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0)}c[pf>>2]=(c[ef>>2]|0)+((c[(c[qf>>2]|0)+76>>2]|0)*20|0);c:while(1){c[tf>>2]=(c[tf>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 85:{k=64;break c}case 1:{k=387;break c}case 13:{k=7;break}case 14:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;wf=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;k=c[Mc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 70:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[ef>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 15:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}case 71:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[bc>>2]=(c[ef>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);c[pf>>2]=(c[ef>>2]|0)+(((c[(c[bc>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 16:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;c[Gd>>2]=c[c[Mc>>2]>>2];j=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;wf=c[Mc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[ef>>2]|0)+((c[Gd>>2]|0)*20|0);break}case 72:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)k=20;break}case 73:{k=20;break}case 74:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 75:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 133:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=8;h[c[gd>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=76;wf=Jf(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=fh(c[gd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if(gu(c[gd>>2]|0,d[G>>0]|0)|0){k=881;break a}c[(c[gd>>2]|0)+24>>2]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Tf(c[rf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[gd>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[gd>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[rf>>2]|0)+92>>2]|0)){k=880;break c}else k=43;break}case 76:{k=43;break}case 77:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[A>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);wf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[gb>>1]=wf;b[(c[gd>>2]|0)+8>>1]=wf;while(1){if((c[A>>2]|0)<=0)break d;c[gd>>2]=(c[gd>>2]|0)+40;hh(c[gd>>2]|0);b[(c[gd>>2]|0)+8>>1]=b[gb>>1]|0;c[A>>2]=(c[A>>2]|0)+-1}}case 78:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=(e[(c[gd>>2]|0)+8>>1]|1)&-129;break}case 79:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;fh(c[gd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 80:{c[vd>>2]=(c[(c[qf>>2]|0)+60>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(gI(c[vd>>2]|0)|0){k=880;break c}c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;PF(c[gd>>2]|0,c[vd>>2]|0,2048);break}case 81:{c[Ea>>2]=c[(c[pf>>2]|0)+12>>2];c[nb>>2]=c[(c[pf>>2]|0)+4>>2];c[rb>>2]=c[(c[pf>>2]|0)+8>>2];c[Mc>>2]=(c[l>>2]|0)+((c[nb>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);do{RH(c[gd>>2]|0,c[Mc>>2]|0);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=881;break a}c[Mc>>2]=(c[Mc>>2]|0)+40;c[gd>>2]=(c[gd>>2]|0)+40;wf=(c[Ea>>2]|0)+-1|0;c[Ea>>2]=wf}while((wf|0)!=0);break}case 82:{c[Fa>>2]=c[(c[pf>>2]|0)+12>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){PF(c[gd>>2]|0,c[Mc>>2]|0,4096);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=881;break a}wf=c[Fa>>2]|0;c[Fa>>2]=wf+-1;if(!wf)break d;c[gd>>2]=(c[gd>>2]|0)+40;c[Mc>>2]=(c[Mc>>2]|0)+40}}case 83:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);PF(c[gd>>2]|0,c[Mc>>2]|0,4096);break}case 84:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wf=c[Mc>>2]|0;gh(c[gd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 52:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}if((e[(c[Mc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Mc>>2]|0)|0)!=0:0){k=881;break a}if((e[(c[Nc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Nc>>2]|0)|0)!=0:0){k=881;break a}if((e[(c[Mc>>2]|0)+8>>1]&18|0)==0?(Fx(c[Mc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=881;break a}if((e[(c[Nc>>2]|0)+8>>1]&18|0)==0?(Fx(c[Nc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=881;break a}g=(c[(c[Mc>>2]|0)+12>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0;j=Na;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Na;g=c[j+4>>2]|0;wf=c[(c[rf>>2]|0)+92>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=880;break c}if(Hx(c[gd>>2]|0,(c[Na>>2]|0)+2|0,(c[gd>>2]|0)==(c[Nc>>2]|0)&1)|0){k=881;break a}b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|2;if((c[gd>>2]|0)!=(c[Nc>>2]|0))yR(c[(c[gd>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+12>>2]|0)|0;yR((c[(c[gd>>2]|0)+16>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0,c[(c[Mc>>2]|0)+16>>2]|0,c[(c[Mc>>2]|0)+12>>2]|0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+(c[Na>>2]|0)>>0]=0;wf=Na;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[gd>>2]|0)+12>>2]=c[Na>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[pe>>1]=kI(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[qe>>1]=kI(c[Nc>>2]|0)|0;c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[pe>>1]&e[qe>>1]&4){wf=c[Mc>>2]|0;j=c[wf+4>>2]|0;f=_;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Nc>>2]|0;j=c[f+4>>2]|0;wf=ba;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[pf>>2]>>0]|0){case 47:{wf=_;if(lI(ba,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 48:{wf=_;if(mI(ba,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 49:{wf=_;if(nI(ba,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 50:{wf=_;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=_;wf=ba;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=_;f=ba;wf=ba;c[wf>>2]=FR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=_;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=_;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=_;c[wf>>2]=1;c[wf+4>>2]=0}j=_;f=ba;wf=ba;c[wf>>2]=GR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ba;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Od>>3]=+_g(c[Mc>>2]|0);h[Pd>>3]=+_g(c[Nc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 47:{h[Pd>>3]=+h[Pd>>3]+ +h[Od>>3];break}case 48:{h[Pd>>3]=+h[Pd>>3]-+h[Od>>3];break}case 49:{h[Pd>>3]=+h[Pd>>3]*+h[Od>>3];break}case 50:{if(+h[Od>>3]==0.0)break e;h[Pd>>3]=+h[Pd>>3]/+h[Od>>3];break}default:{xf=+h[Od>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=_;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Pd>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ba;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=_;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=_;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=_;c[wf>>2]=1;c[wf+4>>2]=0}j=ba;wf=_;h[Pd>>3]=+((GR(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(VF(+h[Pd>>3])|0)){h[c[gd>>2]>>3]=+h[Pd>>3];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[pe>>1]|e[qe>>1])&8|0)!=0)break d;Cx(c[gd>>2]|0);break d}}while(0);hh(c[gd>>2]|0);break}case 86:{if(c[(c[pf>>2]|0)+4>>2]|0)gh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 87:{c[Ga>>2]=d[(c[pf>>2]|0)+3>>0];c[kc>>2]=Rw(c[rf>>2]|0,32+((c[Ga>>2]|0)-1<<2)|0,0)|0;if(!(c[kc>>2]|0)){k=881;break a}c[c[kc>>2]>>2]=0;c[(c[kc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[kc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[kc>>2]|0)+12>>2]=c[qf>>2];a[(c[kc>>2]|0)+26>>0]=c[Ga>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[kc>>2];a[c[pf>>2]>>0]=88;k=124;break}case 88:{k=124;break}case 46:case 45:case 44:case 43:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}wf=$g(c[Nc>>2]|0)|0;j=aa;c[j>>2]=wf;c[j+4>>2]=C;j=$g(c[Mc>>2]|0)|0;wf=ca;c[wf>>2]=j;c[wf+4>>2]=C;a[kb>>0]=a[c[pf>>2]>>0]|0;do if((d[kb>>0]|0)!=43){f=ca;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[kb>>0]|0)==44){yf=aa;j=c[yf+4>>2]|f;wf=aa;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[ca+4>>2]|0)<0){a[kb>>0]=91-(d[kb>>0]|0);wf=ca;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=ca;j=vR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=ca;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=ca;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=aa;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[kb>>0]|0)==45;wf=g?0:-1;yf=aa;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[re>>2]=c[aa>>2];c[re+4>>2]=c[aa+4>>2];g=c[ca>>2]|0;j=re;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[kb>>0]|0)!=45){wf=xR(f|0,j|0,g|0)|0;yf=re;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[aa+4>>2]|0)<0){j=ca;j=vR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=BR(-1,-1,j|0)|0;f=re;wf=c[f+4>>2]|C;yf=re;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=BR(f|0,j|0,g|0)|0;yf=re;c[yf>>2]=wf;c[yf+4>>2]=C};c[aa>>2]=c[re>>2];c[aa+4>>2]=c[re+4>>2]}}else{j=ca;f=aa;wf=c[f+4>>2]&c[j+4>>2];yf=aa;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=aa;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break}case 89:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Jx(c[Mc>>2]|0)|0;wf=c[(c[pf>>2]|0)+8>>2]|0;yf=c[Mc>>2]|0;j=yf;wf=wR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 17:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&4|0)==0?(Ex(c[Mc>>2]|0,67,a[G>>0]|0),(e[(c[Mc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=157;break c}else{k=14;break d}b[(c[Mc>>2]|0)+8>>1]=e[(c[Mc>>2]|0)+8>>1]&-49664|4;break}case 90:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&4)Kx(c[Mc>>2]|0)|0;break}case 91:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&16384)g=Xg(c[Mc>>2]|0)|0;else g=0;c[uf>>2]=g;xx(c[Mc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Mc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Oc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Qd>>2]=0;break}c[Qd>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]|e[O>>1])&2){if((e[L>>1]&14|0)==2)zh(c[Mc>>2]|0,0);if((e[O>>1]&14|0)==2)zh(c[Oc>>2]|0,0)}}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){Fx(c[Mc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Mc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){Fx(c[Oc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Oc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}if(e[L>>1]&16384){Xg(c[Mc>>2]|0)|0;b[L>>1]=e[L>>1]&-16385}if(e[O>>1]&16384){Xg(c[Oc>>2]|0)|0;b[O>>1]=e[O>>1]&-16385}c[Qd>>2]=pI(c[Oc>>2]|0,c[Mc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 37:{c[Qd>>2]=(c[Qd>>2]|0)==0&1;break}case 36:{c[Qd>>2]=(c[Qd>>2]|0)!=0&1;break}case 40:{c[Qd>>2]=(c[Qd>>2]|0)<0&1;break}case 39:{c[Qd>>2]=(c[Qd>>2]|0)<=0&1;break}case 38:{c[Qd>>2]=(c[Qd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Qd>>2]|0)>=0&1}b[(c[Mc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Oc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;wf=c[Qd>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break d}}case 92:{c[n>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 93:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ja>>2]=c[(c[pf>>2]|0)+12>>2];c[Qc>>2]=c[(c[pf>>2]|0)+16>>2];c[qb>>2]=c[(c[pf>>2]|0)+4>>2];c[sb>>2]=c[(c[pf>>2]|0)+8>>2];c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[Ja>>2]|0))break;g=c[W>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[ua>>2]=g;c[cc>>2]=c[(c[Qc>>2]|0)+20+(c[W>>2]<<2)>>2];c[x>>2]=d[(c[(c[Qc>>2]|0)+16>>2]|0)+(c[W>>2]|0)>>0];c[da>>2]=pI((c[l>>2]|0)+(((c[qb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[sb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,c[cc>>2]|0)|0;if(c[da>>2]|0){k=210;break}c[W>>2]=(c[W>>2]|0)+1}if((k|0)==210?(k=0,(c[x>>2]|0)!=0):0)c[da>>2]=0-(c[da>>2]|0);c[n>>2]=0;break}case 18:{if((c[da>>2]|0)<0){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[da>>2]|0)){c[pf>>2]=(c[ef>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[ef>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)c[te>>2]=2;else{yf=$g(c[Mc>>2]|0)|0;c[te>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Nc>>2]|0)+8>>1]&1)c[ue>>2]=2;else{yf=$g(c[Nc>>2]|0)|0;c[ue>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[te>>2]|0)*3|0)+(c[ue>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==28)c[te>>2]=d[40384+g>>0];else c[te>>2]=d[40393+g>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[te>>2]|0)==2){b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[te>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 20:{if(a[(c[(c[qf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]|0)k=14;else a[(c[(c[qf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]=1;break}case 22:case 21:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){c[y>>2]=+_g(c[Mc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==22)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[pf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 34:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)k=14;break}case 35:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1))k=14;break}case 94:{c[Ab>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[tb>>2]=c[(c[pf>>2]|0)+8>>2];c[uf>>2]=qI(Ab,tb)|0;c[Bc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[Ab>>2]|0)+76>>2];c[dc>>2]=c[(c[Ab>>2]|0)+16>>2];if(c[uf>>2]|0)break a;g=c[Ab>>2]|0;if((c[(c[Ab>>2]|0)+56>>2]|0)!=(c[(c[qf>>2]|0)+72>>2]|0)){f=c[Ab>>2]|0;do if(a[g+2>>0]|0)if((d[f>>0]|0)==3){c[ld>>2]=(c[l>>2]|0)+((c[(c[Ab>>2]|0)+16>>2]|0)*40|0);yf=c[(c[ld>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[Ab>>2]|0)+64>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=yf;c[(c[Ab>>2]|0)+72>>2]=c[(c[ld>>2]|0)+16>>2];break}else{hh(c[Bc>>2]|0);break d}else{g=c[dc>>2]|0;if(!(d[f+4>>0]|0)){FH(g,Fd)|0;yf=rI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=c[Fd>>2]}else{sI(g,(c[Ab>>2]|0)+60|0)|0;yf=tI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf}g=c[(c[Ab>>2]|0)+60>>2]|0;if((c[(c[Ab>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[Ab>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[rf>>2]|0)+92>>2]|0)>>>0){k=880;break c}c[(c[Ab>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[Ab>>2]|0)+56>>2]=c[(c[qf>>2]|0)+72>>2];g=c[(c[Ab>>2]|0)+72>>2]|0;if((d[c[(c[Ab>>2]|0)+72>>2]>>0]|0)<128){c[ib>>2]=d[g>>0];g=1}else g=(HF(g,ib)|0)&255;c[(c[Ab>>2]|0)+68>>2]=g&255;b[(c[Ab>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[ib>>2];if((c[v>>2]|0)>>>0<(c[ib>>2]|0)>>>0){c[(c[Ab>>2]|0)+72>>2]=0;c[(c[Ab>>2]|0)+64>>2]=0;if((c[ib>>2]|0)>>>0>98307){k=263;break c}if((c[ib>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0){k=263;break c}else k=265}else k=265}else if((e[g+14>>1]|0)<=(c[tb>>2]|0))k=265;else c[le>>2]=c[(c[Ab>>2]|0)+80+(c[tb>>2]<<2)>>2];if((k|0)==265){k=0;if((c[(c[Ab>>2]|0)+68>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Ab>>2]|0)+72>>2]|0)){g=he;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=uI(c[dc>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,he)|0;if(c[uf>>2]|0)break a;c[Se>>2]=c[he+16>>2]}else c[Se>>2]=c[(c[Ab>>2]|0)+72>>2];c[S>>2]=e[(c[Ab>>2]|0)+14>>1];yf=jb;c[yf>>2]=c[(c[m>>2]|0)+(c[S>>2]<<2)>>2];c[yf+4>>2]=0;c[Xe>>2]=(c[Se>>2]|0)+(c[(c[Ab>>2]|0)+68>>2]|0);c[Ve>>2]=(c[Se>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Xe>>2]>>0]|0;c[le>>2]=yf;g=c[Xe>>2]|0;if(yf>>>0<128){c[Xe>>2]=g+1;wf=(vI(c[le>>2]&255)|0)&255;yf=jb;wf=wR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=jb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(HF(g,le)|0)&255;c[Xe>>2]=(c[Xe>>2]|0)+wf;wf=IF(c[le>>2]|0)|0;yf=jb;wf=wR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=jb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[le>>2]|0;yf=c[S>>2]|0;c[S>>2]=yf+1;c[(c[Ab>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[S>>2]<<2)>>2]=c[jb>>2];if((c[S>>2]|0)>(c[tb>>2]|0))break}while((c[Xe>>2]|0)>>>0<(c[Ve>>2]|0)>>>0);b[(c[Ab>>2]|0)+14>>1]=c[S>>2];c[(c[Ab>>2]|0)+68>>2]=(c[Xe>>2]|0)-(c[Se>>2]|0);if((c[Xe>>2]|0)>>>0>=(c[Ve>>2]|0)>>>0){if((c[Xe>>2]|0)>>>0>(c[Ve>>2]|0)>>>0){k=280;break c}yf=jb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[Ab>>2]|0)+60>>2]|0)){k=280;break c}}yf=jb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0:0)){k=280;break c}if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(he)}else c[le>>2]=0;if((e[(c[Ab>>2]|0)+14>>1]|0)<=(c[tb>>2]|0)){g=c[Bc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){PF(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{hh(g);break d}}}if(e[(c[Bc>>2]|0)+8>>1]&9312)hh(c[Bc>>2]|0);a[(c[Bc>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[Ab>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[tb>>2]|0)+1<<2)>>2]|0)>>>0){c[Se>>2]=(c[(c[Ab>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0);if((c[le>>2]|0)>>>0<12){JF(c[Se>>2]|0,c[le>>2]|0,c[Bc>>2]|0)|0;break d}g=(((c[le>>2]|0)-12|0)>>>0)/2|0;c[Ca>>2]=g;c[(c[Bc>>2]|0)+12>>2]=g;g=c[Bc>>2]|0;if((c[(c[Bc>>2]|0)+24>>2]|0)<((c[Ca>>2]|0)+2|0)){b[g+8>>1]=1;if(Hx(c[Bc>>2]|0,(c[Ca>>2]|0)+2|0,0)|0){k=881;break a}}else c[(c[Bc>>2]|0)+16>>2]=c[g+20>>2];yR(c[(c[Bc>>2]|0)+16>>2]|0,c[Se>>2]|0,c[Ca>>2]|0)|0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+(c[Ca>>2]|0)>>0]=0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+((c[Ca>>2]|0)+1)>>0]=0;b[(c[Bc>>2]|0)+8>>1]=b[17034+((c[le>>2]&1)<<1)>>1]|0;break d}do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[le>>2]|0)>>>0>=12?(c[le>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=304}else k=304;while(0);if((k|0)==304?(k=0,yf=IF(c[le>>2]|0)|0,c[Ca>>2]=yf,(yf|0)!=0):0){c[uf>>2]=uI(c[dc>>2]|0,c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0,c[Ca>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,c[Bc>>2]|0)|0;if(c[uf>>2]|0)break a;JF(c[(c[Bc>>2]|0)+16>>2]|0,c[le>>2]|0,c[Bc>>2]|0)|0;yf=(c[Bc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}JF(40402,c[le>>2]|0,c[Bc>>2]|0)|0;break}case 95:{c[Qe>>2]=c[(c[pf>>2]|0)+16>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Qe>>2]|0;c[Qe>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;Ex(c[Mc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Mc>>2]=(c[Mc>>2]|0)+40}}case 96:{yf=Ra;c[yf>>2]=0;c[yf+4>>2]=0;c[Xa>>2]=0;yf=db;c[yf>>2]=0;c[yf+4>>2]=0;c[Ua>>2]=c[(c[pf>>2]|0)+4>>2];c[Re>>2]=c[(c[pf>>2]|0)+16>>2];c[xc>>2]=(c[l>>2]|0)+((c[Ua>>2]|0)*40|0);c[Ua>>2]=c[(c[pf>>2]|0)+8>>2];c[Tc>>2]=(c[xc>>2]|0)+(((c[Ua>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[qf>>2]|0)+88>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Re>>2]|0){c[kd>>2]=c[xc>>2];do{wf=c[kd>>2]|0;c[kd>>2]=wf+40;yf=c[Re>>2]|0;c[Re>>2]=yf+1;Ex(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Re>>2]>>0]|0)!=0)}c[kd>>2]=c[Tc>>2];while(1){yf=wI(c[kd>>2]|0,c[J>>2]|0,Da)|0;c[ke>>2]=yf;c[(c[kd>>2]|0)+28>>2]=yf;do if(e[(c[kd>>2]|0)+8>>1]&16384){yf=Ra;g=c[kd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Xg(g)|0){k=881;break a}else break;else{wf=c[g>>2]|0;yf=db;wf=wR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=db;c[yf>>2]=wf;c[yf+4>>2]=C;c[Da>>2]=(c[Da>>2]|0)-(c[c[kd>>2]>>2]|0);break}}while(0);wf=Ra;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,c[Da>>2]|0,0)|0;yf=Ra;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ke>>2]|0)>>>0<=127)g=1;else g=NF(c[ke>>2]|0,0)|0;c[Xa>>2]=(c[Xa>>2]|0)+g;if((c[kd>>2]|0)==(c[xc>>2]|0))break;c[kd>>2]=(c[kd>>2]|0)+-40}g=c[Xa>>2]|0;if((c[Xa>>2]|0)>126){c[cb>>2]=NF(g,((g|0)<0)<<31>>31)|0;c[Xa>>2]=(c[Xa>>2]|0)+(c[cb>>2]|0);wf=c[cb>>2]|0;yf=c[Xa>>2]|0;if((wf|0)<(NF(yf,((yf|0)<0)<<31>>31)|0))c[Xa>>2]=(c[Xa>>2]|0)+1}else c[Xa>>2]=g+1;f=c[Xa>>2]|0;wf=Ra;wf=wR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Oa;c[f>>2]=wf;c[f+4>>2]=C;f=Oa;wf=db;wf=wR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[rf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=880;break c}if(Gx(c[gd>>2]|0,c[Oa>>2]|0)|0){k=881;break a}c[af>>2]=c[(c[gd>>2]|0)+16>>2];if((c[Xa>>2]|0)>>>0<128){a[c[af>>2]>>0]=c[Xa>>2];g=1}else{g=c[Xa>>2]|0;g=xI(c[af>>2]|0,g,((g|0)<0)<<31>>31)|0}c[U>>2]=g&255;c[Ba>>2]=c[Xa>>2];c[kd>>2]=c[xc>>2];do{c[ke>>2]=c[(c[kd>>2]|0)+28>>2];if((c[ke>>2]|0)>>>0<128){a[(c[af>>2]|0)+(c[U>>2]|0)>>0]=c[ke>>2];g=1}else g=xI((c[af>>2]|0)+(c[U>>2]|0)|0,c[ke>>2]|0,0)|0;c[U>>2]=(c[U>>2]|0)+(g&255);yf=yI((c[af>>2]|0)+(c[Ba>>2]|0)|0,c[kd>>2]|0,c[ke>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+yf;yf=(c[kd>>2]|0)+40|0;c[kd>>2]=yf}while(yf>>>0<=(c[Tc>>2]|0)>>>0);c[(c[gd>>2]|0)+12>>2]=c[Oa>>2];b[(c[gd>>2]|0)+8>>1]=16;yf=db;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[gd>>2]>>2]=c[db>>2];yf=(c[gd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[gd>>2]|0)+10>>0]=1;break}case 98:{c[ec>>2]=c[(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Sa;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=zI(c[ec>>2]|0,Sa)|0;if(c[uf>>2]|0)break a;c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;j=Sa;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[pb>>2]=c[(c[pf>>2]|0)+4>>2];c[_e>>2]=c[(c[pf>>2]|0)+16>>2];do if(!(c[pb>>2]|0)){if((c[(c[rf>>2]|0)+160>>2]|0)>0){dI(c[qf>>2]|0,40410,ye);c[uf>>2]=5;break}c[$a>>2]=Jf(c[_e>>2]|0)|0;c[uf>>2]=AI(c[rf>>2]|0,0,(c[(c[rf>>2]|0)+436>>2]|0)+(c[(c[rf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[fd>>2]=Rw(c[rf>>2]|0,32+(c[$a>>2]|0)+1|0,0)|0;if(c[fd>>2]|0){c[c[fd>>2]>>2]=(c[fd>>2]|0)+32;yR(c[c[fd>>2]>>2]|0,c[_e>>2]|0,(c[$a>>2]|0)+1|0)|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[rf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[fd>>2]|0)+24>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[fd>>2];yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[fd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[fd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[sa>>2]=0;c[nd>>2]=c[(c[rf>>2]|0)+424>>2];while(1){if(!(c[nd>>2]|0))break;if(!(ig(c[c[nd>>2]>>2]|0,c[_e>>2]|0)|0))break;c[sa>>2]=(c[sa>>2]|0)+1;c[nd>>2]=c[(c[nd>>2]|0)+24>>2]}if(!(c[nd>>2]|0)){yf=c[qf>>2]|0;c[ze>>2]=c[_e>>2];dI(yf,40461,ze);c[uf>>2]=1;break}if((c[pb>>2]|0)==1?(c[(c[rf>>2]|0)+160>>2]|0)>0:0){dI(c[qf>>2]|0,40483,Ae);c[uf>>2]=5;break}if(!(c[(c[nd>>2]|0)+24>>2]|0))g=(d[(c[rf>>2]|0)+75>>0]|0)!=0;else g=0;c[za>>2]=g&1;if(!((c[za>>2]|0)!=0&(c[pb>>2]|0)==1)){c[sa>>2]=(c[(c[rf>>2]|0)+432>>2]|0)-(c[sa>>2]|0)-1;g:do if((c[pb>>2]|0)==2){c[ya>>2]=(c[(c[rf>>2]|0)+24>>2]&2|0)!=0&1;c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break g;c[uf>>2]=BI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,516,(c[ya>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}}else c[ya>>2]=0;while(0);c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break;c[uf>>2]=CI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,c[pb>>2]|0,c[sa>>2]|0)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}if(c[ya>>2]|0){Qh(c[rf>>2]|0);Bg(c[rf>>2]|0);c[(c[rf>>2]|0)+24>>2]=c[(c[rf>>2]|0)+24>>2]|2}}else{yf=hI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=879;break c}a[(c[rf>>2]|0)+67>>0]=1;if((eI(c[qf>>2]|0)|0)==5){k=364;break c}a[(c[rf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[qf>>2]|0)+80>>2]}while(1){if((c[(c[rf>>2]|0)+424>>2]|0)==(c[nd>>2]|0))break;c[rd>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[(c[rd>>2]|0)+24>>2];Tf(c[rf>>2]|0,c[rd>>2]|0);yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[nd>>2]|0;if((c[pb>>2]|0)==1){c[(c[rf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[rf>>2]|0,c[nd>>2]|0);if(!(c[za>>2]|0)){yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[nd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[rf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[za>>2]|0)==0|(c[pb>>2]|0)==2){c[uf>>2]=AI(c[rf>>2]|0,c[pb>>2]|0,c[sa>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[rf>>2]|0)+24>>2]&67108864|0)!=0:0){k=405;break c}c[wb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[wb>>2]|0){c[uf>>2]=og(c[wb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if((c[uf>>2]&255|0)==5){k=408;break c}if(c[uf>>2]|0)break a;do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((d[(c[qf>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){if((d[(c[rf>>2]|0)+67>>0]|0)!=0?(c[(c[rf>>2]|0)+156>>2]|0)<=1:0)break;if(!(c[(c[qf>>2]|0)+104>>2]|0)){yf=(c[rf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[qf>>2]|0)+104>>2]=(c[(c[rf>>2]|0)+432>>2]|0)+(c[(c[rf>>2]|0)+436>>2]|0)}c[uf>>2]=AI(c[rf>>2]|0,0,(c[(c[qf>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=FI(c[wb>>2]|0,c[(c[qf>>2]|0)+104>>2]|0)|0;yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+152|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+160|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);pg(c[wb>>2]|0,1,na);c[ja>>2]=c[(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[na>>2]=0;c[ja>>2]=0}do if(d[(c[pf>>2]|0)+3>>0]|0){if((c[na>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[ja>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break;Tf(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);yf=ph(c[rf>>2]|0,40724)|0;c[(c[qf>>2]|0)+44>>2]=yf;if((c[c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[na>>2]|0))uj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 99:{c[fa>>2]=c[(c[pf>>2]|0)+4>>2];c[ea>>2]=c[(c[pf>>2]|0)+12>>2];pg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[fa>>2]<<4)+4>>2]|0,c[ea>>2]|0,oa);c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=c[oa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 100:{c[yc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[uf>>2]=Ag(c[(c[yc>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[yc>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[yc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[rf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Qh(c[rf>>2]|0);yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2}if(c[uf>>2]|0)break a;break}case 101:{c[oc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[oc>>2]|0)!=0?(c[(c[oc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=452;else k=438;break}case 103:case 102:{k=438;break}case 105:case 104:{c[tc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[tc>>2]|0)){k=881;break a}a[(c[tc>>2]|0)+2>>0]=1;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=$j(c[c[rf>>2]>>2]|0,0,c[rf>>2]|0,(c[tc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=og(c[(c[tc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[pf>>2]|0)+16>>2]|0;c[Sc>>2]=yf;g=c[(c[tc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=HI(g,1,4,0,c[(c[tc>>2]|0)+16>>2]|0)|0;a[(c[tc>>2]|0)+4>>0]=1;break}c[uf>>2]=JI(g,Hd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[tc>>2]|0)+24>>2]=c[Sc>>2];c[uf>>2]=HI(c[(c[tc>>2]|0)+20>>2]|0,c[Hd>>2]|0,4,c[Sc>>2]|0,c[(c[tc>>2]|0)+16>>2]|0)|0}a[(c[tc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 106:{c[uc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[uc>>2]|0)){k=881;break a}c[(c[uc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=KI(c[rf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[uc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 107:{c[Bb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[Bb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=wR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 108:{c[vc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[vc>>2]|0)){k=881;break a}a[(c[vc>>2]|0)+2>>0]=1;c[(c[vc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[vc>>2]|0)+4>>0]=1;break}case 109:{LI(c[qf>>2]|0,c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[Cb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[hb>>2]=d[c[pf>>2]>>0];c[H>>2]=0;a[(c[Cb>>2]|0)+2>>0]=0;if(a[(c[Cb>>2]|0)+4>>0]|0){c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&14|0)==2)zh(c[Oc>>2]|0,0);wf=$g(c[Oc>>2]|0)|0;yf=ka;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Oc>>2]|0)+8>>1]&4)){if(!(e[(c[Oc>>2]|0)+8>>1]&8)){k=14;break d}yf=ka;if(+h[c[Oc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[hb>>2]&1)break;c[hb>>2]=(c[hb>>2]|0)+-1;break}yf=ka;if(+h[c[Oc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[hb>>2]&1|0)==1:0)c[hb>>2]=(c[hb>>2]|0)+1}while(0);j=ka;c[uf>>2]=sF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ka;wf=c[j+4>>2]|0;yf=(c[Cb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=489}else{if(MI(c[(c[Cb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Wa>>2]=c[(c[pf>>2]|0)+16>>2];c[Kd>>2]=c[(c[Cb>>2]|0)+24>>2];b[Kd+8>>1]=c[Wa>>2];a[Kd+10>>0]=(1&(c[hb>>2]|0)-23|0)!=0?-1:1;c[Kd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Kd+4>>2]|0)+8>>1]&16384)Xg(c[Kd+4>>2]|0)|0;a[Kd+14>>0]=0;c[uf>>2]=sF(c[(c[Cb>>2]|0)+16>>2]|0,Kd,0,0,0,Vd)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Kd+14>>0]|0)==0:0))k=489}do if((k|0)==489){k=0;a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;g=c[Vd>>2]|0;if((c[hb>>2]|0)>=25){if((g|0)>=0?!((c[Vd>>2]|0)==0&(c[hb>>2]|0)==26):0){c[Vd>>2]=0;break}c[Vd>>2]=0;c[uf>>2]=fF(c[(c[Cb>>2]|0)+16>>2]|0,Vd)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Vd>>2]|0)==0&(c[hb>>2]|0)==23):0){c[Vd>>2]=NI(c[(c[Cb>>2]|0)+16>>2]|0)|0;break}c[Vd>>2]=0;c[uf>>2]=gF(c[(c[Cb>>2]|0)+16>>2]|0,Vd)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Vd>>2]|0)){if(c[H>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=14;break}case 31:case 30:case 29:{c[Db>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=0;g=c[(c[Db>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Ld>>2]=g;b[Ld+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Ld+4>>2]=c[Oc>>2];c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[Ld+8>>1]|0))break;if(e[(c[Ld+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&16384)Xg((c[Ld+4>>2]|0)+((c[wa>>2]|0)*40|0)|0)|0;c[wa>>2]=(c[wa>>2]|0)+1}c[Kc>>2]=Ld}else{c[Kc>>2]=qF(g,q,183,Jc)|0;if(!(c[Kc>>2]|0)){k=881;break a}if(e[(c[Oc>>2]|0)+8>>1]&16384)Xg(c[Oc>>2]|0)|0;rF(c[(c[Db>>2]|0)+24>>2]|0,c[(c[Oc>>2]|0)+12>>2]|0,c[(c[Oc>>2]|0)+16>>2]|0,c[Kc>>2]|0)}a[(c[Kc>>2]|0)+10>>0]=0;c[oe>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==29){c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[(c[Kc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Kc>>2]|0)+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&1)break;c[wa>>2]=(c[wa>>2]|0)+1}c[oe>>2]=1}while(0);c[uf>>2]=sF(c[(c[Db>>2]|0)+16>>2]|0,c[Kc>>2]|0,0,0,0,Wd)|0;Tf(c[rf>>2]|0,c[Jc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Db>>2]|0)+28>>2]=c[Wd>>2];c[s>>2]=(c[Wd>>2]|0)==0&1;a[(c[Db>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==31)if(c[s>>2]|0){k=14;break d}else break d;else if((c[oe>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 32:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Eb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[fc>>2]=c[(c[Eb>>2]|0)+16>>2];c[Xd>>2]=0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;j=la;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=la;c[uf>>2]=sF(c[fc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Xd)|0;j=la;wf=c[j+4>>2]|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Eb>>2]|0)+2>>0]=0;c[(c[Eb>>2]|0)+56>>2]=0;a[(c[Eb>>2]|0)+3>>0]=0;c[(c[Eb>>2]|0)+28>>2]=c[Xd>>2];if(c[Xd>>2]|0){if(c[(c[pf>>2]|0)+8>>2]|0){k=14;break d}c[uf>>2]=Oj(80748)|0}if(c[uf>>2]|0)break a;break}case 111:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=wR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[gd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 112:{yf=se;c[yf>>2]=0;c[yf+4>>2]=0;c[Yd>>2]=0;c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Fb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=OI(c[(c[Fb>>2]|0)+16>>2]|0,Yd)|0;if(c[uf>>2]|0)break a;if(c[Yd>>2]|0){yf=se;c[yf>>2]=1;c[yf+4>>2]=0;break}c[uf>>2]=FH(c[(c[Fb>>2]|0)+16>>2]|0,se)|0;yf=se;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Fb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=se;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=se;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[qf>>2]|0)+176>>2]|0){c[Fc>>2]=c[(c[qf>>2]|0)+176>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Vc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Vc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);Jx(c[Vc>>2]|0)|0;yf=c[Vc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=543;break c}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){k=543;break c}f=se;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Vc>>2]|0;yf=wR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Vc>>2]|0;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=se;c[yf>>2]=wf;c[yf+4>>2]=C}j=se;wf=c[j+4>>2]|0;yf=c[Vc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,se);j=se;yf=c[j+4>>2]&1073741823;wf=se;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=se;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=se;c[yf>>2]=wf;c[yf+4>>2]=C;yf=se;yf=sF(c[(c[Fb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Yd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Yd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Yd>>2]|0)){k=553;break c}}a[(c[Fb>>2]|0)+3>>0]=0;c[(c[Fb>>2]|0)+56>>2]=0;j=se;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 114:case 113:{c[lb>>2]=0;c[wc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==113){c[Pc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Pc>>2]|0;wf=c[j+4>>2]|0;yf=ma;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=ma;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+216>>2]|0)!=0:0){c[Te>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Gb>>2]|0)+1>>0]<<4)>>2];c[od>>2]=c[(c[pf>>2]|0)+16>>2];c[lb>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{c[od>>2]=0;c[Te>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){wf=ma;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[wc>>2]|0)+8>>1]&1){c[(c[wc>>2]|0)+16>>2]=0;c[(c[wc>>2]|0)+12>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Gb>>2]|0)+28>>2]|0;else g=0;c[je>>2]=g;if(e[(c[wc>>2]|0)+8>>1]&16384)c[eb>>2]=c[c[wc>>2]>>2];else c[eb>>2]=0;yf=ma;c[uf>>2]=PI(c[(c[Gb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,c[(c[wc>>2]|0)+16>>2]|0,c[(c[wc>>2]|0)+12>>2]|0,c[eb>>2]|0,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[je>>2]|0)|0;a[(c[Gb>>2]|0)+3>>0]=0;c[(c[Gb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[lb>>2]|0)!=0?(c[(c[rf>>2]|0)+216>>2]|0)!=0:0){yf=ma;Xb[c[(c[rf>>2]|0)+216>>2]&255](c[(c[rf>>2]|0)+212>>2]|0,c[lb>>2]|0,c[Te>>2]|0,c[c[od>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 115:{c[mb>>2]=c[(c[pf>>2]|0)+8>>2];c[Hb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+216>>2]|0)!=0:0){c[Ue>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Hb>>2]|0)+1>>0]<<4)>>2];c[pd>>2]=c[(c[pf>>2]|0)+16>>2];if((d[(c[pf>>2]|0)+3>>0]&2|0)!=0?(d[(c[Hb>>2]|0)+4>>0]|0)!=0:0)FH(c[(c[Hb>>2]|0)+16>>2]|0,(c[Hb>>2]|0)+40|0)|0}else{c[Ue>>2]=0;c[pd>>2]=0}c[uf>>2]=QI(c[(c[Hb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Hb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(((c[mb>>2]&1|0)!=0?(yf=(c[qf>>2]|0)+92|0,c[yf>>2]=(c[yf>>2]|0)+1,(c[(c[rf>>2]|0)+216>>2]|0)!=0):0)?(d[(c[pd>>2]|0)+42>>0]&32|0)==0:0){yf=(c[Hb>>2]|0)+40|0;Xb[c[(c[rf>>2]|0)+216>>2]&255](c[(c[rf>>2]|0)+212>>2]|0,9,c[Ue>>2]|0,c[c[pd>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 116:{bI(c[rf>>2]|0,c[(c[qf>>2]|0)+92>>2]|0);c[(c[qf>>2]|0)+92>>2]=0;break}case 117:{c[Ib>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Za>>2]=c[(c[pf>>2]|0)+16>>2];c[Zd>>2]=0;c[uf>>2]=RI(c[Ib>>2]|0,c[Oc>>2]|0,c[Za>>2]|0,Zd)|0;if(c[uf>>2]|0)break a;if(c[Zd>>2]|0)k=14;break}case 118:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Jb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=SI(c[Jb>>2]|0,c[gd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 120:case 119:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Kb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Kb>>2]|0)+16>>2];g=c[gc>>2]|0;if(d[(c[Kb>>2]|0)+4>>0]|0){sI(g,Ha)|0;if((c[Ha>>2]|0)>>>0>(c[(c[rf>>2]|0)+92>>2]|0)>>>0){k=880;break c}}else{FH(g,Ia)|0;wf=Ia;f=c[wf+4>>2]|0;yf=c[(c[rf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>yf>>>0:0)){k=880;break c}c[Ha>>2]=c[Ia>>2]}if(Gx(c[gd>>2]|0,(c[Ha>>2]|0)>>>0>32?c[Ha>>2]|0:32)|0){k=881;break a}c[(c[gd>>2]|0)+12>>2]=c[Ha>>2];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|16;g=c[gc>>2]|0;f=c[Ha>>2]|0;j=c[(c[gd>>2]|0)+16>>2]|0;if(!(d[(c[Kb>>2]|0)+4>>0]|0))c[uf>>2]=GH(g,0,f,j)|0;else c[uf>>2]=Oh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[gd>>2]|0)+10>>0]=1;break}case 121:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Lb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}g=c[Lb>>2]|0;do if(!(a[(c[Lb>>2]|0)+3>>0]|0)){f=c[Lb>>2]|0;if((d[g>>0]|0)==2){c[wd>>2]=c[c[f+16>>2]>>2];c[_c>>2]=c[c[wd>>2]>>2];c[uf>>2]=Yb[c[(c[_c>>2]|0)+48>>2]&255](c[(c[Lb>>2]|0)+16>>2]|0,ve)|0;TI(c[qf>>2]|0,c[wd>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=UI(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}else{c[uf>>2]=FH(c[(c[Lb>>2]|0)+16>>2]|0,ve)|0;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=ve;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=ve;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 122:{c[Mb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Mb>>2]|0)+2>>0]=1;c[(c[Mb>>2]|0)+56>>2]=0;if(!(d[c[Mb>>2]>>0]|0))CB(c[(c[Mb>>2]|0)+16>>2]|0);break}case 33:{c[Nb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[hc>>2]=c[(c[Nb>>2]|0)+16>>2];c[_d>>2]=0;c[uf>>2]=OI(c[hc>>2]|0,_d)|0;a[(c[Nb>>2]|0)+2>>0]=c[_d>>2];a[(c[Nb>>2]|0)+3>>0]=0;c[(c[Nb>>2]|0)+56>>2]=0;c[(c[Nb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[_d>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 53:case 42:{k=(c[qf>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=618;break}case 55:{k=618;break}case 3:{c[Qb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[be>>2]=0;c[uf>>2]=XI(c[rf>>2]|0,c[Qb>>2]|0,be)|0;k=626;break}case 5:case 4:{if(c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=625;break}case 7:case 6:{k=625;break}case 124:case 123:{c[Sb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Nc>>2]|0)+8>>1]&16384)g=Xg(c[Nc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==123)c[uf>>2]=YI(c[Sb>>2]|0,c[Nc>>2]|0)|0;else{c[Ya>>2]=c[(c[Nc>>2]|0)+12>>2];c[Ye>>2]=c[(c[Nc>>2]|0)+16>>2];g=c[Ya>>2]|0;if(d[(c[pf>>2]|0)+3>>0]&16)f=c[(c[Sb>>2]|0)+28>>2]|0;else f=0;c[uf>>2]=PI(c[(c[Sb>>2]|0)+16>>2]|0,c[Ye>>2]|0,g,((g|0)<0)<<31>>31,19018,0,0,c[(c[pf>>2]|0)+12>>2]|0,f)|0;c[(c[Sb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 125:{c[Vb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[jc>>2]=c[(c[Vb>>2]|0)+16>>2];c[Md>>2]=c[(c[Vb>>2]|0)+24>>2];b[Md+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Md+10>>0]=0;c[Md+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=sF(c[jc>>2]|0,Md,0,0,0,ce)|0;if(c[uf>>2]|0)break a;if((c[ce>>2]|0)==0?(c[uf>>2]=QI(c[jc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Vb>>2]|0)+56>>2]=0;break}case 127:case 126:{c[_b>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=UI(c[_b>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[_b>>2]|0)+2>>0]|0){hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ee;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=ZI(c[rf>>2]|0,c[(c[_b>>2]|0)+16>>2]|0,ee)|0;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==126){c[qd>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[qd>>2]|0)+2>>0]=0;j=ee;wf=c[j+4>>2]|0;yf=(c[qd>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[qd>>2]|0)+3>>0]=1;c[(c[qd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[qd>>2]|0)+48>>2]=c[_b>>2];break d}else{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;j=ee;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=4;break d}}case 59:case 58:case 57:case 56:{c[$b>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Nd>>2]=c[(c[$b>>2]|0)+24>>2];b[Nd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Nd+10|0;if((d[c[pf>>2]>>0]|0)<58)a[g>>0]=-1;else a[g>>0]=0;c[Nd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[de>>2]=0;c[uf>>2]=_I(c[rf>>2]|0,c[$b>>2]|0,Nd,de)|0;g=c[de>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[de>>2]=0-g;else c[de>>2]=g+1;if(c[uf>>2]|0)break a;if((c[de>>2]|0)>0)k=14;break}case 128:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=1;if((c[(c[rf>>2]|0)+156>>2]|0)>((c[(c[rf>>2]|0)+168>>2]|0)+1|0)){k=661;break c}c[ha>>2]=c[(c[pf>>2]|0)+12>>2];c[pa>>2]=0;c[uf>>2]=$I(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,pa)|0;b[(c[gd>>2]|0)+8>>1]=4;wf=c[pa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[pa>>2]|0){aJ(c[rf>>2]|0,c[ha>>2]|0,c[pa>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ha>>2]|0)+1}break}case 129:{c[Qa>>2]=0;c[uf>>2]=bJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Qa:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(yf=(c[qf>>2]|0)+92|0,c[yf>>2]=(c[yf>>2]|0)+(c[Qa>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){wf=c[Qa>>2]|0;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=wR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 130:{c[ac>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[ac>>2]>>0]|0)!=1){c[uf>>2]=dJ(c[(c[ac>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{cJ(c[rf>>2]|0,c[(c[ac>>2]|0)+16>>2]|0);break d}}case 132:case 131:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Id>>2]=0;c[Ac>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==132)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=JI(c[(c[Ac>>2]|0)+4>>2]|0,Id,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Id>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 134:{c[ia>>2]=c[(c[pf>>2]|0)+4>>2];c[Ze>>2]=(c[ia>>2]|0)==1?20521:20540;c[xa>>2]=c[rf>>2];c[xa+8>>2]=c[(c[pf>>2]|0)+4>>2];c[xa+4>>2]=(c[qf>>2]|0)+44;yf=c[rf>>2]|0;j=c[Ze>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[Ce>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)>>2];c[Ce+4>>2]=j;c[Ce+8>>2]=wf;c[bf>>2]=Eh(yf,40752,Ce)|0;if(!(c[bf>>2]|0))c[uf>>2]=7;else{a[(c[rf>>2]|0)+144+5>>0]=1;c[xa+12>>2]=0;c[uf>>2]=$e(c[rf>>2]|0,c[bf>>2]|0,140,xa,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[xa+12>>2];Tf(c[rf>>2]|0,c[bf>>2]|0);a[(c[rf>>2]|0)+144+5>>0]=0}if(c[uf>>2]|0){k=683;break c}break}case 135:{c[uf>>2]=Dj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 136:{eJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 137:{fJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 138:{gJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 139:{c[bb>>2]=c[(c[pf>>2]|0)+8>>2];c[p>>2]=c[(c[pf>>2]|0)+16>>2];c[Jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Ne>>2]=hJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[bb>>2]|0,c[c[Jd>>2]>>2]|0,Ta)|0;wf=c[Ta>>2]|0;yf=c[Jd>>2]|0;j=yf;wf=vR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;hh(c[Mc>>2]|0);if(c[Ta>>2]|0){if(!(c[Ne>>2]|0)){k=881;break a}fh(c[Mc>>2]|0,c[Ne>>2]|0,-1,1,148)|0}gu(c[Mc>>2]|0,d[G>>0]|0)|0;break}case 140:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(iJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=881;break a}yf=c[Nc>>2]|0;jJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 60:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)!=0?(kJ(c[c[Mc>>2]>>2]|0,we)|0)!=0:0){k=we;gh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}hh(c[Mc>>2]|0);k=7;break}case 61:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ta>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(iJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=881;break a}if((c[ta>>2]|0)!=0?(yf=c[Oc>>2]|0,c[I>>2]=lJ(c[c[Mc>>2]>>2]|0,c[ta>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ta>>2]|0)>=0){yf=c[Oc>>2]|0;jJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 62:{c[id>>2]=c[(c[pf>>2]|0)+16>>2];c[md>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[me>>2]=c[(c[id>>2]|0)+20>>2];c[Gc>>2]=c[(c[qf>>2]|0)+176>>2];while(1){if(!(c[Gc>>2]|0))break;if((c[(c[Gc>>2]|0)+28>>2]|0)==(c[me>>2]|0))break;c[Gc>>2]=c[(c[Gc>>2]|0)+4>>2]}if(c[Gc>>2]|0)break d}if((c[(c[qf>>2]|0)+184>>2]|0)>=(c[(c[rf>>2]|0)+92+40>>2]|0)){k=712;break c}i:do if(!(e[(c[md>>2]|0)+8>>1]&64)){c[_a>>2]=(c[(c[id>>2]|0)+8>>2]|0)+(c[(c[id>>2]|0)+12>>2]|0);if(!(c[(c[id>>2]|0)+12>>2]|0))c[_a>>2]=(c[_a>>2]|0)+1;c[Pa>>2]=80+((c[_a>>2]|0)*40|0)+(c[(c[id>>2]|0)+12>>2]<<2)+(c[(c[id>>2]|0)+16>>2]|0);yf=c[Pa>>2]|0;c[Gc>>2]=rh(c[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Gc>>2]|0)){k=881;break a}Wg(c[md>>2]|0);b[(c[md>>2]|0)+8>>1]=64;c[c[md>>2]>>2]=c[Gc>>2];c[c[Gc>>2]>>2]=c[qf>>2];c[(c[Gc>>2]|0)+64>>2]=c[_a>>2];c[(c[Gc>>2]|0)+68>>2]=c[(c[id>>2]|0)+12>>2];c[(c[Gc>>2]|0)+48>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[Gc>>2]|0)+16>>2]=c[(c[qf>>2]|0)+8>>2];c[(c[Gc>>2]|0)+56>>2]=c[(c[qf>>2]|0)+28>>2];c[(c[Gc>>2]|0)+24>>2]=c[(c[qf>>2]|0)+56>>2];c[(c[Gc>>2]|0)+44>>2]=c[(c[qf>>2]|0)+36>>2];c[(c[Gc>>2]|0)+8>>2]=c[(c[qf>>2]|0)+4>>2];c[(c[Gc>>2]|0)+52>>2]=c[(c[qf>>2]|0)+32>>2];c[(c[Gc>>2]|0)+28>>2]=c[(c[id>>2]|0)+20>>2];c[(c[Gc>>2]|0)+20>>2]=c[(c[qf>>2]|0)+200>>2];c[(c[Gc>>2]|0)+60>>2]=c[(c[qf>>2]|0)+196>>2];c[Dc>>2]=(c[Gc>>2]|0)+80+((c[(c[Gc>>2]|0)+64>>2]|0)*40|0);c[Wc>>2]=(c[Gc>>2]|0)+80;while(1){if((c[Wc>>2]|0)==(c[Dc>>2]|0))break i;b[(c[Wc>>2]|0)+8>>1]=128;c[(c[Wc>>2]|0)+32>>2]=c[rf>>2];c[Wc>>2]=(c[Wc>>2]|0)+40}}else c[Gc>>2]=c[c[md>>2]>>2];while(0);j=(c[qf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Gc>>2]|0)+4>>2]=c[(c[qf>>2]|0)+176>>2];j=sf;wf=c[j+4>>2]|0;yf=(c[Gc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Gc>>2]|0)+72>>2]=c[(c[qf>>2]|0)+92>>2];c[(c[Gc>>2]|0)+76>>2]=c[(c[c[qf>>2]>>2]|0)+84>>2];c[(c[Gc>>2]|0)+40>>2]=c[(c[qf>>2]|0)+204>>2];c[(c[qf>>2]|0)+204>>2]=0;c[(c[qf>>2]|0)+92>>2]=0;c[(c[qf>>2]|0)+176>>2]=c[Gc>>2];yf=(c[Gc>>2]|0)+80|0;c[l>>2]=yf;c[(c[qf>>2]|0)+8>>2]=yf;c[(c[qf>>2]|0)+28>>2]=c[(c[Gc>>2]|0)+64>>2];c[(c[qf>>2]|0)+36>>2]=c[(c[Gc>>2]|0)+68>>2]&65535;c[(c[qf>>2]|0)+56>>2]=(c[l>>2]|0)+((c[(c[qf>>2]|0)+28>>2]|0)*40|0);yf=c[c[id>>2]>>2]|0;c[ef>>2]=yf;c[(c[qf>>2]|0)+4>>2]=yf;c[(c[qf>>2]|0)+32>>2]=c[(c[id>>2]|0)+4>>2];c[(c[qf>>2]|0)+200>>2]=(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[qf>>2]|0)+36>>2]<<2);c[(c[qf>>2]|0)+196>>2]=c[(c[id>>2]|0)+16>>2];c[pf>>2]=(c[ef>>2]|0)+-20;AR(c[(c[qf>>2]|0)+200>>2]|0,0,c[(c[qf>>2]|0)+196>>2]|0)|0;break}case 141:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Hc>>2]=c[(c[qf>>2]|0)+176>>2];c[Lc>>2]=(c[(c[Hc>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Hc>>2]|0)+8>>2]|0)+((c[(c[Hc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);PF(c[gd>>2]|0,c[Lc>>2]|0,4096);break}case 142:{g=c[pf>>2]|0;if(c[(c[rf>>2]|0)+24>>2]&33554432){wf=c[g+8>>2]|0;yf=(c[rf>>2]|0)+448|0;j=yf;wf=wR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[rf>>2]|0)+440|0;wf=yf;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[qf>>2]|0)+144|0;wf=yf;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 63:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[rf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[qf>>2]|0)+144|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 143:{if(c[(c[qf>>2]|0)+176>>2]|0){c[Ic>>2]=c[(c[qf>>2]|0)+176>>2];while(1){if(!(c[(c[Ic>>2]|0)+4>>2]|0))break;c[Ic>>2]=c[(c[Ic>>2]|0)+4>>2]}c[Mc>>2]=(c[(c[Ic>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Jx(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);Jx(c[Nc>>2]|0)|0;wf=c[Mc>>2]|0;f=c[wf+4>>2]|0;yf=c[Nc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Nc>>2]|0;wf=c[j+4>>2]|0;yf=c[Mc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 64:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=vR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 144:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Mc>>2]|0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Oc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=wR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[gd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 65:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=vR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 66:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=yf;wf=wR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Mc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 145:{c[Ka>>2]=d[(c[pf>>2]|0)+3>>0];c[mc>>2]=Rw(c[rf>>2]|0,32+((c[Ka>>2]|0)-1<<2)|0,0)|0;if(!(c[mc>>2]|0)){k=881;break a}c[(c[mc>>2]|0)+8>>2]=0;c[(c[mc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[mc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[mc>>2]|0)+12>>2]=c[qf>>2];a[(c[mc>>2]|0)+26>>0]=c[Ka>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[mc>>2];a[c[pf>>2]>>0]=-110;k=753;break}case 146:{k=753;break}case 147:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=SF(c[Yc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=765;break c}gu(c[Yc>>2]|0,d[G>>0]|0)|0;if(gI(c[Yc>>2]|0)|0){k=880;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=mi(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[Y>>2]=0;c[Zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[Y>>2]|0)>=3)break d;yf=c[o+(c[Y>>2]<<2)>>2]|0;gh(c[Zc>>2]|0,yf,((yf|0)<0)<<31>>31);c[Y>>2]=(c[Y>>2]|0)+1;c[Zc>>2]=(c[Zc>>2]|0)+40}}case 9:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[E>>2]=c[(c[pf>>2]|0)+12>>2];c[zb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[hd>>2]=Pf(c[zb>>2]|0)|0;c[F>>2]=sg(c[hd>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(mJ(c[hd>>2]|0)|0))c[E>>2]=c[F>>2];c[We>>2]=Ii(c[hd>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[We>>2]|0)|0)!=0?(nJ(c[hd>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[rf>>2]|0)+67>>0]|0)){k=785;break c}if((c[(c[rf>>2]|0)+156>>2]|0)>1){k=785;break c}if((c[F>>2]|0)==5){c[uf>>2]=oJ(c[hd>>2]|0)|0;if(!(c[uf>>2]|0))pJ(c[hd>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)pJ(c[hd>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Cg(c[zb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=pJ(c[hd>>2]|0,c[E>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;yf=cC(c[E>>2]|0)|0;c[(c[gd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[gd>>2]|0)+16>>2]|0)|0;c[(c[gd>>2]|0)+12>>2]=yf;a[(c[gd>>2]|0)+10>>0]=1;gu(c[gd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=qJ((c[qf>>2]|0)+44|0,c[rf>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 67:{c[xb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=rJ(c[xb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 148:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;break d}else{Qh(c[rf>>2]|0);break d}case 149:{a[Aa>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Aa>>0]|0)==0?0!=(c[(c[rf>>2]|0)+24>>2]&16384|0):0)break d;c[ob>>2]=c[(c[pf>>2]|0)+4>>2];c[uf>>2]=sJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ob>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Aa>>0]|0)|0;if(c[uf>>2]|0){k=806;break c}break}case 150:{c[ud>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=tJ(c[rf>>2]|0,c[ud>>2]|0)|0;if(c[ud>>2]|0)TI(c[qf>>2]|0,c[(c[ud>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 151:{g=ie;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ie+32>>2]=c[rf>>2];c[uf>>2]=ih(ie,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[cf>>2]=ae(ie)|0;if(c[cf>>2]|0)c[uf>>2]=uJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[cf>>2]|0,(c[qf>>2]|0)+44|0)|0;Wg(ie);if(c[uf>>2]|0)break a;break}case 152:{yf=(c[rf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=vJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;yf=(c[rf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 153:{c[pc>>2]=0;c[sd>>2]=0;c[xd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[xd>>2]|0)){k=817;break c}if(!(c[c[xd>>2]>>2]|0)){k=817;break c}c[$c>>2]=c[c[xd>>2]>>2];c[uf>>2]=Yb[c[(c[$c>>2]|0)+24>>2]&255](c[xd>>2]|0,sd)|0;TI(c[qf>>2]|0,c[xd>>2]|0);if(c[uf>>2]|0)break a;c[c[sd>>2]>>2]=c[xd>>2];c[pc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[pc>>2]|0)){k=821;break c}c[(c[pc>>2]|0)+16>>2]=c[sd>>2];yf=(c[xd>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[vb>>2]=(c[jd>>2]|0)+40;c[qc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[td>>2]=c[(c[qc>>2]|0)+16>>2];c[yd>>2]=c[c[td>>2]>>2];c[ad>>2]=c[c[yd>>2]>>2];c[La>>2]=c[c[vb>>2]>>2];c[qa>>2]=c[c[jd>>2]>>2];c[Td>>2]=0;c[t>>2]=c[(c[qf>>2]|0)+12>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[La>>2]|0))break;c[(c[t>>2]|0)+(c[R>>2]<<2)>>2]=(c[vb>>2]|0)+(((c[R>>2]|0)+1|0)*40|0);c[R>>2]=(c[R>>2]|0)+1}c[uf>>2]=Zb[c[(c[ad>>2]|0)+32>>2]&255](c[td>>2]|0,c[qa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[La>>2]|0,c[t>>2]|0)|0;TI(c[qf>>2]|0,c[yd>>2]|0);if(c[uf>>2]|0)break a;c[Td>>2]=Tb[c[(c[ad>>2]|0)+40>>2]&255](c[td>>2]|0)|0;a[(c[qc>>2]|0)+2>>0]=0;if(c[Td>>2]|0)k=14;break}case 154:{c[rc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Cc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[rc>>2]|0)+2>>0]|0){hh(c[Cc>>2]|0);break d}c[zd>>2]=c[c[(c[rc>>2]|0)+16>>2]>>2];c[bd>>2]=c[c[zd>>2]>>2];c[ge>>2]=0;c[ge+4>>2]=0;c[ge+8>>2]=0;c[ge+12>>2]=0;c[ge+16>>2]=0;c[ge+20>>2]=0;c[ge+24>>2]=0;c[ge+28>>2]=0;c[ge>>2]=c[Cc>>2];b[(c[Cc>>2]|0)+8>>1]=e[(c[Cc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[bd>>2]|0)+44>>2]&255](c[(c[rc>>2]|0)+16>>2]|0,ge,c[(c[pf>>2]|0)+8>>2]|0)|0;TI(c[qf>>2]|0,c[zd>>2]|0);if(c[ge+20>>2]|0)c[uf>>2]=c[ge+20>>2];gu(c[Cc>>2]|0,d[G>>0]|0)|0;if(gI(c[Cc>>2]|0)|0){k=880;break c}if(c[uf>>2]|0)break a;break}case 68:{c[Ud>>2]=0;c[sc>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[sc>>2]|0)+2>>0]|0)){c[Ad>>2]=c[c[(c[sc>>2]|0)+16>>2]>>2];c[cd>>2]=c[c[Ad>>2]>>2];c[uf>>2]=Tb[c[(c[cd>>2]|0)+36>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;TI(c[qf>>2]|0,c[Ad>>2]|0);if(c[uf>>2]|0)break a;c[Ud>>2]=Tb[c[(c[cd>>2]|0)+40>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;if(c[Ud>>2]|0)k=8;else k=7}break}case 155:{c[Bd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[ed>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=gu(c[ed>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[Bd>>2]>>2]|0)+76>>2]&255](c[Bd>>2]|0,c[(c[ed>>2]|0)+16>>2]|0)|0;TI(c[qf>>2]|0,c[Bd>>2]|0);yf=(c[qf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[Cd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[Cd>>2]|0)){k=840;break c}if(!(c[c[Cd>>2]>>2]|0)){k=840;break c}c[dd>>2]=c[c[Cd>>2]>>2];c[Ma>>2]=c[(c[pf>>2]|0)+8>>2];if(c[(c[dd>>2]|0)+52>>2]|0){a[Le>>0]=a[(c[rf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[qf>>2]|0)+12>>2];c[Ed>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Ma>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=c[Ed>>2];c[Ed>>2]=(c[Ed>>2]|0)+40;c[T>>2]=(c[T>>2]|0)+1}a[(c[rf>>2]|0)+74>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[dd>>2]|0)+52>>2]&255](c[Cd>>2]|0,c[Ma>>2]|0,c[u>>2]|0,fe)|0;a[(c[rf>>2]|0)+74>>0]=a[Le>>0]|0;TI(c[qf>>2]|0,c[Cd>>2]|0);if((c[uf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){wf=fe;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[qf>>2]|0)+86>>0]=g}else k=855;while(0);if((k|0)==855){k=0;yf=(c[qf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 156:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=tg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 157:{c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;c[yb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[fb>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[fb>>2]=tg(c[yb>>2]|0)|0,(c[fb>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[fb>>2]=c[(c[pf>>2]|0)+12>>2];wf=wJ(c[yb>>2]|0,c[fb>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 69:{if((c[(c[rf>>2]|0)+180>>2]|0)!=0?((d[(c[qf>>2]|0)+87>>0]|0)>>>1&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[qf>>2]|0)+168>>2]|0;c[df>>2]=g;if(g){c[Pe>>2]=xJ(c[qf>>2]|0,c[df>>2]|0)|0;Rb[c[(c[rf>>2]|0)+180>>2]&255](c[(c[rf>>2]|0)+184>>2]|0,c[Pe>>2]|0);Tf(c[rf>>2]|0,c[Pe>>2]|0)}}if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}default:{}}while(0);if((k|0)==20){k=0;c[kf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=25;break}if(!(c[(c[qf>>2]|0)+176>>2]|0)){k=25;break}c[Ec>>2]=c[(c[qf>>2]|0)+176>>2];c[(c[qf>>2]|0)+176>>2]=c[(c[Ec>>2]|0)+4>>2];j=(c[qf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;bI(c[rf>>2]|0,c[(c[qf>>2]|0)+92>>2]|0);c[kf>>2]=cI(c[Ec>>2]|0)|0;j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[kf>>2]=(c[(c[(c[qf>>2]|0)+4>>2]|0)+((c[kf>>2]|0)*20|0)+8>>2]|0)-1;c[ef>>2]=c[(c[qf>>2]|0)+4>>2];c[l>>2]=c[(c[qf>>2]|0)+8>>2];c[pf>>2]=(c[ef>>2]|0)+((c[kf>>2]|0)*20|0)}else if((k|0)==43){k=0;c[gd>>2]=fI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;c[(c[gd>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[gd>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[pf>>2]|0)+12>>2]|0)>0?(c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),yf=c[Oc>>2]|0,(c[yf+4>>2]|0)==0?(c[yf>>2]|0)==(d[(c[pf>>2]|0)+3>>0]|0):0):0)b[(c[gd>>2]|0)+8>>1]=2576}else if((k|0)==124){k=0;c[lc>>2]=c[(c[pf>>2]|0)+16>>2];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[lc>>2]>>2]|0)!=(c[gd>>2]|0)){c[c[lc>>2]>>2]=c[gd>>2];c[V>>2]=(d[(c[lc>>2]|0)+26>>0]|0)-1;while(1){if((c[V>>2]|0)<0)break j;c[(c[lc>>2]|0)+28+(c[V>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[V>>2]|0)|0)*40|0);c[V>>2]=(c[V>>2]|0)+-1}}while(0);b[(c[c[lc>>2]>>2]|0)+8>>1]=e[(c[c[lc>>2]>>2]|0)+8>>1]&-49664|1;a[(c[lc>>2]|0)+25>>0]=0;yf=sf;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[lc>>2]|0)+4>>2]|0)+12>>2]&255](c[lc>>2]|0,d[(c[lc>>2]|0)+26>>0]|0,(c[lc>>2]|0)+28|0);j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[lc>>2]|0)+25>>0]|0){if(c[(c[lc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[xe>>2]=ae(c[c[lc>>2]>>2]|0)|0;dI(yf,19007,xe);c[uf>>2]=c[(c[lc>>2]|0)+20>>2]}oI(c[rf>>2]|0,(c[qf>>2]|0)+204|0,c[(c[lc>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[gd>>2]|0)+8>>1]&18|0)!=0?(gu(c[c[lc>>2]>>2]|0,d[G>>0]|0)|0,(gI(c[c[lc>>2]>>2]|0)|0)!=0):0){k=880;break}}else if((k|0)==438){if(a[(c[qf>>2]|0)+87>>0]&1){k=439;break}c[Va>>2]=0;c[Rc>>2]=0;c[ub>>2]=c[(c[pf>>2]|0)+8>>2];c[ga>>2]=c[(c[pf>>2]|0)+12>>2];c[zc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4);c[Dd>>2]=c[(c[zc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==103){c[Me>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[qf>>2]|0)+88>>0]|0))a[(c[qf>>2]|0)+88>>0]=a[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Me>>2]=0;if(d[(c[pf>>2]|0)+3>>0]&16){c[Nc>>2]=(c[l>>2]|0)+((c[ub>>2]|0)*40|0);Jx(c[Nc>>2]|0)|0;c[ub>>2]=c[c[Nc>>2]>>2]}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Va>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Rc>>2]=c[g+16>>2];c[Va>>2]=(e[(c[Rc>>2]|0)+6>>1]|0)+(e[(c[Rc>>2]|0)+8>>1]|0)}c[oc>>2]=GI(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Va>>2]|0,c[ga>>2]|0,0)|0;if(!(c[oc>>2]|0)){k=881;break a}a[(c[oc>>2]|0)+2>>0]=1;k=(c[oc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[oc>>2]|0)+8>>2]=c[ub>>2];c[uf>>2]=HI(c[Dd>>2]|0,c[ub>>2]|0,c[Me>>2]|0,c[Rc>>2]|0,c[(c[oc>>2]|0)+16>>2]|0)|0;c[(c[oc>>2]|0)+24>>2]=c[Rc>>2];a[(c[oc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=452}else if((k|0)==618){k=0;c[Pb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[$d>>2]=1;g=c[Pb>>2]|0;if((d[c[Pb>>2]>>0]|0)==1)c[uf>>2]=VI(g,$d)|0;else{c[ic>>2]=c[g+16>>2];c[uf>>2]=WI(c[ic>>2]|0,$d)|0;a[(c[Pb>>2]|0)+3>>0]=0;c[(c[Pb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Pb>>2]|0)+2>>0]=c[$d>>2];if(c[$d>>2]|0)k=14}else if((k|0)==625){c[Qb>>2]=c[(c[(c[qf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[be>>2]=c[(c[pf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Qb>>2]|0)+16>>2]|0,be)|0;k=626}else if((k|0)==753){k=0;c[nc>>2]=c[(c[pf>>2]|0)+16>>2];c[Xc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[nc>>2]|0)+8>>2]|0)!=(c[Xc>>2]|0)){c[(c[nc>>2]|0)+8>>2]=c[Xc>>2];c[X>>2]=(d[(c[nc>>2]|0)+26>>0]|0)-1;while(1){if((c[X>>2]|0)<0)break k;c[(c[nc>>2]|0)+28+(c[X>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[X>>2]|0)|0)*40|0);c[X>>2]=(c[X>>2]|0)+-1}}while(0);yf=(c[Xc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;OF(ne,c[rf>>2]|0,1);c[c[nc>>2]>>2]=ne;a[(c[nc>>2]|0)+25>>0]=0;a[(c[nc>>2]|0)+24>>0]=0;Ub[c[(c[(c[nc>>2]|0)+4>>2]|0)+12>>2]&255](c[nc>>2]|0,d[(c[nc>>2]|0)+26>>0]|0,(c[nc>>2]|0)+28|0);if(a[(c[nc>>2]|0)+25>>0]|0){if(c[(c[nc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[Ee>>2]=ae(ne)|0;dI(yf,19007,Ee);c[uf>>2]=c[(c[nc>>2]|0)+20>>2]}Wg(ne);if(c[uf>>2]|0)break a}if((a[(c[nc>>2]|0)+24>>0]|0)!=0?(c[X>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[X>>2]|0)!=0):0)gh((c[l>>2]|0)+((c[X>>2]|0)*40|0)|0,1,0)}do if((k|0)==14){k=0;c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==452){k=0;II(c[(c[oc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==626){k=0;c[(c[Qb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Qb>>2]|0)+2|0;if(!(c[be>>2]|0)){a[g>>0]=0;k=(c[qf>>2]|0)+108+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[rf>>2]|0)+248>>2]|0)break b;if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[ab>>2]|0)>>>0:0)?(c[ab>>2]=(c[tf>>2]|0)+(c[(c[rf>>2]|0)+312>>2]|0)-(((c[tf>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[qf>>2]|0)+80>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[qf>>2]|0)+86>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[qf>>2]|0)+76>>2]=c[kf>>2];if(c[(c[qf>>2]|0)+80>>2]|0){g=c[qf>>2]|0;f=c[pf>>2]|0;if(a[(c[pf>>2]|0)+3>>0]|0){c[lf>>2]=c[6412+((d[f+3>>0]|0)-1<<2)>>2];dI(g,40332,lf);if(c[(c[pf>>2]|0)+16>>2]|0){yf=c[rf>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[mf>>2]=c[(c[qf>>2]|0)+44>>2];c[mf+4>>2]=wf;yf=Eh(yf,40353,mf)|0;c[(c[qf>>2]|0)+44>>2]=yf}}else{c[nf>>2]=c[f+16>>2];dI(g,19007,nf)}yf=c[(c[pf>>2]|0)+4>>2]|0;pf=c[(c[qf>>2]|0)+168>>2]|0;wf=c[(c[qf>>2]|0)+44>>2]|0;c[of>>2]=c[kf>>2];c[of+4>>2]=pf;c[of+8>>2]=wf;Rd(yf,40360,of)}c[uf>>2]=eI(c[qf>>2]|0)|0;g=(c[qf>>2]|0)+80|0;if((c[uf>>2]|0)==5){c[g>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[g>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 64:{if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[ab>>2]|0)>>>0:0)?(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=hI(c[qf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=iI(c[qf>>2]|0,1)|0;c[(c[qf>>2]|0)+72>>2]=(c[(c[qf>>2]|0)+72>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[qf>>2]|0)+20>>2]=yf;c[Uc>>2]=yf;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Uc>>2]|0)+((c[Q>>2]|0)*40|0)+8>>1]&4096|0)!=0?(ah((c[Uc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0)!=0:0){k=881;break a}jI((c[Uc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}if(a[(c[rf>>2]|0)+69>>0]|0){k=881;break a}c[(c[qf>>2]|0)+76>>2]=(((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 157:{c[uf>>2]=20;break a}case 263:{c[uf>>2]=Oj(79160)|0;break a}case 280:{if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(he);c[uf>>2]=Oj(79221)|0;break a}case 364:{c[(c[qf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[qf>>2]|0)+80>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 387:{c[D>>2]=c[(c[pf>>2]|0)+4>>2];c[ra>>2]=c[(c[pf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[rf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[ra>>2]|0)!=0?40592:40635;else g=40676;dI(c[qf>>2]|0,g,gf);c[uf>>2]=1;break a}do if(!(c[ra>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[rf>>2]|0)+160>>2]|0)>0:0){dI(c[qf>>2]|0,40537,Be);c[uf>>2]=5;break a}yf=hI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[rf>>2]|0)+67>>0]=c[D>>2];break}}else{DI(c[rf>>2]|0,516);a[(c[rf>>2]|0)+67>>0]=1}while(0);if((eI(c[qf>>2]|0)|0)==5){c[(c[qf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[qf>>2]|0)+80>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}EI(c[rf>>2]|0);if(!(c[(c[qf>>2]|0)+80>>2]|0)){c[uf>>2]=101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 405:{c[uf>>2]=8;break a}case 408:{c[(c[qf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[qf>>2]|0)+80>>2]=c[uf>>2];yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 439:{c[uf>>2]=516;break a}case 543:{c[uf>>2]=13;break a}case 553:{c[uf>>2]=13;break a}case 661:{c[uf>>2]=6;a[(c[qf>>2]|0)+86>>0]=2;break a}case 683:{Bg(c[rf>>2]|0);if((c[uf>>2]|0)==7){k=881;break a}else break a}case 712:{c[uf>>2]=1;dI(c[qf>>2]|0,40816,De);break a}case 765:{yf=c[qf>>2]|0;c[Fe>>2]=ae(c[Yc>>2]|0)|0;dI(yf,19007,Fe);break a}case 785:{c[uf>>2]=1;yf=c[qf>>2]|0;c[Ge>>2]=(c[E>>2]|0)==5?40853:40858;dI(yf,40865,Ge);break a}case 806:{if((c[uf>>2]&255|0)!=6)break a;c[Oe>>2]=c[(c[pf>>2]|0)+16>>2];yf=c[qf>>2]|0;c[He>>2]=c[Oe>>2];dI(yf,40917,He);break a}case 817:{c[uf>>2]=6;break a}case 821:{Tb[c[(c[$c>>2]|0)+28>>2]&255](c[sd>>2]|0)|0;k=881;break a}case 840:{c[uf>>2]=6;break a}case 879:{yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 880:{dI(c[qf>>2]|0,18786,Ie);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[rf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[qf>>2]|0)+80>>2]=c[uf>>2];yf=c[qf>>2]|0;c[Ke>>2]=kh(c[uf>>2]|0)|0;dI(yf,19007,Ke)}while(0);if((k|0)==881){lh(c[rf>>2]|0);dI(c[qf>>2]|0,25632,Je);c[uf>>2]=7}if(a[(c[rf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[qf>>2]|0)+44>>2]|0)==0:0){yf=c[qf>>2]|0;c[hf>>2]=kh(c[uf>>2]|0)|0;dI(yf,19007,hf)}c[(c[qf>>2]|0)+80>>2]=c[uf>>2];yJ(c[rf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[qf>>2]|0)+168>>2]|0;wf=c[(c[qf>>2]|0)+44>>2]|0;c[jf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[jf+4>>2]=of;c[jf+8>>2]=wf;Rd(yf,40946,jf);eI(c[qf>>2]|0)|0;if((c[uf>>2]|0)==3082)lh(c[rf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}uj(c[rf>>2]|0,(d[ff>>0]|0)-1|0);yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function YH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=_H(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+220>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+220>>2]&255](c[(c[b>>2]|0)+224>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function ZH(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Wj();if(!(c[(c[e>>2]|0)+240>>2]|0)){b=Xh(c[e>>2]|0)|0;c[(c[e>>2]|0)+240>>2]=b}Yh(c[(c[e>>2]|0)+240>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);Xj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function _H(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$H(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function $H(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function aI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+100>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function bI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+84>>2]=c[e>>2];b=(c[f>>2]|0)+88|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function cI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];wM(c[e>>2]|0);c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+60>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+24>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+72>>2];c[(c[c[e>>2]>>2]|0)+84>>2]=c[(c[b>>2]|0)+76>>2];oI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+44>>2]|0);c[g>>2]=d;b=kx(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+44>>2]=b;i=e;return}function eI(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;f=n+8|0;m=n+4|0;e=n;c[k>>2]=b;c[l>>2]=c[c[k>>2]>>2];if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;if(c[(c[k>>2]|0)+200>>2]|0)AR(c[(c[k>>2]|0)+200>>2]|0,0,c[(c[k>>2]|0)+196>>2]|0)|0;qM(c[k>>2]|0);if((c[(c[k>>2]|0)+40>>2]|0)!=-1108210269){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}if((c[(c[k>>2]|0)+76>>2]|0)>=0?((d[(c[k>>2]|0)+89>>0]|0)>>>6&1|0)!=0:0){c[m>>2]=0;aI(c[k>>2]|0);c[f>>2]=c[(c[k>>2]|0)+80>>2]&255;if((c[f>>2]|0)==7|(c[f>>2]|0)==10|(c[f>>2]|0)==9)b=1;else b=(c[f>>2]|0)==13;c[e>>2]=b&1;do if((c[e>>2]|0)!=0?((c[f>>2]|0)!=9?1:((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0):0){if((c[f>>2]|0)==7|(c[f>>2]|0)==13?((d[(c[k>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){c[m>>2]=2;break}DI(c[l>>2]|0,516);EI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}while(0);if(!(c[(c[k>>2]|0)+80>>2]|0))hI(c[k>>2]|0,0)|0;if((c[(c[l>>2]|0)+316>>2]|0)>0?(c[(c[l>>2]|0)+340>>2]|0)==0:0)h=38;else if((d[(c[l>>2]|0)+67>>0]|0)!=0?(c[(c[l>>2]|0)+160>>2]|0)==(((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0|0):0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?((c[e>>2]|0)!=0?1:(d[(c[k>>2]|0)+86>>0]|0)!=3):0){DI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0}else h=25;do if((h|0)==25){c[g>>2]=hI(c[k>>2]|0,1)|0;do if(c[g>>2]|0){if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){c[g>>2]=787;break}c[j>>2]=1;m=c[j>>2]|0;i=n;return m|0}else c[g>>2]=rM(c[l>>2]|0,c[k>>2]|0)|0;while(0);if((c[g>>2]|0)==5?((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)!=0:0){c[j>>2]=5;m=c[j>>2]|0;i=n;return m|0}if(c[g>>2]|0){c[(c[k>>2]|0)+80>>2]=c[g>>2];DI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0;break}else{f=(c[l>>2]|0)+440|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+448|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+24|0;c[f>>2]=c[f>>2]&-33554433;vj(c[l>>2]|0);break}}while(0);c[(c[l>>2]|0)+436>>2]=0}else h=38;do if((h|0)==38?(c[m>>2]|0)==0:0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?(d[(c[k>>2]|0)+86>>0]|0)!=3:0)if((d[(c[k>>2]|0)+86>>0]|0)==2){c[m>>2]=2;break}else{DI(c[l>>2]|0,516);EI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0;break}c[m>>2]=1}while(0);if((c[m>>2]|0)!=0?(c[g>>2]=iI(c[k>>2]|0,c[m>>2]|0)|0,(c[g>>2]|0)!=0):0){if(!((c[(c[k>>2]|0)+80>>2]|0)!=0?(c[(c[k>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[k>>2]|0)+80>>2]=c[g>>2];Tf(c[l>>2]|0,c[(c[k>>2]|0)+44>>2]|0);c[(c[k>>2]|0)+44>>2]=0}DI(c[l>>2]|0,516);EI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}if((d[(c[k>>2]|0)+89>>0]|0)>>>2&1){b=c[l>>2]|0;if((c[m>>2]|0)!=2)bI(b,c[(c[k>>2]|0)+92>>2]|0);else bI(b,0);c[(c[k>>2]|0)+92>>2]=0}}if((c[(c[k>>2]|0)+76>>2]|0)>=0){m=(c[l>>2]|0)+152|0;c[m>>2]=(c[m>>2]|0)+-1;if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){m=(c[l>>2]|0)+160|0;c[m>>2]=(c[m>>2]|0)+-1}if((d[(c[k>>2]|0)+89>>0]|0)>>>6&1){m=(c[l>>2]|0)+156|0;c[m>>2]=(c[m>>2]|0)+-1}}c[(c[k>>2]|0)+40>>2]=1369188723;if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;c[j>>2]=(c[(c[k>>2]|0)+80>>2]|0)==5?5:0;m=c[j>>2]|0;i=n;return m|0}function fI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=pM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function gI(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+92>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function hI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=wR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;dI(c[f>>2]|0,35704,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=CI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=CI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=AI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=AI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function jI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=oM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function kI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=nM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function lI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=vR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=wR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=vR(0,0,h|0,C|0)|0,d=C,k=g,k=wR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=wR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function mI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=vR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=lI(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=vR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function nI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+48|0;o=n+40|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;m=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=FR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=GR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=FR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=GR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=HR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=HR(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=HR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=HR(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=HR(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(lI(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function oI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function pI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=MF(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=mM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=KF(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(KF(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function qI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(BL(c[e+16>>2]|0)|0))break;c[f>>2]=CL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=lM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function rI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=kM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function sI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;wF(c[f>>2]|0);c[c[e>>2]>>2]=c[(c[f>>2]|0)+16+12>>2];i=d;return 0}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=kM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function uI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[o>>2]=0;e=c[h>>2]|0;if(c[l>>2]|0)c[p>>2]=rI(e,n)|0;else c[p>>2]=tI(e,n)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[p>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];p=c[o>>2]|0;i=q;return p|0}else{c[o>>2]=jM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}return 0}function vI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35576+(d[c>>0]|0)>>0]|0}function wI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function xI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=xR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=iM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function yI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35576+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=xR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)yR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function zI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=uF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=wR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}lF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=jF(f,er((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=jF(f,er((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=uF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function BI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=CH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;CB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;DB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}BI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function CI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Tr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=hM(c[k>>2]|0)|0;a=er((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function DI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Wj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+144+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(di(c[k>>2]|0)|0)c[j>>2]=1;Og(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}mu(c[f>>2]|0)|0;Xj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+144+5>>0]|0)==0:0){Qh(c[f>>2]|0);Bg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-33554433;if(!(c[(c[f>>2]|0)+208>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+208>>2]&255](c[(c[f>>2]|0)+204>>2]|0);i=m;return}function EI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function FI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=eM(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function GI(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+8>>2]|0)+(((c[j+28>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+8>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=cM()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0){LI(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=0}if(Gx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));dM(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function HI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Oj(61882)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=aM(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function II(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function JI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=$L(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function KI(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+52|0;j=w+48|0;k=w+44|0;u=w+40|0;l=w+36|0;t=w+32|0;s=w+28|0;o=w+24|0;n=w+20|0;v=w+16|0;m=w+12|0;q=w;p=w+8|0;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[o>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[n>>2]=136;h=(c[n>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=rh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}n=(c[t>>2]|0)+(c[n>>2]|0)|0;c[s>>2]=n;c[(c[t>>2]|0)+28>>2]=n;yR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[o>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){o=(c[s>>2]|0)+8|0;b[o>>1]=(e[o>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}o=rg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=o;c[(c[t>>2]|0)+12>>2]=o;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Xq(c[r>>2]|0)|0)){c[p>>2]=c[58];j=_(c[p>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=j;j=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;k=q;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=q;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[q+4>>2]|0)<0){o=HR(j|0,k|0,-1024,-1)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}else{o=c[u>>2]|0;o=HR(j|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}m=q;n=c[m+4>>2]|0;m=(n|0)<0|(n|0)==0&(c[m>>2]|0)>>>0<536870912;n=q;o=m?c[n+4>>2]|0:0;p=q;c[p>>2]=m?c[n>>2]|0:536870912;c[p+4>>2]=o;if((c[c[t>>2]>>2]|0)>(c[q>>2]|0))j=c[c[t>>2]>>2]|0;else j=c[q>>2]|0;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function LI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{_L(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){yB(c[e+20>>2]|0)|0;i=j;return}else{AB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function MI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function NI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function OI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=uF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=kF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function PI(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+68|0;r=I+64|0;s=I;t=I+60|0;u=I+56|0;v=I+52|0;w=I+48|0;J=I+44|0;F=I+40|0;y=I+36|0;G=I+32|0;x=I+28|0;E=I+24|0;B=I+20|0;D=I+16|0;A=I+12|0;z=I+8|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+66>>0]|0)==4){c[p>>2]=c[h+60>>2];J=c[p>>2]|0;i=I;return J|0}if((d[h+64>>0]&32|0)!=0?(c[F>>2]=AH(c[D>>2]|0,c[(c[q>>2]|0)+52>>2]|0,c[q>>2]|0)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}do if(!(c[(c[q>>2]|0)+72>>2]|0)){J=s;GK(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0);J=s;B=c[J+4>>2]|0;if((d[(c[q>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(c[J>>2]|0)>>>0>0)?(J=(c[q>>2]|0)+16|0,o=c[J>>2]|0,J=c[J+4>>2]|0,B=s,B=vR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0,(o|0)==(B|0)&(J|0)==(C|0)):0){c[y>>2]=-1;break}if((c[y>>2]|0)==0?(J=s,c[F>>2]=sF(c[q>>2]|0,0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}}else if((c[y>>2]|0)==0?(J=s,c[F>>2]=pF(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}while(0);c[E>>2]=c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=ZL(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+4>>0]|0)){J=c[z>>2]|0;D=c[A>>2]|0;a[J>>0]=a[D>>0]|0;a[J+1>>0]=a[D+1>>0]|0;a[J+2>>0]=a[D+2>>0]|0;a[J+3>>0]=a[D+3>>0]|0}c[F>>2]=IK(c[E>>2]|0,c[A>>2]|0,H)|0;FL(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}GL(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+16+18>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+64|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=HL(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+66>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function QI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Wt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=EH(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=gF(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=AH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;GK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[y>>2]=Fg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=IK(c[x>>2]|0,c[n>>2]|0,q)|0;FL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Oj(65938)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;GL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);FL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=HL(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;DB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=HL(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=uF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function RI(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=qF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=EL(c[n>>2]|0,k)|0;rF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=FF(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function SI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=EL(c[l>>2]|0,h)|0;if(Gx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;yR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function TI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);b=ph(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+44>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function UI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(BL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=CL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function VI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=SK(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=pL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=VK((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function WI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=uF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=XF(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function XI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=gL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))CK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function YI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else HF(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(NF(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Qu()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=SK(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);yR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function ZI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;FH(c[q>>2]|0,p)|0;OF(k,c[r>>2]|0,0);c[f>>2]=uI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else HF(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else HF(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35576+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){JF((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Wg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Wg(k);c[g>>2]=Oj(74309)|0;r=c[g>>2]|0;i=o;return r|0}function _I(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];FH(c[m>>2]|0,l)|0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Oj(74343)|0;p=c[f>>2]|0;i=o;return p|0}OF(k,c[g>>2]|0,0);c[n>>2]=uI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=FF(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Wg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function $I(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=RK(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function aJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function bJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=AH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}GK(c[e>>2]|0,0,0,1);c[j>>2]=HK(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function cJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;AK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);BK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))CK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function dJ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bJ(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function eJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Sj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function fJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Sj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];iH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function gJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Sj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=OB(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function hJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=nF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Wi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[381]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)rK(p,c[m>>2]|0);c[p+28>>2]=42219;v=er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;sK(p,1,v,er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)tK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);uK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(vK(p,c[m>>2]|0)|0)){v=zF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];wK(p,42235,r)}while(0);if(((vK(p,c[m>>2]|0)|0)!=0?(v=zF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];wK(p,42257,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);Zi(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){sA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}sA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function iJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Wg(c[e>>2]|0);d=Rw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=iu(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=qK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function jJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=oK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){d=c[h+4>>2]|0;a=c[k>>2]|0;f=c[a+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function kJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=kK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}k=c[(c[g>>2]|0)+8>>2]|0;a=c[k+4>>2]|0;d=c[h>>2]|0;c[d>>2]=c[k>>2];c[d+4>>2]=a;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))TF(c[g>>2]|0);c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}function lJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=kK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}mK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=nK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=lK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=oK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=lK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function mJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function nJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function oJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[f>>2]=0;c[g>>2]=Et(c[e>>2]|0,1)|0;if(!(c[g>>2]|0))c[g>>2]=Wr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,f)|0;if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=fK(c[e>>2]|0)|0}if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=gK(c[e>>2]|0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=hr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;_i(c[e>>2]|0);if(!(c[g>>2]|0)){g=c[g>>2]|0;i=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[g>>2]|0;i=h;return g|0}Dr(c[e>>2]|0,1)|0;g=c[g>>2]|0;i=h;return g|0}function pJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){mr(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=_J(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Et(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Dr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;ir(c[f>>2]|0);break}if((c[g>>2]|0)==2)mr(c[(c[f>>2]|0)+68>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0} -function OR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function WS(a){a=a|0;return Pb[a&255]()|0}function XS(){return ga(0)|0}function YS(){return ga(1)|0}function ZS(){return ga(2)|0}function _S(){return ga(3)|0}function $S(){return ga(4)|0}function aT(){return ga(5)|0}function bT(){return ga(6)|0}function cT(){return ga(7)|0}function dT(){return ga(8)|0}function eT(){return ga(9)|0}function fT(){return ga(10)|0}function gT(){return ga(11)|0}function hT(){return ga(12)|0}function iT(){return ga(13)|0}function jT(){return ga(14)|0}function kT(){return ga(15)|0}function lT(){return ga(16)|0}function mT(){return ga(17)|0}function nT(){return ga(18)|0}function oT(){return ga(19)|0}function pT(){return ga(20)|0}function qT(){return ga(21)|0}function rT(){return ga(22)|0}function sT(){return ga(23)|0}function tT(){return ga(24)|0}function uT(){return ga(25)|0}function vT(){return ga(26)|0}function wT(){return ga(27)|0}function xT(){return ga(28)|0}function yT(){return ga(29)|0}function zT(){return ga(30)|0}function AT(){return ga(31)|0}function BT(){return ga(32)|0}function CT(){return ga(33)|0}function DT(){return ga(34)|0}function ET(){return ga(35)|0}function FT(){return ga(36)|0}function GT(){return ga(37)|0}function HT(){return ga(38)|0}function IT(){return ga(39)|0}function JT(){return ga(40)|0}function KT(){return ga(41)|0}function LT(){return ga(42)|0}function MT(){return ga(43)|0}function NT(){return ga(44)|0}function OT(){return ga(45)|0}function PT(){return ga(46)|0}function QT(){return ga(47)|0}function RT(){return ga(48)|0}function ST(){return ga(49)|0}function TT(){return ga(50)|0}function UT(){return ga(51)|0}function VT(){return ga(52)|0}function WT(){return ga(53)|0}function XT(){return ga(54)|0}function YT(){return ga(55)|0}function ZT(){return ga(56)|0}function _T(){return ga(57)|0}function $T(){return ga(58)|0}function aU(){return ga(59)|0}function bU(){return ga(60)|0}function cU(){return ga(61)|0}function dU(){return ga(62)|0}function eU(){return ga(63)|0}function fU(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function gU(a){a=a|0;ia(0,a|0)}function hU(a){a=a|0;ia(1,a|0)}function iU(a){a=a|0;ia(2,a|0)}function jU(a){a=a|0;ia(3,a|0)}function kU(a){a=a|0;ia(4,a|0)}function lU(a){a=a|0;ia(5,a|0)}function mU(a){a=a|0;ia(6,a|0)}function nU(a){a=a|0;ia(7,a|0)}function oU(a){a=a|0;ia(8,a|0)}function pU(a){a=a|0;ia(9,a|0)}function qU(a){a=a|0;ia(10,a|0)}function rU(a){a=a|0;ia(11,a|0)}function sU(a){a=a|0;ia(12,a|0)}function tU(a){a=a|0;ia(13,a|0)}function uU(a){a=a|0;ia(14,a|0)}function vU(a){a=a|0;ia(15,a|0)}function wU(a){a=a|0;ia(16,a|0)}function xU(a){a=a|0;ia(17,a|0)}function yU(a){a=a|0;ia(18,a|0)}function zU(a){a=a|0;ia(19,a|0)}function AU(a){a=a|0;ia(20,a|0)}function BU(a){a=a|0;ia(21,a|0)}function CU(a){a=a|0;ia(22,a|0)}function DU(a){a=a|0;ia(23,a|0)}function EU(a){a=a|0;ia(24,a|0)}function FU(a){a=a|0;ia(25,a|0)}function GU(a){a=a|0;ia(26,a|0)}function HU(a){a=a|0;ia(27,a|0)}function IU(a){a=a|0;ia(28,a|0)}function JU(a){a=a|0;ia(29,a|0)}function KU(a){a=a|0;ia(30,a|0)}function LU(a){a=a|0;ia(31,a|0)}function MU(a){a=a|0;ia(32,a|0)}function NU(a){a=a|0;ia(33,a|0)}function OU(a){a=a|0;ia(34,a|0)}function PU(a){a=a|0;ia(35,a|0)}function QU(a){a=a|0;ia(36,a|0)}function RU(a){a=a|0;ia(37,a|0)}function SU(a){a=a|0;ia(38,a|0)}function TU(a){a=a|0;ia(39,a|0)}function UU(a){a=a|0;ia(40,a|0)}function VU(a){a=a|0;ia(41,a|0)}function WU(a){a=a|0;ia(42,a|0)}function XU(a){a=a|0;ia(43,a|0)}function YU(a){a=a|0;ia(44,a|0)}function ZU(a){a=a|0;ia(45,a|0)}function _U(a){a=a|0;ia(46,a|0)}function $U(a){a=a|0;ia(47,a|0)}function aV(a){a=a|0;ia(48,a|0)}function bV(a){a=a|0;ia(49,a|0)}function cV(a){a=a|0;ia(50,a|0)}function dV(a){a=a|0;ia(51,a|0)}function eV(a){a=a|0;ia(52,a|0)}function fV(a){a=a|0;ia(53,a|0)}function gV(a){a=a|0;ia(54,a|0)}function hV(a){a=a|0;ia(55,a|0)}function iV(a){a=a|0;ia(56,a|0)}function jV(a){a=a|0;ia(57,a|0)}function kV(a){a=a|0;ia(58,a|0)}function lV(a){a=a|0;ia(59,a|0)}function mV(a){a=a|0;ia(60,a|0)}function nV(a){a=a|0;ia(61,a|0)}function oV(a){a=a|0;ia(62,a|0)}function pV(a){a=a|0;ia(63,a|0)}function qV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function rV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function sV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function tV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function uV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function BW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function NX(a){a=a|0;return oa(0,a|0)|0}function OX(a){a=a|0;return oa(1,a|0)|0}function PX(a){a=a|0;return oa(2,a|0)|0}function QX(a){a=a|0;return oa(3,a|0)|0}function RX(a){a=a|0;return oa(4,a|0)|0}function SX(a){a=a|0;return oa(5,a|0)|0}function TX(a){a=a|0;return oa(6,a|0)|0}function UX(a){a=a|0;return oa(7,a|0)|0}function VX(a){a=a|0;return oa(8,a|0)|0}function WX(a){a=a|0;return oa(9,a|0)|0}function XX(a){a=a|0;return oa(10,a|0)|0}function YX(a){a=a|0;return oa(11,a|0)|0}function ZX(a){a=a|0;return oa(12,a|0)|0}function _X(a){a=a|0;return oa(13,a|0)|0}function $X(a){a=a|0;return oa(14,a|0)|0}function aY(a){a=a|0;return oa(15,a|0)|0}function bY(a){a=a|0;return oa(16,a|0)|0}function cY(a){a=a|0;return oa(17,a|0)|0}function dY(a){a=a|0;return oa(18,a|0)|0}function eY(a){a=a|0;return oa(19,a|0)|0}function fY(a){a=a|0;return oa(20,a|0)|0}function gY(a){a=a|0;return oa(21,a|0)|0}function hY(a){a=a|0;return oa(22,a|0)|0}function iY(a){a=a|0;return oa(23,a|0)|0}function jY(a){a=a|0;return oa(24,a|0)|0}function kY(a){a=a|0;return oa(25,a|0)|0}function lY(a){a=a|0;return oa(26,a|0)|0}function mY(a){a=a|0;return oa(27,a|0)|0}function nY(a){a=a|0;return oa(28,a|0)|0}function oY(a){a=a|0;return oa(29,a|0)|0}function pY(a){a=a|0;return oa(30,a|0)|0}function qY(a){a=a|0;return oa(31,a|0)|0}function rY(a){a=a|0;return oa(32,a|0)|0}function sY(a){a=a|0;return oa(33,a|0)|0}function tY(a){a=a|0;return oa(34,a|0)|0}function uY(a){a=a|0;return oa(35,a|0)|0}function vY(a){a=a|0;return oa(36,a|0)|0}function wY(a){a=a|0;return oa(37,a|0)|0}function xY(a){a=a|0;return oa(38,a|0)|0}function yY(a){a=a|0;return oa(39,a|0)|0}function zY(a){a=a|0;return oa(40,a|0)|0}function AY(a){a=a|0;return oa(41,a|0)|0}function BY(a){a=a|0;return oa(42,a|0)|0}function CY(a){a=a|0;return oa(43,a|0)|0}function DY(a){a=a|0;return oa(44,a|0)|0}function EY(a){a=a|0;return oa(45,a|0)|0}function FY(a){a=a|0;return oa(46,a|0)|0}function GY(a){a=a|0;return oa(47,a|0)|0}function HY(a){a=a|0;return oa(48,a|0)|0}function IY(a){a=a|0;return oa(49,a|0)|0}function JY(a){a=a|0;return oa(50,a|0)|0}function KY(a){a=a|0;return oa(51,a|0)|0}function LY(a){a=a|0;return oa(52,a|0)|0}function MY(a){a=a|0;return oa(53,a|0)|0}function NY(a){a=a|0;return oa(54,a|0)|0}function OY(a){a=a|0;return oa(55,a|0)|0}function PY(a){a=a|0;return oa(56,a|0)|0}function QY(a){a=a|0;return oa(57,a|0)|0}function RY(a){a=a|0;return oa(58,a|0)|0}function SY(a){a=a|0;return oa(59,a|0)|0}function TY(a){a=a|0;return oa(60,a|0)|0}function UY(a){a=a|0;return oa(61,a|0)|0}function VY(a){a=a|0;return oa(62,a|0)|0}function WY(a){a=a|0;return oa(63,a|0)|0}function XY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function YY(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function ZY(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function g_(a){a=a|0;Vb[a&255]()}function h_(){sa(0)}function i_(){sa(1)}function j_(){sa(2)}function k_(){sa(3)}function l_(){sa(4)}function m_(){sa(5)}function n_(){sa(6)}function o_(){sa(7)}function p_(){sa(8)}function q_(){sa(9)}function r_(){sa(10)}function s_(){sa(11)}function t_(){sa(12)}function u_(){sa(13)}function v_(){sa(14)}function w_(){sa(15)}function x_(){sa(16)}function y_(){sa(17)}function z_(){sa(18)}function A_(){sa(19)}function B_(){sa(20)}function C_(){sa(21)}function D_(){sa(22)}function E_(){sa(23)}function F_(){sa(24)}function G_(){sa(25)}function H_(){sa(26)}function I_(){sa(27)}function J_(){sa(28)}function K_(){sa(29)}function L_(){sa(30)}function M_(){sa(31)}function N_(){sa(32)}function O_(){sa(33)}function P_(){sa(34)}function Q_(){sa(35)}function R_(){sa(36)}function S_(){sa(37)}function T_(){sa(38)}function U_(){sa(39)}function V_(){sa(40)}function W_(){sa(41)}function X_(){sa(42)}function Y_(){sa(43)}function Z_(){sa(44)}function __(){sa(45)}function $_(){sa(46)}function a$(){sa(47)}function b$(){sa(48)}function c$(){sa(49)}function d$(){sa(50)}function e$(){sa(51)}function f$(){sa(52)}function g$(){sa(53)}function h$(){sa(54)}function i$(){sa(55)}function j$(){sa(56)}function k$(){sa(57)}function l$(){sa(58)}function m$(){sa(59)}function n$(){sa(60)}function o$(){sa(61)}function p$(){sa(62)}function q$(){sa(63)}function r$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function s$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function t$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function u$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function D0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function E0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function F0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function O1(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function P1(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function Q1(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function R1(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function Y2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function Z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function _2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function $2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function i4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function s5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function t5(){ba(1);return 0}function u5(a){a=a|0;ba(2)}function v5(a,b){a=a|0;b=b|0;ba(3)}function w5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function x5(a){a=a|0;ba(5);return 0}function y5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function z5(){ba(7)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function B5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function C5(a,b){a=a|0;b=b|0;ba(10);return 0}function D5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} +function jz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=sh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Rv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Tv(q,0,Wv(c[n>>2]|0,160,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function kz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|64;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&64|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;bw(l,c[(mz(c[r>>2]|0)|0)+64>>2]|0,0)}$x(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(nz(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(sy(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=sh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Gh(l,30109,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}by(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=px(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(oz(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Tx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=_x(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;sy(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(pz(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Eh(X,30122,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(qz(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==160)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==160:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=160){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==160:0){j=58;break}c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&2048|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Fh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=25451;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(fz(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&131072|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(rz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((sz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Wv(c[t>>2]|0,55,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Wv(c[t>>2]|0,55,c[W>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Wv(c[t>>2]|0,55,c[U>>2]|0)|0;c[B>>2]=Ev(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Gh(p,30161,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Tv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Xy(L,c[S>>2]|0);Uv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&2048))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=qh(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Gh(h,30167,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Eh(h,30176,O);break}else{Eh(h,30194,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}ev(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+96+8>>2]|0):0){Eh(c[F>>2]|0,30214,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(mz(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+472>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function mz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function nz(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=Fz(c[(c[y>>2]|0)+472>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Eh(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(oz(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=sh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=qh(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=_x(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Eh(A,30455,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=30498;c[z>>2]=c[(c[y>>2]|0)+472>>2];c[(c[y>>2]|0)+472>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;sy(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+472>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Eh(A,30521,u);c[(c[y>>2]|0)+472>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}by(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=30559;else c[g>>2]=30593;sy(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+472>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function oz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Eh(a,30432,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function pz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Eh(k,30414,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function qz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)uz(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)vz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=wz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=tz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(rz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}uz(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Eh(B,30245,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Eh(c[x>>2]|0,30295,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Eh(z,30350,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=tz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function tz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function uz(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=Ez(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=Ev(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=wz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function vz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;vz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);vz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((xz(b)|0)==0?(xz(c[h>>2]|0)|0)==0:0){c[j>>2]=jw(c[f>>2]|0,28,0,0)|0;yz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}iv(c[f>>2]|0,c[g>>2]|0);iv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=jw(c[f>>2]|0,134,4276,0)|0;j=c[e>>2]|0;i=k;return j|0}function xz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function yz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){iv(c[f>>2]|0,c[h>>2]|0);iv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}zz(c[g>>2]|0);i=k;return}function zz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;Az(c[(c[b>>2]|0)+12>>2]|0,d);Az(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){Cz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(Dz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else Bz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}Az(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);Az(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);Cz(c[c[d>>2]>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);Cz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);Bz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;Az(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Dz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function Ez(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=jw(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=WR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function Fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function Gz(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Vw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=qh(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=qh(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=Qy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=_x(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=Iy(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=Iz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=sh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=_x(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=Qy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=qh(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function Iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Vw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Vw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=qh(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Jz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Gh(M,30650,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Gh(n,18391,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=sh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)mh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=30722;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Gh(K,L,B)|0;c[c[G>>2]>>2]=L;su(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=vi((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,18402)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(30768,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Gh(e,30692,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Gh(e,18391,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function Kz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+148+5>>0]|0))c[f>>2]=si(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];rx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+40>>2];a=(c[d>>2]|0)+40|0;c[a>>2]=(c[a>>2]|0)+3;Pz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+44>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+40>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Qz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Rz(c[d>>2]|0,c[e>>2]|0);i=l;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Tw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ni(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+40>>2];d=(c[e>>2]|0)+40|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Pz(d,a,b,c[c[g>>2]>>2]|0,30854);else Pz(d,a,b,c[c[f>>2]>>2]|0,30858);Qz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+44>>2]|0)+1|0,c[(c[e>>2]|0)+40>>2]|0);Rz(c[e>>2]|0,c[h>>2]|0);i=k;return}function Oz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+148|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Eh(c[j>>2]|0,30817,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=Mz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Eh(p,30834,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Pz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=dx(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[4396+(c[q>>2]<<3)>>2];g=ti(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[4396+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[4396+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;cx(g,30915,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+104>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Tz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;cx(g,30938,v);break}else{ix(c[t>>2]|0,131,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[4396+(c[q>>2]<<3)+4>>2]|0))break;Ih(c[t>>2]|0,105,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Jh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Qz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+44>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+44>>2]=l;c[O>>2]=dx(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(30862,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Fh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(ax(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Tz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+40>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+40>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+40>>2]=l;Uz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,104);hx(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}hx(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+44>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+44>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=l;jx(c[O>>2]|0,104,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[n>>2]|0,c[F>>2]|0);ix(c[O>>2]|0,76,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;ix(c[O>>2]|0,76,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;mx(c[O>>2]|0,89,0,(c[L>>2]|0)+1|0,c[L>>2]|0,4292,-5)|0;Jh(c[O>>2]|0,2);c[t>>2]=Sz(c[O>>2]|0,57,c[y>>2]|0)|0;ix(c[O>>2]|0,76,0,c[G>>2]|0)|0;c[s>>2]=wx(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Wz(c[O>>2]|0)|0;c[r>>2]=Vw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;fx(c[O>>2]|0,13)|0;c[s>>2]=wx(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)ix(c[O>>2]|0,35,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Xz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;ix(c[O>>2]|0,76,c[w>>2]|0,c[G>>2]|0)|0;jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=mx(c[O>>2]|0,36,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Jh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}ix(c[O>>2]|0,76,c[C>>2]|0,c[G>>2]|0)|0;Yz(c[O>>2]|0,c[v>>2]|0)|0;Zz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Zz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);jx(c[O>>2]|0,96,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}_z(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}mx(c[O>>2]|0,89,1,c[L>>2]|0,c[N>>2]|0,4320,-5)|0;Jh(c[O>>2]|0,2);ix(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;$z(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}ix(c[O>>2]|0,100,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Sz(c[O>>2]|0,22,c[K>>2]|0)|0;ix(c[O>>2]|0,79,0,c[H>>2]|0)|0;mx(c[O>>2]|0,99,c[M>>2]|0,3,c[N>>2]|0,30871,0)|0;ix(c[O>>2]|0,114,c[q>>2]|0,c[I>>2]|0)|0;jx(c[O>>2]|0,115,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Jh(c[O>>2]|0,8);Zz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=dx(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Sz(c[e>>2]|0,137,c[d>>2]|0)|0;i=f;return}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=jx(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Tz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+112>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+112>>2]|0)+1<<4;e=c[k>>2]|0;e=Px(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+116>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+116>>2]=e;e=(c[q>>2]|0)+112|0;if(c[(c[q>>2]|0)+116>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;mh(c[c[q>>2]>>2]|0);i=s;return}}function Uz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=dx(c[j>>2]|0)|0;Tz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==105?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Ih(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Jj(c[m>>2]|0)|0;jx(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Vz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Vz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Mh(a,-1,hA(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Wz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+12>>2];f=(c[d>>2]|0)+72|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Px(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+76>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+76>>2]=f}if(!(c[(c[d>>2]|0)+76>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+76>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Xz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+148+5>>0]|0;c[j>>2]=Sj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=gy(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Zz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;dA(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+136>>2]|0);i=d;return}function _z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];c[e>>2]=-1-(c[h>>2]|0);if(!(c[(c[f>>2]|0)+76>>2]|0)){i=g;return}c[(c[(c[f>>2]|0)+76>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+136>>2];i=g;return}function $z(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;mx(c[g>>2]|0,89,0,c[j>>2]|0,c[h>>2]|0,4348,-5)|0;Jh(c[g>>2]|0,1);i=f;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=_d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){se(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,30884,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=RR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=QR(p|0,C|0,1,0)|0;d=h;d=bS(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,30889,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}me(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=_d(c[c[j>>2]>>2]|0)|0;c[f>>2]=ce(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}cA(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function cA(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function eA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+136>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=4376;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=ce(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=ce(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=ve(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=sh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){se(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);fe(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function gA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function hA(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+36>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=iA(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=iA(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==34834)f=0;else f=Xz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+36>>2]|0){jA(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function iA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=Vw(c[g>>2]|0,24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;VR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{mh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function jA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(c[(c[b>>2]|0)+12>>2]|0,c[b>>2]|0);i=d;return}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];lA(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function lA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(HB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;rx(c[e>>2]|0,0,c[h>>2]|0);mA(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function mA(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Fh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(ax(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Tz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=dx(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=hA(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;mx(b,108,a,0,y,nA(c[k>>2]|0)|0,-6)|0;Uz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,104);c[p>>2]=ix(c[w>>2]|0,57,c[t>>2]|0,0)|0;c[v>>2]=vx(c[n>>2]|0)|0;oA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;ix(c[w>>2]|0,125,c[s>>2]|0,c[v>>2]|0)|0;pA(c[n>>2]|0,c[j>>2]|0);ix(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)ix(c[w>>2]|0,131,c[m>>2]|0,c[h>>2]|0)|0;mx(c[w>>2]|0,105,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Jh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=ix(c[w>>2]|0,55,c[s>>2]|0,0)|0;y=(d[(c[o>>2]|0)+54>>0]|0|0)!=0;g=wx(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Yz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=wx(c[w>>2]|0)|0;Ih(c[w>>2]|0,119,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;qA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;jx(c[w>>2]|0,120,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;jx(c[w>>2]|0,53,c[r>>2]|0,0,-1)|0;jx(c[w>>2]|0,126,c[r>>2]|0,c[v>>2]|0,0)|0;Jh(c[w>>2]|0,16);xx(c[n>>2]|0,c[v>>2]|0);ix(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Zz(c[w>>2]|0,c[p>>2]|0);Sz(c[w>>2]|0,111,c[t>>2]|0)|0;Sz(c[w>>2]|0,111,c[r>>2]|0)|0;Sz(c[w>>2]|0,111,c[s>>2]|0)|0;i=x;return}function nA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function oA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Wz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+60>>2]=c[q>>2];AA(c[o>>2]|0);BA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=CA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){DA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);EA(c[x>>2]|0,92)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}jx(c[x>>2]|0,99,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;FA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function pA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}_z(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);yA(c[d>>2]|0);i=f;return}function qA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];rA(l,31053,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)sA(l,31064,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;rA(l,30161,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;tA(o,p,q,r,-1,2);i=s;return}function rA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){uA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);TR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function tA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=dx(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Vx(c[j>>2]|0);mx(c[p>>2]|0,75,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Jh(c[p>>2]|0,a[o>>0]|0);i=q;return}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=vA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}TR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function vA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;wA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=RR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=RR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){xA(c[j>>2]|0);wA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Uw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){xA(e);wA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)TR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=ku(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function wA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function xA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function yA(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;a=(c[b>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[e>>2]|0)>=(d[(c[b>>2]|0)+25>>0]|0|0))break;if((c[(c[b>>2]|0)+152+((c[e>>2]|0)*20|0)+8>>2]|0)>(c[(c[b>>2]|0)+64>>2]|0)){zA(c[b>>2]|0,c[e>>2]|0);continue}else{c[e>>2]=(c[e>>2]|0)+1;continue}}i=f;return}function zA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((a[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+6>>0]|0)!=0?(d[(c[f>>2]|0)+19>>0]|0)<8:0){e=c[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+352+((b&255)<<2)>>2]=e}j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0)){i=h;return}j=(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)|0;b=(c[f>>2]|0)+152+((d[(c[f>>2]|0)+25>>0]|0)*20|0)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];i=h;return}function AA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function BA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=Iy(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}iB(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;iv(a,n);i=m;return}function CA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)==1){c[d>>2]=vx(b)|0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=c[b+32>>2];c[h>>2]=c[(c[e>>2]|0)+28>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[e>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0)}else{c[g>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;h=(c[e>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0)}c[d>>2]=c[g>>2];h=c[d>>2]|0;i=j;return h|0}function DA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+60>>2]=c[k>>2];MA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{NA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function EA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if((c[(c[g>>2]|0)+136>>2]|0)>0?(d[(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=HA(c[g>>2]|0,(c[(c[g>>2]|0)+136>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function FA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[e>>2]|0;d=c[f>>2]|0;if((c[g>>2]|0)==1){xx(b,d);i=h;return}GA(b,d,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0)){i=h;return}c[(c[e>>2]|0)+28>>2]=c[g>>2];c[(c[e>>2]|0)+32>>2]=c[f>>2];i=h;return}function GA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;c[k>>2]=(c[f>>2]|0)+152+((c[j>>2]|0)*20|0);if((c[(c[k>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0){zA(c[f>>2]|0,c[j>>2]|0);continue}c[j>>2]=(c[j>>2]|0)+1}i=l;return}function HA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);IA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-95;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function IA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;a:do switch(c[h>>2]|0){case -21:{JA(c[e>>2]|0,c[f>>2]|0);break}case -15:case -1:case -13:case -12:{Tf(c[e>>2]|0,c[f>>2]|0);break}case -6:{if(!(c[(c[e>>2]|0)+456>>2]|0))jA(c[f>>2]|0);break}case -11:{if(!(c[(c[e>>2]|0)+456>>2]|0))Kd(c[f>>2]|0);break}case -5:{KA(c[e>>2]|0,c[f>>2]|0);break}case -8:if(!(c[(c[e>>2]|0)+456>>2]|0)){ch(c[f>>2]|0);break a}else{LA(c[e>>2]|0,c[f>>2]|0);break a}case -10:{if(!(c[(c[e>>2]|0)+456>>2]|0))su(c[f>>2]|0);break}default:{}}while(0);i=g;return}function JA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;KA(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function KA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function LA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+24>>2]|0)Tf(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function MA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=Iy(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;iv(b,e);i=k;return}function NA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?156:96;c[p>>2]=c[m>>2];if((d[(c[k>>2]|0)+42>>0]&32|0)!=0?(d[(c[k>>2]|0)+42>>0]&16|0)==0:0){a=Jj(c[k>>2]|0)|0;c[p>>2]=(OA(a,c[m>>2]&65535)|0)<<16>>16}jx(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else ix(c[j>>2]|0,123,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}PA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function OA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function PA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(QA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=QA(c[g>>2]|0)|0;ux(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Mh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Sz(c[g>>2]|0,92,c[k>>2]|0)|0;i=o;return}function QA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function RA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){ix(c[(c[f>>2]|0)+8>>2]|0,84,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=SA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}ix(c[(c[f>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function SA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=i;i=i+320|0;x=ja+24|0;w=ja+16|0;F=ja+8|0;v=ja;ga=ja+304|0;ha=ja+300|0;O=ja+296|0;ia=ja+292|0;ea=ja+288|0;B=ja+284|0;ba=ja+280|0;ca=ja+276|0;da=ja+272|0;R=ja+268|0;E=ja+264|0;S=ja+216|0;C=ja+208|0;q=ja+204|0;r=ja+200|0;m=ja+196|0;n=ja+192|0;y=ja+188|0;z=ja+184|0;D=ja+180|0;t=ja+176|0;j=ja+172|0;s=ja+168|0;Q=ja+164|0;P=ja+160|0;N=ja+156|0;G=ja+152|0;H=ja+148|0;L=ja+144|0;I=ja+140|0;A=ja+309|0;M=ja+136|0;J=ja+132|0;K=ja+308|0;o=ja+128|0;k=ja+124|0;l=ja+120|0;u=ja+116|0;p=ja+112|0;U=ja+108|0;X=ja+104|0;W=ja+100|0;V=ja+96|0;Z=ja+92|0;T=ja+88|0;Y=ja+40|0;aa=ja+32|0;$=ja+28|0;c[ha>>2]=f;c[O>>2]=g;c[ia>>2]=h;c[ea>>2]=c[(c[ha>>2]|0)+8>>2];c[ba>>2]=c[ia>>2];c[ca>>2]=0;c[da>>2]=0;c[C>>2]=0;if(!(c[ea>>2]|0)){c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if(!(c[O>>2]|0))c[B>>2]=101;else c[B>>2]=d[c[O>>2]>>0];a:do switch(c[B>>2]|0){case 154:{c[q>>2]=c[(c[O>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[O>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if(a[(c[q>>2]|0)+1>>0]|0){jx(c[ea>>2]|0,96,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{UA(c[ha>>2]|0,c[O>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 132:{VA(c[ea>>2]|0,c[(c[O>>2]|0)+8>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 97:{hx(c[ea>>2]|0,c[ia>>2]|0,c[(c[O>>2]|0)+8>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 101:{ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 133:{c[y>>2]=(c[(c[O>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[y>>2]|0)|0)-1;c[z>>2]=Ix(QA(c[ea>>2]|0)|0,c[y>>2]|0,c[n>>2]|0)|0;mx(c[ea>>2]|0,81,(c[n>>2]|0)/2|0,c[ia>>2]|0,0,c[z>>2]|0,-1)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 135:{ix(c[ea>>2]|0,82,b[(c[O>>2]|0)+32>>1]|0,c[ia>>2]|0)|0;if(a[(c[(c[O>>2]|0)+8>>2]|0)+1>>0]|0)Mh(c[ea>>2]|0,-1,c[(c[(c[ha>>2]|0)+428>>2]|0)+((b[(c[O>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 157:{c[ga>>2]=c[(c[O>>2]|0)+28>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 66:{c[ba>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;if((c[ba>>2]|0)!=(c[ia>>2]|0)){ix(c[ea>>2]|0,85,c[ba>>2]|0,c[ia>>2]|0)|0;c[ba>>2]=c[ia>>2]}ix(c[ea>>2]|0,93,c[ia>>2]|0,(Dx(c[(c[O>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;WA(c[ha>>2]|0,c[ba>>2]|0,1);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 148:case 29:{c[B>>2]=(c[B>>2]|0)==29?37:36;c[C>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;jx(c[ea>>2]|0,c[B>>2]|0,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break}case 155:{c[t>>2]=c[(c[O>>2]|0)+12>>2];if((d[c[t>>2]>>0]|0)==134){UA(c[ha>>2]|0,c[t>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}if((d[c[t>>2]>>0]|0)!=132){a[S>>0]=-122;c[S+4>>2]=17408;c[S+8>>2]=0;c[R>>2]=ZA(c[ha>>2]|0,S,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,da)|0;jx(c[ea>>2]|0,48,c[E>>2]|0,c[R>>2]|0,c[ia>>2]|0)|0;break a}VA(c[ea>>2]|0,c[(c[t>>2]|0)+8>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 19:case 54:{c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;ix(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0,c[ba>>2]|0)|0;break}case 35:case 34:{ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;c[R>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,ca)|0;c[j>>2]=Sz(c[ea>>2]|0,c[B>>2]|0,c[R>>2]|0)|0;ix(c[ea>>2]|0,76,0,c[ia>>2]|0)|0;Zz(c[ea>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[O>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[ha>>2]|0;c[v>>2]=c[(c[O>>2]|0)+8>>2];Eh(ia,31067,v);break a}c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[O>>2]|0)+34>>1]<<4)+8>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 151:{c[H>>2]=0;c[I>>2]=c[c[ha>>2]>>2];a[A>>0]=a[(c[I>>2]|0)+66>>0]|0;c[M>>2]=0;if(c[(c[O>>2]|0)+4>>2]&16384)c[Q>>2]=0;else c[Q>>2]=c[(c[O>>2]|0)+20>>2];if(c[Q>>2]|0)j=c[c[Q>>2]>>2]|0;else j=0;c[P>>2]=j;c[G>>2]=c[(c[O>>2]|0)+8>>2];c[N>>2]=ki(c[I>>2]|0,c[G>>2]|0,c[P>>2]|0,a[A>>0]|0,0)|0;if((c[N>>2]|0)!=0?(c[(c[N>>2]|0)+16>>2]|0)==0:0){if(e[(c[N>>2]|0)+2>>1]&512){c[J>>2]=Wz(c[ea>>2]|0)|0;RA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0);c[L>>2]=1;while(1){j=c[ea>>2]|0;if((c[L>>2]|0)>=(c[P>>2]|0))break;ix(j,35,c[ia>>2]|0,c[J>>2]|0)|0;GA(c[ha>>2]|0,c[ia>>2]|0,1);AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0);c[L>>2]=(c[L>>2]|0)+1}_z(j,c[J>>2]|0);break a}if(e[(c[N>>2]|0)+2>>1]&1024){c[ga>>2]=SA(c[ha>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[P>>2]|0))break;if((c[L>>2]|0)<32?($A(c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[H>>2]=c[H>>2]|1<>2];if(!((c[M>>2]|0)!=0?1:(e[(c[N>>2]|0)+2>>1]&32|0)==0))c[M>>2]=fy(c[ha>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[L>>2]|0)*20|0)>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+1}if(c[Q>>2]|0){j=c[ha>>2]|0;if(c[H>>2]|0){c[R>>2]=(c[j+44>>2]|0)+1;da=(c[ha>>2]|0)+44|0;c[da>>2]=(c[da>>2]|0)+(c[P>>2]|0)}else c[R>>2]=CA(j,c[P>>2]|0)|0;do if(e[(c[N>>2]|0)+2>>1]&192){a[K>>0]=a[c[c[(c[Q>>2]|0)+4>>2]>>2]>>0]|0;if((d[K>>0]|0)!=152?(d[K>>0]|0)!=154:0)break;a[(c[c[(c[Q>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[N>>2]|0)+2>>1]&192}while(0);AA(c[ha>>2]|0);aB(c[ha>>2]|0,c[Q>>2]|0,c[R>>2]|0,0,3)|0;yA(c[ha>>2]|0)}else c[R>>2]=0;if((c[P>>2]|0)>=2?(c[(c[O>>2]|0)+4>>2]&128|0)!=0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+20>>2]|0)|0;else fa=79;if((fa|0)==79?(c[P>>2]|0)>0:0)c[N>>2]=bB(c[I>>2]|0,c[N>>2]|0,c[P>>2]|0,c[c[(c[Q>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[N>>2]|0)+2>>1]&32){if(!(c[M>>2]|0))c[M>>2]=c[(c[I>>2]|0)+8>>2];mx(c[ea>>2]|0,88,0,0,0,c[M>>2]|0,-4)|0}mx(c[ea>>2]|0,89,c[H>>2]|0,c[R>>2]|0,c[ia>>2]|0,c[N>>2]|0,-5)|0;Jh(c[ea>>2]|0,c[P>>2]&255);if((c[P>>2]|0)!=0&(c[H>>2]|0)==0)FA(c[ha>>2]|0,c[R>>2]|0,c[P>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}ia=c[ha>>2]|0;c[F>>2]=c[G>>2];Eh(ia,31093,F);break}case 119:case 20:{if((c[B>>2]|0)==119?(ia=c[c[c[(c[O>>2]|0)+20>>2]>>2]>>2]|0,c[o>>2]=ia,(ia|0)!=1):0){cB(c[ha>>2]|0,c[o>>2]|0,1);break a}c[ga>>2]=dB(c[ha>>2]|0,c[O>>2]|0,0,0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 159:{if(!(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)){ia=dB(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,0,0)|0;c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]=ia}c[ga>>2]=(c[(c[(c[O>>2]|0)+12>>2]|0)+28>>2]|0)+(b[(c[O>>2]|0)+32>>1]|0);ia=c[ga>>2]|0;i=ja;return ia|0}case 33:{c[k>>2]=Wz(c[ea>>2]|0)|0;c[l>>2]=Wz(c[ea>>2]|0)|0;ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;eB(c[ha>>2]|0,c[O>>2]|0,c[k>>2]|0,c[l>>2]|0);ix(c[ea>>2]|0,76,1,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[k>>2]|0);ix(c[ea>>2]|0,91,c[ia>>2]|0,0)|0;_z(c[ea>>2]|0,c[l>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 32:{fB(c[ha>>2]|0,c[O>>2]|0,c[ia>>2]|0,0,0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;i=ja;return ia|0}case 156:case 53:case 161:{c[ga>>2]=SA(c[ha>>2]|0,c[(c[O>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}case 88:{c[u>>2]=c[(c[O>>2]|0)+44>>2];c[p>>2]=(_(c[(c[O>>2]|0)+28>>2]|0,(b[(c[u>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[O>>2]|0)+32>>1]|0);ix(c[ea>>2]|0,143,c[p>>2]|0,c[ia>>2]|0)|0;if((b[(c[O>>2]|0)+32>>1]|0)>=0?(a[(c[(c[u>>2]|0)+4>>2]|0)+(b[(c[O>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Sz(c[ea>>2]|0,92,c[ia>>2]|0)|0;break}case 158:{Eh(c[ha>>2]|0,29838,w);break}case 83:{if(!(c[(c[ha>>2]|0)+128>>2]|0)){Eh(c[ha>>2]|0,31116,x);c[ga>>2]=0;ia=c[ga>>2]|0;i=ja;return ia|0}if((a[(c[O>>2]|0)+1>>0]|0)==2)Vx(c[ha>>2]|0);if((a[(c[O>>2]|0)+1>>0]|0)==4){mx(c[ea>>2]|0,75,0,4,0,c[(c[O>>2]|0)+8>>2]|0,0)|0;break a}else{tA(c[ha>>2]|0,1811,a[(c[O>>2]|0)+1>>0]|0,c[(c[O>>2]|0)+8>>2]|0,0,0);break a}}default:{c[$>>2]=0;c[Z>>2]=c[(c[O>>2]|0)+20>>2];c[T>>2]=c[(c[Z>>2]|0)+4>>2];c[W>>2]=c[c[Z>>2]>>2];c[U>>2]=Wz(c[ea>>2]|0)|0;R=c[(c[O>>2]|0)+12>>2]|0;c[aa>>2]=R;if(R){j=S;k=c[aa>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));hB(S,gB(c[ha>>2]|0,S,ca)|0);j=Y;l=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));a[Y>>0]=37;c[Y+12>>2]=S;c[$>>2]=Y;c[ca>>2]=0}c[V>>2]=0;while(1){if((c[V>>2]|0)>=((c[W>>2]|0)-1|0))break;AA(c[ha>>2]|0);j=c[(c[T>>2]|0)+((c[V>>2]|0)*20|0)>>2]|0;if(c[aa>>2]|0)c[Y+16>>2]=j;else c[$>>2]=j;c[X>>2]=Wz(c[ea>>2]|0)|0;iB(c[ha>>2]|0,c[$>>2]|0,c[X>>2]|0,16);RA(c[ha>>2]|0,c[(c[T>>2]|0)+(((c[V>>2]|0)+1|0)*20|0)>>2]|0,c[ia>>2]|0);Yz(c[ea>>2]|0,c[U>>2]|0)|0;yA(c[ha>>2]|0);_z(c[ea>>2]|0,c[X>>2]|0);c[V>>2]=(c[V>>2]|0)+2}if(c[W>>2]&1){AA(c[ha>>2]|0);RA(c[ha>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+(((c[W>>2]|0)-1|0)*20|0)>>2]|0,c[ia>>2]|0);yA(c[ha>>2]|0)}else ix(c[ea>>2]|0,79,0,c[ia>>2]|0)|0;_z(c[ea>>2]|0,c[U>>2]|0)}}while(0);do if((fa|0)==11){c[m>>2]=c[(c[O>>2]|0)+28>>2];do if((c[m>>2]|0)<0){if((c[(c[ha>>2]|0)+56>>2]|0)<=0){c[m>>2]=c[(c[ha>>2]|0)+60>>2];break}c[ga>>2]=(b[(c[O>>2]|0)+32>>1]|0)+(c[(c[ha>>2]|0)+56>>2]|0);ia=c[ga>>2]|0;i=ja;return ia|0}while(0);c[ga>>2]=TA(c[ha>>2]|0,c[(c[O>>2]|0)+44>>2]|0,b[(c[O>>2]|0)+32>>1]|0,c[m>>2]|0,c[ia>>2]|0,a[(c[O>>2]|0)+38>>0]|0)|0;ia=c[ga>>2]|0;i=ja;return ia|0}else if((fa|0)==29){c[D>>2]=c[(c[O>>2]|0)+12>>2];fa=(XA(c[D>>2]|0)|0)!=0;j=c[ha>>2]|0;if(fa){YA(j,c[O>>2]|0,c[ia>>2]|0,c[B>>2]&255,c[C>>2]&255);break}else{c[R>>2]=ZA(j,c[D>>2]|0,ca)|0;c[E>>2]=ZA(c[ha>>2]|0,c[(c[O>>2]|0)+16>>2]|0,da)|0;_A(c[ha>>2]|0,c[D>>2]|0,c[(c[O>>2]|0)+16>>2]|0,c[B>>2]|0,c[R>>2]|0,c[E>>2]|0,c[ba>>2]|0,32|c[C>>2])|0;break}}while(0);xx(c[ha>>2]|0,c[ca>>2]|0);xx(c[ha>>2]|0,c[da>>2]|0);c[ga>>2]=c[ba>>2];ia=c[ga>>2]|0;i=ja;return ia|0}function TA(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;p=w+16|0;q=w+12|0;r=w+36|0;u=w+8|0;s=w+4|0;t=w;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=k;c[u>>2]=c[(c[m>>2]|0)+8>>2];c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+152;while(1){if((c[s>>2]|0)>=(d[(c[m>>2]|0)+25>>0]|0))break;if((c[c[t>>2]>>2]|0)==(c[p>>2]|0)?(b[(c[t>>2]|0)+4>>1]|0)==(c[o>>2]|0):0){v=5;break}c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==5){u=(c[m>>2]|0)+68|0;v=c[u>>2]|0;c[u>>2]=v+1;c[(c[t>>2]|0)+16>>2]=v;FB(c[m>>2]|0,c[(c[t>>2]|0)+12>>2]|0);c[l>>2]=c[(c[t>>2]|0)+12>>2];v=c[l>>2]|0;i=w;return v|0}NA(c[u>>2]|0,c[n>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);if(a[r>>0]|0)Jh(c[u>>2]|0,a[r>>0]|0);else GB(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);c[l>>2]=c[q>>2];v=c[l>>2]|0;i=w;return v|0}function UA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);ix(c[l>>2]|0,76,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Hi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31290,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Eh(q,31293,n);i=p;return}else{VA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=QR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}EB(c[l>>2]|0,77,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function VA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;ez(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];EB(c[f>>2]|0,132,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function WA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;GA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function XA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(cz(c[d>>2]|0)|0)>1&1;i=b;return a|0}function YA(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+80|0;j=C+64|0;D=C+60|0;k=C+56|0;l=C+70|0;m=C+69|0;B=C+52|0;s=C+48|0;u=C+44|0;p=C+40|0;o=C+36|0;z=C+32|0;A=C+28|0;q=C+68|0;n=C+24|0;x=C+20|0;y=C+16|0;r=C+12|0;t=C+8|0;v=C+4|0;w=C;c[j>>2]=b;c[D>>2]=e;c[k>>2]=f;a[l>>0]=g;a[m>>0]=h;c[B>>2]=c[(c[j>>2]|0)+8>>2];c[s>>2]=c[(c[D>>2]|0)+12>>2];c[u>>2]=c[(c[D>>2]|0)+16>>2];c[p>>2]=cz(c[s>>2]|0)|0;c[z>>2]=0;c[A>>2]=0;a[q>>0]=a[l>>0]|0;c[n>>2]=Wz(c[B>>2]|0)|0;a[m>>0]=d[m>>0]|0|32;if((d[q>>0]|0|0)==39)a[q>>0]=40;if((d[q>>0]|0|0)==41)a[q>>0]=38;c[z>>2]=CB(c[j>>2]|0,c[s>>2]|0)|0;c[A>>2]=CB(c[j>>2]|0,c[u>>2]|0)|0;c[o>>2]=0;while(1){c[x>>2]=0;c[y>>2]=0;if((c[o>>2]|0)>0)AA(c[j>>2]|0);c[v>>2]=DB(c[j>>2]|0,c[s>>2]|0,c[o>>2]|0,c[z>>2]|0,r,x)|0;c[w>>2]=DB(c[j>>2]|0,c[u>>2]|0,c[o>>2]|0,c[A>>2]|0,t,y)|0;_A(c[j>>2]|0,c[r>>2]|0,c[t>>2]|0,d[q>>0]|0,c[v>>2]|0,c[w>>2]|0,c[k>>2]|0,d[m>>0]|0)|0;xx(c[j>>2]|0,c[x>>2]|0);xx(c[j>>2]|0,c[y>>2]|0);if((c[o>>2]|0)>0)yA(c[j>>2]|0);if((c[o>>2]|0)==((c[p>>2]|0)-1|0))break;do if((d[q>>0]|0|0)!=37){f=c[B>>2]|0;if((d[q>>0]|0|0)==36){ix(f,21,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8;break}ix(f,42,0,c[n>>2]|0)|0;if((c[o>>2]|0)==((c[p>>2]|0)-2|0))a[q>>0]=a[l>>0]|0}else{ix(c[B>>2]|0,22,c[k>>2]|0,c[n>>2]|0)|0;a[m>>0]=d[m>>0]|0|8}while(0);c[o>>2]=(c[o>>2]|0)+1}_z(c[B>>2]|0,c[n>>2]|0);i=C;return}function ZA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=ky(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(BB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+80>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Ky(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+44|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;wB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=vx(c[g>>2]|0)|0;c[o>>2]=SA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{xx(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function _A(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=sB(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(AB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=mx(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Jh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function $A(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,1,0)|0;i=b;return a|0}function aB(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?84:85;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)ix(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?($A(c[u>>2]|0)|0)!=0:0){wB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=SA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==84?(g=eA(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==84):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}ix(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function bB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;o=y+36|0;s=y+32|0;t=y+28|0;q=y+24|0;v=y+20|0;p=y+16|0;r=y+12|0;u=y+8|0;x=y+4|0;w=y;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[v>>2]=0;c[p>>2]=0;c[u>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[s>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}if(!(d[(c[s>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[t>>2]=c[(Ux(c[l>>2]|0,c[s>>2]|0)|0)+8>>2];c[q>>2]=c[c[t>>2]>>2];if(!(c[(c[q>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}c[x>>2]=qh(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[x>>2]|0){c[w>>2]=c[x>>2];while(1){if(!(a[c[w>>2]>>0]|0))break;a[c[w>>2]>>0]=a[17613+(d[c[w>>2]>>0]|0)>>0]|0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=Zb[c[(c[q>>2]|0)+72>>2]&255](c[t>>2]|0,c[n>>2]|0,c[x>>2]|0,v,p)|0;Tf(c[l>>2]|0,c[x>>2]|0)}if(!(c[u>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}x=c[l>>2]|0;c[r>>2]=sh(x,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[r>>2]|0)){c[k>>2]=c[m>>2];x=c[k>>2]|0;i=y;return x|0}else{w=c[r>>2]|0;x=c[m>>2]|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[(c[r>>2]|0)+20>>2]=(c[r>>2]|0)+28;w=(c[r>>2]|0)+28|0;x=c[(c[m>>2]|0)+20>>2]|0;TR(w|0,x|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[r>>2]|0)+12>>2]=c[v>>2];c[(c[r>>2]|0)+4>>2]=c[p>>2];x=(c[r>>2]|0)+2|0;b[x>>1]=e[x>>1]|16;c[k>>2]=c[r>>2];x=c[k>>2]|0;i=y;return x|0}return 0}function cB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e;k=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=31246;d=c[k>>2]|0;a=c[j>>2]|0;b=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=b;Eh(d,a,f);i=e;return}function dB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+176|0;h=O;H=O+168|0;I=O+164|0;J=O+160|0;K=O+156|0;v=O+152|0;L=O+148|0;M=O+144|0;N=O+140|0;j=O+136|0;w=O+132|0;s=O+128|0;C=O+124|0;p=O+120|0;u=O+116|0;r=O+112|0;n=O+88|0;o=O+80|0;q=O+76|0;x=O+172|0;y=O+72|0;t=O+68|0;B=O+64|0;D=O+60|0;E=O+56|0;F=O+52|0;A=O+48|0;z=O+44|0;m=O+40|0;k=O+16|0;l=O+12|0;c[I>>2]=b;c[J>>2]=e;c[K>>2]=f;c[v>>2]=g;c[L>>2]=-1;c[M>>2]=0;c[N>>2]=dx(c[I>>2]|0)|0;if(!(c[N>>2]|0)){c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}AA(c[I>>2]|0);if(!(c[(c[J>>2]|0)+4>>2]&32))c[L>>2]=fx(c[N>>2]|0,20)|0;if((d[(c[I>>2]|0)+409>>0]|0)==2){f=c[c[I>>2]>>2]|0;e=(d[c[J>>2]>>0]|0)==33?31209:31214;b=c[(c[I>>2]|0)+424>>2]|0;c[h>>2]=(c[L>>2]|0)>=0?18402:31197;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Gh(f,31221,h)|0;mx(c[N>>2]|0,162,c[(c[I>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[J>>2]|0;do if((d[c[J>>2]>>0]|0)==33){c[s>>2]=c[g+12>>2];c[C>>2]=0;c[p>>2]=cz(c[s>>2]|0)|0;l=(c[I>>2]|0)+40|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[J>>2]|0)+28>>2]=m;c[w>>2]=ix(c[N>>2]|0,107,c[(c[J>>2]|0)+28>>2]|0,(c[v>>2]|0)!=0?0:c[p>>2]|0)|0;if(c[v>>2]|0)g=0;else g=iA(c[c[I>>2]>>2]|0,c[p>>2]|0,1)|0;c[C>>2]=g;g=(c[J>>2]|0)+20|0;a:do if(c[(c[J>>2]|0)+4>>2]&2048){c[u>>2]=c[g>>2];c[r>>2]=c[c[u>>2]>>2];if((c[c[r>>2]>>2]|0)==(c[p>>2]|0)){vB(n,11,c[(c[J>>2]|0)+28>>2]|0);c[n+4>>2]=mB(c[I>>2]|0,c[J>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=0;G=(Pv(c[I>>2]|0,c[u>>2]|0,n)|0)!=0;Tf(c[c[I>>2]>>2]|0,c[n+4>>2]|0);if(G){jA(c[C>>2]|0);c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;c[q>>2]=pB(c[s>>2]|0,c[o>>2]|0)|0;G=sB(c[I>>2]|0,c[q>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;c[(c[C>>2]|0)+20+(c[o>>2]<<2)>>2]=G;c[o>>2]=(c[o>>2]|0)+1}}}else if(c[g>>2]|0){c[t>>2]=c[(c[J>>2]|0)+20>>2];u=ey(c[s>>2]|0)|0;a[x>>0]=u;a[x>>0]=(a[x>>0]|0)!=0?u:65;if(c[C>>2]|0){u=fy(c[I>>2]|0,c[(c[J>>2]|0)+12>>2]|0)|0;c[(c[C>>2]|0)+20>>2]=u}c[D>>2]=vx(c[I>>2]|0)|0;c[E>>2]=vx(c[I>>2]|0)|0;if(c[v>>2]|0)ix(c[N>>2]|0,79,0,c[E>>2]|0)|0;c[y>>2]=c[c[t>>2]>>2];c[B>>2]=c[(c[t>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[A>>2]=c[c[B>>2]>>2];if((c[L>>2]|0)>=0?($A(c[A>>2]|0)|0)==0:0){HA(c[N>>2]|0,c[L>>2]|0)|0;c[L>>2]=-1}if((c[v>>2]|0)!=0?(Fy(c[A>>2]|0,z)|0)!=0:0)jx(c[N>>2]|0,116,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[z>>2]|0)|0;else G=30;do if((G|0)==30){G=0;c[F>>2]=SA(c[I>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;g=c[N>>2]|0;e=c[F>>2]|0;if(c[v>>2]|0){ix(g,17,e,(wx(c[N>>2]|0)|0)+2|0)|0;jx(c[N>>2]|0,115,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;break}else{mx(g,99,e,1,c[E>>2]|0,x,1)|0;WA(c[I>>2]|0,c[F>>2]|0,1);ix(c[N>>2]|0,126,c[(c[J>>2]|0)+28>>2]|0,c[E>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[B>>2]=(c[B>>2]|0)+20}xx(c[I>>2]|0,c[D>>2]|0);xx(c[I>>2]|0,c[E>>2]|0)}while(0);if(c[C>>2]|0)Mh(c[N>>2]|0,c[w>>2]|0,c[C>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];if((d[c[J>>2]>>0]|0)==119)g=c[c[c[m>>2]>>2]>>2]|0;else g=1;c[l>>2]=g;vB(k,0,(c[(c[I>>2]|0)+44>>2]|0)+1|0);G=(c[I>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+(c[l>>2]|0);if((d[c[J>>2]>>0]|0)==119){a[k>>0]=10;c[k+12>>2]=c[k+8>>2];c[k+16>>2]=c[l>>2];jx(c[N>>2]|0,79,0,c[k+8>>2]|0,(c[k+8>>2]|0)+(c[l>>2]|0)-1|0)|0}else{a[k>>0]=3;ix(c[N>>2]|0,76,0,c[k+8>>2]|0)|0}iv(c[c[I>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);G=jw(c[c[I>>2]>>2]|0,134,4284,0)|0;c[(c[m>>2]|0)+56>>2]=G;c[(c[m>>2]|0)+12>>2]=0;G=(c[m>>2]|0)+8|0;c[G>>2]=c[G>>2]&-1025;if(!(Pv(c[I>>2]|0,c[m>>2]|0,k)|0)){c[M>>2]=c[k+8>>2];break}c[H>>2]=0;N=c[H>>2]|0;i=O;return N|0}while(0);if(c[K>>2]|0)tB(c[N>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[K>>2]|0);if((c[L>>2]|0)>=0)Zz(c[N>>2]|0,c[L>>2]|0);yA(c[I>>2]|0);c[H>>2]=c[M>>2];N=c[H>>2]|0;i=O;return N|0}function eB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+128|0;r=L+120|0;s=L+116|0;t=L+112|0;u=L+108|0;I=L+104|0;q=L+100|0;G=L+96|0;H=L+92|0;J=L+88|0;x=L+84|0;K=L+80|0;B=L+76|0;E=L+68|0;A=L+64|0;g=L+60|0;z=L+56|0;w=L+52|0;y=L+48|0;v=L+44|0;m=L+40|0;l=L+36|0;j=L+32|0;n=L+28|0;p=L+24|0;o=L+20|0;h=L+16|0;k=L+12|0;C=L+8|0;D=L+4|0;F=L;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[I>>2]=0;c[x>>2]=0;c[K>>2]=0;c[z>>2]=0;c[E>>2]=c[(c[s>>2]|0)+12>>2];if(lB(c[r>>2]|0,c[s>>2]|0)|0){i=L;return}c[K>>2]=mB(c[r>>2]|0,c[s>>2]|0)|0;c[B>>2]=cz(c[(c[s>>2]|0)+12>>2]|0)|0;c[x>>2]=sh(c[c[r>>2]>>2]|0,((c[B>>2]|0)*5|0)+1|0,0)|0;if(!(a[(c[c[r>>2]>>2]|0)+69>>0]|0)){c[J>>2]=c[(c[r>>2]|0)+8>>2];c[q>>2]=nB(c[r>>2]|0,c[s>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:I,c[x>>2]|0)|0;AA(c[r>>2]|0);c[H>>2]=gB(c[r>>2]|0,c[E>>2]|0,L+72|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;if((c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)!=(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+1}a:do if((c[A>>2]|0)==(c[B>>2]|0))c[G>>2]=c[H>>2];else{c[G>>2]=CA(c[r>>2]|0,c[B>>2]|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break a;jx(c[J>>2]|0,84,(c[H>>2]|0)+(c[A>>2]|0)|0,(c[G>>2]|0)+(c[(c[x>>2]|0)+(c[A>>2]<<2)>>2]|0)|0,0)|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);b:do if((c[q>>2]|0)==5){c[m>>2]=c[(c[s>>2]|0)+20>>2];c[l>>2]=fy(c[r>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0;c[j>>2]=Wz(c[J>>2]|0)|0;c[o>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[o>>2]=vx(c[r>>2]|0)|0;jx(c[J>>2]|0,43,c[G>>2]|0,c[G>>2]|0,c[o>>2]|0)|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[n>>2]=ZA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,p)|0;if((c[o>>2]|0)!=0?(oB(c[(c[(c[m>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)|0)!=0:0)jx(c[J>>2]|0,43,c[o>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[h>>2]|0)>=((c[c[m>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){mx(c[J>>2]|0,36,c[G>>2]|0,c[t>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,(a[c[K>>2]>>0]|16)&255)}else{mx(c[J>>2]|0,37,c[G>>2]|0,c[j>>2]|0,c[n>>2]|0,c[l>>2]|0,-4)|0;Jh(c[J>>2]|0,a[c[K>>2]>>0]|0)}xx(c[r>>2]|0,c[p>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(c[o>>2]|0){ix(c[J>>2]|0,34,c[o>>2]|0,c[u>>2]|0)|0;Yz(c[J>>2]|0,c[t>>2]|0)|0}_z(c[J>>2]|0,c[j>>2]|0);xx(c[r>>2]|0,c[o>>2]|0)}else{if((c[u>>2]|0)==(c[t>>2]|0))c[g>>2]=c[t>>2];else{p=Wz(c[J>>2]|0)|0;c[z>>2]=p;c[g>>2]=p}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[k>>2]=pB(c[(c[s>>2]|0)+12>>2]|0,c[A>>2]|0)|0;if(oB(c[k>>2]|0)|0)ix(c[J>>2]|0,34,(c[G>>2]|0)+(c[A>>2]|0)|0,c[g>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}e=c[J>>2]|0;do if((c[q>>2]|0)!=1){mx(e,98,c[G>>2]|0,c[B>>2]|0,0,c[K>>2]|0,c[B>>2]|0)|0;e=c[J>>2]|0;f=c[(c[s>>2]|0)+28>>2]|0;if((c[t>>2]|0)==(c[u>>2]|0)){Ih(e,30,f,c[t>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;break b}else{c[w>>2]=Ih(e,31,f,0,c[G>>2]|0,c[B>>2]|0)|0;break}}else{jx(e,32,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0,c[G>>2]|0)|0;c[w>>2]=fx(c[J>>2]|0,13)|0}while(0);if((c[I>>2]|0)!=0&(c[B>>2]|0)==1)ix(c[J>>2]|0,35,c[I>>2]|0,c[t>>2]|0)|0;if((c[t>>2]|0)==(c[u>>2]|0))Yz(c[J>>2]|0,c[t>>2]|0)|0;if(c[z>>2]|0)_z(c[J>>2]|0,c[z>>2]|0);c[v>>2]=ix(c[J>>2]|0,57,c[(c[s>>2]|0)+28>>2]|0,c[t>>2]|0)|0;if((c[B>>2]|0)>1)c[y>>2]=Wz(c[J>>2]|0)|0;else c[y>>2]=c[t>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[B>>2]|0))break;c[F>>2]=vx(c[r>>2]|0)|0;c[C>>2]=pB(c[E>>2]|0,c[A>>2]|0)|0;c[D>>2]=fy(c[r>>2]|0,c[C>>2]|0)|0;jx(c[J>>2]|0,96,c[(c[s>>2]|0)+28>>2]|0,c[A>>2]|0,c[F>>2]|0)|0;mx(c[J>>2]|0,36,(c[G>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[F>>2]|0,c[D>>2]|0,-4)|0;xx(c[r>>2]|0,c[F>>2]|0);c[A>>2]=(c[A>>2]|0)+1}ix(c[J>>2]|0,13,0,c[u>>2]|0)|0;if((c[B>>2]|0)>1){_z(c[J>>2]|0,c[y>>2]|0);ix(c[J>>2]|0,7,c[(c[s>>2]|0)+28>>2]|0,(c[v>>2]|0)+1|0)|0;ix(c[J>>2]|0,13,0,c[t>>2]|0)|0}Zz(c[J>>2]|0,c[w>>2]|0)}while(0);if((c[G>>2]|0)!=(c[H>>2]|0))xx(c[r>>2]|0,c[G>>2]|0);yA(c[r>>2]|0)}Tf(c[c[r>>2]>>2]|0,c[x>>2]|0);Tf(c[c[r>>2]>>2]|0,c[K>>2]|0);i=L;return}function fB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;h=s+216|0;j=s+212|0;k=s+208|0;l=s+204|0;m=s+200|0;p=s+152|0;n=s+104|0;o=s+56|0;q=s+8|0;r=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[r>>2]=0;e=n;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=o;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=p;d=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=q;g=c[(c[j>>2]|0)+12>>2]|0;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[p>>0]=28;c[p+12>>2]=n;c[p+16>>2]=o;a[n>>0]=41;c[n+12>>2]=q;c[n+16>>2]=c[c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]>>2];a[o>>0]=39;c[o+12>>2]=q;c[o+16>>2]=c[(c[(c[(c[j>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];hB(q,gB(c[h>>2]|0,q,r)|0);if(c[l>>2]|0){_b[c[l>>2]&255](c[h>>2]|0,p,c[k>>2]|0,c[m>>2]|0);q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}else{q=q+4|0;c[q>>2]=c[q>>2]|1;SA(c[h>>2]|0,p,c[k>>2]|0)|0;q=c[h>>2]|0;r=c[r>>2]|0;xx(q,r);i=s;return}}function gB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;f=m+12|0;k=m+8|0;l=m+4|0;j=m;c[g>>2]=a;c[h>>2]=b;c[f>>2]=e;c[l>>2]=cz(c[h>>2]|0)|0;if((c[l>>2]|0)==1){c[k>>2]=ZA(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}c[c[f>>2]>>2]=0;f=c[g>>2]|0;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=dB(f,c[h>>2]|0,0,0)|0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=(c[f+44>>2]|0)+1;e=(c[g>>2]|0)+44|0;c[e>>2]=(c[e>>2]|0)+(c[l>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;RA(c[g>>2]|0,c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0,(c[j>>2]|0)+(c[k>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+1}l=c[k>>2]|0;i=m;return l|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function iB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 28:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 27:{c[l>>2]=Wz(c[s>>2]|0)|0;jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);iB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[s>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 19:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==29?36:37;c[k>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;ix(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,133,c[k>>2]|0);break}case 33:if(c[k>>2]|0){eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Wz(c[s>>2]|0)|0;eB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);_z(c[s>>2]|0,c[m>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)t=14;else{c[o>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((t|0)==14){if(xz(c[h>>2]|0)|0){Yz(c[s>>2]|0,c[j>>2]|0)|0;break}if(!(kB(c[h>>2]|0)|0)){c[o>>2]=ZA(c[g>>2]|0,c[h>>2]|0,q)|0;jx(c[s>>2]|0,22,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[q>>2]|0);xx(c[g>>2]|0,c[r>>2]|0);i=u;return}function jB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];switch(c[o>>2]|0){case 28:{c[l>>2]=Wz(c[t>>2]|0)|0;iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);_z(c[t>>2]|0,c[l>>2]|0);yA(c[g>>2]|0);break}case 27:{jB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);AA(c[g>>2]|0);jB(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);yA(c[g>>2]|0);break}case 19:{iB(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 29:{c[o>>2]=(c[o>>2]|0)==29?37:36;c[k>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;ix(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 32:{fB(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,134,c[k>>2]|0);break}case 33:{c[m>>2]=Wz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;eB(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Yz(c[t>>2]|0,c[j>>2]|0)|0;_z(c[t>>2]|0,c[m>>2]|0);break}default:u=12}if((u|0)==7)if(XA(c[(c[h>>2]|0)+12>>2]|0)|0)u=12;else{c[p>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=ZA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;_A(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}do if((u|0)==12){if(kB(c[h>>2]|0)|0){Yz(c[t>>2]|0,c[j>>2]|0)|0;break}if(!(xz(c[h>>2]|0)|0)){c[p>>2]=ZA(c[g>>2]|0,c[h>>2]|0,r)|0;jx(c[t>>2]|0,21,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}while(0);xx(c[g>>2]|0,c[r>>2]|0);xx(c[g>>2]|0,c[s>>2]|0);i=v;return}function kB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(Fy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function lB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j;e=j+16|0;d=j+12|0;f=j+8|0;g=j+4|0;c[d>>2]=a;c[f>>2]=b;c[g>>2]=cz(c[(c[f>>2]|0)+12>>2]|0)|0;b=c[g>>2]|0;if(c[(c[f>>2]|0)+4>>2]&2048){if((b|0)!=(c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0)){cB(c[d>>2]|0,c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0,c[g>>2]|0);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}}else if((b|0)!=1){b=c[d>>2]|0;if(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]&2048)cB(b,c[g>>2]|0,1);else Eh(b,29838,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function mB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+28|0;e=o+24|0;l=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;k=o;g=o+32|0;c[f>>2]=b;c[e>>2]=d;c[l>>2]=c[(c[e>>2]|0)+12>>2];c[j>>2]=cz(c[l>>2]|0)|0;if(c[(c[e>>2]|0)+4>>2]&2048)e=c[(c[e>>2]|0)+20>>2]|0;else e=0;c[m>>2]=e;b=(c[j>>2]|0)+1|0;c[n>>2]=sh(c[c[f>>2]>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=pB(c[l>>2]|0,c[h>>2]|0)|0;a[g>>0]=ey(c[k>>2]|0)|0;if(c[m>>2]|0){f=rB(c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,a[g>>0]|0)|0;a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=f}else a[(c[n>>2]|0)+(c[h>>2]|0)>>0]=a[g>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[(c[n>>2]|0)+(c[j>>2]|0)>>0]=0;n=c[n>>2]|0;i=o;return n|0}function nB(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+160|0;W=X+16|0;l=X+140|0;m=X+136|0;n=X+132|0;o=X+128|0;p=X+124|0;K=X+120|0;u=X+116|0;D=X+112|0;H=X+108|0;V=X+104|0;v=X+100|0;L=X+96|0;t=X+92|0;S=X+88|0;B=X+144|0;M=X+84|0;J=X+80|0;y=X+76|0;N=X+72|0;q=X+68|0;w=X+64|0;O=X+60|0;A=X+56|0;E=X+147|0;r=X+146|0;s=X+8|0;G=X;P=X+52|0;R=X+48|0;Q=X+44|0;F=X+40|0;z=X+36|0;U=X+32|0;T=X+28|0;x=X+24|0;I=X+20|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[u>>2]=0;g=(c[l>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[D>>2]=j;c[V>>2]=dx(c[l>>2]|0)|0;c[H>>2]=(c[n>>2]&4|0)!=0&1;if((c[o>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)!=0:0){c[L>>2]=c[c[(c[m>>2]|0)+20>>2]>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[L>>2]>>2]|0))break;if(oB(c[(c[(c[L>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)>>2]|0)|0)break;c[v>>2]=(c[v>>2]|0)+1}if((c[v>>2]|0)==(c[c[L>>2]>>2]|0))c[o>>2]=0}a:do if((c[(c[l>>2]|0)+36>>2]|0)==0?(j=qB(c[m>>2]|0)|0,c[K>>2]=j,(j|0)!=0):0){c[t>>2]=c[c[l>>2]>>2];c[M>>2]=c[c[K>>2]>>2];c[J>>2]=c[c[M>>2]>>2];c[S>>2]=c[(c[(c[K>>2]|0)+28>>2]|0)+8+16>>2];b[B>>1]=Fh(c[t>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;sx(c[l>>2]|0,b[B>>1]|0);Tz(c[l>>2]|0,b[B>>1]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0);if((c[J>>2]|0)==1?(b[(c[c[(c[M>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){c[y>>2]=fx(c[V>>2]|0,20)|0;Uz(c[l>>2]|0,c[D>>2]|0,b[B>>1]|0,c[S>>2]|0,104);c[u>>2]=1;Zz(c[V>>2]|0,c[y>>2]|0);break}c[q>>2]=1;c[w>>2]=0;while(1){if(!((c[w>>2]|0)<(c[J>>2]|0)?(c[q>>2]|0)!=0:0))break;c[O>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[A>>2]=b[(c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)+32>>1];a[E>>0]=ly(c[S>>2]|0,c[A>>2]|0)|0;a[r>>0]=rB(c[O>>2]|0,a[E>>0]|0)|0;if(((a[r>>0]|0)+-65|0)>>>0>=2)c[q>>2]=(a[E>>0]|0)>=67&1;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0){c[N>>2]=c[(c[S>>2]|0)+8>>2];while(1){if(!((c[N>>2]|0)!=0?(c[u>>2]|0)==0:0))break a;do if((e[(c[N>>2]|0)+52>>1]|0)>=(c[J>>2]|0)?(e[(c[N>>2]|0)+52>>1]|0)<63:0){if(c[H>>2]|0){if((e[(c[N>>2]|0)+50>>1]|0)>(c[J>>2]|0))break;if((e[(c[N>>2]|0)+52>>1]|0)>(c[J>>2]|0)?(d[(c[N>>2]|0)+54>>0]|0)==0:0)break}j=s;c[j>>2]=0;c[j+4>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[J>>2]|0))break;c[P>>2]=pB(c[(c[m>>2]|0)+12>>2]|0,c[w>>2]|0)|0;c[R>>2]=c[(c[(c[M>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[Q>>2]=sB(c[l>>2]|0,c[P>>2]|0,c[R>>2]|0)|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[J>>2]|0))break;if((b[(c[(c[N>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1]|0)==(b[(c[R>>2]|0)+32>>1]|0)){if(!(c[Q>>2]|0))break;if(!(ig(c[c[Q>>2]>>2]|0,c[(c[(c[N>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0))break}c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)==(c[J>>2]|0))break;j=WR(1,0,c[F>>2]|0)|0;g=G;c[g>>2]=j;c[g+4>>2]=C;g=G;j=s;if((c[g>>2]&c[j>>2]|0)!=0?1:(c[g+4>>2]&c[j+4>>2]|0)!=0)break;S=G;f=s;g=c[f+4>>2]|c[S+4>>2];j=s;c[j>>2]=c[f>>2]|c[S>>2];c[j+4>>2]=g;if(c[p>>2]|0)c[(c[p>>2]|0)+(c[w>>2]<<2)>>2]=c[F>>2];c[w>>2]=(c[w>>2]|0)+1}j=s;S=c[j>>2]|0;j=c[j+4>>2]|0;g=WR(1,0,c[J>>2]|0)|0;g=QR(g|0,C|0,1,0)|0;if((S|0)==(g|0)&(j|0)==(C|0)){c[z>>2]=fx(c[V>>2]|0,20)|0;g=c[V>>2]|0;j=c[t>>2]|0;c[W>>2]=c[c[N>>2]>>2];mx(g,162,0,0,0,Gh(j,31166,W)|0,-1)|0;jx(c[V>>2]|0,104,c[D>>2]|0,c[(c[N>>2]|0)+44>>2]|0,b[B>>1]|0)|0;Vz(c[l>>2]|0,c[N>>2]|0);c[u>>2]=3+(d[c[(c[N>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(g=(c[l>>2]|0)+44|0,j=(c[g>>2]|0)+1|0,c[g>>2]=j,c[c[o>>2]>>2]=j,(c[J>>2]|0)==1):0)tB(c[V>>2]|0,c[D>>2]|0,c[c[o>>2]>>2]|0);Zz(c[V>>2]|0,c[z>>2]|0)}}while(0);c[N>>2]=c[(c[N>>2]|0)+20>>2]}}}while(0);do if(((c[u>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((uB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[u>>2]=5}while(0);if(!(c[u>>2]|0)){c[U>>2]=c[(c[l>>2]|0)+136>>2];c[T>>2]=0;c[u>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+136>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[u>>2]=1}else if(c[o>>2]|0){V=(c[l>>2]|0)+44|0;W=(c[V>>2]|0)+1|0;c[V>>2]=W;c[T>>2]=W;c[c[o>>2]>>2]=W}dB(c[l>>2]|0,c[m>>2]|0,c[T>>2]|0,(c[u>>2]|0)==1&1)|0;c[(c[l>>2]|0)+136>>2]=c[U>>2]}else c[(c[m>>2]|0)+28>>2]=c[D>>2];if(!((c[p>>2]|0)!=0&(c[u>>2]|0)!=3&(c[u>>2]|0)!=4)){W=c[u>>2]|0;i=X;return W|0}c[I>>2]=cz(c[(c[m>>2]|0)+12>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[I>>2]|0))break;c[(c[p>>2]|0)+(c[x>>2]<<2)>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1}W=c[u>>2]|0;i=X;return W|0}function oB(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 133:case 132:case 97:case 134:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function pB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;a=(XA(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;if(!a){c[e>>2]=b;g=c[e>>2]|0;i=h;return g|0}if((d[b>>0]|0|0)!=119?(d[(c[f>>2]|0)+38>>0]|0|0)!=119:0){c[e>>2]=c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}c[e>>2]=c[(c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;i=h;return g|0}function qB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+28|0;b=m+24|0;l=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;e=m+4|0;g=m;c[b>>2]=a;do if(c[(c[b>>2]|0)+4>>2]&2048){if(c[(c[b>>2]|0)+4>>2]&32){c[k>>2]=0;break}c[l>>2]=c[(c[b>>2]|0)+20>>2];if(c[(c[l>>2]|0)+48>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+8>>2]&9){c[k>>2]=0;break}if(c[(c[l>>2]|0)+56>>2]|0){c[k>>2]=0;break}if(c[(c[l>>2]|0)+32>>2]|0){c[k>>2]=0;break}c[h>>2]=c[(c[l>>2]|0)+28>>2];if((c[c[h>>2]>>2]|0)!=1){c[k>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[k>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16){c[k>>2]=0;break}c[f>>2]=c[c[l>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[f>>2]>>2]|0)){b=24;break}c[g>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[e>>2]|0)*20|0)>>2];if((d[c[g>>2]>>0]|0|0)!=152){b=22;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==22){c[k>>2]=0;break}else if((b|0)==24){c[k>>2]=c[l>>2];break}}else c[k>>2]=0;while(0);i=m;return c[k>>2]|0}function rB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=ey(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function sB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=fy(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function tB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;ix(c[g>>2]|0,76,0,c[h>>2]|0)|0;c[f>>2]=Sz(c[g>>2]|0,57,c[j>>2]|0)|0;jx(c[g>>2]|0,96,c[j>>2]|0,0,c[h>>2]|0)|0;Jh(c[g>>2]|0,-128);Zz(c[g>>2]|0,c[f>>2]|0);i=e;return}function uB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=$A(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function vB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function wB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+80>>2];c[o>>2]=Iy(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Tv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=g;i=n;return}function xB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];wy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function yB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function zB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function AB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=ey(c[k>>2]|0)|0;d=(rB(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function BB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=xB(c[d>>2]|0,2,0)|0;i=b;return a|0}function CB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((d[c[f>>2]>>0]|0|0)!=119){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=dB(c[e>>2]|0,c[f>>2]|0,0,0)|0;g=c[g>>2]|0;i=h;return g|0}function DB(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;l=s+24|0;m=s+20|0;k=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;r=s+28|0;c[m>>2]=b;c[k>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;a[r>>0]=a[c[k>>2]>>0]|0;if((d[r>>0]|0|0)==157){r=pB(c[k>>2]|0,c[n>>2]|0)|0;c[c[p>>2]>>2]=r;c[l>>2]=(c[(c[k>>2]|0)+28>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}b=c[n>>2]|0;f=(c[k>>2]|0)+20|0;if((d[r>>0]|0|0)==119){c[c[p>>2]>>2]=c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=(c[o>>2]|0)+(c[n>>2]|0);r=c[l>>2]|0;i=s;return r|0}else{c[c[p>>2]>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*20|0)>>2];c[l>>2]=ZA(c[m>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0)|0;r=c[l>>2]|0;i=s;return r|0}return 0}function EB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Vw(QA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=mx(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function FB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[j>>2]=(c[f>>2]|0)+152;while(1){if((c[h>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;if((c[(c[j>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[j>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=k;return}function GB(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if((e[(c[c[k>>2]>>2]|0)+64>>1]|0)&2){i=s;return}if((d[(c[k>>2]|0)+25>>0]|0|0)>=10){c[q>>2]=2147483647;c[p>>2]=-1;c[o>>2]=0;c[r>>2]=(c[k>>2]|0)+152;while(1){if((c[o>>2]|0)>=10)break;if((c[(c[r>>2]|0)+16>>2]|0)<(c[q>>2]|0)){c[p>>2]=c[o>>2];c[q>>2]=c[(c[r>>2]|0)+16>>2]}c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+20}c[r>>2]=(c[k>>2]|0)+152+((c[p>>2]|0)*20|0)}else{q=(c[k>>2]|0)+25|0;f=a[q>>0]|0;a[q>>0]=f+1<<24>>24;c[r>>2]=(c[k>>2]|0)+152+((f&255)*20|0)}c[(c[r>>2]|0)+8>>2]=c[(c[k>>2]|0)+64>>2];c[c[r>>2]>>2]=c[l>>2];b[(c[r>>2]|0)+4>>1]=c[m>>2];c[(c[r>>2]|0)+12>>2]=c[n>>2];a[(c[r>>2]|0)+6>>0]=0;q=(c[k>>2]|0)+68|0;f=c[q>>2]|0;c[q>>2]=f+1;c[(c[r>>2]|0)+16>>2]=f;i=s;return}function HB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function IB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=JB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=JB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=JB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=ax(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=dx(c[l>>2]|0)|0;c[u>>2]=CA(c[l>>2]|0,4)|0;RA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);RA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);RA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){mx(c[w>>2]|0,89,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Jh(c[w>>2]|0,a[c[n>>2]>>0]|0);Sz(c[w>>2]|0,150,(c[m>>2]|0)==24&1)|0}}while(0);iv(c[s>>2]|0,c[p>>2]|0);iv(c[s>>2]|0,c[q>>2]|0);iv(c[s>>2]|0,c[r>>2]|0);i=y;return}function JB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=Ay(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function KB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=$d(c[c[r>>2]>>2]|0)|0;c[g>>2]=ve(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=18402;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31331,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31352,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31378,m)|0;break}if((og(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(qu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){LB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;MB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31420,n)|0}while(0);ie(c[f>>2]|0,o,-1);i=q;return}function LB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;NB(c[g>>2]|0)|0}Pg(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(OB(c[e>>2]|0)|0)==0:0)){hr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Ui(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function MB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function NB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);PB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}RB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function OB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1006]|0)!=(c[d>>2]|0)){c[e>>2]=c[1006];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1006]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function PB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function QB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}SB(c[b>>2]|0);i=d;return}function RB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;SB(c[e>>2]|0);i=f;return}function SB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Js(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function TB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=ve(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=$d(c[c[F>>2]>>2]|0)|0;c[C>>2]=$d(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=18402;if(!(c[C>>2]|0))c[C>>2]=18402;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+96+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Gh(c[p>>2]|0,31493,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Gh(F,31535,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Vw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Uw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=ak(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)mh(c[p>>2]|0);ie(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=bk(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ck(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Gh(c[p>>2]|0,20016,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;UB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;VB(F,VB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;WB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Gh(c[p>>2]|0,31565,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=qh(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=si(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){LB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Cg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){mh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Gh(c[p>>2]|0,25016,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Gh(F,31594,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+96+28>>2];c[A>>2]=Gh(e,31456,h)|0}while(0);if(c[A>>2]|0){ie(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}qe(c[n>>2]|0,c[u>>2]|0);i=E;return}function UB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(YB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function VB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);XB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function XB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function YB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function ZB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;sx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function _B(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=$B(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?19905:19924;if((c[h>>2]|0)==1)c[f>>2]=14;if(ax(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(ax(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=dx(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?19905:19924;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;cx(n,31642,l);ex(c[d>>2]|0,c[h>>2]|0);mx(c[k>>2]|0,140,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function $B(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function aC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=sh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;TR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Zw(c[j>>2]|0);c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function bC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=px(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(pz(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function cC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function dC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(eC(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(fC(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Eh(f,31940,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function eC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(gC(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(dC(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function fC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+148+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&8404992){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(eC(e,c[b>>2]|0)|0){e=10;break}}else if(gC(e,c[b>>2]|0)|0){e=12;break}if(fC(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Eh(f,31986,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function gC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(fC(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(eC(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(fC(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(gC(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function iC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33|32;i=d;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}hx(c[e>>2]|0,1,c[g>>2]|0)|0;kC(c[e>>2]|0,c[f>>2]|0);ix(c[e>>2]|0,87,1,1)|0;i=h;return}function kC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;yC(c[f>>2]|0,1,e);i=d;return}function lC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;EB(c[g>>2]|0,77,0,1,0,j,-13)|0;kC(c[g>>2]|0,c[h>>2]|0);ix(c[g>>2]|0,87,1,1)|0;i=f;return}function mC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;f=h+16|0;k=h+12|0;g=h+4|0;j=h;c[f>>2]=a;c[k>>2]=d;c[j>>2]=c[c[f>>2]>>2];OC(c[(c[f>>2]|0)+100>>2]|0,(e[(c[f>>2]|0)+140>>1]|0)<<1);Tf(c[j>>2]|0,c[(c[f>>2]|0)+100>>2]|0);c[g>>2]=c[k>>2]<<1;b[(c[f>>2]|0)+140>>1]=c[k>>2];a=Vw(c[j>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h+8>>2]=a;c[(c[f>>2]|0)+100>>2]=a;if(!(c[(c[f>>2]|0)+100>>2]|0)){i=h;return}PC(c[(c[f>>2]|0)+100>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,1);i=h;return}function nC(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+140>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+100>>2]|0)+(g*40|0);c[q>>2]=gh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function oC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32192)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32185)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function pC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[5420+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;NC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function rC(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function sC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33263)|0){if(!(ig(c[d>>2]|0,32707)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33268)|0)){c[b>>2]=2;break}else{c[e>>2]=Pi(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function tC(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function uC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=LC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function vC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)WB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function wC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=KC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(xC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function xC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(og(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){LB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Cg(c[f>>2]|0);break}Eh(c[e>>2]|0,33201,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function yC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;mC(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;nC(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function zC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?79:97;e=c[h>>2]|0;c[h>>2]=e+1;mx(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;ix(b,76,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function AC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33011;break}case 8:{c[e>>2]=33020;break}case 9:{c[e>>2]=33032;break}case 6:{c[e>>2]=33040;break}default:c[e>>2]=33049}i=f;return c[e>>2]|0}function BC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Vw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:34834;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+150>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Eh(C,32948,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function CC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ch(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){mh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=ey(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=32856;else c[f>>2]=18398;ji(c[d>>2]|0,32860,2,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32860,3,1,c[f>>2]|0,212,0,0,0)|0;ji(c[d>>2]|0,32865,2,1,18394,212,0,0,0)|0;IC(c[d>>2]|0,32865,12);IC(c[d>>2]|0,32860,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function EC(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(d[(c[e>>2]|0)+25>>0]|0|0))break;if((d[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+6>>0]|0|0)!=0?(d[(c[e>>2]|0)+19>>0]|0|0)<8:0){h=c[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+12>>2]|0;j=(c[e>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[e>>2]|0)+352+((b&255)<<2)>>2]=h}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+25>>0]=0;i=g;return}function FC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Fh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=dx(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+40>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Uz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Tz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==105&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2];a[t>>0]=0}if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){jx(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Vz(c[q>>2]|0,c[A>>2]|0);Jh(c[B>>2]|0,a[t>>0]|0)}c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+40>>2]|0))c[(c[q>>2]|0)+40>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function GC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33;i=d;return}function HC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=ve(c[f>>2]|0)|0;c[k>>2]=ue(c[f>>2]|0)|0;c[m>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=ae(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+96+32>>2]|0)){ie(c[f>>2]|0,32870,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=$d(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Wx(c[n>>2]|0,-1)|0)==1){c[j>>2]=JC(n)|0;break}ie(c[f>>2]|0,32903,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;je(q,Th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function IC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ki(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function JC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[25563+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function KC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33105)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26159)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function LC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=MC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function MC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=_R(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=cj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function OC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Xg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function PC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l;k=l+12|0;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;b[k>>1]=f;while(1){a=c[h>>2]|0;c[h>>2]=a+-1;if((a|0)<=0)break;c[(c[g>>2]|0)+32>>2]=c[j>>2];b[(c[g>>2]|0)+8>>1]=b[k>>1]|0;c[(c[g>>2]|0)+24>>2]=0;c[g>>2]=(c[g>>2]|0)+40}i=l;return}function QC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34141,k)|0;if(ti(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;cx(p,30938,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function RC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=dx(c[g>>2]|0)|0;c[f>>2]=vx(c[g>>2]|0)|0;jx(c[k>>2]|0,130,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Vx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?19905:19924;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;cx(a,34085,h);xx(c[g>>2]|0,c[f>>2]|0);i=e;return}function SC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Uw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;VR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function TC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&16777216)c[p>>2]=zx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(vG(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function UC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Ux(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Eh(m,35257,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Eh(m,35228,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function VC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function WC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+472>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(zx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=160){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=px(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(hR(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(Ly(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Fh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=dx(c[v>>2]|0)|0;sx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+40|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+40|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=XC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=vx(c[v>>2]|0)|0;c[L>>2]=vx(c[v>>2]|0)|0;Uz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,105);do if(!(c[(c[z>>2]|0)+24>>2]&268435456)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=ix(c[M>>2]|0,57,c[E>>2]|0,0)|0;c[A>>2]=fx(c[M>>2]|0,13)|0;Zz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Uz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,104);c[B>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=ix(l,114,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=ix(l,123,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=ix(c[M>>2]|0,123,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=jx(c[M>>2]|0,33,c[E>>2]|0,0,c[L>>2]|0)|0;kF(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Zz(c[M>>2]|0,c[s>>2]|0);bD(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);ix(c[M>>2]|0,122,c[F>>2]|0,c[K>>2]|0)|0;mx(c[M>>2]|0,115,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[w>>2]|0,-20)|0;Jh(c[M>>2]|0,11);ix(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0}else{Tz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Tz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(xG(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}jx(c[M>>2]|0,104,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Vz(c[v>>2]|0,c[J>>2]|0);jx(c[M>>2]|0,105,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Vz(c[v>>2]|0,c[H>>2]|0);Jh(c[M>>2]|0,1);c[y>>2]=ix(c[M>>2]|0,57,c[F>>2]|0,0)|0;ix(c[M>>2]|0,121,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&268435456){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(34834,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;jx(c[M>>2]|0,53,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);jx(c[M>>2]|0,126,c[E>>2]|0,c[K>>2]|0,1)|0;Jh(c[M>>2]|0,a[G>>0]|0);ix(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Zz(c[M>>2]|0,c[y>>2]|0);ix(c[M>>2]|0,111,c[F>>2]|0,0)|0;ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Zz(c[M>>2]|0,c[B>>2]|0);xx(c[v>>2]|0,c[L>>2]|0);xx(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){hD(c[v>>2]|0);ix(c[M>>2]|0,75,0,0)|0;Zz(c[M>>2]|0,c[A>>2]|0);ix(c[M>>2]|0,111,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function XC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if(((d[(c[j>>2]|0)+42>>0]|0)&8|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&268435456|0)==0:0){b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+120>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Vw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+120>>2];c[(c[m>>2]|0)+120>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+44|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function YC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Sz(c[f>>2]|0,73,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+12>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]=0;i=e;return}function ZC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=dx(c[f>>2]|0)|0;c[k>>2]=wx(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Ux(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=eA(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==104?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==155?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function _C(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];RA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+44|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;ix(c[j>>2]|0,84,c[h>>2]|0,c[f>>2]|0)|0;hB(c[g>>2]|0,c[f>>2]|0);i=e;return}function $C(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=QA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ch(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){mh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){mx(g,98,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Mh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function aD(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(vG(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)tF(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}ix(c[(c[e>>2]|0)+8>>2]|0,145,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function cD(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?($A(c[g>>2]|0)|0)!=0:0){wB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function dD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+412>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+460>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+412>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+460>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+460>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+412|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+460>>2]|0)+(l<<2)>>2]=j;i=k;return}else{mh(c[c[h>>2]>>2]|0);i=k;return}}function eD(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=dx(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Jj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Vx(c[E>>2]|0);break}case 3:case 1:break;case 4:{ix(c[ka>>2]|0,34,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Sz(c[ka>>2]|0,35,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;RA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Zz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Gh(m,30161,A)|0;mx(c[ka>>2]|0,74,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Jh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(jF(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Wz(c[ka>>2]|0)|0;jB(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Yz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;tA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}_z(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Wz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){jx(c[ka>>2]|0,37,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=fx(c[ka>>2]|0,13)|0}while(0);jx(c[ka>>2]|0,33,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(lF(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){mF(c[E>>2]|0);oF(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{mF(c[E>>2]|0);nF(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)kF(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);_z(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=fx(c[ka>>2]|0,13)|0;Zz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){$C(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Wz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){ix(c[ka>>2]|0,79,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;BA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+56>>2]=0}c[ga>>2]=CA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+56>>2]=(c[K>>2]|0)+1;MA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+56>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}ix(c[ka>>2]|0,(c[U>>2]|0)<0?86:85,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}jx(c[ka>>2]|0,99,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;WA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){_z(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);_z(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Ih(c[ka>>2]|0,29,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=CA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){ix(c[ka>>2]|0,129,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;jx(c[ka>>2]|0,37,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Jh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(OA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[ka>>2]|0,96,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=wx(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=36;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Xz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=37}mx(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Jh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{qA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Yz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;mF(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=TC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;nF(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}_z(c[ka>>2]|0,c[Q>>2]|0);FA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))FA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Yz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Zz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function fD(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+150>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Fh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(jD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+150>>0]|0)c[I>>2]=ti(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Dh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(BC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=iz(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Tz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+40|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(lD(c[l>>2]|0,c[D>>2]|0)|0)==0:0)kD(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=dx(c[l>>2]|0)|0;g=wx(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;ix(c[K>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}ix(c[K>>2]|0,144,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Yx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(mD(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[l>>2]|0)+124>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(BC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=_v(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],nD(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Vx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;hv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function gD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=dx(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;ix(j,34,n,(wx(c[D>>2]|0)|0)+2|0)|0}ix(c[D>>2]|0,126,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Jh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=vx(c[o>>2]|0)|0;jx(c[D>>2]|0,99,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))$C(c[D>>2]|0,c[p>>2]|0,0);WA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;jx(c[D>>2]|0,115,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Mh(c[D>>2]|0,-1,c[p>>2]|0,-20);Jh(c[D>>2]|0,a[A>>0]|0);i=E;return}function hD(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+120>>2]|0)){i=d;return}iD(c[b>>2]|0);i=d;return}function iD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=vx(c[d>>2]|0)|0;Uz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,105);c[e>>2]=Kh(c[l>>2]|0,5,34384,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;xx(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function jD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0} +function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[360+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[360+((c[f>>2]|0)*12|0)>>2]|0,a[360+((c[f>>2]|0)*12|0)+4>>0]|0,d[360+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[360+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[840+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[840+(c[f>>2]<<4)>>2]|0,a[840+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[840+(c[f>>2]<<4)+8>>2]|0,c[840+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,378,16758);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,379,16767);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,380,16776);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(16785,16734,570,16793);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);he(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}le(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,394,16802);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+IQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,402,16812);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+JQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,410,16822);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+KQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,1680,16832);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}je(c[f>>2]|0,c[j>>2]|0);i=o;return}le(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,498,17236);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,499,17248);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,420,17260);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,419,17268);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,421,17276);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,422,17284);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,446,17292);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+LQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,438,17301);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+PQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,454,17310);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+QQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,456,17319);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,474,17328);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,472,17336);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,473,17344);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+NQ(+h[g>>3]);l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(16785,16734,546,17354);if((ee(c[c[f>>2]>>2]|0)|0)!=5?(ee(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+be(c[c[f>>2]>>2]|0);h[j>>3]=+be(c[(c[f>>2]|0)+4>>2]|0);c[(BQ()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){he(e,+h[k>>3]);i=l;return}else{m=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,m,c[(BQ()|0)>>2]|0);i=l;return}}le(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,590,17364);switch(ee(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=de(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;ke(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[j>>2]|0);i=k;return}default:{h[g>>3]=+be(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);he(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,375,17373);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[e>>2]|0);i=k;return}h[g>>3]=+be(c[c[f>>2]>>2]|0);c[(BQ()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(BQ()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){he(e,+h[j>>3]);i=k;return}else{l=CQ(c[(BQ()|0)>>2]|0)|0;ie(e,l,c[(BQ()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(16726,16734,514,17382);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=de(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;ke(a,aS(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);he(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,620,17393);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(16726,16734,645,17402);switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=de(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;ke(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));ke(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;he(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(ee(c[c[f>>2]>>2]|0)|0)){i=n;return}a=de(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[e>>2]|0,17412,-1);i=n;return}a=ae(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=aS(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=RR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;iR(o,$d(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=aS(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;iR(o+k|0,c[m>>2]|0)|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}me(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}se(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(17425,16734,1038,17443);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(ce(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;je(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}le(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1073,17457);if(5!=(ee(c[c[h>>2]>>2]|0)|0)?5!=(ee(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=$d(c[c[h>>2]>>2]|0)|0;c[l>>2]=ce(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){mR(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;me(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{se(c[g>>2]|0);i=p;return}}le(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,1113,17466);if(5!=(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[k>>2]=ce(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){iR(c[l>>2]|0,c[o>>2]|0)|0;me(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{se(c[f>>2]|0);i=p;return}}le(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(17476,16734,1323,17484);if(5==(ee(c[c[g>>2]>>2]|0)|0)){le(c[f>>2]|0);i=o;return}c[m>>2]=$d(c[c[g>>2]>>2]|0)|0;c[j>>2]=kR(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){se(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}me(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(16726,16734,724,17496);if(5==(ee(c[c[f>>2]>>2]|0)|0)){le(c[g>>2]|0);i=n;return}c[k>>2]=$d(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){se(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(wQ(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=AQ(f)|0;else a[j>>0]=zQ(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(16785,16734,771,17507);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[m>>2]|0);i=o;return}c[j>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){ie(c[m>>2]|0,17412,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){me(f,c[n>>2]|0,-1,-1);break}se(f);i=o;return}else{p=kR(f)|0;b=h;b=RR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=QR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=RR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){se(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}iR(f,c[j>>2]|0)|0}while(0);me(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,825,17544);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}q=iR(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(16785,16734,880,17553);if((ee(c[c[f>>2]>>2]|0)|0)==5){le(c[n>>2]|0);i=p;return}c[g>>2]=$d(c[c[f>>2]>>2]|0)|0;b=de(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){ie(c[n>>2]|0,17412,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){me(f,c[o>>2]|0,-1,-1);break}se(f);i=p;return}else{q=h;c[q>>2]=kR(f)|0;c[q+4>>2]=0;q=h;b=k;b=RR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=QR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=RR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){se(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=RR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}iR(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=RR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);me(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(16785,16734,939,17562);if((ee(c[c[g>>2]>>2]|0)|0)!=5?(ee(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=$d(c[c[g>>2]>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((kR(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){se(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);mR(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;me(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}le(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(16726,16734,1395,17576);c[j>>2]=we(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+be(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;he(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}he(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(16726,16734,1418,17589);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=we(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=LR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=de(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=LR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+be(e);c[l>>2]=LR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);KR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;ke(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{he(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=LR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;KR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,16717)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((vQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){iR(c[j>>2]|0,16975)|0;i=l;return}e=(AQ(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[16847+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[16980+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[936+(c[f>>2]<<2)>>2]|0);if(((c[952+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+QQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((kR(c[d>>2]|0)|0)+1|0)|0;a=iR(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(17516,16734,316,17525);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[16980+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);KR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;he(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){ke(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;he(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=RR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=QR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=RR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,17605,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=8){d=9;break}if((zd(c[d>>2]|0,c[976+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[976+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[17613+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[17613+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[17613+(d[c[j>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<8){c[b>>2]=c[976+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(18365)|0;l=c[g>>2]|0;i=m;return l|0}if(a[17869+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[1008+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1048+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1048+(c[h>>2]<<2)>>2]=c[1008+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[272];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(hR(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1092;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[272]|0;if((c[g>>2]|0)!=0|(c[272]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[272]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[272]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=296;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=296;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[79]=a&1;l=Hd()|0;k=f;k=QR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[17879]=0;i=m;return}if(!(a[17879]|0)){a[17881]=0;a[17880]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17882+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[17881]=(d[17881]|0)+((d[17882+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[17882+(c[h>>2]|0)>>0]|0;a[17882+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[17879]=1}do{a[17880]=(a[17880]|0)+1<<24>>24;a[k>>0]=a[17882+(d[17880]|0)>>0]|0;a[17881]=(d[17881]|0)+(d[k>>0]|0);a[17882+(d[17880]|0)>>0]=a[17882+(d[17881]|0)>>0]|0;a[17882+(d[17881]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[17882+(d[17880]|0)>>0]|0);j=a[17882+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1184+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((c[D>>2]|0)==0?0==(og(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=pg(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}if(((c[D>>2]|0)==0?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(qg(c[r>>2]|0)|0)==7:0)c[D>>2]=7;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=pg(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;rg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}c[B>>2]=sg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=sg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=tg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=ug(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=vg(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=xg(b,a,wg(c[o>>2]|0)|0,0)|0;yg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))zg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Bg(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Cg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Dg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=aS(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Eg(c[x>>2]|0)|0;Fg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=vg(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Gg(c[n>>2]|0)|0;yg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Hg(c[x>>2]|0,0,1)|0;o=(c[384]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[384]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[384]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=_R(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=RR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=vg(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=wg(c[A>>2]|0)|0;q=u;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}yg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=RR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Jg(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Kg(c[x>>2]|0,0)|0}else{Lg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Hg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Mg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Ng(c[(c[r>>2]|0)+24>>2]|0,0)|0;Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Og(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Pg(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Qg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Qg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Rg(c[g>>2]|0)|0){c[b>>2]=Lf(75223)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Tg(c[g>>2]|0)|0;c[f>>2]=Ug(c[e>>2]|0,c[f>>2]|0)|0;Qg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Sg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Vg(c[f>>2]|0)|0;Wg(c[f>>2]|0);c[e>>2]=Ug(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function Zd(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;Xg((c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+144>>1]|0)>>>9&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+196>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+144|0;b[j>>1]=b[j>>1]&-2|1;j=c[g>>2]|0;i=h;return j|0}function _d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=$d(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if((e[(c[f>>2]|0)+8>>1]|0)&16384)d=Yg(c[f>>2]|0)|0;else d=0;if(d){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function $d(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=_g(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+$g(c[e>>2]|0);i=d;return +b}function ce(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ah(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18138+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function ge(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){eh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{dh(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function he(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;fh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;gh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;hh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;hh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function le(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[c[d>>2]>>2]|0);i=b;return}function me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;dh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function ne(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[968]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){eh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{dh(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;jh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{kh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function qe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;gh(b,lh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function re(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;gh(c[c[e>>2]>>2]|0,18170,-1,1,0)|0;i=d;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;ih(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;mh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function te(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;l=o+4|0;n=o;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(nh(c[m>>2]|0)|0){c[e>>2]=Lf(75775)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3;while(1){d=oh(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+36>>2];d=ph(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;Yd(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3|2}do if(c[k>>2]|0){c[n>>2]=$d(c[(c[h>>2]|0)+244>>2]|0)|0;Tf(c[h>>2]|0,c[(c[m>>2]|0)+108>>2]|0);if(a[(c[h>>2]|0)+69>>0]|0){c[(c[m>>2]|0)+108>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+40>>2]=7;break}else{n=qh(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+108>>2]=n;c[(c[m>>2]|0)+40>>2]=c[k>>2];break}}while(0);c[j>>2]=Ug(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function ue(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function we(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=rh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function xe(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+140>>1]|0;i=d;return f|0}function ye(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+104>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+140>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=_d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+be(th(c[f>>2]|0,c[g>>2]|0)|0);uh(c[f>>2]|0);i=e;return +(+h[d>>3])}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ce(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=de(th(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;uh(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function Fe(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=th(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;uh(j);j=c[g>>2]|0;i=h;return j|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ee(th(c[f>>2]|0,c[g>>2]|0)|0)|0;uh(c[f>>2]|0);i=e;return c[d>>2]|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Je(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}fh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Le(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=xh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;hh((c[(c[h>>2]|0)+116>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=xh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Ne(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=wh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Oe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(ee(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Le(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Je(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Pe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Ie(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=wh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=xh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}kh((c[(c[g>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qe(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+16>>1]|0;i=e;return f|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=yh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Se(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+176>>2]|0;i=d;return e|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=ee(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];Bh(c[e>>2]|0,0);c[d>>2]=ee(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=sh(c[F>>2]|0,36,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ch(c[F>>2]|0,480,0)|0,(c[J>>2]|0)!=0):0){while(1){VR(c[J>>2]|0,0,480)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Dh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Eh(h,18193,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Eh(h,18223,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Eh(h,18259,E)}if(!(c[A>>2]|0)){k=13;break}c[(c[I>>2]|0)+32>>2]=c[A>>2];h=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;c[(c[I>>2]|0)+28>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(h<<4)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18301;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18313;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Hh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Ih(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Jh(c[B>>2]|0,1);c[s>>2]=Kh(c[B>>2]|0,9,18355,0)|0;Lh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Mh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=105;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+400>>1]=1;c[(c[J>>2]|0)+44>>2]=1;c[(c[J>>2]|0)+40>>2]=1;Nh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Le(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Oh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Gh(P,18280,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Gh(N,18321,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Tg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18391:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Ph(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Ug(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Xd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Rh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(84814)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Oh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?18391:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Ug(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Th(c[f>>2]|0,c[e>>2]|0,18394,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Th(c[h>>2]|0,c[g>>2]|0,18398,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Uh(c[k>>2]|0)|0)){c[j>>2]=Lf(109597)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=18402;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=xe(c[v>>2]|0)|0;do{c[w>>2]=te(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=sh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=He(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Ee(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(Ge(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Tg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[18403+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)mh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Tg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Tg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Ug(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;TR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=lh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Wh(c[e>>2]|0)|0)){c[d>>2]=lh(Lf(140046)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=$d(c[(c[e>>2]|0)+244>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=lh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=lh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Vh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Xh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Xh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;r=s+12|0;m=s+8|0;l=s+4|0;c[h>>2]=e;c[j>>2]=f;c[p>>2]=0;c[r>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[o>>2]=c[(c[k>>2]|0)+4>>2];c[n>>2]=sh(c[h>>2]|0,480,0)|0;if(!(c[n>>2]|0))c[p>>2]=7;else{a[(c[n>>2]|0)+410>>0]=1;c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+136>>2]=1;if((((0==(Yh(c[n>>2]|0,c[j>>2]|0,r)|0)?(c[(c[n>>2]|0)+440>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[n>>2]|0)+440>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[n>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[o>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[n>>2]|0)+440>>2];c[(c[o>>2]|0)+4>>2]=c[(c[m>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=b[(c[m>>2]|0)+34>>1]|0;r=(c[o>>2]|0)+42|0;a[r>>0]=d[r>>0]|d[(c[m>>2]|0)+42>>0]&96;b[(c[m>>2]|0)+34>>1]=0;c[(c[m>>2]|0)+4>>2]=0;if((d[(c[m>>2]|0)+42>>0]&32|0)!=0?(c[(c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0)c[p>>2]=1;c[l>>2]=c[(c[m>>2]|0)+8>>2];if(c[l>>2]|0){c[(c[o>>2]|0)+8>>2]=c[l>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[l>>2]|0)+12>>2]=c[o>>2]}}c[(c[k>>2]|0)+12>>2]=1}else{o=c[h>>2]|0;f=(c[r>>2]|0)!=0?18391:0;c[q>>2]=c[r>>2];jg(o,1,f,q);Tf(c[h>>2]|0,c[r>>2]|0);c[p>>2]=1}a[(c[n>>2]|0)+410>>0]=0;if(c[(c[n>>2]|0)+8>>2]|0)Tg(c[(c[n>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[n>>2]|0)+440>>2]|0);Ph(c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0)}c[p>>2]=Ug(c[h>>2]|0,c[p>>2]|0)|0;c[g>>2]=c[p>>2];r=c[g>>2]|0;i=s;return r|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(123278)|0;r=c[g>>2]|0;i=s;return r|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[18659+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(123749)|0;break}}else c[j>>2]=Lf(123757)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 17598}function kf(){return 18677}function lf(){return 3015001}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(138190)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))$h();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(ai()|0)+(bi()|0)+(ci()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))di();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ei(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;switch(c[f>>2]|0){case 1e3:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[c[(c[e>>2]|0)+16>>2]>>2]=q;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}case 1001:{d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=gi(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}default:{c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=4){q=17;break}if((c[1548+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==17){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1548+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1548+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Sh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1548+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}}return 0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+92>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=sh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=ji(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Ug(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ki(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=ji(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Ug(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+228>>2];c[(c[g>>2]|0)+224>>2]=c[j>>2];c[(c[g>>2]|0)+228>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ni(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,18738,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=oi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Ug(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Wh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(140115)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1580+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1580+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=qi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=xi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Eg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=yi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=zi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=Ai(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=hR(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Gi(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(kR(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[18403+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(21,c[d>>2]|0,45606)|0;i=b;return a|0}function Mf(){return c[428]|0}function Nf(){return c[72]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}ov(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);kv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=h;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){i=h;return}sQ(c[e>>2]|0,c[f>>2]|0);i=h;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;OC(c[(c[j>>2]|0)+100>>2]|0,e[(c[j>>2]|0)+140>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+200>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+20>>2];rQ(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}if((c[(c[j>>2]|0)+20>>2]|0)!=381479589){OC(c[(c[j>>2]|0)+116>>2]|0,b[(c[j>>2]|0)+16>>1]|0);c[k>>2]=(b[(c[j>>2]|0)+18>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+120>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+120>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+180>>2]|0)}rQ(c[h>>2]|0,c[(c[j>>2]|0)+88>>2]|0,c[(c[j>>2]|0)+136>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+100>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+176>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){qQ(a,b);i=g;return}if(lu(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))$h();c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;c[72]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[77]=c[d>>2];c[78]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[76]=(c[d>>2]|0)+4}else{c[76]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[78]=0;c[79]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){$O();aP();bP(6956,57);return}function Wf(){if(!(c[31]|0))di();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[420]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[423]=c[f>>2];b=c[g>>2]|0;c[430]=b;c[424]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[425]=d;c[426]=c[e>>2];c[429]=0;c[431]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[429];c[429]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[427]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[272]|0)==(c[d>>2]|0)){c[272]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[272]|0)){i=f;return}c[e>>2]=c[272];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[1008+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){_O(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=1008+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Ri(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=296;a=c[h>>2]|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)ZO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=296;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){ZO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Si(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=16;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);sA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=UO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=44615;a[na>>0]=16;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[44615+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=44615+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 13:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 0:case 15:{qa=62;break}case 3:case 2:case 1:{if(a[m>>0]|0)h[ea>>3]=+VO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==3&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==1)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(qG(+h[ea>>3])|0){c[p>>2]=44802;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[44806]|0;a[b+1>>0]=a[44807]|0;a[b+2>>0]=a[44808]|0;a[b+3>>0]=a[44809]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=1?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==3){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=1;break c}while(0);a[na>>0]=2}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==2)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=RR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=RR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=RR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=WO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==2){f=a[44762+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 4:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 7:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 8:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){YO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}YO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 6:case 5:{if(a[m>>0]|0){c[p>>2]=XO(c[X>>2]|0)|0;a[na>>0]=5}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==6)c[oa>>2]=c[p>>2]}else c[p>>2]=18402;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 14:case 10:case 9:{a[da>>0]=(d[na>>0]|0)==14?34:39;if(a[m>>0]|0)c[v>>2]=XO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==10?39691:44810;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==10;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 11:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)sA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 12:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){dE(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);sA(c[j>>2]|0,44433,1)}dE(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=UO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=QR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=UO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==15){sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=bS(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=cS(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[44753+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[44753+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=44762+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=cS(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=bS(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=44795+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))YO(c[j>>2]|0,c[ja>>2]|0,32);sA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)YO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){sA(c[j>>2]|0,44613,1);i=ra;return}else if((qa|0)==92){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){wA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ch(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){TR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{wA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[17613+(d[c[e>>2]>>0]|0)>>0]|0)-(d[17613+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];SJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+244>>2]|0)==0?(g=Zh(c[f>>2]|0)|0,c[(c[f>>2]|0)+244>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=ox(c[f>>2]|0,c[h>>2]|0,j)|0;_h(c[(c[f>>2]|0)+244>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}VR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+244>>2]|0)==0:0){i=f;return}tN(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function pg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=WH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=qN(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=rN(k,m,Zq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=AM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)RB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(dr(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(gr((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)ft((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=xM(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[(c[e>>2]|0)+4>>2]|0;c[b>>2]=Ci(a,sg(c[(c[e>>2]|0)+24>>2]|0)|0,-1,0)|0;i=d;return c[b>>2]|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=pN(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=gr((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function sg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function tg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function ug(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=JF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function vg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Qj(51704)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=24}else{if(((c[o>>2]|0)!=0?(Br(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=GL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if(!((d[(c[l>>2]|0)+17>>0]|0|0)<=1?(d[(c[l>>2]|0)+13>>0]|0|0)==0:0))c[r>>2]=hs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=mN(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=aS((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ms(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=ms(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=nN(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ns(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=24}while(0);do if((j|0)==24){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[384]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){u=(Br(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Hs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Is(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Yj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)lj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;St(c[l>>2]|0,c[m>>2]|0)|0;Zj()}VR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Qj(51793)|0}while(0);if(c[r>>2]|0)Gs(c[r>>2]|0);Ls(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=sg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=sg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=aS(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(kK(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=QR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=_R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=vg(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Gg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=$R(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=wg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=$R(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,TR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Ut(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;ft(x,ug(c[(c[g>>2]|0)+24>>2]|0)|0)}yg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=RR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function yg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Js(c[b>>2]|0);i=d;return}function zg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Og(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function Ag(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=AM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Gg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}ft((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)yj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;uu(c[b>>2]|0);MB(c[b>>2]|0);i=f;return}function Dg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=pg(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=pg(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Gg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Eg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Gg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=wt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=gN(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=hN(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[(c[h>>2]|0)+44>>2];o=c[g>>2]|0;i=p;return o|0}if(Bi(400)|0){c[g>>2]=10;o=c[g>>2]|0;i=p;return o|0}if((d[(c[h>>2]|0)+17>>0]|0|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}e=0==(yr(c[h>>2]|0,1)|0);f=c[h>>2]|0;do if(!e){e=(Br(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=As(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=vg(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=xt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;yg(c[n>>2]|0);if(c[o>>2]|0)break;zr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=eN(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=fN(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=yt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=zt(n,As(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){zr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[384]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=Dr(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Kg(c[h>>2]|0,c[j>>2]|0)|0}}else dj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(Br(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Ig(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Xi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=ur(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Kg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=Ai(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=vr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=dN(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;_M(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);$M(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Ng(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=cN(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Lg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Hg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Og(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Pg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=XH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=WI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=qr(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(XF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=gr((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Fg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];QB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;_M(c[l>>2]|0);f=c[g>>2]|0;$M(f);f=c[n>>2]|0;i=q;return f|0}function Qg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+84>>2]|0)!=1691352191){i=m;return}if(pu(c[d>>2]|0)|0){i=m;return}YI(c[d>>2]|0,0);ZI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(LB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)yj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);uu(c[d>>2]|0);MB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{mu(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);kI(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Aj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);ch(c[(c[d>>2]|0)+244>>2]|0);c[(c[d>>2]|0)+84>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+84>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Rg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,44004,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Sg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;j=h+8|0;g=h;c[e>>2]=a;c[f>>2]=b;qI(c[c[e>>2]>>2]|0,j)|0;b=j;a=(c[f>>2]|0)+128|0;a=QR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=aS(a|0,C|0,1e6,0)|0;b=g;c[b>>2]=a;c[b+4>>2]=C;if(c[(c[e>>2]|0)+192>>2]|0){j=g;_b[c[(c[e>>2]|0)+192>>2]&255](c[(c[e>>2]|0)+196>>2]|0,c[(c[f>>2]|0)+176>>2]|0,c[j>>2]|0,c[j+4>>2]|0)}if(!((d[(c[e>>2]|0)+76>>0]|0)&2)){j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}Wb[c[(c[e>>2]|0)+184>>2]&255](2,c[(c[e>>2]|0)+188>>2]|0,c[f>>2]|0,g)|0;j=c[f>>2]|0;j=j+128|0;b=j;c[b>>2]=0;j=j+4|0;c[j>>2]=0;i=h;return}function Tg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+20>>2]|0)!=770837923?(c[(c[b>>2]|0)+20>>2]|0)!=832317811:0))c[d>>2]=Vg(c[b>>2]|0)|0;cv(c[b>>2]|0);i=e;return c[d>>2]|0}function Ug(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=ZM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Vg(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];BI(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+36>>2]|0)>=0){uI(a)|0;Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;if((e[(c[d>>2]|0)+144>>1]|0)>>>5&1){g=(c[d>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2|1}}else if((c[a+40>>2]|0)!=0?(b[(c[d>>2]|0)+144>>1]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+40>>2]|0;a=(c[(c[d>>2]|0)+108>>2]|0)!=0?18391:0;c[g>>2]=c[(c[d>>2]|0)+108>>2];jg(k,j,a,g);Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0}YM(c[d>>2]|0);k=(c[d>>2]|0)+56|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+20>>2]=1224384374;i=h;return c[(c[d>>2]|0)+40>>2]&c[(c[f>>2]|0)+56>>2]|0}function Wg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=770837923;c[(c[e>>2]|0)+36>>2]=-1;c[(c[e>>2]|0)+40>>2]=0;a[(c[e>>2]|0)+142>>0]=2;c[(c[e>>2]|0)+44>>2]=0;c[(c[e>>2]|0)+32>>2]=1;a[(c[e>>2]|0)+143>>0]=-1;c[(c[e>>2]|0)+48>>2]=0;b=(c[e>>2]|0)+64|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}XM(c[b>>2]|0);i=d;return}function Yg(a){a=a|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;h=g;c[f>>2]=a;a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(Ox(c[f>>2]|0,c[h>>2]|0,1)|0){c[d>>2]=7;h=c[d>>2]|0;i=g;return h|0}else{VR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;h=(c[f>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);h=(c[f>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}return 0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=WM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function _g(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=VM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;ez(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function ah(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=Kx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Mi(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function bh(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;do if((e[(c[g>>2]|0)+8>>1]|0)&18){if(((e[(c[g>>2]|0)+8>>1]|0)&16384|0)!=0?(Yg(c[g>>2]|0)|0)!=0:0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}function ch(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Xg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function dh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((gh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}re(c[h>>2]|0);i=j;return}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}re(c[g>>2]|0);i=h;return 18}function fh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;ih(c[e>>2]|0);if(qG(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function gh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){ih(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+96>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Xg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(Nx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){TR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(UM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function hh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;TM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function ih(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){mG(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function jh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)mG(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=bh(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function kh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Xg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function lh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=43378;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[6240+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[6240+(c[b>>2]<<2)>>2]}else c[d>>2]=43392;i=e;return c[d>>2]|0}function mh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+168>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function nh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,43338,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Rg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function oh(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[h>>2]=f;if((c[(c[h>>2]|0)+20>>2]|0)!=770837923)Yd(c[h>>2]|0)|0;c[j>>2]=c[c[h>>2]>>2];f=c[h>>2]|0;if(a[(c[j>>2]|0)+69>>0]|0){c[f+40>>2]=7;c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}if((c[f+36>>2]|0)<=0?(b[(c[h>>2]|0)+144>>1]&1|0)!=0:0){c[(c[h>>2]|0)+40>>2]=17;c[k>>2]=1}else{if((c[(c[h>>2]|0)+36>>2]|0)<0){if(!(c[(c[j>>2]|0)+156>>2]|0))c[(c[j>>2]|0)+248>>2]=0;if(!((c[(c[j>>2]|0)+192>>2]|0)==0?(d[(c[j>>2]|0)+76>>0]&2|0)==0:0))l=13;if(((l|0)==13?(a[(c[j>>2]|0)+148+5>>0]|0)==0:0)?(c[(c[h>>2]|0)+176>>2]|0)!=0:0)qI(c[c[j>>2]>>2]|0,(c[h>>2]|0)+128|0)|0;l=(c[j>>2]|0)+156|0;c[l>>2]=(c[l>>2]|0)+1;if(!((e[(c[h>>2]|0)+144>>1]|0)>>>7&1)){l=(c[j>>2]|0)+164|0;c[l>>2]=(c[l>>2]|0)+1}if((e[(c[h>>2]|0)+144>>1]|0)>>>8&1){l=(c[j>>2]|0)+160|0;c[l>>2]=(c[l>>2]|0)+1}c[(c[h>>2]|0)+36>>2]=0}if((e[(c[h>>2]|0)+144>>1]|0)>>>2&3)c[k>>2]=rI(c[h>>2]|0)|0;else{l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=sI(c[h>>2]|0)|0;l=(c[j>>2]|0)+168|0;c[l>>2]=(c[l>>2]|0)+-1}if((c[k>>2]|0)!=100?(l=(c[h>>2]|0)+128|0,f=c[l+4>>2]|0,(f|0)>0|(f|0)==0&(c[l>>2]|0)>>>0>0):0)Sg(c[j>>2]|0,c[h>>2]|0);if((c[k>>2]|0)==101?(l=tI(c[j>>2]|0)|0,c[(c[h>>2]|0)+40>>2]=l,(c[(c[h>>2]|0)+40>>2]|0)!=0):0)c[k>>2]=1;c[(c[j>>2]|0)+52>>2]=c[k>>2];if(7==(Ug(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0))c[(c[h>>2]|0)+40>>2]=7}if(((c[k>>2]|0)!=100?((e[(c[h>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(c[k>>2]|0)!=101)c[k>>2]=uI(c[h>>2]|0)|0;c[g>>2]=c[k>>2]&c[(c[j>>2]|0)+56>>2];l=c[g>>2]|0;i=m;return l|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Se(c[d>>2]|0)|0;c[e>>2]=QA(c[d>>2]|0)|0;c[g>>2]=Vh(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){oI(c[f>>2]|0,c[d>>2]|0);zh(c[f>>2]|0,c[d>>2]|0)|0;pI(c[f>>2]|0);Tg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)mh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ch(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)TR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function rh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){Nx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)VR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{ih(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ch(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}VR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function th(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;c[h>>2]=c[k>>2];if(!(c[h>>2]|0)){c[d>>2]=nI()|0;k=c[d>>2]|0;i=j;return k|0}if((c[(c[h>>2]|0)+104>>2]|0)!=0?((c[f>>2]|0)>=0?(c[f>>2]|0)<(e[(c[h>>2]|0)+140>>1]|0|0):0):0)c[g>>2]=(c[(c[h>>2]|0)+104>>2]|0)+((c[f>>2]|0)*40|0);else{lg(c[c[h>>2]>>2]|0,25);c[g>>2]=nI()|0}c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function uh(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Ug(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+40>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=e;i=d;return}function vh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=xe(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+100>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}pi(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function wh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=xh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+116>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=gh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=iu(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Ug(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function xh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(nh(c[g>>2]|0)|0){c[f>>2]=Lf(76348)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+20>>2]|0)==770837923?(c[(c[g>>2]|0)+36>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+16>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+116>>2]|0)+((c[h>>2]|0)*40|0);Xg(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;lg(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+144>>1]|0)>>>9&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+196>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+196>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+144|0;b[l>>1]=b[l>>1]&-2|1}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}lg(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+176>>2];Rd(21,39833,k);c[f>>2]=Lf(76356)|0;l=c[f>>2]|0;i=m;return l|0}function yh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+18>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+120>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(lR(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function zh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+16>>1]|0))break;mI((c[(c[g>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+116>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function Ah(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;w=D+116|0;v=D+88|0;x=D;j=D+84|0;r=D+80|0;n=D+152|0;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(v,0,D+156|0,100,c[(c[m>>2]|0)+96>>2]|0);a:do if((c[(c[m>>2]|0)+168>>2]|0)>1)while(1){if(!(a[c[l>>2]>>0]|0))break a;c[j>>2]=c[l>>2];do{C=c[l>>2]|0;c[l>>2]=C+1;if((a[C>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);sA(v,39799,3);sA(v,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}else{if(!(b[(c[k>>2]|0)+16>>1]|0)){C=c[l>>2]|0;sA(v,C,Jf(c[l>>2]|0)|0);break}while(1){if(!(a[c[l>>2]>>0]|0))break a;c[q>>2]=lI(c[l>>2]|0,t)|0;sA(v,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0))break a;do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Qi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=yh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[w>>2]=(c[(c[k>>2]|0)+116>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[w>>2]|0)+8>>1]&1){sA(v,39691,4);continue}g=c[w>>2]|0;if(e[(c[w>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=y;c[j>>2]=c[f>>2];c[j+4>>2]=g;rA(v,28266,y);continue}f=c[w>>2]|0;if(e[g+8>>1]&8){h[z>>3]=+h[f>>3];rA(v,28271,z);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=x;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[x+32>>2]=c[m>>2];gh(x,c[(c[w>>2]|0)+16>>2]|0,c[(c[w>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;if(7==(iu(x,1)|0)){a[v+24>>0]=1;c[v+16>>2]=0}c[w>>2]=x}c[r>>2]=c[(c[w>>2]|0)+12>>2];j=c[(c[w>>2]|0)+16>>2]|0;c[B>>2]=c[r>>2];c[B+4>>2]=j;rA(v,39803,B);if((d[n>>0]|0)==1)continue;Xg(x);continue}else{if(e[(c[w>>2]|0)+8>>1]&16384){c[C>>2]=c[c[w>>2]>>2];rA(v,39810,C);continue}sA(v,39823,2);c[s>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[A>>2]=a[(c[(c[w>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;rA(v,39826,A);c[o>>2]=(c[o>>2]|0)+1}sA(v,39831,1);continue}}}while(0);if(!(a[v+24>>0]|0)){C=fg(v)|0;i=D;return C|0}xA(v);C=fg(v)|0;i=D;return C|0}function Bh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(ez(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Mi(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}Jx(c[g>>2]|0);i=n;return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Vw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Dh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Kz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ti(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]&1|0)!=0?39772:39785;if(((ni(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=sj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(jI(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}if(!(c[g>>2]&2)){d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Eh(d,30029,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Eh(d,30039,q)}a[(c[l>>2]|0)+17>>0]=1}}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=ox(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+36|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=ox(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=Vw(c[f>>2]|0,208,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+88|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[g>>2]>>2]=c[f>>2];if(c[(c[f>>2]|0)+4>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+20>>2]=381479589;c[(c[g>>2]|0)+12>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Ih(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=jx(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Mh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if((c[(c[e>>2]|0)+136>>2]|0)<=0){i=g;return}a[(c[(c[e>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Kh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+136>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)?(lx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+88>>2]|0)+((c[(c[j>>2]|0)+136>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[34898+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+136>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+136|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+148|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(iI(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+152|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}IA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+136>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}hI(c[k>>2]|0);i=n;return}gI(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Nh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;k=q+32|0;o=q+28|0;n=q+24|0;m=q+20|0;l=q+16|0;g=q+12|0;p=q;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];c[o>>2]=b[(c[j>>2]|0)+400>>1];c[n>>2]=c[(c[j>>2]|0)+44>>2];c[m>>2]=c[(c[j>>2]|0)+40>>2];c[l>>2]=c[(c[j>>2]|0)+108>>2];c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=((c[(c[h>>2]|0)+136>>2]|0)*20|0)+7&-8;c[p>>2]=(c[(c[h>>2]|0)+88>>2]|0)+(c[g>>2]|0);c[p+4>>2]=(c[(c[j>>2]|0)+52>>2]|0)-(c[g>>2]|0)&-8;AF(c[h>>2]|0,l);if(d[(c[j>>2]|0)+20>>0]|0)g=(d[(c[j>>2]|0)+21>>0]|0)!=0;else g=0;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-65|(g&1)<<6&65535;if((c[n>>2]|0)<10?(d[(c[j>>2]|0)+409>>0]|0)!=0:0)c[n>>2]=10;f=(c[h>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2;do{c[p+8>>2]=0;f=fI(p,c[(c[h>>2]|0)+92>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[h>>2]|0)+92>>2]=f;f=fI(p,c[(c[h>>2]|0)+116>>2]|0,(c[o>>2]|0)*40|0)|0;c[(c[h>>2]|0)+116>>2]=f;f=fI(p,c[(c[h>>2]|0)+96>>2]|0,c[l>>2]<<2)|0;c[(c[h>>2]|0)+96>>2]=f;f=fI(p,c[(c[h>>2]|0)+112>>2]|0,c[m>>2]<<2)|0;c[(c[h>>2]|0)+112>>2]=f;if(!(c[p+8>>2]|0))break;f=c[p+8>>2]|0;f=Vw(c[k>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+180>>2]=f;c[p>>2]=f;c[p+4>>2]=c[p+8>>2]}while((a[(c[k>>2]|0)+69>>0]|0)!=0^1);b[(c[h>>2]|0)+18>>1]=c[(c[j>>2]|0)+404>>2];c[(c[h>>2]|0)+120>>2]=c[(c[j>>2]|0)+428>>2];c[(c[j>>2]|0)+404>>2]=0;c[(c[j>>2]|0)+428>>2]=0;p=(c[h>>2]|0)+144|0;b[p>>1]=b[p>>1]&-13|(d[(c[j>>2]|0)+409>>0]&3)<<2&65535;if(a[(c[k>>2]|0)+69>>0]|0){b[(c[h>>2]|0)+16>>1]=0;c[(c[h>>2]|0)+28>>2]=0;c[(c[h>>2]|0)+24>>2]=0;p=c[h>>2]|0;Wg(p);i=q;return}else{c[(c[h>>2]|0)+28>>2]=c[m>>2];b[(c[h>>2]|0)+16>>1]=c[o>>2];PC(c[(c[h>>2]|0)+116>>2]|0,c[o>>2]|0,c[k>>2]|0,1);c[(c[h>>2]|0)+24>>2]=c[n>>2];PC(c[(c[h>>2]|0)+92>>2]|0,c[n>>2]|0,c[k>>2]|0,128);VR(c[(c[h>>2]|0)+112>>2]|0,0,c[m>>2]<<2|0)|0;p=c[h>>2]|0;Wg(p);i=q;return}}function Oh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+116>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=te(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+112>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=cG(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];eI(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=39718;else d=(c[j>>2]|0)==7?39705:39710;c[k>>2]=d;c[r>>2]=Gh(e,39723,k)|0;c[o>>2]=1;Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Xd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Gh(d,39752,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Gh(d,18391,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Ph(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+76>>2]|0);ev(c[f>>2]|0,c[(c[e>>2]|0)+80>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Qh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=EF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=RF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Rh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(84716)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=RR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}dI(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Tg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+40>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Ug(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Sh(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2|1;c[d>>2]=c[(c[d>>2]|0)+8>>2]}i=e;return}function Th(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=JC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=JC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=JC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=JC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=JC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=JC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0?((c[q>>2]|0)>>>0<128?(d[17613+(c[q>>2]&255)>>0]|0)==(d[17613+(c[r>>2]&255)>>0]|0):0)&(c[r>>2]|0)>>>0<128:0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=JC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(JC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=JC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Th((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[18403+(c[q>>2]&255)>>0]&32);c[q>>2]=d[17613+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=JC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Th(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){RH(39691);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+84>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Wh(c[d>>2]|0)|0)RH(39696);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Vh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Uh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(114197)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Xd(c[c[p>>2]>>2]|0)|0;c[r>>2]=SH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Wh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+84>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){RH(39538);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Xh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(sj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Vw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,TR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Uj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){mh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(122590)|0;c[p>>2]=Ug(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Yh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+96+4>>2];if(!(c[(c[u>>2]|0)+156>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+436>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=_u(179)|0;if(!(c[m>>2]|0)){mh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}a:while(1){do if(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0){c[(c[t>>2]|0)+392>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=$u((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+392+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+392+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break a}}else{if((c[k>>2]|0)==1){c[n>>2]=0;break}if(!(c[k>>2]|0))break a;c[n>>2]=1}while(0);if((c[n>>2]|0)>=162){if(c[(c[u>>2]|0)+248>>2]|0){r=14;break}if((c[n>>2]|0)==163){r=16;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+392|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];av(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==14)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==16){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+392;Eh(A,26437,o)}c[(c[t>>2]|0)+436>>2]=(c[h>>2]|0)+(c[v>>2]|0);bv(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=lh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Gh(A,18391,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,18391,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+36>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){cv(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+116>>2]|0);c[(c[t>>2]|0)+116>>2]=0;c[(c[t>>2]|0)+112>>2]=0}Kd(c[(c[t>>2]|0)+460>>2]|0);if(!(a[(c[t>>2]|0)+410>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+440>>2]|0);if(c[(c[t>>2]|0)+476>>2]|0)dv(c[u>>2]|0,c[(c[t>>2]|0)+476>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+444>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+404>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+428>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+428>>2]|0);while(1){if(!(c[(c[t>>2]|0)+120>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+120>>2];c[(c[t>>2]|0)+120>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+464>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+464>>2];c[(c[t>>2]|0)+464>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Zh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=sh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function _h(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}gh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function $h(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4220;mf(4,b)|0;i=a;return}function ai(){return 88}function bi(){return 40}function ci(){return 32}function di(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4168;mf(18,b)|0;i=a;return}function ei(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function fi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function gi(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Yj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Zj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}if(!(Wh(c[f>>2]|0)|0)){c[e>>2]=Lf(138867)|0;h=c[e>>2]|0;i=j;return h|0}if((d[(c[f>>2]|0)+76>>0]|0)&8)Wb[c[(c[f>>2]|0)+184>>2]&255](8,c[(c[f>>2]|0)+188>>2]|0,c[f>>2]|0,0)|0;nu(c[f>>2]|0);ou(c[f>>2]|0)|0;if((c[g>>2]|0)==0?(pu(c[f>>2]|0)|0)!=0:0){jg(c[f>>2]|0,5,26295,h);c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}c[(c[f>>2]|0)+84>>2]=1691352191;Qg(c[f>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{wi(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} +function ji(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=ji(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[968]|0)==0?3:2;while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+156>>2]|0)){Sh(d);break}jg(d,5,26232,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ki(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}mu(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(139436)|0;C=c[q>>2]|0;i=D;return C|0}function ki(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=sj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[17613+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=hu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=gu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=sh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;TR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Uj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);mh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26181,h)|0;ie(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Yj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Zj();i=h;return 0}function ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function oi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=eu(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function pi(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+168>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function qi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(140621)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+84>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+96|0;g=1580;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+96+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+80>>2]=0;c[(c[n>>2]|0)+144>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;zj((c[n>>2]|0)+364|0);zj((c[n>>2]|0)+320|0);ri(c[n>>2]|0,34834,1,0,141,0)|0;ri(c[n>>2]|0,34834,3,0,141,0)|0;ri(c[n>>2]|0,34834,2,0,141,0)|0;ri(c[n>>2]|0,20429,1,0,142,0)|0;ri(c[n>>2]|0,20436,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Sj(c[n>>2]|0,1,34834,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=ak(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)mh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?18391:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=bk(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ck(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ck(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=20442;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=18672;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+84>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);dk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ek(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=fk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);gi(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+84>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function ri(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[968]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(140172)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+156>>2]|0){jg(b,5,20361,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Sh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=sj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Sj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function si(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+148+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=vj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=vj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)wj(c[f>>2]|0,1);a[(c[f>>2]|0)+148+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}xj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=sj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function ui(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,19887)|0){if(!(ig(c[d>>2]|0,19895)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,19901)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function vi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(kR(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function yi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=rj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function Bi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ci(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Ui(c[m>>2]|0)}c[n>>2]=Vi(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Ti(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ei(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Ri(8,c[b>>2]|0);if((c[78]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[77];c[77]=c[c[77]>>2];c[78]=(c[78]|0)+-1;Si(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Si(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[76]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[77];c[77]=c[e>>2];c[78]=(c[78]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Oi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Hi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[18403+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=aS(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=RR(b|0,e|0,(Li(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Mi(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Ii(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ki(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ki(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=18402;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Li(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Mi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;l=v+48|0;m=v+44|0;n=v+40|0;h=v+36|0;j=v+52|0;q=v+32|0;k=v;r=v+28|0;p=v+24|0;o=v+20|0;s=v+16|0;u=v+12|0;t=v+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]^1);c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[18403+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;j=k;g=c[j>>2]|0;j=c[j+4>>2]|0;if(!h)break;b=aS(g|0,j|0,10,0)|0;e=c[o>>2]|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=QR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(j>>>0>2147483647|(j|0)==2147483647&g>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=QR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);do if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[t>>2]|0)>>>0){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}c[o>>2]=Ni(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}if((c[o>>2]|0)>0){c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;u=c[l>>2]|0;i=v;return u|0}}}while(0);c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=18767;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Oi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[18403+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Pi(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[18786+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(18802+(d[18794+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[18827+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[18827+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Pi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Qi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Qi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Li(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[18403+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=aS(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=RR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=QR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=QR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1048+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=1008+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[1008+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1048+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1048+(c[d>>2]<<2)>>2]=c[1008+(c[d>>2]<<2)>>2];i=e;return}function Ti(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[17613+(d[c[h>>2]>>0]|0)>>0]<<2^(d[17613+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[18835+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[18962+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19086+(e[9524+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[19763+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[19639+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;$i(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Vi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Wi(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Xi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Yi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Zi(c[g>>2]|0);c[n>>2]=_i(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){$i(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=RR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=QR(o|0,C|0,1,0)|0;o=_R(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{$i(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];aj(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=jj(c[d>>2]|0)|0;i=b;return a|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;dj(c[(c[d>>2]|0)+96>>2]|0);ej(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function _i(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=cj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function $i(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;bj(c[d>>2]|0);i=b;return}function aj(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[426]|0)>>>0?(c[b>>2]|0)>>>0<(c[427]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[429];c[429]=c[e>>2];c[430]=(c[430]|0)+1;c[431]=(c[430]|0)<(c[425]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function cj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=aS(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=_R(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function dj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function ej(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fj(c[d>>2]|0,0);i=b;return}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)gj(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){VR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function gj(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}hj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}ij(c[d>>2]|0);i=f;return}function hj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+4|0;g=k+8|0;j=k;c[h>>2]=b;a[g>>0]=f;c[j>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1){if((c[(c[j>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[j>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];f=c[(c[h>>2]|0)+36>>2]|0;if(c[(c[h>>2]|0)+32>>2]|0)c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[j>>2]|0)+4>>2]=f;f=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[j>>2]>>2]=f;if(!(c[c[j>>2]>>2]|0))a[(c[j>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){i=k;return}c[(c[h>>2]|0)+32>>2]=c[c[j>>2]>>2];f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[j>>2]|0)+4>>2]=f;if(a[(c[j>>2]|0)+32>>0]|0)a[(c[j>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=f;c[c[j>>2]>>2]=c[h>>2];if(c[(c[j>>2]|0)+8>>2]|0){i=k;return}if(e[(c[h>>2]|0)+24>>1]&8){i=k;return}c[(c[j>>2]|0)+8>>2]=c[h>>2];i=k;return}function ij(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function jj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[423]|0)?(c[d>>2]=c[429],(c[d>>2]|0)!=0):0){c[429]=c[c[429]>>2];c[430]=(c[430]|0)+-1;c[431]=(c[430]|0)<(c[425]|0)&1;Ri(7,c[b>>2]|0);Si(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Ri(7,c[b>>2]|0);Si(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function kj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function lj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=kj(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ch(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}TR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;VR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=lj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=lj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function mj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];TR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;VR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(qj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function oj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function pj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;pj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function qj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function rj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function sj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=tj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=uj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function uj(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b&255))break;c[g>>2]=(c[g>>2]|0)+(d[17613+(d[f>>0]|0)>>0]|0);c[g>>2]=_(c[g>>2]|0,-1640531535)|0}i=h;return c[g>>2]|0}function vj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?19905:19924;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=19938;c[B+8>>2]=19940;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];Bj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(og(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=pg(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Cj(z,B,lh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;rg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Cj(c[o>>2]|0,c[m>>2]|0,20016);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Dj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Ej(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Cj(c[o>>2]|0,c[m>>2]|0,20084);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Gh(B,20108,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Fj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Cg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Gj(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)mh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);yj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;yj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function yj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];zj((c[f>>2]|0)+40|0);Aj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(j);zj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}Aj(h);Aj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function Bj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;j=s+40|0;t=s+36|0;k=s+28|0;n=s+20|0;l=s+16|0;m=s+12|0;q=s+8|0;r=s+44|0;p=s+4|0;o=s;c[t>>2]=d;c[s+32>>2]=f;c[k>>2]=g;c[s+24>>2]=h;c[n>>2]=c[t>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;t=c[j>>2]|0;i=s;return t|0}if(!(c[k>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20250,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Kj(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Qi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,20258);break a}while(0);Pj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[r>>0]=a[(c[l>>2]|0)+148+4>>0]|0;a[(c[l>>2]|0)+148+4>>0]=c[m>>2];t=Pi(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+148>>2]=t;a[(c[l>>2]|0)+148+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+148+4>>0]=a[r>>0]|0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+148+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){mh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){r=c[n>>2]|0;t=c[c[k>>2]>>2]|0;Pj(r,t,bf(c[l>>2]|0)|0)}}while(0);Xd(c[p>>2]|0)|0}while(0);c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=qh(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Dj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Nj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Fj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+36|0;f=o+32|0;l=o+24|0;g=o+20|0;n=o+16|0;k=o+12|0;h=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=d;c[k>>2]=0;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];b[c[(c[h>>2]|0)+8>>2]>>1]=0;c[g>>2]=c[c[g>>2]>>2]}c[l>>2]=c[e>>2];c[l+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(ti(c[e>>2]|0,20163,c[l+4>>2]|0)|0){h=c[e>>2]|0;c[m>>2]=c[l+4>>2];c[n>>2]=Gh(h,20176,m)|0;if(!(c[n>>2]|0)){c[k>>2]=7;break}else{c[k>>2]=$e(c[e>>2]|0,c[n>>2]|0,141,l,0)|0;Tf(c[e>>2]|0,c[n>>2]|0);break}}while(0);c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(b[c[(c[j>>2]|0)+8>>2]>>1]|0))Ij(c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}if((c[k>>2]|0)!=7){n=c[k>>2]|0;i=o;return n|0}mh(c[e>>2]|0);n=c[k>>2]|0;i=o;return n|0}function Gj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Ng(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Mg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Hj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ti(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Jj(c[q>>2]|0)|0;break}else{c[o>>2]=Kj(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Lj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Lj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Ij(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[4886]|0;b[h+2>>1]=b[4887]|0;b[h+4>>1]=b[4888]|0;b[h+6>>1]=b[4889]|0;b[h+8>>1]=b[4890]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if(c[(c[f>>2]|0)+36>>2]|0){a=c[g>>2]|0;b[a>>1]=(b[a>>1]|0)-10}if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;TR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Jj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=sj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Lj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Mj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20217,c[p>>2]|0)|0){r=(Ze(20228,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Pi(j+3|0)|0;r=Mj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20238,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Mj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=WR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=SR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[9782+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Oj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=cj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Pj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20275;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Gh(e,20277,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Gh(e,20308,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Qj(113554)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Qj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(11,c[d>>2]|0,20316)|0;i=b;return a|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20336,g);i=f;return c[e>>2]|0}function Sj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Tj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=sj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=sh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;TR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Uj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}mh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=tj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Vj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Wj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=uj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Xj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}Aj(c[e>>2]|0);i=j;return}function Wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Yj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Zj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;VR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=uj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Xj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Yj(){if(!(c[432]|0))return;Vb[c[1728>>2]&255]();return}function Zj(){if(!(c[433]|0))return;Vb[c[1732>>2]&255]();return}function _j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=eR(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(du((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(du((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function $j(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function ak(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(eR(c[n>>2]|0,26023,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=RR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(eR(26029,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26039,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[18403+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[18403+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Li(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(eR(26067,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(eR(26071,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4104;c[z>>2]=c[A>>2];c[N>>2]=26071}if((c[D>>2]|0)==4?(eR(26077,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4128;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26082}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(eR(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26089,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26109,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){TR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26133,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function bk(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(hR(c[n>>2]|0,25837)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Zq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=_q(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else TR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1006];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(hR(w,Ki(c[c[F>>2]>>2]|0,0)|0)|0)?(w=yi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=ar(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;br(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=cr(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];er(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((fr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(gr(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(gr(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Vi(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);c[(c[F>>2]|0)+64>>2]=1;if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+68>>2]=c[1006];c[1006]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Yq(c[E>>2]|0,0,0)|0))Nj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)hr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ck(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Yq(c[g>>2]|0,84,150)|0;else c[h>>2]=sh(0,84,0)|0;if(!(c[h>>2]|0)){mh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}zj((c[h>>2]|0)+8|0);zj((c[h>>2]|0)+24|0);zj((c[h>>2]|0)+40|0);zj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function dk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,25831,2)|0;if((c[e>>2]|0)!=7){i=d;return}mh(c[b>>2]|0);i=d;return}function ek(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;h=l;b=l+28|0;e=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;k=l+8|0;f=l+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[385]|0)){i=l;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;c[f>>2]=0;if((c[e>>2]|0)>>>0>=(c[385]|0)>>>0){c[j>>2]=0;c[d>>2]=0}else c[j>>2]=c[(c[386]|0)+(c[e>>2]<<2)>>2];c[k>>2]=0;if((c[j>>2]|0)!=0?(a=Ob[c[j>>2]&255](c[b>>2]|0,k,c[f>>2]|0)|0,c[g>>2]=a,(a|0)!=0):0){m=c[b>>2]|0;a=c[g>>2]|0;c[h>>2]=c[k>>2];jg(m,a,25792,h);c[d>>2]=0}Kd(c[k>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=l;return}function fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;gk(h);c[j>>2]=hk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}ik(g);jk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)kk(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((lk(c[e>>2]|0,20447,7,c[g>>2]|0)|0)==0?(lk(c[e>>2]|0,20454,7,c[f>>2]|0)|0)==0:0)?(lk(c[e>>2]|0,20461,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=mk(c[d>>2]|0,c[e>>2]|0,20471)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20486,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20494,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20502,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,20512,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,20521,1736,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,20526,1736,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=ok(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){pk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2356;i=b;return}function hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,25443,2264,0)|0;i=d;return c[b>>2]|0}function ik(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2236;i=b;return}function jk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2208;i=b;return}function kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function lk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Hk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Ik(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))aq(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?(bq(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?(bq(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=cq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=cq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){TR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}qk(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;dq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function nk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];pk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,20531,1828,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function pk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;qk(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[e>>2]|0)+12>>2]|0);qk(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function qk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function rk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,20544)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ck(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=20447;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Dk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function sk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Bk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];Bk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=$d(c[c[k>>2]>>2]|0)|0;c[l>>2]=ae(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}TR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=xk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}Bk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function yk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{me(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{je(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{je(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function Bk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=kR(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];TR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Ok(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=kR(c[g>>2]|0)|0;c[k>>2]=Ek(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Fk(o,20595,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Gk(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Gk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Hk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Ik(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Ik(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Jk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Jk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Kk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=lR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Lk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=eR(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Mk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=kR(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Lp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Rk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Jp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Kp(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=23624;else c[e>>2]=23629;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Sk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;nl(f,a,23824,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;nl(f,o,23861,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;nl(f,o,23899,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;nl(f,o,23935,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;nl(f,o,23972,j);if(!(c[f>>2]|0)){o=Sk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Vk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xd(c[(c[d>>2]|0)+8>>2]|0)|0;gp(c[(c[d>>2]|0)+12>>2]|0);Ip(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);zm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Wk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Xd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);zm(c[(c[w>>2]|0)+92>>2]|0);gp(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=hp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=hp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=$d(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(ee(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=ce(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=ip(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=jp(c[w>>2]|0)|0;ym(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?23624:23629;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(23633,A)|0}else{A=(d[l+52>>0]|0)!=0?23624:23629;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(23695,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Fn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Oe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Xk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Xk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=fp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(te(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Yd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=De(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Yk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;ke(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){fe(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;ke(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=tn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=Ce(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;je(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ye(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;oe(m,Fe(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Go(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function al(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=ll(c[d>>2]|0)|0;i=b;return a|0}function bl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=ml(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=fo(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=go(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;ym(c[e>>2]|0);i=g;return c[f>>2]|0}function cl(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function dl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];jl(c[d>>2]|0);i=b;return 0}function el(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+64|0;j=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[520];c[l+4>>2]=c[521];c[l+8>>2]=c[522];c[l+12>>2]=c[523];c[l+16>>2]=c[524];c[l+20>>2]=c[525];c[l+24>>2]=c[526];c[l+28>>2]=c[527];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}d=(hR(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(d){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;l=c[j>>2]|0;i=m;return l|0}else if((b|0)==6){c[j>>2]=0;l=c[j>>2]|0;i=m;return l|0}return 0}function fl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=ll(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=ml(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;nl(h,p,20617,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;nl(h,p,20670,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;nl(h,p,20723,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;nl(h,p,20770,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;nl(h,p,20824,l);i=o;return c[h>>2]|0}function gl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=bl(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];jl(c[e>>2]|0);i=d;return 0}function jl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];kl(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}pk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function kl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ll(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23181;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(te(c[g>>2]|0)|0)==100&1,c[h>>2]=Xd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function ml(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ol(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}jl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=pl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Ke(c[g>>2]|0,1,2)|0;c[h>>2]=te(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=Ce(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Yd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ol(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=sl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=tl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=ul(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=vl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=wl(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=xl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=yl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=zl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);Al(c[q>>2]|0);Bl(l);i=s;return c[r>>2]|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;TR(f|0,1920,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Qe(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Oe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ql(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=jm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=pl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(m,1,e,C)|0;e=c[l>>2]|0;m=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(e,2,m,C)|0;if(100==(te(c[l>>2]|0)|0)){e=De(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Yd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=aS(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=RR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=aS(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=pl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(a,1,f,C)|0;if(100==(te(c[n>>2]|0)|0))c[m>>2]=Ce(c[n>>2]|0,0)|0;c[o>>2]=Yd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=hm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ql(c[G>>2]|0);else c[H>>2]=Rl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(eR(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(eR(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Ul(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Vl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Tl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Wl(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Wl(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Xl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=QR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Jl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Yl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Kl(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;TR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Tl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function wl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=pl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(te(c[w>>2]|0)|0)){e=De(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Yd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Ml(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Jl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Jl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Jl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=RR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Fl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Nl(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Jl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Jl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=RR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Kl((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;TR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);TR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function xl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Ll(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=pl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Le(p,1,a,C)|0;a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Le(a,2,p,C)|0}}else{c[r>>2]=pl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=sl(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Le(a,1,p,C)|0}}if(!(c[r>>2]|0)){te(c[q>>2]|0)|0;c[r>>2]=Yd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function yl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=RR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Fl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=Gl(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Hl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function zl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=pl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=_R(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=RR(f|0,C|0,1,0)|0;f=aS(f|0,C|0,1024,0)|0;f=QR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=aS(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=_R(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Le(j,1,a,C)|0;a=n;Le(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(te(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;El(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Yd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=pl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Le(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(te(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Ke(a,1,u)|0;u=c[r>>2]|0;Ke(u,2,Ce(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Ke(u,3,Ce(c[q>>2]|0,1)|0)|0;te(c[r>>2]|0)|0;c[t>>2]=Yd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Yd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Yd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Le(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;te(c[s>>2]|0)|0;c[t>>2]=Yd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function Al(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Dl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function Bl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Cl(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Cl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Dl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Dl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function El(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Ee(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=aS(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=RR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=aS(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Fl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=pl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Le(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Gl(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Il(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Il(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Fl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=RR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=Gl(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Hl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=pl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Le(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Ke(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Le(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Le(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Le(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23153,B)|0;if(c[C>>2]|0){Ne(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Ie(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;te(c[z>>2]|0)|0;c[A>>2]=Yd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Il(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Jl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Kl((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=pl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Le(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Le(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;te(c[f>>2]|0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Ml(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Jl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Jl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Kl((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;TR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];TR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Nl(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Nl(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ql(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Rl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){TR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ql(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=gm(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=cm(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}TR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=$l(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=eR(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=eR(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);TR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Vl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;am(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=cm(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=_l(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Wl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}am(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=bm(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=cm(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(_l(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=QR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=RR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Xl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=$l(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}VR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Yl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Zl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=_l(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Kl((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Zl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=WR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=RR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function $l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function am(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;em(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=QR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];fm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=_l(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=aS(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=RR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];dm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function bm(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=bm(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];TR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];_l(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function gm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23163,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23175,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function hm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Rl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=im(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ql(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Tl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=eR(a,d,c[g>>2]|0)|0;else c[h>>2]=eR(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function jm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=km(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=lm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=mm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=te(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=De(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=De(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=De(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Ae(c[A>>2]|0,4)|0;c[F>>2]=ze(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=nm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=om((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=lm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Yd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function km(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(eR(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)dR(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Gk(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){VR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;TR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Cl(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function mm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=pl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Le(k,1,f,C)|0;f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Le(f,2,k,C)|0}}else{c[n>>2]=pl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=sl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Le(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function nm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)$l(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=pm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=gm(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=gm(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=nm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function om(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];TR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=QR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function pm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=_l(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=$l(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}TR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=eR(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=RR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=eR(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=23427;c[n>>2]=23431;c[m>>2]=23436;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){ie(d,23447,-1);i=p;return}if(vm(d,20486,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=ce(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=ce(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=$d(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=$d(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=$d(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){se(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){me(d,18402,-1,0);i=p;return}if(tn(d,c[l>>2]|0)|0){i=p;return}Yn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(vm(c[e>>2]|0,20494,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(tn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Un(c[e>>2]|0,c[f>>2]|0);i=g;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(vm(c[e>>2]|0,20512,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Sn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,23331,-1,0);i=j;return}case 101:{me(c[e>>2]|0,23347,-1,0);i=j;return}default:{qe(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(vm(c[e>>2]|0,20502,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;wm(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function vm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((ee(c[k>>2]|0)|0)==4?(ae(c[k>>2]|0)|0)==4:0){d=_d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23302,n)|0;ie(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23237;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){xm(e,c[g>>2]|0,c[j>>2]|0);ym(c[h>>2]|0);i=k;return}else{fe(e,18402,0,0);i=k;return}}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){zm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=Am(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(Bm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Cm(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){ie(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Dm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Em(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Fm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Gm(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;fe(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}qe(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function ym(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function zm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Am(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Nm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function Bm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Fk(f,23267,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=kR(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}VR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);TR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Em(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)TR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Hm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=_l(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=_R(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=RR(f|0,0,e|0,C|0)|0;f=s;f=_R(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Im(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=ze(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=_l(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Km(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;VR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Lm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Jm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Hm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Nm(c[w>>2]|0,154,c[j>>2]|0)|0;Om(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Nm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Cm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Yd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Gm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;TR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Hm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Pn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=ze(c[n>>2]|0,0)|0;o=_l(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Im(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=On(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Nm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}VR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Nm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Qm(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Mn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Mn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Lm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Lm(c[b+12>>2]|0,c[f>>2]|0);Lm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{Kn(b,c[f>>2]|0);i=g;return}}function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Hn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=Gn(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=tn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=un(c[d>>2]|0)|0;c[f>>2]=0==(vn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;wn(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Qm(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Rm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0}function Qm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Sm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Tm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Tm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Um(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=QR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=aS(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;am(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Zl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=$l(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Rm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Vm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)cn(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=dn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Sm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Sm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return} +function Rp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Mp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Mp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Yp(c[f>>2]|0,s,24745,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Yp(p,s,24751,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Yp(p,s,24731,l)}}else{if(c[e>>2]|0){b=Xp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=18402;Yp(c[f>>2]|0,s,24710,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Yp(b,s,24716,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=24738;Yp(p,s,24731,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?18402:24760;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Yp(e,s,24769,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Xp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=18402;Yp(c[g>>2]|0,n,20275,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Yp(b,n,24694,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Yp(c[g>>2]|0,n,24701,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Up(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24319,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24345,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24357,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;nl(g,s,24368,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;nl(g,s,24401,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;nl(g,s,24473,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;nl(g,s,24626,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}bp(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24299,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){te(c[f>>2]|0)|0;h=Ce(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Xd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24224;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24233,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24238,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24245,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Xp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((kR(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Yp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(24705,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Zp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ue(c[e>>2]|0)|0;c[o>>2]=$d(c[c[f>>2]>>2]|0)|0;c[h>>2]=(ae(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!($p(c[e>>2]|0)|0)){ie(c[e>>2]|0,25030,-1);i=p;return}c[g>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){ie(c[e>>2]|0,24993,-1);i=p;return}else{c[l>>2]=c[(_d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=lk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;ie(c[e>>2]|0,25016,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ek(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(20595,m)|0;ie(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);fe(c[e>>2]|0,l,4,-1);i=p;return}function $p(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=ve(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)qk(c[(c[g>>2]|0)+12>>2]|0);qk(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}pk(c[f>>2]|0);i=k;return}function bq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=cq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}qk(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Hk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];dq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function cq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function fq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function hq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25052+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);jq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){kq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(lq(r,25132,25137,0)|0)==0:0)?(lq(r,25140,25144,0)|0)==0:0)?(lq(r,25137,25137,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(lq(r,25146,25150,172)|0)){if((lq(r,25153,18402,173)|0)==0?(lq(r,25157,18402,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(lq(r,25160,25163,0)|0)==0:0)?(lq(r,25167,25170,0)|0)==0:0)?(lq(r,25174,25177,0)|0)==0:0){if((((oq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((pq(c[r>>2]|0)|0)!=0?(qq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(nq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(lq(r,25181,25163,172)|0))lq(r,25189,25196,172)|0;break}case 99:{if(!(lq(r,25201,25206,172)|0))lq(r,25211,25216,172)|0;break}case 101:{lq(r,25221,25177,172)|0;break}case 103:{lq(r,25226,25231,172)|0;break}case 108:{if((((lq(r,25235,25170,172)|0)==0?(lq(r,25239,25244,172)|0)==0:0)?(lq(r,25247,25253,172)|0)==0:0)?(lq(r,25257,25261,172)|0)==0:0)lq(r,25263,25269,172)|0;break}case 111:{if((lq(r,25273,25177,172)|0)==0?(lq(r,25281,25163,172)|0)==0:0)lq(r,25287,25163,172)|0;break}case 115:{if(((lq(r,25292,25244,172)|0)==0?(lq(r,25298,25306,172)|0)==0:0)?(lq(r,25310,25318,172)|0)==0:0)lq(r,25322,25269,172)|0;break}case 116:{if((lq(r,25330,25244,172)|0)==0?(lq(r,25336,25306,172)|0)==0:0)lq(r,25342,25170,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((lq(r,25349,25355,172)|0)==0?(lq(r,25358,18402,172)|0)==0:0)lq(r,25364,25244,172)|0;break}case 105:{lq(r,25370,25355,172)|0;break}case 108:{if(!(lq(r,25376,25355,172)|0))lq(r,25381,18402,172)|0;break}case 115:{lq(r,25385,18402,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(rq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(rq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(rq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(lq(r,25390,18402,174)|0)==0:0)?(lq(r,25396,18402,174)|0)==0:0)lq(r,25401,18402,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(rq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;lq(r,25405,18402,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(lq(r,25409,18402,174)|0))lq(r,25413,18402,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(rq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(rq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((pq(g)|0)!=0?(qq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((rq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=kR(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function kq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function lq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function mq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function nq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(tq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(tq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((tq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(sq((c[d>>2]|0)+1|0)|0)!=0:0)d=(tq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(sq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(tq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function sq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[25417+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=tq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function tq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[25417+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(sq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function uq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}VR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=kR(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(Aq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function vq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function xq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function yq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(zq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function zq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function Aq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=kR(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(18672,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=kR(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=kR(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,25453)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){VR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;TR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Ok(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Fk(c[n>>2]|0,25522,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Cq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Xd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];ym(c[e>>2]|0);Bl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Gq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}Bl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);VR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=$d(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(18391,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=ae(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=$d(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(18391,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=ce(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ql(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=ul(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Hq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Hq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=RR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=vl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=eR(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Lq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}VR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=_l((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Lq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Iq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{me(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){je(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{me(e,25451,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{je(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){VR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=kR(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(eR(25728,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(eR(25748,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(eR(25768,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(eR(25780,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Xq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Nq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Nq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Oq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=kR(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Pq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Qq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Sq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[25563+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Rq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Tq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vq(c[e>>2]|0)|0;a=a^(Wq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Sq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[9798+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=9798+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[10450+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Uq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Uq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;TR(j|0,10604,202)|0;b=h;d=25627;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Vq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2384+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2400+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2400+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2400+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Xq(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[25563+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Vq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Tq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=sh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Zq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function _q(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function $q(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Ut(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Vt(c[d>>2]|0)|0)<=1){i=f;return}Wt(c[e>>2]|0)|0;i=f;return}function ar(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=st()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(tt(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=qh(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ch(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=_q(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=ot(51006)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;TR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)TR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;TR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=25989;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);TR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[25999]|0;a[L+1>>0]=a[26e3]|0;a[L+2>>0]=a[26001]|0;a[L+3>>0]=a[26002]|0;a[L+4>>0]=a[26003]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Ur(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=bs(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(as(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26005,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26012,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Vi(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=vt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){or(c[(c[C>>2]|0)+64>>2]|0);$i(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;as(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function br(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;aj(c[f>>2]|0);i=e;return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;VR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=es(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function dr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=rt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Ts(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function fr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function gr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function hr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Yj();ir(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Zi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)kr(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;mr(b,lr(c[e>>2]|0)|0)|0}nr(c[e>>2]|0)}Zj();or(c[(c[e>>2]|0)+68>>2]|0);or(c[(c[e>>2]|0)+64>>2]|0);$i(c[f>>2]|0);pr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function ir(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function jr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Rs(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Ss(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Ts(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Us(c[h>>2]|0,0,0)}}while(0);Vs(c[h>>2]|0,c[n>>2]|0);or(c[(c[h>>2]|0)+8>>2]|0);if(c[n>>2]|0){Yj();xr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Zj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function kr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+4|0;e=h;c[g>>2]=b;pj(c[(c[g>>2]|0)+60>>2]|0);c[(c[g>>2]|0)+60>>2]=0;sr(c[g>>2]|0);j=(Br(c[g>>2]|0)|0)!=0;b=c[g>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[g>>2]|0)+64>>2]>>2]|0)b=bs(c[(c[g>>2]|0)+64>>2]|0)|0;else b=0;c[e>>2]=b;if(!(0!=(c[e>>2]&2048|0)?1==(d[(c[g>>2]|0)+5>>0]&5|0):0))or(c[(c[g>>2]|0)+68>>2]|0);c[f>>2]=Fr(c[g>>2]|0,0)|0;if((c[f>>2]|0)!=0?(d[(c[g>>2]|0)+17>>0]|0)==6:0)a[(c[g>>2]|0)+18>>0]=5;a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}}else{Qs(c[b+216>>2]|0);a[(c[g>>2]|0)+17>>0]=0}if(!(c[(c[g>>2]|0)+44>>2]|0)){j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}b=c[g>>2]|0;if(!(d[(c[g>>2]|0)+13>>0]|0)){Zi(b);a[(c[g>>2]|0)+19>>0]=0;a[(c[g>>2]|0)+17>>0]=0}else a[(c[g>>2]|0)+17>>0]=(c[c[b+68>>2]>>2]|0)!=0?0:1;c[(c[g>>2]|0)+44>>2]=0;j=c[g>>2]|0;j=j+80|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+88|0;f=j;c[f>>2]=0;j=j+4|0;c[j>>2]=0;j=c[g>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function lr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=vr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Xi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function mr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function nr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Yj();qr(c[e>>2]|0)|0;Zj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))rr(c[e>>2]|0,0,0)|0}while(0);kr(c[e>>2]|0);i=f;return}function or(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){i=d;return}Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;i=d;return}function pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function qr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(Br(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Vr(b,2,-1)|0;c[j>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Wr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=rr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=mr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+24|0;k=o+20|0;g=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[k>>2]|0)+17>>0]|0)<2?(d[(c[k>>2]|0)+18>>0]|0)<2:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}sr(c[k>>2]|0);a:do if(c[c[(c[k>>2]|0)+68>>2]>>2]|0){b=(tr(c[(c[k>>2]|0)+68>>2]|0)|0)!=0;f=c[k>>2]|0;if(b){or(c[f+68>>2]|0);break}e=c[k>>2]|0;if((d[f+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=ur(c[(c[k>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[k>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=vr(c[(c[k>>2]|0)+68>>2]|0,d[(c[k>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if((d[(c[k>>2]|0)+4>>0]|0)!=0?(d[(c[k>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[k>>2]|0)+13>>0]|0)!=0^1)&1;or(c[(c[k>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=xr(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+180>>2]|0,d[(c[k>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)f=1;else f=(d[(c[k>>2]|0)+13>>0]|0)!=0;c[m>>2]=wr(c[k>>2]|0,f&1)|0;h=(c[k>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);pj(c[(c[k>>2]|0)+60>>2]|0);c[(c[k>>2]|0)+60>>2]=0;c[(c[k>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(yr(c[k>>2]|0,c[l>>2]|0)|0)!=0;f=c[(c[k>>2]|0)+212>>2]|0;if(h)zr(f);else Ar(f);fj(c[(c[k>>2]|0)+212>>2]|0,c[(c[k>>2]|0)+28>>2]|0)}if(!(Br(c[k>>2]|0)|0)){if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[(c[k>>2]|0)+36>>2]|0)>>>0>(c[(c[k>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=Dr(c[k>>2]|0,c[(c[k>>2]|0)+28>>2]|0)|0}else c[n>>2]=Cr(c[(c[k>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[l>>2]|0)!=0?(c[c[(c[k>>2]|0)+64>>2]>>2]|0)!=0:0){l=Ai(c[(c[k>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[k>>2]|0)+4>>0]|0)){if((Br(c[k>>2]|0)|0)!=0?(Er(c[(c[k>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Fr(c[k>>2]|0,1)|0;a[(c[k>>2]|0)+19>>0]=0}while(0);a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+20>>0]=0;c[j>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[j>>2]|0;i=o;return n|0}function sr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;pj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(tr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))or(c[(c[d>>2]|0)+72>>2]|0);Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function tr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4028|0}function ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=ur(e,0,0)|0;else c[j>>2]=Ig(e,25846,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=vr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Xi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=ur(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function xr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function yr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Lr(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=h;return c[e>>2]|0}function zr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;gj(c[d>>2]|0)}i=e;return}function Ar(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Br(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function Cr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Kr(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function Dr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=RR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];VR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=QR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Ig(a,j,n,o,C)|0}}else{o=h;c[k>>2]=ur(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Er(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Ir(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Hr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Fr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Gr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ir(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Jr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Kr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Jr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f+8|0;d=f+4|0;b=f;c[g>>2]=a;c[d>>2]=0;c[b>>2]=cj(c[g>>2]|0)|0;c[e>>2]=c[c[g>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=c[(c[e>>2]|0)+32>>2]}if(!(c[b>>2]|0)){g=0;i=f;return g|0}e=c[d>>2]|0;e=aS(e|0,((e|0)<0)<<31>>31|0,100,0)|0;g=c[b>>2]|0;g=_R(e|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;i=f;return g|0}function Mr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Sr(c[d>>2]|0);i=b;return 0}function Nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;h=r+44|0;j=r+8|0;o=r+40|0;q=r+36|0;n=r+32|0;k=r+28|0;p=r+24|0;g=r;l=r+20|0;m=r+16|0;c[t>>2]=a;c[s>>2]=b;c[h>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;c[o>>2]=c[t>>2];c[q>>2]=c[s>>2];c[n>>2]=c[h>>2];d=(c[o>>2]|0)+40|0;a=j;b=j;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[p>>2]=c[(c[o>>2]|0)+16>>2];while(1){if(!(c[p>>2]|0))break a;a=g;s=c[(c[o>>2]|0)+4>>2]|0;s=RR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=j;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[o>>2]|0)+4>>2]|0;t=g;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[p>>2]=c[c[p>>2]>>2]}}else c[p>>2]=c[(c[o>>2]|0)+40+8>>2];while(0);s=j;t=c[(c[o>>2]|0)+4>>2]|0;t=$R(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[k>>2]=t;do{c[l>>2]=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0);if((c[n>>2]|0)<((c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[n>>2]|0;else e=(c[(c[o>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[m>>2]=e;TR(c[q>>2]|0,(c[p>>2]|0)+4+(c[k>>2]|0)|0,c[m>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[l>>2]|0);c[k>>2]=0;if((c[n>>2]|0)<0)break;t=c[c[p>>2]>>2]|0;c[p>>2]=t}while((t|0)!=0&(c[n>>2]|0)>0);if(!(c[p>>2]|0)){n=0;t=0;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}t=j;n=c[h>>2]|0;n=RR(c[t>>2]|0,c[t+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;t=C;s=c[o>>2]|0;s=s+40|0;q=s;c[q>>2]=n;s=s+4|0;c[s>>2]=t;s=c[p>>2]|0;t=c[o>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;i=r;return 0}function Or(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=RR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Tr(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Ig(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=$R(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}TR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=RR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=RR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Sr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Qr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Ur(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=RR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=QR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Ig(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=RR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Sr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}or(c[k>>2]|0);a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Ur(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;pj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((Br(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=qs(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(tr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=ur(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Xi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Yr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Zr(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=QR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=RR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=QR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=Dr(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Zi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=_r(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Xr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Kg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=rr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=$r(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,25874,r);s=c[m>>2]|0;as(s);s=c[p>>2]|0;i=t;return s|0}function Xr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Xi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=fs(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=fs(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=es(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(eR(k,25901,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=QR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=QR(d|0,C|0,c[m>>2]|0,0)|0,d=es(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Zr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ps(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=es(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(eR(n,25901,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=fs(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=fs(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=fs(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=RR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=fs(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=RR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=fs(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Vi(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=RR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function _r(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;q=B+56|0;l=B+52|0;m=B+48|0;r=B+44|0;n=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;o=B+24|0;s=B+20|0;p=B+16|0;t=B+12|0;u=B;x=B+8|0;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;c[r>>2]=j;c[n>>2]=k;c[s>>2]=c[(c[q>>2]|0)+208>>2];j=c[q>>2]|0;if(c[r>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[p>>2]=j;f=c[l>>2]|0;c[A>>2]=fs(c[p>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[p>>2]|0;h=c[s>>2]|0;g=c[(c[q>>2]|0)+160>>2]|0;f=c[l>>2]|0;f=RR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=es(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[q>>2]|0)+160>>2]|0)+4+(c[r>>2]<<2)|0;f=c[l>>2]|0;h=f;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[384]|0)/(c[(c[q>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[q>>2]|0)+28>>2]|0)>>>0?(nj(c[m>>2]|0,c[v>>2]|0)|0)==0:0){if(c[r>>2]|0){f=c[p>>2]|0;p=c[l>>2]|0;p=QR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0;c[A>>2]=fs(f,p,C,o)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[n>>2]|0)==0?(p=gs(c[q>>2]|0,c[s>>2]|0)|0,(p|0)!=(c[o>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[m>>2]|0)!=0?(p=lj(c[m>>2]|0,c[v>>2]|0)|0,c[A>>2]=p,(p|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[q>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[q>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(Br(c[q>>2]|0)|0)c[z>>2]=0;else c[z>>2]=hs(c[q>>2]|0,c[v>>2]|0)|0;if(c[r>>2]|0){if(d[(c[q>>2]|0)+7>>0]|0)j=1;else{p=c[l>>2]|0;n=c[p+4>>2]|0;j=(c[q>>2]|0)+88|0;o=c[j+4>>2]|0;j=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[q>>2]|0)+64>>2]>>2]|0){if((d[(c[q>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[q>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[q>>2]|0)+160>>2]|0;p=aS((c[v>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=p;c[t+4>>2]=C;c[A>>2]=Ig(c[(c[q>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[q>>2]|0)+36>>2]|0)>>>0)c[(c[q>>2]|0)+36>>2]=c[v>>2];if(c[(c[q>>2]|0)+96>>2]|0){is(c[(c[q>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[r>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=vg(c[q>>2]|0,c[v>>2]|0,z,1)|0;w=(c[q>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){js(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];TR(c[x>>2]|0,c[s>>2]|0,c[(c[q>>2]|0)+160>>2]|0)|0;Qb[c[(c[q>>2]|0)+204>>2]&255](c[z>>2]|0);if((c[v>>2]|0)==1){h=(c[q>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}ks(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function $r(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Ur(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Xi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=RR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=RR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=RR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=es(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Yr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Ur(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Xr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;or(c[l>>2]|0);if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(hR(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}or(c[m>>2]|0);c[o>>2]=xr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}or(c[m>>2]|0);Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function as(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((bs(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=cs(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function bs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function cs(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=ds(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function ds(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=es(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=gr(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function gs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ms(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ns(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}ls(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function js(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;hj(c[d>>2]|0,2);i=f;return}function ks(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){ij(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=xg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function ms(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;l=g+8|0;h=g+4|0;f=g;c[k>>2]=a;c[j>>2]=b;c[l>>2]=e;c[h>>2]=c[l>>2]&(d[(c[k>>2]|0)+33>>0]|0);c[f>>2]=Ob[c[144>>2]&255](c[(c[k>>2]|0)+44>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return c[f>>2]|0}function ns(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=os(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function os(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[h>>2]=d;c[g>>2]=e;c[k>>2]=c[(c[g>>2]|0)+4>>2];d=(c[k>>2]|0)+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[c[k>>2]>>2]=c[g>>2];c[(c[k>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+40;VR(c[(c[k>>2]|0)+8>>2]|0,0,c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[k>>2]|0)+28>>2]=c[j>>2];c[(c[k>>2]|0)+20>>2]=c[h>>2];b[(c[k>>2]|0)+24>>1]=1;d=ns(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return d|0}function ps(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=_R(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=RR(h|0,C|0,1,0)|0;h=aS(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=kj(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(Br(c[f>>2]|0)|0)!=0:0){c[e>>2]=rs(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(Br(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Zr(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=RR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=_R(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=_r(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=aS(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(Br(c[f>>2]|0)|0)c[p>>2]=ss(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=_r(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);pj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function rs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=zs(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=As(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ys(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];ts(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function ts(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;vs(a,us(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));VR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function us(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function vs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=ws(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function ws(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){VR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=xs(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function xs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=hs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((Fs(c[f>>2]|0)|0)==1){Gs(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Hs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Is(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Js(c[f>>2]|0)}while(0);dj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function zs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=Ds(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=Es(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}ts(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function As(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=Bs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function Bs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=Cs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=32)break;if(c[f+(c[g>>2]<<2)>>2]|0){if(c[h>>2]|0)a=Cs(c[h>>2]|0,c[f+(c[g>>2]<<2)>>2]|0)|0;else a=c[f+(c[g>>2]<<2)>>2]|0;c[h>>2]=a}c[g>>2]=(c[g>>2]|0)+1}i=j;return c[h>>2]|0}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1)if((c[(c[d>>2]|0)+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[d>>2]|0)){a=4;break}else continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[e>>2]|0)){a=6;break}else continue}if((a|0)==4){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==6){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function Ds(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=us(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function Fs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Gs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)hj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Hs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=us(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=us(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=vs(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Os(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ps(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Qj(56344)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ns(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=aS((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=es(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Js(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32){Ks(a);f=c[b>>2]|0;Ls(f);i=d;return}else{ks(a);f=c[b>>2]|0;Ls(f);i=d;return}}function Ks(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=aS((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ms(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Ls(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Wi(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}nr(c[b>>2]|0);i=d;return}function Ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ns(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=aS((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=RR(32,0,f|0,C|0)|0;f=RR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=es(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Os(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ps(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Qs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;Cr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Ir(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ss(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Xs(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ys(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Zs(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ms(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=_s(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Qj(57049)|0;else c[y>>2]=$s(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(at(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}Cr(c[v>>2]|0)|0;Kr(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Yj();c[g>>2]=Xi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=ur(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Zj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,25909,j);i=k;return}function Vs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Ws(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Jr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ys(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Xs(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Zs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=ws(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=mt(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Hr(e,0)|0;c[l>>2]=k;if(k)break;Ir(c[g>>2]|0,0);c[l>>2]=264;break}b=Xs(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=ws(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=mt(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=nt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Kr(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=ot(55897)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function _s(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function $s(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=_s(c[j>>2]|0)|0;c[y>>2]=at(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=bt(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Kr(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=vr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=aS(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Xi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Ts(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(ct(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=aS((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=RR(32,0,g|0,C|0)|0;g=RR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=es(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=aS((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Ig(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(Ds(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=aS(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=ur(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=vr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Kr(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ys(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){dt(c[j>>2]|0,c[B>>2]|0);c[A>>2]=ur(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Kr(c[j>>2]|0,4,4)}}while(0);et(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function at(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function bt(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(us(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}VR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=vs(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}kt(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)et(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=at(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;ft(b,1+(gr(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];gt(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function ft(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function gt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=Ds(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ht(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));it(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function it(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}jt(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);lt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function lt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];TR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function mt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=Ds(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));it(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(eR(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ht(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(eR((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function nt(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Xs(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Xi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=gr(j)|0;c[A>>2]=gr(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=gr(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ht((d[(c[h>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(gr(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(gr(j+28|0)|0)):0){c[D>>2]=gr(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=ot(54951)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=RR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=es(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=pt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=qt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=RR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];gt(c[h>>2]|0);c[w>>2]=at(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,25952,B)}}}while(0);Kr(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function ot(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Rj(14,c[d>>2]|0,25935)|0;i=b;return a|0}function pt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(eR((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=gr(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ht(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(gr((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(gr((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=gr((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function qt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=vs(a,us(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);VR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)ts(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Os(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ps(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Qj(54820)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function rt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function st(){return 48}function tt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function ut(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(Br(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=wt(a)|0;if(!(c[j>>2]|0))c[j>>2]=xt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=yt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=zt(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))gj(c[g>>2]|0);c[f>>2]=mr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function vt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=_i(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function wt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Ot(c[d>>2]|0)|0){c[b>>2]=Pt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function xt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[o>>2]=Ht(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;is(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=Ct(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=bs(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ps(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=es(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(eR(j,25901,8)|0):0){b=l;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,26022,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Ig(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=vr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=Dt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);Et(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function zt(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=At(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=aS(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Ts(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=aS((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)Bt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Ig(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;is(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function At(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Ur(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function Bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(gr((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;ft((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);ft((c[(c[d>>2]|0)+4>>2]|0)+96|0,3015001);i=b;return}function Ct(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(Br(c[b>>2]|0)|0):0)c[d>>2]=Ft(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function Dt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ps(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((bs(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[25901]|0;a[n+1>>0]=a[25902]|0;a[n+2>>0]=a[25903]|0;a[n+3>>0]=a[25904]|0;a[n+4>>0]=a[25905]|0;a[n+5>>0]=a[25906]|0;a[n+6>>0]=a[25907]|0;a[n+7>>0]=a[25908]|0;ft((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);ft((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);ft((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);ft((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);ft((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);VR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Ig(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=RR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function Et(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function Ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Gt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Gt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Rs(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ht(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+176|0;u=N+136|0;v=N+132|0;w=N+128|0;x=N+124|0;y=N+120|0;z=N+116|0;A=N+112|0;I=N+108|0;D=N+104|0;G=N+100|0;H=N+96|0;F=N+92|0;L=N+88|0;E=N+40|0;M=N+16|0;p=N+84|0;o=N+80|0;n=N+144|0;m=N+72|0;s=N+64|0;r=N+60|0;q=N+8|0;t=N+56|0;B=N+52|0;J=N+48|0;K=N;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[H>>2]=0;c[F>>2]=0;c[p>>2]=0;c[o>>2]=Ds(c[v>>2]|0)|0;if(eR((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=It(c[v>>2]|0)|0;c[I>>2]=g;if(g){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[D>>2]|0)){ft(n,931071618|(a[968]|0)==0);ft(n+4|0,3007e3);ft(n+8|0,c[w>>2]|0);ft(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ht(1,n,24,0,m);ft(n+24|0,c[m>>2]|0);ft(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[968]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[I>>2]|0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[I>>2]=vr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}}c[M>>2]=c[v>>2];c[M+4>>2]=c[(c[v>>2]|0)+8>>2];l=M+8|0;c[l>>2]=0;c[l+4>>2]=0;c[M+16>>2]=c[A>>2];c[M+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=aS((c[D>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;c[L>>2]=(c[w>>2]|0)+24;c[G>>2]=c[x>>2];while(1){if(!(c[G>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[G>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Hs(c[v>>2]|0,c[(c[G>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=aS((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=RR(32,0,l|0,C|0)|0;l=RR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[G>>2]|0)+4>>2];g=q;c[I>>2]=Ig(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=22;break}g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]&-65}else{c[D>>2]=(c[D>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[G>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=E;c[I>>2]=Jt(M,c[G>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[I>>2]|0){m=27;break}c[H>>2]=c[G>>2];l=c[L>>2]|0;g=E;l=RR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=E;c[g>>2]=l;c[g+4>>2]=C;g=(c[G>>2]|0)+24|0;b[g>>1]=e[g>>1]|64}c[G>>2]=c[(c[G>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==27){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[I>>2]=Kt(c[v>>2]|0,c[D>>2]|0)|0,(c[I>>2]|0)!=0):0){c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){c[B>>2]=1;a:do if(a[(c[v>>2]|0)+49>>0]|0){c[J>>2]=cs(c[(c[v>>2]|0)+8>>2]|0)|0;t=E;s=c[J>>2]|0;s=RR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=QR(s|0,C|0,1,0)|0;t=c[J>>2]|0;t=_R(s|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;J=c[J>>2]|0;J=aS(t|0,C|0,J|0,((J|0)<0)<<31>>31|0)|0;t=M+8|0;c[t>>2]=J;c[t+4>>2]=C;t=M+8|0;J=E;c[B>>2]=((c[t>>2]|0)==(c[J>>2]|0)?(c[t+4>>2]|0)==(c[J+4>>2]|0):0)&1;while(1){t=E;r=c[t+4>>2]|0;J=M+8|0;s=c[J+4>>2]|0;if(!((r|0)<(s|0)|((r|0)==(s|0)?(c[t>>2]|0)>>>0<(c[J>>2]|0)>>>0:0)))break a;J=E;c[I>>2]=Jt(M,c[H>>2]|0,c[y>>2]|0,c[J>>2]|0,c[J+4>>2]|0)|0;if(c[I>>2]|0)break;t=c[L>>2]|0;J=E;t=RR(c[J>>2]|0,c[J+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;J=E;c[J>>2]=t;c[J+4>>2]=C;c[F>>2]=(c[F>>2]|0)+1}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}while(0);if(c[B>>2]|0)c[I>>2]=vr(c[M+4>>2]|0,c[A>>2]&19)|0}if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(M=(c[v>>2]|0)+16|0,L=c[M+4>>2]|0,(L|0)>0|(L|0)==0&(c[M>>2]|0)>>>0>=0):0){M=(c[v>>2]|0)+16|0;E=c[M+4>>2]|0;L=K;c[L>>2]=c[M>>2];c[L+4>>2]=E;L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;E=C;M=(c[v>>2]|0)+16|0;J=c[M+4>>2]|0;if((E|0)>(J|0)|((E|0)==(J|0)?L>>>0>(c[M>>2]|0)>>>0:0)){L=(c[w>>2]|0)+24|0;L=aS((c[D>>2]|0)+(c[F>>2]|0)+1-1|0,0,L|0,((L|0)<0)<<31>>31|0)|0;L=RR(32,0,L|0,C|0)|0;M=K;c[M>>2]=L;c[M+4>>2]=C}M=K;Us(c[v>>2]|0,c[M>>2]|0,c[M+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[D>>2]=c[(c[v>>2]|0)+52+16>>2];c[G>>2]=c[x>>2];while(1){if(!((c[G>>2]|0)!=0?(c[I>>2]|0)==0:0))break;if(e[(c[G>>2]|0)+24>>1]&64){c[D>>2]=(c[D>>2]|0)+1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}c[G>>2]=c[(c[G>>2]|0)+12>>2]}while(1){if(!((c[I>>2]|0)==0?(c[F>>2]|0)>0:0))break;c[D>>2]=(c[D>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+-1;c[I>>2]=qt(c[v>>2]|0,c[D>>2]|0,c[(c[H>>2]|0)+20>>2]|0)|0}if(!(c[I>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[D>>2];if(c[z>>2]|0){M=(c[v>>2]|0)+52+8|0;c[M>>2]=(c[M>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){gt(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[D>>2]}}c[u>>2]=c[I>>2];M=c[u>>2]|0;i=N;return M|0}return 0}function It(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=at(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Xs(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){dt(c[e>>2]|0,c[k>>2]|0);Kr(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Ir(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Nt(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Jt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Lt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Mt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=RR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Mt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=aS((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;b=RR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=gr(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=gr((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=aS((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=es(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=gr(c[g>>2]|0)|0;c[n>>2]=gr((c[g>>2]|0)+4|0)|0;Lt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Ig(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Lt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;ft(c[l>>2]|0,c[q>>2]|0);ft((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[968]|0)==0|0)&1;ht(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ht(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);ft((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);ft((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=RR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=RR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=vr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Ig(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Nt(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;wi(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Zs(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Hr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Ir(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=at(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Hr(c[h>>2]|0,3)|0;it(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=Ds(c[h>>2]|0)|0;u=(eR(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Ir(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Xs(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Kr(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Hr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;it(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=Ds(c[h>>2]|0)|0,(eR(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Ir(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(qj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Pt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Qt(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=aS(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Rt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=RR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Ig(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=St(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Qt(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Tt(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;ft(g,c[k>>2]|0);e=j;e=Ig(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=lj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Tt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Ur(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4028;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ut(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Vt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fs(c[d>>2]|0)|0;i=b;return a|0}function Wt(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Xt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Qj(60006)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Qj(60024)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&536870912){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Qj(60052)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Qj(60057)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Qj(60077)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Qj(60084)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Qj(60098)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Xt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Qj(59964)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Yt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Zt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=WR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=WR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function _t(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function $t(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((cu((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function au(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){bu(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function bu(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function cu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function du(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function eu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=fu(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function fu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Ss(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function gu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1092+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function iu(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=ju(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function ju(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=bh(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ch(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[25563+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Xg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=ku(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function ku(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(lu(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function nu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)tu(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)tu(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}uu(c[b>>2]|0);i=k;return}function ou(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,68);i=b;return 0} +function vJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function wJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=XH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}ZK(c[e>>2]|0,0,0,1);c[j>>2]=_K(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function xJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;TK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);UK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))VK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function yJ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wJ(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function zJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Uj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function AJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Uj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];FH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function BJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Uj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=$B(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function CJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=JF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Yi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[384]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)KK(p,c[m>>2]|0);c[p+28>>2]=41095;v=gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;LK(p,1,v,gr((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)MK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);NK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(OK(p,c[m>>2]|0)|0)){v=VF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];PK(p,41111,r)}while(0);if(((OK(p,c[m>>2]|0)|0)!=0?(v=VF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];PK(p,41133,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);$i(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){xA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}xA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function DJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Xg(c[e>>2]|0);d=Vw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=ku(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=JK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function EJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=HK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){d=c[h+4>>2]|0;a=c[k>>2]|0;f=c[a+4>>2]|0;if((d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function FJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=DK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}k=c[(c[g>>2]|0)+8>>2]|0;a=c[k+4>>2]|0;d=c[h>>2]|0;c[d>>2]=c[k>>2];c[d+4>>2]=a;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))oG(c[g>>2]|0);c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}function GJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=DK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}FK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=GK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=HK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=EK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function HJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function IJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function JJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[f>>2]=0;c[g>>2]=Gt(c[e>>2]|0,1)|0;if(!(c[g>>2]|0))c[g>>2]=Yr(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,f)|0;if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=yK(c[e>>2]|0)|0}if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=zK(c[e>>2]|0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=jr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;aj(c[e>>2]|0);if(!(c[g>>2]|0)){g=c[g>>2]|0;i=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[g>>2]|0;i=h;return g|0}Fr(c[e>>2]|0,1)|0;g=c[g>>2]|0;i=h;return g|0}function KJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){or(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=rK(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Gt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))xr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Fr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;kr(c[f>>2]|0);break}if((c[g>>2]|0)==2)or(c[(c[f>>2]|0)+68>>2]|0)}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function LJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;o=D+24|0;n=D+16|0;m=D+8|0;l=D;q=D+92|0;j=D+88|0;r=D+84|0;g=D+80|0;y=D+76|0;w=D+72|0;x=D+68|0;z=D+64|0;B=D+60|0;C=D+56|0;A=D+96|0;v=D+52|0;h=D+48|0;u=D+44|0;k=D+40|0;p=D+36|0;t=D+32|0;s=D+28|0;c[j>>2]=b;c[r>>2]=e;c[g>>2]=f;c[y>>2]=0;c[v>>2]=0;if(!(a[(c[r>>2]|0)+67>>0]|0)){Cj(c[j>>2]|0,c[r>>2]|0,40519);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}if((c[(c[r>>2]|0)+156>>2]|0)>1){Cj(c[j>>2]|0,c[r>>2]|0,40559);c[q>>2]=1;C=c[q>>2]|0;i=D;return C|0}c[z>>2]=c[(c[r>>2]|0)+24>>2];c[B>>2]=c[(c[r>>2]|0)+88>>2];c[C>>2]=c[(c[r>>2]|0)+92>>2];a[A>>0]=a[(c[r>>2]|0)+76>>0]|0;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]|270542848;b=(c[r>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655489;a[(c[r>>2]|0)+76>>0]=0;c[p>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[w>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];c[h>>2]=kK(Pf(c[w>>2]|0)|0)|0;c[k>>2]=c[(c[r>>2]|0)+20>>2];c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,40602)|0;a:do if(((c[y>>2]|0)==0?(c[v>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[k>>2]<<4),c[x>>2]=c[(c[v>>2]|0)+4>>2],Gj(c[x>>2]|0)|0,c[u>>2]=mK(c[w>>2]|0)|0,Ej(c[x>>2]|0,c[(c[(c[(c[r>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+80>>2]|0)|0,b=c[x>>2]|0,uC(b,uC(c[w>>2]|0,0)|0)|0,WB(c[x>>2]|0,33)|0,c[y>>2]=lK(c[r>>2]|0,c[j>>2]|0,37527)|0,(c[y>>2]|0)==0):0)?(c[y>>2]=pg(c[w>>2]|0,2)|0,(c[y>>2]|0)==0):0){if((tg(Pf(c[w>>2]|0)|0)|0)==5)c[(c[r>>2]|0)+80>>2]=0;f=c[x>>2]|0;b=sg(c[w>>2]|0)|0;do if(!(Ci(f,b,c[u>>2]|0,0)|0)){if((c[h>>2]|0)==0?(Ci(c[x>>2]|0,c[(c[r>>2]|0)+80>>2]|0,c[u>>2]|0,0)|0)!=0:0)break;if(!(d[(c[r>>2]|0)+69>>0]|0)){g=c[x>>2]|0;if((a[(c[r>>2]|0)+72>>0]|0)>=0)e=a[(c[r>>2]|0)+72>>0]|0;else e=rC(c[w>>2]|0)|0;tC(g,e)|0;a[(c[r>>2]|0)+148+4>>0]=c[k>>2];b=c[r>>2]|0;k=c[j>>2]|0;c[l>>2]=c[p>>2];c[y>>2]=nK(b,k,40623,l)|0;if(c[y>>2]|0)break a;k=c[r>>2]|0;l=c[j>>2]|0;c[m>>2]=c[p>>2];c[y>>2]=nK(k,l,40731,m)|0;if(c[y>>2]|0)break a;a[(c[r>>2]|0)+148+4>>0]=0;l=c[r>>2]|0;m=c[j>>2]|0;c[n>>2]=c[p>>2];c[y>>2]=nK(l,m,40804,n)|0;n=(c[r>>2]|0)+24|0;c[n>>2]=c[n>>2]&-268435457;if(c[y>>2]|0)break a;m=c[r>>2]|0;n=c[j>>2]|0;c[o>>2]=c[p>>2];c[y>>2]=nK(m,n,40955,o)|0;if(c[y>>2]|0)break a;c[s>>2]=0;while(1){g=c[w>>2]|0;if((c[s>>2]|0)>=10)break;rg(g,d[41085+(c[s>>2]|0)>>0]|0,t);c[y>>2]=Bg(c[x>>2]|0,d[41085+(c[s>>2]|0)>>0]|0,(c[t>>2]|0)+(d[41085+((c[s>>2]|0)+1)>>0]|0)|0)|0;if(c[y>>2]|0)break a;c[s>>2]=(c[s>>2]|0)+2}c[y>>2]=oK(g,c[x>>2]|0)|0;if(c[y>>2]|0)break a;c[y>>2]=Gj(c[x>>2]|0)|0;if(c[y>>2]|0)break a;t=c[w>>2]|0;tC(t,rC(c[x>>2]|0)|0)|0;t=c[w>>2]|0;x=sg(c[x>>2]|0)|0;c[y>>2]=Ci(t,x,c[u>>2]|0,1)|0;break a}}while(0);c[y>>2]=7}while(0);a[(c[r>>2]|0)+148+4>>0]=0;c[(c[r>>2]|0)+24>>2]=c[z>>2];c[(c[r>>2]|0)+88>>2]=c[B>>2];c[(c[r>>2]|0)+92>>2]=c[C>>2];a[(c[r>>2]|0)+76>>0]=a[A>>0]|0;Ci(c[w>>2]|0,-1,-1,1)|0;a[(c[r>>2]|0)+67>>0]=1;if(c[v>>2]|0){LB(c[(c[v>>2]|0)+4>>2]|0)|0;c[(c[v>>2]|0)+4>>2]=0;c[(c[v>>2]|0)+12>>2]=0}Cg(c[r>>2]|0);c[q>>2]=c[y>>2];C=c[q>>2]|0;i=D;return C|0}function MJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=JF(c[g>>2]|0)|0;c[e>>2]=gr((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=ZJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Qj(61866)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=XH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){_J(c[g>>2]|0);c[h>>2]=$J(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Gg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function NJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=WH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=YJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function OJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=WJ(c[e>>2]|0)|0;if((((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),XJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)?(c[(c[j>>2]|0)+80>>2]|0)!=0:0){c[(c[f>>2]|0)+20>>2]=c[h>>2];c[k>>2]=Yb[c[(c[j>>2]|0)+80>>2]&255](c[(c[f>>2]|0)+8>>2]|0,(c[h>>2]|0)-1|0)|0}}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function PJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ti(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=sj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=Jz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Gh(p,30631,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Ux(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=WJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;XJ(p,Ux(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function QJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ti(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=VJ(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;su(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function RJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=UJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function SJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=TJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function TJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function UJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function WJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Uw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function XJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;hI(c[e>>2]|0);i=d;return}function YJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(VF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=VF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function _J(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function $J(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=VF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=gr((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=WF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Qj(61751)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=aK(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){QB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=XF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=aK(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}QB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){QB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=bK(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;QB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[384]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=VF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function aK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=JF(c[m>>2]|0)|0;c[B>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Qj(63793)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=WF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Gg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}ft((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=gr(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=gr((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=iK(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Qj(63849)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=gr((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=iK(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Gg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;ft((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);TR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;QB(c[E>>2]|0);if(!(c[I>>2]|0)){ft((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;ft(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=gr((c[r>>2]|0)+8|0)|0;c[u>>2]=Dj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=gr((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Dj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=gr((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}ft((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(jK(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Gg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);QB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Qj(63878)|0;break}else if((j|0)==40){c[K>>2]=Qj(63912)|0;break}else if((j|0)==43){QB(h);break}else if((j|0)==63){c[K>>2]=Qj(63977)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Gg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=VF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=iK(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Gg(c[(c[l>>2]|0)+72>>2]|0)|0;QB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);ft((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=iK(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Gg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;QB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);QB(c[J>>2]|0);QB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function bK(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=cK(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=gr(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(eK(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=dK(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=XF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Gg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){QB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=fK(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;QB(c[t>>2]|0);if(c[u>>2]|0)break;eK(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function cK(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;k=u+20|0;s=u+16|0;p=u+12|0;t=u+8|0;q=u+4|0;r=u;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[k>>2]=j;c[p>>2]=0;if((a[(c[m>>2]|0)+13>>0]|0)!=0?(c[t>>2]=Gg(c[n>>2]|0)|0,(c[t>>2]|0)!=0):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if((e[(c[n>>2]|0)+24>>1]&2|0)!=0?(h=wt(c[n>>2]|0)|0,c[t>>2]=h,0!=(h|0)):0){c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}if(!((c[k>>2]|0)!=0?1:(e[(c[n>>2]|0)+24>>1]&8|0)==0))c[p>>2]=c[(c[n>>2]|0)+20>>2];h=(c[n>>2]|0)+24|0;b[h>>1]=e[h>>1]&-9;c[s>>2]=hs(c[m>>2]|0,c[o>>2]|0)|0;do if(c[s>>2]|0){k=(c[n>>2]|0)+24|0;b[k>>1]=e[k>>1]|e[(c[s>>2]|0)+24>>1]&8;k=c[s>>2]|0;if(a[(c[m>>2]|0)+13>>0]|0){hK(k,(c[(c[m>>2]|0)+28>>2]|0)+1|0);break}else{Gs(k);break}}while(0);c[q>>2]=c[(c[n>>2]|0)+20>>2];hK(c[n>>2]|0,c[o>>2]|0);js(c[n>>2]|0);if((c[s>>2]|0)!=0?(d[(c[m>>2]|0)+13>>0]|0)!=0:0){hK(c[s>>2]|0,c[q>>2]|0);Js(c[s>>2]|0)}do if(c[p>>2]|0){c[t>>2]=vg(c[m>>2]|0,c[p>>2]|0,r,0)|0;if(!(c[t>>2]|0)){t=(c[r>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;js(c[r>>2]|0);Js(c[r>>2]|0);break}if((c[p>>2]|0)>>>0<=(c[(c[m>>2]|0)+32>>2]|0)>>>0)mj(c[(c[m>>2]|0)+60>>2]|0,c[p>>2]|0,c[(c[m>>2]|0)+208>>2]|0);c[l>>2]=c[t>>2];t=c[l>>2]|0;i=u;return t|0}while(0);c[l>>2]=0;t=c[l>>2]|0;i=u;return t|0}function dK(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Wt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));gK(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=gr(c[n>>2]|0)|0;eK(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=gr((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;eK(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function eK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Qj(59184)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=VF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=vg(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=wg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=gr((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Gg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;ft((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Qj(59195)|0;c[c[n>>2]>>2]=s}while(0);yg(c[q>>2]|0);i=t;return}function fK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=gr(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){ft(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Qj(61581)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Wt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(gr((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=gr(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)ft((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)ft(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=gr((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Qj(61617)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function gK(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=gr((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;eK(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function hK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}hj(c[d>>2]|0,3);i=f;return}function iK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=XF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Vt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}QB(f);c[c[h>>2]>>2]=0;c[g>>2]=Qj(60316)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(oj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(nj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function kK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+13>>0]|0|0}function lK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[j>>2]=af(c[f>>2]|0,c[m>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}while(1){m=te(c[h>>2]|0)|0;c[j>>2]=m;if(100!=(m|0))break;c[k>>2]=Ee(c[h>>2]|0,0)|0;if(!(c[k>>2]|0))continue;c[j>>2]=lK(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0;if(c[j>>2]|0)break}if((c[j>>2]|0)==101)c[j>>2]=0;if(c[j>>2]|0){k=c[g>>2]|0;m=c[f>>2]|0;Cj(k,m,bf(c[f>>2]|0)|0)}Xd(c[h>>2]|0)|0;c[e>>2]=c[j>>2];m=c[e>>2]|0;i=l;return m|0}function mK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=qK(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function nK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;f=l+40|0;g=l+36|0;h=l+32|0;n=l+28|0;k=l+24|0;m=l+8|0;j=l;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[k>>2]=ox(c[g>>2]|0,c[n>>2]|0,m)|0;if(!(c[k>>2]|0)){c[f>>2]=7;n=c[f>>2]|0;i=l;return n|0}else{c[j>>2]=lK(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;Tf(c[g>>2]|0,c[k>>2]|0);c[f>>2]=c[j>>2];n=c[f>>2]|0;i=l;return n|0}return 0}function oK(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Eg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=sg(c[j>>2]|0)|0,d=aS(d|0,((d|0)<0)<<31>>31|0,ug(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=Ai(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{pK(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function pK(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0){i=e;return}Zi(c[b>>2]|0);i=e;return}function qK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function rK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p+28|0;o=p+24|0;f=p+20|0;j=p+16|0;e=p+12|0;h=p+8|0;g=p+4|0;k=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if((Br(c[n>>2]|0)|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[o>>2]=Ft(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=sK(c[n>>2]|0,f)|0;if(!(c[o>>2]|0)){if(c[f>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=Gt(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[n>>2]>>2],c[o>>2]=Yr(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,e)|0,(c[o>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[o>>2]=Ur(c[j>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[o>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[o>>2]=ot(51483)|0;or(c[(c[n>>2]|0)+68>>2]|0)}e=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=lr(e)|0;if(!(c[o>>2]|0)){c[o>>2]=Wr(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Fr(c[n>>2]|0,1)|0;if(c[o>>2]|0){mr(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?(d[(c[n>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[o>>2]=tK(c[n>>2]|0,k)|0;if(c[o>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[o>>2]=es(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(eR((c[n>>2]|0)+112|0,m,16)|0)Zi(c[n>>2]|0)}c[o>>2]=uK(c[n>>2]|0)|0;l=32}}}else l=32;while(0);if((l|0)==32){if(Br(c[n>>2]|0)|0)c[o>>2]=vK(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=tK(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}e=c[n>>2]|0;if(c[o>>2]|0){kr(e);o=c[o>>2]|0;i=p;return o|0}else{a[e+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;i=p;return o|0}return 0}function sK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Yr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=CK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=tK(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Yj();if((Gt(c[f>>2]|0,2)|0)==0?(xr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Fr(c[f>>2]|0,1)|0;Zj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Ur(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=es(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))or(c[(c[f>>2]|0)+68>>2]|0);c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function tK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=BK(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[h>>2]|0)==0?(c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0:0){b=g;c[b>>2]=0;c[b+4>>2]=0;c[j>>2]=Xi(c[(c[e>>2]|0)+64>>2]|0,g)|0;if(!(c[j>>2]|0)){j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=RR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=_R(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j;break}c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}while(0);if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function uK(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=tK(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=xr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Yr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=xK(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function vK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Qs(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=wK(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Zi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function wK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Nt(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function xK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(IJ(c[f>>2]|0)|0){or(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=yK(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function yK(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=zK(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=AK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;aj(b);f=c[f>>2]|0;i=g;return f|0}function zK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Gt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Fr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function AK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Ur(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Vs(c[u>>2]|0,0);or(c[(c[u>>2]|0)+8>>2]|0);Kd(c[u>>2]|0)}else{c[t>>2]=bs(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function BK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function DK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;VR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=GK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=c[e>>2];c[f>>2]=1;while(1){if((c[f>>2]|0)>>>0>=40)break;if(c[e+(c[f>>2]<<2)>>2]|0){if(c[d>>2]|0)a=GK(c[d>>2]|0,c[e+(c[f>>2]<<2)>>2]|0)|0;else a=c[e+(c[f>>2]<<2)>>2]|0;c[d>>2]=a}c[f>>2]=(c[f>>2]|0)+1}i=g;return c[d>>2]|0}function EK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=IK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function FK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){FK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){FK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function GK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if(!((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<=(c[b>>2]|0)>>>0:0))){k=c[e>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k;c[e>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[e>>2]|0)){a=8;break}else continue}j=c[d>>2]|0;a=c[j+4>>2]|0;k=c[e>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){k=c[d>>2]|0;c[(c[g>>2]|0)+8>>2]=k;c[g>>2]=k}c[d>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[d>>2]|0)){a=6;break}}if((a|0)==6){c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else if((a|0)==8){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function HK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Vw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function IK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=IK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=IK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}function JK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function KK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function LK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(QK(f,c[r>>2]|0)|0){g=25;break}if(vg(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=wg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=gr(c[m>>2]|0)|0;MK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=gr((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];PK(b,41711,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=gr((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)MK(c[q>>2]|0,c[k>>2]|0,2,0);QK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=gr(c[m>>2]|0)|0;yg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;PK(c[q>>2]|0,41750,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;PK(f,41632,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];PK(v,41689,w);i=x;return}else if((g|0)==25){i=x;return}}function MK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=WF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];PK(q,41549,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;PK(p,41578,q);i=r;return}function NK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(QK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=41169;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=XF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Wt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];PK(ba,41217,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=41255;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=gr((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=41281;MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){PK(c[o>>2]|0,41339,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;PK(m,41363,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=gr((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);LK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=gr(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)MK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=NK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){PK(c[o>>2]|0,41387,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;PK(m,41309,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;RK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];RK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(SK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;PK(ba,41412,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;PK(ba,41449,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];PK(ba,41179,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;QB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function OK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function PK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)sA((c[f>>2]|0)+40|0,41167,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;rA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function QK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;PK(b,41501,e);c[g>>2]=1;break}e=(OK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;PK(a,41524,h);c[g>>2]=1;break}else{KK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function RK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function SK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function TK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;XK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function UK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);VK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)WK(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}WK(c[(c[d>>2]|0)+56>>2]|0);d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function VK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function WK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;or(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function XK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Ms(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;YK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function YK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}TK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function ZK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function _K(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(JF(c[k>>2]|0)|0)>>>0){c[p>>2]=Qj(66688)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=IF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=gr(c[n>>2]|0)|0,c[t>>2]=_K(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=$K(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=gr((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=_K(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){aL(j,t);break}q=Gg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)bL(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Qj(66693)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;QB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function $K(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Qj(64249)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=gr((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(JF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=UF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=eL(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Vt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Qj(64285)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=cL(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)yg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Qj(64265)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function aL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=cL(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function bL(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)VR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Xt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function cL(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Qj(64103)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];dL(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=eL(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;ft((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;VR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(eK(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=gr((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=XF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=gr((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Qj(64156)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Gg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;ft((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);ft((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)fL(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=gL(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=XF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){ft(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);ft((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);ft((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;QB(c[o>>2]|0);QB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function dL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hL(c[d>>2]|0);i=b;return}function eL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=hs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=KF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function fL(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){i=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){i=h;return}if(c[(c[g>>2]|0)+104>>2]|0){i=h;return}d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]|16;d=(c[f>>2]|0)+24|0;b[d>>1]=e[d>>1]&-5;i=h;return}function gL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=kj(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(oj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=lj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function hL(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function iL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Qj(66814)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=XF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=wJ(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){QB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){rg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){aL(d,o);QB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{QB(d);c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=bK(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;QB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=XF(c[l>>2]|0,c[k>>2]|0,m,0)|0;aL(c[m>>2]|0,o);QB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=VF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Bg(c[g>>2]|0,4,c[k>>2]|0)|0}else{aL(c[n>>2]|0,o);QB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function jL(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=kL((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function kL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=lL(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=mL(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;nL(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;oL(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;oL(k,d,((d|0)<0)<<31>>31);pL(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=qL(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function lL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(Bi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=yL(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Ts(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function mL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;k=n+12|0;m=n+8|0;e=n+4|0;f=n;c[h>>2]=a;c[j>>2]=b;c[e>>2]=rL(c[h>>2]|0)|0;if(c[e>>2]|0){c[g>>2]=c[e>>2];m=c[g>>2]|0;i=n;return m|0}c[m>>2]=c[c[j>>2]>>2];e=sL(c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+32>>2]=e;c[k>>2]=kg(256,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;m=c[g>>2]|0;i=n;return m|0}while(1){if(!(c[m>>2]|0))break;b=c[m>>2]|0;do if(c[(c[j>>2]|0)+4>>2]|0)if((b|0)==(c[(c[j>>2]|0)+4>>2]|0)){c[f>>2]=0;break}else{c[f>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);break}else c[f>>2]=c[b+4>>2];while(0);c[(c[m>>2]|0)+4>>2]=0;c[l>>2]=0;while(1){if(!(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0))break;c[m>>2]=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=c[f>>2]}c[m>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;if(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0){if(c[m>>2]|0)b=tL(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;else b=c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0;c[m>>2]=b}c[l>>2]=(c[l>>2]|0)+1}c[c[j>>2]>>2]=c[m>>2];Kd(c[k>>2]|0);c[g>>2]=d[(c[(c[h>>2]|0)+12>>2]|0)+11>>0];m=c[g>>2]|0;i=n;return m|0}function nL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=QR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function oL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=SI(g,c[a>>2]|0,c[a+4>>2]|0)|0;pL(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function pL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);TR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=RR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ig(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function qL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=RR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ig(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=RR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function rL(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=MF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function sL(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function tL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;f=m+4|0;g=m;c[e>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;c[l>>2]=k;c[f>>2]=0;while(1){c[g>>2]=Sb[c[(c[e>>2]|0)+32>>2]&255](c[e>>2]|0,f,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0,(c[j>>2]|0)+8|0,c[c[j>>2]>>2]|0)|0;if((c[g>>2]|0)<=0){c[c[l>>2]>>2]=c[h>>2];c[l>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];if(!(c[h>>2]|0)){e=4;break}else continue}else{c[c[l>>2]>>2]=c[j>>2];c[l>>2]=(c[j>>2]|0)+4;c[j>>2]=c[(c[j>>2]|0)+4>>2];c[f>>2]=0;if(!(c[j>>2]|0)){e=6;break}else continue}}if((e|0)==4){c[c[l>>2]>>2]=c[j>>2];l=c[k>>2]|0;i=m;return l|0}else if((e|0)==6){c[c[l>>2]>>2]=c[h>>2];l=c[k>>2]|0;i=m;return l|0}return 0}function uL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[41789+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function vL(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else bG(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else bG(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=eR(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=xL(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function wL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=$F(a,b,o)|0;i=p;return o|0}function xL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}NF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=aG(a,b,o,1)|0;i=p;return o|0}function yL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Ur(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function zL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=AL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function AL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=BL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=CL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){XK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=DL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=EL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function BL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=HL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function CL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(Bi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Ms(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=FL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=$R(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=RR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=QR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=es(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function DL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(cu((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=RR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=$R(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(cu((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=EL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){cu(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function EL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=RR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=$R(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=QR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=QR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=es(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=RR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);TR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=RR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=EL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;TR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function FL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=GL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function GL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function HL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;nL(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=RR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=RR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=iG(q,((q|0)<0)<<31>>31)|0;q=RR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=RR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;oL(n,r,((r|0)<0)<<31>>31);pL(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=zL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=qL(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function IL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=JL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=KL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}TK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function JL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=OL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=PL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=QL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=PL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=RL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else TK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}TK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function KL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=LL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;ML(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function LL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=NL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function NL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=KL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=lL(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=RR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=AL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function OL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=aS(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function PL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=QL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=TL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}TK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function QL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(Bi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function RL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=SL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=QL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=SL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{YK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function SL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(Bi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){TK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function TL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=CL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=DL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=RR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=AL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function UL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function VL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=WL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function WL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=EF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function XL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function YL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=nM(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{UR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Qj(64508)|0;c[c[n>>2]>>2]=h;i=t;return}function ZL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Gg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=pM(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);TR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)ft((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);UR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}gK(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){TR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)ft(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function _L(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=$L(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=aM(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Yi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=bM(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)$i(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;QB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}$i(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function $L(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Gg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=aK(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,gM(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)eK(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;QB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{TR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;TR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;bL(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);ft((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function aM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Qj(65006)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=aK(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;bL(c[p>>2]|0,13);c[t>>2]=lM(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(eK(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)gK(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);if(!(c[t>>2]|0))ZL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);ft((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);QB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function bM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[K>>2]|0)|0;while(1){c[Aa>>2]=IF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=gr(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}TR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}YL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Qj(65347)|0;VR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ei(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}VR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);TR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Qj(65414)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Qj(65512)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((cM(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((cM(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Qj(65524)|0;break}else if((h|0)==81){c[Aa>>2]=Qj(65557)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);cM(ma,c[F>>2]|0)|0;do{cM(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+((c[pa>>2]|0)==((c[H>>2]|0)-1|0)?0:2))|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Qj(65599)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Gg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=aK(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;bL(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(eK(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Qj(65673)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))dM(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);dM(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}ft(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=gr(c[_>>2]|0)|0;eK(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(cM(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))gK(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(SI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);ZL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=eM(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=fM(c[ka>>2]|0)|0;gM(c[ka>>2]|0,c[ha>>2]|0,Aa);aL(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=gr((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;eK(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;aL(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Fi(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;QB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;QB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function cM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=oM(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function dM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;hK(c[h>>2]|0,c[g>>2]|0);i=f;return}function eM(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=iM(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;UR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=iM(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];UR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),UR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(jM(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);kM(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=lM(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function fM(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=hM(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);TR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;TR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Qj(59617)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Qj(59623)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;VR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Qj(59647)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function gM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];TR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;TR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Wt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=dK(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function hM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function iM(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)nM(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function jM(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(cM(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=mM(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){if(((c[u>>2]|0)-(c[n>>2]|0)|0)<(c[x>>2]|0)){h=7;break}c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));c[v>>2]=c[u>>2]}UR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function kM(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function lM(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=hM(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);TR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}TR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Qj(64716)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function mM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Qj(59680)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Qj(59691)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function nM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;j=y+20|0;k=y+16|0;l=y+32|0;m=y+30|0;u=y+28|0;r=y+26|0;p=y+35|0;w=y+34|0;t=y+24|0;s=y+12|0;q=y+8|0;o=y+4|0;v=y;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[w>>0]=0;b[t>>1]=b[m>>1]|0;c[s>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[q>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[o>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)VR((c[o>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[p>>0]=a[(c[k>>2]|0)+5>>0]|0;b[u>>1]=(d[p>>0]|0)+1;if((d[(c[o>>2]|0)+((e[u>>1]|0)+1)>>0]|0|0)==0?(d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0|0)==0:0)b[r>>1]=0;else x=6;do if((x|0)==6){while(1){x=0;f=((d[(c[o>>2]|0)+(e[u>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]|0))&65535;b[r>>1]=f;if((f&65535|0)>=(e[l>>1]|0|0))break;n=b[r>>1]|0;if((e[r>>1]|0|0)<((e[u>>1]|0)+4|0)){x=8;break}b[u>>1]=n;x=6}if((x|0)==8?(n&65535|0)!=0:0){c[j>>2]=Qj(59854)|0;x=c[j>>2]|0;i=y;return x|0}if((e[r>>1]|0)>>>0>(c[s>>2]|0)>>>0){c[j>>2]=Qj(59858)|0;x=c[j>>2]|0;i=y;return x|0}do if((e[r>>1]|0|0)!=0?((c[q>>2]|0)+3|0)>>>0>=(e[r>>1]|0)>>>0:0){a[w>>0]=(e[r>>1]|0)-(c[q>>2]|0);if((c[q>>2]|0)>>>0>(e[r>>1]|0)>>>0){c[j>>2]=Qj(59869)|0;x=c[j>>2]|0;i=y;return x|0}c[q>>2]=(e[r>>1]|0)+((d[(c[o>>2]|0)+((e[r>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[r>>1]|0)+2)+1>>0]|0));if((c[q>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[q>>2]|0)-(e[l>>1]|0);b[r>>1]=(d[(c[o>>2]|0)+(e[r>>1]|0)>>0]|0)<<8|(d[(c[o>>2]|0)+(e[r>>1]|0)+1>>0]|0);break}c[j>>2]=Qj(59871)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[u>>1]|0|0)>((d[p>>0]|0)+1|0)?(c[v>>2]=(e[u>>1]|0)+((d[(c[o>>2]|0)+((e[u>>1]|0)+2)>>0]|0)<<8|(d[(c[o>>2]|0)+((e[u>>1]|0)+2)+1>>0]|0)),((c[v>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[v>>2]|0)<=(e[l>>1]|0|0)){a[w>>0]=(d[w>>0]|0)+((e[l>>1]|0)-(c[v>>2]|0));b[m>>1]=(c[q>>2]|0)-(e[u>>1]|0);b[l>>1]=b[u>>1]|0;break}c[j>>2]=Qj(59883)|0;x=c[j>>2]|0;i=y;return x|0}while(0);if((d[w>>0]|0|0)<=(d[(c[o>>2]|0)+((d[p>>0]|0)+7)>>0]|0|0)){x=(c[o>>2]|0)+((d[p>>0]|0)+7)|0;a[x>>0]=(d[x>>0]|0)-(d[w>>0]|0);break}c[j>>2]=Qj(59889)|0;x=c[j>>2]|0;i=y;return x|0}while(0);do if((e[l>>1]|0|0)==((d[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]|0)|0)){if((e[u>>1]|0|0)==((d[p>>0]|0)+1|0)){a[(c[o>>2]|0)+((d[p>>0]|0)+1)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+1)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((d[p>>0]|0)+5)>>0]=(c[q>>2]|0)>>>8;a[(c[o>>2]|0)+((d[p>>0]|0)+5)+1>>0]=c[q>>2];break}c[j>>2]=Qj(59896)|0;x=c[j>>2]|0;i=y;return x|0}else{a[(c[o>>2]|0)+(e[u>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[o>>2]|0)+(e[u>>1]|0)+1>>0]=b[l>>1];a[(c[o>>2]|0)+(e[l>>1]|0)>>0]=(e[r>>1]|0)>>8;a[(c[o>>2]|0)+(e[l>>1]|0)+1>>0]=b[r>>1];a[(c[o>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[o>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);x=(c[k>>2]|0)+16|0;b[x>>1]=(e[x>>1]|0)+(e[t>>1]|0);c[j>>2]=0;x=c[j>>2]|0;i=y;return x|0}function oM(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function pM(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Qj(59758)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=mM(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=fM(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function qM(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+76|0;k=E+72|0;l=E+68|0;j=E+64|0;m=E+60|0;r=E+56|0;x=E+52|0;s=E+48|0;p=E+44|0;D=E+40|0;A=E+36|0;u=E+32|0;C=E+28|0;w=E+24|0;v=E+20|0;t=E+16|0;y=E+12|0;q=E+8|0;o=E+4|0;z=E;n=E+80|0;c[k>>2]=b;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[u>>2]=0;c[C>>2]=0;c[t>>2]=c[(c[k>>2]|0)+52>>2];c[y>>2]=0;c[q>>2]=d[(c[k>>2]|0)+6>>0];f=c[j>>2]|0;if(a[(c[k>>2]|0)+2>>0]|0){c[r>>2]=(c[f+20>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);c[x>>2]=c[(c[j>>2]|0)+16>>2];c[s>>2]=c[(c[j>>2]|0)+20>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255);j=(c[j>>2]|0)+8|0;j=SI((c[l>>2]|0)+(c[q>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+j}else{h=c[f+8>>2]|0;c[r>>2]=h;c[s>>2]=h;c[x>>2]=c[c[j>>2]>>2];if((c[r>>2]|0)>>>0<128){a[(c[l>>2]|0)+(c[q>>2]|0)>>0]=c[r>>2];f=1}else{f=c[r>>2]|0;f=SI((c[l>>2]|0)+(c[q>>2]|0)|0,f,((f|0)<0)<<31>>31)|0}c[q>>2]=(c[q>>2]|0)+(f&255)}if((c[r>>2]|0)<=(e[(c[k>>2]|0)+10>>1]|0)){o=(c[q>>2]|0)+(c[r>>2]|0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)<4?4:o;c[c[m>>2]>>2]=c[p>>2];c[A>>2]=c[r>>2];c[w>>2]=c[l>>2]}else{c[o>>2]=e[(c[k>>2]|0)+12>>1];c[p>>2]=(c[o>>2]|0)+((((c[r>>2]|0)-(c[o>>2]|0)|0)>>>0)%(((c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[p>>2]|0)>(e[(c[k>>2]|0)+10>>1]|0))c[p>>2]=c[o>>2];c[A>>2]=c[p>>2];c[c[m>>2]>>2]=(c[p>>2]|0)+(c[q>>2]|0)+4;c[w>>2]=(c[l>>2]|0)+((c[q>>2]|0)+(c[p>>2]|0))}c[v>>2]=(c[l>>2]|0)+(c[q>>2]|0);while(1){if((c[r>>2]|0)<=0){f=35;break}if(!(c[A>>2]|0)){c[z>>2]=c[y>>2];if(a[(c[t>>2]|0)+17>>0]|0)while(1){c[y>>2]=(c[y>>2]|0)+1;q=VF(c[t>>2]|0,c[y>>2]|0)|0;if((q|0)==(c[y>>2]|0))continue;if((c[y>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[D>>2]=aK(c[t>>2]|0,u,y,c[y>>2]|0,0)|0;if(((c[D>>2]|0)==0?(d[(c[t>>2]|0)+17>>0]|0)!=0:0)?(a[n>>0]=(c[z>>2]|0)!=0?4:3,eK(c[t>>2]|0,c[y>>2]|0,a[n>>0]|0,c[z>>2]|0,D),(c[D>>2]|0)!=0):0)QB(c[u>>2]|0);if(c[D>>2]|0){f=25;break}ft(c[w>>2]|0,c[y>>2]|0);QB(c[C>>2]|0);c[C>>2]=c[u>>2];c[w>>2]=c[(c[u>>2]|0)+56>>2];ft(c[w>>2]|0,0);c[v>>2]=(c[(c[u>>2]|0)+56>>2]|0)+4;c[A>>2]=(c[(c[t>>2]|0)+36>>2]|0)-4}c[p>>2]=c[r>>2];if((c[p>>2]|0)>(c[A>>2]|0))c[p>>2]=c[A>>2];if((c[s>>2]|0)>0){if((c[p>>2]|0)>(c[s>>2]|0))c[p>>2]=c[s>>2];TR(c[v>>2]|0,c[x>>2]|0,c[p>>2]|0)|0}else VR(c[v>>2]|0,0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[p>>2]|0);c[x>>2]=(c[x>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)-(c[p>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[p>>2]|0)}if((f|0)==25){QB(c[C>>2]|0);c[B>>2]=c[D>>2];D=c[B>>2]|0;i=E;return D|0}else if((f|0)==35){QB(c[C>>2]|0);c[B>>2]=0;D=c[B>>2]|0;i=E;return D|0}return 0}function rM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}xJ(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function sM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){_J(f);rg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(VF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=aK(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=XH(c[n>>2]|0,0,0)|0;QB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=WF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Qj(66598)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=bK(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;QB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=XF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Gg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];eK(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Bg(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){QB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=aK(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;bL(c[p>>2]|0,c[s>>2]|0);yg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function tM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(uM(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(JF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function uM(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Yi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function vM(){return 200}function wM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function xM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=yM(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function yM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}VR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=kj(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(Br(c[d>>2]|0)|0)zM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function zM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function AM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Gg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=41796;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));bL(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;ft((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);ft((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function BM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=SR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=SR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function CM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=Nx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=cI(e,j,f,g)|0;else c[o>>2]=Qh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Xg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function DM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function EM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=OF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Qj(73491)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function FM(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[g>>2]|0)+12>>2];c[k>>2]=c[(c[h>>2]|0)+12>>2];b=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0|(e[(c[h>>2]|0)+8>>1]|0))&16384)){c[d>>2]=eR(c[b+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,(c[j>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[j>>2]|0)|0;if(c[d>>2]|0){c[f>>2]=c[d>>2];k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=(c[j>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}}a=c[g>>2]|0;if((e[b+8>>1]|0)&(e[(c[h>>2]|0)+8>>1]|0)&16384){c[f>>2]=(c[a>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}if((e[a+8>>1]|0)&16384)if(hG(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[c[g>>2]>>2]|0)-(c[k>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=-1;k=c[f>>2]|0;i=l;return k|0}else if(hG(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[j>>2]|0)-(c[c[h>>2]>>2]|0);k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=1;k=c[f>>2]|0;i=l;return k|0}return 0}function GM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(ez(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function HM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Ox(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function IM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;ih(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function JM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+184>>2]|0){c[b>>2]=c[(c[d>>2]|0)+184>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}zI(a)|0;c[(c[d>>2]|0)+184>>2]=0;c[(c[d>>2]|0)+192>>2]=0}PM(c[d>>2]|0);if(c[(c[d>>2]|0)+92>>2]|0)OC(c[(c[d>>2]|0)+92>>2]|0,c[(c[d>>2]|0)+24>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+188>>2]|0))break;c[e>>2]=c[a+188>>2];c[(c[d>>2]|0)+188>>2]=c[(c[e>>2]|0)+4>>2];QM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}LI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return}function KM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=LM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(fi(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[41812+(tg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=Ct(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+204>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+204>>2]&255](c[(c[f>>2]|0)+200>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Ng(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Mg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))MM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Ii(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Gh(J,41818,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,41848,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,41863,A)|0;c[w>>2]=Yr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,41834,B);xr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=yL(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((fi(c[q>>2]|0)|0)!=0?(c[E>>2]=NM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Ig(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=RR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==((bs(c[t>>2]|0)|0)&1024|0)?(J=vr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){WK(c[t>>2]|0);xr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Ng(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}WK(c[t>>2]|0);if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=xr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Yj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Mg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Zj();MM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function LM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;mJ(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function MM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ru(c[d>>2]|0,64);i=b;return 0}function NM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=OM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function OM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function PM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+112>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){eJ(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function QM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;eJ(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}OC(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);LI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function RM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[5588+(c[b>>2]<<2)>>2]|0}function SM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;r=L;j=L+184|0;k=L+180|0;M=L+176|0;K=L+172|0;J=L+144|0;B=L+140|0;D=L+136|0;C=L+132|0;F=L+128|0;o=L+124|0;p=L+120|0;G=L+116|0;q=L+112|0;m=L+108|0;l=L+104|0;n=L+100|0;c[j>>2]=b;c[k>>2]=f;c[M>>2]=g;c[K>>2]=c[k>>2];dg(J,0,c[k>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[D>>2]|0)+6>>1];rA(J,41915,r);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)j=c[c[C>>2]>>2]|0;else j=18402;c[F>>2]=j;M=(hR(c[F>>2]|0,34834)|0)==0;c[F>>2]=M?41920:j;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?28264:18402;c[E+4>>2]=M;rA(J,41922,E);c[B>>2]=(c[B>>2]|0)+1}sA(J,34706,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[z>>2]=c[c[o>>2]>>2];rA(J,41928,z);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];M=a[c[p>>2]>>0]|0;c[A>>2]=c[(c[p>>2]|0)+20>>2];c[A+4>>2]=M;rA(J,41936,A);break}case -13:{H=c[(c[j>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;rA(J,28266,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];rA(J,41943,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];rA(J,41946,u);break}case -8:{c[G>>2]=c[(c[j>>2]|0)+16>>2];j=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[j+16>>2];break a}k=c[G>>2]|0;if(e[j+8>>1]&4){G=k;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;rA(J,28266,H);break a}j=c[G>>2]|0;if(e[k+8>>1]&8){h[I>>3]=+h[j>>3];rA(J,41946,I);break a}if(e[j+8>>1]&1){c[K>>2]=39691;break a}else{c[K>>2]=41952;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];rA(J,41959,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];rA(J,41967,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;sA(J,41971,1);break}case -18:{rA(J,41973,x);break}case -19:{a[c[k>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[j>>2]|0)+16>>2]>>2];rA(J,18391,y);break}default:{c[K>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(J)|0;i=L;return c[K>>2]|0}function TM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;ih(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function UM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=bh(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;UR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function VM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(WM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function WM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))iu(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(bh(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}GI(c[j>>2]|0)|0}else Mx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function XM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)mG(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function YM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+104>>2]=0;i=b;return}function ZM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pi(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function _M(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;pj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function $M(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+160>>2]|0)>1:0){aN(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(bN(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;RB(c[f>>2]|0);i=g;return}function aN(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return} +function Tm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=QR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=aS(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Tm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Tm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;VR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}VR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Tm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Tm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Tm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=QR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=aS(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Tm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=QR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=aS(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Tm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Vm(c[h>>2]|0);u=Wm(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Um(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=_l(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}dm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=_l(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=aS(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Vm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Wm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Xm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){am(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Ym(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Xm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Zm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=_m(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=QR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=aS(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;TR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=$m(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Ym(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=_l(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=QR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=RR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];dm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Zm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Wl(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Wl(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Tl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Ul(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Xl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function _m(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Ym(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Zm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function $m(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Zl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Zl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Kl(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}an(y,t);j=t;j=QR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=RR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=RR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;bn(x,v,h,C);h=v;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=RR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;an(y,t);h=t;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;an(z,u);h=u;h=QR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Zl(0,y);Zl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=$l(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=$l(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}dm(0,z);dm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function an(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=_l(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=RR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=QR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Kl(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function cn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function dn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=fn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=en(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function en(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=hm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(im(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Vl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Tl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=gn(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=hn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function gn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=ul(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=vl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=mn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=nn(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;on(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function hn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=jn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];kn(x,c[z>>2]|0,0,r);kn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=QR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=aS(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){dm(0,x);kn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{dm(0,y);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;ln(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!($m(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}kn(x,c[z>>2]|0,c[j>>2]|0,r);kn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=_l(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=QR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=RR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function ln(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=QR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Kl(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function mn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=pn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function nn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=pn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function on(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Bl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function pn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];kn(u,c[w>>2]|0,0,p);kn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=QR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=aS(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);qn(t,u,v);kn(u,c[w>>2]|0,c[k>>2]|0,p);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,v);kn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;ln(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);dm(t,u);kn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function qn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){$l(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Zl(q,r);continue}else{f=rn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Zl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=rn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);an(r,k);an(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;bn(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=QR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){sn(r,k);break}else{sn(s,l);break}}else{sn(r,k);sn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Kl((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){an(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=QR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Fn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Le(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(te(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Yd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)qe(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function un(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=De(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Ee(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=Cn(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(eR(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Dn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=En((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function vn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(xn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Vm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Vm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(vn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(vn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Vm(c[k>>2]|0);f=yn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function wn(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;kl(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function xn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=An(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=An(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function yn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=zn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];$m(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if($m(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=_l(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];TR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=Bn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;VR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function Bn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;$m(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];$m(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){qn(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){dm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){dm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function Cn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Dn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=QR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=En(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=En(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=En(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=RR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=QR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=En(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function En(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Kl((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23241,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function Gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=Gn(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Hn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=In(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}VR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Sm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Yd(c[(c[h>>2]|0)+8>>2]|0)|0;Tm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Om(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Jn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Sm(c[h>>2]|0,c[o>>2]|0,q);do{Tm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Jn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=$l(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Jn(c[(c[f>>2]|0)+12>>2]|0);Jn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function Kn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Rm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=$l(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=_l(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=QR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=te(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(Ge(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Yd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Ke(c[e>>2]|0,1,0)|0;if((te(c[e>>2]|0)|0)==100?(Ge(c[e>>2]|0,0)|0)==4:0)break;h=Yd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function Qn(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23369,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Tn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,23397,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,23384,0,0,0)|0;break}c[e>>2]=$e(a,23384,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);ym(c[b>>2]|0);i=f;return c[d>>2]|0}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Ke(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Ke(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(te(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=Ce(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ol(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Yd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}ym(c[d>>2]|0);jl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Un(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){me(c[e>>2]|0,18402,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Jm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Nm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Ee(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Ae(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((Ge(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=Cn(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Wn(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,23414,y)|0;c[A>>2]=Xn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);ym(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){qe(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{me(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Qm(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Wn(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Wn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=$l(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Xn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=kR(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);TR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Yn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){me(c[j>>2]|0,18402,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Zn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=_n(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);ym(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){qe(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{me(g,c[F>>2]|0,-1,148);i=G;return}}function Zn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Jm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}VR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Nm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=WR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!((bo(B)|0)!=0^1))break;g=o;co(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function _n(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Ee(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((Ge(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Ae(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=Cn(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=$n(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Xn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=WR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Xn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Xn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Xn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function $n(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=WR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=Cn(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=SR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Qm(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Wn(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function bo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);eo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);eo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function co(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=WR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=WR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Wn(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function eo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Wn(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=pl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(te(c[f>>2]|0)|0))c[e>>2]=Ce(c[f>>2]|0,0)|0;c[g>>2]=Yd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function go(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=ho(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=pl(c[g>>2]|0,28,y,0)|0;Ke(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((te(c[y>>2]|0)|0)==100){a=De(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=Ce(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Yd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=io(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=$R(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=$R(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;VR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=RR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=ko(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=ul(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=vl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=mo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=oo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=vl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=po(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;qo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=aS(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}ro(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=RR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;zl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}Bl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=so(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=pl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Ke(c[g>>2]|0,1,1)|0;if((100==(te(c[g>>2]|0)|0)?(c[e>>2]=ze(c[g>>2]|0,0)|0,c[f>>2]=Ae(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(to(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){TR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Yd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function io(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=_l((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=$l(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=RR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Le(e,1,l,C)|0;te(c[h>>2]|0)|0;l=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=pl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Le(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=_R(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=RR(m|0,C|0,1,0)|0;m=aS(m|0,C|0,1024,0)|0;Le(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(te(c[j>>2]|0)|0)){m=(Ge(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Yd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{VR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=pl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Le(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((te(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=De(c[n>>2]|0,1)|0;d=C;e=De(c[n>>2]|0,2)|0;a=C;f=De(c[n>>2]|0,3)|0;g=C;h=ze(c[n>>2]|0,4)|0;m=Ae(c[n>>2]|0,4)|0;c[o>>2]=om(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Yd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function mo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=pl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Le(d,1,g,C)|0;Ke(c[G>>2]|0,2,c[l>>2]|0)|0;g=(te(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Yd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=De(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=De(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;El(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=aS(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Ae(c[G>>2]|0,4)|0;c[v>>2]=ze(c[G>>2]|0,4)|0;g=q;c[H>>2]=Fo(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=gm(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=yo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Co(u)|0}if((zo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Do(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=QR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=RR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=yo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Co(J)|0}to((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(TR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=gm(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;to((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){TR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Do(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Yd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function no(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=pl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Le(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Le(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(te(c[r>>2]|0)|0))c[p>>2]=Ce(c[r>>2]|0,0)|0;c[s>>2]=Yd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=pl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(te(c[q>>2]|0)|0)){r=De(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=QR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=RR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Yd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Fl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=RR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function oo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Ml(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Jl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Jl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Fl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Eo(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Jl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=RR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;to((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=Bo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Ll(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=vo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=wo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function qo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;to(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Kl((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function ro(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;to(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Kl((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Fl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=RR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Hl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=pl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Ke(c[e>>2]|0,1,1)|0;Ie(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;te(c[e>>2]|0)|0;c[f>>2]=Yd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=pl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Le(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ke(c[h>>2]|0,2,c[g>>2]|0)|0;te(c[h>>2]|0)|0;c[j>>2]=Yd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=pl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Le(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(te(c[x>>2]|0)|0)){c[o>>2]=ze(c[x>>2]|0,4)|0;c[u>>2]=Ae(c[x>>2]|0,4)|0;a=De(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=xo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Yd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=gm(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=xo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Fl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=pl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Le(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Le(z,2,f,C)|0;te(c[w>>2]|0)|0;c[y>>2]=Yd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=pl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Le(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Ie(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Le(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Ke(c[v>>2]|0,4,c[k>>2]|0)|0;te(c[v>>2]|0)|0;c[y>>2]=Yd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=pl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Le(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(te(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=Ce(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Yd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=pl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Le(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Ke(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Ke(c[o>>2]|0,1,c[k>>2]|0)|0;te(c[o>>2]|0)|0;c[p>>2]=Yd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function xo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;to(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=yo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=zo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=Bo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Co(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;Ao(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Do(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function yo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(_l((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Co(h)|0;i=j;return h|0}return 0}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=eR(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function Ao(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Kl((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function Bo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;to(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Ml(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);TR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Kl((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;TR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Co(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;to((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}TR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=$l(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Do(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Ml(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Jl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Jl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Fl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Kl(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(to(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Kl((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}to(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);to((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Kl((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;TR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);TR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=pl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Le(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(te(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Yd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Go(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(ee(c[c[h>>2]>>2]|0)|0)==5:0)?(ee(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Ho(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);VR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Io(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((ee(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((ee(c[r>>2]|0)|0)!=5){if((ee(c[c[h>>2]>>2]|0)|0)!=5?(f=de(c[c[h>>2]>>2]|0)|0,u=C,b=de(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Jo(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Ko(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}if((ee(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Jo(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=ce(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Ko(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Lo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Mo(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)No(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}Oo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;ym(u);u=c[s>>2]|0;i=t;return u|0}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=$d(c[l>>2]|0)|0;c[f>>2]=ae(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,20512,8)|0):0)c[g>>2]=Tn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,23495,7)|0):0){c[g>>2]=Yo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,23503,15)|0):0){c[g>>2]=Zo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,23519,6)|0):0){c[g>>2]=_o(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,23526,10)|0):0){c[g>>2]=$o(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Io(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=pl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Me(c[d>>2]|0,1)|0;te(c[d>>2]|0)|0;c[e>>2]=Yd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Jo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;To(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=Uo(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=Vo(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;VR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Wo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Wo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((ee(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((ee(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=de(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=pl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Ke(d,k,ce(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(ee(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(ee(c[c[g>>2]>>2]|0)|0)?5!=(ee(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Oe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}te(c[j>>2]|0)|0;c[l>>2]=Yd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=ml(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Mo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=$d(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Ro(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Qo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=pl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Le(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Ie(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;te(c[k>>2]|0)|0;l=Yd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=pl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Ke(c[r>>2]|0,1,0)|0;if((te(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=ze(c[r>>2]|0,0)|0;Po(f,b,a,Ae(c[r>>2]|0,0)|0)}else VR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Yd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Qo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=pl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Ke(c[r>>2]|0,1,0)|0;Ie(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;te(c[r>>2]|0)|0;t=Yd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function Po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=_l((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Kl((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Ro(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=Cn(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=So(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ek(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Dn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(lk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function To(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=pl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(te(h)|0)){c[q>>2]=Xo(c[k>>2]|0,c[r>>2]|0)|0;e=De(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Lo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Ee(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Ro(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Ae(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Yd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Yd(c[r>>2]|0)|0}else Yd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function Uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=pl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(te(c[h>>2]|0)|0)){d=Ce(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Yd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function Vo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;jl(c[e>>2]|0);if(c[h>>2]|0)Wo(f,c[e>>2]|0,2,0);Wo(f,c[e>>2]|0,3,0);Wo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Wo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Wo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=pl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){te(c[k>>2]|0)|0;c[l>>2]=Yd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=Ce(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Yo(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=Vo(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(23614,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{VR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(te(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Xo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=De(c[p>>2]|0,0)|0;c[q>>2]=Lo(b,0,f,g,C)|0;VR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Ee(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Ro(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Ae(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)No(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Xd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Oo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Xd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Zo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=cp(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function _o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=ap(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=ap(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))bp(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=go(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;ym(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=ap(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(bp(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=pl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Ke(c[g>>2]|0,1,2)|0;Ke(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;te(c[g>>2]|0)|0;c[h>>2]=Yd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function ap(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function bp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;nl(d,b,23537,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function cp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=pl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Ke(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Ke(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(te(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=Ce(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=dp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Yd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(23614,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(te(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=De(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Xo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Ee(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Ae(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=Cn(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=ep(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Xd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=ul(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=vl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=_l(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=QR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=RR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=ep(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=_l(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=_l(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=RR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}Bl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function ep(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=WR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=RR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=RR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=WR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=RR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=RR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function fp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Yd(c[(c[e>>2]|0)+8>>2]|0)|0;Tm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Om(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function gp(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Gp(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=de(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function ip(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=up(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=vp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=wp(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}gp(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Fk(z,23723,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Fk(z,23775,r);z=c[p>>2]|0;i=s;return z|0}function jp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;kp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];lp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=mp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=mp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);np(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function kp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);kp(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);kp(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=sp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function lp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=rp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}lp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=op(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=pp(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;on(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=gn(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=hn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=qp(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function np(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){np(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);np(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=dn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Pn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=ze(c[m>>2]|0,0)|0;b=Ae(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=_l(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=_l(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Yd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=_R(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=RR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=_R(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Yd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);dm(0,j)}j=c[h>>2]|0;i=k;return j|0}function rp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=gm(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function sp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=tp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ql(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function tp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=jm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function up(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=kR(c[s>>2]|0)|0;c[w>>2]=xp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=vp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=vp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){gp(c[e>>2]|0);gp(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else VR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=vp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){gp(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;gp(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}gp(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=wp(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=wp(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function xp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=yp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=zp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;Ap(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else Ap(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){gp(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){gp(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}gp(c[v>>2]|0);gp(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function yp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Cp(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2112+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(eR(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Cp(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=zp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Dp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=xp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=kR(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Ep(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function zp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}VR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function Ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=Bp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(Bp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function Bp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Cp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Dp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=Cn(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Fp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Fp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;TR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Fp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;VR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){TR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Ep(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=Cn(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=zp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;TR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Gp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Hp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Vm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;on(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Ip(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];kl(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Kp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return}function Lp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(kR(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(kR(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){VR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)VR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(kR(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24006,8)|0):0)?0==(Mp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Np(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Op(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2144;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Fk(ia,24015,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,20521,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Fk(ia,24042,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((kR(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24069,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((kR(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24073,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Fk(ia,24078,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(kR(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Pp(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24101;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Np(c[S>>2]|0,20447,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Qp(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Fk(ia,24109,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}VR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);TR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;kk((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];TR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Rp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;TR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Ok(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=kR(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(kR(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Fk(ia,24144,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24163:24172;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Fk(ia,24183,V)}ia=Sp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Tp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Up(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Vp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Wp(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Sk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Mp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[24865+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Np(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(18391,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=kR(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Rp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ek(z,A,(kR(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Rp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ok(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Fk(c[k>>2]|0,24847,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Fk(A,20595,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(18391,k)|0;if(c[m>>2]|0)Ok(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Pp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(24792,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Fk(D,18391,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=xe(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;D=(kR(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=He(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(kR(c[y>>2]|0)|0)+1;TR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Xd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Qp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}VR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Zp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0} +function SE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;l=oa+228|0;m=oa+224|0;n=oa+220|0;j=oa+216|0;ha=oa+212|0;V=oa+208|0;P=oa+204|0;la=oa+40|0;ia=oa+32|0;t=oa+24|0;fa=oa+200|0;I=oa+196|0;K=oa+192|0;L=oa+188|0;ba=oa+184|0;q=oa+180|0;s=oa+240|0;k=oa+16|0;z=oa+176|0;y=oa+172|0;Q=oa+168|0;ca=oa+164|0;M=oa+236|0;W=oa+160|0;O=oa+156|0;r=oa+234|0;A=oa+152|0;U=oa+148|0;u=oa+144|0;Y=oa+140|0;B=oa+136|0;S=oa+132|0;ga=oa+128|0;Z=oa+124|0;_=oa+120|0;E=oa+116|0;G=oa+112|0;na=oa+108|0;ma=oa+232|0;x=oa+104|0;o=oa+239|0;p=oa+238|0;N=oa+100|0;H=oa+96|0;ea=oa+92|0;T=oa+88|0;aa=oa+84|0;ja=oa+8|0;ka=oa;$=oa+80|0;J=oa+76|0;v=oa+72|0;D=oa+68|0;X=oa+64|0;R=oa+60|0;da=oa+56|0;w=oa+52|0;F=oa+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[fa>>2]=0;c[I>>2]=0;c[K>>2]=0;c[ba>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[ba>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=oa;return}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[V>>2]=(c[j>>2]|0)+488;c[P>>2]=c[c[ha>>2]>>2];g=lE(c[V>>2]|0,c[(c[P>>2]|0)+12>>2]|0)|0;j=la;c[j>>2]=g;c[j+4>>2]=C;c[L>>2]=d[c[P>>2]>>0];do if((c[L>>2]|0)==33){if(lB(c[ba>>2]|0,c[P>>2]|0)|0){i=oa;return}h=c[V>>2]|0;f=(c[P>>2]|0)+20|0;if(c[(c[P>>2]|0)+4>>2]&2048){g=mE(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=KD(h,c[f>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[L>>2]|0)==34){j=(c[ha>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=lE(c[V>>2]|0,c[(c[P>>2]|0)+16>>2]|0)|0;j=(c[ha>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=lE(c[V>>2]|0,c[P>>2]|0)|0;j=ia;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[P>>2]|0)+4>>2]&1){h=OD(c[V>>2]|0,b[(c[P>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=ia;g=c[h+4>>2]|c[f+4>>2];j=ia;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=QR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=ia;h=c[j+4>>2]|0;k=(c[ha>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[ha>>2]|0)+20>>2]=-1;c[(c[ha>>2]|0)+16>>2]=-1;b[(c[ha>>2]|0)+12>>1]=0;k=(TE(c[L>>2]|0)|0)!=0;h=c[P>>2]|0;a:do if(k){c[Q>>2]=ky(c[h+12>>2]|0)|0;c[ca>>2]=ky(c[(c[P>>2]|0)+16>>2]|0)|0;U=(c[ha>>2]|0)+32|0;Y=la;b[M>>1]=((c[U>>2]&c[Y>>2]|0)==0?(c[U+4>>2]&c[Y+4>>2]|0)==0:0)?8191:2048;if((c[(c[ha>>2]|0)+24>>2]|0)>0)c[Q>>2]=c[(c[(c[(c[Q>>2]|0)+20>>2]|0)+4>>2]|0)+(((c[(c[ha>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];Y=la;if(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[Q>>2]|0,z,y)|0){c[(c[ha>>2]|0)+20>>2]=c[z>>2];c[(c[ha>>2]|0)+28>>2]=c[y>>2];Y=(VE(c[L>>2]|0)|0)&65535;b[(c[ha>>2]|0)+12>>1]=Y&e[M>>1]}if((c[L>>2]|0)==29){Y=(c[ha>>2]|0)+10|0;b[Y>>1]=e[Y>>1]|2048}if((c[ca>>2]|0)!=0?(Y=(c[ha>>2]|0)+32|0,(UE(c[l>>2]|0,c[L>>2]|0,c[Y>>2]|0,c[Y+4>>2]|0,c[ca>>2]|0,z,y)|0)!=0):0){b[r>>1]=0;if((c[(c[ha>>2]|0)+20>>2]|0)>=0){c[O>>2]=Iy(c[q>>2]|0,c[P>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){iv(c[q>>2]|0,c[O>>2]|0);i=oa;return}c[A>>2]=WE(c[m>>2]|0,c[O>>2]|0,3)|0;if(!(c[A>>2]|0)){i=oa;return}c[W>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[A>>2]|0)*48|0);XE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);if((c[L>>2]|0)==29){ca=(c[W>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|2048}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);ca=(c[ha>>2]|0)+10|0;b[ca>>1]=e[ca>>1]|8;if(YE(c[ba>>2]|0,c[O>>2]|0)|0){ca=(c[ha>>2]|0)+12|0;b[ca>>1]=e[ca>>1]|2048;b[r>>1]=2048}}else{c[O>>2]=c[P>>2];c[W>>2]=c[ha>>2]}ZE(c[ba>>2]|0,c[O>>2]|0);c[(c[W>>2]|0)+20>>2]=c[z>>2];c[(c[W>>2]|0)+28>>2]=c[y>>2];U=la;Y=t;la=c[U+4>>2]|c[Y+4>>2];ca=(c[W>>2]|0)+32|0;c[ca>>2]=c[U>>2]|c[Y>>2];c[ca+4>>2]=la;ca=ia;ia=c[ca+4>>2]|0;la=(c[W>>2]|0)+40|0;c[la>>2]=c[ca>>2];c[la+4>>2]=ia;la=(VE(d[c[O>>2]>>0]|0)|0)&65535;b[(c[W>>2]|0)+12>>1]=la+(e[r>>1]|0)&e[M>>1]}}else{if((d[h>>0]|0)==32?(d[(c[m>>2]|0)+8>>0]|0)==28:0){c[U>>2]=c[(c[P>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;ca=c[ba>>2]|0;ia=d[34832+(c[u>>2]|0)>>0]|0;la=Iy(c[q>>2]|0,c[(c[P>>2]|0)+12>>2]|0,0)|0;c[Y>>2]=Ev(ca,ia,la,Iy(c[q>>2]|0,c[(c[(c[U>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;_E(c[Y>>2]|0,c[P>>2]|0);c[B>>2]=WE(c[m>>2]|0,c[Y>>2]|0,3)|0;SE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);XE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[P>>2]>>0]|0)==27){$E(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==28?(aF(c[ba>>2]|0,c[P>>2]|0,fa,I,K)|0)!=0:0){b[ma>>1]=259;c[S>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[ga>>2]=Iy(c[q>>2]|0,c[fa>>2]|0,0)|0;b:do if((c[K>>2]|0)!=0?(a[(c[c[ba>>2]>>2]|0)+69>>0]|0)==0:0){ma=(c[ha>>2]|0)+10|0;b[ma>>1]=e[ma>>1]|1024;c[x>>2]=0;while(1){ma=a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]|0;a[o>>0]=ma;if(!(ma<<24>>24))break b;a[(c[(c[fa>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[o>>0]&~(d[18403+(d[o>>0]|0)>>0]&32);a[(c[(c[ga>>2]|0)+8>>2]|0)+(c[x>>2]|0)>>0]=a[17613+(d[o>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ma=(Jf(c[(c[ga>>2]|0)+8>>2]|0)|0)-1|0;c[N>>2]=(c[(c[ga>>2]|0)+8>>2]|0)+ma;a[p>>0]=a[c[N>>2]>>0]|0;if(c[K>>2]|0){if((d[p>>0]|0)==64)c[I>>2]=0;a[p>>0]=a[17613+(d[p>>0]|0)>>0]|0}a[c[N>>2]>>0]=(d[p>>0]|0)+1}c[na>>2]=(c[K>>2]|0)!=0?20429:34834;c[Z>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;la=c[ba>>2]|0;ma=Wy(c[ba>>2]|0,c[Z>>2]|0,c[na>>2]|0)|0;c[Z>>2]=Ev(la,41,ma,c[fa>>2]|0,0)|0;_E(c[Z>>2]|0,c[P>>2]|0);c[E>>2]=WE(c[m>>2]|0,c[Z>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[E>>2]|0);c[_>>2]=Iy(c[q>>2]|0,c[S>>2]|0,0)|0;ma=c[ba>>2]|0;na=Wy(c[ba>>2]|0,c[_>>2]|0,c[na>>2]|0)|0;c[_>>2]=Ev(ma,40,na,c[ga>>2]|0,0)|0;_E(c[_>>2]|0,c[P>>2]|0);c[G>>2]=WE(c[m>>2]|0,c[_>>2]|0,259)|0;SE(c[l>>2]|0,c[m>>2]|0,c[G>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[I>>2]|0){XE(c[m>>2]|0,c[E>>2]|0,c[n>>2]|0);XE(c[m>>2]|0,c[G>>2]|0,c[n>>2]|0)}}if(((d[(c[m>>2]|0)+8>>0]|0)==28?(bF(c[P>>2]|0,s)|0)!=0:0)?(c[ea>>2]=c[c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]>>2],c[T>>2]=c[(c[(c[(c[P>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ma=lE(c[V>>2]|0,c[ea>>2]|0)|0,na=ka,c[na>>2]=ma,c[na+4>>2]=C,na=lE(c[V>>2]|0,c[T>>2]|0)|0,ma=ja,c[ma>>2]=na,c[ma+4>>2]=C,ma=ka,na=ja,(c[ma>>2]&c[na>>2]|0)==0?(c[ma+4>>2]&c[na+4>>2]|0)==0:0):0){na=c[ba>>2]|0;c[$>>2]=Ev(na,30,0,Iy(c[q>>2]|0,c[ea>>2]|0,0)|0,0)|0;c[H>>2]=WE(c[m>>2]|0,c[$>>2]|0,3)|0;c[aa>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[H>>2]|0)*48|0);na=ka;ma=c[na+4>>2]|0;la=(c[aa>>2]|0)+32|0;c[la>>2]=c[na>>2];c[la+4>>2]=ma;c[(c[aa>>2]|0)+20>>2]=c[(c[T>>2]|0)+28>>2];c[(c[aa>>2]|0)+28>>2]=b[(c[T>>2]|0)+32>>1];b[(c[aa>>2]|0)+12>>1]=64;a[(c[aa>>2]|0)+15>>0]=a[s>>0]|0;XE(c[m>>2]|0,c[H>>2]|0,c[n>>2]|0);c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);la=(c[ha>>2]|0)+10|0;b[la>>1]=e[la>>1]|8;la=(c[ha>>2]|0)+40|0;ma=c[la+4>>2]|0;na=(c[aa>>2]|0)+40|0;c[na>>2]=c[la>>2];c[na+4>>2]=ma}do if((d[(c[m>>2]|0)+8>>0]|0)==28){if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0)break;if(XA(c[(c[P>>2]|0)+12>>2]|0)|0){if((c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]&2048|0)!=0?(c[(c[(c[P>>2]|0)+16>>2]|0)+4>>2]&2048|0)!=0:0)break;c[J>>2]=cz(c[(c[P>>2]|0)+12>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[J>>2]|0))break;c[R>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+12>>2]|0,c[v>>2]|0)|0;c[da>>2]=cF(c[ba>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[v>>2]|0)|0;c[X>>2]=Ev(c[ba>>2]|0,d[c[P>>2]>>0]|0,c[R>>2]|0,c[da>>2]|0,0)|0;_E(c[X>>2]|0,c[P>>2]|0);c[D>>2]=WE(c[m>>2]|0,c[X>>2]|0,1)|0;SE(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[ha>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);b[(c[ha>>2]|0)+10>>1]=6;b[(c[ha>>2]|0)+12>>1]=0}}while(0);c:do if(((((d[(c[m>>2]|0)+8>>0]|0)==28?(d[c[P>>2]>>0]|0)==33:0)?(c[(c[ha>>2]|0)+24>>2]|0)==0:0)?(d[c[(c[P>>2]|0)+12>>2]>>0]|0)==158:0)?(c[(c[(c[P>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){c[w>>2]=0;while(1){na=c[w>>2]|0;if((na|0)>=(cz(c[(c[P>>2]|0)+12>>2]|0)|0))break c;c[F>>2]=WE(c[m>>2]|0,c[P>>2]|0,2)|0;c[(c[(c[m>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0)+24>>2]=(c[w>>2]|0)+1;SE(c[l>>2]|0,c[m>>2]|0,c[F>>2]|0);XE(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0);c[w>>2]=(c[w>>2]|0)+1}}while(0);la=t;na=(c[ha>>2]|0)+32|0;ka=na;ma=c[ka+4>>2]|c[la+4>>2];c[na>>2]=c[ka>>2]|c[la>>2];c[na+4>>2]=ma;i=oa;return}function TE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)b=(c[b>>2]|0)==29;else b=1;i=d;return b&1|0}function UE(a,f,g,h,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;r=v+40|0;m=v+36|0;w=v+32|0;n=v;o=v+28|0;s=v+24|0;t=v+20|0;q=v+16|0;p=v+12|0;u=v+8|0;c[m>>2]=a;c[w>>2]=f;a=n;c[a>>2]=g;c[a+4>>2]=h;c[o>>2]=j;c[s>>2]=k;c[t>>2]=l;if(((c[w>>2]|0)>=38?(d[c[o>>2]>>0]|0)==158:0)&(c[w>>2]|0)<=41)c[o>>2]=c[c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]>>2];if((d[c[o>>2]>>0]|0)==152){c[c[s>>2]>>2]=c[(c[o>>2]|0)+28>>2];c[c[t>>2]>>2]=b[(c[o>>2]|0)+32>>1];c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}w=n;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}w=n;l=c[w>>2]|0;w=c[w+4>>2]|0;k=n;k=QR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((l&k|0)!=0|(w&C|0)!=0){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}c[p>>2]=0;while(1){w=n;k=c[w+4>>2]|0;g=c[p>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[w>>2]|0)>>>0>1))break;c[p>>2]=g+1;k=n;k=SR(c[k>>2]|0,c[k+4>>2]|0,1)|0;w=n;c[w>>2]=k;c[w+4>>2]=C}c[u>>2]=c[(c[m>>2]|0)+8+(g*72|0)+44>>2];c[q>>2]=c[(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0)){g=22;break}b:do if(c[(c[q>>2]|0)+40>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[q>>2]|0)+50>>1]|0))break b;if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)==-2?(Ky(c[o>>2]|0,c[(c[(c[(c[q>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,c[u>>2]|0)|0)==0:0){g=19;break a}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((g|0)==19){c[c[s>>2]>>2]=c[u>>2];c[c[t>>2]>>2]=-2;c[r>>2]=1;w=c[r>>2]|0;i=v;return w|0}else if((g|0)==22){c[r>>2]=0;w=c[r>>2]|0;i=v;return w|0}return 0}function VE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function WE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p+24|0;g=p+20|0;h=p+16|0;j=p+28|0;m=p+12|0;o=p+8|0;l=p+4|0;k=p;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;do if((c[(c[g>>2]|0)+12>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=c[c[c[c[g>>2]>>2]>>2]>>2];f=Vw(c[k>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[g>>2]|0)+20>>2]=f;if(c[(c[g>>2]|0)+20>>2]|0){TR(c[(c[g>>2]|0)+20>>2]|0,c[l>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)*48|0)|0;if((c[l>>2]|0)!=((c[g>>2]|0)+24|0))Tf(c[k>>2]|0,c[l>>2]|0);f=((ku(c[k>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[g>>2]|0)+16>>2]=f;break}if((e[j>>1]|0)&1)iv(c[k>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+20>>2]=c[l>>2];c[n>>2]=0;o=c[n>>2]|0;i=p;return o|0}while(0);a=(c[g>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[o>>2]=f;c[m>>2]=(c[(c[g>>2]|0)+20>>2]|0)+(f*48|0);if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[h>>2]|0)+28>>2]|0;f=((Mj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[m>>2]|0)+8>>1]=f}else b[(c[m>>2]|0)+8>>1]=1;h=ky(c[h>>2]|0)|0;c[c[m>>2]>>2]=h;b[(c[m>>2]|0)+10>>1]=b[j>>1]|0;c[(c[m>>2]|0)+4>>2]=c[g>>2];c[(c[m>>2]|0)+16>>2]=-1;g=(c[m>>2]|0)+12|0;h=g+36|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(h|0));c[n>>2]=c[o>>2];o=c[n>>2]|0;i=p;return o|0}function XE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+8>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+8>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+14|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function YE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=37?(d[c[k>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=ey(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=ey(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=sB(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,34834)|0)!=0:0){c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=fy(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(Td(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function ZE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(fy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<38){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-38^2)+38;i=m;return}function _E(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function $E(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=sh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+28>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+10|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];VR((c[Q>>2]|0)+24|0,0,384)|0;BD(c[Q>>2]|0,c[T>>2]|0);CD(c[Q>>2]|0,c[L>>2]|0,27);FD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+12>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Vw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+28>>2]=c[p>>2];g=(c[P>>2]|0)+10|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+12>>1]=1024;c[r>>2]=c[p>>2];VR((c[r>>2]|0)+24|0,0,384)|0;BD(c[r>>2]|0,c[c[x>>2]>>2]|0);CD(c[r>>2]|0,c[c[P>>2]>>2]|0,28);FD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(!((TE(d[c[c[q>>2]>>2]>>0]|0)|0)==0?(e[(c[q>>2]|0)+12>>1]|0)!=64:0)){h=OD((c[T>>2]|0)+488|0,c[(c[q>>2]|0)+20>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+10>>1]&8)){g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+10>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+16>>2]|0)*48|0);f=OD((c[T>>2]|0)+488|0,c[(c[u>>2]|0)+20>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+12>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+12>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=hF(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=hF(g,W)|0;c[v>>2]=W;if(!W)continue c;iF(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=OD((c[T>>2]|0)+488|0,c[(c[P>>2]|0)+20>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=37;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==37){U=0;c[F>>2]=c[(c[P>>2]|0)+28>>2];c[G>>2]=c[(c[P>>2]|0)+20>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+20>>2]|0)!=(c[G>>2]|0)){W=j+10|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+28>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(ey(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(ey(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+10|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+10>>1]&64){c[K>>2]=Iy(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Tv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=Iy(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=Ev(c[R>>2]|0,33,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){_E(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=WE(c[x>>2]|0,c[O>>2]|0,3)|0;SE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);XE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else ev(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+12>>1]=4096;i=V;return}function aF(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(dF(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((ey(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=ky(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+432>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=eF(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(ee(c[A>>2]|0)|0)==3:0)c[E>>2]=$d(c[A>>2]|0)|0;fF(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Wv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];fF(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=vx(c[s>>2]|0)|0;SA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;gF(G,(wx(c[D>>2]|0)|0)-1|0,0);xx(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;ch(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function bF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m+20|0;h=m+16|0;l=m+12|0;g=m+8|0;f=m+4|0;j=m;c[h>>2]=b;c[l>>2]=e;if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[5444+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[5444+(b<<3)+4>>0]|0;c[k>>2]=1;l=c[k>>2]|0;i=m;return l|0}else if((f|0)==14){c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}function cF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if((d[c[h>>2]>>0]|0|0)==119){c[k>>2]=Ev(c[g>>2]|0,159,0,0,0)|0;if(!(c[k>>2]|0)){e=c[k>>2]|0;i=l;return e|0}b[(c[k>>2]|0)+32>>1]=c[j>>2];c[(c[k>>2]|0)+12>>2]=c[h>>2];e=c[k>>2]|0;i=l;return e|0}else{if((d[c[h>>2]>>0]|0|0)==158)c[h>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[k>>2]=Iy(c[c[g>>2]>>2]|0,c[h>>2]|0,0)|0;e=c[k>>2]|0;i=l;return e|0}return 0}function dF(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ki(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function eF(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+116>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Zh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){jh(c[m>>2]|0,c[l>>2]|0)|0;Fx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function fF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+196>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+196|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function gF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function hF(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+12>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+28>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function iF(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+12>>1]|0|(e[(c[k>>2]|0)+12>>1]|0);if(!((e[(c[j>>2]|0)+12>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+12>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(Ky(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=Iy(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=37;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-37|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=WE(c[n>>2]|0,c[r>>2]|0,3)|0;SE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function jF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=200;c[g+24>>2]=c[l>>2];wy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function kF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Gh(a,30161,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Gh(a,35219,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;tA(h,k,l,m,-1,2);i=n;return}}function lF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Yx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(jD(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Yx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(mD(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function mF(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function nF(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Wz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?33:30;if(!(d[A>>0]|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(lF(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=pF(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=qF(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+44>>2]|0)+1;g=(c[q>>2]|0)+44|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));ix(c[I>>2]|0,84,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;NA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=wx(c[I>>2]|0)|0;aD(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(wx(c[I>>2]|0)|0))Ih(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;fD(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}a[H>>0]=0;oF(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);ix(c[I>>2]|0,117,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;Mh(c[I>>2]|0,-1,c[r>>2]|0,-20);if(d[A>>0]|0)Jh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Sz(c[I>>2]|0,117,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Jh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;rF(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;aD(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;_z(I,J);i=K;return}function oF(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Jj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=oA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;jx(c[w>>2]|0,127,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;pA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function pF(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(vG(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=uF(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function qF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Yx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;BC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function rF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Yx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(mD(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=sF(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)tF(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function sF(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&33554432|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(BC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1369];c[J+4>>2]=c[1370];c[I>>2]=c[1371];c[I+4>>2]=c[1372];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Xy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Xy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=jw(c[q>>2]|0,55,J,0)|0;f=Ev(g,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0;c[w>>2]=Ev(e,37,f,jw(c[q>>2]|0,55,H,0)|0,0)|0;c[F>>2]=wz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=jw(c[q>>2]|0,55,J,0)|0;g=Ev(e,122,g,jw(c[q>>2]|0,55,K,0)|0,0)|0;e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[w>>2]=Ev(h,29,g,Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0,0)|0;c[E>>2]=wz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=jw(c[q>>2]|0,101,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];h=c[q>>2]|0;if(c[v>>2]|0){c[z>>2]=Iy(h,c[v>>2]|0,0)|0;break}else{c[z>>2]=jw(h,101,0,0)|0;break}}else{e=c[k>>2]|0;f=jw(c[q>>2]|0,55,I,0)|0;c[z>>2]=Ev(e,122,f,jw(c[q>>2]|0,55,K,0)|0,0)|0}while(0);c[y>>2]=Tv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Uv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Wv(c[q>>2]|0,83,35189)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Tv(c[k>>2]|0,0,c[A>>2]|0)|0;K=_v(c[q>>2]|0,0,G,0)|0;c[B>>2]=Sv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=sh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,TR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=Iy(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=Qy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=_x(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=Ev(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=Iy(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;iv(c[q>>2]|0,c[F>>2]|0);iv(c[q>>2]|0,c[E>>2]|0);ev(c[q>>2]|0,c[y>>2]|0);fv(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){uG(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function tF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=dx(c[j>>2]|0)|0;c[n>>2]=uF(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+44|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;mx(e,64,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Jh(c[o>>2]|0,c[m>>2]&255);i=p;return}function uF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)e=c[e+124>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+468>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=vF(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function vF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+124>>2]|0)g=c[g+124>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=sh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+468>>2];c[(c[s>>2]|0)+468>>2]=c[p>>2];e=sh(c[n>>2]|0,24,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}wF(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=sh(c[n>>2]|0,480,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+128>>2]=c[l>>2];c[(c[r>>2]|0)+124>>2]=c[s>>2];c[(c[r>>2]|0)+448>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+148>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+136>>2]=c[(c[j>>2]|0)+136>>2];c[v>>2]=dx(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Mh(e,-1,Gh(l,34884,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=Iy(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(Ay(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Wz(c[v>>2]|0)|0;iB(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}iv(c[n>>2]|0,c[t>>2]|0)}xF(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)_z(c[v>>2]|0,c[o>>2]|0);fx(c[v>>2]|0,75)|0;yF(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=zF(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+108|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+44>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+40>>2];c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+140>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+144>>2];cv(c[v>>2]|0)}Ph(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function wF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+20>>2]=c[(c[e>>2]|0)+200>>2];c[(c[e>>2]|0)+200>>2]=c[f>>2];i=d;return}function xF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;g=o+52|0;p=o+48|0;h=o+44|0;l=o+40|0;n=o+36|0;j=o+32|0;m=o+8|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+149>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=Qy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;ew(b,e,p,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 108:{b=c[g>>2]|0;e=tG(c[g>>2]|0,c[l>>2]|0)|0;p=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;gw(b,e,p,Iz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+149>>0]|0);break}case 109:{p=c[g>>2]|0;cw(p,tG(c[g>>2]|0,c[l>>2]|0)|0,Iy(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=_x(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;vB(m,4,0);Pv(c[g>>2]|0,c[k>>2]|0,m)|0;fv(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)fx(c[n>>2]|0,118)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function yF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function zF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+88>>2];AF(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+136>>2];c[(c[g>>2]|0)+88>>2]=0;i=f;return c[e>>2]|0}function AF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;l=p+16|0;m=p+12|0;n=p+8|0;j=p+4|0;k=p;c[g>>2]=e;c[h>>2]=f;c[l>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[n>>2]|0)+76>>2];f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129|128;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((d[c[m>>2]>>0]|0|0)<=71){switch(d[c[m>>2]>>0]|0|0){case 2:{if(c[(c[m>>2]|0)+8>>2]|0){o=(c[g>>2]|0)+144|0;b[o>>1]=b[o>>1]&-129;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256;break}case 12:{if((c[(c[m>>2]|0)+8>>2]|0)>(c[l>>2]|0))c[l>>2]=c[(c[m>>2]|0)+8>>2];break}case 11:{c[k>>2]=c[(c[m>>2]|0)+-20+4>>2];if((c[k>>2]|0)>(c[l>>2]|0))c[l>>2]=c[k>>2];break}case 3:case 5:case 7:{c[(c[m>>2]|0)+16>>2]=201;a[(c[m>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[m>>2]|0)+16>>2]=202;a[(c[m>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256}if(((d[34898+(d[c[m>>2]>>0]|0)>>0]|0)&1|0)!=0?(c[(c[m>>2]|0)+8>>2]|0)<0:0)c[(c[m>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[m>>2]|0)+8>>2]|0)<<2)>>2]}if((c[m>>2]|0)==(c[(c[g>>2]|0)+88>>2]|0))break;c[m>>2]=(c[m>>2]|0)+-20}Tf(c[c[g>>2]>>2]|0,c[(c[n>>2]|0)+76>>2]|0);c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+72>>2]=0;c[c[h>>2]>>2]=c[l>>2];i=p;return}function BF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=rG(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=rG(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=sG(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function CF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=DF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function DF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=EF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}HF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=CF(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=GF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function EF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=LF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function FF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Qj(63009)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=IF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function GF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=gr((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=FF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function HF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;SB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function IF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(JF(c[l>>2]|0)|0)>>>0){c[r>>2]=vg(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=Ut(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(KF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Wt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){QB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Qj(60266)|0;QB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Qj(60244)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function JF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function KF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=Ut(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=wg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function LF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+432|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=MF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,384,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}NF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Qj(59021)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=OF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function MF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ch(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function NF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(bG(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(bG(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;c[(c[p>>2]|0)+16>>2]=0;v=dG((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function OF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((c[o>>2]|0)==0?(d[(c[n>>2]|0)+66>>0]|0)==1:0)?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=PF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=QF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);cu(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=RF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=gr((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=gr((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=FF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Qj(63387)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Qj(63460)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function PF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function QF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){PB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;SB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=IF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=gr((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=FF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Qj(63147)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Qj(63136)|0;n=c[g>>2]|0;i=m;return n|0}function RF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];SF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Qj(62723)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=TF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=gr((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){VR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=UF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=vg(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=wg(c[z>>2]|0)|0;c[w>>2]=gr(c[t>>2]|0)|0;c[B>>2]=TF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;yg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Qj(62880)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function SF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;YF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function TF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Gg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){TR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else TR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function UF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=VF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[384]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(JF(c[h>>2]|0)|0)>>>0?(c[r>>2]=WF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=XF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=gr(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{QB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function VF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function WF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=VF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=vg(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=wg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){yg(c[o>>2]|0);c[h>>2]=Qj(59240)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=gr((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}yg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Qj(59248)|0;s=c[h>>2]|0;i=r;return s|0}function XF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=vg(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=KF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function YF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function ZF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=RR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,aS(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=$F(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);t=c[(c[q>>2]|0)+4>>2]|0;g=c[t+4>>2]|0;m=k;c[m>>2]=c[t>>2];c[m+4>>2]=g;m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=aG(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function _F(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else bG(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Qj(74742)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=eR((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=aG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function $F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=aG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function aG(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(bG(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(cG(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(bG(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Qj(74452)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(eG(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=fG(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}dG((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=eG(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(e[(c[w>>2]|0)+8>>1]&2){k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else bG(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=gG(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else bG(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if(e[(c[w>>2]|0)+8>>1]&16384)if(hG((c[n>>2]|0)+(c[o>>2]|0)|0,c[v>>2]|0)|0){c[E>>2]=(c[v>>2]|0)-(c[c[w>>2]>>2]|0);break}else{c[E>>2]=1;break}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=eR((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=71;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=cG(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=iG(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=77;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=77;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=77;break}}if((k|0)==43){H=(Qj(74527)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Qj(74557)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==71){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==77){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function bG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=cu(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function cG(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35061+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function dG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=RR(f|0,0,aS(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=pG(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[14590+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function eG(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function fG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=RR(b|0,0,aS(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function gG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}jG(n,c[(c[j>>2]|0)+32>>2]|0,1);jG(o,c[(c[j>>2]|0)+32>>2]|0,1);kG(n,c[j>>2]|0,4096);kG(o,c[k>>2]|0,4096);c[s>>2]=Zg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Zg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Xg(n);Xg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function hG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){e=6;break}if(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0){e=4;break}c[g>>2]=(c[g>>2]|0)+1}if((e|0)==4){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}else if((e|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}return 0}function iG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=SR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function jG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function kG(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){lG(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;mG(c[h>>2]|0);kG(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function mG(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)nG(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){oG(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+188>>2];c[(c[c[g>>2]>>2]|0)+188>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function nG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function oG(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function pG(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=RR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(qG(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function qG(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function rG(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=EF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=FF(o,gr((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=sG(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}HF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=BF(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function sG(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=gr((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=FF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function tG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=c[c[k>>2]>>2];c[g>>2]=_v(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){k=c[g>>2]|0;i=j;return k|0}k=qh(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=k;c[f>>2]=Fh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){k=c[g>>2]|0;i=j;return k|0}c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];k=qh(c[e>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=k;k=c[g>>2]|0;i=j;return k|0}function uG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);iv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((sz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function wG(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function xG(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(Ky(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(Ky(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function yG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+448>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];i=e;return}function zG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+52|0;g=p+48|0;h=p+44|0;j=p+40|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Fh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=Iy(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=_v(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=qh(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=qh(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Sv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,131072,0,0)|0;vB(l,12,c[j>>2]|0);Pv(c[f>>2]|0,c[o>>2]|0,l)|0;fv(c[k>>2]|0,c[o>>2]|0);i=p;return}function AG(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Ux(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+40|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=ix(c[E>>2]|0,107,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+44|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+44|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=qD(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}ix(c[E>>2]|0,123,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)RA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else ix(c[E>>2]|0,123,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)RA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else jx(c[E>>2]|0,156,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=BG(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){HA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+124>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{jx(m,99,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;ix(c[E>>2]|0,114,c[w>>2]|0,c[D>>2]|0)|0;jx(c[E>>2]|0,115,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){rD(c[A>>2]|0);c[u>>2]=Sz(c[E>>2]|0,57,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;jx(c[E>>2]|0,96,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);dD(c[r>>2]|0,c[s>>2]|0);mx(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Jh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Vx(c[r>>2]|0);if(!(c[v>>2]|0)){ix(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Zz(c[E>>2]|0,c[u>>2]|0);ix(c[E>>2]|0,111,c[w>>2]|0,0)|0;i=F;return}else{rD(c[A>>2]|0);i=F;return}}function BG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+20|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+45>>0]|0|0}function CG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+448>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function DG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Uw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((ku(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);VR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function EG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+448>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Dz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((Dz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&256|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+448>>2]=c[(c[N>>2]|0)+8>>2];ax(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+448>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=_x(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+124>>2]|0)l=c[l+124>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+464>>2];c[(c[x>>2]|0)+464>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=_v(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=DG(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;kv(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=qh(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Zw(c[P>>2]|0);c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=Iy(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=Iy(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;x=wz(w,x,c[(c[I>>2]|0)+40>>2]|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=Qy(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=wz(c[B>>2]|0,c[O>>2]|0,c[(c[I>>2]|0)+32>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}nH(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}fv(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function FG(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+256|0;Z=_+8|0;h=_;j=_+240|0;k=_+236|0;l=_+232|0;m=_+228|0;T=_+224|0;Q=_+220|0;Y=_+216|0;t=_+192|0;H=_+184|0;s=_+180|0;B=_+176|0;C=_+172|0;n=_+168|0;F=_+164|0;W=_+160|0;G=_+244|0;R=_+156|0;L=_+152|0;O=_+148|0;o=_+144|0;X=_+120|0;x=_+116|0;v=_+112|0;z=_+108|0;I=_+104|0;U=_+100|0;V=_+96|0;y=_+92|0;w=_+88|0;A=_+84|0;M=_+80|0;P=_+76|0;p=_+72|0;D=_+48|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];c[t+20>>2]=c[e+20>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(f,35879,Z);c[T>>2]=1;break}c[Y>>2]=dx(f)|0;if((d[t>>0]|0)==12){ix(c[Y>>2]|0,107,c[t+8>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&1024){c[T>>2]=pH(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)qH(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=rH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Sz(c[Y>>2]|0,22,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)jx(c[Y>>2]|0,146,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(Fy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Mj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Mj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Zz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+8>>2];else{V=(c[k>>2]|0)+40|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=ix(c[Y>>2]|0,107,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}vB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,X)|0;ev(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=nE(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Wz(c[Y>>2]|0)|0;c[x>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,57,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=wx(c[Y>>2]|0)|0;SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);_z(c[Y>>2]|0,c[x>>2]|0);ix(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;_z(c[Y>>2]|0,c[v>>2]|0);ix(c[Y>>2]|0,111,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+40|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+40|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=ix(c[Y>>2]|0,107,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(mz(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;vB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=ix(c[Y>>2]|0,107,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+8>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+424>>2];c[T>>2]=Pv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;iv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}dH(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Wz(c[Y>>2]|0)|0;c[y>>2]=Wz(c[Y>>2]|0)|0;KG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,57,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=vx(c[k>>2]|0)|0;c[A>>2]=ix(c[Y>>2]|0,121,c[U>>2]|0,c[S>>2]|0)|0;Ih(c[Y>>2]|0,30,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;xx(c[k>>2]|0,c[S>>2]|0);SG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);_z(c[Y>>2]|0,c[y>>2]|0);ix(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;_z(c[Y>>2]|0,c[w>>2]|0);ix(c[Y>>2]|0,111,c[V>>2]|0,0)|0;ix(c[Y>>2]|0,111,c[U>>2]|0,0)|0;break b}}}while(0);sH(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&32){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=iA(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=tH(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;dA(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Mh(X,Z,nA(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}jA(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Sy(d[(c[l>>2]|0)+4>>0]|0)|0;Eh(Z,35831,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+12>>2]=c[t+12>>2];c[(c[m>>2]|0)+16>>2]=c[t+16>>2];fv(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function GG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Bz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function HG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;if(c[(c[o>>2]|0)+8>>2]&8200){p=6;break}c[o>>2]=c[(c[o>>2]|0)+48>>2]}if((p|0)==6){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}while(1){if((d[c[k>>2]>>0]|0|0)!=28)break;p=HG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}a:do if(hE(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=Iy(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=mH(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;p=wz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=p;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];p=c[g>>2]|0;i=q;return p|0}function IG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+28>>2]=0;i=d;return}function JG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=iA(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=fy(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function KG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}EC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=dx(c[f>>2]|0)|0;do if(Fy(c[(c[g>>2]|0)+56>>2]|0,l)|0){ix(c[m>>2]|0,76,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Yz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Mj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{RA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Sz(c[m>>2]|0,17,c[j>>2]|0)|0;ix(c[m>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+44|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+44|0;c[a>>2]=(c[a>>2]|0)+1;RA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Sz(c[m>>2]|0,17,c[k>>2]|0)|0;jx(c[m>>2]|0,146,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function LG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(eA(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function MG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+72>>1]|0}function NG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+47>>0]|0|0}function OG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+43>>0]|0}function PG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+48>>0]|0|0}function QG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+28>>2]|0}function RG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function SG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;L=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;N=V+64|0;M=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;G=V+36|0;v=V+32|0;J=V+28|0;H=V+24|0;E=V+20|0;I=V+16|0;K=V+12|0;z=V+8|0;B=V+4|0;F=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[L>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[L>>2]>>0];c[O>>2]=c[(c[L>>2]|0)+8>>2];c[M>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[N>>2]=c[c[t>>2]>>2];if(c[(c[L>>2]|0)+12>>2]|0){if(((c[(c[L>>2]|0)+12>>2]|0)+(c[N>>2]|0)|0)>(c[(c[P>>2]|0)+44>>2]|0)){h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}}else{if(c[R>>2]|0){c[M>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[M>>2]=(c[M>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[M>>2]|0)}c[(c[L>>2]|0)+12>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;h=(c[P>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[L>>2]|0)+16>>2]=c[N>>2];c[T>>2]=c[(c[L>>2]|0)+12>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;aB(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break a;jx(c[U>>2]|0,96,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;r=(c[P>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(c[N>>2]|0);HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=eA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=79;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(wx(c[U>>2]|0)|0)+(c[N>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[N>>2]|0))break;c[x>>2]=fy(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[N>>2]|0)-1|0))jx(n,36,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else jx(n,37,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Mh(c[U>>2]|0,-1,c[x>>2]|0,-4);Jh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}jx(c[U>>2]|0,84,c[T>>2]|0,c[A>>2]|0,(c[N>>2]|0)-1|0)|0;break}case 1:{HA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:gH(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[N>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))fH(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=vx(c[P>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[y>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[y>>2]|0)|0;xx(c[P>>2]|0,c[y>>2]|0);break}case 2:{jx(c[U>>2]|0,127,c[O>>2]|0,c[T>>2]|0,c[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[G>>2]=CA(c[P>>2]|0,(c[M>>2]|0)+1|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(wx(c[U>>2]|0)|0)+4;Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,c[v>>2]|0,c[G>>2]|0,0)|0;ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[G>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)lH(n,c[R>>2]|0,c[Q>>2]|0,(c[G>>2]|0)+(c[M>>2]|0)|0,c[T>>2]|0,1,c[M>>2]|0);else{c[J>>2]=vx(n)|0;ix(c[U>>2]|0,114,c[O>>2]|0,c[J>>2]|0)|0;jx(c[U>>2]|0,115,c[O>>2]|0,c[G>>2]|0,c[J>>2]|0)|0;Jh(c[U>>2]|0,8);xx(c[P>>2]|0,c[J>>2]|0)}FA(c[P>>2]|0,c[G>>2]|0,(c[M>>2]|0)+1|0);break}case 11:{n=c[P>>2]|0;if(c[R>>2]|0){lH(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}else{c[H>>2]=vx(n)|0;mx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[H>>2]|0,c[(c[L>>2]|0)+4>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);ix(c[U>>2]|0,126,c[O>>2]|0,c[H>>2]|0)|0;xx(c[P>>2]|0,c[H>>2]|0);break b}}case 3:{ix(c[U>>2]|0,76,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){lH(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[N>>2]|0,c[M>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Sz(n,16,c[(c[L>>2]|0)+8>>2]|0)|0;break b}else{ix(n,87,c[T>>2]|0,c[N>>2]|0)|0;WA(c[P>>2]|0,c[T>>2]|0,c[N>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[F>>2]=c[(c[L>>2]|0)+20>>2];c[E>>2]=c[c[F>>2]>>2];c[I>>2]=vx(c[P>>2]|0)|0;c[K>>2]=CA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[K>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Ih(c[U>>2]|0,31,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[N>>2]|0)|0;jx(c[U>>2]|0,99,c[T>>2]|0,c[N>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){ix(c[U>>2]|0,126,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Jh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;ix(n,85,(c[T>>2]|0)+(e[(c[(c[F>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[K>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}ix(n,113,c[O>>2]|0,(c[K>>2]|0)+(c[E>>2]|0)|0)|0;jx(c[U>>2]|0,99,c[K>>2]|0,(c[E>>2]|0)+2|0,c[I>>2]|0)|0;ix(c[U>>2]|0,126,c[O>>2]|0,c[I>>2]|0)|0;if(c[B>>2]|0)Zz(c[U>>2]|0,c[B>>2]|0);xx(c[P>>2]|0,c[I>>2]|0);FA(c[P>>2]|0,c[K>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}ix(c[U>>2]|0,68,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function TG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;UG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=203;c[f+8>>2]=204;c[f+24>>2]=c[g>>2];wy(f,c[e>>2]|0)|0;i=d;return}function VG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+409>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Gh(b,35808,h)|0;mx(c[g>>2]|0,162,c[(c[e>>2]|0)+420>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function WG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+44>>0]|0|0}function XG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;jx(c[(c[j>>2]|0)+8>>2]|0,83,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;GA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function YG(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=CA(c[f>>2]|0,c[m>>2]|0)|0;aB(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Wz(c[u>>2]|0)|0;gH(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=fy(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+44|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}mx(c[u>>2]|0,88,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}mx(c[u>>2]|0,147,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Jh(c[u>>2]|0,c[m>>2]&255);WA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);FA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){_z(c[u>>2]|0,c[j>>2]|0);EC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Sz(c[u>>2]|0,21,c[t>>2]|0)|0;EC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;RA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;EC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Zz(c[u>>2]|0,c[h>>2]|0);i=v;return}function ZG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;mx(c[h>>2]|0,149,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function _G(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}jx(c[k>>2]|0,79,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=JG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;mx(c[k>>2]|0,107,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Eh(c[d>>2]|0,35757,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function $G(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function aH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+409>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?35716:18402;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=18402;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Gh(b,35739,l)|0;mx(c[(c[j>>2]|0)+8>>2]|0,162,c[(c[j>>2]|0)+420>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function bH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,35708)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,35712)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function cH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;u=E+84|0;h=E+80|0;B=E+76|0;v=E+72|0;s=E+68|0;D=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;x=E+36|0;m=E+32|0;t=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[u>>2]=a;c[h>>2]=b;c[B>>2]=e;c[v>>2]=f;c[s>>2]=g;c[D>>2]=c[(c[u>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[w>>2]=Wz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[x>>2]=d[c[s>>2]>>0];c[m>>2]=c[(c[s>>2]|0)+8>>2];if(c[(c[B>>2]|0)+16>>2]|0){ix(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Yz(c[D>>2]|0,c[C>>2]|0)|0;_z(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[x>>2]|0)==9|(c[x>>2]|0)==13|(c[x>>2]|0)==10){c[y>>2]=0;c[t>>2]=c[(c[s>>2]|0)+12>>2];c[p>>2]=c[v>>2]}else{c[y>>2]=vx(c[u>>2]|0)|0;c[t>>2]=CA(c[u>>2]|0,c[v>>2]|0)|0;c[p>>2]=c[v>>2]}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[u>>2]|0)+44|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[u>>2]|0)+40|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=fx(c[D>>2]|0,20)|0;jx(c[D>>2]|0,110,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Zz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(ix(c[D>>2]|0,55,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);jx(c[D>>2]|0,120,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(ix(c[D>>2]|0,56,c[z>>2]|0,c[C>>2]|0)|0);fH(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[w>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;jx(c[D>>2]|0,96,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[t>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[x>>2]|0){case 12:{ix(c[D>>2]|0,114,c[m>>2]|0,c[y>>2]|0)|0;jx(c[D>>2]|0,115,c[m>>2]|0,c[t>>2]|0,c[y>>2]|0)|0;Jh(c[D>>2]|0,8);break}case 11:{mx(c[D>>2]|0,99,c[t>>2]|0,c[v>>2]|0,c[y>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[t>>2]|0,c[v>>2]|0);ix(c[D>>2]|0,126,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:break;default:{h=c[D>>2]|0;j=c[s>>2]|0;if((c[x>>2]|0)==9){ix(h,87,c[j+12>>2]|0,c[v>>2]|0)|0;WA(c[u>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[v>>2]|0);break a}else{Sz(h,16,c[j+8>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){j=c[u>>2]|0;h=c[t>>2]|0;if((c[x>>2]|0)==11)FA(j,h,c[v>>2]|0);else xx(j,h);xx(c[u>>2]|0,c[y>>2]|0)}_z(c[D>>2]|0,c[w>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)ix(k,3,j,h)|0;else ix(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}Sz(c[D>>2]|0,72,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;_z(B,D);i=E;return}function dH(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+409>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;mC(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];nC(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Gh(g,35699,v)|0}else g=qh(g,c[w>>2]|0)|0;c[w>>2]=g;nC(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=24745;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;nC(e,f,0,qh(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Gh(f,30161,u)|0;nC(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{nC(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}eH(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=dy(h,c[g>>2]|0,0)|0;nC(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}jx(c[e>>2]|0,66,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function gH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=vx(c[j>>2]|0)|0;Ih(c[l>>2]|0,31,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;jx(c[l>>2]|0,99,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;ix(c[l>>2]|0,126,c[k>>2]|0,c[h>>2]|0)|0;xx(c[j>>2]|0,c[h>>2]|0);i=g;return}function hH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=jH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+44|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(Ky(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=kH(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+44|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ki(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+40|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function iH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=SC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function lH(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;r=L+96|0;s=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;t=L+76|0;p=L+72|0;K=L+68|0;x=L+64|0;A=L+60|0;q=L+56|0;H=L+52|0;J=L+48|0;C=L+44|0;D=L+40|0;z=L+36|0;I=L+32|0;v=L+28|0;w=L+24|0;F=L+20|0;B=L+16|0;E=L+12|0;u=L+8|0;G=L+4|0;y=L;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[K>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[A>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[A>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[J>>2]=j;c[C>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[H>>2]=(c[n>>2]|0)-(c[A>>2]|0)-(c[x>>2]|0);else{c[H>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;j=(c[r>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[z>>2]=k;m=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;aB(c[r>>2]|0,c[c[s>>2]>>2]|0,c[H>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)ix(c[K>>2]|0,113,c[(c[s>>2]|0)+8>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;if(!(c[p>>2]|0))XG(c[r>>2]|0,c[n>>2]|0,(c[H>>2]|0)+(c[A>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);jx(c[K>>2]|0,99,(c[H>>2]|0)+(c[C>>2]|0)|0,(c[q>>2]|0)-(c[C>>2]|0)|0,c[J>>2]|0)|0;if((c[C>>2]|0)>0){c[I>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;k=(c[r>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[B>>2]=(c[A>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[K>>2]|0;if(c[x>>2]|0)c[v>>2]=Sz(k,22,(c[H>>2]|0)+(c[A>>2]|0)|0)|0;else c[v>>2]=Sz(k,109,c[(c[s>>2]|0)+8>>2]|0)|0;jx(c[K>>2]|0,95,c[I>>2]|0,c[H>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[F>>2]=eA(c[K>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=L;return}c[(c[F>>2]|0)+8>>2]=(c[B>>2]|0)+(c[t>>2]|0);c[E>>2]=c[(c[F>>2]|0)+16>>2];VR(c[(c[E>>2]|0)+16>>2]|0,0,e[(c[E>>2]|0)+6>>1]|0)|0;Mh(c[K>>2]|0,-1,c[E>>2]|0,-6);E=JG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[C>>2]|0,(e[(c[E>>2]|0)+8>>1]|0)-1|0)|0;c[(c[F>>2]|0)+16>>2]=E;c[w>>2]=wx(c[K>>2]|0)|0;jx(c[K>>2]|0,18,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;E=Wz(c[K>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=E;E=(c[r>>2]|0)+44|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[s>>2]|0)+12>>2]=F;ix(c[K>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Sz(c[K>>2]|0,133,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[z>>2]|0)ix(c[K>>2]|0,22,c[z>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Zz(c[K>>2]|0,c[v>>2]|0);XG(c[r>>2]|0,c[H>>2]|0,c[I>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Zz(c[K>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[D>>2]=125;else c[D>>2]=126;ix(c[K>>2]|0,c[D>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[J>>2]|0)|0;if(!(c[z>>2]|0)){i=L;return}c[G>>2]=0;c[u>>2]=jx(c[K>>2]|0,67,c[z>>2]|0,0,1)|0;Sz(c[K>>2]|0,53,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){I=(c[r>>2]|0)+44|0;J=(c[I>>2]|0)+1|0;c[I>>2]=J;c[G>>2]=J;jx(c[K>>2]|0,96,c[(c[s>>2]|0)+8>>2]|0,c[A>>2]|0,c[G>>2]|0)|0}Sz(c[K>>2]|0,117,c[(c[s>>2]|0)+8>>2]|0)|0;if(a[(c[s>>2]|0)+29>>0]|0){c[y>>2]=(wx(c[K>>2]|0)|0)+2;jx(c[K>>2]|0,37,(c[H>>2]|0)+(c[A>>2]|0)|0,c[y>>2]|0,c[G>>2]|0)|0;Jh(c[K>>2]|0,-128)}Zz(c[K>>2]|0,c[u>>2]|0);i=L;return}function mH(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=Iy(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;iv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=mH(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=mH(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){nH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{oH(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function nH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){oH(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);oH(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=mH(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=mH(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;nH(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)oH(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function oH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=mH(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function pH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Pv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function qH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+120|0;p=G+116|0;q=G+112|0;g=G+108|0;l=G+104|0;E=G+100|0;A=G+96|0;t=G+92|0;s=G+88|0;r=G+84|0;v=G+80|0;B=G+76|0;w=G+72|0;k=G+68|0;j=G+64|0;u=G+40|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(ax(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Wz(c[E>>2]|0)|0;KG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+40|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;vB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;jx(c[E>>2]|0,110,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=uH(c[o>>2]|0,c[p>>2]|0,1)|0;mx(c[E>>2]|0,107,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+20>>2]=c[z>>2]}else ix(c[E>>2]|0,107,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=ix(c[E>>2]|0,107,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|32}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Pv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=ix(c[E>>2]|0,57,c[w>>2]|0,c[r>>2]|0)|0;Sz(c[E>>2]|0,124,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)jx(b,96,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else ix(b,122,e,c[B>>2]|0)|0;Sz(c[E>>2]|0,117,c[w>>2]|0)|0;c[s>>2]=Wz(c[E>>2]|0)|0;fH(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);SG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)ix(c[E>>2]|0,68,c[C>>2]|0,c[r>>2]|0)|0;_z(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Eh(c[o>>2]|0,35980,F);else{c[(c[p>>2]|0)+48>>2]=0;Pv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Yz(c[E>>2]|0,c[t>>2]|0)|0;_z(c[E>>2]|0,c[r>>2]|0)}ev(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function rH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+220|0;r=ba+216|0;s=ba+212|0;t=ba+208|0;j=ba+204|0;k=ba+200|0;S=ba+196|0;aa=ba+192|0;H=ba+168|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Wz(c[aa>>2]|0)|0;c[L>>2]=Wz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Wv(c[G>>2]|0,134,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Tv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Vw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=uH(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=Qy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+44>>2]|0)+1;f=(c[r>>2]|0)+44|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);ix(c[aa>>2]|0,76,0,c[Z>>2]|0)|0;c[Q>>2]=iA(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=tH(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ty(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29099)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ty(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29099)|0;KG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+44|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+44|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;ix(c[aa>>2]|0,84,j,c[V>>2]|0)|0;ix(c[aa>>2]|0,84,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}iv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;iv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;vB(H,13,c[T>>2]|0);vB(I,13,c[U>>2]|0);c[E>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[S>>2]|0,H)|0;YC(c[aa>>2]|0,c[T>>2]|0);Zz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(wx(c[aa>>2]|0)|0)+1;c[v>>2]=jx(c[aa>>2]|0,15,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+424>>2];Pv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];YC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=vH(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=vH(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;jA(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=ix(c[aa>>2]|0,16,c[U>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[z>>2]|0)|0;$=nE(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[M>>2]|0)|0;Yz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=ix(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=ix(c[aa>>2]|0,16,c[T>>2]|0,c[z>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=wx(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)ix(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;Yz(c[aa>>2]|0,c[L>>2]|0)|0;Zz(c[aa>>2]|0,c[v>>2]|0);ix(c[aa>>2]|0,16,c[T>>2]|0,c[A>>2]|0)|0;ix(c[aa>>2]|0,16,c[U>>2]|0,c[B>>2]|0)|0;_z(c[aa>>2]|0,c[L>>2]|0);mx(c[aa>>2]|0,94,0,0,0,c[u>>2]|0,-15)|0;mx(c[aa>>2]|0,95,c[H+12>>2]|0,c[I+12>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Jh(c[aa>>2]|0,1);jx(c[aa>>2]|0,18,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;_z(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}dH(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)fv(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];sH(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+36>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function sH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+409>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?35924:18402;b=Sy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Gh(a,35943,o)|0;mx(c[n>>2]|0,162,c[(c[h>>2]|0)+420>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function tH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=tH(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=fy(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function uH(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=iA(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=fy(f,c[q>>2]|0)|0;else{c[m>>2]=tH(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Wy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function vH(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=wx(c[C>>2]|0)|0;c[y>>2]=Wz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Sz(c[C>>2]|0,22,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+12>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+16>>2]|0;c[x>>2]=mx(k,95,b,j,h,nA(c[t>>2]|0)|0,-6)|0;jx(c[C>>2]|0,18,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Zz(c[C>>2]|0,c[w>>2]|0);jx(c[C>>2]|0,84,c[(c[p>>2]|0)+12>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+16>>2]|0)-1|0)|0;ix(c[C>>2]|0,76,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}fH(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=vx(c[n>>2]|0)|0;c[B>>2]=vx(c[n>>2]|0)|0;jx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[z>>2]|0)|0;ix(c[C>>2]|0,114,c[(c[q>>2]|0)+8>>2]|0,c[B>>2]|0)|0;jx(c[C>>2]|0,115,c[(c[q>>2]|0)+8>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Jh(c[C>>2]|0,8);xx(c[n>>2]|0,c[B>>2]|0);xx(c[n>>2]|0,c[z>>2]|0);break}case 11:{c[A>>2]=vx(c[n>>2]|0)|0;mx(c[C>>2]|0,99,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[A>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);ix(c[C>>2]|0,126,c[(c[q>>2]|0)+8>>2]|0,c[A>>2]|0)|0;xx(c[n>>2]|0,c[A>>2]|0);break}case 10:{XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+8>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+12>>2]|0)){h=CA(c[n>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[q>>2]|0)+12>>2]=h;c[(c[q>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2]}XG(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0);Sz(c[C>>2]|0,16,c[(c[q>>2]|0)+8>>2]|0)|0;break}default:{ix(c[C>>2]|0,87,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;WA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)ix(c[C>>2]|0,68,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;_z(c[C>>2]|0,c[y>>2]|0);Sz(c[C>>2]|0,72,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function wH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=dx(c[g>>2]|0)|0;do if(!(Yx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&33554432)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Wz(c[n>>2]|0)|0;ix(c[n>>2]|0,65,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+150>>0]=1;f=c[g>>2]|0;cw(f,Gz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+150>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&33554432)){f=c[n>>2]|0;ix(f,65,0,(wx(c[n>>2]|0)|0)+2|0)|0;tA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}_z(c[n>>2]|0,c[l>>2]|0);i=o;return}function xH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=dx(c[g>>2]|0)|0;rx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)fx(c[o>>2]|0,152)|0;c[n>>2]=zx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;_B(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;cx(n,36169,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?19905:19924;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;cx(p,36214,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)yH(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}mx(c[o>>2]|0,154,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;mx(o,138,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;ex(q,p);p=c[l>>2]|0;q=c[j>>2]|0;zH(p,q);i=r;return}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;RC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function zH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){AH(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function AH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function BH(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(Ay(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}By(n,c[m>>2]|0)|0;i=p;return}function CH(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;i=f;return}if((d[b>>0]|0|0)!=53){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;i=f;return}function DH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function EH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Mj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function FH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;GH(c[e>>2]|0,c[f>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function GH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function HH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=xB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function IH(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];a:do if(!(a[(c[k>>2]|0)+148+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break a;if(d[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+15>>0]&1)a[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[h>>2]|0)+410>>0]|0){i=v;return}if(c[(c[h>>2]|0)+132>>2]|0)LG(c[t>>2]|0,c[(c[h>>2]|0)+132>>2]|0,-122);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Xy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Tv(t,0,jw(c[k>>2]|0,55,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+408>>0]|0;Iv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0,2);if(a[(c[k>>2]|0)+69>>0]|0){i=v;return}else{c[s>>2]=Jj(c[j>>2]|0)|0;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Jj(f)|0;if(c[t>>2]|0)LG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;if(!(a[(c[k>>2]|0)+148+7>>0]|0)){t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[p>>2]=e[(c[s>>2]|0)+50>>1];c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];b:while(1){if(!(c[q>>2]|0))break;c:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(NH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=50;break b}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break c;if(!(DH(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==50){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(NH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(DH(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=34834;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function JH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Mj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function KH(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(LH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=LH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=18402;c[t>>2]=34710;c[r>>2]=34706}else{c[s>>2]=37369;c[t>>2]=37373;c[r>>2]=37378}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ch(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){mh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37381,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;MH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];MH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[5492+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;TR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,18391,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function LH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function MH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[18403+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[18403+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Di(c[m>>2]|0,c[k>>2]|0)|0)==55:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function NH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=sh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{TR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);TR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);TR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;Tz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?19905:19924);Ih(c[g>>2]|0,105,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+40>>2]|0){i=e;return}c[(c[d>>2]|0)+40>>2]=1;i=e;return}function PH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=dx(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+112>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+116>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];mx(c[h>>2]|0,151,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function QH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Uz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,104);hx(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Kh(c[k>>2]|0,10,37557,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function RH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,39546,d);i=b;return} +function gw(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+304|0;C=oa+32|0;B=oa+16|0;A=oa;F=oa+284|0;G=oa+280|0;H=oa+276|0;I=oa+272|0;J=oa+268|0;P=oa+264|0;ca=oa+260|0;k=oa+256|0;R=oa+252|0;Z=oa+248|0;V=oa+244|0;na=oa+240|0;aa=oa+236|0;_=oa+232|0;$=oa+228|0;S=oa+224|0;T=oa+220|0;W=oa+216|0;Q=oa+212|0;la=oa+208|0;N=oa+204|0;M=oa+200|0;p=oa+176|0;q=oa+172|0;ma=oa+291|0;O=oa+290|0;D=oa+289|0;o=oa+288|0;ba=oa+168|0;ha=oa+164|0;fa=oa+160|0;ja=oa+156|0;ia=oa+152|0;ka=oa+148|0;ga=oa+144|0;K=oa+140|0;Y=oa+136|0;da=oa+132|0;z=oa+128|0;x=oa+124|0;n=oa+120|0;t=oa+116|0;v=oa+112|0;w=oa+108|0;m=oa+104|0;y=oa+72|0;r=oa+68|0;u=oa+64|0;l=oa+60|0;s=oa+56|0;L=oa+52|0;U=oa+48|0;ea=oa+44|0;X=oa+40|0;c[F>>2]=e;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[J>>2]=j;c[$>>2]=0;c[S>>2]=0;c[T>>2]=0;c[W>>2]=-1;c[la>>2]=0;c[N>>2]=0;c[M>>2]=0;a[ma>>0]=0;a[O>>0]=0;c[ba>>2]=0;c[ha>>2]=0;c[fa>>2]=0;c[ja>>2]=0;c[K>>2]=0;c[P>>2]=c[c[F>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;a:do if((c[(c[F>>2]|0)+36>>2]|0)==0?(d[(c[P>>2]|0)+69>>0]|0)==0:0){if(((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&512|0)!=0:0)?(c[(c[H>>2]|0)+48>>2]|0)==0:0){c[ba>>2]=c[c[H>>2]>>2];c[c[H>>2]>>2]=0;fv(c[P>>2]|0,c[H>>2]|0);c[H>>2]=0}c[k>>2]=c[(c[G>>2]|0)+8+8>>2];if((((((c[k>>2]|0)!=0?(c[ca>>2]=bC(c[F>>2]|0,c[G>>2]|0)|0,(c[ca>>2]|0)!=0):0)?(c[q>>2]=Fh(c[P>>2]|0,c[(c[ca>>2]|0)+64>>2]|0)|0,(ax(c[F>>2]|0,18,c[c[ca>>2]>>2]|0,0,c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0)|0)==0):0)?(a[D>>0]=((d[(c[ca>>2]|0)+42>>0]&32|0)==0^1)&1,c[da>>2]=TC(c[F>>2]|0,c[ca>>2]|0,108,0,z)|0,c[Y>>2]=(c[(c[ca>>2]|0)+12>>2]|0)!=0&1,(Tx(c[F>>2]|0,c[ca>>2]|0)|0)==0):0)?(UC(c[F>>2]|0,c[ca>>2]|0,c[z>>2]|0)|0)==0:0)?(c[na>>2]=dx(c[F>>2]|0)|0,(c[na>>2]|0)!=0):0){if(!(d[(c[F>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[F>>2]|0,((c[H>>2]|0)!=0?1:(c[da>>2]|0)!=0)&1,c[q>>2]|0);if(!((c[I>>2]|0)==0?(WC(c[F>>2]|0,c[ca>>2]|0,c[H>>2]|0,c[J>>2]|0,c[q>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){c[fa>>2]=XC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0;k=(c[(c[F>>2]|0)+44>>2]|0)+1|0;c[ia>>2]=k;c[ka>>2]=k;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+((b[(c[ca>>2]|0)+34>>1]|0)+1);if(d[(c[ca>>2]|0)+42>>0]&16){c[ka>>2]=(c[ka>>2]|0)+1;k=(c[F>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+1}c[ga>>2]=(c[ka>>2]|0)+1;a[o>>0]=(d[(c[ca>>2]|0)+42>>0]&128|0)==0;c:do if(c[I>>2]|0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=-1;c[R>>2]=(c[R>>2]|0)+1}c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break c;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;k=(ig(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[Z>>2]<<4)>>2]|0)|0)==0;j=c[Z>>2]|0;if(k){E=28;break}c[Z>>2]=j+1}do if((E|0)==28){E=0;c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)+4>>2]=j;if((c[R>>2]|0)!=(c[Z>>2]|0))a[o>>0]=0;if((c[Z>>2]|0)!=(b[(c[ca>>2]|0)+32>>1]|0))break;c[W>>2]=c[R>>2]}while(0);if((c[Z>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0)){k=(ui(c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0)|0)==0;if(k|(a[D>>0]|0)!=0)break;c[W>>2]=c[R>>2];a[o>>0]=0}c[R>>2]=(c[R>>2]|0)+1}na=c[F>>2]|0;ma=c[(c[c[I>>2]>>2]|0)+(c[R>>2]<<3)>>2]|0;c[A>>2]=c[G>>2];c[A+4>>2]=0;c[A+8>>2]=ma;Eh(na,34261,A);a[(c[F>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[H>>2]|0)){c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;c[y+24>>2]=0;c[y+28>>2]=0;c[y>>2]=c[F>>2];c[la>>2]=-1;if(c[ba>>2]|0){c[_>>2]=c[c[ba>>2]>>2];if(By(y,c[ba>>2]|0)|0)break a;else break}else{c[_>>2]=0;break}}else{y=(c[F>>2]|0)+44|0;A=(c[y>>2]|0)+1|0;c[y>>2]=A;c[x>>2]=A;c[n>>2]=(wx(c[na>>2]|0)|0)+1;jx(c[na>>2]|0,15,c[x>>2]|0,0,c[n>>2]|0)|0;vB(p,13,c[x>>2]|0);c[p+12>>2]=(d[o>>0]|0)!=0?c[ga>>2]|0:0;c[p+16>>2]=b[(c[ca>>2]|0)+34>>1];c[t>>2]=Pv(c[F>>2]|0,c[H>>2]|0,p)|0;c[ha>>2]=c[p+12>>2];if(c[t>>2]|0)break a;if(d[(c[P>>2]|0)+69>>0]|0)break a;if(c[(c[F>>2]|0)+36>>2]|0)break a;YC(c[na>>2]|0,c[x>>2]|0);Zz(c[na>>2]|0,(c[n>>2]|0)-1|0);c[_>>2]=c[c[c[H>>2]>>2]>>2];if(!((c[da>>2]|0)==0?(ZC(c[F>>2]|0,c[q>>2]|0,c[ca>>2]|0)|0)==0:0))a[ma>>0]=1;if(!(a[ma>>0]|0))break;y=(c[F>>2]|0)+40|0;A=c[y>>2]|0;c[y>>2]=A+1;c[la>>2]=A;c[v>>2]=vx(c[F>>2]|0)|0;c[w>>2]=vx(c[F>>2]|0)|0;ix(c[na>>2]|0,107,c[la>>2]|0,c[_>>2]|0)|0;c[m>>2]=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;jx(c[na>>2]|0,99,c[ha>>2]|0,c[_>>2]|0,c[v>>2]|0)|0;ix(c[na>>2]|0,114,c[la>>2]|0,c[w>>2]|0)|0;jx(c[na>>2]|0,115,c[la>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;Yz(c[na>>2]|0,c[m>>2]|0)|0;Zz(c[na>>2]|0,c[m>>2]|0);xx(c[F>>2]|0,c[v>>2]|0);xx(c[F>>2]|0,c[w>>2]|0)}while(0);if((c[I>>2]|0)==0&(c[_>>2]|0)>0)c[W>>2]=b[(c[ca>>2]|0)+32>>1];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[$>>2]=(c[$>>2]|0)+((d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2|0)!=0?1:0);c[R>>2]=(c[R>>2]|0)+1}if((c[I>>2]|0)==0&(c[_>>2]|0)!=0?(c[_>>2]|0)!=((b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0):0){na=c[F>>2]|0;la=(b[(c[ca>>2]|0)+34>>1]|0)-(c[$>>2]|0)|0;ma=c[_>>2]|0;c[B>>2]=c[G>>2];c[B+4>>2]=0;c[B+8>>2]=la;c[B+12>>2]=ma;Eh(na,34293,B);break a}do if(c[I>>2]|0){if((c[_>>2]|0)==(c[(c[I>>2]|0)+4>>2]|0))break;na=c[F>>2]|0;ma=c[(c[I>>2]|0)+4>>2]|0;c[C>>2]=c[_>>2];c[C+4>>2]=ma;Eh(na,34345,C);break a}while(0);if(c[(c[P>>2]|0)+24>>2]&128){B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[ja>>2]=C;ix(c[na>>2]|0,76,0,c[ja>>2]|0)|0}d:do if(!(c[Y>>2]|0)){c[r>>2]=FC(c[F>>2]|0,c[ca>>2]|0,105,0,-1,0,S,T)|0;c[K>>2]=Vw(c[P>>2]|0,(c[r>>2]|0)+1<<2,0)|0;if(!(c[K>>2]|0))break a;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[r>>2]|0))break d;B=(c[F>>2]|0)+44|0;C=(c[B>>2]|0)+1|0;c[B>>2]=C;c[(c[K>>2]|0)+(c[R>>2]<<2)>>2]=C;c[R>>2]=(c[R>>2]|0)+1}}while(0);do if(a[ma>>0]|0){c[N>>2]=Sz(c[na>>2]|0,57,c[la>>2]|0)|0;c[M>>2]=wx(c[na>>2]|0)|0}else{if(!(c[H>>2]|0))break;C=Sz(c[na>>2]|0,16,c[p+8>>2]|0)|0;c[M>>2]=C;c[N>>2]=C}while(0);c[Q>>2]=Wz(c[na>>2]|0)|0;if(c[z>>2]&1){c[u>>2]=CA(c[F>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)|0;if((c[W>>2]|0)<0)ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;else{if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[u>>2]|0)|0;else RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[u>>2]|0);c[l>>2]=Sz(c[na>>2]|0,35,c[u>>2]|0)|0;ix(c[na>>2]|0,76,-1,c[u>>2]|0)|0;Zz(c[na>>2]|0,c[l>>2]|0);Sz(c[na>>2]|0,17,c[u>>2]|0)|0}c[Z>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;e:do if(c[I>>2]|0){c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break e;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break e;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if((a[ma>>0]|0)!=0|(c[ba>>2]|0)!=0){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0){E=90;break}if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)|0;break}else{_C(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;RA(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,(c[u>>2]|0)+(c[R>>2]|0)+1|0)}if(!(c[I>>2]|0))c[Z>>2]=(c[Z>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+1}if(!(c[Y>>2]|0))$C(c[na>>2]|0,c[ca>>2]|0,(c[u>>2]|0)+1|0);aD(c[F>>2]|0,c[da>>2]|0,108,0,1,c[ca>>2]|0,(c[u>>2]|0)-(b[(c[ca>>2]|0)+34>>1]|0)-1|0,c[J>>2]|0,c[Q>>2]|0);FA(c[F>>2]|0,c[u>>2]|0,(b[(c[ca>>2]|0)+34>>1]|0)+1|0)}do if(!(c[Y>>2]|0)){if(d[(c[ca>>2]|0)+42>>0]&16)ix(c[na>>2]|0,79,0,c[ia>>2]|0)|0;f:do if((c[W>>2]|0)>=0){do if(a[ma>>0]|0)jx(c[na>>2]|0,96,c[la>>2]|0,c[W>>2]|0,c[ka>>2]|0)|0;else{if(c[H>>2]|0){ix(c[na>>2]|0,84,(c[ha>>2]|0)+(c[W>>2]|0)|0,c[ka>>2]|0)|0;break}RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0,c[ka>>2]|0);c[s>>2]=eA(c[na>>2]|0,-1)|0;if(!(c[s>>2]|0))break;if((d[c[s>>2]>>0]|0)!=79)break;if(d[(c[ca>>2]|0)+42>>0]&16)break;a[O>>0]=1;a[c[s>>2]>>0]=114;c[(c[s>>2]|0)+4>>2]=c[S>>2];c[(c[s>>2]|0)+8>>2]=c[ka>>2];c[(c[s>>2]|0)+12>>2]=c[fa>>2]}while(0);if(a[O>>0]|0)break;j=c[na>>2]|0;if(d[(c[ca>>2]|0)+42>>0]&16){c[L>>2]=wx(j)|0;ix(c[na>>2]|0,34,c[ka>>2]|0,(c[L>>2]|0)+2|0)|0}else{c[L>>2]=Sz(j,35,c[ka>>2]|0)|0;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;Zz(c[na>>2]|0,c[L>>2]|0)}Sz(c[na>>2]|0,17,c[ka>>2]|0)|0}else{do if(!(d[(c[ca>>2]|0)+42>>0]&16)){if(d[D>>0]|0)break;jx(c[na>>2]|0,114,c[S>>2]|0,c[ka>>2]|0,c[fa>>2]|0)|0;a[O>>0]=1;break f}while(0);ix(c[na>>2]|0,79,0,c[ka>>2]|0)|0}while(0);bD(c[F>>2]|0,c[fa>>2]|0,c[ka>>2]|0);c[$>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(b[(c[ca>>2]|0)+34>>1]|0))break;c[U>>2]=(c[ka>>2]|0)+1+(c[R>>2]|0);g:do if((c[R>>2]|0)==(b[(c[ca>>2]|0)+32>>1]|0))Sz(c[na>>2]|0,80,c[U>>2]|0)|0;else{h:do if(!(c[I>>2]|0))if(d[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+15>>0]&2){c[Z>>2]=-1;c[$>>2]=(c[$>>2]|0)+1;break}else{c[Z>>2]=(c[R>>2]|0)-(c[$>>2]|0);break}else{c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0))break h;if((c[(c[c[I>>2]>>2]|0)+(c[Z>>2]<<3)+4>>2]|0)==(c[R>>2]|0))break h;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);do if(!((c[Z>>2]|0)<0|(c[_>>2]|0)==0)){if((c[I>>2]|0)!=0?(c[Z>>2]|0)>=(c[(c[I>>2]|0)+4>>2]|0):0)break;if(a[ma>>0]|0){jx(c[na>>2]|0,96,c[la>>2]|0,c[Z>>2]|0,c[U>>2]|0)|0;break g}if(!(c[H>>2]|0)){RA(c[F>>2]|0,c[(c[(c[ba>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[U>>2]|0);break g}if((c[ha>>2]|0)==(c[ga>>2]|0))break g;ix(c[na>>2]|0,85,(c[ha>>2]|0)+(c[Z>>2]|0)|0,c[U>>2]|0)|0;break g}while(0);cD(c[F>>2]|0,c[(c[(c[ca>>2]|0)+4>>2]|0)+(c[R>>2]<<4)+4>>2]|0,c[U>>2]|0)}while(0);c[R>>2]=(c[R>>2]|0)+1}if(d[(c[ca>>2]|0)+42>>0]&16){c[ea>>2]=Ux(c[P>>2]|0,c[ca>>2]|0)|0;dD(c[F>>2]|0,c[ca>>2]|0);mx(c[na>>2]|0,12,1,(b[(c[ca>>2]|0)+34>>1]|0)+2|0,c[ia>>2]|0,c[ea>>2]|0,-10)|0;Jh(c[na>>2]|0,((c[J>>2]|0)==10?2:c[J>>2]|0)&255);Vx(c[F>>2]|0);break}else{eD(c[F>>2]|0,c[ca>>2]|0,c[K>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,0,(c[W>>2]|0)>=0&255,c[J>>2]&255,c[Q>>2]|0,X,0);fD(c[F>>2]|0,c[ca>>2]|0,0,c[ia>>2]|0,0,0);gD(c[F>>2]|0,c[ca>>2]|0,c[S>>2]|0,c[T>>2]|0,c[ia>>2]|0,c[K>>2]|0,0,d[O>>0]|0,(c[X>>2]|0)==0&1);break}}while(0);if(c[(c[P>>2]|0)+24>>2]&128)ix(c[na>>2]|0,91,c[ja>>2]|0,1)|0;if(c[da>>2]|0)aD(c[F>>2]|0,c[da>>2]|0,108,0,2,c[ca>>2]|0,(c[ga>>2]|0)-2-(b[(c[ca>>2]|0)+34>>1]|0)|0,c[J>>2]|0,c[Q>>2]|0);_z(c[na>>2]|0,c[Q>>2]|0);do if(a[ma>>0]|0){ix(c[na>>2]|0,7,c[la>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0);Sz(c[na>>2]|0,111,c[la>>2]|0)|0}else{if(!(c[H>>2]|0))break;Yz(c[na>>2]|0,c[M>>2]|0)|0;Zz(c[na>>2]|0,c[N>>2]|0)}while(0);if((c[Y>>2]|0)!=0?1:(d[(c[ca>>2]|0)+42>>0]&16|0)!=0)break;if((c[S>>2]|0)<(c[T>>2]|0))Sz(c[na>>2]|0,111,c[S>>2]|0)|0;c[V>>2]=0;c[aa>>2]=c[(c[ca>>2]|0)+8>>2];while(1){if(!(c[aa>>2]|0))break b;Sz(c[na>>2]|0,111,(c[V>>2]|0)+(c[T>>2]|0)|0)|0;c[aa>>2]=c[(c[aa>>2]|0)+20>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);if((d[(c[F>>2]|0)+18>>0]|0)==0?(c[(c[F>>2]|0)+128>>2]|0)==0:0)hD(c[F>>2]|0);if(((c[(c[P>>2]|0)+24>>2]&128|0)!=0?(a[(c[F>>2]|0)+18>>0]|0)==0:0)?(c[(c[F>>2]|0)+128>>2]|0)==0:0){ix(c[na>>2]|0,87,c[ja>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,34370,0)|0}}}while(0);hv(c[P>>2]|0,c[G>>2]|0);ev(c[P>>2]|0,c[ba>>2]|0);fv(c[P>>2]|0,c[H>>2]|0);kv(c[P>>2]|0,c[I>>2]|0);Tf(c[P>>2]|0,c[K>>2]|0);i=oa;return}function hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=sh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=SC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){kv(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Tw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=0;c[n>>2]=0;do if(c[l>>2]|0){if(((c[k>>2]|0)==134?(c[c[l>>2]>>2]|0)!=0:0)?(Qi(c[c[l>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[l>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Vw(c[j>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}j=c[p>>2]|0;e=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(e|0));a[c[p>>2]>>0]=c[k>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[l>>2]|0){j=c[p>>2]|0;if(!(c[o>>2]|0)){o=j+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=j+48;if(c[(c[l>>2]|0)+4>>2]|0)TR(c[(c[p>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0)>>0]=0;if((c[m>>2]|0)!=0?(d[18403+(d[c[(c[p>>2]|0)+8>>2]>>0]|0)>>0]&128|0)!=0:0){if((a[c[(c[p>>2]|0)+8>>2]>>0]|0)==34){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}Zw(c[(c[p>>2]|0)+8>>2]|0)}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function kw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+16|0;p=u+8|0;g=u+44|0;h=u+40|0;j=u+36|0;m=u+32|0;s=u+28|0;r=u+50|0;n=u;l=u+24|0;o=u+48|0;k=u+20|0;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[g>>2]>>2];if(!(c[h>>2]|0)){i=u;return}c[s>>2]=c[(c[h>>2]|0)+8>>2];if(a[(c[s>>2]|0)+1>>0]|0){do if((a[c[s>>2]>>0]|0)!=63){b[r>>1]=0;b[o>>1]=0;while(1){if((b[o>>1]|0)>=(c[(c[g>>2]|0)+404>>2]|0))break;if((c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0)!=0?(hR(c[(c[(c[g>>2]|0)+428>>2]|0)+(b[o>>1]<<2)>>2]|0,c[s>>2]|0)|0)==0:0){t=14;break}b[o>>1]=(b[o>>1]|0)+1<<16>>16}if((t|0)==14)b[r>>1]=(b[o>>1]|0)+1;if(!(b[r>>1]|0)){p=(c[g>>2]|0)+400|0;t=(b[p>>1]|0)+1<<16>>16;b[p>>1]=t;b[r>>1]=t}}else{c[l>>2]=0==(Mi((c[s>>2]|0)+1|0,n,(c[j>>2]|0)-1|0,1)|0)&1;b[r>>1]=c[n>>2];t=n;d=c[t+4>>2]|0;if(!((c[l>>2]|0)==0|((d|0)<0|(d|0)==0&(c[t>>2]|0)>>>0<1))?(d=n,f=c[d+4>>2]|0,t=c[(c[m>>2]|0)+96+36>>2]|0,e=((t|0)<0)<<31>>31,!((f|0)>(e|0)|((f|0)==(e|0)?(c[d>>2]|0)>>>0>t>>>0:0))):0){p=n;e=c[p+4>>2]|0;t=b[(c[g>>2]|0)+400>>1]|0;d=((t|0)<0)<<31>>31;if(!((e|0)>(d|0)|((e|0)==(d|0)?(c[p>>2]|0)>>>0>t>>>0:0)))break;b[(c[g>>2]|0)+400>>1]=c[n>>2];break}t=c[g>>2]|0;c[p>>2]=c[(c[m>>2]|0)+96+36>>2];Eh(t,34195,p);i=u;return}while(0);b[(c[h>>2]|0)+32>>1]=b[r>>1]|0;do if((b[r>>1]|0)>(c[(c[g>>2]|0)+404>>2]|0)){c[k>>2]=Uw(c[m>>2]|0,c[(c[g>>2]|0)+428>>2]|0,b[r>>1]<<2,0)|0;if(!(c[k>>2]|0)){i=u;return}else{c[(c[g>>2]|0)+428>>2]=c[k>>2];VR((c[k>>2]|0)+(c[(c[g>>2]|0)+404>>2]<<2)|0,0,(b[r>>1]|0)-(c[(c[g>>2]|0)+404>>2]|0)<<2|0)|0;c[(c[g>>2]|0)+404>>2]=b[r>>1];break}}while(0);if(!(c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]|0)){t=Yw(c[m>>2]|0,c[s>>2]|0,c[j>>2]|0,0)|0;c[(c[(c[g>>2]|0)+428>>2]|0)+((b[r>>1]|0)-1<<2)>>2]=t}}else{s=(c[g>>2]|0)+400|0;t=(b[s>>1]|0)+1<<16>>16;b[s>>1]=t;b[(c[h>>2]|0)+32>>1]=t}if((b[(c[g>>2]|0)+400>>1]|0)<=(c[(c[m>>2]|0)+96+36>>2]|0)){i=u;return}Eh(c[g>>2]|0,34238,q);i=u;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=jw(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function mw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=jw(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){ev(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];sw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function nw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=Ev(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function pw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=Ev(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function qw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];iv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function rw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=Ev(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){i=f;return}zz(c[e>>2]|0);Zy(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]|2099200;sw(c[e>>2]|0,c[f>>2]|0);i=h;return}else{fv(c[c[e>>2]>>2]|0,c[g>>2]|0);i=h;return}}function uw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Tv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+148+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Eh(p,34155,l)}Uv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function vw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(Kz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[h>>2]=Kj(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)ZB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Eh(f,33945,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Eh(t,33963,l);s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[g>>2]=Fh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?19905:19924;if(ax(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(ax(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}c[k>>2]=dx(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}rx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?19905:19924;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;cx(t,34036,m);QC(c[p>>2]|0,c[g>>2]|0,30854,c[c[h>>2]>>2]|0);ex(c[p>>2]|0,c[g>>2]|0);RC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);mx(c[k>>2]|0,139,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;hv(s,t);i=u;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=dx(c[d>>2]|0)|0;if(c[e>>2]|0)d=Oz(c[d>>2]|0,c[e>>2]|0,c[e>>2]|0,e)|0;else d=0;c[f>>2]=d;if(!(c[g>>2]|0)){i=h;return}if(!((c[f>>2]|0)>=2|(c[f>>2]|0)==0)){i=h;return}Sz(c[g>>2]|0,10,c[f>>2]|0)|0;Lh(c[g>>2]|0,c[f>>2]|0);i=h;return}function xw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=dx(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}iC(c[bc>>2]|0);c[(c[ac>>2]|0)+44>>2]=2;c[$b>>2]=Oz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(tx(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Tw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Gh(k,32103,p)|0}else c[ec>>2]=Tw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(ax(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){jC(c[bc>>2]|0,32107,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Eh(bc,18391,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[4476+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=4476+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(Kz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Lh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Dj(Pi(c[ec>>2]|0)|0)|0;rx(c[ac>>2]|0,0,c[$b>>2]|0);jx(c[bc>>2]|0,102,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{kC(c[bc>>2]|0,32114);ac=(c[ac>>2]|0)+44|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Kh(c[bc>>2]|0,9,32125,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Pi(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+80>>2]=bc;if(7!=(Ci(c[_>>2]|0,c[(c[cc>>2]|0)+80>>2]|0,-1,0)|0))break a;mh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=sg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;lC(c[bc>>2]|0,32161,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Gi(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;VB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=VB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;lC(c[bc>>2]|0,32171,ac,((ac|0)<0)<<31>>31);break a}case 23:{sx(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+44|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==112)ix(m,158,l,k)|0;else jx(m,159,l,k,Dj(Pi(c[ec>>2]|0)|0)|0)|0;ix(c[bc>>2]|0,87,c[Oa>>2]|0,1)|0;mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32185;c[E>>2]=oC(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;UB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=UB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32192;jC(c[bc>>2]|0,32202,c[Ba>>2]|0);break a}case 19:{kC(c[bc>>2]|0,32215);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=pC(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Lh(c[bc>>2]|0,c[U>>2]|0);jx(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}ix(c[bc>>2]|0,87,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=qC(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;lC(c[bc>>2]|0,32228,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=rC(c[aa>>2]|0)|0;lC(ac,32247,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=sC(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=tC(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=wx(c[bc>>2]|0)|0;c[y>>2]=Kh(c[bc>>2]|0,5,32259,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Lh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Qi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;rx(c[ac>>2]|0,0,c[$b>>2]|0);ix(c[bc>>2]|0,76,c[R>>2]|0,1)|0;c[z>>2]=Sz(c[bc>>2]|0,69,c[$b>>2]|0)|0;Sz(c[bc>>2]|0,87,1)|0;ix(c[bc>>2]|0,91,1,-1)|0;ix(c[bc>>2]|0,66,1,c[z>>2]|0)|0;Zz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Pi(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Ej(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;lC(c[bc>>2]|0,32114,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=uC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;lC(k,32279,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Qi(c[ec>>2]|0,oa)|0)uC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Gi(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;vC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;lC(c[bc>>2]|0,32291,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){wC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{lC(c[bc>>2]|0,32301,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){jC(c[bc>>2]|0,32312,c[243]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Yr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Eh(c[ac>>2]|0,32333,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)xC(c[ac>>2]|0)|0;Kd(c[243]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[243]=Od(18391,sa)|0;break a}else{c[243]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;lC(c[bc>>2]|0,32358,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Oi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;vC(c[cc>>2]|0);break a}else{Eh(c[ac>>2]|0,32370,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;lC(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Gi(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==33554432){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}fx(c[bc>>2]|0,150)|0;vC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=Dh(c[ac>>2]|0,2,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Jj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=6;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,6,5172);Tx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=vi(c[Wb>>2]|0,18402)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;zC(l,1,32423,Zb);ix(c[bc>>2]|0,87,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=4;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,4,5196);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;zC(ac,1,32430,ua);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;zC(ac,2,32435,va);ix(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Kj(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+44>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+44>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,c[(c[ac>>2]|0)+44>>2]|0,5212);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;zC(l,1,32439,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;zC($b,4,32443,Ob)}ix(c[bc>>2]|0,87,1,c[(c[ac>>2]|0)+44>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=5;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,5,5236);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1314];c[A+4>>2]=c[1315];c[A+8>>2]=c[1316];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;zC(ac,1,32447,wa);ix(c[bc>>2]|0,87,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+44>>2]=3;yC(c[bc>>2]|0,3,5268);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Ii(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;zC(ac,1,32453,xa);ix(c[bc>>2]|0,87,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+44>>2]=2;yC(c[bc>>2]|0,2,5280);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;zC(ac,1,32457,ya);ix(c[bc>>2]|0,87,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ti(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=dx(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+44>>2]=8;sx(c[ac>>2]|0,c[$b>>2]|0);yC(c[bc>>2]|0,8,5288);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=AC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=AC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32469;zC(ac,1,32460,za);ix(c[bc>>2]|0,87,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+44>>2]|0)+1;Zb=(c[ac>>2]|0)+44|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+44|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+44|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=dx(c[ac>>2]|0)|0;yC(c[bc>>2]|0,4,5320);sx(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Dh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+44>>2]|0))c[(c[ac>>2]|0)+44>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Uz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,104);hx(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Tz(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Uz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,104);break}else{jx(c[bc>>2]|0,104,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Vz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+40>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+40>>2]=c[Ma>>2];c[Ka>>2]=Sz(c[bc>>2]|0,57,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ti(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=BC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Wz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){jx(l,96,0,c[Na>>2]|0,c[Xa>>2]|0)|0;PA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);ix(c[bc>>2]|0,34,c[Xa>>2]|0,c[Ja>>2]|0)|0}else ix(l,123,0,c[Xa>>2]|0)|0;jx(c[bc>>2]|0,32,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Yz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Zz(Zb,(wx(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;NA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);ix(c[bc>>2]|0,34,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=CC(c[cc>>2]|0,c[Sa>>2]|0)|0;mx(Vb,99,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Ih(c[bc>>2]|0,31,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);ix(c[bc>>2]|0,123,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;zC(Yb,Zb,32474,Ya);ix(c[bc>>2]|0,87,c[Wa>>2]|0,4)|0;_z(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}ix(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Zz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;DC(bc,(Gi(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[17613+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+44>>2]=6;kC(c[bc>>2]|0,32477);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Qi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;ix(c[bc>>2]|0,76,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;sx(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Vw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+44>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+44>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=l;mx(c[bc>>2]|0,141,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Jh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Sz(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];mx(Yb,97,0,3,0,Gh(Zb,32493,Pb)|0,-1)|0;jx(c[bc>>2]|0,83,2,4,1)|0;jx(c[bc>>2]|0,52,4,3,2)|0;ix(c[bc>>2]|0,87,2,1)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Jj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Sz(c[bc>>2]|0,66,1)|0;ix(c[bc>>2]|0,75,0,0)|0;Zz(c[bc>>2]|0,c[bb>>2]|0);EC(c[ac>>2]|0);FC(c[ac>>2]|0,c[Jb>>2]|0,104,0,1,0,ib,jb)|0;ix(c[bc>>2]|0,76,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;ix(l,76,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,57,c[ib>>2]|0,0)|0;c[ub>>2]=ix(c[bc>>2]|0,91,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;NA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Jh(c[bc>>2]|0,-128);c[mb>>2]=Sz(c[bc>>2]|0,35,3)|0;ix(c[bc>>2]|0,91,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Gh(Zb,32517,Qb)|0;mx(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;ix(c[bc>>2]|0,87,3,1)|0;c[ob>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[mb>>2]|0);Zz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Wz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=oA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];ix(c[bc>>2]|0,91,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Ih(c[bc>>2]|0,31,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32537)|0;jx(c[bc>>2]|0,52,7,3,3)|0;hx(c[bc>>2]|0,4,32542)|0;jx(c[bc>>2]|0,52,4,3,3)|0;c[rb>>2]=hx(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,4,3,3)|0;ix(c[bc>>2]|0,87,3,1)|0;c[qb>>2]=Sz(c[bc>>2]|0,66,1)|0;fx(c[bc>>2]|0,75)|0;Zz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Wz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))ix(c[bc>>2]|0,34,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Sz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Yz(c[bc>>2]|0,c[Mb>>2]|0)|0;Zz(c[bc>>2]|0,c[sb>>2]|0);Ih(c[bc>>2]|0,59,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,32563)|0;Yz(c[bc>>2]|0,c[rb>>2]|0)|0;_z(c[bc>>2]|0,c[Mb>>2]|0)}Zz(c[bc>>2]|0,c[qb>>2]|0);pA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}ix(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Zz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);hx(c[bc>>2]|0,2,32590)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=wx(c[bc>>2]|0)|0;ix(c[bc>>2]|0,66,1,(c[bb>>2]|0)+2|0)|0;ix(c[bc>>2]|0,75,0,0)|0;ix(c[bc>>2]|0,100,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;jx(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Jh(c[bc>>2]|0,-112);ix(c[bc>>2]|0,91,1,-1)|0;hx(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;jx(c[bc>>2]|0,52,3,2,7)|0;ix(c[bc>>2]|0,87,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Kh(c[bc>>2]|0,4,32619,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=32635;break a}case 12:{if(!(c[ec>>2]|0)){if(Kz(c[ac>>2]|0)|0)break a;jC(c[bc>>2]|0,32638,c[5336+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=5336;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[968]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Eh(bc,32647,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Lh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Kh(c[bc>>2]|0,2,32672,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Pi(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Kh(c[bc>>2]|0,3,32680,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];mC(c[bc>>2]|0,1);nC(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;GC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+44>>2]=1;kC(c[bc>>2]|0,32692);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;hx(l,1,c[Ga>>2]|0)|0;ix(c[bc>>2]|0,87,1,1)|0}GC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,32707)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,32712)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,32720)|0))c[G>>2]=3}while(0);yC(c[bc>>2]|0,3,5408);c[(c[ac>>2]|0)+44>>2]=3;jx(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;ix(c[bc>>2]|0,87,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Pi(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+224>>2]|0)==139)l=c[(c[cc>>2]|0)+228>>2]|0;else l=0;lC(c[bc>>2]|0,32729,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Hi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;lC(ac,32756,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Hi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;lC(ac,32772,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Pi(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;lC(c[bc>>2]|0,32748,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+444>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+444>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+36>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Fh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Xy(l,c[e>>2]|0);cC(q,c[f>>2]|0,c[k>>2]|0,18664,l);if((hC(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(fC(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+148+5>>0]|0)){c[r>>2]=dx(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;rx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?19905:19924;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;cx(q,32010,s);Tf(c[j>>2]|0,c[u>>2]|0);ex(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];gx(r,s,Gh(u,32074,t)|0)}if(a[(c[j>>2]|0)+148+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Uj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){mh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=sj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);ov(c[j>>2]|0,c[g>>2]|0);i=w;return}function zw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Eh(c[I>>2]|0,31693,r);break}else{c[N>>2]=Oz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+148+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+148+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(cC(q,c[I>>2]|0,c[N>>2]|0,18664,c[D>>2]|0),(dC(q,c[K>>2]|0)|0)==0):0){c[E>>2]=bC(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+148+4>>0]|0)!=1)break;a[(c[M>>2]|0)+148+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Eh(c[I>>2]|0,31739,s);break}c[P>>2]=Tw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Sx(c[I>>2]|0,c[P>>2]|0)|0):0){if(sj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){sx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Eh(o,31780,F);break}}if(!(zd(c[c[E>>2]>>2]|0,27844,7)|0)){Eh(c[I>>2]|0,31806,t);break}if((c[x>>2]|0)!=77?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?31844:31851;c[u+4>>2]=H;c[u+8>>2]=0;Eh(N,31857,u);break}if((c[x>>2]|0)==77?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Eh(N,31894,v);break}c[C>>2]=Fh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((ax(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(ax(c[I>>2]|0,18,(c[C>>2]|0)==1?19905:19924,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[O>>2]=sh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=qh(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;N=Iy(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=Iz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+444>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);hv(c[M>>2]|0,c[K>>2]|0);kv(c[M>>2]|0,c[J>>2]|0);iv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+444>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function Aw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=Qy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=Iy(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}ev(c[h>>2]|0,c[j>>2]|0);iv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function Bw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=aC(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=_x(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}else{kv(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;fv(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=aC(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=Iy(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}iv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function Dw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=sh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){fv(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Ew(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}if(Kz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=sj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){_B(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)ZB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Eh(f,31622,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;hv(p,q);i=r;return}function Fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;IB(c[k>>2]|0,24,4448,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;IB(c[f>>2]|0,25,4420,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function Hw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(Kz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){kA(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Tw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}kA(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=Oz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Tw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ti(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){lA(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Kj(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){rx(f,0,c[r>>2]|0);mA(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Eh(f,31007,t);i=u;return}}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(Kz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=Oz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Tw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Kj(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Dh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=Mz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){Lz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Tw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Kj(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Dh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)Nz(c[l>>2]|0,c[o>>2]|0,0)}else Nz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)Lz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=dx(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}fx(c[p>>2]|0,150)|0;i=r;return}function Jw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=px(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Fh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Tw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ti(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Kj(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(qx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Sx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Eh(g,28337,v);break}if(ax(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Tx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Ux(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=dx(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;rx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);ex(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+44|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;hx(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;mx(c[u>>2]|0,157,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Vx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Wx(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Xx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?19905:19924;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;cx(v,28364,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?19905:19924;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;cx(z,28433,w);if(ti(c[l>>2]|0,28817,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;cx(C,28833,x)}C=Ax(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;cx(C,28891,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Yx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))yx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);yx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Eh(D,28278,h)}while(0);hv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Kw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+144|0;w=E+40|0;v=E+32|0;z=E+24|0;y=E+16|0;x=E+8|0;u=E;g=E+128|0;h=E+124|0;n=E+120|0;o=E+116|0;k=E+112|0;B=E+108|0;D=E+104|0;A=E+100|0;l=E+96|0;m=E+92|0;j=E+88|0;t=E+84|0;q=E+80|0;p=E+76|0;r=E+72|0;C=E+68|0;s=E+64|0;c[g>>2]=e;c[h>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+36>>2]|0){i=E;return}if(d[(c[j>>2]|0)+69>>0]|0){i=E;return}c[n>>2]=c[(c[g>>2]|0)+440>>2];c[k>>2]=Fh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[B>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[D>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ti(c[j>>2]|0,c[D>>2]|0,c[B>>2]|0)|0;if(ax(c[g>>2]|0,26,c[B>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=E;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Eh(c[g>>2]|0,27880,u);i=E;return}if(c[(c[n>>2]|0)+8>>2]|0){Eh(c[g>>2]|0,27912,x);i=E;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Eh(c[g>>2]|0,27939,y);i=E;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Eh(c[g>>2]|0,27998,z);i=E;return}do if(c[m>>2]|0){c[p>>2]=0;c[r>>2]=ux(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[r>>2]|0){i=E;return}if(c[p>>2]|0){ch(c[p>>2]|0);break}Eh(c[g>>2]|0,28051,v);i=E;return}while(0);c[A>>2]=Yw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[A>>2]|0){c[C>>2]=(c[A>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[s>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[C>>2]|0)>>>0<=(c[A>>2]|0)>>>0)break;if((a[c[C>>2]>>0]|0)!=59?(d[18403+(d[c[C>>2]>>0]|0)>>0]&1|0)==0:0)break;z=c[C>>2]|0;c[C>>2]=z+-1;a[z>>0]=0}C=(c[j>>2]|0)+24|0;c[C>>2]=c[C>>2]|2097152;C=c[g>>2]|0;v=(c[k>>2]|0)==1?19905:19924;x=c[(c[n>>2]|0)+44>>2]|0;y=c[A>>2]|0;z=(c[(c[n>>2]|0)+44>>2]|0)+1|0;D=c[D>>2]|0;c[w>>2]=c[B>>2];c[w+4>>2]=v;c[w+8>>2]=x;c[w+12>>2]=y;c[w+16>>2]=z;c[w+20>>2]=D;cx(C,28097,w);Tf(c[j>>2]|0,c[A>>2]|0);c[(c[j>>2]|0)+24>>2]=c[s>>2]}c[q>>2]=vx(c[g>>2]|0)|0;jx(c[t>>2]|0,101,c[k>>2]|0,c[q>>2]|0,2)|0;Lh(c[t>>2]|0,c[k>>2]|0);ix(c[t>>2]|0,91,c[q>>2]|0,-2)|0;C=c[t>>2]|0;D=c[q>>2]|0;ix(C,66,D,(wx(c[t>>2]|0)|0)+2|0)|0;jx(c[t>>2]|0,102,c[k>>2]|0,2,3)|0;xx(c[g>>2]|0,c[q>>2]|0);yx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=E;return}function Lw(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=px(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Eh(c[h>>2]|0,27691,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Eh(e,27725,s);break}if(((0==(qx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Fh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=sh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+440>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=sh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Gh(s,27755,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){TR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=qh(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;rx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=dx(c[h>>2]|0)|0;if(c[r>>2]|0)ex(c[h>>2]|0,c[m>>2]|0)}}while(0);hv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Mw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+440>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}_w(c[e>>2]|0);c[(c[e>>2]|0)+452>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+148+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+384+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+384>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+384;c[s>>2]=Gh(r,27552,o)|0;c[h>>2]=Fh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?19905:19924;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+100>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;cx(r,27576,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=dx(c[e>>2]|0)|0;ex(c[e>>2]|0,c[h>>2]|0);fx(c[n>>2]|0,150)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Gh(s,27664,q)|0;gx(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+44|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;hx(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;ix(c[n>>2]|0,153,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Uj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){mh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+440>>2]=0;i=u;return}}function Nw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;zv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Fh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;$w(r,q,Tw(c[l>>2]|0,c[k>>2]|0)|0);$w(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;$w(q,r,qh(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+384+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+384>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}ax(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Ow(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;_w(c[d>>2]|0);c[(c[d>>2]|0)+452>>2]=0;c[(c[d>>2]|0)+452+4>>2]=0;i=b;return}function Pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+452;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Qw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Tw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Eh(t,27484,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Uw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=sh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){ev(c[m>>2]|0,c[k>>2]|0);fv(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Rw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[10806+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[11456+(c[h>>2]<<1)>>1]|0}function Sw(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];i=b;return}function Tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Yw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Zw(c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Uw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Vw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((lu(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Ww(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Vw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Xw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Ww(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(lu(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Vw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}mh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}mh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Yw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=RR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Vw(b,d,C)|0;if(c[l>>2]|0){TR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Zw(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){i=j;return}a[h>>0]=a[c[e>>2]>>0]|0;if(!(d[18403+(d[h>>0]|0)>>0]&128)){i=j;return}if((a[h>>0]|0)==91)a[h>>0]=93;c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+452>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+440>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+452>>2];c[e>>2]=c[(c[b>>2]|0)+452+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+440>>2]|0;a=c[e>>2]|0;$w(h,b,Yw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Uw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function ax(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+148+5>>0]|0|0)==0?(d[(c[j>>2]|0)+410>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+448>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;bx(c[j>>2]|0)}}else{Eh(c[j>>2]|0,27514,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function bx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Eh(c[d>>2]|0,27529,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function cx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+36|0;f=n+32|0;g=n+16|0;m=n+8|0;l=n+4|0;j=n;k=n+40|0;c[h>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+36>>2]|0){i=n;return}c[g>>2]=e;c[m>>2]=ox(c[j>>2]|0,c[f>>2]|0,g)|0;if(!(c[m>>2]|0)){i=n;return}f=(c[h>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;f=k;g=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));f=(c[h>>2]|0)+400|0;b=f+80|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));Yh(c[h>>2]|0,c[m>>2]|0,l)|0;Tf(c[j>>2]|0,c[l>>2]|0);Tf(c[j>>2]|0,c[m>>2]|0);f=(c[h>>2]|0)+400|0;g=k;b=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(b|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;i=n;return}function dx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}else{d=nx(c[b>>2]|0)|0;i=e;return d|0}return 0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];jx(c[g>>2]|0,102,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jx(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function gx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;mx(c[e>>2]|0,136,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Lh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=mx(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function ix(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=jx(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+136>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]|0)<=(c[o>>2]|0)){c[h>>2]=kx(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+136|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+88>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function kx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(lx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=jx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];if(c[(c[f>>2]|0)+48>>2]|0)b=c[(c[f>>2]|0)+48>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Uw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+88>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=ku(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=e;c[(c[f>>2]|0)+48>>2]=((c[(c[f>>2]|0)+52>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+88>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function mx(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=jx(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Mh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function nx(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;b=Hh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)ix(c[f>>2]|0,71,0,1)|0;if(c[(c[d>>2]|0)+124>>2]|0){f=c[f>>2]|0;i=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8){f=c[f>>2]|0;i=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;i=g;return f|0}function ox(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+96>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}mh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function px(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Dh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,27844,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Eh(b,27852,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function rx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;c[k>>2]=f;sx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+92|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[e>>2]=b;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0){i=f;return}g=(c[e>>2]|0)+96|0;c[g>>2]=c[g>>2]|1<>2];if((c[d>>2]|0)!=1){i=f;return}tx(c[e>>2]|0)|0;i=f;return}function tx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+409>>0]|0)==0:0){c[h>>2]=bk(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Eh(c[e>>2]|0,27774,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ci(c[g>>2]|0,c[(c[f>>2]|0)+80>>2]|0,-1,0)|0)){mh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;h=n+8|0;j=n+4|0;k=n+13|0;l=n+12|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[j>>2]|0)){g=0;i=n;return g|0}g=Cx(c[h>>2]|0,c[j>>2]|0,a[k>>0]|0,a[l>>0]|0,c[m>>2]|0,0)|0;i=n;return g|0}function vx(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+44|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+352+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function wx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+136>>2]|0}function xx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+152;while(1){if((c[f>>2]|0)>=(d[(c[g>>2]|0)+25>>0]|0|0)){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+352+((j&255)<<2)>>2]=h;i=k;return}}function yx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=dx(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=zx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;mx(c[l>>2]|0,140,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}mx(c[l>>2]|0,138,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Gh(d,28206,m)|0;if(!(c[n>>2]|0)){i=o;return}gx(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=Ax(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}gx(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function zx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+150>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=zx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=Bx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Gh(h,28218,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function Bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Gh(a,28250,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Gh(a,28242,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function Cx(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=18402;c[D>>2]=0;while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==161))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==66){a[p>>0]=Dx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=Cx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){Ex(c[c[A>>2]>>2]|0,a[p>>0]|0,1);Fx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=134?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28264}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==132|(c[s>>2]|0)==134){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=aS(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;hh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Gh(l,24705,t)|0;if(!(c[w>>2]|0)){n=42;break}_h(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==134|(c[s>>2]|0)==132?(d[y>>0]|0|0)==65:0)Fx(c[B>>2]|0,67,1);else Fx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=iu(c[B>>2]|0,d[x>>0]|0)|0;n=41}else n=41}else n=42}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}else{n=41;break}}if((c[s>>2]|0)!=133){n=41;break}c[B>>2]=Gx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=42;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=Ix(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;gh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=41;break}w=0==(ux(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){Hx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);Fx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=41}else n=41}while(0);if((n|0)==41){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==42){mh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);ch(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function Dx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[17613+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[18403+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Qi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function Ex(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}Fx(j,66,a[l>>0]|0);if(!((e[(c[k>>2]|0)+8>>1]|0)&2)){i=m;return}b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}case 67:{Hx(c[k>>2]|0)|0;i=m;return}case 68:{Qx(c[k>>2]|0)|0;i=m;return}case 69:{Rx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;Fx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function Fx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;Lx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Zh(c[e>>2]|0)|0;i=d;return b|0}function Hx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Mi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+$g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;Jx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-16403;i=g;return 0}function Ix(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Vw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Li(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Li(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function Jx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=Kx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function Kx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function Lx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)Mx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){Jx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}Bh(c[k>>2]|0,1);i=l;return}function Mx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(Nx(c[l>>2]|0,32)|0){a[(c[l>>2]|0)+10>>0]=0;c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28266,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28271,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}iu(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function Nx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Ox(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Ox(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Px(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ch(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=ku(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}ih(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)TR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Uw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Qx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=ah(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Rx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+$g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Sx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+148+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,27844,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Eh(e,30775,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Tx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;o=r+24|0;n=r+20|0;m=r+16|0;l=r+12|0;k=r+8|0;q=r+4|0;c[h>>2]=a;c[j>>2]=f;c[m>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(Zx(c[h>>2]|0,c[j>>2]|0)|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){q=c[h>>2]|0;c[p>>2]=c[c[j>>2]>>2];Eh(q,28983,p);c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=_x(c[k>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=c[(c[h>>2]|0)+40>>2];$x(c[h>>2]|0,c[(c[n>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;p=(c[k>>2]|0)+256|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=c[(c[k>>2]|0)+296>>2];c[(c[k>>2]|0)+296>>2]=0;c[o>>2]=ay(c[h>>2]|0,c[n>>2]|0)|0;c[(c[k>>2]|0)+296>>2]=c[q>>2];c[(c[h>>2]|0)+40>>2]=c[l>>2];do if(c[(c[j>>2]|0)+24>>2]|0){by(c[h>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[h>>2]|0)+36>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[n>>2]>>2]>>2]|0):0)cy(c[h>>2]|0,c[j>>2]|0,c[n>>2]|0)}else if(c[o>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[o>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];b[(c[o>>2]|0)+34>>1]=0;c[(c[o>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[m>>2]=(c[m>>2]|0)+1;break}while(0);Rf(c[k>>2]|0,c[o>>2]|0);fv(c[k>>2]|0,c[n>>2]|0);q=(c[k>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[m>>2]=(c[m>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[g>>2]=c[m>>2];q=c[g>>2]|0;i=r;return q|0}function Ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Vx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Wx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Yx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=Bx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Yx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=sj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Zx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Ux(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=sj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=Jz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Eh(p,18391,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Eh(o,30631,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function _x(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Vw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=Qy(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=Gz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=Iy(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=Qy(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=_x(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=Iy(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-33;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=Hz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function $x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+40|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)$x(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function ay(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;my(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+36>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=sh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;by(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;cy(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function by(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];zj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=sh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=24745;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==55){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Gh(E,18391,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(sj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[18403+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Gh(E,29047,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Uj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)mh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}Aj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function cy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+96|0;h=w+84|0;j=w+80|0;k=w+76|0;m=w+72|0;t=w+40|0;r=w+36|0;s=w+32|0;n=w+28|0;q=w+24|0;l=w+20|0;u=w;v=w+16|0;p=w+12|0;o=w+8|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=u;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[r>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[q>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];c[v>>2]=dy(t,c[q>>2]|0,(c[r>>2]|0)+14|0)|0;g=u;g=RR(c[g>>2]|0,c[g+4>>2]|0,d[(c[r>>2]|0)+14>>0]|0,0)|0;f=u;c[f>>2]=g;c[f+4>>2]=C;f=ey(c[q>>2]|0)|0;a[(c[r>>2]|0)+13>>0]=f;if(((c[v>>2]|0)!=0?(f=Jf(c[v>>2]|0)|0,c[o>>2]=f,(f|0)>0):0)?(c[p>>2]=Jf(c[c[r>>2]>>2]|0)|0,f=(c[p>>2]|0)+(c[o>>2]|0)+2|0,f=Px(c[m>>2]|0,c[c[r>>2]>>2]|0,f,((f|0)<0)<<31>>31)|0,c[c[r>>2]>>2]=f,(c[c[r>>2]>>2]|0)!=0):0){TR((c[c[r>>2]>>2]|0)+((c[p>>2]|0)+1)|0,c[v>>2]|0,(c[o>>2]|0)+1|0)|0;f=(c[r>>2]|0)+15|0;a[f>>0]=d[f>>0]|4}if(!(a[(c[r>>2]|0)+13>>0]|0))a[(c[r>>2]|0)+13>>0]=65;c[s>>2]=fy(c[h>>2]|0,c[q>>2]|0)|0;if((c[s>>2]|0)!=0?(c[(c[r>>2]|0)+8>>2]|0)==0:0){f=qh(c[m>>2]|0,c[c[s>>2]>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+16}v=u;v=aS(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=Mj(v,C)|0;b[(c[j>>2]|0)+40>>1]=v;i=w;return}function dy(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=dy(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=18759;break a}else{c[w>>2]=vi((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=dy(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function ey(e){e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=e;c[g>>2]=ky(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;h=a[f>>0]|0;i=j;return h|0}c[h>>2]=d[c[g>>2]>>0];if((c[h>>2]|0)==119){a[f>>0]=ey(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==157)c[h>>2]=d[(c[g>>2]|0)+38>>0];if((c[h>>2]|0)==66){a[f>>0]=Dx(c[(c[g>>2]|0)+8>>2]|0,0)|0;h=a[f>>0]|0;i=j;return h|0}if((c[h>>2]|0)==154|(c[h>>2]|0)==152){a[f>>0]=ly(c[(c[g>>2]|0)+44>>2]|0,b[(c[g>>2]|0)+32>>1]|0)|0;h=a[f>>0]|0;i=j;return h|0}e=c[g>>2]|0;if((c[h>>2]|0)==159){a[f>>0]=ey(c[(c[(c[c[(c[(c[g>>2]|0)+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((b[e+32>>1]|0)*20|0)>>2]|0)|0;h=a[f>>0]|0;i=j;return h|0}else{a[f>>0]=a[e+1>>0]|0;h=a[f>>0]|0;i=j;return h|0}return 0}function fy(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==66|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==53){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==88?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=gy(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Sj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(hy(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function gy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){iy(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Sj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(jy(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Eh(p,29013,n);p=c[m>>2]|0;i=o;return p|0}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=gy(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function iy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+232>>2]|0){c[l>>2]=qh(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+236>>2]|0)){i=n;return}c[k>>2]=Zh(c[g>>2]|0)|0;_h(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Zg(c[k>>2]|0,((a[968]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+236>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);ch(c[k>>2]|0);i=n;return}function jy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Sj(c[e>>2]|0,a[29044+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function ky(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function ly(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)<0){b=68;b=b&255;i=g;return b|0}b=a[(c[(c[e>>2]|0)+4>>2]|0)+(c[f>>2]<<4)+13>>0]|0;b=b&255;i=g;return b|0}function my(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&128){i=l;return}ny(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}oy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}py(c[g>>2]|0,c[h>>2]|0);i=l;return}function ny(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;sy(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&1024){h=c[e>>2]|0;sy(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;sy(f,h)|0;i=g;return}function oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];sy(g,c[f>>2]|0)|0;i=e;return}function py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];sy(f,c[e>>2]|0)|0;i=d;return}function qy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}cy(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function ry(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ty(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(uy(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(vy(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(wy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(vy(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(wy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function uy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(sy(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(vy(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(wy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=xy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&8404992|0)==0:0){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if((c[(c[f>>2]|0)+16>>2]|0)!=0?(xy(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}if(c[(c[f>>2]|0)+4>>2]&2048){if(sy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}}else if((c[(c[f>>2]|0)+20>>2]|0)!=0?(vy(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0)!=0:0){c[d>>2]=2;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[d>>2]=c[g>>2]&2;g=c[d>>2]|0;i=h;return g|0}function yy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;m=M+40|0;F=M+32|0;H=M+24|0;G=M+16|0;E=M+8|0;D=M;L=M+128|0;q=M+124|0;r=M+120|0;A=M+116|0;C=M+112|0;n=M+108|0;p=M+104|0;o=M+100|0;l=M+96|0;z=M+92|0;v=M+88|0;x=M+84|0;I=M+80|0;u=M+76|0;w=M+72|0;J=M+68|0;y=M+64|0;t=M+132|0;s=M+60|0;B=M+56|0;j=M+52|0;h=M+48|0;k=M+44|0;c[q>>2]=f;c[r>>2]=g;c[A>>2]=c[(c[q>>2]|0)+24>>2];c[C>>2]=c[c[A>>2]>>2];if(c[(c[r>>2]|0)+4>>2]&4){c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[r>>2]>>0]|0){case 55:{c[L>>2]=_y(c[C>>2]|0,0,0,c[(c[r>>2]|0)+8>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 122:{$y(c[C>>2]|0,c[A>>2]|0,29561,32);c[l>>2]=c[(c[r>>2]|0)+16>>2];if((d[c[l>>2]>>0]|0)==55){c[o>>2]=0;c[p>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2]}else{c[o>>2]=c[(c[(c[r>>2]|0)+12>>2]|0)+8>>2];c[p>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+8>>2]}c[L>>2]=_y(c[C>>2]|0,c[o>>2]|0,c[p>>2]|0,c[n>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;L=c[L>>2]|0;i=M;return L|0}case 151:{c[z>>2]=c[(c[r>>2]|0)+20>>2];if(c[z>>2]|0)h=c[c[z>>2]>>2]|0;else h=0;c[v>>2]=h;c[x>>2]=0;c[I>>2]=0;c[u>>2]=0;a[t>>0]=a[(c[c[C>>2]>>2]|0)+66>>0]|0;c[J>>2]=c[(c[r>>2]|0)+8>>2];c[w>>2]=Jf(c[J>>2]|0)|0;c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,c[v>>2]|0,a[t>>0]|0,0)|0;do if(!(c[y>>2]|0)){c[y>>2]=ki(c[c[C>>2]>>2]|0,c[J>>2]|0,-2,a[t>>0]|0,0)|0;if(!(c[y>>2]|0)){c[x>>2]=1;break}else{c[I>>2]=1;break}}else{c[u>>2]=(c[(c[y>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[y>>2]|0)+2>>1]&1024){t=(c[r>>2]|0)+4|0;c[t>>2]=c[t>>2]|266240;if((c[v>>2]|0)!=2){c[(c[r>>2]|0)+28>>2]=(a[c[(c[y>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}v=az(c[(c[(c[z>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[r>>2]|0)+28>>2]=v;if((c[(c[r>>2]|0)+28>>2]|0)<0){Eh(c[C>>2]|0,29578,D);D=(c[A>>2]|0)+24|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);c[s>>2]=ax(c[C>>2]|0,31,0,c[(c[y>>2]|0)+20>>2]|0,0)|0;if(c[s>>2]|0){if((c[s>>2]|0)==1){K=c[C>>2]|0;c[E>>2]=c[(c[y>>2]|0)+20>>2];Eh(K,29649,E);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}a[c[r>>2]>>0]=101;c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}else{if(e[(c[y>>2]|0)+2>>1]&10240){E=(c[r>>2]|0)+4|0;c[E>>2]=c[E>>2]|524288}if(e[(c[y>>2]|0)+2>>1]&2048)break;$y(c[C>>2]|0,c[A>>2]|0,29684,34);break}}while(0);if((c[u>>2]|0)!=0?(e[(c[A>>2]|0)+28>>1]&1|0)==0:0){I=c[C>>2]|0;J=c[J>>2]|0;c[G>>2]=c[w>>2];c[G+4>>2]=J;Eh(I,29712,G);J=(c[A>>2]|0)+24|0;c[J>>2]=(c[J>>2]|0)+1;c[u>>2]=0}else K=31;do if((K|0)==31){if((c[x>>2]|0)!=0?(d[(c[c[C>>2]>>2]|0)+148+5>>0]|0)==0:0){K=c[C>>2]|0;J=c[J>>2]|0;c[H>>2]=c[w>>2];c[H+4>>2]=J;Eh(K,29748,H);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1;break}if(c[I>>2]|0){K=c[C>>2]|0;J=c[J>>2]|0;c[F>>2]=c[w>>2];c[F+4>>2]=J;Eh(K,29771,F);K=(c[A>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if(c[u>>2]|0){K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]&-2}vy(c[q>>2]|0,c[z>>2]|0)|0;if(c[u>>2]|0){c[B>>2]=c[A>>2];a[c[r>>2]>>0]=-103;a[(c[r>>2]|0)+38>>0]=0;while(1){if(!(c[B>>2]|0))break;if(!((bz(c[r>>2]|0,c[(c[B>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(c[r>>2]|0)+38|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24;c[B>>2]=c[(c[B>>2]|0)+16>>2]}if(c[B>>2]|0){K=(c[B>>2]|0)+28|0;b[K>>1]=e[K>>1]|(16|e[(c[y>>2]|0)+2>>1]&4096)}K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|1}c[L>>2]=1;L=c[L>>2]|0;i=M;return L|0}case 33:case 20:case 119:{if((c[(c[r>>2]|0)+4>>2]&2048|0)!=0?(c[j>>2]=c[(c[A>>2]|0)+20>>2],$y(c[C>>2]|0,c[A>>2]|0,29816,38),sy(c[q>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)!=(c[(c[A>>2]|0)+20>>2]|0)):0){K=(c[r>>2]|0)+4|0;c[K>>2]=c[K>>2]|32;K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|64}break}case 135:{$y(c[C>>2]|0,c[A>>2]|0,29827,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((a[(c[c[C>>2]>>2]|0)+69>>0]|0)==0?(c[h>>2]=cz(c[(c[r>>2]|0)+12>>2]|0)|0,c[k>>2]=cz(c[(c[r>>2]|0)+16>>2]|0)|0,(c[h>>2]|0)!=(c[k>>2]|0)):0)Eh(c[C>>2]|0,29838,m);break}default:{}}if(c[(c[C>>2]|0)+36>>2]|0)h=1;else h=(d[(c[c[C>>2]>>2]|0)+69>>0]|0)!=0;c[L>>2]=h?2:0;L=c[L>>2]|0;i=M;return L|0}function zy(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&64)){my(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+36>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(Ay(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(Ay(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&65536){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+448>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+448>>2]=c[(c[o>>2]|0)+8>>2];oy(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+448>>2]=c[w>>2];if(c[(c[A>>2]|0)+36>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(By(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&16|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(Ay(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(Ay(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(By(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&65536){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(Cy(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29099)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(Cy(v,c[x>>2]|0,c[n>>2]|0,29105)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Eh(c[A>>2]|0,29055,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Eh(c[A>>2]|0,29111,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{Dy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(Ey(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function Ay(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Zy(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+416>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4113;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];wy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+416|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+36>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function By(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(Ay(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Cy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=ky(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=Hy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(Fy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(Ay(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(Ky(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){Gy(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ty(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function Dy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512){Eh(b,29321,g);i=g;return}else{c[f>>2]=Sy(d[(c[e>>2]|0)+4>>0]|0)|0;Eh(b,29367,f);i=g;return}}function Ey(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+96+8>>2]|0)){Eh(c[r>>2]|0,29170,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=ky(c[c[n>>2]>>2]|0)|0;if(Fy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=Hy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=Iy(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=Jy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;iv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Wv(c[h>>2]|0,134,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=53)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}iv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){Gy(c[r>>2]|0,29099,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Eh(u,29204,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function Fy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=Fy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(Fy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function Gy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Eh(b,29265,g);i=f;return}function Hy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){b=0;i=h;return b|0}b=My(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;i=h;return b|0}function Jy(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=Ay(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(Ky(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function Ky(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==53?(Ky(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==53?(Ky(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(hR(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ky(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(Ly(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Ly(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(Ky(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function My(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+44|0;p=t+40|0;n=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;l=t+20|0;j=t+16|0;g=t+12|0;k=t+8|0;h=t+4|0;m=t;c[o>>2]=a;c[p>>2]=b;c[n>>2]=e;c[q>>2]=f;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[l>>2]=32768}else{b=c[o>>2]|0;f=Ny(c[p>>2]|0,c[n>>2]|0)|0;c[s>>2]=Vw(b,f,((f|0)<0)<<31>>31)|0;c[l>>2]=0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[j>>2]=Oy(c[p>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[j>>2]&4095;if((c[(c[p>>2]|0)+4>>2]&1024|0)==0?(c[(c[p>>2]|0)+8>>2]|0)!=0:0)c[k>>2]=(Jf(c[(c[p>>2]|0)+8>>2]|0)|0)+1;else c[k>>2]=0;if(!(c[n>>2]|0)){c[h>>2]=Py(c[p>>2]|0)|0;TR(c[s>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;if((c[h>>2]|0)>>>0<48)VR((c[s>>2]|0)+(c[h>>2]|0)|0,0,48-(c[h>>2]|0)|0)|0}else TR(c[s>>2]|0,c[p>>2]|0,c[g>>2]|0)|0;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]&-122881;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[j>>2]&24576;f=(c[r>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[l>>2];if(c[k>>2]|0){l=(c[s>>2]|0)+(c[g>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=l;c[m>>2]=l;TR(c[m>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[k>>2]|0)|0}do if(!((c[(c[p>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&8404992)){a=c[o>>2]|0;e=(c[p>>2]|0)+20|0;if(c[(c[p>>2]|0)+4>>2]&2048){m=_x(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=Qy(a,c[e>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[p>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&8404992){s=c[r>>2]|0;i=t;return s|0}if((d[c[r>>2]>>0]|0|0)==159)c[(c[r>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2];else{s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s}s=Iy(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}n=Ry(a,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+n;if(!(c[(c[r>>2]|0)+4>>2]&8404992)){if(c[(c[p>>2]|0)+12>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+12>>2]=a;if(c[(c[p>>2]|0)+16>>2]|0)a=My(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,1,s)|0;else a=0;c[(c[r>>2]|0)+16>>2]=a}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Ry(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=Ny(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(Ny(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function Oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Py(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function Qy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Vw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Vw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=Iy(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=qh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(Oy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Sy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=29449;break}case 118:{c[b>>2]=29459;break}case 117:{c[b>>2]=29469;break}default:c[b>>2]=29476}i=d;return c[b>>2]|0}function Ty(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+96+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Eh(s,29482,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}Uy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){Gy(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function Uy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=Iy(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Vy(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==53)c[p>>2]=Wy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;iv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=qh(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];wy(f,c[d>>2]|0)|0;i=g;return}function Wy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Xy(f,c[j>>2]|0);d=lw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Yy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+96+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Eh(j,29513,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function _y(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&6){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&2048|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(fz(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(gz(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+128>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+148>>0];if((c[u>>2]|0)!=109?(ig(29940,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+128>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(29944,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+128>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+140|0;c[h>>2]=c[h>>2]|k;break}else{h=f+144|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(ui(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Eh(W,29948,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}Uy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,18402,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?29979:29994;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Eh(k,30029,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Eh(k,30039,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Eh(W,30016,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=WR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}iv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;iv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?88:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))hz(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function $y(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=29856;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=29902}else c[l>>2]=29884;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Eh(n,29920,k);i=m;return}function az(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=132){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;ez(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;vy(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function cz(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h;g=h+8|0;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((d[g>>0]|0|0)==157)a[g>>0]=a[(c[f>>2]|0)+38>>0]|0;if((d[g>>0]|0|0)==158){c[e>>2]=c[c[(c[f>>2]|0)+20>>2]>>2];b=c[e>>2]|0;i=h;return b|0}if((d[g>>0]|0|0)==119){c[e>>2]=c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2];b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=1;b=c[e>>2]|0;i=h;return b|0}return 0}function dz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function ez(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;q=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;r=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[r>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]^1);c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[18403+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break b;b=t;e=c[b+4>>2]|0;if((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835){b=t;b=aS(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=RR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+-1}c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[r>>2]|0)<1e4)j=((c[r>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[r>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[18403+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0)}}}while(0);q=_(c[r>>2]|0,c[z>>2]|0)|0;c[r>>2]=q+(c[p>>2]|0);if((c[r>>2]|0)<0){c[z>>2]=-1;c[r>>2]=_(c[r>>2]|0,-1)|0}else c[z>>2]=1;q=t;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[r>>2]|0)<=0)break;m=t;j=c[m>>2]|0;m=c[m+4>>2]|0;if((c[z>>2]|0)>0){if((m|0)>214748364|(m|0)==214748364&j>>>0>=3435973836)break;p=t;p=aS(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}else{q=$R(j|0,m|0,10,0)|0;if((q|0)!=0|(C|0)!=0)break;p=t;p=_R(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=t;c[q>>2]=p;c[q+4>>2]=C}c[r>>2]=(c[r>>2]|0)+-1}p=(c[u>>2]|0)<0;q=t;o=c[q>>2]|0;q=c[q+4>>2]|0;b=QR(0,0,o|0,q|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:q;if(!(c[r>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[r>>2]|0)<=307){while(1){if(!((c[r>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}while(1){if((c[r>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[r>>2]=(c[r>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}if((c[r>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[r>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[r>>2]=(c[r>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}else h[D>>3]=(c[u>>2]|0)<0?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)==(c[E>>2]|0):0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function fz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function hz(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Fh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==88)c[q>>2]=c[(c[k>>2]|0)+128>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=19895;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=(iz(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function iz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;p=r+16|0;o=r;g=r+52|0;h=r+48|0;j=r+44|0;k=r+40|0;l=r+36|0;m=r+32|0;q=r+28|0;n=r+24|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[q>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];if(a[(c[m>>2]|0)+148+5>>0]|0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[n>>2]=Sb[c[(c[m>>2]|0)+296>>2]&255](c[(c[m>>2]|0)+300>>2]|0,20,c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[(c[h>>2]|0)+448>>2]|0)|0;if((c[n>>2]|0)!=1){if((c[n>>2]|0)!=2&(c[n>>2]|0)!=0)bx(c[h>>2]|0)}else{f=c[h>>2]|0;if((c[l>>2]|0)!=0?1:(c[(c[m>>2]|0)+20>>2]|0)>2){m=c[j>>2]|0;p=c[k>>2]|0;c[o>>2]=c[q>>2];c[o+4>>2]=m;c[o+8>>2]=p;Eh(f,30046,o)}else{q=c[k>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=q;Eh(f,30079,p)}c[(c[h>>2]|0)+12>>2]=23}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0} +function bN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function cN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];_J(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=JF(c[e>>2]|0)|0;b=VF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[384]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=gr((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=ZJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Qj(61919)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=XH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=$J(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Gg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);ft((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;qr(c[k>>2]|0)|0;break}c[d>>2]=Qj(61914)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function dN(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=rr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=mr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function eN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=vg(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Gg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){Bt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}yg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function fN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ps(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Rt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[384]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=RR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Ig(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Rt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,4,0)|0,q=Rt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=RR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=RR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=RR(q|0,C|0,8,0)|0,q=Ig(p,25901,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=RR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Xi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=ur(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function gN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(nj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=hs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[384]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=vg(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=hN(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Js(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=hs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Js(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function hN(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=iN(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}js(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(qj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=jN(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=wt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function iN(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;j=l+16|0;k=l+12|0;g=l+8|0;e=l+4|0;f=l;c[j>>2]=b;c[k>>2]=0;c[g>>2]=c[c[j>>2]>>2];b=c[j>>2]|0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];k=c[h>>2]|0;i=l;return k|0}if((Br(b)|0)==0?(d[(c[j>>2]|0)+5>>0]|0)!=2:0){b=kj(c[(c[j>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+60>>2]=b;if(!(c[(c[j>>2]|0)+60>>2]|0)){c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}do if(!(c[c[(c[j>>2]|0)+68>>2]>>2]|0)){if((d[(c[j>>2]|0)+5>>0]|0)==4){kN(c[(c[j>>2]|0)+68>>2]|0);break}c[e>>2]=6;b=c[e>>2]|0;if(a[(c[j>>2]|0)+13>>0]|0){c[e>>2]=b|4104;c[f>>2]=c[11]}else{c[e>>2]=b|2048;c[f>>2]=0}c[k>>2]=lN(c[j>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=Tt(c[g>>2]|0,c[(c[j>>2]|0)+180>>2]|0,c[(c[j>>2]|0)+68>>2]|0,c[e>>2]|0,c[f>>2]|0)|0}while(0);if(!(c[k>>2]|0)){c[(c[j>>2]|0)+48>>2]=0;g=(c[j>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[j>>2]|0)+20>>0]=0;g=(c[j>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=Dt(c[j>>2]|0)|0}}b=c[j>>2]|0;if(c[k>>2]|0){pj(c[b+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}function jN(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=gs(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Rt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=RR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Ig(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=RR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=RR(p|0,C|0,4,0)|0;c[l>>2]=Rt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=RR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=lj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=St(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function kN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Tt(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function lN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=Ai(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function mN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;VR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=aS((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Ms(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function nN(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=oN(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function oN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function pN(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function qN(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=rK(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=XF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=gr((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Fg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(eR((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(eR(c[j>>2]|0,41796,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=xK(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}QB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((eR((c[j>>2]|0)+21|0,44049,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){QB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Ui(c[o>>2]|0);c[l>>2]=Vi(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Qj(61191)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(gr((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(gr((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);QB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function rN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(Br(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Gt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=Ft(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Er(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Gt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Er(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=sN(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function sN(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Xs(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(eR(b,Ds(c[e>>2]|0)|0,48)|0){Kr(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+244>>2]|0)uN(c[(c[d>>2]|0)+244>>2]|0);SJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function uN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ih(c[d>>2]|0);i=b;return}function vN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1718]|0;if((b|0)!=(uR()|0)){c[1718]=uR()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=kO(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=BO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=CO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(BQ()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=gO(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=ot(35186)|0;c[B>>2]=cO(F,44128,c[E>>2]|0,35186)|0;break}if(c[l>>2]&526336){DO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[6632>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=EO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function wN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[6632>>2]&255](c[f>>2]|0)|0)==-1){if((c[(BQ()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=cO(2570,44225,c[f>>2]|0,35312)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[6644>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(rO(c[h>>2]|0,0,0)|0)c[j>>2]=cO(1290,44459,c[f>>2]|0,35322)|0;bO(0,c[h>>2]|0,35324)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function xN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[6488>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[6464>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function yN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[6764>>2]&255](c[o>>2]|0,k)|0){if((c[(BQ()|0)>>2]|0)!=2){s=ot(35436)|0;c[p>>2]=cO(s,44313,c[o>>2]|0,35436)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=ot(35447)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[6752>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=ot(35453)|0;c[p>>2]=cO(s,44304,c[o>>2]|0,35453)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=ot(35459)|0;break}else{UR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;TR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=AO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function zN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;VR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1718]=uR()|0;c[h>>2]=gO(44446,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[6872]|0;a[e+1>>0]=a[6873]|0;a[e+2>>0]=a[6874]|0;a[e+3>>0]=a[6875]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[6536>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);bO(0,c[h>>2]|0,35583);e=c[f>>2]|0;i=l;return e|0}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;zR(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=DN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function CN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(BQ()|0)>>2]|0;i=e;return d|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=aS(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=RR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=RR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[6436+((c[g>>2]|0)*12|0)+8>>2]|0)c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(hR(c[e>>2]|0,c[6436+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[6436+(d*12|0)+8>>2]|0))c[6436+((c[g>>2]|0)*12|0)+8>>2]=c[6436+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[6436+((c[g>>2]|0)*12|0)+8>>2];c[6436+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function FN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[6436+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(hR(c[d>>2]|0,c[6436+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[6436+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[6436+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function HN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6360}function IN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];PN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=uO(c[d>>2]|0)|0;i=b;return a|0}function JN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=tO(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{pO(c[l>>2]|0,0);VR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function KN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=nO(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=RR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}pO(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function LN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=RR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=_R(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=aS(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=sO(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;pO(k,c[(BQ()|0)>>2]|0);c[e>>2]=cO(1546,44151,c[(c[g>>2]|0)+32>>2]|0,32998)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function MN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=rO(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){pO(d,c[(BQ()|0)>>2]|0);c[f>>2]=cO(1034,44435,c[(c[h>>2]|0)+32>>2]|0,32953)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[6644>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){rO(c[g>>2]|0,0,0)|0;bO(c[h>>2]|0,c[g>>2]|0,32967)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function NN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[6500>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;pO(j,c[(BQ()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function ON(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[6656>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=qO(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)pO(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function PN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[6668>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(BQ()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;pO(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[6464>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function RN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=iO(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{jO(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{jO(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(18391,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){kO(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=lO(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function SN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function TN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function UN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=hO(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=hO(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=hO(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function VN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;ZN();$N();i=b;return}function WN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;ZN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[6632>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;_N(c[g>>2]|0)}$N();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function XN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function YN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function ZN(){return}function _N(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=aO()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[6716>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,33574);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function $N(){return}function aO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[6740>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[6452>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;cO(4106,44091,e,c[f>>2]|0)|0;i=g;return}function cO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(BQ()|0)>>2];c[m>>2]=CQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=18402;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,44097,l);i=n;return c[f>>2]|0}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=EQ(d,a,f)|0;i=e;return a|0}function eO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,18391,l)|0;c[h>>2]=kR(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=gO(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=cO(ot(32912)|0,44232,j,32912)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function fO(){return ib(30)|0}function gO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[6440>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(BQ()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[6452>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,44319,l);c[h>>2]=-1;if((Ob[c[6440>>2]&255](44362,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[6500>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[6608>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function hO(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1631]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function iO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=RR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=QR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=_R(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=aS(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=RR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=QR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=QR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=nO(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,18402,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=RR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function jO(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function kO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;a[c[f>>2]>>0]=0;c[k>>2]=mO()|0;if(!(c[k>>2]|0)){c[l>>2]=6410;l=c[l>>2]|0;i=m;return l|0}while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,44372,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=5;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=5;break}if(Yb[c[6464>>2]&255](c[f>>2]|0,0)|0){e=7;break}}if((e|0)==5){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==7){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function lO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[6488>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function mO(){var a=0,b=0,d=0,e=0,f=0,g=0;f=i;i=i+96|0;d=f+84|0;b=f+80|0;a=f+4|0;e=f;c[b>>2]=0;c[e>>2]=c[243];if(!(c[1693]|0))c[1693]=rb(44389)|0;if(!(c[1694]|0))c[1694]=rb(44403)|0;while(1){if((((c[e>>2]|0)!=0?(Yb[c[6488>>2]&255](c[e>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[6464>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[b>>2]|0)>>>0>=6){a=12;break}g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=c[6772+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;i=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}return 0}function nO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=oO(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function oO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=vR(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[6572>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(BQ()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(BQ()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function pO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function qO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function rO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=qR(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function sO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[6512>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(BQ()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function tO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=vR(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[6536>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=RR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(BQ()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;pO(p,c[(BQ()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function uO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){bO(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31321);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function vO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6796}function wO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=uO(c[d>>2]|0)|0;i=b;return a|0}function xO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function yO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function zO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function AO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[6476>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=ot(35379)|0;c[f>>2]=cO(b,44133,c[g>>2]|0,35379)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=ot(35388)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,18391,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function BO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[6488>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}ZN();c[e>>2]=c[1738];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}$N();k=c[f>>2]|0;i=j;return k|0}function CO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+560|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;q=r+32|0;n=r+4|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(c[j>>2]&526336){c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}TR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;c[o>>2]=SO(q,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}if(c[j>>2]&8){c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}if(!(c[j>>2]&64)){b=c[o>>2]|0;i=r;return b|0}c[p>>2]=Hf(c[h>>2]|0,44606)|0;if(!(c[p>>2]|0)){b=c[o>>2]|0;i=r;return b|0}c[o>>2]=SO(c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;b=c[o>>2]|0;i=r;return b|0}function DO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[6692>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[6680>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function EO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,44465,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(hR(c[(c[j>>2]|0)+16>>2]|0,44081)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=6796;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=6876){if((c[o>>2]|0)==6360){c[n>>2]=(kR(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,44470,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{ZN();c[q>>2]=FO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){bO(c[p>>2]|0,c[k>>2]|0,34692);c[k>>2]=-1}$N()}pO(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];GO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}bO(c[p>>2]|0,c[k>>2]|0,34777);u=c[q>>2]|0;i=t;return u|0}function FO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[6500>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;pO(m,c[(BQ()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1738];while(1){if(c[j>>2]|0)a=(eR(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1738];c[(c[j>>2]|0)+36>>2]=0;if(c[1738]|0)c[(c[1738]|0)+36>>2]=c[j>>2];c[1738]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function GO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[6500>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44478,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44502,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,44531,j);i=l;return}if(!(lO(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,44558,k);i=l;return}function HO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];GO(c[d>>2]|0);JO(c[b>>2]|0,0)|0;ZN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)QO(c[d>>2]|0);RO(c[d>>2]|0);c[e>>2]=uO(c[b>>2]|0)|0;$N();i=f;return c[e>>2]|0}function IO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}ZN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[384],(OO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;pO(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[384]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((OO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(BQ()|0)>>2],c[o>>2]=qO(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)pO(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[384]|0)+2;c[h+8>>2]=510;if(OO(c[m>>2]|0,h)|0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=qO(c[j>>2]|0,3850)|0}c[h+4>>2]=c[384];c[h+8>>2]=1;b[h>>1]=2;q=(OO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(BQ()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;pO(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);$N();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=NO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function KO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];ZN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[384]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;pO(o,c[(BQ()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);$N();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function LO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=aO()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=MO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[6500>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((oO(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,18402,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=cO(4874,44186,c[y>>2]|0,33839)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1676]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=aS(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}VR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=cO(5386,44273,c[(c[C>>2]|0)+8>>2]|0,33866)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function MO(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;ZN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[6500>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(kR(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}VR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,44586,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];if((c[3]|0)!=0?(c[(c[l>>2]|0)+4>>2]=8,(c[(c[l>>2]|0)+4>>2]|0)==0):0){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,44593,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=gO(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=ot(33691)|0;c[m>>2]=cO(p,44128,c[q>>2]|0,33691)|0;break}DO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((hO(c[f>>2]|0,1,128,1)|0)==0?(sO(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=cO(4618,44151,c[q>>2]|0,33707)|0;if(!(c[m>>2]|0))c[m>>2]=hO(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);_N(c[f>>2]|0);Kd(c[j>>2]|0);$N();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];$N();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function NO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}ZN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[384]|0)+2,c[k+8>>2]=510,(OO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[384];c[k+8>>2]=2;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(OO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;pO(q,c[(BQ()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))PO(c[l>>2]|0)}$N();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function OO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[384]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1631]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1631]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function PO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];bO(c[b>>2]|0,c[c[d>>2]>>2]|0,30592);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function QO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function RO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}PO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1738]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function SO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+96|0;m=l+92|0;f=l+88|0;g=l+84|0;h=l+80|0;k=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;if(!(Yb[c[6488>>2]&255](c[m>>2]|0,k)|0)){c[c[f>>2]>>2]=c[k+12>>2]&511;c[c[g>>2]>>2]=c[k+20>>2];c[c[h>>2]>>2]=c[k+24>>2];m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=1802;m=c[j>>2]|0;i=l;return m|0}return 0}function TO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 6876}function UO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=de(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function VO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+be(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function XO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=$d(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=RR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=vA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function ZO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=296;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function _O(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Ri(5,c[j>>2]|0);b=296;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=296;j=c[e>>2]|0;j=QR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[79]=1;ZO(c[e>>2]|0);break}else{c[79]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Si(0,c[e>>2]|0);Si(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function $O(){bP(8780,3);return}function aP(){bP(8556,8);return}function bP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[17613+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=hu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1092+(c[g>>2]<<2)>>2];c[1092+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=$d(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;je(h,yd(c[f>>2]|0)|0);i=g;return}function dP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=ce(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;me(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,jf()|0,-1,0);i=e;return}function fP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((ee(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=ae(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=$d(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=OP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=45220;c[l>>2]=8552;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ue(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(eR(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(eR((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}me(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ue(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=PP(c[e>>2]|0)|0;c[j>>2]=0;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((ee(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=MI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}oe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function hP(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=we(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(ee(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}QP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=ve(d)|0;c[(c[l>>2]|0)+32>>2]=m;jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=PP(d)|0;c[j>>2]=(ue(c[g>>2]|0)|0)!=0&1;c[h>>2]=MI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){QP(c[g>>2]|0);i=n;return}jh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function iP(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)oe(c[d>>2]|0,c[e>>2]|0);Xg(c[e>>2]|0);i=f;return}function jP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(ee(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=39710;break}case 3:{c[f>>2]=45210;break}case 2:{c[f>>2]=39705;break}case 4:{c[f>>2]=45215;break}default:c[f>>2]=39718}me(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function kP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(ee(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{je(c[g>>2]|0,ae(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}je(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{le(c[g>>2]|0);i=l;return}}}function lP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=ee(c[c[g>>2]>>2]|0)|0;c[n>>2]=ee(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=_d(b)|0;c[p>>2]=_d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(eR(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;je(c[f>>2]|0,c[h>>2]|0);i=q;return}function mP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=ve(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=$d(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+96>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;rA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;me(n,o,c[k>>2]|0,170);i=p;return}function nP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;je(j,JC(g)|0);i=h;return}function oP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){se(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=de(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;ne(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function pP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(ee(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=de(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}ie(c[e>>2]|0,45165,-1);i=k;return}while(0);j=g;ke(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{le(c[e>>2]|0);i=k;return}default:{h[j>>3]=+be(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];he(c[e>>2]|0,+h[j>>3]);i=k;return}}}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(ee(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=ce(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((ee(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+be(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(45205,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;ez(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}se(c[e>>2]|0);i=m;return}while(0);he(c[e>>2]|0,+h[j>>3]);i=m;return}function rP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[18403+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function sP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=$d(c[c[n>>2]>>2]|0)|0;c[j>>2]=ae(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=OP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[17613+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}me(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function tP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=_d(c[c[p>>2]>>2]|0)|0;c[k>>2]=ae(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=aS(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=RR(b|0,C|0,1,0)|0;b=OP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[45189+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[45189+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;me(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=QR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}ke(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function vP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=ce(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=OP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);fe(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function wP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=PP(c[e>>2]|0)|0;if(!(MI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}oe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;me(a,kf()|0,-1,0);i=e;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=ce(c[c[g>>2]>>2]|0)|0;c[f>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,18391,f);i=e;return}function zP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(ee(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+be(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28271,r)|0;ez(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,45182,s)|0}me(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{oe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=_d(c[c[j>>2]>>2]|0)|0;c[o>>2]=ae(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=OP(u,RR(aS(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[45189+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;me(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=$d(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=RR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=RR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=RR(x|0,C|0,3,0)|0;c[t>>2]=OP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;me(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{me(c[g>>2]|0,39691,4,0);i=y;return}}}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;ke(d,a,C);i=e;return}function BP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,qf(c[f>>2]|0)|0);i=e;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=ve(c[g>>2]|0)|0;a=c[g>>2]|0;je(a,rf(c[f>>2]|0)|0);i=e;return}function DP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=ae(c[c[g>>2]>>2]|0)|0;c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){oe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=OP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(eR((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=ve(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=RR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=QR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+96>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}TR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){re(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){se(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){TR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;me(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=de(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=pe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}qe(c[e>>2]|0,c[f>>2]|0);i=g;return}function FP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((ee(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(ee(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=ee(c[c[h>>2]>>2]|0)|0;b=ce(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=ae(e)|0;c[p>>2]=_d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=$d(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=ce(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(ve(c[m>>2]|0)|0)+96>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=RR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=RR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=RR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=QR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=RR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=RR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=QR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;ge(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=RR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=RR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;ne(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function GP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=we(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=RR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+be(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=de(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(II((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function HP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=we(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){ie(c[d>>2]|0,45165,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){he(d,+h[b>>3]);i=f;return}else{g=b+8|0;ke(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function IP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;he(a,f);i=d;return}f=+h[c[b>>2]>>3];he(a,f);i=d;return}function JP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=we(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;he(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=we(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(ee(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=RR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function LP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=we(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;ke(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;ke(a,b,e);i=d;return}function MP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((ee(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=we(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=ve(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+96>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=34710;c[k>>2]=1}if(c[k>>2]|0)sA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=$d(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}sA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function NP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=we(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){re(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){se(b);i=f;return}else{me(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function OP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=ve(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+96>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){re(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}se(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function PP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function QP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function RP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(ZP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}_P(f);j=f;he(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function SP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(ZP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}aQ(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,45506,f)|0;me(c[e>>2]|0,h,-1,-1);i=j;return}function TP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}bQ(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,45491,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(ZP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}$P(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,45461,f)|0;me(c[e>>2]|0,j,-1,-1);i=k;return}function VP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=$d(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(ZP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=ve(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=RR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=RR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+96>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){re(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Vw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){se(c[m>>2]|0);i=J;return}}else c[G>>2]=H;_P(E);$P(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,45303,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,45308,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,45303,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;_P(F);k=E;l=F;c[p>>2]=_R(RR(QR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=RR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=_R(l|0,C|0,864e5,0)|0;l=$R(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,45303,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,45315,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,41946,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,45303,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,45303,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=QR(_R(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28266,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,45303,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=$R(_R(RR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,45320,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;me(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function WP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;TP(c[f>>2]|0,0,0);i=e;return}function XP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;UP(c[f>>2]|0,0,0);i=e;return}function YP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;SP(c[f>>2]|0,0,0);i=e;return}function ZP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=ee(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+be(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=$d(d)|0;if((c[n>>2]|0)!=0?(dQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=$d(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(eQ(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function _P(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=RR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=RR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=QR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function $P(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;aQ(c[d>>2]|0);bQ(c[d>>2]|0);i=b;return}function aQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=_R(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function bQ(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}_P(c[d>>2]|0);b=c[d>>2]|0;b=RR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=$R(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=mQ(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function dQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(lQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(hQ(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,45445)|0)){c[f>>2]=cQ(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(ez(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function eQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[17613+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(hR(c[y>>2]|0,45325)|0){y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((hR(c[y>>2]|0,45335)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=RR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=_R(v|0,C|0,86400,0)|0;v=RR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45345)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}_P(c[w>>2]|0);y=l;c[y>>2]=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=QR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;gQ(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=fQ(c[w>>2]|0,c[g>>2]|0,x)|0;v=QR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(lR(c[y>>2]|0,45349,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(ez((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}$P(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=$R(_R(RR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=QR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=aS(QR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=RR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;gQ(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(lR(c[y>>2]|0,45358,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;aQ(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(hR(c[y>>2]|0,45368)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(hR(c[y>>2]|0,45374)|0)){aQ(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(hR(c[y>>2]|0,45379)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[18403+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(ez(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[18403+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(hQ(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}_P(u);v=u;v=QR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=_R(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=aS(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=QR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=QR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}_P(c[w>>2]|0);gQ(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=RR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[18403+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}_P(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(hR(c[y>>2]|0,45379)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45383)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45388)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(hR(c[y>>2]|0,45395)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(hR(c[y>>2]|0,45368)|0)==0:0){$P(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(hR(c[y>>2]|0,45374)|0)==0:0){c[r>>2]=~~+h[n>>3];$P(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;_P(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=RR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);gQ(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function fQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));$P(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;_P(o);l=o;l=_R(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=QR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(kQ(n,m)|0){ie(c[j>>2]|0,45422,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;_P(p);c[c[k>>2]>>2]=0;n=p;p=o;p=QR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function gQ(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function hQ(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((iQ(b,45402,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((iQ(r,45410,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[18403+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(jQ(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function iQ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[16422+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[18403+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function jQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((iQ(o,45414,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[18403+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function kQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function lQ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((iQ(b,45449,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[18403+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(hQ(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)_P(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function mQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+56;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=qI(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function nQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=$d(c[c[s>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,k)|0}while((c[k>>2]|0)==162)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Gh(s,45595,l)|0;me(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function oQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=$d(c[c[t>>2]>>2]|0)|0;c[q>>2]=$d(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=ve(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=$u(c[n>>2]|0,l)|0}while((c[l>>2]|0)==162);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=74&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Gh(t,45595,m)|0;me(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function pQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=ve(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=$d(c[c[v>>2]>>2]|0)|0;c[p>>2]=$d(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=$d(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=$u(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=$u(c[m>>2]|0,j)|0}while((c[j>>2]|0)==162);if((c[j>>2]|0)==163)break;v=c[h>>2]|0;c[s>>2]=Yw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Zw(c[s>>2]|0);if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Gh(v,45584,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:18402;c[l+4>>2]=s;c[t>>2]=Gh(v,24705,l)|0;me(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=ku(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function rQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)IA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function sQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))k=5;if((k|0)==5?(k=0,((d[(c[f>>2]|0)+42>>0]|0)&16|0)==0):0){c[j>>2]=c[c[g>>2]>>2];Uj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}FH(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}tQ(c[e>>2]|0,c[f>>2]|0);AH(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[c[f>>2]>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);uQ(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[f>>2]|0);i=l;return}function tQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Uj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}uG(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);uG(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function uQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))VJ(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function vQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function wQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function xQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function yQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function zQ(a){a=a|0;var b=0;b=(yQ(a)|0)==0;return (b?a:a|32)|0}function AQ(a){a=a|0;var b=0;b=(xQ(a)|0)==0;return (b?a:a&95)|0}function BQ(){var a=0;if(!(c[2216]|0))a=8912;else a=c[(qb()|0)+60>>2]|0;return a|0}function CQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[45740+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=45828;e=5;break}}if((e|0)==2)if(!c)b=45828;else{b=45828;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function DQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=GQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=GQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=GQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=GQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=GQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=GQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=GQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function EQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=GQ(Db(5,f|0)|0)|0;i=e;return d|0}function FQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[47632+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function GQ(a){a=a|0;if(a>>>0>4294963200){c[(BQ()|0)>>2]=0-a;a=-1}return a|0}function HQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function IQ(a){a=+a;var b=0;h[k>>3]=a;b=SR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+OQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function JQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+OQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function KQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=SR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+OQ(f+a*f/(1.0-a))*.5}}else a=+OQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function LQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+MQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+HQ(a);break}while(0);return +a}function MQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=SR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=WR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=WR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function NQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function OQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=WR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function PQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+MQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+HQ(b);while(0);return +a}function QQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+MQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+MQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+MQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function RQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(BQ()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)GR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=GQ(cb(192,h|0)|0)|0;if(j)HR()}else{c[(BQ()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;GR(-1);c[e>>2]=a;c[e+4>>2]=b;a=GQ(Xa(91,e|0)|0)|0;HR();i=d;return a|0}function TQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(wb(15,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){FQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=GQ(fb(195,g|0)|0)|0}else d=GQ(d)|0;i=h;return d|0}function VQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(eb(196,e|0)|0)|0;i=d;return a|0}function WQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(Za(39,e|0)|0)|0;i=d;return a|0}function XQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(fb(195,e|0)|0)|0;i=d;return a|0}function YQ(a){a=a|0;return 0}function ZQ(a){a=a|0;return}function _Q(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=GQ(Cb(6,d|0)|0)|0;i=b;return a|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((GQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function aR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2216]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=GQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=GQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function bR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=aR(b,d,e)|0;i=g;return f|0}function cR(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=DR(a)|0;break}d=(YQ(a)|0)==0;b=DR(a)|0;if(!d)ZQ(a)}else{if(!(c[2227]|0))b=0;else b=cR(c[2227]|0)|0;Bb(8892);a=c[2222]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=YQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=DR(a)|0|b;if(d)ZQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(8892)}while(0);return b|0}function dR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){ER(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)ER(a,d,e,h,o);else FR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}FR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;FR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;FR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function eR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function fR(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function gR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);VR(b|0,0,e|0)|0;return b|0}function hR(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function iR(a,b){a=a|0;b=b|0;fR(a,b)|0;return a|0}function jR(a){a=a|0;var b=0,c=0;c=(kR(a)|0)+1|0;b=JR(c)|0;if(!b)b=0;else TR(b|0,a|0,c|0)|0;return b|0}function kR(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function lR(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function mR(a,b,c){a=a|0;b=b|0;c=c|0;gR(a,b,c)|0;return a|0}function nR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=GQ(sb(33,e|0)|0)|0;i=d;return a|0}function oR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=GQ((a|0)==-4?-115:a)|0;i=b;return a|0}function pR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){FQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=GQ(hb(212,h|0)|0)|0}else e=GQ(e)|0;i=j;return e|0}function qR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Oa(118,d|0)|0)|0;i=b;return a|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=GQ(gb(194,e|0)|0)|0;i=d;return b|0}function sR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(BQ()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((GQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=jR(d)|0}else a=0}i=g;return a|0}function tR(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function uR(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function vR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(GQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function wR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ab(3,f|0)|0)|0;i=e;return a|0}function xR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Ea(85,f|0)|0)|0;i=e;return a|0}function yR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(Na(40,d|0)|0)|0;i=b;return a|0}function zR(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function AR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=GQ(yb(10,d|0)|0)|0;i=b;return a|0}function BR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=GQ(Eb(4,f|0)|0)|0;i=e;return a|0}function CR(a){a=a|0;if(!(c[a+68>>2]|0))ZQ(a);return}function DR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ER(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);IR(b,o,e);i=p;return}function FR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){IR(b,p,e);ER(a,b,d,g,h)}i=r;return}function GR(a){a=a|0;return}function HR(){return}function IR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;TR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;TR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function JR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2257]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2257]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2259]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9068+(e<<2)|0;e=9068+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2261]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2259]|0;break}else Ma()}else{c[2257]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2262]|0;d=k>>>3;b=d<<1;e=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(b>>>0<(c[2261]|0)>>>0)Ma();else{l=a;m=b}}else{c[2257]=a|d;l=9068+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2259]=h;c[2262]=i;M=j;return M|0}a=c[2258]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[9332+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2261]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=9332+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2261]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2259]|0;if(b){g=c[2262]|0;d=b>>>3;b=d<<1;f=9068+(b<<2)|0;a=c[2257]|0;d=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{p=b;q=a}}else{c[2257]=a|d;p=9068+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2259]=j;c[2262]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2258]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[9332+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[9332+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2259]|0)-m|0)>>>0:0){f=c[2261]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=9332+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2261]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{s=b;t=a}}else{c[2257]=d|b;s=9068+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=9332+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2259]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2262]|0;if(b>>>0>15){c[2262]=a+q;c[2259]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2259]=0;c[2262]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2260]|0;if(a>>>0>q>>>0){L=a-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2375]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2377]=a;c[2376]=a;c[2378]=-1;c[2379]=-1;c[2380]=0;c[2368]=0;c[2375]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2377]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2367]|0;if((a|0)!=0?(t=c[2365]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2368]&4)){a=c[2263]|0;e:do if(a){f=9476;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2260]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2376]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2365]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2367]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2377]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2368]=c[2368]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2365]|0)+p|0;c[2365]=a;if(a>>>0>(c[2366]|0)>>>0)c[2366]=a;h=c[2263]|0;g:do if(h){g=9476;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2260]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2263]=h+L;c[2260]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2264]=c[2379];break}a=c[2261]|0;if(w>>>0>>0){c[2261]=w;a=w}d=w+p|0;g=9476;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=9476;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2262]|0)){M=(c[2259]|0)+l|0;c[2259]=M;c[2262]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=9332+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2261]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2258]=c[2258]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9068+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0>=(c[2261]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=9332+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2258]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2261]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2260]|0)+l|0;c[2260]=M;c[2263]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=9476;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2263]=w+d;c[2260]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2369];c[b+4>>2]=c[2370];c[b+8>>2]=c[2371];c[b+12>>2]=c[2372];c[2369]=w;c[2370]=p;c[2372]=0;c[2371]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9068+(a<<2)|0;d=c[2257]|0;b=1<>2]|0;if(a>>>0<(c[2261]|0)>>>0)Ma();else{G=b;H=a}}else{c[2257]=d|b;G=9068+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=9332+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2258]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2261]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2261]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2261]|0;if((M|0)==0|w>>>0>>0)c[2261]=w;c[2369]=w;c[2370]=p;c[2372]=0;c[2266]=c[2375];c[2265]=-1;b=0;do{M=b<<1;L=9068+(M<<2)|0;c[9068+(M+3<<2)>>2]=L;c[9068+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2263]=w+M;c[2260]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2264]=c[2379]}while(0);b=c[2260]|0;if(b>>>0>q>>>0){L=b-q|0;c[2260]=L;M=c[2263]|0;c[2263]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(BQ()|0)>>2]=12;M=0;return M|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2261]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2262]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2259]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=9332+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2263]|0)){t=(c[2260]|0)+g|0;c[2260]=t;c[2263]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){t=(c[2259]|0)+g|0;c[2259]=t;c[2262]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=9332+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9068+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2261]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2257]=c[2257]&~(1<>>0<(c[2261]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2262]|0)){c[2259]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9068+(d<<2)|0;e=c[2257]|0;b=1<>2]|0;if(d>>>0<(c[2261]|0)>>>0)Ma();else{r=b;s=d}}else{c[2257]=e|b;r=9068+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=9332+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2258]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2261]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2258]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2265]|0)+-1|0;c[2265]=u;if(!u)b=9484;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2265]=-1;return}function LR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=JR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;VR(b|0,0,d|0)|0;return b|0}function MR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=JR(b)|0;return a|0}if(b>>>0>4294967231){c[(BQ()|0)>>2]=12;a=0;return a|0}d=NR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=JR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;TR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;KR(a);a=d;return a|0}function NR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2261]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2377]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;OR(a+b|0,d);return a|0}if((l|0)==(c[2263]|0)){d=(c[2260]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2263]=a+b;c[2260]=n;return a|0}if((l|0)==(c[2262]|0)){e=(c[2259]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2259]=d;c[2262]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=9332+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2261]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;OR(a+b|0,n);return a|0}return 0} +function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(qu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function qu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;su(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function su(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];su(c[e>>2]|0);i=h;return}function uu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Sh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];su(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function vu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function wu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[421]=(c[53]|0)==0&1;if((c[421]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[422]=c[55];c[410]=10;c[420]=1;i=d;return 0}else{c[422]=0;c[410]=10;c[420]=1;i=d;return 0}return 0}function xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1628;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function yu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[421]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[421]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1628;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Pu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Fu(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Hu(c[e>>2]|0);i=g;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Mu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function Cu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Ju(c[h>>2]|0,1);i=k;return}function Du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Lu(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+40>>2]|0)Lu(c[b>>2]|0,0);f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+24>>2]|0);f=(c[d>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+20>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[(c[d>>2]|0)+4>>2]|0)+10-(c[(c[d>>2]|0)+8>>2]|0);Hu(c[b>>2]|0);Kd(c[(c[b>>2]|0)+56>>2]|0);Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[b>>2]|0);i=e;return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Hu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Hu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Iu(c[e>>2]|0)|0;Ju(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Iu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Ku(c[d>>2]|0);i=h;return}function Ku(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else bj(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+32>>2]|0)-(c[f>>2]|0)|0)>>>0<(c[(c[e>>2]|0)+44>>2]|0)>>>0){c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0;c[h>>2]=((c[(c[e>>2]|0)+32>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}else{c[g>>2]=((c[(c[e>>2]|0)+44>>2]|0)>>>0)/2|0;c[h>>2]=(c[g>>2]|0)-1}while(1){c[k>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[k>>2]>>2]|0;c[j>>2]=b;if(!b)break;if((c[(c[j>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[k>>2]=(c[j>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];if(!(a[(c[j>>2]|0)+12>>0]|0))Iu(c[j>>2]|0)|0;Ku(c[j>>2]|0)}if((c[g>>2]|0)==(c[h>>2]|0))break;c[g>>2]=(((c[g>>2]|0)+1|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}i=l;return}function Mu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Iu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Nu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Nu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Ou(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Pu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Ou(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Ju(c[o>>2]|0,0);Iu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Ku(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Qu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Ou(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[424]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[423]|0):0){c[b>>2]=c[431];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Su()|0;e=c[b>>2]|0;i=d;return e|0}function Pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Yj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Zj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Qu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Ru(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Yj();c[j>>2]=jj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Zj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Ru(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[422]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Yj();if((c[422]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[422]|0;m=aS(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[422]|0;b=aS(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=aS(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){n=c[(c[e>>2]|0)+12>>2]|0;n=aS(n|0,((n|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;o=j;c[o>>2]=n;c[o+4>>2]=C}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Zj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Su(){return c[79]|0}function Tu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=JR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,26399,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Uu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;KR(c[d>>2]|0);i=b;return}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=MR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Wu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26363,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Wu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Xu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Yu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Zu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function _u(d){d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=d;c[e>>2]=Yb[c[g>>2]&255](1608,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}c[c[e>>2]>>2]=(c[e>>2]|0)+8;b[(c[e>>2]|0)+8>>1]=0;a[(c[e>>2]|0)+8+2>>0]=0;g=c[e>>2]|0;i=f;return g|0}function $u(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39282+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=162;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=45;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=40;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=46;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=38;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=36;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=44;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=52;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=55;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[18403+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?55:163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[18403+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[18403+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=163;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=163;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39282+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[18403+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=55;c[n>>2]=Ti(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=133;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=163;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=163;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=134;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[18403+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[18403+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=132}while(0);while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=163;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[18403+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=55;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;h=l+32|0;n=l+28|0;f=l+24|0;m=l+20|0;j=l+8|0;g=l+4|0;k=l;c[n>>2]=a;c[f>>2]=b;c[m>>2]=e;c[k>>2]=c[n>>2];c[(c[k>>2]|0)+4>>2]=c[m>>2];while(1){c[g>>2]=pv(c[k>>2]|0,c[f>>2]&255)|0;do if((c[g>>2]|0)>>>0>999)if((c[g>>2]|0)>>>0<=1331){rv(c[k>>2]|0,(c[g>>2]|0)-1e3|0);break}else{c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];m=c[k>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];sv(m,n,h);nv(c[k>>2]|0,c[f>>2]&255,j);c[f>>2]=252;break}else{a=c[k>>2]|0;m=c[g>>2]|0;n=c[f>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];qv(a,m,n,h);c[f>>2]=252}while(0);if((c[f>>2]|0)==252){f=9;break}if((c[c[k>>2]>>2]|0)>>>0<=((c[k>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){i=l;return}}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;mv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function cv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+8>>2]|0;if(c[(c[b>>2]|0)+4>>2]|0)c[(c[(c[b>>2]|0)+4>>2]|0)+8>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0)c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+20>>2]=1443283912;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);ev(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);fv(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}lv(c[d>>2]|0,c[e>>2]|0);i=f;return}function fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}gv(c[d>>2]|0,c[e>>2]|0,1);i=f;return}function gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];ev(c[e>>2]|0,c[c[f>>2]>>2]|0);hv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);ev(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)dv(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function hv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)ev(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);fv(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);iv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);kv(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}jv(c[d>>2]|0,c[e>>2]|0);i=f;return}function jv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(c[(c[f>>2]|0)+4>>2]&8404992)){if((c[(c[f>>2]|0)+12>>2]|0)!=0?(d[c[f>>2]>>0]|0|0)!=159:0)jv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);iv(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){fv(a,c[b>>2]|0);break}else{ev(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&65536)Tf(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);if(c[(c[f>>2]|0)+4>>2]&32768){i=g;return}Tf(c[e>>2]|0,c[f>>2]|0);i=g;return}function kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;iv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function mv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-16;c[e>>2]=b;nv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function nv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{fv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{ev(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{hv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 250:case 196:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{iv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{kv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 237:case 232:{ov(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 234:{kv(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];iv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);fv(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);kv(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function pv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[c[c[q>>2]>>2]>>1];if((c[n>>2]|0)>=1e3){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[14594+(c[n>>2]<<1)>>1];c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1567)?(d[37619+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=13;break}if((d[j>>0]|0)>>>0>=96)break;q=a[39186+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255))break;a[j>>0]=a[l>>0]|0}if((o|0)==13){c[h>>2]=e[11456+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+96;if(((c[m>>2]|0)<1567?(d[37619+(c[m>>2]|0)>>0]|0)==96:0)?(d[j>>0]|0)>0:0){c[h>>2]=e[11456+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[15506+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function qv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+16;if((c[c[h>>2]>>2]|0)>>>0>=((c[h>>2]|0)+8+1600|0)>>>0){tv(c[h>>2]|0);i=m;return}if((c[j>>2]|0)>455)c[j>>2]=(c[j>>2]|0)+332;c[l>>2]=c[c[h>>2]>>2];b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}function rv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=i;i=i+288|0;h=fa+280|0;T=fa+40|0;S=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;R=fa;$=fa+276|0;aa=fa+272|0;ca=fa+268|0;ba=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;X=fa+240|0;P=fa+228|0;Q=fa+216|0;m=fa+192|0;o=fa+188|0;D=fa+184|0;v=fa+180|0;s=fa+176|0;W=fa+168|0;E=fa+164|0;t=fa+160|0;q=fa+156|0;F=fa+152|0;u=fa+148|0;r=fa+144|0;A=fa+140|0;B=fa+136|0;I=fa+132|0;J=fa+128|0;L=fa+124|0;K=fa+120|0;M=fa+116|0;N=fa+112|0;O=fa+108|0;n=fa+104|0;Y=fa+96|0;w=fa+92|0;y=fa+88|0;k=fa+84|0;z=fa+80|0;l=fa+76|0;x=fa+72|0;C=fa+68|0;H=fa+64|0;G=fa+60|0;p=fa+56|0;j=fa+48|0;c[$>>2]=f;c[aa>>2]=g;c[_>>2]=c[(c[$>>2]|0)+4>>2];c[da>>2]=c[c[$>>2]>>2];if((d[26486+(c[aa>>2]<<1)+1>>0]|0)==0?(c[c[$>>2]>>2]|0)>>>0>=((c[$>>2]|0)+8+1584|0)>>>0:0){tv(c[$>>2]|0);i=fa;return}a:do switch(c[aa>>2]|0){case 0:{a[(c[_>>2]|0)+409>>0]=1;break}case 1:{a[(c[_>>2]|0)+409>>0]=2;break}case 2:{uv(c[_>>2]|0);break}case 3:{vv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 9:case 8:{wv(c[_>>2]|0);break}case 10:{xv(c[_>>2]|0);break}case 11:{yv(c[_>>2]|0,0,(c[da>>2]|0)+4|0);break}case 12:{yv(c[_>>2]|0,1,(c[da>>2]|0)+4|0);break}case 13:{yv(c[_>>2]|0,2,(c[da>>2]|0)+4|0);break}case 14:{zv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 15:{Av(c[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[da>>2]|0)+4>>2]=1;break}case 20:{Bv(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,c[(c[da>>2]|0)+4>>2]&255,0);break}case 21:{Bv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+4>>2]|0);fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[da>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[da>>2]|0)+4>>2]|0,24745,5)|0)==0:0){c[(c[da>>2]|0)+-16+4>>2]=96;break a}c[(c[da>>2]|0)+-16+4>>2]=0;_=c[_>>2]|0;Z=c[(c[da>>2]|0)+4>>2]|0;c[R>>2]=c[(c[da>>2]|0)+4+4>>2];c[R+4>>2]=Z;Eh(_,27150,R);break}case 24:{Cv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[da>>2]|0)+16+4+4>>2]=0;c[(c[da>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[da>>2]|0)+-48+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[da>>2]|0)+-80+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[da>>2]|0)+4+4>>2]|0)+((c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(c[_>>2]|0)+84|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 32:case 30:{Dv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 31:{Dv(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 33:{c[P>>2]=Ev(c[_>>2]|0,155,c[(c[da>>2]|0)+4>>2]|0,0,0)|0;c[P+4>>2]=c[(c[da>>2]|0)+-16+4>>2];c[P+8>>2]=c[(c[da>>2]|0)+4+8>>2];Dv(c[_>>2]|0,P);break}case 34:{Z=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Q,Z,97,h);Dv(c[_>>2]|0,Q);break}case 35:{Gv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 36:{Hv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 37:{Iv(c[_>>2]|0,0,0,0,0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 39:{Kv(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 40:{Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 41:{Mv(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 44:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+-16+4>>2]&~c[(c[da>>2]|0)+4+4>>2]|c[(c[da>>2]|0)+4>>2];break}case 46:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[da>>2]|0)+-32+4>>2]=0;c[(c[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2]<<8;c[(c[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[da>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[da>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[da>>2]|0)+4>>2]=9;break}case 53:{c[(c[da>>2]|0)+4>>2]=6;break}case 54:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{c[(c[da>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[_>>2]|0)+84+4>>2]=0;break}case 63:{Hv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{Iv(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{Jv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 66:{Kv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);Lv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[da>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 72:{c[(c[da>>2]|0)+4>>2]=4;break}case 145:case 73:{c[(c[da>>2]|0)+4>>2]=5;break}case 74:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 77:{Ov(c[_>>2]|0,(c[da>>2]|0)+-128+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 78:{Nv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,1,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 79:{c[m>>2]=c[1063];c[m+4>>2]=c[1064];c[m+8>>2]=c[1065];c[m+12>>2]=c[1066];c[m+16>>2]=c[1067];c[m+20>>2]=c[1068];Pv(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,m)|0;fv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 80:{c[o>>2]=c[(c[da>>2]|0)+4>>2];if(c[o>>2]|0){c[(c[o>>2]|0)+64>>2]=c[(c[da>>2]|0)+-16+4>>2];Qv(c[_>>2]|0,c[o>>2]|0)}else dv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);c[(c[da>>2]|0)+-16+4>>2]=c[o>>2];break}case 81:{c[D>>2]=c[(c[da>>2]|0)+4>>2];c[v>>2]=c[(c[da>>2]|0)+-32+4>>2];if((c[D>>2]|0)!=0?(c[(c[D>>2]|0)+48>>2]|0)!=0:0){c[W+4>>2]=0;Qv(c[_>>2]|0,c[D>>2]|0);c[s>>2]=Rv(c[_>>2]|0,0,0,0,W,c[D>>2]|0,0,0)|0;c[D>>2]=Sv(c[_>>2]|0,0,c[s>>2]|0,0,0,0,0,0,0,0)|0}if(c[D>>2]|0){a[(c[D>>2]|0)+4>>0]=c[(c[da>>2]|0)+-16+4>>2];c[(c[D>>2]|0)+48>>2]=c[v>>2];if(c[v>>2]|0){Z=(c[v>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025}Z=(c[D>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025;if((c[(c[da>>2]|0)+-16+4>>2]|0)!=116)a[(c[_>>2]|0)+22>>0]=1}else fv(c[c[_>>2]>>2]|0,c[v>>2]|0);c[(c[da>>2]|0)+-32+4>>2]=c[D>>2];break}case 84:case 82:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 83:{c[(c[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+4+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 87:{c[t>>2]=c[(c[da>>2]|0)+-64+4>>2];c[E>>2]=Sv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[t>>2]|0){_=(c[t>>2]|0)+8|0;c[_>>2]=c[_>>2]&-1025}if(c[E>>2]|0){a[(c[E>>2]|0)+4>>0]=116;c[(c[E>>2]|0)+48>>2]=c[t>>2];c[(c[da>>2]|0)+-64+4>>2]=c[E>>2];break a}else{c[(c[da>>2]|0)+-64+4>>2]=c[t>>2];break a}}case 88:{c[(c[da>>2]|0)+4>>2]=1;break}case 89:{c[(c[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;if((c[(c[da>>2]|0)+4+4>>2]|0)>>>0>0)Uv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1);Vv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 93:{c[q>>2]=Wv(c[c[_>>2]>>2]|0,160,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[q>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 94:{c[F>>2]=Ev(c[_>>2]|0,160,0,0,0)|0;c[u>>2]=Ev(c[_>>2]|0,55,0,0,(c[da>>2]|0)+-32+4|0)|0;c[r>>2]=Ev(c[_>>2]|0,122,c[u>>2]|0,c[F>>2]|0,0)|0;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[r>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 97:{_=sh(c[c[_>>2]>>2]|0,80,0)|0;c[(c[da>>2]|0)+16+4>>2]=_;break}case 98:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];Xv(c[(c[da>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[da>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[da>>2]|0)+4>>2];break}case 100:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;Yv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-32+4|0);break}case 102:{Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=Z;Zv(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((c[(c[da>>2]|0)+-96+4>>2]|0)==0?(c[(c[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+4>>2]|0)==0:0){c[(c[da>>2]|0)+-96+4>>2]=c[(c[da>>2]|0)+-64+4>>2];break a}if((c[c[(c[da>>2]|0)+-64+4>>2]>>2]|0)!=1){Xv(c[(c[da>>2]|0)+-64+4>>2]|0);c[I>>2]=Sv(c[_>>2]|0,0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;_=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[I>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break a}Z=Rv(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;if(c[(c[da>>2]|0)+-96+4>>2]|0){c[A>>2]=(c[(c[da>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[B>>2]=(c[(c[da>>2]|0)+-64+4>>2]|0)+8;c[(c[A>>2]|0)+8>>2]=c[(c[B>>2]|0)+8>>2];c[(c[A>>2]|0)+4>>2]=c[(c[B>>2]|0)+4>>2];c[(c[A>>2]|0)+20>>2]=c[(c[B>>2]|0)+20>>2];c[(c[B>>2]|0)+4>>2]=0;c[(c[B>>2]|0)+8>>2]=0;c[(c[B>>2]|0)+20>>2]=0}hv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 108:{c[(c[da>>2]|0)+4>>2]=1;break}case 109:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,0,0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=$v(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(c[da>>2]|0)+-32+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 116:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 146:case 118:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 121:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;aw(c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 122:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;aw(c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 123:{c[(c[da>>2]|0)+4>>2]=0;break}case 124:{c[(c[da>>2]|0)+4>>2]=1;break}case 125:{c[(c[da>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 133:{c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 134:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);cw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 137:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,1);Yv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-48+4|0);dw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,27177);ew(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;Uv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,1);break}case 139:{_=fw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 140:{c[X>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;Uv(c[_>>2]|0,c[X>>2]|0,(c[da>>2]|0)+-32+4|0,1);c[(c[da>>2]|0)+-32+4>>2]=c[X>>2];break}case 141:{_=fw(c[_>>2]|0,0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 142:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 143:{bw(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,1);gw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 147:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 148:{_=hw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=hw(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 150:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;_=d[(c[da>>2]|0)+2>>0]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,_,h);break}case 153:case 152:{Z=(c[da>>2]|0)+4|0;_=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];Fv(Z,_,55,h);break}case 154:{c[J>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[L>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[J>>2]|0,c[L>>2]|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 155:{c[K>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-64+4|0,1)|0;c[M>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[N>>2]=jw(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;c[O>>2]=Ev(c[_>>2]|0,122,c[M>>2]|0,c[N>>2]|0,0)|0;iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,122,c[K>>2]|0,c[O>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 158:{c[X>>2]=jw(c[c[_>>2]>>2]|0,134,(c[da>>2]|0)+4|0,1)|0;c[X+4>>2]=c[(c[da>>2]|0)+4>>2];c[X+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);if(c[X>>2]|0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|8388608}_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 159:{if((a[c[(c[da>>2]|0)+4>>2]>>0]|0)==35?(d[18403+(d[(c[(c[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=(c[da>>2]|0)+4|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];iw((c[da>>2]|0)+4|0,Y,Y);h=c[_>>2]|0;if(!(d[(c[_>>2]|0)+18>>0]|0)){c[Z>>2]=Y;Eh(h,26462,Z);c[(c[da>>2]|0)+4>>2]=0;break a}_=Ev(h,157,0,0,0)|0;c[(c[da>>2]|0)+4>>2]=_;if(!(c[(c[da>>2]|0)+4>>2]|0))break a;Qi((c[Y>>2]|0)+1|0,(c[(c[da>>2]|0)+4>>2]|0)+28|0)|0;break a}c[n>>2]=c[(c[da>>2]|0)+4+4>>2];Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;g=(c[da>>2]|0)+4|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];Fv(Y,Z,135,h);kw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[n>>2]|0);break}case 160:{_=lw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1)|0;c[(c[da>>2]|0)+-32+4>>2]=_;c[(c[da>>2]|0)+-32+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 161:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,66,c[(c[da>>2]|0)+-48+4>>2]|0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 162:{if((c[(c[da>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[_>>2]>>2]|0)+96+24>>2]|0):0){Z=c[_>>2]|0;c[U>>2]=(c[da>>2]|0)+-64+4;Eh(Z,27186,U)}c[X>>2]=mw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,(c[da>>2]|0)+-64+4|0)|0;iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);if((c[(c[da>>2]|0)+-32+4>>2]|0)==1?(c[X>>2]|0)!=0:0){_=(c[X>>2]|0)+4|0;c[_>>2]=c[_>>2]|16}_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 163:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+-48+4|0)|0;iw(X,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+-48+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 164:{c[X>>2]=mw(c[_>>2]|0,0,(c[da>>2]|0)+4|0)|0;iw(X,(c[da>>2]|0)+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 165:{c[w>>2]=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[X>>2]=Ev(c[_>>2]|0,158,0,0,0)|0;if(c[X>>2]|0){c[(c[X>>2]|0)+20>>2]=c[w>>2];iw(X,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0)}else ev(c[c[_>>2]>>2]|0,c[w>>2]|0);_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[X>>2];c[_+4>>2]=c[X+4>>2];c[_+8>>2]=c[X+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{nw(c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 174:{_=(c[da>>2]|0)+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 175:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];_=(c[da>>2]|0)+-16+4+4|0;c[_>>2]=c[_>>2]|-2147483648;break}case 176:{c[k>>2]=c[(c[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-16+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[y>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[y>>2]=Tv(c[_>>2]|0,c[y>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[y>>2]|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;ow(c[_>>2]|0,c[k>>2]|0,(c[da>>2]|0)+-32+4|0);c[(c[da>>2]|0)+-32+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-32+4>>2]|0){_=(c[(c[da>>2]|0)+-32+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 177:{c[l>>2]=c[(c[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-48+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[z>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)|0;c[z>>2]=Tv(c[_>>2]|0,c[z>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=mw(c[_>>2]|0,c[z>>2]|0,(c[da>>2]|0)+-48+4|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;ow(c[_>>2]|0,c[l>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-64+4>>2]|0){_=(c[(c[da>>2]|0)+-64+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 178:{pw(c[_>>2]|0,d[(c[da>>2]|0)+2>>0]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 179:{pw(c[_>>2]|0,35,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 180:{nw(c[_>>2]|0,29,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{nw(c[_>>2]|0,148,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);qw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 184:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,155,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 185:{rw((c[da>>2]|0)+-16+4|0,c[_>>2]|0,156,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 189:case 186:{c[(c[da>>2]|0)+4>>2]=0;break}case 188:{c[x>>2]=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[x>>2]=Tv(c[_>>2]|0,c[x>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=Ev(c[_>>2]|0,32,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0)c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[x>>2];else ev(c[c[_>>2]>>2]|0,c[x>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];break}case 191:{do if(!(c[(c[da>>2]|0)+-16+4>>2]|0)){iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);_=Ev(c[_>>2]|0,134,0,0,4276+(c[(c[da>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_}else{if((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)==1){c[C>>2]=c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);if(c[C>>2]|0){Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]&-257;Z=(c[C>>2]|0)+4|0;c[Z>>2]=c[Z>>2]|512}_=Ev(c[_>>2]|0,(c[(c[da>>2]|0)+-48+4>>2]|0)!=0?36:37,c[(c[da>>2]|0)+-64+4>>2]|0,c[C>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0){c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[da>>2]|0)+-16+4>>2];sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)}else ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0)}while(0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 192:{iw((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,119,0,0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 194:{c[H>>2]=_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[G>>2]=Sv(c[_>>2]|0,0,c[H>>2]|0,0,0,0,0,0,0,0)|0;if(c[(c[da>>2]|0)+4>>2]|0)Zv(c[_>>2]|0,(c[G>>2]|0)!=0?c[H>>2]|0:0,c[(c[da>>2]|0)+4>>2]|0);h=Ev(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=h;tw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[G>>2]|0);ow(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);h=c[da>>2]|0;if(c[(c[da>>2]|0)+-16+4>>2]|0)h=(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;else h=(c[(c[da>>2]|0)+-32+4>>2]|0)+(c[h+-32+4+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4+8>>2]=h;break}case 195:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,20,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;c[p>>2]=Z;tw(c[_>>2]|0,c[p>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 196:{iw((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);Z=Ev(c[_>>2]|0,136,c[(c[da>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(!(c[(c[da>>2]|0)+-64+4>>2]|0)){ev(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);iv(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break a}if(c[(c[da>>2]|0)+-16+4>>2]|0)h=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[da>>2]|0)+-32+4>>2]|0;c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=h;sw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 201:{c[(c[da>>2]|0)+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 204:{_=Tv(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Tv(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 212:case 207:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 208:{Iv(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,_v(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-64+4|0,0)|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,(c[da>>2]|0)+-176+4|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{c[(c[da>>2]|0)+4>>2]=2;break}case 210:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 213:{_=uw(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=uw(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 217:{vw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 218:{ww(c[_>>2]|0,0);break}case 219:{ww(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 220:{xw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,0,0);break}case 221:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,0);break}case 222:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,0);break}case 223:{xw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,1);break}case 224:{xw(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,1);break}case 227:{c[j>>2]=c[(c[da>>2]|0)+-48+4>>2];c[j+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);yw(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,j);break}case 228:{zw(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-64+4+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0);h=(c[da>>2]|0)+-160+4|0;j=c[da>>2]|0;if(!(c[(c[da>>2]|0)+-96+4+4>>2]|0)){_=j+-112+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}else{_=j+-96+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}}case 229:{c[(c[da>>2]|0)+4>>2]=63;break}case 230:{c[(c[da>>2]|0)+4>>2]=59;break}case 231:{c[(c[da>>2]|0)+-16+4>>2]=77;break}case 232:{c[(c[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];c[(c[da>>2]|0)+4+4>>2]=0;break}case 235:{c[(c[da>>2]|0)+-32+4>>2]=110;c[(c[da>>2]|0)+-32+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 255:case 236:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 238:{c[(c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[da>>2]|0)+-16+4>>2];c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 239:{c[(c[(c[da>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 240:{Z=(c[da>>2]|0)+-32+4|0;Y=(c[da>>2]|0)+4|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];Eh(c[_>>2]|0,27220,V);break}case 241:{Eh(c[_>>2]|0,27315,S);break}case 242:{Eh(c[_>>2]|0,27399,T);break}case 243:{_=Aw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-64+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]&255)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=Bw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]&255)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=Cw(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=Dw(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 247:{iw((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;if(c[(c[da>>2]|0)+-48+4>>2]|0)a[(c[(c[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{iw((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=Ev(c[_>>2]|0,83,0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;if(c[(c[da>>2]|0)+-80+4>>2]|0)a[(c[(c[da>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[da>>2]|0)+-48+4>>2];break}case 249:{c[(c[da>>2]|0)+4>>2]=1;break}case 251:{c[(c[da>>2]|0)+4>>2]=3;break}case 252:{Ew(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 253:{Fw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 254:{Gw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 257:{Hw(c[_>>2]|0,0,0);break}case 258:{Hw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 259:{Iw(c[_>>2]|0,0,0);break}case 260:{Iw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 261:{Jw(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+4|0);break}case 262:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+392>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[(c[_>>2]|0)+392+4>>2]|0);Kw(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 263:{Av(c[_>>2]|0);Lw(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 264:{Mw(c[_>>2]|0,0);break}case 265:{Mw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 266:{Nw(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 267:{Ow(c[_>>2]|0);break}case 270:case 269:case 268:{Pw(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 271:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 272:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 273:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 274:{_=Qw(c[_>>2]|0,0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Qw(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);c[ca>>2]=d[26486+(c[aa>>2]<<1)>>0];c[ea>>2]=d[26486+(c[aa>>2]<<1)+1>>0];c[ba>>2]=Rw(e[(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4)>>1]|0,c[ca>>2]&255)|0;if((c[ba>>2]|0)>999){da=c[$>>2]|0;c[da>>2]=(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4);Sw(c[$>>2]|0);i=fa;return}if((c[ba>>2]|0)>455)c[ba>>2]=(c[ba>>2]|0)+332;c[da>>2]=(c[da>>2]|0)+(0-((c[ea>>2]|0)-1)<<4);c[c[$>>2]>>2]=c[da>>2];b[c[da>>2]>>1]=c[ba>>2];a[(c[da>>2]|0)+2>>0]=c[ca>>2];i=fa;return}function sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Eh(a,26462,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function tv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-16;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;mv(c[b>>2]|0)}Eh(c[d>>2]|0,37597,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function uv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;l=n+20|0;h=n+16|0;g=n+12|0;k=n+8|0;m=n+4|0;j=n;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=n;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+36>>2]|0)==0:0){c[l>>2]=dx(c[e>>2]|0)|0;do if((c[l>>2]|0)!=0?(fx(c[l>>2]|0,75)|0,(d[(c[f>>2]|0)+69>>0]|0)==0):0){if((c[(c[e>>2]|0)+96>>2]|0)==0?(c[(c[e>>2]|0)+80>>2]|0)==0:0)break;Zz(c[l>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0)!=0?(Lh(c[l>>2]|0,c[h>>2]|0),c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2],Ih(c[l>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+92>>2]&1<>2]|0)!=0&1,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+148+5>>0]|0)==0):0)Jh(c[l>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;c[m>>2]=Ux(c[f>>2]|0,c[(c[(c[e>>2]|0)+460>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;mx(c[l>>2]|0,152,0,0,0,c[m>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+412>>2]=0;PH(c[e>>2]|0);QH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+80>>2]|0){c[j>>2]=c[(c[e>>2]|0)+80>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;RA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Yz(c[l>>2]|0,1)|0}while(0);if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+36>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+120>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)==0:0)c[(c[e>>2]|0)+40>>2]=1;Nh(c[l>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}if(c[(c[e>>2]|0)+12>>2]|0){i=n;return}c[(c[e>>2]|0)+12>>2]=1;i=n;return}function vv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(ax(c[d>>2]|0,22,37527,0,0)|0){i=j;return}c[h>>2]=dx(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;ix(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Lh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);fx(c[h>>2]|0,1)|0;i=j;return}function wv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37550,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Sz(c[d>>2]|0,1,1)|0;i=e;return}function xv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(ax(c[b>>2]|0,22,37541,0,0)|0){i=e;return}c[d>>2]=dx(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}ix(c[d>>2]|0,1,1,1)|0;i=e;return}function yv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Tw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=dx(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(ax(c[e>>2]|0,32,c[5512+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){mx(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function zv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+148+5>>0]|0)!=0?(c[(c[A>>2]|0)+148>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+148+4>>0];c[H>>2]=qh(c[A>>2]|0,(c[I>>2]|0)==1?19905:19924)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=Oz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Eh(c[w>>2]|0,37417,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Tw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+384|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Sx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+148+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(ax(c[w>>2]|0,18,(c[o>>2]|0)==1?19905:19924,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(ax(c[w>>2]|0,d[37458+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+410>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(Kz(c[w>>2]|0)|0)break a;c[r>>2]=ti(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Kj(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Eh(I,37486,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){sx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Eh(m,37462,G);break a}}while(0);c[r>>2]=sh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+36|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+440>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(hR(c[H>>2]|0,28817)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+148+5>>0]|0){i=J;return}H=dx(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}rx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)fx(c[F>>2]|0,152)|0;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+100>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+44|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+104>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+44|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;jx(c[F>>2]|0,101,c[I>>2]|0,c[E>>2]|0,2)|0;Lh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Sz(c[F>>2]|0,21,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;jx(c[F>>2]|0,102,c[I>>2]|0,2,c[q>>2]|0)|0;jx(c[F>>2]|0,102,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Zz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)ix(m,76,0,c[D>>2]|0)|0;else{H=ix(m,135,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+132>>2]=H}OH(c[w>>2]|0,c[I>>2]|0);ix(c[F>>2]|0,114,0,c[C>>2]|0)|0;mx(c[F>>2]|0,81,6,c[E>>2]|0,0,37521,-2)|0;jx(c[F>>2]|0,115,0,c[E>>2]|0,c[C>>2]|0)|0;Jh(c[F>>2]|0,8);fx(c[F>>2]|0,111)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function Av(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function Bv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+200|0;l=R+196|0;m=R+192|0;n=R+204|0;o=R+188|0;w=R+184|0;r=R+180|0;t=R+176|0;z=R+172|0;u=R+168|0;G=R+164|0;P=R+160|0;Q=R+156|0;O=R+152|0;s=R+128|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+440>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+148+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+148>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Eh(c[k>>2]|0,37098,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Eh(H,37148,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;IH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Fh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)BH(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);JH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;EH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){c[G>>2]=dx(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Sz(c[G>>2]|0,111,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=32993;c[Q>>2]=37180}else{c[P>>2]=36058;c[Q>>2]=37186}do if(c[o>>2]|0){H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+44|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+44|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Vx(c[k>>2]|0);jx(c[G>>2]|0,105,1,c[(c[k>>2]|0)+104>>2]|0,c[t>>2]|0)|0;Jh(c[G>>2]|0,16);c[(c[k>>2]|0)+40>>2]=2;c[q>>2]=(wx(c[G>>2]|0)|0)+1;jx(c[G>>2]|0,15,c[F>>2]|0,0,c[q>>2]|0)|0;vB(s,13,c[F>>2]|0);Pv(c[k>>2]|0,c[o>>2]|0,s)|0;YC(c[G>>2]|0,c[F>>2]|0);Zz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+36>>2]|0){i=R;return}c[C>>2]=ay(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Sz(c[G>>2]|0,16,c[s+8>>2]|0)|0;jx(c[G>>2]|0,99,c[s+12>>2]|0,c[s+16>>2]|0,c[D>>2]|0)|0;$C(c[G>>2]|0,c[w>>2]|0,0);ix(c[G>>2]|0,114,1,c[E>>2]|0)|0;jx(c[G>>2]|0,115,1,c[D>>2]|0,c[E>>2]|0)|0;Yz(c[G>>2]|0,c[p>>2]|0)|0;Zz(c[G>>2]|0,c[p>>2]|0);Sz(c[G>>2]|0,111,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=KH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+392|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+384>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+384>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Gh(J,37191,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?19905:19924;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+104>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+100>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;cx(Q,37206,M);Tf(c[r>>2]|0,c[O>>2]|0);ex(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];cx(Q,37293,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];gx(O,P,Gh(Q,37335,K)|0)}if(!(a[(c[r>>2]|0)+148+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Uj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){mh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+440>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+384>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Wx(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function Cv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+440>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+96+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Eh(u,37049,q);i=v;return}c[s>>2]=Ch(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}TR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Zw(c[s>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Eh(u,37072,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Uw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;TR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[t>>2]|0);u=Dx(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+84+4>>2]=0;i=v;return}function Dv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+440>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(HH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+148+5>>0]|0)|0){iv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-95;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Yw(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=Iy(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Eh(m,37004,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;iv(l,m);i=n;return}}function Ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==28?(c[(c[g>>2]|0)+36>>2]|0)==0:0)c[m>>2]=wz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=jw(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;yz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Zy(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function Fv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;j=m+12|0;n=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[n>>2]=f;c[k>>2]=g;c[l>>2]=Vw(c[c[n>>2]>>2]|0,48+(c[h+4>>2]|0)+1|0,0)|0;if(!(c[l>>2]|0)){n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}g=c[l>>2]|0;e=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));a[c[l>>2]>>0]=c[k>>2];c[(c[l>>2]|0)+4>>2]=8388608;b[(c[l>>2]|0)+34>>1]=-1;c[(c[l>>2]|0)+8>>2]=(c[l>>2]|0)+48;TR(c[(c[l>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[(c[l>>2]|0)+8>>2]|0)+(c[h+4>>2]|0)>>0]=0;if(d[18403+(d[c[(c[l>>2]|0)+8>>2]>>0]|0)>>0]&128){if((a[c[(c[l>>2]|0)+8>>2]>>0]|0)==34){n=(c[l>>2]|0)+4|0;c[n>>2]=c[n>>2]|64}Zw(c[(c[l>>2]|0)+8>>2]|0)}c[(c[l>>2]|0)+24>>2]=1;n=c[l>>2]|0;l=c[j>>2]|0;c[l>>2]=n;l=c[h>>2]|0;n=c[j>>2]|0;n=n+4|0;c[n>>2]=l;n=h+4|0;n=c[n>>2]|0;h=c[h>>2]|0;h=h+n|0;n=c[j>>2]|0;n=n+8|0;c[n>>2]=h;i=m;return}function Gv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+440>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Hv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;x=y+8|0;k=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;q=y+36|0;p=y+32|0;m=y+28|0;l=y+24|0;n=y+20|0;o=y+16|0;r=y+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+440>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}if(d[(c[q>>2]|0)+42>>0]&4){w=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Eh(w,36907,k);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=ky(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;CH(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==55){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(vi(c[p>>2]|0,18402)|0,18759)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];x=(c[q>>2]|0)+42|0;a[x>>0]=d[x>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}a[(c[s>>2]|0)+408>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}h=c[s>>2]|0;if(c[v>>2]|0){Eh(h,36948,x);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}else{Iv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0,2);c[t>>2]=0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;ev(w,x);i=y;return}}function Iv(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=i;i=i+352|0;ga=za+112|0;fa=za+88|0;ea=za+72|0;da=za+64|0;ca=za+56|0;C=za+48|0;ba=za+40|0;B=za+32|0;A=za+24|0;E=za+16|0;D=za+8|0;z=za;G=za+332|0;r=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;I=za+308|0;va=za+304|0;t=za+300|0;J=za+296|0;H=za+336|0;qa=za+292|0;xa=za+288|0;ya=za+284|0;S=za+280|0;K=za+276|0;M=za+272|0;y=za+248|0;$=za+240|0;wa=za+236|0;V=za+232|0;oa=za+228|0;Y=za+224|0;X=za+220|0;Q=za+216|0;R=za+212|0;la=za+208|0;Z=za+204|0;u=za+200|0;w=za+196|0;F=za+192|0;x=za+184|0;v=za+180|0;T=za+176|0;_=za+172|0;ka=za+168|0;U=za+164|0;P=za+160|0;ha=za+156|0;W=za+152|0;N=za+148|0;ia=za+144|0;ja=za+140|0;pa=za+136|0;aa=za+132|0;ma=za+128|0;L=za+124|0;O=za+120|0;ra=za+116|0;c[G>>2]=f;c[r>>2]=g;c[s>>2]=h;c[ta>>2]=j;c[ua>>2]=k;c[na>>2]=l;c[I>>2]=m;c[va>>2]=n;c[t>>2]=o;c[J>>2]=p;a[H>>0]=q;c[qa>>2]=0;c[xa>>2]=0;c[ya>>2]=0;c[wa>>2]=c[c[G>>2]>>2];c[Y>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[Z>>2]=0;a:do if((d[(c[wa>>2]|0)+69>>0]|0)==0?(c[(c[G>>2]|0)+36>>2]|0)<=0:0){if((d[(c[G>>2]|0)+410>>0]|0)!=0?(d[H>>0]|0)!=2:0)break;if(!(Kz(c[G>>2]|0)|0)){q=c[G>>2]|0;if(c[ta>>2]|0){c[oa>>2]=Oz(q,c[r>>2]|0,c[s>>2]|0,Y)|0;if((c[oa>>2]|0)<0)break;if(((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(c[qa>>2]=bC(c[G>>2]|0,c[ta>>2]|0)|0,(c[qa>>2]|0)!=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[qa>>2]|0)+64>>2]|0)==(c[(c[(c[wa>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[oa>>2]=1;cC(y,c[G>>2]|0,c[oa>>2]|0,33158,c[Y>>2]|0);dC(y,c[ta>>2]|0)|0;c[qa>>2]=px(c[G>>2]|0,0,(c[ta>>2]|0)+8|0)|0;if(!(c[qa>>2]|0))break;if((c[oa>>2]|0)==1?(c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2]|0)!=(c[(c[qa>>2]|0)+64>>2]|0):0){sa=c[G>>2]|0;c[z>>2]=c[c[qa>>2]>>2];Eh(sa,36473,z);break}if(d[(c[qa>>2]|0)+42>>0]&32)c[Z>>2]=Jj(c[qa>>2]|0)|0}else{c[qa>>2]=c[q+440>>2];if(!(c[qa>>2]|0))break;c[oa>>2]=Fh(c[wa>>2]|0,c[(c[qa>>2]|0)+64>>2]|0)|0}c[V>>2]=(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4);if(((zd(c[c[qa>>2]>>2]|0,27844,7)|0)==0?(d[(c[wa>>2]|0)+148+5>>0]|0)==0:0)?(zd((c[c[qa>>2]>>2]|0)+7|0,36523,9)|0)!=0:0){sa=c[G>>2]|0;c[D>>2]=c[c[qa>>2]>>2];Eh(sa,36533,D);break}if(c[(c[qa>>2]|0)+12>>2]|0){Eh(c[G>>2]|0,36561,E);break}if(d[(c[qa>>2]|0)+42>>0]&16){Eh(c[G>>2]|0,36586,A);break}if(c[Y>>2]|0){c[ya>>2]=Tw(c[wa>>2]|0,c[Y>>2]|0)|0;if(!(c[ya>>2]|0))break;if(Sx(c[G>>2]|0,c[ya>>2]|0)|0)break;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(ti(c[wa>>2]|0,c[ya>>2]|0,0)|0)!=0:0){sa=c[G>>2]|0;c[B>>2]=c[ya>>2];Eh(sa,36620,B);break}if(Kj(c[wa>>2]|0,c[ya>>2]|0,c[c[V>>2]>>2]|0)|0){q=c[G>>2]|0;if(c[J>>2]|0){sx(q,c[oa>>2]|0);break}else{c[ba>>2]=c[ya>>2];Eh(q,36654,ba);break}}}else{c[w>>2]=c[(c[qa>>2]|0)+8>>2];c[u>>2]=1;while(1){if(!(c[w>>2]|0))break;c[w>>2]=c[(c[w>>2]|0)+20>>2];c[u>>2]=(c[u>>2]|0)+1}ba=c[wa>>2]|0;J=c[u>>2]|0;c[C>>2]=c[c[qa>>2]>>2];c[C+4>>2]=J;c[ya>>2]=Gh(ba,36678,C)|0;if(!(c[ya>>2]|0))break;if(a[(c[G>>2]|0)+410>>0]|0){ba=(c[ya>>2]|0)+7|0;a[ba>>0]=(a[ba>>0]|0)+1<<24>>24}}c[F>>2]=c[c[V>>2]>>2];if((ax(c[G>>2]|0,18,(c[oa>>2]|0)==1?19905:19924,0,c[F>>2]|0)|0)==0?(c[K>>2]=1,c[K>>2]=(c[oa>>2]|0)==1?3:1,(ax(c[G>>2]|0,c[K>>2]|0,c[ya>>2]|0,c[c[qa>>2]>>2]|0,c[F>>2]|0)|0)==0):0){if(!(c[ua>>2]|0)){Xy(x,c[(c[(c[qa>>2]|0)+4>>2]|0)+((b[(c[qa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);ba=c[G>>2]|0;c[ua>>2]=Tv(ba,0,jw(c[wa>>2]|0,55,x,0)|0)|0;if(!(c[ua>>2]|0))break;aw(c[ua>>2]|0,c[t>>2]|0)}else dw(c[G>>2]|0,c[ua>>2]|0,33158);c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;c[v>>2]=c[(c[(c[ua>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)>>2];if((d[c[v>>2]>>0]|0)==53){ba=1+(Jf(c[(c[v>>2]|0)+8>>2]|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+ba}c[K>>2]=(c[K>>2]|0)+1}c[S>>2]=Jf(c[ya>>2]|0)|0;if(c[Z>>2]|0)q=e[(c[Z>>2]|0)+50>>1]|0;else q=1;c[R>>2]=q;c[xa>>2]=kE(c[wa>>2]|0,(c[c[ua>>2]>>2]|0)+(c[R>>2]|0)&65535,(c[S>>2]|0)+(c[Q>>2]|0)+1|0,la)|0;if(!(a[(c[wa>>2]|0)+69>>0]|0)){c[c[xa>>2]>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+((c[S>>2]|0)+1);TR(c[c[xa>>2]>>2]|0,c[ya>>2]|0,(c[S>>2]|0)+1|0)|0;c[(c[xa>>2]|0)+12>>2]=c[qa>>2];a[(c[xa>>2]|0)+54>>0]=c[na>>2];ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9|((c[na>>2]|0)!=0&1)<<3&255;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-4|d[H>>0]&3;c[(c[xa>>2]|0)+24>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)+12>>2];b[(c[xa>>2]|0)+50>>1]=c[c[ua>>2]>>2];if(c[va>>2]|0){BH(c[G>>2]|0,c[qa>>2]|0,2,c[va>>2]|0,0);c[(c[xa>>2]|0)+36>>2]=c[va>>2];c[va>>2]=0}if((d[(c[(c[V>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[$>>2]=-1;else c[$>>2]=0;c[K>>2]=0;c[X>>2]=c[(c[ua>>2]|0)+4>>2];while(1){if((c[K>>2]|0)>=(c[c[ua>>2]>>2]|0))break;CH(c[c[X>>2]>>2]|0);BH(c[G>>2]|0,c[qa>>2]|0,32,c[c[X>>2]>>2]|0,0);if(c[(c[G>>2]|0)+36>>2]|0)break a;c[T>>2]=ky(c[c[X>>2]>>2]|0)|0;if((d[c[T>>2]>>0]|0)!=152){if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){sa=68;break}do if(!(c[(c[xa>>2]|0)+40>>2]|0)){c[U>>2]=Qy(c[wa>>2]|0,c[ua>>2]|0,0)|0;c[(c[xa>>2]|0)+40>>2]=c[U>>2];if(a[(c[wa>>2]|0)+69>>0]|0)break;c[X>>2]=(c[(c[U>>2]|0)+4>>2]|0)+((c[K>>2]|0)*20|0)}while(0);c[M>>2]=-2;b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-2;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}else{c[M>>2]=b[(c[T>>2]|0)+32>>1];do if((c[M>>2]|0)<0)c[M>>2]=b[(c[qa>>2]|0)+32>>1];else{if(d[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+12>>0]|0)break;ba=(c[xa>>2]|0)+55|0;a[ba>>0]=a[ba>>0]&-9}while(0);b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[M>>2]}c[ka>>2]=0;do if((d[c[c[X>>2]>>2]>>0]|0)==53){c[ka>>2]=c[(c[c[X>>2]>>2]|0)+8>>2];c[P>>2]=(Jf(c[ka>>2]|0)|0)+1;TR(c[la>>2]|0,c[ka>>2]|0,c[P>>2]|0)|0;c[ka>>2]=c[la>>2];c[la>>2]=(c[la>>2]|0)+(c[P>>2]|0);c[Q>>2]=(c[Q>>2]|0)-(c[P>>2]|0)}else{if((c[M>>2]|0)<0)break;c[ka>>2]=c[(c[(c[qa>>2]|0)+4>>2]|0)+(c[M>>2]<<4)+8>>2]}while(0);if(!(c[ka>>2]|0))c[ka>>2]=34834;if((a[(c[wa>>2]|0)+148+5>>0]|0)==0?(Xz(c[G>>2]|0,c[ka>>2]|0)|0)==0:0)break a;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[ka>>2];c[_>>2]=d[(c[X>>2]|0)+12>>0]&c[$>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=c[_>>2];c[K>>2]=(c[K>>2]|0)+1;c[X>>2]=(c[X>>2]|0)+20}if((sa|0)==68){Eh(c[G>>2]|0,36701,ca);break}b:do if(c[Z>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(e[(c[Z>>2]|0)+50>>1]|0))break b;c[ha>>2]=b[(c[(c[Z>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1];if(DH(c[(c[xa>>2]|0)+4>>2]|0,e[(c[xa>>2]|0)+50>>1]|0,c[ha>>2]|0)|0){la=(c[xa>>2]|0)+52|0;b[la>>1]=(b[la>>1]|0)+-1<<16>>16}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=c[ha>>2];c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[(c[Z>>2]|0)+32>>2]|0)+(c[M>>2]<<2)>>2];a[(c[(c[xa>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]=a[(c[(c[Z>>2]|0)+28>>2]|0)+(c[M>>2]|0)>>0]|0;c[K>>2]=(c[K>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+1}}else{b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1]=-1;c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2]=34834}while(0);Ij(c[xa>>2]|0);if(!(c[(c[G>>2]|0)+440>>2]|0))EH(c[xa>>2]|0);c:do if(c[ta>>2]|0){if((e[(c[xa>>2]|0)+52>>1]|0)<(b[(c[qa>>2]|0)+34>>1]|0))break;la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33|32;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[(c[qa>>2]|0)+34>>1]|0))break c;if((c[M>>2]|0)!=(b[(c[qa>>2]|0)+32>>1]|0)?((OA(c[xa>>2]|0,c[M>>2]&65535)|0)<<16>>16|0)<0:0)break;c[M>>2]=(c[M>>2]|0)+1}la=(c[xa>>2]|0)+55|0;a[la>>0]=a[la>>0]&-33}while(0);d:do if((c[qa>>2]|0)==(c[(c[G>>2]|0)+440>>2]|0)){c[W>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(!(c[W>>2]|0))break d;if((e[(c[W>>2]|0)+50>>1]|0)==(e[(c[xa>>2]|0)+50>>1]|0)){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(e[(c[W>>2]|0)+50>>1]|0))break;if((b[(c[(c[W>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0)!=(b[(c[(c[xa>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0))break;c[ia>>2]=c[(c[(c[W>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];c[ja>>2]=c[(c[(c[xa>>2]|0)+32>>2]|0)+(c[N>>2]<<2)>>2];if(ig(c[ia>>2]|0,c[ja>>2]|0)|0)break;c[N>>2]=(c[N>>2]|0)+1}if((c[N>>2]|0)==(e[(c[W>>2]|0)+50>>1]|0))break}c[W>>2]=c[(c[W>>2]|0)+20>>2]}do if((d[(c[W>>2]|0)+54>>0]|0)!=(d[(c[xa>>2]|0)+54>>0]|0)){do if((d[(c[W>>2]|0)+54>>0]|0)!=10){if((d[(c[xa>>2]|0)+54>>0]|0)==10)break;sa=c[G>>2]|0;c[da>>2]=0;Eh(sa,36762,da)}while(0);if((d[(c[W>>2]|0)+54>>0]|0)!=10)break;a[(c[W>>2]|0)+54>>0]=a[(c[xa>>2]|0)+54>>0]|0}while(0);if((d[H>>0]|0)!=2)break a;sa=(c[W>>2]|0)+55|0;a[sa>>0]=a[sa>>0]&-4|d[H>>0]&3;break a}while(0);do if(a[(c[wa>>2]|0)+148+5>>0]|0){c[pa>>2]=Uj((c[(c[xa>>2]|0)+24>>2]|0)+24|0,c[c[xa>>2]>>2]|0,c[xa>>2]|0)|0;q=c[wa>>2]|0;if(c[pa>>2]|0){mh(q);break a}pa=q+24|0;c[pa>>2]=c[pa>>2]|2;if(!(c[ta>>2]|0))break;c[(c[xa>>2]|0)+44>>2]=c[(c[wa>>2]|0)+148>>2]}else{if(!((c[ta>>2]|0)!=0?1:(d[(c[qa>>2]|0)+42>>0]&32|0)==0))break;la=(c[G>>2]|0)+44|0;pa=(c[la>>2]|0)+1|0;c[la>>2]=pa;c[L>>2]=pa;c[aa>>2]=dx(c[G>>2]|0)|0;if(!(c[aa>>2]|0))break a;rx(c[G>>2]|0,1,c[oa>>2]|0);pa=fx(c[aa>>2]|0,161)|0;c[(c[xa>>2]|0)+44>>2]=pa;ix(c[aa>>2]|0,134,c[oa>>2]|0,c[L>>2]|0)|0;if(c[I>>2]|0){c[O>>2]=(c[(c[G>>2]|0)+392>>2]|0)-(c[c[Y>>2]>>2]|0)+(c[(c[G>>2]|0)+392+4>>2]|0);if((a[(c[c[Y>>2]>>2]|0)+((c[O>>2]|0)-1)>>0]|0)==59)c[O>>2]=(c[O>>2]|0)+-1;pa=c[wa>>2]|0;ka=c[O>>2]|0;la=c[c[Y>>2]>>2]|0;c[ea>>2]=(c[na>>2]|0)==0?18402:36804;c[ea+4>>2]=ka;c[ea+8>>2]=la;c[ma>>2]=Gh(pa,36812,ea)|0}else c[ma>>2]=0;pa=c[G>>2]|0;ha=(c[oa>>2]|0)==1?19905:19924;ia=c[c[xa>>2]>>2]|0;ja=c[c[qa>>2]>>2]|0;ka=c[L>>2]|0;la=c[ma>>2]|0;c[fa>>2]=c[(c[(c[wa>>2]|0)+16>>2]|0)+(c[oa>>2]<<4)>>2];c[fa+4>>2]=ha;c[fa+8>>2]=ia;c[fa+12>>2]=ja;c[fa+16>>2]=ka;c[fa+20>>2]=la;cx(pa,36832,fa);Tf(c[wa>>2]|0,c[ma>>2]|0);if(c[ta>>2]|0){mA(c[G>>2]|0,c[xa>>2]|0,c[L>>2]|0);ex(c[G>>2]|0,c[oa>>2]|0);ma=c[aa>>2]|0;oa=c[oa>>2]|0;pa=c[wa>>2]|0;c[ga>>2]=c[c[xa>>2]>>2];gx(ma,oa,Gh(pa,36880,ga)|0);fx(c[aa>>2]|0,150)|0}Zz(c[aa>>2]|0,c[(c[xa>>2]|0)+44>>2]|0)}while(0);if(!((c[ta>>2]|0)==0?1:(d[(c[wa>>2]|0)+148+5>>0]|0)!=0))break;do if((c[na>>2]|0)!=5)sa=143;else{if(!(c[(c[qa>>2]|0)+8>>2]|0)){sa=143;break}if((d[(c[(c[qa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}c[ra>>2]=c[(c[qa>>2]|0)+8>>2];while(1){if(c[(c[ra>>2]|0)+20>>2]|0)p=(d[(c[(c[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else p=0;q=c[(c[ra>>2]|0)+20>>2]|0;if(!p)break;c[ra>>2]=q}c[(c[xa>>2]|0)+20>>2]=q;c[(c[ra>>2]|0)+20>>2]=c[xa>>2]}while(0);if((sa|0)==143){c[(c[xa>>2]|0)+20>>2]=c[(c[qa>>2]|0)+8>>2];c[(c[qa>>2]|0)+8>>2]=c[xa>>2]}c[xa>>2]=0}}}}while(0);if(!(c[xa>>2]|0)){sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}FH(c[wa>>2]|0,c[xa>>2]|0);sa=c[wa>>2]|0;xa=c[va>>2]|0;iv(sa,xa);xa=c[wa>>2]|0;va=c[ua>>2]|0;ev(xa,va);va=c[wa>>2]|0;xa=c[ta>>2]|0;hv(va,xa);xa=c[wa>>2]|0;ya=c[ya>>2]|0;Tf(xa,ya);i=za;return}function Jv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+440>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+410>>0]|0)==0:0)?(Ji(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Tv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+84+4>>2]|0)){i=k;return}Uv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+84|0,1);i=k;return}iv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Kv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+440>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+410>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Eh(D,36270,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Eh(c[p>>2]|0,36333,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=sh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];TR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Zw(c[C>>2]|0);c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Eh(D,36427,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];TR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Uj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){mh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);ev(c[t>>2]|0,c[q>>2]|0);ev(c[t>>2]|0,c[r>>2]|0);i=E;return}function Lv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+440>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Mv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+440>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Tw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Xz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Nv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(Kz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=px(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;ZB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Fh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Tx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?19905:19924;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(ax(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Ux(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((ax(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(ax(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,27844,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36063,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Eh(w,36075,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Eh(w,36103,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Eh(w,36137,t);break}c[q>>2]=dx(c[h>>2]|0)|0;if(c[q>>2]|0){rx(c[h>>2]|0,1,c[o>>2]|0);QC(c[h>>2]|0,c[o>>2]|0,30858,c[c[p>>2]>>2]|0);wH(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);xH(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);hv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Ov(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+400>>1]|0)<=0){zv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+440>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+36>>2]|0)==0:0)?(Oz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Fh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,cC(v,c[w>>2]|0,c[s>>2]|0,36058,c[u>>2]|0),(eC(v,c[y>>2]|0)|0)==0):0)?(v=_x(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=Qy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+392|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[18403+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;Bv(c[w>>2]|0,0,B,0,0)}}else Eh(l,36022,D);fv(c[z>>2]|0,c[y>>2]|0);ev(c[z>>2]|0,c[x>>2]|0);i=D;return}function Pv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+260|0;Y=Ca+256|0;da=Ca+252|0;o=Ca+248|0;r=Ca+244|0;m=Ca+240|0;t=Ca+236|0;p=Ca+232|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+420>>2];h=(c[O>>2]|0)+424|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+420>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+36>>2]|0)==0:0){if(ax(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){ev(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}my(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if((c[(c[O>>2]|0)+36>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0){c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1;c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=16;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(EG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==16){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Eh(Ba,35609,w);break}c[Ba>>2]=dx(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=FG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+420>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;ix(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))HG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=42;break}if(c[(c[P>>2]|0)+8>>2]&2){y=42;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=42;break}c[j>>2]=(wx(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;jx(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];vB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+12>>2];YC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Zz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);IG(c[O>>2]|0)}else y=42;while(0);if((y|0)==42){y=0;c[n>>2]=0;t=(c[O>>2]|0)+44|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=ix(c[Ba>>2]|0,76,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=fx(c[Ba>>2]|0,20)|0;vB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+424>>2];Pv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Zz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Sz(c[Ba>>2]|0,72,c[(c[p>>2]|0)+28>>2]|0)|0;YD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);IG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=GG(c[P>>2]|0)|0;w=(c[O>>2]|0)+416|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(Ly(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=Qy(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=JG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+40|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=mx(c[Ba>>2]|0,107,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)ix(c[Ba>>2]|0,107,c[(c[Q>>2]|0)+8>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Wz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;KG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){LG(c[Ba>>2]|0,c[ya+20>>2]|0,108);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+40|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=mx(w,107,y,0,0,JG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Jh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?256:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(MG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=MG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(NG(c[pa>>2]|0)|0))break;a[xa+1>>0]=NG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=OG(c[pa>>2]|0)|0;a[ya+29>>0]=PG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=QG(c[pa>>2]|0)|0;SG(ta,ua,va,-1,ya,xa,za,Aa,RG(c[pa>>2]|0)|0);rD(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(Ly(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Wz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];TG(M,c[ka>>2]|0);TG(M,c[ya>>2]|0);if(c[ma>>2]|0)UG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;TG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+44>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+40|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=JG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=mx(c[Ba>>2]|0,108,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+44|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Wz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+44|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Wz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+44>>2]|0)+1;M=(c[O>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,76,0,c[aa>>2]|0)|0;ix(c[Ba>>2]|0,76,0,c[ea>>2]|0)|0;jx(c[Ba>>2]|0,79,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(64|((c[ia>>2]|0)!=0?512:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=OG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;VG(c[O>>2]|0,g?35649:35658);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=CA(c[O>>2]|0,c[ga>>2]|0)|0;EC(c[O>>2]|0);aB(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);XD(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,99,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;ix(c[Ba>>2]|0,125,c[wa+4>>2]|0,c[ua>>2]|0)|0;xx(c[O>>2]|0,c[ua>>2]|0);FA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);rD(c[pa>>2]|0);sa=(c[O>>2]|0)+40|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=vx(c[O>>2]|0)|0;jx(c[Ba>>2]|0,110,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;ix(c[Ba>>2]|0,55,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;EC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(WG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;HA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=wx(c[Ba>>2]|0)|0;EC(c[O>>2]|0);if(c[Z>>2]|0)jx(c[Ba>>2]|0,120,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)jx(c[Ba>>2]|0,96,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;RA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;mx(sa,95,ua,za,Aa,nA(c[na>>2]|0)|0,-6)|0;c[R>>2]=wx(c[Ba>>2]|0)|0;jx(c[Ba>>2]|0,18,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;XG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;ix(c[Ba>>2]|0,66,c[aa>>2]|0,c[S>>2]|0)|0;ix(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Zz(c[Ba>>2]|0,c[R>>2]|0);YG(c[O>>2]|0,wa);ix(c[Ba>>2]|0,76,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)ix(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{rD(c[pa>>2]|0);HA(c[Ba>>2]|0,c[W>>2]|0)|0}ix(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Yz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,76,1,c[aa>>2]|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=wx(c[Ba>>2]|0)|0;ix(c[Ba>>2]|0,66,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;ZG(c[O>>2]|0,wa);iB(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Sz(c[Ba>>2]|0,72,c[ta>>2]|0)|0;_z(c[Ba>>2]|0,c[U>>2]|0);_G(c[O>>2]|0,wa);Sz(c[Ba>>2]|0,72,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=$G(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Fh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+40|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];sx(c[O>>2]|0,c[D>>2]|0);Tz(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Jj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=hA(c[O>>2]|0,c[F>>2]|0)|0}Ih(c[Ba>>2]|0,104,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Mh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);ix(c[Ba>>2]|0,100,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Sz(c[Ba>>2]|0,111,c[C>>2]|0)|0;aH(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=bH(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=Qy(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);_G(c[O>>2]|0,wa);c[pa>>2]=qD(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){ev(c[Y>>2]|0,c[G>>2]|0);break}YG(c[O>>2]|0,wa);if((OG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Yz(Aa,RG(c[pa>>2]|0)|0)|0}rD(c[pa>>2]|0);ZG(c[O>>2]|0,wa)}c[ya>>2]=0;iB(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);SG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);ev(c[Y>>2]|0,c[G>>2]|0)}_z(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)VG(c[O>>2]|0,35649);if(c[ya>>2]|0){VG(c[O>>2]|0,(c[ya+4>>2]|0)>0?35667:35690);cH(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}_z(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+36>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+420>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)dH(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|256;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024){i=l;return}a=c[(c[c[d>>2]>>2]|0)+96+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Eh(c[d>>2]|0,35575,k);i=l;return}function Rv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?35530:35533;Eh(j,35539,v)}else w=4;if(((w|0)==4?(c[m>>2]=_v(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Tw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}iv(c[t>>2]|0,c[r>>2]|0);kv(c[t>>2]|0,c[s>>2]|0);fv(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Sv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Vw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Tv(l,0,Wv(c[y>>2]|0,160,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=sh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}gv(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Vw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Vw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Uw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){iv(c[j>>2]|0,c[h>>2]|0);ev(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Uv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Yw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}Zw(c[(c[k>>2]|0)+4>>2]|0);i=l;return}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Yw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=jw(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Xv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Tw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Zv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{ev(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function _v(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Vw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=DG(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){hv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Tw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Tw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function $v(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35374+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35395+(d[35374+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35374+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Eh(c[g>>2]|0,35475,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35429;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Eh(t,35431,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function aw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function bw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+472>>2];c[(c[f>>2]|0)+472>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+476>>2]=c[g>>2];i=j;return}function cw(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+192|0;G=X+176|0;H=X+172|0;I=X+168|0;W=X+164|0;U=X+160|0;M=X+156|0;F=X+152|0;S=X+148|0;n=X+144|0;N=X+140|0;P=X+136|0;o=X+132|0;L=X+128|0;V=X+120|0;r=X+88|0;l=X+84|0;R=X+80|0;q=X+76|0;y=X+72|0;v=X+64|0;J=X+60|0;T=X+56|0;m=X+52|0;p=X+184|0;A=X+48|0;C=X+182|0;O=X+44|0;B=X+40|0;u=X+36|0;K=X+32|0;j=X+28|0;w=X+24|0;Q=X+20|0;D=X+16|0;s=X+180|0;k=X+12|0;E=X+8|0;x=X+4|0;z=X;c[G>>2]=f;c[H>>2]=g;c[I>>2]=h;c[N>>2]=0;c[P>>2]=0;c[R>>2]=-1;c[J>>2]=0;c[m>>2]=0;b[p>>1]=1;c[O>>2]=0;c[B>>2]=0;c[u>>2]=0;c[K>>2]=0;c[j>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[L>>2]=c[c[G>>2]>>2];a:do if(((c[(c[G>>2]|0)+36>>2]|0)==0?(d[(c[L>>2]|0)+69>>0]|0)==0:0)?(c[U>>2]=bC(c[G>>2]|0,c[H>>2]|0)|0,(c[U>>2]|0)!=0):0){c[D>>2]=TC(c[G>>2]|0,c[U>>2]|0,109,0,0)|0;c[Q>>2]=(c[(c[U>>2]|0)+12>>2]|0)!=0&1;if(c[D>>2]|0)f=1;else f=(lF(c[G>>2]|0,c[U>>2]|0,0,0)|0)!=0;c[w>>2]=f&1;if(((Tx(c[G>>2]|0,c[U>>2]|0)|0)==0?(UC(c[G>>2]|0,c[U>>2]|0,(c[D>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Fh(c[L>>2]|0,c[(c[U>>2]|0)+64>>2]|0)|0,c[q>>2]=ax(c[G>>2]|0,9,c[c[U>>2]>>2]|0,0,c[(c[(c[L>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0,(c[q>>2]|0)!=1):0){g=(c[G>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[H>>2]|0)+8+44>>2]=h;c[n>>2]=h;c[o>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break;h=(c[G>>2]|0)+40|0;c[h>>2]=(c[h>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[Q>>2]|0)yG(c[G>>2]|0,V,c[c[U>>2]>>2]|0);c[W>>2]=dx(c[G>>2]|0)|0;if(c[W>>2]|0){if(!(d[(c[G>>2]|0)+18>>0]|0))VC(c[W>>2]|0);rx(c[G>>2]|0,1,c[l>>2]|0);if(c[Q>>2]|0){zG(c[G>>2]|0,c[U>>2]|0,c[I>>2]|0,c[n>>2]|0);h=c[n>>2]|0;c[P>>2]=h;c[N>>2]=h};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[G>>2];c[r+4>>2]=c[H>>2];if(!(Ay(r,c[I>>2]|0)|0)){if(c[(c[L>>2]|0)+24>>2]&128){g=(c[G>>2]|0)+44|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[R>>2]=h;ix(c[W>>2]|0,76,0,c[R>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[I>>2]|0)==0^1|(c[w>>2]|0)!=0)?(d[(c[U>>2]|0)+42>>0]&16|0)==0:0){Tz(c[G>>2]|0,c[l>>2]|0,c[(c[U>>2]|0)+28>>2]|0,1,c[c[U>>2]>>2]|0);if(!(d[(c[U>>2]|0)+42>>0]&32))mx(c[W>>2]|0,131,c[(c[U>>2]|0)+28>>2]|0,c[l>>2]|0,c[R>>2]|0,c[c[U>>2]>>2]|0,-2)|0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break b;ix(c[W>>2]|0,131,c[(c[S>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){b[s>>1]=1044;if(e[r+28>>1]&64)c[w>>2]=1;b[s>>1]=e[s>>1]|((c[w>>2]|0)!=0?0:8);if(!(d[(c[U>>2]|0)+42>>0]&32)){c[T>>2]=0;b[p>>1]=1;r=(c[G>>2]|0)+44|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[B>>2]=t;ix(c[W>>2]|0,79,0,c[B>>2]|0)|0}else{c[T>>2]=Jj(c[U>>2]|0)|0;b[p>>1]=b[(c[T>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;r=(c[G>>2]|0)+44|0;c[r>>2]=(c[r>>2]|0)+(b[p>>1]|0);r=(c[G>>2]|0)+40|0;t=c[r>>2]|0;c[r>>2]=t+1;c[O>>2]=t;c[j>>2]=ix(c[W>>2]|0,107,c[O>>2]|0,b[p>>1]|0)|0;Vz(c[G>>2]|0,c[T>>2]|0)}c[F>>2]=qD(c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[F>>2]|0))break a;c[y>>2]=BG(c[F>>2]|0,v)|0;if(c[(c[L>>2]|0)+24>>2]&128)ix(c[W>>2]|0,91,c[R>>2]|0,1)|0;do if(c[T>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(b[p>>1]|0))break;NA(c[W>>2]|0,c[U>>2]|0,c[n>>2]|0,b[(c[(c[T>>2]|0)+4>>2]|0)+(c[M>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[M>>2]|0)|0);c[M>>2]=(c[M>>2]|0)+1}c[A>>2]=c[m>>2]}else{c[A>>2]=(c[(c[G>>2]|0)+44>>2]|0)+1;c[A>>2]=TA(c[G>>2]|0,c[U>>2]|0,-1,c[n>>2]|0,c[A>>2]|0,0)|0;if((c[A>>2]|0)<=(c[(c[G>>2]|0)+44>>2]|0))break;c[(c[G>>2]|0)+44>>2]=c[A>>2]}while(0);do if(!(c[y>>2]|0))if(c[T>>2]|0){q=(c[G>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;b[C>>1]=0;o=c[W>>2]|0;q=c[m>>2]|0;r=b[p>>1]|0;s=c[A>>2]|0;t=CC(c[c[G>>2]>>2]|0,c[T>>2]|0)|0;mx(o,99,q,r,s,t,b[p>>1]|0)|0;ix(c[W>>2]|0,126,c[O>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=1;ix(c[W>>2]|0,142,c[B>>2]|0,c[A>>2]|0)|0;break}else{b[C>>1]=b[p>>1]|0;t=(c[o>>2]|0)+2|0;c[J>>2]=Vw(c[L>>2]|0,t,((t|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){rD(c[F>>2]|0);break a}VR(c[J>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[J>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[v>>2]|0)>=0)a[(c[J>>2]|0)+((c[v>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[v+4>>2]|0)>=0)a[(c[J>>2]|0)+((c[v+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;HA(c[W>>2]|0,c[j>>2]|0)|0}while(0);if(c[y>>2]|0)c[u>>2]=Wz(c[W>>2]|0)|0;else rD(c[F>>2]|0);do if(!(c[Q>>2]|0)){c[k>>2]=0;if((c[y>>2]|0)==2)c[k>>2]=fx(c[W>>2]|0,20)|0;FC(c[G>>2]|0,c[U>>2]|0,105,8,c[n>>2]|0,c[J>>2]|0,N,P)|0;if((c[y>>2]|0)!=2)break;Zz(c[W>>2]|0,c[k>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){c[K>>2]=Sz(f,57,c[O>>2]|0)|0;ix(c[W>>2]|0,121,c[O>>2]|0,c[A>>2]|0)|0;break}else{c[K>>2]=jx(f,62,c[B>>2]|0,0,c[A>>2]|0)|0;break}}else{if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(d[(c[J>>2]|0)+((c[N>>2]|0)-(c[n>>2]|0))>>0]|0))break;Ih(c[W>>2]|0,30,c[N>>2]|0,c[u>>2]|0,c[A>>2]|0,b[C>>1]|0)|0}while(0);do if(d[(c[U>>2]|0)+42>>0]&16){c[E>>2]=Ux(c[L>>2]|0,c[U>>2]|0)|0;dD(c[G>>2]|0,c[U>>2]|0);mx(c[W>>2]|0,12,0,1,c[A>>2]|0,c[E>>2]|0,-10)|0;Jh(c[W>>2]|0,2);Vx(c[G>>2]|0);if((c[y>>2]|0)!=1)break;if(c[(c[G>>2]|0)+124>>2]|0)break;a[(c[G>>2]|0)+20>>0]=0}else{c[x>>2]=(d[(c[G>>2]|0)+18>>0]|0)==0&1;c[z>>2]=-1;do if(!(c[w>>2]|0)){if((c[v+4>>2]|0)==(c[N>>2]|0))break;c[z>>2]=c[v+4>>2]}while(0);nF(c[G>>2]|0,c[U>>2]|0,c[D>>2]|0,c[N>>2]|0,c[P>>2]|0,c[A>>2]|0,b[C>>1]|0,c[x>>2]&255,10,c[y>>2]&255,c[z>>2]|0)}while(0);do if(!(c[y>>2]|0)){f=c[W>>2]|0;if(c[T>>2]|0){ix(f,7,c[O>>2]|0,(c[K>>2]|0)+1|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}else{Yz(f,c[K>>2]|0)|0;Zz(c[W>>2]|0,c[K>>2]|0);break}}else{_z(c[W>>2]|0,c[u>>2]|0);rD(c[F>>2]|0)}while(0);if(c[Q>>2]|0)break;if(d[(c[U>>2]|0)+42>>0]&16)break;if(!(c[T>>2]|0))Sz(c[W>>2]|0,111,c[N>>2]|0)|0;c[M>>2]=0;c[S>>2]=c[(c[U>>2]|0)+8>>2];while(1){if(!(c[S>>2]|0))break c;Sz(c[W>>2]|0,111,(c[P>>2]|0)+(c[M>>2]|0)|0)|0;c[M>>2]=(c[M>>2]|0)+1;c[S>>2]=c[(c[S>>2]|0)+20>>2]}}while(0);if((d[(c[G>>2]|0)+18>>0]|0)==0?(c[(c[G>>2]|0)+128>>2]|0)==0:0)hD(c[G>>2]|0);if(((c[(c[L>>2]|0)+24>>2]&128|0)!=0?(a[(c[G>>2]|0)+18>>0]|0)==0:0)?(c[(c[G>>2]|0)+128>>2]|0)==0:0){ix(c[W>>2]|0,87,c[R>>2]|0,1)|0;mC(c[W>>2]|0,1);nC(c[W>>2]|0,0,0,35361,0)|0}}}}}while(0);CG(V);hv(c[L>>2]|0,c[H>>2]|0);iv(c[L>>2]|0,c[I>>2]|0);Tf(c[L>>2]|0,c[J>>2]|0);i=X;return}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+96+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Eh(d,35338,j);i=k;return}function ew(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+36>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[ka>>2]=bC(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[l>>2]=Fh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=TC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Tx(c[X>>2]|0,c[ka>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(UC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}g=(c[X>>2]|0)+40|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Jj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+40>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Vw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(Ay(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(ui(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=19895;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=ax(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Eh(na,24144,q);a[(c[X>>2]|0)+17>>0]=1;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=lF(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=dx(c[X>>2]|0)|0;if(!(c[na>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))VC(c[na>>2]|0);rx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+44|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+44|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)yG(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)zG(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(Ay(p,c[_>>2]|0)|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){AG(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){jx(c[na>>2]|0,79,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,1028,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;ix(c[na>>2]|0,123,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))ix(c[na>>2]|0,142,c[A>>2]|0,c[V>>2]|0)|0;rD(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+44>>2]|0)+1;q=(c[X>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+40|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;ix(c[na>>2]|0,79,0,c[u>>2]|0)|0;c[r>>2]=ix(c[na>>2]|0,107,c[fa>>2]|0,b[w>>1]|0)|0;Vz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=qD(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}c[R>>2]=BG(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){HA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=CC(c[ca>>2]|0,c[ja>>2]|0)|0;mx(k,99,p,q,r,u,b[w>>1]|0)|0;ix(c[na>>2]|0,126,c[fa>>2]|0,c[T>>2]|0)|0}rD(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+128>>2]|0)==0:0){w=(c[X>>2]|0)+44|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;ix(c[na>>2]|0,76,0,c[la>>2]|0)|0}c[ha>>2]=Wz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}VR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);FC(c[X>>2]|0,c[ka>>2]|0,105,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Wz(k)|0;ix(c[na>>2]|0,57,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=ix(c[na>>2]|0,121,c[fa>>2]|0,c[T>>2]|0)|0;Ih(c[na>>2]|0,30,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=jx(k,62,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;jx(c[na>>2]|0,33,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Ih(c[na>>2]|0,30,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];ix(c[na>>2]|0,34,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){RA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Sz(c[na>>2]|0,17,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=qF(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}ix(c[na>>2]|0,79,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;ix(c[na>>2]|0,84,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=pF(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){RA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;ix(c[na>>2]|0,79,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);XD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){$C(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Ih(k,30,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else jx(k,33,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;NA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;eD(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Ih(k,30,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=jx(k,33,h,0,c[V>>2]|0)|0;break}}while(0);oF(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))ix(c[na>>2]|0,117,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Zz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)fD(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);gD(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;rF(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+128>>2]|0)break;ix(c[na>>2]|0,91,c[la>>2]|0,1)|0}while(0);aD(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){_z(h,k);ix(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Yz(h,k)|0;break}}while(0);_z(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)ix(c[na>>2]|0,111,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))ix(c[na>>2]|0,111,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+128>>2]|0)break;hD(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+128>>2]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}ix(c[na>>2]|0,87,c[la>>2]|0,1)|0;mC(c[na>>2]|0,1);nC(c[na>>2]|0,0,0,35325,0)|0;CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}else if((J|0)==185){CG(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;hv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;ev(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;iv(ma,na);i=oa;return}}function fw(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;o=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[n>>2]=e;do if(!((c[j>>2]|0)==0|(c[k>>2]|0)==0)){c[o>>2]=cz(c[k>>2]|0)|0;if((c[(c[j>>2]|0)+4>>2]|0)!=(c[o>>2]|0)){p=c[g>>2]|0;o=c[o>>2]|0;c[q>>2]=c[(c[j>>2]|0)+4>>2];c[q+4>>2]=o;Eh(p,35295,q);break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=cF(c[g>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[h>>2]=Tv(c[g>>2]|0,c[h>>2]|0,c[p>>2]|0)|0;if(c[h>>2]|0){c[(c[(c[h>>2]|0)+4>>2]|0)+(((c[c[h>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2];c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<3)>>2]=0}c[m>>2]=(c[m>>2]|0)+1}if(((c[h>>2]|0)!=0?(d[c[k>>2]>>0]|0|0)==119:0)?(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)!=0:0){c[(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)+16>>2]=c[k>>2];c[k>>2]=0}}while(0);iv(c[l>>2]|0,c[k>>2]|0);kv(c[l>>2]|0,c[j>>2]|0);i=r;return c[h>>2]|0} +function SH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+576|0;G=I+16|0;s=I+8|0;n=I;C=I+572|0;u=I+568|0;p=I+564|0;v=I+560|0;l=I+556|0;w=I+552|0;q=I+548|0;H=I+544|0;E=I+540|0;x=I+536|0;F=I+56|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;D=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[E>>2]=0;VR(F|0,0,152)|0;b=F+400|0;f=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));c[F+432>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[E>>2]=TH(c[m>>2]|0)|0,(c[E>>2]|0)!=0):0){B=5;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==5){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];H=c[C>>2]|0;G=c[E>>2]|0;c[n>>2]=c[o>>2];jg(H,G,39591,n);Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}uu(c[C>>2]|0);c[F>>2]=c[C>>2];do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=15;break}c[r>>2]=c[(c[C>>2]|0)+96+4>>2];b=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(b,18,39621,s);c[E>>2]=Ug(c[C>>2]|0,18)|0;Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Yw(b,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Yh(F,c[t>>2]|0,H)|0;c[F+436>>2]=(c[u>>2]|0)+((c[F+436>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[F+436>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=15;while(0);if((B|0)==15)Yh(F,c[u>>2]|0,H)|0;if((c[F+12>>2]|0)==101)c[F+12>>2]=0;if(a[F+17>>0]|0)UH(F);if(a[(c[C>>2]|0)+69>>0]|0)c[F+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[F+436>>2];c[E>>2]=c[F+12>>2];a:do if(((c[E>>2]|0)==0?(c[F+8>>2]|0)!=0:0)?(d[F+409>>0]|0)!=0:0){b=c[F+8>>2]|0;if((d[F+409>>0]|0)==2){mC(b,4);c[y>>2]=8;c[z>>2]=12}else{mC(b,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;nC(c[F+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[5524+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+148+5>>0]|0)){c[A>>2]=c[F+8>>2];VH(c[A>>2]|0,c[u>>2]|0,(c[F+436>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[F+8>>2]|0){if((c[E>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=39;break}Tg(c[F+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)c[c[w>>2]>>2]=c[F+8>>2];b=c[C>>2]|0;f=c[E>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(b,f,18391,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(b,f);while(1){if(!(c[F+468>>2]|0))break;c[D>>2]=c[F+468>>2];c[F+468>>2]=c[(c[D>>2]|0)+4>>2];Tf(c[C>>2]|0,c[D>>2]|0)}Ph(F);G=c[C>>2]|0;H=c[E>>2]|0;H=Ug(G,H)|0;c[E>>2]=H;H=c[E>>2]|0;i=I;return H|0}function TH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=WH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function UH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(og(c[h>>2]|0)|0)){c[j>>2]=pg(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)mh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}rg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){wj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Gj(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function VH(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Yw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+176>>2]=d;d=(c[g>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|(c[k>>2]&1)<<9&65535;i=l;return}function WH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function XH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=YH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function YH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){_H(c[f>>2]|0);break}c[k>>2]=ZH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function ZH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=$H(c[e>>2]|0)|0;if(!(c[f>>2]|0)){_H(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function _H(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;QB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function $H(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;d=g;c[e>>2]=b;c[f>>2]=0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+69>>0]|0){d=aI(b)|0;e=(c[e>>2]|0)+40|0;c[e>>2]=d;c[e+4>>2]=C;f=c[f>>2]|0;i=g;return f|0}h=bI(b)|0;b=(c[e>>2]|0)+40|0;c[b>>2]=h;c[b+4>>2]=0;b=(c[e>>2]|0)+40|0;c[d>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[d>>2]|0)){c[f>>2]=7;h=c[f>>2]|0;i=g;return h|0}c[f>>2]=cI(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=b;h=c[f>>2]|0;i=g;return h|0}else{Kd(b);h=c[f>>2]|0;i=g;return h|0}return 0}function aI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;SF(c[d>>2]|0);a=(c[d>>2]|0)+16|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function bI(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;SF(c[b>>2]|0);i=d;return c[(c[b>>2]|0)+16+12>>2]|0}function cI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=RF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function dI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function eI(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function fI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function gI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){IA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Mh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+88>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Yw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function hI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function iI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function jI(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;p=q+12|0;n=q+8|0;k=q+4|0;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}if((c[(c[l>>2]|0)+4>>2]|0)!=0?(c[(c[l>>2]|0)+4>>2]|0)!=(c[(c[l>>2]|0)+8>>2]|0):0){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[m>>2]=sh(c[k>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=qh(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[c[m>>2]>>2]=e;if(!(c[c[m>>2]>>2]|0)){Tf(c[k>>2]|0,c[m>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[(c[j>>2]|0)+16>>2]=c[m>>2];b[(c[m>>2]|0)+36>>1]=1;c[(c[m>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[m>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[m>>2]|0)+48>>2]=0;b[(c[m>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[m>>2]|0;$w(e,f,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);$w(c[k>>2]|0,c[m>>2]|0,0);f=c[k>>2]|0;e=c[m>>2]|0;$w(f,e,qh(c[k>>2]|0,c[c[m>>2]>>2]|0)|0);c[n>>2]=Jz(c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,p)|0;if(c[n>>2]|0){n=c[h>>2]|0;c[o>>2]=c[p>>2];Eh(n,18391,o);Tf(c[k>>2]|0,c[p>>2]|0);kI(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}else{c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}return 0}function kI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){i=j;return}e=(c[h>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|2;Rf(c[f>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=0;i=j;return}function lI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=$u(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function mI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Xg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function nI(){return 320}function oI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;TR(l|0,c[g>>2]|0,208)|0;TR(c[g>>2]|0,c[h>>2]|0,208)|0;TR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+176>>2];c[(c[g>>2]|0)+176>>2]=c[(c[h>>2]|0)+176>>2];c[(c[h>>2]|0)+176>>2]=c[j>>2];d=(c[h>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|((e[(c[g>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;i=f;return}function pI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+40>>2]=0;i=b;return}function qI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function rI(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;OC(c[t>>2]|0,8);c[(c[s>>2]|0)+104>>2]=0;if((c[(c[s>>2]|0)+40>>2]|0)==7){mh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+136>>2];a:do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+92>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+36|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=162);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+40>>2]=9;c[v>>2]=1;z=c[s>>2]|0;AI(z,lh(c[(c[s>>2]|0)+40>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+136>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+88>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+136>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=RM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Ox(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(Nx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=SM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0)){c[g+12>>2]=0;gh(c[t>>2]|0,c[x>>2]|0,-1,1,0)|0}else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(Nx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,41910,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+140>>1]=8-(((e[(c[s>>2]|0)+144>>1]|0)>>>2&3)-1<<2);c[(c[s>>2]|0)+104>>2]=(c[(c[s>>2]|0)+92>>2]|0)+40;c[(c[s>>2]|0)+40>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function sI(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1872|0;Ie=vf+536|0;He=vf+528|0;Ge=vf+520|0;jf=vf+504|0;hf=vf+496|0;Fe=vf+488|0;Ee=vf+480|0;De=vf+472|0;Ce=vf+464|0;Be=vf+456|0;Ae=vf+440|0;gf=vf+432|0;ze=vf+424|0;ye=vf+416|0;xe=vf+408|0;we=vf+400|0;ve=vf+392|0;of=vf+376|0;nf=vf+368|0;mf=vf+360|0;lf=vf+352|0;qf=vf+1656|0;ef=vf+1652|0;pf=vf+1648|0;uf=vf+1644|0;rf=vf+1640|0;ff=vf+1862|0;G=vf+1861|0;ea=vf+1636|0;tf=vf+1632|0;_a=vf+1628|0;l=vf+1624|0;Jc=vf+1620|0;Kc=vf+1616|0;Lc=vf+1612|0;dd=vf+1608|0;n=vf+1604|0;sf=vf+344|0;g=vf+1600|0;_b=vf+1596|0;Cd=vf+1592|0;Bc=vf+1588|0;kf=vf+1584|0;A=vf+1580|0;db=vf+1670|0;sd=vf+1576|0;Ea=vf+1572|0;kb=vf+1568|0;ob=vf+1564|0;Fa=vf+1560|0;Rc=vf+1556|0;Q=vf+1552|0;Ma=vf+336|0;w=vf+1860|0;K=vf+1668|0;ne=vf+1666|0;oe=vf+1664|0;aa=vf+328|0;ca=vf+320|0;Ld=vf+312|0;Md=vf+304|0;Ga=vf+1548|0;hc=vf+1544|0;W=vf+1540|0;ic=vf+1536|0;ba=vf+296|0;pe=vf+288|0;da=vf+280|0;hb=vf+1859|0;Nd=vf+1532|0;Qd=vf+1528|0;r=vf+1858|0;L=vf+1662|0;O=vf+1660|0;Ia=vf+1524|0;X=vf+1520|0;nb=vf+1516|0;pb=vf+1512|0;Nc=vf+1508|0;ua=vf+1504|0;$b=vf+1500|0;x=vf+1496|0;re=vf+1492|0;se=vf+1488|0;y=vf+1484|0;qb=vf+1480|0;xb=vf+1476|0;ac=vf+1472|0;m=vf+1468|0;Ca=vf+1464|0;S=vf+1460|0;yc=vf+1456|0;fe=vf+240|0;Te=vf+1452|0;Ye=vf+1448|0;We=vf+1444|0;fb=vf+1440|0;gb=vf+232|0;v=vf+1436|0;je=vf+1432|0;id=vf+1428|0;Re=vf+1424|0;z=vf+1857|0;af=vf+1420|0;hd=vf+1416|0;Qa=vf+224|0;Wa=vf+1412|0;Na=vf+216|0;bb=vf+208|0;ab=vf+1408|0;ie=vf+1404|0;uc=vf+1400|0;Qc=vf+1396|0;Ta=vf+1392|0;Se=vf+1388|0;J=vf+1384|0;V=vf+1380|0;Ba=vf+1376|0;Da=vf+1372|0;Ra=vf+200|0;bc=vf+1368|0;mb=vf+1364|0;_e=vf+1360|0;Za=vf+1356|0;cd=vf+1352|0;kd=vf+1348|0;od=vf+1344|0;sa=vf+1340|0;va=vf+1336|0;za=vf+1332|0;ya=vf+1328|0;D=vf+1324|0;ra=vf+1320|0;tb=vf+1316|0;na=vf+1312|0;ka=vf+1308|0;oa=vf+1304|0;ga=vf+1300|0;fa=vf+1296|0;vc=vf+1292|0;Ua=vf+1288|0;Oc=vf+1284|0;rb=vf+1280|0;ha=vf+1276|0;Ke=vf+1272|0;Ad=vf+1268|0;lc=vf+1264|0;wc=vf+1260|0;qc=vf+1256|0;Pc=vf+1252|0;Dd=vf+1248|0;rc=vf+1244|0;yb=vf+1240|0;sc=vf+1236|0;Td=vf+1232|0;eb=vf+1228|0;zb=vf+1224|0;Gd=vf+1208|0;Va=vf+1200|0;la=vf+192|0;H=vf+1196|0;s=vf+1192|0;me=vf+1188|0;wa=vf+1184|0;Ab=vf+1180|0;Ud=vf+1176|0;Gc=vf+1172|0;Hc=vf+1168|0;Hd=vf+1152|0;q=vf+1674|0;Bb=vf+1148|0;cc=vf+1144|0;Vd=vf+1140|0;ma=vf+184|0;qe=vf+176|0;Cb=vf+1136|0;Wd=vf+1132|0;B=vf+1128|0;Sc=vf+1124|0;Cc=vf+1120|0;tc=vf+1116|0;Mc=vf+1112|0;Db=vf+1108|0;he=vf+1104|0;Ue=vf+1100|0;ld=vf+1096|0;ib=vf+1092|0;Le=vf+144|0;Eb=vf+1088|0;Ve=vf+1084|0;md=vf+1080|0;jb=vf+1076|0;Fb=vf+1072|0;Xd=vf+1068|0;Xa=vf+1064|0;Gb=vf+1060|0;Hb=vf+1056|0;dc=vf+1052|0;Ha=vf+1048|0;Ib=vf+1044|0;te=vf+136|0;td=vf+1040|0;Xc=vf+1036|0;Jb=vf+1032|0;Kb=vf+1028|0;ec=vf+1024|0;Yd=vf+1020|0;Lb=vf+1016|0;fc=vf+1012|0;Zd=vf+1008|0;Mb=vf+1004|0;_d=vf+1e3|0;Nb=vf+996|0;Ne=vf+104|0;Pb=vf+992|0;gc=vf+988|0;ae=vf+984|0;Id=vf+968|0;Qb=vf+964|0;nd=vf+960|0;ce=vf+96|0;Sb=vf+956|0;be=vf+952|0;Jd=vf+936|0;pa=vf+932|0;ia=vf+928|0;Pa=vf+924|0;Vb=vf+920|0;Ed=vf+916|0;P=vf+912|0;xc=vf+908|0;ja=vf+904|0;Ze=vf+900|0;bf=vf+896|0;xa=vf+880|0;$a=vf+872|0;p=vf+868|0;Sa=vf+864|0;Oe=vf+860|0;Fd=vf+856|0;ue=vf+88|0;ta=vf+852|0;I=vf+848|0;Ya=vf+844|0;Oa=vf+840|0;jd=vf+836|0;Tc=vf+832|0;Ac=vf+828|0;Dc=vf+824|0;fd=vf+820|0;ke=vf+816|0;Ec=vf+812|0;Ic=vf+808|0;Fc=vf+804|0;Ja=vf+800|0;jc=vf+796|0;Y=vf+792|0;kc=vf+788|0;Uc=vf+784|0;le=vf+48|0;Vc=vf+780|0;_=vf+776|0;o=vf+764|0;Wc=vf+760|0;vb=vf+756|0;ed=vf+752|0;E=vf+748|0;F=vf+744|0;Xe=vf+740|0;wb=vf+736|0;Aa=vf+1673|0;lb=vf+732|0;Pe=vf+728|0;rd=vf+724|0;ge=vf+8|0;cf=vf+720|0;mc=vf+716|0;pd=vf+712|0;ud=vf+708|0;Yc=vf+704|0;Ka=vf+700|0;qa=vf+696|0;Zc=vf+692|0;gd=vf+688|0;sb=vf+684|0;qd=vf+680|0;vd=vf+676|0;nc=vf+672|0;Od=vf+668|0;R=vf+664|0;t=vf+660|0;wd=vf+656|0;_c=vf+652|0;zc=vf+648|0;ee=vf+616|0;oc=vf+612|0;xd=vf+608|0;$c=vf+604|0;Pd=vf+600|0;pc=vf+596|0;yd=vf+592|0;bd=vf+588|0;zd=vf+584|0;ad=vf+580|0;La=vf+576|0;T=vf+572|0;de=vf;u=vf+568|0;Bd=vf+564|0;Je=vf+1672|0;cb=vf+560|0;ub=vf+556|0;df=vf+552|0;U=vf+548|0;Me=vf+544|0;Qe=vf+540|0;c[qf>>2]=f;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[pf>>2]=c[ef>>2];c[uf>>2]=0;c[rf>>2]=c[c[qf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[rf>>2]|0)+66>>0]|0;c[ea>>2]=0;c[tf>>2]=0;c[_a>>2]=0;c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[Jc>>2]=0;c[Kc>>2]=0;c[Lc>>2]=0;c[dd>>2]=0;c[n>>2]=0;wf=(c[rf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=sf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;xI(c[qf>>2]|0);a:do if((c[(c[qf>>2]|0)+40>>2]|0)==7)k=889;else{c[(c[qf>>2]|0)+40>>2]=0;wf=(c[qf>>2]|0)+56|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[qf>>2]|0)+104>>2]=0;c[(c[rf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[rf>>2]|0)+248>>2]|0)){if(c[(c[rf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[qf>>2]|0)+156+16>>2];c[_a>>2]=(c[(c[rf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0)}c[pf>>2]=(c[ef>>2]|0)+((c[(c[qf>>2]|0)+36>>2]|0)*20|0);c:while(1){c[tf>>2]=(c[tf>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 87:{k=64;break c}case 1:{k=393;break c}case 13:{k=7;break}case 14:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;wf=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;k=c[Jc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 72:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 15:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=14;break}case 73:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[_b>>2]=(c[ef>>2]|0)+((c[c[Jc>>2]>>2]|0)*20|0);c[pf>>2]=(c[ef>>2]|0)+(((c[(c[_b>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Jc>>2]|0)+8>>1]=128;break}case 16:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Jc>>2]|0)+8>>1]=4;c[Cd>>2]=c[c[Jc>>2]>>2];j=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;wf=c[Jc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[ef>>2]|0)+((c[Cd>>2]|0)*20|0);break}case 74:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Lc>>2]|0)+8>>1]&1)k=20;break}case 75:{k=20;break}case 76:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 77:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 132:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=8;h[c[dd>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=78;wf=Jf(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if(iu(c[dd>>2]|0,d[G>>0]|0)|0){k=889;break a}c[(c[dd>>2]|0)+24>>2]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Tf(c[rf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[dd>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[dd>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[rf>>2]|0)+96>>2]|0)){k=888;break c}else k=43;break}case 78:{k=43;break}case 79:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[A>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);wf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[db>>1]=wf;b[(c[dd>>2]|0)+8>>1]=wf;c[(c[dd>>2]|0)+12>>2]=0;while(1){if((c[A>>2]|0)<=0)break d;c[dd>>2]=(c[dd>>2]|0)+40;ih(c[dd>>2]|0);b[(c[dd>>2]|0)+8>>1]=b[db>>1]|0;c[(c[dd>>2]|0)+12>>2]=0;c[A>>2]=(c[A>>2]|0)+-1}}case 80:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[dd>>2]|0)+8>>1]=(e[(c[dd>>2]|0)+8>>1]|1)&-129;break}case 81:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;gh(c[dd>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 82:{c[sd>>2]=(c[(c[qf>>2]|0)+116>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(DI(c[sd>>2]|0)|0){k=888;break c}c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;kG(c[dd>>2]|0,c[sd>>2]|0,2048);break}case 83:{c[Ea>>2]=c[(c[pf>>2]|0)+12>>2];c[kb>>2]=c[(c[pf>>2]|0)+4>>2];c[ob>>2]=c[(c[pf>>2]|0)+8>>2];c[Jc>>2]=(c[l>>2]|0)+((c[kb>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[ob>>2]|0)*40|0);do{mI(c[dd>>2]|0,c[Jc>>2]|0);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}c[Jc>>2]=(c[Jc>>2]|0)+40;c[dd>>2]=(c[dd>>2]|0)+40;wf=(c[Ea>>2]|0)+-1|0;c[Ea>>2]=wf}while((wf|0)!=0);break}case 84:{c[Fa>>2]=c[(c[pf>>2]|0)+12>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){kG(c[dd>>2]|0,c[Jc>>2]|0,4096);if((e[(c[dd>>2]|0)+8>>1]&4096|0)!=0?(bh(c[dd>>2]|0)|0)!=0:0){k=889;break a}wf=c[Fa>>2]|0;c[Fa>>2]=wf+-1;if(!wf)break d;c[dd>>2]=(c[dd>>2]|0)+40;c[Jc>>2]=(c[Jc>>2]|0)+40}}case 85:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);kG(c[dd>>2]|0,c[Jc>>2]|0,4096);break}case 86:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wf=c[Jc>>2]|0;hh(c[dd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 52:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}if((e[(c[Jc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Jc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&16384|0)!=0?(Yg(c[Kc>>2]|0)|0)!=0:0){k=889;break a}if((e[(c[Jc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Jc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}if((e[(c[Kc>>2]|0)+8>>1]&18|0)==0?(Mx(c[Kc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=889;break a}g=(c[(c[Jc>>2]|0)+12>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0;j=Ma;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Ma;g=c[j+4>>2]|0;wf=c[(c[rf>>2]|0)+96>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=888;break c}if(Ox(c[dd>>2]|0,(c[Ma>>2]|0)+2|0,(c[dd>>2]|0)==(c[Kc>>2]|0)&1)|0){k=889;break a}b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|2;if((c[dd>>2]|0)!=(c[Kc>>2]|0))TR(c[(c[dd>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+16>>2]|0,c[(c[Kc>>2]|0)+12>>2]|0)|0;TR((c[(c[dd>>2]|0)+16>>2]|0)+(c[(c[Kc>>2]|0)+12>>2]|0)|0,c[(c[Jc>>2]|0)+16>>2]|0,c[(c[Jc>>2]|0)+12>>2]|0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+(c[Ma>>2]|0)>>0]=0;wf=Ma;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[dd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[dd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[dd>>2]|0)+12>>2]=c[Ma>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[ne>>1]=HI(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[oe>>1]=HI(c[Kc>>2]|0)|0;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[ne>>1]&e[oe>>1]&4){wf=c[Jc>>2]|0;j=c[wf+4>>2]|0;f=aa;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Kc>>2]|0;j=c[f+4>>2]|0;wf=ca;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[pf>>2]>>0]|0){case 47:{wf=aa;if(II(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 48:{wf=aa;if(JI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 49:{wf=aa;if(KI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 50:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=aa;wf=ca;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=aa;f=ca;wf=ca;c[wf>>2]=_R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=aa;f=ca;wf=ca;c[wf>>2]=$R(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ca;j=c[f+4>>2]|0;wf=c[dd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Ld>>3]=+$g(c[Jc>>2]|0);h[Md>>3]=+$g(c[Kc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 47:{h[Md>>3]=+h[Md>>3]+ +h[Ld>>3];break}case 48:{h[Md>>3]=+h[Md>>3]-+h[Ld>>3];break}case 49:{h[Md>>3]=+h[Md>>3]*+h[Ld>>3];break}case 50:{if(+h[Ld>>3]==0.0)break e;h[Md>>3]=+h[Md>>3]/+h[Ld>>3];break}default:{xf=+h[Ld>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=aa;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Md>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ca;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=ca;wf=aa;h[Md>>3]=+(($R(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(qG(+h[Md>>3])|0)){h[c[dd>>2]>>3]=+h[Md>>3];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[ne>>1]|e[oe>>1])&8|0)!=0)break d;Jx(c[dd>>2]|0);break d}}while(0);ih(c[dd>>2]|0);break}case 88:{if(c[(c[pf>>2]|0)+4>>2]|0)hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{c[Ga>>2]=d[(c[pf>>2]|0)+3>>0];c[hc>>2]=Vw(c[rf>>2]|0,32+((c[Ga>>2]|0)-1<<2)|0,0)|0;if(!(c[hc>>2]|0)){k=889;break a}c[c[hc>>2]>>2]=0;c[(c[hc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[hc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[hc>>2]|0)+12>>2]=c[qf>>2];a[(c[hc>>2]|0)+26>>0]=c[Ga>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[hc>>2];a[c[pf>>2]>>0]=90;k=126;break}case 90:{k=126;break}case 46:case 45:case 44:case 43:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]|e[(c[Kc>>2]|0)+8>>1])&1){ih(c[dd>>2]|0);break d}wf=ah(c[Kc>>2]|0)|0;j=ba;c[j>>2]=wf;c[j+4>>2]=C;j=ah(c[Jc>>2]|0)|0;wf=da;c[wf>>2]=j;c[wf+4>>2]=C;a[hb>>0]=a[c[pf>>2]>>0]|0;do if((d[hb>>0]|0)!=43){f=da;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[hb>>0]|0)==44){yf=ba;j=c[yf+4>>2]|f;wf=ba;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[da+4>>2]|0)<0){a[hb>>0]=91-(d[hb>>0]|0);wf=da;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=da;j=QR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=da;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=da;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=ba;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[hb>>0]|0)==45;wf=g?0:-1;yf=ba;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[pe>>2]=c[ba>>2];c[pe+4>>2]=c[ba+4>>2];g=c[da>>2]|0;j=pe;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[hb>>0]|0)!=45){wf=SR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ba+4>>2]|0)<0){j=da;j=QR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=WR(-1,-1,j|0)|0;f=pe;wf=c[f+4>>2]|C;yf=pe;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=WR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C};c[ba>>2]=c[pe>>2];c[ba+4>>2]=c[pe+4>>2]}}else{j=da;f=ba;wf=c[f+4>>2]&c[j+4>>2];yf=ba;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=ba;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break}case 91:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;wf=c[(c[pf>>2]|0)+8>>2]|0;yf=c[Jc>>2]|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 17:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Jc>>2]|0,67,a[G>>0]|0),(e[(c[Jc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=159;break c}else{k=14;break d}b[(c[Jc>>2]|0)+8>>1]=e[(c[Jc>>2]|0)+8>>1]&-49664|4;break}case 92:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&4)Rx(c[Jc>>2]|0)|0;break}case 93:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&16384)g=Yg(c[Jc>>2]|0)|0;else g=0;c[uf>>2]=g;Ex(c[Jc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Jc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[dd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);c[ea>>2]=1;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Nd>>2]=0;break}c[Nd>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]|e[O>>1])&2){if((e[L>>1]&14|0)==2){Bh(c[Jc>>2]|0,0);b[O>>1]=b[(c[Lc>>2]|0)+8>>1]|0}if((e[O>>1]&14|0)==2)Bh(c[Lc>>2]|0,0)}if(e[(c[Jc>>2]|0)+8>>1]&e[(c[Lc>>2]|0)+8>>1]&4){wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=1;break}wf=c[Lc>>2]|0;f=c[wf+4>>2]|0;yf=c[Jc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){c[Nd>>2]=-1;break}else{c[Nd>>2]=0;break}}}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){Mx(c[Jc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Jc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){Mx(c[Lc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Lc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}c[Nd>>2]=MI(c[Lc>>2]|0,c[Jc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 37:{c[Qd>>2]=(c[Nd>>2]|0)==0&1;break}case 36:{c[Qd>>2]=c[Nd>>2];break}case 40:{c[Qd>>2]=(c[Nd>>2]|0)<0&1;break}case 39:{c[Qd>>2]=(c[Nd>>2]|0)<=0&1;break}case 38:{c[Qd>>2]=(c[Nd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Nd>>2]|0)>=0&1}b[(c[Jc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Lc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=14;break d}else break d;c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[ea>>2]=c[Nd>>2];c[Qd>>2]=(c[Qd>>2]|0)!=0&1;if((d[(c[pf>>2]|0)+3>>0]&8|0)!=0?((d[c[pf>>2]>>0]|0)==37|0)==(c[Qd>>2]|0):0)break d;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;wf=c[Qd>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 42:{if(c[ea>>2]|0)k=14;break}case 94:{c[n>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Nc>>2]=c[(c[pf>>2]|0)+16>>2];c[nb>>2]=c[(c[pf>>2]|0)+4>>2];c[pb>>2]=c[(c[pf>>2]|0)+8>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ia>>2]|0))break;g=c[X>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[ua>>2]=g;c[$b>>2]=c[(c[Nc>>2]|0)+20+(c[X>>2]<<2)>>2];c[x>>2]=d[(c[(c[Nc>>2]|0)+16>>2]|0)+(c[X>>2]|0)>>0];c[ea>>2]=MI((c[l>>2]|0)+(((c[nb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[pb>>2]|0)+(c[ua>>2]|0)|0)*40|0)|0,c[$b>>2]|0)|0;if(c[ea>>2]|0){k=217;break}c[X>>2]=(c[X>>2]|0)+1}if((k|0)==217?(k=0,(c[x>>2]|0)!=0):0)c[ea>>2]=0-(c[ea>>2]|0);c[n>>2]=0;break}case 18:{if((c[ea>>2]|0)<0){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[ea>>2]|0)){c[pf>>2]=(c[ef>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[ef>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)c[re>>2]=2;else{yf=ah(c[Jc>>2]|0)|0;c[re>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Kc>>2]|0)+8>>1]&1)c[se>>2]=2;else{yf=ah(c[Kc>>2]|0)|0;c[se>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[re>>2]|0)*3|0)+(c[se>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==28)c[re>>2]=d[39925+g>>0];else c[re>>2]=d[39934+g>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[re>>2]|0)==2){b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[re>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 54:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);ih(c[dd>>2]|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){b[(c[dd>>2]|0)+8>>1]=4;wf=ah(c[Jc>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 20:{if((c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2]|0)==(c[(c[pf>>2]|0)+4>>2]|0))k=14;else c[(c[pf>>2]|0)+4>>2]=c[(c[(c[qf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1)){c[y>>2]=+$g(c[Jc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==22)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[pf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 34:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Jc>>2]|0)+8>>1]&1)k=14;break}case 35:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Jc>>2]|0)+8>>1]&1))k=14;break}case 96:{c[xb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qb>>2]=c[(c[pf>>2]|0)+8>>2];c[uf>>2]=NI(xb,qb)|0;if(c[uf>>2]|0)break a;c[yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[xb>>2]|0)+76>>2];c[ac>>2]=c[(c[xb>>2]|0)+16>>2];do if((c[(c[xb>>2]|0)+56>>2]|0)!=(c[(c[qf>>2]|0)+32>>2]|0)){do if(a[(c[xb>>2]|0)+2>>0]|0)if((d[c[xb>>2]>>0]|0)==3){c[id>>2]=(c[l>>2]|0)+((c[(c[xb>>2]|0)+16>>2]|0)*40|0);yf=c[(c[id>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[xb>>2]|0)+64>>2]=yf;c[(c[xb>>2]|0)+60>>2]=yf;c[(c[xb>>2]|0)+72>>2]=c[(c[id>>2]|0)+16>>2];break}else{ih(c[yc>>2]|0);break d}else{g=bI(c[ac>>2]|0)|0;c[(c[xb>>2]|0)+60>>2]=g;g=OI(c[ac>>2]|0,v)|0;c[(c[xb>>2]|0)+72>>2]=g;g=c[(c[xb>>2]|0)+60>>2]|0;if((c[(c[xb>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[xb>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}c[(c[xb>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[xb>>2]|0)+56>>2]=c[(c[qf>>2]|0)+32>>2];g=c[(c[xb>>2]|0)+72>>2]|0;if((d[c[(c[xb>>2]|0)+72>>2]>>0]|0)<128){c[fb>>2]=d[g>>0];g=1}else g=(bG(g,fb)|0)&255;c[(c[xb>>2]|0)+68>>2]=g&255;b[(c[xb>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[fb>>2];if((c[v>>2]|0)>>>0<(c[fb>>2]|0)>>>0){c[(c[xb>>2]|0)+72>>2]=0;c[(c[xb>>2]|0)+64>>2]=0;if((c[fb>>2]|0)>>>0>98307){k=267;break c}if((c[fb>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0){k=267;break c}else{k=270;break}}else{if((c[fb>>2]|0)>>>0<=0){k=270;break}c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}}else k=270;while(0);do if((k|0)==270){k=0;if((e[(c[xb>>2]|0)+14>>1]|0)>(c[qb>>2]|0)){c[je>>2]=c[(c[xb>>2]|0)+80+(c[qb>>2]<<2)>>2];break}if((c[(c[xb>>2]|0)+68>>2]|0)>>>0>=(c[c[m>>2]>>2]|0)>>>0){c[je>>2]=0;k=292;break}if(c[(c[xb>>2]|0)+72>>2]|0){c[Te>>2]=c[(c[xb>>2]|0)+72>>2];k=276;break}g=fe;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=PI(c[ac>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,fe)|0;if(c[uf>>2]|0)break a;c[Te>>2]=c[fe+16>>2];k=276}while(0);if((k|0)==276){c[S>>2]=e[(c[xb>>2]|0)+14>>1];yf=gb;c[yf>>2]=c[(c[m>>2]|0)+(c[S>>2]<<2)>>2];c[yf+4>>2]=0;c[Ye>>2]=(c[Te>>2]|0)+(c[(c[xb>>2]|0)+68>>2]|0);c[We>>2]=(c[Te>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Ye>>2]>>0]|0;c[je>>2]=yf;g=c[Ye>>2]|0;if(yf>>>0<128){c[Ye>>2]=g+1;wf=(QI(c[je>>2]&255)|0)&255;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(bG(g,je)|0)&255;c[Ye>>2]=(c[Ye>>2]|0)+wf;wf=cG(c[je>>2]|0)|0;yf=gb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=gb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[je>>2]|0;yf=c[S>>2]|0;c[S>>2]=yf+1;c[(c[xb>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[S>>2]<<2)>>2]=c[gb>>2];if((c[S>>2]|0)>(c[qb>>2]|0))break}while((c[Ye>>2]|0)>>>0<(c[We>>2]|0)>>>0);if((c[Ye>>2]|0)>>>0>=(c[We>>2]|0)>>>0){if((c[Ye>>2]|0)>>>0>(c[We>>2]|0)>>>0){k=286;break c}yf=gb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[xb>>2]|0)+60>>2]|0)){k=286;break c}}yf=gb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[xb>>2]|0)+60>>2]|0)>>>0:0)){k=286;break c}b[(c[xb>>2]|0)+14>>1]=c[S>>2];c[(c[xb>>2]|0)+68>>2]=(c[Ye>>2]|0)-(c[Te>>2]|0);if(!(c[(c[xb>>2]|0)+72>>2]|0)){Xg(fe);k=292}else k=292}if((k|0)==292?(k=0,(e[(c[xb>>2]|0)+14>>1]|0)<=(c[qb>>2]|0)):0){g=c[yc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){kG(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{ih(g);break d}}if(e[(c[yc>>2]|0)+8>>1]&9312)ih(c[yc>>2]|0);if((c[(c[xb>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[qb>>2]|0)+1<<2)>>2]|0)>>>0){c[Te>>2]=(c[(c[xb>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0);if((c[je>>2]|0)>>>0<12){dG(c[Te>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;break d}g=(((c[je>>2]|0)-12|0)>>>0)/2|0;c[Ca>>2]=g;c[(c[yc>>2]|0)+12>>2]=g;a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;g=c[yc>>2]|0;if((c[(c[yc>>2]|0)+24>>2]|0)<((c[Ca>>2]|0)+2|0)){b[g+8>>1]=1;if(Ox(c[yc>>2]|0,(c[Ca>>2]|0)+2|0,0)|0){k=889;break a}}else c[(c[yc>>2]|0)+16>>2]=c[g+20>>2];TR(c[(c[yc>>2]|0)+16>>2]|0,c[Te>>2]|0,c[Ca>>2]|0)|0;a[(c[(c[yc>>2]|0)+16>>2]|0)+(c[Ca>>2]|0)>>0]=0;a[(c[(c[yc>>2]|0)+16>>2]|0)+((c[Ca>>2]|0)+1)>>0]=0;b[(c[yc>>2]|0)+8>>1]=b[16418+((c[je>>2]&1)<<1)>>1]|0;break d}a[(c[yc>>2]|0)+10>>0]=a[G>>0]|0;do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[je>>2]|0)>>>0>=12?(c[je>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=310}else k=310;while(0);if((k|0)==310?(k=0,yf=cG(c[je>>2]|0)|0,c[Ca>>2]=yf,(yf|0)!=0):0){c[uf>>2]=PI(c[ac>>2]|0,c[(c[m>>2]|0)+(c[qb>>2]<<2)>>2]|0,c[Ca>>2]|0,((a[(c[xb>>2]|0)+4>>0]|0)!=0^1)&1,c[yc>>2]|0)|0;if(c[uf>>2]|0)break a;dG(c[(c[yc>>2]|0)+16>>2]|0,c[je>>2]|0,c[yc>>2]|0)|0;yf=(c[yc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}dG(39943,c[je>>2]|0,c[yc>>2]|0)|0;break}case 98:{c[Re>>2]=c[(c[pf>>2]|0)+16>>2];c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Re>>2]|0;c[Re>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;Lx(c[Jc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Jc>>2]=(c[Jc>>2]|0)+40}}case 99:{yf=Qa;c[yf>>2]=0;c[yf+4>>2]=0;c[Wa>>2]=0;yf=bb;c[yf>>2]=0;c[yf+4>>2]=0;c[Ta>>2]=c[(c[pf>>2]|0)+4>>2];c[Se>>2]=c[(c[pf>>2]|0)+16>>2];c[uc>>2]=(c[l>>2]|0)+((c[Ta>>2]|0)*40|0);c[Ta>>2]=c[(c[pf>>2]|0)+8>>2];c[Qc>>2]=(c[uc>>2]|0)+(((c[Ta>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[qf>>2]|0)+143>>0];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Se>>2]|0){c[hd>>2]=c[uc>>2];do{wf=c[hd>>2]|0;c[hd>>2]=wf+40;yf=c[Se>>2]|0;c[Se>>2]=yf+1;Lx(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Se>>2]>>0]|0)!=0)}c[hd>>2]=c[Qc>>2];while(1){yf=RI(c[hd>>2]|0,c[J>>2]|0,Da)|0;c[ie>>2]=yf;c[(c[hd>>2]|0)+28>>2]=yf;do if(e[(c[hd>>2]|0)+8>>1]&16384){yf=Qa;g=c[hd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Yg(g)|0){k=889;break a}else break;else{wf=c[g>>2]|0;yf=bb;wf=RR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=bb;c[yf>>2]=wf;c[yf+4>>2]=C;c[Da>>2]=(c[Da>>2]|0)-(c[c[hd>>2]>>2]|0);break}}while(0);wf=Qa;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,c[Da>>2]|0,0)|0;yf=Qa;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ie>>2]|0)>>>0<=127)g=1;else g=iG(c[ie>>2]|0,0)|0;c[Wa>>2]=(c[Wa>>2]|0)+g;if((c[hd>>2]|0)==(c[uc>>2]|0))break;c[hd>>2]=(c[hd>>2]|0)+-40}g=c[Wa>>2]|0;if((c[Wa>>2]|0)>126){c[ab>>2]=iG(g,((g|0)<0)<<31>>31)|0;c[Wa>>2]=(c[Wa>>2]|0)+(c[ab>>2]|0);wf=c[ab>>2]|0;yf=c[Wa>>2]|0;if((wf|0)<(iG(yf,((yf|0)<0)<<31>>31)|0))c[Wa>>2]=(c[Wa>>2]|0)+1}else c[Wa>>2]=g+1;f=c[Wa>>2]|0;wf=Qa;wf=RR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Na;c[f>>2]=wf;c[f+4>>2]=C;f=Na;wf=bb;wf=RR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[rf>>2]|0)+96>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=888;break c}if(Nx(c[dd>>2]|0,c[Na>>2]|0)|0){k=889;break a}c[af>>2]=c[(c[dd>>2]|0)+16>>2];if((c[Wa>>2]|0)>>>0<128){a[c[af>>2]>>0]=c[Wa>>2];g=1}else{g=c[Wa>>2]|0;g=SI(c[af>>2]|0,g,((g|0)<0)<<31>>31)|0}c[V>>2]=g&255;c[Ba>>2]=c[Wa>>2];c[hd>>2]=c[uc>>2];do{c[ie>>2]=c[(c[hd>>2]|0)+28>>2];if((c[ie>>2]|0)>>>0<128){a[(c[af>>2]|0)+(c[V>>2]|0)>>0]=c[ie>>2];g=1}else g=SI((c[af>>2]|0)+(c[V>>2]|0)|0,c[ie>>2]|0,0)|0;c[V>>2]=(c[V>>2]|0)+(g&255);yf=TI((c[af>>2]|0)+(c[Ba>>2]|0)|0,c[hd>>2]|0,c[ie>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+yf;yf=(c[hd>>2]|0)+40|0;c[hd>>2]=yf}while(yf>>>0<=(c[Qc>>2]|0)>>>0);c[(c[dd>>2]|0)+12>>2]=c[Na>>2];b[(c[dd>>2]|0)+8>>1]=16;yf=bb;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[dd>>2]>>2]=c[bb>>2];yf=(c[dd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[dd>>2]|0)+10>>0]=1;break}case 100:{c[bc>>2]=c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ra;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=UI(c[bc>>2]|0,Ra)|0;if(c[uf>>2]|0)break a;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=Ra;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[mb>>2]=c[(c[pf>>2]|0)+4>>2];c[_e>>2]=c[(c[pf>>2]|0)+16>>2];do if(!(c[mb>>2]|0)){if((c[(c[rf>>2]|0)+164>>2]|0)>0){AI(c[qf>>2]|0,39951,we);c[uf>>2]=5;break}c[Za>>2]=Jf(c[_e>>2]|0)|0;c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[rf>>2]|0)+436>>2]|0)+(c[(c[rf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[cd>>2]=Vw(c[rf>>2]|0,32+(c[Za>>2]|0)+1|0,0)|0;if(c[cd>>2]|0){c[c[cd>>2]>>2]=(c[cd>>2]|0)+32;TR(c[c[cd>>2]>>2]|0,c[_e>>2]|0,(c[Za>>2]|0)+1|0)|0;g=c[rf>>2]|0;if(a[(c[rf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[rf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[cd>>2]|0)+24>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[cd>>2];yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[cd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[cd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[sa>>2]=0;c[kd>>2]=c[(c[rf>>2]|0)+424>>2];while(1){if(!(c[kd>>2]|0))break;if(!(ig(c[c[kd>>2]>>2]|0,c[_e>>2]|0)|0))break;c[sa>>2]=(c[sa>>2]|0)+1;c[kd>>2]=c[(c[kd>>2]|0)+24>>2]}if(!(c[kd>>2]|0)){yf=c[qf>>2]|0;c[xe>>2]=c[_e>>2];AI(yf,40002,xe);c[uf>>2]=1;break}if((c[mb>>2]|0)==1?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40024,ye);c[uf>>2]=5;break}if(!(c[(c[kd>>2]|0)+24>>2]|0))g=(d[(c[rf>>2]|0)+75>>0]|0)!=0;else g=0;c[za>>2]=g&1;if(!((c[za>>2]|0)!=0&(c[mb>>2]|0)==1)){c[sa>>2]=(c[(c[rf>>2]|0)+432>>2]|0)-(c[sa>>2]|0)-1;g:do if((c[mb>>2]|0)==2){c[ya>>2]=(c[(c[rf>>2]|0)+24>>2]&2|0)!=0&1;c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break g;c[uf>>2]=WI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,516,(c[ya>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}}else c[ya>>2]=0;while(0);c[va>>2]=0;while(1){if((c[va>>2]|0)>=(c[(c[rf>>2]|0)+20>>2]|0))break;c[uf>>2]=XI(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[va>>2]<<4)+4>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if(c[uf>>2]|0)break a;c[va>>2]=(c[va>>2]|0)+1}if(c[ya>>2]|0){Sh(c[rf>>2]|0);Cg(c[rf>>2]|0);c[(c[rf>>2]|0)+24>>2]=c[(c[rf>>2]|0)+24>>2]|2}}else{yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=887;break c}a[(c[rf>>2]|0)+67>>0]=1;if((BI(c[qf>>2]|0)|0)==5){k=370;break c}a[(c[rf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[qf>>2]|0)+40>>2]}while(1){if((c[(c[rf>>2]|0)+424>>2]|0)==(c[kd>>2]|0))break;c[od>>2]=c[(c[rf>>2]|0)+424>>2];c[(c[rf>>2]|0)+424>>2]=c[(c[od>>2]|0)+24>>2];Tf(c[rf>>2]|0,c[od>>2]|0);yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[kd>>2]|0;if((c[mb>>2]|0)==1){c[(c[rf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[rf>>2]|0,c[kd>>2]|0);if(!(c[za>>2]|0)){yf=(c[rf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[kd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[rf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[za>>2]|0)==0|(c[mb>>2]|0)==2){c[uf>>2]=VI(c[rf>>2]|0,c[mb>>2]|0,c[sa>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[rf>>2]|0)+24>>2]&67108864|0)!=0:0){k=411;break c}c[tb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[tb>>2]|0){c[uf>>2]=pg(c[tb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if(c[uf>>2]|0){k=414;break c}do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){if((d[(c[rf>>2]|0)+67>>0]|0)!=0?(c[(c[rf>>2]|0)+160>>2]|0)<=1:0)break;if(!(c[(c[qf>>2]|0)+48>>2]|0)){yf=(c[rf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[qf>>2]|0)+48>>2]=(c[(c[rf>>2]|0)+432>>2]|0)+(c[(c[rf>>2]|0)+436>>2]|0)}c[uf>>2]=VI(c[rf>>2]|0,0,(c[(c[qf>>2]|0)+48>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=_I(c[tb>>2]|0,c[(c[qf>>2]|0)+48>>2]|0)|0;yf=(c[rf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+72|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[rf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+80|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);rg(c[tb>>2]|0,1,na);c[ka>>2]=c[(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[na>>2]=0;c[ka>>2]=0}do if(d[(c[pf>>2]|0)+3>>0]|0){if((c[na>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[ka>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break;Tf(c[rf>>2]|0,c[(c[qf>>2]|0)+108>>2]|0);yf=qh(c[rf>>2]|0,40265)|0;c[(c[qf>>2]|0)+108>>2]=yf;if((c[c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[na>>2]|0))wj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 101:{c[ga>>2]=c[(c[pf>>2]|0)+4>>2];c[fa>>2]=c[(c[pf>>2]|0)+12>>2];rg(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4)+4>>2]|0,c[fa>>2]|0,oa);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=c[oa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 102:{c[vc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[uf>>2]=Bg(c[(c[vc>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[vc>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[vc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[rf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Sh(c[rf>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2}if(c[uf>>2]|0)break a;break}case 103:{c[lc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[lc>>2]|0)!=0?(c[(c[lc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=458;else k=444;break}case 105:case 104:{k=444;break}case 107:case 106:{c[qc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[qc>>2]|0)){k=889;break a}a[(c[qc>>2]|0)+2>>0]=1;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=bk(c[c[rf>>2]>>2]|0,0,c[rf>>2]|0,(c[qc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=pg(c[(c[qc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[pf>>2]|0)+16>>2]|0;c[Pc>>2]=yf;g=c[(c[qc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=aJ(g,1,4,0,c[(c[qc>>2]|0)+16>>2]|0)|0;a[(c[qc>>2]|0)+4>>0]=1;break}c[uf>>2]=cJ(g,Dd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[qc>>2]|0)+24>>2]=c[Pc>>2];c[uf>>2]=aJ(c[(c[qc>>2]|0)+20>>2]|0,c[Dd>>2]|0,4,c[Pc>>2]|0,c[(c[qc>>2]|0)+16>>2]|0)|0}a[(c[qc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[qc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{c[rc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[rc>>2]|0)){k=889;break a}c[(c[rc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=dJ(c[rf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[rc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 109:{c[yb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[yb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=RR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 110:{c[sc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[sc>>2]|0)){k=889;break a}a[(c[sc>>2]|0)+2>>0]=1;c[(c[sc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[sc>>2]|0)+4>>0]=1;break}case 111:{eJ(c[qf>>2]|0,c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[zb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[eb>>2]=d[c[pf>>2]>>0];c[H>>2]=0;a[(c[zb>>2]|0)+2>>0]=0;if(a[(c[zb>>2]|0)+4>>0]|0){c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&14|0)==2)Bh(c[Lc>>2]|0,0);wf=ah(c[Lc>>2]|0)|0;yf=la;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Lc>>2]|0)+8>>1]&4)){if(!(e[(c[Lc>>2]|0)+8>>1]&8)){k=14;break d}yf=la;if(+h[c[Lc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[eb>>2]&1)break;c[eb>>2]=(c[eb>>2]|0)+-1;break}yf=la;if(+h[c[Lc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[eb>>2]&1|0)==1:0)c[eb>>2]=(c[eb>>2]|0)+1}while(0);j=la;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Td)|0;j=la;wf=c[j+4>>2]|0;yf=(c[zb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=493}else{if(fJ(c[(c[zb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Va>>2]=c[(c[pf>>2]|0)+16>>2];c[Gd>>2]=c[(c[zb>>2]|0)+24>>2];b[Gd+8>>1]=c[Va>>2];a[Gd+10>>0]=(1&(c[eb>>2]|0)-23|0)!=0?-1:1;c[Gd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);a[Gd+14>>0]=0;c[uf>>2]=OF(c[(c[zb>>2]|0)+16>>2]|0,Gd,0,0,0,Td)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Gd+14>>0]|0)==0:0))k=493}do if((k|0)==493){k=0;a[(c[zb>>2]|0)+3>>0]=0;c[(c[zb>>2]|0)+56>>2]=0;g=c[Td>>2]|0;if((c[eb>>2]|0)>=25){if((g|0)>=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==26):0){c[Td>>2]=0;break}c[Td>>2]=0;c[uf>>2]=BF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Td>>2]|0)==0&(c[eb>>2]|0)==23):0){c[Td>>2]=gJ(c[(c[zb>>2]|0)+16>>2]|0)|0;break}c[Td>>2]=0;c[uf>>2]=CF(c[(c[zb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Td>>2]|0)){if(c[H>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=14;break}case 31:case 30:case 29:{c[Ab>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Gc>>2]=0;g=c[(c[Ab>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Hd>>2]=g;b[Hd+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Hd+4>>2]=c[Lc>>2];c[Hc>>2]=Hd}else{c[Hc>>2]=MF(g,q,183,Gc)|0;if(!(c[Hc>>2]|0)){k=889;break a}if(e[(c[Lc>>2]|0)+8>>1]&16384)Yg(c[Lc>>2]|0)|0;NF(c[(c[Ab>>2]|0)+24>>2]|0,c[(c[Lc>>2]|0)+12>>2]|0,c[(c[Lc>>2]|0)+16>>2]|0,c[Hc>>2]|0)}a[(c[Hc>>2]|0)+10>>0]=0;c[me>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==29){c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(e[(c[Hc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Hc>>2]|0)+4>>2]|0)+((c[wa>>2]|0)*40|0)+8>>1]&1)break;c[wa>>2]=(c[wa>>2]|0)+1}c[me>>2]=1}while(0);c[uf>>2]=OF(c[(c[Ab>>2]|0)+16>>2]|0,c[Hc>>2]|0,0,0,0,Ud)|0;Tf(c[rf>>2]|0,c[Gc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Ab>>2]|0)+28>>2]=c[Ud>>2];c[s>>2]=(c[Ud>>2]|0)==0&1;a[(c[Ab>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Ab>>2]|0)+3>>0]=0;c[(c[Ab>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==31)if(c[s>>2]|0){k=14;break d}else break d;else if((c[me>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 32:{c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Lc>>2]|0)+8>>1]&4|0)==0?(Lx(c[Lc>>2]|0,67,a[G>>0]|0),(e[(c[Lc>>2]|0)+8>>1]&4|0)==0):0)k=14;else k=523;break}case 33:{k=523;break}case 113:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=RR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[dd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 114:{yf=qe;c[yf>>2]=0;c[yf+4>>2]=0;c[Wd>>2]=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Cb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=hJ(c[(c[Cb>>2]|0)+16>>2]|0,Wd)|0;if(c[uf>>2]|0)break a;if(c[Wd>>2]|0){yf=qe;c[yf>>2]=1;c[yf+4>>2]=0;break}wf=aI(c[(c[Cb>>2]|0)+16>>2]|0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Cb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[qf>>2]|0)+184>>2]|0){c[Cc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Cc>>2]|0)+4>>2]|0))break;c[Cc>>2]=c[(c[Cc>>2]|0)+4>>2]}c[Sc>>2]=(c[(c[Cc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Sc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);Qx(c[Sc>>2]|0)|0;yf=c[Sc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=544;break c}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){k=544;break c}f=qe;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Sc>>2]|0;yf=RR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Sc>>2]|0;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C}j=qe;wf=c[j+4>>2]|0;yf=c[Sc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Cb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,qe);j=qe;yf=c[j+4>>2]&1073741823;wf=qe;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=qe;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;yf=OF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Wd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Wd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Wd>>2]|0)){k=554;break c}}a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;j=qe;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 116:case 115:{c[ib>>2]=0;c[tc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Db>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==115){c[Mc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Mc>>2]|0;wf=c[j+4>>2]|0;yf=Le+8|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=Le+8|0;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ue>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Db>>2]|0)+1>>0]<<4)>>2];c[ld>>2]=c[(c[pf>>2]|0)+16>>2];c[ib>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18}else{c[ld>>2]=0;c[Ue>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){wf=Le+8|0;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[tc>>2]|0)+8>>1]&1){c[Le+16>>2]=0;c[Le+20>>2]=0}else{c[Le+16>>2]=c[(c[tc>>2]|0)+16>>2];c[Le+20>>2]=c[(c[tc>>2]|0)+12>>2]}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Db>>2]|0)+28>>2]|0;else g=0;c[he>>2]=g;if(e[(c[tc>>2]|0)+8>>1]&16384)c[Le+24>>2]=c[c[tc>>2]>>2];else c[Le+24>>2]=0;c[Le>>2]=0;c[uf>>2]=iJ(c[(c[Db>>2]|0)+16>>2]|0,Le,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[he>>2]|0)|0;a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[ib>>2]|0)!=0?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){yf=Le+8|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,c[ib>>2]|0,c[Ue>>2]|0,c[c[ld>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 117:{c[jb>>2]=c[(c[pf>>2]|0)+8>>2];c[Eb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((a[(c[pf>>2]|0)+1>>0]|0)==-20?(c[(c[rf>>2]|0)+220>>2]|0)!=0:0){c[Ve>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(a[(c[Eb>>2]|0)+1>>0]<<4)>>2];c[md>>2]=c[(c[pf>>2]|0)+16>>2];if((d[(c[pf>>2]|0)+3>>0]&2|0)!=0?(d[(c[Eb>>2]|0)+4>>0]|0)!=0:0){wf=aI(c[(c[Eb>>2]|0)+16>>2]|0)|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=wf;c[yf+4>>2]=C}}else{c[Ve>>2]=0;c[md>>2]=0}c[uf>>2]=jJ(c[(c[Eb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Eb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(((c[jb>>2]&1|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+1,(c[(c[rf>>2]|0)+220>>2]|0)!=0):0)?(d[(c[md>>2]|0)+42>>0]&32|0)==0:0){yf=(c[Eb>>2]|0)+40|0;Xb[c[(c[rf>>2]|0)+220>>2]&255](c[(c[rf>>2]|0)+216>>2]|0,9,c[Ve>>2]|0,c[c[md>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 118:{yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[(c[qf>>2]|0)+44>>2]=0;break}case 119:{c[Fb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Xa>>2]=c[(c[pf>>2]|0)+16>>2];c[Xd>>2]=0;c[uf>>2]=kJ(c[Fb>>2]|0,c[Lc>>2]|0,c[Xa>>2]|0,Xd)|0;if(c[uf>>2]|0)break a;if(c[Xd>>2]|0)k=14;break}case 120:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=lJ(c[Gb>>2]|0,c[dd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Hb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[dc>>2]=c[(c[Hb>>2]|0)+16>>2];c[Ha>>2]=bI(c[dc>>2]|0)|0;if((c[Ha>>2]|0)>>>0>(c[(c[rf>>2]|0)+96>>2]|0)>>>0){k=888;break c}if(Nx(c[dd>>2]|0,(c[Ha>>2]|0)>>>0>32?c[Ha>>2]|0:32)|0){k=889;break a}c[(c[dd>>2]|0)+12>>2]=c[Ha>>2];b[(c[dd>>2]|0)+8>>1]=e[(c[dd>>2]|0)+8>>1]&-49664|16;g=c[dc>>2]|0;f=c[Ha>>2]|0;j=c[(c[dd>>2]|0)+16>>2]|0;if(!(d[(c[Hb>>2]|0)+4>>0]|0))c[uf>>2]=cI(g,0,f,j)|0;else c[uf>>2]=Qh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[dd>>2]|0)+10>>0]=1;break}case 123:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ib>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}g=c[Ib>>2]|0;do if(!(a[(c[Ib>>2]|0)+3>>0]|0)){f=c[Ib>>2]|0;if((d[g>>0]|0)==2){c[td>>2]=c[c[f+16>>2]>>2];c[Xc>>2]=c[c[td>>2]>>2];c[uf>>2]=Yb[c[(c[Xc>>2]|0)+48>>2]&255](c[(c[Ib>>2]|0)+16>>2]|0,te)|0;mJ(c[qf>>2]|0,c[td>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=nJ(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Ib>>2]|0)+2>>0]|0){b[(c[dd>>2]|0)+8>>1]=1;break d}else{wf=aI(c[(c[Ib>>2]|0)+16>>2]|0)|0;yf=te;c[yf>>2]=wf;c[yf+4>>2]=C;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=te;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=te;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 124:{c[Jb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Jb>>2]|0)+2>>0]=1;c[(c[Jb>>2]|0)+56>>2]=0;if(!(d[c[Jb>>2]>>0]|0))PB(c[(c[Jb>>2]|0)+16>>2]|0);break}case 53:{c[Kb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ec>>2]=c[(c[Kb>>2]|0)+16>>2];c[Yd>>2]=0;c[uf>>2]=hJ(c[ec>>2]|0,Yd)|0;a[(c[Kb>>2]|0)+2>>0]=c[Yd>>2];a[(c[Kb>>2]|0)+3>>0]=0;c[(c[Kb>>2]|0)+56>>2]=0;c[(c[Kb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[Yd>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 56:case 55:{k=(c[qf>>2]|0)+156+8|0;c[k>>2]=(c[k>>2]|0)+1;k=617;break}case 57:{k=617;break}case 3:{c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=0;c[uf>>2]=qJ(c[rf>>2]|0,c[Mb>>2]|0,_d)|0;k=625;break}case 5:case 4:{if(c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=624;break}case 7:case 6:{k=624;break}case 126:case 125:{c[Nb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Kc>>2]|0)+8>>1]&16384)g=Yg(c[Kc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==125)c[uf>>2]=rJ(c[Nb>>2]|0,c[Kc>>2]|0)|0;else{wf=c[(c[Kc>>2]|0)+12>>2]|0;yf=Ne+8|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;c[Ne>>2]=c[(c[Kc>>2]|0)+16>>2];if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Nb>>2]|0)+28>>2]|0;else g=0;c[uf>>2]=iJ(c[(c[Nb>>2]|0)+16>>2]|0,Ne,c[(c[pf>>2]|0)+12>>2]|0,g)|0;c[(c[Nb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 127:{c[Pb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Pb>>2]|0)+16>>2];c[Id>>2]=c[(c[Pb>>2]|0)+24>>2];b[Id+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Id+10>>0]=0;c[Id+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=OF(c[gc>>2]|0,Id,0,0,0,ae)|0;if(c[uf>>2]|0)break a;if((c[ae>>2]|0)==0?(c[uf>>2]=jJ(c[gc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Pb>>2]|0)+56>>2]=0;break}case 129:case 128:{c[Qb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=nJ(c[Qb>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[Qb>>2]|0)+2>>0]|0){ih((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ce;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=sJ(c[rf>>2]|0,c[(c[Qb>>2]|0)+16>>2]|0,ce)|0;if(c[uf>>2]|0)break a;if((d[c[pf>>2]>>0]|0)==128){c[nd>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[nd>>2]|0)+2>>0]=0;j=ce;wf=c[j+4>>2]|0;yf=(c[nd>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[nd>>2]|0)+3>>0]=1;c[(c[nd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[nd>>2]|0)+48>>2]=c[Qb>>2];break d}else{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;j=ce;wf=c[j+4>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[dd>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{c[Sb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Jd>>2]=c[(c[Sb>>2]|0)+24>>2];b[Jd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Jd+10|0;if((d[c[pf>>2]>>0]|0)<60)a[g>>0]=-1;else a[g>>0]=0;c[Jd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[be>>2]=0;c[uf>>2]=tJ(c[rf>>2]|0,c[Sb>>2]|0,Jd,be)|0;g=c[be>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[be>>2]=0-g;else c[be>>2]=g+1;if(c[uf>>2]|0)break a;if((c[be>>2]|0)>0)k=14;break}case 130:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=1;if((c[(c[rf>>2]|0)+160>>2]|0)>((c[(c[rf>>2]|0)+172>>2]|0)+1|0)){k=660;break c}c[ia>>2]=c[(c[pf>>2]|0)+12>>2];c[pa>>2]=0;c[uf>>2]=uJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,pa)|0;b[(c[dd>>2]|0)+8>>1]=4;wf=c[pa>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[pa>>2]|0){vJ(c[rf>>2]|0,c[ia>>2]|0,c[pa>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ia>>2]|0)+1}break}case 131:{c[Pa>>2]=0;c[uf>>2]=wJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Pa:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(yf=(c[qf>>2]|0)+44|0,c[yf>>2]=(c[yf>>2]|0)+(c[Pa>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){wf=c[Pa>>2]|0;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 133:{c[Vb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[Vb>>2]>>0]|0)!=1){c[uf>>2]=yJ(c[(c[Vb>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{xJ(c[rf>>2]|0,c[(c[Vb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ed>>2]=0;c[xc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==135)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=cJ(c[(c[xc>>2]|0)+4>>2]|0,Ed,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Ed>>2]|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 136:{c[ja>>2]=c[(c[pf>>2]|0)+4>>2];c[Ze>>2]=(c[ja>>2]|0)==1?19905:19924;c[xa>>2]=c[rf>>2];c[xa+8>>2]=c[(c[pf>>2]|0)+4>>2];c[xa+4>>2]=(c[qf>>2]|0)+108;yf=c[rf>>2]|0;j=c[Ze>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[Ae>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)>>2];c[Ae+4>>2]=j;c[Ae+8>>2]=wf;c[bf>>2]=Gh(yf,40293,Ae)|0;if(!(c[bf>>2]|0))c[uf>>2]=7;else{a[(c[rf>>2]|0)+148+5>>0]=1;c[xa+12>>2]=0;c[uf>>2]=$e(c[rf>>2]|0,c[bf>>2]|0,140,xa,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[xa+12>>2];Tf(c[rf>>2]|0,c[bf>>2]|0);a[(c[rf>>2]|0)+148+5>>0]=0}if(c[uf>>2]|0){k=682;break c}break}case 137:{c[uf>>2]=Fj(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 138:{zJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 139:{AJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 140:{BJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 141:{c[$a>>2]=c[(c[pf>>2]|0)+8>>2];c[p>>2]=c[(c[pf>>2]|0)+16>>2];c[Fd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Oe>>2]=CJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[$a>>2]|0,c[c[Fd>>2]>>2]|0,Sa)|0;wf=c[Sa>>2]|0;yf=c[Fd>>2]|0;j=yf;wf=QR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;ih(c[Jc>>2]|0);if(c[Sa>>2]|0){if(!(c[Oe>>2]|0)){k=889;break a}gh(c[Jc>>2]|0,c[Oe>>2]|0,-1,1,148)|0}iu(c[Jc>>2]|0,d[G>>0]|0)|0;break}case 142:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}yf=c[Kc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 62:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Jc>>2]|0)+8>>1]&32|0)!=0?(FJ(c[c[Jc>>2]>>2]|0,ue)|0)!=0:0){k=ue;hh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}ih(c[Jc>>2]|0);k=7;break}case 63:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ta>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Jc>>2]|0)+8>>1]&32|0)==0?(DJ(c[Jc>>2]|0),(e[(c[Jc>>2]|0)+8>>1]&32|0)==0):0){k=889;break a}if((c[ta>>2]|0)!=0?(yf=c[Lc>>2]|0,c[I>>2]=GJ(c[c[Jc>>2]>>2]|0,c[ta>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ta>>2]|0)>=0){yf=c[Lc>>2]|0;EJ(c[c[Jc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 64:{c[fd>>2]=c[(c[pf>>2]|0)+16>>2];c[jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[ke>>2]=c[(c[fd>>2]|0)+16>>2];c[Dc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[Dc>>2]|0))break;if((c[(c[Dc>>2]|0)+24>>2]|0)==(c[ke>>2]|0))break;c[Dc>>2]=c[(c[Dc>>2]|0)+4>>2]}if(c[Dc>>2]|0)break d}if((c[(c[qf>>2]|0)+192>>2]|0)>=(c[(c[rf>>2]|0)+96+40>>2]|0)){k=711;break c}i:do if(!(e[(c[jd>>2]|0)+8>>1]&64)){c[Ya>>2]=(c[(c[fd>>2]|0)+8>>2]|0)+(c[(c[fd>>2]|0)+12>>2]|0);if(!(c[(c[fd>>2]|0)+12>>2]|0))c[Ya>>2]=(c[Ya>>2]|0)+1;c[Oa>>2]=80+((c[Ya>>2]|0)*40|0)+(c[(c[fd>>2]|0)+12>>2]<<2);yf=c[Oa>>2]|0;c[Dc>>2]=sh(c[rf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Dc>>2]|0)){k=889;break a}Xg(c[jd>>2]|0);b[(c[jd>>2]|0)+8>>1]=64;c[c[jd>>2]>>2]=c[Dc>>2];c[c[Dc>>2]>>2]=c[qf>>2];c[(c[Dc>>2]|0)+60>>2]=c[Ya>>2];c[(c[Dc>>2]|0)+64>>2]=c[(c[fd>>2]|0)+12>>2];c[(c[Dc>>2]|0)+48>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[Dc>>2]|0)+16>>2]=c[(c[qf>>2]|0)+92>>2];c[(c[Dc>>2]|0)+56>>2]=c[(c[qf>>2]|0)+24>>2];c[(c[Dc>>2]|0)+20>>2]=c[(c[qf>>2]|0)+112>>2];c[(c[Dc>>2]|0)+44>>2]=c[(c[qf>>2]|0)+28>>2];c[(c[Dc>>2]|0)+8>>2]=c[(c[qf>>2]|0)+88>>2];c[(c[Dc>>2]|0)+52>>2]=c[(c[qf>>2]|0)+136>>2];c[(c[Dc>>2]|0)+24>>2]=c[(c[fd>>2]|0)+16>>2];c[Ac>>2]=(c[Dc>>2]|0)+80+((c[(c[Dc>>2]|0)+60>>2]|0)*40|0);c[Tc>>2]=(c[Dc>>2]|0)+80;while(1){if((c[Tc>>2]|0)==(c[Ac>>2]|0))break i;b[(c[Tc>>2]|0)+8>>1]=128;c[(c[Tc>>2]|0)+32>>2]=c[rf>>2];c[Tc>>2]=(c[Tc>>2]|0)+40}}else c[Dc>>2]=c[c[jd>>2]>>2];while(0);j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Dc>>2]|0)+4>>2]=c[(c[qf>>2]|0)+184>>2];j=sf;wf=c[j+4>>2]|0;yf=(c[Dc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Dc>>2]|0)+68>>2]=c[(c[qf>>2]|0)+44>>2];c[(c[Dc>>2]|0)+72>>2]=c[(c[c[qf>>2]>>2]|0)+88>>2];c[(c[Dc>>2]|0)+40>>2]=c[(c[qf>>2]|0)+204>>2];c[(c[qf>>2]|0)+204>>2]=0;c[(c[qf>>2]|0)+44>>2]=0;c[(c[qf>>2]|0)+184>>2]=c[Dc>>2];yf=(c[Dc>>2]|0)+80|0;c[l>>2]=yf;c[(c[qf>>2]|0)+92>>2]=yf;c[(c[qf>>2]|0)+24>>2]=c[(c[Dc>>2]|0)+60>>2];c[(c[qf>>2]|0)+28>>2]=c[(c[Dc>>2]|0)+64>>2]&65535;c[(c[qf>>2]|0)+112>>2]=(c[l>>2]|0)+((c[(c[qf>>2]|0)+24>>2]|0)*40|0);yf=c[c[fd>>2]>>2]|0;c[ef>>2]=yf;c[(c[qf>>2]|0)+88>>2]=yf;c[(c[qf>>2]|0)+136>>2]=c[(c[fd>>2]|0)+4>>2];c[pf>>2]=(c[ef>>2]|0)+-20;break}case 143:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[Ec>>2]=c[(c[qf>>2]|0)+184>>2];c[Ic>>2]=(c[(c[Ec>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Ec>>2]|0)+8>>2]|0)+((c[(c[Ec>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);kG(c[dd>>2]|0,c[Ic>>2]|0,4096);break}case 144:{g=c[pf>>2]|0;if(c[(c[rf>>2]|0)+24>>2]&33554432){wf=c[g+8>>2]|0;yf=(c[rf>>2]|0)+448|0;j=yf;wf=RR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[rf>>2]|0)+440|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[qf>>2]|0)+64|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 65:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[rf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[qf>>2]|0)+64|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[rf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 145:{if(c[(c[qf>>2]|0)+184>>2]|0){c[Fc>>2]=c[(c[qf>>2]|0)+184>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Jc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Qx(c[Jc>>2]|0)|0;c[Kc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;wf=c[Jc>>2]|0;f=c[wf+4>>2]|0;yf=c[Kc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Kc>>2]|0;wf=c[j+4>>2]|0;yf=c[Jc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 66:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 146:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;yf=c[Jc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Jc>>2]|0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Lc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=RR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[dd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 67:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[pf>>2]|0)+12>>2]|0;k=c[Jc>>2]|0;wf=k;yf=QR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 68:{c[Jc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);yf=c[Jc>>2]|0;wf=yf;wf=RR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Jc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 147:{c[Ja>>2]=d[(c[pf>>2]|0)+3>>0];c[jc>>2]=Vw(c[rf>>2]|0,32+((c[Ja>>2]|0)-1<<2)|0,0)|0;if(!(c[jc>>2]|0)){k=889;break a}c[(c[jc>>2]|0)+8>>2]=0;c[(c[jc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[jc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[jc>>2]|0)+12>>2]=c[qf>>2];a[(c[jc>>2]|0)+26>>0]=c[Ja>>2];a[(c[pf>>2]|0)+1>>0]=-21;c[(c[pf>>2]|0)+16>>2]=c[jc>>2];a[c[pf>>2]>>0]=-108;k=752;break}case 148:{k=752;break}case 149:{c[Vc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=nG(c[Vc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=764;break c}iu(c[Vc>>2]|0,d[G>>0]|0)|0;if(DI(c[Vc>>2]|0)|0){k=888;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=oi(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[_>>2]=0;c[Wc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[_>>2]|0)>=3)break d;yf=c[o+(c[_>>2]<<2)>>2]|0;hh(c[Wc>>2]|0,yf,((yf|0)<0)<<31>>31);c[_>>2]=(c[_>>2]|0)+1;c[Wc>>2]=(c[Wc>>2]|0)+40}}case 9:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[E>>2]=c[(c[pf>>2]|0)+12>>2];c[vb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[ed>>2]=Pf(c[vb>>2]|0)|0;c[F>>2]=tg(c[ed>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(HJ(c[ed>>2]|0)|0))c[E>>2]=c[F>>2];c[Xe>>2]=Ki(c[ed>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[Xe>>2]|0)|0)!=0?(IJ(c[ed>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[rf>>2]|0)+67>>0]|0)){k=784;break c}if((c[(c[rf>>2]|0)+160>>2]|0)>1){k=784;break c}if((c[F>>2]|0)==5){c[uf>>2]=JJ(c[ed>>2]|0)|0;if(!(c[uf>>2]|0))KJ(c[ed>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)KJ(c[ed>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Dg(c[vb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=KJ(c[ed>>2]|0,c[E>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;yf=pC(c[E>>2]|0)|0;c[(c[dd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[dd>>2]|0)+16>>2]|0)|0;c[(c[dd>>2]|0)+12>>2]=yf;a[(c[dd>>2]|0)+10>>0]=1;iu(c[dd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=LJ((c[qf>>2]|0)+108|0,c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 69:{c[wb>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=MJ(c[wb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 150:if(c[(c[pf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2|1;break d}else{Sh(c[rf>>2]|0);break d}case 151:{a[Aa>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Aa>>0]|0)==0?0!=(c[(c[rf>>2]|0)+24>>2]&16384|0):0)break d;c[lb>>2]=c[(c[pf>>2]|0)+4>>2];c[uf>>2]=NJ(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[lb>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Aa>>0]|0)|0;if(c[uf>>2]|0){k=805;break c}break}case 152:{c[rd>>2]=c[(c[pf>>2]|0)+16>>2];c[uf>>2]=OJ(c[rf>>2]|0,c[rd>>2]|0)|0;if(c[rd>>2]|0)mJ(c[qf>>2]|0,c[(c[rd>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 153:{g=ge;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ge+32>>2]=c[rf>>2];c[uf>>2]=jh(ge,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[cf>>2]=$d(ge)|0;if(c[cf>>2]|0)c[uf>>2]=PJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[cf>>2]|0,(c[qf>>2]|0)+108|0)|0;Xg(ge);if(c[uf>>2]|0)break a;break}case 154:{yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=QJ(c[rf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;yf=(c[rf>>2]|0)+172|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 155:{c[mc>>2]=0;c[pd>>2]=0;c[ud>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[ud>>2]|0)){k=816;break c}if(!(c[c[ud>>2]>>2]|0)){k=816;break c}c[Yc>>2]=c[c[ud>>2]>>2];c[uf>>2]=Yb[c[(c[Yc>>2]|0)+24>>2]&255](c[ud>>2]|0,pd)|0;mJ(c[qf>>2]|0,c[ud>>2]|0);if(c[uf>>2]|0)break a;c[c[pd>>2]>>2]=c[ud>>2];c[mc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[mc>>2]|0)){k=820;break c}c[(c[mc>>2]|0)+16>>2]=c[pd>>2];yf=(c[ud>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[sb>>2]=(c[gd>>2]|0)+40;c[nc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[qd>>2]=c[(c[nc>>2]|0)+16>>2];c[vd>>2]=c[c[qd>>2]>>2];c[Zc>>2]=c[c[vd>>2]>>2];c[Ka>>2]=c[c[sb>>2]>>2];c[qa>>2]=c[c[gd>>2]>>2];c[Od>>2]=0;c[t>>2]=c[(c[qf>>2]|0)+96>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Ka>>2]|0))break;c[(c[t>>2]|0)+(c[R>>2]<<2)>>2]=(c[sb>>2]|0)+(((c[R>>2]|0)+1|0)*40|0);c[R>>2]=(c[R>>2]|0)+1}c[uf>>2]=Zb[c[(c[Zc>>2]|0)+32>>2]&255](c[qd>>2]|0,c[qa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Ka>>2]|0,c[t>>2]|0)|0;mJ(c[qf>>2]|0,c[vd>>2]|0);if(c[uf>>2]|0)break a;c[Od>>2]=Tb[c[(c[Zc>>2]|0)+40>>2]&255](c[qd>>2]|0)|0;a[(c[nc>>2]|0)+2>>0]=0;if(c[Od>>2]|0)k=14;break}case 156:{c[oc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[oc>>2]|0)+2>>0]|0){ih(c[zc>>2]|0);break d}c[wd>>2]=c[c[(c[oc>>2]|0)+16>>2]>>2];c[_c>>2]=c[c[wd>>2]>>2];c[ee>>2]=0;c[ee+4>>2]=0;c[ee+8>>2]=0;c[ee+12>>2]=0;c[ee+16>>2]=0;c[ee+20>>2]=0;c[ee+24>>2]=0;c[ee+28>>2]=0;c[ee>>2]=c[zc>>2];b[(c[zc>>2]|0)+8>>1]=e[(c[zc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[_c>>2]|0)+44>>2]&255](c[(c[oc>>2]|0)+16>>2]|0,ee,c[(c[pf>>2]|0)+8>>2]|0)|0;mJ(c[qf>>2]|0,c[wd>>2]|0);if(c[ee+20>>2]|0)c[uf>>2]=c[ee+20>>2];iu(c[zc>>2]|0,d[G>>0]|0)|0;if(DI(c[zc>>2]|0)|0){k=888;break c}if(c[uf>>2]|0)break a;break}case 70:{c[Pd>>2]=0;c[pc>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[pc>>2]|0)+2>>0]|0)){c[xd>>2]=c[c[(c[pc>>2]|0)+16>>2]>>2];c[$c>>2]=c[c[xd>>2]>>2];c[uf>>2]=Tb[c[(c[$c>>2]|0)+36>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[xd>>2]|0);if(c[uf>>2]|0)break a;c[Pd>>2]=Tb[c[(c[$c>>2]|0)+40>>2]&255](c[(c[pc>>2]|0)+16>>2]|0)|0;if(c[Pd>>2]|0)k=8;else k=7}break}case 157:{c[yd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=iu(c[bd>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[yd>>2]>>2]|0)+76>>2]&255](c[yd>>2]|0,c[(c[bd>>2]|0)+16>>2]|0)|0;mJ(c[qf>>2]|0,c[yd>>2]|0);yf=(c[qf>>2]|0)+144|0;b[yf>>1]=b[yf>>1]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[zd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if(!(c[zd>>2]|0)){k=839;break c}if(!(c[c[zd>>2]>>2]|0)){k=839;break c}c[ad>>2]=c[c[zd>>2]>>2];c[La>>2]=c[(c[pf>>2]|0)+8>>2];if(c[(c[ad>>2]|0)+52>>2]|0){a[Je>>0]=a[(c[rf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[qf>>2]|0)+96>>2];c[Bd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[La>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=c[Bd>>2];c[Bd>>2]=(c[Bd>>2]|0)+40;c[T>>2]=(c[T>>2]|0)+1}a[(c[rf>>2]|0)+74>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[ad>>2]|0)+52>>2]&255](c[zd>>2]|0,c[La>>2]|0,c[u>>2]|0,de)|0;a[(c[rf>>2]|0)+74>>0]=a[Je>>0]|0;mJ(c[qf>>2]|0,c[zd>>2]|0);if((c[uf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){wf=de;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=sf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[rf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[qf>>2]|0)+142>>0]=g}else k=854;while(0);if((k|0)==854){k=0;yf=(c[qf>>2]|0)+44|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 158:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;wf=ug(c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 159:{c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;c[ub>>2]=c[(c[(c[rf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[cb>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[cb>>2]=ug(c[ub>>2]|0)|0,(c[cb>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[cb>>2]=c[(c[pf>>2]|0)+12>>2];wf=RJ(c[ub>>2]|0,c[cb>>2]|0)|0;yf=c[dd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 71:{do if((d[(c[rf>>2]|0)+76>>0]&129|0)!=0?((e[(c[qf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[qf>>2]|0)+176>>2]|0;c[df>>2]=g;if(g){g=c[(c[rf>>2]|0)+184>>2]|0;if(d[(c[rf>>2]|0)+76>>0]&128){c[Me>>2]=g;c[Qe>>2]=Ah(c[qf>>2]|0,c[df>>2]|0)|0;Rb[c[Me>>2]&255](c[(c[rf>>2]|0)+188>>2]|0,c[Qe>>2]|0);Kd(c[Qe>>2]|0);break}else{Wb[g&255](1,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,c[df>>2]|0)|0;break}}}while(0);if((c[(c[pf>>2]|0)+4>>2]|0)>=(c[70]|0)){c[U>>2]=1;while(1){if((c[U>>2]|0)>=(c[(c[qf>>2]|0)+136>>2]|0))break;if((d[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)>>0]|0)==20)c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[U>>2]|0)*20|0)+4>>2]=0;c[U>>2]=(c[U>>2]|0)+1}c[(c[pf>>2]|0)+4>>2]=0}k=(c[pf>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=14;break}default:{}}while(0);do if((k|0)==20){k=0;c[kf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=25;break c}if(!(c[(c[qf>>2]|0)+184>>2]|0)){k=25;break c}c[Bc>>2]=c[(c[qf>>2]|0)+184>>2];c[(c[qf>>2]|0)+184>>2]=c[(c[Bc>>2]|0)+4>>2];j=(c[qf>>2]|0)+192|0;c[j>>2]=(c[j>>2]|0)+-1;yI(c[rf>>2]|0,c[(c[qf>>2]|0)+44>>2]|0);c[kf>>2]=zI(c[Bc>>2]|0)|0;j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[kf>>2]=(c[(c[(c[qf>>2]|0)+88>>2]|0)+((c[kf>>2]|0)*20|0)+8>>2]|0)-1;c[ef>>2]=c[(c[qf>>2]|0)+88>>2];c[l>>2]=c[(c[qf>>2]|0)+92>>2];c[pf>>2]=(c[ef>>2]|0)+((c[kf>>2]|0)*20|0)}else if((k|0)==43){k=0;c[dd>>2]=CI(c[qf>>2]|0,c[pf>>2]|0)|0;b[(c[dd>>2]|0)+8>>1]=2562;c[(c[dd>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[dd>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[dd>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[pf>>2]|0)+12>>2]|0)>0?(c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),yf=c[Lc>>2]|0,(c[yf+4>>2]|0)==0?(c[yf>>2]|0)==(d[(c[pf>>2]|0)+3>>0]|0):0):0)b[(c[dd>>2]|0)+8>>1]=2576}else if((k|0)==126){k=0;c[ic>>2]=c[(c[pf>>2]|0)+16>>2];c[dd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[ic>>2]>>2]|0)!=(c[dd>>2]|0)){c[c[ic>>2]>>2]=c[dd>>2];c[W>>2]=(d[(c[ic>>2]|0)+26>>0]|0)-1;while(1){if((c[W>>2]|0)<0)break j;c[(c[ic>>2]|0)+28+(c[W>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[W>>2]|0)|0)*40|0);c[W>>2]=(c[W>>2]|0)+-1}}while(0);b[(c[c[ic>>2]>>2]|0)+8>>1]=e[(c[c[ic>>2]>>2]|0)+8>>1]&-49664|1;a[(c[ic>>2]|0)+25>>0]=0;yf=sf;wf=c[yf+4>>2]|0;j=(c[rf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[ic>>2]|0)+4>>2]|0)+12>>2]&255](c[ic>>2]|0,d[(c[ic>>2]|0)+26>>0]|0,(c[ic>>2]|0)+28|0);j=(c[rf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=sf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[ic>>2]|0)+25>>0]|0){if(c[(c[ic>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[ve>>2]=$d(c[c[ic>>2]>>2]|0)|0;AI(yf,18391,ve);c[uf>>2]=c[(c[ic>>2]|0)+20>>2]}LI(c[rf>>2]|0,(c[qf>>2]|0)+204|0,c[(c[ic>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[dd>>2]|0)+8>>1]&18|0)!=0?(iu(c[c[ic>>2]>>2]|0,d[G>>0]|0)|0,(DI(c[c[ic>>2]>>2]|0)|0)!=0):0){k=888;break c}}else if((k|0)==444){if(b[(c[qf>>2]|0)+144>>1]&1){k=445;break c}c[Ua>>2]=0;c[Oc>>2]=0;c[rb>>2]=c[(c[pf>>2]|0)+8>>2];c[ha>>2]=c[(c[pf>>2]|0)+12>>2];c[wc>>2]=(c[(c[rf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4);c[Ad>>2]=c[(c[wc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==105){c[Ke>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[qf>>2]|0)+143>>0]|0))a[(c[qf>>2]|0)+143>>0]=a[(c[(c[wc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Ke>>2]=0;if(d[(c[pf>>2]|0)+3>>0]&16){c[Kc>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);Qx(c[Kc>>2]|0)|0;c[rb>>2]=c[c[Kc>>2]>>2]}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Ua>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Oc>>2]=c[g+16>>2];c[Ua>>2]=(e[(c[Oc>>2]|0)+6>>1]|0)+(e[(c[Oc>>2]|0)+8>>1]|0)}c[lc>>2]=$I(c[qf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Ua>>2]|0,c[ha>>2]|0,0)|0;if(!(c[lc>>2]|0)){k=889;break a}a[(c[lc>>2]|0)+2>>0]=1;k=(c[lc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[lc>>2]|0)+8>>2]=c[rb>>2];c[uf>>2]=aJ(c[Ad>>2]|0,c[rb>>2]|0,c[Ke>>2]|0,c[Oc>>2]|0,c[(c[lc>>2]|0)+16>>2]|0)|0;c[(c[lc>>2]|0)+24>>2]=c[Oc>>2];a[(c[lc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=458}else if((k|0)==523){k=0;c[Lc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Bb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[cc>>2]=c[(c[Bb>>2]|0)+16>>2];c[Vd>>2]=0;yf=c[Lc>>2]|0;wf=c[yf+4>>2]|0;j=ma;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=ma;c[uf>>2]=OF(c[cc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ma;wf=c[j+4>>2]|0;yf=(c[Bb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Bb>>2]|0)+2>>0]=0;c[(c[Bb>>2]|0)+56>>2]=0;a[(c[Bb>>2]|0)+3>>0]=0;c[(c[Bb>>2]|0)+28>>2]=c[Vd>>2];if(c[Vd>>2]|0){if(c[(c[pf>>2]|0)+8>>2]|0){k=14;break}c[uf>>2]=Qj(81458)|0}if(c[uf>>2]|0)break a}else if((k|0)==617){k=0;c[Lb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Zd>>2]=1;g=c[Lb>>2]|0;if((d[c[Lb>>2]>>0]|0)==1)c[uf>>2]=oJ(g,Zd)|0;else{c[fc>>2]=c[g+16>>2];c[uf>>2]=pJ(c[fc>>2]|0,Zd)|0;a[(c[Lb>>2]|0)+3>>0]=0;c[(c[Lb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Lb>>2]|0)+2>>0]=c[Zd>>2];if(c[Zd>>2]|0)k=14}else if((k|0)==624){c[Mb>>2]=c[(c[(c[qf>>2]|0)+112>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[pf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Mb>>2]|0)+16>>2]|0,_d)|0;k=625}else if((k|0)==752){k=0;c[kc>>2]=c[(c[pf>>2]|0)+16>>2];c[Uc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[kc>>2]|0)+8>>2]|0)!=(c[Uc>>2]|0)){c[(c[kc>>2]|0)+8>>2]=c[Uc>>2];c[Y>>2]=(d[(c[kc>>2]|0)+26>>0]|0)-1;while(1){if((c[Y>>2]|0)<0)break k;c[(c[kc>>2]|0)+28+(c[Y>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[Y>>2]|0)|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+-1}}while(0);yf=(c[Uc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;jG(le,c[rf>>2]|0,1);c[c[kc>>2]>>2]=le;a[(c[kc>>2]|0)+25>>0]=0;a[(c[kc>>2]|0)+24>>0]=0;Ub[c[(c[(c[kc>>2]|0)+4>>2]|0)+12>>2]&255](c[kc>>2]|0,d[(c[kc>>2]|0)+26>>0]|0,(c[kc>>2]|0)+28|0);if(a[(c[kc>>2]|0)+25>>0]|0){if(c[(c[kc>>2]|0)+20>>2]|0){yf=c[qf>>2]|0;c[Ce>>2]=$d(le)|0;AI(yf,18391,Ce);c[uf>>2]=c[(c[kc>>2]|0)+20>>2]}Xg(le);if(c[uf>>2]|0)break a}if((a[(c[kc>>2]|0)+24>>0]|0)!=0?(c[Y>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[Y>>2]|0)!=0):0)hh((c[l>>2]|0)+((c[Y>>2]|0)*40|0)|0,1,0)}while(0);do if((k|0)==14){k=0;c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==458){k=0;bJ(c[(c[lc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==625){k=0;c[(c[Mb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Mb>>2]|0)+2|0;if(!(c[_d>>2]|0)){a[g>>0]=0;k=(c[qf>>2]|0)+156+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[pf>>2]=(c[ef>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[rf>>2]|0)+248>>2]|0)break b;if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(c[_a>>2]=(c[tf>>2]|0)+(c[(c[rf>>2]|0)+312>>2]|0)-(((c[tf>>2]|0)>>>0)%((c[(c[rf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[qf>>2]|0)+40>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[qf>>2]|0)+142>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[qf>>2]|0)+36>>2]=c[kf>>2];if(c[(c[qf>>2]|0)+40>>2]|0){g=c[qf>>2]|0;f=c[pf>>2]|0;if(a[(c[pf>>2]|0)+3>>0]|0){c[lf>>2]=c[5572+((d[f+3>>0]|0)-1<<2)>>2];AI(g,39873,lf);if(c[(c[pf>>2]|0)+16>>2]|0){yf=c[rf>>2]|0;wf=c[(c[pf>>2]|0)+16>>2]|0;c[mf>>2]=c[(c[qf>>2]|0)+108>>2];c[mf+4>>2]=wf;yf=Gh(yf,39894,mf)|0;c[(c[qf>>2]|0)+108>>2]=yf}}else{c[nf>>2]=c[f+16>>2];AI(g,18391,nf)}yf=c[(c[pf>>2]|0)+4>>2]|0;pf=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[of>>2]=c[kf>>2];c[of+4>>2]=pf;c[of+8>>2]=wf;Rd(yf,39901,of)}c[uf>>2]=BI(c[qf>>2]|0)|0;g=(c[qf>>2]|0)+40|0;if((c[uf>>2]|0)==5){c[g>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[g>>2]|0)!=0?1:101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 64:{if(((c[(c[rf>>2]|0)+304>>2]|0)!=0?(c[tf>>2]|0)>>>0>=(c[_a>>2]|0)>>>0:0)?(Tb[c[(c[rf>>2]|0)+304>>2]&255](c[(c[rf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=EI(c[qf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=FI(c[qf>>2]|0,1)|0;c[(c[qf>>2]|0)+32>>2]=(c[(c[qf>>2]|0)+32>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[qf>>2]|0)+104>>2]=yf;c[Rc>>2]=yf;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)+8>>1]&4096|0)!=0?(bh((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0)!=0:0){k=889;break a}GI((c[Rc>>2]|0)+((c[Q>>2]|0)*40|0)|0)|0;c[Q>>2]=(c[Q>>2]|0)+1}if(a[(c[rf>>2]|0)+69>>0]|0){k=889;break a}if(d[(c[rf>>2]|0)+76>>0]&4)Wb[c[(c[rf>>2]|0)+184>>2]&255](4,c[(c[rf>>2]|0)+188>>2]|0,c[qf>>2]|0,0)|0;c[(c[qf>>2]|0)+36>>2]=(((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 159:{c[uf>>2]=20;break a}case 267:{c[uf>>2]=Qj(79835)|0;break a}case 286:{if(!(c[(c[xb>>2]|0)+72>>2]|0))Xg(fe);c[uf>>2]=Qj(79894)|0;break a}case 370:{c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 393:{c[D>>2]=c[(c[pf>>2]|0)+4>>2];c[ra>>2]=c[(c[pf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[rf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[ra>>2]|0)!=0?40133:40176;else g=40217;AI(c[qf>>2]|0,g,gf);c[uf>>2]=1;break a}do if(!(c[ra>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[rf>>2]|0)+164>>2]|0)>0:0){AI(c[qf>>2]|0,40078,ze);c[uf>>2]=5;break a}yf=EI(c[qf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[rf>>2]|0)+67>>0]=c[D>>2];break}}else{YI(c[rf>>2]|0,516);a[(c[rf>>2]|0)+67>>0]=1}while(0);if((BI(c[qf>>2]|0)|0)==5){c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;a[(c[rf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[qf>>2]|0)+40>>2]=5;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}ZI(c[rf>>2]|0);if(!(c[(c[qf>>2]|0)+40>>2]|0)){c[uf>>2]=101;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 411:{c[uf>>2]=8;break a}case 414:{if((c[uf>>2]&255|0)!=5)break a;c[(c[qf>>2]|0)+36>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 445:{c[uf>>2]=516;break a}case 544:{c[uf>>2]=13;break a}case 554:{c[uf>>2]=13;break a}case 660:{c[uf>>2]=6;a[(c[qf>>2]|0)+142>>0]=2;break a}case 682:{Cg(c[rf>>2]|0);if((c[uf>>2]|0)==7){k=889;break a}else break a}case 711:{c[uf>>2]=1;AI(c[qf>>2]|0,40357,Be);break a}case 764:{yf=c[qf>>2]|0;c[De>>2]=$d(c[Vc>>2]|0)|0;AI(yf,18391,De);break a}case 784:{c[uf>>2]=1;yf=c[qf>>2]|0;c[Ee>>2]=(c[E>>2]|0)==5?40394:40399;AI(yf,40406,Ee);break a}case 805:{if((c[uf>>2]&255|0)!=6)break a;c[Pe>>2]=c[(c[pf>>2]|0)+16>>2];yf=c[qf>>2]|0;c[Fe>>2]=c[Pe>>2];AI(yf,40458,Fe);break a}case 816:{c[uf>>2]=6;break a}case 820:{Tb[c[(c[Yc>>2]|0)+28>>2]&255](c[pd>>2]|0)|0;k=889;break a}case 839:{c[uf>>2]=6;break a}case 887:{yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 888:{AI(c[qf>>2]|0,18170,Ge);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[rf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[qf>>2]|0)+40>>2]=c[uf>>2];yf=c[qf>>2]|0;c[Ie>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,Ie)}while(0);if((k|0)==889){mh(c[rf>>2]|0);AI(c[qf>>2]|0,25016,He);c[uf>>2]=7}if(a[(c[rf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[qf>>2]|0)+108>>2]|0)==0:0){yf=c[qf>>2]|0;c[hf>>2]=lh(c[uf>>2]|0)|0;AI(yf,18391,hf)}c[(c[qf>>2]|0)+40>>2]=c[uf>>2];SJ(c[rf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[qf>>2]|0)+176>>2]|0;wf=c[(c[qf>>2]|0)+108>>2]|0;c[jf>>2]=((c[pf>>2]|0)-(c[ef>>2]|0)|0)/20|0;c[jf+4>>2]=of;c[jf+8>>2]=wf;Rd(yf,40487,jf);BI(c[qf>>2]|0)|0;if((c[uf>>2]|0)==3082)mh(c[rf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}wj(c[rf>>2]|0,(d[ff>>0]|0)-1|0);yf=sf;pf=yf;pf=c[pf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[rf>>2]|0;wf=wf+32|0;sf=wf;c[sf>>2]=pf;wf=wf+4|0;c[wf>>2]=yf;wf=c[tf>>2]|0;yf=c[qf>>2]|0;yf=yf+156|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function tI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=vI(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+224>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+224>>2]&255](c[(c[b>>2]|0)+228>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function uI(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+40>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+108>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Yj();if(!(c[(c[e>>2]|0)+244>>2]|0)){b=Zh(c[e>>2]|0)|0;c[(c[e>>2]|0)+244>>2]=b}_h(c[(c[e>>2]|0)+244>>2]|0,-1,c[(c[d>>2]|0)+108>>2]|0,1,-1);Zj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function vI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=wI(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function wI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function xI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+152>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function yI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+88>>2]=c[e>>2];b=(c[f>>2]|0)+92|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];PM(c[e>>2]|0);c[(c[e>>2]|0)+88>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+136>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+24>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+112>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+44>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+88>>2]=c[(c[b>>2]|0)+72>>2];LI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+108>>2]|0);c[g>>2]=d;b=ox(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+108>>2]=b;i=e;return}function BI(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;h=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;f=o;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;JM(c[l>>2]|0);if((c[(c[l>>2]|0)+20>>2]|0)!=770837923){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+36>>2]|0)>=0?((e[(c[l>>2]|0)+144>>1]|0)>>>8&1|0)!=0:0){c[n>>2]=0;xI(c[l>>2]|0);c[g>>2]=c[(c[l>>2]|0)+40>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+144>>1]|0)>>>6&1|0)!=0:0){c[n>>2]=2;break}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}while(0);if(!(c[(c[l>>2]|0)+40>>2]|0))EI(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+316>>2]|0)>0?(c[(c[m>>2]|0)+340>>2]|0)==0:0)j=36;else if((d[(c[m>>2]|0)+67>>0]|0)!=0?(c[(c[m>>2]|0)+164>>2]|0)==(((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+142>>0]|0)!=3):0){YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0}else j=23;do if((j|0)==23){c[h>>2]=EI(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=KM(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+144>>1]|0)>>>7&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+40>>2]=c[h>>2];YI(c[m>>2]|0,0);c[(c[l>>2]|0)+44>>2]=0;break}else{g=(c[m>>2]|0)+440|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+448|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-33554433;xj(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+436>>2]=0}else j=36;do if((j|0)==36?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+40>>2]|0)!=0?(d[(c[l>>2]|0)+142>>0]|0)!=3:0)if((d[(c[l>>2]|0)+142>>0]|0)==2){c[n>>2]=2;break}else{YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=FI(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+40>>2]|0)!=0?(c[(c[l>>2]|0)+40>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+40>>2]=c[h>>2];Tf(c[m>>2]|0,c[(c[l>>2]|0)+108>>2]|0);c[(c[l>>2]|0)+108>>2]=0}YI(c[m>>2]|0,516);ZI(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[l>>2]|0)+44>>2]=0}if((e[(c[l>>2]|0)+144>>1]|0)>>>4&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)yI(b,c[(c[l>>2]|0)+44>>2]|0);else yI(b,0);c[(c[l>>2]|0)+44>>2]=0}}if((c[(c[l>>2]|0)+36>>2]|0)>=0){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+144>>1]|0)>>>7&1)){n=(c[m>>2]|0)+164|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+144>>1]|0)>>>8&1){n=(c[m>>2]|0)+160|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+20>>2]=832317811;if(a[(c[m>>2]|0)+69>>0]|0)c[(c[l>>2]|0)+40>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+40>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function CI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+92>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=IM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function DI(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+96>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function EI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=RR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+64|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+40>>2]=787;a[(c[f>>2]|0)+142>>0]=2;AI(c[f>>2]|0,35189,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function FI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+48>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+48>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=XI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=XI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+48>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=VI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=VI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+72|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+80|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function GI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=HM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function HI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=GM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function II(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=QR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=RR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=QR(0,0,h|0,C|0)|0,d=C,k=g,k=RR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=RR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function JI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=QR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=II(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=QR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function KI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=c[f>>2]|0;d=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=g;d=c[a+4>>2]|0;do if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0){k=h;d=c[k>>2]|0;k=c[k+4>>2]|0;a=g;a=_R(-1,2147483647,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;if((k|0)>(b|0)|(k|0)==(b|0)&d>>>0>a>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}b=h;a=c[b>>2]|0;b=c[b+4>>2]|0;k=g;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((c[g+4>>2]|0)<0){k=h;a=c[k+4>>2]|0;if((a|0)>0|(a|0)==0&(c[k>>2]|0)>>>0>0){b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;k=h;k=_R(0,-2147483648,c[k>>2]|0,c[k+4>>2]|0)|0;d=C;if(!((b|0)<(d|0)|(b|0)==(d|0)&a>>>0>>0))break;c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}if((c[h+4>>2]|0)<0){k=g;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}k=h;if((c[k>>2]|0)==0?(c[k+4>>2]|0)==-2147483648:0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}a=h;a=QR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;b=C;k=g;k=QR(0,0,c[k>>2]|0,c[k+4>>2]|0)|0;k=_R(-1,2147483647,k|0,C|0)|0;d=C;if((b|0)>(d|0)|(b|0)==(d|0)&a>>>0>k>>>0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}}while(0);k=h;a=g;a=aS(c[k>>2]|0,c[k+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;k=c[f>>2]|0;c[k>>2]=a;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function MI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=gG(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=FM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(eG(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function NI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(UL(c[e+16>>2]|0)|0))break;c[f>>2]=VL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=EM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=DM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function PI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;q=p+4|0;n=p;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=0;c[n>>2]=0;c[o>>2]=OI(c[h>>2]|0,q)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[q>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[o>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];q=c[n>>2]|0;i=p;return q|0}else{c[n>>2]=CM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;q=c[n>>2]|0;i=p;return q|0}return 0}function QI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35061+(d[c>>0]|0)>>0]|0}function RI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function SI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=SR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=BM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function TI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35061+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=SR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)TR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function UI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=QF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=RR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}HF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=FF(f,gr((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=FF(f,gr((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=QF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function WI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=ZH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;PB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;QB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}WI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function XI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Vr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=AM(c[k>>2]|0)|0;a=gr((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function YI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Yj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+148+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(fi(c[k>>2]|0)|0)c[j>>2]=1;Pg(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}ou(c[f>>2]|0)|0;Zj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+148+5>>0]|0)==0:0){Sh(c[f>>2]|0);Cg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-33554433;if(!(c[(c[f>>2]|0)+212>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+212>>2]&255](c[(c[f>>2]|0)+208>>2]|0);i=m;return}function ZI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function _I(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=xM(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function $I(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+92>>2]|0)+(((c[j+24>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+92>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=vM()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0){eJ(c[k>>2]|0,c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=0}if(Nx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+112>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));wM(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Qj(62410)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=tM(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function bJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function cJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=sM(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dJ(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+52|0;j=w+48|0;k=w+44|0;u=w+40|0;l=w+36|0;t=w+32|0;s=w+28|0;o=w+24|0;n=w+20|0;v=w+16|0;m=w+12|0;q=w;p=w+8|0;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[o>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[n>>2]=136;h=(c[n>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=sh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}n=(c[t>>2]|0)+(c[n>>2]|0)|0;c[s>>2]=n;c[(c[t>>2]|0)+28>>2]=n;TR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[o>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){o=(c[s>>2]|0)+8|0;b[o>>1]=(e[o>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}o=sg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=o;c[(c[t>>2]|0)+12>>2]=o;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[m>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[m>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Zq(c[r>>2]|0)|0)){c[p>>2]=c[58];j=_(c[p>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=j;j=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;k=q;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=q;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[q+4>>2]|0)<0){o=aS(j|0,k|0,-1024,-1)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}else{o=c[u>>2]|0;o=aS(j|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;c[p>>2]=o;c[p+4>>2]=C}m=q;n=c[m+4>>2]|0;m=(n|0)<0|(n|0)==0&(c[m>>2]|0)>>>0<536870912;n=q;o=m?c[n+4>>2]|0:0;p=q;c[p>>2]=m?c[n>>2]|0:536870912;c[p+4>>2]=o;if((c[c[t>>2]>>2]|0)>(c[q>>2]|0))j=c[c[t>>2]>>2]|0;else j=c[q>>2]|0;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function eJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{rM(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){LB(c[e+20>>2]|0)|0;i=j;return}else{NB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function fJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function gJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function hJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=QF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=GF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function iJ(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;z=y+36|0;v=y+32|0;p=y+28|0;w=y+24|0;o=y+20|0;u=y+16|0;s=y+12|0;t=y+8|0;r=y+4|0;q=y;x=y+56|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[z>>2]=j;c[p>>2]=c[z>>2];c[w>>2]=0;c[s>>2]=c[c[l>>2]>>2];c[t>>2]=c[(c[s>>2]|0)+4>>2];c[q>>2]=0;h=c[l>>2]|0;if((d[(c[l>>2]|0)+66>>0]|0)==4){c[k>>2]=c[h+60>>2];z=c[k>>2]|0;i=y;return z|0}if((d[h+64>>0]&32|0)!=0?(c[v>>2]=XH(c[t>>2]|0,c[(c[l>>2]|0)+52>>2]|0,c[l>>2]|0)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}do if(!(c[(c[l>>2]|0)+72>>2]|0)){z=(c[m>>2]|0)+8|0;ZK(c[s>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0);if(((d[(c[l>>2]|0)+64>>0]&2|0)!=0?(z=(c[m>>2]|0)+8|0,s=c[z+4>>2]|0,(s|0)>0|(s|0)==0&(c[z>>2]|0)>>>0>0):0)?(z=(c[l>>2]|0)+16|0,j=c[z>>2]|0,z=c[z+4>>2]|0,s=(c[m>>2]|0)+8|0,s=QR(c[s>>2]|0,c[s+4>>2]|0,1,0)|0,(j|0)==(s|0)&(z|0)==(C|0)):0){c[p>>2]=-1;break}if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=OF(c[l>>2]|0,0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}}else if((c[p>>2]|0)==0?(z=(c[m>>2]|0)+8|0,c[v>>2]=LF(c[l>>2]|0,c[c[m>>2]>>2]|0,c[z>>2]|0,c[z+4>>2]|0,c[n>>2]|0,p)|0,(c[v>>2]|0)!=0):0){c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}while(0);c[u>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[q>>2]=c[(c[t>>2]|0)+80>>2];c[v>>2]=qM(c[u>>2]|0,c[q>>2]|0,c[m>>2]|0,w)|0;do if(!(c[v>>2]|0)){c[o>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];if(!(c[p>>2]|0)){c[v>>2]=Gg(c[(c[u>>2]|0)+72>>2]|0)|0;if(c[v>>2]|0)break;c[r>>2]=(c[(c[u>>2]|0)+56>>2]|0)+(e[(c[u>>2]|0)+20>>1]&(d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]<<8|d[(c[(c[u>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]));if(!(a[(c[u>>2]|0)+4>>0]|0)){z=c[q>>2]|0;t=c[r>>2]|0;a[z>>0]=a[t>>0]|0;a[z+1>>0]=a[t+1>>0]|0;a[z+2>>0]=a[t+2>>0]|0;a[z+3>>0]=a[t+3>>0]|0}c[v>>2]=$K(c[u>>2]|0,c[r>>2]|0,x)|0;YL(c[u>>2]|0,c[o>>2]|0,e[x>>1]|0,v);if(c[v>>2]|0)break}else if((c[p>>2]|0)<0?(e[(c[u>>2]|0)+18>>1]|0)>0:0){x=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;z=(b[x>>1]|0)+1<<16>>16;b[x>>1]=z;c[o>>2]=z&65535}ZL(c[u>>2]|0,c[o>>2]|0,c[q>>2]|0,c[w>>2]|0,0,0,v);b[(c[l>>2]|0)+16+18>>1]=0;if(a[(c[u>>2]|0)+1>>0]|0){z=(c[l>>2]|0)+64|0;a[z>>0]=d[z>>0]&-3;c[v>>2]=_L(c[l>>2]|0)|0;a[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[l>>2]|0)+66>>0]=0}}while(0);c[k>>2]=c[v>>2];z=c[k>>2]|0;i=y;return z|0}function jJ(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Yt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=$H(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=CF(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=XH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;ZK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[y>>2]=Gg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=$K(c[x>>2]|0,c[n>>2]|0,q)|0;YL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Qj(66449)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Gg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[y>>2]|0))ZL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);YL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=_L(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;QB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=_L(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=QF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function kJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=MF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=XL(c[n>>2]|0,k)|0;NF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=$F(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function lJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=XL(c[l>>2]|0,h)|0;if(Nx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;TR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);b=qh(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+108>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function nJ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(UL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=VL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function oJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=jL(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=IL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=mL((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function pJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=QF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=sG(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function qJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=zL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))VK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function rJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else bG(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(iG(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Su()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=jL(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);TR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function sJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;e=p;c[e>>2]=bI(c[q>>2]|0)|0;c[e+4>>2]=0;jG(k,c[r>>2]|0,0);c[f>>2]=PI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else bG(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else bG(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35061+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){dG((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Xg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Xg(k);c[g>>2]=Qj(74890)|0;r=c[g>>2]|0;i=o;return r|0}function tJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];b=l;c[b>>2]=bI(c[m>>2]|0)|0;c[b+4>>2]=0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Qj(74923)|0;p=c[f>>2]|0;i=o;return p|0}jG(k,c[g>>2]|0,0);c[n>>2]=PI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=$F(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Xg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=iL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0} +function kD(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=dx(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+40>>2]|0)-1;c[C>>2]=Wz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)ix(c[J>>2]|0,65,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;ix(c[J>>2]|0,34,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=vx(c[o>>2]|0)|0;ix(c[J>>2]|0,85,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=ix(c[J>>2]|0,17,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){jx(c[J>>2]|0,37,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Jh(c[J>>2]|0,-112)}Uz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,104);jx(c[J>>2]|0,33,c[z>>2]|0,0,c[H>>2]|0)|0;Yz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Zz(I,(wx(c[J>>2]|0)|0)-2|0);Zz(c[J>>2]|0,c[B>>2]|0);xx(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=CA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=vx(c[o>>2]|0)|0;jx(c[J>>2]|0,104,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Vz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;ix(c[J>>2]|0,84,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=wx(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];jx(c[J>>2]|0,36,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Jh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Yz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=CC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;mx(h,99,e,g,l,H,c[F>>2]|0)|0;Ih(c[J>>2]|0,31,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;xx(c[o>>2]|0,c[G>>2]|0);FA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[o>>2]|0)+124>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){tA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Vx(c[o>>2]|0);ix(c[J>>2]|0,144,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;_z(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Sz(I,111,J)|0;i=K;return}function lD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+468>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+468>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function mD(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function nD(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=dx(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=ix(c[M>>2]|0,65,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Wv(c[v>>2]|0,55,c[N>>2]|0)|0;c[B>>2]=Ev(c[n>>2]|0,37,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=Ev(c[n>>2]|0,36,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Jj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=oD(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=pD(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=Ev(c[n>>2]|0,37,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=wz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=Ev(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=wz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];Ay(L,c[K>>2]|0)|0;c[J>>2]=qD(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;ix(c[M>>2]|0,144,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)rD(c[J>>2]|0);iv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Zz(c[M>>2]|0,c[z>>2]|0);i=O;return}function oD(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Wv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Wy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function pD(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Wv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function qD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-257;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Eh(ba,34404,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&32)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=832+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=Vw(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];c[(c[W>>2]|0)+20+4>>2]=-1;c[(c[W>>2]|0)+20>>2]=-1;a[(c[W>>2]|0)+42>>0]=c[I>>2];m=Wz(c[_>>2]|0)|0;c[(c[W>>2]|0)+28>>2]=m;c[(c[W>>2]|0)+32>>2]=m;b[(c[W>>2]|0)+40>>1]=b[v>>1]|0;b[(c[W>>2]|0)+16>>1]=c[w>>2];c[(c[W>>2]|0)+36>>2]=c[(c[r>>2]|0)+136>>2];m=(c[W>>2]|0)+43|0;k=m+37|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(k|0));VR((c[W>>2]|0)+752|0,0,72+((c[I>>2]|0)*80|0)|0)|0;c[R>>2]=(c[W>>2]|0)+488;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+80;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);yD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;BD((c[W>>2]|0)+80|0,c[W>>2]|0);CD((c[W>>2]|0)+80|0,c[o>>2]|0,28);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(BB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){iB(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+32>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+10|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+43>>0]=c[c[t>>2]>>2];if(e[v>>1]&256)a[(c[W>>2]|0)+47>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;DD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);ED(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+80|0);c[G>>2]=(c[G>>2]|0)+1}FD(c[s>>2]|0,(c[W>>2]|0)+80|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&256){if(GD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+80|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+47>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+40|0;b[t>>1]=e[t>>1]|128;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(HD(Y)|0)!=0:0)){c[X>>2]=ID(Y)|0;if(c[X>>2]|0)break;JD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(JD(c[W>>2]|0,(b[(c[W>>2]|0)+72>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+64|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+36>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+42>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=KD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=KD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+42>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+752+(((d[(c[W>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&256|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+42|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+136|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+72>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+45>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8)a[z>>0]=8;c[(c[(c[W>>2]|0)+752+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+752;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Fh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Ux(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];mx(c[_>>2]|0,155,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&32)break;c[K>>2]=104;if(d[(c[W>>2]|0)+45>>0]|0){c[K>>2]=105;c[(c[W>>2]|0)+20>>2]=c[(c[T>>2]|0)+44>>2]}Uz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+45>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=SR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Mh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Jh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Tz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+8>>2];c[L>>2]=104;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&32)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(!(d[(c[W>>2]|0)+45>>0]|0)){do if(c[w>>2]|0){if(!(e[v>>1]&32))break;c[F>>2]=c[w>>2];c[L>>2]=103;break d}while(0);Z=(c[r>>2]|0)+40|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=105;c[(c[W>>2]|0)+20+4>>2]=c[F>>2]}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;jx(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Vz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+40>>1]&1)break;Jh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)sx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=wx(c[_>>2]|0)|0;c[(c[W>>2]|0)+52>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+752+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,LD(c[r>>2]|0,(c[W>>2]|0)+80|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=MD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=wx(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=ND(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+28>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&32|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+136>>2]=c[(c[W>>2]|0)+36>>2];tD(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function rD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;k=E+44|0;j=E+40|0;l=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];EC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+42>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+752+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];_z(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=161){jx(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Jh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){_z(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[k>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)+1|0);if((d[(c[k>>2]|0)+8>>0]|0)!=161)ix(c[A>>2]|0,d[(c[k>>2]|0)+8>>0]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;Zz(c[A>>2]|0,(c[(c[k>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+-12}}while(0);_z(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Yz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Zz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Zz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0)ix(c[A>>2]|0,68,(c[(c[s>>2]|0)+36>>2]|0)>>>1,c[(c[s>>2]|0)+40>>2]|0)|0;if(c[c[s>>2]>>2]|0){c[l>>2]=c[(c[t>>2]|0)+36>>2];c[h>>2]=Sz(c[A>>2]|0,66,c[c[s>>2]>>2]|0)|0;if(!(c[l>>2]&64))Sz(c[A>>2]|0,124,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(!(c[l>>2]&512)){if((c[l>>2]&8192|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)!=0:0)D=22}else D=22;if((D|0)==22){D=0;Sz(c[A>>2]|0,124,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==72)ix(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Yz(f,c[g+28>>2]|0)|0;Zz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}_z(c[A>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+752;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+42>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)sD(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+40>>1]&32|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+45>>0]|0)==0?(c[B>>2]&64|0)==0:0)Sz(c[A>>2]|0,111,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+20+4>>2]|0):0)Sz(c[A>>2]|0,111,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+8>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+45>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+69>>0]|0)){c[q>>2]=wx(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=eA(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=96){if((d[f>>0]|0)!=123)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=-127;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Jj(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(OA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+136>>2]=c[(c[m>>2]|0)+36>>2];tD(c[n>>2]|0,c[m>>2]|0);i=E;return}function sD(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=eA(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=wx(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==96){a[h>>0]=84;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==123){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=91;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=79;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function tD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+42>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+752+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}uD((c[f>>2]|0)+80|0);while(1){if(!(c[(c[f>>2]|0)+56>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+56>>2];c[(c[f>>2]|0)+56>>2]=c[(c[h>>2]|0)+52>>2];vD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function uD(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+10>>1]|0)&1)iv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+10>>1]|0)&16)){if((e[(c[d>>2]|0)+10>>1]|0)&32)AD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0)}else zD(c[f>>2]|0,c[(c[d>>2]|0)+28>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function vD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;wD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function wD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);xD(c[d>>2]|0,c[e>>2]|0);yD(c[e>>2]|0);i=f;return}function xD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+8>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+8>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+8>>2]|0);c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}function yD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uD(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function BD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function CD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=ky(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){WE(f,c[h>>2]|0,0)|0;i=l;return}else{CD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);CD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function DD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function ED(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=jw(c[f>>2]|0,152,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=Ev(a,37,f,Iy(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;WE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Eh(f,34848,q);i=r;return}else if((e|0)==13){i=r;return}}function FD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;SE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function GD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=ky(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(ZD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((RE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(HE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function HD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+80;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=ZD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=EE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+8>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+752+64>>2]=c[o>>2];q=OD((c[s>>2]|0)+488|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+752+4>>2]=c[j>>2];b[(c[s>>2]|0)+72>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+43>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+40>>1]|0)&256)a[(c[s>>2]|0)+47>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function ID(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+42>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];yD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=OD((c[n>>2]|0)+488|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=OD((c[n>>2]|0)+488|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=rE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=sE(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=tE(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){wD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function JD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;E=X+40|0;M=X+148|0;N=X+144|0;G=X+162|0;r=X+140|0;Q=X+136|0;z=X+132|0;O=X+128|0;H=X+124|0;n=X+120|0;p=X+116|0;t=X+112|0;w=X+108|0;s=X+160|0;u=X+158|0;y=X+104|0;v=X+100|0;k=X+96|0;m=X+92|0;S=X+88|0;A=X+84|0;K=X+80|0;j=X+76|0;l=X+72|0;T=X+68|0;h=X+64|0;x=X+156|0;B=X+154|0;C=X+152|0;o=X+164|0;q=X+32|0;D=X+24|0;J=X+60|0;I=X+16|0;L=X+56|0;W=X+52|0;P=X+8|0;U=X+48|0;V=X;R=X+44|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[Q>>2]=d[(c[N>>2]|0)+42>>0];if((c[Q>>2]|0)<=1)g=1;else g=(c[Q>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[Q>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[T>>2]=Vw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[T>>2]|0)){c[M>>2]=7;W=c[M>>2]|0;i=X;return W|0}c[m>>2]=c[T>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[S>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[S>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[S>>2]=(c[S>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[Q>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];VR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+136>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+136>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[Q>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[S>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+56>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[S>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[S>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[S>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[S>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=nE(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[S>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=nE(b[C>>1]|0,b[(c[S>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[S>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[S>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,b[(c[N>>2]|0)+40>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[S>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=pE(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=nE(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[S>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;TR(c[(c[A>>2]|0)+24>>2]|0,c[(c[S>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+32}c[S>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[S>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Eh(c[z>>2]|0,34756,E);Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=1;W=c[M>>2]|0;i=X;return W|0}c[S>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[S>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[S>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[Q>>2]|0))break;c[J>>2]=g+752+((c[H>>2]|0)*80|0);F=c[(c[(c[S>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+40>>1]&256|0)!=0?(e[(c[N>>2]|0)+40>>1]&128|0)==0:0)?(d[(c[N>>2]|0)+47>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[S>>2]|0,128,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+47>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[S>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+40>>1]&128){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+47>>0]=2}else{a[(c[N>>2]|0)+43>>0]=g;J=(c[S>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+64|0;c[L>>2]=c[J>>2];c[L+4>>2]=K;if(((((a[(c[N>>2]|0)+43>>0]|0)<=0?(a[(c[N>>2]|0)+43>>0]=0,(c[Q>>2]|0)>0):0)?(c[W>>2]=c[(c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0)+36>>2],(c[W>>2]&4096|0)==0):0)?(c[W>>2]&260|0)!=260:0)?(W=P,c[W>>2]=0,c[W+4>>2]=0,c[U>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,2048,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,P)|0)<<24>>24,(c[U>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+48>>0]=1;U=c[P+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[P>>2];c[W+4>>2]=U}}if(((e[(c[N>>2]|0)+40>>1]&512|0)!=0?((c[Q>>2]|0)>0?(a[(c[N>>2]|0)+43>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(W=V,c[W>>2]=0,c[W+4>>2]=0,c[R>>2]=(oE(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[S>>2]|0,0,(c[Q>>2]|0)-1&65535,c[(c[(c[S>>2]|0)+24>>2]|0)+((c[Q>>2]|0)-1<<2)>>2]|0,V)|0)<<24>>24,(c[R>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+44>>0]=1;U=V;V=c[U+4>>2]|0;W=(c[N>>2]|0)+64|0;c[W>>2]=c[U>>2];c[W+4>>2]=V}}b[(c[N>>2]|0)+72>>1]=b[(c[S>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[T>>2]|0);c[M>>2]=0;W=c[M>>2]|0;i=X;return W|0}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=lE(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function LD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=fx(c[X>>2]|0,20)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+10>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(hE(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=wz(h,g,Iy(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+28>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,34719,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(jE(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=WR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=kE(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}c[(c[H>>2]|0)+24+8>>2]=c[G>>2];c[c[G>>2]>>2]=34745;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(iE(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+28>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=WR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+28>>2];c[F>>2]=sB(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=34834;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=WR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=34834;K=(c[N>>2]|0)+40|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;ix(c[X>>2]|0,106,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Vz(c[N>>2]|0,c[G>>2]|0);AA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=ix(c[X>>2]|0,76,0,0)|0;jx(c[X>>2]|0,15,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Sz(c[X>>2]|0,16,c[M>>2]|0)|0}else c[R>>2]=Sz(c[X>>2]|0,57,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Wz(c[X>>2]|0)|0;iB(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=vx(c[N>>2]|0)|0;c[V>>2]=oA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;ix(c[X>>2]|0,126,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Jh(c[X>>2]|0,16);if(c[T>>2]|0)_z(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){dA(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);sD(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Yz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else ix(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Jh(c[X>>2]|0,3);Zz(c[X>>2]|0,c[R>>2]|0);xx(c[N>>2]|0,c[W>>2]|0);yA(c[N>>2]|0);Zz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;iv(W,X);i=Y;return}function MD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+409>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+420>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&32|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);dE(C,(c[x>>2]|0)!=0?34452:34459);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];rA(C,34464,E)}else{c[F>>2]=c[m+8>>2];rA(C,34477,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];rA(C,34487,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+8>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=34494}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=34506;break}if(c[v>>2]&16384){c[K>>2]=34539;break}if(c[v>>2]&64){c[K>>2]=34564;break}else{c[K>>2]=34582;break}}while(0);if(c[K>>2]|0){sA(C,34591,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];rA(C,N,J);eE(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=34601;break}if(c[v>>2]&32){c[M>>2]=34615;break}else{c[M>>2]=34617;break}}else c[M>>2]=34599;while(0);c[G>>2]=c[M>>2];rA(C,34619,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;rA(C,34657,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=mx(c[D>>2]|0,162,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function ND(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=i;i=i+448|0;Sa=hb+8|0;Ta=hb+432|0;M=hb+428|0;Ua=hb;Xa=hb+424|0;Ra=hb+420|0;Wa=hb+416|0;ra=hb+412|0;za=hb+408|0;Pa=hb+404|0;$a=hb+400|0;Oa=hb+396|0;cb=hb+392|0;bb=hb+388|0;ab=hb+384|0;Qa=hb+380|0;fb=hb+376|0;H=hb+372|0;G=hb+368|0;Va=hb+364|0;Na=hb+360|0;o=hb+356|0;k=hb+352|0;n=hb+348|0;l=hb+344|0;q=hb+340|0;m=hb+336|0;p=hb+332|0;t=hb+328|0;r=hb+324|0;u=hb+320|0;s=hb+316|0;F=hb+312|0;E=hb+308|0;v=hb+304|0;y=hb+300|0;x=hb+296|0;z=hb+292|0;B=hb+288|0;D=hb+284|0;w=hb+280|0;A=hb+276|0;xa=hb+442|0;va=hb+440|0;ya=hb+438|0;Ha=hb+272|0;Ea=hb+268|0;Da=hb+264|0;Ia=hb+260|0;ua=hb+256|0;Ja=hb+252|0;wa=hb+248|0;Ba=hb+244|0;Ma=hb+240|0;I=hb+236|0;Aa=hb+232|0;La=hb+228|0;Ka=hb+224|0;sa=hb+447|0;ta=hb+446|0;J=hb+220|0;K=hb+445|0;L=hb+444|0;Fa=hb+216|0;Ga=hb+212|0;Ca=hb+208|0;ea=hb+204|0;ca=hb+200|0;$=hb+196|0;P=hb+192|0;la=hb+188|0;na=hb+184|0;ma=hb+180|0;Q=hb+176|0;S=hb+172|0;oa=hb+168|0;V=hb+164|0;pa=hb+436|0;_=hb+160|0;ja=hb+156|0;X=hb+152|0;Z=hb+148|0;ga=hb+144|0;U=hb+140|0;aa=hb+136|0;da=hb+132|0;ia=hb+128|0;ba=hb+124|0;W=hb+120|0;ha=hb+116|0;N=hb+112|0;ka=hb+108|0;T=hb+104|0;fa=hb+100|0;Y=hb+96|0;R=hb+92|0;O=hb+88|0;Za=hb+84|0;eb=hb+80|0;gb=hb+76|0;_a=hb+72|0;db=hb+24|0;Ya=hb+16|0;c[Ta>>2]=f;c[M>>2]=g;g=Ua;c[g>>2]=h;c[g+4>>2]=j;c[Na>>2]=0;c[o>>2]=0;c[ab>>2]=c[c[Ta>>2]>>2];c[fb>>2]=c[(c[ab>>2]|0)+8>>2];c[cb>>2]=(c[Ta>>2]|0)+80;c[Qa>>2]=c[c[ab>>2]>>2];c[$a>>2]=(c[Ta>>2]|0)+752+((c[M>>2]|0)*80|0);c[Oa>>2]=c[(c[$a>>2]|0)+64>>2];c[H>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8+((d[(c[$a>>2]|0)+44>>0]|0)*72|0);c[Wa>>2]=c[(c[H>>2]|0)+44>>2];g=Ua;h=c[g>>2]|0;g=c[g+4>>2]|0;j=OD((c[Ta>>2]|0)+488|0,c[Wa>>2]|0)|0;f=(c[$a>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Ta>>2]|0)+64|0;f=SR(c[f>>2]|0,c[f+4>>2]|0,c[M>>2]|0)|0;c[Pa>>2]=f&1;if(c[(c[Oa>>2]|0)+36>>2]&64)h=(e[(c[Ta>>2]|0)+40>>1]&32|0)==0;else h=0;c[za>>2]=h&1;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+16>>2]=f;c[(c[$a>>2]|0)+12>>2]=f;c[G>>2]=f;f=Wz(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+24>>2]=f;c[Va>>2]=f;if((d[(c[$a>>2]|0)+44>>0]|0)>0?(d[(c[H>>2]|0)+36>>0]&8|0)!=0:0){g=(c[ab>>2]|0)+44|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[$a>>2]>>2]=f;ix(c[fb>>2]|0,76,0,c[c[$a>>2]>>2]|0)|0}do if((d[(c[H>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[H>>2]|0)+28>>2];jx(c[fb>>2]|0,15,c[k>>2]|0,0,c[(c[H>>2]|0)+24>>2]|0)|0;Ra=ix(c[fb>>2]|0,16,c[k>>2]|0,c[G>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+45>>0]=13}else{h=c[Oa>>2]|0;if(c[(c[Oa>>2]|0)+36>>2]&1024){c[q>>2]=e[h+40>>1];AA(c[ab>>2]|0);c[n>>2]=CA(c[ab>>2]|0,(c[q>>2]|0)+2|0)|0;c[l>>2]=c[(c[$a>>2]|0)+12>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];do if(c[bb>>2]|0)if(e[(c[bb>>2]|0)+12>>1]&1){PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,c[Xa>>2]|0,c[Pa>>2]|0,c[p>>2]|0)|0;c[l>>2]=c[(c[$a>>2]|0)+16>>2];break}else{c[t>>2]=c[(c[c[bb>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[t>>2]|0,c[p>>2]|0,1);break}while(0);c[Xa>>2]=(c[Xa>>2]|0)+1}ix(c[fb>>2]|0,76,c[(c[Oa>>2]|0)+24>>2]|0,c[n>>2]|0)|0;ix(c[fb>>2]|0,76,c[q>>2]|0,(c[n>>2]|0)+1|0)|0;mx(c[fb>>2]|0,11,c[Wa>>2]|0,c[l>>2]|0,c[n>>2]|0,c[(c[Oa>>2]|0)+24+8>>2]|0,(d[(c[Oa>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Oa>>2]|0)+24+4>>0]=0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];a[(c[$a>>2]|0)+45>>0]=(d[(c[Ta>>2]|0)+45>>0]|0)!=0?161:70;Ra=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;c[m>>2]=c[(c[$a>>2]|0)+56>>2];c[Xa>>2]=(c[q>>2]|0)-1;while(1){if((c[Xa>>2]|0)<0)break;c[bb>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(c[Xa>>2]<<2)>>2];if((c[Xa>>2]|0)<16?(e[(c[Oa>>2]|0)+24+6>>1]>>c[Xa>>2]&1|0)!=0:0)RD(c[$a>>2]|0,c[bb>>2]|0);else qa=21;if((qa|0)==21?(qa=0,(e[(c[bb>>2]|0)+12>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Pa=c[fb>>2]|0;Ra=(c[m>>2]|0)+-1|0;c[m>>2]=Ra;c[s>>2]=eA(Pa,c[(c[(c[$a>>2]|0)+56+4>>2]|0)+(Ra*12|0)+4>>2]|0)|0;jx(c[fb>>2]|0,d[c[s>>2]>>0]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0}c[r>>2]=Ev(c[ab>>2]|0,37,0,0,0)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+12>>2]=c[(c[c[bb>>2]>>2]|0)+12>>2];Ra=Wv(c[Qa>>2]|0,157,0)|0;c[u>>2]=Ra;c[(c[r>>2]|0)+16>>2]=Ra;if(c[u>>2]|0){c[(c[u>>2]|0)+28>>2]=(c[n>>2]|0)+(c[Xa>>2]|0)+2;iB(c[ab>>2]|0,c[r>>2]|0,c[(c[$a>>2]|0)+24>>2]|0,0)}c[(c[r>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[r>>2]|0)}}c[Xa>>2]=(c[Xa>>2]|0)+-1}yA(c[ab>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&5|0)!=0:0){c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[o>>2]=Ra;c[Na>>2]=PD(c[ab>>2]|0,c[bb>>2]|0,c[$a>>2]|0,0,c[Pa>>2]|0,c[o>>2]|0)|0;if((c[Na>>2]|0)!=(c[o>>2]|0))xx(c[ab>>2]|0,c[o>>2]|0);c[ra>>2]=c[(c[$a>>2]|0)+16>>2];jx(c[fb>>2]|0,32,c[Wa>>2]|0,c[ra>>2]|0,c[Na>>2]|0)|0;WA(c[ab>>2]|0,c[Na>>2]|0,1);GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);a[(c[$a>>2]|0)+45>>0]=-95;break}if((c[(c[Oa>>2]|0)+36>>2]&256|0)!=0?(c[(c[Oa>>2]|0)+36>>2]&2|0)!=0:0){c[F>>2]=161;c[v>>2]=0;c[Xa>>2]=0;c[x>>2]=0;c[y>>2]=0;if(c[(c[Oa>>2]|0)+36>>2]&32){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[y>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[(c[Oa>>2]|0)+36>>2]&16){Ra=c[Xa>>2]|0;c[Xa>>2]=Ra+1;c[x>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(Ra<<2)>>2]}if(c[Pa>>2]|0){c[bb>>2]=c[y>>2];c[y>>2]=c[x>>2];c[x>>2]=c[bb>>2]}if(c[y>>2]|0){c[z>>2]=c[c[y>>2]>>2];Ra=(XA(c[(c[z>>2]|0)+16>>2]|0)|0)!=0;h=c[ab>>2]|0;if(Ra){Ra=vx(h)|0;c[D>>2]=Ra;c[B>>2]=Ra;QD(c[ab>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[B>>2]|0,1);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38|1)>>0]}else{c[B>>2]=ZA(h,c[(c[z>>2]|0)+16>>2]|0,D)|0;RD(c[$a>>2]|0,c[y>>2]|0);c[w>>2]=d[34432+((d[c[z>>2]>>0]|0)-38)>>0]}jx(c[fb>>2]|0,c[w>>2]|0,c[Wa>>2]|0,c[G>>2]|0,c[B>>2]|0)|0;WA(c[ab>>2]|0,c[B>>2]|0,1);xx(c[ab>>2]|0,c[D>>2]|0)}else ix(c[fb>>2]|0,(c[Pa>>2]|0)!=0?53:57,c[Wa>>2]|0,c[G>>2]|0)|0;if(c[x>>2]|0){c[A>>2]=c[c[x>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[v>>2]=Ra;QD(c[ab>>2]|0,c[(c[A>>2]|0)+16>>2]|0,c[v>>2]|0,1);do if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0)){if((d[c[A>>2]>>0]|0)!=40?(d[c[A>>2]>>0]|0)!=38:0){qa=54;break}c[F>>2]=(c[Pa>>2]|0)!=0?39:41}else qa=54;while(0);if((qa|0)==54)c[F>>2]=(c[Pa>>2]|0)!=0?40:38;if(!(XA(c[(c[A>>2]|0)+16>>2]|0)|0))RD(c[$a>>2]|0,c[x>>2]|0)}c[E>>2]=wx(c[fb>>2]|0)|0;a[(c[$a>>2]|0)+45>>0]=(c[Pa>>2]|0)!=0?6:7;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];c[(c[$a>>2]|0)+52>>2]=c[E>>2];if((c[F>>2]|0)==161)break;Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,123,c[Wa>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,c[F>>2]|0,c[v>>2]|0,c[G>>2]|0,c[Na>>2]|0)|0;Jh(c[fb>>2]|0,83);break}h=c[Oa>>2]|0;if(!(c[(c[Oa>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[H>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[$a>>2]|0)+45>>0]=-95;break}else{a[(c[$a>>2]|0)+45>>0]=a[34448+(c[Pa>>2]|0)>>0]|0;c[(c[$a>>2]|0)+48>>2]=c[Wa>>2];Ra=1+(ix(c[fb>>2]|0,d[34450+(c[Pa>>2]|0)>>0]|0,c[Wa>>2]|0,c[G>>2]|0)|0)|0;c[(c[$a>>2]|0)+52>>2]=Ra;a[(c[$a>>2]|0)+47>>0]=1;break}c[$>>2]=0;h=(c[ab>>2]|0)+40|0;Pa=c[h>>2]|0;c[h>>2]=Pa+1;c[P>>2]=Pa;Pa=(c[ab>>2]|0)+44|0;h=(c[Pa>>2]|0)+1|0;c[Pa>>2]=h;c[la>>2]=h;c[na>>2]=0;c[ma>>2]=0;c[Q>>2]=Wz(c[fb>>2]|0)|0;c[oa>>2]=0;c[_>>2]=0;c[ja>>2]=c[(c[H>>2]|0)+16>>2];c[bb>>2]=c[c[(c[Oa>>2]|0)+48>>2]>>2];c[ea>>2]=c[(c[bb>>2]|0)+28>>2];a[(c[$a>>2]|0)+45>>0]=72;c[(c[$a>>2]|0)+48>>2]=c[la>>2];h=c[Ta>>2]|0;a:do if((d[(c[Ta>>2]|0)+42>>0]|0)>1){c[X>>2]=(d[h+42>>0]|0)-(c[M>>2]|0)-1;c[ca>>2]=Ch(c[Qa>>2]|0,80+((c[X>>2]|0)*72|0)|0,0)|0;if(!(c[ca>>2]|0)){eb=Ua;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}c[(c[ca>>2]|0)+4>>2]=(c[X>>2]|0)+1&255;c[c[ca>>2]>>2]=c[(c[ca>>2]|0)+4>>2];g=(c[ca>>2]|0)+8|0;h=c[H>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Z>>2]=(c[(c[Ta>>2]|0)+4>>2]|0)+8;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>(c[X>>2]|0))break a;g=(c[ca>>2]|0)+8+((c[Ra>>2]|0)*72|0)|0;h=(c[Z>>2]|0)+((d[(c[$a>>2]|0)+((c[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Ra>>2]=(c[Ra>>2]|0)+1}}else c[ca>>2]=c[h+4>>2];while(0);if(!(e[(c[Ta>>2]|0)+40>>1]&16)){if(!(d[(c[ja>>2]|0)+42>>0]&32)){Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[na>>2]=Ra;ix(c[fb>>2]|0,79,0,c[na>>2]|0)|0}else{c[ga>>2]=Jj(c[ja>>2]|0)|0;Pa=(c[ab>>2]|0)+40|0;Ra=c[Pa>>2]|0;c[Pa>>2]=Ra+1;c[na>>2]=Ra;ix(c[fb>>2]|0,107,c[na>>2]|0,e[(c[ga>>2]|0)+50>>1]|0)|0;Vz(c[ab>>2]|0,c[ga>>2]|0)}Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[ma>>2]=Ra}c[S>>2]=ix(c[fb>>2]|0,76,0,c[la>>2]|0)|0;if((c[(c[cb>>2]|0)+12>>2]|0)>1){c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break;c[aa>>2]=c[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)>>2];do if((((c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)|0)!=(c[bb>>2]|0)?(c[(c[aa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(e[(c[(c[cb>>2]|0)+20>>2]|0)+((c[U>>2]|0)*48|0)+12>>1]&8191))break;c[aa>>2]=Iy(c[Qa>>2]|0,c[aa>>2]|0,0)|0;c[_>>2]=wz(c[Qa>>2]|0,c[_>>2]|0,c[aa>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+1}if(c[_>>2]|0)c[_>>2]=Ev(c[ab>>2]|0,284,0,c[_>>2]|0,0)|0}b[pa>>1]=32|e[(c[Ta>>2]|0)+40>>1]&1024;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ea>>2]|0)+12>>2]|0))break;c[da>>2]=(c[(c[ea>>2]|0)+20>>2]|0)+((c[V>>2]|0)*48|0);if(!((c[(c[da>>2]|0)+20>>2]|0)!=(c[Wa>>2]|0)?(e[(c[da>>2]|0)+12>>1]&1024|0)==0:0)){c[ba>>2]=c[c[da>>2]>>2];c[W>>2]=0;if((c[_>>2]|0)!=0?(c[(c[ba>>2]|0)+4>>2]&1|0)==0:0){c[(c[_>>2]|0)+12>>2]=c[ba>>2];c[ba>>2]=c[_>>2]}c[ia>>2]=qD(c[ab>>2]|0,c[ca>>2]|0,c[ba>>2]|0,0,0,b[pa>>1]|0,c[P>>2]|0)|0;if(c[ia>>2]|0){c[N>>2]=MD(c[ab>>2]|0,c[ca>>2]|0,(c[ia>>2]|0)+752|0,c[M>>2]|0,d[(c[$a>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Ta>>2]|0)+40>>1]&16)){c[T>>2]=(c[V>>2]|0)==((c[(c[ea>>2]|0)+12>>2]|0)-1|0)?-1:c[V>>2]|0;if(!(d[(c[ja>>2]|0)+42>>0]&32)){c[ka>>2]=TA(c[ab>>2]|0,c[ja>>2]|0,-1,c[Wa>>2]|0,c[ma>>2]|0,0)|0;c[W>>2]=Ih(c[fb>>2]|0,63,c[na>>2]|0,0,c[ka>>2]|0,c[T>>2]|0)|0;break}c[fa>>2]=Jj(c[ja>>2]|0)|0;c[Y>>2]=e[(c[fa>>2]|0)+50>>1];c[ka>>2]=CA(c[ab>>2]|0,c[Y>>2]|0)|0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[Y>>2]|0))break;c[O>>2]=b[(c[(c[fa>>2]|0)+4>>2]|0)+(c[R>>2]<<1)>>1];XD(c[ab>>2]|0,c[ja>>2]|0,c[O>>2]|0,c[Wa>>2]|0,(c[ka>>2]|0)+(c[R>>2]|0)|0);c[R>>2]=(c[R>>2]|0)+1}if(c[T>>2]|0)c[W>>2]=Ih(c[fb>>2]|0,31,c[na>>2]|0,0,c[ka>>2]|0,c[Y>>2]|0)|0;do if((c[T>>2]|0)>=0){jx(c[fb>>2]|0,99,c[ka>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;jx(c[fb>>2]|0,126,c[na>>2]|0,c[ma>>2]|0,0)|0;if(!(c[T>>2]|0))break;Jh(c[fb>>2]|0,16)}while(0);FA(c[ab>>2]|0,c[ka>>2]|0,c[Y>>2]|0)}while(0);ix(c[fb>>2]|0,14,c[la>>2]|0,c[Q>>2]|0)|0;if(c[W>>2]|0)Zz(c[fb>>2]|0,c[W>>2]|0);if(a[(c[ia>>2]|0)+46>>0]|0)c[oa>>2]=1;c[ha>>2]=c[(c[ia>>2]|0)+752+64>>2];do if(c[(c[ha>>2]|0)+36>>2]&512){if((c[V>>2]|0)!=0?(c[(c[ha>>2]|0)+24+8>>2]|0)!=(c[$>>2]|0):0){qa=193;break}if((d[(c[ja>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[ha>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){qa=193;break}c[$>>2]=c[(c[ha>>2]|0)+24+8>>2]}else qa=193;while(0);if((qa|0)==193){qa=0;c[$>>2]=0}rD(c[ia>>2]|0)}}c[V>>2]=(c[V>>2]|0)+1}c[(c[$a>>2]|0)+56>>2]=c[$>>2];if(c[$>>2]|0)c[(c[$a>>2]|0)+8>>2]=c[P>>2];if(c[_>>2]|0){c[(c[_>>2]|0)+12>>2]=0;iv(c[Qa>>2]|0,c[_>>2]|0)}Pa=c[fb>>2]|0;Ra=c[S>>2]|0;YD(Pa,Ra,wx(c[fb>>2]|0)|0);Yz(c[fb>>2]|0,c[(c[$a>>2]|0)+12>>2]|0)|0;_z(c[fb>>2]|0,c[Q>>2]|0);if((d[(c[Ta>>2]|0)+42>>0]|0)>1)Tf(c[Qa>>2]|0,c[ca>>2]|0);if(c[oa>>2]|0)break;RD(c[$a>>2]|0,c[bb>>2]|0);break}b[xa>>1]=b[h+24>>1]|0;b[va>>1]=b[(c[Oa>>2]|0)+24+2>>1]|0;b[ya>>1]=b[(c[Oa>>2]|0)+24+4>>1]|0;c[Ea>>2]=0;c[Da>>2]=0;c[I>>2]=0;c[Ka>>2]=0;a[sa>>0]=0;a[ta>>0]=0;c[Ba>>2]=c[(c[Oa>>2]|0)+24+8>>2];c[Ma>>2]=c[(c[$a>>2]|0)+8>>2];if(((e[(c[Ta>>2]|0)+40>>1]&1|0)!=0?(a[(c[Ta>>2]|0)+43>>0]|0)>0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)>(e[xa>>1]|0):0){a[sa>>0]=1;c[I>>2]=1}c[Xa>>2]=e[xa>>1];if(c[(c[Oa>>2]|0)+36>>2]&32){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Ea>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+2>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+2>>1]|0;c[I>>2]=h}do if(c[(c[Oa>>2]|0)+36>>2]&16){qa=c[Xa>>2]|0;c[Xa>>2]=qa+1;c[Da>>2]=c[(c[(c[Oa>>2]|0)+48>>2]|0)+(qa<<2)>>2];if((c[I>>2]|0)>(e[(c[Oa>>2]|0)+24+4>>1]|0))h=c[I>>2]|0;else h=e[(c[Oa>>2]|0)+24+4>>1]|0;c[I>>2]=h;if(e[(c[Da>>2]|0)+10>>1]&256){pa=(c[ab>>2]|0)+44|0;qa=(c[pa>>2]|0)+1|0;c[pa>>2]=qa;c[(c[$a>>2]|0)+36>>2]=qa;ix(c[fb>>2]|0,76,1,c[(c[$a>>2]|0)+36>>2]|0)|0;qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+40>>2]=qa;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]<<1;qa=(c[$a>>2]|0)+36|0;c[qa>>2]=c[qa>>2]|c[Pa>>2]^(d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==1}if(!(c[Ea>>2]|0)){c[Xa>>2]=b[(c[(c[Ba>>2]|0)+4>>2]|0)+(e[xa>>1]<<1)>>1];h=c[Xa>>2]|0;if((c[Xa>>2]|0)>=0){if(!((c[Xa>>2]|0)==-2?1:(d[(c[(c[(c[Ba>>2]|0)+12>>2]|0)+4>>2]|0)+(h<<4)+12>>0]|0)==0))break}else if((h|0)!=-2)break;a[sa>>0]=1}}while(0);if((e[xa>>1]|0)<(e[(c[Ba>>2]|0)+50>>1]|0)?(c[Pa>>2]|0)==((d[(c[(c[Ba>>2]|0)+28>>2]|0)+(e[xa>>1]|0)>>0]|0)==0|0):0)qa=84;else qa=82;if(((qa|0)==82?(c[Pa>>2]|0)!=0:0)?(e[(c[Ba>>2]|0)+50>>1]|0)==(e[xa>>1]|0):0)qa=84;if((qa|0)==84){c[J>>2]=c[Da>>2];c[Da>>2]=c[Ea>>2];c[Ea>>2]=c[J>>2];a[K>>0]=a[sa>>0]|0;a[sa>>0]=a[ta>>0]|0;a[ta>>0]=a[K>>0]|0;a[L>>0]=b[va>>1];b[va>>1]=b[ya>>1]|0;b[ya>>1]=d[L>>0]|0}c[Ha>>2]=SD(c[ab>>2]|0,c[$a>>2]|0,c[Pa>>2]|0,c[I>>2]|0,La)|0;if((c[La>>2]|0)!=0?(e[ya>>1]|0)!=0:0)c[Ka>>2]=qh(c[Qa>>2]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0)|0;c[ra>>2]=c[(c[$a>>2]|0)+16>>2];if(c[Ea>>2]|0)h=(e[(c[Ea>>2]|0)+12>>1]&40|0)!=0;else h=1;c[Ia>>2]=h&1;if(c[Da>>2]|0)h=(e[(c[Da>>2]|0)+12>>1]&40|0)!=0;else h=1;c[ua>>2]=h&1;if(c[Ea>>2]|0)h=1;else h=(e[xa>>1]|0)>0;c[Ja>>2]=h&1;c[wa>>2]=e[xa>>1];if(!(c[Ea>>2]|0)){if(a[sa>>0]|0){ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;c[Ia>>2]=0;c[Ja>>2]=1}}else{c[Fa>>2]=c[(c[c[Ea>>2]>>2]|0)+16>>2];QD(c[ab>>2]|0,c[Fa>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[va>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Ea>>2]|0);do if(!(e[(c[Ea>>2]|0)+10>>1]&0)){if(!(oB(c[Fa>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[La>>2]|0)UD(c[Fa>>2]|0,e[va>>1]|0,(c[La>>2]|0)+(e[xa>>1]|0)|0);c[wa>>2]=(c[wa>>2]|0)+(e[va>>1]|0);if(!(XA(c[Fa>>2]|0)|0))RD(c[$a>>2]|0,c[Ea>>2]|0);else c[Ia>>2]=1;a[sa>>0]=0}VD(c[ab>>2]|0,c[Ha>>2]|0,(c[wa>>2]|0)-(d[sa>>0]|0)|0,c[La>>2]|0);if(!((e[(c[Oa>>2]|0)+42>>1]|0)>0?(c[wa>>2]|0)==(e[(c[Oa>>2]|0)+42>>1]|0):0)){c[Aa>>2]=d[34436+((c[Ja>>2]<<2)+(c[Ia>>2]<<1)+(c[Pa>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}c[wa>>2]=e[xa>>1];do if(c[Da>>2]|0){c[Ga>>2]=c[(c[c[Da>>2]>>2]|0)+16>>2];GA(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,1);QD(c[ab>>2]|0,c[Ga>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0);TD(c[fb>>2]|0,c[$a>>2]|0,c[Da>>2]|0);do if(!(e[(c[Da>>2]|0)+10>>1]&0)){if(!(oB(c[Ga>>2]|0)|0))break;ix(c[fb>>2]|0,34,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,c[ra>>2]|0)|0}while(0);if(c[Ka>>2]|0){UD(c[Ga>>2]|0,e[ya>>1]|0,c[Ka>>2]|0);VD(c[ab>>2]|0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0,e[ya>>1]|0,c[Ka>>2]|0)}c[wa>>2]=(c[wa>>2]|0)+(e[ya>>1]|0);if(!(XA(c[Ga>>2]|0)|0)){RD(c[$a>>2]|0,c[Da>>2]|0);break}else{c[ua>>2]=1;break}}else{if(!(a[ta>>0]|0))break;ix(c[fb>>2]|0,79,0,(c[Ha>>2]|0)+(e[xa>>1]|0)|0)|0;c[ua>>2]=0;c[wa>>2]=(c[wa>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[La>>2]|0);Tf(c[Qa>>2]|0,c[Ka>>2]|0);Qa=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+52>>2]=Qa;if(c[wa>>2]|0){c[Aa>>2]=d[34444+((c[Pa>>2]<<1)+(c[ua>>2]|0))>>0];Ih(c[fb>>2]|0,c[Aa>>2]|0,c[Ma>>2]|0,c[ra>>2]|0,c[Ha>>2]|0,c[wa>>2]|0)|0}do if(!(c[za>>2]|0)){if(!(d[(c[(c[Ba>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[Ta>>2]|0)+40>>1]&1024){Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Na>>2]=Ra;ix(c[fb>>2]|0,129,c[Ma>>2]|0,c[Na>>2]|0)|0;GB(c[ab>>2]|0,c[Wa>>2]|0,-1,c[Na>>2]|0);jx(c[fb>>2]|0,33,c[Wa>>2]|0,0,c[Na>>2]|0)|0;break}else{WD(c[Ta>>2]|0,c[Ba>>2]|0,c[Wa>>2]|0,c[Ma>>2]|0);break}if((c[Wa>>2]|0)==(c[Ma>>2]|0))break;c[Ca>>2]=Jj(c[(c[Ba>>2]|0)+12>>2]|0)|0;c[Na>>2]=CA(c[ab>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0;c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(e[(c[Ca>>2]|0)+50>>1]|0))break;c[Ra>>2]=(OA(c[Ba>>2]|0,b[(c[(c[Ca>>2]|0)+4>>2]|0)+(c[Xa>>2]<<1)>>1]|0)|0)<<16>>16;jx(c[fb>>2]|0,96,c[Ma>>2]|0,c[Ra>>2]|0,(c[Na>>2]|0)+(c[Xa>>2]|0)|0)|0;c[Xa>>2]=(c[Xa>>2]|0)+1}Ih(c[fb>>2]|0,30,c[Wa>>2]|0,c[Va>>2]|0,c[Na>>2]|0,e[(c[Ca>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Oa>>2]|0)+36>>2]&4096)){h=(c[$a>>2]|0)+45|0;if(c[Pa>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[$a>>2]|0)+45>>0]=-95;while(0);c[(c[$a>>2]|0)+48>>2]=c[Ma>>2];a[(c[$a>>2]|0)+46>>0]=(c[(c[Oa>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Oa>>2]|0)+36>>2]&15)break;a[(c[$a>>2]|0)+47>>0]=1}while(0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;c[eb>>2]=0;do if(!(e[(c[bb>>2]|0)+10>>1]&6)){Qa=(c[bb>>2]|0)+40|0;Ra=(c[$a>>2]|0)+72|0;if((c[Qa>>2]&c[Ra>>2]|0)!=0?1:(c[Qa+4>>2]&c[Ra+4>>2]|0)!=0){a[(c[Ta>>2]|0)+46>>0]=1;break}c[Za>>2]=c[c[bb>>2]>>2];if((c[c[$a>>2]>>2]|0)!=0?(c[(c[Za>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[bb>>2]|0)+10>>1]&512){c[gb>>2]=c[(c[$a>>2]|0)+36>>2];c[eb>>2]=Sz(c[fb>>2]|0,(c[gb>>2]&1|0)!=0?22:21,(c[gb>>2]|0)>>>1)|0}iB(c[ab>>2]|0,c[Za>>2]|0,c[Va>>2]|0,16);if(c[eb>>2]|0)Zz(c[fb>>2]|0,c[eb>>2]|0);Ra=(c[bb>>2]|0)+10|0;b[Ra>>1]=e[Ra>>1]|4}while(0);c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=c[(c[cb>>2]|0)+12>>2];while(1){if((c[Xa>>2]|0)<=0)break;if(((((((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(e[(c[bb>>2]|0)+12>>1]&130|0)!=0:0)?(e[(c[bb>>2]|0)+12>>1]&2048|0)!=0:0)?(c[(c[bb>>2]|0)+20>>2]|0)==(c[Wa>>2]|0):0)?(c[c[$a>>2]>>2]|0)==0:0)?(c[_a>>2]=c[c[bb>>2]>>2],gb=Ua,c[Ya>>2]=ZD(c[cb>>2]|0,c[Wa>>2]|0,c[(c[bb>>2]|0)+28>>2]|0,c[gb>>2]|0,c[gb+4>>2]|0,131,0)|0,(c[Ya>>2]|0)!=0):0)?(e[(c[Ya>>2]|0)+10>>1]&4|0)==0:0){g=db;h=c[c[Ya>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[db+12>>2]=c[(c[_a>>2]|0)+12>>2];iB(c[ab>>2]|0,db,c[Va>>2]|0,16)}c[Xa>>2]=(c[Xa>>2]|0)+-1;c[bb>>2]=(c[bb>>2]|0)+48}b:do if(c[c[$a>>2]>>2]|0){gb=wx(c[fb>>2]|0)|0;c[(c[$a>>2]|0)+28>>2]=gb;ix(c[fb>>2]|0,76,1,c[c[$a>>2]>>2]|0)|0;EC(c[ab>>2]|0);c[bb>>2]=c[(c[cb>>2]|0)+20>>2];c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(c[(c[cb>>2]|0)+12>>2]|0))break b;if((e[(c[bb>>2]|0)+10>>1]&6|0)==0?(fb=(c[bb>>2]|0)+40|0,gb=(c[$a>>2]|0)+72|0,!((c[fb>>2]&c[gb>>2]|0)!=0?1:(c[fb+4>>2]&c[gb+4>>2]|0)!=0)):0){iB(c[ab>>2]|0,c[c[bb>>2]>>2]|0,c[Va>>2]|0,16);gb=(c[bb>>2]|0)+10|0;b[gb>>1]=e[gb>>1]|4}c[Xa>>2]=(c[Xa>>2]|0)+1;c[bb>>2]=(c[bb>>2]|0)+48}}while(0);eb=(c[$a>>2]|0)+72|0;gb=c[eb+4>>2]|0;fb=Sa;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=Sa;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;C=fb;i=hb;return gb|0}function OD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=WR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function PD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+128|0;z=S+120|0;A=S+116|0;B=S+112|0;C=S+108|0;D=S+104|0;E=S+100|0;m=S+96|0;P=S+92|0;Q=S+88|0;L=S+84|0;G=S+80|0;M=S+76|0;N=S+72|0;O=S+68|0;H=S+64|0;s=S+60|0;F=S+56|0;y=S+52|0;n=S+48|0;w=S+44|0;v=S+40|0;x=S+36|0;u=S+32|0;o=S+28|0;q=S+24|0;p=S+20|0;t=S+16|0;r=S+12|0;J=S+8|0;K=S+4|0;I=S;c[A>>2]=f;c[B>>2]=g;c[C>>2]=h;c[D>>2]=j;c[E>>2]=k;c[m>>2]=l;c[P>>2]=c[c[B>>2]>>2];c[Q>>2]=c[(c[A>>2]|0)+8>>2];do if((d[c[P>>2]>>0]|0)!=37?(d[c[P>>2]>>0]|0)!=29:0){if((d[c[P>>2]>>0]|0)==34){c[L>>2]=c[m>>2];ix(c[Q>>2]|0,79,0,c[L>>2]|0)|0;break}c[G>>2]=5;c[O>>2]=c[(c[C>>2]|0)+64>>2];c[s>>2]=0;c[F>>2]=0;if(((c[(c[O>>2]|0)+36>>2]&1024|0)==0?(c[(c[O>>2]|0)+24+8>>2]|0)!=0:0)?(d[(c[(c[(c[O>>2]|0)+24+8>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0)!=0:0)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[L>>2]=c[m>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0){R=14;break}c[H>>2]=(c[H>>2]|0)+1}if((R|0)==14){RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[m>>2];R=c[z>>2]|0;i=S;return R|0}c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0):0)c[s>>2]=(c[s>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}if((c[(c[P>>2]|0)+4>>2]&2048|0)!=0?(c[c[c[(c[P>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){c[y>>2]=c[(c[P>>2]|0)+20>>2];c[n>>2]=c[c[A>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[v>>2]=c[(c[(c[P>>2]|0)+12>>2]|0)+20>>2];c[x>>2]=0;c[u>>2]=0;c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[o>>2]=(c[(c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]|0)+24>>2]|0)-1;c[q>>2]=Iy(c[n>>2]|0,c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[p>>2]=Iy(c[n>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[x>>2]=Tv(c[A>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;c[u>>2]=Tv(c[A>>2]|0,c[u>>2]|0,c[p>>2]|0)|0}c[H>>2]=(c[H>>2]|0)+1}if(!(a[(c[n>>2]|0)+69>>0]|0)){c[t>>2]=c[(c[P>>2]|0)+12>>2];a:do if(c[(c[y>>2]|0)+44>>2]|0){c[r>>2]=c[(c[y>>2]|0)+44>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[c[r>>2]>>2]|0))break a;b[(c[(c[r>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)+16>>1]=0;c[H>>2]=(c[H>>2]|0)+1}}while(0);m=c[u>>2]|0;if((c[c[u>>2]>>2]|0)==1)c[(c[P>>2]|0)+12>>2]=c[c[m+4>>2]>>2];else{c[(c[t>>2]|0)+20>>2]=m;c[F>>2]=sh(c[c[A>>2]>>2]|0,c[s>>2]<<2,0)|0}c[c[y>>2]>>2]=c[x>>2];c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,c[F>>2]|0)|0;c[c[y>>2]>>2]=c[w>>2];c[(c[t>>2]|0)+20>>2]=c[v>>2];c[(c[P>>2]|0)+12>>2]=c[t>>2]}ev(c[c[A>>2]>>2]|0,c[u>>2]|0);ev(c[c[A>>2]>>2]|0,c[x>>2]|0)}else c[G>>2]=nB(c[A>>2]|0,c[P>>2]|0,4,0,0)|0;if((c[G>>2]|0)==4)c[E>>2]=((c[E>>2]|0)!=0^1)&1;c[M>>2]=c[(c[P>>2]|0)+28>>2];ix(c[Q>>2]|0,(c[E>>2]|0)!=0?53:57,c[M>>2]|0,0)|0;y=(c[O>>2]|0)+36|0;c[y>>2]=c[y>>2]|2048;if(!(c[(c[C>>2]|0)+56>>2]|0)){y=Wz(c[Q>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=y}c[H>>2]=c[(c[C>>2]|0)+56>>2];y=(c[C>>2]|0)+56|0;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0);y=Px(c[c[A>>2]>>2]|0,c[(c[C>>2]|0)+56+4>>2]|0,(c[(c[C>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[C>>2]|0)+56+4>>2]=y;c[N>>2]=c[(c[C>>2]|0)+56+4>>2];b:do if(c[N>>2]|0){c[J>>2]=0;c[N>>2]=(c[N>>2]|0)+((c[H>>2]|0)*12|0);c[H>>2]=c[D>>2];while(1){if((c[H>>2]|0)>=(e[(c[O>>2]|0)+40>>1]|0))break b;if((c[c[(c[(c[O>>2]|0)+48>>2]|0)+(c[H>>2]<<2)>>2]>>2]|0)==(c[P>>2]|0)){c[K>>2]=(c[L>>2]|0)+(c[H>>2]|0)-(c[D>>2]|0);if((c[G>>2]|0)==1){y=ix(c[Q>>2]|0,123,c[M>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}else{if(c[F>>2]|0){m=c[J>>2]|0;c[J>>2]=m+1;m=c[(c[F>>2]|0)+(m<<2)>>2]|0}else m=0;c[I>>2]=m;y=jx(c[Q>>2]|0,96,c[M>>2]|0,c[I>>2]|0,c[K>>2]|0)|0;c[(c[N>>2]|0)+4>>2]=y}Sz(c[Q>>2]|0,34,c[K>>2]|0)|0;if((c[H>>2]|0)==(c[D>>2]|0)){c[c[N>>2]>>2]=c[M>>2];a[(c[N>>2]|0)+8>>0]=(c[E>>2]|0)!=0?4:5}else a[(c[N>>2]|0)+8>>0]=-95;c[N>>2]=(c[N>>2]|0)+12}c[H>>2]=(c[H>>2]|0)+1}}else c[(c[C>>2]|0)+56>>2]=0;while(0);Tf(c[c[A>>2]>>2]|0,c[F>>2]|0)}else R=3;while(0);if((R|0)==3)c[L>>2]=SA(c[A>>2]|0,c[(c[P>>2]|0)+16>>2]|0,c[m>>2]|0)|0;RD(c[C>>2]|0,c[B>>2]|0);c[z>>2]=c[L>>2];R=c[z>>2]|0;i=S;return R|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;l=o+8|0;k=o+4|0;m=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(XA(c[g>>2]|0)|0)){RA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=o;return}if(c[(c[g>>2]|0)+4>>2]&2048){c[n>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=dB(c[f>>2]|0,c[g>>2]|0,0,0)|0;jx(c[n>>2]|0,84,c[l>>2]|0,c[h>>2]|0,(c[j>>2]|0)-1|0)|0;i=o;return}c[m>>2]=c[(c[g>>2]|0)+20>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;RA(c[f>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,(c[h>>2]|0)+(c[k>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1}i=o;return}function RD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+10>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+10>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+10|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+16>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+4>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+16>>2]|0)*48|0);g=(c[j>>2]|0)+14|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+14>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function SD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;m=A+60|0;n=A+56|0;o=A+52|0;C=A+48|0;p=A+44|0;r=A+66|0;l=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;q=A+24|0;x=A+20|0;s=A+16|0;z=A+12|0;k=A+8|0;w=A+4|0;u=A;c[m>>2]=d;c[n>>2]=f;c[o>>2]=g;c[C>>2]=h;c[p>>2]=j;c[y>>2]=c[(c[m>>2]|0)+8>>2];c[t>>2]=c[(c[n>>2]|0)+64>>2];b[r>>1]=b[(c[t>>2]|0)+24>>1]|0;b[l>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+8>>2];c[x>>2]=(c[(c[m>>2]|0)+44>>2]|0)+1;c[s>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[m>>2]|0)+44|0;c[j>>2]=(c[j>>2]|0)+(c[s>>2]|0);j=c[c[m>>2]>>2]|0;c[z>>2]=qh(j,CC(c[c[m>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[l>>1]|0){c[k>>2]=c[(c[n>>2]|0)+8>>2];Sz(c[y>>2]|0,(c[o>>2]|0)!=0?53:57,c[k>>2]|0)|0;c[q>>2]=fx(c[y>>2]|0,13)|0;C=Ih(c[y>>2]|0,(c[o>>2]|0)!=0?23:26,c[k>>2]|0,0,c[x>>2]|0,e[l>>1]|0)|0;c[(c[n>>2]|0)+20>>2]=C;Zz(c[y>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[l>>1]|0))break a;jx(c[y>>2]|0,96,c[k>>2]|0,c[q>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[l>>1];while(1){if((c[q>>2]|0)>=(e[r>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2];c[w>>2]=PD(c[m>>2]|0,c[v>>2]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[q>>2]|0)|0))if((c[s>>2]|0)==1){xx(c[m>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{ix(c[y>>2]|0,85,c[w>>2]|0,(c[x>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);g=c[v>>2]|0;if(e[(c[v>>2]|0)+12>>1]&1){if((c[z>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&2048|0)!=0:0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}else if(!(e[g+12>>1]&256)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+10>>1]&2048|0)==0?(oB(c[u>>2]|0)|0)!=0:0)ix(c[y>>2]|0,34,(c[x>>2]|0)+(c[q>>2]|0)|0,c[(c[n>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((rB(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65;if(cE(c[u>>2]|0,a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[p>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function TD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+10>>1]|0)&256)){i=k;return}c[j>>2]=eA(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[j>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;i=k;return}function UD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=pB(c[f>>2]|0,c[j>>2]|0)|0;if(!(((rB(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?(cE(c[k>>2]|0,a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0)|0)==0:0))a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=65;c[j>>2]=(c[j>>2]|0)+1}i=l;return}function VD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}mx(c[l>>2]|0,98,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;WA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function WD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];jx(c[n>>2]|0,128,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+40>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;if(c[f+92>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=sh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Mh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function XD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=TA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}ix(c[(c[g>>2]|0)+8>>2]|0,85,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function YD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(eA(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function ZD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=_D(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+12>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=$D(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function _D(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=$D(c[k>>2]|0)|0;i=q;return r|0}function $D(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+20>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+28>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(Ky(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+12>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=ky(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+12>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+12>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(aE(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=sB(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+12>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function aE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=bE(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function bE(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=ey(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=rB(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=rB(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function cE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 134:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 132:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 133:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;sA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function eE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;n=p;f=p+24|0;g=p+20|0;m=p+16|0;k=p+30|0;l=p+28|0;h=p+12|0;j=p+8|0;o=p+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+8>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=p;return}sA(c[f>>2]|0,34684,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=fE(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)sA(c[f>>2]|0,34687,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?34693:34698;c[n>>2]=c[o>>2];rA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+2>>1]|0,c[j>>2]|0,c[h>>2]|0,34615);c[h>>2]=1}if(c[(c[g>>2]|0)+36>>2]&16)gE(c[f>>2]|0,c[m>>2]|0,e[(c[g>>2]|0)+24+4>>1]|0,c[j>>2]|0,c[h>>2]|0,34617);sA(c[f>>2]|0,34706,1);i=p;return}function fE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=34712;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=24745;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function gE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;p=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;if(c[p>>2]|0)sA(c[h>>2]|0,34687,5);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);p=c[h>>2]|0;dE(p,fE(c[j>>2]|0,(c[l>>2]|0)+(c[n>>2]|0)|0)|0);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)>1)sA(c[h>>2]|0,34706,1);sA(c[h>>2]|0,c[m>>2]|0,1);if((c[k>>2]|0)>1)sA(c[h>>2]|0,34708,1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(c[n>>2]|0)sA(c[h>>2]|0,34710,1);sA(c[h>>2]|0,20275,1);c[n>>2]=(c[n>>2]|0)+1}if((c[k>>2]|0)<=1){i=o;return}sA(c[h>>2]|0,34706,1);i=o;return}function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=xB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function iE(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+20>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+12>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+28>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+28>>2]<<4)+13>>0]|0;if(aE(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function jE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Vw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}TR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function kE(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=sh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function lE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j+16|0;h=j;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if((d[c[g>>2]>>0]|0|0)==152){g=OD(c[f>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=C;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}if(c[(c[g>>2]|0)+16>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;a=C}else{b=0;a=0}k=h;c[k>>2]=b;c[k+4>>2]=a;if(c[(c[g>>2]|0)+12>>2]|0){b=lE(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;k=h;c[k>>2]=c[l>>2]|b;c[k+4>>2]=a}if(!(c[(c[g>>2]|0)+4>>2]&2048)){if(c[(c[g>>2]|0)+20>>2]|0){g=KD(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}}else{g=mE(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;k=c[f+4>>2]|C;l=h;c[l>>2]=c[f>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=KD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=KD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=KD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=lE(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=lE(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=mE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=lE(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function nE(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[34774+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function oE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+160|0;Z=ca+149|0;n=ca+124|0;o=ca+120|0;p=ca+116|0;q=ca+140|0;r=ca+138|0;s=ca+112|0;t=ca+108|0;W=ca+148|0;U=ca+147|0;V=ca+146|0;E=ca+145|0;w=ca+144|0;D=ca+143|0;y=ca+136|0;I=ca+134|0;H=ca+132|0;J=ca+130|0;B=ca+104|0;_=ca+100|0;F=ca+96|0;A=ca+92|0;z=ca+88|0;P=ca+84|0;R=ca+80|0;Q=ca+76|0;N=ca+72|0;O=ca+68|0;v=ca+64|0;aa=ca+40|0;K=ca+32|0;L=ca+24|0;T=ca+16|0;X=ca+60|0;Y=ca+56|0;u=ca+142|0;x=ca+128|0;S=ca+52|0;M=ca+48|0;G=ca+8|0;$=ca;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[P>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=aa;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}b[J>>1]=c[c[o>>2]>>2];if((e[J>>1]|0)>63){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}a[E>>0]=1;f=WR(1,0,e[J>>1]|0)|0;f=QR(f|0,C|0,1,0)|0;j=K;c[j>>2]=f;c[j+4>>2]=C;j=L;c[j>>2]=0;c[j+4>>2]=0;j=T;c[j>>2]=0;c[j+4>>2]=0;b[y>>1]=386;if(e[q>>1]&2048)b[y>>1]=e[y>>1]|1;c[B>>2]=0;a:while(1){if(!(d[E>>0]|0))break;f=aa;h=c[f+4>>2]|0;j=K;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[B>>2]|0)>(e[r>>1]|0))break;if((c[B>>2]|0)>0){m=(c[P>>2]|0)+8|0;h=T;f=c[h+4>>2]|c[m+4>>2];j=T;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[B>>2]|0)<(e[r>>1]|0)){c[P>>2]=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[B>>2]<<2)>>2];if(!(e[q>>1]&2048))ba=17}else{c[P>>2]=c[s>>2];ba=17}b:do if((ba|0)==17){ba=0;k=c[P>>2]|0;if(c[(c[P>>2]|0)+36>>2]&1024){ba=18;break a}c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;c:do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0,(d[c[Q>>2]>>0]|0)==152):0)?(c[(c[Q>>2]|0)+28>>2]|0)==(c[A>>2]|0):0)?(j=T,c[R>>2]=ZD((c[n>>2]|0)+80|0,c[A>>2]|0,b[(c[Q>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],e[y>>1]|0,0)|0,(c[R>>2]|0)!=0):0){if((e[(c[R>>2]|0)+12>>1]|0)==1){c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break;if((c[R>>2]|0)==(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1}if((c[F>>2]|0)>=(e[(c[P>>2]|0)+40>>1]|0))break}do if(e[(c[R>>2]|0)+12>>1]&130){if((b[(c[Q>>2]|0)+32>>1]|0)<0)break;c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[X>>2]=c[c[N>>2]>>2];c[N>>2]=fy(c[c[n>>2]>>2]|0,c[c[R>>2]>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];c[Y>>2]=c[c[N>>2]>>2];if(ig(c[X>>2]|0,c[Y>>2]|0)|0)break c}while(0);m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[_>>2]=(c[_>>2]|0)+1}if(!(c[(c[P>>2]|0)+36>>2]&4096)){if(c[(c[P>>2]|0)+36>>2]&256){c[O>>2]=0;b[I>>1]=0;b[H>>1]=1}else{j=c[(c[P>>2]|0)+24+8>>2]|0;c[O>>2]=j;if(!j){ba=46;break a}if((d[(c[O>>2]|0)+55>>0]|0)>>>2&1){ba=46;break a}b[I>>1]=b[(c[O>>2]|0)+50>>1]|0;b[H>>1]=b[(c[O>>2]|0)+52>>1]|0;a[E>>0]=(d[(c[O>>2]|0)+54>>0]|0)!=0}a[W>>0]=0;a[U>>0]=0;a[w>>0]=0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(e[H>>1]|0))break;a[u>>0]=1;d:do if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0)?(c[F>>2]|0)>=(e[(c[P>>2]|0)+42>>1]|0):0){b[x>>1]=b[(c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]|0)+12>>1]|0;k=e[x>>1]|0;if(e[x>>1]&e[y>>1]){if(!(k&256))break;a[E>>0]=0;break}if(!(k&1)){ba=61;break}c[S>>2]=c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[F>>2]<<2)>>2]>>2];c[_>>2]=(c[F>>2]|0)+1;while(1){if((c[_>>2]|0)>=(e[(c[P>>2]|0)+24>>1]|0)){ba=61;break d}if((c[c[(c[(c[P>>2]|0)+48>>2]|0)+(c[_>>2]<<2)>>2]>>2]|0)==(c[S>>2]|0))break;c[_>>2]=(c[_>>2]|0)+1}a[u>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(c[O>>2]|0){c[z>>2]=b[(c[(c[O>>2]|0)+4>>2]|0)+(c[F>>2]<<1)>>1];a[V>>0]=a[(c[(c[O>>2]|0)+28>>2]|0)+(c[F>>2]|0)>>0]|0;if((c[z>>2]|0)!=(b[(c[(c[O>>2]|0)+12>>2]|0)+32>>1]|0))break;c[z>>2]=-1}else{c[z>>2]=-1;a[V>>0]=0}while(0);do if((d[E>>0]|0)!=0&(c[z>>2]|0)>=0){if((c[F>>2]|0)<(e[(c[P>>2]|0)+24>>1]|0))break;if(d[(c[(c[(c[O>>2]|0)+12>>2]|0)+4>>2]|0)+(c[z>>2]<<4)+12>>0]|0)break;a[E>>0]=0}while(0);a[D>>0]=0;c[_>>2]=0;e:while(1){if(!(d[u>>0]|0))break;if((c[_>>2]|0)>=(e[J>>1]|0))break;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[Q>>2]=ky(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&192))a[u>>0]=0;k=c[Q>>2]|0;if((c[z>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[Q>>2]|0)+28>>2]|0)!=(c[A>>2]|0))break;if((b[(c[Q>>2]|0)+32>>1]|0)!=(c[z>>2]|0))break}else if(Ky(k,c[(c[(c[(c[O>>2]|0)+40>>2]|0)+4>>2]|0)+((c[F>>2]|0)*20|0)>>2]|0,c[A>>2]|0)|0)break;if((c[z>>2]|0)<0){ba=84;break e}c[N>>2]=fy(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2]|0)|0;if(!(c[N>>2]|0))c[N>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[N>>2]>>2]|0,c[(c[(c[O>>2]|0)+32>>2]|0)+(c[F>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);c[_>>2]=(c[_>>2]|0)+1}if((ba|0)==84){ba=0;a[D>>0]=1}do if(d[D>>0]|0){if(e[q>>1]&64)break;if(a[W>>0]|0){if((d[U>>0]^d[V>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0]|0))break;a[D>>0]=0;break}a[U>>0]=d[V>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)+12>>0];if(a[U>>0]|0){m=WR(1,0,c[B>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[W>>0]=1}while(0);if(!(a[D>>0]|0)){ba=98;break}if((c[z>>2]|0)==-1)a[w>>0]=1;m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[F>>2]=(c[F>>2]|0)+1}do if((ba|0)==98){ba=0;if((c[F>>2]|0)!=0?(c[F>>2]|0)>=(e[I>>1]|0):0)break;a[E>>0]=0}while(0);if(a[w>>0]|0)a[E>>0]=1}if(a[E>>0]|0){m=(c[P>>2]|0)+8|0;h=L;f=c[h+4>>2]|c[m+4>>2];j=L;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[_>>2]=0;while(1){if((c[_>>2]|0)>=(e[J>>1]|0))break b;f=WR(1,0,c[_>>2]|0)|0;j=aa;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[M>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[_>>2]|0)*20|0)>>2];f=lE((c[n>>2]|0)+488|0,c[M>>2]|0)|0;j=G;c[j>>2]=f;c[j+4>>2]=C;j=G;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?($A(c[M>>2]|0)|0)==0:0)break;f=G;j=L;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=WR(1,0,c[_>>2]|0)|0;h=aa;f=c[h+4>>2]|C;j=aa;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[_>>2]=(c[_>>2]|0)+1}}}while(0);c[B>>2]=(c[B>>2]|0)+1}if((ba|0)==18){if(a[k+24+5>>0]|0){X=K;Y=c[X+4>>2]|0;ba=aa;c[ba>>2]=c[X>>2];c[ba+4>>2]=Y}}else if((ba|0)==46){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}Y=aa;ba=K;if((c[Y>>2]|0)==(c[ba>>2]|0)?(c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){a[Z>>0]=b[J>>1];ba=a[Z>>0]|0;i=ca;return ba|0}if(a[E>>0]|0){a[Z>>0]=-1;ba=a[Z>>0]|0;i=ca;return ba|0}c[_>>2]=(e[J>>1]|0)-1;while(1){if((c[_>>2]|0)<=0){ba=122;break}Y=WR(1,0,c[_>>2]|0)|0;Y=QR(Y|0,C|0,1,0)|0;X=$;c[X>>2]=Y;c[X+4>>2]=C;X=aa;Y=$;ba=$;k=c[_>>2]|0;if((c[X>>2]&c[Y>>2]|0)==(c[ba>>2]|0)?(c[X+4>>2]&c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){ba=120;break}c[_>>2]=k+-1}if((ba|0)==120){a[Z>>0]=k;ba=a[Z>>0]|0;i=ca;return ba|0}else if((ba|0)==122){a[Z>>0]=0;ba=a[Z>>0]|0;i=ca;return ba|0}return 0}function pE(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+40>>1]&16384|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+16>>1]|0;o=(qE(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function qE(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Mj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function rE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=i;i=i+128|0;k=D+108|0;l=D+104|0;m=D+48|0;F=D+40|0;A=D+100|0;G=D+96|0;y=D+92|0;z=D+88|0;E=D+84|0;w=D+80|0;v=D+76|0;n=D+72|0;x=D+68|0;p=D+32|0;s=D+112|0;B=D+64|0;C=D+60|0;t=D+24|0;q=D+16|0;o=D+56|0;r=D+8|0;u=D;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=F;c[e>>2]=h;c[e+4>>2]=j;c[A>>2]=0;c[G>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[G>>2]>>2];c[z>>2]=c[(c[l>>2]|0)+4>>2];c[x>>2]=c[(c[l>>2]|0)+12>>2];c[E>>2]=(c[(c[G>>2]|0)+4>>2]|0)+8+((d[(c[x>>2]|0)+16>>0]|0)*72|0);e=F;c[w>>2]=NE(c[y>>2]|0,c[z>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[(c[l>>2]|0)+8>>2]|0,s)|0;if(!(c[w>>2]|0)){c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}b[(c[x>>2]|0)+18>>1]=0;c[(c[x>>2]|0)+36>>2]=1024;b[(c[x>>2]|0)+40>>1]=0;a[(c[x>>2]|0)+24+4>>0]=0;c[v>>2]=c[c[w>>2]>>2];if(jE(c[c[y>>2]>>2]|0,c[x>>2]|0,c[v>>2]|0)|0){Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=7;G=c[k>>2]|0;i=D;return G|0}G=m;c[A>>2]=OE(c[l>>2]|0,c[G>>2]|0,c[G+4>>2]|0,-1,-1,0,c[w>>2]|0,b[s>>1]|0,n)|0;if((c[A>>2]|0)==0?(E=c[x>>2]|0,G=m,F=c[E>>2]&~c[G>>2],G=c[E+4>>2]&~c[G+4>>2],E=p,c[E>>2]=F,c[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){c[B>>2]=0;c[C>>2]=0;G=t;c[G>>2]=0;c[G+4>>2]=0;G=q;c[G>>2]=0;c[G+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[A>>2]=OE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[w>>2]|0,b[s>>1]|0,n)|0,e=c[x>>2]|0,E=m,F=c[e+4>>2]&~c[E+4>>2],G=q,c[G>>2]=c[e>>2]&~c[E>>2],c[G+4>>2]=F,G=q,(c[G>>2]|0)==0&(c[G+4>>2]|0)==0):0){c[B>>2]=1;c[C>>2]=1}while(1){if(c[A>>2]|0)break;G=r;c[G>>2]=-1;c[G+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[v>>2]|0))break;E=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[(c[w>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=m;e=c[E+4>>2]&~c[G+4>>2];F=u;c[F>>2]=c[E>>2]&~c[G>>2];c[F+4>>2]=e;F=u;e=c[F+4>>2]|0;G=t;E=c[G+4>>2]|0;if(e>>>0>E>>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0>(c[G>>2]|0)>>>0:0)?(F=u,e=c[F+4>>2]|0,G=r,E=c[G+4>>2]|0,e>>>0>>0|((e|0)==(E|0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0){E=u;F=c[E+4>>2]|0;G=r;c[G>>2]=c[E>>2];c[G+4>>2]=F}c[o>>2]=(c[o>>2]|0)+1}E=r;F=c[E+4>>2]|0;G=t;c[G>>2]=c[E>>2];c[G+4>>2]=F;G=r;if((c[G>>2]|0)==-1?(c[G+4>>2]|0)==-1:0)break;F=r;G=p;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;F=r;G=q;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;E=m;G=r;F=m;c[A>>2]=OE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[G>>2]|c[F>>2],c[G+4>>2]|c[F+4>>2],0,c[w>>2]|0,b[s>>1]|0,n)|0;F=c[x>>2]|0;G=m;if(!((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0))continue;c[B>>2]=1;if(c[n>>2]|0)continue;c[C>>2]=1}if((c[A>>2]|0)==0&(c[B>>2]|0)==0?(F=m,G=m,c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,0,c[w>>2]|0,b[s>>1]|0,n)|0,(c[n>>2]|0)==0):0)c[C>>2]=1;if((c[A>>2]|0)==0&(c[C>>2]|0)==0){F=m;G=m;c[A>>2]=OE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,1,c[w>>2]|0,b[s>>1]|0,n)|0}}if(c[(c[w>>2]|0)+28>>2]|0)Kd(c[(c[w>>2]|0)+24>>2]|0);Tf(c[c[y>>2]>>2]|0,c[w>>2]|0);c[k>>2]=c[A>>2];G=c[k>>2]|0;i=D;return G|0}function sE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+160|0;j=J+144|0;k=J+8|0;E=J+140|0;v=J+136|0;H=J+80|0;m=J+156|0;l=J+154|0;K=J+72|0;w=J+68|0;u=J+64|0;I=J+60|0;p=J+56|0;n=J+52|0;G=J+152|0;F=J+150|0;A=J+48|0;x=J+44|0;t=J+40|0;y=J+36|0;D=J+32|0;r=J;s=J+148|0;q=J+28|0;o=J+24|0;B=J+20|0;z=J+16|0;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[I>>2]=0;c[p>>2]=1;c[u>>2]=c[(c[j>>2]|0)+12>>2];c[E>>2]=c[c[j>>2]>>2];c[K>>2]=c[(c[E>>2]|0)+4>>2];c[w>>2]=(c[K>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[x>>2]=c[(c[w>>2]|0)+16>>2];c[A>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[w>>2]|0)+68>>2]|0)c[v>>2]=c[(c[w>>2]|0)+68>>2];else{if(d[(c[x>>2]|0)+42>>0]&32){c[v>>2]=c[(c[x>>2]|0)+8>>2];break}g=H;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[H+50>>1]=1;b[H+52>>1]=1;c[H+4>>2]=l;c[H+8>>2]=m;a[H+54>>0]=5;c[H+12>>2]=c[x>>2];b[H+48>>1]=b[(c[x>>2]|0)+40>>1]|0;b[m>>1]=b[(c[x>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[t>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[w>>2]|0)+36+1>>0]&1))c[H+20>>2]=c[t>>2];c[v>>2]=H}while(0);b[G>>1]=b[(c[x>>2]|0)+38>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[E>>2]|0)+40>>1]&32|0)==0:0)?(c[(c[c[c[E>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(a[(c[w>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[w>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[D>>2]=(c[(c[A>>2]|0)+20>>2]|0)+((c[(c[A>>2]|0)+12>>2]|0)*48|0);c[y>>2]=c[(c[A>>2]|0)+20>>2];while(1){if(c[I>>2]|0)break a;if((c[y>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break a;H=(c[y>>2]|0)+32|0;K=(c[u>>2]|0)+8|0;if(!((c[H>>2]&c[K>>2]|0)!=0?1:(c[H+4>>2]&c[K+4>>2]|0)!=0)?(iE(c[y>>2]|0,c[w>>2]|0,0,0)|0)!=0:0){b[(c[u>>2]|0)+24>>1]=1;b[(c[u>>2]|0)+42>>1]=0;c[(c[u>>2]|0)+24+8>>2]=0;b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];b[(c[u>>2]|0)+18>>1]=(b[F>>1]|0)+(b[G>>1]|0)+4;if((c[(c[x>>2]|0)+12>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&2|0)==0:0){K=(c[u>>2]|0)+18|0;b[K>>1]=(b[K>>1]|0)+24}if((b[(c[u>>2]|0)+18>>1]|0)<0)b[(c[u>>2]|0)+18>>1]=0;b[(c[u>>2]|0)+22>>1]=43;m=nE(b[F>>1]|0,b[(c[u>>2]|0)+22>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=m;c[(c[u>>2]|0)+36>>2]=16384;m=k;t=(c[y>>2]|0)+32|0;H=c[m+4>>2]|c[t+4>>2];K=c[u>>2]|0;c[K>>2]=c[m>>2]|c[t>>2];c[K+4>>2]=H;c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0}c[y>>2]=(c[y>>2]|0)+48}}while(0);b:while(1){if(!((c[I>>2]|0)==0?(c[v>>2]|0)!=0:0)){g=57;break}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(BE(c[(c[w>>2]|0)+44>>2]|0,c[A>>2]|0,c[(c[v>>2]|0)+36>>2]|0)|0)==0:0)){b[G>>1]=b[c[(c[v>>2]|0)+8>>2]>>1]|0;b[(c[u>>2]|0)+24>>1]=0;b[(c[u>>2]|0)+24+2>>1]=0;b[(c[u>>2]|0)+24+4>>1]=0;b[(c[u>>2]|0)+42>>1]=0;b[(c[u>>2]|0)+40>>1]=0;a[(c[u>>2]|0)+17>>0]=0;b[(c[u>>2]|0)+18>>1]=0;F=k;H=c[F+4>>2]|0;K=c[u>>2]|0;c[K>>2]=c[F>>2];c[K+4>>2]=H;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;c[(c[u>>2]|0)+24+8>>2]=c[v>>2];c[n>>2]=CE(c[j>>2]|0,c[v>>2]|0,c[(c[w>>2]|0)+44>>2]|0)|0;do if((c[(c[v>>2]|0)+44>>2]|0)<=0){c[(c[u>>2]|0)+36>>2]=256;a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+16;DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}else{if((d[(c[v>>2]|0)+55>>0]|0)>>>5&1){c[(c[u>>2]|0)+36>>2]=576;K=r;c[K>>2]=0;c[K+4>>2]=0}else{H=(c[w>>2]|0)+56|0;D=c[H>>2]|0;H=c[H+4>>2]|0;F=EE(c[v>>2]|0)|0;K=r;c[K>>2]=D&~F;c[K+4>>2]=H&~C;K=r;c[(c[u>>2]|0)+36>>2]=(c[K>>2]|0)==0&(c[K+4>>2]|0)==0?576:512}if(((c[n>>2]|0)==0?(d[(c[x>>2]|0)+42>>0]&32|0)==0:0)?(c[(c[v>>2]|0)+36>>2]|0)==0:0){K=r;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0))break;if((d[(c[v>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[v>>2]|0)+48>>1]|0)>=(b[(c[x>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[E>>2]|0)+40>>1]&4|0)==0:0))break;if(e[(c[c[c[E>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[u>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[p>>2]|0:0;b[(c[u>>2]|0)+20>>1]=(b[G>>1]|0)+1+(((b[(c[v>>2]|0)+48>>1]|0)*15|0)/(b[(c[x>>2]|0)+40>>1]|0)|0);K=r;if((c[K>>2]|0)!=0|(c[K+4>>2]|0)!=0){b[s>>1]=(b[G>>1]|0)+16;c[o>>2]=c[(c[w>>2]|0)+44>>2];c[B>>2]=(c[E>>2]|0)+80;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0))break;c[z>>2]=(c[(c[B>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);if(!(FE(c[c[z>>2]>>2]|0,c[o>>2]|0,c[v>>2]|0)|0))break;if((b[(c[z>>2]|0)+8>>1]|0)>0){b[s>>1]=(b[s>>1]|0)+-1<<16>>16;if(e[(c[z>>2]|0)+12>>1]&130)b[s>>1]=(b[s>>1]|0)-19}else b[s>>1]=(b[s>>1]|0)+(b[(c[z>>2]|0)+8>>1]|0);c[q>>2]=(c[q>>2]|0)+1}K=nE(b[(c[u>>2]|0)+20>>1]|0,b[s>>1]|0)|0;b[(c[u>>2]|0)+20>>1]=K}DE(c[A>>2]|0,c[u>>2]|0,b[G>>1]|0);c[I>>2]=wE(c[j>>2]|0,c[u>>2]|0)|0;b[(c[u>>2]|0)+22>>1]=b[G>>1]|0;if(c[I>>2]|0){g=57;break b}}while(0);c[I>>2]=GE(c[j>>2]|0,c[w>>2]|0,c[v>>2]|0,0)|0;if(c[(c[w>>2]|0)+68>>2]|0){g=57;break}}c[v>>2]=c[(c[v>>2]|0)+20>>2];c[p>>2]=(c[p>>2]|0)+1}if((g|0)==57){i=J;return c[I>>2]|0}return 0}function tE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+12>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+28>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+28>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+12>>1]&1024)){if((c[g+20>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=28;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+28>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=rE(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=sE(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=tE(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){uE(F,C);c[s>>2]=0;break}uE(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=nE(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;vE(F,k,f,l,nE(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=wE(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function uE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;TR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function vE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function wE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;vE(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}xE(c[(c[m>>2]|0)+56>>2]|0,c[g>>2]|0);c[n>>2]=yE((c[m>>2]|0)+56|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Vw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){yD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=yE(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];vD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=zE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+8>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+8>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function xE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(AE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(AE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function yE(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function zE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;xD(c[l>>2]|0,c[g>>2]|0);d=(jE(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));TR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+8>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function AE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function BE(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=28)break;if(!(BE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(ME(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function CE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=ky(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(Ky(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function DE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+10>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+16>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+16>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+8>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+8>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+12>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(Fy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function EE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=WR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function FE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+48|0;h=g+44|0;l=g+40|0;k=g+36|0;f=g+8|0;j=g;c[h>>2]=b;c[l>>2]=d;c[k>>2]=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[j+4>>2]=c[l>>2];c[j>>2]=c[k>>2];c[f+4>>2]=199;c[f+24>>2]=j;wy(f,c[h>>2]|0)|0;i=g;return ((a[f+20>>0]|0)!=0^1)&1|0}function GE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=i;i=i+224|0;l=R+180|0;m=R+176|0;n=R+172|0;o=R+168|0;p=R+208|0;S=R+164|0;B=R+160|0;q=R+156|0;A=R+152|0;C=R+148|0;k=R+144|0;Q=R+48|0;O=R;K=R+206|0;J=R+204|0;I=R+202|0;N=R+200|0;M=R+198|0;P=R+40|0;L=R+196|0;H=R+36|0;G=R+194|0;F=R+192|0;D=R+32|0;y=R+28|0;r=R+190|0;E=R+188|0;x=R+186|0;v=R+24|0;z=R+20|0;s=R+16|0;t=R+12|0;u=R+8|0;w=R+184|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[S>>2]=c[c[m>>2]>>2];c[B>>2]=c[c[S>>2]>>2];c[q>>2]=c[c[B>>2]>>2];c[H>>2]=0;c[D>>2]=0;c[y>>2]=0;c[A>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;S=c[l>>2]|0;i=R;return S|0}if(c[(c[A>>2]|0)+36>>2]&32)c[k>>2]=24;else c[k>>2]=447;if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[J>>1]=b[(c[A>>2]|0)+24>>1]|0;b[I>>1]=b[(c[A>>2]|0)+24+2>>1]|0;b[N>>1]=b[(c[A>>2]|0)+24+4>>1]|0;b[M>>1]=b[(c[A>>2]|0)+42>>1]|0;b[K>>1]=b[(c[A>>2]|0)+40>>1]|0;c[P>>2]=c[(c[A>>2]|0)+36>>2];h=c[A>>2]|0;g=c[h+4>>2]|0;S=O;c[S>>2]=c[h>>2];c[S+4>>2]=g;b[L>>1]=b[(c[A>>2]|0)+22>>1]|0;c[C>>2]=_D(Q,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[J>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[A>>2]|0)+18>>1]=0;b[G>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[F>>1]=qE(b[G>>1]|0)|0;a:while(1){if(!((c[H>>2]|0)==0?(c[C>>2]|0)!=0:0))break;b[r>>1]=b[(c[C>>2]|0)+12>>1]|0;c[v>>2]=0;if((e[r>>1]|0)!=256?(e[(c[C>>2]|0)+10>>1]&0|0)==0:0)j=13;else j=12;if((j|0)==12?(j=0,(HE(c[o>>2]|0,e[J>>1]|0)|0)==0):0)j=13;do if((j|0)==13?(0,g=(c[C>>2]|0)+32|0,S=(c[A>>2]|0)+8|0,!((c[g>>2]&c[S>>2]|0)!=0?1:(c[g+4>>2]&c[S+4>>2]|0)!=0)):0){if((e[(c[C>>2]|0)+10>>1]&256|0)!=0?(e[(c[C>>2]|0)+12>>1]|0)==16:0)break;if(((d[(c[n>>2]|0)+36>>0]&8|0)!=0?(c[(c[c[C>>2]>>2]|0)+4>>2]&1|0)==0:0)?(e[r>>1]&384|0)!=0:0)break;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[C>>2]|0;h=(c[A>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=O;f=(c[C>>2]|0)+32|0;h=(c[A>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];S=c[A>>2]|0;c[S>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[S+4>>2]=g;b:do if(!(e[r>>1]&1)){if(e[r>>1]&130){c[t>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|1;if((c[t>>2]|0)!=-1){if((c[t>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[J>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[t>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|65536;break}S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4096;break}if(e[r>>1]&256){S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|8;break}j=(c[A>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+2>>1]=S;c[y>>2]=c[C>>2];c[D>>2]=0;if(!(e[(c[C>>2]|0)+10>>1]&256))break;c[D>>2]=(c[C>>2]|0)+48;if(jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[D>>2]|0;h=(c[A>>2]|0)+40|0;S=b[h>>1]|0;b[h>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=g;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|16;b[(c[A>>2]|0)+24+4>>1]=1;break}else{c[j>>2]=k|18;S=(IE(c[B>>2]|0,c[(c[n>>2]|0)+44>>2]|0,c[o>>2]|0,e[J>>1]|0,c[C>>2]|0)|0)&65535;b[(c[A>>2]|0)+24+4>>1]=S;c[D>>2]=c[C>>2];if(c[(c[A>>2]|0)+36>>2]&32)j=c[(c[(c[A>>2]|0)+48>>2]|0)+((e[(c[A>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[y>>2]=j;break}}else{c[z>>2]=c[c[C>>2]>>2];S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|4;if(!(c[(c[z>>2]|0)+4>>2]&2048)){if(!(c[(c[z>>2]|0)+20>>2]|0))break;if(!(c[c[(c[z>>2]|0)+20>>2]>>2]|0))break;S=c[c[(c[z>>2]|0)+20>>2]>>2]|0;c[v>>2]=(Mj(S,((S|0)<0)<<31>>31)|0)<<16>>16;break}c[v>>2]=46;c[s>>2]=0;while(1){if((c[s>>2]|0)>=((e[(c[A>>2]|0)+40>>1]|0)-1|0))break b;if((c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]|0)!=0?(c[c[(c[(c[A>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]>>2]|0)==(c[z>>2]|0):0)c[v>>2]=0;c[s>>2]=(c[s>>2]|0)+1}}while(0);do if(!(c[(c[A>>2]|0)+36>>2]&2)){g=(c[A>>2]|0)+24|0;S=(b[g>>1]|0)+1<<16>>16;b[g>>1]=S;c[u>>2]=S&65535;if((b[(c[C>>2]|0)+8>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[J>>1]<<1)>>1]|0)>=0:0){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+(b[(c[C>>2]|0)+8>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(c[v>>2]|0);break}S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+10}}else JE(c[B>>2]|0,c[m>>2]|0,c[y>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;while(0);b[E>>1]=(b[(c[A>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=nE(b[F>>1]|0,b[E>>1]|0)|0;b[(c[A>>2]|0)+20>>1]=S;if(!(c[(c[A>>2]|0)+36>>2]&320)){S=nE(b[(c[A>>2]|0)+20>>1]|0,(b[(c[A>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[A>>2]|0)+20>>1]=S}b[x>>1]=b[(c[A>>2]|0)+22>>1]|0;S=(c[A>>2]|0)+20|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[p>>1]|0)+(c[v>>2]|0));DE(c[(c[m>>2]|0)+4>>2]|0,c[A>>2]|0,b[G>>1]|0);c[H>>2]=wE(c[m>>2]|0,c[A>>2]|0)|0;if(c[(c[A>>2]|0)+36>>2]&2)b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;else b[(c[A>>2]|0)+22>>1]=b[x>>1]|0;if((c[(c[A>>2]|0)+36>>2]&16|0)==0?(e[(c[A>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[v>>2]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0}while(0);c[C>>2]=$D(Q)|0}Q=c[O+4>>2]|0;S=c[A>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=Q;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+24+2>>1]=b[I>>1]|0;b[(c[A>>2]|0)+24+4>>1]=b[N>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2];b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+40>>1]=b[K>>1]|0;if(((((e[J>>1]|0)==(e[M>>1]|0)?((e[J>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=jE(c[q>>2]|0,c[A>>2]|0,(e[(c[A>>2]|0)+40>>1]|0)+1|0)|0,c[H>>2]=S,(S|0)==0):0){Q=(c[A>>2]|0)+24|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+42|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16;Q=(c[A>>2]|0)+40|0;S=b[Q>>1]|0;b[Q>>1]=S+1<<16>>16;c[(c[(c[A>>2]|0)+48>>2]|0)+((S&65535)<<2)>>2]=0;S=(c[A>>2]|0)+36|0;c[S>>2]=c[S>>2]|32768;b[w>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[J>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[J>>1]|0)+1<<1)>>1]|0);S=(c[A>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(b[w>>1]|0);b[w>>1]=(b[w>>1]|0)+5;GE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[w>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[A>>2]|0)+22>>1]=b[L>>1]|0;b[(c[A>>2]|0)+24>>1]=b[J>>1]|0;b[(c[A>>2]|0)+42>>1]=b[M>>1]|0;c[(c[A>>2]|0)+36>>2]=c[P>>2]}c[l>>2]=c[H>>2];S=c[l>>2]|0;i=R;return S|0}function HE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function IE(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;s=x+16|0;w=x+12|0;q=x+41|0;r=x+40|0;t=x+8|0;u=x+4|0;v=x;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=k;c[s>>2]=cz(c[(c[c[p>>2]>>2]|0)+12>>2]|0)|0;if((c[s>>2]|0)<((e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0))g=c[s>>2]|0;else g=(e[(c[n>>2]|0)+52>>1]|0)-(c[o>>2]|0)|0;c[s>>2]=g;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[s>>2]|0)){g=17;break}a[r>>0]=0;c[u>>2]=c[(c[(c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[v>>2]=c[(c[c[p>>2]>>2]|0)+16>>2];g=c[w>>2]|0;j=(c[v>>2]|0)+20|0;if(c[(c[v>>2]|0)+4>>2]&2048)c[v>>2]=c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+(g*20|0)>>2];else c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(g*20|0)>>2];if((d[c[u>>2]>>0]|0)!=152){g=17;break}if((c[(c[u>>2]|0)+28>>2]|0)!=(c[m>>2]|0)){g=17;break}if((b[(c[u>>2]|0)+32>>1]|0)!=(b[(c[(c[n>>2]|0)+4>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<1)>>1]|0)){g=17;break}if((d[(c[(c[n>>2]|0)+28>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0))>>0]|0)!=(d[(c[(c[n>>2]|0)+28>>2]|0)+(c[o>>2]|0)>>0]|0)){g=17;break}k=c[v>>2]|0;a[q>>0]=rB(k,ey(c[u>>2]|0)|0)|0;a[r>>0]=ly(c[(c[n>>2]|0)+12>>2]|0,b[(c[u>>2]|0)+32>>1]|0)|0;if((a[q>>0]|0)!=(a[r>>0]|0)){g=17;break}c[t>>2]=sB(c[l>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;if(!(c[t>>2]|0)){g=17;break}if(ig(c[c[t>>2]>>2]|0,c[(c[(c[n>>2]|0)+32>>2]|0)+((c[w>>2]|0)+(c[o>>2]|0)<<2)>>2]|0)|0){g=17;break}c[w>>2]=(c[w>>2]|0)+1}if((g|0)==17){i=x;return c[w>>2]|0}return 0}function JE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=KE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=KE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+8>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+8>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function KE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+8>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+8>>1]|0);break}if(!(e[d+10>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function LE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[h>>2]=e;c[j>>2]=f;if(((d[c[j>>2]>>0]|0|0)==152?(c[(c[j>>2]|0)+28>>2]|0)==(c[(c[(c[h>>2]|0)+24>>2]|0)+4>>2]|0):0)?((OA(c[c[(c[h>>2]|0)+24>>2]>>2]|0,b[(c[j>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){a[(c[h>>2]|0)+20>>0]=1;c[g>>2]=2;e=c[g>>2]|0;i=k;return e|0}c[g>>2]=0;e=c[g>>2]|0;i=k;return e|0}function ME(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(Ky(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==27){if((ME(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(ME(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(Ky(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function NE(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;I=J+8|0;n=J+80|0;o=J+76|0;p=J+72|0;q=J;r=J+68|0;s=J+64|0;t=J+60|0;u=J+56|0;v=J+52|0;z=J+48|0;D=J+44|0;F=J+40|0;H=J+36|0;G=J+32|0;y=J+28|0;E=J+24|0;w=J+84|0;x=J+20|0;B=J+16|0;A=J+86|0;C=J+12|0;c[o>>2]=f;c[p>>2]=g;g=q;c[g>>2]=h;c[g+4>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;b[w>>1]=0;c[z>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(g=(c[G>>2]|0)+32|0,m=q,!((c[g>>2]&c[m>>2]|0)!=0?1:(c[g+4>>2]&c[m+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0)c[z>>2]=(c[z>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[y>>2]=0;if(c[s>>2]|0){c[x>>2]=c[c[s>>2]>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break;c[B>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];if((d[c[B>>2]>>0]|0)!=152)break;if((c[(c[B>>2]|0)+28>>2]|0)!=(c[(c[r>>2]|0)+44>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1}if((c[u>>2]|0)==(c[x>>2]|0))c[y>>2]=c[x>>2]}c[E>>2]=sh(c[c[o>>2]>>2]|0,72+((c[z>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[E>>2]|0)){Eh(c[o>>2]|0,25016,I);c[n>>2]=0;I=c[n>>2]|0;i=J;return I|0}c[D>>2]=(c[E>>2]|0)+72;c[F>>2]=(c[D>>2]|0)+((c[z>>2]|0)*12|0);c[H>>2]=(c[F>>2]|0)+(c[y>>2]<<3);c[c[E>>2]>>2]=c[z>>2];c[(c[E>>2]|0)+8>>2]=c[y>>2];c[(c[E>>2]|0)+4>>2]=c[D>>2];c[(c[E>>2]|0)+12>>2]=c[F>>2];c[(c[E>>2]|0)+16>>2]=c[H>>2];c[v>>2]=0;c[u>>2]=0;c[G>>2]=c[(c[p>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((((c[(c[G>>2]|0)+20>>2]|0)==(c[(c[r>>2]|0)+44>>2]|0)?(m=(c[G>>2]|0)+32|0,I=q,!((c[m>>2]&c[I>>2]|0)!=0?1:(c[m+4>>2]&c[I+4>>2]|0)!=0)):0)?(e[(c[G>>2]|0)+12>>1]&-2433|0)!=0:0)?(e[(c[G>>2]|0)+10>>1]&0|0)==0:0){c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)>>2]=c[(c[G>>2]|0)+28>>2];c[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+8>>2]=c[u>>2];I=b[(c[G>>2]|0)+12>>1]&255;a[A>>0]=I;a[A>>0]=(d[A>>0]|0)==1?2:I;if((d[A>>0]|0)==64)a[A>>0]=a[(c[G>>2]|0)+15>>0]|0;a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=a[A>>0]|0;if((d[A>>0]&60|0)!=0?(XA(c[(c[c[G>>2]>>2]|0)+16>>2]|0)|0)!=0:0){if((c[u>>2]|0)<16)b[w>>1]=e[w>>1]|1<>2];if((d[A>>0]|0)==16)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=8;if((d[A>>0]|0)==4)a[(c[D>>2]|0)+((c[v>>2]|0)*12|0)+4>>0]=32}c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+48}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2];c[(c[F>>2]|0)+(c[u>>2]<<3)>>2]=b[(c[C>>2]|0)+32>>1];a[(c[F>>2]|0)+(c[u>>2]<<3)+4>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+12>>0]|0;c[u>>2]=(c[u>>2]|0)+1}b[c[t>>2]>>1]=b[w>>1]|0;c[n>>2]=c[E>>2];I=c[n>>2]|0;i=J;return I|0}function OE(f,g,j,k,l,m,n,o,p){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+96|0;G=N+16|0;I=N+88|0;J=N+84|0;O=N+8|0;s=N;t=N+94|0;K=N+80|0;q=N+92|0;r=N+76|0;F=N+72|0;z=N+68|0;E=N+64|0;u=N+60|0;x=N+56|0;M=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;y=N+36|0;C=N+32|0;v=N+28|0;D=N+24|0;w=N+20|0;c[J>>2]=f;f=O;c[f>>2]=g;c[f+4>>2]=j;f=s;c[f>>2]=k;c[f+4>>2]=l;b[t>>1]=m;c[K>>2]=n;b[q>>1]=o;c[r>>2]=p;c[F>>2]=c[(c[J>>2]|0)+4>>2];c[E>>2]=c[(c[K>>2]|0)+16>>2];c[M>>2]=0;c[L>>2]=c[(c[J>>2]|0)+12>>2];c[A>>2]=c[c[c[J>>2]>>2]>>2];c[B>>2]=(c[(c[c[J>>2]>>2]|0)+4>>2]|0)+8+((d[(c[L>>2]|0)+16>>0]|0)*72|0);c[y>>2]=c[c[K>>2]>>2];c[c[r>>2]>>2]=0;f=O;n=c[f+4>>2]|0;p=c[L>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=n;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[C>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+8>>2]|0)*48|0);a[(c[z>>2]|0)+5>>0]=0;n=(c[C>>2]|0)+32|0;p=s;O=(c[C>>2]|0)+32|0;if(((c[n>>2]&c[p>>2]|0)==(c[O>>2]|0)?(c[n+4>>2]&c[p+4>>2]|0)==(c[O+4>>2]|0):0)?(e[(c[C>>2]|0)+12>>1]&e[t>>1]|0)==0:0)a[(c[z>>2]|0)+5>>0]=1;c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}VR(c[E>>2]|0,0,c[y>>2]<<3|0)|0;c[(c[K>>2]|0)+24>>2]=0;c[(c[K>>2]|0)+20>>2]=0;c[(c[K>>2]|0)+32>>2]=0;h[(c[K>>2]|0)+40>>3]=5.e+98;C=(c[K>>2]|0)+48|0;c[C>>2]=25;c[C+4>>2]=0;c[(c[K>>2]|0)+56>>2]=0;C=(c[B>>2]|0)+56|0;p=c[C+4>>2]|0;O=(c[K>>2]|0)+64|0;c[O>>2]=c[C>>2];c[O+4>>2]=p;c[M>>2]=PE(c[A>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[K>>2]|0)|0;if(c[M>>2]|0){c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}c[x>>2]=-1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[u>>2]<<2)>>2]=0;c[u>>2]=(c[u>>2]|0)+1}b[(c[L>>2]|0)+24+6>>1]=0;c[z>>2]=c[(c[K>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[y>>2]|0))break;O=(c[(c[E>>2]|0)+(c[u>>2]<<3)>>2]|0)-1|0;c[v>>2]=O;if((O|0)>=0){c[w>>2]=c[(c[z>>2]|0)+8>>2];if((c[w>>2]|0)<0?1:(c[v>>2]|0)>=(c[y>>2]|0)){H=19;break}if((c[w>>2]|0)>=(c[(c[F>>2]|0)+12>>2]|0)){H=19;break}if(c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]|0){H=19;break}if(!(d[(c[z>>2]|0)+5>>0]|0)){H=19;break}c[D>>2]=(c[(c[F>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0);C=(c[D>>2]|0)+32|0;O=c[L>>2]|0;n=O;p=c[n+4>>2]|c[C+4>>2];c[O>>2]=c[n>>2]|c[C>>2];c[O+4>>2]=p;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[v>>2]<<2)>>2]=c[D>>2];if((c[v>>2]|0)>(c[x>>2]|0))c[x>>2]=c[v>>2];if((c[v>>2]|0)<16?(d[(c[E>>2]|0)+(c[u>>2]<<3)+4>>0]|0)!=0:0){O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]|1<>2]}if(e[(c[D>>2]|0)+12>>1]&1){c[(c[K>>2]|0)+32>>2]=0;O=(c[K>>2]|0)+56|0;c[O>>2]=c[O>>2]&-2;c[c[r>>2]>>2]=1}}c[u>>2]=(c[u>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+12}if((H|0)==19){c[M>>2]=1;O=c[A>>2]|0;c[G>>2]=c[c[(c[B>>2]|0)+16>>2]>>2];Eh(O,34806,G);c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]&~e[q>>1];b[(c[L>>2]|0)+40>>1]=(c[x>>2]|0)+1;c[(c[L>>2]|0)+24>>2]=c[(c[K>>2]|0)+20>>2];a[(c[L>>2]|0)+24+4>>0]=c[(c[K>>2]|0)+28>>2];c[(c[K>>2]|0)+28>>2]=0;c[(c[L>>2]|0)+24+8>>2]=c[(c[K>>2]|0)+24>>2];if(c[(c[K>>2]|0)+32>>2]|0)g=c[(c[K>>2]|0)+8>>2]|0;else g=0;a[(c[L>>2]|0)+24+5>>0]=g;b[(c[L>>2]|0)+18>>1]=0;g=QE(+h[(c[K>>2]|0)+40>>3])|0;b[(c[L>>2]|0)+20>>1]=g;g=(c[K>>2]|0)+48|0;g=Mj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[L>>2]|0)+22>>1]=g;g=(c[L>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[K>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[M>>2]=wE(c[J>>2]|0,c[L>>2]|0)|0;if(a[(c[L>>2]|0)+24+4>>0]|0){Kd(c[(c[L>>2]|0)+24+8>>2]|0);a[(c[L>>2]|0)+24+4>>0]=0}c[I>>2]=c[M>>2];O=c[I>>2]|0;i=N;return O|0}function PE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Ux(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){mh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Eh(d,18391,j);break}else{c[h>>2]=lh(c[g>>2]|0)|0;Eh(d,18391,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+36>>2]|0}function QE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Mj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=SR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=QR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function RE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=ky(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=fy(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0} +function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2261]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2262]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2259]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=9332+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2261]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2261]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2263]|0)){s=(c[2260]|0)+h|0;c[2260]=s;c[2263]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2262]|0))return;c[2262]=0;c[2259]=0;return}if((q|0)==(c[2262]|0)){s=(c[2259]|0)+h|0;c[2259]=s;c[2262]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=9332+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2258]=c[2258]&~(1<>>0<(c[2261]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2261]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2261]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9068+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2257]=c[2257]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2262]|0)){c[2259]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9068+(e<<2)|0;f=c[2257]|0;d=1<>2]|0;if(e>>>0<(c[2261]|0)>>>0)Ma();else{r=d;s=e}}else{c[2257]=f|d;r=9068+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=9332+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2258]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2261]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2261]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function PR(){}function QR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function RR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function TR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function UR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else TR(b,c,d)|0;return b|0}function VR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function YR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ZR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function _R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=QR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return QR((dS(h,g,QR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function $R(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=QR(h^a,g^b,h,g)|0;b=C;dS(a,b,QR(l^d,k^e,l,k)|0,C,j)|0;e=QR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function aS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ZR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function bS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dS(a,b,c,d,0)|0}function cS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;dS(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function dS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=YR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((YR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=RR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;QR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=QR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function eS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function iT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function jT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function kT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function lT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function mT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function nT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function oT(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function pT(a){a=a|0;return Pb[a&255]()|0}function qT(){return ga(0)|0}function rT(){return ga(1)|0}function sT(){return ga(2)|0}function tT(){return ga(3)|0}function uT(){return ga(4)|0}function vT(){return ga(5)|0}function wT(){return ga(6)|0}function xT(){return ga(7)|0}function yT(){return ga(8)|0}function zT(){return ga(9)|0}function AT(){return ga(10)|0}function BT(){return ga(11)|0}function CT(){return ga(12)|0}function DT(){return ga(13)|0}function ET(){return ga(14)|0}function FT(){return ga(15)|0}function GT(){return ga(16)|0}function HT(){return ga(17)|0}function IT(){return ga(18)|0}function JT(){return ga(19)|0}function KT(){return ga(20)|0}function LT(){return ga(21)|0}function MT(){return ga(22)|0}function NT(){return ga(23)|0}function OT(){return ga(24)|0}function PT(){return ga(25)|0}function QT(){return ga(26)|0}function RT(){return ga(27)|0}function ST(){return ga(28)|0}function TT(){return ga(29)|0}function UT(){return ga(30)|0}function VT(){return ga(31)|0}function WT(){return ga(32)|0}function XT(){return ga(33)|0}function YT(){return ga(34)|0}function ZT(){return ga(35)|0}function _T(){return ga(36)|0}function $T(){return ga(37)|0}function aU(){return ga(38)|0}function bU(){return ga(39)|0}function cU(){return ga(40)|0}function dU(){return ga(41)|0}function eU(){return ga(42)|0}function fU(){return ga(43)|0}function gU(){return ga(44)|0}function hU(){return ga(45)|0}function iU(){return ga(46)|0}function jU(){return ga(47)|0}function kU(){return ga(48)|0}function lU(){return ga(49)|0}function mU(){return ga(50)|0}function nU(){return ga(51)|0}function oU(){return ga(52)|0}function pU(){return ga(53)|0}function qU(){return ga(54)|0}function rU(){return ga(55)|0}function sU(){return ga(56)|0}function tU(){return ga(57)|0}function uU(){return ga(58)|0}function vU(){return ga(59)|0}function wU(){return ga(60)|0}function xU(){return ga(61)|0}function yU(){return ga(62)|0}function zU(){return ga(63)|0}function AU(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function BU(a){a=a|0;ia(0,a|0)}function CU(a){a=a|0;ia(1,a|0)}function DU(a){a=a|0;ia(2,a|0)}function EU(a){a=a|0;ia(3,a|0)}function FU(a){a=a|0;ia(4,a|0)}function GU(a){a=a|0;ia(5,a|0)}function HU(a){a=a|0;ia(6,a|0)}function IU(a){a=a|0;ia(7,a|0)}function JU(a){a=a|0;ia(8,a|0)}function KU(a){a=a|0;ia(9,a|0)}function LU(a){a=a|0;ia(10,a|0)}function MU(a){a=a|0;ia(11,a|0)}function NU(a){a=a|0;ia(12,a|0)}function OU(a){a=a|0;ia(13,a|0)}function PU(a){a=a|0;ia(14,a|0)}function QU(a){a=a|0;ia(15,a|0)}function RU(a){a=a|0;ia(16,a|0)}function SU(a){a=a|0;ia(17,a|0)}function TU(a){a=a|0;ia(18,a|0)}function UU(a){a=a|0;ia(19,a|0)}function VU(a){a=a|0;ia(20,a|0)}function WU(a){a=a|0;ia(21,a|0)}function XU(a){a=a|0;ia(22,a|0)}function YU(a){a=a|0;ia(23,a|0)}function ZU(a){a=a|0;ia(24,a|0)}function _U(a){a=a|0;ia(25,a|0)}function $U(a){a=a|0;ia(26,a|0)}function aV(a){a=a|0;ia(27,a|0)}function bV(a){a=a|0;ia(28,a|0)}function cV(a){a=a|0;ia(29,a|0)}function dV(a){a=a|0;ia(30,a|0)}function eV(a){a=a|0;ia(31,a|0)}function fV(a){a=a|0;ia(32,a|0)}function gV(a){a=a|0;ia(33,a|0)}function hV(a){a=a|0;ia(34,a|0)}function iV(a){a=a|0;ia(35,a|0)}function jV(a){a=a|0;ia(36,a|0)}function kV(a){a=a|0;ia(37,a|0)}function lV(a){a=a|0;ia(38,a|0)}function mV(a){a=a|0;ia(39,a|0)}function nV(a){a=a|0;ia(40,a|0)}function oV(a){a=a|0;ia(41,a|0)}function pV(a){a=a|0;ia(42,a|0)}function qV(a){a=a|0;ia(43,a|0)}function rV(a){a=a|0;ia(44,a|0)}function sV(a){a=a|0;ia(45,a|0)}function tV(a){a=a|0;ia(46,a|0)}function uV(a){a=a|0;ia(47,a|0)}function vV(a){a=a|0;ia(48,a|0)}function wV(a){a=a|0;ia(49,a|0)}function xV(a){a=a|0;ia(50,a|0)}function yV(a){a=a|0;ia(51,a|0)}function zV(a){a=a|0;ia(52,a|0)}function AV(a){a=a|0;ia(53,a|0)}function BV(a){a=a|0;ia(54,a|0)}function CV(a){a=a|0;ia(55,a|0)}function DV(a){a=a|0;ia(56,a|0)}function EV(a){a=a|0;ia(57,a|0)}function FV(a){a=a|0;ia(58,a|0)}function GV(a){a=a|0;ia(59,a|0)}function HV(a){a=a|0;ia(60,a|0)}function IV(a){a=a|0;ia(61,a|0)}function JV(a){a=a|0;ia(62,a|0)}function KV(a){a=a|0;ia(63,a|0)}function LV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function MV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function LW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function MW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function NW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function OW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function PW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function QW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function RW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function SW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function TW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function UW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function VW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function WW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $X(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fY(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function gY(a){a=a|0;return oa(0,a|0)|0}function hY(a){a=a|0;return oa(1,a|0)|0}function iY(a){a=a|0;return oa(2,a|0)|0}function jY(a){a=a|0;return oa(3,a|0)|0}function kY(a){a=a|0;return oa(4,a|0)|0}function lY(a){a=a|0;return oa(5,a|0)|0}function mY(a){a=a|0;return oa(6,a|0)|0}function nY(a){a=a|0;return oa(7,a|0)|0}function oY(a){a=a|0;return oa(8,a|0)|0}function pY(a){a=a|0;return oa(9,a|0)|0}function qY(a){a=a|0;return oa(10,a|0)|0}function rY(a){a=a|0;return oa(11,a|0)|0}function sY(a){a=a|0;return oa(12,a|0)|0}function tY(a){a=a|0;return oa(13,a|0)|0}function uY(a){a=a|0;return oa(14,a|0)|0}function vY(a){a=a|0;return oa(15,a|0)|0}function wY(a){a=a|0;return oa(16,a|0)|0}function xY(a){a=a|0;return oa(17,a|0)|0}function yY(a){a=a|0;return oa(18,a|0)|0}function zY(a){a=a|0;return oa(19,a|0)|0}function AY(a){a=a|0;return oa(20,a|0)|0}function BY(a){a=a|0;return oa(21,a|0)|0}function CY(a){a=a|0;return oa(22,a|0)|0}function DY(a){a=a|0;return oa(23,a|0)|0}function EY(a){a=a|0;return oa(24,a|0)|0}function FY(a){a=a|0;return oa(25,a|0)|0}function GY(a){a=a|0;return oa(26,a|0)|0}function HY(a){a=a|0;return oa(27,a|0)|0}function IY(a){a=a|0;return oa(28,a|0)|0}function JY(a){a=a|0;return oa(29,a|0)|0}function KY(a){a=a|0;return oa(30,a|0)|0}function LY(a){a=a|0;return oa(31,a|0)|0}function MY(a){a=a|0;return oa(32,a|0)|0}function NY(a){a=a|0;return oa(33,a|0)|0}function OY(a){a=a|0;return oa(34,a|0)|0}function PY(a){a=a|0;return oa(35,a|0)|0}function QY(a){a=a|0;return oa(36,a|0)|0}function RY(a){a=a|0;return oa(37,a|0)|0}function SY(a){a=a|0;return oa(38,a|0)|0}function TY(a){a=a|0;return oa(39,a|0)|0}function UY(a){a=a|0;return oa(40,a|0)|0}function VY(a){a=a|0;return oa(41,a|0)|0}function WY(a){a=a|0;return oa(42,a|0)|0}function XY(a){a=a|0;return oa(43,a|0)|0}function YY(a){a=a|0;return oa(44,a|0)|0}function ZY(a){a=a|0;return oa(45,a|0)|0}function _Y(a){a=a|0;return oa(46,a|0)|0}function $Y(a){a=a|0;return oa(47,a|0)|0}function aZ(a){a=a|0;return oa(48,a|0)|0}function bZ(a){a=a|0;return oa(49,a|0)|0}function cZ(a){a=a|0;return oa(50,a|0)|0}function dZ(a){a=a|0;return oa(51,a|0)|0}function eZ(a){a=a|0;return oa(52,a|0)|0}function fZ(a){a=a|0;return oa(53,a|0)|0}function gZ(a){a=a|0;return oa(54,a|0)|0}function hZ(a){a=a|0;return oa(55,a|0)|0}function iZ(a){a=a|0;return oa(56,a|0)|0}function jZ(a){a=a|0;return oa(57,a|0)|0}function kZ(a){a=a|0;return oa(58,a|0)|0}function lZ(a){a=a|0;return oa(59,a|0)|0}function mZ(a){a=a|0;return oa(60,a|0)|0}function nZ(a){a=a|0;return oa(61,a|0)|0}function oZ(a){a=a|0;return oa(62,a|0)|0}function pZ(a){a=a|0;return oa(63,a|0)|0}function qZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function q_(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function r_(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function s_(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function t_(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function u_(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function v_(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function w_(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function x_(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function y_(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function z_(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function A_(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function B_(a){a=a|0;Vb[a&255]()}function C_(){sa(0)}function D_(){sa(1)}function E_(){sa(2)}function F_(){sa(3)}function G_(){sa(4)}function H_(){sa(5)}function I_(){sa(6)}function J_(){sa(7)}function K_(){sa(8)}function L_(){sa(9)}function M_(){sa(10)}function N_(){sa(11)}function O_(){sa(12)}function P_(){sa(13)}function Q_(){sa(14)}function R_(){sa(15)}function S_(){sa(16)}function T_(){sa(17)}function U_(){sa(18)}function V_(){sa(19)}function W_(){sa(20)}function X_(){sa(21)}function Y_(){sa(22)}function Z_(){sa(23)}function __(){sa(24)}function $_(){sa(25)}function a$(){sa(26)}function b$(){sa(27)}function c$(){sa(28)}function d$(){sa(29)}function e$(){sa(30)}function f$(){sa(31)}function g$(){sa(32)}function h$(){sa(33)}function i$(){sa(34)}function j$(){sa(35)}function k$(){sa(36)}function l$(){sa(37)}function m$(){sa(38)}function n$(){sa(39)}function o$(){sa(40)}function p$(){sa(41)}function q$(){sa(42)}function r$(){sa(43)}function s$(){sa(44)}function t$(){sa(45)}function u$(){sa(46)}function v$(){sa(47)}function w$(){sa(48)}function x$(){sa(49)}function y$(){sa(50)}function z$(){sa(51)}function A$(){sa(52)}function B$(){sa(53)}function C$(){sa(54)}function D$(){sa(55)}function E$(){sa(56)}function F$(){sa(57)}function G$(){sa(58)}function H$(){sa(59)}function I$(){sa(60)}function J$(){sa(61)}function K$(){sa(62)}function L$(){sa(63)}function M$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function N0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function O0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function P0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function Q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function R0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function S0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function T0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function U0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function V0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function W0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function X0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function Y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function Z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function _1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function $1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function a2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function b2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function c2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function d2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function e2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function f2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function g2(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function g3(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function h3(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function i3(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function j3(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function k3(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function l3(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function m3(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function n3(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function o3(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function p3(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function q3(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function r3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function s4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function t4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function v4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function w4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function x4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function y4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function z4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function A4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function B4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function C4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function C5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function E5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function F5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function G5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function I5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function J5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function K5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function L5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function M5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function N5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function O5(){ba(1);return 0}function P5(a){a=a|0;ba(2)}function Q5(a,b){a=a|0;b=b|0;ba(3)}function R5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function S5(a){a=a|0;ba(5);return 0}function T5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function U5(){ba(7)}function V5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function W5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function X5(a,b){a=a|0;b=b|0;ba(10);return 0}function Y5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} // EMSCRIPTEN_END_FUNCS -var Ob=[s5,s5,MR,s5,NR,s5,OR,s5,PR,s5,QR,s5,RR,s5,SR,s5,TR,s5,UR,s5,VR,s5,WR,s5,XR,s5,YR,s5,ZR,s5,_R,s5,$R,s5,aS,s5,bS,s5,cS,s5,dS,s5,eS,s5,fS,s5,gS,s5,hS,s5,iS,s5,jS,s5,kS,s5,lS,s5,mS,s5,nS,s5,oS,s5,pS,s5,qS,s5,rS,s5,sS,s5,tS,s5,uS,s5,vS,s5,wS,s5,xS,s5,yS,s5,zS,s5,AS,s5,BS,s5,CS,s5,DS,s5,ES,s5,FS,s5,GS,s5,HS,s5,IS,s5,JS,s5,KS,s5,LS,s5,MS,s5,NS,s5,OS,s5,PS,s5,QS,s5,RS,s5,SS,s5,TS,s5,US,s5,VS,s5,dN,gN,jN,lN,Xk,xk,cq,sq,Hq,Kq,Nr,wu,zu,sN,yN,MN,iQ,bR,gR,WQ,cR,IQ,GQ,Pn,Km,Nm,Ln,Jn,Tn,_n,DF,EF,FF,HQ,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5];var Pb=[t5,t5,XS,t5,YS,t5,ZS,t5,_S,t5,$S,t5,aT,t5,bT,t5,cT,t5,dT,t5,eT,t5,fT,t5,gT,t5,hT,t5,iT,t5,jT,t5,kT,t5,lT,t5,mT,t5,nT,t5,oT,t5,pT,t5,qT,t5,rT,t5,sT,t5,tT,t5,uT,t5,vT,t5,wT,t5,xT,t5,yT,t5,zT,t5,AT,t5,BT,t5,CT,t5,DT,t5,ET,t5,FT,t5,GT,t5,HT,t5,IT,t5,JT,t5,KT,t5,LT,t5,MT,t5,NT,t5,OT,t5,PT,t5,QT,t5,RT,t5,ST,t5,TT,t5,UT,t5,VT,t5,WT,t5,XT,t5,YT,t5,ZT,t5,_T,t5,$T,t5,aU,t5,bU,t5,cU,t5,dU,t5,eU,t5,_Q,ON,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var Qb=[u5,u5,gU,u5,hU,u5,iU,u5,jU,u5,kU,u5,lU,u5,mU,u5,nU,u5,oU,u5,pU,u5,qU,u5,rU,u5,sU,u5,tU,u5,uU,u5,vU,u5,wU,u5,xU,u5,yU,u5,zU,u5,AU,u5,BU,u5,CU,u5,DU,u5,EU,u5,FU,u5,GU,u5,HU,u5,IU,u5,JU,u5,KU,u5,LU,u5,MU,u5,NU,u5,OU,u5,PU,u5,QU,u5,RU,u5,SU,u5,TU,u5,UU,u5,VU,u5,WU,u5,XU,u5,YU,u5,ZU,u5,_U,u5,$U,u5,aV,u5,bV,u5,cV,u5,dV,u5,eV,u5,fV,u5,gV,u5,hV,u5,iV,u5,jV,u5,kV,u5,lV,u5,mV,u5,nV,u5,oV,u5,pV,u5,Wc,Xc,Zc,_c,$c,ad,vu,Du,Eu,Su,Xu,CN,QO,nP,oP,pP,rP,tP,Kd,Zq,wj,lk,On,$z,hR,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5];var Rb=[v5,v5,rV,v5,sV,v5,tV,v5,uV,v5,vV,v5,wV,v5,xV,v5,yV,v5,zV,v5,AV,v5,BV,v5,CV,v5,DV,v5,EV,v5,FV,v5,GV,v5,HV,v5,IV,v5,JV,v5,KV,v5,LV,v5,MV,v5,NV,v5,OV,v5,PV,v5,QV,v5,RV,v5,SV,v5,TV,v5,UV,v5,VV,v5,WV,v5,XV,v5,YV,v5,ZV,v5,_V,v5,$V,v5,aW,v5,bW,v5,cW,v5,dW,v5,eW,v5,fW,v5,gW,v5,hW,v5,iW,v5,jW,v5,kW,v5,lW,v5,mW,v5,nW,v5,oW,v5,pW,v5,qW,v5,rW,v5,sW,v5,tW,v5,uW,v5,vW,v5,wW,v5,xW,v5,yW,v5,zW,v5,AW,v5,xu,Cu,cz,iy,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5];var Sb=[w5,w5,CW,w5,DW,w5,EW,w5,FW,w5,GW,w5,HW,w5,IW,w5,JW,w5,KW,w5,LW,w5,MW,w5,NW,w5,OW,w5,PW,w5,QW,w5,RW,w5,SW,w5,TW,w5,UW,w5,VW,w5,WW,w5,XW,w5,YW,w5,ZW,w5,_W,w5,$W,w5,aX,w5,bX,w5,cX,w5,dX,w5,eX,w5,fX,w5,gX,w5,hX,w5,iX,w5,jX,w5,kX,w5,lX,w5,mX,w5,nX,w5,oX,w5,pX,w5,qX,w5,rX,w5,sX,w5,tX,w5,uX,w5,vX,w5,wX,w5,xX,w5,yX,w5,zX,w5,AX,w5,BX,w5,CX,w5,DX,w5,EX,w5,FX,w5,GX,w5,HX,w5,IX,w5,JX,w5,KX,w5,LX,w5,Nk,Ok,pk,gq,wq,zq,Oq,wQ,bL,cL,dL,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5];var Tb=[x5,x5,NX,x5,OX,x5,PX,x5,QX,x5,RX,x5,SX,x5,TX,x5,UX,x5,VX,x5,WX,x5,XX,x5,YX,x5,ZX,x5,_X,x5,$X,x5,aY,x5,bY,x5,cY,x5,dY,x5,eY,x5,fY,x5,gY,x5,hY,x5,iY,x5,jY,x5,kY,x5,lY,x5,mY,x5,nY,x5,oY,x5,pY,x5,qY,x5,rY,x5,sY,x5,tY,x5,uY,x5,vY,x5,wY,x5,xY,x5,yY,x5,zY,x5,AY,x5,BY,x5,CY,x5,DY,x5,EY,x5,FY,x5,GY,x5,HY,x5,IY,x5,JY,x5,KY,x5,LY,x5,MY,x5,NY,x5,OY,x5,PY,x5,QY,x5,RY,x5,SY,x5,TY,x5,UY,x5,VY,x5,WY,x5,Qk,Rk,Tk,Vk,Wk,_k,$k,al,bl,rk,tk,vk,wk,dq,fq,tq,vq,Bq,Dq,Fq,Gq,Lq,Nq,Kr,uu,yu,Ru,Uu,Vu,Wu,pN,zN,AN,VQ,fR,dR,dO,oO,FQ,ae,ag,br,kq,lq,pq,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5];var Ub=[y5,y5,YY,y5,ZY,y5,_Y,y5,$Y,y5,aZ,y5,bZ,y5,cZ,y5,dZ,y5,eZ,y5,fZ,y5,gZ,y5,hZ,y5,iZ,y5,jZ,y5,kZ,y5,lZ,y5,mZ,y5,nZ,y5,oZ,y5,pZ,y5,qZ,y5,rZ,y5,sZ,y5,tZ,y5,uZ,y5,vZ,y5,wZ,y5,xZ,y5,yZ,y5,zZ,y5,AZ,y5,BZ,y5,CZ,y5,DZ,y5,EZ,y5,FZ,y5,GZ,y5,HZ,y5,IZ,y5,JZ,y5,KZ,y5,LZ,y5,MZ,y5,NZ,y5,OZ,y5,PZ,y5,QZ,y5,RZ,y5,SZ,y5,TZ,y5,UZ,y5,VZ,y5,WZ,y5,XZ,y5,YZ,y5,ZZ,y5,_Z,y5,$Z,y5,a_,y5,b_,y5,c_,y5,d_,y5,e_,y5,f_,y5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,pm,qm,rm,sm,Au,_z,Wz,Vz,xB,GB,KO,LO,MO,NO,OO,PO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,qP,sP,uC,xP,yP,zP,AP,BP,CP,DP,EP,VP,WP,XP,ji,Yp,Xt,Zt,_t,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5];var Vb=[z5,z5,h_,z5,i_,z5,j_,z5,k_,z5,l_,z5,m_,z5,n_,z5,o_,z5,p_,z5,q_,z5,r_,z5,s_,z5,t_,z5,u_,z5,v_,z5,w_,z5,x_,z5,y_,z5,z_,z5,A_,z5,B_,z5,C_,z5,D_,z5,E_,z5,F_,z5,G_,z5,H_,z5,I_,z5,J_,z5,K_,z5,L_,z5,M_,z5,N_,z5,O_,z5,P_,z5,Q_,z5,R_,z5,S_,z5,T_,z5,U_,z5,V_,z5,W_,z5,X_,z5,Y_,z5,Z_,z5,__,z5,$_,z5,a$,z5,b$,z5,c$,z5,d$,z5,e$,z5,f$,z5,g$,z5,h$,z5,i$,z5,j$,z5,k$,z5,l$,z5,m$,z5,n$,z5,o$,z5,p$,z5,q$,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5];var Wb=[A5,A5,s$,A5,t$,A5,u$,A5,v$,A5,w$,A5,x$,A5,y$,A5,z$,A5,A$,A5,B$,A5,C$,A5,D$,A5,E$,A5,F$,A5,G$,A5,H$,A5,I$,A5,J$,A5,K$,A5,L$,A5,M$,A5,N$,A5,O$,A5,P$,A5,Q$,A5,R$,A5,S$,A5,T$,A5,U$,A5,V$,A5,W$,A5,X$,A5,Y$,A5,Z$,A5,_$,A5,$$,A5,a0,A5,b0,A5,c0,A5,d0,A5,e0,A5,f0,A5,g0,A5,h0,A5,i0,A5,j0,A5,k0,A5,l0,A5,m0,A5,n0,A5,o0,A5,p0,A5,q0,A5,r0,A5,s0,A5,t0,A5,u0,A5,v0,A5,w0,A5,x0,A5,y0,A5,z0,A5,A0,A5,B0,A5,eN,fN,Zk,eq,uq,Mq,BN,FN,Oh,ki,zj,Fj,Ik,Jk,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5];var Xb=[B5,B5,D0,B5,E0,B5,F0,B5,G0,B5,H0,B5,I0,B5,J0,B5,K0,B5,L0,B5,M0,B5,N0,B5,O0,B5,P0,B5,Q0,B5,R0,B5,S0,B5,T0,B5,U0,B5,V0,B5,W0,B5,X0,B5,Y0,B5,Z0,B5,_0,B5,$0,B5,a1,B5,b1,B5,c1,B5,d1,B5,e1,B5,f1,B5,g1,B5,h1,B5,i1,B5,j1,B5,k1,B5,l1,B5,m1,B5,n1,B5,o1,B5,p1,B5,q1,B5,r1,B5,s1,B5,t1,B5,u1,B5,v1,B5,w1,B5,x1,B5,y1,B5,z1,B5,A1,B5,B1,B5,C1,B5,D1,B5,E1,B5,F1,B5,G1,B5,H1,B5,I1,B5,J1,B5,K1,B5,L1,B5,M1,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5];var Yb=[C5,C5,O1,C5,P1,C5,Q1,C5,R1,C5,S1,C5,T1,C5,U1,C5,V1,C5,W1,C5,X1,C5,Y1,C5,Z1,C5,_1,C5,$1,C5,a2,C5,b2,C5,c2,C5,d2,C5,e2,C5,f2,C5,g2,C5,h2,C5,i2,C5,j2,C5,k2,C5,l2,C5,m2,C5,n2,C5,o2,C5,p2,C5,q2,C5,r2,C5,s2,C5,t2,C5,u2,C5,v2,C5,w2,C5,x2,C5,y2,C5,z2,C5,A2,C5,B2,C5,C2,C5,D2,C5,E2,C5,F2,C5,G2,C5,H2,C5,I2,C5,J2,C5,K2,C5,L2,C5,M2,C5,N2,C5,O2,C5,P2,C5,Q2,C5,R2,C5,S2,C5,T2,C5,U2,C5,V2,C5,W2,C5,X2,C5,hN,iN,kN,mN,nN,Pk,Sk,Yk,dl,el,fl,gl,qk,sk,yk,Aq,Cq,Iq,Or,Pr,Tu,zO,cO,oN,tN,uN,vN,wN,xN,DN,UQ,ZQ,CQ,zQ,YQ,yQ,NN,BQ,xQ,AQ,eO,fO,gO,pO,qO,rO,kd,ld,gi,$f,Kk,Lk,Ml,Nl,Ql,om,st,ws,Wt,Yt,jy,az,bz,qy,ry,Qy,Wy,nB,oB,$F,fF,gF,MG,NG,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5];var Zb=[D5,D5,Z2,D5,_2,D5,$2,D5,a3,D5,b3,D5,c3,D5,d3,D5,e3,D5,f3,D5,g3,D5,h3,D5,i3,D5,j3,D5,k3,D5,l3,D5,m3,D5,n3,D5,o3,D5,p3,D5,q3,D5,r3,D5,s3,D5,t3,D5,u3,D5,v3,D5,w3,D5,x3,D5,y3,D5,z3,D5,A3,D5,B3,D5,C3,D5,D3,D5,E3,D5,F3,D5,G3,D5,H3,D5,I3,D5,J3,D5,K3,D5,L3,D5,M3,D5,N3,D5,O3,D5,P3,D5,Q3,D5,R3,D5,S3,D5,T3,D5,U3,D5,V3,D5,W3,D5,X3,D5,Y3,D5,Z3,D5,_3,D5,$3,D5,a4,D5,b4,D5,c4,D5,d4,D5,e4,D5,f4,D5,g4,D5,cN,Uk,cl,uk,Eq,Lr,Mr,qN,rN,EN,sO,Yj,Zj,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5];var _b=[E5,E5,i4,E5,j4,E5,k4,E5,l4,E5,m4,E5,n4,E5,o4,E5,p4,E5,q4,E5,r4,E5,s4,E5,t4,E5,u4,E5,v4,E5,w4,E5,x4,E5,y4,E5,z4,E5,A4,E5,B4,E5,C4,E5,D4,E5,E4,E5,F4,E5,G4,E5,H4,E5,I4,E5,J4,E5,K4,E5,L4,E5,M4,E5,N4,E5,O4,E5,P4,E5,Q4,E5,R4,E5,S4,E5,T4,E5,U4,E5,V4,E5,W4,E5,X4,E5,Y4,E5,Z4,E5,_4,E5,$4,E5,a5,E5,b5,E5,c5,E5,d5,E5,e5,E5,f5,E5,g5,E5,h5,E5,i5,E5,j5,E5,k5,E5,l5,E5,m5,E5,n5,E5,o5,E5,p5,E5,q5,E5,r5,E5,Bu,vd,xd,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5];return{_sqlite3_value_blob:$d,_sqlite3_column_name:Ie,_sqlite3_reset:Zd,_sqlite3_column_type:He,_sqlite3_exec:$e,_sqlite3_result_null:me,_sqlite3_step:ue,_bitshift64Lshr:xR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:BR,_sqlite3_result_text:ne,_fflush:JQ,_sqlite3_column_bytes:Be,_sqlite3_bind_int:Le,_sqlite3_bind_blob:Je,_memset:AR,_sqlite3_value_double:ce,_memcpy:yR,_sqlite3_result_double:ie,_sqlite3_value_text:ae,_sqlite3_changes:qf,_sqlite3_column_blob:Ae,_sqlite3_bind_parameter_index:Se,_sqlite3_value_type:fe,_i64Subtract:vR,_sqlite3_column_text:Fe,_i64Add:wR,_sqlite3_value_bytes:be,_sqlite3_finalize:Yd,_sqlite3_column_double:Ce,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:de,_sqlite3_data_count:ze,_sqlite3_bind_text:Oe,_sqlite3_bind_double:Ke,___errno_location:gQ,_RegisterExtensionFunctions:ic,_free:pR,_memmove:zR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:_d,_malloc:oR,runPostSets:uR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:LR,dynCall_i:WS,dynCall_vi:fU,dynCall_vii:qV,dynCall_iiiiiii:BW,dynCall_ii:MX,dynCall_viii:XY,dynCall_v:g_,dynCall_iiiii:r$,dynCall_viiiiii:C0,dynCall_iii:N1,dynCall_iiiiii:Y2,dynCall_viiii:h4}}) +var Ob=[N5,N5,fS,N5,gS,N5,hS,N5,iS,N5,jS,N5,kS,N5,lS,N5,mS,N5,nS,N5,oS,N5,pS,N5,qS,N5,rS,N5,sS,N5,tS,N5,uS,N5,vS,N5,wS,N5,xS,N5,yS,N5,zS,N5,AS,N5,BS,N5,CS,N5,DS,N5,ES,N5,FS,N5,GS,N5,HS,N5,IS,N5,JS,N5,KS,N5,LS,N5,MS,N5,NS,N5,OS,N5,PS,N5,QS,N5,RS,N5,SS,N5,TS,N5,US,N5,VS,N5,WS,N5,XS,N5,YS,N5,ZS,N5,_S,N5,$S,N5,aT,N5,bT,N5,cT,N5,dT,N5,eT,N5,fT,N5,gT,N5,hT,N5,iT,N5,jT,N5,kT,N5,lT,N5,mT,N5,nT,N5,oT,N5,wN,zN,CN,EN,Zk,zk,eq,uq,Jq,Mq,Pr,yu,Bu,LN,RN,dO,DQ,wR,BR,pR,xR,bR,$Q,Rn,Mm,Pm,Nn,Ln,Vn,ao,ZF,_F,$F,aR,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5];var Pb=[O5,O5,qT,O5,rT,O5,sT,O5,tT,O5,uT,O5,vT,O5,wT,O5,xT,O5,yT,O5,zT,O5,AT,O5,BT,O5,CT,O5,DT,O5,ET,O5,FT,O5,GT,O5,HT,O5,IT,O5,JT,O5,KT,O5,LT,O5,MT,O5,NT,O5,OT,O5,PT,O5,QT,O5,RT,O5,ST,O5,TT,O5,UT,O5,VT,O5,WT,O5,XT,O5,YT,O5,ZT,O5,_T,O5,$T,O5,aU,O5,bU,O5,cU,O5,dU,O5,eU,O5,fU,O5,gU,O5,hU,O5,iU,O5,jU,O5,kU,O5,lU,O5,mU,O5,nU,O5,oU,O5,pU,O5,qU,O5,rU,O5,sU,O5,tU,O5,uU,O5,vU,O5,wU,O5,xU,O5,yU,O5,zU,O5,tR,fO,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5];var Qb=[P5,P5,BU,P5,CU,P5,DU,P5,EU,P5,FU,P5,GU,P5,HU,P5,IU,P5,JU,P5,KU,P5,LU,P5,MU,P5,NU,P5,OU,P5,PU,P5,QU,P5,RU,P5,SU,P5,TU,P5,UU,P5,VU,P5,WU,P5,XU,P5,YU,P5,ZU,P5,_U,P5,$U,P5,aV,P5,bV,P5,cV,P5,dV,P5,eV,P5,fV,P5,gV,P5,hV,P5,iV,P5,jV,P5,kV,P5,lV,P5,mV,P5,nV,P5,oV,P5,pV,P5,qV,P5,rV,P5,sV,P5,tV,P5,uV,P5,vV,P5,wV,P5,xV,P5,yV,P5,zV,P5,AV,P5,BV,P5,CV,P5,DV,P5,EV,P5,FV,P5,GV,P5,HV,P5,IV,P5,JV,P5,KV,P5,Wc,Xc,Zc,_c,$c,ad,xu,Fu,Gu,Uu,Zu,VN,iP,HP,IP,JP,LP,NP,Kd,$q,yj,nk,Qn,gA,CR,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5];var Rb=[Q5,Q5,MV,Q5,NV,Q5,OV,Q5,PV,Q5,QV,Q5,RV,Q5,SV,Q5,TV,Q5,UV,Q5,VV,Q5,WV,Q5,XV,Q5,YV,Q5,ZV,Q5,_V,Q5,$V,Q5,aW,Q5,bW,Q5,cW,Q5,dW,Q5,eW,Q5,fW,Q5,gW,Q5,hW,Q5,iW,Q5,jW,Q5,kW,Q5,lW,Q5,mW,Q5,nW,Q5,oW,Q5,pW,Q5,qW,Q5,rW,Q5,sW,Q5,tW,Q5,uW,Q5,vW,Q5,wW,Q5,xW,Q5,yW,Q5,zW,Q5,AW,Q5,BW,Q5,CW,Q5,DW,Q5,EW,Q5,FW,Q5,GW,Q5,HW,Q5,IW,Q5,JW,Q5,KW,Q5,LW,Q5,MW,Q5,NW,Q5,OW,Q5,PW,Q5,QW,Q5,RW,Q5,SW,Q5,TW,Q5,UW,Q5,VW,Q5,zu,Eu,lz,qy,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5,Q5];var Sb=[R5,R5,XW,R5,YW,R5,ZW,R5,_W,R5,$W,R5,aX,R5,bX,R5,cX,R5,dX,R5,eX,R5,fX,R5,gX,R5,hX,R5,iX,R5,jX,R5,kX,R5,lX,R5,mX,R5,nX,R5,oX,R5,pX,R5,qX,R5,rX,R5,sX,R5,tX,R5,uX,R5,vX,R5,wX,R5,xX,R5,yX,R5,zX,R5,AX,R5,BX,R5,CX,R5,DX,R5,EX,R5,FX,R5,GX,R5,HX,R5,IX,R5,JX,R5,KX,R5,LX,R5,MX,R5,NX,R5,OX,R5,PX,R5,QX,R5,RX,R5,SX,R5,TX,R5,UX,R5,VX,R5,WX,R5,XX,R5,YX,R5,ZX,R5,_X,R5,$X,R5,aY,R5,bY,R5,cY,R5,dY,R5,eY,R5,Pk,Qk,rk,iq,yq,Bq,Qq,RQ,uL,vL,wL,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5,R5];var Tb=[S5,S5,gY,S5,hY,S5,iY,S5,jY,S5,kY,S5,lY,S5,mY,S5,nY,S5,oY,S5,pY,S5,qY,S5,rY,S5,sY,S5,tY,S5,uY,S5,vY,S5,wY,S5,xY,S5,yY,S5,zY,S5,AY,S5,BY,S5,CY,S5,DY,S5,EY,S5,FY,S5,GY,S5,HY,S5,IY,S5,JY,S5,KY,S5,LY,S5,MY,S5,NY,S5,OY,S5,PY,S5,QY,S5,RY,S5,SY,S5,TY,S5,UY,S5,VY,S5,WY,S5,XY,S5,YY,S5,ZY,S5,_Y,S5,$Y,S5,aZ,S5,bZ,S5,cZ,S5,dZ,S5,eZ,S5,fZ,S5,gZ,S5,hZ,S5,iZ,S5,jZ,S5,kZ,S5,lZ,S5,mZ,S5,nZ,S5,oZ,S5,pZ,S5,Sk,Tk,Vk,Xk,Yk,al,bl,cl,dl,tk,vk,xk,yk,fq,hq,vq,xq,Dq,Fq,Hq,Iq,Nq,Pq,Mr,wu,Au,Tu,Wu,Xu,Yu,IN,SN,TN,oR,AR,yR,wO,HO,_Q,$d,ag,dr,mq,nq,rq,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5,S5];var Ub=[T5,T5,rZ,T5,sZ,T5,tZ,T5,uZ,T5,vZ,T5,wZ,T5,xZ,T5,yZ,T5,zZ,T5,AZ,T5,BZ,T5,CZ,T5,DZ,T5,EZ,T5,FZ,T5,GZ,T5,HZ,T5,IZ,T5,JZ,T5,KZ,T5,LZ,T5,MZ,T5,NZ,T5,OZ,T5,PZ,T5,QZ,T5,RZ,T5,SZ,T5,TZ,T5,UZ,T5,VZ,T5,WZ,T5,XZ,T5,YZ,T5,ZZ,T5,_Z,T5,$Z,T5,a_,T5,b_,T5,c_,T5,d_,T5,e_,T5,f_,T5,g_,T5,h_,T5,i_,T5,j_,T5,k_,T5,l_,T5,m_,T5,n_,T5,o_,T5,p_,T5,q_,T5,r_,T5,s_,T5,t_,T5,u_,T5,v_,T5,w_,T5,x_,T5,y_,T5,z_,T5,A_,T5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,rm,sm,tm,um,Cu,fA,bA,aA,KB,TB,cP,dP,eP,fP,gP,hP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,yP,zP,AP,BP,CP,DP,EP,FP,GP,KP,MP,HC,RP,SP,TP,UP,VP,WP,XP,YP,nQ,oQ,pQ,li,_p,Zt,$t,au,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5,T5];var Vb=[U5,U5,C_,U5,D_,U5,E_,U5,F_,U5,G_,U5,H_,U5,I_,U5,J_,U5,K_,U5,L_,U5,M_,U5,N_,U5,O_,U5,P_,U5,Q_,U5,R_,U5,S_,U5,T_,U5,U_,U5,V_,U5,W_,U5,X_,U5,Y_,U5,Z_,U5,__,U5,$_,U5,a$,U5,b$,U5,c$,U5,d$,U5,e$,U5,f$,U5,g$,U5,h$,U5,i$,U5,j$,U5,k$,U5,l$,U5,m$,U5,n$,U5,o$,U5,p$,U5,q$,U5,r$,U5,s$,U5,t$,U5,u$,U5,v$,U5,w$,U5,x$,U5,y$,U5,z$,U5,A$,U5,B$,U5,C$,U5,D$,U5,E$,U5,F$,U5,G$,U5,H$,U5,I$,U5,J$,U5,K$,U5,L$,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5,U5];var Wb=[V5,V5,N$,V5,O$,V5,P$,V5,Q$,V5,R$,V5,S$,V5,T$,V5,U$,V5,V$,V5,W$,V5,X$,V5,Y$,V5,Z$,V5,_$,V5,$$,V5,a0,V5,b0,V5,c0,V5,d0,V5,e0,V5,f0,V5,g0,V5,h0,V5,i0,V5,j0,V5,k0,V5,l0,V5,m0,V5,n0,V5,o0,V5,p0,V5,q0,V5,r0,V5,s0,V5,t0,V5,u0,V5,v0,V5,w0,V5,x0,V5,y0,V5,z0,V5,A0,V5,B0,V5,C0,V5,D0,V5,E0,V5,F0,V5,G0,V5,H0,V5,I0,V5,J0,V5,K0,V5,L0,V5,M0,V5,N0,V5,O0,V5,P0,V5,Q0,V5,R0,V5,S0,V5,T0,V5,U0,V5,V0,V5,W0,V5,xN,yN,$k,gq,wq,Oq,UN,YN,Qh,mi,Bj,Hj,Kk,Lk,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5,V5];var Xb=[W5,W5,Y0,W5,Z0,W5,_0,W5,$0,W5,a1,W5,b1,W5,c1,W5,d1,W5,e1,W5,f1,W5,g1,W5,h1,W5,i1,W5,j1,W5,k1,W5,l1,W5,m1,W5,n1,W5,o1,W5,p1,W5,q1,W5,r1,W5,s1,W5,t1,W5,u1,W5,v1,W5,w1,W5,x1,W5,y1,W5,z1,W5,A1,W5,B1,W5,C1,W5,D1,W5,E1,W5,F1,W5,G1,W5,H1,W5,I1,W5,J1,W5,K1,W5,L1,W5,M1,W5,N1,W5,O1,W5,P1,W5,Q1,W5,R1,W5,S1,W5,T1,W5,U1,W5,V1,W5,W1,W5,X1,W5,Y1,W5,Z1,W5,_1,W5,$1,W5,a2,W5,b2,W5,c2,W5,d2,W5,e2,W5,f2,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5,W5];var Yb=[X5,X5,h2,X5,i2,X5,j2,X5,k2,X5,l2,X5,m2,X5,n2,X5,o2,X5,p2,X5,q2,X5,r2,X5,s2,X5,t2,X5,u2,X5,v2,X5,w2,X5,x2,X5,y2,X5,z2,X5,A2,X5,B2,X5,C2,X5,D2,X5,E2,X5,F2,X5,G2,X5,H2,X5,I2,X5,J2,X5,K2,X5,L2,X5,M2,X5,N2,X5,O2,X5,P2,X5,Q2,X5,R2,X5,S2,X5,T2,X5,U2,X5,V2,X5,W2,X5,X2,X5,Y2,X5,Z2,X5,_2,X5,$2,X5,a3,X5,b3,X5,c3,X5,d3,X5,e3,X5,f3,X5,g3,X5,h3,X5,i3,X5,j3,X5,k3,X5,l3,X5,m3,X5,n3,X5,o3,X5,p3,X5,q3,X5,AN,BN,DN,FN,GN,Rk,Uk,_k,fl,gl,hl,il,sk,uk,Ak,Cq,Eq,Kq,Qr,Rr,Vu,TO,vO,HN,MN,NN,ON,PN,QN,WN,nR,sR,XQ,UQ,rR,TQ,eO,WQ,SQ,VQ,xO,yO,zO,IO,JO,KO,kd,ld,ii,$f,Mk,Nk,Ol,Pl,Sl,qm,ut,ys,Yt,_t,ry,jz,kz,yy,zy,Yy,dz,yB,zB,LE,wG,BF,CF,hH,iH,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5,X5];var Zb=[Y5,Y5,s3,Y5,t3,Y5,u3,Y5,v3,Y5,w3,Y5,x3,Y5,y3,Y5,z3,Y5,A3,Y5,B3,Y5,C3,Y5,D3,Y5,E3,Y5,F3,Y5,G3,Y5,H3,Y5,I3,Y5,J3,Y5,K3,Y5,L3,Y5,M3,Y5,N3,Y5,O3,Y5,P3,Y5,Q3,Y5,R3,Y5,S3,Y5,T3,Y5,U3,Y5,V3,Y5,W3,Y5,X3,Y5,Y3,Y5,Z3,Y5,_3,Y5,$3,Y5,a4,Y5,b4,Y5,c4,Y5,d4,Y5,e4,Y5,f4,Y5,g4,Y5,h4,Y5,i4,Y5,j4,Y5,k4,Y5,l4,Y5,m4,Y5,n4,Y5,o4,Y5,p4,Y5,q4,Y5,r4,Y5,s4,Y5,t4,Y5,u4,Y5,v4,Y5,w4,Y5,x4,Y5,y4,Y5,z4,Y5,A4,Y5,B4,Y5,vN,Wk,el,wk,Gq,Nr,Or,JN,KN,XN,LO,_j,$j,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5,Y5];var _b=[Z5,Z5,D4,Z5,E4,Z5,F4,Z5,G4,Z5,H4,Z5,I4,Z5,J4,Z5,K4,Z5,L4,Z5,M4,Z5,N4,Z5,O4,Z5,P4,Z5,Q4,Z5,R4,Z5,S4,Z5,T4,Z5,U4,Z5,V4,Z5,W4,Z5,X4,Z5,Y4,Z5,Z4,Z5,_4,Z5,$4,Z5,a5,Z5,b5,Z5,c5,Z5,d5,Z5,e5,Z5,f5,Z5,g5,Z5,h5,Z5,i5,Z5,j5,Z5,k5,Z5,l5,Z5,m5,Z5,n5,Z5,o5,Z5,p5,Z5,q5,Z5,r5,Z5,s5,Z5,t5,Z5,u5,Z5,v5,Z5,w5,Z5,x5,Z5,y5,Z5,z5,Z5,A5,Z5,B5,Z5,C5,Z5,D5,Z5,E5,Z5,F5,Z5,G5,Z5,H5,Z5,I5,Z5,J5,Z5,K5,Z5,L5,Z5,M5,Z5,Du,vd,xd,iB,jB,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5,Z5];return{_sqlite3_value_blob:_d,_sqlite3_column_name:He,_sqlite3_reset:Yd,_sqlite3_column_type:Ge,_sqlite3_exec:$e,_sqlite3_result_null:le,_sqlite3_step:te,_bitshift64Lshr:SR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:WR,_sqlite3_result_text:me,_fflush:cR,_sqlite3_column_bytes:Ae,_sqlite3_bind_int:Ke,_sqlite3_bind_blob:Ie,_memset:VR,_sqlite3_value_double:be,_memcpy:TR,_sqlite3_result_double:he,_sqlite3_value_text:$d,_sqlite3_changes:qf,_sqlite3_column_blob:ze,_sqlite3_bind_parameter_index:Re,_sqlite3_value_type:ee,_i64Subtract:QR,_sqlite3_column_text:Ee,_i64Add:RR,_sqlite3_value_bytes:ae,_sqlite3_finalize:Xd,_sqlite3_column_double:Be,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:ce,_sqlite3_data_count:ye,_sqlite3_bind_text:Ne,_sqlite3_bind_double:Je,___errno_location:BQ,_RegisterExtensionFunctions:ic,_free:KR,_memmove:UR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:Zd,_malloc:JR,runPostSets:PR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:eS,dynCall_i:pT,dynCall_vi:AU,dynCall_vii:LV,dynCall_iiiiiii:WW,dynCall_ii:fY,dynCall_viii:qZ,dynCall_v:B_,dynCall_iiiii:M$,dynCall_viiiiii:X0,dynCall_iii:g2,dynCall_iiiiii:r3,dynCall_viiii:C4}}) // EMSCRIPTEN_END_ASM